CN107689982A - 多数据源数据同步方法、应用服务器及计算机可读存储介质 - Google Patents

多数据源数据同步方法、应用服务器及计算机可读存储介质 Download PDF

Info

Publication number
CN107689982A
CN107689982A CN201710490443.7A CN201710490443A CN107689982A CN 107689982 A CN107689982 A CN 107689982A CN 201710490443 A CN201710490443 A CN 201710490443A CN 107689982 A CN107689982 A CN 107689982A
Authority
CN
China
Prior art keywords
data
source
task
synchronous
type
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
CN201710490443.7A
Other languages
English (en)
Other versions
CN107689982B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201710490443.7A priority Critical patent/CN107689982B/zh
Priority to PCT/CN2017/100051 priority patent/WO2019000629A1/zh
Publication of CN107689982A publication Critical patent/CN107689982A/zh
Application granted granted Critical
Publication of CN107689982B publication Critical patent/CN107689982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Abstract

本发明公开了一种多数据源数据同步方法,该方法包括步骤:建立一数据平台与至少一个数据源的第一连接,并建立该数据平台与该应用服务器的第二连接;接收用户选择的需要同步的源表和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务;将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎,通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。本发明可以实现整个数据同步流程的全自动作业,省却了开发人员的开发、测试和部署流程。

Description

多数据源数据同步方法、应用服务器及计算机可读存储介质
技术领域
本发明涉及计算机信息技术领域,尤其涉及一种多数据源数据同步方法、应用服务器及计算机可读存储介质。
背景技术
现有的多数据源数据同步操作非常复杂,开发人员需要开发大量脚本,而且需要经过开发、测试、部署等流程,开发周期长,任务量大,且容易出错。故,现有技术中多数据源的数据同步操作不够合理,亟需改进。
发明内容
有鉴于此,本发明提出一种多数据源数据同步方法、应用服务器及计算机可读存储介质,省却了开发人员的开发、测试和部署流程,整个数据同步流程实现了全自动作业,既节省了开发成本,又降低了开发人员的出错风险。
首先,为实现上述目的,本发明提出一种应用服务器,所述应用服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多数据源数据同步系统,所述多数据源数据同步系统被所述处理器执行时实现如下步骤:
建立一数据平台与至少一个数据源的第一连接,并建立该数据平台与该应用服务器的第二连接;
接收用户选择的需要同步的源表和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务;及
将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎,通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。
优选地,所述生成各数据源对应的建表任务包括:根据用户选择的需要同步的源表和各源表的类型,生成与该选择的源表类型对应的目标表。
优选地,所述生成各数据源对应的建表任务包括:
若用户选择的需要同步的源表类型为第一类型维度表,则生成与所述第一类型维度表的源表结构对应的第一类型目标表,所述第一类型目标表的数量根据所述用户选择的需要同步的第一类型源表数量确定;
若用户选择的需要同步的源表类型为第二类型任务表,则生成与所述第二类型任务表的源表结构对应的第二类型目标表,所述第二类型目标表的数量根据所述用户选择的需要同步的第二类型源表数量确定;及
若用户选择的需要同步的源表类型为第三类型流水表,则生成与所述第三类型流水表的源表结构对应的第三类型目标表,所述第三类型目标表的数量根据所述用户选择的需要同步的第三类型源表数量确定。
优选地,所述生成各数据源对应的数据同步任务包括:
根据用户选择的需要同步的开始时间和结束时间确定从各源表开始抽取数据的时间和停止抽取数据的时间;
根据用户选择的需要同步的源表数量及同步的目标端用户确定数据同步各个任务所需的资源配置和资源管理节点;及
建立所述需要同步的源表的相应字段与所述生成的各目标表的相应字段的对应关系,并根据源表与目标表相应字段的对应关系生成各源表对应的数据抽取任务。
优选地,所述数据同步任务的执行包括:
若用户选择的需要同步的开始时间到达,则启动各数据源对应的数据同步各个任务,获取数据同步各个任务所需的资源配置,从各源表中分别抽取相应字段对应的数据,并将抽取的数据分别存入各目标表的相应字段。
此外,为实现上述目的,本发明还提供一种多数据源数据同步方法,该方法应用于应用服务器,所述方法包括:
建立一数据平台与至少一个数据源的第一连接,并建立该数据平台与该应用服务器的第二连接;
接收用户选择的需要同步的源表和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务;及
将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎,通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。
优选地,所述生成各数据源对应的建表任务包括:根据用户选择的需要同步的源表和各源表的类型,生成与该选择的源表类型对应的目标表。
优选地,所述生成各数据源对应的建表任务包括:
若用户选择的需要同步的源表类型为第一类型维度表,则生成与所述第一类型维度表的源表结构对应的第一类型目标表,所述第一类型目标表的数量根据所述用户选择的需要同步的第一类型源表数量确定;
若用户选择的需要同步的源表类型为第二类型任务表,则生成与所述第二类型任务表的源表结构对应的第二类型目标表,所述第二类型目标表的数量根据所述用户选择的需要同步的第二类型源表数量确定;及
若用户选择的需要同步的源表类型为第三类型流水表,则生成与所述第三类型流水表的源表结构对应的第三类型目标表,所述第三类型目标表的数量根据所述用户选择的需要同步的第三类型源表数量确定。
优选地,所述生成各数据源对应的数据同步任务包括:
根据用户选择的需要同步的开始时间和结束时间确定从各源表开始抽取数据的时间和停止抽取数据的时间;
根据用户选择的需要同步的源表数量及同步的目标端用户确定数据同步各个任务所需的资源配置和资源管理节点;及
建立所述需要同步的源表的相应字段与所述生成的各目标表的相应字段的对应关系,并根据源表与目标表相应字段的对应关系生成各源表对应的数据抽取任务。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多数据源数据同步系统,所述多数据源数据同步系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述的多数据源数据同步方法的步骤。
相较于现有技术,本发明所提出的应用服务器、多数据源数据同步方法及计算机可读存储介质,根据用户选择的需要同步的源表和数据源类型,自动生成各数据源对应的建表任务和数据同步任务,并将所述生成的各数据源对应的建表任务和数据同步任务自动发布至预设的工作流调度引擎,通过该预设的工作流调度引擎调度执行所述建表任务和数据同步任务,实现一站式数据同步服务,省却了开发人员的开发、测试和部署流程,整个数据同步流程实现了全自动作业,既节省了开发成本,又降低了开发人员的出错风险。
附图说明
图1是本发明各个实施例一可选的应用环境示意图;
图2是图1中应用服务器一可选的硬件架构的示意图;
图3是本发明多数据源数据同步系统一实施例的功能模块示意图;
图4为本发明多数据源数据同步方法一实施例的实施流程示意图。
附图标记:
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
参阅图1所示,是本发明各个实施例一可选的应用环境示意图。
在本实施例中,本发明可应用于包括,但不限于,应用服务器2、网络3、数据平台4、及数据源5的应用环境中。其中,所述应用服务器2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器等计算设备,该应用服务器2可以是独立的服务器,也可以是多个服务器所组成的服务器集群。所述网络3可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
其中,所述应用服务器2中通过所述网络3与数据平台4通信连接,所述数据平台4通过所述网络3分别与各数据源5通信连接。所述数据平台4与各数据源5之间建立有第一连接(或称其为第一类连接),以使所述数据平台4能够通过所述第一连接与各数据源5进行数据传输和交互。所述数据平台4与应用服务器2之间建立有第二连接(或称其为第二类连接),以使所述数据平台4能够通过所述第二连接与应用服务器2进行数据传输和交互。
参阅图2所示,是图1中应用服务器2一可选的硬件架构的示意图。本实施例中,所述应用服务器2可包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23。需要指出的是,图2仅示出了具有组件21-23的应用服务器2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
其中,所述存储器21至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器21可以是所述应用服务器2的内部存储单元,例如该应用服务器2的硬盘或内存。在另一些实施例中,所述存储器21也可以是所述应用服务器2的外部存储设备,例如该应用服务器2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器21还可以既包括所述应用服务器2的内部存储单元也包括其外部存储设备。本实施例中,所述存储器21通常用于存储安装于所述应用服务器2的操作系统和各类应用软件,例如所述多数据源数据同步系统20的程序代码等。此外,所述存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制所述应用服务器2的总体操作,例如执行与所述应用服务器2进行数据交互或者通信相关的控制和处理等。本实施例中,所述处理器22用于运行所述存储器21中存储的程序代码或者处理数据,例如运行所述的多数据源数据同步系统20等。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述应用服务器2与其他电子设备之间建立通信连接。本实施例中,所述网络接口23主要用于通过所述网络3将所述应用服务器2与所述数据平台4相连,在所述应用服务器2与所述数据平台4之间的建立数据传输通道和通信连接。
至此,己经详细介绍了本发明各个实施例的应用环境和相关设备的硬件结构和功能。下面,将基于上述应用环境和相关设备,提出本发明的各个实施例。
首先,本发明提出一种多数据源数据同步系统20。
参阅图3所示,是本发明多数据源数据同步系统20一实施例的功能模块图。本实施例中,所述的多数据源数据同步系统20可以被分割成一个或多个模块,所述一个或者多个模块被存储于所述存储器21中,并由一个或多个处理器(本实施例中为所述处理器22)所执行,以完成本发明。例如,在图3中,所述的多数据源数据同步系统20可以被分割成连接模块201、任务生成模块202、以及数据同步模块203。本发明所称的功能模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述多数据源数据同步系统20在所述应用服务器2中的执行过程。以下将就各功能模块201-203的功能进行详细描述。
所述连接模块201,用于建立一数据平台4与至少一个数据源5的第一连接(或称其为第一类连接),并建立该数据平台4与一应用服务器2(如解析服务器)的第二连接(或称其为第二类连接)。
优选地,在本实施例中,所述数据平台4采用Hadoop数据平台,并通过该数据平台4中的数据传输工具建立该数据平台4与各数据源5的第一连接。例如,所述数据传输工具为Hadoop中设置的Sqoop工具。本领域技术人员应当可以理解,在其它实施例中,所述数据平台和数据传输工具也可以采用其它类型。
所述任务生成模块202,用于接收用户选择的需要同步的源表(部分或全部)和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务(或称其为数据抽取任务)。
优选地,在本实施例中,所述数据源类型包括,但不限于,第一类型数据源(如MSSQL Server数据源),第二类型数据源(如Oracle数据源),第三类型数据源(如MySQL数据源)等。本领域技术人员应当可以理解,在其它实施例中,所述数据源类型的数量,也可以根据不同数据平台的需求增加或减少。例如,用户可以选择同步第一类型数据源中的部分源表。
优选地,在本实施例中,所述数据源5的源表结构包括,但不限于,各数据源5的数据类型和包含的字段信息等。
优选地,在本实施例中,所述应用服务器2中设置有各数据源5相应的解析脚本文件,通过并行调度机制,控制所述数据平台4中的数据传输工具并行执行各解析脚本文件中的源表结构解析任务,解析获得各数据源的源表结构,并通过所述第二连接将解析获得的各数据源的源表结构返回至所述应用服务器2。
优选地,在本实施例中,所述生成各数据源对应的建表任务包括:根据用户选择的需要同步的源表(部分或全部)和各源表的类型,生成与该选择的源表类型对应的目标表。所述源表类型包括,但不限于,第一类型维度表(即数据量小,关联配置使用的源表)、第二类型任务表(即表中数据不断有更新和新增,且当天会更新当天除外的历史数据)、第三类型流水表(即表中数据不断有新增,且当天不会更新当天除外的历史数据)。
具体而言,若用户选择的需要同步的源表类型为第一类型维度表(即数据量小,关联配置使用的源表),则生成与所述第一类型维度表的源表结构对应的第一类型目标表,其中,所述第一类型目标表的数量根据所述用户选择的需要同步的第一类型源表数量确定。
若用户选择的需要同步的源表类型为第二类型任务表(即表中数据不断有更新和新增,且当天会更新当天除外的历史数据),则生成与所述第二类型任务表的源表结构对应的第二类型目标表,其中,所述第二类型目标表的数量根据所述用户选择的需要同步的第二类型源表数量确定。
若用户选择的需要同步的源表类型为第三类型流水表(即表中数据不断有新增,且当天不会更新当天除外的历史数据),则生成与所述第三类型流水表的源表结构对应的第三类型目标表,其中,所述第三类型目标表的数量根据所述用户选择的需要同步的第三类型源表数量确定。
优选地,在本实施例中,所述生成各数据源对应的数据同步任务包括:
根据用户选择的需要同步的开始时间和结束时间确定从各源表开始抽取数据的时间和停止抽取数据的时间;
根据用户选择的需要同步的源表数量及同步的目标端用户确定数据同步各个任务所需的资源配置(如CPU、内存和磁盘等)和资源管理节点,其中,所述资源配置可以通过列表方式实现,所述资源管理节点可以采用Hadoop资源表示模型和资源分配模型实现;
建立所述需要同步的源表的相应字段与所述生成的各目标表的相应字段的对应关系,并根据源表与目标表相应字段的对应关系生成各源表对应的数据抽取任务。
具体而言,若用户选择的需要同步的源表类型为第一类型维度表,则建立所述需要同步的第一类型维度表的相应字段与所述生成的各第一类型目标表的相应字段的对应关系,并根据第一类型维度表与第一类型目标表相应字段的对应关系生成各第一类型维度表对应的数据抽取任务;
若用户选择的需要同步的源表类型为第二类型任务表,则建立所述需要同步的第二类型任务表的相应字段与所述生成的各第二类型目标表的相应字段的对应关系,并根据第二类型任务表与第二类型目标表相应字段的对应关系生成各第二类型任务表对应的数据抽取任务;
若用户选择的需要同步的源表类型为第三类型流水表,则建立所述需要同步的第三类型流水表的相应字段与所述生成的各第三类型目标表的相应字段的对应关系,并根据第三类型流水表与第三类型目标表相应字段的对应关系生成各第三类型流水表对应的数据抽取任务。
所述数据同步模块203,用于将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎(如oozie调度引擎),通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。
优选地,在本实施例中,所述数据同步任务的执行包括:
若用户选择的需要同步的开始时间到达,则启动各数据源对应的数据同步各个任务,获取数据同步各个任务所需的资源配置,从各源表中分别抽取相应字段对应的数据(元数据信息),并将抽取的数据分别存入各目标表的相应字段。
具体而言,若用户选择的需要同步的源表类型为第一类型维度表,则从各第一类型维度表中分别抽取相应字段对应的第一数据,并将抽取的第一数据分别存入各第一类型目标表的相应字段;
若用户选择的需要同步的源表类型为第二类型任务表,则从各第二类型任务表中分别抽取相应字段对应的第二数据,并将抽取的第二数据分别存入各第二类型目标表的相应字段;
若用户选择的需要同步的源表类型为第三类型流水表,则从各第三类型流水表中分别抽取相应字段对应的第三数据,并将抽取的第三数据分别存入各第三类型目标表的相应字段。
优选地,在其它实施例中,所述多数据源数据同步系统20被所述处理器22执行时,还实现如下步骤:
通过并行调度机制,控制所述预设的工作流调度引擎并行执行各数据源对应的建表任务和数据同步任务,从各源表中分别抽取相应字段对应的数据,并将抽取的数据分别存入各目标表的相应字段。
通过上述功能模块201-203,本发明所提出的多数据源数据同步系统20,根据用户选择的需要同步的源表和数据源类型,自动生成各数据源对应的建表任务和数据同步任务,并将所述生成的各数据源对应的建表任务和数据同步任务自动发布至预设的工作流调度引擎,通过该预设的工作流调度引擎调度执行所述建表任务和数据同步任务,实现一站式数据同步服务,省却了开发人员的开发、测试和部署流程,整个数据同步流程实现了全自动作业,既节省了开发成本,又降低了开发人员的出错风险。
此外,本发明还提出一种多数据源数据同步方法。
参阅图4所示,是本发明多数据源数据同步方法一实施例的实施流程示意图。在本实施例中,根据不同的需求,图4所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。
步骤S41,建立一数据平台4与至少一个数据源5的第一连接(或称其为第一类连接),并建立该数据平台4与一应用服务器2(如解析服务器)的第二连接(或称其为第二类连接)。
优选地,在本实施例中,所述数据平台4采用Hadoop数据平台,并通过该数据平台4中的数据传输工具建立该数据平台4与各数据源5的第一连接。例如,所述数据传输工具为Hadoop中设置的Sqoop工具。本领域技术人员应当可以理解,在其它实施例中,所述数据平台和数据传输工具也可以采用其它类型。
步骤S42,接收用户选择的需要同步的源表(部分或全部)和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务(或称其为数据抽取任务)。
优选地,在本实施例中,所述数据源类型包括,但不限于,第一类型数据源(如MSSQL Server数据源),第二类型数据源(如Oracle数据源),第三类型数据源(如MySQL数据源)等。本领域技术人员应当可以理解,在其它实施例中,所述数据源类型的数量,也可以根据不同数据平台的需求增加或减少。例如,用户可以选择同步第一类型数据源中的部分源表。
优选地,在本实施例中,所述数据源5的源表结构包括,但不限于,各数据源5的数据类型和包含的字段信息等。
优选地,在本实施例中,所述应用服务器2中设置有各数据源5相应的解析脚本文件,通过并行调度机制,控制所述数据平台4中的数据传输工具并行执行各解析脚本文件中的源表结构解析任务,解析获得各数据源的源表结构,并通过所述第二连接将解析获得的各数据源的源表结构返回至所述应用服务器2。
优选地,在本实施例中,所述生成各数据源对应的建表任务包括:根据用户选择的需要同步的源表(部分或全部)和各源表的类型,生成与该选择的源表类型对应的目标表。优选地,在本实施例中,所述源表类型包括,但不限于,第一类型维度表(即数据量小,关联配置使用的源表)、第二类型任务表(即表中数据不断有更新和新增,且当天会更新当天除外的历史数据)、第三类型流水表(即表中数据不断有新增,且当天不会更新当天除外的历史数据)。
具体而言,若用户选择的需要同步的源表类型为第一类型维度表(即数据量小,关联配置使用的源表),则生成与所述第一类型维度表的源表结构对应的第一类型目标表,其中,所述第一类型目标表的数量根据所述用户选择的需要同步的第一类型源表数量确定。
若用户选择的需要同步的源表类型为第二类型任务表(即表中数据不断有更新和新增,且当天会更新当天除外的历史数据),则生成与所述第二类型任务表的源表结构对应的第二类型目标表,其中,所述第二类型目标表的数量根据所述用户选择的需要同步的第二类型源表数量确定。
若用户选择的需要同步的源表类型为第三类型流水表(即表中数据不断有新增,且当天不会更新当天除外的历史数据),则生成与所述第三类型流水表的源表结构对应的第三类型目标表,其中,所述第三类型目标表的数量根据所述用户选择的需要同步的第三类型源表数量确定。
优选地,在本实施例中,所述生成各数据源对应的数据同步任务包括:
根据用户选择的需要同步的开始时间和结束时间确定从各源表开始抽取数据的时间和停止抽取数据的时间;
根据用户选择的需要同步的源表数量及同步的目标端用户确定数据同步各个任务所需的资源配置(如CPU、内存和磁盘等)和资源管理节点,其中,所述资源配置可以通过列表方式实现,所述资源管理节点可以采用Hadoop资源表示模型和资源分配模型实现;
建立所述需要同步的源表的相应字段与所述生成的各目标表的相应字段的对应关系,并根据源表与目标表相应字段的对应关系生成各源表对应的数据抽取任务。
具体而言,若用户选择的需要同步的源表类型为第一类型维度表,则建立所述需要同步的第一类型维度表的相应字段与所述生成的各第一类型目标表的相应字段的对应关系,并根据第一类型维度表与第一类型目标表相应字段的对应关系生成各第一类型维度表对应的数据抽取任务;
若用户选择的需要同步的源表类型为第二类型任务表,则建立所述需要同步的第二类型任务表的相应字段与所述生成的各第二类型目标表的相应字段的对应关系,并根据第二类型任务表与第二类型目标表相应字段的对应关系生成各第二类型任务表对应的数据抽取任务;
若用户选择的需要同步的源表类型为第三类型流水表,则建立所述需要同步的第三类型流水表的相应字段与所述生成的各第三类型目标表的相应字段的对应关系,并根据第三类型流水表与第三类型目标表相应字段的对应关系生成各第三类型流水表对应的数据抽取任务。
步骤S43,将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎(如oozie调度引擎),通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。
优选地,在本实施例中,所述数据同步任务的执行包括:
若用户选择的需要同步的开始时间到达,则启动各数据源对应的数据同步各个任务,获取数据同步各个任务所需的资源配置,从各源表中分别抽取相应字段对应的数据(元数据信息),并将抽取的数据分别存入各目标表的相应字段。
具体而言,若用户选择的需要同步的源表类型为第一类型维度表,则从各第一类型维度表中分别抽取相应字段对应的第一数据,并将抽取的第一数据分别存入各第一类型目标表的相应字段;
若用户选择的需要同步的源表类型为第二类型任务表,则从各第二类型任务表中分别抽取相应字段对应的第二数据,并将抽取的第二数据分别存入各第二类型目标表的相应字段;
若用户选择的需要同步的源表类型为第三类型流水表,则从各第三类型流水表中分别抽取相应字段对应的第三数据,并将抽取的第三数据分别存入各第三类型目标表的相应字段。
优选地,在其它实施例中,该方法还包括步骤:
通过并行调度机制,控制所述预设的工作流调度引擎并行执行各数据源对应的建表任务和数据同步任务,从各源表中分别抽取相应字段对应的数据,并将抽取的数据分别存入各目标表的相应字段。
通过上述步骤S41-S43,本发明所提出的多数据源数据同步方法,根据用户选择的需要同步的源表和数据源类型,自动生成各数据源对应的建表任务和数据同步任务,并将所述生成的各数据源对应的建表任务和数据同步任务自动发布至预设的工作流调度引擎,通过该预设的工作流调度引擎调度执行所述建表任务和数据同步任务,实现一站式数据同步服务,省却了开发人员的开发、测试和部署流程,整个数据同步流程实现了全自动作业,既节省了开发成本,又降低了开发人员的出错风险。
进一步地,为实现上述目的,本发明还提供一种计算机可读存储介质(如ROM/RAM、磁碟、光盘),所述计算机可读存储介质存储有多数据源数据同步系统20,所述多数据源数据同步系统20可被至少一个处理器22执行,以使所述至少一个处理器执行如上所述的多数据源数据同步方法的步骤。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种应用服务器,其特征在于,所述应用服务器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的多数据源数据同步系统,所述多数据源数据同步系统被所述处理器执行时实现如下步骤:
建立一数据平台与至少一个数据源的第一连接,并建立该数据平台与该应用服务器的第二连接;
接收用户选择的需要同步的源表和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务;及
将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎,通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。
2.如权利要求1所述的应用服务器,其特征在于,所述生成各数据源对应的建表任务包括:根据用户选择的需要同步的源表和各源表的类型,生成与该选择的源表类型对应的目标表。
3.如权利要求2所述的应用服务器,其特征在于,所述生成各数据源对应的建表任务包括:
若用户选择的需要同步的源表类型为第一类型维度表,则生成与所述第一类型维度表的源表结构对应的第一类型目标表,所述第一类型目标表的数量根据所述用户选择的需要同步的第一类型源表数量确定;
若用户选择的需要同步的源表类型为第二类型任务表,则生成与所述第二类型任务表的源表结构对应的第二类型目标表,所述第二类型目标表的数量根据所述用户选择的需要同步的第二类型源表数量确定;及
若用户选择的需要同步的源表类型为第三类型流水表,则生成与所述第三类型流水表的源表结构对应的第三类型目标表,所述第三类型目标表的数量根据所述用户选择的需要同步的第三类型源表数量确定。
4.如权利要求2或3所述的应用服务器,其特征在于,所述生成各数据源对应的数据同步任务包括:
根据用户选择的需要同步的开始时间和结束时间确定从各源表开始抽取数据的时间和停止抽取数据的时间;
根据用户选择的需要同步的源表数量及同步的目标端用户确定数据同步各个任务所需的资源配置和资源管理节点;及
建立所述需要同步的源表的相应字段与所述生成的各目标表的相应字段的对应关系,并根据源表与目标表相应字段的对应关系生成各源表对应的数据抽取任务。
5.一种多数据源数据同步方法,应用于应用服务器,其特征在于,所述方法包括:
建立一数据平台与至少一个数据源的第一连接,并建立该数据平台与该应用服务器的第二连接;
接收用户选择的需要同步的源表和数据源类型,根据预先解析获得的各数据源的源表结构,生成各数据源对应的建表任务和数据同步任务;及
将所述生成的各数据源对应的建表任务和数据同步任务发布至预设的工作流调度引擎,通过该预设的工作流调度引擎执行各数据源对应的建表任务和数据同步任务。
6.如权利要求5所述的多数据源数据同步方法,其特征在于,所述生成各数据源对应的建表任务包括:根据用户选择的需要同步的源表和各源表的类型,生成与该选择的源表类型对应的目标表。
7.如权利要求6所述的多数据源数据同步方法,其特征在于,所述生成各数据源对应的建表任务包括:
若用户选择的需要同步的源表类型为第一类型维度表,则生成与所述第一类型维度表的源表结构对应的第一类型目标表,所述第一类型目标表的数量根据所述用户选择的需要同步的第一类型源表数量确定;
若用户选择的需要同步的源表类型为第二类型任务表,则生成与所述第二类型任务表的源表结构对应的第二类型目标表,所述第二类型目标表的数量根据所述用户选择的需要同步的第二类型源表数量确定;及
若用户选择的需要同步的源表类型为第三类型流水表,则生成与所述第三类型流水表的源表结构对应的第三类型目标表,所述第三类型目标表的数量根据所述用户选择的需要同步的第三类型源表数量确定。
8.如权利要求6或7所述的多数据源数据同步方法,其特征在于,所述生成各数据源对应的数据同步任务包括:
根据用户选择的需要同步的开始时间和结束时间确定从各源表开始抽取数据的时间和停止抽取数据的时间;
根据用户选择的需要同步的源表数量及同步的目标端用户确定数据同步各个任务所需的资源配置和资源管理节点;及
建立所述需要同步的源表的相应字段与所述生成的各目标表的相应字段的对应关系,并根据源表与目标表相应字段的对应关系生成各源表对应的数据抽取任务。
9.如权利要求8所述的多数据源数据同步方法,其特征在于,所述数据同步任务的执行包括:
若用户选择的需要同步的开始时间到达,则启动各数据源对应的数据同步各个任务,获取数据同步各个任务所需的资源配置,从各源表中分别抽取相应字段对应的数据,并将抽取的数据分别存入各目标表的相应字段。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有多数据源数据同步系统,所述多数据源数据同步系统可被至少一个处理器执行,以使所述至少一个处理器执行如权利要求5-9中任一项所述的多数据源数据同步方法的步骤。
CN201710490443.7A 2017-06-25 2017-06-25 多数据源数据同步方法、应用服务器及计算机可读存储介质 Active CN107689982B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710490443.7A CN107689982B (zh) 2017-06-25 2017-06-25 多数据源数据同步方法、应用服务器及计算机可读存储介质
PCT/CN2017/100051 WO2019000629A1 (zh) 2017-06-25 2017-08-31 多数据源数据同步方法、系统、应用服务器及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710490443.7A CN107689982B (zh) 2017-06-25 2017-06-25 多数据源数据同步方法、应用服务器及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107689982A true CN107689982A (zh) 2018-02-13
CN107689982B CN107689982B (zh) 2020-11-24

Family

ID=61152726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710490443.7A Active CN107689982B (zh) 2017-06-25 2017-06-25 多数据源数据同步方法、应用服务器及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN107689982B (zh)
WO (1) WO2019000629A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109299150A (zh) * 2018-10-24 2019-02-01 万惠投资管理有限公司 一种可配置多数据源适配规则引擎解决方法
CN109656999A (zh) * 2018-10-11 2019-04-19 平安科技(深圳)有限公司 大数据量的数据同步方法、设备、存储介质及装置
CN109710603A (zh) * 2018-12-28 2019-05-03 江苏满运软件科技有限公司 数据清洗方法、系统、存储介质及电子设备
CN110689245A (zh) * 2019-09-17 2020-01-14 上海易点时空网络有限公司 一种分析大数据工作流调用关系的方法及系统
CN111582824A (zh) * 2020-05-08 2020-08-25 北京青云科技股份有限公司 云资源同步方法、装置、设备及存储介质
CN111815200A (zh) * 2020-07-31 2020-10-23 深圳壹账通智能科技有限公司 任务调度方法及装置、计算机设备、存储介质
CN113542326A (zh) * 2020-04-17 2021-10-22 上海际链网络科技有限公司 分布式系统的数据缓存方法及装置、服务器、存储介质
CN113645075A (zh) * 2021-08-11 2021-11-12 杭州安恒信息技术股份有限公司 一种网络链路故障定位方法、装置、设备及可读存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111258742B (zh) * 2020-02-17 2023-08-04 杭州依图医疗技术有限公司 一种数据同步的方法、系统、计算设备及存储介质
CN111694840B (zh) * 2020-04-29 2023-05-30 平安科技(深圳)有限公司 数据同步方法、装置、服务器及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915341A (zh) * 2014-03-10 2015-09-16 中国科学院沈阳自动化研究所 可视化多数据库etl集成方法和系统
CN105095327A (zh) * 2014-05-23 2015-11-25 深圳市珍爱网信息技术有限公司 一种分布式etl系统及调度方法
CN106383901A (zh) * 2016-09-29 2017-02-08 航天科工智慧产业发展有限公司 一种多数据源之间单向数据同步方法
CN106528070A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种数据表生成方法及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100487700C (zh) * 2006-07-11 2009-05-13 阿里巴巴集团控股有限公司 数据仓库中的数据处理方法及系统
CN100562021C (zh) * 2007-07-10 2009-11-18 北京易路联动技术有限公司 一种分布式可同步的多源数据的控制方法和装置
CN102368261A (zh) * 2011-10-14 2012-03-07 成都勤智数码科技有限公司 一种可扩展的运维报表生成方法
EP2891994A4 (en) * 2013-11-04 2016-06-01 Guangdong Electronics Industry Inst Ltd METHOD FOR AUTOMATICALLY SYNCHRONIZING MULTI-SOURCE HETEROGENEOUS DATA RESOURCES
CN103699580B (zh) * 2013-12-03 2016-08-24 中国铁路总公司 数据库同步方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915341A (zh) * 2014-03-10 2015-09-16 中国科学院沈阳自动化研究所 可视化多数据库etl集成方法和系统
CN105095327A (zh) * 2014-05-23 2015-11-25 深圳市珍爱网信息技术有限公司 一种分布式etl系统及调度方法
CN106528070A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种数据表生成方法及设备
CN106383901A (zh) * 2016-09-29 2017-02-08 航天科工智慧产业发展有限公司 一种多数据源之间单向数据同步方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656999A (zh) * 2018-10-11 2019-04-19 平安科技(深圳)有限公司 大数据量的数据同步方法、设备、存储介质及装置
CN109656999B (zh) * 2018-10-11 2024-03-15 平安科技(深圳)有限公司 大数据量的数据同步方法、设备、存储介质及装置
CN109299150A (zh) * 2018-10-24 2019-02-01 万惠投资管理有限公司 一种可配置多数据源适配规则引擎解决方法
CN109299150B (zh) * 2018-10-24 2022-01-28 万惠投资管理有限公司 一种可配置多数据源适配规则引擎解决方法
CN109710603A (zh) * 2018-12-28 2019-05-03 江苏满运软件科技有限公司 数据清洗方法、系统、存储介质及电子设备
CN110689245A (zh) * 2019-09-17 2020-01-14 上海易点时空网络有限公司 一种分析大数据工作流调用关系的方法及系统
CN110689245B (zh) * 2019-09-17 2022-07-12 上海易点时空网络有限公司 一种分析大数据工作流调用关系的方法及系统
CN113542326A (zh) * 2020-04-17 2021-10-22 上海际链网络科技有限公司 分布式系统的数据缓存方法及装置、服务器、存储介质
CN111582824A (zh) * 2020-05-08 2020-08-25 北京青云科技股份有限公司 云资源同步方法、装置、设备及存储介质
CN111582824B (zh) * 2020-05-08 2023-03-24 北京青云科技股份有限公司 云资源同步方法、装置、设备及存储介质
CN111815200A (zh) * 2020-07-31 2020-10-23 深圳壹账通智能科技有限公司 任务调度方法及装置、计算机设备、存储介质
CN113645075A (zh) * 2021-08-11 2021-11-12 杭州安恒信息技术股份有限公司 一种网络链路故障定位方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
WO2019000629A1 (zh) 2019-01-03
CN107689982B (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
CN107766132B (zh) 多任务调度方法、应用服务器及计算机可读存储介质
CN107689982A (zh) 多数据源数据同步方法、应用服务器及计算机可读存储介质
CN107797923B (zh) 代码覆盖率分析方法及应用服务器
CN104978258B (zh) 软件自动化测试方法及系统
CN106155812A (zh) 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
CN110515522B (zh) 设备数据的接入方法、装置、计算机设备和存储介质
CN108428104A (zh) 薪资计算方法、应用服务器及计算机可读存储介质
CN110347708A (zh) 一种数据处理方法以及相关设备
CN108681504A (zh) 自动化测试方法、测试服务器及计算机可读存储介质
CN104133765B (zh) 网络活动的测试用例发送方法及测试用例服务器
CN106339273A (zh) 一种应用程序修复方法、终端及服务器
CN108021621A (zh) 数据库数据采集方法、应用服务器及计算机可读存储介质
CN108255707A (zh) 测试用例的开发角色创建方法、装置、设备及存储介质
CN107908553A (zh) 关联测试方法、应用服务器及计算机可读存储介质
CN108255701A (zh) 场景测试方法及移动终端
CN108427635A (zh) 快速测试web页面的方法、服务器及计算机可读存储介质
CN110109684A (zh) 区块链节点管理代理服务安装方法、电子装置及存储介质
CN111832273A (zh) 目的报文的确定方法及装置、存储介质、电子装置
CN108228197A (zh) 一种在集群中安装软件的方法和装置
CN109684033A (zh) 云平台裸机管理方法、存储介质、电子设备及系统
CN110990381B (zh) 服务器的处理方法及装置、存储介质和电子装置
CN107769934A (zh) 资费处理方法及装置
CN108255914A (zh) 网页生成方法及应用服务器
CN112711624A (zh) 数据打包控制方法、装置、电子设备和存储介质
CN107733785A (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