一种异构数据库库表目录的自动采集方法及系统技术方案

技术编号:24683302 阅读:38 留言:0更新日期:2020-06-27 07:57
本发明专利技术提供了一种异构数据库库表目录的自动采集方法和系统,该方法包括以下步骤:采集数据库的基本信息;统计所述数据库的基本信息以获得数据库库表的第一清单数据,将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型;基于所述数据统计时长的预测模型,以最新抽取的数据库库表目录为对象,构建数据分批模型;利用所述数据分批模型对待统计数据库库表进行分批次、分链条,以获得数据库库表的第二清单数据;对所述第二清单数据的记录数量进行统计以获得数据库库表的统计信息。本发明专利技术可以在复杂信息环境下,实现异构数据库的数据资源完备信息的全覆盖采集和标准化处理,为从源头开展数据处理的系统提供准确数据。

An automatic collection method and system of table catalog in heterogeneous database

【技术实现步骤摘要】
一种异构数据库库表目录的自动采集方法及系统
本专利技术属于大数据处理
,具体涉及一种异构数据库库表目录的自动采集方法及系统。
技术介绍
随着大数据技术应用的不断深入和丰富,数据资源管理的重要性和必要性越来越凸显。20世纪90年代时的以数据仓库为代表的数据应用方案,按照数据集成的思路,采用抽取、清洗、转换的方式,对数据进行管理和应用,但随着数据应用的不断深入,源系统数据质量问题逐步成为了数据应用的瓶颈,数据仓库“垃圾进、垃圾出”的特点需要更加有效的源系统解决方案。而业务系统建设的核心目标是实现具体业务的信息化支撑,聚焦特定的业务领域,难以满足用户的整体数据自主、自发地发展自身数据的处理需求,所以数据孤岛、数据烟囱等现象屡见不鲜。目前,各领域数据处理方法越来越重要,特别是基于源业务系统的数据处理任务越来越重要,相关的方法和系统也层出不穷。现有技术中的数据处理方法具体分为两类:一是以数据设计文档基础,通过人工梳理、归档的方式,基于业务系统的数据字典,构建企业级数据模型;二是以运行数据库的元数据为基础,通过梳理分析数据模型描述信息的方式,构建企业的数据资源目录。然而,第一种方法存在数据库设计文档不完整、运行数据库与设计不一致、人工梳理成本高更新不及时等问题;第二种方法仅获取了数据模型的元数据,缺少数据运行的数据,数据目录信息不完整。
技术实现思路
本专利技术实施例提供一种异构数据库库表目录的自动采集方法及系统,该方法可以在复杂信息环境下,实现异构数据库的数据资源完备信息的全覆盖采集和标准化处理,为从源头开展数据处理的系统提供准确数据。第一方面,本专利技术实施例提供一种异构数据库库表目录的自动采集方法,该自动采集方法包括以下步骤:采集数据库的基本信息;统计所述数据库的基本信息以获得数据库库表的第一清单数据,将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型;基于所述数据统计时长的预测模型,以最新抽取的数据库库表目录为对象,构建数据分批模型;利用所述数据分批模型对待统计数据库库表进行分批次、分链条,以获得数据库库表的第二清单数据;对所述第二清单数据的记录数量进行统计以获得数据库库表的统计信息。第二方面,本专利技术实施例提供一种异构数据库库表目录的自动采集系统,该自动采集系统包括采集模块、统计模块、生成模块、构建模块、划分模块和统计模块;所述采集模块用于采集数据库的基本信息;所述统计模块用于统计所述数据库的基本信息以获得数据库库表的第一清单数据,所述生成模块将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型;所述构建模块基于所述数据统计时长的预测模型,以最新抽取的数据库库表目录为对象来构建数据分批模型;所述划分模块利用所述数据分批模型对待统计数据库库表进行分批次、分链条,以获得数据库库表的第二清单数据;所述统计模块用于对所述第二清单数据的记录进行统计以获得数据库库表的统计信息。本专利技术的异构数据库库表目录自动采集的方法及系统,在复杂的信息环境下,实现了异构数据库的数据资源完备信息的全覆盖采集和标准化处理。本专利技术实现了的异构多数据库(100+)数据字典数据的快速接入,相比于现有技术中人工处理方式,在效率和质量方面有了质的提升;本专利技术基于通过构建数据分批模型,并采用分布式、并行处理的方式,实现了百万级别数据表统计信息的抽取,有效地解决了数据库元数据更新滞后、失真等问题,从而可以实现小时级的海量数据表(例如大于100万张的数据表)统计数据的抽取。本专利技术还利用数据分批模型,将数据库线性分配到不同的链路,通常情况下可实现单个数据库并行时不超过3个简单查询压力,从而有效地解决了数据监控对业务数据库地压力问题。附图说明图1为本专利技术实施例提供的一种异构数据库库表目录的自动采集方法的流程示意图;图2为本专利技术实施例提供的一种异构数据库库表目录的自动采集系统的结构示意图;图3为本专利技术实施例提供的一种电子设备的结构示意图。具体实施方式下面结合附图所示的各实施方式对本专利技术进行详细说明,但应当说明的是,这些实施方式并非对本专利技术的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本专利技术的保护范围之内。实施例一参见图1,图1为本专利技术实施例提供的一种异构数据库库表目录的自动采集方法的流程示意图,该自动采集方法包括以下步骤S100-S500;S100:采集数据库的基本信息;S200:统计所述数据库的基本信息以获得数据库库表的第一清单数据,将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型;其中,该第一清单数据为当前运行的数据库库表的清单数据;S300:基于所述数据统计时长的预测模型,以最新抽取的数据库库表目录为对象,构建数据分批模型;S400:利用所述数据分批模型对待统计数据库库表进行分批次、分链条以获得数据库库表的第二清单数据;所述数据库库表的第二清单数据为对数据库库表分批次、分链条后的数据库库表的清单数据;S500:对所述第二清单数据的记录进行统计以获得数据库库表的统计信息。下面将具体描述本实施例中的异构数据库库表目录的自动采集方法的工作流程。S100:采集数据库的基本信息;优选的,对所述基本信息进行标准化处理,例如利用ETL数据处理方法对数据库的基本信息进行标准化处理。具体的,本实施例中的标准化处理过程中可采用“缓冲层-标准层-汇总层”的三层结构,在缓冲层对异构数据库的源数据的进行同构存储;在标准层对异构数据库的基本信息进行清洗、转换;在汇总层对所述基本信息和源数据进行轻度汇总获得汇总数据;优选的,本实施例对汇总数据进行统一调度,以实现数据在缓冲层、标准层和汇总层之间的同步更新。本实施例中,所述数据库的基本信息包括数据用户信息、表信息、字段信息等数据,例如:Oracle数据库的all_users、all__tables、all_tab_comments等字典信息。由于不同的数据库产品及版本的元数据(即数据字典)存储的数据信息基本一致,但存储结构大不相同。本实施例仅需要根据数据字典的访问权限,并采用分批次、并行的策略,以源业务系统数据库为抽取对象,构建了“T+1”模式(即当天采集前一天的数据变化信息)的数据模型来采集数据库的基本信息。S200:统计所述数据库的基本信息获得数据库库表的第一清单数据,将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型。由于数据统计时长是数据分批的核心指标,但影响该指标的因素比较多,如服务器性能、数据库类型、数据规模、网络带宽、数据库繁忙程度等等,现有技术中的方法无法估算出数据统计时长;同时,由于系统的数据模型处在持续优化的状态,数据表的内容不断发生变化本文档来自技高网...

