本申请实施例涉及信息技术领域,并且更具体地,涉及一种设备管理的方法和ble设备。
背景技术:
低功耗蓝牙(bluetoothlowenergy,ble)的mesh网络中包括大量节点,这些节点可以是客户端。该客户端可以对应一个或者多个服务器端,用于实现对相应服务器端的控制以及收集该服务器端的信息。但是,当某个客户端因为设备故障、电量耗尽等原因无法继续工作时,由其控制的服务器端的信息无法进行收集,该服务器端也会失去控制,从而影响服务器端的正常功能。
技术实现要素:
本申请实施例提供一种设备管理的方法和设备,能够在客户端无法继续工作时,仍保证其控制的服务器端的正常功能。
第一方面,提供了一种设备管理的方法,所述方法应用于mesh网络,所述mesh网络中包括多个客户端,所述mesh网络中的第一客户端用于控制多个服务器端,所述方法包括:所述mesh网络中的第二客户端接收所述第一客户端发送的第一绑定信息,其中,所述第一绑定信息为所述多个服务器端中的第一服务器端与所述第一客户端之间的绑定信息,所述第一服务器端与所述第二客户端之间的信号强度大于预设值;第二客户端确定所述第一客户端无法继续控制所述第一服务器端时,使用所述绑定信息,替代所述第一客户端对所述第一服务器端进行控制。
在一种可能的实现方式中,所述第一绑定信息包括以下信息中的至少一种:所述第一客户端的地址、所述第一服务器端的服务信息、以及所述第一客户端与所述第一服务器端之间的密钥信息。
在一种可能的实现方式中,在所述第二客户端替代所述第一客户端对所述第一服务器端进行控制之前,所述方法还包括:所述第二客户端检测所述第一客户端的心跳包;若所述第二客户端在预定时长内没有检测到所述第一客户端的心跳包,则确定执行对所述第一客户端的替代。
在一种可能的实现方式中,在所述第二客户端替代所述第一客户端对所述第一服务器端进行控制之前,所述方法还包括:所述第二客户端接收所述第一客户端发送的替代指令,其中,所述替代指令用于指示所述第二客户端执行对所述第一客户端的替代。
在一种可能的实现方式中,所述替代指令中包括所述第二客户端的地址和所述第一服务器端的地址。
在一种可能的实现方式中,在所述第二客户端替代所述第一客户端对所述第一服务器端进行控制之前,所述方法还包括:所述第二客户端接收所述第一客户端发送的候选客户端列表,其中,所述候选客户端列表中包括多个服务器端与多个客户端之间的对应关系;所述第二客户端根据所述候选客户端列表,确定所述第一服务器端,其中,所述第一服务器端对应的至少一个客户端中包括所述第二客户端。
在一种可能的实现方式中,在所述第二客户端接收所述第一客户端发送的所述候选客户端列表之前,所述方法还包括:所述第二客户端向所述第一客户端发送所述第二客户端与所述第一服务器端之间的信号强度,其中,所述第二客户端与所述第一服务器端之间的信号强度用于所述第一客户端生成所述候选客户端列表。
在一种可能的实现方式中,在所述第二客户端向所述第一客户端发送所述第二客户端与所述第一服务器端之间的信号强度之前,所述方法还包括:所述第二客户端接收所述第一客户端发送的共享信息指令,其中,所述共享信息指令中包括所述第一服务器端的地址;其中,所述第二客户端向所述第一客户端发送所述第二客户端与所述第一服务器端之间的信号强度,包括:所述第二客户端根据所述共享信息指令,向所述第一客户端发送所述第二客户端与所述第一服务器端之间的信号强度。
在一种可能的实现方式中,所述第二客户端与所述第一服务器端之间的信号强度,还用于所述第一客户端确定所述第二客户端在所述第一服务器端对应的至少一个客户端中的优先级顺序。
在一种可能的实现方式中,所述第二客户端是所述第一服务器端对应的至少一个客户端中与所述第一服务器端之间信号强度最大的客户端。
在一种可能的实现方式中,所述方法还包括:所述第二客户端接收所述第一客户端发送的恢复指令;所述第二客户端根据所述恢复指令,停止对所述第一客户端的替代。
在一种可能的实现方式中,所述方法还包括:所述第二客户端向所述第一客户端发送传输信息,其中,所述传输信息中包括所述第二客户端在替代所述第一客户端期间与所述第一服务器端之间所传输的信息。
第二方面,提供了一种设备管理的方法,所述方法应用于mesh网络,所述mesh网络中包括多个客户端,所述mesh网络中的第一客户端用于控制多个服务器端,所述方法包括:第一客户端确定第二客户端,其中,所述第二客户端与所述多个服务器端中的第一服务器端之间的信号强度大于预设值;第一客户端向第二客户端发送第一绑定信息,其中,所述第一绑定信息为所述第一服务器端与所述第一客户端之间的绑定信息,所述第一绑定信息用于所述第二客户端在所述第一客户端无法继续控制所述第一服务器端时,替代所述第一客户端对所述多第一服务器端进行控制。
在一种可能的实现方式中,所述第一绑定信息包括以下信息中的至少一种:所述第一客户端的地址、所述第一服务器端的服务信息、以及所述第一客户端与所述第一服务器端之间的密钥信息。
在一种可能的实现方式中,所述方法还包括:第一客户端在所述第一客户端无法继续控制所述第一服务器端时,向所述第二客户端发送替代指令,所述替代指令用于指示所述第二客户端执行对所述第一客户端的替代。
在一种可能的实现方式中,所述替代指令中包括所述第二客户端的地址和所述第一服务器端的地址。
在一种可能的实现方式中,所述方法还包括:所述第一客户端生成候选客户端列表,其中,所述候选客户端列表中包括多个服务器端与多个客户端之间的对应关系,所述第一服务器端对应的至少一个客户端中包括所述第二客户端;其中,所述第一客户端确定第二客户端,包括:所述第一客户端根据所述候选客户端列表,确定所述第二客户端。
在一种可能的实现方式中,所述第一客户端生成候选客户端列表,包括:所述第一客户端接收所述第二客户端发送的所述第二客户端与所述第一服务器端之间的信号强度;在所述第二客户端与所述第一服务器端之间的信号强度大于所述预设值的情况下,所述第一客户端将所述第二客户端与第一服务器端之间的对应关系添加至所述候选客户端列表。
在一种可能的实现方式中,在所述第一客户端接收所述第二客户端发送的所述第二客户端与所述第一服务器端之间的信号强度之前,所述方法还包括:所述第一客户端向所述第二客户端发送共享信息指令,其中,所述共享信息指令中包括所述第一服务器端的地址,所述共享信息指令用于指示所述第二客户端上报所述第二客户端与所述第一服务器端之间的信号强度。
在一种可能的实现方式中,所述第一客户端将所述第二客户端与第一服务器端之间的对应关系添加至所述候选客户端列表,包括:所述第一客户端根据所述第二客户端与所述第一服务器端之间的信号强度,确定所述第二客户端在所述第一服务器端对应的至少一个客户端中的优先级顺序;所述第一客户端按照所述优先级顺序,将所述第二客户端与第一服务器端之间的对应关系添加至所述候选客户端列表。
在一种可能的实现方式中,所述第二客户端是所述第一服务器端对应的至少一个客户端中与所述第一服务器端之间信号强度最大的客户端。
在一种可能的实现方式中,所述方法还包括:所述第一客户端向所述第二客户端发送所述候选客户端列表。
在一种可能的实现方式中,所述方法还包括:所述第一客户端向所述第二客户端发送恢复指令,所述恢复指令用于指示所述第二客户端停止对所述第一客户端的替代。
在一种可能的实现方式中,所述方法还包括:所述第一客户端接收所述第二客户端发送的传输信息,其中,所述传输信息中包括所述第二客户端在替代所述第一客户端期间与所述第一服务器端之间所传输的信息。
第三方面,提供了一种ble设备,包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的功能模块。
第四方面,提供了一种ble设备,包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的功能模块。
第五方面,提供了一种ble芯片,所述ble芯片包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第一方面或第一方面的任意可能的实现方式中的方法。
第六方面,提供了一种ble芯片,所述ble芯片包括处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行第二方面或第二方面的任意可能的实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序。其中,当所述计算机程序被处理器执行时,使得所述处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序。其中,当所述计算机程序被处理器执行时,使得所述处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。
第十方面,提供了一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行上述第二方面或第二方面的任意可能的实现方式中的方法。
基于上述技术方案,当mesh网络中的第一节点需要向第二节点发送大量数据包时,通过发送切换指令使网络中的各个节点进入第一传输模式,即仅转发从第一节点至第二节点的数据包,从而可以提高两个节点之间的数据包的传输效率。
基于上述技术方案,第二客户端与第一服务器端之间的信号强度满足条件时,第一客户端选择第二客户端,并将其与第一服务器端之间的绑定信息发送给第二客户端,从而在第一客户端无法继续控制第一服务器端时,由第二客户端使用所述绑定信息,替代第一客户端对该第一服务器端进行控制。这样,在第一客户端因为设备故障、电量耗尽等原因无法继续工作时,仍保证该第一服务器端的正常功能。
附图说明
图1是mesh网络的示意图。
图2是客户端与服务器端的示意图。
图3是本申请实施例的设备管理的方法的流程交互图。
图4是本申请实施例的生成客户端列表的方法的流程交互图。
图5是客户端被替代的示意图。
图6和图7是本申请实施例的ble设备的示意性框图。
图8是本申请实施例的ble芯片的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了更清楚地理解本申请实施例的方案,下面首先对mesh网络进行简单描述。
图1是本申请实施例的一种可能的mesh网络的示意图。该mesh网络中包括多个设备,每个设备可以称为一个节点(node)。每个节点都可以进行数据传输。数据包可以在各个节点之间被中继,从而使该数据包传输至距离更远的位置。在实际应用中,这些节点可以被分布在制造工厂、办公楼、购物中心、商业园区、家庭以及其他环境中。该mesh网络中可以包括任意数量的节点,图1中仅以节点a至节点g为例。
本申请实施例中的mesh网络由多个客户端(client)组成。每个客户端可以对应一个或者多个服务器端(server)。例如图2所示,客户端a对应于服务器端1,客户端d对应于服务器端2,客户端f对应于服务器端3和服务器端4,客户端b对应于服务器端5。每个客户端控制其对应的服务器端,并收集对应的服务器端的信息。
通常,服务器端的信息对实时性具有较高的要求,必须对其进行实时地管理和信息收集,不允许出现信息中断。但是,如果mesh网络中的某个客户端由于设备故障或者断电等原因造成其无法继续工作,则其对应的服务器端的正常功能会受到影响。
例如,若客户端f无法继续工作时,服务器端3和服务器端4将失去控制,其信息也无法得到及时收集。
为此,本申请实施例提供了一种设备管理的方法,能够在客户端无法继续工作时,仍保证其对应的服务器端的正常功能。
应理解,本申请实施例中,由客户端组成mesh网络,各个客户端需要支持blemesh协议和传统的ble协议。而各个服务器节点不位于该mesh网络中。每个客户端与其对应的服务器节点之间可以基于传统的ble协议进行通信。
图3是本申请实施例的设备管理的方法的流程交互图。所述方法应用于mesh网络,所述mesh网络中包括多个客户端。该方法300由该mesh网络中的第一客户端和第二客户端执行。其中,第一客户端用于控制多个服务器端。如图3所示,该方法300包括以下步骤中的部分或全部。
在310中,第一客户端确定第二客户端。
其中,第二客户端与该多个服务器端中的第一服务器端之间的信号强度大于预设值。
在320中,第一客户端向第二客户端发送第一绑定信息。
其中,该第一绑定信息为第一服务器端与第一客户端之间的绑定信息。
在330中,第二客户端接收第一客户端发送的第一绑定信息。
在340中,第二客户端确定第一客户端无法继续控制第一服务器端时,使用该第一绑定信息,替代第一客户端对第一服务器端进行控制。
该实施例中,第一客户端选择满足条件的第二客户端,该条件即与第一服务器端之间的信号强度大于预设值。第一客户端向其选择的该第二客户端发送第一客户端与第一服务器端之间的第一绑定信息,从而在第一客户端无法继续控制第一服务器端时,由第二客户端使用该第一绑定信息,替代第一客户端对该第一服务器端进行控制。这样,在第一客户端因为设备故障、电量耗尽等原因无法继续工作时,仍可以保证第一服务器端的正常功能。
该第一绑定信息例如可以包括以下信息中的至少一种:第一客户端的地址、第一服务器端的服务信息、以及第一客户端与第一服务器端之间的密钥信息。
该服务信息例如包括电池服务(batteryservice)、二元传感器服务(binarysensorservice)、通用属性规范(genericattributeprofile,gatt)服务、或者通用接入规范(genericaccessprofile,gap)服务等信息。
该第一绑定信息用于与第一服务器之间进行通信。第二客户端在替代第一客户端控制第一服务器端的过程中,需要使用第一绑定信息。例如,第二客户端使用第一客户端的地址与第一服务器端建立连接,并使用密钥信息与第一服务器端之间进行通信,并且使用第一服务器端的服务信息对第一服务器端进行相应控制。第一服务器端可以主动发起连接,这时,第二客户端检测到第一服务器端的连接指令后,使用第一客户端的地址,与第一服务器端之间建立连接;第二客户端也可以主动对第一服务器端进行操作,这时,第二客户端使用第一客户端的地址与第一服务器端之间建立连接,并使用密钥信息向第一服务器端发送控制指令。
第一客户端可以控制一个或者多个服务器端。针对多个服务器端而言,第一客户端在无法继续工作时,可以选择mesh网络中的不同客户端对其进行替代。例如图2中所示的客户端f,其控制服务器端3和服务器端4。当客户端f无法继续工作时,可以选择客户端g,替代客户端f控制服务器端3;并选择客户端b,替代客户端f控制服务器端4。
可选地,第一客户端可以生成候选客户端列表。其中,该候选客户端列表中包括多个服务器端与多个客户端之间的对应关系。而第一服务器端对应的至少一个客户端中包括第二客户端。
也就是说,该候选客户端列表中包括第一客户端控制的多个服务器端,并且包括每个服务器端对应的客户端。只有与某个服务器端相对应的客户端,才能够替代第一客户端控制该服务器端。
例如表一所示,图2中所示的客户端f在正常工作时,控制服务器端3和服务器端4。客户端f建立自己的候选客户端列表,从而在其无法继续工作时,由其他客户端替代其控制服务器端3和服务器端4。如表一所示,服务器端3对应客户端g和客户端d,服务器端4对应客户端b。因此,当客户端f无法继续工作时,客户端g和客户端d才有可能替代客户端f控制服务器端3,而客户端b替代客户端f控制服务器端4。
表一
表一仅仅为示例,候选客户端列表中的一个服务器端可以对应一个或者多个客户端,并且,一个客户端也可以对应一个或者多个服务器端。例如表二所示,图2中所示的客户端f在正常工作时,控制服务器端3和服务器端4。客户端f建立自己的候选客户端列表,从而在其无法继续工作时,由其他客户端替代其控制服务器端3和服务器端4。如表二所示,服务器端3对应客户端g、客户端d和客户端e,服务器端4对应客户端b和客户端e。因此,当客户端f无法继续工作时,客户端g、客户端d和客户端e中的一个客户端,替代客户端f控制服务器端3,而客户端b和客户端e中的一个客户端,替代客户端f控制服务器端4。
表二
第一客户端在建立候选客户端列表时,需要考虑候选客户端列表中的各个服务器端与不同客户端之间的信号强度。若某个客户端与服务器端之间的信号强度小于预设值,表明通信质量较差,则该客户端不适宜作为候选客户端用来控制该服务器端;若某个客户端与服务器端之间的信号强度大于预设值,表明通信质量较优,则该客户端能够用来控制该服务器端。
例如,第一客户端可以通过图4所示的方式,建立候选客户端列表。如图4所示,该方法可以包括步骤410至430。图4中以第二客户端为例,其他候选客户端执行类似操作,这里不再赘述。
在410中,第二客户端向第一客户端发送第二客户端与第一服务器端之间的信号强度。
在420中,第一客户端接收第二客户端发送的第二客户端与第一服务器端之间的该信号强度。
在430中,第一客户端根据第二客户端与第一服务器端之间的该信号强度,生成该候选客户端列表。
其中,在第二客户端与第一服务器端之间的信号强度大于该预设值的情况下,第一客户端会将第二客户端与第一服务器端之间的对应关系添加至该候选客户端列表。
如果第二客户端与第一服务器端之间的信号强度小于该预设值,则第一客户端不会将第二客户端添加至该客户端列表。
在410中,第二客户端可以基于第一客户端的指示,检测第二客户端与第一服务器端之间的信号强度,并将该信号强度发送给第一客户端;或者,第二客户端也可以在加入该mesh网络时,主动检测与附近的服务器端之间的信号强度,并向第一客户端发送第二客户端与这些服务器端之间的信号强度。
例如,第一客户端可以向第二客户端发送共享信息指令,该共享信息指令中包括第一服务器端的地址,该共享信息指令用于指示第二客户端检测第二客户端与第一服务器端之间的信号强度。第二客户端接收该共享信息指令后,根据该共享信息指令,检测第二客户端与第一服务器端之间的信号强度。第二客户端接收到共享信息指令后,可以向第一客户端回复应答消息,该应答消息中可以包括该第一服务器端的地址和该信号强度。
又例如,第二客户端也可以在加入该mesh网络时,主动检测与附近的服务器端之间的信号强度,如果检测到第二客户端与第一服务器端之间的信号强度大于预设值,则可以将第二客户端与第一服务器端之间的该信号强度,发送给附近的客户端。
进一步地,第二客户端与第一服务器端之间的信号强度,还可以用于第一客户端确定第二客户端在第一服务器端对应的至少一个客户端中的优先级顺序。
可选地,在430中,第一客户端在生成候选客户端列表时,第一客户端可以根据第二客户端与第一服务器端之间的信号强度,确定第二客户端在第一服务器端对应的至少一个客户端中的优先级顺序;并按照该优先级顺序,将第二客户端与第一服务器端之间的对应关系添加至该候选客户端列表。
以表一为例进行说明,客户端f接收该mesh网络中的其他客户端发送的各自与服务器端4之间的信号强度,仅有客户端b与服务器端4之间的信号强度大于预设值,因此,客户端f将客户端b作为与服务器端4对应的客户端,并写入该候选客户端列表。
同样,客户端f接收该mesh网络中的其他客户端发送的各自与服务器端3之间的信号强度,仅有客户端g和客户端d与服务器端3之间的信号强度大于预设值,因此,客户端f将客户端g和客户端d作为与服务器端3对应的客户端,并写入该候选客户端列表。其中,客户端g与服务器端3之间的信号强度,大于客户端d与服务器端3之间的信号强度。因此,客户端g的优先级高于客户端d的优先级,第一客户端可以在候选客户端列表中增加各个候选客户端的优先级信息。
可选地,在310中,第一客户端确定第二客户端,可以是根据该候选客户端列表,选择与第一服务器端对应的客户端。例如,该第二客户端可以是第一服务器端对应的至少一个客户端中优先级最高的客户端,即第二客户端是第一服务器端对应的至少一个客户端中与第一服务器端之间信号强度最大的客户端。因此,第一客户端选择了第二客户端替代自己控制第一服务器端。
当第一客户端停止工作时,第二客户端替代第一客户端控制第一服务器端。第一服务器端仍可以在第二客户端的控制下,实现其正常功能。例如图5所示,当客户端f停止工作时,可以由客户端g代替客户端f控制服务器端3,由客户端b代替客户端f控制服务器端4。
应理解,第一客户端也可以采用其他方式选择该第二客户端。例如,第一客户端基于候选客户端列表,在于第一服务器端对应的至少一个客户端中,随机选择该第二客户端。又例如,第一客户端考虑第一服务器端对应的至少一个客户端的工作负荷量,选择工作负荷量较低或者空闲的该第二客户端。比如该第二客户端在不替代其他客户端时,其自身原本需要负责管理的服务器端比较少的情况下,尽管其优先级较低,第一客户端也可以选择第二客户端用来替代第一客户端。
这里存在两种情况。其中,在一种情况下,第一客户端在第一客户端无法继续控制第一服务器端时,可以向其选择的第二客户端发送替代指令。其中,该替代指令用于指示第二客户端执行对第一客户端的替代。例如,第一客户端在电量小于5%时向第二客户端发送该替代指令。
在另一种情况下,第一客户端发生突发情况,例如设备故障或者断电时,来不及向第二客户端发送替代指令。因此,需要第二客户端可以自行判断第一客户端的状态。例如,第二客户端可以检测第一客户端发出的心跳包;若第二客户端在预定时长内没有检测到第一客户端的心跳包,则确定执行对第一客户端的替代。
无论是否发送替代指令,第二客户端在判断需要替代第一客户端时,都需要知道其替代第一客户端控制哪些服务器端。
在一种实现方式中,该替代指令中包括第二客户端的地址和第一服务器端的地址。
即,第一客户端在向第二客户端发送替代指令时,在其中携带需要由第二客户端控制的那些服务器端的地址。第二客户端接收第一客户端发送的替代指令,由于该替代指令中包括第一服务器端的地址,则第二客户端替代第一客户端控制该第一服务器端。
第二客户端接收到替代指令后,解析出替代指令中包含的第二客户端和第一服务器端之间的对应关系。如果其中包括第二客户端的地址,则确定替代第一客户端控制第一服务器端;如果其中不包括第二客户端的地址,则维持当前状态不变。
在另一种实现方式中,该替代指令仅用于指示第二客户端执行对第一客户端的替代。第二客户端替代第一客户端控制哪个服务器端,可以由第二客户端根据候选客户端列表自行确定。
可选地,如图4所示的方法,该方法还可以包括440和450。
在440中,第一客户端向第二客户端发送该候选客户端列表。
在450中,第二客户端接收第一客户端发送的候选客户端列表。
这样,第二客户端就可以根据该候选客户端列表,确定第一服务器端。其中,在该候选客户端列表中,第一服务器端对应的至少一个客户端中包括第二客户端。
也就是说,如果替代指令中携带的服务器端的地址,则第二客户端根据该替代指令,执行对第一客户端的替代。如果替代指令中没有携带的服务器端的地址,第二客户端在从候选客户端列表中,选择由第二客户端控制的服务器端。
如果某个高优先级的客户端已经替代第一客户端对第一服务器端进行了控制,则可以在mesh网络中发送通知指令,以对其他客户端进行告知。第二客户端根据该候选客户端列表,确定第一服务器端时,需要检测该通知指令,如果没有检测到该替代指令,则说明优先级更高的其他客户端没有执行替代,这时第二客户端才替代第一客户端控制第一服务器端。
该候选客户端列表可以进行更新,例如周期性更新、有新节点加入mesh网络时更新、或者服务器端和客户端之间的信号强度发生变化时更新。具体的更新过程在候选客户端列表中添加第二客户端的过程类似,为了简洁,这里不再赘述。
当第一客户端恢复工作时,可选地,可以向第二客户端发送恢复指令,该恢复指令用于指示第二客户端停止对第一客户端的替代。
相应地,第二客户端接收第一客户端发送的恢复指令;并根据该恢复指令,停止对第一客户端的替代。
进一步地,可选地,第二客户端还要向第一客户端发送传输信息。其中,该传输信息中包括第二客户端在替代第一客户端期间与第一服务器端之间所传输的信息。
第一客户端接收该传输信息并保存,之后继续对第一服务器端进行控制。
应理解,第二客户端替代第一客户端控制第一服务器端时,第二客户端原本的工作不会停止,第二客户端仍会对原本由第二客户端控制的服务器进行管理。例如图5所示,客户端b替代客户端f控制服务器端4后,仍需要控制原来的服务器端5。
在本申请实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
并且,在不冲突的前提下,本申请描述的各个实施例和/或各个实施例中的技术特征可以任意的相互组合,组合之后得到的技术方案也应落入本申请的保护范围。
上文中详细描述了根据本申请实施例的设备管理的方法,下面将结合图6至图8,描述根据本申请实施例的装置,方法实施例所描述的技术特征适用于以下装置实施例。
图6是根据本申请实施例的ble设备600的示意性框图。如图6所示,ble设备600为ble的mesh网络中的第二客户端,所述mesh网络中包括多个客户端,所述第一客户端用于控制多个服务器端,所述第二客户端包括:
收发单元610,用于接收所述第一客户端发送的第一绑定信息,其中,所述第一绑定信息为所述多个服务器端中的第一服务器端与所述第一客户端之间的绑定信息,所述第一服务器端与所述第二客户端之间的信号强度大于预设值;
处理单元620,用于确定所述第一客户端无法继续控制所述第一服务器端时,使用所述绑定信息替代所述第一客户端对所述第一服务器端进行控制。
因此,第二客户端获取第一客户端与第一服务器端之间的绑定信息后,可以在第一客户端无法继续控制第一服务器端时,由第二客户端使用所述绑定信息,替代第一客户端对该第一服务器端进行控制。从而在第一客户端因为设备故障、电量耗尽等原因无法继续工作时,仍保证该第一服务器端的正常功能。
可选地,所述第一绑定信息包括以下信息中的至少一种:所述第一客户端的地址、所述第一服务器端的服务信息、以及所述第一客户端与所述第一服务器端之间的密钥信息。
可选地,处理单元620还用于:检测所述第一客户端的心跳包;若在预定时长内没有检测到所述第一客户端的心跳包,则确定执行对所述第一客户端的替代。
可选地,收发单元610还用于:接收所述第一客户端发送的替代指令,其中,所述替代指令用于指示所述第二客户端执行对所述第一客户端的替代。
可选地,所述替代指令中包括所述第二客户端的地址和所述第一服务器端的地址。
可选地,收发单元610还用于:接收所述第一客户端发送的候选客户端列表,其中,所述候选客户端列表中包括多个服务器端与多个客户端之间的对应关系;处理单元620还用于:根据所述候选客户端列表,确定所述第一服务器端,其中,所述第一服务器端对应的至少一个客户端中包括所述第二客户端。
可选地,收发单元610还用于:向所述第一客户端发送所述第二客户端与所述第一服务器端之间的信号强度,其中,所述第二客户端与所述第一服务器端之间的信号强度用于所述第一客户端生成所述候选客户端列表。
可选地,收发单元610具体用于:接收所述第一客户端发送的共享信息指令,其中,所述共享信息指令中包括所述第一服务器端的地址;根据所述共享信息指令,向所述第一客户端发送所述第二客户端与所述第一服务器端之间的信号强度。
可选地,所述第二客户端与所述第一服务器端之间的信号强度,还用于所述第一客户端确定所述第二客户端在所述第一服务器端对应的至少一个客户端中的优先级顺序。
可选地,所述第二客户端是所述第一服务器端对应的至少一个客户端中与所述第一服务器端之间信号强度最大的客户端。
可选地,收发单元610还用于:接收所述第一客户端发送的恢复指令;处理单元620还用于:根据所述恢复指令,停止对所述第一客户端的替代。
可选地,收发单元610还用于:向所述第一客户端发送传输信息,其中,所述传输信息中包括所述第二客户端在替代所述第一客户端期间与所述第一服务器端之间所传输的信息。
应理解,ble设备600可以执行上述方法实施例中由第二客户端执行的相应操作,为了简洁,在此不再赘述。
图7是根据本申请实施例的ble设备700的示意性框图。如图7所示,所述ble设备为ble的mesh网络中的第一客户端,所述mesh网络中包括多个客户端,所述mesh网络中的第一客户端用于控制多个服务器端,所述ble设备包括:
处理单元710,用于确定所述mesh中的第二客户端,其中,所述第二客户端与所述多个服务器端中的第一服务器端之间的信号强度大于预设值;
收发单元720,用于向第二客户端发送第一绑定信息,其中,所述第一绑定信息为所述第一服务器端与所述第一客户端之间的绑定信息,所述第一绑定信息用于所述第二客户端在所述第一客户端无法继续控制所述第一服务器端时,替代所述第一客户端对所述多第一服务器端进行控制。
因此,第二客户端与第一服务器端之间的信号强度满足条件时,第一客户端选择第二客户端,并将其与第一服务器端之间的绑定信息发送给第二客户端,从而在第一客户端无法继续控制第一服务器端时,由第二客户端使用所述绑定信息,替代第一客户端对该第一服务器端进行控制。这样,在第一客户端因为设备故障、电量耗尽等原因无法继续工作时,仍保证其控制的第一服务器端的正常功能。
可选地,所述第一绑定信息包括以下信息中的至少一种:所述第一客户端的地址、所述第一服务器端的服务信息、以及所述第一客户端与所述第一服务器端之间的密钥信息。
可选地,收发单元720还用于:在所述第一客户端无法继续控制所述第一服务器端时,向所述第二客户端发送替代指令,所述替代指令用于指示所述第二客户端执行对所述第一客户端的替代。
可选地,所述替代指令中包括所述第二客户端的地址和所述第一服务器端的地址。
可选地,处理单元710具体用于:生成候选客户端列表,其中,所述候选客户端列表中包括多个服务器端与多个客户端之间的对应关系,所述第一服务器端对应的至少一个客户端中包括所述第二客户端;根据所述候选客户端列表,确定所述第二客户端。
可选地,处理单元710具体用于:控制所述收发单元720接收所述第二客户端发送的所述第二客户端与所述第一服务器端之间的信号强度;在所述第二客户端与所述第一服务器端之间的信号强度大于所述预设值的情况下,所述第一客户端将所述第二客户端与第一服务器端之间的对应关系添加至所述候选客户端列表。
可选地,收发单元720具体用于:向所述第二客户端发送共享信息指令,其中,所述共享信息指令中包括所述第一服务器端的地址,所述共享信息指令用于指示所述第二客户端上报所述第二客户端与所述第一服务器端之间的信号强度。
可选地,处理单元710具体用于:根据所述第二客户端与所述第一服务器端之间的信号强度,确定所述第二客户端在所述第一服务器端对应的至少一个客户端中的优先级顺序;按照所述优先级顺序,将所述第二客户端与第一服务器端之间的对应关系添加至所述候选客户端列表。
可选地,所述第二客户端是所述第一服务器端对应的至少一个客户端中与所述第一服务器端之间信号强度最大的客户端。
可选地,收发单元720还用于:向所述第二客户端发送所述候选客户端列表。
可选地,收发单元720还用于:向所述第二客户端发送恢复指令,所述恢复指令用于指示所述第二客户端停止对所述第一客户端的替代。
可选地,收发单元720还用于:接收所述第二客户端发送的传输信息,其中,所述传输信息中包括所述第二客户端在替代所述第一客户端期间与所述第一服务器端之间所传输的信息。
应理解,ble设备700可以执行上述方法实施例中由第一客户端执行的相应操作,为了简洁,在此不再赘述。
图8是本申请实施例的一种ble芯片800的示意性结构图。图8所示的ble芯片800包括处理器810、存储器820、以及收发器830。
其中,处理器810可以从存储器820中调用并运行计算机程序,以实现本申请实施例中的方法。处理器810可以控制收发器830与其他ble设备或ble芯片之间进行通信,具体地,可以向其他ble设备或ble芯片发送数据,或接收其他ble设备或ble芯片发送的信息或数据。
收发器830可以包括输入接口831和输出接口832。处理器810可以控制输入接口831和输出接口832与其他ble设备或ble芯片之间进行通信,从而获取其他ble设备或ble芯片发送的信息或数据,或者向其他ble设备或ble芯片输出信息或数据。
可选地,ble芯片800具体可为本申请实施例的第一客户端,并且ble芯片800可以实现本申请实施例的各个方法中由第一客户端实现的相应流程,为了简洁,在此不再赘述。
可选地,ble芯片800具体可为本申请实施例的第二客户端,并且ble芯片800可以实现本申请实施例的各个方法中由第二客户端实现的相应流程,为了简洁,在此不再赘述。
上述的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
上述的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(randomaccessmemory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,sram)、动态随机存取存储器(dynamicram,dram)、同步动态随机存取存储器(synchronousdram,sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,esdram)、同步连接动态随机存取存储器(synchlinkdram,sldram)和直接内存总线随机存取存储器(directrambusram,drram)。
本申请实施例还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于本申请实施例中的ble设备,并且该计算机程序使得计算机执行本申请实施例的各个方法中由第一客户端或者第二客户端实现的相应流程,为了简洁,不再赘述。
本申请实施例还提供了一种计算机程序产品,包括计算机程序指令。该计算机程序产品可应用于本申请实施例中的ble设备,并且该计算机程序指令使得计算机执行本申请实施例的各个方法中由第一客户端或者第二客户端实现的相应流程,为了简洁,在此不再赘述。
本发明实施例中的术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本发明实施例中,“与a相应(对应)的b”表示b与a相关联,根据a可以确定b。但还应理解,根据a确定b并不意味着仅仅根据a确定b,还可以根据a和/或其它信息确定b。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例中的具体的例子只是为了帮助本领域技术人员更好地理解本申请实施例,而非限制本申请实施例的范围,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形均落在本申请的保护范围内。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。