CN111298434A - 业务处理方法、装置、设备及存储介质 - Google Patents
业务处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111298434A CN111298434A CN202010116697.4A CN202010116697A CN111298434A CN 111298434 A CN111298434 A CN 111298434A CN 202010116697 A CN202010116697 A CN 202010116697A CN 111298434 A CN111298434 A CN 111298434A
- Authority
- CN
- China
- Prior art keywords
- script
- image matching
- image
- matching
- target
- 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了业务处理方法、装置、设备及存储介质,属于计算机技术领域。方法包括:获取目标脚本文件;基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果;响应于第一图像匹配结果为匹配失败,基于第二脚本指示的第一处理逻辑,执行第一处理操作,在第一处理操作执行结束后,返回执行第一图像匹配操作,直至第一图像匹配结果为匹配成功;响应于第一图像匹配结果为匹配成功,基于第三脚本指示的第二处理逻辑,执行第二处理操作,使游戏加载至目标界面。基于上述过程,板卡模块可以自动执行将游戏加载至目标界面的操作,无需服务器的控制,有利于节省服务器资源,游戏加载业务的处理效果较好。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种业务处理方法、装置、设备及存储介质。
背景技术
云游戏又可称为游戏点播,是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的终端设备能够运行高品质游戏。在云游戏场景下,游戏并不在用户终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为音视频流,通过网络传输给用户终端。用户终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取用户输入指令并发送给云端服务器的能力即可。
目前,在推广云游戏的过程中,为了让用户快速上手试玩某个游戏场景或者游戏关卡,云端服务器根据人工智能算法实时控制各个板卡模块,使各个板卡模块中的游戏加载至指定游戏界面,然后由各个板卡模块分别将指定游戏界面对应的音视频流推送至用户终端,供用户从指定游戏界面开始对游戏进行试玩。在上述过程中,人工智能算法的训练过程耗时较长。此外,由于云端服务器中的板卡模块数量众多,且不同板卡模块中涉及的游戏场景可能不同,所以云端服务器实时控制各个板卡模块所需的成本较高,耗费大量的服务器资源,游戏加载业务的处理效果较差。
发明内容
本申请实施例提供了一种业务处理方法、装置、设备及存储介质,可用于提高游戏加载业务的处理效果。所述技术方案如下:
一方面,本申请实施例提供了一种业务处理方法,所述方法包括:
获取目标脚本文件,所述目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,所述目标脚本文件中包括第一脚本、第二脚本和第三脚本;
基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果;
响应于所述第一图像匹配结果为匹配失败,基于所述第二脚本指示的第一处理逻辑,执行第一处理操作,在所述第一处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,直至所述第一图像匹配结果为匹配成功;
响应于所述第一图像匹配结果为匹配成功,基于所述第三脚本指示的第二处理逻辑,执行第二处理操作,使所述游戏加载至所述目标界面。
另一方面,提供了一种业务处理装置,所述装置包括:
获取单元,用于获取目标脚本文件,所述目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,所述目标脚本文件中包括第一脚本、第二脚本和第三脚本;
第一执行单元,用于基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果;
第二执行单元,用于响应于所述第一图像匹配结果为匹配失败,基于所述第二脚本指示的第一处理逻辑,执行第一处理操作,在所述第一处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,直至所述第一图像匹配结果为匹配成功;
第三执行单元,用于响应于所述第一图像匹配结果为匹配成功,基于所述第三脚本指示的第二处理逻辑,执行第二处理操作,使所述游戏加载至所述目标界面。
在一种可能实现方式中,所述第二脚本中包括多个第一子脚本和与每个第一子脚本对应的第二子脚本,所述第一处理逻辑中包括每个第一子脚本指示的第二图像匹配逻辑和每个第二子脚本指示的第三处理逻辑;所述第二执行单元,用于基于所述多个第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作,得到第二图像匹配结果;响应于任一第二图像匹配结果为匹配成功,基于目标第二子脚本指示的第三处理逻辑,执行第三处理操作,所述目标第二子脚本为与目标第一子脚本对应的第二子脚本,所述目标第一子脚本为与所述任一第二图像匹配结果对应的第一子脚本;在所述第三处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
在一种可能实现方式中,所述第二执行单元,还用于响应于各个第二图像匹配结果均为匹配失败,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
在一种可能实现方式中,所述第二执行单元,还用于响应于所述第一图像匹配结果为匹配失败,将匹配次数增加参考数值,得到更新后的匹配次数;响应于所述更新后的匹配次数不超过次数阈值,基于所述第二脚本指示的第一处理逻辑,执行所述第一处理操作。
在一种可能实现方式中,所述装置还包括:
生成单元,用于基于所述目标界面,生成目标音视频流;
发送单元,用于将所述目标音视频流发送至目标终端。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一所述的业务处理方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一所述的业务处理方法。
本申请实施例提供的技术方案至少带来如下有益效果:
板卡模块可以根据目标脚本文件中的第一脚本、第二脚本和第三脚本,自动执行将游戏加载至目标界面的操作,无需服务器的控制,有利于节省服务器资源。此外,目标脚本文件的配置过程简单方便,无需耗费训练成本,游戏加载业务的处理效果较好。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务处理方法的实施环境的示意图;
图2是本申请实施例提供的一种业务处理方法的流程图;
图3是本申请实施例提供的一种基于目标脚本文件将游戏加载至目标界面的过程示意图;
图4是本申请实施例提供的一种目标脚本文件的示意图;
图5是本申请实施例提供的一种确定第一图像匹配结果的示意图;
图6是本申请实施例提供的一种异常场景的示意图;
图7是本申请实施例提供的一种异常场景的示意图;
图8是本申请实施例提供的一种异常场景的示意图;
图9是本申请实施例提供的一种异常场景的示意图;
图10是本申请实施例提供的一种目标脚本文件的示意图;
图11是本申请实施例提供的一种目标脚本文件的示意图;
图12是本申请实施例提供的一种将游戏加载至目标界面的过程示意图;
图13是本申请实施例提供的一种登录界面的示意图;
图14是本申请实施例提供的一种比赛模式选择界面的示意图;
图15是本申请实施例提供的一种对抗模式选择界面的示意图;
图16是本申请实施例提供的一种游戏角色选择界面的示意图;
图17是本申请实施例提供的一种业务处理过程的示意图;
图18是本申请实施例提供的一种业务处理装置的示意图;
图19是本申请实施例提供的一种业务处理装置的示意图;
图20是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及到的几个名词进行解释。
云游戏:又可称为游戏点播,是一种以云计算技术为基础的在线游戏技术。在云游戏场景下,游戏并不在用户终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为音视频流,通过网络传输给用户终端。用户终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取用户输入指令并发送给云端服务器的能力即可。
板卡模块:云端服务器中用于与用户终端进行远程交互的模块,板卡模块没有终端屏幕,但可以运行终端屏幕上的游戏。
脚本:一种以xml(Extensible Markup Language,可扩展标记语言)文本格式保存的程序。一般来说,计算机脚本是确定的一系列控制计算机进行运算操作动作的组合,在脚本中可以实现一定的逻辑功能,脚本需要通过系统程序解释执行。脚本比较接近自然语言,可以不经编译而是解释执行,利于快速开发。正是因为脚本的简单灵活,脚本在软件开发中已经被非常普遍地使用。脚本近几年被大规模地应用在游戏开发中,比如,利用脚本实现任务、AI
(Artificial Intelligence,人工智能)、GUI(Graphical User Interface,图形用户界面)等游戏功能。
ROI(Region of Interest):兴趣区域。本申请实施例中利用兴趣区域来进行图像匹配,超出兴趣区域的图像不会被识别和计算,主要用于加快匹配速度和排除一些区域性干扰。
随着近年来游戏产业、终端技术和网络带宽的高速发展,在线游戏已经成为人们生活中不可或缺的互联网应用;另外,云计算技术的日趋成熟催生了“瘦终端-云”的服务模式,在这种模式下,用户的终端设备与云端高性能计算资源互联,可以享受到高质量的云服务,将这种模式应用到在线游戏环境滋生了一种新型的云计算服务——云游戏。
云游戏技术使图形处理与数据运算能力相对有限的终端设备能够运行高品质游戏。在云游戏场景下,游戏并不在用户终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为音视频流,通过网络传输给用户终端。用户终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取用户输入指令并发送给云端服务器的能力即可。通过云游戏技术,用户可以通过任意的终端设备(如个人电脑,平板,手机等)在任意的地点、任意的时间访问游戏,如此,降低了用户玩游戏的门槛。
在推广云游戏的过程中,为了让玩家快速上手试玩某个游戏场景或者游戏关卡,需要将云游戏加载至指定游戏界面,然后将指定游戏界面对应的音视频流推送至用户终端,供玩家从指定游戏界面开始对游戏进行试玩。
对此,本申请实施例提供了一种业务处理方法,以处理游戏的加载业务。请参考图1,其示出了本申请实施例提供的业务处理方法的实施环境的示意图。该实施环境可以包括:服务器11和终端12。
其中,服务器11中具有多个板卡模块,每个板卡模块上均能够运行游戏,在运行游戏的过程中,任一板卡模块均可以利用本申请实施例提供的方法将游戏加载至目标界面,然后将目标界面对应的音视频流发送至终端12,由终端12的用户从目标界面开始试玩游戏。在一种可能实现方式中,本申请实施例中的游戏为云游戏。
在一种可能实现方式中,服务器11可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云端服务器。终端12可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端12以及服务器11可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本领域技术人员应能理解上述服务器11和终端12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
基于上述图1所示的实施环境,本申请实施例提供一种业务处理方法,以该方法应用于云端服务器中的板卡模块为例。如图2所示,本申请实施例提供的方法可以包括如下步骤:
在步骤201中,获取目标脚本文件,目标脚本文件中包括第一脚本、第二脚本和第三脚本。
其中,目标脚本文件用于描述将游戏加载至目标界面的业务逻辑。目标界面是指供用户试玩的游戏开始界面。
本申请实施例中的板卡模块是指云游戏对应的云端服务器中的任意板卡模块。板卡模块可以运行云游戏,还可以通过与用户终端的交互过程使用户享受云游戏。通常情况下,板卡模块与用户终端的交互过程为:板卡模块将游戏界面对应的音视频流发送至用户终端,用户终端对音视频流进行解码,然后展示游戏界面;用户终端获取用户在游戏界面中的操作信息,将操作信息发送至板卡模块;板卡模块根据用户在游戏界面中的操作信息完成游戏界面的渲染,然后将渲染后的游戏界面对应的音视频流发送至用户终端。基于上述交互过程,用户可以通过任意的终端设备(如个人电脑,平板,手机等)在任意的地点、任意的时间访问云游戏,如此,降低了用户玩游戏的门槛。
目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,将游戏加载至目标界面的业务逻辑用于指示如何将游戏加载至目标界面。板卡模块可以利用目标脚本文件使游戏加载至目标界面。在本申请实施例中,目标脚本文件中包括但不限于第一脚本、第二脚本和第三脚本。其中,第一脚本用于指示第一图像匹配逻辑,第二脚本用于指示图像匹配失败时的第一处理逻辑,第三脚本用于指示图像匹配成功时的第二处理逻辑。在一种可能实现方式中,目标脚本文件为xml(Extensible Markup Language,可扩展标记语言)文件。
在一种可能实现方式中,在目标脚本文件的脚本中,可以设置多个用于实现不同逻辑的功能节点。示例性地,目标脚本文件的脚本中可以包括的功能节点及其相关介绍可以如表1所示:
表1
每个match节点表示一个加载步骤,match节点可以嵌套,以形成一条完整的链路来描述游戏的加载步骤。一个加载步骤是指从当前游戏界面加载至下一个游戏界面的步骤。在执行每个加载步骤的过程中,可能因遇到一些异常场景而导致图像匹配失败,此时,需要trueCase或falseCase节点来帮忙处理这些异常场景。
需要说明的是,将游戏加载至目标界面的过程可能包括一个或多个连续的加载步骤,每个加载步骤均对应一个目标脚本文件。也就是说,目标脚本文件的数量可能为一个或多个。在本申请实施例中,以将游戏加载至目标界面的过程仅包括一个加载步骤为例进行说明,也就是说,本申请实施例中的目标脚本文件的数量为一个。对于将游戏加载至目标界面的过程包括多个连续的加载步骤情况,可以基于本申请实施例提供的方法根据各个目标脚本文件依次执行各个加载步骤。
在步骤202中,基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果。
在一种可能实现方式中,该步骤202的实现过程包括步骤2021至步骤2023:
步骤2021:对第一脚本进行解析,获取与第一图像匹配逻辑对应的模板图像、目标图像和图像匹配阈值。
第一图像匹配逻辑用于指示如何进行第一图像匹配过程,第一脚本中可以用多个参数来描述第一图像匹配逻辑,例如,模板图像的参数、图像匹配兴趣区域的参数和图像匹配阈值等。板卡模块对第一脚本进行解析,也就是对第一脚本中的多个参数进行解析,该解析过程可以得到与第一图像匹配逻辑对应的模板图像、目标图像和图像匹配阈值。其中,模板图像是指标准图像,目标图像是指用于与模板图像进行匹配的图像。
在一种可能实现方式中,板卡模块对第一脚本进行解析,获取与第一图像匹配逻辑对应的模板图像、目标图像和图像匹配阈值的过程包括以下三个步骤:
步骤1:板卡模块对第一脚本进行解析,得到模板图像的参数、图像匹配兴趣区域的参数和图像匹配阈值。
模板图像的参数可以是指模块图像的标识信息,模块图像的标识信息用于唯一标识该模板图像。模块图像的标识信息可以是指模板图像的编号、模板图像的名称等,本申请实施例对此不加以限定。
图像匹配兴趣区域的参数用于唯一确定一个兴趣区域。在一种可能实现方式中,图像匹配兴趣区域的参数中可以包括四个子参数,分别为图像匹配兴趣区域的左上角的横坐标、图像匹配兴趣区域的左上角的纵坐标、图像匹配兴趣区域的长度和图像匹配兴趣区域的宽度。在实际应用场景中,图像匹配兴趣区域的参数可以由开发人员根据游戏显示界面的大小和待匹配的图像在游戏显示界面中的位置确定。
图像匹配阈值可以根据经验设置,也可以根据图像匹配方法的类型灵活调整,本申请实施例对此不加以限定。图像匹配阈值越大,说明图像匹配的相似度要求就越高。
在一种可能实现方式中,第一脚本中还可以包括次数阈值、时间间隔阈值以及图像匹配算法的参数等。其中,次数阈值用于限制基于第一图像匹配逻辑执行第一图像匹配操作的最大次数;时间间隔阈值用于限制执行两次第一图像匹配操作的最小时间间隔;图像匹配算法的参数用于指示使用哪种图像匹配算法进行图像匹配。通过对第一脚本进行解析,板卡模块还可以得到匹配次数阈值、时间间隔阈值和图像匹配算法的参数等。
在得到图像匹配算法的参数后,板卡模块可以获取与第一图像匹配逻辑对应的图像匹配算法。在一种可能实现方式中,板卡模块中存储有参数与备选的图像匹配算法的对应关系,在得到图像匹配方法的参数后,板卡模块可以在参数与备选的图像匹配算法的对应关系中确定与图像匹配参数对应的图像匹配算法,该图像匹配算法即为与第一图像匹配逻辑对应的图像匹配算法。本申请实施例对参数与备选图像匹配算法的对应关系的建立方式不加以限定,对备选的图像匹配算法的类型也不加以限定。例如,备选的图像匹配算法可以包括模板匹配算法和轮廓匹配算法等。
步骤2:板卡模块基于模板图像的参数,获取与第一图像匹配逻辑对应的模板图像。
在一种可能实现方式中,模板图像的参数可以是指模板图像的标识信息。板卡模型基于模板图像的参数,获取与第一图像匹配逻辑对应的模板图像的方式包括但不限于以下两种:
方式一:板卡模块根据模板图像的标识信息,在本地提取模板图像。
在基于此种方式获取与第一图像匹配逻辑对应的模板图像之前,板卡模块可以获取多个备选的模板图像,然后将每个备选的模板图像和该备选的模板图像的标识信息对应存储在本地。备选的模板图像可以由开发人员在游戏的开发终端进行截取并发送至云端服务器,然后由云端服务器将各个备选的模板图像发送至各个板卡模块。
在将每个备选的模板图像和该备选的模板图像的标识信息对应存储在本地之后,板卡模块可以根据模板图像的标识信息,直接在本地提取与模板图像的标识信息对应的模块图像。此种方式,有利于提高模板图像的获取速度。
方式二:板卡模块向云端服务器发送模板图像获取请求,该模板图像获取请求中包括模板图像的标识信息;云端服务器将与模板图像的标识信息对应的模板图像发送至板卡模块,由此,板卡模块获取模板图像。
此种方式,无需板卡模块预先存储备选的模板图像,有利于节省板卡模块的存储空间。
步骤3:板卡模块基于图像匹配兴趣区域的参数,获取与第一图像匹配逻辑对应的目标图像。
由于图像匹配兴趣区域的参数用于唯一确定一个兴趣区域,所以,板卡模块可以根据图像匹配兴趣区域的参数,直接确定当前游戏界面中与第一图像匹配逻辑对应的图像匹配兴趣区域。将当前游戏界面中的图像匹配兴趣区域对应的图像作为与第一图像匹配逻辑对应的目标图像。
步骤2022:将模板图像和目标图像进行匹配,得到图像匹配分值。
板卡模块在得到模板图像和目标图像后,利用与第一图像匹配逻辑对应的图像匹配算法,将模板图像和目标图像进行匹配,得到图像匹配分值。本申请实施例对匹配过程不加以限定,不同的匹配算法可能对应有不同的匹配过程。无论是哪种匹配过程,均可以得到用于指示两个图像之间的相似程度的图像匹配分值。图像匹配分值越大,说明两个图像之间的相似程度越大;图像匹配分值越小,说明两个图像之间的相似程度越小。
在一种可能实现方式中,板卡模块可以基于图像匹配程序执行该步骤2022。图像匹配程序可以是指OpenCV(开源计算机视觉库)程序。OpenCV程序可以用C++程序编写调用。由于板卡模块的性能不如电脑和服务器,此时板卡模块中已经运行了游戏,所以使用执行效率高的C++程序来进行图像匹配的效率较高,效果较好。
步骤2023:响应于图像匹配分值低于图像匹配阈值,第一图像匹配结果为匹配失败;响应于图像匹配分值不低于图像匹配阈值,第一图像匹配结果为匹配成功。
在得到图像匹配分值后,将图像匹配分值和图像匹配阈值进行比对,以确定第一图像匹配结果。当图像匹配分值低于图像匹配阈值时,可以确定第一图像匹配结果为匹配失败,此时,执行步骤203;当图像匹配分值不低于图像匹配阈值时,可以确定第一图像匹配结果为匹配成功,此时,执行步骤204。
示例性地,基于目标脚本文件将游戏加载至目标界面的过程可以如图3中的301-303所示。301、获取目标脚本文件:目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,目标脚本文件中包括第一脚本、第二脚本和第三脚本。302、板卡模块中的图像匹配程序执行第一图像匹配操作:图像匹配程序解析目标脚本文件中的第一脚本;根据第一脚本中的参数,执行第一图像匹配操作。303、板卡模块执行后续处理操作:根据第一图像匹配结果为匹配成功还是匹配失败,执行不同的后续处理操作。
示例性地,,目标脚本文件可以如图4所示。第一脚本可以如图4中的401所示,在401中,第一脚本指示的第一图像匹配逻辑基于match节点实现;“检测进入游戏按钮”为第一脚本的注释,说明第一脚本的作用为检测当前游戏界面中是否具有进入游戏按钮;“name=match_main”表示图像匹配操作的名称为match_main;“template=tmp_main_start.png”表示模板图像的名称为tmp_main_start.png,该模板图像为进入游戏按钮的图像;“hessian=500”表示图像匹配阈值为500;“retry=5000”表示匹配次数阈值为5000;“delay=1000”表示时间间隔阈值为1000毫秒;“ROI=151,1030,444,242”表示图像匹配兴趣区域的参数,其中,155和1030分别表示图像兴趣区域的左上角的横坐标和纵坐标,444表示图像匹配兴趣区域的长度,242表示图像匹配兴趣区域的宽度;“method=surf”表示与第一图像匹配逻辑对应的图像匹配算法为surf(Speed up Robust Feature,加速稳健特征)算法。在基于第一脚本401指示的第一图像逻辑执行第一图像匹配操作后,可以得到第一图像匹配结果,然后基于第一图像匹配结果,执行后续步骤。
示例性地,在实际游戏场景中,确定第一图像匹配结果的示意图可以如图5所示。如图5中的(1)图表示进入游戏按钮的图像(模板图像),图5中的(2)图中的501所在区域表示图像匹配兴趣区域。在此种情况下,若当前游戏界面为图5中的(3)图所示的游戏界面,则图像匹配兴趣区域对应的目标图像与模板图像匹配,此时,第一图像匹配结果为匹配成功;若当前游戏界面为图5中的(4)图所示的游戏界面,则图像匹配兴趣区域对应的目标图像与模板图像不匹配,此时,第一图像匹配结果为匹配失败。
在步骤203中,响应于第一图像匹配结果为匹配失败,基于第二脚本指示的第一处理逻辑,执行第一处理操作,在第一处理操作执行结束后,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,直至第一图像匹配结果为匹配成功。
第二脚本指示的第一处理逻辑为第一图像结果为匹配失败时的处理逻辑,该第一处理逻辑用于指示在图像匹配失败时如何进行处理。在第一图像匹配的结果为匹配失败时,板卡模块可以基于第二脚本指示的第一处理逻辑执行第一处理操作,该第一处理操作为处理第一图像结果为匹配失败的情况的操作。第二脚本可以由开发人员根据游戏类型、游戏场景进行设计,本申请实施例对此不加以限定。
在一种可能实现方式中,响应于第一图像匹配结果为匹配失败,板卡模块将匹配次数增加参考数值,得到更新后的匹配次数;响应于更新后的匹配次数不超过次数阈值,基于第二脚本指示的第一处理逻辑,执行第一处理操作。参考数值可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定,例如,参考数值可以设置为1,此时,每匹配失败一次,将匹配次数增加1。
在一种可能实现方式中,第二脚本中包括多个第一子脚本和与每个第一子脚本对应的第二子脚本,第一处理逻辑中包括每个第一子脚本指示的第二图像匹配逻辑和每个第二子脚本指示的第三处理逻辑。在此种情况下,板卡模块基于第二脚本指示的第一处理逻辑,执行第一处理操作,在第一处理操作执行结束后,返回执行基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作的过程可以包括步骤2031至步骤2033:
步骤2031:基于多个第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作,得到第二图像匹配结果。
第一子脚本指示的第二图像匹配逻辑用于指示在第一图像匹配结果为匹配失败时如何进一步进行图像匹配。与第一脚本类似,第一子脚本中可以用多个参数来描述第二图像匹配逻辑。示例性地,第一子脚本中同样可以包括模板图像的参数、图像匹配兴趣区域的参数、图像匹配阈值和图像匹配方法的参数等参数。但是,需要说明的是,因为在每次第一图像匹配的结果为匹配失败时,第二图像匹配操作只执行一次,所以,第一子脚本中不包括次数阈值和时间间隔阈值。
板卡模块可以根据第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作,得到第二图像匹配结果。此过程可以参见执行第一图像匹配操作的过程,此处不再赘述。
在一种可能实现方式中,板卡模块基于多个第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作的过程为:板卡模块依次基于各个第一子脚本指示的第二图像匹配逻辑,执行各个第二图像匹配操作,得到各个第二图像匹配结果。在执行各个第二图像匹配操作,得到各个第二图像匹配结果的过程中,只要存在任一第二图像匹配结果为匹配成功,则停止执行后续的第二图像匹配操作,执行步骤2032。
需要说明的是,每个第一子脚本用于判断是否存在某种异常场景,异常场景是指导致第一图像匹配结果为匹配失败的场景。也就是说,每个第一子脚本对应一种异常场景。示例性地,当第一图像匹配操作为匹配当前游戏界面是否存在进入游戏按钮的图像时,有可能出现以下4种异常场景导致无法匹配到进入游戏按钮的图像:
异常场景1:在当前游戏界面中出现新用户隐私协议弹窗,该新用户隐私协议弹窗遮挡了进入游戏按钮的图像。该种异常场景可以如图6所示,新用户隐私协议弹窗可以如601所示,该新用户隐私协议弹窗用于告知用户,在使用游戏之前,需要先阅读并同意游戏用户协议和隐私保护指引。在新用户隐私协议弹窗601中,包括拒绝按钮602和同意按钮603。
该种异常场景对应的第一子脚本指示的第二图像匹配逻辑为匹配当前游戏界面中是否存在新用户隐私协议弹窗的图像。基于该种异常场景对应的第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作的过程为:将新用户隐私协议弹窗模板图像和新用户隐私协议弹窗兴趣区域对应的图像进行匹配。
异常场景2:在当前游戏界面中出现更新提示页面,该更新提示页面遮挡了进入游戏按钮的图像。该种异常场景可以如图7所示,图7所示的更新提示页面用于引导用户更新游戏版本。在图7所示的更新提示页面中,包括退出按钮701和更新按钮702。
该种异常场景对应的第一子脚本指示的第二图像匹配逻辑为匹配当前游戏界面中是否存在更新提示页面的图像。基于该种异常场景对应的第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作的过程为:将更新提示页面模板图像和更新提示页面兴趣区域对应的图像进行匹配。
异常场景3:在当前游戏界面中出现游戏赛事直播提示页面,该游戏赛事直播提示页面遮挡了进入游戏按钮的图像。该种异常场景可以如图8所示,图8所示的游戏赛事直播提示页面用于引导用户观看游戏赛事直播。在图8所示的游戏赛事直播提示页面中,包括关闭图标801和前往观赛按钮802。
该种异常场景对应的第一子脚本指示的第二图像匹配逻辑为匹配当前游戏界面中是否存在游戏赛事直播提示页面的图像。基于该种异常场景对应的第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作的过程为:将游戏赛事直播提示页面模板图像和游戏赛事直播提示页面兴趣区域对应的图像进行匹配。
异常场景4:在当前游戏界面中出现公告弹窗,该公告弹窗遮挡了进入游戏按钮的图像。该种异常场景可以如图9所示,公告弹窗可以如901所示,该公告弹窗用于告知用户,目前可以正常登录游戏进行体验。在公告弹窗901中,包括确认按钮902。
该种异常场景对应的第一子脚本指示的第二图像匹配逻辑为匹配当前游戏界面中是否存在公告弹窗的图像。基于该种异常场景对应的第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作的过程为:将公告弹窗模板图像和公告弹窗兴趣区域对应的图像进行匹配。
第二脚本中可以包括四个第一子脚本,分别用于判断是否存在上述异常场景。当与任一第一子脚本对应的第二图像匹配结果为匹配成功时,说明存在该任一第一子脚本对应的异常场景,执行步骤2032。当与任一第一子脚本对应的第二图像匹配结果为匹配失败时,说明不存在该第一子脚本对应的异常场景,无需基于与该任一第一子脚本对应的第二子脚本指示的第三处理逻辑执行第三处理操作,继续基于下一个第一子脚本指示的第二图像匹配逻辑执行下一个第二图像匹配操作。
步骤2032:响应于任一第二图像匹配结果为匹配成功,基于目标第二子脚本指示的第三处理逻辑,执行第三处理操作。
其中,目标第二子脚本为与目标第一子脚本对应的第二子脚本,目标第一子脚本为与该任一第二图像匹配结果对应的第一子脚本。由于该任一第二图像匹配结果为匹配成功,所以说明该目标第一子脚本对应的异常场景存在。
第三处理逻辑用于指示第二图像匹配结果为匹配成功时如何进行处理。需要说明的是,不同的异常场景对应的处理方式可能不同,也就是说,基于不同的目标第一子脚本对应的目标第二子脚本指示的第三处理逻辑,执行的第三处理操作可能不同,本申请实施例对此不加以限定。
示例性地,当目标第一子脚本对应的异常场景为上述图6所示的异常场景1时,基于目标第一子脚本对应的目标第二子脚本指示的第三处理逻辑执行的第三处理操作可以为触发新用户隐私协议弹窗601中的同意按钮603;当目标第一子脚本对应的异常场景为上述图7所示的异常场景2时,基于目标第一子脚本对应的目标第二子脚本指示的第三处理逻辑执行的第三处理操作可以为触发图7中的更新按钮702;当目标第一子脚本对应的异常场景为上述图8所示的异常场景3时,基于目标第一子脚本对应的目标第二子脚本指示的第三处理逻辑执行的第三处理操作可以为触发图8中的关闭图标801;当目标第一子脚本对应的异常场景为上述图9所示的异常场景4时,基于目标第一子脚本对应的目标第二子脚本指示的第三处理逻辑执行的第三处理操作可以为触发公告弹窗901中的确定按钮902。
步骤2033:在第三处理操作执行结束后,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
第三处理操作执行结束后,处理了一种可能导致第一图像匹配结果为匹配失败的异常场景,此时,认为第一处理操作执行结束,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,也就是返回执行步骤202。
在一种可能实现方式中,响应于各个第二图像匹配结果均为匹配失败,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。当各个第二图像匹配结果均为匹配失败时,说明当前游戏界面中不存在各个第一子脚本对应的异常场景,此时,无需基于任何一个第一子脚本对应的第二子脚本指示的第三处理逻辑执行第三处理操作,直接返回执行步骤202。
需要说明的是,当第一子脚本的数量为一个时,直接基于该第一子脚本指示的第二图像匹配逻辑执行第二图像匹配操作,得到第二图像匹配结果;当第二图像匹配结果为匹配成功时,基于该第一子脚本对应的第二子脚本指示的第三处理逻辑执行第三处理操作,然后返回执行步骤202;当第二图像匹配结果为匹配失败时,直接返回执行步骤202。
需要进一步说明的是,对于第一脚本中的参数包括时间间隔阈值的情况,在返回执行步骤202时,先判断当前时间戳和上一次执行步骤202时的时间戳之间的时间间隔是否超过时间间隔阈值。若当前时间戳和上一次执行步骤202时的时间戳之间的时间间隔超过时间间隔阈值,则直接执行步骤202;若当前时间戳和上一次执行步骤202时的时间戳之间的时间间隔不超过时间间隔阈值,则进行等待,直至和上一次执行步骤202时的时间戳之间的时间间隔超过时间间隔阈值时,再执行步骤202。此过程,可以避免过于频繁地执行步骤202。
在返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,也就是返回执行步骤202后,可以再次得到第一图像匹配结果;若此时得到的第二图像匹配结果为匹配成功,则执行步骤204;若此时得到的第二图像匹配结果仍为匹配失败,则再次执行步骤203,直至返回执行步骤202得到的第二图像匹配结果为匹配成功。
在一种可能实现方式中,若满足失败条件时,第一图像匹配结果仍为匹配失败,则说明可能出现了第二脚本无法解决的异常场景,此时,停止匹配过程,游戏加载业务处理失败。此过程,可以避免匹配次数过多造成的资源浪费。满足失败条件可以是指匹配次数超过次数阈值,也可以是指整个游戏加载业务处理过程的耗时超过时间阈值等,本申请实施例对此不加以限定。
示例性地,第二脚本可以如图4中的402所示。在402中,包括一个第一子脚本4021和与该第一子脚本对应的一个第二子脚本4022。第一子脚本4021指示的第二图像匹配逻辑基于falseCase节点实现;4021中的“如果是第一账号登录按钮”用于对接下来匹配是否为第一账号登录按钮的过程进行注释;“template=tmp_qq_login.png、ROI=39,974,350,206、hessian=200、useOldScreenShot=1和method=surf”为第一子脚本4021中的参数,这些参数用于描述该第一子脚本指示的第二图像匹配逻辑。
第二子脚本4022中的“点击并拉取第一账号登录脚本”用于对接下来执行第三处理操作的过程进行注释;“input actionType=0、offset=0,0、function actionType=5、loadPrevScript=1”为第二子脚本4022中的参数,这些参数用于描述该第二子脚本指示的第三处理逻辑,当第一子脚本4021指示的第二图像匹配逻辑执行的第二图像匹配操作的第二图像匹配结果为匹配成功时,基于4022中的参数描述的第三处理逻辑执行第三处理操作。需要说明的是,第一子脚本4021对应的导致无法检测到进入游戏按钮的图像的异常场景为:用户未利用第一账户登录游戏。此时,需要先利用第一账户登录游戏,再检测是否存在进入游戏按钮的图像。
图4中的第二脚本402中仅涉及一种异常场景,在实际应用场景中,第二脚本中还可以涉及多种异常场景,每种异常场景对应一个第一子脚本和一个第二子脚本。例如,当目标脚本文件如图10所示时,第二脚本可以如图10中的1001所示,在1001中涉及两个异常场景,第一种异常场景为当前游戏界面中出现新用户隐私协议弹窗,第二种异常场景为未利用第一账号登录游戏。第一种异常场景对应的脚本为10011,10011包括的第一子脚本中的参数为“template=tmp_tongyi.png、ROI=2,354,718,636、hessian=200、useOldScreenShot=1、method=surf”,10011包括的第二子脚本中的参数为“inputactionType=0、offset=0,0”。第二种异常场景对应的脚本为10012,10012中包括的第一子脚本和第二子脚本分别与图4中的4021和4022一致,此处不再赘述。
在步骤204中,响应于第一图像匹配结果为匹配成功,基于第三脚本指示的第二处理逻辑,执行第二处理操作,使游戏加载至目标界面。
第二处理逻辑用于指示在第一图像匹配结果为匹配成功时如何进行处理。当确定图像匹配成功时,板卡模块基于第三脚本指示的第二处理逻辑,执行第二处理操作。示例性地,执行第二处理操作可以是指点击操作、滑屏操作、输入信息操作等。在执行第二处理操作后,可以使游戏加载至目标界面。
需要说明的是,第一图像匹配结果为匹配成功可以是指第一次执行步骤202得到的第一图像匹配结果为匹配成功,也可以是指返回执行步骤202得到的第一图像匹配结果为匹配成功,本申请实施例对此不加以限定。
示例性地,第三脚本可以如图4中的403所示。“点击进入游戏”用于对第三脚本对应的处理过程进行注释,说明第三脚本的作用为通过点击进入游戏按钮,使游戏加载至进入游戏后的首界面。“actionType=0、offset=0,0”表示第三脚本中的参数,这些参数用于描述第三脚本指示的第二处理逻辑,基于该第二处理逻辑执行的第二处理操作可以为点击进入游戏按钮的中心。
在一种可能实现方式中,在将游戏加载至目标界面后,板卡模块可以基于目标界面,生成目标音视频流,将目标音视频流发送至目标终端。目标终端可以是指与该板卡模块对应的终端,将目标音视频流发送至目标终端后,可以使用户在目标终端上从目标界面开始试玩游戏。在一种可能实现方式中,板卡模块基于目标界面生成目标音视频流的过程为:板卡模块获取与目标界面对应的目标游戏音频,将目标游戏音频和目标界面对应的视频进行编码,得到目标音视频流。本申请实施例对编码方式不加以限定。在一种可能实现方式中,板卡模块将目标音视频流发送至目标终端的过程为:板卡模块获取目标终端发送的试玩请求;板卡模块基于该试玩请求,将目标音视频流发送至该目标终端。
在一种可能实现方式中,板卡模块获取目标终端发送的试玩请求的过程可以为:目标终端基于用户对试玩入口的触发指令,生成试玩请求,将试玩请求发送至与该目标终端对应的板卡模块,由此,板卡模块获取目标终端发送的试玩请求。
需要说明的是,目标脚本文件中的第一脚本、第二脚本和第三脚本可以灵活调整。示例性地,对于当第一图像匹配结果为匹配成功时,还需要进一步匹配的情况,第三脚本中还可以包括用于进一步匹配的脚本和进一步匹配成功后对应的处理脚本。此外,目标脚本文件也可以根据游戏类型和游戏场景灵活配置。示例性地,除第一脚本、第二脚本和第三脚本外,目标脚本文件中还可以包括用于描述监控试玩进度的第四脚本,当确定试玩结束时,板卡模块向用户的终端发送停止试玩的提示信息。
例如,目标脚本文件还可以如图11所示。图11中的1101表示用于执行第一图像匹配操作的第一脚本;1102表示图像匹配失败时用于执行第一处理操作的第二脚本;1103表示图像匹配成功时用于执行第二处理操作的第三脚本,该第三脚本中嵌套了用于进一步匹配的脚本(match name=“match_shangcheng”template=“tmp_shangcheng.png”hessian=“500”retry=“200”delay=“1000”ROI=“465,28,255,110”method=“surf”)和进一步匹配成功后对应的处理脚本(function actionType=“7”enable=“0”functionactionType=“8”offset=“0,0”);1104表示用于监控用户试玩进度的第四脚本,该第四脚本中包括用于进行匹配的脚本(match name=“match_monitor”template=“tmp_qq_login.png”hessian=“500”retry=“-1”delay=“1000”ROI=“39,974,350,206”method=“surf”)和匹配成功后对应的处理脚本(function actionType=“4”)。
综上所述,将游戏加载至目标界面的过程可以如图12所示,基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果。当第一图像匹配结果为匹配失败时,将匹配次数增加1;判断匹配次数是否超过次数阈值,若匹配次数超过次数阈值,则游戏加载业务失败;若匹配次数不超过次数阈值,则执行第一处理操作;第一处理操作执行结束后,返回执行第一图像匹配操作。当第一图像匹配结果为匹配成功时,执行第二处理操作,将游戏加载至目标界面。
需要说明的是,本申请实施例以将游戏加载至目标界面的过程仅包括一个加载步骤为例进行说明,也就是说,本申请实施例中的目标脚本文件的数量为一个。对于需要多个加载步骤才能将游戏加载至目标界面的情况,需要多个连续的目标脚本文件。在基于一个目标脚本文件将游戏加载至一个中间界面后,板卡模块在该中间界面上基于下一个目标脚本文件继续进行加载,直至基于最后一个目标脚本文件加载至目标界面。
目标脚本文件由开发人员根据游戏加载需求进行配置。对于需要多个加载步骤才能将游戏加载至目标界面的情况,游戏加载需求用于指示应该通过哪几个加载步骤使游戏加载至目标界面。
在一种示例性应用场景中,游戏加载需求可以指示通过如下3个加载步骤使游戏加载至游戏角色选择界面(目标界面),以供用户在游戏角色选择界面选择游戏角色,然后利用选择的游戏角色进行试玩。
加载步骤1:在图13所示的登录界面1301中,触发第一账号登录按钮所在区域1302,输入登录账号和登录密码,使游戏加载至如图14所示的比赛模式选择界面1401。
加载步骤2:如图14所示的比赛模式选择界面1401中,触发竞技对抗按钮所在区域1402,使游戏加载至如图15所示的对抗模式选择界面1501。
加载步骤3:在如图15所示的对抗模式选择界面1501中,触发1对1对抗模式所在区域1502,使游戏加载至如图16所示的游戏角色选择界面1601,使用户从游戏角色选择界面开始试玩游戏。
在得到包括上述3个加载步骤的游戏加载需求后,开发人员可以配置与每个加载步骤对应的目标脚本文件。本申请实施例对配置目标脚本文件的方式不加以限定,只需配置得到的每个目标脚本文件中均包括第一脚本、第二脚本和第三脚本即可,其中,第二脚本用于处理匹配失败时的异常场景。此外,目标脚本文件需要尽量简单,以便于快速配置和修改。
需要说明的是,在将游戏加载至目标界面的多个加载步骤中,每个加载步骤中均会有一定的概率出现异常场景,不同加载步骤对应的异常场景可能相同,也可能不同。
示例性地,对于需要三个加载步骤才能将游戏加载至目标界面的情况,业务处理过程可以如图17所示。先执行加载步骤1,当加载步骤1中的图像匹配成功时,将游戏加载至中间界面1,然后在中间界面1中执行加载步骤2;当加载步骤2中的图像匹配成功时,将游戏加载至中间界面2,然后在中间界面2中执行加载步骤3;当加载步骤3中的图像匹配成功时,将游戏加载至目标界面。
在上述过程中,若加载步骤1中的图像匹配失败,则处理加载步骤1对应的异常场景(异常场景1、异常场景2和异常场景3),直至图像匹配成功;若加载步骤2中的图像匹配失败,则处理加载步骤2对应的异常场景(异常场景3和异常场景4),直至图像匹配成功;若加载步骤3中的图像匹配失败,则处理加载步骤3对应的异常场景(异常场景3),直至图像匹配成功。异常场景1和异常场景2为加载步骤1对应的特有的异常场景;异常场景3为每个加载步骤对应的共有的异常场景;异常场景4为加载步骤2对应的特有的异常场景。
在本申请实施例中,板卡模块可以根据目标脚本文件中的第一脚本、第二脚本和第三脚本,自动执行将游戏加载至目标界面的操作,无需服务器的控制,有利于节省服务器资源。此外,目标脚本文件的配置过程简单方便,无需耗费训练成本,游戏加载业务的处理效果较好。
参见图18,本申请实施例提供了一种业务处理装置,该装置包括:
获取单元1801,用于获取目标脚本文件,目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,目标脚本文件中包括第一脚本、第二脚本和第三脚本;
第一执行单元1802,用于基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果;
第二执行单元1803,用于响应于第一图像匹配结果为匹配失败,基于第二脚本指示的第一处理逻辑,执行第一处理操作,在第一处理操作执行结束后,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,直至第一图像匹配结果为匹配成功;
第三执行单元1804,用于响应于第一图像匹配结果为匹配成功,基于第三脚本指示的第二处理逻辑,执行第二处理操作,使游戏加载至目标界面。
在一种可能实现方式中,第一执行单元1802,用于对第一脚本进行解析,获取与第一图像匹配逻辑对应的模板图像、目标图像和图像匹配阈值;将模板图像和目标图像进行匹配,得到图像匹配分值;响应于图像匹配分值低于图像匹配阈值,第一图像匹配结果为匹配失败;响应于图像匹配分值不低于图像匹配阈值,第一图像匹配结果为匹配成功。
在一种可能实现方式中,第二脚本中包括多个第一子脚本和与每个第一子脚本对应的第二子脚本,第一处理逻辑中包括每个第一子脚本指示的第二图像匹配逻辑和每个第二子脚本指示的第三处理逻辑;第二执行单元1803,用于基于多个第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作,得到第二图像匹配结果;响应于任一第二图像匹配结果为匹配成功,基于目标第二子脚本指示的第三处理逻辑,执行第三处理操作,目标第二子脚本为与目标第一子脚本对应的第二子脚本,目标第一子脚本为与任一第二图像匹配结果对应的第一子脚本;在第三处理操作执行结束后,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
在一种可能实现方式中,第二执行单元1803,还用于响应于各个第二图像匹配结果均为匹配失败,返回基于第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
在一种可能实现方式中,第二执行单元1803,还用于响应于第一图像匹配结果为匹配失败,将匹配次数增加参考数值,得到更新后的匹配次数;响应于更新后的匹配次数不超过次数阈值,基于第二脚本指示的第一处理逻辑,执行第一处理操作。
在一种可能实现方式中,参见图19,该装置还包括:
生成单元1805,用于基于目标界面,生成目标音视频流;
发送单元1806,用于将目标音视频流发送至目标终端。
在本申请实施例中,板卡模块可以根据目标脚本文件中的第一脚本、第二脚本和第三脚本,自动执行将游戏加载至目标界面的操作,无需服务器的控制,有利于节省服务器资源。此外,目标脚本文件的配置过程简单方便,无需耗费训练成本,游戏加载业务的处理效果较好。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本本申请实施例中的板卡模块可以安装在服务器中,图20是本申请实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)2001和一个或多个存储器2002,其中,该一个或多个存储器2002中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器2001加载并执行,以实现上述各个方法实施例提供的业务处理方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以实现上述任一种业务处理方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以实现上述任一种业务处理方法。
可选地,上述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种业务处理方法,其特征在于,所述方法包括:
获取目标脚本文件,所述目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,所述目标脚本文件中包括第一脚本、第二脚本和第三脚本;
基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果;
响应于所述第一图像匹配结果为匹配失败,基于所述第二脚本指示的第一处理逻辑,执行第一处理操作,在所述第一处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,直至所述第一图像匹配结果为匹配成功;
响应于所述第一图像匹配结果为匹配成功,基于所述第三脚本指示的第二处理逻辑,执行第二处理操作,使所述游戏加载至所述目标界面。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果,包括:
对所述第一脚本进行解析,获取与所述第一图像匹配逻辑对应的模板图像、目标图像和图像匹配阈值;
将所述模板图像和所述目标图像进行匹配,得到图像匹配分值;
响应于所述图像匹配分值低于所述图像匹配阈值,所述第一图像匹配结果为匹配失败;
响应于所述图像匹配分值不低于所述图像匹配阈值,所述第一图像匹配结果为匹配成功。
3.根据权利要求1所述的方法,其特征在于,所述第二脚本中包括多个第一子脚本和与每个第一子脚本对应的第二子脚本,所述第一处理逻辑中包括每个第一子脚本指示的第二图像匹配逻辑和每个第二子脚本指示的第三处理逻辑;所述基于所述第二脚本指示的第一处理逻辑,执行所述第一处理操作,在所述第一处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,包括:
基于所述多个第一子脚本指示的第二图像匹配逻辑,执行第二图像匹配操作,得到第二图像匹配结果;
响应于任一第二图像匹配结果为匹配成功,基于目标第二子脚本指示的第三处理逻辑,执行第三处理操作,所述目标第二子脚本为与目标第一子脚本对应的第二子脚本,所述目标第一子脚本为与所述任一第二图像匹配结果对应的第一子脚本;
在所述第三处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
响应于各个第二图像匹配结果均为匹配失败,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作。
5.根据权利要求1所述的方法,其特征在于,所述响应于所述第一图像匹配结果为匹配失败,基于所述第二脚本指示的第一处理逻辑,执行第一处理操作,包括:
响应于所述第一图像匹配结果为匹配失败,将匹配次数增加参考数值,得到更新后的匹配次数;
响应于所述更新后的匹配次数不超过次数阈值,基于所述第二脚本指示的第一处理逻辑,执行所述第一处理操作。
6.根据权利要求1所述的方法,其特征在于,所述响应于所述第一图像匹配结果为匹配成功,基于所述第三脚本指示的第二处理逻辑,执行第二处理操作,使所述游戏加载至所述目标界面之后,所述方法还包括:
基于所述目标界面,生成目标音视频流,将所述目标音视频流发送至目标终端。
7.一种业务处理装置,其特征在于,所述装置包括:
获取单元,用于获取目标脚本文件,所述目标脚本文件用于描述将游戏加载至目标界面的业务逻辑,所述目标脚本文件中包括第一脚本、第二脚本和第三脚本;
第一执行单元,用于基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,得到第一图像匹配结果;
第二执行单元,用于响应于所述第一图像匹配结果为匹配失败,基于所述第二脚本指示的第一处理逻辑,执行第一处理操作,在所述第一处理操作执行结束后,返回基于所述第一脚本指示的第一图像匹配逻辑,执行第一图像匹配操作,直至所述第一图像匹配结果为匹配成功;
第三执行单元,用于响应于所述第一图像匹配结果为匹配成功,基于所述第三脚本指示的第二处理逻辑,执行第二处理操作,使所述游戏加载至所述目标界面。
8.根据权利要求7所述的装置,其特征在于,所述第一执行单元,用于对所述第一脚本进行解析,获取与所述第一图像匹配逻辑对应的模板图像、目标图像和图像匹配阈值;将所述模板图像和所述目标图像进行匹配,得到图像匹配分值;响应于所述图像匹配分值低于所述图像匹配阈值,所述第一图像匹配结果为匹配失败;响应于所述图像匹配分值不低于所述图像匹配阈值,所述第一图像匹配结果为匹配成功。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现如权利要求1至6任一所述的业务处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现如权利要求1至6任一所述的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010116697.4A CN111298434B (zh) | 2020-02-25 | 2020-02-25 | 业务处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010116697.4A CN111298434B (zh) | 2020-02-25 | 2020-02-25 | 业务处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111298434A true CN111298434A (zh) | 2020-06-19 |
CN111298434B CN111298434B (zh) | 2021-08-06 |
Family
ID=71161926
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010116697.4A Active CN111298434B (zh) | 2020-02-25 | 2020-02-25 | 业务处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111298434B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732559A (zh) * | 2020-12-30 | 2021-04-30 | 广东粤云工业互联网创新科技有限公司 | 图片比对方法、自动拨测方法及系统、存储介质 |
CN112774191A (zh) * | 2021-01-26 | 2021-05-11 | 网易(杭州)网络有限公司 | 游戏操作指引方法、装置及系统、非易失性存储介质 |
CN115591229A (zh) * | 2022-10-31 | 2023-01-13 | 北京京航计算通讯研究所(Cn) | 一种分布式网络对战训练的校验方法和系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118781A (ja) * | 2009-12-04 | 2011-06-16 | Sega Corp | 画像出力装置 |
CN104268006A (zh) * | 2014-10-27 | 2015-01-07 | 北京奇虎科技有限公司 | 键鼠脚本的回放方法及装置 |
CN108351828A (zh) * | 2015-06-26 | 2018-07-31 | 英特尔公司 | 用于设备无关的自动应用测试的技术 |
CN109360065A (zh) * | 2018-10-24 | 2019-02-19 | 北京赢销通软件技术有限公司 | 一种脚本执行方法及装置 |
CN109408393A (zh) * | 2018-11-07 | 2019-03-01 | 深圳市腾讯网络信息技术有限公司 | 应用测试方法、装置及设备和计算机可读存储介质 |
CN110300327A (zh) * | 2019-04-18 | 2019-10-01 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏客户端性能分析方法、装置、终端及存储介质 |
CN110751013A (zh) * | 2019-08-19 | 2020-02-04 | 腾讯科技(深圳)有限公司 | 场景识别方法、装置和计算机可读存储介质 |
-
2020
- 2020-02-25 CN CN202010116697.4A patent/CN111298434B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011118781A (ja) * | 2009-12-04 | 2011-06-16 | Sega Corp | 画像出力装置 |
CN104268006A (zh) * | 2014-10-27 | 2015-01-07 | 北京奇虎科技有限公司 | 键鼠脚本的回放方法及装置 |
CN108351828A (zh) * | 2015-06-26 | 2018-07-31 | 英特尔公司 | 用于设备无关的自动应用测试的技术 |
CN109360065A (zh) * | 2018-10-24 | 2019-02-19 | 北京赢销通软件技术有限公司 | 一种脚本执行方法及装置 |
CN109408393A (zh) * | 2018-11-07 | 2019-03-01 | 深圳市腾讯网络信息技术有限公司 | 应用测试方法、装置及设备和计算机可读存储介质 |
CN110300327A (zh) * | 2019-04-18 | 2019-10-01 | 深圳市腾讯网域计算机网络有限公司 | 一种游戏客户端性能分析方法、装置、终端及存储介质 |
CN110751013A (zh) * | 2019-08-19 | 2020-02-04 | 腾讯科技(深圳)有限公司 | 场景识别方法、装置和计算机可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732559A (zh) * | 2020-12-30 | 2021-04-30 | 广东粤云工业互联网创新科技有限公司 | 图片比对方法、自动拨测方法及系统、存储介质 |
CN112774191A (zh) * | 2021-01-26 | 2021-05-11 | 网易(杭州)网络有限公司 | 游戏操作指引方法、装置及系统、非易失性存储介质 |
CN112774191B (zh) * | 2021-01-26 | 2024-02-23 | 网易(杭州)网络有限公司 | 游戏操作指引方法、装置及系统、非易失性存储介质 |
CN115591229A (zh) * | 2022-10-31 | 2023-01-13 | 北京京航计算通讯研究所(Cn) | 一种分布式网络对战训练的校验方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111298434B (zh) | 2021-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111298434B (zh) | 业务处理方法、装置、设备及存储介质 | |
CN110418151B (zh) | 游戏直播中弹幕信息发送、处理方法、装置、设备、介质 | |
CN111309357B (zh) | 云游戏软件的更新方法、装置、存储介质和云游戏系统 | |
CN109803152B (zh) | 违规审核方法、装置、电子设备以及存储介质 | |
CN108777806B (zh) | 一种用户身份识别方法、装置和存储介质 | |
US20230072759A1 (en) | Method and apparatus for obtaining virtual image, computer device, computer-readable storage medium, and computer program product | |
CN113032268B (zh) | 软件测试方法、装置及存储介质 | |
CN111026493B (zh) | 界面渲染的处理方法和装置 | |
CN110599581B (zh) | 图像模型数据处理方法、装置以及电子设备 | |
CN112569591B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN112691365B (zh) | 云游戏加载方法、系统、装置、存储介质和云游戏系统 | |
CN114979029A (zh) | 一种虚拟机器人的控制方法、装置、设备及存储介质 | |
CN114449327A (zh) | 视频片段的分享方法、装置、电子设备及可读存储介质 | |
CN112307925A (zh) | 图像检测方法、图像显示方法、相关设备及存储介质 | |
CN114391260A (zh) | 文字识别方法、装置、存储介质及电子设备 | |
CN115712571A (zh) | 一种交互服务测试、装置、计算机设备及存储介质 | |
CN115858556A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN111921204B (zh) | 云应用程序的控制方法、装置、设备及存储介质 | |
CN113181637B (zh) | 游戏回放方法和系统 | |
CN111225266B (zh) | 用户界面交互方法和系统 | |
CN114185773A (zh) | 程序测试方法、装置、电子设备和计算机可读存储介质 | |
CN113821443A (zh) | 应用程序的功能检测方法、装置、设备及存储介质 | |
CN111494955A (zh) | 基于游戏的角色互动方法、装置、服务器及介质 | |
CN113360199B (zh) | 游戏预加载剧本的方法、装置和计算机可读存储介质 | |
CN113840177B (zh) | 直播互动方法、装置、存储介质与电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40024209 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |