一种文件系统中的热度识别方法、装置及计算机设备与流程

文档序号:35534728发布日期:2023-09-21 20:55阅读:22来源:国知局
一种文件系统中的热度识别方法、装置及计算机设备与流程

本技术涉及计算机,尤其涉及一种文件系统中的热度识别方法、装置及计算机设备。


背景技术:

1、根据时间局域性原理,正在被访问的数据在近期很可能会再次被访问,形成数据热点。数据冷热识别,对优化存储系统非常重要,它是实现数据冷热分级、数据放置和迁移的基础,也是存储系统实现高性价比必不可少的因素。

2、传统存储系统的数据冷热识别主要基于数据块,但随着非结构化数据的规模越来越大,存储系统中需要识别的文件数量和大小分别达到亿级别和千兆级别。除了识别文件的热度,有时还需记录目录的热度,构建目录热度有助于用户更全面地感知数据的冷热,进行数据分析和挖掘,以及目录级别的数据流动。目录的热度为目录下文件和子目录的热度之和。按照传统的方案,在用户请求获取某个目录的热度时,对整个目录下的文件和子目录进行递归遍历求和得到目录热度。

3、但是,当文件目录数量很大时,递归遍历消耗的时间将变得很大。且文件和目的热度在更新时,自下而上逐层遍历,会导致上层目录热度更新滞后,无法满足实时性要求。


技术实现思路

1、本技术提供一种文件系统中的热度识别方法、装置及计算机设备,用于实现文件、目录的同步更新,避免上层目录更新滞后的问题。

2、第一方面,本技术提供一种文件系统中的热度识别方法,该方法包括:获取来自应用程序的访问请求,确定所述访问请求的访问对象;统计每个访问对象的访问频次;根据每个访问对象的存储路径和每个访问对象的访问频次,同步更新所述访问对象的热度和所述访问对象在所述存储路径中父节点方向上每个节点的热度,父节点的热度为所述父节点下每个子节点热度之和。在本技术实施例中,不仅统计、更新访问对象的热度,还统计、更新目录的热度,有助于实现目录级别的存储分析、优化;此外,同步更新访问对象及其父节点方向上每个节点的热度。当后续需要查询父节点方向上任一节点的热度时,可以把更新后的热度数据直接返回给用户。而不用临时统计热度信息,因此该方案解决了上层目录热度更新滞后的问题,不存在目录树中的上层目录热度更新滞后、文件和目录热度时间不同步的问题,在需要输出目录热度时,不会因为目录热度更新滞后而输出未更新的热度信息,也不需要在需要输出目录热度时临时对目录的热度进行更新,对于大文件系统,能够满足实时性要求。

3、在一种可能的实现方式中,所述方法还包括:根据所述访问请求确定针对所述访问对象的访问类型;所述统计每个访问对象的访问频次,包括:统计每个访问对象的相同访问类型的访问频次。针对相同的访问对象,可以进一步区分不同访问类型的热度,例如分别统计对同一访问对象的读操作的热度、写操作的热度,能够更加细致了解用户对该访问对象的需求,从而进行更加合理的存储优化等。

4、在一种可能的实现方式中,所述访问对象包括文件目录、文件或者文件中的数据块。

5、在一种可能的实现方式中,所述确定所述访问请求的访问对象,包括:根据所述访问请求中的对象标识确定请求访问的文件,根据所述访问请求中的偏移量和长度,确定访问对象位于所述文件中的一个或多个块;所述根据每个访问对象的存储路径和每个访问对象的访问频次,同步更新所述访问对象的热度和所述访问对象在所述存储路径中父节点方向上每个节点的热度,包括:根据所述一个或多个块的存储路径和所述一个或多个块的访问频次,同步更新所述一个或多个块的热度、所述文件的热度,以及所述文件在存储路径中父节点方向上每个节点的热度。在该实现方式中,可以对较大的文件进行分块存储,在统计热度时,针对每个块单独计算热度,根据热度对不同块的存储进行优化,而不必对整个文件进行缓存等。

6、在一种可能的实现方式中,所述方法还包括:周期性对每个访问对象的热度进行衰减;若第一访问对象的热度衰减至小于或等于预设阈值,则删除所述第一访问对象的热度。在本技术实施例中,由于无需设置单独的元数据,也没有了元数据独立的存储空间,因此需要考虑热度信息的大小及存储空间大小的问题,而随着时间积累,访问对象逐渐增加,热度信息也在逐渐增加,可能会导致热度信息存储空间不足的问题。对热度较低的访问对象的热度信息进行删减,以控制热度信息的所占用的存储空间。

7、在一种可能的实现方式中,所述对每个访问对象的热度进行衰减,包括:将每个访问对象的热度乘以衰减系数;若乘以衰减系数后的值为非整数,则以1减去衰减系数的概率向下取整,以衰减系数的概率向上取整。若均采用向上取整或向下取整,则子节点的热度之和与父节点的热度就会存在差异,不利于后续根据热度对访问对象进行存储优化;而上述方法可以使得子节点的热度之和与父节点的热度相等或近似相等。

8、在一种可能的实现方式中,所述统计每个访问对象的访问频次,包括:统计预设区间内每个访问对象的访问频次,所述预设区间包括以下任一种:预设时间间隔,预设流量,预设数量的访问请求。若针对每个访问请求进行一次热度更新,在访问量较大时,频繁的更新操作会占用过多的带宽;而在上述方法中,对预设区间的访问进行统计,再进行热度更新,有利于节省带宽资源。

9、在一种可能的实现方式中,所述方法还包括:根据访问对象的热度和第一热度阈值,确定访问对象是否为热数据;和/或,根据访问对象的热度和第二热度阈值,确定访问对象是否为冷数据。对数据进行冷热分级,有助于后续对数据进行存储优化。

10、在一种可能的实现方式中,所述方法还包括:将存储的所有访问对象的热度从大到小排序;将第n个访问对象的热度作为第一热度阈值;所述n满足以下条件:n除以全部访问对象的数量满足预设比例条件;或者,前n个访问对象的热度之和除以全部访问对象的热度之和,满足预设比例条件。

11、在一种可能的实现方式中,所述方法还包括:接收热度查询请求,所述请求用于请求查询目标访问对象的热度;输出所述目标访问对象的热度。

12、第二方面,本技术提供一种文件系统中的热度识别装置,所述装置包括执行上述第一方面以及第一方面的任意一种可能的实现方式的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。

13、示例性的,该装置包括:采集模块,用于获取来自应用程序的访问请求,确定所述访问请求的访问对象;统计每个访问对象的访问频次;热度更新模块,用于根据每个访问对象的存储路径和每个访问对象的访问频次,同步更新所述访问对象的热度和所述访问对象在所述存储路径中父节点方向上每个节点的热度,父节点的热度为所述父节点下每个子节点热度之和。

14、第三方面,本技术提供一种计算机设备,所述计算机设备包括存储器和处理器;所述存储器存储有计算机程序;所述处理器用于调用所述存储器中存储的计算机程序,以执行如第一方面及第一方面任一实现方式所述的方法。

15、第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面及第一方面任一实现方式所述的方法。

16、第五方面,本技术提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得如第一方面及第一方面任一实现方式所述的方法被执行。

17、上述第二方面至第五方面中任一方面中的任一可能实现方式可以实现的技术效果,请参照上述第一方面中相应实现方案可以达到的技术效果说明,重复之处不予论述。

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