本申请涉及计算机存储,特别是涉及一种缓存文件的处理方法、装置、计算机设备、存储介质。
背景技术:
1、在cdn(content delivery network,内容分发网络)网络中,可以使用缓存机制为了提高内容分发的效率和服务质量。然而,随着高清视频、大型图片等大文件的普及,传统的缓存策略难以对数据进行管理。
2、相关技术中,通过将热点数据存储在读写速度更快的固态硬盘上,而将不经常访问的数据存储在成本较低的机械硬盘上,但是随着访问模式的变化,热点数据也在不断变化,难以提高服务质量。
技术实现思路
1、基于此,有必要针对上述技术问题,提供了一种缓存文件的处理方法、装置、计算机设备、存储介质。
2、第一方面,本申请提供了一种缓存文件的处理方法。所述方法包括:
3、获取缓存文件的大小;
4、基于所述缓存文件的大小、预设内存块大小,得到多个缓存文件块;
5、构建二叉树,所述二叉树的树节点包括根节点、左子节点、右子节点;
6、获取所述缓存文件块的访问频率,基于所述访问频率将缓存文件块存储至所述树节点中,所述根节点的访问频率大于所述左子节点的访问频率,所述根节点的访问频率小于所述右子节点的访问频率。
7、在其中一个实施例中,所述方法还包括:
8、创建缓存链表,所述缓存链表包括多个链表节点,所述缓存链表中的头部链表节点至尾部链表节点中存储的缓存文件的访问时间依次增大;
9、获取缓存文件的类型、缓存文件的访问时间;
10、基于所述缓存文件的类型得到缓存文件存入缓存链表中的缓存文件块数量,基于所述缓存文件的访问时间得到缓存文件存入缓存链表中的位置。
11、在其中一个实施例中,所述方法还包括:
12、基于所述缓存链表的链表节点包括的缓存文件块数量,得到所述缓存链表的内存使用量;
13、在所述缓存链表的内存使用量大于内存总量的情况下,删除所述尾部链表节点中的缓存文件。
14、在其中一个实施例中,所述缓存文件块包括缓存数据、缓存数据在缓存文件中的起始位置、缓存数据在缓存文件中的结束位置。
15、在其中一个实施例中,所述缓存文件的类型包括图片类、视频类和下载类,每种类型的缓存文件根据缓存文件的特点采用不同的缓存策略。
16、在其中一个实施例中,所述获取缓存文件的大小之后,所述方法还包括:
17、基于所述缓存文件的大小将所述缓存文件分为大文件或小文件;
18、在所述缓存文件是小文件的情况下,将所述缓存文件存储至内存中;
19、在所述缓存文件是大文件的情况下,基于所述二叉树存储所述缓存文件。
20、第二方面,本申请还提供了一种缓存文件的处理装置,所述装置包括:
21、获取模块,用于获取缓存文件的大小;
22、计算模块,用于基于所述缓存文件的大小、预设单个树节点的存储大小,得到多个树节点;
23、存储模块,用于获取所述多个树节点的访问频率,基于所述多个树节点的访问频率、所述多个树节点构建二叉树,将所述缓存文件存储至二叉树的树节点中;所述二叉树的树节点包括根节点、左子节点、右子节点,所述根节点的访问频率大于所述左子节点的访问频率,所述根节点的访问频率小于所述右子节点的访问频率。
24、在其中一个实施例中,所述装置还包括:
25、创建缓存链表,所述缓存链表包括多个链表节点,所述缓存链表中的头部链表节点至尾部链表节点中存储的缓存文件的访问时间依次增大;
26、获取缓存文件的类型、缓存文件的访问时间;
27、基于所述缓存文件的类型得到缓存文件存入缓存链表中的缓存文件块数量,基于所述缓存文件的访问时间得到缓存文件存入缓存链表中的位置。
28、在其中一个实施例中,所述装置还包括:
29、基于所述缓存链表的链表节点包括的缓存文件块数量,得到所述缓存链表的内存使用量;
30、在所述缓存链表的内存使用量大于内存总量的情况下,删除所述尾部链表节点中的缓存文件。
31、在其中一个实施例中,所述缓存文件块包括缓存数据、缓存数据在缓存文件中的起始位置、缓存数据在缓存文件中的结束位置。
32、在其中一个实施例中,所述缓存文件的类型包括图片类、视频类和下载类,每种类型的缓存文件根据缓存文件的特点采用不同的缓存策略。
33、在其中一个实施例中,所述获取缓存文件的大小之后,所述装置还包括:
34、基于所述缓存文件的大小将所述缓存文件分为大文件或小文件;
35、在所述缓存文件是小文件的情况下,将所述缓存文件存储至内存中;
36、在所述缓存文件是大文件的情况下,基于所述二叉树存储所述缓存文件。
37、第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现缓存文件的处理方法的步骤。
38、第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现缓存文件的处理方法的步骤。
39、第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现缓存文件的处理方法的步骤。
40、上述缓存文件的处理方法,至少包括以下有益效果:
41、本公开提供的实施例方案,可以将缓存文件基于预设内存块大小切分为多个缓存文件块,以二叉树的结构存储缓存文件块,并且根据缓存文件块的访问频率调整存储的树节点位置,根节点的访问频率大于左子节点的访问频率,根节点的访问频率小于左子节点的访问频率,基于树节点的访问频率构建二叉树,可以更快地找到和加载频繁访问的数据。
42、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种缓存文件的处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述缓存文件块包括缓存数据、缓存数据在缓存文件中的起始位置、缓存数据在缓存文件中的结束位置。
5.根据权利要求2所述的方法,其特征在于,所述缓存文件的类型包括图片类、视频类和下载类,每种类型的缓存文件根据缓存文件的特点采用不同的缓存策略。
6.根据权利要求1所述的方法,其特征在于,所述获取缓存文件的大小之后,所述方法还包括:
7.一种缓存文件的处理装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。