数据转发方法及存储装置
技术领域
本发明涉及网络数据通信技术,更具体地,涉及数据转发方法及存储装置。
背景技术
随着物联技术的发展,越来越多的智能设备接入网络。网格网络(mesh network)因其适合覆盖大面积的开放区域,而备受关注。
网格网络是包括多个节点的网络架构。至少一个节点作为网络控制器,网格网络中的节点有多个。网络控制器用于节点之间的通信调度和节点与外部网络之间的通信路由。节点可以经由网络控制器访问外部网络。在同一时刻,一般只有一个网络控制器对网络进行控制。
如图1所示的一种网格网络的拓扑结构,节点N1向节点N6发送数据包时,节点N1先通过广播的方式向节点N2-N5发送数据包,节点N2-N5接收到数据包后,进行转发机制以分别向节点N6转发数据包。其中节点N1为源节点,节点N2-N5为中继节点,节点N6为目标节点。节点N6接收到节点N2-N5转发的任意一个数据包后,该网格网络中从节点N1向节点N6传送数据的任务结束。
上述提供的网格网络中数据转发的方式存在以下问题:节点N2-N5几乎同时接收来自节点N1的数据包,节点N2-N5同时转发数据包,使得节点N6接收到的数据包会受到来自其他节点转发的数据包的信号干扰,进而会导致节点N6接收数据的误码率升高。
如图2所示的一种用于网格网络中的数据转发的时序图。为了使得中继节点N2-N5转发的数据包不同时到达目标节点N6,该数据转发方法在中继节点N2-N5分别接收到源节点N1发送的数据包时产生不同的随机延时T4-T7,使得中继节点N2-N5转发至目标节点N6的数据包到达时间错开,能够解决图1中网格网络存在的技术问题。然而该方法在中继节点转发数据时引入随机延时,使得源节点传输数据包至目标节点的时间在节点间广播传输时间T1和T2的基础上多个一段随机延时,会延长整个网络数据转发的时间。当网格网络中节点个数增加时,数据转发时间会越来越长。
因此,期望进一步改进网格网络的数据转发方法及存储装置,以提高网络通信效率、缩短通信时间、避免数据包在传输过程中碰撞。
发明内容
鉴于上述问题,本发明的目的在于提供一种高网络通信效率、短通信时间、可避免数据包在传输过程中碰撞的数据转发方法及存储装置。
根据本发明的一方面,提供一种用于网格网络的数据转发方法,所述网格网络包括多个节点,所述多个节点中的至少一个节点作为中继节点,用于将源节点产生的数据包转发至目标节点,所述方法包括:将多个所述节点分层;上层节点向下层节点分配转发信道;所述源节点将产生的数据包通过所述中继节点以及所述目标节点的转发信道传输至所述目标节点,其中,一个所述节点具有一条转发信道。
可选地,所述上层节点向下层节点分配转发信道包括多个同层的所述上层节点分别向多个所述下层节点分配转发信道;所述下层节点与一个所述上层节点建立交互通信以接受对应分配的所述转发信道。
可选地,建立交互通信的所述下层节点与所述上层节点的通信距离小于所述下层节点与其他同层的所述上层节点的通信距离。
可选地,一个所述上层节点分别向多个同层的所述下层节点发送第一广播包,所述第一广播包包括下层节点的节点地址以及转发信道。
可选地,一个所述上层节点分别向多个同层的所述下层节点分配的多条转发信道不相同。
可选地,根据所述节点之间的通信距离将多个所述节点分层。
可选地,所述多个节点中至少包括一个网络控制器,所述网络控制器作为上层节点向其他所述节点发送第二广播包,所述第二广播包用于查询其他所述节点接收数据的信号强度值。
可选地,接收到所述第二广播包的多个所述节点分别向所述网络控制器发送第三广播包以反馈自身与所述网络控制器的相对位置。
可选地,所述第三广播包包括网络控制器地址、节点接收数据的信号强度值,将所述节点接收数据的信号强度值处理得到节点之间的通信距离。
可选地,所述上层节点与周围节点的通信距离在预设距离内时,所述周围节点位于所述网络控制器所在层的下一层。
可选地,所述周围节点作为上层节点向未分层的其他所述节点发送第二广播包。
可选地,所述网格网络采用的通信协议包括蓝牙协议。
根据本发明的另一方面,提供一种网格网络的存储装置,用于存储所述网格网络中的节点的转发信道,将所述网格网络中的多个节点分层,上层节点向下层节点分配所述转发信道,其中,一个所述节点具有一条转发信道。
可选地,根据所述节点之间的通信距离将多个所述节点分层。
可选地,所述存储装置在所述网格网络初始化期间存储所述多个节点被分配到的所述转发信道。
可选地,所述分配转发信道包括:多个同层的所述上层节点分别向多个所述下层节点分配转发信道;所述下层节点与一个所述上层节点建立通信以接受对应分配的所述转发信道。
可选地,建立通信的所述下层节点与所述上层节点的通信距离小于所述下层节点与其他所述上层节点的通信距离。
可选地,一个所述上层节点分别向多个所述下层节点发送第一广播包,所述第一广播包包括下层节点的节点地址、转发信道。
可选地,一个所述上层节点分别向多个所述下层节点分配的多条转发信道不相同。
可选地,所述存储装置支持网络连接功能,所述网格网络采用的通信协议包括蓝牙协议。
根据本发明实施例的数据转发方法,将网格网络中的多个节点按照节点之间通信距离分层,上层节点向下层节点分配转发信道,每个下层节点只能与一个上层节点接力有效的交互通信以得到上层节点对其分配的转发信道,其中,每个上层节点可以向至少一个下层节点分配信道,每个上层节点分配的信道的频段各不相同,因此,每个目标节点都具有一条初始化期间被存储的信号路径,该信号路径上不存在时间上的数据碰撞,不会造成目标节点接收到的数据包会受到来自其他路径转发至目标节点的数据包的碰撞。并且基于频分复用的网格网络的数据转发方法无需在广播转发的过程中加入随机延时,降低了网格网络的通信时间、提高了通信效率。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示出一种网格网络的拓扑结构示意图;
图2示出现有技术的网格网络数据转发的时序示意图;
图3示出根据本发明实施例的网格网络初始化阶段的示意图;
图4示出根据本发明实施例的网格网络数据转发的原理示意图;
图5示出根据本发明实施例的网格网络数据转发的时序示意图。
具体实施方式
以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。
在下文中描述了本发明的许多特定的细节,例如数据结构、网络协议、网络拓扑结构、网络设备硬件结构等,以便更清楚地理解本发明。但正如本领域的技术人员能够理解的那样,可以不按照这些特定的细节来实现本发明。
在本申请中使用的术语“源节点”和“目标节点”分别表示产生数据包和预期接收数据包的设备,“源节点”和“目标节点”可以是网络控制器和节点设备中的任一种,“中继节点”则表示转发数据包的节点设备。
本发明可以各种形式呈现,以下将描述其中一些示例。
图3示出根据本发明实施例的网格网络的拓扑结构示意图。
如图3所示,该网格网络包括多个节点N1至N16。本实施例中节点N1例如为网络控制器,网络控制器例如为手机、电脑等智能终端,或者是专用的网络控制器,其他节点设备例如为具有网络连接功能的电视、冰箱、热水器、LED灯、摄像头、监控器、插座、定时器等智能电子设备。该网格网络为单路径网络,以网络控制器N1为中心提供多条信号路径,在每条信号路径上包括串联的多个节点,且不同信号路径上的多个节点之间不连接。
本实施例中设置为相邻层之间的节点可以建立有效的通信路径以用于转发数据,然而该网格网络分配信道的具体实施可以不以此为限,例如也可以在跨层的节点之间建立有效的通信路径。
网格网络在数据转发过程中需要有确定的信号路径,因此,在网格网络初始化阶段,需要按照预设协议向多个节点分配信道,进而使得该网格网络在初始化阶段可以配置多条信号路径用于传输数据。具体地,初始化操作如下:
第一步,根据节点之间的通信距离将多个节点分层。
该网格网络以网络控制器N1为中心,并将其他节点根据与网络控制器N1的通信距离设置为多层。其中,在该网格网络中将节点N2-N6设置为第一层节点,节点N7-N11设置为第二层节点,节点N12-N16设置为第三层节点,其中网络控制器N1处于第一层节点的上层,即网络控制器N1位于网格网络的首层。
具体地,网格网络中的网络控制器N1作为上层节点,对网络中的其他节点通过广播的方式发送第二广播包RSSI_REQ,用于查询网络中其他节点接收数据的信号强度值(RSSI,Received Signal Strength Indicator)。第二广播包RSSI_REQ中的有效载荷值包括“RSSIREQ”,以获取网络中其他节点与网络控制器N1之间的相对位置信息。
网络中其他节点接收到网络控制器N1发出的第二广播包后,分别以广播的方式向网络控制器N1发送第三广播包RSSI_RSP,第三广播包RSSI_RSP中有效载荷值包括网络控制器N1的地址、节点自身接收数据的信号强度值。节点接收数据的信号强度值用来表征节点之间的通信距离。网络控制器N1接收到其他节点发送的第三广播包RSSI_RSP,将通信距离在预设范围内的网络控制器N1的周围节点所在层设置为位于网络控制器N1所在的首层的下一层,其中,周围节点例如为N2-N6,即为第一层节点。
第二步,上层节点向下层节点分配转发信道。
作为上层节点的网络控制器N1向第一层节点N2-N6发送第一广播包RSSI_SET,第一广播包RSSI_SET中的有效载荷值包括第一层节点N2-N6的节点地址以及转发信道,该转发信道的分配原则为:作为第一层节点的上层节点的网络控制器随机从N条信道0-39中选取,每次选择之后被选择的信道从N条信道中剔除,以备网络控制器N1为其他第一层节点选取并分配转发信道,N为正整数且与网格网络采用的通信协议相关,该实施例中网格网络采用第四代蓝牙协议,然而本实施例的网格网络也可以通过第五代蓝牙协议进行通信。网络控制器N1向第一层节点分配的转发信道均不相同,因此网络控制器N1最多可以与N个第一层节点建立通信并对其分配转发信道。
当第一层节点N2-N6被分配转发信道时,存储第一层节点N2-N6的转发信道。之后第一层节点N2-N6作为上层节点重复上述第一步和第二步的操作。
其中以节点N11为例进行说明,第一层节点N2-N6分别向其他未分层的节点通过广播的方式发送第二广播包RSSI_REQ,即节点N2-N6均向节点N11发送了第二广播包RSSI_REQ,然而节点N6先于其他第一层节点将第二广播包RSSI_REQ发送至节点N11,即节点N6与节点N11建立了交互并且获得了信道分配权,并且建立交互的节点向N11向第一层节点N6发送第三广播包RSSI_RSP。并且N11作为节点N6的下层节点被设置为第二层节点,即与第一层节点建立有效通信的周围节点被设置为第二层节点,第二层节点包括节点N7-N11。
第一层节点分别向与之建立通信的第二层节点发送第一广播包RSSI_SET以向第二层节点N7-N11分配转发信道,之后存储第二层节点的转发信道。
其中,节点至少具有一条下行信道,例如网络控制器N1有5条下行信道。并且同层节点的转发信道可以属于不同频段也可以属于相同频段,例如节点N11被节点N6分配的信道与节点N15被节点N10分配的信道可以为同一信道或者不同信道,因其节点N15与节点N16不会同时被传输数据包,因此即使节点N15和节点N16的转发信道属于同一频段,也不会使得数据包在同一频段的信道中碰撞造成数据误码率增加。并且一个下层节点值与一个上层节点建立有效的交互通信,优选地,建立通信的下层节点与上层节点的通信距离小于下层节点与其他上层节点的通信距离。
网格网络中的网络控制器N1与外部网络之间采用第四代蓝牙协议、第五代蓝牙协议互联,网络控制器N1与多个节点之间、以及多个节点彼此之间可以采用第四代蓝牙协议、第五代蓝牙协议互联。网络控制器N1不仅控制网格网络内部的数据通信,而且为网格网络与外部网络之间的通信提供路由功能,使得网格网络中的多个节点可以经由网络控制器访问外部网络。
图4示出根据本发明实施例的网格网络数据转发的原理示意图。
如图4所示,网格网络在初始化期间存储了多条单路径传输信道。以网络控制器N1为中心,节点N6、N11和N16依次连接在第一信号路径上,节点N2、N7和N12依次连接在第二信号路径上,节点N3、N8和N13依次连接在第三信号路径上,节点N4、N9和N14依次连接在第四信号路径上,节点N5、N10和N15依次连接在第五信号路径上。第一至第五信号路径共同连接至网络控制器N1,不同信号路径的信号节点之间彼此不连接。
以目标节点为N16、源节点为网络控制器N1为例,该目标节点N16与源节点N1通过第一条信号路径传输源节点N1产生的数据包,节点N6、N11作为中继节点进行转发数据包,该第一条信号路径由节点N6、N11、N16的转发信道一次串联得到。第一条信号路径中各节点的转发信道的频段可以部分或者全部相同,也可以互不相同。
图5示出根据本发明实施例的网格网络数据转发的时序示意图。
本实施例的网格网络中各节进行数据转发的原理相同,即按照存储的信号路径传输数据包。
如图5所示,源节点N1以广播的方式将产生的数据包经过广播传输时间T1传输至中继节点N3,中继节点N3以广播的方式将数据包经过广播传输时间T2转发至中继节点N8,继节点N8以广播的方式将数据包经过广播传输时间T3转发至目标节点N13。即采用本发明提供的网格网络在初始化期间存储的信号路径传输数据,其信号路径已确定,目标节点仅仅通过一条信号路径转发得到数据包,不会造成目标节点接收到的数据包会受到来自其他路径转发至目标节点的数据包的碰撞。并且基于频分复用的网格网络的数据转发方法无需在广播转发的过程中加入随机延时,降低了网格网络的通信时间、提高了通信效率。
在上述的实施例中描述了根据本发明实施例的数据转发方法,该转发方法需要网络中的存储装置执行初始化期间的信道分配任务。该存储装置用于存储网格网络中的节点的转发信道,多个节点根据节点之间的通信距离分层,上层节点向下层节点分配转发信道,其中,一个节点具有一条转发信道。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。