司凱威
國家廣播電視總局二九三臺(tái) 河南省 鄭州市 451162
伴隨著“移動(dòng)優(yōu)先”戰(zhàn)略的實(shí)施和媒體融合步伐的加快,移動(dòng)視聽類應(yīng)用呈現(xiàn)出節(jié)目數(shù)量多、更新快、類型豐富、操作簡便、用戶體驗(yàn)好等特點(diǎn),成為人民群眾收聽收看視聽節(jié)目的重要渠道之一。為搶奪市場(chǎng)和用戶,廣播電視機(jī)構(gòu)、視頻網(wǎng)站、短視頻平臺(tái)等機(jī)構(gòu)不斷加大軟件研發(fā)與運(yùn)營、內(nèi)容生產(chǎn)與傳播、節(jié)目宣傳與推廣等方面的投入,移動(dòng)視聽行業(yè)進(jìn)入持續(xù)繁榮發(fā)展的新階段。據(jù)中國互聯(lián)網(wǎng)網(wǎng)絡(luò)信息中心發(fā)布的數(shù)據(jù)顯示,我國移動(dòng)互聯(lián)網(wǎng)網(wǎng)絡(luò)接入流量在2021年達(dá)到2216億GB,境內(nèi)應(yīng)用商店傳播的APP數(shù)量達(dá)到252萬款[1]。與此同時(shí),移動(dòng)視聽類應(yīng)用用戶人數(shù)快速增長,覆蓋范圍不斷擴(kuò)大。以境內(nèi)某短視頻平臺(tái)為例,用戶規(guī)模達(dá)到9.34億。
為引導(dǎo)行業(yè)健康發(fā)展和保障廣大人民群眾收聽收看權(quán)益,國家廣播電視總局頒布了《互聯(lián)網(wǎng)視聽節(jié)目服務(wù)管理規(guī)定》《專網(wǎng)及定向傳播視聽節(jié)目服務(wù)管理規(guī)定》等,要求運(yùn)營者不得傳播宣揚(yáng)暴力犯罪、危害社會(huì)公德、損害未成年人身心健康等視聽節(jié)目,為移動(dòng)視聽類應(yīng)用規(guī)范化運(yùn)營和監(jiān)管指明了方向。
面對(duì)海量且快速增長的移動(dòng)視聽類應(yīng)用,為落實(shí)加強(qiáng)技術(shù)監(jiān)測(cè)和內(nèi)容監(jiān)管的工作要求,在前期研究移動(dòng)應(yīng)用商店和短視頻平臺(tái)監(jiān)管系統(tǒng)的基礎(chǔ)上[2-4],本文利用移動(dòng)智能終端、工控機(jī)、服務(wù)器、鏡像交換機(jī)等設(shè)備搭建通用型的硬件平臺(tái)。采用移動(dòng)智能終端控制、視聽數(shù)據(jù)采集、節(jié)目內(nèi)容識(shí)別、通信數(shù)據(jù)提取等技術(shù)設(shè)計(jì)智能化監(jiān)管軟件,解決海量移動(dòng)視聽類應(yīng)用監(jiān)管中遇到的數(shù)據(jù)統(tǒng)計(jì)工作量大、節(jié)目監(jiān)看占用人員多、違規(guī)內(nèi)容預(yù)警不及時(shí)、技術(shù)特征判別專業(yè)性強(qiáng)等難題,為準(zhǔn)確掌握傳播情況、內(nèi)容、渠道、特點(diǎn)、規(guī)律和發(fā)展趨勢(shì)提供數(shù)據(jù)支撐。
為滿足對(duì)海量安卓和iOS視聽類應(yīng)用技術(shù)監(jiān)測(cè)和內(nèi)容監(jiān)管的需求,利用移動(dòng)智能終端、工控機(jī)、服務(wù)器、鏡像交換機(jī)等設(shè)備搭建通用型的硬件平臺(tái)。按照設(shè)備、功能等不同,該平臺(tái)包括監(jiān)管對(duì)象、控制與采集、存儲(chǔ)與處理、用戶服務(wù)等部分,如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)示意圖
采集對(duì)象主要包括移動(dòng)應(yīng)用分享類網(wǎng)站、移動(dòng)應(yīng)用市場(chǎng)、移動(dòng)應(yīng)用商店和移動(dòng)視聽類應(yīng)用程序。移動(dòng)應(yīng)用分享類網(wǎng)站主要指安卓市場(chǎng)、PP助手等論壇和下載類網(wǎng)站。移動(dòng)應(yīng)用市場(chǎng)和商店包括豌豆莢、華為等專門向公眾提供應(yīng)用程序下載、更新等服務(wù)的網(wǎng)站和程序。移動(dòng)視聽類應(yīng)用程序主要指優(yōu)酷、騰訊、央視頻、快手等應(yīng)用程序。為保護(hù)自身的數(shù)據(jù)安全和商業(yè)利益,相關(guān)網(wǎng)站和應(yīng)用程序均設(shè)計(jì)有信息加密、反爬蟲等安全策略,增加了數(shù)據(jù)采集和識(shí)別的難度。
數(shù)據(jù)采集部分由工控機(jī)、智能終端、鏡像交換機(jī)等設(shè)備和網(wǎng)絡(luò)爬蟲、模擬瀏覽器等軟件組成,對(duì)采集對(duì)象進(jìn)行控制和信息采集。
為控制多個(gè)移動(dòng)智能終端獲取視聽數(shù)據(jù),利用PCI轉(zhuǎn)USB板卡和USB擴(kuò)展器將工控機(jī)與移動(dòng)智能終端進(jìn)行連接。通過USB線纜傳輸重啟、確認(rèn)、返回、取消、滑動(dòng)等操作命令和應(yīng)用安裝、更新、刪除等控制命令以及截屏、錄像、布局文件獲取等采集命令。在智能終端接入平臺(tái)時(shí),需將每個(gè)智能終端的識(shí)別號(hào)保存至數(shù)據(jù)庫中。
為捕獲移動(dòng)智能終端與服務(wù)器之間的交互數(shù)據(jù),移動(dòng)智能終端通過無線路由器、鏡像交換機(jī)訪問公共互聯(lián)網(wǎng)。工控機(jī)通過鏡像交換機(jī)實(shí)時(shí)捕獲通信數(shù)據(jù)。
為防止因長時(shí)間采集特定內(nèi)容而被監(jiān)管對(duì)象識(shí)別和屏蔽,使用IP代理、動(dòng)態(tài)修改定位信息等策略。
數(shù)據(jù)處理部分主要包括任務(wù)調(diào)度、數(shù)據(jù)解析、圖文識(shí)別、文字匹配等服務(wù)器,用于存儲(chǔ)和處理應(yīng)用程序、節(jié)目、圖文等數(shù)據(jù)。
數(shù)據(jù)處理部分提供數(shù)據(jù)采集、數(shù)據(jù)解析、內(nèi)容識(shí)別等服務(wù)。為提升設(shè)備利用率和承擔(dān)臨時(shí)任務(wù)的能力,利用vmware公司提供的私有云解決方案統(tǒng)一管理本地的計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)等資源,降低設(shè)備采購和運(yùn)營成本,提供更加彈性的資源配置策略,以適應(yīng)臨時(shí)增加的監(jiān)管工作任務(wù)。通信服務(wù)器用于監(jiān)控智能終端、服務(wù)器、程序的運(yùn)行狀態(tài);IP代理服務(wù)器提供動(dòng)態(tài)分配的IP代理資源;調(diào)度服務(wù)器通過資源的調(diào)度和管理,動(dòng)態(tài)分配網(wǎng)絡(luò)、存儲(chǔ)和計(jì)算資源。為利用更加先進(jìn)、成熟的文字、圖像、音視頻等處理算法,通過購買服務(wù)的方式,調(diào)用專業(yè)的數(shù)據(jù)處理引擎,完成特征提取、識(shí)別、計(jì)算等。
數(shù)據(jù)存儲(chǔ)部分利用構(gòu)建在多個(gè)存儲(chǔ)設(shè)備上的HDFS文件系統(tǒng)和Hive數(shù)據(jù)倉庫,存儲(chǔ)圖文、音視頻、通信數(shù)據(jù)、應(yīng)用程序等非結(jié)構(gòu)化的數(shù)據(jù),為后期的數(shù)據(jù)標(biāo)簽體系的設(shè)計(jì),提供數(shù)據(jù)支撐。利用雙機(jī)熱備份的MySQL數(shù)據(jù)庫,實(shí)現(xiàn)對(duì)結(jié)構(gòu)化數(shù)據(jù)的管理。為確保數(shù)據(jù)安全,需定期檢查數(shù)據(jù)的同步情況。
數(shù)據(jù)發(fā)布部分主要包括發(fā)布服務(wù)器、防火墻、入侵檢測(cè)等設(shè)備,提供安全可靠的數(shù)據(jù)發(fā)布服務(wù)。數(shù)據(jù)發(fā)布模塊使用了高性能的數(shù)據(jù)發(fā)布服務(wù)器,并啟用IP、賬戶等認(rèn)證技術(shù),確保內(nèi)部數(shù)據(jù)安全。在系統(tǒng)中除了部署有殺毒中心、防火墻、入侵監(jiān)測(cè)、接入終端管理等設(shè)備,嚴(yán)格限制外部用戶的資源訪問權(quán)限。
在滿足海量移動(dòng)視聽類應(yīng)用的智能控制、采集、處理、存儲(chǔ)等功能需求的基礎(chǔ)上,按照分層、解耦等原則,將系統(tǒng)分為數(shù)據(jù)源層、控制與采集層、數(shù)據(jù)存儲(chǔ)層、數(shù)據(jù)處理層、業(yè)務(wù)應(yīng)用層,如圖2所示。
圖2 系統(tǒng)軟件組成示意圖
數(shù)據(jù)源層包括安卓、iOS移動(dòng)視聽類應(yīng)用商店和應(yīng)用程序。移動(dòng)應(yīng)用程序數(shù)據(jù)來自華為、蘋果等應(yīng)用商店和安卓市場(chǎng)、機(jī)鋒論壇等網(wǎng)站,包括鏈接、圖片、評(píng)論、版本、下載量等數(shù)據(jù)。移動(dòng)視聽節(jié)目數(shù)據(jù)來自優(yōu)酷、央視頻、騰訊視頻、抖音等移動(dòng)視聽類應(yīng)用,包括直播頻道、點(diǎn)播節(jié)目、EPG、彈幕、圖片、文字等數(shù)據(jù),具有數(shù)量多、更新快、格式不統(tǒng)一等特點(diǎn)。
控制與采集層對(duì)安卓和iOS移動(dòng)智能終端應(yīng)用商店和應(yīng)用程序的控制和數(shù)據(jù)采集。按照監(jiān)管任務(wù)設(shè)定,從數(shù)據(jù)庫中讀取任務(wù)參數(shù)、終端信息、控制文件、頁面參數(shù)等相關(guān)信息[5]。利用Adb、Ibimobiledevice等移動(dòng)應(yīng)用軟件測(cè)試工具包,控制移動(dòng)智能終端,下發(fā)安裝、卸載、打開、切換、捕獲、關(guān)閉等操作命令或頁面捕獲、截屏、錄像等命令,實(shí)現(xiàn)對(duì)移動(dòng)智能終端的控制。將捕獲的XML布局文件按照對(duì)應(yīng)的移動(dòng)視聽終端進(jìn)行分類保存,并記錄所在的版塊、終端名稱等信息。
利用pyshark調(diào)用wireshark捕獲網(wǎng)卡的通信數(shù)據(jù),并將相關(guān)的數(shù)據(jù)保存下來,利用指定的命令從通信數(shù)據(jù)包中提取IP、域名、下載鏈接、圖片等相關(guān)內(nèi)容,將相關(guān)的存儲(chǔ)結(jié)果保存成數(shù)據(jù)文件,以供后期的處理和分析。
為了提升應(yīng)用程序控制和采集的工作效率,使用多個(gè)智能終端進(jìn)行同步的控制,并將相關(guān)的結(jié)果按照分類命名的方式進(jìn)行記錄。
數(shù)據(jù)存儲(chǔ)層主要是用于存儲(chǔ)應(yīng)用商店、應(yīng)用程序、視聽節(jié)目相關(guān)的采集數(shù)據(jù)、中間數(shù)據(jù)、結(jié)果數(shù)據(jù)。
一是通過Pymysql等數(shù)據(jù)庫支持包將終端控制信息、配置參數(shù)、任務(wù)、處理意見等結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)到mysql數(shù)據(jù)庫中。為數(shù)據(jù)的長期分析使用,建立數(shù)據(jù)表之間的映射關(guān)系。
二是利用FastDFS文件系統(tǒng)對(duì)應(yīng)用程序、圖片、音視頻、布局文件、評(píng)論、通信數(shù)據(jù)等非結(jié)構(gòu)化的數(shù)據(jù)進(jìn)行統(tǒng)一管理,解決海量數(shù)據(jù)的存儲(chǔ)、管理、更新等方面的問題。通過節(jié)點(diǎn)統(tǒng)一管理的方式,提供更加安全的文件管理服務(wù)。借助Hive、HBASE等工具,對(duì)于主題化的數(shù)據(jù)進(jìn)行統(tǒng)一的管理,進(jìn)而方便后期的分析和管理,以形成一致性的數(shù)據(jù)處理結(jié)論。對(duì)圖片、節(jié)目、應(yīng)用等數(shù)據(jù)進(jìn)行標(biāo)簽化的處理,便于后期的處理和分析。
數(shù)據(jù)處理層主要是解析、提取采集的圖文、音視頻、通信數(shù)據(jù)等文件,以獲取傳播情況、節(jié)目數(shù)據(jù)、違規(guī)內(nèi)容、傳播規(guī)律等數(shù)據(jù)。
一是利用xpath、lxml等工具和調(diào)用第三方提供的圖片、音視頻等算法接口,實(shí)現(xiàn)對(duì)圖文等解析功能,獲得節(jié)目名稱、點(diǎn)擊數(shù)、鏈接等相關(guān)內(nèi)容。因各個(gè)視聽類應(yīng)用程序的布局不盡相同,在進(jìn)行檢測(cè)時(shí),需要進(jìn)行驗(yàn)證。針對(duì)于圖片識(shí)別和音視頻比對(duì)等需要較多計(jì)算資源的領(lǐng)域,直接調(diào)用某互聯(lián)網(wǎng)企業(yè)的服務(wù)接口。
二是通過pyshark調(diào)用wireshark的數(shù)據(jù)分析函數(shù),提取IP、域名、音視頻等通訊數(shù)據(jù)信息。pyshark通過調(diào)用t-shark的命令接口,實(shí)現(xiàn)對(duì)通信數(shù)據(jù)包的在線和離線的解析,進(jìn)而獲取所需的文件信息。
三是利用異步的數(shù)據(jù)下載技術(shù)實(shí)現(xiàn)對(duì)圖片、節(jié)目、應(yīng)用等數(shù)據(jù)的下載,并通過文件名稱標(biāo)識(shí)相互之間的關(guān)系。
四是對(duì)違規(guī)內(nèi)容進(jìn)行識(shí)別,對(duì)文字、圖片、數(shù)據(jù)等進(jìn)行分級(jí)預(yù)警,形成一致性的預(yù)警機(jī)制,將之前的預(yù)警數(shù)據(jù)融合到現(xiàn)在的報(bào)警結(jié)果之中。
五是進(jìn)行傳播規(guī)律分析,提供EPG、合規(guī)性檢查、傳播規(guī)律分析等相關(guān)的數(shù)據(jù)檢查機(jī)制,提供數(shù)據(jù)查詢和管理的接口。對(duì)歷史數(shù)據(jù)的離線分析,通過對(duì)數(shù)據(jù)的離線分析和比對(duì),能夠得到整體的傳播情況和傳播規(guī)律,并且能夠發(fā)現(xiàn)預(yù)警情況。采用大數(shù)據(jù)的處理方式,對(duì)于海量視聽數(shù)據(jù)的處理方式,能夠?qū)τ趥鞑デ闆r、傳播規(guī)律進(jìn)行分析和處理。
業(yè)務(wù)應(yīng)用層主要實(shí)現(xiàn)對(duì)節(jié)目傳播情況、版本信息、節(jié)目內(nèi)容、技術(shù)特征等數(shù)據(jù)的展示和參數(shù)配置。
一是系統(tǒng)提供各移動(dòng)應(yīng)用商店傳播移動(dòng)視聽類應(yīng)用的數(shù)量、版本、下載量、評(píng)論等基礎(chǔ)信息,以便掌握重點(diǎn)應(yīng)用的傳播情況,推出的版本的情況,相互之間的關(guān)系情況,為節(jié)目傳播渠道的研究提供技術(shù)支撐。
二是提供視聽類應(yīng)用程序的管理EPG信息、變動(dòng)情況、重點(diǎn)節(jié)目、鏈接情況、評(píng)論情況以及APP等相關(guān)的分析和匯總功能。
三是按照預(yù)警等級(jí),將違規(guī)賬戶、節(jié)目、標(biāo)題、評(píng)論等相關(guān)數(shù)據(jù)推送給研判人員[4]。提供應(yīng)用商店、安卓應(yīng)用程序、蘋果應(yīng)用程序、節(jié)目預(yù)警、圖文預(yù)警、系統(tǒng)預(yù)警。將相關(guān)的預(yù)警信息進(jìn)行充分分析。研判人員只需要將精力用在預(yù)警信息的處理之上,能夠?qū)c(diǎn)播、直播節(jié)目的內(nèi)容進(jìn)行預(yù)警分析,對(duì)相關(guān)的節(jié)目進(jìn)行分級(jí)管理,輔助研判員對(duì)于相關(guān)的內(nèi)容能夠更加全面的分析和研判,提高工作效率。
四是對(duì)技術(shù)特征情況進(jìn)行驗(yàn)證,判別是否違反國家廣電總局出臺(tái)的相關(guān)規(guī)定,是否存在隱藏的節(jié)目鏈接等情況。
五是提供系統(tǒng)管理。對(duì)于處理結(jié)果進(jìn)行分析和處理,能夠及時(shí)了解和掌握附件和應(yīng)用程序的情況。系統(tǒng)的整體運(yùn)行情況,智能終端的運(yùn)行情況,存儲(chǔ)空間的占比情況,各個(gè)設(shè)備的運(yùn)行情況,網(wǎng)絡(luò)安全的運(yùn)行情況,能夠提供更加安全的數(shù)據(jù)管理功能。
六是能夠提供大屏的展示功能。在系統(tǒng)管理模塊中,可以對(duì)智能終端、應(yīng)用程序、關(guān)鍵詞、賬戶信息等資源進(jìn)行動(dòng)態(tài)管理[4]。以圖表的形式展示平臺(tái)的實(shí)際運(yùn)行情況,提示值班員及時(shí)處理相關(guān)的程序和應(yīng)用功能。
系統(tǒng)管理層主要是提供對(duì)終端、服務(wù)器、任務(wù)、報(bào)告、日志、網(wǎng)絡(luò)安全、外部系統(tǒng)等接口。能夠?qū)ο到y(tǒng)的軟硬件的運(yùn)行情況、數(shù)據(jù)庫、服務(wù)器的運(yùn)行情況進(jìn)行統(tǒng)一的管理和維護(hù),能夠?qū)ο到y(tǒng)的運(yùn)行情況進(jìn)行集中的管理和控制。
為使用一臺(tái)工控機(jī)控制多個(gè)移動(dòng)智能終端,使用PCI轉(zhuǎn)USB板卡和USB擴(kuò)展器連接工控機(jī)和移動(dòng)智能終端。在智能終端第一次連接工控機(jī)時(shí),讀取系統(tǒng)給終端分配的標(biāo)志,保存到設(shè)備參數(shù)表中,以備控制模塊對(duì)指定終端下達(dá)重啟、軟件管理、滑動(dòng)等操作命令。相對(duì)于通過無線網(wǎng)絡(luò)的終端控制,通過USB線纜的終端控制技術(shù)具有運(yùn)行可靠、操作簡便、控制能力強(qiáng)等優(yōu)點(diǎn)。
為減少對(duì)圖片識(shí)別文字識(shí)別功能的依賴和提升關(guān)鍵信息識(shí)別的準(zhǔn)確性,基于點(diǎn)播節(jié)目、直播頻道、應(yīng)用程序等信息按照一定規(guī)則在移動(dòng)應(yīng)用商店終端上展示的事實(shí),通過ADB命令獲取XML格式的文件后,使用XML文檔查找工具包XPATH進(jìn)行數(shù)據(jù)提取。以提取某終端的節(jié)目名為例,輸入“tv_names = driver.find_elements_by_xpath (r′//* [@resource-id="com.youku.phone:id/yk_item_title"]′)”,可實(shí)現(xiàn)對(duì)點(diǎn)播節(jié)目名的查找。該種數(shù)據(jù)解析方法具有配置靈活、操作簡便等優(yōu)點(diǎn)。
為從通信數(shù)據(jù)包中獲取網(wǎng)絡(luò)協(xié)議、源IP地址、目的IP地址、URL鏈接等信息,本文借助pyshark遠(yuǎn)程調(diào)用wireshark,通過命令的方式,實(shí)現(xiàn)對(duì)網(wǎng)卡數(shù)據(jù)的捕獲、存儲(chǔ)、解析等功能,進(jìn)而獲取通信數(shù)據(jù)包中的視頻地址、圖片地址、文字信息等內(nèi)容,實(shí)現(xiàn)網(wǎng)絡(luò)層數(shù)據(jù)對(duì)獲取,能夠有效的避免被運(yùn)營方發(fā)現(xiàn)和觸發(fā)策略,實(shí)現(xiàn)更加有效的數(shù)據(jù)提取。
以提取http中包含的圖片信息為例,使用“http.request.full_uri matches"http://.*.jpg.*"”,即可得到所有的圖片下載鏈接,獲得所有的圖片數(shù)據(jù)信息。
為在不觸發(fā)反爬蟲安全策略的情況下,獲取移動(dòng)視聽類應(yīng)用傳播的圖文、音視頻等文件,本文利用python提供的異步模 塊 ASYNCIO、AIOFILES、AIOHTTP_REQUESTS通過異步的方式在認(rèn)證許可的時(shí)間內(nèi),下載相關(guān)數(shù)據(jù)到本地存儲(chǔ)之中。相對(duì)于同步下載的方式,在速度方面具有明顯的優(yōu)勢(shì)。
為提升海量移動(dòng)視聽類應(yīng)用傳播情況、版本信息、節(jié)目內(nèi)容、技術(shù)特征等監(jiān)管工作效率,本文利用工控機(jī)、移動(dòng)智能終端、鏡像交換機(jī)等設(shè)備搭建通用型的技術(shù)監(jiān)測(cè)和內(nèi)容監(jiān)管硬件平臺(tái),利用自動(dòng)控制、采集、處理、存儲(chǔ)、發(fā)布等技術(shù)設(shè)計(jì)智能化的應(yīng)用軟件,解決傳播渠道廣、版本信息多、節(jié)目內(nèi)容要求高、技術(shù)特征提取困難、傳播規(guī)律分析難度大等困難,探索建立移動(dòng)視聽類應(yīng)用監(jiān)管新模式。