[發明專利]一種程序升級下載方法和裝置有效
| 申請號: | 201210533790.0 | 申請日: | 2012-12-11 |
| 公開(公告)號: | CN103051689A | 公開(公告)日: | 2013-04-17 |
| 發明(設計)人: | 王東玉;蘇云琳 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;G06F17/30 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 蘇培華 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 程序 升級 下載 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,具體涉及一種程序升級下載方法和裝置。
背景技術
對于程序升級來說,比如游戲程序等應用程序,一般存在兩種方式:
一是整包升級,就是將一個程序版本的所有文件組合安裝包,由終端升級程序下載之后執行對原有版本進行安裝或升級。
二是差異升級,方式是將數據文件按照某種方式存儲,并形成一個數據文件列表,將這些數據文件的部分信息寫入,終端的升級程序先下載數據文件列表并與本地文件比對,形成差異列表,之后下載相應的數據文件進行升級。
但是在實際中,現有技術可對產品隔一段時間做一次新版本,以使新用戶無需從原始版本開始安裝,然后逐個升級至最新版本。
比如,對于一個初始版本安裝包A,其后續數據文件包括數據文件A1,數據文件A2,為了保證客戶端能夠進行差異升級需要一個單獨的列表文件L1將對A,A1,A2的相關信息進行順序存儲。而為了使后續新的用戶可以直接安裝當前最新的產品,則可將A+A1+A2做成第二版的安裝包B,而在此之后出現的數據文件針對第二版的數據文件B1,B2,那么為了保證安裝初始版本的客戶端和第二版本的客戶端均可正常升級,那么需要對初始版本的數據文件重新更改列表文件,并針對第二版本的數據文件更改列表文件;那么以此類推,如果為了使客戶端不用從初始版本開始安裝產品,并逐個升級至最新狀態,隨著升級的數據的增加,其版本可能越來越多,存在于服務器中的文件相應增加量更多。
對于整包升級,文件的一致性比較好,不用考慮版本問題,下載邏輯比較簡單,但對于用戶來說,下載量比較大,每次升級都會有較多的冗余數據。
對于差異升級,只下載差異數據,缺點是文件量很大,但是對于前述情況,如果針對同一產品,其版本很多的時,首先,由于各版本的文件之間需要保持一致,那么隨著版本的大量增加,各種版本相應的文件數量增加,導致維持各種版本文件的一致性的邏輯也越來越復雜。其次,由于服務器中存在各種版本的文件,導致目錄中文件過多,而對于某個客戶端的升級請求,服務器查詢其存儲的相應于所述升級請求的文件時,需要遍歷的文件也非常龐大,影響服務器性能。再次,由于相應文件個數相對很多,對于存儲和管理不方便,并且占用存儲空間也大。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種程序升級下載裝置、系統和相應的一種程序升級下載方法。
依據本發明的一個方面,提供了一種程序升級下載的方法,包括:
生成一個可執行文件,所述可執行文件用于:將用于原始安裝的升級數據、以及后續新獲得的用于升級的升級數據存入所述可執行文件數據區,并在所述升級數據區的指定字節位置或數據段存儲列表文件數據;所述列表文件數據記錄的包括:安裝數據和各升級數據的文件特征信息,和安裝數據和各升級數據在數據區中存儲的字節位置或數據段;
基于所述可執行文件的程序升級下載過程包括:
接收客戶端的程序升級下載請求;
根據所述程序升級下載請求,獲取所述可執行文件數據區中指定字節位置或數據段存儲的第一列表文件數據和獲取對應客戶端可執行文件的第二列表文件數據,并比較所述第一列表文件數據和第二列表文件數據的文件特征信息,判斷是否存在客戶端未下載的升級數據;
如果存在,則根據列表文件數據記錄的所述升級數據在在數據區中存儲的字節位置或數據段,從所述可執行文件數據區中提取升級數據并將所升級數據提供給客戶端下載。
可選的,所述根據所述程序升級下載請求,獲取所述可執行文件數據區中指定字節位置或數據段存儲的第一列表文件數據和獲取對應客戶端可執行文件的第二列表文件數據,并比較所述第一列表文件數據和第二列表文件數據的文件特征信息,判斷是否存在客戶端未下載的數據包括:
從所述可執行文件數據區的指定字節位置或者數據段中,提取第一列表文件數據;
通知客戶端將其可執行文件中的第二列表文件數據上傳;
將第二列表文件數據與第一列表文件數據的文件特征信息比較,獲得的客戶端未下載的升級數據在所述可執行文件數據區中存儲的字節位置或數據段。
可選的,所述根據所述程序升級下載請求,獲取所述可執行文件數據區中指定字節位置或數據段存儲的第一列表文件數據和獲取對應客戶端可執行文件的第二列表文件數據,并比較所述第一列表文件數據和第二列表文件數據的文件特征信息,判斷是否存在客戶端未下載的升級數據包括:
從所述可執行文件數據區的指定字節位置或者數據段中,提取第一列表文件數據提供給客戶端下載;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210533790.0/2.html,轉載請聲明來源鉆瓜專利網。





