1.一种基于粒子群算法资源感知计算迁移方法,其特征在于,包括:
步骤10、采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
步骤20、根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
步骤30、获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
步骤40、通过粒子的适应度函数计算每个粒子的适应度值;
步骤50、获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入步骤60,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,返回步骤40;
步骤60、根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
步骤80、根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回步骤40,若否,则结束;
所述步骤40进一步具体为:
通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例;
所述步骤60进一步具体包括:
步骤61、以每个粒子的适应度值为比较基准,得到个体最优能耗值和个体最优时延值,然后更新粒子个体最优解以及粒子群体最优解;
粒子群体最优解gbest(n,f)取群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两者均值,即:gbest(n,f)=Average(gbest(n,f)E,gbest(n,f)T)粒子个体最优解pbesti(n,f)的计算公式根据中间优化因子 和Dg的计算结果确定,计算公式如下Dg=Abs(gbest(n,f)T‑gbest(n,f)E)
其中, 表示个体优化目标差异程度,Dg表示群体优化目标差异程度,pbesti(n,f)E为个体最优能耗值,pbesti(n,f)T为个体最优时延值,Abs表示取绝对值;
当 时,粒子个体最优解在pbesti(n,f)T和pbesti(n,f)E中随机选取,即:pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}当 时,粒子个体最优解取pbesti(n,f)T和pbesti(n,f)T的平均值,即pbesti(n,f)=Average(pbest(n,f)E,pbest(n,f)T);
步骤62、根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
根据更新后的pbesti(n,f)及gbesti(n,f)对粒子下一时刻的速度更新的公式如下:i+1 i
其中,V (n,f)为粒子下一时刻的速度,为惯性因子,V (n,f)为粒子速度、p1为个体学i习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数,O (n,f)为粒子迁移策略;
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
i+1 i+1
其中,P (n,f)为粒子下一时刻的位置,V (n,f)为粒子下一时刻的速度,max为求最大值函数。
2.根据权利要求1所述的方法,其特征在于:所述步骤60后还包括:
步骤70、计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后进入步骤80;若存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后进入步骤80;若存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后进入步骤80。
3.根据权利要求1所述的方法,其特征在于:所述步骤20中,惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数的选取范围满足如下关系式:其中,为惯性因子、p1为个体学习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数。
4.根据权利要求1所述的方法,其特征在于:所述步骤80中,所述对粒子交叉概率和粒子变异概率进行更新进一步具体为:基于如下公式对粒子交叉概率和粒子变异概率进行更新:
其中,β为粒子交叉概率,α为粒子变异概率,Imax为最大迭代次数Inow为当前迭代次数。
5.一种基于粒子群算法资源感知计算迁移装置,其特征在于,包括:工作流简化模型生成模块、第一初始化模块、第二初始化模块、适应度值计算模块、约束判断模块、更新模块以及交叉变异模块;
所述工作流简化模型生成模块,用于采用递归的方法对每一个工作流中的子任务的前驱后继关系进行判断,并采用基因算法,将每一个子任务作为一个基因,构建出每一个工作流的内置模型;根据前驱后继关系,将工作流划分成为有序工作流和无序工作流,然后对工作流的内置模型进行整合重构,得到工作流的简化模型;
所述第一初始化模块,用于根据网络环境因素和用户的需求,预定义粒子的适应度函数、粒子迁移策略以及服务器集群搜索范围,并对算法中的因子进行初始化,所述因子包括惯性因子、个体学习因子、群体学习因子、个体影响常数、群体影响常数、粒子个体最优解、粒子群体最优解、粒子位置、粒子速度、系统最大能耗约束、系统最大时延约束、系统资源利用率平衡值、最大迭代次数、粒子交叉概率以及粒子变异概率;
所述第二初始化模块,用于获取工作流的简化模型,将每一个子任务作为一个粒子得到任务总数,然后根据任务总数初始化各边缘服务器集群正常工作的虚拟机数量;
所述适应度值计算模块,用于通过粒子的适应度函数计算每个粒子的适应度值;
所述约束判断模块,用于获取当前系统总能耗以及当前系统总时延,判断当前系统总能耗是否小于等于系统最大能耗约束且当前系统总时延是否小于等于系统最大时延约束,若是,则进入更新模块,若否,则根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,然后返回适应度值计算模块;
所述更新模块,用于根据每个粒子的适应度值更新粒子个体最优解以及粒子群体最优解,接着再根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
所述交叉变异模块,用于根据当前粒子交叉概率和粒子变异概率对工作流进行交叉和变异操作,然后对粒子交叉概率和粒子变异概率进行更新,接着判断当前迭代次数是否小于等于最大迭代次数,若是则返回适应度值计算模块,若否,则结束;
所述适应度值计算模块通过粒子的适应度函数计算每个粒子的适应度值,计算粒子的适应度值的公式如下:其中,Fit(n,f)为粒子的适应度函数,Etotal(n,f)为系统能耗,Ttotal(n,f)为系统时延,f为工作流数量,n为该工作流中子任务数量,μ和ω为(0,1)区间的任一常数值,用于根据优化需求调整能耗和时延分别占的比例;
所述更新模块以每个粒子的适应度值为比较基准,得到个体最优能耗值和个体最优时延值,然后更新粒子个体最优解以及粒子群体最优解;
粒子群体最优解gbest(n,f)取群体最优能耗值gbest(n,f)E和群体最优时延值gbest(n,f)T两者均值,即:gbest(n,f)=Average(gbest(n,f)E,gbest(n,f)T)粒子个体最优解pbesti(n,f)的计算公式根据中间优化因子 和Dg的计算结果确定,计算公式如下Dg=Abs(gbest(n,f)T‑gbest(n,f)E)
其中, 表示个体优化目标差异程度,Dg表示群体优化目标差异程度,pbesti(n,f)E为个体最优能耗值,pbesti(n,f)T为个体最优时延值,Abs表示取绝对值;
当Dip<Dg时,粒子个体最优解在pbesti(n,f)T和pbesti(n,f)E中随机选取,即:pbesti(n,f)=RandSelect{pbesti(n,f)T,pbesti(n,f)E}当 时,粒子个体最优解取pbesti(n,f)T和pbesti(n,f)T的平均值,即pbesti(n,f)=Average(pbest(n,f)E,pbest(n,f)T);
根据粒子个体最优解以及粒子群体最优解更新粒子下一时刻的速度以及粒子下一时刻的位置;
根据更新后的pbesti(n,f)及gbesti(n,f)对粒子下一时刻的速度更新的公式如下:i+1 i
其中,V (n,f)为粒子下一时刻的速度,为惯性因子,V (n,f)为粒子速度、p1为个体学i习因子、p2为群体学习因子、k1为个体影响常数、k2为群体影响常数,O (n,f)为粒子迁移策略;
根据粒子下一时刻的速度对粒子下一时刻的位置进行更新,公式如下:
i+1 i+1
其中,P (n,f)为粒子下一时刻的位置,V (n,f)为粒子下一时刻的速度,max为求最大值函数。
6.根据权利要求5所述的装置,其特征在于:还包括资源利用率优化模块;
所述资源利用率优化模块,用于计算当前各边缘服务器的资源利用率,然后与系统资源利用率平衡值比较,若存在边缘服务器的资源利用率大于系统资源利用率平衡值,则在计算资源最少的边缘服务器上增加一个正常工作的虚拟机,然后执行交叉变异模块;若存在边缘服务器的资源利用率小于系统资源利用率平衡值,则在计算资源最少的边缘服务器上减少一个正常工作的虚拟机,然后执行交叉变异模块;若存在边缘服务器的资源利用率等于系统资源利用率平衡值,则不改变边缘服务器边缘服务器的虚拟机配置,然后执行交叉变异模块。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至4任一项所述的方法。