發(fā)版多版本升級方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及版本升級管控技術(shù)領(lǐng)域,具體地說,是涉及一種發(fā)版多版本升級方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有的電子設(shè)備系統(tǒng)版本都需要根據(jù)數(shù)據(jù)庫系統(tǒng)及新的技術(shù)進行版本更新,因此產(chǎn)品系統(tǒng)需要根據(jù)新推出的版本進行系統(tǒng)版本升級更新。而現(xiàn)在的升級版本種類可能不止一種,一般地,針對客戶端版本,在后臺系統(tǒng)中提供可升級的目標(biāo)版本,即發(fā)版,在該發(fā)版中包含有多個可升級的版本。為了對比各個產(chǎn)品版本之間的功能效果,往往需要對客戶端產(chǎn)品版本進行采樣升級效果對比,采樣對比過程就需要將各個升級版本的客戶端樣本量設(shè)置為一致,以便得出準(zhǔn)確的對比結(jié)果。
[0003]現(xiàn)今進行的系統(tǒng)上線及發(fā)版流程如下:
[0004]舊版本備份一部署上線一線上測試一確認是否有系統(tǒng)BUG—無明顯BUG且內(nèi)容無誤則上線一存在系統(tǒng)BUG則返回進行修復(fù)獲得新版本一新版本發(fā)送至客戶端進行更新。
[0005]目前流行的做法是通過發(fā)版系統(tǒng)對要升級的多個版本進行對比判斷后,通過串行的方式進行版本升級,先讓預(yù)定數(shù)量的客戶端樣本升級到發(fā)版系統(tǒng)中的版本1,等版本I升級結(jié)束后再讓相同數(shù)量的客戶端樣本升級到發(fā)版系統(tǒng)中的版本2,等版本2升級完成后再使相同數(shù)量客戶端樣本進行發(fā)版系統(tǒng)中的其它版本的升級。如圖1所示,為現(xiàn)有技術(shù)的版本串行升級步驟流程示意圖,其步驟如下:
[0006]步驟101,服務(wù)器接收客戶端發(fā)送的版本升級請求,讀取所述版本升級請求中所攜帶的所述客戶端的當(dāng)前版本信息;
[0007]步驟102,將所述服務(wù)器存儲的升級版本分別與所述客戶端的當(dāng)前版本信息進行匹配,獲取升級版本;
[0008]步驟103,從升級請求客戶端中選取一定數(shù)量的客戶端作為所述升級版本中一個版本的升級樣本進行升級;
[0009]步驟104,上一版本升級結(jié)束后再從升級請求客戶端中選取一定數(shù)量的客戶端作為所述升級版本中另一個版本的升級樣本進行升級,如此串行地將所獲取的升級版本完成升級。
[0010]從上述內(nèi)容可以看出,現(xiàn)有的版本串行升級方案會出現(xiàn)以下問題:
[0011 ] 1、現(xiàn)有技術(shù)對客戶端版本采用串行升級的發(fā)版方式中,對目標(biāo)版本順序升級,在前一版本升級結(jié)束的基礎(chǔ)上才啟動后一版本的升級,如此,會導(dǎo)致發(fā)版升級時間的線性增加,耗費大量的時間。
[0012]2、在發(fā)版升級過程中,因為需要串行進行多次升級,不同發(fā)版的升級時間段及耗時都會有不同,而由于在不同時間段及不同時間內(nèi)的客戶端屬性,如活躍度和地域?qū)傩缘牟町?,如此,會?dǎo)致在不同發(fā)版的升級時間段內(nèi)的客戶端樣本數(shù)量不一致,最終造成產(chǎn)品對比效果會有差異。
[0013]3、現(xiàn)有技術(shù)按照串行方式進行版本升級,在對客戶端樣本數(shù)量有要求的時候,很容易超出客戶端樣本的總數(shù),就可能會導(dǎo)致在后的版本升級的樣本數(shù)量不夠,從而導(dǎo)致客戶端樣本數(shù)量不一致,最終造成產(chǎn)品版本效果對比會有差異。
[0014]4、在進行版本串行升級需要對較多版本進行效果比較時,還需要在對各個版本進行比較判斷出目標(biāo)版本,并安排各個版本的升級順序,操作繁瑣且需要耗費一定時間。
【發(fā)明內(nèi)容】
[0015]為了解決在上述現(xiàn)有技術(shù)中出現(xiàn)的問題,本發(fā)明的目的是提供一種發(fā)版多版本升級方法及系統(tǒng)。
[0016]本發(fā)明提供了一種發(fā)版多版本升級方法,包括:
[0017]服務(wù)器存儲發(fā)版時,對各個類型的版本設(shè)置對應(yīng)類型的升級目錄;
[0018]所述服務(wù)器根據(jù)所述升級目錄對同一類型的多個版本設(shè)置其各自的子升級目錄;
[0019]所述服務(wù)器接收客戶端發(fā)送的版本升級請求,讀取所述版本升級請求中所攜帶的所述客戶端的當(dāng)前版本子升級目錄信息;
[0020]根據(jù)當(dāng)前版本的子升級目錄獲取同類型的其它版本;
[0021]將所述服務(wù)器存儲的升級版本分別與所述客戶端的當(dāng)前版本信息進行匹配,獲取升級版本;
[0022]將當(dāng)前版本同類型下的各個版本分別與每個新的升級版本相對應(yīng);
[0023]根據(jù)所述升級版本的數(shù)量,從所有請求升級的客戶端中分別選取相同數(shù)量的客戶端作為每個升級版本的樣本,且將所選取的數(shù)量作為每個樣本的起始余量;
[0024]并行地判斷每個所述樣本的可升級余量,當(dāng)所述樣本的升級余量足夠時,向該樣本內(nèi)的請求客戶端返回相應(yīng)的升級版本及相關(guān)的升級信息。
[0025]進一步地,其中,所述將所述服務(wù)器存儲的升級版本分別與所述客戶端的當(dāng)前版本信息進行匹配,進一步包括:
[0026]當(dāng)匹配失敗時,向所述客戶端返回升級失敗提示。
[0027]進一步地,其中,所述并行地判斷每個所述樣本的可升級余量,進一步包括:
[0028]根據(jù)當(dāng)前客戶端已完成升級的數(shù)量,相應(yīng)地減少每個樣本的當(dāng)前余量得到所述可升級余量。
[0029]進一步地,其中,所述并行地判斷每個所述樣本的可升級余量,進一步包括:
[0030]當(dāng)判斷到樣本升級余量不足時,向所述樣本內(nèi)的請求客戶端返回升級失敗提示。
[0031]進一步地,其中,進一步包括:
[0032]所述服務(wù)器存儲預(yù)先制定好升級方案的各個升級版本,且并行地控制各個升級版本升級的開啟、暫停及終止。
[0033]—種發(fā)版多版本升級系統(tǒng),所述系統(tǒng)設(shè)置在服務(wù)器上,該系統(tǒng)包括:接收模塊、處理模塊及發(fā)送模塊,其中,
[0034]所述接收模塊,用于存儲發(fā)版,對各個類型的版本設(shè)置對應(yīng)類型的升級目錄;所述服務(wù)器根據(jù)所述升級目錄對同一類型的多個版本設(shè)置其各自的子升級目錄;
[0035]接收客戶端發(fā)送的版本升級請求,讀取所述版本升級請求中所攜帶的所述客戶端的當(dāng)前版本子升級目錄信息;并根據(jù)當(dāng)前版本的子升級目錄獲取同類型的其它版本;
[0036]所述處理模塊,用于將所述服務(wù)器存儲的升級版本分別與所述客戶端的當(dāng)前版本信息進行匹配,獲取至少一個升級版本;
[0037]根據(jù)所述升級版本的數(shù)量,從所有請求升級的客戶端中分別選取相同數(shù)量的客戶端作為每個升級版本的樣本,且將所選取的數(shù)量作為每個樣本的起始余量;
[0038]并行地判斷每個所述樣本的可升級余量;
[0039]所述發(fā)送模塊,用于當(dāng)所述樣本的升級余量足夠時,向該樣本內(nèi)的請求客戶端返回相應(yīng)的升級版本及相關(guān)的升級信息。
[0040]進一步地,其中,所述處理模塊,進一步用于:
[0041]當(dāng)匹配失敗時,向所述客戶端返回升級失敗提示。
[0042]進一步地,其中,所述處理模塊,進一步用于:
[0043]根據(jù)當(dāng)前客戶端已完成升級的數(shù)量,相應(yīng)地減少每個樣本的當(dāng)前余量得到所述可升級余量。
[0044]進一步地,其中,所述處理模塊,進一步用于:
[0045]當(dāng)判斷到樣本升級余量不足時,向所述樣本內(nèi)的請求客戶端返回升級失敗提示。
[0046]進一步地,其中,所述處理模塊,進一步用于:
[0047]存儲預(yù)先制定好升級方案的各個升級版本,且并行地控制各個升級版本升級的開啟、暫停及終止。
[0048]與現(xiàn)有技術(shù)相比,本申請所述的一種多版本并行升級控制方法及系統(tǒng),具有以下優(yōu)點:
[0049](I)本發(fā)明通過對發(fā)版的不同版本進行并行控制升級的方式,將多個版本同時升級,沒有發(fā)版升級時間的線性增加,大大縮短了版本升級所需的時間。
[0050](2)本發(fā)明通過對發(fā)版的不同版本進行并行控制升級的方式,對相同的客戶端樣本進行多個不同版本的并行升級,保證了不同版本升級過程中采用的客戶端樣本源的一致性,同一樣本源使得樣本屬性(如地域?qū)傩院陀脩艋钴S度)完全相同,保證了多個版本升級過程中客戶端樣本數(shù)量的一致性,并且在該時間段的客戶端樣本是隨機樣本,還保證了最終升級后的版本的均勻性,使得產(chǎn)品