服務器、升級方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種服務器、升級方法及系統(tǒng),在客戶端的升級過程中,根據各客戶端的編號確定各客戶端的升級時間,由于各客戶端的編號一般不同,更利于在更新周期內根據各客戶端的編號確定各客戶端在該周期內的更新次序,使各客戶端在該周期內采用更合理的時分復用方式使用服務器;而并非現(xiàn)有的統(tǒng)一設定各客戶端在同一時刻發(fā)起升級;因此可避免現(xiàn)有升級過程中因所有客戶端集中在同一時刻發(fā)起升級導致服務器故障的問題;使在升級過程中,服務器的資源利用更合理,升級的成功率更高,提高了升級的可靠性。
【專利說明】服務器、升級方法及系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及通信領域,具體涉及一種服務器、升級方法及系統(tǒng)。
【背景技術】
[0002]隨著電子技術的飛速發(fā)展,電子設備的種類和數(shù)量都急劇上升,產品推出周期較以前短了許多。如此眾多的產品快速上市,對售后服務提出了一種很大的挑戰(zhàn),一種新型的售后方式就此應運而生——在線軟件升級。在電子設備售出之后,當發(fā)現(xiàn)一些通過升級軟件能夠解決的設備故障或者設備功能缺陷時,廠家往往通過有線或者無線網絡在線升級設備軟件的方式來修復設備故障。同時,也可以通過這種在線軟件升級的方式來發(fā)布新的功能給已有用戶使用,以此提升用戶體驗。這種在線升級方案一般采用C/S模式(客戶端/服務器模式)。廠家建立一個升級服務器,將軟件升級需要的數(shù)據放在服務器上;已售設備作為客戶端通過網絡連接到該服務器,下載相應的升級數(shù)據并執(zhí)行升級命令實現(xiàn)軟件升級。
[0003]這種升級一般可以通過3種方式觸發(fā):
[0004]用戶觸發(fā)
[0005]用戶操作客戶端,讓客戶端連接服務器進行軟件升級;
[0006]服務器觸發(fā)
[0007]當有新的升級版本時,服務器通知設備,設備連接到服務器進行軟件升級。
[0008]設備觸發(fā):
[0009]設備主動周期性連接服務器進行軟件升級。比如設備每周自動連接服務器進行一次軟件升級;設備每月自動連接服務器進行一次軟件升級等。
[0010]現(xiàn)有的客戶端主動周期性觸發(fā)升級的方案為:
[0011]在軟件代碼里寫入固定升級周期和發(fā)起升級的時間,到了指定時間后設備自動觸發(fā)升級。例如,在代碼里設定升級周期為一周,具體升級時間為每周星期一的00點00分00秒。這樣,在每周星期一的00點00分00秒,設備將主動連接服務器進行軟件升級。由于出廠時同一種型號的所有設備的軟件都是一樣的,升級周期和發(fā)起升級的時間也是一樣的,這樣會帶來一個問題,在同一時間該型號的所有已售設備將同時連接服務器。就上面的例子來說,如果已售設備10000臺,這10000臺設備都將在每周星期一 00點00分00秒連接服務器進行升級,服務器將會因為超過最大連接數(shù)而無響應;而過了這個時間段后,服務器將一直閑置,直到下一個升級周期的到來。很明顯,這種對服務器資源訪問在同一時間段瞬間爆發(fā),會導致服務器故障,進而導致升級失??;且服務器在升級周期的其它時間完全閑置,子資源分配非常不合理,降低了升級的可靠性。
【發(fā)明內容】
[0012]本發(fā)明要解決的主要技術問題是,提供一種服務器、升級方法及系統(tǒng),解決現(xiàn)有升級過程中因所有客戶端集中在同一時刻發(fā)起升級導致服務器故障、資源分配不合理、可靠性低的問題。[0013]為解決上述技術問題,本發(fā)明提供一種升級方法,在升級過程中,根據客戶端的編號確定客戶端的升級時間。
[0014]在本發(fā)明的一種實施例中,所述根據客戶端的編號確定客戶端的升級時間包括:
[0015]獲取客戶端的編號,并獲取升級參數(shù);
[0016]根據獲取的客戶端編號結合所述升級參數(shù)確定客戶端的升級時間;
[0017]在確定客戶端的升級時間后,還包括:
[0018]客戶端的升級時間到達時,客戶端向服務器發(fā)送升級請求。
[0019]在本發(fā)明的一種實施例中,所述獲取客戶端的編號和升級參數(shù)包括:所述服務器獲取客戶端的編號,并獲取升級參數(shù);
[0020]所述根據獲取的客戶端編號結合所述升級參數(shù)確定客戶端的升級時間包括:所述服務器根據獲取的所述升級參數(shù)得到升級時間基數(shù);根據所述升級時間基數(shù)和所述客戶端自身的編號確定客戶端的升級時間;
[0021]所述客戶端升級時間到達時,客戶端向服務器發(fā)送升級請求包括:所述服務器判斷所述客戶端的升級時間到達時,向所述客戶端發(fā)送升級通知,所述客戶端接收到該通知后,向所述服務器發(fā)送升級請求。
[0022]在本發(fā)明的一種實施例中,所述服務器獲取的升級參數(shù)包括:升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N;
[0023]所述根據獲取的所述升級參數(shù)得到升級時間基數(shù)包括:所述服務器將所述T除以N,得到所述升級時間基數(shù);
[0024]所述根據所述升級時間基數(shù)和所述客戶端的編號確定所述客戶端的升級時間包括:所述服務器判斷若所述升級時間基數(shù)的值大于等于所述tl,則確定所述客戶端的升級時間為其編號乘以所述升級時間基數(shù)。
[0025]在本發(fā)明的一種實施例中,所述服務器獲取的升
[0026]級參數(shù)包括:升級周期T、客戶端升級所需要的時間tl、需要升級的客戶端的總數(shù)N,同一時間所述服務器能夠承受的最大連接數(shù)Nmax ;
[0027]所述根據獲取的所述升級參數(shù)得到升級時間基數(shù)包括:所述服務器將所述T除以所述tl得到所述升級時間基數(shù)L,所述升級時間基數(shù)L表示將所述T劃分成所述T劃分成
1、2、......幾共L個tl ;
[0028]所述根據所述升級時間基數(shù)和所述編號確定客戶端的升級時間包括:所述服務器判斷若所述N除以升級時間基數(shù)的值小于等于所述Nmax,則根據所述編號將各客戶端分成多個組,分成的組數(shù)小于等于所述升級時間基數(shù),每組的客戶端數(shù)小于等于所述N除以升級時間基數(shù)的值,一個組內的客戶端的升級時間對應一個編號為j的tl,j的值大于等于1,小于等于L。
[0029]在本發(fā)明的一種實施例中,所述服務器根據所述編號將各客戶端分成多個組包括:所述第一客戶端將客戶端的編號除以所述L,并取余數(shù),所述余數(shù)為該客戶端所在的組的組號。
[0030]在本發(fā)明的一種實施例中,若所述升級時間基數(shù)的值小于所述tl,則更新所述T的值;使更新后的T的值滿足得到升級時間基數(shù)的值大于等于所述tl。
[0031]在本發(fā)明的一種實施例中,若所述N除以升級時間基數(shù)的值大于所述Nmax,則更新所述T和/或Nmax的值;使更新后的T和/或Nmax的值滿足所述N除以升級時間基數(shù)的值小于等于所述Nmax。
[0032]在本發(fā)明的一種實施例中,所述客戶端的編號為客戶端的ID號,或客戶端的ID號中可以唯一標識該客戶端的部分字段,或根據所述ID號或所述部分字段采用預設的算法得到的數(shù)字編號。
[0033]本發(fā)明還提供了一種服務器,所述服務器包括第二編號獲取模塊和第二升級模塊;
[0034]所述第二編號獲取模塊用于獲取客戶端的編號,并將獲取的編號發(fā)送給所述第二升級模塊;
[0035]所述第二升級模塊用于根據接收到的客戶端的編號確定所述客戶端的升級時間,還用于在升級時間到達時,向該客戶端發(fā)送升級通知。
[0036]在本發(fā)明的一種實施例中,所述第二編號獲取模塊還用于獲取升級參數(shù);所述第二升級模塊根據接收到的客戶端的編號確定客戶端的升級時間具體為:根據接收到的客戶端的編號結合所述升級參數(shù)確定客戶端的升級時間。
[0037]在本發(fā)明的一種實施例中,所述第二編號獲取的升級參數(shù)包括升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N;
[0038]所述第二升級 模塊根據接收到的客戶端的編號結合所述升級參數(shù)確定所述
[0039]客戶端的升級時間包括:所述第二升級模塊將所述T除以N,得到升級時間基數(shù);判斷若所述升級時間基數(shù)的值大于等于所述tl,則確定所述客戶端自身升級時間為其編號乘以所述升級時間基數(shù)。
[0040]在本發(fā)明的一種實施例中,所述第二編號獲取模塊獲取的升級參數(shù)包括升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N;同一時間所述服務器能夠承受的最大連接數(shù)Nmax ;
[0041]所述第二升級模塊根據接收到的客戶端的編號結合所述升級參數(shù)確定所述
[0042]客戶端的升級時間包括:所述第二升級模塊將所述T除以所述tl得到所述升級時間基數(shù)L,所述升級時間基數(shù)L表示將所述T劃分成所述T劃分成1、2、……、L共L個tl ;判斷若所述N除以升級時間基數(shù)的值小于等于所述Nmax,則根據所述編號將各客戶端分成多個組,分成的組數(shù)小于等于所述升級時間基數(shù),每組的客戶端數(shù)小于等于所述N除以升級時間基數(shù)的值,一個組內的客戶端的升級時間對應一個編號為j的tl,j的值大于等于1,小于等于L。
[0043]本發(fā)明還提供了一種升級系統(tǒng),包括至少一個客戶端和如上任一項所述的服務器;所述客戶端通過與所述服務器通信完成升級。
[0044]本發(fā)明的有益效果是:
[0045]本發(fā)明提供的服務器、升級方法及系統(tǒng),在客戶端的升級過程中,根據各客戶端的編號確定各客戶端的升級時間,由于各客戶端的編號一般不同,更利于在更新周期內根據各客戶端的編號確定各客戶端在該周期內的更新次序,使各客戶端在該周期內采用更合理的時分復用方式使用服務器;而并非現(xiàn)有的統(tǒng)一設定各客戶端在同一時刻發(fā)起升級;因此可避免現(xiàn)有升級過程中因所有客戶端集中在同一時刻發(fā)起升級導致服務器故障的問題;使在升級過程中,服務器的資源利用更合理,升級的成功率更高,提高了升級的可靠性?!緦@綀D】
【附圖說明】
[0046]圖1為本發(fā)明實施例一中的升級系統(tǒng)框圖;
[0047]圖2為本發(fā)明實施例一中的第一客戶端的結構框圖;
[0048]圖3為本發(fā)明實施例一中的服務器的結構框圖;
[0049]圖4為本發(fā)明實施例二中的客戶端觸發(fā)升級流程的結構示意圖;
[0050]圖5為本發(fā)明實施例二中的服務器觸發(fā)升級流程的結構示意圖。
【具體實施方式】
[0051]下面通過【具體實施方式】結合附圖對本發(fā)明作進一步詳細說明。
[0052]實施例一:
[0053]本實施例中的升級框圖請參考圖1,包括服務器和至少一個客戶端,其中服務器為用于為各客戶端升級所用的服務器,其數(shù)量可根據實際情況(例如客戶端的數(shù)量)選擇設置,本是實施例中以設置一個為例進行說明;客戶端的數(shù)量一般為多個,分別以客戶端1、客戶端2、……、客戶端N表示。值得注意的是,本升級系統(tǒng)在升級過程中,根據各客戶端的編號來確定各客戶端的升級時間;由于各客戶端的編號一般不同(例如具體可采用客戶端的ID號,或客戶端的ID號中可以唯一標識該客戶端的部分字段,或根據所述ID號或所述部分字段采用預設的算法得到的數(shù)字編號等,下面客戶端的編號用ID-1表示,i大于等于1,小于等于N),更利于在更新周期內根據各客戶端的編號確定各客戶端在該周期內的更新次序,使各客戶端在該周期內采用更合理的時分復用方式使用服務器;而并非現(xiàn)有的統(tǒng)一設定各客戶端在同一時刻發(fā)起升級;可避免現(xiàn)有升級過程中因服務器的連接數(shù)超過了其最大的連接數(shù)而導致服務器故障的問題,進而導致升級失??;因此,本升級系統(tǒng)在升級過程中,服務器的資源利用更合理,升級的成功率更高,提高了升級的可靠性。
[0054]本實施例中,具體可由客戶端確定升級時間,根據確定的升級時間觸發(fā)升級流程;也可由服務器確定各客戶端的升級時間,根據確定的升級時間觸發(fā)升級流程,下面分別以上述兩種情況為例進行說明:
[0055]一、客戶端觸發(fā)的情況:
[0056]請參見圖2,圖2所示的客戶端為客戶端1、客戶端2、……、客戶端N中的任意一個客戶端i,稱之為第一客戶端。第一客戶端包括第一編號獲取模塊和第一升級模塊,其中,
[0057]第一編號獲取模塊用于獲取第一客戶端自身的編號ID-1,或獲取第一客端自身的編號ID-1和其他客戶端的編號,并將獲取的編號發(fā)送給第一升級模塊;
[0058]第一升級模塊用于根據接收到的客戶端的編號確定第一客戶端自身升級時間,或確定第一客戶端自身的升級時間和其他客戶端升級的時間;還用于在第一升級模塊時,向服務器發(fā)送升級請求。
[0059]即,本實施例中的第一客戶端既可只確定自身的升級時間,也可同時確定自身的升級時間和其他客戶端的升級時間。下面分別具體詳細說明:
[0060](一)第一客戶端只確定自身升級時間:
[0061]第一編號獲取模塊用于獲取第一客戶端自身的編號ID-1,而不獲取其他客戶端的編號時,第一升級模塊接收到的編號也只有第一客戶端自身的編號;然后第一編號獲取模塊還獲取升級參數(shù),且獲取升級參數(shù)步驟和獲取客戶端編號的步驟并無嚴格的時序限制;第一升級模塊根據接收到的第一客戶端的編號結合所述升級參數(shù)確定第一客戶端自身升級時間。本實施例中,第一編號獲取模塊獲取的升級參數(shù)包括升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N ;第一升級模塊根據第一客戶端的編號結合升級參數(shù)確定第一客戶端升級的時間包括:第一升級模塊將T除以N,得到升級時間基數(shù),即所述升級時間基數(shù)為T/N ;第一升級模塊判斷,若升級時間基數(shù)的值大于等于所述tl,則確定第一客戶端自身升級時間t-1D-1為其編號乘以升級時間基數(shù),即ID-1*T/N,表示第一客戶端在第i個時間片段升級。值得注意的是,本實施例中各客戶端的升級時間是指在當前升級周期中,各客戶端的升級順序。在該方案中,將當前的升級周期T劃分成了 N各時間片,即T/N ;各客戶端根據上述方案確定在相應的時間片連接到服務器進行升級,請參見表1所示,即編號為I的客戶端在第I個時間片內升級,以此類推,編號為N的客戶端在第N個時間片內升級。從而實現(xiàn)了各終端通過時分復用的方式共享服務器。
[0062]表1
[0063]
【權利要求】
1.一種升級方法,其特征在于,在升級過程中,根據客戶端的編號確定客戶端的升級時間。
2.如權利要求1所述的升級方法,其特征在于,所述根據客戶端的編號確定客戶端的升級時間包括: 服務器獲取客戶端的編號,并獲取升級參數(shù); 所述服務器根據獲取的客戶端編號結合所述升級參數(shù)確定客戶端的升級時間; 在確定所述客戶端的升級時間后,還包括: 所述客戶端的升級時間到達時,所述服務器向所述客戶端發(fā)送升級通知,所述客戶端接收到該通知后,向所述服務器發(fā)送升級請求。
3.如權利要求2所述的升級方法,其特征在于, 所述服務器根據獲取的客戶端編號結合所述升級參數(shù)確定客戶端的升級時間包括:所述服務器根據獲取的所述升級參數(shù)得到升級時間基數(shù);根據所述升級時間基數(shù)和所述客戶端自身的編號確定客戶端的升級時間。
4.如權利要求3所述的升級方法,其特征在于,所述服務器獲取的升級參數(shù)包括:升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N ; 所述根據獲取的所述升級參數(shù)得到升級時間基數(shù)包括:所述服務器將所述T除以N,得到所述升級時間基數(shù); 所述根據所述升級時間基數(shù)和所述客戶端的編號確定所述客戶端的升級時間包括:所述服務器判斷若所述升級時間基數(shù)的值大于等于所述tl,則確定所述客戶端的升級時間為其編號乘以所述升級時間基數(shù)。
5.如權利要求3所述的升級方法,其特征在于,所述服務器獲取的升級參數(shù)包括:升級周期T、客戶端升級所需要的時間tl、需要升級的客戶端的總數(shù)N,同一時間所述服務器能夠承受的最大連接數(shù)Nmax ; 所述根據獲取的所述升級參數(shù)得到升級時間基數(shù)包括:所述服務器將所述T除以所述tl得到所述升級時間基數(shù)L,所述升級時間基數(shù)L表示將所述T劃分成所述T劃分成1、2、......幾共L個tl ; 所述根據所述升級時間基數(shù)和所述編號確定客戶端的升級時間包括:所述服務器判斷若所述N除以升級時間基數(shù)的值小于等于所述Nmax,則根據所述編號將各客戶端分成多個組,分成的組數(shù)小于等于所述升級時間基數(shù),每組的客戶端數(shù)小于等于所述N除以升級時間基數(shù)的值,一個組內的客戶端的升級時間對應一個編號為j的tl,j的值大于等于1,小于等于L。
6.如權利要求5所述的升級方法,其特征在于,所述服務器根據所述編號將各客戶端分成多個組包括:所述第一客戶端將客戶端的編號除以所述L,并取余數(shù),所述余數(shù)為該客戶端所在的組的組號。
7.如權利要求4所述的升級方法,其特征在于,若所述升級時間基數(shù)的值小于所述tl,則更新所述T的值;使更新后的T的值滿足得到升級時間基數(shù)的值大于等于所述tl。
8.如權利要求5所述的升級方法,其特征在于,若所述N除以升級時間基數(shù)的值大于所述Nmax,則更新所述T和/或Nmax的值;使更新后的T和/或Nmax的值滿足所述N除以升級時間基數(shù)的值小于等于所述Nmax。
9.如權利要求1-8任一項所述的升級方法,其特征在于,所述客戶端的編號為客戶端的ID號,或客戶端的ID號中可以唯一標識該客戶端的部分字段,或根據所述ID號或所述部分字段采用預設的算法得到的數(shù)字編號。
10.一種服務器,其特征在于,所述服務器包括第二編號獲取模塊和第二升級模塊; 所述第二編號獲取模塊用于獲取客戶端的編號,并將獲取的編號發(fā)送給所述第二升級模塊; 所述第二升級模塊用于根據接收到的客戶端的編號確定所述客戶端的升級時間,還用于在升級時間到達時,向該客戶端發(fā)送升級通知。
11.如權利要求10所述的服務器,其特征在于,所述第二編號獲取模塊還用于獲取升級參數(shù);所述第二升級模塊根據接收到的客戶端的編號確定客戶端的升級時間具體為:根據接收到的客戶端的編號結合所述升級參數(shù)確定客戶端的升級時間。
12.如權利要求11所述的服務器,其特征在于,所述第二編號獲取的升級參數(shù)包括升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N ; 所述第二升級模塊根據接收到的客戶端的編號結合所述升級參數(shù)確定所述客戶端的升級時間包括:所述第二升級模塊將所述T除以N,得到升級時間基數(shù);判斷若所述升級時間基數(shù)的值大于等于所述tl,則確定所述客戶端自身升級時間為其編號乘以所述升級時間基數(shù)。
13.如權利要求11所述的服務器,其特征在于,所述第二編號獲取模塊獲取的升級參數(shù)包括升級周期T、客戶端升級所需要的時間tl,需要升級的客戶端總數(shù)N;同一時間所述服務器能夠承受的最大連接數(shù)Nmax ; 所述第二升級模塊根據接收·到的客戶端的編號結合所述升級參數(shù)確定所述客戶端的升級時間包括:所述第二升級模塊將所述T除以所述tl得到所述升級時間基數(shù)L,所述升級時間基數(shù)L表示將所述T劃分成所述T劃分成1、2、……、L共L個tl ;判斷若所述N除以升級時間基數(shù)的值小于等于所述Nmax,則根據所述編號將各客戶端分成多個組,分成的組數(shù)小于等于所述升級時間基數(shù),每組的客戶端數(shù)小于等于所述N除以升級時間基數(shù)的值,一個組內的客戶端的升級時間對應一個編號為j的tl,j的值大于等于1,小于等于L。
14.一種升級系統(tǒng),其特征在于,包括至少一個客戶端和如權利要求11-13任一項所述的服務器;所述客戶端通過與所述服務器通信完成升級。
【文檔編號】H04L29/08GK103581227SQ201210259573
【公開日】2014年2月12日 申請日期:2012年7月25日 優(yōu)先權日:2012年7月25日
【發(fā)明者】徐祿勇, 劉星, 雙建平, 羅小東 申請人:中興通訊股份有限公司