數(shù)據(jù)處理的方法及裝置制造方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種數(shù)據(jù)處理的方法及裝置,涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,能夠解決APK本地安裝成功率低的問(wèn)題。所述方法包括:根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包;當(dāng)所述核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè);當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析;當(dāng)所述有效性檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。本發(fā)明主要應(yīng)用于應(yīng)用下載與使用的過(guò)程中。
【專(zhuān)利說(shuō)明】數(shù)據(jù)處理的方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)處理的方法及裝置。
【背景技術(shù)】
[0002]目前,在運(yùn)行有安卓系統(tǒng)的終端中安裝應(yīng)用時(shí),需要終端中運(yùn)行安卓安裝包(Android Package,簡(jiǎn)稱(chēng)APK)。用戶(hù)可通過(guò)現(xiàn)有網(wǎng)站提供的大量APK下載鏈接下載APK。然而,在APK的下載過(guò)程中,會(huì)因原始數(shù)據(jù)錯(cuò)誤或者網(wǎng)絡(luò)傳輸?shù)仍驅(qū)е翧PK不是用戶(hù)請(qǐng)求的APK,使得用戶(hù)下載的APK無(wú)法在本地正常安裝。
[0003]通常,運(yùn)營(yíng)商出于商業(yè)利益的考慮會(huì)在APK中強(qiáng)制添加下載鏈接,這種行為被稱(chēng)為下載挾持。下載挾持往往會(huì)導(dǎo)致下載的文件流出現(xiàn)錯(cuò)誤,即原始數(shù)據(jù)錯(cuò)誤。例如下載的APK為下載軟件APK而不是用戶(hù)請(qǐng)求的游戲APK。目前通過(guò)消息摘要算法第五版(MessageDigest Algorithm5,簡(jiǎn)稱(chēng)MD5)檢驗(yàn)用戶(hù)下載的APK是否為用戶(hù)請(qǐng)求的APK。同時(shí),為了方便網(wǎng)絡(luò)傳輸,APK在傳輸過(guò)程中會(huì)根據(jù)額定的數(shù)據(jù)大小被拆分成多個(gè)子數(shù)據(jù)包以便進(jìn)行傳輸,隨之產(chǎn)生的問(wèn)題是多個(gè)子數(shù)據(jù)包中的某些可能會(huì)在傳輸?shù)倪^(guò)程中丟失,此時(shí)終端接收到的APK將是不完整的。由于APK屬于Zip壓縮格式,因此目前通過(guò)循環(huán)冗余校驗(yàn)碼(CyclicRedundancy Check,簡(jiǎn)稱(chēng)CRC)檢驗(yàn)用戶(hù)下載的APK是否有部分丟失。
[0004]此外,即使用戶(hù)下載的APK沒(méi)有部分丟失同時(shí)也是用戶(hù)請(qǐng)求的APK,但還是會(huì)出現(xiàn)因系統(tǒng)無(wú)法對(duì)APK進(jìn)行解析,導(dǎo)致APK安裝失敗的情況,使得APK本地安裝成功率低。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供的一種數(shù)據(jù)處理的方法及裝置,能夠解決APK本地安裝成功率低的問(wèn)題。
[0006]一方面,本發(fā)明提供了一種數(shù)據(jù)處理的方法,所述方法包括:
[0007]根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包;
[0008]當(dāng)所述核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè);
[0009]當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析;
[0010]當(dāng)所述有效性檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
[0011]另一方面,本發(fā)明還提供了一種數(shù)據(jù)處理的裝置,所述裝置包括:
[0012]核對(duì)單元,用于根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)存儲(chǔ)單元中已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包;
[0013]差錯(cuò)檢測(cè)單元,用于當(dāng)所述核對(duì)單元核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè);
[0014]有效性檢測(cè)單元,用于當(dāng)所述差錯(cuò)檢測(cè)單元檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析;
[0015]安裝單元,用于當(dāng)所述有效性檢測(cè)單元檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
[0016]本發(fā)明提供的數(shù)據(jù)處理的方法及裝置,能夠?qū)τ脩?hù)下載的目標(biāo)數(shù)據(jù)包根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包;當(dāng)所述核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè);當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析;當(dāng)所述有效性檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)能夠保證下載的目標(biāo)數(shù)據(jù)包為請(qǐng)求的數(shù)據(jù)包,即目標(biāo)數(shù)據(jù)包的唯一性;根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè),能夠檢測(cè)目標(biāo)數(shù)據(jù)包的完整性;調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)能夠保證目標(biāo)數(shù)據(jù)包的有效性?,F(xiàn)有技術(shù)中只單獨(dú)檢測(cè)目標(biāo)數(shù)據(jù)包的完整性或唯一性。本發(fā)明通過(guò)唯一性檢測(cè)、完整性檢測(cè)以及有效性檢測(cè)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行檢測(cè),能夠提高檢測(cè)效率,相比現(xiàn)有技術(shù)更大比率的拍出無(wú)法安裝的目標(biāo)數(shù)據(jù)包。當(dāng)目標(biāo)數(shù)據(jù)包通過(guò)上述三個(gè)檢測(cè)時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝,進(jìn)而提高安裝的成功率。同時(shí)避免無(wú)謂的安裝操作,節(jié)省系統(tǒng)資源。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0017]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本發(fā)明實(shí)施例中第一個(gè)數(shù)據(jù)處理的方法的流程圖;
[0019]圖2為本發(fā)明實(shí)施例中第二個(gè)數(shù)據(jù)處理的方法的流程圖;
[0020]圖3為本發(fā)明實(shí)施例中第三個(gè)數(shù)據(jù)處理的方法的流程圖;
[0021]圖4為本發(fā)明實(shí)施例中第四個(gè)數(shù)據(jù)處理的方法的流程圖;
[0022]圖5為本發(fā)明實(shí)施例中第五個(gè)數(shù)據(jù)處理的方法的流程圖;
[0023]圖6為本發(fā)明實(shí)施例中的一個(gè)數(shù)據(jù)處理的裝置的結(jié)構(gòu)示意圖;
[0024]圖7為本發(fā)明實(shí)施例中的另一個(gè)數(shù)據(jù)處理的裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0025]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0026]本發(fā)明實(shí)施例提供了本發(fā)明提供了一種數(shù)據(jù)處理的方法,所述方法應(yīng)用于智能手機(jī)、平板電腦等終端中,如圖1所示,所述方法包括:
[0027]步驟101、根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包。
[0028]對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)能夠確定接收到的目標(biāo)數(shù)據(jù)包是否為用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包。如果目標(biāo)數(shù)據(jù)包通過(guò)核對(duì),即核對(duì)成功,則接收到的目標(biāo)數(shù)據(jù)包為用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包。否則,核對(duì)失敗,接收到的目標(biāo)數(shù)據(jù)包不是用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包。
[0029]在核對(duì)時(shí),根據(jù)散列函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行編碼,得到一個(gè)字符串。網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)相同的散列函數(shù)對(duì)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包進(jìn)行編碼,得到另一字符串。由于散列函數(shù)對(duì)數(shù)據(jù)進(jìn)行編碼具有唯一性,因此當(dāng)終端編碼得到的字符串與網(wǎng)絡(luò)側(cè)服務(wù)器編碼得到的字符串相同時(shí),終端接收到的目標(biāo)數(shù)據(jù)包為用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包。
[0030]編碼得到的字符串,即散列,是信息的提煉,通常其長(zhǎng)度要比被編碼的數(shù)據(jù)包小得多,且為一個(gè)固定長(zhǎng)度。加密性強(qiáng)的散列一定是不可逆的,通過(guò)散列結(jié)果,無(wú)法推出被編碼的數(shù)據(jù)包的任何原始信息??蛇x的單向散列函數(shù)包括:MD5、安全散列算法(Secure HashAlgorithm,簡(jiǎn)稱(chēng) SHA)等。
[0031]步驟102、當(dāng)核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0032]預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)與生成目標(biāo)數(shù)據(jù)包時(shí)采用的壓縮方式一致。優(yōu)選的,根據(jù)CRC對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。再根據(jù)CRC進(jìn)行差錯(cuò)檢測(cè)時(shí),根據(jù)終端使用系統(tǒng)的位數(shù)選擇不同的CRC算法。例如:系統(tǒng)為32位系統(tǒng),則選擇CRC32算法;如果系統(tǒng)為64位系統(tǒng),則選擇CRC64算法。
[0033]可選的,根據(jù)奇偶校驗(yàn)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0034]步驟103、當(dāng)差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),有效性檢測(cè)用于檢測(cè)目標(biāo)數(shù)據(jù)包是否能夠被解析。
[0035]如果終端采用的系統(tǒng)為安卓系統(tǒng),則調(diào)用包管理Package Manager類(lèi)中的預(yù)設(shè)函數(shù)。該函數(shù)根據(jù)某參數(shù)檢測(cè)目標(biāo)數(shù)據(jù)包是否能夠被系統(tǒng)解析。該預(yù)設(shè)函數(shù)為PackageManager類(lèi)中的報(bào)信息獲取函數(shù)getPackagelnfo。
[0036]步驟104、當(dāng)有效性檢測(cè)成功時(shí),對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
[0037]當(dāng)目標(biāo)數(shù)據(jù)包為APK時(shí),若目標(biāo)數(shù)據(jù)包通過(guò)步驟101至步驟103的檢測(cè),則可對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
[0038]本發(fā)明提供的數(shù)據(jù)處理的方法,能夠?qū)τ脩?hù)下載的目標(biāo)數(shù)據(jù)包根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包;當(dāng)所述核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè);當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析;當(dāng)所述有效性檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)能夠保證下載的目標(biāo)數(shù)據(jù)包為請(qǐng)求的數(shù)據(jù)包,即目標(biāo)數(shù)據(jù)包的唯一性;根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè),能夠檢測(cè)目標(biāo)數(shù)據(jù)包的完整性;調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)能夠保證目標(biāo)數(shù)據(jù)包的有效性?,F(xiàn)有技術(shù)中只單獨(dú)檢測(cè)目標(biāo)數(shù)據(jù)包的完整性或唯一性。本發(fā)明通過(guò)唯一性檢測(cè)、完整性檢測(cè)以及有效性檢測(cè)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行檢測(cè),能夠提高檢測(cè)效率,相比現(xiàn)有技術(shù)更大比率的拍出無(wú)法安裝的目標(biāo)數(shù)據(jù)包。當(dāng)目標(biāo)數(shù)據(jù)包通過(guò)上述三個(gè)檢測(cè)時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝,進(jìn)而提高安裝的成功率。同時(shí)避免無(wú)謂的安裝操作,節(jié)省系統(tǒng)資源。
[0039]本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理的方法,作為對(duì)圖1所示方法的進(jìn)一步說(shuō)明,在步驟101、根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包的步驟之前,如圖2所示,所述方法還包括:
[0040]步驟201、接收用戶(hù)觸發(fā)的選擇指令,選擇指令用于選擇待下載的目標(biāo)數(shù)據(jù)包。
[0041]用戶(hù)在終端顯示的下載頁(yè)面中的目標(biāo)數(shù)據(jù)包的點(diǎn)擊下載地址連接,觸發(fā)選擇指令。
[0042]步驟202、向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送選擇指令對(duì)應(yīng)的獲取請(qǐng)求,獲取請(qǐng)求用于獲取是目標(biāo)數(shù)據(jù)包。
[0043]當(dāng)接收到用戶(hù)的選擇指令時(shí),向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送獲取請(qǐng)求,獲取請(qǐng)求用于獲取選擇指令指向的目標(biāo)數(shù)據(jù)。例如:用戶(hù)點(diǎn)擊下載軟件的下載鏈接,觸發(fā)選擇指令。向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送獲取請(qǐng)求,該獲取請(qǐng)求用于向服務(wù)器請(qǐng)求該下載鏈接對(duì)應(yīng)的數(shù)據(jù)包。
[0044]步驟203、接收網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送的目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串,驗(yàn)證字符串為根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行編碼得到的字符串。
[0045]網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)獲取請(qǐng)求所請(qǐng)求的目標(biāo)數(shù)據(jù)包進(jìn)行編碼,得到驗(yàn)證字符串。并將驗(yàn)證字符串和目標(biāo)數(shù)據(jù)包一同發(fā)送給終端。
[0046]步驟204、對(duì)目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串進(jìn)行保存。
[0047]終端在接收到目標(biāo)數(shù)據(jù)包和驗(yàn)證字符串之后,將目標(biāo)數(shù)據(jù)包和驗(yàn)證字符串進(jìn)行保存。
[0048]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法,能夠根據(jù)用戶(hù)的請(qǐng)求向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)起獲取請(qǐng)求,接收并保存網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送到目標(biāo)數(shù)據(jù)包和驗(yàn)證字符串,以便為后續(xù)檢測(cè)目標(biāo)數(shù)據(jù)包是否完整、有效提供操作對(duì)象。
[0049]本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理的方法,作為對(duì)圖1所示方法的具體說(shuō)明,如圖3所示,步驟101、根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)的步驟,可通過(guò)下述方式進(jìn)行實(shí)施:
[0050]步驟301、根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行編碼,得到目標(biāo)字符串O
[0051]預(yù)設(shè)加密散列函數(shù)包括MD5、MD4、MD3、sha_l等。
[0052]以MD5為例,MD5的典型應(yīng)用是對(duì)一段信息(Message)產(chǎn)生信息摘要(Message-Digest),以防止被篡改。在本發(fā)明實(shí)施例中,信息為目標(biāo)數(shù)據(jù)包,產(chǎn)生信息摘要為目標(biāo)字符串。MD5將整個(gè)目標(biāo)數(shù)據(jù)包當(dāng)作一個(gè)大文本信息,通過(guò)不可逆的字符串變換算法,產(chǎn)生唯一的MD5信息摘要,即目標(biāo)字符串。
[0053]步驟302、核對(duì)目標(biāo)字符串與驗(yàn)證字符串是否相等。
[0054]由于網(wǎng)絡(luò)側(cè)根據(jù)相同的MD5算法對(duì)請(qǐng)求的數(shù)據(jù)包進(jìn)行編碼,得到驗(yàn)證字符串,因此如果目標(biāo)字符串與驗(yàn)證字符串相等,則下載的目標(biāo)數(shù)據(jù)包與請(qǐng)求的數(shù)據(jù)包一致。
[0055]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法,能夠?qū)δ繕?biāo)數(shù)據(jù)包進(jìn)行編碼得到目標(biāo)字符串,當(dāng)目標(biāo)字符串與驗(yàn)證字符串一致時(shí),目標(biāo)數(shù)據(jù)包與請(qǐng)求的數(shù)據(jù)包一致。
[0056]本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理的方法,作為對(duì)圖1所示方法的具體說(shuō)明,如圖4所示,步驟102、根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)的步驟,可通過(guò)下述方式進(jìn)行實(shí)施:
[0057]步驟401、對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行分割,得到至少兩個(gè)目標(biāo)子數(shù)據(jù)包。
[0058]根據(jù)固定數(shù)據(jù)大小對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行分割,分割得到的每個(gè)目標(biāo)子數(shù)據(jù)包與目標(biāo)數(shù)據(jù)包的格式相同。例如:目標(biāo)數(shù)據(jù)包為APK,分割后的目標(biāo)子數(shù)據(jù)包每個(gè)的格式與APK相同,為Zip格式。子目標(biāo)數(shù)據(jù)包的大小根據(jù)內(nèi)存容量以及終端的運(yùn)行能力決定,例如:將IMB的APK,按照每份10KB進(jìn)行分割,得到十個(gè)每個(gè)100KB的目標(biāo)子數(shù)據(jù)包。此時(shí)內(nèi)存分別對(duì)這十個(gè)目標(biāo)子數(shù)據(jù)包并行的進(jìn)行差錯(cuò)檢測(cè),與對(duì)APK進(jìn)行差錯(cuò)檢測(cè)相比,能夠降低差錯(cuò)檢測(cè)的時(shí)間。
[0059]步驟402、根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)每個(gè)目標(biāo)子數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0060]根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)每個(gè)目標(biāo)子數(shù)據(jù)包進(jìn)行并行差錯(cuò)檢測(cè),或者串行差錯(cuò)檢測(cè)。
[0061 ] 由于每個(gè)目標(biāo)子數(shù)據(jù)包的格式與目標(biāo)數(shù)據(jù)包的格式相同,因此預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)既用于對(duì)目標(biāo)數(shù)據(jù)包的差錯(cuò)檢測(cè),又用于對(duì)目標(biāo)子數(shù)據(jù)包的差錯(cuò)檢測(cè)。
[0062]此時(shí),步驟103、當(dāng)差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)的步驟,可通過(guò)下述方式進(jìn)行實(shí)施:
[0063]步驟403、當(dāng)每個(gè)目標(biāo)子數(shù)據(jù)的差錯(cuò)檢測(cè)均成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)。
[0064]當(dāng)所有目標(biāo)子數(shù)據(jù)包的差錯(cuò)檢測(cè)全部成功時(shí),可確定目標(biāo)數(shù)據(jù)包的差錯(cuò)檢測(cè)成功。此時(shí)調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)。
[0065]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法,能夠?qū)⒛繕?biāo)數(shù)據(jù)包拆分成多個(gè)目標(biāo)子數(shù)據(jù)包,使得每個(gè)目標(biāo)子數(shù)據(jù)包的數(shù)據(jù)大小遠(yuǎn)小于目標(biāo)數(shù)據(jù)包,進(jìn)而降低差錯(cuò)檢測(cè)的復(fù)雜度和系統(tǒng)消耗,提高差錯(cuò)檢測(cè)的效率。
[0066]本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理的方法,作為對(duì)圖1所示方法的進(jìn)一步說(shuō)明,如圖5所示,所述方法還包括:
[0067]步驟501、當(dāng)核對(duì)失敗時(shí),顯示差錯(cuò)報(bào)告根。
[0068]當(dāng)核對(duì)成功時(shí),執(zhí)行步驟102。當(dāng)核對(duì)失敗時(shí),執(zhí)行步驟501。
[0069]步驟502、當(dāng)差錯(cuò)檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根。
[0070]當(dāng)差錯(cuò)檢測(cè)成功時(shí),執(zhí)行步驟103。當(dāng)差錯(cuò)檢測(cè)失敗時(shí),執(zhí)行步驟502。
[0071]步驟503、當(dāng)有效性檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根,差錯(cuò)報(bào)告用于提示用戶(hù)數(shù)據(jù)包無(wú)法運(yùn)行。
[0072]當(dāng)差錯(cuò)檢測(cè)成功時(shí),執(zhí)行步驟104。當(dāng)差錯(cuò)檢測(cè)失敗時(shí),執(zhí)行步驟503。
[0073]差錯(cuò)報(bào)告的內(nèi)容為下述任意一種:音頻、圖片、文字。例如:差錯(cuò)報(bào)告通過(guò)彈出窗口顯示文字APK無(wú)法安裝,請(qǐng)重新下載。
[0074]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的方法,能夠在核對(duì)失敗時(shí)、差錯(cuò)檢測(cè)失敗時(shí)、有效性檢測(cè)失敗時(shí)顯示差錯(cuò)報(bào)告,提示用戶(hù)目標(biāo)數(shù)據(jù)包的安裝情況,同時(shí)取消執(zhí)行原始數(shù)據(jù)包的安裝操作,進(jìn)而節(jié)省系統(tǒng)資源。
[0075]進(jìn)一步的,所述根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)的步驟,包括:根據(jù)消息摘要算法第五版Message Digest Algorithm5對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)。
[0076]所述根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)的步驟包括:根據(jù)循環(huán)冗余校驗(yàn)Cyclic Redundancy對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0077]所述調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)的步驟,包括:調(diào)用安卓系統(tǒng)包管理Package Manager類(lèi)中的預(yù)設(shè)函數(shù)對(duì)所述目標(biāo)APK包進(jìn)行有效性檢測(cè)。
[0078]所述目標(biāo)數(shù)據(jù)包為安卓安裝包Android Package。
[0079]作為一種優(yōu)選方式,當(dāng)目標(biāo)數(shù)據(jù)包為APK時(shí),本發(fā)明實(shí)施例中使用的預(yù)設(shè)加密散列函數(shù)為MD5,預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)采用CRC,調(diào)用的驗(yàn)證函數(shù)為安卓系統(tǒng)包管理PackageManager類(lèi)中的預(yù)設(shè)函數(shù)。
[0080]本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)處理的裝置,如圖6所示,所述裝置61包括:
[0081]核對(duì)單元611,用于根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)存儲(chǔ)單元6110中已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包。
[0082]差錯(cuò)檢測(cè)單元612,用于當(dāng)所述核對(duì)單元611核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0083]有效性檢測(cè)單元613,用于當(dāng)所述差錯(cuò)檢測(cè)單元612檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析。
[0084]安裝單元614,用于當(dāng)所述有效性檢測(cè)單元613檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
[0085]本發(fā)明提供的數(shù)據(jù)處理的裝置61,能夠?qū)τ脩?hù)下載的目標(biāo)數(shù)據(jù)包根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包;當(dāng)所述核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè);當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析;當(dāng)所述有效性檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)能夠保證下載的目標(biāo)數(shù)據(jù)包為請(qǐng)求的數(shù)據(jù)包,即目標(biāo)數(shù)據(jù)包的唯一性;根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè),能夠檢測(cè)目標(biāo)數(shù)據(jù)包的完整性;調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)能夠保證目標(biāo)數(shù)據(jù)包的有效性。現(xiàn)有技術(shù)中只單獨(dú)檢測(cè)目標(biāo)數(shù)據(jù)包的完整性或唯一性。本發(fā)明通過(guò)唯一性檢測(cè)、完整性檢測(cè)以及有效性檢測(cè)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行檢測(cè),能夠提高檢測(cè)效率,相比現(xiàn)有技術(shù)更大比率的拍出無(wú)法安裝的目標(biāo)數(shù)據(jù)包。當(dāng)目標(biāo)數(shù)據(jù)包通過(guò)上述三個(gè)檢測(cè)時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝,進(jìn)而提高安裝的成功率。同時(shí)避免無(wú)謂的安裝操作,節(jié)省系統(tǒng)資源。
[0086]進(jìn)一步的,如圖7所示,所述裝置61還包括:接收單元615、發(fā)送單元616、第一報(bào)告單兀617、第二報(bào)告單兀618、第三報(bào)告單兀619。
[0087]所述接收單元615,用于接收用戶(hù)觸發(fā)的選擇指令,所述選擇指令用于選擇待下載的目標(biāo)數(shù)據(jù)包。
[0088]發(fā)送單元616,用于向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送所述接收單元615接收的所述選擇指令對(duì)應(yīng)的獲取請(qǐng)求,所述獲取請(qǐng)求用于獲取是目標(biāo)數(shù)據(jù)包。
[0089]所述接收單元615還用于,接收網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送的目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串,所述驗(yàn)證字符串為根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行編碼得到的字符串。
[0090]所述存儲(chǔ)單元6110還用于對(duì)所述接收單元615接收的目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串進(jìn)行保存。
[0091]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置61,能夠根據(jù)用戶(hù)的請(qǐng)求向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)起獲取請(qǐng)求,接收并保存網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送到目標(biāo)數(shù)據(jù)包和驗(yàn)證字符串,以便為后續(xù)檢測(cè)目標(biāo)數(shù)據(jù)包是否完整、有效提供操作對(duì)象。
[0092]進(jìn)一步的,所述核對(duì)單元611包括:
[0093]編碼子單元6111,用于根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)存儲(chǔ)單元6110已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行編碼,得到目標(biāo)字符串。
[0094]核對(duì)子單元6112,用于核對(duì)所述編碼子單元6111得到的所述目標(biāo)字符串與接收單元615接收到的所述驗(yàn)證字符串是否相等。
[0095]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置61,能夠?qū)δ繕?biāo)數(shù)據(jù)包進(jìn)行編碼得到目標(biāo)字符串,當(dāng)目標(biāo)字符串與驗(yàn)證字符串一致時(shí),目標(biāo)數(shù)據(jù)包與請(qǐng)求的數(shù)據(jù)包一致。
[0096]進(jìn)一步的,所述差錯(cuò)檢測(cè)單元612包括:
[0097]分割子單元6121,用于對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行分割,得到至少兩個(gè)目標(biāo)子數(shù)據(jù)包。
[0098]檢測(cè)子單元6122,用于根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述分各子單元分割出的每個(gè)目標(biāo)子數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0099]所述有效性檢測(cè)單元613還用于當(dāng)檢測(cè)單子單元檢測(cè)出每個(gè)目標(biāo)子數(shù)據(jù)的差錯(cuò)檢測(cè)均成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)。
[0100]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置61,能夠?qū)⒛繕?biāo)數(shù)據(jù)包拆分成多個(gè)目標(biāo)子數(shù)據(jù)包,使得每個(gè)目標(biāo)子數(shù)據(jù)包的數(shù)據(jù)大小遠(yuǎn)小于目標(biāo)數(shù)據(jù)包,進(jìn)而降低差錯(cuò)檢測(cè)的復(fù)雜度和系統(tǒng)消耗,提高差錯(cuò)檢測(cè)的效率。
[0101]進(jìn)一步的,所述裝置61還包括:
[0102]第一報(bào)告單元617,用于當(dāng)所述核對(duì)單元611核對(duì)失敗時(shí),顯示差錯(cuò)報(bào)告根。
[0103]第二報(bào)告單元618,用于當(dāng)所述差錯(cuò)檢測(cè)單元612檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根。
[0104]第三報(bào)告單元619,用于當(dāng)所述有效性檢測(cè)單元613檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根,所述差錯(cuò)報(bào)告用于提示用戶(hù)數(shù)據(jù)包無(wú)法運(yùn)行。
[0105]本發(fā)明實(shí)施例提供的數(shù)據(jù)處理的裝置61,能夠在核對(duì)失敗時(shí)、差錯(cuò)檢測(cè)失敗時(shí)、有效性檢測(cè)失敗時(shí)顯示差錯(cuò)報(bào)告,提示用戶(hù)目標(biāo)數(shù)據(jù)包的安裝情況,同時(shí)取消執(zhí)行原始數(shù)據(jù)包的安裝操作,進(jìn)而節(jié)省系統(tǒng)資源。
[0106]進(jìn)一步的,所述核對(duì)單元611還用于,根據(jù)消息摘要算法第五版Message DigestAlgorithm5對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)。
[0107]所述差錯(cuò)檢測(cè)單元612還用于,根據(jù)循環(huán)冗余校驗(yàn)Cyclic Redundancy對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)。
[0108]所述有效性檢測(cè)單元613還用于,調(diào)用安卓系統(tǒng)包管理Package Manager類(lèi)中的預(yù)設(shè)函數(shù)對(duì)所述目標(biāo)APK包進(jìn)行有效性檢測(cè)。
[0109]所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0110]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種數(shù)據(jù)處理的方法,其特征在于,所述方法包括: 根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包; 當(dāng)所述核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè); 當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析; 當(dāng)所述有效性檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包的步驟之前,所述方法還包括: 接收用戶(hù)觸發(fā)的選擇指令,所述選擇指令用于選擇待下載的目標(biāo)數(shù)據(jù)包; 向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送所述選擇指令對(duì)應(yīng)的獲取請(qǐng)求,所述獲取請(qǐng)求用于獲取是目標(biāo)數(shù)據(jù)包; 接收網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送的目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串,所述驗(yàn)證字符串為根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行編碼得到的字符串; 對(duì)所述目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串進(jìn)行保存。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)的步驟,包括: 根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行編碼,得到目標(biāo)字符串;核對(duì)所述目標(biāo)字符串與所述驗(yàn)證字符串是否相等。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)的步驟包括: 對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行分割,得到至少兩個(gè)目標(biāo)子數(shù)據(jù)包; 根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)每個(gè)目標(biāo)子數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè); 所述當(dāng)所述差錯(cuò)檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)的步驟,包括: 當(dāng)每個(gè)目標(biāo)子數(shù)據(jù)的差錯(cuò)檢測(cè)均成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括: 當(dāng)所述核對(duì)失敗時(shí),顯示差錯(cuò)報(bào)告根; 當(dāng)所述差錯(cuò)檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根; 當(dāng)所述有效性檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根,所述差錯(cuò)報(bào)告用于提示用戶(hù)數(shù)據(jù)包無(wú)法運(yùn)行。
6.根據(jù)權(quán)利要求1至5中任一項(xiàng)所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì)的步驟,包括: 根據(jù)消息摘要算法第五版Message Digest Algorithm5對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì); 所述根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè)的步驟包括: 根據(jù)循環(huán)冗余校驗(yàn)Cyclic Redundancy對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè); 所述調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)的步驟,包括: 調(diào)用安卓系統(tǒng)包管理Package Manager類(lèi)中的預(yù)設(shè)函數(shù)對(duì)所述目標(biāo)APK包進(jìn)行有效性檢測(cè); 所述目標(biāo)數(shù)據(jù)包為安卓安裝包Android Package。
7.一種數(shù)據(jù)處理的裝置,其特征在于,所述裝置包括: 核對(duì)單元,用于根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)存儲(chǔ)單元中已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì),所述目標(biāo)數(shù)據(jù)包為網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)用戶(hù)請(qǐng)求發(fā)送的數(shù)據(jù)包; 差錯(cuò)檢測(cè)單元,用于當(dāng)所述核對(duì)單元核對(duì)成功時(shí),根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè); 有效性檢測(cè)單元,用于當(dāng)所述差錯(cuò)檢測(cè)單元檢測(cè)成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè),所述有效性檢測(cè)用于檢測(cè)所述目標(biāo)數(shù)據(jù)包是否能夠被解析; 安裝單元,用于當(dāng)所述有效性檢測(cè)單元檢測(cè)成功時(shí),對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行安裝。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括: 接收單元,用于接收用戶(hù)觸發(fā)的選擇指令,所述選擇指令用于選擇待下載的目標(biāo)數(shù)據(jù)包; 發(fā)送單元,用于向網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送所述接收單元接收的所述選擇指令對(duì)應(yīng)的獲取請(qǐng)求,所述獲取請(qǐng)求用于獲取是目標(biāo)數(shù)據(jù)包; 所述接收單元還用于,接收網(wǎng)絡(luò)側(cè)服務(wù)器發(fā)送的目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串,所述驗(yàn)證字符串為根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)目標(biāo)數(shù)據(jù)包進(jìn)行編碼得到的字符串; 所述存儲(chǔ)單元還用于對(duì)所述接收單元接收的所述目標(biāo)數(shù)據(jù)包以及驗(yàn)證字符串進(jìn)行保存。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述核對(duì)單元包括: 編碼子單元,用于根據(jù)預(yù)設(shè)加密散列函數(shù)對(duì)存儲(chǔ)單元已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行編碼,得到目標(biāo)字符串; 核對(duì)子單元,用于核對(duì)所述編碼子單元得到的所述目標(biāo)字符串與接收單元接收到的所述驗(yàn)證字符串是否相等。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述差錯(cuò)檢測(cè)單元包括: 分割子單元,用于對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行分割,得到至少兩個(gè)目標(biāo)子數(shù)據(jù)包; 檢測(cè)子單元,用于根據(jù)預(yù)設(shè)差錯(cuò)檢驗(yàn)標(biāo)準(zhǔn)對(duì)所述分各子單元分割出的每個(gè)目標(biāo)子數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè); 所述有效性檢測(cè)單元還用于當(dāng)檢測(cè)單子單元檢測(cè)出每個(gè)目標(biāo)子數(shù)據(jù)的差錯(cuò)檢測(cè)均成功時(shí),調(diào)用驗(yàn)證函數(shù)對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行有效性檢測(cè)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述裝置還包括: 第一報(bào)告單元,用于當(dāng)所述核對(duì)單元核對(duì)失敗時(shí),顯示差錯(cuò)報(bào)告根; 第二報(bào)告單元,用于當(dāng)所述差錯(cuò)檢測(cè)單元檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根; 第三報(bào)告單元,用于當(dāng)所述有效性檢測(cè)單元檢測(cè)失敗時(shí),顯示差錯(cuò)報(bào)告根,所述差錯(cuò)報(bào)告用于提示用戶(hù)數(shù)據(jù)包無(wú)法運(yùn)行。
12.根據(jù)權(quán)利要求7至11中任一項(xiàng)所述的裝置,其特征在于,所述核對(duì)單元還用于,根據(jù)消息摘要算法第五版Message Digest Algorithm5對(duì)已存儲(chǔ)的目標(biāo)數(shù)據(jù)包進(jìn)行核對(duì); 所述差錯(cuò)檢測(cè)單元還用于,根據(jù)循環(huán)冗余校驗(yàn)Cyclic Redundancy對(duì)所述目標(biāo)數(shù)據(jù)包進(jìn)行差錯(cuò)檢測(cè); 所述有效性檢測(cè)單元還用于,調(diào)用安卓系統(tǒng)包管理Package Manager類(lèi)中的預(yù)設(shè)函數(shù)對(duì)所述目標(biāo)APK包進(jìn)行有效性檢測(cè)。
【文檔編號(hào)】H04L1/00GK104348578SQ201310334412
【公開(kāi)日】2015年2月11日 申請(qǐng)日期:2013年8月2日 優(yōu)先權(quán)日:2013年8月2日
【發(fā)明者】關(guān)盛裕 申請(qǐng)人:騰訊科技(深圳)有限公司