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

下载本文档

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

文档简介

1、Alibaba构架设计文档第30贞共30贞计费中心架构设计文档修订版历史日期版本说明作者2009-10-211.0总体设计戴小丹2009-10-271. 1系统边界高嵩2009-10-281.2业务流程袁志俊Alibaba构架设计文档第30贞共30贞目录1简介41. 1.目的41.2. 围41.3. 适用对象41.4. 参考资料42. 构架目标和约束43. 业务分析43. 1.概述43. 2.业务主流程54. 模块划分54. 1.主要模块54.2. 工程划分54.3. 逻辑分层55. 架构设计65. 1.总体结构65.1. 1.概述65.1.2. 开发框架75.1.3. 技术特性75.1.4.

2、 技术风险75. 2.基础设施75.2.1.异步框架75.2. 2.日志框架85. 2. 3.多线程85. 3.系统设计:核心业务设计85. 3. 1.周期性计费划价流程85. 3. 2.非周期性计费划价流程 95. 3. 3.各种维度计费统计105. 3. 4.出账和,服务控制流程115. 4.系统设计:详细业务设计115.4. 1. 领域模型125. 4. 2.数据采集类图125. 4. 3. 订单收集时序图 135. 4. 4.实时业务数据采集时序图 14Alibaba构架设计文档第30贞共30贞5. 4. 5.数据筛选分析类图155. 4. 6.数据筛选分析时序图155. 4. 7.实

3、时性批价类图 165.4.8. 实时性批价时序图175. 4. 9.周期性批价类图185. 4. 10.周期性批价时序图195.4.11.计费汇总类图195. 4. 12.计费汇总时序图205. 4. 13.帐务管理类图215. 4. 14.出帐时序图 225. 4. 15.服务控制类图235. 4. 16.固定帐期服务控制时序图245.4.17.帐期之外扣款触发服务控制时序图245. 5.系统设计:系统边界接口 255.5.1.收费产品原始数据采集255. 5. 2. 订单开通业务255. 5. 3.订单状态变化通知接口 265. 5. 4.批价接口 265. 5. 5.计费系统反馈客户账务

4、欠费状态接口 275. 5. 6. 扣款接口 275. 5. 7.扣款状态回调接口 285.5.8. PC2授权用户数接口 285. 6. 系统设计:数据ER图296. 服务器部署307. 其它307. 1.規模分析(可选)307. 2.性能分析及实现(可选)307. 3. 质呈的达成(可选)308附录(术语)30Alibaba构架设计文档第30贞共30贞1. 简介1.1. 目的此文档通过对计费中心总体的业务架构建模,描述了计费中心整体业务架构设计蓝图,对后续的 设计和开发提供指导和参照。1.2.围本文档主要涉及计费中心的总体业务架构设计及系统中各个业务模块的架构设计。1.3.适用对象本文档适

5、用于:产品设计师:根据本文档中描述的架构模型评估需求满足度;开发工程师:参照本文档和详细设计文档进行开发。1.4.参考资料此软件架构设计参考计费系统需求及相关业务文档,如下所示:ITBU业务支撑系统规划V 1.0. pptx计费系统UC文档2. 构架目标和约束本文档从全局的角度出发描述了计费系统的总体业务架构,打造一个高性能、高稳定性计费平台。3. 业务分析3.1. 概述目前支持计费模式:1、支特非实时按次计费的后付费业务2、支持按天计费的后付费业务3、支持按天/最大账号数计费的后付费业务(按每份订单每天授权过的最大账号数计费)4、支持首次开通N天(首次使用N次)免费的计费策略5、支持同一份订

