CN117891877A - 基于算子链的数据同步方法、装置、设备及存储介质 - Google Patents
基于算子链的数据同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117891877A CN117891877A CN202311697732.6A CN202311697732A CN117891877A CN 117891877 A CN117891877 A CN 117891877A CN 202311697732 A CN202311697732 A CN 202311697732A CN 117891877 A CN117891877 A CN 117891877A
- Authority
- CN
- China
- Prior art keywords
- operator
- synchronized
- data
- chain
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000001360 synchronised effect Effects 0.000 claims abstract description 101
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 239000003999 initiator Substances 0.000 description 3
- 238000013481 data capture Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011143 downstream manufacturing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及数据同步技术领域,公开了一种基于算子链的数据同步方法、装置、设备及存储介质,所述方法包括基于预设数据拉取模式,确定待同步对象;对待同步对象配置起始算子和结尾算子,生成算子链;基于源端数据库与目标数据库的距离,将算子链中各算子分配到工作节点中;通过工作节点与算子链,将源端数据库中的待同步对象同步至目标数据库。根据上述方式,本申请根据流模式与批模式确定对应的待同步对象后,针对待同步对象配置算子以生成算子链。根据源端数据库与目标数据库的距离将算子分配至工作节点后,实现了将源端数据库中的待同步对象同步至目标数据库中,提高了数据同步过程的效率。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种基于算子链的数据同步方法、装置、设备及存储介质。
背景技术
随着数字化转型进程加速,云计算正逐渐成为经济社会运行的数字化业务平台。全球政府和企业的云计算市场渗透率逐年上升,云计算用户已经遍及互联网、政务、金融、教育、制造等各个行业。在这一背景下,数据库上云的需求正在快速增加,作为数据库上云的重要桥梁,数据库同步工具的作用显得愈发重要。目前,传统的数据库同步工具大多存在如下问题:批和流架构不一致、扩展数据源苦难、且无法灵活配置数据处理逻辑以及同步速率低等问题。因此,如何提高数据同步过程的效率成为了亟待解决的技术问题。
发明内容
本申请提供了一种基于算子链的数据同步方法、装置、设备及存储介质,以提高数据同步过程的效率。
第一方面,本申请提供了一种基于算子链的数据同步方法,所述方法包括:
基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
对所述待同步对象配置起始算子和结尾算子,生成算子链;
基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
进一步地,预设数据拉取模式为所述批模式,所述基于预设数据拉取模式,确定待同步对象,包括:
获取所述源端数据库中的存量数据,根据预设标识将所述存量数据进行拆分;
将拆分后的所述存量数据作为所述待同步对象。
进一步地,预设数据拉取模式为所述流模式,所述基于预设数据拉取模式,确定待同步对象,还包括:
基于数据变更获取技术CDC,获取所述源端数据库中的增量数据;
将所述增量数据作为所述待同步对象。
进一步地,通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库之后,包括:
当所述预设数据拉取模式为所述流模式的情况下,检测同步至所述目标数据库后的所述待同步对象的第一写入顺序是否与同步前的所述增量数据的第二写入顺序相同;
在所述第一写入顺序与所述第二写入顺序相同的情况下,反馈同步完成的信号。
进一步地,算子链还包括中间算子,所述对所述待同步对象配置起始算子和结尾算子,生成算子链,包括:
在所述算子链中存在所述至少两个个中间算子的情况下,基于预设算子权重计算规则,计算各所述中间算子的中间算子权重;
将各所述中间算子权重进行降序排列,并将最高的中间算子权重对应的中间算子作为第一中间算子,其中,所述第一中间算子为最靠近所述起始算子的中间算子。
进一步地,中间算子用于接收上一个算子的输出结果,并执行对应的数据操作,其中,所述数据操作包括数据过滤、数据转换和数据合并。
进一步地,基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中,包括:
在所述源端数据库与所述目标数据库的距离超过预设距离阈值的情况下,在所述源端数据库与所述目标数据库中分别部署第一工作节点和第二工作节点;
将所述算子链拆分,并将拆分后的各算子分别分配至所述第一工作节点和所述第二工作节点。
第二方面,本申请还提供了一种基于算子链的数据同步装置,所述装置包括:
待同步对象确定模块,用于基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
算子链生成模块,用于对所述待同步对象配置起始算子和结尾算子,生成算子链;
算子分配模块,用于基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
同步模块,用于通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上述的基于算子链的数据同步方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上述的基于算子链的数据同步方法。
本申请公开了一种基于算子链的数据同步方法、装置、设备及存储介质,所述基于算子链的数据同步方法包括基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;对所述待同步对象配置起始算子和结尾算子,生成算子链;基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。根据上述方式,本申请根据流模式与批模式确定对应的待同步对象后,针对待同步对象配置算子以生成算子链。根据源端数据库与目标数据库的距离将算子分配至工作节点后,实现了将源端数据库中的待同步对象同步至目标数据库中,提高了数据同步过程的效率。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的第一实施例提供的一种基于算子链的数据同步方法的示意流程图;
图2是本申请的第二实施例提供的一种基于算子链的数据同步方法的示意流程图;
图3为本申请的实施例提供的一种基于算子链的数据同步装置的示意性框图;
图4为本申请的实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种基于算子链的数据同步方法、装置、设备及存储介质。其中,该基于算子链的数据同步方法可以应用于服务器中,根据流模式与批模式确定对应的待同步对象后,针对待同步对象配置算子以生成算子链。根据源端数据库与目标数据库的距离将算子分配至工作节点后,实现了将源端数据库中的待同步对象同步至目标数据库中,提高了数据同步过程的效率。其中,该服务器可以为独立的服务器,也可以为服务器集群。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请的第一实施例提供的一种基于算子链的数据同步方法的示意流程图。该基于算子链的数据同步方法可应用于服务器中,根据流模式与批模式确定对应的待同步对象后,针对待同步对象配置算子以生成算子链。根据源端数据库与目标数据库的距离将算子分配至工作节点后,实现了将源端数据库中的待同步对象同步至目标数据库中,提高了数据同步过程的效率。
如图1所示,该基于算子链的数据同步方法具体包括步骤S10至步骤S40。
步骤S10、基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
在一个实施例中,批模式表示对源端数据库的存量数据进行分批拉取,流模式表示对源端数据的新增的数据通过CDC技术(Change Data Capture,变更数据获取)进行拉取。
步骤S20、对所述待同步对象配置起始算子和结尾算子,生成算子链;
在一个实施例中,起始算子的作用是负责从源端数据库拉取数据,分为批模式和流模式两种。批模式是通过唯一标识如主键,将一个表或者集合进行拆分,将表或者集合的存量数据从源端数据库拉取出来。流模式是基于CDC技术,将新增的数据拉取出来。起始算子对外提供了一套接口,用户可实现这套接口,实现自己的起始算子,并通过配置参数,动态地接入应用本实施例的系统中。
在一个实施例中,结尾算子主要是基于数据库驱动将数据写到目标数据库中,为了提升写入效率,结尾算子采用批量插入的方式写入数据。对于CDC增量数据,数据的写入顺序是有要求的,逻辑语义上要和源端数据库的写入顺序一致,因此,对于流模式产生的数据,内置的结尾算子是以表或者集合为单位来并发写入数据,除此以外,用户可实现结尾算子对外提供的接口,根据不同的数据库类型,自定义不同的并发策略。
步骤S30、基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
在一个实施例中,当源端数据库和目标数据库的距离较长时,可在源端数据库和目标数据库分别部署一个工作节点,然后控制节点将算子链拆分并调度到这两个节点中,中间算子的数据传输会先经过压缩再传输到另一个工作节点,该节点接收到数据后先进行解压,然后再执行后面的流程。
步骤S40、通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
本实施例公开了一种基于算子链的数据同步方法、装置、设备及存储介质,所述基于算子链的数据同步方法包括基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;对所述待同步对象配置起始算子和结尾算子,生成算子链;基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。根据上述方式,本申请根据流模式与批模式确定对应的待同步对象后,针对待同步对象配置算子以生成算子链。根据源端数据库与目标数据库的距离将算子分配至工作节点后,实现了将源端数据库中的待同步对象同步至目标数据库中,提高了数据同步过程的效率。
基于图1所示实施例,本实施例中,步骤S10包括:
获取所述源端数据库中的存量数据,根据预设标识将所述存量数据进行拆分;
将拆分后的所述存量数据作为所述待同步对象。
在一个实施例中,批模式是通过唯一标识如主键,将一个表或者集合进行拆分,将表或者集合的存量数据从源端数据库拉取出来。
基于图1所示实施例,本实施例中,步骤S10还包括:
基于数据变更获取技术CDC,获取所述源端数据库中的增量数据;
将所述增量数据作为所述待同步对象。
在一个实施例中,流模式是基于CDC技术,将新增的数据拉取出来。
变化数据捕获是指识别和捕获对数据库中的数据所做的更改(包括数据或数据表的插入、更新、删除等),然后将这些更改按发生的顺序完整记录下来,并实时通过消息中间件传送到下游流程或系统的过程。通过这种方式,CDC能够向数据仓库提供高效、低延迟的数据传输,以便信息被及时转换并交付给专供分析的应用程序。
基于上述实施例,本实施例中,通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库之后,包括:
当所述预设数据拉取模式为所述流模式的情况下,检测同步至所述目标数据库后的所述待同步对象的第一写入顺序是否与同步前的所述增量数据的第二写入顺序相同;
在所述第一写入顺序与所述第二写入顺序相同的情况下,反馈同步完成的信号。
在一个实施例中,对于CDC增量数据,数据的写入顺序是有要求的,逻辑语义上要和源端数据库的写入顺序一致,因此,对于流模式产生的数据,内置的结尾算子是以表或者集合为单位来并发写入数据。
请参阅图2,图2是本申请的第二实施例提供的一种基于算子链的数据同步方法的示意流程图。该基于算子链的数据同步方法可应用于服务器中,根据流模式与批模式确定对应的待同步对象后,针对待同步对象配置算子以生成算子链。根据源端数据库与目标数据库的距离将算子分配至工作节点后,实现了将源端数据库中的待同步对象同步至目标数据库中,提高了数据同步过程的效率。
基于图1所示实施例,本实施例如图2所示,步骤S20包括步骤S201至步骤S202。
步骤S201、在所述算子链中存在所述至少两个个中间算子的情况下,基于预设算子权重计算规则,计算各所述中间算子的中间算子权重;
步骤S202、将各所述中间算子权重进行降序排列,并将最高的中间算子权重对应的中间算子作为第一中间算子,其中,所述第一中间算子为最靠近所述起始算子的中间算子。
在一个实施例中,中间算子主要是执行数据过滤、转换、合并等操作,中间算子接收上一个算子的输出结果,然后执行本算子特定的数据处理逻辑,然后传给下一个算子。目前提供多个内置的中间算子,包括条件过滤、DML(Data Manipulation Language)类型过滤、DDL(Data Definition Language)过滤、数据类型转换、库表列名映射、主键合并、加密以及压缩等
每个中间算子都有一个权重值,权重值越大,越靠近起始算子。权重设置规则如下:数据会减少的算子权重越大,如where条件过滤算子,提前将不需要的数据进行过滤,减少后面算子需要处理的数据量。
基于图2所示实施例,本实施例中,中间算子用于接收上一个算子的输出结果,并执行对应的数据操作,其中,所述数据操作包括数据过滤、数据转换和数据合并。
基于上述任一实施例,本实施例中,步骤S30包括:
在所述源端数据库与所述目标数据库的距离超过预设距离阈值的情况下,在所述源端数据库与所述目标数据库中分别部署第一工作节点和第二工作节点;
将所述算子链拆分,并将拆分后的各算子分别分配至所述第一工作节点和所述第二工作节点。
请参阅图3,图3是本申请的实施例提供一种基于算子链的数据同步装置的示意性框图,该基于算子链的数据同步装置用于执行前述的基于算子链的数据同步方法。其中,该基于算子链的数据同步装置可以配置于服务器。
如图3所示,该基于算子链的数据同步装置,包括:
待同步对象确定模块410,用于基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
算子链生成模块420,用于对所述待同步对象配置起始算子和结尾算子,生成算子链;
算子分配模块430,用于基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
同步模块440,用于通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
进一步地,所述待同步对象确定模块410包括:
批模式单元,用于获取所述源端数据库中的存量数据,根据预设标识将所述存量数据进行拆分;
第一待同步对象确定单元,用于将拆分后的所述存量数据作为所述待同步对象。
进一步地,所述待同步对象确定模块410包括:
流模式单元,用于基于数据变更获取技术CDC,获取所述源端数据库中的增量数据;
第二待同步对象确定单元,用于将所述增量数据作为所述待同步对象。
进一步地,所述基于算子链的数据同步装置还包括:
写入顺序检测模块,用于当所述预设数据拉取模式为所述流模式的情况下,检测同步至所述目标数据库后的所述待同步对象的第一写入顺序是否与同步前的所述增量数据的第二写入顺序相同;
同步完成反馈模块,用于在所述第一写入顺序与所述第二写入顺序相同的情况下,反馈同步完成的信号。
进一步地,所述算子链生成模块420,包括:
中间算子权重计算单元,用于在所述算子链中存在所述至少两个个中间算子的情况下,基于预设算子权重计算规则,计算各所述中间算子的中间算子权重;
中间算子权重排列单元,用于将各所述中间算子权重进行降序排列,并将最高的中间算子权重对应的中间算子作为第一中间算子,其中,所述第一中间算子为最靠近所述起始算子的中间算子。
进一步地,所述算子分配模块430包括:
工作节点部署单元,用于在所述源端数据库与所述目标数据库的距离超过预设距离阈值的情况下,在所述源端数据库与所述目标数据库中分别部署第一工作节点和第二工作节点;
算子链拆分单元,用于将所述算子链拆分,并将拆分后的各算子分别分配至所述第一工作节点和所述第二工作节点。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请的实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器。
参阅图4,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种基于算子链的数据同步方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种基于算子链的数据同步方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
对所述待同步对象配置起始算子和结尾算子,生成算子链;
基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
在一个实施例中,预设数据拉取模式为所述批模式,所述基于预设数据拉取模式,确定待同步对象,用于实现:
获取所述源端数据库中的存量数据,根据预设标识将所述存量数据进行拆分;
将拆分后的所述存量数据作为所述待同步对象。
在一个实施例中,预设数据拉取模式为所述流模式,所述基于预设数据拉取模式,确定待同步对象,还用于实现:
基于数据变更获取技术CDC,获取所述源端数据库中的增量数据;
将所述增量数据作为所述待同步对象。
在一个实施例中,通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库之后,用于实现:
当所述预设数据拉取模式为所述流模式的情况下,检测同步至所述目标数据库后的所述待同步对象的第一写入顺序是否与同步前的所述增量数据的第二写入顺序相同;
在所述第一写入顺序与所述第二写入顺序相同的情况下,反馈同步完成的信号。
在一个实施例中,算子链还包括中间算子,所述对所述待同步对象配置起始算子和结尾算子,生成算子链,用于实现:
在所述算子链中存在所述至少两个个中间算子的情况下,基于预设算子权重计算规则,计算各所述中间算子的中间算子权重;
将各所述中间算子权重进行降序排列,并将最高的中间算子权重对应的中间算子作为第一中间算子,其中,所述第一中间算子为最靠近所述起始算子的中间算子。
在一个实施例中,基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中,用于实现:
在所述源端数据库与所述目标数据库的距离超过预设距离阈值的情况下,在所述源端数据库与所述目标数据库中分别部署第一工作节点和第二工作节点;
将所述算子链拆分,并将拆分后的各算子分别分配至所述第一工作节点和所述第二工作节点。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请实施例提供的任一项基于算子链的数据同步方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于算子链的数据同步方法,其特征在于,所述基于算子链的数据同步方法包括:
基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
对所述待同步对象配置起始算子和结尾算子,生成算子链;
基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
2.根据权利要求1所述的基于算子链的数据同步方法,其特征在于,所述预设数据拉取模式为所述批模式,所述基于预设数据拉取模式,确定待同步对象,包括:
获取所述源端数据库中的存量数据,根据预设标识将所述存量数据进行拆分;
将拆分后的所述存量数据作为所述待同步对象。
3.根据权利要求1或2中任一项所述的基于算子链的数据同步方法,其特征在于,所述预设数据拉取模式为所述流模式,所述基于预设数据拉取模式,确定待同步对象,还包括:
基于数据变更获取技术CDC,获取所述源端数据库中的增量数据;
将所述增量数据作为所述待同步对象。
4.根据权利要求3所述的基于算子链的数据同步方法,其特征在于,所述通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库之后,包括:
当所述预设数据拉取模式为所述流模式的情况下,检测同步至所述目标数据库后的所述待同步对象的第一写入顺序是否与同步前的所述增量数据的第二写入顺序相同;
在所述第一写入顺序与所述第二写入顺序相同的情况下,反馈同步完成的信号。
5.根据权利要求1所述的基于算子链的数据同步方法,其特征在于,所述算子链还包括中间算子,所述对所述待同步对象配置起始算子和结尾算子,生成算子链,包括:
在所述算子链中存在所述至少两个个中间算子的情况下,基于预设算子权重计算规则,计算各所述中间算子的中间算子权重;
将各所述中间算子权重进行降序排列,并将最高的中间算子权重对应的中间算子作为第一中间算子,其中,所述第一中间算子为最靠近所述起始算子的中间算子。
6.根据权利要求5所述的基于算子链的数据同步方法,其特征在于,所述中间算子用于接收上一个算子的输出结果,并执行对应的数据操作,其中,所述数据操作包括数据过滤、数据转换和数据合并。
7.根据权利要求1至6中任一项所述的基于算子链的数据同步方法,其特征在于,所述基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中,包括:
在所述源端数据库与所述目标数据库的距离超过预设距离阈值的情况下,在所述源端数据库与所述目标数据库中分别部署第一工作节点和第二工作节点;
将所述算子链拆分,并将拆分后的各算子分别分配至所述第一工作节点和所述第二工作节点。
8.一种基于算子链的数据同步装置,其特征在于,包括:
待同步对象确定模块,用于基于预设数据拉取模式,确定待同步对象,其中,所述基于预设数据拉取模式包括批模式和/或流模式;
算子链生成模块,用于对所述待同步对象配置起始算子和结尾算子,生成算子链;
算子分配模块,用于基于源端数据库与目标数据库的距离,将所述算子链中各算子分配到工作节点中;
同步模块,用于通过所述工作节点与所述算子链,将所述源端数据库中的所述待同步对象同步至所述目标数据库。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的基于算子链的数据同步方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的基于算子链的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311697732.6A CN117891877A (zh) | 2023-12-12 | 2023-12-12 | 基于算子链的数据同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311697732.6A CN117891877A (zh) | 2023-12-12 | 2023-12-12 | 基于算子链的数据同步方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117891877A true CN117891877A (zh) | 2024-04-16 |
Family
ID=90638443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311697732.6A Pending CN117891877A (zh) | 2023-12-12 | 2023-12-12 | 基于算子链的数据同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117891877A (zh) |
-
2023
- 2023-12-12 CN CN202311697732.6A patent/CN117891877A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831562B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
US10061858B2 (en) | Method and apparatus for processing exploding data stream | |
CN112527848B (zh) | 基于多数据源的报表数据查询方法、装置、系统及存储介质 | |
CN104516989B (zh) | 增量数据推送系统和方法 | |
US20160283610A1 (en) | Hybrid flows containing a continous flow | |
CN107807815B (zh) | 分布式处理任务的方法和装置 | |
CN110716802B (zh) | 一种跨集群的任务调度系统及方法 | |
US20180248934A1 (en) | Method and System for a Scheduled Map Executor | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
CN106126601A (zh) | 一种社保大数据分布式预处理方法及系统 | |
US9659072B2 (en) | Creation of change-based data integration jobs | |
US11003635B2 (en) | Database scheme for storing generic data | |
US10102098B2 (en) | Method and system for recommending application parameter setting and system specification setting in distributed computation | |
CN111949832A (zh) | 批量作业依赖关系的解析方法及装置 | |
CN107085613A (zh) | 入库文件的过滤方法和装置 | |
Bala et al. | Big-ETL: extracting-transforming-loading approach for Big Data | |
CN113672692B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN112541513B (zh) | 一种模型训练方法、装置、设备及存储介质 | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
CN104991836A (zh) | 恢复数据库的方法、装置及数据库服务器 | |
CN112948494A (zh) | 数据同步方法、装置、电子设备和计算机可读介质 | |
CN112037003A (zh) | 文件对账处理方法及装置 | |
KR102246079B1 (ko) | 클라우드 중심 IoT를 위한 멀티 모달 센서 데이터 획득 및 동기화 시스템과 이의 실행 방법 | |
CN110196880B (zh) | 异构数据库数据同步方法和装置、存储介质及电子装置 | |
CN117891877A (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 |