1.一种面向能耗与安全感知的服务工作流调度方法,其特征在于,包括以下步骤:步骤(1):建立模型;针对能耗问题建立结果质量模型,然后建立安全模型为任务调度提供安全服务,并提供安全服务开销方式,其步骤如下:步骤(1.1):建立结果质量QoR模型;使用可调节QoR等级对任务工作量进行调整,当一个应用所能达到的最理想精度为A*时,若实际精度为A时,则QoR等级q的模型如下:* * *
q=1‑(A‑A)/A=A/A∈[0,1]步骤(1.2):建立安全模型;其进一步包含以下步骤:步骤(1.2.1):建立机密性服务模型;为任务调度提供机密性服务,并将机密性服务等级最高的RSA安全等级设置为1.00,以量化其他机密性服务;
步骤(1.2.2):建立完整性服务模型;为任务调度提供完整性服务,并将完整性服务等级最高的SHA256算法安全等级设置为1.00,以量化其他完整性服务;
步骤(1.2.3):建立风险概率模型;利用网络攻击次数作为风险参数,评估任务在不同安全服务种类下的风险概率;并提出若要使任务免受攻击风险,安全性服务等级slv必须大于或等于安全性需求sdv,即slv‑sdv≥0;
步骤(2):划分QoR组;为降低算法复杂度,将节点划分为不同的QoR组,为划分QoR组,执行以下步骤:步骤(2.1):计算传输速率;令移动设备与边缘节点通信的传输带宽为Bi,则移动设备在时间片 内的传输速率 可表示为:tx
其中P 为设备传输功率, 表示移动设备与边缘节点的距离,γ为路径损耗常数,θ为路径损耗指数,σ为信号干扰因子;
步骤(2.2):计算单位工作量传输能耗;使用如下公式计算移动设备与节点i的单位工作量传输能耗其中Di为移动设备传输给边缘节点的单位工作量的数据大小;
步骤(2.3):排序并分组;通过步骤(2.2)得出的 大小对边缘节点按照升序排序,使用给定的QoR等级对边缘节点进行分组,并设置节点QoR等级;
步骤(3):确定编码方式;在对个体编码进行考虑时,需结合任务的调度位置、任务执行顺序与任务执行的QoR等级等因素;
步骤(4):初始化种群;首先需要对种群进行初始化,即对个体进行编码;为加快搜索过程,采用随机法对任务调度位置与任务执行顺序进行初始化;
步骤(5):适应度评价;适应度可以展现某个个体的优劣程度,包括以下步骤:步骤(5.1):时间计算;其中时间计算包括安全开销时间、传输时间、任务执行时间;
步骤(5.1.1):安全开销时间计算;当移动设备与边缘节点进行通信时,安全开销时间sc scT 与需要安全服务的工作量W 与移动设备处理能力C有关:sc sc
T =W /C
步骤(5.1.2):传输时间计算;设D为所需传输的数据大小,Ri为移动设备与边缘节点之tx间的网络传输速度,则大小为wi的工作量的总数据传输时间Ti 为:其中D=wiDi,Di为移动设备传输给边缘节点的单位工作量的数据大小;
步骤(5.1.3):执行时间计算;执行时间与需要执行的工作量wi与移动设备处理能力C确定,令Ti(qi)为以qi的QoR等级完成单位工作量所需时间,则执行时间为:ex
Ti =wi/C
步骤(5.1.4):完成时间计算;总工作量处理时间T为所有M个节点的最大响应时间总和:步骤(5.2):能耗计算;能耗计算主要包括本地执行能耗计算与传输能耗计算:cx cx
步骤(5.2.1):本地执行能耗计算;若设备执行功率为Pi ,则本地执行能耗E 为:sc
其中Wi 为将大小为wiDi的数据传输至边缘节点所需的安全服务工作量,w0为在移动设备端执行的工作量,C0为移动设备的处理能力;
tx
步骤(5.2.2):传输能耗计算;在传输速率为Ri,移动设备与边缘节点的传输功率为Pi的条件下,将工作量大小为wi的数据从移动设备传输至边缘节点的能耗 为:tx
则设备传输能耗E 为与所有节点通信的传输能耗之和:步骤(5.2.3):计算总能耗;最后,移动设备完成服务工作流所需的总能耗E可以通过以下公式计算:tx cx
E=E +E
步骤(5.3):计算适应度值;本发明选取任务调度目标作为适应度评价指标:fitness=E+αT
其中α为偏好因子,可以由算法使用者根据对能耗与延时的偏好程度自行确定;
步骤(6):选择算子;选择操作可以筛选种群,保留种群中相对较优的个体进入下一次迭代以优化种群,保持种群大小在迭代前后一致以确保算法性能;个体i的非支配等级为rank(i),再计算每层中个体的拥挤距离,个体i拥有的拥挤距离为dist(i);在种群中,若个体i优于个体j,则有:rank(i)<rank(j)||{rank(i)=rank(j)&&(dist(i)>dist(j))}步骤(7):交叉算子;交叉算子模拟了自然界中染色体交叉配对,生成新个体的过程,能够扩大算搜索空间,帮助算法探索可用任务调度方案;
步骤(8):变异算子;变异操作通过改变个体的某个基因编码值,能够保证遗传基因多样性,帮助算法摆脱局部最优状态,获得高质量的解;
步骤(9):判断终止;若方法迭代次数达到最大迭代次数,则退出循环,输出最优个体作为最终调度方案。