用于网络性能测试的多任务调度方法

文档序号:7668591阅读:214来源:国知局
专利名称:用于网络性能测试的多任务调度方法
技术领域
本发明涉及一种用于网络性能测试的多任务调度方法。
技术背景目前,网络性能测试过程中测试任务的处理模块对多任务的调度方法一般 是串行处理,即任务的处理模块处理完毕一个任务后,再处理下一个任务。如 果任务的处理模块一次可以处理多个任务,则同时处理所有的任务,当所有需 要处理的任务都完成后,返回处理结果,并开始处理新出现的任务。如果每个任务所需的执行时间各不相同,则某个处理模块在同时处理多个 任务时,就会因为各个任务的执行时间的不同,导致所有的任务都处理完毕才 能返回。这样的结果是时间较短的任务因为要等其它时间较长的任务完成后才 能得到处理结果。例如当前任务的个数M二6,该6个任务所需的执行时间为M1二18秒,M23秒, M345秒,M4二3秒,M5二7秒,M6二30秒,当前空闲的处理模块的个数I^2;按照目 前的调度方法, 一般是按照任务的先后顺序依次进行处理,假设第一个处理模 块处理M1、 M3和M5,共需要等候时间最长的任务M1处理完后(即18秒后)才能 返回M1、 M3和M5的处理结果;第二个处理模块处理M2、 M4和M6,共需要等候时 间最长的任务M6处理完后(即30秒后)才能返回M2、 M4和M6的处理结果;这样, M5的执行时间为7秒,却需要再等候ll秒才能得到处理结果;同样,M2的执行时 间为5秒,却需要再等候25秒才能得到处理结果。最终导致整个网络性能测试的 处理速度慢,效率低。发明内容本发明目的是提供一种用于网络性能测试的多任务调度方法,其解决了现 有网络性能测试系统的处理模块在处理多任务时效率低的技术问题。本发明的技术解决方案是-
一种用于网络性能测试的多任务调度方法,包括以下步骤
步骤l]网络性能测试系统获取当前测试任务的个数M,获取当前空闲的处
理模块的个数N;
步骤2]网络性能测试系统为每个任务标记其所需的执行时间,按执行时间 的长短进行排序,并存储到队列Q中;
步骤3]网络性能测试系统将队列Q分割成S段,其中S二N;
步骤4]网络性能测试系统将S段内的任务依次分给当前空闲的N个处理模 块进行处理;
步骤5]每个处理模块处理完毕后立即向网络性能测试系统返回处理结果。 上述多任务调度的方法还包括-
步骤6]当某个处理模块返回处理结果后,网络性能测试系统将该处理模块 标记为空闲状态,然后网络性能测试系统重复步骤1]至步骤5]。 上述将队列Q分割成S段的具体步骤是 将队列Q分割成S段,使每段内的任务数取接近M/S的整数。 本发明具有如下优点
1、 本发明将网络性能测试中所有的任务标记其所需的执行时间,再按执行 时间的长短进行排序,并存储到队列Q中,则相邻的任务所用的执行时间相差不 大,如果处理模块的个数越多,则队列Q被分割的段数越多,每段内任务的执行 时间就会非常接近。这样可以大大提高每个任务的执行时间,相应縮短整个网 络性能测试过程的执行时间,这对于需要占用网络资源的主动测量来说尤其明 显。
2、 本发明是按照当前的所有任务进行排序,则不同时段的测试任务会有很 大不同,但是,按照本发明方法,任何时候分配给其中任意一个处理模块的多 个任务的时间段都相差不大,都可以保证处理模块等待其它任务的时间是最短 的。这种等待时间虽然每次节省的不多,但累计下来效果却是非常明显。


'
图1为本发明方法流程图。
具体实施例方式
一种用于网络性能测试的多任务调度方法,详见图l,具体包括以下步骤 网络性能测试系统获取当前测试任务的个数,记为M,获取当前空闲的处理模块 的个数,记为N;网络性能测试系统为每个任务标记其所需的执行时间,按执
行时间的长短进行排序,并存储到队列Q中;网络性能测试系统将队列Q分割成S 段,其中S^N,每段内的任务数取接近M/S的整数;网络性能测试系统将N段内的
任务依次分给当前空闲的N个处理模块进行处理;每个处理模块处理完毕后立即 向网络性能测试系统返回处理结果;当某个处理模块返回处理结果后,网络性 能测试系统将该处理模块标记为空闲状态,然后网络性能测试系统重新获取当 前任务的个数和空闲的处理模块的个数,进行下一次网络性能测试。
例如当网络性能测试系统需要进行网络性能测试过程时,网络性能测试
系统先获取当前任务的个数M,假设当前任务的个数M二6,然后网络性能测试系
统获取当前空闲的处理模块的个数N,假设当前空闲的处理模块的个数^2;然
后网络性能测试系统为这6个任务标记其所需的执行时间,假设6个任务所需 的执行时间为Ml=18秒,M2二5秒,M3二15秒,M4=3秒,M5二7秒,M6=30秒;则 网络性能测试系统再按执行时间的长短进行排序,并存储到队列Q中,则存储 到队列Q中的M1' =3秒,M2' =5秒,M3' =7秒,M4' =15秒,M5' 二18秒,M6' =30秒;则网络性能测试系统将队列Q分割成两段(N=2),每段任务数为3个 (M/N=3);然后系统将Ml' 、 M2'和M3'分配给第一个空闲的处理模块进行 处理,将M4' 、 M5'和M6'分配给第二个空闲的处理模块进行处理。则7秒钟 后,第一个处理模块处理完所分配的测试任务并返回处理结果,网络性能测试 系统将其标记为空闲状态;这个过程中任务M4 (也就是M1')在3秒钟内执行 完后,只需要等候4秒钟就可以返回处理结果;第二个处理模块30秒后可处理 完所分配的测试任务并返回处理结果,这个过程中任务M3 (也就是M4')在15 秒钟内执行完后,只需要等候15秒钟就可以返回处理结果。
背景技术
中的调度方法中,第一个处理模块需要18秒执行时间,第二个处 理模块需要30秒执行时间;与背景技术中的调度方法相比,本发明方提第二个 处理模块的执行时间不变,但是第一个处理模块只需要7秒执行时间,效率明 显提咼。
背景技术
中的调度方法中,任务Ml、 M3和M5需要18秒才能返回处理结果, 其中任务M5的等候时间最长,为ll秒;任务M2、 ^M和M6需要30秒才能返回 处理结果,其中任务M4的等候时间最长,为27秒。与背景技术中的调度方法 相比,本发明方法中,任务M2、 M4和M5需要7秒返回处理结果,其中任务M4 的等候时间最长,为4秒;任务M1、 M3和M6需要30秒返回处理结果,其中任 务M3的等候时间最长,为15秒,处理速度明显加快。
如果当前任务的个数M^,当前空闲的处理模块的个数N4,则网络性能测 试系统将队列Q分割成两段(N=2),第一段的任务数为3个,第一段的任务数 为4个;或者第一段的任务数为4个,第一段的任务数为3个,这里只需要取 接近M/N-3.5的整数即可。
权利要求
1、一种用于网络性能测试的多任务调度方法,其特征在于该方法包括以下步骤步骤1]网络性能测试系统获取当前测试任务的个数M,获取当前空闲的处理模块的个数N;步骤2]网络性能测试系统为每个任务标记其所需的执行时间,按执行时间的长短进行排序,并存储到队列Q中;步骤3]网络性能测试系统将队列Q分割成S段,其中S=N;步骤4]网络性能测试系统将S段内的任务依次分给当前空闲的N个处理模块进行处理;步骤5]每个处理模块处理完毕后立即向网络性能测试系统返回处理结果。
2、 根据权利要求l所述的用于网络性能测试的多任务调度方法,其特征在 于所述多任务调度的方法还包括步骤6]当某个处理模块返回处理结果后,网络性能测试系统将该处理模块 标记为空闲状态,然后网络性能测试系统重复步骤1]至步骤5]。
3、 根据权利要求1或2所述的用于网络性能测试的多任务调度方法,其特征 在于所述将队列Q分割成S段的具体步骤是将队列Q分割成S段,使每段内的任务数取接近M/S的整数。
全文摘要
一种用于网络性能测试的多任务调度方法,网络性能测试系统首先获取当前测试任务的个数,获取当前空闲的处理模块的个数,按每个任务执行时间的长短进行排序并存储到队列中;然后将队列分割成与处理模块个数相同的段;接着将每段内的任务依次分给当前空闲的处理模块进行处理;每个处理模块处理完毕后立即向网络性能测试系统返回处理结果;网络性能测试系统将该处理模块标记为空闲状态,然后重复以上步骤。本发明解决了现有网络性能测试系统的处理模块在处理多任务时效率低的技术问题,可以大大提高每个任务的执行时间,相应缩短整个网络性能测试过程的执行时间。
文档编号H04L12/26GK101217418SQ20071030072
公开日2008年7月9日 申请日期2007年12月28日 优先权日2007年12月28日
发明者关福俊, 军 曹, 李轶军 申请人:西安西电捷通无线网络通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1