一种电力微服务卸载方法及装置与流程

文档序号:31053340发布日期:2022-08-06 09:09阅读:115来源:国知局
一种电力微服务卸载方法及装置与流程

1.本发明涉及电力物联网技术领域,具体涉及一种电力微服务卸载方法及装置。


背景技术:

2.随着电力系统的快速发展,海量接入的终端导致了异构多源数据信息的爆发式增长,让电力业务的需求呈现多元化、生态化。传统单体式架构构建的应用系统已无法应对爆炸式的业务增长。如何构建灵活、易扩展的业务系统,成为亟待考虑的问题。微服务是一种用于构建应用的架构方案,不同于传统的单体式方案,可将应用拆分成多个核心功能,每个功能被称为一项服务,可以单独构建和部署。结合容器快速部署和快速迭代的特点,可以直接将微服务部署在容器中执行。因此本发明引入微服务和容器,为电力业务的执行提供新的方式,在部署、扩展和迁移方面更加灵活。
3.为了更好地满足时延敏感性业务需求,快速响应服务请求,引入边缘计算思想,通过在边缘或终端设备中部署服务器来提供低延迟、高效的服务。但是传统的边缘计算服务卸载算法往往只考虑了计算资源、通信资源的分配问题,无法处理大规模并发业务流量请求以及边缘节点发生故障时,服务执行的连续性问题。为此,如何在边缘计算中,构建高效、可靠的电力业务调度决策模型是本发明考虑的重点。本发明从电力业务子任务之间的依赖关系出发,设计了服务卸载决策模型。同时考虑了边缘设备或设备间通信链路发生故障的情况下的服务重调度问题。
4.服务重调度往往需要快速的对边缘设备状态进行感知,避免出现重调度时延过长而导致的服务执行失败的问题。深度强化学习可以很好地解决上述问题,可以利用深度学习的感知能力与环境进行交互,实现获取到边缘设备的可用资源、物理状态、设备间的连接关系以及通信链路状态,然后利用强化学习来做出服务卸载决策,既可以满足服务执行时延最小化的需求,又可以解决服务执行期间的连续性问题。
5.综上所述,通过在边缘节点中创建容器来承载微服务,利用深度强化学习算法来解决微服务在容器中的卸载以及重调度决策模型是一个值得研究的问题。为了解现有技术的发展状况,对已有的论文和专利进行了检索、比较和分析,筛选出如下与本发明相关度比较高的技术信息:
6.已有技术方案1:专利号cn113268341a的《电网边缘计算任务的分配方法、装置、设备和存储介质》提供了一种电网边缘计算任务的分配方法、装置、设备和存储介质,其中,电网边缘计算任务的分配方法包括:软件定义网络控制器接收多个智能终端各自的任务信息;根据多个智能终端的任务信息和边缘计算服务器的资源信息,建立多个智能终端的总时延最小的优化模型;根据总时延最小的优化模型,生成目标智能终端的任务分配信息;目标智能终端为多个智能终端中的任意一个智能终端;在分配信息为由目标智能终端处理的情况下,将分配信息发送给目标智能终端;在分配信息为由边缘计算服务器处理的情况下,将分配信息同时发送给目标智能终端和边缘计算服务器。采用该发明可以降低智能终端的任务被处理的时延。
7.已有技术方案2:专利号cn112764835a公开了《基于边缘计算的电力物联网传感设备配置微服务系统及方法》,其微服务系统包括边缘物联代理架构、云服务中心和终端设备,边缘物联代理架构将终端设备数据进行处理,并根据终端设备数据的优先级,在云服务中心与终端设备间进行计算任务协同处理。本发明利用边缘数据处理低延时及微服务分布式架构的优势,降低现有物联代理设备对异构设备配置服务的复杂性。
8.已有技术方案3:专利号cn111885137a公开了《一种基于深度强化学习的边缘容器资源分配方法》,包括actor网络、critic网络、回声状态网络esn,有效的解决了时延敏感性应用的边缘计算环境的容器资源分配的问题。本发明提供的资源分配方法通过在m/d/1排队模型的基础上建立端到端时延模型,得到服务流s数据包在容器n上的端到端时延,为解决边缘容器资源分配的问题采用基于深度强化学习模型,并通过回声状态网络esn改进传统a3c算法得到了一种时延敏感型应用的边缘容器的资源分配方法—ec-a3c网络,在资源池z为不同的容器集群sz,t分配资源分配策略at,用以解决边缘计算环境的容器资源分配的问题,ec-a3c网络通过改变端到端时延的奖励值rt,以适应多种的边缘计算环境。
9.技术方案1主要考虑通过软件定义网络控制器来获取多个智能终端的状态信息,建立以时延最小化为目标的任务分配模型。该发明并未考虑任务之间的依赖关系,同时软件定义控制器与环境的交互实时性不够,可能无法应对动态变化的边缘计算环境状态。
10.技术方案2重点研究了微服务系统中各个模块之间的交互流程,并利用边缘计算来降低服务执行时延,关注了电力业务的整个执行流程,但并未详细说明边缘计算中的资源分配过程,也并未考虑实际情况,单存的通过预先设定的任务优先级判定方式,选择服务执行地点,不具有灵活性。
11.技术方案3重点研究了边缘计算环境下容器的资源分配,关于任务间的依赖关系考虑不够,同时没有考虑容器的资源伸缩性,即任务资源需求和容器配备资源之间的匹配程度。面对边缘设备发生故障这种影响服务顺利实施的突发情况也没有考虑,没有关注服务执行成功率。


技术实现要素:

12.为了克服上述缺陷,本发明提出了一种电力微服务卸载方法及装置。
13.第一方面,提供一种电力微服务卸载方法,所述电力微服务卸载方法包括:
14.基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策;
15.基于所述卸载决策将电力微服务卸载至相应的边缘节点的容器中执行;
16.其中,所述预先构建的电力微服务卸载模型包括:为电力微服务卸载配置的以电力业务执行时延最小为目标的目标函数以及为电力微服务卸载配置的约束条件。
17.优选的,所述基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策,包括:
18.采用a3c算法对预先构建的电力微服务卸载模型进行求解,得到电力微服务卸载的卸载决策。
19.优选的,所述目标函数的计算式如下:
[0020][0021]
上式中,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0022]
进一步的,所述第m个电力业务的执行时延的计算式如下:
[0023][0024]
上式中,为第m个电力业务的中包含微服务的执行时间,为第m个电力业务的起始执行时间,nm为第m个电力业务中包含的微服务数量。
[0025]
进一步的,第m个电力业务的中包含第n个微服务的执行时间的计算式如下:
[0026][0027]
上式中,为第m个电力业务的中包含第n个微服务的执行时间,为第m个电力业务的中包含第n个微服务的计算时延,为第m个电力业务的中包含第n个微服务的起始执行时间,n∈[1,nm]。
[0028]
进一步的,所述第m个电力业务的中包含第n个微服务的计算时延的计算式如下:
[0029][0030]
所述第m个电力业务的中包含第n个微服务的起始执行时间的计算式如下:
[0031][0032]
上式中,d
m,n,i,j
为将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器的卸载决策,若d
m,n,i,j
=1,则表示将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行,否则,结束操作,r
m,n
为第m个电力业务的中包含第n个微服务执行所需的cpu周期数,dr
i,j
为第i个边缘节点的第j个容器所提供的资源空间,为第m个电力业务的中包含第n-1个微服务的执行时间,d
m,n-1
为第m个电力业务的中包含第n-1个微服务传送给下一个微服务的数据量,tr
n-1,n
为第m个电力业务的中包含第n-1个微服务与第n个微服务之间的数据传输速率,为第m个电力业务的中包含第n个微服务的排队时延,为第m个电力业务的中包含第n个微服务的重调度时延。
[0033]
进一步的,所述约束条件的数学表达式如下:
[0034]
tm≤t
max
[0035]
rd
m,n,i,j
≤rd
max
[0036][0037]
type
m,n
=dt
i,j
,if d
m,n,i,j
=1
[0038]
上式中,t
max
为电力业务的执行时延最大值,rd
m,n,i,j
为将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行的资源偏差率,rd
max
为容器垂直伸缩阈值,nb为边缘节点数量,ni为第i个边缘节点中创建的容器数量,type
m,n
为第m个电力业务的中包含第n个微服务的类型,dt
i,j
为第i个边缘节点的第j个容器所承载的微服务类型。
[0039]
进一步的,所述微服务类型包括:通用微服务和非通用微服务。
[0040]
进一步的,所述通用微服务包括下述中的至少一种:定位服务,推送服务,短信服务,日志服务,文件服务,通信服务;
[0041]
所述非通用微服务包括下述中的至少一种:认证服务,工单服务,两篇服务,台账服务。
[0042]
进一步的,所述将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行的资源偏差率的计算式如下:
[0043][0044]
进一步的,所述a3c算法包括:状态空间、动作空间和奖励函数;
[0045]
所述状态空间s
t
的数学表达式为:
[0046]
所述动作空间a
t
的数学表达式为:
[0047]
所述奖励函数r的数学表达式为:
[0048]
其中,ws为按电力业务到达边缘网络的时间进行排序的待调度的微服务集合,rs为在发生故障的边缘节点容器中承载的待重调度的微服务集合,bs为边缘计算节点资源集合,c为边缘节点间的连接状态,dw为ws中的微服务的卸载决策集合,dr为rs中的微服务的卸载决策集合,t
max
为电力业务的执行时延最大值,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0049]
第二方面,提供一种电力微服务卸载装置,所述电力微服务卸载装置包括:
[0050]
确定模块,用于基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策;
[0051]
卸载模块,用于基于所述卸载决策将电力微服务卸载至相应的边缘节点的容器中执行;
[0052]
其中,所述预先构建的电力微服务卸载模型包括:为电力微服务卸载配置的以电力业务执行时延最小为目标的目标函数以及为电力微服务卸载配置的约束条件。
[0053]
优选的,所述确定模块具体用于:
[0054]
采用a3c算法对预先构建的电力微服务卸载模型进行求解,得到电力微服务卸载的卸载决策。
[0055]
优选的,所述目标函数的计算式如下:
[0056][0057]
上式中,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0058]
进一步的,所述a3c算法包括:状态空间、动作空间和奖励函数;
[0059]
所述状态空间s
t
的数学表达式为:
[0060]
所述动作空间a
t
的数学表达式为:
[0061]
所述奖励函数r的数学表达式为:
[0062]
其中,ws为按电力业务到达边缘网络的时间进行排序的待调度的微服务集合,rs为在发生故障的边缘节点容器中承载的待重调度的微服务集合,bs为边缘计算节点资源集合,c为边缘节点间的连接状态,dw为ws中的微服务的卸载决策集合,dr为rs中的微服务的卸载决策集合,t
max
为电力业务的执行时延最大值,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0063]
第三方面,提供一种计算机设备,包括:一个或多个处理器;
[0064]
所述处理器,用于存储一个或多个程序;
[0065]
当所述一个或多个程序被所述一个或多个处理器执行时,实现所述的电力微服务卸载方法。
[0066]
第四方面,提供一种计算机可读存储介质,其上存有计算机程序,所述计算机程序被执行时,实现所述的电力微服务卸载方法。
[0067]
本发明上述一个或多个技术方案,至少具有如下一种或多种有益效果:
[0068]
本发明涉及电力物联网技术领域,具体提供了一种电力微服务卸载方法及装置,包括:基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策;基于所述卸载决策将电力微服务卸载至相应的边缘节点的容器中执行;其中,所述预先构建的电力微服务卸载模型包括:为电力微服务卸载配置的以电力业务执行时延最小为目标的目标函数以及为电力微服务卸载配置的约束条件。本发明提供的技术方案通过引入微服务架构,并选用容器承载,可以有效改进传统服务应用模式下服务间强耦合的关联关系,通过分而治之以降低复杂性。考虑到电力业务之间往往存在共通的子业务,因此采用微服务可以提高资源的可重用性以及开发效率;通过引入容器垂直弹性伸缩思想,可以更好的匹配容器资源与业务资源需求量,防止资源浪费的同时,有效降低了服务执行时延;在保障服务调度成功的同时,实现了服务执行时延最小化的目标。
附图说明
[0069]
图1是本发明实施例的电力微服务卸载方法的主要步骤流程示意图;
[0070]
图2是本发明实施例的电力微服务架构示意图;
[0071]
图3是本发明实施例的电力业务dag关系图;
[0072]
图4是本发明实施例的停电抢修业务卸载和重调度场景示意图;
[0073]
图5是本发明实施例的电力微服务卸载装置的主要结构框图。
具体实施方式
[0074]
下面结合附图对本发明的具体实施方式作进一步的详细说明。
[0075]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0076]
实施例1
[0077]
参阅附图1,图1是本发明的一个实施例的电力微服务卸载方法的主要步骤流程示意图。如图1所示,本发明实施例中的电力微服务卸载方法主要包括以下步骤:
[0078]
步骤s101:基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策;
[0079]
步骤s102:基于所述卸载决策将电力微服务卸载至相应的边缘节点的容器中执行;
[0080]
其中,所述预先构建的电力微服务卸载模型包括:为电力微服务卸载配置的以电力业务执行时延最小为目标的目标函数以及为电力微服务卸载配置的约束条件。
[0081]
具体的,所述基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策,包括:
[0082]
采用a3c算法对预先构建的电力微服务卸载模型进行求解,得到电力微服务卸载的卸载决策。
[0083]
本实施例中,所述目标函数的计算式如下:
[0084][0085]
上式中,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0086]
在一个实施方式中,首先构建了基于微服务和容器的电力业务承载架构,如图2所示,将不同的电力业务拆分成多个微服务,由于某些电力业务之间具有相似性,因此微服务可能存在重叠,即完成的是同一项功能,将这一类微服务统称为通用微服务。同时不同的电力业务之间一定存在差异性,执行差异化功能的微服务成为特殊微服务。为了高效的满足时延敏感类业务需求,通过在电力终端或者通信网关等边缘节点中部署服务器来执行微服务,同时为了更好地贴近微服务之间松耦合的特点,引入容器技术,在每个边缘节点中创建多个容器在承载不同的微服务,通过容器之间的通信来共同完成一个电力业务。每个容器在创建时考虑了通用微服务和特殊微服务对计算、缓存资源的差异化需求,通常一个边缘节点中既包含承载通用微服务的容器,又包含承载特殊微服务的容器。
[0087]
在该架构的基础上,本发明设计了考虑微服务间依赖关系的微服务卸载调度模型,优化目标是最大化电力业务执行成功率。具体模型构建如下:
[0088]
在考虑具有依赖性的微服务卸载调度问题时,可以将每个电力业务用dag图g=(v,ε)表示,其中v=us∪ss,us是通用微服务的集合,ss是特殊微服务集合,如图3所示。
[0089]
定义电力业务集合为其中每个电力业务ng、nm分别表示电力业务数量和微服务数量。将每个微服务定义成一个包含服务类型,计算资源需求量和计算结果数据量的三元组务定义成一个包含服务类型,计算资源需求量和计算结果数据量的三元组其中m和n分别表示微服务所属电力业务序号以及在该电力业务的待调度顺序。当type
m,n
为us时,表示第m个电力业务的第n个微服务是通用微服务,为ss时,表
示该微服务是特殊微服务;r
m,n
表示微服务执行所需的cpu周期数;d
m,n
表示微服务执行结果的数据大小,即传送给下一个微服务的数据量。
[0090]
定义每个边缘节点的资源为其中(dt
i,j
,dr
i,j
)表示第i个边缘节点的第j个容器所承载的微服务类型(值为us或ss)和所提供的资源大小,ni表示第i个边缘节点中创建的容器数量。所以边缘计算节点集合为表示第i个边缘节点中创建的容器数量。所以边缘计算节点集合为其中nb表示边缘节点个数。定义边缘节点之间的连接关系为:
[0091][0092]
当c
i,j
=1时,表示bsi和bsj之间存在物理链路进行通信,为0时不能通信,规定当i=j时,值为1。
[0093]
在进行微服务调度卸载时,主要考虑以下三方面:(1)该边缘计算节点中是否包含承载待卸载微服务的容器;(2)由于微服务之间存在依赖关系,因此最终卸载的容器需要能够和该微服务的前驱微服务(若存在)所在容器相互通信,且通信路径要求最短;(3)该容器是否和待卸载微服务的资源需求量相匹配。
[0094]
对微服务ms
m,n
而言,首先在中寻找可以承载type
m,n
的容器集合,作为初步备选卸载对象,然后运用最短路径算法,从初步备选对象中选择和ms
m,n-1
所在边缘节点具有最短路径的容器作为备选卸载对象,最后从备选卸载对象中选择资源偏差率小于容器垂直伸缩阈值rd
max
的容器作为卸载对象,即卸载决策d
m,n,i,j
=1,表示将ms
m,n
卸载到了第i个边缘节点的第j个容器中执行,否则为0。
[0095]
其中,所述将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行的资源偏差率的计算式如下:
[0096][0097]
所述第m个电力业务的执行时延的计算式如下:
[0098][0099]
上式中,为第m个电力业务的中包含微服务的执行时间,为第m个电力业务的起始执行时间,nm为第m个电力业务中包含的微服务数量。
[0100]
其中,第m个电力业务的中包含第n个微服务的执行时间的计算式如下:
[0101][0102]
上式中,为第m个电力业务的中包含第n个微服务的执行时间,为第m个电力业务的中包含第n个微服务的计算时延,为第m个电力业务的中包含第n个微服务的起始执行时间,n∈[1,nm]。
[0103]
考虑微服务之间的依赖性,设微服务ms
m,n
的前驱微服务集合为pms
m,n
,只有在前驱微服务集合中所有微服务执行完成后,微服务ms
m,n
才能被执行,在大规模业务流量爆发时,
还需要考虑排队时延如果微服务在等待执行的过程中,边缘节点发生了故障,还需要考虑重调度时延因此,所述第m个电力业务的中包含第n个微服务的计算时延的计算式如下:
[0104][0105]
所述第m个电力业务的中包含第n个微服务的起始执行时间的计算式如下:
[0106][0107]
上式中,d
m,n,i,j
为将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器的卸载决策,若d
m,n,i,j
=1,则表示将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行,否则,结束操作,r
m,n
为第m个电力业务的中包含第n个微服务执行所需的cpu周期数,dr
i,j
为第i个边缘节点的第j个容器所提供的资源空间,为第m个电力业务的中包含第n-1个微服务的执行时间,d
m,n-1
为第m个电力业务的中包含第n-1个微服务传送给下一个微服务的数据量,tr
n-1,n
为第m个电力业务的中包含第n-1个微服务与第n个微服务之间的数据传输速率,为第m个电力业务的中包含第n个微服务的排队时延,为第m个电力业务的中包含第n个微服务的重调度时延。
[0108]
其中,所述约束条件的数学表达式如下:
[0109]
s.t.c1:tm≤t
max
[0110]
c2:rd
m,n,i,j
≤rd
max
[0111]
c3:
[0112]
c4:type
m,n
=dt
i,j
,if d
m,n,i,j
=1
[0113]
上式中,t
max
为电力业务的执行时延最大值,rd
m,n,i,j
为将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行的资源偏差率,rd
max
为容器垂直伸缩阈值,nb为边缘节点数量,ni为第i个边缘节点中创建的容器数量,type
m,n
为第m个电力业务的中包含第n个微服务的类型,dt
i,j
为第i个边缘节点的第j个容器所承载的微服务类型。
[0114]
其中约束条件c1表示微服务的执行时延不能超过其最大允许时延t_m,否则视为调度失败;约束条件c2表示不能超过容器的垂直弹性伸缩阈值;约束条件c3表示〖ms〗_(m,n)只能由一个容器承载;约束条件c4表示最终承载微服务的容器的服务类型要和微服务服务类型一致。
[0115]
进一步的,所述微服务类型包括:通用微服务和非通用微服务。所述通用微服务包括下述中的至少一种:定位服务,推送服务,短信服务,日志服务,文件服务,通信服务;所述非通用微服务包括下述中的至少一种:认证服务,工单服务,两篇服务,台账服务。
[0116]
在一个实施方式中,本发明中引入深度强化学习算法中的a3c算法对上述问题模型进行求解,算法主要包含状态空间、动作空间、奖励函数,定义如下:
[0117]
所述状态空间s
t
采用时隙模型,在每个时隙τ内利用深度强化学习中的智能体对网络状态进行感知,数学表达式为:
[0118]
所述动作空间a
t
主要由卸载决策组成,数学表达式为:
[0119]
所述奖励函数r的数学表达式为:
[0120]
其中,ws为按电力业务到达边缘网络的时间进行排序的待调度的微服务集合,每个电力业务的微服务按照依赖关系进行排序,rs为在发生故障的边缘节点容器中承载的待重调度的微服务集合,bs为边缘计算节点资源集合,c为边缘节点间的连接状态,dw为ws中的微服务的卸载决策集合,dr为rs中的微服务的卸载决策集合,t
max
为电力业务的执行时延最大值,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0121]
在一个最优的实施方式中,本发明提供的技术方案可以用来卸载调度具有dag结构的电力业务,选用停电抢修业务作为应用场景,如图4所示。停电抢修业务中涉及的通用微服务us包括{定位服务,推送服务,短信服务,日志服务,文件服务,通信服务},特殊微服务ss包括{认证服务,工单服务,两篇服务,台账服务},各个微服务之间均具有关联关系。
[0122]
在时刻t时,首先利用部署在边缘云中的a3c agent获取到边缘计算节点中创建的容器类型和资源集合,以及边缘计算节点间的连接矩阵,然后运行微服务卸载算法,经过多次迭代,做出最优卸载决策,保证服务执行时延最小的情况下,将动作决策下发给边缘环境,然后按照卸载决策将停电抢修业务中的微服务按照任务间依赖关系依次卸载到容器中执行。
[0123]
在时刻t+1时,如图所示有一个边缘计算节点发生了故障,因此需要将该边缘节点中等待执行的微服务迁移到相邻完好的边缘节点中执行。这时候a3c agent将重新获取边缘节点资源和连接状态,根据上述模型做出重调度决策,下发到环境中,进行微服务迁移,保障服务顺利实施从而提升用户满意度。
[0124]
实施例2
[0125]
基于同一种发明构思,本发明还提供一种电力微服务卸载装置,如图5所示,所述电力微服务卸载装置包括:
[0126]
确定模块,用于基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策;
[0127]
卸载模块,用于基于所述卸载决策将电力微服务卸载至相应的边缘节点的容器中执行;
[0128]
其中,所述预先构建的电力微服务卸载模型包括:为电力微服务卸载配置的以电力业务执行时延最小为目标的目标函数以及为电力微服务卸载配置的约束条件。
[0129]
优选的,所述基于预先构建的电力微服务卸载模型确定电力微服务卸载的卸载决策,包括:
[0130]
采用a3c算法对预先构建的电力微服务卸载模型进行求解,得到电力微服务卸载的卸载决策。
[0131]
优选的,所述目标函数的计算式如下:
[0132][0133]
上式中,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0134]
进一步的,所述第m个电力业务的执行时延的计算式如下:
[0135][0136]
上式中,为第m个电力业务的中包含微服务的执行时间,为第m个电力业务的起始执行时间,nm为第m个电力业务中包含的微服务数量。
[0137]
进一步的,第m个电力业务的中包含第n个微服务的执行时间的计算式如下:
[0138][0139]
上式中,为第m个电力业务的中包含第n个微服务的执行时间,为第m个电力业务的中包含第n个微服务的计算时延,为第m个电力业务的中包含第n个微服务的起始执行时间,n∈[1,nm]。
[0140]
进一步的,所述第m个电力业务的中包含第n个微服务的计算时延的计算式如下:
[0141][0142]
所述第m个电力业务的中包含第n个微服务的起始执行时间的计算式如下:
[0143][0144]
上式中,d
m,n,i,j
为将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器的卸载决策,若d
m,n,i,j
=1,则表示将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行,否则,结束操作,r
m,n
为第m个电力业务的中包含第n个微服务执行所需的cpu周期数,dr
i,j
为第i个边缘节点的第j个容器所提供的资源空间,为第m个电力业务的中包含第n-1个微服务的执行时间,d
m,n-1
为第m个电力业务的中包含第n-1个微服务传送给下一个微服务的数据量,tr
n-1,n
为第m个电力业务的中包含第n-1个微服务与第n个微服务之间的数据传输速率,为第m个电力业务的中包含第n个微服务的排队时延,为第m个电力业务的中包含第n个微服务的重调度时延。
[0145]
进一步的,所述约束条件的数学表达式如下:
[0146]
tm≤t
max
[0147]
rd
m,n,i,j
≤rd
max
[0148][0149]
type
m,n
=dt
i,j
,if d
m,n,i,j
=1
[0150]
上式中,t
max
为电力业务的执行时延最大值,rd
m,n,i,j
为将第m个电力业务的中包含
第n个微服务卸载到第i个边缘节点的第j个容器中执行的资源偏差率,rd
max
为容器垂直伸缩阈值,nb为边缘节点数量,ni为第i个边缘节点中创建的容器数量,dt
i,j
为第i个边缘节点的第j个容器所承载的微服务类型,type
m,n
为第m个电力业务的中包含第n个微服务的类型。
[0151]
进一步的,所述微服务类型包括:通用微服务和非通用微服务。
[0152]
进一步的,所述通用微服务包括下述中的至少一种:定位服务,推送服务,短信服务,日志服务,文件服务,通信服务;
[0153]
所述非通用微服务包括下述中的至少一种:认证服务,工单服务,两篇服务,台账服务。
[0154]
进一步的,所述将第m个电力业务的中包含第n个微服务卸载到第i个边缘节点的第j个容器中执行的资源偏差率的计算式如下:
[0155][0156]
进一步的,所述a3c算法包括:状态空间、动作空间和奖励函数;
[0157]
所述状态空间s
t
的数学表达式为:
[0158]
所述动作空间a
t
的数学表达式为:
[0159]
所述奖励函数r的数学表达式为:
[0160]
其中,ws为按电力业务到达边缘网络的时间进行排序的待调度的微服务集合,rs为在发生故障的边缘节点容器中承载的待重调度的微服务集合,bs为边缘计算节点资源集合,c为边缘节点间的连接状态,dw为ws中的微服务的卸载决策集合,dr为rs中的微服务的卸载决策集合,t
max
为电力业务的执行时延最大值,m∈[1,ng],ng为电力业务数量,tm为第m个电力业务的执行时延。
[0161]
实施例3
[0162]
基于同一种发明构思,本发明还提供了一种计算机设备,该计算机设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor、dsp)、专用集成电路(application specificintegrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行计算机存储介质内一条或一条以上指令从而实现相应方法流程或相应功能,以实现上述实施例中一种电力微服务卸载方法的步骤。
[0163]
实施例4
[0164]
基于同一种发明构思,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代
码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中一种电力微服务卸载方法的步骤。
[0165]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0166]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0167]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0168]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0169]
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1