基础数据计费系统开发

时间:2022-04-27 01:16:41

基础数据计费系统开发

摘要:基础数据计费是温州本地网C3集中计费系统的一部分,它包含数据业务用户资料管理、数据计费和数据合帐三部分。数据计费目前使用的是FOXPRO数据库,无法实现资源网络共享,新的数据计费系统依托POWERBUILDER开发工具和ORACLE数据库,最终实现了数据业务处理平台一体化,提高了数据计费的灵活性,实现了统一销帐。

关键词:数据业务;计费系统;合帐

中图分类号:TP311文献标识码:A文章编号:1672-7800(2012)010-0073-03

作者简介:黄远方(1978-),女,中国电信股份有限公司温州分公司计费主管,研究方向为网络计费系统、数据业务资料的维护和计费。

0引言

旧的数据计费系统基本上与本地网计费系统独立,数据来源于营业每月提供的文件数据,通过FOXPRO小型数据库进行处理的一套独立的数据计费系统,最后生成托收/现金清单给帐务部门。基于温州本地网集中计费项目的开展,数据计费作为总体需求的一部分,需要进行资料的统一维护与集中批价,实现缴费平台的一体化。为了实现这个需求,笔者把新数据业务计费系统搬到了ORACLE大型数据库里,进行了总体规划设计,设计了新的数据业务计费流程和库表,并与中望公司一起开发程序代码,经过两个月的开发测试后,正式投入使用。

1系统开发的背景和要求

原有的数据计费是独立于本地计费系统,在FOXPRO数据库里进行的,当时数据业务种类还不是很多,用户数量也较少,数据库设计比较简单,无法实现资料的网络共享,所以已经不能支撑当前市场发展的需求。

(1)由于数据业务的多样性、繁琐性,数据计费的用户资料一直无法输入97系统,用户资料的维护都得通过独立于本地网的单机小型数据库FOXPRO记录维护,这样资料无法做到共享查询和维护,无法适应数据业务的快速发展。这就需要数据计费系统提供用户资料、协议等信息的维护和查询。为此,在营收系统后台搭建了一个方便受理人员录入数据业务各相关资料的平台,并与数据用户资料库表相连,可以直接查询、修改用户资料,并对历史修改记录进行保留以方便检查。

(2)各种数据业务的计费方式都有所不同,2M/GX是根据电信与用户的协商决定价格和优惠比例的。而FR/DDN/PAC则是根据速率、业务类型和优惠比例等计算得到,这就要根据不同的数据业务制订不同计费方法。原来的FOXPRO需要很多人工接入的地方,而且没法实现同一用户不同时期帐单统一查询和比较。笔者在ORACLE系统里面设计了清单表,体现了同一用户在不同帐期的费用和同一帐期里不同用户的费用,方便了比较,确保了计费的正确性。

(3)数据业务存在收费的分摊方式,如一条FR专线(温州至杭州)总费用为1000元,温州电信收用户端口费用200元,双向线路费用800元由用户交给了杭州电信,那温州应该从杭州电信拿到一半即400元的线路费用,这个费用我们称为应收款。同样,如果用户是把800元缴给温州电信,那么其中有400元是温州电信代杭州电信收的,要还给杭州电信。原有的计费方式都是人工统计得出付给和收回对端的费用,对于分摊结算都是在纸张上完成,查询起来比较麻烦。为了支持系统处理相关的分摊,每条电路都新增了一个对端用户的资料,这样与每个地方的结算都一目了然。

(4)由于数据业务是独立于计费系统的,前台无法查询相关的资料,无法在前台统一缴费。这样用户在交纳电信费用的时候就可能没有缴数据业务的费用,而且营业员无法提醒用户,给用户缴费带来诸多麻烦,对电信收费也带来很大的困难。为了解决这个问题,笔者通过把数据业务帐单表按合同号、设备号并入本地网计费系统总帐单表,合帐后与本地网计费系统进行统一销帐。

2系统开发设计模块

根据新的设计要求,笔者和中望公司的一位人员一起合作进行了系统程序开发和程序测试工作。新版数据计费系统包括资料前台维护、数据业务计费批价和数据业务合帐3个处理模块。系统总流程图如图1所示。

(1)数据资料(包含客户协议、用户资料等)统一维护。数据资料维护包含用户资料、协议资料的录入和更改(即业务上的装机、拆机、提速等资料处理)。包括如下:

当用户申请数据业务时,需要在帐户资料表和用户资料表添加新记录,其中,用用户资料的state为F0A,completed_date[竣工时间]为竣工时间,change_date[变更时间]为空,price_date[上次批价时间]为空,state_date[录入时间]为录入时间,Up_flag[提速标志]为0。

当用户修改资料属性时,state_date更改为修改时间,其它字段根据实际情况修改,State、completed_date、change_date、price_date、up_flag不变。

当用户取消数据业务时,state修改为F0X状态,state_date修改为当月时间,change_date修改为真正拆机的时间,complted_date、price_Date、up_flag不变。

当用户提速时,第一步:把当前用户资料的state修改为F0X,把当前用户资料的up_falg修改为1(提速前),Change_date修改为提速时间,State_date修改为当月时间/修改时间;第二步:追加一条用户资料,state为F0A,up_flag置成2,completed_date为提速时间,State_date修改为当月时间。提速处理中,如果在15日前提速,收提速后一个月的费用,如果在15日后提速,提速前后各收半个月。注意:如果一个月进行多次提速,把最早的一条state=F0X,up_flag=1的修改为up_flag=9[无效记录],再把第一次提速后的资料修改为up_falg=1,state=F0X,然后追加一条up_flag=2,state=F0A的资料。

(2)数据业务计费,支持按费率、优惠规则进行批价(包含费率、优惠规则的维护)。

结合温州实际情况,每个数据业务对应单独的处理模块。2M/GX的计费根据前台录入的月租、优惠比例计算得到。FR/DDN/PAC计费根据速率、业务类型、资费类别匹配费率表(DDB_TARIFF)得到,且FR/DDN这两个业务都有新旧资费的区别。

计费程序用pro*C语言编写,名为ddprice,目录名为$CWBMJF_HOME/bin,通过参数输入,它可以对任意一个数据业务或所有数据业务执行计费处理,给实时计费和测试提供了方便。

数据计费程序包含如下:ddprice.pc为MAIN部分,ddpro.hddpro.pc为核心处理部分,dinit.pc为初始化部分。其处理流程如图2所示。

其中ProBill(DdType)为详单处理流程,根据不同业务,DdType选择不同的流程进行处理。处理流程包含ProBill_2m、ProBill_gx、ProBill_fr、ProBill_ddn、ProBill_pac、ProBill_vpn。

以下对ProBill_fr进行举例说明:

根据dd_type、busi_type、price_type、pvcrate(在b_pvcrate和e_pvcrate之间)匹配ddb_tariff表,找出tariff_id,然后计算pvcrent(新资费需要*2)[月租费]。

计算月份数(CalcMon),正常用户(state=F0A)计费单位数目=1,新增用户的装机日期completed_day,如果是15日以后收半个月租费,15日以前则收一个月租费,因为资料报竣可能会延迟,还要计算竣工月份到计费月份的月份数DiffMon来判断要收用户几个月租费。拆机用户的拆机日期change_day,如果是15日以后收一个月租费,15日以前则收半个月租费。提速用户在提速前的up_flag=1,state=F0X,如果15日以后的不收,15日以前的收半个月租费。提速用户在提速前的up_flag=2,state=F0A,如果15日以后的收1个月租费,15日以前的则收半个月租费。

进行分摊处理(CalcPay)。根据pay_type字段确定分摊类型和分摊算法,分摊类型有10种。在帐单表里fee1、fee2、fee3、total是根据费率计算好的费用,分摊后向用户收取的费用为charge,是根据total、pay_type算出来的,yskuan为应收费用即向对端用户收取的费用是根据total、pay_type算得,dskuan为代收费用,即是温州电信代对端收取的费用,需还给对方,不能计入收入的部分也是根据total、pay_type算得。

(3)按合同号进行合帐,与本地网计费系统进行统一销帐。数据合帐是对数据批价、优惠后清单的汇总,根据合同号字段acct_id和帐目类型字段acct_item_type进行合帐。根据数据业务的用户和帐户信息,通过接口把资料转入计费系统的serv表、serv_acct_i表和acct表,serv_id、acct_id为97分配给数据业务的独立字段。

数据计费合帐模块程序目录为$CWBMJF_HOME/src/ddmerger,数据计费合帐的程序为ddmerger.pc。数据合帐主要有三大语句组成,第一步:把设备费合到acct_item_log里,通过关联serv.acc_nbr、ddi_ticket.acc_nbr把ddi_ticket.charge合到acct_item_log,把应收费合到acct_item_log里;第二步:通过关联serv.acc_nbr、ddi_ticket.acc_nbr,ddi_serv_pp.acc_nbr把ddi_ticket.yshuan合到acct_item_log。(注意,本端信息和对端信息通过dd_serv_id来关联);第三步:对已经合帐的记录,把ddi_ticket.state从Q0C标志为Q0P。

3相关库表设计

一套设计完善的库表系统是程序能实现各项功能的基础,每个业务计费能否正确实现取决于能否把各种资费、优惠信息装换成库表里的参数。因此,新用户增加时,各个库表维护准确无误是保证用户数据计费正确的前提。数据计费系统的主要库表设计如下:

3.1DDI_SERV_**(数据业务资料表)

因为各个业务与计费相关的资料各不相同,笔者根据每个业务的特色各建了一张用户资料表:DDI_SERV_2M数据业务资料信息表、DDI_SERV_GX:GX数据业务资料信息表、DDI_SERV_FR:FR数据业务资料信息表、DDI_SERV_DDN:DDN数据业务资料信息表、DDI_SERV_PAC:PAC数据业务资料信息表、DDI_SERV_VPN:VPN数据业务资料信息表,以及DDI_SERV_PP:对端信息表。

3.2DDI_ACCT(数据业务帐务信息表)

该表为数据业务的合同号信息,如果合同号信息是从计费97系统过来的,不在该表记录,该表只维护数据业务新增合同号,并通过接口转到计费系统(使用97分配的一段合同号)。

3.3DDI_TICKET(数据业务详单表)

数据业务详单表存放了数据业务每个用户不同时期的费用详单,是数据合帐的基础表,可以检查批价的正确性。

3.4DDB_TARIFF(数据业务资费类型表)

数据业务有6种类型的业务:2M专线、光纤、桢中继(FR)、DDN、分组交换(PAC)和VPN。

3.5DDB_PAY:数据业务收费类型表

收费类型可分为:我方全收、我方收一半、我方收取后付一半给对方(分摊)、对方全收、对方收取后付一半给我方、由第三方收取后全额支付给我方、我方收PVC费用的一半及端口费全部、我方全收给对方PVC费的一半、对付全收给我方PVC费用的一半及端口费全部、我方收端口费对方收PVC费全部给我方。这个分摊规则是计算用户费用、应收款和代收款的依据。

4结语

数据业务计费系统是否能够提供支持关系到一个新用户协议能否签订,因此,保证数据业务正常运行并不断加强数据业务计费系统的功能显得尤为重要。本文所述的这套数据业务系统满足了现有的各种业务需求,但由于市场竞争的需要,新的业务、新的用户协议层出不穷,我们将对系统程序做进一步完善,以提供更好的服务质量。

上一篇:基于QT的嵌入式Linux智能加油站信息系统的设计... 下一篇:基于MVC2三层架构的培训管理系统的分析与设计