一种远程控制方法和分级系统转让专利

申请号 : CN202211290685.9

文献号 : CN115361428B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高春光

申请人 : 北京鼎轩科技有限责任公司

摘要 :

本申请提供了一种远程控制方法和分级系统,在本申请中,在对某一节点设备上的应用进行更新或回滚时,需要在主设备上确定出对应的控制指令,以及目标节点设备的设备标识,目标节点设备的节点路径和目标应用的目标版本号,然后通过心跳机制在分级系统中找到目标节点设备,然后对目标节点设备中的目标应用进行指定控制,从而完成对目标节点设备上的目标应用的更新或回滚,通过上述方式,可以对目标节点设备上的目标应用进行远程控制,从而降低人工工作量。

权利要求 :

1.一种远程控制方法,其特征在于,所述方法应用在分级系统中,所述分级系统包括主设备和各级节点设备,属于同一级的节点设备的数量至少为1个,所述主设备能够对各级节点设备进行管控,上级节点设备能够对归属于所述上级节点设备的所有的下级节点设备进行管控,不同的上级节点设备对应不同的下级节点设备,所述方法包括:所述主设备响应用户对目标节点设备的控制操作,确定所述控制操作对应的控制指令、所述目标节点设备的设备标识、所述目标节点设备的节点路径,以及目标应用的目标版本号,以作为控制信息,其中,所述控制指令用于对所述目标应用在所述目标节点设备中运行的版本进行指定控制,所述指定控制包括以下一种:更新和回滚;

所述主设备将所述控制信息封装到当前心跳周期所对应的第一心跳信息中,以将所述第一心跳信息发给归属于所述主设备的下级节点设备;

对于每一级节点设备,当该节点设备接收到心跳信息后,对接收到的心跳信息进行解析;

对于解析获取到所述控制信息的各节点设备,该节点设备根据所述设备标识判断所述目标节点设备是否为该节点设备的下级节点设备;如果所述目标节点设备是该节点设备的下级节点设备,则将所述控制信息封装到当前心跳周期所对应的第二心跳信息中,以将所述第二心跳信息发送给所述目标节点设备;所述目标节点设备在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制;如果所述目标节点设备不是该节点设备的下级节点设备,该节点设备根据所述控制信息中的节点路径,判断自身是否位于所述节点路径上;如果该节点设备在所述节点路径上,则将所述控制信息封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给归属于该节点设备的下级节点设备;如果该节点设备不在所述节点路径上,则删除所述控制信息。

2.如权利要求1所述的方法,其特征在于,所述目标节点设备在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制,包括:所述目标节点设备根据所述目标版本号,生成版本查询指令;

所述目标节点设备将所述版本查询指令封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给与所述目标节点设备相邻的临近节点设备,其中,所述临近节点设备包括:所述目标节点设备的下级节点设备和所述目标节点设备所归属的上级节点设备;

对于各节点设备对应的每个临近节点设备,该临近节点设备在接收到包含有所述版本查询指令的心跳信息后,查询当前运行的所述目标应用的版本号与所述目标版本号是否相同,以及生成由所述版本查询指令所经过的节点设备构成的查询路径;

如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号相同,该临近节点设备对所述目标应用进行封装;

该临近节点设备按照所述查询路径将封装后的目标应用以数据流的形式发送给所述目标节点设备;

所述目标节点设备根据封装后的目标应用对当前运行的目标应用进行指定控制。

3.如权利要求2所述的方法,其特征在于,所述方法还包括:

如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号不相同,该临近节点设备根据自身所在的位置对所述查询路径进行更新,得到新的查询路径;

该临近节点设备将所述查询指令和新的查询路径封装到当前心跳周期所对应的第四心跳信息中,以将所述第四心跳信息发送给该临近节点设备相邻的临近节点设备。

4.如权利要求3所述的方法,其特征在于,所述方法还包括:

所述目标节点设备在第一次接收到封装后的目标应用后,将后续接收到的封装后的目标应用删除。

5.如权利要求3所述的方法,其特征在于,所述方法还包括:

所述目标节点设备对所述指定控制、发送封装后的目标应用的节点设备的设备标识、进行指定控制前的版本号和进行指定控制后的版本号以键值对的形式进行存储。

