首页>>>技术>>>计费  计费产品

本地网农村电话实时充值计费系统设计方案

资永寿 张天云 张正忠 陶龙昌 2003/10/27

  摘要:随着通信技术,计算机技术和社会经济的发展,电信企业原有的计费方式已不适应当前复杂业务和客户需求。本文介绍了云南曲靖电信自主开发的实时计费语音充值系统,为新电信计费系统的设计提供了良好的可行性方案。

  关键词:电信 实时 计费 语音平台

  姿永寿 男 1965.09 高级工程师 北京邮电大学计算机系87届 学士学位
  张天云 男 1973.10 工程师 重庆邮电学院计算机系92 本

1.引言

  长期以来,农村电话缴费难、查询难的状况造成农村电话的大量欠费,企业资金无法及时收回,严重制约了我市农村电话的发展,农村电话分散,电信网点、银行机构稀少是用户缴费难、电信收费难的根本原因,农村特有的地理条件,使设立大量营收网点成本较高,过去的缴费方式已不能满足企业生存发展的需要。经过周密的调查研究,我们确立了语音充值查询这一缴费方式,从根本上解决这一问题,采用语音查询充值系统用户可以随时随地通过电话轻松方便地进行话费查询并完成话费交纳,极大的方便了用户。语音查询系统从根本上解决了用户缴费难、查询难、电信收费难这些问题,推动和促进了中国电信农村电话和农村信息化的建设,充分体现了"急用户所急,想用户所需"的面向市场的经营理念。

2. 实时充值计费系统设计方案
  农村电话语音充值查询系统结构示意图见图1。

图1、系统构成示意图


  本系统可以分为:话单采集传输子系统、计费帐务处理子系统、收费服务子系统、语音查询充值子系统、自动开停机子系统和监控服务子系统六个模块。

2.1. 话单采集传输
  话单采集传输模块主要用来实现交换机产生话单的采集、转换和上传。该模块对程控交换机每天产生的话单进行实时采集和格式转换,将原来的话单文件转换成标准的计费话单文件并及时上传到计费服务器处理。若采集前置机和计费服务器位于同一局域网内,则直接通过局域网资源共享将转换后的话单文件上传;若不在同一局域网内,则通过电信DCN网依靠FTP协议将文件上传。

  话单采集传输的核心在于原始话单文件的转换。由于交换机型号、版本不同,交换机产生的原始话单文件格式也多种多样,为了提高系统的灵活性和扩展性,系统采用定义话单格式的方法,实现仅需通过修改原始话单文件采集参数,即能将不同话单的格式转换成统一的标准话单文件。

  采集参数配置采用<字段名,绝对偏移量,类型,长度,转换方式>五元组完成。如:CC08交换机中定义。

  主叫号码 12(偏移量),字符10长度,按位转换,即可获得话单中的主叫号码。通过对配置文件中四元组的定义,完成对不同交换机话单的灵活转换。转换方式的选择视交换机而定,可能是按位,也可能是ASCII字符等等。为了避免话单重复采集,采集传输模块生成采集传输日志,杜绝错误的发生。

2.2. 计费处理模块
  计费处理模块主要用来完成对上传的标准话单文件的分拣划价。为了避免话单文件的重复处理,计费处理模块将其分拣划价至指定的备份目录,删除无效的、不符合标准话单格式的文件,同时提供话单重算功能。

  计费处理模块的核心在于标准话单文件分拣和划价的准确性和高效性。话单的准确划价依赖于话单分拣规则的准确定位,高效性体现在分拣规则定位的迅速。

  分拣规则定义:序号、主叫、被叫、局向、计费类型、帐目类型、话单分拣规则的查找采用二叉树查找,分拣规则如下:


  二叉树显示出很强的功能、很大的灵活性和很高的效率,在计费分拣前将分拣规则载入内存,更大大缩短了查询时间,二叉树的查找最多做log2n次比较,远远优于链表查找。

  为了提高计费速度,将电话设备的相关信息载入内存,减少大量内存初始化工作也是行之有效的方法。对与计费无关的设备信息无须载入内存,在系统资源紧张的情况下将会造成大量的页面交换,影响计费性能。本系统还提供计费类型和帐目类型对照关系表,适应计费和帐目的灵活对应。

2.3. 帐务处理
  帐务处理主要完成计费结果数据的下帐处理。当帐务处理模块发现有计费数据产生,它负责实现话单计量费用的优惠和下帐。

  计费处理和帐务处理两个进程需要互相通信,为了避免两个进程共享资源产生错误,实现两个进程之间的互斥,使两个进程不能同时处于临界区,系统采用信号量机制来完成。

  若是计费信号量大于1 ,则将其减1并继续。若值为0,则将进程睡眠。当计费信号量>0时,收费进程无法进入临界区,直到计费信号量减为0,收费进程才能进入临界区并进行处理。当收费信号量大于0时,计费进程也无法进入临界区处于等待状态,直到计费信号量减为0,计费进程才能进入临界区完成计费工作。

2.4. 语音充值查询
  语音充值查询模块主要是完成用户费用查询和话费充值。

  语音技术的关键是如何最大限度利用语音卡上的语音通道资源。其关键技术是如何做好分时多进程的控制。其特点是对并发事件的快速反应和有效控制。当一个用户拨入电话时,不能因其他用户占用某一通道资源而不能为当前用户提供服务,多个用户同时接入时如何有效控制流程等。

  要提供一个机制来协调语音卡的几个通路对CPU的使用,如果用While(1){…}死循环会独占CPU的使用,即使语音卡的所有通道都空闲,别的通道也得不到系统的使用权,显然这种方法是行不通的。本系统采用设定定时器来轮循语音卡的几个通道,具体而言提供一个公共通道函数100P(Init num)来完成通道状态的装换和语音卡相关功能的执行。这里采用switch(…){case…default…}的结构来完成状态切换。定义一个通道的结构,里面记录通道的即时信息。当定时时间到,关闭定时器,对某一通道进行询问,根据其通道结构中状态信息判断应执行什么动作。执行完毕后,修改通道结构中状态值,启动定时器,当下一次定时时间到来,按照同样步骤,对其它通道进行询问。这样周而复始,完成所有通道的轮询工作。由于通道切换时间较短,让用户感觉到似乎所有通道都是同时运行。

2.5. 自动开停机模块
  自动开停机主要完成对语音充值模块传来的用户复机指令和帐务处理模块送来的开机指令的处理。

  自动开停机的关键在于如何实现与交换机的通信。我们将交换机与计费机置于同一网络内,向交换机指定端口发送开停机指令实现自动开停机。无论是通过串口或以太网口向交换机发送开停机指令。如何捕获交换机返回也是至关重要。许多交换机指定的开停端口除响应开停机指令,还响应其他指令,这就给指令返回的捕获带来困难。我们采用窗口缓冲机制接收交换机返回,当缓冲区含有交换机对开停指令的返回,我们根据返回作相应处理;如超过缓冲区大于仍未接收到交换机对开停指令的响应。我们通知系统开停机失败,在下一时刻重新处理该指令。

2.6.监控模块
  监控模块主要完成对其他模块运行情况的监控。系统的监控模块提供网络连通性,系统数据库服务和应用程序的监控。

  网络连通性的监控依赖于网络层的网络控制信息协议中的Ping命令。Ping向监控网络主机发送icmp消息echo,如果有icmp消息echo reply 返回,说明监控主机可达,网络无问题;如果返回target unreachable,则说明监控主机不可达。

  对系统数据库的监控也是通过connet命令向数据库指定的端口(oracle缺省端口是1521)发送消息包,如果有应答,表示主机可以提供数据库服务,数据库正常;如果在指定时间内无应答,表明主机不提供数据库服务,数据库异常。

  对应用程序的监控我们采用四元组进行描述:

  alarm=(time,source,service,sererity)

  其中与告警时间time相关的域实际上是一个时间戳,表示监控对象最后一次运行的时间;告警源(source)是发出陷阱的网络设备的标识,一般标识为网络中IP地址;告警服务(service)是发出陷阱的网络设备上的特定应用服务,如开停机服务。告警级别(severity)表示告警的严重程度分为已清除0(cleared),不确定1(indeterminate),一般信息2(information),警告告警3(waring),次要告警 4(minor),重大告警5(major),根据告警级别可以进行有效的告警过滤。

3. 系统中使用的优化技术

3.1. 客户/服务器工作负载的平衡
  服务器最适合处理集合的数据检索和修改。客户机在显示复杂用户界面,处理数据格式化和特殊列或行的数据有效验证时效率高。本系统将计费、收费放于不同服务器,日常统计数据存放在备份数据库,充分利用其各自特点,发挥优势,均衡负载。

3.2.使用存储过程,减少网络负载
  网络是客户/服务器的工作基础,网络有限的带宽也成为它的一个主要瓶颈,减少网络负载,可以改善系统响应时间、吞吐量,使用存储过程代替SQL语言有效减少了网络流量。

  存储过程的使用提高了系统的效率,节省了内存,数据库的操作业务规则全部统一在服务器端,保证多种应用、多个客户对数据使用的一致性。

