CN104853440B - 一种rrc状态机实现方法及装置 - Google Patents

一种rrc状态机实现方法及装置 Download PDF

Info

Publication number
CN104853440B
CN104853440B CN201510251597.1A CN201510251597A CN104853440B CN 104853440 B CN104853440 B CN 104853440B CN 201510251597 A CN201510251597 A CN 201510251597A CN 104853440 B CN104853440 B CN 104853440B
Authority
CN
China
Prior art keywords
state
rrc
function
event
state machine
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.)
Expired - Fee Related
Application number
CN201510251597.1A
Other languages
English (en)
Other versions
CN104853440A (zh
Inventor
汪小军
贾亦真
刘剑锋
朱礼勇
王波
孙亮亮
肖跃
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panda Electronics Group Co Ltd
Nanjing Panda Handa Technology Co Ltd
Original Assignee
Panda Electronics Group Co Ltd
Nanjing Panda Handa Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panda Electronics Group Co Ltd, Nanjing Panda Handa Technology Co Ltd filed Critical Panda Electronics Group Co Ltd
Priority to CN201510251597.1A priority Critical patent/CN104853440B/zh
Publication of CN104853440A publication Critical patent/CN104853440A/zh
Application granted granted Critical
Publication of CN104853440B publication Critical patent/CN104853440B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/53Allocation or scheduling criteria for wireless resources based on regulatory allocation policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless

Abstract

本发明公开了一种RRC状态机实现方法及装置,根据RRC层协议栈的复杂度以及涉及到的过程的相互关系,对每一个可能引起4个基本状态改变的功能过程,添加了该过程执行的各个触发子状态,以此来控制各个过程中对接收到相应消息的处理判断,通过单一线程来管理协议栈的运行,保证了协议栈运行的高效和稳定;相应地,与上述实现方法对应,本发明还提出了一种RRC状态机实现装置,其包括记录单元,接收单元,回调单元和执行单元。本发明解决了协议栈开发运行时资源消耗多、运行维护复杂等问题,简化了状态机的复杂度,保证系统运行的高效性和稳定性。

Description

一种RRC状态机实现方法及装置
技术领域
本发明属于无线通信领域,具体涉及一种RRC状态机实现方法及装置。
背景技术
RRC(Radio Resource Control,无线资源控制)是层3控制面协议,是GMR-1 3G系统中空中接口部分协议栈控制面功能的实际载体,负责空中接口无线链路过程的执行。主要负责无线资源的分配与管理、系统消息广播、寻呼、RRC连接建立和释放、RRC连接移动性管理(小区更新、GRA更新)、RB管理、NAS层消息传递、测量控制、加密等等。
RRC层主要分为空闲状态和连接状态,其中连接状态又细分为RRC-Cell_Shared、RRC-Cell_Dedicated 和 RRC-GRA_PCH三种状态。RRC连接模式下,RRC层会执行相关的过程,进而实现相关的功能。
RRC消息的触发和执行使用一个线程进行控制,由状态机进行过程执行的决策控制。所以,状态机的实现是开发协议栈RRC层的核心部分,通过接收RRC消息的到来以及根据RRC消息的接收情况来触发相应的RRC处理过程,从而实现状态机的跳转,维持协议栈的运行。另外,在收到上层或下层实时性的请求,状态机控制模块能够做出正确处理。在整个子系统运行过程中,状态机控制模块还能够管理和维护RRC过程,包括并行性处理,过程的事务性管理。对具有事务性处理的过程能够保存和恢复过程的正确状态。因此,如何设计状态机使其更清晰地维护状态机跳转,同时高效地完成RRC的各个过程,将直接影响着整个协议栈的运行效率和稳定性。
状态机的一般运行方式是:在某个状态下,收到某个事件,执行相应的动作,转到相应的状态,再在新的状态下,重复上述循环,直至结束。其中事件可以是收到的消息,某个定时器的到达等;相应的动作一般可以是执行相应的函数处理等。
现有技术主要针对一般复杂度的状态机系统,涉及到的有单一并行状态机的处理,有单一串行状态机的处理;有采用状态机族方法,有采用两层状态机结构,有表格驱动的,有基于状态事件的数组结构的。而RRC层协议栈状态机复杂,涉及的过程较多,现有的技术没有完全考虑到RRC层协议栈的特点,实现起来,要么消耗过多的资源,要么线程多,运行繁杂,造成后续开发维护困难,影响整个系统的稳定性。
发明内容
本发明的目的是针对RRC协议栈的特点,提出了一种适合RRC状态机运行的RRC状态机实现方法及装置,解决协议栈开发运行时资源消耗多、运行维护复杂等问题,简化了状态机的复杂度,保证系统运行的高效性和稳定性。
本发明采取的技术方案之一是:一种RRC状态机实现方法,该方法将RRC的各个功能分类,明确过程之间的相互关系和优先级,对每一个可能引起RRC_Idle、RRC-Cell_Shared、RRC-Cell_Dedicated 和 RRC-GRA_PCH基本状态改变的功能过程,添加过程执行的各个触发子状态;实现步骤如下:
(1)用结构数组记录所有过程中出现的状态事件及对应的处理函数,并初始化;
(2)当接收到事件后,确定事件类型,再判断当前的状态,判断当前的状态下收到的事件是否在结构数组记录中有相应的处理函数,若有,调用回调函数执行相应的函数,将状态改变到新的状态;若没有相应的处理函数,则丢弃收到的消息,不作处理,状态保持不变;
(3)重复步骤(2),过程直至结束。
进一步的,所述结构数组的构成如下:
结构数组S{
参数1 状态;
参数2 事件;
参数3 回调函数(形参1, 形参2, 形参3);
}rrc_sm[] = {
{状态0, 事件1,函数1},
{状态1, 事件2,函数2},
{状态2, 事件3,函数3},
{状态2, 事件1,函数4},
………其他……
{状态4, 事件1,函数2}
};。
所述结构数组中的参数3是一个回调函数,函数1、2、3、4有相同的形参,符合回调函数的要求。
进一步的,所述回调函数构成如下:
循环判断for(i=0; i<rrm_sm数组大小;i++){
if(收到事件所处的状态 == rrm_sm[i]中的状态
且 收到的事件==rrm_sm[i]中的事件){
执行rrm_sm[i]对应的回调函数}
}。
所述的方法中,RRC层的信令过程包括RRC连接建立过程、初始直传过程、上下行直传过程、小区更新过程;其中RRC连接建立过程要先完成,这个过程分为0、1、2三个小的子状态,该过程完成后基本状态从空闲状态转到连接状态,在所述的连接状态下,初始直传过程、上下行直传过程、小区更新过程都可以发生,但是上下行直传过程必须要等到初始直传过程发生后才能完成,而小区更新过程和初始直传过程没有联系,小区更新过程的优先级高。这样,在完成RRC连接建立过程后,如果同时收到初始直传过程、上下行直传和小区更新过程的事件,则优先处理小区更新过程。
进一步的,所述初始直传过程包括子状态3、4、5,上下行直传过程包括子状态6、7,小区更新过程包括子状态8、9、10;所述子状态3、4、5、6、7、8、9、10都处在一个大的基本状态下,在这个大的基本状态下,只要收到最高优先级的事件触发小区更新过程,就立即转到子状态8执行小区更新过程。
本发明采取的技术方案之二是:
一种RRC状态机实现装置,其包括:
记录单元:记录所有过程的子状态以及在该子状态下可能收到哪个事件,并能作出哪种响应;然后存储下来;
接收单元:当状态机启动后,用于接收外部来的或本身的触发事件,确定事件类型,在记录单元中查找对应当前状态和事件存在的响应;
回调单元:回调当前状态和事件对应的响应;
执行单元:执行实际的响应,转变到新的状态。
本发明的有益效果是:本发明采用单一线程来管理状态机运行,将协议栈中的各个过程首先分解成子状态触发,用数组结构形式存储状态事件及对应的处理函数,处理函数表示成回调函数形式,只需用一个上述数组结构就能完全将协议栈所有过程之间的关系和优先级体现出来,节省资源,简化协议栈的开发,提高协议栈运行的效率和稳定性,使状态机支持信令连接级独立运行,及多业务并存。实际开发中,代码清晰,协议后续若有扩展过程,可快速、准确、灵活地将新过程加入到状态机控制中,节省开发时间,并且,代码简单,易于维护。
附图说明
图1是状态机运行流程图。
图2是状态转移图。
图3是状态机实现装置结构图。
具体实施方式
下面结合附图对本发明作进一步说明。
本发明提供一种针对GMR-1 3G RRC协议栈状态机的实现方法和装置,根据RRC层协议栈的复杂度以及涉及到的过程的相互关系,对每一个可能引起4个基本状态改变(RRC_Idle、RRC-Cell_Shared、RRC-Cell_Dedicated 和 RRC-GRA_PCH)的功能过程,添加了该过程执行的各个触发子状态,以此来控制各个过程中对接收到相应消息的处理判断,通过单一线程来管理协议栈的运行,保证了协议栈运行的高效和稳定。提出的装置包括:记录单元、接收单元、回调单元、执行单元。
本发明首先根据协议,将RRC的各个功能分类,哪些过程必须是按先后顺序实现的,之间有明确的因果关系;哪些是可以并行实现的,即在某个状态下都有可能发生;哪些功能的实现优先级最高;然后再添加各个过程的触发子状态,明确哪个子状态能收到哪条消息(对应事件),执行什么样的动作(对应处理函数);之后将其记录保存下来,可以用状态事件表保存,也可以利用数组保存,保证记录的完整准确,同时要能体现过程之间的相互关系和优先级。实现的流程图如1所示,具体实现步骤如下:
1)用结构数组记录所有过程中出现的状态事件及对应的处理函数,并初始化,数组结构构成如下:
struct rrc_state{
uintstate;
uintevent;
int (*route)(int a, int b, void* c);
}rrc_sm[] = {
{状态0, 事件1,函数1},
{状态1, 事件2,函数2},
{状态2, 事件3,函数3},
{状态2, 事件1,函数4},
{状态4, 事件1,函数2}
};
上述数组结构中的route是一个回调函数,函数1、2、3、4等有相同的形参,符合回调函数的要求。而且上述结构中完整记录了所有可能出现的过程状态事件及处理函数,如状态0下收到事件1,执行函数1动作;在上述记录表中,过程之间的相互关系以及优先级体现在附图2的状态转移表中。此处给出的状态只是状态中一部分,在具体应用中可以根据已该结构为基础进行增加。
2)当接收到事件后(消息或定时器到达),确定事件类型,再判断当前的状态,看在当前的状态下收到的事件是否在上述记录表中有相应的处理函数,若有,调用回调函数执行相应的函数,将状态改变到新的状态;若没有相应的处理函数,丢弃收到的消息,不处理,状态保持不变。
调用回调函数的伪码如下:
for(i=0; i<rrm_sm数组大小;i++)
{
if(rrc_state == rrm_sm[i].state&& event==rrm_sm[i].event){
执行rrm_sm[i].route(int a, int b, void* c)}
}
3)重复2)过程直至结束。
如图2所示,比方RRC层的信令过程有RRC连接建立过程(相当于a过程)、初始直传过程(相当于b过程)、上下行直传过程(相当于c过程)、小区更新过程(相当于d过程)等等,设定状态0、1、2是过程a的子状态,状态3、4、5是过程b的子状态,状态6、7是过程c的子状态,状态8、9、10是过程d的子状态。假定过程a完成之后变到状态2,这时可以用一个主状态(4个基本状态之一)去表示,在该状态(对应子状态2)下,过程b、过程c、过程d都可以发生,但是过程c必须等到过程b完成之后才完成,这两个过程有先后顺序,而过程d和过程b完全是并行的,之间没有联系,但是过程d的执行优先级最高,也就是说,状态3、4、5、6、7、8、9、10都处在一个大的主状态下,在这个大的主状态下,只要收到最高优先级的事件触发过程d发生,就立即转到子状态8,执行过程d,不管状态是处在过程b还是过程c的任一子状态。图2中的在状态3、4、5、6、7状态下收到事件10都会转到状态8,表明事件10的优先级要高于事件6、7、8、9。
我们分解RRC协议栈中的过程,将过程执行分解为子状态触发,将子状态和事件以及对应的处理函数都记录到前面定义的数组结构中,同时按照上述的描述,记录好过程之间的联系,对并行执行的过程,如果有优先级的过程,要记录所有低优先级过程子状态收到高优先级事件及对应的处理函数。这样,维护RRC的状态机就变得简单,只需要一个数组结构就可以实现。后续若有新的过程加入,分析过程关系,分解过程子状态,就很方便地加入到状态机中运行;而且运行时,通过调用回调函数,无需多次查找,耗费的资源也较少,使状态机能高效稳定的运行。另外,本提案中只为状态机分配一个线程,一个时序只接收一个事件,保证了状态机的稳定,减少状态机实现的复杂度。
如图3所示,相应地,与上述实现方法对应,本发明提案还提出了一种状态机实现装置,包括:
记录单元:记录所有过程的子状态以及在该子状态下可能收到哪个事件,并能作出哪种响应,按照本发明申请提出的方法存储下来。
接收单元:当状态机启动后,用于接收外部来的或本身的触发事件,确定事件类型,在记录单元中查找对应当前状态和事件存在的响应。
回调单元:回调当前状态和事件对应的响应。
执行单元:执行实际的响应,转变到新的状态。
上述实现装置与本提案中状态机的实现方法流程一一对应,在具体的实现过程中,可以将各单元在同一个软件和硬件上实现。
以上给出的a、b、c、d四个过程只是一部分,若在此基础上进行增加,本提案所提供的思想仍然适用。如RRC层的信令过程还包括系统消息广播过程、寻呼过程、RB管理过程、测量控制过程、加密过程等等;RRC层过程多,过程之间的相互交叉融合,有些过程之间存在执行逻辑先后顺序,有些过程之间存在优先级高低顺序,所以设计一个高效的状态机程序对维护RRC层来说就非常重要。这些过程之间的执行顺序就可通过设计一个高效的状态机来管理和维护。
以上所列举的过程仅为本提案的较佳实施例而已,并非用于限定本提案的保护范围。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。

Claims (5)

1.一种RRC状态机实现方法,其特征在于:将RRC的各个功能分类,明确过程之间的相互关系和优先级,对每一个可能引起RRC_Idle、RRC-Cell_Shared、RRC-Cell_Dedicated和RRC-GRA_PCH基本状态改变的功能过程,添加过程执行的各个触发子状态;实现步骤如下:
(1)用结构数组记录所有过程中出现的状态事件及对应的处理函数,并初始化;
(2)当接收到事件后,确定事件类型,再判断当前的状态,判断当前的状态下收到的事件是否在结构数组记录中有相应的处理函数,若有,调用回调函数执行相应的函数,将状态改变到新的状态;若没有相应的处理函数,则丢弃收到的消息,不作处理,状态保持不变;
(3)重复步骤(2),过程直至结束;
所述的方法中,RRC层的信令过程包括RRC连接建立过程、初始直传过程、上下行直传过程、小区更新过程;其中RRC连接建立过程要先完成,这个过程分为0、1、2三个小的子状态,该过程完成后基本状态从空闲状态转到连接状态,在所述的连接状态下,初始直传过程、上下行直传过程、小区更新过程都可以发生,但是上下行直传过程必须要等到初始直传过程发生后才能完成,而小区更新过程和初始直传过程没有联系,小区更新过程的优先级高。
2.根据权利要求1所述的一种RRC状态机实现方法,其特征在于:所述结构数组的构成如下:
结构数组S{
参数1状态;
参数2事件;
参数3回调函数(形参1,形参2,形参3);
}rrc_sm[]={
{状态0,事件1,函数1},
{状态1,事件2,函数2},
{状态2,事件3,函数3},
{状态2,事件1,函数4},
{状态4,事件1,函数2}
}。
3.根据权利要求2所述的一种RRC状态机实现方法,其特征在于:所述结构数组中的参数3是一个回调函数,函数1、2、3、4有相同的形参,符合回调函数的要求。
4.根据权利要求1所述的一种RRC状态机实现方法,其特征在于:所述回调函数构成如下:
5.根据权利要求1所述的一种RRC状态机实现方法,其特征在于:所述的方法中,有逻辑先后顺序的,先执行逻辑在前的过程,有优先级高低的先执行高优先级的过程;所述初始直传过程包括子状态3、4、5,上下行直传过程包括子状态6、7,小区更新过程包括子状态8、9、10;所述子状态3、4、5、6、7、8、9、10都处在一个大的基本状态下,在这个大的基本状态下,只要收到最高优先级的事件触发小区更新过程,就立即转到子状态8执行小区更新过程。
CN201510251597.1A 2015-05-18 2015-05-18 一种rrc状态机实现方法及装置 Expired - Fee Related CN104853440B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510251597.1A CN104853440B (zh) 2015-05-18 2015-05-18 一种rrc状态机实现方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510251597.1A CN104853440B (zh) 2015-05-18 2015-05-18 一种rrc状态机实现方法及装置

