一种通信测试系统中多业务处理模型及处理方法

文档序号:7870697阅读:112来源:国知局
专利名称:一种通信测试系统中多业务处理模型及处理方法
技术领域
本发明涉及移动通信领域,特别涉及自动测试系统的大容量多业务测试系统的控制和管理方法。
背景技术
在现有的通信测试系统,特别是室内分布自动测试系统中,核心控制程序扮演着关键的角色,其担负着整个软件系统的业务处理和控制管理的功能。其核心控制程序普遍采用串行业务处理的流程,处理系统所触发的各种业务流程;这样的机制虽然可以解决系统的控制和业务处理问题,但是处理能力受到并发线程数 和硬件处理能力的限制。当大容量的业务需要同时处理时,比如并发流程超过2000个时,这种处理机制就容易产生流程互斥,处理效率低下,甚至出现死机等问题,造成资源耗费严重。而在多CPU的硬件资源中所采用的并发线程处理率方法中,普遍情况也是单CPU对应单线程,通过增加多个CPU数量达到提高处理能力目的,例如高端服务器。这种方法对硬件资源非常高。在普通的小型通信系统中往往不太适用。

发明内容
本发明的目的在于克服现有技术的缺点与不足,提供一种可以处理大容量多业务的处理模型。本发明的另一目的在于,提供一种基于上述模型的多业务处理方法。为了达到上述第一目的,本发明采用以下技术方案本发明通信测试系统中多业务处理模型,包括状态处理端以及与之信号连接的控制调度端,所述状态处理端用于并行地处理测试任务业务的各循环的状态;所述控制调度端用于对测试任务业务的管理和控制,包括接收来自接口的测试任务业务,给所述业务配置坐席号ID和对应处理线程ID。优选的,所述状态处理端包括坐席状态机、线程池和数据打包模块,所述坐席状态机和线程池信号连接,所述线程池和数据打包模块信号连接;所述坐席状态机提供n*m个矩阵式的坐席位置,供各个测试任务业务占用,提供测试任务业务状态和对应线程的配置通道;所述线程池测试过程控制模块所创建的处理流程均在这里统一运行和处理对应的业务,所述数据打包模块负责测试任务业务的测试结果数据的打包和分发。优选的,所述控制调度端包括测试过程控制模块以及与测试过程控制模块连接的接口,所述测试过程控制模块分别与状态处理端的坐席状态机、线程池及数据打包模块信号连接;所述接口负责接收来自客户输入的测试任务和业务;所述测试过程控制模块,提供对接口数据的控制,对坐席状态池ID分配和ID号的取余运算,绑定线程ID和对应的坐席ID。优选的,所述测试过程控制模块与坐席状态池信号交互时,控制和配置线程ID和坐席状态池ID的关系;所述测试过程控制模块与线程池信号交互时,调度线程池的线程;所述测试过程控制模块与数据打包模块信号交互时,协助数据打包模块完成测试结果数据的打包。 优选的,在坐席状态池矩阵中,每一行代表一个测试任务业务流程的信息,所述状态包含流程ID、当前状态以及控制时间,所述流程ID是唯一的,由测试过程控制模块统一分配。优选的,所述状态坐席池包括状态ID和坐席ID,状态ID描述了各种测试任务业务的不同状态,坐席ID描述了坐席池的各个ID号。为了达到上述第二目的,本发明采用以下技术方案本发明基于上述通信测试系统中多业务处理模型的处理方法,包括下述步骤S101、当测试任务的业务由接口到达测试过程控制模块,所述测试过程控制模块启动并准备进入下一步;S102、测试过程控制模块快速查看坐席池目前是否有空席位;如果有空坐席,则随机选择某一空闲的坐席池,配置给测试任务业务并为其坐席配置ID号;如果没有空坐席,则选择等待,等待超时后释放CPU资源;S103、给上述坐席ID号取模为线程数η的余数,根据余数的不同将测试任务业务配置到对应的空闲坐席池中,并捆绑该坐席内的测试任务业务和对应ID的线程;S104、更新测试任务业务的状态,等待对应的线程来处理;S105、若测试任务业务被处理后,则将状态更新至下一状态;S106、当测试任务业务的状态变迁到最后一步时,在状态中做状态结束标记,当对应线程读到该标记时,则处理最后一状态完毕后,则直接释放坐席号资源;S107、将测试任务的处理结果数据按照要求打包和封装,并通过接口发送出去。步骤S105中,不同的测试任务业务有不同的状态循环,所述状态循环是预先规定的好的。进一步的,步骤S105中,所述测试任务业务包括语言测试业务、数据测试业务和网络参数采集测试业务。优选的,所述语音测试业务的状态包括测试启动、测试条件准备、测试过程控制模块给测试设备发准备测试命令、等待测试设备返回准备完毕信息、提交语音测试指令、等待测试结果返回、语音测试结束、测试任务执行完成并释放坐席资源的状态循环。本发明相对于现有技术具有如下的优点及效果1、本发明通过提供矩阵式状态机和通用算法模型,使得一个线程可以利用零碎时隙处理多个坐席内的任务,当多线程时则可以处理当容量多业务,充分的利用了 CPU时间碎片,实现串行控制机制难于实现的大容量多业务处理。有效降低了对硬件的依赖,使业务更容易维护和扩展。2、本发明是通过程序对流程控制,不需要针对每个业务流程启动一个线程,使软件控制海量流程成为了可能。3、本发明有效的降低了对硬件依赖的要求,更好的控制了系统开发成本。


