CN112131194A - 一种只读文件系统的文件存储控制方法及装置、存储介质 - Google Patents

一种只读文件系统的文件存储控制方法及装置、存储介质 Download PDF

Info

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
Application number
CN202011015494.2A
Other languages
English (en)
Inventor
吴乾隆
郭强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Moqin Intelligent Technology Co ltd
Original Assignee
Shanghai Moqin Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Moqin Intelligent Technology Co ltd filed Critical Shanghai Moqin Intelligent Technology Co ltd
Priority to CN202011015494.2A priority Critical patent/CN112131194A/zh
Publication of CN112131194A publication Critical patent/CN112131194A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-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任一项所述的只读文件系统的文件存储控制方法中的步骤。
CN202011015494.2A 2020-09-24 2020-09-24 一种只读文件系统的文件存储控制方法及装置、存储介质 Pending CN112131194A (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039967A (zh) * 2021-10-29 2022-02-11 广州中爆数字信息科技股份有限公司 一种文件传输方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
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 阿里巴巴集团控股有限公司 数据文件的处理方法、装置、系统和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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