内核配置项异常值的检测方法及装置制造方法及图纸

技术编号:36536727 阅读:41 留言:0更新日期:2023-02-01 16:22
本发明专利技术公开了一种内核配置项异常值检测方法及装置。所述方法包括:构建内核默认配置数据集;遍历待检测内核配置文件中所有内核配置项的名称、取值,并结合所述内核默认配置数据集补充未在待检测内核配置文件中出现的配置项取值,以构建待检测配置数据集V;将所述待检测配置数据集V与所述内核默认配置数据集中的配置项进行比较,得到所述待检测内核配置文件的异常检测结果。本发明专利技术基于内核社区和主流发行版的内核默认配置建立数据集进行异常值检测,能够检测出满足配置项依赖关系、却不恰当配置的异常值,减少配置误操作或遗漏的可能性,提高内核配置成功率。提高内核配置成功率。提高内核配置成功率。

【技术实现步骤摘要】
内核配置项异常值的检测方法及装置


[0001]本专利技术属于计算机软件
;涉及对Linux内核配置文件检查情景,提出了一种内核配置项异常值检测方法及装置。

技术介绍

[0002]Linux内核是最著名的大型复杂、高度可配置开源系统之一,内核社区贡献者数量相当庞大且发展迅速,内核源码及其子系统呈现超线性增长态势,代码行数超过2800万行,配置选项接近18000个。Linux内核配置涉及到内核组态,包括CPU体系架构、块设备、加密、设备驱动、文件系统、内存管理、网络、安全、虚拟化等方方面面的问题,很少开发者能够对所有这些问题或特性都十分了解。除了内核巨大的配置空间以外,配置项之间还存在复杂的依赖约束,因此在人工配置内核过程中很容易出错。内核配置出现异常,很容易造成系统功能无法正常使用或影响软件性能、以及其它不可预知的问题。
[0003]现有内核配置项检测技术主要解决的问题可以分为两类,一类是配置与实现一致性缺陷,这是由于内核大规模配置可变性带来的代码实现缺陷,通过检查内核配置模型与代码实现的配置项不匹配问题,旨在提高Linux源代码质本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种内核配置项异常值检测方法,其特征在于,所述方法包括:收集内核源码及相应的内核默认配置文件,以得到内核配置数据;基于CPU架构与应用场景,分类所述内核配置数据,并依据内核版本发展对分类后的内核配置数据排序;统计所述内核配置数据中各配置项值在历史版本中的变化情况,对中间版本中跳变的异常值和最新版本中跳变的异常值进行修复,以生成内核默认配置数据集;遍历待检测内核配置文件中所有内核配置项的名称、取值,并结合所述内核默认配置数据集补充未在待检测内核配置文件中出现的配置项取值,以构建待检测配置数据集V;将所述待检测配置数据集V与所述内核默认配置数据集中的配置项进行比较,得到所述待检测内核配置文件的异常检测结果。2.如权利要求1所述的方法,其特征在于,所述收集内核源码及相应的内核默认配置文件,以得到内核配置数据,包括:基于所述CPU架构与所述应用场景,收集Linux内核社区、主流发行版的内核源码及相应的内核默认配置文件;从所述内核源码中抽取配置项名称,构建配置项全集;基于所述内核默认配置文件,获取所述配置项全集中部分配置项名称的取值;针对所述配置项全集中没有取值的配置项,赋值配置项为关闭,以得到内核配置数据。3.如权利要求1所述的方法,其特征在于,基于CPU架构与应用场景,分类所述内核配置数据,包括:基于内核配置文件中的注释行,得到所述内核配置数据对应的CPU架构;基于内核配置文件中的内核config文件名,得到所述内核配置数据对应的应用场景;对无法标识CPU架构或应用场景的内核配置数据,进行人为重命名。4.如权利要求1所述的方法,其特征在于,所述对中间版本中跳变的异常值进行修复,包括:比较中间版本与前后版本的配置项取值;在中间版本与前后版本的配置项值取值相同的情况下,判断中间版本未跳变;在中间版本与前后版本的配置项值不相同的情况下,针对中间版本中配置项新值,计算中间版本与前后版本的版本数量;在中间版本的版本数量大于前后版本中一版本的版本数量的情况下,或中间版本的版本数量与前后版本的版本数量之和的比值不小于一第一阈值,判断中间版本未跳变;在中间版本的版本数量小于前后版本中任一版本的版本数量的情况下,且中间版本的版本数量与前后版本的版本数量之和的比值小于一第一阈值,则将中间版本配置项的取值与配置的最终值、其它发行版配置历史值比较;在中间版本配置项的取值与配置的最终值相同、或中间版本配置项的取值与其它发行版配置历史值相同的情况下,判断中间版本未跳变;在中间版本配置项的取值与配置的最终值不相同、且中间版本配置项的取值与其它发行版配置历史值不相同的情况下,判断中间版本跳变;核查中间版本中配置项的异常值,并进行修正。5.如权利要求1所述的方法,其特征在于,所述对最新版本中跳变的异常值进行修复,
包括:比较最新版本与历史版本中的配置项取值;在最新版本与历史版本中的配置项取值相同的情况下,判断最新版本未跳变;在最新版本与历史版本的配置项值不相同的情况下,计算最新版本与历史版本的版本数量;在最新版本的版本数量大于历史版本中一版本的版本数量,或最新版本的版本数量与历史版本的版本数量的比值不小于一第二阈值的情况下,判断最新版本未跳变;在最新版本的版本数量小于前后版本中任一版本的版本数量,且最新版本的版本数量与历史版本的版本数量的比值小于一第二阈值的情况下,将最新版本配置项的取值与其他发行版本相同版本范围中配置项最新值比较;在最新版本配置项的取值与其...

【专利技术属性】
技术研发人员:孙滢侯朋朋于佳耕黄山云马成宇纪贤松武延军
申请(专利权)人:中科南京软件技术研究院
类型:发明
国别省市:

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

1