一种docker容器的故障修复方法及相关装置与流程

文档序号:22808526发布日期:2020-11-04 04:16阅读:154来源:国知局
一种docker容器的故障修复方法及相关装置与流程

本申请涉及计算机技术领域,特别涉及一种docker容器的故障修复方法;还涉及一种docker容器的故障修复装置、设备以及计算机可读存储介质。



背景技术:

docker是paas提供商dotcloud开源的一个基于lxc的高级容器引擎,源代码托管在github上,基于go语言并遵从apache2.0协议开源。近年来,docker被广泛关注与应用,无论是github上的代码活跃度,还是redhat在rhel6.5中集成对docker的支持,等,均很好的反映出docker的应用现状。在docker容器的运行过程中,不可避免的会出现运行出错、容器出错等各类出错信息,此时,需要工程师花费大量的工作进行故障定位以及处理故障,尤其当需要异地进行故障定位与处理时,还需工程师出差前往故障现场解决故障,由此造成差旅以及开发成本的增加。

有鉴于此,如何节省成本并及时有效进行故障处理已成为本领域技术人员亟待解决的技术问题。



技术实现要素:

本申请的目的是提供一种docker容器的故障修复方法,能够实现对容器故障的自动定位与处理,降低人员工作量,节省成本。本申请的另一个目的是提供一种docker容器的故障修复装置、设备以及计算机可读存储介质,均具有上述技术效果。

为解决上述技术问题,本申请提供了一种docker容器的故障修复方法,包括:

采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;

对所述具有共同特征的故障数据进行数据预处理;

依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;

采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;

根据所述故障类型进行相应的故障处理。

可选的,所述对所述具有共同特征的故障数据进行数据预处理包括:

对具有共同特征的故障数据进行数据清洗、数据集成、数据交换以及数据规约处理。

可选的,所述对所述故障数据进行特征选择与特征提取包括:

采用过滤法、包裹法以及嵌入法中的任意一种对所述故障数据进行特征选择与特征提取。

可选的,所述采集故障数据包括:

从设备或系统的错误日志中采集故障数据。

可选的,还包括:

当docker容器发生故障时进行故障告警。

为解决上述技术问题,本申请还提供了一种docker容器的故障修复装置,包括:

数据采集模块,用于采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;

数据预处理模块,用于对所述具有共同特征的故障数据进行数据预处理;

模型构建模块,用于依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;

故障类型分析模块,用于采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;

故障处理模块,用于根据所述故障类型进行相应的故障处理。

可选的,所述数据预处理模块包括:

数据清洗单元,用于对故障数据进行数据清洗处理;

数据集成单元,用于对故障数据进行数据集成处理;

数据交换单元,用于对故障数据进行数据交换处理;

数据规约单元,用于对故障数据进行数据规约处理。

可选的,所述数据采集模块具体用于采用过滤法、包裹法以及嵌入法中的任意一种对所述故障数据进行特征选择与特征提取。

为解决上述技术问题,本申请还提供了一种docker容器故障修复设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上任一项所述的docker容器的故障修复方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的docker容器的故障修复方法的步骤。

本申请所提供的docker容器的故障修复方法,包括:采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;对所述具有共同特征的故障数据进行数据预处理;依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;根据所述故障类型进行相应的故障处理。可见,本申请所提供的docker容器的故障修复方法,采集故障数据并构建故障分析模型,进而通过故障分析模型实现容器故障的自动识别以及处理,而无需人工进行故障定位与处理,由此极大的降低了人员工作量,节省了差旅、开发以及测试成本。

本申请所提供的docker容器的故障修复装置、设备以及计算机可读存储介质均具有上述技术效果。

附图说明

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

图1为本申请实施例所提供的一种docker容器的故障修复方法的流程示意图;

图2为本申请实施例所提供的一种docker容器的故障修复装置的示意图;

图3为本申请实施例所提供的一种docker容器的故障修复设备的示意图。

具体实施方式

本申请的核心是提供一种docker容器的故障修复方法,能够实现对容器故障的自动定位与处理,降低人员工作量,节省成本。本申请的另一个核心是提供一种docker容器的故障修复装置、设备以及计算机可读存储介质,均具有上述技术效果。

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

请参考图1,图1为本申请实施例所提供的一种docker容器的故障修复方法的流程示意图,参考图1所示,该方法包括:

s101:采集故障数据,并对故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;

具体的,本申请通过采集故障数据,构建故障分析模型实现容器故障的自动识别与处理。步骤s101旨在采集故障数据,并在采集故障数据的基础上,对所采集的故障数据进行特征选择与特征提取,得到具有共同特征的故障数据。其中,故障数据可以包括系统宕机、运行出错、功能异常的所有错误信息。

另外,在一种具体的实施方式中,采集故障数据包括:从设备或系统的错误日志中采集故障数据。具体而言,设备或系统发生宕机等故障时,相应的错误信息会记录在错误日志中,故可直接从设备或系统的错误日志中获取故障数据。

对故障信息进行特征选择与特征提取是指去除各种故障冗余信息后,获取具有共同特征的故障数据。特征选择是自动地选择出对于问题最重要的特征子集的过程,特征提取是自动地对原始数据进行降维的过程。

并且,在一种具体的实施方式中,上述对故障数据进行特征选择与特征提取包括:采用过滤法、包裹法以及嵌入法中的任意一种对故障数据进行特征选择与特征提取。即可以选择过滤法、包裹法以及嵌入法中的任意一种进行特征选择与特征提取。对于采用过滤法、包裹法以及嵌入法进行特征选择与提取的具体实施过程,本申请在此不做赘述,参考现有的相关技术即可。此外,可以明白的是,除过滤法、包裹法以及嵌入法外,还可以采取其他同样可以实现特征选择与特征提取的方法。

s102:对具有共同特征的故障数据进行数据预处理;

具体的,在采集故障数据以及进行特征选择与特征提取的基础上,进一步对经特征选择与特征提取得到的具有共同特征的故障数据进行数据预处理,以后续依据预处理后的故障数据建立故障分析模型。

其中,在一种具体的实施方式中,上述对具有共同特征的故障数据进行数据预处理包括:对具有共同特征的故障数据进行数据清洗、数据集成、数据交换以及数据规约处理。

具体而言,数据清洗的目的在于去除其中的不合理数据、错误类型的数据等,不让不合理的数据进入后续的运算过程。例如,当故障数据几乎为整型时,去除其中的个别字符串类型。数据集成是指将多个数据源中的数据进行合并,形成统一的表格。当数据量比较大时,可存储于数据仓库中;当数据量不大时,可存储于文件中。数据变换是指寻找数据的特征表示,并用维度变换来减少有效的数据。数据规约是指寻找依赖于发现目标的表达数据的有用特征,以缩减数据模型,从而在尽可能精简数据量。

对于数据清洗、数据集成、数据交换以及数据规约的具体实施方式,本申请在此不做赘述,参考现有的相关技术即可。

s103:依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;

具体的,本步骤旨在构建故障分析模型,以后续通过此故障分析模型自动识别容器故障。具体而言,在完成上述数据特征选择与提取以及数据预处理的基础上,进一步依据数据预处理后的故障数据以及机器学习算法,通过进行模型训练得到故障分析模型。

s104:采集docker容器故障信息,并通过故障分析模型分析docker容器故障信息,得到相应的故障类型;

s105:根据故障类型进行相应的故障处理。

具体的,得到故障分析模型后,后续当docker容器发生故障时,采集docker容器故障信息,并将所采集的docker容器故障信息输入故障分析模型,进而通过故障分析模型分析docker容器故障信息,得到相应的故障类型。进一步,依据故障类型采取此故障类型对应的处理方式进行故障处理。其中,故障类型与故障的处理方式预先可建立对应关系并进行存储,当确定了故障类型后,即可查询对应的处理方式,并进行相应的故障处理。

进一步,为便于管理人员及时获知故障情况,在一种具体的实施方式中,当docker容器发生故障时还可进行故障告警,例如点亮故障指示灯等。

综上所述,本申请所提供的docker容器的故障修复方法,包括:采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;对所述具有共同特征的故障数据进行数据预处理;依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;根据所述故障类型进行相应的故障处理。该故障修复方法,采集故障数据并构建故障分析模型,进而通过故障分析模型实现容器故障的自动识别以及处理,而无需人工进行故障定位与处理,由此极大的降低了人员工作量,节省了差旅、开发以及测试成本。

本申请还提供了一种docker容器的故障修复装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图2,图2为本申请实施例所提供的一种docker容器的故障修复装置的示意图,结合图2所示,该装置包括:

数据采集模块10,用于采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;

数据预处理模块20,用于对所述具有共同特征的故障数据进行数据预处理;

模型构建模块30,用于依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;

故障类型分析模块40,用于采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;

故障处理模块50,用于根据所述故障类型进行相应的故障处理。

在上述实施例的基础上,可选的,所述数据预处理模块20包括:

数据清洗单元,用于对故障数据进行数据清洗处理;

数据集成单元,用于对故障数据进行数据集成处理;

数据交换单元,用于对故障数据进行数据交换处理;

数据规约单元,用于对故障数据进行数据规约处理。

在上述实施例的基础上,可选的,所述数据采集模块10具有用于采用过滤法、包裹法以及嵌入法中的任意一种对所述故障数据进行特征选择与特征提取。

在上述实施例的基础上,可选的,所述数据采集模块10具体用于从设备或系统的错误日志中采集故障数据。

在上述实施例的基础上,可选的,还包括:

告警模块,用于当docker容器发生故障时进行故障告警。

本申请还提供了一种docker容器的故障修复设备,参考图3所示,该设备包括存储器1和处理器2。

存储器1,用于存储计算机程序;

处理器2,用于执行计算机程序实现如下的步骤:

采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;对所述具有共同特征的故障数据进行数据预处理;依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;根据所述故障类型进行相应的故障处理。

对于本申请所提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下的步骤:

采集故障数据,并对所述故障数据进行特征选择与特征提取,得到具有共同特征的故障数据;对所述具有共同特征的故障数据进行数据预处理;依据进行数据预处理后的故障数据以及机器学习算法,构建故障分析模型;采集docker容器故障信息,并通过所述故障分析模型分析所述docker容器故障信息,得到相应的故障类型;根据所述故障类型进行相应的故障处理。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

对于本申请所提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

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

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本申请所提供的docker容器的故障修复方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1