CN107111549B - 一种文件***的管理方法及装置 - Google Patents
一种文件***的管理方法及装置 Download PDFInfo
- Publication number
- CN107111549B CN107111549B CN201580064360.0A CN201580064360A CN107111549B CN 107111549 B CN107111549 B CN 107111549B CN 201580064360 A CN201580064360 A CN 201580064360A CN 107111549 B CN107111549 B CN 107111549B
- Authority
- CN
- China
- Prior art keywords
- area
- data block
- file
- index node
- partition
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种文件***的管理方法及装置。该方法包括:在存储设备的第一连续的地址段上为文件***分配一个数据块位图区(101);在存储设备的第二连续的地址段上为文件***分配N个分区,N个分区的每个分区分别用于存储每个分区的***元数据(102);在存储设备的第三连续的地址段上为文件***分配N个分区的共用数据块区,共用数据块区用于存储文件(103);数据块位图区用于存储第一使用标识,第一使用标识用于表示共用数据块区中的数据块是否被使用,每个数据块对应一个第一使用标识;其中,第一连续的地址段、第二连续的地址段和第三连续的地址段组成连续的地址段。
Description
技术领域
本申请涉及电子技术领域,尤其涉及一种文件***的管理方法及装置。
背景技术
如图1a所示,为文件***在存储设备的布局示意图。存储设备内的存储空间被划分为***存储空间和用户存储空间。***存储空间一般包含多个固定分区,例如图1a中的分区1、分区2至分区N。每个固定分区的大小在设备出厂时已经由设计人员设计好,设备出厂后能够被改变的可能性极小。
请同时参考图1a和图1b所示,图1b为图1a中分区1的进一步布局示意图。当对***存储空间进行文件***的格式化之后,分区1包括超级块区、数据块位图区、索引节点位图区、索引节点区以及数据块区。在格式化之后,不光分区1的大小是固定的,每个区的位置也是固定的。
其中,超级块区用于记录分区1的文件***的***信息,例如文件***的类型、大小。数据块位图区,是以位图的数据结构来定义的,每一个比特(bit)位代表一个数据块的使用与否。例如:比特位的值为0代表该比特位对应的数据块未被使用,比特位的值为1代表该比特位对应的数据块已被使用。索引节点位图区,也是以位图的数据结构来定义的,每一个bit位代表一个索引节点使用与否。索引节点区的每一个索引节点对应一个文件。索引节点记录了该文件的属性以及该文件在数据块中的存储地址。通过索引节点能够在数据块中找到该文件。数据块用来存放文件。
分区2至分区N的布局方式与分区1相同。
通常,为了保证***的可扩展性和产品的延续性,会为每个固定分区的分配大于分区所需空间的存储空间,所以就会导致存储空间的浪费。
另外,在实际运用中,经常会出现分区1已用完,但是分区2还有空闲空间、或者是分区1还有空闲空间而分区2已用完的问题。为了解决这类问题,设计人员会在新的产品中不断的扩大分区1或分区2的大小,那么***存储空间就会增大,所以用户存储空间就会被压缩,因此存在存储空间利用率低的问题。
发明内容
本申请实施例提供一种文件***的管理方法及装置,用以解决现有技术中的存储空间利用率低的技术问题。
本申请第一方面提供了一种文件***的管理方法,包括:
在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
在所述存储设备的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;
在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
结合第一方面,在第一方面的第一种可能的实现方式中,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;
在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区之后,所述方法还包括:
接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;
根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;
根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;
当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;
当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;
将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;
将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;
在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
结合第一方面,在第一方面的第二种可能的实现方式中,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区之后,所述方法还包括:
接收在所述N个分区中的分区j删除文件的请求;
根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:
根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;
将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;
将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
本申请第二方面提供一种文件***的管理方法,包括:
在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
在所述存储设备的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;
在所述存储设备的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;
在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;
在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区之后,所述方法还包括:
接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;
根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;
根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;
当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;
当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;
将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;
将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;
在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
结合第二方面,在第二方面的第二种可能的实现方式中,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区之后,所述方法还包括:
接收在所述第一分区删除文件的请求;
根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:
根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;
将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;
将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
本申请第三方面提供一种文件***的管理方法,包括:
在存储设备的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;
在所述存储设备的第二连续的地址段上为所述文件***分配位图区;
在所述存储设备的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:
当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;
当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,在所述存储设备的第三连续的地址段上为所述文件***分配共享区之后,所述方法还包括:
接收用于创建文件的请求;所述请求中包括所述文件的大小;
根据所述使用标识确定所述共享区中未被使用的数据块;
根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;
根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;
当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;
将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
结合第三方面或第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述方法还包括:
更新所述超级块区中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
结合第三方面或第三方面的第一种可能的实现方式,在第三方面的第四种可能的实现方式中,所述索引节点还记录文件的属性,
在所述存储设备的第三连续的地址段上为所述文件***分配共享区之后,所述方法还包括:
接收查询文件的请求,所述请求中包含所述文件的属性;
在所述共享区中查询与所述属性对应的索引节点;
根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
本申请第四方面提供一种文件***的管理方法,包括:
数据块位图分配模块,用于在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
元数据分区分配模块,用于在所述存储设备的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;
数据块分配模块,用于在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
结合第四方面,在第四方面的第一种可能的实现方式中,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述装置还包括:
接收模块,用于接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
结合第四方面,在第四方面的第二种可能的实现方式中,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述装置还包括:
接收模块,用于接收在所述N个分区中的分区j删除文件的请求;
处理模块,用于根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;在所述数据块位图区中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;在所述分区j的索引节点位图区中将所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
本申请第五方面提供一种文件***的管理装置,包括:
数据块位图分配模块,用于在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
元数据分区分配模块,用于在所述存储设备的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;在所述存储设备的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;
数据块分配模块,用于在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
结合第五方面,在第五方面的第一种可能的实现方式中,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述装置还包括:
接收模块,用于接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
结合第五方面,在第五方面的第二种可能的实现方式中,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
所述装置还包括:
接收模块,用于接收在所述第一分区删除文件的请求;
处理模块,用于根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
本申请第六方面提供一种文件***的管理装置,包括:
超级块分配模块,用于在存储设备的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;
位图分配模块,用于在所述存储设备的第二连续的地址段上为所述文件***分配位图区;
共享区分配模块,用于在所述存储设备的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
结合第六方面,在第六方面的第一种可能的实现方式中,所述装置还包括处理模块,用于当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
结合第六方面,在第一方面的第二种可能的实现方式中,所述装置还包括:
接收模块,用于接收用于创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于根据所述使用标识确定所述共享区中未被使用的数据块;根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
结合第六方面的第二种可能的实现方式,在第六方面的第三种可能的实现方式中,所述处理模块还用于:更新所述超级块中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
结合第六方面,在第六方面的第四种可能的实现方式中,所述装置还包括:
接收模块,用于接收查询文件的请求,所述请求中包含所述文件的属性;
处理模块,用于在所述共享区中查询与所述属性对应的索引节点;根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
本申请第七方面提供一种电子设备,包括:
存储器;
处理器,用于在所述存储器的第一连续的地址段上为所述文件***分配一个数据块位图区;在所述存储器的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;在所述存储器的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
结合第七方面,在第七方面的第一种可能的实现方式中,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识,所述电子设备还包括输入装置,
所述输入装置用于接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
所述处理器还用于:通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
结合第七方面,在第七方面的第二种可能的实现方式中,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述电子设备还包括输入装置,
所述输入装置用于接收在所述N个分区中的分区j删除文件的请求;
所述处理器还用于:根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
本申请第八方面提供一种电子设备,包括:
存储器;
处理器,用于在所述存储器的第一连续的地址段上为所述文件***分配一个数据块位图区;在所述存储器的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;在所述存储器的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;在所述存储器的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
结合第八方面,在第八方面的第一种可能的实现方式中,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述电子设备还包括输入装置,
所述输入装置用于接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
所述处理器还用于:通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
结合第把方面,在第八方面的第二种可能的实现方式中,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述电子设备还包括输入装置,
所述输入装置用于接收在所述第一分区删除文件的请求;
所述处理器还用于:根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
本申请第九方面提供一种电子设备,包括:
存储器;
处理器,用于在所述存储器的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;在所述存储器的第二连续的地址段上为所述文件***分配位图区;在所述存储器的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
结合第九方面,在第九方面的第一种可能的实现方式中,所述处理器还用于:当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
结合第九方面,在第九方面的第二种可能的实现方式中,所述电子设备还包括输入装置,
所述输入装置用于接收用于创建文件的请求;所述请求中包括所述文件的大小;
所述处理器还用于:根据所述使用标识确定所述共享区中未被使用的数据块;根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
结合第九方面的第二种可能的实现方式,在第九方面的第三种可能的实现方式中,所述处理器还用于:更新所述超级块区中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
结合第九方面,在第九方面的第四种可能的实现方式中,所述电子设备还包括输入装置,
所述输入装置用于接收查询文件的请求,所述请求中包含所述文件的属性;
所述处理器还用于:在所述共享区中查询与所述属性对应的索引节点;根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,每个分区的数据块区共用,然后所有分区也共用同一个数据块位图。当需要在某个分区存储数据时,只要数据块位图显示数据块区有足够的剩余容量,那么就可以在数据块区存储数据。而在现有技术中,当需要在某个分区存储数据时,如果某个分区的数据块位图显示数据块区域没有足够剩余容量时,便无法存储数据。而某个分区的相邻分区还有空间,但是由于布局方式的限制,数据也无法存储到相邻分区的数据块区中。由此可见,相较于现有技术,本申请实施例的文件***管理方法使得存储空间能够被充分利用,减少了被浪费的空间。
附图说明
图1a-图1b为现有技术中的文件***在存储设备上的布局示意图;
图2为本申请实施例提供的一种文件***的管理方法的流程图;
图3a-图3b为本申请实施例中提供的多种文件***在存储设备上的布局示意图;
图4为本申请实施例提供的一种在文件***中创建文件的方法流程图;
图5为本申请实施例提供的一种在文件***中删除文件的方法流程图;
图6为本申请实施例提供的另一种文件***的管理方法的流程图;
图7a-图7b为本申请实施例提供的另一种文件***在存储设备上的布局示意图;
图8为本申请实施例提供的再一种文件***的管理方法的流程图;
图9为本申请实施例提供的再一种***在存储设备上的布局示意;
图10为本申请实施例提供的另一种在文件***中创建文件的方法流程图;
图11为本申请实施例提供的一种在文件***中查找文件的方法流程图;
图12为本申请实施例提供的一种文件***管理装置的功能框图;
图13为本申请实施例提供的一种电子设备的结构图;
图14为本申请实施例提供的另一种文件***管理装置的功能框图;
图15为本申请实施例提供的另一种电子设备的结构图;
图16为本申请实施例提供的再一种文件***管理装置的功能框图;
图17为本申请实施例提供的再一种电子设备的结构图。
具体实施方式
本申请实施例提供一种文件***的管理方法及装置,用以解决现有技术中的存储空间利用率低的技术问题。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图2所示,为本申请实施例提供的一种文件***的管理方法的流程图。
如图2所示,该方法包括:
步骤101:在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
步骤102:在存储设备的第二连续的地址段上为所述文件***分配N个分区,N个分区的每个分区分别用于存储每个分区的***元数据;N为大于1的整数;
步骤103:在存储设备的第三连续的地址段上为所述文件***分配N个分区的共用数据块区,共用数据块区用于存储文件。
其中,数据块位图区用于存储第一使用标识,第一使用标识用于表示共用数据块区中的数据块是否被使用,每个数据块对应一个第一使用标识。
其中,第一连续的地址段、第二连续的地址段和第三连续的地址段组成连续的地址段。
具体来说,数据块位图区是以位图的数据结构来定义的,每一个比特代表一个数据块的使用与否。即一个第一使用标识的大小为一个比特。第一使用标识例如为0和1,用0来表示数据块未被使用。用1来表示数据块已被使用。当然,在实际运用中,第一使用标识可以是其它数据,只要能够表示某个数据块是否被使用即可。
在步骤102中,在存储设备上为所述***分配N个分区,具体来说,可以按照用途来确定N的数量,即每个分区的作用不同。换言之,每个分区所对应的文件的类型是不同的。举例来说,可以按照现有技术中的分区方式进行分区,即现有技术中的文件***有几个分区,在步骤102中就分配几个分区。
可选的,每个分区的大小可以相同也可以不相同。因为每个分区所存储的元数据的类型和数量不同,所以具体可以根据所存储的元数据的类型和数量来分配N个分区的大小。
在具体实施过程中,步骤101、步骤102和步骤103之间的顺序可以任意变化,或者三个步骤同时执行。
需要说明的是,本实施例以及下述实施例中的存储设备可以是在物理上单独的一个硬盘、U盘的全部存储空间,也可以是一个硬盘或U盘上的部分存储空间。举例来说,假设一个硬盘的总大小为500G,那么本申请实施例中的存储设备就可以是整个500G的存储空间,也可以是其中200G的存储空间。
通常来讲,当用户触发格式化存储设备的操作时,安装有该存储设备的电子设备即可执行步骤101至步骤103。
可选的,本申请实施例中的连续的地址段表示在逻辑地址上是连续的。因此,在步骤101至步骤103中,均是按照连续的逻辑地址分配各个区。
进一步,第一连续的地址段、第二连续的地址段和第三连续的地址段组成连续的地址段的一种情况例如为:数据块位图区的逻辑尾地址和N个分区的第一个分区的逻辑首地址是连续的,N个分区的最后一个分区的逻辑尾地址和共用数据块区的逻辑首地址是连续的。因此,步骤102具体包括:在从所述数据块位图区的逻辑尾地址的下一地址开始的第二连续的地址段上为所述文件***分配N个分区。步骤103具体包括:在从N个分区的最后一个分区的逻辑尾地址的下一地址开始的第三连续的地址段上为所述文件***分配N个分区的共用数据块区。
可选的,在分配各个区时,可以是按照由低地址端向高地址端的方向进行分配,也可以按照由高地址端向低地址端的方向进行分配。具体来说,例如:第二连续的地址段的地址高于第一连续的地址段,第三连续的地址段的地址高于第二连续的地址段。
在实际运用中,各个区的位置请参考以下几个具体的实例。
第一例:请参考图3a所示,图3a为根据图2所示的文件***管理方法在存储设备上布局文件***之后的布局结构示意图。
在本例中,数据块位图区位于低地址端。N个分区紧接着数据块位图区布局,并且N个分区位于数据块位图区的高低端侧。然后共用数据块区紧接着N个分区的最后一个分区布局。数据块位图区的首地址至共用数据块区的尾地址之间地址均是连续的。
可选的,在向各个区存储数据时,可以是按照从低地址端向高地址端的方向进行存储。
第二例,请参考图3b所示,图3b为根据图2所示的文件***管理方法在存储设备上布局文件***之后的布局结构示意图。
第二例和第一例不同的是,将共用数据块区分配在数据块位图区和N个分区之间。
由以上描述可知,相比现有技术,本申请实施例的文件***管理方法将N个分区的数据块抽离出来形成一个连续的存储空间,而每个区的数据块位图区也抽离出来形成一个连续的位图区,用于存储表示该共用数据块区的数据块是否被使用的第一使用标识。因此,在本申请实施例中,只要数据块位图显示数据块区有足够的剩余容量,那么就可以在数据块区存储数据。而在现有技术中,当需要在某个分区存储数据时,如果某个分区的数据块位图显示数据块区域没有足够剩余容量时,便无法存储数据。而某个分区的相邻分区还有空间,但是由于布局方式的限制,数据也无法存储到相邻分区的数据块区中。由此可见,相较于现有技术,本申请实施例的文件***管理方法使得存储空间能够被充分利用,减少了被浪费的空间。同时,本申请实施例中的文件***管理方法避免了每个分区设计的比所需大小大,进而压缩用户存储空间的问题,也因此避免了存储空间的浪费。
进一步,通过本申请实施例中的文件***管理方法,只需要知道整个文件***所需空间多大即可,而不需要知道具体每个分区的大小,所以也提高了设计人员的研发效率。
进一步,当图2及其实施例所描述的方法应用在用户存储空间中时,同样可以实现只要共用数据块区中有足够的存储空间,在任何一个分区都可以存储文件的技术效果。举例来说,当用户向D盘中存储一部电影时,只要共用数据块区中有足够的存储空间,那么该存储操作就能够被响应,进而将电影数据存储在D盘中。而在现有技术中,如果D盘的数据块区中没有足够存储空间时,就无法将电影数据存储在D盘中,而只能改存在其它有空闲存储空间的分区盘中,例如E盘。因此,相比现有技术,本申请实施例中的方法更加便于用户使用。
在进一步的实施例中,N个分区的每个分区包括超级块区、索引节点位图区以及索引节点区。超级块区用于记录各分区的文件***的***信息,例如文件***的类型、大小。进一步,超级块区还用于记录共用数据块区的剩余容量大小。索引节点区的索引节点用于记录存储在共用数据块区中的文件的存储地址。进一步,索引节点还记录该文件的属性。属性包括唯一标识一个文件的信息,例如文件的名称。通过索引节点能够在共用数据块区中找到文件。一个索引节点对应一个文件的存储地址。进一步,属性还包括文件的大小等信息。
索引节点位图区用于存储第二使用标识,第二使用标识用于表示索引节点是否被使用。每个索引节点对应一个第二使用标识。索引节点位图区也可以是以位图的数据结构来定义的。每一个比特代表一个索引节点使用与否。
因为在本申请实施例中,各个分区的数据块抽离出来形成一个整体的共用数据块区,为了保证每个分区更大能力的去使用共用数据块,其索引节点位图和索引节点区也可以适当分配大点。比如以分区1为例,现有的技术方案中,分区1有10000个数据块,可能分配2500个索引节点空间,现在可以给分区1分配5000个索引节点空间,因为每个索引节点以及索引节点位图空间占用不大,所用的空间可以忽略不计。如此可以保证在有空闲数据块时,每个分区的索引节点是足够的,这样,只要空闲数据块的大小足够存储文件,那么就可以在任何分区存储该文件。
当然,在实际运用中,索引节点的数量具体和该分区所存储数据的类型相关。举例来说,如果该分区主要用于存储大数据,那么索引节点的数量就可以少一点。如果该分区主要用于存储小数据,但是数据量很大,那么索引节点的数量就可以多一点。
以下将举例说明按照图2所示的方法进行***布局之后,在某个分区创建一个文件的过程。例如:如图4所示,在分区i创建一个文件。
首先,接收在分区i新增一个文件的请求,所述请求中包括所述文件的大小。接下来通过第一使用标识确定共用数据块区中未被使用的数据块。例如:0代表数据块未使用,1代表数据块已被使用。那么所有0对应的数据块即为未被使用的数据块。然后根据未被使用的数据块的数量以及大小确定共用数据块区中的剩余容量的大小。因为每个数据块的大小是已知的,所以根据未被使用的数据块的数量和大小即可计算出剩余容量的大小。该部分内容为本领域技术人员所熟知的内容,所以在此不再赘述。
在确定出共用数据块区中的剩余容量大小之后,根据所述文件的大小和剩余容量的大小,确定剩余容量是否足够创建所述文件。例如:剩余容量为10MB,如果新增的该文件的大小为8MB,那么确定的结果即为剩余容量足够。如果新增的该文件的大小为15MB,那么确定的结果是剩余容量不够。
如果剩余容量不够创建所述文件时,可以通过用户界面(UI)向用户提示磁盘空间不够。
如果剩余容量足够创建所述文件时,那么接下来确定所述文件将要存储在所述共用数据块区中的存储地址,并在分区i的索引节点位图区查找是否有未被使用的索引节点。其中,确定所述文件将要存储在所述共用数据块区中的存储地址,具体来说,可以是在未被使用的数据块中确定将要存储的数据块,然后该数据块的地址即为所述文件将要存储的存储地址。该部分内容为本领域技术人员所熟知的内容,所以在此不再赘述。
通常,索引节点的数量设置的是足够多的,如前面所述,可以将索引节点区分配的稍大一些,这样可以保证在共用数据块区有足够的剩余容量创建文件时,索引节点区有未被使用的索引节点。当然,如果出现极端情况,索引节点已分配完,那么同样可以通过UI提示用户分区1的索引节点已分配完。
当查找到未被使用的索引节点时,为所述文件分配一个索引节点,并在该索引节点中填充所述文件的属性以及所述存储地址。然后在索引节点位图区中将与所述一个索引节点对应的第二使用标识更改为表示所述一个索引节点已被使用的值。
将所述文件写入共用数据块区中与存储地址对应的数据块。然后在数据块位图区中将与所述存储地址对应的数据块的第一使用标识更改为表示所述数据块已被使用的值。举例来说,在数据块位图区中,将占用的数据块的第一使用标识置为1,表示该数据块已被使用。
需要说明的是,在以上步骤中,在不出现冲突的情况下,步骤之间的顺序可以调换。
由此可见,通过本申请实施例中的文件***管理方法布局***之后,共用数据块为一个资源池,只要通过查询数据块位图发现共用数据块区中有足够的剩余容量,就可进行数据存储。相比现有技术中,如果需要新增的文件的那个分区中容量不足时,便无法新增文件,而浪费了其它分区所对应的数据块。因此,本申请实施例中的文件***管理方法能够节约存储空间。
接下来将描述在N个分区中的分区j删除文件的过程。具体请参考图5所示。
首先,接收在分区j删除文件的请求。具体来说,例如用户在分区j,如D盘上选中一个文件,然后点击右键,在右键菜单里点选“删除”选项,那么此时电子设备就会接收到删除文件的请求。
然后根据所述文件的属性在分区j的索引节点区查找对应的索引节点。具体来说,如前所述,元数据包括所述文件的存储地址。进一步,元数据还可以包括所述文件的属性,该属性包括可以唯一标识一个文件的属性值,例如文件的名称。可选的,属性还可以包括文件的大小等。所以可以通过元数据中的属性与索引节点区中的每个索引节点记录的元数据进行匹配。当匹配成功时,匹配成功的索引节点即为所述文件对应的索引节点。
在查找到所述文件对应的索引节点后,根据所述索引节点记录的存储地址确定共用数据块中与所述存储地址对应的数据块。然后在数据块位图区中将与所述存储地址对应的数据块的第一使用标识更改为表示所述数据块未被使用的值。该步骤即表示对被删除文件所占用的数据块进行回收。在实际使用中,可以是在确定所述文件所占用的数据块之后,可以将所述数据块中的文件擦除。当然,也可以不进行擦除操作,因为在数据块位图中已经将所述数据块对应的第一使用标识更改为表示所述数据块未被使用的值,所以在后续如果有创建文件的请求时,确定共用数据块区中的剩余容量时,所述数据块的状态是未被使用,即可以存入新的数据。因此,如果在所述数据块上存储新的数据时,只要覆盖该数据块中的原数据即可。
接下来,在分区j的索引节点位图区中将所述对应的索引节点的第二使用标识更改为表示所述对应的索引节点未被使用的值,对所述文件对应的索引节点进行回收。类似的,也可以删除所述对应的索引节点中所述文件的属性以及存储地址,也可以不删除,而是在下次存储时直接覆盖所述文件的属性以及存储地址。
基于与图2所示方法同一发明构思,本申请实施例还提供一种文件***,该文件***包括:数据块位图区、N个分区、共用数据块区。其中,这些区的含义以及相互之间的布局关系与前述图2所示方法及其实施例中所描述的相同,所以在此不再赘述。
接下来请参考图6所示,为本申请实施例提供的另一种文件***的管理方法的流程图。如图6所示,该方法包括:
步骤201:在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
步骤202:在存储设备的第二连续的地址段上为所述文件***分配第一分区,第一分区用于存储第一分区的***元数据;
步骤203:在存储设备的第三连续的地址段上为所述文件***分配第二分区,第二分区用于存储第二分区的***元数据;
步骤204:在存储设备的第四连续的地址段上,为所述文件***分配第一分区和第二分区的共用数据块区;其中,共用数据块区用于存储文件;数据块位图区用于存储第一使用标识,第一使用标识用于表示共用数据块区中的数据块是否被使用,每个数据块对应一个第一使用标识。
其中,第一连续的地址段、第二连续的地址段、第三连续的地址段和第四连续的地址段组成连续的地址段。第四连续的地址段位于第二连续的地址段和第三连续的地址段之间。
其中,连续的地址段的含义,以及组成连续的地址段的含义与前述图2及其实施例中所描述的含义相同。
如图7a所示,为根据图6所示文件***管理方法对文件***进行布局之后的布局示意图。
在本例中,数据块位图区位于低地址端,分区1紧接着数据块位图区,并位于数据块位图区的高地址端侧。然后是共用数据块区紧接着分区1,并位于分区1的高地址端侧。然后是分区2紧接着共用数据块区并位于共用数据块区的高地址端侧。
当然,在实际运用中,各个区之间的位置关系还可以其它情况,例如与图7a的顺序正好相反,数据块位图区位于高地址端,而分区2位于低地址端。
与图2及其实施例类似的,第一分区和第二分区,也包含超级块区、索引节点区和索引节点位图区。超级块区、索引节点区和索引节点位图区的含义与前述描述的类似,所以在此不再赘述。
需要说明的是,对于共用数据块位于第一分区和第二分区之间的情况,位于共用数据块区低地址端的分区包含的超级块区、索引节点位图区以及索引节点区的顺序和位于共用数据块区高地址端的分区包含的超级块区、索引节点位图区以及索引节点区的顺序可以相反。
举例来说,请参考图7b所示,分区1和分区2分别位于共用数据块区的低地址端和高地址端。分区1的三个子分区在低地址端向高地址端的方向上的顺序为超级块区、索引节点位图区、索引节点区。分区2的三个子分区从低地址端向高地址端的方向上,顺序分别为索引节点区、索引节点位图区、超级块区。因此分区2的文件***是“逆生长”的。
对于本实施例中的文件***布局方式,在第一分区或第二分区创建文件的过程和前述描述的创建文件的过程相同,即前述的分区i可以被替换为第一分区或第二分区。在第一分区或第二分区删除文件的过程和前述描述的删除文件过程相同,即前述分区j可以被替换为第一分区或第二分区。为了说明书的简洁,在此不再赘述。
基于与图6所示方法同一发明构思,本申请实施例提提供一种文件***,该文件***包括:数据块位图区、第一分区、共用数据块区以及第二分区。其中,每个区的含义及布局与前述图6所示方法及其实施例所描述的相同,所以在此不再赘述。
接下来请参考图8所示,为本申请实施例提供的再一种文件***的管理方法的流程图。如图8所示,该方法包括:
步骤301:在存储设备的第一连续的地址段上为所述文件***分配超级块区,超级块区用于记录文件***的***信息;***信息包括文件***的类型、大小;
步骤302:在存储设备的第二连续的地址段上为所述文件***分配位图区;
步骤303:在存储设备的第三连续的地址段上为所述文件***分配共享区,共享区用于存储文件与索引节点。
其中,索引节点用于记录存储在共享区中的文件的存储地址。位图区用于存储使用标识,使用标识用于表示共享区中的数据块是否被使用。每个数据块对应一个使用标识。第一连续的地址段、第二连续的地址段和第三连续的地址段组成连续的地址段。
进一步,超级块区还用于记录共享区中的所有索引节点所占用的空间大小以及共享区中所有文件所占用的空间大小。进一步,超级块区还用于记录共享区的总大小。根据共享区的总大小、所有索引节点所占用的空间大小以及所有文件所占用的空间大小可以获得共享区中的剩余空间的大小。超级块区中记录的以上所描述的信息,便于后续对超级块区对应的分区进行管理。
进一步,索引节点区的索引节点还用于记录数据块区所存储的文件的属性。属性包括可以唯一标识一个文件的信息,例如文件名称。进一步,属性还包括文件大小等信息。
在以上各实施例中,存储地址例如为地址指针、地址本身或者地址偏量等表示地址的信息。
在现有技术中,如图1b所示,通常当分区1用于存储大文件时,索引节点区往往有很多空间使用不完,所以造成存储空间的浪费。在本实施例中,将索引节点的剩余区域也作为存储文件的存储空间来使用,所以降低了对存储空间的浪费,提高了存储空间的利用率。
具体来说,请参考图9所示,为根据图所8示方法布局文件***之后,文件***在存储设备上的布局示意图。
可选的,便于高效的利用存储空间,所以该方法还包括:当在索引节点区为索引节点分配空间时,从共享区的第一地址端向第二地址端方向进行分配;当在共享区为文件分配空间时,从共享区的第二地址端向第一地址端方向进行分配。具体来说,第一地址端例如为低地址端,第二地址端例如为高地址端。
基于与图8所示方法同一发明构思,本申请实施例提提供一种文件***,该文件***包括:超级块区、位图区、共享区。其中,每个区的含义及布局与前述图8所示方法及其实施例所描述的相同,所以在此不再赘述。
接下来请参考图10所示,为本申请实施例提供的一种在文件***中创建文件的方法流程图。该文件***在存储设备上的布局方式例如是按照图8所示的布局方式进行的。
如图10所示,该方法包括:
步骤401:接收用于创建文件的请求;所述请求中包括所述文件的大小;
步骤402:根据位图区中的使用标识确定共享区中未被使用的数据块;
步骤403:根据未被使用的数据块的数量及大小确定共享区中的剩余容量的大小;
步骤404:根据所述文件的大小和剩余容量的大小确定剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;
步骤405:当剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在未被使用的数据块上创建所述文件并将所述文件的存储地址记录在对应的索引节点中;
步骤406:将位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
其中,存储地址例如是地址指针,当然也可以是地址本身,或者是地址偏量等用于指示地址的信息。
由此可以看出,相较于现有技术中,即使索引节点区还有剩余存储空间,而当确定出数据块区的剩余空间不足时便无法创建新的文件的情况,本申请实施例中,因为索引节点和文件共同使用同一个共享区,所以只要共享区中有足够的存储空间存储文件和文件对应的索引节点,即可存储文件,所以提高了存储空间的利用率,降低了对存储空间的浪费。
如前所述,在共享区为索引节点分配存储空间时,是从低地址端向高地址端分配。而在创建文件时,是从高地址端向低地址端分配存储空间。如此一来,索引节点所占用的空间和文件所占用的空间之间是一个完整的连续的存储空间,便于存储各类大小的数据,避免了随意分配空间之后,共享区有几个不连续的存储空间,这样能存储的文件的大小容易被限制,所以本实施例中的方法可以进一步提高存储空间的利用率。
可选的,步骤406之后,该方法还包括:更新超级块区中记录的共享区中存储的所有索引节点占用的空间大小值以及共享区中存储的所有文件占用的空间大小值。因为通过步骤401至步骤406,共享区中的索引节点占用的空间和文件占用的空间已经发生变化,所以在步骤406之后要进行更新。如此可以使得超级块能够记录最新的情况,便于后续对整个分区的管理。
以上描述了创建文件的过程,接下来将描述如何查找文件的过程。请参考图11所示,为本申请实施例提供的一种文件***中的查找文件的方法流程图。
如图11所示,该方法包括:
步骤501:接收查询文件的请求,所述请求中包含所述文件的属性;
步骤502:在共享区中查询与所述属性对应的索引节点;
步骤503:根据所述对应的索引节点中记录的存储地址在共享区中查找与存储地址对应的文件。
在步骤501中,接收查询文件的请求,可以是由查询操作本身触发的请求,也可以是基于其它操作请求触发的请求,例如删除该文件的操作,也会先触发查找文件的过程。
当根据图11所示的方法查找到该文件之后,可以对该文件进行所需要的操作,例如删除。
当删除文件之后,该方法还包括:将位图区中与该存储地址和索引节点对应的使用标识修改为表示该存储地址和索引节点对应的数据块已被使用的值。
基于同一发明构思,参考图12所示,为本申请实施例提供的一种文件***的管理装置的功能框图,用于实现本发明图2至图5所示的文件***管理方法,本实施例中所涉及术语的含义请参考前述实施例中所描述的内容。该文件***的管理装置包括:数据块位图分配模块601,用于用于在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;元数据分区分配模块602,用于在存储设备的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;数据块分配模块603,用于在存储设备第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
可选的,每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述装置还包括:
接收模块,用于接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
可选的,每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述装置还包括:
接收模块,用于接收在所述N个分区中的分区j删除文件的请求;
处理模块,用于根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
前述图2至图5实施例中的文件***管理方法中的各种变化方式和具体实例同样适用于本实施例的管理装置,通过前述对文件***管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中管理装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图13所示,为本申请实施例提供的一种电子设备的结构框图,用于实现本发明图2至图5所示的文件***管理方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该电子设备包括:处理器701、发送器702、接收器703、存储器704和输入装置705。处理器701具体可以是通用的中央处理器(CPU),可以是特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。存储器704的数量可以是一个或多个。存储器704例如为硬盘、U盘。这些存储器704、接收器703和发送器702通过总线与处理器701相连接。接收器703和发送器702用于与外部设备进行网络通信,具体可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。接收器703和发送器702可以是物理上相互独立的两个元件,也可以是物理上的同一个元件。输入装置705可以例如为键盘、鼠标、触摸板。
具体来说,处理器701,用于在存储器704的第一连续的地址段上为所述文件***分配一个数据块位图区;在存储器704的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;在存储器704的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
可选的,每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识。输入装置705用于接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;处理器701还用于:通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
可选的,每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识。输入装置705用于接收在所述N个分区中的分区j删除文件的请求。处理器701还用于:根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
前述图2至图5实施例中的文件***管理方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对文件***管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图14所示,为本申请实施例提供的另一种文件***的管理装置的功能框图,用于实现本发明图6至图7b所示的文件***管理方法,本实施例中所涉及术语的含义请参考前述实施例中所描述的内容。该管理装置包括:数据块位图分配模块801,用于在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;元数据分区分配模块802,用于在所述存储设备的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;在所述存储设备的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;数据块分配模块803,用于在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
可选的,第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述装置还包括:
接收模块,用于接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
可选的,第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
所述装置还包括:
接收模块,用于接收在所述第一分区删除文件的请求;
处理模块,用于根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
前述图6至图7b实施例中的文件***管理方法中的各种变化方式和具体实例同样适用于本实施例的管理装置,通过前述对文件***管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中管理装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图15所示,为本申请实施例提供的一种电子设备的结构框图,用于实现本发明图6至图7b所示的文件***管理方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该电子设备包括:处理器901、发送器902、接收器903、存储器904和输入装置905。处理器901具体可以是通用的中央处理器(CPU),可以是特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。存储器904的数量可以是一个或多个。存储器904例如为硬盘为U盘。这些存储器904、接收器903和发送器902通过总线与处理器901相连接。接收器903和发送器902用于与外部设备进行网络通信,具体可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。接收器903和发送器902可以是物理上相互独立的两个元件,也可以是物理上的同一个元件。输入装置905例如为鼠标、键盘、触摸板。
具体来说,处理器901,用于在存储器904的第一连续的地址段上为所述文件***分配一个数据块位图区;在存储器904的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;在存储器904的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;在存储器904的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
可选的,第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识。
输入装置905用于接收在第一分区创建文件的请求;所述请求中包括所述文件的大小;处理器901还用于:通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
可选的,第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识。
输入装置905用于接收在第一分区删除文件的请求;处理器901还用于:根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
前述图6至图7b实施例中的文件***管理方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对文件***管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图16所示,为本申请实施例提供的一种文件***管理装置的功能框图,用于实现本发明图8至图11所示的文件***管理方法,本实施例中所涉及术语的含义请参考前述实施例中所描述的内容。该管理装置包括:超级块分配模块1001,用于在存储设备的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;位图分配模块1002,用于在所述存储设备的第二连续的地址段上为所述文件***分配位图区;共享区分配模块1003,用于在所述存储设备的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
可选的,所述装置还包括处理模块,用于当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
可选的,所述装置还包括:
接收模块,用于接收用于创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于根据所述使用标识确定所述共享区中未被使用的数据块;根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
可选的,处理模块还用于:更新所述超级块中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
可选的,所述装置还包括:
接收模块,用于接收查询文件的请求,所述请求中包含所述文件的属性;
处理模块,用于在所述共享区中查询与所述属性对应的索引节点;根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
前述图8至图11实施例中的文件***管理方法中的各种变化方式和具体实例同样适用于本实施例的管理装置,通过前述对查找文件的方法的详细描述,本领域技术人员可以清楚的知道本实施例中管理装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,参考图17所示,为本申请实施例提供的一种电子设备的结构框图,用于实现本发明图8至图11所示的文件***管理方法,本实施例中所涉及的术语的含义请参考前述实施例中所描述的内容。该电子设备包括:处理器1201、发送器1202、接收器1203、存储器1204和输入装置1205。处理器1201具体可以是通用的中央处理器(CPU),可以是特定应用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路。存储器1204的数量可以是一个或多个。存储器1204例如为硬盘为U盘。这些存储器1204、接收器1203和发送器1202通过总线与处理器1201相连接。接收器1203和发送器1202用于与外部设备进行网络通信,具体可以通过以太网、无线接入网、无线局域网等网络与外部设备进行通信。接收器1203和发送器1202可以是物理上相互独立的两个元件,也可以是物理上的同一个元件。输入装置1205可以为鼠标、键盘或者触控板。
具体来说,处理器1201,用于在存储器1204的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;在存储器1204的第二连续的地址段上为所述文件***分配位图区;在存储器1204的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
可选的,处理器1201还用于:当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
可选的,输入装置1205用于接收用于创建文件的请求;所述请求中包括所述文件的大小;处理器1201还用于:根据所述使用标识确定所述共享区中未被使用的数据块;根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
可选的,处理器1201还用于:更新所述超级块区中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
可选的,输入装置1205用于接收查询文件的请求,所述请求中包含所述文件的属性;处理器1201还用于:在所述共享区中查询与所述属性对应的索引节点;根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
前述图8至图11实施例中的文件***管理方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对查找文件的方法的详细描述,本领域技术人员可以清楚的知道本实施例中电子设备的实施方法,所以为了说明书的简洁,在此不再详述。
申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,每个分区的数据块区共用,然后所有分区也共用同一个数据块位图。当需要在某个分区存储数据时,只要数据块位图显示数据块区有足够的剩余容量,那么就可以在数据块区存储数据。而在现有技术中,当需要在某个分区存储数据时,如果某个分区的数据块位图显示数据块区域没有足够剩余容量时,便无法存储数据。而某个分区的相邻分区还有空间,但是由于布局方式的限制,数据也无法存储到相邻分区的数据块区中。由此可见,相较于现有技术,本申请实施例的文件***管理方法使得存储空间能够被充分利用,减少了被浪费的空间。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (30)
1.一种文件***的管理方法,其特征在于,包括:
在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
在所述存储设备的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;
在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
2.如权利要求1所述的方法,其特征在于,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;
在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区之后,所述方法还包括:
接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;
根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;
根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;
当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;
当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;
将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;
将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;
在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
3.如权利要求1所述的方法,其特征在于,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区之后,所述方法还包括:
接收在所述N个分区中的分区j删除文件的请求;
根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:
根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;
将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;
将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
4.一种文件***的管理方法,其特征在于,包括:
在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
在所述存储设备的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;
在所述存储设备的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;
在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
5.如权利要求4所述的方法,其特征在于,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;
在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区之后,所述方法还包括:
接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;
根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;
根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;
当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;
当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;
将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;
将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;
在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
6.如权利要求4所述的方法,其特征在于,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区之后,所述方法还包括:
接收在所述第一分区删除文件的请求;
根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:
根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;
将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;
将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
7.一种文件***的管理方法,其特征在于,包括:
在存储设备的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;
在所述存储设备的第二连续的地址段上为所述文件***分配位图区;
在所述存储设备的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段;
在所述存储设备的第三连续的地址段上为所述文件***分配共享区之后,
接收用于创建文件的请求;所述请求中包括所述文件的大小;
根据所述使用标识确定所述共享区中未被使用的数据块;
根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;
根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;
当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;
将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;
当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
9.如权利要求7所述的方法,其特征在于,所述方法还包括:
更新所述超级块区中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
10.如权利要求7或8所述的方法,其特征在于,所述索引节点还记录文件的属性,
在所述存储设备的第三连续的地址段上为所述文件***分配共享区之后,所述方法还包括:
接收查询文件的请求,所述请求中包含所述文件的属性;
在所述共享区中查询与所述属性对应的索引节点;
根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
11.一种文件***的管理装置,其特征在于,包括:
数据块位图分配模块,用于在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
元数据分区分配模块,用于在所述存储设备的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;
数据块分配模块,用于在所述存储设备的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
12.如权利要求11所述的装置,其特征在于,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述装置还包括:
接收模块,用于接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;将所述数据块位图中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
13.如权利要求11所述的装置,其特征在于,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述装置还包括:
接收模块,用于接收在所述N个分区中的分区j删除文件的请求;
处理模块,用于根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
14.一种文件***的管理装置,其特征在于,包括:
数据块位图分配模块,用于在存储设备的第一连续的地址段上为所述文件***分配一个数据块位图区;
元数据分区分配模块,用于在所述存储设备的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;在所述存储设备的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;
数据块分配模块,用于在所述存储设备的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
15.如权利要求14所述的装置,其特征在于,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述装置还包括:
接收模块,用于接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
16.如权利要求14所述的装置,其特征在于,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,
所述装置还包括:
接收模块,用于接收在所述第一分区删除文件的请求;
处理模块,用于根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
17.一种文件***的管理装置,其特征在于,包括:
超级块分配模块,用于在存储设备的第一连续的地址段上为所述文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;
位图分配模块,用于在所述存储设备的第二连续的地址段上为所述文件***分配位图区;
共享区分配模块,用于在所述存储设备的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段;
所述装置还包括:
接收模块,用于接收用于创建文件的请求;所述请求中包括所述文件的大小;
处理模块,用于根据所述使用标识确定所述共享区中未被使用的数据块;根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
18.如权利要求17所述的装置,其特征在于,所述装置还包括处理模块,用于当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
19.如权利要求17所述的装置,其特征在于,所述处理模块还用于:更新所述超级块中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
20.如权利要求17所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收查询文件的请求,所述请求中包含所述文件的属性;
处理模块,用于在所述共享区中查询与所述属性对应的索引节点;根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
21.一种电子设备,其特征在于,包括:
存储器;
处理器,用于在所述存储器的第一连续的地址段上为文件***分配一个数据块位图区;在所述存储器的第二连续的地址段上为所述文件***分配N个分区,所述N个分区的每个分区分别用于存储所述每个分区的***元数据;N为大于1的整数;在所述存储器的第三连续的地址段上为所述文件***分配所述N个分区的共用数据块区,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;其中,所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段。
22.如权利要求21所述的电子设备,其特征在于,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块区中的文件的存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识,所述电子设备还包括输入装置,
所述输入装置用于接收在所述N个分区中的第i个分区创建文件的请求;所述请求中包括所述文件的大小;
所述处理器还用于:通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第i个分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
23.如权利要求21所述的电子设备,其特征在于,所述每个分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述电子设备还包括输入装置,
所述输入装置用于接收在所述N个分区中的分区j删除文件的请求;
所述处理器还用于:根据所述文件的属性在所述分区j的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述分区j的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
24.一种电子设备,其特征在于,包括:
存储器;
处理器,用于在所述存储器的第一连续的地址段上为文件***分配一个数据块位图区;在所述存储器的第二连续的地址段上为所述文件***分配第一分区,所述第一分区用于存储所述第一分区的***元数据;在所述存储器的第三连续的地址段上为所述文件***分配第二分区,所述第二分区用于存储所述第二分区的***元数据;在所述存储器的第四连续的地址段上,为所述文件***分配所述第一分区和所述第二分区的共用数据块区;其中,所述共用数据块区用于存储文件;所述数据块位图区用于存储第一使用标识,所述第一使用标识用于表示所述共用数据块区中的数据块是否被使用,每个所述数据块对应一个所述第一使用标识;所述第一连续的地址段、所述第二连续的地址段、所述第三连续的地址段和所述第四连续的地址段组成连续的地址段,所述第四连续的地址段位于所述第二连续的地址段和所述第三连续的地址段之间。
25.如权利要求24所述的电子设备,其特征在于,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用;每个所述索引节点对应一个所述第二使用标识;所述电子设备还包括输入装置,
所述输入装置用于接收在所述第一分区创建文件的请求;所述请求中包括所述文件的大小;
所述处理器还用于:通过所述第一使用标识确定所述共用数据块区中未被使用的数据块;根据所述未被使用的数据块的数量以及大小确定所述共用数据块区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小,确定所述剩余容量是否足够创建所述文件;当所述剩余容量足够创建所述文件时,确定所述文件将要存储在所述共用数据块区中的存储地址,并在所述第一分区的索引节点位图区查找是否有未被使用的索引节点;当有未被使用的索引节点时,选择所述未被使用的索引节点中的一个索引节点,写入所述文件的属性以及所述存储地址;将所述索引节点位图区中与所述一个索引节点对应的所述第二使用标识更改为表示所述一个索引节点已被使用的值;将所述文件存储在所述共用数据块区中与所述存储地址对应的数据块;在所述数据块位图中将与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块已被使用的值。
26.如权利要求24所述的电子设备,其特征在于,所述第一分区包括索引节点区以及索引节点位图区,所述索引节点区的索引节点用于记录存储在所述共用数据块中的文件的属性以及存储地址;所述索引节点位图区用于存储第二使用标识,所述第二使用标识用于表示所述索引节点是否被使用,每个所述索引节点对应一个所述第二使用标识,所述电子设备还包括输入装置,
所述输入装置用于接收在所述第一分区删除文件的请求;
所述处理器还用于:根据所述文件的属性在所述第一分区的索引节点区查找对应的索引节点:根据所述索引节点记录的存储地址确定所述共用数据块中与所述存储地址对应的数据块;将所述数据块位图区中与所述存储地址对应的数据块的所述第一使用标识更改为表示所述数据块未被使用的值;将所述第一分区的索引节点位图区中所述对应的索引节点的所述第二使用标识更改为表示所述对应的索引节点未被使用的值。
27.一种电子设备,其特征在于,包括:
存储器;
处理器,用于在所述存储器的第一连续的地址段上为文件***分配超级块区,所述超级块区用于记录所述文件***的***信息;所述***信息包括所述文件***的类型、大小;在所述存储器的第二连续的地址段上为所述文件***分配位图区;在所述存储器的第三连续的地址段上为所述文件***分配共享区,所述共享区用于存储文件与索引节点;所述索引节点用于记录存储在所述共享区中的文件的存储地址;所述位图区用于存储使用标识,所述使用标识用于表示所述共享区中的数据块是否被使用,每个所述数据块对应一个所述使用标识;所述第一连续的地址段、所述第二连续的地址段和所述第三连续的地址段组成连续的地址段;
所述电子设备还包括输入装置,
所述输入装置用于接收用于创建文件的请求;所述请求中包括所述文件的大小;
所述处理器还用于:根据所述使用标识确定所述共享区中未被使用的数据块;根据所述未被使用的数据块的数量及大小确定所述共享区中的剩余容量的大小;根据所述文件的大小和所述剩余容量的大小确定所述剩余容量是否足够创建所述文件以及存储所述文件对应的索引节点;当所述剩余容量足够存储所述文件以及存储所述文件对应的索引节点时,在所述未被使用的数据块上创建所述文件并将所述文件的存储地址记录在所述对应的索引节点中;将所述位图区中与所述存储地址和所述索引节点对应的数据块的使用标识更改为表示所述数据块已被使用的值。
28.如权利要求27所述的电子设备,其特征在于,所述处理器还用于:当在所述共享区为所述索引节点分配空间时,从所述共享区的第一地址端向第二地址端方向进行分配;当在所述共享区为所述文件分配空间时,从所述共享区的所述第二地址端向所述第一地址端方向进行分配。
29.如权利要求27所述的电子设备,其特征在于,所述处理器还用于:更新所述超级块区中记录的所述共享区中存储的所有所述索引节点占用的空间大小值以及所述共享区中存储的所有所述文件占用的空间大小值。
30.如权利要求27所述的电子设备,其特征在于,所述电子设备还包括输入装置,
所述输入装置用于接收查询文件的请求,所述请求中包含所述文件的属性;
所述处理器还用于:在所述共享区中查询与所述属性对应的索引节点;根据所述对应的索引节点中记录的存储地址在所述共享区中查找与所述存储地址对应的文件。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/080371 WO2016191964A1 (zh) | 2015-05-29 | 2015-05-29 | 一种文件***的管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107111549A CN107111549A (zh) | 2017-08-29 |
CN107111549B true CN107111549B (zh) | 2020-09-08 |
Family
ID=57439818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580064360.0A Active CN107111549B (zh) | 2015-05-29 | 2015-05-29 | 一种文件***的管理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107111549B (zh) |
WO (1) | WO2016191964A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134645B (zh) * | 2019-04-15 | 2023-07-11 | 深圳市战音科技有限公司 | 文件***存储管理方法、读取方法、管理装置和读取装置 |
CN114138566B (zh) * | 2022-02-07 | 2022-04-29 | 苏州浪潮智能科技有限公司 | 虚拟机的数据存储方法、装置、虚拟机及存储介质 |
CN115809027B (zh) * | 2023-01-11 | 2023-05-30 | 杭州广科安德生物科技有限公司 | 一种生物数据采集及管理***、装置及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682015A (zh) * | 2011-03-15 | 2012-09-19 | 中国科学院声学研究所 | 一种面向高清媒体的嵌入式文件存储结构及存储方法 |
CN103714013A (zh) * | 2013-12-31 | 2014-04-09 | 华为技术有限公司 | 一种文件***的存储空间的配置方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070288938A1 (en) * | 2006-06-12 | 2007-12-13 | Daniel Zilavy | Sharing data between partitions in a partitionable system |
-
2015
- 2015-05-29 WO PCT/CN2015/080371 patent/WO2016191964A1/zh active Application Filing
- 2015-05-29 CN CN201580064360.0A patent/CN107111549B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682015A (zh) * | 2011-03-15 | 2012-09-19 | 中国科学院声学研究所 | 一种面向高清媒体的嵌入式文件存储结构及存储方法 |
CN103714013A (zh) * | 2013-12-31 | 2014-04-09 | 华为技术有限公司 | 一种文件***的存储空间的配置方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107111549A (zh) | 2017-08-29 |
WO2016191964A1 (zh) | 2016-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102934094B (zh) | 用于文件***存储设备的分层分配 | |
KR101994021B1 (ko) | 파일 조작 방법 및 장치 | |
CN108628753B (zh) | 内存空间管理方法和装置 | |
CN110018998B (zh) | 一种文件管理方法、***及电子设备和存储介质 | |
US20170322961A1 (en) | Extending Cluster Allocations In An Extensible File System | |
CN106294190B (zh) | 一种存储空间管理方法及装置 | |
KR100856245B1 (ko) | 파일 시스템 장치 및 그 파일 시스템의 파일 저장 및 파일 탐색 방법 | |
CN110858162B (zh) | 内存管理方法及装置、服务器 | |
US20150169570A1 (en) | Method and device for managing data | |
CN108614837B (zh) | 文件存储和检索的方法及装置 | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN111459885B (zh) | 一种数据的处理方法、装置、计算机设备和存储介质 | |
CN107111549B (zh) | 一种文件***的管理方法及装置 | |
CN103714013A (zh) | 一种文件***的存储空间的配置方法及装置 | |
CN100399294C (zh) | 文件的有效数据管理的方法和设备 | |
CN113282799B (zh) | 节点的操作方法、装置、计算机设备和存储介质 | |
CN102253985A (zh) | 一种文件***数据的管理方法及*** | |
CN114327290A (zh) | 一种磁盘分区的结构、格式化方法和访问方法 | |
CN108804571B (zh) | 一种数据存储方法、装置以及设备 | |
CN107632944B (zh) | 一种读取数据的方法及装置 | |
CN117632953B (zh) | 数据循环存储方法、装置、服务器及存储介质 | |
CN106033454B (zh) | 虚拟文件***的格式化方法、处理方法和装置 | |
CN110018988B (zh) | 快照删除方法、处理方法、装置及*** | |
CN113609076B (zh) | 一种文件存储方法和文件读取方法 | |
CN113741787A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |