电信级统一消息系统的计费系统设计
2.2 计费系统的设计
计费系统主要由数据采集子系统、数据处理子系统和数据库子系统三部分组成。如图2所示。
2.2.1 数据采集子系统
数据采集子系统是计费系统的关键所在,针对UMS系统的数据来源比较复杂的特点,设计了率费采集软总线,所有数据源均通过Adapter(软件适配器)联入软总线,再按要求入数据库,以便处理。结构如图3所示。
(1)计费采集软总线
实现中采用满足J2EE的中间件来构架,具有高性能。海量伸缩性和可用性,能支持大规模的处理,能支持多种客户端,能支持多种主流的关系数据库。正如对硬件系统复杂化而导致 了总线结构的兴起,软件开发也迎来了“总线时代”。软总线结构,是指所有的功能部件以相同的方式连接在一个用来相互通信的结构性部件上。由此带来的好处是:部件的内部设计具有独立性,设计人员可以专注于部件的功能设计。由于遵从统一的通信机制,完全实现了部件通用化。在这种软件体系结构中,软件构件(主要是中间件)就像硬件的“插件”,可以随意添加和删减,大大提高了系统的灵活性和可靠性。
为了提高系统的效率和伸缩能力,软总线是客户的应用建立和维护数据库的连接池,供多个客户的请求,能够共享和重用,避免了为每个连接请求重新建立新的连接。在系统运动过程中,当应用为客户的请求建立数据库的连接时,它实际上只是建立了虚拟的连接,真正的数据库连接由软总线建立和管理,并将它们和应用建立的虚拟连接联系起来。当某个连接不被使用时,该连接被标志为空闲。如果数据库连接空闲的时间达到预先设定的值,它将会被释放。应用可以从系统的多线程的处理能力获得很多好处。多线程处理能力,可以优化应用的处理性能,因为多线程机制可以充分利用多处理器的平行处理能力。开发者的应用可以运行数据库的操作如查询、插入、更新、删除等操作于异步方式。异步方式的操作允许系统在提交耗时的长事务处理后,可以继续处理其它短事务。支持应用的分割,它允许应用逻辑被分布在多个服务器上,以适应系统负载的增加。利用系统管理工具,可以将应用按照功能模块进行分割并且部署在多台服务器上。
(2)计费采集适配器
主要提供标准接口,使各数据源的连接方便且易于扩展。IDL是一种接口定义语言,通过它实现了对象接口与对象实现分离,屏蔽了语言和系统软件带来的异构件。通过标准的IDL编译器,可生成客户端的IDLStub和服务器端的Skeleton,IDL Stub提供了访问对象服务的静态接口,而Skeleton则包含了服务对象的静态接口并负责实现与对象实现中具体方法的连接。
目前有基于iPlanet Mail Server的适配器、基于Avaya PBX的适配器、基于Nortel PBX的适配器,还可以根据标准接口开发其它适配器,以满足要求。
a)支持实时数据的采集、存贮、管理;
b)通过数据软总线进行数据格式转换;
c)事件驱动、数据前推;
d)伸缩性的构架——不同的数据对象可以选择不同的适配器组件;
e)多种形式的数据共享接口,可以方便发将数据导出到其它管理系统中,如EXCEL、ODBC/JDBC数据库等。
2.2.2 数据库子系统
采集来的数据存入数据库,原始的计费源数据称为CDR(Call Detail Record),CDR数据将由计费系统处理后计费和生成帐单。
CDR数据是在UMS系统中由各数据源触发事件而产生的,大体上分为对邮件系统操作产生的CDR、对PBX操作产生的CDR、对移动设备操作产生的CDR、
《电信级统一消息系统的计费系统设计(第2页)》