图1是是本发明所述方法的处理流程图;图2是本发明所述的通用模型设计结构图;图3是状态坐席池示意图;图4是语音业务测试实施例的状态变迁流程图。
具体实施例方式下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1图1是本发明所述方法的实施例的流程图。其步骤包括S101、当测试任务的业务由接口到达测试过程控制模块,所述控制模块启动和准备进入下一步;S102、测试过程控制模块快速查看坐席池目前是否有空席位;如果有空坐席,则随机选择某一空闲的坐席池,配置给所述测试任务业务并为其坐席配置ID号;如果没有空坐席,则选择等待,等待超时后释放CPU资源;S103、给上述坐席ID号取模为线程数η的余数,并根据余数的不同将测试任务业务配置到对应的空闲坐席池中,并捆绑该坐席内的测试任务业务和对应ID的线程;S104、更新测试任务业务的状态,等待对应的线程来处理。S105、若测试任务业务被处理后,则将状态更新至下一状态。这里不同的测试任务业务有不同的状态循环。如语音业务测试任务,其状态包括测试启动、测试条件准备、测试过程控制模块给测试设备发准备测试命令、等待测试设备返回准备完毕信息、提交语音测试指令、等待测试结果返回、语音测试结束、测试任务执行完成并释放坐席资源等状态循环。其他业务如数据业务测试也有规定的状态循环,所述状态循环是预先规定的好的。语音业务和数据业务测试任务都按照规定的状态循环做状态的变迁,直到结束。S106、当测试任务业务的状态变迁到最后一步时,在状态中做状态结束标记,当对应线程读到该标记时,则处理最后一状态完毕后,则直接释放坐席号资源。S107、将测试任务的处理结果数据按照要求打包和封装,并通过接口发送出去。通过上述实施例1,通过对测试任务业务状态循环分步处理,可实现同时启动多个线程,每个线程可以利用时间碎片处理测试任务业务的某一状态,若当前状态触发条件不成熟,则在超时后转去处理下一个测试任务业务状态。实现多线程多业务处理机制。图2是本发明所述的通用模型设计结构图,包括控制调度端及与之信号连接的状态处理端。所述状态处理端,包括坐席状态机、线程池和数据打包模块,所述坐席状态机和线程池信号连接,所述线程池和数据打包模块信号连接。坐席状态机,提供n*m个矩阵式的坐席位置,供各个测试任务业务占用。和线程池相连,提供测试任务业务状态和对应线程的配置通道。线程池,测试过程控制模块所创建的处理流程均在这里统一运行和处理对应的业务。线程池和坐席池信号连接,完成线程池的线程执行坐席池里的测试任务业务的状态执行。数据打包模块负责测试任务业务的测试结果数据的打包和分发。所述控制调度端,包括接口和测试过程控制模块;接口负责接收来自客户输入的测试任务和业务。与测试过程控制模块相连。测试过程控制模块,提供对接口数据的控制,对坐席状态池ID分配和ID号的取余运算,绑定线程ID和对应的坐席ID等。当测试过程控制模块和坐席状态池信号交互时,控制和配置线程ID和坐席状态池ID的关系,当测试过程控制模块和线程池信号交互时,调度线程池的线程;当测试过程控制模块和数据打包模块信号交互时,协助数据打包模块完成 测试结果数据的打包。图3是状态坐席池示意图;状态坐席池包括状态ID和坐席ID,状态ID描述了各种测试任务业务的不同状态,坐席ID描述了坐席池的各个ID号。其中不同测试任务业务有不同的状态循环数,例如语音测试业务、数据测试业务和网络参数采集等测试任务业务的状态循环数量都不同,各种测试任务业务需规定好状态数和变迁机制。在所述的坐席状态池矩阵中,每一行代表一个测试任务业务流程的信息,即每个测试任务业务流程的一个状态,所述状态包含流程ID、当前状态、最后控制时间等,其中流程ID是唯一的,由测试过程控制模块统一分配。每个当前状态实为一个处理步骤,步骤包含向下一步骤迁移的各种条件,例如时间、外部时间到达等触发迁移条件。当满足迁移条件时,则修改下一步骤的状态使测试任务业务流程继续向前推进,直至全部状态循环被处理结束。实施例2对于不同测试任务业务有不同的状态循环数,以下通过图4说明实施例2的语音业务测试的状态变迁流程。其步骤包括S201、语音测试业务由接口到达测试过程控制模块,所述控制模块启动和准备进入下一步;更新自身状态到状态S202 ;线程转去处理其他测试任务类型的状态。S202、测试过程控制模块快速查看坐席池目前是否有空席位;如果有空坐席,则随机选择某一空闲的坐席池,配置给所述语音测试任务业务并为其坐席配置ID号,更新自身状态到状态S203,线程转去处理其他测试任务类型的状态;如果没有空坐席,则选择等待,等待超时则告诉线程结束等待。S203、给上一步所配置坐席ID号取模为线程数η的余数m,并根据余数的不同将语音测试任务业务配置到余数为m的空闲坐席池中,并捆绑该语音测试任务业务和对应余数为m的线程;更新自身状态到状态S204。线程转去处理其他测试任务类型的状态。S204、更新语音测试任务业务的当前状态,当前状态信息包括测试任务类型和任务所处的当前步骤信息。更新自身状态到状态S205。线程转去处理其他测试任务类型的状态。S205、语音测试任务的初始化,包括初始化线程、语音业务测试所需的内存资源和测试设备的初始化。更新自身状态到状态S206。线程转去处理其他测试任务类型的状态。S206、语音测试任务启动,检查线程完好程度、测试设备准备完好程度。如有某一项未准备完毕,则选择等待;等待超时则结束等待。若都准备完毕,更新自身状态到状态S207。线程转去处理其他测试任务类型的状态。S207、测试过程控制模块给测试设备发送语音测试任务指令,通知测试设备检查自身是否具备语音任务测试的条件,指令包括 测试任务类型,设备编号,内存信息,超时时限和信息反馈要求格式等。更新自身状态到状态S208。线程转去处理其他测试任务类型的状态。S208、等待测试设备是否准备完好的响应,更新自身状态到状态S209。若超过等待时限;则直接结束语音测试任务,释放坐席池ID资源,并返回失败测试结果告警。线程转去处理其他测试任务类型的状态。S209、若收到测试设备所反馈测试设备准备完好的提示,则当前线程向测试设备提交语音测试任务指令,该指令包括测试类型和超时时限,由测试设备执行语音测试任务和反馈测试结果。同时当前线程更新状态循环到状态S210。线程转去处理其他测试任务类型的状态。S210、等待测试设备返回语音测试任务结果。若等待超时,则直接结束并返回测试失败告警。若有效返回测试结果,则更新自身状态到状态S211。线程转去处理其他测试任务类型的状态。S211、语音测试任务结束,对测试任务表示测试结束标记。当线程看到该标记时,线程释语音测试任务做占用的坐席池的坐席ID,供下一个测试任务业务员占用。则更新自身状态到状态S212。线程转去处理其他测试任务类型的状态。S212、处理测试任务的测试结果,处理数据和打包。则更新自身状态到状态13。线程转去处理其他测试任务类型的状态。S213、释放全部坐席资源、内存和处理线程资源。通过上述的将某个测试任务业务分m个状态循环,在等待前一状态向后一状态变迁的触发条件成熟的时间碎片,让宝贵的线程处理资源去处理其他测试任务业务的一个或若干个状态步骤,有效地利用了 CPU的时间碎片,提高了线程处理能力,避免了串行多线程并发产生的线程互斥,运行不稳定,处理效率低的问题。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
权利要求
1.一种通信测试系统中多业务处理模型,包括状态处理端以及与之信号连接的控制调度端,其特征在于,所述状态处理端用于并行地处理测试任务业务的各循环的状态;所述控制调度端用于对测试任务业务的管理和控制,包括接收来自接口的测试任务业务,给业务配置坐席号ID和对应处理线程ID。
2.根据权利要求1所述的通信测试系统中多业务处理模型,其特征在于,所述状态处理端包括坐席状态机、线程池和数据打包模块,所述坐席状态机和线程池信号连接,所述线程池和数据打包模块信号连接;所述坐席状态机提供n*m个矩阵式的坐席位置,供各个测试任务业务占用,提供测试任务业务状态和对应线程的配置通道;所述线程池测试过程控制模块所创建的处理流程均在这里统一运行和处理对应的业务;所述数据打包模块负责测试任务业务的测试结果数据的打包和分发。
3.根据权利要求2所述的通信测试系统中多业务处理模型,其特征在于,所述控制调度端包括测试过程控制模块以及与测试过程控制模块连接的接口,所述测试过程控制模块分别与状态处理端的坐席状态机、线程池及数据打包模块信号连接;所述接口负责接收来自客户输入的测试任务和业务;所述测试过程控制模块,提供对接口数据的控制,对坐席状态池ID分配和ID号的取余运算,绑定线程ID和对应的坐席ID。
4.根据权利要求3所述的通信测试系统中多业务处理模型,其特征在于,所述测试过程控制模块与坐席状态池信号交互时,控制和配置线程ID和坐席状态池ID的关系;所述测试过程控制模块与线程池信号交互时,调度线程池的线程;所述测试过程控制模块与数据打包模块信号交互时,协助数据打包模块完成测试结果数据的打包。
5.根据权利要求3所述的通信测试系统中多业务处理模型,其特征在于,在坐席状态池矩阵中,每一行代表一个测试任务业务流程的信息,所述状态包含流程ID、当前状态以及控制时间,所述流程ID是唯一的,由测试过程控制模块统一分配。
6.根据权利要求5所述的通信测试系统中多业务处理模型,其特征在于,所述状态坐席池包括状态ID和坐席ID,状态ID描述了各种测试任务业务的不同状态,坐席ID描述了坐席池的各个ID号。
7.一种通信测试系统中多业务处理方法,其特征在于,包括下述步骤.5101、当测试任务的业务由接口到达测试过程控制模块,所述测试过程控制模块启动并准备进入下一步;.5102、测试过程控制模块快速查看坐席池目前是否有空席位;如果有空坐席,则随机选择某一空闲的坐席池,配置给测试任务业务并为其坐席配置ID号;如果没有空坐席,则选择等待,等待超时后释放CPU资源;.5103、给上述坐席ID号取模为线程数η的余数,根据余数的不同将测试任务业务配置到对应的空闲坐席池中,并捆绑该坐席内的测试任务业务和对应ID的线程;.5104、更新测试任务业务的状态,等待对应的线程来处理;.5105、若测试任务业务被处理后,则将状态更新至下一状态;.5106、当测试任务业务的状态变迁到最后一步时,在状态中做状态结束标记,当对应线程读到该标记时,则处理最后一状态完毕后,则直接释放坐席号资源; S107、将测试任务的处理结果数据按照要求打包和封装,并通过接口发送出去。
8.根据权利要求7所述的通信测试系统中多业务处理方法,其特征在于,步骤S105中,不同的测试任务业务有不同的状态循环,所述状态循环是预先规定的好的。
9.根据权利要求7所述的通信测试系统中多业务处理方法,其特征在于,步骤S105中,所述测试任务业务包括语言测试业务、数据测试业务和网络参数采集测试业务。
10.根据权利要求9所述的通信测试系统中多业务处理方法,其特征在于,所述语音测试业务的状态包括测试启动、测试条件准备、测试过程控制模块给测试设备发准备测试命令、等待测试设备返回准备完毕信息、提交语音测试指令、等待测试结果返回、语音测试结束、测试任务执行完成并释放坐席资源的状态循环。
全文摘要
本发明公开了一种通信测试系统中多业务处理模型及处理方法,处理模型包括状态处理端以及与之信号连接的控制调度端,所述状态处理端用于并行地处理测试任务业务的各循环的状态;所述控制调度端用于对测试任务业务的管理和控制,本发明通过提供矩阵式状态机和通用算法模型,使得一个线程可以利用零碎时隙处理多个坐席内的任务,当多线程时则可以处理大容量多业务,充分的利用了CPU时间碎片,实现串行控制机制难于实现的大容量多业务处理。有效降低了对硬件的依赖,使业务更容易维护和扩展。
文档编号H04W24/06GK103024791SQ20121058378
公开日2013年4月3日 申请日期2012年12月28日 优先权日2012年12月28日
发明者刘勇, 蔡俊强, 屈鹏 申请人:广州联正达通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1