一种基于边缘服务器的微服务自动伸缩方法及系统与流程

文档序号:41542582发布日期:2025-04-07 23:23阅读:10来源:国知局
一种基于边缘服务器的微服务自动伸缩方法及系统与流程

本发明涉及边缘计算,尤其涉及一种基于边缘服务器的微服务自动伸缩方法及系统。


背景技术:

1、移动边缘计算(mec)将计算和存储部署在靠近数据源的位置,是一种创新的计算架构,边缘计算通过在网络边缘处理数据,显著降低了延迟,增强了实时响应能力,降低了中心网络压力。因此,边缘计算特别适合需要即时处理和行动的应用场景,如自动驾驶、工业自动化和智慧城市等。边缘计算还通过将敏感数据保留在数据源附近,减少其暴露风险,从而一定程度上解决了隐私和安全问题。微服务架构是一种现代软件开发方法,它将应用程序结构化为一组松散耦合、独立部署的微服务,每个微服务承担一个独立的业务,并通过定义良好的api与其他微服务通信,这些api通常使用轻量级协议如http/rest或grpc。微服务架构的优势包括模块化、可扩展性和弹性,模块化是指每个微服务可以独立开发、独立部署;可扩展性是指应用在更新迭代的时候只需要对相应的微服务进行升级,而不需要改动其他微服务;弹性是指企业可以根据现实情况,快速增加或者减少微服务实例以应对服务请求的动态性。由于以上优点,微服务架构已成为现代云原生应用程序的首选。

2、边缘计算和微服务架构的结合汇集了两者的优点,为解决目前大规模,高并发的服务需求提供了新的思路,然而,这种集成也带来了新的挑战,特别是在资源管理和性能优化方面。首先,边缘服务器的资源有限,使得资源调度更加困难;其次,在边缘计算中,微服务之间的依赖关系更加复杂;再者,边缘环境具有很强的动态性,微服务部署需要实时调整以应对动态的服务请求。而解决上述问题的重要方法是微服务自动伸缩(autoscaling),即根据实时请求需求自动调整运行中的微服务实例数量。然而,目前大部分研究考虑的微服务自动伸缩是基于单一服务器完成的,类似于云计算中的微服务自动伸缩,但是,边缘服务器由于资源受限,上述策略往往难以取得理想效果。因此,为了解决上述问题。亟需一种应对边缘计算中的请求需要的微服务伸缩策略以,以解决边缘服务器资源受限,适应微服务的复杂调用关系和边缘环境中的请求动态性。


技术实现思路

1、本发明的目的是克服现有技术中存在的集成边缘计算和微服务架构的系统中,边缘服务器的资源有限资源调度困难、边缘计算中微服务之间的依赖关系复杂、微服务部署难以实时调整以应对动态的服务请求的问题,提供了一种基于边缘服务器的微服务自动伸缩方法及系统。

2、为实现以上目的,本发明的技术解决方案是:第一方面,本发明提供了一种基于边缘服务器的微服务自动伸缩方法,包括以下步骤:

3、s1、构建服务器集群,所述服务器集群中包括多个距离相近的边缘服务器,多个所述边缘服务器通过基站通信;

4、s2、构建基于a3c网络的微服务实例伸缩算法,以服务时延、能耗、动态损失总体最小为目标,构建微服务实例伸缩算法的目标函数及约束条件;

5、s3、通过所述微服务实例伸缩算法控制服务器集群的微服务自动伸缩调整。

6、所述步骤s3中,通过所述微服务实例伸缩算法控制服务器集群的微服务自动伸缩调整包括:

7、在每一个预设时间段开始时,基于上一个预设时间段服务器集群中各边缘服务器的状态数据,对微服务实例伸缩算法进行训练,以更新所述微服务实例伸缩算法的网络参数;

8、每一个所述预设时间段中包括多个连续的子时间段,在子时间段开始时,所述微服务实例伸缩算法根据前几个子时间段服务器集群中各边缘服务器的状态数据计算下一个子时间段的微服务实例自动伸缩策略。

9、所述微服务实例伸缩算法部署在主服务器上,所述主服务器为服务器集群中的一个边缘服务器。

10、所述目标函数为:

11、

12、式中,tlatency(l)为子时间段l的总服务响应延迟;ecost(l)为子时间段l的能耗总和;dcost(l)为子时间段l的动态损失;α、β、γ分别为总服务响应延迟、能耗总和、动态损失的权重;l为一个预设时间段中包含的子时间段的总数量;

13、所述微服务实例伸缩算法的约束条件为:

14、

15、式中,我们利用一个无向图h(e,v)来表示边缘服务器的分布;用s=[s1,s2,…,si]表示微服务的集合;用e=[e1,e2,…,em]表示集群中边缘服务器的集合;si.cpu表示部署一个si实例所需的计算资源,si.mem表示部署一个si实例所需的内存资源;表示在子时间段l时部署在边缘服务器em上的si实例数量;表示在子时间段l时部署在边缘服务器en上的si实例数量;em·cpu表示边缘服务器em的最大计算资源约束,em.mem表示服务器em的最大内存约束;表示子时间段l时si实例在边缘服务器em上的负载;ρmax表示负载阈值;

16、所述负载的计算公式如下:

17、

18、式中,λi,m(l)表示子时间段l时si实例在边缘服务器em上的到达率;μi,m(l)表示子时间段l时si实例在边缘服务器em上的服务率。

19、所述目标函数中,总服务延迟tlatency(l)的计算公式如下:

20、

21、式中,为子时间段l中请求在在边缘服务器em中的服务响应延迟,为子时间段l中从边缘服务器em到达的请求的到达率;

22、对于请求的服务响应延迟,是该请求的传输延迟和处理延迟的总和,因此,服务响应延迟的计算公式如下:

23、

24、式中,∑tt(l)为请求的传输延迟的总和;∑tp(l)表示请求的处理延迟的总和;

25、我们将应用请求表示为r=[r1,r2,…,rk],对于所述子时间段l中的请求rk,请求rk为部署在边缘服务器em上的微服务si调用部署在边缘服务器en上的微服务调用微服务sj,则所述请求rk的传输延迟tt(l)和处理延迟tp(l)的计算公式如下:

26、

27、式中,data i,j为部署在边缘服务器em上的微服务si调用部署在边缘服务器en上的微服务调用微服务sj的数据大小;vm,n为表示边缘服务器em与en之间的传输速率;为请求rk的最终执行时延;tq为请求rk的排队时延;为边缘服务器em中微服务si的平均到达率;lq为服务队列长度;

28、所述目标函数中,能耗总和ecost(l)的计算公式如下:

29、

30、式中,pm(l)为子时间段l中边缘服务器em的能耗,pstartup为子时间段l中边缘服务器em的启动能耗;为子时间段l中边缘服务器em的实例能耗;当边缘服务器em中没有实例时,边缘服务器em能耗pm为0;

31、所述目标函数中,动态损失dcost(l)的计算公式如下:

32、

33、式中,c为创建或删除实例的动态成本,该动态成本为常数;为前一个子时间段(l-1)时部署在边缘服务器em上的si实例数量。

34、所述微服务实例伸缩算法的强化学习奖励函数r为:

35、r=-(ra+rp);

36、ra=αtlatency+βecost+γdcost;

37、式中,ra为服务时延,rp为失败调整的惩罚,rp为一个较大的正数。

38、在预设时间段中的第一个子时间段开始时,根据以下方法部署微服务实例;

39、s301、将所有的请求按顺序排列;

40、s302、对于每一段请求,计算该段请求中所有微服务需要的实例个数,以最小化实例所在的边缘服务器之间的距离为目标,采用贪心的策略将该段请求需要的实例依次部署到可用的边缘服务器上。

41、第二方面,本发明提供了一种基于边缘服务器的微服务自动伸缩系统,包括

42、集群构建模块,用于构建服务器集群,所述服务器集群中包括多个距离相近的边缘服务器,多个所述边缘服务器通过基站通信;

43、伸缩算法构建模块,用于构建基于a3c网络的微服务实例伸缩算法,以服务时延、能耗、动态损失总体最小为目标,构建微服务实例伸缩算法的目标函数及约束条件;

44、控制模块,用于通过所述微服务实例伸缩算法控制服务器集群的微服务自动伸缩调整。

45、第三方面,本发明实施例提供了一种电子设备,电子设备包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述的基于边缘服务器的微服务自动伸缩方法中的步骤。

46、第四方面,本发明实施例提供了计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的基于边缘服务器的微服务自动伸缩方法中的步骤。

47、与现有技术相比,本发明的有益效果为:

48、1、本发明一种基于边缘服务器的微服务自动伸缩方法中,包含多个边缘服务器的集群中,选取一个边缘服务器作为该集群的主服务器,基于强化学习的微服务实例伸缩算法部署在主服务器上,主服务器实时获取集群中各边缘服务器的微服务数据,基于各边缘服务器的微服务数据,运行基于强化学习的微服务实例伸缩算法,以执行微服务自动伸缩;同时,智能体根据各边缘服务器反馈的微服务数据,以一定的频率运行算法的学习程序,以更新基于强化学习的微服务实例伸缩算法的网络参数,保证网络参数实时更新,并以最新的网络参数来计算部署策略。本设计中的微服务自动伸缩方法考虑的是长期优化,考虑了动态场景(服务请求实时变化,需要实时调整微服务实例部署),以达到动态场景下的最优部署。因此,本发明考虑长期优化,定期更新基于强化学习的微服务实例伸缩算法的网络参数,保证网络参数实时更新,达到动态场景下的最优部署。

49、2、本发明一种基于边缘服务器的微服务自动伸缩方法中基于强化学习的微服务实例伸缩算法的目标函数以服务时延、能耗、动态损失总体最小为目标构建,算法的优化目标是对所有时间段的时延,能耗,动态损失等进行平均,寻求总体最优。因此,本发明能够针对所有时间段的时延,能耗,动态损失等寻求总体最优。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1