用于多操作端远程操控多操作对象的方法和装置与流程

文档序号:12135190阅读:185来源:国知局
用于多操作端远程操控多操作对象的方法和装置与流程

本发明涉及远程操控技术,具体涉及一种用于多操作端远程操控多操作对象的方法以及用于多操作端远程操控多操作对象的装置。



背景技术:

机器人也可以称为可编程的多功能操作机,由于机器人可以根据接收到的指令以及预先设置的程序执行相应的操作,还可以基于人工智能执行相应的操作,且可以适应较恶劣的工作环境,从而被广泛应用于生产、建筑、航天以及医疗等多种领域。

在技术专家(如医学专家等)不在现场以及现场环境较恶劣(如月球或者深海或者放射性设备内部等)等应用场景中,往往需要对机器人进行远程操控(可以称为遥操控)。

发明人在实现本发明过程中发现:对机器人的远程操控往往会涉及到多个操作端(可以称为遥操作端)对多个操作对象的远程操控,而在多个操作端对多个操作对象的远程操控过程中,一方面应尽可能的避免不同操作端对同一操作对象的远程操控的相互干扰以及不同操作端对不同操作对象的远程操控的相互干扰,另一方面应保证多个操作端同时对多个操作对象远程操控的准确性;如何避免不同操作端之间的干扰,并提高多操作端对多操作对象的远程操控的准确性是一个值得关注的技术问题。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用于多操作端远程操控多操作对象的方法和装置。

依据本发明的其中一个方面,提供了一种用于多操作端远程操控多操作对象的方法,其中,所有操作对象被划分为n个组,所有操作端被划分为n个组,第i个操作端组对应第i个操作对象组,n为大于1的整数,i为小于等于n的整数,且所有操作端和所有操作对象时间同步,所述方法在中间服务节点处执行,所述主要方法包括:接收来自操作端/操作对象的信息;在所述信息为来自操作端的针对操作对象的预测状态描述信息时,将所述预测状态描述信息存储于该操作对象的状态描述集合中;在所述信息为来自操作对象的实测状态描述信息时,根据所述实测状态描述信息的实测状态时间将该操作对象的状态描述集合中的相应预测状态描述信息替换为实测状态描述信息;在所述信息为来自操作端的针对操作对象的远程操控请求时,将该远程操控请求设置于其所在操作端组对应的操控请求集合中;针对任一操作端组而言,从该操作端组的操控请求集合中获取具有最早接收时间的远程操控请求,且在该操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,向发送该远程操控请求的操作端发送允许远程操控的权限信息,并向该操作端发送其他各操作对象的状态描述集合中的状态描述信息,使该操作端根据接收到的状态描述信息构建相应操作对象的在线状态。

依据本发明的其中另一个方面,提供了一种用于多操作端远程操控多操作对象的方法,其中,所有操作对象被划分为n个组,所有操作端被划分为n个组,第i个操作端组对应第i个操作对象组,n为大于1的整数,i为小于等于n的整数,且所有操作端和所有操作对象时间同步,所述方法在操作端处执行,所述方法主要包括:在操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,产生远程操控请求,并向中间服务节点发送;在操作端获得中间服务节点对其远程操控请求的允许的情况下,产生针对所述操作对象的操控指令,设置操控指令的执行时间,并发送操控指令以及相应的执行时间;在操作端接收到来自中间服务节点的各操作对象的状态描述信息时,根据所述状态描述信息构建各操作对象的在线状态。

依据本发明的其中再一个方面,提供了一种用于多操作端远程操控多操作对象的装置,其中,所有操作对象被划分为n个组,所有操作端被划分为n个组,第i个操作端组对应第i个操作对象组,n为大于1的整数,i为小于等于n的整数,且所有操作端和所有操作对象时间同步,所述装置设置于中间服务节点处,该装置主要包括:接收模块,用于接收来自操作端/操作对象的信息;第一信息处理模块,用于在所述信息为来自操作端的针对操作对象的预测状态描述信息时,将所述预测状态描述信息存储于该操作对象的状态描述集合中;第二信息处理模块,用于在所述信息为来自操作对象的实测状态描述信息时,根据所述实测状态描述信息的实测状态时间将该操作对象的状态描述集合中的相应预测状态描述信息替换为实测状态描述信息;第三信息处理模块,用于在所述信息为来自操作端的针对操作对象的远程操控请求时,将该远程操控请求设置于其所在操作端组对应的操控请求集合中;协调处理模块,用于针对任一操作端组而言,从该操作端组的操控请求集合中获取具有最早接收时间的远程操控请求,且在该操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,向发送该远程操控请求的操作端发送允许远程操控的权限信息,并向该操作端发送其他各操作对象的状态描述集合中的状态描述信息,使该操作端根据接收到的状态描述信息构建相应操作对象的在线状态。

依据本发明的其中再一个方面,提供了一种用于多操作端远程操控多操作对象的装置,其中,所有操作对象被划分为n个组,所有操作端被划分为n个组,第i个操作端组对应第i个操作对象组,n为大于1的整数,i为小于等于n的整数,且所有操作端和所有操作对象时间同步,所述装置设置于操作端处,所述装置包括:产生请求模块,用于在操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,产生远程操控请求,并向中间服务节点发送;控制处理模块,用于在操作端获得中间服务节点对其远程操控请求的允许的情况下,产生针对所述操作对象的操控指令,设置所述操控指令的执行时间,并发送所述操控指令以及相应的执行时间;构建在线状态模块,用于在操作端接收到来自中间服务节点的各操作对象的状态描述信息时,根据所述状态描述信息构建各操作对象的在线状态。

本发明提供的用于多操作端远程操控多操作对象的方法和装置至少具有下列优点以及有益效果:本发明通过将所有操作端和所有操作对象分别进行组划分,使一个操作端组仅能够对一个操作对象组中的操作对象进行远程操控,从而易于在中间服务节点处部署针对所有操作端和所有操作对象的远程操控策略;通过针对一个操作端组设置一个操控请求集合,并在操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,针对相应的操控请求集合中具有最早接收时间的远程操控请求执行允许操作端对操作对象的远程操控授权处理,在实现了同时针对不同操作对象组中的操作对象进行远程操控的情况下,使包含有多个操作对象的操作对象组中的不同操作对象不能够同时被操作端远程操控,从而易于在中间服务节点处部署针对相应的操作端组和相应的操作对象组的远程操控策略;通过向授予远程操控权限的操作端发送其他各操作对象的状态描述信息,使该操作端可以利用状态描述信息构建其他各操作对象的在线状态,使该操作端在对相应操作对象进行远程操控的同时,可以同步了解所有操作对象在当前时刻的状态,可以避免不同操作端对不同操作对象远程操控的相互干扰;针对所有操作端组而言,通过使所有操作端和操作对象保持时间同步,并向操作对象发送操控指令及其执行时间,使每一个操控指令均具有明确的执行时间,避免了操作对象执行操控指令的时间的不确定性,从而使各操作端构建的所有操作对象的在线状态具有一致性以及准确性,即本发明能够在无需对操作对象进行改造的情况下,非常方便准确的使所有操作对象在当前时刻的状态实时的呈现在所有操作端处;针对基于多操作端单操作对象的操作端组而言,通过将操控指令汇聚在主操作端处,并由主操作端向操作对象和操作端组中的其他各操作端分别发送各操控指令以及各操控指令的执行时间,使该操作端组远程操控的操作对象在相应的执行时间执行相应的操控指令的同时,该操作端组中的所有操作端均能够同步同态的展现该操作对象在相应执行时间的状态,从而使操作端组中的不同操作端能够针对操作对象的同一状态进行远程操控,避免了操作端组中的不同操作端与相应操作对象之间的传输时延差异以及不同操作端之间的传输时延差异而导致的相互干扰、操控策略复杂以及易产生操控异常等问题;通过根据预定发送策略对汇聚在操作端组中的主操作端处的来自各操作端的操控指令进行发送处理(如对具有相同执行时间的操控指令进行加权平均处理等),能够尽可能的减小该操作端组中的单个操作端对操作对象的异常操控行为(如手抖等)对操控对象的危害;由此可知,本发明提高了多个操作端同时对多操作对象进行远程操控的易用性以及准确性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。本实施例的附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本实施例一的多操作端与多操作对象的示意图;

图2为本实施例一的用于多操作端远程操控多操作对象的方法流程图;

图3为本实施例二的用于多操作端远程操控多操作对象的方法流程图;

图4为本实施例三的用于多操作端远程操控多操作对象的装置示意图;

图5为本实施例四的用于多操作端远程操控多操作对象的装置示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一、用于多操作端远程操控多操作对象的方法。

本实施例的方法可以使位于不同地点的多个操作端针对多个操作对象同时进行远程操控。本实施例中的位于不同地点的所有操作端通常应持续的保持时间同步,且所有操作端还应与所有操作对象持续的保持时间同步。本实施例的方法通常在中间服务节点(也可以称为公共交互节点)处执行,如本实施例的方法的执行主体可以为中间服务节点。

本实施例中的所有操作对象被划分为n(n为大于1的整数)个组,且所有操作端也被划分为n个组,操作端组的数量与操作对象组的数量相同,且操作端组与操作对象组之间是一一对应的关系(即第i个操作端组对应第i个操作对象组,其中的i为小于等于n的整数),即一个操作端组中的任意一个操作端均仅能够对其所在操作端组所对应的操作对象组中的各操作对象进行远程操控,而不能对其他操作对象组中的操作对象进行远程操控;而一个操作对象组中的任意一个操作对象均仅被其所在操作对象组对应的操作端组中的操作端远程操控,而不能够被其他操作对象组对应的操作端组中的操作端远程操控。

作为示例,本实施例对所有操作端和所有操作对象进行组划分的一个具体的例子为:将所有操作端中的针对同一个操作对象进行远程操控的各操作端划分在一个操作端组中;将由同一个操作端进行远程操控的各操作对象划分在一个操作对象组中。由此可知,本实施例中的一个操作端组可能包含一个操作端,也可能包含多个操作端,且本实施例中的一个操作对象组可能包含一个操作对象,也可能包含多个操作对象。本实施例的操作端组和操作对象组的对应关系存在如下三种情况:

情况1、一个操作端组包含一个操作端,且该操作端组对应的操作对象组包含一个操作对象;该操作端组可以称为基于单操作端单操作对象的操作端组,该操作对象组可以称为基于单操作端单操作对象的操作对象组;

情况2、一个操作端组包含一个操作端,且该操作端组对应的操作对象组包含多个操作对象;该操作端组可以称为基于单操作端多操作对象的操作端组,该操作对象组可以称为基于单操作端多操作对象的操作对象组;

情况3、一个操作端组包含多个操作端,且该操作端组对应的操作对象组包含一个操作对象;该操作端组可以称为基于多操作端单操作对象的操作端组,该操作对象组可以称为基于多操作端单操作对象的操作对象组;

需要说明的是,本实施例中的一个操作端有可能出现在不同的操作端组中,而一个操作对象不会出现在不同的操作对象组中,如果基于单操作端多操作对象的操作对象组中的一操作对象属于基于多操作端单操作对象的操作对象组,则应将该操作对象从基于单操作端多操作对象的操作对象组中去除。

本实施例对所有操作端和所有操作对象进行组划分的一个更为具体的例子如图1所示。

图1中,本实施例共包括M个操作端和N个操作对象,其中,操作端1希望对操作对象1、操作对象2以及操作对象3进行远程操控,操作端2和操作端3希望对操作对象3进行远程操控,操作端x需要对操作对象y进行远程操控……,且操作端M希望对操作对象N进行远程操控;本实施例可以将操作端1作为第1操作端组,将操作端2和操作端3作为第2操作端组,将操作端x作为第a操作端组,将操作端M作为第n操作端组;本实施例可以将操作对象1和操作对象2作为第1操作对象组,将操作端3作为第2操作对象组,将操作对象y作为第a操作对象组,将操作对象N作为第n操作端组;其中,第1操作端组对应第1操作对象组,第2操作端组对应第2操作对象组,第a操作端组对应第a操作对象组,第n操作端组对应第n操作对象组。需要特别说明的是,在操作端1希望对操作对象1、操作对象2以及操作对象3进行远程操控,且操作端1、操作端2以及操作端3均希望对操作对象3进行远程操控的情况下,由于在操作端1对操作对象3进行远程操控时应时刻考虑到操作端2和操作端3对操作对象3的远程操控,因此,2实施例可以将操作端3从第1操作对象组中去除,使操作对象3仅属于第2操作对象组,且仅能够被第2操作端组远程操控。

本实施例可以在中间服务节点处设置所有操作端的分组信息、所有操作对象的分组信息及操作端组与操作对象的对应关系信息,且中间服务节点可以自行对所有操作端和所有操作对象进行分组操作,并存储分组信息及对应关系信息;当然,本实施例也可以由其他节点(如主控节点等)执行分组操作,中间服务节点接收并存储其他节点传输来的分组信息以及对应关系信息。

在对所有操作端和所有操作对象进行分组的情况下,本实施例的适用于中间服务节点的用于多操作端远程操控多操作对象的方法的流程如图2所示。

图2中,本实施例的方法包括:步骤S200、步骤S210、步骤S220、步骤S230以及步骤S240。虽然在下述描述中是按照步骤S200、步骤S210、步骤S220、步骤S230及步骤S240的顺序进行详细的,但是本实施例的各步骤之间并没有严格的执行顺序要求,如步骤S200和步骤S240可以并行执行,且步骤S240也可以在步骤S200之前或者之后执行,而步骤S210、步骤S220和步骤S230与步骤S240之间也可以并行执行,当然,步骤S210、步骤S220和步骤S230也可以在步骤S240之前或者之后执行。下面对图2中所包含的各个步骤进行详细说明。

S200、接收来自操作端/操作对象的信息。

作为示例,本实施例中的中间服务节点可以与各操作端以及各操作对象分别进行信息交互,从而在中间服务节点处可以接收到来自各操作端以及各操作对象的信息。

S210、在上述接收到的信息为来自操作端的针对操作对象的预测状态描述信息时,将预测状态描述信息存储于该操作对象的状态描述集合中。

作为示例,本实施例在中间服务节点处针对每一个操作对象均设置有一个用于存储该操作对象的状态描述信息的状态描述集合,即每一个操作对象均对应有各自的状态描述集合。操作对象的状态描述集合中的状态描述信息可以为该操作对象的预测状态描述信息,也可以为该操作对象的实测状态描述信息。操作端在向相应操作对象发送操控指令时,可以预测出该操作对象在执行该操控指令后的状态,从而操作端可以产生预测状态描述信息,且预测状态描述信息的时间通常可以为该操控指令的执行时间,操作端可以将其针对向操作对象发送的一串操控指令而预测产生的各预测状态描述信息向中间服务节点传输,从而本实施例可以将中间服务节点接收到的预测状态描述信息存储于相应操作对象的状态描述集合中。另外,在中间服务节点接收操作端发送来的预测状态描述信息过程中,本实施例还可以根据中间服务节点与该操作端之间的传输时延,通知该操作端所在操作端组中的各操作端:处理下一个远程操控请求所需要等待的时间。

作为示例,本实施例可以监测中间服务节点与各操作端之间的传输时延(如各操作端分别到中间服务节点的单向传输时延),并在中间服务节点本地维护中间服务节点与各操作端之间的传输时延。实时维护中间服务节点与各操作端之间的传输时延的一个具体例子:定时由中间服务节点向各操作端发送用于检测操作端到中间服务节点的单向传输时延的检测报文,任意一个操作端在接收到该检测报文时,均需要在接收到的检测报文中设置发送时间戳,并将设置了发送时间戳的检测报文返回给中间服务节点,从而本实施例可以在中间服务节点接收到操作端返回的检测报文时,根据中间服务节点接收到该检测报文的接收时间和检测报文中承载的发送时间戳确定出相应的操作端到中间节点的单向传输时延,如果本次获得的单向传输时延超过中间服务节点本地存储的相应操作端到中间节点的单向传输时延,则可以利用本次获得的单向传输时延替换中间服务节点本地存储的相应单向传输时延,如果本次获得的单向传输时延未超过中间服务节点本地存储的相应操作端到中间服务节点的单向传输时延,则不修改中间服务节点本地存储的相应操作端到中间服务节点的单向传输时延。由此可知,中间服务节点本地存储的任意一个单向传输时延均始终为在之前历次针对相应操作端进行单向传输时延检测过程中所获得的最大单向传输时延。

S220、在上述接收到的信息为来自操作对象的实测状态描述信息时,根据该实测状态描述信息的实测状态时间将该操作对象的状态描述集合中的相应预测状态描述信息替换为实测状态描述信息。

作为示例,操作对象在每执行一条操控指令后,均可以根据其上安装的各种传感器等状态监测元器件所采集的状态信息产生实测状态描述信息,并向中间服务节点传输,且该实测状态描述信息的时间可以为相应的操控指令的执行时间,从而本实施例在中间服务节点接收到来自操作对象的实测状态描述信息后,可以根据实测状态描述信息的时间将该操作对象的状态描述集合中的具有该时间的预测状态描述信息替换为实测状态描述信息。

S230、在上述接收到的信息为来自操作端的针对操作对象的远程操控请求时,将该远程操控请求设置于其所在操作端组对应的操控请求集合中。

作为示例,本实施例在中间服务节点处针对每一个操作端组均设置有一个操控请求集合,即每一个操作端组均对应各自的操控请求集合,由于每一个操作端组对应一个操作对象组,因此,每一个操作对象组均对应有一个操控请求集合;操作端组所对应的操控请求集合(即操作端组的操控请求集合)用于存储该操作端组针对其对应的操作对象组中的所有操作对象的远程操控请求。每一个操控请求集合中的所有远程操控请求均可以按照中间服务节点接收到远程操控请求的接收时间顺序排列形成一个远程操控请求序列。

S240、针对任一操作端组而言,从该操作端组的操控请求集合中获取具有最早接收时间的远程操控请求,且在该操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,向发送该远程操控请求的操作端发送允许远程操控的权限信息,并向该操作端发送其他各操作对象的状态描述集合中的状态描述信息,使该操作端根据接收到的状态描述信息构建相应操作对象的在线状态。

作为示例,本实施例可以在判断出一个操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,按照该操作端组的操控请求集合中的各远程操控请求的接收时间从早到晚的排列顺序从该操控请求集合中读取出一个远程操控请求,并向发送该远程操控请求的操作端发送允许远程操控的权限信息,以授权该操作端对相应的操作对象进行远程操控;本实施例还应向该操作端发送其他各操作对象的状态描述集合中的状态描述信息,以便于该操作端可以构建其他各操作对象的在线状态。另外,在发送该远程操控请求的操作端是基于多操作端单操作对象的操作端组中的操作端(如主操作端)时,本实施例可以仅向该操作端(如主操作端)返回允许远程操控的权限信息,也可以向该操作端组中的所有操作端均发送允许远程操控的权限信息。

作为示例,针对其他操作对象中的正在被远程操控的操作对象,本实施例向操作端发送的状态描述信息通常为该正在被远程操控的操作对象的预测状态描述信息;本实施例也不排除向操作端发送的状态描述信息为正在被远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性,如在正在被远程操控的操作对象的所有预测状态描述信息中的较早的多个预测状态描述信息已经被实测状态描述信息替换,而较晚的多个预测状态描述信息还未被实测状态描述信息替换的情况下,本实施例向操作端发送的正在被远程操控的操作对象的状态描述信息为该操作对象的预测状态描述信息和实测状态描述信息。

作为示例,针对其他操作对象中的当前未被远程操控的操作对象,本实施例向操作端发送的状态描述信息通常为该当前未被远程操控的操作对象的实测状态描述信息;然而,本实施例也不排除向操作端发送的状态描述信息为当前未被远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性,如在当前未被远程操控的操作对象的所有预测状态描述信息中的较早的多个预测状态描述信息已经被实测状态描述信息替换,而较晚的多个预测状态描述信息还未被实测状态描述信息替换的情况下,本实施例向操作端发送的当前未被远程操控的操作对象的状态描述信息为该操作对象的预测状态描述信息和实测状态描述信息。

由上述可知,在本实施例针对每一个操作端组均执行上述读取远程操控请求以及发送权限信息和状态描述信息的情况下,本实施例可以实现同时针对多个操作对象(操作对象的数量最多可以为操作对象组的数量)进行远程操控,然而,在一个操作对象组包含有多个操作对象的情况下,该操作对象组中的不同操作对象不可能同时被操作端远程操控。

作为示例,本实施例判断一个操作端组对应的操作对象组中的各操作对象均未被远程操控的一个具体的例子:针对每一个操作对象均设置一个操作状态标志位,在操作对象的操作状态标志位被设置为“未操作”时,表示该操作对象当前未被任何一个操作端远程操控;在操作对象的操作状态标志位被设置为“操作中”时,表示该操作对象当前正在被其所在操作对象组对应的操作端组中的一个操作端远程操控;本实施例可以读取操作端组对应的操作对象组中的各操作对象的操作状态标志位,在判断出读取的各操作对象的操作状态标志位均为“未操作”时,确定该操作对象组中的各操作对象均未被操作端远程操控,而在判断出读取的各操作对象的操作状态标志位不均为“未操作”时,确定该操作对象组中存在当前正在被远程操控的操作对象。

作为示例,本实施例判断一个操作端组对应的操作对象组中的各操作对象均未被远程操控的另一个具体的例子:针对每一个操作端均设置一个操作状态标志位,在操作端的操作状态标志位被设置为“未操作”时,表示该操作端当前未对其所在操作端组对应的操作对象组中的任何一个操作对象进行远程操控;在操作端的操作状态标志位被设置为“操作中”时,表示该操作端当前正在对其所在操作端组对应的操作对象组中的一个操作对象进行远程操控;本实施例可以读取操作端组中的各操作端的操作状态标志位,在判断出读取的各操作端的操作状态标志位均为“未操作”时,确定该操作端组对应的操作对象组中的各操作对象均未被操作端远程操控,而在判断出读取的各操作端的操作状态标志位不均为“未操作”时,确定该操作端组对应的操作对象组中存在当前正在被远程操控的操作对象。

作为示例,本实施例也可以针对所有操作端以及所有操作对象均设置操作状态标志位。另外,本实施例可以向被授予远程操控权限的操作端发送各操作端和/或各操作对象的操作状态信息,使获得远程操控权限的操作端可以获知正在进行远程操控的操作端以及正在被远程操控的操作对象。

作为示例,本实施例中的操作端的操作状态标志位和/或操作对象的操作状态标志位可以在下述情况下被设置为“未操作”或者“操作中”:被授权的操作端在向相应的操作对象发送一组操控指令及其执行时间时,还应向中间服务节点发送该组操控指令对应的预测状态描述信息,如被授权的操作端根据实际操控需求产生一组操控指令,并向相应的操作对象发送该组操控指令以及各操控指令的执行时间时,启动本地的预报模型针对当前发送的各操控指令分别进行状态预报,从而可以在各操控指令的执行时间之前产生各操控指令对应的预测状态描述信息,并向中间服务节点传输其产生的各预测状态描述信息;在该组操控指令对应的预测状态描述信息完全被中间服务节点成功接收(如在接收到预测状态描述信息结束标识信息)时,本实施例可以将该操作端和/或操作对象的操作状态标志位设置为“未操作”;而在从操控请求集合中读取出一个远程操控请求,并向发送该远程操控请求的操作端发送允许远程操控的权限信息时,可以将该操作端的操作状态标志位设置为“操作中”,并根据该远程操控请求将相应操作对象的操作状态标志位设置为“操作中”。在中间服务节点接收到操作端传输来的停止远程操控请求时,可以将该操作端的操作状态标志位设置为“未操作”,并根据该停止远程操控请求将相应操作对象的操作状态标志位设置为“未操作”。

实施例二、用于多操作端远程操控多操作对象的方法。

本实施例的方法可以使位于不同地点的多个操作端针对多个操作对象同时进行远程操控。本实施例中的位于不同地点的所有操作端应持续的保持时间同步,且所有操作端还应与所有操作对象持续的保持时间同步。本实施例的方法可以在操作端处执行,如本实施例的方法的执行主体可以为操作端。

本实施例中的所有操作对象被划分为n(n为大于1的整数)个组,且所有操作端也被划分为n个组,具体的划分方式以及划分的举例说明如上述实施例一中的描述,在此不再重复说明。本实施例的适用于操作端的用于多操作端远程操控多操作对象的方法的流程如图3所示。

图3中,本实施例的方法包括:步骤S300、步骤S310及步骤S320。虽然在下述描述中是按照步骤S300、步骤S310以及步骤S320的顺序进行详细的,但是本实施例的步骤S310以及步骤S320之间并没有严格的执行顺序要求,例如步骤S310以及步骤S320可以并行执行,且步骤S310也可以在步骤S320之后执行。下面对图3中所包含的各个步骤分别进行详细说明。

S300、在操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,产生远程操控请求,并向中间服务节点发送。

作为示例,本实施例中的远程操控请求可以包括:操作端标识信息以及操作对象标识信息,以使中间服务节点可以根据接收到的远程操控请求获知远程操控方以及被远程操控方。

作为示例,在操作端属于基于单操作端单操作对象的操作端组或者属于基于单操作端多操作对象的操作端组的情况下,在该操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,可以由该操作端产生远程操控请求,并直接向中间服务节点发送该远程操控请求。

作为示例,在操作端属于基于多操作端单操作对象的操作端组,且该操作端为操作端组中的主操作端的情况下,在该操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,可以将其产生的远程操控请求直接向中间服务节点发送。在操作端属于基于多操作端单操作对象的操作端组,且该操作端为操作端组中的辅操作端的情况下,在该操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,可以将其产生的远程操控请求向主操作端发送,并由主操作端向中间服务节点发送远程操控请求;即在通常情况下,远程操控请求由操作端组中的主操作端向中间服务节点发送。当然,本实施例并不排除由辅操作端将其产生的远程操控请求直接向中间服务节点发送的可能性。

S310、在操作端获得中间服务节点对远程操控请求的允许的情况下,产生针对操作对象的操控指令,设置操控指令的执行时间,并发送操控指令以及相应的执行时间。

作为示例,在中间服务节点根据其读取出的远程操控请求授予相应操作端远程操控权限的情况下,通常会向发送该远程操控请求的操作端返回允许远程操控的权限信息,以通知该操作端其远程操控请求被允许。在一个例子中,在远程操控请求的发送方是基于单操作端单操作对象的操作端组中的操作端或基于单操作端多操作对象的操作端组中的操作端或基于多操作端单操作对象的操作端组中的主操作端的情况下,该操作端通常会接收到来自中间服务节点的允许远程操控的权限信息;另外,在主操作端接收到来自中间服务节点的允许远程操控的权限信息时,可以通知其所在操作端组中其他各操作端。而在中间服务节点判断出发送该远程操控请求的操作端为基于多操作端单操作对象的操作端组中的操作端(如主操作端或者辅操作端),并向该操作端组中的所有操作端均发送允许远程操控的权限信息的情况下,主操作端和辅操作端在接收到来自中间服务节点的允许远程操控的权限信息时,均不需要通知其所在操作端组中其他各操作端。

作为示例,在操作端为基于单操作端单操作对象的操作端组中的操作端或者基于单操作端多操作对象的操作端组中的操作端或者基于多操作端单操作对象的操作端组中的主操作端时,该操作端可以直接将其产生的操控指令以及执行时间向相应的操作对象发送;而在操作端为基于多操作端单操作对象的操作端组中的辅操作端的情况下,操作端应将其产生的针对操作对象的操控指令以及执行时间向其所在操作端组中的主操作端发送,并由主操作端根据预定发送策略对汇聚在主操作端处的来自其所在操作端组中的各操作端的操控指令以及执行时间进行发送处理,使相应的操控指令和相应的执行时间分别由主操作端传输至相应的操作对象,也就是说,基于多操作端单操作对象的操作端组中的所有操作端产生的针对操作对象的操控指令及其执行时间均需要经由操作端组中的主操作端发送至相应的操作对象。本实施例中的操控指令的执行时间的作用包括:使操作对象可以按照各操控指令的执行时间来执行各操控指令,使各操作端可以按照各操控指令的执行时间来展示/报告操作对象的当前状态。

作为示例,操作端组中的主操作端在向相应的操作对象发送操控指令和相应的执行时间时,还可以将操控指令和相应的执行时间发送给其所在操作端组中的其他各操作端。由主操作端向操作对象发送的操控指令以及执行时间可以使操作对象根据其接收到的操控指令的执行时间执行相应的操控指令,并使主操作端根据其发送的操控指令以及执行时间同步展现操作对象的当前状态;而由主操作端向其所在操作端组中的其他操作端发送的操控指令以及执行时间可以使操作端组中的其他各操作端(如所有辅操作端以及所有观测操作端)分别根据其接收到的操控指令以及执行时间同步展现操作对象的当前状态。具体而言,在操作端组中的主操作端处,针对由主操作端传输至相应操作对象的各操控指令,在当前时间达到相应操控指令的执行时间时,位于主操作端处的预报模型可以根据该操控指令展现/报告操作对象的当前状态。在操作端组中的除主操作端之外的其他任意一个操作端(如辅操作端或观测操作端)处,针对来自主操作端的执行时间不超过当前时间的各操控指令,可以先根据执行时间的排列顺序依次存储在指令桶中,并触发位于本操作端处的预报模型根据其存储的已经执行过的操控指令以及执行时间将操作对象的当前状态快速回溯到指令桶中的最早执行时间时的状态,然后,触发该预报模型根据指令桶中顺序存储的操作指令以及执行时间将操作对象的状态快进到当前时间;之后,针对来自主操作端的执行时间超过当前时间的各操控指令,在当前时间达到相应操控指令的执行时间时,根据该操控指令展现操作对象的当前状态。由于本实施例的操作端组对应的操作对象、操作端组中的主操作端、辅操作端以及观测操作端始终保持时间同步,而操作端组中的不同的操作端均是根据操控指令的执行时间模拟展现操作对象的当前状态,因此,本实施例可以使操作端组中的所有操作端所展现的该操作对象的当前状态具有同步同态性。

