一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据传输方法、装置、系统、网络设备及存储介质与流程

2022-07-15 22:12:21 来源:中国专利 TAG:


1.本技术实施例涉及通信技术领域,特别涉及一种数据传输方法、装置、系统、网络设备及存储介质。


背景技术:

2.当前多模组网技术已应用于通信领域,如基于多模组网技术构建多模网络,多模网络也即支持多种模式的网络,结合多种模式网络的优点,大大提高了通信效率。例如,一种双模组网技术是将电力线通信(power line communication,plc)技术和射频(radio frequency,rf)技术结合起来,构建双模网络。其中,plc技术是以电力线为媒介,传输信息的一种载波通信方式,plc网络不受物理障碍的约束,可以实现穿墙、地下以及隧道等场景的通信。rf技术是一种无线技术,以辐射到空间的电磁波为媒介来传输信息,rf网络具有较高的设备部署灵活性。
3.目前,为了保证多模网络的可靠性,需要对多模网络中的节点设备进行统一配置、统一升级等操作,保证节点设备的配置统一、版本功能最新。多模网络中的节点设备诸如基站、路由器、交换机、路灯、电表等。在相关技术中,单独利用一种模式的网络广播数据文件,以对节点设备进行配置、升级等,例如单独利用plc网络或rf网络进行广播升级。
4.然而,单独利用一种模式的网络传输数据,造成了多模网络中其他模式网络的资源浪费,导致传输效率很低,如果是节点设备的统一配置或升级,那么配置或升级效率会很低。


技术实现要素:

5.本技术提供了一种数据传输方法、装置、系统、网络设备及存储介质,能够合理利用多模网络的链路资源,提高传输效率。所述技术方案如下:
6.第一方面,提供了一种数据传输方法,该方法应用于控制设备,该方法包括:控制设备探测多模网络的多种链路的时延,根据该多种链路的时延,确定该多种链路对应的发包间隔。之后,根据该多种链路对应的发包间隔,通过该多种链路发送数据包。
7.其中,不同种类的链路对应不同模式的网络,该多种链路中任一种链路对应的发包间隔与该任一种链路的时延正相关。通过多模网络中的多种链路向节点设备传输数据包,也即本方案利于多模网络中各种模式网络的资源,有效提高了传输效率。
8.另外,通过探测多模网络中链路的时延来确定发包间隔,时延与发包间隔正相关。也即是,本方案探测链路的当前状况合理确定发包间隔,以合理利用每种链路的带宽,不会因为发包间隔太小而导致链路堵塞甚至发生包之间的冲突,也不会因为发包间隔太大而浪费链路带宽,导致传输效率很低。综上可知,本方案能够合理利用多链路的带宽资源,且减少堵塞和冲突,有效提高传输可靠性和传输效率。
9.可选地,控制设备探测多模网络的多种链路的时延,包括:控制设备通过控制设备包括的多种通信接口分别发送链路时延探测报文,其中,不同种类的通信接口对应不同种
类的链路。之后,控制设备接收多模网络中节点设备返回的链路时延响应报文,根据接收到的链路时延响应报文,确定多模网络的多种链路的时延。可选地,控制设备通过广播或者单播的方式探测多模网络的多种链路的时延。
10.可选地,控制设备通过一次链路时延探测,得到多模网络的多种链路的时延,或者,控制设备通过多次链路时延探测,将多次得到的任一种链路的时延的平均值,作为最终得到的该种链路的时延。也即是,控制设备通过多次采样,确定链路时延,这样得到的链路时延能够更加准确反应多模网络当前的链路情况,更合理地确定发包间隔,高效利用链路带宽资源。
11.可选地,控制设备根据该多种链路对应的发包间隔,通过该多种链路发送数据包,包括:控制设备根据该多种链路对应的发包间隔,通过该多种链路多向并行发送数据包;当接收到文件传输完成指示时,或者,当多向并行发送完成时,控制设备结束多向并行发送。也即是,本方案通过多种链路多向并行发送数据包,如果接收到文件传输完成指示,那么控制设备可以停止多向并行广播,无需再占用链路带宽。由此可见,控制设备通过多向并行广播的方式高效利用了多种链路的链路资源。
12.可选地,多向并行发送是指多向并行广播或多向并行单播,也即是在本技术实施例中可以广播数据包,也可以单播数据包。
13.可选地,数据包为数据文件的数据包,数据文件分为多个分片;控制设备根据该多种链路对应的发包间隔,通过该多种链路多向并行发送数据包,包括:对于该多种链路中的任一种链路,控制设备从该多个分片中与该任一种链路对应的起始分片开始,按照该任一种链路对应的分片发送方向,获取至少一个分片;控制设备根据获取的分片生成数据包,按照该任一种链路对应的发包间隔发送所生成的数据包。
14.示例性地,以该多模网络中的节点设备均支持plc链路和rf链路为例,控制设备按照上述方法通过plc链路和rf链路多向并行广播数据包,当plc链路从左往右广播了三分之二的分片,rf链路从右往左广播了三分之一的分片后,控制设备接收到最后一个节点设备返回的文件传输完成指示,那么此时控制设备可以停止多向并行广播,无需再占用链路带宽。由此可见,控制设备通过多向并行广播的方式高效利用了多种链路的链路资源。
15.可选地,该多种链路中的任一种链路对应一个单帧分片数量;控制设备从该多个分片中与任一种链路对应的起始分片开始,按照该任一种链路对应的分片发送方向,获取至少一个分片,包括:控制设备从该多个分片中与该任一种链路对应的起始分片开始,按照该任一种链路对应的分片发送方向,获取对应的单帧分片数量的分片。
16.可选地,控制设备根据多种链路对应的发包间隔,通过多种链路多向并行发送数据包之前,还包括:控制设备根据任一种链路对应的带宽信息,确定任一种链路对应的单帧分片数量,任一种链路对应的单帧分片数量满足使任一种链路对应的单帧包大小不超过任一种链路对应的发包限制大小。
17.也即是,在本技术实施例中,控制设备根据该多种链路的带宽信息,合理确定该多种链路对应的单帧分片数量,进一步提高了链路带宽的利用率,这样也能够减少多模网络中的节点设备通过多种链路并行接收数据包的时间,进一步提高传输效率。
18.可选地,控制设备根据该多种链路对应的发包间隔,通过该多种链路多向并行发送数据包之前,还包括:控制设备获取该多种链路对应的多个发包限制大小中的最小值;控
制设备根据数据文件的文件大小,以及该最小值,确定文件分片大小;控制设备按照文件分片大小,将数据文件分为多个分片。也即是,考虑到各种链路的发包限制不同,按照各种链路发包限制大小的最小值确定文件分片大小,也即单个分片的大小,这样能够使各种链路都能够根据成功获取至少一个分片生成数据包进行发送。
19.可选地,数据包携带数据包所包括的分片的分片编号,一个分片对应一个分片编号。其中,分片编号便于多模网络中的节点设备恢复出数据文件。
20.可选地,控制设备结束多向并行发送之后,还包括:如果未接收到第一节点设备发送的文件传输完成指示,则控制设备向第一节点设备发送待重传分片询问消息,第一节点设备为多模网络中的任一节点设备;控制设备接收第一节点设备发送的待重传分片指示消息;控制设备根据待重传分片指示消息,向第一节点设备发送重传分片。也即是,本技术实施例还能够重传分片,保证传输的可靠性。
21.可选地,数据包用于所述多模网络中的节点设备得到数据文件;控制设备根据多该种链路对应的发包间隔,通过该多种链路发送数据包之前,还包括:控制设备通过该多种链路发送开始传输提示消息,开始传输提示消息携带数据文件的摘要,数据文件的摘要用于多模网络中的节点设备校验得到的数据文件是否完整准确。可选地,开始传输提示消息还携带数据文件的分片总数量等。也即是,本技术实施例在传输开始前提示节点设备准备传输,并告知节点设备本次传输的数据文件的相关信息,提高传输效率和可靠性。
22.可选地,上述数据包为升级文件的数据包,升级文件的数据包用于多模网络中的节点设备得到升级文件后进行升级。也即是,在节点设备的升级场景中,通过本技术实施例提供的数据传输方法,高效利用多种链路的带宽资源进行升级,提高了升级效率,保证了升级可靠性。
23.第二方面,提供了一种数据传输方法,该方法应用于第一节点设备,第一节点设备为多模网络中的一个节点设备,该方法包括:
24.第一节点设备通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包。其中,该多种通信接口对应多种链路,该多种链路对应多个发包间隔,该多个发包间隔通过链路时延探测确定,不同种类链路对应不同模式的网络。
25.在本技术实施例中,多模网络中的节点设备通过多种链路接收数据数据包,也即本方案利于多模网络中各种模式网络的资源传输数据,有效提高了传输效率。另外,为了进一步提高传输效率,保证传输可靠性,本方案中通过探测多模网络中链路的时延,来确定数据包的发包间隔,时延与发包间隔正相关。也即是,本方案探测链路的当前状况合理确定发包间隔,这样能够合理利用每种链路的带宽,不会因为发包间隔太小而导致链路堵塞甚至发生包之间的冲突,严重时造成传输失败,也不会因为发包间隔太大而浪费链路带宽,且导致传输效率很低。综上可知,本方案能够合理利用多链路的带宽资源,且减少堵塞和冲突,有效提高了传输可靠性,且提高了传输效率。
26.可选地,该多个数据包为数据文件的数据包;第一节点设备通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包之后,还包括:如果该多个数据包满足文件传输完成条件,则第一节点设备根据该多个数据包恢复出数据文件。
27.可选地,数据文件分为多个分片,该多个数据包中的每个数据包携带该多个分片中的至少一个分片。文件传输完成条件包括:该多个数据包携带的有效分片的总数量等于
该多个分片的总数量;第一节点设备根据该多个数据包恢复出数据文件,包括:第一节点设备根据该多个数据包携带的有效分片恢复出数据文件。也即是,节点设备在确定接收到的分片完整的情况下,再去恢复出数据文件,保证恢复出的文件完整性。
28.可选地,每个数据包还携带至少一个分片对应的分片编号,一个分片对应一个分片编号;第一节点设备根据多个数据包携带的有效分片恢复出数据文件,包括:第一节点设备按照该多个数据包携带的有效分片对应的分片编号,将有效分片恢复出数据文件。
29.可选地,第一节点设备通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包之前,还包括:第一节点设备通过第一节点设备包括的多种通信接口接收多个链路时延探测报文,该多个链路时延探测报文由控制设备通过控制设备包括的多种通信接口发送;第一节点设备通过第一节点设备包括的多种通信接口,向控制设备发送链路时延响应报文,链路时延响应报文用于控制设备确定该多个发包间隔。也即是,在控制设备发送数据包之前,控制设备先通过发送报文动态探测多种链路的时延,合理确定发包间隔,提高各种链路的带宽利用率。可选地,控制设备广播或单播探测多种链路的时延。
30.可选地,第一节点设备根据该多个数据包恢复出数据文件之后,还包括:第一节点设备校验得到的数据文件是否完整准确;如果校验确定得到的数据文件完整准确,则第一节点设备向控制设备发送文件传输完成指示。也即是,节点设备向控制设备反馈文件接收情况,便于控制设备及时获知传输进度和传输状况,利于控制设备对节点设备的维护和管理。
31.可选地,第一节点设备校验得到的数据文件是否完整准确之前,还包括:第一节点设备接收控制设备发送的开始传输提示消息,开始传输提示消息携带数据文件的摘要;第一节点设备校验得到的数据文件是否完整准确,包括:第一节点设备根据数据文件的摘要,校验得到的数据文件是否完整准确。可选地,开始传输提示消息还携带数据文件的分片总数量等。也即是,本技术实施例在传输开始前提示节点设备准备传输,并告知节点设备本次传输的数据文件的相关信息,提高传输效率和可靠性。
32.可选地,第一节点设备根据该多个数据包恢复出数据文件之前,还包括:第一节点设备接收控制设备发送的待重传分片询问消息,待重传分片询问消息是在控制设备未接收到第一节点设备发送的文件传输完成指示的情况下发送的;第一节点设备向控制设备发送待重传分片指示消息;第一节点设备接收控制设备发送的重传分片;第一节点设备根据多个数据包恢复出数据文件,包括:第一节点设备根据该多个数据包和接收到的重传分片,得到数据文件。
33.可选地,该多个数据包为升级文件的数据包。第一节点设备通过所述第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包之后,还包括:第一节点设备根据该多个数据包得到升级文件进行升级。也即是,在节点设备的升级场景中,通过本技术实施例提供的数据传输方法,高效利用多种链路的带宽资源进行升级,提高了升级效率,保证了升级可靠性。
34.第三方面,提供了一种数据传输装置,所述数据传输装置具有实现上述第一方面中数据传输方法行为的功能。所述数据传输装置包括一个或多个模块,该一个或多个模块用于实现上述第一方面所提供的数据传输方法。
35.也即是,提供了一种数据传输装置,该装置应用于控制设备,该装置包括:
36.时延探测模块,用于探测多模网络的多种链路的时延,不同种类的链路对应不同模式的网络;
37.发包间隔确定模块,用于根据该多种链路的时延,确定该多种链路对应的发包间隔,任一种链路对应的发包间隔与任一种链路的时延正相关;
38.数据发送模块,用于根据该多种链路对应的发包间隔,通过该多种链路发送数据包。
39.可选地,时延探测模块包括:
40.时延探测发送单元,用于通过控制设备包括的多种通信接口分别发送链路时延探测报文,不同种类的通信接口对应不同种类的链路;
41.时延响应接收单元,用于接收多模网络中节点设备返回的链路时延响应报文;
42.时延确定模块,用于根据接收到的链路时延响应报文,确定多模网络的多种链路的时延。
43.可选地,数据发送模块包括:
44.多向并行发送单元,用于根据该多种链路对应的发包间隔,通过该多种链路多向并行发送数据包;
45.结束发送单元,用于当接收到文件传输完成指示时,或者,当多向并行发送完成时,控制设备结束多向并行发送。
46.可选地,数据包为数据文件的数据包,数据文件分为多个分片;
47.多向并行发送单元包括:
48.分片获取子单元,用于对于多种链路中的任一种链路,从该多个分片中与任一种链路对应的起始分片开始,按照任一种链路对应的分片发送方向,获取至少一个分片;
49.数据包发送子单元,用于根据获取的分片生成数据包,按照任一种链路对应的发包间隔发送所生成的数据包。
50.可选地,任一种链路对应一个单帧分片数量;
51.分片获取子单元用于:
52.从该多个分片中与任一种链路对应的起始分片开始,按照任一种链路对应的分片发送方向,获取对应的单帧分片数量的分片。
53.可选地,数据发送模块还包括:
54.单帧包确定单元,用于根据任一种链路对应的带宽信息,确定任一种链路对应的单帧分片数量,任一种链路对应的单帧分片数量满足使任一种链路对应的单帧包大小不超过任一种链路对应的发包限制大小。
55.可选地,数据发送模块还包括:
56.包限制量获取单元,获取该多种链路对应的多个发包限制大小中的最小值;
57.分片确定单元,用于根据数据文件的文件大小,以及该最小值,确定文件分片大小;
58.文件分片单元,用于按照文件分片大小,将数据文件分为多个分片。
59.可选地,数据包携带数据包所包括的分片的分片编号,一个分片对应一个分片编号。
60.可选地,数据发送模块还包括:
61.重传询问单元,用于如果未接收到第一节点设备发送的文件传输完成指示,则向第一节点设备发送待重传分片询问消息,第一节点设备为多模网络中的任一节点设备;
62.重传指示接收单元,用于接收第一节点设备发送的待重传分片指示消息;
63.分片重传单元,用于根据待重传分片指示消息,向第一节点设备发送重传分片。
64.可选地,数据包用于多模网络中的节点设备得到数据文件;该装置还包括:
65.开始传输提示模块,用于通过该多种链路发送开始传输提示消息,开始传输提示消息携带数据文件的摘要,数据文件的摘要用于多模网络中的节点设备校验得到的数据文件是否完整准确。
66.可选地,数据包为升级文件的数据包,升级文件的数据包用于多模网络中的节点设备得到升级文件后进行升级。
67.第四方面,提供了一种数据传输装置,所述数据传输装置具有实现上述第二方面中数据传输方法行为的功能。所述数据传输装置包括一个或多个模块,该一个或多个模块用于实现上述第二方面所提供的数据传输方法。
68.也即是,提供了一种数据传输装置,该装置应用于第一节点设备,第一节点设备为多模网络中的一个节点设备,该装置包括:
69.数据接收模块,用于通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包,该多种通信接口对应多种链路,该多种链路对应多个发包间隔,该多个发包间隔通过链路时延探测确定,不同种类链路对应不同模式的网络。
70.可选地,该多个数据包为数据文件的数据包;
71.该装置还包括:
72.文件恢复模块,用于如果该多个数据包满足文件传输完成条件,则根据该多个数据包恢复出数据文件。
73.可选地,数据文件分为多个分片,该多个数据包中的每个数据包携带该多个分片中的至少一个分片;
74.文件传输完成条件包括:该多个数据包携带的有效分片的总数量等于该多个分片的总数量;
75.文件恢复模块包括:
76.文件恢复单元,用于根据该多个数据包携带的有效分片恢复出数据文件。
77.可选地,每个数据包还携带至少一个分片对应的分片编号,一个分片对应一个分片编号;
78.文件恢复单元用于:
79.按照该多个数据包携带的有效分片对应的分片编号,将有效分片恢复出数据文件。
80.可选地,该装置还包括:
81.时延探测接收模块,用于通过第一节点设备包括的多种通信接口接收多个链路时延探测报文,该多个链路时延探测报文由控制设备通过控制设备包括的多种通信接口发送;
82.时延响应模块,用于通过第一节点设备包括的多种通信接口,向控制设备发送链路时延响应报文,链路时延响应报文用于控制设备确定该多个发包间隔。
83.可选地,该装置还包括:
84.文件校验模块,用于校验得到的数据文件是否完整准确;
85.传输完成响应模块,用于如果校验确定得到的数据文件完整准确,则向控制设备发送文件传输完成指示。
86.可选地,该装置还包括:
87.传输提示接收模块,用于接收控制设备发送的开始传输提示消息,开始传输提示消息携带数据文件的摘要;
88.文件校验模块包括:
89.文件校验单元,用于根据数据文件的摘要,校验得到的数据文件是否完整准确。
90.可选地,该装置还包括:
91.重传询问接收模块,用于接收控制设备发送的待重传分片询问消息,待重传分片询问消息是在控制设备未接收到第一节点设备发送的文件传输完成指示的情况下发送的;
92.重传指示发送模块,用于向控制设备发送待重传分片指示消息;
93.重传分片接收模块,用于接收控制设备发送的重传分片;
94.文件恢复模块包括:
95.文件恢复单元,用于根据该多个数据包和接收到的重传分片,得到数据文件。
96.可选地,该多个数据包为升级文件的数据包;
97.该装置还包括:
98.升级模块,用于根据该多个数据包得到升级文件后进行升级。
99.第五方面,提供了一种数据传输系统,所述传输系统包括控制设备和多模网络中的节点设备;所述控制设备具有实现上述第一方面所提供的数据传输方法的功能,多模网络中的节点设备具有实现上述第二方面所提供的数据传输方法的功能。
100.第六方面,提供了一种网络设备,所述网络设备包括处理器和存储器,所述存储器用于存储执行上述第一方面或第二方面所提供的数据传输方法的程序,以及存储用于实现上述第一方面或第二方面所提供的数据传输方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。
101.第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的数据传输方法。
102.第八方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的数据传输方法。
103.上述第三方面、第四方面、第五方面、第六方面、第七方面和第八方面所获得的技术效果与第一方面或第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
104.本技术实施例提供的技术方案至少能够带来以下有益效果:
105.在本技术实施例中,通过多模网络中的多种链路发送数据包,也即本方案利于多模网络中各种模式网络的资源传输数据,有效提高了传输效率。另外,为了进一步提高传输效率,保证传输可靠性,本方案中通过探测多模网络中链路的时延,来确定数据包的发包间隔,时延与发包间隔正相关。也即是,本方案探测链路的当前状况合理确定发包间隔,这样
能够合理利用每种链路的带宽,不会因为发包间隔太小而导致链路堵塞甚至发生包之间的冲突,严重时造成传输失败,也不会因为发包间隔太大而浪费链路带宽,且导致传输效率很低。综上可知,本方案能够合理利用多链路的带宽资源,且减少堵塞和冲突,有效提高了传输可靠性,且提高了传输效率。
附图说明
106.图1是本技术实施例提供的一种数据传输方法所涉及的系统架构图;
107.图2是本技术实施例提供的一种多模网络系统中设备硬件结构的示意图;
108.图3是本技术实施例提供的一种网络设备的结构示意图;
109.图4是本技术实施例提供的一种数据传输方法的流程图;
110.图5是本技术实施例提供的一种链路时延探测的流程示意图;
111.图6是本技术实施例提供的一种多链路多向并行发送的方法示意图;
112.图7是本技术实施例提供的另一种数据传输方法的流程图;
113.图8是本技术实施例提供的一种数据传输装置的结构示意图;
114.图9是本技术实施例提供的另一种数据传输装置的结构示意图;
115.图10是本技术实施例提供的又一种数据传输装置的结构示意图。
具体实施方式
116.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
117.本技术实施例描述的网络架构以及业务场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
118.图1是本技术实施例提供的一种数据传输方法所涉及的系统架构图。参见图1,该系统架构包括控制设备101和多个节点设备102,控制设备101与该多个节点设备102组成多模网络,可选地,该系统称为多模网络系统。在该多模网络中,不同模式的网络对应不同种类的链路。控制设备101与至少一个节点设备102通过多种链路直连以进行通信,该多个节点设备102中直连的任意两个节点设备102通过至少一种链路进行通信。
119.示例性地,在图1中,以多模网络为plc网络和rf网络组成的双模网络,以实线表示plc链路,虚线表示rf链路。控制设备101通过plc链路和rf链路与直连的至少一个节点设备102进行通信,直连的任意两个节点设备102之间通过plc链路和rf链路中的至少一种链路进行通信。可以理解为本技术实施例中不限定节点设备102为多模节点还是单模节点,也即不限定节点设备102能够支持的网络模式。其中,单模节点如plc节点或rf节点等。
120.在本技术实施例中,控制设备101用于根据本技术实施例提供的数据传输方法,发送数据包,例如广播或单播数据包。该多个节点设备102用于根据本技术实施例提供的数据传输方法接收数据包。可选地,在对节点设备102升级的场景中,数据文件为升级文件,数据包为升级文件的数据包,节点设备102在接收升级文件的数据包得到升级文件后进行升级。
121.可选地,在本技术实施例中,该系统架构还包括数据服务器(如升级服务器),数据
服务器与控制设备101连接,数据服务器用于存储数据文件,在需要向节点设备传输数据文件时,控制设备101从数据服务器中获取数据文件。
122.在本技术实施例中,控制设备101为网关、交换机、路由器、网桥或网络服务器等设备,节点设备102诸如基站、路由器、交换机、路灯、电表等设备。控制设备101和节点设备102上的通信接口均可以包括两种甚至更多种,不同的通信接口对应不同种类的链路。当然,节点设备102也可以仅包括一种通信接口。通信接口如有线接口和无线接口,有线接口如plc接口,无线接口如射频(rf)收发器的rf接口。射频收发器的频率范围可以在300千赫兹(khz)至300吉赫兹(ghz)之间,也可以在其他频率范围。rf接口如802.11接口、802.15.4接口、蓝牙接口、zigbee接口中的一个或组合。
123.需要说明的是,在本技术实施例中,通信接口的种类划分可以是粗粒度的,也可以是细粒度的。例如,plc接口和rf接口为两种通信接口,也即无论rf接口为哪种形式的接口,均认为是一种通信接口。或者,对于rf接口来说,按照接口形式不同细分为多种类型的通信接口,如802.11接口和蓝牙接口为两种通信接口。
124.图2是本技术实施例提供的一种多模网络系统中设备硬件结构的示意图。参见图2,该多模网络系统包括控制设备(如网关gateway)和多个节点设备(如站点station,sta),控制设备包括中央协调器(central coordinator,cco),cco可以视为头端通信单元,节点设备视为尾端通信单元。cco通过通信总线与控制设备相连,cco通过通信接口与尾端通信单元相连。其中,通信接口的类型参照前述相关内容的介绍,这里不再赘述。
125.请参考图3,图3是根据本技术实施例示出的一种网络设备的结构示意图。可选地,该网络设备为图1或图2中所示的控制设备或节点设备。该网络设备包括一个或多个处理器301、通信总线302、存储器303以及一个或多个通信接口304。
126.处理器301为一个通用处理器(central processing unit,cpu)、网络处理器(network processing,np)、微处理器、或者为一个或多个用于实现本技术方案的集成电路。例如,专用集成电路(application-specific integrated circuit,asic),可编程逻辑器件(programmable logic device,pld)或其组合。可选地,上述pld为复杂可编程逻辑器件(complex programmable logic device,cpld),现场可编程逻辑门阵列(field-programmable gate array,fpga),通用阵列逻辑(generic array logic,gal)或其任意组合。
127.通信总线302用于在上述组件之间传送信息。可选地,通信总线302分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
128.可选地,存储器303为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、光盘(包括只读光盘(compact disc read-only memory,cd-rom)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器303独立存在,并通过通信总线302与处理器301相连接,或者,存储器303与处理器301集成在一起。
129.通信接口304使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信
接口304包括有线通信接口,可选地,还包括无线通信接口。其中,有线通信接口例如、以太网接口等。可选地,以太网接口为光接口、电力线通信(plc)接口或其组合。无线通信接口为无线局域网(wireless local area networks,wlan)接口、蜂窝网络通信接口或其组合等。当该网络设备为控制设备时,通信接口304用于与任一节点设备通信。当该网络设备为一个节点设备时,通信接口304用于与控制设备通信,以及与其他节点设备通信。
130.可选地,在一些实施例中,网络设备包括多个处理器,如图3中所示的处理器301和处理器305。这些处理器中的每一个为一个单核处理器,或者一个多核处理器。可选地,这里的处理器指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
131.在具体实现中,作为一种实施例,网络设备还包括输出设备306和输入设备307。输出设备306和处理器301通信,能够以多种方式来显示信息。例如,输出设备306为液晶显示器(liquid crystal display,lcd)、发光二级管(light emitting diode,led)显示设备、阴极射线管(cathode ray tube,crt)显示设备或投影仪(projector)等。输入设备307和处理器301通信,能够以多种方式接收用户的输入。例如,输入设备307是鼠标、键盘、触摸屏设备或传感设备等。
132.在一些实施例中,存储器303用于存储执行本技术方案的程序代码310,处理器301能够执行存储器303中存储的程序代码310。该程序代码310中包括一个或多个软件模块,该网络设备能够通过处理器301以及存储器303中的程序代码310,来实现下文图4实施例提供的数据传输方法。
133.当该网络设备为控制设备时,存储器303用于存储程序代码310,处理器301用于执行存储器303中存储的程序代码310,实现本技术实施例提供的数据传输方法中控制设备的相应功能。也即是,控制设备探测多种链路的时延,确定该多种链路的发包间隔,按照该多种链路的发包间隔,通过该多种链路向节点设备发送数据包。具体实现方式参照下述图4实施例中的详细介绍,这里不再赘述。
134.示例性地,当图8所示实施例中的时延探测模块801、发包间隔确定模块802和数据发送模块803是通过软件实施的情况下,该程序代码310中可以包括时延探测模块、发包间隔确定模块和数据发送模块。时延探测模块用于探测多模网络的多种链路的时延,发包间隔确定模块用于根据该多种链路的时延确定该多种链路对应的发包间隔,数据发送模块用于根据该多种链路对应的发包间隔,通过该多种链路发送数据包。
135.当该网络设备为一个节点设备时,存储器303用于存储程序代码310,处理器301用于执行存储器303中存储的程序代码310,实现本技术实施例提供的数据传输方法中节点设备的相应功能。也即是,通过节点设备包括的多种通信接口分别接收控制设备发送的多个数据包。可选地,在该多个数据包为升级文件的数据包的场景中,节点设备还用于根据该多个数据包得到升级文件后进行升级。具体实现方式参照下述图4实施例中的详细介绍,这里不再赘述。
136.示例性地,当图10所示实施例中的数据接收模块901、文件恢复模块902和升级模块903是通过软件实施的情况下,该程序代码310中可以包括数据接收模块、文件恢复模块和升级模块。数据接收模块用于通过节点设备包括的多种通信接口304分别接收控制设备发送的多个数据包,文件恢复模块用于根据该多个数据包,得到数据文件,升级模块用于根据得到的数据文件(即升级文件)进行升级。
137.图4是本技术实施例提供的一种数据传输方法的流程图。请参考图4,该方法包括如下步骤。
138.401:控制设备探测多模网络的多种链路的时延。
139.在本技术实施例中,控制设备动态探测多模网络中的多种链路的时延,以获知多模网络当前的链路情况。其中,不同种类的链路对应不同模式的网络。
140.在本技术实施例中,控制设备通过发送链路时延探测报文来进行链路时延探测。在一种实现方式中,控制设备通过控制设备包括的多种通信接口分别发送链路时延探测报文,不同种类的通信接口对应不同种类的链路。之后,控制设备接收多模网络中节点设备返回的链路时延响应报文。控制设备根据接收到的链路时延响应报文,确定多模网络的多种链路的时延。
141.可选地,控制设备通过控制设备包括的多种通信接口广播链路时延探测报文,接收多模网络中节点设备通过节点设备包括的一种或多种通信接口返回的一个或多个链路时延响应报文。之后,控制设备根据接收到的链路时延响应报文,确定多模网络中多条链路的时延,控制设备根据该多条链路的种类和时延,计算该多条链路中属于同一种链路的时延平均值,得到相应种类链路的时延。
142.其中,以多模网络中的第一节点设备来说,第一节点设备通过第一节点设备包括的多种通信接口接收到多个链路时延探测报文,第一节点设备通过第一节点设备包括的多种通信接口向控制设备发送链路时延响应报文,链路时延响应报文用于控制设备确定链路的发包间隔。需要说明的是,这里以第一节点设备能够与控制设备之间通过多种链路通信为例进行介绍。
143.示例性地,控制设备的通信接口包括plc接口和rf接口,控制设备通过这两种接口广播链路时延探测报文。对于多模网络中的任一节点设备,如果通过plc接口广播的链路时延探测报文经过一级或多级中继的plc链路传输到该节点设备,那么该节点设备即通过该节点设备的plc接口接收链路时延探测报文。之后,该节点设备通过plc接口向控制设备返回一个链路时延响应报文,控制设备通过控制设备的plc接口接收该链路时延响应报文。如果通过rf接口广播的链路时延探测报文经过一级或多级中继的rf链路也传输到该节点设备,那么该节点设备也通过该节点设备的rf接口接收链路时延探测报文。之后,该节点设备通过rf接口向控制设备返回一个链路时延响应报文,控制设备通过控制设备的rf接口接收该链路时延响应报文。也即是,控制设备通过多种链路广播多种链路时延探测报文,但能够传输到任一节点设备的链路时延探测报文为多种或一种,也即控制设备与任一节点设备实际能够通信的链路的种类为多种或一种。
144.如图1所示的控制设备与节点设备a之间能够通信的链路种类为两种,但控制设备与节点设备e之间实际能够通信的链路种类为一种。控制设备通过plc接口和rf接口分别广播链路时延探测报文,节点设备a通过plc接口和rf接口分别返回链路时延响应报文,节点设备e通过rf链路返回链路时延响应报文。
145.在本技术实施例中,一个链路时延响应报文对应多模网络中的一条链路,控制设备接收到多模网络中各个节点设备返回的链路时延响应报文之后,统计接收到的链路时延响应报文对应的链路的时延,计算统计出的多条链路中属于同一种链路的平均时延,得到相应种类链路的时延。
146.其中,对于该多条链路中任一条链路来说,控制设备接收到该条链路对应的链路时延响应报文之后,根据该链路时延响应报文携带的时间戳,以及控制设备发送链路时延探测报文的时间,确定该条链路的时延。可选地,链路时延响应报文携带的时间戳用于表示相应节点设备接收到对应的链路时延探测报文的时间。例如,节点设备通过plc接口接收到链路时延探测报文的时间为t3,那么节点设备通过plc接口返回的链路时延响应报文携带的时间戳表示的时间为t3。以控制设备发送链路时延探测报文的时间为t1为例,那么该链路时延响应报文对应的这条链路的时延为t3-t1。
147.示例性地,以控制设备统计接收到的链路时延响应报文共有50个为例,那么对应有50条链路。其中,控制设备通过plc接口接收到30个链路时延响应报文,通过rf接口接收到20个链路时延响应报文,也即是,这50条链路中有30条链路属于plc链路,有20条链路属于rf链路。控制设备计算这30条plc链路的时延平均值,得到plc链路的时延,计算这20条rf链路的时延平均值,得到rf链路的时延。
148.可选地,控制设备通过接收链路时延响应报文的通信接口的种类,即可获知对应链路的种类。或者,由于不同链路上传输的报文的报文结构不同,如plc链路和rf链路对应的报文结构不同,控制设备也能够通过链路时延响应报文的报文结构,获知对应链路的种类。由此可见,控制设备在探测链路时延的同时,其实也探测出了多模网络中当前能够与节点设备通信的多条链路的种类,也即是,控制设备通过一次探测过程实现对链路时延和链路种类的探测。
149.可选地,控制设备通过两次探测过程分别探测链路时延和链路种类。示例性地,控制设备通过上述方法探测链路时延,另外,控制设备还通过发送链路种类探测报文来探测链路种类。例如,控制设备通过控制设备的多种通信接口广播链路种类探测报文,控制设备接收多模网络中节点设备返回的链路种类响应报文,控制设备根据接收到的链路种类响应报文,确定多模网络中多条链路的种类。控制设备将两次探测过程分别得到的多条链路的时延和多条链路的种类对应匹配起来,例如通过报文携带的设备标识、接口标识等、以及接收报文的通信接口等信息实现两次探测过程的匹配。
150.可选地,以对多模网络中节点设备进行升级为例,由于多模网络中链路的使用情况动态变化,在需要对多模网络中的节点设备升级前,均进行链路时延探测,以更准确地获知当前链路情况,利于提高升级的可靠性。而对于链路种类探测来说,可以每次升级前均探测一次链路种类,或者,由于多模网络中节点设备的链路拓扑并未时刻动态变化,因此,无需每次升级都探测链路种类。示例性地,设置链路种类探测的探测间隔,如果本次升级距离上次链路种类探测的时间间隔小于探测间隔,则控制设备本次无需进行链路种类探测,如果本次升级距离上次链路种类探测的时间间隔大于或等于探测间隔,则控制设备本次需要进行链路种类探测。或者,在多模网络中新增节点设备、更换节点设备等情况下,网络中链路拓扑发生变化时,控制设备记录更新后的链路拓扑,如果本次升级与上一次升级之间链路拓扑发生变化,即使本次升级距离上次链路种类探测的时间间隔小于探测间隔,控制设备本次也进行链路种类探测。
151.当然,在升级前控制设备均动态探测链路时延和链路种类的话,控制设备获知的当前链路情况更准确。
152.图5是本技术实施例提供的一种链路时延探测的流程示意图。在图5中,以控制设
备为网关,网关包括包生成模块(未示出,如host)和包发送模块(如cco)为例,节点设备如sta。网关通过host生成链路时延探测报文后,在t1时刻host向cco发送链路时延探测报文,cco在t2时刻将链路时延探测报文广播发送。sta在t3时刻接收到链路时延探测报文,在t4时刻向网关发送链路时延响应报文。cco在t5时刻接收到链路时延响应报文,host在t6时刻接收到到cco发送的链路时延响应报文。
153.其中,网关向sta发送的链路时延探测报文为下行报文,sta向网关返回的链路时延响应报文为上行报文。t1为host发出下行报文的时间,t2为cco收到下行报文的时间,t3为sta收到下行报文的时间,t4为sta发送上行报文的时间,t5为cco收到上行报文的时间,t6为host收到上行报文的时间。网关与sta之间的一次完整交互的链路整体时延为t6-t1,交互中的下行时延为t3-t2(或t3-t1),上行时延为t5-t4(或t6-t4)。其中,下行时延即为网关探测到的与该sta之间本次通信的链路的时延。
154.可选地,控制设备通过一次链路时延探测,得到多模网络的多种链路的时延,或者,控制设备通过多次链路时延探测,将多次得到的任一种链路的时延的平均值,作为最终得到的该种链路的时延。也即是,控制设备通过多次采样,确定链路时延,这样得到的链路时延能够更加准确反应多模网络当前的链路情况。
155.需要说明的是,上述以对节点设备进行升级的场景为例,但本技术实施例并不限定于这种升级场景,在其他一些实施例中,例如需要统一节点设备的配置信息、通信协议、版本功能等场景中,均可以根据上述方法探测链路的时延。
156.402:控制设备根据该多种链路的时延,确定该多种链路对应的发包间隔,任一种链路对应的发包间隔与相应种类链路的时延正相关。
157.在本技术实施例中,控制设备在探测到多模网络的多种链路的时延之后,根据该多种链路的时延,确定该多种链路对应的发包间隔。该多种链路中任一种链路对应的发包间隔与相应种类链路的时延正相关。
158.示例性地,控制设备将该多种链路中任一种链路的时延作为相应种类链路对应的发包间隔。或者,控制设备将该多种链路中任一种链路的时延加上或减去一个时延调整值,得到对应的发包间隔。其中,时延调整值为一个定值,或者,时延调整值等于链路的时延与调整比例的乘积,或者,时延调整值为一个随机数。需要说明的是,时延调整值相对于时延来说很小,时延调整值仅为了灵活地调整确定发包间隔。
159.由上述可知,本技术实施例通过探测链路时延合理确定发包间隔,而非随意设置发包间隔。若随意设置的发包间隔较小,链路带宽有限,数据包在链路上的传输速度跟不上发包速度,数据包会在链路上产生拥堵和冲突。考虑一种极限情况,发包间隔接近于零,数据包一个接一个不断地发送到链路上,而链路带宽是有限的,链路上的传输速度也不可能无限快,那么数据包必然会在链路上产生冲突。若随意设置的发包间隔较大,那么会造成链路带宽的资源浪费。由此可见,本技术实施例中所确定的发包间隔是更合理的,后续根据所确定的发包间隔发送数据包的话,提高了链路带宽的利用率,且能够减少链路拥堵和冲突,在保证传输效率的同时,提高传输的可靠性。
160.403:控制设备根据该多种链路对应的发包间隔,通过该多种链路发送数据包。
161.在本技术实施例中,控制设备在通过动态探测链路时延,合理确定多种链路对应的发包间隔之后,通过该多种链路发送数据包。可选地,本技术实施例中的数据包为数据文
件的数据包,在其他一些实施例中,数据包可以为其他类型的数据,本技术实施例以数据文件的数据包为例进行介绍。可选地,在数据文件为升级文件,数据包为升级文件的数据包(也称为升级数据包)的情况下,升级文件的数据包用于该多模网络中的节点设备得到升级文件后进行升级。
162.示例性地,控制设备根据该多种链路的发包间隔,通过该多种链路广播升级文件的升级数据包。例如,该多种链路为plc链路和rf链路,那么控制设备根据plc链路对应的发包间隔广播升级数据包,根据rf链路对应的发包间隔广播升级数据包。
163.可选地,控制设备根据该多种链路的发包间隔,以单播的方式,通过该多种链路向任一节点设备发送数据包。
164.为了进一步合理利用多种链路的带宽资源,提高传输效率,在本技术实施例中,控制设备根据该多种链路对应的发包间隔,通过该多种链路多向并行发送数据包。当接收到文件传输完成指示时,或者,当多向并行发送完成时,控制设备结束多向并行发送。接下来介绍对控制设备多向并行发送数据包的实现方式。可选地,多向并行发送是指多向并行广播或多向并行单播,也即是在本技术实施例中可以广播数据包,也可以单播数据包。
165.在本技术实施例中,在数据包为数据文件的数据包的场景中,数据文件分为多个分片,对于该多种链路中的任一种链路,控制设备从该多个分片中与任一种链路对应的起始分片开始,按照该任一种链路对应的分片发送方向,获取至少一个分片。控制设备根据获取的分片生成数据包,按照该任一种链路对应的发包间隔发送所生成的数据包。
166.示例性地,以数据文件为升级文件,数据包为升级数据包为例,升级文件包括100个分片,该多种链路包括plc链路和rf链路,plc链路对应的起始分片为第一个分片,对应的分片发送方向为从第一个分片到最后一个分片的方向,rf链路对应的起始分片为最后一个分片,对应的分片方向为从最后一个分片到第一个分片的方向。为了便于描述,将plc链路对应的分片发送方向视为从左往右的方向,将rf链路对应的分片发送方向视为从右往左的方向。那么,对于plc链路来说,控制设备从第一个分片开始,从左往右每次获取至少一个分片,生成plc链路对应的一个升级数据包,按照plc链路对应的发包间隔发送升级数据包。对于pf链路来说,控制设备从最后一个分片开始,从右往左每次获取至少一个分片生成rf链路对应的一个升级数据包,按照rf链路对应的发包间隔发送升级数据包。控制设备通过plc链路和rf链路多向并行发送各自对应的升级数据包,有效提高了升级效率。
167.需要说明的是,在本技术实施例中,任一个节点设备接收到数据包,并确定文件传输完成后,向控制设备返回文件传输完成指示。当接收到该文件传输完成指示时,控制设备获知该节点设备接收到了该多个分片,当接收到最后一个节点设备返回的文件传输完成指示时,控制设备获知多模网络中的所有节点设备均接收到了该多个分片,此时,控制设备结束多向并行发送。
168.示例性地,该多模网络中的节点设备均支持plc链路和rf链路,控制设备按照上述方法通过plc链路和rf链路多向并行广播升级数据包,当plc链路从左往右广播了三分之二的分片,rf链路从右往左广播了三分之一的分片后,控制设备接收到最后一个节点设备返回的文件传输完成指示,那么此时控制设备可以停止多向并行广播,无需再占用链路带宽。由此可见,控制设备通过多向并行广播的方式高效利用了多种链路的链路资源进行升级。
169.可选地,该多种链路中的任一种链路对应一个单帧分片数量。基于此,控制设备从
该多个分片中与任一种链路对应的起始分片开始,按照该任一种链路对应的分片发送方向,获取至少一个分片是指:控制设备从该多个分片中与任一种链路对应的起始分片开始,按照该任一种链路对应的分片发送方向,获取对应的单帧分片数量的分片。也即是,对于任一种链路来说,对应的数据包包括的分片的分片数量等于对应的单帧分片数量。
170.由于多模网络中多种链路的带宽有所不同,基于此,控制设备通过该多种链路多向并行发送数据包之前,根据该多种链路中任一种链路对应的带宽信息,确定该任一种链路对应的单帧分片数量。其中,任一种链路对应的单帧分片数量满足使相应种类链路对应的单帧包大小不超过对应的发包限制大小。例如,plc链路的带宽较大,rf链路的带宽较小,那么,plc链路对应的单帧分片数量较大,rf链路对应的单帧分片数量相对较小,例如,plc链路的单帧分片数量为2,rf链路的单帧分片数量为1。由此可见,控制设备根据该多种链路的带宽信息,合理确定该多种链路对应的单帧分片数量,进一步提高了链路带宽的利用率,这样也能够减少多模网络中的节点设备通过多种链路并行接收数据包的时间,进一步提高传输效率,在节点设备的升级场景中,能够有效提高升级效率。
171.可选地,控制设备根据多种链路对应的发包间隔,通过多种链路多向并行发送数据包之前,获取该多种链路对应的多个发包限制大小中的最小值,控制设备根据数据文件的文件大小,以及该最小值,确定文件分片大小,按照文件分片大小,将数据文件分为多个分片。也即是,控制设备参考该多种链路对应的发包限制大小,对数据文件进行分片。
172.示例性地,以数据文件为升级文件为例,如果升级文件的文件大小大于该最小值,则控制设备确定的文件分片大小不超过该最小值即可。例如,控制设备将该最小值确定为文件分片大小,或者,控制设备将能够均分升级文件、且不超过该最小值的一个数据量大小,确定为文件分片大小。如果升级文件的文件大小小于或等于该最小值,则控制设备将升级文件的文件大小确定为文件分片大小,也即无需对升级文件进行分片。
173.可选地,在本技术实施例中,一个分片对应一个分片编号,数据包除了携带分片,还携带数据包所包括的分片的分片编号。其中,分片编号用于节点设备恢复出数据文件。
174.图6是本技术实施例提供的一种多链路多向并行发送的方法示意图。参见图6,以控制设备通过plc链路和rf链路广播发送数据包,数据文件共有n个分片,plc链路的单帧分片数量为2,rf链路的单帧分片数量为1为例。plc链路从左往右发送每次获取两个分片生成一个数据包进行广播,也即plc链路依次广播发送第1帧p1、第二帧p2、第三帧p3等。rf链路从右往左每次获取一个分片生成一个数据包进行广播,也即rf链路依次广播第1帧r1、第二帧r2、第三帧r3等。节点设备通过plc接口每接收到一个数据包,提取出两个分片,按照分片编号存储在位图(bitmap,bm)表中对应的两个位置,节点设备通过rf接口每接收到一个数据包,提取出一个分片,按照分片编号存储在bitmap表中对应的一个位置。在一种情况下,在plc链路还未广播到最后一帧(如第n/2帧)数据包的情况下,节点设备已经接收到了全部分片,控制设备即可以停止广播。
175.在一些实施例中,多模网络的多种链路不止两种,假设该多种链路包括链路a、链路b和链路c,数据文件包括n个分片。其中,链路a对应的起始分片为第一个分片,对应的分片发送方向为从左往右,链路b对应的起始分片为最后一个分片,对应的分片发送方向为从右往左,链路c对应的起始分片为第个分片,对应的分片发送方向为从左往右。其中,表示向上取整,当然也可以通过向下取整等方式确定起始分片。
176.可选地,在本技术实施例中,多模网络的多种链路对应的起始分片和分片发送方向可以根据链路带宽、链路传输速率等信息确定,以均衡合理利用多链路带宽资源。
177.示例性地,根据链路带宽和链路传输速率将该多个分片分为多份,一份对应一种链路,链路带宽和链路传输速率的加权和越大,相应种类链路对应的那一份包括的分片数量可以越多。对于任一种链路,将该种链路对应的那一份包括的第一个分片或最后一个分片作为该种链路对应的起始分片,如果将第一个分片作为起始分片,则对应的分片发送方向为从左往右,如果将最后一个分片作为起始分片,则对应的分片发送方向为从右往左。
178.以上介绍了控制设备通过多种链路发送数据包的实现方式,由于数据包在链路上传输的过程中可能会出现丢失、出错等情况,这种情况下,需要控制设备重传分片。因此,在本技术实施例中,控制设备结束多向并行发送之后,如果未接收到第一节点设备发送的文件传输完成指示,则控制设备向第一节点设备发送待重传分片询问消息,控制设备接收第一节点设备发送的待重传分片指示消息,根据待重传分片指示消息,向第一节点设备发送重传分片。其中,第一节点设备为多模网络中的任一节点设备。
179.示例性地,控制设备超时未接收到第一节点设备返回的文件传输完成指示,那么,控制设备通过单播的方式询问第一节点设备需要重传哪些分片,第一节点设备反馈待重传分片指示消息,控制设备根据第一节点设备的反馈,向第一节点设备发送对应的重传分片。
180.可选地,节点设备也可以向控制设备主动上报待重传分片指示消息,控制设备向节点设备发送重传分片。
181.在本技术实施例中,在数据包为数据文件是数据包的场景中,控制设备根据该多种链路对应的发包间隔,通过该多种链路发送数据包之前,通过该多种链路发送开始传输提示消息,开始传输提示消息携带数据文件的摘要,数据文件的摘要用于多模网络中的节点设备校验得到的数据文件是否完整准确。
182.可选地,控制设备通过该多种链路广播开始传输提示消息,开始传输提示消息还携带数据文件包括的多个分片的总数量,便于节点设备根据该总数量判断是否接收到了全部分片。
183.以上通过步骤401至步骤403介绍了控制设备发送数据包的过程,对于多模网络中的节点设备来说,在控制设备不断根据发包间隔发送数据包的过程中,节点设备不断接收到数据包。如果一个节点设备与控制设备之间能够实现多种链路的通信,那么该节点设备通过该节点设备包括的多种通信接口分别接收数据包。如果一个节点设备与控制设备之间通过一种链路的通信,那么该节点设备通过该节点设备包括的一种通信接口接收数据包。接下来以第一节点设备通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包为例,对本技术实施例节点设备通过多种链路接收数据包的方式进行介绍。
184.404:第一节点设备通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包,第一节点设备为多模网络中的任一节点设备。
185.在本技术实施例中,第一节点设备通过第一节点设备包括的多种通信接口持续接收控制设备发送的多个数据包。示例性地,第一节点设备通过plc接口不断接收控制设备通过plc链路广播的数据包,通过rf接口不断接收控制设备通过rf链路广播的数据包。
186.可选地,第一节点设备接收到任一个数据包,解析出该数据包携带的分片,按照接收顺序存储分片,例如按照接收顺序将分片存储在bitmap表中。或者,在该数据包还携带分
片编号的情况下,第一节点设备按照分片编号存储分片,例如按照分片编号将分片存储在bitmap表中。
187.示例性地,如图6所示控制设备通过plc链路和rf链路多向并行发送数据包,plc链路发送的任一个数据包携带两个分片,rf链路发送的任一个数据包携带一个分片。第一节点设备通过plc接口接收到一个数据包之后,解析出该数据包携带的两个分片,存储在bitmap表中的两个编号位置,第一节点设备通过rf接口接收到一个数据包之后,解析出该数据包携带的一个分片,存储在bitmap表中一个编号位置。
188.可选地,在该多个数据包为数据文件的数据包的场景中,第一节点设备在接收到该多个数据包之后,根据该多个数据包,得到数据文件。
189.在本技术实施例中,如果该多个数据包满足文件传输完成条件,则第一节点设备根据该多个数据包恢复出数据文件。
190.可选地,数据文件分为多个分片,该多个数据包中的每个数据包携带该多个分片中的至少一个分片。基于此,文件传输完成条件包括:该多个数据包携带的有效分片的总数量等于该多个分片的总数量。第一节点设备根据该多个数据包携带的有效分片恢复出数据文件。
191.可选地,该多个数据包携带的不重复的分片为有效分片,第一节点设备根据分片编号判断分片是否重复,或者,第一节点设备根据分片的数据内容是否相同判断分片是否重复。
192.可选地,在每个数据包还携带分片编号的情况下,第一节点设备按照该多个数据包携带的有效分片对应的分片编号,将有效分片恢复出数据文件。
193.示例性地,第一节点设备按照分片编号将有效分片重组,得到数据文件。
194.可选地,在数据文件为升级文件,数据包为升级数据包的情况下,第一节点设备得到的数据文件为升级文件,之后第一节点设备根据得到的升级文件进行升级。
195.为了确保第一节点设备接收到的数据文件的准确性,第一节点设备在根据该多个数据包得到数据文件之后,校验得到的数据文件是否完整准确。如果校验确定得到的数据文件完整准确,则第一节点设备向控制设备发送文件传输完成指示。可选地,在对节点设备进行升级的场景中,第一节点设备在校验确定得到的升级文件完整准确之后,根据升级文件进行升级。
196.由前述可知,在升级节点设备之前,控制设备向多模网络中的节点设备发送开始传输提示消息,开始传输提示消息携带数据文件的摘要。相应地,第一节点设备校验得到的数据文件是否完整准确之前,接收控制设备发送的开始传输提示消息,第一节点设备在得到数据文件之后,根据数据文件的摘要,校验得到的数据文件是否完整准确。
197.由前述可知,数据包在链路上传输的过程中可能会发生丢失、损坏等情况,第一节点设备可能未接收到数据文件的所有分片,或者接收到的数据包损坏等,在这种情况下,需要控制设备向第一节点设备重传分片。也即是,第一节点设备接收控制设备发送的待重传分片询问消息,待重传分片询问消息是在控制设备未接收到第一节点设备发送的文件传输完成指示的情况下发送的。第一节点设备向控制设备发送待重传分片指示消息,接收控制设备发送的重传分片。之后,第一节点设备根据该多个数据包,以及接收到的重传分片,得到数据文件。
198.可选地,在传输数据文件以统一配置或升级全网的节点设备等场景中,为了保证全网的节点设备同步稳定统一配置或升级,减少设备配置或升级时间,降低设备配置或升级等对网络服务的影响,在多模网络中的节点设备均向控制设备指示文件传输完成后,控制设备与节点设备之间开始进入保活过程,在保活过程中节点设备根据数据文件进行配置或升级等。
199.以对第一节点设备进行升级为例,控制设备周期性地广播保活消息,第一节点设备每接收到一个保活消息,重置一次升级定时器。如果在保活周期内,第一节点设备未接收到保活消息,则第一节点设备停止升级。其中,保活周期可以等于保活消息的发送周期,保活周期也可以大于保活消息的发送周期,例如保活周期等于三倍的发送周期。示例性地,发送周期为1s,保活周期为3s,控制设备每隔一秒广播一次保活消息,第一节点设备如果超过3s未收到保活消息,则第一节点设备停止升级。可选地,第一节点设备在重新接收到保活消息之后,继续进行升级。
200.图7是本技术实施例提供的另一种数据传输方法的流程图。以控制设备为网关,多种链路包括plc链路和rf链路,对节点设备进行升级为例进行介绍。
201.开始升级阶段:在本次升级前期,网关分别通过plc链路和rf链路广播开始升级提示消息(携带升级文件的摘要、分片数量等信息),可选地,开始升级提示消息通过管理通道广播。
202.发送分片阶段:控制设备分别根据plc链路和rf链路对应的发包间隔,通过plc链路和rf链路广播升级数据包(携带升级文件的分片),可选地升级数据包通过文件传输通道广播。多模网络中的任一节点设备接收升级数据包,存储在bitmap表中,检查升级文件的分片是否传输完成。如果任一节点设备检测分片传输完成,则向网关上报文件传输完成指示。
203.重传分片阶段:如果网关超时未接收到第一节点设备上报的文件传输完成指示,则网关向第一节点设备单播待重传分片询问消息,第一节点设备向网关反馈待重传分片指示消息,可选地,网关更新分片发送完成状况,向第一节点设备单播发送重传分片。第一节点设备接收重传分片,更新bitmap表。再次检查升级文件的分片是否传输完成。如果分片传输完成,则第一节点设备向网关上报文件传输完成指示。可选地,重传分片通过文件传输通道发送。
204.保活升级阶段:网关分别通过plc链路和rf链路周期性广播保活消息,任一节点设备接收到保活消息时重置升级定时器,通过保活完成节点设备的成功升级。可选地,保活消息通过控制通道广播。
205.综上所述,在本技术实施例中,通过多模网络中的多种链路发送数据包,也即本方案利于多模网络中各种模式网络的资源传输数据,有效提高了传输效率。另外,为了进一步提高传输效率,保证传输可靠性,本方案中通过探测多模网络中链路的时延,来确定数据包的发包间隔,时延与发包间隔正相关。也即是,本方案探测链路的当前状况合理确定发包间隔,这样能够合理利用每种链路的带宽,不会因为发包间隔太小而导致链路堵塞甚至发生包之间的冲突,严重时造成传输失败,也不会因为发包间隔太大而浪费链路带宽,且导致传输效率很低。综上可知,本方案能够合理利用多链路的带宽资源,且减少堵塞和冲突,有效提高了传输可靠性,且提高了传输效率。
206.图8是本技术实施例提供的一种数据传输装置800的结构示意图,该数据传输装置
800可以由软件、硬件或者两者的结合实现成为网络设备的部分或者全部,该网络设备可以为图3所示的网络设备。可选地,该网络设备为前述实施例中的控制设备。在本技术实施例中,该装置800应用于控制设备。参见图8,该装置800包括:时延探测模块801、发包间隔确定模块802和数据发送模块803。
207.时延探测模块801,用于探测多模网络的多种链路的时延,不同种类的链路对应不同模式的网络;具体实现方式参照前述图4实施例中步骤401的详细介绍,这里不再赘述。
208.发包间隔确定模块802,用于根据该多种链路的时延,确定该多种链路对应的发包间隔,任一种链路对应的发包间隔与任一种链路的时延正相关;具体实现方式参照前述图4实施例中步骤402的详细介绍,这里不再赘述。
209.数据发送模块803,用于根据该多种链路对应的发包间隔,通过该多种链路发送数据包。具体实现方式参照前述图4实施例中步骤403的详细介绍,这里不再赘述。
210.可选地,时延探测模块801包括:
211.时延探测发送单元,用于通过控制设备包括的多种通信接口分别发送链路时延探测报文,不同种类的通信接口对应不同种类的链路;
212.时延响应接收单元,用于接收多模网络中节点设备返回的链路时延响应报文;
213.时延确定模块,用于根据接收到的链路时延响应报文,确定多模网络的多种链路的时延。具体实现方式参照前述图4实施例中步骤401的详细介绍,这里不再赘述。
214.可选地,数据发送模块803包括:
215.多向并行发送单元,用于根据该多种链路对应的发包间隔,通过该多种链路多向并行发送数据包;
216.结束发送单元,用于当接收到文件传输完成指示时,或者,当多向并行发送完成时,控制设备结束多向并行发送。具体实现方式参照前述图4实施例中步骤403的详细介绍,这里不再赘述。
217.可选地,数据包为数据文件的数据包,数据文件分为多个分片;
218.多向并行发送单元包括:
219.分片获取子单元,用于对于该多种链路中的任一种链路,从该多个分片中与任一种链路对应的起始分片开始,按照任一种链路对应的分片发送方向,获取至少一个分片;
220.数据包发送子单元,用于根据获取的分片生成数据包,按照任一种链路对应的发包间隔发送所生成的数据包。具体实现方式参照前述图4实施例中步骤403的详细介绍,这里不再赘述。
221.可选地,任一种链路对应一个单帧分片数量;
222.分片获取子单元用于:
223.从该多个分片中与任一种链路对应的起始分片开始,按照任一种链路对应的分片发送方向,获取对应的单帧分片数量的分片。具体实现方式参照前述图4实施例中步骤403的详细介绍,这里不再赘述。
224.可选地,数据发送模块803还包括:
225.单帧包确定单元,用于根据任一种链路对应的带宽信息,确定任一种链路对应的单帧分片数量,任一种链路对应的单帧分片数量满足使任一种链路对应的单帧包大小不超过任一种链路对应的发包限制大小。具体实现方式参照前述图4实施例中步骤403的详细介
绍,这里不再赘述。
226.可选地,数据发送模块803还包括:
227.包限制量获取单元,获取该多种链路对应的多个发包限制大小中的最小值;
228.分片确定单元,用于根据数据文件的文件大小,以及该最小值,确定文件分片大小;
229.文件分片单元,用于按照文件分片大小,将数据文件分为多个分片。具体实现方式参照前述图4实施例中步骤403的详细介绍,这里不再赘述。
230.可选地,数据包携带数据包所包括的分片的分片编号,一个分片对应一个分片编号。
231.可选地,数据发送模块803还包括:
232.重传询问单元,用于如果未接收到第一节点设备发送的文件传输完成指示,则向第一节点设备发送待重传分片询问消息,第一节点设备为多模网络中的任一节点设备;
233.重传指示接收单元,用于接收第一节点设备发送的待重传分片指示消息;
234.分片重传单元,用于根据待重传分片指示消息,向第一节点设备发送重传分片。具体实现方式参照前述图4实施例中步骤403至步骤406的详细介绍,这里不再赘述。
235.可选地,数据包用于多模网络中的节点设备得到数据文件;该装置800还包括:
236.开始传输提示模块,用于通过该多种链路发送开始传输提示消息,开始传输提示消息携带数据文件的摘要,数据文件的摘要用于多模网络中的节点设备校验得到的数据文件是否完整准确。
237.可选地,数据包为升级文件的数据包,升级文件的数据包用于多模网络中的节点设备得到升级文件后进行升级。
238.在本技术实施例中,通过多模网络中的多种链路发送数据包,也即本方案利于多模网络中各种模式网络的资源,有效提高了传输效率。另外,为了进一步提高传输效率,保证传输可靠性,本方案中通过探测多模网络中链路的时延,来确定数据包的发包间隔,时延与发包间隔正相关。也即是,本方案探测链路的当前状况合理确定发包间隔,这样能够合理利用每种链路的带宽,不会因为发包间隔太小而导致链路堵塞甚至发生包之间的冲突,严重时造成传输失败,也不会因为发包间隔太大而浪费链路带宽,且导致传输效率很低。综上可知,本方案能够合理利用多链路的带宽资源,且减少堵塞和冲突,有效提高了传输可靠性,且提高了传输效率。
239.需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
240.图9是本技术实施例提供的一种数据传输装置900的结构示意图,该数据传输装置900可以由软件、硬件或者两者的结合实现成为网络设备的部分或者全部,该网络设备可以为图3所示的网络设备。可选地,该网络设备为前述实施例中的任一节点设备。在本技术实施例中,以该装置900应用于第一节点设备为例,第一节点设备为多模网络中的一个节点设备。参见图9,该装置900包括:数据接收模块901。
241.数据接收模块901,用于通过第一节点设备包括的多种通信接口分别接收控制设备发送的多个数据包,该多种通信接口对应多种链路,该多种链路对应多个发包间隔,该多个发包间隔通过链路时延探测确定,不同种类链路对应不同模式的网络;具体实现方式参照前述图4实施例中步骤404的详细介绍,这里不再赘述。
242.可选地,该多个数据包为数据文件的数据包;
243.参见图10,该装置900还包括:
244.文件恢复模块902,用于如果该多个数据包满足文件传输完成条件,则根据该多个数据包恢复出数据文件。具体实现方式参照前述图4实施例中步骤404的详细介绍,这里不再赘述。
245.可选地,数据文件分为多个分片,该多个数据包中的每个数据包携带该多个分片中的至少一个分片;
246.文件传输完成条件包括:该多个数据包携带的有效分片的总数量等于该多个分片的总数量;
247.文件恢复模块902包括:
248.文件恢复单元,用于根据该多个数据包携带的有效分片恢复出数据文件。
249.可选地,每个数据包还携带至少一个分片对应的分片编号,一个分片对应一个分片编号;
250.文件恢复单元用于:
251.按照该多个数据包携带的有效分片对应的分片编号,将有效分片恢复出数据文件。具体实现方式参照前述图4实施例中步骤404的详细介绍,这里不再赘述。
252.可选地,该装置900还包括:
253.时延探测接收模块,用于通过第一节点设备包括的多种通信接口接收多个链路时延探测报文,该多个链路时延探测报文由控制设备通过控制设备包括的多种通信接口发送;
254.时延响应模块,用于通过第一节点设备包括的多种通信接口,向控制设备发送链路时延响应报文,链路时延响应报文用于控制设备确定该多个发包间隔。具体实现方式参照前述图4实施例中步骤401的详细介绍,这里不再赘述。
255.可选地,该装置900还包括:
256.文件校验模块,用于校验得到的数据文件是否完整准确;
257.传输完成响应模块,用于如果校验确定得到的数据文件完整准确,则向控制设备发送文件传输完成指示。具体实现方式参照前述图4实施例中步骤404的详细介绍,这里不再赘述。
258.可选地,该装置900还包括:
259.传输提示接收模块,用于接收控制设备发送的开始传输提示消息,开始传输提示消息携带数据文件的摘要;
260.文件校验模块包括:
261.文件校验单元,用于根据数据文件的摘要,校验得到的数据文件是否完整准确。具体实现方式参照前述图4实施例中步骤403至步骤404的详细介绍,这里不再赘述。
262.可选地,该装置900还包括:
263.重传询问接收模块,用于接收控制设备发送的待重传分片询问消息,待重传分片询问消息是在控制设备未接收到第一节点设备发送的文件传输完成指示的情况下发送的;
264.重传指示发送模块,用于向控制设备发送待重传分片指示消息;
265.重传分片接收模块,用于接收控制设备发送的重传分片;具体实现方式参照前述图4实施例中步骤403至步骤404的详细介绍,这里不再赘述。
266.文件恢复模块902包括:
267.文件恢复单元,用于根据该多个数据包和接收到的重传分片,得到数据文件。
268.可选地,该多个数据包为升级文件的数据包;
269.参见图10,该装置900还包括:
270.升级模块903,用于根据该多个数据包得到升级文件后进行升级。具体实现方式参照前述图4实施例中步骤404的详细介绍,这里不再赘述。
271.在本技术实施例中,多模网络中的节点设备通过多种链路接收数据文件的数据包,也即本方案利于多模网络中各种模式网络的资源,有效提高了传输效率。另外,为了进一步提高传输效率,保证传输可靠性,本方案中通过探测多模网络中链路的时延,来确定数据包的发包间隔,时延与发包间隔正相关。也即是,本方案探测链路的当前状况合理确定发包间隔,这样能够合理利用每种链路的带宽,不会因为发包间隔太小而导致链路堵塞甚至发生包之间的冲突,严重时造成传输失败,也不会因为发包间隔太大而浪费链路带宽,且导致传输效率很低。综上可知,本方案能够合理利用多链路的带宽资源,且减少堵塞和冲突,有效提高了传输可靠性,且提高了传输效率。
272.需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
273.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,dsl))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,dvd))或半导体介质(例如:固态硬盘(solid state disk,ssd))等。值得注意的是,本技术实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
274.应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个
以上。在本技术实施例的描述中,除非另有说明,“/”表示或的意思,例如,a/b可以表示a或b;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
275.以上所述为本技术提供的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献