CN113076292B - 一种文件缓存方法、系统、存储介质及设备 - Google Patents

一种文件缓存方法、系统、存储介质及设备 Download PDF

Info

Publication number
CN113076292B
CN113076292B CN202110341739.9A CN202110341739A CN113076292B CN 113076292 B CN113076292 B CN 113076292B CN 202110341739 A CN202110341739 A CN 202110341739A CN 113076292 B CN113076292 B CN 113076292B
Authority
CN
China
Prior art keywords
file
state
node
cached
target 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.)
Active
Application number
CN202110341739.9A
Other languages
English (en)
Other versions
CN113076292A (zh
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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer Technology 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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110341739.9A priority Critical patent/CN113076292B/zh
Publication of CN113076292A publication Critical patent/CN113076292A/zh
Application granted granted Critical
Publication of CN113076292B publication Critical patent/CN113076292B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种文件缓存方法、系统、存储介质及设备,方法包括:将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态和将未缓存文件对应的节点状态标记为待缓存状态;确认要读取的目标文件的节点号是否存在于节点树中;响应于目标文件的节点号不存在于节点树中,将目标文件的节点号加入节点树中,并将对应的节点状态标记为待缓存状态;从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;响应于目标文件的节点号存在于节点树中且对应的节点状态为待缓存状态,直接执行本地缓存并更改状态的步骤。本发明提高了本地缓存的有效性,避免了无效缓存。

Description

一种文件缓存方法、系统、存储介质及设备
技术领域
本发明涉及缓存技术领域,尤其涉及一种文件缓存方法、系统、存储介质及设备。
背景技术
随着社会信息爆炸时代的到来,个人的数据量日益增大,存储服务器的发展也随之加快,进而对数据读写性能的要求也越来越高。
缓存就是数据交换的缓冲区(称作cache),当某一硬件要读取数据时,会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话则从内存中找。由于缓存的运行速度比内存快的多,故缓存的作用就是帮助硬件更快地运行。
在客户端操作系统的层面上,通常是在内存和硬盘之间使用page cache(页高速缓冲存储器)来提高对文件的访问速度;还有一些方式是在客户端本地将本地硬盘作为缓存来实现客户端缓存,以提升性能,如FScache。
但是page cache的缓存大小受限制,且属于linux系统的内存缓存,可开发性难度大;FScache作为分布式文件系统的一种客户端缓存,也存在一些不足之处,与page cache缓存内容重复,且存在无效缓存。
发明内容
有鉴于此,本发明的目的在于提出一种文件缓存方法、系统、存储介质及设备,以使得对常使用的文件进行客户端本地有效缓存,避免了对不常使用的文件进行缓存的无效缓存。
基于上述目的,本发明提供了一种文件缓存方法,包括如下步骤:
将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态;
确认要读取的目标文件的节点号是否存在于节点树中;
响应于目标文件的节点号不存在于节点树中,将目标文件的节点号加入节点树中,并将对应的节点状态标记为待缓存状态;
从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;
响应于目标文件的节点号存在于节点树中且对应的节点状态为待缓存状态,直接从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态。
在一些实施例中,方法还包括:响应于目标文件的节点号存在于节点树中且对应的节点状态为已缓存状态,从本地缓存盘中读取目标文件。
在一些实施例中,响应于目标文件的节点号存在于节点树中且对应的节点状态为已缓存状态,从本地缓存盘中读取目标文件包括:
响应于目标文件的节点号存在于节点树中且对应的节点状态为已缓存状态,检查本地缓存盘和服务端中的目标文件是否一致;
响应于本地缓存盘和服务端中的目标文件不一致,将本地缓存盘中的目标文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态;
响应于本地缓存盘和服务端中的目标文件一致,从本地缓存盘中读取目标文件。
在一些实施例中,将指定文件集中各文件的节点号存入节点树中包括:
在命令行中输入指定文件集的文件路径以向服务端获取其元数据信息,并将元数据信息中的节点号存入节点树中。
在一些实施例中,将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态包括:
将各文件中缓存到本地缓存盘的文件对应的节点状态标记为已缓存状态,以及将各文件中的其余文件对应的节点状态标记为待缓存状态。
在一些实施例中,从服务端读取目标文件并将其进行本地缓存包括:
从服务端读取目标文件,并将目标文件加入本地缓存处理流程中,且通过内核线程将目标文件写入到本地缓存盘。
在一些实施例中,方法还包括:
为对应节点状态为已缓存状态的缓存文件设立对象文件,并将缓存文件的最近访问时间存入对象文件中;
通过检查对象文件将最近访问时间与当前时间比对,若比对的时间差值达到预设的老化时间阈值,则将缓存文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态。
本发明的另一方面,还提供了一种文件缓存系统,包括:
节点建立模块,配置用于将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态;
节点号确认模块,配置用于确认要读取的目标文件的节点号是否存在于节点树中;
节点号加入模块,配置用于响应于目标文件的节点号不存在于节点树中,将目标文件的节点号加入节点树中,并将对应的节点状态标记为待缓存状态;
第一目标文件缓存模块,配置用于从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;以及
第二目标文件缓存模块,配置用于响应于目标文件的节点号存在于节点树中且对应的节点状态为待缓存状态,从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被执行时实现上述任意一项方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述任意一项方法。
本发明至少具有以下有益技术效果:
本发明实现了客户端本地缓存的指定文件集缓存机制,改进了客户端本地缓存方式,提高了本地缓存的有效性;通过为目标文件增加节点以及进行缓存,也实现了对常用文件的缓存;对未指定的或不常用的文件不进行缓存查找,避免了无效缓存,节省了缓存空间,并且减少了不必要的缓存查找流程,进一步提高了文件读取性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的文件缓存方法的示意图;
图2为根据本发明实施例提供的节点树的示意图;
图3为根据本发明实施例提供的文件缓存系统的示意图;
图4为本发明提供的执行文件缓存方法的计算机设备的一个实施例的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种文件缓存方法的实施例。图1示出的是本发明提供的文件缓存方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态;
步骤S20、确认要读取的目标文件的节点号是否存在于节点树中;
步骤S30、响应于目标文件的节点号不存在于节点树中,将目标文件的节点号加入节点树中,并将对应的节点状态标记为待缓存状态;
步骤S40、从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;
步骤S50、响应于目标文件的节点号存在于节点树中且对应的节点状态为待缓存状态,直接从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态。
本实施例中,客户端进行读取目标文件时,对节点树进行检查,若节点树中有该目标文件的节点号,则该目标文件属于指定文件集中的文件,然后判断其对应的节点状态,若是待缓存状态则表示文件未缓存到本地缓存盘,从本地缓存盘中读取失败返回值,再从服务端读取目标文件。
本发明实施例实现了客户端本地缓存的指定文件集缓存机制,改进了客户端本地缓存方式,提高了本地缓存的有效性;通过为目标文件增加节点以及进行缓存,也实现了对常用文件的缓存;对未指定的或不常用的文件不进行缓存查找,避免了无效缓存,节省了缓存空间,并且减少了不必要的缓存查找流程,进一步提高了文件读取性能。
在一些实施例中,方法还包括:响应于目标文件的节点号存在于节点树中且对应的节点状态为已缓存状态,从本地缓存盘中读取目标文件。
在一些实施例中,响应于目标文件的节点号存在于节点树中且对应的节点状态为已缓存状态,从本地缓存盘中读取目标文件包括:响应于目标文件的节点号存在于节点树中且对应的节点状态为已缓存状态,检查本地缓存盘和服务端中的目标文件是否一致;响应于本地缓存盘和服务端中的目标文件不一致,将本地缓存盘中的目标文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态;响应于本地缓存盘和服务端中的目标文件一致,从本地缓存盘中读取目标文件。本实施例中,检查本地缓存盘和服务端中目标文件的一致性,通过文件版本号、最近修改时间来检查,目标文件从服务端元数据服务器获取到的inode元数据信息和本地缓存存入的文件的元数据信息中的文件版本号和最近修改时间比对,若不一致则删除掉本地缓存文件并将节点树中此节点状态标记为待缓存状态;若一致就进行读取操作。
在一些实施例中,将指定文件集中各文件的节点号存入节点树中包括:在命令行中输入指定文件集的文件路径以向服务端获取其元数据信息,并将元数据信息中的节点号存入节点树中。本实施例中,客户端通过命令行从服务端获取指定文件集(目录和/或文件)信息链表。图2示出了节点树的示意图。如图2所示,可以将文件的节点号(Inode号)存入节点树(Inode_tree)中;如果是目录,则将该目录下的所有文件的节点号存入节点树中。相应地,客户端命令行输入的参数可以是文件路径和/或目录路径。
在一些实施例中,将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态包括:将各文件中缓存到本地缓存盘的文件对应的节点状态标记为已缓存状态,以及将各文件中的其余文件对应的节点状态标记为待缓存状态。本实施例中,节点树的节点状态提供待缓存状态和已缓存状态两种。如果本地缓存盘中的缓存文件被删除或者淘汰,则也会从节点树中删除相应的节点,即取消了节点树中的相应节点号。
在一些实施例中,从服务端读取目标文件并将其进行本地缓存包括:从服务端读取目标文件,并将目标文件加入本地缓存处理流程中,且通过内核线程将目标文件写入到本地缓存盘。本实施例中,具体地,可以由内核线程通过vfs_write将目标文件写入到本地缓存盘中。vfs(虚拟文件系统)是物理文件系统与服务之间的接口层,向下对文件系统提供标准接口,方便其他文件系统移植,向上对应用层提供标准文件操作接口,使open、read、write等系统调用可以跨越各种文件系统和不同介质执行。
在一些实施例中,方法还包括:为对应节点状态为已缓存状态的缓存文件设立对象文件,并将缓存文件的最近访问时间存入对象文件中;通过检查对象文件将最近访问时间与当前时间比对,若比对的时间差值达到预设的老化时间阈值,则将缓存文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态。本实施例实现了本地缓存文件的老化处理机制。设立的对象文件和缓存入本地缓存盘的缓存文件一一对应,将缓存文件的文件名、路径、节点号、最近访问时间等存入对象文件中,且用链表维护。本实施例中,若比对的时间差值达到设定的老化时间(即预设阈值),则将此缓存文件的对象文件加入老化队列,向内核系统调用,由内核来删除此缓存文件并将节点树中的对应节点状态标记为待缓存状态。老化时间可通过命令行设定。本发明实施例通过增加本地缓存老化处理机制,可以对本地的无效缓存进行淘汰,优化并节省了本地缓存空间,进而提高缓存性能。
本发明实施例的第二个方面,还提供了一种文件缓存系统。图3示出的是本发明提供的文件缓存系统的实施例的示意图。一种文件缓存系统包括:节点建立模块10,配置用于将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态;节点号确认模块20,配置用于确认要读取的目标文件的节点号是否存在于节点树中;节点号加入模块30,配置用于响应于目标文件的节点号不存在于节点树中,将目标文件的节点号加入节点树中,并将对应的节点状态标记为待缓存状态;第一目标文件缓存模块40,配置用于从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;以及第二目标文件缓存模块50,配置用于响应于目标文件的节点号存在于节点树中且对应的节点状态为待缓存状态,从服务端读取目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态。
本发明实施例的文件缓存系统,实现了客户端本地缓存的指定文件集缓存机制,改进了客户端本地缓存方式,提高了本地缓存的有效性;通过为目标文件增加节点以及进行缓存,也实现了对常用文件的缓存;对未指定的或不常用的文件不进行缓存查找,避免了无效缓存,节省了缓存空间,并且减少了不必要的缓存查找流程,进一步提高了文件读取性能。
本发明实施例的第三个方面,还提供了一种计算机存储介质,存储介质存储有计算机程序指令,该计算机程序指令被执行时实现上述任意一项实施例方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的文件缓存方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的文件缓存系统和存储介质。也就是说,上面所述的应用于文件缓存方法的所有实施例及其变化都可以直接移转应用于根据本发明的系统和存储介质,并直接结合于此。为了本公开的简洁起见,在此不再重复阐述。
本发明实施例的第四个方面,还提供了一种计算机设备,包括存储器302和处理器301,该存储器中存储有计算机程序,该计算机程序被该处理器执行时实现上述任意一项实施例方法。
如图4所示,为本发明提供的执行文件缓存方法的计算机设备的一个实施例的硬件结构示意图。以如图4所示的计算机设备为例,在该计算机设备中包括一个处理器301以及一个存储器302,并还可以包括:输入装置303和输出装置304。处理器301、存储器302、输入装置303和输出装置304可以通过总线或者其他方式连接,图4中以通过总线连接为例。输入装置303可接收输入的数字或字符信息,以及产生与文件缓存系统的用户设置以及功能控制有关的键信号输入。输出装置304可包括显示屏等显示设备。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的文件缓存方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

Claims (7)

1.一种文件缓存方法,其特征在于,包括以下步骤:
将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态;
确认要读取的目标文件的节点号是否存在于所述节点树中;
响应于所述目标文件的节点号不存在于所述节点树中,将所述目标文件的节点号加入所述节点树中,并将对应的节点状态标记为待缓存状态;
从服务端读取所述目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;
响应于所述目标文件的节点号存在于所述节点树中且对应的节点状态为待缓存状态,直接从服务端读取所述目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;
响应于所述目标文件的节点号存在于所述节点树中且对应的节点状态为已缓存状态,从本地缓存盘中读取所述目标文件,其进一步包括:
响应于所述目标文件的节点号存在于所述节点树中且对应的节点状态为已缓存状态,检查所述本地缓存盘和所述服务端中的目标文件是否一致;
响应于所述本地缓存盘和所述服务端中的目标文件不一致,将所述本地缓存盘中的所述目标文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态;
响应于所述本地缓存盘和所述服务端中的目标文件一致,从所述本地缓存盘中读取所述目标文件;
为对应节点状态为已缓存状态的缓存文件设立对象文件,并将所述缓存文件的最近访问时间存入所述对象文件中;
通过检查所述对象文件将最近访问时间与当前时间比对,若比对的时间差值达到预设的老化时间阈值,则将所述缓存文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态。
2.根据权利要求1所述的方法,其特征在于,将指定文件集中各文件的节点号存入节点树中包括:
在命令行中输入所述指定文件集的文件路径以向所述服务端获取其元数据信息,并将所述元数据信息中的节点号存入节点树中。
3.根据权利要求1所述的方法,其特征在于,将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态包括:
将各文件中缓存到本地缓存盘的文件对应的节点状态标记为已缓存状态,以及将各文件中的其余文件对应的节点状态标记为待缓存状态。
4.根据权利要求1所述的方法,其特征在于,从服务端读取所述目标文件并将其进行本地缓存包括:
从服务端读取所述目标文件,并将所述目标文件加入本地缓存处理流程中,且通过内核线程将所述目标文件写入到本地缓存盘。
5.一种文件缓存系统,其特征在于,包括:
节点建立模块,配置用于将指定文件集中各文件的节点号存入节点树中,并将各文件中的已缓存文件对应的节点状态标记为已缓存状态,以及将各文件中的未缓存文件对应的节点状态标记为待缓存状态;
节点号确认模块,配置用于确认要读取的目标文件的节点号是否存在于所述节点树中;
节点号加入模块,配置用于响应于所述目标文件的节点号不存在于所述节点树中,将所述目标文件的节点号加入所述节点树中,并将对应的节点状态标记为待缓存状态;
第一目标文件缓存模块,配置用于从服务端读取所述目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;
第二目标文件缓存模块,配置用于响应于所述目标文件的节点号存在于所述节点树中且对应的节点状态为待缓存状态,从服务端读取所述目标文件并将其进行本地缓存,且将对应的节点状态由待缓存状态更改为已缓存状态;
所述文件缓存系统还配置用于响应于所述目标文件的节点号存在于所述节点树中且对应的节点状态为已缓存状态,从本地缓存盘中读取所述目标文件,其进一步配置用于响应于所述目标文件的节点号存在于所述节点树中且对应的节点状态为已缓存状态,检查所述本地缓存盘和所述服务端中的目标文件是否一致;响应于所述本地缓存盘和所述服务端中的目标文件不一致,将所述本地缓存盘中的所述目标文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态;响应于所述本地缓存盘和所述服务端中的目标文件一致,从所述本地缓存盘中读取所述目标文件;以及为对应节点状态为已缓存状态的缓存文件设立对象文件,并将所述缓存文件的最近访问时间存入所述对象文件中;通过检查所述对象文件将最近访问时间与当前时间比对,若比对的时间差值达到预设的老化时间阈值,则将所述缓存文件删除,并将对应的节点状态由已缓存状态更改为待缓存状态。
6.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被执行时实现如权利要求1-4任意一项所述的方法。
7.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-4任意一项所述的方法。
CN202110341739.9A 2021-03-30 2021-03-30 一种文件缓存方法、系统、存储介质及设备 Active CN113076292B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110341739.9A CN113076292B (zh) 2021-03-30 2021-03-30 一种文件缓存方法、系统、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110341739.9A CN113076292B (zh) 2021-03-30 2021-03-30 一种文件缓存方法、系统、存储介质及设备

Publications (2)

Publication Number Publication Date
CN113076292A CN113076292A (zh) 2021-07-06
CN113076292B true CN113076292B (zh) 2023-03-14

Family

ID=76611943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110341739.9A Active CN113076292B (zh) 2021-03-30 2021-03-30 一种文件缓存方法、系统、存储介质及设备

Country Status (1)

Country Link
CN (1) CN113076292B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944958A (zh) * 2014-03-14 2014-07-23 中国科学院计算技术研究所 一种广域文件系统及实现方法
CN105404673A (zh) * 2015-11-19 2016-03-16 清华大学 基于nvram的高效文件系统构建方法
CN109144998A (zh) * 2018-07-06 2019-01-04 东软集团股份有限公司 节点数据的展现方法、装置、存储介质及电子设备
CN110795395A (zh) * 2018-07-31 2020-02-14 阿里巴巴集团控股有限公司 文件部署系统和文件部署方法
CN111221776A (zh) * 2019-12-30 2020-06-02 上海交通大学 面向非易失性内存的文件系统的实现方法、系统及介质
CN112424770A (zh) * 2018-08-07 2021-02-26 甲骨文国际公司 无状态应用中以接近恒定的时间浏览和随机访问大型层次结构的能力

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100832222B1 (ko) * 2001-06-09 2008-05-23 자프 아게 메인 메모리 데이터베이스 시스템의 색인 구조를 위한캐쉬에 최적화된 동시성 제어방법
US20130226888A1 (en) * 2012-02-28 2013-08-29 Netapp, Inc. Systems and methods for caching data files
US9792309B2 (en) * 2014-08-04 2017-10-17 Cohesity, Inc. Write operations in a tree-based distributed file system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944958A (zh) * 2014-03-14 2014-07-23 中国科学院计算技术研究所 一种广域文件系统及实现方法
CN105404673A (zh) * 2015-11-19 2016-03-16 清华大学 基于nvram的高效文件系统构建方法
CN109144998A (zh) * 2018-07-06 2019-01-04 东软集团股份有限公司 节点数据的展现方法、装置、存储介质及电子设备
CN110795395A (zh) * 2018-07-31 2020-02-14 阿里巴巴集团控股有限公司 文件部署系统和文件部署方法
CN112424770A (zh) * 2018-08-07 2021-02-26 甲骨文国际公司 无状态应用中以接近恒定的时间浏览和随机访问大型层次结构的能力
CN111221776A (zh) * 2019-12-30 2020-06-02 上海交通大学 面向非易失性内存的文件系统的实现方法、系统及介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Linux的文件系统及文件缓存知识点整理;布道师Peter;《CSDN博客》;20201112;全文 *
并行文件系统缓存技术研究;林运章;《中国优秀硕士学位论文全文数据库》;20050615;全文 *

Also Published As

Publication number Publication date
CN113076292A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
US10691362B2 (en) Key-based memory deduplication protection
WO2023040200A1 (zh) 一种数据重删方法、系统、存储介质及设备
US20090164738A1 (en) Process Based Cache-Write Through For Protected Storage In Embedded Devices
CN109213450B (zh) 一种基于闪存阵列的关联元数据删除方法、装置及设备
CN107577775B (zh) 一种读取数据方法、装置、电子设备及可读存储介质
CN112559529A (zh) 数据存储方法、装置、计算机设备及存储介质
CN111414207A (zh) 一种页面搭建方法、装置和设备
CN115114232A (zh) 一种历史版本对象列举方法、装置及其介质
CN111291083A (zh) 网页源码数据处理方法、装置及计算机设备
CN113076292B (zh) 一种文件缓存方法、系统、存储介质及设备
KR20150045073A (ko) 데이터 운용 방법 및 이를 지원하는 시스템
CN112463880A (zh) 一种区块链数据存储方法及相关装置
CN117131014A (zh) 数据库迁移方法、装置、设备及存储介质
CN112286457A (zh) 对象重删方法、装置、电子设备及机器可读存储介质
CN111708734A (zh) 一种分布式系统的元数据访问方法、系统、设备以及介质
CN113626089B (zh) 一种基于bios系统的数据操作方法、系统、介质及设备
CN112783866B (zh) 数据读取方法、装置、计算机设备和存储介质
CN112068899B (zh) 插件加载方法、装置、电子设备及存储介质
CN111382179B (zh) 数据处理方法、装置及电子设备
CN113760725A (zh) 数据处理方法、装置及存储介质
CN114491612A (zh) 文件脱敏方法、装置及存储介质
CN114968963A (zh) 文件覆盖写方法、装置和电子设备
CN111708626A (zh) 数据访问方法、装置、计算机设备和存储介质
CN113760195B (zh) 一种基于嵌入式的fatfs文件系统
CN115374218B (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
GR01 Patent grant
GR01 Patent grant