首页 / 专利库 / 软件 / 中间件 / 消息中间件 / 数据采集交换引擎

数据采集交换引擎

阅读:263发布:2020-05-13

专利汇可以提供数据采集交换引擎专利检索,专利查询,专利分析的服务。并且本 发明 提供一种 数据采集 交换引擎,其根据数据采集交换的特点设置配置参数,用户根据需求在控制中心填写配置参数,控制中心即可根据预设的编译规则自动将用户填写的配置参数编译成配置程序,再依据配置程序 选定 数据交换工具以及安装有该数据交换工具的执行器,并通过通讯与协调模 块 将配置程序从控制中心发送到选定的执行器,再由所述执行器将配置程序编译成选定的数据交换工具能够识别的执行程序,利用该执行程序驱动选定的数据交换工具进行数据采集交换,将来源数据模型中数据的采集交换到目标数据模型中,通过智能选择数据交换工具,自动完成数据采集交换,能够简化用户操作,降低数据采集交换难度,提升数据采集交换效率。,下面是数据采集交换引擎专利的具体信息内容。

1.一种数据采集交换引擎,其特征在于,用于异构数据环境之间的数据转移交换,包括:控制中心(1)、与所述控制中心(1)关联的通讯与协调模(2),以及与所述通讯与协调模块(2)关联的若干个执行器(3);
每一个执行器(3)中设有至少一种数据交换工具;
所述控制中心(1)用于提供可视化界面供用户填写数据采集交换的配置参数,并根据预设的编译规则自动将用户填写的配置参数编译成配置程序,再依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器(3);所述配置参数至少包括:来源数据模型、以及目标数据模型;
所述通讯与协调模块(2)用于控制中心(1)与执行器(3)之间的分布式通讯与协调,从控制中心(1)接收配置程序,将配置程序中的配置参数和需要执行的任务发送到选定的执行器(3);
所述执行器(3)用于从通讯与协调模块(2)接收根据配置程序得到的配置参数和需要执行的任务,并将配置参数编译成选定的数据交换工具能够识别的执行程序,利用该执行程序驱动选定的数据交换工具进行数据采集交换,将来源数据模型中数据的采集交换到目标数据模型中。
2.如权利要求1所述的数据采集交换引擎,其特征在于,所述数据交换工具包括:
DataX、Sqoop、Embulk、以及Flume。
3.如权利要求1所述的数据采集交换引擎,其特征在于,所述数据交换工具还包括:用户按照所述数据采集交换引擎预设的接口标准自定义的数据交换工具。
4.如权利要求1所述的数据采集交换引擎,其特征在于,所述来源数据模型以及目标数据模型为数据库表、文件或消息流。
5.如权利要求4所述的数据采集交换引擎,其特征在于,所述来源数据模型以及目标数据模型中有一个为数据库表时,所述配置参数还包括字段映射规则。
6.如权利要求4所述的数据采集交换引擎,其特征在于,所述数据库表的存储介质包括:oracle数据库、mysql数据库、db2数据库、redis数据库、mongodb数据库、hive大数据平台、hbase大数据平台、以及elasticsearch大数据平台;
所述文件的文件系统或文件传输协议包括:FTP传输协议、SFTP传输协议、以及HDFS分布式文件系统;
所述消息流消息中间件包括:kafka消息中间件、以及Apache ActiveMQ消息中间件。
7.如权利要求1所述的数据采集交换引擎,其特征在于,所述控制中心(1)依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器(3)时首先根据配置程序识别交换任务的类型,然后匹配支持该类型交换任务的数据交换工具,接着根据该交换任务的能要求和是否有可供使用的执行器(3)选定一种数据交换工具以及安装有该数据交换工具的执行器(3)。
8.如权利要求2所述的数据采集交换引擎,其特征在于,当所述选定的数据交换工具为Sqoop时,所述执行器(3)将配置程序编译为Sqoop命令,并提交Shell脚本在服务器执行,从而驱动Sqoop进行数据采集交换;
当所述选定的数据交换工具为DataX时,所述执行器(3)将配置程序编译为datax Json配置文件,将文件保存在临时目录,用python命令启动,传入配置文件路径驱动DataX进行数据采集交换;
当所述选定的数据交换工具为Flume时,所述执行器(3)将配置程序编译为flume conf配置文件,将文件保存在临时目录,判断对应的flume-ng是否启动,如启动则驱动Flume进行数据采集交换,如未启动,则组装shell命令启动flume-ng驱动Flume进行数据采集交换;
当所述选定的数据交换工具为Embulk时,所述执行器(3)将配置程序编译为Embulk配置文件,将文件保存在临时目录,用shell命令启动,传入配置文件路径驱动Embulk进行数据采集交换。
9.如权利要求1所述的数据采集交换引擎,其特征在于,所述执行器(3)还实时监控执行过程并输出执行日志。
10.如权利要求1所述的数据采集交换引擎,其特征在于,所述通讯与协调模块(2)为Zookeeper。

说明书全文

数据采集交换引擎

技术领域

[0001] 本发明涉及大数据技术领域,尤其涉及一种数据采集交换引擎。

背景技术

[0002] 信息科技经过60多年的发展,已渗透到各行业的方方面面。政治、经济活动中很大一部分的活动都与数据的创造、采集、传输和使用相关,随着网络应用日益深化,大数据应用的影响日益扩大。根据机构测算,全世界数据总量以每两年翻一番的速度递增。换句话说,最近两年产生的数据总量相当于人类有史以来所有数据量的总和。在这个背景下,从公司战略到产业生态,从学术研究到生产实践,从城镇管理乃至国家治理,都将发生本质的变化。
[0003] 大数据指的是大小超出常规的数据工具获取、存储、管理和分析能的数据集,并不是说一定要超过特定TB值得数据集才能算是大数据。国际数据公司(IDC)从四个特征定义大数据,即海量的数据规模(Volume)、快速的数据流转和动态的数据体系(Velocity)、多样的数据类型(Variety)和巨大的数据价值(Value)。大数据几乎渗透到国民经济的所有部,应用领域涉及信息服务、智慧城市、金融、制造业、国家安全和科学研究等。
[0004] 随时时代的发展,大数据数据处理和存储引擎不断增多,一种大数据引擎往往满足于某一场景的需求,比如hdfs做分布式文件存储,hive做批处理,hbase做清单查询,redis做内存数据库等。每种引擎都有缺点,比如:hive不适合在线分析查询,redis不适合做大数据量的存储,hbase不适合做批处理分析,大数据平台往往是各种引擎组合在一起,互取所长,共同完成一个大数据处理系统。这样的背景下,数据往往会冗余存储于hive、hbase、redis、ftp、hdfs、sftp、elasticsearch、oracle、以及mysql等各个不同数据环境中,因此,各个引擎之间数据的采集交换也就显得尤为重要。
[0005] 目前,主流的数据采集交换工具有datax、sqoop、flume以及embulk等,其中,DataX是一个在异构的数据库/文件系统之间高速交换数据的工具,实现了在任意的数据处理系统(RDBMS/Hdfs/Local filesystem)之间的数据交换,Sqoop是协助用户在RDBMS与Hadoop之间进行高效的大数据交流的数据交换工具,用户可以在Sqoop的帮助下,可以轻松地把关系型数据库的数据导入到Hadoop与其相关的系统(如HBase和Hive)中,同时也可以把数据从Hadoop系统里抽取并导出到关系型数据库里。Flume是一个能够将不同数据源的海量日志数据进行高效收集、聚合和移动,最后存储到一个中心化数据存储系统中的数据交换工具。Embulk是一个开源的批量数据交换工具,用来在不同数据库、存储设备、文件格式以及服务间转移数据。
[0006] 上述的各种数据交换工具的使用方法各有不同,擅长的数据交换场景也各有不同,Sqoop采用shell命令方式,datax采用配置文件,flume采用conf配置文件,原理深奥,各工具学习成本较高,如遇到问题,需了解其底层原理进行调试,如使用sqoop,需了解大数据相关技术,对企业一般实施人员,技术要求过高。同时,对于一种交换场景,比如oracle交换数据到hive,sqoop、datax以及embulk都可以支持这种交换,此时,那什么时候该用什么工具,用什么引擎最合适最高效,经验不丰富的技术人员往往一时难以判断。而且开源交换引擎支持的场景过于重复,很多场景还未覆盖到。因此需要一种既能使用开源交换引擎的能力,又能补充交换能力,并且具有统一交换配置的工具来解决上述问题。

