一種軟件升級方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種軟件升級方法及系統(tǒng)。所述軟件升級方法包括:建立有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括提供所述有效升級包的源服務器地址;客戶端獲取待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包;將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。本發(fā)明的技術方案具有升級速度快、效率高、服務器或網(wǎng)關壓力小、系統(tǒng)整體能耗低等特點;同時可以有效解決不易升級的多跳網(wǎng)絡如移動自組網(wǎng)中的設備的軟件升級問題。
【專利說明】
一種軟件升級方法及系統(tǒng)
技術領域
[0001]本發(fā)明涉及一種計算機技術,特別是涉及一種軟件升級方法及系統(tǒng)。
【背景技術】
[0002]現(xiàn)有的操作系統(tǒng)及應用軟件升級,一般是客戶端設備通過網(wǎng)絡直接從軟件服務器中獲取相應的升級包,然后運行所述升級包進行升級操作。由于網(wǎng)絡中的客戶機都從服務器中獲取升級包,這對服務器的性能要求就非常高,由于服務器所能使用的資源有限,導致當待升級的客戶機多時,客戶機從服務器中下載升級包的速度較慢。這種升級方式比較適合采用了專門的路由設備的網(wǎng)絡中。移動自組織網(wǎng)絡是一種多跳的臨時性自治系統(tǒng),網(wǎng)絡中的各個節(jié)點不需要直接連接,而是能夠通過中繼的方式,在兩個距離很遠而無法直接通信的節(jié)點之間傳送信息。與一般網(wǎng)絡中的多跳不同,無線自組網(wǎng)中的多跳路由是由普通節(jié)點共同協(xié)作完成的,而不是由專門的路由設備完成的。因此,現(xiàn)有的軟件升級方法并不能很好的解決移動自組網(wǎng)中的軟件升級問題。
[0003]鑒于此,如何找到一種軟件升級方法以提高軟件升級的效率和適用范圍就成了本領域技術人員亟待解決的問題。
【發(fā)明內(nèi)容】
[0004]鑒于以上所述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種軟件升級方法及系統(tǒng),用于解決現(xiàn)有技術中通過網(wǎng)絡從服務器下載升級包升級軟件的方法效率不高且適用范圍受限的問題。
[0005]為實現(xiàn)上述目的及其他相關目的,本發(fā)明提供一種軟件升級方法,所述軟件升級方法包括:建立有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括提供所述有效升級包的源服務器地址;客戶端獲取待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包;將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。
[0006]可選地,所述軟件升級方法還包括:客戶端根據(jù)所述升級包完成所述待升級軟件的升級。
[0007]可選地,所述預定策略包括距離向量算法。
[0008]可選地,所述有效升級包帶有版本號,所述客戶端在預設時間段內(nèi)訪問所述有效升級包列表,根據(jù)所述有效升級包的版本號確定所述待升級軟件。
[0009]可選地,當所述源服務器更新升級包時,自動更新所述有效升級包列表。
[0010]本發(fā)明提供一種軟件升級系統(tǒng),所述軟件升級系統(tǒng)包括:源服務器模塊,用于提供軟件升級包;核心服務器模塊,用于建立和維護有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括所述源服務器地址;客戶端模塊,用于從所述核心服務器中獲取所述客戶端中待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包;將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。
[0011]可選地,所述客戶端模塊還用于根據(jù)所述升級包完成所述待升級軟件的升級。
[0012]可選地,所述預定策略包括距離向量算法。
[0013]可選地,所述有效升級包帶有版本號,所述客戶端模塊在預設時間段內(nèi)訪問所述有效升級包列表,根據(jù)所述有效升級包的版本號確定所述待升級軟件。
[0014]可選地,當所述源服務器模塊更新升級包時,自動更新所述核心服務器模塊的所述有效升級包列表。
[0015]可選地,所述軟件升級系統(tǒng)還包括網(wǎng)關代理模塊,所述網(wǎng)關代理模塊與所述源服務器模塊、所述核心服務器模塊以及多個所述客戶端模塊相連,所述客戶端模塊通過所述網(wǎng)關代理模塊訪問所述核心服務器模塊。
[0016]可選地,所述網(wǎng)關代理模塊下載所述升級包,所述網(wǎng)關代理地址作為所述有效升級包列表中的一個有效下載地址。
[0017]可選地,所述軟件包括系統(tǒng)軟件或應用軟件。
[0018]如上所述,本發(fā)明的一種軟件升級方法及系統(tǒng),具有以下有益效果:與現(xiàn)有的操作系統(tǒng)及應用軟件相比,該快速升級方法具有升級速度快、效率高、服務器或網(wǎng)關壓力小、系統(tǒng)整體能耗低等特點。同時可以有效解決不易升級的多跳網(wǎng)絡如移動自組網(wǎng)中的設備的應用軟件及系統(tǒng)軟件升級問題。
【附圖說明】
[0019]圖1顯示為本發(fā)明的一種軟件升級方法的一實施例的流程示意圖。
[0020]圖2顯示為本發(fā)明的一種軟件升級系統(tǒng)的一實施例的模塊示意圖。
[0021]圖3顯示為本發(fā)明的一種軟件升級系統(tǒng)的一實施例的結構示意圖。
[0022]元件標號說明
[0023]I軟件升級系統(tǒng)
[0024]11源服務器模塊
[0025]12核心服務器模塊
[0026]13客戶端模塊
[0027]SI ?S3 步驟
【具體實施方式】
[0028]以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的【具體實施方式】加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。
[0029]需要說明的是,本實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構想,遂圖式中僅顯示與本發(fā)明中有關的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復雜。
[0030]本發(fā)明提供一種軟件升級方法。在一個實施例中,如圖1所示,所述軟件升級方法包括:
[0031]步驟SI,建立有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括提供所述有效升級包的源服務器地址。具體地,建立軟件的有效升級包列表,所述有效升級包列表中包含所述軟件升級包的一個或多個有效下載地址,所述有效下載地址包括提供所述有效升級包的源服務器地址;所述有效升級包列表中包括多個升級軟件包信息,其中任一個升級軟件包信息中包括該升級包的至少一個有效下載地址。源服務器中存儲了軟件的有效升級包,當軟件有新的升級包時,將所述新的軟件包更新到所述源服務器中。所述軟件包括系統(tǒng)軟件或應用軟件。
[0032]步驟S2,客戶端獲取待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包。具體地,所述待升級軟件位于客戶端中,當客戶端中的軟件需要升級時,該軟件即為待升級軟件。在一個實施例中,所述有效升級包帶有版本號,所述客戶端在預設時間段內(nèi)訪問所述有效升級包列表,根據(jù)所述有效升級包的版本號確定所述待升級軟件,當所述有效升級包列表中的所述有效升級包的版本號高于在所述客戶端中的該軟件的版本號時,表明該軟件為待升級軟件。在一個實施例中,所述預定策略包括路由算法,所述路由算法包括距離向量路由算法??蛻舳送ㄟ^所述路由算法從所述待升級軟件的所有有效下載地址中選擇一個最近的下載地址。
[0033]步驟S3,將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。具體地,將所述已下載待升級軟件的升級包的客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述待升級包的有效升級包列表中。此時,所述下載地址包括源服務器地址,也包括下載了所述軟件升級包的客戶端地址。進一步,所述軟件升級方法還包括:客戶端根據(jù)所述升級包完成所述待升級軟件的升級。
[0034]在一個實施例中,軟件升級方法還包括當所述源服務器更新升級包時,自動更新所述有效升級包列表。具體地,當軟件具有新的升級包時,將所述新升級包加入到所述源服務器中,并自動更新所述有效升級包列表。
[0035]本發(fā)明提供一種軟件升級系統(tǒng)。在一個實施例中,如圖2所示,所述軟件升級系統(tǒng)I包括源服務器模塊11、核心服務器模塊12以及客戶端模塊。其中:
[0036]源服務器模塊11用于提供軟件升級包。具體地,源服務器模塊11用于:當軟件具有新的升級包時,將所述新升級包加入到所述源服務器中,并提供所述軟件升級包的下載服務。所述源服務器模塊11位于源服務器中,所述源服務器模塊11可以有多個,多個所述源服務器模塊11位于多個源服務器中。所述軟件包括系統(tǒng)軟件或應用軟件。
[0037]核心服務器模塊12與所述源服務器模塊11相連,用于建立和維護有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括所述源服務器地址。具體地,所述有效升級包列表中包括多個升級軟件包信息,其中任一個升級軟件包信息中包括該升級包的至少一個有效下載地址。在一個實施例中,當所述源服務器模塊11中加入了新的軟件升級包時,所述核心服務器模塊12將根據(jù)所述新的軟件升級包信息更新到所述有效升級包列表中,將存儲所述新升級包的源服務器地址作為所述軟件升級包的一個有效下載地址。當所述源服務器模塊11更新升級包時,自動更新所述核心服務器模塊12的所述有效升級包列表。在一個實施例中,所述核心服務器模塊12與所述源服務器模塊11位于同一個服務器中。
[0038]客戶端模塊13用于從所述核心服務器模塊12中獲取所述客戶端中待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包;將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。具體地,所述客戶端模塊13位于客戶端中。所述待升級軟件位于客戶端中,當客戶端中的軟件需要升級時,該軟件即為待升級軟件。在一個實施例中,所述有效升級包帶有版本號,所述客戶端模塊13在預設時間段內(nèi)訪問所述有效升級包列表,根據(jù)所述有效升級包的版本號確定所述待升級軟件,當所述有效升級包列表中的所述有效升級包的版本號高于在所述客戶端中的該軟件的版本號時,表明該軟件為所述客戶端中的待升級軟件。在一個實施例中,所述預定策略包括路由算法,所述路由算法包括距離向量路由算法??蛻舳四K13通過所述路由算法從所述待升級軟件的所有有效下載地址中選擇一個最近的下載地址。所述客戶端模塊13還用于根據(jù)下載的所述升級包完成客戶端的所述待升級軟件的升級。
[0039]所述客戶端模塊13還用于將所述已下載待升級軟件的升級包的客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述待升級包的有效升級包列表中。此時,所述下載地址包括源服務器地址,也包括下載了所述軟件升級包的客戶端地址。
[0040]在一個實施例中,所述軟件升級系統(tǒng)I還包括網(wǎng)關代理模塊,所述網(wǎng)關代理模塊與所述源服務器模塊11、所述核心服務器模塊12以及多個所述客戶端模塊13相連,所述客戶端模塊13通過所述網(wǎng)關代理模塊訪問所述核心服務器模塊12,所述客戶端模塊13通過所述網(wǎng)關代理模塊訪問所述有效下載地址并下載所述升級包。具體地,所述網(wǎng)關代代理模塊為一個網(wǎng)關設備,同時連接客戶端、源服務器以及核心服務器,所述客戶端通過所述網(wǎng)關設備訪問所述源服務器以及核心服務器。在一個實施例中,所述網(wǎng)關代理模塊下載所述升級包,所述網(wǎng)關代理地址作為所述有效升級包列表中的一個有效下載地址。對于無法直接訪問核心服務器模塊12的待升級的客戶端模塊13,可能通過網(wǎng)關代理的方式,獲得有效升級包列表,進而獲取升級包,此時網(wǎng)關代理相對于核心服務器模塊12而言是個普通的客戶端,而相對于局域網(wǎng)內(nèi)無法直接訪問核心服務器模塊12的客戶端而言,網(wǎng)關代理相當于核心服務器模塊12及源服務器模塊11的角色,為客戶端模塊13提供軟件升級所需的有效升級包列表以及有效下載地址。
[0041]在一個實施例中,如圖3所示,所述軟件升級系統(tǒng)I包括位于客戶端的客戶端模塊13、網(wǎng)關代理、位于源服務器的源服務器模塊11以及位于核心服務器的核心服務器模塊
12。其中,一個客戶端對應有一個客戶端模塊13,一個源服務器對應有一個源服務器模塊
11。所述軟件升級系統(tǒng)中,核心服務器維護一份帶版本號的有效升級包列表,所述有效升級包列表中包含升級包所在的源服務器IP地址及該地址下有效的升級包列表;同時,核心服務器維護的有效升級包列表中包括客戶端的IP地址及該客戶端已下載的升級包列表等信息,所述有效升級包列表中的所有客戶端在網(wǎng)絡內(nèi)均可與服務器直接連接。對于無法直接訪問核心服務器的待升級的客戶端,可能通過網(wǎng)關代理的方式,獲得升級包,此時網(wǎng)關代理相對于核心服務器而言是個普通的客戶端,而相對于局域網(wǎng)內(nèi)無法直接訪問核心服務器的客戶端而言,網(wǎng)關代理就是核心服務器及源服務器的角色,升級步驟及管理方式完全一致。當有客戶端連接到核心服務器請求升級更新操作時,核心服務器其所維護的升級包列表返回給該客戶端;客戶端通過一定的路由算法,如距離向量路由算法,找出下載某個升級包最近的有效下載地址,所述有效下載地址可以是客戶端或源服務器的IP地址,將其作為該升級包的源地址進行下載,下載完成后,將升級情況反饋給核心服務器。依照上步反復執(zhí)行,至到所有升級包下載完成,然后自動進行升級操作。核心服務器收到客戶端反饋的已下載了某個升級包的信息后,更新有效升級包列表中該客戶端已下載的升級包列表,方便后續(xù)其它客戶端升級時獲取最新有效下載地址信息??蛻舳硕ㄆ谠L問核心服務器檢查是否有待升級的升級包。源服務器升級包列表更新時,同時自動更新核心服務器所維護的升級包列表。
[0042]綜上所述,本發(fā)明的一種軟件升級方法及系統(tǒng),具有以下有益效果:與現(xiàn)有的操作系統(tǒng)及應用軟件相比,該快速升級方法具有升級速度快、效率高、服務器或網(wǎng)關壓力小、系統(tǒng)整體能耗低等特點。同時可以有效解決不易升級的多跳網(wǎng)絡如移動自組網(wǎng)中的設備的軟件升級問題。所以,本發(fā)明有效克服了現(xiàn)有技術中的種種缺點而具高度產(chǎn)業(yè)利用價值。
[0043]上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬技術領域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發(fā)明的權利要求所涵蓋。
【主權項】
1.一種軟件升級方法,其特征在于,所述軟件升級方法包括: 建立有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括提供所述有效升級包的源服務器地址; 客戶端獲取待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包; 將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。2.根據(jù)權利要求1所述的軟件升級方法,其特征在于:所述預定策略包括距離向量算法。3.根據(jù)權利要求1所述的軟件升級方法,其特征在于:所述有效升級包帶有版本號,所述客戶端在預設時間段內(nèi)訪問所述有效升級包列表,根據(jù)所述有效升級包的版本號確定所述待升級軟件。4.根據(jù)權利要求1所述的軟件升級方法,其特征在于:當所述源服務器更新升級包時,自動更新所述有效升級包列表。5.一種軟件升級系統(tǒng),其特征在于:所述軟件升級系統(tǒng)包括: 源服務器模塊,用于提供軟件升級包; 核心服務器模塊,用于建立和維護有效升級包列表,所述有效升級包列表中包含所述升級包的一個或多個有效下載地址,所述有效下載地址包括所述源服務器地址; 客戶端模塊,用于從所述核心服務器中獲取所述客戶端中待升級軟件的所述有效升級包列表,根據(jù)預定策略選擇所述待升級軟件的一個所述有效下載地址下載所述升級包;將所述客戶端地址作為所述待升級軟件的一個所述有效下載地址加入到所述有效升級包列表中。6.根據(jù)權利要求5所述的軟件升級系統(tǒng),其特征在于:所述客戶端模塊還用于根據(jù)所述升級包完成所述待升級軟件的升級。7.根據(jù)權利要求5所述的軟件升級系統(tǒng),其特征在于:所述預定策略包括距離向量算法。8.根據(jù)權利要求5所述的軟件升級系統(tǒng),其特征在于:所述有效升級包帶有版本號,所述客戶端模塊在預設時間段內(nèi)訪問所述有效升級包列表,根據(jù)所述有效升級包的版本號確定所述待升級軟件。9.根據(jù)權利要求5所述的軟件升級系統(tǒng),其特征在于:當所述源服務器模塊更新升級包時,自動更新所述核心服務器模塊的所述有效升級包列表。10.根據(jù)權利要求5所述的軟件升級系統(tǒng),其特征在于:所述軟件升級系統(tǒng)還包括網(wǎng)關代理模塊,所述網(wǎng)關代理模塊與所述源服務器模塊、所述核心服務器模塊以及多個所述客戶端模塊相連,所述客戶端模塊通過所述網(wǎng)關代理模塊訪問所述核心服務器模塊。11.根據(jù)權利要求10所述的軟件升級系統(tǒng),其特征在于:所述網(wǎng)關代理模塊下載所述升級包,所述網(wǎng)關代理地址作為所述有效升級包列表中的一個有效下載地址。
【文檔編號】G06F9/445GK105867952SQ201510028332
【公開日】2016年8月17日
【申請日】2015年1月20日
【發(fā)明人】張富平
【申請人】中國科學院上海高等研究院