首页 / 专利库 / 门,大门和窗户 / 框架 / 应用程序的控制方法、装置、设备及可读存储介质

应用程序的控制方法、装置、设备及可读存储介质

阅读:410发布:2024-02-04

专利汇可以提供应用程序的控制方法、装置、设备及可读存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种应用程序的控制方法、装置、设备及可读存储介质,涉及程序设计领域。该方法包括:接收程序客户端发送的服务创建 请求 ;根据服务创建请求创建服务容器并从应用程序客户端获取目标应用程序的运行数据;将运行数据输入目标操作匹配模型,得到目标操作;将目标操作发送至程序客户端,对目标应用程序的运行进行对应的控制。通过在测试 服务器 中预设规则,当需要对目标应用程序进行测试时,仅需要将程序客户端接入测试服务器,通过测试服务器创建服务容器并根据运行数据通过该测试服务器确定目标操作,程序客户端中无需针对目标应用程序的测试过程配置AI系统进行AI处理,提高了AI处理效率。,下面是应用程序的控制方法、装置、设备及可读存储介质专利的具体信息内容。

1.一种应用程序的控制方法,其特征在于,所述方法包括:
接收应用程序客户端发送的服务创建请求,所述服务创建请求中包括目标应用程序的标识;
基于所述服务创建请求创建与所述目标应用程序对应的服务容器;
从所述应用程序客户端获取所述目标应用程序的运行数据;
利用与所述目标应用程序对应的预设规则获取所述运行数据对应的目标操作指令;
将所述目标操作指令发送至所述程序客户端,所述目标操作指令用于对所述目标应用程序的运行进行对应的控制。
2.根据权利要求1所述的方法,其特征在于,所述服务创建请求中还包括:创建时长;
所述从所述应用程序客户端获取所述目标应用程序的运行数据,包括:
对所述服务容器的创建时长进行计时;
在计时时长未达到所述创建时长时,从所述应用程序客户端获取所述目标应用程序的所述运行数据;
当所述计时时长达到所述创建时长时,结束从所述应用程序客户端获取所述目标应用程序的所述运行数据。
3.根据权利要求1所述的方法,其特征在于,所述服务创建请求中还包括:创建时长;
所述方法还包括:
对所述服务容器的创建时长进行计时,
当计时时长达到所述创建时长时,回收所述服务容器所应用的资源并销毁所述服务容器。
4.根据权利要求1至3任一所述的方法,其特征在于,所述方法还包括:
根据所述服务创建请求获取所述目标应用程序在运行过程中的视频
识别所述视频帧得到所述视频帧对应的视频帧数据;
对所述视频帧数据进行存储;
根据已存储的所述视频帧数据生成运行视频。
5.根据权利要求1至3任一所述的方法,其特征在于,所述应用程序客户端包括运行客户端和代理客户端,所述运行客户端中安装并运行有所述目标应用程序,所述运行客户端和所述代理客户端中集成有自动化测试框架,所述代理客户端通过所述自动化测试框架调用所述运行客户端的数据接口从所述运行客户端中获取所述运行数据;
所述从所述应用程序客户端获取所述目标应用程序的运行数据,包括:
根据所述服务创建请求从所述代理客户端获取所述目标应用程序的所述运行数据。
6.根据权利要求1至3任一所述的方法,其特征在于,所述利用与所述目标应用程序对应的预设规则获取所述运行数据对应的目标操作指令,包括:
将所述运行数据输入强化学习模型,得到所述目标操作指令,其中,所述强化学习模型通过定义奖励函数并优化模型参数进行训练;
或,
将所述运行数据输入深度神经网络模型,得到所述目标操作指令,其中,所述深度神经网络模型通过样本运行数据和样本操作进行训练;
或,
将所述运行数据输入策略树模型,得到所述目标操作指令,其中,所述策略树模型是通过硬编码规则编码得到的模型。
7.根据权利要求1至3任一所述的方法,其特征在于,所述基于所述服务创建请求创建与所述目标应用程序对应的服务容器,包括:
基于所述服务创建请求生成校验值、服务IP地址和端口号;
根据所述校验值、所述服务IP地址和所述端口号创建所述服务容器;
当接收到应用程序客户端发送的连接请求时,通过所述校验值、所述服务IP地址和所述端口号校验所述应用程序客户端的访问合法性。
8.根据权利要求1至3任一所述的方法,其特征在于,
所述应用程序客户端用于根据所述目标操作指令调用触屏动作接口对所述目标应用程序的运行进行对应的控制;
或,
所述应用程序客户端用于根据所述目标操作指令调用程序动作接口对所述目标应用程序的运行进行对应的控制,其中,所述程序动作接口用于对所述程序界面中对象的移动进行控制。
9.一种应用程序的控制装置,其特征在于,所述装置包括:
接收模,用于应用接收程序客户端发送的服务创建请求,所述服务创建请求中包括目标应用程序的标识,所述程序客户端中运行有所述目标应用程序;
创建模块,用于基于所述服务创建请求创建与所述目标应用程序对应的服务容器;
获取模块,用于从所述应用程序客户端获取所述目标应用程序的运行数据;
所述获取模块,还用于利用与所述目标应用程序对应的预设规则获取所述运行数据对应的目标操作指令;
发送模块,用于将所述目标操作指令发送至所述应用程序客户端,所述目标操作指令用于对所述目标应用程序的运行进行对应的控制。
10.根据权利要求9所述的装置,其特征在于,所述服务创建请求中还包括:创建时长;
所述获取模块,包括:
计时单元,用于对所述服务容器的创建时长进行计时,所述服务容器用于在所述应用程序客户端和所述测试服务器之间建立连接;
获取单元,用于在计时时长未达到所述创建时长时,从所述应用程序客户端获取所述目标应用程序的所述运行数据;
所述获取单元,还用于当所述计时时长达到所述创建时长时,结束从所述应用程序客户端获取所述目标应用程序的所述运行数据。
11.根据权利要求9所述的装置,其特征在于,所述服务创建请求中还包括:创建时长;
所述获取模块,包括:
计时单元,用于对所述服务容器的创建时长进行计时,所述服务容器用于在所述应用程序客户端和所述测试服务器之间建立连接;
获取单元,用于当计时时长达到所述创建时长时,回收所述服务容器所应用的资源并销毁所述服务容器。
12.根据权利要求9至12任一所述的装置,其特征在于,所述获取模块,还用于根据所述服务创建请求从所述应用程序客户端获取所述目标应用程序在运行过程中的视频帧;识别所述视频帧得到所述视频帧对应的视频帧数据;对所述视频帧数据进行存储;根据已存储的所述视频帧数据生成运行视频。
13.根据权利要求9至12任一所述的装置,其特征在于,所述应用程序客户端包括运行客户端和代理客户端,所述运行客户端中安装并运行有所述目标应用程序,所述运行客户端和所述代理客户端中集成有自动化测试框架,所述代理客户端通过所述自动化测试框架调用所述运行客户端的数据接口从所述运行客户端中获取所述运行数据;
所述获取模块,还用于根据所述服务创建请求从所述代理客户端获取所述目标应用程序的所述运行数据。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一所述的应用程序的控制方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的应用程序的控制方法。

说明书全文

应用程序的控制方法、装置、设备及可读存储介质

技术领域

[0001] 本申请实施例涉及程序设计领域,特别涉及一种应用程序的控制方法、装置、设备及可读存储介质。

背景技术

[0002] 在诸如智能手机、平板电脑之类的终端上,存在很多具有二维或三维虚拟环境的应用程序,如:第一人称射击游戏(First-person shooting game,FPS)、模拟策略游戏(Simulation Game,SLG)等。在上述应用程序中,用户可通过控制虚拟对象执行操作以期获得胜利,而在对上述应用程序进行测试时,需要依赖人工智能(Artificial Intelligence,AI)执行相应的操作,AI是一种以人类思考方式做出反应,执行相应行为的计算机程序系统,其广泛应用于图像识别语音识别自然语言处理以及专家系统等领域。
[0003] 相关技术中,在通过AI执行操作时,通常需要针对应用程序内设AI系统和外部AI系统,内设AI系统行为死板,缺少自主性,无法自适应未知情况且外部AI使用深度神经网络强化学习算法,将游戏的画面真或者提取的特征作为神经网络的输入参数,将游戏操作作为该神经网络的输出,并以神经网络输出的游戏操作辅助用户对虚拟对象进行控制。外部AI设计较复杂,开发和维护成本较高;外设AI实现过程复杂,学习过程不确定,且需要大量时间和样本来训练和超参数调参尝试。发明内容
[0004] 本申请实施例提供了一种应用程序的控制方法、装置、设备及可读存储介质,可以解决对应用程序进行测试时,需要针对不同的应用程序设计多个独立的AI系统,通过AI执行操作的过程较为繁琐的问题。所述技术方案如下:
[0005] 一方面,提供了一种应用程序的控制方法,所述方法包括:
[0006] 接收应用程序客户端发送的服务创建请求,所述服务创建请求中包括目标应用程序的标识,所述程序客户端中运行有所述目标应用程序;
[0007] 基于所述服务创建请求创建与所述目标应用程序对应的服务容器;
[0008] 从所述应用程序客户端获取所述目标应用程序的运行数据;
[0009] 利用与所述目标应用程序对应的预设规则获取所述运行数据对应的目标操作指令;
[0010] 将所述目标操作指令发送至所述程序客户端,所述目标操作指令用于对所述目标应用程序的运行进行对应的控制。
[0011] 另一方面,提供了一种应用程序的控制装置,所述装置包括:
[0012] 接收模,用于应用接收程序客户端发送的服务创建请求,所述服务创建请求中包括目标应用程序的标识,所述程序客户端中运行有所述目标应用程序;
[0013] 创建模块,用于基于所述服务创建请求创建与所述目标应用程序对应的服务容器;
[0014] 获取模块,用于从所述应用程序客户端获取所述目标应用程序的运行数据;
[0015] 所述获取模块,还用于利用与所述目标应用程序对应的预设规则获取所述运行数据对应的目标操作指令;
[0016] 发送模块,用于将所述目标操作指令发送至所述应用程序客户端,所述目标操作指令用于对所述目标应用程序的运行进行对应的控制。
[0017] 另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的应用程序的控制方法。
[0018] 另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例中提供的应用程序的控制方法。
[0019] 另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例中提供的应用程序的控制方法。
[0020] 本申请实施例提供的技术方案带来的有益效果至少包括:
[0021] 通过在测试服务器中配置至少两个应用程序的操作匹配模型,当需要对目标应用程序进行测试时,仅需要将运行有该目标应用程序的应用程序客户端接入该测试服务器,由服务器创建服务容器并根据目标应用程序的运行数据通过该测试服务器确定目标操作指令,通过目标操作指令对该目标应用程序进行控制,应用程序客户端中无需针对目标应用程序的测试过程配置AI系统进行AI处理,仅需要接入测试服务器即可实现AI处理,提高了AI处理效率。附图说明
[0022] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023] 图1是本申请一个示例性的实施例提供的程序测试系统的结构框图
[0024] 图2是本申请一个示例性实施例提供的应用程序的控制方法的流程图
[0025] 图3是基于图2示出的实施例提供的代理客户端接入服务容器的过程流程图;
[0026] 图4是基于图2示出的实施例提供的根据接收到的目标操作对目标应用程序的运行进行控制的接口示意图;
[0027] 图5是基于图2示出的实施例提供的FPS游戏对应的AI算法示意图;
[0028] 图6是本申请另一个示例性实施例提供的应用程序的控制方法流程图;
[0029] 图7是基于图6示出的实施例提供的在服务创建界面进行信息输入操作的示意图;
[0030] 图8是基于图6示出的实施例提供的AI运行框架示意图;
[0031] 图9是本申请另一个示例性实施例提供的应用程序的控制方法流程图;
[0032] 图10是基于图9示出的实施例提供的目标应用程序的运行视频获取过程示意图;
[0033] 图11是基于图9示出的实施例提供的运行服务报告的输出结果示意图;
[0034] 图12是基于图9示出的实施例提供的已完成服务对应的视频列表示意图;
[0035] 图13是本申请一个示例性实施例提供的应用程序的控制装置的结构框图;
[0036] 图14是本申请另一个示例性实施例提供的应用程序的控制装置的结构框图;
[0037] 图15是本申请另一个示例性实施例提供的应用程序的控制装置的结构框图;
[0038] 图16是本申请一个示例性的实施例提供的服务器的结构框图;
[0039] 图17是本申请一个示例性的实施例提供的终端的结构框图。

具体实施方式

