电信实时系统多进程共享内存池交互组件和方法技术方案

技术编号:9794463 阅读:202 留言:0更新日期:2014-03-21 18:43
电信实时系统多进程共享内存池交互组件和方法,通过设置共享内存池SMP模块,有利于减少进程之间需要传输的数据量,提高电信实时系统处理性能,其特征在于,包括以下步骤,业务逻辑层的入口进程根据来自接口层的统一请求消息UNIREQ开始业务处理,并向共享内存池SMP申请一个内存块,将业务处理中的业务层统一消息UNIMSG存放在该内存块中;业务处理完毕后,仅仅将该统一消息UNIMSG的句柄传给下一个进程,而不是像之前传递整个统一消息UNIMSG;该下一个进程通过统一消息UNIMSG的句柄访问共享内存池SMP,从内存块中获得统一消息UNIMSG或释放所述内存块。

【技术实现步骤摘要】

本专利技术涉及电信实时系统多进程技术,特别是一种。
技术介绍
目前,基于3G通信的数据和增值业务已成为发展重点,因此对承担业务实时计费,鉴权等后台任务的电信营运商的移动数据业务和增值业务管理平台系统之性能,提出了更高的要求。专利技术人认为,系统的进程间数据交互部分如果能够减少数据的内存拷贝,降低对操作系统内核的压力,则在相同硬件配置情况下,系统性能够得到显著提高。图1是现有技术中的电信实时系统架构示意图,如图1所示,电信实时系统多进程交互组件包括接口层和业务逻辑层,统一请求消息UNI REQ从接口层传递到业务逻辑层,统一回复消息UNI RSP从业务逻辑层传递到接口层。接口层包括多种消息接口适配器,例如,鉴权计费请求消息接口适配器,SOAP消息接口适配器,DIAMETER消息接口适配器。业务逻辑层包括分别连接交易中间件的多个进程,例如,入口进程,鉴权进程,批价进程,其它进程;统一消息UNMSG通过交易中间件和IPC消息队列在进程之间传递。电信营运支撑系统的工作流程简要说明如下:①接口适配器将外部系统的各种消息转换为内部统一的请求消息(UNIREQ),发给应用服务器的入口进程;②入口进程处理请求消息,分析业务处理逻辑,根据消息指示,生成会话数据存放于数据库的会话表中,或再查找数据库获得已经生成的会话,整合生成业务层统一消息(UNMSG)消息,包含管理信息段,请求信息段,回复信息段,并通过中间件将UNMSG (内部使用IPC消息队列)发送给下一个业务进程业务进程访问UNMSG中的信息进行逻辑处理,填写必要的回复信息,若处理失败或流程结束,通过中间件返回统一回复消息(UNIRSP)给接口适配层,否则将UNMSG交给下一个业务进程处理;④接口层适配器将UNIRSP转换为外部消息,发送给相应的外部系统,完成鉴权计费处理。但是现有技术存在以下缺陷或不足:由于接口层和业务逻辑层之间设计为基于TCP/IP的局域网通讯,信息网络I/O的交互不可避免;对于基于中间件的IPC消息队列的进程间通讯,UNMSG在进程间通过中间件来交互,但UNMSG消息长度多达IK以上,使进程间的数据交换占用了大量的系统开销。
技术实现思路
本专利技术针对现有技术中存在的缺陷或不足,提供一种,通过设置共享内存池SMP模块,以便在进程之间仅仅传递统一消息UNIMSG的句柄,而不是像之前传递整个统一消息UNMSG,从而有利于减少进程之间需要传输的数据量,提高电信实时系统处理性能。电信实时系统多进程共享内存池交互方法,其特征在于,包括以下步骤,业务逻辑层的入口进程根据来自接口层的统一请求消息UNIREQ开始业务处理,并向共享内存池SMP申请一个内存块,将业务处理中的业务层统一消息UNIMSG存放在该内存块中;业务处理完毕后,仅仅将该统一消息UNMSG的句柄传给下一个进程,而不是像之前传递整个统一消息UNIMSG ;该下一个进程通过统一消息UNMSG的句柄访问共享内存池SMP,从内存块中获得统一消息UNIMSG或释放所述内存块,由此减少了进程之间需要传输的数据量,提高电信实时系统处理性能。所述SMP包括内存块组成的内存池、Hash表、任务队列、计数器组和性能统计信息模块。所述Hash表,用来存放共享会话信息。所述任务队列,用于提供进程间的消息通知。所述计数器组,用于提供进程间共享的计数器。所述性能统计信息模块,用于组件使用过程中的统计数据。电信实时系统多进程共享内存池交互组件,其特征在于,包括内置于电信实时系统业务逻辑层的共享内存池SMP模块,所述业务逻辑层的入口进程接收来自接口层的统一请求消息UNIREQ开始业务处理,并向共享内存池SMP模块申请一个内存块,将业务处理中的业务层统一消息UNIMSG存放在该内存块中,业务处理完毕后,仅仅将该统一消息UNIMSG的句柄传给下一个进程,而不是像之前传递整个统一消息UNIMSG,该下一个进程通过统一消息UNMSG的句柄访问共享内存池SMP,从内存块中获得统一消息UNMSG或释放所述内存块;所述业务逻辑层向接口层传送统一回复消息UNIRSP ;所述SMP包括内存块组成的内存池、Hash表、任务队列、计数器组和性能统计信息模块,所述Hash表,用来存放共享会话信息;所述任务队列,用于提供进程间的消息通知;所述计数器组,用于提供进程间共享的计数器;所述性能统计信息模块,用于组件使用过程中的统计数据。本专利技术的技术效果如下:采用本专利技术的电信实时系统,对其进行压力测试的结果表明,在相同硬件配置和测试环境下,同样的CPU利用率,系统的性能提高了 30%以上。【附图说明】图1是现有技术中的电信实时系统架构示意图。图2是实施本专利技术的引入了 SMP的电信实时系统架构示意图。图3是SMP的结构示意图。【具体实施方式】下面结合附图(图1-图3)对本专利技术进行说明。图1是现有技术中的电信实时系统架构示意图,如图1所示,包括接口层和业务逻辑层,统一请求消息UNI REQ从接口层传递到业务逻辑层,统一回复消息UNI RSP从业务逻辑层传递到接口层。接口层包括多种消息接口适配器,例如,鉴权计费请求消息接口适配器,SOAP消息接口适配器,DIAMETER消息接口适配器,等等。业务逻辑层包括分别连接交易中间件的多个进程,例如,入口进程,鉴权进程,批价进程,其它进程等等;统一消息UNI MSG通过交易中间件和IPC消息队列在进程之间传递。经分析和测试,系统处理的开销很大部分用在进程,中间件,系统内核之间的数据交换,为减少这部分的CPU消耗,需要尽量减少数据在内存的拷贝。因此,如图2所示(图2是实施本专利技术的引入了 SMP的电信实时系统架构不意图),引入SMP模块(Shared Memory Pool: SMP)机制:入口进程开始业务处理后,向SMP申请数据块,用以存放UNIMSG,根据消息指示生成会话,存放于共享内存会话表中,或在共享内存会话表中查找已有的会话,将该UNIMSG的句柄传给下一个进程,而不是象之前传递整个消息,后续进程通过UNMSG句柄访问SMP,最后使用这个句柄的进程负责释放它。如此大大减少了进程之间需要传输的数据量,显著提高了处理性能。图3是SMP的结构示意图。如图3所示,SMP分为以下几个部分:内存块组成的内存池,Hash表,用来存放共享会话信息,任务队列,提供进程间的消息通知;计数器组,提供进程间共享的计数器;性能统计信息,组件使用过程中的统计数据。Attach到SMP的进程可以向SMP要求分配一个块,用于存放UNIMSG,也可以向SMP释放一个不再使用的块;进程从SMP得到一个块后,可以把这个块传给另一个进程,以便后续进程对块上的数据进行处理。进程处理完毕后,可以选择释放它,也可以将块存放在SMP的Hash表中(如对处于会话中的请求消息),其它进程则访问hash获得块,然后进程处理,会话结束后从hash中删除并释放这个块。该系统为电信营运商的移动数据业务和增值业务管理平台,对终端用户的业务消费提供实时控制功能,完成包括鉴权,认证,批价等功能;设计目标为7X24小时的高可靠性,高性能,高并发的后台处理系统。系统构建于商业的主流的Unix平台和事务交易中间件,采用分布式集群架构设计,单节点则为进程池方式的多进程并行处理模本文档来自技高网
...