3.3. 降低死锁可能性
  SQL SERVER中锁可分为三种:

  共享锁(shared lock)由读取页的进程使用。共享锁只在特定页的读取过程中有效。

  修改锁(update lock)用于将要修改数据的进程,当数据发生变化时,修改锁自动改为独占锁。

  独占锁(exdusive lock)用于正在修改数据的进程,独占锁用于影响到的负直至事务结束。

  封锁机制由SQL Server 自动完成。它保证了数据的一致性,但是也不可避免地带来死锁。当死锁发生时,死锁的任何进程无法进行系统性能受到严重影响,甚至造成数据丢失。

  系统保证事务尽可能小,减少锁定保持时间;用存储过程控制易死锁数据对象,减少锁定时间,创建游泳索引,加快事务执行减少封锁时间。

  设定locktime out,set lock-level 为不同用户、不同应用程序设置锁定时间,锁定级别,避免关键程序因死锁(lock),阻塞(blocking)而无法运行,造成数据丢失或不一致。

4 . 系统应用情况

  本地网农村电话实时充值计费系统从2001年 8 月规划设计到 2001年12月正式在云南省曲靖电信公司投入使用以来,全市八县一市一区的所有乡镇级及乡镇以下一级农村交换网计费共151个网点,九万农村电话用户全部割接至该系统,改原有的营收点收缴费用为声讯充值缴费,从提高企业劳动生产率方面来看,按每个营收点需配置一个营收员计算,营收员每月工资400.00元(临时雇佣工标准),每年共需支付工人工资724800.00元,使用充值系统后,不再需设营收网点,就减少了营收终端的硬件投资,减少了硬件设备的更新改造维护费用,减少了技术工作人员的维护工作量。

  该系统用户可随时随地地通过本地电话和流动市话进行话费查询完成话费交纳的特点,使全员营销的理论以技术支撑得到落实,由于充值用户界面通俗易懂,操作方便,不需要多少专业技术,可充分发动企业全员力量和社会各种渠道的代销力量促销话务量,通过充值卡的销售,实现企业话务量的增长,利润的实现。从该系统正式投入使用至今,在云南省曲靖市已售充值卡37360200.00元,累计农村电话充值37287200.00元,平均每部电话每月话费收入达 49.52元(按九万农村用户计算)。

  该系统的使用有效的抑制了恶意欠费。2001年底云南省曲靖市电信农村电话欠费295031.79元,其中一年以上欠费255141.68元,二年以上欠费193021.46元,使企业的资金不能及时收回,严重损害了企业经济利益,给企业的下一步经营决策造成了后顾之忧。充值系统采用了预付费的方法,话费不足10元自动提示,余额小于信誉度时单向停机,单停一个月后仍未充值的双向停机,从多方面有效的抑制了恶意欠费。

  由于系统的实用性,使其得到了推广,云南省德宏州、思茅地区在流动市话开通后不久相继使用了该系统,使用后得到了当地用户及电信部门的好评,并顺利通过了验收。2002年7月29日在云南省曲靖市科技局的主持下,经专家鉴定,该系统实时计费功能处于国内先进水平,声讯充值销帐功能处于国内领先水平。

  农村电话充值系统开创了固定电话计费缴费新方式,是二十一世纪生活的新方式新手段的一种,是计算机技术为适应中国电信发展的一种技术创新,也是电信用户消费方式的一种革新。

参考文献
1、 电话语音卡的新应用--企业一卡通的实现 王雪梅 徐群立 电信快报 2002.06 22-23页
2、 网络告警知识发现研究与实现 刘康平 李增智 计算机工程与研究 2001.23 25页
3、 程控机房环境集中监控系统 彭海清 计算机与通信 1999.04 40-44页
4、 如何利用"九七工程"网络实现NEAX-61E交换机欠费停机的实时恢复 杨春民 计算机与通信 1999.12 49页

作者联系方法:

云南电信分公司曲靖电信分公司计算机中心
邮政编码:655000 电话:0874-3317116 0874-9261566

作者供稿 CTI论坛编辑



相关链接:
华夏科技构建长峰假日酒店宽带计费系统 2003-10-27
本地经验对计费很重要 2003-10-20
神州数码DCBI-2000认证计费管理系统 2003-09-29
趋势:下一代OSS/BSS“烫手”? 2003-09-05
统一经营分析系统在中国联通的应用 2003-09-01

分类信息:  cti文摘_与_电信  电信_与_计费     文摘   cti文摘   行业_电信_案例   技术_计费_文摘