一种测试平台上的终端设备的离线恢复方法、装置和系统转让专利

申请号 : CN201510641131.2

文献号 : CN105357030B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 赵玉婷王欣

申请人 : 北京奇虎科技有限公司奇智软件(北京)有限公司

摘要 :

本发明公开了一种测试平台上的终端设备的离线恢复方法、装置和系统,该方法包括:在PC机上部署多个虚拟机,部署每个虚拟机与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;虚拟机对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。本发明提供的技术方案通过为测试平台设置虚拟机,建立连接快照,监控受测试设备连接状态并恢复相应连接快照的方式,为离线受测设备恢复连接,增强了测试平台的自我修复能力,反应快速及时,提高了运行效率,且方案自动化程度高,节省人力成本。

权利要求 :

1.一种测试平台上的终端设备的离线恢复方法,其中,该方法包括:在PC机上部署多个虚拟机,部署每个虚拟机与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;

虚拟机对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;

虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照,以实现测试平台上离线的终端设备的连接状态恢复。

2.如权利要求1所述的方法,其中,该方法进一步包括:在每个终端设备上部署监控程序;

所述监控程序监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。

3.如权利要求1或2所述的方法,其中,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:虚拟机对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令。

4.如权利要求1或2所述的方法,其中,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:虚拟机将监控数据上传到中心服务器;

虚拟机接收中心服务器根据监控数据产生的针对该虚拟机对应的终端设备的离线恢复指令。

5.如权利要求4所述的方法,其中,该方法进一步包括:在所述PC机上部署通信脚本;

所述通信脚本从所述PC机上的各虚拟机获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机;

所述通信脚本从对应的虚拟机获取所述离线恢复指令对应的执行结果反馈给中心服务器。

6.如权利要求5所述的方法,其中,该方法进一步包括:所述通信脚本接收中心服务器下发的任务执行指令并转发到相应的虚拟机;

虚拟机根据接收到的任务执行指令在相应的终端设备上执行相应的任务;

其中,所述任务执行指令包括如下中的一种或多种;

包含安卓安装包APK的应用程序安装指令;

包含APK下载地址的应用程序安装指令;

重启终端设备的指令;

卸载终端设备上的应用程序的指令;

清理终端设备的内存的指令;

刷新终端设备的进程表的指令;

清理终端设备的外置存储空间的指令;

清理终端设备上的指定程序所产生的日志文件的指令。

7.一种测试平台上的终端设备的离线恢复装置,其中,该装置包括:多个虚拟机单元;

每个虚拟机单元,适于与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;

获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照,以实现测试平台上离线的终端设备的连接状态恢复。

8.如权利要求7所述的装置,其中,该装置进一步包括:部署于终端设备的监控单元;

监控单元,适于监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。

9.如权利要求7或8所述的装置,其中,每个虚拟机单元,适于对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令。

10.如权利要求7或8所述的装置,其中,每个虚拟机单元,适于将监控数据上传到中心服务器;接收中心服务器根据监控数据产生的针对该虚拟机单元对应的终端设备的离线恢复指令。

11.如权利要求10所述的装置,其中,该装置进一步包括:通信单元,适于从各虚拟机单元获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机单元;从对应的虚拟机单元获取所述离线恢复指令对应的执行结果反馈给中心服务器。

12.如权利要求11所述的装置,其中,所述通信单元,进一步适于接收中心服务器下发的任务执行指令并转发到相应的虚拟机单元;

每个虚拟机单元,适于根据接收到的任务执行指令在相应的终端设备上执行相应的任务;

其中,所述任务执行指令包括如下中的一种或多种;

包含安卓安装包APK的应用程序安装指令;

包含APK下载地址的应用程序安装指令;

重启终端设备的指令;

卸载终端设备上的应用程序的指令;

清理终端设备的内存的指令;

刷新终端设备的进程表的指令;

清理终端设备的外置存储空间的指令;

清理终端设备上的指定程序所产生的日志文件的指令。

13.一种测试平台上的终端设备的离线恢复系统,其中,该系统包括:中心服务器和一个或多个如权利要求7-12中任一项所述的测试平台上的终端设备的离线恢复装置;

所述装置,适于将监控数据发送到中心服务器;

所述中心服务器,适于对监控数据进行展示以及进行分析,生成针对终端设备的离线恢复指令并下发给所述装置;

所述装置,进一步适于依据接收到的离线恢复指令恢复对应终端设备的连接状态。

14.如权利要求13所述的系统,其中,所述中心服务器,进一步适于接收与下发的针对终端设备的离线恢复指令对应的执行结果,当执行结果表示离线恢复失败时通过预设的报警渠道发出报警信息。

15.如权利要求13所述的系统,其中,所述中心服务器,进一步适于向所述测试平台上的终端设备的离线恢复装置下发任务执行指令;

其中,所述任务执行指令包括如下中的一种或多种;

包含安卓安装包APK的应用程序安装指令;

包含APK下载地址的应用程序安装指令;

重启终端设备的指令;

卸载终端设备上的应用程序的指令;

清理终端设备的内存的指令;

刷新终端设备的进程表的指令;

清理终端设备的外置存储空间的指令;

清理终端设备上的指定程序所产生的日志文件的指令。

16.如权利要求15所述的系统,其中,所述中心服务器,进一步适于接收与下发的任务执行指令对应的任务执行结果,当任务执行结果表示任务执行失败时通过预设的报警渠道发出报警信息。

17.如权利要求13所述的系统,其中,该系统进一步包括:部署机,适于远程登录所述测试平台上的终端设备的离线恢复装置,在所述测试平台上的终端设备的离线恢复装置上部署一个或多个虚拟机单元并启动,以及在所述测试平台上的终端设备的离线恢复装置上部署预设的通信脚本并启动。

说明书 :

一种测试平台上的终端设备的离线恢复方法、装置和系统

技术领域

[0001] 本发明涉及计算机技术,具体涉及一种测试平台上的终端设备离线恢复方法、装置和系统。

背景技术

[0002] 随着电子信息技术的不断发展,手机等智能终端设备上的应用软件越来越多,为了便于软件的开发和改进,以及判断设备对软件的兼容性,需要利用测试平台对设备应用进行测试。然而随着智能终端设备种类、数量的不断增多,测试平台规模越来越大,需要测试管理的设备数量也越来越多,当遇到受测设备发生故障断开连接进入离线模式时,需要大量的人力去维护,成本较高,反应也不够及时快速,影响测试的进度和质量。

发明内容

[0003] 鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种测试平台上的终端设备离线恢复方法、装置和系统。
[0004] 依据本发明的一个方面,提供了一种测试平台上的终端设备的离线恢复方法,该方法包括:
[0005] 在PC机上部署多个虚拟机,部署每个虚拟机与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;
[0006] 虚拟机对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;
[0007] 虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。
[0008] 可选地,该方法进一步包括:
[0009] 在每个终端设备上部署监控程序;
[0010] 所述监控程序监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。
[0011] 可选地,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:
[0012] 虚拟机对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令。
[0013] 可选地,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:
[0014] 虚拟机将监控数据上传到中心服务器;
[0015] 虚拟机接收中心服务器根据监控数据产生的针对该虚拟机对应的终端设备的离线恢复指令。
[0016] 可选地,该方法进一步包括:
[0017] 在所述PC机上部署通信脚本;
[0018] 所述通信脚本从所述PC机上的各虚拟机获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机;
[0019] 所述通信脚本从对应的虚拟机获取所述离线恢复指令对应的执行结果反馈给中心服务器。
[0020] 可选地,该方法进一步包括:
[0021] 所述通信脚本接收中心服务器下发的任务执行指令并转发到相应的虚拟机;
[0022] 虚拟机根据接收到的任务执行指令在相应的终端设备上执行相应的任务;
[0023] 其中,所述任务执行指令包括如下中的一种或多种;
[0024] 包含安卓安装包APK的应用程序安装指令;
[0025] 包含APK下载地址的应用程序安装指令;
[0026] 重启终端设备的指令;
[0027] 卸载终端设备上的应用程序的指令;
[0028] 清理终端设备的内存的指令;
[0029] 刷新终端设备的进程表的指令;
[0030] 清理终端设备的外置存储空间的指令;
[0031] 清理终端设备上的指定程序所产生的日志文件的指令。
[0032] 依据本发明的另一个方面,提供了一种测试平台上的终端设备的离线恢复装置,该装置包括:多个虚拟机单元;
[0033] 每个虚拟机单元,适于与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。
[0034] 可选地,该装置进一步包括:部署于终端设备的监控单元;
[0035] 监控单元,适于监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。
[0036] 可选地,每个虚拟机单元,适于对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令。
[0037] 可选地,每个虚拟机单元,适于将监控数据上传到中心服务器;接收中心服务器根据监控数据产生的针对该虚拟机单元对应的终端设备的离线恢复指令。
[0038] 可选地,该装置进一步包括:
[0039] 通信单元,适于从各虚拟机单元获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机单元;从对应的虚拟机单元获取所述离线恢复指令对应的执行结果反馈给中心服务器。
[0040] 可选地,所述通信单元,进一步适于接收中心服务器下发的任务执行指令并转发到相应的虚拟机单元;
[0041] 每个虚拟机单元,适于根据接收到的任务执行指令在相应的终端设备上执行相应的任务;
[0042] 其中,所述任务执行指令包括如下中的一种或多种;
[0043] 包含安卓安装包APK的应用程序安装指令;
[0044] 包含APK下载地址的应用程序安装指令;
[0045] 重启终端设备的指令;
[0046] 卸载终端设备上的应用程序的指令;
[0047] 清理终端设备的内存的指令;
[0048] 刷新终端设备的进程表的指令;
[0049] 清理终端设备的外置存储空间的指令;
[0050] 清理终端设备上的指定程序所产生的日志文件的指令。
[0051] 依据本发明的又一个方面,提供了一种测试平台上的终端设备的离线恢复系统,其中,该系统包括:中心服务器和一个或多个如上述任一项所述的测试平台上的终端设备的离线恢复装置;
[0052] 所述装置,适于将监控数据发送到中心服务器;
[0053] 所述中心服务器,适于对监控数据进行展示以及进行分析,生成针对终端设备的离线恢复指令并下发给所述装置;
[0054] 所述装置,进一步适于依据接收到的离线恢复指令恢复对应终端设备的连接状态。
[0055] 可选地,所述中心服务器,进一步适于接收与下发的针对终端设备的离线恢复指令对应的执行结果,当执行结果表示离线恢复失败时通过预设的报警渠道发出报警信息。
[0056] 可选地,所述中心服务器,进一步适于向所述装置下发任务执行指令;
[0057] 其中,所述任务执行指令包括如下中的一种或多种;
[0058] 包含安卓安装包APK的应用程序安装指令;
[0059] 包含APK下载地址的应用程序安装指令;
[0060] 重启终端设备的指令;
[0061] 卸载终端设备上的应用程序的指令;
[0062] 清理终端设备的内存的指令;
[0063] 刷新终端设备的进程表的指令;
[0064] 清理终端设备的外置存储空间的指令;
[0065] 清理终端设备上的指定程序所产生的日志文件的指令。
[0066] 可选地,所述中心服务器,进一步适于接收与下发的任务执行指令对应的任务执行结果,当任务执行结果表示任务执行失败时通过预设的报警渠道发出报警信息。
[0067] 可选地,该系统进一步包括:
[0068] 部署机,适于远程登录所述装置,在所述装置上部署一个多个虚拟机单元并启动,以及在所述装置上部署预设的通信脚本并启动。
[0069] 由上述可知,本发明提供的技术方案通过在PC机上部署多个虚拟机,创建虚拟机与用于完成测试任务的终端设备之间的连接以及相应的连接快照,当监测到终端设备出现离线状况时,虚拟依据产生的离线恢复指令恢复该终端设备对应的连接快照,可以实现对测试平台上的离线终端设备的连接状态恢复;其中,恢复该连接快照的方式能达到与硬插拔相近的恢复效果,对终端设备的离线恢复成功率高,保证了测试平台的可靠性;虚拟机监控终端设备,并根据监控数据产生针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复对应的连接快照,恢复连接,省去了工作人员到现场监控和处理的工作,提高了测试平台维护的自动化程度,节省了人力。
[0070] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0071] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0072] 图1示出了根据本发明一个实施例的一种测试平台上的终端设备的离线恢复方法流程图;
[0073] 图2示出了根据本发明一个实施例的一种测试平台上的终端设备的离线恢复装置的示意图;
[0074] 图3示出了根据本发明另一个实施例的一种测试平台上的终端设备的离线恢复装置的示意图;
[0075] 图4示出了根据本发明一个实施例的一种测试平台上的终端设备的离线恢复系统的示意图;
[0076] 图5示出了根据本发明另一个实施例的一种测试平台上的终端设备的离线恢复系统的示意图。

