针对用于工业过程自动化的无线网络(WIA-PA)在部署过程中存在的簇首数据负载分布不均衡问题,提出了一种支持负载均衡的新型成簇方法.根据WIA-PA的网络特征建立周期性数据吞吐量模型,通过改进WIA-PA网络的簇首选择算法和现场设备的入网流程,使现场设备入网时优先选择吞吐量相对小的路由器作为簇首,实现了网络拓扑结构依据流量自适应调整的成簇策略.测试结果表明,该方法在均衡簇首数据负载、平衡簇首能耗、延长网络生命周期等方面取得了良好效果.
For the imbalance issue of data transmission among cluster-heads in wireless networks for industrial automation-process automation (WIA-PA), a new load-balanced clustering scheme is presented. A periodic data throughput model is firstly established based on WIA-PA network characteristics. Then a cluster-head selection algorithm and an improved joining method for field devices is proposed. The field devices prefer to select the router with the minimum throughput as their cluster-head, so as to adjust network topology adaptively according to the data traffic. The tests show that the proposed scheme can effectively balance the data traffic and energy consumption among cluster-heads, and extend the lifetime of WIA-PA networks.
工业无线网络是一类面向工业应用现场实时性、确定性和可靠性需求的无线传感器网络,是无线通信技术在工业自动化控制领域的延伸[1].用于工业过程自动化的无线网络(WIA-PA, wireless networks for industrial automation-process automation)是我国自主制定研发的工业无线网络通信标准,于2011年通过国际电工委员会的成员投票,成为工业无线领域的国际标准.
WIA-PA网络采用分簇式的拓扑结构,组网成簇方法直接影响网络的部署效果和运行性能.此外,由于WIA-PA以工业现场为应用场景,当拓扑结构趋于稳定时,网络主要完成现场设备周期性数据的汇聚转发功能,节点的数据流量具有明显的周期性特征[2].因此,一个设计良好的组网成簇方法应充分考虑WIA-PA网络的结构和通信特征.
现有的组网成簇方法主要针对通用的无线传感器网络进行设计,如低能耗自适应层次成簇算法及其改进的能量高效聚集成簇、基于“生命游戏”的层次成簇等算法[3-6].在成簇算法的研究中,负载均衡是一项备受关注的设计目标. Liao等[7-9]对传感器网络中支持负载均衡的成簇算法进行了设计和讨论.但上述各种面向通用无线传感器网络的成簇方法,并没有考虑WIA-PA网络数据流量的周期性特征和WIA-PA网络结构以及路由设备固定担当簇首的网络特征,难以直接应用于WIA-PA网络.而目前部署的WIA-PA网络主要使用基于接收信号强度指示(RSSI, received signal strength indication)或链路质量指示(LQI, link quality indicator)的简单成簇方法.现场设备依据所接收信标帧的RSSI或LQI,选择最大值对应的路由设备完成入网成簇过程.该类算法仅关注信道质量,同样没有考虑WIA-PA数据流量特征,也未进行任何均衡,导致在部署过程中容易造成各路由设备间的数据负载分布不均衡,产生网络拥塞和通信时延;同时过重的传输负担还会过早耗尽自身能量,引起网络隔断,甚至系统瘫痪[10].
针对上述问题,笔者结合WIA-PA网络的结构特点,提出了一种适用于工业无线WIA-PA网络的负载均衡成簇方法.该方法在均衡簇首的数据负载、平衡路由设备能量消耗、延长网络生命周期等方面取得了良好的效果.
1 工业无线WIA-PA网络WIA-PA网络采用星形网和网状网相结合的两层网络拓扑结构,如图 1(a)所示.第1层是由网关设备和路由设备组成的网状骨干网络,路由设备固定充当簇首;第2层是由路由设备和现场设备或者手持设备构成的星形子网.
为保证数据的实时和可靠传输,WIA-PA网络采用基于信标的超帧结构,超帧内包含信标、活跃期和非活跃期,如图 1(b)所示.活跃期包括竞争接入阶段和非竞争接入阶段,非活动期包括用于簇内数据采集的簇内通信、用于簇间数据转发的簇间通信和休眠阶段.当WIA-PA网络稳定运行时,超帧的活跃期仅占用少量时隙资源,可忽略,而超帧的大部分资源用于非活动期周期性数据的汇聚转发.
2 负载均衡成簇方法网络管理器在对簇首节点的周期性数据吞吐量建模的基础上,根据各簇首数据负载分布情况为新入网节点设备指定簇首,通过网络的成簇控制,实现网络拓扑结构依据流量的自适应调整,均衡簇首的数据负载,平衡簇首间能量消耗.
2.1 周期性数据吞吐量模型在周期性数据吞吐量模型中,假设WIA-PA网络达到稳定状态,不考虑有移动设备节点接入,路由设备的周期性数据吞吐量可表示为单位时间内路由设备在信标帧阶段、簇内通信阶段和簇间通信阶段发送和接收的数据量的总和,即
(1) |
其中:Q信标、Q簇内和Q簇间分别为该路由设备网内信标阶段、簇内通信阶段和簇间通信阶段的周期性数据吞吐量,单位为bit/s.
1) 信标阶段周期性数据吞吐量
路由设备在信标阶段周期性广播信标帧,其周期性数据吞吐量Q信标定义为
(2) |
其中:T信标为信标帧的广播周期,单位为s;k信标为T信标时间内路由设备发送的信标帧所包含的数据量,单位为bit.
根据WIA-PA标准,路由设备在每个超帧周期发送一次信标帧,假设其超帧周期为T0,则该路由设备在信标阶段的周期性数据吞吐量Q信标可进一步表示为
(3) |
2) 簇内阶段周期性数据吞吐量
路由设备在簇内通信阶段接收现场设备周期性数据信息,其周期性数据吞吐量Q簇内定义为
(4) |
其中:T簇内为该路由设备下星形网络内现场设备周期性数据信息的汇报周期,单位为s;k簇内为T簇内时间内星形网络内现场设备发送的周期性数据信息所包含的数据量,单位为bit.
假设某路由设备所在的星形网络内有n个现场设备,每个现场设备向该路由设备发送的周期性数据信息的平均数据量为kA, i(i=1, 2, …, n),发送周期为TA, i(i=1, 2, …, n),那么现场设备i的传输速率rA, i可对应表示为
(5) |
假设第i个现场设备,每pi个超帧周期向路由设备发送一次周期性数据信息,则第i个现场设备数据发送周期TA, i可进一步表示为TA, i = piT0.根据上述条件,T簇内时间内所有现场设备向路由设备发送的周期性数据信息所包含的数据量k簇内可进一步表示为
(6) |
星形网络内现场设备周期性数据信息的发送周期T簇内可表示为所有现场设备周期性数据发送周期TA, 1, TA, 2, …, TA, n的最小公倍数LCM(TA, 1, TA, 2, …, TA, n),即
(7) |
综合式(4)~式(7),路由设备在簇内通信阶段的周期性数据吞吐量最终可表示为
(8) |
3) 簇间阶段周期性数据吞吐量
路由设备在簇间通信阶段与其他路由设备或网关设备进行周期性数据通信,其周期性数据吞吐量Q簇间定义为
(9) |
其中:T簇间为该路由设备与网内其他邻居路由设备的数据通信周期,单位为s;k簇间为T簇间时间内该路由设备与网内其他邻居路由设备周期性数据通信所包含的数据量,单位为bit.
假设WIA-PA网络在簇间通信阶段共有(m-1) 个邻居路由设备与该路由设备进行数据通信,且每个邻居路由设备发送给该路由设备的平均数据量为kR, j(j=1, 2, …, m-1),平均数据发送周期为TR, j(j=1, 2, …, m-1).同时,该路由设备在簇间通信阶段也会周期性的发送数据给其他路由设备,其平均数据量为kR, m,平均数据周期为TR, m.因此,路由设备j在簇间阶段的通信速率rR, j可表示为
(10) |
假设第j个路由设备每qj个超帧周期发送一次周期性数据,则其数据发送周期TR, j可进一步表示为TR, j = qjT0.根据上述条件,T簇间内所有与该路由设备通信的簇间阶段周期性数据所包含的数据量可进一步表示为
(11) |
其中该路由设备在簇间阶段的数据通信周期T簇间可表示为该路由设备与邻居路由设备通信周期TR, j(j=1, 2, …, m)的最小公倍数,即
(12) |
综合式(10)~式(12),路由设备在簇间通信阶段的周期性数据吞吐量可表示为
(13) |
4) 超帧周期性数据吞吐量
综合式(1)、式(3)、式(8) 和式(13),路由设备在超帧内各阶段总的周期性数据吞吐量Q可最终表示为
(14) |
网络管理器为每个路由设备维持信息统计表,用于存放路由设备的地址信息、路由设备所属簇内的现场设备数量、路由设备的邻居信息和超帧配置信息等,作为簇首节点选择算法的信息来源.网络管理器获取待入网现场设备发来的加入请求命令帧,并从该帧中提取待入网设备所发现的邻居路由设备,然后以周期性数据吞吐量模型为基础,执行算法1所示的簇首选择算法.
算法1 WIA-PA网络簇首选择算法
1 输入: R[i],i=1, 2, …, n
/*待入网节点发现的邻居路由设备,i为编号值,n为个数*/
SF[i],i=1, 2, …, n
/*各个邻居路由设备所对应的信息统计表*/
2 输出: R[s],s为最终选定的簇首的编号值
3 Qmin←∞; /*记录最小吞吐量,初值设为最大*/
4 for i←1 to n do
5 查找R[i]对应的信息统计表SF[i],获取配置信息;
6 t0←R[i]对应的超帧周期;
7 m1←R[i]所在簇内部的现场设备数;
8 m2←簇间通信阶段与R[i]通信的邻居路由设备数;
/*计算信标阶段周期性数据吞吐量Qbeacon */
9 kb← R[i]发送的信标帧所含的数据量;
10 Qbeacon ← kb/t0;
/*计算簇内阶段数据吞吐量Qintra*/
11 Qintra ← 0;
12 for j←1 to m1 do
13 ka←第j个现场设备向R[i]发送的平均数据量;
14 p←第j个现场设备向R[i]发送数据所间隔的超帧周期数;
15 Qintra ← Qintra+ka/(pt0);
16 end
/*计算簇间阶段周期性数据吞吐量Qinter */
17 km← R[i]在簇间阶段发送给邻居设备的平均数据量;
18 v← R[i]在簇间阶段发送数据给邻居设备所间隔的超帧周期数;
19 Qinter ←km/(vt0) /* R[i]自身发送的簇间吞吐量*/
20 for t←1 to m2 do
21 kr←第t个邻居设备发送给R[i]的平均数据量;
22 q←第t个邻居设备向R[i]发送数据所间隔的超帧周期数;
23 Qinter ← Qinter + kr/(qt0)
24 end
/*计算总吞吐量,并更新最小吞吐量及对应的设备号*/
25 Qtotal ←Qbeacon + Qintra+ Qinter;
26 if Qtotal<Qmin then
27 Qmin←Qtotal;
28 s←i;
29 end
30 end
33 return R[s]
算法1的主要思想是依次计算各个备选路由设备的周期性数据吞吐量,选择吞吐量最小的路由设备作为待入网节点的最终簇首节点.利用该算法,现场设备在入网时会尽量避开繁忙的路由设备,以相对较为空闲的路由设备作为簇首,从而在成簇方式上达到了负载均衡的效果.
2.3 负载均衡成簇方法运行过程所提出的负载均衡成簇方法在簇首所在的网状网络成形的基础上,在星形网络构建过程中,通过网络管理器运行簇首选择算法,在入网阶段为新入网节点指定簇首,实现对网络拓扑结构依据流量调整的成簇控制,最终形成流量分布比较均匀的网络拓扑. 图 2所示为负载均衡成簇方法运行过程.
如图 2(a)所示,待入网节点设备首先对可用信道列表进行扫描,侦听在网路由设备周期性发送的信标帧.待入网节点记录和统计其通信范围内所有邻居路由设备的地址信息,同时选择RSSI最大的信标帧所对应的路由设备作为自身的临时簇首节点,执行入网操作.
如图 2(b)所示,待入网节点设备将统计的邻居路由节点地址信息作为负载的一部分,放入媒体接入控制(MAC, medium access control)层连接请求命令帧发送至临时簇首节点.临时簇首节点收到待入网节点的连接请求命令帧,在网络层重新构造加入请求命令帧发送至网络管理器.
如图 2(c)所示,网络管理器根据加入请求中的邻居节点地址信息,执行簇首选择算法,选择一个周期性数据吞吐量最少的邻居路由设备,将其指定为待入网节点设备的最终簇首节点.网络管理器将指定簇首的地址信息作为网络层加入响应命令帧负载的一部分,返回给临时簇首节点.临时簇首节点收到网络管理器的加入响应命令帧,在MAC层重新生成连接响应命令帧,发送至待入网节点,如果指定簇首与临时簇首不一致,则临时簇首即可结束与待入网节点设备的临时代理关系.
如图 2(d)所示,待入网节点将指定簇首的地址信息添加到邻居表项中,然后通过指定簇首节点,向网络管理器发送汇报邻居请求命令帧,指定簇首节点收到命令帧后,查看源地址是否存在于自己的邻居表项,如果存在,则直接转发此命令帧;如果不存在,则将其添加到邻居表项,并进行转发.
如图 2(e)和图 2(f)所示,收到待入网节点的汇报邻居请求命令帧后,网络管理器对新入网节点进行资源配置操作.完成资源配置过程,待入网节点即可正常通信,由此完成现场设备的入网成簇过程.
值得说明的是,笔者主要完成了在现场设备动态入网阶段对各簇首流量分布的及时调整.由于WIA-PA网络采用星形网与网状网相结合的拓扑结构,若要实现全网流量均衡性,需要进一步对网状网的传输路径进行调整.这种调整需要消耗网络资源,一般由网络管理器进行判断,在必要时执行.因此,为了提高网络整体均衡性,可以配合网状网的路由算法进行进一步联合优化.
2.4 改进的命令帧结构为实现所提出的负载均衡成簇方法,需对入网成簇过程中使用的命令帧的帧结构进行改进.对MAC层连接请求命令帧和临时簇首节点在网络层构造的加入请求命令帧的帧格式进行改进,新增“簇首数目”和“簇首地址集合”域;对网络层的加入响应命令帧进行改进,新增“指定簇首短地址”域;对临时簇首节点在MAC层构造的连接响应命令帧进行改进,新增“指定簇首短地址”域.改进后的命令帧的帧格式如图 3所示.
所提出的簇首选择算法在网络管理器中运行,因此在节点入网过程中在原有帧格式的基础上增加了少量信息域,以传递算法所需的数据信息.相比于基于RSSI值的成簇算法,会额外增加一定的能量开销,这可视为所提方法取得均衡效果所付出的代价.但所改进的入网成簇流程不会带来额外的帧交互过程,从而使增加的能量开销控制在相对较小的范围.
3 测试和分析搭建测试系统对负载均衡成簇方法的性能进行测试,测试系统由网关设备、路由设备、节点设备和网络管理器软件组成.其中,网络管理器软件完成对整个WIA-PA网络的集中式管理.
在测试实验中,需选择合适的成簇算法进行性能对比.由于WIA-PA网络自身所具有的流量周期性、簇首固定化等特征,现有的面向通用无线传感器网络的负载均衡成簇算法难以直接在WIA-PA网络中进行实现.同时,考虑到目前已实际部署的WIA-PA网络主要采用基于RSSI值或LQI值的组网成簇算法,因此,测试实验选用基于RSSI值的成簇算法作为参照,与所提出的负载均衡成簇算法在路由平均周期性数据吞吐量、周期性数据吞吐量均衡度、周期性数据吞吐量方差和网络生命周期4个方面进行性能对比测试.测试系统中,路由设备与现场节点设备均由STM32L152微处理器与CY2420无线射频模块组成,路由设备数量为2,节点设备的数量分别为8、16、20、24、28、32、36和40.节点设备和路由设备的位置在100 m×100 m范围内随机分布.为保证测试效果,节点设备和路由设备之间的距离限制在通信范围内,两类设备之间的距离不超过20 m.为了使测试结果更具普遍性和准确性,每次测试时间为30 min.
3.1 路由平均周期性数据吞吐量图 4所示为路由设备的平均周期性数据吞吐量统计图.可以看出,当网络中节点和路由设备数量相同,超帧周期也相同时,两种成簇算法所对应的路由设备平均周期性数据吞吐量相同,且该指标与节点数量成正相关关系.相同规模的吞吐量为下面测试中观察不同成簇算法在均衡度、生命周期等指标上的差异,提供了同一对比前提.
假设网络中路由设备数量为n,经过第i个路由的周期性数据吞吐量为Qi,为了更加直观地反映各路由设备周期性数据的均衡性,定义路由的周期性数据吞吐量均衡度B[11]为
(15) |
根据契比雪夫不等式可知,对于实数序列Q1, Q2, …, Qn,B≤1,当且仅当Q1=Q2=…=Qn时,B = 1.对于系统而言,B越接近于1,则网络中n个路由设备的周期性数据吞吐量越均衡.
图 5所示为路由周期性数据吞吐量均衡度统计,可以看出,在运行负载均衡成簇方法时,B值稳定在1附近,而基于RSSI的成簇方法B值在大多数情况下均远小于1,且波动较大.因此,相比于基于RSSI成簇方法,负载均衡成簇方法可以使路由设备的数据负载更加均衡.
为了进一步说明网络运行过程中,其路由设备周期性数据的均衡性,对网络中所有路由设备的周期性数据吞吐量的方差S进行统计分析,方差值越小,则数据流量越平均,其表达式为
(16) |
其中:n为路由设备的数量,Qi为第i个路由设备的周期性数据吞吐量,Q为网络中所有路由设备的周期性数据吞吐量平均值.
图 6所示为路由设备的周期性数据吞吐量方差统计.可以看出,在运行负载均衡成簇方法时,路由设备的周期性数据吞吐量方差基本小于100,而基于RSSI的成簇方法中路由设备的周期性数据吞吐量方差在大多数情况下大于100,因此,相比于基于RSSI的成簇方法,负载均衡成簇方法可以使路由设备的数据负载更加均衡.
无线传感网络的生命周期有多种不同的定义[12],笔者将其定义为网络开始运行后,直到出现某一个设备因剩余能量不足而与邻居设备无法正常通信,导致网络拓扑结构出现分割为止,网络系统所持续运行的时间. 图 7所示为网络系统生命周期统计.可以看出,路由设备的生命周期决定网络系统的生命周期,与节点数量或者路由设备的周期性数据吞吐量成反相关关系.在运行负载均衡成簇方法时,由于各路由设备在网络稳定运行期间能量消耗更加均匀稳定,网络系统的生命周期相比于基于RSSI成簇方法构建的网络更长.因此,所提方法可以延长网络系统的生命周期.
针对工业无线WIA-PA网络在实际部署过程中存在的路由设备数据负载分布不均衡问题,提出了适用于WIA-PA网络的负载均衡成簇方法.通过建立的周期性数据吞吐量模型和簇首选择算法实现了在现场设备在入网阶段对各簇首流量分布的及时调整.测试结果表明,该方法在均衡簇首数据负载、平衡簇首能量消耗、延长簇首生存时间等方面相比于基于RSSI的成簇方法有较大提升.为了提高WIA-PA网络整体均衡性,下一步工作可进一步结合路由算法对网状网与星形网流量均衡进行联合优化.同时,还可考虑将一些面向通用无线传感器网络的成簇算法经过改进优化应用到WIA-PA网络中,使之适合WIA-PA网络的独特特征,从而为WIA-PA网络组网成簇方法提供更多的选择,推动WIA-PA网络的部署和发展.
[1] |
汪扬, 曾鹏, 张延宇, 等. 智能电网设备层WIA-PA无线网络的维护语义度量[J]. 北京邮电大学学报, 2015, 38(2): 27–32.
Wang Yang, Zeng Peng, Zhang Yanyu, et al. Maintenance semantic metrics for WIA-PA wireless sensor networks in the device layer of smart grids[J].Journal of Beijing University of Posts and Telecommunications, 2015, 38(2): 27–32. |
[2] |
王恒, 李敏, 刘其琛, 等. 一种基于确定性调度的工业无线网络路由算法[J]. 仪器仪表学报, 2011, 32(9): 1921–1928.
Wang Heng, Li Min, Liu Qichen, et al. Routing algorithm for industrial wireless network based on deterministic scheduling[J].Chinese Journal of Scientific Instrument, 2011, 32(9): 1921–1928. |
[3] | Heinzelman W B, Chandrakasan A P, Balakrishnan H. An application-specific protocol architecture for wireless microsensor networks[J].IEEE Transactions on Wireless Communications, 2002, 1(4): 660–670. doi: 10.1109/TWC.2002.804190 |
[4] | Tyagi S, Kumar N. A systematic review on clustering and routing techniques based upon LEACH protocol for wireless sensor networks[J].Journal of Network and Computer Applications, 2013, 36(2): 623–645. doi: 10.1016/j.jnca.2012.12.001 |
[5] | Razaque A, Abdulgader M, Joshi C, et al. P-LEACH:energy efficient routing protocol for wireless sensor networks[C]//Long Island Systems, Applications and Technology Conference (LISAT). Farmingdale:IEEE, 2016:1-5. |
[6] |
杨永健, 贾冰, 王杰. 无线传感器网络中LEACH协议的改进[J]. 北京邮电大学学报, 2013, 36(1): 105–109.
Yang Yongjian, Jia Bing, Wang Jie. An improved algorithm for leach protocol in wireless sensor network[J].Journal of Beijing University of Posts and Telecommunications, 2013, 36(1): 105–109. |
[7] | Liao Ying, Qi Huan, Li Weiqun. Load-balanced clustering algorithm with distributed self-organization for wireless sensor networks[J].IEEE Sensors Journal, 2013, 13(5): 1498–1506. doi: 10.1109/JSEN.2012.2227704 |
[8] | Zhao Miao, Yang Yuanyuan, Wang Cong. Mobile data gathering with load balanced clustering and dual data uploading in wireless sensor networks[J].IEEE Transactions on Mobile Computing, 2015, 14(4): 770–785. doi: 10.1109/TMC.2014.2338315 |
[9] | Kuila P, Jana P K. Approximation schemes for load balanced clustering in wireless sensor networks[J].The Journal of Supercomputing, 2014, 8(1): 87–105. |
[10] | Zhang Sheng, Yan Ao, Ma Tianming. Energy-balanced routing for maximizing network lifetime in WirelessHART[J].International Journal of Distributed Sensor Networks, 2013, 12(4): 1380–1383. |
[11] |
胡丹, 李士宁, 李志刚. 无线传感器网络动态负载均衡树路由算法[J]. 计算机工程, 2009, 35(23): 91–94.
Hu Dan, Li Shining, Li Zhigang. Dynamic load balanced tree routing algorithm for wireless sensor networks[J].Computer Engineering, 2009, 35(23): 91–94. doi: 10.3969/j.issn.1000-3428.2009.23.032 |
[12] | Liu Anfeng, Zhang Penghui, Chen Zhigang. Theoretical analysis of the lifetime and energy hole in cluster based wireless sensor networks[J].Journal of Parallel and Distributed Computing, 2011, 71(10): 1327–1355. doi: 10.1016/j.jpdc.2011.05.003 |