发明内容
本发明的目的在于提供一种调用测试PC的处理方法、***及服务器,旨在解决现有技术中存在的由于需要在每一台检测的用户终端中安装不同的操作***,需花费大量人力及物力,不能高效力的进行相关测试操作的问题。
本发明是这样实现的,一种调用测试PC的处理方法,所述方法包括以下步骤:
服务器接收用户终端请求的操作***;
服务器扫描所有测试PC,从中获取可用操作***;
服务器判断获取的可用操作***中是否有符合所述用户终端请求的操作***;
如果判断出有符合所述用户终端请求的操作***,则服务器向用户终端返回符合所述用户终端请求的操作***对应的测试PC的HANDLE。
本发明的另一目的在于提供一种调用测试PC的处理***,所述***包括:
接收模块,用于接收用户终端请求的操作***;
获取模块,用于扫描所有测试PC,从中获取可用操作***;
判断模块,用于判断获取的可用操作***中是否有符合所述用户终端请求的操作***;
发送模块,用于如果判断出有符合所述用户终端请求的操作***,则向用户终端返回符合所述用户终端请求的操作***对应的测试PC的HANDLE。
本发明的另一目的在于提供一种包括上面所述的调用测试PC的处理***的服务器。
在本发明中,用户终端通过服务器获取一台或多台测试PC,上载测试软件,通过服务器提供的接口控制测试PC进行测试操作。本发明实施例由服务器统一分配测试PC,保证了最大限度的利用率,同时操作***镜像数据统一存储到服务器端,节省了测试PC的硬盘空间;所有测试PC的请求调用都需要通过服务器,方便测试资源的管理。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,在本发明实施例中,用户终端通过服务器获取一台或多台测试PC,上载测试软件,通过服务器提供的接口控制测试PC进行测试操作。测试PC通过向服务器获取操作***镜像进行***还原,也可以上载需要保存的操作***镜像,可扩展支持对数据的管理。其中,可支持的操作***可以是:DOS、WINDOWS操作***(如WIN2000/XP/VISTA/WIN7等)、linux操作***(Ubuntu/RedHat等)。
Windows操作***一般使用NTFS文件***,linux操作***使用EXT文件***。为避免切换不同类操作***时进行不同文件***的格式化,在硬盘中首先格式化好一个NTFS分区,一个EXT3分区(有需要可以扩展其他文件***分区)和一个SWAP分区供linux***作为交换分区使用。由于Ghost 11的执行环境只能是DOS,为支持***切换需要让DOS常驻硬盘,也就是每一台测试PC上须安装DOS***。
请参阅图2,为本发明实施例提供的调用测试PC的处理方法的实现流程,其包括以下步骤:
在步骤S101中,服务器接收用户终端请求的操作***;
在本发明实施例中,在步骤S101之前还包括:服务器接收用户终端的认证请求,如果认证通过,则服务器允许用户终端执行后续操作;如果认证不通过,则结果本次操作。通过认证其目的是用来防止没有注册的用户不能调用测试PC。
在步骤S102中,服务器扫描所有测试PC,从中获取可用操作***;
在本发明实施例中,所述步骤S102具体为:服务器扫描所有测试PC,建立测试PC操作***的当前状态表,从中获取可用操作***,如下表所示。另外,当发生操作***切换时,实时更新状态表。
在本发明实施例中,服务器可按“当前活动可用-->当前不活动可用-->当前不可用”的优先级获取目标操作***。当前活动可用是指有测试PC正在运行该操作***,且没有被其他用户占用;“当前活动可用”则直接返回该测试PC的HANDLE给用户终端。当前不活动可用是指有测试PC含有该目标操作***的镜像但该PC目前运行的不是该操作***,且没有用户占用该测试PC;“当前不活动可用”则重启***并切换到符合所述用户终端请求的操作***,然后返回该测试PC的HANDLE给用户终端。当前不可用是指没有测试PC含有目标操作***的镜像;“当前不可用”则选择一台空闲测试PC,判断该空闲测试PC是否存在所需容量的文件***,如果不存在则调用Ghost进行文件***的建立,成功后返回HANDLE给用户终端;如无空闲测试PC则返回出错。
在步骤S103中,服务器判断获取的可用操作***中是否有符合所述用户终端请求的操作***;
在步骤S104中,如果判断出有符合所述用户终端请求的操作***,则服务器向用户终端返回符合所述用户终端请求的操作***对应的测试PC的HANDLE;
在步骤S105中,如果判断出没有符合所述用户终端请求的操作***,且没有空闲的测试PC,则结束本次操作。
作为本发明一实施例,如果判断出没有符合所述用户终端请求的操作***,但有空闲的测试PC,则服务器向所述空闲的测试PC下达切换操作***的命令;判断该空闲测试PC是否存在所需容量的文件***,如果不存在则调用Ghost进行文件***的建立。服务器接收所述空闲测试PC发送的下载符合所述用户终端请求的操作***的操作***镜像的指令;服务器根据所述指令,将相应的操作***镜像下发至所述空闲测试PC中。空闲测试PC将所述操作***镜像保存至本地硬盘中;所述空闲测试PC修改grub的默认启动项为DOS;服务器监测到DOS启动,向DOS下达执行Ghost命令还原***到目标分区;所述空闲测试PC还原完成后,修改grub的默认启动项为符合所述用户终端请求的操作***,然后重启;所述空闲测试PC的目标操作***启动后,启动网络服务,接收服务器命令。
在本发明实施例中,服务器具有FTP功能,测试PC可以从服务器上上传或下载操作***镜像和文件,同时用户终端也可以向服务器上传或下载文件。用户终端和测试PC之间的文件传递需要通过服务器中转。
在本发明实施例中,测试PC具备搭载运行不同操作***的能力,能够接收服务器命令进行操作***切换,测试PC的每一个操作***镜像都需有开机自启动server监听软件的功能,server软件配置启动网络设备,然后监听执行服务器下达的命令,反馈执行结果。
作为本发明另一优选实施例,服务器对每一台测试PC拥有不同的控制IP和端口号,为保障服务器对测试PC的绝对控制权,服务器将控制IP和端口号转换为一个随机数标示的HANDLE提供给用户终端。
在本发明实施例中,用户终端和测试PC命令交互的实现过程如下:用户终端获取测试PC的目的就是使用测试PC的执行环境,将测试PC的shell重定向通过服务器传递给获得该测试PC的用户终端。为了保障服务器对整个测试***的控制权,所有的命令交互都必须通过服务器进行,避免用户终端和测试PC直接进行通信;因此测试PC的通信端口通过服务器更新并且对用户终端隐藏。
请参阅图3,为本发明实施例提供的调用测试PC的处理***的结构。为了便于说明,仅示出了与本发明实施例相关的部分。所述调用测试PC的处理***可以是内置于服务器中的软件单元、硬件单元或者是软硬件结合的单元。
所述调用测试PC的处理***包括:接收模块101、获取模块102、判断模块103、以及发送模块104。
接收模块101,用于接收用户终端请求的操作***。
获取模块102,用于扫描所有测试PC,从中获取可用操作***。
判断模块103,用于判断获取的可用操作***中是否有符合所述用户终端请求的操作***。
发送模块104,用于如果判断出有符合所述用户终端请求的操作***,则向用户终端返回符合所述用户终端请求的操作***对应的测试PC的HANDLE。
在本发明实施例中,所述***还包括:结束模块。
所述结束模块,用于如果判断出没有符合所述用户终端请求的操作***,且没有空闲的测试PC,则结束本次操作。
作为本发明一优选实施例,所述***还包括:认证模块。
认证模块,用于接收用户终端的认证请求,对用户终端的身份进行认证,如果认证通过,则允许用户终端执行后续操作;如果认证不通过,则结果本次操作。通过认证其目的是用来防止没有注册的用户不能调用测试PC。
在本发明实施例中,获取模块102具体包括:扫描子模块、表建立子模块、以及读取子模块。
扫描子模块,用于扫描所有测试PC。
表建立子模块,用于建立测试PC操作***的当前状态表。
读取子模块,用于从状态表中获取可用操作***。
作为本发明另一优选实施例,所述***还包括:命令下达模块、文件***判断模块、指令接收模块、下发模块、以及监测模块。
命令下达模块,用于如果判断出没有符合所述用户终端请求的操作***,但有空闲的测试PC,则向所述空闲的测试PC下达切换操作***的命令。
文件***判断模块,用于判断该空闲测试PC是否存在所需容量的文件***,如果不存在则调用Ghost进行文件***的建立。
指令接收模块,用于接收所述空闲测试PC发送的下载符合所述用户终端请求的操作***的操作***镜像的指令。
下发模块,用于根据所述指令,将相应的操作***镜像下发至所述空闲测试PC中,以使空闲测试PC将所述操作***镜像保存至本地硬盘中;所述空闲测试PC修改grub的默认启动项为DOS。
监测模块,用于监测到DOS启动,向DOS下达执行Ghost命令还原***到目标分区;以使所述空闲测试PC还原完成后,修改grub的默认启动项为符合所述用户终端请求的操作***,然后重启;所述空闲测试PC的目标操作***启动后,启动网络服务,接收服务器命令。
作为本发明另一优选实施例,所述***还包括:转换模块。
转换模块,用于将控制IP和端口号转换为一个随机数标示的HANDLE提供给用户终端。
综上所述,本发明实施例的用户终端通过服务器获取一台或多台测试PC,上载测试软件,通过服务器提供的接口控制测试PC进行测试操作。本发明实施例的有益效果如下:
(1)、由服务器统一分配测试PC,保证了最大限度的利用率,同时操作***镜像数据统一存储到服务器端,节省了测试PC的硬盘空间;
(2)、所有测试PC的请求调用都需要通过服务器,方便测试资源的管理;
(3)、采用***的备份与还原,尽可能的避免了***中毒与崩溃;
(4)、先通过网络下载操作***镜像然后在测试PC本地进行Ghost,避免了Ghost网络版在Ghost过程中网络中断造成***崩溃的情况;
(5)、DOS常驻C盘,并且在***切换前总设置其为默认启动项,防止Ghost出错造成***启动引导信息丢失,***不能正常启动的情况;
(6)、由于不直接在Win7或Vista下修改启动项,***切换不需要管理员权限;
(7)、提供了良好的软件编程接口,可以进行多机多***的并行和串行测试。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。