磁盘空间预测方法、装置、计算机设备和存储介质与流程

文档序号:16935172发布日期:2019-02-22 20:38阅读:221来源:国知局
磁盘空间预测方法、装置、计算机设备和存储介质与流程
本发明涉及计算机
技术领域
,特别是涉及一种磁盘空间预测方法、装置、计算机设备和存储介质。
背景技术
:目前,企业中的系统运维工作都会涉及磁盘空间的维护,随着业务不断发展和系统在线上不断使用,磁盘的空间可能会耗尽,这将严重影响系统的正常运行,所以需要时刻关注磁盘的空间大小,以避免业务系统出现磁盘存储耗尽的情况。在传统技术中,对于工业界,通常都是采用基于阈值报警机制,这种情况通常预先设置一个阈值,如果超过阈值则产生报警,进而人工干预进行磁盘容量维护,从而保证系统的可靠性。但是这种设置阈值的方式不能对磁盘的存储空间做动态的预测,实际上当达到阈值进行报警时,磁盘的占用空间已经达到了阈值,无法实现提前的预警,不能从根本上解决避免磁盘空间耗尽的问题。技术实现要素:基于此,有必要针对上述技术问题,提供一种可以实现预测磁盘占用空间的磁盘空间预测方法、装置、计算机设备和存储介质。一种磁盘空间预测方法,所述方法包括:获取待预测磁盘空间的样本数据;对所述待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据;将所述预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果;对所述神经网络的预测结果进行后处理,得到磁盘空间的预测结果。在其中一个实施例中,在所述获取待预测磁盘空间的样本数据的步骤之前包括:获取磁盘空间的历史数据;对所述磁盘空间的历史数据进行预处理,得到预处理后的历史数据;根据所述预处理后的历史数据对神经网络模型进行训练,得到训练好的神经网络模型。在其中一个实施例中,所述神经网络模型为循环神经网络模型。在其中一个实施例中,所述对所述待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据的步骤包括:对所述待预测磁盘空间的样本数据进行n阶差分运算,得到处理后的样本数据,其中所述n为正整数。在其中一个实施例中,所述对所述神经网络的预测结果进行后处理,得到磁盘空间的预测结果的步骤包括:对所述神经网络的预测结果进行n阶差分逆运算,得到磁盘空间的预测结果。在其中一个实施例中,所述获取待预测磁盘空间的样本数据的步骤包括:从服务器获取预设的时间周期内的磁盘空间的样本数据;对所述样本数据进行间隔采样;将所述采样的时刻以及对应时刻的样本数据保存到样本数据列表中。一种磁盘空间预测装置,所述装置包括:第一获取模块,用于获取待预测磁盘空间的样本数据;第一预处理模块,用于对所述待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据;预测模块,用于将所述预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果;后处理模块,用于对所述神经网络的预测结果进行后处理,得到磁盘空间的预测结果。在其中一个实施例中,所述装置还包括:第二获取模块,用于获取磁盘空间的历史数据;第二预处理模块,用于对所述磁盘空间的历史数据进行预处理,得到预处理后的历史数据;训练模块,用于根据所述预处理后的历史数据对神经网络模型进行训练,得到训练好的神经网络模型。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。上述磁盘空间预测方法、装置、计算机设备和存储介质,通过获取待预测磁盘空间的样本数据,对待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据,将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果,对神经网络的预测结果进行后处理,得到磁盘空间的预测结果。本发明实现了对磁盘使用大小的预测判断,它克服了传统只能通过阈值进行报警的缺点,提供一个有效的磁盘空间预测方案,以防止因磁盘占用空间过大导致的系统处理效率降低等问题。附图说明图1为一个实施例中磁盘空间预测方法的应用场景图;图2为一个实施例中磁盘空间预测方法的流程示意图;图3为另一个实施例中磁盘空间预测方法的流程示意图;图4为另一个实施例中磁盘空间预测方法的流程示意图;图5为另一个实施例中磁盘空间预测方法的流程示意图;图6为一个实施例中磁盘空间预测装置的结构框图;图7为另一个实施例中磁盘空间预测装置的结构框图;图8为一个实施例中计算机设备的内部结构图;图9为一个实施例中磁盘空间的样本数据图;图10为一个实施例中磁盘空间的对样本数据处理后的数据图;图11为一个实施例中磁盘空间的预测结果数据图;图12为一个实施例中循环神经网络的结构示意图。具体实施方式为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一获取模块称为第二获取模块,且类似地,可将第二获取模块称为第一获取模块。第一获取模块和第二获取模块两者都是获取模块,但其不是同一获取模块。本发明实施例所提供的磁盘空间预测方法可应用到如图1所示的应用环境中。计算机设备110通过网络与服务器120连接,服务器120中包括有待预测的存储设备的存储空间数据。其中,该计算机设备110包括:个人电脑、大型计算机等任意一种计算机设备。计算机设备110获取服务器120中待预测磁盘空间的样本数据。计算机设备110对待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据。计算机设备110将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果。计算机设备110对神经网络的预测结果进行后处理,得到磁盘空间的预测结果。在一个实施例中,如图2所示,提供了一种磁盘空间预测方法,以该方法应用于图1中的磁盘空间预测装置中为例进行说明,该方法包括:步骤202,获取待预测磁盘空间的样本数据。步骤204,对待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据。步骤206,将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果。步骤208,对神经网络的预测结果进行后处理,得到磁盘空间的预测结果。具体地,计算机设备获取服务器中待预测磁盘空间的样本数据。计算机设备对待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据。由于磁盘空间大小随时间的序列数据是不平稳的,例如图9中所示,其中横坐标表示时刻,单位为2个小时,纵坐标表示磁盘使用量,单位为g。可以看到磁盘空间大小随时间的序列数据是不平稳的,问了解决数据不平稳的问题,需要对待预测磁盘空间的样本数据进行预处理,例如:进行一阶差分处理,使得处理后的序列更加平稳,例如图10中所示。计算机设备将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果。计算机设备对神经网络的预测结果进行后处理,得到磁盘空间的预测结果。最终通过循环神经网络训练后的预测结果大致如图11所示,横坐标0-60对应的为样本集,横坐标60-100对应的为预测的结果,由此可见,几乎能较准确预测未来的走势。由于之前对待预测磁盘空间的样本数据进行过预处理,因此,在得到神经网络的预测结果后还要对神经网络的预测结果进行后处理,可以理解的是,该后处理的步骤是对待预测磁盘空间的样本数据进行预处理的逆向步骤,例如:预处理为进行一阶差分,则在后处理中所执行的运算就是一阶差分逆运算。在本实施例中,通过获取待预测磁盘空间的样本数据,对待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据,将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果,对神经网络的预测结果进行后处理,得到磁盘空间的预测结果。本实施例实现了对磁盘使用大小的预测判断,它克服了传统只能通过阈值进行报警的缺点,提供一个有效的磁盘空间预测方案,以防止因磁盘占用空间过大导致的系统处理效率降低等问题。在一个实施例中,提供了一种磁盘空间预测方法,如图3所述,该方法中在获取待预测磁盘空间的样本数据的步骤之前包括:步骤302,获取磁盘空间的历史数据。步骤304,对磁盘空间的历史数据进行预处理,得到预处理后的历史数据。步骤306,根据预处理后的历史数据对神经网络模型进行训练,得到训练好的神经网络模型。具体地,计算机设备在使用神经网络进行预测之前,需要对神经网络进行训练,训练的步骤包括:首先,计算机设备获取磁盘空间的历史数据。然后,对磁盘空间的历史数据进行预处理,得到预处理后的历史数据。最后,根据预处理后的历史数据对神经网络模型进行训练,得到训练好的神经网络模型。通常来说,获取的磁盘空间的历史数据,为磁盘最近一段时间区域内的磁盘使用情况,该数据的数据量越丰富,训练出来的神经网络模型的预测结果越准确。在其中一个具体的实施例中,神经网络模型为循环神经网络模型。具体地,请参照图12,图12为循环神经网络的结构示意图,图中左边的是简洁表示形式,其中xt表示的是t个时刻的输入,a表示隐含层状态,可以看到前一时刻的隐含状态是要带入到下一时刻的隐含状态中的,ht表示的是t个时刻的输出。如果展开结构图则为右边所示,x0,x1,x2,...,xt为输入,而h0,h1,h2,...,ht分别为输出。在本实施例中,通过磁盘空间的历史数据对神经网络模型进行训练,使得得到的训练好的神经网络模型可以更准确的预测磁盘空间,提高预测的可靠性和准确性。在一个实施例中,提供了一种磁盘空间预测方法,如图4所示,该方法包括:步骤402,获取待预测磁盘空间的样本数据。步骤404,对待预测磁盘空间的样本数据进行n阶差分运算,得到处理后的样本数据。步骤406,将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果。步骤408,对神经网络的预测结果进行n阶差分逆运算,得到磁盘空间的预测结果。具体地,计算机设备获取待预测磁盘空间的样本数据。对待预测磁盘空间的样本数据进行n阶差分运算,得到处理后的样本数据。其中,n为正整数,例如一阶差分。将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果。对神经网络的预测结果进行n阶差分逆运算,得到磁盘空间的预测结果。其中,n为正整数,例如一阶差分逆运算。可以理解的是,计算机在执行上述运算步骤可通过相应的程序执行,例如,使用python、matplotlib和tensorflow进行实现。在本实施例中,通过获取待预测磁盘空间的样本数据,对待预测磁盘空间的样本数据进行n阶差分运算,得到处理后的样本数据,将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果,对神经网络的预测结果进行n阶差分逆运算,得到磁盘空间的预测结果。本实施例实现了对磁盘使用大小的预测判断,它克服了传统只能通过阈值进行报警的缺点,提供一个有效的磁盘空间预测方案,以防止因磁盘占用空间过大导致的系统处理效率降低等问题。在一个实施例中,提供了一种磁盘空间预测方法,如图5所示,该方法中获取待预测磁盘空间的样本数据的步骤包括:步骤502,从服务器获取预设的时间周期内的磁盘空间的样本数据。步骤504,对样本数据进行间隔采样。步骤506,将采样的时刻以及对应时刻的样本数据保存到样本数据列表中。具体地,计算机设备从服务器上收集近期的磁盘空间数据,比如一周或一个月的数据,使用近期的数据作为样本能更准确。另外,该数据样本的采样时间间隔为1小时,将其按照时间排列起来,比如某一周的数据,如下表所示,每一天的第一小时认为是第一时刻,第二小时认为是第二时刻,以此类推,一周一共有168个时刻。时间时刻磁盘空间第一天第一小时150第一天第二小时252第一天第三小时353.........第7天第一小时168200在本实施例中,通过从服务器获取预设的时间周期内的磁盘空间的样本数据,对样本数据进行间隔采样,将采样的时刻以及对应时刻的样本数据保存到样本数据列表中,实现了对磁盘空间的有效预测。应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。在一个实施例中,如图6所示,提供了一种磁盘空间预测装置600,该装置包括:第一获取模块601,用于获取待预测磁盘空间的样本数据;第一预处理模块602,用于对待预测磁盘空间的样本数据进行预处理,得到处理后的样本数据;预测模块603,用于将预处理后的样本数据输入到训练好的神经网络模型中,得到神经网络的预测结果;后处理模块604,用于对神经网络的预测结果进行后处理,得到磁盘空间的预测结果。在一个实施例中,如图7所示,提供了一种磁盘空间预测装置600,该装置还包括:第二获取模块605,用于获取磁盘空间的历史数据;第二预处理模块606,用于对磁盘空间的历史数据进行预处理,得到预处理后的历史数据;训练模块607,用于根据预处理后的历史数据对神经网络模型进行训练,得到训练好的神经网络模型。在一个实施例中,该神经网络模型为循环神经网络模型。在一个实施例中,第一预处理模块602,还用于对待预测磁盘空间的样本数据进行n阶差分运算,得到处理后的样本数据,其中n为正整数。在一个实施例中,后处理模块604,还用于对所述神经网络的预测结果进行n阶差分逆运算,得到磁盘空间的预测结果。在一个实施例中,第一获取模块601,还用于:从服务器获取预设的时间周期内的磁盘空间的样本数据;对样本数据进行间隔采样;将采样的时刻以及对应时刻的样本数据保存到样本数据列表中。关于磁盘空间预测装置的具体限定可以参见上文中对于磁盘空间预测方法的限定,在此不再赘述。在一个实施例中,提供了一种计算机设备,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器以及网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种磁盘空间预测方法。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以上各个方法实施例中的步骤。在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上各个方法实施例中的步骤。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1