《运营中心开发指南-Settlement1套件基础》由会员分享,可在线阅读,更多相关《运营中心开发指南-Settlement1套件基础(56页珍藏版)》请在金锄头文库上搜索。
1、运营中心开发指南运营中心开发指南-Settlement 1 套件基础套件基础 1.1 术语介绍术语介绍 术语 术语解释 SET TLE ME NT 结算套件,提供结算分成能力。 DSF DSF是一个高可用、高性能、分布式的服务框架。能帮助业务快速构建大规 模分布式微服务应用,并提供开放、安全、高性能、高可靠的运行环境。同 时提供强大的运维管理能力,让业务能够实时获取服务全方位的运行信息, 提升在大型分布式应用诊断和修复能力。 Zoo kee per ZooKeeper是一个用java编写的,旨在为分布式应用提供协调服务的基础应 用组件。DSF框架主要使用zookeeper作为自己的服务注册中心
2、。 Red is Redis是一款开源,面向Key- value对数据类型的小型数据库。存储的类型丰富,如string, list, set, zset, hash等。具有高并发,原子操作的特点。能够持久存储,支持异步存储。 CSC CSC是一个轻量级服务容器。提供云上轻量化的java应用运行环境,屏蔽云 与非云的差异,遵从组件化架构,实现开发和部署分离,并支持JVM问题快 速诊断。 Ehc ach e Java进程内缓存框架settlement应用它缓存待入库的数据。 1.2 套件简介套件简介 定位:接收管理台发布的合作方分成结算策略信息,获取能力中心的计费话单,然 后按策略要求进行分成结算
3、处理,最后得到合作方的分成账单。同时提供计费话单 的对比功能,辅助不同系统间的话单对账处理,如:运营商话单和华为话单间,华 为话单和合作方话单间。 业务功能主要包括: 结算策略管理、话单数据预处理、分成结算处理、结算帐单管理。 1.3 技术架构技术架构 技术特征: 服务化:基于微服务框架DSF+服务治理框架ZooKeeper,实现了用户套件接口 服务化。 高可伸缩性:支持业务节点和数据库节点的在线无缝水平扩容。 高性能:采用分布式缓存Redis+ ehcache,支持海量数据的高性能读写。 高可用性:业务节点或数据库节点故障时,业务0中断。 高可定制性:业务流程、接口、数据模型的灵活定制,支持
4、用户属性的动态扩 展。 轻量级数据访问层:基于ibitas实现数据库访问,执行效率高、延时低。 轻容器:基于CSC微容器,实现轻量化发布、安装、部署。 多协议:支持http、DSF协议 1.4 功能架构功能架构 结算模块产品服务包括四个模块。 1. 话单预处理模块:采集计费话单,进行过滤转换,根据分成策略累加到结算汇 总项。 2. 分成结算处理模块: 创建并执行结算任务,按分成策略要求执行结算处理,输出结算账单。 1. 账单查询/同步模块:将生成的结算账单同步给要使用的系统,或提供账单的 实时查询。 2. 分成策略维护:接收管理台同步的分成策略、Partner信息,在结算处理中使 用。 1.5
5、 概念模型概念模型 数据模型说明如下: 名称 定义 说明 Partner 产业价值链上运营商自身以外的具备独立法人资格的、与运营商紧密合作的社会机构 在结算中心重点关注的是合作伙伴通过运营商提供的业务、内容等带来商业利益及双方的合作方式。所以参与分成的合作伙伴、代理商、提供商等,在Settlement中统一为分成方。 合作项目 合作伙伴通过运营商提供的业务、内容等 如在SDP领域的手机报、短消息等都是具体的合作项目。 分成策略 收益在各个分成方之间的分配算法 包括分成周期、分成比例、匹配条件等信息 契约 运营商和合作伙伴就合作项目、合作方式等双方协作的约定 合作伙伴和运营商针对每个合作项目约定
6、的分成策略 计费账单 计费部件在计费过程中输出的计费详单 如Charging输出的话单,Payment输出的支付详单等。 结算周期 一个时间区间 如本月1号到下月1号 结算周期类型 时间区间分类 每周、每月、每季度结算 分项统计 每个分成项目在一个账期的合计值 如短信在本月的用量、费用合计 结算账单 根据结算策略计算的特定周期某个合作伙伴的各项分成金额 运营商和合作伙伴的分成结果 对账单明细 合作伙伴每一条交易的分成结果 在计费账单上增加针对该合作伙伴的分成结果 调账明细 针对分成结果的调整条目 如在本周期内合作伙伴业务质量较差,多次被投诉,所以需要扣除一定数目的分成。 1.6 数据模型数据模
7、型 结算中心物理数据模型: 数据模型说明如下: 名称 说明 合作伙伴信 息表 存放合作伙伴的基本信息及默认的分成策略。支持reserve字段和纵 表的扩展方式 结算策略表 根据话单中的结算ID找到对应策略,进行对应的分成结算处理 结算账单表 一个合作者对应一条结算策略在一个账期下,一个币种有一条结算 账单 结算明细表 每条记录包含三部分信息:1、 部分原始CDR话单的信息2、 部分对应分成结算策略中的信息3、 部分结算处理的结果 结算调账表 存放针对某条结算账单进行的调整信息,包括调整原因,调整方向 、金额等信息 结算任务表 每个账期的结算处理以一个任务的形式组织起来,用于计算任务的 调度、状
8、态跟踪及管理 结算任务文 件 一个结算任务处理的所有文件 结算数据源 本次结算任务的计费账单来源,如果需要从远程采集过来,则还包 括远程协议运行的相关信息 循环结算任 务 系统定时发起的结算任务,包括触发条件、账期类型、结算数据来 源信息。 1.7 组网图组网图 1.8 定制清单定制清单 定制点 定制点描述 新增服务接口 对于某些定制特有的功能的实现,可以在定制工程中增加新的 服务接口 结算定时任务定 制 新增一种结算定时任务,可以通过配置表数据完成 结算输入话单定 制 结算一种完全新类型或者修改基线部分字段的话单 结算统计规则定定制统计规则,通过配置表指定统计话单中的字段。 制 2 开发须知
9、开发须知 2.1 技能要求技能要求 本文档面向的是有一定Java编程基础的开发人员,要求开发者具备以下方面能力: 名称 要求 JAV A Java开发必备技能 Spri ng 了解Spring框架Spring的配置,了解FactoryBean,单例beanSpring的启动加 载机制,知晓Spring的各种事件的用法 Red is 了解redis机制掌握redis的存储方式 Mav en 了解maven基本概念掌握POM文件的编写配置(maven的核心) ant 了解ant基本概念会编写基本的ant脚本 ibat is 熟悉ibatis的naming sql编写,掌握一些基本的SQL语句 2.
10、2 开发约束开发约束 请参考以下文档中约束说明: V500R005C01/Software/DSDP_COMMON_V500R005C01/UserGuide/Digital SDP 架构规范(V500R005C01_01).docx V500R005C01/Software/DSDP_COMMON_V500R005C01/UserGuide/Digital SDP DFX规范(V500R005C01_01) 3 开发环境开发环境 3.1 开发环境准备开发环境准备 在开始开发前,需要先准备以下开发环境: 软件名称 推荐版本 软件首页 操作系统 Windows 7及以上 http:/ JDK 1
11、.7及以上 http:/ Eclipse 3.6及以上 http:/www.eclipse.org/ Maven 3.2.1及以上 http:/maven.apache.org/ Ant 1.8.2及以上 http:/ant.apache.org/ 主要开发环境检查方法: JDK环境检查。 开始运行输入cmd,打开dos命令窗口。 输入: echo %JAVA_HOME% java -version 如果能显示JAVA_HOME路径和Java版本,就代表本地具备Java环境。 Maven环境检查。 开始运行输入cmd,打开dos命令窗口。 输入: echo %M2_HOME% mvn v 如果
12、能显示M2_HOME路径和Maven版本,就代表本地具备Maven环境(如没有Mav en环境,请参照文档V500R005C01/Software/DSDP_COMMON_V500R005C01/Use rGuide/Digital SDP 平台中间件使用指南 - 套件开发(V500R005C01_01).docx中10.3章节安装)。 Ant 环境检查。 开始运行输入cmd,打开dos命令窗口。 输入: ant v 如果能显示Ant的版本,就代表本地具备Ant环境(如没有Ant环境,请参照文档V5 00R005C01/Software/DSDP_COMMON_V500R005C01/User
13、Guide/Digital SDP 平台中间件使用指南 - 套件开发(V500R005C01_01).docx中10.4章节安装)。 3.2 工程导入工程导入 3.2.1 前置条件前置条件 安装结算套件:demo中ST用例需要用到安装环境中的配置文件,请参考BASE _SETTLEMENT_V500R005C00/UserGuide/DSDP Enabling Suite Installation Guide_SETTLEMENT.chm安装基线安装包。 Demo中已经包含了结算套件的基线框架(ideploy目录下),如不存在请按如下地 址获取 基线安装包获取地址:DSDP_SETTLEMEN
14、T_V500R005C00/Software/install/SETT LEMENT_V500R005C00.zip Maven仓库上传:由于工程是基于maven的,因此在工程导入之前需要确保工 程所依赖的Jar包已经上传maven私服。 maven仓库上传到maven私服请参照文档Digital SDP 平台中间件使用指南 - 套件开发(V500R005C01_01).docx中10.1章节。 Maven仓库获取地址:Software/CapabilityCenter/DSDP_OPERATIONCENTERCOM MON_V500R005C00/sdk_maven_repository 3
15、.2.2 获取获取maven工程工程 获取demo工程源码,源码路径DSDP_SETTLEMENT_V500R005C00/Software/exam ple/dsdp.example.settlement.zip,请自行获取并解压。工程目录如下图: 解压后确认ideploy目录下是否存在settlement基线框架如不存在请按如下操作 解压以后,请将DSDP_SETTLEMENT_V500R005C00/Software/install/SETTLEMEN T_V500R005C00.zip复制到dsdp.example.settlement/ideploy目录下,以供后面打 包使用。 3.
16、2.3 导入导入maven工程工程 请参考文档V500R005C01/Software/DSDP_COMMON_V500R005C01/UserGuide/Di gital SDP 平台中间件使用指南 - 套件开发(V500R005C01_01).docx中4.2章节导入上一章节获取的maven工程。 3.3 工程介绍工程介绍 提供Demo工程的目的是方便用户快速构建一个结算定制套件。 Demo工程整体结构如下: 3.3.1 工程目录介绍工程目录介绍 目录名称 目录描述 CI 一键打包(安装包)脚本存放目录 conf 配置文件存放目录 dbscripts 数据库脚本存放目录 ideploy 安装包存放目录 package 打包(应用包、数据库包)脚本存放目录 lib 打包后,基线api包和demo api包存放目录 3.3.2 子工程介绍子工程介绍 子工程名称 子工程描述 dsdp.ex