CN111782731A - 一种数据同步方法及装置 - Google Patents
一种数据同步方法及装置 Download PDFInfo
- Publication number
- CN111782731A CN111782731A CN202010657168.5A CN202010657168A CN111782731A CN 111782731 A CN111782731 A CN 111782731A CN 202010657168 A CN202010657168 A CN 202010657168A CN 111782731 A CN111782731 A CN 111782731A
- Authority
- CN
- China
- Prior art keywords
- data
- data synchronization
- target
- synchronization
- database
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据同步方法及装置;本申请实施例可以确定源数据库与目标数据库之间的数据同步参数;将数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,注入后数据同步配置表包括数据定位信息和数据库连接信息;基于注入后数据同步配置表的标签属性,确定数据同步模式;基于数据同步模式以及数据定位信息,在源数据库中确定待同步数据;利用数据库连接信息对应的数据同步驱动插件,将待同步数据从源数据库同步至目标数据库。该方案可以通过数据同步配置表的方式快速满足不同的数据同步需求,具有易扩展、多适用的优势,进而降低数据库之间数据同步的难度、并提高了数据同步的效率。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种数据同步方法及装置。
背景技术
随着互联网的发展,日常生活中产生的数据也日渐增长,例如,出行记录、消费记录、浏览的网页、发送的消息等等。不同的数据库具有不同的功能特点,因此,可以通过使用不同的数据库针对数据进行不同方面的管理,从而实现对数据的高效管理,这也使得在不同数据库之间进行数据同步变得愈加重要。
在对相关技术的研究和实践过程中,本申请的发明人发现,从源端向目标端进行数据同步时,当两端所使用的数据库不一致时,若强制目标端安装与源端一致的数据库,除了会产生大量的费用外,还需要目标端人员对源端数据库的数据库语言与操作方式进行学习,从而产生了大量的学习成本,使得数据同步的难度加大。而若针对不同的数据库之间的数据同步需求进行定制开发、或者部署重量级的数据同步工具,则大大增加了开发难度与时间成本,进而加剧了数据同步的难度、也间接地导致数据同步的效率下降。正是由于针对跨数据库进行数据同步的过程中存在的诸多困难,增加了数据同步的难度以外,还使得针对数据同步的进阶需求难以实现,例如,针对不同数据同步模式的数据同步的实现、针对不同的目标数据库实现多目标源适配等等。
发明内容
本申请实施例提供一种数据同步方法及装置,可以通过数据同步配置表的方式快速满足不同的数据同步需求,具有易扩展、多适用的优势,进而降低数据库之间数据同步的难度、并提高了数据同步的效率。
本申请实施例提供一种数据同步方法,包括:
确定源数据库与目标数据库之间的数据同步参数;
将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;
基于所述注入后数据同步配置表的标签属性,确定数据同步模式;
基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;
利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
相应的,本申请实施例还提供一种数据同步装置,包括:
参数确定单元,用于确定源数据库与目标数据库之间的数据同步参数;
注入单元,用于将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;
模式确定单元,用于基于所述注入后数据同步配置表的标签属性,确定数据同步模式;
数据确定单元,用于基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;
同步单元,用于利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
在一实施例中,所述数据定位信息包括与所述待同步数据对应的数据表区间参数以及同步字段参数;所述数据确定单元,包括:
序列确定子单元,用于基于所述数据同步模式以及所述数据表区间参数,确定所述待同步数据在所述源数据库中对应的目标数据表序列;
字段确定子单元,用于基于所述数据同步模式以及所述同步字段参数,确定所述目标数据表序列中的目标同步字段;
数据确定子单元,用于将所述目标数据表序列中与所述目标同步字段对应的数据确定为所述待同步数据。
在一实施例中,所述数据同步模式包括全量数据同步模式与增量数据同步模式,所述源数据库包括至少一张数据表;所述序列确定子单元,用于:
对所述数据表区间参数进行解析,得到所述目标数据表序列对应的数据表匹配标志以及数据表匹配阈值;基于所述数据表匹配标志,对所述数据表进行匹配,得到匹配结果;基于所述数据表匹配阈值,从匹配通过的数据表中确定目标数据表,得到与所述全量数据同步模式对应的所述目标数据表序列;
或确定所述目标数据表序列对应的数据表匹配标志,以及所述目标数据库的当前数据记录标志;基于所述数据表匹配标志,对所述数据表进行匹配,得到匹配结果;基于所述当前数据记录标志,对匹配通过的数据表进行增量解析,得到目标数据表;将所述目标数据表进行组合,得到与所述增量数据同步模式对应的所述目标数据表序列。
在一实施例中,所述数据定位信息包括所述目标数据表序列对应的数据过滤参数;所述序列确定子单元,还可以用于:
对所述数据过滤参数进行解析,得到所述目标数据表序列对应的数据过滤标志以及数据过滤阈值;基于所述数据过滤标志以及所述数据过滤阈值,对所述目标数据表序列进行数据过滤,得到过滤后的目标数据表序列。
在一实施例中,所述字段确定子单元,用于:
将所述目标数据表序列中的数据字段确定为候选同步字段;从所述同步字段参数中解析出所述候选同步字段的字段过滤标志;基于所述数据同步模式以及所述字段过滤标志,对所述候选同步字段进行字段过滤,得到所述目标同步字段。
在一实施例中,所述同步单元,包括:
插件确定子单元,用于基于所述数据库连接信息,确定所述数据同步驱动插件;
插件提取子单元,用于从预设的文件路径提取所述数据同步驱动插件;
数据同步子单元,用于利用所述数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
在一实施例中,所述数据同步子单元,用于:
利用所述数据同步驱动插件,建立所述源数据库与所述目标数据库之间的数据库连接;通过所述数据同步驱动插件,从所述源数据库提取所述待同步数据;触发数据同步驱动插件将提取后的待同步数据添加到目标数据库。
在一实施例中,所述模式确定单元,包括:
属性确定子单元,用于确定所述注入后数据同步配置表的标签属性;
范围确定子单元,用于基于所述标签属性,确定所述注入后数据同步配置表的数据同步范围;
全量确定子单元,用于若所述数据同步范围为全量数据范围,则确定所述数据同步模式为全量数据同步模式;
增量确定子单元,用于若所述数据同步范围为增量数据范围,则确定所述数据同步模式为增量数据同步模式。
本申请实施例还提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现本发明实施例提供的任一种数据同步方法中的步骤。
此外,本申请实施例还提供一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本申请实施例提供的任一种数据同步方法中的步骤。
本申请实施例可以确定源数据库与目标数据库之间的数据同步参数;将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;基于所述注入后数据同步配置表的标签属性,确定数据同步模式;基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
该方案可以通过数据同步配置表的方式,快速满足不同的数据同步需求,具有易扩展、多适用的优势,可以大大改善从源端向目标端进行数据同步时的难度与效率。通过确定针对跨数据库进行数据同步时所需的数据同步参数,并将该数据同步参数注入到数据同步配置表中,即可完成针对数据同步操作所需的配置,并降低了高昂的开发成本与时间成本,从而大大降低了数据同步的难度、提高了数据同步的效率。此外,该方案可以针对数据同步需求提供至少一种数据同步模式,使得在数据同步的难度与效率得到了改善的基础上,还为数据同步提供了更进阶的功能选项。并且,该方案可以通过不同的数据同步驱动插件来实现针对不同的目标数据库的多目标源适配,从而使得数据库之间数据同步的效率得到了提升。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据同步方法的场景示意图;
图2是本申请实施例提供的数据同步方法的另一场景示意图;
图3是本申请实施例提供的数据同步方法的流程示意图;
图4是本申请实施例提供的数据同步方法的数据同步流程示意图;
图5是本申请实施例提供的数据同步方法的数据同步参数示意图;
图6是本申请实施例提供的数据同步方法的另一数据同步参数示意图;
图7是本申请实施例提供的数据同步方法的另一数据同步参数示意图;
图8是本申请实施例提供的数据同步方法的另一数据同步参数示意图;
图9是本申请实施例提供的数据同步方法的数据同步配置表示意图
图10是本申请实施例提供的数据同步方法的另一数据同步配置表示意图;
图11是本申请实施例提供的数据同步方法的另一数据同步配置表示意图;
图12是本申请实施例提供的数据同步方法的另一数据同步配置表示意图;
图13是本申请实施例提供的数据同步方法的信息提取示意图;
图14是本申请实施例提供的数据同步方法的文件路径示意图;
图15是本申请实施例提供的数据同步方法的数据库连接示意图;
图16是本申请实施例提供的数据同步方法的另一流程示意图;
图17是本申请实施例提供的数据同步方法的同步任务启动示意图;
图18是本申请实施例提供的数据同步装置的结构示意图;
图19是本申请实施例提供的数据同步装置的另一结构示意图;
图20是本申请实施例提供的数据同步装置的另一结构示意图;
图21是本申请实施例提供的数据同步装置的另一结构示意图;
图22是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据同步方法及装置。具体地,本申请实施例提供适用于计算机设备的的数据同步装置。其中,该计算机设备可以为终端或服务器等设备,该终端可以为手机、平板电脑、笔记本电脑等设备。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,即内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例将以数据同步方法由服务器和终端共同执行为例,来介绍数据同步方法。
参考图1,服务器10上可以运行着数据库,如,待进行数据同步操作的源数据库与目标数据库。可以在终端20上将执行数据同步操作所需的数据同步参数注入到数据同步配置表上,以触发服务器10基于注入后数据同步配置表,针对源数据库与目标数据库进行数据同步。具体地,可以在终端20通过确定该注入后数据同步配置表的标签属性来设置对应的数据同步模式,并且进一步地,服务器10可以基于该注入后数据同步配置表中的数据定位信息,确定源服务器于该数据同步模式下对应的待同步数据,进而,服务器10可以利用数据同步驱动插件,将该待同步数据从源数据库同步到目标数据库。
在另一实施例中,参考图2,源服务器上可以运行有源数据库,目标服务器上可以运行着目标数据库,并且,可以在确定了源数据库与目标数据库之间进行数据同步所需的数据同步参数之后,在终端上将该数据同步参数注入预设的数据同步配置表,以得到注入后数据同步配置表,其中,该注入后数据同步配置表中可以包括数据定位信息与数据库连接信息。进一步地,可以在终端或目标服务器上设置该注入后数据同步配置表的标签属性,以便目标服务器可以基于该标签属性确定数据同步模式,进而可以基于该数据同步模式以及该数据定位信息,确定源数据库中对应的待同步信息。进一步地,可以在目标服务器上,利用与数据库连接信息对应的数据同步驱动插件,将待同步数据从源服务器的源数据库中同步到目标服务器的目标数据库中。
在实际应用中,可以将源服务器侧源数据库中的待同步数据通过本方案提供的数据同步的方式,转化到目标服务器中现有的数据库,如MySQL中存储后,使得目标服务器端的用户,如政府侧或企业侧技术人员可以通过自己熟悉的SQL(Structured QueryLanguage,即结构化查询语言)对数据进行进一步的统计分析。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本申请实施例提供的一种数据同步方法,该方法可以由终端或服务器执行,也可以由终端和服务器共同执行;本申请实施例以数据同步方法由服务器执行为例来进行说明,具体的,由集成在服务器中的数据同步装置来执行。其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN (ContentDel iveryNetwork,即内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。如图3所述,该数据同步方法的具体流程可以如下:
101、确定源数据库与目标数据库之间的数据同步参数。
其中,数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库类型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL、XQuery(XML Query,一种用于XML数据查询的语言);或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。
其中,对数据库进行分类的方式可以有多种,例如,可以出于业务需求对数据库进行分类,将数据库划分为源数据库和目标数据库。具体地,源数据库可以为主要提供数据存储及数据搜索等功能的数据库;目标数据库可以为主要用于执行数据分析等高级功能的数据库;等等。例如,源数据库可以是为企业提供针对大量数据的搜索、分析和探索功能的数据分析引擎,如Elasticsearch 等等;目标数据库可以是企业端已安装的、熟悉的常用数据库,如MySQL等等。
其中,源数据库与目标数据库的类型可以有多种,比如,源数据库可以为关系型数据库或非关系型数据库、目标数据库也可以为关系型数据库或非关系型数据库。具体地,关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,而一组表组成了数据库。例如,关系型数据库可以包括MySQL、 PostgreSQL、Oracle、SQLite,等等。相较于关系型数据库,非关系型数据库可以指非关系型的数据库,例如,非关系型数据库可以包括键值存储数据库、列存储数据库、文档型数据库、图形数据库,等等。
在本实施例中,参考图4,数据源,即源数据库,可以为非关系型数据库,例如,Elasticsearch;目标数据库,即在数据同步时执行数据写入操作的数据库,可以为关系型数据库,例如,MySQL。
其中,Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP(HyperTextTransferProtocol,即超文本传输协议)Web接口和JSON(JavaScriptObjectNotation,即无模式JS 对象简谱)文档。Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。并且,Elasticsearch是分布式的,这意味着索引可以被分成分片,每个分片可以有0个或多个副本。Elasticsearch中每个节点托管一个或多个分片,并充当协调器将操作委托给正确的分片,再平衡和路由则是自动完成的。而MySQL是最流行的关系型数据库管理系统之一,其将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
其中,数据同步参数可以为从源数据库向目标数据库进行数据同步操作的时候所需要的参数。具体地,数据同步参数中可以包括多项信息,例如,待同步数据对应的源端信息、目标端信息、字段映射信息、数据过滤信息,等等。
具体地,参考图5,源端信息可以包括源服务器的IP(InternetProtocol,即网际互连协议)地址、源数据库对应的服务端口号、源数据库对应的服务协议、源数据库中的数据表区间参数、源数据库中的查询条件字段及其对应的数据类型、源数据库的账号用户名、源数据库的账号密码、待同步数据对应的数据导出信息、源数据库中待同步数据对应的每批次查询数量信息,等等;其中,源数据库中的数据表区间参数可以包括源数据库中对应的表名及其类型、确定是否属于分区表的相关参数、分区表的后缀规则、分区表的起始位置以及分区表的终止位置;待同步数据对应的数据导出信息可以包括确定是否将数据导出的相关信息、以及文件导出目录的设置信息;其中,值得注意的是,确定是否属于分区表,即确定待同步数据在源数据库中是仅包括了单张数据表内的数据、还是包括了多张数据表内的数据。
具体地,参考图6,目标端信息可以包括目标数据库对应的数据同步驱动服务信息以及其对应的URL(UniformResourceLocator,即统一资源定位系统)、目标数据库的账号用户名、目标数据库的账号密码、目标数据库中对应的目标表、目标数据库对应的查询条件字段机器对应对的数据类型、以及目标数据库中每批次提交数量信息,等等。
具体地,参考图7,字段映射信息中可以包括描述将待同步数据从源数据库向目标数据库同步时,描述如何将待同步数据库在源数据库中的同步字段映射成目标数据库中的对应字段的相关信息。例如,字段映射信息中可以包括待同步数据的同步字段参数,即包括该待同步数据在源数据库中的同步字段的名称及类型、该同步字段在目标数据库中的对应字段的名称及其类型、以及与目标数据库中的字段默认值对应的默认值设置信息等等。
具体地,参考图8,数据过滤信息中可以包括用于更精确地从源数据库中筛选出待同步数据的进阶筛选条件信息。由于数据表区间参数仅描述了待同步数据在源数据库中的数据表区间信息,因此,可以通过该进阶筛选条件信息从较大范围的数据表区间中,更精确及准确地筛选出待同步数据,从而可以用于支持从源数据库中进行更为精确的数据抽取操作。例如,数据过滤信息中可以包括待同步数据的数据过滤参数,等等。
在本实施例中,源数据库可以为Elasticsearch,目标数据库可以为MySQL,可以确定从Elasticsearch向MySQL进行数据同步操作时所需的以下信息来确定数据同步参数:待同步数据的源端信息、目标端信息、字段映射信息、数据过滤信息等来确定数据同步参数。
102、将数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,该注入后数据同步配置表包括数据定位信息和数据库连接信息。
其中,数据同步配置表可以为记录或存储数据同步参数的载体,在实际应用中,数据同步配置表可以以多种形式存在,例如,可以为表格,或者XML 文件,或者具有可视化界面的交互页面,等等。
其中,针对数据同步配置表的不同形式,将数据同步参数注入数据同步配置表的方式可以有多种,例如,若数据同步配置表为表格的形式,则可以通过手工输入或者程序输入的方式,将数据同步参数添加到对应的单元格中,以实现将该数据同步参数注入到数据同步配置表中;又如,若数据同步配置表为 XML文件的形式,则可以通过手工输入或者程序输入的方式,基于数据同步参数所对应的参数标签,将该数据同步参数填入数据同步配置表中,以此来实现将该数据同步参数注入到数据同步配置表中;又如,若数据同步配置表为具有可视化界面的交互页面,则可以通过手工输入或者程序输入的方式,将数据同步参数添加到对应的交互控件内,以实现将该数据同步参数注入到数据同步配置表中;等等。
在本实施例中,数据同步配置表可以以XML文件的形式存在,并且,可以基于XML文件中的参数标签,将数据同步参数添加到对应的参数标签后,以得到注入后的数据同步配置表。
此外,在本实施例中,参考图9,可以基于源端信息中各项信息所对应的参数标签,将数据同步参数中的源端信息注入到数据同步配置表中;参考图10,可以基于目标端信息中各项信息所对应的参数标签,将数据同步参数中的目标端信息注入到数据同步配置表中;参考图11,可以基于字段映射信息中各项信息所对应的参数标签,将数据同步参数中的字段映射信息注入到数据同步配置表中;参考图12,可以基于数据过滤信息中各项信息所对应的参数标签,将数据同步参数中的数据过滤信息注入到数据同步配置表中;在将数据同步参数注入到数据同步配置表后,即可得到注入后数据同步配置表。
其中,数据定位信息可以为用于在源数据库中定位待同步数据所需的相关信息,具体地,可以通过从数据同步配置表的数据同步参数中提取所需的相关参数得到。例如,数据定位信息可以包括待同步数据在源数据库中对应的数据表区间信息、字段映射信息、数据过滤信息,等等。
在一实施例中,参考图13,可以基于参数标签,从注入后数据同步配置表中得到用于在源数据库中定位待同步数据的至少一个参数。具体地,数据定位信息中可以包括数据表区间信息、字段映射信息、数据过滤信息及源数据库中的表名等,因此,可以从注入后数据同步配置表中提取以下参数标签对应的参数,以得到数据定位信息:<indexBranch></indexBranch>、 <indexSuffixRule></indexSuffixRule>、<indexBranchStart></indexBranchStart>、 <indexBranchEnd></indexBranchEnd>、<field></field>、<condtion></condtion> 以及<index></index>等。
其中,数据库连接信息可以为用于连接源数据库与目标数据库所需的相关信息,具体地,可以通过从数据同步配置表的数据同步参数中提取相关所需的参数得到。例如,数据库连接信息可以包括源服务器的IP地址、源数据库的服务端口号、源数据库的服务协议名称、源数据库的账号用户名、源数据库的账号密码、目标数据库的账号用户名、目标数据库的账号密码、目标数据库对应的数据同步驱动插件信息,等等。
在一实施例中,参考图13,可以基于参数标签,从注入后数据同步配置表中得到用于连接源数据库与目标数据库所需的至少一个参数。具体地,可以从注入后数据同步配置表中提取一下参数标签对应的参数,以得到数据库连接信息:<host></host>、<port></port>、<http></http>、<user></user>、 <password></password>、<url></url>以及<driverClass></driverClass>等。
103、基于注入后数据同步配置表的标签属性,确定数据同步模式。
其中,数据同步模式可以为描述从源数据库向目标数据库进行数据同步操作时所遵循的特定模式。在实际应用中,数据同步模式的划分方法可以有多种,例如,可以基于待同步数据在源数据库中所对应的数据同步范围来对数据同步模式进行划分。具体地,可以将数据同步模式划分为全量数据同步模式与增量数据同步模式,其中,在全量数据同步模式下,可以无需基于目标数据库的当前数据记录标志确定待同步数据,而是将源数据库中满足特定条件的数据确定为待同步数据,并随后将该待同步数据同步到目标数据库;在增量数据同步模式下,则可以基于目标数据库的当前数据记录标志来确定源数据中的待同步数据,如,可以将源数据库中该当前数据记录标志之后新增的数据确定为待同步数据,并可以在新数据不断新增的情况下,一直进行数据同步。
又如,可以基于待同步数据所对应的数据同步时间来对数据同步模式进行划分,如,可以将数据同步模式划分为即时数据同步模式与延时数据同步模式;再如,可以基于待同步数据所对应的目标数据库的数量,来对数据同步模式进行划分,如,可以将数据同步模式划分为单目标适配的数据同步模式与多目标适配的数据同步模式;等等。
其中,标签属性可以用于为注入后数据同步配置表确定对应的数据同步模式,即,可以通过设置注入后数据同步配置表的标签属性,来实现对该注入后数据同步配置表的数据同步模式的配置。具体地,当确定了数据同步参数,并将该数据同步参数注入数据同步配置表后,可以通过赋予该注入后数据同步配置表特定的标签,来传递待同步数据所对应的数据同步模式,即,可以将标签属性作为确定数据同步模式的一种载体。
例如,注入后数据同步配置表的标签属性可以包括有全量数据范围标签或增量数据范围标签、包括有即时同步标签或者延时同步标签、包括有单目标适配标签或者多目标适配标签,等等。
在本实施例中,可以基于待同步数据的同步数据范围来对数据同步模式进行划分,并通过数据同步配置表的标签属性来传递数据同步模式的信息。具体地,步骤“基于注入后数据同步配置表的标签属性,确定数据同步模式”,可以包括:
确定注入后数据同步配置表的标签属性;
基于标签属性,确定注入后数据同步配置表的数据同步范围;
若该数据同步范围为全量数据范围,则确定数据同步模式为全量数据同步模式;
若该数据同步范围为增量数据范围,则确定数据同步模式为增量数据同步模式。
在一实施例中,注入后数据同步配置表的标签属性可以为全量数据范围标签,则可以对应地确定数据同步模式为全量数据同步模式。在另一实施例中,注入后数据同步配置表的标签属性为增量数据范围标签,则可以对应地确定数据同步模式为增量数据同步模式。
将标签属性作为确定数据同步模式的一种载体,能够基于注入后数据同步配置表的标签属性,进一步地确定数据同步模式。在实际应用中,标签属性的确定方式可以有多种,具体地,步骤“确定注入后数据同步配置表的标签属性”,可以包括:
当检测到针对该注入后数据同步配置表的全量同步触发操作或全量导出触发操作时,确定该标签属性为全量数据范围标签;
当检测到针对该注入后数据同步配置表的增量同步触发操作时,确定该标签属性为增量数据范围标签。
其中,在将数据同步参数注入数据同步配置表,得到注入后数据同步配置表后,可以基于针对该注入后数据同步配置表的多种触发操作,来确定标签属性为全量数据范围标签或增量数据范围标签。
其中,针对注入后数据同步配置表的触发操作可以包括全量同步触发操作、全量导出触发操作以及增量同步触发操作等。而该触发操作在实际操作中可以通过多种方式实现,例如,可以在数据同步配置表中设置标签参数,并通过对该标签参数赋值来确定针对注入后数据同步配置表的触发操作。譬如,可以在数据同步配置表中设置用于区分全量同步触发操作或全量导出触发操作或增量同步触发操作的<pattern></pattern>标签,并且,若将该标签对应的值赋为“all”,则可以确定检测到了针对注入后数据同步配置表的全量同步触发操作;若将该标签对应的值赋为“add”,则可以确定检测到了针对注入后数据同步配置表的增量数据同步触发操作;若将该标签对应的值赋为“extract”,则可以确定检测到了针对注入后数据同步配置表的全量数据导出触发操作。
又如,可以通过将该注入后数据同步配置表放置到不同文件夹中,来实现针对该注入后数据同步配置表的多种触发操作。例如,参考图14,文件夹“dataSync”可以用于存放注入后数据同步配置表,并且,“dataSync”文件夹中可以包括两个子文件夹:“add”子文件夹与“all”子文件夹。在本实施例中,可以通过将注入后数据同步配置表添加在“add”子文件夹中,来实现针对该注入后数据同步配置表的增量数据同步触发操作;通过将注入后数据同步配置表添加在“all”子文件夹中,来实现针对该注入后数据同步配置表的全量数据同步触发操作或全量数据导出触发操作。
因此,在本实施例中,当将数据同步参数注入到数据同步配置表,得到注入后数据同步配置表后,可以通过将该注入后数据同步配置表放在不同的文件夹中,来设置针对该注入后数据同步配置表的数据同步模式。
104、基于数据同步模式以及数据定位信息,在源数据库中确定待同步数据。
其中,数据定位信息中可以包括待同步数据在源数据库中对应的数据表区间参数以及同步字段参数,而数据同步模式规定了进行数据同步时所应遵循的特定模式,因此,可以基于数据同步模式以及数据定位信息,在源数据库中确定待同步数据。
具体地,由于源数据库中的待同步数据可以跨源数据库中的多张数据表,并且,可以包括数据表中的部分或全部字段所对应的数据。因此,在源数据库中确定待同步数据,可以通过确定待同步数据在源数据库中的目标数据表序列、以及该目标数据表序列中的目标同步字段,来实现待同步数据的确定。具体地,步骤“基于数据同步模式以及数据定位信息,在源数据库中确定待同步数据”,可以包括:
基于数据同步模式以及数据表区间参数,确定待同步数据在源数据库中对应的目标数据表序列;
基于数据同步模式以及同步字段参数,确定目标数据表序列中的目标同步字段;
将目标数据表序列中与目标同步字段对应的数据确定为待同步数据。
其中,源数据库中可以包括至少一张数据表,而待同步数据可以为源数据库中单张数据表内的数据,也可以为源数据库中跨多张数据表的数据。因此,在源数据库中确定待同步数据,可以首先确定待同步数据在源数据库中所对应的目标数据表序列,具体地,该目标数据表序列中可以包括至少一张待同步数据在源数据库中所对应的目标数据表。
确定目标数据表序列的方式可以有多种,在本实施例中,由于数据同步模式设置了数据同步所应遵循的特定模式,例如,全量数据同步模式或者增量数据同步模式;而数据表区间参数中可以包括用于确定待同步数据是否属于分区表的相关信息、可以包括分区表的后缀规则、可以包括分区表的起始位置以及分区表的终止位置,因此,可以基于数据同步模式以及数据表区间参数,确定待同步数据在源数据库中对应的目标数据表,进而确定待同步数据的目标数据表序列。
其中,数据表中可以包括多个数据字段,因此,在确定了待同步数据在源数据库中对应于的目标数据表序列后,可以通过确定目标数据表序列中的目标同步字段,来进一步精确地确定源数据库中的待同步数据。
进一步地,即可将源数据库中目标数据表序列中与目标同步字段对应的数据确定为待同步数据。
数据同步模式可以包括全量数据同步模式与增量数据同步模式,且源数据库中可以包括至少一张数据表,则当数据同步模式为全量数据同步模式时,步骤“基于数据同步模式以及数据表区间参数,确定待同步数据在源数据库中对应的目标数据表序列”,可以包括:
对数据表区间参数进行解析,得到目标数据表序列对应的数据表匹配标志以及数据表匹配阈值;
基于该数据表匹配标志,对数据表进行匹配,得到匹配结果;
基于该数据表匹配阈值,从匹配通过的数据表中确定目标数据表,得到与全量数据同步模式对应的目标数据表序列。
其中,数据表匹配标志可以用于从源数据库的数据表中确定目标数据表序列的候选数据表,具体地,可以将源数据库中与该数据表匹配标志相匹配的数据表确定为目标数据表序列的候选数据表。
对数据表区间参数进行解析,得到数据表匹配标志的方法可以有多种,比如,可以从数据表区间参数中选取特定的参数,来确定数据表匹配标志。譬如,参考图9,可以基于数据表区间参数中<indexSuffixRule></indexSuffixRule>标签与<index></index>标签对应的参数值来确定数据表匹配标志。具体地,
<index></index>标签中对应的参数值为“school”,即表示欲从源数据库中的“school”数据表中选取数据进行数据同步,而 <indexSuffixRule></indexSuffixRule>标签中对应的值为“yyyyMMdd”,该值设置了待同步数据所在的数据表的表名后缀规则为“yyyyMMdd”,如,表名为“school20200618”的数据表即符合该后缀规则。因此,可以基于<index></index> 标签与<indexSuffixRule></indexSuffixRule>标签,对源数据库中的数据表进行匹配,并将属于“school”类的、表名后缀为“yyyyMMdd”格式的数据表确定为匹配通过。
在另一实施例中,可以仅利用数据表区间参数中的 <indexSuffixRule></indexSuffixRule>标签来确定数据表匹配标志。具体地,参考图9,可以将源数据库中,表名以“yyyyMMdd”格式结尾的数据表确定为匹配通过的数据表,例如,“school20200618”数据表与“company20200606”数据表均为匹配通过的数据表。在实际应用中,从数据表区间参数中确定数据表匹配标志的方式可以有多种,可以基于需求进行调整。
其中,数据表匹配阈值可以用于确定待同步数据在源数据库中所属的数据表区间,具体地,可以通过数据表匹配阈值,从与数据表匹配标志匹配通过的候选数据表中确定目标数据表。
对数据表区间参数进行解析,得到数据表匹配阈值的方法可以有多种,比如,可以从数据表区间参数中选取特定的参数,来确定数据表匹配阈值。譬如,参考图5,可以基于数据表区间参数中<index></index>、 <indexSuffixRule></indexSuffixRule>、<indexBranchStart></indexBranchStart> 及<indexBranchEnd></indexBranchEnd>标签对应的参数值来确定数据表匹配阈值。例如,参考图9,可以确定数据表匹配阈值为“school20200601”与“school20200606”。
值得注意的是,若<indexBranchStart></indexBranchStart>及 <indexBranchEnd></indexBranchEnd>标签对应的参数值相同的话,则表示待同步数据仅包括源数据库中的一张数据表,而不是跨多张数据表。
在本实施例中,参考图9,可以基于数据表区间参数中 <indexSuffixRule></indexSuffixRule>标签与<index></index>标签对应的参数值来确定数据表匹配标志,因此,可以将源数据库中属于“school”类且数据表后缀名为“yyyyMMdd”格式的数据表确定为候选数据表;可以基于数据表区间参数中<index></index>、<indexSuffixRule></indexSuffixRule>、 <indexBranchStart></indexBranchStart>及<indexBranchEnd></indexBranchEnd> 标签对应的参数值来确定数据表匹配阈值,因此,可以确定数据表匹配阈值为“school20200601”与“school20200606”。所以,可以确定目标数据表序列中的目标数据表包括:“school20200601”数据表、“school20200602”数据表、“school20200603”数据表、“school20200604”数据表、“school20200605”数据表及“school20200606”数据表。
由于数据定位信息还可以包括目标数据表序列对应的数据过滤参数,步骤“基于数据同步模式以及数据表区间参数,确定待同步数据在源数据库中对应的目标数据表序列”,还可以包括:
对数据过滤参数进行解析,得到目标数据表序列对应的数据过滤标志以及数据过滤阈值;
基于该数据过滤标志以及该数据过滤阈值,对目标数据表序列进行数据过滤,得到过滤后的目标数据表序列。
其中,数据过滤参数可以用于对目标数据表序列中的目标数据表进行进一步的数据过滤,以便更为精确地在源数据库中确定待同步数据。数据过滤参数中可以包括多项信息,例如,可以包括数据过滤标志与数据过滤阈值,其中,数据过滤标志可以为字段的形式,并且,可以针对该字段设置对应的目标范围,从而实现了基于数据过滤标志以及数据过滤阈值,对目标数据表进行数据过滤。
在本实施例中,参考图12,数据过滤参数可以为<condtion></condtion>标签所对应的参数,具体地,<condtion></condtion>标签中设置了将“creatTime”字段设置为数据过滤标志,值得注意的是,由于该字段为时间类型的数据,因此,相应地,该字段的最大值为2020-06-04 12:00:00,最小值为2020-06-02 12:00:00。
在本实施例中,由于目标数据表序列中包括时间区间在 20200601-20200606内的“school”数据表,因此,可以结合该数据过滤标志与数据过滤阈值,从目标数据表序列中,将“creatTime”字段的值属于020-06-02 12:00:00-2020-06-04 12:00:00范围的数据记录作为待同步数据,并将不符的数据过滤掉,得到过滤后的目标数据表序列。
值得注意的是,数据过滤标志是可以基于业务需求进行设置的,例如,可以为数据表的创建时间、用户的ID、特定规则的字符串,等等。而相应地,数据过滤阈值可以为起止创建时间、起止ID、以及起止字符串,等等。此外,当数据过滤标志与数据表匹配标志一致的时候,数据过滤阈值因为在数据表匹配阈值的范围之内。
在另一实施例中,目标数据表序列中可以包括如下四张数据表:table20200501、table20200502、table20200503以及table20200504,而从数据过滤参数中解析出的数据过滤标志可以为用户ID字段,并且,数据过滤阈值中起始阈值可以为1000,终止阈值可以为2000。那么,基于该数据过滤标志以及该数据过滤阈值,可以将目标数据表中用户ID字段在1000到2000之间的数据记录确定为待同步数据,并将不符的数据过滤掉,得到过滤后的目标数据表序列。
数据同步模式除了可以为全量数据同步模式,还可以为增量数据同步模式。当数据同步模式为增量数据同步模式时,步骤“基于数据同步模式以及数据表区间参数,确定待同步数据在源数据库中对应的目标数据表序列”,可以包括:
确定目标数据表序列对应的数据表匹配标志,以及目标数据库的当前数据记录标志;
基于该数据表匹配标志,对数据表进行匹配,得到匹配结果;
基于该当前数据记录标志,对匹配通过的数据表进行增量解析,得到目标数据表;
将目标数据表进行组合,得到与增量数据同步模式对应的目标数据表序列。
其中,数据表匹配标志可以用于从源数据库的数据表中确定目标数据表序列的候选数据表,具体地,可以将源数据库中与该数据表匹配标志相匹配的数据表确定为目标数据表序列的候选数据表。
而确定数据表匹配标志的方式可以有多种,例如,可以采用与全量数据同步模式相同的方法来确定数据表匹配标志;又如,可以基于业务需求直接对数据表匹配标志进行设置,如,可以将数据表匹配标志设置为全匹配,那么,可以认为源数据库中的所有数据表均为匹配通过。
其中,目标数据库的当前数据记录标志可以用于描述目标数据库中所储存的当前数据的情况,具体地,由于源数据库与目标数据库之间的数据并不总是完全一致,例如,当完成了数据同步后,源数据库中又产生了新增的数据,而目标数据库中还未同步到该新增数据,则此时源数据库与目标数据库中的数据并不一致,那么,目标数据库中的当前数据记录即记录了目标数据库中所储存的当前数据的情况。
当前数据记录标志的获取方式可以有多种,例如,可以通过预设的程序与目标数据库进行数据交互、以获得目标数据库的当前数据库记录。
例如,在源数据库中,对于每天新增的数据相应地存储在以日期为表名的数据表中,并且,源数据库与目标数据库在2020年6月12日进行了最新的一次数据同步,那么相应地,目标数据库的当前数据记录标志即可为20200612。
其中,对数据表的增量解析可以确定数据表中新增的数据,可以通过对增量解析设置对应的条件,使得增量解析可以更加准确地执行。例如,可以通过针对源数据库进行增量解析,来确定源数据库的新增数据;又如,若基于当前数据记录标志对源数据库进行增量解析,则可以确定源数据库相较于该当前数据记录标志的新增数据。
在本实施例中,可以将目标数据库对应的数据表匹配标志确定为全匹配,因此,可以认为源数据库中的所有数据表均为匹配通过。并且,可以通过预设的程序读取目标数据库的当前数据记录标志,并基于该当前数据记录标志,对源数据库中的数据表进行增量解析,以得到源数据库相较于该当前数据记录的新增数据,具体地,该新增数据可以包括多张目标数据表。进一步地,可以通过将目标数据表进行组合,从而得到目标数据表序列。
在另一实施例中,目标数据库对应的数据表匹配标志为全匹配,并且,目标数据库的当前数据记录标志为20200502 15:30:00,那么,可以基于该当前数据记录标志,对源数据库中的数据表进行增量解析,可以得到源数据库中2020 年5月2日15:30:00之后的新增数据所在的目标数据表,进而得到目标数据表序列。
在另一实施例中,目标数据对应的数据表匹配标志为“student”,且该数据表匹配标志为数据表名称;目标数据库的当前数据记录标志为1000,且该当前数据记录为学生学号,那么,可以基于该当前数据记录标志,对源数据库中的“student”数据表进行增量解析,以得到目标数据表,进而得到目标数据表序列,其中,该目标数据表中包括源数据库的“student”数据表中学号大于1000 之后的学生的相关数据。
在确定了目标数据表序列后,可以进一步地确定目标数据表序列中的目标同步字段,具体地,步骤“基于数据同步模式以及同步字段参数,确定目标数据表序列中的目标同步字段”,可以包括:
将目标数据表序列中的数据字段确定为候选同步字段;
从同步字段参数中解析出候选同步字段的字段过滤标志;
基于数据同步模式以及字段过滤标志,对候选同步字段进行字段过滤,得到目标同步字段。
其中,由于目标数据表序列中可以包括至少一张目标数据表,而每张目标数据表中可以包括多个数据字段,因此,可以将目标数据表序列中对应的数据字段确定为候选同步字段。
其中,同步字段参数中可以包括待同步数据在源数据库中的同步字段的名称及类型、该同步字段在目标数据库中的对应字段的名称及其类型、以及与目标数据库中的字段默认值对应的默认值设置信息等等。因此,可以从同步字段参数中提取字段过滤标志,例如,可以将待同步数据在源数据库中的同步字段的名称及类型确定为字段过滤标志。参考图7,可以基于<field></field>标签中的sourcefield属性与sourcetype属性的属性值,确定待同步数据在源数据库中的字段过滤标志。
进而,可以基于数据同步模式以及字段过滤标志,对候选同步字段进行字段过滤,以从该候选同步字段中筛选出目标同步字段。其中,字段过滤的方式可以有多种,例如,可以将与字段过滤标志一致的候选同步字段确定为目标同步字段;等等。
在一实施例中,参考图11,可以确定字段过滤标志为String类型的addr字段,若待同步数据对应的数据同步模式为全量数据同步模式,且候选同步字段中包括以下字段:String类型的“name”字段、String类型的“gender”字段、 String类型的“addr”字段;则可以将候选同步字段中,名称为“addr”且类型为String的字段确定为目标同步字段。
在另一实施例中,字段过滤标志为为String类型的addr字段,若待同步数据对应的数据同步模式为全量数据同步模式,且候选同步字段中包括以下字段: String类型的“name”字段、String类型的“gender”字段、String类型的“addr”字段;则可以将候选同步字段中,名称为“addr”且类型为String的字段确定为目标同步字段。
在另一实施例中,字段过滤标志为为String类型的addr字段,若待同步数据对应的数据同步模式为全量数据同步模式,且候选同步字段中包括以下字段: String类型的“name”字段、String类型的“gender”字段、String类型的“addr”字段;则可以将候选同步字段中String类型的“name”字段、String类型的“gender”字段、String类型的“addr”字段都确定为目标同步字段。
105、利用数据库连接信息对应的数据同步驱动插件,将待同步数据从源数据库同步至目标数据库。
其中,数据同步驱动插件可以为用于执行数据同步操作所需的插件,例如,可以为基于Java数据库连接(JavaDatabaseConnectivity,JDBC)实现的插件,具体地,可以基于该插件,通过JAVA程序完成与数据库的连接、数据抽取与数据插入等操作。
其中,JDBC是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC由一组用Java 语言编写的类和接口组成,不同类型的数据库都有相应的实现。
其中,数据库连接信息中可以包括用于连接源数据库与目标数据库所需的相关信息,因此,可以相应地确定与源数据库及目标数据库所对应的数据同步驱动插件,进而可以利用该数据同步驱动插件,实现从源数据库抽取待同步数据,并将该待同步数据插入至目标数据库中,以实现该待同步数据的数据同步操作。具体地,步骤“利用数据库连接信息对应的数据同步驱动插件,将待同步数据从源数据库同步至目标数据库”,可以包括:
基于数据库连接信息,确定数据同步驱动插件;
从预设的文件路径提取该数据同步驱动插件;
利用该数据同步驱动插件,将待同步数据从源数据库同步至目标数据库。
其中,针对不同的数据库,具有其对应的数据同步驱动插件,因此,可以基于数据库连接信息确定源数据库与目标数据库,进而可以确定源数据库与目标数据库对应的数据同步驱动插件。在实际应用中,在确定源数据库的情况下,可以将源数据库对应的数据同步驱动插件固定配置好,因此,仅需进一步地确定目标数据库对应的数据同步插件即可。
其中,可以将常见数据库对应的数据同步驱动插件都放置在预设的文件路径中,因此,当确定了所需要的数据同步驱动插件以后,可以直接从预设的文件路径中提取,无需额外重新下载。值得注意的是,若预设的文件路径中不包括所需的数据同步驱动插件,则可以将该所需的数据同步驱动插件手动或者自动地配置到该文件路径中。参考图14,图中“lib”文件路径即为预设的文件路径,该文件路径中可以包括至少一个数据同步驱动插件。
在确定了所需的数据同步驱动插件后,即可利用该数据同步驱动插件,将待同步数据从源数据库同步至目标数据库。具体地,参考图15,应用程序可以基于JDBC,利用与源数据库与目标数据库所对应的数据同步驱动插件,实现跨数据库之间的数据交互,值得注意的是,针对源数据库适配多个目标数据库的情况,可以分别通过不同目标数据库对应的数据同步驱动插件,来实现从源数据库向多个目标数据库的数据同步操作。
将待同步数据从源数据库同步到目标数据库的过程可以包括多个步骤,例如,可以从源数据库中抽取待同步数据之后,将提取后的待同步数据添加到目标数据库中,以实现针对待同步数据的数据同步操作,具体地,步骤“利用该数据同步驱动插件,将待同步数据从源数据库同步至目标数据库”,可以包括:
利用数据同步驱动插件,建立源数据库与目标数据库之间的数据库连接;
通过数据同步驱动插件,从源数据库提取待同步数据;
触发数据同步驱动插件将提取后的待同步数据添加到目标数据库。
其中,建立源数据库与目标数据库之间的数据库连接的方式可以有多种,比如,参考图15,应用程序可以基于JDBC,通过数据同步驱动插件建立与源数据库及目标数据库的连接,具体地,可以通过调用JDBC中的Connection接口来实现。
在一实施例中,若目标数据库为MySQL,则可以利用MySQL对应的数据同步驱动插件,基于注入后数据同步配置表中目标端信息中对的 <driverClass></driverClass>参数标签、<url></url>参数标签、<user></user>参数标签及<password></password>等参数标签所对应的参数值,来建立应用需与MySQL之间的连接。
其中,从源数据库中提取待同步数据、以及将该待同步数据添加、或称插入到目标数据库中,都可以通过数据同步驱动插件基于JDBC执行。而无论是数据提取还是数据插入,本质上都可以认为是对数据库进行读取、插入、更新及删除数据项的操作,因此,均可以利用对应的数据同步驱动插件,遵循JDBC 中所支持的操作和命令来实现。
值得注意的是,触发数据同步驱动操作执行数据同步操作的方式可以有多种,例如,若待同步数据对应的数据同步模式包括全量数据同步模式、全量数据导出模式以及增量数据同步模式,参考图14,可以通过双击图中“run_add.bat”对应的图标来触发数据同步驱动操作执行增量数据同步模式下的数据同步操作;通过双击图中“run_all.bat”对应的图标来触发数据同步驱动插件操作执行全量数据同步模式下的数据同步操作。值得注意的是,除了双击的方式以外,还可以设置其他的交互方式,本方案对此不作限制;并且,若数据同步模式包括其他模式,均可通过设置对应模式下的启动图标来实现触发数据同步驱动插件执行对应模式下的数据同步操作。
由上可知,本实施例可以通过数据同步配置表的方式,快速满足不同的数据同步需求,具有易扩展、多适用的优势,可以大大改善从源端向目标端进行数据同步时的难度与效率。通过确定针对跨数据库进行数据同步时所需的数据同步参数,并将该数据同步参数注入到数据同步配置表中,即可完成针对数据同步操作所需的配置,并降低了高昂的开发成本与时间成本,从而大大降低了数据同步的难度、提高了数据同步的效率。此外,该方案可以针对数据同步需求提供至少一种数据同步模式,使得在数据同步的难度与效率得到了改善的基础上,还为数据同步提供了更进阶的功能选项。并且,该方案可以通过不同的数据同步驱动插件来实现针对不同的目标数据库的多目标源适配,从而使得数据库之间数据同步的效率得到了提升。
此外,本实施例还针对待同步数据设置了数据表区间参数、同步字段参数以及数据过滤参数等,可以更为灵活以及更为精确地选择待同步数据的同步范围。并且,通过在文件目录中配置好常用的数据同步驱动插件,无需用户额外进行下载或开发,可以大大地减小进行数据同步时的繁琐度;另外,在本申请中设置了多种便利的交互操作,比如,可以通过将注入后数据同步配置表放置到不同的文件目录中来对该注入后数据同步配置表的标签属性进行设置,进而确定数据同步模式,等等;正是这些便利的交互操作,使得数据同步可以更加方便和简易地进行,从而提高了数据同步的效率。
根据上面实施例所描述的方法,以下将举例进一步详细说明。
在本实施例中,将以数据同步装置集成在服务器与终端为例进行说明。该终端可以为手机、平板电脑、笔记本电脑等设备。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。如图16所示,一种数据同步方法,具体流程如下:
201、终端确定服务器的源数据库与目标数据库之间的数据同步参数。
其中,数据同步参数可以为从源数据库向目标数据库进行数据同步操作的时候所需要的参数。具体地,数据同步参数中可以包括多项信息,例如,待同步数据对应的源端信息、目标端信息、字段映射信息、数据过滤信息,等等。
在一实施例中,当源数据库为Elasticsearch且目标数据库为PostgreSQL时,可以基于业务需求,在终端确定该源数据库与该目标数据库之间的数据同步参数。值得注意的是,数据同步参数的源端信息、目标端信息、字段映射信息以及数据过滤信息中均可以包括多项信息。
202、终端将数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,注入后数据同步配置表包括数据定位信息和数据库连接信息。
其中,可以在终端将确定的数据同步参数注入数据同步配置表中,参数注入的方法可以根据数据同步配置表的形式相应地变化,例如,若数据同步配置表为XML文件,则可以根据XML中的参数标签,将对应的数据同步参数添加进去,得到注入后数据同步配置表。
又如,若数据同步配置表通过可交互的可视化界面显示,则可以依据该可视化界面中提供的交互控件,将数据同步参数对应地添加进去,从而得到注入后数据同步配置表;等等。
其中,数据定位信息可以为用于在源数据库中定位待同步数据所需的相关信息,具体地,可以通过从数据同步配置表的数据同步参数中提取所需的相关参数得到。而数据库连接信息可以为用于连接源数据库与目标数据库所需的相关信息,具体地,可以通过从数据同步配置表的数据同步参数中提取相关所需的参数得到。
203、服务器基于注入后数据同步配置表的标签属性,确定数据同步模式。
其中,数据同步模式可以基于业务需求进行设置,例如,可以包括全量数据同步模式、增量数据同步模式、即时数据同步模式、延时数据同步模式、单目标数据适配的数据同步模式,以及多目标适配的数据同步模式,等等。
可以将注入后数据同步配置表的标签属性作为数据同步模式的信息载体,即通过设置该标签属性来传递数据同步模式的信息。例如,标签属性的值可以包括全量数据范围标签、增量数据范围标签、即时同步标签、延时同步标签、单目标适配标签及多目标适配标签,等等。
204、服务器基于数据同步模式以及数据定位信息,在源数据库中确定待同步数据。
其中,数据定位信息中包括了用于在源数据库中定位待同步数据的相关信息,而数据同步模式则规定了数据同步操作所应遵循的模式,因此,可以结合数据同步模式与数据定位信息,在源数据库中实现待同步数据的定位。
例如,当数据同步模式为全量数据同步模式时,可以将基于数据定位信息在源数据库中确定的数据范围作为待同步数据的待同步范围,以便进一步地将该待同步数据全量地同步到目标数据库中。此外,在实际应用中,全量数据同步模式还可以支持将待同步数据一次性全量地从源数据库同步到目标数据库中。
又如,当数据同步模式为增量数据同步模式时,可以仅考虑源数据库相对于目标数据库的增量数据,并将该增量数据确定为待同步数据,以便进一步地将该待同步数据同步到目标数据库中。
值得注意的是,对于增量数据同步模式下的数据同步操作,可以通过在数据同步配置表中添加<delay></delay>参数标签,并通过设置该标签对应的参数值来实现延时增量同步的功能。例如,若<delay></delay>参数标签对应的参数值设置为1小时,那么对应地可以延迟一小时将增量数据同步到目标数据库中。此外,在实际应用中,增量数据同步模式还可以支持持续地将增量数据从源数据库同步到目标数据库中,直至检测到数据同步操作的关闭指令。
205、服务器基于数据库连接信息,确定数据同步驱动插件。
由于数据库连接信息中包括源数据库与目标数据库的相关信息,因此,可以基于数据库连接信息,确定源数据库与目标数据库对应的数据同步驱动插件。数据同步驱动插件的格式可以有多种,例如,可以为jar包的形式。
206、服务器从预设的文件路径提取数据同步驱动插件。
可以将常用数据库所对应的数据同步驱动插件提前准备好,并添加到预设的文件路径中,因此,服务器可以直接从该预设的文件路径中提取所需的数据同步驱动插件。值得注意的是,若预设的文件路径中不包括所需的数据同步驱动插件,则可以将该所需的数据同步驱动插件手动或者自动地配置到该文件路径中。
207、服务器利用数据同步驱动插件,将待同步数据从源数据库同步至目标数据库。
在确定了待同步数据与数据同步驱动插件后,即可利用该数据同步驱动插件,建立源数据库与目标数据库的数据库连接,进一步地,从源数据库中提取待同步数据,而后,将该提取后的待同步数据添加到目标数据库中。
其中,触发数据同步驱动插件进行数据同步操作的方式可以有多种,例如,参考图17,可以通过双击增量任务对应的图标,触发数据同步驱动操作执行增量数据同步模式下的数据同步操作;通过双击全量任务对应的图标,触发数据同步驱动操作执行全量数据同步模式下的数据同步操作。
值得注意的是,在实际应用中,可以对数据提取或者数据添加的步骤提供批处理的功能,即分批次地提取或添加待同步数据。
由上可知,本申请实施例可以通过数据同步配置表的方式,快速满足不同的数据同步需求,具有易扩展、多适用的优势,可以大大改善从源端向目标端进行数据同步时的难度与效率。通过确定针对跨数据库进行数据同步时所需的数据同步参数,并将该数据同步参数注入到数据同步配置表中,即可完成针对数据同步操作所需的配置,并降低了高昂的开发成本与时间成本,从而大大降低了数据同步的难度、提高了数据同步的效率。此外,该方案可以针对数据同步需求提供至少一种数据同步模式,使得在数据同步的难度与效率得到了改善的基础上,还为数据同步提供了更进阶的功能选项。并且,该方案可以通过不同的数据同步驱动插件来实现针对不同的目标数据库的多目标源适配,从而使得数据库之间数据同步的效率得到了提升。
此外,本申请实施例在进行数据提取与数据插入的过程中,均提供了批处理的功能,并且,当数据同步模式为增量数据同步模式时,还为数据同步操作提供了延时同步的功能,这些都能够大大地降低数据同步的难度、提高数据同步的便利程度,进而提高数据同步的效率。
为了更好地实施以上方法,相应的,本申请实施例还提供一种数据同步装置,其中,该数据同步装置可以集成在服务器或终端中。该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。该终端可以为手机、平板电脑、笔记本电脑等设备。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
例如,如图18所示,该数据同步装置可以包括参数确定单元301,注入单元 302,模式确定单元303,数据确定单元304以及同步单元305,如下:
参数确定单元301,用于确定源数据库与目标数据库之间的数据同步参数;
注入单元302,用于将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;
模式确定单元303,用于基于所述注入后数据同步配置表的标签属性,确定数据同步模式;
数据确定单元304,用于基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;
同步单元305,用于利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
在一实施例中,参考图19,所述数据定位信息包括与所述待同步数据对应的数据表区间参数以及同步字段参数;所述数据确定单元304,可以包括:
序列确定子单元3041,用于基于所述数据同步模式以及所述数据表区间参数,确定所述待同步数据在所述源数据库中对应的目标数据表序列;
字段确定子单元3042,用于基于所述数据同步模式以及所述同步字段参数,确定所述目标数据表序列中的目标同步字段;
数据确定子单元3043,用于将所述目标数据表序列中与所述目标同步字段对应的数据确定为所述待同步数据。
在一实施例中,所述数据同步模式可以包括全量数据同步模式与增量数据同步模式,所述源数据库可以包括至少一张数据表;所述序列确定子单元3041,可以用于:
对所述数据表区间参数进行解析,得到所述目标数据表序列对应的数据表匹配标志以及数据表匹配阈值;基于所述数据表匹配标志,对所述数据表进行匹配,得到匹配结果;基于所述数据表匹配阈值,从匹配通过的数据表中确定目标数据表,得到与所述全量数据同步模式对应的所述目标数据表序列;
或确定所述目标数据表序列对应的数据表匹配标志,以及所述目标数据库的当前数据记录标志;基于所述数据表匹配标志,对所述数据表进行匹配,得到匹配结果;基于所述当前数据记录标志,对匹配通过的数据表进行增量解析,得到目标数据表;将所述目标数据表进行组合,得到与所述增量数据同步模式对应的所述目标数据表序列。
在一实施例中,所述数据定位信息包括所述目标数据表序列对应的数据过滤参数;所述序列确定子单元3041,还可以用于:
对所述数据过滤参数进行解析,得到所述目标数据表序列对应的数据过滤标志以及数据过滤阈值;基于所述数据过滤标志以及所述数据过滤阈值,对所述目标数据表序列进行数据过滤,得到过滤后的目标数据表序列。
在一实施例中,所述字段确定子单元3042,可以用于:
将所述目标数据表序列中的数据字段确定为候选同步字段;从所述同步字段参数中解析出所述候选同步字段的字段过滤标志;基于所述数据同步模式以及所述字段过滤标志,对所述候选同步字段进行字段过滤,得到所述目标同步字段。
在一实施例中,参考图20,所述同步单元305,可以包括:
插件确定子单元3051,用于基于所述数据库连接信息,确定所述数据同步驱动插件;
插件提取子单元3052,用于从预设的文件路径提取所述数据同步驱动插件;
数据同步子单元3053,用于利用所述数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
在一实施例中,所述数据同步子单元3053,可以用于:
利用所述数据同步驱动插件,建立所述源数据库与所述目标数据库之间的数据库连接;通过所述数据同步驱动插件,从所述源数据库提取所述待同步数据;触发数据同步驱动插件将提取后的待同步数据添加到目标数据库。
在一实施例中,参考图21,所述模式确定单元303,可以包括:
属性确定子单元3031,用于确定所述注入后数据同步配置表的标签属性;
范围确定子单元3032,用于基于所述标签属性,确定所述注入后数据同步配置表的数据同步范围;
全量确定子单元3033,用于若所述数据同步范围为全量数据范围,则确定所述数据同步模式为全量数据同步模式;
增量确定子单元3034,用于若所述数据同步范围为增量数据范围,则确定所述数据同步模式为增量数据同步模式。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的数据同步装置中参数确定单元301确定源数据库与目标数据库之间的数据同步参数;由注入单元302将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;由模式确定单元303基于所述注入后数据同步配置表的标签属性,确定数据同步模式;由数据确定单元304基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;由同步单元305利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
该方案可以通过数据同步配置表的方式,快速满足不同的数据同步需求,具有易扩展、多适用的优势,可以大大改善从源端向目标端进行数据同步时的难度与效率。通过确定针对跨数据库进行数据同步时所需的数据同步参数,并将该数据同步参数注入到数据同步配置表中,即可完成针对数据同步操作所需的配置,并降低了高昂的开发成本与时间成本,从而大大降低了数据同步的难度、提高了数据同步的效率。此外,该方案可以针对数据同步需求提供至少一种数据同步模式,使得在数据同步的难度与效率得到了改善的基础上,还为数据同步提供了更进阶的功能选项。并且,该方案可以通过不同的数据同步驱动插件来实现针对不同的目标数据库的多目标源适配,从而使得数据库之间数据同步的效率得到了提升。
此外,本申请实施例还提供一种计算机设备,该计算机设备可以为服务器或终端等设备,如图22所示,其示出了本申请实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括有一个或一个以上计算机可读存储介质的存储器 401、输入单元402、显示单元403、包括有一个或者一个以上处理核心的处理器404、以及电源405等部件。本领域技术人员可以理解,图22中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
存储器401可用于存储软件程序以及模块,处理器404通过运行存储在存储器401的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器 401可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器401还可以包括存储器控制器,以提供处理器404和输入单元402对存储器401的访问。
输入单元402可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元402可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作 (比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器404,并能接收处理器404发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元402还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元403可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元403可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid CrystalDisplay)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器404 以确定触摸事件的类型,随后处理器404根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图22中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
处理器404是计算机设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器401内的软件程序和/或模块,以及调用存储在存储器401内的数据,执行计算机设备的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器404可包括一个或多个处理核心;优选的,处理器404可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器404中。
计算机设备还包括给各个部件供电的电源405(比如电池),优选的,电源可以通过电源管理系统与处理器404逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源405还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,计算机设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,计算机设备中的处理器404会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器401中,并由处理器404来运行存储在存储器401中的应用程序,从而实现各种功能,如下:
确定源数据库与目标数据库之间的数据同步参数;将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;基于所述注入后数据同步配置表的标签属性,确定数据同步模式;基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例的计算机设备可以通过数据同步配置表的方式,快速满足不同的数据同步需求,具有易扩展、多适用的优势,可以大大改善从源端向目标端进行数据同步时的难度与效率。通过确定针对跨数据库进行数据同步时所需的数据同步参数,并将该数据同步参数注入到数据同步配置表中,即可完成针对数据同步操作所需的配置,并降低了高昂的开发成本与时间成本,从而大大降低了数据同步的难度、提高了数据同步的效率。此外,该方案可以针对数据同步需求提供至少一种数据同步模式,使得在数据同步的难度与效率得到了改善的基础上,还为数据同步提供了更进阶的功能选项。并且,该方案可以通过不同的数据同步驱动插件来实现针对不同的目标数据库的多目标源适配,从而使得数据库之间数据同步的效率得到了提升。本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据同步方法中的步骤。例如,该指令可以执行如下步骤:
确定源数据库与目标数据库之间的数据同步参数;将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;基于所述注入后数据同步配置表的标签属性,确定数据同步模式;基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据同步方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据同步方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的各种可选实现方式中提供的方法。
以上对本申请实施例所提供的一种数据同步方法、装置和系统进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据同步方法,其特征在于,包括:
确定源数据库与目标数据库之间的数据同步参数;
将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;
基于所述注入后数据同步配置表的标签属性,确定数据同步模式;
基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;
利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
2.根据权利要求1所述的数据同步方法,其特征在于,所述数据定位信息包括与所述待同步数据对应的数据表区间参数以及同步字段参数;
基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据,包括:
基于所述数据同步模式以及所述数据表区间参数,确定所述待同步数据在所述源数据库中对应的目标数据表序列;
基于所述数据同步模式以及所述同步字段参数,确定所述目标数据表序列中的目标同步字段;
将所述目标数据表序列中与所述目标同步字段对应的数据确定为所述待同步数据。
3.根据权利要求2所述的数据同步方法,其特征在于,所述数据同步模式包括全量数据同步模式与增量数据同步模式,所述源数据库包括至少一张数据表;
基于所述数据同步模式以及所述数据表区间参数,确定所述待同步数据在所述源数据库中对应的目标数据表序列,包括:
对所述数据表区间参数进行解析,得到所述目标数据表序列对应的数据表匹配标志以及数据表匹配阈值;
基于所述数据表匹配标志,对所述数据表进行匹配,得到匹配结果;
基于所述数据表匹配阈值,从匹配通过的数据表中确定目标数据表,得到与所述全量数据同步模式对应的所述目标数据表序列;
或确定所述目标数据表序列对应的数据表匹配标志,以及所述目标数据库的当前数据记录标志;
基于所述数据表匹配标志,对所述数据表进行匹配,得到匹配结果;
基于所述当前数据记录标志,对匹配通过的数据表进行增量解析,得到目标数据表;
将所述目标数据表进行组合,得到与所述增量数据同步模式对应的所述目标数据表序列。
4.根据权利要求3所述的数据同步方法,其特征在于,所述数据定位信息包括所述目标数据表序列对应的数据过滤参数,所述方法还包括:
对所述数据过滤参数进行解析,得到所述目标数据表序列对应的数据过滤标志以及数据过滤阈值;
基于所述数据过滤标志以及所述数据过滤阈值,对所述目标数据表序列进行数据过滤,得到过滤后的目标数据表序列。
5.根据权利要求2所述的数据同步方法,其特征在于,基于所述数据同步模式以及所述同步字段参数,确定所述目标数据表序列中的目标同步字段,包括:
将所述目标数据表序列中的数据字段确定为候选同步字段;
从所述同步字段参数中解析出所述候选同步字段的字段过滤标志;
基于所述数据同步模式以及所述字段过滤标志,对所述候选同步字段进行字段过滤,得到所述目标同步字段。
6.根据权利要求1所述的数据同步方法,其特征在于,将所述待同步数据从所述源数据库同步至所述目标数据库,包括:
基于所述数据库连接信息,确定所述数据同步驱动插件;
从预设的文件路径提取所述数据同步驱动插件;
利用所述数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
7.根据权利要求6所述的数据同步方法,其特征在于,利用所述数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库,包括:
利用所述数据同步驱动插件,建立所述源数据库与所述目标数据库之间的数据库连接;
通过所述数据同步驱动插件,从所述源数据库提取所述待同步数据;
触发数据同步驱动插件将提取后的待同步数据添加到目标数据库。
8.根据权利要求1所述的数据同步方法,其特征在于,基于所述注入后数据同步配置表的标签属性,确定数据同步模式,包括:
确定所述注入后数据同步配置表的标签属性;
基于所述标签属性,确定所述注入后数据同步配置表的数据同步范围;
若所述数据同步范围为全量数据范围,则确定所述数据同步模式为全量数据同步模式;
若所述数据同步范围为增量数据范围,则确定所述数据同步模式为增量数据同步模式。
9.一种存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1-8任一项所述方法的步骤。
10.一种数据同步装置,其特征在于,包括:
参数确定单元,用于确定源数据库与目标数据库之间的数据同步参数;
注入单元,用于将所述数据同步参数注入数据同步配置表,得到注入后数据同步配置表,其中,所述注入后数据同步配置表包括数据定位信息和数据库连接信息;
模式确定单元,用于基于所述注入后数据同步配置表的标签属性,确定数据同步模式;
数据确定单元,用于基于所述数据同步模式以及所述数据定位信息,在所述源数据库中确定待同步数据;
同步单元,用于利用所述数据库连接信息对应的数据同步驱动插件,将所述待同步数据从所述源数据库同步至所述目标数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010657168.5A CN111782731A (zh) | 2020-07-09 | 2020-07-09 | 一种数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010657168.5A CN111782731A (zh) | 2020-07-09 | 2020-07-09 | 一种数据同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111782731A true CN111782731A (zh) | 2020-10-16 |
Family
ID=72759307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010657168.5A Pending CN111782731A (zh) | 2020-07-09 | 2020-07-09 | 一种数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111782731A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307108A (zh) * | 2020-11-25 | 2021-02-02 | 科大国创云网科技有限公司 | 一种基于简单配置方式的数据抽取方法及系统 |
CN112612799A (zh) * | 2020-12-08 | 2021-04-06 | 福建天泉教育科技有限公司 | 一种数据同步方法及终端 |
WO2023109286A1 (zh) * | 2021-12-17 | 2023-06-22 | 蚂蚁区块链科技(上海)有限公司 | 数据同步方法和装置 |
-
2020
- 2020-07-09 CN CN202010657168.5A patent/CN111782731A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112307108A (zh) * | 2020-11-25 | 2021-02-02 | 科大国创云网科技有限公司 | 一种基于简单配置方式的数据抽取方法及系统 |
CN112612799A (zh) * | 2020-12-08 | 2021-04-06 | 福建天泉教育科技有限公司 | 一种数据同步方法及终端 |
WO2023109286A1 (zh) * | 2021-12-17 | 2023-06-22 | 蚂蚁区块链科技(上海)有限公司 | 数据同步方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Malyshev et al. | Getting the most out of Wikidata: semantic technology usage in Wikipedia’s knowledge graph | |
US9112936B1 (en) | Systems and methods for ephemeral eventing | |
US7899829B1 (en) | Intelligent bookmarks and information management system based on same | |
CN111782731A (zh) | 一种数据同步方法及装置 | |
US20120216102A1 (en) | Intelligent bookmarks and information management system based on the same | |
US20070016575A1 (en) | Consolidating local and remote taxonomies | |
CN104102710A (zh) | 一种海量数据查询方法 | |
US20130191414A1 (en) | Method and apparatus for performing a data search on multiple user devices | |
US11216492B2 (en) | Document annotation based on enterprise knowledge graph | |
CN103678494A (zh) | 客户端同步服务端数据的方法及装置 | |
WO2018097846A1 (en) | Edge store designs for graph databases | |
CN110489433B (zh) | 一种基于MongoDB的消息处理方法及装置、电子设备 | |
US20090187581A1 (en) | Consolidation and association of structured and unstructured data on a computer file system | |
CN103778133A (zh) | 一种数据库对象的变更方法及装置 | |
JP2016539401A (ja) | 階層的データアーカイビング | |
US20180181581A1 (en) | Systems and methods for implementing object storage and fast metadata search using extended attributes | |
CN103365996A (zh) | 文件管理及处理方法、装置和系统 | |
US20080133449A1 (en) | Adaptive help system and user interface | |
CN105808653A (zh) | 一种基于用户标签系统的数据处理方法及装置 | |
TW201239786A (en) | Data management method and data management system | |
US9390111B2 (en) | Database insert with deferred materialization | |
CN112363871A (zh) | 一种数据回档方法、装置及存储介质 | |
CN116204660A (zh) | 一种多源异构数据驱动的领域知识图谱构建系统方法 | |
Brunette et al. | ODK tables: building easily customizable information applications on Android devices | |
WO2018226255A1 (en) | Functional equivalence of tuples and edges in graph databases |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230918 Address after: 100086 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Applicant after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Applicant before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TA01 | Transfer of patent application right |