本发明专利技术公开了基于设计模式的RRC软件架构,涉及通信技术领域,包括任务函数模块、管理模块、程序模块、小区管理模块、时间管理模块和通用模块,任务函数模块将从消息队列中收到的消息交由管理模块,管理模块将消息生成命令并确定该消息所属流程,将生成的命令存放至管理模块中的命令队列以待触发执行,程序模块用于完成各流程的操作,程序模块为状态模式,根据相应处理流程,在流程对象内部改变状态,使在运行时刻根据状态可以改变流程行为;使用设计模式的思想取代多层状态机的设计思路,通过协议状态和流程子状态的转移实现流程的现状;命令及中介者模块的引入解耦了流程与流程之间的消息交互,提高了整个系统的可维护性及功能的可扩展性。的可扩展性。的可扩展性。
【技术实现步骤摘要】
基于设计模式的RRC软件架构
[0001]本专利技术涉及通信
,尤其涉及一种基于设计模式的RRC软件架构。
技术介绍
[0002]无线资源控制(Radio Resource Control,RRC)层,是位于3G/4G/5G通信系统中的RNC、基站或CU实体中的软件功能层。RRC层向上连接非服务接入点(SAP),向下控制无线承载。其主要功能是管理控制无线资源,为上层提供所需无线资源,并且负责控制下层资源的建立、配置、修改和释放等。RRC层是非接入层(NAS)和接入层(AS)的连接点,在整个通信体系中具有非常重要的作用。传统意义上的无线资源管理包括呼叫准入控制、切换技术、功率控制、信道分配、分组调度技术和端到端的QOS保障等。
[0003]为了实现无线资源管理的具体功能RRC层协议规定了各种各样数目繁多的流程,流程可以理解为一组信令按照时间顺序的某种组合。RRC流程的特点是一级流程可能镶嵌几级其他不同的流程,而且根据流程中某一步的处理结果不同可能调用完全不同的多种流程。而且某一流程会根据信令的处理结果进入各种不同状态,不同的状态又导致后续处理会有完全不同的步骤。此外,RRC流程的另一个特点是异常繁多,依据下层无线资源的状况,一个流程通常在每一步都会产生各种不一样的异常结果,而异常结果的不同将会进一步影响RRC流程的走向。简而言之流程中嵌套流程,异常中嵌套异常。
[0004]由于RRC流程和异常的复杂性,通常的面向过程的RRC层软件框架倾向于使用多层状态机来控制流程走向和异常走向。在添加新的流程和异常的时候通常会修改多个状态机,使得软件的开发和维护异常繁琐复杂,并且容易出现新功能的修改导致原有功能失效的情况,而且多层状态机的框架如果前期设计不尽合理会导致后期新特性的开发相互死锁,不同功能导致代码中的冲突会越来越多,严重的可能导致某些功能实现不了。
[0005]为了解决上述问题,为了保证RRC层软件开发的可持续性,可扩展性和可维护性,考虑采用面向对象的设计模式方法解决增量的特性开发与既有功能维护的矛盾,按照设计模式的方法将流程和异常模块化和独立化,使得软件的开发更加符合开闭原则,对流程和异常的扩展开放,对既有正常流程和异常处理的修改关闭。最终实现可持续地增量开发和流程异常独立维护的目的。
技术实现思路
[0006]本专利技术的目的就在于为了解决上述问题设计了一种基于设计模式的RRC软件架构。
[0007]本专利技术通过以下技术方案来实现上述目的:
[0008]基于设计模式的RRC软件架构,包括:
[0009]任务函数模块;任务函数模块用于事件组的创建、RRC任务的创建、储存池和流程的初始化;
[0010]管理模块;任务函数模块将从消息队列中收到的消息交由管理模块,管理模块将
消息生成命令并确定该消息所属流程,将生成的命令存放至管理模块中的命令队列以待触发执行;
[0011]流程模块;流程模块用于完成各流程的操作,流程模块为状态模式,流程模块定义了各流程处理命令的接口和具体状态子类实现状态类中的接口,将状态类对象作为流程对象的私有变量,由流程对象维护一个具体状态子类,根据相应处理流程,在流程对象内部改变状态,使在运行时刻根据状态可以改变流程行为;
[0012]小区管理模块;小区管理模块用于存放和管理小区的相关信息;
[0013]时间管理模块;时间管理模块用于管理定时器的相关信息;
[0014]通用模块;通用模块用于定义RRC软件用到的相关类型及常亮定义。
[0015]本专利技术的有益效果在于:使用设计模式的思想取代多层状态机的设计思路,通过协议状态和流程子状态的转移实现流程的现状;命令及中介者模块的引入解耦了流程与流程之间的消息交互,提高了整个系统的可维护性及功能的可扩展性。
附图说明
[0016]图1是本专利技术基于设计模式的RRC软件架构的结构示意图;
[0017]图2是小区选择流程中的流程、状态、命令交互示意图;
[0018]图3是小区选择流程示意图;
[0019]图4是小区选择流程与Sib流程交互示意图。
具体实施方式
[0020]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0021]因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0023]在本专利技术的描述中,需要理解的是,术语“上”、“下”、“内”、“外”、“左”、“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。
[0024]此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0025]在本专利技术的描述中,还需要说明的是,除非另有明确的规定和限定,“设置”、“连接”等术语应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连
接;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0026]下面结合附图,对本专利技术的具体实施方式进行详细说明。
[0027]如图1、图2所示,基于设计模式的RRC软件架构,包括:
[0028]任务函数模块;任务函数模块用于事件组的创建、RRC任务的创建、储存池和流程的初始化;
[0029]管理模块;任务函数模块将从消息队列中收到的消息交由管理模块,管理模块将消息生成命令并确定该消息所属流程,将生成的命令存放至管理模块中的命令队列以待触发执行;
[0030]流程模块;流程模块用于完成各流程的操作,流程模块为状态模式,流程模块定义了各流程处理命令的接口和具体状态子类实现状态类中的接口,将状态类对象作为流程对象的私有变量,由流程对象维护一个具体状态子类,根据相应处理流程,在流程对象内部改变状态,使在运行时刻根据状态可以改变流程行为;
[0031]小区管理模块;小区管理模块用于存放小区的相关信息;
[0032]时间管理模块;时间管理模块用本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.基于设计模式的RRC软件架构,其特征在于,包括:任务函数模块;任务函数模块用于事件组的创建、RRC任务的创建、储存池和流程的初始化;管理模块;任务函数模块将从消息队列中收到的消息交由管理模块,管理模块将消息生成命令并确定该消息所属流程,将生成的命令存放至管理模块中的命令队列以待触发执行;流程模块;流程模块用于完成各流程的操作,流程模块为状态模式,流程模块定义了各流程处理命令的接口和具体状态子类实现状态类中的接口,将状态类对象作为流程对象的私有变量,由流程对象维护一个具体状态子类,根据相应处理流程,在流程对象内部改变状态,使在运行时刻根据状态可以改变流程行为;小区管理模块;小区管理模块用于存放和管理小区的相关信息;时间管理模块;时间管理模块用于管理定时器的相关信息;通用模块;通用模块用于定义RRC软件用到的相关类型及常亮定义。...
【专利技术属性】
技术研发人员:向荣,钱斌,刘荣,袁勇,温黔伟,
申请(专利权)人:成都盟升科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。