数据湖的性能诊断方法、装置、计算机设备及存储介质转让专利

申请号 : CN202110738024.7

文献号 : CN113342502B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓晟黄亚兵陈阳林开贤敖毅波沈志勇

申请人 : 招商局金融科技有限公司

摘要 :

本发明公开了一种数据湖的性能诊断方法、装置、计算机设备及存储介质,所述方法包括:从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据;根据第一起始执行时间和第一终止执行时间,确定在执行日期内每个预设时间段的延迟系数;根据拉依达准则和延迟系数,计算得到第一异常值检测阈值和第二异常值检测阈值;获取当前执行日期的任务调度信息数据;根据第二起始执行时间、第二终止执行时间和当前执行日期,计算得到当前延迟系数;根据当前延迟系数、第一异常值检测阈值和第二异常值检测阈值,将数据湖的当前性能和历史性能进行比较,确定数据湖的当前性能是否满足等级服务协议,提高确定数据湖的性能的效率。

权利要求 :

1.一种数据湖的性能诊断方法,其特征在于,所述方法包括:

从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,所述预设周期为M天,每天由N个连续的预设时间段组成,所述第一基准数据集包括K个第一任务编号、每个所述第一任务编号对应的第一起始执行时间、每个所述第一任务编号对应的第一终止执行时间和每个所述第一任务编号对应的执行日期;

针对每个所述执行日期,根据所述第一起始执行时间和所述第一终止执行时间,确定在每个所述执行日期内每个所述预设时间段的延迟系数;

根据拉依达准则和所述延迟系数,计算得到每个所述预设时间段的第一异常值检测阈值和每个所述预设时间段的第二异常值检测阈值,其中,所述第一异常值检测阈值小于所述第二异常值检测阈值;

获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,所述第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的所述当前执行日期;

根据所述第二起始执行时间、所述第二终止执行时间和所述当前执行日期,计算得到在所述当前执行日期的当前预设时间段的当前延迟系数;

根据所述当前延迟系数、所述第一异常值检测阈值和所述第二异常值检测阈值,将所述当前预设时间段内数据湖的当前性能和所述预设时间段内数据湖的历史性能进行比较,确定所述当前预设时间段内数据湖的当前性能是否满足所述服务等级协议 ;

根据N个所述当前延迟系数、N个所述第一异常值检测阈值和N个所述第二异常值检测阈值,得到N个第一延迟执行系数;

根据所述第一延迟执行系数和预设第一检测阈值,比较所述当前预设时间段内数据湖的任务执行速度和所述预设时间段内的数据湖的任务执行速度,确定所述当前预设时间段内数据湖的任务执行速度是否满足所述服务等级协议。

2.如权利要求1所述的方法,其特征在于,所述根据针对每个所述执行日期,根据所述第一起始执行时间和所述第一终止执行时间,确定在每个所述执行日期内每个所述预设时间段的延迟系数的步骤包括:根据所述第一起始执行时间、所述第一终止执行时间和所述执行日期确定,确定在每个所述执行日期内的预设时间段的所有执行时长;

将每个预设时间段内的所有所述执行时长按预设规则进行排序,得到执行时长序列;

根据执行时长序列,确定在每个所述执行日期内每个所述预设时间段的延迟系数。

3.如权利要求1所述的方法,其特征在于,所述根据拉依达准则和所述延迟系数,计算得到每个所述预设时间段的第一异常值检测阈值和每个所述预设时间段的第二异常值检测阈值的步骤包括:计算每天同一所述预设时间段的延迟系数的平均值,得到N个平均值;

根据N个所述平均值和N个所述延迟系数,计算得到N个标准差;

基于拉依达准则、N个所述标准差和N个所述平均值,计算得到每个所述预设时间段的第一异常值检测阈值和每个所述预设时间段的第二异常值检测阈值。

4.如权利要求1所述的数据湖的性能诊断方法,其特征在于,所述根据所述当前延迟系数、所述第一异常值检测阈值和所述第二异常值检测阈值,将所述当前预设时间段内数据湖的当前性能和所述预设时间段内数据湖的历史性能进行比较,确定所述当前预设时间段内数据湖的当前性能是否满足等级服务协议的步骤包括:若所述当前延迟系数大于等于所述第一异常值检测阈值且小于所述第二异常值检测阈值,则所述当前预设时间段内数据湖的当前性能和所述预设时间段内数据湖的历史性能一致,确定所述当前预设时间段内数据湖的当前性能满足所述服务等级协议;

若所述当前延迟系数小于所述第一异常值检测阈值,则所述当前预设时间段内数据湖的当前性能优于所述预设时间段内数据湖的历史性能,确定所述当前预设时间段内数据湖的当前性能满足且高于所述服务等级协议;

若所述当前延迟系数大于等于所述第二异常值检测阈值,则所述当前预设时间段内数据湖的当前性能劣于所述预设时间段内数据湖的历史性能,确定所述当前预设时间段内数据湖的当前性能不满足所述服务等级协议。

5.如权利要求1所述的数据湖的性能诊断方法,其特征在于,所述根据所述第一延迟执行系数和预设第一检测阈值,比较所述当前预设时间段内数据湖的当前性能和所述预设时间段内的数据湖的历史性能,确定所述当前预设时间段内数据湖的任务执行速度是否满足所述服务等级协议的步骤包括:若所述第一延迟执行系数等于预设第一检测阈值,则所述当前预设时间段内数据湖的当前性能和所述预设时间段内的数据湖的历史性能一致,确定所述当前预设时间段内数据湖的任务执行速度满足所述服务等级协议;

若所述第一延迟执行系数小于预设第一检测阈值,则所述当前预设时间段内数据湖的当前性能优于所述预设时间段内的数据湖的历史性能,确定所述当前预设时间段内数据湖的任务执行速度满足且高于所述服务等级协议;

若所述第一延迟执行系数大于预设第一检测阈值,则所述当前预设时间段内数据湖的当前性能劣于所述预设时间段内的数据湖的历史性能,确定所述当前预设时间段内数据湖的任务执行速度不满足所述服务等级协议。

6.如权利要求1所述的数据湖的性能诊断方法,其特征在于,所述方法还包括:

对每天的N个所述第一延迟执行系数求平均值,得到所述当前执行日期对应的第二延迟执行系数;

根据所述第二延迟执行系数和预设第二检测阈值,比较在所述当前执行日期内数据湖的当前性能和所述执行日期内的数据湖的历史性能,确定所述当前执行日期内数据湖的当前性能是否满足所述服务等级协议。

7.如权利要求6所述的数据湖的性能诊断方法,其特征在于,所述根据所述第二延迟执行系数和预设第二检测阈值,比较在所述当前执行日期内数据湖的当前性能和所述执行日期内的数据湖的历史性能,确定所述当前执行日期内数据湖的当前性能是否满足所述服务等级协议的步骤包括:若所述第二延迟执行系数等于预设第二检测阈值,则所述当前执行日期内数据湖的当前性能和所述执行日期内的数据湖的历史性能一致,确定所述当前执行日期内数据湖的当前性能满足所述服务等级协议;

若所述第二延迟执行系数小于预设第二检测阈值,则所述当前执行日期内数据湖的当前性能优于所述执行日期内的数据湖的历史性能,确定所述当前执行日期内数据湖的当前性能满足且高于所述服务等级协议;

若所述第二延迟执行系数大于预设第二检测阈值,则所述当前执行日期内数据湖的当前性能劣于所述执行日期内的数据湖的历史性能,确定所述当前执行日期内数据湖的当前性能不满足所述服务等级协议。

8.一种数据湖的性能诊断装置,其特征在于,所述装置包括:

第一获取模块,用于从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,所述预设周期为M天,每天由N个连续的预设时间段组成,所述第一基准数据集包括K个第一任务编号、每个所述第一任务编号对应的第一起始执行时间、每个所述第一任务编号对应的第一终止执行时间和每个所述第一任务编号对应的执行日期;

第一确定模块,用于针对每个所述执行日期,根据所述第一起始执行时间和所述第一终止执行时间,确定在每个所述执行日期内每个所述预设时间段的延迟系数;

第一计算模块,用于根据拉依达准则和所述延迟系数,计算得到每个所述预设时间段的第一异常值检测阈值和每个所述预设时间段的第二异常值检测阈值,其中,所述第一异常值检测阈值小于所述第二异常值检测阈值;

第二获取模块,用于获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,所述第二基准数据集包括L 个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的所述当前执行日期;

第二计算模块,用于根据所述第二起始执行时间、所述第二终止执行时间和所述当前执行日期,计算得到在所述当前执行日期的当前预设时间段的当前延迟系数;

比较模块,用于根据所述当前延迟系数、所述第一异常值检测阈值和所述第二异常值检测阈值,将所述当前预设时间段内数据湖的当前性能和所述预设时间段内数据湖的历史性能进行比较,确定所述当前预设时间段内数据湖的当前性能是否满足所述服务等级协议 ;

第一执行系数获取模块,用于根据N个所述当前延迟系数、N个所述第一异常值检测阈值和N个所述第二异常值检测阈值,得到N个第一延迟执行系数;

确定模块,用于根据所述第一延迟执行系数和预设第一检测阈值,比较所述当前预设时间段内数据湖的任务执行速度和所述预设时间段内的数据湖的任务执行速度,确定所述当前预设时间段内数据湖的任务执行速度是否满足所述服务等级协议。

9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的一种数据湖的性能诊断方法。

说明书 :

数据湖的性能诊断方法、装置、计算机设备及存储介质

技术领域

