CN111247818A - 路径选择的方法和ble设备 - Google Patents
路径选择的方法和ble设备 Download PDFInfo
- Publication number
- CN111247818A CN111247818A CN201980005133.9A CN201980005133A CN111247818A CN 111247818 A CN111247818 A CN 111247818A CN 201980005133 A CN201980005133 A CN 201980005133A CN 111247818 A CN111247818 A CN 111247818A
- Authority
- CN
- China
- Prior art keywords
- node
- packet
- path
- mesh network
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010187 selection method Methods 0.000 title abstract description 6
- 238000001514 detection method Methods 0.000 claims abstract description 152
- 238000000034 method Methods 0.000 claims abstract description 96
- 230000004044 response Effects 0.000 claims abstract description 87
- 230000005540 biological transmission Effects 0.000 claims abstract description 52
- 238000004590 computer program Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 27
- 238000003860 storage Methods 0.000 claims description 13
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000523 sample Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/80—Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供一种路径选择的方法,能够减少MESH网络中节点之间的不必要的数据传输。所述方法应用于低功耗蓝牙BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:所述MESH网络中的第二节点接收来自所述MESH网络中的第一节点的至少一个侦测包,其中,每个侦测包通过至少一个路径达到所述第二节点,所述至少一个路径中的每个路径上传输的侦测包中包括所述每个路径上的节点的地址;所述第二节点根据所述至少一个侦测包,确定最优路径;所述第二节点发送响应于所述第一节点的第一应答包,其中,所述第一应答包中包括所述最优路径上的各个节点的地址。
Description
技术领域
本申请实施例涉及信息技术领域,并且更具体地,涉及一种路径选择的方法和BLE设备。
背景技术
低功耗蓝牙(Bluetooth Low Energy,BLE)的MESH网络中包括大量节点,在进行数据传输时,该网络中的所有节点均对数据进行转发,节点之间的数据会传递到整个MESH网络。这就可能导致一种情况,源节点和目标节点之间的数据传输已经完成,但是该数据仍然在MESH网络的其他节点之间进行传输。这些不必要的传输不仅使网络环境更为复杂,也浪费了节点资源。
发明内容
本申请实施例提供一种路径选择的方法和BLE设备,能够减少MESH网络中节点之间的不必要的数据传输。
第一方面,提供了一种路径选择的方法,所述方法应用于BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:所述MESH网络中的第二节点接收来自所述MESH网络中的第一节点的至少一个侦测包,其中,每个侦测包通过至少一个路径达到所述第二节点,所述至少一个路径中的每个路径上传输的侦测包中包括所述每个路径上的节点的地址;所述第二节点根据所述至少一个侦测包,确定最优路径;所述第二节点发送响应于所述第一节点的第一应答包,其中,所述第一应答包中包括所述最优路径上的各个节点的地址。
在一种可能的实现方式中,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
在一种可能的实现方式中,所述第二节点根据所述至少一个侦测包,确定最优路径,包括:所述第二节点根据每个侦测包从所述至少一个路径分别传输至所述第二节点所经过的传输时间和/或节点数量,在所述至少一个路径中确定所述每个侦测包对应的候选路径;所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径。
在一种可能的实现方式中,所述第二节点在所述至少一个路径中确定所述每个侦测包对应的候选路径,包括:所述第二节点在所述至少一个路径中,选择传输时间最短的M个侦测包;所述第二节点在所述M个侦测包中,选择经过节点数量最少的K个侦测包,M和K为正整数且K<M;所述第二节点将所述K个侦测包所经过的路径,作为所述每个侦测包对应的候选路径。
在一种可能的实现方式中,所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径,包括:所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,选择出现概率最高的候选路径作为所述最优路径。
在一种可能的实现方式中,所述方法还包括:在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径的备选路径,其中,所述备选路径是所述至少一个候选路径中与所述最优路径之间重叠节点的数量最少的路径。
在一种可能的实现方式中,所述第一应答包中还包括所述备选路径上的各个节点的地址。
在一种可能的实现方式中,所述方法还包括:所述第二节点接收来自所述第一节点的多个更新包;分别响应于所述多个更新包,所述第二节点通过所述最优路径,向所述第一节点发送多个第二应答包,其中,所述第二应答包的接收时间和/或接收数量,用于所述第一节点确定是否更新所述最优路径。
第二方面,提供了一种路径选择的方法,所述方法应用于低功耗蓝牙BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:所述MESH网络中的第三节点接收从所述MESH网络中的第一节点至所述MESH网络中的第二节点的至少一个侦测包;所述第三节点在所述至少一个侦测包中,添加所述第三节点的地址;所述第三节点转发所述至少一个侦测包,所述至少一个侦测包用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径。
在一种可能的实现方式中,所述方法还包括:所述第三节点接收从所述第二节点至所述第一节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址;若所述第一应答包中包括所述第三节点的地址,则所述第三节点将所述第一节点和所述第二节点的地址作为地址对,添加至所述第三节点的白名单中;和/或,若所述第一应答包中不包括所述第三节点的地址,则所述第三节点将所述地址对,添加至所述第三节点的黑名单中;所述第三节点转发所述第一应答包。
在一种可能的实现方式中,所述方法还包括:所述第三节点接收从所述第一节点至所述第二节点的数据包;所述第三节点根据所述白名单和/或所述黑名单,确定是否转发所述数据包。
在一种可能的实现方式中,所述第三节点根据所述白名单和/或所述黑名单,确定是否转发所述数据包,包括:若所述地址对位于所述白名单中,所述第三节点转发所述数据包;和/或,若所述地址对位于所述黑名单中,所述第三节点不转发所述数据包。
第三方面,提供了一种路径选择的方法,所述方法应用于BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:所述MESH网络中的第一节点通过所述MESH网络,向所述MESH网络中的第二节点发送至少一个侦测包,其中,所述至少一个侦测包用于记录各自经过的路径上的节点的地址,以用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径;所述第一节点接收来自所述第二节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址。
在一种可能的实现方式中,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
在一种可能的实现方式中,所述方法还包括:所述第一节点在预定时长内没有检测到所述最优路径上的节点发出的心跳包时,通过所述最优路径,向所述第二节点发送多个更新包;所述第一节点接收来自所述第二节点的分别响应于所述多个更新包的多个第二应答包;所述第一节点根据所述第二应答包的接收时间和/或接收数量,确定是否更新所述最优路径。
在一种可能的实现方式中,所述方法还包括:所述第一节点根据所述MESH网络中的节点数量的变化,确定是否更新所述最优路径。
第四方面,提供了一种BLE设备,包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的功能模块。
第五方面,提供了一种BLE设备,包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的功能模块。
第六方面,提供了一种BLE设备,包括用于执行第三方面或第三方面的任意可能的实现方式中的方法的功能模块。
第七方面,提供了一种BLE芯片,所述BLE芯片包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,提供了一种BLE芯片,所述BLE芯片包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,提供了一种BLE芯片,所述BLE芯片包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第三方面或第三方面的任意可能的实现方式中的方法。
第十方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序。其中,当所述计算机程序被处理器执行时,使得所述处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第十一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序。其中,当所述计算机程序被处理器执行时,使得所述处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第十二方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序。其中,当所述计算机程序被处理器执行时,使得所述处理器执行第三方面或第三方面的任意可能的实现方式中的方法。
第十三方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。
第十四方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第二方面或第二方面的任意可能的实现方式中的方法。
第十五方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第三方面或第三方面的任意可能的实现方式中的方法。
基于上述技术方案,利用从第一节点至第二节点的侦测包,记录该侦测包所经过的各个路径上的节点的地址,以用于第二节点在这些路径中选择最优路径。第一节点与第二节点之间进行后续的数据包传输时,可以仅通过该最优路径上的节点传输该数据包,而其余节点不传输该数据包。因此,该方法能够减少MESH网络中节点之间的不必要的数据传输,节省了节点资源。
附图说明
图1是MESH网络的示意图。
图2是本申请实施例的路径选择的方法的流程交互图。
图3是第三节点对侦测包的处理过程的示意图。
图4是第三节点建立白名单和黑名单的示意性流程图。
图5是基于图2所示的方法的一种可能的实现方式的示意图。
图6是本申请实施例的BLE设备的示意性框图。
图7是本申请实施例的BLE设备的示意性框图。
图8是本申请实施例的BLE设备的示意性框图。
图9是本申请实施例的BLE芯片的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1是一种可能的MESH网络的示意图。MESH网络可以认为是一种基于网络拓扑类型的无线通信系统。该MESH网络中包括多个设备,每个设备可以称为一个节点(node)。每个节点都可以进行数据传输。数据包可以在各个节点之间被中继,从而使该数据包传输至距离更远的位置。在实际应用中,这些节点可以被分布在制造工厂、办公楼、购物中心、商业园区、家庭以及其他环境中。该MESH网络中可以包括任意数量的节点,图1中仅以节点A至节点H、以及节点Z为例。在MESH网络中,数据包基于广播(advertising)的方式进行传输。每个节点接收另一节点发送的数据包后,对该数据包进行转发,从而将该数据包转发给附近其他节点。
例如,节点A向节点Z发送的数据包可以经过至少一次中继达到节点Z。其中,节点B接收到节点A发送的数据包后,可以将该数据包转发给节点C和节点D;节点E接收到该数据包后,可以将该数据包分别转发给节点D、节点F、节点G和节点H;节点F接收到该数据包后,可以将该数据包转发给节点E和节点G;节点C、节点D节点G节点H接收到该数据包时,可以向附近节点进一步转发,最终使该数据包到达节点Z。可见,节点A向节点Z发送的数据包可以经过至少一个路径达到节点Z,每个路径上包括的节点不完全相同,因此数据包从节点A通过不同路径传输至节点Z时,所经过的节点数量不同,所需要的传输时间也可能不同。这样,节点A和节点B之间的数据传输已经通过某个路径传输完成时,该数据仍然可能在MESH网络的其他节点之间进行传输。这些不必要的传输不仅使网络环境更为复杂,也浪费了节点资源。
这里,节点A可以称为源节点,节点Z可以称为目标节点,其他用于中继的节点称为中继节点。
图2是本申请实施例的路径选择的方法的流程交互图。该方法200应用于BLE的MESH网络中,该MESH网络中可以包括多个节点。图2中所示的方法200可以由MESH网络中的第一节点、第二节点、以及第三节点执行。其中,针对第一节点与第二节点之间的数据传输而言,该第一节点为源节点,第二节点为目标节点,第三节点为中继节点。图2中仅以一个中继节点,即第三节点为例进行描述,该MESH网络中的其他中继节点的相关操作与第三节点相同,可以参考以下针对第三节点的相关描述。如图2所示,该方法200可以包括以下步骤中的部分或全部。
在210中,第一节点通过所述MESH网络,向第二节点发送至少一个侦测包。
其中,该至少一个侦测包用于记录各自经过的路径上的节点的地址。
在220中,第三节点接收从第一节点至第二节点的至少一个侦测包。
在230中,第三节点在该至少一个侦测包中,添加第三节点的地址。
在240中,第三节点转发该至少一个侦测包。
在250中,第二节点接收来自第一节点的至少一个侦测包。
其中,每个侦测包通过至少一个路径达到所述第二节点,该至少一个路径中的每个路径上传输的侦测包中包括每个路径上的节点的地址。
在260中,第二节点根据该至少一个侦测包,确定最优路径。
在270中,第二节点发送响应于第一节点的第一应答包。
其中,该第一应答包中包括该最优路径上的各个节点的地址。
在280中,第一节点接收来自第二节点的该第一应答包。
该实施例中,第一节点可以向第二节点发送至少一个侦测包,接收到侦测包的第三节点会将自己的地址添加至该侦测包后再进行转发。每个侦测包可以通过至少一个路径达到第二节点,其中每个路径上的该侦测包中会携带其经过的该路径上的节点的地址。这样,第二节点就可以根据从不同路径传输过来的侦测包,确定第一节点与第二节点之间可能的路径,从而在这些路径中选择最优路径用于后续的数据传输。第二节点可以通过第一应答包,将其选择的最优路径告知MESH网络中的其他节点。
应理解,上述的至少一个侦测包可以是一个侦测包,也可以包括多个侦测包。当为多个侦测包时,其中每个侦测包具有各自的序号。
一个侦测包在该MESH网络中进行转发时,可能多次到达第三节点。但是第三节点仅在该侦测包中添加一次自己的地址即可。第三节点可以在第一次接收到该侦测包时,在该侦测包中添加自己的地址,而后续接收到该侦测包时不再添加其地址。例如图3所示,第三节点接收到某个侦测包后,判断该侦测包中是否已经包括了第三节点的地址,如果该侦测包中包括第三节点的地址,第三节点不用再次添加其地址,而是直接转发该侦测包。如果该侦测包中不包括第三节点的地址,说明该侦测包是第一次达到第三节点,则第三节点在该侦测包中添加自己的地址之后再转发出去。
在执行图2所示的方法之前,可选地,第一节点还可以向MESH网络中的各个节点发送一个路径优化消息,该路径优化消息用于指示MESH网络中的各个节点进入路径优化模式,当所有节点进入路径优化模式后,各个节点不主动转发其他消息,而仅转发侦测包。该侦测包可以具有特定的格式,以用于各个节点识别该侦测包。
进一步地,该第一应答包用于MESH网络中接收到该第一应答包的节点,建立各自的白名单和/或黑名单,该白名单和该黑名单用于确定是否转发第一节点与第二节点之间的数据包。
下面以第三节点为例,对该白名单和该黑名单的建立过程进行详细说明。
可选地,在步骤270中,如图4所示,第三节点具体可以执行步骤271至步骤274。
在271中,第三节点接收从第二节点至第一节点的第一应答包。
其中,该第一应答包中包括最优路径上的各个节点的地址。
在272中,若第一应答包中包括第三节点的地址,则第三节点将第一节点和第二节点的地址作为地址对,添加至第三节点的白名单中。
在273中,若第一应答包中不包括第三节点的地址,则第三节点将第一节点和第二节点的地址作为地址对,添加至第三节点的黑名单中。
在274中,第三节点转发该第一应答包。
其他接收到该第一应答包的节点可以采用相同的方法,建立自己的白名单和黑名单。
在建立了自己的黑名单和白名单后,第三节点后续如果接收到从第一节点至第二节点的数据包,则可以根据自己的白名单和/或黑名单,确定是否转发该数据包。
例如,若由第一节点的地址和第二节点的地址组成的该地址对,位于该白名单中,则第三节点转发该数据包;若该地址对位于该黑名单中,第三节点不转发该数据包。
第二节点发送的第一应答包中仅包括了最优路径上的各个节点的地址,因此由第一节点的地址和第二节点的地址组成的该地址对,仅会被最优路径上的各个节点添加至其白名单中,而被非最优路径上的各个节点添加至其黑名单中。这样,第一节点通过MESH向第二节点发送数据包时,只有最优路径上的那些节点会转发该数据包,而不在该最优路径上的节点不会转发该数据包。也就是说,不在最优路径上的那些节点会过滤掉该数据包而不进行转发,不仅节省了功耗,也减少了MESH网络中各个节点之间不必要的数据转发,降低了广播风暴,使第一节点至第二节点之间的传输更加稳定和高效,并且节省了MESH网络中的节点资源。
应理解,上述步骤272和步骤273可以同时存在,即,接收到第一应答包的节点可以同时建立黑名单和白名单;或者,这些节点也可以只建立黑名单或者只建立白名单。
例如,第三节点在接收到第一应答包后,若该第一应答包中包括第三节点的地址,则第三节点将第一节点和第二节点的地址作为地址对,添加至第三节点的白名单中。若第一应答包中不包括第三节点的地址,则第三节点直接将该第一应答包转发出去,而不做相关处理。之后,如果第三节点接收到从第一节点至第二节点的数据包,会判断该数据包是否在其白名单中,如果在白名单中,则转发该数据包,如果不在该白名单中,则不转发该数据包。
又例如,第三节点在接收到第一应答包后,若该第一应答包中不包括第三节点的地址,则第三节点将第一节点和第二节点的地址作为地址对,添加至第三节点的黑名单中。若第一应答包中包括第三节点的地址,则第三节点直接将该第一应答包转发出去,而不做相关处理。之后,如果第三节点接收到从第一节点至第二节点的数据包,会判断该数据包是否在其黑名单中,如果在黑名单中,则不转发该数据包,如果不在该黑名单中,则转发该数据包。
第三节点的白名单和黑名单可以用于第一节点与第二节点之间的数据包传输。在一种情况下,对于从第一节点向第二节点发送的数据包,以及从第二节点向第一节点发送的数据包,第三节点均可以使用该白名单和黑名单判断是否对数据包进行转发。
在另一种情况下,第一节点向第二节点发送侦测包时所确定的最优路径,与第二节点向第一节点发送侦测包时所确定的最优路径,可能不同。这时,第三节点的白名单和黑名单仅用于从第一节点至第二节点的数据包。第三节点可以将第一节点与第二节点的地址作为地址对,并根据相应的传输方向添加至合适的名单中。例如,该地址对对应的传输方向是从第一节点至第二节点,则可能被添加至白名单中,而该地址对对应的传输方向是从第二节点至第一节点,则可能被添加至黑名单中。那么,第三节点仅转发从第一节点向第二节点发送的数据包,而不转发从第二节点向第一节点发送的数据包。
下面具体描述步骤260中的第二节点如何根据第一节点发送的至少一个侦测包,确定最优路径。
可选地,步骤260可以包括步骤261和步骤262。
在261中,第二节点在每个侦测包所经过的至少一个路径中,确定所述每个侦测包对应的候选路径。
例如,第二节点根据每个侦测包从该至少一个路径分别传输至所述第二节点所经过的传输时间和/或节点数量,在该至少一个路径中确定每个侦测包对应的候选路径。
在262中,第二节点在该至少一个侦测包对应的至少一个候选路径中,确定该最优路径。
该实施例中,针对第一节点发送的每一个侦测包,都可以经过至少一个路径传输至第二节点。第二节点在判断最优路径时,考虑了该侦测包在不同路径上的传输时间和/或不同路径上的节点数量。第二节点可以将传输时间较短和/或节点数量较少的一个或多个路径,作为该侦测包对应的候选路径。当第一节点发送多个侦测包例如编号1至N的N个侦测包时,第二节点根据每个侦测包都可以确定出其对应的候选路径,因此这N个侦测包都具有各自对应的候选路径。最后,第二节点在这N个侦测包各自对应的候选路径中,选择最优路径。
在步骤261中,针对每个侦测包,第二节点可以根据该侦测包所经过的至少一个路径上的传输时间,或者根据该至少一个路径上的节点数量,在该至少一个路径中,选择该侦测包对应的候选路径。
或者,第二节点也可以综合考虑该传输时间和该节点数量,选择每个侦测包对应的候选路径。
例如,第二节点可以先在该至少一个路径中选择传输时间最短的M个侦测包,再在这M个侦测包中选择经过节点数量最少的K个侦测包,并将这K个侦测包所经过的路径,作为每个侦测包对应的候选路径。
又例如,第二节点可以先在该至少一个路径中选择经过节点数量最少的M个侦测包,再在这M个侦测包中选择传输时间最短的K个侦测包,并将这K个侦测包所经过的路径,作为每个侦测包对应的候选路径。
其中,M和K为正整数,且K<M。
一条路径的传输时间可能受到多种因素的影响。通常,节点数量较少的路径的传输时间较短。但是,在一些情况下,该路径的传输时间也受到该路径上的各个节点的性能的影响。例如,如果该路径上的某个节点扫描或处理侦测包的速度很慢,那么该节点可能会导致该路径的传输时间加长,这时,即使该路径上的节点数量较少,也可能导致其传输时间较长;如果该路径上的某个节点扫描或处理侦测包的速度明显高于其他路径上的节点,那么该节点可以明显缩短该路径的传输时间,这时,即使该路径上的节点数量较多,也可能使传输时间很短。
应理解,在步骤262中,所述的至少一个侦测包的数量,与所述的至少一个候选路径的数量可以相等,也可以不相等。第二节点针对每个侦测包,可以在其经过的各个路径中仅选择一个候选路径,也可以选择多个候选路径。因此,至少一个侦测包对应的至少一个候选路径的数量,可以大于或者等于该至少一个侦测包的数量。
另外,在步骤262中,第二节点确定的最优路径可以是一个,也可以是多个。当第二节点确定了一个最优路径时,第二节点向MESH网络中的各个节点发送的第一应答包中,包括该最优路径中各个节点的地址。而第二节点确定了多个最优路径时,该第一应答包中包括这多个最优路径中每个最优路径上的节点。
当第二节点确定了每个侦测包对应的候选路径后,在这些侦测包各自对应的候选路径中,确定最优路径。可选地,在步骤262中,第二节点可以在该至少一个侦测包对应的至少一个候选路径中,选择出现概率最高的候选路径作为最优路径。
若第一节点仅发送一个侦测包时,该侦测包对应的候选路径即为该最优路径。考虑到MESH网络中各个节点可能存在的不稳定性,基于一个侦测包所选择出来的最优路径可能不可靠。因此,第一节点可以发送多个侦测包例如编号1至N的N个侦测包,这时,第二节点可以根据每个侦测包,确定该侦测包对应的候选路径,从而在多个侦测包各自对应的候选路径中,选择出现概率最高的候选路径作为该最优路径。出现概率越高的候选路径越可靠。这样可以极大地提高所选择出来的最优路径的可靠性。
进一步地,可选地,所述第二节点还可以在该至少一个侦测包对应的至少一个候选路径中,确定最优路径的备选路径。
其中,备选路径例如可以是该至少一个候选路径中与最优路径之间重叠节点的数量最少的路径。其中,与最优路径之间重叠节点的数量为0,表示与最优路径之间没有重叠节点。
这时,第一应答包中还包括备选路径上的各个节点的地址。
当最优路径中的某些节点无法正常工作时,最优路径将无法使用。这时,可以通过备选路径传输第一节点和第二节点之间的数据包,从而提高了第一节点和第二节点之间的数据包传输的可靠性。
下面以图5为例,详细描述本申请实施例所述的路径选择方法的一种可能的实现方式。如图5所示,假设MESH网络中包括节点A至节点H以及节点Z。现在需要确定节点A至节点Z之间的最优路径。节点A为前述的第一节点,节点Z为前述的第二节点,节点B至节点H为前述的第三节点。图5中的各个节点加入MESH网络并组网成功之后,执行以下路径选择流程:
501、节点A发送路径选择消息,以指示其他节点进入路径选择模式。
502、节点A依次发送序号1至序号N的N个侦测包,至节点Z。
503、节点B至节点H接收到每个序号的侦测包后,判断该序号的侦测包中是否包括自己的地址。
如果该序号的侦测包中包括自己的地址,则直接转发该序号的侦测包;如果该序号的侦测包中不包括自己的地址,则在该序号的侦测包中添加自己的地址后再将其转发出去。
504、节点Z接收到序号1至序号N的N个侦测包。
其中,每个序号的侦测包都可以通过至少一个路径达到节点Z。
505、节点Z确定每个序号的侦测包对应的候选路径。
以1号侦测包为例,假设1号侦测包经过8条路径从节点A达到节点Z。这8条路径例如表一所示。表一中的路径1至路径8按照侦测包的到达顺序的先后,从上至下依次排列。
表一
1号侦测包所经过的路径 | 路径上的节点 |
路径1 | 节点A→节点B→节点C→节点Z |
路径2 | 节点A→节点B→节点D→节点Z |
路径3 | 节点A→节点B→节点D→节点C→节点Z |
路径4 | 节点A→节点E→节点D→节点Z |
路径5 | 节点A→节点E→节点H→节点Z |
路径6 | 节点A→节点E→节点D→节点H→节点Z |
路径7 | 节点A→节点E→节点G→节点H→节点Z |
路径8 | 节点A→节点F→节点G→节点H→节点Z |
节点Z通过上述8条路径接收到1号侦测包后,在其中选择1号侦测包对应的候选路径。具体地,节点Z可以在这8条路径中,先选择传输时间最短的6条路径,即最先接收到的6条路径,这里为路径1至路径6。其次,节点Z在这6条路径中,从上至下依次选择包含节点数量最少的2条路径,这里为路径1和路径2。因此,1号侦测包对应的候选路径即为路径1和路径2。
对于序号2至序号N的侦测包,节点Z采用相同的方式确定其对应的候选路径。这里是以每个序号的侦测包对应2条候选路径为例进行描述,在实际应用中可以根据MESH网络中的节点数量和节点特性等,为每个序号的侦测包选择其他数量的候选路径。
假设节点Z针对这N个侦测包所选择出来的候选路径如表二所示。
表二
侦测包 | 候选路径 |
1号侦测包 | 路径1、路径2 |
2号侦测包 | 路径2、路径4 |
3号侦测包 | 路径1、路径2 |
…… | …… |
N-1号侦测包 | 路径2、路径9 |
N号侦测包 | 路径1、路径5 |
506、节点Z在N个侦测包对应的候选路径中,选择最优路径。
若节点Z可以选择两个最优路径,那么,节点Z可以在表二中选择出现概率最高的两个候选路径作为最优路径,这里假设表二中出现概率最高的两个候选路径为路径1和路径2,则节点Z最终选择的节点A至节点Z的最优路径为路径1和路径2,如图5所示。
节点Z还可以在表二所示的候选路径中选择一个备选路径,该备选路径与路径1和路径2最好包括不同的节点,以避免路径1和路径2中的节点故障时,同时影响最优路径和备选路径的使用。假设节点Z选择了路径5作为备选路径。路径5中的节点E和节点H,与路径1和路径2中的节点B、节点C和节点D都不重叠。为了简洁,以下步骤的描述中均不考虑备选路径。备选路径的使用方式可以参考最优路径的使用方式。
507、节点Z生成第一应答包,并向MESH网络中的各个节点发送第一应答包。
其中,该第一应答包中包括最优路径上的节点的地址,即节点B、节点C和节点D的地址。
508、节点B至节点H接收到该第一应答包后,建立各自的白名单和黑名单,并转发该第一应答包。
以节点C为例,节点C接收到第一应答包后,发现第一应答包中包括自己的地址,那么,节点C可以将节点A和节点Z的地址作为一个地址对,添加在自己的白名单中。
以节点G为例,节点G接收到第一应答包后,发现第一应答包中没有包括自己的地址,那么,节点G可以将节点A和节点Z的地址作为一个地址对,添加在自己的黑名单中。
这样,节点A和节点Z的地址所组成的地址对,会被节点B、节点C和节点D添加至白名单中,而被其他节点添加至黑名单中。
509、节点A接收到第一应答包后,发送确认消息给节点Z。
510、节点Z接收到该确认消息,路径选择流程结束。
511、节点A向MESH网络中的各个节点发送路径选择完成消息,以指示这些节点退出路径选择模式。
之后,这些节点可以根据各自的白名单和黑名单执行节点A至节点Z之间的数据包的转发。
可以看出,此后节点A在向节点Z发送数据包时,只有节点B、节点C和节点D会对该数据包进行转发,而其他节点不会对该数据包进行转发。这就避免了节点之间不必要的数据传输,明显降低了网络风暴,节省了节点资源。
考虑到网络环境可能发生变化,因此可以对该最优路径进行更新。第一节点可以根据最优路径是否可靠、路径传输时延是否增大、MESH网络中是否增减节点等因素,判断是否需要更新该最优路径。
例如,第一节点可以检测该最优路径上的各个节点发出的心跳包(heartbeat),如果在预定时长内没有检测到最优路径上的某个或某些节点发出的心跳包,第一节点可以通过该最优路径,向第二节点发送多个更新包。第二节点接收到来自第一节点的多个更新包后,通过该最优路径,向第一节点发送分别响应于多个更新包的多个第二应答包。第一节点接收来自第二节点的第二应答包,并根据第二应答包的接收时间和/或接收数量,确定是否更新该最优路径。
假设第一节点发送了P个更新包。第一节点接收到了第二应答包,则说明该最优路径依然有效。而如果第一节点没有接收到任何第二应答包,或者第一节点接收到的第二应答包的数量低于预定比例,则说明有一定程度的丢包情况发生,那么该路径的可靠性降低,可以对该最优路径进行更新。相反,如果第一节点接收到了全部P个第二应答包,或者第一节点接收到的第二应答包的数量高于预定比例,则说明该最优路径依然可靠,不需要进行更新。
第一节点也可以考虑最优路径的传输时延,如果第一节点在时延要求内没有接收到第二应答包,或者在时延要求内没有接收到预定比例的第二应答包,则对该最优路径进行更新。
又例如,第一节点也可以根据MESH网络中的节点数量的变化,确定是否更新所述最优路径。
当有新的节点加入该MESH网络,或者有节点离开该MESH网络时,第一节点可以判断是否更新该最优路径。比如有新的节点加入MESH网络时,第一节点可以考虑更新该最优路径。又比如,节点数量发生变化后,通过前述方式确定最优路径的可靠性和时延是否受到影响,如果受到影响,则更新该最优路径。
此外,第一节点也可以通过其他方式对最优路径进行更新,例如按照一定的时间周期对该最优路径进行更新。
第一节点确定更新最优路径后,可以向MESH网络中的各个节点发送路径解除消息,以指示接收到该路径解除消息的各个节点从自己的白名单和黑名单中删除第一节点和第二节点所组成的地址对。之后重新按照本申请实施例所述的方法选择新的最优路径即可。
在本申请实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
并且,在不冲突的前提下,本申请描述的各个实施例和/或各个实施例中的技术特征可以任意的相互组合,组合之后得到的技术方案也应落入本申请的保护范围。
上文中详细描述了根据本申请实施例的数据传输的方法,下面将结合图6至图9,描述根据本申请实施例的装置,方法实施例所描述的技术特征适用于以下装置实施例。
图6是根据本申请实施例的BLE设备600的示意性框图。如图6所示,BLE设备600为BLE的MESH网络中的第二节点,所述MESH网络中包括多个节点,BLE设备600包括:
收发单元610,用于接收来自所述MESH网络中的第一节点的至少一个侦测包,其中,每个侦测包通过至少一个路径达到所述第二节点,所述至少一个路径中的每个路径上传输的侦测包中包括所述每个路径上的节点的地址;
处理单元620,用于根据所述至少一个侦测包,确定最优路径;
收发单元610还用于,发送响应于所述第一节点的第一应答包,其中,所述第一应答包中包括所述最优路径上的各个节点的地址。
因此,第二节点接收到来自第一节点的侦测包时,由于侦测包中包括该侦测包所经过的路径上的节点的地址,因此第二节点可以根据从不同路径传输过来的侦测包,确定第一节点与第二节点之间可能的路径,从而在这些路径中选择最优路径用于后续的数据传输。第一节点与第二节点之间进行后续的数据传输时,可以仅通过该最优路径上的节点传输数据包,而其余节点可以不传输数据包。这样能够减少MESH网络中节点之间的不必要的数据传输,并节省节点资源。
可选地,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
可选地,处理单元620具体用于:根据每个侦测包从所述至少一个路径分别传输至所述第二节点所经过的传输时间和/或节点数量,在所述至少一个路径中确定所述每个侦测包对应的候选路径;在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径。
可选地,处理单元620具体用于:在所述至少一个路径中,选择传输时间最短的M个侦测包;在所述M个侦测包中,选择经过节点数量最少的K个侦测包,M和K为正整数且K<M;将所述K个侦测包所经过的路径,作为所述每个侦测包对应的候选路径。
可选地,处理单元620具体用于:在所述至少一个侦测包对应的至少一个候选路径中,选择出现概率最高的候选路径作为所述最优路径。
可选地,处理单元620还用于:在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径的备选路径,其中,所述备选路径是所述至少一个候选路径中与所述最优路径之间重叠节点的数量最少的路径。
可选地,所述第一应答包中还包括所述备选路径上的各个节点的地址。
可选地,收发单元610还用于:接收来自所述第一节点的多个更新包;分别响应于所述多个更新包,通过所述最优路径向所述第一节点发送多个第二应答包,其中,所述第二应答包的接收时间和/或接收数量,用于所述第一节点确定是否更新所述最优路径。
应理解,节点600可以执行上述方法实施例中由第二节点执行的相应操作,为了简洁,在此不再赘述。
图7是根据本申请实施例的BLE设备700的示意性框图。如图7所示,所述BLE设备700为BLE的MESH网络中的第三节点,所述MESH网络中包括多个节点,BLE设备700包括:
收发单元710,用于接收从所述MESH网络中的第一节点至所述MESH网络中的第二节点的至少一个侦测包;
处理单元720,用于在所述至少一个侦测包中,添加所述第三节点的地址;
收发单元710还用于,转发所述至少一个侦测包,所述至少一个侦测包用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径。
因此,第三节点在接收到从第一节点至第二节点的侦测包时,通过在该侦测包中加入自己的地址,以使第二节点可以根据从不同路径传输过来的侦测包,确定第一节点与第二节点之间可能的路径,从而在这些路径中选择最优路径用于后续的数据传输。这样能够减少MESH网络中节点之间的不必要的数据传输,并节省节点资源。
可选地,收发单元710还用于:接收从所述第二节点至所述第一节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址;处理单元720还用于:若所述第一应答包中包括所述第三节点的地址,则将所述第一节点和所述第二节点的地址作为地址对,添加至所述第三节点的白名单中;和/或,若所述第一应答包中不包括所述第三节点的地址,则将所述地址对,添加至所述第三节点的黑名单中;收发单元710还用于:转发所述第一应答包。
可选地,收发单元710还用于:接收从所述第一节点至所述第二节点的数据包;处理单元720还用于:根据所述白名单和/或所述黑名单,确定是否转发所述数据包。
可选地,收发单元710具体用于:若所述地址对位于所述白名单中,转发所述数据包;和/或,若所述地址对位于所述黑名单中,不转发所述数据包。
应理解,BLE设备700可以执行上述方法实施例中由第三节点执行的相应操作,为了简洁,在此不再赘述。
图8是根据本申请实施例的BLE设备800的示意性框图。如图8所示,BLE设备800为BLE的MESH网络中的第一节点,所述MESH网络中包括多个节点,BLE设备800包括:
收发单元810,用于通过所述MESH网络,向所述MESH网络中的第二节点发送至少一个侦测包,其中,所述至少一个侦测包用于记录各自经过的路径上的节点的地址,以用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径;
收发单元810还用于,接收来自所述第二节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址。
因此,第一节点通过向第二节点发送侦测包,该侦测包用于记录从所述第一节点至所述第二节点之间的各个路径上的节点的地址,以便第二节点可以根据接收到的从不同路径传输过来的侦测包,确定第一节点与第二节点之间可能的路径,从而在这些路径中选择最优路径用于后续的数据传输。第一节点与第二节点之间进行后续的数据传输时,可以仅通过该最优路径上的节点传输数据包,而其余节点可以不传输数据包。这样能够减少MESH网络中节点之间的不必要的数据传输,并节省节点资源。
可选地,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
可选地,BLE设备800还包括处理单元820,其中,收发单元810还用于:在预定时长内没有检测到所述最优路径上的节点发出的心跳包时,通过所述最优路径向所述第二节点发送多个更新包;接收来自所述第二节点的分别响应于所述多个更新包的多个第二应答包;所述处理单元820用于,根据所述第二应答包的接收时间和/或接收数量,确定是否更新所述最优路径。
可选地,BLE设备800还包括处理单元820,处理单元820用于:根据所述MESH网络中的节点数量的变化,确定是否更新所述最优路径。
应理解,BLE设备800可以执行上述方法实施例中由第一节点执行的相应操作,为了简洁,在此不再赘述。
图9是本申请实施例的一种BLE芯片900的示意性结构图。图9所示的BLE芯片900包括处理器910、存储器920、以及收发器930。
其中,处理器910可以从存储器920中调用并运行计算机程序,以实现本申请实施例中的方法。处理器910可以控制收发器930与其他节点之间进行通信,具体地,可以向其他节点发送数据,或接收其他节点发送的信息或数据。
收发器930可以包括输入接口931和输出接口932。处理器910可以控制输入接口931和输出接口932与其他设备或BLE芯片之间进行通信,从而获取其他设备或芯片发送的信息或数据,或者向其他设备或芯片输出信息或数据。
可选地,BLE芯片900具体可为本申请实施例的第一节点,并且BLE芯片900可以实现本申请实施例的各个方法中由第一节点实现的相应流程,为了简洁,在此不再赘述。
可选地,BLE芯片900具体可为本申请实施例的第二节点,并且BLE芯片900可以实现本申请实施例的各个方法中由第二节点实现的相应流程,为了简洁,在此不再赘述。
可选地,BLE芯片900具体可为本申请实施例的第三节点,并且BLE芯片900可以实现本申请实施例的各个方法中由第三节点实现的相应流程,为了简洁,在此不再赘述。
上述的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于本申请实施例中的BLE设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由第一节点、第二节点或者第三节点实现的相应流程,为了简洁,不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。该计算机程序产品可应用于本申请实施例中的BLE设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由第一节点、第二节点或者第三节点实现的相应流程,为了简洁,在此不再赘述。
本发明实施例中的术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本发明实施例中,“与A相应(对应)的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形均落在本申请的保护范围内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (38)
1.一种路径选择的方法,其特征在于,所述方法应用于低功耗蓝牙BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:
所述MESH网络中的第二节点接收来自所述MESH网络中的第一节点的至少一个侦测包,其中,每个侦测包通过至少一个路径达到所述第二节点,所述至少一个路径中的每个路径上传输的侦测包中包括所述每个路径上的节点的地址;
所述第二节点根据所述至少一个侦测包,确定最优路径;
所述第二节点发送响应于所述第一节点的第一应答包,其中,所述第一应答包中包括所述最优路径上的各个节点的地址。
2.根据权利要求1所述的方法,其特征在于,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述第二节点根据所述至少一个侦测包,确定最优路径,包括:
所述第二节点根据每个侦测包从所述至少一个路径分别传输至所述第二节点所经过的传输时间和/或节点数量,在所述至少一个路径中确定所述每个侦测包对应的候选路径;
所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径。
4.根据权利要求3所述的方法,其特征在于,所述第二节点在所述至少一个路径中确定所述每个侦测包对应的候选路径,包括:
所述第二节点在所述至少一个路径中,选择传输时间最短的M个侦测包;
所述第二节点在所述M个侦测包中,选择经过节点数量最少的K个侦测包,M和K为正整数且K<M;
所述第二节点将所述K个侦测包所经过的路径,作为所述每个侦测包对应的候选路径。
5.根据权利要求3或4所述的方法,其特征在于,所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径,包括:
所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,选择出现概率最高的候选路径作为所述最优路径。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
所述第二节点在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径的备选路径,其中,所述备选路径是所述至少一个候选路径中与所述最优路径之间重叠节点的数量最少的路径。
7.根据权利要求6所述的方法,其特征在于,所述第一应答包中还包括所述备选路径上的各个节点的地址。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
所述第二节点接收来自所述第一节点的多个更新包;
分别响应于所述多个更新包,所述第二节点通过所述最优路径向所述第一节点发送多个第二应答包,其中,所述第二应答包的接收时间和/或接收数量,用于所述第一节点确定是否更新所述最优路径。
9.一种路径选择的方法,其特征在于,所述方法应用于低功耗蓝牙BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:
所述MESH网络中的第三节点接收从所述MESH网络中的第一节点至所述MESH网络中的第二节点的至少一个侦测包;
所述第三节点在所述至少一个侦测包中,添加所述第三节点的地址;
所述第三节点转发所述至少一个侦测包,所述至少一个侦测包用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
所述第三节点接收从所述第二节点至所述第一节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址;
若所述第一应答包中包括所述第三节点的地址,则所述第三节点将所述第一节点和所述第二节点的地址作为地址对,添加至所述第三节点的白名单中;和/或,若所述第一应答包中不包括所述第三节点的地址,则所述第三节点将所述地址对,添加至所述第三节点的黑名单中;
所述第三节点转发所述第一应答包。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
所述第三节点接收从所述第一节点至所述第二节点的数据包;
所述第三节点根据所述白名单和/或所述黑名单,确定是否转发所述数据包。
12.根据权利要求11所述的方法,其特征在于,所述第三节点根据所述白名单和/或所述黑名单,确定是否转发所述数据包,包括:
若所述地址对位于所述白名单中,所述第三节点转发所述数据包;和/或,
若所述地址对位于所述黑名单中,所述第三节点不转发所述数据包。
13.一种路径选择的方法,其特征在于,所述方法应用于低功耗蓝牙BLE的MESH网络中,所述MESH网络中包括多个节点,所述方法包括:
所述MESH网络中的第一节点通过所述MESH网络,向所述MESH网络中的第二节点发送至少一个侦测包,其中,所述至少一个侦测包用于记录各自经过的路径上的节点的地址,以用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径;
所述第一节点接收来自所述第二节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址。
14.根据权利要求13所述的方法,其特征在于,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
15.根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
所述第一节点在预定时长内没有检测到所述最优路径上的节点发出的心跳包时,通过所述最优路径,向所述第二节点发送多个更新包;
所述第一节点接收来自所述第二节点的分别响应于所述多个更新包的多个第二应答包;
所述第一节点根据所述第二应答包的接收时间和/或接收数量,确定是否更新所述最优路径。
16.根据权利要求13或14所述的方法,其特征在于,所述方法还包括:
所述第一节点根据所述MESH网络中的节点数量的变化,确定是否更新所述最优路径。
17.一种低功耗蓝牙BLE设备,其特征在于,所述BLE设备为BLE的MESH网络中的第二节点,所述MESH网络中包括多个节点,所述BLE设备包括:
收发单元,用于接收来自所述MESH网络中的第一节点的至少一个侦测包,其中,每个侦测包通过至少一个路径达到所述第二节点,所述至少一个路径中的每个路径上传输的侦测包中包括所述每个路径上的节点的地址;
处理单元,用于根据所述至少一个侦测包,确定最优路径;
所述收发单元还用于,发送响应于所述第一节点的第一应答包,其中,所述第一应答包中包括所述最优路径上的各个节点的地址。
18.根据权利要求17所述的BLE设备,其特征在于,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
19.根据权利要求17或18所述的BLE设备,其特征在于,所述处理单元具体用于:
根据每个侦测包从所述至少一个路径分别传输至所述第二节点所经过的传输时间和/或节点数量,在所述至少一个路径中确定所述每个侦测包对应的候选路径;
在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径。
20.根据权利要求19所述的BLE设备,其特征在于,所述处理单元具体用于:
在所述至少一个路径中,选择传输时间最短的M个侦测包;
在所述M个侦测包中,选择经过节点数量最少的K个侦测包,M和K为正整数且K<M;
将所述K个侦测包所经过的路径,作为所述每个侦测包对应的候选路径。
21.根据权利要求19或20所述的BLE设备,其特征在于,所述处理单元具体用于:
在所述至少一个侦测包对应的至少一个候选路径中,选择出现概率最高的候选路径作为所述最优路径。
22.根据权利要求17至21中任一项所述的BLE设备,其特征在于,所述处理单元还用于:
在所述至少一个侦测包对应的至少一个候选路径中,确定所述最优路径的备选路径,其中,所述备选路径是所述至少一个候选路径中与所述最优路径之间重叠节点的数量最少的路径。
23.根据权利要求22所述的BLE设备,其特征在于,所述第一应答包中还包括所述备选路径上的各个节点的地址。
24.根据权利要求17至23中任一项所述的BLE设备,其特征在于,所述收发单元还用于:
接收来自所述第一节点的多个更新包;
分别响应于所述多个更新包,通过所述最优路径向所述第一节点发送多个第二应答包,其中,所述第二应答包的接收时间和/或接收数量,用于所述第一节点确定是否更新所述最优路径。
25.一种低功耗蓝牙BLE设备,其特征在于,所述BLE设备为BLE的MESH网络中的第三节点,所述MESH网络中包括多个节点,所述BLE设备包括:
收发单元,用于接收从所述MESH网络中的第一节点至所述MESH网络中的第二节点的至少一个侦测包;
处理单元,用于在所述至少一个侦测包中,添加所述第三节点的地址;
所述收发单元还用于,转发所述至少一个侦测包,所述至少一个侦测包用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径。
26.根据权利要求25所述的BLE设备,其特征在于,
所述收发单元还用于:接收从所述第二节点至所述第一节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址;
所述处理单元还用于:若所述第一应答包中包括所述第三节点的地址,则将所述第一节点和所述第二节点的地址作为地址对,添加至所述第三节点的白名单中;和/或,若所述第一应答包中不包括所述第三节点的地址,则将所述地址对,添加至所述第三节点的黑名单中;
所述收发单元还用于:转发所述第一应答包。
27.根据权利要求26所述的BLE设备,其特征在于,
所述收发单元还用于:接收从所述第一节点至所述第二节点的数据包;
所述处理单元还用于:根据所述白名单和/或所述黑名单,确定是否转发所述数据包。
28.根据权利要求27所述的BLE设备,其特征在于,所述收发单元具体用于:
若所述地址对位于所述白名单中,转发所述数据包;和/或,
若所述地址对位于所述黑名单中,不转发所述数据包。
29.一种低功耗蓝牙BLE设备,其特征在于,所述BLE设备为BLE的MESH网络中的第一节点,所述MESH网络中包括多个节点,所述BLE设备包括:
收发单元,用于通过所述MESH网络,向所述MESH网络中的第二节点发送至少一个侦测包,其中,所述至少一个侦测包用于记录各自经过的路径上的节点的地址,以用于所述第二节点选择所述第一节点与所述第二节点之间的最优路径;
所述收发单元还用于,接收来自所述第二节点的第一应答包,所述第一应答包中包括所述最优路径上的各个节点的地址。
30.根据权利要求29所述的BLE设备,其特征在于,所述第一应答包用于所述MESH网络中接收到所述第一应答包的节点,建立各自的白名单和/或黑名单,所述白名单和所述黑名单用于确定是否转发所述第一节点与所述第二节点之间的数据包。
31.根据权利要求29或30所述的BLE设备,其特征在于,所述BLE设备还包括处理单元,其中,所述收发单元还用于:
在预定时长内没有检测到所述最优路径上的节点发出的心跳包时,通过所述最优路径,向所述第二节点发送多个更新包;
接收来自所述第二节点的分别响应于所述多个更新包的多个第二应答包;
所述处理单元用于,根据所述第二应答包的接收时间和/或接收数量,确定是否更新所述最优路径。
32.根据权利要求29或30所述的BLE设备,其特征在于,所述BLE设备还包括处理单元,所述处理单元用于:
根据所述MESH网络中的节点数量的变化,确定是否更新所述最优路径。
33.一种低功耗蓝牙BLE芯片,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至8中任一项所述的方法。
34.一种低功耗蓝牙BLE芯片,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求9至12中任一项所述的方法。
35.一种低功耗蓝牙BLE芯片,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求13至16中任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,其中,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至8中任一项所述的方法。
37.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,其中,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求9至12中任一项所述的方法。
38.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,其中,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求13至16中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/119259 WO2021097628A1 (zh) | 2019-11-18 | 2019-11-18 | 路径选择的方法和ble设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111247818A true CN111247818A (zh) | 2020-06-05 |
Family
ID=70866322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980005133.9A Pending CN111247818A (zh) | 2019-11-18 | 2019-11-18 | 路径选择的方法和ble设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111247818A (zh) |
WO (1) | WO2021097628A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396814A (zh) * | 2020-11-26 | 2021-02-23 | 深圳市安室智能有限公司 | 报警器拓扑传输方法及相关产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105429933A (zh) * | 2014-09-19 | 2016-03-23 | 中国电信股份有限公司 | 一种局域网中网络设备的访问方法、接入设备及系统 |
CN105592459A (zh) * | 2015-07-09 | 2016-05-18 | 中国银联股份有限公司 | 基于无线通信的安全认证装置 |
CN106658482A (zh) * | 2016-10-08 | 2017-05-10 | 西安电子科技大学 | 路由发现中的黑洞攻击防御方法 |
WO2017113238A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 一种建立路由表的方法、电子设备及网络 |
CN109510832A (zh) * | 2018-11-29 | 2019-03-22 | 北京天元特通信息技术股份有限公司 | 一种基于动态黑名单机制的通信方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101056240A (zh) * | 2007-05-22 | 2007-10-17 | 杭州华三通信技术有限公司 | 一种mesh点之间路由维护方法及设备 |
CN104244359A (zh) * | 2013-06-09 | 2014-12-24 | 浙江瑞瀛网络科技有限公司 | 一种用于无线网络路由路径优化的方法 |
US10015073B2 (en) * | 2015-02-20 | 2018-07-03 | Cisco Technology, Inc. | Automatic optimal route reflector root address assignment to route reflector clients and fast failover in a network environment |
CN109511091A (zh) * | 2018-11-26 | 2019-03-22 | 广州鲁邦通物联网科技有限公司 | 一种基于定位信息的ble mesh网络路由算法 |
-
2019
- 2019-11-18 WO PCT/CN2019/119259 patent/WO2021097628A1/zh active Application Filing
- 2019-11-18 CN CN201980005133.9A patent/CN111247818A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105429933A (zh) * | 2014-09-19 | 2016-03-23 | 中国电信股份有限公司 | 一种局域网中网络设备的访问方法、接入设备及系统 |
CN105592459A (zh) * | 2015-07-09 | 2016-05-18 | 中国银联股份有限公司 | 基于无线通信的安全认证装置 |
WO2017113238A1 (zh) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | 一种建立路由表的方法、电子设备及网络 |
CN106658482A (zh) * | 2016-10-08 | 2017-05-10 | 西安电子科技大学 | 路由发现中的黑洞攻击防御方法 |
CN109510832A (zh) * | 2018-11-29 | 2019-03-22 | 北京天元特通信息技术股份有限公司 | 一种基于动态黑名单机制的通信方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112396814A (zh) * | 2020-11-26 | 2021-02-23 | 深圳市安室智能有限公司 | 报警器拓扑传输方法及相关产品 |
CN112396814B (zh) * | 2020-11-26 | 2022-04-01 | 深圳市安室智能有限公司 | 报警器拓扑传输方法及相关产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2021097628A1 (zh) | 2021-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8027259B2 (en) | Opportunistic routing protocol in ad hoc networks | |
CN111479295B (zh) | 数据传输方法、系统、装置、设备及存储介质 | |
US20080159358A1 (en) | Unknown Destination Traffic Repetition | |
US20100020740A1 (en) | Wireless Communication System, Wireless Communication Device, Wireless Communication Method, and Program | |
EP4106365A1 (en) | Bluetooth network-based communication method, and node and communication system thereof | |
US10594598B2 (en) | Path setup in a mesh network | |
US11516682B2 (en) | Methods and nodes for obtaining information regarding a bluetooth mesh network | |
JP4918900B2 (ja) | 無線マルチホップネットワーク、ノード、マルチキャスト経路制御方法及びプログラム | |
JP5705030B2 (ja) | 通信システム | |
CN111247818A (zh) | 路径选择的方法和ble设备 | |
WO2017160223A1 (en) | Methods and arrangements for supporting routing in a bluetooth® based mesh network | |
RU2378801C2 (ru) | Способ связи в беспроводной локальной сети с группой, состоящей из ретрансляторов и узлов радиодоступа | |
US9137642B2 (en) | Multi-cast optimized medium access method for wireless network | |
CN105814850A (zh) | 路由数据包的方法、节点和通信系统 | |
JPWO2012073312A1 (ja) | 無線通信装置および無線ネットワークにおける経路決定方法 | |
CN111132325B (zh) | 基于子帧调度的组网方法、存储介质、自组网及其节点 | |
CN111279729A (zh) | 数据传输的方法和ble设备 | |
JP2007181056A (ja) | 経路選択方法 | |
CN111869246B (zh) | 消息传输的方法、ble设备和ble芯片 | |
EP3311535B1 (en) | Reducing latency in a mesh network | |
JP2005347879A (ja) | 無線通信システム | |
US9485705B2 (en) | Transmission control method and transmission control apparatus | |
CN108449802B (zh) | 一种Mesh连接方法和装置 | |
JP4613967B2 (ja) | 通信経路設定方法、通信経路設定プログラム、通信端末、無線ネットワークシステム | |
CN105900383A (zh) | 通信系统、控制节点和通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200605 |
|
WD01 | Invention patent application deemed withdrawn after publication |