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

报告处理方法、装置、计算机系统及可读存储介质

文献发布时间:2023-06-19 11:49:09


报告处理方法、装置、计算机系统及可读存储介质

技术领域

本公开涉及人工智能技术领域或其他领域,更具体地,涉及一种报告处理方法、装置、计算机系统、可读存储介质及计算机程序产品。

背景技术

自动工作负载信息库(Automatic Workload Repository,AWR)是Oracle提供的一种数据库系统性能信息收集和分析的工具,能提供一个时间段内Oracle数据库系统的资源使用情况的报告,该报告称为AWR报告。通过分析该AWR报告,可以了解Oracle数据库系统的整个运行情况。

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:每天都有海量AWR报告生成,人工分析AWR报告来筛选出Oracle数据库系统存在的性能问题或隐患,运维成本高,效率低。

发明内容

有鉴于此,本公开提供了一种报告处理方法、装置、计算机系统、可读存储介质及计算机程序产品。

本公开的一个方面提供了一种报告处理方法,包括:

将目标报告进行预处理,生成目标报告的词向量矩阵,其中,目标报告为关于数据库系统的运维情况报告;

将词向量矩阵输入至报告识别模型中,得到由报告识别模型输出的输出结果;以及

基于输出结果,确定针对数据库系统的性能评价结果。

根据本公开的实施例,其中,目标报告包括结构化文本;

其中,将目标报告进行预处理,生成目标报告的词向量矩阵包括:

将目标报告转换为非结构化文本;

对非结构化文本进行分词处理,生成分词集;以及

基于分词集,生成词向量矩阵。

根据本公开的实施例,其中,基于分词集,生成词向量矩阵包括:

利用词向量模型将分词集转换为词向量集;其中,分词集中的每个词语与词向量集中的一个词向量相对应;

确定词向量集中的不满足预设长度的词向量;以及

以向量值0填充不满足预设长度的词向量至预设长度。

根据本公开的实施例,报告处理方法还包括:

利用词向量训练集训练初始词向量模型,得到词向量模型,其中,词向量训练集中的训练样本包括自动工作负载信息库报告中的分词以及与其对应的词向量;

判断词向量模型的偏差度是否满足预设偏差阈值;

在词向量模型的偏差度满足预设偏差阈值的情况下,确定词向量模型为训练好的模型;

在词向量模型的偏差度不满足预设偏差阈值的情况下,利用随机填充的方式处理词向量训练集中的训练样本,得到样本数量增加的新增词向量训练集;以及

利用新增词向量训练集中的训练样本训练初始词向量模型,以便得到满足预设偏差阈值的模型。

根据本公开的实施例,报告处理方法还包括:

构建初始报告识别模型;

对报告训练集中的训练样本进行预处理,生成训练样本的词向量矩阵,其中,报告训练集中的训练样本包括自动工作负载信息库报告和与其对应的标签,其中,标签用于表征自动工作负载信息库报告是否存在性能问题;

将词向量矩阵输入至初始报告识别模型中,得到预测输出结果;

将预测输出结果与标签输入至初始报告识别模型的损失函数中,得到损失结果;

根据损失结果调整初始报告识别模型中的参数,直至损失函数收敛;以及

将损失函数收敛时对应的模型作为报告识别模型。

根据本公开的实施例,其中,初始报告识别模型包括依次堆叠的嵌入层、三维特征提取模块、第一全连接层、随机失活层和第二全连接层;

其中,三维特征提取模块包括三组并联的特征提取子模块,每组特征提取子模块包括卷积层和池化层。

根据本公开的实施例,报告处理方法还包括:

从分词集中确定目标词语及目标词语的属性值;以及

基于目标词语的属性值,确定针对数据库系统的初步性能评价结果。

根据本公开的实施例,报告处理方法还包括:

获取与初步性能评价结果不一致的性能评价结果;以及

将与初步性能评价结果不一致的性能评价结果相对应的目标报告作为优化训练样本,优化训练报告识别模型,得到优化后的报告识别模型。

本公开的另一个方面提供了一种报告处理装置,包括:

生成模块,用于将目标报告进行预处理,生成目标报告的词向量矩阵,其中,目标报告为关于数据库系统的运维情况报告;

输入模块,用于将词向量矩阵输入至报告识别模型中,得到由报告识别模型输出的输出结果;以及

确定模块,用于基于输出结果,确定针对数据库系统的性能评价结果。

本公开的再一方面提供一种计算机系统,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序,

其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的报告处理方法。

本公开的再一方面提供一种计算机可读存储介质,其上存储有可执行指令,指令被处理器执行时使处理器实现上述的报告处理方法。

本公开的再一方面提供一种计算机程序产品,包括计算机程序,计算机程序包括计算机可执行指令,指令在被执行时用于实现上述的报告处理方法。

根据本公开的实施例,因为采用了将目标报告进行预处理,生成目标报告的词向量矩阵,其中,目标报告为关于数据库系统的运维情况报告;将词向量矩阵输入至报告识别模型中,得到由报告识别模型输出的输出结果;以及基于输出结果,确定针对数据库系统的性能评价结果的技术手段,利用报告识别模型解析目标报告的方式来确定针对数据库系统的性能评价结果;所以至少部分地克服了现有技术中通过人工分析目标报告来筛选出数据库系统存在的性能问题或者隐患,而导致的处理效率低下、成本高的技术问题,进而达到了自动化处理目标报告,实现高效、快速、且精确的确定数据库系统的性能评价结果的技术效果。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了可以本公开实施例的报告处理方法和装置的系统架构;

图2示意性示出了根据本公开实施例的报告处理方法的流程图;

图3示意性示出了根据本公开另一实施例的词向量模型的训练流程图;

图4示意性示出了根据本公开实施例的报告识别模型的结构图;

图5示意性示出了根据本公开实施例的报告处理装置的框图;以及

图6示意性示出了根据本公开实施例的适于实现报告处理方法的计算机系统的框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开的实施例提供了一种报告处理方法。该方法包括:将目标报告进行预处理,生成目标报告的词向量矩阵,其中,目标报告为关于数据库系统的运维情况报告;将词向量矩阵输入至报告识别模型中,得到由报告识别模型输出的输出结果;以及基于输出结果,确定针对数据库系统的性能评价结果。

图1示意性示出了根据本公开实施例的可以应用报告处理方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端和/或社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,用于浏览被分析服务器是否存在性能问题、所属数据库服务器等相关信息,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是为用户利用终端设备101、102、103所浏览分析结果的网站提供支持的web服务器;服务器106可以是为用户利用终端设备101、102、103所浏览分析结果的网站提供支持的app服务器;服务器107可以是为服务器106提供结果数据的模型部署服务器,服务器108可以是被采集信息的多台数据库服务器;服务器109是取、送AWR报告的批量服务器。

需要说明的是,本公开实施例所提供的报告处理方法一般可以由服务器108执行。相应地,本公开实施例所提供的报告处理装置一般可以设置于服务器108中。本公开实施例所提供的报告处理方法也可以由不同于服务器108且能够与终端设备101、102、103和/或服务器108通信的服务器或服务器集群执行。相应地,本公开实施例所提供的报告处理装置也可以设置于不同于服务器108且能够与终端设备101、102、103和/或服务器108通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图2示意性示出了根据本公开实施例的报告处理方法的流程图。

如图2所示,该方法包括操作S210~S230。

在操作S210,将目标报告进行预处理,生成目标报告的词向量矩阵,其中,目标报告为关于数据库系统的运维情况报告。

在操作S220,将词向量矩阵输入至报告识别模型中,得到由报告识别模型输出的输出结果。

在操作S230,基于输出结果,确定针对数据库系统的性能评价结果。

根据本公开的实施例,数据库系统可以指甲骨文公司提供的Oracle数据库系统,但是并不局限于此,只要是在计算机系统中引入数据库后构成的系统,对本公开的数据库系统均适用。

根据本公开的实施例,数据库系统可以包括硬件部分,例如计算机的主机、键盘、显示器和外围设备等;还可以包括软件部分,例如数据库管理系统、数据库操作系统、应用开发工具软件和特定应用软件等。

根据本公开的实施例,目标报告可以是AWR报告,其中,AWR(Automatic WorkloadRepository),是Oracle 10g提供的一种用于收集数据库系统的相关信息的工具。该AWR报告是AWR自动生成的统计信息,能够用于反映数据库系统包括主机硬件、网络、数据库、中间件、系统日志等相关信息。

但是,本公开的目标报告也并不局限于AWR报告,只要是关于数据库系统的运维情况的报告,体现数据库系统中硬件部分或者软件部分的相关信息的报告均可,在此不再赘述。

根据本公开的实施例,目标报告例如AWR报告,存在篇幅偏长,阅读起来难度较高的问题。相关技术中,并无现有辅助分析目标报告的工具,利用人工分析的方法,存在耗时耗力,并且仅能依据单一标准的方式去判断,存在问题分析准确度低的问题。

利用本公开实施例提供的报告识别模型处理目标报告,将数据库系统性能统计报告解析与机器学习相结合,实现对问题数据库系统的预测。本公开实施例提供的报告处理方法,自动化解析目标报告,解放人力,提高效率。

具体地,从测试环境角度来说,利用本公开实施例提供的报告处理方法处理由测试环境压测产生的大量目标报告,可以帮助实现快速分析从而初步判定数据库系统是否存在性能问题,降低对测试人员的技术能力要求和工作量;从生产运维角度来说,利用本公开实施例提供的报告处理方法处理每天从生产环境收集的海量目标报告,可以帮助实现快速分析从而定位数据库系统可能存在的安全隐患,降低生产运维成本,提高相关人员工作效率。

下面结合具体实施例,并参考图3~图4对图2所示的方法做进一步说明。

根据本公开的实施例,其中,目标报告包括结构化文本。

根据本公开的实施例,结构化文本可以理解为具有高度组织和整齐格式的文本,例如为表格格式的文本。但是并不局限于此,还可以是例如含有统一结构的图表等数据的文本。

根据本公开的实施例,目标报告并不局限于结构化文本,还可以是非结构化文本,或者是既具有结构化数据又具有非结构化数据的文本。其中,结构化文本可以是字段可变或者可编辑的文本。

其中,将目标报告进行预处理,生成目标报告的词向量矩阵可以包括如下操作。

例如,将目标报告转换为非结构化文本;对非结构化文本进行分词处理,生成分词集;以及基于分词集,生成词向量矩阵。

根据本公开的实施例,将目标报告转换为非结构化文本,可以为仅将其中的结构化文本转换为非结构化文本,但是并不局限于此,还可以是对非结构化文本的格式转换,例如格式转换为编辑器可编辑的ASCII、MIME或者TXT格式。

根据本公开的其他实施例,将目标报告进行预处理,还可以包括清洗操作。例如,可以对已经将转换为非结构化文本,且进行了格式转换的目标报告,再进行清洗操作。在本公开的实施例中,该清洗操作可以包括去除目标报告中的特殊符号、将大小写进行统一等等操作。

根据本公开的其他实施例,还可以直接对目标报告进行分词处理,生成分词集,再基于分词集,生产词向量矩阵。但是,这将提高分词处理的难度,不利于后续处理。

利用本公开的实施例,将目标报告转换为非结构化文本,使其成为格式一致的文本信息,降低分词处理的难度,提高词向量矩阵的真实语义表达。

根据本公开的实施例,其中,基于分词集,生成词向量矩阵可以包括如下操作。

例如,利用词向量模型将分词集转换为词向量集;其中,分词集中的每个词语与词向量集中的一个词向量相对应;确定词向量集中的不满足预设长度的词向量;以及以向量值0填充不满足预设长度的词向量至预设长度。

本公开实施例中的目标报告经分词处理后,得到的分词集中的每个词语并不完全等长,因此,与其相对应的词向量并不能保证为相同的长度。因此,由词向量组成的词向量矩阵并不能保证为固定的维度。基于此,本公开实施例中的对词向量的长度进行判断,在词向量长度不满足预设长度的情况下,用向量值0填充补足,以保证最后形成的词向量矩阵为预设维度。

但是并不局限于此,还可以在进行基于分词集,生成词向量矩阵操作之前,对分词集中的每个词语进行判断,看每个词语是否符合预设阈值长度,在词语不满足预设阈值长度的情况下,用空白符将词语的长度补足至预设阈值长度,以实现与其对应的词向量的长度均为一致的预设长度,进而利用满足预设长度的词向量得到词向量矩阵为预设维度。

利用本公开实施例提供的词向量矩阵生成方法,词向量矩阵维度固定,有利于输入至报告识别模型中,得到精确的解析结果。

图3示意性示出了根据本公开另一实施例的词向量模型的训练流程图。

如图3所示,词向量模型的训练方法可以包括操作S310~S350、S361、S362和S370。

在操作S310,获取训练用词向量数据集。

根据本公开的实施例,词向量数据集可以为自动工作负载信息库报告集合。

在操作S320,对词向量数据集中的自动工作负载信息库报告进行分词处理。

根据本公开的实施例,该分词处理并不局限于依据分词词典对自动工作负载信息库报告进行分词,还可以包括对自动工作负载信息库报告进行文本格式转换,以及字符清洗、字符格式统一等操作。

根据本公开的实施例,分词词典并不局限于相关技术中公开的分词词典,还可以是依据本公开实施例的词向量数据集例如自动工作负载信息库报告集合构建得到的分词词典。利用本公开实施例的自动工作负载信息库报告集合构建得到的分词词典,分词更能精准的把握本公开实施例针对自动工作负载信息库报告中的属性词和情感词等的表达主旨。

在操作S330,生成词汇表。

根据本公开的实施例,针对词向量数据集中的自动工作负载信息库报告,利用现有的词向量模型,从自动工作负载信息库报告中选择频率大于或等于预设的频率阈值的词语,生成词汇表。

根据本公开的实施例,该频率阈值可以为30%~40%。该词汇表可以包括分词集以及词向量集;其中,分词集中的每个分词与词向量集中的一个词向量相对应。分词集中的每个分词可以是自动工作负载信息库报告中选择频率大于或等于预设的频率阈值的词语。

在操作S340,利用词向量训练集训练初始词向量模型,得到词向量模型。

根据本公开的实施例,词向量训练集中的训练样本包括自动工作负载信息库报告中的分词以及与其对应的词向量。该分词可以是利用分词词典处理自动工作负载信息库报告得到的词语或者短语。但是并不局限于此,还可以是经分词后,又基于词汇表中的分词,匹配得到的分词,即为频率大于或等于预设的频率阈值的词语。

与分词相对应的词向量可以是基于词汇表得到的词向量。

根据本公开的实施例,初始词向量模型,可以是word2vec,但是并不局限于此,还可以是Glove等词向量模型。

在操作S350,确定词向量模型的偏差度,并判断词向量模型的偏差度是否满足预设偏差阈值。

根据本公开的实施例,并不局限于确定词向量模型的偏差度,还可以是准确度。只要是能够实现确定词向量模型的精度的判定方式均可,在此不再赘述。

在操作S361,在词向量模型的偏差度满足预设偏差阈值的情况下,确定词向量模型为训练好的模型。

在操作S362,在词向量模型的偏差度不满足预设偏差阈值的情况下,利用随机填充的方式处理词向量训练集中的训练样本,得到样本数量增加的新增词向量训练集。

在操作S370,利用新增词向量训练集中的训练样本训练初始词向量模型,以便得到满足预设偏差阈值的模型。

根据本公开的实施例,利用偏差度与预设偏差阈值来进行比较,从而确定词向量模型是否达到预设标准,可以准确把握词向量模型的精度,有利于后续利用报告识别模型对目标报告进行处理。

但是,并不局限于此,还可以在执行操作S340之前,执行对词向量训练集中样本数量是否满足预设样本数量的判断的操作,在词向量训练集中样本数量未满足预设样本数量的情况下,利用随机填充的方式处理词向量训练集中的训练样本,得到样本数量增加的新增词向量训练集,利用新增词向量训练集中的训练样本训练初始词向量模型,得到词向量模型。

根据本公开的实施例,利用本公开实施例的词向量模型的训练方法,相比于现有公开的词向量模型,能够提高预测的准确度和精度,并且有利于后续的报告识别的处理效率和解析精度。

根据本公开的实施例,报告处理方法中的报告识别模型,可以通过如下操作训练得到。

例如,构建初始报告识别模型;

对报告训练集中的训练样本进行预处理,生成训练样本的词向量矩阵,其中,报告训练集中的训练样本包括自动工作负载信息库报告和与其对应的标签,其中,标签用于表征自动工作负载信息库报告是否存在性能问题;

将词向量矩阵输入至初始报告识别模型中,得到预测输出结果;

将预测输出结果与标签输入至初始报告识别模型的损失函数中,得到损失结果;

根据损失结果调整初始报告识别模型中的参数,直至损失函数收敛;以及

将损失函数收敛时对应的模型作为报告识别模型。

根据本公开的实施例,构建的初始报告识别模型,可以采用Bert模型,但是并不局限于此,还可以使用TextCNN模型。另外,还可以根据实际情况对上述模型进行改进,将改进后的模型作为初始报告识别模型进行训练。

根据本公开的实施例,报告识别模型的训练操作,可以通过考察损失函数收敛的方式来确定训练停止时间。并不局限于此,还可以利用训练轮次来确定训练停止时间。例如,预设50轮次进行训练,在进行50轮次的训练后,来看下训练后的报告识别模型的准确率或者偏差度是否满足要求,在满足要求的情况下,可以停止训练,将该报告识别模型作为最终的报告识别模型。