6.一种分级系统,其特征在于,所述分级系统包括主设备和各级节点设备,属于同一级的节点设备的数量至少为1个,所述主设备能够对各级节点设备进行管控,上级节点设备能够对归属于所述上级节点设备的所有的下级节点设备进行管控,不同的上级节点设备对应不同的下级节点设备;

所述主设备,用于响应用户对目标节点设备的控制操作,确定所述控制操作对应的控制指令、所述目标节点设备的设备标识、所述目标节点设备的节点路径,以及目标应用的目标版本号,以作为控制信息,其中,所述控制指令用于对所述目标应用在所述目标节点设备中运行的版本进行指定控制,所述指定控制包括以下一种:更新和回滚;

所述主设备,还用于将所述控制信息封装到当前心跳周期所对应的第一心跳信息中,以将所述第一心跳信息发给归属于所述主设备的下级节点设备;

对于每一级节点设备,用于当该节点设备接收到心跳信息后,对接收到的心跳信息进行解析;

对于解析获取到所述控制信息的各节点设备,该节点设备,还用于根据所述设备标识判断所述目标节点设备是否为该节点设备的下级节点设备;如果所述目标节点设备是该节点设备的下级节点设备,则用于将所述控制信息封装到当前心跳周期所对应的第二心跳信息中,以将所述第二心跳信息发送给所述目标节点设备;所述目标节点设备,用于在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制;如果所述目标节点设备不是该节点设备的下级节点设备,该节点设备,还用于根据所述控制信息中的节点路径,判断自身是否位于所述节点路径上;如果该节点设备在所述节点路径上,则用于将所述控制信息封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给归属于该节点设备的下级节点设备;如果该节点设备不在所述节点路径上,则用于删除所述控制信息。

7.如权利要求6所述的系统,其特征在于,所述目标节点设备用于在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制时,包括:所述目标节点设备根据所述目标版本号,生成版本查询指令;

所述目标节点设备将所述版本查询指令封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给与所述目标节点设备相邻的临近节点设备,其中,所述临近节点设备包括:所述目标节点设备的下级节点设备和所述目标节点设备所归属的上级节点设备;

对于各节点设备对应的每个临近节点设备,该临近节点设备在接收到包含有所述版本查询指令的心跳信息后,查询当前运行的所述目标应用的版本号与所述目标版本号是否相同,以及生成由所述版本查询指令所经过的节点设备构成的查询路径;

如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号相同,该临近节点设备对所述目标应用进行封装;

该临近节点设备按照所述查询路径将封装后的目标应用以数据流的形式发送给所述目标节点设备;

所述目标节点设备根据封装后的目标应用对当前运行的目标应用进行指定控制。

8.如权利要求7所述的系统,其特征在于,如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号不相同,该临近节点设备,还用于根据自身所在的位置对所述查询路径进行更新,得到新的查询路径;

该临近节点设备,还用于将所述查询指令和新的查询路径封装到当前心跳周期所对应的第四心跳信息中,以将所述第四心跳信息发送给该临近节点设备相邻的临近节点设备。

9.如权利要求8所述的系统,其特征在于,所述目标节点设备,还用于在第一次接收到封装后的目标应用后,将后续接收到的封装后的目标应用删除。

10.如权利要求8所述的系统,其特征在于,所述目标节点设备,还用于对所述指定控制、发送封装后的目标应用的节点设备的设备标识、进行指定控制前的版本号和进行指定控制后的版本号以键值对的形式进行存储。

说明书 :

一种远程控制方法和分级系统

技术领域

[0001] 本申请涉及远程控制技术领域,具体而言,涉及一种远程控制方法和分级系统。

背景技术

[0002] 在现有的分级系统中,如果想要对某一节点设备上的应用进行更新或回滚需要通过线下的方式将相应版本的安装程序发送给该节点设备的运维单位,然后由运维人员手动进行更新或回滚,这就导致无法对分级系统中节点设备进行远程控制,从而造成人工工作量较大的问题。

发明内容

[0003] 有鉴于此,本申请实施例提供了一种远程控制方法和分级系统,以实现对分级系统中节点设备的远程控制,以降低人工工作量。
[0004] 第一方面,本申请实施例提供了一种远程控制方法,所述方法应用在分级系统中,所述分级系统包括主设备和各级节点设备,属于同一级的节点设备的数量至少为1个,所述主设备能够对各级节点设备进行管控,上级节点设备能够对归属于所述上级节点设备的所有的下级节点设备进行管控,不同的上级节点设备对应不同的下级节点设备,所述方法包括:
[0005] 所述主设备响应用户对目标节点设备的控制操作,确定所述控制操作对应的控制指令、所述目标节点设备的设备标识、所述目标节点设备的节点路径,以及目标应用的目标版本号,以作为控制信息,其中,所述控制指令用于对所述目标应用在所述目标节点设备中运行的版本进行指定控制,所述指定控制包括以下一种:更新和回滚;
[0006] 所述主设备将所述控制信息封装到当前心跳周期所对应的第一心跳信息中,以将所述第一心跳信息发给归属于所述主设备的下级节点设备;
[0007] 对于每一级节点设备,当该节点设备接收到心跳信息后,对接收到的心跳信息进行解析;
[0008] 对于解析获取到所述控制信息的各节点设备,该节点设备根据所述设备标识判断所述目标节点设备是否为该节点设备的下级节点设备;如果所述目标节点设备是该节点设备的下级节点设备,则将所述控制信息封装到当前心跳周期所对应的第二心跳信息中,以将所述第二心跳信息发送给所述目标节点设备;所述目标节点设备在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制;如果所述目标节点设备不是该节点设备的下级节点设备,该节点设备根据所述控制信息中的节点路径,判断自身是否位于所述节点路径上;如果该节点设备在所述节点路径上,则将所述控制信息封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给归属于该节点设备的下级节点设备;如果该节点设备不在所述节点路径上,则删除所述控制信息。
[0009] 可选地,所述目标节点设备在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制,包括:
[0010] 所述目标节点设备根据所述目标版本号,生成版本查询指令;
[0011] 所述目标节点设备将所述版本查询指令封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给与所述目标节点设备相邻的临近节点设备,其中,所述临近节点设备包括:所述目标节点设备的下级节点设备和所述目标节点设备所归属的上级节点设备;
[0012] 对于各节点设备对应的每个临近节点设备,该临近节点设备在接收到包含有所述版本查询指令的心跳信息后,查询当前运行的所述目标应用的版本号与所述目标版本号是否相同,以及生成由所述版本查询指令所经过的节点设备构成的查询路径;
[0013] 如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号相同,该临近节点设备对所述目标应用进行封装;
[0014] 该临近节点设备按照所述查询路径将封装后的目标应用以数据流的形式发送给所述目标节点设备;
[0015] 所述目标节点设备根据封装后的目标应用对当前运行的目标应用进行指定控制。
[0016] 可选地,所述方法还包括:
[0017] 如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号不相同,该临近节点设备根据自身所在的位置对所述查询路径进行更新,得到新的查询路径;
[0018] 该临近节点设备将所述查询指令和新的查询路径封装到当前心跳周期所对应的第四心跳信息中,以将所述第四心跳信息发送给该临近节点设备相邻的临近节点设备。
[0019] 可选地,所述方法还包括:
[0020] 所述目标节点设备在第一次接收到封装后的目标应用后,将后续接收到的封装后的目标应用删除。
[0021] 可选地,所述方法还包括:
[0022] 所述目标节点设备对所述指定控制、发送封装后的目标应用的节点设备的设备标识、进行指定控制前的版本号和进行指定控制后的版本号以键值对的形式进行存储。
[0023] 第二方面,本申请实施例提供了一种分级系统,所述分级系统包括主设备和各级节点设备,属于同一级的节点设备的数量至少为1个,所述主设备能够对各级节点设备进行管控,上级节点设备能够对归属于所述上级节点设备的所有的下级节点设备进行管控,不同的上级节点设备对应不同的下级节点设备;
[0024] 所述主设备,用于响应用户对目标节点设备的控制操作,确定所述控制操作对应的控制指令、所述目标节点设备的设备标识、所述目标节点设备的节点路径,以及目标应用的目标版本号,以作为控制信息,其中,所述控制指令用于对所述目标应用在所述目标节点设备中运行的版本进行指定控制,所述指定控制包括以下一种:更新和回滚;
[0025] 所述主设备,还用于将所述控制信息封装到当前心跳周期所对应的第一心跳信息中,以将所述第一心跳信息发给归属于所述主设备的下级节点设备;
[0026] 对于每一级节点设备,用于当该节点设备接收到心跳信息后,对接收到的心跳信息进行解析;
[0027] 对于解析获取到所述控制信息的各节点设备,该节点设备,还用于根据所述设备标识判断所述目标节点设备是否为该节点设备的下级节点设备;如果所述目标节点设备是该节点设备的下级节点设备,则用于将所述控制信息封装到当前心跳周期所对应的第二心跳信息中,以将所述第二心跳信息发送给所述目标节点设备;所述目标节点设备,用于在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制;如果所述目标节点设备不是该节点设备的下级节点设备,该节点设备,还用于根据所述控制信息中的节点路径,判断自身是否位于所述节点路径上;如果该节点设备在所述节点路径上,则用于将所述控制信息封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给归属于该节点设备的下级节点设备;如果该节点设备不在所述节点路径上,则用于删除所述控制信息。
[0028] 可选地,所述目标节点设备用于在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制时,包括:
[0029] 所述目标节点设备根据所述目标版本号,生成版本查询指令;
[0030] 所述目标节点设备将所述版本查询指令封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给与所述目标节点设备相邻的临近节点设备,其中,所述临近节点设备包括:所述目标节点设备的下级节点设备和所述目标节点设备所归属的上级节点设备;
[0031] 对于各节点设备对应的每个临近节点设备,该临近节点设备在接收到包含有所述版本查询指令的心跳信息后,查询当前运行的所述目标应用的版本号与所述目标版本号是否相同,以及生成由所述版本查询指令所经过的节点设备构成的查询路径;
[0032] 如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号相同,该临近节点设备对所述目标应用进行封装;
[0033] 该临近节点设备按照所述查询路径将封装后的目标应用以数据流的形式发送给所述目标节点设备;
[0034] 所述目标节点设备根据封装后的目标应用对当前运行的目标应用进行指定控制。
[0035] 可选地,如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号不相同,该临近节点设备,还用于根据自身所在的位置对所述查询路径进行更新,得到新的查询路径;
[0036] 该临近节点设备,还用于将所述查询指令和新的查询路径封装到当前心跳周期所对应的第四心跳信息中,以将所述第四心跳信息发送给该临近节点设备相邻的临近节点设备。
[0037] 可选地,所述目标节点设备,还用于在第一次接收到封装后的目标应用后,将后续接收到的封装后的目标应用删除。
[0038] 可选地,所述目标节点设备,还用于对所述指定控制、发送封装后的目标应用的节点设备的设备标识、进行指定控制前的版本号和进行指定控制后的版本号以键值对的形式进行存储。
[0039] 本申请的实施例提供的技术方案可以包括以下有益效果:
[0040] 在本申请中,在对某一节点设备上的应用进行更新或回滚时,需要在主设备上确定出对应的控制指令,以及目标节点设备的设备标识,目标节点设备的节点路径和目标应用的目标版本号,然后通过心跳机制在分级系统中找到目标节点设备,然后对目标节点设备中的目标应用进行指定控制,从而完成对目标节点设备上的目标应用的更新或回滚,通过上述方式,可以对目标节点设备上的目标应用进行远程控制,从而降低人工工作量,并且,在上述方法中,由于无需增加额外信令,从而有利于降低分析系统的复杂程度。
[0041] 为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

[0042] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0043] 图1为本申请实施例提供的一种分级系统的部分结构示意图;
[0044] 图2为本申请实施例一提供的一种远程控制方法的流程示意图;
[0045] 图3为本申请实施例一提供的另一种远程控制方法的流程示意图;
[0046] 图4为本申请实施例一提供的另一种远程控制方法的流程示意图。

具体实施方式

[0047] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0048] 图1为本申请实施例提供的一种分级系统的部分结构示意图,如图1所示,该分级系统中包括1台主设备和多台各级节点设备,属于同一级的节点设备的数量至少为1个,如图1所示,位于同一虚线上的节点设备属于同一级的节点设备,其中,主设备能够对各级节点设备进行管控,上级节点设备对归属于该上级节点设备的所有下级节点设备进行管控,相邻的两级节点设备中,靠近主设备的为上级节点设备,远离主设备的为归属于该上级节点设备的下级节点设备,如图1所示,对于节点设备A、节点设备B、节点设备C和节点设备D而言,节点设备A为上级节点设备,节点设备B、节点设备C和节点设备D均为归属于节点设备A的下级节点设备,并且,如图1所示,不同的上级节点设备对应不同的下级节点设备,不同的上级节点设备所对应的下级节点设备的数量也是不同的。
[0049] 同时,需要说明的是,不同的节点设备中运行的同一应用的版本号可能是不同的,并且,不同的节点设备中运行的应用也可能是不同的。
[0050] 以下是对本申请实施例的详细说明。
[0051] 实施例一
[0052] 图2为本申请实施例一提供的一种远程控制方法的流程示意图,该方法应用在图1所示的分级系统中,如图2所示,该方法包括以下步骤:
[0053] 步骤201、所述主设备响应用户对目标节点设备的控制操作,确定所述控制操作对应的控制指令、所述目标节点设备的设备标识、所述目标节点设备的节点路径,以及目标应用的目标版本号,以作为控制信息,其中,所述控制指令用于对所述目标应用在所述目标节点设备中运行的版本进行指定控制,所述指定控制包括以下一种:更新和回滚。
[0054] 具体的,如图1所示,当用户想要对某个节点设备上的某个应用进行更新或回滚时,可以将该节点设备作为目标节点设备,将该应用作为目标应用,并且在主设备上进行控制操作,例如:主设备可以显示出所有的节点设备,用户可以选择将要操作的目标节点设备,此时主设备上显示目标节点设备上运行的各应用,用户再选择出目标应用,然后再选择对目标应用是进行更新操作还是回滚操作,并确定出对目标应用进行更新或回滚之后的版本,此时主设备可以根据上述操作确定出对目标节点设备的控制指令是进行更新操作还是回滚操作,以及目标节点设备的设备标识,以及目标应用的目标版本号,根据分级系统的结构,可以确定出从主设备到目标节点设备的路径,以将该路径作为目标节点设备的节点路径。
[0055] 需要说明的是,本申请涉及到的更新是将应用程序从版本号较低的应用更新为版本号较高的应用,回滚是将应用程序从版本号较高的应用更新为版本号较低的应用。
[0056] 步骤202、所述主设备将所述控制信息封装到当前心跳周期所对应的第一心跳信息中,以将所述第一心跳信息发给归属于所述主设备的下级节点设备。
[0057] 具体的,主设备和属于主设备的下级节点设备之间,以及上级节点设备和下级节点设备之间会按照设定的心跳周期发送心跳信息,以便确定主设备和各节点设备是否还存活,即:主设备会向属于其的下级节点设备发送心跳信息,该下级节点设备也会向主设备发送心跳信息,上级节点设备会向属于其的下级节点设备发送心跳信息,该下级节点设备也会向上级节点设备发送心跳信息,进一步的,心跳信息是相互发送的。
[0058] 由于心跳信息是按照周期发送的,因此可以将上述的控制信息封装到当前心跳周期所要发送的心跳信息中,从而将该心跳信息发送给归属于主设备的下级节点设备,以便下级节点设备在接收到该心跳信息后,可以将控制信息发送给归属于该下级节点设备的下级节点设备,直至找到目标节点设备。
[0059] 步骤203、对于每一级节点设备,当该节点设备接收到心跳信息后,对接收到的心跳信息进行解析。
[0060] 步骤204、对于解析获取到所述控制信息的各节点设备,该节点设备根据所述设备标识判断所述目标节点设备是否为该节点设备的下级节点设备;如果所述目标节点设备是该节点设备的下级节点设备,则将所述控制信息封装到当前心跳周期所对应的第二心跳信息中,以将所述第二心跳信息发送给所述目标节点设备;所述目标节点设备在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制;如果所述目标节点设备不是该节点设备的下级节点设备,该节点设备根据所述控制信息中的节点路径,判断自身是否位于所述节点路径上;如果该节点设备在所述节点路径上,则将所述控制信息封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给归属于该节点设备的下级节点设备;如果该节点设备不在所述节点路径上,则删除所述控制信息。
[0061] 具体的,对于分级系统中除主设备之外的设备均作为节点设备存在,对于每个节点设备,节点设备在接收到心跳信息后,会对心跳信息进行解析,如果解析得到控制信息,并且该节点设备不是目标节点设备的话,在该节点设备接收到控制信息后,需要将该控制信息封装在发送给下级节点设备的心跳信息中,但是并不会封装到发送给上级节点设备的心跳信息中,通过这样的方式可以使控制信息不断朝远离主设备的方向上进行传输,直至达到目标节点设备。
[0062] 由于上级节点设备能够对下级节点设备进行控制,因此上级节点设备是知道归属于其的所有下级节点设备,因此在一个节点设备对心跳信息进行解析得到控制信息后,需要根据控制信息中的设备标识判断自身是否为目标节点设备的上级节点设备,如果是,则需要将控制信息携带在发送给目标节点设备的心跳信息中,而无需携带在发送给其他下级节点设备的心跳信息中,如图1所示,如果节点设备B为目标节点设备,在节点设备A接收到控制信息后,节点设备A只将控制信息携带在发送给节点设备B的心跳信息中,不会将控制信息携带在发送给节点设备C和节点设备D的心跳信息中。
[0063] 如果接收到控制信息的节点设备不是目标节点设备的上级节点设备,则说明接收控制信息的节点设备可能位于节点路径上,因此可以根据节点路径判断自身是否位于节点路径上,如果位于节点路径上,此时该节点设备只需要将控制信息封装到发送给归属于其的所有节点设备的心跳信息中,就可以保证控制信息仍然朝目标节点设备的方向发送,如果不位于节点路径上,则表示通过该节点设备是不可能将控制信息发送给目标节点设备的,因此需要将控制信息删除,如图1所述,如果节点设备B所在分级后续还有节点设备,在节点设备A解析得到控制信息后,如果节点设备B、节点设备C和节点设备D均不是目标节点设备,则将控制信息携带在发送给节点设备B、节点设备C和节点设备D的心跳信息中,如果节点设备B位于节点路径上,节点设备C和节点设备D不位于节点路径上,此时,节点设备B判断归属于节点设备B的下级节点设备中是否包含目标节点设备,如果包含,则节点设备B只将控制信息携带在发送给目标节点设备的心跳信息中,如果不包含目标节点设备,则节点设备B将控制信息携带在发送给所有的下级节点设备的心跳信息中,一次类推,直至将控制信息发送给目标节点设备,对于节点设备C和节点设备D则将控制信息删除。
[0064] 通过上述方法,可以将每一级节点设备中位于节点路径上的节点设备筛选出来,然后再由筛选出来的节点设备将控制信息发送给下级节点设备,以此类推,直至将控制信息发送给目标节点设备,在上述方法中,分级系统中无需增加额外的信令就可以将控制信息发送给目标节点设备,从而完成对目标节点设备上的目标应用的更新或回滚,在完成远程控制的同时也不会增加分析系统的复杂程度。
[0065] 在一个可行的实施方案中,图3为本申请实施例一提供的另一种远程控制方法的流程示意图,如图3所示,所述目标节点设备在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制具体可以通过以下步骤实现:
[0066] 步骤301、所述目标节点设备根据所述目标版本号,生成版本查询指令。
[0067] 步骤302、所述目标节点设备将所述版本查询指令封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给与所述目标节点设备相邻的临近节点设备,其中,所述临近节点设备包括:所述目标节点设备的下级节点设备和所述目标节点设备所归属的上级节点设备。
[0068] 步骤303、对于各节点设备对应的每个临近节点设备,该临近节点设备在接收到包含有所述版本查询指令的心跳信息后,查询当前运行的所述目标应用的版本号与所述目标版本号是否相同,以及生成由所述版本查询指令所经过的节点设备构成的查询路径。
[0069] 步骤304、如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号相同,该临近节点设备对所述目标应用进行封装。
[0070] 步骤305、该临近节点设备按照所述查询路径将封装后的目标应用以数据流的形式发送给所述目标节点设备。
[0071] 步骤306、所述目标节点设备根据封装后的目标应用对当前运行的目标应用进行指定控制。
[0072] 具体的,由于不同的节点设备中运行的目标应用的版本不同,因此,目标节点设备可以利用运行目标版本号的节点设备中的目标应用对自身运行的目标应用进行更新或回滚,为了确定出哪个节点设备中运行的目标应用的版本号为目标版本号,目标节点设备可以将目标版本号封装到将要发送的所有心跳信息中,以将该心跳信息发送给能够与其进行心跳交互的所有的临近节点设备中,对于每个与目标节点设备相邻的临近节点设备(包括目标节点设备的上级节点设备和归属于其的各下级节点设备),该临近节点设备在接收到携带有目标版本号的心跳信息后,查询自身运行的目标应用的版本号是否与目标版本号相同,如果相同,则该临近节点设备将目标应用进行封装,然后按照新的查询路径将封装后的目标应用以数据流的形式发送给目标节点设备,以使目标节点设备在接收到封装后的目标应用后对自身运行的目标应用进行更新或回滚。如果与目标节点设备相邻的临近节点设备中运行的目标应用的版本号都不是目标版本号,那么对于每个临近节点设备,该临近节点设备将目标版本号封装到心跳信息中,然后将该心跳信息发送给与该临近节点设备相邻的临近节点设备,依次类推,直到某个节点设备中运行的目标应用的版本号为目标版本号为止,然后该节点设备对自身运行的目标应用进行封装,然后以数据流的形式发送给目标节点设备,此时该节点设备不会再向与其临近的临近节点设备发送携带有目标版本号的心跳信息,只会向与其临近的临近节点设备发送普通的心跳信息,对于其他节点设备在确定出自身运行的目标应用的版本号不是目标版本号时,会继续想与其临近的临近节点设备发送携带有目标版本号的心跳信息。
[0073] 在某个节点设备确定出自身运行的目标应用的版本号不是目标版本号时还要根据该节点设备接收到的版本查询指令所经过的节点设备构成查询路径,通过该查询路径可以确定从该节点设备到目标节点设备的节点路径,从而可以找到目标节点设备。在查找目标版本号的过程中,可以形成多个查询路径,对于每个查询路径,起始位置均是目标节点设备,终点位置包括两种:第一种是运行的目标应用的版本号为目标版本号的节点设备,第二种是运行的目标应用的版本号不为目标版本号的节点设备,但是该节点设备不再具有与其临近的临近节点设备,对于第一种情况对应的查询路径,到运行的目标应用的版本号为目标版本号的节点设备就停止继续向下查询了,通过上述方式可以遍历出分级系统中所有运行的目标应用的版本号为目标版本号的节点设备。
[0074] 需要说明的是,本申请中的临近节点设备不是相互的,即:接收携带有版本查询指令的心跳信息的节点设备是发送该心跳信息的节点设备的临近节点设备,但是发送该心跳信息的节点设备不是接收该心跳信息的节点设备的临近节点设备。
[0075] 通过上述方法,可以利用周围的节点设备中的应用对目标节点设备中的目标应用进行更新或回滚,有利于降低心跳信息中的数据量,提高对目标节点设备的远程控制效率。
[0076] 在一个可行的实施方案中,图4为本申请实施例一提供的另一种远程控制方法的流程示意图,如图4所示,在执行步骤303之后,如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号不相同,则按照以下步骤继续执行:
[0077] 步骤401、临近节点设备根据自身所在的位置对所述查询路径进行更新,得到新的查询路径。
[0078] 步骤402、该临近节点设备将所述查询指令和新的查询路径封装到当前心跳周期所对应的第四心跳信息中,以将所述第四心跳信息发送给该临近节点设备相邻的临近节点设备。
[0079] 具体的,对于某个版本查询指令,在该版本查询指令被携带在心跳信息向临近节点设备发送的过程中,还会记录该版本查询指令已经经过的节点设备,即查询路径,当前接收到该心跳信息节点设备可以根据该查询路径确定出从目标节点设备到该节点设备之间所经过的节点设备,并且,当该节点设备中运行的目标应用的版本号不是目标版本号时,会根据自身的位置对该查询路径进行更新,通过新的查询路径可以得到从该节点设备达到目标节点设备的节点路径,然后将新的节点路径通过心跳信息发送给该节点设备的临近节点设备,通过上述方法,可以使每个版本查询指令都有各自的查询路径,并且可以根据新的查新路径使每个运行目标版本号的节点设备均可以通过唯一的路径与目标节点设备进行数据传输,并且可以使传输路径最短。
[0080] 在一个可行的实施方案中,由于通过上述方法可以找到多个运行目标版本号的节点设备,并且每个节点设备均会向目标节点设备发送封装后的目标应用,为了使目标节点设备不会反复进行更新或回滚,所述目标节点设备在第一次接收到封装后的目标应用后,将后续接收到的封装后的目标应用删除,通过该方法可以使分级系统不会对心跳信息进行额外的管理,从而有利于降低分析系统的复杂程度。
[0081] 在一个可行的实施方案中,目标节点设备在完成指定控制后,所述目标节点设备对所述指定控制、发送封装后的目标应用的节点设备的设备标识、进行指定控制前的版本号和进行指定控制后的版本号以键值对的形式进行存储。通过上述信息可以形成目标节点设备的更新或回滚日志,以便于后续查询。
[0082] 实施例二
[0083] 本申请实施例二提供了一种分级系统,所述分级系统包括主设备和各级节点设备,属于同一级的节点设备的数量至少为1个,所述主设备能够对各级节点设备进行管控,上级节点设备能够对归属于所述上级节点设备的所有的下级节点设备进行管控,不同的上级节点设备对应不同的下级节点设备;
[0084] 所述主设备响,用于应用户对目标节点设备的控制操作,确定所述控制操作对应的控制指令、所述目标节点设备的设备标识、所述目标节点设备的节点路径,以及目标应用的目标版本号,以作为控制信息,其中,所述控制指令用于对所述目标应用在所述目标节点设备中运行的版本进行指定控制,所述指定控制包括以下一种:更新和回滚;
[0085] 所述主设备,还用于将所述控制信息封装到当前心跳周期所对应的第一心跳信息中,以将所述第一心跳信息发给归属于所述主设备的下级节点设备;
[0086] 对于每一级节点设备,用于当该节点设备接收到心跳信息后,对接收到的心跳信息进行解析;
[0087] 对于解析获取到所述控制信息的各节点设备,该节点设备,还用于根据所述设备标识判断所述目标节点设备是否为该节点设备的下级节点设备;如果所述目标节点设备是该节点设备的下级节点设备,则用于将所述控制信息封装到当前心跳周期所对应的第二心跳信息中,以将所述第二心跳信息发送给所述目标节点设备;所述目标节点设备,用于在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制;如果所述目标节点设备不是该节点设备的下级节点设备,该节点设备,还用于根据所述控制信息中的节点路径,判断自身是否位于所述节点路径上;如果该节点设备在所述节点路径上,则用于将所述控制信息封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给归属于该节点设备的下级节点设备;如果该节点设备不在所述节点路径上,则用于删除所述控制信息。
[0088] 在一个可行的实施方案中,所述目标节点设备用于在接收到所述第二心跳信息后,根据所述心跳信息中携带的所述目标版本号和所述控制指令,对所述目标应用进行指定控制时,包括:
[0089] 所述目标节点设备根据所述目标版本号,生成版本查询指令;
[0090] 所述目标节点设备将所述版本查询指令封装到当前心跳周期所对应的第三心跳信息中,以将所述第三心跳信息发送给与所述目标节点设备相邻的临近节点设备,其中,所述临近节点设备包括:所述目标节点设备的下级节点设备和所述目标节点设备所归属的上级节点设备;
[0091] 对于各节点设备对应的每个临近节点设备,该临近节点设备在接收到包含有所述版本查询指令的心跳信息后,查询当前运行的所述目标应用的版本号与所述目标版本号是否相同,以及生成由所述版本查询指令所经过的节点设备构成的查询路径;
[0092] 如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号相同,该临近节点设备对所述目标应用进行封装;
[0093] 该临近节点设备按照所述查询路径将封装后的目标应用以数据流的形式发送给所述目标节点设备;
[0094] 所述目标节点设备根据封装后的目标应用对当前运行的目标应用进行指定控制。
[0095] 在一个可行的实施方案中,如果该临近节点设备当前运行的所述目标应用的版本号与所述目标版本号不相同,该临近节点设备,还用于根据自身所在的位置对所述查询路径进行更新,得到新的查询路径;
[0096] 该临近节点设备,还用于将所述查询指令和新的查询路径封装到当前心跳周期所对应的第四心跳信息中,以将所述第四心跳信息发送给该临近节点设备相邻的临近节点设备。
[0097] 在一个可行的实施方案中,所述目标节点设备,还用于在第一次接收到封装后的目标应用后,将后续接收到的封装后的目标应用删除。
[0098] 在一个可行的实施方案中,所述目标节点设备,还用于对所述指定控制、发送封装后的目标应用的节点设备的设备标识、进行指定控制前的版本号和进行指定控制后的版本号以键值对的形式进行存储。
[0099] 关于实施例二的相关说明可参考实施例一的详细解释,在此不再详细说明。
[0100] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0101] 最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。