[发明专利]MongoDB到HBase的分布式高容错数据实时同步方法有效
申请号: | 201910561319.4 | 申请日: | 2019-06-26 |
公开(公告)号: | CN110287251B | 公开(公告)日: | 2022-09-16 |
发明(设计)人: | 任旭波;谢赟;陈大伟 | 申请(专利权)人: | 上海德拓信息技术股份有限公司 |
主分类号: | G06F16/25 | 分类号: | G06F16/25;G06F16/27 |
代理公司: | 上海湾谷知识产权代理事务所(普通合伙) 31289 | 代理人: | 张恒 |
地址: | 200233 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | mongodb hbase 分布式 容错 数据 实时 同步 方法 | ||
本发明公开了一种MongoDB到HBase的分布式高容错数据实时同步方法,包括:开启MongoDB的oplog操作日志记录功能;生产者将MongoDB中oplog的检查点之后的记录读取出来,将各条oplog推送到Kafka的预定主题,同时写入Redis;oplog进入Storm后,判断该条oplog的操作类型,针对涉及数据同步的操作类型,获取适合HBase存储的键‑值以及数据定位信息,或者仅获取数据定位信息;HBase writer接受传来的键‑值及数据定位信息,进行相应处理。本发明高效地进行从MongoDB到HBase数据实时同步,保证数据同步的准确性,能够满足业务系统复杂的数据实时同步要求。
技术领域
本发明涉及数据库技术领域,尤其涉及MongoDB到HBase的分布式高容错数据实时同步方法。
背景技术
MongoDB是一种常用的非关系型数据库,作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新,MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高工作效率,降低企业成本。HBase是建立在Hadoop(分布式计算)文件系统之上的分布式面向列的数据库,可以提供快速随机访问海量结构化数据。尽管目前已经有很多各种数据库之间的同步方法,但对于MongoDB到HBase之间的数据同步,仍未有较为通用的方法。
发明内容
本发明的目的在于提供一种MongoDB到HBase的分布式高容错数据实时同步方法,高效地进行从MongoDB到HBase数据实时同步,达到异构数据库备份的目的,同时支持oplog的消费确认机制,保证数据同步的准确性,能够满足业务系统复杂的数据实时同步要求。
实现上述目的的技术方案是:
一种MongoDB到HBase的分布式高容错数据实时同步方法,包括:
步骤S1,开启MongoDB的oplog(操作日志)操作日志记录功能;
步骤S2,生产者将MongoDB中oplog的检查点之后的记录读取出来,将各条oplog推送到Kafka(一个消息队列工具)的预定主题,同时写入Redis(一个内存数据库);
步骤S3,Storm(一个开源分布式计算系统)作为消费者订阅Kafka的预定主题,oplog进入Storm后,判断该条oplog的操作类型,针对涉及数据同步的操作类型,获取适合HBase存储的键-值以及数据定位信息,或者仅获取数据定位信息;
步骤S4,HBase writer(Hbase写入器)接受步骤S3传来的键-值及数据定位信息,若传入的键-值信息为空,HBase writer会将指定位置的一行数据删除,若不为空,则将传入的键-值写入指定位置;在数据写入成功后,HBase writer根据传入的信息重新拼接出第一时间戳+名称空间+oid(Mongodb表唯一id,Mongodb中表字段中的不重复字段)作为键,并删除Redis中对应的记录;若数据写入失败,则不做任何处理;
步骤S5,一条oplog处理完成后,返回步骤S3,直至所有oplog处理完成后。
优选的,所述的步骤S2中,生产者读取定位时间戳作为检查点,以键=名称空间,值=第一时间戳+oplog的形式将oplog推送到Kafka的预定主题Storm,同时以键=第一时间戳+名称空间+oid,值=0的形式将键-值存到Redis中,每将一条oplog写入Kafka和Redis后,将其第一时间戳写入到定位时间戳中。
优选的,所述的步骤S2中,
名称空间由当前oplog中ns字段(Oplog是json格式的,json由若干个键和值组成,ns是其中的一个键的名称)的值组成,表示对应数据所在的库和集合;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海德拓信息技术股份有限公司,未经上海德拓信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910561319.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用户等级量化方法和装置
- 下一篇:一种数据安全防护系统