发明内容
本申请实施例的一个目的在于进一步提高云端对机器人实体的行为控制,以使机器人实体提供更好的服务。
第一个方面,本申请实施例提供了一种机器人控制方法,包括:
在预先运行有与机器人本地相同的操作***的云端虚拟机上运行与所述机器人本地相同的应用程序;所述应用程序的文件***数据为预先由机器人本地同步得到;
将所述应用程序的运行结果反向同步至机器人本地。
第二个方面,本申请实施例提供了一种机器人控制装置,包括:
程序运行模块,用于在预先运行有与机器人本地相同的操作***的云端虚拟机上运行与所述机器人本地相同的应用程序;所述应用程序的文件***数据为预先由机器人本地同步得到;
反向同步模块,用于将所述应用程序的运行结果反向同步至机器人本地。
第三个方面,本申请实施例提供了一种电子设备,包括:存储器、一个或多个处理器、以及一个或多个模块;
所述一个或多个模块被存储于所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行如上所述的一种机器人控制方法中各个步骤的指令。
第四个方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括内嵌于计算机可读的存储介质中的计算机程序,所述计算机程序包括使所述电子设备执行如上所述一种机器人控制方法中各个步骤的指令。
有益效果如下:
本申请实施例所提供的机器人控制方案,预先将机器人本地的应用程序同步至云端,然后通过在云端的运行有与机器人本地相同操作***的云端虚拟机上运行与所述机器人本地相同的应用程序,并将应用程序的运行结果反向同步给机器人本地,从而实现了云端远程操作终端应用程序,进一步提高了对机器人的行为控制能力。
第五个方面,本申请实施例提供了一种机器人服务提供方法,包括:
对本地操作***中的应用程序创建文件***快照,并同步该应用程序的文件***数据至云端机器人;
接收云端机器人反向同步的所述应用程序的运行结果。
第六个方面,本申请实施例提供了一种机器人服务提供装置,包括:
同步模块,用于对本地操作***中的应用程序创建文件***快照,并同步该应用程序的文件***数据至云端机器人;
本地第一接收模块,用于接收云端机器人反向同步的所述应用程序的运行结果。
第七个方面,本申请实施例提供了一种电子设备,其特征在于,包括:存储器、一个或多个处理器、以及一个或多个模块;
所述一个或多个模块被存储于所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行如上所述的一种机器人服务提供方法中各个步骤的指令。
第八个方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括内嵌于计算机可读的存储介质中的计算机程序,所述计算机程序包括使所述电子设备执行如上所述一种机器人服务提供方法中各个步骤的指令。
有益效果如下:
本申请实施例所提供的机器人服务提供方案,由于本申请的机器人本地可以对本地操作***中的应用程序创建文件***快照,并同步该应用程序的文件***数据至云端机器人,通过云端机器人对应用程序进行处理、运行等操作,只需要接收云端机器人反向同步的应用程序运行结果即可,从而实现了云端远程操作终端应用程序,进一步提高了对机器人的行为控制能力、使得机器人本地可以更好的为用户提供服务。
具体实施方式
为了使本申请的技术方案及优点更加清楚明白,以下结合附图对本申请的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本申请的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
针对现有技术的不足,本申请实施例提出了一种机器人控制和服务提供方法、装置及电子设备,下面进行说明。
实施例一、
图1示出了本申请实施例一中机器人控制方法实施的流程示意图,如图所示,所述机器人控制方法可以包括如下步骤:
步骤101、在预先运行有与机器人本地相同的操作***的云端虚拟机上运行与所述机器人本地相同的应用程序;所述应用程序的文件***数据为预先由机器人本地同步得到;
步骤102、将所述应用程序的运行结果反向同步至机器人本地。
本申请实施例从云端机器人的角度进行的说明,云端机器人可以预先建立一个或多个与机器人本地操作***相同的云端虚拟机,并与机器人本地完成应用程序的同步,从而可以实现在云端的所述虚拟机上运行与所述机器人本地相同的应用程序,运行结束后将运行结果反向同步给机器人本地,从而达到从云端来操作控制终端上的应用程序的目的,使得云端可以更好的控制机器人本地的行为,进而为用户提供更好的服务。
具体实施时,云端机器人的云端虚拟机可以与机器人本地采用相同的操作***内核,例如:Linux Kernel,云端机器人的云端虚拟机可以与机器人本地采用相同的操作***,例如:Android***等。应用程序可以为现有技术中的各种应用程序,本申请在此不做一一举例。
实施中,在所述在预先运行有与机器人本地相同的操作***的云端虚拟机上运行与所述机器人本地相同的应用程序之前,所述方法可以进一步包括:
接收机器人本地同步的应用程序的文件***数据;所述机器人本地同步的应用程序的文件***数据为所述机器人本地对本地操作***中的所述应用程序创建文件***快照得到;
启动云端虚拟机,在所述云端虚拟机上运行与所述机器人本地相同的操作***并加载所述文件***数据。
具体实施时,在云端机器人运行与机器人本地相同的应用程序之前,云端可以先接收机器人本地同步的应用程序的文件***数据,然后启动云端虚拟机,在所述云端虚拟机上运行与所述机器人本地相同的操作***并加载所述应用程序的文件***数据。
其中,所述云端机器人接收到的机器人本地同步的应用程序的文件***数据,可以是机器人本地对本地操作***中的应用程序创建文件***快照得到的。本申请实施例中机器人本地可以支持文件***快照,在任意时刻均可以对文件***创建快照,并把文件***的快照或应用程序的数据上传到云端服务器上。
实施中,在所述接收机器人本地同步的应用程序的文件***数据之前,所述方法可以进一步包括:
向机器人本地发送应用程序同步指令。
具体实施时,云端机器人在接收机器人本地同步的应用程序的文件***数据之前,还可以先向机器人本地发送应用程序同步指令,机器人本地在收到所述应用程序同步指令之后,根据所述应用程序同步指令将应用程序的数据同步至云端服务器。
本申请实施例中机器人本地可以自行确定向云端同步应用程序的数据,也可以在接收到云端发送的应用程序同步指令、根据指令向云端同步应用程序的数据。
本申请实施例所提供的机器人控制方案,预先将机器人本地的应用程序同步至云端,然后通过在云端的运行有与机器人本地相同操作***的云端虚拟机上运行与所述机器人本地相同的应用程序,并将应用程序的运行结果反向同步给机器人本地,从而实现了云端远程操作终端应用程序,进一步提高了对机器人的行为控制能力。
实施例二、
图2示出了本申请实施例二中机器人服务提供方法实施的流程示意图,如图所示,所述机器人服务提供方法可以包括如下步骤:
步骤201、对本地操作***中的应用程序创建文件***快照,并同步该应用程序的文件***数据至云端机器人;
步骤202、接收云端机器人反向同步的所述应用程序的运行结果。
本申请实施例是从机器人本地侧进行的说明,机器人本地可以对本地操作***中的应用程序创建文件***快照,然后将该应用程序的文件***数据同步至云端服务器或云端机器人;待云端机器人处理完毕后,机器人本地只需要接收云端机器人反向同步的该应用程序的运行结果即可,采用本申请实施例所提供的方案,云端可以远程控制机器人本地的应用程序,从而使得机器人本地可以更好的为用户提供服务。
实施中,在所述对本地操作***中的应用程序创建文件***快照之前,所述方法可以进一步包括:
接收云端机器人发送的应用程序同步指令。
具体实施时,机器人本地在对本地操作***的应用程序创建文件***快照之前,可以先接收云端机器人发送的应用程序同步指令,根据所述应用程序同步指令对本地的应用程序创建快照并同步文件***数据到云端机器人。
具体实施时,机器人本地也可以根据自行需要主动发起同步,或者根据用户所提的需求主动发起同步。
实施中,在所述接收云端机器人发送的应用程序同步指令之后、对本地操作***中的应用程序创建文件***快照之前,所述方法可以进一步包括:
对所述应用程序进行锁定。
具体实施时,机器人本地在所述接收云端机器人发送的应用程序同步指令之后、对本地操作***中的应用程序创建文件***快照之前,可以将所要同步的应用程序进行锁定,以避免在同步过程中或云端机器人运行应用程序的过程中本地应用程序的文件***数据发生变化,导致运行结果出现错误等。
实施中,在所述接收云端机器人反向同步的所述应用程序的运行结果之后,所述方法可以进一步包括:
对所述应用程序进行解锁。
具体实施时,在云端机器人运行完所述应用程序、机器人本地接收到云端器人反向同步的所述应用程序的运行结果之后,机器人本地可以将本地的所述应用程序进行解锁,以便机器人本地或者用户可以正常使用或运行本地的所述应用程序。
实施中,在所述接收云端机器人反向同步的所述应用程序的运行结果之后,所述方法可以进一步包括:
显示所述运行结果。
具体实施时,机器人本地在接收到云端机器人反向同步的所述应用程序的运行结果之后,可以将所述运行结果显示在机器人本地的显示屏上,以便为用户提供服务。
具体实施时,机器人本地在接收到云端机器人反向同步的所述应用程序的运行结果之后,还可以将所述运行结果通过语音输出等方式来告知用户,也可以根据所述运行结果自动执行相应的动作等。
本申请实施例所提供的机器人服务提供方案,由于本申请的机器人本地可以对本地操作***中的应用程序创建文件***快照,并同步该应用程序的文件***数据至云端机器人,通过云端机器人对应用程序进行处理、运行等操作,只需要接收云端机器人反向同步的应用程序运行结果即可,从而实现了云端远程操作终端应用程序,进一步提高了对机器人的行为控制能力、使得机器人本地可以更好的为用户提供服务。
实施例三、
基于同一发明构思,本申请实施例中还提供了一种机器人控制装置,由于这些设备解决问题的原理与一种机器人控制方法相似,因此这些设备的实施可以参见方法的实施,重复之处不再赘述。
图3-1示出了本申请实施例三中机器人控制装置的结构示意图一,如图所示,所述机器人控制装置可以包括:
程序运行模块301,用于在预先运行有与机器人本地相同的操作***的云端虚拟机上运行与所述机器人本地相同的应用程序;所述应用程序的文件***数据为预先由机器人本地同步得到;
反向同步模块302,用于将所述应用程序的运行结果反向同步至机器人本地。
图3-2示出了本申请实施例三中机器人控制装置的结构示意图二,如图所示,实施中,所述装置可以进一步包括:
云端接收模块303,用于在所述在预先运行有与机器人本地相同的操作***的云端虚拟机上运行与所述机器人本地相同的应用程序之前,接收机器人本地同步的应用程序的文件***数据;所述机器人本地同步的应用程序的文件***数据为所述机器人本地对本地操作***中的所述应用程序创建文件***快照得到;
***运行模块304,用于启动云端虚拟机,在所述云端虚拟机上运行与所述机器人本地相同的操作***并加载所述文件***数据。
图3-3示出了本申请实施例三中机器人控制装置的结构示意图三,如图所示,实施中,所述装置可以进一步包括:
云端发送模块305,用于在所述接收机器人本地同步的应用程序的文件***数据之前,向机器人本地发送应用程序同步指令。
实施例四、
图4-1示出了本申请实施例四中机器人服务提供装置的结构示意图一,如图所示,所述机器人服务提供装置可以包括:
同步模块401,用于对本地操作***中的应用程序创建文件***快照,并同步该应用程序的文件***数据至云端机器人;
本地第一接收模块402,用于接收云端机器人反向同步的所述应用程序的运行结果。
图4-2示出了本申请实施例四中机器人服务提供装置的结构示意图二,如图所示,实施中,所述装置可以进一步包括:
本地第二接收模块403,用于在所述对本地操作***中的应用程序创建文件***快照之前,接收云端机器人发送的应用程序同步指令。
图4-3示出了本申请实施例四中机器人服务提供装置的结构示意图三,如图所示,实施中,所述装置可以进一步包括:
锁定模块404,用于在所述接收云端机器人发送的应用程序同步指令之后、对本地操作***中的应用程序创建文件***快照之前,对所述应用程序进行锁定。
图4-4示出了本申请实施例四中机器人服务提供装置的结构示意图四,如图所示,实施中,所述装置可以进一步包括:
解锁模块405,用于在所述接收云端机器人反向同步的所述应用程序的运行结果之后,对所述应用程序进行解锁。
图4-5示出了本申请实施例四中机器人服务提供装置的结构示意图五,如图所示,实施中,所述装置可以进一步包括:
显示模块406,用于在所述接收云端机器人反向同步的所述应用程序的运行结果之后,显示所述运行结果。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
实施例五、
基于同一发明构思,本申请实施例还提供了一种电子设备,下面进行说明。
图5示出了本申请实施例五中电子设备的结构示意图,如图所示,所述电子设备可以包括:存储器501、一个或多个处理器502、以及一个或多个模块;
所述一个或多个模块被存储于所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述一种机器人控制方法中各个步骤的指令。
具体实施时,所述电子设备可以为手机、pad、平板电脑、个人计算机PC、智能机器人等产品。
实施例六、
图6示出了本申请实施例六中电子设备的结构示意图,如图所示,所述电子设备可以包括:存储器601、一个或多个处理器602、以及一个或多个模块;
所述一个或多个模块被存储于所述存储器中,并被配置成由所述一个或多个处理器执行,所述一个或多个模块包括用于执行上述一种机器人服务提供方法中各个步骤的指令。
实施例七、
基于同一发明构思,本申请实施例还提供了一种与电子设备结合使用的计算机程序产品,下面进行说明。
本申请实施例所提供的一种计算机程序产品,包括内嵌于计算机可读的存储介质中的计算机程序,所述计算机程序包括用于使所述电子设备执行上述机器人控制方法中的各个步骤的指令。
实施例八、
基于同一发明构思,本申请实施例还提供了另一种与电子设备结合使用的计算机程序产品,下面进行说明。
本申请实施例所提供的另一种计算机程序产品,包括内嵌于计算机可读的存储介质中的计算机程序,所述计算机程序包括用于使所述电子设备执行上述机器人服务提供方法中的各个步骤的指令。
为了便于本申请的实施,下面以实例进行说明。
实施例九、
图7示出了本申请实施例九中机器人***的结构示意图,如图所示,所述机器人***可以包括机器人本地(Terminal Controller或称控制终端)和云端机器人(CloudVirtual Device或云端虚拟设备),其中,
所述控制终端运行Linux操作***(Linux Kernel)以及支持快照的文件***(File system with snapshot),所述控制终端的用户空间由Android***(AndroidSystem)、应用程序(User APP)以及一个应用程序同步服务器(APP Sync server withlock&unlock)组成。
相应于控制终端的软件架构,云端方面采用相同的软件架构,同样采用LinuxKernel,把与控制终端相对应的软件***运行在云端虚拟机(Virtual Machine)上,一个云端服务器可以运行一个或多个云端虚拟机,云端虚拟机可以运行与控制终端相同版本的Linux Kernel,直接加载由控制终端同步上来的文件***(FS with snapshot),并在该文件***上启动运行Android***(Android system)。
从云端运行终端应用程序的操作流程可以为:
1)由云端发起运行终端应用程序的初始化;
2)终端应用程序同步服务器收到命令后,对要运行的应用程序进行锁定(APPLock);即,在锁定期间,终端无法运行该应用程序;
3)终端应用程序同步服务器创建文件***快照,并同步该应用程序的文件***数据(Data Sync)到云端服务器;
4)云端服务器启动云端虚拟机,加载文件***数据、运行Android操作***;
5)工作人员可以根据需求在云端相应的Android***上运行终端应用程序;
所述需求可以是云端自定义的需求,也可以是机器人本地上传给云端的需求,而机器人本地上传给云端的需求可以是用户发出的指令。
6)任务完成后,云端Android***可以对文件***进行反向同步到终端(APP dataSync back);
7)终端应用程序同步服务器解锁终端应用程序(APP unlock),此时终端上可以显示运行结果等信息。
实施例十、
假设在银行的大厅服务的机器人预先安装有银行的理财软件(简称理财APP),所述银行的后台工作人员通过后台服务器向所述机器人发起应用程序初始化,所述机器人在收到命令后将所述理财APP锁定,在机器人终端侧则无法运行该理财APP,以防止来银行办理业务的用户误操作。
所述机器人创建文件***快照并同步所述理财APP的文件***数据至后台服务器,后台服务器启动云端虚拟机加载文件***数据、运行与所述机器人相同的操作***,银行的工作人员可以根据需求在后台服务器的云端虚拟机上运行该理财APP,完成该理财APP的基本设置以及理财产品选项后将文件***数据反向同步给机器人本体。
当来银行办理业务的用户需要所述机器人提供满足该用户个人需求的一些理财产品时,所述机器人可以将该用户的需求发送给后台服务器,发送需求的同时可以将理财APP的文件***数据同步至后台服务器,银行的工作人员根据所述需求运行后台服务器的云端虚拟机上的理财APP,确定符合用户需求的理财产品并将结果反向同步给机器人,机器人将后台服务器反向同步的运行结果(即满足用户需求的理财产品)显示在显示屏上供用户查阅、或者以语音等方式来告知用户。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。