一种物联网服务重调度的方法、系统及装置转让专利

申请号 : CN202110007556.3

文献号 : CN112866358B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李小翠周长兵施振生张玉清

申请人 : 中国地质大学(北京)

摘要 :

本发明提供了一种物联网服务重调度的方法、系统及装置,该方法包括:根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合;利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案;针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本;以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案。这样,按照目标调度方案,将发生服务迁移的目标物联网服务调度到指定托管设备上执行,可以在物联网络覆盖范围内,优化物联网服务的调度方式,提高资源利用效率以及物联网服务质量。

权利要求 :

1.一种物联网服务重调度的方法,其特征在于,所述方法应用于调度服务器中,其中,所述调度服务器用于对边缘服务器和/或物联网设备上托管的物联网服务进行重调度,所述方法包括:

根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含的物联网服务的数量与所述服务请求拆分成的子任务的项数相同;

利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该目标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;

针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成本、调度空间成本、调度容量成本以及网络能量负载成本;

以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型用于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量值,所述目标调度方案是所述效用度量值最大的候选调度方案;

利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备是与所述目标物联网服务存在所述执行关系的托管设备;

其中,所述利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,包括:将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群;

利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是所述第一父代种群的复制结果;

利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个体的数量相同;

对所述第二父代种群进行交叉、变异,得到第二子代种群;

利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算;

若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。

2.根据权利要求1所述的方法,其特征在于,在所述提取目标服务集合之后,所述方法还包括:

针对所述目标服务集合中包含的每一物联网服务,判断所述目标服务集合中是否存在该物联网服务的可迁移托管设备,其中,所述可迁移托管设备是:所述目标服务集合包含的所有托管设备中,除该物联网服务的托管设备之外,能够执行该物联网服务的剩余托管设备;

若确定存在所述可迁移托管设备,则以该物联网服务的托管设备作为服务发送设备,以该可迁移托管设备作为服务接收设备,生成该物联网服务的服务迁移策略,其中,所述服务发送设备用于向所述服务接收设备发送该物联网服务,所述服务接收设备用于接收并执行该物联网服务。

3.根据权利要求1所述的方法,其特征在于,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:

针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移时间成本,其中,所述第一物联网服务是该候选调度方案包含的物联网服务中没有发生所述服务迁移的物联网服务:其中,Tmgt1是所述第一迁移时间成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设备;

针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移时间成本,其中,所述第二物联网服务是该候选调度方案包含的物联网服务中发生所述服务迁移的物联网服务:其中,Tmgt2是所述第二迁移时间成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的托管设备;

计算每一所述第一迁移时间成本与每一所述第二迁移时间成本的和值,将计算结果作为所述调度时间成本。

4.根据权利要求1所述的方法,其特征在于,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:

针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移能耗成本,其中,所述第一物联网服务是该候选调度方案包含的物联网服务中没有发生所述服务迁移的物联网服务:其中,Emgt1是所述第一迁移能耗成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设备,是所述传输设备处于通信传输状态时的传输功率, 是所述传输设备处于工作状态时的功率;

针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移能耗成本,其中,所述第二物联网服务是该候选调度方案包含的物联网服务中发生所述服务迁移的物联网服务:其中,Emgt2是所述第二迁移能耗成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的托管设备, 是所述迁出设备处于服务迁移状态时的传输功率, 是所述迁出设备处于空闲状态时的功率;

计算每一所述第一迁移能耗成本与每一所述第二迁移能耗成本的和值,将计算结果作为所述调度能耗成本。

5.根据权利要求1所述的方法,其特征在于,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:

针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度空间成本:

其中,Xn是第n个候选调度方案,spt(Xn)是候选调度方案Xn的调度空间成本,dck是候选调度方案Xn中包含的第k个托管设备,ur·spt是所述用户所在网络的空间覆盖范围,dck·spt是托管设备dck所在网络的空间覆盖范围,N是候选调度方案Xn中包含的所述托管设备的总数。

6.根据权利要求1所述的方法,其特征在于,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:

针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度容量成本:

Ccst(dck)≤Crsd(dck);

其中,Xn是第n个候选调度方案,cbf(Xn)是候选调度方案Xn的调度容量成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备的总数,Crsd(dck)是托管设备dck的剩余存储容量与剩余带宽容量的和值,Ccst(dck)是在所述服务迁移之后,迁移到托管设备dck上的物联网服务所占用的存储容量与带宽容量的和值,sri是迁移到托管设备dck上的第i个物联网服务,sri·stg是物联网服务sri所占用的存储容量,sri·bnd是物联网服务sri所占用的带宽容量,m是迁移到托管设备dck上的物联网服务的总个数。

7.根据权利要求1所述的方法,其特征在于,所述利用调度成本计算模型,计算该候选调度方案的所述网络能量负载成本,包括:针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述网络能量负载成本:

Ecst(dck)=Einv(dck)+Ecmp(dck)+Etrs(dck);

Einv(dck)=1.0×(dck·f)其中,Xn是第n个候选调度方案,lbN(Xn)是候选调度方案Xn的网络能量负载成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备的总数,Ersd(dck)是托管设备dck的剩余能量,Ecst(dck)是按照候选调度方案Xn进行物联网服务重调度之后,托管设备dck上需要消耗的能量,Einv(dck)是托管设备dck启动物联网服务时需要消耗的能量,dck·f是托管设备dck每秒钟的CPU周期数,Etrs(dck)是托管设备dck与传输设备之间进行通信传输时消耗的能量,dtkx是托管设备dck与所述传输设备之间进行通信传输时产生的传输数据量,rkx是所述传输设备与托管设备dck之间进行通信传输时的传输速率,所述传输设备是候选调度方案Xn包含的托管设备中,向托管设备dck发送传输数据的托管设备, 是所述传输设备处于通信传输状态时的传输功率,Ecmp(dck)是托管设备dck执行物联网服务时消耗的能量,tski·crk是托管设备dck上需要执行的第i个物联网服务执行任务tski时需要的CPU周期总数,m是托管设备dck上需要执行的物联网服务的总个数,K是托管设备dck上的有效开关电容值。

8.一种物联网服务重调度的系统,其特征在于,所述系统包括:调度服务器、边缘服务器以及物联网设备;

所述边缘服务器,用于通过局域网与属于该局域网内的物联网设备进行通信连接,形成以该边缘服务器为中心的边缘网络,其中,每一所述边缘服务器之间通过广域网进行通信连接;

所述调度服务器,用于对所述边缘服务器和/或所述物联网设备上托管的物联网服务进行重调度;

所述物联网设备,用于接收并执行所述调度服务器发送的重调度指令;

所述边缘服务器,还用于接收并执行所述调度服务器发送的重调度指令;

其中,所述调度服务器,包括:

第一筛选单元,用于根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含的物联网服务的数量与所述服务请求拆分成的子任务的项数相同;

第二筛选单元,用于利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该目标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;

数据处理单元,用于针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成本、调度空间成本、调度容量成本以及网络能量负载成本;

数据输出单元,用于以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型用于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量值,所述目标调度方案是所述效用度量值最大的候选调度方案;

服务调度单元,用于利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备是与所述目标物联网服务存在所述执行关系的托管设备;

其中,所述第二筛选单元,具体用于:将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群;

利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是所述第一父代种群的复制结果;

利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个体的数量相同;

对所述第二父代种群进行交叉、变异,得到第二子代种群;

利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算;

若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。

9.一种物联网服务重调度的装置,其特征在于,所述装置用于对边缘服务器和/或物联网设备上托管的物联网服务进行重调度,所述装置包括:提取模块,用于根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含的物联网服务的数量与所述服务请求拆分成的子任务的项数相同;

筛选模块,用于利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该目标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;

计算模块,用于针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成本、调度空间成本、调度容量成本以及网络能量负载成本;