6、单同一天暂停恢复多次仅按一天计费(多份订单时按每份订单单独计费,即使 同一天退订再开通,按多份订单计费。)Alibaba构架设计文档第30贞共30贞6、支持用户使用时按实际付费者收费(老板订购,业务员使用或邀请业务7、支持按设定的日期出账业务8、支持欠费自动停止欠费服务9、支持充值销账后自动开通销账成功客户的取务3.2业务主流程4.1.主要模块数据采集数据分析账务管理4. 2.工程划分略Alibaba构架设计文档第30贞共30贞4. 3.逻辑分层略5. 架构设计5.1.总体结构计费系统架构图I 、CRM系统数据采集服务I订单系统I账单处理服务IIII账务系统<15.1.1.概述本系统设计

7、以覆盖阿里巴巴所有SaaS业务为目标,根据不收费模式(预付费、后付费)进行计 费。作为一项复杂、技术含量高的项目,SaaS业务实时计费结算系统设计时从技术和系统设计角度 看,应遽循以下原则:开放性基于统一 UDB用户体系,保证系统之间交互接口支持多种访问协议,满足多个业务产品线的业务 模式。可扩充性系统要有良好的可扩充性。从总体结构到具体硬件设备,都要给将来业务的新技术新产品预留接 口,以便进行平滑地升级和资源扩充。容错性和可靠性实时计费网络应用,对系统的可靠性要求极高,关键主机系统不允许停机发布应用。这就需要采 取各种容错技术以确保系统正常工作,如不停机发布版本等,但是在硬件设备也需要相应的

8、方案支持, 如双机热备、备份电源等技术保证服务器不出现停机故障。Alibaba构架设计文档第30贞共30贞安全性在保证高可用性的同时,要有各种措施工具防止对数据的非法访问和篡改,口令就是一种行之有 效的工具。网络支撑环境也应有相应的安全性机制如网络管理员权限,各种网络设备配置权限等。5.1.2.开发框架相关框架开发框架Webwork+Spring+1 bat is接口发布访问协议Hessian项目构建管理Maven数据库Oracle运行环境Jboss-4. 2. 1. GA开发工具Eclipse5.1.3.技术特性技术特性概述数据异步处理为处理失败的数据提供自动重试等相关策略日志详细跟踪异常定

9、位多任务精确统计数据解决多任务中出现重复统计、遗漏统计等问题历史表数据存储通过数据迁移保证上亿级数据存储和高效桧索分区数据存储通过数据迁移保证上亿级数据存储和高效桧索5.1.4.技术风险1. 异步处理数据准确性。2. 支持上百万用户的计费能力。3. 系统问脫调.集成风险。5. 2.基础设施5. 2.1.异步框架简单高效通用的异步任务处理系统.doAlibaba构架设计文档第30贞共30贞5. 2. 2.日志框架5. 2. 3.多线程5. 3.系统设计:核心业务设计5. 3.1.周期性计费划价流程计费系统订单系统产品系统()ActionI DataI Other SystemAlibaba构架设

10、计文档第30贞共30贞5. 3. 2.非周期性计费划价流程()ActionIDataIOther SystemAlibaba构架设计文档第30贞共30贞5. 3. 3.各种维度计费统计()ActionIDataIOther SystemAlibaba构架设计文档第30贞共30贞5. 3. 4.出账和服务控制流程()ActionIDataIIOther System5. 4.系统设计:详细业务设计Alibaba构架设计文档第30贞共30贞5. 4.1.领域模型Billinglrrfo-vaccount: String-productcode : String-productld : String

11、-userid: String-userName : String-startTime : Date-endTime : Date-amount: BigDecimal usage: BigDecirrial-usageUnit: String网站提交的信息BillingCollectBean-vaccount: String-produdCode: String-produdld : String-userid String-userNsme : String-isCharged : Boolean-usage BigDecimal-usageUnit: String-slartTime :

12、 Date-endTime : Date amount: BigDecimal-guid : String-gmtCreated : Date-gmtModified DateInvoice vaccount: String-uGrld : String userName : String rmbAmount: BiaDecimal -jpyAmount: BigDecimal usCAmount: BigDecimal hkdAmount: BigDecimal stalus : String-isctri: Boolean-paybillTime: Date-guid : String-g

13、mtCreated : Date-gmtModifiod : DqIgServiceCtrlEvent guid : String vaccount String-productcode : String status : String-orderld : String-eventTima: Date开通s皙停爭件账单原始信息收集StatCalcDean-guid: String -vaccount: String userid: String productcode. String-gmtCreated: Date gmtModified : Date statType : Siring-u

14、sage : BigDecimal -accountDate: Date计费统计BiHingttem-guid : String userid : String-userName : String-productld : String productName String memberld : String usage : BigDecimal usaoeUnit: String-amount: BigDecimal -accountDate : Date-gmtCreated : Date-gmtModified : Date-accountunit: string-productState

15、gyld : String -chargeParams : String isCharged : BooleanBillingSummary-guid : String-vaccount: Siring-productcode String -productName: String-orderCode : String-orderld : String-currency: String-amount: BiaDecimal -accountDate : Date-gmtCreated : Date -gmtModified : Date计贵汇总Order-orderld : String-or

16、dercode Siring-productCode : Stiing productName : Siring-'/account: String-statusEndTime : Date-productStrategyld: String accountunit: String-startTime : Date-endTime : Date-status: String chargStatus : String-gmtModined: Dale-gmtCreated: Date订单计费明细5. 4. 2.数据釆集类图Alibaba构架设讣文档 第30贞共30贞5. 4. 3.订单收

17、集时序图I仁0 佻 rglectoI":sa 哪I12 cro阿曰。吨Alibaba构架设计文档第30贞共30贞5. 4. 4.实时业务数据采集时序图BillingCollectDAOIrosultBoRn = collect(billinglrrf冬1.1: save(billingC:ollectBean)IAlibaba构架设计文档第30贞共30贞5. 4. 5.数据筛选分析类图订单服务组件546数据筛选分析时序图1: list := loadO2: pGrfom(billingCollectEgn)门:getProductStrategr12.2: save (state a

18、le)Alibaba构架设计文档第30贞共30贞5. 4. 7.实时性批价类图Alibaba构架设计文档第30贞共30贞帀I 5. 4. 8.实时性批价时序图Alibaba构架设计文档第30贞共30贞5. 4. 9.周期性批价类图Alibaba构架设计文档第30贞共30贞5. 4.10.周期性批价时序图ChargeB/PeriodTaskOrd e f ServiceBillingStaiCalcDAO产品弟统BillingltemDAOC h arge Byf3 e fio d Proc essor1 gpg怕卽口幻0list2.3: cuiiaBimrigitemo2.H:劇冏 Billi

19、ng itemo21:aetStat3alcOstate al cEe an2.2 celPriceOprice1 一 _厂节Billing S ummaryP rocess o rBillingttemDAOB illingSumm aryOAO计贺汇总定时任务Billing S u mmaryT ask计费汇总处理器/+ summaryByMonth(int month: int): BillingSummary+ summatyBy¥ear(year: int): BillingSummary+ saveSummary(billingSummary: BillingSummat

20、y): voidAlibaba构架设计文档第30贞共30贞5. 4.12计费汇总时序图1: summaryByMonthO1.1: getltemListQlist<1.2: savesdmmaryOAlibaba构架设计文档第30贞共30贞5. 4.13帐务管理类图岀味定时任务payCallback计费中心口縮触亍飞Alibaba构架设计文档第30贞共30贞5. 4.14出帐时序图IAlibaba构架设计文档第30贞共30贞5. 4.15.服务控制类图服务控制组件Invoiceservice订单服务组件OrderService服务控制定时任务账单服务组件ServiceCtrlServi

21、ce+ getBillingTypef): void+ getOrderUstO: List + orderCollectQ : void+ getProductStrageryQ : void+ invoiceOutAII(month : int): void+ invoiceOut(month : int. tenantld : String): void+ savelnvoiceO : Boolean+ payCallbackO : void+ getAIICustldO : List+ getlnvoicesQ: ListServiceCtrlTaskInvoiceservice+ c

22、reateEvent(param : BillingCollectBean): Boolean + getCtrlNoteListO : List+ performCtrINoteO :void+ invoiceOutAII(month : int): void+ invoiceOut(month : int, tenantld : String): void+ savelnvoiceO : Boolean+ payCallbackO : void+ getAIICustldO: List+ getlnvoicesQ : List,o-” “ "ctrINotify”ctrINoti

23、fyPC2服芻控制通知接口PC2服芻控制通知接口Alibaba构架设计文档第30贞共30贞5. 4.16固定帐期服务控制时序图5.4.17.帐期之外扣款触发服务控制时序图Alibaba构架设计文档第30贞共30贞5. 5.系统设计:系统边界接口5. 5.1.收费产品原始数据采集调用形式:Hessian接口 名称:insertServiceOp描述:按次收费的产品项消费行为记录 接口参数:名称类型说明BillinginfoObject本次产品项所需参数实体Billinginfo属性表述名称类型说明usernameString当前使用者名称useridString当前使用者用户IDpayerMem

24、ldString付款账户人memld,productNameString产品名称product IdString产品IdstartDateDate开始日期endDateDate结束日期AmountBigDemai1(特殊业务)不需要批价useAgeBigDemai1使用量useUnitString使用量单位返回值:名称类型说明resultString1:表示成功-1:表示参数错误5. 5. 2.订单开通业务调用形式:Hessian接口 名称:installOrder描述:当订单系统生成一条新的订单行记录时,通知定计费系统 接口参数:名称类型说明OrderObject计费系统中订单行镜像Ordm

