BOSS计费系统概要详细设计文档_第1页
BOSS计费系统概要详细设计文档_第2页
BOSS计费系统概要详细设计文档_第3页
BOSS计费系统概要详细设计文档_第4页
BOSS计费系统概要详细设计文档_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、采集系统概要详细设计文档1. 引言1.1编写目的 本文档主要阐述了计费模块一些基本流程和设计思路,主要包裹架构设计、数据库设计以及一些计费系统相关要求。主要用于指导培训班学员开发和设计。2. 系统分析2.1系统说明该模块主要有元数据入库、计费处理、费用查询等功能。如图1 图1 图1说明,费用查询主要分为余额查询、语音业务查询、数据业务查询;计费处理分为语音业务计费、数据业务计费;一、费用查询余额查询:主要是查询当前号码的余额。语音业务查询:主要是查询当前号码在一定时间段内的通话时长数据业务查询:主要是查询当前号码在一定时间内的上网流量二、计费处理语音业务处理:主要是根据语音业务计费规则来处理计

2、费数据业务处理:主要是根据数据业务计费规则来处理计费三、元数据处理主要是相关语音业务和数据业务文件采集到数据库2.2核心功能分析 图2 逐行分析采集数据,根据计费类型作不同的费用计算,扣除余额,然后产生相关流水。2.3计费规则2.3.1语音业务 不足一分钟按一分钟计算,比如3分30秒,按4分钟计算。每分钟按0.2元计费。对于白名单号码不计费,比如10086,110,119等号码2.3.2数据业务 按包月业务计算。5元包月5m流量。多出部分按1.00元/1m计费,不足1m的按1m计算 3. 总体设计3.1简述 由于该模块只是一个模拟,主要是让培训班学员学习java开发和面向对像的设计。该系统采取

3、c/s模式,是一个java独立服务。等后期会将此服务加入到b/s当中。3.2整体设计 3.2.1系统逻辑设计 3.2.2系统物理结构设计3.2.3系统组件图4. 接口设计4.1用户界面设计 用于该模块只是一个模拟,暂没有用户界面设计4.2外部接口设计 此系统的费用查询主要用于外部接口调用。主要是余额查询、语音业务和数据业务查询。5. 模块设计5.1整体设计5.1.1核心流程 说明如下:1、 调用采集类型去调用相关systemdcsservice的实现类。分别是voicedcsservice或datadcsservice类的logdcshandler。其中采集文件是逐行读取,逐行处理。并且在处理

4、之前,要打印日志。2、 在解析时要生成不同的userbilllog对像,并根据相关计费类型去调用userbillservice的billhandler方法。3、 对于语音业务,如果被叫号码是特殊号码,不计费,直接返回。先根据业务规则去生成相关费用,然后去查询余额判断是否满足扣费,如果满足则扣费,并且生成余额变动流水和生成相关计费日志记录。4、 对于数据业务,先根据业务规则生成相关费用,然后去查询余额,并判断则前是否满足扣费,如果满足扣费则扣费,并且生成余额变动流水和生成相关计费日志记录。5.1.2领域模型主要有以下几个核心领域模型:类名说明属性userbanlance用户当前余额的抽像1、 u

5、serid 用户id2、 banlance 余额3、 updatetime 最后更新时间4、 operdesc 备注userbanoperlog余额变动时一个流水记录。他extends于userbanlance1、seqno 操作流水pagelist主要用于分页时用。将当前页、每页显示多少条、是否下一页、开始条数和结束条数一个抽像1、 totalresult 总计录数2、 pagesize 每页显示多少条3、 currentpage当前第几页4、 pagelist 当前页数据集合userbilllog采集数据每条记录的一个抽像1、 seqno 流水号2、 seqkey 采集记录一条原始key3

6、、 userid 用户id4、 starttime 开始时间5、 endtime 结束时间6、 comdesc 备注uservoicebilllog语音数据一个计费单元。extend userbilllog对像1、 bmobile 被叫号码2、 comtile 通话时长3、 combill 通话产生费用userdatabilllog数据业务数据一个计费单元。extend userbilllog对像1、 comtime 上网时长2、 comsize 上网流量3、 combill 上网产生费用5.2子模块设计5.2.1通用模块说明如下:jdbcutil主要是数据库打开和关闭类。 类名方法名入参出参

7、说明 jdbcutilgetconnection()无java.sql.connection返回数据库连接jdbcutilclosejava,sql.resultset,java.sql.statemenet,java.sql.connection 无confutil主要是主要用于完成配置文件读取和cache。 类名方法名入参出参说明 confutilgetconf1、filepath 代表文件全路径名java.util.map5.2.2费用查询billqueryservice是接口定义类,主要用于作余额查询、数据业务、语音业务查询。而billqueryserviceimpl是billquer

8、yservice的实现类 类名方法名入参出参说明 billqueryservicequerybanlance1、 usrid 主要是指用户id。一般指用户申请电信的号码。如手机或adsl等号码userbanlance该类详细说明请参考领域模型说明billqueryservicequeryvoickbilllog1、 pagelist 分页对像。主要用于传开始页码和结束页码 2、 starttime 开始日期3、 endtime 结束日期 pagelist分页构造器。billqueryservicequerydatabilllog4、 pagelist 分页对像。主要用于传开始页码和结束页码 5

9、、 starttime 开始日期endtime 结束日期pagelist分页构造器5.2.3费用处理 userbillservice主要用于根据规则作计费处理,并把相关费用入库。其中有二个实现类,uservoicebillservice和userdatbillservice。类名方法名入参出参说明 userbillservicebillhandleruserbilllog该类主要有systemdcsservice的类生成无5.2.4数据采集systemdcsservice主要用于读取已经采集好的文件,然后调用billservice服务,去作相关的计费处理,最终入库。其中有二个实现类,voice

10、dcsservice和datadcsservice 类名方法名入参出参说明 systemdcsservicelogdcshandler无无5.2.5日志处理主要采用log4j来记录日志,详细请参考相关文档6. 系统数据结构设计6.1系统逻辑结构设计6.2系统物理结构设计详细说明看pdm视图3.详细设计3.1代码框架描述说明如下图:1、 该项目主要有src、conf、lib三个目录。src是代码文件;conf是存放配置文件的;lib主要是存放第三方库的。2、 项目以com.itjob.ocs开始,主要分为bill、common、dcs、model、service等包bill包主要是计费处理相关的

11、common主要指jdbc操作和配置解析dcs主要是数据采集相关model主要是指领域模型service主要是对外提供的接口,主要是费用查询等。3.2注意事项1、可能存在并发问题,所以在操作余额时,一定要行级锁,不能产生余额和流水不一致问题2、由于计费要同时向不同的表插入结构,一定要考虑数据一致性。因为要注意用到事务3、对于数据量特别大时,要通过优化数据库。如果是oracle数据,考虑表分区,或分库分表等4、对于采集、计费数据部分,一定要记录日志,以便查询哪条记录计费成功或失败模拟器练习技术:1、 io2、 thread3、 xml:用于记录模拟器需要的参数:文件大小,话单产生周期,前缀:139088888,目标目录,192.168.0.1.234561234.dat语音业务主叫 被叫 开始时间 结束时间 类型139088888011390888880230012121212112 32121212121210data上网(数据业务)主叫 流量开始时间结束时间类型13908888801212222230012121212112 32121212121211交换机正在产生数据,文件后缀为new交换机产生数据文件超过预

温馨提示

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

评论

0/150

提交评论