本發(fā)明涉及微服務(wù)?,尤其涉及一種容器化微服務(wù)智能協(xié)同編排方法及裝置。
背景技術(shù):
1、隨著物聯(lián)網(wǎng)應(yīng)用復(fù)雜性快速增加,具有更高靈活性的微服務(wù)架構(gòu)逐漸取代了傳統(tǒng)的單體架構(gòu)。容器技術(shù)因其輕量級(jí)、易移植、啟動(dòng)快和安全隔離等特點(diǎn),成為微服務(wù)部署的首選。然而,容器化服務(wù)在啟動(dòng)時(shí)需要從鏡像倉(cāng)庫(kù)拉取并安裝容器鏡像,將會(huì)產(chǎn)生啟動(dòng)延遲。在帶寬受限的邊緣計(jì)算中,其啟動(dòng)時(shí)延會(huì)顯著影響服務(wù)質(zhì)量。另外,在微服務(wù)架構(gòu)中,應(yīng)用被解耦為多個(gè)小而自治的微服務(wù),通過(guò)輕量化通信組成具有多鏈的有向無(wú)環(huán)圖結(jié)構(gòu),微服務(wù)的完成需要考慮執(zhí)行順序和并行計(jì)算,由此引發(fā)了容器化微服務(wù)的兩個(gè)優(yōu)化目標(biāo),即服務(wù)完成時(shí)延和系統(tǒng)負(fù)載均衡。雖然通過(guò)對(duì)容器化微服務(wù)進(jìn)行編排可以來(lái)優(yōu)化這些優(yōu)化目標(biāo),也即通過(guò)編排可以降低容器化微服務(wù)的完成時(shí)延或者保證系統(tǒng)負(fù)載均衡。但這兩個(gè)優(yōu)化目標(biāo)是矛盾的,因?yàn)橹豢紤]時(shí)延可能會(huì)導(dǎo)致系統(tǒng)負(fù)載不均衡,減少服務(wù)完成時(shí)延對(duì)服務(wù)使用方有利,而保證系統(tǒng)負(fù)載均衡則對(duì)服務(wù)提供方有利,因此這樣的矛盾會(huì)影響服務(wù)性能和增加管理成本。
2、現(xiàn)有技術(shù)中一般采用標(biāo)量化方法將多個(gè)優(yōu)化目標(biāo)轉(zhuǎn)換為單目標(biāo)來(lái)優(yōu)化,從而設(shè)計(jì)出針對(duì)容器化微服務(wù)智能協(xié)同編排方法,但針對(duì)多個(gè)互相矛盾優(yōu)化目標(biāo)同時(shí)進(jìn)行優(yōu)化時(shí),也即在容器化微服務(wù)編排時(shí)既要考慮應(yīng)用完成時(shí)延又要考慮系統(tǒng)負(fù)載均衡,標(biāo)量化方法存在局限性且優(yōu)化效果低下,無(wú)法達(dá)到平衡服務(wù)完成時(shí)延和系統(tǒng)負(fù)載均衡的優(yōu)化效果。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供一種容器化微服務(wù)智能協(xié)同編排方法及裝置,用以解決現(xiàn)有技術(shù)在采用標(biāo)量化方法對(duì)容器化微服務(wù)進(jìn)行編排時(shí),難以平衡服務(wù)完成時(shí)延和系統(tǒng)負(fù)載均衡兩個(gè)優(yōu)化指標(biāo),導(dǎo)致微服務(wù)架構(gòu)系統(tǒng)的服務(wù)性能低下以及增加管理成本的技術(shù)問(wèn)題。
2、本發(fā)明提供一種容器化微服務(wù)智能協(xié)同編排方法及裝置,包括如下步驟:
3、確定所述微服務(wù)架構(gòu)系統(tǒng)的服務(wù)完成時(shí)延指標(biāo),并根據(jù)所述微服務(wù)架構(gòu)系統(tǒng)的環(huán)境信息,確定所述微服務(wù)架構(gòu)系統(tǒng)的系統(tǒng)負(fù)載均衡指標(biāo),所述服務(wù)完成時(shí)延指標(biāo)是所述微服務(wù)架構(gòu)系統(tǒng)處理用戶服務(wù)請(qǐng)求的所需時(shí)間,所述系統(tǒng)負(fù)載均衡指標(biāo)用于表征所述微服務(wù)架構(gòu)系統(tǒng)在處理用戶服務(wù)請(qǐng)求時(shí)的系統(tǒng)負(fù)載不均衡程度;
4、基于所述服務(wù)完成時(shí)延指標(biāo)以及所述系統(tǒng)負(fù)載均衡指標(biāo),對(duì)所述初始化編排模型進(jìn)行編排訓(xùn)練,得到微服務(wù)編排模型;
5、當(dāng)所述微服務(wù)架構(gòu)系統(tǒng)獲取到用戶服務(wù)請(qǐng)求時(shí),獲取所述用戶服務(wù)請(qǐng)求的請(qǐng)求狀態(tài)信息,其中,所述請(qǐng)求狀態(tài)信息包括目標(biāo)微服務(wù)以及用戶偏好特征,所述目標(biāo)微服務(wù)為所述微服務(wù)架構(gòu)系統(tǒng)處理用戶服務(wù)請(qǐng)求時(shí)需部署的容器化微服務(wù),所述用戶偏好特征用于表征用戶針對(duì)服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的偏好程度;
6、將所述請(qǐng)求狀態(tài)信息輸入到所述微服務(wù)編排模型進(jìn)行策略編排處理,得到針對(duì)所述目標(biāo)微服務(wù)的編排策略;
7、根據(jù)所述編排策略對(duì)所述容器化微服務(wù)進(jìn)行部署,并通過(guò)微服務(wù)架構(gòu)系統(tǒng)運(yùn)行部署后的所述容器化微服務(wù),以處理所述用戶服務(wù)請(qǐng)求。
8、在一些實(shí)施例中,所述微服務(wù)架構(gòu)系統(tǒng)包括終端層、邊緣層以及鏡像層,所述終端層包括將用戶服務(wù)請(qǐng)求拆分得到的多個(gè)容器化微服務(wù),所述邊緣層包括多個(gè)邊緣節(jié)點(diǎn),所述鏡像層包括多個(gè)容器鏡像,所述容器鏡像用于將所述容器化微服務(wù)部署到所述邊緣節(jié)點(diǎn)進(jìn)行執(zhí)行,所述確定所述微服務(wù)架構(gòu)系統(tǒng)的服務(wù)完成時(shí)延指標(biāo),包括:
9、當(dāng)將所述容器化微服務(wù)部署到所述邊緣節(jié)點(diǎn)時(shí),在所述邊緣節(jié)點(diǎn)中,確定所述容器化微服務(wù)從所述鏡像層拉取容器鏡像的鏡像拉取時(shí)間;
10、當(dāng)所述容器化微服務(wù)拉取到容器鏡像之后,確定所述邊緣節(jié)點(diǎn)處理所述容器化微服務(wù)的服務(wù)處理時(shí)間,并確定所述邊緣節(jié)點(diǎn)之間的數(shù)據(jù)傳輸時(shí)間;
11、根據(jù)所述鏡像拉取時(shí)間、所述服務(wù)處理時(shí)間以及所述數(shù)據(jù)傳輸時(shí)間,確定所述微服務(wù)架構(gòu)系統(tǒng)的服務(wù)完成時(shí)延指標(biāo)。
12、在一些實(shí)施例中,所述微服務(wù)系統(tǒng)架構(gòu)包括邊緣層,所述邊緣層包括多個(gè)邊緣節(jié)點(diǎn),所述環(huán)境信息包括每個(gè)所述邊緣節(jié)點(diǎn)的剩余計(jì)算資源以及剩余內(nèi)存,所述根據(jù)所述微服務(wù)架構(gòu)系統(tǒng)的環(huán)境信息,確定所述微服務(wù)架構(gòu)系統(tǒng)的系統(tǒng)負(fù)載均衡指標(biāo),包括:
13、針對(duì)每個(gè)所述邊緣節(jié)點(diǎn),根據(jù)所述剩余計(jì)算資源確定負(fù)載計(jì)算資源,并根據(jù)所述剩余內(nèi)存確定負(fù)載內(nèi)存;
14、確定所述邊緣節(jié)點(diǎn)的負(fù)載計(jì)算資源的第一平均值,并確定所述邊緣節(jié)點(diǎn)的負(fù)載內(nèi)存的第二平均值;
15、根據(jù)所述第一平均值以及所述第二平均值確定所述微服務(wù)架構(gòu)系統(tǒng)中邊緣節(jié)點(diǎn)的總負(fù)載平衡值,并將所述總負(fù)責(zé)平衡值的均值作為所述微服務(wù)架構(gòu)系統(tǒng)的系統(tǒng)負(fù)載均衡指標(biāo)。
16、在一些實(shí)施例中,所述初始化編排模型包括策略網(wǎng)絡(luò)和評(píng)判網(wǎng)絡(luò),所述初始化編排模型的訓(xùn)練過(guò)程是按照訓(xùn)練時(shí)間步進(jìn)行的,所述基于所述服務(wù)完成時(shí)延指標(biāo)以及所述系統(tǒng)負(fù)載均衡指標(biāo),對(duì)所述初始化編排模型進(jìn)行編排訓(xùn)練,得到微服務(wù)編排模型,包括:
17、獲取環(huán)境狀態(tài)數(shù)據(jù),其中,所述環(huán)境狀態(tài)數(shù)據(jù)包括目標(biāo)服務(wù)請(qǐng)求以及偏好向量,所述偏好向量是根據(jù)時(shí)延權(quán)重以及負(fù)載權(quán)重構(gòu)建得到的,所述時(shí)延權(quán)重表征所述目標(biāo)服務(wù)請(qǐng)求針對(duì)所述服務(wù)完成時(shí)延指標(biāo)的偏好程度,所述負(fù)載權(quán)重表征所述目標(biāo)服務(wù)請(qǐng)求針對(duì)所述系統(tǒng)負(fù)載均衡指標(biāo)的偏好程度;
18、在當(dāng)前訓(xùn)練時(shí)間步,將所述環(huán)境狀態(tài)數(shù)據(jù)輸入到所述策略網(wǎng)絡(luò)中,生成動(dòng)作設(shè)計(jì)數(shù)據(jù),并調(diào)用所述評(píng)判網(wǎng)絡(luò)對(duì)所述環(huán)境狀態(tài)數(shù)據(jù)進(jìn)行預(yù)測(cè),生成針對(duì)所述動(dòng)作設(shè)計(jì)數(shù)據(jù)的預(yù)期獎(jiǎng)勵(lì)向量值,其中,所述動(dòng)作設(shè)計(jì)數(shù)據(jù)用于表征邊緣節(jié)點(diǎn)部署動(dòng)作,所述邊緣節(jié)點(diǎn)部署動(dòng)作是所述微服務(wù)架構(gòu)系統(tǒng)處理所述目標(biāo)服務(wù)請(qǐng)求時(shí),將終端層的容器化微服務(wù)部署到邊緣層中邊緣節(jié)點(diǎn)的部署動(dòng)作,所述當(dāng)前時(shí)間步是編排訓(xùn)練過(guò)程中的任意一個(gè)訓(xùn)練時(shí)間步;
19、根據(jù)所述動(dòng)作設(shè)計(jì)數(shù)據(jù)構(gòu)建所述初始化編排模型的策略損失值,并根據(jù)所述動(dòng)作設(shè)計(jì)數(shù)據(jù)以及所述預(yù)期獎(jiǎng)勵(lì)向量值構(gòu)建所述初始化編排模型的值函數(shù)損失值;
20、將所述策略損失值與所述值函數(shù)損失值的加和,作為所述初始化編排模型在所述當(dāng)前訓(xùn)練時(shí)間步內(nèi)的最終損失值,并通過(guò)所述最終損失值訓(xùn)練所述初始化編排模型,得到微服務(wù)編排模型。
21、在一些實(shí)施例中,所述根據(jù)所述動(dòng)作設(shè)計(jì)數(shù)據(jù)構(gòu)建所述初始化編排模型的策略損失值,包括:
22、獲取策略網(wǎng)絡(luò)在當(dāng)前訓(xùn)練時(shí)間步生成動(dòng)作設(shè)計(jì)數(shù)據(jù)時(shí)的預(yù)測(cè)概率,并根據(jù)所述預(yù)測(cè)概率確定策略網(wǎng)絡(luò)在訓(xùn)練時(shí)間步之間的策略幅度值;
23、在當(dāng)前訓(xùn)練時(shí)間步內(nèi),分別確定服務(wù)完成時(shí)延指標(biāo)和系統(tǒng)負(fù)載均衡指標(biāo)的廣義優(yōu)勢(shì)估計(jì)值;
24、根據(jù)所述廣義優(yōu)勢(shì)估計(jì)值與所述環(huán)境狀態(tài)數(shù)據(jù)包括的偏好向量,確定所述初始化編排模型的策略網(wǎng)絡(luò)針對(duì)所述服務(wù)完成時(shí)延指標(biāo)的時(shí)延優(yōu)勢(shì)值,以及所述策略網(wǎng)絡(luò)針對(duì)所述系統(tǒng)負(fù)載均衡指標(biāo)的負(fù)載優(yōu)勢(shì)值;
25、根據(jù)所述時(shí)延優(yōu)勢(shì)值與所述負(fù)載優(yōu)勢(shì)值,確定得到所述策略網(wǎng)絡(luò)的優(yōu)勢(shì)函數(shù)值;
26、根據(jù)所述優(yōu)勢(shì)函數(shù)值以及所述策略幅度值構(gòu)建得到所述初始化編排模型的策略損失值。
27、在一些實(shí)施例中,根據(jù)所述動(dòng)作設(shè)計(jì)數(shù)據(jù)以及預(yù)期獎(jiǎng)勵(lì)向量值構(gòu)建所述初始化編排模型的值函數(shù)損失值,包括:
28、在當(dāng)前訓(xùn)練時(shí)間步內(nèi),通過(guò)微服務(wù)架構(gòu)系統(tǒng)執(zhí)行所述動(dòng)作設(shè)計(jì)數(shù)據(jù),并記錄執(zhí)行所述動(dòng)作設(shè)計(jì)數(shù)據(jù)的當(dāng)前經(jīng)驗(yàn)軌跡,其中,所述當(dāng)前經(jīng)驗(yàn)軌跡包括所述動(dòng)作設(shè)計(jì)數(shù)據(jù)、偏好向量、預(yù)期獎(jiǎng)勵(lì)向量值;
29、根據(jù)所述當(dāng)前經(jīng)驗(yàn)軌跡,確定微服務(wù)架構(gòu)系統(tǒng)針對(duì)服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的總收益值,并確定所述總收益值的折扣收益值;
30、確定當(dāng)前訓(xùn)練時(shí)間步內(nèi)的累計(jì)獎(jiǎng)勵(lì)向量值,并確定所述累計(jì)獎(jiǎng)勵(lì)向量值與所述折扣收益值的差值的平均值;
31、根據(jù)所述差值的平均值以及所述偏好向量,構(gòu)建得到所述初始化編排模型的值函數(shù)損失值。
32、在一些實(shí)施例中,所述根據(jù)所述當(dāng)前經(jīng)驗(yàn)軌跡,確定微服務(wù)架構(gòu)系統(tǒng)針對(duì)服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的總收益值,包括:
33、獲取服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的獎(jiǎng)勵(lì)向量值;
34、根據(jù)所述當(dāng)前經(jīng)驗(yàn)軌跡中包括的偏好向量以及所述獎(jiǎng)勵(lì)向量值,確定線性獎(jiǎng)勵(lì)標(biāo)量值;
35、確定微服務(wù)架構(gòu)系統(tǒng)在執(zhí)行所述當(dāng)前經(jīng)驗(yàn)軌跡對(duì)應(yīng)的動(dòng)作設(shè)計(jì)數(shù)據(jù)時(shí),因執(zhí)行約束部署動(dòng)作后獲得的懲罰值;
36、將所述線性獎(jiǎng)勵(lì)標(biāo)量值與所述懲罰值的差值作為微服務(wù)架構(gòu)系統(tǒng)針對(duì)服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的總收益值。
37、在一些實(shí)施例中,在記錄執(zhí)行所述動(dòng)作設(shè)計(jì)數(shù)據(jù)的經(jīng)驗(yàn)軌跡之后,所述方法還包括:
38、將所述當(dāng)前經(jīng)驗(yàn)軌跡存儲(chǔ)到歷史經(jīng)驗(yàn)軌跡庫(kù)中,其中,所述歷史經(jīng)驗(yàn)軌跡庫(kù)用于存儲(chǔ)所述初始化編排模型在先前訓(xùn)練時(shí)間步記錄的歷史經(jīng)驗(yàn)軌跡,所述先前訓(xùn)練時(shí)間步為在所述當(dāng)前訓(xùn)練時(shí)間步之前的任意一個(gè)訓(xùn)練時(shí)間步;
39、根據(jù)歷史經(jīng)驗(yàn)軌跡以及當(dāng)前經(jīng)驗(yàn)軌跡確定微服務(wù)架構(gòu)系統(tǒng)針對(duì)服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的總收益值,并根據(jù)所述總收益值,構(gòu)建得到所述初始化編排模型的值函數(shù)損失值;
40、其中,所述歷史經(jīng)驗(yàn)軌跡包括歷史環(huán)境狀態(tài)數(shù)據(jù),所述當(dāng)前經(jīng)驗(yàn)軌跡包括當(dāng)前環(huán)境狀態(tài)數(shù)據(jù),所述歷史環(huán)境狀態(tài)數(shù)據(jù)中的歷史目標(biāo)服務(wù)請(qǐng)求與所述當(dāng)前環(huán)境狀態(tài)數(shù)據(jù)中的當(dāng)前目標(biāo)服務(wù)請(qǐng)求相同,所述歷史環(huán)境狀態(tài)數(shù)據(jù)中的歷史偏好向量與所述當(dāng)前環(huán)境狀態(tài)數(shù)據(jù)中的當(dāng)前偏好向量不同。
41、本發(fā)明還提供一種容器化微服務(wù)智能協(xié)同編排裝置,裝置具體包括如下模塊:
42、確定模塊,用于確定所述微服務(wù)架構(gòu)系統(tǒng)的服務(wù)完成時(shí)延指標(biāo),并根據(jù)所述微服務(wù)架構(gòu)系統(tǒng)的環(huán)境信息,確定所述微服務(wù)架構(gòu)系統(tǒng)的系統(tǒng)負(fù)載均衡指標(biāo),所述服務(wù)完成時(shí)延指標(biāo)是所述微服務(wù)架構(gòu)系統(tǒng)處理用戶服務(wù)請(qǐng)求的所需時(shí)間,所述系統(tǒng)負(fù)載均衡指標(biāo)用于表征所述微服務(wù)架構(gòu)系統(tǒng)在處理用戶服務(wù)請(qǐng)求時(shí)的系統(tǒng)負(fù)載不均衡程度;
43、訓(xùn)練模塊,用于基于所述服務(wù)完成時(shí)延指標(biāo)以及所述系統(tǒng)負(fù)載均衡指標(biāo),對(duì)所述初始化編排模型進(jìn)行編排訓(xùn)練,得到微服務(wù)編排模型;
44、獲取模塊,用于當(dāng)所述微服務(wù)架構(gòu)系統(tǒng)獲取到用戶服務(wù)請(qǐng)求時(shí),獲取所述用戶服務(wù)請(qǐng)求的請(qǐng)求狀態(tài)信息,其中,所述請(qǐng)求狀態(tài)信息包括目標(biāo)微服務(wù)以及用戶偏好特征,所述目標(biāo)微服務(wù)為所述微服務(wù)架構(gòu)系統(tǒng)處理用戶服務(wù)請(qǐng)求時(shí)需部署的容器化微服務(wù),所述用戶偏好特征用于表征用戶針對(duì)服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)的偏好程度;
45、編排模塊,用于將所述請(qǐng)求狀態(tài)信息輸入到所述微服務(wù)編排模型進(jìn)行策略編排處理,得到針對(duì)所述目標(biāo)微服務(wù)的編排策略;
46、部署模塊,根據(jù)所述編排策略對(duì)所述容器化微服務(wù)進(jìn)行部署,并通過(guò)微服務(wù)架構(gòu)系統(tǒng)運(yùn)行部署后的所述容器化微服務(wù),以處理所述用戶服務(wù)請(qǐng)求。
47、本發(fā)明還提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述容器化微服務(wù)智能協(xié)同編排方法。
48、本發(fā)明還提供一種非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述容器化微服務(wù)智能協(xié)同編排方法。
49、本發(fā)明還提供一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述任一種所述容器化微服務(wù)智能協(xié)同編排方法。
50、本發(fā)明提供的容器化微服務(wù)智能協(xié)同編排方法及裝置,先確定出微服務(wù)架構(gòu)系統(tǒng)的服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo),然后根據(jù)這兩個(gè)指標(biāo)對(duì)初始化編排模型進(jìn)行編排訓(xùn)練,得到微服務(wù)編排模型。當(dāng)存在用戶請(qǐng)求時(shí),將包含用戶偏好特征的請(qǐng)求狀態(tài)信息輸入到微服務(wù)編排模型中,由此微服務(wù)編排模型就會(huì)根據(jù)用戶偏好特征生成得到容器化微服務(wù)的編排策略,?進(jìn)而微服務(wù)架構(gòu)系統(tǒng)就可以根據(jù)編排策略來(lái)部署容器化微服務(wù)。由此,實(shí)現(xiàn)了利用容器化微服務(wù)編排模型根據(jù)用戶針對(duì)兩個(gè)指標(biāo)的偏好程度,制定編排策略,來(lái)合理地平衡服務(wù)完成時(shí)延指標(biāo)以及系統(tǒng)負(fù)載均衡指標(biāo)兩個(gè)指標(biāo),進(jìn)而可以提高微服務(wù)架構(gòu)系統(tǒng)的服務(wù)性能并減少管理成本。