CN117640413B - 雾计算中基于强化学习的微服务和数据库联合部署方法 - Google Patents
雾计算中基于强化学习的微服务和数据库联合部署方法 Download PDFInfo
- Publication number
- CN117640413B CN117640413B CN202410113493.3A CN202410113493A CN117640413B CN 117640413 B CN117640413 B CN 117640413B CN 202410113493 A CN202410113493 A CN 202410113493A CN 117640413 B CN117640413 B CN 117640413B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- database
- deployment
- fog
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000004364 calculation method Methods 0.000 title claims abstract description 43
- 230000002787 reinforcement Effects 0.000 title claims abstract description 32
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 48
- 230000009471 action Effects 0.000 claims description 41
- 230000006870 function Effects 0.000 claims description 37
- 238000005457 optimization Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 25
- 239000003595 mist Substances 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 14
- 238000012549 training Methods 0.000 claims description 14
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000003993 interaction Effects 0.000 claims description 10
- 239000011159 matrix material Substances 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 230000001934 delay Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 11
- 230000006872 improvement Effects 0.000 description 8
- 230000005855 radiation Effects 0.000 description 8
- 238000011160 research Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000004075 alteration Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 102000002274 Matrix Metalloproteinases Human genes 0.000 description 1
- 108010000684 Matrix Metalloproteinases Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种雾计算中基于强化学习的微服务和数据库联合部署方法,包括:S1,从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;S2,采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;S3,基于QTSWLA算法动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;S4,基于MDJO‑PPO算法获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,得到优化的微服务/数据库/路由路径联合部署策略。本发明优化了雾计算网络中微服务、数据库和路由路径的联合部署效果,提升部署的准确性与效率。
Description
技术领域
本发明涉及云计算技术领域,更具体地,涉及一种基于雾计算网络架构以及强化学习的微服务和数据库联合优化部署方法。
背景技术
物联网(IoT)的发展和由云计算衍生的雾计算范式的进步,一同推动了分布式应用程序的快速普及。近年来,智慧能源、智慧交通、智慧城市等由物联网驱动的系统也越来越多地使用分布式应用程序。这些应用之间存在通信问题、可持续性问题和互操作性问题,因此研究者们提出了微服务的概念。微服务是一种架构,它将单个应用拆分为多个相互连接且松散耦合的细粒度服务,与传统的单体架构相比,可以提供更灵活且具备可扩展性的应用程序。
在智慧物联场景中,雾计算节点辐射区域内的用户会通过物联设备发送海量微服务链请求信息到对应节点上。然而单个雾计算节点的资源有限,因此需要把微服务实例分散部署在各个雾计算节点上,组成雾计算协作网络,共同为网络辐射范围内的用户提供高质量服务。
图1所示为雾计算网络的服务场景示意图。在雾计算协作网络中,每种微服务可能存在多个实例,每个实例在执行任务时均需要数据支持,因此需要考虑微服务架构中数据库的存在形式问题及安置策略问题。然而在全局范畴下,数据库的安置策略问题并不是一个独立的问题。雾计算协作网络的服务性能取决于数据库安置、微服务部署和请求路由策略,这三者紧密耦合。服务部署的效果依赖于数据库安置位置以及微服务实例之间的通信路由过程,数据库安置的有效性与服务部署情况、请求路由调度情况均高度相关,而请求路由需要将一个服务部署和数据库安置策略作为前提。
然而,目前基于微服务架构下的数据库安置、微服务部署及请求路由三者间的联合优化领域仍存在研究空白。很少有研究将目光聚焦于微服务架构中的数据库安置策略问题,一些研究考虑并评估数据库的存在形式,但从未将数据库安置问题抽离出来考虑。对于微服务部署和请求路由两者来说,一些研究深入分析了微服务间的依赖关系,对分布式场景下的微服务部署进行了优化,但是没有考虑请求路由对微服务部署的影响;一些研究针对微服务请求高并发场景进行分析,为了实现流量负载均衡,优化了微服务流量路由,它们均只考虑了请求路由问题,忽略了微服务部署;少数研究同时考虑了微服务部署和请求路由,但是它们提出的解决方案均分为两阶段,两个核心问题的求解存在先后关系,没有考虑到两者之间的密切依赖。此外,一些研究引入了简单的排队模型并优化了端到端延迟,但他们未能采用细粒度的服务部署来降低排队延迟。
针对上述研究存在的不足及空白,亟需一种有效的多决策联合优化方法来解决雾计算协作网络场景下的数据库安置、微服务部署及请求路由问题。
发明内容
本发明针对现有技术中存在的技术问题,提供一种雾计算中基于强化学习的微服务和数据库联合部署方法,解决了雾计算网络中微服务、数据库和路由路径联合部署难以实现的问题,以优化微服务、数据库和路由路径的联合部署效果,提升部署的准确性与效率。
根据本发明的第一方面,提供了一种雾计算中基于强化学习的微服务和数据库联合部署方法,包括:
S1,从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;
S2,采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
S3,基于QTSWLA算法(基于排队论的服务-等候代价边际分析算法)动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;
S4,基于MDJO-PPO算法(基于PPO改进的多决策联合优化算法)获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,得到优化的微服务/数据库/路由路径联合部署策略。
根据本发明的第二方面,提供一种基于强化学习的微服务和数据库联合优化部署系统,包括:
模型创建模块,用于从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;
初始解求解模块,用于采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
动态调整模块,用于基于QTSWLA算法动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;
优化部署模块,用于基于MDJO-PPO算法获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,以得到优化的微服务/数据库/路由路径联合部署策略。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现前述雾计算中基于强化学习的微服务和数据库联合部署方法的步骤。
根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现前述雾计算中基于强化学习的微服务和数据库联合部署方法的步骤。
本发明提供的一种雾计算中基于强化学习的微服务和数据库联合部署方法、系统、电子设备及存储介质,研究基于雾计算协作网络的数据库安置、微服务部署和请求路由的联合优化问题,旨在通过微服务架构更灵活易扩展的特性,对雾计算协作网络进行细粒度排队网络建模来深度分析请求-反馈延迟,从而提升网络中微服务支持的大规模在线应用程序服务质量。基于此,本专利提出一种基于排队论的服务-等候代价边际分析算法(QTSWLA),用于获得部署的各种微服务的实例最佳数量,最后设计了一种基于PPO改进的多决策联合优化算法(MDJO-PPO),用于在决策变量初始解的基础上寻求近似最优解。具体来说,本发明技术方案具有以下优点:
(1)设定了一种微服务架构下的数据库存在形式,首次将数据库安置策略这一关键因素纳入到微服务部署和请求路由策略求解的考虑范畴内,对雾计算协作网络中数据库安置、微服务部署和请求路由联合优化问题进行了建模求解。建模过程中结合排队网络理论,细粒度地考虑了微服务的排队等候时延和处理时延,更加贴近真实的应用场景。
(2)贪婪法(即贪心算法)计算微服务部署、数据库安置和请求路由三个决策变量的初始解,并针对用户需求和请求速率不断变化的动态环境,提出了Queuing Theorybased Serving-Waiting Losses Marginal Analysis algorithm(QTSWLA),实现不同时间切片下各种微服务部署数量的横向动态调整,赋予问题模型灵活性和广泛性。
(3)将雾计算网络环境下的微服务和数据库部署及路由问题建模为马尔科夫过程,提出一种基于PPO改进的多决策联合优化算法(MDJO-PPO),通过改进动作空间、状态空间、奖励函数、训练过程、网络结构等角度优化问题求解,在满足资源约束的条件下获取近似最优的部署策略。
附图说明
图1为雾计算网络的服务场景示意图;
图2为本发明提供的一种雾计算中基于强化学习的微服务和数据库联合部署方法流程图;
图3为某一实施例雾计算网络中微服务、数据库、路由路径与雾计算节点映射关系示意图;
图4为某一实施例中MDJO-PPO模型算法的框架示意图;
图5为本发明提供的一种雾计算中基于强化学习的微服务和数据库联合部署系统组成框图;
图6为本发明提供的一种可能的电子设备的硬件结构示意图;
图7为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
图2为本发明提供的一种基于强化学习的微服务和数据库联合优化部署方法流程图,如图2所示,方法包括:
S1,从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;
S2,采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
S3,基于QTSWLA算法(基于排队论的服务-等候代价边际分析算法)动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;
S4,基于MDJO-PPO算法(基于PPO改进的多决策联合优化算法)获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,得到优化的微服务/数据库/路由路径联合部署策略。
可以理解的是,基于背景技术中的缺陷,本发明实施例提出了一种雾计算中基于强化学习的微服务和数据库联合部署方法。
可以理解的是,上述微服务是一种架构,它将单个应用拆分为多个相互连接且松散耦合的细粒度服务,与传统的单体架构相比,其可以提供更灵活且具备可扩展性的应用程序。数据库是微服务依赖的数据来源,同一种微服务实例部署在不同的雾计算节点上,但会访问相同的数据库。以图1示出的雾计算网络结构为例,各个雾计算节点辐射区域内的用户会通过物联设备发送海量微服务链请求信息到对应雾计算节点上。由于单个雾计算节点的资源有限,因此需要把微服务实例和数据库分散部署在各个雾计算节点上,组成雾计算协作网络,共同为网络辐射范围内的用户提供高质量服务。本发明实施例提供的技术方案,联立了微服务部署、数据库放置和请求路由策略,数据库的安置策略问题并不是一个独立的问题,雾计算协作网络的服务性能取决于数据库安置、微服务部署和请求路由策略,这三者紧密耦合。微服务部署的效果依赖于数据库安置位置以及微服务实例之间的通信路由过程,数据库安置的有效性与服务部署情况、请求路由调度情况均高度相关。
本发明实施例研究基于雾计算协作网络的数据库安置、微服务部署和请求路由的联合优化问题,旨在通过微服务架构更灵活易扩展的特性,对雾计算协作网络进行细粒度排队网络建模来深度分析请求-反馈延迟,从而提升网络中微服务支持的大规模在线应用程序服务质量。基于此,本专利提出一种基于排队论的服务-等候代价边际分析算法(QTSWLA),用于获得部署的各种微服务的实例最佳数量,最后设计了一种基于PPO改进的多决策联合优化算法(MDJO-PPO),用于在决策变量初始解的基础上寻求近似最优解。具体来说,本发明技术方案具有以下优点:
(1)设定了一种微服务架构下的数据库存在形式,首次将数据库安置策略这一关键因素纳入到微服务部署和请求路由策略求解的考虑范畴内,对雾计算协作网络中数据库安置、微服务部署和请求路由联合优化问题进行了建模求解。建模过程中结合排队网络理论,细粒度地考虑了微服务的排队等候时延和处理时延,更加贴近真实的应用场景。
(2)贪婪法(即贪心算法)计算微服务部署、数据库安置和请求路由三个决策变量的初始解,并针对用户需求和请求速率不断变化的动态环境,提出了Queuing Theorybased Serving-Waiting Losses Marginal Analysis algorithm(QTSWLA,基于排队论的服务-等候代价边际分析算法),实现不同时间切片下各种微服务部署数量的横向动态调整,赋予问题模型灵活性和广泛性。
(3)将雾计算网络环境下的微服务和数据库部署及路由问题建模为马尔科夫过程,提出一种基于PPO改进的多决策联合优化算法(MDJO-PPO),通过改进动作空间、状态空间、奖励函数、训练过程、网络结构等角度优化问题求解,在满足资源约束的条件下获取近似最优的部署策略。
在一种可能的实施例方式中,步骤S1,包括S101~S105:
S101,初始化雾计算网络模型中的所有雾计算节点,获取各个雾计算节点参数信息,所述雾计算节点参数信息至少包括雾计算节点的计算资源、存储资源和通信矩阵。
可以理解的是,雾计算协作网络(雾计算网络模型)中,每个雾计算节点辐射一块区域,在某雾计算节点辐射区域内的所有用户请求信息将由该雾计算节点负责。对于某个雾计算节点来说,其包含以下初始信息:/>,式中的/>分别表示雾计算节点/>具备的内存资源和计算资源的大小,以及雾计算节点/>辐射的区域范围。各个雾计算节点的辐射区域互不重叠,共同组成雾计算协作网络的全局辐射范围。
对于信息传输带宽速率矩阵来说,其为/>的矩阵,/>表示雾计算节点的总数,/>表示某一雾计算节点/>与另一雾计算节点/>间的通信带宽。s = d时,则,换言之,若某个雾计算节点内部产生信息交互,则传输时延忽略不计。
S102,初始化雾计算网络模型中所有微服务的属性,得到微服务集合,所述微服务的属性至少包括微服务所需的计算资源和依赖的数据。
S103,获取雾计算网络模型中与微服务集合对应的所有数据,得到数据集合;以数据是否重叠作为微服务集合的分类标准,得到多类微服务子集;根据微服务子集与数据的对应关系,按照微服务子集的类别将所述数据集合对应划分为多个单独隔离的数据库,得到数据库集合。
可以理解的是,本实施例中,数据库存在形式是一种“以类共享”的存在形式,且数据库安置在雾计算节点中,与微服务实例共享雾计算节点的资源。
抽象化来讲,以是否数据重叠作为分类标准,将微服务集合划分为多个(微服务)子集,表述为/>,每个类(/>)中的微服务共享一个数据库,从而将所述数据集合对应划分为多个单独隔离的数据库,得到了多个数据库的集合。这种“以类共享”的数据库存在形式不仅节约了存储资源,而且保障了数据的一致性,无需再考虑数据的同步问题。
S104,初始化雾计算网络模型中所有微服务请求链,得到微服务请求链集合,所述微服务请求链至少包括微服务的执行顺序、请求到达率、最大容忍时延。
S105,基于所述雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,创建基于马尔科夫过程的微服务/数据库/路由路径联合部署策略。
进一步,如图3所示为某一实施例雾计算网络中微服务、数据库、路由路径与雾计算节点映射关系示意图。在一种可能的实施例方式中,步骤S105中,创建的微服务/数据库/路由路径联合部署策略的决策变量在每个时间切片内都由三个决策子变量共同构成,三个所述决策子变量分别为:数据库安置决策变量、微服务实例部署决策变量和请求路由决策变量;
定义微服务实例部署决策变量,以表示部署在雾计算节点/>上的微服务/>的实例数量,j为微服务的种类编号,N为整数;
定义二值数据库安置决策变量,以表示数据库/>是否安置在雾计算节点/>上,其中,数据库/>是与下一即将执行的微服务/>交互的数据库,n为下一即将执行的微服务/>的种类编号,g为数据库/>的序号;
每个雾计算节点上维护一张路由概率表,以表征每条微服务请求链的路由路径被选择的概率大小,概率表/>作为请求路由决策变量,概率表/>满足下式:
,
其中,是波动概率值,/>;下一个即将执行的微服务/>可能部署到多个雾计算节点上,/>为其中一个可能部署的雾计算节点,m为雾计算节点/>的序号,且,/>为雾计算节点总数;i为当前雾计算节点/>的序号,/>为当前雾计算节点到下一雾计算节点/>执行下一微服务/>的决策权重值,/>为当前雾计算节点/>到下一雾计算节点/>执行下一微服务/>的决策权重值,x为求和的临时变量,表示遍历1~|S|的取值。
可以理解的是,本实施例创建的微服务/数据库/路由路径联合部署策略,结合微服务的实际运营策略和特征,合理设定数据库在雾计算协作网络场景下微服务架构中的存在形式,并在问题建模过程中将数据库安置策略囊括进考虑范畴。
根据预知的服务器存储和计算性能,服务器间的通信架构,建立雾计算网络和雾计算节点间的信息交互模型,对微服务、数据库等重要概念进行抽象化建模,从中提取各问题所需的决策变量。通过将微服务和数据库视为服务镜像,根据其通信需求作为排序依据,可基于近似的贪心算法,将通信需求量大的服务镜像放置在通信资源最丰富的雾计算节点上,求取决策变量的初始解,形成完整的初始部署策略和路由策略。
在一种可能的实施例方式中,步骤S2,包括S201~S204:
S201,从所述雾计算节点的通信矩阵中获取信息传输带宽速率矩阵,根据所述信息传输带宽速率矩阵/>计算每个雾计算节点到其他所有雾计算节点的平均带宽值和平均跳转数,对所述平均带宽值和平均跳转数分别进行计算加权值并求和,得到雾计算节点排序分数,按照雾计算节点排序分数从大到小的规则对全部所述雾计算节点排序,得到初始的雾计算节点部署顺序,例如/>表示排序后位于第i位的雾计算节点。
S202,将所述微服务请求链集合中的每条微服务请求链拆分为多条点对点新链,将全部所述点对点新链组成服务链多重集,例如将某条微服务请求链拆分为点对点新链/>和点对点新链/>,并将所有点对点新链组成一个服务链多重集;统计所述服务链多重集中每种微服务作为点对点新链首端的次数,并根据得到的次数对全部微服务进行从大到小排序,得到初始的微服务部署顺序,例如统计得到:微服务/>作为点对点新链首端的次数为8次,微服务/>作为点对点新链首端的次数为5次,微服务/>作为点对点新链首端的次数为9次,则按照从大到小进行排序,得到初始的微服务部署顺序为:/>、/>、/>。
S203,根据排序序号一致的原则,将排序后的微服务按照顺序一一对应部署到排序后的雾计算节点上,且每种微服务仅部署一个实例;例如,将排序后位于第i位的微服务部署到位于第i位的雾计算节点上。
S204,基于贪心原则,根据微服务与数据库的对应关系依次部署各个数据库,使得所有数据库信息交互时延之和达到最低。
可以理解的是,本实施例中,每种微服务仅部署一个实例,按照排序后的顺序部署到对应的雾计算节点上。雾计算节点上部署的微服务为位于{位的微服务。随后根据贪心原则挨个部署数据库,使得所有数据库信息交互时延之和达到最低。将微服务与数据库等视为一种服务镜像,即将数据库视为只有一个实例的微服务,将其通信需求作为贪心的目标,优先满足通信需求高的服务。
由于每种微服务仅部署一个实例,因此每条请求服务链的路由路径仅有一条,在求解决策变量初始解的时候,无需对请求路由进行决策,仅需求解数据库安置决策变量和微服务实例部署决策变量即可。求取该初始解的目的是形成初始的请求路由策略,每一条微服务请求链都有了完整的请求路径,由此可以计算各项时延指标,为后续的强化学习算法提供支撑。
本发明中考虑了请求-反馈时延的各项组成,其主要包括:服务链首结点接入时延、微服务处理时延、各雾计算结点间传输时延、微服务排队时延、数据库信息交互时延、服务结果返回时延。本发明建模时引入了排队网络理论,细粒度地深入分析了请求-反馈时延,具体体现在将微服务处理时延和排队时延纳入考虑范畴。
某一实施场景中,雾计算节点辐射区域/>中某用户发起服务请求,触发请求服务链/>,请求信息的数据量表述为/>。该请求信息首先传往/>,如果/>中未部署/>中首个微服务的实例,则信息需要从/>传向最近的部署有/>微服务实例的雾计算节点,该雾计算节点表述为/>。服务链/>的首节点接入时延表述为/>,其中,/>为雾计算节点/>与雾计算节点/>间的通信带宽。
相反的,请求服务链中的所有微服务执行完毕后,服务结果信息需要从刚执行完最后一个微服务的雾计算节点传往首个接收用户服务请求的雾计算节点,此为服务结果返回时延。
将微服务的实例运行在雾计算节点/>上具有的服务率表述为/>。依据排队网络理论,将微服务/>的实例在雾计算节点/>上的处理时延表述为/>。若请求服务链/>选择第h条请求路由路径/>,在这种情况下,这条请求服务链/>在第h条请求路由路径下的微服务处理时延表述为:
,h为请求服务链/>选择的请求路由路径的序号,
请求服务链的所有路径的平均微服务处理时延表述为:
,/>为请求服务链/>选择第h条请求路由路径/>的概率,Rk为服务链/>的请求路由路径集合,/>服务链/>的请求路由路径条数;
请求服务链中某个微服务执行完成后将执行结果传递到部署有链中下一个微服务节点的实例的雾计算节点上,执行一整条请求服务链的过程中存在传输时延,表述为:
,
在微服务的执行过程中,需要与某个数据库进行数据交换,这个信息交互流程存在时延。将微服务与其所访问的数据库间交换的数据量表述为/>,将部署在雾计算节点/>上的微服务/>与数据库/>的交互时延表述为:
,
在实际情况中,部署在雾计算节点上的微服务实例,并不是获取请求消息就立刻执行服务的,而是存在一个排队等候的过程,本发明通过排队网络理论的M/M/S模型,对微服务的排队时延进行分析。将雾计算节点上微服务/>的请求到达率表述为/>,/>上/>的服务强度表述为/>,雾计算节点/>上微服务/>的空闲概率表述为:
,
雾计算节点上微服务/>的队列长度表述为:
,
雾计算节点上微服务/>的排队时延表述为:
;
根据以上内容可进一步得到在雾计算节点上出现/>次的微服务/>的排队时延计算式为:
,
其中,为在微服务请求链中微服务/>出现的次数,/>为微服务/>的全局到达率,/>为预设的处理微服务/>的速率,/>为雾计算节点/>上/>的服务强度。
在一种可能的实施例方式中,步骤S3,包括:
S301,初始化内存资源代价因子、计算资源代价因子/>和排队时延代价因子,内存资源代价因子/>、计算资源代价因子/>和排队时延代价因子/>的初始值为创建策略时预设的值;获取微服务/>实例对应的内存资源/>和计算资源/>;
S302,基于排队理论的M/M/S模型,根据所述微服务请求链集合计算排队时延:
,
其中,为在微服务请求链中微服务/>出现的次数,/>为微服务/>的全局到达率,/>为预设的处理微服务/>的速率,/>为雾计算节点/>上/>的服务强度;
S303,根据内存资源代价因子、内存资源/>、计算资源代价因子/>、计算资源/>、排队时延代价因子/>和排队时延/>,得到当前时间切片内部署/>个微服务/>实例带来的代价总值/>计算式:
;
S304,采用边际分析法,将的值从1开始递增,直到/>的值满足以下关系式,以得到排队时延代价和资源占用代价达到最佳平衡的/>值:
,
其中,表示微服务/>部署的实例数变化带来的排队时延变化;
S305,考虑在获取所述决策变量初始解时每种微服务均已部署1个实例,将计算得到的值减去1,得到待部署的微服务实例数量/>。
可以理解的是,创建微服务/数据库/路由路径联合部署策略的建模过程中结合排队网络理论,细粒度地考虑了微服务的排队等候时延和处理时延,更加贴近真实的应用场景。
在一种可能的实施例方式中,可选的,步骤S3,还包括:
S306,将待部署的个微服务实例进行混合、并将其排序随机打乱,得到微服务/>的/>个待部署实例后续的部署顺序。
可以理解的是,通过步骤S305计算得到各个微服务的待部署实例数量,例如计算得出待部署的微服务为3个、微服务/>为2个、微服务/>为5个,得到待部署的微服务数组为{/>,/>,/>,/>,/>,/>,/>,/>,/>,/>},将这个数组随机打乱后,得到新的数组{/>,/>,/>,/>,/>,/>},新的数组内的微服务排序,作为待部署的实例后续的部署顺序。
在一种可能的实施例方式中,如图4所示为MDJO-PPO模型框架示意图。步骤S4,通过构建以及训练MDJO-PPO模型后,采用训练好的MDJO-PPO模型寻找微服务/数据库/路由路径联合部署策略的决策变量近似最优解,以得到优化的微服务/数据库/路由路径联合部署策略。
其中,对MDJO-PPO模型的构建以及训练过程,具体包括:
(1)构建过程:构建基于MDJO-PPO架构的Actor-Critic神经网络,其中,Actor神经网络包括Actor-old网络和Actor-new网络,将Actor-Critic神经网络调整为双分支Actor-old、Actor-new、Critic网络,使得Actor网络的并行的双分支经过不同的线性组合和激活层的计算后输出单独的子动作,再将输出的单独子动作拼接形成完整的动作空间;将Actor-Critic神经网络的动作表述为,/>表征微服务部署子动作,/>表征数据库部署子动作,以在每一步同时决定新增微服务的部署位置以及数据库调整后的位置。
本实施例中,改进强化学习算法MDJO-PPO通过将Actor与Critic网络改进为双分支结构,每个分支负责输出不同的子动作,一个维度表示新增部署某个微服务实例,另一个维度表示调整某个数据库的安置位置,通过拼接将动作空间由降低为/>。
(2)训练过程:将观测得到的雾计算网络模型环境中当前步的状态输入Actor-new网络,Actor-new网络的每个分支各得到一个离散的动作概率分布,表述为动作概率和动作概率/>;从动作概率/>中采样得到微服务部署子动作/>,从动作概率/>中采样得到数据库部署子动作/>,将微服务部署子动作/>和数据库部署子动作/>组合成为动作/>;
将动作输入到雾计算网络模型环境中得到下一步状态/>和奖励值/>,通过critic网络输出当前步的状态价值/>以及经验值/>,其中,为双分支下的动作概率对数之和,根据log法则计算得到:
,
各分支基于相同的奖励值计算优势函数后,根据训练过程的反向传播,采用状态价值/>以及经验值/>、按照PPO策略对网络的各分支并行训练,得到更新的MDJO-PPO模型。
进一步,所述优化目标为使损失函数最小化,所述损失函数设置为请求-反馈时延和全局雾计算节点资源占用率方差,所述奖励值的计算式设置为与所述损失函数负相关的奖励函数。
可以理解的是,奖励值用于衡量MDJO-PPO采取的每一步动作(action)的收益或损失。对于MDJO-PPO而言,将按照 步骤S3中得到的打乱后的微服务排序来新增部署一轮微服务实例并且按照每个微服务访问数据库的序列调整一轮数据库的安置位置视为一个episode(即视为训练的一个回合)。本实施例中,设置优化目标为请求-反馈时延和全局雾计算结点资源占用率方差,这两者均可看做具有负面效应的损失,对于MDJO-PPO而言,其目标在于使得损失最小化,因此将MDJO-PPO每一步(step)的奖励函数设置为与时延和资源占用率方差的负相关函数。
在奖励函数上,雾计算环境下的微服务与数据库部署具有奖励稀疏、随机性强的特点,因此每个动作都需要满足节点的资源约束,即不能部署在资源不足的节点上。
进一步,本实施例中,改进强化学习算法MDJO-PPO通过拉格朗日乘子法对每次部署动作进行约束,使其不超过雾计算节点的存储和计算资源限制。所述MDJO-PPO模型每一步的奖励函数计算过程如下。
采用奖励塑造的方式,对每一步的动作增加额外的奖励与限制因素,引入新的领域知识,在一轮部署结束后再给予较大的奖励值,基于拉格朗日乘子法对动作进行约束,即添加约束条件的加权值到奖励函数中,得到拉格朗日函数(Lagrange Function):
,
其中,为 当前约束下的奖励计算函数,π为当前部署策略,/>为 原奖励函数,/>为约束函数,M为 内存资源,C为计算资源,/>为当前部署策略下已经占用的内存资源,/>为当前部署策略下已经占用的计算资源,/>为约束值,/>为节点的内存资源,/>为节点的计算资源,/>为拉格朗日乘子;
拉格朗日对偶函数构成了强化学习目标函数最优值的上界,拉格朗日对偶式如下:
。
由于拉格朗日对偶函数是凸函数,故拉格朗日对偶问题是一个凸优化问题,本发明采用拉格朗日法求解最优拉格朗日乘子。
通过下式求解最优拉格朗日乘子:
,
其中,,表示拉格朗日乘子/>的学习率,/>;
基于求解的最优拉格朗日乘子,采用以下奖励函数计算所述MDJO-PPO模型每一步的奖励值/>:
,
其中,表示当前步部署的微服务所影响的微服务处理时延、传输时延与数据库信息交互时延之和,/>表示所有服务请求链的端到端时延之和,/>表示请求-反馈时延的损失因子,/>表示全局资源负载情况评估参数的损失因子,且/>;、/>和/>均是常数值,且/>;
若是当前动作超出资源约束条件,则判定为无效动作,并给予惩罚;否则计算奖励值。
在前述初始解的基础下,每条请求服务链的路由路径都至少有一条可行路径,因此可以对每个微服务的关联时延进行精确的计算。
完成MDJO-PPO模型的训练后,即可通过训练好的MDJO-PPO模型模型求解雾计算网络模型环境下的微服务/数据库/路由路径联合部署策略的决策变量近似最优解。求解过程包括步骤S401~S404。
S401,在状态空间上,观测雾计算网络模型环境的状态,所述状态/>至少包括:当前步观测的雾计算网络模型的状态/>、当前步观测的微服务实例部署状态信息及数据库安置状态信息/>和当前步观测的优化目标信息/>;其中,所述雾计算网络模型的状态/>包括雾计算节点间信息传输带宽速率、全局雾计算节点内存和计算资源占用状态,所述微服务实例部署状态信息及数据库安置状态信息/>包括微服务实例部署决策变量值和数据库安置决策变量值,所述优化目标信息/>包括当前所有请求链的端到端时延总和和所有雾计算节点的资源占用状态;MDJO-PPO模型的状态空间可表述为;
S402,将当前步的所述状态输入训练好的MDJO-PPO模型,得到两个离散的动作概率分布:{/>},从动作概率/>中采样得到微服务部署子动作/>,从动作概率/>中采样得到数据库部署子动作/>,将微服务部署子动作/>和数据库部署子动作/>组合成为动作/>;
可以理解的是,在动作空间上,MDJO-PPO模型将每步的动作设计为两个维度,一个维度表示新增部署某个微服务实例,另一个维度表示调整某个数据库的安置位置。两个维度的动作空间相同,均可以表述为,所以MDJO-PPO的动作空间可表述为/>;
S403,将动作输入到雾计算网络模型环境中得到新状态/>,从所述新状态/>中提取出优化的微服务实例部署决策变量/>和数据库安置决策变量/>;
S404,将波动概率值的连续化取值条件/>转化为离散取值条件,其中/>表示离散化的精细程度,/>为正整数;在离散化取值集合/>中找出使得请求-反馈时延最小的/>取值,采用/>更新所述概率表/>,以获得优化的请求路由决策变量。
本实施例中,采用双分支Actor-Critic网络进行加速计算和变量之间的关联。本发明在传统的PPO模型上进行了部分改进,设计了双分支Actor、Critic网络,Actor网络的双分支经过不同的线性组合和激活层的计算后输出单独的子动作,拼接形成完整的动作空间。这样每个分支的动作空间与雾计算节点数量线性相关,且数据库信息交互时延与雾计算节点间传输时延具有相似的计算方式,每个数据库可以视为单实例的微服务,因此Actor网络的两个分支可以共享部分特征提取层,以在训练过程中进一步加快网络推理和收敛的速度。在后续的经验池采样训练流程中,各分支基于相同的奖励值计算优势函数后并行训练,提升了训练效率。本发明将网络面对的动作空间规模从缩小为/>。网络的结构图如图4所示。
由于改进后得到的MDJO-PPO算法属于多任务学习,在微服务和数据库部署任务间寻求平衡,两个任务共享部分特征与数据,采取了一种loss函数的加权计算方法,基于两个任务的参数与策略的探索程度平衡其loss权重,解决了雾计算协作网络的数据库安置、微服务部署和请求路由联合优化部署难以实现的问题。
图5为本发明实施例提供的一种雾计算中基于强化学习的微服务和数据库联合部署系统结构图,如图5所示,一种雾计算中基于强化学习的微服务和数据库联合部署系统,包括策略创建模块、初始解求解模块、动态调整模块和优化部署模块,其中:
策略创建模块,用于从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;
初始解求解模块,用于采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
动态调整模块,用于基于QTSWLA算法动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;
优化部署模块,用于基于MDJO-PPO算法获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,以得到优化的微服务/数据库/路由路径联合部署策略。
可以理解的是,本发明提供的一种雾计算中基于强化学习的微服务和数据库联合部署系统与前述各实施例提供的雾计算中基于强化学习的微服务和数据库联合部署方法相对应,雾计算中基于强化学习的微服务和数据库联合部署系统的相关技术特征可参考雾计算中基于强化学习的微服务和数据库联合部署方法的相关技术特征,在此不再赘述。
请参阅图6,图6为本发明实施例提供的电子设备的实施例示意图。如图6所示,本发明实施例提供了一种电子设备600,包括存储器610、处理器620及存储在存储器610上并可在处理器620上运行的计算机程序611,处理器620执行计算机程序611时实现以下步骤:
S1,从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;
S2,采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
S3,基于QTSWLA算法动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;
S4,基于MDJO-PPO算法获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,得到优化的微服务/数据库/路由路径联合部署策略。
请参阅图7,图7为本发明提供的一种计算机可读存储介质的实施例示意图。如图7所示,本实施例提供了一种计算机可读存储介质700,其上存储有计算机程序711,该计算机程序711被处理器执行时实现如下步骤:
S1,从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;
S2,采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
S3,基于QTSWLA算法动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;
S4,基于MDJO-PPO算法获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,得到优化的微服务/数据库/路由路径联合部署策略。
本发明实施例提供的一种雾计算中基于强化学习的微服务和数据库联合部署方法、系统、电子设备及存储介质,考虑了微服务与数据库的级联影响关系,提出了一个“以类共享”的数据库存在形式,将数据库放置作为联合优化考虑的一个因素。同时引入了排队论原理,运用网络理论对模型的优化目标进行精细分析。为了处理模型的复杂性和动态性,本发明设计了基于排队论的服务等待损失边际分析算法(QTSWLA),有助于对数量进行动态调整微服务实例。此外,本发明提出了基于强化学习算法PPO改进的多决策联合优化算法MDJO-PPO以获得三个主要决策变量的近似最优解。算法通过将Actor和Critic网络转换为双分支结构,以解决微服务和数据库的部署问题,有效地降低了服务请求反馈延迟。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (6)
1.一种雾计算中基于强化学习的微服务和数据库联合部署方法,其特征在于,包括:
S1,从雾计算网络模型中获取各个雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,以创建微服务/数据库/路由路径联合部署策略;包括:
S101,初始化雾计算网络模型中的所有雾计算节点,获取各个雾计算节点参数信息,所述雾计算节点参数信息至少包括雾计算节点的计算资源、存储资源和通信矩阵;
S102,初始化雾计算网络模型中所有微服务的属性,得到微服务集合,所述微服务的属性至少包括微服务所需的计算资源和依赖的数据;
S103,获取雾计算网络模型中与微服务集合对应的所有数据,得到数据集合;以数据是否重叠作为微服务集合的分类标准,得到多类微服务子集;根据微服务子集与数据的对应关系,按照微服务子集的类别将所述数据集合对应划分为多个单独隔离的数据库,得到数据库集合;
S104,初始化雾计算网络模型中所有微服务请求链,得到微服务请求链集合,所述微服务请求链至少包括微服务的执行顺序、请求到达率、最大容忍时延;
S105,基于所述雾计算节点参数信息、微服务集合、微服务请求链集合和数据库集合,创建基于马尔科夫过程的微服务/数据库/路由路径联合部署策略;
其中,创建的微服务/数据库/路由路径联合部署策略的决策变量在每个时间切片内都由三个决策子变量共同构成,三个所述决策子变量分别为:数据库安置决策变量、微服务实例部署决策变量和请求路由决策变量;
定义微服务实例部署决策变量,以表示部署在雾计算节点/>上的微服务/>的实例数量,j为微服务的种类编号,N为整数;
定义二值数据库安置决策变量,以表示数据库/>是否安置在雾计算节点上,其中,数据库/>是与下一即将执行的微服务/>交互的数据库,n为下一即将执行的微服务/>的种类编号,g为数据库/>的序号;
每个雾计算节点上维护一张路由概率表,以表征每条微服务请求链的路由路径被选择的概率大小,概率表/>作为请求路由决策变量,概率表/>满足下式:
,
其中,是波动概率值,/>;下一个即将执行的微服务/>可能部署到多个雾计算节点上,/>为其中一个可能部署的雾计算节点,m为雾计算节点/>的序号,且,/>为雾计算节点总数;i为当前雾计算节点/>的序号,/>为当前雾计算节点到下一雾计算节点/>执行下一微服务/>的决策权重值,/>为当前雾计算节点/>到下一雾计算节点/>执行下一微服务/>的决策权重值,x为求和的临时变量;
S2,采用贪心算法求解所述微服务/数据库/路由路径联合部署策略的决策变量初始解;
S3,基于QTSWLA算法动态调整所述微服务/数据库/路由路径联合部署策略的全局微服务实例数;包括:
S301,初始化内存资源代价因子、计算资源代价因子/>和排队时延代价因子/>;获取微服务/>实例对应的内存资源/>和计算资源/>;
S302,基于排队理论的M/M/S模型,根据所述微服务请求链集合计算排队时延:
,
其中,为在微服务请求链中微服务/>出现的次数,/>为微服务/>的全局到达率,/>为预设的处理微服务/>的速率,/>为雾计算节点/>上/>的服务强度;
S303,根据内存资源代价因子、内存资源/>、计算资源代价因子/>、计算资源/>、排队时延代价因子/>和排队时延/>,得到当前时间切片内部署/>个微服务/>实例带来的代价总值/>计算式:
;
S304,采用边际分析法,将的值从1开始递增,直到/>的值满足以下关系式,以得到排队时延代价和资源占用代价达到最佳平衡的/>值:
,
其中,表示微服务/>部署的实例数变化带来的排队时延变化;
S305,考虑在获取所述决策变量初始解时每种微服务均已部署1个实例,将计算得到的值减去1,得到待部署的微服务实例数量/>;
S4,基于MDJO-PPO算法获取所述微服务/数据库/路由路径联合部署策略的决策变量近似最优解,得到优化的微服务/数据库/路由路径联合部署策略;包括:
S401,观测雾计算网络模型环境的状态,所述状态/>至少包括:当前步观测的雾计算网络模型的状态/>、当前步观测的微服务实例部署状态信息及数据库安置状态信息和当前步观测的优化目标信息/>;其中,所述雾计算网络模型的状态/>包括雾计算节点间信息传输带宽速率、全局雾计算节点内存和计算资源占用状态,所述微服务实例部署状态信息及数据库安置状态信息/>包括微服务实例部署决策变量值和数据库安置决策变量值,所述优化目标信息/>包括当前所有请求链的端到端时延总和和所有雾计算节点的资源占用状态;
S402,将当前步的所述状态输入训练好的MDJO-PPO模型,得到两个离散的动作概率分布:{/>},从动作概率/>中采样得到微服务部署子动作/>,从动作概率/>中采样得到数据库部署子动作/>,将微服务部署子动作和数据库部署子动作/>组合成为动作/>;
S403,将动作输入到雾计算网络模型环境中得到新状态/>,从所述新状态/>中提取出优化的微服务实例部署决策变量/>和数据库安置决策变量/>;
S404,将波动概率值的连续化取值条件/>转化为离散取值条件,其中/>表示离散化的精细程度,/>为正整数;在离散化取值集合/>中找出使得请求-反馈时延最小的/>取值,采用/>更新所述概率表/>,以获得优化的请求路由决策变量。
2.根据权利要求1所述的一种雾计算中基于强化学习的微服务和数据库联合部署方法,其特征在于,步骤S2,包括:
S201,从所述雾计算节点的通信矩阵中获取信息传输带宽速率矩阵,根据所述信息传输带宽速率矩阵/>计算每个雾计算节点到其他所有雾计算节点的平均带宽值和平均跳转数,对所述平均带宽值和平均跳转数分别进行计算加权值并求和,得到雾计算节点排序分数,按照雾计算节点排序分数从大到小的规则对全部所述雾计算节点排序;
S202,将所述微服务请求链集合中的每条微服务请求链拆分为多条点对点新链,将全部所述点对点新链组成服务链多重集;统计所述服务链多重集中每种微服务作为点对点新链首端的次数,并根据得到的次数对全部微服务进行从大到小排序;
S203,根据排序序号一致的原则,将排序后的微服务按照顺序一一对应部署到排序后的雾计算节点上,且每种微服务仅部署一个实例;
S204,基于贪心原则,根据微服务与数据库的对应关系依次部署各个数据库,使得所有数据库信息交互时延之和达到最低。
3.根据权利要求1所述的一种雾计算中基于强化学习的微服务和数据库联合部署方法,其特征在于,步骤S3,还包括:
S306,将待部署的个微服务实例进行混合、并将其排序随机打乱,得到微服务/>的/>个待部署实例后续的部署顺序。
4.根据权利要求1所述的一种雾计算中基于强化学习的微服务和数据库联合部署方法,其特征在于,还包括对MDJO-PPO模型的构建以及训练过程,具体包括:
构建基于MDJO-PPO架构的Actor-Critic神经网络,其中,Actor神经网络包括Actor-old网络和Actor-new网络,将Actor-Critic神经网络调整为双分支Actor-old、Actor-new、Critic网络,使得Actor网络的双分支经过不同的线性组合和激活层的计算后输出单独的子动作,再将输出的单独子动作拼接形成完整的动作空间;将Actor-Critic神经网络的动作表述为,/>表征微服务部署子动作,/>表征数据库部署子动作,以在每一步同时决定新增微服务的部署位置以及数据库调整后的位置;
将观测得到的当前步的状态输入Actor-new网络,Actor-new网络的每个分支各得到一个离散的动作概率分布,表述为动作概率/>和动作概率/>;从动作概率/>中采样得到微服务部署子动作/>,从动作概率/>中采样得到数据库部署子动作/>,将微服务部署子动作/>和数据库部署子动作/>组合成为动作/>;
将动作输入到雾计算网络模型环境中得到下一步状态/>和奖励值/>,通过critic网络输出当前步的状态价值/>以及经验值/>,其中,/>为双分支下的动作概率对数之和,根据log法则计算得到:
,
各分支基于相同的奖励值计算优势函数后,根据训练过程的反向传播,采用状态价值以及经验值/>、按照PPO策略对网络的各分支并行训练,得到更新的MDJO-PPO模型。
5.根据权利要求4所述的一种雾计算中基于强化学习的微服务和数据库联合部署方法,其特征在于,所述优化目标为使损失函数最小化,所述损失函数设置为请求-反馈时延和全局雾计算节点资源占用率方差,所述奖励值的计算式设置为与所述损失函数负相关的奖励函数。
6.根据权利要求5所述的一种雾计算中基于强化学习的微服务和数据库联合部署方法,其特征在于,所述MDJO-PPO模型每一步的奖励函数计算过程为:
添加约束条件的加权值到奖励函数中,得到拉格朗日函数:
,
其中,为 当前约束下的奖励计算函数,π为当前部署策略,/>为 原奖励函数,/>为约束函数,M为 内存资源,C为计算资源,/>为当前部署策略下已经占用的内存资源,/>为当前部署策略下已经占用的计算资源,/>为约束值,/>为节点的内存资源,/>为节点的计算资源,/>为拉格朗日乘子;
通过下式求解最优拉格朗日乘子:
,
其中,,表示/>的学习率,/>;
基于求解的最优拉格朗日乘子,计算所述MDJO-PPO模型每一步的奖励值/>。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410113493.3A CN117640413B (zh) | 2024-01-26 | 2024-01-26 | 雾计算中基于强化学习的微服务和数据库联合部署方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410113493.3A CN117640413B (zh) | 2024-01-26 | 2024-01-26 | 雾计算中基于强化学习的微服务和数据库联合部署方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117640413A CN117640413A (zh) | 2024-03-01 |
CN117640413B true CN117640413B (zh) | 2024-04-26 |
Family
ID=90018515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410113493.3A Active CN117640413B (zh) | 2024-01-26 | 2024-01-26 | 雾计算中基于强化学习的微服务和数据库联合部署方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117640413B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981789A (zh) * | 2019-04-03 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于代理模式的微服务引擎 |
CN114338504A (zh) * | 2022-03-15 | 2022-04-12 | 武汉烽火凯卓科技有限公司 | 一种基于网络边缘系统的微服务部署和路由方法 |
KR20220058358A (ko) * | 2020-10-30 | 2022-05-09 | 광주과학기술원 | 마이크로 서비스 배치장치 및 마이크로 서비스 배치방법 |
CN115883635A (zh) * | 2022-11-11 | 2023-03-31 | 埃夫特智能装备股份有限公司 | 一种异构形态的多实例多数据源微服务系统及方法 |
CN116455794A (zh) * | 2023-01-13 | 2023-07-18 | 中国工商银行股份有限公司 | 微服务节点的调试方法、装置、设备及存储介质 |
WO2023185090A1 (zh) * | 2022-03-30 | 2023-10-05 | 深圳先进技术研究院 | 基于微服务链路分析和强化学习的调度方法及装置 |
CN116915686A (zh) * | 2023-09-08 | 2023-10-20 | 三峡高科信息技术有限责任公司 | 异构多边缘云协同微服务部署与路由联合优化方法及系统 |
CN117041330A (zh) * | 2023-10-10 | 2023-11-10 | 三峡高科信息技术有限责任公司 | 一种基于强化学习的边缘微服务细粒度部署方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10356213B2 (en) * | 2017-03-17 | 2019-07-16 | International Business Machines Corporation | Automatic interdependency resolution for micro-service deployments |
-
2024
- 2024-01-26 CN CN202410113493.3A patent/CN117640413B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981789A (zh) * | 2019-04-03 | 2019-07-05 | 山东浪潮云信息技术有限公司 | 一种基于代理模式的微服务引擎 |
KR20220058358A (ko) * | 2020-10-30 | 2022-05-09 | 광주과학기술원 | 마이크로 서비스 배치장치 및 마이크로 서비스 배치방법 |
CN114338504A (zh) * | 2022-03-15 | 2022-04-12 | 武汉烽火凯卓科技有限公司 | 一种基于网络边缘系统的微服务部署和路由方法 |
WO2023185090A1 (zh) * | 2022-03-30 | 2023-10-05 | 深圳先进技术研究院 | 基于微服务链路分析和强化学习的调度方法及装置 |
CN115883635A (zh) * | 2022-11-11 | 2023-03-31 | 埃夫特智能装备股份有限公司 | 一种异构形态的多实例多数据源微服务系统及方法 |
CN116455794A (zh) * | 2023-01-13 | 2023-07-18 | 中国工商银行股份有限公司 | 微服务节点的调试方法、装置、设备及存储介质 |
CN116915686A (zh) * | 2023-09-08 | 2023-10-20 | 三峡高科信息技术有限责任公司 | 异构多边缘云协同微服务部署与路由联合优化方法及系统 |
CN117041330A (zh) * | 2023-10-10 | 2023-11-10 | 三峡高科信息技术有限责任公司 | 一种基于强化学习的边缘微服务细粒度部署方法及系统 |
Non-Patent Citations (2)
Title |
---|
Joint Optimization of Service Deployment and Request Routing for Microservices in Mobile Edge Computing;彭凯;IEEE TRANSACTIONS ON SERVICES COMPUTING;20240103;全文 * |
一种面向SDN/NFV的多目标优化服务功能链部署策略;李国燕;任雅娟;刘毅;乔富强;刘艺柱;;传感器与微系统;20200826(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117640413A (zh) | 2024-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111858009B (zh) | 基于迁移和强化学习的移动边缘计算系统任务调度方法 | |
Zhang et al. | Task offloading method of edge computing in internet of vehicles based on deep reinforcement learning | |
Chen et al. | Deep reinforcement learning for computation offloading in mobile edge computing environment | |
CN109818786B (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
CN114338504B (zh) | 一种基于网络边缘系统的微服务部署和路由方法 | |
Xu et al. | Multiobjective computation offloading for workflow management in cloudlet‐based mobile cloud using NSGA‐II | |
Sun et al. | Cloud-edge collaboration in industrial internet of things: A joint offloading scheme based on resource prediction | |
Zhang et al. | A new task offloading algorithm in edge computing | |
Huang et al. | A lightweight collaborative deep neural network for the mobile web in edge cloud | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
Wang et al. | Net-in-AI: A computing-power networking framework with adaptability, flexibility, and profitability for ubiquitous AI | |
CN103092683A (zh) | 用于数据分析的基于启发式的调度 | |
Zhou et al. | Deep reinforcement learning-based methods for resource scheduling in cloud computing: A review and future directions | |
CN113098714A (zh) | 一种基于深度强化学习的低时延网络切片的方法 | |
CN113220356A (zh) | 一种移动边缘计算中的用户计算任务卸载方法 | |
Huang et al. | Enabling DNN acceleration with data and model parallelization over ubiquitous end devices | |
Qi et al. | Deep reinforcement learning based task scheduling in edge computing networks | |
Yuan et al. | Profit-optimized computation offloading with autoencoder-assisted evolution in large-scale mobile-edge computing | |
CN113190342B (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 | |
Tao et al. | Drl-driven digital twin function virtualization for adaptive service response in 6g networks | |
Moghaddasi et al. | Blockchain-driven optimization of IoT in mobile edge computing environment with deep reinforcement learning and multi-criteria decision-making techniques | |
Liu et al. | Service chain caching and workload scheduling in mobile edge computing | |
CN117640413B (zh) | 雾计算中基于强化学习的微服务和数据库联合部署方法 | |
Talha et al. | A chaos opposition‐based dwarf mongoose approach for workflow scheduling in cloud | |
Zhang et al. | Resource and delay aware fine-grained service offloading in collaborative edge computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |