计费中心计费系统架构设计.docx

上传人:b****7 文档编号:8600724 上传时间:2023-02-01 格式:DOCX 页数:27 大小:905.83KB
下载 相关 举报
计费中心计费系统架构设计.docx_第1页
第1页 / 共27页
计费中心计费系统架构设计.docx_第2页
第2页 / 共27页
计费中心计费系统架构设计.docx_第3页
第3页 / 共27页
计费中心计费系统架构设计.docx_第4页
第4页 / 共27页
计费中心计费系统架构设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

计费中心计费系统架构设计.docx

《计费中心计费系统架构设计.docx》由会员分享,可在线阅读,更多相关《计费中心计费系统架构设计.docx(27页珍藏版)》请在冰豆网上搜索。

计费中心计费系统架构设计.docx

计费中心计费系统架构设计

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

修订版历史

日期

版本

说明

作者

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.周期性计费划价流程

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

使用量单位

返回值:

名称

类型

说明

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.附录(术语)

英文

中文

说明

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1