CN115391463A - 数据同步方法、装置及服务器集群 - Google Patents
数据同步方法、装置及服务器集群 Download PDFInfo
- Publication number
- CN115391463A CN115391463A CN202211176624.XA CN202211176624A CN115391463A CN 115391463 A CN115391463 A CN 115391463A CN 202211176624 A CN202211176624 A CN 202211176624A CN 115391463 A CN115391463 A CN 115391463A
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- server
- target
- source table
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000001360 synchronised effect Effects 0.000 claims abstract description 117
- 238000013075 data extraction Methods 0.000 claims abstract description 87
- 230000008569 process Effects 0.000 claims abstract description 18
- 238000005192 partition Methods 0.000 claims description 91
- 238000004422 calculation algorithm Methods 0.000 claims description 39
- 238000012790 confirmation Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 14
- 230000003068 static effect Effects 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012544 monitoring process Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- DDCPKNYKNWXULB-RXMQYKEDSA-N (2r)-2-azaniumyl-3-[(2-methylpropan-2-yl)oxy]propanoate Chemical compound CC(C)(C)OC[C@@H]([NH3+])C([O-])=O DDCPKNYKNWXULB-RXMQYKEDSA-N 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
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
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据同步方法、装置及服务器集群,涉及计算机技术,该方法包括:响应于同步数据指令,生成并向第一服务器集群中的第一服务器发送包含数据抽取条件和源表的获取数据指令;接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。向第二服务器集群中的第二服务器发送读取数据指令;若确定第二服务器已读取完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。本申请的方法,能够灵活适配数仓表格,在两个数据库之间进行表格中数据的同步,解决了备份数据的效率较低的技术问题。
Description
技术领域
本申请涉及计算机技术,尤其涉及一种数据同步方法、装置及服务器集群。
背景技术
目前,由于各业务的数据量激增,为了更好地对数据进行存储、加工和分析,需要对数据进行备份。
现有技术中,通常是在分布式系统基础架构(Hadoop)集群中的数据仓库工具(HIVE)与传统的数据库之间,使用Sqoop(实现Hadoop和关系型数据库间数据同步的工具)进行数据备份。
然而现有技术中,由于使用Sqoop进行数据备份,需要一定的约束条件,例如,Sqoop命令行在进行增量复制时,需要用户指定参数和有关库表列等,导致不能较为便捷灵活的备份数据,进而导致备份效率较低。
发明内容
本申请提供一种数据同步方法、装置及服务器集群,用以解决备份数据的效率较低的技术问题。
第一方面,本申请提供一种数据同步方法,所述方法包括:
响应于同步数据指令,其中,所述同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据;
接收所述第一服务器发送的所述目标数据,并将所述目标数据发送至第二服务器集群中的预设路径中;
向所述第二服务器集群中的第二服务器发送读取数据指令;其中,所述读取数据指令用于指示在所述预设路径中读取所述目标数据;
若确定所述第二服务器已读取完毕,则生成并向所述第二服务器发送与所述操作命令行对应的操作指令,以使所述第二服务器根据所述操作指令对所述目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
进一步地,所述响应于同步数据指令,生成并向所述第一服务器集群中的第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,包括:
所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表;
生成包含所述数据抽取条件和所述源表的获取数据指令;
向所述第一服务器集群中第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据。
进一步地,所述同步数据指令还包括用于存储所述目标数据的目标表;在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,所述方法,还包括:
向第二服务器发送确认目标表指令,以使所述第二服务器根据所述确认目标表指令确认是否需要生成目标表;
若接收到所述第二服务器发送的生成指令,则向所述第二服务器发送所述源表中的字段;其中,所述源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与所述源表中的字段对应的第二数据库中的字段,根据确定的所述第二数据库中的字段生成目标表并将所述目标表存储于第二服务器对应的第二数据库中;
若接收到所述第二服务器发送的生成成功指令,则确定所述第二服务器对应的第二数据库内存在所述目标表。
进一步地,所述同步数据指令还包括分区模式;在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,所述方法,还包括:
确定所述分区模式的类型;其中,所述类型包括静态分区模式和动态分区模式;
生成与所述分区模式的类型对应的目标分区;其中,所述分区用于存储目标表。
进一步地,所述读取数据指令用于指示在所述预设路径中读取所述目标数据至所述目标分区中的所述目标表中。
进一步地,所述同步数据指令还包括所述源表的业务类型;在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,所述方法,还包括:
根据预设的业务类型与业务算法之间的对应关系,确定并调用所述源表的业务类型对应的目标业务算法。
进一步地,所述若确定所述第二服务器已读取完毕,则生成并向所述第二服务器发送与所述操作命令行对应的操作指令,包括:
若确定所述第二服务器已读取完毕,则根据所述目标业务算法生成与所述操作命令行对应的操作指令,并向所述第二服务器发送所述操作指令。
进一步地,所述方法还包括:
接收所述第二服务器发送的错误记录条数;
若确定所述错误记录条数小于等于预设的容错阈值,则确定所述目标数据的同步操作成功。
进一步地,所述同步数据指令还包括全量数据同步模式或增量数据同步模式。
第二方面,本申请提供一种数据同步装置,包括:
第一发送单元,用于响应于同步数据指令,其中,所述同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据;
第二发送单元,用于接收所述第一服务器发送的所述目标数据,并将所述目标数据发送至第二服务器集群中的预设路径中;
第三发送单元,用于向所述第二服务器集群中的第二服务器发送读取数据指令;其中,所述读取数据指令用于指示在所述预设路径中读取所述目标数据;
第四发送单元,用于若确定所述第二服务器已读取完毕,则生成并向所述第二服务器发送与所述操作命令行对应的操作指令,以使所述第二服务器根据所述操作指令对所述目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
进一步地,所述第一发送单元,包括:
解析模块,用于所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表;
第一生成模块,用于生成包含所述数据抽取条件和所述源表的获取数据指令;
第一发送模块,用于向所述第一服务器集群中第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据。
进一步地,所述同步数据指令还包括用于存储所述目标数据的目标表;所述装置,还包括:
第二发送模块,用于在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,向第二服务器发送确认目标表指令,以使所述第二服务器根据所述确认目标表指令确认是否需要生成目标表;
第三发送模块,用于若接收到所述第二服务器发送的生成指令,则向所述第二服务器发送所述源表中的字段;其中,所述源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与所述源表中的字段对应的第二数据库中的字段,根据确定的所述第二数据库中的字段生成目标表并将所述目标表存储于第二服务器对应的第二数据库中;
第一确定模块,用于若接收到所述第二服务器发送的生成成功指令,则确定所述第二服务器对应的第二数据库内存在所述目标表。
进一步地,所述同步数据指令还包括分区模式;所述装置,还包括:
第二确定模块,用于在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,确定所述分区模式的类型;其中,所述类型包括静态分区模式和动态分区模式;
第二生成模块,用于生成与所述分区模式的类型对应的目标分区;其中,所述分区用于存储目标表。
进一步地,所述读取数据指令用于指示在所述预设路径中读取所述目标数据至所述目标分区中的所述目标表中。
进一步地,所述同步数据指令还包括所述源表的业务类型;所述装置,还包括:
调用模块,用于在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,根据预设的业务类型与业务算法之间的对应关系,确定并调用所述源表的业务类型对应的目标业务算法。
进一步地,所述第四发送单元,具体用于:
若确定所述第二服务器已读取完毕,则根据所述目标业务算法生成与所述操作命令行对应的操作指令,并向所述第二服务器发送所述操作指令。
进一步地,所述装置还包括:
接收单元,用于接收所述第二服务器发送的错误记录条数;
确定单元,用于若确定所述错误记录条数小于等于预设的容错阈值,则确定所述目标数据的同步操作成功。
进一步地,所述同步数据指令还包括全量数据同步模式或增量数据同步模式。
第三方面,本申请提供一种第一服务器集群,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面所述的方法。
本申请提供的一种数据同步方法、装置及服务器集群,响应于同步数据指令,其中,同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。向第二服务器集群中的第二服务器发送读取数据指令;其中,读取数据指令用于指示在预设路径中读取目标数据。若确定第二服务器已读取完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。本方案中,对用户输入的同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表、以及操作命令行,生成包含数据抽取条件和源表的获取数据指令,并向第一服务器集群中的第一服务器发送该获取数据指令。如果第一服务器发送接收到获取数据指令,则根据该获取数据指令,在第一服务器对应的第一数据库中确定出满足数据抽取条件的目标数据,并向第一服务器集群发送目标数据。第一服务器集群接收目标数据时,将目标数据发送至第二服务器集群中的预设路径中,然后向第二服务器集群中的第二服务器发送读取数据指令。第二服务器根据读取数据指令在预设路径中成功读取目标数据。若确定第二服务器已读取目标数据完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,进而完成数据同步操作。所以,本申请能够灵活适配数仓表格,在两个数据库之间进行表格中数据的同步,解决了备份数据的效率较低的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例提供的一种数据同步方法的流程示意图;
图2为本申请实施例提供的一种数据同步方法的架构示意图;
图3为本申请实施例提供的另一种数据同步方法的流程示意图;
图4为本申请实施例提供的一种快照表的数据同步方法的流程示意图;
图5为本申请实施例提供的一种切片表的数据同步方法的流程示意图;
图6为本申请实施例提供的一种拉链表的数据同步方法的流程示意图;
图7为本申请实施例提供的一种数据同步装置的结构示意图;
图8为本申请实施例提供的另一种数据同步装置的结构示意图;
图9为本申请实施例提供的一种服务器集群结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。
一个示例中,由于各业务的数据量激增,为了更好地对数据进行存储、加工和分析,需要对数据进行备份。现有技术中,通常是在分布式系统基础架构(Hadoop)集群中的数据仓库工具(HIVE)与传统的数据库之间,使用Sqoop(实现Hadoop和关系型数据库间数据同步的工具)进行数据备份。然而现有技术中,由于使用Sqoop进行数据备份,需要一定的约束条件,例如,Sqoop命令行在进行增量复制时,需要用户指定参数和有关库表列等,导致不能较为便捷灵活的备份数据,进而导致备份效率较低。
本申请提供的一种数据同步方法、装置及服务器集群,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的一种数据同步方法的流程示意图,如图1所示,该方法包括:
101、响应于同步数据指令,其中,同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。
示例性地,本实施例的执行主体可以为第一服务器集群。图2为本申请实施例提供的一种数据同步方法的架构示意图,如图2所示,该架构包括NAS存储、HADOOP集群、MPP集群、ETL集群(即第一服务器集群,用于数据的抽取、转换、加载)。其中,NAS存储和ETL集群(ETL集群即多个服务器)可以应对作业并发场景,具体的,在作业并发场景中,工具采用文件锁机制,可以避免用户对同一张目标表进行数据同步,保证了数据一致性。同时,脚本部署,监控日志,也可以通过以上的多个集群进行操作。时至今日,该工具的最新版本已明确兼容适配FusionInsight企业级大数据平台、TBDS大数据处理平台、HADOOP平台、Greenplum、MPP等多种数据库集群。
该装置架构由8大组件模块构成,分别为参数解析模块、字段映射模块、业务算法模块、分区自适应模块、同步模式模块、认证自适应模块、作业重跑模块、以及日志监控模块。第一服务器集群中的参数解析模块用于对用户输入的同步数据指令进行解析,得到同步数据指令中的实体元素,并调用与实体元素对应的组件的功能模块。具体的,字段映射模块用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系自动生成目标表,在宽表业务场景中尤其方便。业务算法模块用于生成与操作命令行对应的操作指令,分区自适应模块为了同时兼容静态、动态分区两种形态的业务数据存储场景。同步模式模块用于根据用户选择的同步模式在全量数据同步模式和增量数据同步模式之间切换,认证自适应模块用于兼容具有不同认证策略的HADOOP环境,作业重跑模块支持作业重跑,可以保证数据一致性,日志监控模块用于进行错误日志分析,或日常作业进度监控等,由于工具由脚本进行开发,因此很容易实现轻量化部署。
示例性地,同步数据指令用于将第一服务器集群中第一服务器对应的第一数据库中的数据同步至第二服务器集群中第二服务器对应的第二数据库中。例如,同步数据指令为用户输入的脚本命令行参数或文件配置模板,在同步数据指令中构建作业配置实体和多个实体元素,作业配置实体包括第一数据库的名字和第二数据库的名字等,实体元素包括用于抽取数据的源表、源表属于哪种业务模型、用于存储抽取的数据的目标库表名称、数据抽取参数、以及其余几大组件模块中选中选项的标识,例如,业务算法模块中的“切片”选项的标识、分区自适应模块中的“静态”选项的标识等。
在该步骤中,如果接收用户输入的同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表。然后,生成包含数据抽取条件和源表的获取数据指令,并向第一服务器集群中第一服务器发送包含数据抽取条件和源表的获取数据指令,第一服务器接收到获取数据指令时,根据该获取数据指令中包含的数据抽取条件和源表,从第一服务器对应的第一数据库中获取源表中的满足数据抽取条件的目标数据,并将目标数据发送给第一服务器集群,进而第一服务器集群可以接收第一服务器发送的目标数据。
其中,对同步数据指令进行解析后,还需要对同步数据指令中包括的作业配置实体和多个实体元素进行技术校验和业务校验,以保证同步数据指令的正确性和合理性。
102、接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。
示例性地,第一服务器集群接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中,其中,预设路径所在的位置为第二服务器集群中的内存,用于暂时存储目标数据。
103、向第二服务器集群中的第二服务器发送读取数据指令;其中,读取数据指令用于指示在预设路径中读取目标数据。
示例性地,第一服务器集群向第二服务器集群中的第二服务器发送读取数据指令,如果第二服务器集群中的第二服务器接收到读取数据指令,则第二服务器根据接收的该读取数据指令,在预设路径中读取目标数据至第二服务器对应的第二数据库中,进而第二服务器获取了目标数据。
104、若确定第二服务器已读取完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
示例性地,如果接收到第二服务器发送的表征读取数据成功的指令,则确定第二服务器已读取目标数据完毕,则首先生成与操作命令行对应的操作指令,并向第二服务器发送该操作指令,如果第二服务器接收到该操作指令,第二服务器根据操作指令对位于第二数据库中的目标数据进行加工处理,得到加工的目标数据,进而完成数据同步操作,其中,加工处理包括新增数据、删除数据,对第二数据库中的数据与第二数据库中的数据进行相加处理等,对此不作限定。
本申请实施例中,响应于同步数据指令,其中,同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。向第二服务器集群中的第二服务器发送读取数据指令;其中,读取数据指令用于指示在预设路径中读取目标数据。若确定第二服务器已读取完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。本方案中,对用户输入的同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表、以及操作命令行,生成包含数据抽取条件和源表的获取数据指令,并向第一服务器集群中的第一服务器发送该获取数据指令。如果第一服务器发送接收到获取数据指令,则根据该获取数据指令,在第一服务器对应的第一数据库中确定出满足数据抽取条件的目标数据,并向第一服务器集群发送目标数据。第一服务器集群接收目标数据时,将目标数据发送至第二服务器集群中的预设路径中,然后向第二服务器集群中的第二服务器发送读取数据指令。第二服务器根据读取数据指令在预设路径中成功读取目标数据。若确定第二服务器已读取目标数据完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,进而完成数据同步操作。所以,本申请能够灵活适配数仓表格,在两个数据库之间进行表格中数据的同步,解决了备份数据的效率较低的技术问题。
图3为本申请实施例提供的另一种数据同步方法的流程示意图,如图3所示,该方法包括:
201、响应于同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表。
一个示例中,同步数据指令还包括全量数据同步模式或增量数据同步模式。
示例性地,如果接收用户输入的同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表、全量数据同步模式或增量数据同步模式,其中,全量数据同步模式是指抽取原表中的全部数据,增量数据同步模式是指抽取原表中的新增的数据,数据抽取条件包括与全量数据同步模式对应的全量抽取条件,或与增量数据同步模式对应的增量抽取条件。
202、同步数据指令还包括用于存储目标数据的目标表;向第二服务器发送确认目标表指令,以使第二服务器根据确认目标表指令确认是否需要生成目标表。
示例性地,对接收的同步数据指令进行解析,还得到同步数据指令中的用于存储目标数据的目标表。第一服务器集群向第二服务器发送确认目标表指令,第二服务器接收到确认目标表指令,根据该确认目标表指令,确定第二服务器对应的第二数据库中是否需要生成目标表。
203、若接收到第二服务器发送的生成指令,则向第二服务器发送源表中的字段;其中,源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与源表中的字段对应的第二数据库中的字段,根据确定的第二数据库中的字段生成目标表并将目标表存储于第二服务器中对应的第二数据库中。
示例性地,如果接收到第二服务器发送的生成指令,表示需要生成目标表,则向第二服务器发送源表中的字段。当第二服务器接收到源表中的字段,则根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与源表中的字段对应的第二数据库中的字段,根据确定的第二数据库中的字段生成目标表,并将目标表存储于第二服务器中对应的第二数据库中。
其中,需要生成目标表的情况包括以下两种:第一种情况是当第二数据库中的目标表不存在,或第二数据库需要自动建表时,可以先获取第一服务器集群发送的源表中的字段并根据源表字段信息,自动映射转成生成目标建表语句,生成目标表。第二种情况是当目标表存在,或无需自动建表时,将源表的字段信息和目标表的字段信息进行校验,分析字段同步合法性,即若源表的字段信息与目标表的字段信息对应一致,则确定目标表中的字段合法。
204、若接收到第二服务器发送的生成成功指令,则确定第二服务器对应的第二数据库内存在目标表。
示例性地,如果接收到第二服务器发送的生成成功指令,则确定第二服务器已经成功建成目标表,所以第一服务器集群确定第二服务器对应的第二数据库内已存在目标表。
205、同步数据指令还包括分区模式;确定分区模式的类型;其中,类型包括静态分区模式和动态分区模式。
示例性地,同步数据指令还包括用户选择的分区模式。所以,对接收的同步数据指令进行解析,还可以得到同步数据指令中的分区模式,并确定分区模式的类型;其中,类型包括静态分区模式和动态分区模式。
举例来说,根据数仓业务需求,用户选择动态分区模式,该选项下需要指定分区字段,以使该分区根据指定的分区字段存储同步的目标数据。或者,根据数仓业务需求,用户选择静态分区模式,该选项下需要指定分区名称,以使具有该分区名称的目标数据都存在该分区中。
206、生成与分区模式的类型对应的目标分区;其中,分区用于存储目标表。
示例性地,如果分区模式的类型是动态分区模式,则生成与动态分区模式对应的目标分区,其中,新建目标分区时需要指定分区字段。如果分区模式的类型是静态分区模式,则生成与静态分区模式对应的目标分区,其中,新建目标分区时需要指定分区名称。
207、同步数据指令还包括源表的业务类型;根据预设的业务类型与业务算法之间的对应关系,确定并调用源表的业务类型对应的目标业务算法。
示例性地,同步数据指令还包括源表的业务类型。所以,对接收的同步数据指令进行解析,还可以得到同步数据指令中的源表的业务类型。根据预设的业务类型与业务算法之间的对应关系,第一服务器集群确定并调用源表的业务类型对应的目标业务算法,其中,目标业务算法用于对目标数据进行同步与加工。
举例来说,源表的业务类型包括快照表、切片表、以及拉链表等,其中,快照表是根据主键字段存储数据,切片表是根据日期字段存储数据,拉链表是根据主键字段和日期字段存储数据。如果用户根据数仓业务需求,选择的源表的业务类型为快照表,则根据预设的业务类型与业务算法之间的对应关系,确定快照表对应的算法为目标业务算法,该选项下需要指定主键字段名。或者,用户根据数仓业务需求,选择的源表的业务类型为快照表,则根据预设的业务类型与业务算法之间的对应关系,确定切片表对应的算法为目标业务算法,该选项下需要指定日期字段名和增量日期范围。或者,用户根据数仓业务需求,选择的源表的业务类型为拉链表,则根据预设的业务类型与业务算法之间的对应关系,确定拉链表对应的算法为目标业务算法,该选项下需要指定主键字段名、拉链开始日期、结束日期,可根据需求指定删除日期。
208、生成包含数据抽取条件和源表的获取数据指令。
示例性地,第一服务器集群生成包含数据抽取条件和源表的获取数据指令。
209、向第一服务器集群中第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。
示例性地,本步骤可以参见图1中的步骤101,不再赘述。
210、接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。
示例性地,本步骤可以参见图1中的步骤102,不再赘述。
211、向第二服务器集群中的第二服务器发送读取数据指令;其中,读取数据指令用于指示在预设路径中读取目标数据。
一个示例中,读取数据指令用于指示在预设路径中读取目标数据至目标分区中的目标表中。
示例性地,第一服务器集群向第二服务器集群中的第二服务器发送读取数据指令,读取数据指令用于指示在预设路径中读取目标数据。如果第二服务器集群中的第二服务器接收到读取数据指令,则第二服务器根据接收的该读取数据指令,在预设路径中读取目标数据至第二数据库中目标分区中的目标表内。
212、若确定第二服务器已读取完毕,则根据目标业务算法生成与操作命令行对应的操作指令,并向第二服务器发送操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
示例性地,如果接收到第二服务器发送的表征读取数据成功的指令,则确定第二服务器已读取目标数据完毕,则首先根据目标业务算法生成与操作命令行对应的操作指令,并向第二服务器发送该操作指令,如果第二服务器接收到该操作指令,第二服务器根据该操作指令,对位于第二数据库中的目标数据进行加工处理,得到加工的目标数据,进而完成数据同步操作,其中,加工处理包括新增数据、删除数据,对第一数据库中的数据与第二数据库中的数据进行相加处理等,对此不作限定。
举例来说,图4为本申请实施例提供的一种快照表的数据同步方法的流程示意图,如图4所示,图4表示的快照表的数据流向如下:
1)根据用户配置的源表的数据抽数条件,大规模并行处理数据库(MPP)中的源表数据流转到外部表,此时的数据抽取条件为业务日期为T的全量/增量数据;
2)数据仓库工具(HIVE)中的临时表基于预设路径同步读取MPP外部表中的数据;
3)根据快照表对应的目标业务算法,临时表的当期数据(当期数据即抽取的业务日期为T的全量/增量数据)与目标表的全量数据(全量数据即目标表中已有的业务日期为(T-1)的全量数据)在合并表中完成加工处理(加工处理包括相加、新增、删除等);
4)修改目标表的指向路径为最新合并表,即刷新目标表中的最新的数据,以使用户查询目标表时读取最新合并表中的目标数据。
图5为本申请实施例提供的一种切片表的数据同步方法的流程示意图,如图5所示,图5表示的切片表的数据流向如下:
1)根据用户配置的源表的数据抽数条件,MPP中源表数据流转到外部表;
2)HIVE临时表基于预设路径同步读取MPP外部表中的数据;
3)将临时表的当期数据(当期数据即抽取的数据)存储在目标表的一个新日期分区。由于切片表是根据日期字段存储数据,HIVE中有很多日期分区,所以,可以直接将数据按照日期同步至对应日期的分区中即可。
图6为本申请实施例提供的一种拉链表的数据同步方法的流程示意图,如图6所示,图6表示的拉链表的数据流向如下:
1)根据用户配置的源表的数据抽数条件,MPP中的源表数据流转到外部表;
2)HIVE临时表基于预设路径同步读取MPP外部表中的数据;
3)根据拉链表对应的目标业务算法,临时表的当期数据(当期数据即抽取的业务日期为T的全量/增量数据)与目标表的全量数据(全量数据即目标表中已有的业务日期为(T-1)的全量数据)在合并表中完成加工;
4)修改目标表的指向路径为最新合并表。
213、接收第二服务器发送的错误记录条数。
214、若确定错误记录条数小于等于预设的容错阈值,则确定目标数据的同步操作成功。
示例性地,根据用户输入的预设的容错阈值,将容错阈值与第二服务器发送的实际的错误记录条数进行对比,判定数据同步是否成功,如果确定错误记录条数小于等于预设的容错阈值,则确定目标数据的同步操作成功。运维人员还可以根据作业日志,分析从大规模并行处理数据库(MPP)到Hadoop分布式文件系统(HDFS,即预设路径)和HDFS到数据仓库工具(HIVE)两个主链路,前后置处理流程的运行情况和同步性能。
在一个示例中,本申请还能提供认证自适应模块支持。具体的,在HIVE关闭Kerberos场景和开启Kerberos场景下,均能实现数据同步操作。其中,Kerberos是一种计算机网络授权协议,用于身份认证,开启Kerberos场景下,需要指定keytab认证文件路径,用于在用户注册时进行认证操作。
本申请还能提供作业重跑模块支持。具体的,为了保证数据一致性,本申请允许重跑(即重新同步)最近一天的数据。如果需要扩增重跑天数,HIVE中会有更多冗余备份的临时表,且要耦合复杂的拉链表追数逻辑。举例来说,重跑情况包括断电导致同步数据中断,或者源表修改了数据需要重新进行同步操作等。由于拉链表用于通过时间字段记录用户的历史操作,拉链表追数逻辑用于在重跑时追溯历史数据。在重跑时,HIVE中的第二数据库获取新的数据后,将相同的之前获取的数据删除,只保留一份数据,以免数据重复。
本申请实施例中,响应于同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表。同步数据指令还包括用于存储目标数据的目标表;向第二服务器发送确认目标表指令,以使第二服务器根据确认目标表指令确认是否需要生成目标表。若接收到第二服务器发送的生成指令,则向第二服务器发送源表中的字段;其中,源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与源表中的字段对应的第二数据库中的字段,根据确定的第二数据库中的字段生成目标表并将目标表存储于第二服务器中对应的第二数据库。若接收到第二服务器发送的生成成功指令,则确定第二服务器对应的第二数据库内存在目标表。同步数据指令还包括分区模式;确定分区模式的类型;其中,类型包括静态分区模式和动态分区模式。生成与分区模式的类型对应的目标分区;其中,分区用于存储目标表。同步数据指令还包括源表的业务类型;根据预设的业务类型与业务算法之间的对应关系,确定并调用源表的业务类型对应的目标业务算法。生成包含数据抽取条件和源表的获取数据指令。向第一服务器集群中第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。向第二服务器集群中的第二服务器发送读取数据指令;其中,读取数据指令用于指示在预设路径中读取目标数据。若确定第二服务器已读取完毕,则根据目标业务算法生成与操作命令行对应的操作指令,并向第二服务器发送操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。接收第二服务器发送的错误记录条数;若确定错误记录条数小于等于预设的容错阈值,则确定目标数据的同步操作成功。所以,本申请能够灵活适配数仓表格,在两个数据库之间进行表格中数据的同步,解决了备份数据的效率较低的技术问题。本申请还能够灵活支持全量及增量数据的同步复制。作为同样具备增量同步功能的Sqoop而言,其强约束需要特定校验字段,并且只能完成单调型append插入,或简单的日期增量数据同步。而本发明可根据源表字段,自动处理映射关系并创建目标表,该功能是DataX或Sqoop不具备的。本申请兼容Kerberos开启或关闭场景,兼容动态分区或静态分区的自适应数据同步,提供作业重跑功能,满足数据一致性要求。本申请可以实现轻量化部署,可以满足生产监控和数据校验需求,支持全量及增量数据的离线同步。
图7为本申请实施例提供的一种数据同步装置的结构示意图,如图7所示,该装置包括:
第一发送单元31,用于响应于同步数据指令,其中,同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。
第二发送单元32,用于接收第一服务器发送的目标数据,并将目标数据发送至第二服务器集群中的预设路径中。
第三发送单元33,用于向第二服务器集群中的第二服务器发送读取数据指令;其中,读取数据指令用于指示在预设路径中读取目标数据。
第四发送单元34,用于若确定第二服务器已读取完毕,则生成并向第二服务器发送与操作命令行对应的操作指令,以使第二服务器根据操作指令对目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图8为本申请实施例提供的另一种数据同步装置的结构示意图,在图7所示实施例的基础上,如图8所示,第一发送单元31,包括:
解析模块311,用于响应于同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表。
第一生成模块312,用于生成包含数据抽取条件和源表的获取数据指令。
第一发送模块313,用于向第一服务器集群中第一服务器发送包含数据抽取条件和源表的获取数据指令,以使第一服务器根据获取数据指令,从第一服务器中对应的第一数据库中获取源表中的满足数据抽取条件的目标数据。
一个示例中,同步数据指令还包括用于存储目标数据的目标表;该装置,还包括:
第二发送模块314,用于在响应于同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表之后,向第二服务器发送确认目标表指令,以使第二服务器根据确认目标表指令确认是否需要生成目标表。
第三发送模块315,用于若接收到第二服务器发送的生成指令,则向第二服务器发送源表中的字段;其中,源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与源表中的字段对应的第二数据库中的字段,根据确定的第二数据库中的字段生成目标表并将目标表存储于第二服务器中对应的第二数据库中。
第一确定模块316,用于若接收到第二服务器发送的生成成功指令,则确定第二服务器对应的第二数据库内存在目标表。
一个示例中,同步数据指令还包括分区模式;该装置,还包括:
第二确定模块317,用于在响应于同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表之后,确定分区模式的类型;其中,类型包括静态分区模式和动态分区模式。
第二生成模块318,用于生成与分区模式的类型对应的目标分区;其中,分区用于存储目标表。
一个示例中,读取数据指令用于指示在预设路径中读取目标数据至目标分区中的目标表中。
一个示例中,同步数据指令还包括源表的业务类型;该装置,还包括:
调用模块319,用于在响应于同步数据指令,对同步数据指令进行解析,得到同步数据指令中的数据抽取条件、用于抽取数据的源表之后,根据预设的业务类型与业务算法之间的对应关系,确定并调用源表的业务类型对应的目标业务算法。
一个示例中,第四发送单元34,具体用于:
若确定第二服务器已读取完毕,则根据目标业务算法生成与操作命令行对应的操作指令,并向第二服务器发送操作指令。
一个示例中,该装置还包括:
接收单元41,用于接收第二服务器发送的错误记录条数。
确定单元42,用于若确定错误记录条数小于等于预设的容错阈值,则确定目标数据的同步操作成功。
一个示例中,同步数据指令还包括全量数据同步模式或增量数据同步模式。
本实施例的装置,可以执行上述方法中的技术方案,其具体实现过程和技术原理相同,此处不再赘述。
图9为本申请实施例提供的一种服务器集群的结构示意图,服务器集群包括第一服务器集群和第二服务器集群等,如图9所示,服务器集群包括:存储器51,处理器52。
存储器51中存储有可在处理器52上运行的计算机程序。
处理器52被配置为执行如上述实施例提供的方法。
服务器集群还包括接收器53和发送器54。接收器53用于接收外部设备发送的指令和数据,发送器54用于向外部设备发送指令和数据。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得电子设备执行上述任一实施例提供的方案。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求书来限制。
Claims (21)
1.一种数据同步方法,其特征在于,所述方法包括:
响应于同步数据指令,其中,所述同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据;
接收所述第一服务器发送的所述目标数据,并将所述目标数据发送至第二服务器集群中的预设路径中;
向所述第二服务器集群中的第二服务器发送读取数据指令;其中,所述读取数据指令用于指示在所述预设路径中读取所述目标数据;
若确定所述第二服务器已读取完毕,则生成并向所述第二服务器发送与所述操作命令行对应的操作指令,以使所述第二服务器根据所述操作指令对所述目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
2.根据权利要求1所述的方法,其特征在于,所述响应于同步数据指令,生成并向所述第一服务器集群中的第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,包括:
所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表;
生成包含所述数据抽取条件和所述源表的获取数据指令;
向所述第一服务器集群中第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据。
3.根据权利要求2所述的方法,其特征在于,所述同步数据指令还包括用于存储所述目标数据的目标表;在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,所述方法,还包括:
向第二服务器发送确认目标表指令,以使所述第二服务器根据所述确认目标表指令确认是否需要生成目标表;
若接收到所述第二服务器发送的生成指令,则向所述第二服务器发送所述源表中的字段;其中,所述源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与所述源表中的字段对应的第二数据库中的字段,根据确定的所述第二数据库中的字段生成目标表并将所述目标表存储于第二服务器对应的第二数据库中;
若接收到所述第二服务器发送的生成成功指令,则确定所述第二服务器对应的第二数据库内存在所述目标表。
4.根据权利要求2所述的方法,其特征在于,所述同步数据指令还包括分区模式;在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,所述方法,还包括:
确定所述分区模式的类型;其中,所述类型包括静态分区模式和动态分区模式;
生成与所述分区模式的类型对应的目标分区;其中,所述分区用于存储目标表。
5.根据权利要求3或4所述的方法,其特征在于,所述读取数据指令用于指示在所述预设路径中读取所述目标数据至所述目标分区中的所述目标表中。
6.根据权利要求2所述的方法,其特征在于,所述同步数据指令还包括所述源表的业务类型;在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,所述方法,还包括:
根据预设的业务类型与业务算法之间的对应关系,确定并调用所述源表的业务类型对应的目标业务算法。
7.根据权利要求6所述的方法,其特征在于,所述若确定所述第二服务器已读取完毕,则生成并向所述第二服务器发送与所述操作命令行对应的操作指令,包括:
若确定所述第二服务器已读取完毕,则根据所述目标业务算法生成与所述操作命令行对应的操作指令,并向所述第二服务器发送所述操作指令。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述第二服务器发送的错误记录条数;
若确定所述错误记录条数小于等于预设的容错阈值,则确定所述目标数据的同步操作成功。
9.根据权利要求1-4或6-8任一项所述的方法,其特征在于,所述同步数据指令还包括全量数据同步模式或增量数据同步模式。
10.一种数据同步装置,其特征在于,包括:
第一发送单元,用于响应于同步数据指令,其中,其中,所述同步数据指令包括数据抽取条件、用于抽取数据的源表、以及操作命令行,生成并向第一服务器集群中的第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据;
第二发送单元,用于接收所述第一服务器发送的所述目标数据,并将所述目标数据发送至第二服务器集群中的预设路径中;
第三发送单元,用于向所述第二服务器集群中的第二服务器发送读取数据指令;其中,所述读取数据指令用于指示在所述预设路径中读取所述目标数据;
第四发送单元,用于若确定所述第二服务器已读取完毕,则生成并向所述第二服务器发送与所述操作命令行对应的操作指令,以使所述第二服务器根据所述操作指令对所述目标数据进行加工处理,得到加工的目标数据,以完成数据同步操作。
11.根据权利要求10所述的装置,其特征在于,所述第一发送单元,包括:
解析模块,用于所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表;
第一生成模块,用于生成包含所述数据抽取条件和所述源表的获取数据指令;
第一发送模块,用于向所述第一服务器集群中第一服务器发送包含所述数据抽取条件和所述源表的获取数据指令,以使所述第一服务器根据所述获取数据指令,从所述第一服务器中对应的第一数据库中获取所述源表中的满足所述数据抽取条件的目标数据。
12.根据权利要求11所述的装置,其特征在于,所述同步数据指令还包括用于存储所述目标数据的目标表;所述装置,还包括:
第二发送模块,用于在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,向第二服务器发送确认目标表指令,以使所述第二服务器根据所述确认目标表指令确认是否需要生成目标表;
第三发送模块,用于若接收到所述第二服务器发送的生成指令,则向所述第二服务器发送所述源表中的字段;其中,所述源表中的字段用于根据预设的第一数据库中的字段与第二数据库的字段之间的映射关系,确定与所述源表中的字段对应的第二数据库中的字段,根据确定的所述第二数据库中的字段生成目标表并将所述目标表存储于第二服务器对应的第二数据库中;
第一确定模块,用于若接收到所述第二服务器发送的生成成功指令,则确定所述第二服务器对应的第二数据库内存在所述目标表。
13.根据权利要求11所述的装置,其特征在于,所述同步数据指令还包括分区模式;所述装置,还包括:
第二确定模块,用于在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,确定所述分区模式的类型;其中,所述类型包括静态分区模式和动态分区模式;
第二生成模块,用于生成与所述分区模式的类型对应的目标分区;其中,所述分区用于存储目标表。
14.根据权利要求12或13所述的装置,其特征在于,所述读取数据指令用于指示在所述预设路径中读取所述目标数据至所述目标分区中的所述目标表中。
15.根据权利要求11所述的装置,其特征在于,所述同步数据指令还包括所述源表的业务类型;所述装置,还包括:
调用模块,用于在所述响应于同步数据指令,对所述同步数据指令进行解析,得到所述同步数据指令中的数据抽取条件、用于抽取数据的源表之后,根据预设的业务类型与业务算法之间的对应关系,确定并调用所述源表的业务类型对应的目标业务算法。
16.根据权利要求15所述的装置,其特征在于,所述第四发送单元,具体用于:
若确定所述第二服务器已读取完毕,则根据所述目标业务算法生成与所述操作命令行对应的操作指令,并向所述第二服务器发送所述操作指令。
17.根据权利要求10所述的装置,其特征在于,所述装置还包括:
接收单元,用于接收所述第二服务器发送的错误记录条数;
确定单元,用于若确定所述错误记录条数小于等于预设的容错阈值,则确定所述目标数据的同步操作成功。
18.根据权利要求10-13或15-17任一项所述的装置,其特征在于,所述同步数据指令还包括全量数据同步模式或增量数据同步模式。
19.一种第一服务器集群,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1-9中任一项所述的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-9任一项所述的方法。
21.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211176624.XA CN115391463A (zh) | 2022-09-26 | 2022-09-26 | 数据同步方法、装置及服务器集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211176624.XA CN115391463A (zh) | 2022-09-26 | 2022-09-26 | 数据同步方法、装置及服务器集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115391463A true CN115391463A (zh) | 2022-11-25 |
Family
ID=84128934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211176624.XA Pending CN115391463A (zh) | 2022-09-26 | 2022-09-26 | 数据同步方法、装置及服务器集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391463A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769212A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
CN111459954A (zh) * | 2020-03-04 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 分布式数据同步方法、装置、设备及介质 |
CN112115200A (zh) * | 2020-09-16 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 数据同步方法、装置、电子设备及可读存储介质 |
CN113204598A (zh) * | 2021-05-28 | 2021-08-03 | 平安科技(深圳)有限公司 | 一种数据同步方法、系统及存储介质 |
-
2022
- 2022-09-26 CN CN202211176624.XA patent/CN115391463A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108769212A (zh) * | 2018-05-31 | 2018-11-06 | 康键信息技术(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
CN111459954A (zh) * | 2020-03-04 | 2020-07-28 | 深圳壹账通智能科技有限公司 | 分布式数据同步方法、装置、设备及介质 |
CN112115200A (zh) * | 2020-09-16 | 2020-12-22 | 北京奇艺世纪科技有限公司 | 数据同步方法、装置、电子设备及可读存储介质 |
CN113204598A (zh) * | 2021-05-28 | 2021-08-03 | 平安科技(深圳)有限公司 | 一种数据同步方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
CN106685691B (zh) | 物联网系统中终端设备的高效更新配置方法 | |
CN110825420B (zh) | 分布式集群的配置参数更新方法、装置、设备及存储介质 | |
CN107783975B (zh) | 分布式数据库同步处理的方法和装置 | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
CN103345502B (zh) | 分布式数据库的事务处理方法和系统 | |
CN109144785B (zh) | 用于备份数据的方法和装置 | |
CN113987064A (zh) | 数据处理方法、系统及设备 | |
CN108459951B (zh) | 测试方法和装置 | |
CN103795754A (zh) | 多系统间的数据同步方法和系统 | |
CN106484321A (zh) | 一种数据存储方法及数据中心 | |
CN107870982B (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN108140035B (zh) | 分布式系统的数据库复制方法及装置 | |
CN103902405A (zh) | 一种准连续性数据复制方法及装置 | |
CN113553313A (zh) | 一种数据迁移方法及系统、存储介质、电子设备 | |
CN106682141B (zh) | 一种基于业务操作日志的数据同步方法 | |
CN115017235B (zh) | 数据同步方法及电子设备、存储介质 | |
CN115587141A (zh) | 一种数据库同步方法和装置 | |
CN115391463A (zh) | 数据同步方法、装置及服务器集群 | |
CN111966650B (zh) | 一种运维大数据共享数据表的处理方法、装置及存储介质 | |
CN115328931A (zh) | 数据库集群数据校验方法、装置、存储介质及电子设备 | |
CN111797166B (zh) | 准实时简历数据同步方法和装置、电子设备及介质 | |
CN111522688B (zh) | 分布式系统的数据备份方法及装置 | |
CN107368390B (zh) | 数据库日志的备份方法、装置及服务器 | |
CN113449035B (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 |