為應(yīng)對(duì)在資源受限且拓?fù)鋭?dòng)態(tài)變化的衛(wèi)星網(wǎng)絡(luò)中部署高可靠服務(wù)功能鏈(sfcs)帶來(lái)的挑戰(zhàn),本發(fā)明將sfc部署問(wèn)題建模為馬爾可夫決策過(guò)程(mdp),并提出了一種基于雙重深度q網(wǎng)絡(luò)(ddqn)的高可靠服務(wù)功能鏈部署算法hrsfcd(high?reliability?servicefunction?chains?deployment)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)的飛速發(fā)展,除了流量轉(zhuǎn)發(fā),衛(wèi)星還承擔(dān)計(jì)算方面的任務(wù)。由于衛(wèi)星的發(fā)射和運(yùn)營(yíng)成本高昂,在同一衛(wèi)星上承載多種計(jì)算任務(wù)成為了趨勢(shì)。同時(shí),作為5g應(yīng)用場(chǎng)景之一的高可靠低時(shí)延通信對(duì)衛(wèi)星網(wǎng)絡(luò)的性能提出了極高的要求。但是,衛(wèi)星網(wǎng)絡(luò)拓?fù)涞膭?dòng)態(tài)性和節(jié)點(diǎn)故障很可能導(dǎo)致服務(wù)中斷。在傳統(tǒng)的基于專用硬件的網(wǎng)絡(luò)架構(gòu)中,為衛(wèi)星節(jié)點(diǎn)提供備份是提高服務(wù)可靠性,保障服務(wù)正常運(yùn)行的可行方式。然而,越多的備份會(huì)造成越多的資源消耗。
2、網(wǎng)絡(luò)功能虛擬化技術(shù)將網(wǎng)絡(luò)功能從專用硬件中解耦,使得衛(wèi)星能夠承擔(dān)多種計(jì)算任務(wù),顯著提升資源利用率。因此基于衛(wèi)星平臺(tái)的網(wǎng)絡(luò)服務(wù)不僅面臨硬件故障的風(fēng)險(xiǎn),也要考慮軟件故障帶來(lái)的隱患。因此,如何在資源有限和動(dòng)態(tài)拓?fù)涞男l(wèi)星網(wǎng)絡(luò)中,綜合考慮硬件可靠性和軟件可靠性,設(shè)計(jì)能夠提升sfc可靠性的方案和提出保證sfc高可靠性的部署策略成為解決問(wèn)題的關(guān)鍵。
3、在衛(wèi)星網(wǎng)絡(luò)中部署sfcs時(shí),由于多個(gè)故障事件同時(shí)發(fā)生的概率極低,本發(fā)明聚焦于單點(diǎn)故障場(chǎng)景,即最多發(fā)生一個(gè)硬件或軟件故障事件,通過(guò)優(yōu)化部署策略,在端到端時(shí)延與sfc可靠性之間實(shí)現(xiàn)有效平衡。
技術(shù)實(shí)現(xiàn)思路
1、為解決上述背景技術(shù)中提及的技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案為基于雙重深度q網(wǎng)絡(luò)的高可靠服務(wù)功能鏈部署方法。該方法包括如下步驟,步驟1,構(gòu)建衛(wèi)星網(wǎng)絡(luò)模型,包括衛(wèi)星節(jié)點(diǎn)、節(jié)點(diǎn)的計(jì)算資源容量、節(jié)點(diǎn)的硬件故障概率、物理鏈路和節(jié)點(diǎn)間最短傳播時(shí)延。步驟2,構(gòu)建服務(wù)功能鏈模型,包括sfc請(qǐng)求、vnf、可容忍最大端到端時(shí)延、vnf的計(jì)算資源需求和vnf的軟件故障概率。步驟3,基于衛(wèi)星網(wǎng)絡(luò)模型和服務(wù)功能鏈模型構(gòu)建優(yōu)化問(wèn)題模型,包括主路徑端到端時(shí)延模型、sfc可靠性模型和限制條件。
2、進(jìn)一步地,上述步驟1構(gòu)建衛(wèi)星網(wǎng)絡(luò)模型的具體實(shí)施過(guò)程如下;
3、衛(wèi)星網(wǎng)絡(luò)由若干衛(wèi)星節(jié)點(diǎn)和節(jié)點(diǎn)間的鏈路組成,用連通圖g(v,e)表示,每個(gè)衛(wèi)星節(jié)點(diǎn)擁有一定的計(jì)算資源,同時(shí)有一定概率發(fā)生故障。其中v={v1,v2,...,vk,...v|v|}表示所有衛(wèi)星節(jié)點(diǎn)vk的集合,|v|表示網(wǎng)絡(luò)中衛(wèi)星節(jié)點(diǎn)的數(shù)量。表示在t時(shí)隙,所有衛(wèi)星節(jié)點(diǎn)的可用計(jì)算資源容量的集合,其中表示vk在t時(shí)隙的可用計(jì)算資源容量。ph={ph1,ph2,...ph|v|}表示所有衛(wèi)星節(jié)點(diǎn)的硬件故障概率。e表示衛(wèi)星節(jié)點(diǎn)間物理鏈路的集合。表示在t時(shí)隙,衛(wèi)星節(jié)點(diǎn)間最短傳播時(shí)延的矩陣。
4、上述步驟2構(gòu)建服務(wù)功能鏈模型的具體實(shí)施過(guò)程如下;
5、定義sr={sr1,sr2,...sr|sr|}為sfcs請(qǐng)求的集合,|sr|表示sfcs的數(shù)量。用元組<vnfi,di,cdi,psi>表示請(qǐng)求sri∈sr。表示構(gòu)成請(qǐng)求sri的vnfs的集合,其中,fi,j表示第j個(gè)vnf。di表示sri容忍的最大端到端時(shí)延。表示每個(gè)vnf的計(jì)算資源需求。表示每個(gè)vnf的軟件故障概率。
6、上述步驟3構(gòu)建優(yōu)化問(wèn)題模型的具體實(shí)施過(guò)程如下;
7、實(shí)時(shí)通信等衛(wèi)星網(wǎng)絡(luò)應(yīng)用對(duì)時(shí)延和可靠性為敏感,高時(shí)延會(huì)導(dǎo)致服務(wù)質(zhì)量下降,低可靠性會(huì)增加服務(wù)中斷風(fēng)險(xiǎn),因此把端到端時(shí)延和可靠性作為優(yōu)化問(wèn)題的指標(biāo)。
8、首先,建立主路徑端到端時(shí)延模型。
9、主路徑即所有vnfs的主衛(wèi)星節(jié)點(diǎn)及其之間的鏈路組成的路徑。按照vnf的序號(hào)依次為每個(gè)vnf選擇衛(wèi)星節(jié)點(diǎn),把第一個(gè)被部署的vnf稱作起點(diǎn)vnf,用表示,有一個(gè)或多個(gè)終點(diǎn)vnfs。基于此,把sfc請(qǐng)求sri的主路徑端到端時(shí)延dpi定義為起點(diǎn)vnf與終點(diǎn)vnfs間最短時(shí)延的最大值。公式如下:
10、
11、其中k1,k2表示衛(wèi)星節(jié)點(diǎn),fi,j表示第i個(gè)sfc請(qǐng)求中的第j個(gè)vnf,c表示終點(diǎn)vnfs組成的集合。是二進(jìn)制變量,表示把vnf軟件部署在主硬件節(jié)點(diǎn)上。
12、其次,建立sfc可靠性模型。
13、把sri的可靠性定義為sri不出故障的概率,用表示。由于為sri的所有vnf軟件分別選擇一個(gè)主硬件節(jié)點(diǎn)和一個(gè)備份硬件節(jié)點(diǎn),所以sri的可靠性與主路徑的可靠性和備份路徑的可靠性有關(guān)。
14、(a)的計(jì)算;
15、主路徑的可靠性指的是所有vnf軟件和所有vnf軟件所在的主硬件節(jié)點(diǎn)全部正常工作的概率。將sri的所有vnf軟件都正常工作的概率用rsi表示,計(jì)算公式為:
16、
17、其中psi,j表示vnf軟件fi,j的軟件故障概率,那么1-psi,j表示fi,j的軟件可靠性。將sri的所有vnf軟件所在的主硬件節(jié)點(diǎn)全部正常工作的概率用rhi表示,計(jì)算公式為:
18、
19、其中phk表示節(jié)點(diǎn)vk的硬件故障概率,那么1-phk表示vk的硬件可靠性。表示當(dāng)不同vnfs被部署到同一節(jié)點(diǎn)vk時(shí),vk的硬件可靠性只參與一次計(jì)算。因此,主路徑可靠性的計(jì)算方式如下:
20、
21、(b)的計(jì)算;
22、將vnf軟件fi,j部署在衛(wèi)星節(jié)點(diǎn)vk上稱為vnf實(shí)例如果vk是fi,j的主節(jié)點(diǎn),當(dāng)fi,j發(fā)生軟件故障或vk發(fā)生硬件故障導(dǎo)致實(shí)例無(wú)法正常工作時(shí),那么本該由主節(jié)點(diǎn)vk處理的數(shù)據(jù)流將被轉(zhuǎn)發(fā)到fi,j的備份節(jié)點(diǎn)上進(jìn)行處理。此時(shí),由fi,j的備份節(jié)點(diǎn)和其它vnf軟件的主節(jié)點(diǎn)以及節(jié)點(diǎn)間的鏈路就構(gòu)成了sri的一條備份路徑,將這條因?yàn)閷?shí)例發(fā)生故障而使用的備份路徑用表示。由于為每一個(gè)vnf軟件都選擇了一個(gè)備份節(jié)點(diǎn),因此在本文所提的單點(diǎn)故障的前提下,sri有1條主路徑和|vnfi|條備份路徑。sri的備份路徑可靠性指的是sri的所有備份路徑的可靠性的和。
23、對(duì)于備份路徑導(dǎo)致其工作的原因有兩個(gè)。第一,實(shí)例的vnf軟件fi,j發(fā)生故障但主硬件節(jié)點(diǎn)vk正常。在這種情況下,路徑中參與工作的硬件節(jié)點(diǎn)可以被分為兩類,分別是軟件fi,j的備份硬件節(jié)點(diǎn)和其它vnf軟件所在的主硬件節(jié)點(diǎn)。遍歷所有硬件節(jié)點(diǎn),當(dāng)至少屬于上述2類節(jié)點(diǎn)的其中一類時(shí),將該節(jié)點(diǎn)的硬件可靠性加入計(jì)算。所以,備份路徑上的硬件全部正常工作的概率表示為其中用來(lái)判斷是否屬于其它vnf軟件所在的主硬件節(jié)點(diǎn)。是二進(jìn)制變量,表示fi,j在t時(shí)隙被部署到備份節(jié)點(diǎn)上,在本式中用于判斷是否是軟件fi,j的備份硬件節(jié)點(diǎn)。sri的所有vnf軟件全部正常工作,概率表示同式(2)。所以,這種情況下備份路徑的可靠性表示為:
24、
25、其中表示備份路徑上的硬件全部正常工作的概率,rsi表示備份路徑上所有vnf軟件正常工作的概率,psi,j·(1-phk)表示vnf軟件fi,j發(fā)生故障但主硬件節(jié)點(diǎn)vk正常的概率。
26、第二,實(shí)例的vnf軟件fi,j正常但主硬件節(jié)點(diǎn)vk故障。在這種情況下,路徑中參與工作的硬件節(jié)點(diǎn)可以被分為2類,分別是主節(jié)點(diǎn)為vk的vnf軟件的備份硬件節(jié)點(diǎn),以及其它vnf軟件所在的主硬件節(jié)點(diǎn)。由于vk故障,所以遍歷除vk之外的所有硬件節(jié)點(diǎn),當(dāng)至少屬于上述2類節(jié)點(diǎn)的其中一類時(shí),將該節(jié)點(diǎn)的硬件可靠性加入計(jì)算。所以,備份路徑上的硬件全部正常工作的概率表示為其中用來(lái)判斷是否屬于其它vnf軟件所在的主硬件節(jié)點(diǎn),用來(lái)判斷是否屬于主節(jié)點(diǎn)為vk的vnf軟件的備份硬件節(jié)點(diǎn)。sri的所有vnf軟件全部正常工作,概率表示同式(2)。所以,把這種情況下備份路徑的可靠性用表示,計(jì)算公式如下:
27、
28、其中表示備份路徑上的硬件全部正常工作的概率,rsi表示備份路徑上所有vnf軟件正常工作的概率,(1-psi,j)·phk表示vnf軟件fi,j正常但主硬件節(jié)點(diǎn)vk發(fā)生故障的概率。
29、因此,備份路徑的可靠性表示為:
30、
31、其中,表示vnf軟件fi,j發(fā)生故障但主硬件節(jié)點(diǎn)vk正常的情況下備份路徑的可靠性,表示vnf軟件fi,j正常但主硬件節(jié)點(diǎn)vk發(fā)生故障的情況下備份路徑的可靠性。
32、進(jìn)而,sri的所有備份路徑的可靠性表示為:
33、
34、最后,sri的可靠性的計(jì)算公式為:
35、
36、其中表示sri的主路徑的可靠性,表示sri的所有備份路徑的可靠性。
37、然后,服務(wù)功能鏈的部署受到一些限制。
38、(a)衛(wèi)星節(jié)點(diǎn)的計(jì)算資源不能被vnf超額申請(qǐng)。
39、
40、(b)每個(gè)vnf只能選擇一個(gè)主衛(wèi)星節(jié)點(diǎn)和一個(gè)備份衛(wèi)星節(jié)點(diǎn)。
41、
42、(c)對(duì)于任意fi,j∈vnfi,不允許fi,j的主節(jié)點(diǎn)和備份節(jié)點(diǎn)相同。
43、
44、(d)sfc的端到端時(shí)延不能超過(guò)它的延遲約束。
45、
46、最后,建立優(yōu)化問(wèn)題模型。
47、優(yōu)化sfc的主路徑端到端時(shí)延和可靠性,所以優(yōu)化的目標(biāo)被定義為:
48、obj:ω·dpi+(1-ω)·ri?????(15)
49、其中ω∈[0,1]表示權(quán)重系數(shù),dpi和ri分別表示歸一化后的端到端時(shí)延dpi和歸一化后的sfc可靠性
50、需要最大化obj的值:
51、maxobj???????(16)
52、s.t.:(11)-(15).
53、為了解決問(wèn)題(16),將sfc部署問(wèn)題建模為mdp,并提出一種基于ddqn的算法來(lái)解決該問(wèn)題。
54、首先,建立mdp模型。
55、sfc部署問(wèn)題是一個(gè)順序決策問(wèn)題。因此,可以被建模為馬爾可夫決策過(guò)程,表示為一個(gè)多元組(s,a,r),其中s表示環(huán)境的狀態(tài),a表示智能體的動(dòng)作,r表示獎(jiǎng)勵(lì)。
56、(a)狀態(tài):狀態(tài)st由衛(wèi)星網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)tst和所有衛(wèi)星的計(jì)算
57、資源容量crt構(gòu)成。表示為:
58、st=(tst,crt)???????(17)
59、(b)動(dòng)作:智能體對(duì)sfc請(qǐng)求的部署分為兩個(gè)階段。第一階段,為每個(gè)vnf選擇主衛(wèi)星節(jié)點(diǎn),第二階段,為每個(gè)vnf選擇備份衛(wèi)星節(jié)點(diǎn),兩個(gè)階段中,智能體的動(dòng)作空間是所有衛(wèi)星節(jié)點(diǎn)的集合v。
60、(c)獎(jiǎng)勵(lì):獎(jiǎng)勵(lì)分為階段性獎(jiǎng)勵(lì)和整體獎(jiǎng)勵(lì)。對(duì)于階段性獎(jiǎng)勵(lì),智能體每為一個(gè)vnf選擇一個(gè)衛(wèi)星節(jié)點(diǎn),就以該vnf作為終點(diǎn)vnf,通過(guò)式(1)和式(9)分別計(jì)算端到端時(shí)延和可靠性,通過(guò)式(15)計(jì)算獎(jiǎng)勵(lì)值。對(duì)于整體獎(jiǎng)勵(lì),當(dāng)智能體為所有vnf做完主節(jié)點(diǎn)和備份節(jié)點(diǎn)的選擇時(shí),以之前所有動(dòng)作的獎(jiǎng)勵(lì)和作為整體獎(jiǎng)勵(lì)。另外,如果智能體的動(dòng)作違反了約束,則給予一個(gè)懲罰值ρ=-50作為動(dòng)作的獎(jiǎng)勵(lì)值。
61、然后,給出所提hrsfcd算法。
62、在動(dòng)作空間中,衛(wèi)星節(jié)點(diǎn)的分配決策是離散的動(dòng)作,因此,本文采用處理離散動(dòng)作的ddqn算法作為基礎(chǔ)算法。智能體與衛(wèi)星網(wǎng)絡(luò)環(huán)境進(jìn)行交互以訓(xùn)練q網(wǎng)絡(luò),在訓(xùn)練過(guò)程中,一條sfc的部署被分為兩個(gè)階段,在第一階段q網(wǎng)絡(luò)依次為每個(gè)vnf選擇主衛(wèi)星節(jié)點(diǎn),在第二階段q網(wǎng)絡(luò)依次為每個(gè)vnf選擇備份衛(wèi)星節(jié)點(diǎn)。
63、與現(xiàn)有技術(shù)相比,本發(fā)明在動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境中綜合考慮了軟件可靠性和硬件可靠性,并使用同一個(gè)q網(wǎng)絡(luò)分別完成主節(jié)點(diǎn)和備份節(jié)點(diǎn)的部署。