专利名称:一种状态转移方法及其装置的利记博彩app
技术领域:
本发明涉及无线通信技术领域,尤其涉及一种状态转移方法及其装置。
背景技术:
路测是无线网络优化的重要组成部分。在路测过程中,需要根据收到的信令产生一系列关键事件,路测人员根据这些关键事件,就可以知道测试过程,并且对关键事件进行统计生成报表,就可以了解网络的质量,从而进行优化。关键事件的产生通常是由状态机驱动。即,建立一个状态机,根据信令、测试手机或者测试模块上报的状态,来驱动状态机,每进入一个新的状态,并且该次状态转移配置了要发送的关键事件,则发送该状态对应的关 键事件。在现有技术中,进行状态转移时,通常需要将该状态对应的每一个转移条件,按照顺序进行条件测试,直到有一个条件为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时,停止条件测试,并进行对应的状 态转移,提闻了进行状态转移时的首次命中率,进而提闻状态机的效率。
图I为本发明实施例提供的一种状态转移方法的流程示意图;图2为本发明实施例提供的一种状态转移装置的结构示意图。
具体实施例方式针对上述现有技术的缺陷,本发明实施例提供了一种状态转移的技术方案。在该技术方案中,当进行状态转移时,可以根据当前状态获取从当前状态进行状态转移时各条件的命中信息,并根据该命中信息确定各条件的测试优先级,进而按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时(即发生条件命中),停止条件测试,并进行对应的状态转移,提高了进行状态转移时的首次命中率,进而提高状态机的效率。为了更好地理解本发明实施例提供的技术方案,下面对状态机的相关属性进行简单的描述。在现有技术中,通常使用配置文件对状态机进行描述,包括状态转移的条件,然后用一个状态机通用处理框架来驱动状态机,实现状态转移。其中,对于状态机的配置文件描述将状态机在配置文件中进行描述,每个状态由条件部分和状态描述部分组成。I)条件节点包括条件名称(name属性),期待的信令名字(Expected Signal属性,表不信令名称,例如RRC Connection Request (Radio Resource Control ConnectionRequest,无线资源控制连接请求)),需要在信令中匹配的字符串(match节点)。例如
〈Condition name = Cl type=,,config” Expected Signal=,,this— signalling—name” >
〈match key="a I" value="this_value"/>
〈match key="a_2" value="this_value2"/>
</ Condition >其中,type分为“config”和“trigger”,2个类型,可扩展。如果类型为triger,则需要定义一个对应名称的函数,硬编码来实现该条件的判断;如果为类型config,则由通用处理框架,自动判断收到的信令和期待的信令是否相同,以及匹配的字符串是否相同,如果都相同,贝1J返回true,否则返回false。2)状态节点状态节点详细描述状态,包括状态名称(name属性),是否开始节点(isbegin属性),是否结束节点(isEnd属性),当前状态应该产生的关键事件(EventName属性),关键事件描述信息(EventExtraInfo属性)。例如
<statedetail name = “This_state” isbegin=false isEnd^falseEventN ame=,,Thi s—Event” E ventExtr alnfo=,,,,〉
〈Change Condition=’’ ( C1&&C2 ) ||C3” nextstate=’’Another—State”
/>
</statedetail>其中,每个Change节点表示一个状态转移,对应有转移的触发条件(Condition属性),以及下一个状态是什么(nextstate属性)。完整的例子如下
〈State〉
〈Condition name = Cl type=’’config” ExpectedSignal=’’ this_signalling —name,,/〉
〈match key="a_l" value="this_value"/>
〈match key="a_2" value="this_value2 "/>
</Conditon>
〈Condition name = C2 type=,,triger” />
〈Condition name = C3 type=’’config” ExpectedSignal=’’ another—signalling —name” >
〈match key="b I" value="this_value"/>
〈match key="b_2" value="thi s_value2 "/>
</Conditon>
〈Condition name = C4 type=,,triger” />
<statedetail name = “This_state” isbegin=false isEnd=falseEventName=”This_Event” EventExtralnfo=,,” >
〈ChangeCondition=”Cl&&C2”
nextstate=”Another_State” />
权利要求
1.一种状态转移方法,其特征在于,包括 当进行状态转移时,测试设备根据当前状态获取从该当前状态进行状态转移时各条件的命中息; 所述测试设备根据所述命中信息确定各条件的测试优先级,并按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回trne时,停止条件测试,并进行对应的状态转移。
2.如权利要求I所述的方法,其特征在于,所述命中信息为命中次数或命中率;所述测试优先级与所述命中次数或命中率正相关。
3.如权利要求2所述的方法,其特征在于,所述测试设备根据所述命中信息确定各条件的测试优先级之前,还包括 所述测试设备根据当前状态获取从该当前状态进行状态转移时对各条件进行条件测试的测试耗时信息; 所述测试设备根据所述命中信息确定各条件的测试优先级,具体为 所述测试设备根据的原则对从当前状态进行状态转移时的各条件进行排列,得到if种排列;其中,η为从当前状态进行状态转移时的条件的总数;所述测试设备根据所述命中信息和所述测试耗时信息,分别确定按照所述P:种排列中各种排列顺序依次对各条件进行条件测试时测试耗时的期望值; 所述测试设备根据所述期望值最低的排列中各条件的排列顺序确定各条件的测试优先级。
4.如权利要求3所述的方法,其特征在于,所述测试设备按照P:种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值E (t)具体通过以下公式确定E(t) = PJ1+(I-P1) P2 (ti+t2)+·· · (I-P1) (I-P2). . . (I-Prrl) Pn (w. ··+tn) +(I-P1)(I-P2). . . (I-Prrl) (I-Pn) (w.. . tn) 其中,Pi为各排列中位于第i位的条件的命中率,ti为各排列中位于第i位的条件进行条件测试时的耗时。
5.如权利要求1-4任一项所述的方法,其特征在于,所述停止条件测试并进行对应的状态转移之后,还包括 所述测试设备确定从所述当前状态进行状态转移的首次命中率,并当所述首次命中率超过阈值时,将此次条件测试时各条件的测试优先级作为该各条件的固定测试优先级。
6.如权利要求1-4任一项所述的方法,其特征在于,该方法还包括 所述测试设备根据条件测试的结果更新获取到的各条件的命中信息,并根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息。
7.如权利要求6所述的方法,其特征在于,所述测试设备根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息,具体为 所述测试设备将所述更新后的各条件的命中信息保存到内存中,并当达到预设条件时,根据所述内存中保存的各条件的命中信息更新数据库中对应的条件的命中信息;其中,所述达到预设条件包括 达到预设的时间、达到预设的周期、或发生预设的事件。
8.如权利要求I所述的方法,其特征在于,所述当进行状态转移具体为 当所述测试设备接收到被测设备发送的测试信令时,确定该测试信令对应的业务类型; 所述测试设备根据所述业务类型查询对应的状态机,并确定所述状态机的当前状态; 所述测试设备依次对各条件进行条件测试,具体为 所述测试设备依次将所述各条件与所述测试信令对应的条件进行匹配,并当匹配成功时,返回true。
9.如权利要求8所述的方法,其特征在于,所述进行对应的状态转移之后,还包括 所述测试设备确定所述状态机进行状态转移后的当前状态,并输出该当前状态对应的关键事件。
10.一种状态转移装置,其特征在于,包括 获取模块,用于当进行状态转移时,根据当前状态获取从该当前状态进行状态转移时各条件的命中信息; 确定模块,用于根据所述命中信息确定各条件的测试优先级; 处理模块,用于按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回true时,停止条件测试,并进行对应的状态转移。
11.如权利要求10所述的状态转移装置,其特征在于,所述命中信息为命中次数或命中率;所述测试优先级与所述命中次数或命中率正相关。
12.如权利要求11所述的状态转移装置,其特征在于, 所述获取模块还用于,根据当前状态获取从该当前状态进行状态转移时对各条件进行条件测试的测试耗时信息; 所述确定模块具体用于,根据if的原则对从当前状态进行状态转移时的各条件进行排列,得到P:种排列;根据所述命中信息和所述测试耗时信息,分别确定按照所述if种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值;根据所述期望值最低的排列中各条件的排列顺序确定各条件的测试优先级;其中,η为从当前状态进行状态转移时的条件的总数。
13.如权利要求12所述的状态转移装置,其特征在于,所述确定模块具体用于,通过以下公式实现确定按照所述if种排列中各排列中各条件的排列顺序依次对各条件进行条件测试时测试耗时的期望值E (t)E(t) = PJ1+(I-P1) P2 (ti+t2)+·· · (I-P1) (I-P2). . . (I-Prrl) Pn (w. ··+tn) +(I-P1)(I-P2). . . (I-Prrl) (I-Pn) (t^ta+.. . +tn) 其中,Pi为各排列中位于第i位的条件的命中率,ti为各排列中位于第i位的条件进行条件测试时的耗时。
14.如权利要求10-13任一项所述的状态转移装置,其特征在于, 所述处理模块还用于,停止条件测试并进行对应的状态转移之后,确定从所述当前状态进行状态转移的首次命中率,并当所述首次命中率超过阈值时,将此次条件测试时各条件的测试优先级作为该各条件的固定测试优先级。
15.如权利要求10-13任一项所述的状态转移装置,其特征在于,还包括 更新模块,用于根据条件测试的结果更新获取到的各条件的命中信息,并根据更新后的各条件的命中信息更新数据库中存储的对应的条件的命中信息。
16.如权利要求15所述的状态转移装置,其特征在于, 所述更新模块具体用于,将所述更新后的各条件的命中信息保存到内存中,并当达到预设条件时,根据所述内存中保存的各条件的命中信息更新数据库中对应的条件的命中信息; 其中,所述达到预设条件包括 达到预设的时间、达到预设的周期、或发生预设的事件。
17.如权利要求10所述的状态转移装置,其特征在于,还包括 接收模块,用于接收被测设备发送的测试信令; 所述获取模块具体用于,当所述接收模块接收到测试信令时,确定该测试信令对应的业务类型;根据所述业务类型查询对应的状态机,并确定所述状态机的当前状态。
18.如权利要求17所述的状态转移装置,其特征在于,所述处理模块还用于,确定所述状态机进行状态转移后的当前状态,并输出该当前状态对应的关键事件。
全文摘要
本发明公开了一种状态转移方法及其装置,该方法包括当进行状态转移时,测试设备根据当前状态获取从该当前状态进行状态转移时各条件的命中信息;所述测试设备根据所述命中信息确定各条件的测试优先级,并按照测试优先级从高到低的顺序,依次对各条件进行条件测试,并当返回trne时,停止条件测试,并进行对应的状态转移。在本发明中,提高了测试设备中状态机进行状态转移的效率。
文档编号H04W24/02GK102857946SQ201210082560
公开日2013年1月2日 申请日期2012年3月26日 优先权日2012年3月26日
发明者余再跃, 马军 申请人:大唐移动通信设备有限公司, 上海大唐移动通信设备有限公司