一种基于路由表实现的蓝牙Mesh网络传输系统及方法与流程

文档序号:17377573发布日期:2019-04-12 23:28阅读:726来源:国知局
一种基于路由表实现的蓝牙Mesh网络传输系统及方法与流程

本发明涉及无线通讯技术领域,特别涉及一种基于路由表实现的蓝牙mesh网络传输系统。



背景技术:

随着蓝牙mesh的不断推广和物联网的普及,越来越多的物联网设备开始使用蓝牙mesh进行组网和通信。现今蓝牙mesh采用的是flooding方法,在该方法的网络中,每个节点都不知道其它节点的资源;在数据通信过程中,节点都是通过广播转发其收到的数据,当两个节点之间距离较远时,中间节点需要不断一级一级广播数据,最终才能到达目的节点。但是flooding方式会导致网络中充斥着大量重复的数据,占用网络资源,使得节点自身消耗大量能量。

基于现有技术存在网络传输存在大量的数据重复,占用网络资源,及有效性不强等问题,本发明由此而提出。



技术实现要素:

针对现有技术存在的问题,本发明提供一种基于路由表实现的蓝牙mesh网络传输系统及方法。

为实现上述目的,本发明的具体技术方案如下:

一种基于路由表实现的蓝牙mesh网络传输系统,该系统中蓝牙mesh网络包括若干节点,每一节点均包含一路由表,该路由表保存当前节点的附近节点信息;当某一节点从蓝牙mesh网络接收到消息时,解析出目的节点,若当前路由表包含目的节点信息,当前节点直接将消息发送给目的节点,实现该蓝牙mesh网络基于路由表通信。

作为本发明一优选技术方案,所述路由表设计为由i个k桶构成的list,该list中存储的节点信息包含:

nodeid:节点唯一id值;

addr:蓝牙mesh网络通信时使用的节点地址;

nid:蓝牙mesh网络识别码,用于识别不同的网络;

ttl:消息跳转次数,可以反映消息的存活周期;

其中,i为整数,且0≤i≤8。

作为本发明一优选技术方案,所有路由表在网络开始建立时进行初始化,保存能到达本节点的所有其他节点信息。

作为本发明一优选技术方案,所述路由表的更新机制如下:

接收到节点在线的广播消息:

(1)判断该节点是否存在于本地节点的路由表中,若是则把该节点移到k桶的尾部,若否继续执行;

(2)判断路由表中的节点数量是否达到最大值,若否,直接把节点插入到k桶的尾部;若是,开始测试节点;

(3)测试k桶的头部节点是否有效,若是,忽略广播信息;若否,移除k桶头部节点,把新节点插入到k桶的尾部。

作为本发明一优选技术方案,该系统管理各路由表中节点信息的有效性包括以下两种情况:

(1)节点上线

a、向蓝牙mesh网络中新增节点;

b、新节点向蓝牙mesh网络发送上线广播;

c、其附近节点接收到新节点的广播消息;

d、根据路由表更新过程更新本地节点的路由表;

e、结束;

(2)节点移除

探测路由表中的节点广播在线消息,判断在指定时间内是否探测到节点信息,若能继续探测;若否,把对应节点从路由表中删除,并继续探测其他节点。

本发明还提供上述传输系统的传输方法,该蓝牙mesh网络包括若干节点,每一节点均包含一路由表,该路由表保存当前节点的附近节点信息;每一节点的传输方法包括如下步骤:

s1、节点从蓝牙mesh网络中接收到消息;

s2、该节点是否能识别出该消息的nid码(网络识别码),若否,直接忽略;若是则进入下一步;

s3、消息的目的节点是否在本地节点的路由表中,若是,直接把信息发给该节点;若否,继续执行;

s4、消息的ttl值(消息跳数)是否小于等于0,若是,执行忽略;若否,继续执行;

s5、从路由表中获取有效节点,把消息转发到这些节点中。

采用本发明的技术方案,具有以下有益效果:

本发明的目的是修改蓝牙mesh算法,在此基础上加入路由表,实现基于路由表的蓝牙mesh传输系统,使其能达到降低网络中的重复数据,提高网络通信有效性的目的。

附图说明

图1为本发明中路由表的结构示意图;

图2为本发明中路由表更新原理图;

图3为本发明中节点上线原理图;

图4为本发明中节点移除原理图;

图5为本发明中数据传输原理图。

具体实施方式

以下结合附图和具体实施例,对本发明进一步说明。

参照图1至图5所示,本发明提供一种基于路由表实现的蓝牙mesh网络传输系统,该系统中蓝牙mesh网络包括若干节点,每一节点均包含一路由表,该路由表保存当前节点的附近节点信息;当某一节点从蓝牙mesh网络接收到消息时,解析出目的节点,若当前路由表包含目的节点信息,当前节点直接将消息发送给目的节点,实现该蓝牙mesh网络基于路由表通信。

具体地,该传输系统的设计包括以下方面:

一、路由表设计

所有路由表在网络开始建立时进行初始化,保存能到达本节点的所有其他节点信息。所述路由表设计为由i个k桶构成的list,该list中存储的节点信息包含:

nodeid:节点唯一id值;

addr:蓝牙mesh网络通信时使用的节点地址;

nid:蓝牙mesh网络识别码,用于识别不同的网络;

ttl:消息跳转次数,可以反映消息的存活周期;

其中,i为整数,且0≤i≤8。

具体地,路由表的设计原理如下:

路由表设计采用类似dht的方式进行设计,每个节点维护一个路由表,该表是由多个(0<=i<8)k桶构成的list,并且在网络开始建立是进行初始化。在网络初始化过程中,节点通过广播数据发现和获取节点信息来初始化路由表,由此,路由表会保存能到达本节点的所有其他节点的路由信息。路由表支持更新机制,根据节点状态实时增减表中的节点路由信息,路由表最多可以保存2^8个节点的路由信息,而实际mesh网络中能到达本节点的其他临近节点数据远没有那么多。在mesh通信中,数据的发送与转发会基于该路由表中的路由节点进行,路由表如图1所示。

二、路由表更新机制

路由表的正确更新是保证蓝牙mesh网络能正常工作的依据。分布式网络中经常会有节点加入或者移除,同时也有可能出现节点异常而导致节点失效的情况;对此,节点需要支持实时新增节点、移除节点和节点失效判断的路由表更新机制。通过路由表更新机制保证节点路由表中节点信息的最新状态。其更新流程如图2所示,所述路由表的更新机制如下:

接收到节点在线的广播消息:

(1)判断该节点是否存在于本地节点的路由表中,若是则把该节点移到k桶的尾部,若否继续执行;

(2)判断路由表中的节点数量是否达到最大值,若否,直接把节点插入到k桶的尾部;若是,开始测试节点;

(3)测试k桶的头部节点是否有效,若是,忽略广播信息;若否,移除k桶头部节点,把新节点插入到k桶的尾部。

三、节点管理

节点管理属于分布式管理方式,即每个节点管理自身路由表中的节点状态和有效性,对应节点的增减以及节点异常时做出的处理流程。其主要的目的是维护路由表中节点的有效性,为mesh网络提供通信保证,涉及的过程包括节点上线和节点移除与失效。

参考图3至图4,具体地,该系统管理各路由表中节点信息的有效性包括以下两种情况:

(1)节点上线

a、向蓝牙mesh网络中新增节点;

b、新节点向蓝牙mesh网络发送上线广播;

c、其附近节点接收到新节点的广播消息;

d、根据路由表更新过程更新本地节点的路由表;

e、结束。

(2)节点移除

探测路由表中的节点广播在线消息,判断在指定时间内是否探测到节点信息,若能继续探测;若否,把对应节点从路由表中删除,并继续探测其他节点。

四、数据传输

参考图5,本发明还提供上述传输系统的传输方法,该蓝牙mesh网络包括若干节点,每一节点均包含一路由表,该路由表保存当前节点的附近节点信息;每一节点的传输方法包括如下步骤:

s1、节点从蓝牙mesh网络中接收到消息;

s2、该节点是否能识别出该消息的nid码(网络识别码),若否,直接忽略;若是则进入下一步;

s3、消息的目的节点是否在本地节点的路由表中,若是,直接把信息发给该节点;若否,继续执行;

s4、消息的ttl值(消息跳数)是否小于等于0,若是,执行忽略;若否,继续执行;

s5、从路由表中获取有效节点,把消息转发到这些节点中。

现有的蓝牙mesh基于可管理的洪泛式(flooding)消息传输模式,该模式使用广播通道进行数据传输。本发明相比现有技术,具有如下的技术优势:

(1)、在mesh网络中加入了路由表,能够方便mesh网络管理的节点,以及可以形成清楚的网络通信拓扑图;

(2)、节点可以实时更新路由表中节点信息,保证路由表节点的有效性;

(3)、使用基于路由表发送和转发数据机制,相比原方案广播发送方式,降低了发送包的数量和提升了发送数据的有效性;

(4)、一定程度上降低了网络阻塞的可能性。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1