專利名稱:數(shù)據(jù)文件生成方法、應(yīng)用程序及數(shù)據(jù)下載系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及移動終端應(yīng)用技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)文件生成方法、應(yīng)用程序及數(shù)據(jù)下載系統(tǒng)及方法。
背景技術(shù):
目前,移動應(yīng)用開發(fā)者需要將其開發(fā)的應(yīng)用程序文件(以下簡稱應(yīng)用程序)上傳到為應(yīng)用商店(比如App Store)提供服務(wù)的服務(wù)器(以下稱為應(yīng)用商店服務(wù)器),供移動終端用戶(以下簡稱用戶)購買及下載。如果應(yīng)用程序工作時還需要數(shù)據(jù)文件(以下簡稱數(shù)據(jù))的支持,比如,導航應(yīng)用程序需要地圖數(shù)據(jù)的支持,則開發(fā)者需要將應(yīng)用程序和數(shù)據(jù)打包為一個整體上傳到所述應(yīng)用商店服務(wù)器。在對現(xiàn)有技術(shù)的研究和實踐過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)用戶是從應(yīng)用商店服務(wù)器下載打包的應(yīng)用程序和數(shù)據(jù),這種下載模式存在以下問題首先,對于打包的應(yīng)用程序和數(shù)據(jù),無論是應(yīng)用程序有了更新還是數(shù)據(jù)有了更新,用戶都需要重新從應(yīng)用商店服務(wù)器下載應(yīng)用程序和數(shù)據(jù),這不僅給用戶使用帶來了不便,還造成了資源的浪費。其次,發(fā)明人還發(fā)現(xiàn)當應(yīng)用商店服務(wù)器和從該應(yīng)用商店服務(wù)器下載應(yīng)用程序和數(shù)據(jù)的用戶不在同一個國家時,比如,App Store服務(wù)器在美國,用戶在中國,因為跨國下載網(wǎng)絡(luò)速度通常較慢,下載過程存在耗時過長的問題,并且,下載過程中一旦網(wǎng)絡(luò)出現(xiàn)故障,可能會損壞已下載的應(yīng)用程序或數(shù)據(jù),導致應(yīng)用程序安裝失敗或應(yīng)用程序安裝后無法使用,此時,用戶需要重新進行下載,這同樣給用戶帶來了極大的不便。
發(fā)明內(nèi)容
本發(fā)明實施例要解決的技術(shù)問題是提供一種數(shù)據(jù)文件生成方法,該方法能夠生成一種可與應(yīng)用程序分離下載的數(shù)據(jù)文件。本發(fā)明實施例還提供了一種應(yīng)用程序和數(shù)據(jù)下載系統(tǒng)和方法,能夠?qū)崿F(xiàn)應(yīng)用程序和數(shù)據(jù)的分離下載。為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的一種數(shù)據(jù)文件的生成方法,包括遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的目錄;將所述每一個數(shù)據(jù)文件的目錄寫入一個新的文件;從所述數(shù)據(jù)文件夾內(nèi),讀取所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容;將所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的數(shù)據(jù)文件。一種地圖數(shù)據(jù)文件的生成方法,包括遍歷地圖數(shù)據(jù)文件夾內(nèi)每一個地圖數(shù)據(jù)文件,得到每一個地圖數(shù)據(jù)文件的目錄;將所述每一個地圖數(shù)據(jù)文件的目錄寫入一個新的文件;
從所述地圖數(shù)據(jù)文件夾內(nèi),讀取所述每一個地圖數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容;將所述每一個地圖數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的地圖數(shù)據(jù)文件。一種應(yīng)用程序及數(shù)據(jù)下載系統(tǒng),包括應(yīng)用商店服務(wù)器和數(shù)據(jù)服務(wù)器,所述應(yīng)用商店服務(wù)器,用于存儲應(yīng)用程序文件并提供應(yīng)用程序下載服務(wù),所述應(yīng)用程序文件中至少包括導航應(yīng)用程序文件,所述導航應(yīng)用程序的數(shù)據(jù)讀取路徑指向所述導航應(yīng)用程序的文件目錄;所述數(shù)據(jù)服務(wù)器,用于存儲單個數(shù)據(jù)文件并提供單個數(shù)據(jù)文件下載服務(wù),其中,所述單個數(shù)據(jù)文件中至少包括所述導航應(yīng)用程序文件的單個地圖數(shù)據(jù)文件,所述單個地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成;所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述單個數(shù)據(jù)文件的終端所在的國家。上述技術(shù)方案具有如下有益效果本發(fā)明實施例提供了一種數(shù)據(jù)文件的生成方法,該方法通過遍歷數(shù)據(jù)文件夾內(nèi)的每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的目錄,以及從所述數(shù)據(jù)文件內(nèi),讀取每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容,并將每一個數(shù)據(jù)文件的目錄和每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到一個新的文件,得到一個新的數(shù)據(jù)文件。在這個新的數(shù)據(jù)文件中既有原數(shù)據(jù)文件夾中每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容,還有每一個數(shù)據(jù)文件的目錄,因此,采用本發(fā)明實施例提供的數(shù)據(jù)文件生成方法達到了將原數(shù)據(jù)文件夾下多個數(shù)據(jù)文件合并為一個新的可單獨下載的數(shù)據(jù)文件的效果O本發(fā)明實施例還提供了一種地圖數(shù)據(jù)文件的生成方法,同理,該方法達到了將原地圖數(shù)據(jù)文件夾下多個地圖數(shù)據(jù)文件合并為一個新的可供用戶單獨下載地圖數(shù)據(jù)文件的效果。本發(fā)明實施例還提供了一種應(yīng)用程序及數(shù)據(jù)下載系統(tǒng),該系統(tǒng)包括應(yīng)用商店服務(wù)器和數(shù)據(jù)服務(wù)器,所述應(yīng)用商店服務(wù)器,用于存儲應(yīng)用程序文件并提供應(yīng)用程序下載服務(wù),所述應(yīng)用程序文件中至少包括導航應(yīng)用程序文件,所述導航應(yīng)用程序的數(shù)據(jù)讀取路徑指向所述導航應(yīng)用程序的文件目錄;所述數(shù)據(jù)服務(wù)器,用于單個數(shù)據(jù)文件并提供單個數(shù)據(jù)文件下載服務(wù),其中,所述單個數(shù)據(jù)文件中至少包括所述導航應(yīng)用程序文件的單個地圖數(shù)據(jù)文件,所述單個地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成;所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述單個數(shù)據(jù)文件的終端所在的國家。采用本發(fā)明實施例提供的應(yīng)用程序及數(shù)據(jù)下載系統(tǒng),用戶可以通過應(yīng)用商店服務(wù)器和數(shù)據(jù)服務(wù)器分別下載應(yīng)用程序和數(shù)據(jù),尤其是導航應(yīng)用程序和地圖數(shù)據(jù),在應(yīng)用程序和數(shù)據(jù)分離下載模式下,無論是應(yīng)用程序有更新還是數(shù)據(jù)有更新,用戶只需下載有更新的一方即可,極大地方便了用戶的使用,節(jié)約了用戶資源。其次,本發(fā)明實施例提供的系統(tǒng)中,數(shù)據(jù)服務(wù)器架設(shè)在需要從該服務(wù)器下載數(shù)據(jù)文件的終端所在的國家,由于境內(nèi)網(wǎng)絡(luò)下載速度遠高于跨國網(wǎng)絡(luò)下載速度,因此,極大地縮短了數(shù)據(jù)文件的下載時間,方便了用戶使用,帶來了更好的用戶體驗。
圖1為本發(fā)明實施例提供的數(shù)據(jù)文件生成方法流程示意圖;圖2為本發(fā)明實施例提供的地圖數(shù)據(jù)文件生成方法流程示意圖3為本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)下載系統(tǒng)組成示意圖;圖4為本發(fā)明實施例提供的第一種應(yīng)用程序和數(shù)據(jù)下載方法流程示意圖;圖5為本發(fā)明實施例提供的第二種應(yīng)用程序和數(shù)據(jù)下載方法流程示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案、及優(yōu)點更加清楚明白,以下參照附圖對本發(fā)明實施例提供的技術(shù)方案進行詳細說明。在采用iOS的移動終端上安裝應(yīng)用程序時,系統(tǒng)會為該應(yīng)用程序生成一個文件目錄(Documents), iOS4. O以上版本允許應(yīng)用程序向用戶開放對該應(yīng)用程序的文件目錄的訪問權(quán)限,文件目錄的訪問權(quán)限開放后,用戶可以對該應(yīng)用程序的文件目錄進行單個文件操作,即用戶可以將單個文件同步到該應(yīng)用程序的文件目錄,但用戶不可以將以文件夾形式存儲的文件同步到該應(yīng)用程序的文件目錄。如,在采用iOS4. O以上版本的移動終端上安裝名稱為“高德導航”的應(yīng)用程序,系統(tǒng)會為該應(yīng)用程序生成一個文件目錄,如果“高德導航”應(yīng)用程序向用戶開放了對其文件目錄的訪問權(quán)限,則用戶可以將“高德導航”相關(guān)的文件同步到該文件目錄中。針對采用iOS4. O以上版本的移動終端所具備的特點,本發(fā)明實施例提供了一種新的應(yīng)用程序和數(shù)據(jù)下載模式,即應(yīng)用程序和數(shù)據(jù)分離下載模式。需要說明的是,對于采用其他操作系統(tǒng)的移動終端,若其下載打包的應(yīng)用程序和數(shù)據(jù)時,也存在網(wǎng)絡(luò)下載速度緩慢、耗時過長等問題,則本發(fā)明實施例提供的分離下載模式亦適用。以下結(jié)合具體實施例對本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)分離下載模式進行詳細介紹。采用本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)分離下載模式時,首先需要對現(xiàn)有應(yīng)用程序和數(shù)據(jù)文件分別作出如下改進1、應(yīng)用程序向用戶開放對其文件目錄的訪問權(quán)限。需要注意的是,如果用戶只使用移動終端下載應(yīng)用程序和下載數(shù)據(jù),則應(yīng)用程序可以不開放用戶對其文件目錄的訪問權(quán)限,但應(yīng)用程序中需要增加數(shù)據(jù)下載模塊,該模塊用于下載數(shù)據(jù)文件。當然在用戶使用其他終端下載數(shù)據(jù)時,應(yīng)用程序也可以包括數(shù)據(jù)下載模塊,并不影響本發(fā)明實施例的實現(xiàn)。另外,對于采用其他操作系統(tǒng)的移動終端,技術(shù)人員可以根據(jù)相應(yīng)系統(tǒng)的特點,對應(yīng)用程序作出必要調(diào)整,以使用戶能夠?qū)为毾螺d的數(shù)據(jù)文件能夠同步至該移動終端。2、因為用戶只能對文件目錄進行單個文件操作,當應(yīng)用程序有多個數(shù)據(jù)文件時,為減少對應(yīng)用程序的改動量,節(jié)省開發(fā)成本,可以將多個數(shù)據(jù)文件合并為一個新的數(shù)據(jù)文件,供應(yīng)用程序工作時調(diào)用。本發(fā)明實施例提供了一種數(shù)據(jù)文件生成方法,該方法能夠?qū)?yīng)用程序的多個數(shù)據(jù)文件合并為一個可與應(yīng)用程序分離下載,且能夠保證所述應(yīng)用程序正常工作的新的數(shù)據(jù)文件。請參見圖1,是本發(fā)明實施例提供的數(shù)據(jù)文件生成方法流程示意圖,該方法包括步驟10 :遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的目錄;在實際應(yīng)用中,每一個數(shù)據(jù)文件的目錄包括數(shù)據(jù)文件的路徑、大小及地址偏移量(簡稱偏移量)。其中,所述路徑可以不包括根文件夾的名稱,比如,數(shù)據(jù)文件X存儲在文件夾A的子文件夾B中,則數(shù)據(jù)文件X的路徑為“B\X”。所述偏移量是指原數(shù)據(jù)文件夾下的數(shù)據(jù)文件在新的數(shù)據(jù)文件中的偏移量,該偏移量是相對偏移量,不是該數(shù)據(jù)文件在新的數(shù)據(jù)文件中的實際存儲地址,所述新的數(shù)據(jù)文件是指采用本方法最終得到的數(shù)據(jù)文件。步驟11 :將所述每一個數(shù)據(jù)文件的目錄寫入一個新的文件;步驟12 :從所述數(shù)據(jù)文件夾內(nèi),讀取每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容;當目錄中包括數(shù)據(jù)文件的路徑時,所述步驟12具體為按照目錄中所述數(shù)據(jù)文件的路徑,從所述數(shù)據(jù)文件夾內(nèi),讀取每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容。步驟13 :將所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的數(shù)據(jù)文件;在實際應(yīng)用中,新的數(shù)據(jù)文件可以采用如表I所示的兩種存儲方式
第一種存儲方式第二種存儲方式第一個數(shù)據(jù)文件的目錄第一個數(shù)據(jù)文件的目錄第二個數(shù)據(jù)文件的目錄第一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容第二個數(shù)據(jù)文件的目錄最后一個數(shù)據(jù)文件的目錄第二個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容第一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容第二個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容最后一個數(shù)據(jù)文件的目錄最后一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容最后一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容表I數(shù)據(jù)文件存儲格式以上是本發(fā)明實施例提供的數(shù)據(jù)文件生成方法,以下對實際應(yīng)用中如何得到每一個數(shù)據(jù)文件的目錄進行詳細介紹。由前文記載可知,每一個數(shù)據(jù)文件的目錄中包括數(shù)據(jù)文件的路徑,大小和偏移量,其中,每一個數(shù)據(jù)文件的目錄中的路徑和大小可以通過遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件得到;每一個數(shù)據(jù)文件的偏移量是在遍歷得到每一個數(shù)據(jù)文件的路徑和大小后計算得到的,當新的數(shù)據(jù)文件采用前文表I所述第一種存儲方式時,偏移量的計算方法如下將遍歷得到的第一個數(shù)據(jù)文件的偏移量設(shè)為預設(shè)值(比如O);
遍歷得到的第二個數(shù)據(jù)文件的偏移量等于第一個數(shù)據(jù)文件的偏移量加上第一個數(shù)據(jù)文件的大小,第三個數(shù)據(jù)文件的偏移量等于第二個數(shù)據(jù)文件的偏移量加上第二數(shù)據(jù)文
件的大小,......,第N個數(shù)據(jù)文件的偏移量等于第N-1個數(shù)據(jù)文件的偏移量加上第N-1個
數(shù)據(jù)文件的大小,N為大于等于2的整數(shù)。每計算出一個數(shù)據(jù)文件的偏移量,就將該數(shù)據(jù)文件的路徑和大小及偏移量記錄為該數(shù)據(jù)文件的目錄,直到得到每一個數(shù)據(jù)文件的目錄。當新的數(shù)據(jù)文件采用前文表I所述第二種存儲方式時,偏移量的計算方法與前文所述方法的區(qū)別僅在于第N個數(shù)據(jù)文件的偏移量等于第N個數(shù)據(jù)的目錄大小加上第N-1個數(shù)據(jù)文件的偏移量和第N-1個數(shù)據(jù)文件的大小。以上是本發(fā)明實施例提供的數(shù)據(jù)文件生成方法,本發(fā)明實施例提供的數(shù)據(jù)文件生成方法最終生成的新的數(shù)據(jù)文件中既包括了原數(shù)據(jù)文件夾中每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容,又包括了每一個數(shù)據(jù)文件在原數(shù)據(jù)文件中的路徑,大小及其在新的數(shù)據(jù)文件中的偏移量。由此可見,本發(fā)明實施例提供方法首先保證了數(shù)據(jù)內(nèi)容的完整性,即原數(shù)據(jù)文件夾下的數(shù)據(jù)內(nèi)容全部添加到新的數(shù)據(jù)文件中,其次,由于目錄中包括了偏移量,當應(yīng)用程序更改為從新的數(shù)據(jù)文件中讀取數(shù)據(jù)后,依然保證應(yīng)用程序能夠準確找到相應(yīng)數(shù)據(jù)的存儲位置,確保了應(yīng)用程序的正常工作。以下以地圖數(shù)據(jù)文件為例,對本發(fā)明實施例提供的數(shù)據(jù)文件生成方法進行詳細介紹。請參見圖2,是本發(fā)明實施例提供的地圖數(shù)據(jù)文件的生成方法,該方法包括步驟20 :遍歷地圖數(shù)據(jù)文件夾內(nèi)每一個地圖數(shù)據(jù)文件,得到每一個地圖數(shù)據(jù)文件的目錄;步驟21 :將所述每一個地圖數(shù)據(jù)文件的目錄寫入一個新的文件;步驟22 :從所述地圖數(shù)據(jù)文件夾內(nèi),讀取每一個地圖數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容;步驟23 :將所述每一個地圖數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的地圖數(shù)據(jù)文件;其中,新的地圖數(shù)據(jù)文件的存儲方式請參見表1,每一個地圖數(shù)據(jù)文件的目錄的獲取過程請參見前文相關(guān)部分,此處不再贅述。以上是本發(fā)明實施例提供的數(shù)據(jù)文件生成方法,在此基礎(chǔ)上,本發(fā)明實施例提供了一種應(yīng)用程序及數(shù)據(jù)下載系統(tǒng),能夠?qū)崿F(xiàn)應(yīng)用程序和數(shù)據(jù)的分離下載。請參見圖3,是本發(fā)明實施例提供的一種應(yīng)用程序及數(shù)據(jù)下載系統(tǒng),該系統(tǒng)包括:應(yīng)用商店服務(wù)器30和數(shù)據(jù)服務(wù)器31 ;應(yīng)用商店服務(wù)器30,用于存儲應(yīng)用程序文件并提供應(yīng)用程序下載服務(wù),所述應(yīng)用程序文件中至少包括導航應(yīng)用程序文件,所述導航應(yīng)用程序的讀取數(shù)據(jù)的路徑指向其文件目錄;數(shù)據(jù)服務(wù)器31,用于存儲單個數(shù)據(jù)文件并提供單個數(shù)據(jù)文件下載服務(wù),其中,所述單個數(shù)據(jù)文件中至少包括所述導航應(yīng)用程序文件的單個地圖數(shù)據(jù)文件,該地圖數(shù)據(jù)文件是采用采用本發(fā)明實施例提供的數(shù)據(jù)文件生成方法生成的,即所述單個地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成;
所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述單個數(shù)據(jù)文件的終端所在的國家。在圖3所示系統(tǒng)架構(gòu)下,用戶可以通過應(yīng)用商店提供的鏈接分別從應(yīng)用商店服務(wù)器30下載應(yīng)用程序文件和從數(shù)據(jù)服務(wù)器31下載數(shù)據(jù)文件,即實現(xiàn)了應(yīng)用程序和數(shù)據(jù)的分離下載。其中,用戶可以使用移動終端(比如手機等),也可以使用計算機(筆記本、臺式機、平板電腦等)從應(yīng)用商店服務(wù)器30和數(shù)據(jù)服務(wù)器31分別下載應(yīng)用程序和數(shù)據(jù)。如果用戶使用移動終端下載應(yīng)用程序文件和數(shù)據(jù)文件,則移動終端先從應(yīng)用商店服務(wù)器30下載應(yīng)用程序,應(yīng)用程序下載完成后,移動終端會自動安裝該應(yīng)用程序,并通過應(yīng)用程序中的數(shù)據(jù)下載模塊,從數(shù)據(jù)服務(wù)器31下載數(shù)據(jù)文件到該應(yīng)用程序的文件目錄。如果用戶使用計算機下載數(shù)據(jù)文件,則下載完成后,用戶需要通過iOS系統(tǒng)提供的專用軟件將數(shù)據(jù)文件同步到該數(shù)據(jù)文件對應(yīng)的應(yīng)用程序的文件目錄中。采用本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)分離下載系統(tǒng),無論是應(yīng)用程序有更新還是數(shù)據(jù)有更新,用戶只需下載有更新的一方即可,極大地方便了用戶的使用,節(jié)約了用戶資源。其次,本發(fā)明實施例提供的系統(tǒng)中,數(shù)據(jù)服務(wù)器架設(shè)在需要從該服務(wù)器下載數(shù)據(jù)文件的終端所在的國家,由于境內(nèi)網(wǎng)絡(luò)下載速度遠高于跨國網(wǎng)絡(luò)下載速度,因此,極大地縮短了數(shù)據(jù)文件的下載時間,方便了用戶使用,帶來了更好的用戶體驗。以上是本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)下載系統(tǒng),在上述系統(tǒng)還可以進一步包括移動終端;所述移動終端,安裝從所述應(yīng)用商店服務(wù)器下載的導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄;其中,所述移動終端安裝的導航應(yīng)用程序文件可以是該移動終端從所述應(yīng)用商店服務(wù)器下載的,也可以是其他終端從所述應(yīng)用商店服務(wù)器下載的。如果地圖數(shù)據(jù)文件也是所述移動終端從所述數(shù)據(jù)服務(wù)器下載的,則在所述移動終端安裝完所述導航應(yīng)用程序文件后,所述移動終端進一步用于,通過安裝的導航應(yīng)用程序中的數(shù)據(jù)下載模塊,從所述數(shù)據(jù)服務(wù)器下載的地圖數(shù)據(jù)文件到所述導航應(yīng)用程序的文件目錄。如果地圖數(shù)據(jù)文件是除所述移動終端外的其他終端(比如計算機)從所述數(shù)據(jù)服務(wù)器下載的,則所述移動終端進一步用于,將其他終端(比如計算機)從所述數(shù)據(jù)服務(wù)器下載的地圖數(shù)據(jù)文件同步至導航應(yīng)用程序的文件目錄。以上是本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)分離下載系統(tǒng),以下結(jié)合附圖對本發(fā)明實施例提供的應(yīng)用程序及數(shù)據(jù)下載方法進行詳細介紹。請參見圖4,是本發(fā)明實施例提供的一種應(yīng)用程序及數(shù)據(jù)下載方法流程示意圖,該方法包括步驟40 :從應(yīng)用商店服務(wù)器下載導航應(yīng)用程序文件,所述導航應(yīng)用程序文件的數(shù)據(jù)讀取路徑指向?qū)Ш綉?yīng)用程序的文件目錄;比如導航應(yīng)用程序的文件目錄為/var/mobile/Applications/6EA46A97-A5E7-40B4-AEEB-DlB6F109970C/Documents/
地圖數(shù)據(jù)文件名為Autonavi_Mapdata.dat那么,導航應(yīng)用程序文件讀取數(shù)據(jù)的路徑為/var/mobile/Applications/6EA46A97-A5E7-40B4-AEEB-DlB6F109970C/Documents/Autonavi_Mapdata. dat在具體實現(xiàn)時,只要調(diào)用fopen函數(shù),就可以實現(xiàn)將導航應(yīng)用程序文件讀取數(shù)據(jù)的路徑指向?qū)Ш綉?yīng)用程序的文件目錄。步驟41 :從數(shù)據(jù)服務(wù)器下載所述導航應(yīng)用程序的地圖數(shù)據(jù)文件,所述地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成;所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述地圖數(shù)據(jù)文件的終端所在的國家。其中,步驟40和41的執(zhí)行主體為除移動終端外的其它終端,比如計算機。 在下載完成后,上述方法還可以進一步包括如下步驟步驟42 :安裝所述導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄;步驟43 :將所述地圖數(shù)據(jù)文件同步至導航應(yīng)用程序的文件目錄。其中,步驟42和43的執(zhí)行主體是需要安裝所述導航應(yīng)用程序文件和地圖數(shù)據(jù)文件的移動終端。如果是移動終端下載應(yīng)用程序和數(shù)據(jù),則本發(fā)明實施例還提供了一種應(yīng)用程序及數(shù)據(jù)下載方法,請參見圖5, 該方法包括步驟50 :從應(yīng)用商店服務(wù)器下載導航應(yīng)用程序文件,所述導航應(yīng)用程序文件的數(shù)據(jù)讀取路徑指向?qū)Ш綉?yīng)用程序的文件目錄;步驟51 :安裝所述導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄;步驟52 :從數(shù)據(jù)服務(wù)器下載所述導航應(yīng)用程序的地圖數(shù)據(jù)文件到所述文件目錄,所述地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成。以上是本發(fā)明實施例提供的兩種應(yīng)用程序和數(shù)據(jù)下載方法,進一步,因為地圖數(shù)據(jù)文件較大,同步到導航應(yīng)用程序的文件目錄后,系統(tǒng)備份時間較長,為解決該問題,優(yōu)選地,上述兩種方法可以進一步包括安裝的導航應(yīng)用程序啟動時,判斷所述導航應(yīng)用程序的文件目錄中的地圖數(shù)據(jù)文件是否完整,如果是,則將所述地圖數(shù)據(jù)文件從導航應(yīng)用程序的文件目錄剪切到導航應(yīng)用程序的緩存(Library/Caches)目錄,如果否,貝U結(jié)束。其中,在具體實現(xiàn)中可以采用如下兩種方式判斷地圖數(shù)據(jù)文件是否完整第一、判斷地圖數(shù)據(jù)文件的結(jié)尾是否為預設(shè)的數(shù)據(jù)完整性標識,如果是,則所述地圖數(shù)據(jù)文件是完整數(shù)據(jù)。第二、對所述地圖數(shù)據(jù)文件進行MD5校驗,獲得所述地圖數(shù)據(jù)文件是否完整的結(jié)
果OS卩,移動終端安裝完成導航應(yīng)用程序文件后,安裝的導航應(yīng)用程序在第一次啟動時會判斷所述導航應(yīng)用程序的文件目錄中的地圖數(shù)據(jù)文件是否完整,若完整,則將地圖數(shù)據(jù)文件從導航應(yīng)用程序的文件目錄剪切到導航應(yīng)用程序的緩存目錄,由于系統(tǒng)不會對導航應(yīng)用程序的緩存目錄下的文件進行備份,故將地圖數(shù)據(jù)文件剪切到該空間后,系統(tǒng)不必再進行備份,克服了因備份所產(chǎn)生的問題。由前文記載可知,地圖數(shù)據(jù)文件有兩種存儲方法,當?shù)貓D數(shù)據(jù)文件表I所示第一種存儲方式時,在安裝的導航應(yīng)用程序啟動時,上述方法進一步包括獲取所述地圖數(shù)據(jù)文件中所有目錄的大?。挥盟心夸浀拇笮〖由厦恳粭l目錄中記錄的偏移量,得到每一條目錄對應(yīng)的地圖數(shù)據(jù)的存儲地址。比如,一個地圖數(shù)據(jù)文件由50條目錄和50條地圖數(shù)據(jù)構(gòu)成,50條目錄的大小是5K,則目錄的存儲地址是從O開始到5K,每條地圖數(shù)據(jù)的存儲地址等于目錄中該地圖數(shù)據(jù)的偏移量加上5K。導航應(yīng)用程序工作時,將導航應(yīng)用程序中的路徑與地圖數(shù)據(jù)文件的目錄中的路徑進行比對,對比一致后,從計算出的存儲地址對應(yīng)的空間中讀取相應(yīng)的地圖數(shù)據(jù)。以上步驟的執(zhí)行主體為安裝在移動終端上的導航應(yīng)用程序。為避免因下載模式改變,出現(xiàn)需要對應(yīng)用程序做出較大修改的問題,本發(fā)明實施例僅將導航應(yīng)用程序讀取數(shù)據(jù)的路徑指向了導航應(yīng)用程序的文件目錄,因此,在讀取地圖數(shù)據(jù)時,安裝在移動終端上的導航應(yīng)用程序需要將程序中的路徑與地圖數(shù)據(jù)文件的目錄中的路徑進行比對,對比一致后,再讀取相應(yīng)的地圖數(shù)據(jù)。舉例說明本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)下載系統(tǒng)。在iOS系統(tǒng)應(yīng)用程序中,某導航應(yīng)用程序大小為70M,采用本發(fā)明實施例數(shù)據(jù)文件生成方法得到的中國地圖數(shù)據(jù)文件為2. 43G,將導航應(yīng)用程序上傳到App Store服務(wù)器,App Store服務(wù)器設(shè)置在美國,中國地圖數(shù)據(jù)文件上傳至架設(shè)在中國的數(shù)據(jù)服務(wù)器。用戶在中國從App Store服務(wù)器下載70M的導航應(yīng)用程序至多花費30分鐘時間,從數(shù)據(jù)服務(wù)器下載地圖數(shù)據(jù)文件大約需要2到3個小時(具體時間取決于用戶的帶寬),而現(xiàn)有技術(shù)用戶從設(shè)置在美國的App Store服務(wù)器下載打包導航應(yīng)用程序和地圖數(shù)據(jù)需要連續(xù)下載幾天(跟帶寬和時間段有關(guān)系),因此,本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)分離下載模式極大地縮短了應(yīng)用程序和數(shù)據(jù)下載時間,方便用戶的使用,帶給用戶更好的用戶體驗。以上對本發(fā)明所提供的一種數(shù)據(jù)文件生成方法、應(yīng)用程序和數(shù)據(jù)下載方法及系統(tǒng)進行了詳細介紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種數(shù)據(jù)文件的生成方法,其特征在于,包括 遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的目錄; 將所述每一個數(shù)據(jù)文件的目錄寫入一個新的文件; 從所述數(shù)據(jù)文件夾內(nèi),讀取所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容; 將所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的數(shù)據(jù)文件。
2.如權(quán)利要求1所述的方法,其特征在于,所述遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的目錄具體包括 遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的路徑和大?。? 計算每一個數(shù)據(jù)文件在新的數(shù)據(jù)文件中的偏移量; 將每一個數(shù)據(jù)文件的路徑和大小及其偏移量記錄為相應(yīng)數(shù)據(jù)文件的目錄。
3.如權(quán)利要求2所述的方法,其特征在于,所述計算每一個數(shù)據(jù)文件在新的數(shù)據(jù)文件中的偏移量具體包括 將遍歷得到的第一個數(shù)據(jù)文件的偏移量設(shè)為預設(shè)值; 從第二個數(shù)據(jù)文件開始,用第N-1個數(shù)據(jù)文件的偏移量加上第N-1個數(shù)據(jù)文件的大小得到第N個數(shù)據(jù)文件的偏移量,所述N為大于等于2的整數(shù)。
4.一種地圖數(shù)據(jù)文件的生成方法,其特征在于,包括 遍歷地圖數(shù)據(jù)文件夾內(nèi)每一個地圖數(shù)據(jù)文件,得到每一個地圖數(shù)據(jù)文件的目錄; 將所述每一個地圖數(shù)據(jù)文件的目錄寫入一個新的文件; 從所述地圖數(shù)據(jù)文件夾內(nèi),讀取所述每一個地圖數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容; 將所述每一個地圖數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的地圖數(shù)據(jù)文件。
5.如權(quán)利要求4所述的地圖數(shù)據(jù)文件的生成方法,其特征在于,遍歷地圖數(shù)據(jù)文件夾內(nèi)的每一個地圖數(shù)據(jù)文件,得到每一個地圖數(shù)據(jù)文件的目錄具體包括 遍歷地圖數(shù)據(jù)文件夾內(nèi)每一個地圖數(shù)據(jù)文件,得到每一個地圖數(shù)據(jù)文件的路徑和大小; 計算每一個地圖數(shù)據(jù)文件在新的數(shù)據(jù)文件中的偏移量; 將每一個地圖數(shù)據(jù)文件的路徑和大小及其偏移量記錄為相應(yīng)地圖數(shù)據(jù)文件的目錄。
6.一種應(yīng)用程序及數(shù)據(jù)下載系統(tǒng),其特征在于,包括應(yīng)用商店服務(wù)器和數(shù)據(jù)服務(wù)器, 所述應(yīng)用商店服務(wù)器,用于存儲應(yīng)用程序文件并提供應(yīng)用程序下載服務(wù),所述應(yīng)用程序文件中至少包括導航應(yīng)用程序文件,所述導航應(yīng)用程序的數(shù)據(jù)讀取路徑指向所述導航應(yīng)用程序的文件目錄; 所述數(shù)據(jù)服務(wù)器,用于存儲單個數(shù)據(jù)文件并提供單個數(shù)據(jù)文件下載服務(wù),其中,所述單個數(shù)據(jù)文件中至少包括所述導航應(yīng)用程序文件的單個地圖數(shù)據(jù)文件,所述單個地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成; 所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述單個數(shù)據(jù)文件的終端所在的國家。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)進一步包括移動終端; 所述移動終端,安裝從所述應(yīng)用商店服務(wù)器下載的導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄; 所述移動終端,將從所述數(shù)據(jù)服務(wù)器下載的地圖數(shù)據(jù)文件同步至所述導航應(yīng)用程序的文件目錄。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)進一步包括移動終端; 所述移動終端,安裝從所述應(yīng)用商店服務(wù)器下載的導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄; 所述移動終端,從所述數(shù)據(jù)服務(wù)器下載的地圖數(shù)據(jù)文件到所述導航應(yīng)用程序的文件目錄。
9.一種應(yīng)用程序及數(shù)據(jù)下載方法,其特征在于, 從應(yīng)用商店服務(wù)器下載導航應(yīng)用程序文件,所述導航應(yīng)用程序文件的數(shù)據(jù)讀取路徑指向所述導航應(yīng)用程序的文件目錄; 從數(shù)據(jù)服務(wù)器下載所述導航應(yīng)用程序的地圖數(shù)據(jù)文件,所述地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成; 所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述地圖數(shù)據(jù)文件的終端所在的國家。
10.如權(quán)利要求9所述的方法,其特征在于,所述方法包括 安裝所述導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄; 將所述地圖數(shù)據(jù)文件同步至所述導航應(yīng)用程序的文件目錄。
11.如權(quán)利要求10所述的方法,其特征在于,所述方法進一步包括 判斷所述地圖數(shù)據(jù)文件是否完整,如果完整,則將所述地圖數(shù)據(jù)文件從所述導航應(yīng)用程序的文件目錄剪切到所述導航應(yīng)用程序的緩存目錄。
12.如權(quán)利要求10或11所述的方法,其特征在于,所述目錄包括路徑,大小和偏移量,則所述方法進一步包括 獲取所述地圖數(shù)據(jù)文件中所有目錄的大??; 根據(jù)所有目錄的大小及每一條目錄中記錄的偏移量,計算每一條目錄對應(yīng)的地圖數(shù)據(jù)的存儲地址。
13.一種應(yīng)用程序及數(shù)據(jù)下載方法,其特征在于,所述方法包括 從應(yīng)用商店服務(wù)器下載導航應(yīng)用程序文件,所述導航應(yīng)用程序文件的數(shù)據(jù)讀取路徑指向所述導航應(yīng)用程序的文件目錄; 安裝所述導航應(yīng)用程序文件并生成所述導航應(yīng)用程序的文件目錄從數(shù)據(jù)服務(wù)器下載所述導航應(yīng)用程序的地圖數(shù)據(jù)文件到所述文件目錄,所述地圖數(shù)據(jù)文件由目錄和地圖數(shù)據(jù)構(gòu)成; 所述數(shù)據(jù)服務(wù)器架設(shè)在下載所述地圖數(shù)據(jù)文件的終端所在的國家。
14.如權(quán)利要求12所述的方法,其特征在于,所述方法進一步包括 判斷所述地圖數(shù)據(jù)文件是否完整,如果完整,則將所述地圖數(shù)據(jù)文件從所述導航應(yīng)用程序的文件目錄剪切到所述導航應(yīng)用程序的緩存目錄。
15.如權(quán)利要求13或14所述的方法,其特征在于,所述目錄包括路徑,大小和偏移量,則所述方法進一步包括 獲取所述地圖數(shù)據(jù)文件中所有目錄的大?。? 根據(jù)所有目錄的大小及每一條目錄中記錄的偏移量,計算每一條目錄對應(yīng)的地圖數(shù)據(jù)的存儲地址。
全文摘要
本發(fā)明實施例提供了一種數(shù)據(jù)文件的生成方法、應(yīng)用程序和數(shù)據(jù)下載系統(tǒng)和方法。其中,一種數(shù)據(jù)文件的生成方法包括遍歷數(shù)據(jù)文件夾內(nèi)每一個數(shù)據(jù)文件,得到每一個數(shù)據(jù)文件的目錄;將所述每一個數(shù)據(jù)文件的目錄寫入一個新的文件;從所述數(shù)據(jù)文件夾內(nèi),讀取所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容;將所述每一個數(shù)據(jù)文件的數(shù)據(jù)內(nèi)容添加到所述新的文件,得到一個新的數(shù)據(jù)文件。本發(fā)明實施例提供的數(shù)據(jù)文件的生成方法,能夠生成可供單獨下載的數(shù)據(jù)文件。本發(fā)明實施例提供的應(yīng)用程序和數(shù)據(jù)下載系統(tǒng)和方法,能夠?qū)崿F(xiàn)應(yīng)用程序和數(shù)據(jù)的分離下載,縮短了應(yīng)用程序和數(shù)據(jù)的下載時間,方便了用戶的使用,帶給用戶更好的體驗。
文檔編號G06F17/30GK103034642SQ20111029814
公開日2013年4月10日 申請日期2011年9月30日 優(yōu)先權(quán)日2011年9月30日
發(fā)明者李秋標, 廖宇, 林勁捷 申請人:高德軟件有限公司