CN110501979A - 一种集群控制方法、系统及终端设备 - Google Patents
一种集群控制方法、系统及终端设备 Download PDFInfo
- Publication number
- CN110501979A CN110501979A CN201810480871.6A CN201810480871A CN110501979A CN 110501979 A CN110501979 A CN 110501979A CN 201810480871 A CN201810480871 A CN 201810480871A CN 110501979 A CN110501979 A CN 110501979A
- Authority
- CN
- China
- Prior art keywords
- control terminal
- controlled end
- control
- cluster
- controlled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
- G05B19/0425—Safety, monitoring
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/4184—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by fault tolerance, reliability of production system
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
- G05B19/4185—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication
- G05B19/4186—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
Abstract
本申请适用于智能控制技术领域,提供了一种集群控制方法、系统及终端设备,包括:第一控制端向自身和与其连接的受控端分配集群ID,若所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。这一过程中第一控制端在接收到与其连接的受控端以及自身发送的ID分配成功消息后再向受控端或/和自身发送控制指令,并且集群中设置的第二控制端可以在第一控制端失效时及时的更新为第一控制端,保证了控制端和受控端之间有效、可靠地通信。
Description
技术领域
本申请属于智能控制技术领域,尤其涉及一种集群控制方法、系统及终端设备。
背景技术
机器人作为一种自动执行工作的机器装置,被广泛的应用在生活的各个方面。当前机器人运行过程中,往往需要同时对多台机器人运行进行集中控制,为了满足这一需求,一般是通过上位机统一对机器人进行控制。上位机与各个机器人之间进行数据传输时多采用全双工通信,这种通信方式被证明在一般的使用环境下可以有效地传送数据,但这种通信方式传输的数据类型有一定的限制,通信信号受到干扰时也不能有效地进行数据传输。
发明内容
有鉴于此,本申请实施例提供了一种集群控制方法、系统及终端设备,以解决现有技术中机器人集群控制时通讯信号受到干扰时不能有效的进行通信的问题。
本申请实施例的第一方面提供了一种集群控制方法,所述集群控制方法包括:
第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
若所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。
本申请实施例的第二方面提供了一种集群控制系统,所述集群控制系统包括:
集群ID分配单元,用于由第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
控制指令发送单元,用于在所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息时,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。
本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述集群控制方法中任一项所述方法的步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如所述集群控制方法中任一项所述方法的步骤。
本申请实施例提供的集群控制方法形成的系统中包括第一控制端和多个受控端,受控端中设置有一第二控制端(如图1所示),其中第一控制端向其自身及与其连接的至少两个受控端分配集群ID,在接收到自身及所有所述受控端反馈ID分配成功的消息时,根据所分配的ID,向所述第一控制端和/或受控端发送控制指令,以便第一控制端和/或受控端根据接收到的控制指令执行相应的动作,并且所述受控端中包含一第二控制端,以便在第一控制端失效时及时更新为第一控制端。这一过程中第一控制端在接收到与其连接的受控端发送的ID分配成功消息后再向受控端发送控制指令,并且集群中设置的第二控制端可以在第一控制端失效时及时的更新为第一控制端,保证了控制端和受控端之间有效、可靠地通信。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的集群控制方法的系统结构示意图;
图2是本申请实施例提供的一种集群控制方法的实现流程示意图;
图3是本申请另一实施例中所述根据分配的ID,向对应的所述受控端发送控制指令的实现流程图;
图4是本申请另一实施中所述根据分配的ID,向对应的所述受控端发送控制指令的实现流程图;
图5是本申请另一实施中所述根据分配的ID,向对应的所述受控端发送控制指令的实现流程图;
图6是本申请实施例提供的集群控制系统的示意图;
图7是本申请实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
本申请实施例提供的集群控制方法形成的系统中包括第一控制端和多个受控端,受控端中设置有一第二控制端(如图1所示),其中第一控制端向其自身及与其连接的至少两个受控端分配集群ID,在接收到自身及所有所述受控端反馈ID分配成功的消息时,根据所分配的ID,向所述第一控制端和/或受控端发送控制指令,以便第一控制端和/或受控端根据接收到的控制指令执行相应的动作,并且所述受控端中包含一第二控制端,以便在第一控制端失效时及时更新为第一控制端。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图2示出了本申请实施例提供的一种集群控制方法的实现流程示意图,详述如下:
步骤S21,第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
本申请提供的实施例中第一控制终端与多个受控端相连接,二者连接时可采用WIFI 5G来传送数据,以减少全双工通信实现的复杂度并建立统一的通信标准。
第一控制终端与多个受控端连接之后通过组播向所有受控端和第一控制端自身发送集群ID组,在发送所述集群ID组时,可根据受控端连接到第一控制端的先后顺序分别向每个受控端分配ID;受控端的数量由受控端接入集群时向第一控制端发送的报文信息确定。其中,所述受控端中还包括一个第二控制端,第二控制端用于在第一控制端失效时及时转换为第一控制端,以便继续对集群中其他受控端进行控制。
例如:在所述受控端和第一控制端为机器人时,第一控制端的机器人向集群中所有机器人(包括第一控制端的机器人自身)分配ID。
步骤S22,若所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端执行相应的动作。
本申请提供的实施例中,在所述集群为机器人组成的集群时,第一控制端的机器人等待所有受控机器人发回的分配ID成功的反馈以及自身ID分配成功的反馈;若未接收到所有受控机器人和自身的反馈,则再次向所有的受控机器人和自身进行ID的分配。
进一步地,对于其他机器人已经分配好ID后,再加入的机器人需要等第一控制端机器人分配新的ID。
可选地,本申请提供的另一实施例中,所述集群控制方法还包括:
第一控制端和所有受控端接收新加入集群的终端的加入请求;并向所述新加入集群的终端返回请求成功接收消息;
第一控制端指示所述新加入集群的终端在成功加入集群后记录所述集群中受控端物理地址和集群ID和所述集群中当前的第一控制端的物理地址和集群ID。
当所述集群为机器人组成的集群时,机器人通过多播协议来加入集群,及离开集群。集群的组播地址固定为225.0.1.11,端口号为20001。加入集群的机器人通过语音或者其他事件发出加入请求,以加入225.0.1.11组播。
加入组播组后,发送Hello组播报文给其他机器人。其他机器人接收到Hello组播后应该单播回应发送Hello报文的机器人。新加入的机器人记录集群里面其他机器人(第一控制端机器人和受控端机器人)的Mac地址,集群ID等信息。
可选地,本申请提供的另一实施例中,所述集群控制方法还包括:
接收新加入集群的终端发起的选举活动,根据所述选举活动选定当前时刻的第一控制端;
调整原有的第一控制端为当前时刻的第二控制端,调整原有的第二控制端为受控端。
该步骤中,新加入集群的终端发起选举活动,根据集群中所有终端的优先级选定当前时刻的第一控制,之后将原有的第一控制端转换为第二控制端,同时调整其优先级,原有的第二控制端转换为受控端,并调整其优先级。
以机器人组成的集群为例:新的机器人加入集群后,设定其优先级都是255。优先级的值越大表示优先级越低。新加入的机器人发其选举活动,并发送相应的消息给集群里所有其他机器。优先级小的直接成为当前时刻的第一控制端。若集群中最小优先级的机器人存在两个或以上,则比较其Mac地址。Mac地址小的机器人成为当前时刻的第一控制端。成为第一控制端机器人的优先级的值-20;第一控制端机器人发送选举完成消息(包括MAC地址,集控ID,优先级)给其他机器人,其他机器人更新新的第一控制端机器人信息。同时原有第一控制端机器人变为新的第二控制端机器人,其优先级+10,并发送第二控制端选举完成消息。原第二控制端机器人身份取消,其优先级+10,机器人优先级的最大值为255,变成普通机器人,不发送消息。对于后来加入的新机器人,每加入一个新的机器人,均需发起一次选举活动。每次新的第一控制端机器人都需要通过组播发送选举完成消息给其他机器人。
可选地,本申请提供的另一实施例中,所述集群控制方法还包括,还包括:
所述第一控制端定时向所述第二控制端发送有效状态信息,并接收所述第二控制端发送的状态反馈信息;所述有效状态信息用于标识所述第一控制端当前处于有效的工作状态;
若所述第一控制端在第一预设时间段内未向所述第二控制端发送所述有效状态信息,则更新所述第二控制端为第一控制端;
若所述第一控制端在第二预设时间段内未接收到所述第二控制端发送的所述状态反馈信息,则发起选举第二控制端的选举活动。
该步骤中,选举产生的第一控制端定时向第二控制端发送有效状态信息,以告知第二控制端,第一控制端处于有效的状态;同时,第二控制端接收到所述有效状态信息后定时发送状态反馈信息到第一控制端,以告知第一控制端第二控制端也处于正常工作状态。若第二控制端在第一预设时间段内未接收到所述有效状态消息,说明第一控制端可能已无法正常工作,则更新所述第二控制端为第一控制端;同理,若第一控制端在第二预设时间段内未接收到第二控制端发送的状态反馈信息,则发起选举第二控制的选举活动,以产生新的第二控制端。
以机器人集群为例:第一控制端机器人每1秒定时向第二控制端机器人发送Keepalive消息(单播),当第二控制端机器人3秒后没有收到Keepalive消息后,第二控制端机器人转为当前时刻的第一控制端机器人,优先级-10,并发出选举完成消息给其他机器人(组播发送)。其他机器人更新新的第一控制端机器人。当第一控制端机器人在3秒内没有收到来自第二控制端机器人的Keepalive反馈,那么说明第二控制端机器人可以已经不工作。这时需要发起新的第二控制端机器人选举,产生新的第二控制端机器人的优先级-10。
可选地,本申请提供的另一实施例中,在所述根据分配的ID,向对应的所述受控端发送控制指令之前,包括:
通过网络时间同步协议,使得每个受控端与所述第一控制端的时间保持同步。
本申请提供的实施例中通过NTP协议,同步集群中每个终端(第一控制端和受控端)的时间,以保证每个终端的时间一致。
图3示出了本申请提供的另一实施例中,所述根据分配的ID,向对应的所述受控端发送控制指令,包括:
步骤S31,第一控制端根据分配的ID向每个受控端发送一条控制指令,并接收所述每个受控端的响应信息;
该步骤中,在第一控制终端需要控制所有受控端和自身一起执行动作时,向每个受控端发送一条控制指令(该控制指令可以存储在第一控制端中,以使第一控制端与所有的受控端一起执行该控制指令),并等待接收每个受控端的响应消息。
步骤S32,若第一控制终端发出的控制指令的数量大于所接收到的所述响应信息的数量,则根据预设时间间隔再次向每个受控端发送一条控制指令;
该步骤中,第一控制端监听并统计受控端对所述控制指令的反馈的响应消息的数量,若发出的控制指令的数量大于所述响应消息的数量,则在预设次数范围内每隔一定的时间间隔再次向所有受控端发出所述控制指令。
步骤S33,若第一控制端向所述每个受控端发送所述控制指令的次数达到预设次数时值,或者所述第一控制终端在指定时间内未接收到所有受控端反馈的响应信息,则向所述每个受控端发送预设指令。
该步骤中,根据记录的第一控制端反复发送所述控制指令的次数,判断第一控制端发送控制指令的次数是否达到预设次数,若是,且此时第一控制端接收到的响应信息的数量仍然小于其发出的控制指令的数量,或者指定时间内没有接收到所有受控端反馈的响应信息,则在用户设定的时间段内每隔一定的时间发出一次取消所述控制指令的指令,同时等待受控端的反馈信息;若接收到所有受控端对所述取消所述控制指令的指令的反馈,则继续执行控制每个受控端执行所述控制指令;否则,向每个受控端发送预设指令,以指示接收到预设指令的受控端执行上述预设指令的动作,并检查未执行上述预设指令的受控端与第一控制端之间的连接是否正常,或其他问题,所述预设指令包括下蹲指令。
例如:机器人集群中的各个终端通过NTP协议,同步时间。保证每一台机器的时间一致。第一控制端的机器人发送包括执行特定动作的名称,执行动作的指定时间及序列号的控制指令到受控端,其中,所述指定时间为第一控制端机器人的当前时间+15s)。
受控端机器人在收到控制指令后,通过报文中执行动作的指定时间减去自身当前时间,启动定时器执行特定动作。并回复响应消息给第一控制端的机器人。当第一控制端的机器人收到所有受控端机器人的响应消息后,不再发送消息,等待动作开始。
如果第一控制端的机器人没有收到所有受控端机器人的响应信息,则每隔1s发送一次控制指令。如果第5s还没有收到所有受控端机器人的响应消息,那么开始发送取消控制指令消息。每一秒发送一次,直到第10s结束。如果接收到所受控端机器人对于所述取消控制指令消息的反馈,则重新执行控制指令里的动作。否则,那么向所有受控端机器人发送集体蹲下动作,并设置延时为0s。让能收到报文的机器人蹲下,并人工检查站着的机器人是否存在网络连接不成功等问题。
图4示出了本申请提供的另一实施例中所述根据分配的ID,向对应的所述受控端或/和自身发送控制指令,还包括:
步骤S41,第一控制端根据所述分配的ID对所述受控端和自身进行分组,得至少两个受控群组;
该步骤中,需要部分受控端同时执行特定动作时,根据受控端或/和自身的ID对受控端进行分组,得到多个受控群组。
步骤S42,选择需要执行动作的受控群组;
步骤S43,根据所述需要执行动作的受控群组中每个受控端的ID,向所述需要执行动作的受控群组中的每个受控端或/和自身发送控制指令。
该步骤中,向所选的受控群组发送控制指令,以指示该受控群组中的受控端执行相应的动作,上述受控群组由第一控制端根据动作执行的需要将集群中所有终端进行分组后得到。
例如:机器人集群中通过NTP协议同步时间后,保证每一台机器人的时间一致。第一控制端机器人通过组播消息发送控制指令给所选择的受控群组中的机器人。其中包括执行特定动作的名称,执行动作的指定时间,及序列号。
所选择的受控群组中机器人在收到控制指令后后,通过报文中执行动作的指定时间减去自身当前时间,启动定时器执行控制指令中的动作。当集群ID为1(或其他ID)的机器执行完动作后,通过组播发送动作执行完成报文。报文中包括集群ID。
图5示出了本申请另一实施例中,所述根据分配的ID,向对应的所述受控端发送控制指令,还包括:
步骤S51,第一控制端根据分配的ID向待执行特定动作的受控端发送控制指令;
该步骤中,第一控制端选定需要执行待定动作的受控端,并向其分别发送包含各自需要执行动作的控制指令。
步骤S52,指示所述待执行特定动作的受控端解析所述控制指令,并获取各自执行所述特定动作的执行顺序;
该步骤中接收到控制指令的受控端解析所述控制指令,以获取自身需要执行的动作以及执行动作的顺序。
步骤S53,指示所述待执行特定动作的受控端中的第N个受控端执行完动作之后向第N+1个受控端发送动作执行完成信息,直至所述特定动作被执行完毕,其中,N为大于或等于1的整数。
该步骤中,受控端根据其需要执行的动作以及执行顺序执行相应的动作,具体地,在执行顺序为1的受控端先执行其动作,执行完毕后向执行顺序为2的受控端发送执行完毕消息,执行顺序为2的受控端接收到所述执行完毕消息后开始执行相应的动作,依次类推,直至所述特定动作被执行完毕。
例如:机器人集群中的各个终端通过NTP协议,同步时间。保证每一台机器的时间一致。第一控制端的机器人发送包括执行特定动作的名称,执行动作的指定时间及序列号的控制指令到受控端机器人,受控端机器人在收到控制指令后,通过报文中执行动作的指定时间减去自身当前时间,启动定时器执行特定动作。若受控端机器人执行动作的顺序为其ID的排序,则当集群ID为1的机器执行完动作后,通过组播发送动作执行完成报文。报文中包括集群ID。集群ID为2的机器收到来自集群ID为1的动作执行完成报文后,开始执行新的动作。直到最后一个机器人执行完动作。
本申请实施例提供的集群控制方法形成的系统中包括第一控制端和多个受控端,受控端中设置有一第二控制端(如图1所示),其中第一控制端向其自身及与其连接的至少两个受控端分配集群ID,在接收到自身及所有所述受控端反馈ID分配成功的消息时,根据所分配的ID,向所述第一控制端和/或受控端发送控制指令,以便第一控制端和/或受控端根据接收到的控制指令执行相应的动作,并且所述受控端中包含一第二控制端,以便在第一控制端失效时及时更新为第一控制端。这一过程中第一控制端在接收到与其连接的受控端发送的ID分配成功消息后再向受控端发送控制指令,并且集群中设置的第二控制端可以在第一控制端失效时及时的更新为第一控制端,保证了控制端和受控端之间有效、可靠地通信。
实施例二:
对应于上文实施例所述的一种集群控制方法,图6示出了本申请实施例提供的集群控制系统的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
参照图6,该集群控制系统包括:集群ID分配单元61、控制指令发送单元62,其中:
集群ID分配单元61,用于由第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
控制指令发送单元62,用于在所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息时,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。
进一步地,所述控制指令发送单元62,用于:
第一控制端根据分配的ID向每个受控端发送一条控制指令,并接收所述每个受控端的响应信息;
若第一控制终端发出的控制指令的数量大于所接收到的所述响应信息的数量,则根据预设时间间隔再次向每个受控端发送一条控制指令;
若第一控制终端向所述每个受控端发送所述控制指令的次数达到预设次数,或者所述第一控制终端在指定时间内未接收到所有受控端反馈的响应信息,则向所述每个受控端发送预设指令。
进一步地,所述控制指令发送单元62,用于:
第一控制端根据所述分配的ID对所述受控端和自身进行分组,得至少两个受控群组;
选择需要执行动作的受控群组;
根据所述需要执行动作的受控群组中每个受控端或/和自身的ID,向所述需要执行动作的受控群组中的每个受控端或/和自身发送控制指令。
进一步地,所述控制指令发送单元62,还用于:
第一控制端根据分配的ID向待执行特定动作的受控端发送控制指令;
指示所述待执行特定动作的受控端解析所述控制指令,并获取各自执行所述特定动作的执行顺序;
指示所述待执行特定动作的受控端中的第N个受控端执行完动作之后向第N+1个受控端发送动作执行完成信息,直至所述特定动作被执行完毕,其中,N为大于或等于1的整数。
进一步地,所述集群控制系统包括:
调整单元,用于通过网络时间同步协议,使得每个受控端与所述第一控制端的时间保持同步。
进一步地,所述集群控制系统包括:
选举单元,用于接收新加入集群的终端发起的选举活动,根据所述选举活动选定当前时刻的第一控制端;调整原有的第一控制端为当前时刻的第二控制端,调整原有的第二控制端为受控端。
进一步地,所述集群控制系统包括:
有效性检测单元,用于由所述第一控制端定时向所述第二控制端发送有效状态信息,并接收所述第二控制端发送的状态反馈信息;所述有效状态信息用于标识所述第一控制端当前处于有效的工作状态;若所述第一控制端在第一预设时间段内未向所述第二控制端发送所述有效状态信息,则更新所述第二控制端为第一控制端;若所述第一控制端在第二预设时间段内未接收到所述第二控制端发送的所述状态反馈信息,则发起选举第二控制的选举活动。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
实施例三:
图7是本申请一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72。所述处理器70执行所述计算机程序72时实现上述各个集群控制方法实施例中的步骤,例如图2所示的步骤S21至S22。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图6所示模块61至62的功能。
示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成集群ID分配单元71、控制指令发送单元72,其中:
集群ID分配单元,用于由第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
控制指令发送单元,用于在所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息时,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。
进一步地,所述控制指令发送单元,用于:
第一控制端根据分配的ID向每个受控端发送一条控制指令,并接收所述每个受控端的响应信息;
若第一控制终端发出的控制指令的数量大于所接收到的所述响应信息的数量,则根据预设时间间隔再次向每个受控端发送一条控制指令;
若第一控制终端向所述每个受控端发送所述控制指令的次数达到预设次数,或者所述第一控制终端在指定时间内未接收到所有受控端反馈的响应信息,则向所述每个受控端发送预设指令。
进一步地,所述控制指令发送单元,还用于:
第一控制端根据所述分配的ID对所述受控端和自身进行分组,得至少两个受控群组;
选择需要执行动作的受控群组;
根据所述需要执行动作的受控群组中每个受控端或/和自身的ID,向所述需要执行动作的受控群组中的每个受控端或/和自身发送控制指令。
进一步地,所述控制指令发送单元,还用于:
第一控制端根据分配的ID向待执行特定动作的受控端发送控制指令;
指示所述待执行特定动作的受控端解析所述控制指令,并获取各自执行所述特定动作的执行顺序;
指示所述待执行特定动作的受控端中的第N个受控端执行完动作之后向第N+1个受控端发送动作执行完成信息,直至所述特定动作被执行完毕,其中,N为大于或等于1的整数。
进一步地,所述集群控制系统包括:
调整单元,用于通过网络时间同步协议,使得每个受控端与所述第一控制端的时间保持同步。
进一步地,所述集群控制系统包括:
选举单元,用于接收新加入集群的终端发起的选举活动,根据所述选举活动选定当前时刻的第一控制端;调整原有的第一控制端为当前时刻的第二控制端,调整原有的第二控制端为受控端。
进一步地,所述集群控制系统包括:
有效性检测单元,用于由所述第一控制端定时向所述第二控制端发送有效状态信息,并接收所述第二控制端发送的状态反馈信息;所述有效状态信息用于标识所述第一控制端当前处于有效的工作状态;若所述第一控制端在第一预设时间段内未向所述第二控制端发送所述有效状态信息,则更新所述第二控制端为第一控制端;若所述第一控制端在第二预设时间段内未接收到所述第二控制端发送的所述状态反馈信息,则发起选举第二控制的选举活动。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及智能机器人等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种集群控制方法,其特征在于,所述集群控制方法包括:
第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
若所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。
2.如权利要求1所述的集群控制方法,其特征在于,所述根据分配的ID,向对应的所述受控端发送控制指令,包括:
第一控制端根据分配的ID向每个受控端发送一条控制指令,并接收所述每个受控端的响应信息;
若第一控制终端发出的控制指令的数量大于所接收到的所述响应信息的数量,则根据预设时间间隔再次向每个受控端发送一条控制指令;
若第一控制终端向所述每个受控端发送所述控制指令的次数达到预设次数,或者所述第一控制端在指定时间内未接收到所有受控端反馈的响应信息,则向所述每个受控端发送预设指令。
3.如权利要求1所述的集群控制方法,其特征在于,所述根据分配的ID,向对应的所述受控端或/和自身发送控制指令,还包括:
第一控制端根据所述分配的ID对所述受控端和自身进行分组,得至少两个受控群组;
选择需要执行动作的受控群组;
根据所述需要执行动作的受控群组中每个受控端或/和自身的ID,向所述需要执行动作的受控群组中的每个受控端或/和自身发送控制指令。
4.如权利要求1所述的集群控制方法,其特征在于,所述根据分配的ID,向对应的所述受控端发送控制指令,还包括:
第一控制端根据分配的ID向待执行特定动作的受控端发送控制指令;
指示所述待执行特定动作的受控端解析所述控制指令,并获取各自执行所述特定动作的执行顺序;
指示所述待执行特定动作的受控端中的第N个受控端执行完动作之后向第N+1个受控端发送动作执行完成信息,直至所述特定动作被执行完毕,其中,N为大于或等于1的整数。
5.如权利要求1-4任一项所述的集群控制方法,其特征在于,在所述根据分配的ID,向对应的所述受控端发送控制指令之前,包括:
通过网络时间同步协议,使得每个受控端与所述第一控制端的时间保持同步。
6.如权利要求1所述的集群控制方法,其特征在于,所述集群控制方法还包括:
接收新加入集群的终端发起的选举活动,根据所述选举活动选定当前时刻的第一控制端;
调整原有的第一控制端为当前时刻的第二控制端,调整原有的第二控制端为受控端。
7.如权利要求1所述的集群控制方法,其特征在于,所述集群控制方法还包括:
所述第一控制端定时向所述第二控制端发送有效状态信息,并接收所述第二控制端发送的状态反馈信息;所述有效状态信息用于标识所述第一控制端当前处于有效的工作状态;
若所述第一控制端在第一预设时间段内未向所述第二控制端发送所述有效状态信息,则更新所述第二控制端为第一控制端;
若所述第一控制端在第二预设时间段内未接收到所述第二控制端发送的所述状态反馈信息,则发起选举第二控制端的选举活动。
8.一种集群控制系统,其特征在于,所述集群控制系统包括:
集群ID分配单元,用于由第一控制端向自身和与其连接的受控端分配集群ID,其中,所述受控端至少包括两个,所述受控端中包括一个第二控制端;所述第二控制端用于在所述第一控制端失效时,更新为第一控制端;
控制指令发送单元,用于在所述第一控制端接收到所有所述受控端和自身反馈的ID分配成功的消息时,则根据分配的ID,向对应的所述受控端或/和自身发送控制指令,所述控制指令用于指示所述对应的受控端或/和自身执行相应的动作。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810480871.6A CN110501979A (zh) | 2018-05-18 | 2018-05-18 | 一种集群控制方法、系统及终端设备 |
US16/231,945 US20190351545A1 (en) | 2018-05-18 | 2018-12-25 | Cluster control method, cluster control system, and terminal device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810480871.6A CN110501979A (zh) | 2018-05-18 | 2018-05-18 | 一种集群控制方法、系统及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110501979A true CN110501979A (zh) | 2019-11-26 |
Family
ID=68532710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810480871.6A Pending CN110501979A (zh) | 2018-05-18 | 2018-05-18 | 一种集群控制方法、系统及终端设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20190351545A1 (zh) |
CN (1) | CN110501979A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162942A (zh) * | 2019-12-27 | 2020-05-15 | 杭州涂鸦信息技术有限公司 | 一种集群选举方法及系统 |
CN112972943A (zh) * | 2021-03-26 | 2021-06-18 | 阳光电源股份有限公司 | 通风灭火控制系统、通风方法、灭火方法及储能设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428464B (zh) * | 2021-12-29 | 2023-12-15 | 深圳市优必选科技股份有限公司 | 机器人集群控制交互方法、装置、终端设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496782B1 (en) * | 2004-06-01 | 2009-02-24 | Network Appliance, Inc. | System and method for splitting a cluster for disaster recovery |
CN101511059A (zh) * | 2009-03-26 | 2009-08-19 | 中兴通讯股份有限公司 | 一种语音报组的方法、装置及集群终端 |
CN102355413A (zh) * | 2011-08-26 | 2012-02-15 | 北京邮电大学 | 一种大规模实时统一消息空间的方法及其系统 |
CN104320459A (zh) * | 2014-10-24 | 2015-01-28 | 杭州华三通信技术有限公司 | 一种节点管理方法和装置 |
CN106647359A (zh) * | 2016-11-24 | 2017-05-10 | 哈工大机器人集团上海有限公司 | 一种调度方法 |
CN106982259A (zh) * | 2017-04-19 | 2017-07-25 | 聚好看科技股份有限公司 | 服务器集群的故障解决方法 |
-
2018
- 2018-05-18 CN CN201810480871.6A patent/CN110501979A/zh active Pending
- 2018-12-25 US US16/231,945 patent/US20190351545A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496782B1 (en) * | 2004-06-01 | 2009-02-24 | Network Appliance, Inc. | System and method for splitting a cluster for disaster recovery |
CN101511059A (zh) * | 2009-03-26 | 2009-08-19 | 中兴通讯股份有限公司 | 一种语音报组的方法、装置及集群终端 |
CN102355413A (zh) * | 2011-08-26 | 2012-02-15 | 北京邮电大学 | 一种大规模实时统一消息空间的方法及其系统 |
CN104320459A (zh) * | 2014-10-24 | 2015-01-28 | 杭州华三通信技术有限公司 | 一种节点管理方法和装置 |
CN106647359A (zh) * | 2016-11-24 | 2017-05-10 | 哈工大机器人集团上海有限公司 | 一种调度方法 |
CN106982259A (zh) * | 2017-04-19 | 2017-07-25 | 聚好看科技股份有限公司 | 服务器集群的故障解决方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111162942A (zh) * | 2019-12-27 | 2020-05-15 | 杭州涂鸦信息技术有限公司 | 一种集群选举方法及系统 |
CN112972943A (zh) * | 2021-03-26 | 2021-06-18 | 阳光电源股份有限公司 | 通风灭火控制系统、通风方法、灭火方法及储能设备 |
Also Published As
Publication number | Publication date |
---|---|
US20190351545A1 (en) | 2019-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159781B (zh) | 调节智能终端应用网速的方法、装置和智能终端 | |
US9043804B2 (en) | Parallel computer system and program | |
CN102025756B (zh) | 分布式系统及其数据同步方法 | |
CN110501979A (zh) | 一种集群控制方法、系统及终端设备 | |
CN104317765B (zh) | 一种基于串口通讯的一对多通讯系统和实现方法 | |
CN103595768B (zh) | 一种实现虚拟化设备间配置同步的方法 | |
CN104322011A (zh) | 连通性服务编排器 | |
CN105259806A (zh) | 控制器升级方法和系统及主控制器和从控制器 | |
CN112540545B (zh) | 一种基于多智能系统的智能设备控制方法及系统 | |
CN113037889A (zh) | 一种储能电池管理系统从机地址分配方法 | |
CN106453541A (zh) | 一种数据同步的方法、服务器以及数据同步系统 | |
CN112491675B (zh) | 一种数据通信方法、装置、设备及计算机可读存储介质 | |
CN112416969A (zh) | 分布式数据库中的并行任务调度系统 | |
CN107968848B (zh) | 一种获取ip地址的方法、终端设备及存储介质 | |
CN111934956A (zh) | 设备的配置方法、装置、存储介质及电子装置 | |
CN114285695B (zh) | 通信方法、装置、设备、系统和存储介质 | |
CN108829402A (zh) | 应用程序的多开方法及系统、存储介质和处理器 | |
CN108662718A (zh) | 空调器的组网方法和装置 | |
CN107025131B (zh) | 一种任务调度方法及装置 | |
CN105471654B (zh) | 一种基于fc网络的配置数据自动加载方法 | |
CN104063350B (zh) | 一种星载can总线即插即用方法 | |
CN104579428B (zh) | 一种plc设备自动配对方法 | |
CN107270484A (zh) | 空调系统及其数据查询应答方法和装置 | |
CN110805991A (zh) | 一种控制终端与中央空调的状态同步的方法及装置 | |
CN110035483A (zh) | 一种水表模组实时控阀方法及水表模组端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191126 |
|
RJ01 | Rejection of invention patent application after publication |