本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,具體而言,本發(fā)明涉及一種補(bǔ)丁下載的方法、裝置、文件打包服務(wù)器以及客戶端。
背景技術(shù):
大型軟件系統(tǒng)在使用過程中存在一些問題,這些問題若被黑客或者病毒設(shè)計者發(fā)現(xiàn),將根據(jù)上述問題對用戶設(shè)備進(jìn)行攻擊或者通過設(shè)計病毒對用戶設(shè)備進(jìn)行攻擊,導(dǎo)致用戶設(shè)備受損或者用戶信息泄露,因此用戶需要下載一些補(bǔ)丁,修改上述大型軟件系統(tǒng)中的問題,避免計算機(jī)中的軟件系統(tǒng)被攻擊受損,因此如何實現(xiàn)補(bǔ)丁下載成為一個重要問題。
目前,一種補(bǔ)丁下載的方法,當(dāng)補(bǔ)丁更新服務(wù)器接收到客戶端發(fā)送的攜帶多個密鑰(英文全稱:key)的補(bǔ)丁請求消息,補(bǔ)丁更新服務(wù)器需要分別查找每個key對應(yīng)的下載信息,并將每個key對應(yīng)的下載信息返回至客戶端,然后客戶端根據(jù)每個key對應(yīng)的下載信息,依次從內(nèi)容分發(fā)網(wǎng)絡(luò)(英文全稱:Content Delivery Network,英文縮寫:CDN)服務(wù)器中下載補(bǔ)丁。
然而,當(dāng)通過上述方法從CDN服務(wù)器中下載補(bǔ)丁時,若客戶端需要下載多個key對應(yīng)的補(bǔ)丁,則補(bǔ)丁更新服務(wù)器需要依次查找每個key對應(yīng)的下載信息并需要根據(jù)每個key對應(yīng)的下載地址多次訪問CDN服務(wù)器,并從該CDN服務(wù)器中下載補(bǔ)丁,由于需要依次查找每個key對應(yīng)的下載信息,并多次下載補(bǔ)丁文件,從而導(dǎo)致下載補(bǔ)丁文件的時間較長,并且需要多次訪問CDN服務(wù)器,下載每個key對應(yīng)的補(bǔ)丁文件,進(jìn)而導(dǎo)致對CDN服務(wù)器的訪問量較大、對用戶帶寬的需求較大。
技術(shù)實現(xiàn)要素:
為克服上述技術(shù)問題或者至少部分地解決上述技術(shù)問題,特提出以下技術(shù)方案:
本發(fā)明的實施例提供了一種補(bǔ)丁下載的的方法,包括:
補(bǔ)丁更新服務(wù)器接收客戶端發(fā)送的下載信息請求消息,所述下載信息請求消息中攜帶至少一個密鑰Key,所述下載信息請求消息用于請求所述至少一個Key對應(yīng)的下載信息;
確定所述至少一個Key對應(yīng)的壓縮密鑰tarKey,并從數(shù)據(jù)庫中查找所述tarkey對應(yīng)的下載信息;
若查找到所述tarKey對應(yīng)的下載信息,則將所述tarKey對應(yīng)的下載信息返回至所述客戶端,以使得所述客戶端根據(jù)下載信息,從所述CDN服務(wù)器中下載對應(yīng)的壓縮包,所述壓縮包中包括所述至少一個key分別對應(yīng)的下載命令比較文本diff文件。
可選地,所述從數(shù)據(jù)庫中查找所述tarkey對應(yīng)的下載信息的步驟之后,還包括:
若未查找到所述tarKey對應(yīng)的下載信息,則從所述數(shù)據(jù)庫中依次查找每個Key對應(yīng)的下載信息,并將每個Key對應(yīng)的下載信息返回至所述客戶端,以使得所述客戶端根據(jù)所述每個Key對應(yīng)的下載信息,從所述CDN服務(wù)器中下載diff文件。
可選地,所述將每個key對應(yīng)的下載信息返回至所述客戶端之后,還包括:
將所述至少一個Key發(fā)送至文件打包服務(wù)器,以使得所述文件打包服務(wù)器獲取所述至少一個key中每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件打包成壓縮包,并上傳至所述CDN服務(wù)器。
具體地,所述確定所述至少一個Key對應(yīng)的壓縮密鑰tarKey的步驟,包括:
將所述至少一個key進(jìn)行拼接,得到拼接后的key;
將所述拼接后的key與預(yù)設(shè)關(guān)鍵字進(jìn)行拼接,得到所述至少一個Key對應(yīng)的tarKey。
本發(fā)明實施例提供了另一種補(bǔ)丁下載的方法,包括:
客戶端向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息,所述下載信息請求消息中攜帶至少一個密鑰Key,所述下載信息請求消息用于請求所述至少一個Key對應(yīng)的下載信息;
接收所述補(bǔ)丁更新服務(wù)器發(fā)送的tarKey對應(yīng)的下載信息,所述tarKey由所述至少一個Key壓縮獲得;
根據(jù)接收到的tarKey對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包,所述壓縮包中包括所述至少一個key分別對應(yīng)的下載命令比較文本diff文件。
可選地,若接收到所述至少一個key中每個key對應(yīng)的下載信息,則根據(jù)依次根據(jù)每個key對應(yīng)的下載信息,從所述CDN服務(wù)器中下載對應(yīng)的diff文件。
可選地,若其它客戶端需要從所述CDN中下載該客戶端中已下載的diff文件,則所述客戶端將所述已下載的diff文件通過點對點,發(fā)送至請求發(fā)送方客戶端。
本發(fā)明實施例提供了又一種補(bǔ)丁下載的方法,包括:
文件打包服務(wù)器接收補(bǔ)丁更新服務(wù)器發(fā)送的所述至少一個key;
從本地中獲取每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件打包成壓縮包;
將所述壓縮包上傳至CDN服務(wù)器。
可選地,所述將所述壓縮包上傳至CDN服務(wù)器的步驟之后,還包括:
接收到所述CDN服務(wù)器返回的所述壓縮包對應(yīng)的下載信息,并將所述下載信息以及tarKey的對應(yīng)關(guān)系寫入數(shù)據(jù)庫,所述tarKey為該至少一個key的壓縮包。
本發(fā)明實施例提供了一種補(bǔ)丁下載的裝置,位于補(bǔ)丁更新服務(wù)器,該裝置包括:
接收模塊,用于接收客戶端發(fā)送的下載信息請求消息,所述下載信息請求消息中攜帶至少一個密鑰Key,所述下載信息請求消息用于請求所述至少一個Key對應(yīng)的下載信息;
確定模塊,用于確定所述至少一個Key對應(yīng)的壓縮密鑰tarKey;
查找模塊,用于從數(shù)據(jù)庫中查找所述tarkey對應(yīng)的下載信息;
返回模塊,用于當(dāng)查找到所述tarKey對應(yīng)的下載信息時,將所述tarKey對應(yīng)的下載信息返回至所述客戶端,以使得所述客戶端根據(jù)下載信息,從所述CDN服務(wù)器中下載對應(yīng)的壓縮包,所述壓縮包中包括所述至少一個key分別對應(yīng)的下載命令比較文本diff文件。
可選地,所述查找模塊,還用于當(dāng)未查找到所述tarKey對應(yīng)的下載信息時,從所述數(shù)據(jù)庫中依次查找每個Key對應(yīng)的下載信息;
所述返回模塊,還用于將每個Key對應(yīng)的下載信息返回至所述客戶端,以使得所述客戶端根據(jù)所述每個Key對應(yīng)的下載信息,從所述CDN服務(wù)器中下載diff文件。
可選地,所述裝置還包括:發(fā)送模塊;
所述發(fā)送模塊,用于將所述至少一個Key發(fā)送至文件打包服務(wù)器,以使得所述文件打包服務(wù)器獲取所述至少一個key中每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件打包成壓縮包,并上傳至所述CDN服務(wù)器。
具體地,所述確定模塊,具體用于將所述至少一個key進(jìn)行拼接,得到拼接后的key;
所述確定模塊,具體還用于將所述拼接后的key與預(yù)設(shè)關(guān)鍵字進(jìn)行拼接,得到所述至少一個Key對應(yīng)的tarKey。
本發(fā)明實施例提供了一種補(bǔ)丁下載的客戶端,包括:
發(fā)送模塊,用于向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息,所述下載信息請求消息中攜帶至少一個密鑰Key,所述下載信息請求消息用于請求所述至少一個Key對應(yīng)的下載信息;
接收模塊,用于接收所述補(bǔ)丁更新服務(wù)器發(fā)送的tarKey對應(yīng)的下載信息,所述tarKey由所述至少一個Key壓縮獲得;
下載模塊,用于根據(jù)接收到的tarKey對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包,所述壓縮包中包括所述至少一個key分別對應(yīng)的下載命令比較文本diff文件。
可選地,所述下載模塊,還用于當(dāng)接收到所述至少一個key中每個key對應(yīng)的下載信息時,依次根據(jù)每個key對應(yīng)的下載信息,從所述CDN服務(wù)器中下載對應(yīng)的diff文件。
可選地,所述發(fā)送模塊,還用于當(dāng)其它客戶端需要從所述CDN中下載該客戶端中已下載的diff文件時,將所述已下載的diff文件通過點對點,發(fā)送至請求發(fā)送方客戶端。
本發(fā)明實施例提供了一種補(bǔ)丁下載的文件打包服務(wù)器,包括:
接收模塊,用于接收補(bǔ)丁更新服務(wù)器發(fā)送的所述至少一個key;
獲取模塊,用于從本地中獲取每個key對應(yīng)的diff文件;
打包模塊,用于將所有key對應(yīng)的diff文件打包成壓縮包;
上傳模塊,用于將所述壓縮包上傳至CDN服務(wù)器。
可選地,所述文件打包服務(wù)器還包括:寫入模塊;
所述接收模塊,還用于接收到所述CDN服務(wù)器返回的所述壓縮包對應(yīng)的下載信息;
所述寫入模塊,用于將所述下載信息以及tarKey的對應(yīng)關(guān)系寫入數(shù)據(jù)庫,所述tarKey為該至少一個key的壓縮包。
本發(fā)明提供了一種補(bǔ)丁下載的方法、裝置、打包服務(wù)器以及客戶端,與現(xiàn)有技術(shù)相比,本發(fā)明中客戶端向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息,然后補(bǔ)丁更新服務(wù)器接收客戶端發(fā)送的下載信息請求消息,并根據(jù)下載信息請求消息中攜帶的至少一個key確定對應(yīng)的tarKey,并查找該tarKey對應(yīng)的下載信息,并將查找到的下載信息返回至客戶端,然后客戶端根據(jù)下載信息從CDN服務(wù)器中下載包含上述至少一個key分別對應(yīng)的diff文件的壓縮包,即補(bǔ)丁更新服務(wù)器僅需要根據(jù)tarKey訪問一次數(shù)據(jù)庫,查找下載信息,并且僅需要根據(jù)下載信息訪問一次CDN服務(wù)器,下載上述所有key對應(yīng)的diff文件的壓縮包,從而降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,又由于客戶端僅需要訪問一次CDN服務(wù)器,進(jìn)而可以會降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求。
本發(fā)明文件打包服務(wù)器通過將至少一個key中每個key對應(yīng)的diff文件打包成壓縮包,并上傳至CDN服務(wù)器,能夠使得客戶端訪問一次CDN服務(wù)器即可以下載上述至少一個key中每個key對應(yīng)的diff文件,從而可以降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,進(jìn)而可以會降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求。
本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
本發(fā)明上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:
圖1為本發(fā)明實施例的下載補(bǔ)丁的系統(tǒng)示意圖;
圖2為本發(fā)明實施例的一種補(bǔ)丁下載的方法實施例;
圖3為本發(fā)明實施例的一種補(bǔ)丁下載的裝置結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例的補(bǔ)丁下載的客戶端的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例的補(bǔ)丁下載的文件打包服務(wù)器。
具體實施方式
下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或無線耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的全部或任一單元和全部組合。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語),具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語,應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣被特定定義,否則不會用理想化或過于正式的含義來解釋。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,這里所使用的“終端”、“終端設(shè)備”既包括無線信號接收器的設(shè)備,其僅具備無發(fā)射能力的無線信號接收器的設(shè)備,又包括接收和發(fā)射硬件的設(shè)備,其具有能夠在雙向通信鏈路上,進(jìn)行雙向通信的接收和發(fā)射硬件的設(shè)備。這種設(shè)備可以包括:蜂窩或其他通信設(shè)備,其具有單線路顯示器或多線路顯示器或沒有多線路顯示器的蜂窩或其他通信設(shè)備;PCS(Personal Communications Service,個人通信系統(tǒng)),其可以組合語音、數(shù)據(jù)處理、傳真和/或數(shù)據(jù)通信能力;PDA(PersonalDigital Assistant,個人數(shù)字助理),其可以包括射頻接收器、尋呼機(jī)、互聯(lián)網(wǎng)/內(nèi)聯(lián)網(wǎng)訪問、網(wǎng)絡(luò)瀏覽器、記事本、日歷和/或GPS(Global PositioningSystem,全球定位系統(tǒng))接收器;常規(guī)膝上型和/或掌上型計算機(jī)或其他設(shè)備,其具有和/或包括射頻接收器的常規(guī)膝上型和/或掌上型計算機(jī)或其他設(shè)備。這里所使用的“終端”、“終端設(shè)備”可以是便攜式、可運(yùn)輸、安裝在交通工具(航空、海運(yùn)和/或陸地)中的,或者適合于和/或配置為在本地運(yùn)行,和/或以分布形式,運(yùn)行在地球和/或空間的任何其他位置運(yùn)行。這里所使用的“終端”、“終端設(shè)備”還可以是通信終端、上網(wǎng)終端、音樂/視頻播放終端,例如可以是PDA、MID(Mobile Internet Device,移動互聯(lián)網(wǎng)設(shè)備)和/或具有音樂/視頻播放功能的移動電話,也可以是智能電視、機(jī)頂盒等設(shè)備。
本發(fā)明實施例提供一種補(bǔ)丁下載的方法,應(yīng)用于下載補(bǔ)丁的系統(tǒng),如圖1所示,該系統(tǒng)包括客戶端、補(bǔ)丁更新服務(wù)器、Windows服務(wù)器更新服務(wù)(英文全稱:Windows Server Update Services,英文縮寫:wsus)文件服務(wù)器、文件打包服務(wù)器、CDN服務(wù)器以及下載信息數(shù)據(jù)庫,其中,客戶端與補(bǔ)丁更新服務(wù)器進(jìn)行信息交互、補(bǔ)丁更新服務(wù)器與wsus服務(wù)器、文件打包服務(wù)器以及下載信息數(shù)據(jù)庫進(jìn)行信息交互、文件打包服務(wù)器、wsus文件服務(wù)器分別與CDN服務(wù)器進(jìn)行信息交互,文件打包服務(wù)器與下載信息數(shù)據(jù)庫進(jìn)行信息交互。
實施例一
本發(fā)明實施例提供了一種補(bǔ)丁下載的方法,如圖2所示,該方法包括如下步驟:
步驟201、客戶端向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息。
其中,下載信息請求消息中攜帶至少一個密鑰Key,下載信息請求消息用于請求至少一個Key對應(yīng)的下載信息。
對于本發(fā)明實施例,下載信息可以包括:下載種子以及校驗值。
步驟202、補(bǔ)丁更新服務(wù)器接收客戶端發(fā)送的下載信息請求消息。
步驟203、補(bǔ)丁更新服務(wù)器確定至少一個Key對應(yīng)的壓縮密鑰tarKey。
對于本發(fā)明實施例,補(bǔ)丁更新服務(wù)器將上述至少一個Key,通過TarKey算法得到TarKey。其中,該至少一個Key可以為3個Key。
例如,將上述至少一個key拼接,然后再與關(guān)鍵字“keyofkeys”拼接,得到第一key,然后再與KEYOFKEYS拼接,得到TarKey。
步驟204、補(bǔ)丁更新服務(wù)器從數(shù)據(jù)庫中查找tarkey對應(yīng)的下載信息。
對于本發(fā)明實施例,補(bǔ)丁更新服務(wù)器從數(shù)據(jù)庫中查找到上述3個key的分別對應(yīng)的下載信息。
例如,查找到的下載信息可以為:第一key對應(yīng)的下載地址、第二key對應(yīng)的下載地址以及第三key對應(yīng)的下載地址。
對于本發(fā)明實施例,在使用數(shù)據(jù)庫,可以將所有的key分類,然后將每類key進(jìn)行分類,然后將每類key定義為特定相斥的模式插入數(shù)據(jù)庫。例如,在第一key的開頭拼接KEYOFKEYS,當(dāng)批量查找下載信息時,只需要通知數(shù)據(jù)庫處理符合相應(yīng)模式的key。
例如,當(dāng)需要在數(shù)據(jù)庫中刪除所有壓縮包對應(yīng)的下載信息時,僅需要查找上述格式key對應(yīng)的下載信息并進(jìn)行刪除,不需要依次尋找壓縮包對應(yīng)的每個key的下載信息,從而可以降低查找下載信息的時間,降低訪問數(shù)據(jù)的次數(shù)。
步驟205、若查找到tarKey對應(yīng)的下載信息,則補(bǔ)丁更新服務(wù)器將tarKey對應(yīng)的下載信息返回至客戶端,以使得客戶端根據(jù)下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包。
其中,壓縮包中包括至少一個key分別對應(yīng)的下載命令比較文本diff文件。
對于本發(fā)明實施例,tarKey對應(yīng)的下載信息為上述每個key對應(yīng)的diff文件在CDN服務(wù)器上對應(yīng)的下載信息。在本發(fā)明實施例中上述所有key對應(yīng)的diff,可以相當(dāng)于一個補(bǔ)丁文件。
步驟206、客戶端接收補(bǔ)丁更新服務(wù)器發(fā)送的tarKey對應(yīng)的下載信息。
其中,tarKey由至少一個Key壓縮獲得。
步驟207、客戶端根據(jù)接收到的tarKey對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包。
其中,壓縮包中包括至少一個key分別對應(yīng)的下載命令比較文本diff文件。
對于本發(fā)明實施例,該下載補(bǔ)丁的系統(tǒng)中包括wsus文件服務(wù)器,其中,wsus文件服務(wù)器當(dāng)發(fā)現(xiàn)新的補(bǔ)丁時,下載新的補(bǔ)丁,并將該新的補(bǔ)丁生成多個diff文件,并將生成的diff文件上傳至CDN服務(wù)器,并將生成的下載信息發(fā)送至補(bǔ)丁更新服務(wù)器,因此客戶端需要下載diff文件,得到補(bǔ)丁文件。
本發(fā)明實施例提供了一種補(bǔ)丁下載的方法,與現(xiàn)有技術(shù)相比,本發(fā)明實施例中客戶端向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息,然后補(bǔ)丁更新服務(wù)器接收客戶端發(fā)送的下載信息請求消息,并根據(jù)下載信息請求消息中攜帶的至少一個key確定對應(yīng)的tarKey,并查找該tarKey對應(yīng)的下載信息,并將查找到的下載信息返回至客戶端,然后客戶端根據(jù)下載信息從CDN服務(wù)器中下載包含上述至少一個key分別對應(yīng)的diff文件的壓縮包,即補(bǔ)丁更新服務(wù)器僅需要根據(jù)tarKey訪問一次數(shù)據(jù)庫,查找下載信息,并且僅需要根據(jù)下載信息訪問一次CDN服務(wù)器,下載上述所有key對應(yīng)的diff文件的壓縮包,從而降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,又由于客戶端僅需要訪問一次CDN服務(wù)器,進(jìn)而可以降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求;
本發(fā)明實施例文件打包服務(wù)器通過將至少一個key中每個key對應(yīng)的diff文件打包成壓縮包,并上傳至CDN服務(wù)器,能夠使得客戶端訪問一次CDN服務(wù)器即可以下載上述至少一個key中每個key對應(yīng)的diff文件,從而可以降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,進(jìn)而可以會降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求。
實施例二
本發(fā)明實施例的另一種可能的實現(xiàn)方式,在如圖2所示的基礎(chǔ)上,步驟204、補(bǔ)丁更新服務(wù)器從數(shù)據(jù)庫中查找tarkey對應(yīng)的下載信息,之后還包括實施例二所示的步驟305-307,步驟207、客戶端根據(jù)接收到的tarKey對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包,之后還包括實施例二所示的步驟311,其中步驟301-304、308-310所執(zhí)行的操作與步驟201-208所執(zhí)行的操作相似,在此不再贅述。
步驟305、若未查找到tarKey對應(yīng)的下載信息,則補(bǔ)丁更新服務(wù)器從數(shù)據(jù)庫中依次查找每個Key對應(yīng)的下載信息。
對于本發(fā)明實施例,若在數(shù)據(jù)庫中未查找到tarkey對應(yīng)的下載信息,表征未將上述至少一個key按照tarKey算法進(jìn)行拼接,存儲至數(shù)據(jù)庫中。因此,補(bǔ)丁更新服務(wù)器需要依次查找上述至少一個key中每個key對應(yīng)的下載信息。
對于本發(fā)明實施例,補(bǔ)丁更新服務(wù)器在數(shù)據(jù)庫中未查找到tarKey對應(yīng)的下載信息可能是由于還未存在客戶端請求的上述至少一個key對應(yīng)的diff文件。在本發(fā)明實施例中不做限定。
步驟306、補(bǔ)丁更新服務(wù)器將每個Key對應(yīng)的下載信息返回至客戶端,以使得客戶端根據(jù)每個Key對應(yīng)的下載信息,從CDN服務(wù)器中下載diff文件。
對于本發(fā)明實施例,補(bǔ)丁更新服務(wù)器在數(shù)據(jù)庫中依次查找上述至少一個key中每個key對應(yīng)的下載信息,并將查找到的下載信息返回至客戶端。
例如,上述至少一個key中包括三個key,分別為第一key、第二key以及第三key,其中,補(bǔ)丁更新服務(wù)器分別查找到第一key對應(yīng)的下載信息、第二key對應(yīng)的下載信息以及第三key對應(yīng)的下載信息,并將第一key對應(yīng)的下載信息、第二key對應(yīng)下載信息以及第三key對應(yīng)的下載信息返回至客戶端。
步驟307、若接收到至少一個key中每個key對應(yīng)的下載信息,則客戶端根據(jù)依次根據(jù)每個key對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的diff文件。
對于本發(fā)明實施例,由于客戶端依次接收到上述至少一個key中每個key對應(yīng)的下載信息,因此客戶端需要根據(jù)每個key對應(yīng)的下載信息,依次從CDN服務(wù)器中下載對應(yīng)的diff文件。
對于本發(fā)明實施例,當(dāng)未查找到tarKey對應(yīng)的下載信息時,補(bǔ)丁更新服務(wù)器通過依次查找上述至少一個key中每個key對應(yīng)的下載信息,能夠獲得每個key對應(yīng)的下載信息,以根據(jù)每個key對應(yīng)的下載信息,查找到每個key對應(yīng)的diff文件,以獲得補(bǔ)丁文件,從而可以避免當(dāng)在數(shù)據(jù)庫中未查找到tarKey對應(yīng)的下載信息時,無法獲取diff文件的情況。
步驟311、若其它客戶端需要從CDN中下載該客戶端中已下載的diff文件,則客戶端將已下載的diff文件通過點對點,發(fā)送至請求發(fā)送方客戶端。
對于本發(fā)明實施例,若第一客戶端已從CDN服務(wù)器中下載第一key、第二key以及第三key分別對應(yīng)的diff文件或者上述三個key壓縮得到的tarKey對應(yīng)的diff文件,并且第二客戶端也需要獲取第一key、第二key以及第三key分別對應(yīng)的diff文件或者上述三個key壓縮得到的tarKey對應(yīng)的diff文件,則第一客戶端可以通過點對點的方式,將已下載的diff文件發(fā)送至第二客戶端。
對于本發(fā)明實施例,客戶端通過點對點將已下載的diff文件發(fā)送至其他客戶端,能夠避免其他客戶端通過訪問CDN服務(wù)器下載對應(yīng)的diff文件,從而可以減少客戶端對CDN服務(wù)器的訪問量,進(jìn)而可以降低CDN服務(wù)器的訪問壓力,降低對客戶端的帶寬需求。
實施例三
本發(fā)明實施例的另一種可能的實現(xiàn)方式,在實施例二所示的基礎(chǔ)上,步驟303、補(bǔ)丁更新服務(wù)器確定至少一個Key對應(yīng)的壓縮密鑰tarKey,包括實施例四所示的步驟403,其中,401-402、404-411所執(zhí)行的操作與步驟301-302、304-311所執(zhí)行的操作相似,在此不再贅述。
步驟403、補(bǔ)丁更新服務(wù)器將至少一個key進(jìn)行拼接,得到拼接后的key,并將拼接后的key與預(yù)設(shè)關(guān)鍵字進(jìn)行拼接,得到至少一個Key對應(yīng)的tarKey。
對于本發(fā)明實施例,預(yù)設(shè)關(guān)鍵字可以為keyofkeys以及KEYOFKEYS。在本發(fā)明實施例中,補(bǔ)丁更新服務(wù)器可以將上述至少一個key進(jìn)行拼接,并將拼接后key與keyofkeys,得到第一key,然后再將第一key與KEYOFKEYS進(jìn)行拼接,得到tarKey。
實施例四
本發(fā)明實施例的另一種可能的實現(xiàn)方式,在實施例三的基礎(chǔ)上,步驟406、補(bǔ)丁更新服務(wù)器將每個Key對應(yīng)的下載信息返回至客戶端,以使得客戶端根據(jù)每個Key對應(yīng)的下載信息,從CDN服務(wù)器中下載diff文件之后,還包括實施例三的步驟507-510,其中步驟501-506、511-515所執(zhí)行的操作與步驟401-411所執(zhí)行的操作相似,在此不再贅述。
步驟507、補(bǔ)丁更新服務(wù)器將至少一個Key發(fā)送至文件打包服務(wù)器,以使得文件打包服務(wù)器獲取至少一個key中每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件打包成壓縮包,并上傳至CDN服務(wù)器。
對于本發(fā)明實施例,當(dāng)補(bǔ)丁更新服務(wù)器在數(shù)據(jù)庫中未查找到上述至少一個key對應(yīng)的tarKey對應(yīng)的下載信息時,將上述每個key發(fā)送至文件打包服務(wù)器,以使得文件打包服務(wù)器從本地下載上述每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件,壓縮成壓縮包,并上傳至CDN服務(wù)器。對于本發(fā)明實施例,上述補(bǔ)丁更新服務(wù)器在數(shù)據(jù)庫中未查找到上述至少一個key對應(yīng)的tarKey對應(yīng)的下載信息時,可能存在以下情況:
1、客戶端第一次請求下載該至少一個key對應(yīng)的diff文件;
2、在數(shù)據(jù)庫中刪除該tarKey對應(yīng)的下載信息,以及在CDN服務(wù)
器中刪除了該至少一個key對應(yīng)的diff壓縮包。
步驟508、文件打包服務(wù)器接收補(bǔ)丁更新服務(wù)器發(fā)送的至少一個key。
步驟509、文件打包服務(wù)器從本地中獲取每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件打包成壓縮包。
例如,文件打包服務(wù)器從本地中獲取第一key對應(yīng)的diff文件、第二key對應(yīng)的diff文件,第三key對應(yīng)的diff文件,并將上述三個key分別對應(yīng)的diff文件進(jìn)行打包成壓縮包。
步驟510、文件打包服務(wù)器將壓縮包上傳至CDN服務(wù)器。
對于本發(fā)明實施例,文件打包服務(wù)器通過將上述至少一個key中每個key對應(yīng)的diff文件一起打包成壓縮包,并上傳至CDN服務(wù)器,能夠使得當(dāng)后續(xù)客戶端同樣請求上述多個相同的key對應(yīng)的diff文件時,可以訪問一次CDN服務(wù)器,獲取包含上述至少一個key中每個key對應(yīng)的diff文件的壓縮包,以避免依次訪問CDN服務(wù)器獲取每個key對應(yīng)的diff文件,從而可以降低訪問CDN服務(wù)器的次數(shù),進(jìn)而可以降低CDN服務(wù)器的壓力。
實施例五
本發(fā)明實施例的另一種可能的實現(xiàn)方式,在實施例四所示的基礎(chǔ)上,步驟510、文件打包服務(wù)器將壓縮包上傳至CDN服務(wù)器,之后還包括實施例五的步驟611,其中,步驟601-610、612-616所執(zhí)行的操作與步驟501-515所執(zhí)行的操作相似,在此不再贅述。
步驟611、文件打包服務(wù)器接收到CDN服務(wù)器返回的壓縮包對應(yīng)的下載信息,并將下載信息以及tarKey的對應(yīng)關(guān)系寫入數(shù)據(jù)庫。
其中,tarKey為該至少一個key的壓縮包。
對于本發(fā)明實施例,當(dāng)文件打包服務(wù)器將上述壓縮包上傳至CDN服務(wù)器之后,文件打包服務(wù)器將接收到該壓縮包對應(yīng)的下載信息,將該下載信息按照tarKey算法的方式,寫入數(shù)據(jù)庫。
對于本發(fā)明實施例,文件打包服務(wù)器通過將至少一個key中所有key的diff文件對應(yīng)的壓縮包在CDN服務(wù)器上的下載信息按照tarkey的形式寫入數(shù)據(jù)庫,能夠使得補(bǔ)丁更新服務(wù)器根據(jù)tarkey查找到對應(yīng)的下載信息,避免多次訪問數(shù)據(jù)庫依次查找每個key對應(yīng)的下載信息,從而可以降低訪問數(shù)據(jù)庫的次數(shù),進(jìn)而可以減少查找多個key對應(yīng)的下載信息的時間。
本發(fā)明實施例提供了另一種補(bǔ)丁下載的方法,當(dāng)未查找到tarKey對應(yīng)的下載信息時,補(bǔ)丁更新服務(wù)器通過依次查找上述至少一個key中每個key對應(yīng)的下載信息,能夠獲得每個key對應(yīng)的下載信息,以根據(jù)每個key對應(yīng)的下載信息,查找到每個key對應(yīng)的diff文件,已獲得補(bǔ)丁文件,從而可以避免當(dāng)在數(shù)據(jù)庫中未查找到tarKey對應(yīng)的下載信息時,無法獲取diff文件的情況;客戶端通過點對點將已下載的diff文件發(fā)送至其他客戶端,能夠避免其他客戶端通過訪問CDN服務(wù)器下載對應(yīng)的diff文件,從而可以減少客戶端對CDN服務(wù)器的訪問量,進(jìn)而可以降低CDN服務(wù)器的訪問壓力,降低對客戶端的帶寬需求;文件打包服務(wù)器通過將上述至少一個key中每個key對應(yīng)的diff文件一起打包成壓縮包,并上傳至CDN服務(wù)器,能夠使得當(dāng)后續(xù)客戶端同樣請求上述多個相同的key對應(yīng)的diff文件時,可以訪問一次CDN服務(wù)器,獲取包含上述至少一個key中每個key對應(yīng)的diff文件的壓縮包,以避免依次訪問CDN服務(wù)器獲取每個key對應(yīng)的diff文件,從而可以降低訪問CDN服務(wù)器的次數(shù),進(jìn)而可以降低CDN服務(wù)器的壓力;文件打包服務(wù)器通過將至少一個key中所有key的diff文件對應(yīng)的壓縮包在CDN服務(wù)器上的下載信息按照tarkey的形式寫入數(shù)據(jù)庫,能夠使得補(bǔ)丁更新服務(wù)器根據(jù)tarkey查找到對應(yīng)的下載信息,避免多次訪問數(shù)據(jù)庫依次查找每個key對應(yīng)的下載信息,從而可以降低訪問數(shù)據(jù)庫的次數(shù),進(jìn)而可以減少查找多個key對應(yīng)的下載信息的時間。
本發(fā)明實施例提供了一種補(bǔ)丁下載的裝置,位于補(bǔ)丁更新服務(wù)器,如圖3所示,該裝置包括:接收模塊31、確定模塊32、查找模塊33、返回模塊34。
接收模塊31,用于接收客戶端發(fā)送的下載信息請求消息。
其中,下載信息請求消息中攜帶至少一個密鑰Key,下載信息請求消息用于請求至少一個Key對應(yīng)的下載信息。
確定模塊32,用于確定至少一個Key對應(yīng)的壓縮密鑰tarKey。
查找模塊33,用于從數(shù)據(jù)庫中查找tarkey對應(yīng)的下載信息。
返回模塊34,用于當(dāng)查找到tarKey對應(yīng)的下載信息時,將tarKey對應(yīng)的下載信息返回至客戶端,以使得客戶端根據(jù)下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包。
其中,壓縮包中包括至少一個key分別對應(yīng)的下載命令比較文本diff文件。
查找模塊33,還用于當(dāng)未查找到tarKey對應(yīng)的下載信息時,從數(shù)據(jù)庫中依次查找每個Key對應(yīng)的下載信息。
返回模塊34,還用于將每個Key對應(yīng)的下載信息返回至客戶端,以使得客戶端根據(jù)每個Key對應(yīng)的下載信息,從CDN服務(wù)器中下載diff文件。
進(jìn)一步地,如圖3所示,該裝置還包括:發(fā)送模塊35。
發(fā)送模塊35,用于將至少一個Key發(fā)送至文件打包服務(wù)器,以使得文件打包服務(wù)器獲取至少一個key中每個key對應(yīng)的diff文件,并將所有key對應(yīng)的diff文件打包成壓縮包,并上傳至CDN服務(wù)器。
確定模塊32,具體用于將至少一個key進(jìn)行拼接,得到拼接后的key。
確定模塊32,具體還用于將拼接后的key與預(yù)設(shè)關(guān)鍵字進(jìn)行拼接,得到至少一個Key對應(yīng)的tarKey。
本發(fā)明實施例提供了一種補(bǔ)丁下載的裝置,與現(xiàn)有技術(shù)相比,本發(fā)明實施例中客戶端向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息,然后補(bǔ)丁更新服務(wù)器接收客戶端發(fā)送的下載信息請求消息,并根據(jù)下載信息請求消息中攜帶的至少一個key確定對應(yīng)的tarKey,并查找該tarKey對應(yīng)的下載信息,并將查找到的下載信息返回至客戶端,然后客戶端根據(jù)下載信息從CDN服務(wù)器中下載包含上述至少一個key分別對應(yīng)的diff文件的壓縮包,即補(bǔ)丁更新服務(wù)器僅需要根據(jù)tarKey訪問一次數(shù)據(jù)庫,查找下載信息,并且僅需要根據(jù)下載信息訪問一次CDN服務(wù)器,現(xiàn)在上述所有key對應(yīng)的diff文件的壓縮包,從而降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,又由于客戶端僅需要訪問一次CDN服務(wù)器,進(jìn)而可以會降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求。
本發(fā)明實施例提供了另一種補(bǔ)丁下載的裝置,當(dāng)未查找到tarKey對應(yīng)的下載信息時,補(bǔ)丁更新服務(wù)器通過依次查找上述至少一個key中每個key對應(yīng)的下載信息,能夠獲得每個key對應(yīng)的下載信息,以根據(jù)每個key對應(yīng)的下載信息,查找到每個key對應(yīng)的diff文件,已獲得補(bǔ)丁文件,從而可以避免當(dāng)在數(shù)據(jù)庫中未查找到tarKey對應(yīng)的下載信息時,無法獲取diff文件的情況。
本發(fā)明實施例提供了一種補(bǔ)丁下載的客戶端,如圖4所示,該客戶端包括:發(fā)送模塊41、接收模塊42、下載模塊43。
發(fā)送模塊41,用于向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息。
其中,下載信息請求消息中攜帶至少一個密鑰Key,下載信息請求消息用于請求至少一個Key對應(yīng)的下載信息。
接收模塊42,用于接收補(bǔ)丁更新服務(wù)器發(fā)送的tarKey對應(yīng)的下載信息。
其中,tarKey由至少一個Key壓縮獲得;
下載模塊43,用于根據(jù)接收到的tarKey對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的壓縮包。
其中,壓縮包中包括至少一個key分別對應(yīng)的下載命令比較文本diff文件。
下載模塊43,還用于當(dāng)接收到至少一個key中每個key對應(yīng)的下載信息時,依次根據(jù)每個key對應(yīng)的下載信息,從CDN服務(wù)器中下載對應(yīng)的diff文件。
發(fā)送模塊41,還用于當(dāng)其它客戶端需要從CDN中下載該客戶端中已下載的diff文件時,將已下載的diff文件通過點對點,發(fā)送至請求發(fā)送方客戶端。
本發(fā)明實施例提供了一種客戶端,與現(xiàn)有技術(shù)相比,本發(fā)明實施例中客戶端向補(bǔ)丁更新服務(wù)器發(fā)送下載信息請求消息,然后補(bǔ)丁更新服務(wù)器接收客戶端發(fā)送的下載信息請求消息,并根據(jù)下載信息請求消息中攜帶的至少一個key確定對應(yīng)的tarKey,并查找該tarKey對應(yīng)的下載信息,并將查找到的下載信息返回至客戶端,然后客戶端根據(jù)下載信息從CDN服務(wù)器中下載包含上述至少一個key分別對應(yīng)的diff文件的壓縮包,即補(bǔ)丁更新服務(wù)器僅需要根據(jù)tarKey訪問一次數(shù)據(jù)庫,查找下載信息,并且僅需要根據(jù)下載信息訪問一次CDN服務(wù)器,現(xiàn)在上述所有key對應(yīng)的diff文件的壓縮包,從而降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,又由于客戶端僅需要訪問一次CDN服務(wù)器,進(jìn)而可以會降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求。
本發(fā)明實施例提供了另一種客戶端,客戶端通過點對點將已下載的diff文件發(fā)送至其他客戶端,能夠避免其他客戶端通過訪問CDN服務(wù)器下載對應(yīng)的diff文件,從而可以減少客戶端對CDN服務(wù)器的訪問量,進(jìn)而可以降低CDN服務(wù)器的訪問壓力,降低對客戶端的帶寬需求。
本發(fā)明實施例提供了一種補(bǔ)丁下載的文件打包服務(wù)器,如圖5所示,包括:接收模塊51、獲取模塊52、打包模塊53、上傳模塊54。
接收模塊51,用于接收補(bǔ)丁更新服務(wù)器發(fā)送的至少一個key。
獲取模塊52,用于從本地中獲取每個key對應(yīng)的diff文件。
打包模塊53,用于將所有key對應(yīng)的diff文件打包成壓縮包。
上傳模塊54,用于將壓縮包上傳至CDN服務(wù)器。
接收模塊51,還用于接收到CDN服務(wù)器返回的壓縮包對應(yīng)的下載信息。
進(jìn)一步地,該文件打包服務(wù)器還包括:寫入模塊55。
寫入模塊55,用于將下載信息以及tarKey的對應(yīng)關(guān)系寫入數(shù)據(jù)庫。
其中,tarKey為該至少一個key的壓縮包。
本發(fā)明實施例文件打包服務(wù)器通過將至少一個key中每個key對應(yīng)的diff文件打包成壓縮包,并上傳至CDN服務(wù)器,能夠使得客戶端訪問一次CDN服務(wù)器即可以下載上述至少一個key中每個key對應(yīng)的diff文件,從而可以降低訪問CDN服務(wù)器的次數(shù),降低下載補(bǔ)丁文件的時長,進(jìn)而可以會降低對CDN服務(wù)器的訪問量,降低了對用戶帶寬的需求。
本發(fā)明實施例提供了另一種文件打包服務(wù)器,文件打包服務(wù)器通過將上述至少一個key中每個key對應(yīng)的diff文件一起打包成壓縮包,并上傳至CDN服務(wù)器,能夠使得當(dāng)后續(xù)客戶端同樣請求上述多個相同的key對應(yīng)的diff文件時,可以訪問一次CDN服務(wù)器,獲取包含上述至少一個key中每個key對應(yīng)的diff文件的壓縮包,以避免依次訪問CDN服務(wù)器獲取每個key對應(yīng)的diff文件,從而可以降低訪問CDN服務(wù)器的次數(shù),進(jìn)而可以降低CDN服務(wù)器的壓力;文件打包服務(wù)器通過將至少一個key中所有key的diff文件對應(yīng)的壓縮包在CDN服務(wù)器上的下載信息按照tarkey的形式寫入數(shù)據(jù)庫,能夠使得補(bǔ)丁更新服務(wù)器根據(jù)tarkey查找到對應(yīng)的下載信息,避免多次訪問數(shù)據(jù)庫依次查找每個key對應(yīng)的下載信息,從而可以降低訪問數(shù)據(jù)庫的次數(shù),進(jìn)而可以減少查找多個key對應(yīng)的下載信息的時間。
本發(fā)明實施例提供的補(bǔ)丁下載的裝置、文件打包服務(wù)器以及客戶端可以實現(xiàn)上述提供的方法實施例,具體功能實現(xiàn)請參見方法實施例中的說明,在此不再贅述。本發(fā)明實施例提供的補(bǔ)丁下載的方法、裝置、文件打包服務(wù)器以及客戶端可以適用于從CDN服務(wù)器下載多個key對應(yīng)的diff文件,但不僅限于此。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明包括涉及用于執(zhí)行本申請中所述操作中的一項或多項的設(shè)備。這些設(shè)備可以為所需的目的而專門設(shè)計和制造,或者也可以包括通用計算機(jī)中的已知設(shè)備。這些設(shè)備具有存儲在其內(nèi)的計算機(jī)程序,這些計算機(jī)程序選擇性地激活或重構(gòu)。這樣的計算機(jī)程序可以被存儲在設(shè)備(例如,計算機(jī))可讀介質(zhì)中或者存儲在適于存儲電子指令并分別耦聯(lián)到總線的任何類型的介質(zhì)中,所述計算機(jī)可讀介質(zhì)包括但不限于任何類型的盤(包括軟盤、硬盤、光盤、CD-ROM、和磁光盤)、ROM(Read-Only Memory,只讀存儲器)、RAM(Random Access Memory,隨即存儲器)、EPROM(Erasable Programmable Read-Only Memory,可擦寫可編程只讀存儲器)、EEPROM(Electrically Erasable ProgrammableRead-Only Memory,電可擦可編程只讀存儲器)、閃存、磁性卡片或光線卡片。也就是,可讀介質(zhì)包括由設(shè)備(例如,計算機(jī))以能夠讀的形式存儲或傳輸信息的任何介質(zhì)。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以用計算機(jī)程序指令來實現(xiàn)這些結(jié)構(gòu)圖和/或框圖和/或流圖中的每個框以及這些結(jié)構(gòu)圖和/或框圖和/或流圖中的框的組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,可以將這些計算機(jī)程序指令提供給通用計算機(jī)、專業(yè)計算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來實現(xiàn),從而通過計算機(jī)或其他可編程數(shù)據(jù)處理方法的處理器來執(zhí)行本發(fā)明公開的結(jié)構(gòu)圖和/或框圖和/或流圖的框或多個框中指定的方案。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的步驟、措施、方案可以被交替、更改、組合或刪除。進(jìn)一步地,具有本發(fā)明中已經(jīng)討論過的各種操作、方法、流程中的其他步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。進(jìn)一步地,現(xiàn)有技術(shù)中的具有與本發(fā)明中公開的各種操作、方法、流程中的步驟、措施、方案也可以被交替、更改、重排、分解、組合或刪除。
以上所述僅是本發(fā)明的部分實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。