CN116414914A - 数据的同步方法、装置、处理器及电子设备 - Google Patents

数据的同步方法、装置、处理器及电子设备 Download PDF

Info

Publication number
CN116414914A
CN116414914A CN202310212534.XA CN202310212534A CN116414914A CN 116414914 A CN116414914 A CN 116414914A CN 202310212534 A CN202310212534 A CN 202310212534A CN 116414914 A CN116414914 A CN 116414914A
Authority
CN
China
Prior art keywords
task
data
acquisition
consumption
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310212534.XA
Other languages
English (en)
Inventor
郑海青
张仁辉
孙才婵
董怡韩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202310212534.XA priority Critical patent/CN116414914A/zh
Publication of CN116414914A publication Critical patent/CN116414914A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种数据的同步方法、装置、处理器及电子设备,该方法应用于金融科技或其他领域,该方法包括:获取待同步数据的采集任务和消费任务;将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中;通过分布式锁从多个采集节点中确定目标采集节点;将目标采集节点中存储的采集任务发送至消息队列中;通过分布式锁从多个消费节点中确定目标消费节点;若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务。通过本申请,解决了相关技术中在数据库同步增量数据的过程中因客观因素影响使同步增量数据的任务失败,导致数据库存在丢失数据的风险的问题。

Description

数据的同步方法、装置、处理器及电子设备
技术领域
本申请涉及金融科技或其他领域,具体而言,涉及一种数据的同步方法、装置、处理器及电子设备。
背景技术
目前,在更换企业项目的数据库时,需要一段时间将源数据的数据更新至目标数据库。在这段时间内企业项目需要继续通过源数据库提供相应的服务,所以,源数据库中会有增量数据产生。在企业项目的数据库更换完成后,需要将更换数据库产生的增量数据同步至目标数据库中。现有技术中,在将源数据库的待同步数据同步至目标数据库时,常常采用单个节点处理数据的方式同步待同步数据。但由于采用单个节点处理数据时,会出现因程序错误或网络故障使单个节点损坏,导致正在同步的待同步数据丢失,造成目标数据库存在丢失数据的风险。
针对相关技术中在数据库同步增量数据的过程中受客观因素影响使同步增量数据的任务失败,导致数据库存在丢失数据的风险的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种数据的同步方法、装置、处理器及电子设备,以解决相关技术中在数据库同步增量数据的过程中受客观因素影响使同步增量数据的任务失败,导致数据库存在丢失数据的风险的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种数据的同步方法,该方法包括:获取待同步数据的采集任务和消费任务,其中,所述采集任务包括所述待同步数据在源数据库中的数据信息,所述消费任务包括所述待同步数据在所述源数据库和目标数据库中的数据信息;将所述采集任务存储至多个采集节点中,将所述消费任务存储至多个消费节点中;通过分布式锁从所述多个采集节点中确定目标采集节点;将所述目标采集节点中存储的采集任务发送至消息队列中;通过所述分布式锁从所述多个消费节点中确定目标消费节点;若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
进一步地,通过分布式锁从所述多个采集节点中确定目标采集节点包括:创建所述多个采集节点;启动所述多个采集节点,以使所述多个采集节点中的每个采集节点开始抢占所述分布式锁;将抢占到所述分布式锁的采集节点确定为所述目标采集节点。
进一步地,获取待同步数据的采集任务和消费任务包括:从所述待同步数据中获取所述采集任务,其中,所述采集任务至少包括所述源数据库和源数据表;从所述待同步数据中获取所述消费任务,其中,所述消费任务至少包括自定义处理步骤、所述源数据库、所述源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
进一步地,通过所述分布式锁从所述多个消费节点中确定目标消费节点包括:创建所述多个消费节点;启动所述多个消费节点,以使所述多个消费节点中的每个消费节点开始抢占所述分布式锁;将抢占到所述分布式锁的消费节点确定为所述目标消费节点。
进一步地,若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中包括:若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务获取所述消费任务配置的所述自定义处理步骤;依据所述消费任务,采用所述自定义处理步骤对所述待同步数据进行处理,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
进一步地,在所述目标消费节点监听到所述消息队列中存在所述采集任务,依据所述采集任务获取所述消费任务配置的所述自定义处理步骤之前,所述方法还包括:验证所述消费任务中的所述源数据表与所述采集任务中的所述目标数据表是否一致;若所述源数据表与所述目标数据表不一致,则不再对所述消费任务进行处理;若所述源数据表与所述目标数据表一致,则获取所述消费任务配置的所述自定义处理步骤。
进一步地,在依据所述消费任务,采用所述自定义处理步骤对所述待同步数据进行处理,以将所述待同步数据从所述源数据库同步至所述目标数据库中之后,所述方法还包括:若所述目标消费节点执行所述消费任务的时间超过所述分布式锁的过期时间,则在所述分布式锁中释放所述目标消费节点,以使其它消费节点继续执行所述消费任务。
为了实现上述目的,根据本申请的另一方面,提供了一种数据的同步装置,该装置包括:获取单元,用于获取待同步数据的采集任务和消费任务,其中,所述采集任务包括所述待同步数据在源数据库中的数据信息,所述消费任务包括所述待同步数据在所述源数据库和目标数据库中的数据信息;处理单元,用于将所述采集任务存储至多个采集节点中,将所述消费任务存储至多个消费节点中;第一确定单元,用于通过分布式锁从所述多个采集节点中确定目标采集节点;发送单元,用于将所述目标采集节点中存储的采集任务发送至消息队列中;第二确定单元,用于通过所述分布式锁从所述多个消费节点中确定目标消费节点;执行单元,用于若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
进一步地,所述第一确定单元包括:第一创建子单元,用于创建所述多个采集节点;第一启动子单元,用于启动所述多个采集节点,以使所述多个采集节点中的每个采集节点开始抢占所述分布式锁;第一确定子单元,用于将抢占到所述分布式锁的采集节点确定为所述目标采集节点。
进一步地,所述获取单元包括:第一获取子单元,用于从所述待同步数据中获取所述采集任务,其中,所述采集任务至少包括所述源数据库和源数据表;第二获取子单元,用于从所述待同步数据中获取所述消费任务,其中,所述消费任务至少包括自定义处理步骤、所述源数据库、所述源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
进一步地,所述第二确定单元包括:第二创建子单元,用于创建所述多个消费节点;第二启动子单元,用于启动所述多个消费节点,以使所述多个消费节点中的每个消费节点开始抢占所述分布式锁;第二确定子单元,用于将抢占到所述分布式锁的消费节点确定为所述目标消费节点。
进一步地,所述执行单元包括:第三获取子单元,用于若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务获取所述消费任务配置的所述自定义处理步骤;第一处理子单元,用于依据所述消费任务,采用所述自定义处理步骤对所述待同步数据进行处理,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
进一步地,所述执行单元包括:判断子单元,用于在所述目标消费节点监听到所述消息队列中存在所述采集任务,依据所述采集任务获取所述消费任务配置的所述自定义处理步骤之前,验证所述消费任务中的所述源数据表与所述采集任务中的所述目标数据表是否一致;第二处理子单元,用于若所述源数据表与所述目标数据表不一致,则不再对所述消费任务进行处理;第三处理子单元,用于若所述源数据表与所述目标数据表一致,则获取所述消费任务配置的所述自定义处理步骤。
进一步地,所述执行单元包括:第四处理子单元,用于在依据所述消费任务,采用所述自定义处理步骤对所述待同步数据进行处理,以将所述待同步数据从所述源数据库同步至所述目标数据库中之后,若所述目标消费节点执行所述消费任务的时间超过所述分布式锁的过期时间,则在所述分布式锁中释放所述目标消费节点,以使其它消费节点继续执行所述消费任务。
为了实现上述目的,根据本申请的一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项所述的数据的同步方法。
为了实现上述目的,根据本申请的一个方面,提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项所述的数据的同步方法。
通过本申请,采用以下步骤:获取待同步数据的采集任务和消费任务,其中,所述采集任务包括所述待同步数据在源数据库中的数据信息,所述消费任务包括所述待同步数据在所述源数据库和目标数据库中的数据信息;将所述采集任务存储至多个采集节点中,将所述消费任务存储至多个消费节点中;通过分布式锁从所述多个采集节点中确定目标采集节点;将所述目标采集节点中存储的采集任务发送至消息队列中;通过所述分布式锁从所述多个消费节点中确定目标消费节点;若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中,解决了相关技术中在数据库同步增量数据的过程中受客观因素影响使同步增量数据的任务失败,导致数据库存在丢失数据的风险的问题。通过根据待同步数据生成采集任务和消费任务,设置多个采集节点和多个消费节点对采集任务和消费任务进行处理,提高了同步数据的效率,增加了同步数据的安全性,避免了因单点故障引起待同步数据丢失的情况出现,达到了降低数据丢失的风险的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例一提供的数据的同步方法的流程图;
图2是根据本申请实施例一提供的可选的数据的同步方法的示意图;
图3是根据本申请实施例二提供的数据的同步装置的示意图;
图4是根据本申请实施例五提供的数据的同步电子设备的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,本公开文件的处理方法、装置、处理器及电子设备确定的方法和装置可用于金融科技领域在同步数据库的增量数据的过程中,提高了数据库同步增量数据的效率,也可用于除金融科技领域之外的任意领域,本公开一种文件的处理方法、装置、处理器及电子设备的方法和装置的应用领域不做限定。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
下面结合优选的实施步骤对本发明进行说明,图1是根据本申请实施例一提供的数据的同步方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,获取待同步数据的采集任务和消费任务,其中,采集任务包括待同步数据在源数据库中的数据信息,消费任务包括待同步数据在源数据库和目标数据库中的数据信息。
在本实施例一中,为了将源数据库产生的增量数据(即待同步数据)同步到目标数据库中,需要首先获取待同步数据在源数据库中的信息,得到采集任务,然后获取待同步数据在目标数据库中的信息,得到消费任务。采集任务用于定位待同步数据在源数据库的位置,消费任务则用于指示待同步数据在源数据库和目标数据库中的位置,同时消费任务中也存储了待同步数据的数据变更情况。
步骤S102,将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中。
为了避免单个采集节点或单个消费节点出现故障导致待同步数据丢失的情况出现,在本实施例一中,将采集任务存储在多个采集节点中,同时也将消费任务存储在多个消费节点中。
步骤S103,通过分布式锁从多个采集节点中确定目标采集节点。
将采集任务存储至多个采集节点之后,需要从多个采集节点中确定执行采集任务的目标采集节点。在本实施例一中,通过多个采集节点循环抢占到分布式锁的方式确定目标采集节点,将抢占到分布式锁的采集节点确定为目标采集节点。例如,如图2所示,图2中有采集节点1、采集节点2和采集节点N,采集节点1、采集节点2和采集节点N循环抢占分布式锁,确定抢占到分布式锁的采集节点1为目标采集节点。
步骤S104,将目标采集节点中存储的采集任务发送至消息队列中。
在确定目标采集节点之后,目标采集节点执行采集任务,将目标采集节点中的采集任务发送至消息队列中。例如,如图2所示,采集节点1将采集任务发送至消息队列中。
步骤S105,通过分布式锁从多个消费节点中确定目标消费节点。
在本实施例一中,通过多个消费节点循环抢占到分布式锁的方式确定目标消费节点,以执行消费任务。例如,如图2所示,图2中有消费节点1、消费节点2和消费节点N,消费节点1、消费节点2和消费节点N循环抢占分布式锁,确定抢占到分布式锁的消费节点1为目标消费节点。消费节点1执行消费任务,以使待同步数据同步至目标数据库中。
步骤S106,若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中。
在本实施例一中,通过采集节点或消费节点抢占分布式锁的方式,在多个采集节点或多个消费节点中确定执行数据同步任务的采集节点或消费节点。若目标采集节点抢占到分布式锁,则将目标采集节点中的采集任务发送至消息队列。当目标消费节点抢占到分布式锁后,会监听消费队列中是否存在采集任务,若目标消费节点监听到消息队列中存在采集任务,则依据采集任务和消费任务中存储的数据,将待同步数据从源数据库同步至目标数据库中。
综上所述,本申请实施例一提供的数据的同步方法,通过获取待同步数据的采集任务和消费任务,其中,采集任务包括待同步数据在源数据库中的数据信息,消费任务包括待同步数据在源数据库和目标数据库中的数据信息;将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中;通过分布式锁从多个采集节点中确定目标采集节点;将目标采集节点中存储的采集任务发送至消息队列中;通过分布式锁从多个消费节点中确定目标消费节点;若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中,解决了相关技术中在数据库同步增量数据的过程中受客观因素影响使同步增量数据的任务失败,导致数据库存在丢失数据的风险的问题。通过根据待同步数据生成采集任务和消费任务,设置多个采集节点和多个消费节点对采集任务和消费任务进行处理,提高了同步数据的效率,增加了同步数据的安全性,避免了因单点故障引起待同步数据丢失的情况出现,达到了降低数据丢失的风险的效果。
可选地,在本申请实施例一提供的数据的同步方法中,通过分布式锁从多个采集节点中确定目标采集节点包括:创建多个采集节点;启动多个采集节点,以使多个采集节点中的每个采集节点开始抢占分布式锁;将抢占到分布式锁的采集节点确定为目标采集节点。
在将待同步数据同步至目标数据库的过程中,存在由于外部原因导致采集节点或消费节点出现故障的情况。若一个采集任务仅被存储在单个采集节点中,当该采集节点出现故障时,则会导致该采集节点对应的采集任务无法继续执行,导致待同步数据丢失。
为了解决在待同步数据的同步过程中,因为单个节点发生故障,导致待同步数据丢失的问题,在本实施例一中,将一个采集任务存储至多个采集节点中,以使其它未出现故障的采集节点能够继续执行该采集任务,避免数据丢失的情况出现。若待同步数据存在多个采集任务,则需要将多个采集任务中的每个采集任务存储至多个采集节点中。将采集任务分配到多个采集节点后,启动多个采集节点抢占分布式锁,确定抢占到分布式锁的节点为目标采集节点,以便目标采集节点执行目标采集节点上的采集任务。
通过将待同步数据的采集任务存储在多个采集节点中,使多个节点能够并行执行采集任务,提高了同步数据的效率,同时当单个采集节点出现故障时,其它采集节点仍然能够保证采集任务的正常执行,避免了同步数据的过程中发生待同步数据丢失的问题,达到了增加同步数据的安全性的效果。
可选地,在本申请实施例一提供的数据的同步方法中,获取待同步数据的采集任务和消费任务包括:从待同步数据中获取采集任务,其中,采集任务至少包括源数据库和源数据表;从待同步数据中获取消费任务,其中,消费任务至少包括自定义处理步骤、源数据库、源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
为了方便后续对待同步数据进行处理,在本实施例一中,需要从源数据和目标数据库中获取待同步数据的数据变更信息,得到采集任务和消费任务。
例如,在源数据库DB1的“学生”表中产生了数据变更,修改了“学生”表中“学号”为“001”的数据记录,将“学号”为“001”的数据记录对应的“姓名”字段从“张三”修改为“李四”,其中,“学号”字段是“学生”表中的主键字段,待同步数据需要从源数据库DB1同步至目标数据库DB2中。从源数据库DB1中得到的采集任务可以表示为:{任务类型:“采集任务”,源数据库:“DB1”,源数据表:“学生”,消息队列名:“消息队列1”,增量数据扫描间隔:“4h”}。其中,增量数据扫描间隔为“4h”表示每隔4小时扫描一次源数据库中的增量数据。从目标数据库得到的消费任务可以表示为:{任务类型:“消费任务”,自定义处理:[“数据类型转换”、“数据排序”],源数据库:“DB1”,源数据表:“学生”,目标数据库:“DB2”,目标数据表:“学生”,表的主键字段:“学号”,更新字段:“姓名”,消息队列名:“消息队列1”}。其中,同一个数据表产生的数据变更对应一个采集任务和一个消费任务;采集任务与消费任务中的消息队列名应保持一致,以使采集任务与消费任务可以正常执行;同一个数据表对应的采集任务和消费任务中源数据表和目标数据表应当保持一致。消费任务中的自定义处理字段还可以根据实际情况添加其它对数据的操作。消费任务中还可以新增“插入字段”,指示源数据表发生数据插入操作时在目标数据库执行的操作。另外,消费任务中还可以依据实际情况新增其它字段,以便于将源数据库中的待同步数据更新至目标数据库中。
通过从源数据库和目标数据库中获取待同步数据的采集任务和消费任务,实现了将待同步数据从源数据库准确且快速地更新至目标数据库中,并且设置了自定义处理字段,有利于在同步数据的过程中灵活地对待同步数据进行处理,提高了同步数据的效率,达到了降低数据丢失的风险的效果。
可选地,在本申请实施例一提供的数据的同步方法中,通过分布式锁从多个消费节点中确定目标消费节点包括:创建多个消费节点;启动多个消费节点,以使多个消费节点中的每个消费节点开始抢占分布式锁;将抢占到分布式锁的消费节点确定为目标消费节点。
为了解决同步数据时,因为单个节点出现故障,导致待同步数据丢失无法同步至目标数据库中的问题,在本实施例一中,将一个消费任务存储至多个消费节点中,以使其它未出现故障的消费节点能够继续执行消费任务,避免待同步数据丢失的情况发生。若待同步数据存在多个消费任务时,则需要将多个消费任务中的每个消费任务存储至多个消费节点中。在将消费任务存储在多个消费节点之后,启动多个消费节点抢占分布式锁,确定执行消费任务的目标消费节点,以便后续目标消费节点继续执行同步数据的消费任务。
通过将待同步数据的消费任务存储在多个消费节点中,允许多个消费节点并行执行消费任务,提高了同步数据的效率,同时当单个消费节点出现故障时,其它消费节点仍然能够保证消费任务的正常执行,避免了在同步数据过程中出现待同步数据丢失的问题出现,达到了增加同步数据的安全性的效果,进一步达到了降低数据丢失的风险的效果。
可选地,在本申请实施例一提供的数据的同步方法中,若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中包括:若目标消费节点监听到消息队列中存在采集任务,则依据采集任务获取消费任务配置的自定义处理步骤;依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中。
当目标消费节点发现消息队列中存在采集任务后,依据消息队列中的采集任务和目标消费节点中的消费任务在源数据库中获取待同步数据,将待同步数据同步至目标数据库中。首先,依据消息队列中的采集任务和目标消费节点中的消费任务,在源数据库中获取待同步数据。然后,对待同步数据进行预处理和数据清洗操作。接着,读取消费任务中的自定义处理字段,依据自定义处理字段中存储的值对待同步数据进行处理。若自定义处理字段中存储着多个处理操作,则依次执行多个处理操作,得到处理后的待同步数据。最后,依据采集任务和消费任务中多个字段存纯的数据,将处理后的待同步数据同步至目标数据库中。
通过监听消息队列中是否存在采集任务,使消息队列中的采集任务能够被实时地进行处理,提高了同步数据的效率,同时采用消费任务中自定义处理字段配置对待同步数据的数据处理方法,实现了灵活地处理待同步数据的效果,并且依据采集任务和消费任务处理待同步数据,达到了增强同步数据的准确性和安全性的效果,进一步达到了降低数据丢失的风险的效果。
可选地,在本申请实施例一提供的数据的同步方法中,在目标消费节点监听到消息队列中存在采集任务,依据采集任务获取消费任务配置的自定义处理步骤之前,上述的方法还包括:验证消费任务中的源数据表与采集任务中的目标数据表是否一致;若源数据表与目标数据表不一致,则不再对消费任务进行处理;若源数据表与目标数据表一致,则获取消费任务配置的自定义处理步骤。
在本实施例一中,为了将待同步数据准确地从源数据库同步至目标数据库中,需要在执行消费任务之前对消息队列中的采集任务和目标消费节点中的消费任务进行校验。若消息队列中采集任务的目标数据表与目标消费节点中消费任务的源数据表一致,则确定该采集任务和该消费任务是对同一张数据表进行修改,继续执行消费任务;若消息队列中采集任务的目标数据表与目标消费节点中消费任务的源数据表不一致,则确定该采集任务和该消费任务在对不同的数据表进行修改,该采集任务和该消费任务不属于同一个待同步数据的任务,不再继续执行该消费任务。
通过在执行目标消费节点中的消费任务之前,对消息队列中的采集任务和目标消费节点中的消费任务进行校验,避免了在采集任务和消费任务中的数据不一致的情况下同步数据的情况发生,达到了增加同步数据的准确性和安全性的效果,进一步达到了降低数据丢失的风险的效果。
可选地,在本申请实施例一提供的数据的同步方法中,在依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中之后,上述的方法还包括:若目标消费节点执行消费任务的时间超过分布式锁的过期时间,则在分布式锁中释放目标消费节点,以使其它消费节点继续执行消费任务。
在同步数据的过程中,执行同步任务的目标消费节点可能因为出现故障导致无法继续工作,而且在目标消费节点出现故障后,无法及时主动地发出消息通知其它节点继续执行目标消费节点存储的消费任务。为了在目标消费节点出现故障后,继续执行目标消费节点中存储的消费任务,在本实施例一中,在分布式锁中设置过期时间字段,对执行时间超过过期时间的目标消费节点进行处理,以降低数据丢失的风险。若目标消费节点执行消费任务的时间超过分布式锁中设置的过期时间,则在分布式锁中释放目标消费节点,以使其他消费节点能够抢占分布式锁,继续执行消费任务。由于存储在目标消费节点中的消费任务同时也存储在其它消费节点中,所以,其它节点可继续执行该消费任务,避免该消费任务对应的待同步数据丢失的问题出现。另外,当采集节点执行采集任务的时间超过分布式锁的过期时间时,也会在分布式锁中释放该采集节点,以使其它采集节点能够完成该采集任务。
通过在分布式锁中设置过期时间,能够及时地对出现故障的节点进行处理,并且利用其它消费节点继续执行未完成的消费任务,避免了因单个节点故障导致数据丢失的情况出现,达到了增加同步数据的准确性和安全性的效果,进一步达到了降低数据丢失的风险的效果。
可选地,在本实施例一中,本方案将待同步数据从源数据库同步至目标数据库的流程可以如图2所示。首先,从源数据库中获取待同步数据的采集任务(即图2中的数据采集任务),将采集任务存储至多个采集节点中(即图2中的采集节点1、采集节点2和采集节点N)。然后,采集节点循环抢占分布式锁,将抢占到分布式锁的采集节点确定为目标采集节点。接着,目标采集节点将目标采集节点中存储的采集任务发送至消息队列。然后,消费节点1抢占到分布式锁,监听到消息队列中存在采集任务,依据消息队列中的采集任务和消费节点1中的消费任务将待同步数据同步至目标数据库中。如图2所示,使用实线表示采集节点1抢占到分布式锁,将采集任务发送至消息队列,消费节点1抢占到分布式锁,执行消费任务同步数据的数据流是实际运行任务的数据流。使用虚线表示的数据流是初始化采集任务和消费任务后的待执行的数据流。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例二
本申请实施例二还提供了一种数据的同步装置,需要说明的是,本申请实施例二的数据的同步装置可以用于执行本申请实施例一所提供的用于数据的同步方法。以下对本申请实施例二提供的数据的同步装置进行介绍。
图3是根据本申请实施例二的数据的同步装置的示意图。如图3所示,该装置包括:获取单元301、处理单元302、第一确定单元303、发送单元304、第二确定单元305和执行单元306。
具体的,获取单元301,用于获取待同步数据的采集任务和消费任务,其中,采集任务包括待同步数据在源数据库中的数据信息,消费任务包括待同步数据在源数据库和目标数据库中的数据信息。
处理单元302,用于将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中。
第一确定单元303,用于通过分布式锁从多个采集节点中确定目标采集节点。
发送单元304,用于将目标采集节点中存储的采集任务发送至消息队列中。
第二确定单元305,用于通过分布式锁从多个消费节点中确定目标消费节点。
执行单元306,用于若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中。
本申请实施例二提供的数据的同步装置,通过获取单元301获取待同步数据的采集任务和消费任务,其中,采集任务包括待同步数据在源数据库中的数据信息,消费任务包括待同步数据在源数据库和目标数据库中的数据信息;处理单元302将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中;第一确定单元303通过分布式锁从多个采集节点中确定目标采集节点;发送单元304将目标采集节点中存储的采集任务发送至消息队列中;第二确定单元305通过分布式锁从多个消费节点中确定目标消费节点;执行单元306若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中,解决了相关技术中在数据库同步增量数据的过程中受客观因素影响使同步增量数据的任务失败,导致数据库存在丢失数据的风险的问题。通过根据待同步数据生成采集任务和消费任务,设置多个采集节点和多个消费节点对采集任务和消费任务进行处理,提高了同步数据的效率,增加了同步数据的安全性,避免了因单点故障引起待同步数据丢失的情况出现,达到了降低数据丢失的风险的效果。
可选地,在本申请实施例二提供的数据的同步装置中,上述的第一确定单元303包括:第一创建子单元,用于创建多个采集节点;第一启动子单元,用于启动多个采集节点,以使多个采集节点中的每个采集节点开始抢占分布式锁;第一确定子单元,用于将抢占到分布式锁的采集节点确定为目标采集节点。
可选地,在本申请实施例二提供的数据的同步装置中,上述的获取单元301包括:第一获取子单元,用于从待同步数据中获取采集任务,其中,采集任务至少包括源数据库和源数据表;第二获取子单元,用于从待同步数据中获取消费任务,其中,消费任务至少包括自定义处理步骤、源数据库、源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
可选地,在本申请实施例二提供的数据的同步装置中,上述的第二确定单元305包括:第二创建子单元,用于创建多个消费节点;第二启动子单元,用于启动多个消费节点,以使多个消费节点中的每个消费节点开始抢占分布式锁;第二确定子单元,用于将抢占到分布式锁的消费节点确定为目标消费节点。
可选地,在本申请实施例二提供的数据的同步装置中,上述的执行单元306包括:第三获取子单元,用于若目标消费节点监听到消息队列中存在采集任务,则依据采集任务获取消费任务配置的自定义处理步骤;第一处理子单元,用于依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中。
可选地,在本申请实施例二提供的数据的同步装置中,上述的执行单元306包括:判断子单元,用于在目标消费节点监听到消息队列中存在采集任务,依据采集任务获取消费任务配置的自定义处理步骤之前,验证消费任务中的源数据表与采集任务中的目标数据表是否一致;第二处理子单元,用于若源数据表与目标数据表不一致,则不再对消费任务进行处理;第三处理子单元,用于若源数据表与目标数据表一致,则获取消费任务配置的自定义处理步骤。
可选地,在本申请实施例二提供的数据的同步装置中,上述的执行单元306包括:第四处理子单元,用于在依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中之后,若目标消费节点执行消费任务的时间超过分布式锁的过期时间,则在分布式锁中释放目标消费节点,以使其它消费节点继续执行消费任务。
所述数据的同步装置包括处理器和存储器,上述的获取单元301、处理单元302、第一确定单元303、发送单元304、第二确定单元305和执行单元306等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来降低同步数据的风险。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例三提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现数据的同步方法。
本发明实施例四提供了一种处理器,处理器用于运行程序,其中,程序运行时执行数据的同步方法。
如图4所示,本发明实施例五提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:通过获取待同步数据的采集任务和消费任务,其中,采集任务包括待同步数据在源数据库中的数据信息,消费任务包括待同步数据在源数据库和目标数据库中的数据信息;将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中;通过分布式锁从多个采集节点中确定目标采集节点;将目标采集节点中存储的采集任务发送至消息队列中;通过分布式锁从多个消费节点中确定目标消费节点;若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中。
处理器执行程序时还实现以下步骤:通过分布式锁从多个采集节点中确定目标采集节点包括:创建多个采集节点;启动多个采集节点,以使多个采集节点中的每个采集节点开始抢占分布式锁;将抢占到分布式锁的采集节点确定为目标采集节点。
处理器执行程序时还实现以下步骤:获取待同步数据的采集任务和消费任务包括:从待同步数据中获取采集任务,其中,采集任务至少包括源数据库和源数据表;从待同步数据中获取消费任务,其中,消费任务至少包括自定义处理步骤、源数据库、源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
处理器执行程序时还实现以下步骤:通过分布式锁从多个消费节点中确定目标消费节点包括:创建多个消费节点;启动多个消费节点,以使多个消费节点中的每个消费节点开始抢占分布式锁;将抢占到分布式锁的消费节点确定为目标消费节点。
处理器执行程序时还实现以下步骤:若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中包括:若目标消费节点监听到消息队列中存在采集任务,则依据采集任务获取消费任务配置的自定义处理步骤;依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中。
处理器执行程序时还实现以下步骤:在目标消费节点监听到消息队列中存在采集任务,依据采集任务获取消费任务配置的自定义处理步骤之前,上述的方法还包括:验证消费任务中的源数据表与采集任务中的目标数据表是否一致;若源数据表与目标数据表不一致,则不再对消费任务进行处理;若源数据表与目标数据表一致,则获取消费任务配置的自定义处理步骤。
处理器执行程序时还实现以下步骤:在依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中之后,上述的方法还包括:若目标消费节点执行消费任务的时间超过分布式锁的过期时间,则在分布式锁中释放目标消费节点,以使其它消费节点继续执行消费任务。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:通过获取待同步数据的采集任务和消费任务,其中,采集任务包括待同步数据在源数据库中的数据信息,消费任务包括待同步数据在源数据库和目标数据库中的数据信息;将采集任务存储至多个采集节点中,将消费任务存储至多个消费节点中;通过分布式锁从多个采集节点中确定目标采集节点;将目标采集节点中存储的采集任务发送至消息队列中;通过分布式锁从多个消费节点中确定目标消费节点;若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:通过分布式锁从多个采集节点中确定目标采集节点包括:创建多个采集节点;启动多个采集节点,以使多个采集节点中的每个采集节点开始抢占分布式锁;将抢占到分布式锁的采集节点确定为目标采集节点。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:获取待同步数据的采集任务和消费任务包括:从待同步数据中获取采集任务,其中,采集任务至少包括源数据库和源数据表;从待同步数据中获取消费任务,其中,消费任务至少包括自定义处理步骤、源数据库、源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:通过分布式锁从多个消费节点中确定目标消费节点包括:创建多个消费节点;启动多个消费节点,以使多个消费节点中的每个消费节点开始抢占分布式锁;将抢占到分布式锁的消费节点确定为目标消费节点。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:若目标消费节点监听到消息队列中存在采集任务,则依据采集任务执行消费任务,以将待同步数据从源数据库同步至目标数据库中包括:若目标消费节点监听到消息队列中存在采集任务,则依据采集任务获取消费任务配置的自定义处理步骤;依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在目标消费节点监听到消息队列中存在采集任务,依据采集任务获取消费任务配置的自定义处理步骤之前,上述的方法还包括:验证消费任务中的源数据表与采集任务中的目标数据表是否一致;若源数据表与目标数据表不一致,则不再对消费任务进行处理;若源数据表与目标数据表一致,则获取消费任务配置的自定义处理步骤。
当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序:在依据消费任务,采用自定义处理步骤对待同步数据进行处理,以将待同步数据从源数据库同步至目标数据库中之后,上述的方法还包括:若目标消费节点执行消费任务的时间超过分布式锁的过期时间,则在分布式锁中释放目标消费节点,以使其它消费节点继续执行消费任务。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种数据的同步方法,其特征在于,包括:
获取待同步数据的采集任务和消费任务,其中,所述采集任务包括所述待同步数据在源数据库中的数据信息,所述消费任务包括所述待同步数据在所述源数据库和目标数据库中的数据信息;
将所述采集任务存储至多个采集节点中,将所述消费任务存储至多个消费节点中;
通过分布式锁从所述多个采集节点中确定目标采集节点;
将所述目标采集节点中存储的采集任务发送至消息队列中;
通过所述分布式锁从所述多个消费节点中确定目标消费节点;
若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
2.根据权利要求1所述的方法,其特征在于,通过分布式锁从所述多个采集节点中确定目标采集节点包括:
创建所述多个采集节点;
启动所述多个采集节点,以使所述多个采集节点中的每个采集节点开始抢占所述分布式锁;
将抢占到所述分布式锁的采集节点确定为所述目标采集节点。
3.根据权利要求1所述的方法,其特征在于,获取待同步数据的采集任务和消费任务包括:
从所述待同步数据中获取所述采集任务,其中,所述采集任务至少包括所述源数据库和源数据表;
从所述待同步数据中获取所述消费任务,其中,所述消费任务至少包括自定义处理步骤、所述源数据库、所述源数据表、目标数据库、目标数据表、目标数据表主键和变更数据的字段。
4.根据权利要求1所述的方法,其特征在于,通过所述分布式锁从所述多个消费节点中确定目标消费节点包括:
创建所述多个消费节点;
启动所述多个消费节点,以使所述多个消费节点中的每个消费节点开始抢占所述分布式锁;
将抢占到所述分布式锁的消费节点确定为所述目标消费节点。
5.根据权利要求3所述的方法,其特征在于,若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中包括:
若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务获取所述消费任务配置的所述自定义处理步骤;
依据所述消费任务,采用所述自定义处理步骤对所述待同步数据进行处理,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
6.根据权利要求5所述的方法,其特征在于,在所述目标消费节点监听到所述消息队列中存在所述采集任务,依据所述采集任务获取所述消费任务配置的所述自定义处理步骤之前,所述方法还包括:
验证所述消费任务中的所述源数据表与所述采集任务中的所述目标数据表是否一致;
若所述源数据表与所述目标数据表不一致,则不再对所述消费任务进行处理;
若所述源数据表与所述目标数据表一致,则获取所述消费任务配置的所述自定义处理步骤。
7.根据权利要求5所述的方法,其特征在于,在依据所述消费任务,采用所述自定义处理步骤对所述待同步数据进行处理,以将所述待同步数据从所述源数据库同步至所述目标数据库中之后,所述方法还包括:
若所述目标消费节点执行所述消费任务的时间超过所述分布式锁的过期时间,则在所述分布式锁中释放所述目标消费节点,以使其它消费节点继续执行所述消费任务。
8.一种数据的同步装置,其特征在于,包括:
第一获取单元,用于获取待同步数据的采集任务和消费任务,其中,所述采集任务包括所述待同步数据在源数据库中的数据信息,所述消费任务包括所述待同步数据在所述源数据库和目标数据库中的数据信息;
第一处理单元,用于将所述采集任务存储至多个采集节点中,将所述消费任务存储至多个消费节点中;
第一确定单元,用于通过分布式锁从所述多个采集节点中确定目标采集节点;
第一发送单元,用于将所述目标采集节点中存储的采集任务发送至消息队列中;
第二确定单元,用于通过所述分布式锁从所述多个消费节点中确定目标消费节点;
第一执行单元,用于若所述目标消费节点监听到所述消息队列中存在所述采集任务,则依据所述采集任务执行所述消费任务,以将所述待同步数据从所述源数据库同步至所述目标数据库中。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的数据的同步方法。
10.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任意一项所述的数据的同步方法。
CN202310212534.XA 2023-02-27 2023-02-27 数据的同步方法、装置、处理器及电子设备 Pending CN116414914A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310212534.XA CN116414914A (zh) 2023-02-27 2023-02-27 数据的同步方法、装置、处理器及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310212534.XA CN116414914A (zh) 2023-02-27 2023-02-27 数据的同步方法、装置、处理器及电子设备

