节点设备、数据包转发方法及应用其的网格网络系统
技术领域
本发明涉及通信技术,更具体地,本发明涉及一种节点设备、数据包转发方法及应用其的网格网络系统。
背景技术
随着物联技术的发展,越来越多的智能设备接入网络。网格网络(mesh network)具有可动态扩展、高连接性、高可靠性和高稳定性的优点,因而越来越受到关注。作为终端的智能设备可以先接入网格网络,然后进一步接入相同或不同类型的其他网络,从而实现智能设备的远程管理、定时控制和参数调节等功能。
网格网络是包括网络控制器和多个节点设备的网络架构。网络控制器可以有一个或者几个,节点设备有多个。网络控制器用于节点之间的通信调度和节点与外部网络之间的通信路由。节点可以经由网络控制器访问外部网络。在同一时刻,一般只有一个网络控制器对网络进行控制。现有技术通过广播来实现网格网络,实现的协议不尽相同。例如,可以基于蓝牙协议4.0或蓝牙低功耗协议(BLE)实现网格网络。
在网格网络中,利用相邻的节点设备转发数据,以代替长距离的直接连接,这种通信方式也称为“多跳(multi-hop)”通信。节点设备通过转发收到的数据包来实现数据的传递,这种方式可以通过以节点作为中继的方式实现信息的传递。在整个网络中,节点的数据转发都是基于随机延时实现的。然而,部分网格网络所基于的无线接口传输距离有限(例如,小于20米),当一跳的距离过大时,网格网络的节点设备之间无法正常通信或者容易受到干扰。
因此,期望进一步改进网格网络的数据通信控制方法以提高网格网络的稳定性。
发明内容
有鉴于此,本发明提供一种节点设备、数据包转发方法及应用其的网格网络系统以提高网格网络的稳定性。
第一方面,一种网格网络系统,包括:
网络控制器,适于收发第一类型数据包;以及,
多个节点设备,每个所述节点设备工作在第一模式或第二模式,其中,在第一模式下,所述节点设备适于将接收到至少部分第一类型数据包转换为第二类型数据包发送,并将接收到的至少部分第二类型数据包转换为第一类型数据包发送,在第二模式下,所述节点设备适于收发第二类型数据包;
其中,所述第一类型数据包为符合预定物理层协议的数据包,所述第二类型数据包为经过物理层性能增强处理的数据包。
在一种可能的设计中,每个所述节点设备根据自身的网络相对位置或相邻节点的状态选择工作在第一模式或第二模式,其中,所述网络相对位置表示所述节点设备与所述网络控制器之间的最短转发路径的跳数或转发次数。优选地,所述节点设备在网络相对位置为与所述网络控制器相邻时选择工作于第一模式。
在一种可能的设计中,所述网络控制器适于产生命令数据包并以广播方式发送,所述节点设备根据所述命令数据包到达时的最小转发次数确定或更新自身的网络相对位置。
在一种可能的设计中,所述第一类型数据包为基于第一调制方式的数据包,所述第二类型数据包为基于第二调制方式的数据包。
在一种可能的设计中,所述第二调制方式为较所述第一调制方式接收灵敏度更低和/或速率更低和/或引入扩频技术的调制方式。优选地,所述第一调制方式为1Mbps GFSK调制,所述第二调制方式为1Mbps BPSK调制、250KHz GFSK调制、扩频BPSK调制、扩频GFSK调制或扩频QPSK调制。
第二方面,提供一种用于网格网络的节点设备,包括:
多模收发装置,适于收发第一类型数据包和第二类型数据包;
控制装置,适于在第一模式下将接收到至少部分第一类型数据包转换为第二类型数据包交由所述多模收发装置发送,并将接收到的至少部分第二类型数据包转换为第一类型数据包交由所述多模收发装置发送,在第二模式下控制所述多模收发装置收发第二类型数据包;
其中,所述第一类型数据包为符合预定物理层协议的数据包,所述第二类型数据包为经过物理层性能增强处理的数据包。
在一种可能的设计中,每个所述控制装置用于根据所述节点设备的网络相对位置或相邻节点的状态选择工作在第一模式或第二模式,其中,所述网络相对位置表示所述节点设备与所述网格网络的网络控制器之间的最短转发路径的跳数或转发次数。优选地,所述控制装置在网络相对位置为与所述网络控制器相邻时选择工作于第一模式。
在一种可能的设计中,,所述控制装置根据命令数据包到达时的最小转发次数确定或更新自身的网络相对位置,所述命令数据包由所述网络控制器生成并以广播方法发送。
在一种可能的设计中,所述第一类型数据包为基于第一调制方式的数据包,所述第二类型数据包为基于第二调制方式的数据包。优选地,所述第二调制方式为较所述第一调制方式接收灵敏度更低和/或速率更低和/或引入扩频技术。进一步优选地,所述第一调制方式为1Mbps GFSK调制,所述第二调制方式为1Mbps BPSK调制、250KHz GFSK调制扩频BPSK调制、扩频GFSK调制或扩频QPSK调制。
第三方面,提供一种数据包转发方法,包括:
在第一模式下,将接收到至少部分第一类型数据包转换为第二类型数据包发送,并将接收到的至少部分第二类型数据包转换为第一类型数据包发送;
在第二模式下,收发第二类型数据包;
其中,所述第一类型数据包为符合预定物理层协议的数据包,所述第二类型数据包为经过物理层性能增强处理的数据包。
本发明实施例同时使得节点设备可以在不同的模式下工作,在上一跳的设备为普通设备时,将符合预定物理层协议的数据包转换为经过物理层性能增强处理的数据包转发,在下一跳设备为普通设备时,将接收到的经过物理层性能增强处理的数据包转换为符合预定物理层协议的数据包转发,在上一跳和下一跳的设备均为同类设备时,以增强的物理层处理方式进行数据包收发,由此,在兼容现有网格网络节点设备的同时增强了网格网络通信连接的性能,提高了网格网络的稳定性和布设范围。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1是本发明实施例的网格网络系统的网络拓扑示意图;
图2A是本发明实施例的节点设备的结构示意图;
图2B是本发明实施例的节点设备进行数据包转发的流程图;
图3是本发明实施例的网格网络系统的数据包发送接收流程图;
图4是本发明实施例的另一种网格网络系统的网络拓扑示意图;
图5是图4所示的网格网络通信范围内出现不期望的节点设备时的网络拓扑示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在现有技术中,基于无线局域网(WLAN)技术、紫蜂(ZigBee)技术以及蓝牙技术均可以实现多跳的网格网络。以下以基于蓝牙低功耗标准的网格网络为例进行说明,但是,本领域技术人员能够理解,本发明实施例的方法和产品适于使用其它任何可以实现多跳网格网络的网络通信系统。
图1是本发明实施例的网格网络系统的网络拓扑示意图。如图1所示,该网格网络系统包括网络控制器NC和多个节点设备N1至N15。网络控制器NC例如为手机、计算机、平板电脑等智能终端,也可以是专用的网络控制器。节点设备可以为智能家电或其它智能设备,例如具备网络连接功能的电视、冰箱、热水器、LED灯、摄像头、监控器、插座、定时器等。
图1所示的网格网络为单路径网络,其中,以网络控制器NC为中心提供多条信号路径,在每条信号路径上包括串联的多个节点,且不同信号路径上的多个节点彼此不连接。如图1所示,以网络控制器NC为中心,节点N1、N6和N11依次连接在第一信号路径上,节点N2、N7和N12依次连接在第二信号路径上,节点N3、N8和N13依次连接在第三信号路径上,节点N4、N9和N14依次连接在第四信号路径上,节点N5、N10和N15依次连接在第五信号路径上。第一至第五信号路径共同连接至网络控制器,彼此之间未连接。每条路径上的节点在转发数据时,只能转发至同一信号路径上的相邻节点。也即,每个节点只能经由唯一的信号路径转发数据包至相邻的节点或网络控制器。例如,节点N9在转发数据时,只能转发至第四信号路径上的相邻节点N4和N14。
网络控制器NC与外部网络之间采用无线局域网(WLAN)协议、紫蜂(Zigbee)协议以及蓝牙协议互联,网络控制器NC与多个节点之间、以及多个节点彼此之间可以采用蓝牙协议、紫蜂协议、WLAN协议互联。在本实施例中,以采用蓝牙低功耗(Bluetooth Low Energy,BLE)协议为例进行说明。网络控制器NC不仅控制网格网络内部的数据通信,而且为网格网络与外部网络之间的通信提供路由功能,使得网格网络系统中的多个节点可以经由网络控制器访问外部网络。
现有的网格网络系统中,各节点设备之间以及节点设备与网络控制器NC之间通常是通过标准通信接口进行数据包的收发。但是,标准通信接口在某些情况下容易受到干扰,同时,还存在通信距离有限的问题。在不同的节点设备之间存在墙壁等障碍物时,会使得节点设备之间的通信连接质量急剧下降。这一问题在使用BLE设备作为节点设备时尤其突出。为了克服该缺陷,本实施例的网格网络系统中,所有的节点设备除了能基于标准的BLE接口进行通信外,还可以发送和接收物理层性能增强(抗干扰能力更强、传输距离更远以及穿透障碍物后损耗降低)的数据包,以提高整个网格网络的稳定性和性能。
具体地,每个节点设备可以工作在第一模式或第二模式。其中,在第一模式下,节点设备将通过BLE标准方式(可称为第一方式)接收的至少部分数据包以性能增强的物理层处理方式(可称为第二方式)转发并将通过性能增强的物理层处理方式接收的至少部分数据包以BLE标准方式转发。在第二模式下,所述节点设备仅通过性能增强的物理层处理方式收发数据包。也就是说,在第一模式下,节点设备将接收到的至少部分第一类型数据包转换为第二类型数据包发送,并将接收到的至少部分第二类型数据包转换为第一类型数据包发送。在第二模式下,节点设备收发第二类型数据包。其中,第一类型数据包为符合预定物理层协议的数据包(也即,以第一方式处理的数据包),所述第二类型数据包为经过物理层性能增强处理的数据包(也即,以第二方式处理的数据包)。由此,节点设备之间可以通过性能增强的物理层接口以获得更佳的传输性能,弥补现有标准协议的缺陷。并且,由于节点设备也能够通过BLE标准方式收发数据包,因此,节点设备可以兼容现有的网格网络节点设备(例如,网络控制器NC),与现有的网络控制器NC实现组网。这对于某些应用场景是非常有益的,因为网络控制器NC通常可能为用户的手机、电脑等标准设备。
图2A是本发明实施例的节点设备的结构示意图。如图2A所示,本实施例的节点设备包括多模收发装置11和控制装置12。其中,多模收发装置11被配置为收发BLE标准数据包和经过物理层性能增强处理的数据包。控制装置12用于在第一模式下将接收到的至少部分数据包(目标节点就是本节点设备的数据包不需要转发)由一种类型转换为另一种类型后交由多模收发装置发送。控制装置12在第二模式下控制多模收发装置11以性能增强的物理层处理方式收发数据包(也即收发第二类型数据包)。
在物理层,调制方式对于信号传输的影响较大。在本实施例中,符合BLE标准的物理层处理方式为1Mbps GFSK调制,其传输距离在20米以内。为了增强物理层的性能,可以采用比上述调制方式接收灵敏度更低和/或速率更低和/或引入扩频技术的调制方式,物理层性能增强的调整方式包括但不限于1Mbps BPSK调制、250KHz GFSK调制、扩频BPSK调制、扩频GFSK调制或扩频QPSK调制。
在网络控制器NC为标准的BLE设备前提下,在本实施例的网格网络系统中,仅需要与网络控制器NC相邻的各节点设备工作于第一模式,其它节点设备工作于第二模式。也就是说,在图1中,节点设备N1-N5工作于第一模式,将基于一种调制方式的数据包转换为基于另一种调制方式的数据包发送。而节点设备N6-N15均工作于第二模式,其在网格网络中的上一跳和下一跳节点均为可以收发物理层性能增强的数据包的节点设备,因此,通过收发物理层性能增强的数据包来与上一跳和下一跳节点通信以获得更好的通信质量和稳定性。也就是说,节点设备N1-N5与网络控制器NC之间的通信接口为BLE标准接口,而与相邻的节点设备N6-N10之间的通信接口为性能增强的物理层接口(在本实施例中,为采用的性能增强的调制方式的接口)。在组网时,可以根据需要配置每个节点设备的工作模式。可选地,也可以在组网时以及在网格网络运行过程中,由节点设备根据自己在网格网络系统中的网络相对位置确定工作模式。网络相对位置用于表示节点设备与网络控制器NC之间的最短转发路径的跳数或转发次数(也即,路径上的中间节点设备数量)。根据网络相对位置,节点设备可以获知在当前的网络拓扑中自己与网络控制器之间进行通信需要经过多少个中间节点(或几跳距离)。在网格网络中所有的节点设备均可以通过BLE标准接口和性能增强的物理层接口进行通信的前提下,只需要与网络控制器NC相邻所有节点设备工作于第一模式,其它的节点设备工作于第二模式即可。
节点设备的网络相对位置可以采用中国专利申请CN105681189A公开的方式获取。也即,网络控制器NC在初始化时或需要更新网络拓扑时产生命令数据包并以广播方式发送,网格网络中的各节点设备转发所述命令数据包,并根据所述命令数据包到达时的最小转发次数确定或更新自身的网络相对位置。
可选地,节点设备也可以根据所获取的当前网络拓扑中相邻节点的状态选择工作于第一模式或第二模式。
图2B是本发明实施例的节点设备进行数据包转发的流程图。如图2B所示,在步骤100,判断当前工作模式,如果为第一模式,转步骤200,如果为第二模式,转步骤300。工作模式可以根据节点设备的当前网络相对距离自动确定或根据用户的设定确定。
在步骤200,在第一模式下将接收到的至少部分第一类型数据包转换为第二类型数据包发送,并将接收到的至少部分第二类型数据包转换为第一类型数据包发送。
在步骤300,在第二模式下,收发第二类型数据包。
图3是本发明实施例的网格网络系统的数据包发送接收流程图,其示出了网格网络系统中不同节点的实现通信的流程。如图3所示,在第一跳连接中,网络控制器NC发送第一类型数据包(以1Mbps GFSK调制)给节点设备N1-N5,节点设备N1-N5分别收到第一类型数据包之后会给网络控制器发送相应的数据包ACK(以1Mbps GFSK调制),网络控制器接收到数据包ACK表示当前的第一类型数据包与节点设备N1-N5的通信结束。
工作于第一模式的节点设备N1-N5接收到第一类型数据包(以1Mbps GFSK调制)之后,会通过内部的物理层协议控制器将其转换为第二类型数据包(以1Mbps BPSK或250KbpsGFSK调制),然后分别将其转发给对应的下一跳节点设备N6-N10。节点设备N6-N10工作于第二模式,在接收完成之后会分别向节点设备N1-N5返回相应的数据包ACK(以1Mbps BPSK或250Kbps GFSK调制),节点设备N1-N5接收到数据包ACK表示当前的第二类型数据包通信结束。
然后,节点设备N6-N10接收到第二类型数据包(以1Mbps BPSK或250Kbps GFSK调制)之后,会将其分别转发给下一跳节点设备N11-N15。节点设备N11-N15接收完成之后会给节点设备N6-N10发送相应的数据包ACK。节点设备N6-N10接收到数据包ACK表示当前的第二类型数据包发送结束。由此,来自网络控制器NC的数据包可以广播到网格网络中所有的节点设备,并由特定的一个或多个目标节点进行处理。
同时,在上行方向,当节点设备需要向网络控制器NC发送数据时,节点设备N11-N15之一将所要发送的数据包处理为第二类型数据包(1Mbps BPSK或250Kbps GFSK)之后,会将其转发给对应的下一跳节点设备N6-N10之一。节点设备N6-N10之一接收完成之后会给对应的节点设备N11-N15之一发送相应的数据包ACK(以1Mbps BPSK或250Kbps GFSK调制的第二类型数据包)。节点设备N11-N15之一接收到数据包ACK表示当前的数据包发送结束,且对应的接收结束。
然后,节点设备N6-N10之一接收到第二类型数据包(以1Mbps BPSK或250KbpsGFSK调制)之后,会将其转发给下一跳的节点设备N1-N5之一,节点设备N1-N5之一接收完成之后会给上一跳节点设备N6-N10之一发送相应的数据包ACK(以1Mbps BPSK或250KbpsGFSK调制),节点设备N6-N10之一接收到数据包ACK表示当前的第二类型数据包发送结束,且对应的接收操作结束。
节点设备N1-N5之一接收到第二类型数据包(以1Mbps BPSK或250Kbps GFSK调制)之后,会通过内部的物理层协议控制器将其转换为第一类型数据包(以1Mbps GFSK调制),然后将其转发给网络控制器NC。网络控制器NC接收完成之后会给节点设备N1-N5之一发送相应的数据包ACK(以1Mbps GFSK调制的第一类型数据包)。节点设备N1-N5之一接收到数据包ACK表示当前的第一类型数据包通信结束。
由此,网格网络中的任意一个节点的数据包均可以通过一跳或多跳转发到达网络控制器。
由于节点设备N1-N5与节点设备N6-N10之间,以及节点设备N6-N10与节点设备N11-N15之间通过基于物理层性能增强的调制方式的数据包进行通信,可以实现更加稳定的网络连接,并且扩展网格网络的通信范围,保证通信质量。同时,与网络控制器相邻的节点设备N1-N5通过符合BLE协议的标准数据包进行通信,由此可以兼容标准的网络控制器设备。
进一步地,本发明实施例的节点设备并没有改变物理层以上的各层对于数据包的处理。也就是说,在进行调制前的对数据包处理与标准的BLE设备一致,因此,可以减小设备改造或设计的成本。
图4是本发明实施例的另一种网格网络系统的网络拓扑示意图。如图4所示,该网格网络包括网络控制器NC和多个节点N1至N15。本实施例的网格网络为多路径网络,其中,以网络控制器NC为中心提供多条信号路径,在每条信号路径上包括串联的多个节点,且不同信号路径上的多个节点可以彼此连接。
如图4所示,以网络控制器NC为中心,节点N1、N6和N11依次连接在第一信号路径上,节点N2、N7和N12依次连接在第二信号路径上,节点N3、N8和N13依次连接在第三信号路径上,节点N4、N9和N14依次连接在第四信号路径上,节点N5、N10和N15依次连接在第五信号路径上。第一至第五信号路径共同连接至网络控制器,不同信号路径的信号节点还可以彼此连接。例如第一信号路径上的节点N1与第五信号路径上的节点N10彼此连接,第二信号路径上的节点N7和第三信号路径上的节点N3彼此连接。每条路径上的节点在转发数据时,不仅可能转发至同一信号路径上的相邻节点,而且可能转发至相邻信号路径上的相邻节点。也即,每个节点可能经由多条不同的信号路径转发数据包至相邻的节点或网络控制器。其中,节点设备N1-N5与网络控制器NC相邻,因此,被配置为工作在第一模式,通过标准BLE接口与网络控制器连接。同时,其它节点设备与网络控制器NC不相邻,因此,通过物理层性能增强的接口与相邻的节点设备连接通信。由此,通过一跳或多跳转发,网格网络中的任一个节点设备都可以与网络控制器NC通信。
图5是图4所示网格网络通信范围内出现不期望的节点设备时的网络拓扑示意图。如图5所示,不期望的BLE设备(B1-B3)出现在网格网络中并试图与网格网络中的网络控制器NC或节点设备N1-N15通信时,由于各节点设备之间通过物理层性能增强的数据包进行通信,标准的BLE设备(B1-B3)无法与节点设备通信(也即,无法解调数据包,其发出的标准BLE数据包也无法被节点设备N6-N15解调)。由节点设备N1-N5向网络控制器NC发送的标准BLE数据包以及网络控制器NC发给节点设备N1-N5的数据包在物理与现有的BLE协议兼容,因此,可以被BLE设备B1-B3接收。但是,这些数据包具有固定的格式,所述BLE设备B1-B3接收数据包后无法进行物理层以上的处理和解析,因此还是无法接入网络。同时,节点设备N-N5以及网络控制器NC也可以接收来自BLE设备B1-B3的标准BLE数据包,但是同样因为数据包格式不同,这些数据被会被节点设备N-N5以及网络控制器NC丢弃。由此,可以避免出现在网格网络通信范围内的标准BLE设备对于网络构成干扰,使得网络具有更好的安全性。
由于节点设备可以在不同的模式下工作,在上一跳的设备为普通设备时,将符合预定物理层协议的数据包转换为经过物理层性能增强处理的数据包转发,在下一跳设备为普通设备时,将接收到的经过物理层性能增强处理的数据包转换为符合预定物理层洗衣的数据包转发,在上一跳和下一跳的设备均为同类设备时,以增强的物理层处理方式进行数据包收发,由此,在兼容现有网格网络节点设备的同时增强了网格网络通信连接的性能,提高了网格网络的稳定性和布设范围。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。