亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種軟件版本的更新方法和系統(tǒng)的制作方法

文檔序號(hào):6493521閱讀:189來源:國(guó)知局
一種軟件版本的更新方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種軟件版本的更新方法和系統(tǒng)。該方法包括:將新版本上傳至主服務(wù)器;主服務(wù)器將其發(fā)送到有版本權(quán)限的子服務(wù)器;客戶端檢測(cè)到新版本時(shí)請(qǐng)求版本更新;在客戶端有權(quán)獲得新版本時(shí),主服務(wù)器將新版本的下載地址發(fā)送到客戶端;客戶端訪問下載地址,下載版本配置信息,進(jìn)而判斷該版本配置信息是否與舊版本配置信息完全相同,是則刪除版本配置信息并結(jié)束,否則,確定更新文件列表,進(jìn)而從子服務(wù)器下載其指定的文件;客戶端關(guān)閉舊版本并備份,進(jìn)而用下載的文件替換舊文件,判斷軟件是否能夠正常啟動(dòng),是則軟件更新成功,否則,軟件更新失敗。本發(fā)明能降低服務(wù)器的載荷,提高軟件版本的更新速度,并保證客戶端始終能夠安裝正確的新版本。
【專利說明】一種軟件版本的更新方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件版本的更新【技術(shù)領(lǐng)域】,特別是涉及一種軟件版本的更新方法和系統(tǒng)。
【背景技術(shù)】
[0002]軟件的生命周期中,維護(hù)所占的工作量特別大,其中的一個(gè)重要環(huán)節(jié)就是軟件版本的更新?,F(xiàn)有的軟件版本的更新方法為:客戶端檢測(cè)到服務(wù)器上有新版本上傳后,即從服務(wù)器下載該新版本,進(jìn)而判斷該新版本的版本號(hào)與自身已安裝的舊版本的版本號(hào)是否相同,是則刪除該新版本,否則,安裝該新版本并重新啟動(dòng)軟件。該方法的缺點(diǎn)在于:服務(wù)器要面對(duì)大量的客戶端,在新版本的集中下載期間,服務(wù)器的載荷較重,客戶端的下載速度也很慢;此外,如果上傳到服務(wù)器的新版本有錯(cuò)誤(如缺少必要文件,或文件數(shù)據(jù)不正確等),在修正后由于版本號(hào)不變,客戶端即使下載了該修正后的新版本,也會(huì)因其版本號(hào)與錯(cuò)誤的新版本的版本號(hào)相同而將其刪除,也就是說,在這種情況下,客戶端是無法使用正確的新版本的。

【發(fā)明內(nèi)容】

[0003]本發(fā)明所要解決的技術(shù)問題是提供一種軟件版本的更新方法和系統(tǒng),能降低服務(wù)器的載荷,提高軟件版本的更新速度,并保證客戶端始終能夠安裝正確的新版本。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種軟件版本的更新方法,該方法包括:
[0005]步驟1:將所述軟件的新版本上傳至主服務(wù)器;其中,所述新版本包括:版本配置信息以及由N個(gè)文件構(gòu)成的文件包,N為不小于I的整數(shù);所述版本配置信息包括:所述新版本的版本號(hào)、所述文件包的上傳日期、各所述文件的大小、各所述文件的MD5值;
[0006]步驟2:所述主服務(wù)器根據(jù)各子服務(wù)器的版本權(quán)限,將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器;
[0007]步驟3:客戶端檢測(cè)所述主服務(wù)器上是否有所述軟件的新版本,如果有,則向所述主服務(wù)器發(fā)送版本更新請(qǐng)求;
[0008]步驟4:所述主服務(wù)器判斷發(fā)送所述版本更新請(qǐng)求的客戶端是否有權(quán)獲得所述新版本,是則將所述新版本在該客戶端對(duì)應(yīng)的子服務(wù)器上的下載地址發(fā)送到所述客戶端;
[0009]步驟5:所述客戶端訪問所述下載地址,下載所述版本配置信息,進(jìn)而判斷該版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同,是則刪除所述版本配置信息并結(jié)束,否則,確定更新文件列表;其中,所述更新文件列表為任一文件屬性與所述舊版本配置信息中的舊文件的相應(yīng)文件屬性不同的所述文件的名稱的集合;所述文件屬性包括:大小、MD5值;
[0010]步驟6:所述客戶端從其對(duì)應(yīng)的所述子服務(wù)器下載所述更新文件列表所指定的各文件;[0011]步驟7:所述客戶端關(guān)閉舊版本的所述軟件,并備份所述舊版本,進(jìn)而用所述更新文件列表指定的各文件替換相應(yīng)的舊文件;
[0012]步驟8:所述客戶端判斷所述軟件是否能夠正常啟動(dòng),是則輸出軟件更新成功的信息,否則,刪除所述版本配置信息以及所述更新文件列表指定的各文件,啟動(dòng)已備份的所述舊版本的所述軟件,并輸出軟件更新失敗的信息。
[0013]本發(fā)明的有益效果是:本發(fā)明增加了服務(wù)器的數(shù)量,并將其區(qū)分為主服務(wù)器和多個(gè)子服務(wù)器,每臺(tái)子服務(wù)器至少與一臺(tái)客戶端對(duì)應(yīng)。主服務(wù)器向子服務(wù)器提供軟件新版本的下載服務(wù),并回復(fù)客戶端的版本更新請(qǐng)求;子服務(wù)器面向其對(duì)應(yīng)的客戶端提供新版本下載服務(wù)。利用這種系統(tǒng)配置,軟件的新版本上傳至主服務(wù)器后,主服務(wù)器將其發(fā)送到有版本權(quán)限的子服務(wù)器,這樣,當(dāng)客戶端向主服務(wù)器發(fā)送版本更新請(qǐng)求后,利用主服務(wù)器返回的下載地址,首先從其對(duì)應(yīng)的子服務(wù)器下載版本配置信息,確定是否需要下載新版本,如果版本配置信息與已安裝的舊版本配置信息不完全相同,則下載更新文件列表所指示的文件,進(jìn)而進(jìn)行軟件的安裝更新。可見,由于本發(fā)明將新版本分散到主服務(wù)器和各子服務(wù)器,因而每臺(tái)服務(wù)器承擔(dān)的新版本下載任務(wù)量大大減少,從而有效降低了各服務(wù)器的載荷,提高了軟件版本的更新速度。同時(shí),由于本發(fā)明對(duì)客戶端有了權(quán)限的區(qū)分,只有具有獲得新版本的權(quán)限的客戶端才能下載新版本,且客戶端下載的文件僅為更新文件列表所指示的文件,不一定是新版本的整個(gè)文件包,因而文件下載量也大大減少,這也有效提高了軟件版本的下載速度和更新速度。此外,本發(fā)明中,客戶端判斷新版本與自身安裝的舊版本是否相同的依據(jù)除了包括新版本的版本號(hào)之外,還包括文件包的上傳日期、各文件的大小、各文件的MD5值等,可從多方面防止發(fā)生因修正新版本造成正確的新版本無法安裝到客戶端的問題,保證了客戶端始終能夠安裝正確的新版本。
[0014]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn):
[0015]進(jìn)一步,所述新版本還包括:與所述新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本;所述版本配置信息還包括:所述關(guān)聯(lián)版本的版本號(hào);
[0016]所述步驟5中,在所述客戶端判斷所述版本配置信息與自身已安裝的舊版本的舊版本配置信息不完全相同之后,在確定所述更新文件列表之前,還包括:所述客戶端根據(jù)所述關(guān)聯(lián)版本的版本號(hào),判斷自身是否已安裝所述關(guān)聯(lián)版本,如果判斷結(jié)果為否,則:
[0017]所述步驟6還包括:所述客戶端從其對(duì)應(yīng)的所述子服務(wù)器下載關(guān)聯(lián)版本;
[0018]所述步驟7還包括:所述客戶端安裝所述關(guān)聯(lián)版本。
[0019]進(jìn)一步,在所述步驟6之后,在所述步驟7之前,還包括:所述客戶端判斷目前是否安裝所述新版本,是則執(zhí)行步驟7,否則,結(jié)束。
[0020]進(jìn)一步,所述步驟2中,所述主服務(wù)器將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器之后,還記錄發(fā)送時(shí)間、該子服務(wù)器的編號(hào)、所述新版本的版本號(hào)。
[0021]進(jìn)一步,所述步驟6中,在所述客戶端從其對(duì)應(yīng)的所述子服務(wù)器下載所述更新文件列表所指定的各文件之后,還包括:所述子服務(wù)器記錄下載時(shí)間、所述客戶端的編號(hào)、所述客戶端所下載的文件的文件屬性。
[0022]進(jìn)一步,所述步驟8中,在所述客戶端判斷所述軟件能夠正常啟動(dòng)之后,在輸出軟件更新成功的信息之前,還包括:所述客戶端根據(jù)所述版本配置信息修改自身的注冊(cè)表。
[0023]另外,本發(fā)明還提供了一種軟件版本的更新系統(tǒng),該系統(tǒng)包括:主服務(wù)器、一臺(tái)以上的子服務(wù)器、數(shù)量不少于所述子服務(wù)器的客戶端;每臺(tái)子服務(wù)器至少與一臺(tái)客戶端對(duì)應(yīng);其中,
[0024]所述主服務(wù)器用于,設(shè)定各子服務(wù)器的版本權(quán)限;接收所述軟件的新版本,該新版本包括:版本配置信息以及由N個(gè)文件構(gòu)成的文件包,N為不小于I的整數(shù);所述版本配置信息包括:所述新版本的版本號(hào)、所述文件包的上傳日期、各所述文件的大小、各所述文件的MD5值;根據(jù)各子服務(wù)器的版本權(quán)限,將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器;判斷發(fā)送版本更新請(qǐng)求的客戶端是否有權(quán)獲得所述新版本,是則將所述新版本在該客戶端對(duì)應(yīng)的子服務(wù)器上的下載地址發(fā)送到所述客戶端;
[0025]所述子服務(wù)器用于,保存所述主服務(wù)器送來的所述新版本,并向其對(duì)應(yīng)的所述客戶端提供下載服務(wù);
[0026]所述客戶端用于,檢測(cè)所述主服務(wù)器上是否有所述軟件的新版本,如果有,則向所述主服務(wù)器發(fā)送版本更新請(qǐng)求;訪問所述下載地址,下載所述版本配置信息,進(jìn)而判斷該版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同,是則刪除所述版本配置信息,否則,確定更新文件列表;其中,所述更新文件列表為任一文件屬性與所述舊版本配置信息中的舊文件的相應(yīng)文件屬性不同的所述文件的名稱的集合;所述文件屬性包括:大小、MD5值;從其對(duì)應(yīng)的所述子服務(wù)器下載所述更新文件列表所指定的各文件;關(guān)閉舊版本的所述軟件,并備份所述舊版本,進(jìn)而用所述更新文件列表指定的各文件替換相應(yīng)的舊文件;判斷所述軟件是否能夠正常啟動(dòng),是則輸出軟件更新成功的信息,否則,刪除所述版本配置信息以及所述更新文件列表指定的各文件,啟動(dòng)已備份的所述舊版本的所述軟件,并輸出軟件更新失敗的信息。
[0027]進(jìn)一步,所述新版本還包括:與所述新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本;所述版本配置信息還包括:所述關(guān)聯(lián)版本的版本號(hào);
[0028]所述客戶端還用于,根據(jù)所述關(guān)聯(lián)版本的版本號(hào),判斷自身是否已安裝所述關(guān)聯(lián)版本,如果判斷結(jié)果為否,則從其對(duì)應(yīng)的所述子服務(wù)器下載所述關(guān)聯(lián)版本;安裝所述關(guān)聯(lián)版本。
[0029]進(jìn)一步,所述主服務(wù)器還用于,記錄將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器的發(fā)送時(shí)間、該子服務(wù)器的編號(hào)、所述新版本的版本號(hào)。
[0030]進(jìn)一步,所述子服務(wù)器還用于,記錄其對(duì)應(yīng)的所述客戶端從自身下載所述更新文件列表所指定的各文件的下載時(shí)間、所述客戶端的編號(hào)、所述客戶端所下載的文件的文件屬性。
【專利附圖】

