CN111400249A - 一种易于统计文件数量的文件存储系统及存储方法 - Google Patents
一种易于统计文件数量的文件存储系统及存储方法 Download PDFInfo
- Publication number
- CN111400249A CN111400249A CN202010155134.6A CN202010155134A CN111400249A CN 111400249 A CN111400249 A CN 111400249A CN 202010155134 A CN202010155134 A CN 202010155134A CN 111400249 A CN111400249 A CN 111400249A
- Authority
- CN
- China
- Prior art keywords
- file
- storage system
- directory
- file storage
- files
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2358—Change logging, detection, and notification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种易于统计文件数量的文件存储系统及存储方法,在该文件系统中使用目录本身的元数据来记录属性,并采用自下向上的方式实时更新。该文件存储方法,包括步骤:将根目录、次级目录及文件以目录自身元数据形式记录其属性,该元数据采用B‑tree的组织形式;更新时,采用自下向上的方式实时更新。采用本发明的技术方案,大型文件系统的管理员对文件的管理将越来越方便,可以随时了解系统中的文件改变情况,加快各类问题的解决和分析,不仅仅是在管理文件系统的设备和软件状态,而是真正的做到了管理其中的数据,即文件。
Description
技术领域
本发明涉及计算机存储系统,尤其涉及一种易于统计文件数量的文件存储系统及存储方法。
背景技术
随着物联网、AI、5G及高清视频技术的到来,人们工作、生活中产生的数据越来越多,相比以前成倍、甚至十倍的增长,为数据的管理带来了难题。当前数据,大部分是以文件形式来进行保存,带来了如下需求:
(1)、海量数据的到来,产生了大容量的文件系统,其中的文件数目在10亿、100亿以上;
(2)、大容量的文件系统带来管理上的难度,管理员目前只能做到系统管理,而做不到真正的数据管理;如谁的什么文件占据的空间最大;不能立即知道目录中的文件数目,具体的大小,昨天写入了哪些文件等等。
在保存大量文件时,当前最主要使用的还是分布式存储系统,有商业软件,也有开源软件,由普通的x86服务器组成,最大的优势是可以进行容量和性能的横向扩展,随着需求的增加,可加入更多的服务器来进行性能的扩展。
虽然软件的基础硬件发生了变化,软件形式也变成了可扩展的分布式软件,但有一点没有发生变化,和传统的老式存储系统一样,在文件的管理上还存在如下的问题:
(1)、当前存储系统如果要知道某个子目录的文件个数或所占空间,需要遍历整个子文件目录,耗时过长,不可预估;
(2)、在对目录进行统计时,会使用外部的数据库进行存储,性能下降;
(3)、等待时间冗长,且不可控制,用户难以等待;
(4)、会占用文件系统大量的业务运行时间,对业务本身产生影响;
(5)、针对目录的限额功能也会存在误差和延迟。
这些问题都会随着文件系统中文件数量的增加,而变得越来越严重,难以解决。
因此,现有技术存在问题,需要进一步改进。
发明内容
本发明正是针对上述存在的问题,本发明提供一种易于统计文件数量的文件存储系统及存储方法。
为实现上述目的,本发明的具体技术方案如下:
一种易于统计文件数量的文件存储系统,在文件系统中使用目录本身的元数据来记录属性,并采用自下向上的方式实时更新。
优选地,该文件存储系统元数据采用B-tree的组成记录其本身属性。
进一步地,在该文件存储系统中,根目录中的元数据为整个文件系统的数据,次级目录中的属性值代表所有下级子目录的数据,文件中的属性值代表自身的数据。
进一步地,在新增、或修改文件时,就标记父目录为脏数据,并进行修改。
进一步地,该文件存储系统采用从底向上的更新策略,一直更新到根目录,并按预定时间更新。
进一步地,该预定时间设为30秒或60秒。
进一步地,该文件存储系统在查找数据时,从上向下,根据更新时间进行查找。
本发明还提供一种易于统计文件数量的文件存储方法,包括步骤:
将根目录、次级目录及文件以目录自身元数据形式记录其属性,该元数据采用B-tree的组织形式;
更新时,采用自下向上的方式实时更新。
优选地,采用自下向上的方式实时更新,具体方式为:
在新增、或修改文件时,就标记父目录为脏数据,并进行修改;
采用从底向上的更新策略,一直更新到根目录。
采用本发明的技术方案,大型文件系统的管理员对文件的管理将越来越方便,可以随时了解系统中的文件改变情况,加快各类问题的解决和分析,不仅仅是在管理文件系统的设备和软件状态,而是真正的做到了管理其中的数据,即文件。
附图说明
图1为本发明的框架结构图。
具体实施方式
为了便于本领域的普通技术人员能够理解并实施本发明,下面将结合附图对本发明实施例作进一步说明。
参考图1,本发明提供一种易于统计文件数量的文件存储系统,在文件系统中使用目录本身的元数据来记录属性,并采用自下向上的方式实时更新。
其中,该文件存储系统元数据采用B-tree的组成记录其本身属性。根目录中的元数据为整个文件系统的数据,次级目录中的属性值代表所有下级子目录的数据,文件中的属性值代表自身的数据。在新增、或修改文件时,就标记父目录为脏数据,并进行修改。该文件存储系统采用从底向上的更新策略,一直更新到根目录,例如,按30秒或60秒更新一次。
该文件存储系统在查找数据时,从上向下,根据更新时间进行查找。
本发明还提供一种易于统计文件数量的文件存储方法,包括步骤:
将根目录、次级目录及文件以目录自身元数据形式记录其属性,该元数据采用B-tree的组织形式;
更新时,采用自下向上的方式实时更新。具体地,在新增、或修改文件时,就标记父目录为脏数据,并进行修改;采用从底向上的更新策略,一直更新到根目录。
本发明的原理说明:
在文件系统中使用目录本身的元数据来记录属性,不再依赖外部的数据库或文件,并采用实时更新、自下向上的方式。
(1)、文件系统元数据采用B tree的组织形式,目录的相关元数据直接记录到Btree中;
(2)、在新增、或修改文件时,就标记父目录为脏数据,并进行修改;
(3)、采用从底向上的更新策略,一直更新到root目录(根目录);
(4)、查找数据时,从上向下,根据更新时间进行查找。
具体实现如图1所示:
(1)、圆形代表目录,矩形代表文件;
(2)、除过文件外,在目录中也增加对应的属性:mtime、blocks、files和quota;
(3)、文件中的属性值代表自身的数据,目录中的属性值代表所有下级子目录的数据;
(4)、目录中mtime代表子目录中最新更新的文件时间;
(5)、/目录(根目录)中的数据代表的是整个文件系统的数据。
基于上面的图例说明,举例,当/temp/music目录下增加一个新文件“音乐3”:
(1)、首先,文件“音乐3”按照正常创建操作完之后,需要更新父目录music的属性值,因此将music目录进行标记,加入等待操作队列;
(2)、系统执行到更新music的操作时,发现是因为文件“音乐3”新增操作导致,因此,根据其属性值来刷新music目录的mtime、blocks和files属性;
(3)、目录music更新完成后,需要再次标记父目录temp,并进入等待操作队列;
(4)、目录一层层向上进行更新,直到更新到/根目录。
为防止同时新建大量文件导致大量的更新操作,规定更新操作具有一定的延后性,如30秒或60秒更新一次。
采用如上的解决方法,在进行数据管理时,便可以得到如下的有益效果:
(1)、快速查找子目录下的文件个数和所占空间
当用户使用du命令时,可快速列出对应子目录下面的文件数和所占空间,不需要等待,无论子目录下有多少个文件。可以以图形的方式将目录的信息显示在GUI图形上,方面管理员的查看和分析。
(2)、查找目录下哪些文件占用的空间最大
当空间不足时,可以快速找到那个目录或是文件占用了大量空间,从而找到对应的部门或责任人,以便进行空间释放或进一步的处理;特别是对公共的使用空间管理带来巨大方便。
可以从根目录开始,一层一层向下进行分析,忽略占用少量的目录,列出空间占用前三的目录,然后再向下一层进行分析,最后找出占用最多的子目录或文件。
(3)、查找昨天新增了哪些文件
可根据元数据mtime,从根目录开始查找mtime等于昨天的子目录和文件,最终列出所有这些文件,便是昨天新增的文件。这种情况下查找的目录和文件是有限的,而不需要对整个文件系统遍历一遍。
(4)、目录配额实时生效,没有误差
有个目录元数据的实施统计后,子目录的配额功能,无论是文件个数的配额,还是占用空间的配额都会实时的生效,没有误差。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (9)
1.一种易于统计文件数量的文件存储系统,其特征在于,在文件系统中使用目录本身的元数据来记录属性,并采用自下向上的方式实时更新。
2.根据权利要求1所述的易于统计文件数量的文件存储系统,其特征在于,该文件存储系统元数据采用B-tree的组成记录其本身属性。
3.根据权利要求2所述的易于统计文件数量的文件存储系统,其特征在于,在该文件存储系统中,根目录中的元数据为整个文件系统的数据,次级目录中的属性值代表所有下级子目录的数据,文件中的属性值代表自身的数据。
4.根据权利要求3所述的易于统计文件数量的文件存储系统,其特征在于,在新增、或修改文件时,就标记父目录为脏数据,并进行修改。
5.根据权利要求4所述的易于统计文件数量的文件存储系统,其特征在于,该文件存储系统采用从底向上的更新策略,一直更新到根目录,并按预定时间更新。
6.根据权利要求5所述的易于统计文件数量的文件存储系统,其特征在于,该预定时间设为30秒或60秒。
7.根据权利要求5所述的易于统计文件数量的文件存储系统,其特征在于,该文件存储系统在查找数据时,从上向下,根据更新时间进行查找。
8.一种易于统计文件数量的文件存储方法,其特征在于,包括步骤:
将根目录、次级目录及文件以目录自身元数据形式记录其属性,该元数据采用B-tree的组织形式;
更新时,采用自下向上的方式实时更新。
9.根据权利要求8所述的易于统计文件数量的文件存储方法,其特征在于,采用自下向上的方式实时更新,具体方式为:
在新增、或修改文件时,就标记父目录为脏数据,并进行修改;
采用从底向上的更新策略,一直更新到根目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010155134.6A CN111400249A (zh) | 2020-03-06 | 2020-03-06 | 一种易于统计文件数量的文件存储系统及存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010155134.6A CN111400249A (zh) | 2020-03-06 | 2020-03-06 | 一种易于统计文件数量的文件存储系统及存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111400249A true CN111400249A (zh) | 2020-07-10 |
Family
ID=71428608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010155134.6A Pending CN111400249A (zh) | 2020-03-06 | 2020-03-06 | 一种易于统计文件数量的文件存储系统及存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111400249A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306955A (zh) * | 2020-11-03 | 2021-02-02 | 北京明略昭辉科技有限公司 | 一种文件系统容量管理优化装置及方法以及电子设备 |
CN112860628A (zh) * | 2021-02-18 | 2021-05-28 | 北京明略昭辉科技有限公司 | 一种文件系统规模管理方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744961A (zh) * | 2014-01-06 | 2014-04-23 | 清华大学 | 用可重构的文件系统目录树提高非易失性存储寿命的方法 |
US20170063990A1 (en) * | 2015-08-26 | 2017-03-02 | Exablox Corporation | Structural Data Transfer over a Network |
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
CN108874930A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 文件属性信息统计方法、装置、系统、设备及存储介质 |
CN109522271A (zh) * | 2018-10-22 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种b+树节点的批量插入和删除方法及装置 |
-
2020
- 2020-03-06 CN CN202010155134.6A patent/CN111400249A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744961A (zh) * | 2014-01-06 | 2014-04-23 | 清华大学 | 用可重构的文件系统目录树提高非易失性存储寿命的方法 |
US20170063990A1 (en) * | 2015-08-26 | 2017-03-02 | Exablox Corporation | Structural Data Transfer over a Network |
CN106874383A (zh) * | 2017-01-10 | 2017-06-20 | 清华大学 | 一种分布式文件系统元数据的解耦合分布方法 |
CN108874930A (zh) * | 2018-05-31 | 2018-11-23 | 郑州云海信息技术有限公司 | 文件属性信息统计方法、装置、系统、设备及存储介质 |
CN109522271A (zh) * | 2018-10-22 | 2019-03-26 | 郑州云海信息技术有限公司 | 一种b+树节点的批量插入和删除方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112306955A (zh) * | 2020-11-03 | 2021-02-02 | 北京明略昭辉科技有限公司 | 一种文件系统容量管理优化装置及方法以及电子设备 |
CN112860628A (zh) * | 2021-02-18 | 2021-05-28 | 北京明略昭辉科技有限公司 | 一种文件系统规模管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645183B1 (en) | User interface for correlation of virtual machine information and storage information | |
US7257690B1 (en) | Log-structured temporal shadow store | |
US9149054B2 (en) | Prefix-based leaf node storage for database system | |
US7418544B2 (en) | Method and system for log structured relational database objects | |
CN103020204B (zh) | 一种对分布式顺序表进行多维区间查询的方法及其系统 | |
US7890541B2 (en) | Partition by growth table space | |
US8386431B2 (en) | Method and system for determining database object associated with tenant-independent or tenant-specific data, configured to store data partition, current version of the respective convertor | |
JP2022534215A (ja) | ハイブリッド・インデックス作成方法、システム、プログラム | |
US6480848B1 (en) | Extension of data definition language (DDL) capabilities for relational databases for applications issuing DML and DDL statements | |
CN106462592A (zh) | 优化对索引的多版本支持的系统和方法 | |
EP3495964B1 (en) | Apparatus and program for data processing | |
EP2020637A1 (en) | Method and system for fast deletion of database information | |
EP3788505B1 (en) | Storing data items and identifying stored data items | |
CN111427847A (zh) | 面向用户自定义元数据的索引与查询方法和系统 | |
CN102779138A (zh) | 实时数据的硬盘存取方法 | |
CN111400249A (zh) | 一种易于统计文件数量的文件存储系统及存储方法 | |
US7310719B2 (en) | Memory management tile optimization | |
US20050021923A1 (en) | Memory management frame handler | |
US7440936B2 (en) | Method for determining an access mode to a dataset | |
JP2007501476A (ja) | オブジェクトおよび従属オブジェクトをドロップしないデータベースシステム | |
US20150134678A1 (en) | Multi-Pass, Parallel Merge for Partitioned Intermediate Pages | |
US6421677B1 (en) | Extension of data definition language (DDL) capabilities for relational databases for applications issuing DDL statements | |
CN114265828A (zh) | 行迁移消除方法、装置、计算机设备和存储介质 | |
CN112069191A (zh) | 隐式划分 | |
Bober et al. | Indexing for multiversion locking: alternatives and performance evaluation |
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 |