CN115617255A - 缓存文件的管理方法和管理装置 - Google Patents

缓存文件的管理方法和管理装置 Download PDF

Info

Publication number
CN115617255A
CN115617255A CN202110742786.4A CN202110742786A CN115617255A CN 115617255 A CN115617255 A CN 115617255A CN 202110742786 A CN202110742786 A CN 202110742786A CN 115617255 A CN115617255 A CN 115617255A
Authority
CN
China
Prior art keywords
file
cache
cache file
type
memory
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.)
Pending
Application number
CN202110742786.4A
Other languages
English (en)
Inventor
薛春
梁宇
潘日维
李志鹏
邱歌
钱璟
易见
李家欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202110742786.4A priority Critical patent/CN115617255A/zh
Priority to PCT/CN2022/093239 priority patent/WO2023273659A1/zh
Publication of CN115617255A publication Critical patent/CN115617255A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供了一种缓存文件的管理方法和管理装置,实现了对缓存文件的灵活存储,提高了系统性能。该方法包括:获取缓存文件的特征信息,该特征信息包括上述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;根据上述特征信息,确定该缓存文件的文件类型,该文件类型包括可删除类型、临时存储类型或长期存储类型中的至少两种;根据该缓存文件的文件类型,管理上述缓存文件。

Description

缓存文件的管理方法和管理装置
技术领域
本申请涉及计算机存储领域,尤其涉及一种缓存文件的管理方法和管理装置。
背景技术
大多数手机应用都要从网上下载缓存文件,为了提高缓存文件再次存取的速度,存储手机会将缓存文件临时存在本地。
目前系统对于缓存文件和普通文件的管理没有区别,比如,安卓系统会将缓存文件写到内存然后再写回闪存。但是,缓存文件不同于普通文件,它具有时间敏感性,很多缓存文件一段时间后不会再被使用,因此并不需要写回闪存使其长期存储,且随着网络速度越来越快,在线数据越来越多,应用复杂性提高,单位时间内下载的缓存文件越来越多,写回上述缓存文件到闪存中会造成很多不必要的写回操作,且大量的写回闪存与正常输入/输出(input/output,I/O)冲突,影响I/O性能。
或者,可以直接从内存中存取缓存文件,以获得更好的存取性能。但是如果选择存储的缓存文件不常使用,会减少其他文件的可用内存空间,降低内存的有效性,进而降低性能。
因此,目前亟需一种缓存文件的管理方法,以解决上述对缓存文件存储不灵活的问题,提高系统性能。
发明内容
本申请提供一种缓存文件的管理方法,实现了对缓存文件的灵活存储,提高了系统性能。
第一方面,提供了一种缓存文件的管理方法,包括:获取缓存文件的特征信息,上述特征信息包括上述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;根据上述特征信息,确定上述缓存文件的文件类型,上述文件类型包括可删除类型、临时存储类型或长期存储类型中的至少两种;根据上述缓存文件的文件类型,管理上述缓存文件。
在本申请实施例中,存储设备可以通过获取缓存文件的特征信息,对上述缓存文件进行分类,并可以基于不同的文件类型,对上述缓存文件执行不同的管理操作。其中,丢失与否对应用都没有影响的缓存文件,存储设备可以直接删除,以释放相应的存储空间,为其他文件的提供更多可用的内存空间,提高内存的有效性,进而提高系统性能。对于需要临时存储的缓存文件,存储设备可以只将其临时存储至内存,不写回闪存,而对于需要长期存储的缓存文件,存储设备可以将其从内存写回到闪存中,以降低不必要的写回操作,有利于避免大量的缓存文件的写回操作与正常I/O冲突,进而提高I/O性能,本申请在保证缓存文件重新下载率较低的情况下,只将需要长期存储的缓存文件写回闪存中,有利于提高存储设备性能和寿命。
结合第一方面,在第一方面的某种实现方式中,上述根据上述特征信息,确定上述缓存文件的文件类型,包括:将上述特征信息输入至机器学习模型,获得上述缓存文件的文件类型,上述机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
在本申请实施例中,存储设备可以通过机器学习模型在20微妙内实现上述对缓存文件的分类,且可以将内存开销降到82KB,用户体验好。
结合第一方面,在第一方面的某种实现方式中,上述机器学习模型采用下列任一种算法:降维算法、聚类算法、神经网络算法或者强化学习算法。
结合第一方面,在第一方面的某种实现方式中,在上述获取缓存文件的特征信息之前,上述方法还包括:检测到应用的访问指令,上述访问指令用于指示上述应用访问上述缓存文件;在为存储上述缓存文件的情况下,基于上述访问指令,下载上述缓存文件至内存。
结合第一方面,在第一方面的某种实现方式中,上述根据上述缓存文件的文件类型,管理所述缓存文件,包括:若上述缓存文件的文件类型为可删除类型,确定所述内存是否小于第一预设阈值和/或所述缓存文件是否未在第一预设时长内被访问;在上述内存小于所述第一预设阈值和/或上述缓存文件未在第一预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
在本申请实施例,对于被使用后的可删除类型的缓存文件,在内存空间充裕的条件下,存储设备可以将其先存储至内存,直到内存空间紧张时,优先将该类缓存文件进行删除,降低了该类文件的重新下载率,提高了对该类文件的访问速度。
结合第一方面,在第一方面的某种实现方式中,上述根据所述缓存文件的文件类型,管理所述缓存文件,包括:若上述缓存文件的文件类型为临时存储类型,将上述文件页置于上述内存中的不可移除列表中,将上述文件标识置于LRU列表或者内存文件管理系统中。
在本申请实施例中,由于该类临时存储的缓存文件仅占总内存的1%左右,所以在减少了写回闪存的数据量的基础上,降低了与普通文件的读写冲突,进而提高整体I/O性能。
结合第一方面,在第一方面的某种实现方式中,上述方法还包括:在上述内存小于第二预设阈值和/或上述缓存文件未在第二预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
结合第一方面,在第一方面的某种实现方式中,上述根据上述缓存文件的文件类型,管理所述缓存文件,包括:若上述缓存文件的文件类型为长期存储类型,将上述缓存文件的文件页和文件标识存储至闪存。
在本申请实施例中,避免了上述缓存文件的重新下载,提高上述缓存文件的访问速度。
结合第一方面,在第一方面的某种实现方式中,上述方法还包括:确定上述缓存文件是否未在第三预设时长内被访问;在上述缓存文件未在上述第三预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
第二方面,提供了一种缓存文件的管理装置,包括:获取模块和处理模块,其中,获取模块用于,获取缓存文件的特征信息,上述特征信息包括上述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;处理模块用于,根据上述特征信息,确定上述缓存文件的文件类型,上述文件类型包括可删除类型、临时存储类型或长期存储类型中的至少两种;以及,根据上述缓存文件的文件类型,管理所述缓存文件。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:将上述特征信息输入至机器学习模型,获得上述缓存文件的文件类型,上述机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
结合第二方面,在第二方面的某种实现方式中,上述机器学习模型采用下列任一种算法:降维算法、聚类算法、神经网络算法或者强化学习算法。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:检测到应用的访问指令,上述访问指令用于指示上述应用访问上述缓存文件;在未存储上述缓存文件的情况下,基于上述访问指令,下载上述缓存文件至内存。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:若上述缓存文件的文件类型为可删除类型,确定上述内存是否小于第一预设阈值和/或上述缓存文件是否未在第一预设时长内被访问;在上述内存小于所述第一预设阈值和/或上述缓存文件未在第一预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:若上述缓存文件的文件类型为临时存储类型,将上述文件页置于上述内存中的不可移除列表中,将上述文件标识置于LRU列表或者内存文件管理系统中。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:在上述内存小于第二预设阈值和/或上述缓存文件未在第二预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:若上述缓存文件的文件类型为长期存储类型,将上述缓存文件的文件页和文件标识存储至闪存。
结合第二方面,在第二方面的某种实现方式中,上述处理模块用于:确定上述缓存文件是否未在第三预设时长内被访问;在上述缓存文件未在上述第三预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
第三方面,提供了另一种缓存文件的管理装置,包括处理器,该处理器与存储器耦合,可用于执行存储器中的指令,以实现上述任一方面中任一种可能实现方式中的方法。可选地,该装置还包括存储器。可选地,该装置还包括通信接口,处理器与通信接口耦合。
第四方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面中任一种可能实现方式中的方法。
在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本申请实施例对处理器及各种电路的具体实现方式不做限定。
第五方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面中任一种可能实现方式中的方法。
可选地,处理器为一个或多个,存储器为一个或多个。
可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
上述第五方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
第六方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
第七方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面中任一种可能实现方式中的方法。
附图说明
图1是本申请实施例提供的存储设备的示意图;
图2是本申请实施例提供的一种缓存文件的管理方法的示意图;
图3是本申请实施例提供的通过LRU列表管理缓存文件的示意性流程图;
图4是本申请实施例提供的又一缓存文件的管理方法的示意图;
图5是本申请实施例提供的一种缓存文件的管理装置的示意性框图;
图6是本申请实施例提供的又一缓存文件的管理装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
1、变分自编码器(variational auto-encoder,VAE)模型
该模型由两部分网络构成,一部分称为编码网络(encoder),可以将高维的输入映射到低维的隐变量上,另一部分称为解码网络(decoder),可以将上述低维的隐变量再映射回高维的。
2、Kmeans机器学习算法
该算法属于无监督学习类,又叫做聚类,是指没有给出正确答案,只是自己根据相关特性进行分类的一种方法,学习的目的就是找出最相关的特性。
大多数手机应用都要从网上下载缓存文件,为了提高缓存文件再次存取的速度,应用会将缓存文件临时存在本地。现有系统对缓存文件和普通文件的管理没有区别,都是选择将文件写到内存然后再写回闪存。但是,缓存文件不同于普通文件,它具有时间敏感性,很多缓存文件一段时间后不会再使用,因此并不需要全都写回闪存中,占用大量存储空间。
在第一种实现方式中,可以统一管理缓存文件,将所有缓存文件临时写到内存,当内存不够时,再写回闪存。但是随着网络速度越来越快,在线数据越来越多,同时,随着应用复杂性提高,单位时间内下载的缓存文件越来越多,统一将多个缓存文件写回闪存中会造成很多不必要的写操作,且大量的写回操作可能与正常I/O冲突,影响I/O性能,另外,过多的缓存文件写回闪存,一段时间后再删除,也会影响闪存寿命。
在第二种实现方式中,用户将特定的缓存文件路径挂载到ramfs或者tmpfs等内存文件系统,从而达到从内存中存取缓存文件,以获得更好的存取性能。将缓存文件通过ramfs和tmpfs来管理,可以减少写回闪存的总量,但是会占用大量的内存空间,且当选择存储的缓存文件不常使用,会减少其他文件的可用内存空间,降低内存的有效性,进而降低性能。
有鉴于此,本申请实施例提供了一种缓存文件的管理方法和管理装置,可以根据缓存文件的读写信息和尺寸等信息等,将上述缓存文件分为不同种类的缓存文件,不同种类的缓存文件具有不同的存储特性,本申请可以根据该缓存文件的类型,对缓存文件进行区别存储,在保证缓存文件重新下载率较低的情况下,只写回必需长期存储的缓存文件,有效避免了不必要的写回操作,以及存储空间的占用,提高存储空间的有效性和设备性能和寿命。
在介绍本申请实施例提供的方法和装置之前,先做出以下几点说明。
第一,在下文示出的实施例中,各术语及英文缩略语,例如基准数据或差分数据等,均为方便描述而给出的示例性举例,不应对本申请构成任何限定。本申请并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围。例如,第一预设阈值、第二预设阈值,仅仅只是用来区分不同的预设阈值等。
第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
为了使本申请的目的、技术方案更加清楚直观,下面将结合附图及实施例,对本申请实施例提供的方法和装置进行详细说明。应理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
应理解,本申请实施例的方法可以由具有读写功能的存储设备执行,本申请实施例简称为存储设备。
图1示出了本申请实施例提供的存储设备100,如图1所示,该存储设备100中部署有应用和文件管理系统。其中,应用可以通过网络下载缓存文件,在内核中可以对上述缓存文件进行分类,文件管理系统可以根据上述缓存文件的具体分类对该缓存文件进行管理,例如可以将上述缓存文件直接删除,存储至内存,或者写回闪存等。
图2是本申请实施例中的缓存文件的管理方法200的示意性流程图。如图2所示,方法200包括下列步骤:
S201,获取缓存文件的特征信息,该特征信息可以包括文件的读写信息,尺寸信息,或者活跃时间信息中的至少一个。
示例性地,存储设备可以记录并获取K秒缓存文件的特征信息,其中,上述特征信息中的读写信息可以包括下列至少一个:K秒内该缓存文件每秒读写次数、K秒内该缓存文件总的读写次数、K秒内该缓存文件总的读写总量,或者该缓存文件的最后一次读写时间。上述活跃时间信息用于表示缓存文件被读写的时长,如上述缓存文件从创建后的K秒后不再被读写,则该缓存文件的活跃时间为K秒。
应理解,在上述S201,获取缓存文件的特征信息之前,存储设备可以在检测到应用的访问指令后,并确定该缓存文件未在内存和闪存中的情况下,基于上述访问指令下载该缓存文件至内存中,其中上述访问指令可以为上述应用在启动或者运行过程中,若需要对某一文件进行读写等操作时,发起的指令。
S202,根据上述缓存文件的特征信息,确定上述缓存文件的文件类型。
示例性地,上述文件类型可以包括下列中的至少两种:
可删除类型,用于表示访问之后不再会被使用的缓存文件。
临时存储类型,用于指示访问之后短时间内还会被使用的缓存文件。
长期存储类型,用于指示访问之后长时间内还会被使用的缓存文件。
应理解,上述缓存文件的文件类型不限于上述提出的三种,本申请实施例对此不作限定。
S203,根据上述缓存文件的文件类型,管理所述缓存文件。
应理解,上述缓存文件所属的文件类型不同,则存储设备对其执行的管理操作也有所不同。
示例性地,若上述缓存文件的文件类型为可删除类型,则终端设备可以在应用访问该缓存文件之后,可以直接将该缓存文件从内存中进行删除。
若上述缓存文件的文件类型为临时存储类型,则终端设备可以在应用访问该缓存文件之后,确定将该缓存文件继续存储至内存,且不写回闪存。
若上述缓存文件的文件类型为需要长期存储的文件类型,则终端设备可以在应用访问该缓存文件之后,可以将该缓存文件写回闪存。
在本申请实施例中,存储设备可以通过获取缓存文件的特征信息,对上述缓存文件进行分类,并可以基于不同的文件类型,对上述缓存文件执行不同的管理操作。其中,丢失与否对应用都没有影响的缓存文件,存储设备可以直接删除,以释放相应的存储空间,为其他文件的提供更多可用的内存空间,提高内存的有效性,进而提高系统性能。对于需要临时存储的缓存文件,存储设备可以只将其临时存储至内存,不写回闪存,而对于需要长期存储的缓存文件,存储设备可以将其从内存写回到闪存中,以降低不必要的写回操作,有利于避免大量的缓存文件的写回操作与正常I/O冲突,进而提高I/O性能,本申请在保证缓存文件重新下载率较低的情况下,将需要长期存储的缓存文件写回闪存中,有利于提高存储设备性能和寿命。
对应上述S202,存储设备可以将上述特征信息输入至机器学习模型,获得上述缓存文件的文件类型,该机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
示例性地,存储设备可以将该特征信息作为VAE+Kmeans机器学习模型的输入,输出上述缓存文件的文件类型。由于该机器学习算法为轻量级的机器学习算法,所以可以在20微妙内实现上述对缓存文件的分类,且可以将内存开销降到82KB,用户体验好。
其中,将该特征信息输入VAE,得到降维后的特征,将VAE的输出作为Kmeans的输入得到上述缓存文件的类型。
应理解,上述机器学习模型可以采用算法降维算法、聚类算法、神经网络算法或者强化学习算法等,本申请对此不作限定。
以上述提供的三种文件类型为例,此处可以分三种情况对本申请实施例提供的缓存文件的管理方法进行详细的描述。
在第一种情况中,若上述缓存文件的类型为可删除类型,则存储设备可以将该缓存文件的文件页和文件标识直接删除,释放相应的存储空间,为其他文件提供更多可用的内存空间。
应理解,当该类可删除的缓存文件被再次被访问时,由于其文件页和文件标识被删除,所以存储设备需要从网络重新下载该缓存文件。
在第二种情况中,若上述缓存文件的类型为临时存储类型,存储设备可以通过准内存文件系统将上述缓存文件的文件页存储至内存中的不可移除列表中,以确保该缓存文件不会被移除内存,该缓存文件的文件标识可以用一个本申请提供的最近最少使用(leastrecently used,LRU)列表管理,图3示出了本申请实施例提供的LRU列表管理缓存文件的方法,如图3所示,从右向左看,一个缓存文件分类之后首先被插入到活跃列表中,当到达阈值时间后,活跃列表中的缓存文件被转移到闲置列表中,在空间压力越来越大,直到空间不够的情况下,且该缓存文件是后台应用产生的文件时,那么这个缓存文件会被优先回收,即删除,则该缓存文件与列表未链接,如果存储设备再次使用了闲置列表中的缓存文件,那么该缓存文件会被重新插回活跃列表的头部。
在内存充足的情况下,该类文件被存储至内存中,当内存不足时,即内存空间小于第二阈值的情况下,存储设备会对上述缓存文件进行删除,由于该类临时存储的缓存文件仅占总内存的1%左右,所以在减少了写回闪存的数据量的基础上,降低了与普通文件的读写冲突,进而提高整体I/O性能。
应理解,上述第二预设阈值可以等于上述第一预设阈值。
在第三种情况中,若上述缓存文件的类型为长期存储类型,存储设备可以通过闪存文件系统将上述缓存文件的文件页和文件标识写回闪存,避免了上述缓存文件的重新下载,提高访问速度。
应理解,对于该类需长期存储的缓存文件,当再次被访问时,由于其文件页和文件标识被长期存储,所以存储设备不需要从网络重新下载该缓存文件,可以直接在闪存中对其进行访问。
可选地,对于上述第一种情况,在删除上述为可删除类型的缓存文件前,存储设备还可以在内存空间小于第一预设阈值和/或该缓存文件未在第一预设时长内被访问的情况下,对内存中的上述可删除类型的缓存文件进行删除。
应理解,上述第一预设时长可以用于指示上述可删除类型的缓存文件在内存中未被访问的最大时长,若上述缓存文件未在该第一预设时长内被访问,则表明该缓存文件被访问的几率较低,为避免内存空间的无效占用,存储设备可以选择将该缓存文件从内存中删除。
可选地,对于上述第二种情况,存储设备还可以在内存空间小于上述第二阈值和/或该缓存文件未在第二预设时长内被访问的情况下,对内存中的为上述临时存储类型的缓存文件进行删除。
应理解,上述第二预设时长可以用于指示上述临时存储类型的缓存文件在内存中未被访问的最大时长,若上述缓存文件未在该第二预设时长内被访问,则表明该缓存文件被访问的几率较低,为避免内存空间的无效占用,存储设备可以选择将该缓存文件从内存中删除。
应理解,上述第一预设时长可以小于上述第二预设时长。
示例性地,由于可删除类型的缓存文件在本次访问后再被访问的几率很小,所以上述第一预设时长可以设为一天,若在一天内该类缓存文件未再被访问,则可以直接删除,以释放相应的内存空间,而上述为临时存储类型的缓存文件在短期内会被再次访问的几率较高,所以该第二预设时长可以大于上述第一预设时长,如设为一周,这样既可以提高访问效率,又可以降低该类缓存文件的下载率,从而降低开销。
可选地,当存储设备确定内存空间不足时,存储设备可以对内存中的不同类型的缓存文件进行删除。
在第一种情况中,内存中存在文件类型为可删除类型的缓存文件,和文件类型为时存储类型的缓存文件,则终端设备可以优先将上述文件类型为可删除类型的缓存文件删除。
在第二种情况中,内存中仅存在文件类型为临时存储类型的缓存文件,则终端设备可以直接删除上述该类缓存文件,以释放存储空间。
示例性地,存储设备可以在文件类型为临时存储类型的多个缓存文件中,选择未在上述第二预设时长内被访问,或者选择后台程序的上述缓存文件进行优先删除。
可选地,当存储设备确定闪存空间小于第三预设阈值和/或该类缓存文件未在第三预设时长内被访问的情况下,存储设备可以对存储在闪存中为长期存储类型的缓存文件进行删除。
应理解,上述第三预设时长用于指示上述为长期存储类型的缓存文件在闪存中的存储的最大时长,若在该第三预设时长内上述长期存储类型的缓存文件未被访问,则表明该缓存文件被访问的几率较低,存储设备可以选择删除改文件,以释放相应的闪存空间。
示例性地,存储设备可以空间不足的情况下,在文件类型为长期存储类型的多个缓存文件中,选择未在上述第三预设时长内被访问,或者选择后台程序的上述缓存文件进行优先删除,以释放相应的闪存空间。
应理解,上述第二预设时长可以小于上述第三预设时长。
示例性地,由于上述为长期存储类型的缓存文件删除后会对上述应用有影响,即在长时间内该类缓存文件被访问的概率极高,所以该第三预设时长可以大于上述第二预设时长,如可以设为一个月,这样可以在不影响应用的前提下,提高该类文件的访问效率,降低该类缓存文件重新下载的开销。
下面在上述缓存文件再次被访问的场景下,对本申请方案进行详细的描述。
图4示出了本申请实施例提供的又一缓存文件的管理方法400,如4所示,再次访问可以分为多种情况进行描述:
在第一种情况中,若应用访问上述缓存文件时,可以先判断该缓存文件是否存在于内存或者闪存中,若内存和闪存中都不存在上述缓存文件,则可以确定在上一次访问该缓存文件时,该缓存文件的类型为可删除类型或者临时存储类型的缓存,则存储设备需要重新下载该缓存文件,以供应用访问,该下载的缓存文件会暂时存储在内存中等待分类,存储设备可以在小于或等于30秒内通过机器学习模型对上述缓存文件进行再一次的分类,并根据最新的文件类型,对其进行存储管理,具体步骤和上述图2类似,为避免重复,本申请实施例不再做赘述。
应理解,内存和闪存中都不存在上述缓存文件,可以表明上述缓存文件上一次的分类可以为可删除类型,所以在上一次被访问后直接删除,也可以表明上述缓存文件上一次的分类可以为可删除类型,且在上一次被访问后,由于内存空间充裕,将其暂存至内存中,未将其删除,直到存储设备检测到内存不足时优先将其删除,还可以表明上述缓存文件上一次的分类可以为临时存储类型,在上一次被访问后,暂时存储至内存中,但由于内存空间不足,存储设备将其删除,以上情况都将导致此次访问需要存储设备重新下载。
在第二种情况中,若应用再次访问上述缓存文件时,确定上述缓存文件缓存在于内存中,则可以确定该缓存文件在上一次分类为可删除类型或者临时存储类型,则存储设备不需要重新下载上述缓存文件,应用可以直接在内存中访问该缓存文件,有效提高访问效率。
应理解,内存中存在上述缓存文件,可以表明上述缓存文件上一次的分类可以为可删除类型,且在上一次被访问后,由于内存空间充裕,存储设备将其暂存至内存中,未将该缓存文件删除。还可以表明上述缓存文件上一次的分类可以为临时存储类型,在上一次被访问后,暂时存储至内存中,所以存储设备可以不用重新下载上述缓存文件,应用可以直接在内存中对上述文件进行访问。
在第三种情况中,若应用再次访问上述缓存文件时,确定上述缓存文件缓存在于闪存中,则存储设备可以不需要重新下载上述缓存文件,应用可以直接在闪存中访问该缓存文件,提高访问效率。
应理解,闪存中存在上述缓存文件,可以表明上述缓存文件上一次的分类可以为长期存储类型,且在上一次被访问后,被写回闪存中,所以应用可以直接在内存中对上述文件进行访问,无需重新下载该缓存文件。
可选地,为避免上述缓存文件的分类在用户行为改变时,原有的文件类型会变得不适用,所以本申请还可以根据用户行为变化,对缓存文件重新分类,实现文件类型的改变。表一示出了缓存文件类型之间的改变,该改变需要执行的操作,以及该改变带来的有益效果。
表一
Figure BDA0003141879400000091
Figure BDA0003141879400000101
示例性地,若上述缓存文件上一次的文件类型为可删除的类型,该缓存文件在上一次被访问后会被立即删除,当该缓存文件被多次从网上重新下载并访问,则该缓存文件后续再次被下载后,会因访问率提高的原因,被重新分为临时存储的文件类型,实现文件类型的改变,有效降低该缓存文件的下载率,提高访问效率。
示例性地,若上述缓存文件上一次的文件类型为临时存储类型,当该缓存文件长时间不再被访问时,存储设备可以将该缓存文件删除,当该缓存文件下一次被访问时,该缓存文件可以被重新分为可删除的类型,有效避免该缓存文件长期不被访问占用内存空间的问题。
示例性地,若上述缓存文件上一次的文件类型为长期存储的类型,如果该缓存文件长期不被访问使用,则存储设备也可以将其从闪存中进行删除,释放相应的空间,在该缓存文件再一次被访问时,该缓存文件可以被重新分类为可删除类型或者临时存储类型,避免了该缓存文件长时间占用闪存空间,以及占用后被删除,降低闪存寿命的问题。
本申请实施例可以通过获取缓存文件的特征信息,对上述缓存文件进行分类,并可以基于不同的文件类型,对上述缓存文件执行区别管理。在保证缓存文件重新下载率较低的情况下,删除不再使用的缓存文件,释放相应的内存空间,以供其他文件使用,提高内存的有效性,进而提高系统性能,将短期内需要使用的缓存文件,暂存至内存中,只将需要长期使用的缓存文件写回至闪存中,降低了不必要的写回闪存的操作,有利于避免了大量的写回操作与正常I/O的冲突,进而提高I/O性能,有利于提高存储设备性能和寿命,此外本申请对缓存文件的分类还可以随着用户的行为的改变而改变,有利于提高存储设备对缓存文件的管理的灵活性,进而有效提高用户体验。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上述本申请提供的实施例中,从存储设备作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,存储可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
下面将结合图5和图6,详细描述本申请实施例提供的缓存文件的管理装置。
图5示出了本申请实施例提供的缓存文件的管理装置500,包括:获取模块501和处理模块502。
其中,获取模块501用于:获取缓存文件的特征信息,上述特征信息包括上述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;处理模块502用于:根据上述特征信息,确定上述缓存文件的文件类型,上述文件类型包括可删除类型、临时存储类型或长期存储类型中的至少两种;以及根据上述缓存文件的文件类型,管理所述缓存文件。
可选地,该处理模块502用于:将上述特征信息输入至机器学习模型,获得上述缓存文件的文件类型,上述机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
可选地,上述机器学习模型采用下列任一种算法:降维算法、聚类算法、神经网络算法或者强化学习算法。
可选地,该处理模块502用于:检测到应用的访问指令,上述访问指令用于指示上述应用访问上述缓存文件;在未存储上述缓存文件的情况下,基于上述访问指令,下载上述缓存文件至内存。
可选地,该处理模块502用于:若上述缓存文件的文件类型为可删除类型,确定所述内存是否小于第一预设阈值和/或所述缓存文件是否未在第一预设时长内被访问;在上述内存小于所述第一预设阈值和/或上述缓存文件未在第一预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
可选地,该处理模块502用于:若上述缓存文件的文件类型为临时存储类型,将上述文件页置于上述内存中的不可移除列表中,将上述文件标识置于LRU列表或者内存文件管理系统中。
可选地,该处理模块502用于:在上述内存小于第二预设阈值和/或上述缓存文件未在第二预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
可选地,该处理模块502用于:若上述缓存文件的文件类型为长期存储类型,将上述缓存文件的文件页和文件标识存储至闪存。
可选地,该处理模块502用于:确定上述缓存文件是否未在第三预设时长内被访问;在上述缓存文件未在上述第三预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
应理解,这里的装置500以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置500可以具体为上述实施例中的存储设备,或者,上述实施例中存储设备的功能可以集成在装置500中,装置500可以用于执行上述方法实施例中与存储设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。
上述装置500具有实现上述方法中存储设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
在本申请的实施例,图5中的装置500也可以是芯片或者芯片系统,例如:片上系统(system on chip,SoC)。
图6示出了本申请实施例提供的另一缓存文件的管理装置600。该装置600包括:处理器601、存储器602、通信接口603以及总线604。其中,存储器602用于存储指令,该处理器601用于执行该存储器602存储的指令。处理器601、存储器602和通信接口603通过总线604实现彼此之间的通信连接。
其中,处理器601用于:获取缓存文件的特征信息,上述特征信息包括上述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;根据上述特征信息,确定上述缓存文件的文件类型,上述文件类型包括可删除类型、临时存储类型或长期存储类型中的至少两种;以及,根据上述缓存文件的文件类型,管理所述缓存文件。
可选地,该处理器601用于:将上述特征信息输入至机器学习模型,获得上述缓存文件的文件类型,上述机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
可选地,上述机器学习模型采用下列任一种算法:降维算法、聚类算法、神经网络算法或者加强学习算法。
可选地,该处理器601用于:检测到应用的访问指令,上述访问指令用于指示上述应用访问上述缓存文件;在未存储上述缓存文件的情况下,基于上述访问指令,下载上述缓存文件至内存。
可选地,该处理器601用于:若上述缓存文件的文件类型为可删除类型,确定所述内存是否小于第一预设阈值和/或所述缓存文件是否未在第一预设时长内被访问;在上述内存小于所述第一预设阈值和/或上述缓存文件未在第一预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
可选地,该处理器601用于:若上述缓存文件的文件类型为临时存储类型,将上述文件标识置于LRU列表或者内存文件管理系统中。
可选地,该处理器601用于:在上述内存小于第二预设阈值和/或上述缓存文件未在第二预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
可选地,该处理器601用于:若上述缓存文件的文件类型为长期存储类型,将上述缓存文件的文件页和文件标识存储至闪存。
可选地,该处理器601用于:确定上述缓存文件是否未在第三预设时长内被访问;在上述缓存文件未在上述第三预设时长内被访问的情况下,删除上述缓存文件的文件页和文件标识。
应理解,装置600可以具体为上述实施例中的存储设备,或者,上述实施例中存储设备的功能可以集成在装置600中,装置600可以用于执行上述方法实施例中与存储设备对应的各个步骤和/或流程。可选地,该存储器602可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器601可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与存储设备对应的各个步骤和/或流程。
应理解,在本申请实施例中,该处理器可以是中央处理单元(Central ProcessingUnit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (21)

1.一种缓存文件的管理方法,其特征在于,包括:
获取缓存文件的特征信息,所述特征信息包括所述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;
根据所述特征信息,确定所述缓存文件的文件类型,所述文件类型包括可删除类型、临时存储类型和长期存储类型中的至少两种;
根据所述缓存文件的文件类型,管理所述缓存文件。
2.根据权利要求1所述的管理方法,其特征在于,所述根据所述特征信息,确定所述缓存文件的文件类型,包括:
将所述特征信息输入至机器学习模型,获得所述缓存文件的文件类型,所述机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
3.根据权利要求2所述的管理方法,其特征在于,所述机器学习模型采用下列任一种算法:
降维算法、聚类算法、神经网络算法或者强化学习算法。
4.根据权利要求1至3中任一项所述的管理方法,其特征在于,在所述获取缓存文件的特征信息之前,所述方法还包括:
接收到应用的访问指令,所述访问指令用于指示所述应用访问所述缓存文件;
在未存储所述缓存文件的情况下,基于所述访问指令,下载所述缓存文件至内存。
5.根据权利要求1至4中任一项所述的管理方法,其特征在于,所述根据所述缓存文件的文件类型,管理所述缓存文件,包括:
若所述缓存文件的文件类型为可删除类型,确定所述内存是否小于第一预设阈值和/或所述缓存文件是否未在第一预设时长内被访问;
在所述内存小于所述第一预设阈值和/或所述缓存文件未在第一预设时长内被访问的情况下,删除所述缓存文件的文件页和文件标识。
6.根据权利要求1至4中任一项所述的管理方法,其特征在于,所述根据所述缓存文件的文件类型,管理所述缓存文件,包括:
若所述缓存文件的文件类型为临时存储类型,将所述文件页置于所述内存中的不可移除列表中,将所述文件标识置于最近最少使用LRU列表或者内存文件管理系统中。
7.根据权利要求6所述的管理方法,其特征在于,所述方法还包括:
在所述内存小于第二预设阈值和/或所述缓存文件未在第二预设时长内被访问的情况下,删除所述缓存文件的文件页和文件标识。
8.根据权利要求1至4中任一项所述的管理方法,其特征在于,所述根据所述缓存文件的文件类型,管理所述缓存文件,包括:
若所述缓存文件的文件类型为长期存储类型,将所述缓存文件的文件页和文件标识存储至闪存。
9.根据权利要求8所述的管理方法,其特征在于,所述方法还包括:
确定所述缓存文件是否未在第三预设时长内被访问;
在所述缓存文件未在所述第三预设时长内被访问的情况下,删除所述缓存文件的文件页和文件标识。
10.一种缓存文件的管理装置,其特征在于,包括:
获取模块,用于获取缓存文件的特征信息,所述特征信息包括所述缓存文件的读写信息、尺寸信息或活跃时间信息中的至少一个;
处理模块,用于根据所述特征信息,确定所述缓存文件的文件类型,所述文件类型包括可删除类型、临时存储类型或长期存储类型中的至少两种;以及根据所述缓存文件的文件类型,管理所述缓存文件。
11.根据权利要求10所述的管理装置,其特征在于,所述处理模块用于:
将所述特征信息输入至机器学习模型,获得所述缓存文件的文件类型,所述机器学习模型是利用历史缓存文件的特征信息和文件类型训练得到的。
12.根据权利要求11所述的管理装置,其特征在于,所述机器学习模型采用下列任一种算法:
降维算法、聚类算法、神经网络算法或者强化学习算法。
13.根据权利要求10至12中任一项所述的管理装置,其特征在于,所述处理模块用于:
检测到应用的访问指令,所述访问指令用于指示所述应用访问所述缓存文件;
在为存储所述缓存文件的情况下,基于所述访问指令,下载所述缓存文件至内存。
14.根据权利要求10至13中任一项所述的管理装置,其特征在于,所述处理模块用于:
若所述缓存文件的文件类型为可删除类型,确定所述内存是否小于第一预设阈值和/或所述缓存文件是否未在第一预设时长内被访问;
在所述内存小于第一预设阈值和/或所述缓存文件未在第一预设时长内被访问的情况下,删除所述缓存文件的文件页和文件标识。
15.根据权利要求10至13中任一项所述的管理装置,其特征在于,所述处理模块用于:
若所述缓存文件的文件类型为临时存储类型,将所述文件页置于所述内存中的不可移除列表中,将所述文件标识置于LRU列表或者内存文件管理系统中。
16.根据权利要求15所述的管理装置,其特征在于,所述处理模块用于:
在所述内存小于第二预设阈值和/或所述缓存文件未在第二预设时长内被访问的情况下,删除所述缓存文件的文件页和文件标识。
17.根据权利要求10至13中任一项所述的管理装置,其特征在于,所述处理模块用于:
若所述缓存文件的文件类型为长期存储类型,将所述缓存文件的文件页和文件标识存储至闪存。
18.根据权利要求17所述的管理装置,其特征在于,所述处理模块用于:
确定所述缓存文件是否未在第三预设时长内被访问;
在所述缓存文件未在所述第三预设时长内被访问的情况下,删除所述缓存文件的文件页和文件标识。
19.一种缓存文件的管理装置,其特征在于,包括:处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,当所述处理器调用所述计算机程序时,使得所述装置执行如权利要求1至9中任一项所述的管理方法。
20.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于实现如权利要求1至9中任一项所述的管理方法的指令。
21.一种计算机程序产品,所述计算机程序产品中包括计算机程序代码,其特征在于,当所述计算机程序代码在计算机上运行时,使得所述计算机实现如权利要求1至9中任一项所述的管理方法。
CN202110742786.4A 2021-06-30 2021-06-30 缓存文件的管理方法和管理装置 Pending CN115617255A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110742786.4A CN115617255A (zh) 2021-06-30 2021-06-30 缓存文件的管理方法和管理装置
PCT/CN2022/093239 WO2023273659A1 (zh) 2021-06-30 2022-05-17 缓存文件的管理方法和管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110742786.4A CN115617255A (zh) 2021-06-30 2021-06-30 缓存文件的管理方法和管理装置

Publications (1)

Publication Number Publication Date
CN115617255A true CN115617255A (zh) 2023-01-17

Family

ID=84690316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110742786.4A Pending CN115617255A (zh) 2021-06-30 2021-06-30 缓存文件的管理方法和管理装置

Country Status (2)

Country Link
CN (1) CN115617255A (zh)
WO (1) WO2023273659A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115952140B (zh) * 2023-01-09 2023-10-27 华苏数联科技有限公司 一种基于大数据的计算机资源管理系统及方法
CN116627920B (zh) * 2023-07-24 2023-11-07 华能信息技术有限公司 一种基于工业互联网的数据存储方法
CN117931077A (zh) * 2024-01-22 2024-04-26 广东跃昉科技有限公司 一种面向大模型的数据存储优化方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120872B2 (en) * 2015-12-28 2018-11-06 Facebook, Inc. Data caching based on requestor identity
CN106227867B (zh) * 2016-07-29 2019-10-25 努比亚技术有限公司 一种文件管理的方法及装置
CN109005056B (zh) * 2018-07-16 2020-06-23 网宿科技股份有限公司 基于cdn应用的存储容量评估方法和装置
US10705978B2 (en) * 2018-10-29 2020-07-07 Verizon Digital Media Services Inc. Asynchronous tracking for high-frequency and high-volume storage
KR102663661B1 (ko) * 2018-12-06 2024-05-10 에스케이하이닉스 주식회사 메모리 시스템 내 저장된 데이터를 제어하는 방법 및 장치
CN113297106A (zh) * 2020-04-15 2021-08-24 阿里巴巴集团控股有限公司 基于混合存储的数据置换方法、相关方法及装置和系统
CN111737209A (zh) * 2020-06-23 2020-10-02 深圳市网心科技有限公司 一种文件清理方法及其相关设备

Also Published As

Publication number Publication date
WO2023273659A1 (zh) 2023-01-05

Similar Documents

Publication Publication Date Title
CN115617255A (zh) 缓存文件的管理方法和管理装置
CN110149803B (zh) 数据存储方法、系统及终端设备
CN108776614B (zh) 存储块的回收方法和装置
CN110837480A (zh) 缓存数据的处理方法及装置、计算机存储介质、电子设备
US20190332540A1 (en) Storage management method, electronic device and computer readable medium
CN111930305A (zh) 数据的存储方法和装置、存储介质、电子装置
CN108829345B (zh) 日志文件的数据处理方法和终端设备
CN111124314A (zh) 映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质
CN111913913B (zh) 访问请求的处理方法和装置
CN113703873A (zh) 客户端的冷启动方法、装置、介质、设备和程序产品
CN115840654B (zh) 消息的处理方法、系统、计算设备及可读存储介质
CN116049032B (zh) 基于光线追踪的数据调度方法、装置及设备、存储介质
CN110427394B (zh) 数据操作方法及装置
CN110727405A (zh) 数据处理方法、装置、电子设备及计算机可读介质
CN113253939B (zh) 数据处理方法、装置、电子设备及存储介质
CN113238716B (zh) 数据访问请求的处理方法、装置和电子设备
CN111352825B (zh) 数据接口的测试方法、装置及服务器
CN109933580B (zh) 训练数据生成方法、装置及服务器
CN107436918B (zh) 数据库实现方法、装置和设备
CN112988037A (zh) 静态磨损均衡方法、终端和计算机可读存储介质
CN109213526B (zh) 用于确定处理器操作的方法及装置
CN112015791A (zh) 数据处理方法、装置、电子设备及计算机存储介质
CN111078714B (zh) 数据处理的方法及装置
CN114237509B (zh) 数据访问方法及装置
CN112764908B (zh) 网络数据采集处理方法、装置和电子设备

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