数据同步原理介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
能,如开户、综合查询、充值、转帐等。 产品数据同步
操作员在操作的时候,有选择的同步产品的私有和公有数据。
Page 5
方案概述-用户数据同步
BMP数据同步CBP采用SOAP协议,在CBP侧通过SoapAdapter提供 WebService的服务,BMP作为客户端与SoapAdapter进行交互。BMP与CBP 两个部件之间的交互经过多个组件,为了防止单组件的故障影响其它业 务,在每个组件之间的调用都设置了超时。
4. BMP发送加载文件包后,以消息形式(通过CBPAgent)向 CBP发送数据加载命令,触发CBP数据加载操作,CBP在返回 响应消息后,执行同步加载处理。
5. BMP定时通过CBPAgent消息查询内存库中的“CBP加载日志 表”(TC_SYNC_LOG)表,获取加载情况,并在界面实时显示 所有节点的加载状态。
4 CBPAgent与CBE /home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini
业务配置
DSTimeOut = 12
默认值(秒) 600 16 12
5 CBPAgent与
/home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini
CBP(1~N)
Байду номын сангаас
Database(1~N)
BMP(1~N)
用户数据同步/产品数据同步
用户数据同步/单表数据同步
SCP(1~N)
短信
GFEP(1~N)
Page 3
Contents
1 数据同步组网概述 2 同步CBP 3 同步SCP
Page 4
使用场景
用户数据同步 所有和内存库(SMDB)有交互的业务都需要使用同步CBP功
由于BMP资源是共享的,对于访问CBP的并发数做了限制。默认单个 CBP访问并发数为40个,访问所有CBP的并发数总和为200个。 3、超时
默认在网络层Socket超时设置为20秒,业务处理超时18秒。
Page 8
配置文件-用户数据同步
序 超时参数含义 号
对应配置项
1 外部系统
在外部系统配置
2 BMP 与 SOAPAdapter
$HOME/jboss/server/default/deploy/smap.ear/default.war/WE B-INF/lib/pmp-service-common.jar中的bme_parameter.xml文 件里配置
单位(毫秒)
3 SOAPAdapter与 CBPAgent
ENIP.Individual.DOID://00000004/005000BE/00004A38/0000 4A38.SoapAdapterSOAOvertime=16000 单位(毫秒)
运营人员
1维护公有数据B表()
1.1更新B表()
2维护A产品() 2.1更新A产品数据()
3加载A产品()
3.1导出数据() 返回文件()
CBPAgent
CBP
CBP数据管理服
SMDB
CBP共享数据区1 CBP共享数据区2
CBE应用
务
3.2生成数据包() 3.2.1将数据包SFTP到CBP()
3.3发送加载命令()
2. 在操作员完成数据的维护操作后,可选择是否加载同步这些 数据。
3. 操作员选择要加载同步的目标CBP节点(默认为所有),执 行加载操作。BMP系统收集本次同步涉及的数据,生成“数 据加载文件包”,公有数据以表为单位,一个表一个文件; 产品私有数据以产品为单位。并将此文件包以SFTP方式传送 到要加载的CBP节点上。
Page 7
(from 数据同步)
(from 数据同步)
为了隔离CBP故障(如部分节点宕机或者处理慢),BMP在调用CBP之前 下面处理: 1、状态验证
BMP会通过心跳线程检测CBP的状态并保存下来,在向CBP发送消息 之前,检查该节点状态,如果CBP状态为Not Active,则直接返回不发送。 心跳线程默认10秒检测一次,失败检测次数为3次,失败间隔时间为1秒。 2、连接数限制
6. CBP取消现有的每个Container的实体管理机制,增加一个各
Page 11
CBP进程共享的正向同步数据共享内存区,数据区分为主备
BMP同步步骤-产品数据同步 1 收集同步数据 2 生成同步数据包 3 发送同步数据包 4 查询数据加载状态
返回命令响应()
3.3.1加载命令() 命令应答()
5获取加载数据() 数据返回()
6持久化数据()
8获取全量数据() 9更新数据备份区()
10主备切换数据区()
加载情况()
3.4查询加载情况() 加载情况()
3.4.1查询加载日志表() 加载情况()
13Sleep()
4获取主区数据库地址() 数据返回()
60
SMDB
SMDBTimeOut = 60
6 CBPAgent与DAS /home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini
7
C++
PhyDBTimeOut = 7
各组件之间超时配置表
Page 9
同步时序-产品数据同步
sd 3.2产品数据同步
BMP
BMPDB
Page 6
同步时序-用户数据同步
sd 用户数据同步
BMP
seq CBP
外部系统
外部请求()
内部校验() BMP请求()
超时返回()
SOAPAdapter
CBPAgent
SoapAdapter请求()
CBE/SMDB/DAS
向外部返回()
Soap消息返回()
超时返回() CBPAgent返回()
超时返回()
7读取旧数据() 数据返回()
11读取旧数据() 数据返回()
12获取主区数据库地址() 数据返回()
(from 数据同步) (from 数据同步) (from 数据同步) (from 数据同步)
(from 数据同步)
Page 10
产品数据同步步骤
1. 操作员在SMAP界面维护数据,包括产品私有数据和公有数 据。 BMP将数据变化记录到物理库中。
数据同步原理
2020/2/7
Contents
1 数据同步组网概述 2 同步CBP 3 同步SCP
Page 2
数据同步组网概述
BMP的数据同步的网元有CBP、SCP、GFEP,其中和SCP和GFEP的交互采 用同一个组件LDS,暂时归纳到同步SCP中。对应的组网图如下:
deployment Business Process Model
操作员在操作的时候,有选择的同步产品的私有和公有数据。
Page 5
方案概述-用户数据同步
BMP数据同步CBP采用SOAP协议,在CBP侧通过SoapAdapter提供 WebService的服务,BMP作为客户端与SoapAdapter进行交互。BMP与CBP 两个部件之间的交互经过多个组件,为了防止单组件的故障影响其它业 务,在每个组件之间的调用都设置了超时。
4. BMP发送加载文件包后,以消息形式(通过CBPAgent)向 CBP发送数据加载命令,触发CBP数据加载操作,CBP在返回 响应消息后,执行同步加载处理。
5. BMP定时通过CBPAgent消息查询内存库中的“CBP加载日志 表”(TC_SYNC_LOG)表,获取加载情况,并在界面实时显示 所有节点的加载状态。
4 CBPAgent与CBE /home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini
业务配置
DSTimeOut = 12
默认值(秒) 600 16 12
5 CBPAgent与
/home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini
CBP(1~N)
Байду номын сангаас
Database(1~N)
BMP(1~N)
用户数据同步/产品数据同步
用户数据同步/单表数据同步
SCP(1~N)
短信
GFEP(1~N)
Page 3
Contents
1 数据同步组网概述 2 同步CBP 3 同步SCP
Page 4
使用场景
用户数据同步 所有和内存库(SMDB)有交互的业务都需要使用同步CBP功
由于BMP资源是共享的,对于访问CBP的并发数做了限制。默认单个 CBP访问并发数为40个,访问所有CBP的并发数总和为200个。 3、超时
默认在网络层Socket超时设置为20秒,业务处理超时18秒。
Page 8
配置文件-用户数据同步
序 超时参数含义 号
对应配置项
1 外部系统
在外部系统配置
2 BMP 与 SOAPAdapter
$HOME/jboss/server/default/deploy/smap.ear/default.war/WE B-INF/lib/pmp-service-common.jar中的bme_parameter.xml文 件里配置
单位(毫秒)
3 SOAPAdapter与 CBPAgent
ENIP.Individual.DOID://00000004/005000BE/00004A38/0000 4A38.SoapAdapterSOAOvertime=16000 单位(毫秒)
运营人员
1维护公有数据B表()
1.1更新B表()
2维护A产品() 2.1更新A产品数据()
3加载A产品()
3.1导出数据() 返回文件()
CBPAgent
CBP
CBP数据管理服
SMDB
CBP共享数据区1 CBP共享数据区2
CBE应用
务
3.2生成数据包() 3.2.1将数据包SFTP到CBP()
3.3发送加载命令()
2. 在操作员完成数据的维护操作后,可选择是否加载同步这些 数据。
3. 操作员选择要加载同步的目标CBP节点(默认为所有),执 行加载操作。BMP系统收集本次同步涉及的数据,生成“数 据加载文件包”,公有数据以表为单位,一个表一个文件; 产品私有数据以产品为单位。并将此文件包以SFTP方式传送 到要加载的CBP节点上。
Page 7
(from 数据同步)
(from 数据同步)
为了隔离CBP故障(如部分节点宕机或者处理慢),BMP在调用CBP之前 下面处理: 1、状态验证
BMP会通过心跳线程检测CBP的状态并保存下来,在向CBP发送消息 之前,检查该节点状态,如果CBP状态为Not Active,则直接返回不发送。 心跳线程默认10秒检测一次,失败检测次数为3次,失败间隔时间为1秒。 2、连接数限制
6. CBP取消现有的每个Container的实体管理机制,增加一个各
Page 11
CBP进程共享的正向同步数据共享内存区,数据区分为主备
BMP同步步骤-产品数据同步 1 收集同步数据 2 生成同步数据包 3 发送同步数据包 4 查询数据加载状态
返回命令响应()
3.3.1加载命令() 命令应答()
5获取加载数据() 数据返回()
6持久化数据()
8获取全量数据() 9更新数据备份区()
10主备切换数据区()
加载情况()
3.4查询加载情况() 加载情况()
3.4.1查询加载日志表() 加载情况()
13Sleep()
4获取主区数据库地址() 数据返回()
60
SMDB
SMDBTimeOut = 60
6 CBPAgent与DAS /home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini
7
C++
PhyDBTimeOut = 7
各组件之间超时配置表
Page 9
同步时序-产品数据同步
sd 3.2产品数据同步
BMP
BMPDB
Page 6
同步时序-用户数据同步
sd 用户数据同步
BMP
seq CBP
外部系统
外部请求()
内部校验() BMP请求()
超时返回()
SOAPAdapter
CBPAgent
SoapAdapter请求()
CBE/SMDB/DAS
向外部返回()
Soap消息返回()
超时返回() CBPAgent返回()
超时返回()
7读取旧数据() 数据返回()
11读取旧数据() 数据返回()
12获取主区数据库地址() 数据返回()
(from 数据同步) (from 数据同步) (from 数据同步) (from 数据同步)
(from 数据同步)
Page 10
产品数据同步步骤
1. 操作员在SMAP界面维护数据,包括产品私有数据和公有数 据。 BMP将数据变化记录到物理库中。
数据同步原理
2020/2/7
Contents
1 数据同步组网概述 2 同步CBP 3 同步SCP
Page 2
数据同步组网概述
BMP的数据同步的网元有CBP、SCP、GFEP,其中和SCP和GFEP的交互采 用同一个组件LDS,暂时归纳到同步SCP中。对应的组网图如下:
deployment Business Process Model