本文基于SOA架构,采用可定制规则分拣的预处理引擎、高扩展性的批价引擎以及共享内存数据库等技术设计实现了一种具有高实时性、高可扩展性和高灵活性的新一代实时融合在线计费系统。
1 系统架构
在线计费指计费信息可以实时影响业务的提供、帐户余额可以实时更新的计费机制,可分为基于事件型和基于会话型的在线计费。会话型的典型例子是用户打电话,需要持续一段时间;事件型的典型例子是发短信,一次消息触发一次计费。以会话型计费在线计费为例,用户通话过程中消息可分为三种:初始化消息,更新消息和结束消息。用户通话一开始发送初始化消息,然后系统根据事先设定的预留策略(比如3min),定时发送更新消息直至用户通话结束,之后向在线计费系统发送结束消息,在线计费系统则在线实时采集这些消息进行鉴权、预留、计费、扣费,一旦用户余额不够一次预留量,则根据余额反算时长,将时长通知网元,网元在用户达到指定时长后停止用户通话。
在线计费系统架构图如图1所示。
由在线采集模块负责采集话单文件及在线消息,并转化为统一格式消息进行主机级消息分发。计费消息调度模块负责消息的接收与发送以及消息的进程级分发。计费控制模块接收到计费消息后进行协议解析,生成计费事件,并根据计费事件类型及数据库数据分别由预处理引擎、批价引擎、余额管理和会话管理处理,实现基于会话承载的计费、基于内容事件的计费以及用户账户管理。最后,系统通过话单生成程序将业务使用记录和计费结果保存到CDR文件中。
为了满足未来海量数据处理的需要以及系统扩容的需求,系统采用主机级消息分发和进程级消息分发两级分发策略。其中主机级消息分发由运行于IMPDiameter Server上的在线采集模块负责。如图2所示,IMP Diameter Server在收到信用控制请求包(CCR)后,会根据CCR中的用户标识信息以及共享内存数据库中的路由策略(如用户、地域、号段、网络设备等)来决定将这个CCR分发给那一个在线计费系统(OCS)主机进行处理。在OCS主机收到CCR后,计费消息调度模块中的分发进程会根据CCR的业务类型和OCS进程的负载情况将CCR包指派给某个具体的OCS进程进行处理。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)