CN115858673A - 数据同步方法、装置、计算机设备和存储介质 - Google Patents
数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115858673A CN115858673A CN202211536282.8A CN202211536282A CN115858673A CN 115858673 A CN115858673 A CN 115858673A CN 202211536282 A CN202211536282 A CN 202211536282A CN 115858673 A CN115858673 A CN 115858673A
- Authority
- CN
- China
- Prior art keywords
- data
- initial
- position information
- initial data
- deduplication
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据同步方法、装置、计算机设备、存储介质和计算机程序产品。所述方法包括:实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息;对多个初始数据进行去重处理,得到去重数据;基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系;将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。本方法通过对初始数据去重处理,可以避免同步重复数据,提高数据同步的效率,减少资源浪费。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种数据同步方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着互联网的业务多样化的发展,业务场景中通常需要使用异步消息队列Kafka将数据实时传输到下游系统进行处理,但每个业务场景通常对应有多个数据中心,每个数据中心都会有自己的Kafka集群。
传统技术中,一般使用Kafka消费者与生产者从源Kafka集群进行消费然后写入到目标Kafka集群,或采用Kafka Mirror Maker工具来进行Kafka集群间的数据同步。
然而,传统技术中Kafka读取与写入未做到一个事务中,在源Kafka集群不可用或Mirror Maker程序崩溃时,可能在目标Kafka集群会出现同一数据的重复同步,不能满足某些业务场景中的数据需要保证精准一次的需求。
发明内容
基于此,有必要针对上述技术问题,提供一种能够避免同步重复数据的数据同步方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种数据同步方法。所述方法包括:
实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息;
对多个初始数据进行去重处理,得到去重数据;
基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系;
将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
在其中一个实施例中,初始集群中多个数据包括数据标识;实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息,包括:
实时获取目标数据标识,将目标数据标识与初始集群中多个数据的数据标识进行标识匹配;
当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据;
按照预设周期获取初始数据对应的位置信息。
在其中一个实施例中,对多个初始数据进行去重处理之前,还包括:
将多个初始数据按照预设写入方式写入第一缓存器;其中,多个初始数据在第一缓存器内的顺序与多个初始数据在初始集群中的顺序相一致。
在其中一个实施例中,对多个初始数据进行去重处理,得到去重数据,包括:
基于多个初始数据对应的位置信息,将位置信息相同的多个初始数据作为重复数据,对重复数据进行去重处理,得到去重数据。
在其中一个实施例中,上述方法还包括:
实时获取同步到目标集群的去重数据,作为中间数据,并将中间数据存储到第二缓存器。
在其中一个实施例中,上述方法还包括:
当去重数据同步至目标集群同步失败时,获取第二缓存件中的中间数据;
基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据;
基于中间数据与去重数据的队列数据,确定同步节点;其中,同步节点是指去重数据的队列数据中等待同步的第一个去重数据。
第二方面,本申请还提供了一种数据同步装置。所述装置包括:
数据获取模块,用于实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息;
去重模块,用于对多个初始数据进行去重处理,得到去重数据;
映射关系获取模块,用于基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系;
数据同步模块,用于将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例所述方法的步骤。
第四方面,本申请还提供了一种计算机设备可读存储介质。所述计算机设备可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所述方法的步骤。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述方法的步骤。
上述数据同步方法、装置、计算机设备、存储介质和计算机程序产品,首先,实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息。然后,对多个初始数据进行去重处理,得到去重数据。进一步,基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系。最后,将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。通过对初始数据去重处理,可以避免同步重复数据,提高数据同步的效率,减少资源浪费。
附图说明
图1为一个实施例中数据同步方法的应用环境图;
图2为一个实施例中数据同步方法的流程示意图;
图3为一个实施例中将数据中心A的数据同步至数据中心B的流程示意图;
图4为一个实施例中数据同步装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的数据同步方法,可以应用于如图1所示的应用环境中。其中,初始集群102与目标集群106分别通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以放在云上或其他网络服务器上。服务器104实时获取初始集群102的多个初始数据,并周期性获取多个初始数据对应的位置信息。然后,服务器104可以对多个初始数据进行去重处理,得到去重数据。进一步,服务器104基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系。最后,服务器104可以将去重数据与位置信息的映射关系,以及去重数据同步至目标集群106。其中,初始集群102和目标集群106可以是Kafka集群;服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例提供的数据同步方法,可以应用于包括多个集群和服务器系统,通过集群与服务器的交互实现。
在一个实施例中,如图2所示,提供了一种数据同步方法,以该方法应用于图1中的包括1个初始集群、1个目标集群和服务器的系统为例进行说明,包括以下步骤202至步骤208。
步骤202,实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息。
在本实施例中,初始数据对应的位置信息可以包括但不限于:主题(Topic)、分区(Partition)、队列位置等。其中,Topic可以包括但不限于体育、娱乐、教育等分类,在实际应用中通常一个业务对应一个Topic。
在本实施例中,每个Topic中的数据可以划分为多个Partition,每个Partition中的数据可以作为一个队列。
在另一个实施例中,Partition可以视作一个先入先出的数据队列。
在本实施例中,初始数据可以携带有位置信息,服务器可以周期性的对已获取的初始数据进行查询,得到上述初始数据对应的位置信息。
在本实施例中,服务器可以基于位置信息中Topic、Partition和队列位置确定初始数据的位置,例如,当初始数据对应为位置信息为:Topic对应为教育、Partition对应为第一分区、队列位置为3时,可以确定该初始数据为教育分类对应的业务数据中第一分区内队列排序为3的数据。
在本实施例中,通过周期性获取多个初始数据对应的位置信息,可以周期性同步初始集群中数据即其对应的位置信息的映射关系,可以减少集群间传送的数据量,提高数据同步的效率。
步骤204,对多个初始数据进行去重处理,得到去重数据。
在本实施例中,服务器可以基于多个初始数据对应的位置信息对多个初始数据进行去重处理,去除重复的初始数据。其中,重复的初始数据是指位置信息相同初始数据。
步骤206,基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系。
在本实施例中,位置信息中包括初始数据在Partition中的队列位置。
在本实施例中,服务器可以基于初始数据所在的Topic、Partition以及在Partition中的顺序,以及初始数据与去重数据的数据顺序对应关系,确定去重数据所在的Topic、Partition以及在Partition中的顺序。例如,当服务器实时获取到初始数据1、初始数据2和初始数据3,其中初始数据1的位置信息为{Topic1,Partition1,队列位置2},初始数据2的位置信息为{Topic1,Partition1,队列位置2},初始数据3的位置信息为{Topic1,Partition1,队列位置1}时,经过去重处理,得到去重数据1(对应初始数据1或初始数据2)和去重数据2(对应初始数据3),则此时去重数据1对应的位置信息为{Topic1,Partition1,队列位置2},去重数据2对应的位置信息为{Topic1,Partition1,队列位置1}。
步骤208,将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
在本实施例中,服务器还可以将多个初始数据对应的位置信息同步至目标集群,再基于去重数据与位置信息的映射关系对已同步至目标集群的多个位置信息进行去重,可以提高集群切换时数据对应的位置信息的更新效率。
在本实施例中,服务器可以通过Flink对多个初始数据对应的位置信息进行存储。其中,Flink引入了State(状态)和CheckPoint(检查站)机制,其中State就是Flink的一种基于内存的状态机制。
在本实施例中,服务器可以将多个初始数据对应的位置信息存储在Flink的State中并设置存储有效期。
上述数据同步方法中,首先,实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息。然后,对多个初始数据进行去重处理,得到去重数据。进一步,基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系。最后,将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。通过对初始数据去重处理,可以避免同步重复数据,提高数据同步的效率,减少资源浪费。
在一些实施例中,初始集群中多个数据包括数据标识;实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息,可以包括:实时获取目标数据标识,将目标数据标识与初始集群中多个数据的数据标识进行标识匹配;当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据;按照预设周期获取初始数据对应的位置信息。
在本实施例中,消费者(Consumer)是用于向服务器请求消息的客户端应用程序,生产者(Producer)是用于向服务器发布消息的应用程序。
在本实施例中,服务器可以接收生产者发布的消息,接收消费者发送的请求消息,请求消息可以包括但不限于:目标数据标识。
在本实施例中,服务器可以实时获取生产者发布的多个数据,基于消费者发送的请求消息中的目标数据标识,将目标数据标识与生产者发布的多个数据的数据标识进行标识匹配,当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据。
在另一个实施例中,消费者发送的请求消息还可以包括:目标数据位置信息。服务器可以获取初始集群中多个数据的位置信息,将初始集群中多个数据的位置信息与目标数据位置信息进行匹配,当位置信息匹配成功时,将匹配成功的位置信息对应的数据作为初始数据。其中,目标数据位置信息可以包括指定的Topic、Partition和队列位置等。例如,当目标数据位置信息为{Topic1,Partition1,队列位置5}、{Topic1,Partition3,队列位置1}时,服务器可以获取初始集群中位置信息为{Topic1,Partition1,队列位置5}、{Topic1,Partition3,队列位置1}的数据作为初始数据。
在本实施例中,服务器可以使用Flink source(数据源)算子读取初始集群中多个初始数据。
在一些实施例中,对多个初始数据进行去重处理之前,还可以包括:将多个初始数据按照预设写入方式写入第一缓存器;其中,多个初始数据在第一缓存器内的顺序与多个初始数据在初始集群中的顺序相一致。
在本实施例中,如图3所示,服务器可以使用Flink source算子将多个初始数据写入目标集群的第一缓冲器Temp_B中。
在本实施例中,如图3所示,当服务器将数据从数据中心A同步至数据中心B时,服务器可以设置Kafka消息,指定parition的写入方式使得写入Temp_B的partition与Topic_A的partition一一对应,使数据在Temp_B中保持与Topic_A各个partition中顺序一致。
在一些实施例中,对多个初始数据进行去重处理,得到去重数据,可以包括:基于多个初始数据对应的位置信息,将位置信息相同的多个初始数据作为重复数据,对重复数据进行去重处理,得到去重数据。
在本实施例中,位置信息可以包括但不限于:主题(Topic)、分区(Partition)、队列位置等。其中,Topic可以包括但不限于体育、娱乐、教育等分类,在实际应用中通常一个业务对应一个Topic。
在本实施例中,每个Topic中的数据可以划分为多个Partition,每个Partition中的数据可以作为一个队列。
在另一个实施例中,Partition可以视作一个先入先出的数据队列。
在一些实施例中,上述方法还可以包括:实时获取同步到目标集群的去重数据,作为中间数据,并将中间数据存储到第二缓存器。
在本实施例中,第二缓存器可以是Flink引入的CheckPoint(检查站)机制。
在本实施例中,服务器可以实时获取同步成功的去重数据,作为中间数据。例如,当去重数据的同步队列为{去重数据1,去重数据2,去重数据3},去重数据同步的顺序为:去重数据1,去重数据2,去重数据3,且去重数据1已同步成功,去重数据2已同步成功,去重数据3尚未同步成功或已同步失败时,中间数据为:去重数据2。
在一些实施例中,上述方法还可以包括:当去重数据同步至目标集群同步失败时,获取第二缓存件中的中间数据;基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据;基于中间数据与去重数据的队列数据,确定同步节点;其中,同步节点是指去重数据的队列数据中等待同步的第一个去重数据。
在本实施例中,服务器可以对第二缓存器设置存储有效期,基于存储有效期对第二缓存器中存储的多个中间数据进行删除。例如,当存储有效期为20小时时,当一中间数据存储至第二缓存器达到了20小时,则删除第二缓存器中该中间数据。通过存储有效期的设置,可以定期清理第二缓存器中的数据,可以减少存储数据量,节约存储资源。
在本实施例中,当去重数据同步至目标集群同步失败时,获取第二缓存件中的最后记录的中间数据。例如,当第二缓存件中存储有多个中间数据,基于多个中间数据的存储时间,获取与当前时刻最接近的时刻所对应的中间数据。
在本实施例中,服务器可以基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据。例如,当服务器实时获取到初始数据1、初始数据2和初始数据3,其中初始数据1的位置信息为{Topic1,Partition1,队列位置1},初始数据2的位置信息为{Topic1,Partition1,队列位置2},初始数据3的位置信息为{Topic1,Partition2,队列位置1}时,则初始数据可以分为队列1和队列2,其中,队列1为Topic1中Partition1内队列:初始数据1,初始数据2;队列2为Topic1中Partition2内队列:初始数据3。经过去重处理,得到去重数据1(对应初始数据1)、去重数据2(对应初始数据2),以去重数据3(对应初始数据3),那么,基于初始数据与去重数据的数据顺序对应关系,可以确定去重数据存在队列11和队列12,其中,队列11为Topic1中Partition1内队列:去重数据1,去重数据2;队列12为Topic1中Partition2内队列:去重数据3。
在本实施例中,服务器可以基于第二缓存件中的最后记录的中间数据,以及去重数据的队列数据,确定同步节点。例如,当去重数据同步至目标集群同步失败,去重数据的同步队列为{去重数据1,去重数据2,去重数据3},且去重数据同步的顺序为:去重数据1,去重数据2,去重数据3时,获取第二缓存件中的最后记录的中间数据。若第二缓存件中的最后记录的中间数据为去重数据1,那么,服务器重新开始数据同步时将从去重数据2开始数据同步,即已同步成功的数据不会再重复同步,未同步成功的数据也不会丢失。
在另一个实施例中,如图3所示,服务器可以通过Flink source算子初始K集群的consumer_offsets Topic中读取出初始集群中所有消费者组信息,并通过Flink窗口机制周期性地将消费者组信息发送到目标集群的consumer_offset Topic中,通过对目标集群中的consumer_offset topic设置清理策略设置来减少存储数据量。
在另一个实施例中,如图3所示,服务器可以使用一个消费者消费目标集群同步的consumer_offset Topic(消费者偏移量主题),获取到对应消费者组在初始集群中Topic中每个partition的队列位置。然后使用另一个消费者消费目标集群的offset_map Topic(偏移映射主题),获取到最新的位置映射信息,然后通过offset(偏移量)的差值计算出新的offset给到消费者,使得消费者可以从断点处(即当去重数据同步至目标集群同步失败时)继续消费。
在一个实施例中,如图3所示,当服务器将数据从数据中心A同步至数据中心B时,服务器可以将数据中心A的Topic_A中的初始数据同步至数据中心B的Topic_A中,具体包括以下步骤:首先,通过源数据同步模块将数据中心A的Topic_A中的初始数据数据同步至数据中心B的Temp_B中,通过源数据同步模块将数据中心A的__consumer_offset中对应初始数据的位置信息数据同步至数据中心B的consumer_offset中。然后,读取数据中心B的Temp_B中多个初始数据,通过数据去重模块对上述多个初始数据去重写入数据中心B的Topic_A中(即通过数据去重模块对上述多个初始数据进行数据去重,得到去重数据,将去重数据写入数据中心B的Topic_A中),并基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系,将去重数据与位置信息的映射关系(offset映射)写入数据中心B的map_offset。
在本实施例中,数据中心A的Topic_A中的初始数据是A数据中心的生产者发送的,数据中心A的__consumer_offset中位置信息是由A数据中心的消费者提交的。
在本实施例中,服务器还可以将数据中心B的Topic_A的去重数据发送至B数据中心的消费者。
在本实施例中,服务器还可以基于数据中心B的consumer_offset以及map_offset,通过消费者组offset计算模块确定数据中心B中对个去重数据对应的位置信息。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的数据同步方法的数据同步装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据同步装置实施例中的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。
在一个实施例中,如图4所示,提供了一种数据同步装置,包括:数据获取模块402、去重模块404、映射关系获取模块406和数据同步模块408,其中:
数据获取模块402,用于实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息。
去重模块404,用于对多个初始数据进行去重处理,得到去重数据。
映射关系获取模块406,用于基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系。
数据同步模块408,用于将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
在其中一个实施例中,初始集群中多个数据包括数据标识;数据获取模块402可以包括:
标识匹配子模块,用于实时获取目标数据标识,将目标数据标识与初始集群中多个数据的数据标识进行标识匹配。
初始数据确定子模块,用于当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据。
位置信息获取子模块,用于按照预设周期获取初始数据对应的位置信息。
在其中一个实施例中,去重模块404之前,上述装置还可以包括:
第一写入模块,用于将多个初始数据按照预设写入方式写入第一缓存器;其中,多个初始数据在第一缓存器内的顺序与多个初始数据在初始集群中的顺序相一致。
在其中一个实施例中,去重模块404可以包括:
数据去重子模块,用于基于多个初始数据对应的位置信息,将位置信息相同的多个初始数据作为重复数据,对重复数据进行去重处理,得到去重数据。
在其中一个实施例中,上述装置还可以包括:
第二写入模块,用于实时获取同步到目标集群的去重数据,作为中间数据,并将中间数据存储到第二缓存器。
在其中一个实施例中,上述装置还可以包括:
中间数据获取模块,用于当去重数据同步至目标集群同步失败时,获取第二缓存件中的中间数据。
队列数据确定模块,用于基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据。
同步节点确定模块,用于基于中间数据与去重数据的队列数据,确定同步节点;其中,同步节点是指去重数据的队列数据中等待同步的第一个去重数据。
上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储位置信息,初始数据与位置信息的映射关系等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据同步方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息;对多个初始数据进行去重处理,得到去重数据;基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系;将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
在一个实施例中,初始集群中多个数据包括数据标识,处理器执行计算机程序时还实现实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息,可以包括:实时获取目标数据标识,将目标数据标识与初始集群中多个数据的数据标识进行标识匹配;当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据;按照预设周期获取初始数据对应的位置信息。
在其中一个实施例中,处理器执行计算机程序时实现对多个初始数据进行去重处理之前,还可以包括:将多个初始数据按照预设写入方式写入第一缓存器;其中,多个初始数据在第一缓存器内的顺序与多个初始数据在初始集群中的顺序相一致。
在其中一个实施例中,处理器执行计算机程序时实现对多个初始数据进行去重处理,得到去重数据,可以包括:基于多个初始数据对应的位置信息,将位置信息相同的多个初始数据作为重复数据,对重复数据进行去重处理,得到去重数据。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:实时获取同步到目标集群的去重数据,作为中间数据,并将中间数据存储到第二缓存器。
在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:当去重数据同步至目标集群同步失败时,获取第二缓存件中的中间数据;基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据;基于中间数据与去重数据的队列数据,确定同步节点;其中,同步节点是指去重数据的队列数据中等待同步的第一个去重数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息;对多个初始数据进行去重处理,得到去重数据;基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系;将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
在一个实施例中,初始集群中多个数据包括数据标识,计算机程序被处理器执行时还实现实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息,可以包括:实时获取目标数据标识,将目标数据标识与初始集群中多个数据的数据标识进行标识匹配;当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据;按照预设周期获取初始数据对应的位置信息。
在一个实施例中,计算机程序被处理器执行时实现对多个初始数据进行去重处理之前,还可以包括:将多个初始数据按照预设写入方式写入第一缓存器;其中,多个初始数据在第一缓存器内的顺序与多个初始数据在初始集群中的顺序相一致。
在一个实施例中,计算机程序被处理器执行时实现对多个初始数据进行去重处理,得到去重数据,可以包括:基于多个初始数据对应的位置信息,将位置信息相同的多个初始数据作为重复数据,对重复数据进行去重处理,得到去重数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:实时获取同步到目标集群的去重数据,作为中间数据,并将中间数据存储到第二缓存器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当去重数据同步至目标集群同步失败时,获取第二缓存件中的中间数据;基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据;基于中间数据与去重数据的队列数据,确定同步节点;其中,同步节点是指去重数据的队列数据中等待同步的第一个去重数据。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息;对多个初始数据进行去重处理,得到去重数据;基于初始数据与位置信息的映射关系,以及初始数据与去重数据的数据顺序对应关系,得到去重数据与位置信息的映射关系;将去重数据与位置信息的映射关系,以及去重数据同步至目标集群。
在一个实施例中,初始集群中多个数据包括数据标识,计算机程序被处理器执行时还实现实时获取初始集群的多个初始数据,并周期性获取多个初始数据对应的位置信息,可以包括:实时获取目标数据标识,将目标数据标识与初始集群中多个数据的数据标识进行标识匹配;当标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据;按照预设周期获取初始数据对应的位置信息。
在一个实施例中,计算机程序被处理器执行时实现对多个初始数据进行去重处理之前,还可以包括:将多个初始数据按照预设写入方式写入第一缓存器;其中,多个初始数据在第一缓存器内的顺序与多个初始数据在初始集群中的顺序相一致。
在一个实施例中,计算机程序被处理器执行时实现对多个初始数据进行去重处理,得到去重数据,可以包括:基于多个初始数据对应的位置信息,将位置信息相同的多个初始数据作为重复数据,对重复数据进行去重处理,得到去重数据。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:实时获取同步到目标集群的去重数据,作为中间数据,并将中间数据存储到第二缓存器。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:当去重数据同步至目标集群同步失败时,获取第二缓存件中的中间数据;基于初始数据与去重数据的数据顺序对应关系,确定去重数据的队列数据;基于中间数据与去重数据的队列数据,确定同步节点;其中,同步节点是指去重数据的队列数据中等待同步的第一个去重数据。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据同步方法,其特征在于,所述方法包括:
实时获取初始集群的多个初始数据,并周期性获取多个所述初始数据对应的位置信息;
对多个所述初始数据进行去重处理,得到去重数据;
基于所述初始数据与所述位置信息的映射关系,以及所述初始数据与所述去重数据的数据顺序对应关系,得到所述去重数据与所述位置信息的映射关系;
将所述去重数据与所述位置信息的映射关系,以及所述去重数据同步至目标集群。
2.根据权利要求1所述的方法,其特征在于,所述初始集群中多个数据包括数据标识;所述实时获取初始集群的多个初始数据,并周期性获取多个所述初始数据对应的位置信息,包括:
实时获取目标数据标识,将所述目标数据标识与所述初始集群中多个数据的数据标识进行标识匹配;
当所述标识匹配成功时,将匹配成功的数据标识对应的数据作为初始数据;
按照预设周期获取所述初始数据对应的位置信息。
3.根据权利要求1所述的方法,其特征在于,所述对多个所述初始数据进行去重处理之前,还包括:
将多个所述初始数据按照预设写入方式写入第一缓存器;其中,多个所述初始数据在所述第一缓存器内的顺序与多个所述初始数据在所述初始集群中的顺序相一致。
4.根据权利要求1所述的方法,其特征在于,所述对多个所述初始数据进行去重处理,得到去重数据,包括:
基于多个所述初始数据对应的位置信息,将所述位置信息相同的多个所述初始数据作为重复数据,对所述重复数据进行去重处理,得到去重数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
实时获取同步到所述目标集群的所述去重数据,作为中间数据,并将所述中间数据存储到第二缓存器。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述去重数据同步至所述目标集群同步失败时,获取所述第二缓存件中的所述中间数据;
基于所述初始数据与所述去重数据的数据顺序对应关系,确定所述去重数据的队列数据;
基于所述中间数据与所述去重数据的队列数据,确定同步节点;其中,所述同步节点是指所述去重数据的队列数据中等待同步的第一个所述去重数据。
7.一种数据同步装置,其特征在于,所述装置包括:
数据获取模块,用于实时获取初始集群的多个初始数据,并周期性获取多个所述初始数据对应的位置信息;
去重模块,用于对多个所述初始数据进行去重处理,得到去重数据;
映射关系获取模块,用于基于所述初始数据与所述位置信息的映射关系,以及所述初始数据与所述去重数据的数据顺序对应关系,得到所述去重数据与所述位置信息的映射关系;
数据同步模块,用于将所述去重数据与所述位置信息的映射关系,以及所述去重数据同步至目标集群。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211536282.8A CN115858673A (zh) | 2022-12-02 | 2022-12-02 | 数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211536282.8A CN115858673A (zh) | 2022-12-02 | 2022-12-02 | 数据同步方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115858673A true CN115858673A (zh) | 2023-03-28 |
Family
ID=85669234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211536282.8A Pending CN115858673A (zh) | 2022-12-02 | 2022-12-02 | 数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115858673A (zh) |
-
2022
- 2022-12-02 CN CN202211536282.8A patent/CN115858673A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309218B (zh) | 一种数据交换系统和数据写入方法 | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US9367598B2 (en) | Merging an out of synchronization indicator and a change recording indicator in response to a failure in consistency group formation | |
CN106649828B (zh) | 一种数据查询方法及系统 | |
CN108509462B (zh) | 一种同步活动事务表的方法及装置 | |
US11436139B2 (en) | Object storage change-events | |
CN109144416B (zh) | 查询数据的方法和装置 | |
US11397749B2 (en) | Asynchronous replication of in-scope table data | |
CN104978151A (zh) | 基于应用感知的重复数据删除存储系统中的数据重构方法 | |
CN107451013B (zh) | 基于分布式系统的数据恢复方法、装置及系统 | |
US8423517B2 (en) | System and method for determining the age of objects in the presence of unreliable clocks | |
CN104584524A (zh) | 聚合中介系统中的数据 | |
US11422721B2 (en) | Data storage scheme switching in a distributed data storage system | |
CN105900093A (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN111930716A (zh) | 一种数据库扩容方法、装置及系统 | |
CN107038092B (zh) | 一种数据复制方法及装置 | |
EP3264254B1 (en) | System and method for a simulation of a block storage system on an object storage system | |
CN107566341B (zh) | 一种基于联邦分布式文件存储系统的数据持久化存储方法及系统 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN116339626A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN115858673A (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
CN114416689A (zh) | 数据迁移方法、装置、计算机设备、存储介质 | |
CN108614838B (zh) | 一种用户群索引处理方法、装置及系统 | |
JP6680897B2 (ja) | 計算機システム及び分析ソースデータ管理方法 | |
CN116719821B (zh) | 一种并发数据插入Elasticsearch的排重方法、装置及存储介质 |
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 |