本發(fā)明專(zhuān)利技術(shù)公開(kāi)了一種灰度發(fā)布方法和裝置,涉及計(jì)算機(jī)技術(shù)領(lǐng)域。該方法的一具體實(shí)施方式包括:接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求,所述灰度信息獲取請(qǐng)求指示了變量對(duì)應(yīng)的第一版本信息;根據(jù)所述灰度信息獲取請(qǐng)求,獲取所述變量對(duì)應(yīng)的灰度信息,所述灰度信息指示了所述變量對(duì)應(yīng)的第二版本信息、灰度值、默認(rèn)值、灰度比例;根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息;在判斷結(jié)果為是的情況下,根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端。該實(shí)施方式實(shí)現(xiàn)了變量灰度發(fā)布過(guò)程中對(duì)灰度粒度的靈活控制,解決了灰度粒度過(guò)粗的問(wèn)題。題。題。
【技術(shù)實(shí)現(xiàn)步驟摘要】
一種灰度發(fā)布方法和裝置
[0001]本專(zhuān)利技術(shù)涉及計(jì)算機(jī)
,尤其涉及一種灰度發(fā)布方法和裝置。
技術(shù)介紹
[0002]在實(shí)際的生產(chǎn)環(huán)境中難免會(huì)涉及到配置更新,即配置中變量取值發(fā)生變化,由于不知更新后的配置能否在生產(chǎn)環(huán)境中正常運(yùn)行,若對(duì)生產(chǎn)環(huán)境中的全局變量同時(shí)進(jìn)行修改,極可能會(huì)導(dǎo)致整個(gè)服務(wù)集群的癱瘓。因此,為保證服務(wù)集群的平穩(wěn)運(yùn)行,考慮進(jìn)行灰度配置,即讓變量更新前后的取值同時(shí)存在,以向不同的客戶(hù)端下發(fā)不同的配置,從而實(shí)現(xiàn)變量灰度發(fā)布。
[0003]在實(shí)現(xiàn)本專(zhuān)利技術(shù)過(guò)程中,專(zhuān)利技術(shù)人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:在進(jìn)行變量灰度發(fā)布時(shí),灰度粒度不夠細(xì),無(wú)法對(duì)配置更新的影響面進(jìn)行精準(zhǔn)控制,影響了服務(wù)集群運(yùn)行的平穩(wěn)過(guò)渡。
技術(shù)實(shí)現(xiàn)思路
[0004]有鑒于此,本專(zhuān)利技術(shù)實(shí)施例提供了一種灰度發(fā)布方法和裝置,能夠?qū)崿F(xiàn)灰度粒度可控的變量灰度發(fā)布機(jī)制,解決了灰度粒度不夠細(xì)的問(wèn)題,實(shí)現(xiàn)了對(duì)配置更新影響面的精準(zhǔn)控制,從而保證了服務(wù)集群的平穩(wěn)運(yùn)行。
[0005]為實(shí)現(xiàn)上述目的,根據(jù)本專(zhuān)利技術(shù)實(shí)施例的一個(gè)方面,提供了一種灰度發(fā)布方法,包括:
[0006]接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求,所述灰度信息獲取請(qǐng)求指示了變量對(duì)應(yīng)的第一版本信息;
[0007]根據(jù)所述灰度信息獲取請(qǐng)求,獲取所述變量對(duì)應(yīng)的灰度信息,所述灰度信息指示了所述變量對(duì)應(yīng)的第二版本信息、灰度值、默認(rèn)值、灰度比例;
[0008]根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息;
[0009]在判斷結(jié)果為是的情況下,根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端。
[0010]可選地,在接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求之前,還包括:
[0011]在數(shù)據(jù)庫(kù)中預(yù)先配置所述變量對(duì)應(yīng)的灰度信息,所述灰度信息還指示了所述變量對(duì)應(yīng)的鍵值、應(yīng)用名;
[0012]在所述變量取值發(fā)生變化的情況下,重新配置所述灰度信息中的灰度值、默認(rèn)值、灰度比例及版本信息。
[0013]可選地,所述根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端,包括:
[0014]采用MurmurHash算法對(duì)所述鍵值進(jìn)行運(yùn)算,以獲取灰度比例閾值;
[0015]判斷所述灰度比例是否大于所述灰度比例閾值:若大于,則將所述灰度值下發(fā)至
所述客戶(hù)端;若不大于,則將所述默認(rèn)值下發(fā)至所述客戶(hù)端。
[0016]可選地,所述根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息,包括:
[0017]比較所述第一版本信息與所述第二版本信息;
[0018]在所述第一版本信息低于所述第二版本信息的情況下,向所述客戶(hù)端下發(fā)所述灰度信息;
[0019]將所述灰度信息對(duì)應(yīng)的拉取日志寫(xiě)入消息隊(duì)列中。
[0020]可選地,還包括:
[0021]根據(jù)下發(fā)至所述客戶(hù)端的灰度值或默認(rèn)值生成灰度日志,并將所述灰度日志寫(xiě)入所述消息隊(duì)列中。
[0022]可選地,消費(fèi)所述消息隊(duì)列中的消息,以基于所述拉取日志及所述灰度日志進(jìn)行數(shù)據(jù)統(tǒng)計(jì),并根據(jù)統(tǒng)計(jì)結(jié)果調(diào)整所述灰度信息中的灰度比例。
[0023]可選地,采用Flink中間件消費(fèi)所述消隊(duì)列中的消息,以基于所述拉取日志及所述灰度日志進(jìn)行數(shù)據(jù)統(tǒng)計(jì);
[0024]將所述消息及所述統(tǒng)計(jì)結(jié)果寫(xiě)入搜索引擎中,以進(jìn)行可視化處理;
[0025]根據(jù)可視化結(jié)果調(diào)整所述灰度信息中的灰度比例。
[0026]可選地,所述灰度信息獲取請(qǐng)求還指示了所述變量對(duì)應(yīng)的應(yīng)用名,以根據(jù)所述應(yīng)用名從所述數(shù)據(jù)庫(kù)中獲取所述變量對(duì)應(yīng)的灰度信息。
[0027]為實(shí)現(xiàn)上述目的,根據(jù)本專(zhuān)利技術(shù)實(shí)施例的另一個(gè)方面,提供了一種灰度發(fā)布裝置,包括:請(qǐng)求接收模塊、信息獲取模塊、版本對(duì)比模塊、變量值下發(fā)模塊;其中,
[0028]所述請(qǐng)求接收模塊,用于接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求,所述灰度信息獲取請(qǐng)求指示了變量對(duì)應(yīng)的第一版本信息;
[0029]所述信息獲取模塊,用于根據(jù)所述灰度信息獲取請(qǐng)求,獲取所述變量對(duì)應(yīng)的灰度信息,所述灰度信息指示了所述變量對(duì)應(yīng)的第二版本信息、灰度值、默認(rèn)值、灰度比例;
[0030]所述版本對(duì)比模塊,用于根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息;
[0031]所述變量值下發(fā)模塊,用于在判斷結(jié)果為是的情況下,根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端。
[0032]可選地,還包括:信息配置模塊;所述信息配置模塊,用于在接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求之前,在數(shù)據(jù)庫(kù)中預(yù)先配置所述變量對(duì)應(yīng)的灰度信息,所述灰度信息還指示了所述變量對(duì)應(yīng)的鍵值、應(yīng)用名;在所述變量取值發(fā)生變化的情況下,重新配置所述灰度信息中的灰度值、默認(rèn)值、灰度比例及版本信息。
[0033]可選地,所述根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端,包括:采用MurmurHash算法對(duì)所述鍵值進(jìn)行運(yùn)算,以獲取灰度比例閾值;判斷所述灰度比例是否大于所述灰度比例閾值:若大于,則將所述灰度值下發(fā)至所述客戶(hù)端;若不大于,則將所述默認(rèn)值下發(fā)至所述客戶(hù)端。
[0034]可選地,所述根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息,包括:比較所述第一版本信息與所述第二版本信息;在所述第一版本信息低于所述第二版本信息的情況下,向所述客戶(hù)端下發(fā)所述灰度信息;將所述灰度信息
對(duì)應(yīng)的拉取日志寫(xiě)入消息隊(duì)列中。
[0035]可選地,所述變量值下發(fā)模塊,還用于,根據(jù)下發(fā)至所述客戶(hù)端的灰度值或默認(rèn)值生成灰度日志,并將所述灰度日志寫(xiě)入所述消息隊(duì)列中。
[0036]可選地,還包括:數(shù)據(jù)統(tǒng)計(jì)模塊,所述數(shù)據(jù)統(tǒng)計(jì)模塊,用于消費(fèi)所述消息隊(duì)列中的消息,以基于所述拉取日志及所述灰度日志進(jìn)行數(shù)據(jù)統(tǒng)計(jì),并根據(jù)統(tǒng)計(jì)結(jié)果調(diào)整所述灰度信息中的灰度比例。
[0037]可選地,所述數(shù)據(jù)統(tǒng)計(jì)模塊,還用于采用Flink中間件消費(fèi)所述消隊(duì)列中的消息,以基于所述拉取日志及所述灰度日志進(jìn)行數(shù)據(jù)統(tǒng)計(jì);將所述消息及所述統(tǒng)計(jì)結(jié)果寫(xiě)入搜索引擎中,以進(jìn)行可視化處理;根據(jù)可視化結(jié)果調(diào)整所述灰度信息中的灰度比例。
[0038]可選地,所述灰度信息獲取請(qǐng)求還指示了所述變量對(duì)應(yīng)的應(yīng)用名,以根據(jù)所述應(yīng)用名從所述數(shù)據(jù)庫(kù)中獲取所述變量對(duì)應(yīng)的灰度信息。
[0039]為實(shí)現(xiàn)上述目的,根據(jù)本專(zhuān)利技術(shù)實(shí)施例的再一個(gè)方面,提供了一種用于灰度發(fā)布的電子設(shè)備,包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)所述一個(gè)或多個(gè)程序被所述一個(gè)或多個(gè)處理器執(zhí)行,使得所述一個(gè)或多個(gè)處理器實(shí)現(xiàn)如上所述的灰度發(fā)布方法中任一所述的方法。
[0040]為實(shí)現(xiàn)上述目的,根據(jù)本專(zhuān)利技術(shù)實(shí)施例的又一個(gè)方面,提供了一種計(jì)算機(jī)可讀介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的灰度發(fā)布方法中任一所述的方法
[0041]上述專(zhuān)利技術(shù)中的一個(gè)實(shí)施例具有如下優(yōu)點(diǎn)或有益效果:通過(guò)對(duì)比客戶(hù)端對(duì)本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
【技術(shù)特征摘要】
1.一種灰度發(fā)布方法,其特征在于,包括:接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求,所述灰度信息獲取請(qǐng)求指示了變量對(duì)應(yīng)的第一版本信息;根據(jù)所述灰度信息獲取請(qǐng)求,獲取所述變量對(duì)應(yīng)的灰度信息,所述灰度信息指示了所述變量對(duì)應(yīng)的第二版本信息、灰度值、默認(rèn)值、灰度比例;根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息;在判斷結(jié)果為是的情況下,根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端。2.根據(jù)權(quán)利要求1所述的灰度發(fā)布方法,其特征在于,在接收客戶(hù)端發(fā)送的灰度信息獲取請(qǐng)求之前,還包括:在數(shù)據(jù)庫(kù)中預(yù)先配置所述變量對(duì)應(yīng)的灰度信息,所述灰度信息還指示了所述變量對(duì)應(yīng)的鍵值、應(yīng)用名;在所述變量取值發(fā)生變化的情況下,重新配置所述灰度信息中的灰度值、默認(rèn)值、灰度比例及版本信息。3.根據(jù)權(quán)利要求2所述的灰度發(fā)布方法,其特征在于,所述根據(jù)所述灰度比例,選擇將所述灰度值或所述默認(rèn)值下發(fā)至所述客戶(hù)端,包括:采用MurmurHash算法對(duì)所述鍵值進(jìn)行運(yùn)算,以獲取灰度比例閾值;判斷所述灰度比例是否大于所述灰度比例閾值:若大于,則將所述灰度值下發(fā)至所述客戶(hù)端;若不大于,則將所述默認(rèn)值下發(fā)至所述客戶(hù)端。4.根據(jù)權(quán)利要求1所述的灰度發(fā)布方法,其特征在于,所述根據(jù)所述第一版本信息與所述第二版本信息,判斷是否向所述客戶(hù)端下發(fā)所述灰度信息,包括:比較所述第一版本信息與所述第二版本信息;在所述第一版本信息低于所述第二版本信息的情況下,向所述客戶(hù)端下發(fā)所述灰度信息;將所述灰度信息對(duì)應(yīng)的拉取日志寫(xiě)入消息隊(duì)列中。5.根據(jù)權(quán)利要求4所述的灰度發(fā)布方法,其特征在于,還包括:根據(jù)下發(fā)至所述客戶(hù)端的灰度值或默認(rèn)值生成灰度日志,并將所述灰度日志寫(xiě)入所述消息隊(duì)列中。6.根據(jù)權(quán)利要求5所述的灰度發(fā)布方法,其特征在于...
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:李凱,
申請(qǐng)(專(zhuān)利權(quán))人:京東科技信息技術(shù)有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。