一种数据的传输方法、装置、终端和存储介质

文档序号:27381534发布日期:2021-11-15 20:14阅读:241来源:国知局
一种数据的传输方法、装置、终端和存储介质

1.本技术属于数据传输领域,尤其涉及一种数据的传输方法、装置、终端和存储介质。


背景技术:

2.物联网技术飞速发展,日新月异。在众多的物联网技术中,lora是一种典型的广域网低功耗通信技术,它广泛应用于数据传输少,能量消耗低的场合。当今大部分的lora应用,都是基于lorawan协议组网,采用星状网络拓扑架构,星状网络虽然结构简单便于管理,但是灵活性差,不方便拓展。而无线mesh网络则是一种“多跳(multi

hop)”网络,可以根据实际需要灵活布置节点。
3.但是,目前的mesh网络系统在传输数据包时,一般需要先利用前序数据包进行网络系统中各个节点之间路由路径的探索,再由节点基于已探索的路由路径对数据包进行转发。为了防止数据包撞包,探索路由路径的过程需要很多协议支持,过程中会产生大量的控制信令,导致整个网络系统的功耗提高。


技术实现要素:

4.本技术实施例提供一种数据的传输方法、装置、终端和存储介质,可以通过使网络系统中各个节点同步获取层级的方式进行初始化,减少数据包的碰撞,加快层级的获取速度,并且,将探索路由路径的过程和转发数据包的过程相结合,从而节省利用前序数据包探索路由路径的过程,减少了控制信令的产生,降低了网络系统的功耗。
5.本技术实施例第一方面提供一种数据的传输方法,应用于第一节点,所述第一节点配置于网络系统中,所述数据的传输方法,包括:
6.接收由第二节点广播的分层指令,所述第二节点为与所述分层指令携带的层级信息对应的若干个节点中的一个节点,所述若干个节点于同一时刻广播数据内容相同的所述分层指令;
7.根据所述第二节点广播的所述分层指令中携带的层级信息,确定所述第一节点的层级信息;
8.若所述第一节点存在携带有待传输内容的第一数据包,则生成携带有所述待传输内容和所述第一节点的层级信息的第二数据包,所述待传输内容为待传输至所述网络系统的网关节点的数据内容;
9.向所述第二节点发送所述第二数据包,以使所述第二节点在接收到所述第二数据包之后基于所述第二数据包携带的所述第一节点的层级信息,将所述待传输内容转发至所述网关节点。
10.本技术实施例第二方面提供的一种数据的传输装置,配置于第一节点,所述第一节点配置于网络系统中,所述数据的传输装置,包括:
11.分层指令接收单元,用于接收由第二节点广播的分层指令,所述第二节点为与所
述分层指令携带的层级信息对应的若干个节点中的一个节点,所述若干个节点于同一时刻广播数据内容相同的所述分层指令;
12.层级信息确定单元,用于根据所述第二节点广播的所述分层指令中携带的层级信息,确定所述第一节点的层级信息;
13.数据包生成单元,用于若所述第一节点存在携带有待传输内容的第一数据包,则生成携带有所述待传输内容和所述第一节点的层级信息的第二数据包,所述待传输内容为待传输至所述网络系统的网关节点的数据内容;
14.数据包发送单元,用于向所述第二节点发送所述第二数据包,以使所述第二节点在接收到所述第二数据包之后基于所述第二数据包携带的所述第一节点的层级信息,将所述待传输内容转发至所述网关节点。
15.本技术实施例第三方面提供一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
16.本技术实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
17.本技术实施例第五方面提供了一种计算机程序产品,当计算机程序产品在终端上运行时,使得终端执行时实现方法的步骤。
18.本技术的实施方式中,通过在若干个节点于同一时刻广播数据内容相同的分层指令之后,接收其中的第二节点广播的分层指令,并依据第二节点广播的分层指令中携带的第二层级信息,确定第一节点的层级信息,在第一节点存在携带有待传输内容的第一数据包时,生成携带有第一节点的层级信息和待传输内容的第二数据包,并向第二节点发送第二数据包,以使第二节点在接收到第二数据包之后基于第二数据包携带的第一节点的层级信息,将待传输内容转发至网关节点,能够将探索路由路径的过程和转发数据包的过程相结合,不需要利用前序数据包探索路由路径,只需要提前获取自身的层级信息,并基于层级信息,在转发数据包的过程中逐层将待传输内容转发至网关节点,在保证数据传输有效性的同时,节省了利用前序数据包探索路由路径的过程,因此减少了控制信令的产生,降低了网络系统的功耗。
19.并且,由于在分层指令发送的过程,同一层级的节点是在同一时刻广播数据内容相同的数据包,因此,在避免撞包的同时,节省了每一层级的节点向下一层级的节点发送分层指令的时间,提高了数据传输的效率。
附图说明
20.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1是本技术实施例提供的一种数据的传输方法的实现流程示意图;
22.图2是本技术实施例提供的网络系统的拓扑结构示意图;
23.图3是本技术实施例提供的接收数据包的具体实现流程示意图;
24.图4是本技术实施例提供的网络系统传输数据包的示意图;
25.图5是本技术实施例提供的一种数据的传输装置的结构示意图;
26.图6是本技术实施例提供的终端的结构示意图。
具体实施方式
27.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护。
28.物联网技术飞速发展,日新月异。在众多的物联网技术中,lora是一种典型的广域网低功耗通信技术,它广泛应用于数据传输少,能量消耗低的场合。当今大部分的lora应用,都是基于lorawan协议组网,采用星状网络拓扑架构,星状网络虽然结构简单便于管理,但是灵活性差,不方便拓展。而无线mesh网络则是一种“多跳”网络,可以根据实际需要灵活布置节点。
29.但是,目前的mesh网络系统在传输数据包时,一般需要先利用前序数据包进行网络系统中各个节点之间路由路径的探索,再由节点基于已探索的路由路径对数据包进行转发。
30.研究发现,探索路由路径的过程中,网络系统每个节点需要发送携带有自身地址的前序数据包,为了防止前序数据包撞包,一般会基于很多控制协议产生大量控制信令,以控制每个节点退避一定时间,进而使各个节点在不同的时刻发送前序数据包,最终探索出节点之间的路由路径。因此,在探索路由路径的过程中大量控制信令的产生将导致整个网络系统的功耗提高。同时,各个节点在不同的时刻发送前序数据包,也将导致探索路由路径的时间拉长,降低数据传输的效率。
31.为了说明本技术的技术方案,下面通过具体实施例来进行说明。
32.图1示出了本技术实施例提供的一种数据的传输方法的实现流程示意图,该方法可以应用于第一节点,第一节点配置于网络系统中,可适用于需降低网络系统的功耗的情形。
33.在本技术的实施方式中,上述网络系统可以为mesh网络系统,该网络系统可以包含网关节点以及一个或多个终端节点。其中,网关节点可以用于连接不同的网络系统,当终端节点需要外发数据包时,可以先将数据包发送至网关节点,再由网关节点对数据包进行外发。每个终端节点可以为电脑、智能手机等终端设备,并且,在本技术的一些实施方式中,为了进一步降低能耗,上述终端节点可以为能够支持lorawan协议的终端设备。在本技术的实施方式中,上述第一节点可以为网络系统中的任意一个终端节点。
34.具体的,上述数据的传输方法可以包括以下步骤s101至步骤s104。
35.步骤s101,接收由第二节点广播的分层指令。
36.在本技术的实施方式中,上述网络系统中各个终端节点具有自身的层级,层级的数值表示终端节点和网关节点之间通信距离的远近,例如,网络系统中能够直接与网关节点通信的终端节点可以为第一层级的节点,相应的,能够与第一层级的终端节点通信的其他终端节点可以为第二层级的节点,以此类推。为了保证数据包能够有效地传输至网关节
点,每个终端节点需要先获知自身的层级,并将数据包发送给位于与自身的层级对应的上一层级的节点,直至数据包到达网关节点。
37.具体的,在本技术的一些实施方式中,可以网关节点可以生成并广播初始的分层指令,能够直接与网关节点通信的终端节点将接收到由网关节点广播的初始的分层指令,接着,能够直接与网关节点通信的终端节点也将广播携带自身层级信息的分层指令,以此类推。
38.基于此,网络系统中的第一节点可以接收到第二节点广播的分层指令,也就是说,第二节点为位于第一节点上一层级,且能够与第一节点相互通信的终端节点,即第二节点为第一节点的父节点。
39.其中,第二节点即可以为网关节点,也可以为位于网络系统中最后一个层级以外的任意一个层级中的任意一个终端节点。
40.基于前述说明可知,现有的mesh网络系统在利用前序数据包进行路由路径的探索时,由于每个节点发送的前序数据包需要携带自身的地址,因此各个节点的前序数据包数据内容并不相同。数据内容不同的前序数据包如果在发送时间上发生重叠,将相互干扰发生撞包,导致其他节点不能有效地接收到这些前序数据包。而在本技术的实施方式中,上述第二节点为与分层指令携带的层级信息对应的若干个节点中的一个节点,若干个节点于同一时刻广播数据内容相同的分层指令。
41.其中,与分层指令携带的层级信息对应的若干个节点即表示与第二节点处于同一层级的所有节点,分层指令中携带的层级信息为发送者的层级信息,也即第二节点广播的分层指令发送的分层指令中携带的层级信息为第二节点的层级信息。
42.在本技术的实施方式中,由于分层指令携带的是层级信息,位于与第二节点同一层级的所有节点所广播的分层指令数据内容可以相同。同一时刻发送数据内容相同的分层指令时,分层指令并不会互相干扰导致撞包。因此,当与第二节点同一层级的所有节点在同一时刻广播数据内容相同的分层指令时,第一节点将接收到一个或多个第二节点所广播的分层指令。
43.并且,网络系统可以从网关节点开始依次向下一层级广播分层指令,第一节点除了能够接收到第二节点广播的分层指令以外,还可以接收到第一节点的子节点广播的分层指令,因此,为了避免第一节点的层级信息发生错误,在本技术的一些实施方式中,第一节点可以仅对接收到的第一个分层指令进行处理。
44.步骤s102,根据第二节点广播的分层指令中携带的层级信息,确定第一节点的层级信息。
45.在本技术的实施方式中,第一节点在接收到由第二节点广播的分层指令之后,可以对分层指令进行解析,得到第二节点广播的分层指令中携带的层级信息,该层级信息即为第二节点的层级信息。根据第二节点的层级信息,第一节点可以确定自身的层级信息。
46.更具体的,第一节点可以基于第二节点的层级信息指向的第二节点的层级,将第二节点的层级加一作为自身的层级,得到自身的层级信息。
47.在本技术的一些实施方式中,第一节点在确定第一节点的层级信息之后,可以生成携带有第一节点的层级信息的分层指令,并广播携带有第一节点的层级信息的分层指令,以使在网络系统中位于第一节点所在层级对应的下一层级的其他终端节点接收到第一
节点广播的分层指令。并且,第一节点将和在网络系统中位于第一节点所在层级的其他节点在同一时刻发送分层指令。以此类推,最终网络系统上的各个终端节点均会确定出自己的层级信息。
48.参考图2,以第二节点为网关节点,第一节点为能够与网关节点通信的终端节点为例进行说明,第一节点可以接收到由第二节点广播的分层指令,并得到出第一节点自身的层级信息(即自身的层级为第一层级),然后广播携带有自身的层级信息的分层指令。位于第二层级,且能够与第一节点通信的终端节点将接收到第一节点广播的分层指令,并得出其自身的层级信息(即自身的层级为第二层级)。
49.需要说明的是,由于无线电传播的光速特性,也由于微控制单元(microcontroller unit,mcu)在接收了射频中断后立即转为发射的过程十分短暂,可以认为处于同一层级的终端节点能够同时接收到上一层级终端节点发送的分层指令,并同时发送新的分层指令。例如,网关节点周围的所有终端节点(即第一层级的所有终端节点)几乎同时接收到初始的分层指令,并同时发送数据内容相同的分层指令。
50.网络系统中各个终端节点一般情况下数量和位置都是固定的,层级结构一般不会发生变化,因此,在本技术的一些实施方式中,上述网络系统中的网关节点可以只进行一次分层指令的广播,使各个终端节点确定出自身的层级信息。
51.考虑到实际应用中也存在终端节点数量或位置经常发生变化的网络系统,因此,在本技术的另一些实施方式中,上述网络系统中的网关节点也可以以预设的周期重复广播分层指令,以持续保持网络层级的准确性。
52.步骤s103,若第一节点存在携带有待传输内容的第一数据包,则生成携带有待传输内容和第一节点的层级信息的第二数据包。
53.其中,上述待传输内容为待传输至网络系统的网关节点的数据内容。
54.在本技术的实施方式中,当第一节点存在携带有待传输内容的第一数据包时,第一节点将向自身的父节点,也即向位于第一节点上一层级的终端节点发送数据包,以使待传输内容逐个层级地发送至网关节点。
55.具体的,在本技术的一些实施方式中,在生成携带有待传输内容和第一节点的层级信息的第二数据包之前,第一节点可以生成第一数据包。也就是说,第一数据包可以是由第一节点生成的待传输至网关节点的数据包。
56.在本技术的另一些实施方式中,第一数据包还可以是由位于第一节点所在层级对应的下一层级的终端节点广播的数据包。
57.具体的,如图3所示,在生成携带有第一节点的层级信息的第二数据包之前,还可以包括以下步骤s301至步骤s303。
58.步骤s301,接收由第三节点发送的第四数据包。
59.其中,上述第四数据包携带有第三节点的层级信息和待传输内容。
60.在本技术的一些实施方式中,上述第三节点为位于第一节点所在层级对应的下一层级,且能够与第一节点进行通信的节点,也即,第三节点为第一节点的子节点。
61.具体的,在本技术的一些实施方式中,第三节点也可以自己生成待传输至网关节点的第四数据包,或者在接收到第三节点的子节点广播的数据包之后,基于第三节点的子节点广播的数据包生成第四数据包。
62.步骤s302,根据第一节点的层级信息和第四数据包携带的第三节点的层级信息,确定第四数据包是否为第一节点需要转发的数据包。
63.在本技术的是一些实施方式中,由于第一节点已知自己的层级信息,且第四数据包中携带有第三节点的层级信息,因此,第一节点可以检测第四数据包是否为位于第一节点所在层级对应的下一层级的节点广播的数据包。
64.若第四数据包为位于第一节点所在层级对应的下一层级的节点发送的数据包,则可以确定第四数据包是否为第一节点需要转发的数据包;若第四数据包不是位于第一节点所在层级对应的下一层级的节点发送的数据包,则可以不对第四数据包进行进一步处理。
65.也就是说,网络系统中的任意一个终端节点可以将来自其子节点的数据包进行转发。
66.步骤s303,若第四数据包为第一节点需要转发的数据包,则将第四数据包作为第一数据包,并确认第一节点存在携带有待传输内容的第一数据包。
67.在本技术的一些实施方式中,当第四数据包为第一节点需要转发的数据包,则将第四数据包作为第一数据包,并确认第一节点存在携带有待传输内容的第一数据包,以使第一节点将待传输内容进行转发,直至待传输内容被传输至网关。
68.由于各个节点是以广播的方式传递数据包,第一节点实际上也可能接收到来自第二节点或位于同一层级的邻居节点所广播的数据包,因此,对于每个节点而已,需要在接收到数据包之后,生成一个携带有自身的层级信息的数据包。以前述第三节点和第一节点为例,第三节点广播了携带有自身的层级信息的第四数据包,第一节点在接收到第四数据包之后,才能够基于第三节点的层级信息和自身的层级信息判断第四数据包是否为第一节点需要转发的数据包。
69.基于此,在本技术的实施方式中,对于第一节点而言,在第一节点存在待传输至网关节点的第一数据包时,也可以生成携带有第一节点的层级信息的第二数据包。
70.步骤s104,向第二节点发送第二数据包。
71.在本技术的实施方式中,由于第一节点存在携带有待传输内容的第一数据包,为了使网关可以接收到待传输内容,第一节点可以向第二节点发送第二数据包。若第二节点为网关节点,则第二节点可以直接接收第二数据包;若第二节点不是网关节点,则第二节点在接收到第二数据包之后,可以基于第二数据包携带的第一节点的层级信息,转发待传输内容,并最终使待传输内容传输至网关节点。
72.具体的,在本技术的一些实施方式中,当第二节点不是网关节点时,第二节点可以通过上述步骤s101至步骤s104所述的方式,生成携带有自身的层级信息以及待传输内容的数据包,并继续向第二节点的父节点发送该数据包,直至网关节点接收到待传输内容。
73.本技术的实施方式中,通过在若干个节点于同一时刻广播数据内容相同的分层指令之后,接收其中的第二节点广播的分层指令,并依据第二节点广播的分层指令中携带的第二层级信息,确定第一节点的层级信息,在第一节点存在携带有待传输内容的第一数据包时,生成携带有第一节点的层级信息和待传输内容的第二数据包,并向第二节点发送第二数据包,以使第二节点在接收到第二数据包之后基于第二数据包携带的第一节点的层级信息,将待传输内容转发至网关节点,能够将探索路由路径的过程和转发数据包的过程相结合,不需要利用前序数据包探索路由路径,只需要提前获取自身的层级信息,并基于层级
信息,在转发数据包的过程中逐层将待传输内容转发至网关节点,在保证数据传输有效性的同时,节省了利用前序数据包探索路由路径的过程,因此减少了控制信令的产生,降低了网络系统的功耗。
74.并且,由于在分层指令发送的过程,同一层级的节点是在同一时刻广播数据内容相同的数据包,因此,在避免撞包的同时,节省了每一层级的节点向下一层级的节点发送分层指令的时间,提高了数据传输的效率。
75.需要说明的是,本技术不对向第二节点发送第二数据包的具体实现方式继续限制,在本技术的一些实施方式中,上述第一节点可以通过广播的方式向第二节点发送第二数据包;或者,根据第二节点的地址信息,向第二节点发送第二数据包。
76.其中,第二节点的地址信息可以指第一节点和第二节点之间的路由路径,也可以是指用于表示第二节点节点地址的标识号。
77.具体的,在本技术的一些实施方式中,第一节点可以检测自身是否存储有第二节点的地址信息,若第一节点存储有第二节点的地址信息,则根据第二节点的地址信息,向第二节点单播发送第二数据包;若第一节点未存储第二节点的地址信息,则通过广播的方式向第二节点发送第二数据包。
78.基于前述说明,在本技术的实施方式中,通过第一节点虽然确定出自身的层级信息,但由于分层指令中并不携带有第二节点的地址信息,第一节点在接收到分层指令之后,并不知道有哪些第二节点,因此,第一节点可以广播第二数据包,以使第二节点接收到第二数据包。
79.在本技术的一些实施方式中,在通过广播的方式向第二节点发送第二数据包之后,上述第一节点可以监听由第二节点在接收到第一数据包之后转发的第三数据包,每个第三数据包携带有第二节点的层级信息和第二节点的地址信息,并根据第一节点的层级信息和第三数据包中携带的第二节点的层级信息,存储第二节点的地址信息。
80.具体的,根据第一节点的层级信息和第三数据包中携带的第二节点的层级信息,第一节点可以判断第三数据包是否为来自第一节点所在层级对应的上一层级的节点发送的数据包,若第三数据包为来自第一节点所在层级对应的上一层级的节点发送的数据包,说明发送第三数据包的终端节点或网关节点即为第一节点的父节点,也即第二节点为第一节点的父节点,因此,可以存储第二节点的地址信息。
81.在存储第二节点的地址信息之后,第一节点在下一次存在携带有待传输内容的第一数据包时,则可以根据地址信息,向第二节点发送第二数据包。
82.也就是说,每个终端节点在生成自身转发的数据包时均可以在数据包中携带上自身(即发送节点)的地址信息,从而在转发数据包的过程中,各个终端节点均可以获取并存储自身父节点的地址信息。
83.进一步地,每个终端节点生成的数据包中还可以携带有自身(即发送节点)的标识号、待传输内容的来源信息等信息。
84.更具体的,每个终端节点可以在数据包的包头添加层级信息、地址信息、来源信息等信息。
85.例如,如图4所示,一个位于第三层级,地址信息为“11”的第一节点存在携带有待传输内容“xxxxxx”的第一数据包,则其可以生成数据内容为“001103xxxxxx”的第二数据
包,或者生成数据内容为“131103xxxxxx”的第二数据包。其中,数据包的包头前两位用于表示数据包的来源信息,“00”表示该数据包为第一节点自身生成的数据包,即第一节点为数据源节点,“13”则表示该数据包为位于第四层级的、地址信息为“13”的节点发送的数据包;数据包的包头的中间两位用于表示自身的地址信息;数据包的包头的后两位用于表示自身的层级信息。当第一节点广播第二数据包时,位于第一节点通信范围内的各个节点(即邻居节点)都将接收到第二数据包。其中,位于第三层级,地址信息为“08”和位于第三层级,地址信息为“09”的第二节点都可以基于第二数据包中的层级信息,确认需要转发待传输内容,并分别生成数据内容为“110802xxxxxx”的第三数据包以及数据内容为“110902xxxxxx”的第三数据包。两个第二节点分别广播自身生成的第三数据包,待传输内容“xxxxxx”即可逐个层级地发送至网关。并且,位于第三层级,地址信息为11的第一节点可以接收到数据内容为“110802xxxxxx”的第三数据包以及数据内容为“110902xxxxxx”的第三数据包,则基于第三数据包中携带的第二节点的层级信息“02”,和自身的层级“03”,可以的值地址信息为“08”和地址信息为“09”的终端节点(即第二节点)为自身的父节点,并存储第二节点的地址信息。
86.需要说明的是,同一层级的终端节点在转发携带有待传输数据的数据包时,转发的时间可以不同,例如,在地址信息为“08”和地址信息的第二节点发送自身生成的第三数据包,并延迟一段时间后,地址信息为“09”和地址信息的第二节点发送自身生成的第三数据包。
87.在本技术的实施方式中,通过在每个终端节点广播携带有自身的地址信息的数据包,第一节点可以基于第二节点转发的第三数据包,确定第二节点为自身的父节点,从而将第二节点的地址信息进行存储,也就是说,第一节点能够一边广播数据包,一边探索父节点信息,通过侦听第二节点转发的数据包,分析数据包中的层级信息可以确认第二节点即为第一节点的父节点。在下一次存在携带有待传输内容的第一数据包时,第一节点即可根据第二节点的地址信息单播发送数据包,因此,本技术不需要额外发送专门的前序数据包、生成额外的控制信令来探索路径,在数据包传输的过程中即可获取到各自父节点的地址信息,能够减少整个网络系统的功耗,提高数据传输效率。
88.由于第一节点存储有第二节点的地址信息,而第二节点的数量可以有多个,为了进一步节省功耗,在本技术的一些实施方式中,第一节点可以选择其中一个第二节点,并根据选择出的第二节点的地址信息,向该第二节点单播发送第二数据包。
89.此时,对于存在多个第二节点的第一节点而言,其在转发数据包时可以使用多个不同的路由路径。
90.进一步地,在多路径路由发送的同时,整个网络系统还可以通过多频点转发的方式,进一步避免了数据包冲突。
91.在本技术的一些实施方式中,每个第三数据包还携带有第二节点的标识号;则上述根据第二节点的地址信息,向第二节点发送第二数据包,可以包括:根据第二节点的标识号,确定第二节点的侦听频段,并根据第二节点的地址信息及第二节点的侦听频段,向第二节点发送第二数据包。
92.具体的,在本技术的一些实施方式中,每个终端节点可以预先配置好两个侦听频段,终端节点在工作时需要分别侦听两个侦听频段的数据。其中,一个是公共侦听频段,各
个终端节点可以基于公共侦听频段广播数据包;另一个则是私有侦听频段,主要用于终端节点与终端节点之间的单播通信。工作人员可以预先为每个终端节点配置一个与自身的标识号关联的私有侦听频段。第一节点在第二节点的存储地址信息的同时,也可以存储第二节点的标识号。当第一节点下一次存在携带有待传输内容的第一数据包时,第一节点可以基于第二节点的标识号,确定第二节点的侦听频段,并根据第二节点的地址信息及第二节点的侦听频段,向第二节点发送第二数据包。也即,第一节点可以利用与第二节点标识号关联的私有侦听频段上向第二节点发送第二数据包,相应的,第二节点也将在自身的私有侦听频段上接收到第二数据包。
93.由于各个终端节点仅维护固定的私有侦听频段,终端节点的多个子节点可能恰好使用同一个私有侦听频段先该终端节点,因此,同一私有侦听频段上传输的数据包仍可能出现冲突。
94.基于此,在本技术的另一些实施方式中,上述根据第二节点的地址信息,向第二节点发送所述第二数据包,还可以包括:确定发送第二数据包的信号频段,根据地址信息,向第二节点发送携带有信号频段的握手消息,并根据第二节点的地址信息及信号频段,向第二节点发送所述第二数据包。其中,上述握手消息用于指示第二节点监听信号频段的数据包。
95.其中,信号频段可以是管理员预先设置好的多个频段中的一个频段。
96.在本技术的一些实施方式中,第一节点在发送第二数据包时,可以自由地确定发送第二数据包的信号频段,然后基于公共侦听频段向第二节点发送携带有信号频段的握手消息。第二节点在接收到握手消息后,可以反馈一个确认字符(acknowledge character,ack)数据包,并将私有侦听频率切换为握手消息中携带的信号频段,以监听信号频段上的数据包。因此,第一节点可以灵活地选择发送第二数据包所使用的信号频段。
97.需要说明的是,为了防止同一信号频段被占用,在向第二节点发送携带有信号频段的握手消息之前,第一节点可以先监听该信号频段上是否有数据包传输,若该信号频段上没有数据包传输,则说明该信号频段没有被占用,因此可以向第二节点发送携带有信号频段的握手消息;若该信号频段上有数据包传输,则说明该信号频段已经被占用,则第一节点需要重新选择一个新的信号频段,并重新监听该信号频段上是否有数据包传输,直至存在一个未被占用的信号频段,则向第二节点发送携带有未被占用的信号频段的握手消息。
98.本技术的实施方式中,结合多路由路径和多频段转发的方式,能够平衡网络系统中各个路由路径的数据流量,提高了整个网络的吞吐量,并最大程度的避免了数据包冲突的发生。
99.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为根据本技术,某些步骤可以采用其它顺序进行。
100.如图5所示为本技术实施例提供的一种数据的传输装置500的结构示意图,所述数据的传输装置500配置于第一节点上。
101.具体的,所述数据的传输装置500可以包括:
102.分层指令接收单元501,用于接收由第二节点广播的分层指令,所述第二节点为与所述分层指令携带的层级信息对应的若干个节点中的一个节点,所述若干个节点于同一时
刻广播数据内容相同的所述分层指令;
103.层级信息确定单元502,用于根据所述第二节点广播的所述分层指令中携带的层级信息,确定所述第一节点的层级信息;
104.数据包生成单元503,用于若所述第一节点存在携带有待传输内容的第一数据包,则生成携带有所述待传输内容和所述第一节点的层级信息的第二数据包,所述待传输内容为待传输至所述网络系统的网关节点的数据内容;
105.数据包发送单元504,用于向所述第二节点发送所述第二数据包,以使所述第二节点在接收到所述第二数据包之后基于所述第二数据包携带的所述第一节点的层级信息,将所述待传输内容转发至所述网关节点。
106.在本技术的一些实施方式中,上述数据包发送单元504可以具体用于:通过广播的方式向所述第二节点发送所述第二数据包;或者,根据所述第二节点的地址信息,向所述第二节点发送所述第二数据包。
107.在本技术的一些实施方式中,上述数据的传输装置500还可以包括存储单元,用于:监听由所述第二节点在接收到所述第一数据包之后转发的第三数据包,每个所述第三数据包携带有所述第二节点的层级信息和所述第二节点的地址信息;根据所述第一节点的层级信息和所述第三数据包中携带的所述第二节点的层级信息,存储所述第二节点的地址信息。
108.在本技术的一些实施方式中,每个第三数据包还携带有第二节点的标识号;上述数据包发送单元504还可以具体用于:根据所述第二节点的标识号,确定所述第二节点的侦听频段;根据所述第二节点的地址信息及所述第二节点的侦听频段,向所述第二节点发送所述第二数据包。
109.在本技术的一些实施方式中,上述数据包发送单元504还可以具体用于:确定发送所述第二数据包的信号频段;根据所述地址信息,向所述第二节点发送携带有所述信号频段的握手消息;所述握手消息用于指示所述第二节点监听所述信号频段的数据包;根据所述第二节点的地址信息及所述信号频段,向所述第二节点发送所述第二数据包。
110.在本技术的一些实施方式中,上述数据的传输装置500还可以包括数据包接收单元,用于:接收由第三节点发送的第四数据包,所述第四数据包携带有所述第三节点的层级信息和所述待传输内容;根据所述第一节点的层级信息和所述第四数据包携带的所述第三节点的层级信息,确定所述第四数据包是否为所述第一节点需要转发的数据包;若所述第四数据包为所述第一节点需要转发的数据包,则将所述第四数据包作为所述第一数据包,并确认所述第一节点存在携带有所述待传输内容的第一数据包。
111.在本技术的一些实施方式中,上述数据的传输装置500还可以包括分层指令发生单元,用于:生成携带有所述第一节点的层级信息的分层指令;广播所述携带有所述第一节点的层级信息的分层指令。
112.需要说明的是,为描述的方便和简洁,上述数据的传输装置500的具体工作过程,可以参考图1至图4所述方法的对应过程,在此不再赘述。
113.如图6所示,为本技术实施例提供的一种终端的示意图。该终端可以作为网络系统中的一个终端节点,也即可以为前述第一节点。
114.该终端6可以包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处
理器60上运行的计算机程序62,例如数据的传输程序。所述处理器60执行所述计算机程序62时实现上述各个数据的传输方法实施例中的步骤,例如图1所示的步骤s101至s104。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能,例如图5所示的分层指令接收单元501、层级信息确定单元502、数据包生成单元503、数据包发送单元504。
115.所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端中的执行过程。
116.例如,所述计算机程序可以被分割成:分层指令接收单元、层级信息确定单元、数据包生成单元、数据包发送单元。
117.各单元具体功能如下:分层指令接收单元,用于接收由第二节点广播的分层指令,所述第二节点为与所述分层指令携带的层级信息对应的若干个节点中的一个节点,所述若干个节点于同一时刻广播数据内容相同的所述分层指令;层级信息确定单元,用于根据所述第二节点广播的所述分层指令中携带的层级信息,确定所述第一节点的层级信息;数据包生成单元,用于若所述第一节点存在携带有待传输内容的第一数据包,则生成携带有所述待传输内容和所述第一节点的层级信息的第二数据包,所述待传输内容为待传输至所述网络系统的网关节点的数据内容;数据包发送单元,用于向所述第二节点发送所述第二数据包,以使所述第二节点在接收到所述第二数据包之后基于所述第二数据包携带的所述第一节点的层级信息,将所述待传输内容转发至所述网关节点。
118.所述终端可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端的示例,并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
119.所称处理器60可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
120.所述存储器61可以是所述终端的内部存储单元,例如终端的硬盘或内存。所述存储器61也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器61还可以既包括所述终端的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机程序以及所述终端所需的其他程序和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
121.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上
描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
122.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
123.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对各个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
124.在本技术所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
125.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
126.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
127.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
128.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各
实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1