全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210246087.5 (22)申请日 2022.03.14 (71)申请人 浪潮云信息技 术股份公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园S01号楼 (72)发明人 洪传玉 方建勋 邓光超  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 姜鹏 (51)Int.Cl. G06F 16/23(2019.01) G06F 16/27(2019.01) (54)发明名称 一种基于MongoDB数据库数据同步的实现方 法及系统 (57)摘要 本发明提供了一种基于MongoDB数据库数据 同步的实现方法, 包括以下步骤: 采集端: 连接 MongDB源库, 采集全量数据, 读取oplog.rs日志 或changestream流采 集增量数据, 将 全量和增量 数据写入Nats消息中间件; 入库端: 读取Nats消 息中间件中的消息并处理, 连接MongoDB目的库, 执行命令完成全量和增量数据的入库操作。 本发 明提出的基于MongoDB数据库数据同步的实现方 法及系统, 充分结合MongoDB  oplog.rs数据日志 与change  stream变 更流, 使得MongoDB数据同步 系统能够 支持MongoDB数据库的创建/删除, 集合 的创建/删除/重命名, 文档的新增/修改/替换/ 删除等操作, 并支持MongoDB分片集群架构的数 据同步任务。 权利要求书2页 说明书5页 附图1页 CN 114610736 A 2022.06.10 CN 114610736 A 1.一种基于 MongoDB数据库数据同步的实现方法, 其特 征在于, 包括以下步骤: 连接MongoDB源端, 采集数据库全量, 将数据处 理为流数据发送至Nats消息中间件; 接收采集模块数据并存储, 供入库模块消费 , Nats消息中间件接收采集的 createDatabase、 createCo llection、 insertDocument数据并存 储供入库模块消费; 读取Nats消息中间件中的流数据, 按照规则转换为对应命令在Mo ngoDB目的端执 行; createDatabase: 创建数据库; dropDatabase: 删除数据库; creat eCollection: 创建集 合; renameCollection: 重命名集合; dropCollection: 删除集合; insertDocument: 新增文 档; updateDocument: 修改文档; replaceDocument: 替换文档; deleteDocument: 删除文档; 读取oplog.rs日志数据或changestream流数据; 根据日志数据或流数据中不同操作 类 型, 分类处理各数据; 过滤数据, 按规则构建方案中数据结构; 将数据写入Nats消息中间件 供入库模块消费; 接收采集模块发送的增量数据并存 储供入库模块消费; 读取Nats消息中间件中的消息数据; 根据消息类型构建MongoDB命令, 实现数据库创 建/删除, 集 合的创建/删除/ 重命名, 文档的新增/修改/替换/删除等操作。 2.根据权利要求1所述的一种基于MongoDB数据库数据同步的实现方法, 其特征在于: 全量数据采集时, 采集端校验Mo ngoDB实例的联通 性; 读取MongoDB源端数据库中数据库名列表; 遍历数据库名列表, 构建createDatabase操作数据发送至Nats消息中间件; 遍历数据库名列表, 获取 各数据库下集 合名列表; 遍历集合名列表, 构建createCo llection操作数据发送至Nats消息中间件; 遍历集合名列表, 获取各集合下文档构建insertDocument操作数据发送至Nats消息中 间件。 3.根据权利要求1所述的一种基于MongoDB数据库数据同步的实现方法, 其特征在于: 全量数据入库时, 读取Nats消息中间件中的消息数据; 根据消息类型: cr eateDatabase、 cr eateCollection、 insertD ocument, 构建MongoDB命 令, 实现数据库创建/删除, 集合的创建/删除/重命名, 文档的新增/修改/替换/删除等操 作。 4.一种基于MongoDB数据库数据同步的实现系 统, 其特征在于: 包括: 全量数据采集模 块、 全量数据接收存储模块、 全量数据入库模块、 全量数据处理模块、 增量数据采集模块、 增 量数据接收存 储模块以及增量数据入库模块; 全量数据接收存储模块接收全量数据采集模块采集的数据, 全量数据入库模块存储全 量数据接 收存储模块发送的数据, 全量数据 处理模块处理全量数据入库模块内部的数据, 增量数据接收存储模块存储增量数据采集模块发送的数据, 增量数据入库模块保存增量数 据接收存 储模块发送的数据。 5.根据权利要求4所述的一种基于MongoDB数据库数据同步的实现系 统, 其特征在于: 所述全量数据采集模块用于连接MongoDB 源端, 采集数据库全量, 将数据处理为流数据发送 至Nats消息中间件; 全量数据接收存储模块用于接收采集模块数据并存储, 供入库模块消费, Nats消息中 间件接收采集的createDatabase、 createCollection、 insertDocument数据并存储供入库权 利 要 求 书 1/2 页 2 CN 114610736 A 2模块消费。 6.根据权利要求4所述的一种基于MongoDB数据库数据同步的实现系 统, 其特征在于: 所述全量数据入库模块用于读取Nats消息中间件中的流数据, 按照规则转换为对应命令在 MongoDB目的端执 行。 7.根据权利要求4所述的一种基于MongoDB数据库数据同步的实现系 统, 其特征在于: 所述全量数据处 理模块用于执 行: createDatabase: 创建数据库 dropDatabase: 删除数据库 createCo llection: 创建集 合 renameCo llection: 重命名集 合 dropCollection: 删除集 合 insertDocument: 新增文档 updateDocument: 修改文档 replaceDocument: 替换文档 deleteDocument: 删除文档。 8.根据权利要求4所述的一种基于MongoDB数据库数据同步的实现系 统, 其特征在于: 所述增量数据采集模块用于读取oplog.rs日志数据或changestream流数据; 根据日志数据 或流数据中不同操作类型, 分类处理各数据; 过滤数据, 按规则构建方案中数据结构; 将数 据写入Nats消息中间件供入库模块消费。 9.根据权利要求4所述的一种基于MongoDB数据库数据同步的实现系 统, 其特征在于: 所述增量数据接收存 储模块用于 接收采集模块发送的增量数据并存 储供入库模块消费。 10.根据权利 要求4所述的一种基于MongoDB数据库数据同步的实现系统, 其特征在于: 所述增量数据入库模块用于读取Nats消息中间件中的消息数据; 根据消息类型构建 MongoDB命令, 实现数据库创建/删除, 集合的创建/删除/重命名, 文档的新增/修 改/替换/ 删除等操作。权 利 要 求 书 2/2 页 3 CN 114610736 A 3

PDF文档 专利 一种基于MongoDB数据库数据同步的实现方法及系统

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于MongoDB数据库数据同步的实现方法及系统 第 1 页 专利 一种基于MongoDB数据库数据同步的实现方法及系统 第 2 页 专利 一种基于MongoDB数据库数据同步的实现方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 00:50:19上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。