移动云计算下移动应用的最优服务分配算法的制作方法

文档序号:12753379阅读:213来源:国知局

本发明涉及移动云计算,资源调度领域,具体涉及移动云计算下移动应用的最优服务分配算法。



背景技术:

随着人们对丰富的移动应用的需求迅速上升,需要新的平台和架构来处理不断增多的移动用户群对可扩展性和Qos水平的要求。移动云计算平台通过利用分布式云环境下的可用资源来克服移动设备和网络的资源约束。目标是把计算和数据密集型任务从资源匮乏型移动设备转移到云节点上。保证移动Qos水平的主要瓶颈之一就是传输网络的无线接通水平。另一个关键问题是丰富的移动应用往往要求较高的存储和处理能力,虽然设备技术取得了进步,但是移动主机的资源(能量、存储和处理)仍然有限。

移动云计算中的资源管理问题是目前的研究热点,相继有众多研究者对该问题进行了研究,有方法针对移动用户提出一种智能网络访问策略,以满足应用需求;还有人提出一种安全服务访问模型,为云用户核心安全(CS)服务和普通安全(NS)服务提供支持,在给定状态(比如当前用户)及应用程序资源消耗条件下,实现系统收入最大化(即云收入减去资源使用成本后的剩余值)。然而,用户的移动性为保证MCC平台应用的Qos水平带来了新的挑战。当移动用户的数量和速度提高时,移动应用的延时增大,可靠性下降。当用户移动时。用户和原先分配的云资源间的物理距离改变,导致额外延时。类似地,当用户迅速移动时,Wi-Fi网络由于缺乏有效的传送机制,导致报文丢失数量上升。换句话说,用户的移动性问题如果没有妥善解决,将会导致次优资源映射选择,最终降低Qos的应用的性能。本发明方法在现有研究工作的基础上,提出了一种移动云计算下移动应用的最优服务分配算法,智能选择哪些本地云和公共云用于任务转移。



技术实现要素:

针对于用户移动性问题导致次优资源映射选择,从而降低Qos应用性能的不足,本发明提供了一种移动云计算下移动应用的最优服务分配算法。

为了解决上述问题,本发明是通过以下技术方案实现的:

本发明利用双层云架构,提出一种新的框架将移动应用建模为一种空间--时间工作流,其特别之处在于本文的抽象模型可以根据用户的移动性来模拟移动用户的服务和使用模式。

通过使用这一概念,在考虑功率、成本和延时等Qos多个因素下,把将要运行于移动客户端和双层云架构上的任务集进行最优分解。

步骤1:对移动云服务、移动用户和移动应用建模;

步骤2:对移动应用的服务质量建模;

步骤3:提出一种云环境下基于移动感知的最优服务分配算法,也就是求解模型的算法。

本发明的有益效果是:

在云资源分配中,提高了Qos水平,降低延时和功率,在预测移动用户地点--时间工作流时面对差错/不确定性也具有较好的鲁棒性,同时扩展性较好。

具体实施方式

为了解决用户移动性问题导致次优资源映射选择,从而降低Qos应用性能的问题,其具体实施步骤如下:

步骤1:对移动云服务、移动用户和移动应用建模,其具体建模过程如下:

移动应用模型包括三个基本模型,分别是移动云服务、移动用户、移动应用(即位置—时间工作流)。

(1)移动云服务模型建立

假设用s1,…,ss来表示云服务,则本地云和公共云提供商提供的所有服务的集合(Cs)可以描述为:

在本地云服务总,只能接收有限数量的移动客户端请求。本方法中定义一种函数Cap(LC),该函数可以返回基于本地云LC可以服务的移动客户端最大数量。

(2)移动用户模型建立

用u1,...,uk来表示移动用户集合,则用户uk在其设备上所拥有的所有服务集合(比如解码器、图像编辑器等)表示为:

(3)移动应用(即位置—时间工作流)模型建立

使用l1,...,lm来表示空间位置,使用t1,…,tn来表示时间间隔。部分2维空间/区域,移动主机和云资源便位于该区域内。已知2维区域R2,位置图L可表示为:

向位置的中心分配一个向量,表示为移动用户uk的轨迹表示为形式为:{(τ1,lk),...,(τn,lm)}的一列元组,其中(τi,lj)表示移动用户位于lj处且持续时间为τi

表示移动用户uk在该位置或附近花费其大部分时间,计算方法如下:

广义的移动应用可建模为由逻辑和精确步骤组成的工作流ω,每个步骤称为函数。工作流从开始函数处开始,在结束函数处结束#工作流中的函数可按不同模式组合。SEQ模式表明函数依次执行,而AND模式表示函数并行运行,XOR表示函数有条件运行,LOOP模式表示函数循环运行。对于工作流ω中的每个函数Fi,定义XFi为:

将上面定义的移动应用工作流概念与用户轨迹结合起来,以便对移动用户及其轨迹中的被请求服务进行建模,基于移动用户的位置和时间进行索引编制的一组工作流构成。表示方法为:

其中uk表示第k个移动用户,表示位置为ln、持续时间为tn的用户请求工作流。

步骤2:对移动应用的服务质量建模,其具体建模过程如下:

各式移动云(MCC)应用具有多种服务质量需求,代表了用户满意度的不同方面,主要用延时、功耗和成本等参数表示。移动性为这些Qos因素提供了新的内容,因为它们取决于用户位置和请求时间。这是因为通信链路的特征随着用户位置和服务时间的不同而不同。这进而会影响到服务的延时、功耗和成本以及Qos。服务延时表示服务被请求(从移动设备或云端)至服务被终止之间的时间间隔。如果正在使用云上的服务,则还需考虑网络延时服务的功耗表示执行服务时移动设备消耗的能量。如果服务运行于云上,则功耗包括网络连接和与该服务相关的数据传输导致的功率开销。最终,服务成本表示在公共云上执行服务时终端用户承担的实际成本。建模过程采用归一化处理。

(1)归一化成本定义

LTW-Qos为不同位置和时间用户体验的Qos之和。利用LTW计算移动用户的效用,要求对各参数的Qos指标进行归一化,归一化过程的下一步骤是将其扩展到工作流ω中。同时,不失一般性,本方法用成本进行归一化处理(可以扩展至功耗和延时):

集合Γ表示所有可行解或执行计划,他可以定义为P表示成本,假设max P(XFi)表示Fi的服务的最大成本,min P(XFi)表示Fi的服务的最小成本。对每个服务s∈XFi,归一化可以定义为:

对每个服务s∈XFi,总归一化Qos水平定义为其中pow表示功耗,delay表示延时;总体来说||s||越高,Qos性能越高。

(2)工作流的归一化成本

用和分别表示选择最贵和最便宜的服务后,工作流中服务的总成本,则:

(3)空间—时间工作流的归一化成本

用和分别表示选择最贵和最便宜的服务后LTW服务的总成本,则空间—时间工作流的归一化成本定义为:

(4)系统的整体性建模

LTW和Qos提供了一个正式框架来分析移动云移动应用的性能。在本方法中,主要考虑的是移动用户的效益,定义了如下的移动用户公平效用指标来对系统的整体性能进行建模:

该函数可返回移动用户的成本、功耗和延时最小节约量的平均值作为效用。通过结合效用函数和系统约束,本发明定义服务分配优化问题模型如下:

max F

步骤3:提出一种云环境下基于移动感知的最优服务分配算法,也就是求解模型的算法,其具体算法过程如下:

对以上模型求解,本发明中设计了一种分层云环境下资源分配高效启发式算法,使用模拟退火方法作为其服务选择和提炼的核心方法,并设计了改进型策略使其更适合移动应用的双层云架构。已知云服务集合及带有相应LTW(位置--时间工作流)的用户集合后,算法首先计算每个用户uk移动特性的中心然后使用服务函数返回用户活动中心附近且可实现LTW并满足约束条件的服务列表,算法伪代码如下:

<mrow> <mo>(</mo> <mi>W</mi> <msubsup> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> <mi>L</mi> </msubsup> <mo>,</mo> <mi>C</mi> <mo>,</mo> <msubsup> <mi>l</mi> <mrow> <mi>c</mi> <mi>m</mi> </mrow> <msub> <mi>u</mi> <mi>k</mi> </msub> </msubsup> <mo>,</mo> <mi>F</mi> <mo>)</mo> </mrow>

ukLTW,S:服务集DB,F:效用函数,C:约束向量,maxiter:模拟退火算法的循环次数

Begin

(1)计算

(2)

(3)Util0=ComputeF(Candidates),

(4)for i=1tomaxiterdo,

(5)

(6)Util1=ComputeF(Candidates),

(7)Δ=Util1-Util0

(8)ifΔ>0,

(9)Util1=Util0

(10)else,

(11)当exp(maxiter)≥U[0,1]时,Util0=Util1/*U[0,1]表示均匀分布函数*/

(12)end if

(13)end for

(14)返回Candidats,Util0

End

开始时的候选服务集合中的服务与的距离在阈值d=dth范围内。根据候选集合生成四个排序列表,从高到低根据归一化成本、功耗、延时和总Qos水平进行排序。然后算法从这些列表中随机选择服务;对随机选择进行评估,以满足输入约束。如果满足输入约束,则返回列表。否则,增加搜索距离后重复上述过程。

<mrow> <msub> <mi>Find</mi> <mi>s</mi> </msub> <mrow> <mo>(</mo> <mi>W</mi> <msubsup> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> <mi>L</mi> </msubsup> <mo>,</mo> <mi>C</mi> <mo>,</mo> <msubsup> <mi>l</mi> <mrow> <mi>c</mi> <mi>m</mi> </mrow> <msub> <mi>u</mi> <mi>k</mi> </msub> </msubsup> <mo>)</mo> </mrow> </mrow>

假设目录服务数据库包括服务归一化后的Qos信息。

ukLTW,uk移动位置中心,常数dth:阈值距离,常数dr:距离的增量,常数it:最大循环次数

Begin

(1)i=0

(2)while(i<it)

开始

(3)d=dth+i*dr

(4)

(5)如果Candidates包括所有被需要的服务,则根据归一化后的成本、功率、延时和总Qos,按从大到小顺序对四个不同列表排序

(6)从三个服务列表中随机选择

(7)检查是否满足约束条件

(8)满足,返回服务集

(9)否则

(10)i=i+1

(11)将搜索半径扩大至d=dth+i*dr

end while

End。

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