1.一种微云中的多任务应用卸载方法,其特征在于,所述方法包括:S1、获取移动应用的完成时间、移动设备的能量消耗、任务卸载花费,建立微云中的多任务应用卸载模型;
S2、根据遗传算法求解所述模型,得到最优的多任务应用卸载策略;
S3、根据所述最优的多任务应用卸载策略执行微云中的多任务应用卸载。
2.如权利要求1所述的方法,其特征在于,所述微云中的多任务应用卸载模型为:最小化所述移动设备的能量消耗以及所述任务卸载花费,且保证所述移动应用的完成时间小于一个给定的阈值,即:minF=λ1·Econ+λ2·ctotal,λ1+λ2=1St.CT≤Tmax
其中,F表示所述微云中的多任务应用卸载模型的目标函数,λ1和λ2分别表示对移动设备的能量消耗以及任务卸载花费的关注程度,CT表示所述应用的完成时间,Tmax表示用户定义的时间阈值。
3.如权利要求2所述的方法,其特征在于,所述获取应用的完成时间包括:S111、确定所述任务的优先级;
S112、确定每项任务的最早完成时间;
S113、确定所述应用的完成时间。
4.如权利要求3所述的方法,其特征在于,所述S111包括:获取所述移动应用的任务队列;
获取所述移动应用的任务列表;
获取所述任务的工作负载;
将所述任务到结束任务的最长路径的长度加上所述任务的工作负载得到所述任务的优先级,计算公式如下:其中,pri(vi)表示任务vi的优先级值,vend表示结束任务,wi表示任务vi的工作负载。
5.如权利要求4所述的方法,其特征在于,所述S112包括:所述最早完成时间计算公式如下:
EFT(vi)=EST(vi)+ti
其中, ti是任务的执行时间。
6.如权利要求5所述的方法,其特征在于,所述任务为在本地执行的任务,其执行时间为:其中,wi是任务vi的工作负载,fm是移动设备CPU的处理速度;
所述任务为卸载到微云的任务,其执行时间是:
其中,fc是微云中CPU的处理速度,ui和di分别是任务vi需要上传以及下载的数据量大小,ru和rd分别是移动设备和微云之间的数据上传速率以及下载速率。
7.如权利要求2所述的方法,其特征在于,所述移动设备的能量消耗包括任务在本地执行所消耗的能量以及移动设备和微云进行数据传输所消耗的能量,表达式如下:其中, 表示任务vi在本地运行所需要消耗的能量, 表示任务卸载到微云执行过程中移动设备消耗的能量,n表示一个应用中任务的个数,αi表示任务vi的执行位置,αi=0表示任务vi在本地执行,而αi=1表示任务vi被卸载到微云执行;
其中,Pm是移动设备执行任务时能量消耗的速率,wi是任务vi的工作负载,fm是移动设备CPU的处理速度;
其中,Pu和Pd分别是移动设备发送数据和接收数据所需要的传输功率,ui和di分别是任务vi需要上传以及下载的数据量大小,ru和rd分别是移动设备和微云之间的数据上传速率以及下载速率。
8.如权利要求2所述的方法,其特征在于,所述任务卸载花费包括微云的计算费用以及微云和移动设备进行数据通信的数据传输费用,表达式如下:ctotal=ccal+ccom
其中,将任务卸载到微云的计算花费ccal为:其中,c1表示微云中每单位时间的计算花费,fc是微云中CPU的处理速度,wi是任务vi的工作负载,n表示一个应用中任务的个数,αi表示任务vi的执行位置,αi=0表示任务vi在本地执行,而αi=1表示任务vi被卸载到微云执行;
将任务卸载到微云的通信花费ccom为:
其中,c2表示微云中每单位时间的计算花费,ui和di分别是任务vi需要上传以及下载的数据量大小。
9.如权利要求2所述的方法,其特征在于,所述步骤S2包括:S21、初始化一个种群,种群中的每一个个体表示一种卸载策略;
S22、对于种群中的每一个个体,通过下述的公式计算出CT、ctotal、Econ以及F的值:其中 表示所有任务都在本地执行移动设备所消耗的能量, 表示所有任务都卸载到微云执行用户的花费,种群中所有个体的F值都计算完成后,选取F值最小的个体所表示的卸载策略作为本轮次最优的卸载策略;
S23、根据fitness=exp(1/F)得到种群中每个个体的适应度函数;
S24、选择、交叉以及变异:使用概率函数p=fitnessi/sum(fitnessi)进行自然选择过程,之后淘汰适应度过小的个体,对剩下的个体进行交叉和变异;
S25、重复上述的S22-S24步骤,直到步骤S22得到的最优的F值不再变化为止,此时,该最优的F值对应的卸载策略就是最优的卸载。