CN107958051A - 一种统计及显示目录大小的方法、装置和介质 - Google Patents
一种统计及显示目录大小的方法、装置和介质 Download PDFInfo
- Publication number
- CN107958051A CN107958051A CN201711217156.5A CN201711217156A CN107958051A CN 107958051 A CN107958051 A CN 107958051A CN 201711217156 A CN201711217156 A CN 201711217156A CN 107958051 A CN107958051 A CN 107958051A
- Authority
- CN
- China
- Prior art keywords
- disk space
- shared
- space value
- client
- catalogue
- 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
Links
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/11—File system administration, e.g. details of archiving or snapshots
-
- 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)
Abstract
本发明实施例公开了一种统计及显示目录大小的方法、装置和计算机可读存储介质,元数据服务端接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;依据文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有该目录的各个客户端,各个客户端会更新缓存区域中存储的各目录所占用的磁盘空间值,保证了元数据服务端和客户端之间目录所占用的磁盘空间值的一致性。元数据服务端可以保存并更新目录所占用的磁盘空间值,客户端可以缓存元数据服务端向其发送的目录所占用的磁盘空间值,满足在客户端上显示目录实际占用的磁盘空间值的需求。
Description
技术领域
本发明涉及分布式文件系统技术领域,特别是涉及一种统计及显示目录大小的方法、装置和计算机可读存储介质。
背景技术
分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。
文件所占用的磁盘空间值能衡量一个计算机文件的大小,通常情况下以带前缀的字节数表示。众所周知,在linux操作系统上文件系统(包括本地文件系统或分布式文件系统)只显示文件所占用的磁盘空间值,目录所占用的磁盘空间值都默认为4096字节,无法显示出目录的实际大小,也即目录实际占用的磁盘空间值。而在分布式文件系统应用过程中,有时需要在客户端上能通过“1s-1”命令,显示目录实际占用的磁盘空间值,以方便用户知道目录下已经存储了多大容量的文件。
可见,如何解决分布式文件系统在客户端上显示目录实际占用的磁盘空间值的问题,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种统计及显示目录大小的方法、装置和计算机可读存储介质,可以解决分布式文件系统在客户端上显示目录实际占用的磁盘空间值的问题。
为解决上述技术问题,本发明实施例提供一种统计及显示目录大小的方法,包括:
接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;
依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端。
可选的,在所述依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,还包括:
在每个目录对应的元数据结构体中建立一个用于记录目录所占用的磁盘空间值的变量。
可选的,还包括:
接收客户端发送的获取请求;
依据所述获取请求中携带的目录信息,将所述目录信息对应的目录所占用的磁盘空间值发送至所述客户端。
本发明实施例还提供了一种确定目录所占用的磁盘空间值的装置,包括接收单元、更新单元和发送单元;
所述接收单元,用于接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;
所述更新单元,用于依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新;
所述发送单元,用于目录所占用的磁盘空间值将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端。
可选的,还包括建立单元;所述建立单元,用于在每个目录对应的元数据结构体中建立一个用于记录目录所占用的磁盘空间值的变量。
可选的,所述接收单元还用于接收客户端发送的获取请求;
所述发送单元还用于依据所述获取请求中携带的目录信息,将所述目录信息对应的目录所占用的磁盘空间值发送至所述客户端。
本发明实施例还提供了一种确定目录所占用的磁盘空间值的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述统计及显示目录大小的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述统计及显示目录大小的方法的步骤。
由上述技术方案可以看出,分布式文件系统中第一客户端对文件进行操作,当文件所占用的磁盘空间值发生变化后,第一客户端向元数据服务端发送相应的通知;元数据服务端接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端,各个客户端会更新缓存区域中存储的各目录所占用的磁盘空间值,保证了元数据服务端和客户端之间目录所占用的磁盘空间值的一致性。元数据服务端可以保存目录所占用的磁盘空间值,并对其进行更新,客户端可以缓存元数据服务端向其发送的目录所占用的磁盘空间值,从而可以满足在客户端上显示目录实际占用的磁盘空间值的需求。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种确定目录所占用的磁盘空间值的硬件系统图;
图2为本发明实施例提供的一种统计及显示目录大小的方法的流程图;
图3为本发明实施例提供的一种统计及显示目录大小的装置的结构示意图;
图4为本发明实施例提供的一种统计及显示目录大小的装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
现有技术中,客户端上只显示文件实际占用的磁盘空间值,而目录所占用的磁盘空间值默认为4096字节,不能显示出目录实际占用的磁盘空间值,从而无法满足在客户端上显示目录实际占用的磁盘空间值的需求。
为此,本发明实施例提供了一种统计及显示目录大小的方法和装置,其硬件系统图如图1所示,客户端1对文件进行操作,当文件所占用的磁盘空间值发生变化后,客户端1会向元数据服务端发送携带文件所占用的磁盘空间值的通知,元数据服务端会依据该通知,对该文件所属的目录所占用的磁盘空间值进行更新,并将更新后的目录所占用的磁盘空间值,发送给缓存有所述目录的各个客户端,如图1中的客户端1和客户端2。由于在客户端中缓存了目录实际占用的磁盘空间值,用户通过“1s-1”命令,便可以在客户端上看到目录实际占用的磁盘空间值。
接下来,详细介绍本发明实施例所提供的一种统计及显示目录大小的方法。图2为本发明实施例提供的一种统计及显示目录大小的方法的流程图,该方法包括:
S201:接收第一客户端发送的携带有文件所占用的磁盘空间值的通知。
在分布式文件系统中一个元数据服务端可以向多个客户端提供服务,第一客户端表示分布式文件系统中对文件进行相关操作的客户端。
用户通过第一客户端对文件进行相关操作,例如对文件进行写操作,当文件所占用的磁盘空间值发生变化时,第一客户端在文件所占用的磁盘空间值变化后,会将文件所占用的磁盘空间值通知给元数据服务器。
S202:依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端。
当元数据服务端接收到第一客户端发送的通知后,可以获知文件所占用的磁盘空间值发生了变化,此时,元数据服务端会依据文件的变化量,依次对文件所属的各级目录所占用的磁盘空间值进行更新。
在本发明实施例中,为了便于元数据服务端存储所有目录所占用的磁盘空间值,在每个目录对应的元数据结构体中会预先建立一个用于记录目录所占用的磁盘空间值的变量,通过修改该变量的取值,完成对目录所占用的磁盘空间值的更新。
在具体实现中,元数据服务端会依据文件的变化量,对该文件的父目录所占用的磁盘空间值进行更新;当完成父目录的更新后,接着对祖先目录所占用的磁盘空间值进行更新,以此类推,依次对上一级目录所占用的磁盘空间值进行更新,直至更新到第一级目录,其中,第一级目录是用户能看到的和能够操作到的目录。当更新到第一级目录后,表示已经完成对该文件所属的各级目录所占用的磁盘空间值的更新工作。
在每个客户端的缓存区域中会存储有所需操作的文件所属的各级目录所占用的磁盘空间值,为了实现客户端与元数据服务端中目录所占用的磁盘空间值的一致,当元数据服务端完成目录所占用的磁盘空间值的更新后,会向缓存有该目录的客户端发送目录所占用的磁盘空间值。客户端依据该目录所占用的磁盘空间值,完成对缓存区域中目录所占用的磁盘空间值的更新,从而实现与元数据服务端中目录所占用的磁盘空间值的一致。
由于在客户端中缓存了目录实际占用的磁盘空间值,用户通过“1s-1”命令,便可以在客户端上看到目录实际占用的磁盘空间值。
由上述技术方案可以看出,分布式文件系统中第一客户端对文件进行操作,当文件所占用的磁盘空间值发生变化后,第一客户端向元数据服务端发送相应的通知;元数据服务端接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端,各个客户端会更新缓存区域中存储的各目录所占用的磁盘空间值,保证了元数据服务端和客户端之间目录所占用的磁盘空间值的一致性。元数据服务端可以保存目录所占用的磁盘空间值,并对其进行更新,客户端可以缓存元数据服务端向其发送的目录所占用的磁盘空间值,从而可以满足在客户端上显示目录实际占用的磁盘空间值的需求。
考虑到客户端中缓存的目录所占用的磁盘空间值会存在更新不及时或数据丢失的情况,对此,客户端可以向元数据服务端发送获取请求,从而获得所需的目录所占用的磁盘空间值。相应的,元数据服务端接收客户端发送的获取请求后,依据所述获取请求中携带的目录信息可以查找对应的目录,从而将该目录所占用的磁盘空间值发送至所述客户端。
图3为本发明实施例提供的一种统计及显示目录大小的装置的结构示意图,包括接收单元31、更新单元32和发送单元33;
所述接收单元31,用于接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;
所述更新单元32,用于依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新;
所述发送单元33,用于目录所占用的磁盘空间值将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端。
可选的,还包括建立单元;所述建立单元,用于在每个目录对应的元数据结构体中建立一个用于记录目录所占用的磁盘空间值的变量。
可选的,所述接收单元还用于接收客户端发送的获取请求;
所述发送单元还用于依据所述获取请求中携带的目录信息,将所述目录信息对应的目录所占用的磁盘空间值发送至所述客户端。
图3所对应实施例中特征的说明可以参见图2所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,分布式文件系统中第一客户端对文件进行操作,当文件所占用的磁盘空间值发生变化后,第一客户端向元数据服务端发送相应的通知;元数据服务端接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端,各个客户端会更新缓存区域中存储的各目录所占用的磁盘空间值,保证了元数据服务端和客户端之间目录所占用的磁盘空间值的一致性。元数据服务端可以保存目录所占用的磁盘空间值,并对其进行更新,客户端可以缓存元数据服务端向其发送的目录所占用的磁盘空间值,从而可以满足在客户端上显示目录实际占用的磁盘空间值的需求。
图4为本发明实施例提供的一种统计及显示目录大小的装置40的硬件结构示意图,包括:存储器41,用于存储计算机程序;处理器42,用于执行所述计算机程序以实现如上述统计及显示目录大小的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述统计及显示目录大小的方法的步骤。
以上对本发明实施例所提供的一种统计及显示目录大小的方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (8)
1.一种统计及显示目录大小的方法,其特征在于,包括:
接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;
依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,并将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端。
2.根据权利要求1所述的方法,其特征在于,在所述依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新,还包括:
在每个目录对应的元数据结构体中建立一个用于记录目录所占用的磁盘空间值的变量。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
接收客户端发送的获取请求;
依据所述获取请求中携带的目录信息,将所述目录信息对应的目录所占用的磁盘空间值发送至所述客户端。
4.一种确定目录所占用的磁盘空间值的装置,其特征在于,包括接收单元、更新单元和发送单元;
所述接收单元,用于接收第一客户端发送的携带有文件所占用的磁盘空间值的通知;
所述更新单元,用于依据所述文件所占用的磁盘空间值,依次对文件所属的各级目录所占用的磁盘空间值进行更新;
所述发送单元,用于将更新后的各级目录所占用的磁盘空间值发送至缓存有所述目录的各个客户端。
5.根据权利要求4所述的装置,其特征在于,还包括建立单元;所述建立单元,用于在每个目录对应的元数据结构体中建立一个用于记录目录所占用的磁盘空间值的变量。
6.根据权利要求4或5所述的装置,其特征在于,所述接收单元还用于接收客户端发送的获取请求;
所述发送单元还用于依据所述获取请求中携带的目录信息,将所述目录信息对应的目录所占用的磁盘空间值发送至所述客户端。
7.一种确定目录所占用的磁盘空间值的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至3任意一项所述统计及显示目录大小的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述统计及显示目录大小的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711217156.5A CN107958051A (zh) | 2017-11-28 | 2017-11-28 | 一种统计及显示目录大小的方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711217156.5A CN107958051A (zh) | 2017-11-28 | 2017-11-28 | 一种统计及显示目录大小的方法、装置和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107958051A true CN107958051A (zh) | 2018-04-24 |
Family
ID=61961637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711217156.5A Pending CN107958051A (zh) | 2017-11-28 | 2017-11-28 | 一种统计及显示目录大小的方法、装置和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107958051A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831358A (zh) * | 2019-01-31 | 2019-05-31 | 北京达佳互联信息技术有限公司 | 一种客户端流量统计方法、装置、服务器及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200422858A (en) * | 2003-04-18 | 2004-11-01 | Hon Hai Prec Ind Co Ltd | System and method for controlling directory capacity with tolerating rate |
CN105159968A (zh) * | 2015-08-25 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种文件系统的目录管理方法及客户端 |
CN105677789A (zh) * | 2015-12-31 | 2016-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统的目录容量管理方法及系统 |
CN106021473A (zh) * | 2016-05-18 | 2016-10-12 | 惠州Tcl移动通信有限公司 | 一种移动终端的文件夹大小显示方法、系统及移动终端 |
-
2017
- 2017-11-28 CN CN201711217156.5A patent/CN107958051A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200422858A (en) * | 2003-04-18 | 2004-11-01 | Hon Hai Prec Ind Co Ltd | System and method for controlling directory capacity with tolerating rate |
CN105159968A (zh) * | 2015-08-25 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | 一种文件系统的目录管理方法及客户端 |
CN105677789A (zh) * | 2015-12-31 | 2016-06-15 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统的目录容量管理方法及系统 |
CN106021473A (zh) * | 2016-05-18 | 2016-10-12 | 惠州Tcl移动通信有限公司 | 一种移动终端的文件夹大小显示方法、系统及移动终端 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109831358A (zh) * | 2019-01-31 | 2019-05-31 | 北京达佳互联信息技术有限公司 | 一种客户端流量统计方法、装置、服务器及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909074B2 (en) | File table index aggregate statistics | |
CN106096023B (zh) | 数据读取方法、数据写入方法及数据服务器 | |
US10459892B2 (en) | Filesystem hierarchical aggregate metrics | |
US10558565B2 (en) | Garbage collection implementing erasure coding | |
CN105302895B (zh) | 一种数据缓存同步方法、服务器和客户端 | |
CN107247778B (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
KR101767710B1 (ko) | 폐기가능 파일들의 카드-기반 관리 | |
CN104978362B (zh) | 分布式文件系统的数据迁移方法、装置及元数据服务器 | |
CN105940396A (zh) | 分布式存储系统中对象的层级组块 | |
CN107026876B (zh) | 一种文件数据访问系统及方法 | |
US10579597B1 (en) | Data-tiering service with multiple cold tier quality of service levels | |
CN107368583A (zh) | 一种多集群信息查询的方法及系统 | |
CN110413455A (zh) | 容器镜像处理方法、装置、计算机设备和存储介质 | |
CN105677789A (zh) | 一种分布式文件系统的目录容量管理方法及系统 | |
CN108347459A (zh) | 一种云端数据快速存储方法及装置 | |
CN106326013A (zh) | 一种分布式文件系统的磁盘配额管理系统及方法 | |
CN109446177A (zh) | 一种分布式文件系统目录文件个数配额的实现方法及装置 | |
CN104079600B (zh) | 文件存储方法、装置、访问客户端及元数据服务器系统 | |
CN110515546A (zh) | 一种系统间数据迁移的方法、装置、设备及存储介质 | |
CN109388624A (zh) | 分布式文件删除方法、装置、系统及计算机可读存储介质 | |
CN108073723A (zh) | 一种用于分布式集群存储上的文件自精简方法及设备 | |
CN106230938A (zh) | 一种客户端与服务器之间的目录信息同步方法及系统 | |
CN109086462A (zh) | 一种分布式文件系统中元数据的管理方法 | |
CN106294842A (zh) | 一种数据交互方法、平台及分布式文件系统 | |
CN107506466A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180424 |