基于SDN的车联网任务卸载的优化方法转让专利

申请号 : CN202110330542.5

文献号 : CN113114738B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 胡斌杰杨小淞

申请人 : 华南理工大学

摘要 :

本发明公开了一种基于SDN的车联网任务卸载的优化方法,步骤如下:S1、建立包括软件定义网络SDN、移动车辆和边缘服务器的车联网通信场景;S2、将场景中特定车辆发起的任务分解为多个子任务,以组播的方式向其他边缘节点并行传输和计算;S3、将任务传输和计算的系统性风险归一化为泊松分布,并计算边缘节点处理任务失败的发生概率;S4、建立任务再处理机制,构建时延约束条件;S5、以最大化车联网系统的可靠性为目标,结合约束条件,建立最优化问题模型;利用粒子群算法对其进行求解,得到车联网系统中车辆本身和其他边缘节点协同处理的子任务分配方案。本发明以更高的可靠分对基于SDN的车联网任务卸载的优化问题进行求解。

权利要求 :

1.一种基于SDN的车联网任务卸载的优化方法,其特征在于,所述的任务卸载方法包括以下步骤:

S1、构建一个部署有SDN控制器、基站、MEC服务器和车辆的车联网应用场景,其中,车辆具备V2V组播和V2I通信能力,簇头车辆向基站中的SDN控制器发起任务卸载请求,SDN控制器通过南向接口发现V2V组播链路和V2I链路,SDN控制器通过北向接口集中控制网络的计算资源,SDN控制器通过软件编程的方式调用底层的计算资源,将原任务分割为未知的若干个子任务,SDN表示软件定义网络,V2V表示车辆到车辆,V2I表示车辆到基础设施,MEC表示多接入边缘计算;

S2、车联网应用场景中簇头车辆将部分子任务以D2D组播的通信方式卸载至附近的移动车辆,或将部分子任务卸载至附近基础设施中的MEC服务器,并得出各个部分子任务传输和处理的时延,其中,D2D表示终端直通;

S3、针对车联网系统的系统性风险,将失败的案例归一化为一个由时延和故障率驱动的泊松分布,计算出各个部分子任务传输和处理的可靠性和系统存在故障的发生概率Pδ(ζ,ζ′);

S4、考虑车联网系统中任务传输或失败的可能性,以系统最坏的情况,即任务传输和处理结束时发生故障,建立任务再处理机制,边缘服务器部分的子任务发生故障后需要簇头车辆进行任务重传、移动车辆部分的子任务发生故障后需选取无故障车辆中计算力最大的一个节点作为再处理车辆节点、簇头车辆部分的子任务发生故障后只需重新处理一次,最后重新计算任务传输和处理的时延,构建优化目标R(Ψ,θ)和时延约束条件;

S5、以最大化车联网系统任务传输和处理的可靠性R(Ψ,θ)为目标,结合约束条件,建立最优化问题模型,采用粒子群算法进行求解,得到簇头车辆的任务卸载比例最优解,以保证车联网系统任务传输和处理的可靠性最大,SDN控制器即可将最优的任务卸载比例回传至簇头车辆,簇头车辆即可执行可靠性最大的任务卸载方案;

其中,所述的步骤S1中,根据车联网应用场景中簇头车辆发起任务的属性、簇头车辆与边缘服务节点之间的信道容量规定具体的卸载比例,过程如下:车联网应用场景中,簇头车辆发起任务的属性为Ψm={Cm,Dm,Tm},Cm表示完成任务所需的CPU周期总数,Dm表示输入数据的大小,Tm表示完成任务的时延约束,定义任务的计算复杂度为αm,表达式为:

Cm=αmDm         (1)场景中簇头车辆得到的任务卸载比例由θ定义,簇头车辆被分配的卸载比例为θs,边缘服务器被分配的卸载比例为θj,第1,2,…n个移动车辆节点被分配的卸载比例为θ1,θ2,…θn,各卸载比例之间的表达式为:θs+θj+θ1+θ2+…+θn=1      (2);

其中,所述的步骤S2过程如下:S2.1、SDN控制器全局把控车联网应用场景中的计算资源和边缘节点的位置、方向、速度、网络状态,定义簇头车辆的坐标为(xs,ys),基站j的坐标为(xj,yj),其他移动车辆i的坐标为(xi,yi);假定所有移动车辆的移动方向和速度恒定不变,将簇头车辆与基站j的距离dsj、簇头车辆与其他移动车辆i的距离dsi表示为:UL

S2.2、将簇头车辆与基站j内的边缘服务器之间的上行速率C (s,j)表示为:UL

将簇头车辆与其他移动车辆i之间的上行速率C (s,i)表示为:上式中,W是簇头车辆与其他边缘节点的上行信道带宽,ω是簇头车辆与其他边缘节点的传输增益,α是路径损耗指数,h0是复高斯信道系数,N0是加性高斯白噪声;

S2.3、根据步骤S2.2中传输速率的计算结果,计算簇头车辆将各个子任务卸载至其他边缘节点的时延,将簇头车辆向基站j卸载任务的时延 表示为:将簇头车辆向其他移动车辆i卸载任务的时延 表示为:S2.4、将簇头车辆卸载至基站j中的边缘服务器处理其子任务的时延 表示为:将簇头车辆卸载至其他移动车辆i处理其子任务的时延 表示为:将簇头车辆本地处理的子任务的时延TLocal表示为:S2.5、根据步骤S2.4中的计算结果,得出车联网系统在未出现故障时的总时延,其表达式为:

其中,所述的步骤S3过程如下:S3.1、根据步骤S2.3、S2.4的计算结果,将簇头车辆卸载至基站j中的边缘服务器的部分子任务的可靠性表示为Rj,失败率表示为Fj:其中,λj表示边缘服务器执行计算的失败率,μj表示簇头车辆向基站卸载的链路的失败率;

将簇头车辆卸载至其他移动车辆i的部分子任务的可靠性表示为Ri,失败率表示为Fi:其中,λi表示其他车辆执行计算的失败率,μi表示簇头车辆向其他车辆卸载的链路的失败率;

将簇头车辆卸载自身执行计算的部分子任务的可靠性表示为RLocal,失败率表示为FLocal:

其中,λLocal表示其他车辆执行计算的失败率;

因此,任务Ψm的可靠性和卸载系数θ取决于子任务分配给边缘服务器的可靠性、移动车辆的可靠性和簇头车辆的可靠性,其表达式为:S3.2、根据步骤S3.1的计算结果,讨论车联网系统场景中所有可能存在的情况和发生n+2

的概率,因此,对于n个车辆、1个边缘服务器和1个簇头车辆,根据子任务是否完成,有2 种情况,考虑到特定的事件δ,用ζ表示成功完成各个子任务的车辆的集合,用ζ′表示未成功完成各个子任务的车辆的集合;另外,如果簇头车辆成功完成子任务,则Klocal=1,反之Klocal=0;如果边缘服务器成功完成子任务,则Kj=1,反之,Kj=0;如果其他移动车辆成功完成子任务,则Ki=1,反之,Ki=0;则车联网应用场景中一个特定的任务,其传输和计算的总可靠性Pδ(ζ,ζ′)的表达式为:其中,所述的步骤S4过程如下:S4.1、假设簇头车辆沿x轴方向做匀速运动,其速度为vs,对簇头车辆与基站的距离d′sj进行重新计算,其表达式为:

任务再处理机制中,根据步骤2.3、步骤2.4的计算结果,基站中的边缘服务器在子任务可能出现故障后,重新计算该部分子任务的时延 公式如下:其他移动车辆在各个子任务可能出现故障后,重新计算该部分子任务的时延 公式如下:

簇头车辆在子任务可能出现故障后,重新计算该部分子任务的时延 公式如下:任务再处理机制中,在可能存在任务失败的情况下,重新计算车联网系统的传输和计算时延 公式如下:

S4.2、根据步骤S4.1的计算结果,对于计算任务是否在其时延约束内可靠地完成传输和计算,定义二进制变量Oδ,其表达式为:因此,考虑再处理机制的延迟约束下可靠性最大化的优化问题可建模如下其中,所述的步骤S5转化为以下计算公式实现:C1:θs+θj+θ1+θ2+…+θn=1C2:

C3:

C4:

上述约束条件中,C1表示各个子任务要能完整的组合成原任务,C2表示表示任务再处理后的时延要不大于任务的时延约束,C3表示其他边缘节点和簇头车辆的计算力要能够满足任务所需的计算力,C4表示各个子任务的数据大小之和等于原任务大小。

说明书 :

基于SDN的车联网任务卸载的优化方法

技术领域

[0001] 本发明涉及车联网移动边缘计算的任务卸载技术领域,具体涉及一种基于SDN的车联网任务卸载的优化方法。

背景技术

[0002] 车辆互联(Internet of Vehicles,IoVs)技术近年来引起了广泛的关注。为了提高行车的安全性、效率和舒适性,IoVs出现了各种各样的应用。云计算是一种支持时延容忍
娱乐应用程序的流行技术。然而,对于高延迟敏感应用程序(例如,自动/辅助驾驶、紧急故
障管理),云计算可能会导致过高的时延。多接入边缘(Multi‑Access Edge Computing,
MEC)计算将计算和存储能力扩展到网络的边缘,成为一种很有吸引力的技术。
[0003] 对车联网系统进行合理地规划,将各个子任务卸载到其他资源节点上进行处理,并对车联网系统中的频带资源和计算资源进行合理的分配,可以在保证任务在具体的时延
约束的前提下,使得车联网系统任务处理的总可靠性最高。
[0004] 在现有的技术中,结合MEC的终端直通(Device to Device,D2D)技术增强蜂窝网络的计算能力,通过节点参数计算组播通信模式下传输延迟和计算延迟,然后根据可靠性
模型和任务再处理模型建立任务卸载可靠性最大化的优化问题,获得最优的任务卸载方
案。在本发明技术方案的研究过程中至少发现,现有技术的缺点在于数据包以单播的方式
向其他边缘节点进行传输,这一方式既会造成信道之间的干扰,也会在任务处理失败的情
况下造成不必要的数据重传。

发明内容