Publications (2)

Publication Number Publication Date
CN104853440A CN104853440A (zh) 2015-08-19
CN104853440B true CN104853440B (zh) 2019-03-05

Family

ID=53852707

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510251597.1A Expired - Fee Related CN104853440B (zh) 2015-05-18 2015-05-18 一种rrc状态机实现方法及装置

Country Status (1)

Country Link
CN (1) CN104853440B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108668343B (zh) * 2017-04-01 2021-07-09 中国移动通信有限公司研究院 一种终端设备的状态控制方法、网络侧设备及终端设备
CN107148058B (zh) * 2017-05-12 2020-10-30 合肥东芯通信股份有限公司 一种无线资源控制协议栈系统
CN107678807A (zh) * 2017-10-10 2018-02-09 郑州云海信息技术有限公司 一种软件实现状态机的方法及装置
CN108269200A (zh) * 2017-12-29 2018-07-10 深圳市科陆电子科技股份有限公司 一种基于状态机控制模型的告警事件处理方法及系统
CN108845844A (zh) * 2018-05-30 2018-11-20 郑州云海信息技术有限公司 一种状态转换方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860905A (zh) * 2009-04-10 2010-10-13 大唐移动通信设备有限公司 一种状态转移过程中确定数据传输格式的方法和系统
CN101867906A (zh) * 2010-05-25 2010-10-20 中国科学院计算技术研究所 一种基于无线资源控制的信令交互管理方法
WO2012074451A1 (en) * 2010-11-30 2012-06-07 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for supporting state reconfiguration of user equipments
CN103037391A (zh) * 2013-01-17 2013-04-10 上海交通大学 基于数据流预测的低功耗rrc协议优化控制方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101860905A (zh) * 2009-04-10 2010-10-13 大唐移动通信设备有限公司 一种状态转移过程中确定数据传输格式的方法和系统
CN101867906A (zh) * 2010-05-25 2010-10-20 中国科学院计算技术研究所 一种基于无线资源控制的信令交互管理方法
WO2012074451A1 (en) * 2010-11-30 2012-06-07 Telefonaktiebolaget L M Ericsson (Publ) Methods and devices for supporting state reconfiguration of user equipments
CN103037391A (zh) * 2013-01-17 2013-04-10 上海交通大学 基于数据流预测的低功耗rrc协议优化控制方法

Also Published As

Publication number Publication date
CN104853440A (zh) 2015-08-19

Similar Documents

Publication Publication Date Title
CN104853440B (zh) 一种rrc状态机实现方法及装置
TWI534606B (zh) 從多輸入多輸出向單輸入單輸出轉變以省電的裝置
WO2022042528A1 (zh) 一种智能的无线接入网络
JP7432758B2 (ja) 無線インテリジェントコントローラのe2ポリシーへのユーザ機器ごとの制御の追加
CN202889646U (zh) 在混合操作期间修改无线电测量值的设备及相关设备
CN103945505B (zh) 长期演进系统非连续接收参数的配置方法与系统
US20220014942A1 (en) Ml model management in o-ran
TWI646849B (zh) 用於演進節點b參數調諧的輔助資訊
US11240640B2 (en) Multicast bearer management method and terminal device
CN101765184B (zh) 一种使用下行控制信道调度载波资源的方法及设备
WO2014070321A1 (en) Signaling qos requirements and ue power preference in lte-a networks
CN109656725B (zh) 消息消费者切换方法、装置、存储介质及电子设备
HUE034289T2 (en) Systems and Procedures for Improved User Device Support Information in Wireless Communication Systems
US9462549B2 (en) Systems and methods for optimizing power consumption associated with processing group addressed messages
CN105227378B (zh) 综合管理WiFi网络和有线网络的软件定义系统以及方法
CN107172187A (zh) 一种负载均衡系统和方法
EP3794901B1 (en) Apparatus and methods for network scheduled ue transition to cm-connected/rrc connected mode in 5gs
CN109845308A (zh) 用于无线局域网的可扩展无线电资源管理的系统和方法
CN109076432A (zh) 用于终止邻居感知联网(nan)路径的装置、系统和方法
WO2016112527A1 (zh) 能力信息上报方法、装置和设备
US20210360738A1 (en) Resource management method and apparatus
Jandl et al. Edge-based autonomous management of vertical farms
CN106797331A (zh) 用于调试网络节点的方法
WO2016169216A1 (zh) 一种多连接通信的分布式协调方法和装置
KR100929235B1 (ko) 무선 센서 네트워크의 동적 재구성방법 및 그 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wang Xiaojun

Inventor after: Jia Yizhen

Inventor after: Liu Jianfeng

Inventor after: Zhu Liyong

Inventor after: Wang Bo

Inventor after: Sun Liangliang

Inventor after: Xiao Yue

Inventor before: Wang Xiaojun

Inventor before: Liu Jianfeng

Inventor before: Zhu Liyong

Inventor before: Wang Bo

Inventor before: Sun Liangliang

Inventor before: Xiao Yue

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190305