发明内容

[0007] 本发明的目的在于提供一种数据采集交换引擎,能够以统一的配置根据用户需求智能选择数据交换工具,自动完成数据采集交换,简化用户操作,降低数据采集交换难度,提升数据采集交换效率。
[0008] 为实现上述目的,本发明提供了一种数据采集交换引擎,用于异构数据环境之间的数据转移交换,包括:控制中心、与所述控制中心关联的通讯与协调模,以及与所述通讯与协调模块关联的若干个执行器;
[0009] 每一个执行器中设有至少一种数据交换工具;
[0010] 所述控制中心用于提供可视化界面供用户填写用于数据采集交换的配置参数,并根据预设的编译规则自动将用户填写的配置参数编译成配置程序,再依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器;所述配置参数至少包括:来源数据模型、以及目标数据模型;
[0011] 所述通讯与协调模块用于控制中心与执行器之间的分布式通讯与协调,从控制中心接收配置程序,将配置程序中的配置参数和需要执行的任务发送到选定的执行器;
[0012] 所述执行器用于从通讯与协调模块接收根据配置程序得到的配置参数和任务,并将配置参数编译成选定的数据交换工具能够识别的执行程序,利用该执行程序驱动选定的数据交换工具进行数据采集交换,将来源数据模型中数据的采集交换到目标数据模型中。
[0013] 所述数据交换工具包括:DataX、Sqoop、Embulk、以及Flume。
[0014] 所述数据交换工具还包括:用户按照所述数据采集交换引擎预设的接口标准自定义的数据交换工具。
[0015] 所述来源数据模型以及目标数据模型为数据库表、文件或消息流。
[0016] 所述来源数据模型以及目标数据模型有一个为数据库表时,所述配置参数还包括字段映射规则。
[0017] 所述数据库表的存储介质包括:oracle数据库、mysql数据库、db2数据库、redis数据库、mongodb数据库、hive大数据平台、hbase大数据平台、以及elasticsearch大数据平台;
[0018] 所述文件的文件系统或文件传输协议包括:FTP传输协议、SFTP传输协议、以及HDFS分布式文件系统;
[0019] 所述消息流消息中间件包括:kafka消息中间件、以及Apache ActiveMQ消息中间件。
[0020] 所述控制中心依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器时首先根据配置程序识别交换任务的类型,然后匹配支持该类交换任务的数据交换工具,接着根据该交换任务的能力要求和是否有可供使用的执行器选定一种数据交换工具以及安装有该数据交换工具的执行器。
[0021] 当所述选定的数据交换工具为Sqoop时,所述执行器将配置程序编译为Sqoop命令,并提交Shell脚本在服务器执行,从而驱动Sqoop进行数据采集交换;
[0022] 当所述选定的数据交换工具为DataX时,所述执行器将配置程序编译为datax Json配置文件,将文件保存在临时目录,用python命令启动,传入配置文件路径驱动DataX进行数据采集交换;
[0023] 当所述选定的数据交换工具为Flume时,所述执行器将配置程序编译为flume conf配置文件,将文件保存在临时目录,判断对应的flume-ng是否启动,如启动则驱动Flume进行数据采集交换,如未启动,则组装shell命令启动flume-ng驱动Flume进行数据采集交换;
[0024] 当所述选定的数据交换工具为Embulk时,所述执行器将配置程序编译为Embulk配置文件,将文件保存在临时目录,用shell命令启动,传入配置文件路径驱动Embulk进行数据采集交换。
[0025] 所述执行器还实时监控执行过程并输出执行日志。
[0026] 所述通讯与协调模块为Zookeeper。
[0027] 本发明的有益效果:本发明提供一种数据采集交换引擎,其根据数据采集交换的特点设置配置参数,用户根据需求在控制中心填写配置参数,控制中心即可根据预设的编译规则自动将用户填写的配置参数编译成配置程序,再依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器,并通过通讯与协调模块将配置程序从控制中心发送到选定的执行器,再由所述执行器将配置程序编译成选定的数据交换工具能够识别的执行程序,利用该执行程序驱动选定的数据交换工具进行数据采集交换,将来源数据模型中数据的采集交换到目标数据模型中,通过智能选择数据交换工具,自动完成数据采集交换,能够简化用户操作,降低数据采集交换难度,提升数据采集交换效率。附图说明
[0028] 为了能更进一步了解本发明的特征以及技术内容,请参阅以下有关本发明的详细说明与附图,然而附图仅提供参考与说明用,并非用来对本发明加以限制。
[0029] 附图中,
[0030] 图1为本发明的数据采集交换引擎的结构图;
[0031] 图2为本发明的数据采集交换引擎进行数据库表配置的界面图。
[0032] 图3为本发明的数据采集交换引擎进行文件配置的界面图;
[0033] 图4为本发明的数据采集交换引擎进行消息流配置的界面图。

具体实施方式

[0034] 为更进一步阐述本发明所采取的技术手段及其效果,以下结合本发明的优选实施例及其附图进行详细描述。
[0035] 请参阅图1,本发明提供一种数据采集交换引擎,用于异构数据环境之间的数据转移交换,包括:控制中心1、与所述控制中心1关联的通讯与协调模块2,以及与所述通讯与协调模块2关联的若干个执行器3。
[0036] 具体地,每一个执行器3中设有至少一种数据交换工具,所述数据交换工可以为:DataX、Sqoop、Embulk、或Flume等。
[0037] 具体地,所述控制中心1用于提供可视化界面供用户填写用于数据采集交换的配置参数,并根据预设的编译规则自动将用户填写的配置参数编译成配置程序,再依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器3。
[0038] 具体地,所述控制中心1依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器3时首先根据配置程序识别交换任务的类型,然后匹配支持该类交换任务的数据交换工具,接着根据该交换任务的能力要求和是否有可供使用的执行器3选定一种数据交换工具以及安装有该数据交换工具的执行器3。详细过程为:先进行交换场景识别,即识别交换任务的类型,从什么库/环境交换什么库/环境,比如将数据从oracle采集到hive,接着匹配引擎列表,即匹配支持该类交换任务的引擎列表,比如Sqoop、DataX、和Embulk都支持从oracle导数到hive,然后进行能力项匹配:判断任务的要求(比如文件是否加解压,是否要求高并发)并根据任务的要求进行引擎过滤,例如任务要求高并发,而Embulk为轻量级单机版,过滤Embulk;接着进行部署信息过滤:即判定是否有执行器3中设有且当前可运行目前选定的数据交换工具,并进行过滤;例如判断没有执行器3中设有Sqoop或者当前没有可运行Sqoop的执行器3,则过滤Sqoop;然后进行连接测试:测试安装有目前选定的数据交换工具的执行器3是否都可以连接到来源数据和目标数据,若不能连接则剔除,最后对剩余的执行器3根据每个执行器3执行的历史记录、时间、效率、以及失败次数对执行器3进行评分,按照评分从高到低排序。
[0039] 进一步地,所述配置参数至少包括:来源数据模型、以及目标数据模型,所述来源数据模型以及目标数据模型为数据库表、文件、或消息流,其中,所述数据库表的存储介质可以为oracle数据库、mysql数据库、或db2数据等传统关系型数据库、也可以为redis数据库、或mongodb数据库等NOSQL数据库,还可以为hive、hbase、以及elasticsearch等大数据平台;所述文件的文件系统或文件传输协议包括:FTP传输协议、SFTP传输协议、以及HDFS分布式文件系统等;所述消息流消息中间件包括:kafka消息中间件、以及Apache ActiveMQ等消息中间件。
[0040] 具体地,请参阅图2,配置数据库表时,需要填写的内容包括数据表的物理名称、以及数据源,请参阅图3,配置文件时,需要填写的内容包括:存储路径、文件名、存储类型(如TXT)、数据连接方式(如FTP-133.37.253.23)、以及编码(如UTF-8),请参阅图4,配置消息流时,需要填写的内容包括:标题、以及数据连接方式。此外,配置数据库表还可以填写业务分类和中文名称,配置文件时还可以填写压缩方式、和分隔符,配置消息流时还可以填写分隔符。
[0041] 需要说明的是,若是文件到文件的数据采集交换,则配置完来源数据模型、以及目标数据模型后即可完成整个配置参数的填写,而当数据交换采集涉及到数据库表时还需要填写字段映射规则。与此同时,根据需要还可以有更多配置,例如配置采集SQL(Structured Query Language,结构化查询语言),配置整个任务的并发模式,配置过滤条件,配置程序运行时的动态参数等,其中,配置程序运行时的动态参数时,参数来源可以来源于关系型数据库的一个SQL。
[0042] 所述通讯与协调模块2用于控制中心1与执行器3之间的分布式通讯与协调,从控制中心1接收配置程序,将配置程序中的配置参数和需要执行的任务发送到选定的执行器3,具体地,所述通讯与协调模块2为Zookeeper。
[0043] 所述执行器3用于从通讯与协调模块接收由配置程序得到的配置参数和任务,并将配置参数编译成选定的数据交换工具能够识别的执行程序,利用该执行程序驱动选定的数据交换工具进行数据采集交换,将来源数据模型中的数据采集交换到目标数据模型中,同时所述执行器3还实时监控执行过程并输出执行日志。
[0044] 可选地,所述数据交换工具包括但不限于:DataX、Sqoop、Embulk、以及Flume等,此外,该数据交换工具还可以为:用户按照所述数据采集交换引擎预设的接口标准自定义的数据交换工具。
[0045] 详细地,当所述选定的数据交换工具为Sqoop时,所述执行器3将配置程序编译为Sqoop命令,并提交Shell脚本在服务器执行,从而驱动Sqoop进行数据采集交换;
[0046] 当所述选定的数据交换工具为DataX时,所述执行器3将配置程序编译为datax Json配置文件,将文件保存在临时目录,用python命令启动,传入配置文件路径驱动DataX进行数据采集交换;
[0047] 当所述选定的数据交换工具为Flume时,所述执行器3将配置程序编译为flume conf配置文件,将文件保存在临时目录,判断对应的flume-ng是否启动,如启动则驱动Flume进行数据采集交换,如未启动,则组装shell命令启动flume-ng驱动Flume进行数据采集交换;
[0048] 当所述选定的数据交换工具为Embulk时,所述执行器3将配置程序编译为Embulk配置文件,将文件保存在临时目录,用shell命令启动,传入配置文件路径驱动Embulk进行数据采集交换。
[0049] 综上所述,本发明提供一种数据采集交换引擎,其根据数据采集交换的特点设置配置参数,用户根据需求在控制中心填写配置参数,控制中心即可根据预设的编译规则自动将用户填写的配置参数编译成配置程序,再依据配置程序选定数据交换工具以及安装有该数据交换工具的执行器,并通过通讯与协调模块将配置程序从控制中心发送到选定的执行器,再由所述执行器将配置程序编译成选定的数据交换工具能够识别的执行程序,利用该执行程序驱动选定的数据交换工具进行数据采集交换,将来源数据模型中数据的采集交换到目标数据模型中,通过智能选择数据交换工具,自动完成数据采集交换,能够简化用户操作,降低数据采集交换难度,提升数据采集交换效率。
[0050] 以上所述,对于本领域的普通技术人员来说,可以根据本发明的技术方案和技术构思作出其他各种相应的改变和变形,而所有这些改变和变形都应属于本发明权利要求的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