CN111459924A - 数据采集方法、***、电子设备和介质 - Google Patents

数据采集方法、***、电子设备和介质 Download PDF

Info

Publication number
CN111459924A
CN111459924A CN202010213158.2A CN202010213158A CN111459924A CN 111459924 A CN111459924 A CN 111459924A CN 202010213158 A CN202010213158 A CN 202010213158A CN 111459924 A CN111459924 A CN 111459924A
Authority
CN
China
Prior art keywords
data
unit
task
data source
data acquisition
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
Application number
CN202010213158.2A
Other languages
English (en)
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.)
Shanghai Ctrip Business Co Ltd
Original Assignee
Shanghai Ctrip Business 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 Shanghai Ctrip Business Co Ltd filed Critical Shanghai Ctrip Business Co Ltd
Priority to CN202010213158.2A priority Critical patent/CN111459924A/zh
Publication of CN111459924A publication Critical patent/CN111459924A/zh
Pending legal-status Critical Current

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/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种数据采集方法、***、电子设备和介质,其中数据采集方法,包括以下步骤:对于多种数据源的数据抽取转换加载场景,提供统一数据采集平台,针对每一个数据源通过在平台定制简单的脚本,在配置界面填写拖拽业务需要的字段,完成该数据源的ETL。本发明通过改脚本和拖拽字段配置即可应对多变的需求,不用针对每一个数据源单独开发代码,极大节省了开发人力成本。

Description

数据采集方法、***、电子设备和介质
技术领域
本发明属于多种数据源的ETL(Extract-Transform-Load,抽取转换加载)技术领域,尤其涉及一种数据采集方法、***、电子设备和介质。
背景技术
目前多种行业中,都需要从多种数据源的抽取转换加载数据,达到信息集成的目的。现有技术中,往往需要针对每一个数据源,编写一套代码来完成相应ETL逻辑,逻辑耦合在代码中,代码冗余多,开发人力成本大,在需求多变的情况下不利于维护。
发明内容
本发明要解决的技术问题是为了克服现有技术中逻辑耦合在代码中,代码冗余多,开发人力成本大,在需求多变的情况下不利于维护的缺陷,提供一种数据采集方法、***、电子设备和介质。
本发明是通过下述技术方案来解决上述技术问题:
本发明提供一种数据采集方法,包括以下步骤:
获取数据源的接口信息、拖拽业务需要的字段;
按照所述数据源的接口信息定制脚本;
配置所述拖拽业务需要的字段;
生成该数据源的ETL代码;
运行所述ETL代码以采集、清洗数据源的所述字段的数据,将结果输出至数据库保存。
较佳地,数据采集方法还包括以下步骤:
通过AST构建语法;
解释执行AST并执行相应的运行时组件和函数;
构建任务执行的任务树以对任务执行计划建模;
任务运行时保存上下文数据。
较佳地,数据源的接口信息包括数据库的URL;数据源和结果输出的数据库均支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
较佳地,运行ETL代码出现异常时,采用Hbase持久化异常点的数据和快照;定制简单的脚本支持debug功能,回显断点处的参数。
较佳地,构建任务执行的任务树统计总的数据处理量;提供SDK扩展组件接口以便第三方定制并执行数据处理脚本。
本发明还提供一种数据采集***,包括信息获取单元、定制开发单元、数据处理单元、数据输出单元;
信息获取单元获取数据源的接口信息、拖拽业务需要的字段;
定制开发单元按照数据源的接口信息定制脚本,配置拖拽业务需要的字段,生成该数据源的ETL代码;
数据处理单元运行所述ETL代码以采集、清洗数据源的相应字段的数据;
数据输出单元将结果输出至数据库保存。
较佳地,定制开发单元还包括构建语法单元、解释执行单元、构建任务树单元、上下文数据单元;
构建语法单元通过AST构建语法;
解释执行单元解释执行AST并执行相应的运行时组件和函数;
构建任务树单元构建任务执行的任务树以对任务执行计划建模;
上下文数据单元在任务运行时保存上下文数据。
较佳地,数据源的接口信息包括数据库的URL;数据源和结果输出的数据库均支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
较佳地,定制开发单元还包括快照单元、Trace服务单元;
解释执行AST的过程中,快照单元在异常发生时采用Hbase持久化异常发生的原因和行号;
定制简单的脚本支持debug功能,Trace服务单元可以回显断点处的参数。
较佳地,构建任务执行的任务树,可以统计总的数据处理量;提供SDK扩展组件接口以便第三方定制并执行数据处理脚本。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的数据采集方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的数据采集方法的步骤。
本发明的积极进步效果在于:通过改脚本和拖拽字段配置即可应对多变的需求,不用针对每一个数据源单独开发代码,极大节省了开发人力成本。
附图说明
图1为本发明的实施例1的数据采集方法的流程图。
图2为本发明的实施例2的数据采集***的结构示意图。
图3为本发明的实施例3的电子设备的结构示意图。
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种数据采集方法。参照图1,该数据采集方法包括以下步骤:
步骤S11、获取数据源的接口信息、拖拽业务需要的字段。
在一种可选的实施方式中,数据源的接口信息包括数据库的URL,数据源支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
步骤S12、按照所述数据源的接口信息定制脚本。
在一种可选的实施方式中,提供SDK扩展组件接口以便第三方定制数据处理脚本。
步骤S13、配置所述拖拽业务需要的字段。
步骤S14、生成该数据源的ETL代码。
步骤S15、运行所述ETL代码以采集、清洗数据源的所述字段的数据,将结果输出至数据库保存。
在一种可选的实施方式中,运行ETL代码出现异常时,采用Hbase持久化异常点的数据和快照;定制简单的脚本支持debug功能,回显断点处的参数。结果输出的数据库同样支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
在一种可选的实施方式中,提供SDK扩展组件接口以便第三方执行数据处理脚本。
在一种可选的实施方式中,支持关键词提示、函数和类提示、错误日志回显、权限管理、配置可视化、发布功能。
在一种可选的实施方式中,支持关键词提示、函数和类提示、错误日志回显、权限管理、配置可视化、发布功能。
本实施例的数据采集方法通过改脚本和拖拽字段配置即可应对多变的需求,不用针对每一个数据源单独开发代码,极大节省了开发人力成本。
本实施例还提供一种数据采集***。该数据采集***包括信息获取单元101、定制开发单元102、数据处理单元103、数据输出单元104。信息获取单元101获取数据源的接口信息、拖拽业务需要的字段;定制开发单元102按照数据源的接口信息定制脚本,配置拖拽业务需要的字段,生成该数据源的ETL代码;数据处理单元103运行所述ETL代码以采集、清洗数据源的相应字段的数据;数据输出单元104将结果输出至数据库保存。
具体实施时,首先,信息获取单元101获取数据源的接口信息、拖拽业务需要的字段。
在一种可选的实施方式中,数据源的接口信息包括数据库的URL,数据源支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
在一种可选的实施方式中,提供SDK扩展组件接口以便第三方定制数据处理脚本。
然后,定制开发单元102按照数据源的接口信息定制脚本,配置拖拽业务需要的字段,生成该数据源的ETL代码。
然后,数据处理单元103运行所述ETL代码以采集、清洗数据源的相应字段的数据。
最后,数据输出单元104将结果输出至数据库保存。
在一种可选的实施方式中,运行ETL代码出现异常时,采用Hbase持久化异常点的数据和快照;定制简单的脚本支持debug功能,回显断点处的参数。结果输出的数据库同样支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
在一种可选的实施方式中,提供SDK扩展组件接口以便第三方执行数据处理脚本。
本实施例的数据采集***通过改脚本和拖拽字段配置即可应对多变的需求,不用针对每一个数据源单独开发代码,极大节省了开发人力成本。
实施例2
在实施例1的数据采集方法的基础上,本实施例还提供一种数据采集方法,步骤S13和S14之间,本实施例的数据采集方法还包括以下步骤:
步骤S110、通过AST构建语法。
步骤S111、解释执行AST并执行相应的运行时组件和函数。
步骤S113、构建任务执行的任务树以对任务执行计划建模。
步骤S114、任务运行时保存上下文数据。
在步骤S110中,通过AST(Abstract Syntax Tree)抽象语法树以构建语法。
在步骤S113中,构建任务执行的任务树统计总的数据处理量。
在步骤S11中,数据源的接口信息包括数据库的URL,数据源支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
在步骤S15中,运行ETL代码出现异常时,采用Hbase持久化异常点的数据和快照;定制简单的脚本支持debug功能,回显断点处的参数。结果输出的数据库同样支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
在步骤S12和S15中,提供SDK扩展组件接口以便第三方定制并执行数据处理脚本。
在实施例1的数据采集***的基础上,本实施例还提供一种数据采集***。参照图2,本实施例的数据采集***还包括构建语法单元105、解释执行单元106、构建任务树单元107、上下文数据单元108。构建语法单元105通过AST构建语法;解释执行单元106解释执行AST并执行相应的运行时组件和函数;构建任务树单元107构建任务执行的任务树以对任务执行计划建模;上下文数据单元108在任务运行时保存上下文数据。
具体实施时,本实施例的数据采集***根据以下步骤进行数据采集:
步骤S110、构建语法单元105通过AST构建语法。
步骤S111、解释执行单元106解释执行AST并执行相应的运行时组件和函数。
步骤S113、构建任务树单元107构建任务执行的任务树以对任务执行计划建模。
步骤S114、上下文数据单元108任务运行时保存上下文数据。
在步骤S110中,通过AST(Abstract Syntax Tree)抽象语法树以构建语法。
在步骤S113中,构建任务执行的任务树统计总的数据处理量。
实施例3
图3为本实施例提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1或实施例2的数据采集方法。图3显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同***组件(包括存储器32和处理器31)的总线33。
总线33包括数据总线、地址总线和控制总线。
存储器32可以包括易失性存储器,例如随机存取存储器(RAM)321和/或高速缓存存储器322,还可以进一步包括只读存储器(ROM)323。
存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1或实施例2的数据采集方法。
电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例4
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1或实施例2的数据采集方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或实施例2的数据采集方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (12)

1.一种数据采集方法,其特征在于,包括以下步骤:
获取数据源的接口信息、拖拽业务需要的字段;
按照所述数据源的接口信息定制脚本;
配置所述拖拽业务需要的字段;
生成该数据源的ETL代码;
运行所述ETL代码以采集、清洗数据源的所述字段的数据,将结果输出至数据库保存。
2.如权利要求1所述的数据采集方法,其特征在于,所述数据采集方法还包括以下步骤:
通过AST构建语法;
解释执行AST并执行相应的运行时组件和函数;
构建任务执行的任务树以对任务执行计划建模;
任务运行时保存上下文数据。
3.如权利要求1所述的数据采集方法,其特征在于,所述数据源的接口信息包括数据库的URL;数据源和结果输出的数据库均支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
4.如权利要求1所述的数据采集方法,其特征在于,运行ETL代码出现异常时,采用Hbase持久化异常点的数据和快照;定制简单的脚本支持debug功能,回显断点处的参数。
5.如权利要求2所述的数据采集方法,其特征在于,所述构建任务执行的任务树统计总的数据处理量;提供SDK扩展组件接口以便第三方定制并执行数据处理脚本。
6.一种数据采集***,其特征在于,包括信息获取单元、定制开发单元、数据处理单元、数据输出单元;
所述信息获取单元获取数据源的接口信息、拖拽业务需要的字段;
所述定制开发单元按照所述数据源的接口信息定制脚本,配置所述拖拽业务需要的字段,生成该数据源的ETL代码;
所述数据处理单元运行所述ETL代码以采集、清洗数据源的相应字段的数据;
所述数据输出单元将结果输出至数据库保存。
7.如权利要求6所述的数据采集***,其特征在于,所述定制开发单元还包括构建语法单元、解释执行单元、构建任务树单元、上下文数据单元;
所述构建语法单元通过AST构建语法;
所述解释执行单元解释执行AST并执行相应的运行时组件和函数;
所述构建任务树单元构建任务执行的任务树以对任务执行计划建模;
所述上下文数据单元在任务运行时保存上下文数据。
8.如权利要求6所述的数据采集***,其特征在于,所述数据源的接口信息包括数据库的URL;数据源和结果输出的数据库均支持Hermes、QMQ、MySQL、Hbase、HTTP、SFTP。
9.如权利要求6所述的数据采集***,其特征在于,所述定制开发单元还包括快照单元、Trace服务单元;
解释执行AST的过程中,所述快照单元在异常发生时采用Hbase持久化异常发生的原因和行号;
定制简单的脚本支持debug功能,所述Trace服务单元可以回显断点处的参数。
10.如权利要求7所述的数据采集***,其特征在于,所述构建任务执行的任务树,可以统计总的数据处理量;提供SDK扩展组件接口以便第三方定制并执行数据处理脚本。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5中任一项所述的数据采集方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的数据采集方法的步骤。
CN202010213158.2A 2020-03-24 2020-03-24 数据采集方法、***、电子设备和介质 Pending CN111459924A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010213158.2A CN111459924A (zh) 2020-03-24 2020-03-24 数据采集方法、***、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010213158.2A CN111459924A (zh) 2020-03-24 2020-03-24 数据采集方法、***、电子设备和介质

Publications (1)

Publication Number Publication Date
CN111459924A true CN111459924A (zh) 2020-07-28

Family

ID=71685671

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010213158.2A Pending CN111459924A (zh) 2020-03-24 2020-03-24 数据采集方法、***、电子设备和介质

Country Status (1)

Country Link
CN (1) CN111459924A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015627A (zh) * 2020-08-28 2020-12-01 平安国际智慧城市科技股份有限公司 一种数据采集方法及相关装置
CN112395343A (zh) * 2020-11-18 2021-02-23 浪潮卓数大数据产业发展有限公司 一种基于dsg的字段变更数据采集抽取方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309904A (zh) * 2012-03-16 2013-09-18 阿里巴巴集团控股有限公司 一种生成数据仓库etl 代码的方法及装置
US20170046409A1 (en) * 2015-08-10 2017-02-16 International Business Machines Corporation Using cloud processing to integrate etl into an analytic reporting mechanism
CN110764753A (zh) * 2019-09-18 2020-02-07 亚信创新技术(南京)有限公司 一种业务逻辑代码生成方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309904A (zh) * 2012-03-16 2013-09-18 阿里巴巴集团控股有限公司 一种生成数据仓库etl 代码的方法及装置
US20170046409A1 (en) * 2015-08-10 2017-02-16 International Business Machines Corporation Using cloud processing to integrate etl into an analytic reporting mechanism
CN110764753A (zh) * 2019-09-18 2020-02-07 亚信创新技术(南京)有限公司 一种业务逻辑代码生成方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周静等: "《基于Hadoop的大数据平台构建》", 30 November 2018, 西南交通大学出版社, pages: 252 - 268 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015627A (zh) * 2020-08-28 2020-12-01 平安国际智慧城市科技股份有限公司 一种数据采集方法及相关装置
CN112395343A (zh) * 2020-11-18 2021-02-23 浪潮卓数大数据产业发展有限公司 一种基于dsg的字段变更数据采集抽取方法
CN112395343B (zh) * 2020-11-18 2022-07-26 浪潮卓数大数据产业发展有限公司 一种基于dsg的字段变更数据采集抽取方法

Similar Documents

Publication Publication Date Title
US20210232498A1 (en) Method for testing edge computing, device, and readable storage medium
US9009183B2 (en) Transformation of a system change set from machine-consumable form to a form that is readily consumable by a human
US8584079B2 (en) Quality on submit process
US20130232245A1 (en) Automation for virtualized it environments
EP4006731A1 (en) Method, apparatus, device, storage medium and computer program product for testing code
US20210117313A1 (en) Language agnostic automation scripting tool
CN111459924A (zh) 数据采集方法、***、电子设备和介质
CN113051043A (zh) 微服务异常补偿方法和装置
CN111625460A (zh) 接口自动化测试的方法、***、电子设备和存储介质
US10310961B1 (en) Cognitive dynamic script language builder
CN110888639A (zh) 一种业务代码编译打包方法和装置
CN111159301A (zh) 一种基于智能合约的数据创建方法、装置、设备及存储介质
CN110868324A (zh) 一种业务配置方法、装置、设备和存储介质
US20190171427A1 (en) System and method for implementing automated deployment
CN112445691B (zh) 非侵入式智能合约性能检测方法和装置
US11182272B2 (en) Application state monitoring
US11625309B1 (en) Automated workload monitoring by statistical analysis of logs
CN115729679A (zh) 任务处理方法及装置、计算机可读存储介质、电子设备
CN111694686B (zh) 一种异常服务的处理方法、装置、电子设备及存储介质
US9612870B2 (en) Inversion of control for executable extensions in a run-time environment
CN113220586A (zh) 一种自动化的接口压力测试执行方法、装置和***
CN111831317A (zh) 服务间依赖关系的获取方法、装置、电子设备和存储介质
US20150154100A1 (en) Tuning business software for a specific business environment
CN110990209A (zh) 存储稳定性的测试方法、测试装置、测试设备及存储介质
CN110704230B (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