CN114254039A - 分布式同步*** - Google Patents
分布式同步*** Download PDFInfo
- Publication number
- CN114254039A CN114254039A CN202111467658.XA CN202111467658A CN114254039A CN 114254039 A CN114254039 A CN 114254039A CN 202111467658 A CN202111467658 A CN 202111467658A CN 114254039 A CN114254039 A CN 114254039A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- synchronous
- configuring
- configuration
- 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
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的是提供一种分布式同步***,通过将各模块的功能分拆独立处理,彼此之间做到相互独立,彼此之间不会影响,实现了功能解耦;将同步核心实现分为任务调度中心和任务执行器两个部分,任务调度中心和任务执行器分工协作,同时都支持集群化部署。任务调度中心本身通过数据库中间件作为协调,当其中一个点的任务调度中心出现问题,其它点的任务调度中心会主动承担工作,任务调度工作不会受影响。当任务执行器的其中一个点的任务执行器出现问题时,任务调度中心会检测其异常,并根据调度策略将同步任务分配给其他任务执行器进行执行。如果同步任务执行过程中出现异常,任务调度中心会重发同步任务的失败重试策略,保证任务正常执行。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种分布式同步***。
背景技术
重要的落地数据通常是存储在关系型数据库当中,常见的有oracle和mysql,由于线上服务的请求并发压力高,每次请求从关系型数据库之中获取数据会导致***负载高,甚至机器崩溃。
现有的同步***常采用单机单点部署方式,这种方式的优点是部署简单,占用资源通常较少,但是这种方式的缺点是很明显的,例如,这种方式通常只支持单一的任务,同时由于单机部署,一旦机器或者程序出现故障,整个同步任务就会中断,无法实现自动恢复,需要人为介入处理。
发明内容
本发明的一个目的是提供一种分布式同步***。
根据本发明的一个方面,提供了一种分布式同步***,该方法包括:数据源配置模块、数据目标存储模块、统一的同步任务配置平台、集群化部署的任务调度中心和集群化部署的任务执行器,其中,
数据源配置模块,用于提供原始的关系型结构化的源头数据;
数据目标存储模块,用于通过同步任务执行器执行同步任务,以按照所述源头数据配置的数据格式和数据类型,同步存储源头数据为目标数据;
统一的同步任务配置平台,用于对所述同步任务进行配置,包括配置源头数据的数据格式和数据类型;
集群化部署的任务调度中心,用于从所述统一的同步任务配置平台拉取配置好的同步任务,并统一分配调度拉取到的配置好的同步任务给任务执行器执行,并接收所述任务执行器对同步任务的执行反馈,并对同步任务进行统计管理,并生成调度日志,其中,当其中一个点的任务调度中心出现问题,其它点的任务调度中心主动承担工作;当任务执行器的其中一个点的任务执行器出现问题时,任务调度中心检测其异常,并根据调度策略将同步任务分配给其他任务执行器进行执行;
集群化部署的任务执行器,用于接收所述任务调度中心发送的同步任务,并执行接收到的同步任务,以同步存储源头数据为目标数据到数据目标存储模块;并将同步任务对执行结果反馈到调度中心。
进一步的,上述***中,所述统一的同步任务配置平台,用于对同步任务的源头数据和目标数据的数据库连接参数进行配置;
对同步任务的数据类型和数据格式进行配置;
对源头数据的过滤规则进行配置;
对各项同步任务进行统一管理,包括:对同步任务进行调度策略的配置;对同步任务的超时处理策略的配置;对同步任务的失败重试策略进行配置;对同步任务对异常告警策略的配置。
进一步的,上述***中,所述统一的同步任务配置平台,用于对同步任务的调度方式进行配置,包括:基础配置、调度配置、任务配置和高级配置,其中,
基础配置,包括:对任务执行器进行配置;对同步任务进行功能描述;设置任务负责人信息,以及设置同步任务出现异常时告知的负责人邮件地址信息;
调度配置,包括:对同步任务的调度类型进行配置;
任务配置,包括:任务运行模式的配置、任务处理Handler的配置和任务参数配置;
高级配置,包括:配置同步任务的执行路由策略;配置当前同步任务关联的子任务;配置调度过期策略;配置阻塞处理和配置超时处理及失败重试。
进一步的,上述***中,所述调度类型包括:实时调度模式、CRON表达式定时调度模式和固定速度调度模式,其中,
实时调度模式,用于通过循环查询源头数据的数据库的更新状态将源头数据同步到数据目标存储模块中;
CRON表达式定时调度模式,用于解析通用的CRON表达式来触发任务执行;
固定速度调度模式,用于按照固定时间间隔执行任务。
进一步的,上述***中,配置同步任务的执行路由策略,包括:随机执行、轮询执行、故障转移和一致性Hash的多种策略。
进一步的,上述***中,配置当前同步任务关联的子任务,包括:配置当前同步任务关联的多个子任务,当作为当前同步的父任务执行完成后,自动按顺序触发子任务的执行;子任务和父任务之间相互独立,仅通过ID进行关联,通过ID拥有子任务和父任务的独立的配置。
进一步的,上述***中,配置调度过期策略是指配置任务过期的处理策略。
进一步的,上述***中,配置阻塞处理是指任务定时执行时,上次同步任务未处理完成时的处理方式。
进一步的,上述***中,配置超时处理及失败重试,包括:设置同步任务执行时间限制,当同步任务超时或者出现异常时,可以按配置的次数重试执行。
进一步的,上述***中,所述统一的同步任务配置平台,用于对同步任务的数据信息进行配置,包括:
数据源的配置、数据目标存储的配置、数据字段关系映射的配置、Redis列表存储规则和Redis详细信息的存储规则的配置。
进一步的,上述***中,所述数据源的配置,包括:配置源头数据的各种类型的关系型数据库,支持添加相同结构的多条SQL,根据配置的源头数据的key获取配置的源头数据的连接信息;
数据目标存储的配置,包括:Redis集群的配置和Hbase集群的配置;
数据字段关系映射的配置,包括:将关系型数据库的字段映射为Redis中的Key-Value格式,支持单字段到单Key的映射,也支持多字段组合到单Key的映射,同时,支持添加多个映射关系;
Redis列表存储规则和Redis详细信息的存储规则的配置,包括:按照Redis支持的数据类型,将源头数据进行格式转换,存储为需要的数据格式;同时,通过增加条件限制,对不需要同步的源头数据进行过滤处理。
与现有技术相比,本发明将同步核心实现分为任务调度中心和任务执行器两个部分,任务调度中心和任务执行器分工协作,同时都支持集群化部署。任务调度中心本身通过数据库中间件作为协调,当其中一个点的任务调度中心出现问题,其它点的任务调度中心会主动承担工作,任务调度工作不会受影响。当任务执行器的其中一个点的任务执行器出现问题时,任务调度中心会检测其异常,并根据调度策略将同步任务分配给其他任务执行器进行执行。如果同步任务执行过程中出现异常,任务调度中心会重发同步任务的失败重试策略,保证任务正常执行。
本发明***通过模块化设计方式,将各模块的功能分拆独立处理,彼此之间做到相互独立,彼此之间不会影响,实现了功能解耦。不同的***模块均支持多点分布式部署,通过路由和故障处理策略,实现故障时能及时切换到其它正常机器进行处理,保障任务的正常运行及***的高可用。
现有的技术中,常常根据业务需求定制开发一套数据同步程序,由于业务需求不同,数据源,数据结构不同,很难做到数据同步***的统一性。并且,数据格式化信息常常和同步的功能高度耦合在一起。本发明通过将同步***的相同或者相似的功能提取出来,将功能进行解耦,模块化处理,实现高度统一性。同时,将同步功能和数据格式的配置进行分离,实现了同步功能的任务化和配置化。
现有的同步***通常将同步的参数写在配置文件中,如果需要修改同步参数,需要重启同步任务。本***的同步参数可通过统一的同步任务配置平台的交互页面进行配置,当修改并提交配置参数后,由配置平台通过接口方式实时通知调度中心任务配置参数已被更新,再由调度中心通知任务执行器进行同步任务的更新。
现有的同步***通常支持的数据格式有限,和业务***的关联度较高。本发明中可以根据Redis支持的数据类型自由定制数据格式,通过配置的方式,将关系型数据转换为多种格式的数据。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个实施里的的一种分布式同步***的示意图;
图2示出本发明一实施例的对同步任务的调度方式进行配置的示意图;
图3示出根据本发明一实施例的对同步任务的数据信息进行配置的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本发明提供一种分布式同步***,包括:数据源配置模块、数据目标存储模块、统一的同步任务配置平台、集群化部署的任务调度中心和集群化部署的任务执行器,其中,
数据源配置模块,用于提供原始的关系型结构化的源头数据;
在此,数据源配置模块支持常用的关系型数据库,如MySQL和Oracle等,也可以扩展支持SQL语言的其它数据库;数据源配置模块提供原始的关系型结构化的源头数据,及其配置信息,如数据库的地址及用户名、密码等在数据源配置模块配置;
数据目标存储模块,用于通过同步任务执行器执行同步任务,以按照所述源头数据配置的数据格式和数据类型,同步存储源头数据为目标数据;
在此,数据目标存储模块,可以支持Redis和Hbase两种非关系型数据存储,可以通过同步任务执行器,将源头数据按照配置的数据格式和数据类型同步到数据目标存储模块中;
可以将数据从关系型数据库同步到缓存数据库中,如Redis。
Redis可以用来缓存数据,提高并发性能。具体来说就是,服务程序读取内存数据库中的热点数据,数据库当中的数据定时同步到redis当中。之所以能提高性能是因为Redis是内存数据库,读写数据直接操作的是内存中的数据,而MySQL、Oracle读写数据操作的是磁盘上的数据,速度较慢。内存数据库可以有效减少磁盘IO,提高并发性能。
统一的同步任务配置平台,用于对所述同步任务进行配置,包括配置源头数据的数据格式和数据类型;
在此,统一的同步任务配置平台,可以包揽同步任务的所有配置工作;
集群化部署的任务调度中心,用于从所述统一的同步任务配置平台拉取配置好的同步任务,并统一分配调度拉取到的配置好的同步任务给任务执行器执行,并接收所述任务执行器对同步任务的执行反馈,并对同步任务进行统计管理,并生成调度日志,其中,当其中一个点的任务调度中心出现问题,其它点的任务调度中心会主动承担工作;当任务执行器的其中一个点的任务执行器出现问题时,任务调度中心会检测其异常,并根据调度策略将同步任务分配给其他任务执行器进行执行;
在此,任务调度中心从所述统一的同步任务配置平台拉取同步任务对调度配置信息,按照任务配置的执行程序和调度策略,统一分配调度任务,向任务执行器发送执行命令,触发任务的执行;此外,调度中心接收任务执行器对同步任务的执行反馈,对同步任务进行统计管理,并生成调度日志;
集群化部署的任务执行器,用于接收任务调度中心发送的同步任务,并执行接收到的同步任务,以同步存储源头数据为目标数据到数据目标存储模块;并将同步任务对执行结果反馈到调度中心。
在此,任务执行器,接收任务调度中心发送的任务执行指令,执行同步任务,并将同步任务对执行结果反馈到调度中心。
本发明将同步核心实现分为任务调度中心和任务执行器两个部分,任务调度中心和任务执行器分工协作,同时都支持集群化部署。任务调度中心本身通过数据库中间件作为协调,当其中一个点的任务调度中心出现问题,其它点的任务调度中心会主动承担工作,任务调度工作不会受影响。当任务执行器的其中一个点的任务执行器出现问题时,任务调度中心会检测其异常,并根据调度策略将同步任务分配给其他任务执行器进行执行。如果同步任务执行过程中出现异常,任务调度中心会重发同步任务的失败重试策略,保证任务正常执行。
本发明***通过模块化设计方式,将各模块的功能分拆独立处理,彼此之间做到相互独立,彼此之间不会影响,实现了功能解耦。不同的***模块均支持多点分布式部署,通过路由和故障处理策略,实现故障时能及时切换到其它正常机器进行处理,保障任务的正常运行及***的高可用。
现有的技术中,常常根据业务需求定制开发一套数据同步程序,由于业务需求不同,数据源,数据结构不同,很难做到数据同步***的统一性。并且,数据格式化信息常常和同步的功能高度耦合在一起。本发明通过将同步***的相同或者相似的功能提取出来,将功能进行解耦,模块化处理,实现高度统一性。同时,将同步功能和数据格式的配置进行分离,实现了同步功能的任务化和配置化。
现有的同步***通常将同步的参数写在配置文件中,如果需要修改同步参数,需要重启同步任务。本***的同步参数可通过统一的同步任务配置平台的交互页面进行配置,当修改并提交配置参数后,由配置平台通过接口方式实时通知调度中心任务配置参数已被更新,再由调度中心通知任务执行器进行同步任务的更新。
现有的同步***通常支持的数据格式有限,和业务***的关联度较高。本发明中可以根据Redis支持的数据类型自由定制数据格式,通过配置的方式,将关系型数据转换为多种格式的数据。
本发明针对不同数据源,不同SQL可以实现数据统一同步任务。其中,***中可以集成当前数据领域中常用的关系型数据库驱动包,也可通过自主添加驱动包的方式扩展其它类型的数据库***。在数据源配置模块,通过唯一的Key作为主键,配置数据源的常用连接参数,如驱动类,连接地址,用户名,密码,连接池等信息,即可实现数据连接。***支持单表同步,也可通过配置SQL进行数据同步,通过记录断点信息,实现数据增量同步。
本发明对分布式同步***一实施例中,所述统一的同步任务配置平台,用于对同步任务的源头数据和目标数据的数据库连接参数进行配置;对同步任务的数据类型和数据格式进行配置;对源头数据的过滤规则进行配置;对各项同步任务进行统一管理,包括:对同步任务进行调度策略的配置;对同步任务的超时处理策略的配置;对同步任务的失败重试策略进行配置;对同步任务对异常告警策略的配置。
如图2所示,本发明对分布式同步***一实施例中,所述统一的同步任务配置平台,用于对同步任务的调度方式进行配置,包括:基础配置、调度配置、任务配置和高级配置,其中,
基础配置,包括:对任务执行器进行配置;对同步任务进行功能描述;设置任务负责人信息,以及设置同步任务出现异常时告知的负责人邮件地址信息;
调度配置,包括:对同步任务的调度类型进行配置;
任务配置,包括:任务运行模式的配置、任务处理Handler的配置和任务参数配置,其中,配置的任务参数可由任务调度中心在任务执行时获取。其中任务的执行器程序采用Java语言开发,每次任务执行处理器的程序叫做任务处理Handler。任务处理Handler是任务处理的核心,其主要功能包含源头数据的获取,从统一的同步任务配置平台获取同步任务具体的数据配置信息,通过对数据进行过滤和转换,最终将数据写入到数据目标存储模块中。当任务执行完成或者出现异常时,任务执行器程序会将任务执行结果反馈到调度平台,以完成任务调度或触发告警通知;
优选的,所述调度类型包括:实时调度模式、CRON表达式定时调度模式和固定速度调度模式,其中,
实时调度模式,用于通过循环查询源头数据的数据库的更新状态将源头数据同步到数据目标存储模块中,这种调度模式的数据延迟小,适合于对数据更新比较敏感的场景;
CRON表达式定时调度模式,用于支持解析通用的CRON表达式来触发任务执行,CRON表达式的优点是可以自由定制任务触发的时间点,可以按秒,按时,按天,或者按周定时执行,如每周一早上5点10分执行可配置为“*10 5**1”,CRON表达式几乎能满足所有定时任务的配置场景;
固定速度调度模式,用于按照固定时间间隔执行任务,优点是配置简单。
高级配置,包括:配置同步任务的执行路由策略;配置当前同步任务关联的子任务;配置调度过期策略;配置阻塞处理和配置超时处理及失败重试。
优选的,任务执行器的程序可以采用分布式部署方式,可以同时部署多台,
配置同步任务的执行路由策略,包括:配置任务调度的执行策略,具体的配置方案有随机执行、轮询执行、故障转移和一致性Hash等多种策略;
配置当前同步任务关联的子任务,包括:配置当前同步任务关联的多个子任务,当作为当前同步的父任务执行完成后,自动按顺序触发子任务的执行;子任务和父任务之间相互独立,仅通过ID进行关联,通过ID拥有子任务和父任务的独立的配置;
配置调度过期策略是指配置任务过期的处理策略,可以选择忽略也可以立即执行调度;
配置阻塞处理是指任务定时执行时,上次同步任务未处理完成时的处理方式,可以串行执行,也可直接忽略后面的任务;
配置超时处理及失败重试,包括设置同步任务执行时间限制,当同步任务超时或者出现异常时,可以按配置的次数重试执行。
如图3所示,本发明对分布式同步***一实施例中,所述统一的同步任务配置平台,用于对同步任务的数据信息进行配置,包括:
数据源的配置、数据目标存储的配置、数据字段关系映射的配置、Redis列表存储规则和Redis详细信息的存储规则的配置。
在此,同步任务的调度方式配置在任务调度时获取,而同步任务的数据信息配置是在任务执行时获取。同步任务具体执行的数据信息配置支持数据源的配置、数据目标存储的配置、数据字段关系映射的配置、Redis列表存储规则和Redis详细信息的存储规则的配置几个方面进行配置。
本发明对分布式同步***一实施例中,所述数据源的配置,包括:配置源头数据的各种类型的关系型数据库,支持添加相同结构的多条SQL,根据配置的源头数据的key获取配置的源头数据的连接信息;
数据目标存储的配置,包括:Redis集群的配置和Hbase集群的配置;
数据字段关系映射的配置,包括:将关系型数据库的字段映射为Redis中的Key-Value格式,支持单字段到单Key的映射,也支持多字段组合到单Key的映射,同时,支持添加多个映射关系;
Redis列表存储规则和Redis详细信息的存储规则的配置,包括:按照Redis支持的数据类型,将源头数据进行格式转换,存储为需要的数据格式;同时,通过增加条件限制,对不需要同步的源头数据进行过滤处理。
在此,Redis内存数据库支持丰富的数据结构类型,除了常用的Key-Value类型外,还有Hash(哈希表),List(列表),Set(集合),Zset(有序集合)等。根据Redis数据类型的特点,***设计了一套完整的数据映射规则,实现了关系型的结构化数据到Redis数据类型的转换。以Zset为例,配置项包含集合Key,集合元素值,元素分数,其中集合Key可以是静态的字符串,也可以根据数据中某个或者多个字段的值,实现动态生成集合Key。集合中的元素值可以由单个字段组成,也可以取多个字段值组合,除此之外,可实现字段值的函数计算作为元素值,函数计算可以自由扩展,如取字段值的子字符串,字段值的日期格式转换等。元素分数可以配置为数字类型的字段,缺省情况下以数据同步的时间戳作为元素分数。
另外,可以通过配置条件的方式对数据进行过滤,条件可以有一个或者多个,当有多个条件时间时,可配置多个条件之间的逻辑关系,如同时满足或者满足之一。每个条件通过对数据字段值进行逻辑计算或判断,确认当前的数据记录是否满足条件,以实现数据的条件化过滤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种分布式同步***,其中,该分布式同步***包括:
数据源配置模块、数据目标存储模块、统一的同步任务配置平台、集群化部署的任务调度中心和集群化部署的任务执行器,其中,
数据源配置模块,用于提供原始的关系型结构化的源头数据;
数据目标存储模块,用于通过同步任务执行器执行同步任务,以按照所述源头数据配置的数据格式和数据类型,同步存储源头数据为目标数据;
统一的同步任务配置平台,用于对所述同步任务进行配置,包括配置源头数据的数据格式和数据类型;
集群化部署的任务调度中心,用于从所述统一的同步任务配置平台拉取配置好的同步任务,并统一分配调度拉取到的配置好的同步任务给任务执行器执行,并接收所述任务执行器对同步任务的执行反馈,并对同步任务进行统计管理,并生成调度日志,其中,当其中一个点的任务调度中心出现问题,其它点的任务调度中心主动承担工作;当任务执行器的其中一个点的任务执行器出现问题时,任务调度中心检测其异常,并根据调度策略将同步任务分配给其他任务执行器进行执行;
集群化部署的任务执行器,用于接收所述任务调度中心发送的同步任务,并执行接收到的同步任务,以同步存储源头数据为目标数据到数据目标存储模块;并将同步任务对执行结果反馈到调度中心。
2.根据权利要求1所述的方法,其中,所述统一的同步任务配置平台,用于对同步任务的源头数据和目标数据的数据库连接参数进行配置;
对同步任务的数据类型和数据格式进行配置;
对源头数据的过滤规则进行配置;
对各项同步任务进行统一管理,包括:对同步任务进行调度策略的配置;对同步任务的超时处理策略的配置;对同步任务的失败重试策略进行配置;对同步任务对异常告警策略的配置。
3.根据权利要求1所述的方法,其中,所述统一的同步任务配置平台,用于对同步任务的调度方式进行配置,包括:基础配置、调度配置、任务配置和高级配置,其中,
基础配置,包括:对任务执行器进行配置;对同步任务进行功能描述;设置任务负责人信息,以及设置同步任务出现异常时告知的负责人邮件地址信息;
调度配置,包括:对同步任务的调度类型进行配置;
任务配置,包括:任务运行模式的配置、任务处理Handler的配置和任务参数配置;
高级配置,包括:配置同步任务的执行路由策略;配置当前同步任务关联的子任务;配置调度过期策略;配置阻塞处理和配置超时处理及失败重试。
4.根据权利要求3所述的方法,其中,所述调度类型包括:实时调度模式、CRON表达式定时调度模式和固定速度调度模式,其中,
实时调度模式,用于通过循环查询源头数据的数据库的更新状态将源头数据同步到数据目标存储模块中;
CRON表达式定时调度模式,用于解析通用的CRON表达式来触发任务执行;
固定速度调度模式,用于按照固定时间间隔执行任务。
5.根据权利要求3所述的方法,其中,配置同步任务的执行路由策略,包括:随机执行、轮询执行、故障转移和一致性Hash的多种策略。
6.根据权利要求3所述的方法,其中,配置当前同步任务关联的子任务,包括:配置当前同步任务关联的多个子任务,当作为当前同步的父任务执行完成后,自动按顺序触发子任务的执行;子任务和父任务之间相互独立,仅通过ID进行关联,通过ID拥有子任务和父任务的独立的配置。
7.根据权利要求3所述的方法,其中,配置调度过期策略是指配置任务过期的处理策略。
8.根据权利要求3所述的方法,其中,配置阻塞处理是指任务定时执行时,上次同步任务未处理完成时的处理方式。
9.根据权利要求3所述的方法,其中,配置超时处理及失败重试,包括:设置同步任务执行时间限制,当同步任务超时或者出现异常时,可以按配置的次数重试执行。
10.根据权利要求1所述的方法,其中,所述统一的同步任务配置平台,用于对同步任务的数据信息进行配置,包括:
数据源的配置、数据目标存储的配置、数据字段关系映射的配置、Redis列表存储规则和Redis详细信息的存储规则的配置;
所述数据源的配置,包括:配置源头数据的各种类型的关系型数据库,支持添加相同结构的多条SQL,根据配置的源头数据的key获取配置的源头数据的连接信息;
所述数据目标存储的配置,包括:Redis集群的配置和Hbase集群的配置;
所述数据字段关系映射的配置,包括:将关系型数据库的字段映射为Redis中的Key-Value格式,支持单字段到单Key的映射,也支持多字段组合到单Key的映射,同时,支持添加多个映射关系;
所述Redis列表存储规则和Redis详细信息的存储规则的配置,包括:按照Redis支持的数据类型,将源头数据进行格式转换,存储为需要的数据格式;同时,通过增加条件限制,对不需要同步的源头数据进行过滤处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467658.XA CN114254039A (zh) | 2021-12-02 | 2021-12-02 | 分布式同步*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111467658.XA CN114254039A (zh) | 2021-12-02 | 2021-12-02 | 分布式同步*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114254039A true CN114254039A (zh) | 2022-03-29 |
Family
ID=80791655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111467658.XA Pending CN114254039A (zh) | 2021-12-02 | 2021-12-02 | 分布式同步*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114254039A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625359A (zh) * | 2022-05-16 | 2022-06-14 | 西安数道航空技术有限公司 | 通过同步并发网络连接的多机无耦合数字化开发平台 |
-
2021
- 2021-12-02 CN CN202111467658.XA patent/CN114254039A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625359A (zh) * | 2022-05-16 | 2022-06-14 | 西安数道航空技术有限公司 | 通过同步并发网络连接的多机无耦合数字化开发平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11422982B2 (en) | Scaling stateful clusters while maintaining access | |
CN108170768B (zh) | 数据库同步方法、装置及可读介质 | |
US11068501B2 (en) | Single phase transaction commits for distributed database transactions | |
EP2474919B1 (en) | System and method for data replication between heterogeneous databases | |
US8938421B2 (en) | Method and a system for synchronizing data | |
US7865535B2 (en) | Apparatus, system, and method for a data server-managed web services runtime | |
US9286368B2 (en) | Linking framework for information technology management | |
US20110072058A1 (en) | Method and System for Large Volume Data Processing | |
US11928089B2 (en) | Data processing method and device for distributed database, storage medium, and electronic device | |
CN110532074A (zh) | 一种多租户模式SaaS服务集群环境的任务调度方法及*** | |
CN110895488B (zh) | 任务调度方法及装置 | |
CN108108119B (zh) | 一种可扩展的存储集群事物的配置方法及装置 | |
CN113590386A (zh) | 数据的容灾恢复方法、***、终端设备及计算机存储介质 | |
US7813331B2 (en) | Apparatus, system, and method for implementing failover in a polling adapter without support from an application server | |
US20030163761A1 (en) | System and method for message driven bean service migration | |
CN110895486A (zh) | 分布式任务调度*** | |
CN114254039A (zh) | 分布式同步*** | |
CN115827086A (zh) | 一种基于分布式集群架构的高可用软件开发集成平台 | |
US11042454B1 (en) | Restoration of a data source | |
CN113157701A (zh) | 一种oracle数据库的双活机制部署方法及装置 | |
CN109753245B (zh) | 一种多磁盘负载均衡异步读写调度方法及装置 | |
CN111400097A (zh) | 数据的备份方法、装置、***和计算机可读存储介质 | |
CN115905413A (zh) | 一种基于Python协程和DataX的数据同步平台 | |
CN115587141A (zh) | 一种数据库同步方法和装置 | |
US11442758B2 (en) | Integration flow execution renew |
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 |