CN108304473B - 数据源之间的数据传输方法和系统 - Google Patents

数据源之间的数据传输方法和系统 Download PDF

Info

Publication number
CN108304473B
CN108304473B CN201711459484.6A CN201711459484A CN108304473B CN 108304473 B CN108304473 B CN 108304473B CN 201711459484 A CN201711459484 A CN 201711459484A CN 108304473 B CN108304473 B CN 108304473B
Authority
CN
China
Prior art keywords
data
task
database
source
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.)
Active
Application number
CN201711459484.6A
Other languages
English (en)
Other versions
CN108304473A (zh
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.)
Petro CyberWorks Information Technology Co Ltd
Original Assignee
Petro CyberWorks Information Technology Co Ltd
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 Petro CyberWorks Information Technology Co Ltd filed Critical Petro CyberWorks Information Technology Co Ltd
Priority to CN201711459484.6A priority Critical patent/CN108304473B/zh
Publication of CN108304473A publication Critical patent/CN108304473A/zh
Application granted granted Critical
Publication of CN108304473B publication Critical patent/CN108304473B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F16/273Asynchronous replication or reconciliation
    • 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/21Design, administration or maintenance of databases
    • G06F16/214Database migration support
    • 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/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • 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/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

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)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据源之间的数据传输方法和系统,该方法包括:配置源数据库和目标数据库之间的任务信息;根据所述任务信息分配完成对应任务的调度节点和工作节点;根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库。本发明可以实现不同数据源直接的数据传输。

Description

数据源之间的数据传输方法和系统
技术领域
本发明属于数据传输处理技术领域,具体地说,尤其涉及一种数据源之间的数据传输方法和系统。
背景技术
由于互联网开发日益增多,各平台均开始着力打造开放云架构,云服务也日益丰富,传统应用迁移到私有云的需求也日益增多,这就急需解决不同数据源之间的数据传输功能。
现有技术中的产品只能提供固定的目标数据源,或者只能在自己的云服务平台进行数据传输,各个产品的传输服务只能提供片面的功能,这给传统应用的数据传输使用带来了技术困难。
发明内容
为解决以上问题,本发明提供了一种数据源之间的数据传输方法和系统,用于实现不同数据源直接的数据传输。
根据本发明的一个方面,提供了一种数据源之间的数据传输方法,包括:
配置源数据库和目标数据库之间的任务信息;
根据所述任务信息分配完成对应任务的调度节点和工作节点;
根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库。
根据本发明的一个实施例,根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库进一步包括:
如所述任务信息为数据同步任务信息,则从所述数据同步任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据同步方式;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据中的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据转化为对应目标数据库的数据库操作语句;
按照所述数据同步方式,将所述数据库操作语句导入目标数据源。
根据本发明的一个实施例,根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库进一步包括:
如所述任务信息为数据订阅任务信息,则从所述数据订阅任务信息中获取源数据库和目标数据库的连接信息、映射条件和过滤条件;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库中的数据中的二进制日志;
解析所述二进制日志以获取源数据库的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据通过分布式发布订阅消息系统发送到目标数据源的消息队列中;
解析消息队列里的增量数据来实现目标数据源的数据订阅。
根据本发明的一个实施例,根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库进一步包括:
如所述任务信息为数据迁移任务,则从所述数据迁移任务的配置任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据迁移方式;
根据所述连接信息编写多个匹配源数据源的读插件和多个匹配目标数据源的写插件;
选取匹配源数据库的读插件来读取源数据库中的数据中的数据;
根据所述映射条件和所述过滤条件来对源数据库中的数据进行筛选;
按照数据迁移方式,对筛选的数据选择匹配目标数据源的写插件,以将筛选后的数据迁移入目标数据源。
根据本发明的一个实施例,根据所述任务信息分配完成对应任务的调度节点和工作节点进一步包括:
当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量;
基于预定算法选择管理调度的调度节点;
通知调度节点根据预定调度算法选择完成该任务的工作节点。
根据本发明的另一个方面,还提供了一种数据源之间的数据传输系统,包括:
任务信息配置模块,其配置为配置源数据库和目标数据库之间的任务信息;
节点配置模块,其配置为根据所述任务信息分配完成对应任务的调度节点和工作节点;
数据处理模块,其配置为根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库。
根据本发明的一个实施例,所述数据处理模块进一步包括数据同步任务处理单元,其中,所述数据同步任务处理单元配置为:
如所述任务信息为数据同步任务信息,则从所述数据同步任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据同步方式;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据中的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据转化为对应目标数据库的数据库操作语句;
按照所述数据同步方式,将所述数据库操作语句导入目标数据源。
根据本发明的一个实施例,所述数据处理模块进一步包括数据订阅任务处理单元,其中,所述数据订阅任务处理单元配置为:
如所述任务信息为数据订阅任务信息,则从所述数据订阅任务信息中获取源数据库和目标数据库的连接信息、映射条件和过滤条件;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据中的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据通过分布式发布订阅消息系统发送到目标数据源的消息队列中;
解析消息队列里的增量数据来实现目标数据源的数据订阅。
根据本发明的一个实施例,所述数据处理模块进一步包括数据迁移任务处理单元,其中,所述数据迁移任务处理单元配置为:
如所述任务信息为数据迁移任务,则从所述数据迁移任务的配置任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据迁移方式;
根据所述连接信息编写多个匹配源数据源的读插件和多个匹配目标数据源的写插件;
选取匹配源数据库的读插件来读取源数据库的数据;
根据所述映射条件和所述过滤条件来对源数据库中的数据进行筛选;
按照数据迁移方式,对筛选的数据选择匹配目标数据源的写插件,以将筛选后的数据迁移入目标数据源。
根据本发明的一个实施例,所述节点配置模块进一步配置为:
当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量;
基于预定算法选择管理调度的调度节点;
通知调度节点根据预定调度算法选择完成该任务的工作节点。
本发明的有益效果:
本发明可在任意环境下实现多个数据源(同构数据源或异构数据源)之间的数据同步、迁移、订阅等功能,解决了现有技术中固定的目标数据源或有限的数据源之间的数据传输与多样性数据传输需求之间的矛盾,给应用的上云及应用代码的简化带来了极大的改革。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
图1是根据本发明的一个实施例的数据源之间的数据传输方法流程图;
图2是根据本发明的一个实施例的数据源之间的数据流示意图;
图3是根据本发明的一个实施例的任务调度示意图;
图4根据本发明的一个实施例的数据源之间的数据传输系统结构图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
第一实施例
根据本发明的一个方面提供了一种数据源之间的数据传输方法,如图1所示为根据本发明的一个实施例的数据源之间的数据传输方法流程图,图2为根据本发明的一个实施例的数据源之间的数据流示意图,以下参考图1和图2来对本发明进行详细说明。
首先,在步骤S110中,配置源数据库和目标数据库之间的任务信息。
具体的,先通过典型架构管理界面来配置任务信息,任务信息包括数据同步任务、数据订阅任务和数据迁移任务等,并在分布式架构上开启数据处理任务。其中,任务信息包括数据库(源数据库和目标数据库)之间的连接信息、映射条件、过滤条件、数据同步方式、数据迁移方式等的配置信息,不同任务信息具有不同的任务配置信息。
源数据库与目标数据库的连接信息包括源数据库与目标数据库数据库名、链接方式、密码、加密方式等信息,以便能够连接上对应的数据库。过滤条件用于对符合条件的数据进行筛选。映射条件是指数据表里字段的映射,配置了映射关系才会对该字段进行相应的任务处理。数据同步信息包括行同步或者列同步,反查线程数,并行度,同步一致性等一些根据情况自定义的配置。数据迁移信息包括具体的行/列的迁移方式等。
如图2所示,在配置任务信息时,可以通过数据传输服务管控台(配置同步任务与迁移,订阅任务,可以在管控台管理数据源信息,配置同步、迁移、订阅任务并对这些任务进行监控)或管控API(可以对外部以接口的形式提供服务,直接调用代码接口也可以实现同步或者迁移任务的配置)进行配置。监控中心监控已经运行的同步、迁移任务的性能,单位时间的数据量,延迟量或者报警信息。
然后,在步骤S120中,根据任务信息分配完成对应任务的调度节点和工作节点。
具体的,当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量(根据任务量确认该同步任务的工作节点的数量,根据任务量确认该同步任务的工作节点的数量,比如我要用一个工作节点,通过调度节点的算法查询出使用率最低的工作节点,根据任务大小自动分配到使用率最低的工作节点上)。
如图3所示,通过典型非嵌入式集成架构web manager管理界面增加node工作节点,基于分布式应用程序协调服务来解决分布式架构之间多节点的协同工作来处理配置出的同步或迁移任务,当任务生成时,通过fast paxos算法选出管理调度的调度节点,再根据Random算法随机调用node工作节点来执行同步或迁移任务,实现分布式架构上处理数据同步或者迁移任务的负载均衡。fast paxos是改进后的paxos算法,是一种基于消息传递模型的一致性算法。
最后,在步骤S130中,根据任务信息,利用调度节点和工作节点对源数据库的数据处理后传输给目标数据库。此处以数据同步任务、数据迁移任务和数据订阅任务为例来进行说明。
具体的,如任务信息为数据同步任务信息,首先从数据同步任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据同步方式,这些信息是实现数据同步必须的配置信息。接着,根据连接信息获取源数据库中的数据信息和模拟交换协议。具体的,根据连接信息查询得到源数据库中的数据信息,然后模拟该源数据库的交换协议(例如mysql交互协议是mysql slave交互协议,mysql slave是mysql自带的主从复制协议,开启所监控的mysql数据源主从复制设置slave id为1,伪装自己为mysql slave的副节点向mysql master发送dump协议,mysql主节点收到dump请求,开始推送binary log给slave(也就是推送DTS))。接着,根据模拟交换协议获取源数据库的二进制日志。接着,解析二进制日志以获取源数据库的增量数据,增量数据的同步过程基于数据仓库的ETL模型来实现。ETL是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。接着,根据映射条件和过滤条件来对增量数据进行筛选。接着,将筛选后的增量数据转化为对应目标数据库的数据库操作语句。转化的意思是将这些数据以适合目标数据库的操作语句对目标数据库进行操作,比如插入mysql与Hbase用到的插入语句不一样,会根据目标数据源进行转换。例如获取了源数据库的一条数据A,根据A的数据结构与目标数据库的类型来转换成一条SQL:insert Into tableA,这个sql即数据库操作语句,执行这个sql我就会插入数据A到对应的位置。最后,按照数据同步方式,将数据库操作语句导入目标数据源。
如任务信息为数据订阅任务信息,则从数据订阅任务信息中获取源数据库和目标数据库的连接信息、映射条件和过滤条件。根据所述连接信息获取源数据库中的数据信息和模拟交换协议。根据所述模拟交换协议获取源数据库的二进制日志。解析二进制日志以获取源数据库的增量数据。根据映射条件和过滤条件来对所述增量数据进行筛选。将筛选后的增量数据通过分布式发布订阅消息系统发送到目标数据源的消息队列中。解析消息队列里的增量数据来实现目标数据源的数据订阅。
如任务信息为数据迁移任务,则从数据迁移任务的配置任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据迁移方式。根据连接信息编写多个匹配源数据源的读插件和多个匹配目标数据源的写插件。选取匹配源数据库的读插件来读取源数据库的数据。根据映射条件和过滤条件来对源数据库中的数据进行筛选。按照数据迁移方式,对筛选的数据选择匹配目标数据源的写插件,以将筛选后的数据迁移入目标数据源。
本发明可在任意环境下实现多个数据源(同构数据源或异构数据源)之间的数据同步、迁移、订阅等功能,解决了现有技术中固定的目标数据源或有限的数据源之间的数据传输与多样性数据传输需求之间的矛盾,给应用的上云及应用代码的简化带来了极大的改革。
第二实施例
根据本发明的另一个方面,还提供了一种数据源之间的数据传输系统,如图4所示,该系统包括任务信息配置模块、节点配置模块和数据处理模块。
其中,任务信息配置模块配置为配置源数据库和目标数据库之间的任务信息。具体的,可以通过典型架构管理界面来配置任务信息,任务信息包括数据同步任务、数据订阅任务和数据迁移任务等,并在分布式架构上开启数据处理任务。其中,任务信息包括数据库(源数据库和目标数据库)之间的连接信息、映射条件、过滤条件、数据同步方式、数据迁移方式等的配置信息,不同任务信息具有不同的任务配置信息。
源数据库与目标数据库的连接信息包括源数据库与目标数据库数据库名、链接方式、密码、加密方式等信息,以便能够连接上对应的数据库。过滤条件用于对符合条件的数据进行筛选。映射条件是指数据表里字段的映射,配置了映射关系才会对该字段进行相应的任务处理。数据同步信息包括行同步或者列同步,反查线程数,并行度,同步一致性等一些根据情况自定义的配置。数据迁移信息包括具体的行/列的迁移方式等。
如图2所示,在配置任务信息时,可以通过数据传输服务管控台(配置同步任务与迁移,订阅任务,可以在管控台管理数据源信息,配置同步、迁移、订阅任务并对这些任务进行监控)或管控API(可以对外部以接口的形式提供服务,直接调用代码接口也可以实现同步或者迁移任务的配置)进行配置。监控中心监控已经运行的同步、迁移任务的性能,单位时间的数据量,延迟量或者报警信息。
节点配置模块配置为根据任务信息分配完成对应任务的调度节点和工作节点。具体的,当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量(根据任务量确认该同步任务的工作节点的数量,根据任务量确认该同步任务的工作节点的数量,比如我要用一个工作节点,通过调度节点的算法查询出使用率最低的工作节点,根据任务大小自动分配到使用率最低的工作节点上)。
例如,通过典型非嵌入式集成架构web manager管理界面增加node工作节点,基于分布式应用程序协调服务来解决分布式架构之间多节点的协同工作来处理配置出的同步或迁移任务,当任务生成时,通过fast paxos算法选出管理调度的调度节点,再根据Random算法随机调用node工作节点来执行同步或迁移任务,实现分布式架构上处理数据同步或者迁移任务的负载均衡。fast paxos是改进后的paxos算法,是一种基于消息传递模型的一致性算法。
数据处理模块配置为根据任务信息,利用调度节点和工作节点对源数据库的数据处理后传输给目标数据库。具体的,可以根据数据同步任务、数据订阅任务、数据迁移任务等任务来进行对应的处理。
在本发明的一个实施例中,该数据处理模块进一步包括数据同步任务处理单元,其中,该数据同步任务处理单元配置为:
如任务信息为数据同步任务信息,则从数据同步任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据同步方式;
根据连接信息获取源数据库中的数据和模拟交换协议;
根据模拟交换协议获取源数据库的二进制日志;
解析二进制日志以获取源数据库中的数据中的增量数据;
根据映射条件和过滤条件来对增量数据进行筛选;
将筛选后的增量数据转化为对应目标数据库的数据库操作语句;
按照数据同步方式,将数据库操作语句导入目标数据源。
在本发明的一个实施例中,数据处理模块进一步包括数据订阅任务处理单元,其中,数据订阅任务处理单元配置为:
如任务信息为数据订阅任务信息,则从数据订阅任务信息中获取源数据库和目标数据库的连接信息、映射条件和过滤条件;
根据连接信息获取源数据库中的数据和模拟交换协议;
根据模拟交换协议获取源数据库的二进制日志;
解析二进制日志以获取源数据库中的数据中的增量数据;
根据映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据通过分布式发布订阅消息系统发送到目标数据源的消息队列中;
解析消息队列里的增量数据来实现目标数据源的数据订阅。
在本发明的一个实施例中,数据处理模块进一步包括数据迁移任务处理单元,其中,数据迁移任务处理单元配置为:
如任务信息为数据迁移任务,则从数据迁移任务的配置任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据迁移方式;
根据连接信息编写多个匹配源数据源的读插件和多个匹配目标数据源的写插件;
选取匹配源数据库的读插件来读取源数据库的数据;
根据映射条件和过滤条件来对源数据库中的数据进行筛选;
按照数据迁移方式,对筛选的数据选择匹配目标数据源的写插件,以将筛选后的数据迁移入目标数据源。
在本发明的一个实施例中,该节点配置模块进一步配置为:
当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量;
基于预定算法选择管理调度的调度节点;
通过调度节点根据预定调度算法选择完成该任务的工作节点。
应该理解的是,本发明所公开的实施例不限于这里所公开的处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (8)