根据本公开的实施例,将损失函数收敛时对应的模型作为报告识别模型,能够满足目标报告的解析准确度,提高后续的工作效率;将满足预设训练轮次时对应的模型作为报告识别模型,能够减少训练时间,提高训练效率。

图4示意性示出了根据本公开另一实施例的初始报告识别模型的结构图。

如图4所示,初始报告识别模型包括依次堆叠的嵌入层、三维特征提取模块、第一全连接层、随机失活层和第二全连接层;其中,三维特征提取模块包括三组并联的特征提取子模块,每组特征提取子模块包括卷积层和池化层。

根据本公开的实施例,本公开实施例的嵌入层可以理解为特征提取器;嵌入层可以对输入的词向量矩阵做去均值、归一化处理,实现加速梯度下降,提高训练迭代速度,加速达到收敛的效果。

本公开实施例的三维特征提取模块中的卷积层是整个模型中最重要的一层,用于进行线性计算;池化层与卷积层连接,用于压缩数据和参数的量,减少过拟合,得到最后的特征表达。此外,本公开实施例的三维特征提取模块,采用卷积层和池化层三组并联的方式,能够将一维转换为三维,有利于全面准确的进行抽象特征表达,提高最后的解析结果,减少误判。

根据本公开的实施例,卷积层中的卷积核可以为32*32或者64*64;其中,卷积核的数量可以为16个。卷积层利用本公开实施例中的卷积核大小及数量,可以很好的应用于本公开实施例的报告识别模型中,利于特征提取,且训练速度快。

本公开实施例的第一全连接层和第二全连接层用于实现模型的分类概率计算。

本公开实施例的随机失活层(dropout层)用于过滤一些节点的连接,防止过拟合。

利用本公开实施例提供的初始报告识别模型,配合本公开实施例提供的损失函数,使训练得到的报告识别模型,应用到解析数据库系统的评价报告上,处理效率快,且准确度高,解放人力。

根据本公开的实施例,报告处理方法还可以利用分词集中的目标词语以及目标词语的属性值进行辅助判断。

例如,从分词集中确定目标词语及目标词语的属性值;以及基于目标词语的属性值,确定针对数据库系统的初步性能评价结果。

根据本公开的实施例,目标词语可以为例如AWR报告中的DB Time和Elaped。具体地,DB Time是记录的服务器花在数据库运输和等待上的时间。如果DB Time=7204min,而Elaped=239min。该数据库包括16个物理CPU,即32个逻辑CPU,所以,每个逻辑CPU所在数据库上消耗的时间比率为(7204/32)/239=94%。则说明此时该数据库系统的系统压力相对较高,存在性能问题。

利用本公开的实施例,利用初步性能评价结果来辅助报告识别模型进行数据库系统的性能问题的剖析与筛选,进一步提高准确性,避免误判。

此外,实际应用过程中,还可以利用初步性能评价结果,将报告识别模型作出误判的目标报告筛选出来,以此作为优化训练样本优化训练报告识别模型,提高报告识别模型的精度。

根据本公开的实施例,报告处理方法还可以包括对报告识别模型的优化,进而不断提高报告识别模型的精度和准确度。

根据本公开的实施例,优化方式可以采用如下操作。

例如,获取与初步性能评价结果不一致的性能评价结果;以及

将与初步性能评价结果不一致的性能评价结果相对应的目标报告作为优化训练样本,优化训练报告识别模型,得到优化后的报告识别模型。

综上所述,本公开实施例提供的报告处理方法,将数据库系统统计报告解析与深度学习相结合,实现对问题数据库系统的预测。并且报告识别模型使用难度低,测试人员或生产运维人员只需要简单的几个命令就可以使用,降低技术要求和操作成本。

此外,针对AWR报告的解析,相比于相关技术中的先关注整体情况再根据关注点不同采用跳跃式分析,另外再根据具体业务的不同,决定某种现象是否正常的方式,本公开实施例提供的报告识别模型可以抽象出特征全面进行解析,比依靠单一标准去判断的方法准确率高。

图5示意性示出了根据本公开的实施例的报告处理装置的框图。

如图5所示,报告处理装置500包括生成模块510、输入模块520、以及确定模块530。

生成模块510,用于将目标报告进行预处理,生成目标报告的词向量矩阵,其中,目标报告为关于数据库系统的运维情况报告;

输入模块520,用于将词向量矩阵输入至报告识别模型中,得到由报告识别模型输出的输出结果;以及