具体实施方式

[0077] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0078] 图1示出了根据本发明一个实施例的一种测试平台上的终端设备的离线恢复方法流程图,如图1所示,该方法包括:
[0079] 步骤S110,在PC机上部署多个虚拟机,部署每个虚拟机与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照。
[0080] 步骤S120,虚拟机对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据。
[0081] 步骤S130,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。
[0082] 可见,图1所示的方法通过在PC机上部署多个虚拟机,创建虚拟机与用于完成测试任务的终端设备之间的连接以及相应的连接快照,当监测到终端设备出现离线状况时,虚拟依据产生的离线恢复指令恢复该终端设备对应的连接快照,可以实现对测试平台上的离线终端设备的连接状态恢复;其中,恢复该连接快照的方式能达到与硬插拔相近的恢复效果,对终端设备的离线恢复成功率高,保证了测试平台的可靠性;虚拟机监控终端设备,并根据监控数据产生针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复对应的连接快照,恢复连接,省去了工作人员到现场监控和处理的工作,提高了测试平台维护的自动化程度,节省了人力。
[0083] 在PC机上部署多个虚拟机包括:远程登录PC机,在PC机上部署一个或多个虚拟机并启动。
[0084] 在本发明的一个实施例中,图1所示的方法进一步包括:
[0085] 步骤S140,在每个终端设备上部署监控程序。
[0086] 步骤S150监控程序监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。
[0087] 可见,本实施例通过在终端设备上部署监控程序APP,对该终端设备的连接状况进行监测,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程,可以实现终端设备离线状态的自主恢复,及时便捷,不需要人工或者其他设备的干预。
[0088] 在本发明的一个实施例中,如图1所示的方法中,步骤S130,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:虚拟机对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令;或者,虚拟机将监控数据上传到中心服务器,虚拟机接收中心服务器根据监控数据产生的针对该虚拟机对应的终端设备的离线恢复指令。
[0089] 其中,在上述虚拟机将监控数据上传到中心服务器的方案中,虚拟机与中心服务器之间的通信是通过一个通信脚本来实现的,具体地,图1所示的方法进一步包括:
[0090] 步骤S160,在PC机上部署通信脚本。
[0091] 本步骤中,在所述PC机上部署通信脚本包括:远程登录PC机,在PC机上部署预设的通信脚本并启动;具体地,该脚本程序是PC机的后台守护Daemon程序,可以通过Python脚本运行。
[0092] 步骤S170,通信脚本从所述PC机上的各虚拟机获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机。
[0093] 步骤S180,通信脚本从对应的虚拟机获取离线恢复指令对应的执行结果反馈给中心服务器。
[0094] 在上述基础上,图1所示的方法进一步包括:
[0095] 步骤S190,通信脚本接收中心服务器下发的任务执行指令并转发到相应的虚拟机。
[0096] 步骤S200,虚拟机根据接收到的任务执行指令在相应的终端设备上执行相应的任务。
[0097] 其中,所述任务执行指令包括如下中的一种或多种:包含安卓安装包APK的应用程序安装指令;包含APK下载地址的应用程序安装指令;重启终端设备的指令;卸载终端设备上的应用程序的指令;清理终端设备的内存的指令;刷新终端设备的进程表的指令;清理终端设备的外置存储空间的指令;清理终端设备上的指定程序所产生的日志文件的指令。
[0098] 可见,当终端设备出现离线状态时,一方面通过部署在终端设备的监控程序重启安卓调试桥进程,自主恢复连接状态;另一方面,通过与终端设备相连的虚拟机获取监控数据,通过虚拟机分析监控数据生成针对自身相连的终端设备的离线恢复指令,或者利用通信脚本将监控数据发送到中心服务器,由中心服务器分析监控数据,生成针对该虚拟机对应的终端设备的离线恢复指令,根据产生的对终端设备的离线恢复指令,调用对应的虚拟机命令,恢复虚拟机和对应终端设备的连接快照,恢复终端设备的连接状态,反应及时快速,不需要人工干预,提高了对测试平台上的终端设备离线恢复过程的自动化程度。
[0099] 此外,本方案利用通信脚本进一步从对应的虚拟机获取离线恢复指令对应的执行结果反馈给中心服务器进行反馈展示,当执行结果显示实现了对应终端设备离线状态的恢复时,不会通过预设程序报警,否则,通过预设程序进行报警,告知平台管理人员该离线终端设备的位置、IP地址和型号等信息,便于管理人员进行人工恢复处理,提高平台的可靠性。
[0100] 图2示出了根据本发明一个实施例的一种测试平台上的终端设备的离线恢复装置的示意图,如图2所示,该测试平台上的终端设备的离线恢复装置200包括:多个虚拟机单元210。
[0101] 每个虚拟机单元210,适于与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。
[0102] 具体地,每个虚拟机单元210,适于对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令;或者,每个虚拟机单元210,适于将监控数据上传到中心服务器;接收中心服务器根据监控数据产生的针对该虚拟机单元210对应的终端设备的离线恢复指令。
[0103] 图3示出了根据本发明另一个实施例的一种测试平台上的终端设备的离线恢复装置的示意图,该测试平台上的终端设备的离线恢复装置300包括:多个虚拟机单元310,部署于终端设备的监控单元320,以及通信单元330。
[0104] 虚拟机单元310与图2所示的虚拟机单元210功能相同,在此不再赘述。
[0105] 监控单元320,适于监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。
[0106] 通信单元330,适于从各虚拟机单元310获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机单元310;从对应的虚拟机单元310获取所述离线恢复指令对应的执行结果反馈给中心服务器。
[0107] 在此基础上,通信单元330,进一步适于接收中心服务器下发的任务执行指令并转发到相应的虚拟机单元310。
[0108] 每个虚拟机单元310,适于根据接收到的任务执行指令在相应的终端设备上执行相应的任务。
[0109] 其中,所述任务执行指令包括如下中的一种或多种:包含安卓安装包APK的应用程序安装指令;包含APK下载地址的应用程序安装指令;重启终端设备的指令;卸载终端设备上的应用程序的指令;清理终端设备的内存的指令;刷新终端设备的进程表的指令;清理终端设备的外置存储空间的指令;清理终端设备上的指定程序所产生的日志文件的指令等。
[0110] 需要说明的是,图2到图3所示装置的各实施例与上文图1所示方法的各实施例对应相同,上文已详细说明,在此不再赘述。
[0111] 图4示出了根据本发明一个实施例的一种测试平台上的终端设备的离线恢复系统的示意图,如图4所示,该测试平台上的终端设备的离线恢复系统400包括:中心服务器420和一个或多个测试平台上的终端设备的离线恢复装置410,该测试平台上的终端设备的离线恢复装置410与如上任一项所述的测试平台上的终端设备的离线恢复装置200/300相同,在此不再赘述。
[0112] 测试平台上的终端设备的离线恢复装置410,适于将监控数据发送到中心服务器。
[0113] 中心服务器420,适于对监控数据进行展示以及进行分析,生成针对终端设备的离线恢复指令并下发给测试平台上的终端设备的离线恢复装置410。
[0114] 测试平台上的终端设备的离线恢复装置410,进一步适于依据接收到的离线恢复指令恢复对应终端设备的连接状态。
[0115] 在本发明的一个实施例中,中心服务器420,进一步适于接收与下发的针对终端设备的离线恢复指令对应的执行结果,当执行结果表示离线恢复失败时通过预设的报警渠道发出报警信息,说明任务执行失败的终端设备的位置、IP地址和型号,方便快速寻找到该终端设备进行处理。
[0116] 在本发明的一个实施例中,所述中心服务器420,进一步适于向测试平台上的终端设备的离线恢复装置410下发任务执行指令。
[0117] 其中,所述任务执行指令包括如下中的一种或多种:包含安卓安装包APK的应用程序安装指令;包含APK下载地址的应用程序安装指令;重启终端设备的指令;卸载终端设备上的应用程序的指令;清理终端设备的内存的指令;刷新终端设备的进程表的指令;清理终端设备的外置存储空间的指令;清理终端设备上的指定程序所产生的日志文件的指令。
[0118] 在此基础上,所述中心服务器420,进一步适于接收与下发的任务执行指令对应的任务执行结果,当任务执行结果表示任务执行失败时通过预设的报警渠道发出报警信息。
[0119] 图5示出了根据本发明另一个实施例的一种测试平台上的终端设备的离线恢复系统的示意图,如图5所示,该测试平台上的终端设备的离线恢复系统500包括:中心服务器520、一个或多个测试平台上的终端设备的离线恢复装置510和部署机530。
[0120] 测试平台上的终端设备的离线恢复装置510与如上任一项所述的测试平台上的终端设备的离线恢复装置200/300相同,在此不再赘述。
[0121] 部署机530,适于远程登录所述装置510,在测试平台上的终端设备的离线恢复装置510上部署一个多个虚拟机单元并启动,以及在测试平台上的终端设备的离线恢复装置510上部署预设的通信脚本并启动。
[0122] 综上所述,本发明通过在PC机上部署多个虚拟机,创建虚拟机与用于完成测试任务的终端设备之间的连接以及相应的连接快照,当监测到终端设备出现离线状况时,虚拟依据产生的离线恢复指令恢复该终端设备对应的连接快照,可以实现对测试平台上的离线终端设备的连接状态恢复;以及,在终端设备上部署监控程序,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程,恢复终端设备的连接状态。该方案有以下有益效果:1、创建虚拟机和终端设备的连接快照,恢复该连接快照的方式相当于将USB设备重新做一次连接,能达到与硬插拔相近的恢复效果,对终端设备的离线恢复成功率高;2、将利用恢复连接快照的方式与在受测终端设备上部署监控程序重启安卓调试桥进程的方式相结合,并设置执行结果反馈环节和报警程序,保证了测试平台恢复终端设备连接的及时性和可靠性;3、通过重启安卓调试桥和恢复连接快照的方式恢复受测终端设备的连接状态,自动化程度高,不需要人为干预,省去了工作人员到现场监控和处理的工作,节省了人力。
[0123] 本发明提供的技术方案利用分布在不同地理位置的多个监控节点通过模拟普通网民行为访问指定网站系统,再通过分析返回的访问结果数据得到指定网站系统的性能分析结果,实现了监控网站系统性能的方案。本方案通过多监控节点对指定网站系统的访问情况反映了普通网民针对该网站系统的访问体验,能够实时地发现各监控节点在访问指定网站系统时的异常情况,进而能够及时有效地帮助用户(网站系统的管理者)分析该网站系统在全国不同的节点进行访问时面临的性能问题,协助用户改善该网站系统的访问体验。
[0124] 需要说明的是:
[0125] 在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0126] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0127] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0128] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0129] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0130] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种测试平台上的终端设备的离线恢复装置和系统和系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0131] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0132] 本发明公开了A1、一种测试平台上的终端设备的离线恢复方法,其中,该方法包括:
[0133] 在PC机上部署多个虚拟机,部署每个虚拟机与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;
[0134] 虚拟机对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;
[0135] 虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。
[0136] A2、如A1所述的方法,其中,该方法进一步包括:
[0137] 在每个终端设备上部署监控程序;
[0138] 所述监控程序监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。
[0139] A3、如A1或A2所述的方法,其中,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:
[0140] 虚拟机对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令。
[0141] A4、如A1或A2所述的方法,其中,虚拟机获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令包括:
[0142] 虚拟机将监控数据上传到中心服务器;
[0143] 虚拟机接收中心服务器根据监控数据产生的针对该虚拟机对应的终端设备的离线恢复指令。
[0144] A5、如A4所述的方法,其中,该方法进一步包括:
[0145] 在所述PC机上部署通信脚本;
[0146] 所述通信脚本从所述PC机上的各虚拟机获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机;
[0147] 所述通信脚本从对应的虚拟机获取所述离线恢复指令对应的执行结果反馈给中心服务器。
[0148] A6、如A5所述的方法,其中,该方法进一步包括:
[0149] 所述通信脚本接收中心服务器下发的任务执行指令并转发到相应的虚拟机;
[0150] 虚拟机根据接收到的任务执行指令在相应的终端设备上执行相应的任务;
[0151] 其中,所述任务执行指令包括如下中的一种或多种;
[0152] 包含安卓安装包APK的应用程序安装指令;
[0153] 包含APK下载地址的应用程序安装指令;
[0154] 重启终端设备的指令;
[0155] 卸载终端设备上的应用程序的指令;
[0156] 清理终端设备的内存的指令;
[0157] 刷新终端设备的进程表的指令;
[0158] 清理终端设备的外置存储空间的指令;
[0159] 清理终端设备上的指定程序所产生的日志文件的指令。
[0160] 本发明还公开了B7、一种测试平台上的终端设备的离线恢复装置,其中,该装置包括:多个虚拟机单元;
[0161] 每个虚拟机单元,适于与用于完成测试任务的一个或多个终端设备建立连接,创建对应的连接快照;对相连的一个或多个终端设备的连接状态进行监控,获得相应的监控数据;获取根据监控数据产生的针对自身相连的终端设备的离线恢复指令,依据该离线恢复指令恢复该终端设备对应的连接快照。
[0162] B8、如B7所述的装置,其中,该装置进一步包括:部署于终端设备的监控单元;
[0163] 监控单元,适于监测所在终端设备的连接状态,当监测到该终端设备处于离线状态时,重启运行在该终端设备上的安卓调试桥进程。
[0164] B9、如B7或B8所述的装置,其中,
[0165] 每个虚拟机单元,适于对监控数据进行分析,根据分析结果确定自身相连的终端设备处于离线状态,生成针对自身相连的终端设备的离线恢复指令。
[0166] B10、如B7或B8所述的装置,其中,
[0167] 每个虚拟机单元,适于将监控数据上传到中心服务器;接收中心服务器根据监控数据产生的针对该虚拟机单元对应的终端设备的离线恢复指令。
[0168] B11、如B10所述的装置,其中,该装置进一步包括:
[0169] 通信单元,适于从各虚拟机单元获取监控数据并发送到中心服务器,以及将中心服务器生成的离线恢复指令转发给对应的虚拟机单元;从对应的虚拟机单元获取所述离线恢复指令对应的执行结果反馈给中心服务器。
[0170] B12、如B11所述的装置,其中,
[0171] 所述通信单元,进一步适于接收中心服务器下发的任务执行指令并转发到相应的虚拟机单元;
[0172] 每个虚拟机单元,适于根据接收到的任务执行指令在相应的终端设备上执行相应的任务;
[0173] 其中,所述任务执行指令包括如下中的一种或多种;
[0174] 包含安卓安装包APK的应用程序安装指令;
[0175] 包含APK下载地址的应用程序安装指令;
[0176] 重启终端设备的指令;
[0177] 卸载终端设备上的应用程序的指令;
[0178] 清理终端设备的内存的指令;
[0179] 刷新终端设备的进程表的指令;
[0180] 清理终端设备的外置存储空间的指令;
[0181] 清理终端设备上的指定程序所产生的日志文件的指令。
[0182] 本发明还公开了C13、一种测试平台上的终端设备的离线恢复系统,其中,该系统包括:中心服务器和一个或多个如B7-B12中任一项所述的测试平台上的终端设备的离线恢复装置;
[0183] 所述装置,适于将监控数据发送到中心服务器;
[0184] 所述中心服务器,适于对监控数据进行展示以及进行分析,生成针对终端设备的离线恢复指令并下发给所述装置;
[0185] 所述装置,进一步适于依据接收到的离线恢复指令恢复对应终端设备的连接状态。
[0186] C14、如C13所述的系统,其中,
[0187] 所述中心服务器,进一步适于接收与下发的针对终端设备的离线恢复指令对应的执行结果,当执行结果表示离线恢复失败时通过预设的报警渠道发出报警信息。
[0188] C15、如C13所述的系统,其中,所述中心服务器,进一步适于向所述装置下发任务执行指令;
[0189] 其中,所述任务执行指令包括如下中的一种或多种;
[0190] 包含安卓安装包APK的应用程序安装指令;
[0191] 包含APK下载地址的应用程序安装指令;
[0192] 重启终端设备的指令;
[0193] 卸载终端设备上的应用程序的指令;
[0194] 清理终端设备的内存的指令;
[0195] 刷新终端设备的进程表的指令;
[0196] 清理终端设备的外置存储空间的指令;
[0197] 清理终端设备上的指定程序所产生的日志文件的指令。
[0198] C16、如C15所述的系统,其中,所述中心服务器,进一步适于接收与下发的任务执行指令对应的任务执行结果,当任务执行结果表示任务执行失败时通过预设的报警渠道发出报警信息。
[0199] C17、如C13所述的系统,其中,该系统进一步包括:
[0200] 部署机,适于远程登录所述装置,在所述装置上部署一个或多个虚拟机单元并启动,以及在所述装置上部署预设的通信脚本并启动。