一种实时监测文件系统异常的方法、装置及存储介质与流程

文档序号:23984119发布日期:2021-02-20 11:29阅读:56来源:国知局
[0001]本发明涉及文件系统领域,尤其是涉及一种实时监测文件系统异常的方法、装置及存储介质。
背景技术
::[0002]在存储介质,如硬盘上的文件系统在读写过程中,若出现断电或拔盘的情况,则容易导致文件系统损坏。[0003]为了保证文件系统正常可用,需要对文件系统进行检测、修复,而由于文件系统的检测需要读取、校验大量数据,因此耗时较久。[0004]在现有技术中,要么在系统启动过程中检测文件系统,要么在预设的时间检测文件系统,由于承载文件系统的存储设备相较于cpu和内存而言为低速设备,使得在读取存储设备中的数据进行文件系统检测时需要消耗大量的时间,从而难以及时发现文件系统在使用中出现的异常情况。[0005]鉴于此,如何快速、实时的监测文件系统中存在的异常成为一个亟待解决的技术问题。技术实现要素:[0006]本发明提供一种实时监测文件系统异常的方法、装置及存储介质,用以解决现有技术中存在的难以及时发现文件系统在使用中出现异常的技术问题。[0007]第一方面,为解决上述技术问题,本发明实施例提供的一种实时监测文件系统异常的方法,该方法的技术方案如下:[0008]确定文件系统中当前为活动状态的文件系统实例;[0009]获取所述文件系统实例正在访问的元数据;[0010]对所述元数据进行校验,以确定所述文件系统是否存在异常。[0011]通过对文件系统中当前为活动状态的文件系统实例正在访问的元数据进行校验,来确定文件系统是否存在异常,使得在对文件系统进行实时检测时使用的是原本就要访问的元数据(即文件系统运行过程中实时访问到的元数据)进行校验,从而无需为了检测文件系统异常而读取额外数据,进而在不影响文件系统业务存储性能的基础上,能及时发现文件系统运行过程中任意时刻发生的异常,实现快速、实时的监测文件系统中存在异常的技术效果。[0012]一种可能的实施方式,获取所述文件系统实例正在访问的元数据,包括:[0013]从本地的内存中,读取对所述文件系统实例正在读写和访问的文件的文件属性或文件特征进行描述的数据,作为所述元数据。[0014]通过从本地的内存中,读取对文件系统实例正在读写和访问的文件的文件属性或文件特征进行描述的数据,作为元数据,可以确保该元数据为文件系统实例正在访问的元数据。[0015]一种可能的实施方式,对所述元数据进行校验,以确定所述文件系统是否存在异常,包括:[0016]对所述元数据的完整性和准确性进行校验;[0017]若所述完整性和所述准确性均校验成功,则确定所述文件系统不存在异常,否则,确定所述文件系统存在异常。[0018]通过对文件系统实例正在访问的元数据进行完整性和准确性的校验,可以减小校验元数据的数据量、并快速获得校验结果,能够有效的提高实施监测文件系统是否存在异常的速率。[0019]一种可能的实施方式,确定所述文件系统存在异常后,还包括:[0020]向文件系统事件中心报告异常信息,所述异常信息为与所述元数据校验失败相关的信息。[0021]一种可能的实施方式,所述方法还包括:[0022]周期性的从所述文件系统事件中心获取所述文件系统所有的异常信息;[0023]将所述所有的异常信息通知用户。[0024]通过周期性的从文件系统事件中心获取文件系统所有的异常信息,并将所有的异常信息通知给用户,可以让用户及时了解文件系统中存在的异常。[0025]一种可能的实施方式,所述文件系统包括日志文件系统xfs、第四代扩展文件系统ext4、fat32、新技术文件系统ntfs。[0026]一种可能的实施方式,所述元数据包括文件系统超级块、inode节点信息、文件系统空闲/已分配空间管理信息、文件管理信息、目录项信息。[0027]第二方面,本发明实施例提供了一种实时监测文件系统异常的装置,包括:[0028]确定单元,用于确定文件系统中当前为活动状态的文件系统实例;[0029]获取单元,用于获取所述文件系统实例正在访问的元数据;[0030]校验单元,用于对所述元数据进行校验,以确定所述文件系统是否存在异常。[0031]一种可能的实施方式,所述获取单元具体用于:[0032]从本地的内存中,读取对所述文件系统实例正在读写和访问的文件的文件属性或文件特征进行描述的数据,作为所述元数据。[0033]一种可能的实施方式,所述校验单元具体用于:[0034]对所述元数据的完整性和准确性进行校验;[0035]若所述完整性和所述准确性均校验成功,则确定所述文件系统不存在异常,否则,确定所述文件系统存在异常。[0036]一种可能的实施方式,所述装置还包括报告单元,所述报告单元用于:[0037]向文件系统事件中心报告异常信息,所述异常信息为与所述元数据校验失败相关的信息。[0038]一种可能的实施方式,所述报告单元还用于:[0039]周期性的从所述文件系统中心获取所述文件系统所有的异常信息;[0040]将所述所有的异常信息输出通知用户。[0041]一种可能的实施方式,所述文件系统包括日志文件系统xfs、第四代扩展文件系统ext4、fat32、新技术文件系统ntfs。[0042]一种可能的实施方式,所述元数据包括文件系统超级块、inode节点信息、文件系统空闲/已分配空间管理信息、文件管理信息、目录项信息。[0043]第三方面,本发明实施例还提供一种实时监测文件系统异常的装置,包括:[0044]至少一个处理器,以及[0045]与所述至少一个处理器连接的存储器;[0046]其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面所述的方法。[0047]第四方面,本发明实施例还提供一种可读存储介质,包括:[0048]存储器,[0049]所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面所述的方法。[0050]通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:[0051]在本发明提供的实施例中,通过对文件系统中当前为活动状态的文件系统实例正在访问的元数据进行校验,来确定文件系统是否存在异常,使得在对文件系统进行实时检测时使用的是原本就要访问的元数据(即文件系统运行过程中实时访问到的元数据)进行校验,从而无需为了检测文件系统异常而读取额外数据,进而在不影响文件系统业务存储性能的基础上,能及时发现文件系统运行过程中任意时刻发生的异常,实现快速、实时的监测文件系统中存在异常的技术效果。附图说明[0052]图1为本发明实施例提供的一种实时监测文件系统异常的方法的流程图;[0053]图2为本发明实施例提供的一种实时监测文件系统异常装置的结构示意图。具体实施方式[0054]本发明实施列提供一种实时监测文件系统异常的方法、装置及存储介质,用以解决现有技术中存在的难以及时发现文件系统在使用中出现异常的技术问题。[0055]本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:[0056]提供一种实时监测文件系统异常的方法,包括:确定文件系统中当前为活动状态的文件系统实例;获取文件系统实例正在访问的元数据;对元数据进行校验,以确定文件系统是否存在异常。[0057]由于在上述方案中,通过对文件系统中当前为活动状态的文件系统实例正在访问的元数据进行校验,来确定文件系统是否存在异常,使得在对文件系统进行实时检测时使用的是原本就要访问的元数据(即文件系统运行过程中实时访问到的元数据)进行校验,从而无需为了检测文件系统异常而读取额外数据,进而在不影响文件系统业务存储性能的基础上,能及时发现文件系统运行过程中任意时刻发生的异常,实现快速、实时的监测文件系统中存在异常的技术效果。[0058]需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。[0059]本发明实施例中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。[0060]本发明中的实施例只用于解释本发明,而不能用于限制本发明,凡是符合本发明思想的实施例均在本发明的保护范围之内,本领域技术人员自然知道应如何根据本发明的思想进行变形。[0061]为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。[0062]请参考图1,本发明实施例提供一种实时监测文件系统异常的方法,该方法的处理过程如下。[0063]步骤101:确定文件系统中当前为活动状态的文件系统实例。[0064]在本发明提供的实施例中,文件系统可以是计算机(包括台式机、便携式计算机、服务器、平板电脑)中的文件系统,也可以是存储设备(如移动硬盘、u盘、光盘、固态硬盘、存储阵列)中的文件系统,也可以是移动通信设备(如手机)中的文件系统,也可以是音乐播放器中文件系统,也可以是医学影像设备中的文件系统,还可以是可穿戴设备中的文件系统等。[0065]操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。[0066]例如,文件配置表(fileallocationtable,fat),包括fat16、fat32是在win9x下常用的文件系统,新技术文件系统(newtechnologyfilesystem,ntfs)是windowsnt所采用的独特的文件系统,光盘文件系统(compactdiscfilesystem,cdfs)是大部分的光盘的文件系统,延伸文件系统(extendedfilesystem,ext)是gnu/linux系统中标准的文件系统等。[0067]在本发明提供的实施例中,文件系统包括日志文件系统(xfs)、第四代扩展文件系统(ext4)、fat32、新技术文件系统(ntfs),但不限于这些文件系统。[0068]以linux为例,linux内核代码中已支持多种文件系统,当格式化了这些文件系统中的某种文件系统的硬盘接入后,该盘上的文件系统实例从挂载开始运行,直至卸载结束运行,这期间该文件系统实例为活动状态。[0069]步骤102:获取文件系统实例正在访问的元数据。[0070]在本发明提供的实施例中,元数据包括文件系统超级块、inode节点信息、文件系统空闲/已分配空间管理信息、文件管理信息、目录项信息,但不限于这些元数据。[0071]元数据可以用来描述数据的属性,如指示存储位置、历史数据、资源查找、文件记录等,还可以用来描述一个文件的特征的,如访问权限、文件拥有者以及文件数据块的分布信息,分布信息包括文件在磁盘上的位置,用户需要操作一个文件必须首先得到它的元数据,才能定位到文件的位置并且得到文件的内容或相关属性。[0072]在文件系统实例运行期间(即活动状态的文件系统实例)会访问文件系统超级块、inode节点及其它与文件系统运行依赖的元数据。[0073]获取文件系统实例正在访问的元数据,可以从本地的内存中,读取对文件系统实例正在读写和访问的文件的文件属性或文件特征进行描述的数据,作为元数据。[0074]例如,当文件系统运行过程中通过读写文件,或记录文件系统日记等方式,获取到的正在读写和访问的文件的文件属性或文件特征进行描述的数据为文件系统实例正在访问的元数据,也就是本申请实施例中需要校验的元数据。[0075]通过从本地的内存中,读取对文件系统实例正在读写和访问的文件的文件属性或文件特征进行描述的数据,作为元数据,可以确保该元数据为文件系统实例正在访问的元数据。[0076]步骤103:对元数据进行校验,以确定文件系统是否存在异常。[0077]例如,元数据1为文件系统1当前运行过程在需要访问的元数据,元数据2为文件系统1当前运行过程中不需要访问的元数据,则只对元数据1进行校验,而不对元数据2进行校验。[0078]又如,在前一时刻元数据3为文件系统1访问的元数据,元数据4未被为文件系统1访问,而在当前时刻元数据4为文件系统1访问的元数据,而元数据3未被文件系统1访问,则在当前时刻对元数据4进行校验,而不对元数据3进行校验。[0079]对元数据进行校验可以是对元数据的完整性和准确性进行校验;若完整性和准确性均校验成功,则确定文件系统不存在异常,否则,确定文件系统存在异常。[0080]例如,当前从本地的内存中获取了元数据1,对元数据1的完整性和准确性分别进行校验,若校验结果为完整性校验成功而准确性校验不成功,则确定元数据1所在的文件系统存在异常。[0081]又如,当前从本地的内存中获取了元数据2,对元数据2的完整性和准确性分别进行校验,若校验结果为完整性校验不成功而准确性校验成功,则确定该元数据2所在的文件系统存在异常。[0082]再如,当前从本地的内存中获取了元数据3,对元数据3的完整性和准确性分别进行校验,若校验结果为完整性校验成功而准确性校验成功,则确定该元数据3所在的文件系统不存在异常。[0083]通过对文件系统实例正在访问的元数据进行完整性和准确性的校验,可以减小校验元数据的数据量、并快速获得校验结果,能够有效的提高实施监测文件系统是否存在异常的速率。[0084]一种可能的实施方式,在确定文件系统存在异常后,还可以向文件系统事件中心报告异常信息,异常信息为与元数据校验失败相关的信息。[0085]文件系统事件中心是一个内核模块,它在内核启动阶段被加载,负责接收文件系统发送的异常事件。[0086]异常信息包括文件系统所在的设备名(硬盘、卷)和文件系统类型等。[0087]文件系统事件中心在接收到包含异常信息的文件系统事件后,文件系统事件中心会先判断该文件系统事件是否已被记录,若已被记录则直接丢弃该文件系统事件,若未被记录则将该文件系统事件记录在内部链表中,这样可以避免存储重复相同的文件系统事件。[0088]系统中的上层业务通过用户接口获取文件系统事件中心中记录的文件系统状态,这样能够方便用户随时了解文件系统中存在的异常情况,并且可以根据异常情况进行相关处理。[0089]一种可能的实施方式,可以周期性的从文件系统事件中心获取文件系统所有的异常信息;将所有的异常信息通知给用户。[0090]例如,可以每隔1小时从文件系统事件中心获取文件系统所有的异常信息,并将所有的异常信息通知给用户。也可以每隔1天从文件系统事件中心获取文件系统所有的异常信息,并将所有的异常信息通知给用户。具体获取异常信息的周期可以由用户自由设定。[0091]通过周期性的从文件系统事件中心获取文件系统所有的异常信息,并将所有的异常信息通知给用户,可以让用户及时了解文件系统中存在的异常。[0092]基于同一发明构思,本发明一实施例中提供一种实时监测文件系统异常的装置,该装置的实时监测文件系统异常的方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图2,该装置包括:[0093]确定单元201,用于确定文件系统中当前为活动状态的文件系统实例;[0094]获取单元202,用于获取所述文件系统实例正在访问的元数据;[0095]校验单元203,用于对所述元数据进行校验,以确定所述文件系统是否存在异常。[0096]一种可能的实施方式,所述获取单元202具体用于:[0097]从本地的内存中,读取对所述文件系统实例正在读写和访问的文件的文件属性或文件特征进行描述的数据,作为所述元数据。[0098]一种可能的实施方式,所述校验单元203具体用于:[0099]对所述元数据的完整性和准确性进行校验;[0100]若所述完整性和所述准确性均校验成功,则确定所述文件系统不存在异常,否则,确定所述文件系统存在异常。[0101]一种可能的实施方式,所述装置还包括报告单元204,所述报告单元204用于:[0102]向文件系统事件中心报告异常信息,所述异常信息为与所述元数据校验失败相关的信息。[0103]一种可能的实施方式,所述报告单元204还用于:[0104]周期性的从所述文件系统中心获取所述文件系统所有的异常信息;[0105]将所述所有的异常信息输出通知用户。[0106]一种可能的实施方式,所述文件系统包括日志文件系统xfs、第四代扩展文件系统ext4、fat32、新技术文件系统ntfs。[0107]一种可能的实施方式,所述元数据包括文件系统超级块、inode节点信息、文件系统空闲/已分配空间管理信息、文件管理信息、目录项信息。[0108]基于同一发明构思,本发明实施例中提供了一种实时监测文件系统异常的装置,包括:至少一个处理器,以及[0109]与所述至少一个处理器连接的存储器;[0110]其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的实时监测文件系统异常的方法。[0111]处理器可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。[0112]基于同一发明构思,本发明实施例还提一种可读存储介质,包括:[0113]存储器,[0114]所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的实时监测文件系统异常的方法。[0115]存储器可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可以理解的是,存储器可以为随机存储器(random-accessmemory,ram)、磁碟、硬盘、固态硬盘(solidstatedisk,ssd)或者非易失性存储器等各种可以存储程序代码的机器可读介质。[0116]本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0117]本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0118]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0119]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0120]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1