CN110955639A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN110955639A CN110955639A CN201911054735.1A CN201911054735A CN110955639A CN 110955639 A CN110955639 A CN 110955639A CN 201911054735 A CN201911054735 A CN 201911054735A CN 110955639 A CN110955639 A CN 110955639A
- Authority
- CN
- China
- Prior art keywords
- identification information
- cache space
- time period
- input
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
Abstract
本申请提供一种数据处理方法及装置,所述方法收到客户端发送的输入/输出请求之后,获取输入/输出请求中携带的待操作文件的标识信息;判断已用缓存空间中是否有预先存储的标识信息对应的元数据信息,如果已用缓存空间中有预先存储的标识信息对应的元数据信息,则根据元数据信息对所述待操作文件进行输入/输出操作。上述技术方案通过预先将元数据信息存储在已用缓存空间中,节省了在接收到输入/输出请求后从硬盘读取元数据信息的时间,从而可以减少输入/输出的操作时间,提高处理效率和响应速度。
Description
技术领域
本发明涉及计算机领域,尤其涉及数据处理方法及装置。
背景技术
NFS(Network File System,网络文件系统)服务是NAS(Network AttachedStorage,网络附属存储)共享服务中经常使用的文件共享访问方式之一,NFS服务进程在进行读写操作之前需要先从硬盘中读取待操作文件的元数据信息,而从硬盘中读取元数据信息需要花费一定的时间。
发明内容
本申请所要解决的技术是提供一种数据处理方法及装置,可以减少输入/输出的操作时间,提高处理效率和响应速度。
为了解决上述技术问题,本申请提供了一种数据处理方法,应用于网络文件系统NFS服务端,所述方法包括:
当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;
判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。
可选地,所述方法还包括:
按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息;
其中,一个自然日划分为M个时间段,M为大于1的正整数;
所述请求信息包括该时间段内接收到的输入/输出请求的请求总数量、该时间段内接收到的每个输入/输出请求对应的待操作文件的标识信息以及每个标识信息对应的访问次数。
可选地,所述按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息包括:
在统计开始前,将上一次统计的每个时间段对应的请求总数量以及每个标识信息对应的访问次数清零;
在统计开始后,对于一个自然日内接收到的每一个输入/输出请求,进行如下操作:
确定所述输入/输出请求的当前时间所属的时间段;
修改所述时间段对应的请求信息;
其中,所述修改所述时间段对应的请求信息包括:
将请求总数量增加1;
如果所述时间段对应的请求信息中已记录所述输入/输出请求携带的待操作文件的标识信息,则将该标识信息对应的访问次数增加1;
如果所述时间段对应的请求信息中没有记录所述输入/输出请求携带的待操作文件的标识信息,则在所述请求信息中记录所述输入/输出请求携带的待操作文件的标识信息,并将所述标识信息对应的访问次数增加1。
可选地,所述方法还包括:
按照设定的第二间隔周期对一个自然日内的每个时间段,进行如下操作:
在该时间段到来之前,根据之前统计的该时间段对应的请求信息进行判断,如果请求总数量大于或者等于设定的请求总数量阈值,并且存在N个访问次数大于或者等于设定的访问次数阈值的标识信息,则对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息;
其中,所述请求总数量阈值大于或者等于访问次数阈值;
N为大于或者等于1的正整数。
可选地,所述对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息包括:
对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,按照访问次数由大到小的顺序,依次执行以下操作:
判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将标识信息对应的元数据信息缓存到空闲缓存空间;
如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,将标识信息对应的元数据信息缓存到所述回收的缓存空间;
其中,所述缓存空间阈值小于NFS服务端的缓存空间总量。
本申请还提供一种数据处理装置,设置于网络文件系统NFS服务端,所述装置包括:存储器和处理器;
所述存储器,用于保存用于数据处理的程序;
所述处理器,用于读取执行所述用于数据处理的程序,执行如下操作:
当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;
判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。
可选地,所述处理器,用于读取执行所述用于数据处理的程序,还执行如下操作:
按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息;
其中,一个自然日划分为M个时间段,M为大于1的正整数;
所述请求信息包括该时间段内接收到的输入/输出请求的请求总数量、该时间段内接收到的每个输入/输出请求对应的待操作文件的标识信息以及每个标识信息对应的访问次数。
可选地,所述按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息包括:
在统计开始前,将上一次统计的每个时间段对应的请求总数量以及每个标识信息对应的访问次数清零;
在统计开始后,对于一个自然日内接收到的每一个输入/输出请求,进行如下操作:
确定所述输入/输出请求的当前时间所属的时间段;
修改所述时间段对应的请求信息;
其中,所述修改所述时间段对应的请求信息包括:
将请求总数量增加1;
如果所述时间段对应的请求信息中已记录所述输入/输出请求携带的待操作文件的标识信息,则将该标识信息对应的访问次数增加1;
如果所述时间段对应的请求信息中没有记录所述输入/输出请求携带的待操作文件的标识信息,则在所述请求信息中记录所述输入/输出请求携带的待操作文件的标识信息,并将所述标识信息对应的访问次数增加1。
可选地,所述处理器,用于读取执行所述用于数据处理的程序,还执行如下操作:
按照设定的第二间隔周期对一个自然日内的每个时间段,进行如下操作:
在该时间段到来之前,根据之前统计的该时间段对应的请求信息进行判断,如果请求总数量大于或者等于设定的请求总数量阈值,并且存在N个访问次数大于或者等于设定的访问次数阈值的标识信息,则对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息;
其中,所述请求总数量阈值大于或者等于访问次数阈值;
N为大于或者等于1的正整数。
可选地,所述对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息包括:
对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,按照访问次数由大到小的顺序,依次执行以下操作:
判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将标识信息对应的元数据信息缓存到空闲缓存空间;
如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,将标识信息对应的元数据信息缓存到所述回收的缓存空间;
其中,所述缓存空间阈值小于NFS服务端的缓存空间总量。
本申请包括:当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。上述技术方案通过预先将元数据信息存储在已用缓存空间中,节省了在接收到输入/输出请求后从硬盘读取元数据信息的时间,从而可以减少输入/输出的操作时间,提高处理效率和响应速度。
附图说明
附图用来提供对本申请技术方案的理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对本申请技术方案的限制。
图1是本发明实施例一的数据处理方法的流程图;
图2是本发明实施例一的数据处理装置的结构示意图;
图3是示例一的输入/输出处理的流程图。
具体实施方式
本申请描述了多个实施例,但是该描述是示例性的,而不是限制性的,并且对于本领域的普通技术人员来说显而易见的是,在本申请所描述的实施例包含的范围内可以有更多的实施例和实现方案。尽管在附图中示出了许多可能的特征组合,并在具体实施方式中进行了讨论,但是所公开的特征的许多其它组合方式也是可能的。除非特意加以限制的情况以外,任何实施例的任何特征或元件可以与任何其它实施例中的任何其他特征或元件结合使用,或可以替代任何其它实施例中的任何其他特征或元件。
本申请包括并设想了与本领域普通技术人员已知的特征和元件的组合。本申请已经公开的实施例、特征和元件也可以与任何常规特征或元件组合,以形成由权利要求限定的独特的发明方案。任何实施例的任何特征或元件也可以与来自其它发明方案的特征或元件组合,以形成另一个由权利要求限定的独特的发明方案。因此,应当理解,在本申请中示出和/或讨论的任何特征可以单独地或以任何适当的组合来实现。因此,除了根据所附权利要求及其等同替换所做的限制以外,实施例不受其它限制。此外,可以在所附权利要求的保护范围内进行各种修改和改变。
此外,在描述具有代表性的实施例时,说明书可能已经将方法和/或过程呈现为特定的步骤序列。然而,在该方法或过程不依赖于本文所述步骤的特定顺序的程度上,该方法或过程不应限于所述的特定顺序的步骤。如本领域普通技术人员将理解的,其它的步骤顺序也是可能的。因此,说明书中阐述的步骤的特定顺序不应被解释为对权利要求的限制。此外,针对该方法和/或过程的权利要求不应限于按照所写顺序执行它们的步骤,本领域技术人员可以容易地理解,这些顺序可以变化,并且仍然保持在本申请实施例的精神和范围内。
实施例一
如图1所示,本实施例提供一种数据处理方法,应用于网络文件系统NFS服务端,所述方法包括:
步骤S101、当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;
步骤S102、判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。
可选地,所述方法还可以包括:
按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息;
其中,一个自然日划分为M个时间段,M为大于1的正整数;
所述请求信息包括该时间段内接收到的输入/输出请求的请求总数量、该时间段内接收到的每个输入/输出请求对应的待操作文件的标识信息以及每个标识信息对应的访问次数。
本申请中,自然日也就是指一天的24小时。可以是工作日,也可以是休息日。
可选地,所述按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息可以包括:
在统计开始前,将上一次统计的每个时间段对应的请求总数量以及每个标识信息对应的访问次数清零;
在统计开始后,对于一个自然日内接收到的每一个输入/输出请求,进行如下操作:
确定所述输入/输出请求的当前时间所属的时间段;
修改所述时间段对应的请求信息;
其中,所述修改所述时间段对应的请求信息包括:
将请求总数量增加1;
如果所述时间段对应的请求信息中已记录所述输入/输出请求携带的待操作文件的标识信息,则将该标识信息对应的访问次数增加1;
如果所述时间段对应的请求信息中没有记录所述输入/输出请求携带的待操作文件的标识信息,则在所述请求信息中记录所述输入/输出请求携带的待操作文件的标识信息,并将所述标识信息对应的访问次数增加1。
可选地,所述方法还可以包括:
按照设定的第二间隔周期对一个自然日内的每个时间段,进行如下操作:
在该时间段到来之前,根据之前统计的该时间段对应的请求信息进行判断,如果请求总数量大于或者等于设定的请求总数量阈值,并且存在N个访问次数大于或者等于设定的访问次数阈值的标识信息,则对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息;
其中,所述请求总数量阈值大于或者等于访问次数阈值;
N为大于或者等于1的正整数。
可选地,所述对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息可以包括:
对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,按照访问次数由大到小的顺序,依次执行以下操作:
判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将标识信息对应的元数据信息缓存到空闲缓存空间;
如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,将标识信息对应的元数据信息缓存到所述回收的缓存空间;
其中,所述缓存空间阈值小于NFS服务端的缓存空间总量。
上述技术方案通过预先将元数据信息存储在已用缓存空间中,节省了在接收到输入/输出请求后从硬盘读取元数据信息的时间,从而可以减少输入/输出的操作时间,提高处理效率和响应速度。
如图2所示,本实施例还提供一种数据处理装置,设置于网络文件系统NFS服务端,所述装置包括:存储器10和处理器11;
所述存储器10,用于保存用于数据处理的程序;
所述处理器11,用于读取执行所述用于数据处理的程序,执行如下操作:
当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;
判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。
可选地,所述处理器11,用于读取执行所述用于数据处理的程序,还可以执行如下操作:
按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息;
其中,一个自然日划分为M个时间段,M为大于1的正整数;
所述请求信息包括该时间段内接收到的输入/输出请求的请求总数量、该时间段内接收到的每个输入/输出请求对应的待操作文件的标识信息以及每个标识信息对应的访问次数。
可选地,所述按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息可以包括:
在统计开始前,将上一次统计的每个时间段对应的请求总数量以及每个标识信息对应的访问次数清零;
在统计开始后,对于一个自然日内接收到的每一个输入/输出请求,进行如下操作:
确定所述输入/输出请求的当前时间所属的时间段;
修改所述时间段对应的请求信息;
其中,所述修改所述时间段对应的请求信息包括:
将请求总数量增加1;
如果所述时间段对应的请求信息中已记录所述输入/输出请求携带的待操作文件的标识信息,则将该标识信息对应的访问次数增加1;
如果所述时间段对应的请求信息中没有记录所述输入/输出请求携带的待操作文件的标识信息,则在所述请求信息中记录所述输入/输出请求携带的待操作文件的标识信息,并将所述标识信息对应的访问次数增加1。
可选地,所述处理器11,用于读取执行所述用于数据处理的程序,还可以执行如下操作:
按照设定的第二间隔周期对一个自然日内的每个时间段,进行如下操作:
在该时间段到来之前,根据之前统计的该时间段对应的请求信息进行判断,如果请求总数量大于或者等于设定的请求总数量阈值,并且存在N个访问次数大于或者等于设定的访问次数阈值的标识信息,则对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息;
其中,所述请求总数量阈值大于或者等于访问次数阈值;
N为大于或者等于1的正整数。
可选地,所述对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息可以包括:
对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,按照访问次数由大到小的顺序,依次执行以下操作:
判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将标识信息对应的元数据信息缓存到空闲缓存空间;
如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,将标识信息对应的元数据信息缓存到所述回收的缓存空间;
其中,所述缓存空间阈值小于NFS服务端的缓存空间总量。
上述技术方案通过预先将元数据信息存储在已用缓存空间中,节省了在接收到输入/输出请求后从硬盘读取元数据信息的时间,从而可以减少输入/输出的操作时间,提高处理效率和响应速度。
示例一
下面通过具体示例进一步说明本申请的数据处理方法。
本示例中,NFS服务端可以设置有热点统计模块和缓存管理模块,热点统计模块和缓存管理模块相当于本申请的数据处理装置。
热点统计模块用于统计输入/输出请求业务的热点时间段和热点访问文件。可以将一天划分为M个热点时间段,M为大于1的正整数,例如,可以将一天划分为24个时间段,每个时间段为1小时;也可以将一天划分为1440个时间段,每个时间段为1分钟。
本示例中,可以创建一个热点时间链表,以每个时间段为1分钟为例,可以将每个时间段作为一个节点插入到热点时间链表中,每个节点对应一个时间段。该节点中可以包含三个元素:时间段信息、请求总数量、文件访问链表。其中,时间段信息表示该节点对应的时间段;请求总数量记录当前节点所对应的时间段内到来的输入/输出请求的总数量;文件访问链表记录当前节点对应的时间段内输入/输出请求的待访问的文件信息,其中,文件访问链表包含两个元素:一个是文件标识信息(例如文件名),另一个是在该时间段内该文件的访问次数。
热点时间链表可以按照设定的第一间隔周期进行统计。例如,可以每2天统计一次,假设2019年9月1日对当天所有时间段进行统计,生成了热点时间链表中的统计数据,下次则在2019年9月3日对当天所有时间段进行统计,9月3日生成的统计数据则覆盖9月1日的统计数据。
本示例中,热点统计模块进行统计的流程可以嵌入到输入/输出处理流程当中,在处理输入/输出请求的过程中统计热点时间链表中的三个元素的信息。
缓存管理模块用于缓存结构的申请和释放,以及对元数据信息进行缓存。本示例中,缓存管理模块中可以设置一个空闲链表和一个已用链表。空闲链表用于保存是已经申请到但还未使用的缓存结构,或者曾经使用过但是已释放的缓存结构。已用链表用于保存是正在使用并且未释放的缓存结构。空闲链表中的缓存结构被使用后,则该缓存结构被列入已用链表中。每个缓存结构包含两个元素:一个是保存文件元数据信息的结构,另一个是该文件在缓存结构中最后一次被访问的时间。
本示例中,当接收到输入/输出请求时,首先根据接收到输入/输出请求携带的待操作的文件的路径,在已用链表中查找是否有该文件的元数据信息。
如果已用链表中有该文件的元数据信息,说明已经预先缓存了该元数据信息,则直接根据该元数据信息进行输入/输出的处理。
如果已用链表中没有有该文件的元数据信息,则需要从空闲链表中申请一个缓存结构,然后缓存该待操作文件的元数据信息。
如果空闲链表中没有可供使用的缓存结构,则判断当前缓存数量是否小于设定的缓存空间阈值,如果当前缓存数量小于设定的缓存空间阈值,则从NFS服务端申请缓存结构,将申请到缓存结构加入空闲链表中,并缓存该待操作文件的元数据信息。如果当前缓存数量大于或者等于设定的缓存空间阈值,则需要从已用链表中回收缓存结构。
本示例中,缓存管理模块根据热点统计模块的统计信息,判断是否需要预先缓存元数据信息。可以按照设定的第二间隔周期,根据热点统计模块的统计信息,对元数据信息进行缓存。例如,每2天更新一次缓存,或者每周更新一次缓存。
本示例中,当某一时间段满足以下条件时,将该时间段作为热点时间段,该条件为:时间段对应的请求总数量大于或者等于设定的请求总数量阈值,并且该时间段对应的统计信息中存在N个访问次数大于或者等于设定的访问次数阈值的标识信息。
需要说明的是,可以根据具体的业务需求设定第一间隔周期、第二间隔周期、请求总数量阈值设置以及访问次数阈值。
下面通过假设场景进一步说明:
假设,将一天划分为24个时间段,每个时间段是1小时。按照设定的第一间隔周期,2019年9月3日进行了一次统计,统计的热点时间链表中,时间段[9:00 9:59](在其它示例中,时间段还可以精确到秒)对应的统计信息如下:
请求总数量为20;
文件1,访问次数为5;
文件2,访问次数为6;
文件4,访问次数为1;
文件6,访问次数为8。
假设请求总数量阈值设置为10,访问次数阈值设置为5;
按照设定的第二间隔周期,2019年9月4日需要更新缓存,此时需要根据9月4日之前统计的热点时间链表中的数据进行,也就是根据9月3日统计的热点时间链表判断缓存哪些元数据信息。
对于9月4日的时间段[9:00 9:59],在该时间段到来之前(也就是9月4日9点之前的某一个时刻),根据9月3日[9:00 9:59]统计的数据进行判断。
由于9月3日[9:00 9:59]统计的请求总数量是20,大于请求总数量阈值10,并且文件1的访问次数、文件2以及文件6的访问次数均大于或者等于访问次数阈值5,则需要缓存文件1的元数据信息、文件2的元数据信息以及文件6的元数据信息。
在对文件1、文件2和文件6的元数据信息进行缓存时,可以采用以下方式进行:
将文件1、文件4和文件6按照访问次数由高到低的顺序排序,顺序为:文件6、文件2、文件1。
按照文件6、文件2、文件1的顺序依次进行缓存处理。
首先,缓存文件6的元数据信息,判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将文件6的元数据信息缓存到空闲缓存空间;如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,然后将文件6元数据信息缓存到所述回收的缓存空间;
然后,缓存文件2的元数据信息,判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将文件2的元数据信息缓存到空闲缓存空间;如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,然后将文件2元数据信息缓存到所述回收的缓存空间;
最后,缓存文件1的元数据信息,判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将文件1的元数据信息缓存到空闲缓存空间;如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,然后将文件1元数据信息缓存到所述回收的缓存空间。
本示例中,由于缓存空间不能全部用来存储元数据,需要预留一部分用于输入/输出操作,因此,缓存空间阈值需要小于NFS服务端的缓存空间总量。
本示例中,缓存管理模块在回收缓存空间时,可以根据每个缓存结构中含有的文件在缓存结构中最后一次被访问的时间,回收最久未被使用的缓存结构,直到已用缓存空间小于缓存空间阈值。
如图3所示,本示例的输入/输出处理流程包括:
步骤S201、NFS服务端接收到客户端发送的输入/输出请求后,进行预处理并获取到要访问的文件名;
步骤S202、确定当前时间所属的时间段;
步骤S203、修改热点时间链表中当前时间段对应的节点的信息;
本步骤包括:将该节点对应的请求总数量增加1;
如果该节点对应的文件访问链表中已有该文件,则将该文件对应的访问次数增加1,如果该节点对应的文件访问链表中没有该文件,则在文件访问链表中记录该文件,并将该文件对应的访问次数增加1。
步骤S204、判断在已用链表中是否有该文件的元数据信息,如果在已用链表中有该文件的元数据信息,则执行步骤S210;如果在已用链表中没有该文件的元数据信息,则执行步骤S205;
步骤S205、判断空闲链表中是否有可用的缓存结构,如果空闲链表中有可用的缓存结构,则执行步骤S209;如果空闲链表中没有可用的缓存结构,则执行步骤206;
步骤S206、判断已用缓存空间是否小于缓存空间阈值,如果已用缓存空间小于缓存空间阈值,则执行步骤S208;如果已用缓存空间大于或者等于缓存空间阈值,则执行步骤S207;
步骤S207、从已用链表中回收缓存结构后,缓存该文件对应的元数据信息,转步骤S210;
步骤S208、从NFS服务端的缓存空间中申请一个新的缓存结构,并缓存该文件对应的元数据信息;转步骤S210;
步骤S209、从空闲链表中获取一个缓存结构,并缓存该文件对应的元数据信息;
步骤S210、根据元数据信息进行输入/输出的其它操作。
上述技术方案中,针对NFS服务的应用场景中存在业务繁忙阶段和空闲阶段的特点,在业务繁忙阶段到来之前,提前缓存访问频率高的文件信息,节省了在接收到输入/输出请求后从硬盘读取元数据信息的时间,从而可以减少输入/输出的操作时间,提高NFS的服务性能、处理效率和响应速度。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且包括任何信息递送介质。
Claims (10)
1.一种数据处理方法,应用于网络文件系统NFS服务端,其特征在于,所述方法包括:
当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;
判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息;
其中,一个自然日划分为M个时间段,M为大于1的正整数;
所述请求信息包括该时间段内接收到的输入/输出请求的请求总数量、该时间段内接收到的每个输入/输出请求对应的待操作文件的标识信息以及每个标识信息对应的访问次数。
3.如权利要求2所述的方法,其特征在于,所述按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息包括:
在统计开始前,将上一次统计的每个时间段对应的请求总数量以及每个标识信息对应的访问次数清零;
在统计开始后,对于一个自然日内接收到的每一个输入/输出请求,进行如下操作:
确定所述输入/输出请求的当前时间所属的时间段;
修改所述时间段对应的请求信息;
其中,所述修改所述时间段对应的请求信息包括:
将请求总数量增加1;
如果所述时间段对应的请求信息中已记录所述输入/输出请求携带的待操作文件的标识信息,则将该标识信息对应的访问次数增加1;
如果所述时间段对应的请求信息中没有记录所述输入/输出请求携带的待操作文件的标识信息,则在所述请求信息中记录所述输入/输出请求携带的待操作文件的标识信息,并将所述标识信息对应的访问次数增加1。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
按照设定的第二间隔周期对一个自然日内的每个时间段,进行如下操作:
在该时间段到来之前,根据之前统计的该时间段对应的请求信息进行判断,如果请求总数量大于或者等于设定的请求总数量阈值,并且存在N个访问次数大于或者等于设定的访问次数阈值的标识信息,则对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息;
其中,所述请求总数量阈值大于或者等于访问次数阈值;
N为大于或者等于1的正整数。
5.如权利要求4所述的方法,其特征在于,所述对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息包括:
对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,按照访问次数由大到小的顺序,依次执行以下操作:
判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将标识信息对应的元数据信息缓存到空闲缓存空间;
如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,将标识信息对应的元数据信息缓存到所述回收的缓存空间;
其中,所述缓存空间阈值小于NFS服务端的缓存空间总量。
6.一种数据处理装置,设置于网络文件系统NFS服务端,所述装置包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于数据处理的程序;
所述处理器,用于读取执行所述用于数据处理的程序,执行如下操作:
当接收到客户端发送的输入/输出请求之后,获取所述输入/输出请求中携带的待操作文件的标识信息;
判断已用缓存空间中是否有预先存储的所述标识信息对应的元数据信息,如果已用缓存空间中有预先存储的所述标识信息对应的元数据信息,则根据所述元数据信息对所述待操作文件进行输入/输出操作。
7.如权利要求6所述装置,其特征在于,所述处理器,用于读取执行所述用于数据处理的程序,还执行如下操作:
按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息;
其中,一个自然日划分为M个时间段,M为大于1的正整数;
所述请求信息包括该时间段内接收到的输入/输出请求的请求总数量、该时间段内接收到的每个输入/输出请求对应的待操作文件的标识信息以及每个标识信息对应的访问次数。
8.如权利要求7所述装置,其特征在于,所述按照设定的第一间隔周期统计一个自然日内每个时间段对应的请求信息包括:
在统计开始前,将上一次统计的每个时间段对应的请求总数量以及每个标识信息对应的访问次数清零;
在统计开始后,对于一个自然日内接收到的每一个输入/输出请求,进行如下操作:
确定所述输入/输出请求的当前时间所属的时间段;
修改所述时间段对应的请求信息;
其中,所述修改所述时间段对应的请求信息包括:
将请求总数量增加1;
如果所述时间段对应的请求信息中已记录所述输入/输出请求携带的待操作文件的标识信息,则将该标识信息对应的访问次数增加1;
如果所述时间段对应的请求信息中没有记录所述输入/输出请求携带的待操作文件的标识信息,则在所述请求信息中记录所述输入/输出请求携带的待操作文件的标识信息,并将所述标识信息对应的访问次数增加1。
9.如权利要求8所述装置,其特征在于,所述处理器,用于读取执行所述用于数据处理的程序,还执行如下操作:
按照设定的第二间隔周期对一个自然日内的每个时间段,进行如下操作:
在该时间段到来之前,根据之前统计的该时间段对应的请求信息进行判断,如果请求总数量大于或者等于设定的请求总数量阈值,并且存在N个访问次数大于或者等于设定的访问次数阈值的标识信息,则对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息;
其中,所述请求总数量阈值大于或者等于访问次数阈值;
N为大于或者等于1的正整数。
10.如权利要求9所述装置,其特征在于,所述对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,缓存每个标识信息对应的元数据信息包括:
对于每个访问次数大于或者等于设定的访问次数阈值的标识信息,按照访问次数由大到小的顺序,依次执行以下操作:
判断当前已用缓存空间是否小于设定的缓存空间阈值,如果当前已用缓存空间小于所述缓存空间阈值,则将标识信息对应的元数据信息缓存到空闲缓存空间;
如果当前已用缓存空间大于或者等于所述缓存空间阈值,则从当前已用缓存空间中回收设定数量的缓存空间,将标识信息对应的元数据信息缓存到所述回收的缓存空间;
其中,所述缓存空间阈值小于NFS服务端的缓存空间总量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911054735.1A CN110955639A (zh) | 2019-10-31 | 2019-10-31 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911054735.1A CN110955639A (zh) | 2019-10-31 | 2019-10-31 | 一种数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110955639A true CN110955639A (zh) | 2020-04-03 |
Family
ID=69976596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911054735.1A Withdrawn CN110955639A (zh) | 2019-10-31 | 2019-10-31 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110955639A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783378A (zh) * | 2020-06-30 | 2020-10-16 | 迈普通信技术股份有限公司 | 数据处理方法及fpga |
CN113419670A (zh) * | 2021-03-31 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 数据写入处理方法、装置及电子设备 |
CN113742131A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
-
2019
- 2019-10-31 CN CN201911054735.1A patent/CN110955639A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742131A (zh) * | 2020-05-29 | 2021-12-03 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN113742131B (zh) * | 2020-05-29 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN111783378A (zh) * | 2020-06-30 | 2020-10-16 | 迈普通信技术股份有限公司 | 数据处理方法及fpga |
CN113419670A (zh) * | 2021-03-31 | 2021-09-21 | 阿里巴巴新加坡控股有限公司 | 数据写入处理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319654B (zh) | 计算系统、冷热数据分离方法及装置、计算机可读存储介质 | |
US20200226100A1 (en) | Metadata query method and apparatus | |
CN110955639A (zh) | 一种数据处理方法及装置 | |
CN109766362B (zh) | 数据处理方法及装置 | |
CN111444192B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
WO2018214905A1 (zh) | 一种数据存储的方法、装置、介质及设备 | |
CN109240607B (zh) | 一种文件读取方法和装置 | |
WO2018006721A1 (zh) | 日志文件的存储方法及装置 | |
CN111737265B (zh) | 区块数据访问方法、区块数据存储方法及装置 | |
CN115599807A (zh) | 一种数据存取方法、装置、应用服务器及存储介质 | |
CN112241396B (zh) | 基于Spark的对Delta进行小文件合并的方法及系统 | |
CN105808451B (zh) | 一种数据缓存方法以及相关装置 | |
CN113190325A (zh) | 一种容器创建方法及装置 | |
CN111913913A (zh) | 访问请求的处理方法和装置 | |
CN106599326B (zh) | 一种云化架构下的记录数据剔重处理方法及系统 | |
CN112464049B (zh) | 号码详单下载方法、装置和设备 | |
CN115328696A (zh) | 一种数据库中的数据备份方法 | |
CN115421856A (zh) | 一种数据恢复方法及装置 | |
CN110362769B (zh) | 一种数据处理方法及装置 | |
CN111782588A (zh) | 一种文件读取方法、装置、设备和介质 | |
CN111563219B (zh) | 一种web应用的状态管理方法及装置 | |
CN110866068A (zh) | 一种基于hdfs的公告数据存储方法及其装置 | |
US11132225B2 (en) | System and method for management of processing task across plurality of processors | |
US11625184B1 (en) | Recalling files from tape | |
CN116662603B (zh) | 基于kafka的时间轴管控方法、系统、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200403 |
|
WW01 | Invention patent application withdrawn after publication |