欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種軟件更新方法、裝置和軟件更新數(shù)據(jù)發(fā)布方法、系統(tǒng)與流程

文檔序號:12786151閱讀:509來源:國知局
一種軟件更新方法、裝置和軟件更新數(shù)據(jù)發(fā)布方法、系統(tǒng)與流程

本發(fā)明涉及計算機技術(shù)領(lǐng)域,具體涉及一種軟件更新方法、裝置和軟件更新數(shù)據(jù)發(fā)布方法、系統(tǒng)。



背景技術(shù):

現(xiàn)有的軟件或者系統(tǒng)發(fā)布后,會對程序上的各種漏洞或缺陷進行軟件或系統(tǒng)的更新,通常情況下每進行一次更新就發(fā)布一個相應的安裝包,以便用戶進行下載安裝。這樣會導致軟件或系統(tǒng)更新的碎片化較為嚴重。為了解決軟件或系統(tǒng)更新碎片化嚴重的問題,微軟引入了一種累計更新包的發(fā)布機制,即不再使用過去的分散獨立安裝包的形式,而是改用每月一個大累計更新包的形式。特別是,在2016年8月份,微軟已經(jīng)在其官方博客中表示,這種累計更新的方式除了運用在windows10系統(tǒng)中,還將逐步應用到目前支持更新的所有系統(tǒng)(win7sp1、win8.1等),同時會逐步取消分散獨立安裝包的更新發(fā)布形式。

若完全采用了微軟提出的新的更新發(fā)布機制,在目前更新的實現(xiàn)方案下,會存在如下問題:(1)累計更新包的體積較大(例如,win10x64累計更新已超過1G),若要對國內(nèi)海量用戶集中發(fā)布,對帶寬資源將是一個嚴峻的挑戰(zhàn),發(fā)布難度加大;(2)對具體的某臺用戶電腦來說,累計更新包中存在很多無用信息,這會造成不必要的流量浪費。



技術(shù)實現(xiàn)要素:

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的一種軟件更新方法和相應的裝置,以及一種軟件更新數(shù)據(jù)發(fā)布方法和相應的系統(tǒng)。

依據(jù)本發(fā)明的一個方面,提供了一種軟件更新方法,其中,該方法包括:

當滿足預設條件時,獲取指定軟件的掃描庫,并根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,確定對該指定軟件進行更新所需要安裝的補丁,以及從掃描庫獲取所需要安裝的補丁的快速體驗包的關(guān)鍵信息;

根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包,根據(jù)所下載的快速體驗包確定對該指定軟件進行更新所需要的差量文件的關(guān)鍵信息;

根據(jù)所述差量文件的關(guān)鍵信息下載相應的差量文件,通過合并該指定軟件的本地文件和所述差量文件得到完整的安裝包,并進行安裝。

可選地,所述獲取指定軟件的掃描庫包括:

從指定路徑下載該指定軟件的最新版本的全量掃描庫;

或者,從指定路徑下載該指定軟件的增量掃描庫,并與本地的該指定軟件的掃描庫的進行合并。

可選地,所述根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包包括:

根據(jù)快速體驗包的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求快速體驗包索引信息;

根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包。

可選地,所述快速體驗包索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

所述根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包包括:根據(jù)快速體驗包下載URL從CDN下載相應的快速體驗包,并利用快速體驗包校驗信息對所下載的快速體驗包進行校驗。

可選地,所述根據(jù)所述差量文件的關(guān)鍵信息下載相應的差量文件包括:

根據(jù)差量文件的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求差量文件索引信息;

根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件。

可選地,所述差量文件索引信息包括:差量文件下載URL和差量文件校驗信息;

所述根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件包括:根據(jù)差量文件下載URL從CDN下載相應的差量文件,并利用差量文件校驗信息對所下載的差量文件進行校驗。

可選地,該方法進一步包括:

當下載不到相應的差量文件時,下載補丁全量包,并安裝。

根據(jù)本發(fā)明的另一方面,提供了一種軟件更新數(shù)據(jù)發(fā)布方法,其中,該方法包括:

從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù);所述更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件;

將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備下載;

將所述掃描庫通過指定通道進行發(fā)布,所述掃描庫中包含補丁的快速體驗包的關(guān)鍵信息,從而使得終端設備獲取掃描庫并根據(jù)掃描庫確定對其本地安裝的指定軟件進行更新所需要安裝的補丁。

可選地,所述將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備進行下載包括:

將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡CDN的各個節(jié)點上;

計算補丁的快速體驗包的索引信息,以及計算差量集合文件中的各差量文件的索引信息;

將快速體驗包的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中,以及將各差量文件的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中;

其中,

補丁的快速體驗包的索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

差量文件的索引信息包括:差量文件下載URL和差量文件校驗信息。

可選地,該方法進一步包括:

鍵值服務器集群系統(tǒng)在接收到終端設備發(fā)送的包含快速體驗包的關(guān)鍵信息的請求時,向該終端設備返回相應的快速體驗包索引信息,以及在接收到終端設備發(fā)送的包含差量文件的關(guān)鍵信息的請求時,向該終端設備返回相應的差量文件的索引信息。

可選地,該方法進一步包括:

CDN在接收到終端設備發(fā)送的包含快速體驗包下載URL的請求時,向終端設備返回相應的快速體驗包,以及在接收到終端設備發(fā)送的包含差量文件下載URL的請求時,從差量集合文件中截取相應的差量文件并返回給該終端設備。

可選地,該方法進一步包括:

CDN在接收到終端設備發(fā)送的補丁全量包下載請求時,將相應的補丁全量包返回給終端設備。

可選地,該方法進一步包括:

對掃描庫和計算得到的各索引信息進行備份處理。

根據(jù)本發(fā)明的又一方面,提供了一種軟件更新裝置,其中,該裝置包括:

掃描處理單元,適于當滿足預設條件時,獲取指定軟件的掃描庫,并根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,確定對該指定軟件進行更新所需要安裝的補丁,以及從掃描庫獲取所需要安裝的補丁的快速體驗包的關(guān)鍵信息;

更新處理單元,適于根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包,根據(jù)所下載的快速體驗包確定對該指定軟件進行更新所需要的差量文件的關(guān)鍵信息;以及適于根據(jù)所述差量文件的關(guān)鍵信息下載相應的差量文件,通過合并該指定軟件的本地文件和所述差量文件得到完整的安裝包,并進行安裝。

可選地,所述掃描處理單元,適于從指定路徑下載該指定軟件的最新版本的全量掃描庫;或者,從指定路徑下載該指定軟件的增量掃描庫,并與本地的該指定軟件的掃描庫的進行合并。

可選地,所述更新處理單元,適于根據(jù)快速體驗包的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求快速體驗包索引信息;以及適于根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包。

可選地,所述快速體驗包索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

所述更新處理單元,適于根據(jù)快速體驗包下載URL從CDN下載相應的快速體驗包,并利用快速體驗包校驗信息對所下載的快速體驗包進行校驗。

可選地,所述更新處理單元,適于根據(jù)差量文件的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求差量文件索引信息;以及適于根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件。

可選地,所述差量文件索引信息包括:差量文件下載URL和差量文件校驗信息;

所述更新處理單元,適于根據(jù)差量文件下載URL從CDN下載相應的差量文件,并利用差量文件校驗信息對所下載的差量文件進行校驗。

可選地,所述更新處理單元,進一步適于當下載不到相應的差量文件時,下載補丁全量包,并安裝。

根據(jù)本發(fā)明的再一方面,提供了一種軟件更新數(shù)據(jù)發(fā)布系統(tǒng),其中,該系統(tǒng)包括:發(fā)布服務器和分布式網(wǎng)絡;

發(fā)布服務器,適于從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù);所述更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件;適于將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備下載;以及適于將所述掃描庫通過指定通道進行發(fā)布,所述掃描庫中包含補丁的快速體驗包的關(guān)鍵信息,從而使得終端設備獲取掃描庫并根據(jù)掃描庫確定對其本地安裝的指定軟件進行更新所需要安裝的補丁。

供終端設備進行下載。

可選地,所述分布式網(wǎng)絡包括:內(nèi)容分發(fā)網(wǎng)絡CDN和鍵值服務器集群系統(tǒng);

所述發(fā)布服務器,適于將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡CDN的各個節(jié)點上;計算補丁的快速體驗包的索引信息,以及計算差量集合文件中的各差量文件的索引信息;將快速體驗包的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中,以及將各差量文件的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中;

其中,

補丁的快速體驗包的索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

差量文件的索引信息包括:差量文件下載URL和差量文件校驗信息。

可選地,鍵值服務器集群系統(tǒng),適于在接收到終端設備發(fā)送的包含快速體驗包的關(guān)鍵信息的請求時,向該終端設備返回相應的快速體驗包索引信息,以及在接收到終端設備發(fā)送的包含差量文件的關(guān)鍵信息的請求時,向該終端設備返回相應的差量文件的索引信息。

可選地,所述CDN,適于在接收到終端設備發(fā)送的包含快速體驗包下載URL的請求時,向終端設備返回相應的快速體驗包,以及在接收到終端設備發(fā)送的包含差量文件下載URL的請求時,從差量集合文件中截取相應的差量文件并返回給該終端設備。

可選地,所述CDN,適于在接收到終端設備發(fā)送的補丁全量包下載請求時,將相應的補丁全量包返回給終端設備。

可選地,所述發(fā)布服務器,進一步適于對掃描庫和計算得到的各索引信息進行備份處理。

根據(jù)本發(fā)明的技術(shù)方案,通過使用指定軟件的掃描庫,對本地安裝的指定軟件進行掃描,獲得該指定軟件需要安裝的補丁的快速體驗包,進而確定該指定軟件進行更新需要的差量文件的關(guān)鍵信息,根據(jù)該差量文件的關(guān)鍵信息下載相應的差量文件,合并該指定軟件的本地文件和差量文件得到完整的安裝包后,進行安裝以修復該指定軟件存在的漏洞或缺陷??梢?,本技術(shù)方案是根據(jù)指定軟件的更新需求進行差量文件的下載,排除了累計更新包中對該指定軟件更新無用的文件;且這種差量文件的體積比累計更新文件的體積小,下載時可節(jié)省下載流量,對帶寬資源的要求不高。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1示出了根據(jù)本發(fā)明一個實施例的一種軟件更新方法的流程示意圖;

圖2示出了根據(jù)本發(fā)明一個實施例的軟件更新數(shù)據(jù)發(fā)布方法的流程示意圖;

圖3示出了根據(jù)本發(fā)明一個實施例的軟件更新和軟件更新數(shù)據(jù)發(fā)布的整體流程示意圖;

圖4示出了根據(jù)本發(fā)明一個實施例的軟件更新裝置的結(jié)構(gòu)示意圖;

圖5示出了根據(jù)本發(fā)明一個實施例的軟件更新數(shù)據(jù)發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖;

圖6示出了根據(jù)本發(fā)明另一個實施例的軟件更新數(shù)據(jù)發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

圖1示出了根據(jù)本發(fā)明一個實施例的一種軟件更新方法的流程示意圖。從客戶端側(cè)說明本方案的軟件更新實施過程。如圖1所示,該方法包括:

步驟S110,當滿足預設條件時,獲取指定軟件的掃描庫,并根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,確定對該指定軟件進行更新所需要安裝的補丁,以及從掃描庫獲取所需要安裝的補丁的快速體驗包的關(guān)鍵信息。

滿足預設條件是指滿足軟件更新的預設條件,例如,當用戶主動觸發(fā)軟件更新時,或者后臺定時器到達預設時間時,需要進行軟件更新。因為軟件的更新服務器在監(jiān)測到軟件發(fā)布方進行軟件的更新后,更新服務器端會同步更新數(shù)據(jù),并發(fā)布該軟件的掃描庫,掃描庫中會記錄該軟件更新的補丁名稱、描述信息等,用戶可以根據(jù)自身需求進行相應的補丁的下載;同時掃描庫中還有于補丁相對應的快速體驗包的關(guān)鍵信息(即快速體驗包的Key)。在本實施例中,當滿足預設條件時,獲取該指定軟件的掃描庫,根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,找出掃描庫中有的,而本地安裝的該指定軟件中沒有的補丁,即確定出該指定軟件需要安裝的補丁,以及獲取需要安裝的補丁的快速體驗包的關(guān)鍵信息。

例如,一個具體的掃描方法是:當獲取到掃描庫后,枚舉掃描庫中的所有更新補丁,得到一更新列表;從更新列表中取一個更新,若該更新的父依賴通過檢測,枚舉該更新的所有子更新,得到子更新列表,從子更新列表中取出一個子更新,若該子更新的父依賴通過檢測,判斷該子更新是否已經(jīng)安裝,若沒有安裝,再判斷該子更新是否適用,若判斷為是,則添加該子更新到子更新掃描結(jié)果集,直至子更新列表遍歷完畢;當子更新列表遍歷完畢后,在子更新掃描結(jié)果集不為空的情況下,將該子更新對應的更新添加至掃描結(jié)果集,直至更新列表遍歷完畢,得到掃描結(jié)果集,則掃描結(jié)束。通過該掃描結(jié)果集就可以確定出該指定軟件需要安裝的更新補丁。

步驟S120,根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包,根據(jù)所下載的快速體驗包確定對該指定軟件進行更新所需要的差量文件的關(guān)鍵信息。

當掃描結(jié)束后,獲取到快速體驗包的關(guān)鍵信息后,可以根據(jù)該關(guān)鍵信息下載該快速體驗包。為了進一步確定該指定軟件需要更新的文件,可以通過下載的快速體驗包確定該指定軟件進行更新所需要的差量文件的關(guān)鍵信息,這里差量文件指的是二進制差量(binary diff patch,即碎片文件),差量文件可以理解為該指定軟件的缺失文件。

例如,一個具體的確定差量文件的方法是:當快速體驗包下載后,解壓到臨時安裝目錄中(該臨時安裝目錄可以自定義),枚舉說是有以psf.cix.xml結(jié)尾的文件,得到xml文件集合,總xml文件結(jié)合中取出一個xml文件,枚舉該xml文件中所有的files/file節(jié)點,得到文件集合,從文件集合中取出一個文件,判斷winsxs歷史版本中是否存在該文件,若存在,復制該文件到臨時安裝目錄,若不存在,則將該文件的相對路徑寫入缺失文件清單中(差量文件清單),當遍歷xml文件集合中每一個xml文件的文件集合后,得到該指定軟件的差量文件清單,根據(jù)該差量文件清單,獲得差量文件清單中的差量文件的關(guān)鍵信息。

步驟S130,根據(jù)差量文件的關(guān)鍵信息下載相應的差量文件,通過合并該指定軟件的本地文件和差量文件得到完整的安裝包,并進行安裝。

例如,一個具體的安裝方法是:獲得差量文件清單中的差量文件的關(guān)鍵信息后,通過該關(guān)鍵信息向文件服務器獲取相應的差量文件包并下載,下載成功后,將其解壓到臨時安裝目錄,根據(jù)臨時安裝目錄,通過CBS啟動安裝。需要說明的是,在本具體例子中,因為臨時安裝目錄中包含有winsxs歷史版本中已經(jīng)存在的文件,則該臨時安裝目錄即是該指定軟件的完整安裝包的安裝目錄,相當于步驟S130通過合并該指定軟件的本地文件和差量文件得到完整的安裝包。

可見,本技術(shù)方案是根據(jù)指定軟件的更新需求進行差量文件的下載,排除了累計更新包中對該指定軟件更新無用的文件;且這種差量文件的體積比累計更新文件的體積小,下載時可節(jié)省下載流量,對帶寬資源的要求不高。

同時,累計更新包的更新機制是累計一段時間后對軟件的更新進行統(tǒng)一發(fā)布,只能使用戶分時段進行更新,會造成更新的滯后。而本技術(shù)方案中,用戶可以隨時啟動更新,從相應的更新服務器中獲得更新數(shù)據(jù)包,讓用戶早于軟件發(fā)布方的發(fā)布及時獲得更新。

另外,該方案中用戶可以通過掃描庫自行選擇指定軟件進行更新所需要安裝的補丁,提升了用戶的體驗。并且用戶還可以通過對更新后軟件的使用體驗,反饋問題,以便對其他用戶進行提醒或者屏蔽相關(guān)問題,降低了用戶因更新軟件造成的無法使用的風險。

在本發(fā)明的一個實施例中,步驟S110中的獲取指定軟件的掃描庫可以從指定路徑下載該指定軟件的最新版本的全量掃描庫,該全量掃描庫是相應的更新服務器已經(jīng)發(fā)布的全量掃描庫。

在本發(fā)明的一個實施例中,步驟S110中的獲取指定軟件的掃描庫也可以是從指定路徑下載該指定軟件的增量掃描庫,并與本地的該指定軟件的掃描庫的進行合并。

例如,當用戶手動或后臺定時器觸發(fā)掃描時,首先更新增量掃描庫libleak2_diff.dat(增量庫邏輯先不實現(xiàn)),請求成功后,加載本地下發(fā)的掃描全庫的最新版本libleak2.dat以及增量掃描庫libleak2_diff.dat,兩者合并后,再依據(jù)掃描庫中規(guī)則對本地的指定軟件進行掃描,生成掃描結(jié)果集。

當指定軟件的更新數(shù)據(jù)發(fā)布后,可以從鍵值服務器集群系統(tǒng)KV請求索引信息以及從內(nèi)容分發(fā)網(wǎng)絡CDN請求更新數(shù)據(jù),完成所需數(shù)據(jù)包的下載。

當所需數(shù)據(jù)包為快速體驗包,在本發(fā)明的一個實施例中,步驟S120根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包包括:根據(jù)快速體驗包的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求快速體驗包索引信息;根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包。其中,上述的快速體驗包索引信息包括:快速體驗包下載URL和快速體驗包校驗信息。

那么上述的根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包包括:根據(jù)快速體驗包下載URL從CDN下載相應的快速體驗包,并利用快速體驗包校驗信息對所下載的快速體驗包進行校驗,校驗通過以后,下載的快速體驗包才可以解壓。

當所需數(shù)據(jù)包為差量文件,在本發(fā)明的一個實施例中,步驟S130中的根據(jù)差量文件的關(guān)鍵信息下載相應的差量文件包括:根據(jù)差量文件的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求差量文件索引信息;根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件。其中,差量文件索引信息包括:差量文件下載URL和差量文件校驗信息。

那么上述的根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件包括:根據(jù)差量文件下載URL從CDN下載相應的差量文件,并利用差量文件校驗信息對所下載的差量文件進行校驗。

在一個具體的例子中,當根據(jù)掃描庫掃描完成后,可以從掃描結(jié)果集中選擇需要安裝的更新,然后啟動安裝過程。首先,根據(jù)獲得的快速體驗包的關(guān)鍵信息key,使用該key向KV請求快速體驗包的索引信息,當KV返回快速體驗包索引信息后,從中提取出快速體驗包下載URL,然后利用該URL向CDN請求快速體驗包,當CDN返回快速體驗包后,利用索引信息中的摘要等校驗信息對快速體驗包進行校驗??焖袤w驗包校驗通過后,根據(jù)快速體驗包確定該指定軟件進行更新所需要的碎片文件(差量文件)的關(guān)鍵信息key,使用碎片文件的key向KV請求碎片文件的索引信息,當KV返回碎片文件的索引信息后,從中提取出碎片文件的下載URL,然后利用該URL向CDN請求碎片文件,當CDN返回碎片文件后,利用CDN索引信息中的摘要等校驗信息對碎片文件進行校驗。所有碎片都校驗通過后,通過合并本地文件及碎片文件生成完整包,最后調(diào)用CBS接口對合成的完整包進行安裝。

如果根據(jù)下載的快速體驗包無法確定該指定軟件進行更新所需要的差量文件的關(guān)鍵信息,無法下載相應的差量文件時,在本發(fā)明的一個實施例中,圖1所示的方法進一步包括:當下載不到相應的差量文件時,下載補丁全量包,并安裝。

圖2示出了根據(jù)本發(fā)明一個實施例的軟件更新數(shù)據(jù)發(fā)布方法的流程示意圖,從服務器側(cè)說明本方案的軟件更新數(shù)據(jù)發(fā)布實施過程。當有軟件更新時,需要將新數(shù)據(jù)同步并加以處理,然后發(fā)布給用戶,以便用戶進行軟件的更新安裝。如圖2所示,該方法包括:

步驟S210,從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù);更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件。

為了及時進行更新數(shù)據(jù)的發(fā)布,需要從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù)。為了實現(xiàn)本方案中的差量更新,方便用戶安裝,需要獲取的更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件。

為了獲取該指定軟件的更新數(shù)據(jù),可以搭建一臺標準WSUS服務器(例如,搭建在winserver 2012r2x64上),定時(例如,每30分鐘一次)從指定軟件的服務器同步最新的更新數(shù)據(jù)庫。更新數(shù)據(jù)庫里面會包含重要的更新信息,主要有:全平臺掃描庫、所有更新的快速體驗包URL、所有更新的完整包URL及更新的差量集合文件URL。作為更新數(shù)據(jù)的唯一數(shù)據(jù)源,這臺WSUS服務器更新數(shù)據(jù)必須快速、可靠,應該做到外網(wǎng)不可訪問、內(nèi)網(wǎng)嚴格限制訪問、關(guān)閉所有不必要的端口等。

步驟S220,將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備下載。

根據(jù)獲取到的更新數(shù)據(jù)庫中的URL,將更新數(shù)據(jù)(快速體驗包、完整包、差量集合文件)下載到本W(wǎng)SUS服務器中,以便終端設備可以進行下載。具體地,首先,將下載的更新數(shù)據(jù)文件(快速體驗包、完整包及差量集合文件)上傳到內(nèi)容分發(fā)網(wǎng)絡CDN并同步到全網(wǎng)結(jié)點;其次,計算這些更新文件key及索引信息(更新文件的摘要信息、大小及發(fā)布到CDN上的pdown格式的URL)推送到鍵值KV服務器群集建立索引。

同時,還需要對掃描庫按平臺進行拆分,并以特定目錄結(jié)構(gòu)存放于本W(wǎng)SUS服務器。因為掃描庫中可能是各種類型或各種系統(tǒng)平臺的綜合,需要將掃描庫按照類型或者系統(tǒng)平臺進行拆分。例如,掃描庫中包含win7、win8.1、win10、office軟件等,需要將該掃描庫拆分成win7掃描庫、win8.1掃描庫、win10掃描庫、office軟件掃描庫,然后以特定目錄結(jié)構(gòu)存放于本W(wǎng)SUS服務器,以便終端設備可以下載指定軟件的最新版本的掃描庫。

具體的拆分過程可以是:在WSUS服務器調(diào)用WsusUtil命令導出掃描全庫,使用UpdateMake根據(jù)特定產(chǎn)品ID導出更新列表,使用WsusScan根據(jù)掃描全庫以及更新列表生成各個軟件或平臺的掃描庫,分別打包成獨立文件后存儲。這里的UpdateMake和WusuScan是自實現(xiàn)的命令。

步驟S230,將掃描庫通過指定通道進行發(fā)布,掃描庫中包含補丁的快速體驗包的關(guān)鍵信息,從而使得終端設備獲取掃描庫并根據(jù)掃描庫確定對其本地安裝的指定軟件進行更新所需要安裝的補丁。

例如,通過360漏洞修修復服務器V5通道發(fā)布拆分后的掃描庫。

可見,依據(jù)本發(fā)明的軟件更新數(shù)據(jù)發(fā)布方案,可以為終端設備提供差量文件的下載,以便終端設備完成軟件的更新,排除累計更新包中對該指定軟件更新無用的文件;且這種差量文件的體積比累計更新文件的體積小,在進行更新數(shù)據(jù)發(fā)布的時候?qū)捹Y源的要求不高。

而且,如果是國外軟件,從該軟件的發(fā)布方服務器中直接獲取更新數(shù)據(jù),會給用戶帶來下載速度慢等問題,嚴重影響用戶體驗。而本發(fā)明的技術(shù)方案直接向用戶提供軟件的更新數(shù)據(jù),特別是針對國內(nèi)用戶使用國外軟件的情況,更新數(shù)據(jù)的下載速度遠大于直接獲取更新數(shù)據(jù)。

在本發(fā)明的一個實施例中,步驟S220中的將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備進行下載包括:將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡CDN的各個節(jié)點上;計算補丁的快速體驗包的索引信息,以及計算差量集合文件中的各差量文件的索引信息;將快速體驗包的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中,以及將各差量文件的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中。

其中,補丁的快速體驗包的索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;差量文件的索引信息包括:差量文件下載URL和差量文件校驗信息。

進一步地,上述方法進一步包括:

鍵值服務器集群系統(tǒng)在接收到終端設備發(fā)送的包含快速體驗包的關(guān)鍵信息的請求時,向該終端設備返回相應的快速體驗包索引信息,以及在接收到終端設備發(fā)送的包含差量文件的關(guān)鍵信息的請求時,向該終端設備返回相應的差量文件的索引信息。

那么,CDN在接收到終端設備發(fā)送的包含快速體驗包下載URL的請求時,向終端設備返回相應的快速體驗包,以及在接收到終端設備發(fā)送的包含差量文件下載URL的請求時,從差量集合文件中截取相應的差量文件并返回給該終端設備。

如果終端設備側(cè)無法確定該指定軟件進行更新所需要的差量文件的關(guān)鍵信息,無法下載相應的差量文件時,會發(fā)送補丁全量包下載請求,那么,在本發(fā)明的一個實施例中,上述方法進一步包括:

CDN在接收到終端設備發(fā)送的補丁全量包下載請求時,將相應的補丁全量包返回給終端設備。

在本發(fā)明的一個實施例中,圖2所示的方法進一步包括:對掃描庫和計算得到的各索引信息進行備份處理。

更新數(shù)據(jù)發(fā)布完成后,需要對數(shù)據(jù)進行備份,以防止服務器突然出現(xiàn)的異常情況。這里,主要需要備份已經(jīng)計算完成的索引信息及各平臺掃描庫。另外,可以采用異地備份策略,備份于其它服務器,以便更好的避免異常情況的發(fā)生。

圖3示出了根據(jù)本發(fā)明一個實施例的軟件更新和軟件更新數(shù)據(jù)發(fā)布的整體流程示意圖。如圖3所示,整個流程需要經(jīng)過服務器側(cè)和客戶端側(cè)相結(jié)合完成。在服務器側(cè)包括有WSUS服務器、CDN和KV。

當指定軟件進行更新后,WSUS服務器會進行更新數(shù)據(jù)的同步(更新數(shù)據(jù)主要包括:全平臺掃描庫、所有更新的快速體驗包、所有更新的完整包及差量集合文件),下載更新數(shù)據(jù),提取并拆分全量掃描庫,發(fā)布更新數(shù)據(jù)(更新數(shù)據(jù)主要包括:所有更新的快速體驗包、所有更新的完整包及差量集合文件)到CDN上,CDN同步更新數(shù)據(jù)到全國各個結(jié)點上;WSUS服務器會推送更新數(shù)據(jù)的索引信息到KV,以便KV建立更新數(shù)據(jù)的索引緩存。然后,WSUS服務器會對更新文件中PE文件進行加白處理,最后通過V5通道發(fā)布拆分后掃描庫。

當進行軟件更新時,客戶端側(cè)觸發(fā)掃描后,通過發(fā)布的掃描庫更新本地的掃描庫,然后通過更新后的掃描庫掃描安裝在本地的指定軟件的本地環(huán)境,得到該指定軟件需要安裝的更新。觸發(fā)安裝程序,計算需要安裝的更新的快速體驗包的key,使用該快速體驗包的key向KV請求快速體驗包的索引信息;KV接收到指定軟件的快速體驗包的索引信息請求后,根據(jù)索引緩存,將快速體驗包的索引信息(索引信息包括:快速體驗包的URL和校驗信息)返回給客戶端;客戶端接收快速體驗包的索引信息后,根據(jù)快速體驗包的URL向CDN發(fā)送下載請求;CDN返回快速體驗包的數(shù)據(jù);客戶端下載快速體驗包,根據(jù)校驗信息校驗下載的快速體驗包,并根據(jù)快速體驗包確定該指定軟件的碎片文件的key,使用碎片文件的key向KV發(fā)送碎片文件的索引信息請求;KV接收到指定軟件的碎片文件的索引信息請求后,根據(jù)索引緩存,將碎片文件的索引信息(索引信息包括:碎片文件的URL和校驗信息)返回給客戶端;客戶端接收碎片文件的索引信息后,根據(jù)碎片文件的URL向CDN發(fā)送下載請求,CDN返回碎片文件的數(shù)據(jù);客戶端下載碎片文件,根據(jù)校驗信息校驗下載的碎片文件,校驗成功后,合并碎片文件和本地文件得到指定軟件的完整包,根據(jù)完整包進行指定軟件的安裝。

圖4示出了根據(jù)本發(fā)明一個實施例的軟件更新裝置的結(jié)構(gòu)示意圖。如圖3所示,該軟件更新裝置400包括:

掃描處理單元410,適于當滿足預設條件時,獲取指定軟件的掃描庫,并根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,確定對該指定軟件進行更新所需要安裝的補丁,以及從掃描庫獲取所需要安裝的補丁的快速體驗包的關(guān)鍵信息。

滿足預設條件是指滿足軟件更新的預設條件,例如,當用戶主動觸發(fā)軟件更新時,或者后臺定時器到達預設時間時,需要進行軟件更新。因為軟件的更新服務器在監(jiān)測到軟件發(fā)布方進行軟件的更新后,更新服務器端會同步更新數(shù)據(jù),并發(fā)布該軟件的掃描庫,掃描庫中會記錄該軟件更新的補丁名稱、描述信息等,用戶可以根據(jù)自身需求進行相應的補丁的下載;同時掃描庫中還有于補丁相對應的快速體驗包的關(guān)鍵信息(即快速體驗包的Key)。在本實施例中,當滿足預設條件時,獲取該指定軟件的掃描庫,根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,找出掃描庫中有的,而本地安裝的該指定軟件中沒有的補丁,即確定出該指定軟件需要安裝的補丁,以及獲取需要安裝的補丁的快速體驗包的關(guān)鍵信息。

例如,一個具體的掃描方法是:當獲取到掃描庫后,枚舉掃描庫中的所有更新補丁,得到一更新列表;從更新列表中取一個更新,若該更新的父依賴通過檢測,枚舉該更新的所有子更新,得到子更新列表,從子更新列表中取出一個子更新,若該子更新的父依賴通過檢測,判斷該子更新是否已經(jīng)安裝,若沒有安裝,再判斷該子更新是否適用,若判斷為是,則添加該子更新到子更新掃描結(jié)果集,直至子更新列表遍歷完畢;當子更新列表遍歷完畢后,在子更新掃描結(jié)果集不為空的情況下,將該子更新對應的更新添加至掃描結(jié)果集,直至更新列表遍歷完畢,得到掃描結(jié)果集,則掃描結(jié)束。通過該掃描結(jié)果集就可以確定出該指定軟件需要安裝的更新補丁。

更新處理單元420,適于根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包,根據(jù)所下載的快速體驗包確定對該指定軟件進行更新所需要的差量文件的關(guān)鍵信息;以及適于根據(jù)差量文件的關(guān)鍵信息下載相應的差量文件,通過合并該指定軟件的本地文件和差量文件得到完整的安裝包,并進行安裝。

當掃描結(jié)束后,獲取到快速體驗包的關(guān)鍵信息后,可以根據(jù)該關(guān)鍵信息下載該快速體驗包。為了進一步確定該指定軟件需要更新的文件,可以通過下載的快速體驗包確定該指定軟件進行更新所需要的差量文件的關(guān)鍵信息,這里差量文件指的是二進制差量(binary diff patch,即碎片文件),差量文件可以理解為該指定軟件的缺失文件。

例如,一個具體的確定差量文件的方法是:當快速體驗包下載后,解壓到臨時安裝目錄中(該臨時安裝目錄可以自定義),枚舉說是有以psf.cix.xml結(jié)尾的文件,得到xml文件集合,總xml文件結(jié)合中取出一個xml文件,枚舉該xml文件中所有的files/file節(jié)點,得到文件集合,從文件集合中取出一個文件,判斷winsxs歷史版本中是否存在該文件,若存在,復制該文件到臨時安裝目錄,若不存在,則將該文件的相對路徑寫入缺失文件清單中(差量文件清單),當遍歷xml文件集合中每一個xml文件的文件集合后,得到該指定軟件的差量文件清單,根據(jù)該差量文件清單,獲得差量文件清單中的差量文件的關(guān)鍵信息。然后通過該關(guān)鍵信息向文件服務器獲取相應的差量文件包并下載,下載成功后,將其解壓到臨時安裝目錄,根據(jù)臨時安裝目錄,通過CBS啟動安裝。需要說明的是,在本具體例子中,因為臨時安裝目錄中包含有winsxs歷史版本中已經(jīng)存在的文件,則該臨時安裝目錄即是該指定軟件的完整安裝包的安裝目錄,相當于通過合并該指定軟件的本地文件和差量文件得到完整的安裝包。

可見,本技術(shù)方案是根據(jù)指定軟件的更新需求進行差量文件的下載,排除了累計更新包中對該指定軟件更新無用的文件;且這種差量文件的體積比累計更新文件的體積小,下載時可節(jié)省下載流量,對帶寬資源的要求不高。

同時,累計更新包的更新機制是累計一段時間后對軟件的更新進行統(tǒng)一發(fā)布,只能使用戶分時段進行更新,會造成更新的滯后。而本技術(shù)方案中,用戶可以通過本方案中的客戶端隨時啟動更新,從相應的更新服務器中獲得更新數(shù)據(jù)包,讓用戶早于軟件發(fā)布方的發(fā)布及時獲得更新。

另外,該方案中用戶可以通過掃描庫自行選擇指定軟件進行更新所需要安裝的補丁,提升了用戶的體驗。并且用戶還可以通過客戶端對更新后軟件的使用體驗,反饋問題,以便對其他用戶進行提醒或者屏蔽相關(guān)問題,降低了用戶因更新軟件造成的無法使用的風險。

在本發(fā)明的一個實施例中,掃描處理單元410,適于從指定路徑下載該指定軟件的最新版本的全量掃描庫,該全量掃描庫是相應的更新服務器已經(jīng)發(fā)布的全量掃描庫?;蛘撸瑥闹付窂较螺d該指定軟件的增量掃描庫,并與本地的該指定軟件的掃描庫的進行合并,例如,當用戶手動或后臺定時器觸發(fā)掃描時,首先更新增量掃描庫libleak2_diff.dat(增量庫邏輯先不實現(xiàn)),請求成功后,加載本地下發(fā)的掃描全庫的最新版本libleak2.dat以及增量掃描庫libleak2_diff.dat,兩者合并后,再依據(jù)掃描庫中規(guī)則對本地的指定軟件進行掃描,生成掃描結(jié)果集。

當指定軟件的更新數(shù)據(jù)發(fā)布后,可以從鍵值服務器集群系統(tǒng)KV請求索引信息以及從內(nèi)容分發(fā)網(wǎng)絡CDN請求更新數(shù)據(jù),完成所需數(shù)據(jù)包的下載。

當所需數(shù)據(jù)包為快速體驗包,在本發(fā)明的一個實施例中,更新處理單元420,適于根據(jù)快速體驗包的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求快速體驗包索引信息;以及適于根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包。

其中,上述的快速體驗包索引信息包括:快速體驗包下載URL和快速體驗包校驗信息。

那么,更新處理單元420,適于根據(jù)快速體驗包下載URL從CDN下載相應的快速體驗包,并利用快速體驗包校驗信息對所下載的快速體驗包進行校驗,校驗通過以后,下載的快速體驗包才可以解壓。

當所需數(shù)據(jù)包為差量文件,在本發(fā)明的一個實施例中,更新處理單元420,適于根據(jù)差量文件的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求差量文件索引信息;以及適于根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件。

其中,上述的差量文件索引信息包括:差量文件下載URL和差量文件校驗信息。

那么,更新處理單元420,適于根據(jù)差量文件下載URL從CDN下載相應的差量文件,并利用差量文件校驗信息對所下載的差量文件進行校驗。

在一個具體的例子中,當根據(jù)掃描庫掃描完成后,可以從掃描結(jié)果集中選擇需要安裝的更新,然后啟動安裝過程。首先,根據(jù)獲得的快速體驗包的關(guān)鍵信息key,使用該key向KV請求快速體驗包的索引信息,當KV返回快速體驗包索引信息后,從中提取出快速體驗包下載URL,然后利用該URL向CDN請求快速體驗包,當CDN返回快速體驗包后,利用索引信息中的摘要等校驗信息對快速體驗包進行校驗??焖袤w驗包校驗通過后,根據(jù)快速體驗包確定該指定軟件進行更新所需要的碎片文件(差量文件)的關(guān)鍵信息key,使用碎片文件的key向KV請求碎片文件的索引信息,當KV返回碎片文件的索引信息后,從中提取出碎片文件的下載URL,然后利用該URL向CDN請求碎片文件,當CDN返回碎片文件后,利用CDN索引信息中的摘要等校驗信息對碎片文件進行校驗。所有碎片都校驗通過后,通過合并本地文件及碎片文件生成完整包,最后調(diào)用CBS接口對合成的完整包進行安裝。

如果根據(jù)下載的快速體驗包無法確定該指定軟件進行更新所需要的差量文件的關(guān)鍵信息,無法下載相應的差量文件時,在本發(fā)明的一個實施例中,更新處理單元420,進一步適于當下載不到相應的差量文件時,下載補丁全量包,并安裝。

圖5示出了根據(jù)本發(fā)明一個實施例的軟件更新數(shù)據(jù)發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,該軟件更新數(shù)據(jù)發(fā)布系統(tǒng)500包括:發(fā)布服務器510和分布式網(wǎng)絡520;

發(fā)布服務器510,適于從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù);更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件;適于將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡520中供終端設備下載;以及適于將掃描庫通過指定通道進行發(fā)布(例如,通過360漏洞修修復服務器V5通道發(fā)布拆分后的掃描庫),掃描庫中包含補丁的快速體驗包的關(guān)鍵信息,從而使得終端設備獲取掃描庫并根據(jù)掃描庫確定對其本地安裝的指定軟件進行更新所需要安裝的補丁。

為了及時進行更新數(shù)據(jù)的發(fā)布,需要從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù)。為了實現(xiàn)本方案中的差量更新,方便用戶安裝,需要獲取的更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件。

為了獲取該指定軟件的更新數(shù)據(jù),可以搭建一臺標準WSUS服務器(例如,搭建在winserver 2012r2x64上),定時(例如,每30分鐘一次)從指定軟件的服務器同步最新的更新數(shù)據(jù)庫。更新數(shù)據(jù)庫里面會包含重要的更新信息,主要有:全平臺掃描庫、所有更新的快速體驗包URL、所有更新的完整包URL及更新的差量集合文件URL。作為更新數(shù)據(jù)的唯一數(shù)據(jù)源,這臺WSUS服務器更新數(shù)據(jù)必須快速、可靠,應該做到外網(wǎng)不可訪問、內(nèi)網(wǎng)嚴格限制訪問、關(guān)閉所有不必要的端口等。

根據(jù)獲取到的更新數(shù)據(jù)庫中的URL,將更新數(shù)據(jù)(快速體驗包、完整包、差量集合文件)下載到本W(wǎng)SUS服務器中,以便終端設備可以進行下載。具體地,首先,將下載的更新數(shù)據(jù)文件(快速體驗包、完整包及差量集合文件)上傳到內(nèi)容分發(fā)網(wǎng)絡CDN并同步到全網(wǎng)結(jié)點;其次,計算這些更新文件key及索引信息(更新文件的摘要信息、大小及發(fā)布到CDN上的pdown格式的URL)推送到鍵值KV服務器群集建立索引。

同時,還需要對掃描庫按平臺進行拆分,并以特定目錄結(jié)構(gòu)存放于本W(wǎng)SUS服務器。因為掃描庫中可能是各種類型或各種系統(tǒng)平臺的綜合,需要將掃描庫按照類型或者系統(tǒng)平臺進行拆分。例如,掃描庫中包含win7、win8.1、win10、office軟件等,需要將該掃描庫拆分成win7掃描庫、win8.1掃描庫、win10掃描庫、office軟件掃描庫,然后以特定目錄結(jié)構(gòu)存放于本W(wǎng)SUS服務器,以便終端設備可以下載指定軟件的最新版本的掃描庫。

具體的拆分過程可以是:在WSUS服務器調(diào)用WsusUtil命令導出掃描全庫,使用UpdateMake根據(jù)特定產(chǎn)品ID導出更新列表,使用WsusScan根據(jù)掃描全庫以及更新列表生成各個軟件或平臺的掃描庫,分別打包成獨立文件后存儲。這里的UpdateMake和WusuScan是自實現(xiàn)的命令。

可見,依據(jù)本發(fā)明的軟件更新數(shù)據(jù)發(fā)布方案,可以為終端設備提供差量文件的下載,以便終端設備完成軟件的更新,排除累計更新包中對該指定軟件更新無用的文件;且這種差量文件的體積比累計更新文件的體積小,在進行更新數(shù)據(jù)發(fā)布的時候?qū)捹Y源的要求不高。

而且,如果是國外軟件,從該軟件的發(fā)布方服務器中直接獲取更新數(shù)據(jù),會給用戶帶來下載速度慢等問題,嚴重影響用戶體驗。而本技術(shù)方案的更新服務器直接向用戶提供軟件的更新數(shù)據(jù),特別是針對國內(nèi)用戶使用國外軟件的情況,更新數(shù)據(jù)的下載速度遠大于直接獲取更新數(shù)據(jù)。

圖6示出了根據(jù)本發(fā)明另一個實施例的軟件更新數(shù)據(jù)發(fā)布系統(tǒng)的結(jié)構(gòu)示意圖。如圖6所示,該軟件更新數(shù)據(jù)發(fā)布系統(tǒng)600包括:發(fā)布服務器610和分布式網(wǎng)絡620。其中,發(fā)布服務器610和圖5所示的發(fā)布服務器510具有對應相同的功能,相同的部分在此不再贅述。

分布式網(wǎng)絡620包括:內(nèi)容分發(fā)網(wǎng)絡CDN 621和鍵值服務器集群系統(tǒng)622;

發(fā)布服務器610,適于將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡CDN 621的各個節(jié)點上;計算補丁的快速體驗包的索引信息,以及計算差量集合文件中的各差量文件的索引信息;將快速體驗包的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)622中,以及將各差量文件的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)622中。

其中,補丁的快速體驗包的索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;差量文件的索引信息包括:差量文件下載URL和差量文件校驗信息。

進一步地,鍵值服務器集群系統(tǒng)622,適于在接收到終端設備發(fā)送的包含快速體驗包的關(guān)鍵信息的請求時,向該終端設備返回相應的快速體驗包索引信息,以及在接收到終端設備發(fā)送的包含差量文件的關(guān)鍵信息的請求時,向該終端設備返回相應的差量文件的索引信息。

具體地,CDN 621,適于在接收到終端設備發(fā)送的包含快速體驗包下載URL的請求時,向終端設備返回相應的快速體驗包,以及在接收到終端設備發(fā)送的包含差量文件下載URL的請求時,從差量集合文件中截取相應的差量文件并返回給該終端設備。

如果終端設備側(cè)無法確定該指定軟件進行更新所需要的差量文件的關(guān)鍵信息,無法下載相應的差量文件時,會發(fā)送補丁全量包下載請求,那么,在本發(fā)明的一個實施例中,CDN 621,適于在接收到終端設備發(fā)送的補丁全量包下載請求時,將相應的補丁全量包返回給終端設備。

在本發(fā)明的一個實施例中,發(fā)布服務器610,進一步適于對掃描庫和計算得到的各索引信息進行備份處理。

更新數(shù)據(jù)發(fā)布完成后,需要對數(shù)據(jù)進行備份,以防止服務器突然出現(xiàn)的異常情況。這里,主要需要備份已經(jīng)計算完成的索引信息及各平臺掃描庫。另外,可以采用異地備份策略,備份于其它服務器,以便更好的避免異常情況的發(fā)生。

綜上所述,根據(jù)本發(fā)明的技術(shù)方案,通過使用指定軟件的掃描庫,對本地安裝的指定軟件進行掃描,獲得該指定軟件需要安裝的補丁的快速體驗包,進而確定該指定軟件進行更新需要的差量文件的關(guān)鍵信息,根據(jù)該差量文件的關(guān)鍵信息下載相應的差量文件,合并該指定軟件的本地文件和差量文件得到完整的安裝包后,進行安裝以修復該指定軟件存在的漏洞或缺陷??梢?,本技術(shù)方案是根據(jù)指定軟件的更新需求進行差量文件的下載,排除了累計更新包中對該指定軟件更新無用的文件;且這種差量文件的體積比累計更新文件的體積小,下載時可節(jié)省下載流量,對帶寬資源的要求不高。

需要說明的是:

在此提供的算法和顯示不與任何特定計算機、虛擬裝置或者其它設備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。

在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。

類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權(quán)利要求書由此明確地并入該具體實施方式,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。

本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。

此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。

本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的軟件更新裝置和軟件更新數(shù)據(jù)發(fā)布系統(tǒng)中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。

應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設計出替換實施例。在權(quán)利要求中,不應將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。

本發(fā)明公開了A1、一種軟件更新方法,其中,該方法包括:

當滿足預設條件時,獲取指定軟件的掃描庫,并根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,確定對該指定軟件進行更新所需要安裝的補丁,以及從掃描庫獲取所需要安裝的補丁的快速體驗包的關(guān)鍵信息;

根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包,根據(jù)所下載的快速體驗包確定對該指定軟件進行更新所需要的差量文件的關(guān)鍵信息;

根據(jù)所述差量文件的關(guān)鍵信息下載相應的差量文件,通過合并該指定軟件的本地文件和所述差量文件得到完整的安裝包,并進行安裝。

A2、如A1所述的方法,其中,所述獲取指定軟件的掃描庫包括:

從指定路徑下載該指定軟件的最新版本的全量掃描庫;

或者,從指定路徑下載該指定軟件的增量掃描庫,并與本地的該指定軟件的掃描庫的進行合并。

A3、如A1所述的方法,其中,所述根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包包括:

根據(jù)快速體驗包的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求快速體驗包索引信息;

根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包。

A4、如A3所述的方法,其中,

所述快速體驗包索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

所述根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包包括:根據(jù)快速體驗包下載URL從CDN下載相應的快速體驗包,并利用快速體驗包校驗信息對所下載的快速體驗包進行校驗。

A5、如A1所述的方法,其中,所述根據(jù)所述差量文件的關(guān)鍵信息下載相應的差量文件包括:

根據(jù)差量文件的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求差量文件索引信息;

根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件。

A6、如A5所述的方法,其中,

所述差量文件索引信息包括:差量文件下載URL和差量文件校驗信息;

所述根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件包括:根據(jù)差量文件下載URL從CDN下載相應的差量文件,并利用差量文件校驗信息對所下載的差量文件進行校驗。

A7、如A1-A6中任一項所述的方法,其中,該方法進一步包括:

當下載不到相應的差量文件時,下載補丁全量包,并安裝。

本發(fā)明還公開了B8、一種軟件更新數(shù)據(jù)發(fā)布方法,其中,該方法包括:

從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù);所述更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件;

將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備下載;

將所述掃描庫通過指定通道進行發(fā)布,所述掃描庫中包含補丁的快速體驗包的關(guān)鍵信息,從而使得終端設備獲取掃描庫并根據(jù)掃描庫確定對其本地安裝的指定軟件進行更新所需要安裝的補丁。

B9、如B8所述的方法,其中,所述將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備進行下載包括:

將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡CDN的各個節(jié)點上;

計算補丁的快速體驗包的索引信息,以及計算差量集合文件中的各差量文件的索引信息;

將快速體驗包的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中,以及將各差量文件的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中;

其中,

補丁的快速體驗包的索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

差量文件的索引信息包括:差量文件下載URL和差量文件校驗信息。

B10、如B9所述的方法,其中,該方法進一步包括:

鍵值服務器集群系統(tǒng)在接收到終端設備發(fā)送的包含快速體驗包的關(guān)鍵信息的請求時,向該終端設備返回相應的快速體驗包索引信息,以及在接收到終端設備發(fā)送的包含差量文件的關(guān)鍵信息的請求時,向該終端設備返回相應的差量文件的索引信息。

B11、如B10所述的方法,其中,該方法進一步包括:

CDN在接收到終端設備發(fā)送的包含快速體驗包下載URL的請求時,向終端設備返回相應的快速體驗包,以及在接收到終端設備發(fā)送的包含差量文件下載URL的請求時,從差量集合文件中截取相應的差量文件并返回給該終端設備。

B12、如B9所述的方法,其中,該方法進一步包括:

CDN在接收到終端設備發(fā)送的補丁全量包下載請求時,將相應的補丁全量包返回給終端設備。

B13、如B9-B12中任一項所述的方法,其中,該方法進一步包括:

對掃描庫和計算得到的各索引信息進行備份處理。

本發(fā)明還公開了C14、一種軟件更新裝置,其中,該裝置包括:

掃描處理單元,適于當滿足預設條件時,獲取指定軟件的掃描庫,并根據(jù)該掃描庫對本地安裝的指定軟件進行掃描,確定對該指定軟件進行更新所需要安裝的補丁,以及從掃描庫獲取所需要安裝的補丁的快速體驗包的關(guān)鍵信息;

更新處理單元,適于根據(jù)快速體驗包的關(guān)鍵信息下載相應的快速體驗包,根據(jù)所下載的快速體驗包確定對該指定軟件進行更新所需要的差量文件的關(guān)鍵信息;以及適于根據(jù)所述差量文件的關(guān)鍵信息下載相應的差量文件,通過合并該指定軟件的本地文件和所述差量文件得到完整的安裝包,并進行安裝。

C15、如C14所述的裝置,其中,

所述掃描處理單元,適于從指定路徑下載該指定軟件的最新版本的全量掃描庫;或者,從指定路徑下載該指定軟件的增量掃描庫,并與本地的該指定軟件的掃描庫的進行合并。

C16、如C14所述的裝置,其中,

所述更新處理單元,適于根據(jù)快速體驗包的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求快速體驗包索引信息;以及適于根據(jù)請求到的快速體驗包索引信息從內(nèi)容分發(fā)網(wǎng)絡CDN下載相應的快速體驗包。

C17、如C16所述的裝置,其中,

所述快速體驗包索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

所述更新處理單元,適于根據(jù)快速體驗包下載URL從CDN下載相應的快速體驗包,并利用快速體驗包校驗信息對所下載的快速體驗包進行校驗。

C18、如C14所述的裝置,其中,

所述更新處理單元,適于根據(jù)差量文件的關(guān)鍵信息從鍵值服務器集群系統(tǒng)請求差量文件索引信息;以及適于根據(jù)請求到的差量文件索引信息從CDN下載相應的差量文件。

C19、如C18所述的裝置,其中,

所述差量文件索引信息包括:差量文件下載URL和差量文件校驗信息;

所述更新處理單元,適于根據(jù)差量文件下載URL從CDN下載相應的差量文件,并利用差量文件校驗信息對所下載的差量文件進行校驗。

C20、如C14-C19中任一項所述的裝置,其中,

所述更新處理單元,進一步適于當下載不到相應的差量文件時,下載補丁全量包,并安裝。

本發(fā)明還公開了D21、一種軟件更新數(shù)據(jù)發(fā)布系統(tǒng),其中,該系統(tǒng)包括:發(fā)布服務器和分布式網(wǎng)絡;

發(fā)布服務器,適于從指定軟件的服務器獲取該指定軟件的更新數(shù)據(jù);所述更新數(shù)據(jù)包括:掃描庫、補丁的快速體驗包、補丁的全量包和差量集合文件;適于將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到分布式網(wǎng)絡中供終端設備下載;以及適于將所述掃描庫通過指定通道進行發(fā)布,所述掃描庫中包含補丁的快速體驗包的關(guān)鍵信息,從而使得終端設備獲取掃描庫并根據(jù)掃描庫確定對其本地安裝的指定軟件進行更新所需要安裝的補丁。

供終端設備進行下載。

D22、如D21所述的系統(tǒng),其中,所述分布式網(wǎng)絡包括:內(nèi)容分發(fā)網(wǎng)絡CDN和鍵值服務器集群系統(tǒng);

所述發(fā)布服務器,適于將補丁的快速體驗包、補丁的全量包和差量集合文件發(fā)布到內(nèi)容分發(fā)網(wǎng)絡CDN的各個節(jié)點上;計算補丁的快速體驗包的索引信息,以及計算差量集合文件中的各差量文件的索引信息;將快速體驗包的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中,以及將各差量文件的關(guān)鍵信息和索引信息對應保存到鍵值服務器集群系統(tǒng)中;

其中,

補丁的快速體驗包的索引信息包括:快速體驗包下載URL和快速體驗包校驗信息;

差量文件的索引信息包括:差量文件下載URL和差量文件校驗信息。

D23、如D22所述的系統(tǒng),其中,

鍵值服務器集群系統(tǒng),適于在接收到終端設備發(fā)送的包含快速體驗包的關(guān)鍵信息的請求時,向該終端設備返回相應的快速體驗包索引信息,以及在接收到終端設備發(fā)送的包含差量文件的關(guān)鍵信息的請求時,向該終端設備返回相應的差量文件的索引信息。

D24、如D23所述的系統(tǒng),其中,

所述CDN,適于在接收到終端設備發(fā)送的包含快速體驗包下載URL的請求時,向終端設備返回相應的快速體驗包,以及在接收到終端設備發(fā)送的包含差量文件下載URL的請求時,從差量集合文件中截取相應的差量文件并返回給該終端設備。

D25、如D22所述的系統(tǒng),其中,

所述CDN,適于在接收到終端設備發(fā)送的補丁全量包下載請求時,將相應的補丁全量包返回給終端設備。

D26、如D21-D25中任一項所述的系統(tǒng),其中,

所述發(fā)布服務器,進一步適于對掃描庫和計算得到的各索引信息進行備份處理。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
宿州市| 武冈市| 清新县| 二连浩特市| 清徐县| 兴宁市| 淄博市| 阜城县| 海原县| 邻水| 安仁县| 万山特区| 永胜县| 垦利县| 清远市| 井冈山市| 上犹县| 阜宁县| 玛纳斯县| 瑞丽市| 新野县| 韶关市| 托克逊县| 平南县| 大田县| 许昌县| 宾阳县| 建水县| 青川县| 南岸区| 怀远县| 吴川市| 泸溪县| 新宾| 新昌县| 蒲城县| 阜平县| 铁岭县| 峡江县| 宣城市| 盐城市|