CN117098075B - 通信组队方法、装置、终端设备和存储介质 - Google Patents
通信组队方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN117098075B CN117098075B CN202311346589.6A CN202311346589A CN117098075B CN 117098075 B CN117098075 B CN 117098075B CN 202311346589 A CN202311346589 A CN 202311346589A CN 117098075 B CN117098075 B CN 117098075B
- Authority
- CN
- China
- Prior art keywords
- node
- group
- team
- information
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000006854 communication Effects 0.000 title claims abstract description 75
- 238000004891 communication Methods 0.000 title claims abstract description 73
- 230000015572 biosynthetic process Effects 0.000 claims description 117
- 230000004044 response Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 43
- 230000006870 function Effects 0.000 description 12
- 230000006855 networking Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000007704 transition Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002789 length control Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- 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)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供了一种通信组队方法、装置、终端设备和存储介质,该方法应用于通信领域,该方法包括:间隔预设时间周期广播第一组队信息,第一组队信息为第一节点的组队信息,组队信息包括群组创建节点的节点信息和群组参数;接收第二组队信息,第二组队信息为多个待组网节点中各个节点广播的组队信息;根据第一组队信息、第二组队信息和预设规则信息,在多个待组网节点中确定目标节点;基于目标节点的组队信息加入目标节点创建的群组。
Description
技术领域
本申请涉及通信领域,更具体地,涉及一种通信组队方法、装置、终端设备和存储介质。
背景技术
终端设备(或者节点)之间可以基于无线自组织网络来实现无线通信。无线自组织网络作为一种典型的无中心网络,各个终端设备之间相互连通,每个终端设备都可以看作一个服务器。无中心自组网中的每个节点在网络中具有相同功能,网络中任意一个节点发生故障,不会对整个通信网络造成很大影响。因此,无中心自组网具有很强的鲁棒性和抗毁性。
在骑行运动场景下,多个用户在组团出行过程中存在对讲通话需求,为此,每个用户的头盔可以佩戴一个头盔对讲耳机。组团出行的多个用户在骑行出发前,需要在同一出发点进行组网配对。由于每次组团出行的人员可能不同,且设备间在通信过程中存在抗干扰的需求,为此,需要在每次骑行出发前重新组网配对,以建立用于群组对讲的无线自组织网络。
在相关技术中,多个头盔对讲耳机在组网配对阶段,由于缺乏安全可靠的协商机制,当待组网的设备节点数量较大时,将在组网配对过程中存在较大的信令交互,使得头盔对讲耳机间的组网配对效率较低。因此,如何提高头盔对讲耳机的组网配对效率成为亟需解决的问题。
发明内容
本申请提供一种通信组队方法、装置、终端设备和存储介质。
第一方面,提供了一种通信组队方法,该方法由自组织网络中的第一节点执行,该自组织网络包括多个待组网节点,该方法包括:间隔预设时间周期广播第一组队信息,该第一组队信息为第一节点的组队信息,该组队信息包括群组创建节点的节点信息和群组参数;该节点信息包括群组创建节点的物理地址、节点组队状态;该群组参数包括群组的组队状态、创建时间;接收第二组队信息,该第二组队信息为该多个待组网节点中各个节点广播的组队信息;根据第一组队信息、第二组队信息和预设规则信息,在该多个待组网节点中确定目标节点;基于该目标节点的组队信息加入该目标节点创建的群组。
在上述方案中,自组织网络中的节点在组网配对阶段,可以基于同样的通信组队规则、各个节点广播的组队信息进行组队,对于同一自组织网络,每个节点获取到的、包含第一组队信息和第二组队信息的组队信息相同,因此,在基于相同的通信组队规则进行组队时,自组织网络中的各个节点可以确定出唯一的一个目标群组,在加入目标群组后各个节点可以在群组内进行通信连接。
在组网配对阶段每个节点将执行相同的组队处理流程,在根据第一组队信息、第二组队信息和预设规则信息,在多个待组网节点中确定目标节点后,可以确定出唯一的一个目标群组进行组网配对。只需要和目标节点进行信令交互以获取群组配对信息,在各个节点获取到目标节点分配的群组配对信息后,不需要在各个节点间继续进行信令交互,因此,可以减少各个节点间的信令交互次数,从而,提高设备间的组网配对效率。
第二方面,提供了一种通信组队的装置,该装置应用于第一节点,该装置包括:发送模块,用于间隔预设时间周期广播第一组队信息,该第一组队信息为第一节点的组队信息,该组队信息包括群组创建节点的节点信息和群组参数;该节点信息包括群组创建节点的物理地址、节点组队状态;该群组参数包括群组的组队状态、创建时间;接收模块,用于接收第二组队信息,该第二组队信息为该多个待组网节点中各个节点广播的组队信息;处理模块,用于根据第一组队信息、第二组队信息和预设规则信息,在该多个待组网节点中确定目标节点,基于该目标节点的组队信息加入该目标节点创建的群组。
第三方面,提供了一种终端设备,包括存储器和处理器。该存储器用于存储可执行程序代码,该处理器用于从存储器中调用并运行该可执行程序代码,使得该终端设备执行上述第一方面或第一方面任意一种可能的实现方式中的方法。
第四方面,提供了一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任意一种可能的实现方式中的方法。
第五方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述第一方面或第一方面任意一种可能的实现方式中的方法。
附图说明
图1是本申请实施例提供的一种通信组队的场景示意图;
图2是本申请实施例提供的另一种通信组队的场景示意图;
图3是本申请实施例提供的另一种通信组队的场景示意图;
图4是本申请实施例提供的另一种通信组队的场景示意图;
图5是本申请实施例提供的一种节点组队状态和节点属性的场景示意图;
图6是本申请实施例提供的一种通信组队方法的示意性流程图;
图7是本申请实施例提供的一种通信组队的装置的结构示意图;
图8是本申请实施例提供的在公共信道广播组队信息的时序图;
图9是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行清楚、详尽地描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B:文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者多个该特征。
本公开实施例提供的通信组队方法可以应用于无线自组织网络,在无线自组织网络中,设备间建立通信连接的过程包括:
(1)网络配置。在各个节点设备中预先配置有相同的通信组队规则,预设规则用于各个节点设备在组网阶段基于第一组队信息、第二组队信息,在多个待组网节点中确定出目标节点,基于目标节点的组队信息加入目标节点创建的群组。
对于任意一个节点广播的组队信息,组队信息包括群组创建节点的节点信息和群组参数。群组创建节点的节点信息包括群组创建节点的物理地址、节点组队状态。节点组队状态包括已组队完成状态和未组队状态。
应理解,每个节点在组队过程中,节点组队状态为正在组队状态,且对应有节点组队时间。根据节点组队时间是否结束,节点组队状态还包括已组队完成状态和未组队状态。节点可以根据节点组队时间,完成节点组队状态的切换过程。
在示例中,群组参数包括以下信息中的任一项:群组的组队状态、创建时间、群组标识、工作信道的信道标识、群组密钥、组队信息的广播次数。群组的组队状态包括已组建状态和未组建状态。组队状态可以表示第一节点对应的群组是否已组建。
表1 组队信息
在示例中,群组参数包括群组密钥和工作信道的信道标识,其中,工作信道的信道标识用于指示各个节点在传输语言数据包时的工作信道。群组密钥可以用来解密和加密信息,实现群组内部信息的数据加密。
(2)网络发现。各个节点设备通过广播方式交换组队信息。当前节点通过广播方式发送网络发现消息,同时接收相邻节点(自组织网络中各个节点)发送的广播消息,以发现当前节点在通信距离范围内的网络节点(Mesh设备)。在本公开实施例中,广播消息包括群组创建节点的节点信息和群组参数;其中,节点信息包括群组创建节点的物理地址、节点组队状态;群组参数包括群组的组队状态、创建时间。
(3)连接建立。各个节点设备基于预先配置的通信组队规则和组队信息确定出唯一的一个群组。在组网配对阶段,自组织网络中的节点可以基于同样的通信组队规则、各个节点广播的组队信息进行组队,每个节点获取到的、包含第一组队信息和第二组队信息的组队信息相同,因此,在基于相同的通信组队规则进行组队时,自组织网络中的各个节点可以确定出唯一的一个目标群组,在加入目标群组后各个节点可以在群组内采用目标节点分发的群组配对信息进行通信连接,群组配对信息可以包括群组标识、群组密钥、工作信道的信道标识。
图1是本申请实施例提供的一种通信组队的场景示意图。如图1所示,本申请提供的通信组队方法可以应用于头盔对讲耳机间的通信组队;头盔对讲耳机可以基于蓝牙自组织网络技术,实现头盔通信系统的多人对讲功能,为安全骑行提供的优先级对讲、不脱把操控等应用,满足车队和个人在城市、郊区、山道、荒野的各种复杂环境骑行需求。
图2是本申请实施例提供的另一种通信组队的场景示意图。如图2所示,自组织网络中包括节点101、节点102、节点103、节点104、节点105。其中,每个节点对应一个节点设备,任意两个节点设备间的距离小于安全通信距离。
图2中呈现的场景示意图对应户外骑行运动场景的组队阶段,多个用户在组团出行过程中存在对讲通话需求,为此,每个用户的头盔可以佩戴一个头盔对讲耳机。组团出行的多个用户在骑行出发前,往往处于同一出发点,此时,节点101、节点102、节点103、节点104、节点105处于安全通信距离范围内,在安全通信距离内两个节点可以建立通信连接。5个头盔对讲耳机可以在安全通信距离范围内,采用本公开实施例提供的通信组队方法建立群组:根据第一组队信息、第二组队信息和预设规则信息,在多个待组网节点中确定目标节点;基于所述目标节点的组队信息加入所述目标节点创建的群组。
如图2所示,在组队过程中,节点104可以广播节点104的组队信息。此外,节点104还可以接收节点105、节点101、节点102以及节点103各自广播的组队信息。节点104可以根据接收到的所有的组队信息,以及节点104本身的组队信息,从自组织网络的各个节点中确定出目标节点。在节点104确定出目标节点之后,可以基于目标节点的组队信息,加入目标节点创建的群组,与目标群组中的其他节点通信,目标群组即为目标节点创建的群组。
本公开实施例提供的通信组队方法可以应用于蓝牙MESH网络,蓝牙MESH网络中的节点设备可以是头盔对讲耳机、手持对讲设备。蓝牙MESH网络的层次构架为:低功耗蓝牙技术(Bluetooth Low Energy,BLE)层、承载层、网络层、传输下层、传输上层、接入层、基础模型层、模型层。其中,BLE层为低功耗蓝牙连接层,实现节点之间的无线通信连接,是实现Mesh网络的基础。承载层定义如何使用底层BLE协议栈传输网络PDU(协议数据单元,Protocol Data Unit,PDU)。承载方式分为2种:广播承载和GATT(普通属性协议,GenericAttribute Profile,GATT)承载。网络层定义各种消息的地址类型、格式,完成数据的网络寻址和转发。
传输下层主要负责网络中传送的PDU的分片和重组。传输上层负责对上层应用数据进行加密、解密和认证。接入层定义应用的数据格式,以及如何使用传输层的服务(网络服务)。同时能够定义、控制在传输层中的数据加密和解密过程,并对于传输层送达的数据进行验证。基础模型层实现应用层与Mesh网络协议的适配,定义其中的消息、状态等属性。模型层:在蓝牙Mesh网络中,模型层是实现各类应用功能的基础。
表2 网络层结构
在通过上述方式完成通信组队之后,群组中的各个节点可以在群组中采用目标节点分发的群组配对信息进行通信连接,群组配对信息可以包括群组标识、群组密钥、工作信道的信道标识。在示例中,节点为头盔对讲耳机,头盔对讲耳机的麦克风采集当前用户的语音信息,由当前节点在工作信道广播当前用户的语音信息,相邻节点在接收到语音数据包时采用群组密钥对该语音数据包进行解密,以解析获取该语音信息,实现各个节点间的语音通信过程。
图3是本申请实施例提供的另一种通信组队的场景示意图。如图3所示,自组织网络中包括节点101、节点102、节点103、节点104、节点105。其中,每个节点对应一个节点设备。图3中呈现的场景示意图对应户外骑行运动场景的骑行阶段,其中,节点101和节点102的距离小于安全通信距离;节点101和节点104、节点105的距离大于安全通信距离,节点104和节点102、节点105的通信距离小于安全通信距离。
在此情况下,参见图3,在接收到节点101的语言数据包时,节点102、节点104可以作为中继节点对接收到的数据包以广播的形式进行转发,因此,节点101的语言数据包可以依次传输到节点102(节点103)、节点104、节点105,实现蓝牙自组织网络的语言传输功能。
图4是本申请实施例提供的另一种通信组队的场景示意图。如图4所示,一共包含5个节点(或者终端设备),分别为节点101、节点102、节点103、节点104和节点105。其中,节点101、节点102和节点103属于群组100中的节点。在图4中任意两个节点设备间的距离小于安全通信距离。其中,节点101、节点102和节点103的节点组队状态均为正在组队状态,节点104和节点105属于单独的节点。节点组队状态可以用来表示节点的组队过程是否开始或者是否结束。正在组队状态表示节点的组队过程已经开始且还未结束。
在确定开启组队之后,节点104和节点105分别将节点组队状态从未组队状态切换为正在组队状态。在组队过程中,节点104可以创建节点104对应的群组。同理,节点105可以创建节点105对应的群组。创建群组的过程,即确定节点的组队信息的过程。节点的组队信息即节点对应的群组的组队信息。组队信息包括群组创建节点的节点信息和群组参数。
在组队过程中,处于正在组队状态的所有节点之间可以通过公共信道广播节点的组队信息。公共信道是用于各个节点在组队时广播组队信息的信道,所有节点都可以在公共信道发送信息和接收信息。工作信道是群组中的各个节点之间用来传输信息的信道。图1中的节点101、节点102和节点103的工作信道都为群组100的工作信道。同一个群组中的各个节点的工作信道相同。不同的群组对应不同的工作信道。
图5是本申请实施例提供的一种节点组队状态和节点属性的场景示意图。如图5所示,节点组队状态包括未组队状态、正在组队状态、已组队完成状态和邀请组队状态。节点属性包括三种,分别为队长节点、待加入节点和已加入节点。其中,待加入节点也可称为“申请节点”,已加入节点也可称为“队员节点”。
节点组队状态能够表示节点的组队过程是否完成或者是否开始。例如未组队状态表示节点的组队过程未开始。正在组队状态和邀请组队状态可以表示节点的组队过程未完成,已组队完成状态可以表示节点的组队过程已完成。
节点属性能够表示节点在群组中的节点类型。节点属性可以表示节点是否成功加入群组,在组队过程中,节点可以切换节点属性。队长节点和队员节点可以表示节点已经成功加入群组,待加入节点表示节点还未成功加入群组。
每个节点的初始节点组队状态都是未组队状态。处于未组队状态的节点无法与其他节点通信。在需要与其他节点组队通信时,节点可以通过接收任意一种开启组队的触发操作,确定开启组队。节点确定开启组队之后,可以先将节点组队状态从未组队状态切换至正在组队状态。
如图5所示,正在组队状态是一个组合状态,包括多个子状态。例如,组队初始化子状态和协商子状态。节点将节点组队状态切换为正在组队状态后,首先进入组队初始化子状态。在这个子状态下,节点可以创建节点对应的群组,确定该节点对应的群组的组队信息,以便于后续与其他节点通信。
节点的组队信息包括节点对应的群组创建节点的节点信息和群组参数。群组参数包括群组的组队状态、创建时间和群组标识。组队状态可以表示节点对应的群组是否已组建。组队状态包括已组建状态和未组建状态。
图6是本申请实施例提供的一种通信组队方法的示意性流程图。如图6所示,该方法包括以下步骤:
步骤601,间隔预设时间周期在公共信道广播第一组队信息,第一组队信息为第一节点的组队信息,组队信息包括群组创建节点的节点信息和群组参数。在示例中,第一节点属于多个待组网节点中的任一节点,多个待组网节点处于安全通信距离范围内。
未组队状态为节点设备的初始状态,此时各个节点设备都处于空闲状态,无法相互通讯。当任一待组网节点检测到组队触发指令时,待组网节点进入组队初始化状态,此时,待组网节点的组队状态为正在组队状态。
在组队初始化状态中,第一节点生成组队信息,组队信息包含一个指定的工作信道(信道标识)、一个指定的群组标识和一个指定的群组密钥,这里,群组密钥包含群组中各节点通信所需的密钥信息。
在组队初始化状态,由于节点不知道当前信号覆盖范围内是否存在已创建的群组,有可能节点本身就是第一个进入组队状态的节点,因此,需要承担创建队伍的群组。
在实际应用中,采用信道标识指示一个指定的工作信道,工作信道和公共信道不是同一个信道。在群组内部,节点传递语音数据包时,可以基于群组密钥加密和解密信息。节点可以使用伪随机数生成器生或者基于口令的加密(Password-based Encryption,PBE)算法成群组密钥。
在第一节点生成组队信息后,第一节点进入组队协商状态。在组队协商状态,第一节点在公共信道中周期性广播自己的组队广播信息,同时在公共信道中接收各个待组网节点广播的组队信息,组队信息为未加密信息,所有设备均可以在公共信道进行接收并解析。
在实际应用中,用户可以通过按压操作,按压第一节点中的“开启组队”对应的物理按键,第一节点响应于用户的点击操作,生成组队触发指令。在第一节点显示组队界面的情况下,第一节点响应于用户的点击操作,生成组队触发指令。用户还可以通过语音,唤醒第一节点的开启组队功能。第一节点响应于用户的语音,生成组队触发指令。
如图5所示,在确定开启组队之后,第一节点可以将第一节点的节点组队状态从未组队状态切换为正在组队状态。在第一节点将节点组队状态切换为正在组队状态之后,首先进入组队初始化子状态。
对于第一节点,在确定开启组队的初始时刻,广播次数或者组队计时为0。在组队过程中,每广播一次,广播次数加1,组队计时持续增加。
第一节点在生成第一节点的组队信息之后,表示第一节点已完成初始化过程。第一节点可以从组队初始化子状态切换为协商子状态,以在多个待组网节点中确定目标节点。其中,目标节点可以理解为第一节点在组队过程中,请求加入群组的队长节点,即创建这个群组的节点。
如图4和5所示,节点104在创建完群组之后,节点104进入协商子状态,表示节点104进入协商组队过程(即确定目标节点的过程)。处于协商子状态的第一节点,在确定目标节点时,可以通过公共信道,广播(或者发送)第一组队信息,以及接收第二组队信息。进一步第一节点基于接收的第一组队信息和第二组队信息,从自组织网络的各个节点中确定出目标节点。
应理解,第一节点广播第一组队信息,目的是为了使其他处于协商子状态的节点基于第一组队信息,确定出对应的目标节点。因此,其他处于协商子状态的节点在接收到第一组队信息时,与第一节点的处理方式相同,也可以根据各个节点的组队信息,确定对应的目标节点。
步骤602,接收第二组队信息,第二组队信息为自组织网络中各个节点广播的组队信息。
在示例中,参见图2,自组织网络中包括节点设备101、节点设备102、节点设备103、节点设备104、节点设备105。任意两个节点设备间的距离小于安全通信距离,因此,每个节点都可以接收到安全通信距离范围内的广播消息。这里,广播消息可以是自组织网络中各个节点广播的组队信息。
为了防止节点之间通信过程中的干扰,可以将通信频段划分为多个信道。其中,多个信道包含一个公共信道和多个工作信道。工作信道是每个群组的内部节点用来传输该群组内部信息的信道。
第一节点在确定工作信道时,可以从所有的工作信道中随机选择一个工作信道作为第一节点对应的群组的工作信道。第一节点也可以选择传输信息量少的工作信道作为第一节点对应的群组的工作信道。
如图3所示,以第一节点为节点104举例,节点104可以通过公共信道广播节点104的组队信息,或者,向节点组队状态为正在组队状态的节点105、节点101、节点102和节点103发送节点104的组队信息,即第一组队信息。节点104还可以通过公共信道,接收节点101、节点102、节点103和节点105广播的组队信息,即第二组队信息。
603,根据第一组队信息、第二组队信息和预设规则信息,在多个待组网节点中确定目标节点。
在示例中,在各个节点设备中预先配置有相同的通信组队规则,也就是预设规则信息。预设规则信息用于各个节点设备在组网阶段基于第一组队信息、第二组队信息确定出目标节点。
在接收到第二组队信息之后,第一节点可以根据第一组队信息、第二组队信息和预设规则信息,从自组织网络中的各个节点中确定出目标节点。这里,预设规则信息包括以下至少一项:
规则一:根据每个群组的组队状态,在自组织网络中每个节点对应的群组中,确定第一群组,第一群组中的群组成员数量大于等于2;第一群组的组队状态为已组建状态;在存在第一群组且第一群组的数量为一个的情况下,将第一群组对应的节点确定为目标节点。
规则二:根据每个群组的组队状态,在自组织网络中每个节点对应的群组中,确定是否存在第一群组;第一群组的组队状态为已组建状态;在不存在第一群组,或第一群组的数量为多个的情况下,在多个待组网节点对应的群组中,确定群组的创建时间最早的第二群组;在第二群组的数量为一个的情况下,将第二群组对应的节点确定为目标节点。
规则三:根据每个群组的组队状态,在自组织网络中每个节点对应的群组中,确定是否存在第一群组;第一群组的组队状态为已组建状态;在不存在第一群组,或第一群组的数量为多个的情况下,在多个待组网节点对应的群组中,确定群组的创建时间最早的第二群组;在第二群组数量为多个的情况下,在多个待组网节点对应的群组中,将物理地址最大的节点确定为目标节点。
604,基于目标节点的组队信息加入目标群组,目标群组为目标节点创建的群组。
在示例中,目标节点的组队信息包括目标的节点信息和群组参数。群组参数包括:群组的组队状态、创建时间、群组标识、工作信道的信道标识、群组密钥。由于每个节点基于相同的规则确定的目标群组具有唯一性,且群组参数中包含群组密钥;在基于目标节点的组队信息加入目标群组后,第一节点和目标群组中的节点可以基于相同的群组密钥建立通信连接,从而,提高通信组队的保密性。
在一种可能的实现方式中,第一节点可以通过组队状态确定目标节点,包括以下步骤:根据每个群组的组队状态,在自组织网络中每个节点对应的群组中,确定第一群组,第一群组中的节点数量大于等于2;第一群组的组队状态为已组建状态;在存在第一群组且第一群组的数量为一个的情况下,将第一群组对应的节点确定为目标节点。
如图4所示,以第一节点为节点104为例,根据前述描述可知,群组100的组队状态为已组建状态,即节点101、节点102和节点103的组队状态为已组建状态。节点105对应的群组为未组建的群组,因此节点105的组队状态为未组建状态。同理,节点104的组队状态为未组建状态。
节点104基于节点101、节点102、节点103和节点105广播的组队信息,以及节点104的组队信息,可以确定群组100、节点104对应的群组和节点105对应的群组中,存在组队状态为已组建状态的第一群组—群组100。同时,当前第一群组的数量只有一个。节点104进一步根据群组100的组队信息,确定第一群组不是自己创建的群组。节点104可以根据节点102、节点103和节点104广播的组队信息,确定出群组100中的群组创建节点,然后将该群组创建节点确定为目标节点。
上述方案中,在第一群组数量为一个时,将第一群组对应的节点确定为目标节点,能够保证优先将已组建状态的群组对应的节点作为目标节点,从而避免了第一节点需要重新先组建群组的问题,节约了确定目标节点的时间,从而也缩短了第一节点组队的时间。
在一种可能的实现方式中,第一群组也可能不存在,或者第一群组的数量为多个。此时,第一节点可以结合组队状态和创建时间确定目标节点,包括以下步骤:根据每个群组的组队状态,在自组织网络中每个节点对应的群组中,确定是否存在第一群组;第一群组的组队状态为已组建状态;在不存在第一群组,或第一群组的数量为多个的情况下,在多个待组网节点对应的群组中,确定群组的创建时间最早的第二群组;在第二群组的数量为一个的情况下,将第二群组对应的节点确定为目标节点。
具体的,第一节点可以基于第一组队信息,以及接收到的第二组队信息,确定自组织网络中每个节点的组队信息的广播次数,从而得到每个节点对应的群组的创建时间。或者,第一节点可以基于第一组队信息,以及接收到的第二组队信息,确定每个节点对应群组的组队计时,从而得到每个节点对应的群组的创建时间。
根据每个节点的创建时间,第一节点可以确定出群组的创建时间最早的第二群组。在第二群组的数量为一个时,第一节点将第二群组对应的队长节点确定为目标节点。
应理解,在群组中处于正在组队状态的节点有多个时,每个节点都可以通过公共信道,广播群组的组队信息(或者节点的组队信息)。组队信息每广播一次,同步至所有正在组队状态的节点。第一节点可以根据组队信息的广播次数,确定出该群组的创建时间。
上述方案中,结合第一种根据组队状态确定目标节点的场景。在根据组队状态确定出第一群组之后,第一群组的数量有可能为多个或者没有。基于这种情况,本申请还可以进一步通过创建时间来确定目标节点。具体的,第一节点可以根据所有群组的创建时间,确定出群组的创建时间最早的第二群组。在第二群组的数量为一个的情况下,将第二群组对应的节点确定为目标节点,能够保证目标节点确定的唯一性。
应理解,两个群组的创建时间也可能相同,例如两个群组中开启创建时间最早的节点同时开启组队。此时,第一节点确定出的第二群组的数量可能不止一个,基于创建时间和组队状态无法确定出目标节点。
在一种可能的实现方式中,在根据组队状态和创建时间都无法确定目标节点时,第一节点可以根据群组创建节点的物理地址确定目标节点,包括以下步骤:在第二群组数量为多个的情况下,在多个待组网节点中,将物理地址最大的节点确定为目标节点。
以第一节点为节点1为例,节点1可以通过公共信道,接收节点2广播的组队信息和节点3广播的组队信息,也可以向节点1和节点2发送第一组队信息。因此,节点1可以根据节点1的物理地址、节点2的物理地址和节点3的物理地址,确定出物理地址最大的节点作为目标节点。
应理解,在群组的创建时间最早的第二群组的数量为多个的情况下,无法保证目标节点的唯一性。此时,第一节点还可以通过群组创建节点的物理地址来确定目标节点。具体的,第一节点可以根据所有节点广播的群组创建节点的物理地址,确定出物理地址最大或者物理地址最小的节点作为目标节点。
在一种可能的实现方式中,在确定出目标节点之后,第一节点可以先判断与目标节点是否为同一节点,以确定第一节点在目标群组中的节点属性,按照第一节点的节点属性加入目标群组,包括以下步骤:在目标节点、第一节点为同一节点的情况下,将第一节点的节点属性切换为队长节点;节点属性表示第一节点的节点类型;否则,将第一节点的节点属性切换为待加入节点;向目标节点发送第一组队请求,第一组队请求用于请求加入目标群组。
应理解,当目标节点和第一节点相同时,表示目标群组是第一节点创建的群组,第一节点可以将节点属性切换为队长节点。在成为目标群组的队长节点之后,第一节点可以通过目标群组的工作信道、群组密钥等组队信息,与群组中的其他节点通信,表示第一节点加入目标群组。第一节点也可以通过公共信道,与目标群组的节点之外的其他节点通信。
相反,当目标节点和第一节点不相同时,表示目标节点创建的群组不是第一节点创建的群组,第一节点可以将节点属性切换为待加入节点。在成为目标群组的待加入节点之后,第一节点可以通过目标群组的工作信道,与群组中的其他节点通信。第一节点也可以继续通过公共信道,与目标群组的节点之外的其他节点通信。
目标群组中的节点通过工作信道相互通信时,是基于群组密钥加密和解密数据的。在节点的节点属性为待加入节点时,待加入节点在通过工作信道与目标群组中的其他节点通信时,不涉及群组密钥。即,只有目标群组中的队长节点和队员节点通过工作信道通信时,会附加群组密钥。节点成为队员节点之后,队长节点可将群组密钥发送至节点。
在物理层,无线信号可以选择在多个不同的信道上进行数据传输,在实际应用中,信道数量是有限的。两支群组在共用同一信道进行数据传输时,采用以上加密的手段对群组进行区分,可以达到不同群组无法互通的目标。
结合图4,队长节点可以通过公共信道广播队长节点的组队信息(即队长节点所在群组的组队信息)。因此,第一节点可以接收队长节点的组队信息,确定出目标群组中的队长节点。第一节点可以向目标群组的目标节点发送第一组队请求,以请求加入目标群组。
以第一节点为节点104为例,假设节点101的节点属性为群组100中的队长节点、节点102和节点103的节点属性为群组100中的队员节点。节点104可以基于接收到的群组100的组队信息,确定出节点101的节点信息。基于节点101的节点信息,节点104可以向节点101发送第一组队请求。
无论队长节点还是待加入节点,都可以在预设时长内广播队长节点的组队信息,以使目标群组中的待加入节点能够发现队长节点。
在一种可能的实现方式中,第一节点广播群组中队长节点的组队信息,包括以下步骤:在目标节点、第一节点为同一节点的情况下,在预设时长内广播第一节点的组队信息;接收待加入节点广播的第二组队请求,将待加入节点加入目标群组;否则,在预设时长内广播目标节点的组队信息,以使待加入节点基于目标节点的组队信息向目标节点发送第三组队请求。
当目标节点和第一节点为同一节点时,第一节点可以在预设时长内广播第一节点的组队信息,以使待加入节点能够确定队长节点。在确定出队长节点之后,待加入节点可以向队长节点发送第二组队请求。进一步,第一节点可以基于第二组队请求,将待加入节点加入第一节点创建的群组。可选的,预设时长可以为5s、10s等,本申请实施例对此不做限定。
假设第一节点和目标节点为同一个节点—节点1,节点1创建的群组为群组1。群组1中除节点1之外的其他节点包括节点2和节点3。在组队过程中,节点1可以在预设时长内,广播节点1的组队信息。节点2和节点3接收到节点1的组队信息,确定出节点1为群组1中的队长节点,可以进一步向节点1发送第二组队请求。
假设当前群组中的节点数量为4个,预设值为5。第一节点判断当前节点数量未超过预设值,则向待加入节点发送组队成功响应消息,以提醒待加入节点组队成功,组队成功响应消息中包括群组密钥。假设当前群组中的节点数量为6个,预设值为5。第一节点判断当前节点数量已经超过预设值,则向待加入节点发送组队失败响应消息,以提醒待加入节点组队失败。
上述方案中,在第一节点为队长节点的情况下,第一节点在接收到待加入节点广播的第二组队请求之后,若第一节点确定当前的节点数量没有超出预设值,可以向待加入节点发送组队成功响应消息,以表示待加入节点可以加入目标群组。若第一节点确定节点数量超出预设值,可以向待加入节点发送组队失败响应消息。上述第一节点发送组队成功响应消息或者组队失败响应消息,能够避免待加入节点一直向第一节点发送组队请求的问题,提高了待加入节点申请加入目标群组的效率。
本公开实施例中,队长节点除了根据节点数量和预设值,判断待加入节点能否加入群组外,还可以进一步结合身份验证。在接收到待加入节点广播的第二组队请求后,若当前节点数量未超出预设值,队长节点可以判断待加入节点的物理地址是否满足预设物理地址,或者待加入节点的网际互联协议(Internet Protocol Address,IP)地址是否满足预设IP地址等。
上述过程能够保证待加入节点身份的准确性,避免一些非法的待加入节点恶意加入目标群组的问题,保证了目标群组的安全性和稳定性。
第二种情况下,在目标节点和第一节点不是同一节点的情况下,第一节点作为群组中的待加入节点,可以在预设时长内向其他节点广播目标节点的组队信息,以使群组中的待加入节点基于目标节点的节点信息,生成第三组队请求,并向目标节点发送第三组队请求。
如图4所示,以第一节点为节点104举例,节点104和节点105均为群组100中的待加入节点。假设群组100中的节点101为目标节点,节点104可以在预设时长广播目标节点的组队信息。节点105在接收到节点101的组队信息,可以确定出节点101的节点信息,基于节点101的节点信息,向节点101发送第三组队请求。
上述方案中,无论目标节点和第一节点是否同一个节点,第一节点都可以定时广播目标节点的组队信息,以便于目标群组中的待加入节点能够发送组队请求,保证了群组中的其他待加入节点也能申请入队。
在一种可能的实现方式中,无论第一节点为目标群组中的队长节点,还是已加入节点,都表示第一节点成功加入目标群组。在第一节点加入目标群组之后,第一节点还可以保存目标群组的节点信息,包括以下步骤:根据第一节点的节点信息以及目标群组中已加入节点的节点信息,确定目标群组的节点信息。
由于群组中的每一个节点可以在预设时长内广播节点信息,因此,第一节点可以接收到群组中已加入节点的节点信息。进一步根据第一节点的节点信息和已加入节点的节点信息,得到目标群组的节点信息。目标群组的节点信息具体包括目标群组中每一个节点的节点信息。
假设当前群组中包括三个节点,分别为节点1、节点2和节点3。其中,节点1为队长节点,节点2和节点3为队员节点,假设第一节点为节点2。节点1可以广播节点1的节点信息,节点2可以广播节点2的节点信息,节点3可以广播节点3的节点信息。因此,节点2可以接收节点1、节点3各自广播的节点信息,并结合节点1的节点信息,得到当前群组的节点信息。
上述方案中,第一节点根据第一节点的节点信息,以及已加入节点的节点信息,确定目标群组的节点信息,能够保证已成功加入目标群组的所有节点能够同步获取目标群组的节点信息,实现了目标群组的节点信息在目标群组中的共享。
在组队完成后,群组中的各个节点在语音通信过程中,可以实时或者定时广播各自的节点信息,以使群组中的相邻节点能够及时获取、更新每一个节点的节点信息,以达到更新目标群组的节点信息的目的,以及时获取群组成员的离队消息。
在一种可能的实现方式中,第一节点在确定目标群组的节点信息后,还包括:在第一节点退出目标群组的情况下,广播第一节点的离队消息,以使目标群组中已加入节点更新目标群组的节点信息。
当第一节点为目标群组中的已加入节点,第一节点通过触发操作,退出当前群组时,第一节点可以广播第一节点的离队消息。目标群组中的已加入节点接收到第一节点的离队消息后,可以更新目标群组的节点信息。
当第一节点为队长节点时,第一节点退出当前群组时,第一节点可以广播第一节点的离队消息,目标群组中的已加入节点根据第一节点的离队消息,更新目标群组的节点信息。这种情况下,为了保证组队过程的继续进行,目标群组中的已加入节点需要重新根据更新后的目标群组的节点信息,协商出新的队长节点。
在协商的过程中,目标群组中的已加入节点可以根据每一个已加入节点的节点组队时间,从中选取节点组队时间剩余时间最长的已加入节点作为新的队长节点,以继续完成目标群组的组队过程。
上述方案中,若第一节点需要退出目标群组时,第一节点可以将离队消息通知给其他已加入节点,以使得其他已加入节点同步更新第一节点的离队消息,避免其他已加入节点和第一节点通信失败。进一步,在第一节点为队长节点且第一节点离队的情况下,上述确定新的队长节点,可以保证目标群组组队过程中的灵活性,避免了当前的队长节点退出目标群组后,目标群组中的节点无法继续通信的问题。
此外,对于目标群组中其他已加入节点退出当前群组时,第一节点也可以按照上述同样的方式,更新目标群组的节点信息,包括以下步骤:在任一已加入节点退出目标群组的情况下,接收目标群组中已退出节点广播的离队消息,根据离队消息更新目标群组的节点信息。
对于第一节点而言,第一节点在没有开启组队之前,节点组队状态为未组队状态。在开启组队之后,第一节点将节点组队状态从未组队状态切换至正在组队状态。当第一节点的节点组队状态为正在组队状态时,第一节点执行上述通信组队方法,根据第一组队信息、第二组队信息和预设规则信息,在多个待组网节点中确定目标节点;基于目标节点的组队信息加入目标节点创建的群组。在目标群组中,第一节点的节点属性可以为队长节点、待加入节点或队员节点。
在第一节点的节点属性为队长节点或队员节点时,表示第一节点已经加入了目标群组。若当前节点组队时间结束之后,第一节点可以将节点组队状态从正在组队状态切换至已组队完成状态,以表示第一节点已完成组队。
在第一节点的节点属性为待加入节点时,表示第一节点还未加入目标群组。若当前节点组队时间结束之后,则表示第一节点本次组队失败。第一节点需要将节点组队状态从正在组队状态切换为初始组队状态—未组队状态,以便于继续下一轮的重新组队过程。
此外,除了单独的节点根据节点组队时间切换节点组队状态之外,对于当前群组的组队状态,可以通过群组中的队长节点来控制切换,包括以下步骤:在目标节点、第一节点为同一节点的情况下,若目标群组的创建时间计时结束,将目标群组的组队状态切换为组队完成状态。
其中,当前群组的创建时间可以根据群组中的各个节点的节点组队时间来确定。具体可以将群组中,节点组队时间剩余时间最长的节点确定为当前群组的创建时间。当创建时间结束时,第一节点作为队长节点,需要将当前群组的状态切换为组队完成状态。
在第一节点将当前群组的状态切换为组队完成状态之后,表示当前群组中的节点的状态全部为已组队完成状态。
上述方案中,通过群组的创建时间切换群组的组队状态,能够实现对群组组队过程中的时长控制,避免组队时长过长带来的组队效率低的问题。
如图4所示,在组队过程中,节点104创建的群组和节点105创建的群组不是已组建的群组。节点104和节点105对应的群组的组队状态为未组建状态。群组100中包含节点101、节点102和节点103,说明群组100是已组建的群组,群组100的组队状态为已组建状态。
在节点确定完组队信息之后,表示节点的初始化过程已经完成。此时节点进入下一个子状态—协商子状态。此时,节点可以通过公共信道,向其他节点发送组队信息;或者,接收其他节点广播的组队信息。节点根据接收到的组队信息和自身的组队信息,从广播组队信息的节点中确定出目标节点。
在确定出目标节点之后,节点可以判断目标群组是否为自己创建的群组。根据判断结果的不同切换不同的节点属性。当节点的节点组队状态为正在组队状态时,节点具备节点属性。当节点的节点组队状态为未组队状态、已组队完成状态或者邀请组队状态时,节点不具备节点属性。
为了保证目标节点确定的唯一性,所有处于协商子状态的节点,确定出的目标节点是同一个节点。
节点属性1—队长节点
当判断出目标群组是自己创建的群组时,节点可以将节点属性切换至队长节点。在组队过程中,队长节点相当于一个临时的中心节点,负责管理目标群组的群组数据,以及控制目标群组的节点数量。
当节点的节点属性为队长节点时,节点主要执行以下步骤:
(1)节点可以通过工作信道,向所有队员节点发送目标群组的节点信息。目标群组的节点信息包括目标群组中所有队员节点的节点信息和队长节点的节点信息。节点信息包括节点的物理地址和节点组队状态。
当队长节点退出目标群组时,所有队员节点能够根据目标群组的节点信息,从所有队员节点中协商出新的队长节点,继续执行队长节点的工作。
(2)队长节点可以通过工作信道,广播队长节点的节点信息,以使待加入节点确定目标群组中哪一个节点是队长节点。基于节点的节点信息,待加入节点可以向节点发送组队请求。
(3)节点还可以通过公共信道,向目标群组的节点之外的其他节点发送目标群组的组队信息,以便于晚开启组队的其他节点能够发现该目标群组。
节点属性2—待加入节点(待加入节点)
当判断出目标群组不是自己创建的群组时,节点可以将节点属性切换至待加入节点。节点的节点属性为待加入节点,节点是否能够加入目标群组,取决于目标群组中的队长节点是否同意。当节点的节点属性为待加入节点时,节点主要执行以下步骤:
(1)节点可以通过工作信道,接收队长节点广播的节点信息。节点基于队长节点的节点信息,向队长节点发送组队请求。
若当前节点接收到队长节点广播的组队成功响应消息,表示队长节点同意节点加入目标群组。节点可以进一步将节点属性切换为队员节点。若当前节点接收到队长节点广播的组队失败响应消息,表示队长节点不同意节点加入目标群组。
(2)节点可以通过公共信道,向目标群组的节点之外的其他节点发送目标群组的组队信息,以便于晚开启组队的其他节点能够发现该目标群组。
节点属性3—已加入节点(队员节点)
当节点的节点属性为待加入节点时,若当前节点接收到队长节点广播的组队成功响应消息,表示队长节点同意节点加入目标群组。节点可以将节点属性从待加入节点切换为队员节点。队员节点主要负责与队长节点维护目标群组的群组数据。
在节点的节点属性为队员节点时,节点主要执行以下步骤:
(1)节点可以通过工作信道,接收其他队员节点的节点信息,向其他队员节点发送自身的节点信息。在节点属性为待加入节点时,节点已经接收队长节点广播的节点信息。因此,节点可以根据队长节点的节点信息、节点的节点信息和其他队员节点的节点信息,得到目标群组的节点信息。
(2)节点可以通过工作信道,接收队长节点广播的目标群组的节点信息。
在通过上述两种方式得到目标群组的节点信息之后,在目标群组中的队长节点退出目标群组的情况下,节点可以根据目标群组的节点信息,确定出新的队长节点。
(3)节点可以通过公共信道,向目标群组的节点之外的其他节点发送组队信息,以便于晚开启组队的其他节点能够发现该目标群组。
当第一节点为已加入节点的情况下,除了广播节点信息或者组队信息之外。第一节点还可以广播其他的信息,例如第一节点的标识、第一节点所连接的终端设备的名称(例如与节点蓝牙连接的终端设备的标识、节点连接的Wi-Fi名称)等,以便于用户在需要查看上述信息时,可以在界面进行浏览。
节点组队状态3—已组队完成状态
如图5所示,无论节点的节点属性是队长节点、待加入节点还是队员节点,节点的节点组队状态都是正在组队状态,表示当前的组队过程未结束。每个节点在组队过程中对应有节点组队时间。节点的组队过程是否结束取决于节点组队时间。换句话说,只要节点的节点组队时间没结束,节点的节点组队状态一直为正在组队状态。
当节点的节点组队时间结束之后,若当前节点的节点属性为队长节点或者队员节点,节点可以将节点组队状态从正在组队状态转换为已组队完成状态,代表组队过程已结束且本次组队成功。
若当前节点的节点属性为待加入节点,节点可以将节点组队状态从正在组队状态转换为初始的节点组队状态—未组队状态,代表组队过程已结束且本次组队失败,节点可以在下一轮开启组队时重新组队。由于每个节点开启组队的时间可能不同。因此每个节点的节点组队时间结束的时间可能不同。基于此,队长节点和队员节点将节点组队状态转换为已组队完成状态的时间也可能不同。
当目标群组中所有节点的节点组队时间全部结束,队长节点和队员节点可以将节点组队状态从正在组队状态转换为已组队完成状态。待加入节点可以将节点组队状态从正在组队状态转换为未组队状态,离开目标群组。此时,目标群组中的节点不具备节点属性。即,目标群组中不存在队长节点和队员节点,所有节点处于相同的地位。
同时,在节点组队状态为已组队完成状态后,目标群组中的所有节点不再通过公共信道,与目标群组的节点之外的其他节点通信,而是通过工作信道,与目标群组中的节点通信。
如图4所示,对于群组100中的节点101、节点102和节点103。假设在组队过程中,节点101为队长节点、节点102和节点103为队员节点。那么在节点101、节点102和节点103的节点组队时间全部结束之后,节点101、节点102和节点103可以将节点组队状态从正在组队状态转换为已组队完成状态。此时,节点101、节点102和节点103处于相同的地位,节点101、节点102和节点103可以通过群组100的工作信道通信。
当目标群组中,一部分节点的节点组队时间结束,另一部分节点的节点组队时间未结束。此时,节点组队时间结束的节点可以将节点组队状态切换为已组队完成状态,节点组队时间未结束的节点继续保持正在组队状态,保持原来的节点属性(例如队员节点或者队长节点)。
已组队完成状态的节点可以基于目标群组的工作信道,与目标群组中其他处于已组队完成状态的节点进行通信。正在组队状态的节点还可以通过公共信道,与目标群组的节点之外的其他节点通信。
如图4所示,对于群组100中的节点101、节点102和节点103。假设在组队过程中,节点101为队长节点、节点102和节点103为队员节点。若某一时刻,节点101的节点组队时间结束,节点102和节点103的节点组队时间未结束。那么节点101将节点组队状态从正在组队状态切换为已组队完成状态。节点102和节点103的节点组队状态仍然为正在组队状态,保持队员节点的节点属性。
节点102和节点103可以根据群组100的节点信息,从节点102和节点103中协商出新的队长节点。假设协商之后新的队长节点为节点102。节点102和节点103可以通过公共信道,向节点104和节点105发送群组100的组队信息。
在节点104和节点105确定将群组100作为目标群组的情况下,节点104和节点105将节点属性转换为待加入节点。新的队长节点—节点102可以通过工作信道,向节点104和节点105发送节点102的节点信息。节点104和节点105在接收到节点102的节点信息之后,向节点102发送组队请求。节点102根据节点数量判断节点104和节点105能否加入群组100。
节点组队状态4—邀请组队状态
无论节点的节点属性是队长节点还是队员节点,在将节点组队状态转化为已组队完成状态之后,若当前节点想邀请新的节点加入目标群组,可以通过邀请组队的方式实现。
节点可以响应于邀请操作指令,将节点组队状态从已组队完成状态转换为邀请组队状态。由此节点进入邀请组队过程,此时节点可以看作是一个临时的队长节点。节点可以通过公共信道,向目标群组的节点之外的其他节点发送组队信息。在其他节点需要申请加入目标群组时,可以基于节点的节点信息,向节点发送组队请求。
应理解,邀请组队状态的节点也对应有邀请组队时间。在邀请组队时间结束时,节点可以将节点组队状态从邀请组队状态恢复至已组队完成状态。
针对于目标群组中的所有节点的节点组队时间是否全部结束,群组中的节点邀请组队过程具体分为以下几种场景:
场景一、目标群组中的所有节点的节点组队状态均为已组队完成状态
如图4所示,对于群组100中的节点101、节点102和节点103。假设在组队过程中,节点101为队长节点、节点102和节点103为队员节点。那么在节点101、节点102和节点103的节点组队时间全部结束之后,节点101、节点102和节点103可以将节点组队状态转换为已组队完成状态。此时,节点101、节点102和节点103不再通过公共信道,与群组100的节点之外的其他节点通信,而是通过群组100的工作信道通信。
当需要在目标群组中加入新的节点时,可以先通过邀请操作,将目标群组中任意一个节点的节点组队状态从已组队完成状态切换为邀请组队状态。此时,这个处于邀请组队状态的节点可以通过公共信道,与目标群组的节点之外的其他节点通信。
如图4所示,在群组100中加入新的节点时,可以将节点102的节点组队状态从已组队完成状态切换为邀请组队状态。此时节点102可以通过公共信道,向群组100的节点之外的节点104和节点105发送群组100的组队信息,以邀请节点104和节点105加入群组100。
场景二、目标群组中的部分节点的节点组队状态为已完成组队状态
如图4所示,对于群组100中的节点101、节点102和节点103。假设在组队过程中,节点101为队长节点、节点102和节点103为队员节点。若某一时刻,节点101的节点组队时间结束,节点102和节点103的节点组队时间未结束。那么节点101将节点组队状态从正在组队状态切换为已组队完成状态。节点102和节点103的节点组队状态仍然为正在组队状态,保持队员节点的节点属性。
此时,节点102和节点103还可以继续通过公共信道,与节点104和节点105发送群组100的组队信息。因此,节点102和节点103不需要通过邀请组队的方式邀请群组100之外的节点104和节点105。
若当前节点101需要邀请节点104和节点105时,可以先将节点101的节点组队状态从已组队完成状态切换为邀请组队状态。此时节点101可以通过工作信道,向节点104和节点105发送群组100的组队信息,以邀请节点104和节点105加入群组100。
图7是本申请实施例提供的一种通信组队的装置的结构示意图。如图7所示,该装置700包括:
发送模块701,用于广播第一组队信息,第一组队信息为第一节点的组队信息,该组队信息包括群组创建节点的节点信息和群组参数;该节点信息包括群组创建节点的物理地址、节点组队状态;该群组参数包括群组的组队状态、创建时间;
接收模块702,用于接收第二组队信息,第二组队信息为自组织网络中各个节点广播的组队信息;
处理模块703,用于根据第一组队信息、第二组队信息和预设规则信息,在多个待组网节点中确定目标节点;基于目标节点的组队信息加入目标群组。
在本公开实施例中,参见图8,每个节点间隔预设时间周期在公共信道广播组队信息,组队信息为未加密信息,所有设备均可以在公共信道进行接收并解析。这样,可以避免后发起组队的设备节点无法发现当前设备节点的组队信息。
图9是本申请实施例提供的一种终端设备的结构示意图。如图9所示,该终端设备900包括:存储器901和处理器902,其中,存储器901中存储有可执行程序代码9011,处理器902用于调用并执行该可执行程序代码9011执行一种通信组队方法。
本实施例可以根据上述方法示例对终端设备进行功能模块的划分,例如,可以对应各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中,上述集成的模块可以采用硬件的形式实现。需要说明的是,本实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,该终端设备可以包括:发送模块、接收模块和处理模块等。需要说明的是,上述方法实施例涉及的各个步骤的所有相关内容的可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的终端设备,用于执行上述一种通信组队方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,终端设备可以包括处理模块、存储模块。其中,处理模块可以用于对终端设备的动作进行控制管理。存储模块可以用于支持终端设备执行相互程序代码和数据等。
其中,处理模块可以是处理器或控制器,其可以实现或执行结合本申请公开内容所藐视的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包括一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等,存储模块可以是存储器。
本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述相关方法步骤实现上述实施例中的一种通信组队方法。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的一种通信组队方法。
另外,本申请的实施例提供的终端设备具体可以是芯片,组件或模块,该终端设备可包括相连的处理器和存储器;其中,存储器用于存储指令,当终端设备运行时,处理器可调用并执行指令,以使芯片执行上述实施例中的一种通信组队方法。
其中,本实施例提供的终端设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种通信组队方法,其特征在于,所述方法由自组织网络中的第一节点执行,所述自组织网络包括多个待组网节点,所述方法包括:
在所述第一节点的节点组队状态为未组队状态的情况下,响应于组队触发指令,将所述第一节点的节点组队状态从所述未组队状态切换为正在组队状态;
生成所述第一节点的第一组队信息;
间隔预设时间周期广播所述第一组队信息,所述第一组队信息为第一节点的组队信息,所述组队信息包括群组创建节点的节点信息和群组参数;所述节点信息包括群组创建节点的物理地址、节点组队状态;所述群组参数包括群组的组队状态、创建时间;
接收第二组队信息,所述第二组队信息为所述多个待组网节点中各个节点广播的组队信息;
根据所述第一组队信息、所述第二组队信息和预设规则信息,在所述多个待组网节点中确定目标节点;基于所述目标节点的组队信息加入所述目标节点创建的群组;
其中,所述群组参数包括群组的组队状态,所述在所述多个待组网节点中确定目标节点,包括:
根据每个群组的组队状态,在所述多个待组网节点中每个节点对应的群组中,确定第一群组;所述第一群组的组队状态为已组建状态;
在存在所述第一群组且所述第一群组的数量为一个的情况下,将所述第一群组对应的节点确定为所述目标节点;
在不存在所述第一群组,或所述第一群组的数量为多个的情况下,在所述多个待组网节点对应的群组中,确定群组的创建时间最早的第二群组;在所述第二群组的数量为一个的情况下,将所述第二群组对应的节点确定为目标节点。
2.根据权利要求1所述的方法,其特征在于,所述群组创建节点的节点信息包括群组创建节点的物理地址,所述确定群组的创建时间最早的第二群组之后,所述方法还包括:
在所述第二群组数量为多个的情况下,在所述多个待组网节点对应的群组中,将物理地址最大的节点确定为所述目标节点。
3.根据权利要求1所述的方法,其特征在于,所述目标节点创建的群组为目标群组,所述基于所述目标节点的组队信息加入所述目标节点创建的群组,包括:
在所述目标节点、所述第一节点为同一节点的情况下,将所述第一节点的节点属性切换为队长节点;
否则,将所述第一节点的节点属性切换为待加入节点;向所述目标节点发送第一组队请求,所述第一组队请求用于请求加入所述目标群组;接收所述目标节点发送的响应消息,根据所述响应消息中的群组密钥加入所述目标群组。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述目标节点、所述第一节点为同一节点的情况下,在预设时长内广播所述第一节点的组队信息;接收所述待加入节点广播的第二组队请求,将所述待加入节点加入所述目标群组;
否则,在预设时长内广播所述目标节点的组队信息,以使所述待加入节点基于所述目标节点的组队信息向所述目标节点发送第三组队请求。
5.根据权利要求4所述的方法,其特征在于,所述在所述目标节点、所述第一节点为同一节点的情况下,接收所述待加入节点广播的第二组队请求,将所述待加入节点加入所述目标节点创建的群组,包括:
响应于接收到所述待加入节点广播的第二组队请求,确定所述目标节点创建的群组中的节点数量是否超出预设值;
在所述节点数量未超出所述预设值的情况下,将所述待加入节点加入所述目标节点创建的群组,向所述待加入节点发送组队成功响应消息,组队成功响应消息中包括群组密钥;否则,向所述待加入节点发送组队失败响应消息。
6.根据权利要求3所述的方法,其特征在于,所述目标节点创建的群组为目标群组,所述方法还包括以下任一项:
根据所述第一节点的节点信息以及所述目标群组中已加入节点的节点信息,确定所述目标群组的节点信息;
在所述第一节点退出所述目标群组的情况下,广播所述第一节点的离队消息,以使所述目标群组中已加入节点更新所述目标群组的节点信息;
在所述目标节点、所述第一节点为同一节点的情况下,若所述目标群组的创建时间计时结束,将所述目标群组的组队状态切换为组队完成状态;
在任一已加入节点退出所述目标群组的情况下,接收所述目标群组中已退出节点广播的离队消息,根据所述离队消息更新所述目标群组的节点信息。
7.一种通信组队的装置,其特征在于,应用于第一节点,所述装置包括:
发送模块,用于在所述第一节点的节点组队状态为未组队状态的情况下,响应于组队触发指令,将所述第一节点的节点组队状态从所述未组队状态切换为正在组队状态;生成所述第一节点的第一组队信息;间隔预设时间周期广播所述第一组队信息,所述第一组队信息为第一节点的组队信息,所述组队信息包括群组创建节点的节点信息和群组参数;所述节点信息包括群组创建节点的物理地址、节点组队状态;所述群组参数包括群组的组队状态、创建时间;
接收模块,用于接收第二组队信息,所述第二组队信息为多个待组网节点中各个节点广播的组队信息;
处理模块,用于根据所述第一组队信息、所述第二组队信息和预设规则信息,在所述多个待组网节点中确定目标节点;基于所述目标节点的组队信息加入所述目标节点创建的群组;
其中,所述群组参数包括群组的组队状态,所述处理模块具体用于:
根据每个群组的组队状态,在所述多个待组网节点中每个节点对应的群组中,确定第一群组;所述第一群组的组队状态为已组建状态;
在存在所述第一群组且所述第一群组的数量为一个的情况下,将所述第一群组对应的节点确定为所述目标节点;
在不存在所述第一群组,或所述第一群组的数量为多个的情况下,在所述多个待组网节点对应的群组中,确定群组的创建时间最早的第二群组;在所述第二群组的数量为一个的情况下,将所述第二群组对应的节点确定为目标节点。
8.一种终端设备,其特征在于,所述终端设备包括:
存储器,用于存储可执行程序代码;
处理器,用于从所述存储器中调用并运行所述可执行程序代码,使得所述终端设备执行如权利要求1至6中任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1至6中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311346589.6A CN117098075B (zh) | 2023-10-18 | 2023-10-18 | 通信组队方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311346589.6A CN117098075B (zh) | 2023-10-18 | 2023-10-18 | 通信组队方法、装置、终端设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117098075A CN117098075A (zh) | 2023-11-21 |
CN117098075B true CN117098075B (zh) | 2024-01-05 |
Family
ID=88772026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311346589.6A Active CN117098075B (zh) | 2023-10-18 | 2023-10-18 | 通信组队方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117098075B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2464147A1 (en) * | 2010-12-09 | 2012-06-13 | Sony Corporation | Information processing apparatus, server apparatus, group creation system, group creation method, and program |
CN103369578A (zh) * | 2013-07-23 | 2013-10-23 | 中国科学技术大学苏州研究院 | 无线自组织网络环境下的群组生成与维护方法 |
WO2014017959A1 (en) * | 2012-07-27 | 2014-01-30 | Telefonaktiebolaget L M Ericsson (Publ) | Secure session for a group of network nodes |
CN103905999A (zh) * | 2014-03-18 | 2014-07-02 | 重庆邮电大学 | 一种适用于无线传感器网络的多用户广播认证方法 |
CN113329350A (zh) * | 2021-06-21 | 2021-08-31 | 东莞市吉声技术有限公司 | 对讲设备组网方法、装置、对讲设备和可读存储介质 |
CN115278523A (zh) * | 2022-07-23 | 2022-11-01 | 深圳哲轮科技有限公司 | 自行车车辆互联组队方法、装置、设备及可读存储介质 |
CN116866899A (zh) * | 2023-09-04 | 2023-10-10 | 北京理工大学 | 多节点无线自组网通信方法、装置、电子设备及存储介质 |
-
2023
- 2023-10-18 CN CN202311346589.6A patent/CN117098075B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2464147A1 (en) * | 2010-12-09 | 2012-06-13 | Sony Corporation | Information processing apparatus, server apparatus, group creation system, group creation method, and program |
WO2014017959A1 (en) * | 2012-07-27 | 2014-01-30 | Telefonaktiebolaget L M Ericsson (Publ) | Secure session for a group of network nodes |
CN103369578A (zh) * | 2013-07-23 | 2013-10-23 | 中国科学技术大学苏州研究院 | 无线自组织网络环境下的群组生成与维护方法 |
CN103905999A (zh) * | 2014-03-18 | 2014-07-02 | 重庆邮电大学 | 一种适用于无线传感器网络的多用户广播认证方法 |
CN113329350A (zh) * | 2021-06-21 | 2021-08-31 | 东莞市吉声技术有限公司 | 对讲设备组网方法、装置、对讲设备和可读存储介质 |
WO2022267561A1 (zh) * | 2021-06-21 | 2022-12-29 | 东莞市吉声技术有限公司 | 对讲设备组网方法、装置、对讲设备和可读存储介质 |
CN115278523A (zh) * | 2022-07-23 | 2022-11-01 | 深圳哲轮科技有限公司 | 自行车车辆互联组队方法、装置、设备及可读存储介质 |
CN116866899A (zh) * | 2023-09-04 | 2023-10-10 | 北京理工大学 | 多节点无线自组网通信方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
基于身份的空间网络组密钥管理方案;罗长远;李伟;霍士伟;;通信学报(12);全文 * |
多水下机器人编队的组网通信方法研究;黄海;李岳明;庞永杰;;电机与控制学报(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117098075A (zh) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6906565B2 (ja) | Nanデータリンクに参加しているデバイス間でのスケジュール選択および接続セットアップ | |
US10034160B2 (en) | Method and apparatus for transmitting or receiving data using bluetooth in wireless communication system | |
US10560974B2 (en) | Method and apparatus for connecting device by using Bluetooth technology | |
US9716969B2 (en) | Method and apparatus for controlling device in wireless communication system | |
RU2295841C2 (ru) | Речевая связь в пакетном режиме | |
US11082851B2 (en) | Method and apparatus for processing audio signal by using Bluetooth technology | |
US20160359925A1 (en) | Method and apparatus for transmitting and receiving data in wireless communication system | |
US9900827B2 (en) | Method and apparatus for transmitting and receiving data in wireless communication system | |
TW200913548A (en) | Performing paging in a wireless peer-to-peer network | |
US20180132092A1 (en) | Method for performing scanning in wireless communication system, and apparatus therefor | |
Afaneh | Intro to Bluetooth low energy | |
US20210067329A1 (en) | High availability secure network including dual mode authentication | |
EP4008118B1 (en) | Secure path discovery in a mesh network | |
US20240049116A1 (en) | Method for transmitting and receiving data and device for same in short-range wireless communication system | |
US20210243599A1 (en) | User authentication method through bluetooth device and device therefor | |
CN117098075B (zh) | 通信组队方法、装置、终端设备和存储介质 | |
WO2014206273A1 (zh) | 对码方法和装置 | |
US20170201506A1 (en) | Communication Method, Apparatus, and System | |
Soroush et al. | Providing transparent security services to sensor networks | |
CN102857918A (zh) | 一种车载通信系统 | |
US20230103916A1 (en) | Audio data reception method using short-range wireless communication in wireless communication system, and apparatus therefor | |
EP4142359A1 (en) | Method, device, and computer program for selecting channel in wireless communication system, and recording medium therefor | |
US20240023174A1 (en) | Apparatus and method for performing dynamic mode switching in short range wireless communication system | |
US20230422323A1 (en) | Method and apparatus for transmitting isochronous data in short-range wireless communication system | |
US20240107503A1 (en) | Method and device for transmitting audio data in short-range wireless communication system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |