CN109962936B - 异构数据同步方法及系统 - Google Patents
异构数据同步方法及系统 Download PDFInfo
- Publication number
- CN109962936B CN109962936B CN201711340965.5A CN201711340965A CN109962936B CN 109962936 B CN109962936 B CN 109962936B CN 201711340965 A CN201711340965 A CN 201711340965A CN 109962936 B CN109962936 B CN 109962936B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- synchronization
- working
- data source
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0681—Configuration of triggering conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种异构数据同步方法及系统,所述异构数据同步方法包括:设置一管理节点,用于管理所述管理节点所在数据中心的工作节点和/或其它数据中心的工作节点;所述管理节点接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息;所述管理节点根据所述数据源配置信息、所述订阅配置信息以及各工作节点的节点信息获取用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点;所述管理节点将所述同步任务分配至所述最优工作节点,以供所述最优工作节点执行所述同步任务。本发明采用管理节点+工作节点的模式,通过分布式的部署和智能的节点调度解决数据跨公网的问题。
Description
技术领域
本发明涉及互联网领域,特别是涉及互联网的数据同步技术领域,具体为一种异构数据同步方法及系统。
背景技术
随着互联网的发展,现代社会已经进入信息社会,人与人之间在互联网上的交互越来越多,每家互联网公司的数据都出现了爆炸性的增长,而不管是过去、现在还是未来,数据的处理和统计分析都是一直存在的。企业的业务系统,为了能够承载这些数据,不可避免的采用了一定的策略,使得数据分布在不同的机器,不同的数据库和表中。
用户量越来越大、系统和数据也变得越来越大。由于系统过大会带来各种问题,所以系统微服务化也随之兴起。将系统及其数据都进行了拆分,同时也带来了异构数据同步的需求。
传统的异构离线数据同步工具,更偏向于较小数据量的复杂转换或同数据中心数据同步。极少考虑跨机房的情况。无法满足大量数据、复杂网络情况下的异构数据快速、稳定的同步。
传统的异构离线数据同步工具通常缺少必要的运维功能,缺少各种数据统计和告警,不易于快速发现和解决数据同步中发生的问题。
上述异构数据同步方法主要存在以下的不足:1)通常是stand-alone的
1)需要使用者各自去部署,难以统一部署、管理。有新版本的时候很难推进版本升级;机器的利用率较低;难以共用从数据源查询出来的一份数据。多个查询容易对数据源造成压力。传输相同的数据导致的带宽浪费。
2)基本上没有考虑跨机房、跨公网的数据传输。
3)没有告警和各种统计报功能,不易于问题的发现和解决。
发明内容
为了解决上述的以及其他潜在的技术问题,本发明的实施例提供了一种异构数据同步方法,所述异构数据同步方法包括:设置一管理节点,用于管理所述管理节点所在数据中心的工作节点和/或其它数据中心的工作节点;所述管理节点接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息;所述管理节点根据所述数据源配置信息、所述订阅配置信息以及各工作节点的节点信息获取用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点;所述管理节点将所述同步任务分配至所述最优工作节点,以供所述最优工作节点执行所述同步任务。
于本发明的一实施例中,所述异构数据同步方法还包括:所述管理节点根据所述数据源配置信息和所述订阅配置信息识别相同数据源的同步任务;所述管理节点将所述相同数据源的同步任务分配至同一工作节点。
于本发明的一实施例中,所述异构数据同步方法还包括:所述管理节点接收执行所述同步任务的所述工作节点反馈的同步信息;所述管理节点根据所述工作节点反馈的同步信息对所述工作节点执行的所述同步任务进行监控;在监控到所述同步任务出现异常时生成一任务告警事件,并以预设方式进行告警。
于本发明的一实施例中,所述异构数据同步方法还包括:所述管理节点对所述工作节点的节点负载进行监控;在监控到所述节点负载达到负载阈值时生成一节点告警事件,并以预设方式进行告警。
于本发明的一实施例中,所述管理节点根据所述工作节点的节点负载和内存状态控制所述工作节点处理所述同步任务的增量数据的方式是采用内存进行处理的数据处理方式还是生成缓存文件的数据处理方式。
本发明的实施例还提供了一种异构数据同步系统,包括:多个工作节点,用于执行同步任务;管理节点,用于管理所述管理节点所在数据中心的工作节点和/或其它数据中心的工作节点;其中,所述管理节点包括:配置模块,用于接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息;调度模块,用于根据所述数据源配置信息、所述订阅配置信息以及各工作节点的节点信息获取用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点,并将所述同步任务分配至所述最优工作节点,以供所述最优工作节点执行所述同步任务。
于本发明的一实施例中,所述调度模块还用于根据所述数据源配置信息和所述订阅配置信息识别相同数据源的同步任务,将所述相同数据源的同步任务分配至同一工作节点。
于本发明的一实施例中,所述管理节点还包括:节点同步监控模块,用于接收执行所述同步任务的所述工作节点反馈的同步信息,根据所述工作节点反馈的同步信息对所述工作节点执行的所述同步任务进行监控,在监控到所述同步任务出现异常时生成一任务告警事件,并以预设方式进行告警。
于本发明的一实施例中,所述管理节点还包括:节点负载监控模块,用于对所述工作节点的节点负载进行监控,在监控到所述节点负载达到负载阈值时生成一节点告警事件,并以预设方式进行告警。
于本发明的一实施例中,所述管理节点还包括:节点数据处理方式控制模块,用于根据所述工作节点的节点负载和内存状态控制所述工作节点处理所述同步任务的增量数据的方式是采用内存进行处理的数据处理方式还是生成缓存文件的数据处理方式。
如上所述,本发明的异构数据同步方法及系统具有以下有益效果:
本发明采用管理节点+工作节点的模式,设置一管理节点,用于管理管理节点所在数据中心的工作节点和/或其它数据中心的工作节点,通过分布式的部署和智能的节点调度解决数据跨公网的问题,并通过B/S的结构允许使用者在WEB页面上增加、修改、运行、停止数据同步任务,通过订阅的模式,支持从数据源查询出来的一份数据,同时被多个数据宿使用,降低数据源的负载。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1显示为本发明的异构数据同步方法的流程示意图。
图2显示为本发明的异构数据同步方法和系统的架构图。
图3显示为本发明的异构数据同步方法中对工作节点执行的同步任务进行监控的流程示意图。
图4显示为本发明的异构数据同步方法中对工作节点的节点负载进行监控的流程示意图。
图5显示为本发明的异构数据同步方法中工作节点处理同步任务的全量查询生成增量数据的流程示意图。
图6显示为本发明的异构数据同步系统中管理节点的原理框图。
图7显示为本发明的异构数据同步系统中管理节点的一种优选原理框图。
元件标号说明
100 异构数据同步系统
110 管理节点
111 配置模块
112 调度模块
113 节点同步监控模块
114 节点负载监控模块
115 节点数据处理方式控制模块
120 工作节点
S110~S170 步骤
S151~S161 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1至图7。须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本实施例的目的在于提供一种异构数据同步方法及系统,采用管理节点+工作节点的模式,通过分布式的部署和智能的节点调度解决数据跨公网的问题,并通过B/S的结构允许使用者在WEB页面上增加、修改、运行、停止数据同步任务,通过订阅的模式,支持从数据源查询出来的一份数据,同时被多个数据宿使用,降低数据源的负载。
以下将详细阐述本发明的异构数据同步方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本发明的异构数据同步方法及系统。
如图1所示,本实施例提供了一种异构数据同步方法,所述异构数据同步方法包括:
步骤S110,设置一管理节点,用于管理所述管理节点所在数据中心的工作节点和/或其它数据中心的工作节点;
步骤S120,所述管理节点接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息;
步骤S130,所述管理节点根据所述数据源配置信息、所述订阅配置信息以及各工作节点的节点信息获取用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点;
步骤S140,所述管理节点将所述同步任务分配至所述最优工作节点,以供所述最优工作节点执行所述同步任务。
以下对本实施例异构数据同步方法中的步骤S110至步骤S140进行详细说明。
如图2所示,本实施例异构数据同步方法中采用的体系结构是管理节点110+工作节点120的管理控制模式。
步骤S110,设置一管理节点110,用于管理所述管理节点110所在数据中心的工作节点120和/或其它数据中心的工作节点120。
本实施例中,根据预估的数据同步量,将工作节点120分散的部署在不同的数据中心,例如图2中所示的数据中心A和数据中心B。工作节点120接收到管理节点110分配的任务后,启动数据同步任务。
其中,所述管理节点110设置于任一数据中心,所述管理节点110管理其所在的数据中心中的一个或多个工作节点120,也可以同时管理其它数据中心中的一个或多个工作节点120。管理节点110规划不同数据中心的工作节点120数量并进行处理,处理工作节点120宕机或资源不足的告警,为数据源发布者和数据订阅者分配权限等。
通过管理节点110统一的调度和分配可以充分的利用工作节点120的机器资源。一个工作节点120可以通过错开同步执行间隔、共享线程池、自适应的缓存策略等方式充分的利用资源支持大量的数据同步,相对各个数据的使用方去部署离线同步工具而言,可以提高整体的机器利用率。
步骤S120,所述管理节点110接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息。
于本实施例中,所述管理节点110通过B/S的结构允许数据源发布者和数据订阅者在WEB页面上增加、修改、运行、停止数据同步任务。使用者不需要操心同步节点的资源、高可用等问题,只需要在提供的WEB页面上配置任务,即可进行离线数据的同步。
所述数据源由数据的拥有者发布数据源。所有需要这个数据的使用者可以订阅自己所需要的字段,数据源根据自己的情况,配置同步的频率等配置信息,所述数据源配置信息包括但不限于数据源名称、数据源的订阅字段、数据同步的频率和数据增量阈值等。
例如,数据源提供者根据订阅者的需要配置数据源,主要配置项:
1)名称;
2)数据的查询逻辑;
3)选择要开放给外部订阅的字段;
4)根据数据源的情况,设置同步的间隔;
5)根据需要配置差量阈值。
配置差量阈值的原因是由于过多的数据变更被视为数据错误,为了避免将错误操作导致的数据问题,传导给其他的组件。
数据源提供者对订阅进行审核,关注数据源告警,及时处理数据源相关告警。
所述订阅配置信息数据由使用者根据需要选择数据源提供的字段进行订阅,并配置数据字段映射、写入数据宿等相关配置。其中,所述订阅配置信息包括但不限于数据宿和数据源字段和数据宿字段的映射关系等。
也就是说,数据订阅者找到需要订阅的数据源,并配置订阅,主要配置项:
1)指定数据写入的数据宿;
2)配置数据源和数据宿字段的映射关系;
3)可选的,配置自定义逻辑。
由于数据源有多个字段,数据宿也可能有多个字段,这些字段的名称可能不一致。因此当数据源的字段与数据宿的字段不一致时,需要通过额外的计算和数据的转换等自定义逻辑进行手动映射关系。
数据订阅者在数据源提供者审核通过后,即可开始进行同步。然后关注订阅告警,并及时处理订阅的相关告警。
特别地,于本实施例中,订阅配置信息时,订阅可以分为两类:
1)单源订阅:只从一个数据源订阅数据并写入。
2)多源订阅:从多个数据源订阅数据,把多个数据源的数据写入预设的临时数据库。并且允许订阅者通过配置SQL来对这多个数据源的数据进行计算,获取计算结果,并将计算结果统一写入到订阅者的数据宿。
所以本实施例的异构数据同步方法通过订阅的模式,支持从数据源查询出来的一份数据,同时被多个数据宿使用,降低数据源的负载。
步骤S130,所述管理节点110根据所述数据源配置信息、所述订阅配置信息以及各工作节点120的节点信息获取用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点120。
所述管理节点110根据数据源和数据宿的信息,通过工作节点120负载、工作节点120和数据源和数据宿的位置等因素,智能的为同步任务分配最合适的工作节点120。通过就近的工作节点120,可以避免跨公网执行对网络要求较高的操作(例如JDBC查询、写入),并且可以尽量的减少全量数据跨公网的传输。
如果是跨公网的传输由于网络不稳定且传输的数据量比较大,同步容易失败或卡住。如果查询数据源的同步数量比较多,会进一步消耗带宽提高失败率。数据源产生的数据,大部分是可以被共用的,调度通过识别相同数据源的订阅,将这些订阅尽量分配在一个工作节点120上,从而达到数据共享的目的。
相应地,于本实施例中,所述异构数据同步方法还包括:所述管理节点110根据所述数据源配置信息和所述订阅配置信息识别相同数据源的同步任务;所述管理节点110将所述相同数据源的同步任务分配至同一工作节点120。
对于需要被大量同步的热点数据,通过共享数据的方式可以将原先大量的数据请求减少到一次或几次,大大降低数据源的负载,避免数据源由于离线同步的原因造成的宕机或不可用,提高带宽的利用率并提高同步的成功率和及时性。
步骤S140,所述管理节点110将所述同步任务分配至所述最优工作节点120,以供所述最优工作节点120执行所述同步任务。最优工作节点120接收到所述管理节点110分配的任务后,启动数据同步任务。
其中,于本实施例中,以插件模式从所述数据源读取数据和向所述数据宿写入数据。Reader(数据读取)和Writer(数据写入)使用插件模式,可以扩展多种不同的读写介质(RDMS、NoSQL、RPC API等等)。通过插件化的Writer和Reader,可以快速的扩展出不同类型的数据源和数据宿,并且允许在数据同步的过程中,通过Groove、Java文件、jar文件等方式自定义部分处理逻辑,实现高度定制化的ETL逻辑。
于本实施例中,如图3所示,所述异构数据同步方法还包括:
步骤S150,所述管理节点110接收执行所述同步任务的所述工作节点120反馈的同步信息;
步骤S160,所述管理节点110根据所述工作节点120反馈的同步信息对所述工作节点120执行的所述同步任务进行监控;
步骤S170,在监控到所述同步任务出现异常时生成一任务告警事件,并以预设方式进行告警。
所述管理节点110根据配置信息,对工作节点120执行的同步任务进行监控。所述工作节点120将同步过程中产生的一些信息上报给所述管理节点110,所述管理节点110对于异常的同步任务,收集错误信息,并根据用户配置的监控和告警规则,产生告警事件,可以将告警事件通过邮件/短信的方式进行告警。
于本实施例中,如图4所示,所述异构数据同步方法还包括:
步骤S151,所述管理节点110对所述工作节点120的节点负载进行监控;
步骤S152,在监控到所述节点负载达到负载阈值时生成一节点告警事件,并以预设方式进行告警。
也就是说,于本实施例中,所述管理节点110同时监控当前工作节点120的健康状况,当出现工作节点120宕机或某个数据中心工作节点120资源达到配置的阀值时进行告警。
此外,于本实施例中,如图5所示,所述管理节点110还可以根据所述工作节点120的节点负载和内存状态控制所述工作节点120处理所述同步任务的增量数据的方式是采用内存进行处理的数据处理方式还是生成缓存文件的数据处理方式。
所述管理节点110通过对工作节点120内存压力和数据量的大小,智能的判断针对同步数据的计算使用内存还是文件作为缓存,在效率和资源的利用率上达到较好的平衡。
如图5所示,所述工作节点120处理所述同步任务的增量数据的流程如下:
同步工作节点120从数据源读取数据,若没有key缓存,生成key缓存,然后生成数据文件,判断是否有上个版本的key缓存,若有,则流式读取key缓存,并和刚刚查询出来的缓存(即上个版本的key缓存)对比增量,通过所述数据文件生成增量数据,形成新版本数据;若没有上个版本的key缓存,则生成全量数据(也就是整个版本的数据)并进行标记,形成新版本数据。后续还可以包括对最大延迟版本的数量进行判断,超过最大延迟版本,则删除最早的版本,若没有,则仅仅更新当前版本的缓存。工作节点120完成数据的同步。
由上可见,本发明的异构数据同步方法通过数据共享、分布式节点、跨公网增量传输的方式提高了带宽的利用率,并降低失败率,提高同步的及时性,充分利用工作节点120资源。
为实现上述异构数据的同步方法,本发明的实施例还提供了一种异构数据同步系统100,如图2所示,所示异构数据同步系统100包括:多个工作节点120和一个管理节点110。
多个工作节点120,用于执行同步任务。
所述管理节点110用于管理所述管理节点110所在数据中心的工作节点120和/或其它数据中心的工作节点120。
本实施例中,根据预估的数据同步量,将工作节点120分散的部署在不同的数据中心。工作节点120接收到管理节点110分配的任务后,启动数据同步任务。其中,所述管理节点110设置于任一数据中心,所述管理节点110管理其所在的数据中心中的一个或多个工作节点120,也可以同时管理其它数据中心中的一个或多个工作节点120。管理节点110规划不同数据中心的工作节点120数量并进行处理,处理工作节点120宕机/资源不足的告警,为数据源发布者和数据订阅者分配权限等。
通过管理节点110统一的调度和分配可以充分的利用工作节点120的机器资源。一个工作节点120可以通过错开同步执行间隔、共享线程池、自适应的缓存策略等方式充分的利用资源支持大量的数据同步,相对各个数据的使用方去部署离线同步工具而言,可以提高整体的机器利用率。
其中,如图6所示,所述管理节点110至少包括:配置模块111和调度模块112。
于本实施例中,所述配置模块111用于接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息。所述配置模块111提供配置界面,用户在配置中心进行的操作会被存储到数据库中。
所述配置模块111通过B/S的结构允许数据源发布者和数据订阅者在WEB页面上增加、修改、运行、停止数据同步任务。
所述数据源由数据的拥有者发布数据源。所有需要这个数据的使用者可以订阅自己所需要的字段,数据源根据自己的情况,配置同步的频率等配置信息,所述数据源配置信息包括但不限于数据源名称、数据源的订阅字段、数据同步的频率和数据增量阈值等。
例如,数据源提供者根据订阅者的需要配置数据源,主要配置项:
1)名称;
2)数据的查询逻辑;
3)选择要开放给外部订阅的字段;
4)根据数据源的情况,设置同步的间隔;
5)根据需要配置差量阀值。
配置差量阈值的原因是由于过多的数据变更被视为数据错误,为了避免将错误操作导致的数据问题,传导给其他的组件。
数据源提供者对订阅进行审核,关注数据源告警,及时处理数据源相关告警。
所述订阅配置信息数据由使用者根据需要选择数据源提供的字段进行订阅,并配置数据字段映射、写入数据宿等相关配置。其中,所述订阅配置信息包括但不限于数据宿和数据源字段和数据宿字段的映射关系等。
也就是说,数据订阅者找到需要订阅的数据源,并配置订阅,主要配置项:
1)指定数据写入到的数据宿;
2)配置数据源和数据宿字段的映射关系;
3)可选的,配置自定义逻辑。
由于数据源有多个字段,数据宿也可能有多个字段,这些字段的名称可能不一致。因此当数据源的字段与数据宿的字段不一致时,需要通过额外的计算和数据的转换等自定义逻辑进行手动映射关系。
数据订阅者在数据源提供者审核通过后,即可开始进行同步。然后关注订阅告警,并及时处理订阅的相关告警。
特别地,于本实施例中,订阅配置信息时,订阅可以分为两类:
1)单源订阅:只从一个数据源订阅数据并写入。
2)多源订阅:从多个数据源源订阅数据,把多个数据源的数据写入预设的临时数据库。并且允许订阅者通过配置SQL来对这多个数据源的数据进行计算,获取计算结果,并将计算结果统一写入到订阅者的数据宿。
所以本实施例的异构数据同步系统100通过订阅的模式,支持从数据源查询出来的一份数据,同时被多个数据宿使用,降低数据源的负载。
所述调度模块112监控所述配置模块111的数据变更,通过调度逻辑为数据同步任务分配可用的工作节点120。
于本实施例中,所述调度模块112用于根据所述数据源配置信息、所述订阅配置信息以及各工作节点120的节点信息获取用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点120,并将所述同步任务分配至所述最优工作节点120,以供所述最优工作节点120执行所述同步任务。
所述调度模块112根据数据源和数据宿的信息,通过工作节点120负载、工作节点120和数据源和数据宿的位置等因素,智能的为同步任务分配最合适的工作节点120。通过就近的工作节点120,可以避免跨公网执行对网络要求较高的操作(例如JDBC查询、写入),并且可以尽量的减少全量数据跨公网的传输。
如果是跨公网的传输由于网络不稳定且传输的数据量比较大,同步容易失败或卡住。如果查询数据源的同步数量比较多,会进一步消耗带宽提高失败率。数据源产生的数据,大部分是可以被共用的,所述调度模块112调度通过识别相同数据源的订阅,将这些订阅尽量分配在一个工作节点120上,从而达到数据共享的目的。
相应地,于本实施例中,所述调度模块112还用于根据所述数据源配置信息和所述订阅配置信息识别相同数据源的同步任务,将所述相同数据源的同步任务分配至同一工作节点120。
对于需要被大量同步的热点数据,通过共享数据的方式可以将原先大量的数据请求减少到一次或几次,大大降低数据源的负载,避免数据源由于离线同步的原因造成的宕机或不可用,提高带宽的利用率并提高同步的成功率和及时性。
所述调度模块112将所述同步任务分配至所述最优工作节点120,以供所述最优工作节点120执行所述同步任务。最优工作节点120接收到所述调度模块112分配的任务后,启动数据同步任务。
其中,于本实施例中,以插件模式从所述数据源读取数据和向所述数据宿写入数据。Reader(数据读取)和Writer(数据写入)使用插件模式,可以扩展多种不同的读写介质(RDMS、NoSQL、RPC API等等)。通过插件化的Writer和Reader,可以快速的扩展出不同类型的数据源和数据宿,并且允许在数据同步的过程中,通过Groove、Java文件、jar文件等方式自定义部分处理逻辑,实现高度定制化的ETL逻辑。
于本实施例中,如图7所示,所述管理节点110还包括:节点同步监控模块113,用于接收执行所述同步任务的所述工作节点120反馈的同步信息,根据所述工作节点120反馈的同步信息对所述工作节点120执行的所述同步任务进行监控,在监控到所述同步任务出现异常时生成一任务告警事件,并以预设方式进行告警。
也就是说,所述节点同步监控模块113根据配置信息,对工作节点120执行的同步任务进行监控。所述工作节点120将同步过程中产生的一些信息上报给所述节点同步监控模块113,所述节点同步监控模块113对于异常的同步任务,收集错误信息,并根据用户配置的监控和告警规则,产生告警事件,可以将告警事件通过邮件/短信的方式进行告警。
工作节点120执行实际的同步任务,并将同步过程中产生的各种信息上报给节点同步监控模块113,所述节点同步监控模块113通过接收工作节点120上报的信息,为调度模块112的调度提供数据依据,同时根据配置模块111的告警规则生成告警,并通过邮件/短信的方式通知给用户。
于本实施例中,如图7所示,所述管理节点110还包括:节点负载监控模块114,用于对所述工作节点120的节点负载进行监控,在监控到所述节点负载达到负载阈值时生成一节点告警事件,并以预设方式进行告警。
也就是说,于本实施例中,所述节点负载监控模块114监控当前工作节点120的健康状况,当出现工作节点120宕机或某个数据中心工作节点120资源达到配置的阀值时进行告警。
于本实施例中,如图7所示,所述管理节点110还包括:节点数据处理方式控制模块115,用于根据所述工作节点120的节点负载和内存状态控制所述工作节点120处理所述同步任务的增量数据的方式是采用内存进行处理的数据处理方式还是生成缓存文件的数据处理方式。
所述节点数据处理方式控制模块115通过对工作节点120内存压力和数据量的大小,智能的判断针对同步数据的计算使用内存还是文件作为缓存,在效率和资源的利用率上达到较好的平衡。
综上所述,本发明采用管理节点+工作节点的模式,设置一管理节点,用于管理管理节点所在数据中心的工作节点和/或其它数据中心的工作节点,通过分布式的部署和智能的节点调度解决数据跨公网的问题,并通过B/S的结构允许使用者在WEB页面上增加、修改、运行、停止数据同步任务,通过订阅的模式,支持从数据源查询出来的一份数据,同时被多个数据宿使用,降低数据源的负载。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中包括通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种异构数据同步方法,其特征在于:所述异构数据同步方法包括:
设置一管理节点,用于管理所述管理节点所在数据中心的工作节点和/或其它数据中心的工作节点;
所述管理节点接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息;其中,所述管理节点通过浏览器/服务器的结构使数据源发布者和数据订阅者在网络页面上进行数据同步任务操作;所述数据源配置信息包括但不限于数据源名称、数据源的订阅字段、数据同步的频率和数据增量阈值;所述订阅配置信息为根据所述数据订阅者订阅的数据源的字段配置的信息;
所述管理节点根据所述数据源配置信息、所述订阅配置信息,基于工作节点的负载、所述工作节点和所述数据源、所述数据宿的至少位置关系确定就近工作节点,作为用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点;
所述管理节点将所述同步任务分配至所述最优工作节点,以供所述最优工作节点执行所述同步任务。
2.根据权利要求1所述的异构数据同步方法,其特征在于:所述异构数据同步方法还包括:
所述管理节点根据所述数据源配置信息和所述订阅配置信息识别相同数据源的同步任务;
所述管理节点将所述相同数据源的同步任务分配至同一工作节点。
3.根据权利要求1所述的异构数据同步方法,其特征在于:所述异构数据同步方法还包括:
所述管理节点接收执行所述同步任务的所述工作节点反馈的同步信息;
所述管理节点根据所述工作节点反馈的同步信息对所述工作节点执行的所述同步任务进行监控;
在监控到所述同步任务出现异常时生成一任务告警事件,并以预设方式进行告警。
4.根据权利要求3所述的异构数据同步方法,其特征在于:所述异构数据同步方法还包括:
所述管理节点对所述工作节点的节点负载进行监控;
在监控到所述节点负载达到负载阈值时生成一节点告警事件,并以预设方式进行告警。
5.根据权利要求1所述的异构数据同步方法,其特征在于:所述管理节点根据所述工作节点的节点负载和内存状态控制所述工作节点处理所述同步任务的增量数据的方式是采用内存进行处理的数据处理方式还是生成缓存文件的数据处理方式。
6.一种异构数据同步系统,其特征在于:包括:
多个工作节点,用于执行同步任务;
管理节点,用于管理所述管理节点所在数据中心的工作节点和/或其它数据中心的工作节点;其中,所述管理节点包括:
配置模块,用于接收数据源配置信息和接收用于配置将至少一个数据源的数据同步到数据宿的订阅配置信息;其中,所述配置模块通过浏览器/服务器的结构使数据源发布者和数据订阅者在网络页面上进行数据同步任务操作;所述数据源配置信息包括但不限于数据源名称、数据源的订阅字段、数据同步的频率和数据增量阈值;所述订阅配置信息为根据所述数据订阅者订阅的数据源的字段配置的信息;
调度模块,用于根据所述数据源配置信息、所述订阅配置信息,基于工作节点的负载、所述工作节点和所述数据源、所述数据宿的至少位置关系确定就近工作节点,作为用于执行将所述数据源的数据同步到所述数据宿的同步任务的最优工作节点,并将所述同步任务分配至所述最优工作节点,以供所述最优工作节点执行所述同步任务。
7.根据权利要求6所述的异构数据同步系统,其特征在于:所述调度模块还用于根据所述数据源配置信息和所述订阅配置信息识别相同数据源的同步任务,将所述相同数据源的同步任务分配至同一工作节点。
8.根据权利要求6所述的异构数据同步系统,其特征在于:所述管理节点还包括:
节点同步监控模块,用于接收执行所述同步任务的所述工作节点反馈的同步信息,根据所述工作节点反馈的同步信息对所述工作节点执行的所述同步任务进行监控,在监控到所述同步任务出现异常时生成一任务告警事件,并以预设方式进行告警。
9.根据权利要求6所述的异构数据同步系统,其特征在于:所述管理节点还包括:
节点负载监控模块,用于对所述工作节点的节点负载进行监控,在监控到所述节点负载达到负载阈值时生成一节点告警事件,并以预设方式进行告警。
10.根据权利要求6所述的异构数据同步系统,其特征在于:所述管理节点还包括:
节点数据处理方式控制模块,用于根据所述工作节点的节点负载和内存状态控制所述工作节点处理所述同步任务的增量数据的方式是采用内存进行处理的数据处理方式还是生成缓存文件的数据处理方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711340965.5A CN109962936B (zh) | 2017-12-14 | 2017-12-14 | 异构数据同步方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711340965.5A CN109962936B (zh) | 2017-12-14 | 2017-12-14 | 异构数据同步方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109962936A CN109962936A (zh) | 2019-07-02 |
CN109962936B true CN109962936B (zh) | 2022-03-29 |
Family
ID=67018220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711340965.5A Active CN109962936B (zh) | 2017-12-14 | 2017-12-14 | 异构数据同步方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109962936B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110598147A (zh) * | 2019-07-30 | 2019-12-20 | 东软集团股份有限公司 | 一种跨域通信方法、装置及设备 |
CN112307128A (zh) * | 2020-11-26 | 2021-02-02 | 中国—东盟信息港股份有限公司 | 一种基于分布式的异构数据同步系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854400A (zh) * | 2010-06-09 | 2010-10-06 | 中兴通讯股份有限公司 | 一种数据库同步部署及监控的方法和装置 |
US8635373B1 (en) * | 2012-09-22 | 2014-01-21 | Nest Labs, Inc. | Subscription-Notification mechanisms for synchronization of distributed states |
CN103942324A (zh) * | 2014-04-29 | 2014-07-23 | 北京中科启信软件技术有限公司 | 数据实时同步系统及方法 |
CN105007294A (zh) * | 2015-05-26 | 2015-10-28 | 华北电力大学(保定) | 输变电设备状态监测大数据快速接收和分发系统 |
CN106027665A (zh) * | 2016-06-29 | 2016-10-12 | 国家电网公司 | 一种基于调度数据网的广域信息传输系统 |
CN106302672A (zh) * | 2016-08-05 | 2017-01-04 | 上海斐讯数据通信技术有限公司 | 网络管理系统及其数据同步方法 |
CN106375362A (zh) * | 2015-07-24 | 2017-02-01 | 广州市百果园信息技术有限公司 | 分布式服务器的缓存同步方法及系统 |
-
2017
- 2017-12-14 CN CN201711340965.5A patent/CN109962936B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854400A (zh) * | 2010-06-09 | 2010-10-06 | 中兴通讯股份有限公司 | 一种数据库同步部署及监控的方法和装置 |
US8635373B1 (en) * | 2012-09-22 | 2014-01-21 | Nest Labs, Inc. | Subscription-Notification mechanisms for synchronization of distributed states |
CN103942324A (zh) * | 2014-04-29 | 2014-07-23 | 北京中科启信软件技术有限公司 | 数据实时同步系统及方法 |
CN105007294A (zh) * | 2015-05-26 | 2015-10-28 | 华北电力大学(保定) | 输变电设备状态监测大数据快速接收和分发系统 |
CN106375362A (zh) * | 2015-07-24 | 2017-02-01 | 广州市百果园信息技术有限公司 | 分布式服务器的缓存同步方法及系统 |
CN106027665A (zh) * | 2016-06-29 | 2016-10-12 | 国家电网公司 | 一种基于调度数据网的广域信息传输系统 |
CN106302672A (zh) * | 2016-08-05 | 2017-01-04 | 上海斐讯数据通信技术有限公司 | 网络管理系统及其数据同步方法 |
Non-Patent Citations (2)
Title |
---|
QoS保障的异构数据库复制网络服务;郝之晓;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215;正文第39页 * |
发布/订阅模式下信息仓库联邦数据同步机制的研究;杨帆;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140415;正文第17,24-26,28页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109962936A (zh) | 2019-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109995669B (zh) | 分布式限流方法、装置、设备及可读存储介质 | |
CN101645022B (zh) | 用于多个集群的作业调度管理系统及方法 | |
CN108304473B (zh) | 数据源之间的数据传输方法和系统 | |
CN107122262B (zh) | 基于agent的数据库智能备份系统 | |
WO2017050176A1 (zh) | 一种数据同步方法和装置 | |
US20130117226A1 (en) | Method and A System for Synchronizing Data | |
US7606804B2 (en) | System and method for information management in a distributed network | |
CN108241528B (zh) | 一种用户自定义海量网络安全数据动态采集方法 | |
US8572047B2 (en) | Method and system for data update synchronization by two-phase commit | |
CN109687986B (zh) | 一种基于私有云平台的Redis运维方法及系统 | |
CN109962936B (zh) | 异构数据同步方法及系统 | |
CN111580990A (zh) | 一种任务调度方法、调度节点、集中配置服务器及系统 | |
CN116777182B (zh) | 半导体晶圆制造执行任务派工方法 | |
CN101997701B (zh) | 数据处理方法及装置 | |
CN115756783A (zh) | 跨子系统的空间任务依赖调度方法与系统 | |
US20190146839A1 (en) | Distributed data platform resource allocator | |
CN111858722A (zh) | 一种基于物联网的大数据应用系统及方法 | |
WO2017161820A1 (zh) | 一种服务器分组管理方法、装置和电子设备 | |
CN108595480A (zh) | 一种基于云计算的大数据etl工具系统及应用方法 | |
EP2052325A1 (en) | Reduction of message flow between bus-connected consumers and producers | |
CN111258840B (zh) | 一种集群节点管理方法、装置及集群 | |
Zhou et al. | AHPA: adaptive horizontal pod autoscaling systems on alibaba cloud container service for kubernetes | |
CN103226572A (zh) | 一种基于数据压缩的可扩展的监控方法及系统 | |
CN105187490A (zh) | 一种物联网数据的中转处理方法 | |
CN113378219B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |