毕业设计(论文)-小灵通实时计费系统的设计.doc_第1页
毕业设计(论文)-小灵通实时计费系统的设计.doc_第2页
毕业设计(论文)-小灵通实时计费系统的设计.doc_第3页
毕业设计(论文)-小灵通实时计费系统的设计.doc_第4页
毕业设计(论文)-小灵通实时计费系统的设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计说明书(论文) 第 32 页 共 32 页1 绪论随着各地电信企业间的竞争日趋激烈,各种新的电信产品不断诞生,小灵通作为一种移动通讯设备,在全国各地迅速发展。信息产业部对小灵通地位和作用的权威界定是小范围低速移动无线接入,是固网电话的延伸和补充。然而,尽管小灵通所应用的技术相对落后,但没有不适应技术的市场,只有不适应市场的技术,市场是决定一个产品能否存在和发展的关键因素。从目前小灵通的发展态势来看仅仅把它看作固定电话的补充恐怕已经远远不够了。自小灵通业务开展以来,小灵通在国内的发展势如破竹。2003 年底突破 3500 万户,2004年 5 月底突破 5000 万户。到 2004 年年底,小灵通突破 6500 万户,目前已超过 7000 万户。小灵通以无可争议的市场业绩,证明了自己存在的合理性。不仅如此,小灵通正在扮演拯救固网运营商的重要角色,如果没有“小灵通”和adsl 宽带接入的强劲拉动,固网电话业务不论业务量还是业务收入,都会呈现出负增长态势。小灵通发展势头极为迅猛,但计费还是沿用与固网电话相同的方式按月结算。众所周知,近年有关小灵通计费问题投诉量一直居高不下,很多问题都与小灵通的计费、收费及话费查询有关。为什么会这样?与移动公司相比,移动用户可以随时查询话费,了解自己的通话情况,知道自己的话费余额,这是移动运营商非常自豪的一项服务。而对于小灵通用户来说,如果用户拿不出一个必须获得实时计费信息的理由,搞不到来自诸如计费中心或是业务管理中心相关人员的签字,他就不会得到这项服务,无法满足用户明明白白费的需求,对电信运营商产生不信任感。可以毫不夸张的说,小灵通的计费方式相对于社会的发展,已经严重滞后,计费问题已成为制约小灵通发展的重要因素,已经到了必须解决的地步。而解决这一问题的最有效办法,就是实行小灵通实时计费。要进行实时计费,首先要实现实时采集,把计费数据由以前的手工采集改为系统自动的联机采集。相比于固定电话,由于历史原因,固网电信运营商的一些型号较老的交换机,无法满足实时采集的需求,所以必须进行改造升级工作,这需要大量的资金及人力、物力,使企业无法承受,但小灵通没有这方面的问题,完全可以在现有的条件下,只需要少量的投资,就可以实现实时采集,进而实现小灵通实时计费。1.1 小灵通介绍在当前中国通信市场中,除了与国际标准通行的gsm网络和cdma网络外,还有个颇具中国特色的准移动通信网小灵通(phs)。它被视为连接固话网络和移动市场的桥梁。是一种新型的个人无线接入系统,它采用先进的微蜂窝技术,以无线方式接入固定电话网,使电话在无线网络覆盖的范围内可随身携带使用,随时随地接听、拨打市内、本地网和国内、国际电话,也可方便地拨打寻呼和移动电话,是市内电话的延伸和补充。phs是将固定电话的传输和交换与无线接入技术有机结合在一起,并充分利用固定电话网资源,以无线方式提供的在一定范围内具有移动漫游功能的个人通信终端。在phs网络建设初期,我国对phs做了一些特殊规定,将其定义为固定电话网的补充和延伸,用于小范围低速移动无线接入。phs依托于固定网并充分利用其现有的交换机资源、传输资源和号码资源。phs的无线市话定位,决定了它不宜作为蜂窝移动通信系统应用。自进入我国以来,其技术也在不断的发展演进之中,例如:大功率基站的大量使用,增大了覆盖范围;引入了阵列天线,可以分集接收、发射、实现自适应功能;具有帧同步技术,能够降低信道之间的干扰;可以支持i-n9的高速移动通信;基站的捆绑使用可大大提高同一覆盖范围内提供的通信信道数;出现了支持软切换的手机(包括两套收发信设备);逐渐使用了一些网络规划及优化工具,使初期的布站不再盲目地进行。1.1.1 小灵通工作方式phs是目前小灵通使用的系统,phs采用的是时分多址/时分双工模式小区制通信方式。phs微蜂窝基站发射平均功率20mw(50mw),用户终端10mw。phs是一种微蜂窝的组网技术,在技术实现方面与3g标准在技术上有许多十分显著的不同点,比如多址方式、双工方式、帧结构、调制方式、信道分配方式、频率复用技术、发射功率、语音编码、切换方式等。在多址方式上,phs采用的是tdma,与以cdma为基础的3g技术存在着较大差别;在双工方式上,phs采用tdd,而3g中只有tdscdma采用这种方式。tdd可以动态分配上下行链路传输容量,提高带宽利用率,但是覆盖范围受帧结构的限制,在支持高速移动方面不如fdd灵活。因此,tdd方式更适用于实现小范围的热点覆盖和组网。业务应用方面,phs主要提供语音和低速数据业务,面向低端消费群体。3g的主要特色在于高速率,更适合为用户提供高速多媒体应用。1.1.2 小灵通优越性小灵通是一种适合我国国情的实用技术。它采用的是微蜂窝技术,其信道采用“时分+频分+动态分配”技术,容量远比gsm 大,大概是其容量的23倍,而且因为切换增多,解决这些问题的技术难度远比大蜂窝、宏蜂窝大,而且蜂窝越小,功率就越小。小灵通的发射功率仅有10毫瓦,它对人体没有任何影响,因为它完全在安全的使用范围内。从这个角度上讲,小灵通不是落后技术,而是更先进的技术,更环保的技术。小灵通是由大区制改为小区制的,它的基站很小,安装起来很方便,组网比较灵活,成本也低,对市容、市貌也没有影响,特别在一些人口较密集的地区尤为适合。小灵通采用的是一种数字技术,它在编码方式上采用的是32kbsadpcm 语言编码方式。使用这种编码方式,可以保持较高的话音质量,所以它的音质、音量特别好,同固定电话差不多,而且它的保密性很强。因为它的信号是采用数字信道进行传送的,这样它不容易被窃听和盗打,所以也可以说小灵通的技术手段是比较先进的。由于小灵通是固话的延伸和补充,所以可以说固话能生存多久,小灵通就能生存多久。phs的优势是数据传输速率快而不是大范围漫游,建立独立的移动网则是舍优势扬劣势。而这种方向在中国更不可行,目前,固网运营商并没有移动牌照,监管机构是不可能容许这样的事情出现的。1.2 计费系统设计的价值无线市话实时计费系统产生的前提:计费系统是电信运营商进行市场竞争的核心支撑系统,是电信公司进行市场运作的神经中枢。电信公司都把计费系统的建设和有效运行,作为提高服务质量、增强自身竞争实力的重要手段。目前来看,电信运营商提供电信服务所产生的服务质量问题,越来越集中到计费领域。现在用户关注、投诉的热点,如资费政策的执行、话费争议、查询难等问题都和计费系统息息相关。无线市话是固定电话的延伸,但是它还具有移动电话的部分特征,因此对于无线市话的服务需求也相应提高了很多,同时作为电信公司新的经济增长点,需要具备更强的竞争能力,无线市话的实时计费也就势在必行。无线市话采用按月缴费和预付费相互补充的方式。用户同普通电话用户一样,由计费系统定时从小灵通系统读取cdr文件,以后处理同普通电话一样。预付费用户需缴一定数额的预存款,按分钟实时扣费,扣完即停。对用户和局方提供准确的实时采集、计费、账务、销账、统计、查询、资料管理、催缴、停复话等功能。因此,对于无线市话这一新业务,在计费系统设计的同时应该考虑如何结合提供实时计费的方式,减少欠费,满足无线市话用户更多的服务需求。我们知道传统的计费输出方式主要是由机房维护人员通过定期制作计费带,把含有话单的计费文件拷贝到光盘或者磁带上,再把这些光盘或者磁带送到账务中心进行分拣,存储和打印。而随着电信技术的飞速发展和社会生产生活的不断进步,用户对于电信计费的实时性要求也越来越高。实时计费可以为以下服务奠定基础:及时生成实时话单,用于账单打印,交费,话费的实时查询;及时对计费数据进行统计分析,用于发现瓶颈或空闲的设备,随时增减,掌握业务运营情况;利用专家系统,对用户的通信行为进行必要有效的管理。本设计从小灵通采集系统、预处理系统、计费系统、合账系统四方面对系统进行了详细论述。其中采集系统包含硬件部分,由于硬件部分无论从实现的功能,还是配置要求上都比较简单,因此没有具体设计。文章的重点在预处理系统、计费系统、合账系统上。在采集系统方面增加了前置机以及部分软件,实现小灵通话单的实时传递,解决了话单的实时采集问题。另外在话单采集方面,增加了对虚拟网话单及亲情号码话单的过滤。无线市话计费系统在计费实时采集后,将数据文件进行分拣、批价、过滤重复话单、话费分类汇总,之后将实时产生的话单传送到收费库中供用户查询。这样用户就可以实时对自己在l5分钟前产生的话单进行查询,避免了用户只知道自己的话费多少而不知道自己通话明细,从而为用户了解自己的通话情况和话费提供了依据,增加了计费的透明性。因此实时处理功能减少了用户对话费的疑惑,也减少了前台营业为用户解释的工序,提高了工作效率。为此,对电信计费问题进行研究具有重要的现实意义,受到各级电信企业的高度重视。无线市话实时计费系统的研制将为电信运营企业带来良好的经济效益。2 小灵通实时计费系统总体设计2.1 设计思想从流程上讲,计费系统由话单采集、预处理、标准批价、优惠批价、高额控制、监控、参数管理、接口等模块组成,如果是移动计费系统,则还包括漫游处理模块。从业务类型区分,则包括市话计费、长途语音计费、移动语音计费、数据计费、短信、互联网业务等新业务计费。传统的市话计费是“跳次”计费,也就是说拨打市话时,每间隔一定时间,交换机就将计数器加一,计费系统通过计算“次数”计算费用。目前,有些新的市话运营商已采用与长途语音计费和移动语音计费一样的方式计费,即按照通话时长计费,技术上称为“详单”计费。 从传统的语音计费到数据计费,直到新兴的互联网新业务计费,电信计费系统需要处理的业务种类越来越多,面临的挑战也越来越大。在以上理论基础上设计的小灵通实时计费系统是一个需要高度安全、可靠的信息处理系统。因此,该系统在主机平台、网络平台、数据库平台、开发工具方面应从先进性、可靠性、安全性等几方面出发。另外必须符合电信条例相关条款的规定,在保证系统准确、稳定的前提下,结合本地的实际情况进行开发,既要满足目前的需求,还要为将来可能发生需求提供简洁的实现手段。2.2 系统组成系统在设计时借鉴了现在正在使用的准实时计费系统,主要是其中系统结构和表结构,增加了硬件部分,并对软件模块做了修改与补充。系统由硬件、软件两部分组成。硬件部分主要是要求主机平台有较高的性能和稳定性。本文将不讨论有关网络安全方面的问题,总是假定网络是安全、稳定的。软件部分要求必须有稳定、可靠的数据库平台、操作系统平台。下面从这两方面对此进行详细阐述。2.2.1 硬件部分a) 硬件组成硬件部分结构相对简单,一共需要 3 台机器,两台 pc 机,一台小型机。pc 机: 一个做前置机,直接与交换机相连;一个做采集机,直接与前置机相连;小型机:做计费机器。硬件部分实现的功能也很简单,主要是前置机接收交换机下的话单,并传到采集机上,经采集程序处理后,再将采集结果上传到计费小型机上。之所以在交换机与采集机之间设置一台前置机,是由于无线市话维护中心为了保证交换机的安全,不允许交换机与采集机直接相联,因此只能将交换机话单先发送到前置机上,再由前置机将话单传送到采集机上,然后由采集程序进行处理。其硬件简图见图2.1。原始话单原始话单原始话单采集结果交换机计费机前置机采集机前置机图 2.1 硬件简图2.2.2 软件部分a) 软件组成软件部分分为采集、预处理、计费、合账四个模块,模块之间相互独立,前一模块的结果为后一模块的输入。采集模块在采集机上运行,其余部分在计费机器上运行。系统流程图如2.2所示。开 始话单采集预处理计 费合账结 束图2.2 系统流程图本章讲述了系统的基本设计思想,并从硬件、软件两方面简单的介绍了系统的组成及相关要求,对系统有一个初步的介绍。3 采集系统设计3.1 话单传输话单传输需要两台 pc 机,一台作为前置机,一台作为计费采集机。设置前置机的主要目的是为了保证交换机的安全,使交换机与计费网络隔离,以免感染病毒。前置机为双网卡设置,一块与交换机的计费服务器相连,一块与计费网络相连。传输分为两步,第一步是将话单从交换机计费服务器传到前置机上,第二步是从前置机到计费采集机。话单传输采用中兴公司提供的 cdrftp软件。通常需要对该软件设置以下几项:传输方式:手工传输、间隔传输、定时传输这3类。选择间隔传输,并设置间隔时间。文件参数:文件前缀、文件后缀、远端访问路径、本地访问路径。文件前后缀主要是限制传输文件的类型,这两项可以填,也可以不填;远端访问路径是指远端计算机话单所在路径;本地访问路径是指本地计算机话单所在路径,这两项必须填。传输方向:采集、发送。如果软件安装在交换机计费服务器上,就选发送,安装在前置机上,就选采集。3.2 话单采集3.2.1 功能描述采集系统要完成话单采集、话单分拣功能,这其中包括话单的过滤、详单转跳次、将生成的详单、跳次上传到小型机,并将上传的文件名、文件所在目录插入到数据库相关表中(这个表的作用是在计费时,为计费程序提供计费文件名、计费文件所在目录以及其他计费信息)。3.2.2 采集话单类别目前,由于短信话单由省公司集中分拣并下发到各地市,所以暂时无法实时采集,另外还有数据费及一些代收的信息费,由于和这些部门或单位没有直接的接口,也无法实时采集。联机采集的话单都是本地交换机产生的。下图3.1为语音呼叫流程图,由此判断产生话单的类别。未漫游呼叫/漫游呼叫本地呼叫网内呼叫网间呼叫局间呼叫局内呼叫网内呼叫网间呼叫长途呼叫图3.1 语音呼叫流程图目前处理的话单主要为语音话单,包括以下两种:起呼话单(moc),前转话单(mcf)。a) 起呼话单(moc)的判断规则1) 根据主叫归属地区号和本地缺省区号来判断是否是本地计费号码。2) 根据主叫归属地区号和主叫当前地区号来判断主叫是否漫游。 3) 时间取起始时间和通话时长,结束时间由前二者计算出。4) 如果被叫当前地区号为空,则被叫号码一般不是小灵通。此时如果被叫号码以“0”打头,则是长途。5) 如果被叫当前地区号不为空,并且被叫号码以“0”打头,则是长途,被叫是否漫游通过被叫当前地区号是否是被叫号码开头几位来判断;如果被叫号码不以“0”打头,则根据被叫当前地区号和主叫当前地区号是否相同来判断被叫是否漫游。b) 前转话单(mcf)的判断规则1) 根据前转号码归属地区号和本地缺省区号来判断是否是本地计费号码。2) 根据前转号码归属地区号和前转号码当前地区号来判断前转号码是否漫游。3) 时间取起始时间和通话时长,结束时间由前二者计算出。4) 前转号码作为话单主叫,最终通话号码作为话单被叫。5) 被叫漫游及其话单类型的判断同起呼话单。6) 计费号码为前转号码。3.2.3 采集策略a) 话单采集本地目录结构见表3.1。各表均存在于不同的数据库xx.mdf为主数据文件库, xx.ldf为日志文件库。数据库是采集数据的存储、预处理子系统、计费子系统及合账子系统操作的基础。由于数据库的使用类别不同,未作详细介绍。表 3.1 采集本地目录结构目录名用 途e:datarawxx.mdfe:dataerrxx.mdf原始话单错误话单e:datafltxx.mdf不处理话单e:datalogxx.ldf日志e:datameterxx.mdf生成的跳次文件e:dataqryxx.mdfe:datazxxx.mdf市话详单生成的详单文件b) 采集文件的来源是采集机,按照配置文件profile.ini和cdrformat.ini的格式将话单从原始文件中读出来。profile.ini 是采集时的一些系统配置,cdrformat.ini 是各种话单的所包含的字段及长度定义。表3.2是profile.ini的内容,表3.3、表3.4、表3.5是cdrformat.ini的内容。其中表3.3、表3.4、表3.5内容见附录 b。表3.2 profile.ini参数名称参数值备 注areacode0311本地区号callinglen7主叫号码长度resultpathd:data采集结果存放目录(可以改)isloadfile0是否立即上传,1、上传,0、不defaulttypedefaultmaxdefaultmethoddefaultmodetickettometer31999999999cc1话单类型,31 为市话最大时长转跳次方法,c 只转跳次转跳次模式,c 按 3+1 方式转跳次是否转跳次,1 是,0 否switchid901交换机 idpathrawd:datarawyymm源文件所在目录(可以改)pathbill/data/phs_txt文件上传计费小型机目录表c) 采集的临时结果存放在本地,在每次采集结束之后,程序自动将结果文件用 ftp 上传到指定的小型机计费目录下,并将生成的文件名、路径插入phs_dispatch_source_file 表中,以供预处理使用。d) 话单过滤话单过滤的依据是表 phs_convert_filter,按照模糊匹配的原则,将符合要求话单滤掉。另外主叫号码不是小灵通的,也将直接过滤掉。e) 采集生成各种临时结果文件的命名和存放方式如下文所示:1) 过滤话单:过滤话单按原始话单格式存放在临时结果目录flt下, 命名方式采用tmpflt+源文件名, 最终结果文件为flt+源文件名。过滤的依据是数据库中的过滤表。2) 跳次文件:存放在临时结果目录下的meter目录下,命名方式采用tmpmt+源文件名,最终结果文件:mt+源文件名。3) 详单话单:存放在临时结果目录下的zx目录下,命名方式采用tmpzx+源文件名,最终结果文件:zx+源文件名。4) 市话详单:此话单为转成跳次的话单,主要是供用户查询话单。存放在临时结果目录下的qry目录下,命名方式采用qry+日期,日期准确到秒。f)关于详单转跳次的说明1) 每种话单来源是否需要转跳次,在配置文件中设定。2) 详单转跳次的依据:主被叫号码是转跳次表 phs_to_meter_info 中指定的,这张表用来转跳次时使用。对于转跳次表中的处理方式目前提供两种:将详单转成跳次;转跳次的同时保留详单。对于跳次表中的转换方式目前提供两种:上网方式,每分钟一次;市话方式,按 3+1 模式。g) 关于话单加载的说明转换之后存放在临时结果目录下的话单文件将通过自动上传功能上传到指定服务器目录下;跳次文件要做跳次合并,并形成一个文件上传。本部分从两方面描述采集的实现过程。一方面是话单的传送,可以方便的实现话单的实时传送。另一方面是话单的实时采集,介绍了系统实现的功能。4 预处理子系统设计4.1 系统描述预处理子系统是小灵通计费系统中的重要一环,主要担负话单最终检测、特殊话单处理以及错误话单删除等工作,是原始话单数据进入计费数据库前的最后检测处理环节,作用十分重大。系统结构如图4.1。采集结果数据采集模块预处理计 费预处理结果数据图 4.1 预处理子系统结构图4.2 内部结构本模块主要功能块如表4.1表 4.1 预处理子系统功能细项序 号功能细项1数据检测2挑错及处理3话单排序异常话单加载入库各种配置信息输入跳次文件输出正常详单文件挑错及处理数据检测话单排序源文件输入系统结构图如图4.2图4.2预处理子系统流程框图4.2.1 数据检测对源数据文件中每条记录先进行数据检测,检测记录的字段的合法性。检测话单记录的每个字段是否合法,这里合法是指符合字段实际的规定。具体的检测功能见表4.2。表4.2数据检测功能说明输 入phs_ dispatch source_ file中待处理状态的文件参考对象格式配置文件说 明要求字段不缺、不分断,日期字段超越日期的最大周期等。处 理不合法记录,不保存,直接删除4.2.2 挑错及处理对源数据文件中的每条记录进行判断,如果主叫号码、被叫号码、起始时间、时长等要素满足指定的条件,那么就将记录写入指定的异常话单文件中,并标记指定的异常类型,最后加载入库,由操作员去检查这此话单是否正常,需不需要参加计费。具体的挑错及处理功能见表4.3。表4.3挑错及处理功能说明输 入phs_ dispatch source_ file中待处理状态的文件输 出异常的话单记录表:phs_ chk-pre ticket err说 明将指定情况的异常话中取出来。挑错及处理中要求查找的错误包括:a) 长话话单超长、超短一张电话话单通话时长大于某一设定时长(阈值),即置为超长电话话单;一张电话话单通话时长小于某一设定时长(阈值),即置为超短电话话单。b) 重单长话出错的可能有重单,不同话单的各计费要素均重复(主叫号码,被叫号码,起始时间,通话时长)。c) 时间冲突长话出错的可能有时间冲突,普通电话的上一张话单的起始时刻加通话时长大于下一张话单的起始时刻,也就是该用户一个电话通话尚未结束,又拨叫了另一电话,即置为话单通话时间冲突。4.2.3 话单文件排序分检后的长网话,是按照三位号头进行分检的,数据排序是按照话单的主叫号码和起始时间进行排序,并把排序的结果存入到相应的文件中去。话单文件排序的具体功能见表4.4。表 4.4 话单文件排序功能说明输入参考对象话单主叫号码,起始时间输出处理$bill_data/yymm/phs/temp/xxx_sort.pre xxx为号头。4.3 主要算法预处理系统中使用的算法比较少,主要的一个就是利用 hash 表排序的算法。具体的算法描述如下:a) 搜索参考记录表文件,找到,在内存中生成参考记录 hash 表,没找到,则在内存中生成空 hash 表。b) 从 dispatch_source_file 表中读取待处理的文件记录,然后根据记录不断搜索指定目录的文件。c) 从文件中读取话单记录,检验记录是否合法。d) 检测记录是否超长、超短。e) 取话单记录的主叫的后四位,算出 hash 值,从 hash 表中找到主叫相同的历史记录。生成的 hash 表就是每个文件在内存中由hash值组织一个 hash 表,处理完一个文件之后释放内存。文件中的记录根据主叫号码起始时间进行排序。如果在同一个文件内所有号码前三位相同,那么对于绝大部分的七位号码,其同一号码的 hash值也相同。文件根据起始时间排序,所以每条话单与刚处理完的一条话单相比较后基本可确定是否为错单;当不能确定时再顺链表项比较,处理完的话单要插入链表中的相应位置,链表节点数目相应加一。而一条链表是由话单起始时间的先后顺序组织的,当找到这条链表的头时,总是最晚的一条话单。对于挑出的错单主要有重单、包容、时长分段等情况,针对这几种情况,做如下处理:1) 重复的两条记录、来源出错原因写到一个错误文件中。并将该记录加到参考队列尾,如队列满,还要从队列头剔除最老的参考历史记录。2) 将时间上冲突的两记录、来源出错原因写到错误文件中,并将该记录加到参考队列中相应位置,如队列满,还要从队列头剔除最老的参考历史记录。其中涉及到排序算法。本部分描述了预处理实现过程,从数据检测、挑错及处理、话单排序三方面对预处理功能做了详细介绍,并对系统使用的算法做了简单介绍。5 计费子系统设计5.1 系统描述预处理结果数据计费结果数据计费日志计 费报表元素合 账预处理模块计费子系统需接收从预处理子系统传来的各种话单文件,形成费用结果加载到数据库中后由合账子系统进行合账。系统结构如下图5.1。图 5.1 计费子系统结构图系统在计费时,总是先查看是否有无主话单,将无主话单计算完毕后,再根据本地计费系统的用户数据和话单数据计算出账务周期内每个用户的固定业务费用和计量业务费用,并将生成的文件名、路径插入表中。共分为导入用户数据、固定业务计费、计量业务计费、优惠处理、数据加载、生成报表元素等模块。5.2 模块设计5.2.1 导入用户数据及功能描述导入用户数据模块主要负责将数据库中最新的用户数据读入内存,并采用hash 表的数据组织结构,根据用户接口处理信息及时更新内存中的用户数据,维护内存中用户数据的准确性和易操作性。导入用户数据模块还负责把相关费率信息、优惠规则等计费用到的信息读入内存,便于计费处理时进行检索。表 5.1 导入用户数据模块功能细项1清除内存中的用户数据,将数据库中的用户数据引入内存2根据数据库中的用户变动情况,对内存中的用户数据进行更新计费话单读取、分拣、汇总框图见附录a。5.2.2 固定业务计费a) 功能描述固定业务计费模块主要负责根据用户属性和资源,在每个账务周期结束时计算一次各项固定业务,包括月租费、月固定费用、程控新业务使用费等,为每一条费用记录找出合同号。固定业务计费模块功能细项的具体描述见表5.2。表 5.2 固定业务计费模块功能细项1根据用户属性和资源类型计算各项固定业务费用2为每一条费用记录找出合同号3调用生成报表元素模块生成相关报表元素5.2.3 计量业务计费a) 功能描述计量业务计费模块主要负责根据用户属性和各种话单文件为每一条话单划价,标记无主话单,并可根据要求对无主话单进行计费。具体的功能描述见表5.3。表 5.3 计量业务计费模块功能细项1根据用户属性和话单计算各项计量业务费用2调用生成报表元素模块生成相关报表元素5.2.4 计费实现方法计量业务计费模块需要对文件和内存作操作。从话单文件中取出一条话单,根据主叫去 serv的记录中取出用户资料,根据不同的话单,有如下计算费用途径:a) 长途电话(包括 ip 电话)根据主、被叫区号到 v_toll_tariff 中找到相应的tariff_id 和ticket_type,然后再结合该用户的 serv_type_id 及话单发生日期对应的holiday_type(从 holiday 中查到)、话单时间到 v_tariff_time_span 中找出该次通话所跨越的各时段及费率;对各时段费用累加,计算出本次通话的长话基本费用。acct_item_type_id 根据 ticket_type 在 tick_typ_acct_item中得到。根据基本费用去acct_item_type 记录中找出派生的附加费,再去basic_tariff记录中取出相应费率算出附加费。根据用户资料去serv_disct 和 serv_cat_disct 找出disct_rule_id,再根据disct_rule_id去 disct_rule记录中取出优惠费率和 disct_type,然后根据 disct_type和 disct_rule_id 去相应表 destination 或 ticket_based_disct 找出被叫号码或话单优惠信息,再比较话单算出优惠费用。如果话单的被叫区号满足七国优惠,则在计算时段费用的同时考虑七国优惠的分时段费率。如果话单属于打漫游到本地入网手机用户话单,则免去其原始长途话单的费用,只根据原始长途话单的时长按市话费率计算,同时更改报表中间元素。如果允许无主话单计费,则将用户资料结构成员值赋为缺省后计算其费用。如果用户资料结构中有免费标志,则免去其相应费用类别的费用。b) 跳次话单(市话)读取计次话单文件格式,打开一个计次话单文件,根据文件格式读取一条相对跳次记录。根据主叫查找用户信息,若不是则将此记录放入市话无主文件然后查找下一条记录。若找到用户信息,则根据话单类型找出其基本费类型,结合用户的 serv_type_id 、billing_type_id 、 area_id 调用findbasictariff 找出基本费率及算费方法,再结合相对跳次算出基本费。调用 makeusagecharge 将算出的基本费、用户信息、账户信息写入 usagecharge文件,生成相应报表中间元素。查找下一条市话记录至文件结束,再继续查找未处理的市话文件。如果用户资料结构中有免费标志,则免去其相应费用类别的费用。 c) 网话详单首先扫描网话文件存放路径,查找有无未处理过的网话文件。若没有则退出,若有则进行下面的步骤。读取网话的文件格式,打开一个未处理的网话文件,根据文件格式读取一条网话话单记录。根据主叫查找用户信息,若不是则将此记录放入网话无主文件然后查找下一条记录。若找到用户信息,则根据主叫被叫找出营业区号,如果被叫为本地网手机,根据主叫是市话还是农话最终确定此条话单记录是市话打手机还是农话打手机,再根据话单类型和话单发生时间找出节假日类型,再结合用户的 serv_type_id 调用 getlatntariff 找出基本费率及算费方法,再结合话单时长算出基本费。调用 makeusagecharge将算出的基本费、用户信息、账户信息写入 usagecharge 文件,调用 calreport生成相应报表中间元素。查找下一条网话记录至文件结束,再继续查找未处理的网话文件。d) 信息费首先扫描信息费文件存放路径,查找有无未处理过的信息费文件。若没有则退出,若有则进行下面的步骤。读取信息费的文件格式,打开一个未处理的信息费文件,根据文件格式读取一条信息费话单记录。根据主叫查找用户信息,若没有则查找其是否为千群百号用户,若不是则将此记录放入信息费无主文件然后查找下一条记录。若找到用户信息,则根据话单类型找出其基本费类型,再从 basic_tariff 表中找到此项费用类型对应的费率,如果是则调用getpayaccnbr 取得为此电话付费的电话号码及其用户信息,调用makeusagecharge 将记录中已有的基本费、用户信息、账户信息写入usagecharge 文件,生成相应报表中间元素。查找下一条信息费话单记录至文件结束,再继续查找未处理的信息费文件。5.2.5 优惠处理a) 功能描述优惠处理模块主要是按照运营商的优惠政策,对满足优惠条件的用户的某些费用或通话次数/时长等进行相应的打折、减量等优惠处理。优惠处理包括按通话主被叫关系优惠、详单时段优惠及计次/时长优惠、账目优惠等。其具体的功能描述见表5.4。表 5.4 优惠处理模块功能细项序 号功 能 细 项1基于话单的优惠(主被叫优惠、时段优惠);2计次时长优惠处理;3账目优惠处理;4总额优惠b) 实现方法计费优惠处理基于 serv 级。导入用户数据时,将某用户享受的优惠规则存储到该用户信息节点中,进行优惠处理时先判断该用户是否享受此优惠规则,然后再判断是否满足该规则规定的优惠条件,如满足则进行优惠处理。1) 基于话单的优惠基于话单的优惠包括主被叫关系优惠、时段优惠及两种情况的组合。主被叫优惠即是被叫号码满足一定条件则对该条话单费用进行优惠;详单时段优惠即是通话时间落入某一时间段则进行优惠;二者组合即是两种情况都满足才进行优惠。主被叫优惠规则在destination 表中定义,详单时段优惠规则在ticket_based_disct 或spec_tariff_disct,len_based_tariff 中定义,如两个表中的 disct_rule_id 相同,则二者条件都要满足。导入优惠规则时将只需满足主被叫关系的优惠规则存入一全局数组;只需满足时段关系的优惠规则存入一全局数组;二者都要满足的优惠规则存入一全局数组,三者互斥。详单计费时,每计算完一条话单费用,调用详单优惠模块进行优惠处理:根据该用户享受的优惠规则找到对应的优惠条件判断是否满足优惠,如满足进行优惠计算。根据psrev-disctruleid找出对应优惠规则pdisctrule,再根据pdisctrulediscttype 判断是否为详单优惠,如是则进行主被叫优惠、详单时段和二者组合优惠处理。一个 disctruleid 只能对应一种情况的优惠,如有优惠,则对该优惠构造一条记录,存入计费结构文件。(1) 主被叫关系优惠根据输入的优惠规则到全局数组中查找对应主被叫优惠规则;如找到,则按条件匹配被叫号码,判断是否满足优惠;如满足,计算优惠费用。 (2) 详单时段优惠根据输入的优惠规则到全局数组中查找对应详单时段优惠规则;如找到,则按条件匹配通话起始时间,判断是否满足优惠;如满足,计算优惠费用。 (3) 主被叫关系和详单时段同时满足的优惠根据输入的优惠规则到全局数组中查找对应详单时段优惠规则;如找到,则按条件匹配被叫号码和通话起始时间,判断是否满足优惠;如满足,计算优惠费用。2) 计次时长优惠计次优惠和账目优惠都属于对累积值的优惠,可在账期到时遍历账期用户,对享受计次或账目优惠的用户进行优惠处理;也可在计算某一账期用户的租费后,对其进行优惠处理,无需再遍历用户。计次优惠是指当某一用户的某类通话时长或次数总和达到一定的阈值,则对其进行某种优惠。计次优惠规则在 amount_based_disct 表中定义。处理时如果为计次优惠,则根据 amount_based_disct 的 amount_type 判断是计时话单优惠,还是计次话单优惠。然后根据serv_id 和 ticket_type 到相应话单表中取出计时或计次汇总信息,进行阈值判断。如满足优惠条件,则根据 disct_rule 的 method 进行相应优惠费用计算。根据输入的优惠规则找到全局数组查找对应计次优惠,计算优惠。3) 账目优惠账目优惠是指某一用户的某些账目类型(参照账目)的费用总和达到一定阈值时对另一些账目类型(优惠账目)的费用按一定方式进行优惠。账目优惠处理时,先根据用户享受的 disct_rule_id 到 disct_item_type表中找到参照账目类型和优惠账目类型,再根据参照账目类型和优惠账目类型及用户的 serv_id 到费用明细表中取出参照账目和优惠账目对应的费用。然后对参照账目费用进行阈值判断,如满足,则对优惠账目费用进行相应优惠计算。优惠计算处理流程如下:根据优惠规则找到优惠的参考账目类型和优惠账目类型,判断参考账目类型的费用总额是否达到优惠阈值,如果满足条件则计算优惠,按照优惠账目类型计算费用总额,根据优惠规则定义的优惠方法进行优惠,最后写入计费结果文件。4) 总额优惠总额优惠是指当某一用户的话费消费或充值账目费用总和达到一定阈值时对它按一定方式进行优惠。总额优惠规则在 value_based_disct 表中定义。账目优惠处理时,先根据用户享受的serv_id 或 acct_id 到表 acct_item 中统计出当前账期费用的总和。然后对费用进行阈值判断,如满足,则对此 serv_id或 acct_id 进行相应优惠计算。5.2.6 数据加载a) 功能描述数据加载模块主要负责对计费模块(包括固定业务计费、话单计费及优惠)生成的计费结果文件进行分类处理,生成针对话单表和费用表的数据文件,并将数据加载到数据库中。其具体的功能描述见表5.5。表 5.5 数据加载模块功能细项:1对计费结果文件进行分类格式化处理,生成话单和明细费用的文件2加载话单文件、费用明细文件b) 实现方法数据加载模块由进程调度模块调用,其中对费用结果文件进行分类处理只能单进程进行。对计费结果文件进行分类处理,根据数据库表结构形成标准格式的加载文件,不同用户、不同时间的租费及话单费用根据账单的类型号分别保存到不同的加载文件中,利用sql*loader 加载到数据库的相应表中。5.2.7 生成报表元素a) 功能描述生成报表元素模块主要负责在算出每一笔费用时统计出与该话单话费相关的各个报表的所有元素,本次计费结束后,将结果写入文件中。由加载模块负责将文件中的记录加载到报表中间表的缓冲表中,定时器在每天晚上将缓冲表中账期到的记录加载到报表中间表中。当计费出现错误时,实现回退功能。其具体的功能描述见表5.6。表 5.6 生成报表元素模块功能细项1根据账务周期为各个报表分配元素所需的内存空间2对形成话费记录相关的所有记录进行分类,根据报表元素要求更新元素内容3生成本次计费报表元素的文件,加载到数据库的报表加载缓冲表4将缓冲表的数据根据账期加载到报表中间表b) 实现方法生成报表元素模块由固定业务计费模块和计量业务计费模块调用,需要对文件和内存作操作。从每一条话单及话费记录中取出用户资料和费用,根据欲统计报表元素类型对相应的全局结构数组元素累加。在本次计费结束后,将数据写入文件中,由加载程序将文件加入数据库的报表加载缓冲表。当计费出现错误时,根据出现错误的计费对应批次和重新计费的对应批次,在加载缓冲表找到所关联的账期。如果该账期的记录已经合入报表中间表,则将报表中间表中该账期的记录全部删除。删除加载缓冲表中错误计费对应批次的记录,对相关账期记录重新执行一次合入报表中间表的操作。本部分从导入用户数据、固定业务计费、计量业务计费、优惠处理、数据加载、生成报表元素六大模块对计费子系统的功能进行介绍,并对每一模块的设计做了详细介绍。6 小灵通合账子系统设计6.1 系统描述合账子系统需有计费子系统生成的费用结果文件,根据本地计费系统的用户数据和各项费用详情数据合并出收费所需账务数据。系统总体结构如图6.1。计费结果数据报表元素查 询合 账合账日志收 费计费模块合账结果数据图 6.1 合账子系统总体结构系统由四个模块组成:文件合账、一次性费用合账、报表中间数据生成、预存款冲减。合账子系统的流程框图见下图6.2。是成功文件处理将数据库记录置为成功是最后一个结 束加载数据关闭合账日志合账开始打开日志取合账资料取合账文件不是失 败将数据库记录置为失败图6.2合账子系统流程框图6.2 模块设计6.2.1 文件合账a) 功能描述文件合账模块主要负责将计费子系统生成的费用结果文件按照要求进行合 并形成账务记录放入表中,然后将表中的记录按照合并账目类型等分组对费用求和并将记录插入相应账务表中。b) 实现方法合账模块需要对数据库作操作,逐一处理计费生成的费用结果文件。因为计费话单已经排好序,因此在一个文件中同一个电话号码的记录都是连在一起的。利用了这一特点,在设计合账程序时将程序简化,同一个电话号码的记录处理完后,将内存中的数据写入加载文件,同时将内存清空,准备处理下一个电话号码的费用。合账过程除了将同一个电话号码的同一项费用累加起来外,还有一个目的就是找到此项明细费用应归并的账目类型,实现此操作的方法是我们将各种明细费用及其对应的合并账目类型放在一个全局数组中。在合账过程中,根据明细费用利用二分法在全局数组中找到它对应的合并账目类型,将此信息一并写入加载文件,处理完所有文件后,将生成的加载文件加载到数据库的表中。然后定义一个游标,遍历表中所有记录,将查找出来的记录插入表中。6.2.2 一次性费用合账a) 功能描述将手工录入、批量导入的各种杂项费用如:各种地方信息台信息费、气象信息费,按照电话标识和费用类型进行分组求和,将结果插入账务表中。b) 实现方法数据都在数据库中,因此我们用存储过程来实现此项操作,根据各种一次性费用表中的电话号码和账目类型查找其所属的合同号及归属账目类型,将最终结果插入账务表中。6.2.3 报表数据生成a) 功能描述账期结束,生成市话统计中间表、长话统计中间表、流向流量统计中间表、长话分时段统计中间表、用户设备统计中间表、用户附加业务统计中间表、明细账统计中间表、零次用户统计中间表、合账后优惠统计中间表、合账账目统计中间表、大客户资料中间表、大客户费用统计中间表、大客户设备统计中间表数据。b)实现方法在数据库中用存储过程实现。调用生成市话统计中间表、长话统计中间表、流向流量统计中间表、长话分时段统计中间表、用户设备统计中间表、用户附加业务统计中间表、明细账统计中间表、零次用户统计中间表、合账后优惠统计中间表、合账账目统计中间表、大客户资料中间表、大客户费用统计中间表、大客户设备统计中间表的存储过程,在参数表中记录每个存储过程开始执行时间,若执行失败,则置失败标志。6.2.4 预存款冲减a) 功能描述首先存款冲减的原则为:按账务周期先后和费用金额从小到大排序。针对所有前台交费的用户,对其话费账务作销账处理,具体实现需要某些表之间有约束关系,模块功能细项如表6.1所示。表 6.1 功能细项序 号功能细项1后台预存款冲减2修改余额信息b) 实现方法输入合同号、服务号、员工工号、参数(是否要余额与账务充分冲减)。在表 acct 中得到余额和利息;在表 acct_item 找到指定的账目,取状态为“欠费”、“未交费”;在账单 、付费表中各插入一条数据,销账收据号等于付费收据号,账单表中的付费收据号字段取新生成的付费收据号;在表付费中插入一条记录,根据操作员工号生成一个付费收据号;再次付费收据号为空;总额等于零;在账单表中插入一条记录,销账收据号、付费收据号字段的值等于新生成的付费收据号;总额等于本次销掉账务的总金额。将表 acct_item 找到够销账的记录,销账收据号字段置为新生成的销账

温馨提示

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

评论

0/150

提交评论