[计费中心] 架构设计文档
修订版历史
日期
版本
说明
作者
2009-10-21
1.0
总体设计
戴小丹
2009-10-27
1.1
系统边界
高嵩
2009-10-28
1.2
业务流程
袁志俊
目 录
1. 简介 4
1.1. 目的 4
1.2. 范围 4
1.3. 适用对象 4
1.4. 参考资料 4
2. 构架目标和约束 4
3. 业务分析 4
3.1. 概述 4
3.2. 业务主流程 5
4. 模块划分 5
4.1. 主要模块 5
4.2. 工程划分 5
4.3. 逻辑分层 5
5. 架构设计 6
5.1. 总体结构 6
5.1.1. 概述 6
5.1.2. 开发框架 7
5.1.3. 技术特性 7
5.1.4. 技术风险 7
5.2. 基础设施 7
5.2.1. 异步框架 7
5.2.2. 日志框架 8
5.2.3. 多线程 8
5.3. 系统设计:核心业务设计 8
5.3.1. 周期性计费划价流程 8
5.3.2. 非周期性计费划价流程 9
5.3.3. 各种维度计费统计 10
5.3.4. 出账和服务控制流程 11
5.4. 系统设计:详细业务设计 11
5.4.1. 领域模型 12
5.4.2. 数据采集类图 12
5.4.3. 订单收集时序图 13
5.4.4. 实时业务数据采集时序图 14
5.4.5. 数据筛选分析类图 15
5.4.6. 数据筛选分析时序图 15
5.4.7. 实时性批价类图 16
5.4.8. 实时性批价时序图 17
5.4.9. 周期性批价类图 18
5.4.10. 周期性批价时序图 19
5.4.11. 计费汇总类图 19
5.4.12. 计费汇总时序图 20
5.4.13. 帐务管理类图 21
5.4.14. 出帐时序图 22
5.4.15. 服务控制类图 23
5.4.16. 固定帐期服务控制时序图 24
5.4.17. 帐期之外扣款触发服务控制时序图 24
5.5. 系统设计:系统边界接口 25
5.5.1. 收费产品原始数据采集 25
5.5.2. 订单开通业务 25
5.5.3. 订单状态变化通知接口 26
5.5.4. 批价接口 26
5.5.5. 计费系统反馈客户账务欠费状态接口 27
5.5.6. 扣款接口 27
5.5.7. 扣款状态回调接口 28
5.5.8. PC2授权用户数接口 28
5.6. 系统设计:数据ER图 29
6. 服务器部署 30
7. 其它 30
7.1. 规模分析(可选) 30
7.2. 性能分析及实现(可选) 30
7.3. 质量的达成(可选) 30
8. 附录(术语) 30
1. 简介
1.1. 目的
此文档通过对计费中心总体的业务架构建模,描述了计费中心整体业务架构设计蓝图,对后续的设计和开发提供指导和参照。
1.2. 范围
本文档主要涉及计费中心的总体业务架构设计及系统中各个业务模块的架构设计。
1.3. 适用对象
本文档适用于:
? 产品设计师:根据本文档中描述的架构模型评估需求满足度;
? 开发工程师:参照本文档和详细设计文档进行开发。
1.4. 参考资料
此软件架构设计参考计费系统需求及相关业务文档,如下所示:
? 《ITBU业务支撑系统规划V1.0.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. 技术特性
技术特性
概述
数据异步处理
为处理失败的数据提供自动重试等相关策略
日志详细跟踪
异常定位
多任务精确统计数据
解决多任务中出现重复统计、遗漏统计等问
历史表数据存储
通过数据迁移保证上亿级数据存储和高效检索
分区数据存储
通过数据迁移保证上亿级数据存储和高效检索
5.1.4. 技术风险
1、 异步处理数据准确性。
2、 支持上百万用户的计费能力。
3、 系统间联调、集成风险。
5.2. 基础设施
5.2.1. 异步框架
5.2.2. 日志框架
5.2.3. 多线程
5.3. 系统设计:核心业务设计
5.3.1. 周期性计费划价流程
5.3.2. 非周期性计费划价流程
5.3.3. 各种维度计费统计
5.3.4. 出账和服务控制流程
5.4. 系统设计:详细业务设计
1.
2.
3.
4.
5.
5.1.
5.2.
5.3.
5.4.
5.4.1. 领域模型
5.4.2. 数据采集类图
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. 收费产品原始数据采集
调用形式:Hessian
接口名称:insertServiceOp
描述:按次收费的产品项消费行为
接口参数:
名称
类型
说明
Billinginfo
Object
本次产品项所需参数实体
Billinginfo属性表述
名称
类型
说明
username
String
当前使用者名称
userId
String
当前使用者用户ID
payerMemId
String
付款账户人memId,
productName
String
产品名称
productId
String
产品Id
startDate
Date
开始日期
endDate
Date
结束日期
Amount
BigDemail
(特殊业务)不需要批价
useAge
BigDemail
使用量
useUnit
String
使用量单位