输出模块,用于以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型用于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量值,所述目标调度方案是所述效用度量值最大的候选调度方案;

调度模块,用于利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备是与所述目标物联网服务存在所述执行关系的托管设备;

其中,所述筛选模块,具体用于:

将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群;

利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是所述第一父代种群的复制结果;

利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个体的数量相同;

对所述第二父代种群进行交叉、变异,得到第二子代种群;

利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算;

若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。

说明书 :

一种物联网服务重调度的方法、系统及装置

技术领域

[0001] 本发明涉及物联网技术领域,具体而言,涉及一种物联网服务重调度的方法、系统及装置。

背景技术

[0002] 随着边缘计算和微服务体系架构的出现和快速发展,大量的物联网设备被部署在网络边缘,彼此互连通信、协作提供各种功能,这些功能可以封装和表示为物联网服务,其
中,物联网服务托管在网络中不同的物联网设备上,不同的物联网服务之间通过协同的方
式,来响应网络中用户发送的服务请求,例如,交互式游戏请求、视频处理请求等,因此,在
物联网应用过程中,常常需要根据用户的服务请求,来对网络中各物联网设备上托管的物
联网服务进行调度,以满足用户的实际需求。
[0003] 目前的方法,在物联网应用过程中,网络通常被划分为多个子区域,每一个子区域对应于一个边缘网络区域,每一个子区域由各自的边缘节点负责网络流量控制和管理各种
托管在该子区域内的物联网设备上的物联网服务,可以在距离用户最近的子区域内进行物
联网服务的调度,以响应用户的服务请求。这样,虽然可以一定程度的减少服务调度所需的
时间,但是单一子区域内网络的覆盖范围有限,当子区域内的物联网服务资源无法满足用
户的服务请求,或者子区域内的物联网设备的处理能力不足时,都会导致物联网服务质量
降低。

发明内容

[0004] 有鉴于此,本发明的目的在于提供一种物联网服务重调度的方法、系统及装置,以在物联网络覆盖范围内,优化物联网服务的调度方式,提高资源利用效率以及物联网服务
质量。
[0005] 第一方面,本申请实施例提供了一种物联网服务重调度的方法,所述方法应用于调度服务器中,其中,所述调度服务器用于对边缘服务器和/或物联网设备上托管的物联网
服务进行重调度,所述方法包括:
[0006] 根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托管设备,所述托
管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含的物联网服务的数
量与所述服务请求拆分成的子任务的项数相同;
[0007] 利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该目标服务集合中,所
述物联网服务在各所述托管设备之间的一种服务迁移方式;
[0008] 针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成本、调度空间成本、
调度容量成本以及网络能量负载成本;
[0009] 以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型用于将所述输入参数
作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量值,所述目标调度方
案是所述效用度量值最大的候选调度方案;
[0010] 利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,所述目标物联网服务
是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备是与所述目标物联网
服务存在所述执行关系的托管设备。
[0011] 可选的,在所述提取目标服务集合之后,所述方法还包括:
[0012] 针对所述目标服务集合中包含的每一物联网服务,判断所述目标服务集合中是否存在该物联网服务的可迁移托管设备,其中,所述可迁移托管设备是:所述目标服务集合包
含的所有托管设备中,除该物联网服务的托管设备之外,能够执行该物联网服务的剩余托
管设备;
[0013] 若确定存在所述可迁移托管设备,则以该物联网服务的托管设备作为服务发送设备,以该可迁移托管设备作为服务接收设备,生成该物联网服务的服务迁移策略,其中,所
述服务发送设备用于向所述服务接收设备发送该物联网服务,所述服务接收设备用于接收
并执行该物联网服务。
[0014] 可选的,所述利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,包括:
[0015] 将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群;
[0016] 利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是所述第
一父代种群的复制结果;
[0017] 利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个体的
数量相同;
[0018] 对所述第二父代种群进行交叉、变异,得到第二子代种群;
[0019] 利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算;
[0020] 若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。
[0021] 可选的,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:
[0022] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移时间成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0023]
[0024] 其中,Tmgt1是所述第一迁移时间成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备
dci上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求
而执行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据
量,rix是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该
候选调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管
设备;
[0025] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移时间成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0026]
[0027] 其中,Tmgt2是所述第二迁移时间成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备;
[0028] 计算每一所述第一迁移时间成本与每一所述第二迁移时间成本的和值,将计算结果作为所述调度时间成本。
[0029] 可选的,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:
[0030] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移能耗成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0031]
[0032] 其中,Emgt1是所述第一迁移能耗成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备, 是所述传输设备处于通信传输状态时的传输功率, 是所述传输设备处于工作状
态时的功率;
[0033] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移能耗成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0034]
[0035] 其中,Emgt2是所述第二迁移能耗成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备, 是所述迁出设备处于服务迁移状态时的传输功率, 是所述迁出设备处于空
闲状态时的功率;
[0036] 计算每一所述第一迁移能耗成本与每一所述第二迁移能耗成本的和值,将计算结果作为所述调度能耗成本。
[0037] 可选的,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:
[0038] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度空间成本:
[0039]
[0040] 其中,Xn是第n个候选调度方案,spt(Xn)是候选调度方案Xn的调度空间成本,dck是候选调度方案Xn中包含的第k个托管设备,ur·spt是所述用户所在网络的空间覆盖范围,
dck·spt是托管设备dck所在网络的空间覆盖范围,N是候选调度方案Xn中包含的所述托管
设备的总数。
[0041] 可选的,所述利用调度成本计算模型,计算该候选调度方案的服务调度成本,包括:
[0042] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度容量成本:
[0043] Ccst(dck)≤Crsd(dck);
[0044]
[0045]
[0046] 其中,Xn是第n个候选调度方案,cbf(Xn)是候选调度方案Xn的调度容量成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备的总
数,Crsd(dck)是托管设备dck的剩余存储容量与剩余带宽容量的和值,Ccst(dck)是在所述服
务迁移之后,迁移到托管设备dck上的物联网服务所占用的存储容量与带宽容量的和值,sri
是迁移到托管设备dck上的第i个物联网服务,sri·stg是物联网服务sri所占用的存储容
量,sri·bnd是物联网服务sri所占用的带宽容量,m是迁移到托管设备dck上的物联网服务
的总个数。
[0047] 可选的,所述利用调度成本计算模型,计算该候选调度方案的所述网络能量负载成本,包括:
[0048] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述网络能量负载成本:
[0049]
[0050] Ecst(dck)=Einv(dck)+Ecmp(dck)+Etrs(dck);
[0051]
[0052]
[0053] Einv(dck)=1.0×(dck·f)
[0054] 其中,Xn是第n个候选调度方案,lbN(Xn)是候选调度方案Xn的网络能量负载成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备
的总数,Ersd(dck)是托管设备dck的剩余能量,Ecst(dck)是按照候选调度方案Xn进行物联网
服务重调度之后,托管设备dck上需要消耗的能量,Einv(dck)是托管设备dck启动物联网服务
时需要消耗的能量,dck·f是托管设备dck每秒钟的CPU周期数,Etrs(dck)是托管设备dck与
传输设备之间进行通信传输时消耗的能量,dtkx是托管设备dck与所述传输设备之间进行通
信传输时产生的传输数据量,rkx是所述传输设备与托管设备dck之间进行通信传输时的传
输速率,所述传输设备是候选调度方案Xn包含的托管设备中,向托管设备dck发送传输数据
的托管设备, 是所述传输设备处于通信传输状态时的传输功率,Ecmp(dck)是托管设备dck
执行物联网服务时消耗的能量,tski·crk是托管设备dck上需要执行的第i个物联网服务执
行任务tski时需要的CPU周期总数,m是托管设备dck上需要执行的物联网服务的总个数,K是
托管设备dck上的有效开关电容值。
[0055] 第二方面,本申请实施例还提供了一种物联网服务重调度的系统,所述系统包括:调度服务器、边缘服务器以及物联网设备;
[0056] 所述边缘服务器,用于通过局域网与属于该局域网内的物联网设备进行通信连接,形成以该边缘服务器为中心的边缘网络,其中,每一所述边缘服务器之间通过广域网进
行通信连接;
[0057] 所述调度服务器,用于对所述边缘服务器和/或所述物联网设备上托管的物联网服务进行重调度;
[0058] 所述物联网设备,用于接收并执行所述调度服务器发送的重调度指令;
[0059] 所述边缘服务器,还用于接收并执行所述调度服务器发送的重调度指令;
[0060] 其中,所述调度服务器,包括:
[0061] 第一筛选单元,用于根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务
的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含
的物联网服务的数量与所述服务请求拆分成的子任务的项数相同;
[0062] 第二筛选单元,用于利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该
目标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;
[0063] 数据处理单元,用于针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成
本、调度空间成本、调度容量成本以及网络能量负载成本;
[0064] 数据输出单元,用于以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型
用于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量
值,所述目标调度方案是所述效用度量值最大的候选调度方案;
[0065] 服务调度单元,用于利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,
所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备
是与所述目标物联网服务存在所述执行关系的托管设备。
[0066] 第三方面,本申请实施例还提供了一种物联网服务重调度的装置,所述装置用于对边缘服务器和/或物联网设备上托管的物联网服务进行重调度,所述装置包括:
[0067] 提取模块,用于根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托管
设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含的物联
网服务的数量与所述服务请求拆分成的子任务的项数相同;
[0068] 筛选模块,用于利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该目标
服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;
[0069] 计算模块,用于针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成本、调
度空间成本、调度容量成本以及网络能量负载成本;
[0070] 输出模块,用于以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型用于
将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量值,
所述目标调度方案是所述效用度量值最大的候选调度方案;
[0071] 调度模块,用于利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,所
述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备是
与所述目标物联网服务存在所述执行关系的托管设备。
[0072] 第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实
现上述物联网服务重调度的方法的步骤。
[0073] 第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述物联网服务重调度的
方法的步骤。
[0074] 本申请的实施例提供的技术方案可以包括以下有益效果:
[0075] 在物联网技术领域内,用户发出的服务请求一般可以拆分为若干个需要由物联网服务执行的子任务,其中,子任务所属的任务类型主要分为:计算密集型任务和数据密集型
任务,计算密集型任务是指任务执行时主要消耗CPU(中央处理器)资源的任务;数据密集型
任务是指需要处理海量数据的任务。本申请先从能够完成用户的服务请求的服务集合中,
提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托
管设备,这样,提取的目标服务集合是用于完成当前用户的服务请求所用的物联网服务及
托管设备的组合;然后,利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,
确定所述目标服务集合的候选调度方案,这样,输出的每一候选调度方案可以用于表征目
标服务集合中物联网服务调度效率较高的一种服务迁移策略;通过计算每一候选调度方案
的服务调度成本,以计算的服务调度成本作为效用度量函数的自变量,计算每一所述候选
调度方案的效用度量值,提取效用度量值最大的候选调度方案作为最终用于进行重调度的
目标调度方案。这样,在物联网络的覆盖范围内,先从目标服务集合的所有服务迁移策略
中,筛选出物联网服务调度效率较高的服务迁移策略作为候选调度方案,再从候选调度方
案中,筛选出资源利用效率最高的候选调度方案作为最终输出的目标调度方案,可以在物
联网络覆盖范围内,优化物联网服务的调度方式,提高资源利用效率以及物联网服务质量。
[0076] 为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0077] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
[0078] 图1示出了本申请实施例所提供的一种物联网服务重调度的方法的流程示意图;
[0079] 图2示出了本申请实施例所提供的一种利用遗传算法模型,确定候选调度方案的方法的流程示意图;
[0080] 图3示出了本申请实施例提供的一种物联网服务重调度的系统;
[0081] 图4示出了本申请实施例所提供的一种物联网服务重调度的装置的结构示意图;
[0082] 图5为本申请实施例提供的一种计算机设备500的结构示意图。

具体实施方式

[0083] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅
是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实
施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的
实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实
施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所
有其他实施例,都属于本发明保护的范围。
[0084] 本发明实施例提供了一种物联网服务重调度的方法、系统及装置,下面通过实施例进行描述。
[0085] 实施例一
[0086] 图1示出了本申请实施例所提供的一种物联网服务重调度的方法的流程示意图,所述方法应用于调度服务器中,其中,所述调度服务器用于对边缘服务器和/或物联网设备
上托管的物联网服务进行重调度,该方法包括步骤S101‑S105;具体的:
[0087] S101,根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合。
[0088] 具体的,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含的物联
网服务的数量与所述服务请求拆分成的子任务的项数相同。
[0089] 需要说明的是,在本申请中,物联网服务是指装载于所述托管设备上,用于完成一项指定功能的应用服务,例如,物联网服务a可以是装载在摄像设备A上的视频采集应用程
序。
[0090] 示例性的说明,以用户的服务请求是:“可疑车辆跟踪”为例,作为一可选实施例,可以将用户的服务请求拆分成5项子任务:tsk1、tsk2、tsk3、tsk4、tsk5,其中,子任务tsk1是:
视频流采集,子任务tsk2是:视频流分割提取,子任务tsk3是:图像处理,子任务tsk4是:声学
分析处理,子任务tsk5是:速度分析处理;此时,可以得到服务集合A为:{dc1·sr1,dc2·sr2,
dc3·sr3,dc4·sr4,dc5·sr5};其中,物联网服务sr1装载于托管设备dc1上,用于执行子任务
tsk1;物联网服务sr2装载于托管设备dc2上,用于执行子任务tsk2;物联网服务sr3装载于托
管设备dc3上,用于执行子任务tsk3;物联网服务sr4装载于托管设备dc4上,用于执行子任务
tsk4;物联网服务sr5装载于托管设备dc5上,用于执行子任务tsk5;这样,利用各托管设备上
装载的物联网服务,可以对托管设备捕获的实时视频流、声音信息、图像信息、速度信息等
数据进行计算处理,从而完成用户发出的“可疑车辆跟踪”的服务请求。
[0091] 具体的,由上述示例可知,能够完成用户的服务请求的服务集合中包含的物联网服务的数量与所述服务请求拆分成的子任务的项数相同,作为一可选实施例,可以在对用
户的服务请求进行拆分之后,从能够完成所述服务请求的服务集合中,提取距离该用户的
地理距离最近服务集合作为目标服务集合,以减少因传输距离产生的时延;另一方面,也可
以接收用户的服务指定指令,将所述服务指定指令中用户指定的服务集合作为目标服务集
合。
[0092] 需要说明的是,在对用户的服务请求进行拆分时,一方面,可以按照给定的任务拆分方式进行拆分,例如:只要确定用户发出的服务请求属于“可疑车辆跟踪”,则将服务请求
拆分成上述示例中的5项子任务;另一方面,还可以按照不定项的拆分方式进行拆分,例如:
若确定用户发出的服务请求属于“可疑车辆跟踪”,除将服务请求拆分成上述示例中的5项
子任务之外,还可以将服务请求只拆分成上述示例中的tsk1、tsk2、tsk3。
[0093] 示例性的说明,在按照给定的任务拆分方式对用户的服务请求进行拆分时,仍以上述示例中的服务请求:“可疑车辆跟踪”为例,若确定用户的服务请求中子任务的拆分方
式固定拆分成上述示例中的5项子任务:tsk1、tsk2、tsk3、tsk4、tsk5,则所述服务集合是能够
完成子任务:tsk1、tsk2、tsk3、tsk4、tsk5,的5种物联网服务以及装载有所述5种物联网服务
的托管设备,由于能够完成每项子任务的物联网服务可能并不唯一,因此,所述服务集合的
数量也可能并不唯一,例如,若物联网服务sr6装载于托管设备dc6上,物联网服务sr6也可以
执行任务tsk1,则服务集合A:{dc1·sr1,dc2·sr2,dc3·sr3,dc4·sr4,dc5·sr5}和服务集合
C:{dc6·sr6,dc2·sr2,dc3·sr3,dc4·sr4,dc5·sr5}均属于所述服务集合;此时,利用各所
述服务集合中托管设备的网关地址以及用户的网络位置,若确定相较于托管设备dc6,托管
设备dc1距离用户的地理距离更近,则可以提取服务集合A:{dc1·sr1,dc2·sr2,dc3·sr3,
dc4·sr4,dc5·sr5}作为目标服务集合。
[0094] 示例性的说明,在按照不定项的拆分方式,对用户的服务请求进行拆分时,仍以上述示例中的服务请求:“可疑车辆跟踪”为例,在对服务请求进行子任务拆分时,若除将服务
请求拆分成上述示例中的5项子任务之外,还可以将服务请求只拆分成上述示例中的tsk1、
tsk2、tsk3,则所述服务集合是能够完成子任务:tsk1、tsk2、tsk3、tsk4、tsk5,的5种物联网服
务以及装载有所述5种物联网服务的托管设备,或,能够完成子任务:tsk1、tsk2、tsk3的3种
物联网服务以及装载有所述3种物联网服务的托管设备,此时,服务集合B:{dc1·sr1,dc2·
sr2,dc3·sr3}和服务集合A:{dc1·sr1,dc2·sr2,dc3·sr3,dc4·sr4,dc5·sr5}都属于能够
完成所述服务请求的服务集合。
[0095] 同样的,考虑到能够完成每项子任务的物联网服务可能并不唯一,例如,物联网服务sr6装载于托管设备dc6上,物联网服务sr6也可以执行任务tsk1,则作为一可选实施例,可
以针对每种拆分方式,分别提取目标服务集合,例如,利用各所述服务集合中托管设备的网
关地址以及用户的网络位置,若确定相较于托管设备dc6,托管设备dc1距离用户的地理距离
更近,则可以提取服务集合A:{dc1·sr1,dc2·sr2,dc3·sr3,dc4·sr4,dc5·sr5}和服务集
合B:{dc1·sr1,dc2·sr2,dc3·sr3}均作为目标服务集合。
[0096] S102,利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案。
[0097] 具体的,其中,每一所述服务迁移策略用于表征在该目标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式。
[0098] 本申请实施例中,作为一可选实施例,在所述提取目标服务集合之后,所述方法还包括:
[0099] 针对所述目标服务集合中包含的每一物联网服务,判断所述目标服务集合中是否存在该物联网服务的可迁移托管设备,其中,所述可迁移托管设备是:所述目标服务集合包
含的所有托管设备中,除该物联网服务的托管设备之外,能够执行该物联网服务的剩余托
管设备;
[0100] 若确定存在所述可迁移托管设备,则以该物联网服务的托管设备作为服务发送设备,以该可迁移托管设备作为服务接收设备,生成该物联网服务的服务迁移策略,其中,所
述服务发送设备用于向所述服务接收设备发送该物联网服务,所述服务接收设备用于接收
并执行该物联网服务。
[0101] 示例性的说明,仍以上述示例中的服务请求:“可疑车辆跟踪”为例,若确定目标服务集合是服务集合A:{dc1·sr1,dc2·sr2,dc3·sr3,dc4·sr4,dc5·sr5},其中,若物联网服
务sr1在托管设备dc1和dc2之间可以进行服务迁移,则可以得到一个服务迁移策略a:{dc1,
dc2·(sr1,sr2),dc3·sr3,dc4·sr4,dc5·sr5},服务迁移策略a的物理含义是:将物联网服
务sr1从托管设备dc1上调度至托管设备dc2上执行,目标服务集合A中的其余托管设备与物
联网服务的执行关系保持不变。
[0102] S103,针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本。
[0103] 具体的,其中,所述服务调度成本包括:调度时间成本、调度能耗成本、调度空间成本、调度容量成本以及网络能量负载成本。
[0104] 需要说明的是,调度时间成本用于表征按照该候选调度方案进行物联网服务重调度所需消耗的时间;调度能耗成本用于表征按照该候选调度方案进行物联网服务重调度所
需消耗的设备能量;调度空间成本用于表征按照该候选调度方案进行物联网服务重调度
时,用户所在网络的空间覆盖范围与该候选调度方案中托管设备有效作业区域的重叠度;
调度容量成本用于表征按照该候选调度方案进行物联网服务重调度所需占用的设备存储
容量与带宽容量;网络能量负载成本用于表征按照该候选调度方案进行物联网服务重调度
所需消耗的网络能量负载。
[0105] S104,以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案。
[0106] 具体的,其中,所述效用评估模型用于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量值,所述目标调度方案是所述效用度量值最大
的候选调度方案。
[0107] 本申请实施例中,作为一可选实施例,可以按照以下公式构成的效用评估模型,计算第z个候选调度方案rsz的效用度量值U(rsz):
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115] 其中, 是候选调度方案rsz的时间评估效用值;
[0116] 是候选调度方案rsz的调度时间成本;
[0117] 是所有候选调度方案的调度时间成本中的最大值;
[0118] 是所有候选调度方案的调度时间成本中的最小值;
[0119] 是候选调度方案rsz的能耗评估效用值;
[0120] 是候选调度方案rsz的调度能耗成本;
[0121] 是所有候选调度方案的调度能耗成本中的最大值;
[0122] 是所有候选调度方案的调度能耗成本中的最小值;
[0123] 是候选调度方案rsz的空间评估效用值;
[0124] 是候选调度方案rsz的调度空间成本;
[0125] sptmax是所有候选调度方案的调度空间成本中的最大值;
[0126] sptmin是所有候选调度方案的调度空间成本中的最小值;
[0127] 是候选调度方案rsz的容量评估效用值;
[0128] 是候选调度方案rsz的调度容量成本;
[0129] cbfmax是所有候选调度方案的调度容量成本中的最大值;
[0130] cbfmin是所有候选调度方案的调度容量成本中的最小值;
[0131] 是候选调度方案rsz的网络能量负载评估效用值;
[0132] 是候选调度方案rsz的网络能量负载成本;
[0133] lbNmax是所有候选调度方案的网络能量负载成本中的最大值;
[0134] lbNmin是所有候选调度方案的网络能量负载成本中的最小值;
[0135] 是所述时间评估效用值的权重;
[0136] 是所述能耗评估效用值的权重;
[0137] Wspt是所述空间评估效用值的权重;
[0138] Wcbf是所述容量评估效用值的权重;
[0139] WlbN是所述网络能量负载评估效用值的权重;
[0140] 需要说明的是,权重 Wspt、Wcbf、WlbN的大小可以根据实际的调度需求进行调整,本申请对于上述权重的具体数值并不进行限定。
[0141] 本申请实施例中,作为一可选实施例,在输出所述目标调度方案之后,所述方法还包括:
[0142] 按照以下公式,计算该目标调度方案的调度总能耗预估值:
[0143]
[0144] Ecst(dck)=Einv(dck)+Ecmp(dck)+Etrs(dck);
[0145]
[0146]
[0147] Einv(dck)=1.0×(dck·f);
[0148] 其中,Xm是所述目标调度方案,E(Xm)是目标调度方案Xm的调度总能耗预估值,dck是目标调度方案Xm中包含的第k个托管设备,n是目标调度方案Xm中包含的所述托管设备的
总数,Ecst(dck)是按照目标调度方案Xm进行物联网服务重调度之后,托管设备dck上需要消
耗的能量,Einv(dck)是托管设备dck启动物联网服务时需要消耗的能量,dck·f是托管设备
dck每秒钟的CPU周期数,Etrs(dck)是托管设备dck与传输设备之间进行通信传输时消耗的能
量,dtkx是托管设备dck与所述传输设备之间进行通信传输时产生的传输数据量,rkx是所述
传输设备与托管设备dck之间进行通信传输时的传输速率,所述传输设备是目标调度方案Xm
包含的托管设备中,向托管设备dck发送传输数据的托管设备, 是所述传输设备处于通信
传输状态时的传输功率,Ecmp(dck)是托管设备dck执行物联网服务时消耗的能量,tski·crk
是托管设备dck上需要执行的第i个物联网服务执行任务tski时需要的CPU周期总数,N是托
管设备dck上需要执行的物联网服务的总个数,K是托管设备dck上的有效开关电容值,K可以
‑26
取值为10 ;
[0149] 按照以下公式,计算该目标调度方案的调度总时间预估值:
[0150]
[0151] Tcst(dck)=Tcmp(dck)+Ttrs(dck);
[0152]
[0153]
[0154] 其中,Xm是所述目标调度方案,T(Xm)是目标调度方案Xm的调度总时间预估值,dck是目标调度方案Xm中包含的第k个托管设备,n是目标调度方案Xm中包含的所述托管设备的
总数,Tcst(dck)是按照目标调度方案Xm进行物联网服务重调度之后,托管设备dck上需要消
耗的时间,Tcmp(dck)是托管设备dck执行物联网服务时消耗的时间,Ttrs(dck)是托管设备dck
与传输设备之间进行通信传输时消耗的时间,dtkx是托管设备dck与所述传输设备之间进行
通信传输时产生的传输数据量,rkx是所述传输设备与托管设备dck之间进行通信传输时的
传输速率,所述传输设备是目标调度方案Xm包含的托管设备中,向托管设备dck发送传输数
据的托管设备,tski·crk是托管设备dck上需要执行的第i个物联网服务执行任务tski时需
要的CPU周期总数,N是托管设备dck上需要执行的物联网服务的总个数,dck·f是托管设备
dck每秒钟的CPU周期数。
[0155] 示例性的说明,若目标调度方案Xm中包含托管设备dc1‑dc5,则可以按照上述的计算公式,对目标调度方案Xm在实际调度过程中,需要消耗的调度总能耗和调度总时间进行
预估,得到调度总能耗预估值为:E(Xm)=Ecst(dc1)+Ecst(dc2)+Ecst(dc3)+Ecst(dc4)+Ecst
(dc5);调度总时间预估值为:T(Xm)=Tcst(dc1)+Tcst(dc2)+Tcst(dc3)+Tcst(dc4)+Tcst(dc5)。
[0156] S105,利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求。
[0157] 具体的,其中,所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备是与所述目标物联网服务存在所述执行关系的托管设备。
[0158] 示例性的说明,若用户的服务请求ur=(tsk1,tsk2,tsk3,tsk4,tsk5),输出的目标调度方案为:{dc1,dc2·(sr1,sr2),dc3·sr3,dc4·sr4,dc5·sr5},其中,目标调度方案中物
联网服务与托管设备之间的执行关系为:物联网服务sr1和sr2在托管设备dc2上执行,物联
网服务sr3在托管设备dc3上执行,物联网服务sr4在托管设备dc4上执行,物联网服务sr5在托
管设备dc5上执行;则调度服务器按照所述执行关系,将物联网服务sr1从托管设备dc1上调
度至托管设备dc2上执行子任务tsk1,物联网服务sr2在托管设备dc2上执行子任务tsk2,物联
网服务sr3在托管设备dc3上执行子任务tsk3,物联网服务sr4在托管设备dc4上执行子任务
tsk4,物联网服务sr5在托管设备dc5上执行子任务tsk5,完成用户的服务请求ur。
[0159] 在一个可行的实施方案中,图2示出了本申请实施例所提供的一种利用遗传算法模型,确定候选调度方案的方法的流程示意图,如图2所示,在执行步骤S102时,该方法还包
括S201‑S206;具体的:
[0160] S201,将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群。
[0161] 示例性的说明,若确定目标服务集合中有Z种服务迁移策略,则可以得到第一父代种群R1={rs1,rs2,rs3,...,rsz},其中,rsz是输入的第z个服务迁移策略。
[0162] S202,利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是
所述第一父代种群的复制结果。
[0163] 具体的,作为一可选实施例,可以利用所述适应度函数,对第一子代种群和第一父代种群合并后的种群Rs进行非支配排序,其中,预先设置的适应度函数可以是以下函数:
[0164] f1=Tmgt(rsx);
[0165] f2=Emgt(rsx);
[0166] f3=spt(rsx);
[0167] f4=cbf(rsx);
[0168] f5=lbN(rsx);
[0169] 其中,rsx是用于进行非支配排序的种群Rs中的第x个服务迁移策略;
[0170] 适应度函数f1用于表征第x个服务迁移策略rsx的调度时间成本;
[0171] 适应度函数f2用于表征第x个服务迁移策略rsx的调度能耗成本;
[0172] 适应度函数f3用于表征第x个服务迁移策略rsx的调度空间成本;
[0173] 适应度函数f4用于表征第x个服务迁移策略rsx的调度容量成本;
[0174] 适应度函数f5用于表征第x个服务迁移策略rsx的网络能量负载成本。
[0175] 需要说明的是,所述非支配排序是指:对于第一子代种群和第一父代种群合并后的种群Rs中的第i个服务迁移策略rsi和第j个服务迁移策略rsj,比较rsi和rsj的适用度函
数的值,若对于所有的j=1,2,…,n,rsj的适应度函数的值都小于或者等于rsi的适应度函
数的值,则确定rsi是集合Rs中的非支配个体,其中,n是种群Rs中包含的服务迁移策略的总
个数,i≠j。
[0176] 示例性的说明,以第一父代种群R1={rs1,rs2,rs3,...,rsz}为例,则第一子代种群r1={rs1,rs2,rs3,...,rsz},第一子代种群和第一父代种群合并后的种群Rs={rs1,...,
rsz,rs1,...,rsz},利用上述的适应度函数f1、f2、f3、f4以及f5,对种群Rs进行非支配排序,若
确定rs2、rs5、rs7和rs14为种群Rs中的非支配个体,则可以得到非支配集合L={rs2,rs5,rs7,
rs14}。
[0177] S203,利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个
体的数量相同。
[0178] 示例性的说明,仍以第一父代种群R1={rs1,rs2,rs3,...,rsz}为例,则第一阈值数量为z个,第一子代种群和第一父代种群合并后的种群Rs={rs1,...,rsz,rs1,...,rsz},在
对种群Rs进行非支配排序之后,得到非支配集合L={L1,L2,...,Ln},利用拥挤度比较算子,
计算非支配集合L中每一非支配个体的个体拥挤度,按照计算结果由大到小的顺序,对非支
配集合L中的非支配个体进行排序,提取排名靠前的z个非支配个体作为第二父代种群R2。
[0179] S204,对所述第二父代种群进行交叉、变异,得到第二子代种群。
[0180] 具体的,可以利用NSGA‑II(多目标遗传算法)算法,对第二父代种群R2进行交叉、变异,得到第二子代种群r2。
[0181] S205,利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算。
[0182] 具体的,所述迭代计算是指:
[0183] 在得到第二子代种群之后,返回步骤S202,利用所述适应度函数,对第二子代种群和第二父代种群进行非支配排序,得到由非支配个体组成的非支配集合;
[0184] 继续执行步骤S203,利用拥挤度比较算子,从当前的非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第三父代种群;
[0185] 继续执行步骤S204,对第三父代种群进行交叉、变异,得到第三子代种群;
[0186] 判断当前的迭代计算的次数是否达到预先设置的第二阈值数量;
[0187] 若当前的迭代计算的次数小于所述第二阈值数量,则返回步骤S202;
[0188] 若当前的迭代计算的次数大于或者等于所述第二阈值数量,则结束迭代计算。
[0189] S206,若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。
[0190] 具体的,预先设置的第二阈值数量用于表征计算结果达到收敛,作为一可选实施例,所述第二阈值数量可以取值为100。
[0191] 示例性的说明,若确定迭代计算的次数达到100次,则输出当前的父代种群Rx={rsx1,rsx2,rsx3,...,rsxz},其中,服务迁移策略rsx1、rsx2…rsxz即为目标服务集合的候选调
度方案。
[0192] 在一个可行的实施方案中,在执行步骤S103时,具体的,计算候选调度方案的所述调度时间成本,包括:
[0193] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移时间成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0194]
[0195] 其中,Tmgt1是所述第一迁移时间成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备;
[0196] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移时间成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0197]
[0198] 其中,Tmgt2是所述第二迁移时间成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备;
[0199] 计算每一所述第一迁移时间成本与每一所述第二迁移时间成本的和值,将计算结果作为所述调度时间成本。
[0200] 本申请实施例中,作为一可选实施例,可以按照以下公式,计算所述传输设备与托管设备dci之间进行通信传输时的传输速率rix:
[0201]
[0202] 其中,dcx是所述传输设备,A1是指传输设备dcx与托管设备dci之间通过局域网进行通信传输;
[0203] A2是指传输设备dcx与托管设备dci之间通过广域网进行通信传输;
[0204] BL是传输设备dcx与托管设备dci所在的局域网的传输带宽;
[0205] BW是传输设备dcx与托管设备dci所在的广域网的传输带宽;
[0206] 是传输设备dcx处于通信传输状态时的传输功率;
[0207] gix是传输设备dcx与托管设备dci之间进行通信传输时的信道增益;
[0208] θ是通信传输时的背景噪声功率,取值为‑174dBm/Hz。
[0209] 需要说明的是,对于属于同一边缘网络覆盖范围内的传输设备与托管设备,可以确定该传输设备与该托管设备之间通过局域网进行通信传输;对于属于不同边缘网络覆盖
范围内的传输设备与托管设备,则可以确定该传输设备与该托管设备之间通过广域网进行
通信传输。在计算迁出设备dcy与托管设备dcj之间进行所述服务迁移时的传输速率rjy时,
只需将上述计算公式中传输设备dcx的相关参数更换为迁出设备dcy的对应参数即可,在此
不再赘述。
[0210] 在一个可行的实施方案中,在执行步骤S103时,具体的,计算候选调度方案的所述调度能耗成本,包括:
[0211] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移能耗成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0212]
[0213] 其中,Emgt1是所述第一迁移能耗成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备, 是所述传输设备处于通信传输状态时的传输功率, 是所述传输设备处于工作状
态时的功率;
[0214] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移能耗成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0215]
[0216] 其中,Emgt2是所述第二迁移能耗成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备, 是所述迁出设备处于服务迁移状态时的传输功率, 是所述迁出设备处于空
闲状态时的功率;
[0217] 计算每一所述第一迁移能耗成本与每一所述第二迁移能耗成本的和值,将计算结果作为所述调度能耗成本。
[0218] 在一个可行的实施方案中,在执行步骤S103时,具体的,计算候选调度方案的所述调度空间成本,包括:
[0219] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度空间成本:
[0220]
[0221] 其中,Xn是第n个候选调度方案,spt(Xn)是候选调度方案Xn的调度空间成本,dck是候选调度方案Xn中包含的第k个托管设备,ur·spt是所述用户所在网络的空间覆盖范围,
dck·spt是托管设备dck所在网络的空间覆盖范围,N是候选调度方案Xn中包含的所述托管
设备的总数。
[0222] 在一个可行的实施方案中,在执行步骤S103时,具体的,计算候选调度方案的所述调度容量成本,包括:
[0223] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度容量成本:
[0224] Ccst(dck)≤Crsd(dck);
[0225]
[0226]
[0227] 其中,Xn是第n个候选调度方案,cbf(Xn)是候选调度方案Xn的调度容量成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备的总
数,Crsd(dck)是托管设备dck的剩余存储容量与剩余带宽容量的和值,Ccst(dck)是在所述服
务迁移之后,迁移到托管设备dck上的物联网服务所占用的存储容量与带宽容量的和值,sri
是迁移到托管设备dck上的第i个物联网服务,sri·stg是物联网服务sri所占用的存储容
量,sri·bnd是物联网服务sri所占用的带宽容量,m是迁移到托管设备dck上的物联网服务
的总个数。
[0228] 在一个可行的实施方案中,在执行步骤S103时,具体的,计算候选调度方案的所述网络能量负载成本,包括:
[0229] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述网络能量负载成本:
[0230]
[0231] Ecst(dck)=Einv(dck)+Ecmp(dck)+Etrs(dck);
[0232]
[0233]
[0234] Einv(dck)=1.0×(dck·f)
[0235] 其中,Xn是第n个候选调度方案,lbN(Xn)是候选调度方案Xn的网络能量负载成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备
的总数,Ersd(dck)是托管设备dck的剩余能量,Ecst(dck)是按照候选调度方案Xn进行物联网
服务重调度之后,托管设备dck上需要消耗的能量,Einv(dck)是托管设备dck启动物联网服务
时需要消耗的能量,dck·f是托管设备dck每秒钟的CPU周期数,Etrs(dck)是托管设备dck与
传输设备之间进行通信传输时消耗的能量,dtkx是托管设备dck与所述传输设备之间进行通
信传输时产生的传输数据量,rkx是所述传输设备与托管设备dck之间进行通信传输时的传
输速率,所述传输设备是候选调度方案Xn包含的托管设备中,向托管设备dck发送传输数据
的托管设备, 是所述传输设备处于通信传输状态时的传输功率,Ecmp(dck)是托管设备dck
执行物联网服务时消耗的能量,tski·crk是托管设备dck上需要执行的第i个物联网服务执
行任务tski时需要的CPU周期总数,m是托管设备dck上需要执行的物联网服务的总个数,K是
‑26
托管设备dck上的有效开关电容值,作为一可选实施例,K可以取值为10 。
[0236] 实施例二
[0237] 图3示出了本申请实施例提供的一种物联网服务重调度的系统,所述系统包括:调度服务器301、边缘服务器302以及物联网设备303;
[0238] 所述边缘服务器302,用于通过局域网与属于该局域网内的物联网设备进行通信连接,形成以该边缘服务器为中心的边缘网络,其中,每一所述边缘服务器之间通过广域网
进行通信连接;
[0239] 所述调度服务器301,用于对所述边缘服务器和/或所述物联网设备上托管的物联网服务进行重调度;
[0240] 所述物联网设备303,用于接收并执行所述调度服务器发送的重调度指令;
[0241] 所述边缘服务器,还用于接收并执行所述调度服务器发送的重调度指令;
[0242] 其中,所述调度服务器301,包括:
[0243] 第一筛选单元3011,用于根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网
服务的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中
包含的物联网服务的数量与所述服务请求拆分成的子任务的项数相同;
[0244] 第二筛选单元3012,用于利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征
在该目标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;
[0245] 数据处理单元3013,用于针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能
耗成本、调度空间成本、调度容量成本以及网络能量负载成本;
[0246] 数据输出单元3014,用于以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估
模型用于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用
度量值,所述目标调度方案是所述效用度量值最大的候选调度方案;
[0247] 服务调度单元3015,用于利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其
中,所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管
设备是与所述目标物联网服务存在所述执行关系的托管设备。
[0248] 可选的,针对每一边缘服务器302,可以将该边缘服务器302作为边缘网络的中心节点,将与该边缘服务器302属于同一局域网的物联网设备303作为边缘网络的网络节点,
建立边缘网络;其中,不同边缘网络的边缘服务器302之间通过广域网进行通信连接,调度
服务器301可以向各边缘网络内的边缘服务器302和/或物联网设备303下发目标调度方案,
以控制目标调度方案中包含的托管设备之间进行物联网服务的重调度。这样,在单一的边
缘网络无法满足用户的服务请求时,可以通过各边缘网络之间的协同作用,来进行服务重
调度,有效地提高资源利用效率以及物联网服务质量。
[0249] 可选的,第一筛选单元3011,还用于:
[0250] 针对所述目标服务集合中包含的每一物联网服务,判断所述目标服务集合中是否存在该物联网服务的可迁移托管设备,其中,所述可迁移托管设备是:所述目标服务集合包
含的所有托管设备中,除该物联网服务的托管设备之外,能够执行该物联网服务的剩余托
管设备;
[0251] 若确定存在所述可迁移托管设备,则以该物联网服务的托管设备作为服务发送设备,以该可迁移托管设备作为服务接收设备,生成该物联网服务的服务迁移策略,其中,所
述服务发送设备用于向所述服务接收设备发送该物联网服务,所述服务接收设备用于接收
并执行该物联网服务。
[0252] 可选的,第二筛选单元3012,还用于:
[0253] 将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群;
[0254] 利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是所述第
一父代种群的复制结果;
[0255] 利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个体的
数量相同;
[0256] 对所述第二父代种群进行交叉、变异,得到第二子代种群;
[0257] 利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算;
[0258] 若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。
[0259] 可选的,数据处理单元3013,还用于:
[0260] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移时间成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0261]
[0262] 其中,Tmgt1是所述第一迁移时间成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备;
[0263] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移时间成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0264]
[0265] 其中,Tmgt2是所述第二迁移时间成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备;
[0266] 计算每一所述第一迁移时间成本与每一所述第二迁移时间成本的和值,将计算结果作为所述调度时间成本。
[0267] 可选的,数据处理单元3013,还用于:
[0268] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移能耗成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0269]
[0270] 其中,Emgt1是所述第一迁移能耗成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备, 是所述传输设备处于通信传输状态时的传输功率, 是所述传输设备处于工作状
态时的功率;
[0271] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移能耗成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0272]
[0273] 其中,Emgt2是所述第二迁移能耗成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备, 是所述迁出设备处于服务迁移状态时的传输功率, 是所述迁出设备处于空
闲状态时的功率;
[0274] 计算每一所述第一迁移能耗成本与每一所述第二迁移能耗成本的和值,将计算结果作为所述调度能耗成本。
[0275] 可选的,数据处理单元3013,还用于:
[0276] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度空间成本:
[0277]
[0278] 其中,Xn是第n个候选调度方案,spt(Xn)是候选调度方案Xn的调度空间成本,dck是候选调度方案Xn中包含的第k个托管设备,ur·spt是所述用户所在网络的空间覆盖范围,
dck·spt是托管设备dck所在网络的空间覆盖范围,N是候选调度方案Xn中包含的所述托管
设备的总数。
[0279] 可选的,数据处理单元3013,还用于:
[0280] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度容量成本:
[0281] Ccst(dck)≤Crsd(dck);
[0282]
[0283]
[0284] 其中,Xn是第n个候选调度方案,cbf(Xn)是候选调度方案Xn的调度容量成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备的总
数,Crsd(dck)是托管设备dck的剩余存储容量与剩余带宽容量的和值,Ccst(dck)是在所述服
务迁移之后,迁移到托管设备dck上的物联网服务所占用的存储容量与带宽容量的和值,sri
是迁移到托管设备dck上的第i个物联网服务,sri·stg是物联网服务sri所占用的存储容
量,sri·bnd是物联网服务sri所占用的带宽容量,m是迁移到托管设备dck上的物联网服务
的总个数。
[0285] 可选的,数据处理单元3013,还用于:
[0286] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述网络能量负载成本:
[0287]
[0288] Ecst(dck)=Einv(dck)+Ecmp(dck)+Etrs(dck);
[0289]
[0290]
[0291] Einv(dck)=1.0×(dck·f)
[0292] 其中,Xn是第n个候选调度方案,lbN(Xn)是候选调度方案Xn的网络能量负载成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备
的总数,Ersd(dck)是托管设备dck的剩余能量,Ecst(dck)是按照候选调度方案Xn进行物联网
服务重调度之后,托管设备dck上需要消耗的能量,Einv(dck)是托管设备dck启动物联网服务
时需要消耗的能量,dck·f是托管设备dck每秒钟的CPU周期数,Etrs(dck)是托管设备dck与
传输设备之间进行通信传输时消耗的能量,dtkx是托管设备dck与所述传输设备之间进行通
信传输时产生的传输数据量,rkx是所述传输设备与托管设备dck之间进行通信传输时的传
输速率,所述传输设备是候选调度方案Xn包含的托管设备中,向托管设备dck发送传输数据
的托管设备, 是所述传输设备处于通信传输状态时的传输功率,Ecmp(dck)是托管设备dck
执行物联网服务时消耗的能量,tski·crk是托管设备dck上需要执行的第i个物联网服务执
行任务tski时需要的CPU周期总数,m是托管设备dck上需要执行的物联网服务的总个数,K是
‑26
托管设备dck上的有效开关电容值,K可以取值为10 。
[0293] 实施例三
[0294] 图4示出了本申请实施例所提供的一种物联网服务重调度的装置的结构示意图,所述装置用于对边缘服务器和/或物联网设备上托管的物联网服务进行重调度,所述装置
包括:
[0295] 提取模块401,用于根据用户的服务请求,从能够完成所述服务请求的服务集合中,提取目标服务集合,其中,所述服务集合包括:物联网服务以及装载有所述物联网服务
的托管设备,所述托管设备是所述边缘服务器和/或所述物联网设备,所述服务集合中包含
的物联网服务的数量与所述服务请求拆分成的子任务的项数相同;
[0296] 筛选模块402,用于利用遗传算法模型,从所述目标服务集合对应的服务迁移策略中,确定所述目标服务集合的候选调度方案,其中,每一所述服务迁移策略用于表征在该目
标服务集合中,所述物联网服务在各所述托管设备之间的一种服务迁移方式;
[0297] 计算模块403,用于针对每一所述候选调度方案,利用调度成本计算模型,计算该候选调度方案的服务调度成本,其中,所述服务调度成本包括:调度时间成本、调度能耗成
本、调度空间成本、调度容量成本以及网络能量负载成本;
[0298] 输出模块404,用于以计算得到的每一所述服务调度成本作为输入参数,利用效用评估模型,从所有的所述候选调度方案中,输出目标调度方案,其中,所述效用评估模型用
于将所述输入参数作为效用度量函数的自变量,计算每一所述候选调度方案的效用度量
值,所述目标调度方案是所述效用度量值最大的候选调度方案;
[0299] 调度模块405,用于利用所述目标调度方案中物联网服务与托管设备之间的执行关系,将目标物联网服务调度到指定托管设备上执行,以完成所述用户的服务请求,其中,
所述目标物联网服务是该目标调度方案中发生服务迁移的物联网服务,所述指定托管设备
是与所述目标物联网服务存在所述执行关系的托管设备。
[0300] 可选的,提取模块401,还用于:
[0301] 针对所述目标服务集合中包含的每一物联网服务,判断所述目标服务集合中是否存在该物联网服务的可迁移托管设备,其中,所述可迁移托管设备是:所述目标服务集合包
含的所有托管设备中,除该物联网服务的托管设备之外,能够执行该物联网服务的剩余托
管设备;
[0302] 若确定存在所述可迁移托管设备,则以该物联网服务的托管设备作为服务发送设备,以该可迁移托管设备作为服务接收设备,生成该物联网服务的服务迁移策略,其中,所
述服务发送设备用于向所述服务接收设备发送该物联网服务,所述服务接收设备用于接收
并执行该物联网服务。
[0303] 可选的,筛选模块402,还用于:
[0304] 将每一所述服务迁移策略作为一个初始种群个体,输入所述遗传算法模型中,得到由所述初始种群个体组成的第一父代种群;
[0305] 利用预先设置的适应度函数,对第一子代种群和所述第一父代种群合并后的种群进行非支配排序,得到由非支配个体组成的非支配集合,其中,所述第一子代种群是所述第
一父代种群的复制结果;
[0306] 利用拥挤度比较算子,从所述非支配集合中,提取个体拥挤度排名靠前的第一阈值数量的非支配个体,得到第二父代种群,其中,所述第一阈值数量与所述初始种群个体的
数量相同;
[0307] 对所述第二父代种群进行交叉、变异,得到第二子代种群;
[0308] 利用所述第二父代种群和所述第二子代种群,返回到非支配排序的步骤,进行迭代计算;
[0309] 若确定所述迭代计算的次数达到第二阈值数量,则输出当前的父代种群中包含的每一个服务迁移策略作为所述候选调度方案。
[0310] 可选的,计算模块403,还用于:
[0311] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移时间成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0312]
[0313] 其中,Tmgt1是所述第一迁移时间成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备;
[0314] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移时间成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0315]
[0316] 其中,Tmgt2是所述第二迁移时间成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备;
[0317] 计算每一所述第一迁移时间成本与每一所述第二迁移时间成本的和值,将计算结果作为所述调度时间成本。
[0318] 可选的,计算模块403,还用于:
[0319] 针对该候选调度方案中包含的每一第一物联网服务,按照以下公式计算该第一物联网服务的第一迁移能耗成本,其中,所述第一物联网服务是该候选调度方案包含的物联
网服务中没有发生所述服务迁移的物联网服务:
[0320]
[0321] 其中,Emgt1是所述第一迁移能耗成本,dci是所述第一物联网服务的托管设备,dci·f是托管设备dci每秒钟的CPU周期数,tskm·cri是所述第一物联网服务在托管设备dci
上执行任务tskm需要的CPU周期总数,tskm是所述第一物联网服务为响应所述服务请求而执
行的功能任务,dtix是托管设备dci与传输设备之间进行通信传输时产生的传输数据量,rix
是所述传输设备与托管设备dci之间进行通信传输时的传输速率,所述传输设备是该候选
调度方案包含的托管设备中,向托管设备dci发送用于执行任务tskm的传输数据的托管设
备, 是所述传输设备处于通信传输状态时的传输功率, 是所述传输设备处于工作状
态时的功率;
[0322] 针对该候选调度方案中包含的每一第二物联网服务,按照以下公式计算该第二物联网服务的第二迁移能耗成本,其中,所述第二物联网服务是该候选调度方案包含的物联
网服务中发生所述服务迁移的物联网服务:
[0323]
[0324] 其中,Emgt2是所述第二迁移能耗成本,dcj是用于接收并执行所述第二物联网服务的托管设备,srk是所述第二物联网服务,srk·ωkd是所述第二物联网服务的数据容量,
tskk·crj是所述第二物联网服务在托管设备dcj上执行任务tskk需要的CPU周期总数,dcj·
f是托管设备dcj每秒钟的CPU周期数,tskk是所述第二物联网服务为响应所述服务请求而执
行的功能任务,rjy是迁出设备与托管设备dcj之间进行所述服务迁移时的传输速率,所述迁
出设备是该候选调度方案包含的托管设备中,向托管设备dcj发送所述第二物联网服务的
托管设备, 是所述迁出设备处于服务迁移状态时的传输功率, 是所述迁出设备处于空
闲状态时的功率;
[0325] 计算每一所述第一迁移能耗成本与每一所述第二迁移能耗成本的和值,将计算结果作为所述调度能耗成本。
[0326] 可选的,计算模块403,还用于:
[0327] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度空间成本:
[0328]
[0329] 其中,Xn是第n个候选调度方案,spt(Xn)是候选调度方案Xn的调度空间成本,dck是候选调度方案Xn中包含的第k个托管设备,ur·spt是所述用户所在网络的空间覆盖范围,
dck·spt是托管设备dck所在网络的空间覆盖范围,N是候选调度方案Xn中包含的所述托管
设备的总数。
[0330] 可选的,计算模块403,还用于:
[0331] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述调度容量成本:
[0332] Ccst(dck)≤Crsd(dck);
[0333]
[0334]
[0335] 其中,Xn是第n个候选调度方案,cbf(Xn)是候选调度方案Xn的调度容量成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备的总
数,Crsd(dck)是托管设备dck的剩余存储容量与剩余带宽容量的和值,Ccst(dck)是在所述服
务迁移之后,迁移到托管设备dck上的物联网服务所占用的存储容量与带宽容量的和值,sri
是迁移到托管设备dck上的第i个物联网服务,sri·stg是物联网服务sri所占用的存储容
量,sri·bnd是物联网服务sri所占用的带宽容量,m是迁移到托管设备dck上的物联网服务
的总个数。
[0336] 可选的,计算模块403,还用于:
[0337] 针对该候选调度方案中包含的每一所述托管设备,按照以下公式计算该候选调度方案的所述网络能量负载成本:
[0338]
[0339] Ecst(dck)=Einv(dck)+Ecmp(dck)+Etrs(dck);
[0340]
[0341]
[0342] Einv(dck)=1.0×(dck·f)
[0343] 其中,Xn是第n个候选调度方案,lbN(Xn)是候选调度方案Xn的网络能量负载成本,dck是候选调度方案Xn中包含的第k个托管设备,N是候选调度方案Xn中包含的所述托管设备
的总数,Ersd(dck)是托管设备dck的剩余能量,Ecst(dck)是按照候选调度方案Xn进行物联网
服务重调度之后,托管设备dck上需要消耗的能量,Einv(dck)是托管设备dck启动物联网服务
时需要消耗的能量,dck·f是托管设备dck每秒钟的CPU周期数,Etrs(dck)是托管设备dck与
传输设备之间进行通信传输时消耗的能量,dtkx是托管设备dck与所述传输设备之间进行通
信传输时产生的传输数据量,rkx是所述传输设备与托管设备dck之间进行通信传输时的传
输速率,所述传输设备是候选调度方案Xn包含的托管设备中,向托管设备dck发送传输数据
的托管设备, 是所述传输设备处于通信传输状态时的传输功率,Ecmp(dck)是托管设备dck
执行物联网服务时消耗的能量,tski·crk是托管设备dck上需要执行的第i个物联网服务执
行任务tski时需要的CPU周期总数,m是托管设备dck上需要执行的物联网服务的总个数,K是
‑26
托管设备dck上的有效开关电容值,K可以取值为10 。
[0344] 实施例四
[0345] 如图5所示,本申请一实施例提供了一种计算机设备500,用于执行本申请中的物联网服务重调度的方法,该设备包括存储器501、处理器502及存储在该存储器501上并可在
该处理器502上运行的计算机程序,其中,上述处理器502执行上述计算机程序时实现上述
物联网服务重调度的方法的步骤。
[0346] 具体地,上述存储器501和处理器502可以为通用的存储器和处理器,这里不做具体限定,当处理器502运行存储器501存储的计算机程序时,能够执行上述物联网服务重调
度的方法。
[0347] 对应于本申请中的物联网服务重调度的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行
时执行上述物联网服务重调度的方法的步骤。
[0348] 具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述物联网服务重调度的方法。
[0349] 在本申请所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻
辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可
以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间
的耦合或直接耦合或通信连接可以是通过一些通信接口,系统或单元的间接耦合或通信连
接,可以是电性,机械或其它的形式。
[0350] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0351] 另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0352] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存
储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0353] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第
一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0354] 最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申
请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员
在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻
易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使
相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护
范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。