本技术实施例涉及物联网领域,尤其涉及一种组网的方法和装置。
背景技术:
1、随着物联网的应用范围不断扩大,在物联网的具体应用场景中,设备的使用者并不一定具备专业的网络运维能力,物联网设备进行组网时,对设备的使用者有较高的网络运维能力要求。在这种情况下,自组网技术的重要性日益显现。
2、为了降低组网难度,轻量化自组网协议(routingprotocolforlow-powerandlossynetwork,rpl)提出,可以利用用户设置好的根(root)节点,发起本地链路组播消息(link-localmulticastdio),网络中的所有节点在获取到该消息后,进行网络探测,向root节点发送携带该节点父节点的dao报文,root节点可以根据多个dao报文生成组网内的路由表。
3、rpl协议处理逻辑复杂,每个节点需要设置有多状态机,并且协议包含多种跨调报文,协议逻辑复杂,并且对组网内的节点有较高的处理能力要求,如何进一步简化组网方式就成了技术人员当前面对的重要问题。
技术实现思路
1、本技术实施例提供了一种组网的方法和装置,用于简化自组网协议的组网逻辑,降低对自组网中各节点的处理能力要求。
2、本技术第一方面提供了一种组网的方法,包括:获取第一信号,所述第一信号指示根节点的初始化组网信息中根身份标识id为根节点id,根距离为0,父节点为空;向第一节点发送所述根节点的初始化组网信息,所述根节点的初始化组网信息中根id为根节点id,根距离为0;获取第一节点发送的所述第一节点的初始化组网信息,所述第一节点的初始化组网信息中根id为根节点id,父节点id为根节点id,根距离为1;生成所述根节点的收敛组网信息,所述根节点的收敛组网信息中可达节点集包括第一节点。
3、本技术实施例方法中根节点向第一节点发送根节点的初始化组网信息,根节点的初始化组网信息中根id为根节点id,根距离为0,第一节点可以根据根节点的初始化组网信息生成第一节点的初始化组网信息,第一节点的初始化组网信息中根id为根节点id,父节点id为根节点id,根距离为1,可达节点集为空。根节点根据第一节点发送的第一节点的初始化组网信息生成根节点的收敛组网信息,根节点的收敛组网信息中可达节点集包括第一节点。根节点利用邻居报文收集自组网中根节点可达节点集,并根据根节点的可达节点集对组网中的报文转发进行管理,无需使用状态机,降低了对组网中各节点的网络能力的要求。
4、在第一方面一种可能的实施方式中,所述根节点的初始化组网信息中可达节点集为空。本技术实施例中,节点的初始化组网信息中包括可达节点集,根节点的初始化组网信息中可达节点集为空,通过发送完整的协议内容,提升了方案的完整性。
5、在第一方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括第二节点,所述第二节点的初始化组网信息中根id为所述根节点id,所述第二节点的初始化组网信息中父节点id为所述第一节点id,所述第二节点的初始化组网信息中根距离为2;所述生成所述根节点的收敛组网信息前,所述方法还包括:获取所述第一节点发送的所述第一节点的收敛组网信息,所述第一节点的收敛组网信息中可达节点集包括所述第二节点。
6、本技术实施例中,根节点的收敛组网信息中可达节点集中包括第二节点,第二节点的初始化组网信息中根id为根节点id,父节点id为第一节点id,根距离为2,根节点获取到第一节点发送的第一节点的收敛组网信息,第一节点的收敛组网信息中,可达节点集包括第二节点。由于根节点的收敛组网信息中可达节点集为第一节点的收敛组网信息中可达节点集与第一节点的并集,根节点的的收敛组网信息中可达节点集包括第一节点和第二节点。当自组网中包括多个节点的情况下,可以完成自组网,提升了方案的灵活性。
7、在第一方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括第三节点;所述生成所述根节点的收敛组网信息前,所述方法还包括:向所述第三节点发送所述根节点的初始化组网信息;获取所述第三节点发送的所述第三节点的初始化组网信息,所述第三节点的初始化组网信息中根id为根节点id,父节点id为根节点id,根距离为1。
8、本技术实施例中,根节点的收敛组网信息中可达节点集还包括第三节点,根节点的收敛组网信息中包括根节点的所有邻居节点的可达节点集和邻居节点的并集。使本方案可以应用于不同组网结构中,提升了方案的灵活性。
9、在第一方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括第四节点,所述第四节点的初始化组网信息中根id为所述根节点id,所述第二节点的初始化组网信息中父节点id为所述第三节点id,所述第三节点的初始化组网信息中根距离为2;所述生成所述根节点的收敛组网信息前,所述方法还包括:获取所述第三节点发送的所述第三节点的收敛组网信息,所述第三节点的收敛组网信息中可达节点集包括所述第四节点。
10、本技术实施例中,根节点的收敛组网信息中可达节点集还包括第四节点,自组网的结构中可以包括多条不相连的报文转发路径,将根节点于自组网内的所有节点均可连通即可。是本方案可以灵活的进行组网,提升了方案的灵活性。
11、本技术第二方面提供了一种组网的方法,包括:
12、获取根节点发送的所述根节点的初始化组网信息,所述根节点的初始化组网信息中根id为根节点id,根距离为0;
13、根据所述根节点的初始化组网信息生成所述第一节点的初始化组网信息,所述第一节点的初始化组网信息中根id为所述根节点id,根距离为1,父节点id为所述根节点id;
14、向所述根节点发送所述第一节点的初始化组网信息,以使得所述根节点根据所述第一节点的初始化组网信息,生成所述根节点的收敛组网信息,所述根节点的收敛组网信息中可达节点集包括第一节点。
15、在第二方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括二节点;
16、所述根据所述根节点的初始化组网信息生成所述第一节点的初始化组网信息后,所述方法还包括:
17、向第二节点发送所述第一节点的初始化组网信息;
18、获取所述第二节点发送的所述第二节点的初始化组网信息,所述第二节点的初始化组网信息中根id为所述根节点id,根距离为2,父节点id为所述第一节点id;
19、根据所述第二节点的初始化组网信息向所述根节点发送所述第一节点的收敛组网信息,所述第一节点的收敛组网信息中可达节点集包括第二节点。
20、在第二方面一种可能的实施方式中,所述根据所述根节点的初始化组网信息生成所述第一节点的初始化组网信息后,所述方法还包括:
21、获取第一故障信号,所述第一故障信号指示所述第一节点与所述根节点之间的链路发生故障;
22、生成所述第一节点的组网故障信息,所述第一节点的组网故障信息中根id为所述根节点id,根距离为无穷,父节点id为空,可达节点集为空。
23、在第二方面一种可能的实施方式中,所述方法还包括:
24、向所述第二节点发送所述第一节点的组网故障信息;
25、获取所述第二节点发送的所述第二节点的重收敛组网信息,所述第二节点的重收敛组网信息中根id为所述根节点id,根距离为2,可达节点集为空;
26、根据所述第二节点的重收敛组网信息生成所述第一节点的重收敛组网信息,所述第一节点的重收敛组网信息中根id为所述根节点id,根距离为3,父节点id为所述第二节点id,可达节点集为空;
27、向所述第二节点发送所述第一节点的重收敛组网信息,以使得所述第二节点根据所述第一节点的重收敛组网信息生成所述第二节点的再次收敛组网信息,所述第二节点的再次收敛组网信息中可达节点集包括所述第一节点。
28、本技术第三方面提供了一种组网的方法,包括:
29、获取第一节点发送的所述第一节点的初始化组网信息,所述第一节点的初始化组网信息中根id为所述根节点id,根距离为1,父节点id为所述根节点id;
30、根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息,所述第二节点的初始化组网信息中根id为所述根节点id,根距离为2,父节点id为所述第一节点id;
31、向所述第一节点发送所述第二节点的初始化组网信息,以使得所述第一节点根据所述第二节点的初始化组网信息向所述根节点发送所述第一节点的收敛组网信息,所述第一节点的收敛组网信息中可达节点集包括第二节点。
32、在第三方面一种可能的实施方式中,所述根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息前,所述方法还包括:
33、获取第三节点发送的所述第三节点的初始化组网信息,所述第三节点的初始化组网信息中根id为所述根节点id,根距离为1,父节点id为所述根节点id;
34、所述根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息包括:
35、当所述获取所述第一节点发送的所述第一节点的初始化组网信息的时刻早于所述获取所述第三节点发送的所述第三节点的初始化组网信息的时刻,根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息。
36、在第三方面一种可能的实施方式中,所述根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息前,所述方法还包括:
37、获取第四节点发送的所述第四节点的初始化组网信息,所述第四节点的初始化组网信息中根id为所述根节点id,根距离为2,父节点id为所述第三节点id;
38、所述根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息包括:
39、当所述第一节点的初始化组网信息中根距离小于所述第四节点的初始化组网信息中根距离时,根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息。
40、在第三方面一种可能的实施方式中,所述方法还包括:
41、获取所述第一节点发送的所述第一节点的组网故障信息,所述第一节点的组网故障信息中根id为所述根节点id,根距离为无穷,父节点id为空,可达节点集为空;
42、生成所述第二节点的组网故障信息,所述第二节点的组网故障信息中根id为所述根节点id,根距离为无穷,父节点id为空,可达节点集为空。
43、在第三方面一种可能的实施方式中,所述生成所述第二节点的组网故障信息后,所述方法还包括:
44、获取第三节点发送的所述第三节点的初始化组网信息;
45、生成所述第二节点的重收敛组网信息,所述第二节点的重收敛组网信息中根id为所述根节点id,根距离为2,父节点id为所述第三节点id,可达节点集为空;
46、向所述第一节点发送所述第二节点的重收敛组网信息;
47、获取所述第一节点发送的所述第一节点的重收敛组网信息,所述第一节点的重收敛组网信息中根id为所述根节点id,根距离为3,父节点id为所述第二节点id,可达节点集为空。
48、在第三方面一种可能的实施方式中,所述生成所述第二节点的重收敛组网信息前,所述方法还包括:
49、获取第四节点发送的所述第四节点的初始化组网信息;
50、所述生成所述第二节点的重收敛组网信息包括:
51、当所述第三节点的初始化组网信息中根距离小于所述第四节点发送的所述第四节点的初始化组网信息中根距离时,生成所述第二节点的重收敛组网信息。
52、在第三方面一种可能的实施方式中,所述方法还包括:
53、根据所述第一节点的重收敛组网信息生成所述第二节点的再次收敛组网信息,所述第二节点的再次收敛组网信息中可达节点集包括所述第一节点和所述第一节点的重收敛组网信息中可达节点集的并集;
54、向所述第三节点发送所述第二节点的再次收敛组网信息。
55、本技术第四方面提供了一种组网的装置,包括:
56、获取单元,用于获取第一信号,所述第一信号指示根节点的初始化组网信息中根身份标识id为根节点id,根距离为0,父节点为空;
57、发送单元,用于向第一节点发送所述根节点的初始化组网信息,所述根节点的初始化组网信息中根id为根节点id,根距离为0;
58、所述获取单元,还用于获取第一节点发送的所述第一节点的初始化组网信息,所述第一节点的初始化组网信息中根id为根节点id,父节点id为根节点id,根距离为1;
59、生成单元,用于生成所述根节点的收敛组网信息,所述根节点的收敛组网信息中可达节点集包括第一节点。
60、在第四方面一种可能的实施方式中,所述根节点的初始化组网信息中可达节点集为空。
61、在第四方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括第二节点,所述第二节点的初始化组网信息中根id为所述根节点id,所述第二节点的初始化组网信息中父节点id为所述第一节点id,所述第二节点的初始化组网信息中根距离为2;
62、所述获取单元,还用于获取所述第一节点发送的所述第一节点的收敛组网信息,所述第一节点的收敛组网信息中可达节点集包括所述第二节点。
63、在第四方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括第三节点;
64、所述发送单元,还用于向所述第三节点发送所述根节点的初始化组网信息;
65、所述获取单元,还用于获取所述第三节点发送的所述第三节点的初始化组网信息,所述第三节点的初始化组网信息中根id为根节点id,父节点id为根节点id,根距离为1。
66、在第四方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括第四节点,所述第四节点的初始化组网信息中根id为所述根节点id,所述第二节点的初始化组网信息中父节点id为所述第三节点id,所述第三节点的初始化组网信息中根距离为2;
67、所述获取单元,还用于获取所述第三节点发送的所述第三节点的收敛组网信息,所述第三节点的收敛组网信息中可达节点集包括所述第四节点。
68、本技术实施例第五方面提供了一种组网的装置,包括:
69、获取单元,用于获取根节点发送的所述根节点的初始化组网信息,所述根节点的初始化组网信息中根id为根节点id,根距离为0;
70、生成单元,用于根据所述根节点的初始化组网信息生成所述第一节点的初始化组网信息,所述第一节点的初始化组网信息中根id为所述根节点id,根距离为1,父节点id为所述根节点id;
71、发送单元,用于向所述根节点发送所述第一节点的初始化组网信息,以使得所述根节点根据所述第一节点的初始化组网信息,生成所述根节点的收敛组网信息,所述根节点的收敛组网信息中可达节点集包括第一节点。
72、在第五方面一种可能的实施方式中,所述根节点的收敛组网信息中可达节点集还包括二节点;
73、所述发送单元,还用于向第二节点发送所述第一节点的初始化组网信息;
74、所述获取单元,还用于获取所述第二节点发送的所述第二节点的初始化组网信息,所述第二节点的初始化组网信息中根id为所述根节点id,根距离为2,父节点id为所述第一节点id;
75、所述发送单元,还用于根据所述第二节点的初始化组网信息向所述根节点发送所述第一节点的收敛组网信息,所述第一节点的收敛组网信息中可达节点集包括第二节点。
76、在第五方面一种可能的实施方式中,所述获取单元,还用于获取第一故障信号,所述第一故障信号指示所述第一节点与所述根节点之间的链路发生故障;
77、所述生成单元,还用于生成所述第一节点的组网故障信息,所述第一节点的组网故障信息中根id为所述根节点id,根距离为无穷,父节点id为空,可达节点集为空。
78、在第五方面一种可能的实施方式中,所述发送单元,还用于向所述第二节点发送所述第一节点的组网故障信息;
79、所述获取单元,还用于获取所述第二节点发送的所述第二节点的重收敛组网信息,所述第二节点的重收敛组网信息中根id为所述根节点id,根距离为2,可达节点集为空;
80、所述生成单元,还用于根据所述第二节点的重收敛组网信息生成所述第一节点的重收敛组网信息,所述第一节点的重收敛组网信息中根id为所述根节点id,根距离为3,父节点id为所述第二节点id,可达节点集为空;
81、所述发送单元,还用于向所述第二节点发送所述第一节点的重收敛组网信息,以使得所述第二节点根据所述第一节点的重收敛组网信息生成所述第二节点的再次收敛组网信息,所述第二节点的再次收敛组网信息中可达节点集包括所述第一节点。
82、本技术实施例第六方面提供了一种组网的装置,包括:
83、获取单元,用于获取第一节点发送的所述第一节点的初始化组网信息,所述第一节点的初始化组网信息中根id为所述根节点id,根距离为1,父节点id为所述根节点id;
84、生成单元,用于根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息,所述第二节点的初始化组网信息中根id为所述根节点id,根距离为2,父节点id为所述第一节点id;
85、发送单元,用于向所述第一节点发送所述第二节点的初始化组网信息,以使得所述第一节点根据所述第二节点的初始化组网信息向所述根节点发送所述第一节点的收敛组网信息,所述第一节点的收敛组网信息中可达节点集包括第二节点。
86、在第六方面一种可能的实施方式中,所述获取单元,还用于获取第三节点发送的所述第三节点的初始化组网信息,所述第三节点的初始化组网信息中根id为所述根节点id,根距离为1,父节点id为所述根节点id;
87、所述生成单元,具体用于当所述获取所述第一节点发送的所述第一节点的初始化组网信息的时刻早于所述获取所述第三节点发送的所述第三节点的初始化组网信息的时刻,根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息。
88、在第六方面一种可能的实施方式中,所述获取单元,还用于获取第四节点发送的所述第四节点的初始化组网信息,所述第四节点的初始化组网信息中根id为所述根节点id,根距离为2,父节点id为所述第三节点id;
89、所述生成单元,具体用于当所述第一节点的初始化组网信息中根距离小于所述第四节点的初始化组网信息中根距离时,根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息。
90、在第六方面一种可能的实施方式中,所述获取单元,还用于获取所述第一节点发送的所述第一节点的组网故障信息,所述第一节点的组网故障信息中根id为所述根节点id,根距离为无穷,父节点id为空,可达节点集为空;
91、所述生成单元,还用于生成所述第二节点的组网故障信息,所述第二节点的组网故障信息中根id为所述根节点id,根距离为无穷,父节点id为空,可达节点集为空。
92、在第六方面一种可能的实施方式中,所述获取单元,还用于获取第三节点发送的所述第三节点的初始化组网信息;
93、所述生成单元,还用于生成所述第二节点的重收敛组网信息,所述第二节点的重收敛组网信息中根id为所述根节点id,根距离为2,父节点id为所述第三节点id,可达节点集为空;
94、所述发送单元,还用于向所述第一节点发送所述第二节点的重收敛组网信息;
95、所述获取单元,还用于获取所述第一节点发送的所述第一节点的重收敛组网信息,所述第一节点的重收敛组网信息中根id为所述根节点id,根距离为3,父节点id为所述第二节点id,可达节点集为空。
96、在第六方面一种可能的实施方式中,所述获取单元,还用于获取第四节点发送的所述第四节点的初始化组网信息;
97、所述生成单元,具体用于当所述第三节点的初始化组网信息中根距离小于所述第四节点发送的所述第四节点的初始化组网信息中根距离时,生成所述第二节点的重收敛组网信息。
98、在第六方面一种可能的实施方式中,所述生成单元,还用于根据所述第一节点的重收敛组网信息生成所述第二节点的再次收敛组网信息,所述第二节点的再次收敛组网信息中可达节点集包括所述第一节点和所述第一节点的重收敛组网信息中可达节点集的并集;
99、所述发送单元,还用于向所述第三节点发送所述第二节点的再次收敛组网信息。
100、本技术第七方面提供了一种组网的装置,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如前述第一方面或第一方面任一种实施方式,或,前述第二方面或第二方面任一种实施方式,或,前述第三方面或第三方面任一种实施方式所述的方法。
101、本技术第八方面提供了一种计算机可读存储介质,包括程序,当其在计算机上运行时,使得计算机执行如前述第一方面或第一方面任一种实施方式,或,前述第二方面或第二方面任一种实施方式,或,前述第三方面或第三方面任一种实施方式所述的方法。
102、本技术第九方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如前述第一方面或第一方面任一种实施方式,或,前述第二方面或第二方面任一种实施方式,或,前述第三方面或第三方面任一种实施方式所述的方法。
1.一种组网的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根节点的初始化组网信息中可达节点集为空。
3.根据权利要求1或2所述的方法,其特征在于,所述根节点的收敛组网信息中可达节点集还包括第二节点,所述第二节点的初始化组网信息中根id为所述根节点id,所述第二节点的初始化组网信息中父节点id为所述第一节点id,所述第二节点的初始化组网信息中根距离为2;
4.根据权利要求1至3任一所述的方法,其特征在于,所述根节点的收敛组网信息中可达节点集还包括第三节点;
5.根据权利要求4所述的方法,其特征在于,所述根节点的收敛组网信息中可达节点集还包括第四节点,所述第四节点的初始化组网信息中根id为所述根节点id,所述第二节点的初始化组网信息中父节点id为所述第三节点id,所述第三节点的初始化组网信息中根距离为2;
6.一种组网的方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述根节点的收敛组网信息中可达节点集还包括二节点;
8.根据权利要求6或7所述的方法,其特征在于,所述根据所述根节点的初始化组网信息生成所述第一节点的初始化组网信息后,所述方法还包括:
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
10.一种组网的方法,其特征在于,包括:
11.根据权利要求10所述的方法,其特征在于,所述根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息前,所述方法还包括:
12.根据权利要求10或11所述的方法,其特征在于,所述根据所述第一节点的初始化组网信息生成第二节点的初始化组网信息前,所述方法还包括:
13.根据权利要求10至12任一所述的方法,其特征在于,所述方法还包括:
14.根据权利要求13所述的方法,其特征在于,所述生成所述第二节点的组网故障信息后,所述方法还包括:
15.根据权利要求14所述的方法,其特征在于,所述生成所述第二节点的重收敛组网信息前,所述方法还包括:
16.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
17.一种组网的装置,其特征在于,包括:
18.一种组网的装置,其特征在于,包括:
19.一种组网的装置,其特征在于,包括:
20.一种组网的装置,其特征在于,包括:处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求1至16任一项所述的方法。