CN112988185A - 云应用更新方法、装置、系统、电子设备及存储介质 - Google Patents
云应用更新方法、装置、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112988185A CN112988185A CN202110181951.3A CN202110181951A CN112988185A CN 112988185 A CN112988185 A CN 112988185A CN 202110181951 A CN202110181951 A CN 202110181951A CN 112988185 A CN112988185 A CN 112988185A
- Authority
- CN
- China
- Prior art keywords
- cloud
- update
- cloud application
- application
- equipment
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 238000004891 communication Methods 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 21
- 230000001960 triggered effect Effects 0.000 claims description 9
- 230000014759 maintenance of location Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请涉及一种应用更新方法、装置、系统、电子设备及存储介质。其中方法包括:获取云端应用的运行界面截图;云端应用安装于第一云设备中;对运行界面截图进行识别,得到运行界面截图上的第一文字信息;根据第一文字信息确定云端应用的运行状态信息;在确定运行状态信息满足待更新条件时,生成用于控制第一云设备对云端应用进行更新的更新指令;将更新指令下发至第一云设备,以使第一云设备通过执行更新指令对云端应用进行更新。通过本申请的方法可通过云端应用的运行界面截图中的文字信息,判断是否需要对云端应用进行更新;同时还可通过自动生成的更新指令管控云端应用进行更新;进而可以提高更新及时性和更新效率,并能降低人力成本。
Description
技术领域
本申请涉及云技术领域,尤其涉及一种云应用更新方法、装置、系统、电子设备及存储介质。
背景技术
随着5G的兴起,基于5G网络的峰值高以及时延低的特点,越来越多的云应用可以在云端运行,再将运行结果传输至终端设备即可,以降低对终端设备的硬件性能要求。当云应用为云游戏时,游戏本身是运行在云端服务器上,将繁重的游戏处理、图像渲染、视频编码工作放在云端服务器上进行处理,客户端只需要处理播放、input事件等轻量级的任务。
但是,由于应用版本都是在不断更新的,若逐个人工进行更新,难免会出现部分应用遗漏更新以及更新效率低下的问题,且会浪费大量的人力成本。
针对相关技术中存在的技术问题,目前尚未提供有效的解决方案。
发明内容
为了解决上述技术问题,本申请提供了一种云应用更新方法、装置、系统、电子设备及存储介质。
第一方面,本申请实施例提供了一种云应用更新方法,执行于服务器,包括:
获取云端应用的运行界面截图;所述云端应用安装于第一云设备中;
对所述运行界面截图进行识别,得到所述运行界面截图上的第一文字信息;
根据所述第一文字信息确定所述云端应用的运行状态信息;
在确定所述运行状态信息满足待更新条件时,生成用于控制所述第一云设备对所述云端应用进行更新的更新指令;
将所述更新指令下发至所述第一云设备,以使所述第一云设备通过执行所述更新指令对所述云端应用进行更新。
可选的,如前述的方法,所述获取云端应用的运行界面截图之前,所述方法还包括:
当确定所述第一云设备为空闲状态时,获取所述第一云设备对应的更新任务信息;
在根据所述更新任务信息确定所述第一云设备当前未执行更新任务时,生成用于控制所述第一云设备启动所述云端应用的启动指令;
将所述启动指令下发至所述第一云设备,以使所述第一云设备通过执行所述启动指令启动所述云端应用。
可选的,如前述的方法,所述将所述更新指令下发至所述第一云设备之后,所述方法还包括:
按照第一预设时间间隔获取所述第一云设备中与所述云端应用对应的数据包收发数量;
在所述数据包收发数量小于预设阈值时,生成用于控制所述第一云设备结束对所述云端应用进行更新的第一结束更新指令;
将所述第一结束更新指令下发至所述第一云设备,以使所述第一云设备根据所述第一结束更新指令结束更新。
可选的,如前述的方法,所述将所述更新指令下发至所述第一云设备之后,所述方法还包括:
在所述云端应用更新过程中,按照第二预设时间间隔获取所述云端应用的更新界面截图;
对所述更新界面截图进行识别,得到所述更新界面截图上的第二文字信息;
根据所述第二文字信息确定所述云端应用的更新状态信息;
在确定所述更新状态信息满足更新完成条件时,生成用于控制所述第一云设备结束对所述云端应用进行更新的第二结束更新指令;
将所述第二结束更新指令下发至所述第一云设备,以使所述第一云设备根据所述第二结束更新指令结束更新。
可选的,如前述的方法,所述将所述更新指令下发至所述第一云设备之前,所述方法还包括:
确定所述第一云设备所在的服务器中,并行处理队列的任务数量阈值;
获取所述并行处理队列中的当前任务数量;
在所述当前任务数量小于所述任务数量阈值时,将所述第一云设备对应的云端应用更新任务加入所述并行处理队列,以对所述第一云设备对应的云端应用更新任务以及所述并行处理队列中的当前云端应用更新任务并行进行应用更新。
可选的,如前述的方法,所述将所述更新指令下发至所述第一云设备之前,所述方法还包括:
确定所述第一云设备进行应用更新对应的预计资源占用量;
获取所述第一云设备所在服务器的总资源量,以及所述服务器上正在执行第二云设备的云端应用更新任务对应的当前资源占用量;
在所述预计资源占用量与所述当前资源占用量之和小于或等于所述总资源量时,将所述第一云设备对应的云端应用更新任务加入并行处理队列中,以对所述第一云设备对应的云端应用更新任务以及所述第二云设备对应的云端应用更新任务并行进行应用更新。
可选的,如前述的方法,所述根据所述第一文字信息确定所述云端应用对应的运行状态信息,包括:
将所述文字信息与预设关键字进行匹配;
当从所述文字信息中匹配到所述预设关键字时,将所述预设关键字对应的运行状态信息作为所述云端应用的运行状态信息。
可选的,如前述的方法,所述生成用于控制所述第一云设备对所述云端应用进行更新的更新指令,包括:
确定所述第一文字信息中与预设关键字匹配的目标文字信息;
获取所述目标文字信息在所述运行界面截图上对应的坐标信息;
根据所述坐标信息确定待触发的更新控件的位置信息;
根据所述位置信息生成用于触发所述更新控件的所述更新指令。
可选的,如前述的方法,还包括:
确定所述云端应用中的基本数据在共享存储区中的路径信息;
确定运行所述云端应用的第三云设备中与所述云端应用对应的目录;
将所述路径信息传输至所述目录,以使得所述第三云设备启动所述云端应用时,通过所述路径信息读取得到所述云端应用中的基本数据。
可选的,如前述的方法,所述获取云端应用的运行界面截图之前,所述方法还包括:
获取来自于更新控制后台的设备标识;
建立与所述设备标识对应的所述第一云设备之间的连接通道;
生成用于控制所述第一云设备启动所述云端应用的启动指令;
通过所述连接通道,将所述启动指令下发至所述第一云设备,以使所述第一云设备通过执行所述启动指令启动所述云端应用。
可选的,如前述的方法,在所述获取所述云端应用的运行界面截图之前,所述方法还包括:
确定所述云端应用在当前运行界面的停留时间;
在所述停留时间达到预设时长上限时,生成用于控制所述第一云设备对所述当前运行界面进行截图的截图指令;
将所述截图指令下发至所述第一云设备,以使所述第一云设备通过执行所述截图指令,对所述当前运行界面进行截图得到所述运行界面截图。
第二方面,本申请实施例提供了一种云应用更新服务器,包括:
获取模块,用于获取云端应用的运行界面截图;所述云端应用安装于第一云设备中;
识别模块,用于对所述运行界面截图进行识别,得到所述运行界面截图上的第一文字信息;
运行状态确定模块,用于根据所述第一文字信息确定所述云端应用的运行状态信息;
更新指令生成模块,用于在确定所述运行状态信息满足待更新条件时,生成用于控制所述第一云设备对所述云端应用进行更新的更新指令;
发送模块,用于将所述更新指令下发至所述第一云设备,以使所述第一云设备通过执行所述更新指令对所述云端应用进行更新。
第三方面,本申请实施例提供了一种云应用更新系统,包括:云应用更新服务器以及云设备;
所述云应用更新服务器,用于根据获取的设备标识建立与所述云设备之间的连接;获取云端应用在所述云设备中的运行界面截图;对所述运行界面截图进行识别,得到所述运行界面截图上的文字信息;根据所述文字信息确定所述云端应用的运行状态信息;得到所述运行界面截图对应的运行状态信息;在确定所述运行状态信息满足待更新条件时,生成用于控制所述云设备对所述云端应用进行更新的更新指令;将所述更新指令下发至所述云设备;
所述云设备,用于通过执行所述更新指令对所述云端应用进行更新。
第四方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现如前述任一项所述的处理方法。
第五方面,本申请实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行如前任一项所述的方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例提供的方法,无需人工对云端应用的运行状态进行监测,即可通过云端应用的运行界面截图中的文字信息,判断是否需要对云端应用进行更新,进而可以有效提高更新的及时性;同时无需人为手动触发云端应用,即可通过自动生成的更新指令管控云端应用进行更新,进而可以有效提高更新的效率,并能降低人力成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种云应用更新方法的流程图;
图2为本申请另一实施例提供的一种云应用更新方法的流程图;
图3为本申请另一实施例提供的一种云应用更新方法的流程图;
图4为本申请另一实施例提供的一种云应用更新方法的流程图;
图5为本申请另一实施例提供的一种云应用更新方法的流程图;
图6为本申请另一实施例提供的一种云应用更新方法的流程图;
图7为本申请另一实施例提供的一种云应用更新方法的流程图;
图8为本申请另一实施例提供的一种云应用更新方法的流程图;
图9为本申请另一实施例提供的一种云应用更新方法的流程图;
图10为本申请另一实施例提供的一种云应用更新方法的流程图;
图11为本申请另一实施例提供的一种云应用更新方法的流程图;
图12为本申请另一实施例提供的一种云应用更新方法的流程图;
图13为本申请实施例提供的一种云应用更新装置的框图;
图14为本申请实施例提供的一种云应用更新系统的框图;
图15为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
云应用系统是用于提供云应用服务的系统,包括:客户端和云设备(例如:云手机)。其中,云设备可以是虚拟设备,也可以是实体设备。示例性的,云设备可以是通过虚拟技术在云服务器上虚拟出的逻辑设备。具体而言,任意一台云服务器上可以虚拟出多台逻辑设备。当云设备是实体设备时,其包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、服务器等。
在实践中,云设备可以通过安装云端应用(也可称为云应用程序,云APP,云应用等)来提供相应的网络服务,比如云设备通过安装云游戏应用来提供云游戏服务,也即云端应用运行在云设备上。具体而言,任意一个云设备上可以运行一个或多个云端应用;其中,当安装有多个云端应用时,不同云端应用的应用标识一般不同。在一种可能的场景中,一个云设备中也可以安装有应用标识相同的多个云应用。
客户端为实体设备,其可以是支持具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机等。在实践中,客户端可以通过安装客户应端用来提供相应的网络服务,比如客户端通过安装视频播放器来提供视频或图像播放服务。
作为一个实施例,云设备与客户端通过云端通信模块建立通信连接。可选的,云端通信模块可内置于云设备或者独立于云设备,可用于实现云设备上的一个或多个云应用与其对应的客户端之间的通信连接,和/或用于实现一个或多个云设备与其对应的客户端之间的通信连接。上述所说的模块是广义的,可以是类、函数、线程、进程等,示例性的,云端通信模块可以为云应用服务程序。
一方面,云设备用于运行云端应用,并向客户端发送运行云端应用时的数据流,客户端则用于展示接收到的数据流。另一方面,客户端用于采集用户的操作数据,并向云设备发送操作数据(采集到的操作数据或处理后的操作数据),云设备则基于接收到的操作数据对用户操作进行响应,并继续向客户端发送响应数据流,客户端则继续展示接收到的响应数据流。如此,云设备与客户端形成闭环,用户可以通过客户端来使用云设备上安装的云端应用。由于云端应用实际并不运行在客户端中,因此有利于降低客户端的运行资源。
以云游戏应用为例,云设备向客户端发送云游戏应用的视频流,客户端则可通过客户端应用,比如视频播放器展示接收到的视频流。进一步,客户端每采集到一次用户的操作数据,则向云设备发送操作数据,云设备则基于接收到的操作数据进行响应并刷新视频流,以及向客户端发送刷新后的视频流,如此则可实现用户通过客户端来使用云设备上安装的云游戏应用。
可以理解的是,根据实际需要,云系统可以包括任意数目的网络和设备,本发明对此不做限制。
图1为本申请实施例提供的一种云应用更新方法,执行于服务器,包括如下所述步骤S1至S5:
步骤S1.获取云端应用的运行界面截图;云端应用安装于第一云设备中。
具体的,云端应用是在云端的计算设备上安装及运行的应用。例如:游戏。
运行界面截图,可以是云端应用在运行时,通过对运行界面进行截屏得到的图片。
第一云设备,是位于云端,并且安装有云端应用的虚拟设备或者实体设备。
运行界面截图可以是:第一云设备在获取运行界面截图之后,保存在第一云设备中的指定目录中,然后由实现本实施例方法的装置从指定目录拷贝到本服务器中的指定存储区域后得到;也可以是第一云设备在进行截图之后,主动发送运行界面截图至服务器,服务器将运行界面截图保存至指定存储区域。
步骤S2.对运行界面截图进行识别,得到运行界面截图上的第一文字信息。
具体的,对运行界面截图进行识别,可以是通过文字识别程序,对运行界面截图进行文字识别,以获取运行界面截图上的第一文字信息。
举例的:在一般情况下,当云端应用开启之后,若云端应用需要进行更新时,应用的运行页面中会显示有提示用户进行更新的控件,并且控件上可以通过标注有“立即更新”、“暂不更新”等文字信息,以使用户能够通过文字信息,判断控件被触发后,应用所会进入的运行状态。此外,当应用在开启之后自动进行更新时,则会在更新页面中显示更新进度条,并且更新进度条上一般会显示有“更新中”或“已更新XX%”等用于提醒用户当前更新进度的文字信息。因此,通过本实施例中的方法,可以通过文字识别程序对运行界面的进行识别,得到“立即更新”、“暂不更新”、“更新中”或“已更新XX%”等文字信息,并作为第一文字信息。
步骤S3.根据所述第一文字信息确定得到运行界面截图对应的运行状态信息。
具体的,运行状态信息,是指云端应用在运行时,用于表征云端应用所处状态的信息;例如:更新、立即更新、待更新、更新中、更新完成、待启动、运行中等等。
其中一种可选的实现方式可以是,将运行状态信息逐个在第一文字信息中进行匹配,当在第一文字信息中匹配得到与某一运行状态信息A一致的文字信息时,则可将运行状态信息A作为该第一文字信息的运行状态信息。
举例的,当在第一文字信息中匹配得到“更新中”时,则可以确定运行界面截图对应的运行状态信息为“更新中”;当在第一文字信息中匹配得到“立即更新”时,则可以确定运行界面截图对应的运行状态信息为需用通过触发“立即更新”对应的控件,以触发对云端应用的更新。
步骤S4.在确定运行状态信息满足待更新条件时,生成用于控制第一云设备对云端应用进行更新的更新指令。
具体的,待更新条件可以是需要进行更新的条件,例如:待更新、立即更新、存在新版本等等。
确定运行状态信息是否满足待更新条件的方法可以是:确定运行状态信息是否属于需要进行更新的运行状态信息(例如:待更新、立即更新、存在新版本),若属于,则判定云端应用需要进行更新,若不属于,则判定云端应用不需要进行更新。
更新指令,可以是用于触发第一云设备对云端应用进行更新的指令;一般的,由于应用都是根据用户的操作进行运行的,因此,更新指令可以是模拟人为操作(例如:单击、滑动、双击等)的指令。
举例的:当运行状态信息为“待更新”时,包含于待更新条件中限定的属于需要进行更新的运行状态信息,因此,该云端应用需要进行更新,并生成对“待更新”文字信息所在的控件进行点击的更新指令;反之,当运行状态信息为“运行中”时,不是待更新条件中限定的属于需要进行更新的运行状态信息,因此,该云端应用无需进行更新。
S5.将更新指令下发至第一云设备,以使第一云设备通过执行更新指令对云端应用进行更新。
具体的,在生成更新指令之后,则可通过服务器与第一云设备之间的数据传输通道,将更新指令下发至第一云设备;第一云设备在接收到更新指令之后,运行该更新指令,即可触发对云端应用的更新。
通过本实施例中的方法,无需人工对云端应用的运行状态进行监测,即可通过云端应用的运行界面截图中的文字信息,判断是否需要对云端应用进行更新;同时无需人为手动触发云端应用,即可通过自动生成的更新指令管控云端应用进行更新;综上所述,可以有效提高更新的及时性,提高更新的效率,并能降低人力成本。
如图2所示,在一些实施例中,如前述的方法,所述步骤S1获取云端应用的运行界面截图之前,还包括如下所述步骤P1和P3:
步骤P1.当确定第一云设备为空闲状态时,获取第一云设备对应的更新任务信息。
具体的,空闲状态,可以是第一云设备未分配给用户,安装于第一云设备上的云端应用未运行时,第一云设备的状态。其中一种可选的实现方式可以是:通过判断第一云设备在预设时间段(例如:1分钟)内,是否接收到来自于客户端的操作数据,若未接收到操作数据,则可以判定第一云设备为空闲状态。
更新任务信息,可以是用于表征第一云设备当前是否正在执行更新任务的信息;其中,每个更新任务可以是用于对一个云端应用进行更新,更新任务信息至少可以包括:当前更新的云端应用的名称。其中一种可选的实现方式中,可以通过检测第一云设备当前正在运行的云端应用;若存在正在运行的云端应用时,则可以通过前述实施例中步骤S2至S4中的相关方法确定正在运行的云端应用是否处于更新状态。
步骤P2.在根据更新状态信息确定第一云设备当前未执行更新任务时,生成用于控制第一云设备启动云端应用的启动指令。
具体的,即第一云设备处于空闲状态,且第一云设备当前未执行更新任务时,才生成用于控制第一云设备启动云端应用的启动指令。
其中一种可选的实现方式可以是:确定云端应用的启动图标在第一云设备中的图标位置信息(例如:坐标信息),并基于该图标位置信息,通过诸如通过应用Input tab命令等方式,生成模拟在该位置进行点击操作的启动指令。
P3.将启动指令下发至所述第一云设备,以使第一云设备通过执行启动指令启动云端应用。
具体的,在生成启动指令之后,则可通过服务器与第一云设备之间的数据传输通道,将启动指令下发至第一云设备;第一云设备在接收到启动指令之后,运行该启动指令,即可在启动指令中指定的位置进行点击操作,进而达到启动云端应用的目的。
通过本实施例中的方法,在第一云设备当前未执行更新任务时才对云端应用进行更新,可以避免多个云端应用同时更新的情况,进而可以避免因为新增加的更新任务,对已有更新任务的更新速度(例如:下载速度)造成影响。
如图3所示,在一些实施例中,如前述的方法,所述步骤S1获取云端应用的运行界面截图之前,还包括如下所述步骤P4至P7:
步骤P4.获取来自于更新控制后台的设备标识。
具体的,设备标识,是用于区别各个云设备的信息;且设备标识信息是由更新控制后台发送后得到的。
其中,更新控制后台,可以是用于从所有的云设备中选择得到第一云设备的后台。
步骤P5.建立与设备标识对应的第一云设备之间的连接通道;
如图4所示,在一些可选的实现方式中,建立与设备标识对应的第一云设备之间的连接通道,可以通过如下所述步骤E1或E2实现:
步骤E1.确定设备标识对应的第一云设备的端口,通过端口与第一云设备建立连接通道;
具体的,由于设备标识具有唯一性,因此可以根据设备标识确定对应的第一云设备,然后得到第一云设备的端口,进而可以通过该端口与第一云设备建立连接。
其中一种可选的实现方式可以是:通过adb工具(即Android Debug Bridge(安卓调试桥)tools)建立与第一云设备的连接,adb是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互。
步骤E2.运用跳板机,并按照设备标识建立与第一云设备之间的连接通道。
具体的,跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作其他设备的网络设备。
因此,在通过设备标识查询到第一云设备之后,通过跳板机对第一云设备进行连接。
步骤P6.生成用于控制第一云设备启动云端应用的启动指令。
其中一种可选的实现方式可以是:确定云端应用的启动图标在第一云设备中的图标位置信息(例如:坐标信息),并基于该图标位置信息,通过诸如通过应用Input tab命令等方式,生成模拟在该位置进行点击操作的启动指令。
步骤P7.通过连接通道,将启动指令下发至第一云设备,以使第一云设备通过执行启动指令启动云端应用。
具体的,在生成启动指令之后,则可通过服务器与第一云设备之间的连接通道,将启动指令下发至第一云设备;第一云设备在接收到启动指令之后,运行该启动指令,即可在启动指令中指定的位置进行点击操作,进而达到启动云端应用的目的。
通过本实施例中的方法,可以建立与第一云设备的连接,并且可以采用多种方式建立连接,增加了可应用场景。
如图5所示,在一些实施例中,如前述的方法,在所述步骤S1获取云端应用的运行界面截图之前,方法还包括如下所述步骤P8至P10:
步骤P8.确定云端应用在当前运行界面的停留时间。
步骤P9.在停留时间达到预设时长上限时,生成用于控制第一云设备对当前运行界面进行截图的截图指令。
步骤P10.将截图指令下发至第一云设备,以使第一云设备通过执行截图指令,对当前运行界面进行截图得到运行界面截图。
具体的,由于需要根据运行界面截图确定云端应用是否需要更新,而且云端应用在启动之后,可能需要通过前置多个动画或界面之后才会跳转至是否需要进行更新的更新界面,因此,可以通过获取云端应用在运行界面的停留时间,在停留时间达到预设时长上限(例如5秒)之后,则判定在当前运行界面若不执行操作,就无法进入下一界面,并且在该情况下,当前运行界面为更新界面的概率较高,生成用于控制第一云设备对当前运行界面进行截图的截图指令,其中,截图指令可以基于模拟截图所需进行的操作生成;此外,还可以,按照预设周期,定时获取云端应用的运行界面截图,以对各个运行界面截图逐个进行识别。
具体的,在生成截图指令之后,则可通过服务器与第一云设备之间的连接通道,将截图指令下发至第一云设备;第一云设备在接收到截图指令之后,运行该截图指令,即可在当前运行页面执行截图指令,进而对当前运行界面进行截图的目的。
通过本实施例中的方法,在通过文字识别无法判断是否需要更新时,提供了一种可以智能的判断当前是否处于更新界面的方法。
如图6所示,在一些实施例中,如前述的方法,所述步骤S3根据所述第一文字信息确定所述云端应用对应的运行状态信息,包括如下所述步骤S31和S32:
步骤S31.将文字信息与预设关键字进行匹配。
具体的,预设关键字可以是文字信息满足待更新条件对应的关键字,例如:待更新、立即更新、存在新版本等。
文字信息以及预设关键字中分别可以包括一个或多个字符,因此,可以根据预设关键字的字符在文字信息中进行字符匹配,以达到在文字信息中查询预设关键字的目的。
步骤S32.当从文字信息中匹配到预设关键字时,将预设关键字对应的运行状态信息作为云端应用的运行状态信息。
具体的,当从文字信息中匹配到预设关键字时,可以判定文字信息中包含有预设关键字;反之,当从文字信息中未匹配到预设关键字时,则判定文字信息中未包含有预设关键字;并且一般情况下,当文字信息中包括预设关键字时,表征文字信息所表征的语义包括预设关键字包括的语义,因此可以将预设关键字对应的运行状态信息作为云端应用的运行状态信息。
具体的,当文字信息为“存在新版本待更新”,预设关键字包括:待更新、立即更新、存在新版本;依次通过待更新、立即更新、存在新版本在文字信息中进行匹配,并且通过关键词“存在新版本”,在文字信息中匹配得到一致的词语,当预设关键字用于表征的运行状态信息为待更新状态时,因而云端应用的运行状态信息也为待更新。
反之,当文字信息为“进入游戏”,预设关键字包括:待更新、立即更新、存在新版本;依次通过待更新、立即更新、存在新版本在文字信息中进行匹配,无法匹配到一致的词语,因此,判定云端应用的运行状态不是待更新状态。
通过本实施例中的方法,可以快速对运行界面截图进行识别,并判断得到是否满足待更新条件。
如图7所示,在一些实施例中,如前述的方法,所述步骤S4生成用于控制所述第一云设备对所述云端应用进行更新的更新指令,包括如下所述步骤S41至S44:
步骤S41.确定第一文字信息中与预设关键字匹配的目标文字信息。
具体的,目标文字信息,可以是存在于第一文字信息中,并且与预设关键字一致,用于提示用户操作的信息,例如:开始更新、启动更新等等。
可以基于OCR识别的方式,在第一文字信息中定位到目标文字信息。
步骤S42.获取目标文字信息在运行界面截图上对应的坐标信息。
具体的,坐标信息,可以用于表征目标文字信息在运行界面截图上的位置。
可选的,由于运行界面截图是图像信息,因此,可以先确定目标文字信息在运行界面截图上的所占的像素,然后在运行界面截图中建立一个坐标系,由于图像中的像素都是按照行列分布的,因此可以确定各个像素在运行界面截图上的坐标,进而可以得到目标文字信息在运行界面截图上的坐标信息。
步骤S43.根据坐标信息确定待触发的更新控件的位置信息。
具体的,更新控件,可以是被触发后能够对云端应用进行更新的控件。
在一般情况下,目标文字信息都是显示于更新控件上,以使用户能够准确的找到更新控件,并对更新控件进行点击操作;因此,目标文字信息的坐标信息与更新控件在运行界面上的坐标信息是相一致的。因而,基于坐标信息可以在运行界面上确定待触发的更新控件的位置信息。
步骤S44.根据位置信息生成用于触发更新控件的更新指令。
具体的,触发操作指令可以是用于对更新控件进行操作(例如:点击)的指令。
并且触发操作指令中可以包括:位置信息以及用于对更新控件进行点击的点击命令,因此可以根据位置信息准确在运行界面上定位到更新控件,并根据点击命令对更新控件进行点击,以达到触发操作的目的。
通过本实施例中的方法,可以生成能够准确定位到用于触发更新的位置或控件,并对控件执行触发操作,进而能够使第一云设备根据点击命令实现自动对云端应用的更新。
如图8所示,在一些实施例中,如前述的方法,所述步骤S5控制第一云设备对云端应用进行更新之前,还包括如下所述步骤A1至A3:
步骤A1.确定第一云设备所在的服务器中,并行处理队列的任务数量阈值。
具体的,并行处理队列中可以包括一个或多个更新任务,并且并行处理队列中的更新任务可以同时进行处理。
任务数量阈值,可以是最多可以进行并行处理的数量的上限数值,以限制并行处理任务数量。
其中一种可选的实现方式中,由于并行处理任务数量越多,服务器的资源占用率会越高,当资源占用率过高时,则会导致服务器的更新效率变低;因此,可以基于更新效率以及服务器的可用资源量确定任务数量阈值,因而任务数量阈值可以是预先设定的数值。
步骤A2.获取并行处理队列中当前任务对应的当前任务数量。
具体的,当前任务数量,可以是当前时间下,并行处理任务的数量。
其中一种可选的实现方式中,当服务器中每进行一个云端应用更新任务,或完成一个云端应用更新任务时,服务器可以对当前正在进行更新的云端应用的记录进行更新,进而可以根据记录得到当前任务对应的当前任务数量。
步骤A3.在当前任务数量小于任务数量阈值时,将第一云设备对应的云端应用更新任务加入并行处理队列,以对第一云设备对应的云端应用更新任务以及并行处理队列中的当前云端应用更新任务并行进行应用更新。
具体的,在当前任务数量小于任务数量上限阈值时,说明还可以增加并行处理任务的名额,因此可以将第一云设备加入并行处理队列中,以对第一云设备以及并行处理队列中已有的当前云端应用更新任务并行进行应用更新。当前云端应用更新任务可以包括一个或多个。
进一步的,可以在并行处理队列中确定完成更新的云设备,然后将完成更新的云设备从并行处理队列中移出,以给其它需要进行更新的云设备提供更新名额。
通过并行处理,可以大幅提升应用更新的处理效率,从而解决云设备数量较多时,更新时间过长问题。
如图9所示,在一些实施例中,如前述的方法,所述步骤S5将更新指令下发至第一云设备之前,还包括如下所述步骤B1至B3:
步骤B1.确定第一云设备进行应用更新对应的预计资源占用量。
具体的,第一云设备,可以是通过分配服务器中的部分资源得到的虚拟机;且服务器中可以包括第一云设备以及其他云设备。
预计资源占用信息,可以是第一云设备对云端应用进行更新时,预计需要占据的服务器中的计算资源或网络资源。
在一些可选的实现方式中,可以通过确定每进行一个云端应用更新任务所需占据的CPU资源、内存资源以及网络资源,预计得到预计资源占用信息。进一步的,可以设定为:每个云端应用更新任务在更新时所需占的CPU资源、内存资源以及网络资源都是相近的。
步骤B2.获取第一云设备所在服务器的总资源量,以及服务器上正在执行第二云设备的云端应用更新任务对应的当前资源占用量。
具体的,总资源信息,可以是服务器可以提供的所有计算资源或网络资源。
第二云设备可以包括一个或多个,且第二云设备,同样可以是通过分配服务器中的部分资源得到的虚拟机。
第二资源占用信息,可以是正在更新的,且安装在第二云设备上的云端应用,所占据的计算资源或网络资源。
步骤B3.在预计资源占用量与当前资源占用量之和小于或等于总资源量时,将第一云设备对应的云端应用更新任务加入并行处理队列中,以对第一云设备对应的云端应用更新任务以及第二云设备对应的云端应用更新任务并行进行应用更新。
具体的,并行处理队列中可以包括一个或多个更新任务,并且并行处理队列中的更新任务可以同时进行处理。
当资源占用信息包含多项数据指标时,第一资源占用信息与第二资源占用信息中的任一项指标之和都需要小于或等于总资源信息时,才可以将第一云设备加入并行处理队列中;当资源占用信息只包含一项数据指标时,第一资源占用信息与第二资源占用信息中包括的一项指标之和小于或等于总资源信息时,就可以将第一云设备加入并行处理队列中。
通过本实施例中的方法,可以同时处理多个更新任务,可以有效提高云端应用更新的效率。
如图10所示,在一些实施例中,如前述的方法,所述步骤S5将所述更新指令下发至所述第一云设备之后,包括如下所述步骤C1至C3:
步骤C1.按照第一预设时间间隔获取第一云设备中与云端应用对应的数据包收发数量。
具体的,第一预设时间间隔,可以是预先设置的,用于限定获取数据包收发数量的周期(例如:5秒、10秒等等)。
数据包收发数量,可以是云端应用在进行更新时,与提供更新的服务器之间收发的数据包的数量。并且可以通过用于查询收发数据包的数量的指令获取数据包收发数量。
举例的:可以通过cat/proc/net/dev命令每隔10秒查看云端应用对应的数据包收发数量。
步骤C2.在数据包收发数量小于预设阈值时,生成用于控制第一云设备结束对云端应用进行更新的第一结束更新指令。
具体的,预设阈值,可以是云端应用未进行更新时,云端应用与服务器正常通信时收发的数据包的数量。
因此,在数据包收发数量小于预设阈值时,可以判定云端应用已完成数据的更新,并且可以通过生成控制第一云设备退出云端应用的指令等方式,生成第一结束更新指令。其中一种可选的实现方式中,可以先确定第一云设备中进行应用退出所需进行的所有操作,然后生成依次模拟各个操作的指令,即可得到第一结束更新指令。
举例的,当对于第一云设备,若需要退出某一云端应用,依次需要进行如下操作:1、由界面底部向上拖动,以获取当前运行的云端应用;2、选定当前运行的应用,继续向上拖动,以退出当前运行的云端应用。因此,只需模拟得到可以依次执行上述两个操作的指令,即可得到第一结束更新指令。
步骤C3.将第一结束更新指令下发至第一云设备,以使第一云设备根据第一结束更新指令结束更新。
具体的,在生成第一结束更新指令之后,则可通过服务器与第一云设备之间的数据传输通道,将第一结束更新指令下发至第一云设备;第一云设备在接收到第一结束更新指令之后,运行该第一结束更新指令,即可按照第一结束更新指令执行对应的结束更新的操作,进而达到对云端应用进行结束更新的目的。
通过本实施例中的方法,通过对数据包收发数量进行检测的方法,可以及时退出对某一云端应用的更新任务,防止第一云设备长期处于更新状态,减少可提供服务的云设备的数量,以免对云服务的正常运营造成影响。
如图11所示,在一些实施例中,如前述的方法,所述步骤S5将更新指令下发至第一云设备之后,方法还包括如下所述步骤D1至D5:
步骤D1.在云端应用更新过程中,按照第二预设时间间隔获取云端应用对应的更新界面截图。
具体的,第二预设时间间隔,可以是预先设置的,用于限定获取更新界面截图的周期(例如:5秒、10秒等等)。
更新界面截图,可以是云端应用在更新状态下进行截图得到的图片。
步骤D2.对更新界面截图进行识别,得到所述更新界面截图上的第二文字信息。
具体的,对运行界面截图进行识别,可以是通过文字识别程序,对运行界面截图进行文字识别,以获取更新界面截图上的第二文字信息。
在一般情况下,在更新界面中,会存在更新的进度信息(例如:更新完成、更新中、更新90%等等),因此,可以通过OCR(Optical Character Recognition,光学字符识别)的方式对更新界面截图进行识别,获取识别得到的字符。
步骤D3.根据第二文字信息确定云端应用的更新状态信息。
具体的,更新状态信息,可以是用于表征更新中的云端应用当前所处状态的信息;更新状态信息可以是:更新中、待更新以及更新完成等表示大致更新阶段的信息;也可以是:更新90%等具体的更新进度信息。
在到第二文字信息之后,可以通过对第二文字信息进行语义分析,进而得到更新状态信息。
步骤D4.在确定更新状态信息满足更新完成条件时,生成用于控制第一云设备结束对云端应用进行更新的第二结束更新指令。
具体的,更新完成条件可以是用于判定云端应用完成更新的条件,例如:更新完成、已更新、当前为最新版本等等。
确定运行状态信息是否满足更新完成条件的方法可以是:确定运行状态信息是否属于更新完成的运行状态信息(例如前述的:更新完成、已更新、当前为最新版本),若属于,则判定云端应用已更新完成,若不属于(即运行状态信息可以是:更新中、已更新90%等等),则判定云端应用还需继续进行更新。
生成第二结束更新指令的方法,可参照前述实施例中步骤A2中的相关方法,在此不再进行赘述。
步骤D5.将第二结束更新指令下发至第一云设备,以使第一云设备根据第二结束更新指令结束更新。
具体的,在生成第二结束更新指令之后,则可通过服务器与第一云设备之间的数据传输通道,将第二结束更新指令下发至第一云设备;第一云设备在接收到第二结束更新指令之后,运行第二结束更新指令,即可按照第二结束更新指令执行对应的结束更新的操作,进而达到对云端应用进行结束更新的目的。
通过本实施例中的方法,通过对更新界面截图进行识别的方法,可以及时退出对某一云端应用的更新任务,防止第一云设备长期处于更新状态,减少可提供服务的云设备的数量,以免对云服务的正常运营造成影响。
如图12所示,在一些实施例中,如前述的方法,在所述步骤S5将更新指令下发至第一云设备,以使第一云设备通过执行更新指令对云端应用进行更新后,还包括如下所述步骤S6至S8:
步骤S6.确定云端应用中的基本数据在共享存储区中的路径信息。
具体的,基本数据,可以是运行云端应用时,可供各个云设备共用的数据。
共享存储区,可以是第一云设备所处的服务器中,可以由各个云设备进行访问的存储区。
路径信息,可以是基本数据的在共享存储区中存储位置所对应的存储路径。
可选的,由于在一般情况下,云端应用的存储路径是确定的,因此可以通过确定更新前后共享存储区中各个目录中文件的数据量大小,确定进行云端应用更新的目录,进而可以基于该目录的路径信息确定基本数据对应的路径信息。
步骤S7.确定运行云端应用的第三云设备中与云端应用对应的目录。
具体的,第三云设备可以是服务器中,所有安装有第一云设备中刚完成更新的云端应用的云设备。
目录一般是第三云设备中,云端应用的运行文件安装的路径。
举例的,可以在第三云设备中,通过云端应用的关键词(例如:名称)进行搜索,以查询得到与云端应用对应的目录。
步骤S8.将路径信息传输至目录,以使得第三云设备启动云端应用时,通过路径信息读取得到云端应用中的基本数据。
其中一种可选的实现方式中,可以将路径信息打包成文件包之后,传输到云服务器平台上,然后通过云服务平台与服务器之间的接口将文件包并行传输至所有需要更新的第三云设备的目录中。进而,当云端应用需要进行更新时,第三云设备在启动云端应用时,可以根据路径信息从共享存储区中读取得到更新后云端应用中的基本数据,因此,只需进行一次更新,即可达到对各个第三云设备中的云端应用进行更新的目的。
通过本实施例中的方法,由于在一般情况下,服务器中的所有云设备与共享存储区都是在同一内网中,而内网中的不同设备之间进行数据传输具有速度快的特点,因此,可以使第三云设备快速读取得到共享存储区中的内容;此外,由于没有经过外网,通信运营商也将不再收取流量费,提升效率的同时也节省了流量成本,同时可以有效节约存储空间。
如图13所示,根据本申请另一方面的一个实施例,还提供了一种云应用更新服务器,包括:
获取模块11,用于获取云端应用的运行界面截图;云端应用安装于第一云设备中;
识别模块12,用于对运行界面截图进行识别,得到运行界面截图上的第一文字信息;
运行状态确定模块13,用于根据第一文字信息确定云端应用的运行状态信息;
更新指令生成模块14,用于在确定运行状态信息满足待更新条件时,生成用于控制第一云设备对云端应用进行更新的更新指令;
发送模块15,用于将更新指令下发至第一云设备,以使第一云设备通过执行更新指令对云端应用进行更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括第一启动模块,用于:
当确定第一云设备为空闲状态时,获取第一云设备对应的更新任务信息;
在根据更新任务信息确定第一云设备当前未执行更新任务时,生成用于控制第一云设备启动云端应用的启动指令;
将启动指令下发至第一云设备,以使第一云设备通过执行启动指令启动云端应用。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括第一结束更新模块,用于:
按照第一预设时间间隔获取第一云设备中与云端应用对应的数据包收发数量;
在数据包收发数量小于预设阈值时,生成用于控制第一云设备结束对云端应用进行更新的第一结束更新指令;
将第一结束更新指令下发至第一云设备,以使第一云设备根据第一结束更新指令结束更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括第二结束更新模块,用于:
在云端应用更新过程中,按照第二预设时间间隔获取云端应用的更新界面截图;
对更新界面截图进行识别,得到更新界面截图上的第二文字信息;
根据第二文字信息确定云端应用的更新状态信息;
在确定更新状态信息满足更新完成条件时,生成用于控制第一云设备结束对云端应用进行更新的第二结束更新指令;
将第二结束更新指令下发至第一云设备,以使第一云设备根据第二结束更新指令结束更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括第一并行处理模块,用于:
确定第一云设备所在的服务器中,并行处理队列的任务数量阈值;
获取并行处理队列中的当前任务数量;
在当前任务数量小于任务数量阈值时,将第一云设备对应的云端应用更新任务加入并行处理队列,以对第一云设备对应的云端应用更新任务以及并行处理队列中的当前云端应用更新任务并行进行应用更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括第二并行处理模块,用于:
确定第一云设备进行应用更新对应的预计资源占用量;
获取第一云设备所在服务器的总资源量,以及服务器上正在执行第二云设备的云端应用更新任务对应的当前资源占用量;
在预计资源占用量与当前资源占用量之和小于或等于总资源量时,将第一云设备对应的云端应用更新任务加入并行处理队列中,以对第一云设备对应的云端应用更新任务以及第二云设备对应的云端应用更新任务并行进行应用更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,所述运行状态确定模块用于:
将文字信息与预设关键字进行匹配;
当从文字信息中匹配到预设关键字时,将预设关键字对应的运行状态信息作为云端应用的运行状态信息。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,更新指令生成模块,用于:
确定第一文字信息中与预设关键字匹配的目标文字信息;
获取目标文字信息在运行界面截图上对应的坐标信息;
根据坐标信息确定待触发的更新控件的位置信息;
根据位置信息生成用于触发更新控件的更新指令。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括共享模块,用于:
确定云端应用中的基本数据在共享存储区中的路径信息;
确定运行云端应用的第三云设备中与云端应用对应的目录;
将路径信息传输至目录,以使得第三云设备启动云端应用时,通过路径信息读取得到云端应用中的基本数据。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括启动模块,用于:
获取来自于更新控制后台的设备标识;
建立与设备标识对应的第一云设备之间的连接通道;
生成用于控制第一云设备启动云端应用的启动指令;
通过连接通道,将启动指令下发至第一云设备,以使第一云设备通过执行启动指令启动云端应用。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
在一些实施例中,如前述的云应用更新服务器,还包括截图控制模块,用于:
确定云端应用在当前运行界面的停留时间;
在停留时间达到预设时长上限时,生成用于控制第一云设备对当前运行界面进行截图的截图指令;
将截图指令下发至第一云设备,以使第一云设备通过执行截图指令,对当前运行界面进行截图得到运行界面截图。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
如图14所示,根据本申请另一方面的一个实施例,还提供了一种云应用更新系统,包括:云应用更新服务器1以及云设备2;
云应用更新服务器1,用于根据获取的设备标识建立与云设备之间的连接;获取云端应用在云设备中的运行界面截图;对运行界面截图进行识别,得到运行界面截图上的文字信息;根据文字信息确定云端应用的运行状态信息;得到运行界面截图对应的运行状态信息;在确定运行状态信息满足待更新条件时,生成用于控制云设备对云端应用进行更新的更新指令;将更新指令下发至云设备;
云设备2,用于通过执行更新指令对云端应用进行更新。
具体的,本发明实施例的装置中各模块实现其功能的具体过程可参见方法实施例中的相关描述,此处不再赘述。
根据本申请的另一个实施例,还提供一种电子设备,包括:如图15所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的程序时,实现上述方法实施例的步骤。
上述电子设备提到的总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供一种存储介质,存储介质包括存储的程序,其中,程序运行时执行上述方法实施例的方法步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (15)
1.一种云应用更新方法,其特征在于,执行于服务器,包括:
获取云端应用的运行界面截图;所述云端应用安装于第一云设备中;
对所述运行界面截图进行识别,得到所述运行界面截图上的第一文字信息;
根据所述第一文字信息确定所述云端应用的运行状态信息;
在确定所述运行状态信息满足待更新条件时,生成用于控制所述第一云设备对所述云端应用进行更新的更新指令;
将所述更新指令下发至所述第一云设备,以使所述第一云设备通过执行所述更新指令对所述云端应用进行更新。
2.根据权利要求1所述的方法,其特征在于,所述获取云端应用的运行界面截图之前,所述方法还包括:
当确定所述第一云设备为空闲状态时,获取所述第一云设备对应的更新任务信息;
在根据所述更新任务信息确定所述第一云设备当前未执行更新任务时,生成用于控制所述第一云设备启动所述云端应用的启动指令;
将所述启动指令下发至所述第一云设备,以使所述第一云设备通过执行所述启动指令启动所述云端应用。
3.根据权利要求1所述的方法,其特征在于,所述将所述更新指令下发至所述第一云设备之后,所述方法还包括:
按照第一预设时间间隔获取所述第一云设备中与所述云端应用对应的数据包收发数量;
在所述数据包收发数量小于预设阈值时,生成用于控制所述第一云设备结束对所述云端应用进行更新的第一结束更新指令;
将所述第一结束更新指令下发至所述第一云设备,以使所述第一云设备根据所述第一结束更新指令结束更新。
4.根据权利要求1所述的方法,其特征在于,所述将所述更新指令下发至所述第一云设备之后,所述方法还包括:
在所述云端应用更新过程中,按照第二预设时间间隔获取所述云端应用的更新界面截图;
对所述更新界面截图进行识别,得到所述更新界面截图上的第二文字信息;
根据所述第二文字信息确定所述云端应用的更新状态信息;
在确定所述更新状态信息满足更新完成条件时,生成用于控制所述第一云设备结束对所述云端应用进行更新的第二结束更新指令;
将所述第二结束更新指令下发至所述第一云设备,以使所述第一云设备根据所述第二结束更新指令结束更新。
5.根据权利要求1所述的方法,其特征在于,所述将所述更新指令下发至所述第一云设备之前,所述方法还包括:
确定所述第一云设备所在的服务器中,并行处理队列的任务数量阈值;
获取所述并行处理队列中的当前任务数量;
在所述当前任务数量小于所述任务数量阈值时,将所述第一云设备对应的云端应用更新任务加入所述并行处理队列,以对所述第一云设备对应的云端应用更新任务以及所述并行处理队列中的当前云端应用更新任务并行进行应用更新。
6.根据权利要求1所述的方法,其特征在于,所述将所述更新指令下发至所述第一云设备之前,所述方法还包括:
确定所述第一云设备进行应用更新对应的预计资源占用量;
获取所述第一云设备所在服务器的总资源量,以及所述服务器上正在执行第二云设备的云端应用更新任务对应的当前资源占用量;
在所述预计资源占用量与所述当前资源占用量之和小于或等于所述总资源量时,将所述第一云设备对应的云端应用更新任务加入并行处理队列中,以对所述第一云设备对应的云端应用更新任务以及所述第二云设备对应的云端应用更新任务并行进行应用更新。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一文字信息确定所述云端应用对应的运行状态信息,包括:
将所述文字信息与预设关键字进行匹配;
当从所述文字信息中匹配到所述预设关键字时,将所述预设关键字对应的运行状态信息作为所述云端应用的运行状态信息。
8.根据权利要求1所述的方法,其特征在于,所述生成用于控制所述第一云设备对所述云端应用进行更新的更新指令,包括:
确定所述第一文字信息中与预设关键字匹配的目标文字信息;
获取所述目标文字信息在所述运行界面截图上对应的坐标信息;
根据所述坐标信息确定待触发的更新控件的位置信息;
根据所述位置信息生成用于触发所述更新控件的所述更新指令。
9.根据权利要求1所述的方法,其特征在于,还包括:
确定所述云端应用中的基本数据在共享存储区中的路径信息;
确定运行所述云端应用的第三云设备中与所述云端应用对应的目录;
将所述路径信息传输至所述目录,以使得所述第三云设备启动所述云端应用时,通过所述路径信息读取得到所述云端应用中的基本数据。
10.根据权利要求1所述的方法,其特征在于,所述获取云端应用的运行界面截图之前,所述方法还包括:
获取来自于更新控制后台的设备标识;
建立与所述设备标识对应的所述第一云设备之间的连接通道;
生成用于控制所述第一云设备启动所述云端应用的启动指令;
通过所述连接通道,将所述启动指令下发至所述第一云设备,以使所述第一云设备通过执行所述启动指令启动所述云端应用。
11.根据权利要求2所述的方法,其特征在于,在所述获取所述云端应用的运行界面截图之前,所述方法还包括:
确定所述云端应用在当前运行界面的停留时间;
在所述停留时间达到预设时长上限时,生成用于控制所述第一云设备对所述当前运行界面进行截图的截图指令;
将所述截图指令下发至所述第一云设备,以使所述第一云设备通过执行所述截图指令,对所述当前运行界面进行截图得到所述运行界面截图。
12.一种云应用更新服务器,其特征在于,包括:
获取模块,用于获取云端应用的运行界面截图;所述云端应用安装于第一云设备中;
识别模块,用于对所述运行界面截图进行识别,得到所述运行界面截图上的第一文字信息;
运行状态确定模块,用于根据所述第一文字信息确定所述云端应用的运行状态信息;
更新指令生成模块,用于在确定所述运行状态信息满足待更新条件时,生成用于控制所述第一云设备对所述云端应用进行更新的更新指令;
发送模块,用于将所述更新指令下发至所述第一云设备,以使所述第一云设备通过执行所述更新指令对所述云端应用进行更新。
13.一种云应用更新系统,其特征在于,包括:云应用更新服务器以及云设备;
所述云应用更新服务器,用于根据获取的设备标识建立与所述云设备之间的连接;获取云端应用在所述云设备中的运行界面截图;对所述运行界面截图进行识别,得到所述运行界面截图上的文字信息;根据所述文字信息确定所述云端应用的运行状态信息;得到所述运行界面截图对应的运行状态信息;在确定所述运行状态信息满足待更新条件时,生成用于控制所述云设备对所述云端应用进行更新的更新指令;将所述更新指令下发至所述云设备;
所述云设备,用于通过执行所述更新指令对所述云端应用进行更新。
14.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,所述处理器、通信接口和存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-11任一项所述的方法步骤。
15.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1-11中任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181951.3A CN112988185A (zh) | 2021-02-09 | 2021-02-09 | 云应用更新方法、装置、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110181951.3A CN112988185A (zh) | 2021-02-09 | 2021-02-09 | 云应用更新方法、装置、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112988185A true CN112988185A (zh) | 2021-06-18 |
Family
ID=76392962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110181951.3A Pending CN112988185A (zh) | 2021-02-09 | 2021-02-09 | 云应用更新方法、装置、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112988185A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656176A (zh) * | 2021-08-19 | 2021-11-16 | 北京百度网讯科技有限公司 | 云设备的分配方法、装置、系统、电子设备、介质及产品 |
CN113835733A (zh) * | 2021-09-29 | 2021-12-24 | 百度在线网络技术(北京)有限公司 | 云应用更新方法、装置、电子设备以及存储介质 |
WO2023275588A1 (en) * | 2021-06-28 | 2023-01-05 | Sensetime International Pte. Ltd. | Methods and apparatuses for automatic operational maintenance |
CN115576588A (zh) * | 2022-11-21 | 2023-01-06 | 北京海誉动想科技股份有限公司 | 检测云应用更新的方法与装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302576A (zh) * | 2015-11-26 | 2016-02-03 | 中山大学 | 一种基于app更新的用户指南生成方法及系统 |
US20180136929A1 (en) * | 2016-11-15 | 2018-05-17 | International Business Machines Corporation | Content driven automated upgrade of running web applications in on-premise environments |
CN109189682A (zh) * | 2018-08-27 | 2019-01-11 | 广州云测信息技术有限公司 | 一种脚本录制方法和装置 |
CN110968375A (zh) * | 2018-09-29 | 2020-04-07 | Tcl集团股份有限公司 | 界面控制方法、装置、智能终端及计算机可读存储介质 |
CN111309357A (zh) * | 2020-02-24 | 2020-06-19 | 腾讯科技(成都)有限公司 | 云游戏软件的更新方法、装置、存储介质和云游戏系统 |
-
2021
- 2021-02-09 CN CN202110181951.3A patent/CN112988185A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105302576A (zh) * | 2015-11-26 | 2016-02-03 | 中山大学 | 一种基于app更新的用户指南生成方法及系统 |
US20180136929A1 (en) * | 2016-11-15 | 2018-05-17 | International Business Machines Corporation | Content driven automated upgrade of running web applications in on-premise environments |
CN109189682A (zh) * | 2018-08-27 | 2019-01-11 | 广州云测信息技术有限公司 | 一种脚本录制方法和装置 |
CN110968375A (zh) * | 2018-09-29 | 2020-04-07 | Tcl集团股份有限公司 | 界面控制方法、装置、智能终端及计算机可读存储介质 |
CN111309357A (zh) * | 2020-02-24 | 2020-06-19 | 腾讯科技(成都)有限公司 | 云游戏软件的更新方法、装置、存储介质和云游戏系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023275588A1 (en) * | 2021-06-28 | 2023-01-05 | Sensetime International Pte. Ltd. | Methods and apparatuses for automatic operational maintenance |
CN113656176A (zh) * | 2021-08-19 | 2021-11-16 | 北京百度网讯科技有限公司 | 云设备的分配方法、装置、系统、电子设备、介质及产品 |
CN113656176B (zh) * | 2021-08-19 | 2022-08-23 | 北京百度网讯科技有限公司 | 云设备的分配方法、装置、系统、电子设备、介质及产品 |
CN113835733A (zh) * | 2021-09-29 | 2021-12-24 | 百度在线网络技术(北京)有限公司 | 云应用更新方法、装置、电子设备以及存储介质 |
CN113835733B (zh) * | 2021-09-29 | 2023-06-16 | 百度在线网络技术(北京)有限公司 | 云应用更新方法、装置、电子设备以及存储介质 |
CN115576588A (zh) * | 2022-11-21 | 2023-01-06 | 北京海誉动想科技股份有限公司 | 检测云应用更新的方法与装置 |
CN115576588B (zh) * | 2022-11-21 | 2023-03-10 | 北京海誉动想科技股份有限公司 | 检测云应用更新的方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112988185A (zh) | 云应用更新方法、装置、系统、电子设备及存储介质 | |
CN109951547B (zh) | 事务请求并行处理方法、装置、设备和介质 | |
CN105164644A (zh) | 钩子框架 | |
CN109033814B (zh) | 智能合约触发方法、装置、设备及存储介质 | |
WO2022148086A1 (zh) | 信息处理方法、装置、设备及存储介质 | |
CN115935035A (zh) | Rpa流程可视化管理方法、装置、设备及可读存储介质 | |
CN109947624A (zh) | 状态监控方法及装置 | |
CN112306471A (zh) | 一种任务的调度方法和装置 | |
CN111597009B (zh) | 应用程序显示的方法、装置及终端设备 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
US20160321173A1 (en) | Automatic garbage collection thrashing monitoring | |
CN111026945B (zh) | 多平台爬虫调度方法、装置和存储介质 | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
CN115858114A (zh) | 空闲任务的调度方法、装置、电子设备及可读存储介质 | |
CN112631949B (zh) | 一种调试方法、装置、计算机设备及存储介质 | |
CN114490323A (zh) | 终端设备的测试方法、装置及电子设备 | |
CN114756362A (zh) | 资源配额管理方法及系统、智能终端、存储介质 | |
CN109376289B (zh) | 一种应用搜索结果中确定目标应用排位的确定方法及装置 | |
CN112732542A (zh) | 信息处理方法、信息处理装置及终端设备 | |
WO2020211358A1 (zh) | 数据库调度方法、装置、计算机设备及存储介质 | |
CN112579938A (zh) | 一种页面加载方法、装置、存储介质及电子设备 | |
CN111611077A (zh) | 任务参数处理方法、终端和存储介质 | |
CN110888690A (zh) | 一种应用启动方法、装置、电子设备及存储介质 | |
CN111813407A (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
CN114860455B (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 |