可左右滑动选省市

基于关联挖掘的智能化参数配置方法及装置发明专利

更新时间:2024-07-01
基于关联挖掘的智能化参数配置方法及装置发明专利 专利申请类型:发明专利;
源自:北京高价值专利检索信息库;

专利名称:基于关联挖掘的智能化参数配置方法及装置

专利类型:发明专利

专利申请号:CN202111412278.6

专利申请(专利权)人:中国电子科技集团公司第十五研究所
权利人地址:北京市海淀区北四环中路211号华北所科技大厦

专利发明(设计)人:王菲,赵正健,王智超,麻敏超,陆俊杰

专利摘要:本发明提出了一种基于关联挖掘的智能化参数配置方法及装置。配置方法,包括:S100,获取软件系统的配置文件,并解析配置文件获得各配置项的配置项名称以及配置项值;S200,基于配置项值,通过语法匹配和语义验证判断配置项类型;S300,基于配置项名称、配置项值及配置项类型,挖掘配置项之间的关联关系;S400,分析各配置项间的关联关系和约束关系,建立配置约束模板;S500,利用配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐。本发明通过挖掘配置项之间关联关系,根据配置项关联规则来构建配置约束模板,以达到智能化参数配置的目的,可以有效的进行配置错误检测、配置项级联更新和配置项取值推荐。

主权利要求:
1.一种基于关联挖掘的智能化参数配置方法,其特征在于,包括:获取软件系统的配置文件,并解析所述配置文件获得各配置项的配置项名称以及配置项值;
基于所述配置项值,通过语法匹配和语义验证判断配置项类型;
基于所述配置项名称、所述配置项值及所述配置项类型,挖掘配置项之间的关联关系;
分析各配置项间的关联关系和约束关系,建立配置约束模板;
利用所述配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐;
所述利用所述配置约束模板的约束配置进行配置项的级联更新以及取值推荐,包括:在进行参数配置更新前,通过配置项关联规则分析获得强关联配置项,形成参数配置级联更新的目标合集和更新顺序;
根据参数配置的更新和取值设置,结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐。
2.根据权利要求1所述的基于关联挖掘的智能化参数配置方法,其特征在于,所述获取软件系统的配置文件,并解析所述配置文件获得各配置项的配置项名称以及配置项值,包括:从代码网站中抓取软件系统的所述配置文件;
将所述配置文件中所有的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值;
将所述配置项名称和所述配置项值转换为key‑value格式的配置记录,并保存到本地配置库中。
3.根据权利要求1所述的基于关联挖掘的智能化参数配置方法,其特征在于,基于所述配置项值,通过语法匹配和语义验证判断配置项类型,包括:基于所述配置项值和正则表达式,通过语法匹配初步判断配置项类型;
对所述配置项类型的初步判断结果进行语义验证。
4.根据权利要求1所述的基于关联挖掘的智能化参数配置方法,其特征在于,所述配置约束模板的配置约束至少包括以下之一:参数配置的需求、参数配置的规则、语义条件及参数配置的限制。
5.根据权利要求1所述的基于关联挖掘的智能化参数配置方法,其特征在于,利用所述参数配置约束模板的约束配置进行配置项的错误检测,包括:对配置的配置项名称和配置项值进行检测,当所述配置项名称和/或所述配置项值与所述配置约束模板不匹配时,进行相应的配置错误提示。
6.一种基于关联挖掘的智能化参数配置装置,其特征在于,包括:配置项采集模块,用于获取软件系统的配置文件,并解析所述配置文件获得各配置项的配置项名称以及配置项值;
配置项类型推断模块,用于基于所述配置项值,通过语法匹配和语义验证判断配置项类型;
配置关联挖掘模块,用于基于所述配置项名称、所述配置项值及所述配置项类型,挖掘配置项之间的关联关系;
配置约束生成模块,用于分析各配置项间的关联关系和约束关系,建立配置约束模板;
智能化参数配置模块,用于利用所述配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐;
在进行参数配置更新前,通过配置项关联规则分析获得强关联配置项,形成参数配置级联更新的目标合集和更新顺序;
根据参数配置的更新和取值设置,结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐。
7.根据权利要求6所述的基于关联挖掘的智能化参数配置装置,其特征在于,所述配置项采集模块具体用于:从代码网站中抓取软件系统的所述配置文件;
将所述配置文件中所有的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值;
将所述配置项名称和所述配置项值转换为key‑value格式的配置记录,并保存到本地配置库中。
8.根据权利要求6所述的基于关联挖掘的智能化参数配置装置,其特征在于,所述配置项类型推断模块具体用于:基于所述配置项值和正则表达式,通过语法匹配初步判断配置项类型;
对所述配置项类型的初步判断结果进行语义验证。
9.根据权利要求6所述的基于关联挖掘的智能化参数配置装置,其特征在于,所述智能化参数配置模块具体用于:对配置的配置项名称和配置项值进行检测,当所述配置项名称和/或所述配置项值与所述配置约束模板不匹配时,进行相应的配置错误提示。 说明书 : 基于关联挖掘的智能化参数配置方法及装置技术领域[0001] 本发明涉及软件配置技术领域,尤其涉及一种基于关联挖掘的智能化参数配置方法及装置。背景技术[0002] 随着软件系统在规模和功能方面的不断增长,正确配置软件系统已经成为一项非常复杂的工作,并且在进行系统配置时容易出现配置错误。目前,配置错误已经成为导致系统故障的主要原因之一,并且这种故障通常会带来比较严重的经济损失、安全隐患和功能故障等。例如微软搜索引擎Bing在发布第二天就遇到宕机事件,而此次的宕机事件是由于Bing内部测试使服务配置发生改变而导致的。同时,Facebook也出现过由于服务器配置改动而导致的严重的宕机事件。在配置错误中,由于配置项关联性引起的错误占很大一部分,所以通过挖掘配置项之间的关联关系来提高软件服务配置质量是非常必要的。[0003] 为了将配置错误导致的损失降低到最小,可以在进行应用配置之前自动检测配置设置,提前发现潜在的错误设置。目前针对配置项分析方法通常使用程序分析法,但该方法在使用时需要提供软件源码,因此在使用场景上有很大的局限性。为了避免这一缺陷,有研究人员提出通过配置文件来对配置项进行分析,但当前的配置文件与编程语言相比缺乏丰富的结构和语义信息,难以直接进行复杂的错误分析。发明内容[0004] 本发明要解决的技术问题是如何提高软件配置的可靠性和便利性,本发明提出一种基于关联挖掘的智能化参数配置方法及装置。[0005] 根据本发明实施例的基于关联挖掘的智能化参数配置方法,包括:[0006] 获取软件系统的配置文件,并解析所述配置文件获得各配置项的配置项名称以及配置项值;[0007] 基于所述配置项值,通过语法匹配和语义验证判断配置项类型;[0008] 基于所述配置项名称、所述配置项值及所述配置项类型,挖掘配置项之间的关联关系;[0009] 分析各配置项间的关联关系和约束关系,建立配置约束模板;[0010] 利用所述配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐。[0011] 根据本发明的一些实施例,所述获取软件系统的配置文件,并解析所述配置文件获得各配置项的配置项名称以及配置项值,包括:[0012] 从代码网站中抓取软件系统的所述配置文件;[0013] 将所述配置文件中所有的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值;[0014] 将所述配置项名称和所述配置项值转换为key‑value格式的配置记录,并保存到本地配置库中。[0015] 在本发明的一些实施例中,基于所述配置项值,通过语法匹配和语义验证判断配置项类型,包括:[0016] 基于所述配置项值和正则表达式,通过语法匹配初步判断配置项类型;[0017] 对所述配置项类型的初步判断结果进行语义验证。[0018] 根据本发明的一些实施例,所述配置约束模板的配置约束至少包括以下之一:参数配置的需求、参数配置的规则、语义条件及参数配置的限制。[0019] 在本发明的一些实施例中,利用所述参数配置约束模板的约束配置进行配置项的错误检测,包括:[0020] 对配置的配置项名称和配置项值进行检测,当所述配置项名称和/或所述配置项值与所述配置约束模板不匹配时,进行相应的配置错误提示。[0021] 根据本发明的一些实施例,利用所述配置约束模板的约束配置进行配置项的级联更新以及取值推荐,包括:[0022] 在进行参数配置更新前,通过配置项关联规则分析获得强关联配置项,形成参数配置级联更新的目标合集和更新顺序;[0023] 根据参数配置的更新和取值设置,结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐。[0024] 根据本发明实施例的基于关联挖掘的智能化参数配置装置,包括:[0025] 配置项采集模块,用于获取软件系统的配置文件,并解析所述配置文件获得各配置项的配置项名称以及配置项值;[0026] 配置项类型推断模块,用于基于所述配置项值,通过语法匹配和语义验证判断配置项类型;[0027] 配置关联挖掘模块,用于基于所述配置项名称、所述配置项值及所述配置项类型,挖掘配置项之间的关联关系;[0028] 配置约束生成模块,用于分析各配置项间的关联关系和约束关系,建立配置约束模板;[0029] 智能化参数配置模块,用于利用所述配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐。[0030] 根据本发明的一些实施例,所述配置项采集模块具体用于:[0031] 从代码网站中抓取软件系统的所述配置文件;[0032] 将所述配置文件中所有的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值;[0033] 将所述配置项名称和所述配置项值转换为key‑value格式的配置记录,并保存到本地配置库中。[0034] 在本发明的一些实施例中,所述配置项类型推断模块具体用于:[0035] 基于所述配置项值和正则表达式,通过语法匹配初步判断配置项类型;[0036] 对所述配置项类型的初步判断结果进行语义验证。[0037] 根据本发明的一些实施例,所述智能化参数配置模块具体用于:[0038] 对配置的配置项名称和配置项值进行检测,当所述配置项名称和/或所述配置项值与所述配置约束模板不匹配时,进行相应的配置错误提示;[0039] 所述智能化参数配置模块还用于:[0040] 在进行参数配置更新前,通过配置项关联规则分析获得强关联配置项,形成参数配置级联更新的目标合集和更新顺序;[0041] 根据参数配置的更新和取值设置,结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐。[0042] 本发明提出的基于关联挖掘的智能化参数配置方法及装置具有如下有益效果:[0043] 本发明基于配置项名称、配置项值和配置项类型挖掘配置项之间的关联关系,允许方便地建立所有配置项之间的关联关系。利用给定的大量样本数据进行配置训练,形成配置关联规则,通过配置项之间的关联规则和配置约束信息形成配置约束参数化模板,可以分析配置项之间的影响传播机制,可以有效的进行配置错误检测、配置项级联更新和配置项取值推荐,可以以直观以及便于分析的形式展现配置项的参考取值。附图说明[0044] 图1为根据本发明实施例的基于关联挖掘的智能化参数配置方法流程图;[0045] 图2为根据本发明实施例的基于关联挖掘的智能化参数配置方法示意图;[0046] 图3为根据本发明实施例基于关联挖掘的智能化参数配置装置组成示意图。[0047] 附图标记:[0048] 配置装置100,[0049] 配置项采集模块10,配置项类型推断模块20,配置关联挖掘模块30,配置约束生成模块40,智能化参数配置模块50。具体实施方式[0050] 为更进一步阐述本发明为达成预定目的所采取的技术手段及功效,以下结合附图及较佳实施例,对本发明进行详细说明如后。[0051] 本发明中说明书中对方法流程的描述及本发明说明书附图中流程图的步骤并非必须按步骤标号严格执行,方法步骤是可以改变执行顺序的。而且,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。[0052] 以下对本发明技术方案中的涉及的技术术语的解释:[0053] 配置:在技术文档中明确说明并最终组成软件产品的功能或物理属性。[0054] 配置项:保存相关配置,软件、硬件、文档等信息每发生一次变更,都要更新配置项,便于更好的维护系统。[0055] 配置项类型:配置项类型通常包括值类型、布尔类型和字符串类型,蕴含了配置项的语法和语义信息。[0056] 配置项关联关系:定义了配置项之间如何相互关联。[0057] 如图1和图2所示,根据本发明实施例的基于关联挖掘的智能化参数配置方法,包括:[0058] S100,获取软件系统的配置文件,并解析配置文件获得各配置项的配置项名称以及配置项值;[0059] S200,基于配置项值,通过语法匹配和语义验证判断配置项类型;[0060] S300,基于配置项名称、配置项值及配置项类型,挖掘配置项之间的关联关系;[0061] S400,分析各配置项间的关联关系和约束关系,建立配置约束模板;[0062] S500,利用配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐。[0063] 根据本发明的一些实施例,步骤S100具体包括:[0064] S110,从代码网站中抓取软件系统的配置文件;[0065] S120,将配置文件中所有的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值;[0066] S130,将配置项名称和配置项值转换为key‑value格式的配置记录,并保存到本地配置库中。[0067] 在本发明的一些实施例中,步骤S200具体包括:[0068] S210,基于配置项值和正则表达式,通过语法匹配初步判断配置项类型;[0069] S220,对配置项类型的初步判断结果进行语义验证。[0070] 根据本发明的一些实施例,配置约束模板的配置约束至少包括以下之一:参数配置的需求、参数配置的规则、语义条件及参数配置的限制。[0071] 在本发明的一些实施例中,步骤S500包括:[0072] 对配置的配置项名称和配置项值进行检测,当配置项名称和/或配置项值与配置约束模板不匹配时,进行相应的配置错误提示。[0073] 根据本发明的一些实施例,步骤S500还包括:[0074] 在进行参数配置更新前,通过配置项关联规则分析获得强关联配置项,形成参数配置级联更新的目标合集和更新顺序;[0075] 根据参数配置的更新和取值设置,结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐。[0076] 如图3所示,根据本发明实施例的基于关联挖掘的智能化参数配置装置100,包括:配置项采集模块10、配置项类型推断模块20、配置关联挖掘模块30、配置约束生成模块40和智能化参数配置模块50。[0077] 其中,配置项采集模块10用于获取软件系统的配置文件,并解析配置文件获得各配置项的配置项名称以及配置项值;[0078] 配置项类型推断模块20用于基于配置项值,通过语法匹配和语义验证判断配置项类型;[0079] 配置关联挖掘模块30用于基于配置项名称、配置项值及配置项类型,挖掘配置项之间的关联关系;[0080] 配置约束生成模块40用于分析各配置项间的关联关系和约束关系,建立配置约束模板;[0081] 智能化参数配置模块50用于利用配置约束模板的约束配置进行配置项的错误检测、级联更新以及取值推荐。[0082] 根据本发明的一些实施例,配置项采集模块10具体用于:[0083] 从代码网站中抓取软件系统的配置文件;[0084] 将配置文件中所有的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值;[0085] 将配置项名称和配置项值转换为key‑value格式的配置记录,并保存到本地配置库中。[0086] 在本发明的一些实施例中,配置项类型推断模块20具体用于:[0087] 基于配置项值和正则表达式,通过语法匹配初步判断配置项类型;[0088] 对配置项类型的初步判断结果进行语义验证。[0089] 根据本发明的一些实施例,智能化参数配置模块50具体用于:[0090] 对配置的配置项名称和配置项值进行检测,当配置项名称和/或配置项值与配置约束模板不匹配时,进行相应的配置错误提示;[0091] 智能化参数配置模块50还用于:[0092] 在进行参数配置更新前,通过配置项关联规则分析获得强关联配置项,形成参数配置级联更新的目标合集和更新顺序;[0093] 根据参数配置的更新和取值设置,结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐。[0094] 本发明提出的基于关联挖掘的智能化参数配置方法及装置具有如下有益效果:[0095] 本发明基于配置项名称、配置项值和配置项类型挖掘配置项之间的关联关系,允许方便地建立所有配置项之间的关联关系。利用给定的大量样本数据进行配置训练,形成配置关联规则,通过配置项之间的关联规则和配置约束信息形成配置约束参数化模板,可以分析配置项之间的影响传播机制,可以有效的进行配置错误检测、配置项级联更新和配置项取值推荐,可以以直观以及便于分析的形式展现配置项的参考取值。[0096] 下面参照附图详细描述根据本发明的基于关联挖掘的智能化参数配置方法及装置。值得理解的是,下述描述仅是示例性描述,而不应理解为对本发明的具体限制。[0097] 图2为本发明基于关联挖掘的智能化参数配置方法的总体流程图,包括:[0098] 配置项采集模块10:读入软件系统的配置文件,将所有原始的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值。[0099] 具体的,一个完整的软件系统,往往需要依赖业界主流的中间件、数据库、应用服务器以及安全组件等基础服务,所以存在众多的配置文件,用来保证软件的正常使用。本发明通过从代码网站中抓取开源软件的配置文件。并将所有原始的配置信息应用配置解析模板进行解析得到配置项名称以及配置项值,将其保存为key‑value格式的配置记录。[0100] 配置项类型推断模块20:根据解析的配置项值和正则表达式推断配置项类型。[0101] 具体的,配置项类型通常包括:值类型、布尔类型和字符串类型,字符串类型又可以根据关键字来细分。本发明将每个配置项值和正则表达式进行匹配用于配置项类型识别。第一步先进行语法匹配,使用预定义的语法模式粗略猜测配置项类型。例如,任何包含斜杠的字符串都是潜在的文件路径类型。第二步进行语义验证,通过检查相应的外部资源(如文件系统)来验证类型。[0102] 例如,如果第一步将配置项类型分类为FilePath类型,则将搜索完整的文件系统数据来验证是否存在该路径。第一步匹配排除了不太可能的类型,使推理有效;第二步则保证了推理的准确性。语法匹配和语义验证的结合可以保证配置项类型推断的有效性和准确性。下表给出了部分典型配置项类型的详细信息。[0103] Type RegularExpressions SemanticFilePath /.+(/.+)* FileSystemUserName [a‑zA‑Z][a‑zA‑Z0‑9]* /etc/passwdGroupName [a‑zA‑Z][a‑zA‑Z0‑9]* /etc/groupIPAdress [\d]{1,3}(.[\d]{1,3}){3} ip、pingPortNumbe [\d]+ /etc/servicesFileName [\w‑]+.[\w‑]+ FileSystemNumber [0‑9]+[.0‑9]* N/AURL [a‑z]+://.* CurlPartialFilePath /?.+/(.+)* FileSystemMIMETypes [\w/‑.]+ IANA[3]Charset [\w]+ IANALanguage [a‑zA‑Z]{2} ISO639‑1Size [\d]+[KMGT] N/ABoolean ValuesSet N/A[0104] 配置关联挖掘模块30:根据配置项名称、取值特征以及配置项类型,分析挖掘配置项之间的关联关系。[0105] 具体的,首先根据预定义的配置类型模板,确定配置库中每个配置项的类型;然后将类型相同的配置项建立初步关联关系;最后,利用优化的关联规则算法FP‑growth进一步挖掘配置项之间的关联关系。[0106] 配置约束生成模块40:分析配置参数关联与配置项约束间的对应关系,建立配置约束的参数化模板表示方法,实现基于模板的配置约束生成机制。[0107] 配置约束描述了应用配置的需求、关联规则、语义条件或限制,是软件服务配置中需要遵循的一般规则和不变性特征的抽象,与配置参数的关联关系及其在系统中的使用方式密切相关,如:由配置参数关联产生的一致性约束、参数格式约束、取值范围约束等。[0108] 软件服务配置约束设计通过配置项模板来实现。用户可以使用软件配置项集的默认规则,也可以自定义配置模板规则,用户添加配置项时,通过配置项模板规则校验当前输入的配置项,若符合模板规则,则成功添加,若不符合,则提示错误信息。[0109] 基于模板的约束推理:[0110] 1)考虑到不同的软件对于同一配置项的取值要求可能不同,模板设置一个作用范围(全局共享的以及软件私有的),允许两种范围的配置项重名,优先级:私有>全局。2)取值范围的限制采用正则表达式进行约束。3)取值类型的限制,对于yml、properties、ini、xml等配置文件,对数值类型的取值做校验,判断出其是否为合法的数值,如果不是合法数值,则进行错误提示。4)提供屏蔽全局模板的策略。[0111] 基于配置项关联关系的约束推理:结合所计算的配置项关联规则,修改当前配置项时,需要检查是否存在强关联的配置项。若存在,则比对当前修改的配置项和强关联配置项的取值,若修改之后当前配置项和强关联的配置项关联关系变弱,则提示此次修改的配置项可能不合法。[0112] 智能化参数配置模块50:利用模板的约束配置完成配置项的错误检测、级联更新以及取值推荐。[0113] 软件服务中组件及其参数配置的关联性使得某一(或某些)参数配置的变化更新将会通过配置关联产生一定范围的级联传播和影响。因为配置复杂性而忽略或者遗漏受到影响的其他组件及其配置,将会导致关联组件间的配置不一致,从而引发系统故障。所以在每次进行配置更新前应该通过配置项的关联规则分析其影响域,获得会产生影响的强关联配置项,以此为依据形成参数配置级联更新的目标合集和更新顺序。根据参数配置的更新和取值设置,将结合约束配置模板,预测参数的取值范围,生成相应的取值推荐。[0114] 本发明利用配置文件对配置项之间的关联关系进行分析,与现有技术相比避免了复杂的程序分析,并且不需要源代码程序,有很大的应用场景。[0115] 本发明利用正则表达式进行配置项类型推断,充分挖掘了配置项名称所蕴含的语义信息,可以更好的挖掘配置项之间的关联关系。[0116] 本发明的基于关联挖掘的智能化参数配置方法可以通过所构建的配置约束参数化模板来进行配置项错误检测,可以提前发现配置项中所存在的问题,有效避免由于配置错误而导致的系统问题。[0117] 本发明的基于关联挖掘的智能化参数配置方法在配置更新时可以通过关联规则分析所影响的级联配置项,避免由于更新某一配置项而引发的与其存在强关联的配置项错误。[0118] 本发明的基于关联挖掘的智能化参数配置方法结合参数配置约束模板,预测参数的取值范围,生成相应的取值推荐,可以极大地方便配置项的修改和添加。[0119] 综上所述,本发明提出的基于关联挖掘的智能化参数配置方法及装置,基于配置项名称、配置项值和配置项类型挖掘配置项之间的关联关系,允许方便地建立所有配置项之间的关联关系。利用给定的大量样本数据进行配置训练,形成配置关联规则,通过配置项之间的关联规则和配置约束信息形成配置约束参数化模板,可以分析配置项之间的影响传播机制,可以有效的进行配置错误检测、配置项级联更新和配置项取值推荐,可以以直观以及便于分析的形式展现配置项的参考取值。[0120] 通过具体实施方式的说明,应当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图示仅是提供参考与说明之用,并非用来对本发明加以限制。

专利地区:北京

专利申请日期:2021-11-25

专利公开日期:2024-06-18

专利公告号:CN114327668B

电话咨询
读内容
搜本页
回顶部