王 躍,于世偉,路 博,金 樺
(1. 工業(yè)和信息化部電信研究院,北京 100037;2.大唐軟件技術股份有限公司,北京 100083)
基于爬蟲的移動互聯(lián)網應用監(jiān)測分析系統(tǒng)研究
王 躍1,于世偉2,路 博1,金 樺1
(1. 工業(yè)和信息化部電信研究院,北京 100037;2.大唐軟件技術股份有限公司,北京 100083)
移動互聯(lián)網應用已超越互聯(lián)網與通信領域范疇,快速向智能電視等新型智能硬件領域延伸,當前國內外移動應用生態(tài)爆發(fā)式增長,而國內應用渠道分散且良莠不齊,立足于我國移動應用生態(tài)發(fā)展分裂實際,面向國內技術實現(xiàn)迥異的眾多應用商店提出一套完整的基于爬蟲技術的移動互聯(lián)網應用發(fā)展監(jiān)測與分析系統(tǒng)方案,基于Nutch開源爬蟲平臺在動態(tài)感知獲取國內總體應用生態(tài)發(fā)展/運行態(tài)勢過程中研究提出并解決一系列關鍵技術挑戰(zhàn),監(jiān)測數據經進一步挖掘分析輸出若干分析成果,準確全面實時揭示我國移動應用產業(yè)整體發(fā)展狀況,有效形成面向我國整體移動應用發(fā)展的深度監(jiān)測分析能力。
移動互聯(lián)網應用;應用商店;網絡爬蟲;監(jiān)測分析
移動互聯(lián)網時代的到來引發(fā)了移動應用生態(tài)的爆發(fā)型擴張,創(chuàng)新應用規(guī)模涌現(xiàn),截至2014年上半年,蘋果、谷歌、微軟3個官方原生移動互聯(lián)網應用商店的應用總數達300萬,其中蘋果突破120萬,谷歌突破150萬,微軟達30萬。與此同時,應用生態(tài)供給端的繁榮引爆了全球移動互聯(lián)網用戶應用消費市場,在應用下載規(guī)模方面,截至2014年4月,全球應用商店超過160家,應用下載規(guī)模累計超過6 000億次,其中僅蘋果AppStore累計下載量即超過750億次,每半年下載量超過100億次,而谷歌應用商店繼于2013年8月實現(xiàn)月下載規(guī)模超過蘋果后,其2014年第一季度下載量更達到蘋果的1.5倍,蘋果、谷歌兩大商店占據原生商店下載次數的95%,在使用時長方面,移動App占據了大部分移動終端上網時長,以美國為例,美國消費者86%的移動端上網時間消耗在移動App上,而在Web上的耗時僅為14%[1],在流量消耗方面,移動App流量使用已經超過移動網頁的6倍。
中國是僅次于美國的全球第二大移動應用消費市場,應用程序商店這一蘋果開創(chuàng)的全型業(yè)態(tài)已成為中國8.7億移動互聯(lián)網用戶的匯聚中心與海量數據及服務的核心承載平臺,與全球市場不同,中國移動互聯(lián)網應用生態(tài)整體并不依賴于谷歌和蘋果兩大應用商店巨頭,而是形成以本土第三方應用商店為主導的發(fā)展格局,目前已擁有超過50家[2]第三方應用商店,應用規(guī)模累計接近400萬個,下載規(guī)模超過3 000億次,開發(fā)者超過40萬人。
中國應用商店運營主體高度分裂,而應用程序商店廣覆蓋、高便捷、高價值的特性決定了其作為“新型管道”繼傳統(tǒng)移動通信管道后,已超越單純的商業(yè)范疇,成為支撐整體產業(yè)發(fā)展的又一重要新型基礎設施,構建移動互聯(lián)網應用發(fā)展監(jiān)測分析系統(tǒng),感知重要基礎性應用服務發(fā)展/運行情況,打造形成面向我國整體移動應用發(fā)展的深度監(jiān)測分析能力已成為當前切實提升中國信息通信產業(yè)發(fā)展/管理水平的迫切需求與重要高效舉措。當前從全球范圍看,App Annie[3]、AppShopper[4]等公司已涉足該領域,但其技術方案主要立足于高度收斂于谷歌、蘋果兩大商店的全球市場,更多依賴于從客戶端獲取信息數據;從國內范圍看,尚未觀察到專門定位于面向整體移動應用生態(tài)監(jiān)測分析的系統(tǒng)及相關技術方案,既有爬蟲應用或定位于搜索引擎,或定位于輿情[5]、旅游[6]等特定垂直主題,其內在技術應用場景需求差距巨大,若干企業(yè)通過市場調研等非技術手段定期發(fā)布的應用整體發(fā)展數據的監(jiān)測顆粒度、監(jiān)測頻度也完全無法滿足產業(yè)發(fā)展/管理需求。
本課題全面立足中國移動應用生態(tài)發(fā)展分裂實際,面向國內技術實現(xiàn)迥異的眾多應用商店,創(chuàng)造性地提出一套完整的基于爬蟲技術的移動互聯(lián)網應用發(fā)展監(jiān)測與分析系統(tǒng)方案,并基于該方案實現(xiàn)對我國移動應用發(fā)展態(tài)勢的全面監(jiān)測分析。
迥異于全球移動應用市場的高度收斂,立足于我國移動應用生態(tài)高度分裂、技術實現(xiàn)差異巨大的實際情況,系統(tǒng)整體基于爬蟲技術進行構建,并面向中國全部主要移動應用商店進行監(jiān)測分析,從下至上分為5個具體技術層面,即采集子層、適配子層、數據子層、服務子層和應用子層,其中爬蟲系統(tǒng)與適配子層共同實現(xiàn)面向全部移動應用的監(jiān)測功能,服務子層與應用子層共同完成面向移動應用的分析展現(xiàn)功能,因此系統(tǒng)自上而下又可分為三大層面,即分析展現(xiàn)層、數據層、監(jiān)測層,如圖1所示。
圖1 系統(tǒng)總體架構圖
1.1 系統(tǒng)監(jiān)測層
爬蟲系統(tǒng)是整個應用監(jiān)測分析系統(tǒng)的基礎與核心,其根據一定的爬取規(guī)則,深入各應用商店爬取各類指標數據提供給采集適配層進行統(tǒng)一適配。
網絡爬蟲組件使用可擴展的爬蟲池對國內外知名原生應用程序商店進行關鍵數據獲取,如AppStore、Googleplay、WindowsPhone、Getjar、移動MM、騰訊應用中心、91助手等,總體基于開源的Nutch技術架構,主要執(zhí)行流程是一個基于初始URL種子不斷擴展深入的迭代過程,在每次迭代的過程中,伴隨著新的子層URL的不斷發(fā)現(xiàn)、解析和入庫,最終采集獲取全部信息數據。
原型的開源Nutch[7]系統(tǒng)在監(jiān)測國內大量技術實現(xiàn)迥異的應用商店時面臨一系列技術難題,國內大部分應用商店中均存在大量互無關聯(lián)的應用App頁面,甚至存在根本無法通過鏈接訪問的一批App頁面孤島,簡單以各商店若干URL種子為源頭并采用Nutch自帶深度優(yōu)先搜索算法在爬取國內應用商店時僅能獲取規(guī)模極小的信息樣本,同時其漫長的爬取周期完全無法解決實時性監(jiān)測問題。為全面監(jiān)測獲取國內應用商店整體信息數據,基于國內商店迥異的實際技術情況,應用監(jiān)測分析系統(tǒng)創(chuàng)造性地發(fā)展出廣度爬取與定向爬取兩大功能組件,并將獲取應用信息的步驟拆分為靜態(tài)信息與動態(tài)信息兩大過程。
由于國內應用生態(tài)規(guī)模巨大,更新獲取全部應用頁面信息的周期極長,靜態(tài)信息主要指應用App頁面地址、應用名稱、版本、開發(fā)者等長期固定信息,靜態(tài)信息爬取周期時間要求低,但全面性要求極高,為應對大量應用商店中存在的應用孤島問題,創(chuàng)新引入源URL獲取算法,首先在全球規(guī)模最大的谷歌應用商店中獲取一批全面代表不同用戶歡迎程度的應用清單,并據此搜索映射成國內50余家應用商店的初始URL,在此基礎上進一步基于Nutch進行廣度優(yōu)先實現(xiàn),成功獲取到國內大部分App頁面數據,與此同時,國內應用商店還存在若干從首頁逐頁展現(xiàn)App頁面的技術實現(xiàn),面對這類應用商店系統(tǒng)采用定制的定向翻頁算法,獲取全部應用靜態(tài)信息。
動態(tài)信息指下載量、價格等App頁面中快速變化的相關數據,為獲取這類信息,系統(tǒng)基于靜態(tài)信息中獲取的全部App頁面URL清單基于定向爬蟲高速定向更新數據。為確保實時性加速爬取進程,定向爬蟲采用多任務爬取,但為防止觸發(fā)商店反爬策略,指向同一個應用商店資源的URL列表僅被分配到同一個爬取任務中,以減少大量線程對單一主機同時進行爬取的可能性,然而面對國內幾百萬應用動態(tài)信息每日更新,動態(tài)信息實時性仍難以完全保證,與此同時各商店反爬策略亦被頻繁觸發(fā),為解決此問題,系統(tǒng)采用間接機制通過對爬取門限容忍度較高的第三方搜索網站快照等信息獲取數據,同時部分引入代理機制對重點信息進行短期密集爬取,基本解決了國內應用生態(tài)監(jiān)測的實時性難題。
統(tǒng)一適配平臺通過監(jiān)控爬蟲程序輸出的數據緩存(包括文件、數據庫或者消息)接收來自爬蟲組件的源數據,同時使用可擴展的適配模板群來管理模板,對國內50余應用商店采集到的數據分別采用專門格式模板進行適配,以統(tǒng)一規(guī)范的格式錄入數據庫。統(tǒng)一適配組件的存在將復雜而多變的數據適配過程從爬蟲組件中分離出來,從而有效地提高了爬蟲組件的爬取速度,提升了系統(tǒng)容錯率。
1.2 系統(tǒng)數據層
數據層獲取由系統(tǒng)監(jiān)測層適配處理后的數據,并對數據進行持久化操作,采用分析庫、實時庫、高速緩存以及索引庫三類數據庫,其中分析庫基于HBASE儲存海量的原始數據與基礎支撐數據,實時庫基于MYSQL以只讀形式面向上層服務進行實時查詢與報表展現(xiàn),儲存基礎支撐數據、分析結果數據與報表數據,引入內存庫基于Redis在分析程序對原始數據進行分析的時候提供高速緩存用來加速分析過程[8],并同時提供一個數據索引服務,以加速面向幾百萬應用信息的頁面查詢響應。
存儲于監(jiān)測分析系統(tǒng)3類數據庫中的數據內容類型主要分為爬蟲與數據分析類、初級數據類、高級數據類和基礎支撐類4類,其中:
1)爬蟲與數據分析類主要指系統(tǒng)運行所依賴的一系列基本數據,包括爬取任務數據、反編譯數據和初步統(tǒng)計數據。其中,爬取任務數據主要包括目標應用商店基本情況、爬取策略頻率等任務本身配置數據;反編譯應用數據主要指反編譯部分樣本應用獲取的深度監(jiān)測數據;初步統(tǒng)計數據指經適配處理后的爬取數據,及進一步簡單分析生成的數據,如應用總體規(guī)模、下載量排名等相關數據。
2)初級數據類指爬蟲與數據分析類數據經進一步處理分析后接用于系統(tǒng)展示的數據,包括應用分類、應用排名、下載情況、使用情況等。
3)高級數據類指爬蟲與數據分析類與初級數據類數據經深度挖掘處理分析得到的深層次分析數據,包括應用對比、應用引用率、發(fā)展態(tài)勢預測等深度信息。
4)基礎支撐類指系統(tǒng)管理維護相關的基礎數據,包括字典數據、用戶數據和輔助數據等。
1.3 分析展現(xiàn)層
分析展現(xiàn)層的核心是服務子層,其基于數據子層和適配子層,為應用子層提供服務。服務子層從數據子層獲取數據,其索引組件基于數據庫數據建立和維護索引,形成索引數據庫,并同時展開挖掘分析,包括數據分析和數據挖掘兩大類。其中,數據分析主要對基礎數據展開簡單分析、匯總計算以及排名信息統(tǒng)計,如基于應用商店的應用下載量排名、應用主題分類和應用階段下載次數統(tǒng)計等;數據挖掘基于半監(jiān)督[9]的機器學習方法進行學習,獨立于普通的分析,對數據進行深度的分析和挖掘,以得出更加深層的結論,基于數據倉庫工具Hive實現(xiàn),目前主要面向如應用替換率、各類型應用開發(fā)者收益、移動應用發(fā)展趨勢等數據進行復雜的挖掘分析。與此同時,服務子層也與適配子層進行交互,通過采集調度組件采用不同策略調度采集程序開展數據采集分析。服務子層面向應用子層提供各種展現(xiàn)模式支撐服務,并將應用子層的動態(tài)配置及相應操作信息向下推送到適配子層,以控制整個爬取過程。
應用層的主要功能是Web展現(xiàn),提供給用戶一個可感知和可操作的視圖界面,用戶可根據不同的功能模塊實現(xiàn)相應的業(yè)務操作,系統(tǒng)設計的功能模塊主要包括應用檢索功能、應用對比功能、系統(tǒng)管理功能、數據管理功能、應用高度分析功能、用戶管理功能等。應用層的另一個重要組成部分是公共組件,包括統(tǒng)一登錄、報表引擎和可配置樹等。公共組件為每個功能模塊執(zhí)行輔助工作,起著必不可少的作用,其中統(tǒng)一登錄是用戶登錄系統(tǒng)的驗證體系,用戶通過統(tǒng)一登錄這一入口進入系統(tǒng),以實現(xiàn)根據不同用戶的權限限定用戶可執(zhí)行的操作;報表引擎負責報表展現(xiàn),是報表功能的重要組成部分;可配置樹組件用于為用戶提供友好的操作界面,用戶可通過配置樹的相關選項進行相應的需求查詢等操作。
2.1 方案部署
基于爬蟲技術的國內移動互聯(lián)網應用發(fā)展監(jiān)測與分析系統(tǒng)部署架構如圖2所示。
圖2 系統(tǒng)部署架構圖
系統(tǒng)總體分為4個層次模塊,即Web服務器、接口服務器、數據庫服務器和分布式集群:1)Web服務器面向網絡用戶,以Tomcat為服務容器,為用戶提供瀏覽、查詢、索引以及報表等前臺界面的所有功能服務。2)接口服務器面向其他系統(tǒng)的接口使用用戶,為其他系統(tǒng)提供數據訪問接口。3)數據庫服務器用于移動互聯(lián)網應用數據以及分析挖掘數據的持久化存儲,其使用Redhad High-Availability技術實現(xiàn)雙機虛擬化,包括虛擬IP以及虛擬硬盤等服務,一方面可以在數據庫服務器故障時提供容錯,提供必要的健壯性,另一方面可以進行日常的數據備份,以便于數據恢復。4)分布式集群是系統(tǒng)分布式管理核心內容所在,使用一個管理節(jié)點和10個從節(jié)點實現(xiàn)主從式的分布式結構。在集群上部署了用于分布式存儲與計算的Hadoop框架,并基于Hadoop的分布式服務部署了分布式數據庫Hbase、數據倉庫工具Hive以及用于爬蟲系統(tǒng)的Nutch搜索引擎工具。
系統(tǒng)在軟硬件結構的部署上遵循分布式系統(tǒng)設計,合理安排任務分工和計算負載,實現(xiàn)高效率與可靠性的有機結合,能夠滿足國內移動互聯(lián)網應用發(fā)展監(jiān)測與分析需求。
2.2 監(jiān)測數據成果分析
自基于爬蟲技術的國內移動互聯(lián)網應用發(fā)展監(jiān)測與分析系統(tǒng)部署以來,截至2014年8月已對國內外41個應用商店進行爬取和分析,爬取含重復的應用數量高達6 091 037個,解析開發(fā)者787 923家,去重后應用規(guī)模等各項數據基本符合各商店公布的整體數據,并在此基礎上初步對我國移動互聯(lián)網應用生態(tài)開展進一步深度分析探索。
1)應用量分類統(tǒng)計
在國內移動互聯(lián)網應用商店中,各類應用的數量及其比例數據如表1所示。
表1 應用量分類統(tǒng)計表
根據上表統(tǒng)計結果可知,當前單機游戲、工具、生活、社交以及安全類、影音視頻類應用占據較大比例,具有較高的熱門程度;而如健康、圖書、效率之類的應用則相對較少,具有較低的關注程度。
2)分類應用商店應用統(tǒng)計
應用商店由于其形成過程的不同,可以分為互聯(lián)網類、巨頭類、設備廠商以及運營商4類,其應用量分布如表2所示。
表2 分類應用商店應用統(tǒng)計(應用數/去重后應用總規(guī)模)
由以上分析可知,在應用的整體分布中,互聯(lián)網類和巨頭類的應用商店占比絕大多數應用,而設備廠商類和運營商類商店應用規(guī)模占比極小。
3)應用商店下載量分布
各應用商店的下載量及其在總下載量的比例見表3。
表3 應用商店下載量分布
由表3可知,商店1當前在國內50余家應用商店的競爭中已取得相當競爭優(yōu)勢,而若進一步結合時間曲線分析將會發(fā)現(xiàn),商店5上升速度極快,將很快成為國內應用商店的另一主要參與者。
此外,系統(tǒng)還可進一步提取分析平均下載量、應用商店與應用分類分布、開發(fā)者分布、應用商店排名、重復應用統(tǒng)計以及優(yōu)先上線統(tǒng)計等重要移動應用生態(tài)發(fā)展數據,結合時間維度分析其可進一步深度揭示移動互聯(lián)網整體技術產業(yè)演進規(guī)律與趨勢,例如:隨著當前我國LTE網絡建設的快速推進,系統(tǒng)通過持續(xù)跟蹤視頻類應用下載規(guī)模變化將可以定量級別精確分析通信網絡升級對我國整體應用產業(yè)影響,明晰勾勒以視頻影音為代表的高流量應用市場的繁榮圖景,進而支撐相關建設發(fā)展策略出臺,推動加速通信網絡、應用產業(yè)協(xié)同發(fā)展。
本文論述的基于爬蟲技術的國內移動互聯(lián)網應用發(fā)展監(jiān)測與分析系統(tǒng)深度立足于中國移動應用生態(tài)高度分裂、應用商店技術實現(xiàn)各異的現(xiàn)實情況,基于Nutch開源爬蟲平臺創(chuàng)新地發(fā)展出廣度爬取與定向爬取兩大功能組件,并將獲取應用信息的步驟拆分為靜態(tài)信息與動態(tài)信息兩大過程,在獲取靜態(tài)信息、動態(tài)信息技術實現(xiàn)中,創(chuàng)新地提出并解決了一系列技術問題,在此基礎上通過對50余家國內商店的分別統(tǒng)一適配,輸出儲存于三大數據庫中的四類數據,并進一步挖掘分析展現(xiàn),監(jiān)測結果符合產業(yè)界實際,文中進一步基于監(jiān)測數據給出了面向我國移動互聯(lián)網應用生態(tài)進一步深度分析的若干成功案例。
系統(tǒng)當前在數據挖掘方面功能仍不完善,既有挖掘程度較淺,特別是我國的50余家商店發(fā)展良莠不齊,對各應用商店本身數據真實準確性挖掘分析并剔除壞數據是確保系統(tǒng)真正科學有效支撐中國移動互聯(lián)網應用生態(tài)發(fā)展/管理的迫切要義。此外,HTML5[10]應用正處于興起的初級階段,下一步系統(tǒng)須在面向Web應用的監(jiān)測方面全面升級能力,為未來潛在的Web應用爆發(fā)做好準備。
[1] KAPPS S. App solidify leadership six years into the mobile revolution. Flurry Insights[EB/OL].[2015-01-01].http://www.flurry.com/bid/109749/Apps-Solidify-Leadership-Six-Years-into-the-Mobile-Revolution#.VL5hR9yUd2w.
[2] 許志遠,李婷,王躍. 2014年移動互聯(lián)網白皮書[EB/OL].[2015-01-20].http://www.miit.gov.cn/n11293472/n11293832/n15214847/n15218338/.
[3] App annie corporation official site[EB/OL].[2015-01-10].http://www.appannie.com.
[4] Appshopper corporation official site[EB/OL].[2015-01-10].http://appshopper.com.
[5] 王旭.互聯(lián)網輿情監(jiān)控系統(tǒng)中聚焦爬蟲的設計與實現(xiàn)[D].北京:北京郵電大學,2011.
[6] 徐顯煉.分布式在線旅游搜索爬蟲系統(tǒng)設計與實現(xiàn)[D].北京:北京郵電大學,2013.
[7] Apache nutch official site[EB/OL].[2015-01-10].http://nutch.apache.org/.
[8] 楊艷,李煒.王純內存數據庫在高速緩存方面的應用[J].現(xiàn)代電信科技,2011(12):16-18.
[9] 王理華.半監(jiān)督學習及其在數據挖掘中的應用[J].電腦知識與技術,2011(36):25-27.
[10]工業(yè)和信息化部電信研究院.新一代移動Web技術白皮書(2012年)[EB/OL].[2015-01-10].http://www.miit.gov.cn/n11293472/n11293832/n15214847/n15218338/15225018.html.
王 躍(1983— ),碩士,主研移動互聯(lián)網、數據網絡規(guī)劃、網絡流量分析等;
于世偉(1986— ),學士,主研移動互聯(lián)網、信息系統(tǒng)技術架構等;
路 博(1986— ),碩士,主研移動互聯(lián)網應用生態(tài)、關鍵服務、新興技術等;
金 樺(1985— ),博士,主研城市信息化、智慧城市、移動互聯(lián)網等。
責任編輯:許 盈
Research on Domestic Mobile Internet Application Monitoring and Analysis System Based on Crawler Technology
WANG Yue1,YU Shiwei2,LU Bo1,JIN Hua1
(1.ChinaAcademyofTelecommunicationResearchofMIIT,Beijing100037,China;2.DatangSoftwareTechonlogyCompany,Beijing100083,China)
Mobile internet applications have gone beyond the scope of internet and communication fields, which are now widely used in smart TV and many other new intelligent hardware areas. At the same time, the mobile internet application ecology is in the explosive growth of scale in and abroad, howerver, domestic application channels are dispersed, and the good and bad are mixed together. Based on the dispersed ecology reality, an intact mobile internet application monitoring and analysis system solution are raised to crawl and extract information from major domestic appstores with different technical designs. Based on the Nutch open source platform, the system implementation successfully solves a series of technical challenges in the process of dynamic sensing development and operation of domestic overall application ecology. Further analysis and deep mining are carried out based on collected data, which accurately and comprehensively reveals the whole development stauts of China mobile application industry in real time.
mobile internet applications; App store; Web crawler; monitoring and analysis
【本文獻信息】王躍,于世偉,路博,等.基于爬蟲的移動互聯(lián)網應用監(jiān)測分析系統(tǒng)研究[J].電視技術,2015,39(13).
國家“863”計劃項目(2012ZX03002018;2013ZX03002010)
TN915;TP3
A
10.16280/j.videoe.2015.13.019
2015-05-08