一种移动云计算的随机任务序列调度方法与流程

文档序号:14714125发布日期:2018-06-16 01:00阅读:170来源:国知局
一种移动云计算的随机任务序列调度方法与流程

本发明属于移动云计算中任务调度的技术领域,涉及一种云计算与移动互联网相融合的系统下对任务进行调度的方法。



背景技术:

随着移动互联网和云计算技术的快速发展,为了满足用户对移动终端日益增加的种种需求,移动云计算技术应运而生。移动云计算是指移动用户可以采用移动互联网作为网络媒介来享受云计算平台提供的服务的一种服务模式,通过移动云计算,移动用户可以方便、快捷的使用云服务器上的存储资源、计算资源和带宽资源,并且不受位置、时间的限制克服了移动终端自身内存、电容量等性能的限制,提高了移动终端进行计算和存储资源的能力,给用户带来了更加丰富多彩的功能体验。然而,现有的面向移动云计算环境的任务调度方法主要针对如何优化任务调度完成的时间或者如何优化本地移动终端的能量消耗,很少有研究工作考虑到处理任务时,给用户所带来的花销成本。从而导致了本地移动终端在利用资源进行任务处理时,花费过高,成本过大,使得用户满意度下降。



技术实现要素:

本发明为克服上述现有技术存在的不足之处,提供一种移动云计算的随机任务序列调度方法,以期望能将云计算资源与本地资源相联合起来,提高资源利用率,既可以降低用户的等待时间,同时又可以减少其消耗资源所需花费的成本代价。

本发明为达到上述发明目的,采用如下技术方案:

本发明一种移动云计算的随机任务序列调度方法的特点是应用于本地移动终端和云端服务器构成的网络环境中,并按如下步骤进行:

步骤1、所述本地移动终端根据随机任务序列的特性和任务执行的条件建立任务队列排队模型;

步骤1.1、假设有I类任务,第i类任务达到所述本地移动终端的过程服从到达率为λi的泊松过程;第i类任务在本地移动终端中的处理速率服从μi,local的负指数分布,第i类任务在云端服务器中的处理速率服从μi,cloud的离开率,i=1,2,...I;

步骤1.2、根据第i类任务的计算负载量和数据传输量,所述本地移动终端对第i类任务进行分类;

步骤1.3、在所述本地移动终端中对每类任务建立长度为N的任务调度队列和长度为M的任务缓存队列;

判断第i类任务和第j类任务之间是否存在依赖性,若存在,则执行步骤1.4;若不存在,则将第i类任务和第j类任务都放入各自的任务调度队列中,从而使得所述本地移动终端对所述任务调度队列中队首所指向的任务进行调度;

步骤1.4、判断第i类任务的调度执行是否是第j类任务进行调度执行的触发条件,若是,则将第i类任务放入自身的任务调度队列中,将第j类任务放入自身的任务缓存队列中;从而使得所述本地移动终端对第i类的任务调度队列中队首所指向的任务进行调度,同时,将第j类的任务缓存队列中队首所指向的任务放入自身的任务调度队列的队尾中;

若不是,则将第j类任务放入自身的任务调度队列中,将第i类任务放入自身的任务缓存队列中;从而使得所述本地移动终端对第j类的任务调度队列中队首所指向的任务进行调度,同时,将第i类的任务缓存队列中队首所指向的任务放入自身的任务调度队列的队尾中;j=1,2,...I且i≠j;

步骤2、联合所述云端服务器和所述本地移动终端中的状态信息,根据所述本地移动终端中随机任务序列特性,建立马尔可夫决策模型<S,d,AL,fcost(s),fper(s)>:其中,S表示状态空间,并有:

式(1)中,ni表示所述任务调度队列中第i类任务的个数,mi表示所述任务缓存队列中第i类任务的个数,cloudi表示在云端服务器中处理第i类任务的个数,locali表示在本地移动终端中处理第i类任务的个数,pi表示第i类任务的功率,Pmax为本地移动终端的最大负载;

d表示所述系统的行动空间,并有:d={di},di表示第i类任务的行动,若di=1表示第i类任务在本地移动终端处理,若di=2表示第i类任务在云端服务器处理,若di=0表示第i类任务在本地移动终端中等待;

AL表示在策略L下的状态转移速率矩阵,并有其中表示在策略L下状态s转移到状态s′的转移速率;

fcost(s)为花费代价函数,表示所述系统在状态s时任务处理所需要的花费成本;

ftime(s)为时间代价函数,表示所述系统在状态s时任务等待执行所产生的时间成本;

步骤3、利用基于数值计算的策略迭代方法寻找最优控制策略L*,使得所述移动终端在最优控制策略L*下,任务等待执行的时间代价和任务处理时的花费成本最小;

步骤3.1.任意选取第k个策略Lk,并令k=0,从而得到初始策略为L0

步骤3.2.利用如式(2)所示的平衡方程求解系统在策略Lk下不同状态时的稳态概率

式(2)中,表示第k个策略Lk下的状态转移矩阵,e表示单位矩阵;

