CN110502490A - 一种MongoDB数据库数据同步系统及实现方法 - Google Patents

一种MongoDB数据库数据同步系统及实现方法 Download PDF

Info

Publication number
CN110502490A
CN110502490A CN201910812161.3A CN201910812161A CN110502490A CN 110502490 A CN110502490 A CN 110502490A CN 201910812161 A CN201910812161 A CN 201910812161A CN 110502490 A CN110502490 A CN 110502490A
Authority
CN
China
Prior art keywords
mongodb
data
database
oriented middleware
message
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.)
Pending
Application number
CN201910812161.3A
Other languages
English (en)
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 Group Co Ltd
Original Assignee
Inspur Software Group 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 Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201910812161.3A priority Critical patent/CN110502490A/zh
Publication of CN110502490A publication Critical patent/CN110502490A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/547Messaging middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明特别涉及一种MongoDB数据库数据同步系统及实现方法。该MongoDB数据库数据同步系统,包括MongoDB抽取组件,CMSP消息中间件和MongoDB入库组件;所述MongoDB抽取组件负责从源MongoDB数据库抽取增量数据,将数据放入到CMSP消息中间件中;所述CMSP消息中间件负责数据消息的缓存和传输;所述MongoDB入库组件负责从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中。该MongoDB数据库数据同步系统及实现方法,不仅实现了MongoDB数据库中集合、全量数据、增量数据的采集和入库,而且结合CMSP消息中间件高效传输,大大的提高了数据的传输效率,在对应用CMSP消息中间件和MongoDB数据库同步要求较高的业务场景里有很广泛的应用前景。

Description

一种MongoDB数据库数据同步系统及实现方法
技术领域
本发明涉及MongoDB数据库技术领域,特别涉及一种MongoDB数据库数据同步系统及实现方法。
背景技术
随着现代信息技术的快速发展,世界已跨入互联网+大数据时代,人工智能技术的突飞猛进也是近些年来大数据长足发展的结果。信息正深刻改变着人们的思维、生产和生活方式,数据与各行各业的深度融合,必将产生前所未有的社会和商业价值。作为信息时代的重要组成部分,海量数据飞安全与管理也越来越被众多企业和单位重视。同时,企业数据呈现出数量巨大、种类繁多、存放单一等特点,这势必给数据带来了安全隐患。因此,数据的同步与备份显得越来越重要。
MongoDB是一种基于分布式文件存储的数据库,是介于关系数据库和非关系数据库之间的产品,具有高性能、易扩展、易部署、易存储、易使用等特点,其主要目标是在键/值存储方式和传统的关系数据库之间架起一座桥梁,集两者优势于一身。MongoDB采用类似json的bson格式存储,可以存储较为复杂的数据类型。此外,由于使用高效的二进制数据存储,MongoDB可以保存任何类型的数据对象,包括如视频、大型文件等。基于以上种种优势,MongoDB表现出了巨大的市场潜力,非常适合网站数据、缓存、商业智能应用等各种场景。MongoDB数据库同步与备份不可或缺。
基于上述情况,本发明结合CMSP消息中间件传输,基于Oplog方式提出了一种MongoDB数据库数据同步系统及实现方法。
CMSP(浪潮云消息服务引擎)是云和大数据时代的一种高性能消息中间件,以云服务和集群方式对外提供高性能和高可靠的消息队列服务,支撑大数据采集、传输、汇聚、交换,大数据实时处理和微服务处理架构。
CMSP消息中间件提供了一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务系统,它的目标是高可靠地在一个云消息服务引擎上可以支持成千上万的应用7*24h不间断并发访问,在廉价PC服务器集群上支持每秒上亿条的消息存取服务,支持随业务量需要动态增加或减少计算资源节点,同时要确保基于云消息服务平台的应用开发和管理简单易使用。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的MongoDB数据库数据同步系统及实现方法。
本发明是通过如下技术方案实现的:
一种MongoDB数据库数据同步系统,其特征在于:包括MongoDB抽取组件,CMSP消息中间件和MongoDB入库组件;所述MongoDB抽取组件负责从源MongoDB数据库抽取增量数据,将数据放入到CMSP消息中间件中;所述CMSP消息中间件负责数据消息的缓存和传输;所述MongoDB入库组件负责从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中。
所述MongoDB抽取组件支持两种数据抽取方式同步运行,两种数据抽取方式分别为按集合抽取和按用户抽取。
所述按集合抽取是指抽取特定的MongoDB集合,将配置的特定集合从源数据库同步到目的库;所述按用户抽取是指抽取指定用户下所有的集合,将源数据库中该用户下所有的集合数据同步到目的库。
该MongoDB数据库数据同步系统的实现方法,基于Oplog方式,利用MongoDB抽取组件抽取源MongoDB数据库的集合信息、全量数据和增量数据;利用CMSP消息中间件将抽取的集合信息、全量数据和增量数据传输到目的MongoDB数据库;利用MongoDB入库组件从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中,即可实现源MongoDB数据库与目的MongoDB数据库数据记录的一致性。
所述源MongoDB数据库在副本集或主从模式下工作时,源MongoDB数据库下的Oplog会实时记录操作信息,包括插入、更新和删除信息,因而通过查询Oplog即可获取增量数据。
本发明MongoDB数据库数据同步系统的实现方法,包括以下步骤:
第一步,首先安装MongoDB抽取组件,MongoDB入库组件和CMSP消息中间件;
第二步,配置MongoDB抽取组件,配置需要采集的源MongoDB数据库信息,采集的集合信息和配置发送的CMSP消息中间件信息;
第三步,配置MongoDB入库组件,配置需要入库的目的MongoDB数据库信息和接收的CMSP消息中间件信息;
第四步,配置CMSP消息中间件;
第五步,启动CMSP消息中间件,并创建Topic信息;
第六步,启动MongoDB入库组件,准备从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中,
第七步,最后启动MongoDB抽取组件,抽取源MongoDB数据库的集合信息、全量数据和增量数据,并将抽取的集合信息、全量数据和增量数据经已启动的CMSP消息中间件传输到目的MongoDB数据库,经已启动的MongoDB入库组件将数据插入到目的MongoDB数据库中即可。
所述第一步中,在源MongoDB数据库内部署CMSP消息中间件和MongoDB入库组件。
所述第一步中,在目的MongoDB数据库内部署MongoDB抽取组件和CMSP消息中间件。
本发明的有益效果是:该MongoDB数据库数据同步系统及实现方法,不仅实现了MongoDB数据库中集合、全量数据、增量数据的采集和入库,而且结合CMSP消息中间件高效传输,大大的提高了数据的传输效率,在对应用CMSP消息中间件和MongoDB数据库同步要求较高的业务场景里有很广泛的应用前景。
附图说明
附图1为本发明MongoDB数据库数据同步系统及实现方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该MongoDB数据库数据同步系统,包括MongoDB抽取组件,CMSP消息中间件和MongoDB入库组件;所述MongoDB抽取组件负责从源MongoDB数据库抽取增量数据,将数据放入到CMSP消息中间件中;所述CMSP消息中间件负责数据消息的缓存和传输;所述MongoDB入库组件负责从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中。
所述MongoDB抽取组件支持两种数据抽取方式同步运行,两种数据抽取方式分别为按集合抽取和按用户抽取。
所述按集合抽取是指抽取特定的MongoDB集合,将配置的特定集合从源数据库同步到目的库;所述按用户抽取是指抽取指定用户下所有的集合,将源数据库中该用户下所有的集合数据同步到目的库。
该MongoDB数据库数据同步系统的实现方法,基于Oplog方式,利用MongoDB抽取组件抽取源MongoDB数据库的集合信息、全量数据和增量数据;利用CMSP消息中间件将抽取的集合信息、全量数据和增量数据传输到目的MongoDB数据库;利用MongoDB入库组件从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中,即可实现源MongoDB数据库与目的MongoDB数据库数据记录的一致性。
所述源MongoDB数据库在副本集或主从模式下工作时,源MongoDB数据库下的Oplog会实时记录操作信息,包括插入、更新和删除信息,因而通过查询Oplog即可获取增量数据。
该MongoDB数据库数据同步系统的实现方法,包括以下步骤:
第一步,首先安装MongoDB抽取组件,MongoDB入库组件和CMSP消息中间件;
第二步,配置MongoDB抽取组件,配置需要采集的源MongoDB数据库信息,采集的集合信息和配置发送的CMSP消息中间件信息;
第三步,配置MongoDB入库组件,配置需要入库的目的MongoDB数据库信息和接收的CMSP消息中间件信息;
第四步,配置CMSP消息中间件;
第五步,启动CMSP消息中间件,并创建Topic信息;
第六步,启动MongoDB入库组件,准备从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中,
第七步,最后启动MongoDB抽取组件,抽取源MongoDB数据库的集合信息、全量数据和增量数据,并将抽取的集合信息、全量数据和增量数据经已启动的CMSP消息中间件传输到目的MongoDB数据库,经已启动的MongoDB入库组件将数据插入到目的MongoDB数据库中即可。
所述第一步中,在源MongoDB数据库内部署CMSP消息中间件和MongoDB入库组件。
所述第一步中,在目的MongoDB数据库内部署MongoDB抽取组件和CMSP消息中间件。
与现有技术相比,该MongoDB数据库数据同步系统及实现方法,具有以下特点:
1、实现了MongoDB数据库的集合信息同步、全量数据同步以及增量数据的实时同步。
2、提出了两种MongoDB数据同步方式,一是按集合抽取方式,二是按用户抽取方式。
3、只需要在源MongoDB数据库前置机服务器部署MongoDB抽取组件和CMSP消息中间件即可实现数据的采集。
4、只需在目的MongoDB数据库服务器部署MongoDB入库组件和CMSP消息中间件,即可实现采集数据的快速高效入库。
5、借助于CMSP消息中间件进行消息的高效传输,不仅大大的提高了数据的传输效率,还验证了系统的处理效率、处理的准确性等性能指标。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种MongoDB数据库数据同步系统,其特征在于:包括MongoDB抽取组件,CMSP消息中间件和MongoDB入库组件;所述MongoDB抽取组件负责从源MongoDB数据库抽取增量数据,将数据放入到CMSP消息中间件中;所述CMSP消息中间件负责数据消息的缓存和传输;所述MongoDB入库组件负责从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中。
2.根据权利要求1所述的MongoDB数据库数据同步系统,其特征在于:所述MongoDB抽取组件支持两种数据抽取方式同步运行,两种数据抽取方式分别为按集合抽取和按用户抽取。
3.根据权利要求2所述的MongoDB数据库数据同步系统,其特征在于:所述按集合抽取是指抽取特定的MongoDB集合,将配置的特定集合从源数据库同步到目的库;所述按用户抽取是指抽取指定用户下所有的集合,将源数据库中该用户下所有的集合数据同步到目的库。
4.一种根据权利要求1~3所述的MongoDB数据库数据同步系统的实现方法,其特征在于:基于Oplog方式,利用MongoDB抽取组件抽取源MongoDB数据库的集合信息、全量数据和增量数据;利用CMSP消息中间件将抽取的集合信息、全量数据和增量数据传输到目的MongoDB数据库;利用MongoDB入库组件从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中,即可实现源MongoDB数据库与目的MongoDB数据库数据记录的一致性。
5.根据权利要求4所述的MongoDB数据库数据同步系统的实现方法,其特征在于:所述源MongoDB数据库在副本集或主从模式下工作时,源MongoDB数据库下的Oplog会实时记录操作信息,包括插入、更新和删除信息,因而通过查询Oplog即可获取增量数据。
6.根据权利要求4或5所述的MongoDB数据库数据同步系统的实现方法,其特征在于,包括以下步骤:
第一步,首先安装MongoDB抽取组件,MongoDB入库组件和CMSP消息中间件;
第二步,配置MongoDB抽取组件,配置需要采集的源MongoDB数据库信息,采集的集合信息和配置发送的CMSP消息中间件信息;
第三步,配置MongoDB入库组件,配置需要入库的目的MongoDB数据库信息和接收的CMSP消息中间件信息;
第四步,配置CMSP消息中间件;
第五步,启动CMSP消息中间件,并创建Topic信息;
第六步,启动MongoDB入库组件,准备从CMSP消息中间件获取数据,并将数据插入到目的MongoDB数据库中,
第七步,最后启动MongoDB抽取组件,抽取源MongoDB数据库的集合信息、全量数据和增量数据,并将抽取的集合信息、全量数据和增量数据经已启动的CMSP消息中间件传输到目的MongoDB数据库,经已启动的MongoDB入库组件将数据插入到目的MongoDB数据库中即可。
7.根据权利要求6所述的MongoDB数据库数据同步系统的实现方法,其特征在于:所述第一步中,在目的MongoDB数据库内部署MongoDB抽取组件和CMSP消息中间件。
8.根据权利要求6所述的MongoDB数据库数据同步系统的实现方法,其特征在于:所述第一步中,在源MongoDB数据库内部署CMSP消息中间件和MongoDB入库组件。
CN201910812161.3A 2019-08-30 2019-08-30 一种MongoDB数据库数据同步系统及实现方法 Pending CN110502490A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910812161.3A CN110502490A (zh) 2019-08-30 2019-08-30 一种MongoDB数据库数据同步系统及实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910812161.3A CN110502490A (zh) 2019-08-30 2019-08-30 一种MongoDB数据库数据同步系统及实现方法

Publications (1)

Publication Number Publication Date
CN110502490A true CN110502490A (zh) 2019-11-26

Family

ID=68590686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910812161.3A Pending CN110502490A (zh) 2019-08-30 2019-08-30 一种MongoDB数据库数据同步系统及实现方法

Country Status (1)

Country Link
CN (1) CN110502490A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995723A (zh) * 2019-12-11 2020-04-10 深圳物讯科技有限公司 一种跨公安边界大数据传输数据不丢失的方法
CN111355785A (zh) * 2020-02-20 2020-06-30 浪潮软件集团有限公司 一种基于cmsp的ftp安全传输系统及方法
CN112269820A (zh) * 2020-10-30 2021-01-26 浪潮云信息技术股份公司 一种基于cmsp实现数据批次同步的方法及平台
CN112667698A (zh) * 2021-01-04 2021-04-16 山西云媒体发展有限公司 一种基于融媒体平台的MongoDB数据同步方法
CN112732488A (zh) * 2021-01-11 2021-04-30 浪潮云信息技术股份公司 一种采用cmsp同步数据实现虚机内数据库备份的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106874424A (zh) * 2017-01-25 2017-06-20 杭州淘淘搜科技有限公司 一种基于MongoDB和Redis的网页数据采集处理方法及系统
US20170344618A1 (en) * 2010-12-23 2017-11-30 Eliot Horowitz Systems and methods for managing distributed database deployments
CN109325072A (zh) * 2018-07-12 2019-02-12 浪潮软件集团有限公司 一种基于CMSP实现跨网闸Oracle数据库同步的方法及装置
CN110175213A (zh) * 2019-05-27 2019-08-27 浪潮软件集团有限公司 一种基于SCN方式的Oracle数据库同步系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170344618A1 (en) * 2010-12-23 2017-11-30 Eliot Horowitz Systems and methods for managing distributed database deployments
CN106874424A (zh) * 2017-01-25 2017-06-20 杭州淘淘搜科技有限公司 一种基于MongoDB和Redis的网页数据采集处理方法及系统
CN109325072A (zh) * 2018-07-12 2019-02-12 浪潮软件集团有限公司 一种基于CMSP实现跨网闸Oracle数据库同步的方法及装置
CN110175213A (zh) * 2019-05-27 2019-08-27 浪潮软件集团有限公司 一种基于SCN方式的Oracle数据库同步系统及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘峰等: "基于消息中间件及MongoDB的物联网应用服务平台", 《计算机系统应用》 *
闫佼等: "基于消息总线及内存数据库的物联网设备接入云平台", 《微型电脑应用》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995723A (zh) * 2019-12-11 2020-04-10 深圳物讯科技有限公司 一种跨公安边界大数据传输数据不丢失的方法
CN111355785A (zh) * 2020-02-20 2020-06-30 浪潮软件集团有限公司 一种基于cmsp的ftp安全传输系统及方法
CN112269820A (zh) * 2020-10-30 2021-01-26 浪潮云信息技术股份公司 一种基于cmsp实现数据批次同步的方法及平台
CN112667698A (zh) * 2021-01-04 2021-04-16 山西云媒体发展有限公司 一种基于融媒体平台的MongoDB数据同步方法
CN112667698B (zh) * 2021-01-04 2023-02-28 山西云媒体发展有限公司 一种基于融媒体平台的MongoDB数据同步方法
CN112732488A (zh) * 2021-01-11 2021-04-30 浪潮云信息技术股份公司 一种采用cmsp同步数据实现虚机内数据库备份的方法
CN112732488B (zh) * 2021-01-11 2023-02-28 浪潮云信息技术股份公司 一种采用cmsp同步数据实现虚机内数据库备份的方法

Similar Documents

Publication Publication Date Title
CN110502490A (zh) 一种MongoDB数据库数据同步系统及实现方法
CN110175213A (zh) 一种基于SCN方式的Oracle数据库同步系统及方法
WO2017097011A1 (zh) 基于集群节点间即时拷贝的会话同步方法
CN101976251B (zh) 用电信息采集终端嵌入式数据库管理模型的实现方法
CN104050276B (zh) 一种分布式数据库的缓存处理方法及系统
CN106919654A (zh) 一种基于Nginx的高可用MySQL数据库的实现方法
CN110505495B (zh) 多媒体资源抽帧方法、装置、服务器及存储介质
CN103514274A (zh) 非关系型数据库HBase的数据迁移方法
WO2017076223A1 (zh) 文件存储中的索引实现方法和系统
CN104899161B (zh) 一种基于云存储环境的连续数据保护的缓存方法
CN103092866B (zh) 数据监控方法及监控装置
CN110309231A (zh) 一种跨机房的数据同步方法及系统
WO2023098030A1 (zh) 确定直播间刷量的方法及装置
CN110222121A (zh) 一种基于CDC方式的SQL Server数据库增量同步实现方法及系统
CN109857808B (zh) 基于中立数据结构的纵向数据同步系统及方法
CN103793500A (zh) 基于增量的主数据同步方法
US9680788B2 (en) Method, apparatus, and system for automatically prompting user to sign up for microblog
CN109669988B (zh) 一种查询建表事务的拆分同步方法及系统
CN103297329B (zh) 一种异构系统间消息的准实时双向同步方法
CN110069566A (zh) 一种单向导入系统中异构数据库同步方法
CN107341249A (zh) 服务器信息的存储和提取方法及系统、提取装置
CN102946423A (zh) 一种基于分布式系统架构的数据映射推送系统及方法
CN110764741A (zh) 基于微服务的社会综治大数据时空三维联动可视方法
CN110109871B (zh) 一种跨站点的高能物理数据访问方法及系统
Gao et al. A forensic method for efficient file extraction in HDFS based on three-level mapping

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191126

RJ01 Rejection of invention patent application after publication