手机版

数据同步原理介绍

发布时间:2024-11-28   来源:未知    
字号:

数据库同步机制

2011-3-31

Security Level:

数据同步原理

http://

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

数据库同步机制

Contents1

数据同步组网概述 同步CBP 同步SCP

2

3

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 2

数据库同步机制

数据同步组网概述BMP的数据同步的网元有CBP、SCP、GFEP,其中和SCP和GFEP的 交互采用同一个组件LDS,暂时归纳到同步SCP中。对应的组网图如下:de pl oy m en t Bu s in es s Pr o ce ss M od e l CB P ( 1 ~ N )

用户数据同步/产品数据同步

Da ta ba se ( 1 ~ N )

BM P ( 1 ~ N ) 用户数据同步/单表数据同步

SCP(1~N)

短信

G FE P ( 1 ~ N )

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 3

数据库同步机制

Contents1

数据同步组网概述 同步CBP 同步SCP

2

3

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 4

数据库同步机制

使用场景用户数据同步 所有和内存库(SMDB)有交互的业务都需要使用同步CBP功能, 如开户、综合查询、充值、转帐等。 产品数据同步 操作员在操作的时候,有选择的同步产品的私有和公有数据。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 5

数据库同步机制

方案概述-用户数据同步BMP数据同步CBP采用SOAP协议,在CBP侧通过SoapAdapter提供 WebService的服务,BMP作为客户端与SoapAdapter进行交互。BMP与CBP两 个部件之间的交互经过多个组件,为了防止单组件的故障影响其它业务, 在每个组件之间的调用都设置了超时。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 6

数据库同步机制

同步时序-用户数据同步sd 用户数 据同步 BMP 外部系统 seq CBP SOAPAdapter CBPAgent CBE/SMDB/DAS 外部请求() 内部校验() BMP请求() 超时返回() SoapAdapter请求()

超时返回() 超时返回() CBPAgent返回() Soap消息返回() 向外部返回()

(from 数据同步)

(from 数据同步)

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 7

数据库同步机制

为了隔离CBP故障(如部分节点宕机或者处理慢),BMP在调用CBP 之前下面处理: 1、状态验证 BMP会通过心跳线程检测CBP的状态并保存下来,在向CBP发送消息 之前,检查该节点状态,如果CBP状态为Not Active,则直接返回不发送。 心跳线程默认10秒检测一次,失败检测次数为3次,失败间隔时间为1秒。 2、连接数限制 由于BMP资源是共享的,对于访问CBP的并发数做了限制。默认单个 CBP访问并发数为40个,访问所有CBP的并发数总和为200个。 3、超时 默认在网络层Socket超时设置为20秒,业务处理超时18秒。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 8

数据库同步机制

配置文件-用户数据同步序 号 超时参数含义 在外部系统配置 $HOME/jboss/server/default/deploy/smap.ear/default.war/WE B-INF/lib/pmp-service-common.jar中的bme_parameter.xml文 件里配置 单位(毫秒) ENIP.Individual.DOID://00000004/005000BE/00004A38/0000 4A38.SoapAdapterSOAOvertime=16000 单位(毫秒) /home

2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini DSTimeOut = 12 /home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini SMDBTimeOut = 60 600 对应配置项 默认值(秒) 1 外部系统 2 BMP 与 SOAPAdapter

3 SOAPAdapter与 CBPAgent 4 CBPAgent与CBE 业务配置 5 CBPAgent与 SMDB

16

12

60 7

6 CBPAgent与DAS /home2/cbpb04/ext/cbe/data/CBPAgent/CBPAgent.ini C++ PhyDBTimeOut = 7 各组件之间超时配置表

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 9

数据库同步机制

同步时序-产品数据同步sd 3 . 2 产品数据同步 BMP 运营人员 1维护公有数据B表() 1.1更新B表() 2维护A产品() 2.1更新A产品数据() 3加载A产品() 3.1导出数据() 返回文件() 3.2生成数据包() 3.2.1将数据包SFTP到CBP() 3.3发送加载命令() 3.3.1加载命令() 命令应答() 返回命令响应() 4获取主区数据库地址() 数据返回() 5获取加载数据() 数据返回() 6持久化数据() 7读取旧数据() 数据返回() 8获取全量数据() 9更新数据备份区() 10主备切换数据区() 11读取旧数据() 数据返回() 12获取主区数据库地址() 数据返回() 13Sleep() 3.4查询加载情况() 3.4.1查询加载日志表() 加载情况() 加载情况() 加载情况() BMPDB CBPAgent CBP CBP数据管理服 务 SMDB CBP共享数据区1 CBP共享数据区2 CBE应用

(from 数据同步)

(from 数据同步)

(from 数据同步) (from 数据同步)

(from 数据同步)

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 10

数据库同步机制

产品数据同步步骤1. 2. 3. 操作员在SMAP界面维护数据,包括产品私有数据和公有数据。 BMP将数据变化 记录到物理库中。 在操作员完成数据的维护操作后,可选择是否加载同步这些数据。 操作员选择要加载同步的目标CBP节点(默认为所有),执行加载操作。BMP系 统收集本次同步涉及的数据,生成“数据加载文件包”,公有数据以表为单位, 一个表一个文件;产品私有数据以产品为单位。并将此文件包以SFTP方式传送 到要加载的CBP节点上。 BMP发送加载文件包后,以消息形式(通过CBPAgent)向CBP发送数据加载命令, 触发CBP数据加载操作,CBP在返回响应消息后,执行同步加载处理。 BMP定时通过CBPAgent消息查询内存库中的“CBP加载日志表”(TC_SYNC_LOG) 表,获取加载情况,并在界面实时显示所有节点的加载状态。 CBP取消现有的每个Container的实体管理机制,增加一个各CBP进程共享的正 向同步数据共享内存区,数据区分为主备两个区,由专门的“CBP数据管理服 务”进行数据区数据的接收、加载和管理。 “CBP数据管理服务”读取数据文件包,执行文件包里的语句,将数据更新到 SMDB。 “CBP数据管理服务”将SMDB里的正向同步表数据刷新到备用共享缓存区。 “CBP数据管理服务”进行主备共享缓存区切换。CBP应用程序只读访问主用共 享数据区,完成业务

逻辑处理。

4. 5. 6.

7. 8. 9.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 11

数据库同步机制

BMP同步步骤-产品数据同步1 2 3 4收集同步数据 生成同步数据包 发送同步数据包 查询数据加载状态

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 12

数据库同步机制

步骤一:收集同步数据按照同步数据的类型不同,正向同 步的数据类型分为产品私有数据和公有 数据。 查询同步配置表 (cbe_syntable )可 以知道表是否同步以及属于产品数据还 是公有数据。cbe_syntable在物理库分 为cbe_syntable_p和cbe_syntable_s两 个表。DynamicFlag DataHomeType 字段名 TABLENAME DBTYPE 含义 表名 所在数据库类型: 0:系统表 1:用户表 正向同步标志: 0: 无需正向同步 1: 一直正向同步 动态表标志: 0:静态表 1:动态表 0:公有数据 1:产品私有数据

IsProductTable

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 13

数据库同步机制

产品私有数据是指属于某个产品特有的数据,其他产品不会引用或依赖,比如:产品表、定价计划、策略指属于某个产品特有的数据,通过产品->定价 计划->策略->…,产品资费配置向导配置出来的数据,其他产品不会引用或依 赖,比如:产品表、定价计划、策略、特殊号码分析与Tarriff相关的表等。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 14

数据库同步机制

公有数据不依赖于某个产品,即产品的变化不会影响公有数据。公有数据包括与产品无关的系统数据,比如:字典表、常量表、控制参数表等,还有一类公有数据是指某些产品共同依赖的数据,比如:时间方案等。 公有数据的收集分为三类:

UNL数据收集 UNL数据收集这是公有数据同步中最主要的一种情况(如时间方案、帐户类型、周期定义和业务的一些单表等),它将公有数据以整表 的方式导出成UNL文件。在收集整表表数据的时候,也需要根据Tb_tableversion中该表对应的COLUMNS字段的值来确 定哪些字段需要被收集以同步到内存库中。

SQL数据收集 SQL数据收集这种类型目前只在同步全局策略数据的时候用到。因为策略数据数据产品私有数据,无法按照整表的方式处理。但是全 局策略没有挂靠在任何产品下,所以在产品私有数据同步的时候,也没有办法同步这部分数据。所以在目前的系统中,对 全局策略数据的同步做了特殊处理。将全局策略涉及的数据收集成加载的sql语句和卸载的sql语句。主要处理流程和产品 私有数据收集流程相同。

UNL+SQL数据收集 UNL+SQL数据收集这种类型目前在同步累积项数据的时候用到。因为累积项数据会引用表达式数据,为了保证数据一致性。所以在同步累 积项数据的时候必须要将引用表达式的数据也进行同步,但是表达式为产品私有数据,如果

以整表的方式同步表达式数据, 也会引起数据的不一致性。所以系统同步累积项收集数据的时候,以UNL的方式整表收集累积项相关表 (CBE_CUMULATEID,CUMULATESCENARIO)的数据。以SQL的方式增量收集累积项引用表达式相关的数据。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 15

数据库同步机制

步骤二:生成正向同步包BMP以一次加载操作为单位,生成加载文件包。文件包名称定义:14位流水号+".tar.Z"。流水号由 BMP生成,因为目前不存在并发情况,即同一秒钟不可能同时有两个文件包生成,因此流水号格式可取 当前系统时间,格式为:YYYYMMDDhhmmss 例如: 20080401123240.tar.Z 目前系统中每次正向同步生成的文件和同步包存储在$BMP_HOME/ftpdata/system/syncdata目录下, 具体目录结构为:

其中: 工作区work目录,包含本次同步过程中生成的所有数据文件,同步数据包包含此目录下的所有目录和 文件。下次同步开始的时候会将上次的工作区目录清空。 备份区backup目录,在同步产品的时候使用,当每次同步发送同步包成功以后,会将本次的卸载包备 份在备份区中,以产品键值命名。

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

Page 16

数据同步原理介绍.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)