[0001] 本发明涉及数据分析技术领域,尤其涉及一种数据湖的性能诊断方法、装置、计算机设备及存储介质。

背景技术

[0002] 企业数据湖为企业提供大数据批量计算服务,通过调度系统对批量计算任务进行周期性调度,易出现周期性调度任务延迟的情况,例如,当调度系统将批量计算任务提交到数据湖执行时,提交的批量计算任务超过了调度系统并发,会导致任务执行时间增加,且数据湖基础服务(如Hive、Yarn、GaussDB200)的性能下降,如系统进程内存溢出、频繁Full GC、负载不均衡、数据倾斜、业务表数据膨胀等,也会导致任务执行时间增加;当批量计算任务使用数据湖的CPU、内存、IO等计算资源时,在计算资源出现瓶颈时,如新上线任务资源使用量大,导致在计算资源紧张,计算任务排队延迟执行,导致任务执行时间增加。
[0003] 目前,主要需要技术人员逐个排查周期性调度任务延迟的原因,效率低下,无法快速确定数据湖的性能。

发明内容

[0004] 本发明实施例提供一种数据湖的性能诊断方法、装置、计算机设备和存储介质,以提高确定数据湖的性能的效率。
[0005] 为了解决上述技术问题,本申请实施例提供一种数据湖的性能诊断方法,包括:
[0006] 从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,所述预设周期为M天,每天由N个连续的预设时间段组成,所述第一基准数据集包括K个第一任务编号、每个所述第一任务编号对应的第一起始执行时间、每个所述第一任务编号对应的第一终止执行时间和每个所述第一任务编号对应的执行日期;
[0007] 针对每个所述执行日期,根据所述第一起始执行时间和所述第一终止执行时间,确定在每个所述执行日期内每个所述预设时间段的延迟系数;
[0008] 根据拉依达准则和所述延迟系数,计算得到每个所述预设时间段的第一异常值检测阈值和每个所述预设时间段的第二异常值检测阈值,其中,所述第一异常值检测阈值小于所述第二异常值检测阈值;
[0009] 获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,所述第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的所述当前执行日期;
[0010] 根据所述第二起始执行时间、所述第二终止执行时间和所述当前执行日期,计算得到在所述当前执行日期的当前预设时间段的当前延迟系数;
[0011] 根据所述当前延迟系数、所述第一异常值检测阈值和所述第二异常值检测阈值,将所述当前预设时间段内数据湖的当前性能和所述预设时间段内数据湖的历史性能进行比较,确定所述当前预设时间段内数据湖的当前性能是否满足所述等级服务协议。
[0012] 为了解决上述技术问题,本申请实施例还提供一种数据湖的性能诊断装置,包括:
[0013] 第一获取模块,用于从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,所述预设周期为M天,每天由N个连续的预设时间段组成,所述第一基准数据集包括K个第一任务编号、每个所述第一任务编号对应的第一起始执行时间、每个所述第一任务编号对应的第一终止执行时间和每个所述第一任务编号对应的执行日期;
[0014] 第一确定模块,用于针对每个所述执行日期,根据所述第一起始执行时间和所述第一终止执行时间,确定在每个所述执行日期内每个所述预设时间段的延迟系数;
[0015] 第一计算模块,用于根据拉依达准则和所述延迟系数,计算得到每个所述预设时间段的第一异常值检测阈值和每个所述预设时间段的第二异常值检测阈值,其中,所述第一异常值检测阈值小于所述第二异常值检测阈值;
[0016] 第二获取模块,用于获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,所述第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的所述当前执行日期;
[0017] 第二计算模块,用于根据所述第二起始执行时间、所述第二终止执行时间和所述当前执行日期,计算得到在所述当前执行日期的当前预设时间段的当前延迟系数;
[0018] 比较模块,用于根据所述当前延迟系数、所述第一异常值检测阈值和所述第二异常值检测阈值,将所述当前预设时间段内数据湖的当前性能和所述预设时间段内数据湖的历史性能进行比较,确定所述当前预设时间段内数据湖的当前性能是否满足所述等级服务协议。
[0019] 为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述一种数据湖的性能诊断方法的步骤。
[0020] 本发明实施例提供的一种数据湖的性能诊断方法、装置、计算机设备及存储介质,通过从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,预设周期为M天,每天由N个连续的预设时间段组成,第一基准数据集包括K个第一任务编号、每个第一任务编号对应的第一起始执行时间、每个第一任务编号对应的第一终止执行时间和每个第一任务编号对应的执行日期;针对每个执行日期,根据第一起始执行时间和第一终止执行时间,确定在执行日期内每个预设时间段的延迟系数;根据拉依达准则和延迟系数,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,其中,第一异常值检测阈值小于第二异常值检测阈值;获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的当前执行日期;根据第二起始执行时间、第二终止执行时间和当前执行日期,计算得到在当前执行日期的当前预设时间段的当前延迟系数;根据当前延迟系数、每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,将当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能进行比较,确定当前预设时间段内数据湖的当前性能是否满足等级服务协议,提高确定数据湖的性能的效率。

附图说明

[0021] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022] 图1是本申请可以应用于其中的示例性系统架构图;
[0023] 图2是本申请的一种数据湖的性能诊断方法的一个实施例的流程图;
[0024] 图3是根据本申请的一种数据湖的性能诊断装置的一个实施例的结构示意图;
[0025] 图4是根据本申请的计算机设备的一个实施例的结构示意图。

具体实施方式

[0026] 除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0027] 在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0028] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029] 请参阅图1,如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0030] 用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。
[0031] 终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Eperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Eperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0032] 服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
[0033] 需要说明的是,本申请实施例所提供的一种数据湖的性能诊断方法由服务器执行,相应地,数据湖的性能诊断装置设置于服务器中。
[0034] 应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器,本申请实施例中的终端设备101、102、103具体可以对应的是实际生产中的应用系统。
[0035] 请参阅图2,图2示出本发明实施例提供的一种数据湖的性能诊断方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
[0036] S201:从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,预设周期为M天,每天由N个连续的预设时间段组成,第一基准数据集包括K个第一任务编号、每个第一任务编号对应的第一起始执行时间、每个第一任务编号对应的第一终止执行时间和每个第一任务编号对应的执行日期。
[0037] 具体的,M、K、N为大于0的正整数,服务等级协议是服务提供者与用户之间协商并签订的一个具有法律约束力的合同,在本申请中,服务等级协议中规定的内容包括但不限于每一天的数据湖的性能要求、每小时的数据湖的性能要求、每小时的数据湖的任务执行速度要求;
[0038] 其中,第一终止执行时间根据每一个任务编号对应的任务完成状态对应的时间点获得的,该任务完成状态包括任务完成或任务失败,将任务完成的时间点或任务失败的时间点作为第一终止执行时间。
[0039] 为了更好的对预设周期和预设时间段进行说明,在此处对预设周期和预设时间段进行举例说明:
[0040] 例如,预设周期为30天,将每天按24小时划分,得到预设时间段为1小时。
[0041] 此处,需要特别说明的是,假设预设周期M天内存在M天的任务调度数据是满足服务等级协议的,则将M天的任务调度数据作为第一基准数据集,若M天中存在有2天的任务调度数据不满足服务等级协议,则剔除这2天的任务调度数据。
[0042] S202:针对每个执行日期,根据第一起始执行时间和第一终止执行时间,确定在每个执行日期内每个预设时间段的延迟系数。
[0043] 具体的,延迟系数可以是中位数或者第80%百分位数,执行日期为预设周期中的一天,预设时间段为一天的最小时间单位,计算每个执行日期对应的每个任务编号对应的第一起始执行时间和第一终止执行时间确定每个预设时间段的完成的任务编号对应的执行时长;将每个预设时间段内对应的所有执行时长按从小小大的顺序进行排序,得到执行时长序列,查找执行时长序列中的中位数或者第80%百分位数作为延迟系数。
[0044] S203:根据拉依达准则和延迟系数,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,其中,第一异常值检测阈值小于第二异常值检测阈值。
[0045] 具体的,拉依达准则具体可以表示为(μ‑3σ,μ+3σ),其中,μ为预设周期内的每一天的同一个预设时间段的执行系数的均值,σ为上一预设周期内的预设时间段的标准差,μ‑3σ为第一异常值检测阈值,μ+3σ为第二异常值检测阈值,标准差σ可以由下列公式(1)进行计算得到:
[0046]
[0047] 式中,σ为标准差,M为预设周期的任务调度数据满足服务等级协议的天数,xi为第i个执行日期在同一个预设时间段的延迟系数,xi为M个执行日期在同一个预设时间段的延迟系数的平均值,
[0048] S204:获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的当前执行日期。
[0049] 具体的,L为大于0的正整数,当前预设周期与上一预设周期相同,当前预设周期中当前执行日期对应上一预设周期中的某一天执行日期,例如,当前预设周期中当前执行日期为2021年5月30号,则对应上一预设周期的中2021年4月30号。
[0050] S205:根据第二起始执行时间、第二终止执行时间和当前执行日期,计算得到在当前执行日期的当前预设时间段的当前延迟系数;
[0051] 具体的,当前预设时间与预设时间段相同,当前延迟系数可以是中位数或者第80%百分位数,当前预设时间段为当前执行日期的最小时间单位,计算当前执行日期对应的每个任务编号对应的第二起始执行时间和第二终止执行时间确定每个预设时间段的完成的任务编号对应的当前执行时长;将每个当前预设时间段内对应的所有当前执行时长按从小小大的顺序进行排序,得到当前执行时长序列,查找当前执行时长序列中的中位数或者第80%百分位数作为当前延迟系数,其中,第二终止执行时间是根据每个任务编号对应的任务完成状态所对应的的时间点确定,任务完成状态包括任务完成或任务失败,任务完成对应的时间点或任务失败对应的时间点可作为第二终止执行时间。
[0052] S206:根据当前延迟系数、第一异常值检测阈值和第二异常值检测阈值,将当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能进行比较,确定当前预设时间段内数据湖的当前性能是否满足等级服务协议。
[0053] 具体的,步骤S206中,根据当前延迟系数、第一异常值检测阈值和第二异常值检测阈值,将当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能进行比较,确定当前预设时间段内数据湖的当前性能是否满足等级服务协议的步骤包括:
[0054] 若当前延迟系数大于等于第一异常值检测阈值且小于第二异常值检测阈值,则当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能一致,确定当前预设时间段内数据湖的当前性能满足服务等级协议。
[0055] 若当前延迟系数小于第一异常值检测阈值,则当前预设时间段内数据湖的当前性能优于预设时间段内数据湖的历史性能,确定当前预设时间段内数据湖的当前性能满足且高于服务等级协议。
[0056] 若当前延迟系数大于等于第二异常值检测阈值,则当前预设时间段内数据湖的当前性能劣于预设时间段内数据湖的历史性能,确定当前预设时间段内数据湖的当前性能不满足服务等级协议。
[0057] 例如,假设当前执行日期为2021年6月30号,当前预设时间段为00.00‑1.00的当前执行系数为y1,第一异常值检测阈值为(μ1‑3σ1),第二异常值检测阈值为(μ1+3σ1),其中,μ1为上一预设周期(假设上一预设周期为2021年5月1号至2021年5月30号,且都满足服务等级协议)中每个执行日期在同一预设时间段(即2021年5月1号至2021年5月30号中每天的00.00‑1.00)的执行系数的平均值,σ1为每个执行日期在同一预设时间段的标准差:
[0058] 若(μ1‑3σ1)≤y1<(μ1+3σ1),则当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能一致,确定当前预设时间段内数据湖的当前性能满足服务等级协议。
[0059] 若y1<(μ1‑3σ1),则当前预设时间段内数据湖的当前性能优于预设时间段内数据湖的历史性能,确定当前预设时间段内数据湖的当前性能满足且高于服务等级协议。
[0060] 若(μ1+3σ1)≤y1,则当前预设时间段内数据湖的当前性能劣于预设时间段内数据湖的历史性能,确定当前预设时间段内数据湖的当前性能不满足服务等级协议。
[0061] 在本步骤中,当前执行系数大于等于第二异常值检测阈值时,计算当前执行系数与第二异常值检测阈值的差值,根据差值对当前预设时间段内的需要完成的任务进行错峰调整,或者数据湖及时进行扩容,提高当前预设时间段内数据湖的当前性能,使其满足服务等级协议。
[0062] 本发明实施例提供的一种数据湖的性能诊断方法,通过从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,预设周期为M天,每天由N个连续的预设时间段组成,第一基准数据集包括K个第一任务编号、每个第一任务编号对应的第一起始执行时间、每个第一任务编号对应的第一终止执行时间和每个第一任务编号对应的执行日期;针对每个执行日期,根据第一起始执行时间和第一终止执行时间,确定在执行日期内每个预设时间段的延迟系数;根据拉依达准则和延迟系数,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,其中,第一异常值检测阈值小于第二异常值检测阈值;获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的当前执行日期;根据第二起始执行时间、第二终止执行时间和当前执行日期,计算得到在当前执行日期的当前预设时间段的当前延迟系数;根据当前延迟系数、每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,将当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能进行比较,确定当前预设时间段内数据湖的当前性能是否满足等级服务协议,提高确定数据湖的性能的效率。
[0063] 在本实施例的一些可选的实现方式中,步骤S202中,根据针对每个执行日期,根据第一起始执行时间和第一终止执行时间,确定在每个执行日期内每个预设时间段的延迟系数的步骤包括C1至C3:
[0064] C1:根据第一起始执行时间、第一终止执行时间和执行日期确定,确定在每个执行日期内的预设时间段的所有执行时长。
[0065] C2:将每个预设时间段内的所有执行时长按预设规则进行排序,得到执行时长序列。
[0066] C3:根据执行时长序列,确定在每个执行日期内每个预设时间段的延迟系数。
[0067] 为了更好的理解步骤C1至C3,此处对步骤C1至C3作进一步的实例说明:
[0068] 例如,假设预设周期为6月1号至6月30号,其中,满足服务等级协议的日期的任务调度数据为6月1号至6月30号的任务调度数据,取执行日期为6月3号内的预设时间段7:00‑8:00为例:
[0069] 在预设时间段7:00‑8:00对应的每个任务编号的执行时长为[10min、14min、8min、3min、5min、1min、2min、1min、3min、3min],对所有执行时长进行排序得到执行时长序列[1min、1min、2min、3min、3min、3min、5min、8min、10min、14min],因此,在预设时间段7:00‑
8:00的执行系数为中位数时是3min,为第80%位数时是10min。
[0070] 在本步骤中,由于延迟系数为中位数或第80%百分位数,其中,中位数不受分布数列的极大或极小值影响,因此,中位数在执行时长序列中具有代表性,而第80%分位数在执行时长序列中较长执行时长的代表,其可以根据实际运用场景进行调整,有利于对执行时长进行量化处理,进一步提高了确定数据湖的性能诊断效率。
[0071] 在本实施例的一些可选的实现方式中,步骤S203中,根据拉依达准则和延迟系数,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值的步骤D1至D3:
[0072] D1:计算每天同一预设时间段的延迟系数的平均值,得到N个平均值。
[0073] D2:根据N个平均值和N个延迟系数,计算得到N个标准差。
[0074] D3:基于拉依达准则、N个标准差和N个平均值,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值。
[0075] 对于步骤D1至D3,已在步骤S203进行解释,为避免重复,此处不做阐述。
[0076] 在本步骤中,基于拉依达准则、N个标准差和N个平均值,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,通过第一异常值检测阈值和第二异常值检测阈值判断数据湖当前预设时间段的当前性能,提高了数据湖当前预设时间段的性能诊断效率。
[0077] 在本实施例的一些可选的实现方式中,一种数据湖的性能诊断方法还包括如下步骤A1至A2:
[0078] A1:根据N个当前延迟系数、N个第一异常值检测阈值和N个第二异常值检测阈值,得到N个第一延迟执行系数。
[0079] A2:根据第一延迟执行系数和预设第一检测阈值,比较当前预设时间段内数据湖的任务执行速度和预设时间段内的数据湖的任务执行速度,确定当前预设时间段内数据湖的任务执行速度是否满足服务等级协议。
[0080] 具体的,在步骤A1中,根据N个当前延迟系数、N个第一异常值检测阈值和N个第二异常值检测阈值,得到N个第一延迟执行系数的步骤包括:
[0081] 若当前延迟系数大于第一异常值检测阈值且小于第二异常值检测阈值,则第一延迟执行系数为0。
[0082] 若当前延迟系数小于第一异常值检测阈值或当前延迟系数大于第二异常值检测阈值,则计算当前延迟系数与第一异常值检测阈值的差值,将差值作为第一延迟执行系数。
[0083] 例如,假设在上一预设周期中00.00‑1.00这一时间段的第二异常检测阈值为(μ1+3σ1),当前延迟系数为t1,第一延迟执行系数为T,则第一延迟执行系数T=t1‑(μ1+3σ1)。
[0084] 具体的,预设第一检测阈值根据对历史数据进行分析得到,在步骤A2中,根据第一延迟执行系数和预设第一检测阈值,比较当前预设时间段内数据湖的任务执行速度和预设时间段内的数据湖的任务执行速度,确定当前预设时间段内数据湖的任务执行速度是否满足服务等级协议的步骤包括:
[0085] 若第一延迟执行系数等于预设第一检测阈值,则当前预设时间段内数据湖的当前任务执行速度和预设时间段内的数据湖的历史任务执行速度一致,确定当前预设时间段内数据湖的任务执行速度满足服务等级协议。
[0086] 若第一延迟执行系数小于预设第一检测阈值,则当前预设时间段内数据湖的当前任务执行速度优于预设时间段内的数据湖的历史任务执行速度,确定当前预设时间段内数据湖的任务执行速度满足且高于服务等级协议。
[0087] 若第一延迟执行系数大于预设第一检测阈值,则当前预设时间段内数据湖的当前任务执行速度劣于预设时间段内的数据湖的历史任务执行速度,确定当前预设时间段内数据湖的任务执行速度不满足服务等级协议。
[0088] 例如,假设第一延迟执行系数为T,预设第一检测阈值为0,
[0089] T=0时,当前预设时间段内数据湖的当前性能和预设时间段内的数据湖的历史性能一致,确定当前预设时间段内数据湖的任务执行速度满足服务等级协议;
[0090] T<0时,当前预设时间段内数据湖的当前性能优于预设时间段内的数据湖的历史性能,确定当前预设时间段内数据湖的任务执行速度满足且高于服务等级协议;
[0091] T>0时,当前预设时间段内数据湖的当前性能劣于预设时间段内的数据湖的历史性能,确定当前预设时间段内数据湖的任务执行速度不满足服务等级协议。
[0092] 在本实施例中,通过第一延迟执行系数和预设第一检测阈值,比较当前预设时间段内数据湖的任务执行速度和预设时间段内的数据湖的任务执行速度,确定当前预设时间段内数据湖的任务执行速度是否满足服务等级协议,提高了对数据库在当前预设时间内的任务执行速度的诊断效率,在当前预设时间段内数据湖的当前性能劣于预设时间段内的数据湖的历史性能时,对当前预设时间段的数据湖进行扩容或任务错峰执行,进而提高数据湖的执行效率,使其的任务执行速度满足服务等级协议。
[0093] 在本实施例的一些可选的实现方式中,一种数据湖的性能诊断方法还包括如下步骤B1至B2:
[0094] B1:对每天的N个第一延迟执行系数求平均值,得到当前执行日期对应的第二延迟执行系数;
[0095] B2:根据第二延迟执行系数和预设第二检测阈值,比较在当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能是否满足服务等级协议。
[0096] 具体的,预设第二检测阈值根据历史数据分析获得,在步骤B2中,根据第二延迟执行系数和预设第二检测阈值,比较在当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能是否满足服务等级协议的步骤包括:
[0097] 若第二延迟执行系数等于预设第二检测阈值,则在当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能一致,确定当前执行日期内数据湖的当前性能满足服务等级协议。
[0098] 若第二延迟执行系数小于预设第二检测阈值,则在当前执行日期内数据湖的当前性能优于执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能满足且高于服务等级协议。
[0099] 若第二延迟执行系数大于预设第二检测阈值,则在当前执行日期内数据湖的当前性能劣于执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能不满足服务等级协议。
[0100] 例如,假设第二延迟执行系数为X,预设第二检测阈值为0
[0101] X=0时,则当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能一致,确定当前执行日期内数据湖的当前性能满足服务等级协议;
[0102] X<0时,则当前执行日期内数据湖的当前性能优于执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能满足且高于服务等级协议;
[0103] X>0时,则当前执行日期内数据湖的当前性能劣于执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能不满足服务等级协议。
[0104] 在本实施例中,根据第二延迟执行系数和预设第二检测阈值,比较在当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能是否满足服务等级协议,当前执行日期内数据湖的当前性能劣于执行日期内的数据湖的历史性能时,对当前执性日期的数据湖进行扩容或任务错峰执行,进而提高数据湖的执行效率,使其的在当前执性日期的性能满足服务等级协议。
[0105] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0106] 图3示出与上述实施例数据湖的性能诊断方法一一对应的数据湖的性能诊断装置的原理框图。如图3所示,该数据湖的性能诊断装置包括第一获取模块30、第一确定模块31、第一计算模块32、第二获取模块33、第二计算模块34和比较模块35。各功能模块详细说明如下:
[0107] 第一获取模块30,用于从上一预设周期的任务调度信息数据中,获取满足服务等级协议的日期的任务调度信息数据,作为第一基准数据集,其中,预设周期为M天,每天由N个连续的预设时间段组成,第一基准数据集包括K个第一任务编号、每个第一任务编号对应的第一起始执行时间、每个第一任务编号对应的第一终止执行时间和每个第一任务编号对应的执行日期。
[0108] 第一确定模块31,用于针对每个执行日期,根据第一起始执行时间和第一终止执行时间,确定在每个执行日期内每个预设时间段的延迟系数。
[0109] 第一计算模块32,用于根据拉依达准则和延迟系数,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值,其中,第一异常值检测阈值小于第二异常值检测阈值。
[0110] 第二获取模块33,用于获取当前预设周期中当前执行日期的任务调度信息数据,作为第二基准数据集,第二基准数据集包括L个第二任务编号、每个第二任务编号对应的第二起始执行时间、每个第二任务编号对应的第二终止执行时间和每个第二任务编号对应的当前执行日期。
[0111] 第二计算模块34,用于根据第二起始执行时间、第二终止执行时间和当前执行日期,计算得到在当前执行日期的当前预设时间段的当前延迟系数。
[0112] 比较模块35,用于根据当前延迟系数、第一异常值检测阈值和第二异常值检测阈值,将当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能进行比较,确定当前预设时间段内数据湖的当前性能是否满足等级服务协议。
[0113] 进一步的,第一确定模块31包括第二确定模块,排序模块和第三确定模块,各个功能模块的详细说明具体如下:
[0114] 第二确定模块,用于根据第一起始执行时间、第一终止执行时间和执行日期确定,确定在每个执行日期内的预设时间段的所有执行时长。
[0115] 排序模块,用于将每个预设时间段内的所有执行时长按预设规则进行排序,得到执行时长序列。
[0116] 第三确定模块,用于根据执行时长序列,确定在每个执行日期内每个预设时间段的延迟系数。
[0117] 进一步的,第一计算模块32包括第三计算模块、第四计算模块和第五计算模块,各个功能模块的详细说明具体如下:
[0118] 第三计算模块,用于计算每天同一预设时间段的延迟系数的平均值,得到N个平均值。
[0119] 第四计算模块,用于根据N个平均值和N个延迟系数,计算得到N个标准差。
[0120] 第五计算模块,用于基于拉依达准则、N个标准差和N个平均值,计算得到每个预设时间段的第一异常值检测阈值和每个预设时间段的第二异常值检测阈值。
[0121] 进一步的,比较模块35包括第四确定模块、第五确定模块和第六确定模块,各个功能模块的详细说明具体如下:
[0122] 第四确定模块,用于若当前延迟系数大于等于第一异常值检测阈值且小于第二异常值检测阈值,则当前预设时间段内数据湖的当前性能和预设时间段内数据湖的历史性能一致,确定当前预设时间段内数据湖的当前性能满足服务等级协议。
[0123] 第五确定模块,用于若当前延迟系数小于第一异常值检测阈值,则当前预设时间段内数据湖的当前性能优于预设时间段内数据湖的历史性能,确定当前预设时间段内数据湖的当前性能满足且高于服务等级协议。
[0124] 第六确定模块,用于若当前延迟系数大于等于第二异常值检测阈值,则当前预设时间段内数据湖的当前性能劣于预设时间段内数据湖的历史性能,确定当前预设时间段内数据湖的当前性能不满足服务等级协议。
[0125] 可选的,一种数据湖的性能诊断装置还包括第一执行系数获取模块和第七确定模块,各个功能模块的详细说明具体如下:
[0126] 第一执行系数获取模块,用于根据N个当前延迟系数、N个第一异常值检测阈值和N个第二异常值检测阈值,得到N个第一延迟执行系数。
[0127] 第七确定模块,用于根据第一延迟执行系数和预设第一检测阈值,比较当前预设时间段内数据湖的任务执行速度和预设时间段内的数据湖的任务执行速度,确定当前预设时间段内数据湖的任务执行速度是否满足服务等级协议。
[0128] 进一步的,第七确定模块包括第八确定模块、第九确定模块和第十确定模块,各个功能模块的详细说明具体如下:
[0129] 第八确定模块,用于若第一延迟执行系数等于预设第一检测阈值,则当前预设时间段内数据湖的当前任务执行速度和预设时间段内的数据湖的历史任务执行速度一致,确定当前预设时间段内数据湖的任务执行速度满足服务等级协议。
[0130] 第九确定模块,用于若第一延迟执行系数小于预设第一检测阈值,则当前预设时间段内数据湖的当前任务执行速度优于预设时间段内的数据湖的历史任务执行速度,确定当前预设时间段内数据湖的任务执行速度满足且高于服务等级协议。
[0131] 第十确定模块,用于若第一延迟执行系数大于预设第一检测阈值,则当前预设时间段内数据湖的当前任务执行速度劣于预设时间段内的数据湖的历史任务执行速度,确定当前预设时间段内数据湖的任务执行速度不满足服务等级协议。
[0132] 可选的,一种数据湖的性能诊断装置还包括第二延迟系数获取模块和第十一确定模块,各个功能模块的详细说明具体如下:
[0133] 第二延迟系数获取模块,用于对每天的N个第一延迟执行系数求平均值,得到当前执行日期对应的第二延迟执行系数。
[0134] 第十一确定模块,用于根据第二延迟执行系数和预设第二检测阈值,比较在当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能是否满足服务等级协议。
[0135] 进一步的,第十一确定模块包括第十二确定模块、第十三确定模块和第十四确定模块,各个功能模块的详细说明具体如下:
[0136] 第十二确定模块,用于若第二延迟执行系数等于预设第二检测阈值,则当前执行日期内数据湖的当前性能和执行日期内的数据湖的历史性能一致,确定当前执行日期内数据湖的当前性能满足服务等级协议。
[0137] 第十三确定模块,用于若第二延迟执行系数小于预设第二检测阈值,则当前执行日期内数据湖的当前性能优于执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能满足且高于服务等级协议。
[0138] 第十四确定模块,用于若第二延迟执行系数大于预设第二检测阈值,则当前执行日期内数据湖的当前性能劣于执行日期内的数据湖的历史性能,确定当前执行日期内数据湖的当前性能不满足服务等级协议。
[0139] 关于数据湖的性能诊断装置的具体限定可以参见上文中对于数据湖的性能诊断方法的限定,在此不再赘述。上述数据湖的性能诊断装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0140] 为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
[0141] 所述计算机设备4包括通过系统总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件连接存储器41、处理器42、网络接口43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
[0142] 所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
[0143] 所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作系统和各类应用软件,例如电子文件的控制的程序代码等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
[0144] 所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的程序代码或者处理数据,例如运行电子文件的控制的程序代码。
[0145] 所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
[0146] 本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的数据湖的性能诊断方法的步骤。
[0147] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
[0148] 显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。