CN111046036A - 数据同步方法、装置、系统及存储介质 - Google Patents

数据同步方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN111046036A
CN111046036A CN201911071602.5A CN201911071602A CN111046036A CN 111046036 A CN111046036 A CN 111046036A CN 201911071602 A CN201911071602 A CN 201911071602A CN 111046036 A CN111046036 A CN 111046036A
Authority
CN
China
Prior art keywords
data
synchronization
synchronized
source data
service
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
CN201911071602.5A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201911071602.5A priority Critical patent/CN111046036A/zh
Publication of CN111046036A publication Critical patent/CN111046036A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本发明公开了一种数据同步方法、装置、系统及存储介质。其中,该方法包括:基于同步索引表确定待同步的源数据对应的业务表行键;基于所述业务表行键访问对应的业务表,获取所述待同步的源数据;将所述待同步的源数据同步到至少一个目标数据库。由于将HBase数据的同步过程拆分为数据获取及数据同步的环节,其中,数据获取的环节可以基于同步索引表确定待同步的源数据对应的业务表行键,并基于所述业务表行键访问对应的业务表,获取所述待同步的源数据,再将所述待同步的源数据同步到至少一个目标数据库,可以满足多种类型数据库同步HBase数据的需求。

Description

数据同步方法、装置、系统及存储介质
技术领域
本发明涉及数据处理领域,尤其涉及一种数据同步方法、装置、系统及存储介质。
背景技术
HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。随着HBase分布式开源数据库的发展,越来越多的公司项目使用HBase作为核心数据库来持久化数据。但HBase数据库的一些局限性以及一些业务场景需要借助其它数据库的能力,从而需要把HBase数据同步到其它类型数据库。比如,HBase二级索引方案需要借助Elasticsearch,即一个分布式、高扩展、高实时的搜索与数据分析引擎,或者Solr,即一种基于Lucene的全文搜索服务器,等搜索引擎数据库实现HBase多维度检索;高并发业务场景需要借助Redis,即一个高性能的key-value数据库,等数据库实现数据缓存。
相关技术中,多种类型数据库同步HBase数据往往不能使用一套同步系统,每种数据库需要单独开发对应的同步系统,从而增加了开发成本和维护成本。
发明内容
有鉴于此,本发明实施例提供了一种数据同步方法、装置、系统及存储介质,旨在实现多种类型数据库同步HBase数据。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种数据同步方法,包括:
从同步索引表中确定待同步的源数据对应的业务表行键行键;
基于所述业务表行键访问对应的业务表,获取所述待同步的源数据;
将所述待同步的源数据同步到至少一个目标数据库;
其中,所述同步索引表记录了写入HBase数据库的源数据对应的业务表行键。
本发明实施例又提供了一种数据同步装置,包括:
确定模块,用于基于同步索引表确定待同步的源数据对应的业务表行键行键;
获取模块,用于基于所述业务表行键访问对应的业务表,获取所述待同步的源数据;
同步模块,用于将所述待同步的源数据同步到至少一个目标数据库;
其中,所述同步索引表记录了写入HBase数据库的源数据对应的业务表行键。
本发明实施例还提供了一种数据同步系统,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
所述处理器,用于运行计算机程序时,执行本发明实施例所述方法的步骤。
本发明实施例还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现本发明实施例所述方法的步骤。
本发明实施例提供的技术方案,基于同步索引表确定待同步的源数据对应的业务表行键;基于所述业务表行键访问对应的业务表,获取待同步的源数据;将所述待同步的源数据同步到至少一个目标数据库。由于将HBase数据的同步过程拆分为数据获取及数据同步的环节,其中,数据获取的环节可以基于同步索引表确定待同步的源数据对应的业务表行键,并基于所述业务表行键访问对应的业务表,获取所述待同步的源数据,再将所述待同步的源数据同步到至少一个目标数据库,可以满足多种类型数据库同步HBase数据的需求。
附图说明
图1为本发明实施例数据同步方法的流程示意图;
图2为本发明一示例中对同步索引表进行索引同步的流程示意图;
图3为本发明一示例中抽取同步数据的流程示意图;
图4为本发明一示例中进行同步成功标识的流程示意图;
图5为本发明应用实施例数据同步方法的流程示意图;
图6为应用本发明实施例数据同步方法的网络结构示意图;
图7为本发明实施例数据同步装置的结构示意图;
图8为本发明实施例数据同步系统的结构示意图。
具体实施方式
下面结合附图及实施例对本发明再作进一步详细的描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
相关技术中,为了同步HBase数据,一般需要针对某种类型的数据库采取相应的同步技术来同步HBase数据。比如,通过HBase Indexer(NGDATA公司为了将lily子系统里面相关HBase数据存储到Solr而开发的一个软件)将HBase存储的数据近实时的同步到Solr数据库,或者使用HBase Coprocessor协处理器直接把数据同步到目标数据库。多种类型数据库同步HBase数据往往不能使用一套同步系统,每种数据库需要单独开发对应的同步系统,从而增加了开发成本和维护成本。
基于此,在本发明的各种实施例中,将HBase数据的同步过程拆分为数据获取及数据同步的环节,其中,数据获取的环节可以基于同步索引表确定待同步的源数据对应的业务表行键(Rowkey);基于所述业务表Rowkey访问对应的业务表,获取所述待同步的源数据;数据同步的环节可以将所述待同步的源数据同步至对应的目标数据库,可以满足多种类型数据库同步HBase数据的需求。
本发明实施例提供了一种数据同步方法,所述数据为HBase数据库存储的待同步的源数据。这里,HBase是在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式,可以在廉价PC Server上搭建起大规模结构化存储集群。如图1所示,该数据同步方法包括:
步骤101,基于同步索引表确定待同步的源数据对应的业务表Rowkey;
步骤102,基于所述业务表Rowkey访问对应的业务表,获取所述待同步的源数据;
基于待同步的源数据对应的业务表Rowkey访问HBase数据库中的业务表,可以获取与该业务表Rowkey对应的源数据,从而获取待同步的源数据。
步骤103,将所述待同步的源数据同步到至少一个目标数据库。
由于已经获取到待同步的源数据,可以将所述待同步的源数据基于预先配置的同步策略同步到至少一个目标数据库。需要说明的是,在其他实施例中,预先配置的同步策略可以是将待同步的源数据同步到至少两个目标数据库中。
本发明实施例方法,由于将HBase数据的同步过程拆分为数据获取及数据同步的环节,其中,数据获取的环节可以基于时间维度来检索该设定时长内待同步的源数据,数据同步的环节可以基于配置的同步策略将所述待同步的源数据同步至对应的目标数据库,可以满足多种类型数据库同步HBase数据的需求。本发明实施例中,所述同步索引表记录了写入HBase数据库的源数据对应的业务表Rowkey。
对于HBase数据库,可以通过业务表Rowkey进行数据查询。本发明实施例中,通过预先构造同步索引表,利用同步索引表记录写入HBase数据库的源数据对应的业务表Rowkey,便于后续对待同步的源数据基于业务表Rowkey进行查询。
在一实施例中,响应于写源数据至所述HBase数据库,构造与所述源数据对应的索引数据并写入所述同步索引表,所述索引数据包括所述源数据对应的同步索引Rowkey和业务表Rowkey,所述同步索引Rowkey携带所述源数据对应的时间戳且写入所述同步索引表的索引地址,所述业务表Rowkey写入所述同步索引表的数据地址。
在一示例中,如图2所示,用户通过业务服务写入源数据至HBase数据库的HBase业务表A,响应于该写入操作,同步协处理器构造与所述源数据对应的索引数据并写入同步索引表中。具体地,可以借助HBase Coprocessor构造同步协处理器,由该同步协处理器将写入HBase业务表A的源数据对应的索引数据实时写入同步索引表。同步协处理器将索引数据写入同步索引表后,接收同步索引表反馈的反馈信息,并将反馈信息经HBase业务表A反馈至业务服务,以告知用户。
这里,同步索引表包括Rowkey和列族,其中,Rowkey对应索引地址,用于查询数据;列族对应数据地址,用于存储数据。在一实施例中,将源数据写入对应的业务表名、时间戳及业务表Rowkey集合后作为同步索引表的Rowkey,比如,同步索引表的Rowkey为:业务表名_时间戳_业务表Rowkey。将源数据写入对应的业务表Rowkey作为同步索引表的列族之一。这样,通过对同步索引表的Rowkey基于时间维度进行检索,就可以确定对应时间区间内写入的源数据对应的业务表Rowkey。
在一实施例中,根据同步策略确定的周期,从同步索引表中确定当前周期(即设定时长)内待同步的业务表Rowkey。比如,同步策略确定的周期为每5小时进行同步,确定间隔的时长到达5小时,可以根据当前周期(即5小时)确定用于检索的同步索引表的Rowkey的Startkey(开始键)和Stopkey(结束键)。基于Startkey和Stopkey确定待同步的源数据对应的同步索引表的Rowkey范围,再基于该Rowkey范围确定待同步的源数据对应的业务表Rowkey。需要说明的是,同步策略确定的周期可以设定,该周期可以是每分钟、每小时或每天等。
在一实施例中,所述将所述待同步的源数据基于配置的同步策略同步到至少一个目标数据库,包括:将所述待同步的源数据基于同步源表与同步目标表的映射关系同步至所述目标数据库。
在一实施例中,可以预先配置同步策略,该同步策略包括:HBase同步源表、同步目标表、同步时间策略、同步源表与同步目标表字段映射关系。具体如表1所示:
Figure BDA0002261127230000061
表1
其中,如表1所示,HBase同步源表对应源数据在HBase数据库中所处的业务表名,同步目标表对应需要同步HBase数据的目标数据库表信息。这里,目标数据库表信息可以配置多个,即可以将HBase数据同步至多个目标数据库。同步源表与目同步目标表字段映射关系用于确定同步源表字段与同步目标表字段的映射关系。
在一实施例中,同步策略还包括:用户自定义函数(UDF),该用户自定义函数可以对待同步的源数据进行数据解析,进而将解析后的数据基于同步源表与同步目标表的映射关系同步至所述目标数据库,从而解决了数据同步过程中不同数据库之间的数据转换的目的。
本发明实施例中,同步策略可以提供Redis、Mongodb、Elasticsearch等目标数据库同步,当用户有新目标数据库需求,可自定义开发同步目标数据库类进行同步。
为了缓存待同步的源数据,以满足数据同步的需求,在一实施例中,HBase数据同步控制方法还可以包括:
将获取的所述待同步的源数据发送至消息队列;
所述将所述待同步的源数据基于配置的同步策略同步到至少一个目标数据库,包括:
从所述消息队列接收所述待同步的源数据,并对所述待同步的源数据进行数据解析;
将解析后的数据基于同步源表与同步目标表的映射关系同步至所述目标数据库。
在一示例中,如图3所示,基于设定的同步时间策略,譬如,按照一天为数据同步的周期,触发同步数据抽取服务,该同步数据抽取服务基于当天对应的Startkey和Stopkey确定待同步的源数据对应的同步索引表的Rowkey范围,再基于该Rowkey范围发送抽取需同步数据的请求给同步索引表,确定当前周期待同步的源数据对应的业务表Rowkey。同步数据抽取服务基于所述业务表Rowkey访问HBase数据库中的业务表进行源数据查询,获取待同步的源数据;同步数据抽取服务再将获取的待同步的源数据发送至Kafka消息队列。同步策略服务从Kafka消息队列接收待同步的源数据,基于配置的同步策略将源数据同步到至少一个目标数据库。
为了确保同步数据的一致性,即保证待同步的源数据成功同步至多个目标数据库,本发明实施例方法还提供一种同步成功标识机制。
基于此,在一实施例中,所述方法还包括:
响应于所述待同步的源数据成功同步到所述目标数据库,在所述同步索引表记录所述待同步的源数据写入所述目标数据库的同步成功标识。
在一实施例中,同步索引表的结构如表2所示:
Figure BDA0002261127230000081
表2
如表2所示,同步索引表的列族还包括用于记录所述待同步的源数据写入所述目标数据库的同步成功标识列。当源数据成功写入某一目标数据库的目标表后,同步策略服务会回写同步索引表,在该条同步数据中增加动态列(即同步成功标识列)。比如,列名:“数据库B|库B|表B”,值:“-”,标识该同步数据完成某种目标数据库表的同步。
在一示例中,如图4所示,当源数据同步到目标数据库表后,同步策略服务会根据写入成功的反馈信息回写同步索引表,把目标数据库表名“数据库A|库A|表A”作为动态列写入同步索引表,Rowkey为本条同步动作的索引Rowkey。
为了确保数据同步的一致性,本发明实施例方法还支持重新同步机制,基于此,在一实施例中,本发明实施例方法还包括:
基于所述同步索引表确定所述待同步的源数据对应的目标数据库是否存在未完成同步的目标数据库,若有,则将所述待同步的源数据同步至未完成同步的目标数据库。
比如,基于设定的检查规则,检查最近三天(通过StartKey-StopKey时间区间检索)每条索引数据是否每张目标数据库表都有“同步成功标识”,如发现没有“同步成功标识”,则证明同步失败,需重新抽取进行同步。
本发明实施例的方法,由于将HBase数据的同步过程拆分为数据获取及基于配置的同步策略进行数据同步的环节,其中,数据获取的环节可以基于时间维度来检索该设定时长内待同步的源数据,数据同步的环节可以基于配置的同步策略将所述待同步的源数据同步至对应的目标数据库,可以满足多种类型数据库同步HBase数据的需求。
此外,本发明实施例的方法,基于同步成功的操作回写同步索引表,标识同步成功,从而实现了同步成功标识。基于所述同步索引表确定所述待同步的源数据是否存在未完成同步的目标数据库,若有,则将所述待同步的源数据同步至未完成同步的目标数据库,从而确保了数据同步的一致性。
在一实施例中,待同步的源数据包括业务的信息识别数据,所述信息识别数据用于识别相应业务是否正常。实际应用时,HBase数据库存储的业务的信息识别数据包括:URL(统一资源定位符)、域名、文件等对应的信誉结果,用于确定相应的URL、域名、文件等是否为正常访问对象,以满足网络安全的监测需求。
图5为本发明应用实施例数据同步方法的流程示意图。如图5所示,该数据同步方法主要包括:同步索引表数据生成、同步数据抽取服务、同步策略服务和同步数据保障机制。
本应用实施例中的同步索引表的结构如上述表2所示。同步索引表包括Rowkey和列族,Rowkey用于查询数据,列族用于存储数据。列族包括用于存储业务表Rowkey的列,还包括用于记录所述待同步的源数据写入所述目标数据库的同步成功标识列。同步索引表的Rowkey为:业务表名_时间戳_业务表Rowkey。
可以借助HBase Coprocessor构造同步协处理器,完成将写入HBase业务表A的源数据对应的索引数据实时写入同步索引表。同步索引表数据的生成,具体可以参见图2所示的流程,在此不再赘述。
同步数据抽取服务负责增量抽取同步数据发送至Kafka消息队列中。先从同步索引表检索抽取该时间区间需同步数据的业务表Rowkey,然后通过业务表Rowkey检索抽取业务表源数据,并发送源至Kafka消息队列,具体可以参见图3所示的流程,在此不再赘述。
同步策略服务负责从Kafka消息队列接收同步数据,根据同步配置策略进行数据解析,入库目标数据库。其中,同步策略服务具有以下三种能力:
1、同步策略配置化
可以预先配置同步策略,该同步策略包括:HBase同步源表、同步目标表、同步时间策略、同步源表与同步目标表字段映射关系,具体可以参见表1所示的配置策略。
2、数据解析
可以提供用户自定义函数,该用户自定义函数可以对待同步的源数据进行数据解析,进而将解析后的数据基于同步源表与同步目标表的映射关系同步至所述目标数据库,从而解决了数据同步过程中不同数据库之间的数据转换的目的。
3、同步目标数据库可扩展
同步策略可以提供Redis、Mongodb、Elasticsearch等目标数据库同步,当用户有新目标数据库需求,可自定义开发同步目标数据库类进行同步。
同步数据保障机制负责保障数据同步的可靠性,检查发现有同步失败数据进行重新同步。当完成某种目标数据库表同步时,同步策略服务会回写同步索引表,在该条同步数据中增加动态列,列名:“数据库B|库B|表B”,值:“-”,标识该同步数据完成某种目标数据库表的同步。同步数据保障机制会检查同步索引表,判断同步数据策略配置的每种目标数据库表是否完成同步,如发现有未完成同步,则重新抽取数据进行数据同步流程。
具体地,如图4所示,当源数据同步到目标数据库表后,同步策略服务会根据写入成功的反馈信息回写同步索引表,把目标数据库表名“数据库A|库A|表A”作为动态列写入同步索引表,Rowkey为本条同步动作的索引Rowkey。
同步数据保障机制,基于设定的检查规则,检查最近三天(通过StartKey-StopKey时间区间检索)每条索引数据是否每张目标数据库表都有“同步成功标识”,如发现没有“同步成功标识”,则证明同步失败,需重新抽取进行同步。
图6为应用本发明实施例数据同步方法的网络结构示意图。如图6所示,本应用实施例中,业务服务器501通信连接存储HBase数据库的第一存储器502、存储Mongodb数据库的第二存储器503及存储Redis数据库的第三存储器504。为了满足业务数据的安全存储需求,客户端505通过网络连接业务服务器501。用户通过客户端505访问业务服务器501,可以将相关的业务数据存储至第一存储器502的HBase数据库中。为了满足数据检索的需求,业务服务器501可以通过上述实施例的数据同步方法,将HBase数据库中的数据同步至第二存储器503中的Mongodb数据库。为了满足数据并发访问时的缓存需求,业务服务器501可以通过上述实施例的数据同步方法,将HBase数据库中的数据同步至第三存储器504中的Redis数据库。
为了实现本发明实施例的方法,本发明实施例还提供一种数据同步装置,如图7所示,该装置包括:
确定模块601,用于基于同步索引表确定待同步的源数据对应的业务表行键Rowkey;
获取模块602,用于基于所述业务表Rowkey访问对应的业务表,获取所述待同步的源数据;
同步模块603,用于将所述待同步的源数据同步到至少一个目标数据库;
其中,所述同步索引表记录了写入HBase数据库的源数据对应的业务表Rowkey。
在一些实施例中,所述装置还包括:
索引同步模块604,用于响应于写源数据至所述HBase数据库,构造与所述源数据对应的索引数据并写入所述同步索引表,所述索引数据包括所述源数据对应的同步索引Rowkey和业务表Rowkey,所述同步索引Rowkey携带所述源数据对应的时间戳且写入所述同步索引表的索引地址,所述业务表Rowkey写入所述同步索引表的数据地址。
在一些实施例中,所述确定模块601具体用于:
基于设定时长内对应的同步索引Rowkey,在所述同步索引表中确定对应的业务表Rowkey。
在一些实施例中,所述同步模块603具体用于:
将所述待同步的源数据基于配置的同步策略同步至所述目标数据库。
在一些实施例中,同步模块603还用于响应于所述待同步的源数据成功同步到所述目标数据库,在所述同步索引表记录所述待同步的源数据写入所述目标数据库的同步成功标识。
在一些实施例中,所述装置还包括同步保障模块605,所述同步保障模块605用于基于所述同步索引表的同步成功标识判断所述待同步的源数据对应的目标数据库是否存在未完成同步的目标数据库,若有,则将所述待同步的源数据同步至未完成同步的目标数据库。
在一些实施例中,所述获取模块602还用于将获取的所述待同步的源数据发送至消息队列,所述同步模块603具体用于:
从所述消息队列接收所述待同步的源数据,并对所述待同步的源数据进行数据解析;
将解析后的数据同步至所述目标数据库。
实际应用时,确定模块601、获取模块602、同步模块603、索引同步模块604及同步保障模块605,可以由数据同步装置中的处理器来实现。当然,处理器需要运行存储器中的计算机程序来实现它的功能。
需要说明的是:上述实施例提供的数据同步装置在进行数据同步时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的数据同步装置与数据同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本发明实施例的方法,本发明实施例还提供一种数据同步系统。图8仅仅示出了该设备的示例性结构而非全部结构,根据需要可以实施图8示出的部分结构或全部结构。
如图8所示,本发明实施例提供的数据同步系统700包括:至少一个处理器701、存储器702、用户接口703和至少一个网络接口704。数据同步系统700中的各个组件通过总线系统705耦合在一起。可以理解,总线系统705用于实现这些组件之间的连接通信。总线系统705除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统705。
其中,用户接口703可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
本发明实施例中的存储器702用于存储各种类型的数据以支持数据同步系统700的操作。这些数据的示例包括:用于在数据同步系统700上操作的任何计算机程序。
本发明实施例揭示的数据同步方法可以应用于处理器701中,或者由处理器701实现。处理器701可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,数据同步方法的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器701可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器701可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成本发明实施例提供的数据同步方法的步骤。
在示例性实施例中,数据同步系统可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或者其他电子元件实现,用于执行前述方法。
可以理解,存储器702可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
在示例性实施例中,本发明实施例还提供了一种存储介质,即计算机存储介质,具体可以是计算机可读存储介质,例如包括存储计算机程序的存储器702,上述计算机程序可由数据同步系统700的处理器701执行,以完成本发明实施例方法所述的步骤。计算机可读存储介质可以是ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
需要说明的是:本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (11)

1.一种数据同步方法,其特征在于,包括:
基于同步索引表确定待同步的源数据对应的业务表行键;
基于所述业务表行键访问对应的业务表,获取所述待同步的源数据;
将所述待同步的源数据同步到至少一个目标数据库;
其中,所述同步索引表记录了写入HBase数据库的源数据对应的业务表行键。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于写源数据至所述HBase数据库,构造与所述源数据对应的索引数据并写入所述同步索引表,所述索引数据包括所述源数据对应的同步索引行键和业务表行键,所述同步索引行键携带所述源数据对应的时间戳且写入所述同步索引表的索引地址,所述业务表行键写入所述同步索引表的数据地址。
3.根据权利要求2所述的方法,其特征在于,所述基于同步索引表确定待同步的源数据对应的业务表行键,包括:
基于设定时长内对应的同步索引行键,在所述同步索引表中确定对应的业务表行键。
4.根据权利要求1所述的方法,其特征在于,所述将所述待同步的源数据同步到至少一个目标数据库,包括:
将所述待同步的源数据基于配置的同步策略同步至所述目标数据库。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述待同步的源数据成功同步到所述目标数据库,在所述同步索引表中记录所述待同步的源数据写入所述目标数据库的同步成功标识。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
基于所述同步索引表的同步成功标识判断所述待同步的源数据对应的目标数据库是否存在未完成同步的目标数据库,若有,则将所述待同步的源数据同步至未完成同步的目标数据库。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将获取的所述待同步的源数据发送至消息队列;
所述将所述待同步的源数据同步到至少一个目标数据库,包括:
从所述消息队列接收所述待同步的源数据,并对所述待同步的源数据进行数据解析;
将解析后的数据同步至所述目标数据库。
8.根据权利要求1所述的方法,其特征在于,所述待同步的源数据包括业务的信息识别数据,所述信息识别数据用于识别相应业务是否异常。
9.一种数据同步装置,其特征在于,包括:
确定模块,用于基于同步索引表确定待同步的源数据对应的业务表行键行键;
获取模块,用于基于所述业务表行键访问对应的业务表,获取所述待同步的源数据;
同步模块,用于将所述待同步的源数据同步到至少一个目标数据库;
其中,所述同步索引表记录了写入HBase数据库的源数据对应的业务表行键。
10.一种数据同步系统,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,
所述处理器,用于运行计算机程序时,执行权利要求1至8任一项所述方法的步骤。
11.一种存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至8任一项所述方法的步骤。
CN201911071602.5A 2019-11-05 2019-11-05 数据同步方法、装置、系统及存储介质 Pending CN111046036A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911071602.5A CN111046036A (zh) 2019-11-05 2019-11-05 数据同步方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911071602.5A CN111046036A (zh) 2019-11-05 2019-11-05 数据同步方法、装置、系统及存储介质

Publications (1)

Publication Number Publication Date
CN111046036A true CN111046036A (zh) 2020-04-21

Family

ID=70232662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911071602.5A Pending CN111046036A (zh) 2019-11-05 2019-11-05 数据同步方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN111046036A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347192A (zh) * 2020-11-16 2021-02-09 百度在线网络技术(北京)有限公司 数据同步方法、装置、平台以及可读介质
CN112612848A (zh) * 2020-12-17 2021-04-06 四川虹微技术有限公司 数据实时同步的方法及装置、系统、电子设备、存储介质
CN112818054A (zh) * 2020-10-15 2021-05-18 广州南天电脑系统有限公司 数据同步方法、装置、计算机设备和存储介质
CN112860576A (zh) * 2021-03-16 2021-05-28 中国工商银行股份有限公司 一种基于灰度验证的业务处理方法、装置及设备
CN113407638A (zh) * 2021-07-16 2021-09-17 上海通联金融服务有限公司 实现实时关系型数据库数据同步的方法
CN113723907A (zh) * 2021-08-05 2021-11-30 中核武汉核电运行技术股份有限公司 一种基于核电备件管理的es快速查询方法及系统
CN114584574A (zh) * 2022-04-28 2022-06-03 武汉四通信息服务有限公司 数据同步方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514274A (zh) * 2013-09-17 2014-01-15 宁波东冠科技有限公司 非关系型数据库HBase的数据迁移方法
CN104376053A (zh) * 2014-11-04 2015-02-25 南京信息工程大学 一种基于海量气象数据的存储与检索方法
CN104778225A (zh) * 2015-03-27 2015-07-15 浙江大学 一种非结构化数据多存储系统中同步数据的方法
US20150310082A1 (en) * 2014-04-24 2015-10-29 Luke Qing Han Hadoop olap engine
CN106326374A (zh) * 2016-08-15 2017-01-11 北京集奥聚合科技有限公司 一种从HBase中增量抽取数据的方法及系统
CN107577714A (zh) * 2017-08-07 2018-01-12 上海斐讯数据通信技术有限公司 一种基于HBase的数据查询方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514274A (zh) * 2013-09-17 2014-01-15 宁波东冠科技有限公司 非关系型数据库HBase的数据迁移方法
US20150310082A1 (en) * 2014-04-24 2015-10-29 Luke Qing Han Hadoop olap engine
CN104376053A (zh) * 2014-11-04 2015-02-25 南京信息工程大学 一种基于海量气象数据的存储与检索方法
CN104778225A (zh) * 2015-03-27 2015-07-15 浙江大学 一种非结构化数据多存储系统中同步数据的方法
CN106326374A (zh) * 2016-08-15 2017-01-11 北京集奥聚合科技有限公司 一种从HBase中增量抽取数据的方法及系统
CN107577714A (zh) * 2017-08-07 2018-01-12 上海斐讯数据通信技术有限公司 一种基于HBase的数据查询方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112818054A (zh) * 2020-10-15 2021-05-18 广州南天电脑系统有限公司 数据同步方法、装置、计算机设备和存储介质
CN112818054B (zh) * 2020-10-15 2022-05-06 广州南天电脑系统有限公司 数据同步方法、装置、计算机设备和存储介质
CN112347192A (zh) * 2020-11-16 2021-02-09 百度在线网络技术(北京)有限公司 数据同步方法、装置、平台以及可读介质
CN112612848A (zh) * 2020-12-17 2021-04-06 四川虹微技术有限公司 数据实时同步的方法及装置、系统、电子设备、存储介质
CN112860576A (zh) * 2021-03-16 2021-05-28 中国工商银行股份有限公司 一种基于灰度验证的业务处理方法、装置及设备
CN113407638A (zh) * 2021-07-16 2021-09-17 上海通联金融服务有限公司 实现实时关系型数据库数据同步的方法
CN113723907A (zh) * 2021-08-05 2021-11-30 中核武汉核电运行技术股份有限公司 一种基于核电备件管理的es快速查询方法及系统
CN114584574A (zh) * 2022-04-28 2022-06-03 武汉四通信息服务有限公司 数据同步方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN111046036A (zh) 数据同步方法、装置、系统及存储介质
CN109997126B (zh) 事件驱动提取、变换、加载(etl)处理
CN106980699B (zh) 一种数据处理平台和系统
US8938430B2 (en) Intelligent data archiving
CN111159706A (zh) 数据库安全检测方法、装置、设备及存储介质
US20200125660A1 (en) Quick identification and retrieval of changed data rows in a data table of a database
RU2691595C2 (ru) Конструируемый поток данных для улучшенной обработки событий
US11176110B2 (en) Data updating method and device for a distributed database system
CN111324610A (zh) 一种数据同步的方法及装置
CN110795499B (zh) 基于大数据的集群数据同步方法、装置、设备及存储介质
CN106407360B (zh) 一种数据的处理方法及装置
CN111881011A (zh) 日志管理方法、平台、服务器及存储介质
CN108628885B (zh) 一种数据同步方法、装置及存储设备
CN110990365A (zh) 一种数据同步方法、装置、服务器及存储介质
CN107491558B (zh) 元数据更新方法及装置
CN112231407A (zh) PostgreSQL数据库的DDL同步方法、装置、设备和介质
US9047354B2 (en) Statement categorization and normalization
CN112100275A (zh) 一种数据同步方法、系统及电子设备
CN112131214A (zh) 数据写入、数据查询的方法、系统、设备和存储介质
CN110245037B (zh) 一种基于日志的Hive用户操作行为还原方法
CN104317820B (zh) 报表的统计方法和装置
CN115905313A (zh) 一种MySQL大表关联查询系统及方法
CN112732751B (zh) 一种医学数据处理方法、装置、存储介质及设备
WO2015016807A1 (en) Database analysis and validation
CN114490865A (zh) 数据库同步方法、装置、设备及计算机存储介质

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