CN113473427A - 一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法 - Google Patents
一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法 Download PDFInfo
- Publication number
- CN113473427A CN113473427A CN202110653983.9A CN202110653983A CN113473427A CN 113473427 A CN113473427 A CN 113473427A CN 202110653983 A CN202110653983 A CN 202110653983A CN 113473427 A CN113473427 A CN 113473427A
- Authority
- CN
- China
- Prior art keywords
- neighbor node
- neighbor
- information
- node
- forwarding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/023—Limited or focused flooding to selected areas of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/22—Communication route or path selection, e.g. power-based or shortest path routing using selective relaying for reaching a BTS [Base Transceiver Station] or an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,包括如下步骤:利用设计好的基于Beacon的邻居节点信息交换机制,实现二跳邻居节点集的交换,收集邻居节点信息;根据交换后的二跳邻居节点集信息对中继节点的随机转发延迟上限值做自适应的调整;利用邻居节点信息和网络层缓存机制计算出中继节点的转发概率,实现对于中继节点的转发概率的动态调整。本发明通过设计辅助机制来实现邻居节点集的交换,在遵循蓝牙Mesh标准规范的基础上,根据蓝牙Mesh网络的特点,设计了一种基于邻居信息的泛洪约束算法,大大的降低了蓝牙Mesh网络中的非必要冗余广播,降低了广播包的冲突概率,提高了广播包的可达性。
Description
技术领域
本发明涉及蓝牙Mesh网络技术领域,具体涉及一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法。
背景技术
蓝牙Mesh技术是以低功耗蓝牙(Bluetooth Low Energy,简称BLE)为基础的无线通信技术,解决了低功耗蓝牙只能一对一或一对多组网的问题,实现了一种可以多对多的,具有网状拓扑能力的无线网络通信能力的无线通信技术。蓝牙Mesh网络中节点通过泛洪(Flooding)的路由方式与网络中的其它节点进行通信。通过中继节点的消息转发,蓝牙Mesh网络中的节点可以和无线电范围之外的节点进行通信,极大的扩展了通信范围。然而普通的泛洪算法在节点部署密度较大时具有一定的局限性,即广播风暴问题:网络中存在过多的冗余数据,以及由此带来的数据包冲突,信道争用等现象。随着物联网社会的不断发展,越来越多的设备需要接入网络,在智能建筑等典型的物联网应用场景中,具有接入设备多,密度大的特点,采用传统管理泛洪方式的蓝牙Mesh网络无法解决节点密度较大时冗余数据量大、广播冲突严重的问题。蓝牙Mesh网络中的冗余广播已经成为扩大网络规模的瓶颈,在节点密度较大的网络中,无效的冗余广播信息占据了大量系统资源,针对蓝牙Mesh网络采用的泛洪算法研究已经成为蓝牙Mesh网络的主要方向之一。
为了缓解蓝牙Mesh网络泛洪方式带来的问题。标准蓝牙Mesh协议实施的泛洪协议中采用了管理泛洪机制,主要采用下面两个手段约束泛洪问题。
(1)采用TTL(Time To Live)约束数据包跳数,防止无限泛洪。
(2)采用缓存机制记录曾经转发过的数据包,防止多次转发同一个数据包。
上述两种约束泛洪问题的方法对蓝牙Mesh网络泛洪优化的程度有限,(1)在实际操作中往往设置的很大,对网络中转发约束作用有限。(2)只是约束了节点不转发重复数据,但所有具有中继作用的节点仍然会进行一次转发。基于此,管理泛洪机制没有从本质上减少蓝牙Mesh网络中的冗余数据包数量。
蓝牙Mesh网络通过广播实现消息的转发,受控泛洪算法是一种建立在广播之上的通信算法。为了优化移动自组织网络,减少网络中的冗余数据包,可以将解决方式拆解为四类基本的优化方式,分别是基于计数器、基于概率、基于区域、基于邻居信息的优化方式,其他的方式可以视为四种基本方式组合。本小节将对以上四种经典的泛洪优化算法进行介绍。
基于计数器优化方式假设节点在接收到同一条消息的多个副本后,自身的转发将不会对网络产生额外增益,因此副本数量达到一定门限后,取消转发。基于计数器的广播算法中提出了随机转发延迟RRD的概念,即在随机时间t∈[0,Tmax]内转发数据,在第一次接收到数据之后设置一个冗余计数器,当接收到重复数据之后,冗余计数器的值+1,随机转发延迟定时器到期后,如果冗余计数器的值小于某个数,执行转发操作,如果大于某个数,则不进行转发。由于考虑到冗余数据的处理,基于计数器的优化算法极大的抑制了冗余数据的转发。后来应用在在RPL(Routing Protocol for Low Power and Lossy Networks)中的一系列Tickle类算法本质上是一种基于计数器算法的变体,Drizzle算法是其中的Tickle算法一个变体,Trickle算法基于随机计时器和窗口加倍机制来平衡流量负载和响应时间。定义了三个参数,一是冗余常数k,也就是监听到的冗余数据量,第二个参数是最小间隔长度Tmin,第三个参数是最大间隔长度Tmax,冗余常数k是在间隔长度时间内监听到的冗余数据量,一旦k超过每个数值,则放弃对数据包的转发,对计数器的改进主要体现在时间间隔的改进上,普通的基于计数器的方案采用的方案一般采用固定等待时间或者固定上下限的随机等待时间。
基于概率的优化方式是指节点以一定的概率广播,从而减少一次通信过程中产生的冗余数据包。最经典的概率广播方式是固定概率广播,以固定的概率在网络中进行广播,其基本的步骤是接收到数据包p1然后检查节点缓存中是否有p1的副本,如果有,则丢弃p1结束流程,如果不存在p1的副本,则先将p1保存在本地缓存中,然后生成一个小于1的随机数x,与预定转发概率Pt比较,如果x<Pt,则对p1进行转发,否则放弃转发,终止流程。典型的有Gossip类算法。Gossip算法大多采用固定概率转发,对整个网络设置一个固定的概率值转发
基于区域的优化方式是从节点的几何关系上推导出最佳拓扑,对网络进行提前配置,在保证连通性的前提下来实现最少的冗余。对于蓝牙Mesh网络,可以视为一个有向图G(V,E),其中V代表顶点集,也就是蓝牙Mesh网络中的节点集,E表示有向图的边,如果蓝牙Mesh网络中一个节点的无线电范围可以覆盖另一个节点,则这种覆盖关系就代表着有向图E中的一个边。求解最佳拓扑的问题等价于求该有向图的最小连通支配集MCDS问题
基于邻居信息的优化方式是指利用邻居信息来判定是否参与到消息的转发。在对泛洪算法的优化中,邻居信息对节点的转发决策至关重要,适当地使用邻居信息可以有效的抑制冗余数据。在网络中可选择的信息包括邻居信息的距离、数量、节点密度、电量等。
在第一类优化方法中,根据收到重复消息的数量做出转发决策,极大的抑制了网络中的冗余数据,但由于无法判断是否有邻居节点无法接收到广播包,因此有可能带来严重的丢包情况。第二类优化方式中,在密集网络中只需要很小的概率即可实现较高的可达率,但是主要问题也是可达率的问题,因为一个网络也有可能是稀疏的,也有可能是分布不均匀的,在网络中容易出现双峰现象,即几乎全部可达或者几乎全部不可达。在第三类方案中,理论上可以达到很好的冗余抑制效果,但由于需要获取节点精确的位置信息以及整个网络的拓扑信息,因此难以实际使用。第四种优化方式的优点是利用本地有限跳数内的节点信息就可以实现较为有效的冗余数据抑制效果。缺点是需要将邻居节点集封装到数据包中,以此来实现未覆盖邻居节点集的裁剪,不能直接用于广播包长度较小的蓝牙Mesh设备。
发明内容
发明目的:为了克服现有技术中存在的不足,提供一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其通过设计辅助机制来实现邻居节点集的交换,在遵循蓝牙Mesh标准规范的基础上,根据蓝牙Mesh网络的特点,设计了一种基于邻居信息的泛洪约束算法,大大的降低了蓝牙Mesh网络中的非必要冗余广播,降低了广播包的冲突概率,提高了广播包的可达性。
技术方案:为实现上述目的,本发明提供一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,包括如下步骤:
S1:利用设计好的基于Beacon的邻居节点信息交换机制,实现二跳邻居节点集的交换,收集邻居节点信息;
S2:根据交换后的二跳邻居节点集信息对中继节点的随机转发延迟上限值做自适应的调整;利用邻居节点信息和网络层缓存机制计算出中继节点的转发概率,实现对于中继节点的转发概率的动态调整。
进一步地,基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法在计算随机转发延迟的上限值与转发概率前,会通过一种基于Beacon的邻居节点信息交换机制获取节点自身的邻居节点集合,以及自身邻居节点的邻居节点集合。由于蓝牙Mesh技术使用BLE技术作为底层无线电技术,使用BLE的37、38、39信道的非定向不可连接广播包(ADV_NONCONN_IND)广播包进行通信,Beacon数据包的载体也是ADV_NONCONN_IND包,而其广播包的效载荷长度仅为0-31Byte,因此在报文设计时要尽可能地节约使用空间,提高数据包的利用率。在符合蓝牙Mesh标准规范中对Beacon数据包的定义的前提下,本发明对蓝牙Mesh标准规范中为Beacon类型的预留位进行扩展,设计了一种名为邻居信息交换信标(Neighbor Address ExchangeBeacon)的信标类型,用于邻居节点集交换。
进一步地,所述步骤S1中邻居节点信息交换机制的运行过程为:
A1:对邻居节点信息交换信标进行格式定义;
A2:对邻居节点集合信息进行处理,实现二跳邻居节点集的交换,收集处理后的邻居节点信息。
进一步地,所述步骤A2中对邻居节点集合信息进行处理的方法为:
B1:获取一跳邻居节点信息:接收到一跳邻居节点收集初始化的信标时,将邻居节点放入本节点的邻居节点集中,并为邻居节点创建空的邻居节点集;
B2:获取二跳邻居节点信息:一跳邻居节点收集完成后,节点切换到二跳邻居节点收集状态,接收到邻居节点发送的二跳邻居节点集时,将其添加到本节点邻居节点集中的邻居节点的邻居节点集上,节点状态切换为二跳邻居节点收集完成,此时节点可以开始进行普通消息的收发。
进一步地,所述步骤S2中随机转发延迟上限值做自适应的调整具体为:根据邻居节点集合对随机转发延迟的上限值做自适应的调整,在根据处理接收广播的未覆盖邻居节点集计算出随机转发延迟上限值后,生成一个位于上限值区间的随机数,作为计划的转发时间。
进一步地,所述步骤S2中网络层缓存机制具体为:设计了位于蓝牙Mesh网络层的待发送缓存区与已接收缓存区实现广播包的记录和邻居节点信息裁剪,所述已接收缓存区用于存放已接收的NetworkPDU的部分字段,防止重复转发;所述待发送缓存区用于存放待发送的NetworkPDU以及该消息的未覆盖邻居节点集和当前节点的邻居节点集。
进一步地,所述步骤S2中转发概率的计算方法为:随机转发延迟到期前,根据已覆盖邻居节点集和未覆盖邻居节点集计算出节点的转发概率。
进一步地,基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法在对广播包进行转发前,为了减小转发导致的广播冲突的可能性,不会立即转发,而是会根据第一次覆盖邻居节点记得大小动态给出随机转发延迟的上限值,然后随机生成一个位于0和随机转发延迟上限值之间的值作为计划的转发时间。随机转发延迟上限值的选取是与蓝牙Mesh网络的节点密度呈正相关关系的,使用一个分段函数实现随机转发延迟上限值计算,随机转发延迟上限值计算的前半部分根据广播包在空中的传输时间tradio、一个用于调节整体网络延迟上限值的系数k,以及该广播包第一次覆盖邻居节点集的大小Ncovered确定随机转发延迟上限值,其计算公式为:
进一步地,基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法在计划的转发时间到来时刻,动态的给定转发概率,以此减少网络中非必要的冗余广播,降低网络的冗余程度,本发明采用一个分段函数描述节点的转发概率,定义一个已覆盖邻居节点集合大小Nc的阈值,与未覆盖邻居节点集的大小以及当前节点的邻居节点数量NR,动态给定节点的转发概率,计算公式如下所示。
本发明中由于可以获取邻居节点信息,可以得到上一级转发蓝牙Mesh广播包的中继节点的邻居节点集合,同时节点拥有自身的邻居节点集合,因此可以对是否进行转发数据包做出可靠性较高的判断,因此能够在减少蓝牙Mesh网络中冗余广播的同时,保证整个网络的广播可达率在采用管理泛洪算法的蓝牙Mesh网络之上。
有益效果:本发明与现有技术相比,具备如下优点:
1、本发明设计了一种基于Beacon的邻居节点信息交换机制,实现了一种在与蓝牙Mesh标准规范兼容前提下实现邻居节点信息交换的方法,不需要在数据类型的广播包中添加邻居节点信息,而是专门使用邻居节点信息交换信标实现邻居节点集和的交换,同时,节点可以自由地控制更新邻居节点信息的时间和方式,不需要被动的更新,从而使网络具有更好的可控性。
2、本发明中,随机转发延迟的上限值与节点密度呈正相关关系,使用对数函数确定随机转发延迟上限值,避免了蓝牙Mesh网络中采用管理泛洪算法使用固定随机转发延迟上限值带来的节点密度越大,冲突可能性呈线性提高的问题,因此基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法的蓝牙Mesh网络具有更高的适应性。
3、本发明中,避免了蓝牙Mesh网络管理泛洪算法中对所有符合条件的数据包进行中继转发的情况,通过邻居节点信息动态计算转发概率,裁剪掉无效的冗余广播信息,因此网络中仅有一部分节点参与转发,有效降低了网络的冗余程度。
附图说明
图1为邻居信息Beacon报文展示图;
图2为邻居节点信息更新流程图;
图3为NetworkPDU的字段格式展示图;
图4为第一次覆盖的邻居节点数与随机转发延迟之间的关系图;
图5为协议栈中针对不同类型数据的处理流程图;
图6基于邻居信息的泛洪抑制算法的冗余抑制和碰撞避免流程图;
图7为节点数量和可达率的关系图;
图8为节点数量和平均每跳网络延迟之间的关系图;
图9为节点数量与参与转发的节点占总节点比例之间的关系图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,包括如下步骤:
S1:利用设计好的基于Beacon的邻居节点信息交换机制,实现二跳邻居节点集的交换,收集邻居节点信息;
S2:根据交换后的二跳邻居节点集信息对中继节点的随机转发延迟上限值做自适应的调整;利用邻居节点信息和网络层缓存机制计算出中继节点的转发概率,实现对于中继节点的转发概率的动态调整。
基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法在计算随机转发延迟的上限值与转发概率前,会通过一种基于Beacon的邻居节点信息交换机制获取节点自身的邻居节点集合,以及自身邻居节点的邻居节点集合。由于蓝牙Mesh技术使用BLE技术作为底层无线电技术,使用BLE的37、38、39信道的非定向不可连接广播包(ADV_NONCONN_IND)广播包进行通信,Beacon数据包的载体也是ADV_NONCONN_IND包,而其广播包的效载荷长度仅为0-31Byte,因此在报文设计时要尽可能地节约使用空间,提高数据包的利用率。在符合蓝牙Mesh标准规范中对Beacon数据包的定义的前提下,本发明对蓝牙Mesh标准规范中为Beacon类型的预留位进行扩展,设计了一种名为邻居信息交换信标(Neighbor Address ExchangeBeacon)的信标类型,用于邻居节点集交换。
步骤S1中邻居节点信息交换机制的运行过程为:
A1:对邻居节点信息交换信标进行格式定义;
A2:对邻居节点集合信息进行处理,实现二跳邻居节点集的交换,收集处理后的邻居节点信息。
步骤A2中对邻居节点集合信息进行处理的方法为:
B1:获取一跳邻居节点信息:接收到一跳邻居节点收集初始化的信标时,将邻居节点放入本节点的邻居节点集中,并为邻居节点创建空的邻居节点集;
B2:获取二跳邻居节点信息:一跳邻居节点收集完成后,节点切换到二跳邻居节点收集状态,接收到邻居节点发送的二跳邻居节点集时,将其添加到本节点邻居节点集中的邻居节点的邻居节点集上,节点状态切换为二跳邻居节点收集完成,此时节点可以开始进行普通消息的收发。
步骤S2中随机转发延迟上限值做自适应的调整具体为:根据邻居节点集合对随机转发延迟的上限值做自适应的调整,在根据处理接收广播的未覆盖邻居节点集计算出随机转发延迟上限值后,生成一个位于上限值区间的随机数,作为计划的转发时间。
步骤S2中网络层缓存机制具体为:设计了位于蓝牙Mesh网络层的待发送缓存区与已接收缓存区实现广播包的记录和邻居节点信息裁剪,所述已接收缓存区用于存放已接收的NetworkPDU的部分字段,防止重复转发;所述待发送缓存区用于存放待发送的NetworkPDU以及该消息的未覆盖邻居节点集和当前节点的邻居节点集。
步骤S2中转发概率的计算方法为:随机转发延迟到期前,根据已覆盖邻居节点集和未覆盖邻居节点集计算出节点的转发概率。
基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法在对广播包进行转发前,为了减小转发导致的广播冲突的可能性,不会立即转发,而是会根据第一次覆盖邻居节点记得大小动态给出随机转发延迟的上限值,然后随机生成一个位于0和随机转发延迟上限值之间的值作为计划的转发时间。随机转发延迟上限值的选取是与蓝牙Mesh网络的节点密度呈正相关关系的,使用一个分段函数实现随机转发延迟上限值计算,随机转发延迟上限值计算的前半部分根据广播包在空中的传输时间tradio、一个用于调节整体网络延迟上限值的系数k,以及该广播包第一次覆盖邻居节点集的大小Ncovered确定随机转发延迟上限值,其计算公式为:
基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法在计划的转发时间到来时刻,动态的给定转发概率,以此减少网络中非必要的冗余广播,降低网络的冗余程度,本发明采用一个分段函数描述节点的转发概率,定义一个已覆盖邻居节点集合大小Nc的阈值,与未覆盖邻居节点集的大小以及当前节点的邻居节点数量NR,动态给定节点的转发概率,计算公式如下所示。
本发明还提供一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化系统,该系统包括网络接口、存储器和处理器;其中,网络接口,用于在与其他外部网元之间进行收发信息过程中,实现信号的接收和发送;存储器,用于存储能够在所述处理器上运行的计算机程序指令;处理器,用于在运行计算机程序指令时,执行上述共识方法的步骤。
本发明还提供一种计算机存储介质,该计算机存储介质存储有计算机程序,在处理器执行所述计算机程序时可实现以上所描述的方法。所述计算机可读介质可以被认为是有形的且非暂时性的。非暂时性有形计算机可读介质的非限制性示例包括非易失性存储器电路(例如闪存电路、可擦除可编程只读存储器电路或掩膜只读存储器电路)、易失性存储器电路(例如静态随机存取存储器电路或动态随机存取存储器电路)、磁存储介质(例如模拟或数字磁带或硬盘驱动器)和光存储介质(例如CD、DVD或蓝光光盘)等。计算机程序包括存储在至少一个非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括或依赖于存储的数据。计算机程序可以包括与专用计算机的硬件交互的基本输入/输出系统(BIOS)、与专用计算机的特定设备交互的设备驱动程序、一个或多个操作系统、用户应用程序、后台服务、后台应用程序等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
基于上述方案,为了验证本发明方法的效果,将上述方案进行实例应用,以下结合附图,说明其具体的过程:
1)邻居节点信息交换信标的格式定义是实现基于Beacon的邻居节点信息交换机制的关键步骤。在本实施例中,获取邻居节点信息是依靠设计的邻居节点交换信标实现的,在蓝牙Mesh标准规范定义的网络中存在两种基本的Beacon类型,分别是安全网络信标和未配网信标,两者分别负责网络的安全性和蓝牙Mesh网络的配网过程,两者可以通过蓝牙Mesh信标的Beacon Type字段获取,该字段占用2Byte,只使用了0x00和0x01作为上面提到的两种基本信标类型,剩余的位为RFU字段为保留位,因此本实施例中在此扩展Beacon类型,如图1所示,表示含有邻居信息交换信标的ADV_NONCONN_IND广播包。
2)节点获取邻居节点集合信息的处理流程。由于网络初始化时节点不拥有一跳内邻居节点地址集合,因此网络中的蓝牙Mesh节点第一次广播Beacon无法携带自身的邻居节点集。因此,邻居信息交换的过程分为两大部分,分别是一跳邻居节点信息获取部分,和二跳邻居节点获取部分(获取邻居节点的邻居节点集合),一跳邻居节点信息获取时,邻居信息Beacon的nCnt字段为0,Comp字段为1。在接收到一跳邻居节点收集初始化的信标时,将邻居节点放入本节点的邻居节点集中,并为邻居节点创建空的邻居节点集,一跳邻居节点收集完成后,节点切换到二跳邻居节点收集状态。在接收到邻居节点发送的二跳邻居节点集时,将其添加到本节点邻居节点集中的邻居节点的邻居节点集上。收集完成二跳邻居节点信息后,节点状态切换为二跳邻居节点收集完成,此时节点可以开始进行普通消息的收发。图2描述了邻居节点信息的收集过程。
3)网络层缓存区设计是实现延时转发和判断转发概率的基础部分。在缓存机制的设计上,根据本设计的特点,需要设计两个缓存区,第一个缓存区为已接收缓存区,用于存放已接收的NetworkPDU的部分字段,防止重复转发。第二个缓存区为待发送缓存区,用于存放待发送的NetworkPDU以及该消息的未覆盖邻居节点集和当前节点的邻居节点集。发送缓存区存在的原因是加入随机转发延迟后,接收到的消息将不会被立即转发出去,而是在随机转发延迟到期后,判断是否需要转发,如果需要转发,再通过广播信道进行广播转发。
4)为了节省设备的内存空间,已接收缓存区和待发送缓存区将缓存NetwordPDU的不同字段。如图3所示,表示的是NetworkPDU的组成。IVI、NID、NetMIC、TTL均为校验性的数据,而SEQ、SRC、DST字段可以作为数据包唯一性的区分依据,但不同节点的DST字段有可能重复(即多个节点向同一个单播地址发送数据),因此,对已接收缓存区,仅缓存SEQ和SRC字段,每条缓存消息所占的字节数为5Byte。对于待发送缓存区,需要在缓存前修改TTL字段,同时计算NetMIC的新值,之后将整个NetworkPDU缓存起来,其最大长度为29Byte。
5)随机转发延迟是减少广播冲突的关键手段。在第一次广播的已覆盖邻居节点集大小为Ncovered小于等于5时,RRD的值为定值,随着Ncovered的慢慢增加,RRD的值随着Ncovered呈对数缓慢递增。在节点数量不同时采取不同的随机转发延迟。在第一次广播的已覆盖邻居节点集大小为Ncovered小于等于5时,RRD的值为定值,随着Ncovered的慢慢增加,RRD的值随着N_covered呈对数缓慢递增。本实施例中取tradio=0.376ms,k分别为30、50、70。此时的函数图具体如图4所示。
6)节点的转发概率的实现是抑制蓝牙Mesh网络冗余广播信息的基础,在Nc小于8,且时,节点比较稀疏,只要还存在未覆盖的邻居节点,就以概率1转发,用以保证在稀疏网络中的连通性,在Nc大于8时,用有效转发系数计算转发概率,与节点R的总邻居节点数NR的比值越大,转发概率越高。对于源节点发送的消息,由于其发送前无法从邻居节点接收到要发送消息的广播副本,因此其在发送时也就是源节点的发送概率为1,因此能保证源节点不漏发数据。对于某个中继节点,若其在转发前所有邻居节点均已被广播覆盖,也就是时,转发概率为0,因此能够减少网络中的冗余广播。
7)节点内部的数据包总体处理流程设计。蓝牙Mesh网络的广播承载者采用BLE中的非定向不可连接广播包(ADV_NONCONN_IND)进行通信。成功接收非定向不可连接广播包后,获取广播包的advAddr字段,作为上一级节点的单播地址。同时判断adType字段,按照adType字段交由不同层次处理,adType字段的含义由SIG定义。本研究中主要涉及蓝牙Mesh网络的普通消息类型和Beacon类型的广播。在adType字段为0x2A时为Mesh消息类型,0x2B为Mesh Beacon类型。本实施例中处理的整体流程如图5所示。
8)节点内部网络层数据包的处理方案。在网络层收到一条普通消息时,首先对传入的数据包进行解析处理,封装为NetworkPDU实例,根据NetworkPDU的src和seq字段检查网络层的已接收缓存区和待发送缓存区的缓存中是否已经有该数据包的缓存。本实施例中数据的处理流程具体如图6所示,实现冗余抑制和碰撞避免。
9)搭建仿真平台。本实施例中的冗余抑制、碰撞避免部分和邻节点信息交换部分主要涉及到蓝牙Mesh网络的网络层和承载层,在蓝牙Mesh协议栈的网络层实现缓存、转发、节点裁剪等功能,在承载层对蓝牙Mesh网络的消息和Beacon进行广播和扫描。因此,本实施例对蓝牙Mesh网络的网络层和承载层的部分功能进行仿真实现,在此基础上,实现普通的管理泛洪算法和基于邻居信息的泛洪约束算法,设计专门的Beacon机制交换邻居节点集合。
10)系统对节点的调度机制。在系统的运行过程中,某些时间段不存在发生事件的节点。因此仿真程序的运行过程中,在当前节点在当前时间的事件处理完成后,获取当前节点链表起始元素的起始时间,在当前时刻对所有节点轮询完成后,计算出所有节点中下次发生事件的最近起始时间,作为下次时间片调度的时间,也就是下次的系统时间。
11)设计仿真场景。为了评估所设计方案的效果,需要测试的项目包括网络延迟、到达率、平均转发百分比、TTL、收发数据的节点数量等,而这些指标在不同密度下的表现也是不相同的。针对本研究,需要设计合理的仿真场景。本部分在100x100的范围内分别布置49、100、144、225个均匀分布的节点,源节点以40p/s的速率向目标节点发送100个数据包,每种场景实验重复五次,统计网络中参与转发的节点数量,放弃转发的数量,成功的完成广播包接收的节点数量等,选用随机转发延迟的延时系数为k=70。仿真运行过程中生成的数据保存成文本文件。
本实施例中为了验证本发明方法的效果,将本发明提供的基于邻居信息的泛洪约束算法和传统的管理泛洪算法进行对比实验,具体的实验结果如表1所示,表2为根据表1数据计算的节点数量可达率和平均转发百分比与节点数量的关。
根据表1和表2的数据可见,本发明提供的基于邻居信息的泛洪约束算法相比于传统的管理泛洪算法在极大地降低了密集网络中的冗余广播的同时,在密度较小,密度适中,密度较大的场景中,本发明均实现了比管理泛洪算法更好的数据表现,从而验证了本发明方法的有效性。
表1
表2
为了进一步的体现本发明方法的效果,获取到图7~图9的对比数据:
图7给出了节点数量和可达率的关系图,可见本发明方法在相同的节点数量的情况下,可达率要高于传统的管理泛洪算法。
图8给出了节点数量和平均每跳网络延迟之间的关系,可见本发明方法的平均每跳网络延迟要优于传统的管理泛洪算法。
图9给出了节点数量与参与转发的节点占总节点比例之间的关系,可见本发明方法参与转发的节点占总节点比例要明显低于传统的管理泛洪算法,蓝牙Mesh网络的冗余程度明显要好于传统的管理泛洪算法。
所以,经过对比可见,本发明方法显著降低了蓝牙Mesh网络的冗余程度,并且获得了比管理泛洪算法更高的可达率,在平均单跳网络延迟在10ms以下,获得了更好的性能表现。
Claims (8)
1.一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其特征在于,包括如下步骤:
S1:利用设计好的基于Beacon的邻居节点信息交换机制,实现二跳邻居节点集的交换,收集邻居节点信息;
S2:根据交换后的二跳邻居节点集信息对中继节点的随机转发延迟上限值做自适应的调整;利用邻居节点信息和网络层缓存机制计算出中继节点的转发概率,实现对于中继节点的转发概率的动态调整。
2.根据权利要求1所述的一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其特征在于,所述步骤S1中邻居节点信息交换机制的运行过程为:
A1:对邻居节点信息交换信标进行格式定义;
A2:对邻居节点集合信息进行处理,实现二跳邻居节点集的交换,收集处理后的邻居节点信息。
3.根据权利要求2所述的一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其特征在于,所述步骤A2中对邻居节点集合信息进行处理的方法为:
B1:获取一跳邻居节点信息:接收到一跳邻居节点收集初始化的信标时,将邻居节点放入本节点的邻居节点集中,并为邻居节点创建空的邻居节点集;
B2:获取二跳邻居节点信息:一跳邻居节点收集完成后,节点切换到二跳邻居节点收集状态,接收到邻居节点发送的二跳邻居节点集时,将其添加到本节点邻居节点集中的邻居节点的邻居节点集上,节点状态切换为二跳邻居节点收集完成,此时节点可以开始进行普通消息的收发。
4.根据权利要求1所述的一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其特征在于,所述步骤S2中随机转发延迟上限值做自适应的调整具体为:根据邻居节点集合对随机转发延迟的上限值做自适应的调整,在根据处理接收广播的未覆盖邻居节点集计算出随机转发延迟上限值后,生成一个位于上限值区间的随机数,作为计划的转发时间。
5.根据权利要求1所述的一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其特征在于,所述步骤S2中网络层缓存机制具体为:设计了位于蓝牙Mesh网络层的待发送缓存区与已接收缓存区实现广播包的记录和邻居节点信息裁剪,所述已接收缓存区用于存放已接收的NetworkPDU的部分字段,防止重复转发;所述待发送缓存区用于存放待发送的NetworkPDU以及该消息的未覆盖邻居节点集和当前节点的邻居节点集。
6.根据权利要求1所述的一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法,其特征在于,所述步骤S2中转发概率的计算方法为:随机转发延迟到期前,根据已覆盖邻居节点集和未覆盖邻居节点集计算出节点的转发概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653983.9A CN113473427A (zh) | 2021-06-11 | 2021-06-11 | 一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653983.9A CN113473427A (zh) | 2021-06-11 | 2021-06-11 | 一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113473427A true CN113473427A (zh) | 2021-10-01 |
Family
ID=77869887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110653983.9A Withdrawn CN113473427A (zh) | 2021-06-11 | 2021-06-11 | 一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113473427A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923226A (zh) * | 2021-10-15 | 2022-01-11 | 北京智融云河科技有限公司 | 区块链下的邻居节点管理方法、设备及存储介质 |
CN114363939A (zh) * | 2021-12-29 | 2022-04-15 | 上海庆科信息技术有限公司 | 节点模拟测试方法、装置、存储介质、处理器及设备 |
WO2023082966A1 (zh) * | 2021-11-12 | 2023-05-19 | 华为技术有限公司 | 一种邻居发现方法和电子设备 |
CN116307190A (zh) * | 2023-03-21 | 2023-06-23 | 信通院(江西)科技创新研究院有限公司 | 一种基于蓝牙mesh网络的果园环境对产量的预测方法 |
CN117201388A (zh) * | 2023-11-06 | 2023-12-08 | 浙江大华技术股份有限公司 | 网络节点控制方法、电子设备和计算机可读存储介质 |
-
2021
- 2021-06-11 CN CN202110653983.9A patent/CN113473427A/zh not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113923226A (zh) * | 2021-10-15 | 2022-01-11 | 北京智融云河科技有限公司 | 区块链下的邻居节点管理方法、设备及存储介质 |
CN113923226B (zh) * | 2021-10-15 | 2024-03-01 | 北京智融云河科技有限公司 | 区块链下的邻居节点管理方法、设备及存储介质 |
WO2023082966A1 (zh) * | 2021-11-12 | 2023-05-19 | 华为技术有限公司 | 一种邻居发现方法和电子设备 |
CN114363939A (zh) * | 2021-12-29 | 2022-04-15 | 上海庆科信息技术有限公司 | 节点模拟测试方法、装置、存储介质、处理器及设备 |
CN114363939B (zh) * | 2021-12-29 | 2024-01-19 | 上海庆科信息技术有限公司 | 节点模拟测试方法、装置、存储介质、处理器及设备 |
CN116307190A (zh) * | 2023-03-21 | 2023-06-23 | 信通院(江西)科技创新研究院有限公司 | 一种基于蓝牙mesh网络的果园环境对产量的预测方法 |
CN116307190B (zh) * | 2023-03-21 | 2024-03-26 | 信通院(江西)科技创新研究院有限公司 | 一种基于蓝牙mesh网络的果园环境对产量的预测方法 |
CN117201388A (zh) * | 2023-11-06 | 2023-12-08 | 浙江大华技术股份有限公司 | 网络节点控制方法、电子设备和计算机可读存储介质 |
CN117201388B (zh) * | 2023-11-06 | 2024-02-02 | 浙江大华技术股份有限公司 | 网络节点控制方法、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113473427A (zh) | 一种基于邻居信息的蓝牙Mesh网络泛洪冗余优化方法 | |
US10477543B2 (en) | Methods and systems for improved communication in multi-hop networks | |
JP5474562B2 (ja) | 無線メッシュネットワークにおける輻輳管理の方法 | |
Rekik et al. | Autonomous and traffic-aware scheduling for TSCH networks | |
Khabbazian et al. | Efficient broadcasting in mobile ad hoc networks | |
Joo et al. | Distributed greedy approximation to maximum weighted independent set for scheduling with fading channels | |
EP3860061B1 (en) | Transmission control method and device | |
WO2021037069A1 (zh) | 传输控制方法及装置 | |
JP6813681B2 (ja) | 電気通信ネットワークに対する無線アクセス接続を制御するための方法および装置 | |
JP2004328749A (ja) | モバイルアドホックネットワーク環境でのデータパケットの再転送のための装置及び方法 | |
US20220353813A1 (en) | Scheduling method, access point, and station | |
Stolikj et al. | Improving the performance of trickle-based data dissemination in low-power networks | |
US10624017B2 (en) | Method for operating a communication apparatus and communication apparatus | |
Yang et al. | Edge caching with real-time guarantees | |
Rivero-Ángeles et al. | Random-access control mechanisms using adaptive traffic load in ALOHA and CSMA strategies for EDGE | |
US10841047B2 (en) | Methods and systems for reliable broadcasting using re-transmissions | |
El Fawal et al. | Multi-hop broadcast from theory to reality: practical design for ad hoc networks | |
Chelle et al. | Adaptive load control for IoT based on satellite communications | |
Cheng et al. | A CSMA/CA-based media access protocol using the registered backoff time vector (RBTv) mechanism for M2M communications | |
JP6089905B2 (ja) | 無線通信装置及び無線通信方法 | |
Campolo et al. | Performance of network coding for ad hoc networks in realistic simulation scenarios | |
Javan et al. | To‐send‐or‐not‐to‐send: An optimal stopping approach to network coding in multi‐hop wireless networks | |
KR20230069987A (ko) | 라우팅 방법, 장치 및 시스템 | |
Li et al. | A receiver-based opportunistic forwarding protocol for mobile sensor networks | |
Wang et al. | Competition: Smart flooding with multichannel for industrial wireless sensor networks. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211001 |
|
WW01 | Invention patent application withdrawn after publication |