1、计费系统UC文档2.构架目标和约束本文档从全局的角度出发描述了计费系统的总体业务架构,打造一个高性能、高稳定性计费平台。3.业务分析3.1.概述目前支持计费模式:1、支持非实时按次计费的后付费业务2、支持按天计费的后付费业务3、支持按天/最大账号数计费的后付费业务(按每份订单每天授权过的最大账号数计费)4、支持首次开通N天(首次使用N次)免费的计费策略5、支持同一份订单同一天暂停恢复多次仅按一天计费(多份订单时按每份订单单独计费,即使同一天退订再开通,按多份订单计费。)6、支持用户使用时按实际付费者收费(老板订购,业务员使用或邀请业务)7、支持按设定的日期出账业务8、支持欠费自动停止欠费服务9
2、、支持充值销账后自动开通销账成功客户的服务3.2.业务主流程4.模块划分4.1.主要模块子系统功能模块数据采集数据分析账务管理4.2.工程划分略4.3.逻辑分层5.架构设计5.1.总体结构5.1.1.概述本系统设计以覆盖阿里巴巴所有SaaS业务为目标,根据不收费模式(预付费、后付费)进行计费。作为一项复杂、技术含量高的项目,SaaS业务实时计费结算系统设计时从技术和系统设计角度看,应遵循以下原则:开放性基于统一UDB用户体系,保证系统之间交互接口支持多种访问协议,满足多个业务产品线的业务模式。可扩充性系统要有良好的可扩充性。从总体结构到具体硬件设备,都要给将来业务的新技术新产品预留接口,以便进
3、行平滑地升级和资源扩充。容错性和可靠性实时计费网络应用,对系统的可靠性要求极高,关键主机系统不允许停机发布应用。这就需要采取各种容错技术以确保系统正常工作,如不停机发布版本等,但是在硬件设备也需要相应的方案支持,如双机热备、备份电源等技术保证服务器不出现停机故障。安全性在保证高可用性的同时,要有各种措施工具防止对数据的非法访问和篡改,口令就是一种行之有效的工具。网络支撑环境也应有相应的安全性机制如网络管理员权限,各种网络设备配置权限等。5.1.2.开发框架相关框架开发框架Webwork+Spring+Ibatis接口发布访问协议Hessian项目构建管理Maven数据库Oracle运行环境Jb
4、oss-4.2.1.GA开发工具Eclipse5.1.3.技术特性技术特性概述数据异步处理为处理失败的数据提供自动重试等相关策略日志详细跟踪异常定位多任务精确统计数据解决多任务中出现重复统计、遗漏统计等问题历史表数据存储通过数据迁移保证上亿级数据存储和高效检索分区数据存储5.1.4.技术风险1、异步处理数据准确性。2、支持上百万用户的计费能力。3、系统间联调、集成风险。5.2.基础设施5.2.1.异步框架5.2.2.日志框架5.2.3.多线程5.3.系统设计:核心业务设计5.3.1.周期性计费划价流程收集订单生产计费事件批价汇总订单系统产品系统产生计费明细计费明细表计费汇总表计费系统订单镜像表
5、计费事件表轮询批价(每日)生成订单镜像产生计费汇总ActionDataOther System各种维度的计费统计值5.3.2.非周期性计费划价流程原始消费信息临时表轮询Task数据筛选业务系统按用户操作触发批价获取原始消费信息5.3.3.各种维度计费统计PC2产生计费统计帐号数5.3.4.出账和服务控制流程账户系统出帐触发服务控制帐期定时、手工、阀值账单汇总表扣费成功财务系统出帐期开通或关闭通知更改账单状态是否超过帐期阀值超过帐期阀值帐期阀值日触发产生计费事件订单镜像更改订单状态5.4.系统设计:详细业务设计1.2.3.4.5.5.1.5.2.5.3.5.4.5.4.1.领域模型5.4.2.数
6、据采集类图5.4.3.订单收集时序图5.4.4.实时业务数据采集时序图5.4.5.数据筛选分析类图5.4.6.数据筛选分析时序图5.4.7.实时性批价类图5.4.8.实时性批价时序图5.4.9.周期性批价类图5.4.10.周期性批价时序图5.4.11.计费汇总类图5.4.12.计费汇总时序图5.4.13.帐务管理类图5.4.14.出帐时序图5.4.15.服务控制类图5.4.16.固定帐期服务控制时序图5.4.17.帐期之外扣款触发服务控制时序图5.5.系统设计:系统边界接口5.5.1.收费产品原始数据采集调用形式:接口名称:insertServiceOp描述:按次收费的产品项消费行为记录接口参
7、数:名称类型BillinginfoObject本次产品项所需参数实体Billinginfo属性表述usernameString当前使用者名称userId当前使用者用户IDpayerMemId付款账户人memId, productName产品名称productId产品IdstartDateDate开始日期endDate结束日期AmountBigDemail(特殊业务)不需要批价useAge使用量useUnit使用量单位返回值:result1:表示成功-1:表示参数错误5.5.2.订单开通业务installOrder当订单系统生成一条新的订单行记录时,通知定计费系统 Order计费系统中订单行镜像
8、Order属性ordered订单行号ordercode订单codecustId客户IDbillingType(次/年/月)产品IDStatus状态productStrategyId促销策略Id开通日期specCondition特征值isQuota是否按配额计算付款人ID5.5.3.订单状态变化通知接口updateOrderState当订单状态发生变化,订单系统通知计费系统中订单镜像做同步ordereId 对应订单系统中订单行号State5.5.4.批价接口getTotalPrice进行批价productKey产品项IdfeatureListHashMapmeasureUnits计量单位(年月日
9、) 为空时表示单位是个countBigDecimal购买数量不能为空或0Currency币种,不能为空EsbResultModelorg.mule.esb.model.tcc.result.EsbResultModel返回产品总价model.getReturnValue():BigDecimal()系统异常,调用失败。-2:表示验证通过但未激活-3:登录名不存在-4:校验失败;验证成功:返回用户ID5.5.5.计费系统反馈客户账务欠费状态接口feedbackUser反馈用户账务信息 付款人IdResult改用户账务情况1:未欠费已欠费5.5.6.扣款接口chargeAccount(具体接口名账
10、户系统订)账期出账Invoice出账单Invoice属性guid主键客户IdcustName客户名称totalAmount总金额rmbAmount人民币总金额twbAmount台币总金额usdollarAmount美元总金额gbAmount港币总金额ItemList扣款明细InvoiceItem属性表述产品项名称orderCode订单行Cny币种金额markAmount标价金额1.发送成功2.发送失败5.5.7.扣款状态回调接口payCallback账务系统扣费成功回调计费系统扣费成功通知invoiceId计费系统账单Idstate付费情况String 5.5.8.PC2授权用户数接口changeAccountNumPC2改变授权用户数接口mmId付费用户IdcurrentNumInt当前使用量productCode产品code更新成功5.6.系统设计:数据ER图6.服务器部署略 7.其它7.1.规模分析(可选)7.2.性能分析及实现(可选)7.3.质量的达成(可选)8.附录(术语)英文中文
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1