CN114979029A - 一种虚拟机器人的控制方法、装置、设备及存储介质 - Google Patents
一种虚拟机器人的控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114979029A CN114979029A CN202210529988.5A CN202210529988A CN114979029A CN 114979029 A CN114979029 A CN 114979029A CN 202210529988 A CN202210529988 A CN 202210529988A CN 114979029 A CN114979029 A CN 114979029A
- Authority
- CN
- China
- Prior art keywords
- virtual robot
- view
- user
- service
- virtual
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 230000009471 action Effects 0.000 claims abstract description 61
- 238000004088 simulation Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 24
- 230000001960 triggered effect Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 7
- 238000001914 filtration Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 2
- 230000003044 adaptive effect Effects 0.000 claims 1
- 238000011161 development Methods 0.000 abstract description 6
- 238000012423 maintenance Methods 0.000 abstract description 6
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 230000001276 controlling effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种虚拟机器人的控制方法、装置、设备及存储介质,该方法包括:启动多个使用有限状态自动机构建的虚拟机器人,虚拟机器人用于多次循环模拟用户操作应用程序,在每次循环中,确定虚拟机器人在应用程序中所处的视图,作为状态,在每次循环中,模拟用户在视图中选定服务,作为事件,在每次循环中,驱动虚拟机器人在视图中执行用于触发服务的用户操作,作为动作。本实施例实现高耦合、低内聚,大大降低了开发及维护时的工作量,从而大大降低了成本,而且方便拓展虚拟机器人的行为,丰富虚拟机器人的行为,从而高自由度地模拟用户操作,提高虚拟机器人仿真用户的真实性。
Description
技术领域
本申请涉及计算机处理的技术领域,尤其涉及一种虚拟机器人的控制方法、装置、设备及存储介质。
背景技术
在游戏对战、压力测试等业务场景中通常使用虚拟机器人仿真用户的行为,为此,目前通常要求技术人员针对特定的业务场景开发一套虚拟机器人的代码,并对这个虚拟机器人的代码进行维护,对其行为进行拓展。
例如,针对直播的压力测试,可构建某个房间维度的虚拟机器人,该虚拟机器人定时触发任务,直播停止时清除该虚拟机器人。
这种虚拟机器人适用的业务场景单一,无论是开发还是维护均会涉及虚拟机器人的整套代码,均产生较大的工作量,导致成本较高。
发明内容
本申请提供了一种虚拟机器人的控制方法、装置、设备及存储介质,以解决开发、维护虚拟机器人的成本较高的问题。
根据本申请的一方面,提供了一种虚拟机器人的控制方法,其特征在于,包括:
启动多个使用有限状态自动机构建的虚拟机器人,所述虚拟机器人用于多次循环模拟用户操作应用程序,所述有限状态自动机包括多个状态、在所述状态下发生的多个事件、由所述事件触发的动作;
在每次所述循环中,确定所述虚拟机器人在所述应用程序中所处的视图,作为所述状态;
在每次所述循环中,模拟所述用户在所述视图中选定服务,作为所述事件;
在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作。
根据本申请的另一方面,提供了一种虚拟机器人的控制装置,其特征在于,包括:
虚拟机器人启动模块,用于启动多个使用有限状态自动机构建的虚拟机器人,所述虚拟机器人用于多次循环模拟用户操作应用程序,所述有限状态自动机包括多个状态、在所述状态下发生的多个事件、由所述事件触发的动作;
状态确定模块,用于在每次所述循环中,确定所述虚拟机器人在所述应用程序中所处的视图,作为所述状态;
事件选定模块,用于在每次所述循环中,模拟所述用户在所述视图中选定服务,作为所述事件;
动作执行模块,用于在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作。
根据本申请的另一方面,提供了一种虚拟机器人的控制设备,所述虚拟机器人的控制设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的虚拟机器人的控制方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现本申请任一实施例所述的虚拟机器人的控制方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本申请任一实施例所述的虚拟机器人的控制方法。
在本实施例中,启动多个使用有限状态自动机构建的虚拟机器人,虚拟机器人用于多次循环模拟用户操作应用程序,在每次循环中,确定虚拟机器人在应用程序中所处的视图,作为有限状态自动机中的状态,在每次循环中,模拟用户为虚拟机器人在视图中选定服务,作为有限状态自动机中在状态下发生的事件,在每次循环中,驱动虚拟机器人在视图中执行用于触发服务的用户操作,作为有限状态自动机中由事件触发的动作。
本实施例使用有限状态自动机构建虚拟机器人,提供了虚拟机器人在有限状态自动机的规范下运行的框架,方便集成到不同业务场景的模块中,并编写业务场景的逻辑,通用性强,扩展性强。
利用有限状态自动机设计的虚拟机器人的框架具有高维护性,业务人员不用关心有限状态自动机的底层框架,开发及维护时关心上层的状态以及动作,不仅使得业务代码可以按照状态来拆分,即,业务代码之间基本全部解耦,实现高耦合、低内聚,大大降低了开发及维护时的工作量,从而大大降低了成本,而且方便拓展虚拟机器人的行为,丰富虚拟机器人的行为,从而高自由度地模拟用户操作,提高虚拟机器人仿真用户的真实性。
虚拟机器人所保存的信息量少,对存储的压力很小,并且,虚拟机器人模拟真实的用户,动作并不频繁,主要在触发具体的动作时占用处理器等资源,扩容性强,在重启或容灾时,水平扩容即可。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本申请实施例一提供的一种虚拟机器人的控制方法的流程图;
图2是根据本申请实施例一提供的一种虚拟机器人运行示意图;
图3是根据本申请实施例一提供的一种视图的示例图;
图4是根据本申请实施例一提供的一种用户操作的示例图;
图5是根据本申请实施例二提供的一种虚拟机器人的控制方法的流程图;
图6是根据本申请实施例三提供的一种虚拟机器人的控制装置的结构示意图;
图7是实现本申请实施例的虚拟机器人的控制方法的虚拟机器人的控制设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本申请实施例一提供的一种虚拟机器人的控制方法的流程图,本实施例可适用于基于有限状态自动机构建仿真虚拟机器人的情况,该方法可以由虚拟机器人的控制装置来执行,该虚拟机器人的控制装置可以采用硬件和/或软件的形式实现,该虚拟机器人的控制装置可配置于虚拟机器人的控制设备中。如图1所示,该方法包括:
步骤101、启动多个使用有限状态自动机构建的虚拟机器人。
在本实施例中,可以应用有限状态自动机(finite state machine,FSM)构建虚拟机器人,这些虚拟机器人属于计算机程序,可用于多次循环模拟用户去操作应用程序。
其中,有限状态自动机又称状态机,是现实事物运行规则抽象而成的一个数学模型。
在部分情况中,有限状态自动机包括如下概念:
1、多个状态(State),可以指事物表现出来的形态,被描述的事物的状态数量是有限个,一般情况下,一个状态机至少要包含两个状态。
2、在状态下发生的多个事件(Event),可以指执行某个操作的触发条件或者口令。
3、由事件触发的动作(Action),可以指事件发生以后执行的操作,在编程的时候,一个动作一般就对应一个函数。
虚拟机器人模拟用户去操作应用程序,就是对用户仿真,参照用户的行为习惯对应用程序进行操作。
本实施例提供虚拟机器人运行的框架,该框架可适配不同的业务场景,例如,在游戏(应用程序)的练习模式中使用虚拟机器人模拟不同的用户与真实的用户进行对战,实现不同等级等级(如简单、中等、困难等)的对战联系,在压力测试中使用虚拟机器人模拟用户高频地对应用程序进行操作,测试应用程序可能存在的漏洞Bug,在直播间(应用程序)中模拟观众用户观看直播、与主播用户互动,以仿真真实的观看环境,监控服务端与客户端的各种性能,为功能优化提供参考,等等。
在不同的业务场景中,可在该框架下添加与该业务场景适配的应用程序,例如,即时通讯工具、短视频应用、直播应用、新闻应用、游戏,等等。
在不同的业务场景中,可在该框架下添加与该业务场景适配的用户信息,以对用户仿真,例如,用户ID、用户的昵称、用户的头像、用户的等级、用户所处的地区,等等。
这些用户信息可以在启动虚拟机器人时通过随机、带约束条件(如用户的年龄不允许低于某个数值)等方式配置,也可以在虚拟机器人在运行过程中,满足某些条件(如进入直播间等)的情况下通过随机、带约束条件等方式更换,等等,即,每个虚拟机器人既可以模拟一个用户的操作,也可以模拟多个用户的操作,本实施例对此不加以限制。
不同的应用程序具有不同的功能,相应地,虚拟机器人模拟用户的操作也有所不同,这些操作一般是与业务场景的需求相关,并不一定是应用程序可支持的所有操作,而是应用程序可支持的部分操作,例如,针对直播应用,其需求为为优化直播间的功能提供参考,那么,虚拟机器人模拟用户的操作可以包括进入主页、进入直播间、在直播间发弹幕信息、在直播间点赞、在直播间向主播用户赠送虚拟物品,虚拟机器人并不模拟用户的操作可以包括分享直播间、搜索关键词,等等。
如图2所示,在业务场景中,可以部署多个相互独立的虚拟机器人,如虚拟机器人1、虚拟机器人2,……,虚拟机器人n,形成虚拟机器人集群,所谓相互独立,可以指使用独立的虚拟机、独立的线程等方式实现虚拟机器人,虚拟机器人之间并不存在关联性,其运行、仿真均是独立的,相互之间并不影响。
示例性地,在每个虚拟机器人的实例中对虚拟机器人进行哈希分片,即,每个虚拟机器人的实例处理部分虚拟机器人的动作,提高虚拟机器人的扩容性。
进一步而言,这些虚拟机器人的运行策略(如每个虚拟机器人运行的时间、某个时间段内虚拟机器人运行的数量等)可以预先针对业务场景配置,从而按照该运行策略启动相应的虚拟机器人,例如,在傍晚时间使用更多的虚拟机器人模拟数量更多的用户进入直播间,在凌晨时间使用更少的虚拟机器人模拟数量更少的用户进入直播间,等等。
此外,在容灾、故障重启等情况下,也会重新启动虚拟机器人,恢复原有的业务场景。
针对每个虚拟机器人,可设置任务队列,该任务队列用于存储任务,按照业务场景的业务需求设置分发任务的策略(如分发的时间周期等),按照该策略将任务分发至虚拟机器人,虚拟机器人执行任务,模拟用户去操作应用程序,虚拟机器人模拟一次用户的操作会遍历一遍有限状态自动机,这个过程可称之为一次tick循环,从用户的角度看,真实的用户一般会在应用程序执行多种操作,从应用程序的角度看,在同一时刻,用户之间共同访问的空间(如直播间、游戏中的场景等)会存在多个用户的操作,那么,为仿真这些情景,虚拟机器人会多次tick循环模拟同一用户或不同的用户去操作应用程序。
步骤102、在每次循环中,确定虚拟机器人在应用程序中所处的视图,作为状态。
如图2所示,有限状态自动机可提供多个状态State,如状态0-状态6,在每一次tick循环中,可以识别虚拟机器人在应用程序中当前所处的视图View,按照有限状态自动机的机制,该视图View为有限状态自动机中的状态State。
进一步而言,虚拟机器人并不一定会加载应用程序的UI(User Interface,用户界面),而是预先针对每个视图View设置标志位,使用标志位表示在应用程序中当前所处的视图View,从而避免加载UI的操作,降低虚拟机器人的功耗。
其中,视图View是Android(安卓)等操作系统中空间的基类,不管是简单的TextView(文本视图),Button(按钮)还是复杂的LinearLayout(线性布局)和ListView(列表视图),它们的共同基类都是View。
View是一种界面层的控件的一种抽象,它代表了一个控件,进一步地,View的形式还有ViewGroup(控件组),即一组View,ViewGroup也继承了View,这就意味着View可以是单个控件,也可以是由多个控件组成的一组控件。
当然,对于压力测试等业务场景中,考虑到业务场景的业务需求,可以加载应用程序的UI,从而查询当前UI中焦点所处的视图View,本实施例对此不加以限制。
针对不同的应用程序,其所提供的视图View也有所不同,在虚拟机器人模拟用户操作应用程序的过程中,根据业务需求可以将应用程序的全部视图View设置为有限状态自动机中的状态,也可以将应用程序的部分视图View设置为有限状态自动机中的状态,而忽略应用程序的部分视图View。
以直播应用为例,如图3所示,在某个直播应用中,可提供首页、个人页面、直播间游戏、私信、抽奖等视图View,若虚拟机器人处于首页,则可以模拟用户选择个人页面、直播间游戏、私信、抽奖,当然,也可以模拟用户停留在首页。
本实施例以视图View为有限状态自动机中的状态,可以提高用户在应用程序执行的操作的覆盖率,提高虚拟机器人的仿真的全面性。
针对虚拟机器人可以预先配置数据库,该数据库可用于按照循环从时间顺序为各个虚拟机器人(以ID等标识表示)存储其在有限状态自动机中所处的状态,即,为各个虚拟机器人存储其在应用程序中所处的视图View。
示例性地,可以以诸如robot_123456789_status的哈希数据结构来保存标识为123456789的虚拟机器人的状态。
在启动虚拟机器人首次循环中,可以依据以ID等标识从预置的数据库中读取在上一次循环中为虚拟机器人存储的、有限状态自动机中的状态。
若读取成功,即,虚拟机器人在先具有特定的状态,则将该状态配置给虚拟机器人,以恢复应用程序中的视图View,使得各个虚拟机器人可以恢复自身的状态。
若读取失败,即,虚拟机器人在先没有特定的状态,则可以确定虚拟机器人在应用程序中处于默认的视图View,如应用程序的首页等,作为有限状态自动机中的状态。
在某些业务场景中,如果出现容灾、故障重启等情况,重新启动虚拟机器人,这些虚拟机器人在原有的业务场景中已经在持续模拟用户操作(即用户可执行的操作),分布在不同的视图View中,容灾、故障重启等情况会中断虚拟机器人的状态,重启之后恢复虚拟机器人的状态可以避免虚拟机器人集中出现在一些默认的视图View中,使得业务场景更加自然,真实度更高。
对于非首次启动,虚拟机器人可去内存等区域读取上一次tick循环时所处的状态。
步骤103、在每次循环中,模拟用户为虚拟机器人在视图中选定服务,作为事件。
在不同的应用程序中,不同的视图View可以提供不同的服务,例如,在直播间的视图View中,可提供观看直播的服务、发布弹幕的服务、给主播用户赠送虚拟物品的服务、点赞的服务,等等。
如图2所示,在每次tick循环中,可以模拟用户的行为习惯,为虚拟机器人在当前的视图View中选定其中一个服务,用户为得到这个服务会触发某个用户操作,按照有限状态自动机的机制,该服务可为有限状态自动机中在状态下发生的事件Event(如事件1-事件n)。
在本申请的一个实施例中,步骤103可以包括如下步骤:
步骤1031、在每次循环中,加载为视图配置的第一文件。
步骤1032、在第一文件中读取视图提供的服务、筛选规则。
本实施例提供虚拟机器人运行的框架,针对不同的业务场景,技术人员可以遵循该框架的规范,预先对应用程序中的各个视图View配置第一文件,其格式可以包括XML(Extensible Markup Language,可扩展标记语言)、DLL(Dynamic Link Library,动态链接库)等,第一文件可以以配置文件、插件、脚本等方式实现,该第一文件中记录各个视图View可提供的服务,筛选规则,即,用于筛选各个服务的、且符合用户的行为习惯的规范。
那么,在每次tick循环中,可加载为当前视图View配置的第一文件至内存运行,从而在第一文件中读取当前视图View提供的各个服务及相应的筛选规则。
步骤1033、模拟用户按照筛选规则选择其中一个服务,作为有限状态自动机中在状态下发生的事件。
对筛选规则进行解析,执行其记录的规范,从而模拟用户从所有的服务中选择其中一个服务,作为有限状态自动机中在状态下发生的事件。
在一个示例中,筛选规则中记录有各个服务与概率之间的映射关系,表示按照用户的行为习惯选择各个服务的概率。
那么,在本示例中,从筛选规则中读取为用户选择各个服务的概率。
按照概率为虚拟机器人选择其中一个服务,作为有限状态自动机中在状态下发生的事件。
其中,服务至少包括闲置Idle,所谓闲置,可以是指用户处于观看和/或收听视图View中的信息(如直播画面、新闻、小说等)、用户不在视图View前等情况,并不对视图View执行有效的用户操作。
在本示例中,闲置的概率大于除闲置外任一服务的概率,即,大概率会选择闲置这个服务,去模拟实现中用户不会频繁在应用程序中的视图View执行有效的用户操作的情况。
以直播应用为例,如图4所示,若虚拟机器人处于直播间(状态State),提供的服务包括闲置、退房、发布弹幕信息、赠送虚拟物品与点赞等等,用户选择闲置的概率(如90%)大于用户选择退房的概率(如4%)、发布弹幕信息的概率(如5%)、赠送虚拟物品的概率(如0.4%)或点赞的概率(如0.6%)。
在本申请的另一个实施例中,步骤103可以包括如下步骤:
步骤1034、在视图中检测到错误。
步骤1035、响应于错误,模拟用户选定在视图中选定闲置,作为有限状态自动机中在状态下发生的事件。
在本实施例中,视图View提供的服务至少包括闲置。
虚拟机器人的状态(即视图View)在数据不一致使得当前状态无法执行某个动作等情况中会出现错误,例如,在直播间中主播用户停止直播,导致虚拟机器人无法按照直播的逻辑执行循环,等等,此时,会忽略原有设置的筛选规则,强制选定闲置Idle为有限状态自动机中在状态下发生的事件,等待下一次tick循环重新触发,通过闲置来避免触发错误的用户操作,保证模拟用户操作的真实性。
步骤104、在每次循环中,驱动虚拟机器人在视图中执行用于触发服务的用户操作,作为动作。
如图2所示,在每一次tick循环中,驱动虚拟机器人在视图View中执行用于触发服务的用户操作,按照有限状态自动机的机制,该用户操作为有限状态自动机中由事件Event触发的动作Action(如动作1-动作n),此时,可返回任务队列,等待下一次任务,等待下一次tick循环。
在本申请的一个实施例中,步骤104可以包括如下步骤:
步骤1041、在每次循环中,加载为视图配置的第二文件。
步骤1042、在第二文件中读取为服务配置的模拟规则。
本实施例提供虚拟机器人运行的框架,针对不同的业务场景,技术人员可以遵循该框架的规范,预先对应用程序中的各个视图View配置第二文件,其格式可以包括XML、DLL等,第二文件可以以配置文件、插件、脚本等方式实现,该第二文件中记录各个服务的模拟规则,即,用于触发实现各个服务的用户操作的规范。
进一步而言,第一文件与第二文件可以为同一份文件,也可以为不同文件,本实施例对此不加以限制。
那么,在每次tick循环中,可加载为当前视图View配置的第二文件至内存运行,从而在第二文件中读取选定的服务配置的模拟规则。
步骤1043、驱动虚拟机器人在视图中按照模拟规则执行用户操作,作为有限状态自动机中由事件触发的动作。
对模拟规则进行解析,执行其记录的规范,从而驱动虚拟机器人在视图View中按照模拟规则执行相应的用户操作,作为有限状态自动机中由事件Event触发的动作Action。
在具体实现中,对于应用程序本地执行的用户操作,可以直接在应用程序本地执行。
对于与服务器交互的用户操作,应用程序提供了多个实现用户操作的API(Application Programming Interface,应用程序接口)的接口规范,一般情况下,用户在应用程序的UI上执行用户操作,则应用程序会按照在UI上被触发的元素封装相应的用户请求,并发送至服务器,而在本实施例中,这些接口规范记录在模拟规则中,那么,可以在模拟规则中读取执行用户操作的接口规范。
虚拟机器人并不一定加载应用程序的UI,而是直接按照接口规范生成用于表示在视图View中执行用户操作的用户请求,驱动虚拟机器人发送用户请求至服务器,作为有限状态自动机中由事件Event触发的动作Action。
例如,如图4所示,若选定服务为退房、点赞,则可以按照接口规范封装相应的用户请求,从而向服务器请求退出直播间、对该直播间点赞。
本实施例直接封装用户请求实现用户操作,避免加载UI的操作,从而降低虚拟机器人的功耗。
当然,对于压力测试等业务场景中,考虑到业务场景的业务需求,可以加载应用程序的UI,从而查询在当前UI中模拟用户操作,如点击、长按等,本实施例对此不加以限制。
在一种执行用户操作的方式中,可以采集虚拟机器人在模拟用户操作应用程序的过程中记录的上下文信息,该上下文信息用于辅助触发用户操作,并将这些上下文信息写入数据库中。
由于上下文的读写较为频繁,属于多读多写,因此,数据库可选为内存KV(key/value,键值对)数据库,如Redis、MemCache等。
进一步而言,针对不同的业务场景,应用程序中可执行的用户操作有所不同,所存储的上下文信息也有所不同,本实施例对此不加以限制。
以直播为例,存储的上下文信息如下:
在本方式中,如图2所示,可从预置的数据库中获取虚拟机器人在模拟用户操作应用程序的过程中记录的上下文信息。
按照模拟规则从所有的上下文信息中读取当前服务所依赖的第一环境信息,所谓依赖,可以指为实现该服务的用户操作与第一环境信息之间存在使用的关系,第一环境信息对实现该服务的用户操作存在影响,反之,为触发实现该服务的用户操作需要第一环境信息的协助。
按照模拟规则确定服务依赖的组件(如第三方的发言决策网络,以ID、路径等标识表示),将第一环境信息输入该组件,从而调用该组件生成与第一环境信息适配的目标信息,例如,文本信息、表情,等等,驱动虚拟机器人在视图View中发布目标信息,作为有限状态自动机中由事件Event触发的动作Action。
在某些业务场景中,用户会在应用程序发布信息,例如,如图4所示,在直播间中发布弹幕信息,在新闻下发布评论,等等,用户大多是针对特定的业务对象(如直播节目、新闻等)发布的信息,这些信息是体现用户对业务对象的看法,并非无意义的信息,因此,组件可以直接通过计算机视觉的技术分析业务对象(上下文信息)本身的语义,从而生成通过NLP(Natural Language Processing,自然语言处理)用于表达该语义的目标信息,此外,由于视频数据等格式的业务对象较难快速分析语义,而其他用户针对业务对象发布的信息(即上下文信息,如其他用户在直播间中已发布的弹幕信息)体现了其他用户对该业务对象的看法,因此,组件可以通过NLP分析其他用户针对业务对象发布的信息的语义,从而生成与该语义相同或相似的目标信息(如弹幕信息),从而发布该目标信息(如弹幕信息)。
在另一种执行用户操作的方式中,如图2所示,可从预置的数据库中获取虚拟机器人在模拟用户操作应用程序的过程中记录的上下文信息,按照模拟规则从上下文信息中读取限制服务的第二环境信息。
所谓限制,一方面是指一个真实的用户,在应用程序中实际执行用户操作所受到自然人的能力、兴趣等生理限制,大概率不会出现频繁执行用户操作,漫无目的执行用户操作等情况,超过这些限制会使得用户的真实性降低,例如,用户在直播间中多是间断性发布弹幕信息,较小概率持续发布多个弹幕信息,青年阶段的用户较小概率持续观看婴幼儿阶段的动画、并对该婴幼儿阶段的动画发布评论,等等。
所谓限制,另一方面指应用程序所提供的用户操作是受到服务端的业务限制,大概率不会出现突破业务限制的情况,例如,在直播间禁言的情况下,任一观众用户均不能发布信息,又例如,如图4所示,在直播间限定某个虚拟物品的数量为m时,观众用户赠送虚拟物品的数量并不能大于限定的数量m,在并不大于数量m的情况下,观众用户可以赠送虚拟物品给主播用户,等等。
按照模拟规则确定限制该服务的条件,这些条件可能是来自于用户的生理限制、也可能来自于服务端的业务限制,例如,在直播间中赠送虚拟物品的数量,在直播间发布弹幕信息的时间间隔,在直播间发布弹幕信息的数量,等等。
将同一服务对应的第二环境信息与条件进行比较。
若第二环境信息未满足该条件,则允许驱动虚拟机器人在视图View中按照模拟规则执行用户操作,作为有限状态自动机中由事件Event触发的动作Action。
若第二环境信息满足该条件,则禁止驱动虚拟机器人在视图中按照模拟规则执行用户操作,作为有限状态自动机中由事件Event触发的动作Action。
在本申请的另一个实施例中,步骤104可以包括如下步骤:
步骤1044、每次循环中,若服务为闲置,则确定用于触发服务的用户操作为空。
步骤1045、响应于用户操作,驱动虚拟机器人在视图中等待,作为有限状态自动机中由事件触发的动作。
在每次tick循环中,可以检测服务的类型,如果服务的类型为限制Idle,则可以将用于触发服务的用户操作设置为空。
此时,驱动虚拟机器人在当前视图View中等待,暂时不执行有效的用户操作,按照有限状态自动机的机制,等待为有限状态自动机中由事件Event触发的动作Action。
在本实施例中,启动多个使用有限状态自动机构建的虚拟机器人,虚拟机器人用于多次循环模拟用户操作应用程序,在每次循环中,确定虚拟机器人在应用程序中所处的视图,作为有限状态自动机中的状态,在每次循环中,模拟用户为虚拟机器人在视图中选定服务,作为有限状态自动机中在状态下发生的事件,在每次循环中,驱动虚拟机器人在视图中执行用于触发服务的用户操作,作为有限状态自动机中由事件触发的动作。
本实施例使用有限状态自动机构建虚拟机器人,提供了虚拟机器人在有限状态自动机的规范下运行的框架,方便集成到不同业务场景的模块中,并编写业务场景的逻辑,通用性强,扩展性强。
例如,如果某个系统整个接入了虚拟机器人,在压测工具、单元测试工具等第三方的工具提供接口给虚拟机器人的情况下,这些接口就可以集成到虚拟机器人的框架中,方便虚拟机器人hook(挂钩)第三方的工具,实现压测、单元测试等业务需求。
利用有限状态自动机设计的虚拟机器人的框架具有高维护性,业务人员不用关心有限状态自动机的底层框架,开发及维护时关心上层的状态以及动作,不仅使得业务代码可以按照状态来拆分,即,业务代码之间基本全部解耦,实现高耦合、低内聚,大大降低了开发及维护时的工作量,从而大大降低了成本,而且方便拓展虚拟机器人的行为,丰富虚拟机器人的行为,从而高自由度地模拟用户操作,提高虚拟机器人仿真用户的真实性。
虚拟机器人所保存的信息量少,对存储的压力很小,并且,虚拟机器人模拟真实的用户,动作并不频繁,主要在触发具体的动作时占用处理器等资源,扩容性强,在重启或容灾时,水平扩容即可。
实施例二
图5为本申请实施例二提供的一种虚拟机器人的控制方法的流程图,本实施例与上述实施例的基础上增加了存储上下文信息、对有限状态自动机中的状态进行变换的操作。如图5所示,该方法包括:
步骤501、启动多个使用有限状态自动机构建的虚拟机器人。
其中,虚拟机器人用于多次循环模拟用户操作应用程序,有限状态自动机包括多个状态、在状态下发生的多个事件、由事件触发的动作。
步骤502、在每次循环中,确定虚拟机器人在应用程序中所处的视图,作为状态。
步骤503、在每次循环中,模拟用户在视图中选定服务,作为事件。
步骤504、在每次循环中,驱动虚拟机器人在视图中执行用于触发服务的用户操作,作为有动作。
步骤505、若完成执行用户操作,则获取在视图中出现的上下文信息。
步骤506、将上下文信息存储至预置的数据库中,并在数据库中建立虚拟机器人与上下文信息之间的关联关系。
如图2所示,若虚拟机器人执行完用户操作,则可以按照业务场景的业务需求,从应用程序的各个视图View中获取上下文信息,将上下文信息以键值对等形式记录。
以虚拟机器人(以ID等标识表示)作为索引,在数据库中建立虚拟机器人与上下文信息之间的关联关系,以便后续以虚拟机器人为条件在该数据库中查询相应的上下文信息,从而辅助执行后续的用户操作。
一般情况下,当虚拟机器人销毁时,可释放至少部分上下文信息,从而降低数据库中存储空间的占用。
步骤507、若完成执行用户操作,则确定虚拟机器人在应用程序中所处的视图。
步骤508、按照执行用户操作之后的的视图更新有限状态自动机中的状态,作为有限状态自动机中的变换。
在部分情况中,如图2所示,有限状态自动机包括如下概念:
1、状态(State)
2、事件(Event)
3、动作(Action)
4、表示状态变换的变换(Transition),变换指从一个状态变化为另一个状态。
在某些情况中,虚拟机器人执行用户操作之后,应用程序从一个视图View变换至另一个视图View,此时,可以查询虚拟机器人在应用程序中所处的、新的视图View,按照新的视图View更新有限状态自动机中的状态State,此时的状态State会存储至数据库中,按照有限状态自动机的机制,这个过程为有限状态自动机中的变换Transition,保证有限状态自动机的正常运行,从而保证虚拟机器人的正常运行。
例如,如图4所示,虚拟机器人在执行完退房对应的动作之后,从直播间(状态State)变换至首页(状态State)。
当然,在某些情况中,尤其是服务为闲置Idel时,虚拟机器人执行用户操作之后,应用程序保持当前的视图View不变,此时,维持更新有限状态自动机中的状态State,并不会更新更新有限状态自动机中的状态State。
例如,如图4所示,虚拟机器人在执行完闲置、发布弹幕信息、赠送虚拟物品或点赞对应的动作之后,维持直播间(状态State)不变。
实施例三
图6为本申请实施例三提供的一种虚拟机器人的控制装置的结构示意图。如图6所示,该装置包括:
虚拟机器人启动模块601,用于启动多个使用有限状态自动机构建的虚拟机器人,所述虚拟机器人用于多次循环模拟用户操作应用程序,所述有限状态自动机包括多个状态、在所述状态下发生的多个事件、由所述事件触发的动作;
状态确定模块602,用于在每次所述循环中,确定所述虚拟机器人在所述应用程序中所处的视图,作为所述状态;
事件选定模块603,用于在每次所述循环中,模拟所述用户在所述视图中选定服务,作为所述事件;
动作执行模块604,用于在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作。
在本申请的一个实施例中,所述状态确定模块602包括:
状态读取模块,用于在首次所述循环中,从预置的数据库中读取在上一次所述循环中为所述虚拟机器人存储的、所述有限状态自动机中的状态;
状态恢复模块,用于若读取成功,则将所述状态配置给所述虚拟机器人,以恢复所述应用程序中的视图;
默认设置模块,用于若读取失败,则确定所述虚拟机器人在所述应用程序中处于默认的视图,作为所述状态。
在本申请的一个实施例中,所述事件选定模块603包括:
第一文件加载模块,用于在每次所述循环中,加载为所述视图配置的第一文件;
筛选规则读取模块,用于在所述第一文件中读取所述视图提供的服务、筛选规则;
规则筛选模块,用于模拟所述用户按照所述筛选规则选择其中一个所述服务,作为所述事件。
在本申请的一个实施例中,所述规则筛选模块包括:
概率读取模块,用于从所述筛选规则中读取为所述用户选择各个所述服务的概率;
概率选择模块,用于按照所述概率为所述虚拟机器人选择其中一个所述服务,作为所述事件;
其中,所述服务至少包括闲置,所述闲置的概率大于除所述闲置外任一所述服务的概率。
在本申请的一个实施例中,所述动作执行模块604包括:
第二文件加载模块,用于在每次所述循环中,加载为所述视图配置的第二文件;
模拟规则读取模块,用于在所述第二文件中读取为所述服务配置的模拟规则;
模拟规则执行模块,用于驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作。
在本申请的另一个实施例中,所述动作执行模块604包括:
空操作确定模块,用于每次所述循环中,若所述服务为闲置,则确定用于触发所述服务的用户操作为空;
等待模块,用于响应于所述用户操作,驱动所述虚拟机器人在所述视图中等待,作为所述动作。
在本申请的一个实施例中,还包括:
上下文信息获取模块,用于若完成执行所述用户操作,则获取在所述视图中出现的上下文信息;
上下文信息存储模块,用于将所述上下文信息存储至预置的数据库中,并在所述数据库中建立所述虚拟机器人与所述上下文信息之间的关联关系。
在本申请的一个实施例中,所述有限自动状态机还包括表示所述状态变换的变换,该装置还包括:
新视图确定模块,用于若完成执行所述用户操作,则确定所述虚拟机器人在所述应用程序中所处的视图;
状态变换模块,用于按照执行所述用户操作之后的所述视图更新所述有限状态自动机中的状态,作为所述变换。
本申请实施例所提供的虚拟机器人的控制装置可执行本申请任意实施例所提供的虚拟机器人的控制方法,具备执行虚拟机器人的控制方法相应的功能模块和有益效果。
实施例四
图7示出了可以用来实施本申请的实施例的虚拟机器人的控制设备10的结构示意图。
如图7所示,虚拟机器人的控制设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储虚拟机器人的控制设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
虚拟机器人的控制设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许虚拟机器人的控制设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如虚拟机器人的控制方法。
在一些实施例中,虚拟机器人的控制方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到虚拟机器人的控制设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的虚拟机器人的控制方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行虚拟机器人的控制方法。
实施例五
本发明实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现如本申请任一实施例所提供的虚拟机器人的控制方法。
计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种虚拟机器人的控制方法,其特征在于,包括:
启动多个使用有限状态自动机构建的虚拟机器人,所述虚拟机器人用于多次循环模拟用户操作应用程序,所述有限状态自动机包括多个状态、在所述状态下发生的多个事件、由所述事件触发的动作;
在每次所述循环中,确定所述虚拟机器人在所述应用程序中所处的视图,作为所述状态;
在每次所述循环中,模拟所述用户在所述视图中选定服务,作为所述事件;
在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作。
2.根据权利要求1所述的方法,其特征在于,所述在每次所述循环中,确定所述虚拟机器人在所述应用程序中所处的视图,作为所述状态,包括:
在首次所述循环中,从预置的数据库中读取在上一次所述循环中为所述虚拟机器人存储的、所述有限状态自动机中的状态;
若读取成功,则将所述状态配置给所述虚拟机器人,以恢复所述应用程序中的视图;
若读取失败,则确定所述虚拟机器人在所述应用程序中处于默认的视图,作为所述状态。
3.根据权利要求1所述的方法,其特征在于,所述在每次所述循环中,模拟所述用户在所述视图中选定服务,作为所述事件,包括:
在每次所述循环中,加载为所述视图配置的第一文件;
在所述第一文件中读取所述视图提供的服务、筛选规则;
模拟所述用户按照所述筛选规则选择其中一个所述服务,作为所述事件。
4.根据权利要求3所述的方法,其特征在于,所述为所述虚拟机器人模拟所述用户按照所述筛选规则选择其中一个所述服务,作为所述事件,包括:
从所述筛选规则中读取为所述用户选择各个所述服务的概率;
按照所述概率为所述虚拟机器人选择其中一个所述服务,作为所述事件;
其中,所述服务至少包括闲置,所述闲置的概率大于除所述闲置外任一所述服务的概率。
5.根据权利要求3所述的方法,其特征在于,所述在每次所述循环中,虚拟机器人模拟所述用户在所述视图中选定服务,作为所述事件,还包括:
在所述视图中检测到错误,所述视图提供的服务至少包括闲置;
响应于所述错误,模拟所述用户在所述视图中选定所述闲置,作为所述事件。
6.根据权利要求1所述的方法,其特征在于,所述在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作,包括:
在每次所述循环中,加载为所述视图配置的第二文件;
在所述第二文件中读取为所述服务配置的模拟规则;
驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作。
7.根据权利要求6所述的方法,其特征在于,所述驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作,包括:
在所述所述模拟规则中读取执行用户操作的接口规范;
按照所述接口规范生成用于表示在所述视图中执行所述用户操作的用户请求;
驱动所述虚拟机器人发送所述用户请求至服务器,作为所述动作。
8.根据权利要求6所述的方法,其特征在于,所述驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作,包括:
从预置的数据库中获取所述虚拟机器人在模拟所述用户操作所述应用程序的过程中记录的上下文信息;
按照所述模拟规则从所述上下文信息中读取所述服务依赖的第一环境信息;
按照所述模拟规则确定所述服务依赖的组件;
调用所述组件生成与所述第一环境信息适配的目标信息;
驱动所述虚拟机器人在所述视图中发布所述目标信息,作为所述动作。
9.根据权利要求6所述的方法,其特征在于,所述驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作,包括:
从预置的数据库中获取所述虚拟机器人在模拟所述用户操作所述应用程序的过程中记录的上下文信息;
按照所述模拟规则从所述上下文信息中读取限制所述服务的第二环境信息;
按照所述模拟规则确定限制所述服务的条件;
若所述第二环境信息未满足所述条件,则允许驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作;
若所述第二环境信息满足所述条件,则禁止驱动所述虚拟机器人在所述视图中按照所述模拟规则执行用户操作,作为所述动作。
10.根据权利要求1所述的方法,其特征在于,所述在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作,包括:
每次所述循环中,若所述服务为闲置,则确定用于触发所述服务的用户操作为空;
响应于所述用户操作,驱动所述虚拟机器人在所述视图中等待,作为所述动作。
11.根据权利要求1-10中任一项所述的方法,其特征在于,还包括:
若完成执行所述用户操作,则获取在所述视图中出现的上下文信息;
将所述上下文信息存储至预置的数据库中,并在所述数据库中建立所述虚拟机器人与所述上下文信息之间的关联关系。
12.根据权利要求1-10中任一项所述的方法,其特征在于,所述有限自动状态机还包括表示所述状态变换的变换,所述方法还包括:
若完成执行所述用户操作,则确定所述虚拟机器人在所述应用程序中所处的视图;
按照执行所述用户操作之后的所述视图更新所述状态,作为所述变换。
13.一种虚拟机器人的控制装置,其特征在于,包括:
虚拟机器人启动模块,用于启动多个使用有限状态自动机构建的虚拟机器人,所述虚拟机器人用于多次循环模拟用户操作应用程序,所述有限状态自动机包括多个状态、在所述状态下发生的多个事件、由所述事件触发的动作;
状态确定模块,用于在每次所述循环中,确定所述虚拟机器人在所述应用程序中所处的视图,作为所述状态;
事件选定模块,用于在每次所述循环中,模拟所述用户在所述视图中选定服务,作为所述事件;
动作执行模块,用于在每次所述循环中,驱动所述虚拟机器人在所述视图中执行用于触发所述服务的用户操作,作为所述动作。
14.一种虚拟机器人的控制设备,其特征在于,所述虚拟机器人的控制设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-12中任一项所述的虚拟机器人的控制方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使处理器执行时实现权利要求1-12中任一项所述的虚拟机器人的控制方法。
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-12中任一项所述的虚拟机器人的控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210529988.5A CN114979029B (zh) | 2022-05-16 | 2022-05-16 | 一种虚拟机器人的控制方法、装置、设备及存储介质 |
PCT/CN2023/094536 WO2023221979A1 (zh) | 2022-05-16 | 2023-05-16 | 虚拟机器人的控制方法、装置、设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210529988.5A CN114979029B (zh) | 2022-05-16 | 2022-05-16 | 一种虚拟机器人的控制方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114979029A true CN114979029A (zh) | 2022-08-30 |
CN114979029B CN114979029B (zh) | 2023-11-24 |
Family
ID=82984174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210529988.5A Active CN114979029B (zh) | 2022-05-16 | 2022-05-16 | 一种虚拟机器人的控制方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114979029B (zh) |
WO (1) | WO2023221979A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904635A (zh) * | 2023-02-16 | 2023-04-04 | 江西联创精密机电有限公司 | 一种基于服务器的虚拟机管理方法及系统 |
WO2023221979A1 (zh) * | 2022-05-16 | 2023-11-23 | 广州市百果园信息技术有限公司 | 虚拟机器人的控制方法、装置、设备、存储介质及程序产品 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128810A1 (en) * | 2000-12-29 | 2002-09-12 | Adept Technology, Inc. | Systems and methods for simulation, analysis and design of automated assembly systems |
US20160078342A1 (en) * | 2012-05-04 | 2016-03-17 | Transoft (Shanghai), Inc. | Systems and methods of autonomic virtual network management |
CN107197384A (zh) * | 2017-05-27 | 2017-09-22 | 北京光年无限科技有限公司 | 应用于视频直播平台的虚拟机器人多模态交互方法和系统 |
CN107340865A (zh) * | 2017-06-29 | 2017-11-10 | 北京光年无限科技有限公司 | 多模态虚拟机器人交互方法和系统 |
CN108369521A (zh) * | 2015-09-02 | 2018-08-03 | 埃丹帝弗有限公司 | 智能虚拟助理系统及相关方法 |
US20190235843A1 (en) * | 2018-01-29 | 2019-08-01 | Q2 Software, Inc. | Single-page web application builder system and method based on a finite-state machine |
CN110871813A (zh) * | 2018-08-31 | 2020-03-10 | 比亚迪股份有限公司 | 虚拟机器人的控制方法、装置、车辆、设备和存储介质 |
CN110875940A (zh) * | 2018-08-31 | 2020-03-10 | 比亚迪股份有限公司 | 基于虚拟机器人的应用程序调用方法、装置和设备 |
CN111045931A (zh) * | 2019-11-22 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 应用程序测试方法、装置、设备及存储介质 |
US10629191B1 (en) * | 2019-06-16 | 2020-04-21 | Linc Global, Inc. | Methods and systems for deploying and managing scalable multi-service virtual assistant platform |
US20200233789A1 (en) * | 2019-01-18 | 2020-07-23 | Salesforce.Com, Inc. | User defined mocking service behavior |
CN111552294A (zh) * | 2020-05-14 | 2020-08-18 | 山东师范大学 | 基于时间依赖的室外机器人寻路仿真系统及方法 |
US20200404217A1 (en) * | 2019-06-18 | 2020-12-24 | Tmrw Foundation Ip & Holding S. À R.L. | Virtual presence system and method through merged reality |
CN113032090A (zh) * | 2021-02-20 | 2021-06-25 | 博普乐科技(北京)有限公司 | 一种虚拟编程仿真管理平台 |
WO2021144750A1 (en) * | 2020-01-17 | 2021-07-22 | Bitonic Technology Labs Private Limited | Method and system for identifying ideal virtual assitant bots for providing response to user queries |
CN113296653A (zh) * | 2021-07-27 | 2021-08-24 | 阿里云计算有限公司 | 一种仿真交互模型构建方法、交互方法及相关设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979029B (zh) * | 2022-05-16 | 2023-11-24 | 百果园技术(新加坡)有限公司 | 一种虚拟机器人的控制方法、装置、设备及存储介质 |
-
2022
- 2022-05-16 CN CN202210529988.5A patent/CN114979029B/zh active Active
-
2023
- 2023-05-16 WO PCT/CN2023/094536 patent/WO2023221979A1/zh unknown
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020128810A1 (en) * | 2000-12-29 | 2002-09-12 | Adept Technology, Inc. | Systems and methods for simulation, analysis and design of automated assembly systems |
US20160078342A1 (en) * | 2012-05-04 | 2016-03-17 | Transoft (Shanghai), Inc. | Systems and methods of autonomic virtual network management |
CN108369521A (zh) * | 2015-09-02 | 2018-08-03 | 埃丹帝弗有限公司 | 智能虚拟助理系统及相关方法 |
CN107197384A (zh) * | 2017-05-27 | 2017-09-22 | 北京光年无限科技有限公司 | 应用于视频直播平台的虚拟机器人多模态交互方法和系统 |
CN107340865A (zh) * | 2017-06-29 | 2017-11-10 | 北京光年无限科技有限公司 | 多模态虚拟机器人交互方法和系统 |
US20190235843A1 (en) * | 2018-01-29 | 2019-08-01 | Q2 Software, Inc. | Single-page web application builder system and method based on a finite-state machine |
CN110871813A (zh) * | 2018-08-31 | 2020-03-10 | 比亚迪股份有限公司 | 虚拟机器人的控制方法、装置、车辆、设备和存储介质 |
CN110875940A (zh) * | 2018-08-31 | 2020-03-10 | 比亚迪股份有限公司 | 基于虚拟机器人的应用程序调用方法、装置和设备 |
US20200233789A1 (en) * | 2019-01-18 | 2020-07-23 | Salesforce.Com, Inc. | User defined mocking service behavior |
US10629191B1 (en) * | 2019-06-16 | 2020-04-21 | Linc Global, Inc. | Methods and systems for deploying and managing scalable multi-service virtual assistant platform |
US20200404217A1 (en) * | 2019-06-18 | 2020-12-24 | Tmrw Foundation Ip & Holding S. À R.L. | Virtual presence system and method through merged reality |
CN111045931A (zh) * | 2019-11-22 | 2020-04-21 | 腾讯科技(深圳)有限公司 | 应用程序测试方法、装置、设备及存储介质 |
WO2021144750A1 (en) * | 2020-01-17 | 2021-07-22 | Bitonic Technology Labs Private Limited | Method and system for identifying ideal virtual assitant bots for providing response to user queries |
CN111552294A (zh) * | 2020-05-14 | 2020-08-18 | 山东师范大学 | 基于时间依赖的室外机器人寻路仿真系统及方法 |
CN113032090A (zh) * | 2021-02-20 | 2021-06-25 | 博普乐科技(北京)有限公司 | 一种虚拟编程仿真管理平台 |
CN113296653A (zh) * | 2021-07-27 | 2021-08-24 | 阿里云计算有限公司 | 一种仿真交互模型构建方法、交互方法及相关设备 |
Non-Patent Citations (2)
Title |
---|
CEZARY ZIELIŃSKI ETAL: ""A systematic method of designing control systems for service and field robots"", 《2014 19TH INTERNATIONAL CONFERENCE ON METHODS AND MODELS IN AUTOMATION AND ROBOTICS (MMAR)》 * |
王源庆;甘辉兵;任光;张均东;: "LNG船推进系统虚拟现实仿真研究", 中国造船, no. 04 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023221979A1 (zh) * | 2022-05-16 | 2023-11-23 | 广州市百果园信息技术有限公司 | 虚拟机器人的控制方法、装置、设备、存储介质及程序产品 |
CN115904635A (zh) * | 2023-02-16 | 2023-04-04 | 江西联创精密机电有限公司 | 一种基于服务器的虚拟机管理方法及系统 |
CN115904635B (zh) * | 2023-02-16 | 2023-06-06 | 江西联创精密机电有限公司 | 一种基于服务器的虚拟机管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114979029B (zh) | 2023-11-24 |
WO2023221979A1 (zh) | 2023-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10926184B2 (en) | Synchronized video with in game telemetry | |
CN114979029A (zh) | 一种虚拟机器人的控制方法、装置、设备及存储介质 | |
CN112090079B (zh) | 游戏任务运行方法、装置、计算机设备和存储介质 | |
CN110781007A (zh) | 任务处理方法、装置、服务器、客户端、系统和存储介质 | |
US20090150872A1 (en) | Dynamic code update | |
CN112416581B (zh) | 定时任务的分布式调用系统 | |
US20230153100A1 (en) | Method and apparatus for managing model file in inference application | |
CN111298434B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN112799782A (zh) | 模型生成系统、方法、电子设备及存储介质 | |
CN107423090B (zh) | 一种Flash播放器异常日志管理方法及系统 | |
CN112580907B (zh) | 任务分发方法、装置和设备 | |
CN109359092A (zh) | 文件管理方法、桌面显示方法、装置、终端及介质 | |
US20080172669A1 (en) | System capable of executing workflows on target applications and method thereof | |
CN114661284A (zh) | 游戏编辑方法、游戏运行方法、装置及计算机设备 | |
CN113254217A (zh) | 业务的消息处理方法、装置及电子设备 | |
CN112783660B (zh) | 虚拟场景中的资源处理方法、装置及电子设备 | |
TWI239445B (en) | Security hole diagnosis system | |
CN115759518A (zh) | 基于混沌工程的可用性治理系统 | |
CN112764837B (zh) | 数据上报方法、装置、存储介质及终端 | |
CN114756362A (zh) | 资源配额管理方法及系统、智能终端、存储介质 | |
CN114675819A (zh) | Rpa组件的推荐方法、装置、设备和可读存储介质 | |
CN108829824B (zh) | 互联网运营活动中的资源处理方法及装置 | |
CN111318023A (zh) | 游戏数据处理方法、装置、存储介质与电子设备 | |
CN117046111B (zh) | 一种游戏技能的处理方法以及相关装置 | |
KR102567773B1 (ko) | 전투체계 시스템에서의 로그 정보 추출장치 및 그 방법 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |