一种面向多微云的动态服务迁移方法
文献发布时间:2023-06-19 10:57:17
技术领域
本发明涉及动态服务迁移方法,尤其涉及一种面向多微云的动态服务迁移方法。
背景技术
基于云计算的定义,移动云计算是指通过移动网络以按需、易扩展的方式获得所需的基础设施、平台、软件(或应用)等的一种IT资源或(信息)服务的交付与使用模式。为了提升用户体验,解决传统云服务延时较大的问题,本地微云服务应运而生。在微云提供服务的场景中,移动终端与微云通过局域网或城域网传输数据,其传输延时较小。然而,随着用户的移动,移动终端与微云之间的传输速率也将改变。为了保证服务质量,服务迁移策略需要决定当前正在进行的服务是否应该迁移,即是否迁移到其他微云。现有的服务迁移策略,响应时间较长、云服务提供者的服务成本较高。
发明内容
发明目的:本发明的目的是在保证用户体验的条件下,提供一种低服务成本的面向多微云的动态服务迁移方法。
技术方案:本发明的动态服务迁移方法,将延迟约束条件下的服务成本最小化问题转化为多时隙决策问题,通过迭代计算状态动作价值函数产生迁移策略,包括步骤如下:
(1)分析在单个时隙内用户数据在移动终端和微云之间的传输过程、虚拟机迁移数据在源微云和目的微云之间的传输过程,建立时间窗口模型;
(2)构建系统模型,通过系统模型确定系统状态集、动作集和动作价值函数;
(3)基于强化学习训练服务迁移策略,通过初始策略和值迭代来计算动作价值函数,直到每个状态对应的动作价值函数收敛或达到给定的循环次数,训练结束,可生成服务迁移策略;
(4)当系统实际的运行状态不在训练状态集中,系统根据k近邻状态选择动作,直到用户数据传输完毕,用系统实际产生的状态序列信息更新动作价值函数和迁移策略。
进一步,步骤(1)中,设定单个时隙长度为e,截止时间L划分为T个时隙,则T=L/e,用t表示当前时隙;在单个时隙的开始,根据上个时隙的用户剩余数据量,系统控制器做出是否迁移的决定;所述的决定可以分为迁移和不迁移:
(101)在时隙t开始,如果系统做出迁移的决定,则时隙中包括用户和微云的数据传输过程和微云之间的服务迁移过程;
(102)在时隙t开始,如果系统做出不迁移的决定,则时隙中只包括用户和源微云的数据传输过程,不存在服务迁移过程。
进一步,步骤(2)中,用户在蜂窝网络中随机移动,每个基站对应一个蜂窝,每台微云服务器绑定多个基站,每个基站最多绑定一台微云服务器;
定义时隙t的状态为S
(201)状态集合表达式为:s∈(D,B,T)
s表示具体时隙的状态;D表示用户和微云的距离,不得超出系统最大距离,B表示用户当前剩余数据量,T表示截止时间对应的时隙个数。
(202)动作集合表达式为:a∈(a
a
(203)在时隙t选择动作a,到时隙t+1开始(即时隙t内)统计到的服务成本,其表达式为:
C
g(t)表示时隙t内服务迁移的成本,r(t)表示时隙t内数据传输的成本;
(204)从状态S
s.t.T
π表示策略;E
进一步,步骤(3)中,在时隙t时,当前状态为S
当用户数据量传输完毕为终止态,从初始态到终止态作为一条状态序列;由于用户移动的随机性,按照初始策略π
通过初始策略π
进一步,步骤(4)中,当系统实际的运行状态不在训练状态集中,系统根据k近邻状态选择动作,直到用户数据传输完毕,用系统实际产生的状态序列信息更新动作价值函数和迁移策略π
dist=[10·(d-d
即根据用户的位置和剩余数据量来计算状态之间的距离。其中,d
本发明与现有技术相比,其显著效果如下:1、在满足截止时间即保证用户体验的条件下,降低系统服务成本;2、应用延迟约束条件下的服务成本最小化问题转化为多时隙决策问题,通过迭代计算状态动作价值函数以产生迁移策略,提高系统的服务成功率。
附图说明
图1为本发明中步骤三的执行流程图;
图2为本发明中步骤四的执行流程图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明做进一步详细描述。
本发明的方法通过综合分析数据传输过程、服务迁移过程,在通过用户剩余数据量判断终止态,终止态停留在给定的截止时间内则为可采纳的策略,在训练完的结果中生成迁移策略。其中,基于强化学习训练服务迁移策略,通过初始策略和值迭代来计算动作价值函数,直到每个状态对应的动作价值函数收敛或达到给定的循环次数,训练结束,可生成服务迁移策略。当系统实际的运行状态不在训练状态集中,系统根据k近邻状态选择动作,直到用户数据传输完毕,用系统实际产生的状态序列信息更新动作价值函数和迁移策略。本发明能够在给定截止时间内降低系统的总成本以及提高服务成功率。
实现的详细步骤如下:
步骤一:分析在单个时隙内用户数据在移动终端和微云之间的传输过程、虚拟机迁移数据在源微云和目的微云之间的传输过程,建立时间窗口模型。
设定单个时隙长度为e,截止时间L划分为T个时隙,则T=L/e,用t表示当前时隙。
在单个时隙的开始,根据上个时隙的用户剩余数据量,系统控制器做出是否迁移的决定,决定可以分为迁移和不迁移。
(一)系统做出迁移的决定
步骤101,在时隙t开始,系统做出迁移的决定,这个时隙中包括用户和微云的数据传输过程、微云之间的服务迁移过程。成本计算和数据量计算如下:
步骤1011,当前时隙t的服务迁移成本g(t)表达式为:
在公式(1)中,u
步骤1012,当前时隙t的数据传输成本r(t)表达式为:
在公式(2)中,u
步骤1013,当前时隙t的用户数据剩余量表达式为:
在公式(3)中,b(t-1)表示时隙t-1结束后的剩余数据量;v(y)表示在时隙t开始时,用户和源微云之间的数据传输速率;t
(二)系统做出不迁移的决定
步骤102,在时隙t开始,系统做出不迁移的决定,这个时隙中只包括用户和源微云的数据传输过程,不存在服务迁移过程,即g(t)=0。成本计算和数据量计算实现步骤如下:
步骤1021,当前时隙t的数据传输成本r(t)表达式为:
r(t)=u
在公式(4)中,u
步骤1022,当前时隙t的用户数据剩余量表达式为:
b(t)=b(t-1)-v(y)·e (5)
在公式(5)中,b(t-1)表示时隙t-1结束后的剩余数据量;v(y)表示时隙t时,用户和源微云之间的数据传输速率。
步骤二:构建系统模型,通过系统模型确定系统状态集、动作集和动作价值函数。
用户在蜂窝网络中随机移动,每个基站对应一个蜂窝,每台微云服务器绑定多个基站,每个基站最多绑定一台微云服务器。
定义时隙t的状态为S
步骤201,状态集合表达式为:
s∈(D,B,T) (6)
在公式(6)中,s表示具体时隙的状态,D表示用户和微云的距离,不得超出系统最大距离;B表示用户当前剩余数据量,T表示截止时间对应的时隙个数。
步骤202,动作集合表达式为:
a∈(a
在公式(7)中,a
步骤203,在时隙t选择动作a,到时隙t+1开始(即时隙t内)统计到的服务成本,其表达式为:
C
在公式(8)中,g(t)表示时隙t内服务迁移的成本;r(t)表示时隙t内数据传输的成本。
步骤204,从状态S
在公式(9)中,π表示策略,E
步骤三,在时隙t时,当前状态为S
当用户数据量传输完毕为终止态,从初始态到终止态作为一条状态序列;由于用户移动的随机性,按照初始策略π
步骤301,状态动作价值Q(S
在公式(10)中,a
步骤302,通过初始策略π
步骤四,当系统实际的运行状态不在训练的状态集中,系统根据k近邻状态选择动作,直到用户数据传输完毕,用系统实际产生的状态序列信息更新动作价值函数和迁移策略π
步骤401,k近邻状态是指已有策略的训练状态与当前实际的运行状态距离最近的前k个状态,k为一个奇数,并且要求训练状态对应的时隙与运行状态的时隙相同,其距离计算方法如下:
dist=[10·(d-d
在公式(11)中,d
步骤402,对于选出的k近邻状态统计其相同动作的次数,即迁移动作的次数和不迁移动作的次数,然后选择次数较大值对应的动作。直到用户数据传输完毕,用系统实际产生的状态序列信息更新动作价值函数和迁移策略π
- 一种面向多微云的动态服务迁移方法
- 一种面向异构存储的Spark任务动态迁移方法和系统