版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2020/9/20,数据同步原理,Page 2,Contents,同步CBP,数据同步组网概述,2,1,同步SCP,3,Page 3,数据同步组网概述,BMP的数据同步的网元有CBP、SCP、GFEP,其中和SCP和GFEP的交互采用同一个组件LDS,暂时归纳到同步SCP中。对应的组网图如下:,Page 4,Contents,同步CBP,数据同步组网概述,2,1,同步SCP,3,Page 5,使用场景,用户数据同步 所有和内存库(SMDB)有交互的业务都需要使用同步CBP功能,如开户、综合查询、充值、转帐等。 产品数据同步 操作员在操作的时候,有选择的同步产品的私有和公有数据。,Page 6,
2、方案概述-用户数据同步,BMP数据同步CBP采用SOAP协议,在CBP侧通过SoapAdapter提供WebService的服务,BMP作为客户端与SoapAdapter进行交互。BMP与CBP两个部件之间的交互经过多个组件,为了防止单组件的故障影响其它业务,在每个组件之间的调用都设置了超时。,Page 7,同步时序-用户数据同步,Page 8,为了隔离CBP故障(如部分节点宕机或者处理慢),BMP在调用CBP之前下面处理: 1、状态验证 BMP会通过心跳线程检测CBP的状态并保存下来,在向CBP发送消息之前,检查该节点状态,如果CBP状态为Not Active,则直接返回不发送。 心跳线程默
3、认10秒检测一次,失败检测次数为3次,失败间隔时间为1秒。 2、连接数限制 由于BMP资源是共享的,对于访问CBP的并发数做了限制。默认单个CBP访问并发数为40个,访问所有CBP的并发数总和为200个。 3、超时 默认在网络层Socket超时设置为20秒,业务处理超时18秒。,Page 9,配置文件-用户数据同步,各组件之间超时配置表,Page 10,同步时序-产品数据同步,Page 11,产品数据同步步骤,操作员在SMAP界面维护数据,包括产品私有数据和公有数据。 BMP将数据变化记录到物理库中。 在操作员完成数据的维护操作后,可选择是否加载同步这些数据。 操作员选择要加载同步的目标CBP
4、节点(默认为所有),执行加载操作。BMP系统收集本次同步涉及的数据,生成“数据加载文件包”,公有数据以表为单位,一个表一个文件;产品私有数据以产品为单位。并将此文件包以SFTP方式传送到要加载的CBP节点上。 BMP发送加载文件包后,以消息形式(通过CBPAgent)向CBP发送数据加载命令,触发CBP数据加载操作,CBP在返回响应消息后,执行同步加载处理。 BMP定时通过CBPAgent消息查询内存库中的“CBP加载日志表”(TC_SYNC_LOG)表,获取加载情况,并在界面实时显示所有节点的加载状态。 CBP取消现有的每个Container的实体管理机制,增加一个各CBP进程共享的正向同步
5、数据共享内存区,数据区分为主备两个区,由专门的“CBP数据管理服务”进行数据区数据的接收、加载和管理。 “CBP数据管理服务”读取数据文件包,执行文件包里的语句,将数据更新到SMDB。 “CBP数据管理服务”将SMDB里的正向同步表数据刷新到备用共享缓存区。 “CBP数据管理服务”进行主备共享缓存区切换。CBP应用程序只读访问主用共享数据区,完成业务逻辑处理。,Page 12,BMP同步步骤-产品数据同步,生成同步数据包,查询数据加载状态,2,3,4,发送同步数据包,收集同步数据,1,Page 13,步骤一:收集同步数据,按照同步数据的类型不同,正向同步的数据类型分为产品私有数据和公有数据。
6、查询同步配置表 (cbe_syntable )可以知道表是否同步以及属于产品数据还是公有数据。cbe_syntable在物理库分为cbe_syntable_p和cbe_syntable_s两个表。,Page 14,产品私有数据是指属于某个产品特有的数据,其他产品不会引用或依赖,比如:产品表、定价计划、策略指属于某个产品特有的数据,通过产品-定价计划-策略-,产品资费配置向导配置出来的数据,其他产品不会引用或依赖,比如:产品表、定价计划、策略、特殊号码分析与Tarriff相关的表等。,Page 15,公有数据不依赖于某个产品,即产品的变化不会影响公有数据。公有数据包括与产品无关的系统数据,比如:
7、字典表、常量表、控制参数表等,还有一类公有数据是指某些产品共同依赖的数据,比如:时间方案等。 公有数据的收集分为三类: UNL数据收集 这是公有数据同步中最主要的一种情况(如时间方案、帐户类型、周期定义和业务的一些单表等),它将公有数据以整表的方式导出成UNL文件。在收集整表表数据的时候,也需要根据Tb_tableversion中该表对应的COLUMNS字段的值来确定哪些字段需要被收集以同步到内存库中。 SQL数据收集 这种类型目前只在同步全局策略数据的时候用到。因为策略数据数据产品私有数据,无法按照整表的方式处理。但是全局策略没有挂靠在任何产品下,所以在产品私有数据同步的时候,也没有办法同步
8、这部分数据。所以在目前的系统中,对全局策略数据的同步做了特殊处理。将全局策略涉及的数据收集成加载的sql语句和卸载的sql语句。主要处理流程和产品私有数据收集流程相同。 UNL+SQL数据收集 这种类型目前在同步累积项数据的时候用到。因为累积项数据会引用表达式数据,为了保证数据一致性。所以在同步累积项数据的时候必须要将引用表达式的数据也进行同步,但是表达式为产品私有数据,如果以整表的方式同步表达式数据,也会引起数据的不一致性。所以系统同步累积项收集数据的时候,以UNL的方式整表收集累积项相关表(CBE_CUMULATEID,CUMULATESCENARIO)的数据。以SQL的方式增量收集累积项
9、引用表达式相关的数据。,Page 16,步骤二:生成正向同步包,BMP以一次加载操作为单位,生成加载文件包。文件包名称定义:14位流水号.tar.Z。流水号由BMP生成,因为目前不存在并发情况,即同一秒钟不可能同时有两个文件包生成,因此流水号格式可取当前系统时间,格式为:YYYYMMDDhhmmss 例如: 20080401123240.tar.Z 目前系统中每次正向同步生成的文件和同步包存储在$BMP_HOME/ftpdata/system/syncdata目录下,具体目录结构为:,其中: 工作区work目录,包含本次同步过程中生成的所有数据文件,同步数据包包含此目录下的所有目录和文件。下次
10、同步开始的时候会将上次的工作区目录清空。 备份区backup目录,在同步产品的时候使用,当每次同步发送同步包成功以后,会将本次的卸载包备份在备份区中,以产品键值命名。,Page 17,正向同步数据文件分为unl和sql两种格式,以表为单位(公有数据)同步采用unl文件格式,产品私有数据同步采用sql格式。 unl文件格式: 文件名:小写表名.unl。例如: specialratem_time.unl 内容是以|分隔的各字段值,因为导出的unl文件中不包括字段名,因此要求,tb_tableversion中该表对应的COLUMNS字段中导出字段的顺序必须和内存库中字段的顺序严格一致。 sql文件格
11、式: 文件名:小写表名+.sql。例如:ts_productspec.sql 产品加载文件保存在名称为product_产品键值_install的目录下,相应的产品卸载文件保存在名称为product_产品键值_uninstall的目录下。,Page 18,例如:产品键值为356787的同步文件目录结构如下:,Page 19,步骤三:发送正向同步包,在正向同步包生成以后,每个同步线程会将同步包通过SFTP方式将同步包发送到待同步CBP节点的FTP用户($HOME/syncdata目录)下,向CBP通过CBPAgent发送加载请求消息并等待其应答。 CBP先把该同步包挪到CBP用户的$HOME/da
12、ta/load_files目录下,然后进行加载操作。 CBP节点FTP用户的配置信息在配置文件$BMP_HOME/config/perties中,其主要配置项和含义如下:,Page 20,加载请求消息格式如上图所示,其主要属性节点含义如下:,Page 21,如果BMP接收到正常状态的加载响应信息以后,表示CBP已准备开始将数据向内存库中加载。如果接收到非正常状态的加载应答消息,则整个同步流程结束,同步失败。,加载应答消息格式如上图所示,其主要属性节点含义如下:,Page 22,步骤四:查询加载状态,在接收到CBP加载应答消息以后,表示CBP已经开始加载正向同步数据。CBP
13、在加载同步数据的过程中,会将加载状态及其信息记录在内存库的数据加载日志表(TC_Sync_log)中。该表的主要字段及其含义如下:,Page 23,在接收到CBP加载应答消息以后,表示CBP已经开始加载正向同步数据。CBP在加载同步数据的过程中,会将加载状态及其信息记录在内存库的数据加载日志表(TC_Sync_log)中。该表的主要字段及其含义如下:,Page 24,BMP在CBP的加载过程中每隔一段时间向CBP发送CBPAgent消息查询CBP加载状态,其基本格式如下:,Page 25,状态查询应答消息格式如下:,Page 26,Contents,同步CBP,数据同步组网概述,2,1,同步S
14、CP,3,Page 27,使用场景,业务流程 如开户、订购等,BMP会把相关用户数据同步到SCP上 同步方式:直接发送消息体的方式到SCP 单表同步 主要是涉及BMP单表的增删改查操作 同步方式:使用ftp发送unl文件+发送消息体的方式到SCP 号码分析 如国家号码表等一些表的数据,需要同步到SCP 同步方式:使用ftp发送数据包+发送消息体的方式到SCP,Page 28,方案概述,目前BMP与SCP之间通过LDS方案来同步,LDS即轻量级数据同步组件(Light Data Sync),提供向其他多个系统同步数据的传输通道,支持路由管理和模型转换机制。,Page 29,业务同步,同步BMP/
15、CBP/SCP流程时序和事务 业务发起请求时,同步BMP和ETopUp(如果有的话)放在一起操作即同一个事务,事务过程中如果有异常,则回滚 ; 等到业务数据同步BMP和同步ETopUp完成后,从上下文中获取同步CBP的数据,同步数据到CBP,如果成功则提交步骤1中的事务; 如果同步CBP有失败,则分两种情况:1、如果在同步Home CBP时失败,则回滚此事务,业务返回失败;2、如果同步Home CBP成功但同步其它CBP失败,则不回滚事务,继续业务流程,同时把同步其它CBP的数据保存到TB_SyncCBPLog表中,利用定时任务同步 ; 同步BMP、ETopUp和CBP成功之后,从上下文中获取
16、同步SCP的数据,同步到SCP; 如果同步所有SCP成功,则业务结束;如果有同步SCP失败,则把同步SCP的数据保存到TB_SyncSCPLog表中,由BUS提供的同步失败日志界面进行手工同步,同时BMP抛出异常给业务,业务返回为失败,并给出提示。 综上所述,整个业务中只有一个事务(只包含BMP/ETopUp),整体流程是:BMP/ETopUp CBP SCP,Page 30,业务同步(图示),Page 31,单表维护,涉及BMP单表增删改查操作,使用ftp发送unl文件+发送消息体的方式 整个同步流程如下: BMP单表界面操作,如增删改查 BMP将数据导出(脚本$HOME/tools/exp
17、ortTableInfo.sh ),存为unl文件,存于$HOME/jboss/server/default/deploy/smap.ear/default.war/bme_data/export/目录下,一个节点对应一个目录 BMP通过SCP节点号从perties 中获取ftp用户密码等连接信息 BMP使用ftp工具类将数据unl文件发送到所有SCP节点($HOME/temp/目录下) BMP通过LDS发消息到所有SCP节点的manager,并同步等待SCP的返回消息 SCP节点接收到消息后进行处理,取unl文件,调用myunload与myload进行数据卸载与
18、加载操作 SCP根据处理结果返回消息给BMP BMP接收到所有SCP返回后,根据消息显示同步成功或失败消息,Page 32,单表维护(图示),Page 33,号码分析,涉及号码分析表数据操作,使用ftp发送数据包+发送消息体的方式 整个同步流程如下: BMP号码分析界面操作,如增删改查 BMP将全量数据打成tar.Z包,存于$HOME/ftpdata/system/syncNumberData/目录,一个节点对应一个目录 BMP通过SCP、CBP节点号从perties中获取ftp用户密码等连接信息 BMP使用ftp工具类将数据tar.Z包发送到所有SCP和CBP节点 BMP通过LDS发送消息到所有SCP节点,并同步等待SCP的返回消息 B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届广西柳州市柳南区、城中区重点达标名校中考八模英语试题试卷含解析
- 2025-2026学年新疆莎车县初三一模(全国I卷)英语试题含解析
- 2026年山东省莒南县重点名校初三一模试题(英语试题理)试题含解析
- 四川省凉山市金阳县达标名校2026年初三下学期一诊模拟数学试题文试卷含解析
- 家庭安全承诺责任书7篇范文
- 农业机械智能化生产与物流管理解决方案
- 企业销售线索转化率分析工具
- 服务行业安全保障承诺书6篇范文
- 布料绿色染色技术承诺函6篇
- 跨文化沟通语言转换工具集
- 二年级语文拼音教学活动方案
- GB/T 17456.1-2025球墨铸铁管、管件和附件外表面锌基涂层第1部分:带终饰层的金属锌及锌合金涂层
- 乡镇避孕药具培训课件
- 2025年大学侦查学专业题库- 手机取证技术在侦查中的应用
- 静配中心工作总结课件
- 康复医学骨科康复指南
- 2025年金属及金属矿批发行业研究报告及未来行业发展趋势预测
- GB/T 40344.4-2025真空技术真空泵性能测量标准方法第4部分:涡轮分子泵
- 脑梗塞的应急预案演练脚本(3篇)
- 社区养老平台解决方案
- 普外科专科护士考试试题及答案
评论
0/150
提交评论