一种统计文件系统中异步操作的方法、系统及相关装置与流程

文档序号:13513154阅读:435来源:国知局
一种统计文件系统中异步操作的方法、系统及相关装置与流程

本申请涉及文件系统领域,特别涉及一种统计文件系统中异步操作的方法、系统,以及一种计算机可读存储介质和一种终端。



背景技术:

文件系统中,由于需要保证高性能,因此其内部在处理请求的时候,往往采用异步方式来提高系统的并发性。但是,异步的处理方式在提高性能的时候,却会造成问题定位困难的现象。经常遇到正常的请求长时间无法完成的现象,却无法知道是因为哪一些异步处理操作过慢所导致。因此需要一种能统计异步操作的方法。

申请内容

本申请的目的是提供一种统计文件系统中异步操作的方法、系统及相关装置,解决现有技术中无法定位发生延迟的异步操作的问题。

为解决上述技术问题,本申请提供一种统计文件系统中异步操作的方法,具体技术方案如下:

获取所有所述异步操作的信息和对应的操作时间,并将所述信息存储于设定的数据结构;

判断所述异步操作的操作时间是否大于预设值;

若是,则利用查询接口统计所述异步操作的信息;

若否,则从所述数据结构中移除所述异步操作的信息和对应的操作时间。

其中,所述异步操作的信息包括所述异步操作的名称、所述异步操作具体的实例在内存中的地址、所述异步操作被调用时的文件名和行号和所述异步操作被调用时的时间。

其中,所述设定的数据结构为数据列表。

其中,利用查询接口统计所述异步操作的信息之后,还包括:

循环调用所述异步操作直至其操作时间小于所述预设值。

本申请还提供一种统计文件系统中异步操作的系统,包括:

获取模块,用于获取所有所述异步操作的信息和对应的操作时间,并将所述信息存储于设定的数据结构;

判断模块,用于判断所述异步操作的操作时间是否大于预设值;

统计模块,用于若所述异步操作的操作时间大于预设值,利用查询接口统计所述第二类异步操作的信息;

移除模块,用于若所述异步操作的操作时间小于预设值,从所述数据结构中移除所述异步操作的信息和对应的操作时间。

其中,所述系统还包括:

循环模块,用于循环调用所述异步操作直至其操作时间小于所述预设值。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如下步骤:

获取所有所述异步操作的信息和对应的操作时间,并将所述信息存储于设定的数据结构;

判断所述异步操作的操作时间是否大于预设值;

若是,则利用查询接口统计所述异步操作的信息;

若否,则从所述数据结构中移除所述异步操作的信息和对应的操作时间。

本申请还提供一种终端,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如下步骤:

获取所有所述异步操作的信息和对应的操作时间,并将所述信息存储于设定的数据结构;

判断所述异步操作的操作时间是否大于预设值;

若是,则利用查询接口统计所述异步操作的信息;

若否,则从所述数据结构中移除所述异步操作的信息和对应的操作时间。

本申请所提供的一种统计文件系统中异步操作的方法、系统及相关装置,所述方法包括:获取所有所述异步操作的信息和对应的操作时间,并将所述信息存储于设定的数据结构;判断所述异步操作的操作时间是否大于预设值;

若是,则利用查询接口统计所述异步操作的信息;若否,则从所述数据结构中移除所述异步操作的信息和对应的操作时间。通过获取所有的异步操作的相关信息,再将正常完成的异步操作移除,统计剩余发生延迟的异步操作,进而有效掌握到文件系统的核心操作,为系统后续的调试或升级提供有效的帮助。

附图说明

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

图1为本申请实施例所提供的一种统计文件系统中异步操作的方法的流程图;

图2为本申请实施例所提供的一种统计文件系统中异步操作的装置结构示意图。

具体实施方式

本发明的宗旨在于文件系统异步操作发起的时候,将异步操作的信息记录到特定的数据结构中,并提供查询接口,使得未完成的异步操作可查可知。

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

请参考图1,图1为本申请实施例所提供的一种统计文件系统中异步操作的方法的流程图,具体技术方案可以包括:

s101:获取所有所述异步操作的信息和对应的操作时间,并将所述信息存储于设定的数据结构;

在文件系统内部异步操作发起的时候,开始获取其信息和操作时间,该信息通常包括对定位该异步操作有益的相关信息,例如异步操作的名称、异步操作具体的实例在内存中的地址、被调用时的文件名与行号和被调用时的时间等,操作时间指的是该异步操作进行的总时间。当然还可以有其他信息,本领域的技术人员可以根据本方案的实际应用情况进行具体的设置,此处不进行具体的限定。

设定的数据结构用于存储异步操作的信息,在此并不对该数据结构的形式种类作限定,只要能存储异步操作的信息即可,例如可以为数据库中的数据列表等。

s102:判断所述异步操作的操作时间是否大于预设值;若是,进入步骤s103;若否,进入步骤s104;

此步骤的目的是根据异步操作的操作时间判断其是否发生延迟。当然,不同的异步操作的操作时间可能不一样,此处判断应当是本领域技术人员根据实际情况设置的预设值,利用异步操作的实际操作时间与该预设值相比较,进而判断是否发生延迟。当然还可以有其他判断异步操作是否发生延迟的方法,此处不作限定,都应在本申请的保护范围内。

若是,进入步骤s103;若否,进入步骤s104。

s103:利用查询接口统计所述异步操作的信息;

当操作时间超过预设值时,说明该异步操作发生延迟,此时利用查询接口可以获取到该异步操作的信息。当然,该步骤不一定需要在每次发现延迟的异步操作时均查询,可以在一段时间后统一对该段时间内发生延迟的异步操作进行统计,获取其操作的名称、已消耗时间和异步操作的发起者等等信息。例如可以周期性的统计操作时间是否大于预设值的异步操作,即发生延迟的异步操作,举例来说,可以设为每10s对延迟的异步操作进行统计,统计其名称、已消耗时间等信息。当然,该例子只是对异步操作进行统计的步骤进行的解释,本领域的技术人员可以根据本方案的实际应用情况进行具体的设置,此处不进行具体的限定。

在此,对如何统计异步操作的信息不作限定,可以将该信息显示到屏幕上,或者在列表中显示等等。此时,系统内部的延迟操作,都会具体的显示出来,使得对文件系统的当前运行情况更为可视化。

s104:从所述数据结构中移除所述异步操作的信息和对应的操作时间。

当操作时间没有超过预设值时,说明该异步操作正常,因此可以选择将其从上述的数据结构中移除,这样做的好处是便于对发生延迟的异步操作的统计。在此对如何移除以及移除的方式不作限定。

本申请实施例提供了一种统计文件系统中异步操作的方法方法,可以通过上述方法实现实时统计出文件系统当前未完成的异步操作,从而有效掌握到文件系统的核心操作,进而为系统后续的调试或升级工作提供有效的帮助。

基于上述实施例,在上述方法统计出延迟的异步操作后,还可以循环调用所述异步操作直至其操作时间小于所述预设值。目的是让延迟的异步操作重新操作,完成其未完成的任务。

参见图2,图2为本申请实施例所提供的一种统计文件系统中异步操作的装置结构示意图,可以包括:

获取模块100,用于获取所有所述异步操作的信息和操作时间,并将所述信息存储于设定的数据结构;

判断模块200,用于判断所述异步操作的操作时间是否大于预设值;

统计模块300,用于若所述异步操作的操作时间大于预设值,利用查询接口统计所述第二类异步操作的信息。

基于上述实施例,作为优选的实施例,所述系统还包括:

循环模块,用于循环调用所述异步操作直至其操作时间小于所述预设值。

本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供了一种终端,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述终端还可以包括各种网络接口,电源等组件。其中,终端的处理器用于提供计算和控制能力。该终端的存储器可以包括非易失性存储介质、内存储器。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的系统而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上对本申请所提供的一种统计文件系统中异步操作的方法、系统和相关装置进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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