1.一种数据源之间的数据传输方法,包括:
配置源数据库和目标数据库之间的任务信息;
根据所述任务信息分配完成对应任务的调度节点和工作节点;
根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库,包括:
如所述任务信息为数据同步任务信息,则从所述数据同步任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据同步方式;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据中的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据转化为对应目标数据库的数据库操作语句;
按照所述数据同步方式,将所述数据库操作语句导入目标数据源。
2.根据权利要求1所述的方法,其特征在于,根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库进一步包括:
如所述任务信息为数据订阅任务信息,则从所述数据订阅任务信息中获取源数据库和目标数据库的连接信息、映射条件和过滤条件;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据中的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据通过分布式发布订阅消息系统发送到目标数据源的消息队列中;
解析消息队列里的增量数据来实现目标数据源的数据订阅。
3.根据权利要求1所述的方法,其特征在于,根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库进一步包括:
如所述任务信息为数据迁移任务,则从所述数据迁移任务的配置任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据迁移方式;
根据所述连接信息编写多个匹配源数据源的读插件和多个匹配目标数据源的写插件;
选取匹配源数据库的读插件来读取源数据库的数据;
根据所述映射条件和所述过滤条件来对源数据库中的数据进行筛选;
按照数据迁移方式,对筛选的数据选择匹配目标数据源的写插件,以将筛选后的数据迁移入目标数据源。
4.根据权利要求1所述的方法,其特征在于,根据所述任务信息分配完成对应任务的调度节点和工作节点进一步包括:
当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量;
基于预定算法选择管理调度的调度节点;
通知调度节点根据预定调度算法选择完成该任务的工作节点。
5.一种数据源之间的数据传输系统,包括:
任务信息配置模块,其配置为配置源数据库和目标数据库之间的任务信息;
节点配置模块,其配置为根据所述任务信息分配完成对应任务的调度节点和工作节点;
数据处理模块,其配置为根据所述任务信息,利用所述调度节点和所述工作节点对源数据库的数据处理后传输给所述目标数据库,所述数据处理模块进一步包括数据同步任务处理单元,其中,所述数据同步任务处理单元配置为:
如所述任务信息为数据同步任务信息,则从所述数据同步任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据同步方式;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据中的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据转化为对应目标数据库的数据库操作语句;
按照所述数据同步方式,将所述数据库操作语句导入目标数据源。
6.根据权利要求5所述的系统,其特征在于,所述数据处理模块进一步包括数据订阅任务处理单元,其中,所述数据订阅任务处理单元配置为:
如所述任务信息为数据订阅任务信息,则从所述数据订阅任务信息中获取源数据库和目标数据库的连接信息、映射条件和过滤条件;
根据所述连接信息获取源数据库中的数据和模拟交换协议;
根据所述模拟交换协议获取源数据库的二进制日志;
解析所述二进制日志以获取源数据库中的数据的增量数据;
根据所述映射条件和所述过滤条件来对所述增量数据进行筛选;
将筛选后的增量数据通过分布式发布订阅消息系统发送到目标数据源的消息队列中;
解析消息队列里的增量数据来实现目标数据源的数据订阅。
7.根据权利要求5所述的系统,其特征在于,所述数据处理模块进一步包括数据迁移任务处理单元,其中,所述数据迁移任务处理单元配置为:
如所述任务信息为数据迁移任务,则从所述数据迁移任务的配置任务信息中获取源数据库和目标数据库的连接信息、映射条件、过滤条件和数据迁移方式;
根据所述连接信息编写多个匹配源数据源的读插件和多个匹配目标数据源的写插件;
选取匹配源数据库的读插件来读取源数据库的数据;
根据所述映射条件和所述过滤条件来对源数据库中的数据进行筛选;
按照数据迁移方式,对筛选的数据选择匹配目标数据源的写插件,以将筛选后的数据迁移入目标数据源。
8.根据权利要求5所述的系统,其特征在于,所述节点配置模块进一步配置为:
当任务信息生成时,根据任务信息确认完成该任务所需的工作节点数量;
基于预定算法选择管理调度的调度节点;
通知调度节点根据预定调度算法选择完成该任务的工作节点。
CN201711459484.6A 2017-12-28 2017-12-28 数据源之间的数据传输方法和系统 Active CN108304473B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711459484.6A CN108304473B (zh) 2017-12-28 2017-12-28 数据源之间的数据传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711459484.6A CN108304473B (zh) 2017-12-28 2017-12-28 数据源之间的数据传输方法和系统

