亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于模式匹配快速批量下載安卓文件的方法及系統(tǒng)的制作方法

文檔序號(hào):10569771閱讀:246來源:國(guó)知局
基于模式匹配快速批量下載安卓文件的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提出一種基于模式匹配快速批量下載安卓文件的方法及系統(tǒng),通過在手機(jī)上運(yùn)行下載服務(wù)端結(jié)合配置文件指定需要下載的文件的方式實(shí)現(xiàn)了批量下載安卓系統(tǒng)文件,具有批量下載,能夠根據(jù)模式匹配文件,下載速度快,不受文件權(quán)限影響并且能夠主動(dòng)修改名稱的特點(diǎn),解決了目前使用ADB(Andriod Debug Bridge,安卓調(diào)試橋)中adb pull指令下載方式的諸多缺點(diǎn),可以實(shí)現(xiàn)快速批量的從安卓系統(tǒng)上下載文件,下載過程穩(wěn)定,多次下載文件一致。
【專利說明】
基于模式匹配快速批量下載安卓文件的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息獲取技術(shù),特別涉及基于模式匹配快速批量下載安卓文件的方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)在,基于安卓系統(tǒng)的手機(jī)已經(jīng)占據(jù)的很大的市場(chǎng)份額,對(duì)安卓手機(jī)的取證也越來越重要。Android手機(jī)上的應(yīng)用越來越多,而且手機(jī)的存儲(chǔ)容量越來越大,從手機(jī)上拷貝文件需要花的時(shí)間越來越多。傳統(tǒng)的司法取證方法是直接使用A n d r ο i d系統(tǒng)提供的A D B(Android Debug Bridge,安卓調(diào)試橋)中adb pull指令的方式下載手機(jī)上的文件。使用adbpull命令的方法一次操作只能下載一個(gè)文件或者一個(gè)文件夾。如果需要下載多個(gè)文件需要多次執(zhí)行adb pull指令,這樣會(huì)延長(zhǎng)下載時(shí)間;而如果下載整個(gè)目錄則可能下載很多不必要的文件進(jìn)而導(dǎo)致下載時(shí)間變長(zhǎng)。因此,使用adb pull指令的方式已經(jīng)不能滿足手機(jī)采集這種對(duì)時(shí)效性要求很高的現(xiàn)場(chǎng)應(yīng)用的需求。目前使用adb pull指令下載文件的方式存在以下幾點(diǎn)不足:
1.adb pull—次只能下載一個(gè)文件或者文件夾,不能夠一次下載多個(gè)不同位置的文件;
a)如果對(duì)于每個(gè)文件執(zhí)行一次adbpull操作則下載時(shí)間很長(zhǎng);
b)如果選擇下載文件夾則會(huì)下載很多不必要的文件,增加了下載時(shí)間;
2.adb pul I只能下載sdcard上的文件,對(duì)于其他分區(qū)文件需要修改文件權(quán)限才能下載;
a)如果每個(gè)文件下載前先修改權(quán)限,那么操作時(shí)間將會(huì)顯著變長(zhǎng);
b)如果批量修改所有文件權(quán)限,則文件權(quán)限可能中途又被系統(tǒng)修改導(dǎo)致無法下載;
c)批量修改所有文件也將額外耗費(fèi)比較長(zhǎng)的時(shí)間;
3.需要下載的文件的名稱是變化的,而adbpull只能下載固定名稱的文件;
4.安卓系統(tǒng)上的文件名規(guī)則和Windows系統(tǒng)的規(guī)則不一致,特定文件名的文件在Windows系統(tǒng)上無法創(chuàng)建,導(dǎo)致下載失敗。

【發(fā)明內(nèi)容】

[0003]為此,本發(fā)明提出一種基于模式匹配快速批量下載安卓文件的方法及系統(tǒng),通過在手機(jī)上運(yùn)行下載服務(wù)端結(jié)合配置文件指定需要下載的文件的方式實(shí)現(xiàn)了批量下載Android系統(tǒng)文件,具體方案如下:
基于模式匹配快速批量下載安卓文件的方法,包括以下步驟:
51、客戶端通過調(diào)用安卓調(diào)試橋ADB將下載服務(wù)器組件以及配置文件組件發(fā)送至服務(wù)端;
52、客戶端通過調(diào)用安卓調(diào)試橋ADB啟動(dòng)下載客戶端組件并與下載服務(wù)器組件通信連接; 53、下載服務(wù)器組件運(yùn)行后監(jiān)聽本地端口,根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng),獲取需要下載的文件;
54、下載服務(wù)器組件等待客戶端的連接,待客戶端連接后將掃描到的文件發(fā)送給下載客戶端組件;
55、下載客戶端組件接收服務(wù)器發(fā)送過來的文件并將文件保存到本地文件系統(tǒng)。
[0004]其中,步驟SI和S3所述的配置文件組件包括文件匹配規(guī)則和配置文件。
[0005]其中,所述的配置文件包括一個(gè)或多個(gè)分組,每個(gè)分組包括一條或多條匹配條目。
[0006]其中,所述的文件匹配規(guī)則如下:
1)每一條匹配條目由多個(gè)匹配項(xiàng)組成,匹配項(xiàng)之間用作為分割符號(hào),
2)每個(gè)匹配項(xiàng)匹配一個(gè)文件名或者目錄名,
3)匹配條目的多個(gè)匹配項(xiàng)連續(xù)匹配文件的完整路徑,
4)對(duì)于固定文件名,匹配項(xiàng)跟文件名一致,對(duì)于可變文件名,匹配項(xiàng)為以”開頭并以”$”結(jié)束的正則表達(dá)式。
[0007]其中,所述的分組用于組織同一功能需求下載的文件,所述匹配條目用于匹配需要下載的文件。
[0008]其中,步驟S3中根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng)的具體步驟是:
531、使用分隔符把配置條目分割成多個(gè)匹配項(xiàng),我們稱為匹配數(shù)組;
532、從匹配數(shù)組中取出一個(gè)匹配項(xiàng);
533、如果匹配項(xiàng)以.'開頭以$結(jié)尾,那么遍歷當(dāng)前目錄,使用模式匹配匹配文件/文件夾,如果沒有匹配任意文件,則匹配過程結(jié)束,否則跳到步驟S35;
534、否則直接判斷當(dāng)前目錄下是否存在該名字的文件;如果找不到匹配的文件/文件夾,那么匹配過程結(jié)束;
535、如果當(dāng)前的匹配項(xiàng)是最后一個(gè)匹配項(xiàng),則該文件或者文件夾是要下載的文件/文件夾,將其加入下載列表;
536、如果匹配的不是目錄項(xiàng),匹配失敗;否則進(jìn)入匹配的目錄,然后回到步驟S32。
[0009]基于模式匹配快速批量下載安卓文件的系統(tǒng),包括:
第一調(diào)用單元,用于客戶端通過調(diào)用安卓調(diào)試橋ADB將下載服務(wù)器組件以及配置文件組件發(fā)送至服務(wù)端;
第二調(diào)用單元,用于客戶端通過調(diào)用安卓調(diào)試橋ADB啟動(dòng)下載客戶端組件并與下載服務(wù)器組件通信連接;
文件查找獲取單元,用于下載服務(wù)器組件運(yùn)行后監(jiān)聽本地端口,根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng),獲取需要下載的文件;
發(fā)送單元,用于下載服務(wù)器組件等待客戶端的連接,待客戶端連接后將掃描到的文件發(fā)送給下載客戶端組件;
接收保存單元,用于下載客戶端組件接收服務(wù)器發(fā)送過來的文件并將文件保存到本地文件系統(tǒng)。
[0010]與現(xiàn)有技術(shù)相比,本發(fā)明具有批量下載,能夠根據(jù)模式匹配文件,下載速度快,不受文件權(quán)限影響并且能夠主動(dòng)修改名稱的特點(diǎn),解決了目前使用adb pull指令下載方式的諸多缺點(diǎn),可以實(shí)現(xiàn)快速批量的從安卓系統(tǒng)上下載文件,下載過程穩(wěn)定,多次下載文件一致。采用此技術(shù)后可以縮短下載必須時(shí)間,大幅提高相關(guān)司法取證工作人員的工作效率,節(jié)省寶貴時(shí)間開支,強(qiáng)悍有力得支持司法工作的迅速有效展開。
【附圖說明】
[0011]圖1為本發(fā)明一實(shí)施例的原理框圖;
圖2為本發(fā)明一實(shí)施例下載服務(wù)器組件的主要流程圖;
圖3為本發(fā)明一實(shí)施例下載客戶端組件的主要流程圖。
【具體實(shí)施方式】
[0012]為進(jìn)一步說明各實(shí)施例,本發(fā)明提供有附圖。這些附圖為本發(fā)明揭露內(nèi)容的一部分,其主要用以說明實(shí)施例,并可配合說明書的相關(guān)描述來解釋實(shí)施例的運(yùn)作原理。配合參考這些內(nèi)容,本領(lǐng)域普通技術(shù)人員應(yīng)能理解其他可能的實(shí)施方式以及本發(fā)明的優(yōu)點(diǎn)。現(xiàn)結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)一步說明。
[0013]結(jié)合圖1,示出了本發(fā)明一實(shí)施例原理框圖,本實(shí)施例方法的總體工作過程如下:
1)采集設(shè)備通過adbpush的方式將下載服務(wù)器組件和配置文件組件推送到Android系統(tǒng)上;
2)采集設(shè)備通過adbforward的方式實(shí)現(xiàn)客戶端和服務(wù)端的tcp通信代理;
3)采集設(shè)備通過adbshell以su的方式啟動(dòng)下載服務(wù)器組件;
4)采集設(shè)備啟動(dòng)下載客戶端組件,客戶端啟動(dòng)后通過tcp/ip連接服務(wù)器組件;
5)下載服務(wù)器組件運(yùn)行后監(jiān)聽本地端口,然后根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng),獲取需要下載的文件;
6)下載服務(wù)器組件等待客戶端的連接,待客戶端連接后將掃描到的文件發(fā)送給下載客戶端組件;
7)下載客戶端組件接收服務(wù)器發(fā)送過來的文件并將文件保存到本地文件系統(tǒng);
本實(shí)施例中的采集設(shè)備所對(duì)應(yīng)的客戶端可以是臺(tái)式電腦、筆記本電腦或其他終端,月艮務(wù)器端所對(duì)應(yīng)的為基于安卓系統(tǒng)的移動(dòng)終端,可以是手機(jī)、平板電腦等。
[0014]本實(shí)施例中的下載配置組件包括包括文件匹配規(guī)則和配置文件兩部分,其中,文件匹配規(guī)則定義如下:
1)每一條匹配條目由多個(gè)匹配項(xiàng)組成,匹配項(xiàng)之間用作為分割符號(hào),
2)每個(gè)匹配項(xiàng)匹配一個(gè)文件名或者目錄名,
3)匹配條目的多個(gè)匹配項(xiàng)連續(xù)匹配文件的完整路徑,
4)對(duì)于固定文件名,匹配項(xiàng)跟文件名一致,對(duì)于可變文件名,匹配項(xiàng)為以”開頭并以”結(jié)束的正則表達(dá)式;
舉例如下:比如要下載/data/misc/wifi/wpa.conf這個(gè)文件,因?yàn)槲募且阎?,因此下載規(guī)則就等于/data/misc/wifi/wp a.conf;如果要下載類似于/data/data/com.tencent.mobiIeqq/databases/123456.db的非固定名稱的文件(其中 123456是QQ號(hào)碼,該部分是可變的),則可變部分使用正則表達(dá)式”~[0_9]{5,}\.(114”實(shí)現(xiàn)模式匹配,因此匹配條目為/data/data/com.tencent.mob i I eqq/databases/' [0-9] {5, }\.db$D
[0015]配置文件組織規(guī)則如下:配置文件由多個(gè)分組組成,每個(gè)分組包括多條匹配條目。分組定義邏輯功能,用于組織一個(gè)功能需求需要下載的文件,比如分組可以是QQ、微信、郵件、通信錄等;匹配條目用于匹配需要下載的文件。通過這樣的組織方式,采集設(shè)備在在采集特定數(shù)據(jù)時(shí)就可以只下載特定的文件,比如采集通信錄信息就可以只下載通信錄相關(guān)的文件。
[0016]結(jié)合圖2,下載服務(wù)器組件的主要流程:以SU的方式啟動(dòng)下載服務(wù)器組件,下載服務(wù)器組件啟動(dòng)后首先啟動(dòng)本地端口監(jiān)聽,以便客戶端可以隨時(shí)連接進(jìn)來,然后解析配置文件,根據(jù)配置文件信息查找需要下載的文件,查找完文件后等待客戶端連接后將找到的文件推送給下載客戶端,發(fā)送完所有文件后向客戶端發(fā)送結(jié)束標(biāo)識(shí)后退出。
[0017]本實(shí)施例中文件查找具體過程如下:
1)使用分隔符把配置條目分割成多個(gè)匹配項(xiàng),我們稱為匹配數(shù)組;
2)從匹配數(shù)組中取出一個(gè)匹配項(xiàng);
3)如果匹配項(xiàng)以.'開頭以$結(jié)尾,那么遍歷當(dāng)前目錄,使用模式匹配匹配文件/文件夾,如果沒有匹配任意文件,則匹配過程結(jié)束,否則跳到步驟5);
4)否則直接判斷當(dāng)前目錄下是否存在該名字的文件;如果找不到匹配的文件/文件夾,那么匹配過程結(jié)束;
5)如果當(dāng)前的匹配項(xiàng)是最后一個(gè)匹配項(xiàng),則該文件或者文件夾是要下載的文件/文件夾,將其加入下載列表;
6)如果匹配的不是目錄項(xiàng),匹配失敗;否則進(jìn)入匹配的目錄,然后回到步驟2)。
[0018]結(jié)合圖3,示出了下載客戶端組件主要工作流程:
1)接收下載服務(wù)器發(fā)送過來的數(shù)據(jù)流;
2)判斷是否結(jié)束標(biāo)志,如果是則完成接收;
3)接收文件元數(shù)據(jù)信息創(chuàng)建文件;
4)接收文件內(nèi)容并寫入文件;
5)回到步驟一;
在本實(shí)施例中:
A.因?yàn)橄螺d服務(wù)器是以su方式啟動(dòng)的,也就擁有root權(quán)限,因此可以直接讀取/data分區(qū)的文件。該方式解決了使用adb pull無法直接下載/data分區(qū)文件的缺陷;同時(shí)因?yàn)槭莚oot用戶,不需要改變文件權(quán)限,節(jié)省了改變文件權(quán)限的時(shí)間開銷;并且不會(huì)由于系統(tǒng)中途又改變文件權(quán)限導(dǎo)致無法下載的問題;
B.因?yàn)橄螺d服務(wù)器查找完所有的文件后一次性將所有的文件發(fā)送給下載客戶端,避免了adb pull無法一次下載多個(gè)不同位置文件的缺陷,提高的下載的性能;
C.因?yàn)槭褂玫氖悄J狡ヅ涞姆绞剑诓恢来_切文件名的情況下,只需根據(jù)文件名特征編寫對(duì)應(yīng)的正則表達(dá)式就能夠找到需要下載的文件,而adb pull的方式在不知道切確文件名則無法下載文件。
[0019]基于上述的基于模式匹配快速批量下載安卓文件的方法,本發(fā)明還提出基于模式匹配快速批量下載安卓文件的系統(tǒng),包括:
第一調(diào)用單元,用于客戶端通過調(diào)用安卓調(diào)試橋ADB將下載服務(wù)器組件以及配置文件組件發(fā)送至服務(wù)端; 第二調(diào)用單元,用于客戶終端通過調(diào)用安卓調(diào)試橋ADB啟動(dòng)下載客戶端組件并與下載服務(wù)器組件通信連接;
文件查找獲取單元,用于下載服務(wù)器組件運(yùn)行后監(jiān)聽本地端口,根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng),獲取需要下載的文件;
發(fā)送單元,用于下載服務(wù)器組件等待客戶端的連接,待客戶端連接后將掃描到的文件發(fā)送給下載客戶端組件;
接收保存單元,用于下載客戶端組件接收服務(wù)器發(fā)送過來的文件并將文件保存到本地文件系統(tǒng)。
[0020]盡管結(jié)合優(yōu)選實(shí)施方案具體展示和介紹了本發(fā)明,但所屬領(lǐng)域的技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求書所限定的本發(fā)明的精神和范圍內(nèi),在形式上和細(xì)節(jié)上可以對(duì)本發(fā)明做出各種變化,均為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.基于模式匹配快速批量下載安卓文件的方法,其特征在于:包括以下步驟: 51、客戶端通過調(diào)用安卓調(diào)試橋ADB將下載服務(wù)器組件以及配置文件組件發(fā)送至服務(wù)端; 52、客戶端通過調(diào)用安卓調(diào)試橋ADB啟動(dòng)下載客戶端組件并與下載服務(wù)器組件通信連接; 53、下載服務(wù)器組件運(yùn)行后監(jiān)聽本地端口,根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng),獲取需要下載的文件; 54、下載服務(wù)器組件等待客戶端的連接,待客戶端連接后將掃描到的文件發(fā)送給下載客戶端組件; 55、下載客戶端組件接收服務(wù)器發(fā)送過來的文件并將文件保存到本地文件 系統(tǒng)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于:步驟SI和S3所述的配置文件組件包括文件匹配規(guī)則和配置文件。3.根據(jù)權(quán)利要求2所述的方法,其特征在于:所述的配置文件包括一個(gè)或多個(gè)分組,每個(gè)分組包括一條或多條匹配條目。4.根據(jù)權(quán)利要求2所述的方法,其特征在于:所述的文件匹配規(guī)則如下: 每一條匹配條目由多個(gè)匹配項(xiàng)組成,匹配項(xiàng)之間用作為分割符號(hào), 每個(gè)匹配項(xiàng)匹配一個(gè)文件名或者目錄名, 匹配條目的多個(gè)匹配項(xiàng)連續(xù)匹配文件的完整路徑, 對(duì)于固定文件名,匹配項(xiàng)跟文件名一致,對(duì)于可變文件名,匹配項(xiàng)為以” 開頭并以” $”結(jié)束的正則表達(dá)式。5.根據(jù)權(quán)利要求3所述的方法,其特征在于:所述的分組用于組織同一功能需求下載的文件,所述匹配條目用于匹配需要下載的文件。6.根據(jù)權(quán)利要求4所述的方法,其特征在于:步驟S3中根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng)的具體步驟是: 531、使用分隔符把配置條目分割成多個(gè)匹配項(xiàng),我們稱為匹配數(shù)組; 532、從匹配數(shù)組中取出一個(gè)匹配項(xiàng); 533、如果匹配項(xiàng)以.'開頭以$結(jié)尾,那么遍歷當(dāng)前目錄,使用模式匹配匹配文件/文件夾,如果沒有匹配任意文件,則匹配過程結(jié)束,否則跳到步驟S35; 534、否則直接判斷當(dāng)前目錄下是否存在該名字的文件;如果找不到匹配的文件/文件夾,那么匹配過程結(jié)束; 535、如果當(dāng)前的匹配項(xiàng)是最后一個(gè)匹配項(xiàng),則該文件或者文件夾是要下載的文件/文件夾,將其加入下載列表; 536、如果匹配的不是目錄項(xiàng),匹配失敗;否則進(jìn)入匹配的目錄,然后回到步驟S32。7.基于模式匹配快速批量下載安卓文件的系統(tǒng),其特征在于:包括: 第一調(diào)用單元,用于客戶端通過調(diào)用安卓調(diào)試橋ADB將下載服務(wù)器組件以及配置文件組件發(fā)送至服務(wù)端; 第二調(diào)用單元,用于客戶端通過調(diào)用安卓調(diào)試橋ADB啟動(dòng)下載客戶端組件并與下載服務(wù)器組件通信連接; 文件查找獲取單元,用于下載服務(wù)器組件運(yùn)行后監(jiān)聽本地端口,根據(jù)配置文件組件的內(nèi)容掃描文件系統(tǒng),獲取需要下載的文件; 發(fā)送單元,用于下載服務(wù)器組件等待客戶端的連接,待客戶端連接后將掃描到的文件發(fā)送給下載客戶端組件; 接收保存單元,用于下載客戶端組件接收服務(wù)器發(fā)送過來的文件并將文件保存到本地文件系統(tǒng)。
【文檔編號(hào)】G06F9/445GK105930196SQ201610351848
【公開日】2016年9月7日
【申請(qǐng)日】2016年5月25日
【發(fā)明人】李俊龍, 邱宗熾, 鄭巧亮, 孫奕, 林藝濱, 申強(qiáng)
【申請(qǐng)人】廈門市美亞柏科信息股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1