计费中心计费系统架构设计_第1页
计费中心计费系统架构设计_第2页
计费中心计费系统架构设计_第3页
计费中心计费系统架构设计_第4页
计费中心计费系统架构设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

[计费中心]架构设计文档

修订版历史

日期版本说明作者

2009-10-1.0总体设计戴小丹

21

2009-10-1.1系统边界高嵩

27

2009-10-1.2业务流程袁志俊

28

目录

1.简介.....................................................................6

1.1.目的.............................................................................6

1.2.范围............................................................................6

1.3.适用对象........................................................................6

1.4.参考资料........................................................................6

2.构架目标和约束..........................................................7

3.业务分析................................................................7

3.1.概述............................................................................7

3.2.业务主;耀......................................................................8

4.模块划分................................................................8

4.1.主题块........................................................................8

42工程划分.......................................................................9

4.3.逻辑分层........................................................................9

5.架构设计................................................................9

5.1.总体结构........................................................................9

5.1.1.概述......................................................................9

5.1.2.开发框架.................................................................10

5.1.3.技术特性.................................................................11

5.1.4.技术风险.................................................................11

5.2.基础设施.......................................................................11

J•▲•>1IIZXzT***••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••J-J-

5.2.2.日志框架.................................................................12

5.2.3.多线程...................................................................12

5.3.系统设计:核心业务设计.........................................................12

•,J2•J1•JL♦/闰亚世|t[>x+|苣七U1哈/八11玄}Iv手H空»*•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••J1L乙9

5.32非周期性计费划价流程.....................................................13

5.3.3.各种维度计费统计.........................................................14

5.3.4.出账和服务控制流程......................................................15

5.4.系统设计:详细业务设计.........................................................15

5.4.1.领域模型.................................................................16

5.4.2.数据采集类图.............................................................16

5.4.3.订单收集时序图...........................................................17

5.4.4.实时业务数据采集时序图..................................................18

5.4.5.数据筛选分析类图........................................................19

5.4.7.实时性批价类图..........................................................20

5.4.8.实时性批价时序图........................................................21

5.4.9.周期性北价类图...........................................................22

5.4.10.周期性批价时序图........................................................23

5.4.11.计费汇总类图.............................................................23

1.简介

1.1.目的

此文档通过对计费中心总体的业务架构建模,描述了计费中心整体业务架构设计蓝图,对后续的设

计和开发提供指导和参照。

1.2.范围

本文档主要涉及计费中心的总体业务架构设计及系统中各个业务模块的架构设计。

1.3.适用对象

本文档适用于:

>产品设计师:根据本文档中描述的架构模型评估需求满足度;

>开发工程师:参照本文档和详细设计文档进行开发。

1.4.参考资料

此软件架构设计参考计费系统需求及相关业务文档,如下所示:

>《ITBU业务支撑系统规划VLO.pptx》

>《计费系统UC文档》

2.构架目标和约束

本文档从全局的角度出发描述了计费系统的总体业务架构,打造一个高性能、高稳定性计费平台。

3.业务分析

3.1.概述

目前支持计费模式:

1、支持非实时按次计费的后付费业务

2、支持按天计费的后付费业务

3、支持按天/最大账号数计费的后付费业务(按每份订单每天授权过的最大账号数计费)

4、支持首次开通N天(首次使用N次)免费的计费策略

5、支持同一份订单同一天内暂停恢复多次仅按一天计费(多份订单时按每份订西单独计费,即

使同一天内退订再开通,按多份订单计费。)

6、支持用户使用时按实际付费者收费(老板订购,业务员使用或邀请业务)

7、支持按设定的日期出账业务

8、支持欠费自动停止欠费服务

9、支持充值销账后自动开通销账成功客户的服务

3.2.业务主流程

4.模块划分

4.1.主要模块

子系统功能模块

数据采集

数据分析

账务管理

4.2.工程划分

4.3.逻辑分层

5.架构设计

5.1.总体结构

5.1.1.概述

本系统设计以覆盖阿里巴巴所有SaaS业务为目标,根据不收费模式(预付费、后付费)进行计

费。作为一项复杂、技术含量高的项目,SaaS业务实时计费结算系统设计时从技术和系统设计角度

看,应遵循以下原则:

开放性

基于统一UDB用户体系,保证系统之间交互接口支持多种访问协议,满足多个业务产品线的业

务模式。

可扩充性

系统要有良好的可扩充性。从总体结构到具体硬件设备,者暧给将来业务的新技术新产品预留接口,

以便进行平滑地升级和资源扩充。

容错性和可靠性

实时计费网络应用,对系统的可靠性要求极高,关罹主机系统不允许停机发布应用。这就需要采

取各种容错技术以确保系统正常工作,如不停机发布版本等,但是在硬件设备也需要相应的方案支持,如

双机热备、备份电源等技术保证服务器不出现停机故障。

安全性

在保证高可用性的同时,要有各种措施工具防止对数据的非法访问和篡改,口令就是一种行之有效

的工具。网络支撑环境也应有相应的安全性机制如网络管理员权限,各种网络设备配置权限等。

5.1.2.开发框架

相关框架

开发框架Webwork+Spring+Ibatis

接口发布访问协议Hessian

项目构建管理Maven

数据库Oracle

运行环境Jboss-4.2.1.GA

开发工具Eclipse

5.1.3.技术特性

技术特性概述

数据异步处理为处理失败的数据提供自动重试等相关策略

日志详细跟踪异常定位

多任务精确统计数据解决多任务中出现重复统计、遗漏统计等问题

历史表数据存储通过数据迁移保证上亿级数据存祐和局效检索

分区数据存储通过数据U移保证上亿级数据存储和段)效检索

5.1.4.技术风险

1、异步处理数据准通性。

2、支持上百万用户的计费能力。

3、系统间联调、集成风险。

5.2.基础设施

5.2.1.异步框架

简单高效通用的异

步任务处理系统.docx

5.2.2.日志框架

5.2.3.多线程

5.3.系统设计:核心业务设计

5.3.1.周期性计费划价流程

计费系统

订单系统

产品系统

[]Action

IIData

||OtherSystem

5.3.2.非周期性计费划价流程

:]Action

IData

IOtherSystem

5.3.3.各种维度计费统计

:]Actinn

|Data

|OtherSystem

5.3.4.出账和服务控制流程

[]Action

||Data

||OtherSystem

5.4.系统设计:详细业务设计

5.4.1.领域模型

Billinginfo

BillingCollectBeanInvoiceSeruicectrlEwnt

-rnccount:string

-vaccount:String-vsccount:String-guid:String

productCode:String

-poduclCode:String-userid:String-„acrnuntString

-productld:String

-producild:String-userName:String-prociuctCode:String

-userid:String

-ul:srldString-rmbAmount:BigDecimal-Stam,s:String

-userName:String

-userName:String-jp/Amount:BigDecimal-orderld:String

-startTime:Date

-isCharaed:Boolean-usdAmount:BgDecimal-IMlntTim'l:Datg

-endTime:Date

-usage81gDecimal-hkdAmount:BgDecimal

-amolmt:BiuDecimal

-usaoeUnit:Strino-blalu5:垃ring

-usage:BigDecimal

-siarlTime:Date-siCtrl:Boolean

-usaaeUnit:Strin!J开通、哲侍莘件

-endTime:Date-paybillTirne:Date

-amount:BigDecimal-guici:String

-guid:研ring-J!mtcrealed:Date

-gmtCreated:Date

网站提交的信思-gmtModilied:Date

-gmtModifiedDate

账单

原始信启收集

statCalcBeanBillngltemBilling5ummaryOrcler

-guid:String-guid:Stnng-cuid:String-orderld:String

--account:stringuserid:String-vacount:StringordcrCodeString

-userld:String-userrMame:String-productcodeString-prnductcode:string

-productcode-String-productld:String-productrame.String-productName:Siring

-gmtClcated:Date-pro小uclNamestring-crnercoele:string-vaccount:String

-gmtModified.Date-memberd:String-crderld:String-statusEndTime:Date

-statType:Siring-U5Glgi2和gDetim引-QJmncy:Sting-poductSLit'.gyld:String

-usage:BigDecimal-usageUnit:String-amount:BigDecimal-accountLnit:String

-accounmate:Dale-amount:BigDecimal-accountDate.Date-startlime:Date

-accountDate:Date-gmtCreated:Date-endTime:Date

-gmtCreated:Date-gmtModfied:Date-status:String

-gmtModilied-Date-charge8:atus:String

计费经计-accountunit:String-gmtModitisd:Dale

-productstateg;Id.String-gmtCreated.Date

计要汇总

-charaeParams:Strina

-isCharQAd:BOOIAAn

订单

计费明细

5.4.2.数据采集类图

一业务系统

PC2

BillinaColledSe”ic。

+collecMbillinInfo:Blllinalrfo);ResWBean

5.4.3.订单收集时序图

订单系统OrderBervic巳OrderDAO3erviceCtrlSiu¥ice

1:orderCollectQ

1..1:save0人

I

1.2:createEveritO

5.4.4.实时业务数据采集时序图

业务系统BillingGollectserviceBillingCollectDAO

1

।1:resultBe:;n:=collect(billingln(1

T

1.1:save(billinciCollectBean)

5.4.5.数据筛选分析类图

订单服务组件

OrderSe而ce

_________+getBillingTypeO:-.aid

+getorderlisiO:List

+arderColleclO:void

+getProductSIrageryO:void

数据筛选定对任务DAO

BillingFilterT:a点+cr&aliO:BodElan

+di:!IE!lLiO:Bo3lE!an

+1o.ad():Li1*1

+ar由疝Boolean

娄据分析统计处理器

ElllllngstatCalc

5.4.6.数据筛选分析时序图

BillingFilterTaskBillingCollectorDAOBiliingS:atCalcOrderServiceBiningStatCalcDAO

1:list:=loadO

2:petform(biilingCollectBeGin)

.1:getProductStrate%।

2.2:save(statCalc)>

5.4.7.实时性批价类图

产品系线批价接口4

-------[^3-----

产品系统

O~~I

5.4.8.实时性批价时序图

BllllngFllterT;tsl(Bllllnge(XI8ctO:AOChrgyByTImysProceoiillllngi';3lCaCD-13产品忑而Blllln^.t!HiDAO

1:gs18iningCallet1Li0.

2,charge心il(ingCol'ecl8ean:,

21giStaiCa|tO

Btatc,icBean

5.4.9.周期性批价类图

产品系统批价接口

o产品系统

getPtice

周期批价定时任务OrderService

Charge压,Periodlask+getBitlngTypeO:void

+getOrderlistO:List

+order:ollectO:void

+getPrcductStr?i.geryO:void

周期性批价处理器

Billingst双CalcDAO

Charge昭eriodProcessor

*chargA(orripr-Ordpr)-ROOIAAO

丹.getPrice(order.-Order).-B心Decimal

+buifdBillingJtem(order.-。心er,price.-BigDecim的.BillingItem

+saveBillingliem(billingltem;Billingitem);Boolean

BillingHemDAO

I

ChargeByPeriodProcessorl

+getPrice(orcisr:Order):BigDecimal

+buildBillingllsm(order:Order,price:BigDecimal):Billingitem

Charge研eriodProcessor2

+getPrice(order:Order):BigDecimal

+buildBillingltem(order:Order,price:BigDecimal):日曲ngltem

5.4.10.周期性批价时序图

CllarUeByPeriodTn5kOde80P»J(:E:CharueB的adPtDcessoBiiling8t(;liCafcD,>[>产品系较BiiinUltemD.知

iget(Xnnusio

li引

2:hai|i^Drder)

2l:U;Rtala心

s.jlcalcBean

5.4.11.计费汇总类图

计费汇总定时任务一

llingsummilryT:ask

计费汇总处理器

印HingItemDJLO

Hillir.gsummaryProceg;sor7

+:;umm;.ryByMonth(intmonth:int):Biliing811mma几'

+:;umm;.tyByYe;油(y9!打'|nt)'4dlitiBummary

+savesummat'\}(llillingSummarv:BillingSummary):void

5.4.12.计费汇总时序图

Billing8ummaryTaskBillingsummatyProcessorBillinglternDAO8il1ing8umrnaryDAO

1:summarvBvMonthO1.l:getltemlistO

list

1.2save8Jmmawo

5.4.13.帐务管理类图

出咪定时任冬

lnvciceOutTas:k

账单胆务组件

I“叩icesennce

-«1nvoiceOutJ!..ll(month:int):void

-tinvoiceout(month:int.tenantld:String):void

.«sa'I/elnvoic:eO:Boolean

-tpa'.fCallbackO:void帐务中心出帐接口

P平

计贵中心口贸回调接口4

5.4.14.出帐时序图

1mo1ceourrasKIrNOICeSetvIceBlIfgsummaryDAO账户中心1nvolceOAO

11:nvaiceOuTll(monil

2:payCpUbackO

21:savelnvoiceO

5.4.15.服务控制类图

InvoiceSelVice

+invoiceOut/lll(month:int):void

+invoiceOut(month:int,tenantld:String):void

+savelnvoiceO:Boolean

+payCallbackO:void

+gettllCustldO:List

+getlnvoicesO:List订单服务组件

OrdorSorvic©

+getBiIlingTypeQ:void

+crcatcEvcnt(param:BillingColIcctBcan):Boolean------------------------------+Sdveinvoiceo;Boolean

+getCtrINotelistO:List-payCallbackO:void

|PC2眼分控制地知按n气

5.4.16.固定帐期服务控制时序图

ServiceCtrlTaskSer.iceCtrlBetvicelnvoiceSetvic:ePC2OrderSetvice|

FI.5:modifyStatus。

5.4.17.帐期之外扣款触发服务控制时序图

账户中心lnRicc88向CB

8Orr-iceCtd8er-1iceImoce8etvicePC2

1:pah'CallbackO_,.

-------------------2:perrormctrlNote

21:getlmoicesO

2.2:CtrlNolifyO

23:svelnvoieO、।

.-'1:crealeEvertO

F2.5modiIVS均tUSO

5.5.系统设计:系统边界接口

5.5.1.收费产品原始数据采集

调用形式:Hessian

接口名称:insertServiceOp

描述:按次收费的产品项消费行为记录

接口参数:

名称类型说明

BillinginfoObject本次产品项所需参数实体

Billmginto属性表还

名称类型说明

usernameString当前使用者名称

useridString当前使用者用户ID

payerMemldString付款账户人memld,

productNameString产品名称

productldString产品Id

startDateDate开始日期

endDateDate结束日期

AmountBigDemail(特殊业务)不需要批价

useAgeBigDemail使用量

useUnitString使用量单位

返回值:

名称类型说明

resultString1:表示胡

-1:表示参数错误

5.5.2.订单开通业务

调用形式:Hessian

接口名称:installOrder

描述:当订单系统生成一条新的订单行记录时,通知定计费系统

接口参数:

名称类型说明

OrderObject计费系统中订单行镜像

Order属性

名称类型说明

orderedString订单行号

ordercodeString订单code

custldString客户ID

billingTypeString(次/年/月)

productldString产品ID

StatusString状态

productStrategyldString促销策略Id

startDateDate开通日期

specConditionString特征值

isQuotaString是否按配额计算

payerMemldString付款人网站ID

返回值:

名称类型说明

resultString1:表示成功

-1:表示参数错误

5.5.3.订单状态变化通知接口

调用形式:Hessian

接口名称:updateOrderState

描述:当订单状态发生变化,订单系统通知计费系统中订单镜像做同步

接口参数:

名称类型说明

ordereldString对应订单系统中订单行号

StateString状态

返回值:

名称类型说明

resultString1:表示成功

-1:表示参数错误

5.5.4.批价接口

调用形式:Hessian

接口名称:getTotalPqce

描述:进行批价

接口参数:

名称类型说明

productKeyString产品顶Id

featureListHashMap特征值

measureUnitsString计量单位(年月日)为空时表示

单位是个

countBigDecimal购买数量不能为空或0

CurrencyString币种,不能为空

返回值:

名称类型说明

EsbResultModorg.mule.esb.model.tcc.result.EsbResul返回产品总价

eltModelmodel.getReturnValue():BigDeci

mal()

-1:系统异常,调用失败。

-2:表示验证通过但未激活

-3:登录名不存在

-4:校验失败;

验证成功:返回用户ID

5.5.5.计费系统反馈客户账务欠费状态接口

调用形式:Hessian

接口名称:feedbackuser

描述:反馈用户账务信息

接口参数:

名称类型说明

payerMemldString付款人Id

返回值:

名称类型说明

ResultString改用户账务情况

1:未欠费

-1:已欠费

5.5.6.扣款接口

调用形式:Hessian

接口名称:chargeAccount(具体接口名账户系统订)

描述:账期内出账

接口参数:

名称类型说明

InvoiceObject出账单

Invoice属性

名称类型说明

guidString主键

custldString客户Id

custNameString客户名称

payerMemldString付款人Id

totalAmountBigDecimal总金额

rmbAmountBigDecimal人民币总金额

twbAmountBigDecimal台币总金额

usdollarAmountBigDecimal美元总金额

gbAmountBigDecimal港币总金额

ItemList<lnvoiceltem>扣款明细

Invoiceitem属性表述

返回值:

名称类型说明

guidString主键

productldString产品项Id

productNameString产品项名称

orderCodeString订单行

CnyString币种

AmountBigDecimal金额

markAmountBigDecimal标价金额

名称类型说明

ResultString1.发送成功

2.发送失败

5.5.7.扣款状态回调接口

调用形式:Hessian

接口名称:payCallback

描述:账务系统扣费成功回调计费系统扣费成功通知

接口参数:

名称类型说明

invoiceldString计费系统账单Id

stateString付费情况

返回值:

名称类型说明

ResultString1:扣费成功

5.5.8.PC2授权用户数接口

调用形式:Hessian

接口名称:changeAccountNum

描述:PC2改变授权用户数接口

接口参数:

名称类型说明

mmldString付费用户Id

currentNumint当前使用量

productCodeString产品code

返回值:

名称类型说明

ResultString1:更新成功

5.6.系统设计:数据ER图

产品陀用信息搜异来产品计赞明细来产祐计贲统计表

逞~仄楙2(32)罕_迳W王C-2(32)罕主诬IDVP.KGS2位笥罕

U3CCOIIII.tV虚M2(32)/accountWl.CHAR2(32)灾IccountVAR氓坎R2(32)

产品Cod,VftHAR2(20)畦者姓名VHiCHAR2(W)用户ID

温馨提示

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

评论

0/150

提交评论