Publications (2)

Publication Number Publication Date
CN108304473A CN108304473A (zh) 2018-07-20
CN108304473B true CN108304473B (zh) 2020-09-04

Family

ID=62868097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711459484.6A Active CN108304473B (zh) 2017-12-28 2017-12-28 数据源之间的数据传输方法和系统

Country Status (1)

Country Link
CN (1) CN108304473B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109254994B (zh) * 2018-07-23 2021-04-06 聚好看科技股份有限公司 一种数据同步的方法和装置
CN109189468B (zh) * 2018-08-06 2022-12-30 北京马上慧科技术有限公司 一种审批数据源配置化接入及xml映射配置化系统
CN109492038B (zh) * 2018-11-02 2021-08-03 鲁班(北京)电子商务科技有限公司 一种基于微内核和异步队列的异构系统间数据发布系统
CN110334146A (zh) * 2019-05-16 2019-10-15 石化盈科信息技术有限责任公司 一种数据源之间的数据传输方法
CN110532493B (zh) * 2019-08-29 2022-04-26 北京明略软件系统有限公司 数据的处理方法及装置、存储介质和电子装置
CN111324667B (zh) * 2020-02-17 2024-05-14 北京达佳互联信息技术有限公司 一种数据同步方法、装置、电子设备及存储介质
CN111538772B (zh) * 2020-04-14 2023-07-04 北京宝兰德软件股份有限公司 数据的交换处理方法、装置、电子设备及存储介质
CN112434189A (zh) * 2020-12-02 2021-03-02 新华三大数据技术有限公司 数据查询方法、装置及设备
CN112199447A (zh) * 2020-12-03 2021-01-08 深圳市易博天下科技有限公司 数据库的同步方法、装置、系统及电子设备
CN112765265A (zh) * 2020-12-30 2021-05-07 杭州贝嘟科技有限公司 数据同步方法、装置、计算机设备和可读存储介质
CN113553329B (zh) * 2021-07-22 2024-05-31 北京金山云网络技术有限公司 数据集成系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
CN105260485A (zh) * 2015-11-20 2016-01-20 杭州数梦工场科技有限公司 一种数据加载的方法和装置
CN105279261A (zh) * 2015-10-23 2016-01-27 北京京东尚科信息技术有限公司 动态可扩展数据库归档方法和系统
CN105930389A (zh) * 2016-04-14 2016-09-07 北京京东尚科信息技术有限公司 数据结转的方法和系统
CN106446243A (zh) * 2016-10-10 2017-02-22 山东浪潮云服务信息科技有限公司 一种关系型数据库的数据集成结构
CN106802826A (zh) * 2016-12-23 2017-06-06 中国银联股份有限公司 一种基于线程池的业务处理方法及装置
CN107122360A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据迁移系统和方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102542007A (zh) * 2011-12-13 2012-07-04 中国电子科技集团公司第十五研究所 关系型数据库之间的同步方法及系统
CN105279261A (zh) * 2015-10-23 2016-01-27 北京京东尚科信息技术有限公司 动态可扩展数据库归档方法和系统
CN105260485A (zh) * 2015-11-20 2016-01-20 杭州数梦工场科技有限公司 一种数据加载的方法和装置
CN107122360A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据迁移系统和方法
CN105930389A (zh) * 2016-04-14 2016-09-07 北京京东尚科信息技术有限公司 数据结转的方法和系统
CN106446243A (zh) * 2016-10-10 2017-02-22 山东浪潮云服务信息科技有限公司 一种关系型数据库的数据集成结构
CN106802826A (zh) * 2016-12-23 2017-06-06 中国银联股份有限公司 一种基于线程池的业务处理方法及装置