【技术保护点】
1.一种异构数据库库表目录的自动采集方法,其特征在于,该自动采集方法包括以下步骤:/n采集数据库的基本信息;/n统计所述数据库的基本信息以获得数据库库表的第一清单数据,将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型;/n基于所述数据统计时长的预测模型,以最新抽取的数据库库表目录为对象,构建数据分批模型;/n利用所述数据分批模型对待统计数据库库表进行分批次、分链条,以获得数据库库表的第二清单数据;/n对所述第二清单数据的记录数量进行统计以获得数据库库表的统计信息。/n

【技术特征摘要】
1.一种异构数据库库表目录的自动采集方法,其特征在于,该自动采集方法包括以下步骤:
采集数据库的基本信息;
统计所述数据库的基本信息以获得数据库库表的第一清单数据,将所述第一清单数据作为训练数据通过机器学习算法生成数据统计时长的预测模型;
基于所述数据统计时长的预测模型,以最新抽取的数据库库表目录为对象,构建数据分批模型;
利用所述数据分批模型对待统计数据库库表进行分批次、分链条,以获得数据库库表的第二清单数据;
对所述第二清单数据的记录数量进行统计以获得数据库库表的统计信息。


2.根据权利要求1所述的自动采集方法,其特征在于,利用最小二乘拟合方法对所述数据统计时长的预测模型进行调优。


3.根据权利要求1所述的自动采集方法,其特征在于,所述获得数据库库表的第二清单数据包括以下子步骤:
基于数据库库表目录的中间变量,对多个数据库进行分批次;
将分批次后的数据库划分在不同的链条上。


4.根据权利要求3所述的自动采集方法,其特征在于,所述基于所述数据库库表目录的中间变量,对多个数据库进行分批次包括以下子步骤:
依据数据库库表的表中数据量判断数据库是否存在抽取记录并生成抽取判断结果;
根据所述抽取判断结果对多个数据库进行分批次。


5.根据权利要求4所述的自动采集方法,其特征在于,
若数据库不存在抽取记录,则对多个数据库进行分批次包括以下子步骤:
根据数据库库表数量估算数据库库表的当前运行时间;
根据待分批数据库库表的数量获得该待分批数据库库表首次分批的批次数量;
利用待分批数据库库表的最大索引序号和所述首次分批的批次数量对数据库进行分批次;
对分批次后的数据库进行批次标记;
若数据库存在抽取记录,则利用最小二乘法来对数据库进行分批次。


6.根据权利要求5所述的自动采集方法,其特征在于,
对异构数据库中的单个数据库进行分批次包括以下子步骤:
设置对应分批次数量的多个列表,所述列表用于存放每一批数据库库表的索引号;
对列表内已有索引号对应的所对应的数据库库表模拟时间进行求和;
将下一个数据库库表的索引号插入所述多个列表中数据库库表模拟时间之和值最小...

【专利技术属性】
技术研发人员:杨开格马成龙马智强李玉臻
申请(专利权)人:山东海联讯信息科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1