专利名称:边缘-云协同系统中基于学习优化方法的虚拟网络功能放置方法
专利类型:发明专利
专利申请号:CN202211497563.7
专利申请(专利权)人:重庆理工大学
权利人地址:重庆市巴南区红光大道69号
专利发明(设计)人:陈卓,卫佩宏
专利摘要:本发明提出了一种边云协同系统中基于学习优化方法的虚拟网络功能放置决策方法,包括以下步骤:S1,获取边缘云和第三方云数据;S2,根据获取的边缘云和第三方云数据进行优化放置决策。本发明首先建立了基于代价的虚拟网络功能放置的优化决策问题,然后将该模型以马尔可夫决策模型进行描述;通过把深度强化学习与组合优化求解相结合提出了基于“行动‑判别”的虚拟网络功能放置双重放置框架,提出的网络功能放置算法在不同规模的边云场景下中均具有良好的适应性,并且能够通过合理的虚拟化类型选择和放置位置决策获得更低的系统开销,并为需求方用户提供更低的服务延迟和更优的服务体验。
主权利要求:
1.一种边云协同系统中基于学习优化方法的虚拟网络功能放置决策方法,其特征在于,包括以下步骤:S1,获取边云协同系统中各类资源的数据;
S2,根据获取的边云协同数据进行优化放置决策;
在步骤S1中包括:(1)
其中, 表示某个虚拟网络功能i放置在边云协同系统所产生的排队延迟;
表示服务节点的服务率;
表示虚拟网络请求的计算率;
表示当前边缘协同系统中的服务节点正在排队的虚拟网络请求;
表示边缘云服务节点集合;
(2)
其中, 表示虚拟网络请求在服务节点获得网络带宽资源与存储资源而产生的延迟;
表示服务节点已使用带宽资源;
表示服务节点已使用存储资源;
表示总带宽资源;
表示节点总存储资源;
(3)
其中, 表示向第三方云传输虚拟网络请求的通信延迟;
表示请求到第三方云的传输速率;
(4)
(5)
其中, 表示将请求放置于边缘云的总延迟;
表示放置于第三方云的总延迟;
(6)
其中, 表示第三方云中每一个服务节点的付费成本;
表示已开启的边缘云服务节点的维护成本和在服务节点以虚拟机形式放置虚拟网络请求的开销;
表示边缘云服务节点提供计算服务时的服务成本;
(7)
其中, 表示服务节点中已使用计算资源;
表示总计算资源;
表示计算资源利用率的权重;
表示带宽资源利用率的权重;
表示存储资源利用率的权重;
(8)
其中, 表示虚拟网络请求的付费代价;
表示第三方云中服务节点被使用的计算资源;
表示第三方云中计算资源的收费价格;
表示第三方云中服务节点被使用的带宽资源;
表示第三方云中带宽资源的收费价格;
表示第三方云中服务节点被使用的存储资源;
表示第三方云中存储资源的收费价格;
(9)
其中, 表示将虚拟网络请求以虚拟机的形式放置于边缘云中的代价;
表示在边缘云中时延代价所占权重;
表示决策变量;
(10)
其中, 表示将虚拟网络请求以容器的形式放置于第三方云中的代价;
表示第三方云服务节点集合;
表示在第三方云中时延代价所占权重;
表示第三方云决策变量;
(11)
表示当前边云协同系统的总代价;
在步骤S2中包括:(12)
(13)
(14)
(15)
(16)
(17)
其中, 取最小值;
表示受限于;
表示当前边缘云服务节点拥有的计算资源;
表示当前第三方云服务节点的剩余可用计算资源;
表示当前边缘云服务节点拥有的带宽资源;
表示当前第三方云服务节点的剩余可用带宽资源;
表示当前边缘云服务节点拥有的存储资源;
表示当前第三方云服务节点的剩余可用存储资源;
表示边缘云服务节点间的链路带宽;
表示第三方云服务节点间的链路带宽;
(18)
(19)
其中, 表示奖励函数;
表示惩罚函数;
表示违反不同约束的惩罚比重;
表示不同约束的惩罚函数;
(20)
其中, 表示在 时刻的累积回报;
表示放置虚拟网络请求的即时效益;
表示折扣因子;
表示迭代次数为1的回报值;
表示迭代次数为2的回报值;
表示迭代次数为 的回报值;
(21)
其中, 表示状态 下动作 的期望;
(22)
其中, 表示最大值。
2.根据权利要求1所述的边云协同系统中基于学习优化方法的虚拟网络功能放置决策方法,其特征在于,求解方式为:(23)
其中, 表示违反不同约束的惩罚比重;
表示不同约束的惩罚函数;
(24)
其中, 表示深度神经网络的权重值;
(25)
其中, 表示时间差分值;
表示回报值;
表示权重因子;
表示上一次状态输入到判别网络中得到的 值;
表示将 状态输入到判别网络中得到的 值;
(26)
(27)
其中, 表示基于拉格朗日对偶函数的时间差分值;
表示拉格朗日对数值;
表示权重因子;
表示判别网络的损失函数;
表示平方损失函数;
(28)
其中, 表示行动网络的权重;
表示行动网络的放置策略;
(29)
其中, 表示最优策略;
表示策略;
表示状态;
表示动作;
表示行动网络的权重。 说明书 : 边缘‑云协同系统中基于学习优化方法的虚拟网络功能放置
方法技术领域[0001] 本发明涉及一种边云协同技术领域,特别是涉及一种边云协同系统中基于学习优化方法的虚拟网络功能放置方法。背景技术[0002] 为应对各类新应用在低时延、低能耗以及高带宽等方面的显著需求,应用服务商通过在距离用户更近的网络边缘分布式地放置服务节点,形成了边缘计算的服务模式以提高服务质量。然而,虽然边缘计算的引入使得服务商具备弹性服务放置的能力,但由于边缘服务节点的资源(算力、带宽和存储)受限,使得面对复杂且多元化的任务时已显现出疲态。为此学界进一步将边缘计算就近提供服务和云计算海量资源供给相结合,衍生出了边云协同服务的新模式。另外,通过在边缘计算中引入虚拟化技术,能够将物理资源抽象为虚拟网络功能单元(VirtualNetworkFunction,VNF),在满足用户业务需求的前提下提高有限资源的利用效率。在目前边缘计算中,基于虚拟机(VirtualMachine,VM)的虚拟化技术(VM‑VNF)应用最为广泛。但VM‑VNF存在启动和迁移较慢且资源开销偏大等局限,导致其面对任务的动态性需求时显得迟缓。随着最近新提出的无服务器计算(ServerlessComputing)的兴起,网络功能或者复杂任务能够以更轻量化的容器(Container,CT)的形式加以灵活放置,并进而形成了基于容器的虚拟化技术(CT‑VNF)。应用服务商在边云协同服务的环境中同时管理调度VM‑VNF和CT‑VNF已成为新的趋势。应用服务商在边缘端放置VM‑VNF可以获得更良好的可靠性和性能但资源开销相对更大,而在云端放置CT‑VNF通常能获得更好的服务灵活性但需按租用时间向云服务商付费。因此如何选择业务的虚拟化形式以及放置位置将直接影响到应用服务商的运营开支,该问题的解决对于提高应用服务商的服务质量和有效控制服务设施的运行开销具有重要意义。发明内容[0003] 本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种边云协同系统中基于学习优化方法的虚拟网络功能放置决策方法。[0004] 为了实现本发明的上述目的,本发明提供了一种边云协同系统中基于学习优化方法的虚拟网络功能放置决策方法,包括以下步骤:[0005] S1,获取边云协同系统中各类资源的数据;[0006] S2,根据获取的边云协同数据进行优化放置决策。[0007] 在本发明的一种优选实施方式中,在步骤S1中包括:[0008][0009] 其中,TL表示某个虚拟网络功能i放置在边云协同系统所产生的排队延迟;[0010] γC表示服务节点的服务率;[0011] δc表示虚拟网络请求的计算率;[0012] fx表示当前边缘协同系统中的服务节点正在排队的虚拟网络请求;[0013] h表示边缘云服务节点集合;[0014][0015] 其中,TC表示虚拟网络请求在服务节点获得网络带宽资源与存储资源而产生的延迟;δB表示服务节点已使用带宽资源占总带宽资源;[0016] δS表示服务节点已使用存储资源;[0017] γB表示总带宽资源;[0018] γS表示节点总存储资源;[0019][0020] 其中,Tt表示向第三方云传输虚拟网络请求的通信延迟;[0021] δB表示服务节点已使用带宽资源占总带宽资源;[0022] 表示请求到第三方云的传输速率;[0023] Te=TL+Tc(4)[0024] TC=TL+Tc+Tt(5)[0025] 其中,Te表示将请求放置于边缘云的总延迟;[0026] TL表示某个虚拟网络功能i放置在边云协同系统所产生的排队延迟;[0027] Tc表示虚拟网络请求在服务节点获得网络带宽资源与存储资源而产生的延迟;[0028] TC表示放置于第三方云的总延迟;[0029] Tt表示向第三方云传输虚拟网络请求的通信延迟;[0030] Fe=Ei+Eu(6)[0031] 其中,Fe表示第三方云中每一个服务节点的付费成本;[0032] Ei表示已开启的边缘云服务节点的维护成本和在服务节点以虚拟机形式放置虚拟网络请求的开销;[0033] Eu表示边缘云服务节点提供计算服务时的服务成本;[0034][0035] 其中,Eu表示边缘云服务节点提供计算服务时的服务成本;[0036] δC表示使用服务节点中已使用计算资源;[0037] γC表示总计算资源;[0038] PC表示计算资源利用率的权重;[0039] δB表示服务节点已使用带宽资源占总带宽资源;[0040] γB表示总带宽资源;[0041] PB表示带宽资源利用率的权重;[0042] δS表示服务节点已使用存储资源;[0043] γS表示节点总存储资源;[0044] PS表示存储资源利用率的权重;[0045][0046] 其中,Fc表示第三方云中每一个服务节点的付费成本;[0047] 表示第三方云中服务节点被使用的计算资源;[0048] 表示第三方云中计算资源的收费价格;[0049] 表示第三方云中服务节点被使用的带宽资源;[0050] 表示第三方云中带宽资源的收费价格;[0051] 表示第三方云中服务节点被使用的存储资源;[0052] 表示第三方云中存储资源的收费价格;[0053][0054] 其中,ke表示将虚拟网络请求以虚拟机的形式放置于边缘云中的代价;He表示边缘云服务节点集合;[0055] Fe表示虚拟网络请求的计算成本;[0056] Te表示虚拟网络请求的时延代价;[0057] 表示在边缘云中时延代价所占权重;[0058] fx1表示决策变量;[0059][0060] 其中,kc表示将虚拟网络请求以容器的形式放置于第三方云中的代价;HC表示第三方云服务节点集合;[0061] FC表示虚拟网络请求的付费代价;[0062] TC表示虚拟网络请求的时延代价;[0063] 表示在第三方云中时延代价所占权重;[0064] fx2表示第三方云决策变量;[0065] k=ke+kc(11)[0066] k表示当前边云协同系统的总代价;[0067] ke表示将虚拟网络请求以虚拟机的形式放置于边缘云中的代价;[0068] kc表示将虚拟网络请求以容器的形式放置于第三方云中的代价。[0069] 在本发明的一种优选实施方式中,在步骤S2中包括:[0070][0071][0072][0073][0074][0075][0076] 其中,Min()取最小值;[0077] He表示边缘云服务节点集合;[0078] Fe表示虚拟网络请求的计算成本;[0079] Te表示虚拟网络请求的时延代价;[0080] 表示在边缘云中时延代价所占权重;[0081] fx1表示决策变量;[0082] HC表示第三方云服务节点集合;[0083] FC表示虚拟网络请求的付费代价;[0084] TC表示虚拟网络请求的时延代价;[0085] 表示在第三方云中时延代价所占权重;[0086] fx2表示第三方云决策变量;[0087] s.t.表示受限于;[0088] δC表示使用服务节点中已使用计算资源;[0089] 表示当前边缘云服务节点拥有的计算资源;[0090] 表示第三方云中服务节点被使用的计算资源;[0091] 表示当前第三方云服务节点的剩余可用计算资源;[0092] δB表示服务节点已使用带宽资源占总带宽资源;[0093] 表示当前边缘云服务节点拥有的带宽资源;[0094] 表示第三方云中服务节点被使用的带宽资源;[0095] 表示当前第三方云服务节点的剩余可用带宽资源;[0096] δS表示服务节点已使用存储资源;[0097] 表示当前边缘云服务节点拥有的存储资源;[0098] 表示第三方云中服务节点被使用的存储资源;[0099] 表示当前第三方云服务节点的剩余可用存储资源;[0100] γL(n,u)表示边缘云服务节点间的链路带宽;[0101] γL(nC,uC)表示第三方云服务节点间的链路带宽;[0102] 在本发明的一种优选实施方式中,还包括:[0103][0104][0105] 其中,r(t)表示奖励函数;[0106] He表示边缘云服务节点集合;[0107] Fe表示虚拟网络请求的计算成本;[0108] Te表示虚拟网络请求的时延代价;[0109] 表示在边缘云中时延代价所占权重;[0110] fx1表示决策变量;[0111] HC表示第三方云服务节点集合;[0112] FC表示虚拟网络请求的付费代价;[0113] TC表示虚拟网络请求的时延代价;[0114] 表示在第三方云中时延代价所占权重;[0115] fx2表示第三方云决策变量;[0116] J(t)表示惩罚函数;[0117] λx表示违反不同约束的惩罚比重;[0118] Jx(t)表示不同约束的惩罚函数;[0119][0120] 其中,R(t)表示在t时刻的累积回报;[0121] reward(t)表示放置虚拟网络请求的即时效益;[0122] η表示折扣因子;[0123] reward(t+1)表示迭代次数为1的回报值;[0124] reward(t+2)表示迭代次数为2的回报值;[0125] reward(t+n)表示迭代次数为n的回报值;[0126] Qπ(s(t),a(t))=E[R(t)|s(t),a(t)][0127] =E[reward(t)+η·reward(t)+...|s(t),a(t)](21)[0128] =E[reward(t)+Qπ(s(t+1),a(t+1))+...|s(t),a(t)][0129] 其中,E[R(t)|s(t),a(t)]表示状态s(t)下动作a(t)的期望;[0130] π*=argmax(Qπ(s,a))(22)[0131] 其中,argmax()表示最大值。[0132] 在本发明的一种优选实施方式中,求解方式为:[0133][0134] 其中,r(t)表示回报函数;[0135] J(t)表示惩罚函数;[0136] He表示边缘云服务节点集合;[0137] Fe表示虚拟网络请求的计算成本;[0138] Te表示虚拟网络请求的时延代价;[0139] 表示在边缘云中时延代价所占权重;[0140] fx1表示决策变量;[0141] HC表示第三方云服务节点集合;[0142] FC表示虚拟网络请求的付费代价;[0143] TC表示虚拟网络请求的时延代价;[0144] 表示在第三方云中时延代价所占权重;[0145] fx2表示第三方云决策变量;[0146] λx表示违反不同约束的惩罚比重;[0147] Jx(t)表示不同约束的惩罚函数;[0148] Qπ(s(t),a(t))≈Qπ(s(t),a(t),θQ)(24)[0149] 其中,θQ表示深度神经网络的权重值;[0150] σ=rt+1+ξQ_(s(t),a(t))‑Q(s(t),a(t))(25)[0151] 其中,σ表示时间差分值;[0152] rt+1表示回报值;[0153] ξ表示权重因子;[0154] Q_(s(t),a(t))表示上一次状态输入到判别网络中得到的Q值;[0155] Q(s(t),a(t))表示将s状态输入到判别网络中得到的Q值;[0156] σ'=L+rt+1+ξQ_(s(t),a(t))‑Q(s(t),a(t))(26)[0157] Loss(θQ)=E[σ'(t)2](27)[0158] 其中,σ'表示基于拉格朗日对偶函数的时间差分值;[0159] L表示拉格朗日对数值;[0160] rt+1表示回报函数;[0161] ξ表示权重因子;[0162] Q_(s(t),a(t))表示上一次状态输入到判别网络中得到的Q值;[0163] Q(s(t),a(t))表示将s状态输入到判别网络中得到的Q值[0164] Loss(θQ)表示判别网络的损失函数;[0165] σ'(t)2表示平方损失函数;[0166][0167] 其中,θμ表示行动网络的权重;[0168] 表示行动网络的放置策略;[0169] σ表示判别网络的时间差分值;[0170] π*=π(s(t),a(t),θμ)(29)[0171] 其中,π*表示最优策略;[0172] π(·,·,)表示策略;[0173] s(t)表示状态;[0174] a(t)表示动作;[0175] θμ表示行动网络的权重。[0176] 综上所述,由于采用了上述技术方案,本发明首先建立了基于代价的虚拟网络功能放置的优化决策问题,然后将该模型以马尔可夫决策模型进行描述;通过把深度强化学习与组合优化求解相结合提出了基于“行动‑判别”的虚拟网络功能放置双重放置框架,提出的网络功能放置算法在不同规模的边云场景下中均具有良好的适应性,并且能够通过合理的虚拟化类型选择和放置位置决策获得更低的系统开销,并为需求方用户提供更低的服务延迟和更优的服务体验。[0177] 本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明[0178] 本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:[0179] 图1是本发明边云协同服务系统框架示意图。[0180] 图2是本发明线上线下协作求解模式示意图。[0181] 图3是本发明虚拟网络功能放置策略求解框架示意图。[0182] 图4是在不同大小流量的情况下,行动模块和判别模块损失函数的收敛情况示意图。[0183] 图5是边云协同系统中系统总代价的变化和系统中边缘云和第三方云的代价变化示意图。[0184] 图6是在大规模边云协同系统中部署互联请求的系统代价下降情况和算法的收敛状态示意图。[0185] 图7是在基础边云协同系统中部署算法的执行时间与大规模边云协同系统中算法的执行时间的对比示意图。[0186] 图8是边云协同系统中不同算法的平均系统代价示意图。[0187] 图9是边云协同系统中不同部署算法的平均惩罚值的对比示意图。[0188] 图10是边云协同系统中不同部署算法产生的延迟代价对比示意图。[0189] 图11是基于行动‑判别的虚拟网络功能部署算法、随机选择算法以及最小化运营开销算法的类型决策示意图。[0190] 图12是基于行动‑判别的虚拟网络功能部署算法、随机选择算法以及最小化运营开销算法的部署代价对比示意图。具体实施方式[0191] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。[0192] 本发明主要包括:基于混合整数线性规划模型的最小化边云协同系统代价模型,基于“行动‑判别”的虚拟网络功能放置策略求解框架。所考虑的边云协同服务系统框架如图1所示,边缘服务区域放置了多个相互连接的边缘服务节点,边缘节点可共同向终端用户提供近端计算、网络和存储服务。云端资源则由第三方云服务商提供,如:阿里云、腾讯云或者亚马逊AWS。为了应对用户的各类复杂业务请求的同时有效控制运营成本(即:OPEX),服务商能够在边云协同环境下,通过集成了虚拟架构管理器(VirtualInfrastructureManagers,VIMs)的控制系统实现对VM‑VNF和CT‑VNF两种虚拟化实例的同时管理,例如:使用OpenWhisk。用户通过就近的基站或无线热点将各类复杂任务提交给边云协同系统,这类任务可以是:包括多个VNF的端到端应用或分布式机器学习任务请求等。服务商通过VIM将任务请求实例化为多个相互关联的虚拟网络功能实体并完成在边云环境中的放置决策,最终实现对复杂任务的服务。特别的是,本发明研究虚拟网络功能的放置问题将同时考虑虚拟网络功能的实例化形式的决策及实例化后的虚拟网络功能的放置位置决策。前者是决策所采用的虚拟化技术,即在VM‑VNF和CT‑VNF进行选择并实例化。后者即根据系统服务过程中可能产生的开销,在边缘服务节点和云端节点之间进行虚拟化实体的放置位置决策。[0193] 1.基于混合整数线性规划模型的最小化边云协同系统代价模型[0194] 在本发明中,首先建立了基于混合整数线性规划模型的最小化边云协同系统代价模型。为形式化系统代价模型,作如下定义。n个边缘服务节点构成的集合为 对于其中一个边缘服务节点 定义 和 分别为其所具有的算力、网络带宽和存储资源。在第三方云中,用于边云协同的m台服务节点集合表示为对于一个云服务节点 分别定义 和 为该云服务节点的算edge edge edge edge力、网络带宽和存储资源。同时,定义无向图Ge=(H ,E ),其中H 和E 分别为边缘区edge域Ge中的服务节点集合和节点间的链路集合。e(n,u),e(n,u)∈E 表示边缘服务节点 和之间的网络链路,其中 γL(n,u)表示链路e(n,u)所需占用的带宽资源。同理,cloud cloud C C定义无向图Gc=(H ,E ),H和E分别为第三方云中用于边云协同的服务节点集合和C C C C C节点间的链路集合,e(n ,u),e(n ,u)∈H表示第三方云服务节点 和C C C C之间的网络链路,γL(n ,u )表示链路e(n ,u )的带宽资源。进一步,用多元组表示一个复杂任务i,服务该复杂任务的|Vi|个虚拟网络功能组成集合 而由任务i所需的其中一个虚拟网络功能j,(j∈Vi)所需要的算力、网络带宽以及存储资源分别为 和 而Vi中任意两个虚拟网络功能j和k之间的数据交互,所需占用的网络链路带宽资源为[0195] 本发明在研究虚拟网络功能的放置问题时,同时将业务服务质量和第三方云的租用费用等因素纳入考虑。为此,定义了一个由能耗、时延和付费组成的加权代价函数,并将虚拟化网络功能的放置建模成一个基于最小化代价的多目标优化模型。[0196] 将虚拟化的网络功能放置在服务能力异构的边缘节点或云端节点之上,服务过程中会产生延迟。延迟作为将作为最重要的指标直接影响复杂任务的服务质量。而延迟主要包括:网络功能放置在物理边云节点后产生的排队延迟、计算延迟以及数据在边云端传输所产生的传输延迟。因此某个虚拟网络功能i放置在边云协同系统所产生的排队延迟TL,其中δc为虚拟网络请求的计算率,γC为服务节点的服务率,fx为决策变量,表示当前边缘协同系统中的服务节点正在排队的虚拟网络请求。[0197][0198] 其中,TL表示某个虚拟网络功能i放置在边云协同系统所产生的排队延迟;[0199] γC表示服务节点的服务率;[0200] δc表示虚拟网络请求的计算率;[0201] fx表示当前边缘协同系统中的服务节点正在排队的虚拟网络请求;[0202] h表示边缘云服务节点集合;[0203] 其次,定义了虚拟网络请求在服务节点获得网络带宽资源与存储资源而产生的延迟TC。[0204][0205] 其中,TC表示虚拟网络请求在服务节点获得网络带宽资源与存储资源而产生的延迟;[0206] δB表示服务节点已使用带宽资源占总带宽资源;[0207] δS表示服务节点已使用存储资源;[0208] γB表示总带宽资源;[0209] γS表示节点总存储资源;[0210] 最后,定义了向第三方云传输虚拟网络请求的通信延迟Tt,放置于边缘云的通信延迟相较于第三方云的通信延迟可忽略不计,其中 为请求到第三方云的传输速率。[0211][0212] 其中,Tt表示向第三方云传输虚拟网络请求的通信延迟;[0213] δB表示服务节点已使用带宽资源占总带宽资源;[0214] 表示请求到第三方云的传输速率;[0215] 综合以上,将请求放置于边缘云的总延迟为Te,放置于第三方云的总延迟为TC。[0216] Te=TL+Tc(4)[0217] TC=TL+Tc+Tt(5)[0218] 其中,Te表示将请求放置于边缘云的总延迟;[0219] TL表示某个虚拟网络功能i放置在边云协同系统所产生的排队延迟;[0220] Tc表示虚拟网络请求在服务节点获得网络带宽资源与存储资源而产生的延迟;[0221] TC表示放置于第三方云的总延迟;[0222] Tt表示向第三方云传输虚拟网络请求的通信延迟;[0223] 在计算模型中,考虑采用Fe计算边缘云中每一个服务节点的计算成本。其中,Ei为已开启的边缘云服务节点的维护成本和在服务节点以虚拟机形式放置虚拟网络请求的开销,Eu则为边缘云服务节点提供计算服务时的服务成本。[0224] Fe=Ei+Eu(6)[0225] 其中,Fe表示第三方云中每一个服务节点的付费成本;[0226] Ei表示已开启的边缘云服务节点的维护成本和在服务节点以虚拟机形式放置虚拟网络请求的开销;[0227] Eu表示边缘云服务节点提供计算服务时的服务成本;[0228] 在计算成本的线性函数Fe中,Eu代表每一个服务节点的计算成本。在式(7)中使用服务节点中已使用计算资源占总计算资源的比例表示计算资源利用率,采用服务节点已使用带宽资源占总带宽资源的比例表示带宽资源利用率,采用服务节点已使用存储资源占节点总存储资源的比例表示存储资源利用率。边缘云服务节点处理虚拟网络请求时,按资源重要性排序依次为计算资源、带宽资源、存储资源,因此虚拟网络请求计算资源利用率的权重PC要高于带宽资源利用率的权重PB与存储资源利用率的权重PS。[0229][0230] 其中,Eu表示边缘云服务节点提供计算服务时的服务成本;[0231] δC表示使用服务节点中已使用计算资源;[0232] γC表示总计算资源;[0233] PC表示计算资源利用率的权重;[0234] δB表示服务节点已使用带宽资源占总带宽资源;[0235] γB表示总带宽资源;[0236] PB表示带宽资源利用率的权重;[0237] δS表示服务节点已使用存储资源;[0238] γS表示节点总存储资源;[0239] PS表示存储资源利用率的权重;[0240] 在付费模型中,主要考虑第三方云中按使用量付费的情况。通常情况下,容器接近裸机放置特性使得在第三方云放置虚拟网络请求可以大大节省付费开销,因此第三方云常采用以容器形式放置虚拟网络请求,并根据数据使用量计费。以式(8)表达了第三方云中每一个服务节点的付费成本。[0241][0242] 其中,Fc表示第三方云中每一个服务节点的付费成本;[0243] 表示第三方云中服务节点被使用的计算资源;[0244] 表示第三方云中计算资源的收费价格;[0245] 表示第三方云中服务节点被使用的带宽资源;[0246] 表示第三方云中带宽资源的收费价格;[0247] 表示第三方云中服务节点被使用的存储资源;[0248] 表示第三方云中存储资源的收费价格;[0249] 在计算成本的线性函数式(8)中, 及 分别代表第三方云中服务节点的被使用的计算资源、带宽资源和存储资源。 及 分别在第三方云中计算资源,带宽资源与存储资源的收费价格。[0250] 本发明将虚拟网络请求在边云协同系统中的放置问题建模为由延迟代价,计算成本和费用代价构成的组合优化问题。综合以上模型,如果ISPS将虚拟网络请求以虚拟机的形式放置于边缘云中,其代价可以表示为:[0251][0252] 其中,ke表示将虚拟网络请求以虚拟机的形式放置于边缘云中的代价;[0253] He表示边缘云服务节点集合;[0254] Fe表示虚拟网络请求的计算成本;[0255] Te表示虚拟网络请求的时延代价;[0256] 表示在边缘云中时延代价所占权重;[0257] fx1表示决策变量;[0258] 式(9)中,Fe和Te分别为虚拟网络请求的计算成本和时延代价, 为在边缘云中时延代价所占权重,fx1为决策变量,代表当前虚拟网络请求的类型决策为虚拟机类型,位置决e策为边缘云服务节点x1,x1∈H。[0259] 当ISPS将虚拟网络请求以容器的形式放置于第三方云中,则其代价可表示为:[0260][0261] 其中,kc表示将虚拟网络请求以容器的形式放置于第三方云中的代价;[0262] HC表示第三方云服务节点集合;[0263] FC表示虚拟网络请求的付费代价;[0264] TC表示虚拟网络请求的时延代价;[0265] 表示在第三方云中时延代价所占权重;[0266] fx2表示第三方云决策变量;[0267] 式(10)中,FC和TC分别为虚拟网络请求的付费和时延代价, 为在第三方云中时延代价所占权重,该权重大于 fx2为决策变量,代表当前虚拟网络请求的类型决策为容C器类型,其位置决策为第三方云服务节点x2,x2∈H。[0268] 综合以上,当前边云协同系统的总代价即为:[0269] k=ke+kc(11)[0270] k表示当前边云协同系统的总代价;[0271] ke表示将虚拟网络请求以虚拟机的形式放置于边缘云中的代价;[0272] kc表示将虚拟网络请求以容器的形式放置于第三方云中的代价;[0273] 本发明中,构建优化模型的目的为在一个有逻辑的虚拟化网络的虚拟网络请求到达边云协同系统时,根据虚拟网络请求的特点以及边云协同系统的负载情况智能的在系统中做出位置决策和放置决策的双重决策,以最小化总代价。因此,可将在边云协同系统中放置虚拟网络请求的问题建模为:[0274][0275][0276][0277][0278][0279][0280] 其中,Min()取最小值;[0281] He表示边缘云服务节点集合;[0282] Fe表示虚拟网络请求的计算成本;[0283] Te表示虚拟网络请求的时延代价;[0284] 表示在边缘云中时延代价所占权重;[0285] fx1表示决策变量;[0286] HC表示第三方云服务节点集合;[0287] FC表示虚拟网络请求的付费代价;[0288] TC表示虚拟网络请求的时延代价;[0289] 表示在第三方云中时延代价所占权重;[0290] fx2表示第三方云决策变量;[0291] s.t.表示受限于;[0292] δC表示使用服务节点中已使用计算资源;[0293] 表示当前边缘云服务节点拥有的计算资源;[0294] 表示第三方云中服务节点被使用的计算资源;[0295] 表示当前第三方云服务节点的剩余可用计算资源;[0296] δB表示服务节点已使用带宽资源占总带宽资源;[0297] 表示当前边缘云服务节点拥有的带宽资源;[0298] 表示第三方云中服务节点被使用的带宽资源;[0299] 表示当前第三方云服务节点的剩余可用带宽资源;[0300] δS表示服务节点已使用存储资源;[0301] 表示当前边缘云服务节点拥有的存储资源;[0302] 表示第三方云中服务节点被使用的存储资源;[0303] 表示当前第三方云服务节点的剩余可用存储资源;[0304] γL(n,u)表示边缘云服务节点间的链路带宽;[0305] γL(nC,uC)表示第三方云服务节点间的链路带宽;[0306] 模型的约束条件式(13)中,fx1=1和fx2=1作为决策变量实现了ISPS的双重决策的功能,分别表示将虚拟网络请求以虚拟机类型放置在边缘云中的服务节点x1和以容器类型放置在第三方云中的服务节点x2。约束条件式(14)表示以虚拟机形式放置在边缘云的虚拟网络请求对计算资源的需求δC不超过当前边缘云服务节点拥有的计算资源 同理以容器形式放置在第三方云的虚拟网络请求对计算资源的需求 不得超过当前第三方云服务节点的剩余可用计算资源 约束条件式(15)表示以虚拟机形式放置在边缘云的虚拟网络请求对带宽资源的需求δB不得超过当前边缘云服务节点拥有的带宽资源 同理以容器形式放置在第三方云的虚拟网络请求对带宽资源的需求 不得超过当前第三方云服务节点的剩余可用带宽资源 相应的,式(16)代表了在边缘云和第三方云的存储资源约束。约束条件式(17)为边云协同系统中服务节点间的链路带宽限制。[0307] 根据马尔可夫决策过程将上节定义的组合优化问题建模为一个MDP模型,并构建了基于行动‑判别的深度强化学习的模型。首先将该MDP模型描述为M={S,A,P,R,η},其中:[0308] S为状态空间,定义代表时刻t的状态空间,h包括边缘云和第三方云的边云协同系统的服务节点,H表示当前边云协同系统中服务节点的状态空间。γC(t)、γB(t)和γS(t)分别代表在时刻t时虚拟网络请求对服务节点的计算资源需求,带宽资源需求及存储资源需求。[0309] A为动作空间,定义在时刻t的动作空间为A(t)={ah(t),h(t)∈H},ah(t)表到达边云协同系统的虚拟网络请求的映射动作。[0310] P为状态转移概率,在时刻t的状态s(t)选择动作a(t),会使得状态转移到下一时刻的状态s(t+1),其状态转移概率为P(s(t+1)s(t),a(t))。[0311] R为效益函数,定义一个回报函数作为每一次动作的回报,该函数使用组合优化模型的目标函数式(12)为奖励函数r(t),使用约束函数式(13)至式(17)为惩罚函数,其中λx为违反不同约束的惩罚比重,x代表不同种类的约束,分别为计算约束,带宽约束,存储约束及链路带宽约束。[0312][0313][0314] 其中,r(t)表示奖励函数;[0315] He表示边缘云服务节点集合;[0316] Fe表示虚拟网络请求的计算成本;[0317] Te表示虚拟网络请求的时延代价;[0318] 表示在边缘云中时延代价所占权重;[0319] fx1表示决策变量;[0320] HC表示第三方云服务节点集合;[0321] FC表示虚拟网络请求的付费代价;[0322] TC表示虚拟网络请求的时延代价;[0323] 表示在第三方云中时延代价所占权重;[0324] fx2表示第三方云决策变量;[0325] J(t)表示惩罚函数;[0326] λx表示违反不同约束的惩罚比重;[0327] Jx(t)表示不同约束的惩罚函数;[0328] 因此,放置虚拟网络请求的即时效益即为reward(t)=r(t)‑J(t),其在t时刻的累积回报即为式(20),其中,η∈(0,1)为折扣因子,n为迭代次数,随着迭代次数增加,当前动作带来的未来回报会逐渐减小,因此需对未来收益实施一定的折扣。[0329][0330] 其中,R(t)表示在t时刻的累积回报;[0331] reward(t)表示放置虚拟网络请求的即时效益;[0332] η表示折扣因子;[0333] reward(t+1)表示迭代次数为1的回报值;[0334] reward(t+2)表示迭代次数为2的回报值;[0335] reward(t+n)表示迭代次数为n的回报值;[0336] 在时刻t处于状态s(t)的环境会根据策略π选择动作a(t)=π(s(t))。基于该策略ππ环境会通过值函数Q(s(t),a(t))评估动作a(t),做出合理的选择。[0337] Qπ(s(t),a(t))=E[R(t)|s(t),a(t)][0338] =E[reward(t)+η·reward(t)+...|s(t),a(t)](21)[0339] =E[reward(t)+Qπ(s(t+1),a(t+1))+...|s(t),a(t)][0340] 其中,E[R(t)|s(t),a(t)]表示状态s(t)下动作a(t)的期望;[0341] 因此,在边云协同系统中放置虚拟网络请求的最优策略π*即为式(22)。[0342] π*=argmax(Qπ(s,a))(22)[0343] 其中,argmax()表示最大值;[0344] 2.基于“行动‑判别”的虚拟网络功能放置策略求解框架[0345] 目前,越来越多的学者采用深度强化学习方法解决MDP问题,且均取得了较优异的成果。深度强化学习方法通常不需要对模型进行假设,而是通过不断与环境交互,学习当前策略的优劣程度并逐步达到回报最大化的目的。本发明考虑的虚拟网络请求对计算资源需求,带宽需求资源和存储需求资源均为随机生成,因此无法获得其状态转移概率分布。解决该问题的关键所在是需要为虚拟网络请求选择合适的放置方式和放置位置,环境状态和动作空间的维度高。受到深度强化学习方法求解组合优化问题的优异表现启发,考虑继续采用深度强化学习方法完成对模型求解。针对当前虚拟网络请求放置问题这类连续的状态和动作维度高的特点,传统深度强化学习算法如Q学习,会出现难收敛,维度爆炸等问题,因此考虑采用学界更为新兴的无模型方法行动‑判别算法,该算法可解决状态空间大和动作维度过高的问题。[0346] 本发明提出了一种在边云协同系统中基于行动‑判别的在线解决虚拟网络放置问题的新模式,该模式通过线下训练优化放置模型,线上基于优化模型自动求解放置策略。图2展示了基于行动‑判别的线上线下协作求解模式,该模式将线下训练和线上决策进行有机结合。首先,线下训练以目标函数的优化目标作为学习方向进行训练。针对优化目标获得多个智能体的最优参数,并将最优参数传递至线上决策模块。线上决策基于贪婪搜索策略,在多个模型中选择最优模型,以优化目标为导向,选择优化解。[0347] 行动‑判别算法实际上是指基于价值评估和策略生成的强化学习方法,该算法结合了强化学习的策略方案和值函数方案,其中行动是指策略函数,用于生成动作,而判别是指价值函数,用于评价行动的表现。该方法可以在连续动作空间中高效的学习随机策略,即解决了维度高的问题,同时算法也具有较好的收敛性,大大缩短了训练时长。在蒙特卡洛策略梯度中,通过采样的形式更新参数,即使用时刻t的回报值作为当前策略下动作价值函数的无偏估计。但在该方法中依旧存在一些问题,首先,智能体在一次训练中会采取多个动作,无法判断是哪一步动作对最后结果产生了正向效益,即该方法存在高方差问题,其次训练所需的时间比论述更高,其收敛速度缓慢。而本发明求解框架行动‑判别算法通过引入一种判别的评估机制来处理高方差的问题,即引入策略评估机制计算动作的价值函数。框架中的行动模块会随机参数并根据环境状态和虚拟网络请求的状态生成对应的放置策略,随后判别会对执行行动动作后所获得的回报进行评估,并通过时间差分(TimeDifference‑Error,TD‑error)对评估网络,即值函数,进行更新,判别完成值函数评估模块和参数更新后,行动模块将根据判别模块的输出更新产生新的放置策略,即行动模块将选择回报更高的动作。[0348] 如图3所示,该求解框架中行动‑判别网络中的行动网络和判别网络均由编码器和解码器构成,其中编码器和解码器均有长短时记忆网络构成,长短时记忆网络可用于序列的记忆。首先,行动网络接收到达边云协同系统的虚拟网络请求Sv={v1,v2,...,vs}并将其转化为词向量输入行动网络的编码器,经历编码器中的长短时记忆网络的运算以及加权处理后输入解码器,并由解码器采用相同的网络结构对结果进行解码,最终输出放置策略,该策略既包含类型决策又包含位置决策,即状态St下动作At。判别网络根据执行动作后改变的状态St+1和拉格朗日法处理后的回报L对行动网络输出的放置策略进行评估,减轻深度神经网络中参数的相关性,从而很大程度上避免过拟合问题的发生。特别的,判别模块中拉格朗日松弛技术的使用,能够有效避免回报最终收敛至次优值,使得判别能够更为高效的完成评估工作,其具体表示为式(23),将放置问题转化为无约束问题。其中, 为由于放置策略违反计算约束,带宽约束,存储资源约束及链路约束而产生的惩罚值总和,λx为不同约束条件对应的拉格朗日乘子。[0349][0350] 其中,r(t)表示回报函数;[0351] J(t)表示惩罚函数;[0352] He表示边缘云服务节点集合;[0353] Fe表示虚拟网络请求的计算成本;[0354] Te表示虚拟网络请求的时延代价;[0355] 表示在边缘云中时延代价所占权重;[0356] fx1表示决策变量;[0357] HC表示第三方云服务节点集合;[0358] FC表示虚拟网络请求的付费代价;[0359] TC表示虚拟网络请求的时延代价;[0360] 表示在第三方云中时延代价所占权重;[0361] fx2表示第三方云决策变量;[0362] λx表示违反不同约束的惩罚比重;[0363] Jx(t)表示不同约束的惩罚函数;[0364] 式(22)中Qπ(s(t),a(t))的值由行动‑判别算法中判别网络中的估计Q网络近似得Q到,即为式(24),其中θ为深度神经网络的权重值,判别Q网络中的动作a(t)由行动网络输出得到。[0365] Qπ(s(t),a(t))≈Qπ(s(t),a(t),θQ)(24)[0366] 其中,θQ表示深度神经网络的权重值;[0367] 判别最终会产生一个时间差分值(TD‑error),并将该TD‑error反馈给行动网络,其具体表示见式(25)。[0368] σ=rt+1+ξQ_(s(t),a(t))‑Q(s(t),a(t))(25)[0369] 其中,σ表示时间差分值;[0370] rt+1表示回报值;[0371] ξ表示权重因子;[0372] Q_(s(t),a(t))表示上一次状态输入到判别网络中得到的Q值;[0373] Q(s(t),a(t))表示将s状态输入到判别网络中得到的Q值;[0374] 判别网络根据TD‑error采用梯度下降法完成对自身的训练,其损失函数为式(26)和式(27)。[0375] σ'=L+rt+1+ξQ_(s(t),a(t))‑Q(s(t),a(t))(26)[0376] Loss(θQ)=E[σ'(t)2](27)[0377] 其中,σ'表示基于拉格朗日对偶函数的时间差分值;[0378] L表示拉格朗日对数值;[0379] rt+1表示回报函数;[0380] ξ表示权重因子;[0381] Q_(s(t),a(t))表示上一次状态输入到判别网络中得到的Q值;[0382] Q(s(t),a(t))表示将s状态输入到判别网络中得到的Q值[0383] Loss(θQ)表示判别网络的损失函数;[0384] σ'(t)2表示平方损失函数;[0385] 行动网络通过输入放置策略π(s,a,θμ),其中θμ为行动网络的权重,其参数采用策略梯度法结合判别网络输出的TD‑error进行更新,其参数更新为式(28),其中采用了softmax函数。[0386][0387] 其中,θμ表示行动网络的权重;[0388] 表示行动网络的放置策略;[0389] σ表示判别网络的时间差分值;[0390] 当行动网络参数训练完成之后,即可得到近似最优策略,即式(29)。[0391] π*=π(s(t),a(t),θμ)(29)[0392] 其中,π*表示最优策略;[0393] π(·,·,)表示策略;[0394] s(t)表示状态;[0395] a(t)表示动作;[0396] θμ表示行动网络的权重;[0397] 基于行动‑判别算法的虚拟网络请求放置线下训练算法可表述为表1。[0398] 表1基于行动‑判别算法的虚拟网络功能放置线下训练算法[0399][0400] 基于行动‑判别算法的虚拟网络请求放置线上决策可表述为表2。[0401] 表2基于行动‑判别算法的虚拟网络功能放置的线上决策算法[0402][0403] 本发明提出的在边云协同系统中基于行动‑判别的在线解决虚拟网络放置问题的新模式将放置于集成了虚拟架构管理器的控制系统,控制系统将协调整个边云协同系统完成对复杂业务请求的放置工作,如图4~12所示,展示了对应的实验结果。[0404] 尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
专利地区:重庆
专利申请日期:2022-11-26
专利公开日期:2024-09-03
专利公告号:CN115883371B