边缘计算的服务实例跨节点伸缩方法和装置制造方法及图纸

技术编号:24682373 阅读:21 留言:0更新日期:2020-06-27 07:43
本申请涉及一种边缘计算的服务实例跨节点伸缩方法和装置。所述方法包括:接收服务实例的伸缩请求,根据伸缩请求,获取当前边缘计算节点的第一排队时延和目标边缘计算节点的第二排队时延,根据第一排队时延和第二排队时延,确定服务实例进行作业的平均时延,根据平均时延、当前边缘计算节点的性能参数以及目标边缘计算节点的性能参数,构建决策模型,根据决策模型,确定伸缩请求对应的伸缩行为,伸缩行为包括:服务实例复制、服务实例扩展、服务实例迁移以及服务实例合并,根据伸缩行为进行服务实例跨节点伸缩。采用本方法能够在节点伸缩时大幅度减小用户服务中断时间。

A method and device for scaling service instances across nodes in edge computing

【技术实现步骤摘要】
边缘计算的服务实例跨节点伸缩方法和装置
本申请涉及计算机
,特别是涉及一种边缘计算的服务实例跨节点伸缩方法和装置。
技术介绍
微服务架构是当前软件开发使用的主流架构之一,相比于传统的单体式软件开发方法,其可以将一个大型软件分解为若干具有特定功能的服务模块,并进行独立的部署和运维,因此具有易伸缩,模块化程度高,方便按需部署等优点,被广泛应用于分布式软件的开发中。随着边缘计算的不断发展,微服务架构不断与边缘计算模式相融合,基于微服务架构设计的服务模块被大量部署于云端和边缘计算节点上,采用分布式的方式,向用户就近按需提供相应的服务,逐渐成为了边缘计算中采用的主流技术之一。通常情况下,每个服务模块部署于一个单独的“容器(Docker)”中,从而实现了资源和环境的隔离,使得服务的按需部署和灵活运维成为了可能,以下将服务模块与承载它的容器合称为一个服务实例,如图1所示,展示了传统技术中边缘计算架构。近年来,随着物联网(IoT)、车联网、虚拟增强现实(AR/VR)等新型业务的发展,用户终端逐渐从PC和智能手机,延伸到了传感器、汽车、无人机等设备中,导致用户节点的移动性大大增加,同时也导致了整个网络的拓扑和状态产生了剧烈的变化,网络弱连接或间歇连接的状况时有发生,连接的质量和速率亦大幅波动,使得边缘计算和微服务的应用场景,逐渐由传统的静态网络演化到动态网络,进而对于其采用的各项技术提出了更加严峻的挑战。然而,微服务架构最初是为可靠网络设计的软件架构,在动态网络中使用时,则逐渐暴露出了以下几个问题:(1)首先,微服务架构虽然具备较为完备的高可用、多实例和透明重连机制,然而其主要关注服务层面的服务治理和运维,对于网络层面的拓扑变化,连接状态变化等缺少相应的监测机制和应对机制,因此,难以及时观察到网络状态的变化并做出有效的应对;(2)其次,微服务架构虽然具有较为初步的按需部署和自适应伸缩机制,但是由于其设计为在可靠网络中应用,服务实例无法根据用户的移动性及时调整当前的部署位置,因此降低了服务的可用性和服务质量;(3)最后,当前的微服务架构缺少服务实例的跨节点调度算法,无法根据当前的网络状态,各个边缘计算节点的资源状况以及用户的服务需求,对服务实例的最优部署位置进行计算,并对调度行为进行判断,因此,难以实现服务质量的最优化,和系统运维成本的最小化。为了解决上述问题,传统技术中仅考虑如何对服务实例进行调度,没有综合考虑到服务实例迁移时的开销问题,导致服务中断时间长。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够解决服务实例跨节点伸缩导致服务中断时间长问题的边缘计算的服务实例跨节点伸缩方法和装置。一种边缘计算的服务实例跨节点伸缩方法,所述方法包括:接收服务实例的伸缩请求;所述服务实例配置在边缘计算节点的容器中;根据所述伸缩请求,获取当前边缘计算节点的第一排队时延和目标边缘计算节点的第二排队时延;根据所述第一排队时延和所述第二排队时延,确定所述服务实例进行作业的平均时延;根据所述平均时延、所述当前边缘计算节点的性能参数以及所述目标边缘计算节点的性能参数,构建决策模型;根据所述决策模型,确定所述伸缩请求对应的伸缩行为;所述伸缩行为包括:服务实例复制、服务实例扩展、服务实例迁移以及服务实例合并;根据所述伸缩行为进行服务实例跨节点伸缩。在其中一个实施例中,所述伸缩行为是服务实例复制时;还包括:通过容器的CRIU机制,给待复制的当前服务实例设置Checkpoint指令,将Checkpoint指令传输至目标边缘计算节点;通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到复制后的目标服务实例;所述目标服务实例与所述当前服务实例共享同一挂载卷;释放所述当前服务实例中的预先保留的用户业务请求,将所述用户业务请求迁移至所述目标服务实例中。在其中一个实施例中,所述伸缩行为是服务实例扩展;还包括:通过容器的CRIU机制,给待扩展的当前服务实例设置Checkpoint指令,对所述当前服务实例的挂载卷进行复制;根据所述Checkpoint指令和复制得到的挂载卷,确定是否满足服务实例重建条件;当满足服务实例重建条件时,保留所述当前服务实例中的一部分用户请求,将所述Checkpoint指令和复制得到的挂载卷发送至目标边缘计算节点;通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到目标服务实例;释放保留的一部分用户请求,并将保留的一部分用户请求迁移至目标服务实例中。在其中一个实施例中,还包括:根据所述Checkpoint指令和复制得到的挂载卷与上一时刻生成的Checkpoint指令和复制得到的挂载卷进行比较,得到容量差异;当所述容量差异小于预先设置的阈值时,则确定满足服务实例重建条件;当所述容量差异大于预先设置的阈值时,则确定不满足服务实例重建条件,并且将生成Checkpoint指令和复制得到的挂载卷保存为上一时刻生成的Checkpoint指令和复制得到的挂载卷。在其中一个实施例中,所述伸缩行为是服务实例迁移;还包括:通过容器的CRIU机制,给待迁移的当前服务实例设置Checkpoint指令,对所述当前服务实例的挂载卷进行复制;根据所述Checkpoint指令和复制得到的挂载卷,确定是否满足服务实例重建条件;当满足服务实例重建条件时,保留所述当前服务实例中的全部用户请求,将所述Checkpoint指令和复制得到的挂载卷发送至目标边缘计算节点;通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到目标服务实例;释放保留的全部用户请求,并将保留的全部用户请求迁移至目标服务实例中。在其中一个实施例中,所述伸缩行为是服务实例合并;还包括:通过容器的CRIU机制,给待合并的第一服务实例和第二服务实例设置Checkpoint指令,对所述第一服务实例和第二服务实例的挂载卷进行复制;将所述Checkpoint指令和复制后得到的挂载卷,计算迁移所需的数据量;根据所述数据量,确定是否满足服务实例的新建条件;当满足服务实例的新建条件时,保留所述第一服务实例和所述第二服务实例中的全部用户请求;将所述Checkpoint指令和复制后得到的挂载卷发送至目标边缘计算节点,在所述目标边缘计算节点中对所述Checkpoint指令和复制后得到的挂载卷分别进行合并;通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到目标服务实例;释放保留的所述第一服务实例和所述第二服务实例中的全部用户请求,并将保留的全部用户请求迁移至目标服务实例中,以及对所述第一服务实例和所述第二服务实例的服务网关对所述目标服务实例的用户业务进行分配。在其中一个实施例中,还包括:当所述数据量小于阈值时,则满足服务实例的新建条件;当所述数据量大于阈值时,则不满足服务实例的新建条件,将所述Checkpoint指令和复制后得到的挂载卷传输至所述目标边缘计算节点,在所述目标边缘计算节点中对所述Checkpoint指令本文档来自技高网
...

【技术保护点】
1.一种边缘计算的服务实例跨节点伸缩方法,所述方法包括:/n接收服务实例的伸缩请求;所述服务实例配置在边缘计算节点的容器中;/n根据所述伸缩请求,获取当前边缘计算节点的第一排队时延和目标边缘计算节点的第二排队时延;/n根据所述第一排队时延和所述第二排队时延,确定所述服务实例进行作业的平均时延;/n根据所述平均时延、所述当前边缘计算节点的性能参数以及所述目标边缘计算节点的性能参数,构建决策模型;/n根据所述决策模型,确定所述伸缩请求对应的伸缩行为;所述伸缩行为包括:服务实例复制、服务实例扩展、服务实例迁移以及服务实例合并;/n根据所述伸缩行为进行服务实例跨节点伸缩。/n

【技术特征摘要】
1.一种边缘计算的服务实例跨节点伸缩方法,所述方法包括:
接收服务实例的伸缩请求;所述服务实例配置在边缘计算节点的容器中;
根据所述伸缩请求,获取当前边缘计算节点的第一排队时延和目标边缘计算节点的第二排队时延;
根据所述第一排队时延和所述第二排队时延,确定所述服务实例进行作业的平均时延;
根据所述平均时延、所述当前边缘计算节点的性能参数以及所述目标边缘计算节点的性能参数,构建决策模型;
根据所述决策模型,确定所述伸缩请求对应的伸缩行为;所述伸缩行为包括:服务实例复制、服务实例扩展、服务实例迁移以及服务实例合并;
根据所述伸缩行为进行服务实例跨节点伸缩。


2.根据权利要求1所述的方法,其特征在于,所述伸缩行为是服务实例复制时;
所述根据所述伸缩行为进行服务实例跨节点伸缩,包括:
通过容器的CRIU机制,给待复制的当前服务实例设置Checkpoint指令,将Checkpoint指令传输至目标边缘计算节点;
通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到复制后的目标服务实例;所述目标服务实例与所述当前服务实例共享同一挂载卷;
释放所述当前服务实例中的预先保留的用户业务请求,将所述用户业务请求迁移至所述目标服务实例中。


3.根据权利要求1所述的方法,其特征在于,所述伸缩行为是服务实例扩展;
所述根据所述伸缩行为进行服务实例跨节点伸缩,包括:
通过容器的CRIU机制,给待扩展的当前服务实例设置Checkpoint指令,对所述当前服务实例的挂载卷进行复制;
根据所述Checkpoint指令和复制得到的挂载卷,确定是否满足服务实例重建条件;
当满足服务实例重建条件时,保留所述当前服务实例中的一部分用户请求,将所述Checkpoint指令和复制得到的挂载卷发送至目标边缘计算节点;
通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到目标服务实例;
释放保留的一部分用户请求,并将保留的一部分用户请求迁移至目标服务实例中。


4.根据权利要求3所述的方法,其特征在于,所述根据所述Checkpoint指令和复制得到的挂载卷,确定是否满足服务实例重建条件,包括:
根据所述Checkpoint指令和复制得到的挂载卷与上一时刻生成的Checkpoint指令和复制得到的挂载卷进行比较,得到容量差异;
当所述容量差异小于预先设置的阈值时,则确定满足服务实例重建条件;
当所述容量差异大于预先设置的阈值时,则确定不满足服务实例重建条件,并且将生成Checkpoint指令和复制得到的挂载卷保存为上一时刻生成的Checkpoint指令和复制得到的挂载卷。


5.根据权利要求3所述的方法,其特征在于,所述伸缩行为是服务实例迁移;
所述根据所述伸缩行为进行服务实例跨节点伸缩,包括:
通过容器的CRIU机制,给待迁移的当前服务实例设置Checkpoint指令,对所述当前服务实例的挂载卷进行复制;
根据所述Checkpoint指令和复制得到的挂载卷,确定是否满足服务实例重建条件;
当满足服务实例重建条件时,保留所述当前服务实例中的全部用户请求,将所述Checkpoint指令和复制得到的挂载卷发送至目标边缘计算节点;
通过容器的CRIU机制,在所述目标边缘计算节点执行restore指令,得到目标服务实例;
释放保留的全部用户请求,并将保留的全部用户请求迁移至目标服务实例中。


6.根据权利要求1所述的方法,其特征在于,所述伸缩行为是服务实例合并;
所述根据所述伸缩行为进...

【专利技术属性】
技术研发人员:李焓丹陈顺黄廖若宋爽寇力熊原
申请(专利权)人:长沙市源本信息科技有限公司
类型:发明
国别省市:湖南;43

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

1