CN102857946B - 一种状态转移方法及其装置 - Google Patents
一种状态转移方法及其装置 Download PDFInfo
- Publication number
- CN102857946B CN102857946B CN201210082560.7A CN201210082560A CN102857946B CN 102857946 B CN102857946 B CN 102857946B CN 201210082560 A CN201210082560 A CN 201210082560A CN 102857946 B CN102857946 B CN 102857946B
- Authority
- CN
- China
- Prior art keywords
- condition
- test
- state
- hit
- hit information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种状态转移方法及其装置,该方法包括:当进行状态转移时,测试设备根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;所述测试设备根据所述命中信息确定各条件的测试优先级,并按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回trne时,停止条件测试,并进行对应的状态转移。在本发明中,提高了测试设备中状态机进行状态转移的效率。
Description
技术领域
本发明涉及无线通信技术领域,尤其涉及一种状态转移方法及其装置。
背景技术
路测是无线网络优化的重要组成部分。在路测过程中,需要根据收到的信令产生一系列关键事件,路测人员根据这些关键事件,就可以知道测试过程,并且对关键事件进行统计生成报表,就可以了解网络的质量,从而进行优化。关键事件的产生通常是由状态机驱动。即,建立一个状态机,根据信令、测试手机或者测试模块上报的状态,来驱动状态机,每进入一个新的状态,并且该次状态转移配置了要发送的关键事件,则发送该状态对应的关键事件。
在现有技术中,进行状态转移时,通常需要将该状态对应的每一个转移条件,按照顺序进行条件测试,直到有一个条件为true,则结束条件测试,转移到一个新的状态。
例如,假设在A状态(简称A,下同),对应A共有5个条件,且分别在满足条件的情况下转移到X、B、Y、Z和M,则当进行状态转移时,需要按照顺序分别检测由A转移到X的条件、由A转移到B的条件、由A转移到Y的条件、由A转移到Z的条件和由A转移到M的条件是否满足,并当测试到某个条件为true时,停止条件测试,并转移到对应的状态。
若将测试第一个条件就发现条件返回true的情况称为首次命中,则可以定义如下首次命中率:
首次命中率=首次命中次数/状态转移次数。
现有技术中,进行状态转移时首次命中率较低,完成状态转移消耗的资源和时间较多。
发明内容
本发明的目的在于提供一种状态转移方法及其装置,以提高状态机的效率。
为了达到以上目的,本发明实施例提供了一种状态转移方法,包括:
当进行状态转移时,根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;
根据所述命中信息确定各条件的测试优先级,并按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移。
本发明实施例还提供一种状态转移装置,包括:
获取模块,用于当进行状态转移时,根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;
确定模块,用于根据所述命中信息确定各条件的测试优先级;
处理模块,用于按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移。
在本发明上述实施例中,当进行状态转移时,根据当前状态获取从当前状态进行状态转移时各条件的命中信息,并根据该命中信息确定各条件的测试优先级,进而按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移,提高了进行状态转移时的首次命中率,进而提高状态机的效率。
附图说明
图1为本发明实施例提供的一种状态转移方法的流程示意图;
图2为本发明实施例提供的一种状态转移装置的结构示意图。
具体实施方式
针对上述现有技术的缺陷,本发明实施例提供了一种状态转移的技术方案。在该技术方案中,当进行状态转移时,可以根据当前状态获取从当前状态进行状态转移时各条件的命中信息,并根据该命中信息确定各条件的测试优先级,进而按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时(即发生条件命中),停止条件测试,并进行对应的状态转移,提高了进行状态转移时的首次命中率,进而提高状态机的效率。
为了更好地理解本发明实施例提供的技术方案,下面对状态机的相关属性进行简单的描述。
在现有技术中,通常使用配置文件对状态机进行描述,包括状态转移的条件,然后用一个状态机通用处理框架来驱动状态机,实现状态转移。
其中,对于状态机的配置文件描述:
将状态机在配置文件中进行描述,每个状态由条件部分和状态描述部分组成。
1)条件节点:包括条件名称(name属性),期待的信令名字(Expected Signal属性,表示信令名称,例如:RRC Connection Request(Radio Resource ControlConnection Request,无线资源控制连接请求)),需要在信令中匹配的字符串(match节点)。例如:
其中,type分为“config”和“trigger”,2个类型,可扩展。如果类型为triger,则需要定义一个对应名称的函数,硬编码来实现该条件的判断;如果为类型config,则由通用处理框架,自动判断收到的信令和期待的信令是否相同,以及匹配的字符串是否相同,如果都相同,则返回true,否则返回false。
2)状态节点
状态节点详细描述状态,包括状态名称(name属性),是否开始节点(isbegin属性),是否结束节点(isEnd属性),当前状态应该产生的关键事件(EventName属性),关键事件描述信息(EventExtraInfo属性)。例如:
其中,每个Change节点表示一个状态转移,对应有转移的触发条件(Condition属性),以及下一个状态是什么(nextstate属性)。
完整的例子如下:
上例所描述的包括:当前状态,需要产生什么关键事件;在一个什么条件下,从一个状态转移到另外一个状态,
具体的,
当前状态,需要产生This_Event关键事件。
在C1&&C2为true时,需要转移到Another_State。
在C3&&C4为true时,则需要转移到Another_State2。
下面对一次具体的条件测试流程进行描述。
以测试Condition=”C1&&C2”为例。其过程具体为:
(1)先将组合条件分解成单一的条件C1、C2
(2)查找C1和C2的定义。
(3)然后再根据C1、C2的定义,进行计算:
根据定义可知,要判断C1,需要对当前收到的信令进行解码,并比较,是否信令名称为this_signalling_name,是否存在属性a_1,其名称是否为this_value1,是否存在属性a_2,其名称是否为this_value2。
要判断C2,需要调用一个函数(函数名称根据条件名称C2和一个固定法则,如加前缀,得到,例如为func_C2())。根据函数的返回结果确定C2的值。
(4)求出C1和C2之后,还要调用通用逻辑表达式计算器,计算C1&&C2的值。
由此可见,每次条件测试都是非常消耗资源的,如果能够减少条件测试次数,可以提高状态机的效率。
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本发明实施例提供的一种状态转移方法的流程示意图,该方法可以包括以下步骤:
步骤101、当进行状态转移时,测试设备根据当前状态获取从该当前状态进行状态转移时各条件的命中信息。
具体的,为了提高进行状态转移时的首次命中率,在本发明实施例中,当需要进行状态转移时,测试设备可以根据当前状态获取从该当前状态进行状态转移时各条件的命中信息,进而根据该命中信息确定各条件的测试顺序。
其中,上述各条件的命中信息可以包括但不限于:各条件的命中次数、或各条件的命中率。其中,命中率可定义为命中次数与状态转移次数的比值(即命中率=命中次数/状态转移次数)。以命中信息为命中次数为例,数据库中存储的各条件的命中信息可以如表1所示:
表1
在本发明实施例中,可以当进行状态转移时,从数据库中获取对应条件的命中信息,也可以当设备启动时,从数据库中获取对应条件的命中信息并保存在内存中,当进行状态转移时,从内存中获取相应的命中信息。
需要注意的是,由于命中率为命中次数与状态转移次数的比值,而对应一次状态转移的条件测试中有且仅有一个条件命中,因此,状态转移次数可以用进行状态转移的各条件的命中次数的总和表示,即当各条件的命中次数均确定时,相应各条件的命中率也是确定的。
例如,对于表1所示的各条件及其命中次数,可以确定相应条件的命中率分别为:A->X为1/15、A->B为1/3、A->Y为2/15、A->Z为4/15、A->M为1/5。
步骤102、测试设备根据获取到的命中信息确定各条件的测试优先级,并按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移。
具体的,当测试设备获取到当前状态对应的各条件的命中信息后,可以根据该命中信息确定各条件的测试优先级。
仍以命中信息为命中次数为例,假设当前状态为A,获取到的命中信息如表1所示,则对于按照测试优先级从高到低的顺序,各条件的测试优先级依次为:A->B的条件、A->Z的条件、A->M的条件、A->Y的条件以及A->X的条件,即各条件的测试优先级与各条件的命中次数正相关。
确定各条件的测试优先级后,在进行状态转移时,测试设备可以按照测试优先级从高到低的顺序,依次对各条件进行测试,并当返回true时,停止条件测试,并进行对应的状态转移。
上例中,进行条件测试的流程可以包括以下步骤:
a、对A->B的条件进行测试,如果为true,结束测试,将状态从A转移到B;如果为false时,进入下一步;
b、对A->Z的条件进行测试,如果为true,结束测试,将状态从A转移到Z,如果为false时,进入下一步;
c、对A->M的条件进行测试,如果为true,结束测试,将状态从A转移到M,如果为false时,进入下一步;
d、对A->Y的条件进行测试,如果为true,结束测试,将状态从A转移到Y,如果为false时,进入下一步;
e、对A->X的条件进行测试,如果为true,结束测试,将状态从A转移到X。
需要注意的是,在本发明实施例提供的技术方案中,当所有条件均进行测试,且均为false,即所有条件都不命中时,可以不进行状态转移,并等待下一次信令(用于指示进行状态转移)到来时,再进行条件测试和状态的变更。
应该认识到,上述所有条件都不命中的情况下的处理方式仅仅是本发明实施例的提供的技术方案中的一种具体实现方式,而并不是对本发明保护范围的限定,在本发明实施例的基础上,本领域技术人员在不经过创造性劳动前提下想到的其他处理方式均应属于本发明的保护范围。
其中,当存在至少两个条件的命中次数相同时,可以以随机排序的方式确定各条件的测试顺序。例如,当前状态为A,A->Z的条件、A->M的条件的命中次数均为4,则进行条件测试时,可以先对A->Z的条件,也可以先对A->M的条件进行测试。
相应地,当命中信息为命中率时,可以根据命中率确定各条件的测试优先级。其中,测试优先级与命中率正相关,即条件的命中率越高,该条件的测试优先级也越高。
为了进一步提高状态机的效率,在本发明实施例中,在根据命中信息确定各条件的测试优先级之前,测试设备还可以根据当前状态获取从该当前状态进行状态转移时对各条件进行条件测试的测试耗时信息。
相应地,数据库中存储的状态转移相关信息可以如表2所示:
表2
其中,条件A->X的测试耗时可以定义为此次状态转移之前,对条件A->X进行条件测试的平均耗时。
根据表2所示的信息,在本发明实施例中,可以通过以下方式确定各条件的测试优先级:
根据的原则对从当前状态进行状态转移时的各条件进行排列,得到种排列;其中,n为从当前状态进行状态转移时的条件的总数,
根据命中信息和测试耗时信息,分别确定按照种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值;
根据期望值最低的排列中各条件的排列顺序确定各条件的测试优先级。
以表2所示信息为例,当当前状态为A时,待测试条件共为3个,其对应的条件测试顺序共有(6)种,对于该6种测试顺序,可以分别确定按各种测试顺序进行条件测试时测试耗时的期望值E(t):
E(t)=P1t1+(1-P1)P2(t1+t2)+...+(1-P1)(1-P2)...(1-Pn-1)Pn(t1+t2+...+tn)+(1-P1)(1-P2)...(1-Pn-1)(1-Pn)(t1+t2+...+tn)=P1t1+(1-P1)P2(t1+t2...+(1-P1)(1-P2)...(1-Pn-1)(t1+t2+...+tn)
其中,Pi为各排列中位于第i位的条件的命中率,ti为各排列中位于第i位的条件进行条件测试时的耗时。
即E(t)=测试第一个条件就命中的概率*这种情况下的测试耗时+测试到第二个条件就命中的概率*这种情况的测试耗时+...+测试到第N-1个条件就命中的概率*这种情况下的测试耗时+测试到第N个条件命中的概率*这种情况下的测试耗时+测试到第N个条件还不命中的概率*这种情况下的测试耗时。
例如,表2所示的3个条件的测试顺序可以依次为A->X、A->B、A->Y,则P1为A->X的命中率,t1为A->X的测试耗时;P2为A->B的命中率,t2为A->B的测试耗时;P3为A->Y的命中率,t3为A->Y的测试耗时,该测试顺序下的测试耗时为:
E(t)=3/10*5+(1-3/10)*1/2*(5+2)+(1-3/10)(1-1/2)*1/5*(5+2+3)+(1-3/10)(1-1/2)(1-1/5)(5+2+3)=149/20S
表2所示的3个条件的测试顺序还可以依次为A->Y、A->B、A->X,则P1为A->Y的命中率,t1为A->Y的测试耗时;P2为A->B的命中率,t2为A->B的测试耗时;P3为A->X的命中率,t3为A->X的测试耗时,该测试顺序下的测试耗时为:
E(t)=1/5*3+(1-1/5)*1/2*(3+2)+(1-1/5)(1-1/2)*3/10*(5+2+3)+(1-1/5)(1-1/2)(1-3/10)(5+2+3)=33/5S
当分别确定了表2所示3个条件的6种测试顺序下的测试耗时的期望值后,可以根据期望值最低的测试顺序中各条件的排列顺序确定各条件的测试优先级。
例如,经过计算,确定A->B、A->Y、A->X顺序下的测试耗时的期望值最低,则可以确定此次状态转移各条件的测试优先级从高到低依次为:A->B、A->Y、A->X。
为了进一步提高状态机的效率,在本发明实施例中,在每次完成状态转移后,测试设备还可以统计从当前状态进行状态转移的首次命中率,并当该首次命中率超过阈值后,将此次条件测试各条件的测试优先级作为该各条件的固定测试优先级。
例如,当按照A->B、A->Y、A->X的顺序对各条件进行条件测试,并完成状态转移后,确定从状态A进行转移时首次命中率超过阈值(如80%),则可以将此次条件测试时各条件的测试优先级作为该各条件的固定测试优先级,即后续需要从状态A进行状态转移时,均按照A->B、A->Y、A->X的顺序对各条件进行测试(即各条件的测试优先级从高到低依次固定为:A->B、A->Y、A->X),而不需要再获取命中信息以及测试耗时信息,减少状态机的处理时间,提高状态机的效率。
在本发明实施例中,进行状态转移可以由被测设备的测试信令触发。具体的,当测试设备接收到被测设备发送的测试信令时,可以根据接收到的测试信令确定对应的业务类型,并根据所述业务类型查询对应的状态机,从而确定该状态机的当前状态。
相应地,当进行条件测试时,测试设备可以依次将各条件与接收到的测试信令对应的条件进行匹配,当匹配成功后,返回true,并进行对应的状态转移。
进一步地,进行状态转移之后,测试设备还可以确定相应状态机进行状态转移后的当前状态,并输出该当前状态对应的关键事件。
在本发明实施例中,状态转移完成后,可以根据此次状态转移过程中的条件命中信息更新数据库中的对应信息。
进一步地,为了避免对数据库频繁操作,在本发明实施例中,当一次状态转移完成时,可以先将各条件的命中信息保存到内存中,并当达到预设的条件后,根据内存中保存的各条件的命中信息更新数据库中对应的条件的命中信息。
其中,达到预设条件可以包括但不限于:
达到预设的时间、达到预设的周期、或发生预设的事件(如用户按了退出路测系统的按钮)。
下面结合具体的应用场景对本发明实施例提供的技术方案进行更加详细的描述。
在该实施例中,当测试设备(以路测设备为例)接收到测试手机发送的测试信令(如“Location Updating Reject(位置更新拒绝)”)时,路测设备根据接收到的信令确定对应的业务类型(在该实施例中为“TD CS”),并查询该业务类型对应的状态机。
假设路测设备查询到的状态机的当前状态为“TD_CS_Incoming CallConnect”(即当前状态为3G连接已经建立),对应的下一状态包括:“TD_CS_Incoming Call Drop”(即呼入掉线状态)、“TD_CS_Incoming CallEnd”(即呼入结束状态)以及“TD_CS_Handover to GSM Success”(即成功切换到GSM网络状态)。其对应的关键事件依次为:“Incoming Call Drop”(即呼入掉线)、“Incoming Call End”(即呼入结束)、“Handover to GSM”(即切换到GSM网络);各下一状态对应的信令和测试条件依次为:“Master InformationBlock(主系统信息块)”和“T6”、“Location Updating Reject”和“T13”、“Activate PDP Context Reject(PDP上下文激活拒绝)”和“T19”。
路测设备从数据库中获取该状态机从上述当前状态(“TD_CS_IncomingCall Connect”)进行状态转移的测试条件的命中信息如表3所示:
表3
状态 | 条件 | 命中率 |
TD_CS_Incoming Call Connect | T6 | 0.1% |
TD_CS_Incoming Call Connect | T13 | 99% |
TD_CS_Incoming Call Connect | T19 | 0.9% |
路测设备根据获取到的测试条件的命中信息确定各条件的测试优先级从高到低依次为:T13、T19和T6。从而,路测设备依次将T13、T19、T6对应的信令与接收到的信令进行匹配(也即依次将T13、T19、T6分别与接收到的信令对应的条件进行匹配),从而确定状态转移的下一状态。
在该实施例中,路测设备接收到的信令为“Master Information Block”,对应的条件为T13;路测设备依次对T13、T19、T6进行测试,当对T13进行测试时,返回为True(即条件命中),进行对应的状态转移,即从“TD_CS_IncomingCall Connect”转移到“TD_CS_Incoming Call End”,并显示对应的关键事件“Incoming Call End”,从而,测试人员即可知该测试手机的状态为呼入结束状态。
通过以上描述可以看出,在本发明实施例中,当进行状态转移时,可以根据当前状态获取从当前状态进行状态转移时各条件的命中信息,并根据该命中信息确定各条件的测试优先级,进而按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移,提高了进行状态转移时的首次命中率,进而提高状态机的效率。
基于上述方法流程相同的技术构思,本发明实施例还提供了一种状态转移装置。
如图2所示,为本发明实施例提供的状态转移装置的结构示意图,可以包括:
获取模块21,用于当进行状态转移时,根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;
确定模块22,用于根据所述命中信息确定各条件的测试优先级;
处理模块23,用于按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移。
其中,所述命中信息可以为命中次数或命中率;所述测试优先级与所述命中次数或命中率正相关。
其中,所述获取模块21还可以用于,根据当前状态获取从该当前状态进行状态转移时对各条件进行条件测试的测试耗时信息;
相应地,所述确定模块22可以具体用于,根据的原则对从当前状态进行状态转移时的各条件进行排列,得到种排列;根据所述命中信息和所述测试耗时信息,分别确定按照所述种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值;根据所述期望值最低的排列中各条件的排列顺序确定各条件的测试优先级;其中,n为从当前状态进行状态转移时的条件的总数。
其中,所述确定模块22可以具体用于,通过以下公式确定所述按照所述种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值E(t):
E(t)=P1t1+(1-P1)P2(t1+t2)+...(1-P1)(1-P2)...(1-Pn-1)Pn(t1+t2+...+tn)+(1-P1)(1-P2)...(1-Pn-1)(1-Pn)(t1+t2+...+tn)
其中,Pi为各排列中位于第i位的条件的命中率,ti为各排列中位于第i位的条件进行条件测试时的耗时。
其中,所述处理模块23还可以用于,停止条件测试并进行对应的状态转移之后,确定从所述当前状态进行状态转移的首次命中率,并当所述首次命中率超过阈值时,将此次条件测试时各条件的测试优先级作为该各条件的固定测试优先级。
其中,本发明实施例提供的状态转移装置还可以包括:
更新模块24,用于根据条件测试的结果更新获取到的各条件的命中信息,并根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息。
其中,所述更新模块24可以具体用于,将所述更新后的各条件的命中信息保存到内存中,并当达到预设条件时,根据所述内存中保存的各条件的命中信息更新数据库中对应的条件的命中信息;
其中,所述达到预设条件包括:
达到预设的时间、达到预设的周期、或发生预设的事件。
其中,本发明实施例提供的状态转移装置还可以包括:
接收模块25,用于接收被测设备发送的测试信令;
所述获取模块21具体用于,当所述接收模块25接收到测试信令时,确定该测试信令对应的业务类型;根据所述业务类型查询对应的状态机,并确定所述状态机的当前状态。
其中,所述处理模块23还可以用于,确定所述状态机进行状态转移后的当前状态,并输出该当前状态对应的关键事件。
其中,优选地,上述状态转移装置可以为测试设备(如路测设备)。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (16)
1.一种状态转移方法,其特征在于,包括:
当进行状态转移时,测试设备根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;
所述测试设备根据所述命中信息确定各条件的测试优先级,并按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移;
其中,所述测试设备根据所述命中信息确定各条件的测试优先级之前,还包括:
所述测试设备根据当前状态获取从该当前状态进行状态转移时对各条件进行条件测试的测试耗时信息;
所述测试设备根据所述命中信息确定各条件的测试优先级,具体为:
所述测试设备根据的原则对从当前状态进行状态转移时的各条件进行排列,得到种排列;其中,n为从当前状态进行状态转移时的条件的总数;
所述测试设备根据所述命中信息和所述测试耗时信息,分别确定按照所述种排列中各种排列顺序依次对各条件进行条件测试时测试耗时的期望值;
所述测试设备根据所述期望值最低的排列中各条件的排列顺序确定各条件的测试优先级。
2.如权利要求1所述的方法,其特征在于,所述命中信息为命中次数或命中率;所述测试优先级与所述命中次数或命中率正相关。
3.如权利要求1所述的方法,其特征在于,所述测试设备按照种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值E(t)具体通过以下公式确定:
E(t)=P1t1+(1-P1)P2(t1+t2)+...+(1-P1)(1-P2)...(1-Pn-1)Pn(t1+t2+...+tn)+(1-P1)(1-P2)...(1-Pn-1)(1-Pn)(t1+t2+...+tn)
其中,Pi为各排列中位于第i位的条件的命中率,ti为各排列中位于第i位的条件进行条件测试时的耗时。
4.如权利要求1-3任一项所述的方法,其特征在于,所述停止条件测试并进行对应的状态转移之后,还包括:
所述测试设备确定从所述当前状态进行状态转移的首次命中率,并当所述首次命中率超过阈值时,将此次条件测试时各条件的测试优先级作为该各条件的固定测试优先级。
5.如权利要求1-3任一项所述的方法,其特征在于,该方法还包括:
所述测试设备根据条件测试的结果更新获取到的各条件的命中信息,并根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息。
6.如权利要求5所述的方法,其特征在于,所述测试设备根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息,具体为:
所述测试设备将所述更新后的各条件的命中信息保存到内存中,并当达到预设条件时,根据所述内存中保存的各条件的命中信息更新数据库中对应的条件的命中信息;
其中,所述达到预设条件包括:
达到预设的时间、达到预设的周期、或发生预设的事件。
7.如权利要求1所述的方法,其特征在于,所述当进行状态转移具体为:
当所述测试设备接收到被测设备发送的测试信令时,确定该测试信令对应的业务类型;
所述测试设备根据所述业务类型查询对应的状态机,并确定所述状态机的当前状态;
所述测试设备依次对各条件进行条件测试,具体为:
所述测试设备依次将所述各条件与所述测试信令对应的条件进行匹配,并当匹配成功时,返回true。
8.如权利要求7所述的方法,其特征在于,所述进行对应的状态转移之后,还包括:
所述测试设备确定所述状态机进行状态转移后的当前状态,并输出该当前状态对应的关键事件。
9.一种状态转移装置,其特征在于,包括:
获取模块,用于当进行状态转移时,根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;
确定模块,用于根据所述命中信息确定各条件的测试优先级;
处理模块,用于按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移;
其中,所述获取模块还用于,根据当前状态获取从该当前状态进行状态转移时对各条件进行条件测试的测试耗时信息;
所述确定模块具体用于,根据的原则对从当前状态进行状态转移时的各条件进行排列,得到种排列;根据所述命中信息和所述测试耗时信息,分别确定按照所述种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值;根据所述期望值最低的排列中各条件的排列顺序确定各条件的测试优先级;其中,n为从当前状态进行状态转移时的条件的总数。
10.如权利要求9所述的状态转移装置,其特征在于,所述命中信息为命中次数或命中率;所述测试优先级与所述命中次数或命中率正相关。
11.如权利要求10所述的状态转移装置,其特征在于,所述确定模块具体用于,通过以下公式实现确定按照所述种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值E(t):
E(t)=P1t1+(1-P1)P2(t1+t2)+...+(1-P1)(1-P2)...(1-Pn-1)Pn(t1+t2+...+tn)+(1-P1)(1-P2)...(1-Pn-1)(1-Pn)(t1+t2+...+tn)
其中,Pi为各排列中位于第i位的条件的命中率,ti为各排列中位于第i位的条件进行条件测试时的耗时。
12.如权利要求9-11任一项所述的状态转移装置,其特征在于,
所述处理模块还用于,停止条件测试并进行对应的状态转移之后,确定从所述当前状态进行状态转移的首次命中率,并当所述首次命中率超过阈值时,将此次条件测试时各条件的测试优先级作为该各条件的固定测试优先级。
13.如权利要求9-11任一项所述的状态转移装置,其特征在于,还包括:
更新模块,用于根据条件测试的结果更新获取到的各条件的命中信息,并根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息。
14.如权利要求13所述的状态转移装置,其特征在于,
所述更新模块具体用于,将所述更新后的各条件的命中信息保存到内存中,并当达到预设条件时,根据所述内存中保存的各条件的命中信息更新数据库中对应的条件的命中信息;
其中,所述达到预设条件包括:
达到预设的时间、达到预设的周期、或发生预设的事件。
15.如权利要求9所述的状态转移装置,其特征在于,还包括:
接收模块,用于接收被测设备发送的测试信令;
所述获取模块具体用于,当所述接收模块接收到测试信令时,确定该测试信令对应的业务类型;根据所述业务类型查询对应的状态机,并确定所述状态机的当前状态。
16.如权利要求15所述的状态转移装置,其特征在于,所述处理模块还用于,确定所述状态机进行状态转移后的当前状态,并输出该当前状态对应的关键事件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210082560.7A CN102857946B (zh) | 2012-03-26 | 2012-03-26 | 一种状态转移方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210082560.7A CN102857946B (zh) | 2012-03-26 | 2012-03-26 | 一种状态转移方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102857946A CN102857946A (zh) | 2013-01-02 |
CN102857946B true CN102857946B (zh) | 2015-03-25 |
Family
ID=47404063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210082560.7A Active CN102857946B (zh) | 2012-03-26 | 2012-03-26 | 一种状态转移方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102857946B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1318911A (zh) * | 2001-04-29 | 2001-10-24 | 北京邮电大学 | 一种光网络保护倒换协议的实现方法 |
CN101442771A (zh) * | 2007-11-23 | 2009-05-27 | 大唐移动通信设备有限公司 | 一种实现ps业务状态转移的方法及装置 |
CN102103497A (zh) * | 2009-12-18 | 2011-06-22 | 阿尔卡特朗讯 | 有限状态机执行装置和方法、在应用中的建立和使用方法 |
-
2012
- 2012-03-26 CN CN201210082560.7A patent/CN102857946B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1318911A (zh) * | 2001-04-29 | 2001-10-24 | 北京邮电大学 | 一种光网络保护倒换协议的实现方法 |
CN101442771A (zh) * | 2007-11-23 | 2009-05-27 | 大唐移动通信设备有限公司 | 一种实现ps业务状态转移的方法及装置 |
CN102103497A (zh) * | 2009-12-18 | 2011-06-22 | 阿尔卡特朗讯 | 有限状态机执行装置和方法、在应用中的建立和使用方法 |
Non-Patent Citations (1)
Title |
---|
"一种自动生成状态机RTL代码的方法";詹璨铭等;《微电子学与计算机》;20080731;第25卷(第7期);第158页第1栏第2段,第159页第1栏第21-22行 * |
Also Published As
Publication number | Publication date |
---|---|
CN102857946A (zh) | 2013-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425926B (zh) | 应用程序启动方法、配置列表的方法、终端和服务器 | |
CN102724738A (zh) | 多模终端、多模终端驻留网络的选择方法及装置 | |
CN106658756B (zh) | 一种终端设备与热点连接的识别方法及装置 | |
CN102867031A (zh) | 兴趣点poi搜索结果优化方法、系统、移动终端和服务器 | |
CN104133765B (zh) | 网络活动的测试用例发送方法及测试用例服务器 | |
CN104346256A (zh) | 应用程序耗电信息的获取方法、装置和移动终端 | |
CN104853422A (zh) | 一种移动终端省电的方法及装置 | |
CN104239198A (zh) | 智能手机及其软件测试方法、测试系统和服务器 | |
CN107204898A (zh) | 智能家电的生产测试方法、系统及存储设备、移动终端 | |
CN113795039B (zh) | 运营商网络切换方法、装置、设备和计算机可读存储介质 | |
CN109408309A (zh) | 多终端的测试方法及装置 | |
CN106708688B (zh) | 模块测试方法及终端 | |
CN103530233A (zh) | 移动浏览器的自动化测试方法、测试服务器及系统 | |
CN102857946B (zh) | 一种状态转移方法及其装置 | |
CN100558056C (zh) | 自动化一致性测试方法和装置 | |
CN105050123A (zh) | 一种无线网络负荷控制方法及终端 | |
CN109219070A (zh) | 补充业务配置方法、装置及电子设备 | |
CN101729989A (zh) | 基站测试方法、装置及基站 | |
CN104754601A (zh) | 一种隐藏节点检测方法、网络节点及服务器 | |
CN102740328A (zh) | 一种远程测试方法、装置及系统 | |
CN105635280A (zh) | 提升消息推送效率的方法、装置及推送服务器 | |
CN104469865A (zh) | 一种目标小区配置方法及装置 | |
CN103813034A (zh) | 一种业务实现的方法、终端及业务服务器 | |
CN103428745A (zh) | 一种UICC卡与WCDMA移动终端间Cu接口检测系统及检测方法 | |
CN106874191A (zh) | 智能数据库执行方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |