【技术实现步骤摘要】
一种基于MongoDB数据库数据同步的实现方法及系统
[0001]本专利技术涉及数据库存储模块
,具体为一种基于MongoDB数据库数据同步的实现方法及系统。
技术介绍
[0002]MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
[0003]针对于MongoDB数据库数据同步技术,检索可得一篇相关专利CN110502490A《一种MongoDB数据库数据同步系统及实现方法》,内容摘要如下:一种MongoDB数据库数据同步系统及实现方法。该系统由MongoDB抽取组件、CMSP消息中间件、Mo ...
【技术保护点】
【技术特征摘要】
1.一种基于MongoDB数据库数据同步的实现方法,其特征在于,包括以下步骤:连接MongoDB源端,采集数据库全量,将数据处理为流数据发送至Nats消息中间件;接收采集模块数据并存储,供入库模块消费,Nats消息中间件接收采集的createDatabase、createCollection、insertDocument数据并存储供入库模块消费;读取Nats消息中间件中的流数据,按照规则转换为对应命令在MongoDB目的端执行;createDatabase:创建数据库;dropDatabase:删除数据库;createCollection:创建集合;renameCollection:重命名集合;dropCollection:删除集合;insertDocument:新增文档;updateDocument:修改文档;replaceDocument:替换文档;deleteDocument:删除文档;读取oplog.rs日志数据或changestream流数据;根据日志数据或流数据中不同操作类型,分类处理各数据;过滤数据,按规则构建方案中数据结构;将数据写入Nats消息中间件供入库模块消费;接收采集模块发送的增量数据并存储供入库模块消费;读取Nats消息中间件中的消息数据;根据消息类型构建MongoDB命令,实现数据库创建/删除,集合的创建/删除/重命名,文档的新增/修改/替换/删除等操作。2.根据权利要求1所述的一种基于MongoDB数据库数据同步的实现方法,其特征在于:全量数据采集时,采集端校验MongoDB实例的联通性;读取MongoDB源端数据库中数据库名列表;遍历数据库名列表,构建createDatabase操作数据发送至Nats消息中间件;遍历数据库名列表,获取各数据库下集合名列表;遍历集合名列表,构建createCollection操作数据发送至Nats消息中间件;遍历集合名列表,获取各集合下文档构建insertDocument操作数据发送至Nats消息中间件。3.根据权利要求1所述的一种基于MongoDB数据库数据同步的实现方法,其特征在于:全量数据入库时,读取Nats消息中间件中的消息数据;根据消息类型:createDatabase、createCollection、insertDocument,构建MongoDB命令,实现数据库创建/删除,集合的创建/删除/重命名,文档的新增/修改/替换/删除等操作。4.一种基于MongoDB数据库数据同步的实现系统,其特征在于:包括:全量数据采集模块、全量数据接收存储模块、全量数...
【专利技术属性】
技术研发人员:洪传玉,方建勋,邓光超,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。