一种用于应用软件云测试的任务调度系统的制作方法

文档序号:6524396阅读:127来源:国知局
一种用于应用软件云测试的任务调度系统的制作方法
【专利摘要】本发明适用于信息【技术领域】,提供了一种用于应用软件云测试的任务调度系统,包括分布式数据库服务器、任务调度服务器、消息队列服务器和数据处理服务器,所述分布式数据库服务器用于接收应用软件云测试平台的测试任务;所述任务调度服务器用于根据所述测试任务,以及根据所述应用软件云测试平台的测试服务器集群中的设备运行状况进行任务调度,向所述测试服务器集群派发所述测试任务;所述消息队列服务器用于收集所述测试服务器集群反馈的任务状态;所述数据处理服务器用于将所述消息队列服务器收集的所述任务状态发送给所述分布式数据库服务器以进行任务更新。本发明分散了整个任务调度系统的调度压力,保证了任务调度系统的稳定性和可靠性。
【专利说明】一种用于应用软件云测试的任务调度系统
【技术领域】
[0001]本发明属于信息【技术领域】,尤其涉及一种用于应用软件云测试的任务调度系统。【背景技术】
[0002]当前,移动操作系统的碎片化现象日趋严重,使得基于移动操作系统的应用软件测试工作困难重重,基于上述背景,应用软件的云测试平台应运而生,其为测试人员提供了一个自动化的云测试环境,同时提供测试报告和优化建议,以此来提高应用软件的测试效率。
[0003]在应用软件云测试过程中,任务调度是一个重要的环节,然而,目前主流的任务调度系统大多都不能很好地支持跨节点的集群任务调度。以任务调度系统quartz为例,其任务调度功能都集成在一个节点上,使得该节点与集群的每个节点都有消息往来,从而加大了集群的负担,导致整个任务调度系统的稳定性和可靠性受到了影响。

【发明内容】

[0004]本发明实施例的目的在于提供一种应用软件云测试的任务调度方法,旨在解决目前任务调度系统所有的任务调度功能都集成在一个节点上,导致任务调度系统的稳定性和可靠性差的问题。
[0005]本发明实施例是这样实现的,一种用于应用软件云测试的任务调度系统,其特征在于,所述系统包括分布式数据库服务器、任务调度服务器、消息队列服务器和数据处理服务器,
[0006]所述分布式数据库服务器用于接收应用软件云测试平台的测试任务;
[0007]所述任务调度服务器用于根据所述分布式数据库服务器接收的所述测试任务,以及根据所述应用软件云测试平台的测试服务器集群中的设备运行状况进行任务调度,向所述测试服务器集群派发所述测试任务;
[0008]所述消息队列服务器用于收集所述测试服务器集群反馈的任务状态;
[0009]所述数据处理服务器用于将所述消息队列服务器收集的所述任务状态发送给所述分布式数据库服务器以进行任务更新。
[0010]本发明实施例提供的任务调度系统可以用于应用软件云测试平台的任务调度中,作为云测试平台的一个子集群存在,其在任务调度的过程中,将任务的派发与任务状态的回收分散到不同服务器上实现,由此分散了整个任务调度系统的调度压力,从而进一步保证了任务调度系统的稳定性和可靠性。
【专利附图】

【附图说明】
[0011]图1是本发明实施例提供的应用软件云测试的任务调度系统的结构框图;
[0012]图2是本发明实施例提供的用于应用软件云测试的任务调度系统的结构框图。【具体实施方式】
[0013]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0014]本发明实施例提供的任务调度系统可以用于应用软件云测试平台的任务调度中,作为云测试平台的一个子集群存在,其在任务调度的过程中,将任务的派发与任务状态的回收分散到不同服务器上实现,由此分散了整个任务调度系统的调度压力,从而进一步保证了任务调度系统的稳定性和可靠性。
[0015]图1示出了本发明实施例提供的云测试平台的结构框图,为了便于说明,仅示出了与本实施例相关的部分。
[0016]参照图1,该云测试平台主要包括了任务调度集群11和测试服务器集群12,在本发明实施例中,任务调度系统是整个应用软件云测试平台的核心,其部署在任务调度集群11中,主要需要具备任务派发、任务状态更新、设备运行状况更新等核心功能。在具体的任务调度过程中,任务调度系统在接到测试任务之后,需要将测试任务派发给测试服务器集群12以进行任务执行,同时接收测试服务器集群12返回的任务执行情况,以更新最新的任务状态。与此同时,由于需要根据测试服务器集群12中的每台测试设备的实际运行状况来进行任务调度,因此,任务调度系统也必须及时地掌握测试服务器集群12中的设备运行状况,保证测试任务能够被合理、高效地分配给合适的测试设备。
[0017]而测试任务的执行部署在了测试服务器集群12中,测试服务器集群12中包括了多台测试服务器,且每台测试服务器均同时与多台测试设备保持通信关系,这些测试设备包括但不限于平板、手机等移动终端,通过测试服务器集群12所集合的测试设备,能够实现应用软件的云测试。
[0018]以下,对本发明实施例提供的用于应用软件云测试的任务调度系统的架构进行详细阐述:
[0019]图2示出了本发明实施例提供的用于应用软件云测试的任务调度系统的结构框图,为了便于说明,仅示出了与本实施例相关的部分。
[0020]参照图2,该任务调度系统为一个服务器集群,该服务器集群可以由分布式数据库服务器21、任务调度服务器22、消息队列服务器23和数据处理服务器24组成,其中:
[0021]分布式数据库服务器21用于接收应用软件云测试平台的测试任务,其获取应用软件云测试平台下发的任务信息,该任务信息指示了当前应用软件云测试平台需要执行的测试任务,即任务调度系统当前需要进行调度分配的测试任务。
[0022]任务调度服务器22用于根据分布式数据库服务器21接收的测试任务,以及根据应用软件云测试平台的测试服务器集群中的设备运行状况进行任务调度,向测试服务器集群派发测试任务,实现任务调度。
[0023]消息队列服务器23用于收集测试服务器集群反馈的任务状态。
[0024]具体地,测试服务器集群反馈的任务状态包括其下的测试设备对测试任务的完成情况以及在测试任务的执行过程中由测试设备生成的测试数据。
[0025]数据处理服务器24用于处理消息队列服务器23收集的任务状态,并将任务状态发送给分布式数据库服务器以进行任务更新。[0026]在图1所示的任务调度系统中,将任务派发与任务状态更新分别部署在不同的服务器节点上来实现,从而分散了整个系统的调度压力,并且将任务信息和设备信息在数据库中进行备份,使得任务调度系统一旦崩溃也能很快地恢复。
[0027]接下来,结合图2对任务调度系统的各个组成部分进行进一步阐述:
[0028]分布式数据库服务器21还用于根据数据处理服务器24发送的任务状态,对本地存储的任务列表进行更新,其中,任务列表中展示了当前未完成的测试任务,以方便任务调度服务器22及时跟进测试任务的完成情况,对未完成的测试任务进行二次调度。在本实施例中,当前未完成的测试任务均以队列的形式存储在分布式数据库服务器21的任务列表中。
[0029]进一步地,作为本发明的一个实施例,整个任务调度系统所掌握的测试设备的实际运行状况也可以存储在分布式数据库服务器21中,具体地:
[0030]分布式数据库服务器21还用于存储设备列表,该设备列表中展示了测试服务器集群的设备运行状况。
[0031]在本实施例中,通过将任务列表和设备列表均备份在分布式数据库服务器21中,一旦任务调度系统发生了崩溃,其也能很快地通过数据备份来实现恢复,由此提高了任务调度系统的可靠性。
[0032]进一步地,作为本发明的一个实施例,整个任务调度系统所掌握的测试设备的实际运行状况也可以存储在任务调度服务器22中,具体地:
[0033]任务调度服务器22还用于存储设备列表,该设备列表中展示了测试服务器集群的设备运行状况。
[0034]在本实施例中,分布式数据库服务器21和/或任务调度服务器22中存储的设备列表可以根据测试服务器集群的设备运行状况进行实时更新,具体地:
[0035]消息队列服务器23还用于收集测试服务器集群发送的设备运行状况;
[0036]数据处理服务器24还用于将设备运行状况发送给分布式数据库服务器21和/或任务调度服务器22,以使分布式数据库服务器21和/或任务调度服务器22更新所述设备列表。
[0037]在本实施例中,分布式数据库服务器21和/或任务调度服务器22接收到的设备实时运行状况均以队列的形式存储在设备列表中,即,设备列表中显示的是应用软件云测试平台中当前运行状况正常、能够执行测试任务的设备。与此同时,设备列表中还记录了设备对应的软硬件环境,以方便任务调度服务器22根据任务的软硬件要求进行合理的任务调度。
[0038]对于任务调度服务器22来说,其需要定期扫描分布式数据库服务器21中存储的任务列表,以保证其能够实时掌握到应用软件云测试平台新下发的测试任务,以及实时掌握测试任务的完成情况。当任务调度服务器22发现任务列表进行了更新之后,其会进行新一轮的任务调度,根据新任务中对设备的软硬件要求进行设备匹配,以将任务调度至合适的测试设备中执行。
[0039]在本实施例中,测试服务器集群会将其设备更新、任务状态更新情况发送到消息队列服务器23中,而消息队列服务器23会周期性地将其接收到的来自测试服务器集群的信息发送给数据处理服务器24。[0040]具体地,消息队列服务器23可以每隔第一预设周期将收集到的任务状态发送给数据处理服务器24,同时,消息队列服务器23可以每隔第二预设周期将收集到的测试服务器集群发送的设备运行状况发送给数据处理服务器24,以实现任务状态和设备运行状况的定时更新。在具体实现中,第一预设周期和第二预设周期的周期长度可以相等。
[0041]在数据处理服务器24中,对消息队列服务器23发送的信息进行处理,一方面,反馈的任务状态只发送给分布式数据库服务器21,由分布式数据库服务器21进行更新存储,而不经过任务调度服务器22 ;另一方面,反馈的设备状态会同时发送给任务调度服务器22和分布式数据库服务器21,以便于任务调度服务器22和分布式数据库服务器21及时更新各自本地存储的设备列表。
[0042]相比于现有的任务调度系统,本发明实施例提供的任务调度系统中,任务调度服务器22这一个节点只负责任务调度过程中的任务派发,而不负责任务状态的回收,同时,任务调度服务器22是通过HTTP请求的方式向测试服务器集群派发测试任务的。
[0043]本发明实施例提供的任务调度系统可以用于应用软件云测试平台的任务调度中,作为云测试平台的一个子集群存在,其在任务调度的过程中,将任务的派发与任务状态的回收分散到不同服务器上实现,由此分散了整个任务调度系统的调度压力,从而进一步保证了任务调度系统的稳定性和可靠性。
[0044]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种用于应用软件云测试的任务调度系统,其特征在于,所述系统包括分布式数据库服务器、任务调度服务器、消息队列服务器和数据处理服务器, 所述分布式数据库服务器用于接收应用软件云测试平台的测试任务; 所述任务调度服务器用于根据所述分布式数据库服务器接收的所述测试任务,以及根据所述应用软件云测试平台的测试服务器集群中的设备运行状况进行任务调度,向所述测试服务器集群派发所述测试任务; 所述消息队列服务器用于收集所述测试服务器集群反馈的任务状态; 所述数据处理服务器用于将所述消息队列服务器收集的所述任务状态发送给所述分布式数据库服务器以进行任务更新。
2.如权利要求1所述的系统,其特征在于,所述分布式数据库服务器还用于根据所述数据处理服务器发送的所述任务状态,对本地存储的任务列表进行更新,所述任务列表中包括了当前未完成的测试任务。
3.如权利要求1所述的系统,其特征在于,所述分布式数据库服务器还用于存储设备列表,所述设备列表展示了所述测试服务器集群的设备运行状况。
4.如权利要求1所述的系统,其特征在于,所述任务调度服务器还用于存储设备列表,所述设备列表展示了所述测试服务器集群的设备运行状况。
5.如权利要求3或4所述的系统,其特征在于,所述消息队列服务器还用于收集所述测试服务器集群发送的设备运行状况; 所述数据处理服务器还用于将所述设备运行状况发送给所述分布式数据库服务器和/或所述任务调度服务器,以使所述分布式数据库服务器和/或所述任务调度服务器更新所述设备列表。
6.如权利要求1所述的系统,其特征在于,所述任务调度服务器还用于定期扫描所述分布式数据库服务器,以实时获取到所述应用软件云测试平台新下发的测试任务。
7.如权利要求1所述的系统,其特征在于,所述任务调度服务器通过HTTP请求的方式向所述测试服务器集群派发所述测试任务。
8.如权利要求1所述的系统,其特征在于,所述消息队列服务器每隔第一预设周期将收集到的所述任务状态发送给所述数据处理服务器。
9.如权利要求4所述的系统,其特征在于,所述消息队列服务器每隔第二预设周期将收集到的所述测试服务器集群发送的设备运行状况发送给所述数据处理服务器。
10.如权利要求1所述的系统,其特征在于,所述任务状态包括所述测试任务的完成情况和执行所述测试任务过程中生成的测试数据。
【文档编号】G06F11/36GK103678133SQ201310700073
【公开日】2014年3月26日 申请日期:2013年12月18日 优先权日:2013年12月18日
【发明者】曾经纬, 贝振东, 喻之斌, 徐文星, 须成忠 申请人:中国科学院深圳先进技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1