25、i属性名称类型说明orderedString订单行号ordercodeString订单codeAlibaba构架设计文档第30贞共30贞custldString客户IDbillingTypeString(次/年/月)product IdString产品IDStatusString状态productstrategyIdString促销策略IdstartDateDate开通日期specConditionString特征值isQuotaString是否按配额计算payerMemldString付款人ID返回值:名称类型说明resultString1:表示成功 -1:表示参数错误5. 5. 3.订单状

26、态变化通知接口调用形式:Hessian接口 名称:updateOrderState描述:当订单状态发生变化,订单系统通知计费系统中订单镜像做同步 接口参数:名称类型说明ordereldString对应订单系统中订单行号StateString状态返回值:名称类型说明resultString1:表示成功-1:表示参数错误55.4批价接口调用形式:Hessian接口 名称:getTotalPrice描述:进行批价接口参数:名称类型说明productKeyString产品项IdfeatureListHashMap特征值measureUnitsString计量单位(年月日)为空时表示 单位是个count

27、BigDecimal购买数量不能为空或0CurrencyString币种,不能为空CurrencyString币种,不能为空Alibaba构架设计文档第30贞共30贞返回值:名称类型说明EsbResultMod elorg.mule esb mode1. tcc result EsbResult Model返回产品总价model. getReturnValue(): BigDecim al()-1:系统异常,调用失败。-2:表示验证通过但未激活-3:登录名不存在-4:校验失败;验证成功:返回用户ID5. 5. 5.计费系统反馈客户账务欠费状态接口调用形式:Hessian 接口 名称:feedb

28、ackUser 描述:反馈用户账务信息 接口参数:名称类型说明payerMemldString付款人Id返回值:名称类型说明ResultString改用户账务情况 1:未欠费 -1:已欠费5. 5. 6.扣款接口调用形式:Hessian接口名称:chargeAccount (具体接口名账户系统订) 描述:账期出账接口参数:名称类型说明InvoiceObject出账单Invoice 属性名称类型说明guidString主键custldString客户IdcustNameString客户名称payerMemldString付款人IdAlibaba构架设计文档第30贞共30贞totaiAmountB

29、igDecimal总金额rmbAmountBigDecimal人民币总金额twbAmountBigDecimal台币总金额usdol1arAmountBigDecimal美元总金额gbAmountBigDecimal港币总金额ItemList<lnvoiceltem>扣款明细Invoice Item属性表述 返回值:名称类型说明guidString主键product IdString产品项IdproductNameString产品项名称orderCodeString订单行CnyString币种AmountBigDecimal金额markAmountBigDecimal标价金额名称类

30、型说明ResultString1. 发送成功2. 发送失败5. 5. 7.扣款状态回调接口调用形式:Hessian接口 名称:payCal lback描述:账务系统扣费成功回调计费系统扣费成功通知 接口参数:名称类型说明invoiceldString计费系统账单IdstateString付费情况返回值:名称类型说明ResultString1:扣费成功5. 5. 8. PC2授权用户数接口调用形式:Hessian接口 名称:changeAccountNum 描述:PC2改变授权用户数接口Alibaba构架设计文档第30贞共30贞接口参数:名称类型说明mmldString付费用户Idcurrent

31、NumInt当前使用量productCodeString产品code返回值:名称类型说明ResultString1:更新成功5. 6.系统设计:数据ER图产品史用信息搜集茨 ±g vaccount 产fiSCode 产品吝称 奂用者ID 吏用看姓名 开始时间 结朿时间 史用壘 朋鱼单位 金颔 扰价状态 创建时间 修改时间VAK2EAK2(32) <pk>VAR?EAR2(32)VARCEAR2(2O)VAR2EAK2(64)VAR2EAR2(2O)VARCHAR2(64)DATEDATENUMBER(3,6)VAR2KAR2(1O)NUMBER (18, 2)CHAR DATEDATE扌礙表王键V/£CEAR2(32)vaccountMRCI1AR2(32)人民币金额NUMBER (10,6)日元金额MUMBER(1B,6)美元金刼NUMBER (IB, 6>港币金孤NUMBER (18,6)扣款状态CKAR(l)是否通知服务控制CEAR(l)扣款时间DATE创建时间

温馨提示

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

评论

0/150

提交评论