用于云流服务的应用错误检测方法及其设备和系统
技术领域
本发明涉及检测应用错误的方法,且更具体地,涉及用于云流服务的应用错误检测方法以及用于其的设备和系统,该方法可以通过比较在提供云流服务的服务器中执行的应用执行数据与参考图像,来检查该服务器是正常操作还是有故障。
本申请要求于2014年1月14日提交的韩国专利申请No.10-2014-0004400、于2014年1月14日提交的韩国专利申请No.10-2014-0004600、于2014年4月22日提交的韩国专利申请No.10-2014-0048059以及于2014年5月27日提交的韩国专利申请No.10-2014-0063782的优先权和权益,将它们整体通过引用结合于此。
背景技术
云计算是基于因特网的计算机技术,并且涉及以下计算服务:其中,用户在没有将软件安装在他或她的计算机中的情况下,在任何必要时可以通过因特网连接来使用该软件,并且还可以很容易地共享驱动该软件所需的昂贵硬件。即,个人可以连接至网络以使用诸如Photoshop或Office的高端软件。另外,将数据存储在该网络上。结果,几个人可以连接至一个云计算服务器组并且进行它们个人的工作。
随着针对IT技术和应用的市场的发展,用户通过它们的个人终端装置处理的数据的量已显著增加。在这种情况下,云计算系统可以是针对需要处理的数据量的这种增加的解决方案。另外,云计算系统可以是终端装置小型化的基础。
例如,当执行需要处理大型图像的软件时,该软件通过基于云计算的服务器来执行,并且仅将执行结果画面利用流技术发送至用户终端。由此,该用户可以通过他或她的终端来使用高端软件。
即,将以下技术称为云流服务:通过该技术,用户通过该用户的终端装置向云计算服务器仅发送用于执行软件的请求,而该云计算服务器通过流向该用户提供针对该用户所请求的软件的执行画面。
为了提供这种云流服务,越来越迫切地需要用于检查应用是否在服务器中被正常执行或该服务器中是否存在错误的技术。
而且,为了提供该云流服务,云流服务器必须同时执行多个应用并且提供执行结果。为了测量云流服务器的性能,通过手动设置被执行的应用的数量、通过输入执行应用、观察在特定时间内被人们使用的系统资源的变化、以及增加应用数量来执行常规测试方案。然而,这种测试方案需要大量劳动并且具有可能因管理者的失误而频繁出现的测试错误。因此,越来越迫切地需要可以自动执行的新云流服务器测试技术。
另外,在基于云流服务的计算环境中,通过服务器执行主要服务或功能。由此,需要开发一种用于检测该服务器中的故障的技术。
而且,越来越迫切地需要这样一种新的云流服务器管理技术:尽管在云流管理服务器中出现了问题,但是该新的云流服务器管理技术可以快速收集并重建有关云流服务器的信息以恢复服务。
发明内容
技术问题
本发明致力于提供一种通过确定应用执行画面和参考图像是否彼此匹配来检测在流服务器内执行的应用中的应用错误的方法。
本发明还致力于提供这样一种应用错误检测方法:该方法可以通过经由虚拟客户端模块接收流服务器的应用执行数据并且利用从该虚拟客户端模块输出的应用执行画面检测应用错误,来从用户的角度检测应用错误。
本发明还致力于提供这样一种应用错误检测方法:该方法可以通过仅针对应用执行画面中的关键帧执行应用错误检测来更有效地检测应用错误。
本发明还致力于测试云流服务器的可执行应用的最佳数量。
本发明还致力于通过用自动测试脚本来自动化云流服务器的测试而节省劳力并且减少因管理者的失误而造成的测试错误。
本发明还致力于通过寻找在云流服务器的测试期间最大化系统资源利用率的最大负荷点并且执行测试直至该最大负荷点来缩减总体测试时间。
本发明还致力于通过在云流服务中利用云流服务器的测试结果来向用户提供更有效且合适的服务。
本发明还致力于通过按照在从多个云流服务器中接收测试结果画面时的适当时序获取测试结果画面并且比较所接收的测试结果画面以检测出现在云流服务器中的故障,来防止测试错误。
本发明还致力于在比较所获取的测试结果画面时通过比较针对同一输入没有差异的区域来增加测试的可靠性。
本发明还致力于利用云流管理服务器来有效管理云流服务器。
本发明还致力于确定云流服务器当中的代表性服务器,并且允许该代表性服务器在该代表性服务器中存储有关该云流服务器的信息的备份副本。
本发明还致力于从代表性服务器接收备份副本,并且当在云流管理服务器的数据库中出现了问题时,快速执行恢复。
本发明还致力于当服务因伴随云流管理服务器的数据库的问题而停止时,按尽可能短的时间来恢复该服务。
技术方案
为了实现上述目的,根据本发明的用于云流服务的应用错误检测设备包括:至少一个虚拟客户端模块,该至少一个虚拟客户端模块被配置成向屏幕输出从不同流服务器接收的应用执行数据;比较单元,该比较单元被配置成获取从所述至少一个虚拟客户端模块输出的所述应用执行数据,并且将获取的测试图像与参考图像进行比较;以及测试控制单元,该测试控制单元被配置成根据所述测试图像和所述参考图像是否彼此匹配来确定流服务器是否有故障。
所述比较单元可以获取从所述至少一个虚拟客户端模块中的任一个虚拟客户端模块输出的所述应用执行数据,并且可以将所获取的数据设置为所述参考图像。
所述比较单元可以获取所述应用执行数据的关键帧,并且可以将所获取的关键帧设置为所述参考图像。
所述比较单元可以从由所述至少一个虚拟客户端模块输出的所述应用执行数据获取匹配画面,并且可以将所获取的画面设置为所述参考图像。
所述比较单元可以从由所述至少一个虚拟客户端模块输出的所述应用执行数据的关键帧获取匹配关键帧,并且可以将所获取的关键帧设置为所述参考图像。
当所述测试图像和所述参考图像彼此匹配时,所述测试控制单元可以确定所述流服务器没有故障,并且当所述测试图像和所述参考图像彼此不匹配时,所述测试控制单元可以确定所述流服务器有故障。
所述虚拟客户端模块可以输出仅包括关键帧的所述应用执行数据。
根据本发明的用于云流服务的应用错误检测方法包括以下步骤:通过至少一个虚拟客户端模块向屏幕输出从至少一个流服务器接收的应用执行数据;由检测服务器获取从所述至少一个虚拟客户端模块输出的所述应用执行数据;由所述检测服务器将获取的测试图像与参考图像进行比较;以及由所述检测服务器根据所述测试图像和所述参考图像是否彼此匹配来确定所述流服务器是否有故障。
比较所述测试图像与所述参考图像的步骤可以包括以下步骤:获取从所述至少一个虚拟客户端模块中的任一个虚拟客户端模块输出的应用执行数据,并且将所获取的数据设置为所述参考图像。
比较所述测试图像与所述参考图像的步骤可以包括以下步骤:获取所述应用执行数据的关键帧,并且将所获取的关键帧设置为所述参考图像。
比较所述测试图像与所述参考图像的步骤可以包括以下步骤:从由所述至少一个虚拟客户端模块输出的所述应用执行数据获取匹配画面,并且将所获取的画面设置为所述参考图像。
确定所述流服务器是否有故障的步骤可以包括以下步骤:当所述测试图像和所述参考图像彼此匹配时,确定所述流服务器没有故障,并且当所述测试图像和所述参考图像彼此不匹配时,确定所述流服务器有故障。
所述虚拟客户端模块可以输出仅包括关键帧的所述应用执行数据。
根据本发明的用于云流服务的应用错误检测系统包括:至少一个流服务器,该至少一个流服务器被配置成发送应用执行数据,以便测试流服务器是否有故障;至少一个虚拟客户端模块,该至少一个虚拟客户端模块被配置成从不同流服务器接收所述应用执行数据,并且将所接收的应用执行数据输出至屏幕;以及检测服务器,该检测服务器被配置成获取从所述至少一个虚拟客户端模块输出的所述应用执行数据,比较获取的测试图像与参考图像;以及根据所述测试图像和所述参考图像是否彼此匹配来确定所述流服务器是否有故障。
另外,为了实现上述目的,根据本发明的云流服务器测试设备包括:测试执行单元,该测试执行单元被配置成根据用于执行一个或更多个测试应用的预定初始条件,通过自动且重复地执行与要测试的测试应用对应的自动测试脚本,来重复地执行测试;应用控制单元,该应用控制单元被配置成增加或减少被执行的应用的数量,所述数量是每次重复所述测试时在所述测试期间执行的测试应用的数量;以及最佳应用数量计算单元,该最佳应用数量计算单元被配置成当确定满足测试结束条件时,结束所述测试并且计算可执行应用的最佳数量。
所述初始条件可以包括以下中的一个或更多个:最大中央处理单元(CPU)利用率、最大图形处理单元(GPU)利用率、CPU利用率和GPU利用率的检查间隔、测试应用的初始数量、测试应用的最终数量以及测试时间。
所述测试执行单元可以在所述测试时间期间寻找将系统资源利用率记录为最大值的最大负荷点,并且可以将所述测试时间重置成达到所述最大负荷点的时间。
所述系统资源利用率可以考虑到所述CPU利用率和所述GPU利用率中的一个或两个来确定。
当所述测试应用的初始数量小于所述测试应用的最终数量时,所述测试执行单元可以进入应用增加测试模式。
每当确定不满足所述测试结束条件时,所述应用增加测试模式可以重复所述测试,同时增加被执行的应用的数量。
在所述测试时间期间,当所述CPU利用率和所述GPU利用率分别大于最大CPU利用率和最大GPU利用率时,或者当所述被执行的应用的数量等于所述测试应用的最终数量时,可以满足所述测试结束条件。
所述可执行应用的最佳数量可以比在满足所述测试结束条件时被执行的应用的数量少一个。
当所述测试应用的初始数量大于所述测试应用的最终数量时,所述测试执行单元可以进入应用减少测试模式。
每当确定不满足所述测试结束条件时,所述应用减少测试模式可以重复所述测试,同时减少所述被执行的应用的数量。
在所述测试时间期间,当所述CPU利用率和所述GPU利用率分别等于或小于最大CPU利用率和最大GPU利用率时,或者当所述被执行的应用的数量等于所述测试应用的最终数量时,可以满足所述测试结束条件。
所述可执行应用的最佳数量可以是在满足所述测试结束条件时被执行的应用的数量。
根据本发明的云流服务器测试方法包括以下步骤:设置用于执行与要测试的测试应用对应的自动测试脚本的初始条件;通过自动且重复地执行所述自动测试脚本以执行一个或更多个测试应用来重复地执行测试;增加或减少被执行的应用的数量,所述数量是每次重复所述测试时在所述测试期间执行的测试应用的数量;当确定满足测试结束条件时,结束所述测试;以及计算可执行应用的最佳数量。
所述初始条件可以包括以下中的一个或更多个:最大CPU利用率、最大GPU利用率、CPU利用率和GPU利用率的检查间隔、测试应用的初始数量、测试应用的最终数量以及测试时间。
执行所述测试的步骤可以包括以下步骤:在所述测试时间期间寻找将系统资源利用率记录为最大值的最大负荷点,并且将所述测试时间重置成达到所述最大负荷点的时间。
执行所述测试的步骤可以包括以下步骤:当所述测试应用的初始数量小于所述测试应用的最终数量时,进入应用增加测试模式。
另外,为了实现上述目的,根据本发明的云流服务器测试设备包括:虚拟客户端模块,该虚拟客户端模块被配置成从云流服务器接收与预定测试脚本键输入对应的测试结果,并且生成测试结果视频;比较单元,该比较单元被配置成生成在通过获取所述测试结果视频而生成的测试结果图像之间要进行比较的参考区域,并且彼此比较所述参考区域;以及测试控制单元,该测试控制单元被配置成根据所述比较的结果来确定所述云流服务器中的一个或更多个是否有故障。
所述比较单元可以从所述云流服务器当中选择参考服务器,并且可以将通过获取与所述参考服务器对应的测试结果视频而生成的测试结果图像与通过获取与其它云流服务器对应的测试结果视频而生成的测试结果图像进行比较。
当被比较的两个图像彼此匹配时,所述测试控制单元可以确定所述云流服务器没有故障,并且当所述两个图像彼此不匹配时,所述测试控制单元可以确定所述云流服务器有故障。
所述比较单元可以包括:模块控制单元,该模块控制单元被配置成执行控制,使得所述虚拟客户端模块中的任一个从所述云流服务器中的任一个接收与重复性测试脚本键输入对应的测试结果,并且生成操作情况视频;操作情况比较单元,该操作情况比较单元被配置成比较通过获取所述操作情况视频而生成的操作情况图像;以及参考生成单元,该参考生成单元被配置成根据所述操作情况图像之间的所述比较的结果来生成参考区域。
所述参考生成单元可以通过比较所述操作情况图像来检测没有差异的区域并且将所述区域生成为所述参考区域。
所述模块控制单元可以执行控制,使得所述测试结果从所述参考服务器接收。
在与和所述参考服务器对应的所述测试结果图像相同的时间,可以获取与所述其它云流服务器对应的所述测试结果图像。
另外,根据本发明的云流服务器测试方法包括以下步骤:由虚拟客户端模块接收从云流服务器发送的测试结果,并且生成测试结果视频;生成在比较测试结果图像时要进行比较的参考区域;在通过获取所述测试结果视频而生成的测试结果图像之间彼此比较所述参考区域;以及根据所述比较的结果来确定所述云流服务器中的一个或更多个有故障。
所述比较步骤可以包括以下步骤:从所述云流服务器当中选择参考服务器,并且将通过获取与所述参考服务器对应的测试结果视频而生成的测试结果图像与通过获取与其它云流服务器对应的测试结果视频而生成的测试结果图像进行比较。
确定所述云流服务器中的一个或更多个有故障的步骤可以包括以下步骤:当被比较的两个图像彼此匹配时,确定云流服务器没有故障,并且当所述两个图像彼此不匹配时,确定所述云流服务器有故障。
生成参考区域的步骤可以包括以下步骤:通过所述虚拟客户端模块中的任一个,从所述云流服务器中的任一个接收与重复性测试脚本键输入对应的测试结果,并且生成操作情况视频;比较通过获取所述操作情况视频而生成的操作情况图像;以及根据所述操作情况图像之间的所述比较的结果来生成参考区域。
根据所述比较的结果生成参考区域的步骤可以包括以下步骤:通过比较所述操作情况图像来检测没有差异的区域,并且将所述区域生成为所述参考区域。
生成所述操作情况视频的步骤可以包括以下步骤:从所述参考服务器接收所述测试结果。
另外,根据本发明的云流服务器测试系统包括:云流服务器,该云流服务器被配置成发送与预定测试脚本键输入对应的测试结果,以便测试故障;以及测试设备,该测试设备被配置成生成在通过获取测试结果视频而生成的测试结果图像之间要进行比较的参考区域,并且比较所述参考区域,以确定所述云流服务器中的一个或更多个是否有故障。
另外,为了实现上述目的,根据本发明的云流管理服务器包括:监测单元,该监测单元被配置成监测多个云流服务器的实时负荷信息;存储单元,该存储单元被配置成存储所述多个云流服务器的特性;代表性服务器确定单元,该代表性服务器确定单元被配置成基于所述实时负荷信息,确定所述多个云流服务器当中的代表性服务器和从属服务器;以及恢复单元,该恢复单元被配置成当所述存储单元中出现问题时,从所述代表性服务器接收特性的备份副本并且恢复所述存储单元。
所述代表性服务器可以从所述从属服务器接收特性,并且可以存储所接收的特性的备份副本。
所述代表性服务器可以确定单元向所述代表性服务器发送从属服务器列表,使得所述代表性服务器请求所述从属服务器的所述特性的备份副本。
所述代表性服务器确定单元可以将所述多个云流服务器划分成多组,并且可以基于所述实时负荷信息来确定针对每一组的代表性服务器和从属服务器。
另外,根据本发明的云流服务器包括:存储单元,该存储单元被配置成存储所述云流服务器的特性;通信单元,该通信单元被配置成向代表性服务器和云流管理服务器中的一个或两个发送所述特性;以及控制单元,该控制单元被配置成当从所述代表性服务器接收到请求时,根据所述云流服务器的负荷来控制所述特性的发送。
当所述云流服务器被所述云流管理服务器确定为所述代表性服务器时,所述存储单元还可以存储从属服务器的特性的备份副本,且所述通信单元可以接收来自所述云流管理服务器的请求并且发送所述备份副本。
所述云流服务器可以从所述云流管理服务器接收从属服务器列表,并且可以请求所述从属服务器来发送所述备份副本。
所述控制单元可以执行控制,使得在所述负荷低于预定水平时,将所述特性发送至所述代表性服务器和所述云流管理服务器,并且可以执行控制,使得在所述负荷不低于所述预定水平时,将所述特性仅发送至所述代表性服务器。
另外,根据本发明的云流服务器管理方法包括以下步骤:监测多个云流服务器的实时负荷信息;存储所述多个云流服务器的特性;基于所述实时负荷信息,确定所述多个云流服务器当中的代表性服务器和从属服务器;检测所存储的特性中是否出现了问题;以及当所述存储单元中出现所述问题时,从所述代表性服务器接收所述特性的备份副本并且恢复所存储的特性。
确定所述代表性服务器和所述从属服务器的步骤可以包括以下步骤:向所述代表性服务器发送从属服务器列表,以便使得所述代表性服务器能够请求所述从属服务器的特性的备份副本。
确定所述代表性服务器和所述从属服务器的步骤可以包括以下步骤:将所述多个云流服务器划分成多组,并且基于所述实时负荷信息来确定针对每一组的代表性服务器和从属服务器。
另外,根据本发明的云流服务器管理方法包括以下步骤:存储云流服务器的特性;从代表性服务器接收针对所述特性的请求;根据所述云流服务器的负荷,控制发送所述特性;以及向所述代表性服务器和云流管理服务器中的一个或两个发送所述特性。
所述云流服务器管理方法还可以包括以下步骤:存储从属服务器的特性的备份副本;接收来自所述云流管理服务器的请求;以及发送所述备份副本。
存储所述备份副本的步骤可以包括以下步骤:从所述云流管理服务器接收从属服务器列表,并且请求所述从属服务器发送所述备份副本。
所述控制步骤可以包括以下步骤:执行控制,使得在所述负荷低于预定水平时,将所述特性发送给所述代表性服务器和所述云流管理服务器,并且执行控制,使得在所述负荷不低于所述预定水平时,将所述特性仅发送给所述代表性服务器。
另外,根据本发明的云流管理系统包括:多个云流服务器,所述多个云流服务器被配置成向代表性服务器和云流管理服务器中的一个或两个发送云流服务器的特性,并且当所述云流服务器被所述云流管理服务器确定为所述代表性服务器时,存储从属服务器的特性的备份副本并且将所述备份副本发送给所述云流服务器;以及云流管理服务器,该云流管理服务器被配置成存储所述多个云流服务器的特性,确定所述代表性服务器和所述从属服务器,并且当所存储的特性中出现问题时,从所述代表性服务器接收所述特性的备份副本并且执行恢复。
有益效果
根据本发明,可以通过确定应用执行画面和参考图像是否彼此匹配而从在流服务器内执行的应用中检测应用错误。
根据本发明,还可以通过经由虚拟客户端模块接收流服务器的应用执行数据并且利用从该虚拟客户端模块输出的应用执行画面检测应用错误,而从用户的角度检测应用错误。
根据本发明,还可以通过仅针对应用执行画面中的关键帧执行应用错误检测,而更有效地检测应用错误。
根据本发明,还可以测试云流服务器的可执行应用的最佳数量。
而且,本发明可以通过用自动测试脚本来自动化云流服务器的测试而节省劳力并且减少因管理者的失误而造成的测试错误。
而且,本发明可以通过寻找在云流服务器的测试期间最大化系统资源利用率的最大负荷点并且执行测试直至该最大负荷点,来缩减总体测试时间。
而且,本发明可以通过在云流服务中利用云流服务器的测试结果来向用户提供更有效且合适的服务。
另外,为了测试用于提供云流服务的服务器是否正常操作,本发明包括具有实际客户端终端的至少一些功能的至少一个虚拟客户端模块,并且可以通过以下步骤而容易地检测所述云流服务器的故障:通过至少一个虚拟客户端模块接收从至少一个云流服务器发送的预定测试结果并将所接收的测试结果输出至屏幕,获取从所述至少一个虚拟客户端模块输出的结果图像,比较所获取的结果图像与预定参考图像,以及根据所比较的图像是否相同来确定所述云流服务器是否正常操作。
还可以通过如上所述检查云流服务器是否正常操作来预先防止该服务器的数据发送错误。
另外,本发明可以通过预先检测提供云流服务的服务器的故障来增强服务质量,以可靠地提供所述云流服务。
本发明可以在比较所获取的测试结果画面时通过比较针对同一输入没有差异的区域,来防止测试结果中出现错误。
根据本发明,还可以利用云流管理服务器来有效管理云流服务器。
根据本发明,还可以在多个云流服务器当中确定代表性服务器,并将有关所述云流服务器的信息的备份副本存储在所述代表性服务器中。
根据本发明,还可以从所述代表性服务器中接收所述备份副本,并且当在云流管理服务器的数据库中出现了问题时,快速执行恢复。
根据本发明,还可以在服务因伴随云流管理服务器的数据库的问题而停止时,按尽可能短的时间来恢复该服务。
附图说明
图1是示出根据本发明的实施方式的用于云流服务的应用错误检测系统的框图。
图2是示出图1所示的检测服务器的示例的框图。
图3是示出根据本发明的虚拟客户端模块的示例的框图。
图4是总体上示出根据本发明的实施方式的用于云流服务的应用错误检测方法的操作流程图。
图5是示出根据本发明的实施方式的关于检测服务器方面的用于云流服务的应用错误检测方法的操作流程图。
图6是示出根据本发明的实施方式的云流服务器测试设备的示例的框图。
图7是示出根据本发明的实施方式的自动测试脚本的初始条件的示例的代码图。
图8是示出根据本发明的实施方式的测试结果的示例的曲线图。
图9是示出根据本发明的实施方式的测试结果的另一示例的曲线图。
图10是示出根据本发明的实施方式的测试结果的另一示例的曲线图。
图11是示出根据本发明的实施方式的云流服务器测试方法的示例的操作流程图。
图12是示出图11所示的应用增加测试模式的示例的操作流程图。
图13是示出图11所示的应用减少测试模式的示例的操作流程图。
图14是示出根据本发明的实施方式的用于云流服务器的测试系统的示图。
图15是示出根据本发明的实施方式的云流服务器测试设备的示图。
图16是示出图15所示的比较单元的示图。
图17是示出根据本发明的实施方式的接收并处理测试结果的虚拟客户端模块的配置的示图。
图18是示出在根据本发明的实施方式的测试结果图像中的参考区域的示图。
图19是示出根据本发明的实施方式的云流服务器的测试系统中的测试处理的流程图。
图20是示出根据本发明的实施方式的云流服务器测试方法的操作流程图。
图21是示出图20所示的生成参考区域的步骤的操作流程图。
图22是示出根据本发明的实施方式的云流服务器管理系统的框图。
图23是示出图22所示的云流管理服务器的示例的框图。
图24是示出图22所示的云流服务器的示例的框图。
图25是示出根据本发明的实施方式的(关于云流管理服务器方面的)云流服务器管理方法的示例的操作流程图。
图26是示出根据本发明的实施方式的(关于云流服务器方面的)云流服务器管理方法的示例的操作流程图。
图27是示意性地示出根据本发明的实施方式的云流服务器管理方法的操作流程图。
具体实施方式
下面,将参照附图,对本发明的示例性实施方式进行详细描述。然而,与公知功能或配置有关的详细描述将被省略,以便不会不必要地模糊本发明的主题。另外,应注意到,贯穿整个本说明书和附图,相同标号指示相同部件。
本说明书和权利要求书中使用的术语或词汇不被解释为限于典型或词典含义,而是基于发明人可以恰当地定义用于按最佳方法描述他或她的发明的术语概念的原理,被解释为与本发明的技术构思相对应的含义和概念。因此,在本说明书中描述的实施方式和附图中所例示的配置不表示本发明的技术构思,而仅是示例性实施方式。由此,应当明白,在提交本说明书时,可以存在可以替换这些示例性实施方式的各种等同物和修改例。虽然术语“第一”、“第二”等在此可以被用于描述各个部件,但这些术语仅被用于区分一个部件与另一部件,而非限制该部件。
下面,将连接至通信网络并且被配置成基于云计算系统来上传或下载内容的移动通信终端描述为根据本发明的实施方式的终端装置的示例。然而,该终端装置不限于移动通信终端,并由此可以应用至各种终端,诸如信息通信装置、多媒体终端、有线终端、固定终端以及因特网协议(IP)终端。另外,当该终端是具有各种移动通信规范的移动终端之一(诸如移动电话、便携式多媒体播放器(PMP)、移动因特网装置(MID)、智能电话、台式电脑、平板型个人计算机(PC)、膝上型电脑、上网本以及信息通信装置)时,可以有利地利用该终端。
下面,将对根据本发明的实施方式的用于云流服务的应用错误检测系统进行描述。
图1是示出根据本发明的实施方式的用于云流服务的应用错误检测系统的框图。
参照图1,根据本发明的实施方式的用于云流服务的应用错误检测系统包括:云流系统,其包括通过通信网络110连接的多个客户端100、101及102和多个流服务器130、140及150。本发明包括检测服务器120,其通过通信网络110与多个流服务器130、140和150连接并且包括执行多个客户端100、101以及102的一些功能的虚拟客户端模块,以便测试这种云流系统是否正常操作。
在下面的实施方式中,下面将三个流服务器130、140及150和包括三个虚拟客户端模块的一个检测服务器120描述为一个示例。然而,流服务器的数量和虚拟客户端模块的数量不限于此,而是可以根据需要或设计按各种组合来实现。
客户端100、101及102是指可以经由通信网络110发送和接收各种数据的终端,并且具体地,是指连接至流服务器130、140及150以提供云流服务的用户侧终端装置。
例如,客户端100、101以及102可以包括PC、膝上型电脑、移动电话、平板PC、导航系统、智能电话、个人数字助理(PDA)、PMP或诸如数字视频广播(DVB)的数字广播接收机。
另外,客户端100、101以及102是指各自设置有用于经由通信网络110与流服务器130、140以及150通信的浏览器、用于存储程序和协议的存储器、用于执行各种程序以执行算术和控制操作的微处理器等的终端装置。
即,客户端100、101以及102可以是能够与流服务器130、140以及150通信的任何三个终端,并且可以包括更广泛意义上的所有类型的通信计算装置,诸如膝上型电脑、移动通信终端以及PDA。
例如,客户端100、101以及102可以连接至流服务器130、140以及150,根据用户输入来请求特定服务或功能,从流服务器130、140以及150接收通过执行所请求的服务或功能而获取的结果画面,以及输出所接收的结果画面。
流服务器130、140以及150可以被配置成通过通信网络110向多个客户端100、101以及102提供特定服务或功能,并且具体地,可以提供云流服务。
例如,流服务器130、140以及150可以提供预定服务或功能,而不管客户端100、101以及102的操作系统(OS)类型、中央处理单元(CPU)性能、存储器容量以及其它软件和硬件规范。
例如,为了提供需要高性能图像处理的服务或功能,流服务器130、140以及150可以根据从客户端100、101以及102发送的用户输入来执行该服务或功能,并接着可以将结果画面发送给客户端100、101以及102。为此,流服务器130、140以及150可以设置有画面虚拟化功能。具体地,根据本发明,为了测试应用是否正常操作,流服务器130、140以及150可以向检测服务器120的虚拟客户端模块发送应用执行数据。这里,正常操作是指应用在没有任何故障的情况下正常运行于流服务器130、140以及150中的操作。
在这种情况下,可以将各种类型的通信网络用作通信网络110。该通信网络可以按以下通信网络中的一种或任何组合来实现:提供与各种信息装置的通信的有线或无线短距离通信网络、在移动对象之间和移动对象与外部对象之间提供通信的移动通信网络、利用卫星在地面站之间提供通信的卫星通信网络以及有线或无线通信网络。上述通信网络的标准发送方案不限于现有标准发送方法,而是可以包括将来要开发的所有标准发送方法。
另外,图1中的客户端100、101以及102与流服务器130、140以及150之间的通信网络可以与在流服务器130、140以及150与检测服务器120之间的通信网络相同或不同。
另外,客户端100与流服务器130之间的通信网络、客户端101与流服务器140之间的通信网络以及客户端102与流服务器150之间的通信网络可以彼此相同或不同。
检测服务器120是用于测试流服务器130、140以及150是否正常操作的装置。
检测服务器120包括具有客户端100、101以及102的一些功能的至少一个虚拟客户端模块。
在这种情况下,检测服务器120使用从至少一个流服务器发送的应用执行数据,来测试该流服务器是否有故障。
在这种情况下,检测服务器120包括用于将从不同流服务器130、140以及150接收的应用执行数据输出至屏幕的至少一个虚拟客户端模块。检测服务器120获取从所述至少一个虚拟客户端模块输出的应用执行数据,比较所获取的测试图像与参考图像,以及根据该测试图像是否匹配该参考图像来确定该流服务器是否有故障。
更详细地,检测服务器120针对通过所述至少一个虚拟客户端模块从特定流服务器130接收的应用执行数据来执行诸如解码的数据处理,将结果输出至该屏幕,比较按预定时间获取的图像与预定图像,以及在所获取的图像匹配该预定图像时确定流服务器130正常操作。在这种情况下,获取时间可以基于从所述至少一个流服务器发送应用执行数据的时间来设置,并且可以预先存储在检测服务器120中。
这样,当检测服务器120的虚拟客户端模块从不同流服务器130、140以及150接收应用执行数据时,根据本发明的用于云流服务的应用错误检测设备比较通过每一个虚拟客户端模块输出的测试图像与参考图像,并且根据比较结果确定对应服务器是否正常操作。即,该应用错误检测设备基于通过每一个客户端100、101以及102向用户提供的屏幕图像来确定流服务器130、140以及150中的每一个是否正常操作。为此,检测服务器120可以请求至少一个或更多个流服务器以同时发送应用执行数据,并且流服务器130、140以及150中的每一个都可以根据针对该请求的信号来发送应用执行数据。而且,将从所述至少一个流服务器接收并处理应用执行数据的虚拟客户端模块可以预定。即,所述至少一个流服务器可以以一对一为基础或者以多对一为基础与至少一个虚拟客户端模块映射。由此,当检测服务器120请求所述至少一个流服务器来发送应用执行数据时,该检测服务器120还可以发送有关将发送该应用执行数据的虚拟客户端模块的信息。当将该虚拟客户端模块与两个或更多个流服务器映射时,检测服务器120可以控制请求流服务器来发送该应用执行数据的时间,以便从所述两个或更多个流服务器顺序地接收并处理该应用执行数据。
参照图2和3,将对根据本发明的实施方式的具有上述配置的系统中的检测服务器120的配置进行详细描述。
下面,将对根据本发明的实施方式的用于云流服务的应用错误检测设备进行描述。
图2是示出图1所示的检测服务器120的示例的框图。
参照图2,图1所示的检测服务器120包括:测试控制单元200、存储单元210、比较单元220、输入单元230、输出单元240以及至少一个虚拟客户端模块250、252以及254。
在该实施方式中,虚拟客户端模块250、252以及254的数量为三,但可以根据系统操作方法而改变。
测试控制单元200执行用于确定流服务器130、140以及150中的每一个是否具有故障所需的所有控制操作。
另外,测试控制单元200在需要故障确定时,根据通过比较单元220执行的比较的结果(即,根据测试图像和参考图像是否彼此匹配)来确定该流服务器是否具有故障。
在这种情况下,当该测试图像和该参考图像彼此匹配时,测试控制单元200可以确定该流服务器没有故障,而当该测试图像和该参考图像彼此不匹配时,可以确定该流服务器有故障。
在这种情况下,需要故障确定的时间可以是检测和完成通过虚拟客户端模块250、252以及254接收数据的时间、用户通过输入单元230要求故障确定的时间或者根据预定时段确定的时间。
像这样,针对故障确定的需求可以根据设置来生成。
另外,该参考图像可以被预先存储。另选地,可以将从所述至少一个或更多个虚拟客户端模块250、252以及254当中的特定虚拟客户端模块输出的图像通过比较单元220设置为该参考图像。
另选地,可以将从所述至少一个或更多个虚拟客户端模块250、252以及254输出的图像当中的彼此匹配的第一组图像通过比较单元220设置为该参考图像。
存储单元210可以存储用于操作检测服务器120所需的信息。
在这种情况下,存储单元210可以存储获取时间信息,以便同时获取从至少一个或更多个流服务器130、140以及150发送的应用执行数据。
而且,存储单元210可以存储有关从流服务器130、140以及150发送的应用执行数据的默认信息,并且具体地,可以预先存储针对特定时间的参考图像,其是用于确定流服务器130、140以及150是否具有故障的参考。
在这种情况下,该存储单元210包括:诸如硬盘、软盘以及磁带的磁性介质;诸如光盘只读存储器(CD-ROM)和数字视频盘(DVD)的光学介质;诸如光磁盘的磁光介质;ROM;随机存取存储器(RAM)以及闪速存储器。
比较单元220在测试控制单元200的控制下,获取从虚拟客户端模块250、252以及254中的每一个输出的应用执行数据,并且比较所获取的测试图像与参考图像。
在这种情况下,该比较单元220可以获取从所述至少一个或更多个虚拟客户端模块中的任一个输出的应用执行数据,并且可以将所获取的图像设置为该参考图像。
在这种情况下,该比较单元220可以获取该应用执行数据的关键帧,并且可以将所获取的关键帧设置为该参考图像。
在这种情况下,该比较单元220可以根据从所述至少一个或更多个虚拟客户端模块输出的应用执行数据来获取匹配画面,并且可以将所获取的画面设置为该参考图像。
在这种情况下,该比较单元220可以根据从所述至少一个或更多个虚拟客户端模块输出的应用执行数据的关键帧来获取匹配关键帧,并且可以将所获取的关键帧设置为该参考图像。
该输入单元230可以根据服务器管理者的操纵,生成与该服务器管理者的请求或信息相对应的用户输入信号,并且可以被实现为商业可用或者将来可用的各种输入装置之一。
例如,除了诸如键盘、鼠标、操纵杆、触摸屏以及触摸板的典型输入装置以外,该输入单元230还可以包括用于感测用户的运动以生成特定输入信号的手势输入装置。
输出单元240可以被实现为用于提供检测服务器120的操作结果或状态的装置,以使得该操作结果或状态可以被用户识别。
例如,该输出单元240可以包括用于通过屏幕显示可视输出的显示装置、用于输出可听声音的扬声器等。
具体地,在根据本发明的用于云流服务的应用错误检测设备中,该输出单元240可以可视地输出测试图像,该测试图像通过所述至少一个或更多个虚拟客户端模块250、252以及254来处理并输出。输出单元240可以比较该测试图像与参考图像,并且输出比较的结果,或者可以显示该流服务器是否具有故障的结果。
该虚拟客户端模块250、252以及254可以被配置成虚拟化连接至流服务器130、140以及150并且接收云流服务的客户端100、101以及102,并且可以执行客户端100、101以及102的一些功能。
例如,该虚拟客户端模块250、252以及254可以连接至特定流服务器130、140以及150,并且可以从该特定流服务器130、140以及150接收应用执行数据。
该虚拟客户端模块250、252以及254可以是可以接收从流服务器130、140以及150提供的数据的终端。
例如,该虚拟客户端模块250、252以及254可以通过虚拟化具有各种移动通信规范的移动终端中的任一个来实现,如蜂窝电话、PMP、MID、智能电话、台式电脑、平板PC、膝上型电脑、上网本、PDA、智能TV以及信息通信装置。
因此,该虚拟客户端模块250、252以及254可以根据终端装置的类型而不同地配置。
具体地,在根据本发明的用于云流服务的应用错误检测设备中,该虚拟客户端模块250、252以及254可以被实现成接收应用执行数据并且还执行屏幕图像解码功能和屏幕输出功能。
即,该虚拟客户端模块250、252以及254可以按与客户端100、101以及102相同的方式处理所接收的应用执行数据,并且可以通过输出单元240将所处理的应用执行数据输出至屏幕。
例如,该虚拟客户端模块250、252以及254可以像客户端100、101以及102一样解码所接收的应用执行数据,并且可以通过输出单元240将所解码的应用执行数据输出至屏幕。
在这种情况下,该虚拟客户端模块250、252以及254可以按特定时间获取输出至屏幕的结果,并且可以根据来自比较单元220的对该获取的需求将所获取的结果传送至比较单元220。
在这种情况下,获取时间可以从比较单元220接收或者可以被预定并存储。
在这种情况下,该虚拟客户端模块250、252以及254可以输出仅包括关键帧的应用执行数据。
在这种情况下,获取的测试图像可以通过获取存储在虚拟客户端模块250、252以及254的帧缓冲器中的图像数据来形成。
虚拟客户端模块250、252以及254的内部配置可以如图3所示。
该虚拟客户端模块250、252以及254具有相同内部配置。由此,在图3中,将虚拟客户端模块250中的任一个的内部配置描述为示例。
图3是示出根据本发明的虚拟客户端模块250的示例的框图。
参照图3,该虚拟客户端模块250包括:控制单元300、通信单元302以及存储单元304。
控制单元300执行虚拟客户端模块250的总体控制,根据比较单元220的请求按特定时间从流服务器130、140以及150中的每一个提取输出至屏幕的测试图像,以及将所提取的测试图像传送至该比较单元220。
另外,控制单元300可以通过通信单元302向流服务器130、140以及150发送针对应用执行数据的发送请求信号。
在这种情况下,在发送针对应用执行数据的发送请求信号时,该控制单元300还可以发送发送该应用执行数据的虚拟客户端模块的标识信息,并且可以根据流服务器的调度向多个流服务器中的每一个顺序地发送针对该应用执行数据的发送请求信号。
通信单元302通过通信网络110接收从流服务器130、140以及150发送的应用执行数据。
在这种情况下,通信单元302可以通过包括有线方案和无线方案的各种通信方案来发送和接收数据。
在这种情况下,通信单元302可以包括根据不同通信方案发送数据的多个通信模块。
存储单元304存储用于操作虚拟客户端模块250所需的信息。
具体地,存储单元304可以存储从流服务器130、140以及150接收的应用执行数据。
另外,存储单元304可以存储通过对所接收的应用执行数据执行预定数据处理而获取的测试图像,并且最终输出至屏幕。
另外,存储单元304可以根据其设置预先存储该测试图像的获取时间信息。
在这种情况下,该存储单元304包括:诸如硬盘、软盘以及磁带的磁性介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;ROM;RAM以及闪速存储器。
参照图4和图5,将对测试服务器在具有上述配置的用于云流服务的应用错误检测系统中是否正常操作的处理进行详细描述。
图4是总体上示出根据本发明的实施方式的用于云流服务的应用错误检测方法的操作流程图。
在根据本发明的实施方式的用于云流服务的应用错误检测方法中,流服务器130、140以及150同时向检测服务器120的虚拟客户端模块250、252以及254发送应用执行数据(S402至S406)。
即,同时地,流服务器130向虚拟客户端模块250发送应用执行数据,流服务器140向虚拟客户端模块252发送应用执行数据,并且流服务器150向虚拟客户端模块254发送应用执行数据。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,当接收到应用执行数据时,检测服务器120的测试控制单元200请求比较单元220根据错误检测请求来比较应用执行数据(S408和S410)。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,比较单元220需要虚拟客户端模块250、252以及254传送从流服务器130、140以及150接收的应用画面(S412、S416以及S420)。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,该虚拟客户端模块250、252以及254根据来自比较单元220的需求向比较单元220传送应用执行数据。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,比较单元220按特定时间获取应用执行数据,以获取测试图像(S423)。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,比较单元220比较该测试图像与预定参考图像(S424)。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,设置参考图像的处理还可以在步骤S424之前被执行。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,比较单元220将该比较的结果传送至测试控制单元200(S426)。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,测试控制单元200根据该比较的结果确定服务器是否有故障(S428)。
在这种情况下,在步骤S428中,当该测试图像不匹配该参考图像时,测试控制单元200确定该流服务器有故障,而当该测试图像匹配该参考图像时,确定该流服务器没有故障。
下面,将对有关检测服务器120的根据本发明的实施方式的用于云流服务的应用错误检测方法进行描述。
图5是示出有关检测服务器120的根据本发明的实施方式的用于云流服务的应用错误检测方法的操作流程图。
在根据本发明的实施方式的用于云流服务的应用错误检测方法中,在错误检测时间处,检测服务器120通过包括在检测服务器120中的所有虚拟客户端模块从流服务器130、140以及150接收应用执行数据,将所接收的应用执行数据输出至屏幕,并且获取所输出的应用执行数据(S500至S504)。
另外,在根据本发明的实施方式的用于云流服务的应用错误检测方法中,检测服务器120比较在步骤S504中获取的测试图像与参考图像,当该测试图像不匹配该参考图像时,确定该服务器有故障,而当该测试图像匹配该参考图像时,确定该服务器没有故障(S506至S510)。
根据本发明的用于云流服务的应用错误检测方法可以被实现为可以通过各种计算机装置执行的程序或智能电话app。在这种情况下,该程序或智能电话app可以被记录在计算机可读介质中。该计算机可读介质还可以包括:程序指令、数据文件、数据结构或其组合。记录在介质中的程序指令可以针对本发明来具体设计和配置,或者可以公开地被计算机软件领域的技术人员已知和获得。该计算机可读介质的示例包括:诸如硬盘、软盘以及磁带的磁介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;以及诸如ROM、RAM、闪速存储器等的硬件装置,它们都被专门配置成存储并执行程序指令。除了通过编译器制成的机器语言代码以外,该程序指令的示例还可以包括可通过具有解释器的计算机执行的高级语言代码。上面的示例性硬件装置可以被配置成操作为一个或更多个软件模块,以便执行本发明的操作,且反之亦然。
如上所述,根据本发明的用于云流服务的应用错误检测方法以及用于其的设备和系统不限于上述实施方式的配置和方法,并且针对这些实施方式的各种修改可以通过选择性地组合全部或一些实施方式来进行。
下面,将对根据本发明的实施方式的云流服务器测试系统进行描述。
图6是示出根据本发明的实施方式的云流服务器测试设备的示例的框图。
参照图6,根据本发明的实施方式的云流服务器测试设备包括:测试执行单元1110、应用控制单元1120以及最佳应用数量计算单元1130。
该测试执行单元1110根据用于执行一个或更多个测试应用的预定初始条件,通过自动且重复地执行与要测试的测试应用相对应的自动测试脚本,来重复执行测试。
在这种情况下,为了自动化该测试,该自动测试脚本可以是生成与该测试应用相对应的键输入、重复该测试以及执行该测试应用达到与被执行的应用的数量相同的次数的脚本。
在这种情况下,该自动测试脚本可以自动地或者通过用户生成。
根据一种实施方式,该初始条件可以包括以下中的一个或更多个:最大CPU利用率、最大图形处理单元(GPU)利用率、CPU利用率和GPU利用率的检查间隔、测试应用的初始数量、测试应用的最终数量以及测试时间。
在这种情况下,该最大CPU利用率可以是云流服务器据此能够可靠地执行该测试应用的CPU利用率的上限。同样地,该最大GPU利用率可以是云流服务器据此能够可靠地执行该测试应用的GPU利用率的上限。
在这种情况下,该检查间隔可以是当在测试时间期间监测系统资源利用率时用于检查CPU利用率和GPU利用率的间隔。
在这种情况下,当开始该测试时,测试应用的初始数量可以是要在第一测试中执行的测试应用的数量。
在这种情况下,测试应用的最终数量可以是被用于确定是否满足测试结束条件的数量,并且可以是用于限制要在该测试期间执行的应用的数量的范围的数量。另外,根据测试应用的初始数量与测试应用的最终数量之间的比较结果,测试执行单元1110可以进入应用增加测试模式和应用减少测试模式中的任一种模式。
在这种情况下,该应用增加测试模式可以是通过执行较小数量的应用而开始该第一测试的测试模式,并且在增加被执行的应用的数量的同时,计算可执行应用的最佳数量。
相反地,该应用减少测试模式可以是通过执行较大数量的应用而开始该第一测试的测试模式,并且在减少被执行的应用的数量的同时,计算可执行应用的最佳数量。
在这种情况下,该测试时间可以是用于执行该测试一次而占用的时间。在已经过该测试时间之后,测试执行单元1110确定是否满足该测试结束条件,并接着重复或结束该测试。
根据一种实施方式,该测试执行单元1110在该测试时间期间可以寻找将系统资源利用率记录为最大值的最大负荷点,并且可以将该测试时间重置成达到该最大负荷点的时间。
例如,当在7分钟的测试时间期间于时点05:30将系统资源利用率记录为最大值时,该时点05:30是最大负荷点。接着,因为将该测试时间重置成时点05:30,所以随后的测试可以仅被执行达5分钟30秒,由此节省1分钟30秒。
根据一种实施方式,该系统资源利用率可以考虑到CPU利用率和GPU利用率中的一个或两个来加以确定。
例如,该系统资源利用率可以被确定为CPU利用率和GPU利用率的平均值,或者可以在每一次被考虑为在CPU利用率与GPU利用率之间更高的任一个。另选地,可以将CPU利用率被记录为最大值的时点与GPU利用率被记录为最大值的时点之间的稍后的时点考虑为最大负荷点。
根据实施方式,当测试应用的初始数量小于测试应用的最终数量时,该测试执行单元1110可以进入应用增加测试模式。另选地,当测试应用的初始数量大于测试应用的最终数量时,该测试执行单元1110可以进入应用减少测试模式。
例如,当测试应用的初始数量为1而测试应用的最终数量为5时,该测试执行单元1110可以进入应用增加测试模式。相反地,当测试应用的初始数量为5而测试应用的最终数量为1时,该测试执行单元1110可以进入应用减少测试模式。
应用控制单元1120增加或减少被执行的应用的数量,该数量是每次重复该测试时在该测试期间执行的测试应用的数量。
在这种情况下,被执行的应用的数量上的增加或减少根据测试执行单元1110的测试模式而改变。即,在应用增加测试模式下,执行该测试同时被执行的应用的数量增加,并且在应用减少测试模式下,执行该测试同时被执行的应用的数量减少。
当确定满足该测试结束条件时,最佳应用数量计算单元1130结束该测试,并且计算可执行应用的最佳数量。
在这种情况下,可执行应用的最佳数量可以是这样的数量:该数量指示当所述云流服务器执行所述多个测试应用时可以可靠地执行多个测试应用的上限。
在这种情况下,该测试结束条件和计算可执行应用的最佳数量的方法根据测试执行单元1110的测试模式而改变。
下面,将对应用增加测试模式进行描述。
根据一种实施方式,每次当确定不满足该测试结束条件时,该应用增加测试模式可以重复该测试,同时增加被执行的应用的数量。
即,可执行应用的最佳数量可以每次执行该测试时在执行一个或更多个应用的同时,通过监测该测试时间期间的系统资源利用率来寻找。
在这种情况下,当CPU利用率和GPU利用率分别大于该测试时间期间的最大CPU利用率和最大GPU利用率时,可以满足该测试结束条件。另选地,当被执行的应用的数量等于测试应用的最终数量时,可以满足该测试结束条件。
即,当CPU利用率超出最大CPU利用率或者GPU利用率超出最大GPU利用率时,可以满足测试结束条件。
在这种情况下,即使当该超出是暂时的而与超出时间无关时,也可以确定满足测试结束条件,而且当该超出时间长于预定时间时,也可以确定满足测试结束条件。
在这种情况下,可执行应用的最佳数量可以比在满足测试结束条件时被执行的应用的数量少一个。
即,在CPU利用率和GPU利用率分别不超出最大CPU利用率和最大GPU利用率的最后测试中被执行的应用的数量等于可执行应用的最佳数量。
例如,针对被执行的应用的数量为四的条件,即,四个测试应用被执行,当满足测试结束条件时,可执行应用的最佳数量可以为三个。
下面,将对应用减少测试模式进行描述。
根据一种实施方式,当确定不满足测试结束条件时,应用减少测试模式可以重复该测试,同时减少被执行的应用的数量。
即,可执行应用的最佳数量可以每次执行该测试时在执行一个或几个应用的同时,通过监测该测试时间期间的系统资源利用率来寻找。
在这种情况下,当CPU利用率和GPU利用率分别等于或小于最大CPU利用率和最大GPU利用率时,可以满足该测试结束条件。另选地,当被执行的应用的数量等于测试应用的最终数量时,可以满足该测试结束条件。
即,当CPU利用率不超出最大CPU利用率并且GPU利用率不超出最大GPU利用率时,可以满足测试结束条件。
在这种情况下,即使当该超出是暂时的而与超出时间无关时,也可以确定不满足测试结束条件,而且当该超出时间长于预定时间时,也可以确定不满足测试结束条件。
在这种情况下,可执行应用的最佳数量可以是在满足测试结束条件时被执行的应用的数量。
即,在CPU利用率和GPU利用率分别不超出最大CPU利用率和最大GPU利用率的第一测试中被执行的应用的数量可以等于可执行应用的最佳数量。
例如,针对被执行的应用的数量为四的条件,即,在四个测试应用被执行的同时,当满足测试结束条件时,可执行应用的最佳数量可以为四个。
图7是示出根据本发明的实施方式的自动测试脚本的初始条件的示例的代码图。
参照图7,根据本发明的实施方式的自动测试脚本的初始条件包括:最大CPU利用率1210、最大GPU利用率1220、检查间隔1230、测试应用的初始数量1240、测试应用的最终数量1250以及测试时间1260。
该最大CPU利用率1210和最大GPU利用率1220为70。即,在确定是否满足该测试结束条件时,将CPU利用率和GPU利用率与70%相比较。
在这种情况下,最大CPU利用率1210可以是云流服务器据此能够可靠地执行该测试应用的CPU利用率的上限。同样地,最大GPU利用率1220可以是云流服务器据此能够可靠地执行该测试应用的GPU利用率的上限。
在这种情况下,该最大CPU利用率1210和最大GPU利用率1220被表示为百分比。
在这种情况下,应注意到,最大CPU利用率1210和最大GPU利用率1220可以彼此不同或相同。
该检查间隔1230是三秒钟。
在这种情况下,该检查间隔1230可以是当在测试时间期间监测系统资源利用率时用于检查CPU利用率和GPU利用率的间隔。
即,在执行测试时,CPU利用率和GPU利用率可以每隔三秒被检查。
测试应用的初始数量1240为1,而测试应用的最终数量1250为5。
在这种情况下,当开始该测试时,测试应用的初始数量1240可以是要在第一测试中执行的测试应用的数量。
在这种情况下,测试应用的最终数量1250可以是被用于确定是否满足测试结束条件的数量,并且可以是用于限制要在该测试期间执行的应用的数量的范围的数量。
另外,根据测试应用的初始数量1240与测试应用的最终数量1250之间的比较结果,测试执行单元1110可以进入应用增加测试模式和应用减少测试模式中的任一种模式。
即,因为测试应用的初始数量1240小于测试应用的最终数量1250,所以该测试执行单元1110可以进入应用增加测试模式。
测试时间1260为七分钟。
在这种情况下,该测试时间1260是用于执行该测试一次而占用的时间。在已经过该测试时间之后,测试执行单元1110确定是否满足该测试结束条件,并接着重复或结束该测试。
即,每次重复该测试时,该测试就被执行达七分钟。在这种情况下,随着第二测试开始,该测试时间可以基于最大负荷点来重置,并且由此,该测试时间可以缩短。
下面,作为示例,参照图8至图10,将对示出根据本发明的实施方式的测试结果的曲线图进行描述。在这种情况下,系统资源利用率、CPU利用率以及GPU利用率根据检查间隔而被离散地检查。然而,通过连接检查点而形成的曲线图将被描述为示例。
图8是示出根据本发明的实施方式的测试结果的示例的曲线图。
下面,参照图8,将对寻找最大负荷点并且重置测试时间的示例进行描述。
参照图8,根据本发明的实施方式的测试结果包括:测试时间1310、系统资源利用率1320以及最大负荷点1330。
测试时间1310为七分钟。该测试被执行一次达七分钟。
根据一种实施方式,该系统资源利用率1320可以考虑到CPU利用率和GPU利用率中的一个或两个来加以确定。
例如,该系统资源利用率可以被确定为CPU利用率和GPU利用率的平均值,或者可以在每一次被考虑为在CPU利用率与GPU利用率之间更高的那一个。
该最大负荷点1330是将系统资源利用率1320记录为最大值的时间。
即,时点05:30是最大负荷点1330。
在这种情况下,该测试执行单元在测试时间1310期间可以寻找将系统资源利用率1320记录为最大值的最大负荷点1330,并且可以将测试时间1310重置成达到最大负荷点1330的时间。
接着,因为将该测试时间重置成05:30,所以随后的测试可以仅被执行达5分钟30秒,由此节省1分钟30秒。
下面,参照图9和图10,将对应用增加测试模式的示例进行描述。
图9是示出根据本发明的实施方式的测试结果的另一示例的曲线图。
参照图9,根据本发明的实施方式的测试结果包括:测试时间1410、最大CPU利用率和最大GPU利用率1420、CPU利用率1430以及GPU利用率1440。
在这种情况下,因为最大CPU利用率和最大GPU利用率相同并且等于70%,所以最大CPU利用率和最大GPU利用率在该曲线图上被示出为一条线。然而,应注意到,当最大CPU利用率和最大GPU利用率彼此不同时,最大CPU利用率和最大GPU利用率可以分开地被示出。
通过在测试时间1410期间(即,在5分钟30秒内)执行测试应用,并且监测系统资源,可以获取CPU利用率1430和GPU利用率1440。
在这种情况下,因为CPU利用率1430和GPU利用率1440在测试时间1410期间未超出最大CPU利用率和最大GPU利用率1420,所以确定不满足该测试结束条件。
因此,当被执行的应用的数量增加时,重复该测试。
图10是示出根据本发明的实施方式的测试结果的另一示例的曲线图。
参照图10,根据本发明的实施方式的测试结果包括:测试时间1510、最大CPU利用率和最大GPU利用率1520、CPU利用率1530以及GPU利用率1540。
在这种情况下,因为最大CPU利用率和最大GPU利用率相同并且等于70%,所以最大CPU利用率和最大GPU利用率在该曲线图上被示出为一条线。然而,应注意到,当最大CPU利用率和最大GPU利用率彼此不同时,最大CPU利用率和最大GPU利用率可以分开地被示出。
通过在测试时间1510期间(即,在5分钟30秒内)执行测试应用,并且监测系统资源,可以获取CPU利用率1530和GPU利用率1540。
在这种情况下,因为在测试时间1510期间,CPU利用率1530超出70%(其是最大CPU利用率),所以确定满足该测试结束条件。
因此,该测试结束,并且计算可执行应用的最佳数量。
在这种情况下,可执行应用的最佳数量可以比在满足测试结束条件时被执行的应用的数量少一个。即,在CPU利用率和GPU利用率分别不超出最大CPU利用率和最大GPU利用率的最后测试中被执行的应用的数量等于可执行应用的最佳数量。
例如,当被执行的应用的数量为四时,可执行应用的最佳数量为三个,其比被执行的应用的数量少一个。
尽管图9和图10中未示出,但该测试另选地可以按应用减少测试模式来执行。
在这种情况下,通过在测试时间期间执行该测试应用,并且监测系统资源,可以获取CPU利用率和GPU利用率。
在这种情况下,当CPU利用率和GPU利用率分别大于最大CPU利用率和最大GPU利用率时,可以确定不满足该测试结束条件。当被执行的应用的数量减少时,可以重复该测试。
在这种情况下,当确定满足该测试结束条件时,该测试可以结束,并且接着可以计算可执行应用的最佳数量。
在这种情况下,可执行应用的最佳数量可以是在满足测试结束条件时被执行的应用的数量。即,在CPU利用率和GPU利用率分别不超出最大CPU利用率和最大GPU利用率的第一测试中被执行的应用的数量可以等于可执行应用的最佳数量。
例如,针对被执行的应用的数量为四的条件,当满足测试结束条件时,可执行应用的最佳数量可以为四个。
图11是示出根据本发明的实施方式的云流服务器测试方法的示例的操作流程图。
参照图11,根据本发明的实施方式的云流服务器测试方法包括以下步骤:设置用于执行与要测试的测试应用相对应的自动测试脚本的初始条件(S1610)。
在这种情况下,为了自动化该测试,该自动测试脚本可以是生成与该测试应用相对应的键输入、重复该测试以及执行该测试应用达到与被执行的应用的数量相同的次数的脚本。
在这种情况下,该自动测试脚本可以自动地或者通过用户生成。
根据一种实施方式,该初始条件可以包括以下中的一个或更多个:最大CPU利用率、最大GPU利用率、CPU利用率和GPU利用率的检查间隔、测试应用的初始数量、测试应用的最终数量以及测试时间。
在这种情况下,该最大CPU利用率可以是云流服务器据此能够可靠地执行该测试应用的CPU利用率的上限。同样地,该最大GPU利用率可以是云流服务器据此能够可靠地执行该测试应用的GPU利用率的上限。
在这种情况下,该检查间隔可以是当在该测试时间期间监测系统资源利用率时用于检查CPU利用率和GPU利用率的间隔。
在这种情况下,当开始该测试时,测试应用的初始数量可以是要在第一测试中执行的测试应用的数量。
在这种情况下,测试应用的最终数量可以是被用于确定是否满足测试结束条件的数量,并且可以是用于限制要在该测试期间执行的应用的数量的范围的数量。根据测试应用的初始数量与测试应用的最终数量之间的比较结果,可以进入应用增加测试模式和应用减少测试模式中的任一者。
在这种情况下,该测试时间可以是用于执行该测试一次而占用的时间。在已经过该测试时间之后,确定是否满足该测试结束条件,并且重复或结束该测试。
另外,根据本发明的实施方式的云流服务器测试方法包括以下步骤:确定测试应用的初始数量是否小于测试应用的最终数量(S1620)。
另外,根据本发明的实施方式的云流服务器测试方法包括以下步骤:当测试应用的初始数量小于测试应用的最终数量时,进入应用增加测试模式(S1630)。
例如,当测试应用的初始数量为一而测试应用的最终数量为五时,可以进入应用增加测试模式。
另外,根据本发明的实施方式的云流服务器测试方法包括以下步骤:当测试应用的初始数量大于测试应用的最终数量时,进入应用减少测试模式(S1640)。
例如,当测试应用的初始数量为五而测试应用的最终数量为一时,可以进入应用减少测试模式。
图12是示出图11所示的应用增加测试模式的示例的操作流程图。
参照图12,图11所示的应用增加测试模式自动且重复地执行自动测试脚本(S1710)。
另外,图11所示的应用增加测试模式通过执行根据自动测试脚本的一个或更多个测试应用来重复执行测试(S1720)。
另外,图11所示的应用增加测试模式在执行该测试的同时监测CPU利用率和GPU利用率(S1730)。
在这种情况下,CPU利用率和GPU利用率可以根据初始条件的特定检查间隔而被检查。
另外,当已经过测试时间(S1740)时,图11所示的应用增加测试模式确定是否满足测试结束条件(S1750)。
在这种情况下,当在该测试时间期间CPU利用率和GPU利用率分别大于最大CPU利用率和最大GPU利用率时,可以满足该测试结束条件。另选地,当被执行的应用的数量等于测试应用的最终数量时,可以满足该测试结束条件。
即,在测试时间期间,当CPU利用率超出最大CPU利用率或者GPU利用率超出最大GPU利用率时,可以满足测试结束条件。
在这种情况下,即使当该超出是暂时的而与超出时间无关时,也可以确定满足测试结束条件,而且当该超出时间长于预定时间时,也可以确定满足测试结束条件。
另外,当确定不满足测试结束条件时,图11所示的应用增加测试模式可以重复该测试,同时增加被执行的应用的数量(S1760)。
即,可执行应用的最佳数量可以在每次执行该测试时执行一个或更多个应用的同时,通过监测该测试时间期间的系统资源利用率来寻找。
另外,图11所示的应用增加测试模式在该测试时间期间可以寻找将系统资源利用率记录为最大值的最大负荷点,并且可以将该测试时间重置成达到该最大负荷点的时间。
例如,当在7分钟的测试时间期间的时点05:30处将系统资源利用率记录为最大值时,该时点05:30是最大负荷时间。接着,因为将该测试时间重置成时点05:30,所以随后的测试可以仅被执行达5分钟30秒,由此节省1分钟30秒。
根据一种实施方式,该系统资源利用率可以考虑到CPU利用率和GPU利用率中的一个或两个来确定。
例如,该系统资源利用率可以被确定为CPU利用率和GPU利用率的平均值,或者可以在每一次被考虑为在CPU利用率与GPU利用率之间更高的那一个。另选地,可以将CPU利用率被记录为最大值的时点与GPU利用率被记录为最大值的时点之间的稍后的时点考虑为最大负荷点。
当确定满足该测试结束条件时,图11所示的应用增加测试模式结束该测试,并且计算可执行应用的最佳数量(1780)。
在这种情况下,可执行应用的最佳数量可以是这样的数量:该数量指示当所述云流服务器执行所述多个测试应用时可以可靠地执行多个测试应用的上限。
在这种情况下,可执行应用的最佳数量可以比在满足测试结束条件时被执行的应用的数量少一个。
例如,针对被执行的应用的数量为四的条件,即,四个测试应用被执行,当满足测试结束条件时,可执行应用的最佳数量可以为三个。
即,在CPU利用率和GPU利用率分别不超出最大CPU利用率和最大GPU利用率的最后测试中被执行的应用的数量等于可执行应用的最佳数量。
图13是示出图11所示的应用减少测试模式的示例的操作流程图。
参照图13,图11所示的应用减少测试模式自动且重复地执行自动测试脚本(S1810)。
另外,图11所示的应用减少测试模式通过执行根据自动测试脚本的一个或更多个测试应用来重复执行测试(S1820)。
另外,图11所示的应用减少测试模式在执行该测试的同时监测CPU利用率和GPU利用率(S1830)。
在这种情况下,CPU利用率和GPU利用率可以根据初始条件的特定检查间隔而被检查。
另外,当已经过测试时间(S1840)时,图11所示的应用减少测试模式确定是否满足测试结束条件(S1850)。
在这种情况下,当在该测试时间期间CPU利用率和GPU利用率分别等于或小于最大CPU利用率和最大GPU利用率时,可以满足该测试结束条件。另选地,当被执行的应用的数量等于测试应用的最终数量时,可以满足该测试结束条件。
即,在该测试时间期间,当CPU利用率不超出最大CPU利用率并且GPU利用率不超出最大GPU利用率时,可以满足测试结束条件。
在这种情况下,即使当该超出是暂时的而与超出时间无关时,也可以确定不满足测试结束条件,而且当该超出时间长于预定时间时,也可以确定不满足测试结束条件。
另外,当确定不满足测试结束条件时,图11所示的应用减少测试模式可以通过减少被执行的应用的数量来重复该测试(S1860)。
即,可执行应用的最佳数量可以在每次执行该测试时在减少被执行的应用的数量的同时,通过监测在该测试时间期间的系统资源利用率来寻找。
另外,图11所示的应用减少测试模式在该测试时间期间可以寻找将系统资源利用率记录为最大值的最大负荷点,并且可以将该测试时间重置成达到该最大负荷点的时间。
例如,当在7分钟的测试时间期间的时点05:30处将系统资源利用率记录为最大值时,该时点05:30是最大负荷时间。接着,因为将该测试时间重置成时点05:30,所以随后的测试可以仅被执行达5分钟30秒,由此节省1分钟30秒。
根据一种实施方式,该系统资源利用率可以考虑到CPU利用率和GPU利用率中的一个或两个来加以确定。
例如,该系统资源利用率可以被确定为CPU利用率和GPU利用率的平均值,或者可以在每一次被考虑为在CPU利用率与GPU利用率之间更高的那一个。另选地,可以将CPU利用率被记录为最大值的时点与GPU利用率被记录为最大值的时点之间的稍后的时点考虑为最大负荷点。
当确定满足该测试结束条件时,图11所示的应用减少测试模式结束该测试,并且计算可执行应用的最佳数量(S1880)。
在这种情况下,可执行应用的最佳数量可以是这样的数量:该数量指示当所述云流服务器执行所述多个测试应用时可以可靠地执行多个测试应用的上限。
在这种情况下,可执行应用的最佳数量可以是在满足测试结束条件时被执行的应用的数量。
即,在CPU利用率和GPU利用率分别不超出最大CPU利用率和最大GPU利用率的第一测试中被执行的应用的数量可以等于可执行应用的最佳数量。
例如,针对被执行的应用的数量为四的条件,即,四个测试应用被执行,当满足测试结束条件时,可执行应用的最佳数量可以为四个。
图11、图12以及图13所示的步骤可以按图11、图12以及图13中所示的次序、按相反次序或者同时被执行。
根据本发明的云流服务器测试方法可以被实现为可以通过各种计算机装置执行的程序或智能电话app。在这种情况下,该程序或智能电话app可以被记录在计算机可读介质中。该计算机可读介质还可以包括:程序指令、数据文件、数据结构或其组合。记录在介质中的程序指令可以针对本发明具体设计和配置,或者可以公开地被计算机软件领域的技术人员已知和获得。该计算机可读介质的示例包括:诸如硬盘、软盘以及磁带的磁介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;以及诸如ROM、RAM、闪速存储器等的硬件装置,它们都被专门配置成存储并执行程序指令。除了通过编译器制成的机器语言代码以外,该程序指令的示例还可以包括可通过具有解释器的计算机执行的高级语言代码。上面的示例性硬件装置可以被配置成操作为一个或更多个软件模块,以便执行本发明的操作,且反之亦然。
如上所述,根据本发明的云流服务器测试方法和用于其的设备不限于上述实施方式的配置和方法,并且针对这些实施方式的各种修改可以通过选择性地组合全部或一些实施方式来进行。
下面,将对用于预先检测云流服务器是否正常操作来防止因服务器故障而造成的服务质量下降的测试技术进行描述。
图14是示出根据本发明的实施方式的用于云流服务器的测试系统的示图。
参照图14,根据本发明的云流系统包括通过通信网络2110连接的多个客户端2100、2101及2102和多个云流服务器2130、2140及2150。本发明还包括测试设备2120,其通过通信网络2110与多个云流服务器2130、2140以及2150连接,并且其包括执行多个客户端2100、2101以及2102的至少一些功能的虚拟客户端模块,以便测试这种云流系统是否正常操作。
在下面的实施方式中,示出了三个云流服务器2130、2140及2150和包括三个虚拟客户端模块的一个测试设备2120。然而,云流服务器的数量和虚拟客户端模块的数量不限于此,而是可以根据需要或设计按各种组合来实现。
客户端2100、2101以及2102是指可以经由通信网络2110发送和接收各种数据的终端,并且具体地,是指连接至云流服务器2130、2140以及2150以提供云流服务的用户侧装置。例如,客户端2100、2101以及2102可以是以下中的任一种:平板PC、膝上型电脑、PC、智能电话、PDA、智能TV、移动通信终端以及机顶盒。
另外,客户端2100、2101以及2102是指各自被设置有用于经由通信网络2110与云流服务器2130、2140以及2150通信的浏览器、用于存储程序和协议的存储器、用于执行用于执行算术和控制操作的各种程序的微处理器等的终端。即,客户端2100、2101以及2102可以是可以实现与云流服务器2130、2140以及2150通信的任何终端,并且在更广泛意义上可以包括所有类型的通信计算装置,诸如膝上型电脑、移动通信终端以及PDA。
例如,客户端2100、2101以及2102可以连接至云流服务器2130、2140以及2150,根据用户输入请求特定服务或功能,从流服务器2130、2140以及2150接收通过执行所请求的服务或功能而获取的结果画面,以及输出所接收的结果画面。
云流服务器2130、2140以及2150可以被配置成通过通信网络2110向多个客户端2100、2101以及2102提供特定服务或功能,并且具体地,可以提供云流服务。例如,为了提供预定服务或功能(例如,需要高性能图像处理的服务或功能)而与客户端2100、2101以及2102的OS类型、CPU性能、存储器容量以及其它软件和硬件规范无关,云流服务器2130、2140以及2150可以根据从客户端2100、2101以及2102发送的用户输入来执行该服务或功能,并接着可以将结果画面发送给客户端2100、2101以及2102。为此,云流服务器2130、2140以及2150可以设置有屏幕虚拟化功能。具体地,为了测试操作是否正常(即,其是否有故障),根据本发明的云流服务器2130、2140以及2150可以接收预定测试脚本键输入,并且可以向测试设备2120的虚拟客户端模块发送基于该预定测试脚本键输入而生成的测试结果(即,测试结果画面)。
通信网络2110是指能够利用采用各种有线/无线通信技术的因特网协议来发送和接收数据的网络,诸如因特网、内联网、移动通信网络、卫星通信网络等。除了封闭式网络(例如,局域网(LAN)、广域网(WAN)等)和开放式网络(例如,因特网)以外,该通信网络2110还统一涉及码分多址(CDMA)网络、宽带码分多址(WCDMA)网络、全球移动通信系统(GSM)网络、长期演进(LTE)网络、演进分组核心(EPC)网络以及下一代网络和计算网络。
测试设备2120是用于测试云流服务器2130、2140以及2150是否正常操作的装置。测试设备2120设置有具有客户端2100、2101以及2102的一些功能的至少一个虚拟客户端模块。
当通过所述至少一个虚拟客户端模块接收从云流服务器2130、2140以及2150中的至少一个发送的测试结果并且所述至少一个虚拟客户端模块针对所接收的测试结果执行数据处理并将结果图像输出至屏幕时,该测试设备2120获取结果图像,比较所获取的结果图像与预定参考结果图像,并且根据匹配度来确定所述至少一个云流服务器是否有故障。更详细地,当所述至少一个虚拟客户端模块针对从特定云流服务器2130接收的测试结果执行诸如解码的数据处理并接着将结果图像输出至屏幕时,该测试设备2120比较按预定获取时间输出的结果图像与预定参考结果图像(该参考结果图像可以对应于要测试的云流服务器之一),当这些图像彼此不匹配时,确定云流服务器2130具有故障且因此未正常操作,而当这些图像彼此匹配时,确定该云流服务器2130正常操作。然而,该测试设备2120重复发送同一键脚本输入,检测在通过该测试结果生成的操作情况图像中没有差异的区域以生成参考区域,并接着仅针对参考区域执行比较。在这种情况下,获取时间可以基于从流服务器2130、2140以及2150中的所述至少一个发送测试结果的时间来设置,并且可以预先存储在测试设备2120中。
例如,测试设备2120可以比较通过获取与参考服务器2130(其是云流服务器2130、2140以及2150之一)相对应的测试结果视频而生成的测试结果图像与通过获取与其它云流服务器2140和2150相对应的测试结果视频而生成的测试结果图像的参考区域,来确定云流服务器2130、2140以及2150中的一个或更多个是否有故障,而且当确定需要改变参考服务器2130时(即,当满足针对该改变的条件时),可以将该参考服务器2130改变至另一服务器2140或2150。
在这种情况下,该改变条件可以是在这些云流服务器当中的被确定为具有故障的云流服务器的数量为预定参考值或更多的条件。
测试设备2120可以检测针对云流服务器2130、2140以及2150的连接错误。例如,当接收到针对连接至云流服务器2130、2140以及2150的失败尝试时,或者当未从云流服务器2130、2140以及2150接收到测试结果达到预定时间或更长时,测试设备2120可以确定连接错误。即,当针对连接至云流服务器的尝试失败时或者当未从该云流服务器发送云流服务画面时,该测试设备2120可以与通过画面比较的测试独立地通知连接故障。
测试设备2120可以仅对测试结果图像中的针对相同输入没有差异的参考区域执行比较。
为此,虚拟客户端模块中的任一个可以从云流服务器中的任一个接收与重复测试脚本键输入相对应的测试结果,生成操作情况视频,获取该操作情况视频,彼此比较所生成的操作情况图像,以及根据该比较的结果生成参考区域。
在这种情况下,作为比较该操作情况图像的结果,该虚拟客户端模块可以检测没有差异的区域,并且将该区域生成为参考区域。
在这种情况下,针对同一测试脚本键输入具有差异的区域可以是显示时钟或动画的区域。
如上所述,根据本发明,针对虚拟客户端模块从不同云流服务器接收测试结果的条件,测试设备2120可以比较通过已从不同云流服务器接收到测试结果的虚拟客户端模块中的至少一个输出的结果图像与参考结果图像,以根据该比较的结果来确定云流服务器是否正常操作。即,测试设备2120基于实际上由客户端2100、2101以及2102提供给用户的屏幕图像,来确定云流服务器2130、2140以及2150是否正常操作。然而,该比较仅对针对同一输入没有差异的参考区域执行。为此,该测试设备2120可以请求至少一个或更多个云流服务器2130、2140以及2150来同时发送测试结果。根据该请求信号,云流服务器2130、2140以及2150可以发送该测试结果。另外,将接收从至少一个或更多个云流服务器2130、2140以及2150发送的测试结果并处理所接收的测试结果的虚拟客户端模块可以被预定。即,所述至少一个或更多个云流服务器2130、2140和2150以及至少一个或更多个虚拟客户端模块可以以一对一为基础或者以多对一为基础来映射。由此,当测试设备2120请求所述至少一个或更多个云流服务器2130、2140以及2150来发送该测试结果时,该测试设备2120可以一起发送有关将接收该测试结果的虚拟客户端模块的信息。另外,当将该虚拟客户端模块与云流服务器的两个或更多个映射时,该测试设备2120可以控制请求所述至少一个或更多个云流服务器2130、2140以及2150来发送该测试结果的时间,以便顺序地从所述两个或更多个云流服务器接收并处理这些测试结果。
参照图15、图16和图17,将对根据本发明的实施方式的具有上述配置的系统中的测试设备2120的配置进行详细描述。
首先,参照图15,该测试设备2120可以被配置成包括:测试控制单元2200、存储单元2210、比较单元2220、输入单元2230、输出单元2240以及至少一个或更多个虚拟客户端模块2250、2252以及2254。在该实施方式中,虚拟客户端模块2250、2252以及2254的数量为三,但可以根据系统操作方法而改变。
该测试控制单元2200执行用于确定云流服务器2130、2140以及2150是否具有故障所需的所有控制操作,并且根据通过比较单元2220执行的比较的结果(即,在需要故障确定时,通过获取根据该测试结果输出的画面而获得的结果图像是否匹配预定参考结果图像)来确定云流服务器是否具有故障。然而,该匹配仅对针对同一输入没有差异的参考区域执行。在这种情况下,需要故障确定的时间可以是检测到和完成通过虚拟客户端模块2250、2252以及2254接收测试结果的时间、通过输入单元2230要求故障确定的时间或者根据预定时段确定的时间。针对故障确定的需求可以根据设置来生成。另外,该参考结果图像可以预先存储。另选地,可以将从所述至少一个或更多个虚拟客户端模块2250、2252以及2254当中的特定虚拟客户端模块输出的结果图像设置为参考结果图像。
在这种情况下,当这两个图像彼此匹配时,测试控制单元2200可以确定云流服务器没有故障,而当这两个图像彼此不匹配时,可以确定该云流服务器有故障。
存储单元2210可以存储用于操作测试设备2120所需的信息。存储单元2210存储用于获取测试结果视频的获取时间信息,以便同时获取针对从所述至少一个或更多个云流服务器2130、2140以及2150发送的测试结果的结果视频。另外,存储单元2210可以存储有关从云流服务器发送的测试结果的默认信息,并且具体地,可以预先存储针对特定时间的参考图像,其是用于确定云流服务器中的每一个是否有故障的参考。该存储单元2210包括:诸如硬盘、软盘以及磁带的磁性介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;ROM;RAM以及闪速存储器。
该比较单元2220可以需求通过虚拟客户端模块中的任一个重复接收的操作情况视频,并输出至屏幕以被传送,并且可以比较通过获取该操作情况视频而生成的操作情况图像,以生成参考区域。
另外,比较单元2220可以需求从虚拟客户端模块2250、2252以及2254中的每一个接收的测试结果视频,并且在测试控制单元2200的控制下输出至屏幕以被传送,比较通过获取该测试结果视频而生成的测试结果图像与该参考结果图像,并接着将该比较的结果输出至测试控制单元2200。为此,该比较单元2220还可以执行设置参考结果图像的处理。即,该比较单元2220可以比较通过获取与参考服务器(其是云流服务器之一)相对应的测试结果视频而生成的测试结果图像与通过获取与其它云流服务器相对应的测试结果视频而生成的测试结果图像。
在这种情况下,可以在与该参考服务器相对应的测试结果图像的同时获取与其它云流服务器相对应的测试结果图像。
在这种情况下,当比较单元2220比较该测试结果图像时,该比较可以仅针对参考区域来执行。
在这种情况下,该参考区域可以是针对同一输入没有差异的区域。例如,该参考区域可以是除了用于显示时钟或动画的区域以外的剩余区域。
该输入单元2230可以根据云流服务器管理者的操纵,生成与该云流服务器管理者的请求或信息相对应的用户输入信号,并且可以被实现为商业可用或者将来可用的各种输入装置。例如,除了诸如键盘、鼠标、操纵杆、触摸屏、触摸板等的普通输入装置以外,该输入单元2230还可以包括用于感测用户的运动并且生成特定输入信号的手势输入装置。
该输出单元2240是用于提供测试设备2120的操作结果或状态的装置,以使得该操作结果或状态可以被用户识别。例如,该输出单元2240可以包括可视地输出画面的显示器、输出可听声音的扬声器等。具体地,根据本发明,该输出单元2240可以可视地输出结果图像,其通过所述至少一个或更多个虚拟客户端模块2250、2252以及2254处理并输出。另外,输出单元2240可以比较该结果图像与参考结果图像,并且输出比较的结果,或者可以显示该云流服务器是否有故障的结果。
该虚拟客户端模块2250、2252以及2254可以被配置成虚拟化连接至云流服务器2130、2140以及2150并且接收云流服务的客户端2100、2101以及2102,并且可以执行客户端2100、2101以及2102的至少一些功能。例如,该虚拟客户端模块2250、2252以及2254可以连接至特定云流服务器2130、2140以及2150,从云流服务器2130、2140以及2150接收测试结果,针对所接收的测试结果执行与客户端2100、2101以及2102相同的处理(例如,解码等),以生成操作情况视频或测试结果视频,并且将所生成的操作情况视频或测试结果视频通过输出单元2240输出至屏幕。在这种情况下,虚拟客户端模块2250、2252以及2254可以按特定时间获取输出至该屏幕的结果图像,并且可以根据比较单元2220的结果图像请求,将所获取的结果图像传送至比较单元2220。在这种情况下,该获取时间可以从比较单元2220接收或者可以被预定并存储。例如,获取该结果图像可以通过获取存储在虚拟客户端模块2250、2252以及2254的帧缓冲器中的图像数据来执行。根据一种实施方式,比较单元2220可以获取该测试结果视频,以生成测试结果图像,或者可以获取该操作情况视频,以生成操作情况图像。
即,该虚拟客户端模块2250、2252以及2254向云流服务器提供测试脚本键输入,从云流服务器接收与该测试脚本键输入相对应的测试结果,解码所接收的测试结果,并且生成操作情况视频和测试结果视频。在这种情况下,该测试结果可以被视为编码流视频,而该操作情况视频或测试结果视频可以被视为解码流视频。
虚拟客户端模块2250、2252以及2254的内部配置可以如图17所示。因为该虚拟客户端模块2250、2252以及2254具有相同配置,所以在图17中,将具有标号2250的虚拟客户端模块描述为示例。
图16是示出图15所示的比较单元的示图。
参照图16,图15所示的比较单元包括:模块控制单元2310、操作情况比较单元2320以及参考生成单元2330。
该模块控制单元2310执行控制,以使得任一个虚拟客户端模块从任一个云流服务器接收与重复的测试脚本键输入相对应的测试结果,并且生成操作情况视频。
根据一种实施方式,该模块控制单元2310可以执行控制,以使得测试结果从参考服务器被接收。
该操作情况比较单元2320比较通过获取该操作情况视频而生成的操作情况图像。
在这种情况下,操作情况图像可以同时被获取。
在这种情况下,因为操作情况视频通过与同一测试脚本键输入相对应的测试结果而生成,所以必须获取相同图像。然而,可能存在与输入无关地改变的区域,且可以执行比较以便检测这种区域。
该参考生成单元2330根据操作情况图像之间的比较结果来生成参考区域。
根据一种实施方式,作为该操作情况图像之间的比较的结果,参考生成单元2330可以检测针对同一测试脚本键输入没有差异的区域,并且将该区域生成为参考区域。
例如,可以将除了诸如时钟或动画的区域以外的其余区域生成为参考区域。
图17是示出根据本发明的实施方式的接收并处理测试结果的虚拟客户端模块的配置的示图。
参照图17,该虚拟客户端模块2250可以被配置成包括:控制单元2400、通信单元2402以及存储单元2404。
该虚拟客户端模块2250可以通过虚拟化可以接收从云流服务器2130、2140以及2150提供的数据的终端装置(例如,平板PC、膝上型电脑、PC、智能电话、PDA、智能TV、移动通信终端以及机顶盒之一)来实现。因此,该虚拟客户端模块2250可以根据终端装置的类型而不同地配置。具体地,根据本发明,该虚拟客户端模块2250可以被实现成执行接收测试结果的功能、解码所接收的测试结果的功能、生成测试结果视频的功能以及还有输出画面的功能。
该控制单元2400执行虚拟客户端模块2250的总体控制,并且具体地,根据来自云流服务器2130、2140以及2150的需求,提取按特定时间从比较单元2220向该屏幕输出的结果图像,并且将所提取的结果图像传送至比较单元2220。另外,控制单元2400可以通过通信单元2402向云流服务器2130、2140以及2150发送针对该测试结果的发送请求信号。在发送该测试结果发送请求信号时,控制单元2400可以发送有关将接收该测试结果发送请求信号的虚拟客户端模块的标识信息。另外,根据多个云流服务器的测试调度,控制单元2400可以向每一个云流服务器顺序地发送该测试结果发送请求信号。
通信单元2402通过通信网络2110接收从云流服务器2130、2140以及2150发送的测试结果。通信单元2402可以通过包括有线方案和无线方案的各种通信方案来发送和接收数据。另外,通信单元2402可以利用一个或更多个通信方案来发送和接收数据。为此,通信单元2402可以包括根据不同通信方案发送和接收数据的多个通信模块。
存储单元2404存储用于操作虚拟客户端模块2250所需的信息,并且具体地,可以存储从云流服务器2130、2140以及2150接收的测试结果。另外,存储单元2404可以针对所接收的测试结果执行预定数据处理,以最终存储向该屏幕输出的测试结果视频,并且还可以根据这些设置预先存储该结果图像的获取时间信息。该存储单元2404包括:诸如硬盘、软盘以及磁带的磁性介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;ROM;RAM以及闪速存储器。
图18是示出根据本发明的实施方式的测试结果图像中的参考区域的示图。
参照图18,根据本发明的实施方式的测试结果图像被划分成三个区域2510、2512以及2520。
任一个虚拟客户端模块都重复发送键脚本输入,以使得结果通过模块控制单元顺序地改变。
该虚拟客户端模块接收该重复测试的结果,并且生成操作情况视频。
测试设备比较通过获取操作情况视频而生成的操作情况图像。
作为这些操作情况图像之间的比较的结果,每次重复该测试时,当两个区域2510和2512有规则地改变而一个区域2520无规则地改变时,该测试设备可以生成没有差异的区域2510和2512中的每一个,以作为参考区域。
在这种情况下,与输入无关地改变的区域2520可以是显示时钟或动画的区域。
接着,参照图19和图20,将对测试云流服务器在具有上述配置的测试系统中是否正常操作的处理进行详细描述。
图19是示出根据本发明的实施方式的用于在测试系统中测试云流服务器是否正常操作的处理的流程图。
该云流服务器2130向测试设备2120的虚拟客户端模块2250重复发送测试结果(S2610)。
在这种情况下,云流服务器2130可以响应于虚拟客户端模块2250的测试脚本键输入,而发送该测试结果。
在这种情况下,该云流服务器2130可以是参考服务器。
该虚拟客户端模块2250解码从云流服务器2130接收的测试结果,以生成操作情况视频,并将该操作情况视频提供给比较单元2220(S2611)。比较单元2220生成操作情况图像(S2613)。
在这种情况下,提供操作情况视频可以响应于对测试控制单元2200的测试的需求来执行。在这种情况下,比较单元2220可以请求虚拟客户端模块2250来传送从云流服务器2130接收的测试结果。在这种情况下,虚拟客户端模块2250可以像实际客户端2100一样,处理所接收的测试结果以生成操作情况视频,并接着将所生成的操作情况视频输出至屏幕。在这种情况下,虚拟客户端模块2250可以按比较单元2220所需的时间或者按预定的特定时间来获取输出至该屏幕的操作情况视频,并且可以将所获取的操作情况视频发送至比较单元2220。即,获取操作情况视频和生成操作情况图像可以通过虚拟客户端模块2250或比较单元2220来执行。
比较单元2220比较操作情况图像,以生成参考区域(S2614)。
根据一种实施方式,作为该操作情况图像之间的比较的结果,比较单元2220可以检测针对同一测试脚本键输入没有差异的区域,并且将该区域生成为参考区域。
例如,可以将除了诸如时钟或动画的区域以外的其余区域生成为该参考区域。
云流服务器2130、2140以及2150同时向测试设备2120的虚拟客户端模块2250、2252以及2254发送测试结果(S2620至S2622)。即,一个云流服务器2130可以向虚拟客户端模块2250发送测试结果,另一云流服务器2140可以向虚拟客户端模块2252发送测试结果,以及云流服务器2150可以向虚拟客户端模块2254发送测试结果。另选地,一个虚拟客户端模块还可以从多个云流服务器2130、2140以及2150顺序地接收测试结果。
在这种情况下,云流服务器2130、2140以及2150可以响应于虚拟客户端模块2250、2252以及2254的测试脚本键输入,而发送该测试结果。
虚拟客户端模块2250、2252以及2254解码从云流服务器2130、2140以及2150接收的测试结果,以生成测试结果视频,并将所生成的测试结果视频提供给比较单元2220(S2630至S2632)。在这种情况下,提供测试结果视频可以响应于对测试控制单元2200的测试的需求来执行。在这种情况下,比较单元2220可以请求虚拟客户端模块2250、2252以及2254来传送从云流服务器2130、2140以及2150接收的测试结果。在这种情况下,虚拟客户端模块2250、2252以及2254可以像实际客户端2100、2101以及2102一样,处理所接收的测试结果以生成测试结果视频,并接着可以将所生成的测试结果视频输出至屏幕。在这种情况下,虚拟客户端模块2250、2252以及2254可以按比较单元2220所需的时间或者按预定的特定时间来获取输出至该屏幕的操作情况视频,并且可以将所获取的操作情况视频发送至比较单元2220。即,获取操作情况视频和生成操作情况图像可以通过虚拟客户端模块2250或比较单元2220来执行。
比较单元2220比较通过获取每一个接收的测试结果视频而获取的测试结果图像与预定参考结果图像,并接着将该比较的结果传送至测试控制单元2200(S2424至S2426)。这里,该参考结果图像可以被预先存储为结果图像,其在发送测试结果并正常输出时被显示,并且可以将从所述虚拟客户端模块2250、2252以及2254当中的预定的特定虚拟客户端模块输出的结果图像设置为该参考结果图像。为此,该比较单元2220还可以在执行该比较之前,执行设置参考结果图像的处理。
在这种情况下,在比较该测试结果图像与参考结果图像时,比较单元2220仅针对该参考区域执行比较。这是因为,尽管该图像彼此不匹配,但与输入无关地改变的区域不能被确定为具有错误。
接着,测试控制单元2200根据该比较的结果确定该云流服务器是否有故障。在这种情况下,当该比较的结果是在所接收的测试结果中获取的结果图像和该预定参考结果图像彼此不匹配时,测试控制单元2200确定该云流服务器有故障。当该图像彼此匹配时,测试控制单元2200确定该云流服务器没有故障(S2427)。在这种情况下,可以将针对具有标号2130、2140以及2150的云流服务器的比较的结果传送至测试控制单元2200。测试控制单元2200可以根据该比较的结果确定每一个云流服务器是否有故障。
图20是示出根据本发明的实施方式的用于在测试设备2120中测试云流服务器2130、2140以及2150是否正常操作的方法的操作流程图。
参照图20,根据本发明的实施方式的云流服务器测试方法包括以下步骤:生成参考区域(S2710)。将参照图21,对生成参考区域的步骤进行详细描述。
另外,根据本发明的实施方式的云流服务器测试方法包括以下步骤:通过虚拟客户端模块向云流服务器发送与测试脚本相对应的键输入,通过该虚拟客户端模块从该云流服务器接收测试结果,以及生成测试结果视频(S2720)。
另外,根据本发明的实施方式的云流服务器测试方法包括以下步骤:获取该测试结果视频以生成测试结果图像(S2730)。
在这种情况下,可以在与参考服务器相对应的测试结果图像的同时获取与所述云流服务器相对应的测试结果图像。
在这种情况下,步骤S2730可以通过图15所示的虚拟客户端模块2250、2252以及2254或者通过比较单元2220来执行。
另外,根据本发明的实施方式的云流服务器测试方法包括以下步骤:比较该参考服务器的测试结果图像与其它云流服务器的测试结果图像,以确定该比较的结果是否是这些图像彼此匹配(S2740、S2750)。
在这种情况下,当比较这些测试结果图像时,仅针对该参考区域执行比较。这是因为在图像彼此不匹配时,难以确定与输入无关地改变的区域具有错误。
根据本发明的实施方式的云流服务器测试方法包括以下步骤:当该比较的结果是图像彼此匹配时,确定该云流服务器没有故障(S2760)。
根据本发明的实施方式的云流服务器测试方法包括以下步骤:当该比较的结果是图像彼此不匹配时,确定该云流服务器有故障(S2770)。
图21是示出图20所示的生成参考区域的步骤的操作流程图。
参照图21,图20所示的生成参考区域的步骤包括以下步骤:通过虚拟客户端模块中的任一个从云流服务器中的任一个接收与重复的测试脚本键输入相对应的测试结果,并生成操作情况视频(S2810)。
在这种情况下,该虚拟客户端模块中的任一个可以从参考服务器接收该测试结果。
另外,图20所示的生成参考区域的步骤包括以下步骤:比较通过获取操作情况视频而生成的操作情况图像(S2820)。
在这种情况下,该操作情况图像可以同时被获取。
在这种情况下,因为操作情况视频通过与同一测试脚本键输入相对应的测试结果生成,所以必须获取相同图像。然而,可能存在与输入无关地改变的区域,并且可以执行比较,以便检测这种区域。
另外,图20所示的生成参考区域的步骤包括以下步骤:根据该操作情况图像之间的比较的结果来生成参考区域(S2830)。
根据一种实施方式,作为该操作情况图像之间的比较的结果,参考生成单元2330可以检测针对同一测试脚本键输入没有差异的区域,并且将该区域生成为参考区域。
例如,可以将除了诸如时钟或动画的区域以外的其余区域生成为该参考区域。
图19、图20以及图21所示的步骤可以按图19、图20以及图21所示的次序、按相反次序或者同时被执行。
根据本发明的云流服务器测试方法可以被实现为可以通过各种计算机装置执行的程序或智能电话app。在这种情况下,该程序或智能电话app可以被记录在计算机可读介质中。该计算机可读介质还可以包括:程序指令、数据文件、数据结构或其组合。记录在介质中的程序指令可以针对本发明具体设计和配置,或者可以公开地被计算机软件领域的技术人员已知和获得。该计算机可读介质的示例包括:诸如硬盘、软盘以及磁带的磁介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;以及诸如ROM、RAM、闪速存储器等的硬件装置,它们都专门被配置成存储并执行程序指令。除了通过编译器制成的机器语言代码以外,该程序指令的示例还可以包括可通过具有解释器的计算机执行的高级语言代码。上面的示例性硬件装置可以被配置成操作为一个或更多个软件模块,以便执行本发明的操作,且反之亦然。
如上所述,根据本发明的云流服务器测试方法以及用于其的设备和系统不限于上述实施方式的配置和方法,并且针对这些实施方式的各种修改可以通过选择性地组合全部或一些实施方式来进行。
下面,将对云流服务器管理系统进行描述。
图22是示出根据本发明的实施方式的云流服务器管理系统的框图。
参照图22,根据本发明的实施方式的云流服务器管理系统包括:流管理服务器3110、云流服务器3120-1、3120-2、…、3120-N以及网络3130。
该云流管理服务器3110监测多个云流服务器3120-1、3120-2、…、3120-N的实时负荷信息,存储所述多个云流服务器3120-1、3120-2、…、3120-N的特性,基于该实时负荷信息来确定在所述多个云流服务器3120-1、3120-2、…、3120-N当中的代表性服务器和从属服务器,以及当在该云流管理服务器3110的存储单元中已出现问题时,从该代表性服务器接收这些特性的备份副本,以恢复该存储单元。
在这种情况下,该代表性服务器可以从该从属服务器接收这些特性,并且可以存储所接收的特性的备份副本。
在这种情况下,该云流管理服务器3110可以向该代表性服务器发送从属服务器列表,以使得该代表性服务器可以请求从属服务器的特性的备份副本。
在这种情况下,该云流管理服务器3110可以将所述多个云流服务器3120-1、3120-2、…、3120-N划分成多组,并且可以基于该实时负荷信息来确定针对每一组的代表性服务器和从属服务器。
该云流服务器3120-1、3120-2、…、3120-N存储它们各自的特性,向该代表性服务器和云流管理服务器3110中的任一个或两个发送这些特性,以及当从该代表性服务器接收到请求时,根据云流服务器的负荷来控制这些特性的发送。
在这种情况下,当云流服务器3120-1、3120-2、…、3120-N中的每一个都被云流管理服务器确定为代表性服务器时,该代表性服务器还可以存储从属服务器的特性的备份副本,而且可以接收云流管理服务器3110的请求,并且发送该备份副本。
在这种情况下,云流服务器3120-1、3120-2、…、3120-N中的每一个都可以从云流管理服务器3110接收从属服务器列表,并且请求该从属服务器发送该备份副本。
在这种情况下,当负荷小于预定水平时,云流服务器3120-1、3120-2、…、3120-N中的每一个都可以执行控制,以使得将该特性发送至代表性服务器和云流管理服务器3110。另外,云流服务器3120-1、3120-2、…、3120-N中的每一个都可以执行控制,以使得仅将该特性发送至代表性服务器。
网络3130提供用于在云流管理服务器3110与云流服务器3120-1、3120-2、…、3120-N之间传送数据的通道,并且在概念上覆盖当前存在的或者将来可能开发出的所有网络。例如,该网络3130可以按以下通信网络中的一种或任何组合来实现:提供与各种信息装置的通信的有线或无线短距离通信网络、在移动对象之间和移动对象与外部对象之间提供通信的移动通信网络、利用卫星在地面站之间提供通信的卫星通信网络以及有线或无线通信网络。网络3130的标准发送方案不限于现有标准发送方案,而是可以包括将来要开发的所有标准发送方案。另外,在图22中,在云流管理服务器3110与云流服务器3120-1之间使用的网络可以与在云流管理服务器3110与云流服务器3120-2之间使用的网络不同或相同。另外,在图22中,在云流管理服务器3110与云流服务器3120-1或云流服务器3120-2之间使用的网络可以与在云流服务器3120-1与云流服务器3120-2之间使用的网络不同或相同。
图23是示出图22所示的云流管理服务器的示例的框图。
参照图23,图22所示的云流管理服务器包括:监测单元3210、存储单元3220、代表性服务器确定单元3230以及恢复单元3240。
该监测单元3210监测多个云流服务器的实时负荷信息。
在这种情况下,该实时负荷信息可以是每一个云流服务器的当前用户数、CPU利用率、GPU利用率以及存储器利用率中的一个或任何组合。
该存储单元3220是用于存储数据的装置,包括主存储器装置和辅助存储器装置,并且存储用于操作云流管理服务器的功能所需的应用程序。该存储单元3220可以大量包括程序区和数据区。在这种情况下,该存储单元3220包括:诸如硬盘、软盘以及磁带的磁性介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;ROM;RAM以及闪速存储器。具体地,根据本发明的存储单元3220存储所述多个云流服务器的特性。
在这种情况下,云流服务器的特性可以是有关该云流服务器的数据。例如,云流服务器的每一个特性都可以是每一个云流服务器的ID、IP地址、端口号、用途、最大连接器数以及app类型中的一个或更多个。
该代表性服务器确定单元3230基于该实时负荷信息来确定所述多个云流服务器当中的代表性服务器和从属服务器。
在这种情况下,代表性服务器确定单元3230可以将未被确定为代表性服务器的云流服务器确定为从属服务器。
在这种情况下,可以有一个代表性服务器,或者可以将多个云流服务器确定为代表性服务器。
根据一种实施方式,代表性服务器确定单元3230可以向代表性服务器发送从属服务器列表,以便能使该代表性服务器请求从属服务器的特性的备份副本。
在这种情况下,当设置了多个代表性服务器时,可以将不同从属服务器列表发送至所述多个代表性服务器中的每一个。
在这种情况下,该代表性服务器可以请求包括在该列表中的从属服务器发送其特性。
根据一种实施方式,该代表性服务器可以从该从属服务器接收该特性,并且可以存储所接收的特性的备份副本。
根据一种实施方式,该代表性服务器确定单元3230可以将所述多个云流服务器划分成多组,并且可以基于该实时负荷信息来确定针对每一组的代表性服务器和从属服务器。
在这种情况下,可以将每一组中具有低负荷的云流服务器确定为代表性服务器,并且可以将该组中的其余云流服务器确定为从属服务器。
当在存储单元3220中出现问题时,恢复单元3240从代表性服务器接收该特性的备份副本,以恢复存储单元3220。
在这种情况下,恢复单元3240可以执行通过网络向和从云流服务器发送和接收数据的功能。这里,恢复单元3240可以包括将被发送信号的频率升频转换并且放大该被发送信号的射频(RF)发送部分、低噪声放大所接收信号并且降频转换所接收信号的频率的RF接收部分等。恢复单元3240可以包括无线通信模块(未示出)和有线通信模块(未示出)中的至少一个。该无线通信模块被配置成根据无线通信方法发送和接收数据。当云流服务器使用无线通信时,该云流服务器可以使用无线网络通信模块、无线LAN通信模块以及无线PAN通信模块中的任一个,以向和从云流管理服务器或另一云流服务器发送和接收数据。该有线通信模块被用于按有线方式发送和接收数据。该有线通信模块可以按有线方式连接至该网络,以向该云流管理服务器或另一云流服务器发送和接收数据。即,该云流服务器可以利用无线通信模块或有线通信模块连接至该网络,并且可以通过该网络向和从云流管理服务器或另一云流服务器发送和接收数据。
在这种情况下,因为该代表性服务器存储从属服务器的特性的备份副本,所以所有云流服务器的所有特性可以通过仅收集有关代表性服务器的信息而加以收集。即,已存储在存储单元中的特性可以在较短时间恢复。
图24是示出图22所示的云流服务器的示例的框图。
参照图24,图22所示的云流服务器包括:存储单元3310、通信单元3320以及控制单元3330。
该存储单元3310是用于存储数据的装置,包括主存储器装置和辅助存储器装置,并且存储用于操作云流服务器的功能所需的应用程序。该存储单元3310可以大量包括程序区和数据区。在这种情况下,该存储单元3310包括:诸如硬盘、软盘以及磁带的磁性介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;ROM;RAM以及闪速存储器。具体地,根据本发明的存储单元3310存储云流服务器的特性。
根据一种实施方式,当云流服务器被云流管理服务器确定为代表性服务器时,存储单元3310还可以存储其从属服务器的特性的备份副本。
通信单元3320执行通过网络向云流管理服务器和另一云流服务器发送和接收数据的功能。这里,通信单元3320包括将被发送信号的频率升频转换并且放大该被发送信号的RF发送部分、低噪声放大所接收信号并且降频转换所接收信号的频率的RF接收部分等。通信单元3320可以包括无线通信模块(未示出)和有线通信模块(未示出)中的至少一个。该无线通信模块被配置成根据无线通信方法发送和接收数据。当云流服务器使用无线通信时,该云流服务器可以使用无线网络通信模块、无线LAN通信模块以及无线PAN通信模块中的任一个,以向和从云流管理服务器或另一云流服务器发送和接收数据。该有线通信模块被用于按有线方式发送和接收数据。该有线通信模块可以按有线方式连接至该网络,以向该云流管理服务器或另一云流服务器发送和接收数据。即,该云流服务器可以利用无线通信模块或有线通信模块连接至该网络,并且可以通过该网络向和从云流管理服务器或另一云流服务器发送和接收数据。具体地,根据本发明的通信单元3320向代表性服务器和云流管理服务器中的一个或两个发送该特性。
在这种情况下,通信单元3320可以采用包括有线方式和无线方式的各种通信方案来发送和接收数据。
在这种情况下,通信单元3320可以包括根据不同通信方案发送数据的多个通信模块。
在这种情况下,在将该特性向代表性服务器发送时,该代表性服务器可以接收该特性并且可以存储其备份副本。另外,在将该特性向云流管理服务器发送时,该云流管理服务器可以存储云流服务器的该特性,以便提供云流服务。
根据一种实施方式,当所述云流服务器被所述云流管理服务器确定为所述代表性服务器时,当从该云流管理服务器接收到请求时,通信单元3320可以发送该备份副本。
在这种情况下,因为云流管理服务器在其存储功能方面有问题,所以可以请求发送该备份副本。当代表性服务器发送该备份副本时,云流管理服务器可以接收该备份副本并且执行恢复。
根据一种实施方式,被确定为代表性服务器的云流服务器可以从云流管理服务器接收从属服务器列表,并且请求该从属服务器发送该备份副本。
当从代表性服务器接收到该请求时,控制单元3330根据云流服务器的负荷来控制发送该特性。
根据一种实施方式,控制单元3330可以执行控制,以使得在该负荷低于预定水平时,将该特性发送至代表性服务器和云流管理服务器。另外,控制单元3330可以执行控制,以使得仅将该特性发送至代表性服务器。
即,当云流服务器具有低负荷并由此留有资源时,该云流服务器可以向代表性服务器发送该特性,以允许该代表性服务器存储该特性的备份副本,并且可以允许云流管理服务器存储该特性。相反地,当云流服务器具有高负荷并由此未留有资源时,该云流服务器可以仅向代表性服务器发送该特性。
在这种情况下,在将该特性仅向代表性服务器发送时,该代表性服务器可以将该特性发送至云流管理服务器,以便能使该云流管理服务器保持最新信息。
图25是示出根据本发明的实施方式的(关于云流管理服务器方面的)云流服务器管理方法的示例的操作流程图。
参照图25,根据本发明的实施方式的云流服务器管理方法包括以下步骤:监测多个云流服务器的实时负荷信息(S3410)。
在这种情况下,该实时负荷信息可以是每一个云流服务器的当前用户数、CPU利用率、GPU利用率以及存储器利用率中的一个或任何组合。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:存储所述多个云流服务器的特性(S3420)。
在这种情况下,云流服务器的特性可以是有关该云流服务器的数据。例如,云流服务器的每一个特性都可以是每一个云流服务器的ID、IP地址、端口号、用途、最大连接器数以及app类型中的一个或更多个。
根据本发明的实施方式的云流服务器管理方法包括以下步骤:基于该实时负荷信息,确定所述多个云流服务器当中的代表性服务器和从属服务器(S3430)。
在这种情况下,可以将未被确定为代表性服务器的云流服务器确定为从属服务器。
在这种情况下,可以有一个代表性服务器,或者可以将多个云流服务器确定为代表性服务器。
根据一种实施方式,确定代表性服务器和从属服务器的步骤可以包括以下步骤:向该代表性服务器发送从属服务器列表,以便使得该代表性服务器能够请求该从属服务器的特性的备份副本。
在这种情况下,当设置了多个代表性服务器时,可以将不同从属服务器列表发送至所述多个代表性服务器中的每一个。
在这种情况下,该代表性服务器可以请求包括在该列表中的从属服务器发送其特性。
根据一种实施方式,该代表性服务器可以从该从属服务器接收该特性,并且可以存储所接收的特性的备份副本。
根据一种实施方式,确定代表性服务器和从属服务器的步骤可以包括以下步骤:将所述多个云流服务器划分成多组,并且基于该实时负荷信息来确定针对每一组的代表性服务器和从属服务器。
在这种情况下,可以将每一组中具有低负荷的云流服务器确定为代表性服务器,并且可以将该组中的其余云流服务器确定为从属服务器。
根据本发明的实施方式的云流服务器管理方法包括以下步骤:检测在所存储的特性中是否出现问题(S3440)。
根据本发明的实施方式的云流服务器管理方法包括以下步骤:当所存储的特性有问题时,从代表性服务器接收该特性的备份副本并且恢复所存储的特性(S3450)。
在这种情况下,因为该代表性服务器存储从属服务器的特性的备份副本,所以所有云流服务器的所有特性可以通过仅收集有关代表性服务器的信息而加以收集。即,已存储在存储单元中的特性可以在较短时间恢复。
图26是示出根据本发明的实施方式的(关于云流服务器方面的)云流服务器管理方法的示例的操作流程图。
参照图26,根据本发明的实施方式的云流服务器管理方法包括以下步骤:存储特性(S3510)。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:当云流服务器未被确定为代表性服务器而是被确定为从属服务器时,从代表性服务器接收对该特性的请求(S3530)。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:确定该云流服务器的负荷(S3540),以及执行控制,以使得在该负荷低于预定水平时,将该特性发送至代表性服务器和云流管理服务器(S3550)。
在这种情况下,在将该特性向代表性服务器发送时,该代表性服务器可以接收该特性并且可以存储其备份副本。另外,在将该特性向云流管理服务器发送时,该云流管理服务器可以存储云流服务器的特性,以便提供云流服务。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:执行控制,以使得在该负荷不低于该预定水平时,仅将该特性发送至代表性服务器(S3552)。
即,当云流服务器具有低负荷并由此留有资源时,该云流服务器可以向代表性服务器发送该特性,以允许该代表性服务器存储该特性的备份副本,并且可以允许云流管理服务器存储该特性。相反地,当云流服务器具有高负荷并由此未留有资源时,该云流服务器可以仅向代表性服务器发送该特性。
在这种情况下,在将该特性仅向代表性服务器发送时,该代表性服务器可以将该特性发送至云流管理服务器,以便使该云流管理服务器能够保持最新信息。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:当该云流服务器被确定为代表性服务器时(S3520),从该云流管理服务器接收从属服务器列表,并且请求该从属服务器发送该备份副本(S3560)。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:接收并存储该从属服务器的该特性的备份副本(S3570)。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:接收来自该云流管理服务器的请求(S3580)。
另外,根据本发明的实施方式的云流服务器管理方法包括以下步骤:发送该备份副本(S3590)。
在这种情况下,因为云流管理服务器在其存储功能方面有问题,所以可以请求发送该备份副本。当代表性服务器发送该备份副本时,云流管理服务器可以接收该备份副本并且执行恢复。
图27是示意性地示出根据本发明的实施方式的云流服务器管理方法的操作流程图。
参照图27,该云流管理服务器3110监测云流服务器3120-1和3120-2的实时负荷信息(S3610、S3611)。
该云流服务器3120-1和3120-2各自发送它们的特性(S3620、S3621)。在接收到该特性时,云流管理服务器3110存储所接收的特性(S3622)。
云流管理服务器3110基于该实时负荷信息,将云流服务器3120-1确定为代表性服务器(S3630)。将未被确定为代表性服务器的云流服务器3120-2确定为从属服务器(S3631)。
在这种情况下,该云流管理服务器3110可以将所述多个云流服务器3120-1和3120-2划分成多组,并且可以基于该实时负荷信息来确定针对每一组的代表性服务器和从属服务器。
该云流管理服务器3110可以向该代表性服务器3120-1发送从属服务器3120-2的列表,以使得该代表性服务器3120-1可以请求该从属服务器3120-2的特性的备份副本。
代表性服务器3120-1请求从属服务器3120-2来发送该从属服务器3120-2的特性。在接收到该请求时,从属服务器3120-2发送该特性(S3640)。
在图27中,从属服务器3120-2已被示出为仅向代表性服务器3120-1发送该特性,然而,从属服务器3120-2可以在负荷低于预定水平时,将该特性发送至代表性服务器3120-1和云流管理服务器3110。否则,该从属服务器3120-2可以仅向代表性服务器发送该特性。
代表性服务器3120-1接收该特性并存储该特性的备份副本(S3641)。
云流管理服务器3110检测到存储单元存在问题(S3650)。
云流管理服务器3110请求代表性服务器3120-1发送该特性的备份副本(S3651)。
代表性服务器3120-1向云流管理服务器3110发送该特性的备份副本(S3660)。
云流管理服务器3110从代表性服务器3120-1接收该特性的备份副本并且恢复存储单元(S3661)。
图27示出了存在两个云流服务器3120-1和3120-2的示例。然而,可以存在更加多的云流服务器。另外,可以存在通过云流管理服务器3110确定的更加多的代表性服务器和从属服务器。
图25、图26以及图27所示的步骤可以按图25、图26以及图27所示的次序、按相反次序或者同时被执行。
根据本发明的云流服务器管理方法可以被实现为可以通过各种计算机装置执行的程序或智能电话app。在这种情况下,该程序或智能电话app可以被记录在计算机可读介质中。该计算机可读介质还可以包括:程序指令、数据文件、数据结构或其组合。记录在介质中的程序指令可以针对本发明具体设计和配置,或者可以公开地被计算机软件领域的技术人员已知和获得。该计算机可读介质的示例包括:诸如硬盘、软盘以及磁带的磁介质;诸如CD-ROM和DVD的光学介质;诸如光磁盘的磁光介质;以及诸如ROM、RAM、闪速存储器等的硬件装置,它们都被专门配置成存储并执行程序指令。除了通过编译器制成的机器语言代码以外,该程序指令的示例还可以包括可通过具有解释器的计算机执行的高级语言代码。上面的示例性硬件装置可以被配置成操作为一个或更多个软件模块,以便执行本发明的操作,且反之亦然。
如上所述,根据本发明的云流服务器管理系统、云流服务器管理方法以及用于其的设备不限于上述实施方式的配置和方法,并且针对这些实施方式的各种修改可以通过选择性地组合全部或一些实施方式来进行。
工业实用性
本发明可以通过确定应用执行画面是否匹配参考图像以检测当该应用在服务器中被执行时的应用错误,来预先防止当该应用在流服务器中被执行时可能出现的错误或故障。本发明可以容易地检测该应用是否在该服务器中正常操作,由此稳定云流服务并增强服务质量。因此,本发明的用于云流服务的应用错误检测技术将被大量利用。
另外,根据本发明,可以利用自动测试脚本来自动化云流服务器的测试,并且还通过寻找在云流服务器的测试期间最大化系统资源利用率的最大负荷点并且执行测试直至该最大负荷点,来缩减总体测试时间。而且,可以通过在云流服务器服务中利用云流服务器的测试结果来向用户提供更有效且恰当的服务,而贡献于工业发展。
另外,本发明涉及一种用于测试提供特定服务的云流服务器是否正常操作的系统。具体地,通过检查提供云流服务的服务器是否正常操作,可以预先防止在发送数据时可能出现在云流服务器中的发送错误或故障,并且还容易检测该云流服务器是否正常操作,由此,稳定云流服务并增强服务质量。因此,本发明可以贡献于工业发展。
根据本发明,还可以利用云流管理服务器来有效管理云流服务器。
根据本发明,还可以确定云流服务器当中的代表性服务器,并且存储有关云流服务器的信息的备份副本。
根据本发明,还可以从代表性服务器接收备份副本,并且当在云流管理服务器的数据库中出现问题时,快速执行恢复。
根据本发明,还可以在服务因云流管理服务器的数据库的问题而停止时,按尽可能短的时间恢复该服务。