CN115567997A - 设备发现群组的中心节点选取方法及装置 - Google Patents
设备发现群组的中心节点选取方法及装置 Download PDFInfo
- Publication number
- CN115567997A CN115567997A CN202210375944.1A CN202210375944A CN115567997A CN 115567997 A CN115567997 A CN 115567997A CN 202210375944 A CN202210375944 A CN 202210375944A CN 115567997 A CN115567997 A CN 115567997A
- Authority
- CN
- China
- Prior art keywords
- group
- node
- score
- terminal
- central node
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- 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
- 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
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
-
- 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
Abstract
本申请提供了一种设备发现群组的中心节点选取方法及装置,该方案中,处于一定通信范围的多个电子设备可以形成一个设备发现群组,并选取一个设备作为中心节点,周期性收集群组内其他设备的设备信息并下发给群组内的所有设备,使群组内所有设备在业务触发就能获得其他设备的设备信息,从而提高业务处理效率。而且,该方案在选取中心节点时基于设备的通信能力和功耗敏感程度动态选取中心节点,确保应用场景内设备整体功耗满足一定需求的前提下,提升了整体设备发现效率。
Description
技术领域
本申请涉及无线通信技术领域,尤其涉及设备发现群组的中心节点选取方法及装置。
背景技术
在日常办公或生活场景中,在一定区域范围内的多个终端设备可以进行通信,实现终端设备的业务能力,如文件共享、数字媒体投屏、通话迁移等业务能力。但是上述业务能力的构建,都是以终端设备之间的相互发现为前提,即终端设备之间必须知晓对方的必要信息,包括业务能、网络通信能力及身份标识信息等。而相关技术中的设备发现过程效率低下,且功耗高。
发明内容
有鉴于此,本申请提供了设备发现群组的中心节点选取方法及装置,以解决上述的问题,其公开的技术方案如下:
第一方面,本申请提供了一种设备发现群组的中心节点选取方法,应用于第一终端,第一终端属于第一群组,第一群组还包括至少一个第二终端,方法包括:第一终端基于自身的能耗敏感度和通信能力,获得自身作为中心节点的第一得分,能耗敏感度表征终端对能耗的敏感程度,且能耗敏感度与能耗敏感程度负相关,通信能力与终端支持的通信协议数量正相关;第一终端广播第一报文,第一报文包括第一终端的第一设备信息,第一设备信息包括第一得分;接收第二终端响应第一报文发送的第二报文,第二报文包括第二终端的第二设备信息,第二设备信息包括第二得分,第二得分表征第二终端作为中心节点的得分,第二终端基于第一报文更新第二终端本地的设备信息获得第二得分列表,并基于第二得分列表选取得分最高的终端为第一群组的中心节点;第一终端基于第二报文更新第一终端本地的设备信息,得到第一得分列表,得分列表中包括第一群组内各终端的得分;第一终端基于第一得分列表,选取得分最高的终端为第一群组的中心节点。这样,基于设备的通信能力和功耗敏感程度动态选取中心节点,确保应用场景内设备整体功耗满足一定需求的前提下,进一步提升整体设备发现效率。
在第一方面一种可能的实现方式中,第一终端获取能耗敏感度的过程,包括:获取第一终端的能耗敏感参数,能耗敏感参数包括终端的外部电源供给状态、设备状态、终端的最大允许电池容量、电池容量和当前剩余电量;外部电源供给状态包括有外部电源供给和没有外部电源供给;设备状态包括唤醒状态和休眠状态;第一终端基于自身的能耗敏感参数获得能耗敏感度,当电池容量和当前剩余电量不变时,能耗敏感度与有外部电源供给状态和唤醒状态正相关,且有外部电源供给状态的重要性高于唤醒状态;当外部电源供给状态和设备状态不变时,能耗敏感度与电池容量和当前剩余电量正相关。可见,该方案在选取中心节点之前综合考虑了设备的能耗敏感参数,因此,可以选取能耗不敏感的设备作为中心节点。
在第一方面另一种可能的实现方式中,所述第一终端基于自身的能耗敏感参数获得所述能耗敏感度,包括:
其中,BCmax表示所有终端设备中的最大允许电池容量,PS表示设备是否有电源供给(有电源供给PS=2,否则PS=1);LG表示设备是否处于唤醒状态(设备处于唤醒状态LG=2,设备处于休眠状态LG=1);BC表示设备电池容量信息(单位为mAh);LC表示设备当前剩余电量的百分比数值;在电池容量和当前剩余电量不变的情况下,f1(BCmax,BC,LC)>f2(BCmax,BC,LC)>f3(BCmax,BC,LC)>f4(BCmax,BC,LC)。
在第一方面又一种可能的实现方式中,第一终端是第一群组内的任一节点,该方法还包括:当第一终端检测到第一群组内得分最高的节点发生变化后,选取得分最高的节点作为第一群组的新中心节点。可见,该方案可以根据群组内设备的状态动态切换中心节点,避免了中心节点出现异常或不支持新加入设备的通信协议时,影响整体设备发现效率的情况发生,因此保证了群组的整体设备发现效率。
在第一方面再一种可能的实现方式中,第一终端为第一群组的中心节点;当第一终端检测到第一群组内得分最高的节点发生变化后,选取得分最高的节点作为第一群组的新中心节点,包括:第一终端检测到第一群组内状态发生变化的节点后,获取状态发生变化的节点对应的最新得分;第一终端基于最新得分,更新第一终端本地的得分列表,得到最新得分列表,最新得分列表包括第一群组内各节点的最新得分;第一终端向第一群组内所有外围节点广播最新得分列表,使得外围节点将各自本地的得分列表更新为最新得分列表,并使外围节点基于最新得分列表选取得分最高的节点为第一群组的新中心节点;第一终端基于本地的最新得分列表,确定第一群组中得分最高的节点发生变化后,选取得分最高的节点为第一群组的新中心节点。可见,如果群组内任一设备的状态发生变化,导致中心节点在SList中的排名下降后,触发新的中心节点的选取过程,避免由于中心节点的效率低影响整个设备发现效率的现象发生,从而提高了整体设备发现效率。
在第一方面另一种可能的实现方式中,第一终端获取第一群组内状态发生变化的节点对应的最新得分,包括:第一终端确定自身的状态发生变化后,获得自身的最新状态,以及基于第一终端的最新状态获得自身作为第一群组的中心节点的最新得分。可见,该方案可以在中心节点自身的状态发生变化,导致其在SList中的排名下降后,同样会触发新的中心节点选取过程,避免中心节点出现异常或不支持新加入设备的通信协议时,影响整体设备发现效率的情况发生,提高了群组设备发现效率。
在第一方面又一种可能的实现方式中,第一终端获取第一群组内状态发生变化的节点对应的最新得分,包括:第一终端接收第一群组内的外围节点主动发送的外围节点的最新设备信息,最新设备信息包括外围节点作为中心节点的最新得分,最新得分由外围节点检测到自身状态发生变化后获得;第一终端解析外围节点的最新设备信息,获得外围节点作为中心节点的最新得分。这样,中心节点可以感知外围节点的状态变化,如果外围节点的状态变化导致中心节点的排名下降,则触发新的中心节点选取过程,可以避免整体设备发现效率下降,保证了群组设备发现效率。
在第一方面再一种可能的实现方式中,外围节点的最新设备信息由外围节点检测到自身状态发生变化后主动发送至第一终端;或者,外围节点的最新设备信息由外围节点检测到自身状态发生变化,且外围节点的得分排名发生变化后,主动发送至第一终端。
在第一方面另一种可能的实现方式中,第一终端为第一群组的第一中心节点;当第一终端检测到第一群组内得分最高的节点发生变化后,选取得分最高的节点作为第一群组的新中心节点,包括:第一中心节点检测到新节点加入第一群组后,获取新节点加入后的新的第一群组对应的最新得分列表,最新得分列表包括新节点作为新的第一群组的中心节点的得分;第一中心节点基于最新得分列表确定新的第一群组内得分最高的节点变化后,选取得分最高的节点作为加入新节点的第一群组的新中心节点;第一中心节点将最新得分列表下发给新的第一群组中的各个外围节点,使得各个外围节点基于最新得分列表选取得分最高的节点为加入新节点的第一群组的新中心节点。可见,不同的群组在通信范围允许的情况下可以合并为一个群组,从而减少中心节点设备的数量,降低了整个群组的整体功耗。
在第一方面又一种可能的实现方式中,第一中心节点检测到新节点加入第一群组后,获取新节点加入后的新的第一群组对应的最新得分列表,包括:第一中心节点广播第三报文,第三报文包括第一群组的第一得分列表,第一得分列表包括第一群组内各终端作为中心节点的得分;第一中心节点接收新节点响应第三报文发送的第四报文,第四报文包括新节点作为中心节点的得分;第一中心节点将新节点的得分更新至第一中心节点本地的第一得分列表中,获得最新得分列表。
在第一方面再一种可能的实现方式中,第一中心节点检测到新节点加入第一群组后,获取新节点加入后的新的第一群组对应的最新得分列表,包括:第一中心节点广播第五报文,第五报文包括第一得分列表,第一得分列表包括第一群组内各终端作为中心节点的得分;第一中心节点接收第二群组的第二中心节点响应第五报文发送的第六报文,第六报文包括第二得分列表,第二得分列表包括第二群组内各终端作为中心节点的得分;第一中心节点合并第二得分列表和第一得分列表,获得新群组的最新得分列表,新群组是第一群组和第二群组合并后的群组,最新得分列表包括新群组内各个节点作为中心节点的得分。
在第一方面另一种可能的实现方式中,第一终端是第一群组中的外围节点;当第一终端检测到第一群组内得分最高的节点发生变化后,选取得分最高的节点作为第一群组的新中心节点,包括:第一终端在接收到第一群组的第一中心节点的广播报文时,开始计时,若直到计时时长大于或等于第一预设时长,第一终端未接收到来自第一中心节点的广播报文,确定第一中心节点离开群组,第一预设时长大于第一中心节点的广播周期;第一终端从本地的第一得分列表中删除第一中心节点的得分,得到第一群组的最新得分列表;第一群组的各外围节点基于本地的最新得分列表,选取得分最高的终端为第一群组的新中心节点。可见,群组内的外围节点可以感知到中心节点离开群组,触发重新选取中心节点的过程。避免了中心节点离开群组导致群组内无法进行设备发现的情况发生,提高了群组的设备发现效率。
在第一方面又一种可能的实现方式,该方法还包括:第三终端接收第一群组的第一中心节点广播的第一得分列表,以及接收第二群组的第二中心节点广播的第二得分列表,第一得分列表包括第一群组内各终端作为中心节点的得分,第二得分列表包括第二群组内各终端作为中心节点的得分;第三终端基于预设群组加入条件确定第一群组为目标群组后,基于第一得分列表更新第三终端本地的得分列表;第三终端基于本地更新后的得分列表,选取得分最高的节点作为第一群组的新中心节点;第三终端向第一中心节点发送第三终端作为中心节点的得分,使得第一群组内其它节点基于第三终端的得分更新各自本地的得分列表,以及使其它节点基于更新后的得分列表选取得分最高的节点作为第一群组的新中心节点。这样,当一个设备处于两个群组的通信范围交集处时,可以选择一个群组加入,并触发该群组内各设备重新选取中心节点的过程,以确保得分最高的设备作为中心节点,从而提高群组的设备发现效率。
在第一方面再一种可能的实现方式中,预设群组加入条件包括选择包含设备数量更多的群组加入,或者,选择包含登录账号与自身登录账号相同的设备所在群组加入。
第二方面,本申请还提供了一种电子设备,电子设备包括:一个或多个处理器、存储器和触摸屏;存储器用于存储程序代码;处理器用于运行程序代码,使得电子设备实现如第一方面任一项的设备发现群组的中心节点选取方法。
第三方面,本申请还提供了一种计算机可读存储介质,其上存储有指令,当指令在电子设备上运行时,使得电子设备执行如第一方面任一项的设备发现群组的中心节点选取方法。
应当理解的是,本申请中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本申请实施例提供的一种设备发现系统的示意图;
图1B是本申请实施例提供的一种业务触发设备发现过程的示意图;
图2是本申请实施例提供的一种电子设备的结构示意图;
图3是本申请实施例提供的一种电子设备的软件结构的示意图;
图4是本申请实施例提供的一种中心节点选取过程的流程图;
图5A是本申请实施例提供的一种广播周期的示意图;
图5B是本申请实施例提供的一个示例中选取中心节点过程的示意图;
图5C是本申请实施例提供的一应用场景的示意图;
图6A是本申请实施例提供的一种中心节点切换场景的示意图;
图6B是本申请实施例提供的另一种中心节点选取方法的流程图;
图7是本申请实施例提供的另一个示例中选取中心节点过程的示意图;
图8A是本申请实施例提供的另一种中心节点切换场景的示意图;
图8B是本申请实施例提供的又一种中心节点选取方法的流程图;
图9是本申请实施例提供的又一个示例中选取中心节点过程的示意图;
图10是本申请实施例提供的一种群组合并场景的示意图;
图11A是本申请实施例提供的一种群组合并后选取中心节点过程的示意图;
图11B是本申请实施例提供的另一种群组合并后选取中心节点过程的示意图;
图12A是本申请实施例提供的群组合并场景中选取中心节点过程的流程图;
图12B是本申请实施例提供的一种群组合后中心节点与外围节点交互场景的示意图;
图12C是本申请实施例提供的群组合并场景中中心节点后与外围节点交互的流程示意图图;
图13A是本申请实施例提供的一种中心节点离开群组场景的示意图;
图13B是本申请实施例提供的中心节点离开群组场景下的选取中心节点过程的流程图;
图14是本申请实施例提供的中心节点离开群组场景的示意图;
图15A是本申请实施例提供的一种中心节点切换场景的示意图;
图15B是本申请实施例提供的又一种选取中心节点过程流程图;
图16是本申请实施例提供的又一种选取中心节点过程的示意图。
具体实施方式
本申请说明书和权利要求书及附图说明中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了下述各实施例的描述清楚简洁,首先对本文涉及的相关技术术语及相关技术进行简要介绍:
中心节点:在一定区域范围内的多个终端设备中选取一个设备作为中心节点(或称为中心节点设备),构建设备发现群组,中心节点设备可以与群组内的其他设备进行通信,而且,可以收集外围节点设备的信息并及时下发给其他各终端设备。
外围节点:设备发现群组中除中心节点之外的其他设备,可以与设备发现群组中的中心节点进行通信,接收中心节点下发的群组内其他设备的信息,使终端设备提前获知同一群组内其他设备的具体信息,加快设备发现过程。
休眠状态:终端设备的系统处于休眠状态,只有通过单播报文才能主动唤醒,广播报文无法唤醒。例如,没有接入电源、同时不在后台业务处理的息屏设备通常处于休眠状态。
唤醒状态:终端设备的系统处于唤醒状态,可以处理所有的数据报文。亮屏的设备、接入电源的设备都属于唤醒状态设备。
唤醒周期:休眠设备为了处理系统相关任务,系统会周期性唤醒,唤醒会持续一段时间。
设备发现类型A报文:下文简称A类报文,由中心节点设备发送,收到该报文的边缘节点设备需要回复。设备发现类型A报文包含内容:群组内已发现的所有设备的信息、发现报文的广播周期。
设备发现类型B报文:下文简称B类报文,由中心节点设备发送,此类报文中携带群组内已发现的所有设备的信息,收到该报文的边缘节点设备不需要回复。
设备发现类型C报文:下文简称C类报文,由边缘节点设备发送给中心节点设备,此类报文中携带本设备的信息和唤醒周期信息。收到该报文的中心节点设备需要回复。
设备发现确认报文(ACK):用于确认设备发现类型A、B、C报文已经被接收。
身份标识,是终端设备的唯一身份标识,可以唯一表征终端设备。在设备发现过程中,方便其他设备识别该设备。
通信能力,用于表征终端设备可用的通信方式及通信地址,例如,终端设备当前可以使用蓝牙通信方式及蓝牙地址,以及,WiFi通信及WiFi地址等。在设备发现过程中,方便其他设备基于该设备的通信能力建立相应的通信连接,进而通过该通信连接传输数据。
业务能力,用于表征终端设备支持的与其他终端设备之间的业务功能,例如,文件分享、数字媒体投屏、通话迁移等业务。在其他设备与该设备相互发现之后,其他设备可以记录该设备的业务能力,以便进行相应的业务操作,如两设备之间进行文件分享。
广播周期,设备发现群组内的中心节点设备周期性进行设备发现过程,进行设备发现的周期可以称为广播周期。
下面结合图1A介绍可以应用本申请提供的设备发现系统的示意图,如图1A所示,该设备发现系统可以包括:手机11、平板电脑12、笔记本电脑13、智能电视14、路由器15、智能音箱16等电子设备。
其中,每种电子设备的数量都可以是一个或多个,而且,系统中电子设备的种类并不局限于上述种类,系统还可以包括其他类型的电子设备,如智能穿戴设备、投影仪等,本申请对此不做限定。
在图1A所示的场景中,任意两个设备之间可以进行通信,两个设备之间进行通信的前提是两个设备之间相互发现,即获知对方的必要信息,如身份标识、业务能力、通信能力等。
相关技术中,当智能设备有实际业务需求时,才会触发设备发现的操作。但是,这种设备发现过程属于后发性,无法保证及时发现特定设备,即设备发现效率低。
例如,用户使用第一设备的“荣耀分享”功能向第三设备分享文件。此种场景下,如图 1B的(1)所示,用户在第一设备11中选择待分享文件后,第一设备11的显示界面上显示“分享”控件111。
进一步,用户点击“分享”控件111后,显示界面显示可用的分享途径,如图1B的(2)所示,用户点击“荣耀分享”控件112,即用户开启“荣耀分享”开关。此后,第一设备11 后台执行设备发现过程,即第一设备11通过蓝牙扫描发现附近可用的设备(一定范围内且已开启“荣耀分享”开关的其他设备,如第三设备13),并与发现的可用设备之间建立无线通信连接(如WLAN连接)。第一设备11与第三设备13通过WLAN通道传输待分享的文件。
可见,由业务触发的设备发现过程,在有实际业务需求时,才触发设备发现过程,当一个场景内存在多个设备时,需要交互的消息数量较多,无法保证及时发现特定设备,导致整个设备发现过程的效率低下,同时影响业务处理效率。
本申请的发明人提供了一种解决方案:在包含多个终端设备的场景下,构建设备发现群组,选取中心节点。通过中心节点收集外围节点的设备信息,并及时下发给群组的其他设备。这样能够使群组内的终端设备提前获知同一群组内的其它设备的信息,避免了有业务需求时再出发点对点设备发现过程,加速了设备发现过程,提高了设备发现效率。
本申请的发明人发现上述解决方案可能存在如下问题:一是,如果中心节点为固定的设备,不能随场景的动态变化而切换,当作为中心节点的设备出现异常,或中心节点不支持场景内新加入设备的通信协议时,严重影响整体设备发现的效率;二是,为了提高设备发现效率,可能会导致作为中心节点的设备的功耗增加,即设备发现效率与功耗之间存在冲突。而相关技术并没有给出在基于中心节点提升设备发现效率的同时,进一步降低设备整体功耗的解决方案。
为了解决设备发现效率与设备功耗之间的冲突,本申请提供了一种设备发现群组的中心节点发现方法,该方案在选取中心节点阶段,基于设备的通信能力和功耗敏感程度动态选取中心节点,确保应用场景内设备整体功耗满足一定需求的前提下,进一步提升整体设备发现效率。
在一些实施例中,终端设备可以是手机,平板电脑,桌面型、膝上型电脑,超机移动个人计算机(Ultra-mobile Personal Computer,UMPC),手持计算机,上网本,个人数字助理 (Personal Digital Assistant,PDA),可穿戴电子设备,智能手表,智能音箱、投影仪等。本申请对终端设备的具体形式不做限定。
在本实施例中,如图2所示,示出了本申请提供的终端设备的一种可能的结构示意图。
如图2所示,终端设备可以包括处理器101、无线通信模块102、传感器模块103、显示屏104和存储器105。
处理器101可以包括一个或多个处理单元,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。在本申请中,作为中心节点的终端设备中的处理器101可以在群组内周期性进行设备发现,获得群组内其他终端设备的信息,并发送给群组内的其他终端设备。
无线通信模块102可以提供应用在终端设备上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT)、低功耗蓝牙(Bluetooth Low Energy,BLE),全球导航卫星系统(globalnavigation satellite system, GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication, NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块102可以是集成至少一个通信处理模块的一个或多个器件。
传感器模块103可以采集终端设备的各种数据,例如,可以包括压力传感器、加速度传感器等,本申请对传感器类型不做限定。压力传感器可以感受压力信号。
加速度传感器可以检测终端设备在各个方向(一般为三轴)的加速度大小。当终端设备静止时可以检测出重力的大小及方向。还可以用于识别终端设备的姿态,如应用于横竖屏切换、计步器等应用。
显示屏104用于显示文本、图像、视频等。
存储器105可以存储计算机可执行程序代码,可执行程序代码包括指令。处理器101通过运行存储在存储器105的指令,从而执行终端设备的各种功能应用以及数据处理。例如,在本实施例中,处理器101可以通过执行存储在存储器105中的执行,进行周期性设备发现。
图3是本申请实施例的终端设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将智能操作系统分为四层,从上至下分别为应用程序层,应用程序框架层,系统库,以及内核层。
应用程序层可以包括一系列应用程序包。例如,可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。例如,在本申请实施例中,应用程序包还可以包括荣耀分享、共享至电脑等。荣耀分享可以将本终端设备中的资源分享至其他具有荣耀分享功能的终端设备。对于手机而言,开启共享至电脑功能后,本手机可以被处于同一局域网的电脑访问,电脑与手机登录同一账号。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。例如,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面将结合图4和图5阐述本申请实施例提供的设备发现群组的中心节点选取过程。
如图4所示,示出了本申请实施例提供的一种设备发现群组的中心节点选取方法的流程图,该方法可以应用于一定区域范围内包括多个终端设备的场景中,这多个终端设备形成一个设备发现群组,例如,该群组包括第一设备和其他设备,其中,第一设备可以是群组内的任意一个终端设备,其他设备是指群组中除第一设备外剩余的终端设备。
如图4所示,该方法可以包括以下步骤:
S101,群组内各个设备基于自身的能耗敏感度及通信能力,获得自身作为中心节点的得分S。
一方面,由于中心节点需要与群组内所有外围设备进行数据通信,这将大幅增加中心节点的功耗,因此,作为中心节点的设备需要自身对功耗不敏感。能耗敏感度(可记为Spower) 表征终端设备对能耗的敏感程度,能耗敏感度与能耗敏感程度负相关,即能耗敏感度的数值越大,终端对能耗越不敏感。反之,能耗敏感度的数值越小,终端对能耗越敏感。
在一示例中,能耗敏感度Spower与终端设备是否有稳定电源供给、设备是否处于唤醒状态、电池容量、当前剩余电量等相关。
在一种可能的实现方式中,Spower可以通过如下的公式(1)计算得到:
公式(1)中,BCmax表示所有终端设备中的最大允许电池容量,PS表示设备是否有电源供给(有电源供给PS=2,否则PS=1);LG表示设备是否处于唤醒状态(设备处于唤醒状态LG=2,设备处于休眠状态LG=1);BC表示设备电池容量信息(单位为mAh);LC表示设备当前剩余电量的百分比数值。
其中,在电源供给且设备处于唤醒状态时,即PS=2,LG=2,设备作为中心节点的得分最高;其次是PS=2,LG=1的设备的得分;再次是PS=1,LG=2的设备的得分,最低的是PS=1, LG=1的设备的得分。即,f1(BCmax,BC,LC)>f2(BCmax,BC,LC)>f3(BCmax,BC, LC)>f4(BCmax,BC,LC)。当然,在本申请的其他实施例中,也可以采用其它参数或其它计算方式确定设备的能耗敏感度,本申请对此不作限定。
另一方面,由于同一场景内的外围节点设备支持(或受其功耗限制所采用)的通信方式并不相同,即,外围节点设备向中心节点设备发送自身的设备信息时所采用的通信方式也不尽相同。因此,为了能够使这些采用不同通信方式的终端设备之间能够相互发现,需要中心节点设备同时支持尽可能多的通信方式。
通信能力与设备同时支持的通信协议的数量正相关,如设备同时支持的通信协议数量越多,则该设备的通信能力越强,反之,若设备同时支持的通信协议数量越少,该设备的通信能力越弱。在一示例中,可以直接使用设备同时支持的通信协议数量表征通信能力。
在一示例中,可以用NT表示设备同时支持的无线通信协议数量,如设备仅支持一种无线通信协议,则NT=1;设备支持三种不同的无线通信协议(如,BLE、NFC、WiFi),则NT=3。
在一种可能的实现方式中,可以根据设备的能耗敏感度Spower和通信能力NT这两个参数按照公式(2)计算得到设备作为中心节点的得分S:
公式(2)中,β可以根据有限次试验确定。
本申请实施例中,群组内的所有设备都根据自身的实际状态,按照公式(2)计算得到自身作为中心节点的得分S,S表征设备作为中心节点的综合得分。S值越高表征该设备越可能作为中心节点。
S102,第一设备广播自身的设备信息,该设备信息包括自身的得分S1。
初始状态下,即群组还未选取中心节点时,各设备将自身作为中心节点。为方便描述,本实施例以第一设备为例进行说明,第一设备可以是群组内的任一设备。
在第一设备获得其他设备的信息之前,第一设备以自身为中心节点,按照广播周期,以预设时间间隔采用不同的通信方式,广播自身的设备信息。
设备信息中包括该设备与其他设备进行无线通信时必需的信息,如设备的身份标识、业务能力、网络通信能力,以及设备作为中心节点的得分S。
广播周期是中心节点设备广播设备发现类报文的周期。广播周期的具体时长可以根据实际情况确定,如30s,即设备每隔30s进行一轮设备发现过程。
在一示例中,可以根据不同的时间段分别设置不同的广播周期,如分别设置短周期和长周期,短周期的时长小于长周期的时长,如短周期为30s,长周期为300s。设备可以在凌晨时间段(如23:01~6:00)使用长周期,在其他时间段(如6:00~23:00)使用短周期。
当然,在其他实施例中,还可以基于其他因素设置广播周期的时长,以及,设置其他时长,本申请对广播周期的时长不做限定。
在一示例性实施例中,广播周期可以直接写入中心节点的用于实现设备发现流程的程序中。
为了避免广播报文丢失,在一示例性实施例中,在一个广播周期内,中心节点可以按照某个时间间隔,进行多次广播。例如,广播周期为30s,一个周期内的广播时间间隔是200ms,一个广播周期内的广播次数是10次,则在一个广播周期的广播时长是2s;如果一个周期内的广播时间间隔是300ms,广播次数是10次,则一个周期内的广播时长是3s;如果一个周期内的广播时间间隔是500ms,广播次数是10次,则一个周期内的广播时长是5s。
参见图5A,示出了本申请实施例的一种广播周期的示意图,如图5A所示,广播周期可以是本轮开始广播时刻t1到下一轮开始广播时刻t2之间的时长,如5s。在这5s内可以按照 500ms的时间间隔广播10次,剩余时间不广播。
前已叙及,同一场景内的设备所支持的通信方式不同,或者,由于其受能耗限制采用的通信方式不同,即同一场景的多个设备所采用的通信方式不尽相同。因此,为了提升设备发现效率,中心节点在一个广播周期尽可能采用多种无线通信方式并行进行广播,以便其他设备都能接收到广播报文。例如,可以同时采用BLE、BT、WiFi三种通信协议进行广播,即采用上述三种通信协议并行广播,这样采用不同通信方式的其他设备可以尽早收到广播报文,并进行后续的设备发现过程,因此缩短设备发现过程的耗时。
S103,其他设备分别更新各自本地的群组设备信息,并向第一设备回复各自的设备信息。
在第一设备以自身为中心节点的场景下,群组内的其他设备均作为外围节点。外围节点接收到中心节点广播的报文(如,设备发现类型A报文)后,解析该广播报文获得第一设备的设备信息,并从设备信息中提取得到第一设备作为中心节点的得分S1。
群组内所有设备都创建并维护一个SList,SList中记录群组内各设备的得分S。在一示例中,SList采用列表形式,例如,列表中包括各设备的身份标识,以及该设备的得分S。当然,在其它实施例中,SList还可以采用其他形式,本申请对此不做限制。
外围节点获得第一设备的S1之后,将S1存储至本地的SList中,此时,本地的SList中包括第一设备及该外围节点自身的S。同时,该外围节点还将第一设备的其他设备信息(如身份标、通信能力、业务能力等)更新至本地的群组设备信息中,即将第一设备的其他设备信息存储至该外围节点本地的群组设备信息中。
中心节点广播报文时,采用多种不同的通信方式进行广播,而外围节点可以按照自身能耗需求选择一种通信方式与中心节点进行交互,如仅在功耗最低的通信通道上接收广播报文,并回复该广播报文。
当然,外围节点也可以在自身支持的所有通信通道上接收中心节点的广播报文并回复,例如,外围节点支持BLE和WiFi两种无线通信方式,该外围节点可以在BLE和WiFi两个通信通道上接收广播报文并回复。此外,在一个广播周期内,外围节点只需回复首次接收到的广播报文。例如,一个广播周期内,中心节点共进行了10次广播,直到中心节点第3次广播报文时,某一外围节点才接收到广播报文,本次广播报文即外围节点首次接收到的广播报文,并针对该广播报文进行回复,而且,无需再回复本周期内的其他广播报文。
在一示例性实施例中,外围节点可以采用单播形式回复中心节点的广播报文。单播形式是点对点的通信模式,如,外围节点向中心节点单播回复一报文,换言之,该报文只有中心节点能接收到,其他节点接收不到该报文。
S104,第一设备接收其他设备回复的设备信息,并更新本地的群组设备信息。
例如,第一设备接收到群组内其他设备i回复的设备信息后,从中提取得到设备i作为中心节点的得分Si,及其他设备信息。
在一种场景下,第一设备本地没有设备i的设备信息,例如,第一设备与设备i首次进行设备发现,此种场景下,第一设备将设备i对应的Si直接存入第一设备本地的SList中,同时,将设备i的其他设备信息存储至第一设备本地的群组设备信息中。
在另一种场景下,第一设备与设备i已进行过设备发现,第一设备本地存储有设备i的设备信息,当接收到设备i回复的设备信息后,第一设备利用本次接收到的设备i的Si覆盖本地SList中已有Si,同时,利用本次接收的设备i的其它设备信息覆盖本地已有设备i的信息。
第一设备广播一次报文后,可能会收到其他设备回复的设备信息,此时第一设备更新本地的群组设备信息。
S105,第一设备在一个广播周期内进行多次广播后,获得群组内所有设备的信息。
在一个广播周期内,第一设备进行多次广播后,群组内各个设备分别向第一设备回复各自的设备信息(包括得分S),因此,第一设备最终可以获得群组内各设备的得分S更新至本地的SList,然后按S由高到低的顺序对SList中的得分进行排序。
在一种可能的实现方式中,在一个广播周期内,中心节点进行多次广播,直到完成预设次广播后,停止广播进行。下一广播周期到来后,中心节点广播最新的SList和群组设备信息。
在另一种可能的实现方式中,在一个广播周期内,进行一次广播后可能会收到其他设备回复的设备信息,将接收到的设备信息更新至本地,如果检测到本地的群组设备信息有变化后,终止本轮广播周期,重新进入下一个广播周期,并广播最新的群组设备信息。例如,当中心节点进行第3次广播后,发现接收到的设备信息有变化,则直接终止本广播周期,即不再进行本周期的第4次广播,进入下一广播周期。在下一广播周期中,广播最新的群组设备信息。
第一设备是群组内的任一设备,在选出群组的中心节点之前,群组内各设备以各自为中心节点收集群组内其他设备的信息(包括S),因此,群组内的其他设备最终也可以获得群组内各设备的S,即各个其他设备本地的SList也包括群组内所有设备的S,并按S由高到低的顺序进行排序。因此,群组内所有设备获得的SList完全一致。
S106,群组内各设备分别基于各自本地的群组内所有设备的S,选取S值最高的设备为中心节点。
由于群组内每个设备本地的SList完全相同,因此,群组内所有设备基于各自的SList选取的中心节点也一致。
S值越高,表明设备对功耗越不敏感,且同时支持的无线通信协议数量也越多,因此,选取S值最高的设备作为中心节点。
在一种可能的实现方式中,在一个广播周期内完成设定次广播完后,群组内各设备获得群组内其他设备的得分S,各设备均执行选取中心节点的流程,即选取S分值最高的设备作为中心节点。
S107,若第一设备确定自身为中心节点,按广播周期向群组内其他设备广播群组设备信息。
如果第一设备按照本地的SList选取的中心节点为自身,则执行中心节点的设备发现流程,即向群组内其他设备广播已获得的群组设备信息,该设备信息中包括已发现设备对应的得分S。
S108,若第一设备确定自身为外围节点,接收中心节点发送的群组设备信息。
如果第一设备按照本地的SList选取的中心节点是其他设备,则执行外围节点对应的设备发现流程,如接收中心节点发送的群组设备信息。此种情况下,选取的中心节点确定自身为中心节点后,执行中心节点的设备发现流程,即按照广播周期广播已获得的群组设备信息。
在一示例中,一个设备发现群组包括N个终端设备,在选取中心节点之前,N个设备分别以各自为中心节点收集群组内其他设备的设备信息(包括得分S)。群组内各个设备均可以计算得到各自作为中心节点的得分Si。
以设备1的处理流程为例进行说明,如图5B的(1)所示,设备1计算出自身作为中心节点的得分S1后,向群组内其他设备广播得分S1。如图5B的(2)所示,群组内其他设备向设备1回复各自作为中心节点的得分Si。在实际应用中,图5B的(1)和(2)所示的过程可能需要重复多次,如,一个(或多个)广播周期,设备1才能获得群组内所有设备的得分S1~SN。
如图5B的(3)所示,设备1向群组内其他设备广播群组内所有设备的得分S1~SN,群组内所有设备获得S1~SN后,选取分值最高的设备作为该群组的中心节点。例如,群组内设备一致选取设备1作为中心节点,如图5B的(4)所示,设备1向群组内其他设备广播群组设备信息。
例如,在如图5C所示的场景中,手机11、平板电脑12、笔记本电脑13、智能电视14、路由器15和智能音箱16形成一个设备发现群组,其中,手机11作为该群组的中心节点。手机11可以周期性收集群组内各设备的设备信息,并将下发给群组内各设备,从而使群组内各个设备提前获得群组内所有设备的设备信息,以便群组内任意两个设备之间进行通信。例如,如图5C所示,手机11与智能电视14建立连接后,当手机11上收到视频通话邀请后,智能电视14可以同步显示该视频通话邀请,用户可以选择在手机11或智能电视14上接听该视频通话,从而实现视频通话业务迁移。
以上内容介绍了在创建群组的状态下,首次选取中心节点的过程。实际应用中,可能存在如下情况:群组已形成并选取出中心节点后,群组内设备数量未变,但其中的某个(或某些)设备的状态发生了变化,导致SList中分值最高的设备发生变化。此种情况下,重新选取分值最高的设备作为中心节点,即中心节点会在SList中分值最高的设备发生变化时进行切换。其中一种可能的场景是,群组内中心节点的状态发生变化,导致SList中S分值最高的设备发生变化,触发中心节点切换过程。另一种可能的场景是,群组内外围节点的状态发生变化,导致SList中S分值最高的设备发生变化,触发中心节点切换过程。
例如,图6A所示的设备发现群组示例中,手机11是该群组的中心节点,当手机11的状态发生变化后,如电量降低至10%,手机11根据自身的最新状态确定自身作为中心节点的得分S下降后下发至群组内的所有外围节点设备(如可以将最新的SList以广播形式发送至外围节点),触发重新选取中心节点的流程,即群组内各设备基于最新的SList选取该群组新的中心节点。如,群组内各设备一致选取平板电脑12为新的中心节点。
图6B示出了本申请实施例提供的另一种中心节点选取方法的流程图,如图6B所示,中心节点切换过程可以包括以下步骤:
S201,中心节点基于自身的能耗敏感度及通信能力,计算得到自身的得分Sx。
在一示例性实施例中,中心节点检测到自身的状态信息发生变化后,触发计算得分Sx 的流程。例如,中心节点的剩余电量较低,或者,中心节点设备从有外部电源供给变为没有外部电源供给。
在另一示例性实施例中,中心节点周期性触发计算自身得分Sx的流程,例如,可以按照广播周期周期性计算得分S,如,30s、40s、60s等,本申请对触发节点计算自身得分的时机和周期不做限定
S202,中心节点基于自身的得分Sx,更新本地的SList。
中心节点确定自身的得分Sx发生变化后,更新本地SList中自身的得分Sx,并按S分值由高到低的顺序重新排序,得到最新的SList。
S203,中心节点基于最新的SList确定自身得分在SList中的排名下降后,向群组内外围节点广播最新的SList。
在一示例性实施例中,为了避免广播报文丢失,中心节点在一个广播周期内,按照一定广播时间间隔以多种不同的通信方式进行广播最新的SList。
在一种可能的实现方式中,最新的SList携带于设备信息中发送至群组内的其他设备,如设备信息可以包括身份标识、通信能力、业务能力和设备状态(如,休眠或唤醒)等信息。
S204,外围节点基于最新的SList更新本地的SList,并向中心节点回复自身的设备信息,该设备信息包括该外围节点的最新得分S。
在一种可能的实现方式中,外围节点接收到中心节点广播的更新后的SList后,更新本地的SList,以及,基于本地的SList与中心节点发送的SList,确定外围节点自身的得分S是否发生变化,如果发生变化,则向中心节点回复自身最新的设备信息,此处的最新的设备信息至少包括该外围节点最新的得分S及发生变化的设备信息,从而使中心节点及群组内的其他外围节点及时更新该外围节点的得分S及设备信息。或者,最新的设备信息中包括得分S及该外围节点的所有设备信息(包括发生变化的设备信息及未变化的设备信息)。
此外,如果外围节点自身的得分S没有变化,则可以仅向中心节点回复ACK报文,告知中心节点其发送的SList已被成功接收。
在另一种可能的实现方式中,外围节点接收到中心节点广播的更新的SList后,更新本地的SList,以及,向中心节点回复自身的得分S,以便中心节点可以及时获得外围节点的最新得分S。
这样,中心节点可以及时感知外围节点的得分变化,进而将最新的SList告知群组内的所有设备,从而确保群组内各设备维护的SList保持一致性,进而确保群组内各设备选取的中心节点一致。
在一种可能的实现方式中,外围节点直接利用接收的最新的SList覆盖本地的SList,即利用新的SList替换本地的SList。
在另一种可能的实现方式中,外围节点比较本地SList与中心节点下发的最新SList,将发生变化的项替换为最新SList中的项。
此外,外围节点可以按照自身触发计算得分的机制计算自身得分S,如,可以在外围节点检测到自身的状态发生变化后,触发计算自身得分S;或者,当接收到中心节点的广播报文后触发计算自身得分S。
S205,中心节点基于各外围节点上报的最新得分更新本地的SList,并判断最新的SList 中排名首位的设备是否发生变化;如果S分值最高的设备变化,则执行S206;如果S分值最高的设备未变化,则结束本次流程。
中心节点将各外围节点返回的最新得分S更新至中心节点本地的SList中,并判断最新的SList中S分值最高的设备是否还是自己。
S206,中心节点将最新的SList发送至群组内各外围节点。
在一示例中,中心节点向群组内各设备以广播形式发送最新的SList。如,可以将最新的 SList携带于最新的群组设备中进行广播。从而确保群组内各个设备维护的SList是最新的 SList。
S207,群组内各设备基于最新的SList确定S分值最高的设备发生变化后,选取S分值最高的设备作为新的中心节点。
群组内的各个节点(包括中心节点和所有外围节点),比较最新的SList中S分值最高的设备与当前中心节点是否是同一设备,如果不是同一设备,确定S分值最高的设备发生变化,并选取S分值最高的设备作为新的中心节点。如果是同一设备,确定S分值最高的设备未发生变化,无需触发重新选取中心节点的流程。
SList由群组内的中心节点设备统一维护和更新,并下发给群组内的外围节点,因此,能够确保群组内的所有设备按照SList选出的中心节点一致。
S208,中心节点确定自身变为外围节点后,停止广播群组设备信息。
中心节点通过最新的SList确定自身是外围节点后,停止中心节点的处理流程并运行外围节点的处理流程,即,停止广播群组设备信息,并接收新的中心节点发送的群组设备信息。
S209,新的中心节点按照广播周期广播群组设备信息。
群组内某一外围节点确定自身是群组内新的中心节点后,运行中心节点的处理流程,即,按广播周期广播群组设备信息。
在一示例中,一个群组包括N个终端设备,且当前的中心节点是设备5,其他设备均为外围节点。
如图7的(1)所示,设备5计算自身的得分S5后更新本地的SList,并将更新后的SList 以广播形式发送给群组内的外围节点设备。如图7的(2)所示,外围节点接收到中心节点发送的SList后,向中心节点回复报文,此报文中可以携带该外围节点自身的得分S。
如图7的(3)所示,中心节点接收各外围节点回复的各自的得分S后更新本地的SList,并广播最新的SList,从而使群组内的所有外围节点获得最新的SList,即确保群组内各节点的SList保持一致。
群组内所有设备基于最新的SList选取得分S最高的设备2作为新的中心节点,如图7 的(4)所示,设备5切换为外围节点,设备2作为中心节点与群组内的外围节点进行交互。
本实施例提供的设备发现群组的中心节点选取方法,当中心节点的得分发生变化后,及时告知群组内的外围节点,以便群组内各设备维护的SList保持一致性。进一步,群组内各设备基于最新的SList重新选取S分值最高的设备作为中心节点,从而实现了中心节点可以根据群组内各设备的状态动态切换,避免了中心节点出现异常或不支持新加入设备的通信协议时,影响整体设备发现效率的情况发生,因此保证了群组的整体设备发现效率。
在另一种场景下,群组内设备的数量未变,但群组内外围节点的状态发生变化,导致该外围节点自身的得分S变化,进而导致中心节点的得分在SList中的排名下降,此种场景下,也会进行中心节点的切换。
例如,图8A所示的场景中,手机11、平板电脑12、笔记本电脑13、智能电视14、路由器15、智能音箱16形成一个群组。手机11是该群组中的中心节点,其他设备是外围节点。若笔记本电脑13的状态发生了变化,如笔记本连接了外部电源,使其作为中心节点的得分S在SList中的排名升高,手机11(原中心节点)在SList中的排名下降。此种情况下,笔记本电脑13主动将自身的最新得分发送至手机11。手机11将更新本地的SList,并将最新SList 下发至群组内的外围节点,从而触发中心节点切换过程,如群组内各设备一致选取笔记本电脑13为群组的新中心节点。
如图8B所示,此种场景下的中心节点切换过程可以包括以下步骤:
S301,外围节点i基于自身的能耗敏感度和通信能力,确定自身的得分Si发生变化。
群组内任一外围节点的状态发生变化,如,由没有外部电源供给变为有外部电源供给,或者,剩余电量由10%变为90%,节点自身的状态变化可能导致节点作为中心节点的得分S 变化。
外围节点计算自身得分S的触发条件与图6所示实施例中的外围节点计算S的触发条件相同,此处不再赘述。
S302,外围节点i主动向中心节点发送自身的最新得分Si。
在一种可能的实现方式中,外围节点检测到自身得分S变化,而导致其在SList中的排名发生变化时,该外围节点主动向中心节点上报自身的得分S。这样,可以避免中心节点频繁更新SList导致功耗高,进一步降低了中心节点设备的功耗。
例如,某一外围节点的得分S上升,且其在SList中的排名上升为首位时,主动向中心节点上报自身的得分S,中心节点根据外围节点上报的S更新本地的SList。
在另一种可能的实现方式中,外围节点检测到自身状态变化导致自身得分S发生变化后,主动向中心节点上报自身得分S。即,无论SList中的排名是否有变化,只要外围节点的得分 S发生变化就主动上报至中心节点。从而确保中心节点及时更新SList,提高了SList的时效性。
例如,外围节点i的S发生了变化,但节点i在SList中的排名未变,主动向中心节点上报自身的得分S,中心节点更新本地的SList。
在一示例性实施例中,外围节点可以单播形式向中心节点发送自身的设备信息,该设备信息中包括该设备的最新得分S。
S303,中心节点基于外围节点i的最新得分Si,更新本地的SList。
中心节点利用外围节点i的最新得分Si,覆盖本地的SList中外围节点i的原得分,得到中心节点本地最新的SList,且按照S分值由高到低的顺序重新排序。
S304,中心节点向外围节点广播最新的SList。
中心节点确定本地最新的SList发生变化后,向群组内的外围节点广播最新的SList。
S305,群组内外围节点接收中心节点广播的最新的SList后,更新本地的SList。
在一种可能的实现方式中,外围节点直接用接收的最新SList覆盖本地的SList,即利用新的SList替换本地的SList。
在另一种可能的实现方式中,外围节点将本地的SList与中心节点下发的最新SList进行比较,只需要将发生变化的项替换为最新SList中的内容项。
S306,群组内各设备判断最新的SList中S分值最高的设备是否发生变化;如果SList中的首位设备发生了变化,则执行S307,如果未变化,则结束本次流程。
群组内的所有设备,包括中心节点和外围节点,都判断最新的SList中S分值最高的设备是否发生变化。
S307,群组内各节点基于最新的SList,选取S分值最高的设备为新的中心节点。
群组内的中心节点和所有外围节点分别基于各自本地的最新SList,选取S分值最高的设备作为新的中心节点。
SList由中心节点统一维护和更新,并下发给外围节点,因此,可以确保群组内所有设备按照SList选出的中心节点一致。
S308,中心节点确定自身变为外围节点后,停止广播群组设备信息。
如果群组内的原中心节点确定自身变为外围节点,则运行外围节点的流程,即停止广播群组设备信息,并接收新的中心节点发送的设备信息。
S309,外围节点i确定自身变为中心节点后,按照广播周期广播群组设备信息。
如果外围节点i确定自身变为中心节点,则运行中心节点的流程,即,按照广播周期广播群组设备信息。
下面结合一具体示例进行说明,如图9所示,一个群组包括N个终端设备,设备5作为中心节点。
如图9的(1)所示,外围节点设备2检测到自身的得分S发生变化,而导致设备2的得分在SList中的排名提升后,设备2主动向设备5发送自身的最新得分S。
如图9的(2)所示,设备5接收到设备2上报的得分S后,更新本地的SList,并将最新的SList广播给各外围节点。
群组内各设备检测到SList中的首位设备发生变化后,选取分值S最高的设备作为新的中心节点,如图9的(3)所示,群组内各设备一致选取设备2为新的中心节点。此后,设备2作为中心节点按照广播周期广播群组设备信息,收集群组内所有设备的信息。
本实施例提供的设备发现群组的中心节点选取方法,当外围节点的得分发生变化后主动上报给中心节点,以便中心节点更新本地的SList并下发给群组的其他设备,从而确保群组内各设备维护的SList保持一致性。进一步,群组内各设备基于最新的SList重新选取S分值最高的设备作为中心节点,从而实现了中心节点可以根据群组内各设备的状态动态切换,避免了中心节点出现异常或不支持新加入设备的通信协议时,影响整体设备发现效率的情况发生,因此保证了群组的整体设备发现效率。
图6~图9介绍了在群组内设备数量未变,设备的状态变化触发中心节点切换的过程。在实际应用场景中,群组内的设备数量可能发生变化,如不同群组合并等,此种场景会触发中心节点切换的过程。
例如,如图10所示,家中的已有电子设备(如,平板电脑12、智能电视14、路由器15和智能音箱16)形成一个群组。当用户随身携带的电子设备(如,手机11、笔记本电脑13) 形成另一个群组。而当用户携带这些电子设备回到家后,两个群组合并为一个群组。两个群组的中心节点互相发现,如,手机11与平板电脑12互相发现后彼此交换各自群组的设备信息(包括群组得分列表SList),手机11向平板电脑12发送群组1的SList1,平板电脑12向手机11发送群组2的SList2。进一步地,手机将SList1和SList2合并,并将合并后的SList 发送至笔记本电脑13。同理,平板电脑12将SList2与SList1合并,并将合并后的SList下发给群组1中的各个外围节点。最终,群组1和群组2内的各个设备获得的SList相同,触发中心节点切换过程,即各个设备基于最新的SList重新选取得分最高的设备作为合并后群组的中心节点,如,各设备一致选取手机11为新的中心节点。
在一种情况下,新合并的群组可以包括一个设备,如图11A的(1)所示,群组1包括N个设备,其中,设备5为群组1的中心节点。如图11A的(2)所示,群组2仅包括一个设备,即设备N+1。
设备N+1与设备5相互发现后,彼此交换两个群组的设备信息(包括得分S),即,设备 5已获得设备(N+1)的得分S(N+1),设备5将S(N+1)存入本地的SList,此时SList中包括S1~S(N+1),按照S分值由高到低的顺序排序得到新的SList。同时,设备(N+1)也获得了群组内所有设备的SList(SList中包括设备1~N的得分S),设备(N+1)将S1~SN存入本地的SList,并按S分值由高到低的顺序进行排序得到最新的SList。群组1和群组2的设备分别按照最新的SList选取S分值最高的设备作为新的中心节点,如图11A的(3)所示,两个群组最终一致选取设备N+1为新的中心节点。
在另一种情况下,新合并的群组可以包括至少两个设备,如图11B的(1)所示,群组1 包括N个设备,其中,设备5是群组1的中心节点。如图11B的(2)所示,群组2包括P 个设备,其中,设备N+5是群组2的中心节点。如图11B的(1)和(2)所示,群组1的中心节点设备5与群组2的中心节点设备N+5互相发现并交换群组内所有设备的设备信息(包括SList)后,这两个群组的中心节点分别获得了包含设备1~设备(N+P)的得分S的SList,两个中心节点设备(设备5,设备N+5)分别将最新的SList下发给群组内的外围节点设备。
如图11B的(3)所示,两个群组内的所有设备均按最新的SList,一致选取S分值最高的设备N+5作为新的中心节点。
如图12A所示,由群组合并触发中心节点切换的过程可以包括以下步骤:
S400,第一群组的中心节点(即第一中心节点)接收第二群组的中心节点(即第二中心节点)广播的第二群组设备信息。
在两个群组内中心节点的覆盖区域存在交集的场景中,两个群组的中心节点均按各自的广播周期广播本群组的SList。
两个群组的中心节点均能够接收到对方的广播报文。如果第二中心节点的广播时刻早于第一中心节点的广播时刻,则第一中心节点会先接收到第二中心节点的广播报文。
第二中心节点的广播报文中包括第二群组设备信息,第二群组设备信息包括第二群组内所有设备的设备信息,设备信息包括第二群组的SList,记为SList2,SList2包括第二群组内各设备作为中心节点的得分S。
反之,如果第一中心节点的广播时刻早于第二中心节点的广播时刻,则第二中心节点会先接收到第一中心节点的广播报文。
S401,第一中心节点将SList2与本地的SList(记为SList1)合并得到新的SList1,以及,向第二中心节点回复第一群组设备信息。
第一中心节点将接收到的SList2与第一中心节点本地的SList1合并,并按S分值由高到低的顺序进行排序得到新的SList1。
与此同时,第一中心节点接收到第二中心节点的广播报文后,向第二中心节点回复第一群组的SList1。例如,第一中心节点向第二中心节点返回自身所在群组的设备信息,即第一群组设备信息,第一群组设备信息包括SList1,SList1中是第一群组内各设备作为中心节点的得分S。
S402,第一中心节点向第一群组的外围节点下发新的SList1,各外围节点将本地的SList 更新为新的SList1。
第一中心节点可以广播的形式将新的SList1下发至第一群组的外围节点,从而使第一群组的外围节点维护的SList与第一中心节点的SList保持一致。
S403,第一群组内各设备判断新的SList1中S分值最高的设备是否发生变化,如果是,则执行S404;如果否,则结束当前流程。
第一群组内的中心节点和所有外围节点,比较最新的SList1中S分值最高的设备与当前的中心节点是否是同一设备;如果不是同一设备,则确定S分值最高的设备发生变化;如果是同一设备,确定S分值最高的设备未变化。
S404,第一群组内各设备基于新的SList1选取S分值最高的设备为新群组中新的中心节点。
由于第一群组内各外围节点维护的SList与第一中心节点维护的新的SList1相同,因此,第一群组内各设备重新选取的中心节点一致。
S405,如果第一中心节点确定自身变为新群组的外围节点,停止广播群组设备信息。
如果第一中心节点由中心节点变为外围节点,则不再运行中心节点的处理流程,即停止广播群组设备信息,同时,运行外围节点的处理流程,即接收中心节点广播的群组设备。
S406,如果第一中心节点确定自身为新群组的中心节点,则继续按广播周期广播新群组的设备信息。
如果确定第一中心节点为新群组的中心节点,则按广播周期广播新群组的设备信息。
S407,第二中心节点将接收到的SList1与本地的SList2合并,并按S分值由高到低的顺序进行排序,得到新的SList2。
第二中心节点广播的第二群组的SList2被第一中心节点接收后,第一中心节点向第二中心节点回复第一群组的SList1。第二中心节点接收到第一中心节点回复的SList1后,将本地的SList2与接收到的SList1合并,并按S分值由高到低的顺序进行排序,得到新的SList2。
在另一场景下,第二中心节点先接收到第一中心节点广播的SList1,则可以直接触发S407 的过程,同时,第二中心节点向第一中心节点回复第二群组的SList2,以便第一中心节点获得两个群组的SList。
两个中心节点交换群组设备信息后最终获得的设备信息完全相同,因此,第一中心节点获得的新的SList1与第二中心节点获得的新的SList2中的排名完全相同。
S408,第二中心节点将新的SList2下发给第二群组内的外围节点。
第二中心节点将新的SList2下发给第二群组内的外围节点,以使外围节点维护的SList 与第二中心节点的SList2保持一致性。
S409,第二群组内各设备判断新的SList2中S分值最高的设备是否发生变化,如果是,则执行S410;如果否,则结束当前流程。
第二群组内的各个设备判断新的SList2中S分值最高的设备与当前中心节点是否是同一设备,如果不是同一设备,表明S分值最高的设备发生变化,需要切换中心节点。如果是同一设备,表明S分值最高的设备未变,不需要切换中心节点。
S410,第二群组内各设备基于新的SList2选取S分值最高的设备为新的中心节点。
两个群组的中心节点交换群组设备信息后,从而使两个中心节点获得的新的SList1和新的SList2中的内容完全相同,最终两个群组的设备最终选取的新群组的中心节点一致。
S411,如果第二中心节点确定自身为新群组的中心节点,则按广播周期广播新群组的设备信息。
在一种情况下,第二中心节点的得分S最高,则第一群组和第二群组内的各个设备一致选取第二中心节点为合并后群组的中心节点,并按广播周期广播新合并群组的设备信息。
S412,如果第二中心节点确定自身变为外围节点,停止广播群组设备信息。
在另一种情况下,第一中心节点的得分S最高,则第一群组和第二群组内的各个设备一致选取第一中心节点为合并后群组的中心节点,并按广播周期广播新合并群组的设备信息。
以上内容仅以两个群组合并为例进行说明,本申请实施例提供的中心节点选取方法同样适用于更多个群组合并导致的中心节点切换的场景中,此处不再一一详述。
本实施例提供的中心节点选取方法,由于至少两个群组合并触发群组内中心节点切换的场景中,各个群组的中心节点互相发现后彼此交换群组设备信息(包括SList),并下发给群组内的外围节点。这样,每个设备都获得了新群组内所有设备的设备信息,并获得新群组的新的SList。新群组内各设备基于新的SList选取S分值最高的设备作为新群组的中心节点,最终实现了至少两个群组的合并。
此外,两个群组合并为一个群组后,可能存在如下情况:新的中心节点无法与新群组中位置偏远的外围节点通信。
例如,在家庭场景中,手机11、平板电脑12、笔记本电脑13、智能电视14、路由器15、智能音箱16形成一个群组。如图12B所示,手机11位于楼上右上角一卧室内,当手机11 与楼下左下角的客厅内的智能电视14进行通信时,可能存在由于通信距离受限两者无法直接进行通信的问题。如上所述,此种场景下,手机11可以通过平板电脑12(群组1的原中心节点)与智能电视14间接通信,即手机11将数据发送至平板电脑12,平板电脑12将该数据转发至智能电视14。智能电视14发送给手机11的数据也经过平板电脑12转发给手机11。
考虑到可能存在上述情况,本申请提供了另一种群组内中心节点与外围节点之间的交互方法,如图12C所示,由至少两个群组合并得到的新群组内新的中心节点与外围节点之间的交互过程可以包括以下步骤:
S1,群组2的中心节点(即第二中心节点)接收群组1的中心节点(即第一中心节点)广播的群组1的设备信息。
第一中心节点以广播形式广播群组1内各设备的设备信息。
S2,第二中心节点将群组1的设备信息更新至本地,并在群组1的各设备信息中增加第一中心节点的标识。
两个群组中的原中心节点在接收到另一个群组的群组设备信息时,将接收到的另一个群组中外围节点的组设备信息中标记上该群组的中心节点。
例如,如图11所示,群组1的中心节点5接收到群组2的群组设备信息后,将群组2内各设备的设备信息存储至本地时,增加原中心节点(N+5)的标识(如,中心节点(N+5)的身份标识)。
S3,第一中心节点接收第二中心节点广播的群组2的设备信息。
S4,第一中心节点将群组2的各设备信息更新至本地,并在群组2的各设备信息中增加第二中心节点的标识。
同理,如图11所示,群组2的中心节点(N+5)接收到群组1的群组设备信息后,将群组1内各设备的设备信息存储至本地时,增加原中心节点5的标识(如身份标识)。
S5,新的中心节点广播新群组的设备信息。
群组1与群组2合并,并重新选取新的中心节点(如第二中心节点)后,新的中心节点向新群组内的外围节点广播新群组的设备信息。
S6,第一中心节点继续广播接收到的广播报文。
为了避免原群组1中的部分外围节点无法接收到新中心节点的广播报文,原群组1的中心节点接收到新的中心节点广播新群组的设备信息后,继续广播接收到的设备信息,以便群组内的所有外围节点都能接收到广播报文。
S7,原群组1的外围节点通过第一中心节点向新的中心节点回复设备信息。
原群组1的外围节点向原群组1的中心节点(即第一中心节点)发送自身的设备信息,第一中心节点向新的中心节点回复外围节点的设备信息。
在一种可能的实现方式中,原群组1中的外围节点可以广播形式回复自身的设备信息,第一中心节点接收到该广播报文后,继续上报至新的中心节点。
在另一种可能的实现方式中,原群组1中的外围节点可以单播形式向第一中心节点回复自身的设备信息,第一中心节点继续向新的中心节点发送该设备信息。
本实施例提供的方法,至少两个群组合并得到新群组后,新群组内新的中心节点与新群组中合并进来的另一群组中的外围节点之间的交互时,可以通过另一群组中的原中心节点实现,这样能够保证群组内所有外围节点都能与新的中心节点进行交互,保证群组内整体设备发现过程的效率。
在一种情况下,如果中心节点受到外界影响或自身状态突变(如突然失去外部电源供给或物理位置迁移),导致其无法与群组内其他设备进行通信,即群组内外围节点收不到中心节点更新的设备信息,即无法正常更新SList。
例如,家庭中的电子设备,如图13A所示,手机11、平板电脑12、笔记本电脑13、智能电视14、路由器15、智能音箱16形成一个群组。手机11为该群组的中心节点,用户携带手机11离开家去公司,此种情况下,该群组中的外围节点感知到手机11离开群组后,一致选取平板电脑12为该群组的新中心节点。
针对此类情况,本申请提供了另一种中心节点选取方法实施例,如图13所示,该方法可以包括以下步骤:
S501,若超过预设时长,群组内各外围节点未接收到中心节点下发的设备信息,则更新本地的SList得到新的SList。
群组内的每个外围节点都会设定一个定时器TS(定时时长为SD),该定时器在该外围节点每次更新本地SList时重置,如果该定时器超时该外围节点仍未收到中心节点下发的设备信息,则确定中心节点已经离开群组,触发自动更新SList的操作,即从本地的SList中删除原中心节点的信息(如,身份标识和得分S)。
换言之,如果中心节点离开群组,群组内的所有外围节点都能感知到,且自动更新各自本地的SList。而且,各外围节点本地的原SList中的内容相同,更新动作也相同(即删除原中心节点的信息),因此,最终各个外围节点更新后的SList的内容也相同。
S502,各外围节点基于本地的新的SList,选取S分值最高的设备为新的中心节点。
各外围节点的新的SList相同,因此保证各外围节点最终选取的中心节点一致。
S503,新的中心节点确定自身变为中心节点,按照广播周期广播群组设备信息。
选取出的中心节点确定自身由外围节点变为中心节点后,运行中心节点的流程,按照广播周期进行广播,收集群组内其他设备的信息并下发给群组内的其他设备。
如图14的(1)所示,一个群组包括N个设备,其中设备5为中心节点,由于某些原因(如设备5的位置迁移)设备5离开了群组,群组内的外围节点感知到中心节点离开群组后,删除本地的SList中有关中心节点的信息,得到新的SList,并基于新的SList选取新的中心节点,如图14的(2)所示,设备6的得分S最高,则各外围节点一致选取设备6为新的中性节点,即群组的中心节点切换为设备6。
在一种实际场景中,存在一些处于多个中心节点的通信范围交集处的外围设备,换言之,此类外围设备能够同时接收到多个中心节点下发的设备信息。此类设备会按照预设群组加入条件选择一个群组加入,该设备的加入可能导致该群组的中心节点发生变化。
例如,处于办公区的拐角位置的设备则可能同时被至少两个不同的群组覆盖。此时,该设备需要选择一个群组加入,该设备的加入可能会引起该群组的中心节点切换。
又如,在家庭应用场景中,不同房间的电子设备可能分别形成不同的群组,例如,如图 15A所示,处于楼下左下角房间内的电子设备,智能电视14、路由器15和智能音箱16形成一个群组;处于楼上右上角房间内的电子设备,手机11和平板电脑12形成另一个群组。此种场景下,处于楼下中间位置房间内的笔记本电脑13处于两个群组的中心节点的通信范围交集处,此种场景下,笔记本电脑13需要选择一个群组加入。
针对上述场景,本申请还提供了又一种中心节点选取方法,本实施例以设备处于两个中心节点的通信范围交集处为例进行说明,如图15B所示,该方法可以包括以下步骤:
S601,待加入节点接收第一中心节点广播的第一群组的设备信息,以及第二中心节点广播的第二群组的设备信息。
待加入节点处于第一中心节点和第二中心节点的通信范围交集处,即该待加入节点能够同时接收第一中心节点和第二中心节点下发的设备信息。
第一中心节点按照自身的广播周期广播第一群组的设备信息,该设备信息包括第一群组内各设备的信息,以及各设备作为中心节点的得分S,即SList1。
第二中心节点广播第二群组的设备,该设备信息包括第二群组内各设备的得分S,即 SList2。
S602,待加入节点基于预设群组加入条件确定目标群组。
在一种可能的实现方式中,预设群组加入条件可以是选取包含设备数量更多的群组加入,这样,可以实现待加入节点与更多设备进行通信。
在另一种可能的实现方式中,预设群组加入条件还可以是包含登录账号与自身登录账号相同的设备的群组加入。
在又一种可能的实现方式中,还可以选取一个包含设备数量较少的群组加入。
本申请并不限定预设群组加入条件的具体内容。
本实施例中,待加入节点基于预设群组加入条件最终加入第一群组。
S603,待加入节点基于第一群组的SList1更新本地的SList。
S604,待加入节点向第一中心节点返回自身的设备信息,该设备信息中包括该外围节点作为中心节点的得分S。
S605,第一中心节点基于待加入节点的得分S更新第一中心节点本地的SList1,得到新的SList1,并将新的SList1下发给第一群组的外围节点。
S606,第一中心节点和待加入节点均基于本地的新的SList1选取S分值最高的设备作为新的中心节点。
其中,第一群组中的所有设备(包括第一中心节点和所有外围节点)均基于新的SList1 选取S分值最高的设备为中心节点。由于第一群组内的所有设备的新的SList1中的内容相同,因此,各设备选取的中心节点相同。
待加入节点本地的SList也与第一中心节点本地的新的SList1中的内容完全相同,因此待加入外围节点选取的中心节点与第一群组内各设备选取的中心节点相同。
S607,若第一中心节点确定自身变为外围节点,停止广播设备信息。
S608,若待加入节点确定自身为新群组的中心节点,则按广播周期广播新群组的设备信息。设备信息中包括SList。
在一种可能的场景下,待加入节点的得分S高于第一中心节点的得分S,则选取待加入节点作为新群组的中心节点。待加入节点运行中心节点的处理流程,即广播新群组的设备信息。同时,第一中心节点切换为外围节点,运行外围节点的处理流程。
在另一种可能的场景下,第一中心节点的得分高于待加入节点的得分,则新的SList1与更新前的SList1相比,排在首位的设备未发生变化。即,第一中心节点仍为新群组的中心节点。待加入节点作为新群组的外围节点,即接收中心节点下发的设备信息。
如图16的(1)所示,群组1包括7个设备,即设备1~7,其中设备5为中心节点。群组2也包括7个设备,即设备8~14,设备12为中心节点。设备15处于同时被群组1和群组 2覆盖的区域,设备15可以按照预设群组加入条件选择一个群组加入。
如图16的(2)所示,设备15加入群组1,得到新群组,而且,新的SList中首位是设备15,因此,新群组内各设备一致选取设备15作为该群组的中心节点,设备5变为外围节点。
本实施例提供的中心节点选取方法,设备处于多个中心节点的通信范围交集处,该设备按照一定条件加入其中一个群组,并与该群组的中心节点彼此交换SList,这样,双方获得的 SList的内容相同,即形成新的群组。该新群组基于最新的SList选取中心节点,通过该中心节点维护新群组的设备信息,实现了新设备加入某一群组后,根据新群组的实际状态动态选取中心节点,进而提高整个群组的设备发现效率。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种设备发现群组的中心节点选取方法,其特征在于,应用于第一终端,所述第一终端属于第一群组,所述第一群组还包括至少一个第二终端,所述方法包括:
所述第一终端基于自身的能耗敏感度和通信能力,获得自身作为中心节点的第一得分,所述能耗敏感度表征终端对能耗的敏感程度,且所述能耗敏感度与能耗敏感程度负相关,所述通信能力与终端支持的通信协议数量正相关;
所述第一终端广播第一报文,所述第一报文包括所述第一终端的第一设备信息,所述第一设备信息包括所述第一得分;
接收所述第二终端响应所述第一报文发送的第二报文,所述第二报文包括所述第二终端的第二设备信息,所述第二设备信息包括第二得分,所述第二得分表征所述第二终端作为中心节点的得分,所述第二终端基于所述第一报文更新所述第二终端本地的设备信息获得第二得分列表,并基于所述第二得分列表选取得分最高的终端为所述第一群组的中心节点;
所述第一终端基于所述第二报文更新所述第一终端本地的设备信息,得到第一得分列表,所述得分列表中包括所述第一群组内各终端的得分;
所述第一终端基于所述第一得分列表,选取得分最高的终端为所述第一群组的中心节点。
2.根据权利要求1所述的方法,其特征在于,所述第一终端获取所述能耗敏感度的过程,包括:
获取所述第一终端的能耗敏感参数,所述能耗敏感参数包括终端的外部电源供给状态、设备状态、终端的最大允许电池容量、电池容量和当前剩余电量;所述外部电源供给状态包括有外部电源供给和没有外部电源供给;所述设备状态包括唤醒状态和休眠状态;
所述第一终端基于自身的能耗敏感参数获得所述能耗敏感度,当所述电池容量和所述当前剩余电量不变时,所述能耗敏感度与有外部电源供给状态和唤醒状态正相关,且有外部电源供给状态的重要性高于所述唤醒状态;当所述外部电源供给状态和所述设备状态不变时,所述能耗敏感度与所述电池容量和当前剩余电量正相关。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一终端是所述第一群组内的任一节点,所述方法还包括:
当所述第一终端检测到所述第一群组内得分最高的节点发生变化后,选取得分最高的节点作为所述第一群组的新中心节点。
5.根据权利要求4所述的方法,其特征在于,所述第一终端为所述第一群组的中心节点;
当所述第一终端检测到所述第一群组内得分最高的节点发生变化后,选取得分最高的节点作为所述第一群组的新中心节点,包括:
所述第一终端检测到所述第一群组内状态发生变化的节点后,获取状态发生变化的节点对应的最新得分;
所述第一终端基于所述最新得分,更新所述第一终端本地的得分列表,得到最新得分列表,所述最新得分列表包括所述第一群组内各节点的最新得分;
所述第一终端向所述第一群组内所有外围节点广播所述最新得分列表,使得所述外围节点将各自本地的得分列表更新为所述最新得分列表,并使所述外围节点基于所述最新得分列表选取得分最高的节点为所述第一群组的新中心节点;
所述第一终端基于本地的最新得分列表,确定第一群组中得分最高的节点发生变化后,选取得分最高的节点为所述第一群组的新中心节点。
6.根据权利要求5所述的方法,其特征在于,所述第一终端获取所述第一群组内状态发生变化的节点对应的最新得分,包括:
所述第一终端确定自身的状态发生变化后,获得自身的最新状态,以及基于所述第一终端的最新状态获得自身作为所述第一群组的中心节点的最新得分。
7.根据权利要求6所述的方法,其特征在于,所述第一终端获取所述第一群组内状态发生变化的节点对应的最新得分,包括:
所述第一终端接收所述第一群组内的外围节点主动发送的所述外围节点的最新设备信息,所述最新设备信息包括所述外围节点作为中心节点的最新得分,所述最新得分由所述外围节点检测到自身状态发生变化后获得;
所述第一终端解析所述外围节点的最新设备信息,获得所述外围节点作为中心节点的最新得分。
8.根据权利要求7所述的方法,其特征在于,所述外围节点的最新设备信息由所述外围节点检测到自身状态发生变化后主动发送至所述第一终端;或者,所述外围节点的最新设备信息由所述外围节点检测到自身状态发生变化,且所述外围节点的得分排名发生变化后,主动发送至所述第一终端。
9.根据权利要求4所述的方法,其特征在于,所述第一终端为所述第一群组的第一中心节点;
当所述第一终端检测到所述第一群组内得分最高的节点发生变化后,选取得分最高的节点作为所述第一群组的新中心节点,包括:
所述第一中心节点检测到新节点加入所述第一群组后,获取新节点加入后的新的第一群组对应的最新得分列表,所述最新得分列表包括所述新节点作为新的第一群组的中心节点的得分;
所述第一中心节点基于所述最新得分列表确定新的第一群组内得分最高的节点变化后,选取得分最高的节点作为加入新节点的第一群组的新中心节点;
所述第一中心节点将所述最新得分列表下发给所述新的第一群组中的各个外围节点,使得各个外围节点基于所述最新得分列表选取得分最高的节点为加入新节点的第一群组的新中心节点。
10.根据权利要求9所述的方法,其特征在于,所述第一中心节点检测到新节点加入所述第一群组后,获取新节点加入后的新的第一群组对应的最新得分列表,包括:
所述第一中心节点广播第三报文,所述第三报文包括所述第一群组的第一得分列表,所述第一得分列表包括所述第一群组内各终端作为中心节点的得分;
所述第一中心节点接收新节点响应所述第三报文发送的第四报文,所述第四报文包括所述新节点作为中心节点的得分;
所述第一中心节点将所述新节点的得分更新至所述第一中心节点本地的第一得分列表中,获得所述最新得分列表。
11.根据权利要求9所述的方法,其特征在于,所述第一中心节点检测到新节点加入所述第一群组后,获取新节点加入后的新的第一群组对应的最新得分列表,包括:
所述第一中心节点广播第五报文,所述第五报文包括第一得分列表,所述第一得分列表包括所述第一群组内各终端作为中心节点的得分;
所述第一中心节点接收第二群组的第二中心节点响应所述第五报文发送的第六报文,所述第六报文包括第二得分列表,所述第二得分列表包括所述第二群组内各终端作为中心节点的得分;
所述第一中心节点合并所述第二得分列表和所述第一得分列表,获得新群组的最新得分列表,所述新群组是所述第一群组和所述第二群组合并后的群组,所述最新得分列表包括所述新群组内各个节点作为中心节点的得分。
12.根据权利要求4所述的方法,其特征在于,所述第一终端是所述第一群组中的外围节点;
当所述第一终端检测到所述第一群组内得分最高的节点发生变化后,选取得分最高的节点作为所述第一群组的新中心节点,包括:
所述第一终端在接收到所述第一群组的第一中心节点的广播报文时,开始计时,若直到计时时长大于或等于第一预设时长,所述第一终端未接收到来自所述第一中心节点的广播报文,确定所述第一中心节点离开群组,所述第一预设时长大于所述第一中心节点的广播周期;
所述第一终端从本地的第一得分列表中删除所述第一中心节点的得分,得到所述第一群组的最新得分列表;
所述第一群组的各外围节点基于本地的最新得分列表,选取得分最高的终端为所述第一群组的新中心节点。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述方法还包括:
第三终端接收所述第一群组的第一中心节点广播的第一得分列表,以及接收第二群组的第二中心节点广播的第二得分列表,所述第一得分列表包括所述第一群组内各终端作为中心节点的得分,所述第二得分列表包括所述第二群组内各终端作为中心节点的得分;
所述第三终端基于预设群组加入条件确定第一群组为目标群组后,基于所述第一得分列表更新所述第三终端本地的得分列表;
所述第三终端基于本地更新后的得分列表,选取得分最高的节点作为所述第一群组的新中心节点;
所述第三终端向所述第一中心节点发送所述第三终端作为中心节点的得分,使得所述第一群组内其它节点基于所述第三终端的得分更新各自本地的得分列表,以及使所述其它节点基于更新后的得分列表选取得分最高的节点作为所述第一群组的新中心节点。
14.根据权利要求13所述的方法,其特征在于,所述预设群组加入条件包括选择包含设备数量更多的群组加入,或者,选择包含登录账号与自身登录账号相同的设备所在群组加入。
15.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器、存储器和触摸屏;所述存储器用于存储程序代码;所述处理器用于运行所述程序代码,使得所述电子设备实现如权利要求1至14任一项所述的设备发现群组的中心节点选取方法。
16.一种计算机可读存储介质,其特征在于,其上存储有指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至14任一项所述的设备发现群组的中心节点选取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210375944.1A CN115567997B (zh) | 2022-04-11 | 2022-04-11 | 设备发现群组的中心节点选取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210375944.1A CN115567997B (zh) | 2022-04-11 | 2022-04-11 | 设备发现群组的中心节点选取方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115567997A true CN115567997A (zh) | 2023-01-03 |
CN115567997B CN115567997B (zh) | 2023-06-20 |
Family
ID=84737161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210375944.1A Active CN115567997B (zh) | 2022-04-11 | 2022-04-11 | 设备发现群组的中心节点选取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115567997B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155928A (zh) * | 2023-10-31 | 2023-12-01 | 浪潮电子信息产业股份有限公司 | 通信任务处理方法、系统、设备、集群及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100098102A1 (en) * | 2008-10-16 | 2010-04-22 | Kevin Banks | Systems and methods for reducing power consumption in communication networks |
CN109714241A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 群组的任务处理方法和群组的任务处理装置 |
CN112118539A (zh) * | 2019-06-20 | 2020-12-22 | 青岛海信移动通信技术股份有限公司 | 一种终端之间设备信息交互的方法和设备 |
CN112469100A (zh) * | 2020-06-10 | 2021-03-09 | 广州大学 | 基于可充电多基站式无线异构传感器网络的分层路由算法 |
CN113438620A (zh) * | 2021-05-27 | 2021-09-24 | 西安工业大学 | 一种无人机集群中心节点最优选择方法 |
-
2022
- 2022-04-11 CN CN202210375944.1A patent/CN115567997B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100098102A1 (en) * | 2008-10-16 | 2010-04-22 | Kevin Banks | Systems and methods for reducing power consumption in communication networks |
CN109714241A (zh) * | 2017-10-25 | 2019-05-03 | 阿里巴巴集团控股有限公司 | 群组的任务处理方法和群组的任务处理装置 |
CN112118539A (zh) * | 2019-06-20 | 2020-12-22 | 青岛海信移动通信技术股份有限公司 | 一种终端之间设备信息交互的方法和设备 |
CN112469100A (zh) * | 2020-06-10 | 2021-03-09 | 广州大学 | 基于可充电多基站式无线异构传感器网络的分层路由算法 |
CN113438620A (zh) * | 2021-05-27 | 2021-09-24 | 西安工业大学 | 一种无人机集群中心节点最优选择方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117155928A (zh) * | 2023-10-31 | 2023-12-01 | 浪潮电子信息产业股份有限公司 | 通信任务处理方法、系统、设备、集群及可读存储介质 |
CN117155928B (zh) * | 2023-10-31 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 通信任务处理方法、系统、设备、集群及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115567997B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2891346B1 (en) | Discovery method and apparatuses and system for discovery | |
EP2891347B1 (en) | Discovery method and system for discovery | |
TWI679528B (zh) | 資訊採集和處理方法、客戶端及伺服器 | |
CN103516893B (zh) | 在便携式终端中执行富通信套件的能力发现的方法和设备 | |
US20230413922A1 (en) | Data capture across devices | |
US20240007919A1 (en) | Frequency priority determination method and apparatus, information issuing method and apparatus, and device and medium | |
JP6268824B2 (ja) | 通信システム、通信方法及び情報処理装置 | |
US20150312744A1 (en) | Controlled discovery | |
CN111629337B (zh) | 一种控制搜网的方法及终端 | |
US20230209438A1 (en) | Data Transmission Method and Electronic Device | |
EP3110074A1 (en) | Method for controlling electronic device, control terminal, and system | |
US20230396974A1 (en) | Communication Method and Apparatus, and Electronic Device | |
CN115567997B (zh) | 设备发现群组的中心节点选取方法及装置 | |
CN110608521A (zh) | 空调器、空调器系统及其控制方法 | |
US20220361095A1 (en) | Short-range wireless communication method and apparatus | |
EP4369846A1 (en) | Sidelink communication method and device | |
EP3879922A1 (en) | Methods and devices for resolving dual subscriber identity module, dual sim (ds), paging conflict, and storage medium | |
CN114827349A (zh) | 一种头像显示方法及终端 | |
WO2020038157A1 (zh) | 基于nan智能管理方法及相关产品 | |
CN115529579B (zh) | 设备发现方法及装置 | |
CN110662280B (zh) | 运行模式的切换方法及装置、可读存储介质、电子设备 | |
JP6146477B2 (ja) | 端末機、通信処理方法、及び通信処理プログラム | |
EP4072199A1 (en) | Method and device for cell handover | |
CN103167478B (zh) | 终端装置和数据收发方法 | |
EP4351238A1 (en) | Method and apparatus for reporting terminal capability information, and communication device and storage medium |
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 |