掌桥专利:专业的专利平台
掌桥专利
首页

数据产品服务组件的数据分析方法、装置及作业评价系统

文献发布时间:2023-06-19 19:27:02


数据产品服务组件的数据分析方法、装置及作业评价系统

技术领域

本发明涉及数据运维技术领域,尤其涉及一种数据产品服务组件的数据分析方法、装置及作业评价系统。

背景技术

数据产品服务组件(N-EDP),目前所使用的MPP,经常因为运行作业中涉及到的SQL造成自愈,即当MPP中的一台服务器跑SQL,导致磁盘性能达到100%,服务器资源消耗很大时,集群会自动将该台服务器剔除,加入一台新的服务器到集群中提供支持,但新加入的服务器上没有数据,需要从原来被剔除的服务器上进行数据库拷贝。

随着数据管理部的数据应用对敏捷快速投产的需求越来越多,大数据类的批量作业上线频率越来越高,数量也越来越多,对于消耗基础设施资源也越来越大,而从原来被剔除的服务器上进行数据库拷贝的时间也越长,这段时间内集群的压力也会由于突然减少了一台服务器进一步增加,会有更多的服务器资源使用变大而被剔除用新的服务器替换,新的服务器在使用前进行长时间的数据拷贝。这样不断循环下去的结果便是每个作业都处于running状态,都没有资源可供运行完成,而后续不断有新的批量作业在排队就绪。

目前多采用手工方式,找到导致资源消耗大的作业的TOPSQL(当日运行时间最长的SQL),人工从各个角度进行分析判断可能造成SQL运行时间久、资源开销大的问题,但这样即耗费资源,也占据很大的人力成本。

发明内容

有鉴于此,本发明实施例提供一种数据产品服务组件的数据分析方法、装置及作业评价系统,以解决现有进行数据分析过程中耗费资源、人力成本高的问题。

为解决上述问题,本发明实施例提供如下技术方案:

本发明实施例第一方面公开了一种数据产品服务组件的数据分析方法,所述方法包括:

利用大规模并行分析MPP记录每日数据产品服务组件所有结构性查询语句SQL的运行信息,得到MPP日志;

筛选所述MPP日志中当日运行时间最长的SQL,得到TOPSQL;

对所述TOPSQL进行多维评分,得到数据质量评估值;

基于所述TOPSQL在代码库中查找包含所述TOPSQL的统计分析系统SAS作业,得到待处理SAS作业;

通过数据仓库ETL查询产生所述待处理SAS作业的SAS代码,得到目标SAS代码;

对所述SAS代码进行检查评分,得到代码质量分析值;

集合所述数据质量评估值和代码质量分析值生成每日报表,并输出。

可选的,所述方法还包括:

利用大规模并行分析MPP监控所述数据产品服务组件的资源使用率;

若所述资源使用率超过预设值,生成告警信息;

收集生成告警信息期间产生的告警SQL;

对所述告警SQL进行评分,得到MPP告警故障评估值;

集合所述数据质量评估值、代码质量分析值和MPP告警故障评估值生成每日报表,并输出。

可选的,所述方法还包括:

利用大规模并行分析MPP监控所述数据产品服务组件的可用磁盘空间和/或CPU的使用率;

若所述可用磁盘空间小于磁盘空间阈值,和/或,所述CPU的使用率超过预设使用率,生成告警信息;

收集生成告警信息期间产生的告警SQL;

对所述告警SQL进行评分,得到MPP告警故障评估值;

集合所述数据质量评估值、代码质量分析值和MPP告警故障评估值生成每日报表,并输出。

可选的,对所述TOPSQL进行多维评分,得到数据质量评估值,包括:

查询包含所述TOPSQL的数据库表名,得到待处理数据库表;

多维度判断所述待处理数据库表是否符合规范,所述多维度判断包括:是否进行分区、字段的数据类型是否符合要求、是否有分离存放附件或者大文本数据库表、所述待处理数据库表的数据量、所述待处理数据库表的操作语句是否规范、或所述待处理数据库表的视图是否符合规范的任意组合;

基于判断结果对所述TOPSQL进行评分,将得到的TOPSQL评分作为数据质量评估值。

可选的,所述方法还包括:

查询所述每日报表中的代码质量分析值是否小于分析阈值;

若小于分析阈值,对所述代码质量分析值对应的待处理SAS作业进行维护。

可选的,所述方法还包括:

查询所述每日报表中的数据质量评估值是否小于评估阈值;

若小于评估阈值,对所述数据质量评估值对应的TOPSQL进行优化。

本发明实施例第二方面公开了一种数据产品服务组件的数据分析装置,所述装置包括:

记录模块,用于利用大规模并行分析MPP记录每日数据产品服务组件所有结构性查询语句SQL的运行信息,得到MPP日志;

筛选模块,用于筛选所述MPP日志中当日运行时间最长的SQL,得到TOPSQL;

SQL评分模块,用于对所述TOPSQL进行多维评分,得到数据质量评估值;

作业查询模块,用于基于所述TOPSQL在代码库中查找包含所述TOPSQL的统计分析系统SAS作业,得到待处理SAS作业;

代码查询模块,用于通过数据仓库ETL查询产生所述待处理SAS作业的SAS代码,得到目标SAS代码;

SAS评分模块,用于对所述SAS代码进行检查评分,得到代码质量分析值;

输出模块,用于集合所述数据质量评估值和代码质量分析值生成每日报表,并输出。

可选的,所述装置还包括:

资源监控模块,用于利用大规模并行分析MPP监控所述数据产品服务组件的资源使用率;若所述资源使用率超过预设值,执行告警模块和告警评估模块;

告警模块,用于生成告警信息;

告警评估模块,用于收集生成告警信息期间产生的告警SQL;对所述告警SQL进行评分,得到MPP告警故障评估值;

相应的,所述输出模块,还用于集合所述数据质量评估值、代码质量分析值和MPP告警故障评估值生成每日报表,并输出。

可选的,SQL评分模块,包括:

表查询单元,用于查询包含所述TOPSQL的数据库表名,得到待处理数据库表;

多维度判断单元,用于多维度判断所述待处理数据库表是否符合规范,所述多维度判断包括:是否进行分区、字段的数据类型是否符合要求、是否有分离存放附件或者大文本数据库表、所述待处理数据库表的数据量、所述待处理数据库表的操作语句是否规范、或所述待处理数据库表的视图是否符合规范的任意组合;

SQL评分单元,用于基于判断结果对所述TOPSQL进行评分,将得到的TOPSQL评分作为数据质量评估值。

本发明实施例第三方面公开了一种作业评价系统,所述作业评价系统包括本发明实施例第二方面公开的数据产品服务组件的数据分析装置。

基于上述本发明实施例提供的一种数据产品服务组件的数据分析方法、装置及作业评价系统,通过利用MPP记录每日数据产品服务组件所有SQL的运行信息,得到MPP日志;筛选所述MPP日志中当日运行时间最长的SQL,得到TOPSQL;对所述TOPSQL进行多维评分,得到数据质量评估值;基于所述TOPSQL在代码库中查找包含所述TOPSQL的SAS作业,得到待处理SAS作业;通过数据仓库ETL查询产生所述待处理SAS作业的SAS代码,得到目标SAS代码;对所述SAS代码进行检查评分,得到代码质量分析值;集合所述数据质量评估值和代码质量分析值生成每日报表,并输出。在本发明实施例中,在通过MPP记录的SQL中找到消耗资源最大的TOPSQL进行评分,得到数据质量评估值,并对基于TOPSQL确定的SAS代码进行分析,得到代码质量分析值,并集合成表输出,以便于后续基于该输出的表进行运维,通过自动化对线上运行的作业进行数据分析,实现了降低资源消耗和人工成本的目的。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种数据产品服务组件的数据分析方法的流程图;

图2为本发明实施例公开的另一种数据产品服务组件的数据分析方法的流程图;

图3为本发明实施例公开的一种数据产品服务组件的数据分析装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以下为本发明实施例中所使用的缩略语:

SQL:Structured Query Language,是具有数据操纵和数据定义等多种功能的数据库语言,即结构化查询语言。

N-EDP:数据产品服务组件。

MPP:Analytical Massively Parallel Processing(MPP)Database,大规模并行分析(MPP)数据库。

ETL:Extract Transform Load数据仓库技术。

SAS:Statistical Analysis System,统计分析系统。

如图1所示,为本发明实施例公开的一种数据产品服务组件的数据分析方法,执行该方法的数据范围包括:

N-EDP MPP每日TOP SQL信息(可获得SQL运行时间,表名)。

N-EDP Top SQL,涉及作业日志(bdc开发脚本筛选日志,对应SAS脚本)。

N-EDP MPP数据信息(通过SQL使用的视图或物理表,定位到其物理表,数据量,数据质量)。

N-EDP MPP服务器过载、故障状态时的SQL作业。

该数据产品服务组件的数据分析方法主要包括如下步骤:

S101:利用MPP记录每日数据产品服务组件所有SQL的运行信息,得到MPP日志。

在具体执行S101的过程中,通过利用MPP记录每日数据产品服务组件所有的SQL运行信息,并将得到的SQL信息记录在一个文件内,得到MPP日志。

S102:筛选MPP日志中当日运行时间最长的SQL,得到TOPSQL。

在具体执行S102的过程中,利用预先编辑好的sh脚本,以SOL的运行时间长短对当日的MPP日志中的SQL进行筛选,并筛选出当日运行时间最长的SQL,即当日的TOPSQL。

需要说明的是,在执行S102之后可直接执行S104。

S103:对TOPSQL进行多维评分,得到数据质量评估值。

在具体执行S103的过程中,首先,提取涉及当日确定的TOPSQL的数据库的表名,并基于该数据库的表名确定对应的数据库。在具体实现中,数据库通常以表的形式展示,因此获取对应的数据库表。然后,对该数据库表进行多维判断,并基于判断结果对TOPSQL进行评分。

具体的评分规则为:多维判断的结果中符合要求的越多评分越高。具体分值与判断结果的关系预先设置。

需要说明的是,涉及当日确定的TOPSQL的数据库的数量不少于1个。

在本发明一实施例中,对所述TOPSQL进行多维评分,得到数据质量评估值,具体包括以下步骤:

S31:查询包含TOPSQL的数据库表名,得到待处理数据库表。

S32:多维度判断所述待处理数据库表是否符合规范。

其中,所述多维度判断包括:是否进行分区、字段的数据类型是否符合要求、是否有分离存放附件或者大文本数据库表、所述待处理数据库表的数据量、所述待处理数据库表的操作语句是否规范、或所述待处理数据库表的视图是否符合规范的任意组合。

S33:基于判断结果对TOPSQL进行评分,将得到的TOPSQL评分作为数据质量评估值。

其中,每一维度的判断结果均对应有相应的分值,该对应关系可预先进行设置。

S104:基于TOPSQL在代码库中查找包含TOPSQL的SAS作业,得到待处理SAS作业。

在具体执行S104的过程中,将确定的当日TOPSQL放在代码库中进行比对,查找该TOPSQL涉及到的SAS作业,即包含TOPSQL的SAS作业。

S105:通过ETL查询产生待处理SAS作业的SAS代码,得到目标SAS代码。

在S105中,ETL中存放了所有的SAS作业脚本和SAS作业日志。SAS代码与SAS作业日志一一对应。

在具体执行S105的过程中,通过ETL查询待处理SAS作业对应的SAS作业日志和SAS作业脚本,获取产生该SAS作业的SAS代码。

需要说明的是,SAS代码可能会对应一个或多个SQL。

S106:对所述SAS代码进行检查评分,得到代码质量分析值。

在具体执行S106,检查SAS代码对应的TOPSQL的评分,根据TOPSQL的评分对SAS代码进行评分,将得到的SAS代码评分作为代码质量分析值。

需要说明的是,在SAS代码评分过程中,可以进行累积。

S107:集合数据质量评估值和代码质量分析值生成每日报表,并输出。

在具体执行S107的过程中,整合当日获取到的数据质量评估值和代码质量分析值,生成每日报表并输出。

在本发明一实施例中,在执行S107输出每日报表之后,查询每日报表中的代码质量分析值是否小于分析阈值;若小于分析阈值,对代码质量分析值对应的待处理SAS作业进行维护。

在本发明一实施例中,在执行S107输出每日报表之后,查询每日报表中的数据质量评估值是否小于评估阈值;若小于评估阈值,对数据质量评估值对应的TOPSQL进行优化。

在本发明实施例提供数据产品服务组件的数据分析方法中,通过利用MPP记录每日数据产品服务组件所有SQL的运行信息,得到MPP日志;筛选MPP日志中当日运行时间最长的SQL,得到TOPSQL;对TOPSQL进行多维评分,得到数据质量评估值;基于TOPSQL在代码库中查找包含TOPSQL的SAS作业,得到待处理SAS作业;通过数据仓库ETL查询产生所述待处理SAS作业的SAS代码,得到目标SAS代码;对SAS代码进行检查评分,得到代码质量分析值;集合数据质量评估值和代码质量分析值生成每日报表,并输出。在本发明实施例中,在通过MPP记录的SQL中找到消耗资源最大的TOPSQL进行评分,得到数据质量评估值,并对基于TOPSQL确定的SAS代码进行分析,得到代码质量分析值,并集合成表输出,以便于后续基于该输出的表进行运维,通过自动化对线上运行的作业进行数据分析,实现了降低资源消耗和人工成本的目的。

基于上述本发明实施例公开的一种数据产品服务组件的数据分析方法,本发明实施例还公开了另一种数据产品服务组件的数据分析方法,该数据分析方法如图2所示,主要包括:

S201:利用大规模并行分析MPP记录每日数据产品服务组件所有结构性查询语句SQL的运行信息,得到MPP日志;

S202:筛选所述MPP日志中当日运行时间最长的SQL,得到TOPSQL;

S203:对所述TOPSQL进行多维评分,得到数据质量评估值;

S204:基于所述TOPSQL在代码库中查找包含所述TOPSQL的SAS作业,得到待处理SAS作业;

S205:通过数据仓库ETL查询产生所述待处理SAS作业的统计分析系统SAS代码,得到目标SAS代码;

S206:对SAS代码进行检查评分,得到代码质量分析值;

上述S201至S206的具体执行过程和原理与图1中公开的S101至S106一致,可参见相应描述,这里不再赘述。

S207:利用MPP监控数据产品服务组件的资源使用率。

S208:判断资源使用率是否超过预设值,若是,执行S209,若否,继续执行S207。

S209:生成告警信息,并收集生成告警信息期间产生的告警SQL。

S210:对告警SQL进行评分,得到MPP告警故障评估值。

S211:集合数据质量评估值、代码质量分析值和MPP告警故障评估值生成每日报表,并输出。

对于资源使用情况的监控,在本发明一实施例中,首先,可利用MPP监控数据产品服务组件的可用磁盘空间和/或CPU的使用率。

其次,若可用磁盘空间小于磁盘空间阈值,和/或,CPU的使用率超过预设使用率,生成告警信息。

其次,收集生成告警信息期间产生的告警SQL。

其次,对告警SQL进行评分,得到MPP告警故障评估值。

最后,集合数据质量评估值、代码质量分析值和MPP告警故障评估值生成每日报表,并输出。

在本发明一实施例中,在执行S107输出每日报表之后,查询每日报表中的代码质量分析值是否小于分析阈值;若小于分析阈值,对代码质量分析值对应的待处理SAS作业进行维护。

在本发明一实施例中,在执行S107输出每日报表之后,查询每日报表中的数据质量评估值是否小于评估阈值;若小于评估阈值,对数据质量评估值对应的TOPSQL进行优化。

在本发明实施例公开的数据产品服务组件的数据分析方法中,在通过MPP记录的SQL中找到消耗资源最大的TOPSQL进行评分,得到数据质量评估值,并对基于TOPSQL确定的SAS代码进行分析,得到代码质量分析值,并结合MPP告警故障分析,将得到的数据质量评估值、代码质量分析值和MPP告警故障评估值整合成每日报表输出,以便于后续基于该输出的表进行运维,通过自动化对线上运行的作业进行数据分析,实现了降低资源消耗和人工成本的目的。

基于上述本发明实施例公开的一种数据产品服务组件的数据分析方法,本发明实施例还对应公开了一种数据产品服务组件数据分析装置,如图3所示,该数据产品服务组件的数据分析装置包括:记录模块31、筛选模块32、SQL评分模块33、作业查询模块34、代码查询模块35、SAS评分模块36和输出模块37。

记录模块31,用于利用MPP记录每日数据产品服务组件所有SQL的运行信息,得到MPP日志。

筛选模块32,用于筛选MPP日志中当日运行时间最长的SQL,得到TOPSQL。

SQL评分模块33,用于对TOPSQL进行多维评分,得到数据质量评估值。

在本发明一实施例中,SQL评分模块33,包括:

表查询单元,用于查询包含TOPSQL的数据库表名,得到待处理数据库表。

多维度判断单元,用于多维度判断待处理数据库表是否符合规范,多维度判断包括:是否进行分区、字段的数据类型是否符合要求、是否有分离存放附件或者大文本数据库表、所述待处理数据库表的数据量、所述待处理数据库表的操作语句是否规范、或所述待处理数据库表的视图是否符合规范的任意组合。

SQL评分单元,用于基于判断结果对TOPSQL进行评分,将得到的TOPSQL评分作为数据质量评估值。

作业查询模块34,用于基于TOPSQL在代码库中查找包含TOPSQL的SAS作业,得到待处理SAS作业。

代码查询模块35,用于通过ETL查询产生待处理SAS作业的SAS代码,得到目标SAS代码。

SAS评分模块36,用于对SAS代码进行检查评分,得到代码质量分析值。

输出模块37,用于集合数据质量评估值和代码质量分析值生成每日报表,并输出。

在本发明一实施例中,该数据分析装置还包括:

资源监控模块38,用于利用MPP监控数据产品服务组件的资源使用率;若资源使用率超过预设值,执行告警模块39和告警评估模块40。

在本发明一实施例中,该资源监控模块37,还用于利用MPP监控所述数据产品服务组件的可用磁盘空间和/或CPU的使用率,若可用磁盘空间小于磁盘空间阈值,和/或,CPU的使用率超过预设使用率,执行告警模块39和告警评估模块40。

告警模块39,用于生成告警信息。

告警评估模块40,用于收集生成告警信息期间产生的告警SQL;对所述告警SQL进行评分,得到MPP告警故障评估值。

相应的,所述输出模块37,还用于集合数据质量评估值、代码质量分析值和MPP告警故障评估值生成每日报表,并输出。

在本发明一实施例中,该数据分析装置还包括:运维模块。

该运维模块,用于查询每日报表中的代码质量分析值是否小于分析阈值;若小于分析阈值,对代码质量分析值对应的待处理SAS作业进行维护。

该运维模块,还用于查询每日报表中的数据质量评估值是否小于评估阈值;若小于评估阈值,对数据质量评估值对应的TOPSQL进行优化。

在上述本发明实施例公开的数据产品服务组件的数据分析方法和装置的基础上,本发明实施例还公开了一种作业评价系统,该作业评价系统包括上述本发明实施例公开的数据产品服务组件数据分析装置。

综上所述,本发明实施例提供的一种数据产品服务组件的数据分析方法、装置及作业评价系统,在通过MPP记录的SQL中找到消耗资源最大的TOPSQL进行评分,得到数据质量评估值,并对基于TOPSQL确定的SAS代码进行分析,得到代码质量分析值,并结合MPP告警故障分析,将得到的数据质量评估值、代码质量分析值和MPP告警故障评估值整合成每日报表输出,以便于后续基于该输出的表进行运维,通过自动化对线上运行的作业进行数据分析,实现了降低资源消耗和人工成本的目的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120115915779