CN110750507A - 面向dfs的全局命名空间下的客户端持久缓存方法及系统 - Google Patents
面向dfs的全局命名空间下的客户端持久缓存方法及系统 Download PDFInfo
- Publication number
- CN110750507A CN110750507A CN201910938134.0A CN201910938134A CN110750507A CN 110750507 A CN110750507 A CN 110750507A CN 201910938134 A CN201910938134 A CN 201910938134A CN 110750507 A CN110750507 A CN 110750507A
- Authority
- CN
- China
- Prior art keywords
- file
- client
- cache
- server
- cached
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种面向DFS的全局命名空间下的持久客户端缓存方法及系统,属于大规模分布式系统领域,包括:由元数据服务器维护全局目录树的视图,所有客户端共享该视图,且所有客户端可通过该视图访问任意文件;客户端根据缓存预取规则识别需要预取的文件,并将该文件从对象存储服务器迁移至本地进行持久化缓存;在客户端本地缓存的数据量超过缓存阈值时,将客户端本地已缓存的数据替换出;客户端进行文件操作时,若待操作的文件已缓存到客户端本地,且客户端有相应的操作权限,则直接访问本地缓存的文件并完成操作;否则,通过网络远程访问对象存储服务器中的文件并完成操作。本发明能够简化分布式文件系统的数据管理,同时减少网络资源开销。
Description
技术领域
本发明属于大规模分布式系统领域,更具体地,涉及一种面向DFS的全局命名空间下的客户端持久缓存方法及系统。
背景技术
近年来,高性能计算机广泛采用大容量、高带宽、高IOPS、成熟、稳定、功能全面的分布式文件系统(Distributed File System,DFS),如:Lustre,GPFS等。分布式文件系统中数据和元数据分别存放在专用的服务器节点上,具体来说,数据存储于对象存储服务器上,元数据存储于元数据服务器上;客户端节点(一般也是计算节点)通过网络来访问服务器端共享的数据和元数据,这种远程访问方式会引发资源争用、I/O拥塞、高延迟等各种问题,因此会导致系统性能下降。
缓解或解决以上问题的主要方法是添加缓存层,如:FS-Cache、Burst Buffer等。缓存技术一直备受研究者们的青睐,它充分利用了数据访问具有局部性的原理,将远端数据缓存到距离使用更近的地方,缩短数据访问路径,可行之有效的提升各种存储系统的性能。如:Burst Buffer就是在传统分布式存储系统之上,在网络拓扑更接近计算节点的地方构建一个高带宽、低延迟的临时性存储,以满足活跃作业的I/O需求。而且Burst Buffer可利用NVRAM存储设备的高带宽和低延迟,从而在不大幅增加预算和存储容量的情况下,获得所需的高带宽。然而在计算节点和并行文件系统之间插入Burst Buffer这种新的存储层级,会增加已有工作流程的复杂度,也增加了数据管理的复杂度。
如何将新的存储层级,无缝集成到复杂的存储体系结构中,是亟待解决的问题。传统分布式文件系统多层存储下,缓存(如:Burst Buffer)中数据是临时性的,且对应用不透明,缓存中数据的预取或替换是其他工具辅助完成的;数据在不同存储层级存在多个副本,数据的一致性需其他工具与文件系统协调才能保证,这会占用大量计算与存储资源。此外,多个存储层会使用多个命名空间,这多个存储层命名空间的差异,使得数据需要在缓冲层和分布式文件系统之间频繁地移动,进一步导致工作流复杂化。总体而言,现有的面向分布式文件系统的缓存方法,数据管理较为复杂,并且会占用大量的网络资源。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种面向DFS的全局命名空间下的持久客户端缓存方法及系统,其目的在于,简化分布式文件系统的数据管理,同时减少网络资源开销。
为实现上述目的,按照本发明的第一方面,提供了一种面向DFS的全局命名空间下的持久客户端缓存方法,包括:
由元数据服务器维护全局目录树的视图,所有客户端共享该视图,且所有客户端可通过全局目录树的视图访问任意文件;
客户端根据预定义的缓存预取规则识别需要预取的文件,并将该文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存;在客户端本地缓存的数据量超过预设的缓存阈值时,根据预设的缓存替换策略将客户端本地存储介质中已缓存的数据替换出;
客户端进行文件操作时,若待操作的文件已缓存到客户端本地存储介质中,且客户端对于已缓存的文件有相应的操作权限,则直接访问客户端本地缓存的文件并完成操作;否则,通过网络远程访问对象存储服务器中的文件并完成操作。
本发明利用元数据服务器维护全局目录树的视图,所有客户端共享该视图且所有客户端可通过全局目录树的视图访问任意文件,由此在多个存储层间实现了全局命名空间,从而文件和目录无需在缓存层和全局存储间频繁移动,使得分布式文件系统中的数据管理大为简化;本发明在全局空间下,采用基于规则的预取方案将文件数据持久化缓存到客户端本地存储介质中,使得客户端可通过访问本地文件即可完成文件操作,无需通过网络远程访问对象存储服务器,从而能够有效减少网络资源的开销。总的来说,本发明所提供的面向DFS的全局命名空间下的持久客户端缓存方法,能够简化分布式文件系统的数据管理,同时减少网络资源开销。
本发明将满足缓存预取规则的文件缓存到客户端本地,能够利用客户端持久性存储资源,充分发挥客户端存储介质性能优势,并且当I/O请求能够在客户端缓存层满足时,能够避免客户端请求对服务器端存储层的访问而带来的网络延迟,避免争用服务器端共享资源问题,使得不同客户端应用性能隔离。
进一步地,将文件缓存到客户端本地存储介质中,包括两种缓存模式:读写缓存模式和只读缓存模式;
在读写缓存模式下,一个文件至多只能被一个客户端缓存;对于已经被任意一个客户端C缓存的文件,其他客户端访问该文件时,客户端C会将该文件迁移回对象存储服务器中,以使得其他客户端从对象存储服务器访问该文件;
在只读缓存模式下,一个文件可以同时被多个客户端缓存;对于已经被客户端缓存的文件,任意一个客户端对该文件进行修改时,所有客户端中对该文件的缓存都将失效。
很多应用对数据的访问具有局部性,数据访问会集中在单个客户端中,在本发明的读写缓存模式下,一个文件可以被单客户端缓存在本地,能够充分利用数据访问集中在单个客户端的访问特性,有效提高文件读写性能,并减少通过网络的远程I/O,因此,本发明在读写缓存模式下,能够加速文件与客户端一一对应的I/O密集型应用的性能。
有的应用中,某些文件在大部分情况下被多客户端以只读的方式进行访问,而很少被修改,在本发明的只读缓存模式下,文件能够以只读的模式被同时被多个客户端缓存到本地,使得多个能够并行执行对同一文件的只读操作,因此,本发明在只读缓存模式下,能够加速读密集型应用的性能。
进一步地,在读写缓存模式下,客户端将文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存,通过单客户端添加操作完成;
对于任意一个文件F1,单客户端添加操作包括:
(a1)客户端向元数据服务器请求文件F1的独占模式的打开锁;
(a2)元数据服务器收到该请求后,判断文件F1是否已经被打开,若是,则元数据服务器向客户端返回错误代码,转入步骤(a9);若否,则元数据服务器向客户端返回授权的锁,以及文件F1的元数据信息;
元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息;
(a3)客户端获得文件F1的独占模式的打开锁及元数据信息后,根据文件标识符FID在本地缓存系统中创建一个空的镜像文件,并根据文件布局信息访问对象存储服务器中的文件F1,将文件数据拷贝到所创建的镜像文件中,从而将文件F1迁移到客户端本地存储介质中;
(a4)客户端将文件F1迁移到客户端本地存储介质之后,释放独占模式的打开锁,并向元数据服务器发送释放请求,以请求撤销该独占模式的打开锁并释放文件F1;
(a5)元数据服务器收到客户端发送的释放请求之后,持有文件F1的独占模式的布局锁;
(a6)元数据服务器根据文件F1的文件布局信息删除存储在对象存储服务器上原始的文件数据以释放存储空间,并清除该文件在对象存储服务器上的文件布局信息;在将文件从对象存储服务器迁移到客户端本地存储介质后,删除对象存储服务器中的原始文件数据,能够减少服务器的存储开销,缓解服务器的存储压力;
(a7)元数据服务器根据文件F1在客户端的布局信息更新文件F1的布局信息,并设置文件的分层存储管理属性,以指示文件F1当前所属的存储层级,同时更新文件F1的文件布局版本信息;
(a8)元数据服务器释放文件F1的独占模式的布局锁,并将最新的文件布局信息和文件布局版本信息发送给客户端;
(a9)客户端判断文件F1的文件布局版本信息是否发生变化,若是,则保存文件F1最新的文件布局版本信息,单客户端添加操作成功,操作结束;若否,则单客户端添加操作失败,操作结束。
进一步地,在读写缓存模式下,客户端将本地存储介质中已缓存的文件迁移回对象存储服务器中,通过单客户端恢复操作完成;
对于任意一个文件F2,若客户端B已在本地存储介质中缓存了文件F2,则另一个客户端A访问文件F2时,单客户端恢复操作包括:
(b1)客户端A向元数据服务器发送第一恢复请求,以请求将文件F2迁移回对象存储服务器中;
(b2)元数据服务器接收到第一恢复请求后,持有文件F2的独占模式的布局锁,同时向客户端B发送第二恢复请求,以通知客户端B对文件F2缓存的布局信息无效;
(b3)客户端B收到第二恢复请求后,判断是否仍有进程在使用文件F2,若是,则等待直至所有使用文件F2的进程结束后,转入步骤(b4);若否,则直接转入步骤(b4);
(b4)客户端B在对象存储服务中创建一个临时文件Ft,并将本地缓存的文件F2的数据拷贝到该临时文件中,从而将文件F2从客户端B的本地存储介质迁移回对象存储服务器;
(b5)客户端B将文件F2迁移回对象存储服务器后,将文件F2的文件标识符FID发送给元数据服务器;
(b6)元数据服务器接收到客户端发送的文件标识符FID后,根据临时文件Ft在对象存储服务器中的布局信息更新文件F2的布局信息,并删除客户端B中存储的文件F2,之后更新文件F2的文件布局版本信息,并释放文件F2的独占模式的布局锁;
(b7)元数据服务器通知客户端A第一恢复请求已处理完成,单客户端恢复操作结束。
进一步地,在只读缓存模式下,客户端将文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存,通过多客户端添加操作完成;
对于任意一个文件F3,多客户端添加操作包括:
(c1)客户端检查文件F3是否已经被缓存在本地存储介质中,或者该客户端是否正在执行多客户端添加操作,若是,多客户端添加操作失败,操作结束;否则,向元数据服务器发送添加请求,以请求持有文件F3的并发读模式的布局锁,并以只读缓存模式将文件F3从对象存储服务器迁移至客户端本地存储介质;
(c2)元数据服务器接收到添加请求后,根据文件F3的文件布局信息判断文件F3是否是只读文件,若是,则转入步骤(c4);若否,则转入步骤(c3);
(c3)元数据服务器持有文件F3的独占写锁,对文件F3的布局信息进行设置,以标识文件F3为只读文件,并更新文件F3的文件布局版本信息,之后释放文件F3的独占写锁,并通知客户端,多客户端添加操作失败,操作结束;
(c4)元数据服务器将文件F3的并发读模式的布局锁和元数据信息一并返回给客户端;
元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息;
(c5)客户端接收到元数据服务器发送的响应信息后,根据文件标识符FID在本地缓存系统中创建一个空的镜像文件,并根据文件布局信息访问对象存储服务器中的文件F3,将文件数据拷贝到所创建的镜像文件中,从而将文件F3迁移到客户端本地存储介质中;
(c6)客户端判断文件F3的文件布局版本信息是否发生变化,若是,则多客户端添加操作成功,操作结束;若否,则多客户端添加操作失败,操作结束。
进一步地,在只读缓存模式下,对于任意一个已经被客户端缓存的文件F4,客户端对该文件进行修改时,所有客户端中对该文件的缓存都将失效,包括:
(d1)客户端向元数据服务器发送锁请求,以请求对文件F4进行写操作;
(d2)元数据服务器接收到该锁请求后,持有文件F4的独占模式的布局锁,并撤销所有客户端中缓存的文件F4的并发读锁,同时清除客户端中对文件F的缓存信息,以使得所有客户端中对文件F4的缓存失效;
(d3)元数据服务器对文件F4的布局信息进行设置,以标识文件F4为非只读文件,并更新文件F4的文件布局版本信息,之后释放文件F4的独占模式的布局锁。
本发明利用分布式的锁机制实现上述数据操作,在实现读写缓存模式和只读缓存模式这两种缓存模式的情况下,有效保证了缓存数据的一致性。
进一步地,本发明第一方面提供的面向DFS的全局命名空间下的持久客户端缓存方法,还包括:利用分层存储技术管理对象存储服务器中的数据。
分层存储管理技术,即将“冷”数据自动地从“昂贵的”存储层中,迁移到更加廉价的存储层,从而节省“快”存储层的容量,与传统的数据归档保存不一样,存储层中数据仍然可以供用户即时使用。在本发明中,由于元数据服务器中维护了全局目录树的视图,无论数据在哪一存储层,元数据信息仍然会保存在元数据服务器中,因此,能够进一步地实现存储优化,提高数据访问性能。
进一步地,客户端根据预定义的缓存预取规则识别需要预取的文件,包括:
每个客户端维护一个规则集链表,用于记录用户自定义的各种缓存预取规则;
对于任意一个被访问的文件F,若存在与文件F的项目标识一致的缓存预取规则R,且文件F符合缓存预取规则R中定义的缓存条件,则识别文件F为需要预取的文件。
本发明利用基于规则的自动缓存预取方案为应用定制缓存,集成缓存替换策略能够保证缓存数据的高效性,保障应用服务质量。
进一步地,在客户端采用非易失性存储介质作为缓存介质,并采用面向NVM的文件系统。
在客户端使用非易失性存储(NVM)介质作为缓存介质,并采用面向NVM的文件系统,能够充分利用非易失性存储介质的特性,提高应用性能。
按照本发明的第二方面,提供了一种系统,包括处理器和计算机可读存储介质,计算机可读存储介质用于存储可执行程序;
处理器用于读取计算机可读存储介质中存储的可执行程序,执行本发明第一方面提供的面向DFS的全局命名空间下的持久客户端缓存方法。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明提供的面向DFS的全局命名空间下的持久客户端缓存方法及系统,利用元数据服务器维护全局目录树的视图,所有客户端共享该视图且所有客户端可通过全局目录树的视图访问任意文件,由此在多个存储层间实现了全局命名空间,从而文件和目录无需在缓存层和全局存储间频繁移动,使得分布式文件系统中的数据管理大为简化;在全局空间下,采用基于规则的预取方案将文件数据持久化缓存到客户端本地存储介质中,使得客户端可通过访问本地文件即可完成文件操作,无需通过网络远程访问对象存储服务器,从而能够有效减少网络资源的开销。总的来说,本发明所能够简化分布式文件系统的数据管理,同时减少网络资源开销。
(2)本发明提供的面向DFS的全局命名空间下的持久客户端缓存方法及系统,存在读写缓存模式和只读缓存模式这两种缓存模式,在读写缓存模式下,一个文件可以被单客户端缓存在本地,能够充分利用数据访问集中在单个客户端的访问特性,有效提高文件读写性能,并减少通过网络的远程I/O,从而加速文件与客户端一一对应的I/O密集型应用的性能;在只读缓存模式下,文件能够以只读的模式被同时被多个客户端缓存到本地,使得多个能够并行执行对同一文件的只读操作,从而能够加速读密集型应用的性能。
(3)本发明提供的面向DFS的全局命名空间下的持久客户端缓存方法及系统,将满足缓存预取规则的文件缓存到客户端本地,能够利用客户端持久性存储资源,充分发挥客户端存储介质性能优势,并且当I/O请求能够在客户端缓存层满足时,能够避免客户端请求对服务器端存储层的访问而带来的网络延迟,避免争用服务器端共享资源问题,使得不同客户端应用性能隔离。
(4)本发明提供的面向DFS的全局命名空间下的持久客户端缓存方法及系统,利用分布式的锁机制实现读写缓存模式下的单客户端添加操作和单客户端恢复操作,以及只读缓存模式下的多客户端添加操作和文件修改操作,在实现读写缓存模式和只读缓存模式这两种缓存模式的情况下,有效保证了缓存数据的一致性。
(5)本发明提供的面向DFS的全局命名空间下的持久客户端缓存方法及系统,利用分层存储技术管理对象存储服务器中的数据,由于元数据服务器中维护了全局目录树的视图,无论数据在哪一存储层,元数据信息仍然会保存在元数据服务器中,因此,能够进一步地实现存储优化,提高数据访问性能。
(6)本发明提供的面向DFS的全局命名空间下的持久客户端缓存方法及系统,利用基于规则的自动缓存预取方案为应用定制缓存,集成缓存替换策略能够保证缓存数据的高效性,保障应用服务质量。
附图说明
图1为本发明实施例提供的面向DFS的全局命名空间下的持久客户端缓存方法示意图;
图2为本发明实施例提供的读写缓存模式下的单客户端添加操作流程图;
图3为本发明实施例提供的读写缓存模式下的单客户端恢复操作流程图;
图4为本发明实施例提供的只读缓存模式下的多客户端添加操作流程图;
图5为本发明实施例提供的缓存文件读操作流程图;
图6为本发明实施例提供的缓存文件写操作流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
为了简化分布式文件系统(DFS)中的数据管理流程,并减少网络资源开销,本发明提供了一种面向DFS的全局命名空间下的持久客户端缓存方法及系统,其整体思路在于:所有客户端共享全局目录树的相同视图,并且所有客户端都可以自由读取或写入任何文件,由此实现一个统一的全局命名空间,使得文件和目录无需在缓冲层和全局存储间频繁移动;利用客户端存储资源,将数据持久化在客户端缓存上,该客户端缓存实际具有临时的存储功能;利用基于规则的自动缓存预取方案为应用定制缓存,集成常规的缓存替换算法保证缓存数据的高效性,保障应用服务质量。
以下以一个具体的分布式文件系统Lustre文件系统为例,对本发明的技术方案作进一步的解释,应当理解的是,本发明所适用的分布式文件系统并不限于Lustre文件系统。
本发明所提供的面向DFS的全局命名空间下的持久客户端缓存方法,如图1所示,包括:
由元数据服务器维护全局目录树的视图,所有客户端共享该视图,且所有客户端可通过全局目录树的视图访问任意文件;由此在多个存储层间实现了全局命名空间,从而文件和目录无需在缓存层和全局存储间频繁移动,使得分布式文件系统中的数据管理大为简化;
客户端根据预定义的缓存预取规则识别需要预取的文件,并将该文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存;在客户端本地缓存的数据量超过预设的缓存阈值时,根据预设的缓存替换策略将客户端本地存储介质中已缓存的数据替换出;在全局空间下,采用基于规则的预取方案将文件数据持久化缓存到客户端本地存储介质中,使得客户端可通过访问本地文件即可完成文件操作,无需通过网络远程访问对象存储服务器,从而能够有效减少网络资源的开销,同时,能够利用客户端持久性存储资源,充分发挥客户端存储介质性能优势,并且当I/O请求能够在客户端缓存层满足时,能够避免客户端请求对服务器端存储层的访问而带来的网络延迟,避免争用服务器端共享资源问题,使得不同客户端应用性能隔离;
客户端进行文件操作时,若待操作的文件已缓存到客户端本地存储介质中,且客户端对于已缓存的文件有相应的操作权限,则直接访问客户端本地缓存的文件并完成操作;否则,通过网络远程访问对象存储服务器中的文件并完成操作。
在一个可选的实施方式中,在上述面向DFS的全局命名空间下的持久客户端缓存方法中,客户端根据预定义的缓存预取规则识别需要预取的文件,具体包括:
每个客户端维护一个规则集链表,用于记录用户自定义的各种缓存预取规则;在Lustre文件系统下,具体可利用其配额功能,利用项目标识来设计自动缓存机制;
对于任意一个被访问的文件F,若存在与文件F的项目标识一致的缓存预取规则R,且文件F符合缓存预取规则R中定义的缓存条件,则识别文件F为需要预取的文件;在缓存预取规则中,文件需要满足一定的条件,如高频访问的文件,强相关时空局部性数据,或其他应用程序/用户给出明确需求的文件;同时根据被访问文件中数据的访问特性不同,缓存预取规则中有相应的缓存策略,例如,针对单应用读写频率高的数据可预取到单客户端,针对多并发只读性数据可预取到多客户端,长时间无需访问的数据迁移到后端存储,仅打开关闭文件,没做其他操作的数据无需预取;被访问文件中数据的访问特性可根据分布式文件系统的日志分析得到;
当发生缓存替换时,具体的缓存替换策略可根据实际需要设定为LRU缓存替换策略或SIZE缓存替换策略,也可以设置为其他任意一种缓存替换策略;其中,LRU缓存替换策略,根据数据局部性原理,以数据的使用时间与次数作为标准,如果客户端缓存容量不足(用户可以指定阈值,如客户端容量已使用80%时)首先删除最近访问最少的文件;SIZE缓存替换策略,依据是用户不太可能重新访问大型文件(此类文件相关的访问延迟很高),将文件大小作为主键,并在缓存饱和时首先删除大文件。缓存替换的一般对象是当客户端缓存空闲空间不足时,对大文件、近期不被访问的数据(完成任务的相关数据)、应用程序/用户给出明确指示的数据进行替换;
上述面向DFS的全局命名空间下的持久客户端缓存方法,利用基于规则的自动缓存预取方案为应用定制缓存,集成缓存替换策略能够保证缓存数据的高效性,保障应用服务质量。
为了减少缓存策略对系统性能的影响,缓存预取与替换策略周期性执行(如:每隔5秒周期性检测客户端规则集链表和缓存状态)。
在本实施例中,将文件缓存到客户端本地存储介质中,包括两种缓存模式:读写缓存模式和只读缓存模式;
在读写缓存模式下,一个文件至多只能被一个客户端缓存;对于已经被任意一个客户端C缓存的文件,其他客户端访问该文件时,客户端C会将该文件迁移回对象存储服务器中,以使得其他客户端从对象存储服务器访问该文件;
在只读缓存模式下,一个文件可以同时被多个客户端缓存;对于已经被客户端缓存的文件,任意一个客户端对该文件进行修改时,所有客户端中对该文件的缓存都将失效;
具体地,在读写缓存模式下,客户端将文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存,通过单客户端添加操作完成;对于任意一个文件F1,如图2所示,单客户端添加操作包括:
(a1)客户端向元数据服务器请求文件F1的独占模式的打开锁;
(a2)元数据服务器收到该请求后,判断文件F1是否已经被打开,若是,则元数据服务器向客户端返回错误代码,转入步骤(a9);若否,则元数据服务器向客户端返回授权的锁,以及文件F1的元数据信息;
元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息;文件布局信息中记录有文件在存储层级中的存储位置,以及文件的只读属性;文件布局版本信息用于识别对应的文件布局信息是否是最新的文件布局信息,一旦文件布局信息发生变化,就需要更新文件布局版本信息(版本号),在本实施例中,简单地通过加1操作完成文件布局版本信息的更新,因此,具有最大版本号的文件布局版本信息所对应的文件布局信息就是最新的文件布局信息;
(a3)客户端获得文件F1的独占模式的打开锁及元数据信息后,根据文件标识符FID在本地缓存系统中创建一个空的镜像文件,并根据文件布局信息访问对象存储服务器中的文件F1,将文件数据拷贝到所创建的镜像文件中,从而将文件F1迁移到客户端本地存储介质中;
(a4)客户端将文件F1迁移到客户端本地存储介质之后,释放独占模式的打开锁,并向元数据服务器发送释放请求,以请求撤销该独占模式的打开锁并释放文件F1;
(a5)元数据服务器收到客户端发送的释放请求之后,持有文件F1的独占模式的布局锁;
(a6)元数据服务器根据文件F1的文件布局信息删除存储在对象存储服务器上原始的文件数据以释放存储空间,并清除该文件在对象存储服务器上的文件布局信息;在将文件从对象存储服务器迁移到客户端本地存储介质后,删除对象存储服务器中的原始文件数据,能够减少服务器的存储开销,缓解服务器的存储压力;
(a7)元数据服务器根据文件F1在客户端的布局信息更新文件F1的布局信息,并设置文件的分层存储管理属性,以指示文件F1当前所属的存储层级,同时更新文件F1的文件布局版本信息;
(a8)元数据服务器释放文件F1的独占模式的布局锁,并将最新的文件布局信息和文件布局版本信息发送给客户端;
(a9)客户端判断文件F1的文件布局版本信息是否发生变化,若是,则保存文件F1最新的文件布局版本信息,单客户端添加操作成功,操作结束;若否,则单客户端添加操作失败,操作结束;
在读写缓存模式下,客户端将本地存储介质中已缓存的文件迁移回对象存储服务器中,通过单客户端恢复操作完成;对于任意一个文件F2,若客户端B已在本地存储介质中缓存了文件F2,则另一个客户端A访问文件F2时,如图3所示,单客户端恢复操作包括:
(b1)客户端A向元数据服务器发送第一恢复请求,以请求将文件F2迁移回对象存储服务器中;
(b2)元数据服务器接收到第一恢复请求后,持有文件F2的独占模式的布局锁,同时向客户端B发送第二恢复请求,以通知客户端B对文件F2缓存的布局信息无效;
(b3)客户端B收到第二恢复请求后,判断是否仍有进程在使用文件F2,若是,则等待直至所有使用文件F2的进程结束后,转入步骤(b4);若否,则直接转入步骤(b4);
(b4)客户端B在对象存储服务中创建一个临时文件Ft,并将本地缓存的文件F2的数据拷贝到该临时文件中,从而将文件F2从客户端B的本地存储介质迁移回对象存储服务器;
(b5)客户端B将文件F2迁移回对象存储服务器后,将文件F2的文件标识符FID发送给元数据服务器;
(b6)元数据服务器接收到客户端发送的文件标识符FID后,根据临时文件Ft在对象存储服务器中的布局信息更新文件F2的布局信息,并删除客户端B中存储的文件F2,之后更新文件F2的文件布局版本信息,并释放文件F2的独占模式的布局锁;
(b7)元数据服务器通知客户端A第一恢复请求已处理完成,单客户端恢复操作结束;客户端B所执行的单客户端恢复操作结束后,文件F2已经从客户端B的本地存储介质迁移到了对象存储服务器中,此时客户端A通过网络I/O远程访问对象存储服务器中的文件F2即可;
在只读缓存模式下,客户端将文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存,通过多客户端添加操作完成;如图4所示,对于任意一个文件F3,多客户端添加操作包括:
(c1)客户端检查文件F3是否已经被缓存在本地存储介质中,或者该客户端是否正在执行多客户端添加操作,若是,多客户端添加操作失败,操作结束;否则,向元数据服务器发送添加请求,以请求持有文件F3的并发读模式的布局锁,并以只读缓存模式将文件F3从对象存储服务器迁移至客户端本地存储介质;
(c2)元数据服务器接收到添加请求后,根据文件F3的文件布局信息判断文件F3是否是只读文件,具体可通过文件布局信息中的相应字段判断,若是,则转入步骤(c4);若否,则转入步骤(c3);
(c3)元数据服务器持有文件F3的独占写锁,对文件F3的布局信息进行设置,以标识文件F3为只读文件,并更新文件F3的文件布局版本信息,之后释放文件F3的独占写锁,并通知客户端,多客户端添加操作失败,操作结束;
(c4)元数据服务器将文件F3的并发读模式的布局锁和元数据信息一并返回给客户端;
元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息;
(c5)客户端接收到元数据服务器发送的响应信息后,根据文件标识符FID在本地缓存系统中创建一个空的镜像文件,并根据文件布局信息访问对象存储服务器中的文件F3,将文件数据拷贝到所创建的镜像文件中,从而将文件F3迁移到客户端本地存储介质中;
(c6)客户端判断文件F3的文件布局版本信息是否发生变化,若是,则多客户端添加操作成功,操作结束;若否,则多客户端添加操作失败,操作结束;
在只读缓存模式下,对于任意一个已经被客户端缓存的文件F4,客户端对该文件进行修改时,所有客户端中对该文件的缓存都将失效,包括:
(d1)客户端向元数据服务器发送锁请求,以请求对文件F4进行写操作;
(d2)元数据服务器接收到该锁请求后,持有文件F4的独占模式的布局锁,并撤销所有客户端中缓存的文件F4的并发读锁,同时清除客户端中对文件F的缓存信息,以使得所有客户端中对文件F4的缓存失效;
(d3)元数据服务器对文件F4的布局信息进行设置,以标识文件F4为非只读文件,并更新文件F4的文件布局版本信息,之后释放文件F4的独占模式的布局锁;
所有客户端中对文件F4的缓存失效后,客户端即可通过网络I/O远程访问对象存储客户端对其中的文件F4进行修改。
本实施例利用分布式的锁机制实现上述数据操作,在实现读写缓存模式和只读缓存模式这两种缓存模式的情况下,有效保证了缓存数据的一致性;
容易理解的是,上述数据操作中,独占模式的打开锁允许单个持有者对资源以独占方式进行读写访问(RW),但不允许其他访问者对同样的资源进行任何访问活动;独占模式的布局锁是一种重要的索引节点比特锁,用来保护文件的布局信息,索引节点比特锁用来保护元数据,客户端在读取某文件的元数据信息时,元数据服务器会对该文件的元数据加上索引节点比特锁,独占模式的布局锁实质上是独占模式下索引节点比特锁中的布局锁;并发读模式的布局锁允许多个持有者对相同的资源进行读访问;独占写锁允许单个持有者对资源以独占方式进行读写访问(RW),不允许其他访问者对相同的资源进行任何访问活动;并发读锁允许多个持有者同时对资源进行读访问(R);
在实际实施时,可结合分布式文件系统自身的锁机制实现上述各锁,在本实施例中,可利用Lustre文件系统自身的锁机制,具体来说,独占模式的打开锁为LCK_EX,索引节点比特锁为LDLM_IBITS,独占模式的布局锁为独占模式下(LCK_EX)下索引节点比特锁(LDLM_IBITS),并发读模式的布局锁为LCK_CR,独占写锁为LCK_EX(LCK_EX是比较大的一类锁,在独占模式,都需持有该锁,它可以单独对锁定对象进行读写),并发读锁为LCK_CR。
很多应用对数据的访问具有局部性,数据访问会集中在单个客户端中,在读写缓存模式下,一个文件可以被单客户端缓存在本地,能够充分利用数据访问集中在单个客户端的访问特性,有效提高文件读写性能,并减少通过网络的远程I/O,因此,本实施例在读写缓存模式下,能够加速文件与客户端一一对应的I/O密集型应用的性能。
有的应用中,某些文件在大部分情况下被多客户端以只读的方式进行访问,而很少被修改,在只读缓存模式下,文件能够以只读的模式被同时被多个客户端缓存到本地,使得多个能够并行执行对同一文件的只读操作,因此,本实施例在只读缓存模式下,能够加速读密集型应用的性能。
为了进一步提高分布式文件系统的访问性能,上述面向DFS的全局命名空间下的持久客户端缓存方法,还可包括:利用分层存储技术管理对象存储服务器中的数据;
分层存储管理技术,即将“冷”数据自动地从“昂贵的”存储层中,迁移到更加廉价的存储层,从而节省“快”存储层的容量,与传统的数据归档保存不一样,存储层中数据仍然可以供用户即时使用。在实施例中,由于元数据服务器中维护了全局目录树的视图,无论数据在哪一存储层,元数据信息仍然会保存在元数据服务器中,因此,能够进一步地实现存储优化,提高数据访问性能。
作为一种优选的实施方式,上述面向DFS的全局命名空间下的持久客户端缓存方法及系统,在客户端采用非易失性存储介质作为缓存介质,并采用面向NVM的文件系统(如NOVA、PMFS等),由此能够充分利用非易失性存储介质的特性,提高应用性能;
在读写缓存模式下,客户端可以对缓存在本地的文件执行读操作和写操作;在只读缓存模式下,客户端只能对缓存在本地的文件执行读操作;
Lustre文件系统中缓存文件的读写操作一般流程是:应用程序通过系统调用(如read()、write()),陷入内核,然后调用Lustre文件系统定义的读写函数完成读写请求;如果文件在Lustre客户端缓存中,则调用本地缓存文件系统定义的读写操作完成I/O请求,否则,通过常规的I/O路径(网络I/O)完成I/O请求;
如图5所示,客户端对文件执行读操作的具体步骤如下:
(S1)根据文件描述符得到文件结构体对象;
(S2)利用文件结构体的相关信息得到保存有Lustre文件信息的结构体;
(S3)从保存有Lustre文件信息的结构体的文件域,得到保存缓存文件信息的变量;
(S4)判断缓存文件信息的变量对象是否为空,如果不为空,说明文件在缓存系统中,转到流程(S5);如果为空,说明文件不在缓存中,转到流程(S7);
(S5)判断缓存的布局锁是否被取消,如果已经被取消则,转到流程(S7);否则,执行步骤(S6);
(S6)使用缓存文件信息变量中的异步读操作调用本地文件系统注册的读函数完成读数据请求;如本地文件系统是NOVA或者PMFS,则调用NOVA的读函数或者PMFS文件系统中的读函数将NVM上的数据通过DAX机制,拷贝到用户缓存区;若程序执行成功,则结束读操作;若失败,则转到步骤(S7)使用常规路径从对象存储服务器端获取文件数据;
(S7)调用不带本地缓存的Lustre的通用接口,利用远程I/O访问路径完成读请求。
客户端对文件执行读操作的具体步骤如图6所示,由于只有在读写缓存模式下,才可在客户端本地缓存完成写操作;否则,仍然通过访问对象存储服务器访问路径来完成写操作;因此,与Lustre的读操作不一样的是通过判断缓存模式是否为读写缓存模式来确定是否在客户端本地缓存中完成写操作;若文件以读写模式缓存在客户端,则调用本地文件系统定义的写函数来完成写操作,如NOVA文件系统写函数或PMFS的写函数来响应文件写请求;否则,通过常规的I/O路径(网络I/O)向对象存储服务器端写入数据;如图6所示的缓存文件写操作流程与读操作流程类似,在此将不作复述。
本发明还提供了一种系统,包括处理器和计算机可读存储介质,计算机可读存储介质用于存储可执行程序;
处理器用于读取计算机可读存储介质中存储的可执行程序,执行上述面向DFS的全局命名空间下的持久客户端缓存方法。
本发明及附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,包括:
由元数据服务器维护全局目录树的视图,所有客户端共享该视图,且所有客户端可通过全局目录树的视图访问任意文件;
客户端根据预定义的缓存预取规则识别需要预取的文件,并将该文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存;在客户端本地缓存的数据量超过预设的缓存阈值时,根据预设的缓存替换策略将客户端本地存储介质中已缓存的数据替换出;
客户端进行文件操作时,若待操作的文件已缓存到客户端本地存储介质中,且客户端对于已缓存的文件有相应的操作权限,则直接访问客户端本地缓存的文件并完成操作;否则,通过网络远程访问对象存储服务器中的文件并完成操作。
2.如权利要求1所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,将文件缓存到客户端本地存储介质中,包括两种缓存模式:读写缓存模式和只读缓存模式;
在读写缓存模式下,一个文件至多只能被一个客户端缓存;对于已经被任意一个客户端C缓存的文件,其他客户端访问该文件时,客户端C会将该文件迁移回对象存储服务器中,以使得其他客户端从对象存储服务器访问该文件;
在只读缓存模式下,一个文件可以同时被多个客户端缓存;对于已经被客户端缓存的文件,任意一个客户端对该文件进行修改时,所有客户端中对该文件的缓存都将失效。
3.如权利要求2所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,在读写缓存模式下,客户端将文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存,通过单客户端添加操作完成;
对于任意一个文件F1,所述单客户端添加操作包括:
(a1)客户端向元数据服务器请求文件F1的独占模式的打开锁;
(a2)元数据服务器收到该请求后,判断文件F1是否已经被打开,若是,则元数据服务器向客户端返回错误代码,转入步骤(a9);若否,则元数据服务器向客户端返回授权的锁,以及文件F1的元数据信息;
元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息;
(a3)客户端获得文件F1的独占模式的打开锁及元数据信息后,根据文件标识符FID在本地缓存系统中创建一个空的镜像文件,并根据文件布局信息访问对象存储服务器中的文件F1,将文件数据拷贝到所创建的镜像文件中,从而将文件F1迁移到客户端本地存储介质中;
(a4)客户端将文件F1迁移到客户端本地存储介质之后,释放独占模式的打开锁,并向元数据服务器发送释放请求,以请求撤销该独占模式的打开锁并释放文件F1;
(a5)元数据服务器收到客户端发送的释放请求之后,持有文件F1的独占模式的布局锁;
(a6)元数据服务器根据文件F1的文件布局信息删除存储在对象存储服务器上原始的文件数据以释放存储空间,并清除该文件在对象存储服务器上的文件布局信息;
(a7)元数据服务器根据文件F1在客户端的布局信息更新文件F1的布局信息,并设置文件的分层存储管理属性,以指示文件F1当前所属的存储层级,同时更新文件F1的文件布局版本信息;
(a8)元数据服务器释放文件F1的独占模式的布局锁,并将最新的文件布局信息和文件布局版本信息发送给客户端;
(a9)客户端判断文件F1的文件布局版本信息是否发生变化,若是,则保存文件F1最新的文件布局版本信息,单客户端添加操作成功,操作结束;若否,则单客户端添加操作失败,操作结束。
4.如权利要求3所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,在读写缓存模式下,客户端将本地存储介质中已缓存的文件迁移回对象存储服务器中,通过单客户端恢复操作完成;
对于任意一个文件F2,若客户端B已在本地存储介质中缓存了文件F2,则另一个客户端A访问文件F2时,单客户端恢复操作包括:
(b1)客户端A向元数据服务器发送第一恢复请求,以请求将文件F2迁移回对象存储服务器中;
(b2)元数据服务器接收到第一恢复请求后,持有文件F2的独占模式的布局锁,同时向客户端B发送第二恢复请求,以通知客户端B对文件F2缓存的布局信息无效;
(b3)客户端B收到第二恢复请求后,判断是否仍有进程在使用文件F2,若是,则等待直至所有使用文件F2的进程结束后,转入步骤(b4);若否,则直接转入步骤(b4);
(b4)客户端B在对象存储服务中创建一个临时文件Ft,并将本地缓存的文件F2的数据拷贝到该临时文件中,从而将文件F2从客户端B的本地存储介质迁移回对象存储服务器;
(b5)客户端B将文件F2迁移回对象存储服务器后,将文件F2的文件标识符FID发送给元数据服务器;
(b6)元数据服务器接收到客户端发送的文件标识符FID后,根据临时文件Ft在对象存储服务器中的布局信息更新文件F2的布局信息,并删除客户端B中存储的文件F2,之后更新文件F2的文件布局版本信息,并释放文件F2的独占模式的布局锁;
(b7)元数据服务器通知客户端A第一恢复请求已处理完成,单客户端恢复操作结束。
5.如权利要求2所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,在只读缓存模式下,客户端将文件从对象存储服务器迁移至客户端本地存储介质中进行持久化缓存,通过多客户端添加操作完成;
对于任意一个文件F3,多客户端添加操作包括:
(c1)客户端检查文件F3是否已经被缓存在本地存储介质中,或者该客户端是否正在执行多客户端添加操作,若是,多客户端添加操作失败,操作结束;否则,向元数据服务器发送添加请求,以请求持有文件F3的并发读模式的布局锁,并以只读缓存模式将文件F3从对象存储服务器迁移至客户端本地存储介质;
(c2)元数据服务器接收到添加请求后,根据文件F3的文件布局信息判断文件F3是否是只读文件,若是,则转入步骤(c4);若否,则转入步骤(c3);
(c3)元数据服务器持有文件F3的独占写锁,对文件F3的布局信息进行设置,以标识文件F3为只读文件,并更新文件F3的文件布局版本信息,之后释放文件F3的独占写锁,并通知客户端,多客户端添加操作失败,操作结束;
(c4)元数据服务器将文件F3的并发读模式的布局锁和元数据信息一并返回给客户端;
元数据信息包括文件标识符FID、文件布局信息以及文件布局版本信息;
(c5)客户端接收到元数据服务器发送的响应信息后,根据文件标识符FID在本地缓存系统中创建一个空的镜像文件,并根据文件布局信息访问对象存储服务器中的文件F3,将文件数据拷贝到所创建的镜像文件中,从而将文件F3迁移到客户端本地存储介质中;
(c6)客户端判断文件F3的文件布局版本信息是否发生变化,若是,则多客户端添加操作成功,操作结束;若否,则多客户端添加操作失败,操作结束。
6.如权利要求5所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,在只读缓存模式下,对于任意一个已经被客户端缓存的文件F4,客户端对该文件进行修改时,所有客户端中对该文件的缓存都将失效,包括:
(d1)客户端向元数据服务器发送锁请求,以请求对文件F4进行写操作;
(d2)元数据服务器接收到该锁请求后,持有文件F4的独占模式的布局锁,并撤销所有客户端中缓存的文件F4的并发读锁,同时清除客户端中对文件F的缓存信息,以使得所有客户端中对文件F4的缓存失效;
(d3)元数据服务器对文件F4的布局信息进行设置,以标识文件F4为非只读文件,并更新文件F4的文件布局版本信息,之后释放文件F4的独占模式的布局锁。
7.如权利要求1-6任一项所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,还包括:利用分层存储技术管理对象存储服务器中的数据。
8.如权利要求1-6任一项所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,客户端根据预定义的缓存预取规则识别需要预取的文件,包括:
每个客户端维护一个规则集链表,用于记录用户自定义的各种缓存预取规则;
对于任意一个被访问的文件F,若存在与文件F的项目标识一致的缓存预取规则R,且文件F符合缓存预取规则R中定义的缓存条件,则识别文件F为需要预取的文件。
9.如权利要求1-6任一项所述的面向DFS的全局命名空间下的持久客户端缓存方法,其特征在于,在客户端采用非易失性存储介质作为缓存介质,并采用面向NVM的文件系统。
10.一种系统,包括处理器和计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储可执行程序;
所述处理器用于读取所述计算机可读存储介质中存储的可执行程序,执行权利要求1-9任一项所述的面向DFS的全局命名空间下的持久客户端缓存方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938134.0A CN110750507B (zh) | 2019-09-30 | 2019-09-30 | 面向dfs的全局命名空间下的持久客户端缓存方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938134.0A CN110750507B (zh) | 2019-09-30 | 2019-09-30 | 面向dfs的全局命名空间下的持久客户端缓存方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750507A true CN110750507A (zh) | 2020-02-04 |
CN110750507B CN110750507B (zh) | 2022-09-20 |
Family
ID=69277460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910938134.0A Active CN110750507B (zh) | 2019-09-30 | 2019-09-30 | 面向dfs的全局命名空间下的持久客户端缓存方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750507B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010486A (zh) * | 2021-02-05 | 2021-06-22 | 湖南国科亿存信息科技有限公司 | 用于无中心分布式文件系统的元数据分层缓存方法及装置 |
CN113485639A (zh) * | 2021-06-18 | 2021-10-08 | 济南浪潮数据技术有限公司 | 分布式存储的io速度优化方法、系统、终端及存储介质 |
CN113485852A (zh) * | 2021-05-31 | 2021-10-08 | 济南浪潮数据技术有限公司 | 分布式对象存储系统的用量统计信息下刷方法和装置 |
CN113590560A (zh) * | 2021-06-29 | 2021-11-02 | 济南浪潮数据技术有限公司 | 一种分布式系统的缓存优化方法、系统、设备和存储介质 |
CN114896219A (zh) * | 2022-07-15 | 2022-08-12 | 深圳市沃特沃德信息有限公司 | 资源数据存储的方法、装置、计算机设备和存储介质 |
WO2023060884A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 一种数据系统、数据访问方法、装置及数据处理单元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187930A (zh) * | 2007-12-04 | 2008-05-28 | 浙江大学 | 分布式文件系统虚拟目录及命名空间的实现方法 |
CN103246616A (zh) * | 2013-05-24 | 2013-08-14 | 浪潮电子信息产业股份有限公司 | 一种长短周期访问频度的全局共享缓存替换方法 |
US8788628B1 (en) * | 2011-11-14 | 2014-07-22 | Panzura, Inc. | Pre-fetching data for a distributed filesystem |
US10146694B1 (en) * | 2017-04-28 | 2018-12-04 | EMC IP Holding Company LLC | Persistent cache layer in a distributed file system |
CN109947787A (zh) * | 2017-10-30 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种数据分层存储、分层查询方法及装置 |
-
2019
- 2019-09-30 CN CN201910938134.0A patent/CN110750507B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187930A (zh) * | 2007-12-04 | 2008-05-28 | 浙江大学 | 分布式文件系统虚拟目录及命名空间的实现方法 |
US8788628B1 (en) * | 2011-11-14 | 2014-07-22 | Panzura, Inc. | Pre-fetching data for a distributed filesystem |
CN103246616A (zh) * | 2013-05-24 | 2013-08-14 | 浪潮电子信息产业股份有限公司 | 一种长短周期访问频度的全局共享缓存替换方法 |
US10146694B1 (en) * | 2017-04-28 | 2018-12-04 | EMC IP Holding Company LLC | Persistent cache layer in a distributed file system |
CN109947787A (zh) * | 2017-10-30 | 2019-06-28 | 阿里巴巴集团控股有限公司 | 一种数据分层存储、分层查询方法及装置 |
Non-Patent Citations (2)
Title |
---|
企鹅号 - LUSTRE文件系统与DDN: "Lustre分布式锁管理器技术(三)", 《腾讯「云+社区」:HTTPS://CLOUD.TENCENT.COM/DEVELOPER/NEWS/27913》 * |
钱迎进;金士尧;肖侬: "Lustre文件系统I/O锁的应用与优化", 《计算机工程与应用》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010486A (zh) * | 2021-02-05 | 2021-06-22 | 湖南国科亿存信息科技有限公司 | 用于无中心分布式文件系统的元数据分层缓存方法及装置 |
CN113010486B (zh) * | 2021-02-05 | 2021-11-26 | 湖南国科亿存信息科技有限公司 | 用于无中心分布式文件系统的元数据分层缓存方法及装置 |
CN113485852A (zh) * | 2021-05-31 | 2021-10-08 | 济南浪潮数据技术有限公司 | 分布式对象存储系统的用量统计信息下刷方法和装置 |
CN113485852B (zh) * | 2021-05-31 | 2024-02-13 | 济南浪潮数据技术有限公司 | 分布式对象存储系统的用量统计信息下刷方法和装置 |
CN113485639A (zh) * | 2021-06-18 | 2021-10-08 | 济南浪潮数据技术有限公司 | 分布式存储的io速度优化方法、系统、终端及存储介质 |
CN113485639B (zh) * | 2021-06-18 | 2024-02-20 | 济南浪潮数据技术有限公司 | 分布式存储的io速度优化方法、系统、终端及存储介质 |
CN113590560A (zh) * | 2021-06-29 | 2021-11-02 | 济南浪潮数据技术有限公司 | 一种分布式系统的缓存优化方法、系统、设备和存储介质 |
WO2023060884A1 (zh) * | 2021-10-14 | 2023-04-20 | 华为技术有限公司 | 一种数据系统、数据访问方法、装置及数据处理单元 |
CN114896219A (zh) * | 2022-07-15 | 2022-08-12 | 深圳市沃特沃德信息有限公司 | 资源数据存储的方法、装置、计算机设备和存储介质 |
CN114896219B (zh) * | 2022-07-15 | 2022-09-20 | 深圳市沃特沃德信息有限公司 | 资源数据存储的方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110750507B (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110750507B (zh) | 面向dfs的全局命名空间下的持久客户端缓存方法及系统 | |
US9946735B2 (en) | Index structure navigation using page versions for read-only nodes | |
EP2478442B1 (en) | Caching data between a database server and a storage system | |
KR101764897B1 (ko) | 데이터베이스 엔진 및 개별 분산 저장 서비스를 갖는 데이터베이스 시스템 | |
KR101932372B1 (ko) | 인 플레이스 스냅샷들 | |
KR101827239B1 (ko) | 분산 데이터 시스템들을 위한 전 시스템에 미치는 체크포인트 회피 | |
US7797275B2 (en) | System and method of time-based cache coherency maintenance in user file manager of object-based storage system | |
US8326839B2 (en) | Efficient file access in a large repository using a two-level cache | |
US8868610B2 (en) | File system with optimistic I/O operations on shared storage | |
US8819074B2 (en) | Replacement policy for resource container | |
US9977760B1 (en) | Accessing data on distributed storage systems | |
KR20150132511A (ko) | 로그 레코드 관리 | |
WO2001084338A2 (en) | Cluster configuration repository | |
US11080262B1 (en) | Optimistic atomic multi-page write operations in decoupled multi-writer databases | |
US9307024B2 (en) | Efficient storage of small random changes to data on disk | |
US20130290636A1 (en) | Managing memory | |
CN111984696A (zh) | 一种新型数据库和方法 | |
CN112653730A (zh) | 一种用户态网络文件存储方法和系统 | |
CN114253908A (zh) | 键值存储系统的数据管理方法及其装置 | |
US10387384B1 (en) | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write | |
US10055139B1 (en) | Optimized layout in a two tier storage | |
CN116436962A (zh) | 面向dfs的全局聚合命名空间下跨计算节点的持久性缓存方法和装置 | |
US10628391B1 (en) | Method and system for reducing metadata overhead in a two-tier storage architecture | |
US11341163B1 (en) | Multi-level replication filtering for a distributed database | |
CN111796767B (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 |