确定模块530,用于基于输出结果,确定针对数据库系统的性能评价结果。

利用本公开实施例提供的报告识别模型处理目标报告,将数据库系统性能统计报告解析与机器学习相结合,实现对问题数据库系统的预测。本公开实施例提供的报告处理方法,自动化解析目标报告,解放人力,提高效率。

根据本公开的实施例,其中,目标报告包括结构化文本。

根据本公开的实施例,生成模块510包括转换子模块、分词子模块、生成子模块。

转换子模块,用于将目标报告转换为非结构化文本;

分词子模块,用于对非结构化文本进行分词处理,生成分词集;以及

生成子模块,用于基于分词集,生成词向量矩阵。

根据本公开的实施例,生成子模块包括转换单元、确定单元以及填充单元。

转换单元,用于利用词向量模型将分词集转换为词向量集;其中,分词集中的每个词语与词向量集中的一个词向量相对应;

确定单元,用于确定词向量集中的不满足预设长度的词向量;以及

填充单元,用于以向量值0填充不满足预设长度的词向量至预设长度。

根据本公开的实施例,报告处理装置500还包括第一训练模块、判断模块、第一确定模块、第二确定模块、以及第二训练模块。

第一训练模块,用于利用词向量训练集训练初始词向量模型,得到词向量模型,其中,词向量训练集中的训练样本包括自动工作负载信息库报告中的分词以及与其对应的词向量;

判断模块,用于判断词向量模型的偏差度是否满足预设偏差阈值;

第一确定模块,用于在词向量模型的偏差度满足预设偏差阈值的情况下,确定词向量模型为训练好的模型;

第二确定模块,用于在词向量模型的偏差度不满足预设偏差阈值的情况下,利用随机填充的方式处理词向量训练集中的训练样本,得到样本数量增加的新增词向量训练集;以及

第二训练模块,用于利用新增词向量训练集中的训练样本训练初始词向量模型,以便得到满足预设偏差阈值的模型。

根据本公开的实施例,报告处理装置500还包括构建模块、预处理模块、预训练输入模块、损失结果得到模块、调整模块、模型确定模块。

构建模块,用于构建初始报告识别模型;

预处理模块,用于对报告训练集中的训练样本进行预处理,生成训练样本的词向量矩阵,其中,报告训练集中的训练样本包括自动工作负载信息库报告和与其对应的标签,其中,标签用于表征自动工作负载信息库报告是否存在性能问题;

预训练模块,用于将词向量矩阵输入至初始报告识别模型中,得到预测输出结果;

损失结果得到模块,用于将预测输出结果与标签输入至初始报告识别模型的损失函数中,得到损失结果;

调整模块,用于根据损失结果调整初始报告识别模型中的参数,直至损失函数收敛;以及

模型确定模块,用于将损失函数收敛时对应的模型作为报告识别模型。

根据本公开的实施例,其中,初始报告识别模型包括依次堆叠的嵌入层、三维特征提取模块、第一全连接层、随机失活层和第二全连接层;

其中,三维特征提取模块包括三组并联的特征提取子模块,每组特征提取子模块包括卷积层和池化层。

根据本公开的实施例,报告处理装置500还包括分词确定模块以及结果确定模块。

分词确定模块,用于从分词集中确定目标词语及目标词语的属性值;

结果确定模块,用于基于目标词语的属性值,确定针对数据库系统的初步性能评价结果。

根据本公开的实施例,报告处理装置500还包括获取模块以及优化训练模块。

获取模块,用于获取与初步性能评价结果不一致的性能评价结果;以及

优化训练模块,用于将与初步性能评价结果不一致的性能评价结果相对应的目标报告作为优化训练样本,优化训练词向量模型,得到优化后的词向量模型。

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,生成模块510、输入模块520、以及确定模块530中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,生成模块510、输入模块520、以及确定模块530中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,生成模块510、输入模块520、以及确定模块530中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

需要说明的是,本公开的实施例中报告处理装置部分与本公开的实施例报告处理方法部分是相对应的,报告处理装置部分的描述具体参考报告处理方法部分,在此不再赘述。

图6示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图6示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图6所示,根据本公开实施例的计算机系统600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 603中,存储有系统600操作所需的各种程序和数据。处理器601、ROM 602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的报告处理方法。

在该计算机程序被处理器601执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

相关技术
  • 报告处理方法、装置、计算机系统及可读存储介质
  • 补货任务处理方法、装置、计算机系统和可读存储介质
技术分类

06120113066921