Also Published As

Publication number Publication date
CN108304473A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN108304473B (zh) 数据源之间的数据传输方法和系统
US10305815B2 (en) System and method for distributed resource management
CN108139935B (zh) 业务定义容器的资源约束的扩展
KR102103596B1 (ko) 계산 작업을 처리하기 위한 컴퓨터 클러스터 장치 및 이를 작동시키기 위한 방법
JP2019200580A (ja) 分散台帳システム、分散台帳サブシステム、および、分散台帳ノード
CN108282514B (zh) 一种分布式业务建立方法及装置
US11467874B2 (en) System and method for resource management
US9336270B2 (en) Techniques for accessing a parallel database system via external programs using vertical and/or horizontal partitioning
CN109117252B (zh) 基于容器的任务处理的方法、系统及容器集群管理系统
CN112463375B (zh) 一种数据处理的方法和装置
WO2018045541A1 (zh) 一种容器分配的优化方法及处理设备
CN105786603B (zh) 一种基于分布式的高并发业务处理系统及方法
CN113032166B (zh) 核间通信的方法、处理器、核间通信系统及计算机可读存储介质
CN103777950B (zh) 一种对aos遥测数据解析的网格化方法
KR102247249B1 (ko) 데이터베이스 관리 시스템에서 비동기적 데이터 처리를 위한 컴퓨터 프로그램
CN103780686A (zh) 一种云组织内自定义申请审批流程的方法及系统
US20190228009A1 (en) Information processing system and information processing method
US20210200765A1 (en) Connection pools for parallel processing applications accessing distributed databases
CN111124589A (zh) 一种服务发现系统、方法、装置及设备
CN109298937A (zh) 文件解析方法及网络设备
CN112685499A (zh) 一种工作业务流的流程数据同步方法、装置及设备
US10917357B2 (en) Message exchange during parallel execution of processes in a high-performance computer
CN111752539B (zh) Bi服务集群系统及其搭建方法
CN115941426B (zh) 多业务资源协同方法、系统及计算机设备
KR20050078395A (ko) 그리드 컴퓨팅 시스템에서 파일기반의 mpi초기화방법을 이용한 그리드 mpi 작업 할당 시스템 및그리드 mpi 작업 할당방법

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