作为示例,本实施例中的操控指令的执行时间是根据操作端与操作对象的传输时延设置的。一个具体的例子:针对基于单操作端单操作对象的操作端组中的操作端和基于单操作端多操作对象的操作端组中的操作端而言,可以将操作端产生的操控指令的执行时间设置为操控指令由操作端发送的时间与本操作端到相应的操作对象的单向传输时延之和。另一个具体的例子,针对基于多操作端单操作对象的操作端组中的操作端而言,可以根据基于主操作端与操作对象的传输时延而设置的传输时延阈值来设置主操作端以及辅操作端产生的操控指令的执行时间。具体的,对于基于多操作端单操作对象的操作端组(下述简称为操作端组)中的主操作端本地产生的针对操作对象的操控指令而言,本实施例设置该操控指令的执行时间的一个具体例子为:预计该操控指令由主操作端向操作对象发送的时间(如在将操控指令放入主操作端处的发送队列中时,根据该发送队列中的操控指令的数量以及主操作端对发送队列中的单个操控指令的处理速度预计该操控指令由主操作端向相应操作对象发送的时间),并将该发送时间与传输时延阈值之和作为该操控指令的执行时间;另一个具体例子为:在由主操作端向相应操作对象发送一操控指令(如将操控指令从主操作端处的发送队列中读出)时,将该操控指令的执行时间设置为当前时间(如将操控指令从主操作端处的发送队列中读出的时间)与传输时延阈值之和。对于操作端组中的辅操作端本地产生的针对操作对象的操控指令而言,本实施例设置该操控指令的执行时间的一个具体例子为:预计该操控指令由辅操作端向主操作端发送的时间(如在将操控指令放入辅操作端处的发送队列中时,根据该发送队列中的操控指令的数量以及辅操作端对发送队列中的单个操控指令的处理速度预计出该操控指令由辅操作端向主操作端发送的时间),并将该发送时间与传输时延阈值之和作为该操控指令的执行时间,将该操控指令和执行时间一起发送给操作端组中的主操作端;另一个具体例子为:在由辅操作端向主操作端发送一操控指令(如将操控指令从辅操作端处的发送队列中读出)时,将该操控指令的执行时间设置为当前时间(如将操控指令从辅操作端处的发送队列中读出的时间)与传输时延阈值之和,并将该操控指令和执行时间一起发送给操作端组中的主操作端。

由上述针对基于多操作端单操作对象的操作端组中的操作端设置操控指令的执行时间的描述可知,在多个用户同时对一个操作端组中的不同操作端进行操作以远程操控一个操作对象时,由于该操作端组中的所有操作端始终保持时间同步,因此,操作端组中的不同操作端产生的针对操作对象的操控指令很可能会具有相同的执行时间;由于操作端组中的不同操作端产生的操控指令以及操控指令的执行时间均被汇聚到主操作端处,而不会直接被传输至操作对象,从而本实施例可以在主操作端处利用预定发送策略对来自操作端组中的所有操作端的操控指令以及执行时间进行处发送理,以避免操作端组中的不同操作端的操控指令之间的相互影响,并且不需要操作对象具有对操作端组中的所有操作端的操控指令的协调处理能力,这对于已经部署且难以改造的操作对象(如空间机器人、月球车、深海机构及核能内部机器等)而言,本实施例的基于多操作端单操作对象的操作端组可以非常方便的实现多操作端对单操作对象的远程操控。

上述描述中的传输时延阈值可以具体为:预定系数和操作端组中的主操作端到相应操作对象的单向传输时延的乘积,本实施例中的预定系数可以预先存储于主操作端本地,当然,本实施例可以在操作端组中的所有操作端本地均预先存储有该预定系数,从而在将操作端组中的所有操作端中的任意一个操作端设置为主操作端时,该操作端可以方便的获得该预定系数;一个具体的例子:设定操作端组中的第j个操作端被设置为主操作端,第j个操作端本地存储的其与操作对象之间的传输时延为且当前设置的预定系数为Kj,则操作端组中的传输时延阈值可以为从而对于操作端组中的除了主操作端之外的任意一个操作端而言,如果该操作端与主操作端之间的传输时延小于则本实施例可以将该操作端作为辅操作端,而如果该操作端与主操作端之间的传输时延不小于则本实施例可以将该操作端作为观测操作端。本实施例中的预定系数通常大于1,且不大于下述公式(1)计算获得的数值:

在上述公式(1)中,为操作端组中的作为主操作端的第j个操作端与第一个操作端之间的传输时延,为操作端组中的作为主操作端的第j个操作端与第二个操作端之间的传输时延,为操作端组中的作为主操作端的第j个操作端与第j-1个操作端之间的传输时延,为操作端组中的作为主操作端的第j个操作端与第j+1个操作端之间的传输时延,为操作端组中的作为主操作端的第j个操作端与第n个操作端之间的传输时延,n为操作端组中的操作端的总数量,为操作端组中的作为主操作端的第j个操作端与操作对象之间的传输时延,表示取以及中的最大值。也就是说,本实施例中的预定系数不大于1与max(*)和之商的和。

作为示例,本实施例在设置预定系数的大小时,可以考虑操作端组中的期望参与共同操控的操作端数量以及操控该操作端组对应的操作对象的操作时间间隔要求(即操作紧迫性)等因素;也就是说,本实施例可以根据操作端组中的期望参与共同操控的操作端数量和/或操控操作对象的操作时间间隔要求来设置预定系数的取值大小;且在操作端组中的期望参与共同操控的操作端数量越多以及操控操作对象的操作时间间隔要求越长(即操作紧迫性不强)的情况下,可以将预定系数设置的越大,而在操作端组中的期望参与共同操控的操作端数量越少以及操控操作对象的操作时间间隔要求越短(即操作紧迫性强)的情况下,可以将预定系数设置的越小。

作为示例,本实施例可以在操作端组中的主操作端展示用于设置预定系数的界面,且该界面中包括:分别对应不同取值的预定系数的多个选项(如多个操作端数量选项以及多个操作紧急程度选项等),用户可以通过选择相应的选项(如操作端数量选项和操作紧急程度选项),从而确定出预定系数的大小。通常情况下,本实施例并不限制操作端组中的参与对相应操作对象进行远程遥控的操作端的数量,且本实施例不限制设置预定系数的具体实现方式。操作端组中的所有操作端中均可以存储有上述计算获得的传输时延阈值,以便于每个操作端均可以利用该传输时延阈值设置操控指令的执行时间。

作为示例,本实施例可以在操作端组中的所有操作端本地分别存储本操作端到操作对象的单向传输时延,从而在操作端组中的任意一个操作端被指定为主操作端的情况下,均可以从被指定为主操作端本地存储的信息中获取到主操作端到操作对象的单向传输时延。当然,本实施例也不排除仅在被指定为主操作端的操作端本地存储该操作端到操作对象的单向传输时延而操作端组中的其他操作端本地并不存储本操作端到操作对象的单向传输时延的可能性。本实施例还可以在操作端组中的所有操作端本地分别存储本操作端与其他各操作端的传输时延,从而在操作端组中的任意一个操作端被指定为主操作端的情况下,可以从被指定为主操作端本地存储的信息中获取到主操作端到其他各操作端的传输时延。当然,本实施例也不排除仅在被指定为主操作端的操作端本地存储本操作端与操作端中的其他各操作端的传输时延而其他操作端本地并不存储本操作端与其他各操作端的传输时延的可能性。上述传输时延通常为单向传输时延,如本操作端与其他各操作端的传输时延为本操作端到其他各操作端的单向传输时延,在下述描述中,如无特别说明,则描述中的传输时延均指单向传输时延。

作为示例,本实施例应对操作端本地存储的各传输时延进行维护,如实时的维护各操作端本地存储的各传输时延。本实施例对操作端本地存储的各传输时延进行维护的一个具体的例子为:

设定操作端组中的第i个操作端本地存储的其与操作对象的传输时延以及其与操作端组中的其他各操作端的传输时延形成一个向量,且该向量表示为下述公式(2)的形式:

在上述公式(2)中,表示操作端组中的第i个操作端与操作端组中的第一个操作端之间的传输时延,表示操作端组中的第i个操作端与操作端组中的第二个操作端之间的传输时延,表示操作端组中的第i个操作端与操作端组中的第i-1个操作端之间的传输时延,表示操作端组中的第i个操作端与操作端组中的第i+1个操作端之间的传输时延,0表示操作端组中的第i个操作端与操作端组中的第i个操作端之间的传输时延,即第i个操作端自身的传输时延为0,表示操作端组中的第i个操作端与操作端组中的第n个操作端之间的传输时延,且n为操作端组中的操作端的总数量,表示操作端组中的第i个操作端与操作对象之间的传输时延;

针对操作端组中的所有操作端中的任意一个操作端(如第i个操作端)而言,本实施例维护操作端组中的第i个操作端本地存储的各传输时延,即向量的一个具体过程为:定时的由操作端组中的第i个操作端向操作对象发送用于检测本操作端和操作对象之间的单向传输时延的检测报文,并定时的由操作端组中的第i个操作端向其他n-1个操作端分别发送用于检测本操作端和其他n-1个操作端之间的单向传输时延的检测报文,且由第i个操作端发出的检测报文中携带有该检测报文由该第i个操作端发出时刻的发送时间,在操作对象或者操作端组中的其他任意一个操作端接收到该检测报文时,均需要针对接收到的检测报文设置时间戳,如在接收到的检测报文中设置检测报文的接收时间戳,再如在接收到的检测报文中设置检测报文单向传输时时延间戳(即操作对象/其他操作端接收到该检测报文的接收时间与操作端组中的第i个操作端发送该检测报文的发送时间的时间差),第i个操作端每次接收到操作对象或者其他任意一个操作端返回的检测报文时,均可以从返回的检测报文承载的时间戳获得第i个操作端到操作对象/相应操作端的单向传输时延,本实施例可以将该单向传输时延与第i个操作端本地存储的向量中的相应单向传输时延进行比较,如果该单向传输时延超过本地存储的向量中的相应单向传输时延,则利用该单向传输时延替换第i个操作端本地存储的上述向量中的相应单向传输时延,否则,对第i个操作端本地存储的上述向量中的相应单向传输时延不进行更改。由此可知,操作端组中的第i个操作端本地存储的任意一个单向传输时延均始终为在之前历次针对操作对象/相应的操作端进行单向传输时延检测过程中所获得的最大单向传输时延。