Publications (1)

Publication Number Publication Date
CN116414914A true CN116414914A (zh) 2023-07-11

Family

ID=87055691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310212534.XA Pending CN116414914A (zh) 2023-02-27 2023-02-27 数据的同步方法、装置、处理器及电子设备

Country Status (1)

Country Link
CN (1) CN116414914A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009111A (zh) * 2023-08-30 2023-11-07 上海南洋宏优智能科技有限公司 一种数据处理方法、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117009111A (zh) * 2023-08-30 2023-11-07 上海南洋宏优智能科技有限公司 一种数据处理方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN107515874B (zh) 一种分布式非关系型数据库中同步增量数据的方法与设备
CN106899648B (zh) 一种数据处理方法和设备
CN106899654B (zh) 一种序列值生成方法、装置及系统
CN110825420A (zh) 分布式集群的配置参数更新方法、装置、设备及存储介质
CN112346829A (zh) 一种用于任务调度的方法及设备
CN106897342B (zh) 一种数据校验方法和设备
CN116414914A (zh) 数据的同步方法、装置、处理器及电子设备
CN109684130B (zh) 一种机房间数据备份的方法及装置
CN106649000B (zh) 实时处理引擎的故障恢复方法及相应的服务器
CN106648839A (zh) 数据处理的方法和装置
CN109542920B (zh) 一种数据传输方法、装置、介质和电子设备
CN111857981A (zh) 一种数据处理方法以及装置
CN109471901B (zh) 一种数据同步方法及装置
CN105956046A (zh) 一种字典的更新方法、系统和服务器
CN110825758A (zh) 一种交易处理的方法及装置
CN116186082A (zh) 基于分布式的数据汇总方法、第一服务器和电子设备
CN115114275A (zh) 一种数据采集方法、设备及介质
CN112015798B (zh) 一种保证数据不重复和延迟监控的数据处理方法及装置
CN115048372A (zh) 多流数据的关联方法和关联装置
CN114064678A (zh) 事件数据处理方法、装置及终端设备
CN117421337B (zh) 数据采集方法、装置、设备及计算机可读介质
CN112749163B (zh) 一种数据传输方法及设备、介质
CN117271474A (zh) 数据迁移方法、装置、存储介质以及电子设备
CN114900531B (zh) 数据同步方法、装置和系统
CN116436836B (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