專利名稱:一種灰度發(fā)布方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及灰度發(fā)布技術(shù)領(lǐng)域,尤其涉及一種灰度發(fā)布方法和裝置。
背景技術(shù):
灰度發(fā)布是指在軟件版本發(fā)布過(guò)程中,能夠平滑過(guò)渡的一種發(fā)布方式。假設(shè)當(dāng)前軟件版本是A,新的軟件版本是B,當(dāng)用戶通過(guò)客戶端向服務(wù)器發(fā)送針對(duì)該軟件的請(qǐng)求消息時(shí),服務(wù)器控制一部分用戶繼續(xù)使用版本A,另一部分用戶開(kāi)始使用版本B ;如果用戶在使用版本B的過(guò)程中沒(méi)有出現(xiàn)異常,則逐步將所有用戶都遷移到版本B?;叶劝l(fā)布可以保證整體系統(tǒng)的穩(wěn)定。用戶對(duì)軟件的請(qǐng)求往往會(huì)有多種類型,如查詢、更新、刪除、上傳、下載等,現(xiàn)有的灰度發(fā)布方法對(duì)用戶的請(qǐng)求消息不加區(qū)分,導(dǎo)致灰度發(fā)布的風(fēng)險(xiǎn)較大。
發(fā)明內(nèi)容
本發(fā)明提供了一種灰度發(fā)布方法和裝置,能夠降低灰度發(fā)布的風(fēng)險(xiǎn)。本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種灰度發(fā)布方法,包括:A、預(yù)先保存灰度發(fā)布順序表,所述灰度發(fā)布順序表包括不同類型請(qǐng)求消息的灰度發(fā)布順序以及允許發(fā)布新版本軟件的請(qǐng)求消息類型;B、接收用戶對(duì)軟件的請(qǐng)求消息,根據(jù)該請(qǐng)求消息的類型查找所述灰度發(fā)布順序表,當(dāng)所述請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),控制該請(qǐng)求消息訪問(wèn)所述軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。一種灰度發(fā)布裝置,包括:存儲(chǔ)模塊,用于保存灰度發(fā)布順序表,所述灰度發(fā)布順序表包括不同類型請(qǐng)求消息的灰度發(fā)布順序以及允許發(fā)布新版本軟件的請(qǐng)求消息類型;灰度發(fā)布控制模塊,用于接收用戶對(duì)軟件的請(qǐng)求消息,根據(jù)該請(qǐng)求消息的類型查找所述灰度發(fā)布順序表,當(dāng)所述請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),控制該請(qǐng)求消息訪問(wèn)所述軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本??梢?jiàn),本發(fā)明提出的灰度發(fā)布方法和裝置,在灰度發(fā)布過(guò)程中對(duì)用戶不同類型的請(qǐng)求消息加以區(qū)分,先對(duì)部分允許發(fā)布軟件新版本的請(qǐng)求消息進(jìn)行灰度發(fā)布,從而降低灰度發(fā)布過(guò)程中的風(fēng)險(xiǎn)。
圖1為本發(fā)明提出的灰度發(fā)布方法流程圖;圖2為本發(fā)明第一種灰度發(fā)布實(shí)現(xiàn)方式的流程圖;圖3為本發(fā)明第二種灰度發(fā)布實(shí)現(xiàn)方式的流程圖。
具體實(shí)施例方式本發(fā)明提出一種灰度發(fā)布方法,如圖1為本發(fā)明提出的灰度發(fā)布方法流程圖,包括:步驟101:預(yù)先保存灰度發(fā)布順序表,所述灰度發(fā)布順序表包括不同類型請(qǐng)求消息的灰度發(fā)布順序以及允許發(fā)布新版本軟件的請(qǐng)求消息類型;步驟102:接收用戶對(duì)軟件的請(qǐng)求消息,根據(jù)該請(qǐng)求消息的類型查找所述灰度發(fā)布順序表,當(dāng)所述請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),控制該請(qǐng)求消息訪問(wèn)所述軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。步驟102之后,可以進(jìn)一步包括:步驟103:針對(duì)一種請(qǐng)求消息類型,當(dāng)該類型的請(qǐng)求消息訪問(wèn)軟件新版本的數(shù)量大于預(yù)先設(shè)定的門(mén)限值、并且訪問(wèn)過(guò)程沒(méi)有出現(xiàn)異常時(shí),按照所述灰度發(fā)布順序表中不同類型請(qǐng)求消息的灰度發(fā)布順序,將所述類型之后的類型設(shè)置為允許發(fā)布新版本軟件的請(qǐng)求消息類型;繼續(xù)執(zhí)行步驟102。通過(guò)上述過(guò)程,可以對(duì)來(lái)自用戶的不同類型的請(qǐng)求消息加以區(qū)分,首先針對(duì)部分類型的請(qǐng)求消息發(fā)布軟件的新版本,之后逐步擴(kuò)大到對(duì)所有類型的請(qǐng)求消息發(fā)布軟件的新版本。此外,本發(fā)明還可以與現(xiàn)有技術(shù)中以用戶號(hào)碼為標(biāo)準(zhǔn)的灰度發(fā)布控制策略相結(jié)合。當(dāng)用戶的號(hào)碼為允許發(fā)布新版本的號(hào)碼、并且該用戶的請(qǐng)求消息類型為允許發(fā)布新版本的類型時(shí),控制該請(qǐng)求消息訪問(wèn)軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)軟件的舊版本。具體實(shí)現(xiàn)方式可以為:上述步驟102中,當(dāng)請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),在控制請(qǐng)求消息訪問(wèn)軟件的新版本之前,進(jìn)一步包括:判斷所述用戶是否為允許發(fā)布新版本軟件的用戶,如果是,則繼續(xù)執(zhí)行所述控制請(qǐng)求消息訪問(wèn)軟件的新版本的步驟;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。如圖2為本發(fā)明第一種灰度發(fā)布實(shí)現(xiàn)方式的流程圖?;蛘?,上述步驟102中,在接收用戶對(duì)軟件的請(qǐng)求消息之后,并在根據(jù)該請(qǐng)求消息的類型查找灰度發(fā)布順序表之前,進(jìn)一步包括:判斷所述用戶是否為允許發(fā)布新版本軟件的用戶,如果是,則繼續(xù)執(zhí)行所述根據(jù)請(qǐng)求消息類型查找灰度發(fā)布順序表的步驟;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。如圖3為本發(fā)明第二種灰度發(fā)布實(shí)現(xiàn)方式的流程圖。此外,上述過(guò)程中,判斷用戶是否為允許發(fā)布新版本軟件的用戶的方式可以為:判斷用戶的號(hào)碼是否屬于允許發(fā)布新版本軟件的用戶號(hào)碼段;或者,判斷用戶的號(hào)碼是否為允許發(fā)布新版本軟件的測(cè)試用戶號(hào)碼。這種方式可以將灰度發(fā)布的控制粒度減小到單個(gè)用戶,從而進(jìn)一步降低灰度發(fā)布的風(fēng)險(xiǎn)。以下舉具體的實(shí)施例對(duì)本發(fā)明做詳細(xì)介紹。在以下的實(shí)施例中,需要進(jìn)行新版本軟件發(fā)布的服務(wù)器稱為實(shí)際服務(wù)器,由中間層的代理轉(zhuǎn)發(fā)服務(wù)器實(shí)現(xiàn)該軟件的灰度發(fā)布。實(shí)施例一:
本實(shí)施例依據(jù)用戶請(qǐng)求消息的類型進(jìn)行灰度發(fā)布。在本實(shí)施例中,代理轉(zhuǎn)發(fā)服務(wù)器預(yù)先保存灰度發(fā)布順序表,灰度發(fā)布順序表中包括不同類型請(qǐng)求消息的灰度發(fā)布順序、以及允許發(fā)布新版本軟件的請(qǐng)求消息類型。如下表I為本實(shí)施例中的灰度發(fā)布順序表示例,在該表中,按照灰度發(fā)布順序,請(qǐng)求消息的類型從前到后依次為:查詢、下載、更新、刪除和上傳;在初始狀態(tài)下,允許發(fā)布新版本軟件的請(qǐng)求消息為查詢請(qǐng)求消息。
權(quán)利要求
1.一種灰度發(fā)布方法,其特征在于,所述方法包括: A、預(yù)先保存灰度發(fā)布順序表,所述灰度發(fā)布順序表包括不同類型請(qǐng)求消息的灰度發(fā)布順序以及允許發(fā)布新版本軟件的請(qǐng)求消息類型; B、接收用戶對(duì)軟件的請(qǐng)求消息,根據(jù)該請(qǐng)求消息的類型查找所述灰度發(fā)布順序表,當(dāng)所述請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),控制該請(qǐng)求消息訪問(wèn)所述軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B之后進(jìn)一步包括: C、針對(duì)一種請(qǐng)求消息類型,當(dāng)采用該類型的請(qǐng)求消息訪問(wèn)軟件新版本的用戶數(shù)量大于預(yù)先設(shè)定的門(mén)限值、并且訪問(wèn)過(guò)程沒(méi)有出現(xiàn)異常時(shí),按照所述灰度發(fā)布順序表中不同類型請(qǐng)求消息的灰度發(fā)布順序,將所述類型之后的類型設(shè)置為允許發(fā)布新版本軟件的請(qǐng)求消息類型;然后繼續(xù)執(zhí)行步驟B,如此循環(huán)。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),在所述控制請(qǐng)求消息訪問(wèn)軟件的新版本之前,進(jìn)一步包括: 判斷所述用戶是否為允許發(fā)布新版本軟件的用戶,如果是,則繼續(xù)執(zhí)行所述控制請(qǐng)求消息訪問(wèn)軟件的新版本的步驟;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述接收用戶對(duì)軟件的請(qǐng)求消息之后,并在根據(jù)該請(qǐng)求消息的類型查找灰度發(fā)布順序表之前,進(jìn)一步包括: 判斷所述用戶是否為允許發(fā)布新版本軟件的用戶,如果是,則繼續(xù)執(zhí)行所述根據(jù)請(qǐng)求消息的類型查找灰度發(fā)布順序表的步驟;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。
5.根據(jù)權(quán)利要求3 或4所述的方法,其特征在于,所述判斷用戶是否為允許發(fā)布新版本軟件的用戶的方式為: 判斷所述用戶的號(hào)碼是否為允許發(fā)布新版本軟件的用戶號(hào)碼,或者,判斷所述用戶的號(hào)碼是否屬于允許發(fā)布新版本軟件的用戶號(hào)碼段。
6.一種灰度發(fā)布裝置,其特征在于,所述裝置包括: 存儲(chǔ)模塊,用于保存灰度發(fā)布順序表,所述灰度發(fā)布順序表包括不同類型請(qǐng)求消息的灰度發(fā)布順序以及允許發(fā)布新版本軟件的請(qǐng)求消息類型; 灰度發(fā)布控制模塊,用于接收用戶對(duì)軟件的請(qǐng)求消息,根據(jù)該請(qǐng)求消息的類型查找所述灰度發(fā)布順序表,當(dāng)所述請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),控制該請(qǐng)求消息訪問(wèn)所述軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述灰度發(fā)布控制模塊還用于,針對(duì)一種請(qǐng)求消息類型,當(dāng)采用該類型的請(qǐng)求消息訪問(wèn)軟件新版本的用戶數(shù)量大于預(yù)先設(shè)定的門(mén)限值、并且訪問(wèn)過(guò)程沒(méi)有出現(xiàn)異常時(shí),對(duì)存儲(chǔ)模塊保存的灰度發(fā)布順序表進(jìn)行如下修改:按照所述灰度發(fā)布順序表中不同類型請(qǐng)求消息的灰度發(fā)布順序,將所述類型之后的類型設(shè)置為允許發(fā)布新版本軟件的請(qǐng)求消息類型。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述灰度發(fā)布控制模塊還用于,當(dāng)請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),在控制請(qǐng)求消息訪問(wèn)軟件的新版本之前進(jìn)一步判斷所述用戶是否為允許發(fā)布新版本軟件的用戶,如果是,則控制請(qǐng)求消息訪問(wèn)軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述灰度發(fā)布控制模塊還用于,在接收用戶對(duì)軟件的請(qǐng)求消息之后,判斷所述用戶是否為允許發(fā)布新版本軟件的用戶,如果是,則根據(jù)該請(qǐng)求消息類型查找灰度發(fā)布順序表;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述灰度發(fā)布控制模塊判斷用戶是否為允許發(fā)布新版本軟件的用戶的方式為: 判斷所述用戶的號(hào)碼是否為允許發(fā)布新版本軟件的用戶號(hào)碼,或者,判斷所述用戶的號(hào)碼是否屬于允許發(fā)布新 版本軟件的用戶號(hào)碼段。
全文摘要
本發(fā)明提出一種灰度發(fā)布方法和系統(tǒng),其中方法包括A、預(yù)先保存灰度發(fā)布順序表,所述灰度發(fā)布順序表包括不同類型請(qǐng)求消息的灰度發(fā)布順序以及允許發(fā)布新版本軟件的請(qǐng)求消息類型;B、接收用戶對(duì)軟件的請(qǐng)求消息,根據(jù)該請(qǐng)求消息的類型查找所述灰度發(fā)布順序表,當(dāng)所述請(qǐng)求消息的類型為允許發(fā)布新版本軟件的請(qǐng)求消息類型時(shí),控制該請(qǐng)求消息訪問(wèn)所述軟件的新版本;否則,控制該請(qǐng)求消息訪問(wèn)所述軟件的舊版本。本發(fā)明能夠降低灰度發(fā)布過(guò)程中的風(fēng)險(xiǎn)。
文檔編號(hào)G06F9/44GK103164202SQ20111041996
公開(kāi)日2013年6月19日 申請(qǐng)日期2011年12月15日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者黎文彥, 孟岸 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司