费春国,孟美含
(中国民航大学电子信息与自动化学院,天津300300)
近年来,智慧机场已成为中国民航业发展的重要切入点,而机坪作为智慧机场的一个重要子集,是机场运行保障中最为复杂的场所,汇集了航空器、特种车辆和设备、旅客流、货物行李流和大量机坪工作人员等多种要素。根据中国民用航空局《2014年机场运行典型不安全事件汇总》统计显示,当年机场共发生典型不安全事件49 个,其中机坪运行方面32 个,占65.3%[1]。因此,对节点众多且分散、数据异构的机坪资源进行全面监控是保障智慧机场安全与稳定运行的重点和难点。
传统的无线传感器网络[2-3](WSN,wireless sensor network)无法对机坪数据进行实时、可靠及全面的监测与传输,其在服务质量、生存时间及能量消耗等方面还面临挑战[4],其中能耗均衡问题是延长传感器节点网络生命周期的关键。文献[5]中针对簇首负载不均衡问题,在簇首选举中充分考虑节点剩余能量、与汇聚节点(sink)的距离和当选簇首次数等因素,并利用模糊数学优化簇首选举过程和簇的结构,实现非均匀分簇,但没有考虑节点传输路径对能耗的影响。文献[6]为实现簇首选举的负载均衡,对循环选取簇首的阈值进行改进,综合考虑了节点剩余能量、节点与sink 的距离和邻居节点的个数,并且对每个影响因子进行了加权。文献[7]提出利用超级链路来执行数据引流,进而利用超级节点的硬件功能发挥其通信容量大的优势,实现数据流量再分配的负载均衡传输策略。
综上,分簇路由算法虽然在一定条件下有效,但没有考虑具体环境下的网络拓扑结构和节点部署情况,节点能量不均衡问题仍未解决,且过多的优选簇首条件加大了能量消耗。而机坪的网络拓扑结构和数据处理是避免网络拥塞、实现负载均衡的关键。故采用机坪网格规划思想对机坪资源进行模块化管理,继而通过改进路由控制方法对每个网格子域进行性能优化,在实现局部良性连通和数据交互的基础上,每个网格子域通过边界网桥设备(Agent)进行网格区域间信息传输,最终实现机坪资源感知网络的全网管控。
机坪面积广阔,涉及航班流、旅客流、货物流、保障资源流等众多要素。机坪资源可抽象为一个覆盖机坪范围的设备、设施、接口、人员等的异构集合体,分为异构节点和异构数据集合,无法通过传统WSN 进行全局感知。
以航班流为驱动,将机坪资源进行分块整合处理,每个资源模块部署相应的现场资源监控子网,监控子网可随着机坪资源模块的增减而调整,网格子域之间通过边界网桥设备进行交互,机坪深度感知网络架构如图1所示。
图1 机坪深度感知网络架构Fig.1 Apron deep sense network architecture
在地域广阔、节点众多且异构的网络场景下,WSN存在很大缺陷[8-9],在深刻分析机坪运行特征基础上,认为机坪运行受航班流驱动,并据此提出了航班流驱动的网格划分方案。将机坪网络划分为n 个非均匀网格,表示为D=(D1,D2,…,Dn);此外,考虑到机坪部分区域资源的硬件特性较强,在网格子域之间通过Agent 进行数据交互连通,从而实现全机坪网络拓扑,如图2所示。
图2 机坪网格结构逻辑图Fig.2 Logic diagram of apron grid structure
至此,可根据WSN 思想针对单网格内拓扑结构进行优化设计。
针对单个网格子域进行拓扑及路由设计,首先进行网格内拓扑设计,引进网络模型:设每个网格子域内是一个环形网域且具备sink 节点,从区域中心向外依次是(cor1,cor2,…,cori),cori表示第i 个圆环(根据机坪资源的部署特性,在每个子域内选取地理位置布置高性能硬件资源作为固定sink 节点是可行的),位于cori个圆环内的某一节点Nij负责将该环内感知数据以多跳的方式传送至sink 节点,设节点感知半径为Rs,拓扑结构如图3所示。
图3 网格子域拓扑结构设计图Fig.3 Structural design diagram of grid subdomain topology
为使能耗利用率最大且达到负载均衡,在保证网络覆盖率的前提下,设节点分布密度为ρi,使整个区域重复覆盖程度最小,并让网络能耗达到最优,则此时的节点感知半径[6]为等效感知半径,即
而完全覆盖区域的最小节点部署密度为
其中:F(i)为被节点Ni覆盖的区域。
若利用节点Nij进行数据转发,根据等效感知半径Ri与最优节点部署密度ρi对节点进行选择,则当等效感知半径满足如下条件时,全网能够达到均衡,即
其中:e1为节点发送1 bit 数据的能耗;e2为节点接受1 bit 数据的能耗。
综上,按照所给密度部署公式对网格子域节点进行部署,可避免密度不均造成网格子域的热点问题,同时增加能耗的利用率。但数据传输路径的随机性是能耗不均的重要方面,因此有必要对网格子域内路由传输进行优化。
传统的WSN 感知方案采用LEACH(low energy adaptive clustering hierarchy)路由控制方法,但存在以下两方面问题。
1)LEACH 协议通过循环方式不断更换簇头,但每个节点自身能耗和处理数据的性能差异较大,容易形成“死区”,根据机坪资源特性,可架设硬件资源丰富的节点成为优选簇头(甚至固定簇头)。
2)普通节点传送数据包到簇头节点通过WSN 进行自组网,这种传输方式会因为数据传输的遍历性导致数据拥塞以及节点能量消耗过快。
因此,需要基于以上问题考虑针对单个网格的WSN 路由控制。
蚁群优化算法[10](ACO, ant colony optimization)通常用于求解复杂的组合优化问题,基于ACO 的机坪感知网络主要用于网格子域内的WSN 路径搜索,与LEACH 协议不同的是机坪场景下可规定性能较好的有源设备按照能量供给程度作为固定簇头。为达到数据的负载均衡,基于ACO 进行路径搜索改进,避免数据传输的单一优化路径造成的数据拥塞问题[11],让蚂蚁按照信息素少的路径优先传输使得路径具有发散性[12],从而均衡各个路径的能耗。
首先进行数据的初始化,sink 节点获取传感器网络拓扑和能量初始情况,机坪网格子区域成簇,将能量参数引进节点的阈值T(i)选取中,根据能量优先级划分出二级簇头,在感知范围内的二级簇头中进行周期性的一级簇头循环选取,即
继而选择路径传输下一跳节点完成簇间路由,结合ACO 将数据发送给sink 节点,此时把节点的负载量考虑在内,用剩余电量和消息转发量来确定,则节点i 的负载量为
其中:q(i)为节点i 的空闲队列(转发量)长度;Q(i)为节点总队列长度;eremain(i)为节点i 的剩余能量;Etotal(i)为节点i 的总能量;λe和λq分别为能量和队列的权重。消息在队列中会产生排队延时,所以权重由实际应用对实时性的要求确定。
由于网络模型设计为网格子域内的环形区域,作用于层次网络,所以节点i 到下一跳节点距离相等。定义启发因子ηij表示蚂蚁从节点i 转移到节点j 的期望程度,使得蚂蚁趋向于走负载低的路径,更加体现负载均衡的思想,启发因子计算方式如下
为进一步实现负载均衡,将标准ACO 转移概率的信息素参数进行负相关变换,从而让蚂蚁按照信息素少的路径搜索,使传输路径由收敛性变为发散性,达到负载均衡的目的,则t 时刻蚂蚁k 由节点i 到节点j的概率为
其中:τij为边(i,j)上的重要信息素量;α 和β 分别为信息素浓度和启发因子的重要度;f(i)为蚂蚁k 下一步允许走过的节点集合。在完成第一次搜索之后,路径上的信息素浓度更新规则如下
其中:Δτki(jN)为本次循环中路径上信息素增量;Q 为信息素强度,表示在一定强度上影响算法的收敛速度;Lk为第k 只蚂蚁在本次循环中所走的总长度。随着信息素的不断积累,路径越短,其上的信息素越多,路径上信息素增加总量为
随着时间流逝,信息素会不断挥发,所以蚂蚁需对环境信息素更新,局部更新公式如下
其中:σ 为环境对信息素挥发系数,1-σ 表示信息衰减程度,为了防止信息的无限积累,令σ∈[0,1)。
当节点确定多条路径到一级簇头节点时,会从其二级簇头节点和其他从属节点聚合数据,继而使用单跳通信将数据发送到一级簇头(CHs1)。为使传感器网络的生命周期最大化并节约节点能量,在完成数据聚合后,数据将被分层发送到基站。最后,网格边界通过Agent 交互信息,从而实现机坪的全局监控。
A-LEACH 算法流程图如图4所示。
图4 A-LEACH 算法流程图Fig.4 Flow chart of A-LEACH algorithm
在Matlab 的仿真环境中,根据机坪的实际情况设置100 个节点,将监测区域划分成圆环,假设传输环境完全安全,且不受其他干扰因素影响,进而遵循密度分布公式在200×200 单位区域中进行仿真实验,MAC 层采用802.15.4 协议,网络参数如表1所示。
表1 机坪设备监控网络参数Tab.1 Monitoring parameters of apron equipment
节点数据包传输量对比如图5所示,可以看出,基于蚁群算法的A-LEACH 算法数据包的传输量明显高于已有的DEEC 算法以及原LEACH 算法,这是因为DEEC 算法根据节点的剩余能量水平和网络的异构性来决定簇首的选举,在优化簇首的同时增加了节点能耗,使得节点死亡速度过快、数据包传输量较低。而A-LEACH 算法利用边界网桥设备与各子区域进行数据交互并对网格子域进行密度规划,不但减小了节点传输距离,而且避免了因密度不均造成的网格子域内热点问题,降低了节点能耗。由此表明A-LEACH 算法相对DEEC 与原LEACH 算法增加了节点数据包的传输量。
图5 节点数据包传输量对比Fig.5 Node packet transmission volume comparison
网络中节点存活状态情况如图6所示,可以看出,DEEC 算法在2 300 轮就几乎全部死亡,LEACH 算法在运行到将近2 700 轮数的时候节点几乎全部死亡,而A-LEACH 算法在3 000 轮左右节点能量才消耗干净,DEEC 算法与原LEACH 算法节点死亡要比ALEACH 算法出现的早,且死亡率大大高于优化后的算法。这是因为A-LEACH 算法改进了ACO 转移概率公式,通过对信息素参数进行负变换,让蚂蚁按照信息素少的路径搜索,使得传输路径由收敛性变为发散性,均衡了节点传输路径,减少了单一路径单个节点的能量消耗,提高了节点的存活率,由此表明A-LEACH算法能改善节点的能量均衡,延长网络生命周期。
图6 网络生命周期对比Fig.6 Network life cycle comparison
针对机坪实际监控网络特性,提出机坪网格结构下的负载均衡控制对策,通过对机坪资源进行网格划分,局部设计优化WSN 数据传输和汇集。基于机坪实际作业情况在每个网格子域内进行拓扑设计,计算等效感知半径。重点分析LEACH 协议的不足,由ACO结合LEACH 协议在多簇路由数据传输过程中按照低负载和低信息素的方式寻求多条传输路径,避免网络拥塞,从而达到均衡负载的目的。结果表明A-LEACH算法能够更好地应用于实际机坪感知监控网络,更好地利用有限带宽资源,保证网络监控系统的可靠性。现有研究只是进行网格内数据传输优化设计,对于静态传感网与移动节点Agent 的网格边界数据交互是未来研究的重点问题。