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

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

Info

Publication number
CN108304473A
CN108304473A CN201711459484.6A CN201711459484A CN108304473A CN 108304473 A CN108304473 A CN 108304473A CN 201711459484 A CN201711459484 A CN 201711459484A CN 108304473 A CN108304473 A CN 108304473A
Authority
CN
China
Prior art keywords
data
source
database
bit stream
mission bit
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.)
Granted
Application number
CN201711459484.6A
Other languages
English (en)
Other versions
CN108304473B (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.)
PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp
Original Assignee
PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp
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 PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp filed Critical PETRIFACTION CENTURY INFORMATION TECHNOLOGY Corp
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

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)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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 (10)

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

Cited By (12)

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

Cited By (16)

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

Also Published As

Publication number Publication date
CN108304473B (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN108304473A (zh) 数据源之间的数据传输方法和系统
Arbab Reo: a channel-based coordination model for component composition
Bandara et al. Tikiri—Towards a lightweight blockchain for IoT
Chandra et al. Decentralized edge clouds
Dayal et al. Flexpath: Type-based publish/subscribe system for large-scale science analytics
Bandara et al. Rahasak—Scalable blockchain architecture for enterprise applications
Nicolaescu et al. Near real-time peer-to-peer shared editing on extensible data types
WO2015062444A1 (en) System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database
US20100269164A1 (en) Online service data management
CN105069109B (zh) 一种分布式数据库扩容的方法和系统
Gallidabino et al. The liquid. js framework for migrating and cloning stateful web components across multiple devices
Srinivasa et al. Guide to high performance distributed computing
Sanchez et al. Bigraphical modelling of architectural patterns
Bandara et al. Saas-microservices-based scalable smart contract architecture
Strauch et al. Non-functional data layer patterns for cloud applications
CN108989406A (zh) 基于微服务的软件货架实现方法及系统
Friedman et al. Fisheye consistency: Keeping data in synch in a georeplicated world
US10853331B1 (en) System and method for editing materializations of a data store
US11711220B1 (en) System and methods for computation, storage, and consensus in distributed systems
Oliveira et al. IMCReo: interactive Markov chains for stochastic Reo
Duolikun et al. Design and evaluation of a quorum–based synchronisation protocol of multimedia replicas
Chelliah et al. Architectural Patterns: Uncover essential patterns in the most indispensable realm of enterprise architecture
Maciaszek et al. Architectural principles for service cloud applications
Pant et al. Analytical Planning and Implementation of Big Data Technology Working at Enterprise Level
Toor Managing applications and data in distributed computing infrastructures

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