一种数据传输方法及节点
技术领域
本发明涉及通信领域,尤其涉及一种数据传输方法及节点。
背景技术
自组织网络中,随着节点数量的增加,网络规模增大,导致及时维护节点的路由信息的难度增加,网络的数据传输效率低。因此,对大规模的自组织网络采用分层组网技术。
现有的分层组网的自组织网络中,自组织网络被分为多个层级,每个层级都由一个或一个以上的逻辑子网组成。按照节点功能的不同,自组织网络中的节点被划分为三类:群首节点、网关节点和普通节点。其中,群首节点负责维护并保存该群首节点所在网络的路由信息,该群首节点所在的网络包括该群首节点所在的子网以及低于该子网所在层级的其他层级网络,群首节点之间会交互各自维护的路由信息。普通节点只负责接收和发送数据,普通节点向不是自己的邻居节点的目标节点发送数据时,必须由该普通节点所在子网的群首节点将数据路由至目标节点。网关节点负责群首节点之间交互数据和路由信息。
现有的分层组网的自组织网络中,由于只有群首节点维护其所在网络的路由信息,并且普通节点向不是自己的邻居节点的目标节点发送数据时,必须由该普通节点所在子网的群首节点根据维护的路由信息将数据路由至目标节点。因此随着普通节点数量的增多,群首节点可能需要路由大量普通节点的数据至目标节点,导致群首节点的工作量大,数据传输时延长;普通节点向目标节点发送数据时,数据经由群首节点转发至目标节点的数据传输路径可能不是包含节点跳数最少的路径。
综上所述,现有的分层组网的自组织网络中存在群首节点的工作量大,数据传输时延长,经由群首节点转发的数据的传输路径可能包含冗余节点的问题。
发明内容
本发明实施例提供一种数据传输方法及节点,以解决现有的分层组网的自组织网络中存在的群首节点的工作量大,数据传输时延长,经由群首节点转发的数据的传输路径可能包含冗余节点的问题。
本发明的目的是通过以下技术方案实现的:
第一方面,本发明实施例提供一种数据传输方法,包括:
普通节点需要向目标节点传输数据时,根据普通节点维护的第一路由信息,确定普通节点向目标节点传输数据时所采用的传输路径;
普通节点根据传输路径,将数据传输至目标节点。
在一种可能的设计中,第一路由信息包括:
普通节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
在一种可能的设计中,还包括:
普通节点基于根据邻居节点的信息生成的第二路由信息和/或接收邻居节点广播的第三路由信息,维护第一路由信息。
在一种可能的设计中,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括普通节点在设定跳数范围内到达群首节点的路由信息。
在一种可能的设计中,广播第三路由信息的普通节点的邻居节点包括网关节点和/或群首节点。
在一种可能的设计中,第三路由信息包括:
广播第三路由信息的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
第二方面,本发明实施例还提供一种数据传输方法,包括:
广播节点确定第一路由信息;
广播节点向邻居节点广播第一路由信息,接收第一路由信息的邻居节点包括普通节点。
在一种可能的设计中,广播节点包括网关节点和/或群首节点;第一路由信息包括广播节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
在一种可能的设计中,还包括:
广播节点基于根据邻居节点的信息生成的第二路由信息和/或接收邻居节点广播的第三路由信息,维护第一路由信息。
在一种可能的设计中,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括广播节点在设定跳数范围内到达群首节点的路由信息。
在一种可能的设计中,第三路由信息包括:
广播第三路由信息的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
第三方面,本发明实施例提供一种普通节点,包括:
处理单元,用于维护第一路由信息;当普通节点需要向目标节点传输数据时,根据维护的第一路由信息,确定普通节点向目标节点传输数据时所采用的传输路径;
收发单元,用于根据处理单元确定的传输路径,将数据传输至目标节点。
在一种可能的设计中,第一路由信息包括:
普通节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
在一种可能的设计中,处理单元还用于:根据普通节点的邻居节点的信息生成的第二路由信息;
收发单元还用于:接收普通节点的邻居节点广播的第三路由信息;
处理单元在维护第一路由信息时,具体用于:基于生成的第二路由信息和/或收发单元接收的普通节点的邻居节点广播的第三路由信息,维护第一路由信息。
在一种可能的设计中,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括普通节点在设定跳数范围内到达群首节点的路由信息。
在一种可能的设计中,广播第三路由信息的普通节点的邻居节点包括网关节点和/或群首节点。
在一种可能的设计中,第三路由信息包括:
广播第三路由信息的普通节点的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
第四方面,本发明实施例提供一种广播节点,包括:
处理单元,用于确定第一路由信息;
收发单元,用于向广播节点的邻居节点广播处理单元确定的第一路由信息,接收第一路由信息的邻居节点包括普通节点。
在一种可能的设计中,广播节点包括网关节点和/或群首节点;第一路由信息包括广播节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
在一种可能的设计中,处理单元还用于:根据广播节点的邻居节点的信息生成的第二路由信息;
收发单元还用于:接收广播节点的邻居节点广播的第三路由信息;
处理单元还用于:基于生成的第二路由信息和/或收发单元接收的广播节点的邻居节点广播的第三路由信息,维护第一路由信息。
在一种可能的设计中,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括广播节点在设定跳数范围内到达群首节点的路由信息。
在一种可能的设计中,第三路由信息包括:
广播第三路由信息的广播节点的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
本发明实施例提出的一种数据传输方法及节点,普通节点需要向目标节点传输数据时,根据普通节点维护的第一路由信息,确定普通节点向目标节点传输数据时所采用的传输路径,根据传输路径,将数据传输至目标节点,解决了自组织网络中存在群首节点的工作量大,数据传输时延长,减轻了群首节点的工作量,同时还避免了经由群首节点转发的数据的传输路径可能包含冗余节点的问题,缩短了数据传输时延,提高了数据传输的效率。此外,当群首节点损坏时,普通节点可以根据维护的第一路由信息将数据传输至目标节点,避免了因群首节点损坏造成的数据传输中断。
附图说明
图1为本发明实施例提供的一种自组织网络的结构示意图;
图2为本发明实施例提供的一种数据传输方法的流程示意图;
图3为本发明实施例提供的一种根据邻居节点信息生成第二路由信息的方法的流程示意图;
图4为本发明实施例提供的一种广播节点广播路由信息的方法的流程示意图;
图5为本发明实施例提供的广播节点与普通节点之间的交互示意图;
图6为本发明实施例提供的一种普通节点的结构示意图;
图7为本发明实施例提供的另一种普通节点的结构示意图;
图8为本发明实施例提供的一种广播节点的结构示意图;
图9为本发明实施例提供的另一种广播节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的技术方案适用于采用分层组网的自组织网络。在分层组网的自组织网络中,自组织网络被分为多个层级,每个层级都由一个或一个以上的子网组成,一个子网包括一个群首节点及该群首节点的邻居节点。分层组网的自组织网络中,所有节点按照节点功能的不同,被划分为三类:群首节点、网关节点和普通节点。现有技术中,群首节点为负责维护并保存该群首节点所在网络的路由信息的节点,该群首节点所在的网络包括该群首节点所在的子网以及低于该子网所在层级的其他层级网络;网关节点为负责群首节点之间数据传输和路由信息交互的节点,群首节点间通过网关节点交互各自维护的路由信息;普通节点只负责接收和发送数据。
分层组网的自组织网络中,任一节点的邻居节点是指到达该节点的跳数在设定跳数范围内的节点。现有的普通节点向目标节点传输数据的技术方案中,若目标节点为该普通节点的邻居节点,则普通节点可以直接将数据传输至目标节点;若目标节点为该普通节点的非邻居节点时,由于只有群首节点维护该群首节点所在网络的路由信息,因此普通节点必须先将数据传输至该普通节点所在子网的群首节点,由该群首节点根据自身维护的路由信息将数据传输至目标节点。
以如图1所示的包含三层组网的自组织网络为例,如图1所示的三层自组织网络的第一层中,节点1、2、3、4为群首节点,节点6、7、8、11为网关节点,节点5、9、10、12为普通节点。由每个群首节点及该群首节点的邻居节点构成第一层网络中的一个子网,如节点1、5、6、7构成一个子网,节点2、6、8、12构成另一个子网,用于两个子网的群首节点1和2之间传输数据的网关节点为节点6。现有的技术方案中,节点5向节点4传输数据时,由于节点4是节点5的非邻居节点,节点5所属子网的群首节点是节点1,节点5需要先将数据传输给群首节点1,由群首节点1将数据路由至节点4。但如图1所示可以分析出,节点5可以将数据传输给自身的邻居节点7,再由于节点7将数据传输给节点7的邻居节点4。分析得出的数据传输路径相比于采用现有技术时的数据传输路径,采用现有技术时的数据传输路径中存在冗余的节点1,数据传输路径的跳数较多。
此外,由于现有技术中只有群首节点维护其所在网络的路由信息,普通节点向非邻居节点传输数据时,必须由该普通节点所在子网的群首节点根据维护的路由信息将数据路由至目标节点。因此随着普通节点数量的增多,群首节点可能需要路由大量普通节点的数据至目标节点,导致群首节点的工作量大,数据传输时延长。若群首节点损坏还会导致普通节点与非邻居节点之间的数据传输中断。
针对现有的数据传输方案存在的上述问题,本发明实施例提供一种数据传输方法及节点,通过本发明实施例提供的技术方案可以实现自组织网络内普通节点向目标节点传输数据时,普通节点根据自己维护的路由信息向目标节点传输数据,因此可解决自组织网络中普通节点采用现有技术传输数据时,存在的群首节点的工作量大,数据传输时延长,经由群首节点转发的数据的传输路径可能包含冗余节点的问题。其中,方法和节点是基于同一发明构思的,由于方法及节点解决问题的原理相似,因此节点与方法的实施可以相互参见,重复之处不再赘述。
下面通过实施例详细介绍本发明实施例提供的技术方案。
实施例一:
如图2所示,本发明实施例提供了一种数据传输方法,包括:
S201、普通节点需要向目标节点传输数据时,根据普通节点维护的第一路由信息,确定普通节点向目标节点传输数据时所采用的传输路径。
S202、普通节点根据传输路径,将数据传输至目标节点。
本实施例中,目标节点包括普通节点的邻居节点和非邻居节点。普通节点的邻居节点是指到达该普通节点的跳数在设定跳数范围内的节点,例如可以将到达普通节点在一跳范围内的节点称为该普通节点的邻居节点。
本实施例中,第一路由信息包括普通节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。其中,普通节点到达群首节点的路由信息包括但不限于普通节点到达该群首节点所经过的路径、普通节点到达该群首节点的路径的跳数、普通节点到达该群首节点的路径经过的网关节点、普通节点到达该群首节点的路径中该普通节点到达下一跳节点的信道质量。群首节点的邻居节点的信息包括但不限于节点标识和/或所属子网的群首节点。
S201中普通节点需要向目标节点传输数据时,普通节点从自身维护的第一路由信息中,查找该普通节点到达目标节点的传输路径,将查找到的传输路径确定为普通节点向目标节点传输数据时所采用的传输路径。
若可查找到多条该普通节点到达目标节点的传输路径,则普通节点选择这多条传输路径中节点跳数最少的传输路径作为普通节点向目标节点传输数据时所采用的传输路径。若查找到的多条传输路径中仍存在两条及以上传输路径的节点跳数均为最少,则普通节点可以考虑其他因素选择普通节点向目标节点传输数据时所采用的传输路径。例如,普通节点可在节点跳数最少的两条及以上传输路径中选择普通节点到达下一跳节点的信道质量最好的传输路径,作为普通节点向目标节点传输数据时所采用的传输路径;又例如,普通节点可根据设定时间内自身的平均负载,或者根据自身所在终端的电池量,从节点跳数最少的两条及以上传输路径中选择普通节点向目标节点传输数据时所采用的传输路径。
其中,普通节点向目标节点传输数据时所采用的传输路径包括如下信息:普通节点向目标节点传输数据时经过的各个节点,该传输路径中普通节点的下一跳节点的信息,例如下一跳节点的标识,该普通节点到达下一跳节点的信道质量。
由于普通节点向目标节点传输数据时普通节点的下一跳节点可以是除群首节点之外的网关节点或其它普通节点,因此不必像现有技术中普通节点必须将数据传输给群首节点,再由群首节点根据维护的路由信息将数据传输至目标节点,减轻了群首节点的工作量,同时还避免了经由群首节点转发的数据的传输路径可能包含冗余节点的问题。当群首节点损坏时,普通节点可以根据维护的第一路由信息将数据传输至目标节点,避免了因群首节点损坏造成的数据传输中断。
可选的,普通节点向目标节点传输数据时,若目标节点为普通节点的邻居节点,则普通节点可以直接向目标节点发送数据,也可以采用本实施例提供的方法来实现向目标节点传输数据。
本实施例中还提供一种节点维护路由信息的方法,在如图2所示的方法中普通节点通过该节点维护路由信息的方法来维护第一路由信息。需要说明的是,本实施例中群首节点和网关节点也通过该方法维护路由信息,群首节点和/或网关节点作为普通节点的邻居节点时,普通节点接收的第三路由信息即为群首节点和/或网关节点维护并广播的路由信息。下面以普通节点维护第一路由信息为例,本实施例提供的节点维护路由信息的方法如下:
普通节点基于根据邻居节点的信息生成的第二路由信息和/或接收邻居节点广播的第三路由信息,维护第一路由信息。
其中,第二路由信息是普通节点根据自身的邻居节点的信息生成的,该第二路由信息包括普通节点在设定跳数范围内到达群首节点的路由信息。以设定跳数范围为普通节点到达邻居节点的跳数范围为例,第二路由信息可包括普通节点到达该普通节点的邻居节点中的群首节点的路由信息、普通节点到达该群首节点的信道质量、该群首节点的邻居节点的信息。
第三路由信息是普通节点通过接收自身的邻居节点广播的第三路由信息获得的,该邻居节点可以包括网关节点和/或群首节点,第三路由信息是邻居节点自身维护的路由信息,邻居节点维护路由信息的方法与普通节点维护第一路由信息的方法相同。第三路由信息包括广播节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
普通节点基于第二路由信息和/或第三路由信息来配置并更新第一路由信息,该第一路由信息包括普通节点分别到达网络中各个群首节点的路由信息和/或网络中各个群首节点的邻居节点的信息。其中,普通节点对于一个群首节点可仅设置一条或多条普通节点到达该群首节点的路由信息。其中,普通节点到一个群首节点的路由信息可以包括普通节点到达该群首节点时经过的网关节点、普通节点到达下一跳节点的信道质量、普通节点到达该群首节点的跳数等信息。
可选的,对于一个群首节点,当第二路由信息和/或第三路由信息中有两条及以上普通节点到达该群首节点的路由信息,而普通节点仅需设置一条普通节点到达该群首节点的路由信息时,普通节点可选择普通节点到达该群首节点经过的节点跳数最少的路由信息作为第一路由信息中普通节点到达该群首节点的路由信息。当第二路由信息和/或第三路由信息中仍存在两条及以上普通节点到达该群首节点的节点跳数均为最少的路由信息时,普通节点可以考虑其他因素选择其中一条路由信息作为第一路由信息中普通节点到达该群首节点的路由信息。例如,对于一个群首节点,当第二路由信息和/或第三路由信息中存在两条及以上普通节点到达该群首节点的节点跳数均为最少的路由信息时,普通节点可选择普通节点到达下一跳节点的信道质量最好的路由信息作为第一路由信息中普通节点到达该群首节点的路由信息。又例如,对于一个群首节点,当第二路由信息和/或第三路由信息中存在两条及以上普通节点到达该群首节点的节点跳数均为最少的路由信息时,普通节点可根据设定时间内自身的平均负载,或者根据自身所在终端的电池量,从节点跳数最少的两条及以上普通节点到达该群首节点的路由信息中选择一条路由信息作为第一路由信息中普通节点到达该群首节点的路由信息。
若普通节点基于第二路由信息和/或第三路由信息配置第一路由信息为首次配置时,首次配置后的第一路由信息可能仅包括普通节点分别到达网络中部分群首节点的路由信息和/或网络中部分群首节点的邻居节点的信息。由于普通节点可多次获得第二路由信息和/或第三路由信息,并根据多次获得的路由信息配置第一路由信息,经过多次配置后,可得第一路由信息包括普通节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。此后,普通节点还可以根据获得的第二路由信息和/或第三路由信息更新第一路由信息。
可选的,随着自组织网络中节点的移动,可能会导致普通节点的邻居节点发生变化,普通节点可以检测到该变化,并根据该变化更新自身的邻居节点的信息,进而更新第二路由信息和/或根据更新的第二路由信息来更新第一路由信息。
举例说明,图1的三层自组织网络的第一层中,节点5仅基于第二路由信息首次配置第一路由信息时,配置后的第一路信息仅包括节点5到达群首节点1的路由信息和/或群首节点1的邻居节点的信息。节点5多次接收群首节点1和网关节点7广播的第三路由信息,同时根据检测到的邻居节点的变化更新第二路由信息。因此节点5可多次获得第二路由信息和/或第三路由信息,并根据多次获得的路由信息配置第一路由信息。节点5经过多次配置后的第一路由信息如表1所示。
表1
本实施例中,普通节点根据邻居节点的信息生成第二路由信息的方法,如图3所示,包括:
S301、普通节点保存邻居节点的信息,邻居节点的信息包括每个邻居节点标识和/或每个邻居节点所属子网的群首节点标识。例如,图1的三层自组织网络的第一层中,节点5的邻居节点的信息如表2所示。
表2
表2中,一个邻居节点的信息的格式为(邻居节点所属子网的群首节点,邻居节点)。以表2中的(1,7)为例,(1,7)表示节点5的一个邻居节点为节点7,节点7所属子网的群首节点为节点1。
S302、普通节点根据邻居节点的信息生成普通节点与邻居节点中群首节点的第二路由信息。例如,图1的三层自组织网络的第一层中,节点5根据邻居节点的信息生成的第二路由信息如表3所示。
表3
本实施例中,第三路由信息是普通节点通过接收自身的邻居节点广播的第三路由信息获得的,该邻居节点可以包括网关节点和/或群首节点,第三路由信息是邻居节点自身维护的路由信息,邻居节点维护路由信息的方法与普通节点维护第一路由信息的方法相同。
为方便描述,以下将普通节点的邻居节点中广播第三路由信息的节点称为广播节点,如图4所示为广播节点广播路由信息的方法。需要说明的是,如图4所示方法中的第一路由信息、第二路由信息和第三路由信息应与如图2所示方法中的第一路由信息、第二路由信息和第三路由信息相区分,如图4所示方法中,第一路由信息是指广播节点广播的路由信息,第二路由信息和第三路由信息用于维护广播节点广播的第一路由信息,第二路由信息是指广播节点根据自身的邻居节点信息生成的路由信息,第三路由信息是指广播节点接收自身邻居节点广播的路由信息。
广播节点广播路由信息的方法如图4所示,包括:
S401、广播节点确定第一路由信息。
S402、广播节点向邻居节点广播第一路由信息,接收广播节点广播的第一路由信息的邻居节点包括普通节点。
广播节点的第一路由信息包括广播节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息
S401中广播节点基于根据邻居节点的信息生成的第二路由信息和/或接收邻居节点广播的第三路由信息,维护第一路由信息。广播节点维护第一路由信息的方法与如图2所示的方法中普通节点维护第一路由信息的方法相同,在此不再赘述。
第二路由信息是广播节点根据自身的邻居节点的信息生成的,该第二路由信息包括广播节点在设定跳数范围内到达群首节点的路由信息。以设定跳数范围为广播节点到达邻居节点的跳数范围为例,第二路由信息可包括广播节点到达该广播节点的邻居节点中的群首节点的路由信息、广播节点到达该群首节点的信道质量、该群首节点的邻居节点的信息。广播节点根据邻居节点的信息生成第二路由信息的方法与如图2所示的方法中普通节点根据邻居节点的信息生成第二路由信息的方法相同,在此不再赘述。
第三路由信息是广播节点通过接收自身的邻居节点广播的第三路由信息获得的,该邻居节点可以包括网关节点和/或群首节点,第三路由信息是邻居节点自身维护的路由信息,邻居节点维护路由信息的方法与广播节点维护第一路由信息的方法相同。第三路由信息包括广播节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
S402中广播节点向该广播节点的邻居节点广播自身维护的第一路由信息,接收广播节点广播的第一路由信息的邻居节点包括普通节点、网关节点和群首节点。其中,广播节点可以设置广播第一路由信息的时机,例如广播节点设置在每维护一次第一路由信息后广播维护后的第一路由信息,又例如广播节点周期性的广播第一路由信息,每个广播周期内广播节点维护第一路由信息的次数可能不同。
可选的,当网关节点广播第一路由信息时,网关节点向邻居节点广播的第一路由信息可以是广播节点维护后的第一路由信息,也可以是网关节点接收邻居节点广播的第三路由信息后直接转发的路由信息。
如图5所示为广播节点与普通节点之间的交互示意图。图5中,广播节点维护第一路由信息后,向邻居节点广播该第一路由信息;该广播节点的邻居节点中的普通节点接收广播的第一路由信息,该广播节点的第一路由信息将作为普通节点的第三路由信息,用于维护普通节点的第一路由信息。普通节点根据自身维护的第一路由信息向目标节点传输数据。
本发明实施例提出的一种数据传输方法,普通节点需要向目标节点传输数据时,根据普通节点维护的第一路由信息,确定普通节点向目标节点传输数据时所采用的传输路径,根据传输路径,将数据传输至目标节点,不必像现有技术中普通节点必须将数据传输给群首节点,再由群首节点根据维护的路由信息将数据传输至目标节点。通过本发明实施例提供的方法,解决了自组织网络中存在群首节点的工作量大,数据传输时延长,减轻了群首节点的工作量,同时还避免了经由群首节点转发的数据的传输路径可能包含冗余节点的问题,缩短了数据传输时延,提高了数据传输的效率。此外,当群首节点损坏时,普通节点可以根据维护的第一路由信息将数据传输至目标节点,避免了因群首节点损坏造成的数据传输中断。
实施例二:
结合以上实施例一,本发明实施例还提供了一种普通节点,该普通节点可以采用图2对应的实施例提供的方法,参阅图6所示,普通节点600包括:处理单元601和收发单元602。
处理单元601,用于维护第一路由信息;当普通节点600需要向目标节点传输数据时,根据维护的第一路由信息,确定普通节点600向目标节点传输数据时所采用的传输路径;
收发单元602,用于根据处理单元601确定的传输路径,将数据传输至目标节点。
可选的,第一路由信息包括:
普通节点600分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
可选的,处理单元601还用于:根据普通节点600的邻居节点的信息生成的第二路由信息;
收发单元602还用于:接收普通节点600的邻居节点广播的第三路由信息;
处理单元601在维护第一路由信息时,具体用于:基于生成的第二路由信息和/或收发单元602接收的普通节点600的邻居节点广播的第三路由信息,维护第一路由信息。
可选的,邻居节点的信息包括节点标识和所属子网的群首节点;第二路由信息包括普通节点600在设定跳数范围内到达群首节点的路由信息。
可选的,广播第三路由信息的普通节点600的邻居节点包括网关节点和/或群首节点。
可选的,第三路由信息包括:
广播第三路由信息的普通节点600的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本发明实施例还提供了一种普通节点,该普通节点可采用图2对应的实施例一提供的方法,可以与图6所示的普通节点是相同的节点。参阅图7所示,普通节点700包括:处理器701、收发机702、总线703以及存储器704,其中:
处理器701,用于读取存储器704中的程序,执行下列过程:
处理器701,用于维护第一路由信息;当普通节点700需要向目标节点传输数据时,根据维护的第一路由信息,确定普通节点700向目标节点传输数据时所采用的传输路径;
可选的,第一路由信息包括:
普通节点700分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
可选的,处理器701还用于:根据普通节点700的邻居节点的信息生成的第二路由信息;
处理器701在维护第一路由信息时,具体用于:基于生成的第二路由信息和/或收发机702接收的普通节点700的邻居节点广播的第三路由信息,维护第一路由信息。
可选的,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括普通节点700在设定跳数范围内到达群首节点的路由信息。
可选的,广播第三路由信息的普通节点700的邻居节点包括网关节点和/或群首节点。
可选的,第三路由信息包括:
广播第三路由信息的普通节点700的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
收发机702,用于在处理器701的控制下,执行下列过程:
收发机702,用于根据处理器701确定的传输路径,将数据传输至目标节点。
可选的,收发机702还用于:接收普通节点700的邻居节点广播的第三路由信息。
处理器701、收发机702以及存储器704通过总线703相互连接;总线703可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器704代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机702可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器701负责管理总线架构和通常的处理,存储器704可以存储处理器701在执行操作时所使用的数据。
可选的,处理器701可以是中央处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)。
通过本发明实施例提出的一种普通节点,普通节点需要向目标节点传输数据时,根据普通节点维护的第一路由信息,确定普通节点向目标节点传输数据时所采用的传输路径,根据传输路径,将数据传输至目标节点,解决了现有的分层组网的自组织网络中存在群首节点的工作量大,数据传输时延长,经由群首节点转发的数据的传输路径可能包含冗余节点的问题。
实施例三:
结合以上实施例,本发明实施例还提供了一种广播节点,该广播节点可以采用图4对应的实施例提供的方法,参阅图8所示,广播节点800包括:处理单元801和收发单元802。
处理单元801,用于确定第一路由信息;
收发单元802,用于向广播节点800的邻居节点广播处理单元801确定的第一路由信息,接收第一路由信息的邻居节点包括普通节点。
可选的,广播节点800是网关节点或群首节点;第一路由信息包括广播节点800分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
可选的,处理单元801还用于:根据广播节点800的邻居节点的信息生成的第二路由信息;
收发单元802还用于:接收广播节点800的邻居节点广播的第三路由信息;
处理单元801还用于:基于生成的第二路由信息和/或收发单元802接收的广播节点800的邻居节点广播的第三路由信息,维护第一路由信息。
可选的,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括广播节点800在设定跳数范围内到达群首节点的路由信息。
可选的,第三路由信息包括:
广播第三路由信息的广播节点800的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本发明实施例还提供了一种广播节点,该广播节点可采用图4对应的实施例提供的方法,可以与图8所示的广播节点是相同的节点。参阅图9所示,广播节点900包括:处理器901、收发机902、总线903以及存储器904,其中:
处理器901,用于读取存储器904中的程序,执行下列过程:
处理器901,用于确定第一路由信息;
可选的,广播节点900是网关节点或群首节点;第一路由信息包括广播节点900分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点的信息。
可选的,处理器901还用于:根据广播节点900的邻居节点的信息生成的第二路由信息;
处理器901还用于:基于生成的第二路由信息和/或收发机902接收的广播节点900的邻居节点广播的第三路由信息,维护第一路由信息。
可选的,邻居节点的信息包括节点标识和/或所属子网的群首节点;第二路由信息包括广播节点900在设定跳数范围内到达群首节点的路由信息。
可选的,第三路由信息包括:
广播第三路由信息的广播节点900的邻居节点分别到达网络中每个群首节点的路由信息和/或网络中每个群首节点的邻居节点信息。
收发机902,用于在处理器901的控制下,执行下列过程:
收发机902,用于向广播节点900的邻居节点广播处理器901确定的第一路由信息,接收第一路由信息的邻居节点包括普通节点。
可选的,收发机902还用于:接收广播节点900的邻居节点广播的第三路由信息。
处理器901、收发机902以及存储器904通过总线903相互连接;总线903可以是PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器901代表的一个或多个处理器和存储器904代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机902可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器901负责管理总线架构和通常的处理,存储器904可以存储处理器901在执行操作时所使用的数据。
可选的,处理器901可以是中央处理器、ASIC、FPGA或CPLD。
通过本发明实施例提出的一种广播节点,广播节点确定第一路由信息,向邻居节点广播第一路由信息,其中接收广播节点广播的第一路由信息的邻居节点包括普通节点,解决了现有的分层组网的自组织网络中存在群首节点的工作量大,数据传输时延长,经由群首节点转发的数据的传输路径可能包含冗余节点的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。