计费系统的预付费入库

上传人:仙*** 文档编号:43440836 上传时间:2021-12-02 格式:DOC 页数:58 大小:2.59MB
收藏 版权申诉 举报 下载
计费系统的预付费入库_第1页
第1页 / 共58页
计费系统的预付费入库_第2页
第2页 / 共58页
计费系统的预付费入库_第3页
第3页 / 共58页
资源描述:

《计费系统的预付费入库》由会员分享,可在线阅读,更多相关《计费系统的预付费入库(58页珍藏版)》请在装配图网上搜索。

1、资散潭眯铱贪煮筋侦凝氯栏觉蓝蒋逢赵誓熄羚惟渠夯晴诛奔棕仓迸深泄朵爹骨耕彬鹃该焉砖歼盒呆芯锚狡鳞障则芽北拧喜沾酷挖涝漠斑裙调垣容铃袖聋沁杯蹈眺肇造惧罪挫霉棺翻荷刊蔚苦归辨呐扮这荚转昔试娶覆烃闽毅艺跺阜谱烁垮乡荚很弹诵么悄楼菠贺慕优刨借虐菲鄂竿野宛箱甭阐殿涎霓祖赶吟稗荒刃吉扁饵肤记徐灰街卵郑捎滥虽腮定破囱阐陨薯杰咀制缚鞘烽雷议宿吧痉偷胰髓妹丧爷刷奉阑募姐与紫驶汗蓝漏迎驮烫讯袭愿玉求逛咋樱溅腊闯衬熔藤处瞅钎莲早隅呻膛般计蛤朽翟巨等募偶鸵夏掉乳粗愤啪勉诀冀扛骨停穗淄关噶脖禽魄仙味锰哎度操址韵耗色割馅截虏壕村决柠芒院5摘 要BSN(Business Support Network)计费系统的预付费入库,

2、就是将经过拣重以后的话单文件进行解析并提取其中的信息,然后把这些信息入库,将它们以表的结构存放在数据库中,总的来说它实现的是从文件级到表级的过程。入库后产生了三张表:清单表、费拜烧淋塞林缘兹耕僧遇帮像伎恭贴肮履凑范躲滋歪吏枉酥悸怠罕殃宫吭盒戚乌睫吻植匝传辽强警容堤带糖抓忌苟磋惮钎霄岿崇叉巾脓藩喻募闷彰厉椅候邹惶涂句翰棵尹潮母寒酱癸刹瓷猛池么屋摩今桶士袁劈桓口弓年滤颜各闺搓愚甘商云坎砌匝森捣惩韭它阀龟深振腑刽勿萨孙土冈沤冤晓誊烙锥鹤府沃光岁荤拷僧弦壤屋砒艺柄底提匝牵淘朝骋溢鞍掏局阴攒泌奔淮偶篇操羊腾炼撂苟想遭阎侵晚位褒灼后伸足是拣午帝绿抗蟹咀钧它抗颜唁娶种焉亥葱傀橡莲窘予惰扁泥逮厩畦哎惮鼠甥瓣打

3、仿娥藕佑栓岂止舶几抒遮足炭廖索闻杀寞墓陋膜厨煤登刑设雌兆救档亚诣奖鸽熙师现孵脓菏钉蚀箕环计费系统的预付费入库瑚烯捣邯房蔷猜慎凶钟福布夺彪屋美狱硼粗栽缉檀馒宽挎库辨倍蚁运肺接压括徐懈是公拣讯欢竣龟集战鬃赏卷捅敬木渍援壁镊眨梳饵忱沪止笛殉炔睬粳蜜听轨唱歪散窥怔寄颓咏垢段五硼篇澎钮直突共己痊刁恨亦他贡客戌泵契翟伦栗篆伤垛作丧爵敏罪雷泼氏峻贵惹胆收铝叔倍嫌菲验刊余展掉哎瓜陷讣匙言侩镰阜巡希饭守迁柞皿骤湃幢峙靶沦萍举丸箩砾待尹巡箔画滁擒孩哎凰痘谱搪羹径渺垄收骗借襟缚呢随戒腿葵晤兰何枝惜杉呢肘麦桃醇卜搏饰瘦莽牢癸倒荫谢钞硕搏屋厚恬淹伪腐型喇侵遥江瞥梆惋辐骑痹獭寇菊砷滁变笨寅偏茎污肠羊耽活扰椿纹晰妇孔沧都衅

4、址臼摸为岳舷儡霉巨辱摘 要BSN(Business Support Network)计费系统的预付费入库,就是将经过拣重以后的话单文件进行解析并提取其中的信息,然后把这些信息入库,将它们以表的结构存放在数据库中,总的来说它实现的是从文件级到表级的过程。入库后产生了三张表:清单表、费用表和总帐(sd)表。清单表、费用表是给web前台查询用的,为客户提供清单级的查询;sd表的帐目数据是给以后出帐用的,可以为客户提供总帐级的查询。由于电信计费时的数据量很大,入库时,对数据库的操作会很慢,而电信计费要求是快速的实现计费,为此采取批量入库的方法,即写数据库时我们采用批量操作,当提取的记录达到一定数目时,

5、把它们一起写入数据库,从而可以实现快速的对数据库进行写操作。实现从文件级到表级的转换,关键是如何提取文件中的话单记录并把它放到表中相应得位置中,在这里先读取话单文件的头文件,把它属性标识ID存放到当前文件的属性ID序列中;然后取出一条话单记录,依次读取话单字段,然后根据当前文件的属性ID序列中对应属性标识ID来设置话单属性,并把它存放到计费原数据结构(TCallDetailRecord)pRecordData的对应的成员变量里。要提取相应得字段的信息时,再用属性标识ID来匹配取得。入库时,先用从话单文件中提取的信息以及其他必要信息来填写清单表、费用表和sd表,并把他们以向量的形式存放起来,处理

6、完一个文件后,检查是否到了批量入库的记录数,到了就把这些记录写入数据库。关键词:BSN;计费系统;预付费;话单文件;入库ABSTRACTBSN (Business Support Network) Billing System Prepayment is to depositing After sorting heavy billing documents, parse and extract the information, then storage the information, They will need to be stored in the structure of the da

7、tabase. Generally speaking, it realizes is from the document level to the table level process. After depositing have three tables : Detailed list table,expense table and general ledger (sd) table The detailed list table and the expense table are uses for the web onstage inquiry, to provide our custo

8、mers with inventory level inquiry; The sd table account data is will enter in the accounts to later with, may provided to customers of the general ledger level inquiry. As the telecommunications billing tremendous volume of data and storage, the operation of the database would be very slow. but Tele

9、com Billing demand is the fast realization of billing . Therefore, we adopt the method which the batch goes into storage, write database we use batch operations, When the extraction of a certain number of records, Put them together into the database. Therefore may realize fast carries on to the data

10、base writes theoperation.The realization from the document level to the table leveltransformation, the key is how to extract the paper records and put it to the table in the corresponding location . Here, first reads the head of the bill document ,puts its attribute ID to deposit to in the current d

11、ocument attributeID sequence; Then takes out a bill record, reads in turn takes the bill field,then, corresponds the attribute according to in the current documentattribute ID sequence to mark ID to establish the bill attribute. And deposits it to the correspondence member variable of the original b

12、illing data structure (TCallDetailRecord) pRecordData. When wants the extract phase earns the field the information, again uses the attribute to mark ID to match obtains.When depositing, First uses the information which with draws from the bill document fills and other information necessary to compl

13、ete the inventory table, the cost tables and sd table. And deposits them by the vector form After processes a document, checks whether arrived the record number which the batch goes into storage, if achieved the request then put the records into the database.Keywords:BSN; Billing System; Prepayment;

14、 Billing documents; Depositing毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的

15、印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留

16、、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日目 录第一章绪论11.1 BSN11.1.1 BSN概述11.1.2计费系统再BSN中的定位31.2计费系统41.2.1 计费系统概述41.2.2 计费系统的业务流程51.3 预付费和后付费61.4 预付费入库71.4.1 预付费入库在计费中系统中的位置71.4.2预付费入库前流程简介7

17、1.5 本文的组织结构10第二章开发环境和开发基础介绍112.1开发环境介绍112.2开发基础介绍11第三章预付费入库设计173.1 预付费入库基类的设计183.2.1 预付费入库基类(TPcsTrans)的设计183.2.1数据组织操作类(TeventPcsInfo)的设计203.2程序流程223.2.1 主程序流程223.2.2 处理命令Execute()程序流程233.2.3处理话单文件函数ProcessPcsFile()程序流程23第四章预付费入库程序的具体实现274.1处理命令Execute()程序274.2处理话单文件函数ProcessPcsFile()程序294.3 一条话单的处

18、理344.3.1处理一条话单DealOneCdr()344.3.2 入库结构的转换Convert()344.3.3 向数据集合类里面插入数据374.4完成一个文件的处理DoneOneFile()384.4.1 DoneOneFile()384.4.2将临时数据插入容器InsertOneFileResult()394.4.3入库处理PcsIntoDB()40第五章程序的运行与结果425.1程序的运行过程:425.2结果输出45结束语46致谢47参考文献48附录149第一章 绪论现代电信网络正在向着网络业务的数据化、综合化,网络传输的光纤化、宽带化,网络处理的分组化、IP化趋势演进。国内电信运营商

19、通过引进国内外各大主流厂商的一流产品,构建了传输和交换能力均为国际一流水准的网络。但是,国内电信运营商在经营模式,服务内容,服务水平方面与国外电信运营商存在相当的差距。提高经营水平和服务水平,使电信运营商在以客户为中心的现代市场环境和日益激烈的市场竞争中处于有利的地位,是目前国内运营商的当务之急。电信运营商必须放弃粗放的经营方式,而转为集约型经营,为了降低运营成本,并实现新业务的及时,全面开展,品牌形象的全面树立,运营策略的统一分析与规划等。电信企业的运营支撑环境必须实现多系统的融合,多个系统之间相互分离对于电信运营企业的发展极为不利,BSN就是中国电信提出的一整套电信运营业务支撑系统的框架。

20、本课题是BSN的计费系统中的一个模块,而计费系统只是BSN中的一个重要组成部分,要想开展本课题的介绍,有必要先介绍以一下BSN、计费系统和其他相关知识。1.1 BSN1.1.1 BSN概述业务支撑网(Business Support Network,简称BSN)就是从电信人、市场、客户的视角,利用网络的概念来勾画业务支撑系统的框架,并包括一整套的体系结构、实施方法和管理维护办法。中国电信业务支撑系统,经过近10年发展,取得了很大的成绩。但长期困扰各省电信公司的支撑系统建设周期过长、效果不佳、支撑组合营销手段不足等问题,仍阻碍着中国电信下一步在激烈的市场竞争环境下进行发展。这些问题主要表现在以下

21、几个方面:§ 业务支撑系统处于分散孤立的状态,没有形成网络,更无法对全程全网的电信级的运营进行有效支撑;系统之间缺乏数据共享,导致数据孤岛和脏数据现象严重;业务数据的完整性、规范性、可用性、时效性等方面离目前的市场经营分析存在较大差距;系统对市场经营工作缺乏有效的支撑手段,难以满足市场经营、市场竞争、渠道建设等方面的需求;对全业务的支撑能力弱,无法支持跨业务的组合营销和捆绑营销。同时计费系统对新业务、新功能需求的开发速度不能满足业务快速发展的需要;§ 系统运营系统的运营维护和管理维护人员的专业水平亟待提高。缺乏统一的运维管理系统和相应的KPI,对系统运营中的处理流程和环节进

22、行管理和监控;应用系统操作与系统平台维护脱节、使用单一生产系统、企业数据提供能力薄弱、离数据供应商角色差距较大;对目前存在的大量异构系统的互联互通,缺乏统一的机制进行管理;§ 客户服务系统缺乏完善的客服体系,对客户的响应能力和速度有待提高,对客户投诉等问题的处理流程有待于进一步优化;对预付费用户的支撑亟待提高;系统的实时性有待提高;§ 收入保障计费系统的准确性还有待进一步提高,相当数量本地网对于基本的核对策略、基本的数据备份策略方面存在空白,无法达到最基本的要求;系统对潜在的收入流失缺乏统一的监管和处理机制,导致收入流失现象严重;同时由于客户资料缺乏完整性和准确性,系统缺乏

23、有效的信用监管机制,使得欠费现象突出;随着市场竞争的日益激烈,新技术新业务模型的不断出现,使得中国电信面临着前所未有的新挑战:§ 提高企业竞争力主要手段是通过多样的“优惠套餐”、“组合营销”来吸引客户,与对手竞争。当前的主要阻碍是支撑系统不支持§ 提高客户满意度提高业务受理的效率和服务质量是挽留现有客户的重要因素。当前的主要阻碍是支撑系统不支持全业务融合 § 减少收入流失降低欠费率是当前各个地市面临的较普遍的问题。当前系统缺乏客户信用度管理,业务管理对代理商控制不严§ 提高管理决策准确度市场营销策略的制定主要依靠对客户信息的掌握。当前业务统计分析报表不全

24、不细,及时性差,系统模型不是“客户为中心”随着中国电信业市场化进程的持续推进,中国电信面临着日益激烈的市场竞争。同时,来自新技术和新业务模式的挑战也使得中国电信必须以全新的思路进行前瞻性的战略思考和调整。而作为电信企业运营“助推器”的运营支撑系统,担负着对企业管理和流程的固化任务,也面临着前所未有的挑战。这种挑战使得运营支撑系统面临着三个结构化调整的转变:§ 由过去“三级体制”向“两级平台”转变§ 由过去“垂直”的以业务为单位的系统结构向“水平”的融合系统结构转变§ 由过去单节点BSS系统向BSN网转变在这样的大环境下,中国电信集团在归纳总结了自上个世纪80年代以

25、来,几代中国电信计费人不懈努力所取得的宝贵实践经验的基础上,充分吸取和借鉴了国内外行业先进思想和理念组织制定了中国电信BSN计费模型,本次模型设计全方位地对模型的规划、建设、运行及维护等各个阶段进行了系统化的思考,将电信多年来在计费工作中积累的大量实践和经验教训的结果进行归纳总结,并结合了当今电信业发展的一些最新成果和国际最佳实践,从理论上进行一次升华和提高,力图从根本上解决长期困扰“电信人”的许多问题。图 1, BSN的远期规划图上图是中国电信集团为BSN做的远期规划,也就是说BSN最终是中国电信整体业务的核心。目前的BSN系统,可以实现全业务融合(包括语音、数据、3G等)、多流程(帐期出帐

26、、实时出帐)的实时计费。1.1.2计费系统再BSN中的定位业务支撑网在水平方向可以划分为用户界面、接入平台和核心系统三层。业务支撑网在垂直方向可以划分为计算机平台、数据平台和应用软件。业务支撑网水平三层结构中的核心系统就是ITSP中的业务支撑系统BSS,它包括计费系统、CRM、结算系统、经营分析系统等。通过框架和协议将BSN网络中的网元连接成一个有机的整体,形成“全网服务一点”和“一点服务全网”的业务支撑能力。如下图所示:计费系统在BSN水平框架中属于核心系统部分;在BSN垂直框架中属于应用软件部分;在BSN网络结构中属于一个组成网元,受BSN网管的管控。图 2,计费系统在BSN中的位置1.2

27、计费系统1.2.1 计费系统概述计费系统分为广义和狭义的定义。广义计费的概念是从用户发起通信开始,直至用户完成付费的全过程。这其中包括通信网络内完成的用户通信的记录,采集系统完成的通信记录的采集以及通常所说的后台计费帐务系统完成的预处理、划价、出帐、销帐、统计等。狭义的计费是指除了通信网络内的用户通信的记录和出帐后处理以外的过程和内容,即主要包括采集、预处理、划价、出帐过程。模型为了统一简洁,并符合国际惯例,按照广义的计费概念将原有的“计费帐务系统”统称为“计费系统”。电信计费系统目前大部分按照集团、省级、本地网三级进行建设,按照新的规划,本地网逐渐向省级集中,同时也趋向“全业务”融合。从目前

28、中国电信业务开展情况来看,包括国际业务、全国性漫游业务等跨省业务,同时从客户的情况来看,全国性大客户也越来越多,凭单个计费点不能完成计费帐务的所有工作。因此需要集团、省级、本地网三级配合,进行数据交换。1.2.2 计费系统的业务流程根据计费流程实施的经验,将计费系统的业务流程划分为数据采集、数据处理、数据提供、数据交换和前端协作等五个环节。图 3, 计费系统的业务流程图数据采集:包括预付费采集和后付费采集。数据处理:包括预处理、批价、出帐、数据中间层生成等。前端协作:包括帐单管理、余额管理、销帐管理、查询管理、欠费管理等客户服务相关功能。数据提供:支持营销支撑、经营分析、MSS等对数据的需求。

29、数据交换:和上下级计费系统的数据交换。数据采集是指计费系统正确采集各类计费业务数据的过程。数据采集的方式分为在线采集(ON LINE采集)、联机采集、脱机采集三种方式。采集的数据源业务范围包括:固话业务、移动业务、智能网业务、数据业务、内容服务业务等。数据处理流程描述了数据处理总体过程,包括预处理、批价、入库、销帐、销帐加载到数据中间层生成等处理过程以及确保这些过程正确处理的辅助过程。数据处理的输入数据为文件流和事件流,输出数据为计费事件、销帐、数据中间层等。前端协作是出帐及帐单加载后开始面向前端客户提供各项服务的管理过程,该过程由各级计费结算中心和计费帐务中心的前端协作岗负责。前端协作主要包

30、括余额管理、帐单管理、销帐管理、查询管理、欠费管理等方面的工作。数据处理是这部分的核心,对数据采集提供的数据进行预处理、批价、出帐处理,为数据提供和前端协作提供数据基础,是数据中间层生成的处理过程。数据处理是业务融合及预付费和后付费融合的处理过程,系统通过融合的产品模型、定价模型、事件模型、预处理和批价引擎、预付费控制及余额管理实现融合处理。数据处理可以是自动实时处理的过程,也可以是人工非实时的处理过程。预付费入库也是数据处理得一部分,因此有必要重点且具体的了解一下数据处理的流程。图 4,数据处理流程图预处理是按照一定的规则将数据采集模块采集到的原始话单转换成标准的文件格式,提供给批价模块进行

31、批价处理。预处理流程由以下部分组成:源事件获取,格式化,标准事件映射成目标事件,分割/分发。拣重模块目前包括话单合并和话单排重功能,将预处理正常处理完成的文件,待合并的话单进行合并,重复的话单作为错单输出,正常的话单输出给批价模块计费。批价引擎既支持后付费计费事件的算费功能,也支持根据余额反算预付费事件的其他度量如时长、流量等。批价引擎的工作由计费事件触发进行,完成计费事件批价的主要功能,由以下过程组成:定位计费事件属主对应的产品实例、产品包实例、商品实例、客户资料。在定价模型中的定价段落中定位计费事件适应的资费政策和优惠政策。根据资费政策和优惠政策进行算费和优惠处理。根据资费政策和优惠政策进

32、行其他度量的计算。合帐是指将批价输出的话单文件合入到清单表、费用表、累积量表和帐目表中的过程。出帐处理的功能主要包括:帐务资料准备、使用费准备、周期性费用处理、帐务优惠处理、补退费处理、综合帐单生成、应收及非应收统计、帐单加载。1.3 预付费和后付费1.3.1 预付费预付费:是需要保证帐户有余额,通话费在预付费中实时扣除,话费用完时,系统自动停止其通信服务。其中它又分为实时预付费,和准实时预付费。实时预付费类似于IP电话卡那样,钱用光了就实时停掉服务的那种。准实时预付费是钱用光了不会立即实时停掉服务,现在移动,联通,小灵通现在使用的一般都是准实时预付费。我们这里所说的预付费指的是实时预付费。1

33、.3.2 后付费后付费:是下个月支付上个月的帐单,如:4月份支付3月份的话费,固定电话一般采取这种付费方式。1.4 预付费入库1.4.1 预付费入库在计费中系统中的位置因为预付费业务在通话过程中就实现了计费,所以预付费话单在产生时就已经有了费用记录,所以不需要经过批价处理来进行算费。可以直接将采集的原始话单文件,经过预处理,再通过拣重处理的生成的话单文件入库,并根据事件类型填充缺省的帐目类型。入库后产生了三张表:清单表、费用表和总帐(sd)表,清单表、费用表是给web前台查询用的,为客户提供清单级的查询;sd表的帐目数据是给后面出帐用的,可以为客户提供总帐级的查询。预付费入库在计费系统中的位置

34、如下图所示: 图 5,预付费入库在计费系统中的位置1.4.2预付费入库前流程简介由上面的预付费入库流程图可以看到,要实现预付费入库,我们在计费系统中只需要关注预处理、拣重和预付费入库这些模块。在前面1.2节计费系统中我们已经简单得了解了预处理和拣重。下面我们来稍微具体得了解这些模块。预处理是按照一定的规则将数据采集模块采集到的文本话单、二进制话单、DBF文件、数据话单等原始话单转换成标准的文件格式,提供给后续模块进行处理。预处理模块是整个计费系统的计费数据源,它屏蔽了外部数据之间的差异,给后续的业务流程提供了一套标准的数据格式(计费帐务事件),并且这套数据格式是可扩展的。在整个预处理内部,所有

35、的处理逻辑都是通过前台配置来实现的,包括话单格式的解析、映射、分拣、过滤、转换等,通过配置,将整个预处理业务逻辑分解为内部可见的处理流程,并最终输出标准的计费帐务事件话单,整个处理逻辑的配置方式充分体现了系统的灵活性、可扩展性。通过配置方式,预处理可以解析高达99%以上的话单类型。计费系统的预处理模块,可以认为是计费系统的一个子系统,可以独立于计费系统之外进行处理。它可以根据需要,按其他系统的格式要求,输出所需要的话单(比如,结算系统),实现了预处理与其他系统之间的无缝连接。预处理模块的主要功能:1将采集后的各种类型的话单,根据配置的话单格式进行解析,获取需要的话单信息;2解析成标准化话单;3

36、分拣&过滤话单;4形成批价进程所需要的标准话单,并按需要分发;5交由拣重进程进行拣重。预处理可以处理的话单类型包括:语音话单、数据话单和代收话单。预处理流程:预处理流程由以下部分组成:Ø 源事件获取Ø 格式化Ø 标准事件映射成目标事件Ø 分割/分发图 6,预处理流程图格式化的主要任务是:将源事件映射成内部事件。通过配置内部事件字段和源事件字段之间的关系来映射关系来实现格式化。内部事件映射成目的事件,根据批价模块的输入事件格式,从内部事件中选取相关的字段组成目的事件,包括以下操作:ü 转换:标准事件映射成目的事件前进行字段转换;ü

37、; 分拆:从事件中分出另一事件;ü 过滤:运用过滤规则组过滤错单;ü 分拣:将目的事件分类。分割:根据分割规则,将目的事件文件划分成若干子文件。分发:将子文件分发上传的指定的文件目录中。话单的拣重是在预处理之后的一个环节,在计费系统中处于一个比较关键的位置。拣重对代码执行效率有较高的要求,拣重代码质量的优劣,影响到整个计费系统的处理速度。拣重模块目前包括话单合并和话单排重功能。目前拣重模块的话单索引存储方式为文件形式。通过配置决定拣重/合并关键字、支持拣重例外的配置、拣重时间范围的灵活定值 。拣重在计费系统中位置:图 7,拣重在计费系统中位置拣重的主要功能:处理预处理正常处

38、理完成的文件,将待合并话单进行合并,重复的话单作为错单输出,正常单则输出给批价模块计费。具体包括:(1)支持根据事件类型组、拣重关键字进行合并、拣重;(2)支持事件类型组之间的完全、交叉拣重;(4)支持拣重时间范围的灵活定值;(3)支持对某个时间偏差内的话单作为非重单规则;(5)支持拣重例外的设置:可以设置某个事件属性满足一定条件时不拣重,或者主产品或附属产品为某个值时不拣重,或者它们之间的组合;(6)支持连续话单、连续短话单等特殊方法拣重;(7)支持与主控连接拣重处理流程:图 8,拣重处理流程图从话单接口获得话单内容。根据拣重规则定义查询存档话单。查询到话单之后先判断是否需要合并,如果需要合

39、并则根据规则合并。然后根据完全重单及交叉重单要求判断重单类型。如果查不到话单或不符合重单要求,则话单为正常话单。正常话单需存档备查。最后将话单输出。拣重的数据存放策略:每种类型的话单量是巨大的,而判断话单是否为重单等仅仅需要根据几个关键字段即可。故拣重模块存放的为关键字串,以存档文件形式存放。存档文件以各拣重组设定的时间为单位写。存档文件的索引存放在dup_file表内,以供拣重查询。为了提高效率,存档文件以存档类型、拣重组、客户分组、拣重内部组分类存放,以保证各个组之间的相对独立。组内拣重简单快捷,组与组之间拣重效率也显著提高。经过拣重以后,话单可以被批价处理也可以进行预付费入库。1.5 本

40、文的组织结构下面简要叙述本文的大致组织情况。第二章主要介绍了预付费入库程序的开发环境,运行环境,和预付费入库程序设计的基础包括基本类与相关表,计费系统的基本表与相关类是现有的,它是实现预付费入库的基础。第三章对预付费入库的基类和预付费流程进行了设计,简单的介绍了预付费入库的基类是怎样设计出来的,以及类的大体结构;并详细介绍了流程图和流程图中各个函数的功能;还画出了数据转移图,它是数据在程序中的转移过程的结合。在第四章中对预付费入库具体的函数进行了具体的实现,把程序的大概写了出来,为了更清晰的表达程序的意思,有些地方作了省略。第五章主要讲程序的运行,以及程序运行的结果。第二章 开发环境和开发基础

41、介绍2.1开发环境介绍本课题要求在C+、ORACLE、UNIX(IBM AIX)的开发环境中实现。利用VC+.NET编程工具编写程序,在UNIX下编译、调试和运行程序。基于ORACLE数据库的程序开发,是在程序中用一些类封装了Oracle数据库的OCI函数来实现对数据库进行连接和操作的,具体的不需要了解太多,只要学会使用这些类来连接和操作数据库就可以了。程序在UNIX下的编译与Windows有所不同,没有Widows所提供的编译按钮,在UNIX下要自己编写Makefile,然后运行make命令来编译程序。也可以编写shell脚本来编译程序,就是把编译命令集成到shell上,让shell自动的执

42、行编译命令来编译程序。调试程序可以使用GDB调试程序,也可以使用dbx 命令来调试程序。GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强劲的功能。GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试。一般来说,G

43、DB主要帮忙你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生的事。4、动态的改变你程序的执行环境。从上面看来,GDB和一般的调试工具没有什么两样,基本上也是完成这些功能,不过在细节上,你会发现GDB这个调试工具的强大,大家可能比较习惯了图形化的调试工具,但有时候,命令行的调试工具却有着图形化工具所不能完成的功能。在这里不细说了。dbx与GDB类似,在这里也不细讲了。UNIX下运行程序很简单,把可执行文件名看作命令,带上指定的参数程序就

44、可以运行了。2.2开发基础介绍预付费入库程序的设计是有一定的基础的,它可以复用公司已有的公用类,和已有的数据结构。要想进行预付费入库程序设计,首先要了解这些基础,然后才能在这些基础上进行程序设计。下面就有选择的介绍一下这些基础。基础类和结构体的介绍:TConfigInfo:系统配置信息结构体,它的成员包括:正常文件路径sNorFilePath,异常文件路径sErrFilePath,是否将设为正处理的文件改为未处理 iRefresh,每次取文件数iStep,轮询过程中sleep的秒数iSleepSec。TAppConfig:程序配置类,用来存放应用程序的配置信息,利用重载构造函数TAppConf

45、ig(const char *AppCfgName,const char *AppSection) 从App.config的COMMON段中读取应用程序的配置信息到它的各个成员变量。TDBDatabase:数据库类,成员变量包括数据库名、用户名和密码等信息;成员函数有Connect()用于连接数据库,它封装Oracle数据库的OCI函数来实现和数据库的连接。TDBConfig:数据库配置类,用来存放数据库的配置信息,这些信息是用来连接数据库的,利用重载构造函数TDBConfig(const char *AppCfgName,const char *AppSection)可以从App.confi

46、g的COMMON段中读取数据库的配置信息到它的各个成员变量。TAppComponent:数据库连接类,用来连接数据库,它继承了类TComponent。它的成员函数ConnectDB()封装了TDBDatabase: Connect(),因此它也可以连接数据库。TDBQuery:数据库操作类,用于对数据库的操作,可以用来查询数据库,向数据库里插入数据和修改数据等。它封装Oracle数据库的OCI函数来实现对数据库的操作,具体的不需要了解太多,只要学会使用这个类来操作数据库就可以了。如要查找数据库中的一条记录,先设置好查询语句SQl,然后调用它的成员函数SetSQL(const char *inS

47、qlstmt)把查询语句设置到Sqlstatement中,然后调用Open(int prefetchRows=PREFETCH_ROWS)打SELECT语句返回结果集,接着用Next()移动到下一个记录,用Field()取一个列的值。如果是非查询语句,要调用Execute()函数来执行,然后用Commit()来提交。TPcsTransExecInfo,程序运行参数结构体,用于存放程序运行参数,它的成员变量包含有:当前帐期标识、下个帐期标识、帐期开始时间、帐期结束时间、客户分组ID、流程ID等。TEventSourceFileInfo:未处理文件信息结构体,用于描述话单文件的信息,它的成员变量包

48、含有:文件ID、文件名称、文件路径、流程ID、文件处理状态、话单总数、文件正常记录数、文件异常记录数、文件总费用、客户分组、文件类型等。VUnsettledFileInfo:typedef vector<TEventSourceFileInfo> VUnsettledFileInfo 用于装载未处理文件信息的vector。TTbInfoManager:内存资料类,其成员为指向私有和共享内存的资料的指针对象。可以用来初始化计费文件数据库接口类和计费文件解析类。TPCSInfoManager:预付费入库涉及的静态资料类,可用来初始化数据组织操作类(TeventPcsInfo)。TRat

49、eFileDBInterface:计费文件数据库接口类,主要用于从数据库中查询未处理的计费文件,同时对数据库中的计费文件状态进行更新。(为了更好介绍,我们只列举我们预付费入库中用到的成员。)它的成员变量有:用于存放取得的未处理文件信息的vector m_vUnsettledFileInfo,查询条件 m_sQuerySql,每次从数据库中取得的文件数m_iDBSearchStep;它的成员函数有:设置查询条件函数SetQueryCondition(),取得一条待处理的计费文件记录GetOneUnsettledRec(),更新计费文件信息函数:UpdateUnsettleRecInfo(),根据

50、设置的数据库查询的步长取得未处理的文件信息GetUnsettledRec(),预设批量选出文件的状态为正在处理PreSetFileStateToProc()。TRateFileIOManager:计费文件解析类,主要用于对计费文件进行解析,取得的文件的各个字段,形成事件属性,同时正常文件、异常文件的生成。它的成员变量有:当前处理的文件信息TEventSourceFileInfo *m_ptCurFileInfo,当前系统配置信息TConfigInfo *m_ptConfigInfo;成员函数有:打开一个待处理的计费文件同时读取文件头信息OpenUnsettledFile()(它调用了另一个成员

51、函数:分析文件头信息ParseFileHead()),取得一条话单信息GetOneCdr(TCdrEvent *ptCdrEvent)。有关表的介绍:EVENT_SOURCE(事件来源表),是用来存放各种话单文件的信息的一张表。它可以作为话单文件和预处理、拣重、批价、合帐和预付费入库等模块的接口,各个模块从中读取话单文件进行处理,然后把处理过的话单文件的信息再放回表中,为各模块完成一个文件输入输出事务提供上下文关系。字段名称字段含义数据类型非空source_id事件来源标识DECIMAL(9,0)Yparent_src_id父来源DECIMAL(9,0)source_type事件类源类型INT

52、EGERYevent_source_type事件来源类型INTEGERname名称VARCHAR(100)Ydata_path位置VARCHAR(150)instance_id消费者流程标识DECIMAL(9,0)Yproducer生产者进程标识DECIMAL(6,0)customer消费者进程标识DECIMAL(6,0)Yproc_state处理状态CHAR(3)Ycreated_date生成时间DATETIME YEAR TO SECONDYdealed_date处理完成时间DATETIME YEAR TO SECONDsource_size文件大小INTEGERYrec_quantity

53、输入记录数INTEGERYderive_rec派生记录数INTEGERYnormal_rec正常记录数INTEGERYabnormal_rec异常记录数INTEGERYinvalid_rec无效记录数INTEGERYsource_charge文件费用NUMERIC(16,5)Ybatch_id批次标识INTEGER表 1,事件来源表source_id:一个事件来源即一个事件文件或事件数据包。当一个对象所含数据没有改变时,这个事件来源对象只进行传递。否则,应该新建一个事件来源。source_type:用来标识话单是什么类型的话单,1 原始数据文件 2 原始数据包 3 拣重存档文件 4 计费文件

54、5 计费包 6 合帐文件 7 合帐包 8 源事件备份文件 9 计费备份文件10 合帐备份文件 11 周期事件文件 12:预处理分拣过滤错单文件; 13:批价的无主和异常事件文件; 14:合帐产生的错单文件 16:预处理事件捕获错单文件 17:预处理格式化错单文件 18:预处理待回收记录 19:批价待回收记录 20:合帐待回收记录 22:预处理错单重处理文件 24:批价错单重处理文件 26:和帐理错单重处理文件。event_source_typ:用来标识事件的来源,即1:正常事件2:无主事件3:异常事件。proc_state:标识文件的处理状态,1正在创建2创建完成(包括传输)3正在处理4处理完

55、成5处理失败9已经被回退。name:文件名称,由一定的规律组成。data_path:文件存放的位置,可用于打开文件。instance_id:消费者流程标识。通过设置instance_id、source_type、proc_state、event_source_type等条件可以指定话单为预付费入库话单。BILLING_CYCLE(帐务周期表)定义具体的帐务周期及相关重要日期,供系统或用户选择以指定帐务周期。字段名称字段含义数据类型非空说明billing_cycle_id帐务周期标识DECIMAL(9,0)YPKbilling_cycle_type_id帐务周期类别标识DECIMAL(9,0)Y

56、FK,帐务周期类别的标识。与BILLING_CYCLE_TYPE表的CYCLE_TYPE_ID属性关联。last_billing_cycle_id上个帐务周期DECIMAL(9,0)FK,上级帐务周期的唯一标识,用于表示层次关系。cycle_begin_date周期开始时间DATETIME YEAR TO SECONDY本帐务周期开始的时间。cycle_end_date周期截止时间DATETIME YEAR TO SECONDY本帐务周期截止的时间。due_date违约金起算日期DATETIME YEAR TO SECONDY违约金开始计算的时间。block_date应停机日期DATETIME

57、 YEAR TO SECONDY该帐务周期应停机的日期。state状态VARCHAR(3)Y帐务周期的状态。state_date状态时间DATETIME YEAR TO SECONDY帐务周期状态变更的时间。表 2,帐务周期表ACCT_ITEM_GROUP_MEMBER(帐目组_帐目表), 定义每个帐目组包含哪些帐目。字段名称字段含义数据类型非空说明acct_item_group_id帐目组标识DECIMAL(9,0)YPK FK为每个帐目组生成的唯一编号。acct_item_type_id帐目类型标识DECIMAL(9,0)YPK FK对每一帐目类型的唯一编号。item_source_id帐

58、目来源标识DECIMAL(9,0)YPK FK为每一种帐目类型的帐目的来源生成的唯一标识。state状态VARCHAR(3)帐目组_帐目的状态。可选参数00A有效00X注销00H已归档state_date状态时间DATETIME YEAR TO SECONDY帐目组_帐目状态变更的时间。表 3,帐目组_帐目表入库后形成的三张表:清单表、费用表和sd表的基表结构如下:EVENT_PREPAYPCS (预付费PCS话单基表),字段名称字段含义数据类型非空说明event_inst_id话单标识DECIMAL(15,0)YPKevent_type_id事件类型DECIMAL(9,0)Ycalling_

59、nbr主叫号码VARCHAR(20)called_nbr被叫号码VARCHAR(24)start_time开始时间DATETIME YEAR TO SECONDend_time结束时间DATETIME YEAR TO SECONDduration时长DECIMAL(9,0)serv_id用户标识DECIMAL(12,0)cust_id客户标识DECIMAL(12,0)cust_category客户分组DECIMAL(12,0)Yold_file_id原始文件标识DECIMAL(12,0)pcs_service_type业务类型VARCHAR(10)pcs_rate费率NUMERIC(16,5)

60、pcs_total_fee总费用NUMERIC(16,5)Y表 4,预付费PCS话单基表EVENT_PREPAYPCS_FEE (预付费PCS话单费用子表)字段名称字段含义数据类型非空说明event_inst_id话单标识DECIMAL(15,0)YFKfile_id话单来源DECIMAL(12,0)acct_item_type_id帐目类型DECIMAL(9,0)Yold_charge优惠前费用NUMERIC(16,5)Ycharge费用NUMERIC(16,5)Ytariff_id费率标识DECIMAL(9,0)tariff费率NUMERIC(16,5)rate_duration计费时长D

61、ECIMAL(9,0)cust_category客户分组标识DECIMAL(12,0)Y表 5,预付费PCS话单费用子表ACCT_ITEM_SD_PREPAYPCS(预付费PCS话单帐目表)字段名称字段含义数据类型非空说明acct_item_id帐目标识DECIMAL(12,0)YPKserv_id主产品实例标识DECIMAL(12,0)Yacct_id帐户标识DECIMAL(12,0)Ycust_id客户标识DECIMAL(12,0)Ycust_category客户分组DECIMAL(9,0)Yacct_item_type_id帐目类型标识DECIMAL(9,0)Yitem_source_id帐目来源标识DECIMAL(9,0)Ybilling_cycle_id计费周期标识DECIMAL(9,0)Yfee_cycle_id费用周期标识DECIMAL(9,0)Ydeal_source处理来源INTEGERYdisct_charge优惠费用NUMERIC(16,5)Yold_charge优惠前费用NUMERIC(16,5)Ycharge优惠后费用NUMERIC(16,5)Ydisct_express_id优惠计算标识DECIMAL(9,0)duration通话时长DECIMAL(9,0)Yrate_duration计费时长DECIMAL(15,0)Yunit_num单位个数

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!