一种基于深度强化学习的容器化微服务编排系统及方法技术方案

技术编号:38500591 阅读:12 留言:0更新日期:2023-08-15 17:08
本发明专利技术提供了一种基于深度强化学习的容器化微服务编排系统及方法,基于本发明专利技术提出的“延迟奖励策略”和“延迟奖励匹配深度Q学习算法”构建的,一共包含五个模块,系统信息获取模块,奖励生成模块,延迟奖励匹配模块,强化学习训练模块,决策模块和两个缓存,临时经验缓存和全局经验缓存。系统信息获取模块用于获取边缘节点环境的状态信息,奖励生成模块用于计算延迟奖励,延迟奖励匹配模块用于解决经验的配对问题,强化学习训练模块用于训练Deep Q

【技术实现步骤摘要】
一种基于深度强化学习的容器化微服务编排系统及方法


[0001]本专利技术涉及云原生领域,尤其涉及一种基于深度强化学习的容器化微服务编排系统及方法。

技术介绍

[0002]随着万物互联时代的快速到来和无线网络的飞速发展,智能化设施已经得到了广泛普及,新互联网时代下的数据量呈现爆炸式增长,并且达到了ZB级别。现有中心化系统架构已无法支撑快速产生的海量数据的传输、存储和计算,而敏感数据因安全问题也不便传输到中心节点。由此,边缘计算应运而生。边缘计算是指在网络边缘计算来自云服务下行数据以及各边缘设备上行数据的计算模型,其基本思想是将计算任务在接近数据源的计算资源上处理。边缘计算凭借其独特的地理优势,即可以提供高带宽,低时延的服务并且可以保护用户的数据安全和隐私,使其被视为人工智能,5G等领域的关键支撑技术之一。
[0003]边缘计算是将部分云计算的算力下沉到网络的边缘,是对云计算的拓展。云原生通过容器化、微服务化、松耦合化服务,实现基于服务的快速按需应用编排构建,满足快速迭代的需求驱动应用开发模式,使其逐渐成为云计算发展的主流,而微服务技术又是云原生技术的重中之重。在边缘计算中,容器凭借其低开销,部署方便快捷,隔离度高等优点成为边缘计算的必要组件之一,同时它也是云原生下微服务的最佳拍档,微服务往往以容器的形式存在于边缘节点中,即容器化微服务。容器化微服务的部署是云原生的根基,高效的部署微服务对于边缘计算同样重要。和传统的单体集中式架构相比,微服务通过将一个大型单体应用分解为多个小型模块进行部署,这种方法的优势是可以构建、测试和部署单个服务,不会对整个产品或其他服务产生不良影响。正是因为如此,目前绝大多数的应用,都被拆分为许多微服务部署在边缘节点中。但是由于微服务复杂的动态变化,包括时变的服务请求数量,服务种类等的应用需求变换,和时变的背景复杂变换,以及服务之间复杂的依赖关系,使得容器化微服务的编排并非易事。此外,不同的微服务存在调用关系,这使得微服务之间会存在负载关联性,即一个微服务的性能和被它调用的微型服务的性能有很大关系,这进一步加重了调度决策的权重,使得容器化微服务编排的难度进一步加大。
[0004]目前主要的关于容器编排的平台,均不能很好的完成边缘节点中容器化微服务的部署。比如Kubernetes(k8s)主要是用于管理云计算下大规模的容器应用,对于计算资源受限的边缘节点而言存在较大的局限性。比如Kubernetes,k3s,KubeEdge等平台对于具有高动态性的微服务的编排均存在一些问题。
[0005]造成传统容器编排平台无法解决边缘计算中容器化微服务管理的一个重要原因便是边缘节点中微服务的高度动态性。服务需求和背景负载高度动态性会极大的干扰容器化微服务应用的服务性,从而导致资源利用率低下和级联失效等问题。想要应对这些动态事件,需要综合考虑多方面的因素,比如存在于边缘节点的可用资源等,这使得传统容器编排技术均不能很好的胜任边缘计算中微服务的编排。由此基于强化学习编排容器化微服务的方案被提出,在这些方案中,由于微服务之间的依赖关系,存在于边缘计算中的微服务被
描述为一组有向无环图(DirectedAcyclicGraph,DAG),通过将这些微服务调度到不同的设备上执行,以此来满足网络中的动态需求。许多开创性的研究已经开始使用强化学习模型来完成容器化微服务的编排,但本专利技术发现,现有的强化学习方案仍然存在不足。
[0006]在使用传统的强化学习进行调度决策时,由于微服务的执行时间,强化学习模型中的智能体(agent)在环境中执行动作(action)后,并不能立即获得预期的奖励(reward),本专利技术将其称作“延迟奖励”。正是因为“延迟奖励”问题,导致强化学习模型无法及时更新,因为每一个episode的学习经验都没有完成。
[0007]因此,如何找到一种策略来解决传统强化学习训练中存在的延迟奖励现象,是本领域技术人员亟待解决的技术问题。

技术实现思路

[0008]为了解决上述问题,本专利技术提供了一种基于深度强化学习的容器化微服务编排系统及方法,首先针对系统模型和传统强化学习存在延迟奖励的问题设计了延迟奖励策略,用于辅助DQL中的DeepQ

Network更新,然后结合延迟奖励策略设计了DRM

DQL算法,最后根据DRM

DQL算法建立容器化微服务编排系统。该容器化微服务编排系统是基于提出的“延迟奖励策略”和“DRM

DQL算法”构建的。和传统的强化学习算法相比,本专利技术提出的DRM

DQL算法具有更好的编排效果。首先为了陷入局部最优,采用了epsilon

greedy策略来做出相应的动作(action)。其次,最大的改进便是结合了延迟奖励策略,在此策略中本专利技术首先将强化学习所需的基本元素表示为一个元组<S,A,R,S'>,但是由于微服务的存在一定的执行时间,会导致无法立即获得奖励R,这就使得传统的强化学习无法很好的工作。
[0009]其中提出的延迟奖励策略通过引入“临时经验缓存”和“全局经验缓存”很好的解决了延迟奖励的问题,首先将智能体(agent)做出动作后立即得到的三元组<S,A,S'>存储到“临时经验缓存”,然后在得到相应的延迟奖励R后,让延迟奖励R去匹配存储在于临时经验缓存中的<S,A,S'>,并将成功匹配到的四元组<S,A,R,S'>存储到“全局经验缓存”中,然后利用全局经验缓存中的完全经验即四元组来训练DeepQ

NetWork。四元组<S,A,R,S'>是训练强化学习模型的关键,其中S表示当前的状态(state),A表示当前智能体做出的动作(action),R表示当前动作的延迟奖励(reward),S'表示智能体做出动作后将要更新到的下一个状态。在传统的强化学习中存在延迟奖励的问题,也就是说四元组中的延迟奖励R无法及时得到,这就导致传统的强化学习方法无法收敛。DRM

DQL算法是基于延迟奖励策略构建的,是该算法的核心组成部分,延迟奖励策略保证了DQL训练的正确性。
[0010]基于经验匹配机制的深度强化学习的容器化微服务编排方法系统包括五个模块:系统信息获取模块,奖励生成模块,延迟奖励匹配模块,强化学习训练模块,决策模块,以及两个缓存:全局经验缓存和临时经验缓存;
[0011]系统信息获取模块,用于获取决策模块做出相应动作后边缘节点环境前后的状态信息,即获取当前的状态,当前动作,将要更新的下一个状态,环境前后的状态信息是强化学习训练模块的关键,其中获取的状态信息包括做出动作前环境的状态S,做出动作后环境的状态S'和来自决策模块传输过来的当前动作A,将其表示为一个三元组<S,A,S'>,并存储至临时经验缓存;
[0012]奖励生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于深度强化学习的容器化微服务编排系统,其特征在于:包括:系统信息获取模块,奖励生成模块,延迟奖励匹配模块,强化学习训练模块和决策模块,以及全局经验缓存和临时经验缓存两个缓存;系统信息获取模块,用于获取决策模块做出相应动作后边缘节点环境前后的状态信息;奖励生成模块,用于计算智能体做出动作后得到的延迟奖励R,并将延迟奖励R传输至延迟奖励匹配模块;延迟奖励匹配模块,用于解决延迟奖励R和已存在于临时经验缓存中的<S,A,S'>的匹配问题,其中,S表示当前的状态,A表示当前智能体做出的动作,S'表示智能体做出动作后将要更新到的下一个状态;强化学习训练模块,用于通过全局经验缓存中的完全经验来训练Deep Q

Network;决策模块,用于控制智能体做出相应的动作;临时经验缓存,用于存储智能体做出动作后立即得到的三元组<S,A,S'>;全局经验缓存,用于存储延迟奖励匹配模块匹配成功的四元组<S,A,R,S'>。2.如权利要求1所述的一种基于深度强化学习的容器化微服务编排系统,其特征在于:系统信息获取模块中,将边缘节点环境状态描述为一个向量S={q1,q2,...,q
n
,...,q
|N|
},其中,q
n
表示第n个节点上已经运行的微服务的数量,N表示节点的总数,并将获取到的信息描述为一个三元组<S,A,S'>,S表示当前的状态,A表示当前智能体做出的动作,S'表示智能体做出动作后将要更新到的下一个状态。3.如权利要求1所述的一种基于深度强化学习的容器化微服务编排系统,其特征在于:延迟奖励R=

T
f
(
·
),其中,T
f
(
·
)表示为微服务的完成时间。4.如权利要求1所述的一种基于深度强化学习的容器化微服务编排系统,其特征在于:在延迟奖励匹配模块中,通过给三元组<S,A,S'>和延迟奖...

【专利技术属性】
技术研发人员:曾德泽李跃鹏朱方帅高丰
申请(专利权)人:中国地质大学武汉
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1