本發明涉(she)及數據采(cai)集分(fen)析,尤其(qi)涉(she)及移動(dong)應用軟件發布站點數據采(cai)集分(fen)析方法。
背景技術:
1、隨著移動(dong)智能(neng)終(zhong)端的(de)發(fa)展(zhan),相(xiang)應的(de)移動(dong)應用(yong)軟件(jian)數(shu)量不(bu)斷增(zeng)長,在(zai)這(zhe)些移動(dong)應用(yong)軟件(jian)豐富了智能(neng)終(zhong)端生態的(de)同(tong)時,也有(you)不(bu)法(fa)(fa)應用(yong)混雜其中伺機(ji)盜取(qu)用(yong)戶個人信息(xi)、傳播違法(fa)(fa)信息(xi)、助長信息(xi)犯罪。為了推進網絡環境整治,打擊不(bu)法(fa)(fa)應用(yong),有(you)關(guan)部門準備了一個能(neng)夠識別(bie)惡意(yi)軟件(jian)的(de)移動(dong)應用(yong)軟件(jian)分析平臺,但苦(ku)于缺(que)少數(shu)據源,出現了空有(you)生產設備而沒有(you)生產材料的(de)窘(jiong)境。
2、目前已有的(de)數(shu)(shu)據(ju)采(cai)(cai)集實現方案大多(duo)僅能(neng)夠完成單個(ge)固定的(de)移動(dong)應(ying)用(yong)軟(ruan)件發(fa)布(bu)(bu)站(zhan)點的(de)數(shu)(shu)據(ju)采(cai)(cai)集,多(duo)數(shu)(shu)可(ke)查的(de)實現方案僅為單純的(de)遍歷站(zhan)點數(shu)(shu)據(ju),且由(you)于目標站(zhan)點更新(xin)迭代導致了代碼失效。為此急需一套能(neng)夠同時對多(duo)個(ge)移動(dong)應(ying)用(yong)軟(ruan)件發(fa)布(bu)(bu)站(zhan)點進(jin)行數(shu)(shu)據(ju)采(cai)(cai)集分析并將符合條件的(de)移動(dong)應(ying)用(yong)軟(ruan)件上(shang)傳至(zhi)移動(dong)應(ying)用(yong)軟(ruan)件分析平臺的(de)數(shu)(shu)據(ju)采(cai)(cai)集方法。
技術實現思路
1、本發明(ming)的(de)(de)目的(de)(de)在于(yu)提供(gong)移動應用軟(ruan)件發布站(zhan)(zhan)點(dian)數(shu)據(ju)采集分析方法,解決現有(you)技術(shu)缺少(shao)同時對多個不同結(jie)構的(de)(de)移動應用軟(ruan)件發布站(zhan)(zhan)點(dian)進(jin)行數(shu)據(ju)采集的(de)(de)能力,且缺少(shao)任務分級調度管理(li)、大型文件下載管理(li)的(de)(de)技術(shu)問題。
2、實現對多(duo)個不同結構的移動應用(yong)軟件(jian)發(fa)布站點獲取特定(ding)數據,對符合條件(jian)的數據進行下載作持久(jiu)性儲存(cun),最后將數據上傳至指定(ding)平臺進行分析。
3、為了實現上(shang)述目的,本發明采用的技(ji)術方案如下:
4、移動應用軟件發布站點數據采集分析方(fang)法,所述方(fang)法包括如(ru)下步(bu)驟:
5、步(bu)驟101,核心控制初始化(hua),載入配(pei)置(zhi)文(wen)件(jian)(jian)創(chuang)(chuang)建全(quan)局(ju)配(pei)置(zhi)管理對象(xiang)(xiang),通(tong)過(guo)數(shu)(shu)(shu)據(ju)庫(ku)鏈接/連(lian)(lian)接池(chi)超時/連(lian)(lian)接池(chi)大小(xiao)/連(lian)(lian)接池(chi)輪詢間隔(ge)等參(can)數(shu)(shu)(shu)創(chuang)(chuang)建系(xi)統(tong)(tong)全(quan)局(ju)mysql訪問(wen)(wen)對象(xiang)(xiang),通(tong)過(guo)主機地(di)址/端(duan)口(kou)/連(lian)(lian)接口(kou)令/編碼(ma)格(ge)式/超時重試(shi)間隔(ge)/空(kong)閑檢查間隔(ge)等參(can)數(shu)(shu)(shu)創(chuang)(chuang)建系(xi)統(tong)(tong)全(quan)局(ju)redis訪問(wen)(wen)對象(xiang)(xiang),通(tong)過(guo)ftp服(fu)(fu)務(wu)地(di)址/ftp用戶名(ming)/ftp密碼(ma)/ftp儲存(cun)文(wen)件(jian)(jian)夾名(ming)稱等參(can)數(shu)(shu)(shu)創(chuang)(chuang)建系(xi)統(tong)(tong)全(quan)局(ju)ftp操作對象(xiang)(xiang),通(tong)過(guo)主機地(di)址/端(duan)口(kou)/ssl證書/訪問(wen)(wen)日(ri)(ri)志/自動重載等參(can)數(shu)(shu)(shu)創(chuang)(chuang)建系(xi)統(tong)(tong)web服(fu)(fu)務(wu)對象(xiang)(xiang)以提供數(shu)(shu)(shu)據(ju)可視化(hua)服(fu)(fu)務(wu),通(tong)過(guo)終端(duan)日(ri)(ri)志輸出等級(ji)/文(wen)件(jian)(jian)日(ri)(ri)志輸出等級(ji)/終端(duan)日(ri)(ri)志輸出格(ge)式/文(wen)件(jian)(jian)日(ri)(ri)志輸出格(ge)式等參(can)數(shu)(shu)(shu)創(chuang)(chuang)建系(xi)統(tong)(tong)全(quan)局(ju)日(ri)(ri)志記錄對象(xiang)(xiang);
6、步驟102,載入總控制(zhi)器(qi),根據(ju)(ju)系統配置中設置的(de)多(duo)進程進程池(chi)并行(xing)量初始化多(duo)進程進程池(chi),創建(jian)一(yi)(yi)個(ge)或一(yi)(yi)個(ge)以上的(de)任務執行(xing)子進程,一(yi)(yi)個(ge)數據(ju)(ju)處理子進程;
7、步驟103,任務(wu)執行子(zi)進(jin)程根據不同目標(biao)的(de)配置文(wen)件(jian)載入各自的(de)控制模塊(kuai),檢查數據庫(ku)初始化,實(shi)例化任務(wu)隊列模塊(kuai)、預處理(li)模塊(kuai)、任務(wu)并發管理(li)模塊(kuai)、執行模塊(kuai)和后處理(li)模塊(kuai);
8、步驟104,數(shu)(shu)(shu)據(ju)(ju)(ju)處(chu)理子進(jin)程(cheng)等待(dai)從(cong)數(shu)(shu)(shu)據(ju)(ju)(ju)回(hui)(hui)傳隊列(lie)獲(huo)取(qu)任務執行子進(jin)程(cheng)提交的回(hui)(hui)傳數(shu)(shu)(shu)據(ju)(ju)(ju),對(dui)回(hui)(hui)傳數(shu)(shu)(shu)據(ju)(ju)(ju)做持久化儲存,將普通(tong)文(wen)本數(shu)(shu)(shu)據(ju)(ju)(ju)保存到(dao)數(shu)(shu)(shu)據(ju)(ju)(ju)庫(ku)并將二進(jin)制(zhi)文(wen)件(jian)上傳至ftp,從(cong)數(shu)(shu)(shu)據(ju)(ju)(ju)庫(ku)獲(huo)取(qu)關(guan)(guan)(guan)鍵詞(ci)(ci)列(lie)表,確(que)認目(mu)標(biao)數(shu)(shu)(shu)據(ju)(ju)(ju)是(shi)否包(bao)(bao)含關(guan)(guan)(guan)鍵詞(ci)(ci),若包(bao)(bao)含關(guan)(guan)(guan)鍵詞(ci)(ci)則上傳數(shu)(shu)(shu)據(ju)(ju)(ju)到(dao)指定平臺。
9、進一步地,步驟(zou)104的具體過程為:
10、步驟202,執行預(yu)處理模塊,根據(ju)系(xi)統配置的監測點列表創建起(qi)始任(ren)務(wu)列表并(bing)添加(jia)至任(ren)務(wu)隊列,起(qi)始任(ren)務(wu)根據(ju)不同任(ren)務(wu)的需求(qiu)有(you)仿(fang)真請求(qiu)頭/瀏(liu)覽(lan)器(qi)操作(zuo)對象/請求(qiu)代理地址/回調函數(shu)(shu)/回調附加(jia)參(can)(can)數(shu)(shu)/請求(qiu)方式/請求(qiu)體/ssl驗證/執行延遲/請求(qiu)超時等參(can)(can)數(shu)(shu);
11、步(bu)驟203,進入任(ren)務并發管理模塊,根據并發量配(pei)置創建(jian)一(yi)個或多個任(ren)務執(zhi)行(xing)協程、一(yi)個數據回(hui)收協程、一(yi)個隊(dui)列狀態報告協程;
12、步驟(zou)204,任務執(zhi)行協程從任務隊(dui)列(lie)獲取當前隊(dui)列(lie)中最高優先(xian)級的任務并(bing)執(zhi)行,主(zhu)要目的在于(yu)通過瀏覽器自(zi)動(dong)化請求(qiu)/終(zhong)端仿真請求(qiu)等方式獲取目標(biao)監測點頁(ye)面(mian)原(yuan)始數據或目標(biao)二進制文件下載連接并(bing)傳遞到(dao)后處理模塊;
13、步驟205,后處理(li)模塊解(jie)析(xi)任(ren)務(wu)執行結果,借助(zhu)正則表達式/html文(wen)本解(jie)析(xi)器(qi)/json編碼器(qi)/json解(jie)碼器(qi)等(deng)工具(ju)提(ti)取有效數(shu)(shu)據(ju)分析(xi)整(zheng)理(li)成統(tong)一(yi)格式回傳至(zhi)結果隊列(lie)(lie)(lie)(lie),并根據(ju)結果創建新爬取任(ren)務(wu)添加(jia)至(zhi)任(ren)務(wu)隊列(lie)(lie)(lie)(lie),從數(shu)(shu)據(ju)庫獲取關鍵(jian)詞(ci)列(lie)(lie)(lie)(lie)表用于篩選數(shu)(shu)據(ju),如果發(fa)現數(shu)(shu)據(ju)中包含關鍵(jian)詞(ci)且(qie)滿足文(wen)件(jian)(jian)下載(zai)要(yao)求,則創建一(yi)個或多個高優先級文(wen)件(jian)(jian)下載(zai)任(ren)務(wu)添加(jia)至(zhi)隊列(lie)(lie)(lie)(lie),最后將新增數(shu)(shu)據(ju)按唯一(yi)性原(yuan)則添加(jia)至(zhi)布隆過(guo)濾器(qi)防止重復任(ren)務(wu);
14、步驟206,后(hou)處理模塊(kuai)獲取(qu)文(wen)(wen)件下載任務網絡連接,讀取(qu)相關數據(ju)(ju),創建(jian)文(wen)(wen)件流,打(da)開本地(di)臨時(shi)緩存(cun)文(wen)(wen)件io,通(tong)過文(wen)(wen)件流讀取(qu)數據(ju)(ju)直接寫(xie)入(ru)本地(di)臨時(shi)緩存(cun)文(wen)(wen)件,數據(ju)(ju)寫(xie)入(ru)完畢后(hou)根據(ju)(ju)相關數據(ju)(ju)驗(yan)證數據(ju)(ju)完整性,并(bing)上(shang)傳文(wen)(wen)件至(zhi)指(zhi)定ftp服務器(qi)作(zuo)持(chi)久化(hua)儲存(cun);
15、步驟207,數據回收(shou)協(xie)程從結果隊列獲取回傳數據根據模塊設置決定直(zhi)接(jie)儲存至(zhi)本地數據庫或提交至(zhi)上級進程結果隊列;
16、步(bu)驟208,隊列狀(zhuang)態報告(gao)協程定時獲取(qu)任務(wu)隊列狀(zhuang)態,并將結果保存至日志(zhi)文件,若任務(wu)隊列長(chang)時間沒有發生(sheng)變動則發出告(gao)警(jing)日志(zhi)。
17、實現同時對多個不(bu)同結構的(de)站點進行(xing)數據采(cai)集,并且進行(xing)任務分級調度管理。
18、本(ben)發(fa)明由(you)于(yu)采用了(le)上述(shu)技(ji)術方案,具有以下有益效(xiao)果:
19、本(ben)發(fa)(fa)明通(tong)過對不同目標準(zhun)備相對應的(de)(de)配置文件來創建針對性(xing)的(de)(de)數(shu)據(ju)(ju)采集(ji)(ji)子進(jin)程實現(xian)(xian)了(le)單個(ge)系統對多(duo)(duo)個(ge)不同結(jie)構的(de)(de)移動應用(yong)軟(ruan)件發(fa)(fa)布站(zhan)點同時(shi)進(jin)行數(shu)據(ju)(ju)采集(ji)(ji)的(de)(de)方法。子進(jin)程中利(li)用(yong)異步(bu)技術實現(xian)(xian)了(le)多(duo)(duo)任(ren)務(wu)并(bing)發(fa)(fa)執行,利(li)用(yong)多(duo)(duo)模(mo)塊動態(tai)載(zai)入技術實現(xian)(xian)了(le)針對不同任(ren)務(wu)內容執行相應的(de)(de)后處理模(mo)塊,給程序執行提(ti)供了(le)極大(da)的(de)(de)靈活性(xing)。同時(shi)本(ben)發(fa)(fa)明兼具上(shang)下級進(jin)程間的(de)(de)數(shu)據(ju)(ju)交互(hu)和任(ren)務(wu)隊列狀態(tai)監控的(de)(de)功能(neng)。通(tong)過本(ben)發(fa)(fa)明可快速實現(xian)(xian)同時(shi)對多(duo)(duo)個(ge)不同結(jie)構的(de)(de)網絡站(zhan)點進(jin)行數(shu)據(ju)(ju)采集(ji)(ji)的(de)(de)功能(neng),解決了(le)做數(shu)據(ju)(ju)分析(xi)時(shi)數(shu)據(ju)(ju)源不足的(de)(de)問題,為網絡數(shu)據(ju)(ju)分析(xi)提(ti)供了(le)極大(da)的(de)(de)便(bian)利(li)。
1.移動應用軟件發布站(zhan)點數據采集分析方(fang)法,其特(te)征在(zai)于:所(suo)述方(fang)法包括如(ru)下步驟:
2.根(gen)據權利(li)要求1所述的移動應用(yong)軟件發(fa)布站點數據采(cai)集分析(xi)方法,其(qi)特征在于(yu):步驟(zou)104的具體過程(cheng)為:
3.根據權利要求1所述的(de)移動應用軟件(jian)發布站(zhan)點數據采(cai)集分析(xi)方法,其特(te)征(zheng)在于:步驟101的(de)具體(ti)過(guo)程為:載入配置(zhi)文(wen)件(jian)創(chuang)建(jian)全(quan)局配置(zhi)管(guan)理對(dui)象(xiang),通(tong)過(guo)數據庫鏈接(jie)、連接(jie)池(chi)(chi)超時(shi)、連接(jie)池(chi)(chi)大小和(he)接(jie)池(chi)(chi)輪詢間隔的(de)參數創(chuang)建(jian)系統(tong)全(quan)局mysql訪問(wen)對(dui)象(xiang),通(tong)過(guo)主機(ji)地(di)址、端(duan)(duan)口(kou)、連接(jie)口(kou)令、編碼(ma)格式(shi)(shi)、超時(shi)重試(shi)間隔、空閑檢查間隔的(de)參數創(chuang)建(jian)系統(tong)全(quan)局redis訪問(wen)對(dui)象(xiang),通(tong)過(guo)ftp服(fu)務(wu)(wu)(wu)地(di)址/ftp用戶名、ftp密碼(ma)、ftp儲存文(wen)件(jian)夾名稱的(de)參數創(chuang)建(jian)系統(tong)全(quan)局ftp操作對(dui)象(xiang),通(tong)過(guo)主機(ji)地(di)址、端(duan)(duan)口(kou)、ssl證書、訪問(wen)日(ri)(ri)志(zhi)、自動重載的(de)參數創(chuang)建(jian)系統(tong)web服(fu)務(wu)(wu)(wu)對(dui)象(xiang)以提供數據可視化服(fu)務(wu)(wu)(wu),通(tong)過(guo)終端(duan)(duan)日(ri)(ri)志(zhi)輸(shu)(shu)出等(deng)級、文(wen)件(jian)日(ri)(ri)志(zhi)輸(shu)(shu)出等(deng)級、終端(duan)(duan)日(ri)(ri)志(zhi)輸(shu)(shu)出格式(shi)(shi)、文(wen)件(jian)日(ri)(ri)志(zhi)輸(shu)(shu)出格式(shi)(shi)的(de)參數創(chuang)建(jian)系統(tong)全(quan)局日(ri)(ri)志(zhi)記錄對(dui)象(xiang)。
4.根(gen)據(ju)權利要求1所述的移動應(ying)用(yong)軟(ruan)件發(fa)布站點(dian)數據(ju)采集(ji)分析方法(fa),其特征在于(yu):步驟102中(zhong):先進(jin)行載入總控制器,根(gen)據(ju)系統配置(zhi)中(zhong)設置(zhi)的多進(jin)程進(jin)程池并行量初(chu)始化多進(jin)程進(jin)程池。
5.根據權利要求1所(suo)述的移動應用(yong)軟(ruan)件發布站(zhan)點數據采集分析方法,其特征在于:步驟104中(zhong):將普通文本數據保存到(dao)數據庫并將二(er)進制文件上傳至ftp,從數據庫獲取關鍵(jian)詞(ci)列表,確認目標數據是否(fou)包(bao)含(han)關鍵(jian)詞(ci),若包(bao)含(han)關鍵(jian)詞(ci)則上傳數據到(dao)指(zhi)定(ding)平(ping)臺。
6.根據(ju)權利要(yao)求2所述(shu)的(de)移動應用軟(ruan)件(jian)發布(bu)站點數(shu)據(ju)采集(ji)分(fen)析方法(fa),其特征在(zai)于:步驟(zou)204中,通過(guo)瀏覽器自動化請求、終端(duan)仿真請求的(de)方式獲取目標監測點頁面原始數(shu)據(ju)或目標二(er)進制文(wen)件(jian)下載連(lian)接并傳遞(di)到后處理(li)模塊。