数据同步方法、装置和计算机可读存储介质制造方法及图纸

技术编号:23764404 阅读:23 留言:0更新日期:2020-04-11 19:04
本发明专利技术实施例提供的数据同步方法、装置和计算机可读存储介质,涉及数据库领域,用于将数据同步至两种类型不同的数据库,所述方法包括:获取第一数据库中的待同步数据,将待同步数据写入缓冲池中,每隔预定时间判断缓冲池中的待同步数据的数量是否达到预定阈值,若是,则将缓冲池中的待同步数据批量加载至第二数据库;通过缓冲池暂时存放数据,当缓冲池中的待同步数据的数量达到预定阈值时,利用数据库协处理器将待同步数据批量加载至第二数据库,保证了不同数据库的数据的一致性和同步数据的实时性,同时也避免了数据丢失或数据冲突。

Data synchronization method, device and computer readable storage medium

【技术实现步骤摘要】
数据同步方法、装置和计算机可读存储介质
本专利技术涉及数据库领域,具体而言,涉及一种数据同步方法、装置和计算机可读存储介质。
技术介绍
互联网时代各种存储框架层出不穷,比如传统的关系型数据库:Oracle、MySQL,新兴的NoSQL:HBase、Cassandra、Redis,全文检索框架:ES(ElasticSearch)、Solr等。在实际生产过程中,通常将数据存放两份,分别写入HBase和ES;这样容易导致数据丢失或数据冲突,无法保证数据一致性问题,也无法满足数据实时性要求。基于上述问题,亟需一种能保证不同数据库的数据一致的数据同步方法。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种数据同步方法、装置和计算机可读存储介质。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本专利技术实施例提供一种数据同步方法,用于将数据同步至两种类型不同的数据库,包括:获取第一数据库中的待同步数据,将所述待同步数据写入缓冲池中;每隔预定时间判断所述缓冲池中的所述待同步数据的数量是否达到预定阈值;若是,则将所述缓冲池中的所述待同步数据批量加载至第二数据库。在可选的实施方式中,所述将所述缓冲池中的所述待同步数据批量加载至第二数据库的步骤之后,包括:清空所述缓冲池中的所述待同步数据。在可选的实施方式中,所述获取第一数据库中的待同步数据,将所述待同步数据写入缓冲池中的步骤,包括:创建数据写入线程;所述写入线程包括写入事件;通过触发所述写入事件将待同步数据写入缓冲池中。在可选的实施方式中,所述判断所述缓冲池中的所述待同步数据的数量是否达到预定阈值的步骤,包括:创建数据同步线程;每隔预定时间执行一次所述数据同步线程;所述数据同步线程用于判断所述缓冲池中的所述待同步数据是否达到预定阈值。第二方面,本专利技术实施例提供一种数据同步装置,用于将数据同步至两种类型不同的数据库,包括:获取模块,用于获取第一数据库中的待同步数据,将所述待同步数据写入缓冲池中;处理模块,用于每隔预定时间判断所述缓冲池中的所述待同步数据的数量是否达到预定阈值;若是,则将所述缓冲池中的所述待同步数据批量加载至第二数据库。在可选的实施方式中,所述处理模块,还用于在将所述缓冲池中的所述待同步数据批量加载至第二数据库之后,清空所述缓冲池中的所述待同步数据。在可选的实施方式中,所述处理模块,还用于创建数据写入线程;所述写入线程包括写入事件;以及还用于通过触发所述写入事件将待同步数据写入缓冲池中。在可选的实施方式中,所述处理模块,还用于创建数据同步线程;以及还用于每隔预定时间执行一次所述数据同步线程;所述数据同步线程用于判断所述缓冲池中的所述待同步数据是否达到预定阈值。第三方面,本专利技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的数据同步方法。本专利技术实施例提供的数据同步方法、装置和计算机可读存储介质,用于将数据同步至两种类型不同的数据库,所述方法包括:获取第一数据库中的待同步数据,将待同步数据写入缓冲池中,每隔预定时间判断缓冲池中的待同步数据的数量是否达到预定阈值,若是,则将缓冲池中的待同步数据批量加载至第二数据库;通过缓冲池暂时存放数据,当缓冲池中的待同步数据的数量达到预定阈值时,利用数据库协处理器将待同步数据批量加载至第二数据库,保证了不同数据库的数据的一致性和同步数据的实时性,同时也避免了数据丢失或数据冲突。为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例提供的数据同步方法。图2示出了本专利技术实施例提供的另一种数据同步方法。图3示出了本专利技术实施例提供的数据同步装置的功能模块示意图。图标:100-数据同步装置;110-获取模块;120-处理模块。具体实施方式下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本实施例中所提出的第一数据库与第二数据库分别为Hbase和ES,HBase0.92版本后推出了协处理器(Coprocessor),Coprocessor为一个工作在Master/RegionServer中的框架,能运行用户编写的代码,从而灵活地完成分布式数据处理的任务。HBase支持两种类型的协处理器Endpoint和Observer。Endpoint协处理器类似传统数据库中的存储过程,客户端可以调用这些Endpoint协处理器执行一段Server端代码,并将Server端代码的结果返回给客户端进一步处理;最常见的用法就是进行聚集操作。另外一种协处理器叫做Observer,这种协处理器类似于传统数据库中的触发器,当发生某些事件的时候这类协处理器会被Server端调用。Observer就是一些散布在HBaseServer端代码中的hook钩子函数,钩子函数为固定的事件发生时会触发钩子函数被调用。比如:put操作之前有钩子函数prePut,prePut函数在put操作执行前会被RegionServer调用;在put操作之后则有postPut钩子函数。请参照图1,为本专利技术实施例提供的数据同步方法。步骤101,获取第一数据库中的待同步数据,将待同步数据写入缓冲池。步骤102,每隔预定时间判断缓冲池中的待同步数据的数量是否达到预定阈值。步骤103,将缓冲本文档来自技高网...

【技术保护点】
1.一种数据同步方法,用于将数据同步至两种类型不同的数据库,其特征在于,包括:/n获取第一数据库中的待同步数据,将所述待同步数据写入缓冲池中;/n每隔预定时间判断所述缓冲池中的所述待同步数据的数量是否达到预定阈值;若是,则将所述缓冲池中的所述待同步数据批量加载至第二数据库。/n

【技术特征摘要】
1.一种数据同步方法,用于将数据同步至两种类型不同的数据库,其特征在于,包括:
获取第一数据库中的待同步数据,将所述待同步数据写入缓冲池中;
每隔预定时间判断所述缓冲池中的所述待同步数据的数量是否达到预定阈值;若是,则将所述缓冲池中的所述待同步数据批量加载至第二数据库。


2.根据权利要求1所述的方法,其特征在于,所述将所述缓冲池中的所述待同步数据批量加载至第二数据库的步骤之后,包括:
清空所述缓冲池中的所述待同步数据。


3.根据权利要求1所述的方法,其特征在于,所述获取第一数据库中的待同步数据,将所述待同步数据写入缓冲池中的步骤,包括:
创建数据写入线程;所述写入线程包括写入事件;
通过触发所述写入事件将待同步数据写入缓冲池中。


4.根据权利要求1所述的方法,其特征在于,所述判断所述缓冲池中的所述待同步数据的数量是否达到预定阈值的步骤,包括:
创建数据同步线程;
每隔预定时间执行一次所述数据同步线程;所述数据同步线程用于判断所述缓冲池中的所述待同步数据是否达到预定阈值。


5.一种数据同步装置,用于将数据同步至两种...

【专利技术属性】
技术研发人员:乔智张斌孙军锋
申请(专利权)人:秒针信息技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1