作为示例,本实施例可以利用主操作端到操作端组中的其他各操作端的传输时延将其他各操作端划分为辅操作端和观测操作端。也就是说,操作端组中的所有操作端中除了主操作端之外的其他所有操作端可以包括:辅操作端和/或观测操作端;其中的辅操作端是可以参与对操作对象进行远程操控的操作端,而其中的观测操作端是可以观测到操作对象被远程操控且不能够参与对操作对象的远程操控的操作端。本实施例中的将其他各操作端分别设置为辅操作端或者观测操作端的操作可以在主操作端处执行。操作端组中的所有操作端可以被划分为一个主操作端和至少一个辅操作端,也可以被划分为一个主操作端、至少一个辅操作端以及至少一个观测操作端。当然,本实施例也不排除所有操作端被划分为一个主操作端及至少一个观测操作端的情况。在设置操作端组中的主操作端时,可以考虑主操作方(如专家)所在的位置以及操作端组中的各操作端的设备性能等因素,当然,本实施例也可以通过随机指定等方式来设置操作端组中的主操作端;而在设置辅操作端以及观测操作端时,本实施例通常是通过考虑各操作端分别与主操作端之间的单向传输时延等因素来确定是将一个操作端作为辅操作端还是作为观测操作端,如本实施例设置操作端组中的辅操作端以及观测操作端的一个具体例子为:在操作端组中的主操作端本地存储的当前其与其他各操作端的传输时延向量中,如果主操作端到某个操作端的传输时延小于预先设置的传输时延阈值时,则可以将该操作端设置为辅操作端,而如果主操作端到某个操作端的传输时延不小于预先设置的传输时延阈值时,则可以将该操作端设置为观测操作端。本实施例通过设置观测操作端可以屏蔽具有较大传输时延的操作端对操作对象的远程操控所带来的不良影响。

作为示例,为了保证对操作对象远程操控的安全性,本实施例可以先对辅操作端产生并传输至主操作端处的操控指令进行操控指令安全性检测,然后,再根据预定发送策略对主操作端产生的操控指令以及来自辅操作端的且通过安全性检测的操控指令进行发送处理。也就是说,本实施例可以对来自辅操作端的操控指令进行过滤,以滤除未通过安全性检测的操控指令,从而避免一些操控指令对操作对象产生不良影响。本实施例可以采用现有的操控指令安全性检测技术来对辅操作端产生并传输至主操作端处的操控指令进行操控指令安全性检测,本实施例不限制操控指令安全性检测的具体实现过程。

作为示例,本实施例中的预定发送策略可以是一种能够解决操作端组中的不同操作端的操控指令之间相互干扰的解决机制。一个具体的例子,本实施例中的汇聚在操作端组中的主操作端处的来自各操作端的各操控指令(即需要由主操作端向操作对象发送的各操控指令)的执行时间有可能相同,如在多个用户分别通过主操作端和多个辅操作端同时对操作对象进行远程操控的情况下,辅操作端产生并传输至主操作端的操控指令与主操作端自身产生的操控指令有可能具有相同的执行时间,且不同辅操作端产生并传输至主操作端的操控指令也可能具有相同的执行时间,针对该情况,本实施例中的预定发送策略可以包括:对具有相同执行时间的不同操控指令进行加权平均处理,即本实施例可以针对汇聚在操作端组中的主操作端处的具有相同执行时间的各操控指令进行加权平均处理,从而使具有相同执行时间的各操控指令转化为一条操控指令,这样,本实施例可以将加权平均处理后获得的操控指令以及该操控指令的执行时间(即具有相同执行时间的各条操控指令的执行时间)分别传输至操作对象以及其他各操作端(如所有辅操作端以及所有观测操作端)。本实施例可以采用现有的加权平均处理方式对具有相同执行时间的各操控指令进行加权平均处理,本实施例不限制对具有相同执行时间的各操控指令进行加权平均处理的具体实现方式。另外,在汇聚在主操作端处的各操控指令存在其他相互干扰时,本实施例可以通过设置相应的策略来避免干扰。本实施例不限制预定发送策略的具体表现形式。

作为示例,本实施例的根据预定发送策略对汇聚在主操作端处的来自各操作端的操控指令进行发送处理的一个具体例子为:在主操作端接收到辅操作端传输来的操控指令的情况下,如果与该操控指令具有相同执行时间的操控指令已经由主操作端向操作对象发送出去,则可以丢弃该操控指令,而如果与该操控指令具有相同执行时间的操控指令还未由主操作端发送给操作对象,则将与该操控指令具有相同执行时间的所有操控指令进行加权平均处理,并将加权平均处理后获得的操控指令以及该操控指令的执行时间分别传输至操作对象和其他各操作端。

作为示例,本实施例的根据预定发送策略对汇聚在主操作端处的来自各操作端的操控指令进行发送处理的另一个具体例子为:设定由主操作端向操作对象前后连续发送的操控指令的执行时间应满足预定时间间隔要求,在主操作端接收到辅操作端传输来的操控指令的情况下,如果该操控指令的执行时间大于当前需要向操作对象发送的操控指令的执行时间,并小于当前需要向操作对象发送的操控指令的执行时间与预定时间间隔之和,则可以丢弃该操控指令。

作为示例,本实施例的根据预定发送策略对汇聚在主操作端处的来自各操作端的操控指令进行发送处理的再一个具体例子为:设定由主操作端向操作对象前后连续发送的操控指令的执行时间应满足预定时间间隔要求,在主操作端接收到辅操作端传输来的操控指令的情况下,如果该操控指令的执行时间大于当前需要向操作对象发送的操控指令的执行时间,并小于当前需要向操作对象发送的操控指令的执行时间与预定时间间隔之和,则可以将该来自辅操作端的操控指令变换为当前需要向操作对象发送的操控指令的执行时间所对应的操控指令(如根据原操控指令的执行时间与当前需要向操控对象发送的操控指令的执行时间的时间差值改变原操控指令中的参数的数值,并使改变后的操控指令的执行时间设置为当前需要向操作对象发送的操控指令的执行时间),然后,将与变换后的操控指令具有相同执行时间的所有操控指令进行加权平均处理,并将加权平均处理后获得的操控指令以及该操控指令的执行时间分别传输至操作对象和其他各操作端。

作为示例,在操作端被授予远程操控权限,并向中间服务节点发送一组操控指令及其执行时间(如在最后一个操控指令及其执行时间后发送结束标志位)后,如果该操作端还需要对相应操作对象进行远程操控,则需要再次发送远程操控请求。

S320、在操作端接收到来自中间服务节点的各操作对象的状态描述信息时,根据接收到的状态描述信息构建各操作对象的在线状态。

作为示例,操作端接收到的操作对象的状态描述信息可以包括预测状态描述信息,也可以包括实测状态描述信息。操作端接收到的一个操作对象的预测状态描述信息和实测状态描述信息一方面可以使该操作端构建相应操作对象的在线状态,如根据具有当前时间的状态描述信息展现相应操作对象的在线状态,另一方面可以使操作端根据预测状态描述信息为本操作端所在操作端组所对应的操作对象组中的操作对象设置隔离区域,即操作端可以根据时间晚于当前时间的预测状态描述信息提前获知其所在操作端组之外的其他各操作端组对应的各操作对象组中的操作对象的未来运动区域,并根据操作对象的未来运动区域来设置其所在操作端组对应的操作对象的隔离区域,以保证本操作端对操作对象的远程遥控的安全性。

作为示例,针对操作对象中的正在被其他操作端组中的操作端远程操控的各操作对象,操作端接收到的来自中间服务节点的状态描述信息通常为正在被其他操作端组中的操作端远程操控的操作对象的预测状态描述信息,然而,本实施例也不排除操作端接收到的状态描述信息为正在被其他操作端组中的操作端远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性。而针对操作对象中的当前未被远程操控的各操作对象,操作端接收到的来自中间服务节点的状态描述信息通常为该当前未被远程操控的操作对象的实测状态描述信息,然而,本实施例也不排除操作端接收到的状态描述信息为当前未被远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性。针对操作对象中的正在被操作端所在操作端组中的操作端远程操控的操作对象,操作端接收到的来自中间服务节点的状态描述信息通常为该操作对象的实测状态描述信息;且该操作端在接收到该操作对象的实测状态描述信息时,可以利用该实测状态描述信息替换其本地存储的该操作对象的具有相同时间的预测状态描述信息,在操作端具有修正能力时,可以在实测状态描述信息与其替换的预测状态描述信息不相符时,根据实测状态描述信息的时间触发位于本操作端处的预报模型根据其存储的已经执行过的操控指令以及执行时间将操作对象的当前状态快速回溯到指令桶中的该时间时的状态,然后,触发该预报模型根据指令桶中顺序存储的操作指令以及执行时间将操作对象的状态快进到当前时间,以对操作对象的在线状态进行修正。

作为示例,本实施例中的操作端可以接收到来自中间服务节点的各操作对象的操作状态信息(如操作状态标志位),从而操作端可以获知各操作对象当前处于“未操作”状态,还是处于“操作中”状态。操作端还可以接收到来自中间服务节点的各操作端的操作状态信息,从而操作端可以获知各操作端当前处于“未操作”状态,还是处于“操作中”状态。

实施例三、用于多操作端远程操控多操作对象的装置。

本实施例的装置通常设置于中间服务节点(也可以称为公共交互节点)处。本实施例中的所有操作对象被划分为n(n为大于1的整数)个组,且所有操作端也被划分为n个组,具体的划分方式以及划分的举例说明如上述实施例一中的描述,在此不再重复说明。本实施例的适用于中间服务节点的用于多操作端远程操控多操作对象的装置的结构如图4所示。

图4中,本实施例的用于多操作端远程操控多操作对象的装置包括:接收模块400、第一信息处理模块410、第二信息处理模块420、第三信息处理模块430及协调处理模块440。可选的,该装置还可以包括:第一传输时延维护模块450以及状态设置模块460。

接收模块400主要用于接收来自操作端/操作对象的信息。

第一信息处理模块410主要用于在上述信息为来自操作端的针对操作对象的预测状态描述信息时,将预测状态描述信息存储于该操作对象的状态描述集合中。

作为示例,本实施例在中间服务节点处针对每一个操作对象均设置有一个用于存储该操作对象的状态描述信息的状态描述集合,即每一个操作对象均对应有各自的状态描述集合。操作对象的状态描述集合中的状态描述信息可以为该操作对象的预测状态描述信息,也可以为该操作对象的实测状态描述信息。操作端在向相应操作对象发送操控指令时,可以预测出该操作对象在执行该操控指令后的状态,从而操作端可以产生预测状态描述信息,且预测状态描述信息的时间通常可以为该操控指令的执行时间,操作端可以将其针对向操作对象发送的一组操控指令而预测产生的各预测状态描述信息向中间服务节点传输,从而第一信息处理模块410可以将中间服务节点接收到的预测状态描述信息存储于相应操作对象的状态描述集合中。另外,在中间服务节点接收操作端发送来的预测状态描述信息过程中,第一信息处理模块410还可以根据中间服务节点与该操作端之间的传输时延,通知该操作端所在操作端组中的各操作端:处理下一个远程操控请求所需要等待的时间。

