一种分布式测试资源调度方法技术

技术编号:38245391 阅读:11 留言:0更新日期:2023-07-25 18:06
本发明专利技术公开了一种分布式测试资源调度方法,包括如下步骤:接收至少一个任务节点发送的测试任务请求信息;S2:根据接收的测试任务请求信息得到测试任务所需的资源类型,获取满足资源类型条件的至少一个资源节点的工作状态队列信息;S3:根据测试任务请求信息和工作状态队列信息执行资源调度,以任务节点中待处理的每个测试任务依序完成且总时间最短生成调度结果,依据调度结果分配资源节点;向任务节点发送调度结果,向依据调度结果分配的资源节点发送至少一个工作请求。本发明专利技术通过优先级调度使得任务队列较长时,依旧可以稳定的运行各项任务,有效保证了长串任务和短任务交替执行时,测试系统的执行效率。测试系统的执行效率。测试系统的执行效率。

【技术实现步骤摘要】
一种分布式测试资源调度方法


[0001]本专利技术属于计算机测试领域,尤其涉及一种分布式测试资源调度方法。

技术介绍

[0002]分布式测试平台将一个多步骤或多模块的测试任务或测试用例分解成许多小的部分,分配给多台计算机并行处理。在进行资源调度时,一般由调度计算机根据需要执行的任务进行分配。
[0003]针对分布式测试,在现有的资源调度方法中,调度计算机一般通过预估资源节点的处理能力,为每个请求分配相应的资源节点。而测试任务本身存在资源的串行使用要求,如仅根据资源节点的处理能力进行分配,会导致测试任务无法在最短时间完成,则造成整个分布式测试系统调度不合理。此外,不同资源的处理时间不同,且存在串行时,容易造成资源节点处理的阻塞。因此,现有技术中容易造成资源节点在资源分配不合理,从而导致资源利用率下降的技术问题。

技术实现思路

[0004]本专利技术的技术目的是提供一种分布式测试资源调度方法,以解决测试资源利用率低问题。
[0005]为解决上述问题,本专利技术的技术方案为:
[0006]一种分布式测试资源调度方法,包括如下步骤:
[0007]S1:接收至少一个任务节点发送的测试任务请求信息,其中,测试任务请求信息表示对应的任务节点中至少有一个待处理的测试任务,测试任务请求信息中至少包括测试任务需使用的资源类型以及资源使用时间信息;
[0008]S2:根据接收的测试任务请求信息得到测试任务所需的资源类型,获取满足资源类型条件的至少一个资源节点的工作状态队列信息;/>[0009]S3:根据测试任务请求信息和工作状态队列信息执行资源调度,以任务节点中待处理的每个测试任务依序完成且总时间最短生成调度结果,依据调度结果分配资源节点;即向任务节点发送调度结果,向依据调度结果分配的资源节点发送至少一个工作请求。
[0010]进一步优选地,在步骤S1执行之前,还包括如下步骤:
[0011]S01:通过请求通信方式将任务节点与调度节点建立通信,并从调度节点向任务节点发送通信建立信息;
[0012]S02:接收到通信建立信息后,向调度节点发送测试任务请求信息;
[0013]S03:待调度节点接收到测试任务请求信息后,向建立通信的任务节点发送测试任务接收确认信息。
[0014]进一步优选地,在执行步骤S03的同时,还包括如下步骤:
[0015]每当调度节点收到测试任务请求信息时,生成对应信息的时间戳;
[0016]依据接收到的测试任务请求信息相对应时间戳的先后顺序,在调度节点中建立测
试任务请求队列。
[0017]每收到测试任务请求消息后,将消息中的测试任务更新至测试任务请求队列。
[0018]其中,步骤S2具体包括如下步骤:
[0019]以固定时间间隔向所有的资源节点发送状态请求信息,状态请求信息包括时间戳;
[0020]待资源节点接收到状态请求信息后,向调度节点反馈各资源节点的资源节点状态信息,资源节点状态信息包括状态请求信息中对应的时间戳,对应资源节点当前执行工作信息及其工作剩余时间;
[0021]待调度节点接收到资源节点状态信息后,依据资源节点状态信息中的时间戳形成资源节点的工作状态队列信息。
[0022]其中,步骤S3具体包括如下步骤:
[0023]建立资源节点调度表,包括资源节点最近两次的工作状态队列信息;
[0024]发送状态请求信息时,比较最近两个时间节点下资源节点的工作状态队列信息,确认资源节点掉线时,工作是否完成;
[0025]将待处理测试任务依据调度结果分配至各资源节点。
[0026]具体地,测试任务请求信息携带有任务节点的任务请求集合{M1},任务请求集合{M1}的数据结构模型为:
[0027]其中:num1为任务请求的序号,为资源需求集合;
[0028]资源需求集合的数据结构模型为:
[0029]其中:num2为当前资源需求在资源需求集合中的序号,RS为资源需求类型,PR为前序资源需求在资源需求集合中的序号,若当前资源无前序资源需求时,该值为0。
[0030]具体地,测试任务请求队列{M2}的数据结构模型为:
[0031]其中:TID为当前测试任务的ID号,time为调度节点收到测试任务请求信息时的时间戳,为资源需求集合;
[0032]资源需求集合的数据结构模型为:
[0033]其中:num3为当前资源需求在资源需求集合中的序号,RS为资源需求类型,PR为前序资源需求在资源需求集合中的序号,若当前资源无前序资源需求时,该值为0,Node为工作的资源节点的序号,Status为资源需求状态,包括待满足,已满足,已完成三种状态,pr为资源需求的优先级。
[0034]具体地,资源节点调度表{T}的数据结构模型为T{RS

,Node,Status{L},Status{C}};
[0035]其中,RS

为资源节点类型,Node为工作的资源节点序号,Status{L}和Status{C}分别为上一拍和当前拍的资源节点状态信息,其数据结构为Status{WorkNum,StartTime};
[0036]其中,WorkNum为工作序号,StartTime为工作开始时间,其时间为收到测试任务请
求信息时对应的时间戳。
[0037]具体地,收到资源节点状态信息后,根据资源节点的序号更新资源节点调度表中对应节点状态;
[0038]具体为:比较上一拍与当前拍的资源节点状态信息,若上一拍有工作,当前拍无工作,则认为工作对应的资源需求完成,更新测试任务请求队列中资源需求集合的状态为已完成;
[0039]若上一拍有工作,当前拍未收到资源节点状态信息,则认为工作对应的资源需求无法完成,更新测试任务请求队列中资源需求集合的状态为待满足;
[0040]若上一拍和当前拍均有工作,比较两拍的工作序号,若一致,则认为正在完成分配的工作;若不一致,则认为上一拍的工作对应的资源需求完成,更新测试任务请求队列中资源需求集合的状态为已完成,当前拍的工作对应的资源需求已满足,更新测试任务请求队列中资源需求集合的状态为已满足;
[0041]若上一拍无工作,当前拍有工作,则认为当前拍的工作对应的资源需求已满足,更新测试任务请求队列中资源需求集合的状态为已满足;
[0042]遍历测试任务请求队列中资源需求集合中状态为待满足的资源需求,根据其前序资源需求个数分配优先级;
[0043]将所有待分配状态且优先级不为0的资源需求依据优先级降序排序,优先级一致时,依据序号先后进行排序;依据排序顺序对资源需求分配资源节点,分配当前拍无工作的资源节点;若有资源需求未分配到资源节点,则将其优先级+1。
[0044]本专利技术由于采用以上技术方案,使其与现有技术相比具有以下的优点和积极效果:
[0045]与现有技术相比,本专利技术提供一种分布式本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种分布式测试资源调度方法,其特征在于,包括如下步骤:S1:接收至少一个任务节点发送的测试任务请求信息,其中,所述测试任务请求信息表示对应的任务节点中至少有一个待处理的测试任务,所述测试任务请求信息中至少包括测试任务需使用的资源类型以及资源使用时间信息;S2:根据接收的所述测试任务请求信息得到测试任务所需的资源类型,获取满足资源类型条件的至少一个资源节点的工作状态队列信息;S3:根据所述测试任务请求信息和所述工作状态队列信息执行资源调度,以任务节点中待处理的每个测试任务依序完成且总时间最短生成调度结果,依据所述调度结果分配资源节点;即向任务节点发送所述调度结果,向依据所述调度结果分配的资源节点发送至少一个工作请求。2.根据权利要求1所述的分布式测试资源调度方法,其特征在于,在所述步骤S1执行之前,还包括如下步骤:S01:通过请求通信方式将任务节点与调度节点建立通信,并从调度节点向任务节点发送通信建立信息;S02:接收到所述通信建立信息后,向调度节点发送所述测试任务请求信息;S03:待调度节点接收到所述测试任务请求信息后,向建立通信的任务节点发送测试任务接收确认信息。3.根据权利要求2所述的分布式测试资源调度方法,其特征在于,在执行所述步骤S03的同时,还包括如下步骤:每当调度节点收到所述测试任务请求信息时,生成对应信息的时间戳;依据接收到的所述测试任务请求信息相对应时间戳的先后顺序,在调度节点中建立测试任务请求队列。4.根据权利要求3所述的分布式测试资源调度方法,其特征在于,每收到测试任务请求消息后,将消息中的测试任务更新至所述测试任务请求队列。5.根据权利要求1所述的分布式测试资源调度方法,其特征在于,所述步骤S2具体包括如下步骤:以固定时间间隔向所有的资源节点发送状态请求信息,所述状态请求信息包括时间戳;待资源节点接收到所述状态请求信息后,向调度节点反馈各资源节点的资源节点状态信息,所述资源节点状态信息包括所述状态请求信息中对应的时间戳,对应资源节点当前执行工作信息及其工作剩余时间;待调度节点接收到所述资源节点状态信息后,依据资源节点状态信息中的时间戳形成资源节点的所述工作状态队列信息。6.根据权利要求5所述的分布式测试资源调度方法,其特征在于,所述步骤S3具体包括如下步骤:建立资源节点调度表,包括资源节点最近两次的所述工作状态队列信息;发送所述状态请求信息时,比较最近两个时间节点下资源节点的所述工作状态队列信息,确认资源节点掉线时,工作是否完成;将待处理测试任务依据所述调度结果分配至各资源节点。
7.根据权利要求1至6任意一项所述的分布式测试资源调度方法,其特征在于,所述测试任务请求信息携带有任务节点的任务请求集合{M1},所述任务请求集合{M1}的数据结构模型为:其中:num1为任务请求的序号,为资源需求集合;所述资源需求集合的数据结构模型为:...

【专利技术属性】
技术研发人员:胡逸琳马海燕于清华尹龙雯刘涛
申请(专利权)人:上海航天计算机技术研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1