计费中心++计费系统架构设计说明.docx
- 文档编号:6922946
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:28
- 大小:704.84KB
计费中心++计费系统架构设计说明.docx
《计费中心++计费系统架构设计说明.docx》由会员分享,可在线阅读,更多相关《计费中心++计费系统架构设计说明.docx(28页珍藏版)》请在冰豆网上搜索。
计费中心++计费系统架构设计说明
[计费中心]架构设计文档
修订版历史
日期
版本
说明
作者
2009-10-21
1.0
总体设计
戴小丹
2009-10-27
1.1
系统边界
高嵩
2009-10-28
1.2
业务流程
袁志俊
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.周期性计费划价流程
收集订单
生产计费事件
批价汇总
订单系统
产品系统
产生计费明细
计费明细表
计费汇总表
计费系统
订单镜像表
计费事件表
轮询批价(每日)
生成订单镜像
产生计费汇总
Action
Data
OtherSystem
各种维度的计费统计值
5.3.2.非周期性计费划价流程
原始消费信息临时表
轮询Task
数据筛选
批价汇总
业务系统
产品系统
产生计费明细
计费明细表
计费汇总表
按用户操作触发
计费系统
各种维度的计费统计值
批价
获取原始消费信息
产生计费汇总
Action
Data
OtherSystem
5.3.3.各种维度计费统计
原始消费信息临时表
轮询Task
数据筛选
业务系统
PC2
按用户操作触发
计费系统
各种维度的计费统计值
产生计费统计
获取原始消费信息
Action
Data
OtherSystem
帐号数
5.3.4.出账和服务控制流程
账户系统
出帐
触发服务控制
计费汇总表
计费系统
PC2
帐期定时、手工、阀值
账单汇总表
扣费成功
财务系统
出帐期
计费事件表
开通或关闭通知
更改账单状态
Action
Data
OtherSystem
是否超过帐期阀值
超过帐期阀值
帐期阀值日触发
产生计费事件
订单镜像
更改订单状态
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
使用量单位
返回值:
名称
类型
说明
result
String
1:
表示成功
-1:
表示参数错误
5.5.2.订单开通业务
调用形式:
Hessian
接口名称:
installOrder
描述:
当订单系统生成一条新的订单行记录时,通知定计费系统
接口参数:
名称
类型
说明
Order
Object
计费系统中订单行镜像
Order属性
名称
类型
说明
ordered
String
订单行号
ordercode
String
订单code
custId
String
客户ID
billingType
String
(次/年/月)
productId
String
产品ID
Status
String
状态
productStrategyId
String
促销策略Id
startDate
Date
开通日期
specCondition
String
特征值
isQuota
String
是否按配额计算
payerMemId
String
付款人ID
返回值:
名称
类型
说明
result
String
1:
表示成功
-1:
表示参数错误
5.5.3.订单状态变化通知接口
调用形式:
Hessian
接口名称:
updateOrderState
描述:
当订单状态发生变化,订单系统通知计费系统中订单镜像做同步
接口参数:
名称
类型
说明
ordereId
String
对应订单系统中订单行号
State
String
状态
返回值:
名称
类型
说明
result
String
1:
表示成功
-1:
表示参数错误
5.5.4.批价接口
调用形式:
Hessian
接口名称:
getTotalPrice
描述:
进行批价
接口参数:
名称
类型
说明
productKey
String
产品项Id
featureList
HashMap
特征值
measureUnits
String
计量单位(年月日)为空时表示单位是个
count
BigDecimal
购买数量不能为空或0
Currency
String
币种,不能为空
返回值:
名称
类型
说明
EsbResultModel
org.mule.esb.model.tcc.result.EsbResultModel
返回产品总价model.getReturnValue():
BigDecimal()
-1:
系统异常,调用失败。
-2:
表示验证通过但未激活
-3:
登录名不存在
-4:
校验失败;
验证成功:
返回用户ID
5.5.5.计费系统反馈客户账务欠费状态接口
调用形式:
Hessian
接口名称:
feedbackUser
描述:
反馈用户账务信息
接口参数:
名称
类型
说明
payerMemId
String
付款人Id
返回值:
名称
类型
说明
Result
String
改用户账务情况
1:
未欠费
-1:
已欠费
5.5.6.扣款接口
调用形式:
Hessian
接口名称:
chargeAccount(具体接口名账户系统订)
描述:
账期出账
接口参数:
名称
类型
说明
Invoice
Object
出账单
Invoice属性
名称
类型
说明
guid
String
主键
custId
String
客户Id
custName
String
客户名称
payerMemId
String
付款人Id
totalAmount
BigDecimal
总金额
rmbAmount
BigDecimal
人民币总金额
twbAmount
BigDecimal
台币总金额
usdollarAmount
BigDecimal
美元总金额
gbAmount
BigDecimal
港币总金额
Item
List
扣款明细
InvoiceItem属性表述
返回值:
名称
类型
说明
guid
String
主键
productId
String
产品项Id
productName
String
产品项名称
orderCode
String
订单行
Cny
String
币种
Amount
BigDecimal
金额
markAmount
BigDecimal
标价金额
名称
类型
说明
Result
String
1.发送成功
2.发送失败
5.5.7.扣款状态回调接口
调用形式:
Hessian
接口名称:
payCallback
描述:
账务系统扣费成功回调计费系统扣费成功通知
接口参数:
名称
类型
说明
invoiceId
String
计费系统账单Id
state
String
付费情况
返回值:
名称
类型
说明
Result
String
1:
扣费成功
5.5.8.PC2授权用户数接口
调用形式:
Hessian
接口名称:
changeAccountNum
描述:
PC2改变授权用户数接口
接口参数:
名称
类型
说明
mmId
String
付费用户Id
currentNum
Int
当前使用量
productCode
String
产品code
返回值:
名称
类型
说明
Result
String
1:
更新成功
5.6.系统设计:
数据ER图
6.服务器部署
略
7.其它
7.1.规模分析(可选)
略
7.2.性能分析及实现(可选)
略
7.3.质量的达成(可选)
略
8.附录(术语)
英文
中文
说明
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计费 中心 系统 架构 设计 说明