CN112131194A - 一种只读文件系统的文件存储控制方法及装置、存储介质 - Google Patents
一种只读文件系统的文件存储控制方法及装置、存储介质 Download PDFInfo
- Publication number
- CN112131194A CN112131194A CN202011015494.2A CN202011015494A CN112131194A CN 112131194 A CN112131194 A CN 112131194A CN 202011015494 A CN202011015494 A CN 202011015494A CN 112131194 A CN112131194 A CN 112131194A
- Authority
- CN
- China
- Prior art keywords
- file
- read
- file system
- files
- list
- 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/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- 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/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
Abstract
本发明涉及计算机技术领域,公开了一种只读文件系统的文件存储控制方法及装置、存储介质。其中的文件存储控制方法包括步骤:针对原始只读文件系统的所有文件,建立文件摘要列表;根据所述文件摘要列表,识别出所述原始只读文件系统中的至少一组相同文件;拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统;将所述去重后只读文件系统压缩处理后存放至存储单元中。本发明实施例通过对原始只读文件系统中的相同文件进行链接处理,可以使得每组所包括的多个相同文件仅会占用一个文件的存储空间,实现去重效果,大大节省整个只读文件系统对外部存储空间的占用。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种只读文件系统的文件存储控制方法及装置、存储介质。
背景技术
在嵌入式操作系统中,文件系统的存在对操作系统而言至关重要,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。
具体地说,文件系统负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。常见的文件系统类型有:ext4文件系统(Fourthextended filesystem,第四代扩展文件系统)、cramfs文件系统(专门针对闪存设计的只读压缩的文件系统)、squashfs文件系统(一个高度压缩的只读文件系统)等。
在当前的嵌入式操作系统开发中,一直存在flash空间大小方面的限制,因此文件系统通常被压缩生成Image(镜像文件)后存放在Flash设备中,在系统启动过程中通过mount partition(挂载分区)的方式将这些文件系统挂载起来。也即,针对存储空间受限的问题,目前最流行的做法就是对文件系统进行压缩处理。
根据读写权限的不同,文件系统可划分为只读文件系统和可读写文件系统,只读文件系统的文件只能被读取而不能被修改,可读写文件文件系统的文件可以被读取和修改。针对只读文件系统,经常会包括至少一组内容完全相同的文件或者应用程序,比如两个相同版本的JVM虚拟机。因此,由于只读文件系统内通常包括有多组相同文件,且每组相同文件内包括至少两份相同的文件,即便在对只读文件系统进行压缩处理,仍然会因大量相同文件的存在导致额外占用大量外存空间。
发明内容
本发明的目的在于提供一种只读文件系统的文件存储控制方法及装置、存储介质,克服现有技术具有的因大量相同文件的存在导致不必要的占用大量外存空间的缺陷。
为达此目的,本发明采用以下技术方案:
一种只读文件系统的文件存储控制方法,包括步骤:
针对原始只读文件系统的所有文件,建立文件摘要列表;
根据所述文件摘要列表,识别出所述原始只读文件系统中的至少一组相同文件;
拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统;
将所述去重后只读文件系统压缩处理后存放至存储单元中。
可选的,所述链接处理的方式为硬链接方式。
可选的,所述针对原始只读文件系统的所有文件,建立文件摘要列表,包括:
通过文件遍历器记录所述原始文件系统中所有文件的信息并据此信息创建文件列表,所述文件列表中针对每个文件的属性信息包括文件大小、文件类型、文件属主关系、文件索引节点号、文件链接个数和/或文件所在路径;
根据所述文件列表创建文件摘要列表,所述文件摘要列表中针对每个文件的属性信息至少包括文件摘要。
可选的,通过比对所述文件摘要列表中各个文件的文件摘要,识别出所述原始只读文件系统中的至少一组相同文件。
可选的,所述拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,包括:
根据所述文件摘要列表建立关系链路表,所述关系链路表包括各组相同文件的文件所在路径;
根据所述关系链路表,对所述各组相同文件分别进行链接处理。
一种只读文件系统的文件存储控制装置,包括:
列表创建单元,用于针对原始只读文件系统的所有文件建立文件摘要列表;
相同文件识别单元,用于根据所述文件摘要列表,识别出所述原始只读文件系统中的至少一组相同文件;
去重处理单元,用于拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统;
压缩处理单元,用于将所述去重后只读文件系统压缩处理后存放至存储单元中。
可选的,所述去重处理单元,具体采用硬链接方式作为所述链接处理的方式。
可选的,所述列表创建单元,具体用于:
通过文件遍历器记录所述原始文件系统中所有文件的信息并据此信息创建文件列表,所述文件列表中针对每个文件的属性信息包括文件大小、文件类型、文件属主关系、文件索引节点号、文件链接个数和/或文件所在路径;
根据所述文件列表创建文件摘要列表,所述文件摘要列表中针对每个文件的属性信息至少包括文件摘要;
所述相同文件识别单元,具体用于:
通过比对所述文件摘要列表中各个文件的文件摘要,识别出所述原始只读文件系统中的至少一组相同文件。
可选的,所述去重处理单元,具体用于:
根据所述文件摘要列表建立关系链路表,所述关系链路表包括各组相同文件的文件所在路径;
根据所述关系链路表,对所述各组相同文件分别进行链接处理。
一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一项所述的只读文件系统的文件存储控制方法中的步骤。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例通过对原始只读文件系统中的相同文件进行链接处理,可以使得每组所包括的多个相同文件仅会占用一个文件的存储空间,实现去重效果,大大节省整个只读文件系统对外部存储空间的占用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的只读文件系统的文件存储控制方法流程图;
图2为本发明实施例提供的硬链接过程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请实施例方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明实施例一部分的实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
本发明实施例中,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了解决文件系统中因包括重复的多个相同文件而导致较大存储空间的问题,请参阅图1,本发明实施例提供一种只读文件系统的文件存储控制方法,包括步骤:
步骤101、针对原始只读文件系统的所有文件,建立文件摘要列表。
文件摘要列表,将用于识别原始只读文件系统中的相同文件。为此,文件摘要列表需要能够尽可能的呈现出原始只读文件系统的各个文件的详细内容。示例性的,该文件摘要列表的建立方法为:
通过文件遍历器记录原始文件系统中所有文件的信息并据此信息创建文件列表,文件列表包括文件大小、文件类型、文件属主关系、文件inode id(索引节点号)、文件链接个数和文件所在路径;
根据文件列表创建文件摘要列表,该文件摘要列表至少包括文件摘要。要说明的是,文件摘要由文件列表中的各项文件属性信息汇总生成,可以较大程度的体现出文件的主要信息内容。示例性的,具体可采用sha256摘要算法(Secure Hash Algorithm,安全散列算法)来获得文件摘要。
当然,文件摘要列表还可进一步包括文件大小、文件类型、文件属主关系、文件索引节点号、文件链接个数和文件所在路径,以保证文件摘要列表中所提供信息的全面性和完整性,为后续相同文件的识别奠定可靠基础。
步骤102、根据文件摘要列表,识别出原始只读文件系统中的至少一组相同文件。
由于文件摘要由多项属性信息汇总生成,能够较大程度的体现出相应文件的主要信息内容,因此,为了提高比对效率,本步骤可仅通过比对文件摘要列表中各个文件的文件摘要的方式,来筛选出原始只读文件系统中的相同文件。
可以理解的是,为提升比对结果的精确度,可在文件摘要相同的基础上,进一步比对其他项的属性信息,可以根据实际需求或者不同场景来灵活选择。
步骤103、拷贝原始只读文件系统,并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统。
需要指出的是,本实施例中的链接处理方式包括硬链接和软链接两种方式,为便于理解,下面对两种链接分别进行描述。
硬链接:假设A和B都是文件名,A是B的硬链接,则A的目录项中的inode id与B的目录项中的inode id相同,即一个inode id对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode上的链接数增加一,每删除一个对应的文件名,inode上的链接数减一,直到为0,inode id和对应的数据块被回收。
软链接:假设A和B都是文件名,A是B的软链接,则A的目录项中的inode id与B的目录项中的inode id不相同,A和B指向的是两个不同的inode,继而指向两块不同的数据块。但是A的数据块中存放的只是B的路径名(可以根据这个找到B的目录项)。A和B之间是“主从”关系,如果B被删除了,A仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。
但是,由于相对硬链接来讲,软链接具有兼容性差和出错率高的缺陷,本实施例优选采用硬链接方式。
根据文件系统中对文件的索引原理,文件系统一旦建立起来就会产生inode表和数据区,inode的全称为index node,也就是索引节点,其中它记录了文件的权限、创建时间、修改时间、删除时间、ID和数据位置这些信息。在实际操作中,一旦对两个文件进行了硬链接,那么这两个文件的inode id就是一样的,那么访问的数据也就是一样的。例如:请参阅图2,est文件夹下有一个文件src_file.txt,文件大小是19.9M;若通过硬链接产生了一个inode id与src_file.txt相同的名为hl_file.txt的硬链接文件,可以毫无意义的确定hl_file.txt文件的大小也是19.9M,但是通过文件属性查看test文件夹的大小,可以知晓这两个文件的总共大小为19.9M。
因此,通过对相同文件进行链接处理,可以使得每组所包括的多个相同文件仅会占用一个文件的存储空间,实现去重效果,大大节省整个文件系统对外部存储空间的占用。
另外,为了提高处理效率,本实施例的链接处理过程可具体包括:根据文件摘要列表建立关系链路表,该关系链路表包括各组相同文件的文件所在路径;根据关系链路表,对各组相同文件分别进行链接处理。该方式,通过关系链路表的建立,可在后续的链接处理步骤中快速查找获得所需的路径信息,而无需在数据量较大的文件摘要列表或者文件列表中查询,提高了处理效率。
步骤104、将去重后只读文件系统压缩处理后存放至存储单元中。
具体的,可将去重后只读文件系统压缩形成为镜像文件后存储。
至此,存储至存储单元内的去重后只读系统,由于其在原始只读系统的基础上通过链接方式实现了去重效果,因此能够明显地减小只读文件系统的大小,降低只读文件系统对存储空间的额外占用。
需要指出的是,本发明实施例提供的文件存储控制方法仅适用于只读文件系统,不适用可读写文件系统。这是由于:以硬链接为例,硬链接的方式是为链接文件创建一个与原文件一样的inode id,在文件系统对文件操作之前需要通过inode id找到文件内容所在的地址空间;如果是可读写文件系统,修改原文件和链接文件的其中一个就会导致另一个文件内容发生变化,那么如果是用户故意为之去创建两个一样的文件,后续需要对两个文件进行不同操作,那么使用本实施例提供的方法后务必会违背用户的本意。但是,由于只读文件系统的文件是只读的,因此既不会出现违背用户本意的情况发生,又起到了降低占用存储空间的效果。
本发明的另一实施例还提供了一种只读文件系统的文件存储控制装置,包括以下部分:列表创建单元、相同文件识别单元、去重处理单元和压缩处理单元。
其中,列表创建单元,用于针对原始只读文件系统的所有文件建立文件摘要列表;相同文件识别单元,用于根据所述文件摘要列表,识别出原始只读文件系统中的至少一组相同文件;去重处理单元,用于拷贝原始只读文件系统并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统;压缩处理单元,用于将去重后只读文件系统压缩处理后存放至存储单元中。
各个单元的具体处理方法如前一实施例所述,此处不再赘述。
本领域普通技术人员可以理解,上述方法实施例中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本发明实施例还提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的只读文件系统的文件存储控制方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种只读文件系统的文件存储控制方法,其特征在于,包括步骤:
针对原始只读文件系统的所有文件,建立文件摘要列表;
根据所述文件摘要列表,识别出所述原始只读文件系统中的至少一组相同文件;
拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统;
将所述去重后只读文件系统压缩处理后存放至存储单元中。
2.根据权利要求1所述的只读文件系统的文件存储控制方法,其特征在于,所述链接处理的方式为硬链接方式。
3.根据权利要求1所述的只读文件系统的文件存储控制方法,其特征在于,所述针对原始只读文件系统的所有文件,建立文件摘要列表,包括:
通过文件遍历器记录所述原始文件系统中所有文件的信息并据此信息创建文件列表,所述文件列表中针对每个文件的属性信息包括文件大小、文件类型、文件属主关系、文件索引节点号、文件链接个数和/或文件所在路径;
根据所述文件列表创建文件摘要列表,所述文件摘要列表中针对每个文件的属性信息至少包括文件摘要。
4.根据权利要求3所述的只读文件系统的文件存储控制方法,其特征在于,通过比对所述文件摘要列表中各个文件的文件摘要,识别出所述原始只读文件系统中的至少一组相同文件。
5.根据权利要求3所述的只读文件系统的文件存储控制方法,其特征在于,所述拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,包括:
根据所述文件摘要列表建立关系链路表,所述关系链路表包括各组相同文件的文件所在路径;
根据所述关系链路表,对所述各组相同文件分别进行链接处理。
6.一种只读文件系统的文件存储控制装置,其特征在于,包括:
列表创建单元,用于针对原始只读文件系统的所有文件建立文件摘要列表;
相同文件识别单元,用于根据所述文件摘要列表,识别出所述原始只读文件系统中的至少一组相同文件;
去重处理单元,用于拷贝所述原始只读文件系统并对其中的各组相同文件分别进行链接处理,使得每组相同文件实现去重,获得去重后只读文件系统;
压缩处理单元,用于将所述去重后只读文件系统压缩处理后存放至存储单元中。
7.根据权利要求6所述的只读文件系统的文件存储控制装置,其特征在于,所述去重处理单元,具体采用硬链接方式作为所述链接处理的方式。
8.根据权利要求6所述的只读文件系统的文件存储控制装置,其特征在于,所述列表创建单元,具体用于:
通过文件遍历器记录所述原始文件系统中所有文件的信息并据此信息创建文件列表,所述文件列表中针对每个文件的属性信息包括文件大小、文件类型、文件属主关系、文件索引节点号、文件链接个数和/或文件所在路径;
根据所述文件列表创建文件摘要列表,所述文件摘要列表中针对每个文件的属性信息至少包括文件摘要;
所述相同文件识别单元,具体用于:
通过比对所述文件摘要列表中各个文件的文件摘要,识别出所述原始只读文件系统中的至少一组相同文件。
9.根据权利要求6所述的只读文件系统的文件存储控制装置,其特征在于,所述去重处理单元,具体用于:
根据所述文件摘要列表建立关系链路表,所述关系链路表包括各组相同文件的文件所在路径;
根据所述关系链路表,对所述各组相同文件分别进行链接处理。
10.一种存储介质,其特征在于,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至5任一项所述的只读文件系统的文件存储控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015494.2A CN112131194A (zh) | 2020-09-24 | 2020-09-24 | 一种只读文件系统的文件存储控制方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011015494.2A CN112131194A (zh) | 2020-09-24 | 2020-09-24 | 一种只读文件系统的文件存储控制方法及装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131194A true CN112131194A (zh) | 2020-12-25 |
Family
ID=73839593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011015494.2A Pending CN112131194A (zh) | 2020-09-24 | 2020-09-24 | 一种只读文件系统的文件存储控制方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131194A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039967A (zh) * | 2021-10-29 | 2022-02-11 | 广州中爆数字信息科技股份有限公司 | 一种文件传输方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468686A (zh) * | 2015-11-17 | 2016-04-06 | 北京奇虎科技有限公司 | 减少冗余数据的方法及装置 |
CN109582642A (zh) * | 2018-11-08 | 2019-04-05 | 网宿科技股份有限公司 | 文件存储方法、删除方法、服务器及存储介质 |
CN110908589A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 数据文件的处理方法、装置、系统和存储介质 |
-
2020
- 2020-09-24 CN CN202011015494.2A patent/CN112131194A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468686A (zh) * | 2015-11-17 | 2016-04-06 | 北京奇虎科技有限公司 | 减少冗余数据的方法及装置 |
CN110908589A (zh) * | 2018-09-14 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 数据文件的处理方法、装置、系统和存储介质 |
CN109582642A (zh) * | 2018-11-08 | 2019-04-05 | 网宿科技股份有限公司 | 文件存储方法、删除方法、服务器及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114039967A (zh) * | 2021-10-29 | 2022-02-11 | 广州中爆数字信息科技股份有限公司 | 一种文件传输方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10592348B2 (en) | System and method for data deduplication using log-structured merge trees | |
US8996830B1 (en) | System and method for efficient backup using hashes | |
US8843454B2 (en) | Elimination of duplicate objects in storage clusters | |
US7814149B1 (en) | Client side data deduplication | |
US7457813B2 (en) | Storage system for randomly named blocks of data | |
US8904137B1 (en) | Deduplication system space recycling through inode manipulation | |
US8468320B1 (en) | Scalability of data deduplication through the use of a locality table | |
US7366859B2 (en) | Fast incremental backup method and system | |
US9436558B1 (en) | System and method for fast backup and restoring using sorted hashes | |
CN102629247B (zh) | 一种数据处理方法、装置和系统 | |
CN111417939A (zh) | 分布式文件系统中的分层存储 | |
US20070288711A1 (en) | Snapshot copy management method used for logic volume manager | |
US8271456B2 (en) | Efficient backup data retrieval | |
US6675180B2 (en) | Data updating apparatus that performs quick restoration processing | |
JP2005267600A5 (zh) | ||
US10628298B1 (en) | Resumable garbage collection | |
US20140244582A1 (en) | Apparatus and Methods for Selective Location and Duplication of Relevant Data | |
CN113535670B (zh) | 一种虚拟化资源镜像存储系统及其实现方法 | |
US9858287B2 (en) | Storage system | |
CN111176896A (zh) | 文件备份方法、装置及终端设备 | |
CN112131194A (zh) | 一种只读文件系统的文件存储控制方法及装置、存储介质 | |
US20130218851A1 (en) | Storage system, data management device, method and program | |
CN114416676A (zh) | 数据处理方法、装置、设备和存储介质 | |
US20170337213A1 (en) | Metadata regeneration | |
US11645333B1 (en) | Garbage collection integrated with physical file verification |
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 |