CN113014659B - 微服务迁移方法、装置及存储介质和电子设备 - Google Patents
微服务迁移方法、装置及存储介质和电子设备 Download PDFInfo
- Publication number
- CN113014659B CN113014659B CN202110262693.1A CN202110262693A CN113014659B CN 113014659 B CN113014659 B CN 113014659B CN 202110262693 A CN202110262693 A CN 202110262693A CN 113014659 B CN113014659 B CN 113014659B
- Authority
- CN
- China
- Prior art keywords
- micro
- service
- migration
- edge server
- function chain
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
- G06F9/4862—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration the task being a mobile agent, i.e. specifically designed to migrate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提出微服务迁移方法、装置及可读存储介质和电子设备。方法包括:当需要对微服务功能链上的微服务进行边缘服务器迁移时,以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器。本发明实施例实现了微服务功能链的微服务迁移,且,在满足微服务功能链的服务时延的约束条件下,最小化了微服务的迁移与部署成本。
Description
技术领域
本发明涉及移动边缘技术领域,尤其涉及微服务迁移方法、装置及存储介质和电子设备。
背景技术
虚拟现实、物联网和可穿戴设备等应用程序对延迟提出了更高的要求。移动边缘计算将远端中心云的计算服务部分转移到以蜂窝基站和WI-FI(WIreless FIdelity,无线保真)接入点为代表的边缘网络中,能够为用户提供“更近”的IT服务环境和计算服务,有效地减少时延和拥塞。微服务体系架构将单体式网络服务分解为一组可以独立执行和部署的轻量级微服务,并基于用户需求,通过微服务功能链技术动态地将多个微服务串联为功能更为强大的服务。将微服务分布式部署在边缘云上,不仅可以提供低延迟的临近服务,更增强了应用和管理的灵活性和可扩展性。
服务迁移是移动边缘计算中的重要问题。一个边缘服务器的覆盖范围是有限的,但用户是可移动的。当用户移动位置超出边缘服务器所连基站的覆盖范围后,服务时延增大,将导致严重的服务降级或服务中断问题。因此,采用服务迁移将正在运行的服务从源边缘服务器迁移到用户附近的目标边缘服务器,是解决上述问题的有效手段。传统服务迁移技术往往以单服务为对象,以缩小单个服务与用户之间的时延为目标,进行服务迁移。然而,基于微服务功能链串联起来的多个微服务相互依赖相互协作,该场景下的微服务迁移解决方案是目前亟需的。
发明内容
本发明实施例提出微服务迁移方法、装置及可读存储介质和电子设备,以实现微服务功能链的微服务迁移。
本发明实施例的技术方案是这样实现的:
一种微服务迁移方法,该方法包括:
当需要对微服务功能链上的微服务进行边缘服务器迁移时,以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器。
所述总迁移成本通过如下方式计算:
计算每个微服务的迁移成本,包括:在目标边缘服务器上重启该微服务所需要的计算资源值以及将该微服务从原边缘服务器迁移到目标边缘服务器所需要的时长;
计算微服务功能链上发生迁移的所有微服务的迁移成本之和,该和值等于所述总迁移成本。
所述微服务功能链的总服务时延等于如下三个值之和:
微服务功能链在迁移前已经运行的时长、微服务功能链完成迁移后还未运行的所有微服务将花费的运行时长、微服务功能链上的最后一个微服务将服务运行结果传输给用户终端所需要的时长。
所述为微服务器功能链上的各微服务选择目标边缘服务器包括:
第一步:初始化迭代次数j=1和最大迭代次数J;
第二步:根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务,在边缘服务器集合中随机选择一个边缘服务器作为第一微服务的目标边缘服务器,且,保持除第一微服务外的其他微服务的目标边缘服务器与上一迭代过程相同,则得到本次迭代过程的微服务功能链上各微服务的目标边缘服务器集合Dj;判断在Dj下是否同时满足如下两个约束条件:微服务功能链的总服务时延小于第一阈值、且每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限,若满足,则保持Dj不变,转至第三步;若不满足,令Dj=Dj-1,其中,Dj-1为上次迭代过程得到的微服务功能链上各微服务的目标服务器集合,转至第三步;
第三步,判断j=J是否成立,若成立,确定使用Dj对该微服务功能链上的各微服务进行边缘服务器迁移,本流程结束;否则,令j=j+1,返回第二步。
在所述第二步中,所述根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务包括:
其中,σ为迁移前微服务功能链上正在运行的微服务的编号;n为微服务的编号;N为微服务功能链上的服务总数,且按照微服务的运行顺序依次为微服务功能链上的各微服务从1开始依次进行编号;P(n)为选中概率,其中,Cn为重启微服务n所需要的计算资源值。
在所述第二步中,若满足之后、转至第三步之前,进一步包括:
计算Dj对应的总迁移成本Uj,计算Uj-Uj-1,其中,Uj-1为Dj-1对应的总迁移成本;
根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj;
若确定保留Dj,则转至第三步;若确定不保留Dj,则令Dj=Dj-1,转至第三步。
在所述第二步中,所述根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj包括:
一种微服务迁移装置,该装置包括:
迁移触发模块:当检测到需要对微服务功能链上的微服务进行边缘服务器迁移时,向迁移计算模块发送启动指令;
迁移计算模块:当接收到迁移触发模块发来的启动指令时,以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器。
一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行如上任一项所述的微服务迁移方法的步骤。
一种电子设备,包括如上所述的非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
本发明实施例实现了微服务功能链的微服务迁移,且,在满足微服务功能链的服务时延的约束条件下,最小化了微服务的迁移与部署成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的微服务迁移方法流程图;
图2为本发明另一实施例提供的微服务迁移方法流程图;
图3为本发明又一实施例提供的微服务迁移方法流程图;
图4为本发明实施例提供的微服务迁移装置的结构示意图;
图5为本发明实施例提供的一种电子设备的示例性结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
下面以具体实施例对本发明的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
由于基于微服务功能链串联起来的多个微服务相互依赖、相互协作,因此在对微服务进行迁移时,需要协同考虑微服务功能链上微服务之间的依赖关系、用户当前位置和移动边缘环境的资源分布,对微服务功能链上的多个微服务进行按需协同迁移,因此,传统方法难以取得好的效果。本发明将综合考虑上述因素,提供满足服务时延约束,并最小化迁移与部署成本的微服务迁移方案。
图1为本发明一实施例提供的微服务迁移方法流程图,其具体步骤如下:
步骤101:确定要对微服务功能链上的微服务进行边缘服务器迁移。
具体地,当检测到微服务功能链的服务用户的移动位置超出微服务功能链上的微服务所在的边缘服务器所连基站的覆盖范围时,确定要对微服务功能链上的微服务进行边缘服务器迁移。
步骤102:以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器。
通过上述实施例,实现了微服务功能链的微服务迁移,且,在满足微服务功能链的服务时延的约束条件下,最小化了微服务的迁移与部署成本。
一可选实施例中,总迁移成本通过如下方式计算:
第一步,计算每个微服务的迁移成本,包括:在目标边缘服务器上重启该微服务所需要的计算资源值以及将该微服务从原边缘服务器迁移到目标边缘服务器所需要的时长;
第二步,计算微服务功能链上发生迁移的所有微服务的迁移成本之和,该和值等于所述总迁移成本。
一可选实施例中,微服务功能链的总服务时延等于如下三个值之和:
微服务功能链在迁移前已经运行的时长、微服务功能链完成迁移后还未运行的所有微服务将花费的运行时长、微服务功能链上的最后一个微服务将服务运行结果传输给用户终端所需要的时长。
图2为本发明另一实施例提供的微服务迁移方法流程图,其具体步骤如下:
步骤201:确定要对微服务功能链上的微服务进行边缘服务器迁移。
步骤202:初始化迭代次数j=1和最大迭代次数J。
步骤203:根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务。
步骤204:在边缘服务器集合中随机选择一个边缘服务器作为第一微服务的目标边缘服务器,且,保持除第一微服务外的其他微服务的目标边缘服务器与上一迭代过程相同,则得到本次迭代过程的微服务功能链上各微服务的目标边缘服务器集合Dj。
步骤205:判断在Dj下是否同时满足如下两个约束条件:微服务功能链的总服务时延小于第一阈值、且每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限,若是,则保持Dj不变,转至步骤207;否则,执行步骤206。
步骤206:令Dj=Dj-1,其中,Dj-1为上次迭代过程得到的微服务功能链上各微服务的目标服务器集合,转至步骤207。
步骤207:判断j=J是否成立,若是,执行步骤208;否则,执行步骤209。
步骤208:确定使用Dj对该微服务功能链上的各微服务进行边缘服务器迁移,本流程结束。
步骤209:令j=j+1,返回步骤203。
一可选实施例中,步骤203中,根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务包括:
其中,σ为迁移前微服务功能链上正在运行的微服务的编号;n为微服务的编号;N为微服务功能链上的服务总数,且按照微服务的运行顺序依次为微服务功能链上的各微服务从1开始依次进行编号;P(n)为选中概率,其中,Cn为重启微服务n所需要的计算资源值,Cn为已知值。
一可选实施例中,步骤205中,若是之后,转至步骤207之前,进一步包括:
计算Dj对应的总迁移成本Uj,计算Uj-Uj-1,其中,Uj-1为Dj-1对应的总迁移成本;根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj;若确定保留Dj,则转至步骤207;若确定不保留Dj,则令Dj=Dj-1,转至步骤207。
一可选实施例中,根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj包括:
图3为本发明又一实施例提供的微服务迁移方法流程图,其具体步骤如下:
步骤301:设迁移前微服务功能链上各微服务所在的边缘服务器集合D0为:D0={ES0(1),ES0(2),...,ES0(n),...,ES0(N)},其中,N为微服务功能链上的微服务总数,且按照微服务的运行顺序依次为微服务功能链上的各微服务从1开始依次进行编号,ES0(n)为微服务n所在的边缘服务器,1≤n≤N;
初始化迭代次数j=1和最大迭代次数J,设第j次迭代后,微服务功能链上各微服务所在的边缘服务器集合Dj为:Dj={ESj(1),ESj(2),...,ESj(n),...,ESj(N)};
每个迭代过程选中一个微服务进行边缘服务器的迁移计算,即每次迭代过程只尝试对一个微服务进行边缘服务器的迁移计算。
步骤302:在区间[0,1]内生成一个随机实数K,找到一个微服务m使得成立(其中,σ<m≤N,σ为迁移前微服务功能链上正在运行的微服务的编号,即微服务功能链已经从微服务1运行到微服务σ了),并在边缘服务器集合{ESi}中随机选择一个边缘服务器作为该微服务m的目标边缘服务器,设该目标边缘服务器的编号为iselect,则令ESj(m)=iselect,则得到Dj={ESj(1),...,ESj(m)=iselect,...,ESj(N)},其中,除了ESj(m)外,其它微服务所在的目标边缘服务器都保持不变,即ESj(n)=ESj-1(n),n≠m,1≤n≤N。
微服务功能链上的各微服务是依次运行的,一个微服务运行完后,将运行结果发送给下一个微服务,下一个微服务根据上一个微服务的运行结果开始运行本微服务的功能,这里,按照微服务的运行顺序依次为微服务从1开始依次进行编号。
步骤303:根据微服务功能链上各微服务所在的边缘服务器集合Dj,计算在Dj下该微服务功能链的总服务时延tdj。
tdj主要包括两部分,第一部分是从微服务1开始运行到微服务n结束运行所花费的时长,第二部分是将微服务n的运行结果传输到用户终端所需要的时长。第一部分又包括:微服务功能链在迁移前已经运行的时长以及微服务功能链完成迁移后还未运行的所有微服务将花费的运行时长。
从另一方面讲,tdj主要包括两部分:一部分是,每个微服务运行本服务功能的时长,另一部分是,每个微服务将自身的运行结果传输给下一个微服务所需要的时长(其中,最后一个微服务n是将运行结果传输给用户终端)。
步骤304:判断tdj≤tdmax是否成立,若是,执行步骤305;否则,执行步骤311。
tdmax是预设值,具体取值根据微服务功能链的服务时延要求设定。
步骤305:根据Dj,计算在Dj下微服务m将占用其目标边缘服务器ESj(m)的存储资源值Rm。
步骤306:判断Rm≤Rmax(ESj(m))是否成立,若是,执行步骤307;否则,执行步骤311。
Rmax(ESj(m))为ESj(m)上的存储资源上限。
步骤307:计算Dj对应的总迁移成本U j。
微服务n的迁移成本包括:在目标边缘服务器上重启微服务n所需要的计算资源值cn以及将微服务n从原边缘服务器迁移到目标边缘服务器所需要的时长tn。其中:
为了方便在全局进行代价优化,可对cn和tn进行标准化,公式如下:
其中,cmax和cmin分别表示cn(1≤n≤N)的最大值和最小值,max和tmin分别表示tn(1≤n≤N)的最大值和最小值。
微服务功能链的总迁移成本的计算公式如下:
由于整个迭代过程是越来越收敛的,因此,Uj<Uj-1,Uj-Uj-1为负值,且Uj越小,即Uj与Uj-1的差距越大,即Uj-Uj-1的值越小,Dj越应该被保留。
步骤310:确定保持Dj不变,转至步骤312。
步骤311:令Dj=Dj-1。
即,不使用Dj,继续使用Dj-1。
步骤312:判断j=J是否成立,若是,执行步骤313;否则,执行步骤314。
步骤313:确定使用Dj对该微服务功能链上的各微服务进行边缘服务器迁移,本流程结束。
步骤314:令j=j+1,返回步骤302。
图4为本发明实施例提供的微服务迁移装置的结构示意图,该装置主要包括:迁移触发模块41和迁移计算模块42,其中:
迁移触发模块41:当检测到需要对微服务功能链上的微服务进行边缘服务器迁移时,向迁移计算模块42发送启动指令。
迁移计算模块42:当接收到迁移触发模块41发来的启动指令时,以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器。
一可选实施例中,迁移计算模块42通过如下方式计算总迁移成本:
计算每个微服务的迁移成本,包括:在目标边缘服务器上重启该微服务所需要的计算资源值以及将该微服务从原边缘服务器迁移到目标边缘服务器所需要的时长;计算微服务功能链上发生迁移的所有微服务的迁移成本之和,该和值等于所述总迁移成本。
一可选实施例中,迁移计算模块42通过如下方式计算微服务功能链的总服务时延:
微服务功能链的总服务时延等于如下三个值之和:微服务功能链在迁移前已经运行的时长、微服务功能链完成迁移后还未运行的所有微服务将花费的运行时长、微服务功能链上的最后一个微服务将服务运行结果传输给用户终端所需要的时长。
一可选实施例中,迁移计算模块42为微服务器功能链上的各微服务选择目标边缘服务器包括:
第一步:初始化迭代次数j=1和最大迭代次数J;
第二步:根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务,在边缘服务器集合中随机选择一个边缘服务器作为第一微服务的目标边缘服务器,且,保持除第一微服务外的其他微服务的目标边缘服务器与上一迭代过程相同,则得到本次迭代过程的微服务功能链上各微服务的目标边缘服务器集合Dj;判断在Dj下是否同时满足如下两个约束条件:微服务功能链的总服务时延小于第一阈值、且每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限,若满足,则保持Dj不变,转至第三步;若不满足,令Dj=Dj-1,其中,Dj-1为上次迭代过程得到的微服务功能链上各微服务的目标服务器集合,转至第三步;
第三步,判断j=J是否成立,若成立,确定使用Dj对该微服务功能链上的各微服务进行边缘服务器迁移,本流程结束;否则,令j=j+1,返回第二步。
一可选实施例中,迁移计算模块42在所述第二步中,根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务包括:
其中,σ为迁移前微服务功能链上正在运行的微服务的编号;n为微服务的编号;N为微服务功能链上的服务总数,且按照微服务的运行顺序依次为微服务功能链上的各微服务从1开始依次进行编号;P(n)为选中概率,其中,Cn为重启微服务n所需要的计算资源值。
一可选实施例中,迁移计算模块42在所述第二步中,若满足之后、转至第三步之前,进一步包括:
计算Dj对应的总迁移成本Uj,计算Uj-Uj-1,其中,Uj-1为Dj-1对应的总迁移成本;根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj;若确定保留Dj,则转至第三步;若确定不保留Dj,则令Dj=Dj-1,转至第三步。
一可选实施例中,迁移计算模块42在所述第二步中,根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj包括:
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储指令,所述指令在由处理器执行时可执行如上所述微服务迁移方法中的步骤。实际应用中,所述的计算机可读介质可以是上述实施例各设备/装置/系统所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。其中,在计算机可读存储介质中存储指令,其存储的指令在由处理器执行时可执行如上微服务迁移方法中的步骤。
根据本申请公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件,或者上述的任意合适的组合,但不用于限制本申请保护的范围。在本申请公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
如图5所示,本发明实施例还提供一种电子设备。如图5所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或一个以上处理核心的处理器51、一个或一个以上计算机可读存储介质的存储器52以及存储在存储器上并可在处理器上运行的计算机程序。在执行所述存储器52的程序时,可以实现上述微服务迁移方法。
具体的,实际应用中,该电子设备还可以包括电源53、输入输出单元54等部件。本领域技术人员可以理解,图5中示出的电子设备的结构并不构成对该电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器51是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器52内的软件程序和/或模块,以及调用存储在存储器52内的数据,执行服务器的各种功能和处理数据,从而对该电子设备进行整体监控。
存储器52可用于存储软件程序以及模块,即上述计算机可读存储介质。处理器51通过运行存储在存储器52的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器52还可以包括存储器控制器,以提供处理器51对存储器52的访问。
该电子设备还包括给各个部件供电的电源53,可以通过电源管理系统与处理器51逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源53还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入输出单元54,该输入单元输出54可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。该输入单元输出54还可以用于显示由用户输入的信息或提供给用户的信息以及各种图像用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
本申请附图中的流程图和框图,示出了按照本申请公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本申请中。特别地,在不脱离本申请精神和教导的情况下,本申请的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本申请公开的范围。
本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思路,并不用于限制本申请。对于本领域的技术人员来说,可以依据本发明的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种微服务迁移方法,其特征在于,该方法包括:
当需要对微服务功能链上的微服务进行边缘服务器迁移时,以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器;
所述为微服务器功能链上的各微服务选择目标边缘服务器包括:
第一步:初始化迭代次数j=1和最大迭代次数J;
第二步:根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务,在边缘服务器集合中随机选择一个边缘服务器作为第一微服务的目标边缘服务器,且,保持除第一微服务外的其他微服务的目标边缘服务器与上一迭代过程相同,则得到本次迭代过程的微服务功能链上各微服务的目标边缘服务器集合Dj;判断在Dj下是否同时满足如下两个约束条件:微服务功能链的总服务时延小于第一阈值、且每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限,若满足,则保持Dj不变,转至第三步;若不满足,令Dj=Dj -1,其中,Dj-1为上次迭代过程得到的微服务功能链上各微服务的目标服务器集合,转至第三步;
第三步,判断j=J是否成立,若成立,确定使用Dj对该微服务功能链上的各微服务进行边缘服务器迁移,本流程结束;否则,令j=j+1,返回第二步;
在所述第二步中,若满足之后、转至第三步之前,进一步包括:
计算Dj对应的总迁移成本Uj,计算Uj-Uj-1,其中,Uj-1为Dj-1对应的总迁移成本;
根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj;
若确定保留Dj,则转至第三步;若确定不保留Dj,则令Dj=Dj-1,转至第三步。
2.根据权利要求1所述的方法,其特征在于,所述总迁移成本通过如下方式计算:
计算每个微服务的迁移成本,包括:在目标边缘服务器上重启该微服务所需要的计算资源值以及将该微服务从原边缘服务器迁移到目标边缘服务器所需要的时长;
计算微服务功能链上发生迁移的所有微服务的迁移成本之和,该和值等于所述总迁移成本。
3.根据权利要求1所述的方法,其特征在于,所述微服务功能链的总服务时延等于如下三个值之和:
微服务功能链在迁移前已经运行的时长、微服务功能链完成迁移后还未运行的所有微服务将花费的运行时长、微服务功能链上的最后一个微服务将服务运行结果传输给用户终端所需要的时长。
6.一种微服务迁移装置,其特征在于,该装置包括:
迁移触发模块:当检测到需要对微服务功能链上的微服务进行边缘服务器迁移时,向迁移计算模块发送启动指令;
迁移计算模块:当接收到迁移触发模块发来的启动指令时,以微服务功能链的总服务时延小于第一阈值、且发生迁移的每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限为约束条件,以总迁移成本最低为目标,为微服务器功能链上的各微服务选择目标边缘服务器;
所述迁移计算模块为微服务器功能链上的各微服务选择目标边缘服务器包括:
第一步:初始化迭代次数j=1和最大迭代次数J;
第二步:根据微服务的迁移成本越小、被优先选中的概率越大的原则,在微服务功能链上未开始运行的微服务中为当前迭代过程选中一个第一微服务,在边缘服务器集合中随机选择一个边缘服务器作为第一微服务的目标边缘服务器,且,保持除第一微服务外的其他微服务的目标边缘服务器与上一迭代过程相同,则得到本次迭代过程的微服务功能链上各微服务的目标边缘服务器集合Dj;判断在Dj下是否同时满足如下两个约束条件:微服务功能链的总服务时延小于第一阈值、且每个微服务占用其目标边缘服务器的存储资源值小于该目标边缘服务器的存储资源上限,若满足,则保持Dj不变,转至第三步;若不满足,令Dj=Dj -1,其中,Dj-1为上次迭代过程得到的微服务功能链上各微服务的目标服务器集合,转至第三步;
第三步,判断j=J是否成立,若成立,确定使用Dj对该微服务功能链上的各微服务进行边缘服务器迁移,本流程结束;否则,令j=j+1,返回第二步;
在所述第二步中,若满足之后、转至第三步之前,进一步包括:
计算Dj对应的总迁移成本Uj,计算Uj-Uj-1,其中,Uj-1为Dj-1对应的总迁移成本;
根据Uj-Uj-1越小、Dj被保留的概率越大的原则,确定是否保留Dj;
若确定保留Dj,则转至第三步;若确定不保留Dj,则令Dj=Dj-1,转至第三步。
7.一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,其特征在于,所述指令在由处理器执行时使得所述处理器执行如权利要求1至5中任一项所述的微服务迁移方法的步骤。
8.一种电子设备,其特征在于,包括如权利要求7所述的非瞬时计算机可读存储介质、以及可访问所述非瞬时计算机可读存储介质的所述处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110262693.1A CN113014659B (zh) | 2021-03-11 | 2021-03-11 | 微服务迁移方法、装置及存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110262693.1A CN113014659B (zh) | 2021-03-11 | 2021-03-11 | 微服务迁移方法、装置及存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014659A CN113014659A (zh) | 2021-06-22 |
CN113014659B true CN113014659B (zh) | 2022-05-24 |
Family
ID=76404649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110262693.1A Active CN113014659B (zh) | 2021-03-11 | 2021-03-11 | 微服务迁移方法、装置及存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014659B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113489787B (zh) * | 2021-07-06 | 2023-01-17 | 北京邮电大学 | 一种移动边缘计算的服务与数据协同迁移的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027736A (zh) * | 2019-07-30 | 2020-04-17 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN111459662A (zh) * | 2020-03-18 | 2020-07-28 | 湖南大学 | 移动边缘计算中的迁移管理方法、装置和存储介质 |
CN111601327A (zh) * | 2020-05-14 | 2020-08-28 | 北京赛宝工业技术研究院有限公司 | 一种服务质量优化方法、装置、可读介质和电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107819662B (zh) * | 2017-11-23 | 2019-10-18 | 电子科技大学 | 一种应用于云雾计算网络的服务功能链实时迁移方法 |
EP3850513A1 (en) * | 2018-09-14 | 2021-07-21 | Telefonaktiebolaget LM Ericsson (publ) | Malchain detection |
CN110535705B (zh) * | 2019-08-30 | 2022-04-26 | 西安邮电大学 | 一种自适应用户时延要求的服务功能链构建方法 |
CN111491332B (zh) * | 2020-04-20 | 2021-08-27 | 中国石油大学(北京) | 动态服务迁移方法及装置 |
CN112416554B (zh) * | 2020-11-20 | 2022-12-02 | 北京邮电大学 | 一种任务迁移方法、装置、电子设备及存储介质 |
-
2021
- 2021-03-11 CN CN202110262693.1A patent/CN113014659B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027736A (zh) * | 2019-07-30 | 2020-04-17 | 中国人民解放军国防科技大学 | 多目标优化下的微服务组合部署与调度方法 |
CN111459662A (zh) * | 2020-03-18 | 2020-07-28 | 湖南大学 | 移动边缘计算中的迁移管理方法、装置和存储介质 |
CN111601327A (zh) * | 2020-05-14 | 2020-08-28 | 北京赛宝工业技术研究院有限公司 | 一种服务质量优化方法、装置、可读介质和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113014659A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108040108B (zh) | 通信切换方法、装置、协调服务器及可读存储介质 | |
CN109542512B (zh) | 一种数据处理方法、装置和存储介质 | |
TWI673660B (zh) | 用於機器人之自動充電系統以及方法 | |
Shiraz et al. | Energy efficient computational offloading framework for mobile cloud computing | |
US11182213B2 (en) | Application program management method and device | |
US10680892B2 (en) | Managing servers with quality of service assurances | |
CN113254178A (zh) | 一种任务调度方法、装置、电子设备及可读存储介质 | |
CN109189323B (zh) | 扩容方法及设备 | |
CN105144109A (zh) | 分布式数据中心技术 | |
CN113032112A (zh) | 资源调度方法及装置、电子设备和存储介质 | |
CN113014659B (zh) | 微服务迁移方法、装置及存储介质和电子设备 | |
KR20200114233A (ko) | 사용자 이용 패턴을 신경망 알고리즘으로 분석하여 다음 어플리케이션을 예측하는 모바일 디바이스 메모리 관리 장치 및 방법 | |
CN113849302A (zh) | 任务执行方法及装置、存储介质及电子装置 | |
CN116431282A (zh) | 一种云虚拟主机服务器管理方法、装置、设备及存储介质 | |
CN107222618A (zh) | 终端截屏方法及装置 | |
EP3109758A1 (en) | Method and apparatus for scaling an application | |
CN111049900B (zh) | 一种物联网流计算调度方法、装置和电子设备 | |
CN113254191A (zh) | 用于运行应用的方法、电子设备和计算机程序产品 | |
CN112698908A (zh) | 云计算资源的伸缩处理方法及装置、存储介质及处理器 | |
Banerjee et al. | Priority based K-Erlang distribution method in cloud computing | |
CN109213591B (zh) | 协程运行栈的分配方法和装置 | |
CN110073321B (zh) | 一种存储控制器及io请求处理方法 | |
CN114091807A (zh) | 多无人机任务分配及调度方法、装置、系统及存储介质 | |
CN111340222B (zh) | 神经网络模型搜索方法、装置以及电子设备 | |
CN113742059A (zh) | 任务分配方法、装置、计算机设备和存储介质 |
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 |