【附圖說明】
[0031]圖1為本發(fā)明提出的軟件版本的更新方法的流程圖;
[0032]圖2為本發(fā)明提出的軟件版本的更新系統(tǒng)的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0033]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0034]本發(fā)明提出了一種軟件版本的更新方法,圖1為該方法的流程圖。如圖1所示,該方法包括:
[0035]步驟101:將軟件的新版本上傳至主服務(wù)器;其中,新版本包括:版本配置信息以及由N個(gè)文件構(gòu)成的文件包;版本配置信息包括:新版本的版本號(hào)、文件包的上傳日期、各文件的大小、各文件的MD5值。
[0036]本發(fā)明中,N為不小于I的整數(shù)。
[0037]本發(fā)明將可供更新的軟件的版本稱為新版本,而將客戶端目前已安裝的軟件的版本稱為舊版本,該舊版本包括舊版本配置信息以及由M個(gè)舊文件構(gòu)成的舊文件包,其中,舊版本配置信息包括:舊版本的版本號(hào)、舊文件包的上傳日期、各舊文件的大小、各舊文件的MD5值。該舊版本是客戶端上次進(jìn)行軟件版本的更新時(shí)所下載得到。
[0038]與現(xiàn)有技術(shù)有所區(qū)別,本發(fā)明將服務(wù)器進(jìn)一步區(qū)分為主服務(wù)器和一臺(tái)以上的自服務(wù)器,每臺(tái)子服務(wù)器與一臺(tái)以上的客戶端對(duì)應(yīng)。主服務(wù)器負(fù)責(zé)保存新版本,并面向子服務(wù)器提供新版本的下載服務(wù);子服務(wù)器面向其對(duì)應(yīng)的客戶端提供新版本的下載服務(wù)。這樣,每臺(tái)服務(wù)器(包括主服務(wù)器和子服務(wù)器)的載荷都明顯降低,新版本的下載速度和軟件版本的更新速度也就明顯得到提高。
[0039]這里,MD5 (Message Digest Algorithm5,消息摘要算法第5版)是計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種雜湊算法,用以提供消息的完整性保護(hù)。MD5值指的是利用MD5算法對(duì)文件進(jìn)行處理所得到的值。
[0040]步驟102:主服務(wù)器根據(jù)各子服務(wù)器的版本權(quán)限,將新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器。
[0041]本發(fā)明中,主服務(wù)器為子服務(wù)器設(shè)置了版本權(quán)限,子服務(wù)器是否具有版本權(quán)限,意味著該子服務(wù)器是否具有下載新版本的權(quán)限,而如果子服務(wù)器沒有版本權(quán)限,也就不能下載該新版本,這樣,該子服務(wù)器所對(duì)應(yīng)的各客戶端也就無從下載該新版本了。子服務(wù)器版本權(quán)限的設(shè)置,可以保證該新版本不會(huì)提供給某些特定的客戶端(如使用盜版的該軟件的客戶端等),這既降低了新版本的下載量和各服務(wù)器的載荷,也提高了客戶端的下載速度。
[0042]步驟103:客戶端檢測(cè)主服務(wù)器上是否有軟件的新版本,如果有,則向主服務(wù)器發(fā)送版本更新請(qǐng)求。
[0043]該步驟中,客戶端可以周期性檢測(cè)主服務(wù)器上是否有新版本,也可以在啟動(dòng)時(shí)檢測(cè)主服務(wù)器上是否有新版本。
[0044]本步驟中,如果客戶端沒有檢測(cè)到主服務(wù)器上有新版本,則不會(huì)發(fā)送版本更新請(qǐng)求。
[0045]步驟104:主服務(wù)器判斷發(fā)送版本更新請(qǐng)求的客戶端是否有權(quán)獲得新版本,是則將新版本在該客戶端對(duì)應(yīng)的子服務(wù)器上的下載地址發(fā)送到客戶端。
[0046]本發(fā)明中,主服務(wù)器為子服務(wù)器設(shè)置新版本的版本權(quán)限的目的,就是設(shè)定不具有該版本權(quán)限的子服務(wù)器不能從主服務(wù)器下載新版本,該子服務(wù)器所對(duì)應(yīng)的客戶端也就不能從該子服務(wù)器下載該新版本。也就是說,該步驟中,主服務(wù)器判斷發(fā)送版本更新請(qǐng)求的客戶端是否有權(quán)獲得新版本,就是判斷該客戶端所對(duì)應(yīng)的子服務(wù)器是否具有該新版本的版本權(quán)限。
[0047]如果主服務(wù)器判斷發(fā)送版本更新請(qǐng)求的客戶端沒有權(quán)獲得新版本,該客戶端所對(duì)應(yīng)的子服務(wù)器也就不能從主服務(wù)器下載該新版本,因而也就不會(huì)有新版本的下載地址,主服務(wù)器可以向該客戶端發(fā)送其無權(quán)獲得新版本的通知,使該客戶端停止此次版本更新。
[0048]步驟105:客戶端訪問下載地址,下載版本配置信息,進(jìn)而判斷該版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同,是則刪除版本配置信息并結(jié)束,否貝U,確定更新文件列表;其中,更新文件列表為任一文件屬性與舊版本配置信息中的舊文件的相應(yīng)文件屬性不同的文件的名稱的集合;文件屬性包括:大小、MD5值。
[0049]某些情況下,客戶端已經(jīng)安裝了新版本所包含的文件包中的部分文件,在這種情況下,客戶端不必重新下載安裝這部分文件,而只需下載文件包中的其他文件,即可實(shí)現(xiàn)軟件版本的更新。這可以進(jìn)一步減少客戶端的下載量,降低服務(wù)器的載荷,也可以提高客戶端的下載速度和軟件版本更新的效率?;谝陨峡紤],本發(fā)明中的新版本除了包括文件包,還包括承載了該文件包的標(biāo)志信息的版本配置信息。
[0050]本步驟中,客戶端首先下載版本配置信息,目的有兩個(gè):一是確定子服務(wù)器上的新版本是否與自身已安裝的舊版本完全相同,也就是確定自身是否已安裝了該新版本;二是具體確定需要下載的文件,在步驟中以更新文件列表進(jìn)行指示。
[0051]上述的第一個(gè)目的是通過判斷新版本中的版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同來實(shí)現(xiàn)的。這里的“完全相同”意味著,版本配置信息與舊版本配置信息中的所有內(nèi)容(包括版本號(hào)、文件包的上傳日期、各文件的大小、各文件的MD5值)全部對(duì)應(yīng)相同。判斷結(jié)果為是,意味著該客戶端已安裝了新版本,因而可以刪除該版本配置信息,并結(jié)束此次版本更新過程。判斷結(jié)果為否,意味著新版本中至少有一部分文件是該客戶端尚未安裝的,因而該客戶端需要進(jìn)行軟件版本的更新。
[0052]在本步驟中的判斷結(jié)果為否的情況下,客戶端需要具體確定需要下載的文件,以實(shí)現(xiàn)上述的第二個(gè)目的。需要下載的文件由該步驟所確定的更新文件列表來指示。更新文件列表的確定原則是:新版本中的文件的任一文件屬性(即文件的大小和文件的MD5值中的任一個(gè))與舊版本中的相應(yīng)文件的相應(yīng)文件屬性不同,則將該文件的名稱添加到更新文件列表中。當(dāng)然,如果舊版本中不包括新版本中的某一文件,則舊版本配置信息中自然也就沒有該文件的任一文件屬性,該情況視同舊版本配置信息中該舊文件的相應(yīng)文件屬性與新版本中的該文件的文件屬性不同,也要將該文件的名稱添加到更新文件列表中。
[0053]可見,本發(fā)明判斷新、舊版本區(qū)別的依據(jù)不僅包括現(xiàn)有技術(shù)中的版本號(hào),還包括文件包的上傳日期、各文件的大小、各文件的MD5值,這大大提高了新、舊版本零區(qū)別的判定門檻,當(dāng)出現(xiàn)新版本被修正而版本號(hào)不變的情況時(shí),利用現(xiàn)有技術(shù)會(huì)發(fā)生客戶端無法更新修正后的新版本的問題,而本發(fā)明則因文件包的上傳日期、各文件的大小、各文件的MD5值等都與已下載的舊版本配置信息不通,而順利進(jìn)行軟件版本的更新。可見,本發(fā)明可以保證客戶端始終能夠安裝正確的新版本。
[0054]步驟106:客戶端從其對(duì)應(yīng)的子服務(wù)器下載更新文件列表所指定的各文件。
[0055]步驟105所確定的更新文件列表指定了該客戶端需要下載的所有文件的名稱,該步驟按照更新文件列表的指示,將這些文件下載到客戶端。
[0056]步驟107:客戶端關(guān)閉舊版本的軟件,并備份舊版本,進(jìn)而用更新文件列表指定的各文件替換相應(yīng)的舊文件。
[0057]步驟106下載了新版本中需要更新的文件,因而按照軟件版本的常規(guī)更新規(guī)則,該步驟首先關(guān)閉正在運(yùn)行中的舊版本(如果該軟件的舊版本未運(yùn)行,本步驟當(dāng)然也就不需要關(guān)閉);然后備份舊版本,以防下載的新版本不可用;進(jìn)而就進(jìn)行需要更新的舊文件的替換。
[0058]步驟108:客戶端判斷軟件是否能夠正常啟動(dòng),是則執(zhí)行步驟109,否則執(zhí)行步驟110。
[0059]步驟107中,舊文件被替換完成,并不能保證軟件的新版本能夠正常啟動(dòng),本步驟是新版本的軟件能否正常啟動(dòng)的測(cè)試步驟,如果能夠正常啟動(dòng),意味著此次軟件版本更新順利完成,如果不能正常啟動(dòng),則意味著此次版本更新失敗,應(yīng)恢復(fù)舊版本的使用,以待下次版本更新。
[0060]步驟109:客戶端輸出軟件更新成功的信息。
[0061]本步驟的執(zhí)行,意味著此次軟件版本的更新過程成功結(jié)束。
[0062]步驟110:客戶端刪除版本配置信息以及更新文件列表指定的各文件,啟動(dòng)已備份的舊版本的軟件,并輸出軟件更新失敗的信息。
[0063]本步驟的執(zhí)行,意味著此次軟件版本的更新過程失敗,客戶端應(yīng)刪除步驟105下載的版本配置信息以及步驟106所下載的各文件,并將軟件的版本恢復(fù)為舊版本。
[0064]由此可見,本發(fā)明增加了服務(wù)器的數(shù)量,并將其區(qū)分為主服務(wù)器和多個(gè)子服務(wù)器,每臺(tái)子服務(wù)器至少與一臺(tái)客戶端對(duì)應(yīng)。主服務(wù)器向子服務(wù)器提供軟件新版本的下載服務(wù),并回復(fù)客戶端的版本更新請(qǐng)求;子服務(wù)器面向其對(duì)應(yīng)的客戶端提供新版本下載服務(wù)。利用這種系統(tǒng)配置,軟件的新版本上傳至主服務(wù)器后,主服務(wù)器將其發(fā)送到有版本權(quán)限的子服務(wù)器,這樣,當(dāng)客戶端向主服務(wù)器發(fā)送版本更新請(qǐng)求后,利用主服務(wù)器返回的下載地址,首先從其對(duì)應(yīng)的子服務(wù)器下載版本配置信息,確定是否需要下載新版本,如果版本配置信息與已安裝的舊版本配置信息不完全相同,則下載更新文件列表所指示的文件,進(jìn)而進(jìn)行軟件的安裝更新??梢姡捎诒景l(fā)明將新版本分散到主服務(wù)器和各子服務(wù)器,因而每臺(tái)服務(wù)器承擔(dān)的新版本下載任務(wù)量大大減少,從而有效降低了各服務(wù)器的載荷,提高了軟件版本的更新速度。同時(shí),由于本發(fā)明對(duì)客戶端有了權(quán)限的區(qū)分,只有具有獲得新版本的權(quán)限的客戶端才能下載新版本,且客戶端下載的文件僅為更新文件列表所指示的文件,不一定是新版本的整個(gè)文件包,因而文件下載量也大大減少,這也有效提高了軟件版本的下載速度和更新速度。此外,本發(fā)明中,客戶端判斷新版本與自身安裝的舊版本是否相同的依據(jù)除了包括新版本的版本號(hào)之外,還包括文件包的上傳日期、各文件的大小、各文件的MD5值等,可從多方面防止發(fā)生因修正新版本造成正確的新版本無法安裝到客戶端的問題,保證了客戶端始終能夠安裝正確的新版本。
[0065]有些情況下,一個(gè)軟件的運(yùn)行需要其他軟件的配合,這里的“其他軟件”在本發(fā)明中稱為關(guān)聯(lián)軟件。既然是一種軟件,關(guān)聯(lián)軟件自然也有不同的版本,該關(guān)聯(lián)軟件與本發(fā)明所述軟件的新版本相配合運(yùn)行的版本稱為關(guān)聯(lián)版本。為了使客戶端下載的新版本能夠順利運(yùn)行,本發(fā)明中的新版本還包括:與新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本;新版本的版本配置信息還包括:關(guān)聯(lián)版本的版本號(hào)。
[0066]這樣,在步驟105中,在客戶端判斷版本配置信息與自身已安裝的舊版本的舊版本配置信息不完全相同之后,在確定更新文件列表之前,還要包括:客戶端根據(jù)關(guān)聯(lián)版本的版本號(hào),判斷自身是否已安裝關(guān)聯(lián)版本,是則意味著該客戶端無需重新安裝該關(guān)聯(lián)軟件的關(guān)聯(lián)版本,而如果判斷結(jié)果為否,則:[0067]步驟106還要包括:客戶端從其對(duì)應(yīng)的子服務(wù)器下載關(guān)聯(lián)版本;
[0068]步驟107還要包括:客戶端安裝關(guān)聯(lián)版本。
[0069]也就是說,如果客戶端尚未安裝與新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本,則本發(fā)明要求其從子服務(wù)器下載該關(guān)聯(lián)版本并安裝。
[0070]為了提高本發(fā)明的人性化水平,客戶端在下載了更新文件列表所指定的文件之后,還可以就目前是否需要安裝該新版本來提問用戶,在獲得用戶的指示之后再進(jìn)行安裝或停止安裝。基于這樣的考慮,在步驟106之后,在步驟107之前,還可以包括:客戶端判斷目前是否安裝新版本,是則執(zhí)行步驟107,否則,結(jié)束。
[0071]主服務(wù)器還可以具有新版本的下載統(tǒng)計(jì)功能,以供開發(fā)者參考。因此,步驟102中,主服務(wù)器將新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器之后,還可以記錄發(fā)送時(shí)間、該子服務(wù)器的編號(hào)、新版本的版本號(hào)。
[0072]同樣,子服務(wù)器也可以統(tǒng)計(jì)新版本的下載情況,即步驟106中,在客戶端從其對(duì)應(yīng)的子服務(wù)器下載更新文件列表所指定的各文件之后,還可以包括如下步驟:子服務(wù)器記錄下載時(shí)間、客戶端的編號(hào)、客戶端所下載的文件的文件屬性。
[0073]客戶端通常用注冊(cè)表來記錄自身安裝和運(yùn)行的軟件的信息,因此,在步驟108中,在客戶端判斷軟件能夠正常啟動(dòng)之后,在輸出軟件更新成功的信息之前,還可以包括:客戶端根據(jù)版本配置信息修改自身的注冊(cè)表。
[0074]本發(fā)明還提出了一種軟件版本的更新系統(tǒng),圖2為該系統(tǒng)的結(jié)構(gòu)圖。如圖2所示,該系統(tǒng)包括:主服務(wù)器201、一臺(tái)以上的子服務(wù)器202、數(shù)量不少于子服務(wù)器202的客戶端203 ;每臺(tái)子服務(wù)器202至少與一臺(tái)客戶端203對(duì)應(yīng)。
[0075]主服務(wù)器201用于,設(shè)定各子服務(wù)器202的版本權(quán)限,該版本權(quán)限意味著該子服務(wù)器能夠從主服務(wù)器下載新版本。主服務(wù)器201還用于,接收軟件的新版本,該新版本包括:版本配置信息以及由N個(gè)文件構(gòu)成的文件包,N為不小于I的整數(shù);版本配置信息包括:新版本的版本號(hào)、文件包的上傳日期、各文件的大小、各文件的MD5值。主服務(wù)器201根據(jù)各子服務(wù)器202的版本權(quán)限,將新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器202。主服務(wù)器201還可以判斷發(fā)送版本更新請(qǐng)求的客戶端203是否有權(quán)獲得新版本,是則將新版本在該客戶端203對(duì)應(yīng)的子服務(wù)器202上的下載地址發(fā)送到客戶端203,如果判斷結(jié)果為否,則向該客戶端203發(fā)送其不具有下載該新版本的權(quán)限的通知,使其停止此次軟件版本的更新。
[0076]子服務(wù)器202用于,保存主服務(wù)器201送來的軟件的新版本,并向其對(duì)應(yīng)的客戶端203提供下載服務(wù)。當(dāng)然,如果子服務(wù)器202不具有該新版本的版本權(quán)限,也就不能從主服務(wù)器201下載該新版本,自然也就不能向其對(duì)應(yīng)的客戶端203提供下載服務(wù)。
[0077]客戶端203用于,檢測(cè)主服務(wù)器201上是否有軟件的新版本,如果有,則向主服務(wù)器201發(fā)送版本更新請(qǐng)求,如果沒有,則不會(huì)發(fā)送版本更新請(qǐng)求。
[0078]客戶端203還用于,訪問主服務(wù)器201送來的下載地址,下載版本配置信息。該下載地址為新版本在該客戶端203所對(duì)應(yīng)的子服務(wù)器202上的下載地址,客戶端203通過訪問該下載地址,首先下載的是版本配置信息,而不是將文件包同時(shí)下載下來,這可以在無需下載該新版本的情況下,降低客戶端203的下載量,也可以降低子服務(wù)器202的載荷。
[0079]客戶端203下載了版本配置信息之后,還可以進(jìn)一步判斷該版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同,是則刪除此次下載的版本配置信息,否貝U,確定更新文件列表;其中,更新文件列表為任一文件屬性與舊版本配置信息中的舊文件的相應(yīng)文件屬性不同的文件的名稱的集合;文件屬性包括:大小、MD5值。根據(jù)該更新文件列表,客戶端203就可以從其對(duì)應(yīng)的子服務(wù)器202下載更新文件列表所指定的各文件。下載完成后,客戶端203關(guān)閉舊版本的軟件,并備份該舊版本,進(jìn)而用更新文件列表指定的各文件替換相應(yīng)的舊文件。替換完成后,客戶端203可以判斷該軟件是否能夠正常啟動(dòng),是則意味著此次軟件版本的更新已成功,可以輸出軟件更新成功的信息,否則意味著此次軟件版本的更新失敗,客戶端203要?jiǎng)h除此次下載的版本配置信息以及更新文件列表指定的各文件,啟動(dòng)已備份的舊版本的軟件,并輸出軟件更新失敗的信息。
[0080]新版本還可以包括與新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本;此時(shí),版本配置信息還包括關(guān)聯(lián)版本的版本號(hào)。客戶端203還可以用于,根據(jù)關(guān)聯(lián)版本的版本號(hào),判斷自身是否已安裝關(guān)聯(lián)版本,是則不再下載該關(guān)聯(lián)版本,如果判斷結(jié)果為否,則從其對(duì)應(yīng)的子服務(wù)器202下載關(guān)聯(lián)版本,進(jìn)而安裝該關(guān)聯(lián)版本。
[0081]主服務(wù)器201和子服務(wù)器202都可以具有新版本下載的統(tǒng)計(jì)功能。主服務(wù)器201用于,記錄將新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器202的發(fā)送時(shí)間、該子服務(wù)器202的編號(hào)、新版本的版本號(hào)??蛻舳?03從其對(duì)應(yīng)的子服務(wù)器202下載更新文件列表所指定的各文件之后,子服務(wù)器202用于,記錄其對(duì)應(yīng)的客戶端203從自身下載更新文件列表所指定的各文件的下載時(shí)間、客戶端203的編號(hào)、客戶端203所下載的文件的文件屬性。
[0082]由此可見,本發(fā)明具有以下優(yōu)點(diǎn):
[0083](I)本發(fā)明增加了服務(wù)器的數(shù)量,并將其區(qū)分為主服務(wù)器和多個(gè)子服務(wù)器,每臺(tái)子服務(wù)器至少與一臺(tái)客戶端對(duì)應(yīng)。主服務(wù)器向子服務(wù)器提供軟件新版本的下載服務(wù),并回復(fù)客戶端的版本更新請(qǐng)求;子服務(wù)器面向其對(duì)應(yīng)的客戶端提供新版本下載服務(wù)。利用這種系統(tǒng)配置,軟件的新版本上傳至主服務(wù)器后,主服務(wù)器將其發(fā)送到有版本權(quán)限的子服務(wù)器,這樣,當(dāng)客戶端向主服務(wù)器發(fā)送版本更新請(qǐng)求后,利用主服務(wù)器返回的下載地址,首先從其對(duì)應(yīng)的子服務(wù)器下載版本配置信息,確定是否需要下載新版本,如果版本配置信息與已安裝的舊版本配置信息不完全相同,則下載更新文件列表所指示的文件,進(jìn)而進(jìn)行軟件的安裝更新??梢?,由于本發(fā)明將新版本分散到主服務(wù)器和各子服務(wù)器,因而每臺(tái)服務(wù)器承擔(dān)的新版本下載任務(wù)量大大減少,從而有效降低了各服務(wù)器的載荷,提高了軟件版本的更新速度。同時(shí),由于本發(fā)明對(duì)客戶端有了權(quán)限的區(qū)分,只有具有獲得新版本的權(quán)限的客戶端才能下載新版本,且客戶端下載的文件僅為更新文件列表所指示的文件,不一定是新版本的整個(gè)文件包,因而文件下載量也大大減少,這也有效提高了軟件版本的下載速度和更新速度。此夕卜,本發(fā)明中,客戶端判斷新版本與自身安裝的舊版本是否相同的依據(jù)除了包括新版本的版本號(hào)之外,還包括文件包的上傳日期、各文件的大小、各文件的MD5值等,可從多方面防止發(fā)生因修正新版本造成正確的新版本無法安裝到客戶端的問題,保證了客戶端始終能夠安裝正確的新版本。
[0084]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種軟件版本的更新方法,其特征在于,該方法包括: 步驟1:將所述軟件的新版本上傳至主服務(wù)器;其中,所述新版本包括:版本配置信息以及由N個(gè)文件構(gòu)成的文件包,N為不小于I的整數(shù);所述版本配置信息包括:所述新版本的版本號(hào)、所述文件包的上傳日期、各所述文件的大小、各所述文件的MD5值; 步驟2:所述主服務(wù)器根據(jù)各子服務(wù)器的版本權(quán)限,將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器; 步驟3:客戶端檢測(cè)所述主服務(wù)器上是否有所述軟件的新版本,如果有,則向所述主服務(wù)器發(fā)送版本更新請(qǐng)求; 步驟4:所述主服務(wù)器判斷發(fā)送所述版本更新請(qǐng)求的客戶端是否有權(quán)獲得所述新版本,是則將所述新版本在該客戶端對(duì)應(yīng)的子服務(wù)器上的下載地址發(fā)送到所述客戶端; 步驟5:所述客戶端訪問所述下載地址,下載所述版本配置信息,進(jìn)而判斷該版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同,是則刪除所述版本配置信息并結(jié)束,否則,確定更新文件列表;其中,所述更新文件列表為任一文件屬性與所述舊版本配置信息中的舊文件的相應(yīng)文件屬性不同的所述文件的名稱的集合;所述文件屬性包括:大小、MD5值; 步驟6:所述客戶端從其對(duì)應(yīng)的所述子服務(wù)器下載所述更新文件列表所指定的各文件; 步驟1:所述客戶端關(guān)閉舊版本的所述軟件,并備份所述舊版本,進(jìn)而用所述更新文件列表指定的各文件替換相應(yīng)的舊文件; 步驟8:所述客戶端判斷所述軟件是否能夠正常啟動(dòng),是則輸出軟件更新成功的信息,否則,刪除所述版本配置信息以及所述更新文件列表指定的各文件,啟動(dòng)已備份的所述舊版本的所述軟件,并輸出軟件更新失敗的信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述新版本還包括:與所述新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本;所述版本配置信息還包括:所述關(guān)聯(lián)版本的版本號(hào); 所述步驟5中,在所述客戶端判斷所述版本配置信息與自身已安裝的舊版本的舊版本配置信息不完全相同之后,在確定所述更新文件列表之前,還包括:所述客戶端根據(jù)所述關(guān)聯(lián)版本的版本號(hào),判斷自身是否已安裝所述關(guān)聯(lián)版本,如果判斷結(jié)果為否,則: 所述步驟6還包括:所述客戶端從其對(duì)應(yīng)的所述子服務(wù)器下載關(guān)聯(lián)版本; 所述步驟7還包括:所述客戶端安裝所述關(guān)聯(lián)版本。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述步驟6之后,在所述步驟7之前,還包括:所述客戶端判斷目前是否安裝所述新版本,是則執(zhí)行步驟7,否則,結(jié)束。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟2中,所述主服務(wù)器將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器之后,還記錄發(fā)送時(shí)間、該子服務(wù)器的編號(hào)、所述新版本的版本號(hào)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟6中,在所述客戶端從其對(duì)應(yīng)的所述子服務(wù)器下載所述更新文件列表所指定的各文件之后,還包括:所述子服務(wù)器記錄下載時(shí)間、所述客戶端的編號(hào)、所述客戶端所下載的文件的文件屬性。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟8中,在所述客戶端判斷所述軟件能夠正常啟動(dòng)之后,在輸出軟件更新成功的信息之前,還包括:所述客戶端根據(jù)所述版本配置信息修改自身的注冊(cè)表。
7.一種軟件版本的更新系統(tǒng),其特征在于,該系統(tǒng)包括:主服務(wù)器、一臺(tái)以上的子服務(wù)器、數(shù)量不少于所述子服務(wù)器的客戶端;每臺(tái)子服務(wù)器至少與一臺(tái)客戶端對(duì)應(yīng);其中, 所述主服務(wù)器用于,設(shè)定各子服務(wù)器的版本權(quán)限;接收所述軟件的新版本,該新版本包括:版本配置信息以及由N個(gè)文件構(gòu)成的文件包,N為不小于I的整數(shù);所述版本配置信息包括:所述新版本的版本號(hào)、所述文件包的上傳日期、各所述文件的大小、各所述文件的MD5值;根據(jù)各子服務(wù)器的版本權(quán)限,將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器;判斷發(fā)送版本更新請(qǐng)求的客戶端是否有權(quán)獲得所述新版本,是則將所述新版本在該客戶端對(duì)應(yīng)的子服務(wù)器上的下載地址發(fā)送到所述客戶端; 所述子服務(wù)器用于,保存所述主服務(wù)器送來的所述新版本,并向其對(duì)應(yīng)的所述客戶端提供下載服務(wù); 所述客戶端用于,檢測(cè)所述主服務(wù)器上是否有所述軟件的新版本,如果有,則向所述主服務(wù)器發(fā)送版本更新請(qǐng)求;訪問所述下載地址,下載所述版本配置信息,進(jìn)而判斷該版本配置信息是否與自身已安裝的舊版本的舊版本配置信息完全相同,是則刪除所述版本配置信息,否則,確定更新文件列表;其中,所述更新文件列表為任一文件屬性與所述舊版本配置信息中的舊文件的相應(yīng)文件屬性不同的所述文件的名稱的集合;所述文件屬性包括:大小、MD5值;從其對(duì)應(yīng)的所述子服務(wù)器下載所述更新文件列表所指定的各文件;關(guān)閉舊版本的所述軟件,并備份所述舊版本,進(jìn)而用所述更新文件列表指定的各文件替換相應(yīng)的舊文件;判斷所述軟件是否能夠正常啟動(dòng),是則輸出軟件更新成功的信息,否則,刪除所述版本配置信息以及所述更新文件列表指定的各文件,啟動(dòng)已備份的所述舊版本的所述軟件,并輸出軟件更新失敗的信息。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述新版本還包括:與所述新版本配合運(yùn)行的關(guān)聯(lián)軟件的關(guān)聯(lián)版本;所述版本配置信息還包括:所述關(guān)聯(lián)版本的版本號(hào); 所述客戶端還用于,根據(jù)所述關(guān)聯(lián)版本的版本號(hào),判斷自身是否已安裝所述關(guān)聯(lián)版本,如果判斷結(jié)果為否,則從其對(duì)應(yīng)的所述子服務(wù)器下載所述關(guān)聯(lián)版本;安裝所述關(guān)聯(lián)版本。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述主服務(wù)器還用于,記錄將所述新版本發(fā)送到具有該新版本的版本權(quán)限的子服務(wù)器的發(fā)送時(shí)間、該子服務(wù)器的編號(hào)、所述新版本的版本號(hào)。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述子服務(wù)器還用于,記錄其對(duì)應(yīng)的所述客戶端從自身下載所述更新文件列表所指定的各文件的下載時(shí)間、所述客戶端的編號(hào)、所述客戶端所下載的文件的文件屬性。
【文檔編號(hào)】G06F9/445GK103902299SQ201210567970
【公開日】2014年7月2日 申請(qǐng)日期:2012年12月24日 優(yōu)先權(quán)日:2012年12月24日
【發(fā)明者】谷永艷, 甘景全, 李少維, 魏賀生, 灑西濤, 晏育強(qiáng) 申請(qǐng)人:航天信息股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1