CN110377666A - 基于cmsp消息中间件进行异源数据库间数据同步的方法 - Google Patents

基于cmsp消息中间件进行异源数据库间数据同步的方法 Download PDF

Info

Publication number
CN110377666A
CN110377666A CN201910681021.7A CN201910681021A CN110377666A CN 110377666 A CN110377666 A CN 110377666A CN 201910681021 A CN201910681021 A CN 201910681021A CN 110377666 A CN110377666 A CN 110377666A
Authority
CN
China
Prior art keywords
data
message
database
source
different source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910681021.7A
Other languages
English (en)
Other versions
CN110377666B (zh
Inventor
张明
邓光超
李朝铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201910681021.7A priority Critical patent/CN110377666B/zh
Publication of CN110377666A publication Critical patent/CN110377666A/zh
Application granted granted Critical
Publication of CN110377666B publication Critical patent/CN110377666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于CMSP消息中间件进行异源数据库间数据同步的方法,属于数据库间数据同步领域,要解决的技术问题为如何对异源数据进行安全可靠的同步交换,技术方案为:该方法是通过拆分具体数据库平台的抽取服务,定义统一的消息传输协议,通过CMSP消息中间件进行传输,经入库服务端通过数据库类型映射模型,最终实现数据在异源数据库之间的同步、迁移工作;步骤如下:S1、将各异源数据库抽取服务端实现为单独的微服务程序;S2、抽取服务端通过统一的编码消息格式将具体的数据库事件序列化;S3、通过CMSP消息总线分发;S4、入库服务端作为消息的接收者与消费者通过解析消息格式匹配数据映射模型;S5、将数据库操作从源数据库迁移到目的数据库。

Description

基于CMSP消息中间件进行异源数据库间数据同步的方法
技术领域
本发明涉及数据库间数据同步技术,具体地说是一种基于CMSP消息中间件进行异源数据库间数据同步的方法。
背景技术
随着信息时代的飞速发展,大数据、人工智能的兴起,数据作为一种资源,越来越被一些企业、单位重视,数据产出的经济和社会价值也越来越明显。当今社会,企业数据越来越庞大、复杂,呈现数据量巨大、数据种类繁多(结构化数据和非结构化数据)、数据存放单一等特点,势必给数据带来不安全和不可靠的隐患,因此数据的同步和备份显得越来越重要。生产环境中经常面临一种问题,不同的数据仓储平台适用于不同的业务场景,经常需要对于分散在多源数据库中的数据进行聚合、迁移以方便不同业务场景下对于数据筛选处理的需求。故针对不同数据仓储适用场景差异,数据在不同仓储间进行迁移同步就成为一种必然的需求,如何对异源数据进行安全可靠的同步交换,就显得极为重要。
现有常用的异源数据同步迁移方法包括冷同步和热同步;其中,冷同步是通过中间交换文件的方式进行数据导入、导出,例如csv、标准sql文件;
热同步是同源数据库间通过私有协议进行同步;其优缺点如下表所示:
专利号为CN108647237A的专利文献公开了异构关系型数据库间的数据同步方法,根据业务需求分别确定同步的源数据库、同步的目标数据库、数据库类型,以及涉及的数据库表;编写同步服务的功能代码,打包可部署的jar文件;在所述源数据库和目标数据库端分别架设Tomcat服务,部署搭建独立的消息队列服务queue,在源数据库中建立同步记录表;编写触发器脚本并在源数据库引擎中执行;定期查询同步记录表,批量获取未发出同步的记录并封装后投递到消息队列服务queue中;所述同步服务a在投递成功后,修改同步记录表;所述同步服务b定期从消息队列服务queue批量拉取同步记录,解析后执行实现同步。该技术方案可支持Sqlserver、Oracle与Mysql,采用关系数据库原生的触发器机制不需使用过多中间件或第三方软件,但是不能实现对异源数据进行安全可靠的同步交换。
发明内容
本发明的技术任务是提供一种基于CMSP消息中间件进行异源数据库间数据同步的方法,来解决如何对异源数据进行安全可靠的同步交换的问题。
本发明的技术任务是按以下方式实现的,基于消息中间件进行异源数据库间数据同步的方法,该方法是通过拆分具体数据库平台的抽取服务,定义统一的消息传输协议,通过CMSP消息中间件进行传输,经入库服务端通过数据库类型映射模型,最终实现数据在异源数据库之间的同步、迁移工作;具体步骤如下:
S1、将各异源数据库抽取服务端实现为单独的微服务程序;
S2、抽取服务端通过统一的编码消息格式将具体的数据库事件序列化;
S3、通过CMSP消息总线分发,保证数据分发的正确性、顺序性;
S4、入库服务端作为消息的接收者与消费者通过解析消息格式匹配数据映射模型;
S5、将数据库操作从源数据库迁移到目的数据库。
作为优选,所述抽取服务端根据实际情况实现自己的数据提取逻辑,将各自抽取的数据内容编码为协定的通信格式;对于数据库同步信息,仅关注DML和DDL,对于DCL和DQL操作不进行同步。
作为优选,所述步骤S2中编码消息格式采用扁平化编码方式,统一采用小端法存储原始数据,对于加密、压缩、校验,消息协议本身不提供内在支持,数据的安全性、有效性、传输效率都由传输组件提供支持,协议仅负责内容负载、结构描述的单一职责。
更优地,所述编码消息格式包括TableEvent消息事件和RecordEvent消息事件;其中,TableEvent消息事件用于传输数据库间的DDL操作;RecordEvent消息事件用于具体的操作记录对应各个数据源的增删改事件,具体以ROW记录格式第一个Byte区分,I增加操作D删除操作,U更新操作。
更优地,所述TableEvent消息事件的内容字段包括消息类型、数据源类型、操作类型、数据源区分标识和列描述信息;
其中,数据源类型具有统一的唯一定义,用来区分异源数据库的类型,通过数据源类型,入库服务端匹配对应的模型映射关系,达到不同数据类型在异源数据库间迁移的目的;
操作类型是通过TableEvent消息事件对源数据库表结构创建、删除、修改进行传输,具体通过操作类型字段加以区分;
数据源区分标识作为识别源数据的一种区分手段用以标识数据源的唯一性,通过规则生成具有含义的标识字符串,入库服务端通过解析该字段,生成具体的目的操作,入库服务端依据该字段负载的额外信息,进行统计展示工作;同时通过数据源区分标识,对多种异源数据库或多个异源数据库进行统一的汇聚;
列描述信息由N个具体结构组成,描述字段的属性,通过字段类型,根据源数据库与目的数据库间的类型映射关系,确定针对特定类型的转换。
更优地,所述RecordEvent消息事件的内容包括数据源类型、数据源区分标识、记录事件掩码和UTC时区偏移;
其中,数据源类型具有统一的唯一定义,用来区分异源数据库的类型,通过数据源类型,入库服务端匹配对应的模型映射关系,达到不同数据类型在异源数据库间迁移的目的;
数据源区分标识通过规则匹配来与TableEvent消息事件匹配;
记录事件掩码分为记录事件掩码最低bit和记录事件掩码2bit位;记录事件掩码最低bit用于用来区分记录消息对于操作顺序的要求,分为对顺序无要求0,对顺序有要求1,由于全量为基准备份对于记录的顺序性要求较低通过多客户端进行并行处理增加入库写入性能,对于增量操作操作,需要依据具体的事件顺序的操作,用此区分;
记录事件掩码2bit位用于扩展对于多路传送对于顺序要求的事件,通过消息记录顺序保证消息的有效消费,亦可用于消息报文传输记录的凭证(此项同时可以利用传输组件保证);
UTC时区偏移,为了区分多源数据库分散在不同时区的场景,消除不同源数据库时区差异的问题。
更优地,所述CMSP消息中间件作为消息传输组件,消息传输组件用于提供消息格式传输通路,同时保证消息收发的可靠性,通过消息传输组件提供信息校验、压缩、顺序性消费支持,同时保证消息投递的可靠性,简化了直接网络传输的确认、心跳、校验、压缩、分帧合并的流程。
更优地,所述数据映射模型是一种固化的配置模型,同时具有字段映射、多源同步的功能,实现屏蔽不同数据库间类型描述的差异。
更优地,所述数据映射模型主要分为三种映射关系,具体如下:
①、数据源区分标识对目的库的映射,该映射关系是一种M:N的映射关系;
②、列描述信息中字段名对目的库字段名的映射(该模型不是必须,多采用直接映射方式);
③、异源数据库数据类型转换映射关系,源数据类型对目的数据类型是一种N:1的映射关系,使用正则匹配方式进行映射;
数据模型映射关系采用多种编码组织方式,具体采用json方式进行结构化描述。
更优地,所述入库服务端通过从消息传输组件中获取具体消息结构完成TableEvent消息事件、RecordEvent消息事件解析,通过数据模型映射关系实现最终的同步功能。
本发明的基于CMSP消息中间件进行异源数据库间数据同步的方法具有以下优点:
(一)、本发明通过独立的关系映射模型、统一的编码协定降低了模块间依存的程度,使得各模块间内部实现透明化,通过拆分模块,简化了系统的复杂程度,增强了系统的整体灵活度与可扩展程度;同时简化了(异源)数据库间的表结构类型差异,通过关系映射模型,实现异源数据库多对一,多对多的,一对多的数据同步功能。通过关系映射模型,实现字段映射的功能;
(二)通过扁平化的编码方式,简化了编解码的实现复杂度,同时扁平化的编码方式也降低了系统计算资源和存储资源的开销,大部分数据类型,不需要进行二次解析,可以对接收数据直接映射获取传输内容;包裹数据结构的引入解决了空属性的问题,同时对于变长数据内容传输在一定程度上节约了存储网络传输开销;
(三)、扁平化的编解码方式简化了数据负载的计算开销与存储开销,通过包裹数据结构一方面表述了空属性值另一方面带来了数据结构的可伸缩性,在代价较小的情况下并未影响实现的一致性;
(四)、通过TableEvent、RecordEvent两种消息事件类型,负载数据库DDL与DML两种操作,实现数据库间表结构与数据的同步;
(五)、将校验、顺序性、压缩等功能从事件编码中下放,入库服务端与抽取端只需编解码负载内容,而无需考虑复杂的网络通信实现,通过CMSP消息中间件方式实现事件信息的投递任务,通过将校验、压缩等可靠性、高效性保证机制下放到传输组件,降低了系统实现的复杂度,强化了各个组件的原始职能,在实现中独立并行推进;
(六)、通过统一的编码协定与关系数据模型可以对数据库的DDL、DML通过TableEvent与RecordEvent两种编码结构进行负载传输,本发明的显著特征是可以实现表结构的数据同步,并支持在目的端自动建表,支持全量数据同步,支持实时的增量数据同步,多表数据聚合,在对数据同步聚合要求较高的业务场景里面有很广泛的应用前景;
(七)、将数据库同步系统在负载编码与关系映射模型的基础上拆分为抽取服务端、传输组件、入库daunt的系统架构形式;
(八)、本发明借助于浪潮CMSP消息中间件的传输,验证了系统的处理效率、处理的准确性等性能指标。;CMSP是云和大数据时代的一种高性能消息中间件,以云服务和集群方式对外提供高性能和高可靠的消息队列服务,支撑大数据采集、传输、汇聚、交换,大数据实时处理和微服务处理架构;
(九)、本发明基于CMSP消息传输,通过定义消息传输交换格式与数据映射模型实现异源数据库之间消息的同步,分离同模型的抽取、传输、入库流程,通过统一的编码协定、关系映射模型解耦模块职能,降低了模块间的复杂依赖与系统实现难度;同时通过扁平化的编码方式,降低了编解码的系统开销,通过简单编码格式,将可靠性、压缩校验等功能,从编解码层下方到传输层,将消息传递的复杂性在层级与模块间透明化,增强了整个系统的扩展性。
附图说明
下面结合附图对本发明进一步说明。
附图1为基于CMSP消息中间件进行异源数据库间数据同步的方法的结流程框图。
具体实施方式
参照说明书附图和具体实施例对本发明的基于CMSP消息中间件进行异源数据库间数据同步的方法作以下详细地说明。
实施例:
本发明的基于CMSP消息中间件进行异源数据库间数据同步的方法,该方法是通过拆分具体数据库平台的抽取服务,定义统一的消息传输协议,通过CMSP消息中间件进行传输,经入库服务端通过数据库类型映射模型,最终实现数据在异源数据库之间的同步、迁移工作;如附图1所示,具体步骤如下:
S1、将各异源数据库抽取服务端实现为单独的微服务程序;
S2、抽取服务端通过统一的编码消息格式将具体的数据库事件序列化;
S3、通过CMSP消息总线分发,保证数据分发的正确性、顺序性;
S4、入库服务端作为消息的接收者与消费者通过解析消息格式匹配数据映射模型;
S5、将数据库操作从源数据库迁移到目的数据库。
其中,抽取服务端根据实际情况实现自己的数据提取逻辑,将各自抽取的数据内容编码为协定的通信格式;对于数据库同步信息,仅关注DML和DDL,对于DCL和DQL操作不进行同步。
编码消息格式采用扁平化编码方式,统一采用小端法存储原始数据,对于加密、压缩、校验,消息协议本身不提供内在支持,数据的安全性、有效性、传输效率都由传输组件提供支持,协议仅负责内容负载、结构描述的单一职责。编码消息格式包括TableEvent消息事件和RecordEvent消息事件;消息结构中由基本类型构成,以及由基本类型组成的自定义结构,类型说明映射如下表:表中,U代表无符号,否则代表有符号。
类型 基本 说明
bit
byte 单字节
word 双字节
dword 四字节
qword 八字节
str UTF8编码字符串,C风格窄字符串
struct × 自定义结构(由基本类型构成)
其中,TableEvent消息事件用于传输数据库间的DDL操作;RecordEvent消息事件用于具体的操作记录对应各个数据源的增删改事件,具体以ROW记录格式第一个Byte区分,I增加操作D删除操作,U更新操作。TableEvent消息事件的内容字段包括消息类型、数据源类型、操作类型、数据源区分标识和列描述信息;如下表:
消息类型 byte 整型U
数据源类型 word 整型U
操作类型 byte 整型U
数据源区分标识 str 字符串
列描述信息 struct 列描述结构
数据源类型具有统一的唯一定义,用来区分异源数据库的类型,通过数据源类型,入库服务端匹配对应的模型映射关系,达到不同数据类型在异源数据库间迁移的目的;
操作类型是通过TableEvent消息事件对源数据库表结构创建、删除、修改进行传输,具体通过操作类型字段加以区分;
数据源区分标识作为识别源数据的一种区分手段用以标识数据源的唯一性,通过规则生成具有含义的标识字符串,入库服务端通过解析该字段,生成具体的目的操作,入库服务端依据该字段负载的额外信息,进行统计展示工作;同时通过数据源区分标识,对多种异源数据库或多个异源数据库进行统一的汇聚;
列描述信息由N个具体结构组成,描述字段的属性,通过字段类型,根据源数据库与目的数据库间的类型映射关系,确定针对特定类型的转换;列描述信息如下表:
字段名 str 字符串
字段类型 str 各源数据库中实际数据类型
列属性 byte 低2bit,高6bit保留
扩展字节 byte 0到64字节
列属性结构如下表:
扩展字节长度 可空 主键
默认全0 0/1 0/1
RecordEvent消息事件的内容包括数据源类型、数据源区分标识、记录事件掩码和UTC时区偏移;
其中,数据源类型具有统一的唯一定义,用来区分异源数据库的类型,通过数据源类型,入库服务端匹配对应的模型映射关系,达到不同数据类型在异源数据库间迁移的目的;
数据源区分标识通过规则匹配来与TableEvent消息事件匹配;
记录事件掩码分为记录事件掩码最低bit和记录事件掩码2bit位;记录事件掩码最低bit用于用来区分记录消息对于操作顺序的要求,分为对顺序无要求0,对顺序有要求1,由于全量为基准备份对于记录的顺序性要求较低通过多客户端进行并行处理增加入库写入性能,对于增量操作操作,需要依据具体的事件顺序的操作,用此区分;
记录事件掩码2bit位用于扩展对于多路传送对于顺序要求的事件,通过消息记录顺序保证消息的有效消费,亦可用于消息报文传输记录的凭证(此项同时可以利用传输组件保证);
UTC时区偏移,为了区分多源数据库分散在不同时区的场景,消除不同源数据库时区差异的问题。
由于源数据中数据的千差万别我们统一了类型的编码方式定义了几种基本的数据类型,分别如下表:
字段基本类型 长度 说明
字符串S str C风格字符串
布尔值B byte 0代表FALSE其他代表TRUE
二进制字段L struct 由无符号4字节长度+内容构成
浮点F qword/dword IEEE754-32or 64
整型I byte/word/dword/qword 有符号或无符号变长类型
对于时间格式数据统一采用字符串方式编码,依据ISO8061:2004规范进行编码。
其他无法负载可以根据实际情况采用S或L进行负载传输。
对于字段值的可空性,通过引入单字节的包裹结构进行表述,如下表:
通过引入位域的包裹结构在较小的负载下,通过较小的空间开销换取灵活的编码方式,同时扁平化的存储都简化了编解码的开销。
RecordEvent消息定义如下表:
消息类型 byte 整型U
数据源类型 word 整型U
数据源区分标识 str 字符串
记录事件掩码 bit 记录事件掩码
消息记录顺序(可选) qword 整型U
UTC时区偏移 byte 整型
记录描述格式 struct 记录消息格式
记录事件掩码如下表:
保留高6bit 消息记录顺序 顺序要求
1/0 1/0
记录描述格式如下表:
记录消息格式如下表:
CMSP消息中间件作为消息传输组件,消息传输组件用于提供消息格式传输通路,同时保证消息收发的可靠性,通过消息传输组件提供信息校验、压缩、顺序性消费支持,同时保证消息投递的可靠性,简化了直接网络传输的确认、心跳、校验、压缩、分帧合并的流程。
CMSP是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务系统,它的目标是高可靠的在一个云消息服务引擎上可以支持成千上万的应用7*24不间断并发访问,在廉价PC服务器集群上支持每秒上亿条的消息存取服务,支持随业务量需要动态增加或减少计算资源节点,同时要确保基于云消息服务平台的应用开发和管理简单易使用;
数据映射模型是一种固化的配置模型,同时具有字段映射、多源同步的功能,实现屏蔽不同数据库间类型描述的差异;数据映射模型主要分为三种映射关系,具体如下:
①、数据源区分标识对目的库的映射,该映射关系是一种M:N的映射关系;
②、列描述信息中字段名对目的库字段名的映射(该模型不是必须,多采用直接映射方式);
③、异源数据库数据类型转换映射关系,源数据类型对目的数据类型是一种N:1的映射关系,使用正则匹配方式进行映射;
数据模型映射关系采用多种编码组织方式,具体采用json方式进行结构化描述。
入库服务端通过从消息传输组件中获取具体消息结构完成TableEvent消息事件、RecordEvent消息事件解析,通过数据模型映射关系实现最终的同步功能。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.基于消息中间件进行异源数据库间数据同步的方法,其特征在于,该方法是通过拆分具体数据库平台的抽取服务,定义统一的消息传输协议,通过CMSP消息中间件进行传输,经入库服务端通过数据库类型映射模型,最终实现数据在异源数据库之间的同步、迁移工作;具体步骤如下:
S1、将各异源数据库抽取服务端实现为单独的微服务程序;
S2、抽取服务端通过统一的编码消息格式将具体的数据库事件序列化;
S3、通过CMSP消息总线分发,保证数据分发的正确性、顺序性;
S4、入库服务端作为消息的接收者与消费者通过解析消息格式匹配数据映射模型;
S5、将数据库操作从源数据库迁移到目的数据库。
2.根据权利要求1所述的基于消息中间件进行异源数据库间数据同步的方法,其特征在于,所述抽取服务端根据实际情况实现自己的数据提取逻辑,将各自抽取的数据内容编码为协定的通信格式;对于数据库同步信息,仅关注DML和DDL,对于DCL和DQL操作不进行同步。
3.根据权利要求1或2所述的基于消息中间件进行异源数据库间数据同步的方法,其特征在于,所述步骤S2中编码消息格式采用扁平化编码方式,统一采用小端法存储原始数据,对于加密、压缩、校验,消息协议本身不提供内在支持,数据的安全性、有效性、传输效率都由传输组件提供支持,协议仅负责内容负载、结构描述的单一职责。
4.根据权利要求3所述的基于消息中间件进行异源数据库间数据同步的方法,其特征在于,所述编码消息格式包括TableEvent消息事件和RecordEvent消息事件;其中,TableEvent消息事件用于传输数据库间的DDL操作;RecordEvent消息事件用于具体的操作记录对应各个数据源的增删改事件,具体以ROW记录格式第一个Byte区分,I增加操作D删除操作,U更新操作。
5.根据权利要求4所述的基于消息中间件进行异源数据库间数据同步的方法,其特征在于,所述TableEvent消息事件的内容字段包括消息类型、数据源类型、操作类型、数据源区分标识和列描述信息;
其中,数据源类型具有统一的唯一定义,用来区分异源数据库的类型,通过数据源类型,入库服务端匹配对应的模型映射关系,达到不同数据类型在异源数据库间迁移的目的;
操作类型是通过TableEvent消息事件对源数据库表结构创建、删除、修改进行传输,具体通过操作类型字段加以区分;
数据源区分标识作为识别源数据的一种区分手段用以标识数据源的唯一性,通过规则生成具有含义的标识字符串,入库服务端通过解析该字段,生成具体的目的操作,入库服务端依据该字段负载的额外信息,进行统计展示工作;同时通过数据源区分标识,对多种异源数据库或多个异源数据库进行统一的汇聚;
列描述信息由N个具体结构组成,描述字段的属性,通过字段类型,根据源数据库与目的数据库间的类型映射关系,确定针对特定类型的转换。
6.根据权利要求5所述的基于消息中间件进行异源数据库间数据同步的方法,其特征在于,所述RecordEvent消息事件的内容包括数据源类型、数据源区分标识、记录事件掩码和UTC时区偏移;
其中,数据源类型具有统一的唯一定义,用来区分异源数据库的类型,通过数据源类型,入库服务端匹配对应的模型映射关系,达到不同数据类型在异源数据库间迁移的目的;
数据源区分标识通过规则匹配来与TableEvent消息事件匹配;
记录事件掩码分为记录事件掩码最低bit和记录事件掩码2bit位;记录事件掩码最低bit用于用来区分记录消息对于操作顺序的要求,分为对顺序无要求0,对顺序有要求1,由于全量为基准备份对于记录的顺序性要求较低通过多客户端进行并行处理增加入库写入性能,对于增量操作操作,需要依据具体的事件顺序的操作,用此区分;
记录事件掩码2bit位用于扩展对于多路传送对于顺序要求的事件,通过消息记录顺序保证消息的有效消费,亦可用于消息报文传输记录的凭证;
UTC时区偏移,为了区分多源数据库分散在不同时区的场景,消除不同源数据库时区差异的问题。
7.根据权利要求6所述的基于CMSP消息中间件进行异源数据库间数据同步的方法,其特征在于,所述CMSP消息中间件作为消息传输组件,消息传输组件用于提供消息格式传输通路,同时保证消息收发的可靠性,通过消息传输组件提供信息校验、压缩、顺序性消费支持,同时保证消息投递的可靠性,简化了直接网络传输的确认、心跳、校验、压缩、分帧合并的流程。
8.根据权利要求7所述的基于CMSP消息中间件进行异源数据库间数据同步的方法,其特征在于,所述数据映射模型是一种固化的配置模型,同时具有字段映射、多源同步的功能,实现屏蔽不同数据库间类型描述的差异。
9.根据权利要求8所述的基于CMSP消息中间件进行异源数据库间数据同步的方法,其特征在于,所述数据映射模型主要分为三种映射关系,具体如下:
①、数据源区分标识对目的库的映射,该映射关系是一种M:N的映射关系;
②、列描述信息中字段名对目的库字段名的映射;
③、异源数据库数据类型转换映射关系,源数据类型对目的数据类型是一种N:1的映射关系,使用正则匹配方式进行映射;
数据模型映射关系采用多种编码组织方式,具体采用json方式进行结构化描述。
10.根据权利要求9所述的基于CMSP消息中间件进行异源数据库间数据同步的方法,其特征在于,所述入库服务端通过从消息传输组件中获取具体消息结构完成TableEvent消息事件、RecordEvent消息事件解析,通过数据模型映射关系实现最终的同步功能。
CN201910681021.7A 2019-07-26 2019-07-26 基于cmsp消息中间件进行异源数据库间数据同步的方法 Active CN110377666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910681021.7A CN110377666B (zh) 2019-07-26 2019-07-26 基于cmsp消息中间件进行异源数据库间数据同步的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910681021.7A CN110377666B (zh) 2019-07-26 2019-07-26 基于cmsp消息中间件进行异源数据库间数据同步的方法

Publications (2)

Publication Number Publication Date
CN110377666A true CN110377666A (zh) 2019-10-25
CN110377666B CN110377666B (zh) 2023-03-31

Family

ID=68256280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910681021.7A Active CN110377666B (zh) 2019-07-26 2019-07-26 基于cmsp消息中间件进行异源数据库间数据同步的方法

Country Status (1)

Country Link
CN (1) CN110377666B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209932A (zh) * 2019-12-24 2020-05-29 中国电子科技集团公司第三十研究所 一种基于多数据源的可动态配置的用户信息引接模型
CN111221667A (zh) * 2020-01-09 2020-06-02 浪潮软件股份有限公司 一种基于cmsp的数据分布式预处理方法
CN111242751A (zh) * 2020-03-11 2020-06-05 上海东普信息科技有限公司 快件订单更新方法、装置、设备及存储介质
CN111355785A (zh) * 2020-02-20 2020-06-30 浪潮软件集团有限公司 一种基于cmsp的ftp安全传输系统及方法
CN111813777A (zh) * 2020-07-02 2020-10-23 上海微亿智造科技有限公司 Olap自动创建并写入mq数据的方法及系统
CN111881214A (zh) * 2020-07-29 2020-11-03 浪潮云信息技术股份公司 一种基于cmsp的drdb数据库数据同步的方法
CN111930529A (zh) * 2020-10-09 2020-11-13 上海富友支付服务股份有限公司 基于消息队列及微服务的数据同步方法、模块及系统
CN112235398A (zh) * 2020-10-12 2021-01-15 南威软件股份有限公司 一种支持大数据量的数据传输方法
CN112351107A (zh) * 2020-11-16 2021-02-09 百度在线网络技术(北京)有限公司 用于编码文件的方法、装置、电子设备及可读存储介质
CN112799859A (zh) * 2021-01-26 2021-05-14 奇秦科技(北京)股份有限公司 一种混合云的数据交互方法
CN113160918A (zh) * 2021-05-21 2021-07-23 山东健康医疗大数据有限公司 一种变化数据捕获的统一处理方法及工具
CN114489866A (zh) * 2022-04-18 2022-05-13 武汉中科通达高新技术股份有限公司 数据管理方法及装置
CN114490882A (zh) * 2022-04-15 2022-05-13 北京快立方科技有限公司 一种异构数据库数据同步分析方法
CN115952200A (zh) * 2023-01-17 2023-04-11 安芯网盾(北京)科技有限公司 一种基于mpp架构的多源异构数据聚合查询方法及装置
CN116775771A (zh) * 2023-08-23 2023-09-19 北京逐风科技有限公司 数据同步方法、设备、系统及介质
CN117290671A (zh) * 2023-11-27 2023-12-26 中国西安卫星测控中心 一种数据预处理方法、装置、电子设备和计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077216A2 (en) * 2003-01-30 2004-09-10 Vaman Technologies (R & D) Limited System and method for heterogeneous data migration in real-time
CN108897895A (zh) * 2018-07-12 2018-11-27 浪潮软件集团有限公司 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法
CN109739931A (zh) * 2018-12-21 2019-05-10 浪潮软件股份有限公司 一种基于CMSP的MySQLBinlog日志解析的增量同步方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004077216A2 (en) * 2003-01-30 2004-09-10 Vaman Technologies (R & D) Limited System and method for heterogeneous data migration in real-time
CN108897895A (zh) * 2018-07-12 2018-11-27 浪潮软件集团有限公司 基于云消息服务平台实现跨网闸Mysql数据库同步的装置及方法
CN109739931A (zh) * 2018-12-21 2019-05-10 浪潮软件股份有限公司 一种基于CMSP的MySQLBinlog日志解析的增量同步方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
申利民等: "面向服务的柔性异构数据集成模型研究", 《燕山大学学报》 *
赵艳妮等: "一种异构信息系统数据迁移技术研究", 《现代计算机(专业版)》 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209932A (zh) * 2019-12-24 2020-05-29 中国电子科技集团公司第三十研究所 一种基于多数据源的可动态配置的用户信息引接模型
CN111221667A (zh) * 2020-01-09 2020-06-02 浪潮软件股份有限公司 一种基于cmsp的数据分布式预处理方法
CN111221667B (zh) * 2020-01-09 2024-03-22 浪潮软件股份有限公司 一种基于cmsp的数据分布式预处理方法
CN111355785A (zh) * 2020-02-20 2020-06-30 浪潮软件集团有限公司 一种基于cmsp的ftp安全传输系统及方法
CN111242751A (zh) * 2020-03-11 2020-06-05 上海东普信息科技有限公司 快件订单更新方法、装置、设备及存储介质
CN111813777A (zh) * 2020-07-02 2020-10-23 上海微亿智造科技有限公司 Olap自动创建并写入mq数据的方法及系统
CN111813777B (zh) * 2020-07-02 2021-04-06 上海微亿智造科技有限公司 Olap自动创建并写入mq数据的方法及系统
CN111881214A (zh) * 2020-07-29 2020-11-03 浪潮云信息技术股份公司 一种基于cmsp的drdb数据库数据同步的方法
CN111881214B (zh) * 2020-07-29 2024-04-16 浪潮云信息技术股份公司 一种基于cmsp的drdb数据库数据同步的方法
CN111930529A (zh) * 2020-10-09 2020-11-13 上海富友支付服务股份有限公司 基于消息队列及微服务的数据同步方法、模块及系统
CN112235398A (zh) * 2020-10-12 2021-01-15 南威软件股份有限公司 一种支持大数据量的数据传输方法
CN112351107B (zh) * 2020-11-16 2023-10-03 百度在线网络技术(北京)有限公司 用于编码文件的方法、装置、电子设备及可读存储介质
CN112351107A (zh) * 2020-11-16 2021-02-09 百度在线网络技术(北京)有限公司 用于编码文件的方法、装置、电子设备及可读存储介质
CN112799859A (zh) * 2021-01-26 2021-05-14 奇秦科技(北京)股份有限公司 一种混合云的数据交互方法
CN113160918A (zh) * 2021-05-21 2021-07-23 山东健康医疗大数据有限公司 一种变化数据捕获的统一处理方法及工具
CN114490882A (zh) * 2022-04-15 2022-05-13 北京快立方科技有限公司 一种异构数据库数据同步分析方法
CN114490882B (zh) * 2022-04-15 2022-06-21 北京快立方科技有限公司 一种异构数据库数据同步分析方法
CN114489866A (zh) * 2022-04-18 2022-05-13 武汉中科通达高新技术股份有限公司 数据管理方法及装置
CN115952200A (zh) * 2023-01-17 2023-04-11 安芯网盾(北京)科技有限公司 一种基于mpp架构的多源异构数据聚合查询方法及装置
CN115952200B (zh) * 2023-01-17 2023-06-27 安芯网盾(北京)科技有限公司 一种基于mpp架构的多源异构数据聚合查询方法及装置
CN116775771A (zh) * 2023-08-23 2023-09-19 北京逐风科技有限公司 数据同步方法、设备、系统及介质
CN116775771B (zh) * 2023-08-23 2024-01-26 北京逐风科技有限公司 数据同步方法、设备、系统及介质
CN117290671A (zh) * 2023-11-27 2023-12-26 中国西安卫星测控中心 一种数据预处理方法、装置、电子设备和计算机存储介质
CN117290671B (zh) * 2023-11-27 2024-02-09 中国西安卫星测控中心 一种数据预处理方法、装置、电子设备和计算机存储介质

Also Published As

Publication number Publication date
CN110377666B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
CN110377666A (zh) 基于cmsp消息中间件进行异源数据库间数据同步的方法
CN103440273B (zh) 一种数据跨平台迁移方法及装置
CN112261159B (zh) 执行跨片事务的方法及系统、主链节点和目标分片节点
US20150032695A1 (en) Client and server integration for replicating data
CN107729366A (zh) 一种普适多源异构大规模数据同步系统
CN108052681A (zh) 一种关系型数据库间结构化数据的同步方法及系统
EP2874079B1 (en) Mobile database initialization and update for offline consumption
CN105069109B (zh) 一种分布式数据库扩容的方法和系统
CN106599104A (zh) 一种基于redis集群的海量数据关联方法
CN102495853A (zh) 一种面向切面的云存储引擎构造方法
CN101673289A (zh) 分布式文件存储构架的构建方法和装置
CN112257118B (zh) 一种锁定包含分片的区块链系统中跨片事务的方法及系统
CN106339498A (zh) 数据同步方法、装置和系统
CN104750744B (zh) 一种基于Oracle数据库的压缩数据同步方法及装置
CN112261162B (zh) 执行跨片事务的方法及系统、主链节点和目标分片节点
CN112579261A (zh) 退出跨片事务的方法和系统、主链节点和目标分片节点
CN114218218A (zh) 基于数据仓库的数据处理方法、装置、设备及存储介质
CN113641862A (zh) 一种基于统一访问分布式集成多源异构数据的方法及系统
CN111427869A (zh) 一种基于区块链的日志系统
CN103034738A (zh) 用于管理异构非结构化数据的关系型数据库及其创建和查询非结构化数据描述信息的方法
CN103809946A (zh) 一种基于xml和中间件的异构数据库集成的方法
CN105550351B (zh) 旅客行程数据即席查询系统及方法
CN112261160B (zh) 包含分片的区块链系统中退出跨片事务的方法及系统
CN108984631A (zh) 一种大数据的生成及调用方法和装置
CN112269423B (zh) 一种锁定区块链系统中全局时钟的方法及区块链系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province

Applicant after: INSPUR SOFTWARE Co.,Ltd.

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant before: INSPUR SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant