CN115712623B - 一种基于捕获元数据变更的批量数据容错采集方法 - Google Patents
一种基于捕获元数据变更的批量数据容错采集方法 Download PDFInfo
- Publication number
- CN115712623B CN115712623B CN202211468833.1A CN202211468833A CN115712623B CN 115712623 B CN115712623 B CN 115712623B CN 202211468833 A CN202211468833 A CN 202211468833A CN 115712623 B CN115712623 B CN 115712623B
- Authority
- CN
- China
- Prior art keywords
- metadata
- data
- data source
- type
- information
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于捕获元数据变更的批量数据容错采集方法,其步骤包括:1)定时任务获取数据源的元数据最新版本信息,当发生变化时将该数据源的元数据信息推送给消息中间件;2)消息中间件根据该数据源的元数据最新版本信息与上一版本信息,依次进行元数据识别、元数据纠错、元数据匹配、元数据对比,如果对比结果是字段数量发生变更则进行容错处理并暂停当前任务;如果对比结果是字段类型发生变更,则判断变更后的字段类型是否和hive类型对应,如果对应,则继续当前的批量采集任务;如果变更后的字段类型与hive类型不对应则进行容错处理并暂停当前任务;3)根据执行完容错处理所生成的批量采集任务,对数据源进行数据采集。
Description
技术领域
本发明属于计算机软件技术领域,具体涉及一种基于捕获元数据变更的批量数据容错采集方法。
背景技术
现有的元数据管理工具基于元模型,而现有元模型库较少,研发成本比较高。如何能够在元数据发生变更的场景下能够保持对数据的批量采集,并对高风险点进行异常监控是亟待解决的技术问题。
现有的数据批量采集系统,在初始化执行任务的时间节点,先获取对应数据源的元数据,根据当前元数据,在目标数据仓库建立响应的数据表结构。初始化数据表结构后,周期性地批量采集数据源的数据,至此在后续的任务不再监听数据源的元数据变换。这将会导致在如果数据源的元数据放生发生变化,批量数据采集任务会执行失败,造成批量数据采集的中断和报错。
当前发明,解决的就是在此场景下批量数据采集的失败问题。根据实时监听数据源的元数据变化,动态的调整批量数据采集任务,做到批量数据容错采集。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于捕获元数据变更的批量数据容错采集方法。数据采集系统的用户,通过UI前端界面和中端驱动程序连接位于后台的元数据库,配置需求特征,从关系型数据中调用接口抽取指定的元数据数据类型,实现元数据采集、批量数据采集,并对元数据进行分析和应用。
本发明的技术方案为:
一种基于捕获元数据变更的批量数据容错采集方法,其步骤包括:
1)定时任务获取数据源的元数据最新版本信息,包括数据的字段数量、字段名称、字段类型;当该数据源的元数据最新版本信息发生变化时,将该数据源的元数据信息推送给消息中间件;
2)所述消息中间件根据该数据源的元数据最新版本信息与该数据源的元数据上一版本信息,依次进行元数据识别、元数据纠错、元数据匹配、元数据对比,如果对比结果是字段数量发生变更则进行容错处理并暂停当前的批量数据采集任务;如果对比结果是字段类型发生变更,则判断变更后的字段类型是否和hive类型对应,如果与hive类型对应,则不需要进行容错处理,继续当前的批量采集任务;如果变更后的字段类型与hive类型不对应则进行容错处理并暂停当前的批量数据采集任务;
3)根据执行完所述容错处理所生成的批量采集任务,对数据源进行数据采集。
进一步的,所述容错处理的方法为:首先获取元数据最新版本信息;然后获取最新数据源信息,包含数据库类型、数据库地址、数据库用户名、数据库密码;根据最新数据源信息和元数据最新版本信息生成新的批量采集任务。
进一步的,所述元数据识别是指识别元数据中的字段数量、字段名称、字段类型,所述元数据纠错是指当字段描述时的字段名称和字段类型不对应时,对其进行最相近类型的容错纠正;所述元数据匹配是指将数据源的类型与数据仓库的数据类型进行对比匹配,使该数据源的类型能在数据仓库中正确识别;所述元数据对比用于判断元数据变更情况。
进一步的,进行所述元数据对比时,通过增加数据源节点搭建一个元数据悬挂节点的元数据模型浏览树,所述元数据悬挂节点中配置数据源链接参数属性,所述数据源链接参数属性包括数据源类型、IP地址、用户名、密码以及所属数据库,并进行链接测试。
进一步的,执行批量采集任务的方法为:根据数据源的元数据,生成数据仓库中对应的贴源库的表并建立表通道,然后通过Sqoop组件拉取数据源的数据行,同步传输到数据仓库对应的表中。
进一步的,步骤3)中,对数据源进行数据采集的方法为:首先对选定的数据源进行元数据采集并且存储到元数据库;对元数据库进行维护操作,并且对于采集入库的元数据进行链路分析、影响分析以及应用影响度分析;所述链路分析是指对数据流链路所选节点之前建立的元数据相关表单在前端界面显示;所述影响分析是指对数据流链路所选节点之后所产生的影响建立的元数据相关表单在前端界面展示;所述应用影响度分析是指对元数据所影响的代码片段进行查找筛选,并以列表的形式体现在前端页面。
进一步的,所述元数据库所存储的元数据包含业务元数据和数据源元数据,所述业务数据以业务指标、业务系统结构为核心,用于业务人员浏览,所述数据源元数据包含库、表、字段、主外键、约束、视图、存储过程,用于技术开发人员浏览,并且在构建元数据库的过程中对所有元数据形成视图的层级关系。
本发明的优点如下:
针对不同数据源建立数据采集链路通道,通过捕获元数据的版本变化,判断元数据的变化是否会影响批量采集任务,如果影响批量采集任务,自动适配元数据类型,生成新的采集任务,继续对原有数据源进行采集。以及综合考量与诊断指标对于对全链条数据批量采集运行状态风险状态的判断。
附图说明
图1为本发明方法流程图。
具体实施方式
下面结合附图对本发明进行进一步详细描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
元数据是指关于数据的数据,即对数据的描述信息。根据其属性的不同,元数据可分为技术元数据和业务元数据。元数据管理是元数据的定义、收集、管理和发布的方法、工具及流程的集合,通过完成对相关业务元数据及技术元数据的集成及应用,提供数据路径、数据归属信息,并对业务术语、文档进行集中管理,借助变更报告、影响分析以及业务术语管理等应用,以此保证数据的完整性、控制数据质量、减少业务术语歧义和建立业务人员之间、技术人员之间的沟通,以及双方的沟通平台。
(1)元数据变更识别
通过元数据内容修改元数据版本号,通过当前已知实现将版本化数据附加到内容本身。但是,这种版本化具有缺点,例如:对象的元数据是否与加载到系统的元数据相同;元数据的原始程度是否一个人自始至终控制元数据更改;或者在个别更新中更改了多少内容。将不同版本的元数据通过消息通道传递到元数据版本接口服务管理模块,元数据版本接口服务管理模块对当前元数据版本与历史版本进行元数据识别、元数据纠错、元数据适配、元数据对比,判断元数据的变化是否会影响到批量数据采集任务。如果影响到批量采集任务,会暂停原有的任务,新建并启动新的采集任务进行批量数据采集。
(2)元数据采集的具体步骤
定时任务监听数据源的元数据变化,实时获取元数据的最新版本,包含数据的字段数量、字段名称、字段类型等,当这些信息发生变更,将元数据信息推送给消息中间件,比如Kafka。监听到消息中间的数据,进行元数据识别、元数据纠错、元数据匹配、元数据对比,元数据识别,识别元数据中的字段数量、字段名称、字段类型,元数据纠错,纠正在字段描述时的字段名称和字段类型不对应等错误,对其进行最相近类型的容错。元数据匹配,将数据源的类型与数据仓库的数据类型进行对比匹配,使数据源的类型在数据仓库中正确识别。元数据对比分为,字段数量发生变更,这种场景一定会影响采集任务,需要做容错处理。元数据发生变化的另一个场景,是字段类型发生变更,这种场景需要判断是否和hive类型对应,如果和hive类型对应,这种情况批量任务可以自动识别,不需要做容错处理。批量采集任务是根据数据源的元数据,生成数据仓库中对应的贴源库的表,建立表通道之后。通过Sqoop组件拉取数据源的数据行,同步传输到数据仓库对应的表中。如果字段类型和hive类型不对应,这时候需要做容错处理。容错处理流程首先,虽然数据源的元数据版本发生变化,但是数据源信息其实并未发生变化,依然可以通过已有的失败批量采集任务获取最新数据源信息,通过获取数据源新的DDL,获取最新的元数据,包含数据库类型、数据库地址、数据库用户名、数据库密码等配置信息生成新的批量采集任务;之后停止原有的批量采集任务,启动新的批量采集任务,自动配置到调度平台中,进行数据采集到数据仓库。
在元数据对比过程中,通过增加数据源节点搭建一个元数据悬挂节点的元数据模型浏览树的管理,悬挂节点需要配置数据源链接参数属性,数据源链接参数属性包括数据源类型、IP地址、用户名、密码以及所属数据库,并进行数据源的连接状态测试。
(3)监听后续批量数据采集的状态启动新版本的批量数据采集任务之后,对选定的数据源进行元数据采集并且存储到元数据库;对元数据库进行维护操作,并且对于采集入库的元数据进行分析操作,可进行链路分析、影响分析以及应用影响度分析。链路分析即对数据流链路所选节点之前建立的元数据相关表单,在前端界面显示。影响分析即对数据流链路所选节点之后所产生的影响建立的元数据相关表单,在前端界面展示;应用影响度分析即对元数据所影响的代码片段进行查找筛选,并以列表的形式体现在前端页面,辅助开发人员进行查找影响代码。
对选定的数据源区分为手动采集和自动采集,若为手动采集则是当前单次采集,若为自动采集则配置为周期性采集,需要配置采集起始时间、采集频率,其中,采集任务都形成元数据采集任务记录进行管理,可查看采集任务列表及执行状态;对于采集到的元数据需要进行管理,包括元数据的采集和变更;在采集的元数据入库之前需要对元数据进行版本控制,即对本次采集元数据与上次采集的元数据版本进行比对,检核两次之间的差异,包括字段类型、字段名称、差异数据;手动选择全量存储或者是增量存储:全量存储即忽略两次采集之间的相同数据,直接将本次数据全部存储,
增量存储即仅修改当前采集与上次采集有差异的数据使之成为最新数据。所述元数据库用于元数据的存储,其包含业务元数据和数据源元数据两部分,业务数据以业务指标、业务系统结构为核心,用于业务人员浏览,数据源元数据包含库、表、字段、主外键、约束、视图、存储过程等,用于技术开发人员浏览,并且在构建元数据库的过程中需要对所有元数据形成所述视图的层级关系。
现有元数据版本管理方法主要是通过人工编写版本号,提交审批,上级审批人员审批通过即可以发生元数据版本变更或者没有审批全部通过工作人员操作自定义版本号。缺点元数据的版本追溯难度很大,版本号前后可能没有关系,版本号的随意性太大,人工规范复杂。
通过元数据内容修改元数据版本号。通过当前的已知实现将版本化数据附加到内容本身。但是,这种版本化具有缺点,例如:对象的元数据是否与加载到系统的元数据相同;元数据的原始程度;是否一个人自始至终控制元数据更改;或者个别更新中更改了多少内容。
尽管为说明目的公开了本发明的具体实施例,其目的在于帮助理解本发明的内容并据以实施,本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (5)
1.一种基于捕获元数据变更的批量数据容错采集方法,其步骤包括:
1)定时任务获取数据源的元数据最新版本信息,包括数据的字段数量、字段名称、字段类型;当该数据源的元数据最新版本信息发生变化时,将该数据源的元数据信息推送给消息中间件;
2)所述消息中间件根据该数据源的元数据最新版本信息与该数据源的元数据上一版本信息,依次进行元数据识别、元数据纠错、元数据匹配、元数据对比,如果对比结果是字段数量发生变更则进行容错处理并暂停当前的批量数据采集任务;如果对比结果是字段类型发生变更,则判断变更后的字段类型是否和hive类型对应,如果与hive类型对应,则不需要进行容错处理,继续当前的批量采集任务;如果变更后的字段类型与hive类型不对应则进行容错处理并暂停当前的批量数据采集任务;所述容错处理的方法为:首先获取元数据最新版本信息;然后获取最新数据源信息,包含数据库类型、数据库地址、数据库用户名、数据库密码;根据最新数据源信息和元数据最新版本信息生成新的批量采集任务;所述元数据识别是指识别元数据中的字段数量、字段名称、字段类型,所述元数据纠错是指当字段描述时的字段名称和字段类型不对应时,对其进行最相近类型的容错纠正;所述元数据匹配是指将数据源的类型与数据仓库的数据类型进行对比匹配,使该数据源的类型能在数据仓库中正确识别;所述元数据对比用于判断元数据变更情况;
3)根据执行完所述容错处理所生成的批量采集任务,对数据源进行数据采集。
2.根据权利要求1所述的方法,其特征在于,进行所述元数据对比时,通过增加数据源节点搭建一个元数据悬挂节点的元数据模型浏览树,所述元数据悬挂节点中配置数据源链接参数属性,所述数据源链接参数属性包括数据源类型、IP地址、用户名、密码以及所属数据库,并进行链接测试。
3.根据权利要求1所述的方法,其特征在于,执行批量采集任务的方法为:根据数据源的元数据,生成数据仓库中对应的贴源库的表并建立表通道,然后通过Sqoop组件拉取数据源的数据行,同步传输到数据仓库对应的表中。
4.根据权利要求1所述的方法,其特征在于,步骤3)中,对数据源进行数据采集的方法为:首先对选定的数据源进行元数据采集并且存储到元数据库;对元数据库进行维护操作,并且对于采集入库的元数据进行链路分析、影响分析以及应用影响度分析;所述链路分析是指对数据流链路所选节点之前建立的元数据相关表单在前端界面显示;所述影响分析是指对数据流链路所选节点之后所产生的影响建立的元数据相关表单在前端界面展示;所述应用影响度分析是指对元数据所影响的代码片段进行查找筛选,并以列表的形式体现在前端页面。
5.根据权利要求4所述的方法,其特征在于,所述元数据库所存储的元数据包含业务元数据和数据源元数据,所述业务元数据以业务指标、业务系统结构为核心,用于业务人员浏览,所述数据源元数据包含库、表、字段、主外键、约束、视图、存储过程,用于技术开发人员浏览,并且在构建元数据库的过程中对所有元数据形成视图的层级关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211468833.1A CN115712623B (zh) | 2022-11-22 | 2022-11-22 | 一种基于捕获元数据变更的批量数据容错采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211468833.1A CN115712623B (zh) | 2022-11-22 | 2022-11-22 | 一种基于捕获元数据变更的批量数据容错采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115712623A CN115712623A (zh) | 2023-02-24 |
CN115712623B true CN115712623B (zh) | 2023-07-18 |
Family
ID=85234211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211468833.1A Active CN115712623B (zh) | 2022-11-22 | 2022-11-22 | 一种基于捕获元数据变更的批量数据容错采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115712623B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117421337B (zh) * | 2023-09-26 | 2024-05-28 | 东土科技(宜昌)有限公司 | 数据采集方法、装置、设备及计算机可读介质 |
CN117435558B (zh) * | 2023-12-20 | 2024-03-29 | 杭州硕磐智能科技有限公司 | 一种元数据管理方法、计算设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107590158B (zh) * | 2016-07-08 | 2020-12-22 | 北京京东尚科信息技术有限公司 | 一种获取数据源变更信息的方法和装置 |
CN112685433B (zh) * | 2021-01-07 | 2022-08-05 | 网易(杭州)网络有限公司 | 元数据更新方法、装置、电子设备及计算机可读存储介质 |
CN114298525A (zh) * | 2021-12-24 | 2022-04-08 | 中电金信软件有限公司 | 一种数据库风险评估方法及装置 |
CN114925054A (zh) * | 2022-05-24 | 2022-08-19 | 浪潮软件科技有限公司 | 一种基于元模型的元数据管理系统及方法 |
-
2022
- 2022-11-22 CN CN202211468833.1A patent/CN115712623B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115712623A (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115712623B (zh) | 一种基于捕获元数据变更的批量数据容错采集方法 | |
US8671084B2 (en) | Updating a data warehouse schema based on changes in an observation model | |
US8140477B2 (en) | Continuous integration of business intelligence software | |
US8010578B2 (en) | Method of refactoring a running database system | |
CN103514223A (zh) | 一种数据仓库数据同步方法和系统 | |
CN104965735A (zh) | 用于生成升级sql脚本的装置 | |
US7668888B2 (en) | Converting object structures for search engines | |
CN109902016A (zh) | 一种Web的测试方法及测试平台 | |
CN104423960A (zh) | 一种项目持续集成的方法及系统 | |
CN105224527B (zh) | 适用于多种目的表更新方式的通用etl方法 | |
CN110334326B (zh) | 一种识别配方文件并转化为xml文件的方法及系统 | |
US20110029822A1 (en) | Tracking of java objects during request processing | |
CN112130891B (zh) | 一种数据库持续部署的方法和设备 | |
CN105335472A (zh) | 一种更新数据查询引擎配置列表的方法及装置 | |
CN101442591B (zh) | 一种性能业务模型差异自检与升级的方法及系统 | |
CN114780138B (zh) | 流场模拟软件代码版本管理方法、装置和存储介质 | |
CN112182233B (zh) | 用于存储设备故障记录的知识库、及利用其辅助定位设备故障的方法及系统 | |
US20080189150A1 (en) | Supply chain multi-dimensional serial containment process | |
CN116028651B (zh) | 一种支持本体和数据增量更新的知识图谱构建系统及方法 | |
CN112256978B (zh) | 一种基于数据模型的数据处理方法、装置、介质 | |
CN115470192A (zh) | 一种数据库元数据采集与管理的方法 | |
CN112380186A (zh) | 一种基于主动适配的国产数据库迁移方法 | |
CN107402920A (zh) | 确定关系数据库表关联复杂度的方法和装置 | |
CN117348915B (zh) | 一种内核代码自动同步方法及系统 | |
CN117827252B (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 |