[0040] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0041] 首先,对本申请实施例涉及的程序测试系统进行说明。示意性的,请参考图1,该程序测试系统100中包括测试服务器110和应用程序客户端120;
[0042] 其中,测试服务器110用于向应用程序客户端120提供服务容器,也即,通过测试服务器110确定在应用程序客户端120中执行的操作,从而控制应用程序客户端120进行对应的运行。可选地,该测试服务器110中包括至少两个应用程序对应的操作匹配模型,该操作匹配模型用于根据应用程序中产生的运行数据匹配得到的该运行数据对应的操作,示意性的,如图1所示,该测试服务器110中包括应用程序A对应的操作匹配模型a以及应用程序B对应的操作匹配模型b,以应用程序A为例进行说明,应用程序客户端120中运行有该应用程序A,应用程序客户端120在运行该应用程序A时生成运行数据,并将该运行数据发送至测试服务器110,测试服务器110将该运行数据与操作匹配模型a进行匹配,并得到对应的目标操作,测试服务器110将匹配得到的目标操作发送至应用程序客户端120,该应用程序客户端120在运行的应用程序A中执行该目标操作,从而实现对该应用程序A的控制。
[0043] 值得注意的是,该测试服务器110可以是单个服务器,也可以是多个服务器组成的一个服务器集群;该测试服务器110可以是物理服务器,也可以是服务器,本申请实施例对此不加以限定。
[0044] 应用程序客户端120用于运行应用程序,并建立与测试服务器110之间的连接,可选地,该应用程序客户端120与测试服务器110之间通过传输控制协议(Transmission Control Protocol,TCP)建立连接。可选地,该应用程序客户端120在运行应用程序的过程生成运行数据,并将该运行数据发送至测试服务器110进行操作匹配,当接收到测试服务器110匹配得到的目标操作时,针对应用程序执行该目标操作。
[0045] 可选地,结合图1可知,该应用程序客户端120中包括运行客户端121和代理客户端122,其中,运行客户端121用于运行上述应用程序,代理客户端122用于与上述运行客户端
121之间建立连接,可选地,该运行客户端121和代理客户端122中都集成有自动化测试框架,可选地,该自动化测试框架的一部分集成在运行客户端121中,另一部分集成在代理客户端122中。代理客户端122通过该自动化测试框架调用该运行客户端121中的数据接口,获取该运行客户端121中运行的应用程序的运行数据。可选地,代理客户端122从运行客户端
121中获取运行数据后,将运行数据发送至测试服务器110进行操作匹配。
[0046] 值得注意的是,上述运行客户端121的运行环境可以是手机、平板电脑、便携式膝上笔记本电脑、台式电脑、智能手表等终端设备,也可以是模拟器环境。可选地,该运行客户端121的运行环境支持调试工具,如:安卓调试桥(Android Debug Bridge,ADB),且该运行客户端121集成有数据接口。
[0047] 可选地,上述代理客户端122部署在运行客户端121的运行环境直连的终端或虚拟容器上。
[0048] 其次,对本申请实施例涉及的应用场景进行说明,示意性的,以FPS游戏为例对本申请实施例涉及的应用场景进行说明,本申请实施例至少涉及如下应用场景:
[0049] 第一,在对FPS新版本进行测试时,首先在应用程序客户端中运行该FPS游戏,并通过应用程序客户端向测试服务器发送服务创建请求,测试服务器根据服务创建请求创建与该FPS游戏对应的服务容器(其中,测试服务器中包括与该FPS游戏对应的操作匹配模型)。测试服务器在创建得到服务容器后,从应用程序客户端中获取运行该FPS游戏的运行数据,并将该运行数据与操作匹配模型进行匹配,从而得到该运行数据对应的操作,测试服务器将匹配得到的操作发送至应用程序客户端,应用程序客户端在运行的FPS游戏中执行该操作;
[0050] 第二,在FPS游戏初步投入应用时,玩家数量相对较少,当该FPS游戏对应有单局人数要求,如:单局人数不少于80人时,当游戏对局中仅能匹配到70人参与对战时,则在应用程序客户端(如:10个虚拟机)中运行该FPS游戏,并通过应用程序客户端向测试服务器发送服务创建请求,测试服务器根据服务创建请求创建与该FPS游戏对应的服务容器(其中,测试服务器中包括与该FPS游戏对应的操作匹配模型)。测试服务器在创建得到服务容器后,从应用程序客户端中获取运行该FPS游戏的运行数据,并将该运行数据与操作匹配模型进行匹配,从而得到该运行数据对应的操作,测试服务器将匹配得到的操作发送至应用程序客户端,应用程序客户端在运行的FPS游戏中执行该操作,如:10个虚拟机对应10个虚拟玩家参与该对战,则结合实际参与对战的70个玩家,实现在该游戏对局中存在80人(70个真实玩家和10个虚拟玩家)。
[0051] 值得注意的是,上述举例中以应用程序的测试过程和参与过程为例进行说明,本申请实施例提供的应用程序的控制方法还可以应用于应用程序的其他过程中,本申请实施例对此不加以限定。
[0052] 值得注意的是,上述举例中以该应用程序为FPS游戏为例进行说明,实际操作中,该应用程序还可以实现为社交应用程序、金融类应用程序、即时通讯应用程序、效率管理类应用程序等,本申请实施例对此不加以限定。
[0053] 结合上述实施环境以及应用场景,对本申请实施例中涉及的应用程序的控制方法进行说明,图2是本申请一个示例性实施例提供的应用程序的控制方法的流程图,以该方法应用于如图1所示的测试服务器中为例进行说明,如图2所示,该方法包括:
[0054] 步骤201,接收应用程序客户端发送的服务创建请求,该服务创建请求中包括目标应用程序的标识。
[0055] 可选地,该应用程序客户端中运行有目标应用程序,该测试服务器中包括至少两个应用程序对应的规则,其中,目标应用程序对应预设规则,可选地,该规则用于根据运行数据对操作指令进行匹配。
[0056] 可选地,该应用程序客户端包括运行客户端和代理客户端,其中,运行客户端中安装并运行有目标应用程序,该运行客户端和代理客户端中集成有自动化测试框架,该代理客户端通过自动化测试框架从运行客户端中获取运行数据。
[0057] 可选地,由代理客户端向测试服务器发送服务创建请求,该服务创建请求中包括上述目标应用程序的标识。
[0058] 步骤202,基于服务创建请求创建与目标应用程序对应的服务容器。
[0059] 可选地,测试服务器中提供有AI服务管理平台,代理客户端与测试服务器之间首先建立TCP连接后,通过该TCP连接从测试服务器中申请得到服务IP、端口、key值等参数,并向测试服务器发送该服务创建请求,可选地,该代理客户端还需要与运行客户端之间建立连接从而接入该测试服务器的服务容器。
[0060] 可选地,测试服务器基于服务创建请求生成校验值、服务IP地址和端口号,根据校验值、服务IP地址和端口号创建服务容器,当接收到应用程序客户端发送的连接请求时,通过校验值、服务IP地址和端口号校验应用程序客户端的访问合法性。
[0061] 示意性的,请参考图3,是本申请一个示例性实施例提供的代理客户端接入服务容器的过程流程图,如图3所示,该过程包括:步骤301,代理客户端从AI服务管理平台申请得到服务IP、端口号、key值。可选地,该服务IP、端口号、key值用于向代理客户端提供服务容器对应的资源。步骤302,在代理客户端中填写服务创建请求对应的配置参数。可选地,该配置参数中包括待进行AI处理的应用程序标识,如:应用程序的名称、应用程序的标识码等。步骤303,代理客户端与运行应用程序的运行客户端连接。可选地,该代理客户端与运行客户端之间通过自动化测试框架连接。步骤304,启动代理客户端的测试功能。步骤305,代理客户端接入测试服务器提供的服务容器。
[0062] 步骤203,从应用程序客户端获取目标应用程序的运行数据。
[0063] 可选地,该运行数据为目标应用程序在运行过程中生成的任意形式的数据,如:虚拟环境中的环境数据、虚拟对象对应的数据、进度数据、视频数据、程序运行模式数据等。
[0064] 可选地,该运行数据为JavaScript对象简谱(JavaScript Object Notation,JSON)格式的数据,简称为JSON数据。
[0065] 示意性的,以该目标应用程序实现为FPS游戏为例进行说明,则该运行数据包括虚拟环境的环境数据(如:敌人位置、载具位置、的位置、窗的位置、房屋的位置、安全区的中心位置、安全区半径)、虚拟对象的状态数据(如:虚拟对象的位置坐标、虚拟对象的视角度、持有治疗物品的情况、生命值信息、所受伤害信息、所持枪支的子弹数量)、FPS游戏的运行模式数据等。
[0066] 示意性的,结合上述FPS游戏中的数据类型,该测试服务器单次获取的JSON数据如下所示:
[0067]
[0068]
[0069]
[0070] 其中,GameMode用于表示游戏模式为PVP模式,GameState用于表示游戏状态为StartGame(已开始)状态,SelfPos用于表示虚拟对象的位置坐标,其中,x轴坐标为8.084824562072754,y轴坐标为-9.378540992736816,z轴坐标为-14.430070877075195,HurtDirection用于表示虚拟对象的受攻击方向,RemainAmmo用于表示虚拟对象持枪的剩余子弹数量,CarrierPosList用于表示虚拟对象周侧的载具队列,HasbloodPack用于表示虚拟对象持有治疗物品的情况,PlayerDirection用于表示虚拟对象周侧的敌人方向,SelfMapPos用于表示虚拟对象在游戏小地图中的坐标,WindowPosList用于表示虚拟对象周侧的窗户列表,HousePosList用于表示虚拟对象周侧的房屋列表,HP用于表示虚拟对象的生命值,DoorPosList用于表示虚拟对象周侧的门列表,SafeArea用于表示安全区,其中,Radius表示安全区的半径,Pos表示安全区中心点的坐标,DroppedPickUpList用于表示虚拟对象周侧可捡拾物品列表,Camp表示虚拟对象的阵营为Guarder,也即守卫者,EnemyPosList表示敌人方位的列表,AngleY用于表示敌人的方向。
[0071] 步骤204,利用与目标应用程序对应的预设规则获取运行数据对应的目标操作指令。
[0072] 可选地,该预设规则为将运行数据输入目标操作匹配模型,并输出得到目标操作指令。
[0073] 可选地,该目标操作匹配模型包括强化学习模型、深度神经网络模型以及策略树模型中的任意一种,其中,强化学习模型是通过定义奖励函数并优化模型参数进行训练得到的模型,深度神经网络模型是通过样本运行数据和样本操作进行训练得到的模型,策略树模型是通过硬编码规则编码得到的模型。
[0074] 可选地,将运行数据输入强化学习模型,得到目标操作指令;或,将运行数据输入深度神经网络模型,得到目标操作指令;或,将运行数据输入策略树模型,得到目标操作指令。
[0075] 可选地,测试服务器中包括与至少两个应用程序对应的规则,其中,目标与应用程序与预设规则对应。
[0076] 步骤205,将目标操作指令发送至应用程序客户端,该目标操作指令用于对目标应用程序的运行进行对应的控制。
[0077] 可选地,测试服务器匹配得到目标操作指令后,将该目标操作指令发送至应用程序客户端,应用程序客户端根据该目标操作指令对目标应用程序的运行进行对应的控制。
[0078] 可选地,应用程序客户端用于根据目标操作指令调用触屏动作接口对目标应用程序的运行进行对应的控制,其中,触屏动作接口用于在目标应用程序的程序界面中释放触点;或,该应用程序客户端用于根据目标操作指令调用程序动作接口对目标应用程序的运行进行对应的控制,其中,程序动作接口用于对程序界面中对象的移动进行控制。
[0079] 示意性的,以该FPS游戏为例进行说明,该目标操作指令包括如下操作中的任意一种:1、复位操作(ACTION_ID_RESET=0);2、开火操作(ACTION_ID_FIRE=1);3、扔手雷操作(ACTION_ID_SHOULEI=2);4、跳跃操作(ACTION_ID_JUMP=3);5、蹲下操作(ACTION_ID_CROUCH=4);6、装填子弹操作(ACTION_ID_REAMMO=5);7、瞄准操作(ACTION_ID_ADS=6);8、切换武器1(ACTION_ID_WEAPON1=7);9、切换武器2(ACTION_ID_WEAPON2=8);10、跳伞操作(ACTION_ID_SKYDIVING=9);11、移动操作(ACTION_ID_MOVING=10);12、转向操作(ACTION_ID_TURNING=11);13、游泳操作(ACTION_ID_SWIM=12);14、医疗操作(ACTION_ID_MED=13);15、开门操作(ACTION_ID_OPENDOOR=14);16、拾取操作(ACTION_ID_PICK=
15);17、驾驶操作(ACTION_ID_DRIVE=16);18、下车操作(ACTION_ID_GETOFF=17);19、打开背包操作(ACTION_ID_OPENBAG=18);20、选择背包中的武器A(ACTION_ID_WEAPON_SLOT_A=19);21、丢弃操作(ACTION_ID_DROPALL=20);22、关闭背包(ACTION_ID_CLOSEBAG=
21)。
[0080] 可选地,上述操作的实现依赖于触屏接口或FPS游戏内提供的接口,其中包括:
[0081] 第一,触屏动作接口:
[0082] touchDown(contactId,x,y),也即使用contactId触点按压坐标(x,y);
[0083] touchMove(contactId,x,y),也即移动contactId触点到坐标(x,y);
[0084] touchUp(contactId),也即释放contactId触点。
[0085] 第二,游戏动作接口:
[0086] set_player_rotation(x,y),也即以屏幕中心为原点向(x,y)坐标移动虚拟对象的朝向。
[0087] 请参考图4,当接收到目标操作指令410时,通过触屏动作接口420产生设备触屏事件421,或通过游戏动作接口430调用游戏客户端委托接口431。
[0088] 示意性的,当接收到背包打开操作时,根据该背包打开操作确定用户界面中与背包打开控件对应的位置坐标,并调用触屏接口对该背包打开控件对应的位置坐标生成触屏事件;当接收到对象移动操作时,根据该对象移动操作生成游戏动作接口,并通过该游戏动作接口对虚拟对象进行移动控制。
[0089] 综上所述,本申请实施例提供的应用程序的控制方法,通过在测试服务器中配置至少两个应用程序的操作匹配模型,当需要对目标应用程序进行测试时,仅需要将运行有该目标应用程序的应用应用程序客户端接入该测试服务器,由服务器创建服务容器并根据目标应用程序的运行数据通过该测试服务器确定目标操作指令指令,通过目标操作指令指令对该目标应用程序进行控制,应用应用程序客户端中无需针对目标应用程序的测试过程配置AI系统进行AI处理,仅需要接入测试服务器即可实现AI处理,提高了AI处理效率。
[0090] 示意性的,结合上述FPS游戏以及策略树模型为例进行说明,该策略树模型对应的AI算法如图5所示,包括如下步骤:
[0091] 步骤501,获取游戏内部数据。
[0092] 可选地,该游戏内部数据即为上述步骤202中提供的运行数据。
[0093] 步骤502,判断是否在对局内。
[0094] 可选地,根据游戏状态确定当前是否在游戏对局中。
[0095] 步骤503,当在对局中时,定时执行基本操作。
[0096] 步骤504,判断虚拟对象是否被卡住。
[0097] 步骤505,当虚拟对象被卡住时,执行随机脱困动作。
[0098] 可选地,该随机脱困动作包括移动、跳跃、蹲下等操作中的至少一种。
[0099] 步骤506,当虚拟对象未被卡住时,判断虚拟对象是否在安全区内。
[0100] 可选地,根据游戏内部数据中,虚拟对象的坐标,安全区中心点的坐标以及安全区的内径,确定该虚拟对象是否在安全区内。
[0101] 步骤507,当虚拟对象不在安全区内时,朝安全区中心移动。
[0102] 可选地,根据FPS游戏的规则,当虚拟对象不在安全区内时,虚拟环境对虚拟对象产生生命值的影响,故控制虚拟对象朝安全区移动。可选地,以安全区中心为目标,控制虚拟对象朝安全区中心移动。
[0103] 步骤508,当虚拟对象在安全区内时,判断虚拟对象附近是否有敌人。
[0104] 步骤509,当虚拟对象附近有敌人时,攻击敌人。
[0105] 可选地,由于FPS游戏中以淘汰敌人为取胜方式,故,当附近有敌人时,对该敌人进行攻击。
[0106] 步骤510,当虚拟对象附近无敌人时,判断周围是否有门窗。
[0107] 步骤511,当虚拟对象周围有门窗时,朝门窗移动。
[0108] 步骤512,当虚拟对象周围无门窗时,判断虚拟对象周围是否有载具。
[0109] 步骤513,当虚拟对象周围有载具时,朝载具移动。
[0110] 在一个可选的实施例中,该服务创建请求中还包括目标运行模式标识和创建时长,且该目标应用程序的标识、目标运行模式标识和创建时长为应用程序客户端在申请创建服务时填写得到的,图6是本申请另一个示例性实施例提供的应用程序的控制方法流程图,以该方法应用于如图1所示的应用程序客户端和测试服务器中为例进行说明,如图6所示,该方法包括:
[0111] 步骤601,应用程序客户端接收在服务创建界面中的信息输入操作。
[0112] 可选地,该服务创建界面用于对应用程序客户端所申请的服务进行填写。可选地,该信息输入操作包括对目标应用程序的标识的填写操作、对目标运行模式标识的填写操作以及对创建时长的填写操作。
[0113] 其中,目标应用程序的标识用于指示AI服务容器所对应的该目标应用程序,该目标应用程序的标识可以是该目标应用程序的名称,也可以是该目标应用程序的标识码;目标运行模式标识用于指示该目标应用程序中在进行AI服务容器的过程中的运行模式,如:该目标运行模式标识用于指示FPS游戏中以战术竞技模式运行;创建时长用于指示该目标应用程序应用该AI服务容器的时长。
[0114] 步骤602,应用程序客户端根据信息输入操作生成服务创建请求。
[0115] 可选地,该服务创建请求中包括该目标应用程序的标识、目标运行模式标识以及创建时长。
[0116] 可选地,该创建时长用于表示应用程序客户端申请的为该目标应用程序创建服务容器的要求时长。
[0117] 步骤603,应用程序客户端将服务创建请求发送至测试服务器。
[0118] 示意性的,以目标应用程序为FPS游戏为例进行说明,请参考图7,在服务创建界面700中包括游戏名称填写区域710、游戏场景填写区域720、服务类型选择区域730以及创建时长填写区域740,用户对上述填写区域填写完毕后,选择提交控件750后,应用程序客户端生成服务创建请求,并将服务创建请求发送至测试服务器,根据测试服务器对该FPS游戏对应的服务容器的创建,显示服务容器显示界面760,该服务容器显示界面760中显示有该FPS游戏当前服务容器的运行情况770。
[0119] 步骤604,测试服务器接收应用程序客户端发送的服务创建请求,该服务创建请求中包括目标应用程序的标识。
[0120] 可选地,该应用程序客户端中运行有目标应用程序,该测试服务器中包括至少两个应用程序对应的规则。
[0121] 可选地,该应用程序客户端包括运行客户端和代理客户端,其中,运行客户端中安装并运行有目标应用程序,该运行客户端和代理客户端中集成有自动化测试框架,该代理客户端通过自动化测试框架调用运行客户端的数据接口从运行客户端中获取运行数据。
[0122] 可选地,由代理客户端向测试服务器发送服务创建请求,该服务创建请求中包括上述目标应用程序的标识。
[0123] 可选地,测试服务器中提供有AI服务管理平台,代理客户端与测试服务器之间首先建立TCP连接后,通过该TCP连接从测试服务器中申请得到服务IP、端口号、key值等参数,并向测试服务器发送该服务创建请求,可选地,该代理客户端还需要与测试服务器之间建立连接从而接入该测试服务器的服务容器。
[0124] 步骤605,测试服务器根据服务创建请求创建目标应用程序对应的服务容器,并对服务容器的创建时长进行计时。
[0125] 可选地,测试服务器根据服务创建请求创建服务容器,并向成功创建的服务容器动态分配服务IP和端口。可选地,该服务IP和端口在服务容器使用完毕后由测试服务器进行回收。
[0126] 步骤606,在计时时长未达到创建时长时,测试服务器从应用程序客户端获取目标应用程序的运行数据。
[0127] 可选地,该运行数据为目标应用程序在运行过程中生成的任意形式的数据,如:虚拟环境中的环境数据、虚拟对象对应的数据、进度数据、视频数据、程序运行模式数据等。
[0128] 可选地,该运行数据为JavaScript对象简谱(JavaScript Object Notation,JSON)格式的数据,简称为JSON数据。
[0129] 可选的,该应用程序客户端包括运行客户端和代理客户端,其中,运行客户端中安装并运行有目标应用程序,运行客户端和代理客户端中集成有自动化测试框架,该代理客户端通过自动化测试框架调用运行客户端的数据接口从运行客户端中获取运行数据。可选地,测试服务器从代理客户端获取目标应用程序的运行数据。可选地,该运行数据可以是该代理客户端每隔预设时长从运行客户端中获取并发送至测试服务器的。
[0130] 可选地,该测试服务器还可以从应用程序客户端获取目标应用程序在运行过程中界面显示对应的视频数据,并对该视频帧数据进行图像识别,提取得到目标应用程序的运行数据。
[0131] 步骤607,当计时时长达到创建时长时,测试服务器结束从应用程序客户端获取目标应用程序的运行数据。
[0132] 可选地,当计时时长达到创建时长时,测试服务器回收服务容器所应用的资源并销毁服务容器。
[0133] 步骤608,测试服务器从目标操作匹配模型中确定与目标运行模式标识对应的目标子模型。
[0134] 可选地,目标操作匹配模型中包括程序运行模式对应的子模型,可选地,不同的程序运行模式对应的子模型不同或者相同。
[0135] 步骤609,测试服务器将运行数据输入目标子模型,匹配得到运行数据对应的目标操作指令。
[0136] 可选地,该测试服务器中包括支持基于纯视觉识别或者运行数据的训练和运行框架,以该框架应用于游戏AI服务提供中为例,该框架内部主要包括如图8所示的4个进程,分别为:输入输出(InputOutput,IO)进程801、管理中心(Management Center,MC)进程802、游戏图像识别进程803以及AI算法逻辑进程804,其中,IO进程801负责与应用程序客户端之间的通信,维护任务信息等功能;管理中心进程802负责分发数据、服务管理、结果存储与上报等功能;游戏图像识别进程803负责使用图像识别技术对游戏截图画面提取运行数据,可选地,由于运行数据由代理客户端通过数据接口从运行客户端中直接获取,故该游戏图像识别进程803未配置任务;AI算法逻辑进程804用于处理从游戏获取的运行数据并对应输出操作动作指令。
[0137] 步骤610,测试服务器将目标操作指令发送至应用程序客户端,该目标操作指令用于对目标应用程序的运行进行对应的控制。
[0138] 步骤611,应用程序客户端根据目标操作指令对目标应用程序的运行进行对应的控制。
[0139] 可选地,该根据目标操作指令对目标应用程序的运行进行控制的过程请参考如上步骤204,此处不再赘述。
[0140] 综上所述,本申请实施例提供的应用程序的控制方法,通过在测试服务器中配置至少两个应用程序的操作匹配模型,当需要对目标应用程序进行测试时,仅需要将运行有该目标应用程序的应用应用程序客户端接入该测试服务器,由服务器创建服务容器并根据目标应用程序的运行数据通过该测试服务器确定目标操作指令指令,通过目标操作指令指令对该目标应用程序进行控制,应用应用程序客户端中无需针对目标应用程序的测试过程配置AI系统进行AI处理,仅需要接入测试服务器即可实现AI处理,提高了AI处理效率。
[0141] 本实施例提供的方法,通过设置目标运行模式标识,避免在应用程序中存在多种不同的运行模式,且针对不同的运行模式操作匹配规则不同,而导致单个操作匹配模型无法实现操作匹配过程的问题。
[0142] 在一个可选的实施例中,上述测试服务器在提供服务容器的过程中,对目标应用程序的自动运行过程中的视频进行存储,并在服务容器结束后,将视频发送至应用程序客户端进行展示。图9是本申请另一个示例性实施例提供的应用程序的控制方法流程图,以该方法应用于运行客户端、代理客户端和测试服务器中为例进行说明,如图9所示,该方法包括:
[0143] 步骤901,代理客户端向测试服务器发送服务创建请求。
[0144] 可选地,该服务创建请求的生成过程请参考如上步骤601至步骤602。
[0145] 步骤902,测试服务器接收代理客户端发送的服务创建请求,该服务创建请求中包括目标应用程序的标识。
[0146] 可选地,该测试服务器中包括至少两个应用程序对应的规则。
[0147] 可选地,该应用程序客户端包括运行客户端和代理客户端,其中,运行客户端中安装并运行有目标应用程序,该运行客户端和代理客户端中集成有自动化测试框架,该代理客户端通过自动化测试框架调用运行客户端的数据接口从运行客户端中获取运行数据。
[0148] 可选地,由代理客户端向测试服务器发送服务创建请求,该服务创建请求中包括上述目标应用程序的标识。
[0149] 步骤903,测试服务器根据服务创建请求创建与目标应用程序对应的服务容器。
[0150] 步骤904,代理客户端通过调用数据接口从运行客户端中获取目标应用程序的运行数据。
[0151] 步骤905,测试服务器根据服务创建请求从代理客户端获取目标应用程序的运行数据。
[0152] 可选地,该运行数据为目标应用程序在运行过程中生成的任意形式的数据,如:虚拟环境中的环境数据、虚拟对象对应的数据、进度数据、视频数据、程序运行模式数据等。
[0153] 可选地,该运行数据为JavaScript对象简谱(JavaScript Object Notation,JSON)格式的数据,简称为JSON数据。
[0154] 步骤906,测试服务器利用与目标应用程序对应的预设规则获取运行数据对应的目标操作指令。
[0155] 可选地,该测试服务器中包括支持基于纯视觉识别或者运行数据的训练和运行框架,以该框架应用于游戏AI服务提供中为例,该框架内部主要包括输入输出进程、管理中心进程、游戏图像识别进程以及AI算法逻辑进程。
[0156] 步骤907,测试服务器将目标操作指令发送至代理客户端,该目标操作指令用于对目标应用程序的运行进行对应的控制。
[0157] 步骤908,代理客户端将目标操作指令发送至运行客户端。
[0158] 步骤909,运行客户端根据目标操作指令对目标应用程序的运行进行对应的控制。
[0159] 可选地,该根据目标操作指令对目标应用程序的运行进行控制的过程请参考如上步骤204,此处不再赘述。
[0160] 步骤910,测试服务器根据服务创建请求从应用程序客户端获取目标应用程序在运行过程中的视频帧。
[0161] 步骤911,测试服务器识别视频帧得到视频帧对应的视频帧数据。
[0162] 示意性的,以该目标应用程序实现为游戏为例进行说明,服务容器接入游戏后,游戏数据和画面帧实时传输至该测试服务器,测试服务器的管理中心进程将游戏视频存储在后台,并在对局结束时,或者在服务容器就结束时通过超文本传输协议(Hypertext Transfer Protocol,HTTP)接口上报视频和日志给服务容器报告后台,服务容器报告后台处理完成后,将视频和日志输出到web页面进行展示。该过程请参考图10,测试服务器执行步骤1010,打开视频文件,该视频文件用于存储游戏视频。步骤1020,接收游戏画面。步骤1030,将游戏画面存储到视频文件。步骤1040,判断对局是否结束。步骤1050,当对局结束时,关闭视频文件。步骤1060,上报给AI服务报告后台。步骤1070,处理视频。步骤1080,web展示。
[0163] 步骤912,测试服务器对视频帧数据进行存储。
[0164] 步骤913,根据已存储的视频帧数据生成运行视频。
[0165] 步骤914,测试服务器发布运行视频进行运行过程展示。
[0166] 可选地,服务容器的过程中,测试服务器输出运行服务报告,该运行服务报告中包括服务进度以及应用程序的运行视频,示意性的,请参考图11,服务报告展示界面1110中显示有测试任务列表,该测试任务列表中包括测试任务从目标应用程序的下载过程1120、运行过程1130、数据处理过程1140、报告生成过程1150,直至测试结束1160的进度展示。
[0167] 可选地,运行服务结束后,测试服务器将目标应用程序运行过程的视频存储并展示在web页面上,当代理客户端向测试服务器申请查看该视频时,通过web页面获取该视频进行展示。
[0168] 示意性的,请参考图12,在页面1210中显示有已完成的服务对应的视频列表1211,该视频列表中每个视频对应有应用程序的标识、版本、测试ID、创建时间以及视频查看控件,如图12所示,当接收到在视频查看控件1220上的选择操作时,显示视频播放界面1230,该视频播放界面1230用于播放该视频查看控件对应的视频内容1231。可选地,用户还可以对某一个视频进行标记,或对某个视频中的视频片段或视频帧进行标记,以表示被标记处出现漏洞。
[0169] 综上所述,本申请实施例提供的应用程序的控制方法,通过在测试服务器中配置至少两个应用程序的操作匹配模型,当需要对目标应用程序进行测试时,仅需要将运行有该目标应用程序的应用应用程序客户端接入该测试服务器,由服务器创建服务容器并根据目标应用程序的运行数据通过该测试服务器确定目标操作指令指令,通过目标操作指令指令对该目标应用程序进行控制,应用应用程序客户端中无需针对目标应用程序的测试过程配置AI系统进行AI处理,仅需要接入测试服务器即可实现AI处理,提高了AI处理效率。
[0170] 图13是本申请一个示例性实施例提供的应用程序的控制装置的结构框图,如图13所示,以该装置应用于如图1所示的测试服务器中为例进行说明,该装置包括:接收模块1310、创建模块1320、获取模块1330以及发送模块1340;
[0171] 接收模块1310,用于应用接收程序客户端发送的服务创建请求,所述服务创建请求中包括目标应用程序的标识,所述程序客户端中运行有所述目标应用程序;
[0172] 创建模块1320,用于基于所述服务创建请求创建与所述目标应用程序对应的服务容器;
[0173] 获取模块1330,用于从应用程序客户端获取所述目标应用程序的运行数据;
[0174] 所述获取模块1330,还用于利用与所述目标应用程序对应的预设规则获取所述运行数据对应的目标操作指令;
[0175] 发送模块1340,用于将所述目标操作指令发送至所述应用程序客户端,所述目标操作指令用于对所述目标应用程序的运行进行对应的控制。
[0176] 在一个可选的实施例中,所述服务创建请求中还包括:创建时长;
[0177] 所述获取模块1330,包括:
[0178] 计时单元1331,用于对所述服务容器的创建时长进行计时,所述服务容器用于在所述应用程序客户端和所述测试服务器之间建立连接;
[0179] 获取单元1332,用于在计时时长未达到所述创建时长时,从所述应用程序客户端获取所述目标应用程序的所述运行数据;
[0180] 所述获取单元1332,还用于当所述计时时长达到所述创建时长时,结束从所述应用程序客户端获取所述目标应用程序的所述运行数据。
[0181] 在一个可选的实施例中,所述服务创建请求中还包括:创建时长;
[0182] 所述获取模块1330,包括:
[0183] 计时单元1331,用于对所述服务容器的创建时长进行计时,所述服务容器用于在所述应用程序客户端和所述测试服务器之间建立连接;
[0184] 获取单元1332,用于当计时时长达到所述创建时长时,回收所述服务容器所应用的资源并销毁所述服务容器。
[0185] 在一个可选的实施例中,所述获取模块1330,还用于根据所述服务创建请求从所述应用程序客户端获取所述目标应用程序在运行过程中的视频帧;识别所述视频帧得到所述视频帧对应的视频帧数据;对所述视频帧数据进行存储;根据已存储的所述视频帧数据生成运行视频。
[0186] 在一个可选的实施例中,所述应用程序客户端包括运行客户端和代理客户端,所述运行客户端中安装并运行有所述目标应用程序,所述运行客户端和所述代理客户端中集成有自动化测试框架,所述代理客户端通过所述自动化测试框架调用所述运行客户端的数据接口从所述运行客户端中获取所述运行数据;
[0187] 所述获取模块1330,还用于根据所述服务创建请求从所述代理客户端获取所述目标应用程序的所述运行数据。
[0188] 在一个可选的实施例中,所述获取模块1330,还用于将所述运行数据输入强化学习模型,得到所述目标操作指令,其中,所述强化学习模型通过定义奖励函数并优化模型参数进行训练;
[0189] 或,
[0190] 所述获取模块1330,还用于将所述运行数据输入深度神经网络模型,得到所述目标操作指令,其中,所述深度神经网络模型通过样本运行数据和样本操作进行训练;
[0191] 或,
[0192] 所述获取模块1330,还用于将所述运行数据输入策略树模型,得到所述目标操作指令,其中,所述策略树模型是通过硬编码规则编码得到的模型。
[0193] 在一个可选的实施例中,所述创建模块1320,还用于基于所述服务创建请求生成校验值、服务IP地址和端口号;根据所述校验值、所述服务IP地址和所述端口号创建所述服务容器;当接收到应用程序客户端发送的连接请求时,通过所述校验值、所述服务IP地址和所述端口号校验所述应用程序客户端的访问合法性。
[0194] 图15是本申请一个示例性实施例提供的应用程序的控制装置的结构框图,如图15所示,以该装置应用于如图1所示的应用程序客户端中为例进行说明,该装置包括:接收模块1510、生成模块1520、发送模块1530以及控制模块1540;
[0195] 接收模块1510,用于接收在服务创建界面中的信息输入操作,所述信息输入操作中包括对目标应用程序的标识的填写操作,所述应用程序客户端中运行有所述目标应用程序;
[0196] 生成模块1520,用于根据所述信息输入操作生成服务创建请求,所述服务创建请求中包括所述目标应用程序的标识;
[0197] 发送模块1530,用于将所述服务创建请求发送至测试服务器,所述测试服务器用于根据所述服务创建请求创建于所述目标应用程序对应的服务容器;
[0198] 所述发送模块1530,还用于向所述测试服务器发送所述目标应用程序的运行数据,所述测试服务器用于根据所述运行数据和预设规则,获取所述运行数据对应的目标操作指令;
[0199] 所述接收模块1510,还用于接收所述测试服务器发送的所述目标操作指令;
[0200] 控制模块1540,用于根据所述目标操作指令对所述目标应用程序进行对应的控制。
[0201] 综上所述,本申请实施例提供的应用程序的控制装置,通过在测试服务器中配置至少两个应用程序的操作匹配模型,当需要对目标应用程序进行测试时,仅需要将运行有该目标应用程序的应用应用程序客户端接入该测试服务器,由服务器创建服务容器并根据目标应用程序的运行数据通过该测试服务器确定目标操作指令指令,通过目标操作指令指令对该目标应用程序进行控制,应用应用程序客户端中无需针对目标应用程序的测试过程配置AI系统进行AI处理,仅需要接入测试服务器即可实现AI处理,提高了AI处理效率。
[0202] 需要说明的是:上述实施例提供的应用程序的控制装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序的控制装置与应用程序的控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0203] 本申请还提供了一种服务器,该服务器包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的应用程序的控制方法。需要说明的是,该服务器可以是如下图16所提供的服务器。
[0204] 请参考图16,其示出了本申请一个示例性实施例提供的服务器的结构示意图。具体来讲:所述服务器1600包括中央处理单元(CPU)1601、包括随机存取存储器(RAM)1602和只读存储器(ROM)1603的系统存储器1604,以及连接系统存储器1604和中央处理单元1601的系统总线1605。所述服务器1600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1606,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。
[0205] 所述基本输入/输出系统1606包括有用于显示信息的显示器1608和用于用户输入信息的诸如鼠标键盘之类的输入设备1609。其中所述显示器1608和输入设备1609都通过连接到系统总线1605的输入输出控制器1610连接到中央处理单元1601。所述基本输入/输出系统1606还可以包括输入输出控制器1610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1610还提供输出到显示屏、打印机或其他类型的输出设备。
[0206] 所述大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。所述大容量存储设备1607及其相关联的计算机可读介质为服务器1600提供非易失性存储。也就是说,所述大容量存储设备1607可以包括诸如硬盘或者CD-ROI驱动器之类的计算机可读介质(未示出)。
[0207] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1604和大容量存储设备1607可以统称为存储器。
[0208] 存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1601执行,一个或多个程序包含用于实现上述机器翻译模型的训练方法或基于机器翻译模型的翻译方法的指令,中央处理单元1601执行该一个或多个程序实现上述各个方法实施例提供的应用程序的控制方法。
[0209] 根据本发明的各种实施例,所述服务器1600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1600可以通过连接在所述系统总线1605上的网络接口单元1611连接到网络1612,或者说,也可以使用网络接口单元1611来连接到其他类型的网络或远程计算机系统(未示出)。
[0210] 所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的应用程序的控制方法中由服务器所执行的步骤。
[0211] 图17示出了本发明一个示例性实施例提供的终端1700的结构框图。该终端1700可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1700还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0212] 通常,终端1700包括有:处理器1701和存储器1702。
[0213] 处理器1701可以包括一个或多个处理核心,比、如4核心处理器、8核心处理器等。处理器1701可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1701也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1701可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1701还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
[0214] 存储器1702可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1702还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1702中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1701所执行以实现本申请中方法实施例提供的应用程序的控制方法。
[0215] 在一些实施例中,终端1700还可选包括有:外围设备接口1703和至少一个外围设备。处理器1701、存储器1702和外围设备接口1703之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1703相连。具体地,外围设备包括:射频电路1704、触摸显示屏1705、摄像头1706、音频电路1707、定位组件1708和电源1709中的至少一种。
[0216] 外围设备接口1703可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1701和存储器1702。在一些实施例中,处理器1701、存储器1702和外围设备接口1703被集成在同一芯片或电路板上;在一些其他实施例中,处理器1701、存储器1702和外围设备接口1703中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0217] 射频电路1704用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1704通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1704将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路
1704包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1704可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1704还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0218] 显示屏1705用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1705是触摸显示屏时,显示屏1705还具有采集在显示屏1705的表面或表面上方的触摸信号的能。该触摸信号可以作为控制信号输入至处理器1701进行处理。此时,显示屏1705还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1705可以为一个,设置终端1700的前面板;在另一些实施例中,显示屏1705可以为至少两个,分别设置在终端1700的不同表面或呈折叠设计;在再一些实施例中,显示屏1705可以是柔性显示屏,设置在终端1700的弯曲表面上或折叠面上。甚至,显示屏1705还可以设置成非矩形的不规则图形,也即异形屏。显示屏1705可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
[0219] 摄像头组件1706用于采集图像或视频。可选地,摄像头组件1706包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1706还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0220] 音频电路1707可以包括麦克和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1701进行处理,或者输入至射频电路1704以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1700的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1701或射频电路1704的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1707还可以包括机插孔。
[0221] 定位组件1708用于定位终端1700的当前地理位置,以实现导航或LBS(Location Based Service,基于位置的服务)。定位组件1708可以是基于美国的GPS(Global Positioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0222] 电源1709用于为终端1700中的各个组件进行供电。电源1709可以是交流电、直流电、一次性电池或可充电电池。当电源1709包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0223] 在一些实施例中,终端1700还包括有一个或多个传感器1710。该一个或多个传感器1710包括但不限于:加速度传感器1711、陀螺仪传感器1712、压力传感器1713、指纹传感器1714、光学传感器1715以及接近传感器1716。
[0224] 加速度传感器1711可以检测以终端1700建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1711可以用于检测重力加速度在三个坐标轴上的分量。处理器1701可以根据加速度传感器1711采集的重力加速度信号,控制触摸显示屏1705以横向视图或纵向视图进行用户界面的显示。加速度传感器1711还可以用于游戏或者用户的运动数据的采集。
[0225] 陀螺仪传感器1712可以检测终端1700的机体方向及转动角度,陀螺仪传感器1712可以与加速度传感器1711协同采集用户对终端1700的3D动作。处理器1701根据陀螺仪传感器1712采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0226] 压力传感器1713可以设置在终端1700的侧边框和/或触摸显示屏1705的下层。当压力传感器1713设置在终端1700的侧边框时,可以检测用户对终端1700的握持信号,由处理器1701根据压力传感器1713采集的握持信号进行左右手识别或快捷操作。当压力传感器1713设置在触摸显示屏1705的下层时,由处理器1701根据用户对触摸显示屏1705的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0227] 指纹传感器1714用于采集用户的指纹,由处理器1701根据指纹传感器1714采集到的指纹识别用户的身份,或者,由指纹传感器1714根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1701授权该用户执行相关的敏感操作,该敏感操作包括解屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1714可以被设置终端1700的正面、背面或侧面。当终端1700上设置有物理按键或厂商Logo时,指纹传感器1714可以与物理按键或厂商Logo集成在一起。
[0228] 光学传感器1715用于采集环境光强度。在一个实施例中,处理器1701可以根据光学传感器1715采集的环境光强度,控制触摸显示屏1705的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1705的显示亮度;当环境光强度较低时,调低触摸显示屏1705的显示亮度。在另一个实施例中,处理器1701还可以根据光学传感器1715采集的环境光强度,动态调整摄像头组件1706的拍摄参数。
[0229] 接近传感器1716,也称距离传感器,通常设置在终端1700的前面板。接近传感器1716用于采集用户与终端1700的正面之间的距离。在一个实施例中,当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变小时,由处理器1701控制触摸显示屏1705从亮屏状态切换为息屏状态;当接近传感器1716检测到用户与终端1700的正面之间的距离逐渐变大时,由处理器1701控制触摸显示屏1705从息屏状态切换为亮屏状态。
[0230] 本领域技术人员可以理解,图17中示出的结构并不构成对终端1700的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0231] 本申请实施例还提供一种计算机设备,该计算机设备包括存储器和处理器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并实现上述如图2、图6以及图9任一所述的应用程序的控制方法。
[0232] 本申请实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图2、图6以及图9任一所述的应用程序的控制方法。
[0233] 本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行以实现如图2、图6以及图9任一所述的应用程序的控制方法。
[0234] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图2、图6以及图9任一所述的应用程序的控制方法。
[0235] 可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance Random Access Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0236] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0237] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