CN112307114A - 一种数据交换方法、装置以及存储介质 - Google Patents
一种数据交换方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN112307114A CN112307114A CN201910704255.9A CN201910704255A CN112307114A CN 112307114 A CN112307114 A CN 112307114A CN 201910704255 A CN201910704255 A CN 201910704255A CN 112307114 A CN112307114 A CN 112307114A
- Authority
- CN
- China
- Prior art keywords
- data
- tasks
- workflow
- configuration
- task
- 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 51
- 238000012546 transfer Methods 0.000 claims abstract description 15
- 230000000977 initiatory effect Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 16
- 238000007639 printing Methods 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
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
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
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)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种数据交换方法、装置以及存储介质,其中,该方法包括:根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及启动多个任务,将数据从源端转移至目的端。从而达到了分布式数据同步交换和不同种数据从源端到目的端的目的。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据交换方法、装置以及存储介质。
背景技术
随着公司业务规模的不断扩大,公司内部的各条业务线、各个业务***都会积累大量的业务数据,需要大量地、频繁地数据交互。所以需要一套比较完善的数据交换***,将分散于各个独立的业务***的零散数据统一收集、规划管理,将所有的数据打通、共享利用,服务公司内外部用户,满足数据分布式存储和查询的需求。
现有的技术基于MySQL的binlog方式进行数据的订阅。但是这种方式会有一些冗余数据,而且仅支持同一种数据源进行数据同步,如果涉及到不同的数据源端到不同的目的端和分布式数据同步,该技术无法实现。
针对上述技术中存在的基于MySQL的binlog方式会有冗余数据,且不支持不同的数据源端到不同的目的端和分布式数据同步的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种数据交换方法、装置以及存储介质,以至少解决现有技术中存在的基于MySQL的binlog方式会有冗余数据,且不支持不同的数据源端到不同的目的端和分布式数据同步的技术问题。
根据本公开实施例的一个方面,提供了一种数据交换方法,包括:根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及启动多个任务,将数据从源端转移至目的端。
根据本公开实施例的另一个方面,还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种数据交换装置,包括:生成模块,用于根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;部署模块,用于根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及启动模块,用于启动多个任务,将数据从源端转移至目的端。
根据本公开实施例的另一个方面,还提供了一种数据交换装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及启动多个任务,将数据从源端转移至目的端。
在本公开实施例中,采用数据交换的方式,通过配置信息生成用于数据交换的工作流,根据工作流部署多个任务并且启动多个任务,达到了将多个任务从源端转移至目的端的目的,从而实现了多种数据从源端转移至目的端并且数据分布式同步的技术效果。进而解决了现有技术中存在的基于MySQL的binlog方式会有冗余数据,且不支持不同的数据源端到不同的目的端和分布式数据同步的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算机终端的硬件结构框图;
图2是根据本公开实施例1所述的数据交换方法的流程示意图;
图3是根据本公开实施例1所述的数据交换方法的架构示意图;
图4是根据本公开实施例1所述的启动多个任务的架构示意图;
图5是根据本公开实施例2所述的数据交换装置的示意图;以及
图6是根据本公开实施例3所述的数据交换装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Helix:Helix是一种通用的集群管理框架,用于自动管理托管在节点集群上的分区,复制和分布式资源。Helix在面对节点故障和恢复,集群扩展和重新配置时自动重新分配资源。
ZooKeeper:ZooKeeper是Apachede的一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致***的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
实施例1
根据本实施例,提供了一种数据交换方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现数据交换方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本公开实施例中的数据交换方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的数据交换方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种数据交换方法,该方法例如可以由图1中所示的计算设备实现。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S302:根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;
S304:根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及
S306:启动多个任务,将数据从源端转移至目的端。
正如背景技术中所述的,现有的技术基于MySQL的binlog方式进行数据的订阅。但是这种方式会有一些冗余数据,而且仅支持同一种数据源进行数据同步,如果涉及到不同的数据源端到不同的目的端和分布式数据同步,该技术无法实现。
针对现有技术中存在的技术问题,本实施例技术方案提供了一种数据交换方法,参考图3所示,本实施例中的数据交换方法例如可以是基于Helix框架的数据交换方法。dataexadmin数据后台管理根据用户输入的配置信息,生成用于进行数据交换的工作流workflow,其中配置信包括:资源配置、JOB配置、TASK配置、流控配置以及其他配置(对应于步骤S302)。当然,配置信息也可以是其他配置信息。
进一步地,控制器Helix Controller进行调度工作流workflow并触发多个任务。其中多个任务用于将数据从一个源端经由数据通道到目的端(步骤S304)。参与者程序dataex participant启动多个任务,将源端转移至目的端(对应于S306)。
从而通过这种方式,基于Helix框架直接定义多个集群和节点,dataexadmin数据后台管理生成工作流workflow,控制器Helix Controller进行调度工作流workflow并触发多个任务。并启动多个参与者进程,数据从一个源端经由数据通道到目的端,使得多个任务分布式进行,支持多种数据分布式同步进行。而且支持多种数据源从源端到目的端。并且由于不再基于MySQL的binlog方式进行数据的订阅,因此避免了冗余内容的产生。
需要说明的是,尽管在本实施例中,是基于Helix框架用于数据交换。首先使用Helix相关脚本进行Helix集群定义,并添加节点,其中集群定义和节点添加均存储在到预先设置的协调服务程序ZooKeeper。但是本实施例的方案同样适用于其他框架的数据交换,只要按照本实施例中所述的方法流程(S302~S306)即可。
可选地,根据所生成的工作流,部署与数据交换相关的多个任务的操作,包括:将工作流注册到预先设置的协调服务程序,其中协调服务程序用于为分布式应用提供一致***;利用协调服务程序根据工作流生成用于部署多个任务的参与者程序;以及利用所生成的参与者程序,部署多个任务。
具体地,工作流workflow需要调用服务Helix RestServer的接口,将工作流workflow注册到预先设置的协调服务程序ZooKeeper,然后控制器Helix Controller会感知到预先设置的协调服务程序ZooKeeper的变化,控制器Helix Controller调度工作流workflow并触发任务的执行。其中,多个任务是在多个参与者程序dataex participant中执行的。如果其中某个参与者程序dataex participant挂掉了,控制器Helix Controller进行管理调度进行故障转移至其他参与者程序dataex participant。
从而能够保障多个分布式任务能够在多个参与者程序dataex participant同步进行,多种数据源从源端转移至目的端。
可选地,根据所生成的工作流,部署与数据交换相关的多个任务的操作,还包括:利用协调服务程序加载多个任务;和/或利用协调服务程序注册多个任务。
具体地,根据所生成的工作流workflow,部署与数据交换相关的多个任务需要利用任务加载器将多个任务加载到虚拟机JVM中;和/或利用任务注册器将多个任务注册到参与者程序dataex participant中。
从而,将多个任务加载和注册,从而等待任务的触发。
可选地,启动多个任务,将数据从源端转移至目的端的操作,包括:利用多个任务执行器中的第一任务执行器,从源端读取数据;利用多个任务执行器中的第二任务执行器,将数据写入数据通道;利用多个任务执行器中的第三任务执行器,从数据通道加载数据;以及利用多个任务执行器中的第四任务执行器,将从数据通加载的数据,写入目的端。
参考图4所示,根据本实施例的方法,可以启动多个任务,将数据从源端转移至目的端。任务被触发后,多个任务均运行在不同的执行器当中,每个执行器对应一个线程。利用多个任务执行器中的第一任务执行器Reader执行器,从源端读取数据;利用多个任务执行器中的第二任务执行器Writer执行器,将数据写入数据通道;利用多个任务执行器中的第三任务执行器Loader执行器,从数据通道加载数据;以及利用多个任务执行器中的第四任务执行器其他执行器,将从数据通道加载的数据,写入目的端。当然,可能还包括其他的任务执行器。
从而通过这种方式,将不同种数据从源端传送到目的端。
可选地,根据所生成的工作流,部署与数据交换相关的多个任务的操作,还包括:将开发的插件打成软件包文件格式上传至不同的目录,其中软件包文件格式用于被任务加载。
具体地,将开发的插件打成软件包文件格式上传至不同的目录,其中软件包文件格式用于被任务加载。例如,软件包文件格式是JAR包。不同的插件采用不同的JAR包隔离机制,可以避免运行时的JAR包冲突。从而可以使得多个任务正常运行。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质104。所述存储介质104包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
从而根据本实施例,提供了一种数据交换的方法,dataexadmin数据后台管理生成工作流workflow,工作流workflow需要调用服务Helix RestServer的接口,将工作流workflow注册到预先设置的协调服务程序ZooKeeper,控制器Helix Controller会感知到预先设置的协调服务程序ZooKeeper的变化,然后进行调度工作流workflow并触发多个任务。启动多个参与者进程,数据从一个源端经由数据通道到目的端,使得多个任务分布式进行,支持多种数据分布式同步进行。多个任务将数据从一个源端经由数据通道到目的端。
从而基于这种方式,使得多种数据从源端经由数据通道到目的端,多种数据分布式同步进行。从而解决了现有技术中存在的基于MySQL的binlog方式不支持不同的数据源端到不同的目的端和分布式数据同步的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图5示出了根据本实施例所述的数据交换装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:生成模块510,用于根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;部署模块520,用于根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及启动模块530,用于启动多个任务,将数据从源端转移至目的端。
可选地,部署模块520,包括:注册子模块,用于将工作流注册到预先设置的协调服务程序,其中协调服务程序用于为分布式应用提供一致***;生成子模块,用于利用协调服务程序根据工作流生成用于部署多个任务的参与者程序;以及部署子模块,用于利用所生成的参与者程序,部署多个任务。
可选地,部署模块520,还包括:加载子模块,用于利用任务加载器加载多个任务;和/或注册子模块,用于利用任务注册器注册多个任务。
可选地,启动模块530,包括:读取子模块,用于利用多个任务执行器中的第一任务执行器,从源端读取数据;写入子模块,用于利用多个任务执行器中的第二任务执行器,将数据写入数据通道;加载子模块,用于利用多个任务执行器中的第三任务执行器,从数据通道加载数据;以及其他子模块,用于利用多个任务执行器中的第四任务执行器,将从数据通道加载的数据,写入目的端。
可选地,部署模块520,还包括:上传子模块,将开发的插件打成软件包文件格式上传至不同的目录,其中软件包文件格式用于被任务加载。
从而根据本实施例,提供了一种数据交换装置500,数据后台管理生成工作流,工作流需要调用服务的接口,将工作流注册到预先设置的协调服务程序,控制器会感知到预先设置的协调服务程序的变化,然后进行调度工作流并触发多个任务。启动多个参与者进程,数据从一个源端经由数据通道到目的端,使得多个任务分布式进行,支持多种数据分布式同步进行。多个任务将数据从一个源端经由数据通道到目的端。
从而基于这种装置,使得多个任务分布式进行,支持多种数据分布式同步进行。而且支持多种数据源从源端到目的端。从而解决了现有技术中存在的基于MySQL的binlog方式会有冗余数据,且不支持不同的数据源端到不同的目的端和分布式数据同步的技术问题。
实施例3
图6示出了根据本实施例的数据交换装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:处理器610;以及存储器620,与处理器610连接,用于为处理器610提供处理以下处理步骤的指令:根据用户输入的配置信息,生成用于进行数据交换的工作流,其中配置信息用于描述与数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;根据所生成的工作流,部署与数据交换相关的多个任务,其中多个任务用于经由数据通道将数据从源端转移至目的端;以及启动多个任务,将数据从源端转移至目的端。
可选地,根据所生成的工作流,部署与数据交换相关的多个任务的操作,包括:将工作流注册到预先设置的协调服务程序,其中协调服务程序用于为分布式应用提供一致***;利用协调服务程序根据工作流生成用于部署多个任务的参与者程序;以及利用所生成的参与者程序,部署多个任务。
可选地,根据所生成的工作流,部署与数据交换相关的多个任务的操作,还包括:利用任务加载器加载多个任务;和/或利用任务注册器注册多个任务。
可选地,启动多个任务,将数据从源端转移至目的端的操作,包括:
利用多个任务执行器中的第一任务执行器,从源端读取数据;利用多个任务执行器中的第二任务执行器,将数据写入数据通道;利用多个任务执行器中的第三任务执行器,从数据通道加载数据;以及利用多个任务执行器中的第四任务执行器,将从数据通道读取的数据,写入目的端。
可选地,根据所生成的工作流,部署与数据交换相关的多个任务的操作,还包括:将开发的插件打成软件包文件格式上传至不同的目录,其中软件包文件格式用于被任务加载。
从而根据本实施例,提供了一种数据交换装置500,数据后台管理生成工作流,工作流需要调用服务的接口,将工作流注册到预先设置的协调服务程序,控制器会感知到预先设置的协调服务程序的变化,然后进行调度工作流并触发多个任务。启动多个参与者进程,数据从一个源端经由数据通道到目的端,使得多个任务分布式进行,支持多种数据分布式同步进行。多个任务将数据从一个源端经由数据通道到目的端。
从而基于这种装置,使得多个任务分布式进行,支持多种数据分布式同步进行。而且支持多种数据源从源端到目的端。从而解决了现有技术中存在的基于MySQL的binlog方式会有冗余数据,且不支持不同的数据源端到不同的目的端和分布式数据同步的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据交换方法,其特征在于,包括:
根据用户输入的配置信息,生成用于进行数据交换的工作流,其中所述配置信息用于描述与所述数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;
根据所生成的工作流,部署与所述数据交换相关的多个任务,其中所述多个任务用于经由数据通道将数据从源端转移至目的端;以及
启动所述多个任务,将所述数据从所述源端转移至所述目的端。
2.根据权利要求1所述的方法,其特征在于,根据所生成的工作流,部署与所述数据交换相关的多个任务的操作,包括:
将所述工作流注册到预先设置的协调服务程序,其中所述协调服务程序用于为分布式应用提供一致***;
利用所述协调服务程序根据所述工作流生成用于部署所述多个任务的参与者程序;以及
利用所生成的参与者程序,部署所述多个任务。
3.根据权利要求2所述的方法,其特征在于,根据所生成的工作流,部署与所述数据交换相关的多个任务的操作,还包括:
利用任务加载器加载所述多个任务;
和/或利用任务注册器注册所述多个任务。
4.根据权利要求1所述的方法,其特征在于,启动所述多个任务,将所述数据从所述源端转移至所述目的端的操作,包括:
利用所述多个任务执行器中的第一任务执行器,从所述源端读取所述数据;
利用所述多个任务执行器中的第二任务执行器,将所述数据写入所述数据通道;
利用所述多个任务执行器中的第三任务执行器,从所述数据通道加载所述数据;以及
利用所述多个任务执行器中的第四任务执行器,将从所述数据通道加载的所述数据,写入所述目的端。
5.根据权利要求1所述的方法,其特征在于,根据所生成的工作流,部署与所述数据交换相关的多个任务的操作,还包括:
将开发的插件打成软件包文件格式上传至不同的目录,其中所述软件包文件格式用于被所述任务加载。
6.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至5中任意一项所述的方法。
7.一种数据交换装置,其特征在于,包括:
生成模块,用于根据用户输入的配置信息,生成用于进行数据交换的工作流,其中所述配置信息用于描述与所述数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;
部署模块,用于根据所生成的工作流,部署与所述数据交换相关的多个任务,其中所述多个任务用于经由数据通道将数据从源端转移至目的端;以及
启动模块,用于启动所述多个任务,将所述数据从所述源端转移至所述目的端。
8.根据权利要求7所述的装置,其特征在于,所述部署模块,包括:
注册子模块,用于将所述工作流注册到预先设置的协调服务程序,其中所述协调服务程序用于为分布式应用提供一致***;
生成子模块,用于利用所述协调服务程序根据所述工作流生成用于部署所述多个任务的参与者程序;以及
部署子模块,用于利用所生成的参与者程序,部署所述多个任务。
9.根据权利要求7所述的装置,其特征在于,所述部署模块,还包括:
加载子模块,用于利用任务加载器加载多个任务;和/或注册子模块,用于利用任务注册器注册多个任务。
10.一种数据交换装置,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
根据用户输入的配置信息,生成用于进行数据交换的工作流,其中所述配置信息用于描述与所述数据交换相关的以下至少一项配置:资源配置、任务配置、流控配置、JOB配置、工作流配置;
根据所生成的工作流,部署与所述数据交换相关的多个任务,其中所述多个任务用于经由数据通道将数据从源端转移至目的端;以及
启动所述多个任务,将所述数据从所述源端转移至所述目的端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704255.9A CN112307114A (zh) | 2019-07-31 | 2019-07-31 | 一种数据交换方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910704255.9A CN112307114A (zh) | 2019-07-31 | 2019-07-31 | 一种数据交换方法、装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112307114A true CN112307114A (zh) | 2021-02-02 |
Family
ID=74486363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910704255.9A Pending CN112307114A (zh) | 2019-07-31 | 2019-07-31 | 一种数据交换方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112307114A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064742A (zh) * | 2012-12-25 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 一种hadoop集群的自动部署***及方法 |
CN103810023A (zh) * | 2014-03-06 | 2014-05-21 | 中国科学院信息工程研究所 | 一种云平台中分布式应用的智能部署方法及*** |
CN106485465A (zh) * | 2016-09-22 | 2017-03-08 | 济南浪潮高新科技投资发展有限公司 | 一种可配置的定时数据同步方法 |
US20170357553A1 (en) * | 2016-06-14 | 2017-12-14 | EMC IP Holding Company LLC | Method and device for data backup |
CN108647083A (zh) * | 2018-04-28 | 2018-10-12 | 北京京东金融科技控股有限公司 | 任务执行方法、装置、***、电子设备及计算机可读介质 |
CN109726004A (zh) * | 2017-10-27 | 2019-05-07 | 中移(苏州)软件技术有限公司 | 一种数据处理方法及装置 |
CN109783201A (zh) * | 2017-11-13 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 数据交换方法及其*** |
US20190171650A1 (en) * | 2017-12-01 | 2019-06-06 | Chavdar Botev | System and method to improve data synchronization and integration of heterogeneous databases distributed across enterprise and cloud using bi-directional transactional bus of asynchronous change data system |
-
2019
- 2019-07-31 CN CN201910704255.9A patent/CN112307114A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064742A (zh) * | 2012-12-25 | 2013-04-24 | 中国科学院深圳先进技术研究院 | 一种hadoop集群的自动部署***及方法 |
CN103810023A (zh) * | 2014-03-06 | 2014-05-21 | 中国科学院信息工程研究所 | 一种云平台中分布式应用的智能部署方法及*** |
US20170357553A1 (en) * | 2016-06-14 | 2017-12-14 | EMC IP Holding Company LLC | Method and device for data backup |
CN106485465A (zh) * | 2016-09-22 | 2017-03-08 | 济南浪潮高新科技投资发展有限公司 | 一种可配置的定时数据同步方法 |
CN109726004A (zh) * | 2017-10-27 | 2019-05-07 | 中移(苏州)软件技术有限公司 | 一种数据处理方法及装置 |
CN109783201A (zh) * | 2017-11-13 | 2019-05-21 | 北京京东尚科信息技术有限公司 | 数据交换方法及其*** |
US20190171650A1 (en) * | 2017-12-01 | 2019-06-06 | Chavdar Botev | System and method to improve data synchronization and integration of heterogeneous databases distributed across enterprise and cloud using bi-directional transactional bus of asynchronous change data system |
CN108647083A (zh) * | 2018-04-28 | 2018-10-12 | 北京京东金融科技控股有限公司 | 任务执行方法、装置、***、电子设备及计算机可读介质 |
Non-Patent Citations (1)
Title |
---|
JUNKAI XUE: "Managing Distributed Tasks with Helix Task Framework", pages 1 - 3, Retrieved from the Internet <URL:https://engineering.linkedin.com/blog/2019/01/managing-distributed-tasks-with-helix-task-framework> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809722B (zh) | 一种部署Kubernetes集群的方法、装置和存储介质 | |
CN104734931B (zh) | 一种虚拟网络功能间链路建立方法及装置 | |
EP3455728B1 (en) | Orchestrator for a virtual network platform as a service (vnpaas) | |
CN107332750B (zh) | 一种业务部署方法、装置以及网元 | |
CN111091429A (zh) | 电子票据标识分配方法及装置、电子票据生成*** | |
CN107959582B (zh) | 一种切片实例的管理方法及装置 | |
CN103152390B (zh) | 分布式存储***的节点配置方法、装置、节点及*** | |
CN109120444B (zh) | 云资源管理方法、处理器以及存储介质 | |
CN108595670B (zh) | 一种数据存储方法、装置、计算机装置及存储介质 | |
CN104769886A (zh) | 添加全装置能力和参数到分离架构装置 | |
CN110532493B (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN112416969A (zh) | 分布式数据库中的并行任务调度*** | |
CN107704550A (zh) | 文件迁移方法、装置以及计算机可读存储介质 | |
CN105634635B (zh) | 一种共享rtc的方法、装置和*** | |
CN110944067A (zh) | 一种负载均衡方法和服务器 | |
CN105099774A (zh) | 一种路由器软件升级方法及*** | |
CN117493027A (zh) | 热升级方法、装置及电子设备 | |
CN111459510A (zh) | 跨网络操作***的安装方法、装置、电子设备及介质 | |
CN117251177A (zh) | 基于容器化技术的微服务部署方法、装置、电子设备 | |
CN112307114A (zh) | 一种数据交换方法、装置以及存储介质 | |
CN113726638B (zh) | 一种多云多芯容器管理的方法、装置及设备、存储介质 | |
CN111506646B (zh) | 数据同步方法、装置、***、存储介质及处理器 | |
CN113656181A (zh) | 一种实时应用集群实例资源的发放方法及装置 | |
CN104243563A (zh) | 一种面向aws平台的并行***快速部署方法 | |
CN109634653A (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 |