步骤3.3.分别利用式(3)和式(4)求解在策略Lk下在不同状态时任务处理所产生的花费代价函数fcost(s)与任务等待执行所产生的时间代价函数ftime(s),从而获得如式(5)所示的第k个策略Lk下的优化目标函数

式(3)中,cci表示第i类任务在云端服务器中处理所花费的成本,cli表示第i类任务在本地移动终端中处理所花费的成本;

式(4)中,wi和wj分别表示在所述任务调度队列中第i类任务的权重和在所述任务缓存队列中第j类任务的权重,且i≠j;

式(5)中,α表示时间代价函数ftime(s)的权重;

步骤3.4.利用式(6)得到在第k个策略Lk下的性能势

步骤3.5.利用式(7)得到第k+1个策略Lk+1

式(7)中,fL在策略L下的优化目标函数,AL表示在策略L下的状态转移矩阵;

步骤3.6.若Lk+1=Lk,则停止算法,Lk+1表示获得最优控制策略L*;否则k+1将赋值给k,并返回步骤3.2。

与现有技术相比,本发明的有益效果在于:

1、本发明用于云计算和本地移动终端相联合的系统环境中,通过移动终端对用户随机到达的任务进行分类排队,根据任务的随机性建立连续时间马尔可夫决策模型,采用基于数值理论的策略迭代算法对任务进行合理的分配调度,令移动终端内的部分任务合理高效的卸载到云端服务器中进行计算处理,充分利用了云计算资源和本地计算资源,从而有效提高了资源利用率,缩短了处理用户任务所产生的等待时间,且减少了用户的花费成本。

2、本发明是通过本地移动终端获取到达的任务信息,以某类任务离开本地移动终端中任务调度队列为另一类任务进入任务调度队列的触发条件,建立了包含任务调度队列和任务缓存队列的任务队列模型,从而更加符合随机任务序列的特性。

3、本发明针对的是用户的任务其特征是随机到达,每个决策时刻即任务达到或离开,根据系统的实时状态选择相应的动作。因此,该发明相比以往的方法更贴近现实生产环境。

4、本发明通过联合本地移动终端和云端服务器中的状态信息,将云计算资源和本地资源相结合,从而提高了资源利用率的同时,使用户花费的成本和等待时间最小,提升了用户的满意度。

附图说明

图1是本发明调度方法的任务队列模型图;

图2是本发明调度方法的系统示意图;

图3是本发明调度方法的流程图。

具体实施方式

本实施例中,一种移动云计算的随机任务序列调度方法是应用于如图2所示的云计算与移动互联网相融合的系统中,该系统中包括本地移动终端和云端服务器。本地移动终端根据随机任务序列的特性和执行的条件对任务进行分类排队;本地移动终端根据任务等待执行的时间要求和任务的处理成本,通过优化策略将随机任务序列合理的调度至云端服务器或本地移动终端中进行处理。如图3所示,该随机任务序列调度方法是按如下步骤进行:

步骤1、如图1所示,当有任务到达本地移动终端时,本地移动终端根据随机任务序列的特性,任务执行的条件建立任务队列排队模型;

步骤1.1、假设有两类任务,第1类任务和第2类任务达到本地移动终端的过程服从到达率为λ1和λ2的泊松过程;第1类任务在本地移动终端中的处理速率服从μ1,local的负指数分布,第1类任务在云端服务器中的处理速率服从μ1,cloud的负指数分布;第2类任务在本地移动终端中的处理速率服从μ2,local的负指数分布,第2类任务在云端服务器中的处理速率服从μ2,cloud的负指数分布;

步骤1.2、根据任务的计算负载量和数据传输量本地移动终端对第i类任务进行分类;因为任务之间可能存在的依赖特性,所以本地移动终端还需要对第i类任务进行串行或并行的调度处理。

步骤1.3、在本地移动终端中对每类任务都建立长度为N的任务调度队列和长度为M的任务缓存队列,其中N为3,M为2。因为不同任务之间可能存在依赖性,所以判断第1类任务和第2类任务之间是否存在依赖性,若不存在,则将第1类任务和第2类任务都放入自身的任务调度队列中,本地移动终端中对任务调度队列中队首所指向的任务进行调度;若存在,则判断第1类任务的调度执行是否是第2类任务进行调度执行的触发条件,若是,则将第1类任务放入自身的任务调度队列中,将第2类任务放入自身的任务缓存队列中,本地移动终端对任务调度队列中队首所指向的任务进行调度,如果任务调度队列中队首所指向的任务是第1类任务,则当此任务离开任务调度队列时,将任务缓存队列中队首所指向的第2类任务放入任务调度队列的队尾中,如果不是则任务缓存队列中第2类任务不进入任务调度队列,继续在任务缓存队列中等待;若不是,则将第2类任务放入自身的任务调度队列中,将第1类任务放入自身的任务缓存队列中,本地移动终端对任务调度队列中队首所指向的任务进行调度,如果任务调度队列中队首所指向的任务是第2类任务,则当此任务离开任务调度队列时,将任务缓存队列中队首所指向的第1类任务放入自身的任务调度队列的队尾中,如果不是则任务缓存队列中第1类任务不进入任务调度队列,继续在任务缓存队列中等待。

步骤2、如图2所示,联合云端服务器和本地移动终端中的状态信息,根据本地移动终端中随机任务序列的性,建立马尔可夫决策模型<S,d,AL,fcost(s),fper(s)>,其中,S表示状态空间,并有:

式(1)中,n1和n2分别表示任务调度队列中第1类任务和第2类任务的个数,m2表示任务缓存队列中第2类任务的个数,cloud1和cloud2分别表示在云端服务器中正在处理第1类任务和第2类任务的个数,local1和local2分别表示在本地移动终端中正在处理第1类任务和第2类任务的个数,p1和p2表示第1类任务和第2类任务的功率,Pmax为本地移动终端最大负载;

d表示所述系统的行动空间,并有:d={di},di表示第i类任务的行动,如图1可知对每种状态若di=1表示第i类任务在当前状态下,选择在本地移动终端处理;若di=2表示第i类任务在当前状态下,选择在云端服务器处理;若di=0表示第i类任务在当前状态下,选择在本地移动终端中等待;i=1,2;

本实施例中考虑实际情况设定(1)如果状态s中本地移动终端处于最大负载,则只能选择di=2,0即云端服务器处理或等待;(2)如果状态s中任务调度队列中的任务个数达到最大队长且本地移动终端未达到最大负载,则选择di=1,2即本地移动终端或云端服务器处理;(3)如果状态s中任务调度队列中的任务个数未达到最大队长且本地移动终端未达到最大负载,则可以选择di=1,2,0分别表示任务i选择本地移动终端处理或云端服务器处理或等待;i=1,2。

AL表示在策略L下的状态转移速率矩阵,并有其中表示在策略L下状态s转移到状态s′的转移速率;

在本实施例中利用式(2)求解不同状态之间的转移速率从而建立策略L下的状态转移速率矩阵AL

式(2)中表示状态s′为任务调度队列中第1类任务的个数,表示状态s为任务调度队列中第1类任务的个数;表示状态s′为任务缓存队列中第2类任务的个数,表示状态s为任务缓存队列中第2类任务的个数;表示状态s′为任务调度队列中第1类任务和第2类任务的个数、任务缓存队列中第2类任务的个数、本地移动终端中正在处理的第1类任务的个数;表示状态s为任务调度队列中第1类任务和第2类任务的个数、任务缓存队列中第2类任务的个数、本地移动终端中正在处理的第1类任务的个数;表示状态s′为任务调度队列中第1类任务和第2类任务的个数、任务缓存队列中第2类任务的个数、云端服务器中正在处理的第1类任务的个数;表示状态s为任务调度队列中第1类任务和第2类任务的个数、任务缓存队列中第2类任务的个数、云端服务器中正在处理的第1类任务的个数;表示状态s′为任务调度队列中第2类任务的个数、本地移动终端中正在处理的第2类任务的个数;表示状态s为任务调度队列中第2类任务的个数、本地移动终端中正在处理的第2类任务的个数;表示状态s′为任务调度队列中第2类任务的个数、云端服务器中正在处理的第2类任务的个数;表示状态s为任务调度队列中第2类任务的个数、云端服务器中正在处理的第2类任务的个数;as,s′表示状态s转移到状态s′的转移速率;

fcost(s)为花费代价函数,表示系统处于状态s时,任务执行调度进行动作选择后,所选择的服务端对任务处理所需要的花费成本。

ftime(s)为时间代价函数,表示系统在状态s时,移动终端内的任务等待执行所产生的时间成本。

步骤3、利用基于数值计算的策略迭代方法寻找最优控制策略L*,使得移动终端在最优控制策略L*下,任务等待执行时运行的时间代价和任务处理时的花费成本最小;

步骤3.1.任意选取第k个策略Lk,并令k=0,从而得到初始策略为L0

步骤3.2.利用如式(3)所示的平衡方程求解系统在策略Lk下不同状态时的稳态概率

式(3)中,表示第k个策略Lk下的状态转移矩阵,e表示单位矩阵;

步骤3.3.分别利用式(4)和式(5)求解在策略Lk下,在不同状态时,任务处理所产生的花费代价函数fcost(s)与任务等待执行所产生的时间代价函数ftime(s),从而获得如式(6)所示的第k个策略Lk下的优化目标函数

式(4)中,cci表示第i类任务在云端服务器中处理所花费的成本,cli表示第i类任务在本地移动终端中处理所花费的成本;

式(5)中,wi和wj分别表示在所述任务调度队列中第i类任务的权重和在所述任务缓存队列中第j类任务的权重,且i≠j;

式(6)中,α表示时间代价函数ftime(s)的权重;

步骤3.4.利用式(7)得到在第k个策略Lk下的性能势

步骤3.5.利用式(8)得到第k+1个策略Lk+1

式(8)中,fL在策略L下的优化目标函数,AL表示在策略L下的状态转移矩阵。

步骤3.6.若Lk+1=Lk,则停止算法,Lk+1表示获得最优控制策略L*;否则k+1将赋值给k,并返回步骤3.2。

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