本发明涉及数据分配调度,具体公开了一种基于车载云及无人机的高速公路任务检测调度方法及系统。
背景技术:
车载云计算(vcc)是利用智能车(smartvehicles,sv)的通信、存储和计算能力来实现高效的交通管理、提升道路安全。在这种情况下,每个sv可以被视为可移动的服务器,并且它们之间可以通过车载自组织网络(vanets)进行通信。此外,多个智能车还可以协作为工作量大的服务进行计算。目前,vcc不仅能高效地完成计算密集型任务,还能增强5g和边缘计算的能力。因此,智能汽车将会被更多地应用于提高交通系统的安全性,促进智能交通系统的发展。虽然未来的svs可以通过许多传感器对交通环境做出判断并进行自主驾驶,但交通部门仍然需要监控交通信息和控制整条公路的路况。采集的交通信息可以有效地为智能智能车决策提供帮助。尤其是在高速公路上,智能车高速行驶,任何异常因素都可能导致致命事故。因此,应该有一个监控平台来实时检测高速公路上的异常情况(例如突然出现的障碍物和突发事故等)。然后,平台可以与高速公路上即将经过该路段的svs进行通信,对这些异常情况做出一些预防和处理措施。
图1表示了用于高速公路交通监控的道路检测系统的典型部署场景。整个系统由监控平台、基站和智能车组成。基站与监控系统通信连通,监控系统作为集中式调度程序。基站覆盖区域内的智能车可以由监控系统进行调度。此外,智能车能够通过车联网(车载自组织网络)相互通信。当接收到基站对覆盖区域的检测请求时,监控系统将检测作业分成几个独立的任务,并将其分配给该区域中的那些智能车。每辆智能车将根据接收到的任务采集数据和计算任务。一旦任务完成,各个任务的结果将由其中的一辆智能车进行聚合。相应的这辆智能车称为聚合车,它将通过基站将聚合结果传输到监控平台。例如,当监控平台想要知道在图1中基站1覆盖区域下的高速公路中是否有偶然的障碍物出现时,该区域中的四辆智能车(即智能车a、智能车b、智能车c和智能车d)将从高速公路的不同路段采集数据并执行相关分析。最后,将安排一辆智能车(这里是图1中的智能车b)来聚合最终结果并通过基站1将其返回给监控平台。车载云可实时进行交通监控来行异常检测;因此可以帮助驾驶员了解道路状况。然而,两个相邻基站之间可能存在盲区,没有基站能覆盖到,对vcc的应用造成一定问题。如下所示:两辆智能车之间的相对距离是动态的。当从一辆智能车到聚合车的相对距离超出通信范围时,反馈不能被传输到聚合车。聚合车可能在完成某项任务之前驶出了基站的覆盖区域。因此,聚合车无法通过基站向监控平台发送最终反馈。两个基站之间的盲区无法与基站通信。也就是说,监控平台无法对盲区的的道路状况进行任务分发。
技术实现要素:
本发明目的在提供一种基于车载云及无人机的高速公路任务检测调度方法及系统,以解决现有技术中高速工作上基站存在通信盲区的技术缺陷。
为实现上述目的,本发明提供了一种基于车载云及无人机的高速公路任务检测调度方法,包括以下步骤:
s1:将无人机设置在高速公路的基站覆盖盲区,使无人机的通信区域覆盖基站覆盖盲区得到全覆盖通信区域。
s2:智能车接收来自全覆盖通信区域发送的任务。
s3:利用车载云对任务分配和计算,并将计算结果进行反馈。
进一步地,对智能车发送任务前获取智能车的移动速度,移动速度的模型为:
vk(t+δt)=vk(t)+ak(t)·δt
其中,vk为k时刻的速度,ak(t)是智能车在k时刻的加速度,ak(t)为:
acck+p和deck+p是分别智能车k加速和减速的概率,acck和deck分别表示驾驶员根据个人行为和交通状况加速或减速的概率,p表示所有智能车随机加速或减速的概率,x1、x2、x3和x4是在0和1之间均匀分布的随机变量,每辆智能车的加速度都有一个范围,用[-d,a]表示,a和d都是正数,其中a是最大加速度,d是最大减速度,acck和deck分别为:
其中,agg为常数。
进一步地,根据智能车的移动速度,智能车之间的通信限制为:
[vmin,vmax]为高速公路上的的速度限制区间,由于车载云之间由通信距离限制r,则:
sk,j(t)表示智能车k和j之间在t时刻的距离,两个智能车只能在sk,j(t)≤r时能够相互通信,
进一步地,利用车载云对任务分配规则包括以下步骤:
任务初始化;
获取初始化后任务的子任务集并获取子任务之间的依赖关系;
根据子任务的计算负载、输入数据大小、输出数据大小和本地数据大小,将子任务分配给其他智能车,存在依赖关系的子任务之间一个子任务的输出数据为另一个子任务的输入数据。
进一步地,子任务之间的依赖关系为:
其中,
进一步地,将子任务分配给其他智能车还依赖智能车智能车之间的数据传输速率:
其中,w是信道带宽,
进一步地,智能车的数据采集时间为:
其中,智能车k的采集速度,
进一步地,
进一步地,任务分配的模型为:
其中,
依托于上述方法,本发明还提供了一种基于车载云及无人机的高速公路任务检测调度系统,包括处理器、存储器以及储存与存储器上的计算机程序,处理器执行计算机程序时实现上述任一的方法。
本发明具有以下有益效果:
1、本发明无人机辅助vcc在高速公路上进行道路检测的方法,解决了无基站覆盖的盲区带来的问题。
2、本发明在无人机辅助vcc的背景下设计了任务分配算法,以保证在无人机辅助vcc下任务的分配、计算和反馈的正常进行。
下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明背景技术中提供的传统道路检测监控系统的组成部分结构示意图;
图2为本发明提供的用于高速公路场景中道路检测的无人机辅助监控系统示意图;
图3为本发明优选实施例提供的任务之间三种不同依赖关系的任务流图;
图4为本发明优选实施例提供的任务卸载后的不同任务流图;
图5为本发明优选实施例提供的通过两跳通信的任务流图;
图6为本发明优选实施例提供的teso算法和贪婪算法的平均响应时间对比图;
图7为本发明优选实施例提供的teso算法和贪婪算法不同速度分布下的平均响应时间;
图8为本发明优选实施例提供的作业的采集数据、数据通信和计算处理时间示意图;
图9为本发明优选实施例提供的重新调度的后的平均响应时间示意图;
图10为本发明优选实施例提供的不同类型任务依赖下的平均响应时间;
图11为本发明一种基于车载云及无人机的高速公路任务检测调度方法流程图。
具体实施方式
以下结合附图对本发明的实施例进行详细说明,但是本发明可以由权利要求限定和覆盖的多种不同方式实施。
实施例1
本发明提供了一种基于车载云及无人机的高速公路任务检测调度方法,参见图,包括以下步骤:
s1:将无人机设置在高速公路的基站覆盖盲区,使无人机的通信区域覆盖基站覆盖盲区得到全覆盖通信区域。
参见图2,将无人机悬停在基站1和基站2之间的间隙区域,可以直接与附近的基站1和基站2进行通信。图2中的场景模拟的是在无人机辅助下图1场景的下一时刻。在这种情况下可以看到svb正在进入基站盲区。在接收到sva的结果后,sv才开始计算。此时,监控平台可以发现svb正在向非覆盖区域移动,此时无法通过bs1继续与监控平台通信。也就是说,svb已经采集了道路信息,但是当它已经离开b基站1的覆盖区域时还没有完成计算任务。在之前的调度方案中,svb应该通过基站1上传其结果。然而,盲区中的任何智能车都不能直接与基站通信。这个问题有两种解决方法。第一种是svb继续计算任务,然后将结果上传到无人机,通过无人机中继上传到基站1,这将增加更多的通信延迟。第二种方法是svb进行任务卸载。例如,由svb采集的数据将传输给在基站1覆盖范围内的sve,并且这部分任务被重新分配给sve,由sve进行计算并上传给基站1。因此,决定是卸载任务还是与无人机通信是无人机辅助系统的一个重要问题。另外,在两个基站之间的盲区中的道路检测可以由svb、svc或svf借助无人机进行。
s2:智能车接收来自全覆盖通信区域发送的任务。
由于智能车在高速公路上的高速移动性,无人机/基站覆盖区域内的车载资源并不固定。也就是说,智能车最多只在单个覆盖区域内停留几十秒钟。同时,不同智能车的计算资源也是不同的。因此,基站/无人机覆盖区域内智能车的总可用资源总是动态变化的。为了更充分地利用车载资源,更好地安排任务,必须关注智能车在覆盖区域内的停留时间。此外,与其他道路不同交通规则不同,高速公路上的智能车速度被限制在[vmin,vmax]区间内。通常,智能车不会在高速公路上完全停下来。因此,大多数时候智能车以相似的速度行驶,偶尔会加速或减速。
基于以上分析,智能车每隔δt秒重新计算一次加速度,因此高速公路移动模型是一个离散时间模型。对于智能车k,其下一刻速度基于其当前速度vk(t)和加速度ak(t)由式(1)得出。
vk(t+δt)=vk(t)+ak(t)·δt(1)
ak(t)是智能车在k时刻的加速度,可由下式(2)计算获得。
acck+p和deck+p是分别智能车k加速和减速的概率,acck和deck分别表示驾驶员根据个人行为和交通状况加速或减速的概率,p表示所有智能车随机加速或减速的概率,p值越高,智能车越倾向于改变速度;p值越低,说明智能车越倾向于匀速。agg是一个参数,用来表示具有激进型的驾驶员比例(更喜欢加速或减速,而不是围绕平均速度保持较均匀移动)。公路交通研究表明,大约75%的激进驾驶员倾向于加速到超过一般平均速度。用75%这个值做参考o在上面用于设置acck和deck的值。x1、x2、x3和x4是在0和1之间均匀分布的随机变量,每辆智能车的加速度都有一个范围,用[-d,a]表示,a和d都是正数,其中a是最大加速度,d是最大减速度,acck和deck分别为:
根据智能车的移动速度,智能车之间的通信限制为:
[vmin,vmax]为高速公路上的的速度限制区间,由于车载云之间由通信距离限制r,则:
sk,j(t)表示智能车k和j之间在t时刻的距离,两个智能车只能在sk,j(t)≤r时能够相互通信,
当监控平台通过基站请求检测服务时,产生作业集j={j1,j2,…,jn},即任务。作业ji可被划分为mi子个任务,即
为了描述每个任务的相关属性参数,本实施例将定义了元组
每个任务的属性
通过使用vanets,假设智能车可以与其附近的智能车通信,并应用相应的通信模型,本实施例使用基于路径衰减指数的模型来测量在时间t智能车k和j之间的数据传输速率rk,j(k),如式(9)所示
w是信道带宽,
s3:利用车载云对任务分配和计算,并将计算结果进行反馈。
为了计算某个作业的完成时间,首先对单个作业的执行模型进行建模。对于每辆分配有任务的智能车,其过计算过程包括采集数据、计算任务和上传数据。任务数据可以分为来自其他智能车的输入数据和由其自身传感器采集的数据。智能车独立采集环境数据,这意味着它不会受到其他智能车的影响。智能车k的采集速度为固定值λk,仅与传感器相关。智能车k对作业ji的任务r的采集时间
对于输入数据,智能车k的接收过程是智能车k需要输出智能车数据的发送过程。因此,将接收时间
这里,任务r和l分别被分配给智能车k和j。
考虑到不同的智能车可能有不同的计算能力,如处理器的时钟频率。智能车k对子任务i的任务r的计算时间
其中ck代表智能车k的计算能力。
基于不失一般性,考虑在t0=0时的基站/无人机分配任务。每辆车开始用自己的传感器采集高速公路环境数据。数据采集完之后,对于只需要本地数据的智能车,它们就可以开始计算任务。否则,需要等待其他智能车的输出数据。用ts表示作业i的任务r的开始时间。当任务r不需要其他任务的输出时,
因此,作业i的任务r的结束时间
根据每个任务的结束时间,可以计算完成任务所需要的总时间。因为监控平台可能同时要求高速公路多个路段的路况信息。为了降低时间成本,本实施例的目标是通过将任务调度到不同智能车上来最小化平均任务完成时间。此外,整个调度优化问题可以由下式给出
其中
将本发明的算法定义为teso算法,根据任务的相互依赖性,有些任务在处理之前需要其他任务的输出结果。如果车辆已经采集了环境数据,但还没有收到所需的来自其他任务的输出,则该车辆必须等待数据,直到接收过程完成才能开始计算。例如,在图3(a)中,承担任务2的车辆在任务1已经完成之前只能完成采集过程,不能进行任务计算。因此teso算法的思路是要使每辆车不需要等待其他相关任务的输出,也就是增加后续任务的采集时间。关键思想是调整不同车辆需要采集数据的高速公路长度。
在部署调度方案之前,必须为每个作业初始化放置方案。初始化的目标是在约束条件(19)-(23)下找到具有最大计算能力的车辆。任务放置方案的初始化由算法1用贪婪策略进行。对于一项作业的多个任务,它们通过基站被安排到智能车上。基站只能向其覆盖区域内的车辆分配这些任务(算法1中的第4行)。因此,初始任务放置方案将在不考虑等待和通信延迟约束的情况下使任务能获得最大计算能力。
算法1调度初始化
输入:每个作业的任务属性参数以及任务依赖矩阵
输出:初始任务放置方案
此外,本实施例提出了基于初始布局方案的算法2优化任务调度。如上所述,需要保证每辆车不需要等待输出结果。例如,在任务i中有两个相互依赖的任务
算法2任务车辆调度优化,teso
输入:每个作业的任务相关属性参数以及任务依赖矩阵
输出:初始任务放置方案
对于每种类型的任务流图,作业响应时间正好是任务流图中延迟最长的一个分支。例如,图3(a)的响应时间是任务1、2、3和4这条流,而图3(b)的响应时间可能是任务1、3和4(或任务2、3和4)的这条流所花费的时间。假设不同车辆的采集速度和传输速度是相同的。当这n个任务是线性逻辑关系时,任务qi+1需要任务qi的输出结果。设定:
cmax是覆盖范围内所有车辆中最大的计算能力,ci是任务i对应车辆的计算能力,因此,可以得到近似比:
基于以上分析,可以看出teso算法可以达到一个常数近似比。此外,当这些车辆计算能力相同(即cmax=ci)时,teso算法可以达到最优值。
如上所述,智能车在高速公路上以高速行驶。因此,车辆可能离开基站/无人机的覆盖区域,进入其他基站/无人机下的另一个区域。如果一辆车只需要把它的输出结果发送到下一辆车,它就可以像之前一样通过车联网通信。但是,如果车辆需要将最终结果上传到监控平台,它将无法与之前的基站通信。任务执行过程无法按初始调度方案来进行。因此,teso算法需要解决车辆离开原覆盖区域的问题。
当车辆超出之前的覆盖区域时,有两种方法可以上传最终结果。第一种方法是通过车载网将任务转移到先前覆盖区域内的另一辆车。第二是利用无人机的辅助。让任务仍在之前的车辆中处理,但最终结果将通过无人机以多一跳的方式发送到监控平台。更具体地说,如果车辆k已经离开基站的覆盖区域,然后需要将任务r的输出结果作为反馈上传到监控系统。有两种方法可以重新安排任务。第一种是将任务r卸载到先前覆盖区域中的车辆j,并将相应的输入数据
例如,在图4(b)中,分配了作业2的任务4的车辆离开了覆盖区域。然后,任务4被重新分配给已经分配了任务3的车辆。在这种情况下,后面这辆车需要执行任务3和任务4的计算。因此,这种车辆的工作量会更大,其计算时间也会变长。而且,任务3和任务4是相互依赖的,任务4需要任务3的输出作为输入数据。卸载任务4后,可以得到
因此,如果任务a被重新分配给之前应该计算任务b的车辆,这两个属性元组的表示将变化为:
其中,
其中,当任务a被重新分配给负责任务b的车辆时,
对于另一种方法,如图5所示,加入无人机和基站作为个节点,用于将任务4的输出结果传输到监控平台。这样,元组表示
其中yk,u是基站和无人机之间的垂直距离。用固定值xb,u表示基站和无人机之间的水平距离。
因此,作业i的完成时间可以表示为
其中o表示通过无人机传输的固定延时。因此,优化问题的目标变为
subjectto(16)-(20),(27),(28)。
由于一些车辆在完成任务之前可能超出了先前基站的覆盖范围,进一步设计算法3来决定如何重新调度这些任务。第一种方法是将任务卸载给覆盖区域内的其他车辆,而另一种方法是通过无人机上传结果。重新调度算法比较这两种方法,并为每个任务选择更好的方法。该算法在任务卸载后调整调度方案和相应的任务依赖矩阵(算法3中的第4行)。然后,算法3分别计算任务卸载的响应时间和无人机的响应时间。最后,该算法通过比较不同方案的响应时间来决定是否卸载任务(算法3中的第5-8行)。值得注意的是,重新调度方案可以有效地选择最佳的重新调度解决方案(卸载或无人机辅助),从而最大限度地减少这些检测请求的响应时间。
算法3对离开基站覆盖区域车辆的任务卸载决策
输入:每个作业的任务相关属性参数以及任务依赖矩阵
输出:新放置方案
依托于上述方法,本发明还提供了一种基于车载云及无人机的高速公路任务检测调度系统,包括处理器、存储器以及储存与存储器上的计算机程序,处理器执行计算机程序时实现上述任一的方法。
实施例2
本实施例模拟了一个车载网络,其中所有车辆都沿着10公里长的高速公路行驶,共设有10个基站。其中有5个没有任何基站覆盖的盲区,但都设置有无人机在盲区上空悬浮。车辆的初始位置沿公路均匀分布,初始移动速度遵循[vmin,vmax]之间的均匀分布。之后,车辆的移动速度和位置根据实施例1中高速公路移动模型而变化。同时,监控平台发送检测高速公路的请求。本实施例分析中使用的参数默认值参考下表1。
表1
然后,本实施例进行了大量的实验,以评估本发明提出的teso算法在vcc中的表现:将teso算法的调度方案与和贪婪算法进行了比较,贪婪算法的思想是使每个任务的处理时间最小化。为了不失一般性,假设通信环境(传输功率和背景噪声功率)是相同的。此外,本实施例还考虑了车辆计算和采集能力的异构性。本实施例计算了多次实验的平均响应时间。与现有算法相比,teso算法在不同的参数设置下都表现得更高效。
平均响应时间:
图6描述了本发明提出的teso算法和贪婪算法的平均响应时间。在不同的实验中改变一些参数,同时保持其他参数不变。图6(a)示出了随着车辆密度的增加,两种算法分配的作业调度的平均响应时间都随之减少。这是因为可以调度的车辆数量增加,车载云中的总资源也在增加。此外,一个任务有更多的选项来分成不同的子任务,从而可能有更好的调度方案。但是,相比teso算法,贪婪算法只有较小的改进,因为它只考虑最小化处理时间。同时,图6(b)描述了车辆在高速公路上的平均速度增加时平均响应时间的变化趋势。与车辆密度的增加不同,贪婪算法对平均响应时间的减少量要大于teso算法,但teso算法仍然明显比贪婪算法有更短的响应时间。在高速公路上的总检测时间中,总时间所占最大的是采集时间,因为它取决于车辆在负责路段的行驶时间,该行驶时间比处理时间和通信时间都长。
此外,本实施例还通过改变一些距离参数来观察平均响应时间。在默认参数中,作业是检测1公里的高速公路。而在图6(c)中将这一长度从0.6公里增加到1.4公里。teso算法和贪婪算法的平均响应时间分别增加了约2.9s和6.3s。当需要作业检测公路上较长的长度时,总采集距离和数据会增加,这也导致较重的计算工作量。因此,响应时间也会更长。同时,teso算法在优化平均响应时间方面表现更好,将响应时间保持在较低水平。然后,将作业的目标长度重置为1公里,并将车辆在车联网中的通信距离最大值从250米增加到350米。如图6(d)所示,减少趋势与图6(c)中的增加趋势相似。在这两幅图中,平均响应时间的两个变化范围几乎相同。车辆的通信范围越短,可以与之通信的车辆数量也会减少,这会导致一些以前具有更长通信范围时的调度方案不可用,导致平均响应时间变得更长。
车辆速度的分布类型:
在初始设置中,车辆的初始速度遵循[vmin,vmax]之间的均匀分布。本实施例进行正态分布和(负)偏斜分布的实验。图7(a)和图7(b)分别示出了当车辆速度遵循正态分布和负偏态分布时的平均响应时间。从这两个图中可以看出所提出的teso算法在响应时间方面依旧优于贪婪算法。随着车辆平均速度的增加,平均响应时间减少,因为有更多的车辆快速行驶从而减少了采集时间。与图6(b)中偏态分布下的结果相比,正态分布下的平均响应时间略长于均匀分布,而偏斜分布的平均响应时间明显较短。结果符合采集时间变化的预期。
时间划分:
图8表示了一个监测作业中任务的采集、通信和处理时间,其任务流图已经在图3(b)中说明。首先通信时间明显少于采集时间和处理时间,采集时间最长,因为它取决于车辆监测的高速公路长度和车辆速度。值得注意的是,teso算法和贪婪算法中的总采集时间几乎相同,这表明这两种算法对采集操作具有相似的效果。这主要因为车辆速度差别不大,公路总长度是固定的。此外,任务1和任务2在teso算法和贪婪算法中的计算时间没有显著差异。因为贪婪算法倾向于最小化每个任务的计算时间,从而选择具有最大计算能力的车辆,所以前两个任务的调度方案与teso算法一样好。然而,贪婪算法存在优化后续任务持续时间的内在缺陷,导致其任务3和任务4的执行过程比teso差。这里的通信时间包括等待相关任务输出的排队时间,贪婪算法可能会导致任务3和任务4的等待之前任务输出结果的时间比teso算法长。而在本发明的方法中,teso算法通过减少任务1和任务2采集数据的高速公路长度,从而减轻了工作量,并且可以减少系统中的排队时间。在执行过程中,可以看出所提出的teso算法明显优于贪婪解决方案。
重新调度结果:
如前所述,因为基站覆盖范围有限,本实施例在两个基站之间增加了无人机用于通信辅助。有些车辆在完成任务前可能不在原基站的覆盖范围内。为了验证重新调度算法(决定卸载任务或通过无人机传输)的有效性,将实施例1的重新调度算法与两种策略进行了比较。一种策略是将任务从覆盖区域卸载到覆盖区域内的车辆,另一种策略是通过无人机将任务结果发送到基站。图9显示了三种不同方法的结果。实施例1的重调度算法的平均响应时间优于其他两种策略。此外,卸载策略一开始时比无人机辅助策略差,随着公路上车辆密度的增加,当车辆密度达到35辆/km后效果比无人机辅助策略好。这是因为在高速公路上有更多的车辆和更多的卸载方案。这表明决定对任务选择卸载或通过无人机上传是很有必要的。
任务类型分析:
图10说明了不同依赖类型任务的平均响应时间。本实施例发现对于第二种任务类型,用来对比两种策略几乎是一样的结果。此外,对于第三种任务类型,无人机辅助策略总体上优于任务卸载策略,因为第三种类型中任务1、任务2和任务3是并行处理的。对于第一类任务依赖类型,卸载策略优要于无人机辅助策略。因此可以发现,如果任务中有更多的并行任务,无人机辅助策略会更好。值得注意的是,本发明的重新调度算法总是比两种策略具有更短的响应时间,因为本发明的算法可以选择卸载任务或与无人机通信。可以看出,所提出的重新调度算法在响应时间上有所改进,提高了系统的稳定性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。