【技术保护点】
电信实时系统多进程共享内存池交互方法,其特征在于,包括以下步骤,业务逻辑层的入口进程根据来自接口层的统一请求消息UNIREQ开始业务处理,并向共享内存池SMP申请一个内存块,将业务处理中的业务层统一消息UNIMSG存放在该内存块中;业务处理完毕后,仅仅将该统一消息UNIMSG的句柄传给下一个进程,而不是像之前传递整个统一消息UNIMSG;该下一个进程通过统一消息UNIMSG的句柄访问共享内存池SMP,从内存块中获得统一消息UNIMSG或释放所述内存块,由此减少了进程之间需要传输的数据量,提高电信实时系统处理性能。

【技术特征摘要】
1.电信实时系统多进程共享内存池交互方法,其特征在于,包括以下步骤,业务逻辑层的入口进程根据来自接口层的统一请求消息UNIREQ开始业务处理,并向共享内存池SMP申请一个内存块,将业务处理中的业务层统一消息UNIMSG存放在该内存块中;业务处理完毕后,仅仅将该统一消息UNMSG的句柄传给下一个进程,而不是像之前传递整个统一消息UNIMSG ;该下一个进程通过统一消息UNMSG的句柄访问共享内存池SMP,从内存块中获得统一消息UNIMSG或释放所述内存块,由此减少了进程之间需要传输的数据量,提高电信实时系统处理性能。2.根据权利要求1所述的电信实时系统多进程共享内存池交互方法,其特征在于,所述SMP包括内存块组成的内存池、Hash表、任务队列、计数器组和性能统计信息模块。3.根据权利要求2所述的电信实时系统多进程共享内存池交互方法,其特征在于,所述Hash表,用来存放共享会话信息。4.根据权利要求2所述的电信实时系统多进程共享内存池交互方法,其特征在于,所述任务队列,用于提供进程间的消息通知。5.根据权利要求2所述的电信实时系统多进程共享内存池交互方法,其特征在于,所...

【专利技术属性】
技术研发人员:王德杰翁小东
申请(专利权)人:北京直真科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1