CN111782612B - 跨域虚拟数据空间中文件数据边缘缓存方法 - Google Patents

跨域虚拟数据空间中文件数据边缘缓存方法 Download PDF

Info

Publication number
CN111782612B
CN111782612B CN202010404811.3A CN202010404811A CN111782612B CN 111782612 B CN111782612 B CN 111782612B CN 202010404811 A CN202010404811 A CN 202010404811A CN 111782612 B CN111782612 B CN 111782612B
Authority
CN
China
Prior art keywords
file
cache
data
node
edge
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
CN202010404811.3A
Other languages
English (en)
Other versions
CN111782612A (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202010404811.3A priority Critical patent/CN111782612B/zh
Publication of CN111782612A publication Critical patent/CN111782612A/zh
Application granted granted Critical
Publication of CN111782612B publication Critical patent/CN111782612B/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/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse 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/18File system types
    • G06F16/188Virtual 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种跨域虚拟数据空间中文件数据边缘缓存方法,针对跨域虚拟数据空间中远程数据高效访问的需求以及广域环境给上层应用带来的IO瓶颈问题,提出了文件数据的边缘缓存机制。将远程数据缓存在靠近客户端的地方,建立边缘缓存,以提升上层应用访问远程数据的整体性能,并通过缓存共享,进一步减少数据冗余;边缘缓存针对小文件建立基于内存的文件缓存,针对大文件建立基于稀疏文件的文件系统缓存;采用基于文件扩展属性的中心读写标志的缓存策略,提升虚拟数据空间中数据的一致性;通过基于文件流行度的缓存替换策略,保证缓存的性能和效率。

Description

跨域虚拟数据空间中文件数据边缘缓存方法
技术领域:
本发明公开了一种跨域虚拟数据空间中文件数据边缘缓存方法,涉及广域高性能计算面临的挑战,属于计算机技术领域。
背景技术:
当前国家高性能计算环境中存储资源广域分散且隔离自治,大型计算应用迫切需要可支持跨域统一访问的全局虚拟数据空间,聚合广域分散自治存储资源形成跨域虚拟数据空间,实现存储资源全局统一管理和高效访问。目前已经完成虚拟数据空间模型的构建,设计并实现了虚拟数据空间基础软件系统。目前已经在中科院网络中心,广州超算中心,上海超算中心,济南超算中心和长沙超算中心等五个点进行部署测试。
跨域虚拟数据空间是一种广域文件系统,其客户端基于FUSE实现,支持以POSIX接口方式进行文件操作,客户端针对文件数据和空间信息进行缓存,数据缓存存在于异步写队列和预读窗口内,无缓存一致性开销,针对顺序读进行预读,无中长期缓存。管理节点维护全局统一名字空间,IO代理节点信息以及账户等相关管理信息。信息存放于各中心数据库中。各中心管理节点依靠数据库之间信息同步来保证全局管理信息最终一致。IO代理节点,负责传输文件数据和文件元数据,采用事件驱动以及线程池同步IO的方式,提供文件访问功能。
广域网环境具有低带宽、高时延、易抖动的特征。通信次数,通信带宽极大影响远程数据访问,通过缓存将活动数据放置到靠近客户端的地方,通过预取进行预加载数据,将进一步提高数据访问性能。当前虚拟数据空间客户端通过元数据缓存,数据预取和数据异步写机制,已经基本可以充分利用带宽。带宽利用率基本可以达到40%以上。假设广域网平均带宽为百兆带宽,封顶情况下顺序读写能达到12.5MB/s,随机读写速度则相对较少。然而在高性能计算环境下,局域网中的分布式文件系统(Lustre)或分布式块存储系统(Ceph)在千兆网环境下能提供约125MB/s的顺序访问速度,在万兆网络下,带宽则更高。广域网访问性能和局域网访问性能存在数量级的差异。缓慢的网络带宽,将大大限制上层计算应用的运行。即使在计算能随数据调度情况下,缓慢的网络IO依然是系统的瓶颈。而基于单客户端的缓存不能有效利用从远程超算中心获取的数据,将会出现同一中心客户端重复访问远程数据,导致了带宽的浪费。另一方面,客户端对网络较为依赖,而广域网具有高时延和易抖动的特征。因此针对于网络带宽过低,给上层应用IO带来的瓶颈问题,我们结合跨域虚拟数据空间实际应用场景下,提出边缘缓存的机制,将数据以文件粒度缓存在靠近客户端的地方,以提升上层应用访问数据的性能并减少网络波动或者网络中断对上层应用的影响。
在广域分布式文件系统和缓存系统方面,国内外也做了很多相关的工作。Coda文件系统是一种典型的C/S结构的分布式文件系统,其在客户端内进行文件缓存。在向服务器发送Open操作时,会将打开的文件全部读取到本地。其只支持全文件的缓存方式,不支持部分文件的缓存方式。当客户端访问较大文件的一小部分数据时,不仅会造成严重的带宽浪费,而且在高延迟和低带宽的广域环境下,将严重影响数据的访问性能。MapR是HP公司下一代数据平台,主要用于AI计算和数据分析。其基于Hadoop系统进行改进,提供较高可靠性与易用性,提供基于Fuse的Posix接口访问文件。其在Fuse内核空间和用户空间对文件数据和文件元数据进行缓存,用户可根据配置文件来配置缓存策略。采用多libs的机制进行加速数据访问。但在客户端之间无缓存共享。缓存存在于内存中未对广域环境进行优化。FS-Cache是可支持NFS,AFS等多种网络文件系统的缓存系统,为VFS层下的一个内核模块;其使用上层文件系统的文件句柄作为文件查询的依据,不能单独提供文件系统服务,只支持文件数据的缓存,没有考虑元数据的缓存,缓存的一致性维护依赖于上层文件系统,适合针对于单客户端的文件缓存。Alluxio是以内存为中心的分布式缓存系统,其介于计算框架与存储系统之间,用户加速了数据中心大数据处理系统的读写速度。其综合使用内存,SSD和磁盘等多种存储资源来对远程数据进行缓存处理。使用多级存储,在保证容量的同时也保证了数据访问速度。其也适用于加速远程离线数据的处理速度。然而在虚拟数据空间场景下,需要针对于不同的访问通路进行综合考虑。GeoFS是中科院计算所设计的广域文件系统,该项目也基于FUSE,为上层应用提供POSIX接口,实现一个适用于广域网络的文件系统副本及缓存框架,用户可通过全局统一视图访问服务器上的共享文件。其采用站点级副本技术提供数据可靠性;利用多路TCP和主从副本来加速文件读操作。针对读多写少场景进行优化;其将元数据缓存在本地数据中,文件数据片段缓存在客户端磁盘上;一定程度上提高了广域数据访问性能。但缓存策略简单,客户端之间对缓存文件不能共享;统一中心多客户端存在对远程数据的重复访问。而且客户端本身可用的磁盘空间有限;缓存系统大大占用客户端本地的资源。缓存在文件Close时,进行同步操作,从而导致缓存一致性较弱。缓存策略和缓存机制需要针对于跨域虚拟数据空间场景进一步综合考虑。
当前跨域虚拟数据空间系统中存在的问题主要为:
广域网缓慢的网络带宽大大限制了上层计算应用的运行,上层计算应用长时间等待缓慢的网络IO,大大降低了应用的性能。跨域文件数据访问时,缓慢的网络IO依然是系统的瓶颈。广域网中的缓存,更像是一种数据随计算移动,通过将跨域虚拟数据空间中超算中心的数据缓存到另一超速中心的客户端周围,建立边缘缓存机制,将大大加速远程数据访问的性能。
发明内容:
本发明的主要目的是提供一种跨域虚拟数据空间中文件数据边缘缓存方法,针对跨域虚拟数据空间中远程数据高效访问的需求以及广域环境给上层应用带来的IO瓶颈问题,提出文件数据的边缘缓存机制,保证缓存的性能和效率。
本发明的技术方案是:
一种跨域虚拟数据空间中文件数据边缘缓存方法,其特征在于,将远程数据缓存在靠近客户端的地方,建立边缘缓存,以提升上层应用访问远程数据的整体性能,并通过缓存共享,进一步减少数据冗余;边缘缓存针对小文件建立基于内存的文件缓存,针对大文件建立基于稀疏文件的文件系统缓存;采用基于文件扩展属性的中心读写标志的缓存策略,提升虚拟数据空间中数据的一致性;通过基于文件流行度的缓存替换策略,保证缓存的性能和效率。
包括以下步骤,具体如下:
1)客户端缓存用户相关的全局元数据信息与内存中,包括用户信息、用户区域信息、区域权限信息、空间信息、空间名称、空间位置和空间权限信息;采用超时更新和定时异步更新策略。
2)在管理节点添加边缘缓存管理模块,从缓存角度可称为边缘缓存管理节点,用于缓存空间内文件元数据信息和小文件数据信息和边缘缓存节点中稀疏文件缓存的数据索引。
3)设置边缘缓存节点,针对跨域虚拟数据空间中的大文件,以Linux稀疏文件的形式进行缓存。
4)修改现有的IO代理节点,IO代理节点在进行访问数据时,会在文件的扩展属性中记录当前文件的读写次数,访问次数,以及中心读写状况。并与缓存管理节点进行通信以保持数据的一致性,针对读多写少情况下进行优化。
5)修改客户端数据读过程,结合边缘缓存机制,改进跨域虚拟数据空间中的文件读流程。
6)修改客户端数据写过程,结合边缘缓存机制,改进跨域虚拟数据空间中的文件写流程。
其中,步骤1)包括全局元数据的缓存和更新的步骤:
步骤(1.1)当用户在客户端进行登录时,缓存用户相关的全局元数据信息于内存中,包括用户信息、用户区域信息、区域权限信息、空间信息、空间名称、空间位置和空间权限信息。
步骤(1.2)客户端根据访问的局部性预取并缓存全局元数据信息,根据远程访问的反馈信息动态更新全局元数据缓存。同时设置时间戳,用于判断下次更新时间。
步骤(1.3)访问全局元数据信息时,客户端需要判断该缓存更新时间是否超过30秒未更新,未超过则直接使用,如果超过30秒,则直接访问管理节点获取全局元数据信息,并更新全局元数据信息缓存;同时开启后台异步更新线程,更新缓存当中超过120秒未更新的缓存数据。每次缓存项目更新结束后,重新设置更新时间戳。
步骤(1.4)客户端根据缓存中的项目,访问远程数据产生错误时;客户端需重新访问管理节点,获取最新的全局元数据信息,并更新本地全局元数据信息缓存。
其中,步骤2)包括以下步骤:
步骤(2.1)边缘缓存管理节点缓存当前超算中心中已经访问空间对应的文件元数据信息。文件元数据信息包括常规文件的元数据信息和目录文件元数据信息。缓存元数据信息包括由POSIX接口fstat获取到的文件对应的权限信息、大小信息、远程inode信息、修改时间、访问时间和标准struct stat结构体返回的其他信息;还包括由我们自定义的文件扩展属性信息,包括文件历史访问次数,文件读写次数;这些扩展属性信息可用于指导计算大文件的文件流行度。
步骤(2.2)文件元数据信息获取时,采用基于目录的预取策略进行获取。并在内存中以树的形式进行索引维护,当缓存大小达到设定阈值的时候,采用LRU算法进行替换缓存,并删除树中以节点为根的元数据;每个元数据信息都包含一个状态值,表示该元数据对应的文件数据是否在本地进行缓存。如果当前文件数据已经在本地进行缓存了,则客户端可以根据逻辑路径直接访问所需要的数据。
步骤(2.3)文件元数据信息采用超时更新和定时异步更新策略;当我们访问元数据信息时,我们需要判断该缓存更新时间是否超30秒未更新,未超过则直接使用,如果超过30秒,则直接访问远程IO代理节点获取文件元数据信息,并更新本地元数据信息。
步骤(2.4)大文件索引的逻辑路径为{边缘节点ID:用户ID:区域ID:空间ID:空间相对路径},客户端通过该路径找到边缘缓存节点,并通过md5计算{用户ID:区域ID:空间ID:空间相对路径}生成密文,找到对应的边缘缓存节点文件系统上的稀疏文件缓存;小文件的哈希表的Key由{用户ID:区域ID:空间ID:空间相对路径}通过md5生成128位散列值组成。客户端通过该路径直接向缓存管理节点通信,获取内存中的缓存值。
步骤(2.5)小文件为文件大小小于512KB的文件。小文件整体在边缘缓存访问远程数据时一次性获取,并以Key-Value的形式保存在map中。Key是md5加密后的128位索引值,Value是一结构体,该结构体包含两个指针,一个指向堆上分配的内存,另外一个指向小文件元数据信息。缓存大小达到设定的阈值的时候,采用LRU算法替换缓存。在缓存因为内存不足被清理的时候,可以通过Value内中保存的元数据指针,修改当前缓存存储状态为false。
步骤(2.6)大文件为文件大小大于512KB的文件。该文件由边缘缓存节点维护获取过程。当前边缘缓存中已经缓存的文件信息,包括文件名、全局路径信息、文件流行度和文件大小信息,保存在缓存节点本地的嵌入式数据库中。在缓存管理节点启动的时候,首先加载比较流行的缓存信息。之后随着边缘缓存的使用,逐渐把缓存中的数据加载到内存中,并在固定检查点固化到磁盘上以持久化保存。
步骤(2.7)当换边缘缓存节点磁盘空间已经被占用满时,将根据文件流行度和文件大小进行淘汰文件流行度低的体积相对小的文件;并把淘汰的缓存文件相关的数据从嵌入式数据库中清除,并标记当前元数据信息中的缓存状态为false。
步骤(2.8)缓存管理节点的定时异步垃圾清理机制,通知边缘缓存节点,清理掉当前已经失效的稀疏文件缓存,并回收空间。
其中,步骤3)包括以下步骤:
步骤(3.1)大文件为文件大小大于512KB的文件;该文件以稀疏文件的形式进行在边缘缓存节点进行缓存,并由边缘缓存节点进行维护数据的获取。
步骤(3.2)边缘缓存节点在本地文件系统上,划分固定大小的空间用于作为文件缓存;文件系统默认为Ext4文件系统,初始生成时,文件存在很多空洞。
步骤(3.3)在进行访问远程文件固定偏移位置时,边缘缓存节点首先获取该文件固定偏移的位置。缓存节点在网络空闲时间或者网络状况较好时,在后台通过异步机制从远程IO代理处获取数据,并逐步添补数据。
步骤(3.4)边缘缓存节点接收缓存管理节点的命令,负责异步清除当前节点中已经过期的缓存。
其中,步骤4)包括以下步骤:
步骤(4.1)IO代理在进行访问数据的时候,会在文件的扩展属性中,记录当前文件的读写次数,访问次数,以及当前正在被哪个中心进行读写。
步骤(4.2)当文件被读时,如果当前文件没有其他中心中的文件进行写入,则通过边缘缓存节点访问远程数据并进行边缘缓存;如果已经有其他中心写入,则直接通过广域网访问对方IO代理进行获取最新数据;如果当前文件通过边缘缓存读取,则在文件扩展属性read中,注册中心的名称。
步骤(4.3)当写文件时,如果当前文件没有被其他中心读写,则在边缘缓存节点上直接写入,并在文件关闭的时候,异步同步到远程数据服务器上。当写文件时,如果已经有其他中心写,则IO通知正在写的边缘缓存进行同步缓存,并停止边缘缓存;所有中心之后的写将通过广域网络直接写入到边缘节点上。当写文件时,如果有其他中心在读,则IO代理通知对应的边缘缓存失效,并停止边缘缓存,读退化为广域读。
步骤(4.4)当文件写完毕,被Close的时候,IO代理则清除文件扩展属性中的写标志,并返回成功。当文件读完毕,被Close的时候,IO代理则清除文件扩展属性中的读标志,并返回成功。
其中,步骤5)包括以下步骤:
步骤(5.1)客户端首先访问本地的全局元数据缓存,找到指定的区域和空间。如果当前空间位于客户端同一超算中心中,则通过本中心IO代理直接进行访问。如果位于其他超算中心中,则通过缓存管理节点获取空间对应的文件的元数据信息。
步骤(5.2)通过获取的元数据信息,判断该文件是否已经存在边缘缓存节点之中。如果该文件已经被缓存,通过其元数据判断数据大小访问对应的文件数据。如果该文件是小文件则从缓存管理节点本地的小文件缓存中获取缓存数据,该文件是大文件则根据缓存管理节点,找到对应存储文件的边缘缓存节点来进行获取文件数据。
步骤(5.3)如果该文件不存在边缘缓存节点中,则直接向远程IO代理进行获取文件数据。
步骤(5.4)IO代理读取数据时,首先判断该文件是否存在有中心正在进行读写。再进行读取,并更新文件扩展属性中读次数。
步骤(5.5)如果当前文件正在被另外一个中心写,不存在中心读的情况;则通知正在写的中心的边缘缓存节点,进行同步缓存的数据,并停止边缘缓存,退化为广域写。然后IO代理注册当前正在读的中心。并直接通过广域网直接获取数据。
步骤(5.6)如果当前文件,正在被多个中心同时写,则IO代理直接注册该中心读,之后客户端通过边缘缓存节点读取文件数据或从本中心的数据则直接数据。
步骤(5.7)如果当前文件,不存在其他中心写的情况,只存在被多个中心读的情况,则通过边缘缓存节点,并进行边缘缓存。边缘缓存节点通过异步预读机制,逐步缓存远程文件到当前边缘缓存节点上。而位于同中心的客户端则直接进行访问数据。
其中,步骤6)包括以下步骤:
步骤(6.1)客户端首先访问本地的全局元数据缓存,找到指定的区域和空间。如果当前空间位于客户端同一超算中心中,则通过本中心IO代理直接进行修改数据。如果位于其他超算中心中,则通过缓存管理节点获取空间对应的文件的元数据信息。
步骤(6.2)通过获取的元数据信息,判断该文件是否已经存在边缘缓存节点之中。如果该文件已经被缓存,通过其元数据判断数据大小访问对应的文件数据。如果该文件是小文件则直接修改小文件缓存中的数据,该文件是大文件则根据缓存管理节点,找到对应存储文件的边缘缓存节点来进行修改数据,并在文件关闭的时候与远程数据同步。
步骤(6.3)如果该文件不存在边缘缓存节点中,则直接向远程IO代理进行修改文件数据。
步骤(6.4)IO代理写入数据时,首先判断该文件是否存在有中心正在进行写。
步骤(6.5)如果当前文件正在被另外一个中心写,不存在中心读的情况;则通知正在写的中心的边缘缓存节点,进行同步缓存的数据。并停止边缘缓存,退化为广域写。然后IO代理注册当前正在写的中心。同样进行广域写入文件数据,如果在同一超算中心中则直接访问IO代理进行写入。
步骤(6.6)如果当前文件,正在被多个中心同时写和读的情况,则IO代理直接注册该中心写,之后客户端通过广域写入文件数据或在同一超算中心时,直接通过IO代理写入。
步骤(6.7)如果当前文件,不存在其他中心写的情况,只存在被多个中心读的情况,则通知正在读的中心的边缘缓存节点停止边缘缓存,数据读写退化为广域读。之后注册当前正在写中心,并进行广域写或中心内的局域写。并在写的过程中,逐步发现当前中心状态是否改变,来决定是否进行状态变换。
本发明的优点包括:
本发明所提出的跨域虚拟数据空间中文件数据边缘缓存方法,与现有技术相比,其主要优点是:
所提出的广域文件数据边缘缓存方法,针对跨域虚拟数据空间中远程数据高效访问的需求,提出了一种边缘缓存方法。通过将远程数据缓存在靠近客户端的地方,建立边缘文件缓存,提升了上层应用访问远程数据访问的整体性能。该方法减少了全局元数据和文件数据的实际传输量,以及广域网环境下网络抖动对上层数据的影响。同时该方法提出了一种基于文件扩展属性的中心读写标记的一致性策略,提高了广域环境下文件数据的一致性。
本发明的核心思想在于在读多写少场景下,将远程的文件数据缓存在靠近客户端的边缘缓存服务器上,以提供接近本地网络文件系统的远程数据访问效率。通过边缘服务器为多个客户端服务,一定程度上也可以减少远程数据的重复获取,减少广域带宽的浪费。另一方面,本地应用产生的中间文件,可以及时通过边缘缓存进行共享,而不用先写到远程服务器中再进行访问,从而减少了广域请求次数。广域网环境下,网络环境存在高延迟,低带宽和易抖动特征,边缘缓存在网络短时中断的情况下依然为上层应用提供服务,从而降低了网络抖动带来的影响,提供更好的服务质量。边缘缓存采用基于文件扩展属性的中心读写标志的缓存策略,提升了虚拟数据空间中数据的一致性。当新的大文件到来时,如果当前缓存剩余空间不能满足需要缓存的文件的大小,将根据当前所需空间大小采用基于文件流行度的缓存替换策略,从而保证缓存的性能和利用效率。
附图说明:
图1为跨域虚拟数据空间中文件数据边缘缓存方法实施流程图。
图2为当前跨域虚拟数据空间架构图。
图3为跨域虚拟数据空间与区域分布图。
图4为边缘缓存架构图。
图5为数据读写流程图。
图6为IO代理读数据过程。
图7为IO代理写数据过程。
具体实施方式:
以下结合附图对本发明作进一步详细的说明。
如图1所示,是本发明的实施流程图。跨域虚拟数据空间中文件数据边缘缓存方法,包括以下步骤:
1)客户端缓存用户相关的全局元数据信息与内存中,包括用户信息、用户区域信息、区域权限信息、空间信息、空间名称、空间位置和空间权限信息;采用超时更新和定时异步更新策略;
2)在管理节点添加边缘缓存管理模块,从缓存角度可称为边缘缓存管理节点,用于缓存空间内文件元数据信息和小文件数据信息和边缘缓存节点中稀疏文件缓存的数据索引。
3)设置边缘缓存节点,针对跨域虚拟数据空间中的大文件,以Linux稀疏文件的形式进行缓存。
4)修改现有的IO代理节点,IO代理节点在进行访问数据时,会在文件的扩展属性中记录当前文件的读写次数,访问次数,以及中心读写状况。并与缓存管理节点进行通信以保持数据的一致性,针对读多写少情况下进行优化。
5)修改客户端数据读过程,结合边缘缓存机制,改进跨域虚拟数据空间中的文件读流程。
6)修改客户端数据写过程,结合边缘缓存机制,改进跨域虚拟数据空间中的文件写流程。
跨域虚拟数据空间架构图,如图2所示,客户端基于FUSE实现,支持以POSIX接口方式进行文件操作,客户端针对文件数据和空间信息进行缓存,数据缓存存在于异步写队列和预读窗口内,无缓存一致性开销,针对顺序读进行预读,无中长期缓存。管理节点维护全局统一名字空间,IO代理节点信息以及账户相关的管理信息。信息存放于各中心数据库中。各中心管理节点依靠数据库之间信息同步来保证全局管理信息最终一致。IO代理节点,负责传输文件数据和文件元数据,采用事件驱动以及线程池同步IO的方式,提供文件访问功能。
跨域虚拟数据空间与区域分布图,如图3所示。单个虚拟数据空间用户,拥有三种区域类型。分别为个人私有区域,群组共享区域和全局共享区域。每个区域中存在如果空间。这些空间实际存在于各个超算中心底层存储上。目前单个空间不能跨中心。用户访问空间中的文件数据时,首先通过客户端获取所拥有的区域,然后根据区域属性,分别获取区域中所包含的空间,之后访问空间中具体的存在的数据。客户端访问同一中心的数据时,通过本地IO代理访问,访问不同中心的数据,则通过广域网访问超算中心的IO代理。
步骤1)包括全局元数据的缓存和更新的步骤:
步骤(1.1)当用户在客户端进行登录时,缓存用户相关的全局元数据信息于内存中,包括用户信息、用户区域信息、区域权限信息、空间信息、空间名称、空间位置和空间权限信息。
步骤(1.2)客户端根据访问的局部性预取并缓存全局元数据信息,根据远程访问的反馈信息动态更新全局元数据缓存。同时设置时间戳,用于判断下次更新时间。
步骤(1.3)访问全局元数据信息时,客户端需要判断该缓存更新时间是否超过30秒未更新,未超过则直接使用,如果超过30秒,则直接访问管理节点获取全局元数据信息,并更新全局元数据信息缓存;同时开启后台异步更新线程,更新缓存当中超过120秒未更新的缓存数据。每次缓存项目更新结束后,重新设置更新时间戳。
步骤(1.4)客户端根据缓存中的项目,访问远程数据产生错误时;客户端需重新访问管理节点,获取最新的全局元数据信息,并更新本地全局元数据信息缓存。
步骤2)包括以下步骤:
步骤(2.1)边缘缓存管理节点缓存当前超算中心中已经访问空间对应的文件元数据信息。文件元数据信息包括常规文件的元数据信息和目录文件元数据信息。缓存元数据信息包括由POSIX接口fstat获取到的文件对应的权限信息、大小信息、远程inode信息、修改时间,访问时间和标准struct stat结构体返回的其他信息;还包括由我们自定义的文件扩展属性信息,包括文件历史访问次数,文件读写次数;这些扩展属性信息可用于指导计算大文件的文件流行度。
步骤(2.2)文件元数据信息获取时,采用基于目录的预取策略进行获取。并在内存中以树的形式进行索引维护,当缓存大小达到设定阈值的时候,采用LRU算法进行替换缓存,并删除树中以节点为根的元数据;每个元数据信息都包含一个状态值,表示该元数据对应的文件数据是否在本地进行缓存。如果当前文件数据已经在本地进行缓存了,则客户端可以根据逻辑路径直接访问所需要的数据。
步骤(2.3)文件元数据信息采用超时更新和定时异步更新策略;当我们访问元数据信息时,我们需要判断该缓存更新时间是否超30秒未更新,未超过则直接使用,如果超过30秒,则直接访问远程IO代理节点获取文件元数据信息,并更新本地元数据信息。
步骤(2.4)大文件索引的逻辑路径为{边缘节点ID:用户ID:区域ID:空间ID:空间相对路径},客户端通过该路径找到边缘缓存节点,并通过md5计算{用户ID:区域ID:空间ID:空间相对路径}生成密文,找到对应的边缘缓存节点文件系统上的稀疏文件缓存;小文件的哈希表的Key由{用户ID:区域ID:空间ID:空间相对路径}通过md5生成128位散列值组成。客户端通过该路径直接向缓存管理节点通信,获取内存中的缓存值。
步骤(2.5)小文件为文件大小小于512KB的文件。小文件整体在边缘缓存访问远程数据时一次性获取,并以Key-Value的形式保存在map中。Key是md5加密后的128位索引值,Value是一结构体,该结构体包含两个指针,一个指向堆上分配的内存,另外一个指向小文件元数据信息。缓存大小达到设定的阈值的时候,采用LRU算法替换缓存。在缓存因为内存不足被清理的时候,可以通过Value内中保存的元数据指针,修改当前缓存存储状态为false。
步骤(2.6)大文件为文件大小大于512KB的文件。该文件由边缘缓存节点维护获取过程。当前边缘缓存中已经缓存的文件信息,包括文件名、全局路径信息、文件流行度和文件大小信息,保存在缓存节点本地的嵌入式数据库中。在缓存管理节点启动的时候,首先加载比较流行的缓存信息。之后随着边缘缓存的使用,逐渐把缓存中的数据加载到内存中,并在固定检查点固化到磁盘上以持久化保存。
步骤(2.7)当换边缘缓存节点磁盘空间已经被占用满时,将根据文件流行度和文件大小进行淘汰文件流行度低的体积相对小的文件;并把淘汰的缓存文件相关的数据从嵌入式数据库中清除,并标记当前元数据信息中的缓存状态为false。
步骤(2.8)缓存管理节点的定时异步垃圾清理机制,通知边缘缓存节点,清理掉当前已经失效的稀疏文件缓存,并回收空间。
步骤3)包括以下步骤:
步骤(3.1)大文件为文件大小大于512KB的文件;该文件以稀疏文件的形式进行在边缘缓存节点进行缓存,并由边缘缓存节点进行维护数据的获取。
步骤(3.2)边缘缓存节点在本地文件系统上,划分固定大小的空间用于作为文件缓存;文件系统默认为Ext4文件系统,初始生成时,文件存在很多空洞。
步骤(3.3)在进行访问远程文件固定偏移位置时,边缘缓存节点首先获取该文件固定偏移的位置。缓存节点在网络空闲时间或者网络状况较好时,在后台通过异步机制从远程IO代理处获取数据,并逐步添补数据。
步骤(3.4)边缘缓存节点接收缓存管理节点的命令,负责异步清除当前节点中已经过期的缓存。
步骤4)包括以下步骤:
步骤(4.1)IO代理在进行访问数据的时候,会在文件的扩展属性中,记录当前文件的读写次数,访问次数,以及当前正在被哪个中心进行读写。
步骤(4.2)当文件被读时,如果当前文件没有其他中心中的文件进行写入,则通过边缘缓存节点访问远程数据并进行边缘缓存;如果已经有其他中心写入,则直接通过广域网访问对方IO代理进行获取最新数据;如果当前文件通过边缘缓存读取,则在文件扩展属性read中,注册中心的名称。
步骤(4.3)当写文件时,如果当前文件没有被其他中心读写,则在边缘缓存节点上直接写入,并在文件关闭的时候,异步同步到远程数据服务器上。当写文件时,如果已经有其他中心写,则IO通知正在写的边缘缓存进行同步缓存,并停止边缘缓存;所有中心之后的写将通过广域网络直接写入到边缘节点上。当写文件时,如果有其他中心在读,则IO代理通知对应的边缘缓存失效,并停止边缘缓存,读退化为广域读。
步骤(4.4)当文件写完毕,被Close的时候,IO代理则清除文件扩展属性中的写标志,并返回成功。当文件读完毕,被Close的时候,IO代理则清除文件扩展属性中的读标志,并返回成功。
边缘缓存架构图,如图4所示。在添加边缘缓存服务器后,原有的架构基础上,增加了缓存管理节点和边缘缓存节点。边缘缓存管理节点,缓存当前超算中心中已经访问空间对应的文件元数据信息。文件元数据信息包括常规文件的元数据信息和目录文件元数据信息。管理节点还用来缓存小文件和大文件在边缘缓存节点中的索引路径。同时其也接收IO代理节点的消息,用来全局配合,以保证数据的一致性。边缘缓存节点,针对跨域虚拟数据空间中的大文件,以Linux稀疏文件的形式进行缓存。
文件扩展属性由IO代理维护,包括当前文件历史读取数量,当前文件历史写入数量和当前文件历史访问数量。可以用此方式,来指导基于文件流行度的缓存置换策略和客户端的预取策略。扩展属性中还记录了当前文件正在被哪个中心读和哪个中心写,在IO代理负责读写文件的时候,需要此类记录来进行和边缘缓存进行通信,启动一致性机制,以维护广域环境下数据的一致性。
加入边缘缓存后,客户端文件数据读流程如图5、图6所示。该流程为实施流程中第5步骤,具体包含以下步骤:
步骤(5.1)客户端首先访问本地的全局元数据缓存,找到指定的区域和空间。如果当前空间位于客户端同一超算中心中,则通过本中心IO代理直接进行访问。如果位于其他超算中心中,则通过缓存管理节点获取空间对应的文件的元数据信息。
步骤(5.2)通过获取的元数据信息,判断该文件是否已经存在边缘缓存节点之中。如果该文件已经被缓存,通过其元数据判断数据大小访问对应的文件数据。如果该文件是小文件则从缓存管理节点本地的小文件缓存中获取缓存数据,该文件是大文件则根据缓存管理节点,找到对应存储文件的边缘缓存节点来进行获取文件数据。
步骤(5.3)如果该文件不存在边缘缓存节点中,则直接向远程IO代理进行获取文件数据。
步骤(5.4)IO代理读取数据时,首先判断该文件是否存在有中心正在进行读写。再进行读取,并更新文件扩展属性中读次数。
步骤(5.5)如果当前文件正在被另外一个中心写,不存在中心读的情况;则通知正在写的中心的边缘缓存节点,进行同步缓存的数据,并停止边缘缓存,退化为广域写。然后IO代理注册当前正在读的中心。并直接通过广域网直接获取数据。
步骤(5.6)如果当前文件,正在被多个中心同时写,则IO代理直接注册该中心读,之后客户端通过边缘缓存节点读取文件数据或从本中心的数据则直接数据。
步骤(5.7)如果当前文件,不存在其他中心写的情况,只存在被多个中心读的情况,则通过边缘缓存节点,并进行边缘缓存。边缘缓存节点通过异步预读机制,逐步缓存远程文件到当前边缘缓存节点上。而位于同中心的客户端则直接进行访问数据。
加入边缘缓存后,客户端文件数据读流程如图5、图7所示。该流程为实施流程中第6步骤。具体包含以下步骤:
步骤(6.1)客户端首先访问本地的全局元数据缓存,找到指定的区域和空间。如果当前空间位于客户端同一超算中心中,则通过本中心IO代理直接进行修改数据。如果位于其他超算中心中,则通过缓存管理节点获取空间对应的文件的元数据信息。
步骤(6.2)通过获取的元数据信息,判断该文件是否已经存在边缘缓存节点之中。如果该文件已经被缓存,通过其元数据判断数据大小访问对应的文件数据。如果该文件是小文件则直接修改小文件缓存中的数据,该文件是大文件则根据缓存管理节点,找到对应存储文件的边缘缓存节点来进行修改数据,并在文件关闭的时候与远程数据同步。
步骤(6.3)如果该文件不存在边缘缓存节点中,则直接向远程IO代理进行修改文件数据。
步骤(6.4)IO代理写入数据时,首先判断该文件是否存在有中心正在进行写。
步骤(6.5)如果当前文件正在被另外一个中心写,不存在中心读的情况;则通知正在写的中心的边缘缓存节点,进行同步缓存的数据。并停止边缘缓存,退化为广域写。然后IO代理注册当前正在写的中心。同样进行广域写入文件数据,如果在同一超算中心中则直接访问IO代理进行写入。
步骤(6.6)如果当前文件,正在被多个中心同时写和读的情况,则IO代理直接注册该中心写,之后客户端通过广域写入文件数据或在同一超算中心时,直接通过IO代理写入。
步骤(6.7)如果当前文件,不存在其他中心写的情况,只存在被多个中心读的情况,则通知正在读的中心的边缘缓存节点停止边缘缓存,数据读写退化为广域读。之后注册当前正在写中心,并进行广域写或中心内的局域写。并在写的过程中,逐步发现当前中心状态是否改变,来决定是否进行状态变换。
最后所应说明的是:本发明还可有其它多种应用场景,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的保护范围。

Claims (7)

1.一种跨域虚拟数据空间中文件数据边缘缓存方法,其特征在于,将远程数据缓存在靠近客户端的地方,建立边缘缓存,以提升上层应用访问远程数据的整体性能,并通过缓存共享,进一步减少数据冗余;边缘缓存针对小文件建立基于内存的文件缓存,针对大文件建立基于稀疏文件的文件系统缓存;采用基于文件扩展属性的中心读写标志的缓存策略,提升虚拟数据空间中数据的一致性;通过基于文件流行度的缓存替换策略,保证缓存的性能和效率;
包括以下步骤,具体如下:
1)客户端缓存用户相关的全局元数据信息与内存中,包括用户信息、用户区域信息、区域权限信息、空间信息、空间名称、空间位置和空间权限信息;采用超时更新和定时异步更新策略;
2)在管理节点添加边缘缓存管理单元,从缓存角度可称为边缘缓存管理节点,用于缓存空间内文件元数据信息和小文件数据信息和边缘缓存节点中稀疏文件缓存的数据索引;
3)设置边缘缓存节点,针对跨域虚拟数据空间中的大文件,以Linux稀疏文件的形式进行缓存;
4)修改现有的IO代理节点,IO代理节点在进行访问数据时,会在文件的扩展属性中记录当前文件的读写次数,访问次数,以及中心读写状况;并与缓存管理节点进行通信以保持数据的一致性,针对读多写少情况下进行优化;
5)修改客户端数据读过程,结合边缘缓存机制,改进跨域虚拟数据空间中的文件读流程;
6)修改客户端数据写过程,结合边缘缓存机制,改进跨域虚拟数据空间中的文件写流程。
2.根据权利要求1所述的方法,其特征在于,所述步骤1)包括全局元数据的缓存和更新的步骤:
步骤(1.1)当用户在客户端进行登录时,缓存用户相关的全局元数据信息于内存中,包括用户信息、用户区域信息、区域权限信息、空间信息、空间名称、空间位置和空间权限信息;
步骤(1.2)客户端根据访问的局部性预取并缓存全局元数据信息,根据远程访问的反馈信息动态更新全局元数据缓存,同时设置时间戳,用于判断下次更新时间;
步骤(1.3)访问全局元数据信息时,客户端需要判断该缓存更新时间是否超过30秒未更新,未超过则直接使用,如果超过30秒,则直接访问管理节点获取全局元数据信息,并更新全局元数据信息缓存;同时开启后台异步更新线程,更新缓存当中超过120秒未更新的缓存数据;每次缓存项目更新结束后,重新设置更新时间戳;
步骤(1.4)客户端根据缓存中的项目,访问远程数据产生错误时;客户端需重新访问管理节点,获取最新的全局元数据信息,并更新本地全局元数据信息缓存。
3.根据权利要求1所述的方法,其特征在于,所述步骤2)包括以下步骤:
步骤(2.1)边缘缓存管理节点缓存当前超算中心中已经访问空间对应的文件元数据信息;文件元数据信息包括常规文件的元数据信息和目录文件元数据信息;缓存元数据信息包括由POSIX接口fstat获取到的文件对应的权限信息、大小信息、远程inode信息、修改时间、访问时间和标准struct stat结构体返回的其他信息;还包括自定义的文件扩展属性信息,包括文件历史访问次数,文件读写次数;这些扩展属性信息可用于指导计算大文件的文件流行度;
步骤(2.2)文件元数据信息获取时,采用基于目录的预取策略进行获取;并在内存中以树的形式进行索引维护,当缓存大小达到设定阈值的时候,采用LRU算法进行替换缓存,并删除树中以节点为根的元数据;每个元数据信息都包含一个状态值,表示该元数据对应的文件数据是否在本地进行缓存;如果当前文件数据已经在本地进行缓存了,则客户端可以根据逻辑路径直接访问所需要的数据;
步骤(2.3)文件元数据信息采用超时更新和定时异步更新策略;当我们访问元数据信息时,我们需要判断该缓存更新时间是否超30秒未更新,未超过则直接使用,如果超过30秒,则直接访问远程IO代理节点获取文件元数据信息,并更新本地元数据信息;
步骤(2.4)大文件索引的逻辑路径为{边缘节点ID:用户ID:区域ID:空间ID:空间相对路径},客户端通过该路径找到边缘缓存节点,并通过md5计算{用户ID:区域ID:空间ID:空间相对路径}生成密文,找到对应的边缘缓存节点文件系统上的稀疏文件缓存;小文件的哈希表的Key由{用户ID:区域ID:空间ID:空间相对路径}通过md5生成128位散列值组成;客户端通过该路径直接向缓存管理节点通信,获取内存中的缓存值;
步骤(2.5)小文件为文件大小小于512kib的文件;小文件整体在边缘缓存访问远程数据时一次性获取,并以Key-Value的形式保存在map中;Key是md5加密后的128位索引值,Value是一结构体,该结构体包含两个指针,一个指向堆上分配的内存,另外一个指向小文件元数据信息;缓存大小达到设定的阈值的时候,采用LRU算法替换缓存;在缓存因为内存不足被清理的时候,可以通过Value内中保存的元数据指针,修改当前缓存存储状态为false;
步骤(2.6)大文件为文件大小大于512kib的文件,该文件由边缘缓存节点维护获取过程;当前边缘缓存中已经缓存的文件信息,包括文件名、全局路径信息、文件流行度和文件大小信息,保存在缓存节点本地的嵌入式数据库中;在缓存管理节点启动的时候,首先加载比较流行的缓存信息,之后随着边缘缓存的使用,逐渐把缓存中的数据加载到内存中,并在固定检查点固化到磁盘上以持久化保存;
步骤(2.7)当换边缘缓存节点磁盘空间已经被占用满时,将根据文件流行度和文件大小进行淘汰文件流行度低的体积相对小的文件;并把淘汰的缓存文件相关的数据从嵌入式数据库中清除,并标记当前元数据信息中的缓存状态为false;
步骤(2.8)缓存管理节点的定时异步垃圾清理机制,通知边缘缓存节点,清理掉当前已经失效的稀疏文件缓存,并回收空间。
4.根据权利要求1所述的方法,其特征在于,所述步骤3)包括以下步骤:
步骤(3.1)大文件为文件大小大于512kib的文件;该文件以稀疏文件的形式进行在边缘缓存节点进行缓存,并由边缘缓存节点进行维护数据的获取;
步骤(3.2)边缘缓存节点在本地文件系统上,划分固定大小的空间用于作为文件缓存;文件系统默认为Ext4文件系统,初始生成时,文件存在很多空洞;
步骤(3.3)在进行访问远程文件固定偏移位置时,边缘缓存节点首先获取该文件固定偏移的位置;缓存节点在网络空闲时间或者网络状况较好时,在后台通过异步机制从远程IO代理处获取数据,并逐步添补数据;
步骤(3.4)边缘缓存节点接收缓存管理节点的命令,负责异步清除当前节点中已经过期的缓存。
5.根据权利要求1所述的方法,其特征在于,所述步骤4)包括以下步骤:
步骤(4.1)IO代理在进行访问数据的时候,会在文件的扩展属性中,记录当前文件的读写次数,访问次数,以及当前正在被哪个中心进行读写;
步骤(4.2)当文件被读时,如果当前文件没有其他中心中的文件进行写入,则通过边缘缓存节点访问远程数据并进行边缘缓存;如果已经有其他中心写入,则直接通过广域网访问对方IO代理进行获取最新数据;如果当前文件通过边缘缓存读取,则在文件扩展属性read中,注册中心的名称;
步骤(4.3)当写文件时,如果当前文件没有被其他中心读写,则在边缘缓存节点上直接写入,并在文件关闭的时候,异步同步到远程数据服务器上;当写文件时,如果已经有其他中心写,则IO通知正在写的边缘缓存进行同步缓存,并停止边缘缓存;所有中心之后的写将通过广域网络直接写入到边缘节点上;当写文件时,如果有其他中心在读,则IO代理通知对应的边缘缓存失效,并停止边缘缓存,读退化为广域读;
步骤(4.4)当文件写完毕,被Close的时候,IO代理则清除文件扩展属性中的写标志,并返回成功;当文件读完毕,被Close的时候,IO代理则清除文件扩展属性中的读标志,并返回成功。
6.根据权利要求1所述的方法,其特征在于,所述步骤5)包括以下步骤:
步骤(5.1)客户端首先访问本地的全局元数据缓存,找到指定的区域和空间;如果当前空间位于客户端同一超算中心中,则通过本中心IO代理直接进行访问;如果位于其他超算中心中,则通过缓存管理节点获取空间对应的文件的元数据信息;
步骤(5.2)通过获取的元数据信息,判断该文件是否已经存在边缘缓存节点之中;如果该文件已经被缓存,通过其元数据判断数据大小访问对应的文件数据;如果该文件是小文件则从缓存管理节点本地的小文件缓存中获取缓存数据,该文件是大文件则根据缓存管理节点,找到对应存储文件的边缘缓存节点来进行获取文件数据;
步骤(5.3)如果该文件不存在边缘缓存节点中,则直接向远程IO代理进行获取文件数据;
步骤(5.4)IO代理读取数据时,首先判断该文件是否存在有中心正在进行读写;在进行读取,并更新文件扩展属性中读次数;
步骤(5.5)如果当前文件正在被另外一个中心写,不存在中心读的情况;则通知正在写的中心的边缘缓存节点,进行同步缓存的数据;并停止边缘缓存,退化为广域写;然后IO代理注册当前正在读的中心;
步骤(5.6)如果当前文件,正在被多个中心同时写,则IO代理直接注册该中心写,之后客户端通过广域读获取文件数据或从本中心的数据则直接数据;
步骤(5.7)如果当前文件,不存在其他中心写的情况,只存在被多个中心读的情况,则通过边缘缓存节点,并进行边缘缓存;边缘缓存节点通过异步预读机制,逐步缓存远程文件到当前边缘缓存节点上;而位于同中心的客户端则直接进行访问数据。
7.根据权利要求1所述的方法,其特征在于,所述步骤6)包括以下步骤:
步骤(6.1)客户端首先访问本地的全局元数据缓存,找到指定的区域和空间;如果当前空间位于客户端同一超算中心中,则通过本中心IO代理直接进行修改数据;如果位于其他超算中心中,则通过缓存管理节点获取空间对应的文件的元数据信息;
步骤(6.2)通过获取的元数据信息,判断该文件是否已经存在边缘缓存节点之中;如果该文件已经被缓存,通过其元数据判断数据大小访问对应的文件数据;如果该文件是小文件则直接修改小文件缓存中的数据,该文件是大文件则根据缓存管理节点,找到对应存储文件的边缘缓存节点来进行修改数据,并在文件关闭的时候与远程数据同步;
步骤(6.3)如果该文件不存在边缘缓存节点中,则直接向远程IO代理进行修改文件数据;
步骤(6.4)IO代理写入数据时,首先判断该文件是否存在有中心正在进行写;
步骤(6.5)如果当前文件正在被另外一个中心写,不存在中心读的情况;则通知正在写的中心的边缘缓存节点,进行同步缓存的数据;并停止边缘缓存,退化为广域写;然后IO代理注册当前正在写的中心;同样进行广域写入文件数据,如果在同一超算中心中则直接访问IO代理进行写入;
步骤(6.6)如果当前文件,正在被多个中心同时写和读的情况,则IO代理直接注册该中心写,之后客户端通过广域写入文件数据或在同一超算中心时,直接通过IO代理写入;步骤(6.7)如果当前文件,不存在其他中心写的情况,只存在被多个中心读的情况,则通知正在读的中心的边缘缓存节点停止边缘缓存,数据读写退化为广域读;之后注册当前正在写中心,并进行广域写或中心内的局域写;并在写的过程中,逐步发现当前中心状态是否改变,来决定是否进行状态变换。
CN202010404811.3A 2020-05-14 2020-05-14 跨域虚拟数据空间中文件数据边缘缓存方法 Active CN111782612B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010404811.3A CN111782612B (zh) 2020-05-14 2020-05-14 跨域虚拟数据空间中文件数据边缘缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010404811.3A CN111782612B (zh) 2020-05-14 2020-05-14 跨域虚拟数据空间中文件数据边缘缓存方法

Publications (2)

Publication Number Publication Date
CN111782612A CN111782612A (zh) 2020-10-16
CN111782612B true CN111782612B (zh) 2022-07-26

Family

ID=72753377

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010404811.3A Active CN111782612B (zh) 2020-05-14 2020-05-14 跨域虚拟数据空间中文件数据边缘缓存方法

Country Status (1)

Country Link
CN (1) CN111782612B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111445349B (zh) * 2020-03-13 2023-09-05 贵州电网有限责任公司 一种适用于能源互联网的混合式数据存储处理方法及系统
CN112565437B (zh) * 2020-12-07 2021-11-19 浙江大学 一种面向跨界服务网络的服务缓存方法
US11977485B2 (en) 2021-05-13 2024-05-07 Samsung Electronics Co., Ltd. Method of cache management based on file attributes, and cache management device operating based on file attributes
CN113485978B (zh) * 2021-06-23 2023-07-21 华泰证券股份有限公司 一种提升文件存储nas读写吞吐能力的方法、系统及存储器
CN114500529A (zh) * 2021-12-28 2022-05-13 航天科工网络信息发展有限公司 一种基于可感知冗余的云边协同缓存方法及系统
CN114327299B (zh) * 2022-03-01 2022-06-03 苏州浪潮智能科技有限公司 一种顺序读预读的方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107045530A (zh) * 2017-01-20 2017-08-15 华中科技大学 一种将对象存储系统实现为本地文件系统的方法
CN108737507A (zh) * 2018-04-27 2018-11-02 西安交通大学 一种d2d无线缓存方法
CN109218747A (zh) * 2018-09-21 2019-01-15 北京邮电大学 超密集异构网络中基于用户移动性的视频业务分类缓存方法
CN110188080A (zh) * 2019-05-17 2019-08-30 北京航空航天大学 基于客户端高效缓存的远程文件数据访问性能优化方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504597B2 (en) * 2005-09-09 2013-08-06 William M. Pitts Distributed file system consistency mechanism extension for enabling internet video broadcasting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107045530A (zh) * 2017-01-20 2017-08-15 华中科技大学 一种将对象存储系统实现为本地文件系统的方法
CN108737507A (zh) * 2018-04-27 2018-11-02 西安交通大学 一种d2d无线缓存方法
CN109218747A (zh) * 2018-09-21 2019-01-15 北京邮电大学 超密集异构网络中基于用户移动性的视频业务分类缓存方法
CN110188080A (zh) * 2019-05-17 2019-08-30 北京航空航天大学 基于客户端高效缓存的远程文件数据访问性能优化方法

Also Published As

Publication number Publication date
CN111782612A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN111782612B (zh) 跨域虚拟数据空间中文件数据边缘缓存方法
US7058763B2 (en) File system for caching web proxies
US10503639B2 (en) Cached volumes at storage gateways
US6389510B1 (en) Method and apparatus for caching web-based information
CN102014158B (zh) 一种云存储服务客户端高效细粒度数据缓存系统与方法
US11561930B2 (en) Independent evictions from datastore accelerator fleet nodes
US6542967B1 (en) Cache object store
US9274956B1 (en) Intelligent cache eviction at storage gateways
US9268651B1 (en) Efficient recovery of storage gateway cached volumes
US9559889B1 (en) Cache population optimization for storage gateways
CN104580437A (zh) 一种云存储客户端及其高效数据访问方法
US7412496B2 (en) Management of the file-modification time attribute in a multi-processor file server system
CN109299056B (zh) 一种基于分布式文件系统的数据同步方法和装置
CN107888687B (zh) 一种基于分布式存储系统的代理客户端存储加速方法及系统
US20130290636A1 (en) Managing memory
Markatos et al. SECONDARYSTORAGEMANAG EMENT FORWEBPROXIES
Cuenca-Acuna et al. Cooperative caching middleware for cluster-based servers
CN111787062B (zh) 面向广域网络文件系统的自适应快速增量预读方法
Cortes et al. PACA: A cooperative file system cache for parallel machines
CN112650694B (zh) 一种数据读取方法、装置、缓存代理服务器及存储介质
CN108984338A (zh) 一种面向去重备份系统数据恢复的离线最优缓存替换装置及方法
Xu et al. Practical optimizations for lightweight distributed file system on consumer devices
Qian et al. FastCache: A client-side cache with variable-position merging schema in network storage system
Chuchuk et al. Caching for dataset-based workloads with heterogeneous file sizes
CN114138780B (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