作为示例,第一传输时延维护模块450可以监测中间服务节点与各操作端之间的传输时延(如各操作端分别到中间服务节点的单向传输时延),并在中间服务节点本地维护中间服务节点与各操作端之间的传输时延。第一传输时延维护模块450实时维护中间服务节点与各操作端之间的传输时延的一个具体例子:第一传输时延维护模块450定时由中间服务节点向各操作端发送用于检测操作端到中间服务节点的单向传输时延的检测报文,任意一个操作端在接收到该检测报文时,均需要在接收到的检测报文中设置发送时间戳,并将设置了发送时间戳的检测报文返回给中间服务节点,从而第一传输时延维护模块450可以在中间服务节点接收到操作端返回的检测报文时,根据中间服务节点接收到该检测报文的接收时间和检测报文中承载的发送时间戳确定出相应的操作端到中间节点的单向传输时延,如果本次获得的单向传输时延超过中间服务节点本地存储的相应操作端到中间节点的单向传输时延,则第一传输时延维护模块450可以利用本次获得的单向传输时延替换中间服务节点本地存储的相应单向传输时延,如果本次获得的单向传输时延未超过中间服务节点本地存储的相应操作端到中间服务节点的单向传输时延,则第一传输时延维护模块450不修改中间服务节点本地存储的相应操作端到中间服务节点的单向传输时延。由此可知,中间服务节点本地存储的任意一个单向传输时延均始终为在之前历次针对相应操作端进行单向传输时延检测过程中所获得的最大单向传输时延。

第二信息处理模块420主要用于在上述信息为来自操作对象的实测状态描述信息时,根据实测状态描述信息的实测状态时间将该操作对象的状态描述集合中的相应预测状态描述信息替换为实测状态描述信息。

作为示例,操作对象在每执行一条操控指令后,均可以根据其上安装的各种传感器等状态监测元器件所采集的状态信息产生实测状态描述信息,并向中间服务节点传输,实测状态描述信息的时间可以为相应的操控指令的执行时间,从而第二信息处理模块420在中间服务节点接收到来自操作对象的实测状态描述信息后,可以根据实测状态描述信息的时间将该操作对象的状态描述集合中的具有该时间的预测状态描述信息替换为实测状态描述信息。

第三信息处理模块430主要用于在上述信息为来自操作端的针对操作对象的远程操控请求时,将该远程操控请求设置于其所在操作端组对应的操控请求集合中。

作为示例,第三信息处理模块430在中间服务节点处针对每一个操作端组均设置有一个操控请求集合,即每一个操作端组均对应各自的操控请求集合,由于每一个操作端组对应一个操作对象组,因此,每一个操作对象组均对应有一个操控请求集合;操作端组所对应的操控请求集合(即操作端组的操控请求集合)用于存储该操作端组针对其对应的操作对象组中的所有操作对象的远程操控请求。每一个操控请求集合中的所有远程操控请求均可以按照中间服务节点接收到远程操控请求的接收时间顺序排列形成一个远程操控请求序列。

协调处理模块440主要用于针对任一操作端组而言,从该操作端组的操控请求集合中获取具有最早接收时间的远程操控请求,且在该操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,向发送该远程操控请求的操作端发送允许远程操控的权限信息,并向该操作端发送其他各操作对象的状态描述集合中的状态描述信息,使该操作端根据接收到的状态描述信息构建相应操作对象的在线状态。

作为示例,协调处理模块440可以在判断出一个操作端组对应的操作对象组中的各操作对象均未被远程操控的情况下,按照该操作端组的操控请求集合中的各远程操控请求的接收时间从早到晚的排列顺序从该操控请求集合中读取出一个远程操控请求,并向发送该远程操控请求的操作端发送允许远程操控的权限信息,以授权该操作端对相应的操作对象进行远程操控;协调处理模块440还应向该操作端发送其他各操作对象的状态描述集合中的状态描述信息,以便于该操作端可以构建其他各操作对象的在线状态。另外,在发送该远程操控请求的操作端是基于多操作端单操作对象的操作端组中的操作端(如主操作端)时,协调处理模块440可以仅向该操作端(如主操作端)返回允许远程操控的权限信息,也可以向该操作端组中的所有操作端均发送允许远程操控的权限信息。

作为示例,针对其他操作对象中的正在被远程操控的操作对象,协调处理模块440向操作端发送的状态描述信息通常为该正在被远程操控的操作对象的预测状态描述信息;本实施例也不排除协调处理模块440向操作端发送的状态描述信息为正在被远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性,如在正在被远程操控的操作对象的所有预测状态描述信息中的较早的多个预测状态描述信息已经被实测状态描述信息替换,而较晚的多个预测状态描述信息还未被实测状态描述信息替换的情况下,协调处理模块440向操作端发送的正在被远程操控的操作对象的状态描述信息为该操作对象的预测状态描述信息和实测状态描述信息。

作为示例,针对其他操作对象中的当前未被远程操控的操作对象,协调处理模块440向操作端发送的状态描述信息通常为该当前未被远程操控的操作对象的实测状态描述信息;然而,本实施例也不排除协调处理模块440向操作端发送的状态描述信息为当前未被远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性,如在当前未被远程操控的操作对象的所有预测状态描述信息中的较早的多个预测状态描述信息已经被实测状态描述信息替换,而较晚的多个预测状态描述信息还未被实测状态描述信息替换的情况下,协调处理模块440向操作端发送的当前未被远程操控的操作对象的状态描述信息为该操作对象的预测状态描述信息和实测状态描述信息。

由上述可知,在协调处理模块440针对每一个操作端组均执行上述读取远程操控请求以及发送权限信息和状态描述信息的情况下,本实施例可以实现同时针对多个操作对象(操作对象的数量最多可以为操作对象组的数量)进行远程操控,然而,在一个操作对象组包含有多个操作对象的情况下,该操作对象组中的不同操作对象不可能同时被操作端远程操控。

作为示例,协调处理模块440判断一个操作端组对应的操作对象组中的各操作对象均未被远程操控的一个具体的例子:针对每一个操作对象均设置一个操作状态标志位,在操作对象的操作状态标志位被设置为“未操作”时,表示该操作对象当前未被任何一个操作端远程操控;在操作对象的操作状态标志位被设置为“操作中”时,表示该操作对象当前正在被其所在操作对象组对应的操作端组中的一个操作端远程操控;协调处理模块440可以读取操作端组对应的操作对象组中的各操作对象的操作状态标志位,在判断出读取的各操作对象的操作状态标志位均为“未操作”时,协调处理模块440确定该操作对象组中的各操作对象均未被操作端远程操控,而在判断出读取的各操作对象的操作状态标志位不均为“未操作”时,协调处理模块440确定该操作对象组中存在当前正在被远程操控的操作对象。

作为示例,协调处理模块440判断一个操作端组对应的操作对象组中的各操作对象均未被远程操控的另一个具体的例子:针对每个操作端均设置一个操作状态标志位,在操作端的操作状态标志位被设置为“未操作”时,表示该操作端当前未对其所在操作端组对应的操作对象组中的任何一个操作对象进行远程操控;在操作端的操作状态标志位被设置为“操作中”时,表示该操作端当前正在对其所在操作端组对应的操作对象组中的一个操作对象进行远程操控;协调处理模块440可以读取操作端组中的各操作端的操作状态标志位,在判断出读取的各操作端的操作状态标志位均为“未操作”时,协调处理模块440确定该操作端组对应的操作对象组中的各操作对象均未被操作端远程操控,而在判断出读取的各操作端的操作状态标志位不均为“未操作”时,协调处理模块440确定该操作端组对应的操作对象组中存在当前正在被远程操控的操作对象。

作为示例,本实施例也可以针对所有操作端以及所有操作对象均设置操作状态标志位。另外,协调处理模块440可以向被授予远程操控权限的操作端发送各操作端和/或各操作对象的操作状态信息,使获得远程操控权限的操作端可以获知正在进行远程操控的操作端以及正在被远程操控的操作对象。

作为示例,本实施例中的操作端的操作状态标志位和/或操作对象的操作状态标志位可以在下述情况下被状态设置模块460设置为“未操作”或者“操作中”:被授权的操作端在向相应的操作对象发送一组操控指令及其执行时间时,还应向中间服务节点发送该组操控指令对应的预测状态描述信息,如被授权的操作端根据实际操控需求产生一组操控指令,并向相应的操作对象发送该组操控指令以及各操控指令的执行时间时,启动本地的预报模型针对当前发送的各操控指令分别进行状态预报,从而可以在各操控指令的执行时间之前产生各操控指令对应的预测状态描述信息,并向中间服务节点传输其产生的预测状态描述信息;在该组操控指令对应的预测状态描述信息完全被中间服务节点接收(如在接收到预测状态描述信息结束标识信息)时,状态设置模块460可以将该操作端和/或操作对象的操作状态标志位设置为“未操作”;在协调处理模块440从操控请求集合中读取出一个远程操控请求,并向发送该远程操控请求的操作端发送允许远程操控的权限信息时,状态设置模块460可以将该操作端的操作状态标志位设置为“操作中”,并根据该远程操控请求将相应操作对象的操作状态标志位设置为“操作中”。在中间服务节点接收到操作端传输来的停止远程操控请求时,协调处理模块440可以将该操作端的操作状态标志位设置为“未操作”,并根据该停止远程操控请求将相应操作对象的操作状态标志位设置为“未操作”。

实施例四、用于多操作端远程操控多操作对象的装置。

本实施例的装置通常设置于操作端处。本实施例中的所有操作对象被划分为n(n为大于1的整数)个组,且所有操作端也被划分为n个组,具体的划分方式以及划分的举例说明如上述实施例一中的描述,在此不再重复说明。

本实施例的适用于操作端的用于多操作端远程操控多操作对象的装置的结构如图5所示。

图5中,本实施例的用于多操作端远程操控多操作对象的装置包括:产生请求模块500、控制处理模块510以及构建在线状态模块520。可选的,该装置还可以包括:第二传输时延维护模块530、预报模块540以及设置操作端模块550。

产生请求模块500主要用于在操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,产生远程操控请求,并向中间服务节点发送。

作为示例,产生请求模块500产生的远程操控请求可以包括:操作端标识信息以及操作对象标识信息,以使中间服务节点可以根据接收到的远程操控请求获知远程操控方以及被远程操控方。

作为示例,在操作端属于基于单操作端单操作对象的操作端组或者属于基于单操作端多操作对象的操作端组的情况下,在该操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,可以由该操作端中的产生请求模块500产生远程操控请求,并直接向中间服务节点发送该远程操控请求。

作为示例,在操作端属于基于多操作端单操作对象的操作端组,且该操作端为操作端组中的主操作端的情况下,在该操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,可以由该操作端中的产生请求模块500产生远程操控请求,并直接向中间服务节点发送。在操作端属于基于多操作端单操作对象的操作端组,且该操作端为操作端组中的辅操作端的情况下,在该操作端需要对其所在操作端组对应的操作对象组中的操作对象进行远程操控时,可以由该操作端中的产生请求模块500产生远程操控请求,并向主操作端发送,由主操作端中的产生请求模块500向中间服务节点发送远程操控请求;即在通常情况下,远程操控请求由操作端组中的主操作端中的产生请求模块500向中间服务节点发送。当然,本实施例并不排除由辅操作端中的产生请求模块500将产生的远程操控请求直接向中间服务节点发送的可能性。

控制处理模块510主要用于在操作端获得中间服务节点对其远程操控请求的允许的情况下,产生针对该操作对象的操控指令,设置该操控指令的执行时间,并发送该操控指令以及相应的执行时间。

作为示例,在中间服务节点根据其读取出的远程操控请求而授予相应的操作端远程操控权限的情况下,通常会向发送远程操控请求的操作端返回允许远程操控的权限信息,以通知操作端其远程操控请求被允许。

在一个具体的例子中,在远程操控请求的发送方是基于单操作端单操作对象的操作端组中的操作端或者基于单操作端多操作对象的操作端组中的操作端或者基于多操作端单操作对象的操作端组中的主操作端的情况下,基于单操作端单操作对象的操作端组中的操作端或者基于单操作端多操作对象的操作端组中的操作端或者基于多操作端单操作对象的操作端组中的主操作端通常会接收到来自中间服务节点的允许远程操控的权限信息,从而控制处理模块510获知中间服务节点对其发送的远程操控请求的允许;另外,在主操作端接收到来自中间服务节点的允许远程操控的权限信息时,控制处理模块510可以通知其所在操作端组中其他各操作端。

在另一个例子中,在中间服务节点判断出发送该远程操控请求的操作端为基于多操作端单操作对象的操作端组中的操作端(如主操作端或者辅操作端),并向该操作端组中的所有操作端均发送允许远程操控的权限信息的情况下,主操作端及辅操作端在接收到来自中间服务节点的允许远程操控的权限信息时,控制处理模块510均不需要通知其所在操作端组中其他各操作端。

作为示例,无论是操作端接收到来自中间服务节点的允许远程操控的权限信息,还是接收到来自其所在操作端组中的主操作端的通知,操作端中的控制处理模块510均可以产生并发送针对相应操作对象的操控指令以及操控指令的执行时间。

作为示例,在操作端为基于单操作端单操作对象的操作端组中的操作端或者基于单操作端多操作对象的操作端组中的操作端或者基于多操作端单操作对象的操作端组中的主操作端时,该操作端中的控制处理模块510可以直接将其产生的操控指令以及执行时间向相应的操作对象发送;而在操作端为基于多操作端单操作对象的操作端组中的辅操作端的情况下,该操作端中的控制处理模块510应将其产生的针对操作对象的操控指令以及执行时间向其所在操作端组中的主操作端发送,并由主操作端中的控制处理模块510根据预定发送策略对汇聚在主操作端处的来自其所在操作端组中的各操作端的操控指令以及执行时间进行发送处理,使相应的操控指令和相应的执行时间分别由主操作端传输至相应的操作对象,也就是说,基于多操作端单操作对象的操作端组中的所有操作端中的控制处理模块510产生的针对操作对象的操控指令已经执行时间均需要经由操作端组中的主操作端中的控制处理模块510发送至相应的操作对象。

作为示例,操作端组中的主操作端中的控制处理模块510在向相应的操作对象发送操控指令和相应的执行时间时,还可以将操控指令和相应的执行时间发送给其所在操作端组中的其他各操作端。由主操作端中的控制处理模块510向操作对象发送的操控指令以及执行时间可以使操作对象根据其接收到的操控指令的执行时间执行相应的操控指令;由主操作端中的控制处理模块510向其所在操作端组中的其他操作端发送的操控指令以及执行时间可以使操作端组中的其他各操作端(如所有辅操作端以及所有观测操作端)中的预报模块540分别根据其接收到的操控指令以及执行时间同步展现操作对象的当前状态;而由主操作端中的控制处理模块510向操作对象发送的操控指令以及执行时间可以使主操作端中的预报模块540根据其发送的操控指令以及执行时间同步展现操作对象的当前状态。

具体而言,在操作端组中的主操作端处,针对由主操作端传输至相应操作对象的各操控指令,在当前时间达到相应操控指令的执行时间时,位于主操作端处的预报模块540可以触发预报模型根据该操控指令展现/报告操作对象的当前状态。在操作端组中的除主操作端之外的其他任意一个操作端(如辅操作端或观测操作端)处,针对来自主操作端的执行时间不超过当前时间的各操控指令,预报模块540可以先根据执行时间的排列顺序依次存储在指令桶中,并触发位于本操作端处的预报模型根据其存储的已经执行过的操控指令以及执行时间将操作对象的当前状态快速回溯到指令桶中的最早执行时间时的状态,然后,预报模块540触发该预报模型根据指令桶中顺序存储的操作指令以及执行时间将操作对象的状态快进到当前时间;之后,针对来自主操作端的执行时间超过当前时间的各操控指令,在当前时间达到相应操控指令的执行时间时,预报模块540触发该预报模型根据该操控指令展现操作对象的当前状态。

由于本实施例的操作端组对应的操作对象、操作端组中的主操作端、辅操作端以及观测操作端始终保持时间同步,而操作端组中的不同的操作端中的预报模块540均是触发预报模型根据操控指令的执行时间模拟展现操作对象的当前状态,因此,本实施例的装置可以使操作端组中的所有操作端所展现的该操作对象的当前状态具有同步同态性。

作为示例,本实施例中的操控指令的执行时间是控制处理模块510根据操作端与操作对象的传输时延设置的。一个具体的例子,针对基于单操作端单操作对象的操作端组中的操作端和基于单操作端多操作对象的操作端组中的操作端而言,控制处理模块510可以将操控指令的执行时间设置为操控指令由操作端发送时的时间与本操作端到相应的操作对象的单向传输时延之和。另一个具体的例子,针对基于多操作端单操作对象的操作端组中的操作端而言,控制处理模块510可以根据基于主操作端与操作对象的传输时延而设置的传输时延阈值来设置操控指令的执行时间。

具体的,对于基于多操作端单操作对象的操作端组(下述简称为操作端组)中的主操作端中的控制处理模块510产生的针对操作对象的操控指令而言,控制处理模块510设置该操控指令的执行时间的一个具体例子为:控制处理模块510预计该操控指令由主操作端向操作对象发送的时间(如在将操控指令放入主操作端处的发送队列中时,根据该发送队列中的操控指令的数量以及主操作端对发送队列中的单个操控指令的处理速度预计该操控指令由主操作端向相应操作对象发送的时间),并将该发送时间与传输时延阈值之和作为该操控指令的执行时间;另一个具体例子为:在由主操作端向相应操作对象发送一操控指令(如将操控指令从主操作端处的发送队列中读出)时,控制处理模块510将该操控指令的执行时间设置为当前时间(如将操控指令从主操作端处的发送队列中读出的时间)与传输时延阈值之和。

具体的,对于操作端组中的辅操作端中的控制处理模块510产生的针对操作对象的操控指令而言,控制处理模块510设置该操控指令的执行时间的一个具体例子为:控制处理模块510预计该操控指令由辅操作端向主操作端发送的时间(如在将操控指令放入辅操作端处的发送队列中时,根据该发送队列中的操控指令的数量以及辅操作端对发送队列中的单个操控指令的处理速度预计出该操控指令由辅操作端向主操作端发送的时间),并将该发送时间与传输时延阈值之和作为该操控指令的执行时间,控制处理模块510将该操控指令和执行时间一起发送给操作端组中的主操作端;另一个具体例子为:在由辅操作端向主操作端发送一操控指令(如将操控指令从辅操作端处的发送队列中读出)时,控制处理模块510将该操控指令的执行时间设置为当前时间(如将操控指令从辅操作端处的发送队列中读出的时间)与传输时延阈值之和,并将该操控指令和执行时间一起发送给操作端组中的主操作端。

上述描述中的传输时延阈值可以具体为:设置操作端模块550计算获得的预定系数和操作端组中的主操作端到相应操作对象的单向传输时延的乘积,一个具体的例子为:设定操作端组中的第j个操作端被设置为主操作端,第j个操作端本地存储的其与操作对象之间的传输时延为且当前设置的预定系数为Kj,则操作端组中的传输时延阈值可以为从而对于操作端组中的除了主操作端之外的任意一个操作端而言,如果该操作端与主操作端之间的传输时延小于则设置操作端模块550可以将该操作端作为辅操作端,而如果该操作端与主操作端之间的传输时延不小于则设置操作端模块550可以将该操作端作为观测操作端。本实施例中的预定系数通常大于1,且不大于上述公式(1)计算获得的数值。

作为示例,设置操作端模块550在设置预定系数的大小时,可以考虑操作端组中的期望参与共同操控的操作端数量以及操控该操作端组对应的操作对象的操作时间间隔要求(即操作紧迫性)等因素。

作为示例,设置操作端模块550可以在操作端组中的主操作端展示用于设置预定系数的界面,且该界面中包括:分别对应不同取值的预定系数的多个选项(如多个操作端数量选项以及多个操作紧急程度选项等),用户可以通过选择相应的选项(如操作端数量选项和操作紧急程度选项),从而设置操作端模块550确定出预定系数的大小。操作端组中的所有操作端中均可以存储有上述计算获得的传输时延阈值,以便于每一个操作端中的控制处理模块510均可以利用该传输时延阈值设置操控指令的执行时间。

作为示例,本实施例可以通过第二传输时延维护模块530在操作端组中的所有操作端本地分别存储本操作端到操作对象的单向传输时延,从而在操作端组中的任意一个操作端被指定为主操作端的情况下,该操作端中的控制处理模块510均可以从操作端本地存储的信息中获取到主操作端到操作对象的单向传输时延。本实施例还可以通过第二传输时延维护模块530在操作端组中的所有操作端本地分别存储本操作端与其他各操作端的传输时延,从而在操作端组中的任意一个操作端被指定为主操作端的情况下,该操作端中的控制处理模块510可以从操作端本地存储的信息中获取到主操作端与操作端组中的其他各操作端的传输时延。上述传输时延通常为单向传输时延,如本操作端与其他各操作端的传输时延为本操作端到其他各操作端的单向传输时延,在下述描述中,如无特别说明,则描述中的传输时延均指单向传输时延。

作为示例,第二传输时延维护模块530应对操作端本地存储的各传输时延进行维护,如第二传输时延维护模块530实时的维护各操作端本地存储的各传输时延。第二传输时延维护模块530对操作端本地存储的各传输时延进行维护的一个具体的例子可以参见上述实施例中针对公式(2)的描述,在此不再重复说明。

作为示例,设置操作端模块550可以利用主操作端到操作端组中的其他各操作端的传输时延将其他各操作端划分为辅操作端和观测操作端。也就是说,操作端组中的所有操作端中除了主操作端之外的其他所有操作端可以包括:辅操作端和/或观测操作端;其中的辅操作端是可以参与对操作对象进行远程操控的操作端,而其中的观测操作端是可以观测到操作对象被远程操控且不能够参与对操作对象的远程操控的操作端。本实施例中的将其他各操作端分别设置为辅操作端或者观测操作端的操作可以在主操作端处执行。操作端组中的所有操作端可以被划分为一个主操作端和至少一个辅操作端,也可以被划分为一个主操作端、至少一个辅操作端以及至少一个观测操作端。当然,本实施例也不排除所有操作端被划分为一个主操作端及至少一个观测操作端的情况。在设置操作端组中的主操作端时,可以考虑主操作方(如专家)所在的位置以及操作端组中的各操作端的设备性能等因素,当然,本实施例也可以通过随机指定等方式来设置操作端组中的主操作端;而在设置辅操作端以及观测操作端时,本实施例通常是通过考虑各操作端分别与主操作端之间的单向传输时延等因素来确定是将一个操作端作为辅操作端还是作为观测操作端,如本实施例设置操作端组中的辅操作端以及观测操作端的一个具体例子为:在操作端组中的主操作端本地存储的当前其与其他各操作端的传输时延向量中,如果主操作端到某个操作端的传输时延小于预先设置的传输时延阈值时,则可以将该操作端设置为辅操作端,而如果主操作端到某个操作端的传输时延不小于预先设置的传输时延阈值时,则可以将该操作端设置为观测操作端。本实施例通过设置观测操作端可以屏蔽具有较大传输时延的操作端对操作对象的远程操控所带来的不良影响。

作为示例,为了保证对操作对象远程操控的安全性,主操作端中的控制处理模块510可以先对辅操作端中的控制处理模块510产生并传输至主操作端处的操控指令进行操控指令安全性检测,然后,再根据预定发送策略对主操作端产生的操控指令以及来自辅操作端的且通过安全性检测的操控指令进行发送处理。也就是说,主操作端中的控制处理模块510可以对来自辅操作端的操控指令进行过滤,以滤除未通过安全性检测的操控指令,从而避免一些操控指令对操作对象产生不良影响。控制处理模块510可以采用现有的操控指令安全性检测技术来对辅操作端产生并传输至主操作端处的操控指令进行操控指令安全性检测,本实施例不限制控制处理模块510执行的操控指令安全性检测的具体实现过程。

作为示例,本实施例中的预定发送策略可以是一种能够解决操作端组中的不同操作端的操控指令之间相互干扰的解决机制。一个具体的例子,本实施例中的汇聚在操作端组中的主操作端处的来自各操作端的各操控指令(即需要由主操作端向操作对象发送的各操控指令)的执行时间有可能相同,如在多个用户分别通过主操作端和多个辅操作端同时对操作对象进行远程操控的情况下,辅操作端中的控制处理模块510产生并传输至主操作端的操控指令与主操作端自身产生的操控指令有可能具有相同的执行时间,且不同辅操作端中的控制处理模块510产生并传输至主操作端的操控指令也可能具有相同的执行时间,针对该情况,本实施例中的预定发送策略可以包括:对具有相同执行时间的不同操控指令进行加权平均处理,即主操作端中的控制处理模块510可以针对汇聚在主操作端处的具有相同执行时间的各操控指令进行加权平均处理,从而使具有相同执行时间的各操控指令转化为一条操控指令,这样,主操作端中的控制处理模块510可以将加权平均处理后获得的操控指令以及该操控指令的执行时间(即具有相同执行时间的各条操控指令的执行时间)分别传输至操作对象以及其他各操作端(如所有辅操作端以及所有观测操作端)。主操作端中的控制处理模块510可以采用现有的加权平均处理方式对具有相同执行时间的各操控指令进行加权平均处理,本实施例不限制对具有相同执行时间的各操控指令进行加权平均处理的具体实现方式。另外,在汇聚在主操作端处的各操控指令存在其他相互干扰时,本实施例可以通过设置相应的策略来避免干扰。本实施例不限制预定发送策略的具体表现形式。

作为示例,主操作端中的控制处理模块510根据预定发送策略对汇聚在主操作端处的来自各操作端的操控指令进行发送处理的一个具体例子为:在主操作端接收到辅操作端传输来的操控指令的情况下,如果与该操控指令具有相同执行时间的操控指令已经由主操作端向操作对象发送出去,则控制处理模块510可以丢弃该操控指令,而如果与该操控指令具有相同执行时间的操控指令还未由主操作端发送给操作对象,则控制处理模块510将与该操控指令具有相同执行时间的所有操控指令进行加权平均处理,并将加权平均处理后获得的操控指令以及该操控指令的执行时间分别传输至操作对象和其他各操作端。

作为示例,主操作端中的控制处理模块510根据预定发送策略对汇聚在主操作端处的来自各操作端的操控指令进行发送处理的另一个具体例子:设定由主操作端向操作对象前后连续发送的操控指令的执行时间应满足预定时间间隔要求,在主操作端接收到辅操作端传输来的操控指令的情况下,如果该操控指令的执行时间大于当前需要向操作对象发送的操控指令的执行时间,并小于当前需要向操作对象发送的操控指令的执行时间与预定时间间隔之和,则控制处理模块510可以丢弃该操控指令。

作为示例,主操作端中的控制处理模块510根据预定发送策略对汇聚在主操作端处的来自各操作端的操控指令进行发送处理的再一个具体例子:设定由主操作端向操作对象前后连续发送的操控指令的执行时间应满足预定时间间隔要求,在主操作端接收到辅操作端传输来的操控指令的情况下,如果该操控指令的执行时间大于当前需要向操作对象发送的操控指令的执行时间,并小于当前需要向操作对象发送的操控指令的执行时间与预定时间间隔之和,则控制处理模块510可以将该来自辅操作端的操控指令变换为当前需要向操作对象发送的操控指令的执行时间所对应的操控指令(如根据原操控指令的执行时间与当前需要向操控对象发送的操控指令的执行时间的时间差值改变原操控指令中的参数的数值,并使改变后的操控指令的执行时间设置为当前需要向操作对象发送的操控指令的执行时间),然后,控制处理模块510将与变换后的操控指令具有相同执行时间的所有操控指令进行加权平均处理,并将加权平均处理后获得的操控指令以及该操控指令的执行时间分别传输至操作对象和其他各操作端。

构建在线状态模块520主要用于在操作端接收到来自中间服务节点的各操作对象的状态描述信息时,根据状态描述信息构建各操作对象的在线状态。

作为示例,操作端接收到的操作对象的状态描述信息可以包括预测状态描述信息,也可以包括实测状态描述信息。操作端接收到的一个操作对象的预测状态描述信息和实测状态描述信息一方面可以使该操作端中的构建在线状态模块520构建相应操作对象的在线状态,如构建在线状态模块520根据具有当前时间的状态描述信息展现相应操作对象的在线状态,另一方面可以使操作端中的构建在线状态模块520根据预测状态描述信息为本操作端所在操作端组所对应的操作对象组中的操作对象设置隔离区域,即操作端中的构建在线状态模块520可以根据时间晚于当前时间的预测状态描述信息提前获知其所在操作端组之外的其他各操作端组对应的各操作对象组中的操作对象的未来运动区域,并根据操作对象的未来运动区域来设置其所在操作端组对应的操作对象的隔离区域,以保证本操作端中的控制处理模块510对操作对象的远程遥控的安全性。

作为示例,针对操作对象中的正在被其他操作端组中的操作端远程操控的各操作对象,操作端接收到的来自中间服务节点的状态描述信息通常为正在被其他操作端组中的操作端远程操控的操作对象的预测状态描述信息,然而,本实施例也不排除操作端接收到的状态描述信息为正在被其他操作端组中的操作端远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性。而针对操作对象中的当前未被远程操控的各操作对象,操作端接收到的来自中间服务节点的状态描述信息通常为该当前未被远程操控的操作对象的实测状态描述信息,然而,本实施例也不排除操作端接收到的状态描述信息为当前未被远程操控的操作对象的预测状态描述信息和实测状态描述信息的可能性。针对操作对象中的正在被操作端所在操作端组中的操作端远程操控的操作对象,操作端接收到的来自中间服务节点的状态描述信息通常为该操作对象的实测状态描述信息;且在该操作端接收到该操作对象的实测状态描述信息时,构建在线状态模块520可以利用该实测状态描述信息替换其本地存储的该操作对象的具有相同时间的预测状态描述信息,在操作端中的构建在线状态模块520具有修正能力时,构建在线状态模块520可以在实测状态描述信息与其替换的预测状态描述信息不相符时,根据实测状态描述信息的时间触发位于本操作端处的预报模型根据其存储的已经执行过的操控指令以及执行时间将操作对象的当前状态快速回溯到指令桶中的该时间时的状态,然后,构建在线状态模块520触发该预报模型根据指令桶中顺序存储的操作指令以及执行时间将操作对象的状态快进到当前时间,以对操作对象的在线状态进行修正。

作为示例,构建在线状态模块520在操作端接收到来自中间服务节点的各操作对象的操作状态信息(如操作状态标志位)时,可以展示各操作对象当前处于“未操作”状态,还是处于“操作中”状态。构建在线状态模块520在操作端接收到来自中间服务节点的各操作端的操作状态信息时,可以展示各操作端当前处于“未操作”状态,还是处于“操作中”状态。

以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而上述描述并非用以限定本发明,任何熟悉本专业的技术人员在不脱离本发明的技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但是凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1