1.一种基于MEC的软件定义车联网服务迁移方法,其特征在于,该方法包括:车辆用户在行驶过程中将产生的计算任务输入到车联网;车联网根据计算任务进行任务迁移;采用Dijkstra路由算法对任务迁移路径进行选取,得到最优路径;根据最优路径确定车辆用户的优化目标,根据优化目标计算车辆用户的时延函数;采用Q‑learning算法对时延函数进行优化,得到最优时延函数;根据最优时延函数计算迁移的奖励函数,当奖励函数最大时,为该任务迁移路径为最优迁移方案;其中,MEC表示移动边缘计算, Dijkstra路由算法表示迪杰斯特拉路由算法,Q‑learning表示强化学习算法;
根据车联网服务迁移的优化目标确定车辆用户的时延函数为:其中, 为车辆总的任务数据大小,为完成车辆的任务所需要的CPU周期数,为分配比例系数, 是带宽,p、h分别是车辆在信道 的传输功率和信道增益, 是汽车终端的高斯白噪声,是汽车用户与基站和路边单元的干扰,是车辆上传任务时与路边单元的距离, 表示车辆自身的计算能力, 和 为原始MEC服务器以及目的MEC服务器分配给该任务的计算资源,是虚拟机迁移所选择的链路, ,为迁移期间的脏页率,为虚拟机所处的数据中心的网络带宽, 为迭代次数, 为虚拟机在目的物理机的重启时间。
2.根据权利要求1所述的一种基于MEC的软件定义车联网服务迁移方法,其特征在于,车辆用户产生的计算任务包括本地执行、原始路边单元执行和目标路边单元执行三部分;
车辆用户在进行移动时,任务从原始路边单元迁移到目的路边单元,使得虚拟机VM发生迁移;虚拟机在进行迁移过程中从原始路边单元到目的路边单元的多条迁移路径中选择一条最优的路径进行迁移,在最优路径下优化虚拟机的迁移时间。
3.根据权利要求1所述的一种基于MEC的软件定义车联网服务迁移方法,其特征在于,采用Dijkstra路由算法对任务迁移路径进行选取的过程包括:步骤1:获取城市分布模型图 ,在图中确定起点路边单元A和目的路边单元B的位置;
步骤2:根据城市分布模型图计算图中不同节点对应的权值矩阵D,并生成初始节点V=ones(1, );
步骤3:根据权值矩阵D计算初始节点到下一节点中所有路径的距离,选取最短距离的路径作为两个节点之间的最优子路径;
步骤4:以最优子路径的终点作为新的路径的起点,计算下一节点中所有路径的距离,选取最短距离的路径作为这两个节点的最优子路径;
步骤5:重复步骤4,直到任务迁移到目的路边单元为止;
步骤6:根据所有的最优子路径采用回溯法从目的路边单元到起点路边单元的反向搜索路径,得到通信链路I、路径的服务器数以及最短迁移路径。
4.根据权利要求1所述的一种基于MEC的软件定义车联网服务迁移方法,其特征在于,车联网服务迁移的优化目标包括:车辆将部分数据传输给路边单元的时延函数 ,车辆本地计算时间函数,原始MEC服务器边缘计算时延函数 ,目的MEC服务器边缘计算时延函数,虚拟机迁移时间 以及虚拟机宕机时间 。
5.根据权利要求1所述的一种基于MEC的软件定义车联网服务迁移方法,其特征在于,采用Q‑learning算法对时延函数进行优化的具体步骤为:步骤1:根据车辆用户的任务迁移状态和优化目标抽象出目标函数,通过目标函数获取车辆用户的状态集 和行为集 ;
步骤2:根据车辆用户的状态集和行为集构建Q矩阵,对Q矩阵进行初始化;Q‑learning算法的Q矩阵是一个以状态为行、动作为列的矩阵,在最初对Q矩阵进行初始化,将其中的值全部置为0;
步骤3:车俩用户随机选取状态集中的一个初始状态S,根据初始状态采用贪婪策略得到对应的行为;
步骤4:采用Q值公式对选取的行为进行状态更新,即对Q矩阵中不同行为所得奖励进行更新,对应的值为不同状态下采取不同行为所得的奖励;
步骤5:将更新后的状态作为当前任务的状态进行下一次任务状态更新;不断重复步骤
3、4、5,直至Q矩阵收敛;
步骤6:当Q矩阵收敛时,通过Q矩阵得到每个状态的最优奖励r;
步骤7:将所有最优奖励相加,得到最终奖励 ;当 最大时,为该任务迁移路径为最优迁移方案。
6.根据权利要求5所述的一种基于MEC的软件定义车联网服务迁移方法,其特征在于,Q值计算公式为:
其中,表示状态集,表示动作集,表示学习率, 表示在状态 下执行动作将得到的回报,表示折扣因子。
7.根据权利要求5所述的一种基于MEC的软件定义车联网服务迁移方法,其特征在于,最终奖励 的表达式为:
其中,表示虚拟机迁移时间模型参数,表示迭代次数,E表示系统内所有路边单元之间的通信链路,表示虚拟机迁移所选择的链路, 表示目的路边单元的任务数据大小,L表示虚拟机所处的数据中心的网络带宽, 表示虚拟机在目的物理机的重启时间。