一种面向智慧交通的车联网网络流量估计方法
2021-07-01靳传学
凌 敏,罗 影,袁 亮,靳传学
(1.成都航空职业技术学院 机电工程学院,四川 成都 610100;2.电子科技大学 信息与通信工程学院,四川 成都 611731;3.成都航空职业技术学院 信息中心,四川 成都 610100;4.成都盘沣科技有限公司,四川 成都 610100;5.电子科技大学 通信抗干扰技术国家级重点实验室,四川 成都611731)
近年来车载自组织网络发展迅速,它依靠诸如互联网、新一代无线通信、云计算、边缘计算等前沿信息技术,通过有效的数据处理与分发来提供可靠的车载通信。车联网的高效利用可减少交通事故、交通拥堵、驾驶时间、油耗等,促进智慧城市发展[1-2]。车联网允许用户通过交换特定交通信息来了解周围环境的信息和可能发生的堵塞,其中车联网的网络流量受城市交通布局、出行时间以及交通事故等因素的影响随时间变化。车联网络架构在为智慧交通带来便利的同时,也存在许多待解决的技术问题。其中,车辆的交通数据由大量分布式基础设施生成,并通过网络传输到云计算服务器。这些交通数据的处理不具备可扩展性和高效性,当来自车辆传感器的数据量过多时会影响处理时延[3]。同时,大量的数据向云服务器进行传输代价非常昂贵,需要消耗大量的带宽和能量,造成车联网网络阻塞等问题。因此,对车联网流量的研究十分重要,通过流量分析与估计可以减少网络负载压力,更快更好地实现城市交通调度,促进交通智能化,有效地提高城市交通效率,减少或预防交通事故的发生。
车联网络中部分数据仅由设备本身使用,或者在设备覆盖范围内处理,不需要转移到云计算,特别是一些对时间敏感的应用,例如车联网终端中的交通灯控制和无人驾驶应用等[4]。由于应用程序的数据生成点远离云计算中心,因此数据传输时间是一个巨大的挑战。车联网中的大多数终端用户设备通常资源匮乏,因此可以利用边缘计算服务器处理网络边缘收集的数据,提供可靠的计算能力,减少请求时间和网络带宽浪费[5-7]。在5G车联网应用场景中,基站(BS)和边缘服务器的联动能够支持大量交通设备入网,可以处理大量终端和应用程序的请求,例如缓存、多媒体等。边缘计算是一种开放式平台,它在靠近数据源的一侧集成了网络、计算、存储和应用程序的核心功能,为设备提供了更多的计算能力和服务。边缘计算的应用在边缘推出,具有更快的网络服务响应,满足行业对实时业务、安全和隐私保护的需求。因此,在智慧交通网络中融入边缘计算,打造一种通用平台,根据客户需求提供多种车联应用是车联网发展的趋势[8-10]。
传统的车联网数据流以大批量快速传输到云,但不具备可扩展性和高效性,无法处理实时性要求高的海量数据[11]。同时,传输大数据是昂贵的,将消耗大量的带宽、能量和时间[12]。因此,有必要设计一个有效的数据处理架构。如今,随着车载终端数量和智能性的大幅增加,越来越多的应用需要处理大量的计算任务。相比从云计算服务器请求计算资源,利用边缘计算融入车联网络可以减少部分请求的延迟和带宽,但也有一些请求和内容在云计算服务器和边缘计算服务器之间迁移。边缘计算通常与数据源端的许多终端相结合,并提供基础计算服务。部分应用程序和数据仍然需要云计算中心的某些服务,例如数据的长期存储、大区域范围的数据计算等[13]。基于边缘计算要求严格的实时性,细粒度、高精度的车联网络流量估计是车联网络技术应用的本质要求,对智慧交通网络流量工程建设有着非凡的意义。网络流量的测量发展到现在已经取得实质性的成果,目前有许多方法可以测量网络流量,例如NetFlow,sFlow,但是这需要硬件支持和远程监控代理软件。因此,通过软件定义网络的思想和边缘计算技术来实现万物互联成为一种应用趋势。软件定义网络(SDN)将数据和控制平面分开,并将网络控制与决策集中[14]。基于软件定义网络的网络提供低延迟和高带宽服务,具有灵活性和可编程性。在边缘-云计算架构中,除了数据收集和通信之外,新架构还需要仔细考虑存储、访问和分析技术。在新架构中,网络不仅仅用于转发数据,还需要处理数据,如存储、计算和分析等。基于软件定义网络的通信层根据认知无线电和信道分配策略提供选择策略,可实现低延迟和高带宽通信。在测量方法的选择上,目前主要有主动测量与被动测量两种方法。用于动态测量网络流量的主动监控技术在网络中引入了额外的开销,而被动方法在流量测量方面缺乏准确性。因此,如何减小流量测量误差,提高流量估计精度是网络流量工程中最值得研究的技术。在实际应用中,面对灵活的网络流量变化,基于合理的流量估计策略,提高流量测量精度,是车联网络流量估计的一项重要研究内容。
在车联网络数据采集方面,软件定义网络提供了两种通过OpenFlow协议收集流量统计数据的机制,即基于拉取和基于推送[15]。基于拉取的机制是收集统计信息的主动方法,无需额外的硬件或软件,需要控制器向基于OpenFlow的交换机发送指令。控制器程序读取状态消息并将其发送到基于OpenFlow的交换机以收集流统计信息或端口统计信息[16-17]。HUANG等[18]提出并实现了一个基于软件定义网络的移动边缘云框架,该框架同时兼容ETSI和3GPP架构。它提供了所需的数据平面灵活性和可编程性,可以根据网络部署和条件实时改进延迟。该文献针对战术无线网络中的带宽、服务差异化和灵活性,提出了基于软件定义网络的移动边缘云(MEC)架构,同时该架构可以对动态的战术无线网络做出最佳的策略。HUO等[19]利用数据包级统计数据,在软件定义网络中设计了一种可扩展、准确、快速的测量方案,并提出了一种可以估算链路利用率的低延迟负载感知双层测量平台。文献[20]采用插值优化的方法对软件定义网络流量测量结果进行插值恢复,提高流量估计的精度。文献[21-23]中的方案试图对网络中的数据流量问题展开研究,但是,网络中的流量测量都面临测量误差不可预测的问题。
通过分析上述研究的不足,笔者提出了一种新的测量方案,构建了一种新的云-边缘计算车联网络流量测量体系架构方案。本方案中直接测量网络流量的一些数据,并预测细粒度的网络流量。然后,笔者提出了一种优化模型来减少预测的细粒度测量误差,并提出一种启发式算法来寻找模型的最优解。笔者的主要工作如下:
(1) 与以前的网络测量方法相比,研究了基于软件定义网络的智慧交通网络流量的测量。将流量的测量开销和精度作为智慧交通网络优化的核心。为了获得低开销和高精度的测量结果,提出数据流的粗粒度流量和链路的细粒度流量。
(2) 提出基于最小估计误差的目标函数来优化测量结果。由于目标函数是NP难(NP-hard)问题,设计一种启发式算法来获得细粒度流量测量的最优解。
(3) 为了验证所提出的算法的优越性能,搭建了仿真验证平台,并进行了一系列的仿真实验。
1 网络流量估计方法
车联网中大量的服务经常从云计算请求资源,需要网络测量方法优化资源消耗,例如负载平衡、路径规划和异常检测。基于软件定义网络的流量测量比传统网络流量测量更容易,且更灵活。在本节中,笔者提出了一种基于软件定义网络的车联网流量测量架构。
1.1 系统模型
作为一种新型网络,车联网络由装备在移动车辆上的节点和固定的道路基础设施组件组成。车联网中边缘计算设备通常需要协同处理车辆传感器节点和基础交通设施传输过来的数据。同时,智慧交通网络还实时添加或删除一些边缘节点。常见的网络测量具有很高的局限性。软件定义网络的集中控制器可以提供网络结构的统一视图,快速响应边缘节点的添加和删除,集中式流量工程更有效。调整端到端流量路径以实现网络资源的有效利用,软件定义网络控制器可以快速聚合网络资源,从而实现均匀分配。
软件定义网络提供主动和被动两种测量方法。控制器启动主动测量方法将测量数据包注入网络,方便灵活收集交换机回复的信息,控制器可根据需要主动测量网络流量。被动测量方法是通过观察测量,触发开关以收集统计信息并将其发送到控制器。被动测量没有额外的成本,但缺点是不灵活。在智慧交通网络架构中,网络连接车载终端、边缘计算设备和云计算中心,网络中存在多个小流量,因此主动测量方法更适合边缘-云计算车联网络中的流量测量。从逻辑上讲,所有交换设备都直接连接到控制器;在物理上,有两种模式可以部署控制器,即带内和带外。在带外模式下,控制器与传输网络隔离,所有交换机经专用线路连接控制器;在带内模式下,控制指令由其他交换机经专业虚拟链路通过网络传输。
笔者提出的基于软件定义网络的车联网流量测量架构,首先采用粗粒度测量,然后使用估计和优化方法以较低的测量开销恢复细粒度测量。这些测量组件安装在控制器中,并与其他现有软件定义的测量框架兼容。所提出的测量关键技术包括粗粒度测量、流量矩阵构造、插值和优化。通过收集基于OpenFlow的流统计信息,可以获得软件定义网络中基于流的粗粒度测量;流量矩阵由链路负载、流量和路由矩阵组成,反映了网络中流的特征,在流量工程中得到了广泛的研究;插值是数据恢复的常用方法,被广泛用于解决复杂问题。用户和应用程序通过新颖测量方案提供的应用程序接口(Application Programming Interface,API)执行许多测量任务,例如链路利用率、流量大小分布和异常检测,用于支持边缘计算车联网中感知道路交通、道路状况,检测交通事故、危险驾驶等重要事件。
1.2 流量矩阵建设
源-目的(OD)流量是指网络中任意两个节点之间的流量。为描述源-目的对之间的网络流量分布,考虑一种简单的拓扑结构。网络中有5个具有计算和存储功能的交换机,形成网状网络。这5个交换机连接到多个边缘主机、车载终端或数据中心。然后,在不同的链接中抽象源-目的对来构建流量矩阵。具有网络中每个源-目的对的矩阵的网络中的流量为
(1)
根据式(1),可以获得业务矩阵和标记矩阵的列向量:
X=[x11x12…x21x22…xNN]T。
(2)
通过直接测量无法获得网络中的源-目的流量,需要根据测量的链路流量和网络路由矩阵进行计算,并构建一个线性的表达式来反映流量矩阵的映射关系:
Y=AX,
(3)
其中,Y是表示链路流量的列向量,X也是表示流量矩阵的列向量,A是路由矩阵。
源-目的流量的解决方案是典型的反转问题。由于实际网络中链路的数量远小于源-目的流的数量,因此路由矩阵的行向量倾向于具有高度的相似性,即A不满秩。面向源-目的流的计算问题是一个欠定、病态系统的逆问题求解问题。
1.3 自回归移动平均模型
在车联网络中,边缘计算设备通过网络和车载终端以及云服务器连接和传输数据。网络中的流量模型表示为时间序列模型,有时间相关性。自回归移动平均(ARMA)模型可以用于预测时间序列,是由自回归(AR)模型和移动平均(MA)模型组成的。然而,自回归移动平均模型应用更为广泛,并且相较自回归和移动平均模型来说预测错误率更低。
流量可以随着时间形成随机序列。随机序列的相关性反映了原始数据的连续性。由于自回归模型能够及时展示流量的相关性,所以一个车联网络流的流量序列x1,x2,…,xt能够被表示为
(4)
其中,xt是预测对象的观测值,Zt是误差,βi(i=1,2,…,p)是自回归系数,p是序列。由于预测对象xt受自身变化的影响,误差Zt是白噪声且是随机序列,所以随机误差的移动平均模型[20]可以表示为
xt=β1xt-1+β2xt-2+…+βpxt-p+εt+α1εt-1+α2εt-2+…+αqεt-q,
(5)
图1 用于预测流量的自回归移动平均算法模型
其中,α表示移动平均模型序列系数,q表示移动平均模型序列个数。
ARMA(p,q)模型能够准确地确定顺序p和q,从而准确地预测流量,再结合常用的排序标准来确定顺序p和q。最广泛使用的是AIC标准(A-Information Criterion)。AIC标准是拟合精度和阶数的加权函数,使AIC函数最小的模型被认为是最优的模型。
在基于软件定义网络边缘计算的车联网网络中,使用基于拉取的模式来收取OpenFlow交换机中的粗粒度网络流量统计信息,利用ARMA(p,q)模型来填充每个网络流的流量。自回归移动平均的流程图如图1所示,其中数据处理部分主要通过时序分析剔除野点,提高模型估计的精度。
算法1使用自回归移动平均估计流的流量。
输入:初始化设置,流的数量为M,粗粒度的流量测量矩阵为X。
过程:
① form=1 toM:
② 利用式(7)和式(8)获取p和q的阶数值;
③ 估计系数α和β的值;
④ 计算误差值Zt=εt+α1εt-1+α2εt-2+…+αqεt-q;
⑥ end for。
笔者提出的自回归移动平均网络流量估计方案的具体算法可用公式表示为
(6)
利用算法1,可获得流量矩阵中每个流的细粒度估计结果。但是,流量的估计结果与实际流量有很大误差。在边缘车联网络流量中,链路负载反映了网络中整体的流量传输情况。因此,使用基于拉取的方法发送请求消息以获得网络中的细粒度链路负载。网络中的细粒度的流量可以表示成
(7)
其中,A是路由矩阵。
为了降低估算结果和实际流量结果的偏差,构造一个带有约束条件的优化目标函数来估计网络流量值。目标函数如下所示:
(8)
1.4 人工鱼群算法
人工鱼群算法利用了水中的鱼可以根据个体搜索和跟踪其它鱼类来找到食物源这一思路,模拟了鱼群向水中食物区域移动时的觅食行为。通过模拟每条鱼的行为,寻找每条鱼的局部最优,最终实现鱼群的全局最优值。其中,人工鱼(AF)是一种抽象虚拟化的鱼实体,它封装了自己的数据和一系列的行为,能够接受环境刺激信息并产生出相应的行为。其所在的环境中包含问题的解决方案空间和其它人工鱼的状态。它在下一刻的行为取决于它自己的状态和环境,它也通过自己的活动来影响环境,从而影响其它人工鱼的活动。
人工鱼的外部感知是通过视觉实现的。人工鱼模型使用如下方法来实现人工鱼的虚拟视觉:
Xv=X+dvisualR(·),
(9)
(10)
其中,X是人工鱼的当前状态;dvisual是人工鱼的视距;R(·)是一个随机函数,它产生一个0到1之间的随机数;S是步长。
人工鱼的4种基本行为如下。
(1) 觅食行为。觅食行为用来表示每条鱼向食物靠近的过程。通常通过视觉感知或食物浓度来确定人工鱼活动的方向。
首先设置人工鱼的当前状态,并在其感应范围内随机选择另一个状态。如果获得的状态的目标函数大于当前状态,则通过新选择获得更近一步的状态;否则,重新选择新状态以确定是否满足条件。在选择若干次后,选择最优的满足条件作为下一步活动的基准。如果仍未满足条件,则继续随机移动一步。从而,整个觅食行为可以表示如下:
人工鱼Xi随机选择其视野中的状态Xj,且
Xj=Xi+dvisuanlR(·)。
(11)
然后,计算目标函数值fi和fj的值Xi和Xj。如果发现Xj比Xi更优,Xi向这个方向移动一个步长,并且新状态为
(12)
否则,Xi继续去选择其视野中的Xj来判定前进方向是否满足条件。在反复尝试数次之后,仍然不满足前进条件,就会执行随机行为。
(2) 集群行为。大量的人工鱼聚集在一起,共同觅食和躲避捕食者,这是鱼群在进化过程中形成的一种生活方式。每个人工鱼通过探索当前邻居中的同伴数量并计算同伴的中心位置,将新获得的中心位置的目标函数与当前位置的目标函数进行比较。如果中心位置的目标函数优于当前位置并且不是非常拥挤,则当前位置向中心位置移动一步;否则,执行觅食行为。鱼群遵循两条规则:尽可能地移动到邻近同伴的中心,并避免过度拥挤。集群行为可以被表示如下:
人工鱼Xi搜索当前视野d≤dvisual中的同伴数量nf和中心位置Xc。如果Xc/nf>δXi,则表明合作同伴中心的位置更优而且不那么拥挤,这时Xi向合作同伴的中心位置移动一步; 否则,将终止觅食过程。
(13)
其中,Xc是同伴的中心位置,δ表示拥塞因子。
(3) 追随行为。当一条鱼或几条鱼找到食物时,它们附近的其它鱼将随之而来,导致其余鱼离得更远。当最佳位置的目标函数值大于当前位置的目标函数值并且不是非常拥挤时,当前位置的鱼向最佳邻居鱼移动一步;否则,执行觅食行为。追随行为可以表示为算法2。
算法2使用人工鱼群算法优化细粒度的网络流量。
过程:
② while True:
③ 执行prey(),swarm(),follow()的过程
⑤ break;
⑥ else
⑧ 更新公告板B,
⑨ end。
⑩ end while。
人工鱼Xi在当前视野(dij
(14)
(4) 随机行为。Move(·)是觅食行为的默认行为,这意味着人工鱼在视野内随机移动。当发现食物时,它会朝着食物增加的方向快速移动。该算法描述了人工鱼Xi随机移动一步并达到新状态:
(15)
公告板:公告板是记录最佳人工鱼个体状态的地方。在执行一次迭代之后,每个人工鱼将其当前状态与公告板中记录的状态进行比较。如果它优于公告板中的状态,则更新公告板中的状态为自身的状态;否则,公告板的状态保持不变。当整个算法的迭代结束时,公告板的值是最佳解决方案。
AFSA算法详细过程如算法2所示。对于边缘计算车载网络中的流量,每个流可以用一个人工鱼表示。在AFSA模型中,行为评估是反映人工鱼自主行为的一种方式。选择最佳行为和更好的方向是解决优化问题的关键。为了解决优化问题,需要评估操作结束得到的值,并选择一个最佳方案执行,人工鱼的默认行为是觅食行为。
2 仿真分析
图2 车联网络拓扑的仿真场景
为评估所提出的测量方案的性能,搭建了一个软件定义网络测试平台,并用python编写了测量模块。利用Ryu作为控制器,用Mininet对车载终端、交换机、边缘处理器及其链路进行仿真,并在Mininet中使用Open vSwitch对基于openflow的交换机进行仿真。在基于openflow的交换机中,流通过源IP、目标IP、源MAC、目标MAC和端口来匹配流表中的流条目,从而生成从一台处理器到另一台处理器的多流。Iperf作为一个数据生成工具,它可以生成大量的数据来仿真真实的数据流量,并为网络中的每个链路填充链路负载。为简化实验,仿真了一个由7个基于openflow的交换机、7个处理器和1个Ryu控制器组成的网格拓扑结构,如图2所示。将测量模块编程导入控制器,调用周期采样模块,通过OpenFlow协议向交换机发送读取状态信息。
2.1 仿真指标
为验证所提出测量方案的性能,引入了一些常见的误差评价指标,如绝对误差(AE)和相对误差(RE)。绝对误差反映了实际流量与测量结果之间的偏差。绝对误差越小,测量越准确。相对误差是测量绝对误差与实际值的比值,反映测量的可信度。绝对误差和相对误差可以表示为
(16)
(17)
2.2 仿真评估
图3 测量网络流量的不同方法的曲线
为了验证所提算法的性能,首先构建一个车联网络拓扑结构,如图2所示,并使用Iperf生成TCP包来填充网络中从源主机到目标主机的每个链接,使用提出的测量方案来测量所有的流量。通过对网络流量的采集,发现在智慧城市通信网络中,每个流量的数据具有相似的特征,如图3所示,因此随机选取一条流量f作为讨论的例子。本方案使用自回归移动平均和AFSA模型来估计和优化细粒度网络流量,因此使用ARAF来表示所提出的测量方案。然后,将笔者所提方案与即细粒度测量(采样间隔为1s的周期采样)(FG)以及主成分分析(PCA)和SNRG等方案进行了比较。图3显示出不同估计方法下的网络流量。注意到ARAF、PCA、SNRG都反映了流f1的变化。其中,PCA的波动幅度比其他方法大得多,而SNRG、FG和笔者所提的ARAF算法的性能接近实际流量。
图4和图5分别给出不同方法的绝对误差和相对误差。FG是一种细粒度测量方法,它还具有ARAF大于细粒度测量方法的声发射。图4和图5表明网络流量波动是显著的,ARAF、SNRG和PCA的绝对误差都超过了1 MB/s。原因之一是通信量具有随机性,估计方法在估计过程中不能反映高斯噪声,但两者都能反映通信量波动的趋势。不同流量的测量值有相似的趋势,ARAF、SNRG测量方法的相对误差小于0.3,主成分分析的相对误差最大。并将主成分分析法的绝对误差和相对误差值与所提出的方法和细粒度测量方法进行了比较,所提方法的绝对误差和相对误差均小于主成分分析方法,但大于细粒度方法。
图4 不同测量方法的绝对误差
图5 不同方法的相对误差
在图6中分别比较了不同测量方法下的相对误差的累积分布函数。可以看出,所提方法相比于PCA方法和SNRG方法在误差方面表现的更好。由于FG方法为细粒度测量,测量开销巨大,所以不适用于灵活的车联网络流量估计。笔者提出的ARAF方法使用粗粒度的测量结果来帮助自回归移动平均模型获得细粒度的测量结果,并使用AFSA算法来降低估计误差,因此估计效果最接近最优。图7显示了4个不同方法的车联网络流量测量的空间相对误差。从图中可以看出,笔者所提ARAF算法的测量结果的稳定性相比SNRG和PCA要好得多,与细粒度采样方案FG测量结果的平稳性比较接近,但是略差于FG测量方案。从图6和图7可以看出,笔者所提出的ARAF测量方案是可行的。
图6 相对误差的累积分布函数图
图7 空间相对误差图
3 结束语
笔者研究了智慧交通的车联网络流量估计问题,提出了一种基于软件定义网络的车联网络流量测量方法。该方案分为两个主要阶段:第1阶段,采用抽样方法对基于openflow的交换机中链路和流量的统计信息进行采集,得到粗粒度的测量结果;第2阶段采用自回归移动平均模型对网络流量进行预测,利用AFSA方法对细粒度估计结果进行优化,降低测量误差。最后,通过仿真验证了笔者提出的测量结构和方案,仿真结果表明该测量方法是有效的。