[0005] 本发明的目的是为了解决现有技术中的上述缺陷,提供一种基于SDN的车联网任务卸载的优化方法。具体地,请求车辆利用SDN控制器计算出的卸载比例将任务划分为多个
子任务;簇头车辆将各个子任务卸载至附近的边缘服务节点,并得出每个子任务传输和计
算的时延;计算出每个子任务传输和计算的可靠性和整个系统的可靠性;建立任务再处理
机制并重新计算任务传输和计算的时延,构建优化目标和时延约束条件;并在此基础上,以
最大化车联网系统任务传输和计算的总可靠性为目标,结合约束条件,建立最优化问题模
型,保证车联网系统任务传输和计算的总可靠性最大。
[0006] 本发明的目的可以通过采取如下技术方案达到:
[0007] 一种基于SDN的车联网任务卸载的优化方法,所述的任务卸载方法包括以下步骤:
[0008] S1、构建一个部署有SDN控制器、基站、MEC服务器和车辆的车联网应用场景,其中,车辆具备V2V组播和V2I通信能力,簇头车辆向基站中的SDN控制器发起任务卸载请求,SDN
控制器通过南向接口发现V2V组播链路和V2I链路,SDN控制器通过北向接口集中控制网络
的计算资源,SDN控制器通过软件编程的方式调用底层的计算资源,将原任务分割为未知的
若干个子任务,SDN表示软件定义网络,V2V表示车辆到车辆,V2I表示车辆到基础设施,MEC
表示多接入边缘计算;
[0009] S2、车联网应用场景中簇头车辆将部分子任务以D2D组播的通信方式卸载至附近的移动车辆,或将部分子任务卸载至附近基础设施中的MEC服务器,并得出各个部分子任务
传输和处理的时延,其中,D2D表示终端直通;
[0010] S3、针对车联网系统的系统性风险,将失败的案例归一化为一个由时延和故障率驱动的泊松分布,计算出各个部分子任务传输和处理的可靠性和系统存在故障的发生概率
Pδ(ζ,ζ′);
[0011] S4、考虑车联网系统中任务传输或失败的可能性,以系统最坏的情况,即任务传输和处理结束时发生故障,建立任务再处理机制,边缘服务器部分的子任务发生故障后需要
簇头车辆进行任务重传、移动车辆部分的子任务发生故障后需选取无故障车辆中计算力最
大的一个节点作为再处理车辆节点、簇头车辆部分的子任务发生故障后只需重新处理一
次,最后重新计算任务传输和处理的时延,构建优化目标R(Ψ,θ)和时延约束条件;
[0012] S5、以最大化车联网系统任务传输和处理的可靠性R(Ψ,θ)为目标,结合约束条件,建立最优化问题模型,采用粒子群算法进行求解,得到簇头车辆的任务卸载比例最优
解,以保证车联网系统任务传输和处理的可靠性最大,SDN控制器即可将最优的任务卸载比
例回传至簇头车辆,簇头车辆即可执行可靠性最大的任务卸载方案。
[0013] 进一步地,所述的步骤S1中,根据车联网应用场景中簇头车辆发起任务的属性、簇头车辆与边缘服务节点之间的信道容量规定具体的卸载比例,过程如下:
[0014] 车联网应用场景中,簇头车辆发起任务的属性为Ψm={Cm,Dm,Tm},Cm表示完成任务所需的CPU周期总数,Dm表示输入数据的大小,Tm表示完成任务的时延约束,定义任务的计算
复杂度为αm,表达式为:
[0015] Cm=αmDm   (1)
[0016] 场景中簇头车辆得到的任务卸载比例由θ定义,簇头车辆被分配的卸载比例为θs,边缘服务器被分配的卸载比例为θj,第1,2,...n个移动车辆节点被分配的卸载比例为θ1,
θ2,...θn,各卸载比例之间的表达式为:
[0017] θs+θj+θ1+θ2+…+θn=1   (2)。
[0018] 进一步地,所述的步骤S2过程如下:
[0019] S2.1、SDN控制器全局把控车联网应用场景中的计算资源和边缘节点的位置、方向、速度、网络状态,定义簇头车辆的坐标为(xs,ys),基站j的坐标为(xj,yj),其他移动车辆
i的坐标为(xi,yi);假定所有移动车辆的移动方向和速度恒定不变,将簇头车辆与基站j的
距离dsj、簇头车辆与其他移动车辆i的距离dsi表示为:
[0020]
[0021]
[0022] S2.2、将簇头车辆与基站j内的边缘服务器之间的上行速率CUL(s,j)表示为:
[0023]
[0024] 将簇头车辆与其他移动车辆i之间的上行速率CUL(s,i)表示为:
[0025]
[0026] 上式中,W是簇头车辆与其他边缘节点的上行信道带宽,ω是簇头车辆与其他边缘节点的传输增益,α是路径损耗指数,h0是复高斯信道系数,N0是加性高斯白噪声;
[0027] S2.3、根据步骤S2.2中传输速率的计算结果,计算簇头车辆将各个子任务卸载至其他边缘节点的时延,将簇头车辆向基站j卸载任务的时延 表示为:
[0028]
[0029] 将簇头车辆向其他移动车辆i卸载任务的时延 表示为:
[0030]
[0031] S2.4、将簇头车辆卸载至基站j中的边缘服务器处理其子任务的时延 表示为:
[0032]
[0033] 将簇头车辆卸载至其他移动车辆i处理其子任务的时延 表示为:
[0034]
[0035] 将簇头车辆本地处理的子任务的时延TLocal表示为:
[0036]
[0037] S2.5、根据步骤S2.4中的计算结果,得出车联网系统在未出现故障时的总时延,其表达式为:
[0038]
[0039] 进一步地,所述的步骤S3过程如下:
[0040] S3.1、根据步骤S2.3、S2.4的计算结果,将簇头车辆卸载至基站j中的边缘服务器的部分子任务的可靠性表示为Rj,失败率表示为Fj:
[0041]
[0042] 其中,λj表示边缘服务器执行计算的失败率,μj表示簇头车辆向基站卸载的链路的失败率;
[0043] 将簇头车辆卸载至其他移动车辆i的部分子任务的可靠性表示为Ri,失败率表示为Fi:
[0044]
[0045] 其中,λi表示其他车辆执行计算的失败率,μi表示簇头车辆向其他车辆卸载的链路的失败率;
[0046] 将簇头车辆卸载自身执行计算的部分子任务的可靠性表示为RLocal,失败率表示为FLocal:
[0047]
[0048] 其中,λLocal表示其他车辆执行计算的失败率;
[0049] 因此,任务Ψm的可靠性和卸载系数θ取决于子任务分配给边缘服务器的可靠性、移动车辆的可靠性和簇头车辆的可靠性,其表达式为:
[0050]
[0051] S3.2、根据步骤S3.1的计算结果,讨论车联网系统场景中所有可能存在的情况和发生的概率,因此,对于n个车辆、1个边缘服务器和1个簇头车辆,根据子任务是否完成,有
n+2
2 种情况,考虑到特定的事件δ,用ζ表示成功完成各个子任务的车辆的集合,用ζ′表示未
成功完成各个子任务的车辆的集合;另外,如果簇头车辆成功完成子任务,则Klocal=1,反之
Klocal=0;如果边缘服务器成功完成子任务,则Kj=1,反之,Kj=0;如果其他移动车辆成功
完成子任务,则Ki=1,反之,Ki=0;则车联网应用场景中一个特定的任务,其传输和计算的
总可靠性Pδ(ζ,ζ′)的表达式为:
[0052]
[0053] 进一步地,所述的步骤S4过程如下:
[0054] S4.1、假设簇头车辆沿x轴方向做匀速运动,其速度为vs,对簇头车辆与基站的距离d′sj进行重新计算,其表达式为:
[0055]
[0056] 任务再处理机制中,根据步骤2.3、步骤2.4的计算结果,基站中的边缘服务器在子任务可能出现故障后,重新计算该部分子任务的时延 公式如下:
[0057]
[0058] 其他移动车辆在各个子任务可能出现故障后,重新计算该部分子任务的时延公式如下:
[0059]
[0060] 簇头车辆在子任务可能出现故障后,重新计算该部分子任务的时延 公式如下:
[0061]
[0062] 任务再处理机制中,在可能存在任务失败的情况下,重新计算车联网系统的传输和计算时延 公式如下:
[0063]
[0064] S4.2、根据步骤S4.1的计算结果,对于计算任务是否在其时延约束内可靠地完成传输和计算,定义二进制变量Oδ,其表达式为:
[0065]
[0066] 因此,考虑再处理机制的延迟约束下可靠性最大化的优化问题可建模如下
[0067]
[0068] 进一步地,所述的步骤S5转化为以下计算公式实现:
[0069]
[0070] C1:θs+θj+θ1+θ2+…+θn=1
[0071]
[0072]
[0073]
[0074] 上述约束条件中,C1表示各个子任务要能完整的组合成原任务,C2表示表示任务再处理后的时延要不大于任务的时延约束,C3表示其他边缘节点和簇头车辆的计算力要能
够满足任务所需的计算力,C4表示各个子任务的数据大小之和等于原任务大小。
[0075] 本发明相对于现有技术具有如下的优点及效果:
[0076] 1)本发明公开的一种基于SDN的车联网任务卸载的优化方法中,V2V链路使用组播进行数据包的传输,避免了通信资源的浪费和通信链路的干扰,避免了任务失败时重传的
时延,提升了系统的可靠性;
[0077] 2)本发明公开的一种基于SDN的车联网任务卸载的优化方法,V2V链路使用D2D通信,不比经过基站进行数据包的转发,降低了数据传输包传输的跳数和时延。

附图说明

[0078] 图1是本发明实施例中公开的基于SDN的车联网任务卸载的优化方法流程图;
[0079] 图2是本发明实施例中公开的场景工作示意图;
[0080] 图3是本发明实施例中对基于SDN的车联网任务卸载的优化方法的仿真结果示意图。

具体实施方式

[0081] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0082] 实施例
[0083] 如图1所示,本实施例公开了一种基于SDN的车联网任务卸载的优化方法,本实施例将基于SDN的车联网任务卸载的优化方法分为任务传输和计算模型、可靠性模型和任务
再处理机制三个主要步骤。通过综合考虑车联网系统中簇头车辆与边缘服务器和各移动车
辆的信道容量、边缘服务器和各移动车辆的计算资源等因素,确定了使得任务卸载总可靠
性最高的卸载方案。具体步骤如下:
[0084] S1、构建一个部署有基站、MEC服务器和若干车辆N={1,2,……,n}的车联网系统应用场景,车辆具备V2V和V2I通信能力,车辆和MEC服务器配备有限的信道和计算资源,簇
头车辆首先向SDN控制器发起任务卸载请求,SDN控制器通过南向接口发现V2V组播链路和
V2I链路,SDN控制器通过北向接口集中控制网络的计算资源,SDN控制器通过软件编程的方
式调用底层的计算资源,其中,提出任务卸载请求的车辆,称为簇头车辆,其他车辆和MEC服
务器称为其他边缘节点。
[0085] 根据车联网系统应用场景中簇头车辆发起任务的属性、簇头车辆与边缘服务节点之间的信道容量规定具体的卸载比例,过程如下:
[0086] 车联网系统的应用场景中,簇头车辆发起任务的属性为Ψm={Cm,Dm,Tm},Cm(单位为:兆周)表示完成任务Ψm所需的CPU周期总数,Dm(单位为:KB)表示输入数据Ψm的大小,Tm
(单位为:秒)表示完成任务的时延约束,我们定义任务的计算复杂度为αm(单位为:cycles/
byte),表达式为:
[0087] Cm=αmDm   (1)
[0088] 场景中簇头车辆得到的任务卸载比例由θ(0≤θ≤1)定义,θ为待求解参数,包括以下三部分:簇头车辆被分配的卸载比例为θs,边缘服务器被分配的卸载比例为θj,第i个移动
车辆节点被分配的卸载比例为θi,最后一辆移动车辆的卸载比例为θn,各卸载比例之间的表
达式为:
[0089] θs+θj+θ1+θ2+…+θn=1   (2)
[0090] S2、根据场景中簇头车辆的具体卸载比例,将各个子任务卸载至附近的边缘服务节点,并得出每个子任务传输和计算的时延,具体步骤如下:
[0091] S2.1、SDN控制器使全局状态信息保持最新,包括边缘节点的位置、方向、速度、网络状态等。不失一般性,我们考虑簇头车辆的坐标为(xs,ys),基站的坐标为(xj,yj),其他移
动车辆的坐标为(xi,yi);假定所有移动车辆的移动方向和速度恒定不变。那么簇头车辆与
基站的距离、与其他移动车辆的距离分别表示为:
[0092]
[0093]
[0094] S2.2、簇头车辆与基站内的边缘服务器之间的上行速率表示为:
[0095]
[0096] 簇头车辆与其他移动车辆之间的上行速率表示为:
[0097]
[0098] 上两式中,W(单位为:MHz)是簇头车辆与其他边缘节点的上行信道带宽,ω(单位为:dBm)是簇头车辆与其他边缘节点的传输增益,α是服从(2,5)均匀分布的路径损耗指数,
h0是服从(0,1)复正态分布的复高斯信道系数,N0(单位为:dBm)是加性高斯白噪声。
[0099] S2.3、根据步骤S2.2中传输速率的计算结果,计算簇头车辆将各个子任务卸载至其他边缘节点的时延。簇头车辆向基站卸载任务的时延表达式为:
[0100]
[0101] 簇头车辆向其他移动车辆卸载任务的时延表达式为:
[0102]
[0103] S2.4、簇头车辆卸载至基站中的边缘服务器处理其子任务的时延的表达式为:
[0104]
[0105] 其中Zj(单位为:GHz)为边缘服务器的CPU频率,取值为6.25GHz。
[0106] 簇头车辆卸载至其他移动车辆处理其子任务的时延的表达式为:
[0107]
[0108] 其中Zi(单位为:GHz)为边缘服务器的CPU频率,服从(1,3)GHz的均匀分布。
[0109] 簇头车辆本地处理的子任务的时延的表达式为:
[0110]
[0111] 其中Zs(单位为:GHz)为边缘服务器的CPU频率,取值为2.2GHz。
[0112] S2.5、根据步骤S2.4中的计算结果,可以得出系统在未出现故障时的总时延,其表达式为:
[0113]
[0114] S3、针对车联网系统的系统性风险,将失败的案例归一化为一个由故障率驱动的泊松分布,计算出每个子任务传输和计算的可靠性和整个系统的可靠性Pδ(ζ,ζ′),具体步
骤如下:
[0115] S3.1、根据步骤S2.3、S2.4的计算结果,簇头车辆卸载至基站中的边缘服务器的部分子任务的可靠性表示为Rj(0≤Rj≤1),失败率表示为Fj(0≤Fj≤1):
[0116]
[0117] 其中,λj表示边缘服务器执行计算的失败率,服从(0,0.03)的均匀分布;μj表示簇头车辆向基站卸载的链路的失败率,服从(0,0.03)的均匀分布。
[0118] 簇头车辆卸载至其他移动车辆的部分子任务的可靠性表示为Ri(0≤Ri≤1),失败率表示为Fi(0≤Fi≤1):
[0119]
[0120] 其中,λi表示其他车辆执行计算的失败率,服从(0,0.03)的均匀分布;μi表示簇头车辆向其他车辆卸载的链路的失败率,服从(0,0.03)的均匀分布。
[0121] 簇头车辆卸载自身执行计算的部分子任务的可靠性表示为RLocal(0≤RLocal≤1),失败率表示为FLocal(0≤FLocal≤1):
[0122]
[0123] 其中,λLocal和表示其他车辆执行计算的失败率,服从(0,0.03)的均匀分布。
[0124] 因此,任务Ψm的可靠性和卸载系数θ取决于子任务分配给边缘服务器的可靠性,移动车辆的可靠性和簇头车辆的可靠性,其表达式为:
[0125]
[0126] S3.2、根据步骤S3.1的计算结果,讨论车联网系统场景中所有可能存在的情况和发生的概率。因此,对于n个车辆、1个边缘服务器和1个簇头车辆,根据子任务是否完成,有
n+2
2 种情况。考虑到特定的事件δ,用ζ表示成功完成各个子任务的车辆的集合,用ζ′表示未
成功完成各个子任务的车辆的集合;另外,如果簇头车辆成功完成子任务,则Klocal=1,反之
Klocal=0;如果边缘服务器成功完成子任务,则Kj=1,反之,Kj=0;如果其他移动车辆成功
完成子任务,则Ki=1,反之,Ki=0。则车联网系统场景中一个特定的任务,系统发生故障的
发生概率的表达式为:
[0127]
[0128] S4、考虑车联网系统中任务传输或失败的可能性,建立任务再处理机制并重新计算任务传输和计算的时延,构建优化目标R(Ψ,θ)和时延约束条件,具体步骤如下。
[0129] S4.1、假设簇头车辆沿x轴方向做匀速运动,其速度为vs,则簇头车辆与基站的距离需要重新计算,其表达式为:
[0130]
[0131] 任务再处理机制中,根据步骤2.3、步骤2.4的计算结果,基站中的边缘服务器在子任务可能出现故障后,重新处理该部分子任务的时延的表达式为:
[0132]
[0133] 其他移动车辆在各个子任务可能出现故障后,重新处理该部分子任务的时延的表达式为:
[0134]
[0135] 簇头车辆在子任务可能出现故障后,重新处理该部分子任务的时延的表达式为:
[0136]
[0137] 任务再处理机制中,在可能存在任务失败的情况下,重新计算系统的传输和计算时延,其表达式为:
[0138]
[0139] S4.2、根据步骤S4.1的计算结果,对于计算任务是否在其时延约束内可靠地完成传输和计算,定义二进制变量Oδ,其表达式为:
[0140]
[0141] 因此,考虑再处理机制的延迟约束下可靠性最大化的优化问题可建模如下:
[0142]
[0143] S5、根据权利要求1所述的基于SDN的车联网任务卸载的优化方法,其特征在于,所述的步骤S5.2中,以最大化车联网系统中任务传输和计算的总可靠性Pδ(ζ,ζ′)为目标,建
立最优化问题模型如下:
[0144]
[0145] C1:θs+θj+θ1+θ2+…+θn=1
[0146]
[0147]
[0148]
[0149] 上述约束条件中,C1表示各个子任务要能完整的组合成原任务,C2表示表示任务再处理后的时延要不大于任务的时延约束,C3表示其他边缘节点和簇头车辆的计算力要能
够满足任务所需的计算力,C4表示各个子任务的数据大小之和要等于原任务大小。
[0150] 由于公式(23)双参函数的存在,优化问题P1是非凸的,不易转化为凸问题。此外,该问题也是NP‑hard问题。本实施例采用粒子群(PSO)算法对其进行求解,用较低的复杂度
获得全局次优解。具体求解过程如下:
[0151] 对于一个粒子数为u的粒子群,当算法进行到第I迭代时,每个粒子i的位置记为代表卸载方案,每个粒子i的速度为 每个粒子i的
最佳位置为 粒子群的 最佳位置表示为
粒子的速度更新公式如下:
[0152]
[0153] 其中,ε是惯性权重,β1和β2是学习因子,γ1和γ2是[0,1]内的随机数,χ是收缩因子,其表达式如下:
[0154]
[0155] 其中 收缩因子保证了粒子群的收敛性,防止了粒子速度的爆炸。
[0156] 粒子的位置更新公式如下:
[0157] Xi(I+1)=Vi(I+1)+Xi(I)   (28)
[0158] 粒子i的适应度函数如下:
[0159]
[0160] 上式中,r是惩罚因子,H和N分别是可行域和不可行域,Rq(X)是不可行解的第q个约束的约束违背值,Φ(X,I)是PSO算法加速收敛的附加启发值,Rq(X)表达式如下:
[0161]
[0162] Φ(X,I)表达式如下:
[0163]
[0164] Wor(I)记录了第I代迭代后可行粒子的最大适应度值,其表达式如下:
[0165]
[0166] PSO算法具体步骤如下:
[0167] 初始化每个粒子的位置Xi(0)和速度Vi(0),设置粒子i的当前位置Pi(0)为最佳位置。
[0168] 选择所有粒子u中适应度最好的粒子位置作为全局最佳位置Gbest(0)。
[0169] 迭代次数s从0开始,对于从1到u的每个粒子,按照以下步骤执行,直到s=99,即迭代次数达到最大迭代次数100;
[0170] 对于每个粒子i,执行速度更新公式(26)和位置更新公式(27);
[0171] 对于每个事件δ,利用公式(17)计算的系统故障的发生概率,利用公式(22)计算任务再处理的时延,利用公式(23)评估事件δ是否可靠。
[0172] 利用公式(24)、公式(29‑32)评估粒子i的适应度函数。
[0173] 如果Θ(Xi(I+1))>Θ(Pi(I)),则令Pi(I+1)=Xi(I+1)。
[0174] 如果Θ(Xi(I+1))>Θ(Gbest(I)),则令Gbest(I+1)=Xi(I+1)。
[0175] 最后输出Gbest和Θ(Gbest)
[0176] 实施例仿真结果如图3所示,它是簇头车辆直接将任务分割,并将分割后的子任务以组播的方式卸载给其他移动车辆或基站内的边缘服务器进行任务处理的仿真结果,与在
相同仿真环境下以单播方式卸载至其他边缘节点的结果对比图。从数值上可以看出在计算
复杂度从1000逐渐升到10000时,本发明提出的方法比单播方式实现了更高的系统可靠性。
[0177] 综上所述,为了支持这些计算密集型和时延敏感的IoVs应用,本发明集成移动边缘计算节点和固定边缘计算节点,以合作方式提供低延迟计算服务。为了更好地利用这些
异构的边缘计算资源,本发明提出了软件定义网络(software‑defined networking,SDN)
和MEC辅助IoVs的概念,通过将任务以组播的方式卸载到其他资源节点上进行处理,实现周
围空闲计算资源共享,这样可以充分利用网络中的资源。此外,在复杂而动态的IoVs环境
中,处理节点和通信链路的中断是不可避免的,可能会导致危及生命的后果。为了保证对延
迟敏感的IoVs服务的高可靠性完成,本发明将部分计算卸载和带有再处理机制的可靠任务
分配引入系统,在一定程度上保证了任务的可靠传输和计算。
[0178] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,
均应为等效的置换方式,都包含在本发明的保护范围之内。