本發(fā)明涉及數(shù)據(jù)優(yōu)化,尤其涉及一種基于邊緣計(jì)算的容器放置優(yōu)化方法、系統(tǒng)、終端及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著互聯(lián)網(wǎng)應(yīng)用的快速增長(zhǎng),核心網(wǎng)絡(luò)面臨著越來越大的壓力。邊緣計(jì)算通過利用部署在核心網(wǎng)絡(luò)邊緣的各種集群來解決這一問題。在邊緣計(jì)算場(chǎng)景中,容器已成為跨越各種計(jì)算環(huán)境進(jìn)行服務(wù)開發(fā)的有力工具,容器的特點(diǎn)是輕量級(jí)、獨(dú)立、可執(zhí)行、具有層結(jié)構(gòu)的圖像,它包含了托管服務(wù)的所有基本組件。要在邊緣集群上運(yùn)行容器,就必須在本地存儲(chǔ)容器鏡像不可或缺的層;或者如果本地沒有存儲(chǔ)這些層,就必須從基于云的遠(yuǎn)程容器鏡像注冊(cè)中心進(jìn)行下載;而容器放置是容器化邊緣集群中的一個(gè)重要研究課題,且基于鏡像粒度級(jí)別的容器放置已被廣泛探索,因此,基于層粒度級(jí)別的容器放置被廣泛研究。
2、目前,現(xiàn)有的技術(shù)只關(guān)注基于層的容器放置,卻忽略了現(xiàn)實(shí)中會(huì)產(chǎn)生額外的系統(tǒng)成本,在層共享的推動(dòng)下,共享共同層的容器會(huì)被放置在特定的邊緣集群上,導(dǎo)致與這些容器相對(duì)應(yīng)的請(qǐng)求過多被調(diào)度到這個(gè)特定的邊緣集群上,而過量激增的傳入請(qǐng)求需要集群?jiǎn)拘逊?wù)器,以提供更多資源來承載請(qǐng)求,導(dǎo)致較大的喚醒延遲;還可能導(dǎo)致將請(qǐng)求調(diào)度到遠(yuǎn)程邊緣集群或能效比低的邊緣集群,從而帶來更高的通信延遲或高能耗;且依賴于離線層的容器放置策略,假定了對(duì)未來請(qǐng)求模式的預(yù)先了解,從而無(wú)法適應(yīng)在線邊緣環(huán)境的動(dòng)態(tài)特性和不可預(yù)測(cè)特性。
3、因此,現(xiàn)有技術(shù)還有待于改進(jìn)和發(fā)展。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的主要目的在于提供一種基于邊緣計(jì)算的容器放置優(yōu)化方法、系統(tǒng)及終端,旨在解決現(xiàn)有技術(shù)中存在與容器相對(duì)應(yīng)的請(qǐng)求過多被調(diào)度到特定的邊緣集群上,導(dǎo)致較大的喚醒延遲,還可能導(dǎo)致將請(qǐng)求調(diào)度到遠(yuǎn)程邊緣集群或能效比低的邊緣集群,從而帶來更高的通信延遲或高能耗;且依賴于離線層的容器放置策略,無(wú)法適應(yīng)在線邊緣環(huán)境的動(dòng)態(tài)特性的問題。
2、為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于邊緣計(jì)算的容器放置優(yōu)化方法,所述基于邊緣計(jì)算的容器放置優(yōu)化方法包括如下步驟:
3、獲取用戶的服務(wù)請(qǐng)求,根據(jù)所述服務(wù)請(qǐng)求進(jìn)行邊緣集群調(diào)度,得到目標(biāo)邊緣集群,并根據(jù)所述目標(biāo)邊緣集群對(duì)所述服務(wù)請(qǐng)求進(jìn)行成本分析,得到成本分析結(jié)果;
4、獲取所述成本分析結(jié)果的成本信息,對(duì)所述成本信息進(jìn)行分解處理,得到多個(gè)凸問題,并對(duì)所有所述凸問題進(jìn)行求解處理,得到多個(gè)分?jǐn)?shù)解;
5、對(duì)所有所述分?jǐn)?shù)解進(jìn)行上下迭代處理,得到目標(biāo)解,根據(jù)所述目標(biāo)解對(duì)所述目標(biāo)邊緣集群的容器放置方案進(jìn)行優(yōu)化,得到目標(biāo)容器放置方案,并根據(jù)所述目標(biāo)容器放置方案處理所述服務(wù)請(qǐng)求。
6、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述獲取用戶的服務(wù)請(qǐng)求,根據(jù)所述服務(wù)請(qǐng)求進(jìn)行邊緣集群調(diào)度,得到目標(biāo)邊緣集群,并根據(jù)所述目標(biāo)邊緣集群對(duì)所述服務(wù)請(qǐng)求進(jìn)行成本分析,得到成本分析結(jié)果,具體包括:
7、獲取用戶的服務(wù)請(qǐng)求,根據(jù)所述服務(wù)請(qǐng)求的類型進(jìn)行邊緣集群調(diào)度,得到目標(biāo)邊緣集群,并確定所述目標(biāo)邊緣集群的容器鏡像;
8、獲取所述目標(biāo)邊緣集群的容器鏡像層信息,根據(jù)所述容器鏡像的所需鏡像層判斷所述容器鏡像層信息是否滿足鏡像要求;
9、若所述容器鏡像層信息包括所述容器鏡像的所需鏡像層,則判定所述容器鏡像層信息滿足鏡像要求,并根據(jù)所述服務(wù)請(qǐng)求的數(shù)量和所述目標(biāo)邊緣集群的調(diào)度請(qǐng)求數(shù)對(duì)所述服務(wù)請(qǐng)求進(jìn)行成本分析,得到成本分析結(jié)果。
10、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述根據(jù)所述容器鏡像的所需鏡像層判斷所述容器鏡像層信息是否滿足鏡像要求,之后還包括:
11、若所述容器鏡像層信息不包括所述容器鏡像的所需鏡像層,則判定所述容器鏡像層信息不滿足鏡像要求,并生成容器鏡像層獲取指令;
12、將所述容器鏡像層獲取指令發(fā)送至容器鏡像注冊(cè)中心,接收所述容器鏡像注冊(cè)中心發(fā)送的目標(biāo)容器鏡像層,其中,所述目標(biāo)容器鏡像層是所述容器鏡像注冊(cè)中心根據(jù)所述容器鏡像層獲取指令進(jìn)行下載處理得到。
13、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述獲取所述成本分析結(jié)果的成本信息,對(duì)所述成本信息進(jìn)行分解處理,得到多個(gè)凸問題,并對(duì)所有所述凸問題進(jìn)行求解處理,得到多個(gè)分?jǐn)?shù)解,具體包括:
14、獲取所述成本分析結(jié)果的成本信息,并根據(jù)相對(duì)熵函數(shù)對(duì)所述成本信息進(jìn)行替換處理,得到正則化問題,其中,所述成本信息包括存儲(chǔ)成本、請(qǐng)求調(diào)度成本、服務(wù)器能耗成本、容器放置成本和服務(wù)器喚醒成本;
15、對(duì)所述正則化問題進(jìn)行分解處理,得到多個(gè)凸問題,并根據(jù)凸優(yōu)化算法對(duì)所有所述凸問題進(jìn)行求解處理,得到多個(gè)分?jǐn)?shù)解。
16、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述凸問題的表達(dá)式為:
17、
18、其中,為凸問題,n'為目標(biāo)邊緣集群,n為邊緣集群,為邊緣集群組,i為用戶的服務(wù)請(qǐng)求,為容器鏡像,為抵達(dá)邊緣集群的服務(wù)請(qǐng)求被調(diào)度到目標(biāo)邊緣集群的通信成本,為在時(shí)隙t期間到邊緣達(dá)集群,并被調(diào)度到目標(biāo)邊緣集群的服務(wù)請(qǐng)求的數(shù)量,l為鏡像層,為鏡像層的集合,為鏡像層的大小,為在時(shí)隙t期間邊緣集群存儲(chǔ)鏡像層的情況,cn為邊緣集群中服務(wù)器的能耗,zn(t)為在時(shí)隙t期間邊緣集群上激活的服務(wù)器數(shù)量,為鏡像層下載到邊緣集群的延遲,ηx和ηz均為常數(shù),ε和ε'均為正常數(shù),為在時(shí)隙t-1期間邊緣集群存儲(chǔ)鏡像層的情況,dn為邊緣集群的服務(wù)器喚醒延遲,zn(t-1)為在時(shí)隙t-1期間邊緣集群上激活的服務(wù)器數(shù)量。
19、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述對(duì)所有所述分?jǐn)?shù)解進(jìn)行上下迭代處理,得到目標(biāo)解,根據(jù)所述目標(biāo)解對(duì)所述目標(biāo)邊緣集群的容器放置方案進(jìn)行優(yōu)化,得到目標(biāo)容器放置方案,并根據(jù)所述目標(biāo)容器放置方案處理所述服務(wù)請(qǐng)求,具體包括:
20、構(gòu)建二分圖,獲取所述二分圖中的浮點(diǎn)數(shù)的邊界值,根據(jù)所述浮點(diǎn)數(shù)的邊界值對(duì)所述二分圖進(jìn)行劃分,得到對(duì)應(yīng)的子圖,并通過深度優(yōu)先搜索對(duì)所述子圖的環(huán)路進(jìn)行搜索處理,得到目標(biāo)環(huán)路;
21、將所述目標(biāo)環(huán)路進(jìn)行切分處理,得到預(yù)設(shè)數(shù)量的匹配數(shù)據(jù),根據(jù)所述匹配數(shù)據(jù)設(shè)置所有所述分?jǐn)?shù)解中任意兩個(gè)分?jǐn)?shù)解的取整概率,并根據(jù)所述取整概率對(duì)所有所述分?jǐn)?shù)解進(jìn)行取整處理,得到取整結(jié)果,其中,所述分?jǐn)?shù)的取整方式包括向上取整和向下取整;
22、根據(jù)所述取整結(jié)果的所有整數(shù)解得到目標(biāo)解,根據(jù)所述目標(biāo)解對(duì)所述目標(biāo)邊緣集群的容器放置方案進(jìn)行優(yōu)化,得到目標(biāo)容器放置方案,并根據(jù)所述目標(biāo)容器放置方案處理所述服務(wù)請(qǐng)求。
23、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述根據(jù)所述取整概率對(duì)所有所述分?jǐn)?shù)解進(jìn)行取整處理,得到取整結(jié)果,之后還包括:
24、當(dāng)剩余一個(gè)分?jǐn)?shù)解未進(jìn)行取整處理時(shí),根據(jù)所述向上取整對(duì)所述分?jǐn)?shù)解進(jìn)行取整處理,得到對(duì)應(yīng)的整數(shù)解。
25、可選地,所述的基于邊緣計(jì)算的容器放置優(yōu)化方法,其中,所述的基于邊緣計(jì)算的容器放置優(yōu)化系統(tǒng)包括:
26、成本分析模塊,用于獲取用戶的服務(wù)請(qǐng)求,根據(jù)所述服務(wù)請(qǐng)求進(jìn)行邊緣集群調(diào)度,得到目標(biāo)邊緣集群,并根據(jù)所述目標(biāo)邊緣集群對(duì)所述服務(wù)請(qǐng)求進(jìn)行成本分析,得到成本分析結(jié)果;
27、成本信息求解模塊,用于獲取所述成本分析結(jié)果的成本信息,對(duì)所述成本信息進(jìn)行分解處理,得到多個(gè)凸問題,并對(duì)所有所述凸問題進(jìn)行求解處理,得到多個(gè)分?jǐn)?shù)解;
28、容器放置優(yōu)化模塊,用于對(duì)所有所述分?jǐn)?shù)解進(jìn)行上下迭代處理,得到目標(biāo)解,根據(jù)所述目標(biāo)解對(duì)所述目標(biāo)邊緣集群的容器放置方案進(jìn)行優(yōu)化,得到目標(biāo)容器放置方案,并根據(jù)所述目標(biāo)容器放置方案處理所述服務(wù)請(qǐng)求。
29、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種終端,其中,所述終端包括:存儲(chǔ)器、處理器及存儲(chǔ)在所述存儲(chǔ)器上并可在所述處理器上運(yùn)行的基于邊緣計(jì)算的容器放置優(yōu)化程序,所述基于邊緣計(jì)算的容器放置優(yōu)化程序被所述處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的基于邊緣計(jì)算的容器放置優(yōu)化方法的步驟。
30、此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有基于邊緣計(jì)算的容器放置優(yōu)化程序,所述基于邊緣計(jì)算的容器放置優(yōu)化程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的基于邊緣計(jì)算的容器放置優(yōu)化方法的步驟。
31、本發(fā)明中,獲取用戶的服務(wù)請(qǐng)求,根據(jù)所述服務(wù)請(qǐng)求進(jìn)行邊緣集群調(diào)度,得到目標(biāo)邊緣集群,并根據(jù)所述目標(biāo)邊緣集群對(duì)所述服務(wù)請(qǐng)求進(jìn)行成本分析,得到成本分析結(jié)果;獲取所述成本分析結(jié)果的成本信息,對(duì)所述成本信息進(jìn)行分解處理,得到多個(gè)凸問題,并對(duì)所有所述凸問題進(jìn)行求解處理,得到多個(gè)分?jǐn)?shù)解;對(duì)所有所述分?jǐn)?shù)解進(jìn)行上下迭代處理,得到目標(biāo)解,根據(jù)所述目標(biāo)解對(duì)所述目標(biāo)邊緣集群的容器放置方案進(jìn)行優(yōu)化,得到目標(biāo)容器放置方案,并根據(jù)所述目標(biāo)容器放置方案處理所述服務(wù)請(qǐng)求。本發(fā)明從層的粒度進(jìn)行調(diào)度,考慮了請(qǐng)求調(diào)度、存儲(chǔ)、容器放置、服務(wù)器能耗和服務(wù)器喚醒成本等多方面因素的綜合影響,解決了單因素考慮角度導(dǎo)致的成本過高問題,從而降低了系統(tǒng)的整體成本;還基于正則化的方法分解了與時(shí)間相關(guān)的容器放置和服務(wù)器喚醒成本,通過逐步舍入過程可輸出滿足各種系統(tǒng)約束條件的可行解決方案,避免重復(fù)舍入嘗試和大量計(jì)算開銷。