CN108319634B - 分布式文件***的目录访问方法和装置 - Google Patents
分布式文件***的目录访问方法和装置 Download PDFInfo
- Publication number
- CN108319634B CN108319634B CN201711347711.6A CN201711347711A CN108319634B CN 108319634 B CN108319634 B CN 108319634B CN 201711347711 A CN201711347711 A CN 201711347711A CN 108319634 B CN108319634 B CN 108319634B
- Authority
- CN
- China
- Prior art keywords
- directory
- client
- file
- memory cache
- entry
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012163 sequencing technique Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/13—File access structures, e.g. distributed indices
-
- 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
本发明提供一种分布式文件***的目录访问方法和装置,该方法包括:步骤10:客户端根据用户操作,生成对分布式文件***的指定目录访问请求;步骤11:判断客户端是否存在指定目录的第一内存缓存,若存在指定目录的第一内存缓存,则执行步骤12;步骤12:在客户端载入指定目录的第一内存缓存中的目录项;步骤13:继续判断客户端是否存在本地目录文件,本地目录文件用以保存指定目录下的目录项,若存在本地目录文件,则执行步骤14;步骤14:在客户端载入指定目录文件中的目录项。本发明的分布式文件***的目录访问方法和装置,可以提高少量目录或文件和百万级别以上目录或文件的访问速度,改善了客户端的用户体验。
Description
技术领域
本发明涉及计算机领域,特别涉及一种分布式文件***的目录访问方法和装置。
背景技术
目前,大规模的分布式文件***能提供PB级甚至是EB级的数据存储,存储空间不再是存储技术的瓶颈。理论上,分布式文件***可以提供无以计数的文件数目。
另一方面,如果分布式文件***中的一个目录包含了上百万个子文件或子目录,客户端通过网络访问该目录时,由于客户端内存无法缓存上百万以上的子文件或子目录,因此往往会造成客户端内存不足或内存耗尽,轻则影响用户访问速度,严重时导致客户端死机,影响用户使用体验。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
有鉴于此,本发明提供一种分布式文件***的目录访问方法和装置,解决客户端访问大量文件或目录时速度慢或死机的问题。
本发明提供一种分布式文件***的目录访问方法,该方法包括:
步骤10:客户端根据用户操作,生成对分布式文件***的指定目录访问请求;
步骤11:判断客户端是否存在指定目录的第一内存缓存,若存在指定目录的第一内存缓存,则执行步骤12;
步骤12:在客户端载入指定目录的第一内存缓存中的目录项;
步骤13:继续判断客户端是否存在本地目录文件,本地目录文件用以保存指定目录下的目录项,若存在本地目录文件,则执行步骤14;
步骤14:在客户端载入指定目录文件中的目录项。
本发明还提供一种分布式文件***的目录访问装置,该装置包括:
用户请求生成模块:客户端根据用户操作,生成对分布式文件***的指定目录访问请求;
比较模块:判断客户端是否存在指定目录的第一内存缓存,若存在指定目录的第一内存缓存,则执行缓存载入模;
缓存载入模块:在客户端载入指定目录的第一内存缓存中的目录项;
比较模块1:继续判断客户端是否存在本地目录文件,本地目录文件用以保存指定目录下的目录项,若存在本地目录文件,则执行文件载入模块;
文件载入模块:在客户端载入指定目录文件中的目录项。
在本发明中,每个指定目录的目录项存储分为两部分,目录项小于第一预设目录项(如10万)的部分缓存于客户端的指定目录的第一内存缓存中;目录项大于第一预设目录项(如10万)的部分存储于客户端本地磁盘的文件中。当用户通过客户端访问分布式文件***服务端的目录时,通过载入缓存中相应的目录项和/或本地存储的目录项,不仅可以提高访问目录中子文件项或子目录项的速度,同时本申请的客户端限定客户端内存中部分内存即第一内存缓存用于保存客户端从分布式文件***服务端下载的指定目录的目录项,不影响客户端***的整体运行,也不会带来访问大量文件或目录时带来的内存不足或耗尽的问题。
本发明分布式文件***的目录访问方法和装置不仅提高了少量文件数目的目录访问速度,也提高了百万级别以上文件目录的访问及查询速度,改善了客户端的用户体验。
附图说明
图1为本发明分布式文件***的目录访问方法的第一实施例;
图2为本发明分布式文件***的目录访问方法的第二实施例;
图3为本发明分布式文件***的目录访问方法的第三实施例;
图4为本发明分布式文件***的目录访问方法的第四实施例;
图5为本发明分布式文件***的目录访问装置的结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明中客户端访问分布式文件***服务端时获取的目录项,在客户端的存储分为两部分,目录项小于第一预设目录项(如10万)的部分缓存于客户端的指定目录的第一内存缓存中;目录项大于第一预设目录项(如10万)的部分存储于客户端本地磁盘的文件中。
基于此,提出本发明的分布式文件***的目录访问方法,如图1所示,该方法包括以下步骤:
步骤10(S101):客户端根据用户操作,生成对分布式文件***的指定目录访问请求。
在步骤10中,用户操作可以是对指定目录的鼠标点击操作。
步骤11(S102):判断客户端是否存在指定目录的第一内存缓存,若存在指定目录的第一内存缓存,则执行步骤12;
步骤12(S103):在客户端载入指定目录的第一内存缓存中的目录项;
步骤13(S104):继续判断客户端是否存在本地目录文件,本地目录文件用以保存指定目录下的目录项,若存在本地目录文件,则执行步骤14;
步骤14(S105):在客户端载入指定目录文件中的目录项。
在图1的方法中,本地目录文件用以保存指定目录下的目录项,为了便于搜索,可将本地目录文件保存于预设的存储位置,比如某一个文件夹中。每个本地目录文件都只存放某一指定目录下的目录项,不同的指定目录具有不同的本地目录文件。进一步地,为了便于定位指定本地目录文件,本地目录文件的文件名可以是指定目录的链接信息,如指定目录的全目录信息为文件名,或以指定目录inode(索引结点)为文件名。
可选地,步骤12还包括:将第一内存缓存中指定目录下的目录项细分为X个目录组,客户端依次载入X个目录组下的目录项。
可选地,步骤14还包括:将本地目录文件中包含的目录项细分为Y个目录组,客户端依次载入Y个目录组下的目录项。
当用户通过客户端访问分布式文件***的目录时,通过载入缓存中相应的目录项和/或本地存储的目录项,不仅可以提高访问目录中子文件项或子目录项的速度。同时,由于本申请的客户端限定客户端内存中部分内存即第一内存缓存用于保存客户端从分布式文件***下载的目录项,不影响客户端***的整体运行,也不会带来访问大量文件或目录时带来的内存不足或耗尽的问题。
进一步地,如果指定目录的第一内存缓存在预设的时间内未更新,则清空指定目录的第一内存缓存。
因用户访问不同的指定目录时,在内存中会对应生成不同指定目录的第一内存缓存,采用“内存自动清除”策略,可避免生成越来越多的第一内存缓存不断地消耗客户端内存,确保客户端***的运行速度。此外,“内存自动清除”也可确保图1中第一内存缓存或本地目录文件保存的目录项是最新时刻的目录项,只需载入客户端保存的目录项,而无需访问分布式文件***的服务器获取最新的目录项信息,节省网络流量,提供用户访问速度。
预设时间,可根据经验或用户需求或客户端的***内存设定,如30秒或1分钟。
进一步地,如图2所示,图1的步骤11还包括:若不存在指定目录的第一内存缓存,则执行步骤21;
步骤21(S201):客户端将指定目录访问请求发送给分布式文件***的服务端;
步骤22(S202):分布式文件***的服务端根据指定目录访问请求读取指定目录下的目录项,将目录项细分为N个目录组发送给客户端;
步骤23(S203):判断当前指定目录的第二内存缓存中的目录项总数是否大于等于第一预设目录项,如果是,则执行步骤24,如果否,则执行步骤25;
步骤24(S204):客户端将接收到的第n个目录组的目录项更新到客户端的本地目录文件中,n=1,2…N,客户端载入第n个目录组的目录项(显示第n个目录组的目录项),返回步骤23,直至N个目录组接收完毕;
步骤25(S205):客户端将接收到的第n个目录组的目录项保存到指定目录的第二内存缓存的末尾,客户端载入第n个目录组的目录项(显示第n个目录组的目录项),返回步骤23,直至N个目录组接收完毕;
步骤26(S206):将指定目录的第二内存缓存中的目录项保存到指定目录的第一内存缓存后,清空第二内存缓存。
进一步地,考虑到所有的目录项都接收完毕后,第二内存缓存中的目录项可能会大于第一预设目录项,如图3所示,步骤26还可以包括以下步骤:
步骤27(S207):判断当前指定目录的第二内存缓存中的目录项总数是否大于第一预设目录项,如果是,则执行步骤28,如果否,则执行步骤29;
步骤28(S208):将指定目录的第二内存缓存中的前第一预设目录项保存到指定目录的第一内存缓存中,将指定目录的第二内存缓存中的前第一预设目录项之外的其他目录项更新到指定目录的本地目录文件中,清空第二内存缓存;
步骤29(S209):将指定目录的第二内存缓存中的目录项保存到指定目录的第一内存缓存后,清空第二内存缓存。
进一步地,在图2的步骤24中,客户端将接收到的第n个目录组的目录项更新到客户端的本地目录文件中包括:判断是否存在本地目录文件,如果没有,则新建本地目录文件,并将第n个目录组的目录项保存到客户端的新建本地目录文件中;如果存在本地目录文件,则继续判断本地目录文件的更新时间为上一次更新还是本次更新,如果是上一次更新,则将客户端的本地目录文件的原内容替换为第n个目录组的目录项,如果是本次更新,将第n个目录组的目录项追加到客户端的本地目录文件中。
判断本地目录文件的更新为上一次更新还是本次更新,可以根据本地目录文件的更新时间戳与当前时间的比较来判断,如果两个时间非常接近,比如小于1分钟,则为本次更新,否则为上一次更新。
在图2的方法中,服务器可以根据指定目录下的目录项总数,确定N的取值,例如:如果目录项总数小于20,可以令N=1,如果目录项总数大于1000,可以令N=100。
图2为当用户通过客户端访问分布式文件***时,不存在指定目录的第一内存缓存,则说明用户可能是首次访问该指定目录,或者之前访问的指定目录的第一内存缓存已被“自动清除”,此时,只能通过连接分布式文件***服务端获取该指定目录下的目录项。
在图2的方法中,分布式文件***将获取的目录项划分为N个目录组,以目录组为单元将指定目录下的目录项发送给客户端,客户每接收一个目录组,先将该目录组的目录项保存到第二内存缓存中,接收完毕后,再将第二内存缓存中的目录项转移到第一内存缓存中。第二内存缓存可以是后台缓存,相应地,第一内存缓存可以为前台缓存。本申请的第一(二)内存缓存的目录项设置了目录项上限为第一预设目录项,第一预设目录项可以是第一内存缓存能存放的最大目录项,例如第一预设目录项为10万项。
图2的方法,将目录项划分为N个目录组,可以实现边接收边刷新客户端载入的目录项,如此不必等接收完整个目录项后,再载入给用户,可提高用户体验。
在上述方法中,无论客户端本地读取目录项(第一内存缓存或本地目录文件),还是分布式文件***服务端读取目录项,均可以通过构建迭代器实现分次读取。
例如,设定迭代器每次读取的目录项个数为一固定数值,可根据需求更改,假设为128个。每次读完128个文件后迭代器的位置会记录当前读到缓存容器中的目录项的位置(offset,对应目录项序号)及名字(name,对应目录项名称)。下次再读128个目录项时直接使用offset或name定位迭代器位置,避免重新遍历整个容器,加快目录项的读取。
每次读完128个目录项后都会保存好offset和name,即使网络出现异常时造成读取中断,也可以通过保存的offset和name重新定位迭代器的位置,保证不会少读或者错读数据。同时,即便最后一个目录项已经被删除,也可通过offset和name定位到迭代器位置,确保迭代读取数据准确。
如图4所示,本申请分布式文件***目录访问方法还包括:
步骤30(S301):客户端在分布式文件***中创建新文件时,将新文件的目录项增加到新文件父目录的第一内存缓存中;
步骤31(S302):对新文件父目录的第一内存缓存中的目录项进行排序,排序的方法与分布式***服务端的目录项的排序方法一致;
步骤32(S303):判断新文件父目录的第一内存缓存中的目录项个数是否大于第一预设目录项和第二预设目录项之和,如果是,则执行步骤33;
步骤33(S304):将新文件父目录的第一内存缓存中的超出目录项删除;超出目录项为新文件父目录的第一内存缓存中超出第一预设目录项的目录项。
在图3的步骤31中,客户端和分布式文件***使用相同的排序算法,是为了保证客户端包括的目录项的读取顺序与分布式文件***读取目录项时顺利一致,显示时,显示内容一致。
在图3的步骤32中,第二预设目录项,是为了避免每增加一个文件就要执行步骤33一次,假设第一预设目录项为10万,第二预设目录项为280,当指定目录的第一内存缓存中的目录项超出100280个后,才执行步骤33一次,集中处理可避免占用资源,提高效率。
此外,本申请分布式文件***目录访问方法还包括:
步骤40:客户端将分布式文件***中的文件删除时,判断删除文件对应的目录项是否保存在客户端的删除文件父目录的第一内存缓存中,如果是,将删除文件父目录的第一内存缓存中的删除文件对应的目录项删除。
本发明分布式文件***目录访问方法和装置不仅提高了少量文件数目的目录访问速度,也提高了百万级别以上文件目录的访问及查询速度,改善了客户端的用户体验。
本发明还提供一种分布式文件***的目录访问装置,如图5所示该装置包括以下模块:
用户请求生成模块:客户端根据用户操作,生成对分布式文件***的指定目录访问请求;
比较模块:判断客户端是否存在指定目录的第一内存缓存,若存在指定目录的第一内存缓存,则执行缓存载入模;
缓存载入模块:在客户端载入指定目录的第一内存缓存中的目录项;
比较模块1:继续判断客户端是否存在本地目录文件,本地目录文件用以保存指定目录下的目录项,若存在本地目录文件,则执行文件载入模块;
文件载入模块:在客户端载入指定目录文件中的目录项。
可选地,如果指定目录的第一内存缓存在预设的时间内未更新,则清空指定目录的第一内存缓存。
可选地,在图5中比较模块还包括:若不存在指定目录的第一内存缓存,则执行用户请求发送模块;
用户请求发送模块:客户端将指定目录访问请求发送给分布式文件***的服务端;
服务端目录模块:分布式文件***的服务端根据指定目录访问请求读取指定目录下的目录项,将目录项细分为N个目录组发送给客户端;
比较模块2:判断当前指定目录的第二内存缓存中的目录项个数是否大于等于第一预设目录项,如果是,则执行本地目录文件更新模块,如果否,则执行第二缓存更新模块;
本地目录文件更新模块:客户端将接收到的第n个目录组的目录项更新到客户端的本地目录文件中,n=1,2…N,客户端载入第n个目录组的目录项,返回比较模块2,直至N个目录组接收完毕;
第二缓存更新模块:客户端将接收到的第n个目录组的目录项保存到指定目录的第二内存缓存的末尾,客户端载入第n个目录组的目录项,返回比较模块2,直至N个目录组接收完毕;
第一缓存更新模块:将指定目录的第二内存缓存中的目录项保存到指定目录的第一内存缓存后,清空所述第二内存缓存。
可选地,第一缓存更新模块包括:比较模块3、第一缓存更新模块1和第一缓存更新模块2。
比较模块3:判断当前指定目录的第二内存缓存中的目录项总数是否大于第一预设目录项,如果是则执行第一缓存更新模块1,如果否,则执行第一缓存更新模块2。
第一缓存更新模块1:将指定目录的第二内存缓存中的前第一预设目录项保存到指定目录的第一内存缓存中,将指定目录的第二内存缓存中的前第一预设目录项之外的其他目录项更新到指定目录的本地目录文件中,清空第二内存缓存。
第一缓存更新模块2:将指定目录的第二内存缓存中的目录项保存到指定目录的第一内存缓存后,清空第二内存缓存。
可选地,图5的装置还包括:
新建文件模块:客户端在分布式文件***中创建新文件时,将新文件的目录项增加到新文件父目录的第一内存缓存中;
目录项排序模块:对新文件父目录的第一内存缓存中的目录项进行排序,排序的方法与分布式***服务端的目录项的排序方法一致;
比较模块4:判断新文件父目录的第一内存缓存中的目录项个数是否大于第一预设目录项和第二预设目录项之和,如果是,则执行步骤43;
删除模块1:将新文件父目录的第一内存缓存中的超出目录项删除;超出目录项为新文件父目录的第一内存缓存中超出第一预设目录项的目录项。
可选地,图5的装置还包括:
删除模块2:客户端将分布式文件***中的文件删除时,判断删除文件对应的目录项是否保存在客户端的删除文件父目录的第一内存缓存中,如果是,将删除文件父目录的第一内存缓存中的删除文件对应的目录项删除。
可选地,在本发明的分布式文件***的目录访问装置中,本地目录文件以指定目录inode为文件名。
需要说明的是,本发明的分布式文件***的目录访问装置的实施例,与分布式文件***的目录访问方法的实施例原理相同,相关之处可以互相参照。
以上所述仅为本发明的较佳实施例而已,并不用以限定本发明的包含范围,凡在本发明技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种分布式文件***的目录访问方法,其特征在于,所述方法包括以下步骤:
步骤10:客户端根据用户操作,生成对分布式文件***的指定目录访问请求;
步骤11:判断客户端是否存在所述指定目录的第一内存缓存,若存在所述指定目录的第一内存缓存,则执行步骤12;
步骤12:在客户端载入所述指定目录的第一内存缓存中的目录项;
步骤13:继续判断客户端是否存在本地目录文件,所述本地目录文件用以保存所述指定目录下的目录项,若存在所述本地目录文件,则执行步骤14;
步骤14:在客户端载入所述指定目录文件中的目录项;
其中,
所述步骤11还包括:若不存在所述指定目录的第一内存缓存,则执行步骤21;
步骤21:客户端将所述指定目录访问请求发送给分布式文件***的服务端;
步骤22:所述分布式文件***的服务端根据所述指定目录访问请求读取所述指定目录下的目录项,将所述目录项细分为N个目录组发送给客户端;
步骤23:判断当前所述指定目录的第二内存缓存中的目录项总数是否大于等于第一预设目录项,如果是,则执行步骤24,如果否,则执行步骤25;
步骤24:客户端将接收到的第n个目录组的目录项更新到客户端的所述本地目录文件中,n=1,2…N,客户端载入所述第n个目录组的目录项,返回所述步骤23,直至所述N个目录组接收完毕;
步骤25:客户端将接收到的第n个目录组的目录项保存到所述指定目录的第二内存缓存的末尾,客户端载入所述第n个目录组的目录项,返回所述步骤23,直至所述N个目录组接收完毕;
步骤26:将所述指定目录的第二内存缓存中的目录项保存到所述指定目录的第一内存缓存后,清空所述第二内存缓存。
2.根据权利要求1所述的方法,其特征在于,如果所述指定目录的第一内存缓存在预设的时间内未更新,则清空所述指定目录的第一内存缓存。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
步骤30:客户端在所述分布式文件***中创建新文件时,将所述新文件的目录项增加到所述新文件父目录的第一内存缓存中;
步骤31:对所述新文件父目录的第一内存缓存中的目录项进行排序,所述排序的方法与所述分布式***服务端的目录项的排序方法一致;
步骤32:判断所述新文件父目录的第一内存缓存中的目录项个数是否大于第一预设目录项和第二预设目录项之和,如果是,则执行步骤33;
步骤33:将所述新文件父目录的第一内存缓存中的超出目录项删除;所述超出目录项为所述新文件父目录的第一内存缓存中超出所述第一预设目录项的目录项。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
步骤40:客户端将所述分布式文件***中的文件删除时,判断所述删除文件对应的目录项是否保存在客户端的所述删除文件父目录的第一内存缓存中,如果是,将所述删除文件父目录的第一内存缓存中的所述删除文件对应的目录项删除。
5.一种分布式文件***的目录访问装置,其特征在于,所述装置包括:
用户请求生成模块:客户端根据用户操作,生成对分布式文件***的指定目录访问请求;
比较模块:判断客户端是否存在所述指定目录的第一内存缓存,若存在所述指定目录的第一内存缓存,则执行缓存载入模;
缓存载入模块:在客户端载入所述指定目录的第一内存缓存中的目录项;
比较模块1:继续判断客户端是否存在本地目录文件,所述本地目录文件用以保存所述指定目录下的目录项,若存在所述本地目录文件,则执行文件载入模块;
文件载入模块:在客户端载入所述指定目录文件中的目录项;
其中,
所述比较模块还包括:若不存在所述指定目录的第一内存缓存,则执行用户请求发送模块;
用户请求发送模块:客户端将所述指定目录访问请求发送给分布式文件***的服务端;
服务端目录模块:所述分布式文件***的服务端根据所述指定目录访问请求读取所述指定目录下的目录项,将所述目录项细分为N个目录组发送给客户端;
比较模块2:判断当前所述指定目录的第二内存缓存中的目录项个数是否大于等于第一预设目录项,如果是,则执行本地目录文件更新模块,如果否,则执行第二缓存更新模块;
本地目录文件更新模块:客户端将接收到的第n个目录组的目录项更新到客户端的所述本地目录文件中,n=1,2…N,客户端载入所述第n个目录组的目录项,返回所述比较模块2,直至所述N个目录组接收完毕;
第二缓存更新模块:客户端将接收到的第n个目录组的目录项保存到所述指定目录的第二内存缓存的末尾,客户端载入所述第n个目录组的目录项,返回所述比较模块2,直至所述N个目录组接收完毕;
第一缓存更新模块:将所述指定目录的第二内存缓存中的目录项保存到所述指定目录的第一内存缓存后,清空所述第二内存缓存。
6.根据权利要求5所述的装置,其特征在于,如果所述指定目录的第一内存缓存在预设的时间内未更新,则清空所述指定目录的第一内存缓存。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
新建文件模块:客户端在所述分布式文件***中创建新文件时,将所述新文件的目录项增加到所述新文件父目录的第一内存缓存中;
目录项排序模块:对所述新文件父目录的第一内存缓存中的目录项进行排序,所述排序的方法与所述分布式***服务端的目录项的排序方法一致;
比较模块4:判断所述新文件父目录的第一内存缓存中的目录项个数是否大于第一预设目录项和第二预设目录项之和,如果是,则执行删除模块1;
删除模块1:将所述新文件父目录的第一内存缓存中的超出目录项删除;所述超出目录项为所述新文件父目录的第一内存缓存中超出所述第一预设目录项的目录项。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
删除模块2:客户端将所述分布式文件***中的文件删除时,判断所述删除文件对应的目录项是否保存在客户端的所述删除文件父目录的第一内存缓存中,如果是,将所述删除文件父目录的第一内存缓存中的所述删除文件对应的目录项删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711347711.6A CN108319634B (zh) | 2017-12-15 | 2017-12-15 | 分布式文件***的目录访问方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711347711.6A CN108319634B (zh) | 2017-12-15 | 2017-12-15 | 分布式文件***的目录访问方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108319634A CN108319634A (zh) | 2018-07-24 |
CN108319634B true CN108319634B (zh) | 2021-08-06 |
Family
ID=62892003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711347711.6A Active CN108319634B (zh) | 2017-12-15 | 2017-12-15 | 分布式文件***的目录访问方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319634B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110287201A (zh) * | 2019-07-02 | 2019-09-27 | 重庆紫光华山智安科技有限公司 | 数据访问方法、装置、设备及存储介质 |
CN110781137A (zh) * | 2019-10-28 | 2020-02-11 | 柏科数据技术(深圳)股份有限公司 | 分布式***的目录读取方法、装置、服务器和存储介质 |
CN110781159B (zh) * | 2019-10-28 | 2021-02-02 | 柏科数据技术(深圳)股份有限公司 | Ceph目录文件信息读取方法、装置、服务器及存储介质 |
CN114048185B (zh) * | 2021-11-18 | 2022-09-02 | 北京聚存科技有限公司 | 一种分布式文件***中海量小文件透明打包存储与访问的方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件***动态元数据管理方法及*** |
CN102024017A (zh) * | 2010-11-04 | 2011-04-20 | 天津曙光计算机产业有限公司 | 一种无重复无遗漏遍历分布式文件***目录项的方法 |
CN102024019A (zh) * | 2010-11-04 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种分布式文件***中基于后缀树的目录组织方法 |
CN102523301A (zh) * | 2011-12-26 | 2012-06-27 | 深圳市创新科信息技术有限公司 | 一种云存储中在客户端缓存数据的方法 |
CN102541985A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种分布式文件***中客户端目录缓存的组织方法 |
CN103338242A (zh) * | 2013-06-20 | 2013-10-02 | 华中科技大学 | 一种基于多级缓存的混合云存储***和方法 |
US8805901B1 (en) * | 2011-07-19 | 2014-08-12 | Google Inc. | Geographically distributed file system |
CN106686113A (zh) * | 2017-01-19 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种分布式文件***智能预读实现方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024020B (zh) * | 2010-11-04 | 2013-02-06 | 曙光信息产业(北京)有限公司 | 一种分布式文件***中高效的元数据访存方法 |
CN102955808A (zh) * | 2011-08-26 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 一种数据获取方法和分布式文件*** |
US9323768B2 (en) * | 2013-01-30 | 2016-04-26 | Hewlett Packard Enterprise Development Lp | Anticipatorily retrieving information in response to a query of a directory |
CN103150394B (zh) * | 2013-03-25 | 2014-07-23 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件***元数据管理方法 |
CN104008152B (zh) * | 2014-05-21 | 2017-12-01 | 华南理工大学 | 支持海量数据访问的分布式文件***的架构方法 |
CN105095785A (zh) * | 2014-05-22 | 2015-11-25 | 中兴通讯股份有限公司 | 分布式文件***的文件访问处理、访问方法及装置 |
-
2017
- 2017-12-15 CN CN201711347711.6A patent/CN108319634B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件***动态元数据管理方法及*** |
CN102024017A (zh) * | 2010-11-04 | 2011-04-20 | 天津曙光计算机产业有限公司 | 一种无重复无遗漏遍历分布式文件***目录项的方法 |
CN102024019A (zh) * | 2010-11-04 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种分布式文件***中基于后缀树的目录组织方法 |
US8805901B1 (en) * | 2011-07-19 | 2014-08-12 | Google Inc. | Geographically distributed file system |
CN102541985A (zh) * | 2011-10-25 | 2012-07-04 | 曙光信息产业(北京)有限公司 | 一种分布式文件***中客户端目录缓存的组织方法 |
CN102523301A (zh) * | 2011-12-26 | 2012-06-27 | 深圳市创新科信息技术有限公司 | 一种云存储中在客户端缓存数据的方法 |
CN103338242A (zh) * | 2013-06-20 | 2013-10-02 | 华中科技大学 | 一种基于多级缓存的混合云存储***和方法 |
CN106686113A (zh) * | 2017-01-19 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种分布式文件***智能预读实现方法 |
Non-Patent Citations (2)
Title |
---|
CEFLS: A Cost-Effective File Lookup Service in a Distributed Metadata File System;Xiuqiao Li 等;《2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012)》;20120614;第25-32页 * |
分布式文件***元数据管理技术研究与实现;冯幼乐;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110115(第01(2011)期);第I137-87页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108319634A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319634B (zh) | 分布式文件***的目录访问方法和装置 | |
CN110321325B (zh) | 文件索引节点查找方法、终端、服务器、***及存储介质 | |
US10831736B2 (en) | Fast multi-tier indexing supporting dynamic update | |
US9336227B2 (en) | Selective synchronization in a hierarchical folder structure | |
CN101354726B (zh) | 一种机群文件***的内存元数据管理方法 | |
US20050251627A1 (en) | Method and system for an atomically updated, central cache memory | |
CN101887398B (zh) | 一种动态提高服务器输入输出吞吐量的方法和*** | |
CN104346345B (zh) | 数据的存储方法及装置 | |
US20160335243A1 (en) | Webpage template generating method and server | |
CN113377868B (zh) | 一种基于分布式kv数据库的离线存储*** | |
CN104731516A (zh) | 一种存取文件的方法、装置及分布式存储*** | |
CN101755262B (zh) | 命名空间合并 | |
CN111597148B (zh) | 用于分布式文件***的分布式元数据管理方法 | |
CN110347651A (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
CN106682110B (zh) | 一种基于哈希格网索引的影像文件存储和管理***及方法 | |
CN109766318B (zh) | 文件读取方法及装置 | |
CN111198856B (zh) | 文件管理方法、装置、计算机设备和存储介质 | |
US20120317339A1 (en) | System and method for caching data in memory and on disk | |
CN109376125A (zh) | 一种元数据存储方法、装置、设备及计算机可读存储介质 | |
US11210134B2 (en) | Atomic execution unit for object storage | |
CN110716924B (zh) | 删除过期数据的方法和装置 | |
CN115617762A (zh) | 文件存储方法及设备 | |
CN104956340A (zh) | 可扩展数据重复删除 | |
CN112334891A (zh) | 用于搜索服务器的集中式存储 | |
CN114610680A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Innovation Technology Co., Ltd. Address before: 518057 Shenzhen Software Park, No. 9, 501, 502, Science and Technology Middle Road, Nanshan District, Shenzhen City, Guangdong Province Applicant before: UIT Storage Technology (Shenzhen) Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |