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