论文部分内容阅读
随着市场环境的迅速变化和竞争的日益加剧,业务支撑系统,简称BSS(Business Support System),已成为电信运营企业竞争的焦点。从中国移动的BOSS到中国电信的CTG-BOSS,各电信运营商都在逐年加大对业务支撑系统BSS的投资。电信话单计费系统又是BSS的一个核心子系统,它承担着在用户使用电信企业服务后费用的核算功能,是后继资料帐务、统计查询、销帐收费等所有其他子系统的基础。随着电信市场逐步走向开放,各电信运营商之间的竞争日趋激烈,对电信话单计费子系统也提出了更高的精确性与更高的实时性的要求。比如有的电信运营商对用户的最新承诺是:话费实时查询,错一赔十。电信话单计费系统可分为采集模块和计费模块两大部分。采集模块实现对各种原始数据源(主要是二进制话单文件)进行格式化,纠错处理,转化成标准格式的文本话单,供计费模块计算费用。原始数据源种类繁多:主要是各种通讯程控交换机(比如:华为、西门子EWSD、青岛3G网TD-SCDMA、朗讯5ESS、贝尔S1240)形成的格式迥异的二进制话单文件(文件中记录有通讯通话的主被叫号码、通话开始时间、通话时长、出入中继号、呼叫转移等等通信信息),因此对于不同的交换机需要书写不同的话单采集处理程序,并最终实现采集守护进程启动后,自动监视指定的目录,发现该目录下有符合条件的文件后,马上调用相关的话单采集进程进行采集处理,最后生成计费前的标准格式文本文件。计费模块实现对采集格式化后的标准话单,依据已经制订的费率进行计费处理,形成各类话单费用清单数据,供后续帐务系统进一步处理。根据处理流程,计费模块可以分为预处理和入库两部分。计费预处理主要是对标准话单计费,包括:计次话单预处理、本地话单预处理、长途话单预处理。计费入库主要是将预处理生成的费用清单,通过调用ORACLE数据库的sqlload方式入到数据库表中去,在入库时还会调用相关的数据库存储过程(Stored Procedure)进行处理,最终为本地网帐务系统提供综合的费用清单。另外为了便于用户使用和监控程序,在计费模块中增加了数据入库监控界面。对于计费后的话费清单查询,系统采用了J2EE架构,通过提供直观的灵活的界面来方便用户查询操作。因为通讯话单的数据量是非常巨大的,考虑到实际生产中对程序处理的速度和效率的高要求,本项目最终选定以IBM小型机、UNIX操作系统、ORACLE数据库作为系统平台,采用信号灯机制、多进程并发技术,用C语言、嵌入式SQL(ESQLC)实现上述研究内容。采用传统的瀑布模型为软件开发方法,对电信计费系统进行了需求获取、需求分析和系统设计。其中:采用信号灯机制实现进程的同步互斥;对于排除重复话单,则使用了平衡二叉树算法;对于反复多次使用的资料数据使用了共享内存技术,许多个进程在同一时间共同使用一个物理内存段实现数据通信,大大提高了系统的运行效率,从各种资料表中将数据读入共享内存的工作是由计费调度程序来完成的。整个系统功能强大,高效稳定。计费后的话费清单查询模块,采用了流行的J2EE架构,由浏览器(IE)+应用服务器(TOMCAT)+后台数据库(DB)组成。开发工具是Jbuilder X。经过我们近一年的封闭开发,该电信计费子系统现在已经被山东电信公司及各地市分公司实际生产使用,近半年多的实践证明本系统完全能够满足电信企业对通讯话单分拣、计费、入库等业务精确性和实时性的需求,缩短了计费周期。而且更可喜的是,本系统现在已经被选定为中国电信集团青岛市3G测试平台TD-SCDMA网的计费系统蓝本。本文分析了电信计费系统的背景和国内外的发展现状,简要阐述了系统实现需要解决的主要问题;对系统整体进行了概要描述,对需求分析和详细设计的方法进行了细致阐述,对系统实现过程中的关键模块也给出了具体的实现技术和实现方法。