CN105468692A - 文件系统结构及其打包方法和读取方法 - Google Patents

文件系统结构及其打包方法和读取方法 Download PDF

Info

Publication number
CN105468692A
CN105468692A CN201510790793.6A CN201510790793A CN105468692A CN 105468692 A CN105468692 A CN 105468692A CN 201510790793 A CN201510790793 A CN 201510790793A CN 105468692 A CN105468692 A CN 105468692A
Authority
CN
China
Prior art keywords
file
free block
block
system structure
control block
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
CN201510790793.6A
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.)
SHENGQU INFORMATION TECHNOLOGY (SHANGHAI) Co Ltd
Original Assignee
SHENGQU INFORMATION TECHNOLOGY (SHANGHAI) 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 SHENGQU INFORMATION TECHNOLOGY (SHANGHAI) Co Ltd filed Critical SHENGQU INFORMATION TECHNOLOGY (SHANGHAI) Co Ltd
Priority to CN201510790793.6A priority Critical patent/CN105468692A/zh
Publication of CN105468692A publication Critical patent/CN105468692A/zh
Pending legal-status Critical Current

Links

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/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • 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/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based

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)
  • Storage Device Security (AREA)

Abstract

本发明所述的文件系统结构包括文件头、文件数据区、空闲块描述区域和文件控制块,文件采取连续存储的方式存储于文件数据区,删除文件时仅删除文件目录描述信息而不移动其他文件,而形成空闲块;添加文件时优先插入删除文件留下的空闲块,以能够做到尽可能利用空间。本发明还提供对应的文件打包方法和文件读取方法,基于该文件系统结构,能做好快速准确地打包和读取,减小打包后占用的空间。

Description

文件系统结构及其打包方法和读取方法
技术领域
本发明涉及文件管理领域,尤其涉及一种文件系统结构及其打包方法和读取方法。
背景技术
把一个或者多个文件用压缩软件进行压缩,压制成一个压缩文件包,包括一个解包文件和一个内容文件。文件打包既可以节省空间,又方便网络间传送。多个文件打包成可执行文件后,实现资源保护,还可加密码或序列号。将文件打包后能更好的节省硬盘空间资源,并且使收发文件更迅速快捷方便,也更利于管理。文件打包尤其利于传送大量图片、音乐素材及多个视频资料。
一个网络游戏中包含很多资源,如图像、声音、文本和其他各种类型的数据。为游戏提供一个完整和高效的资源文件打包系统可以提高游戏数据的安全性,读取数据的效率等。
发明内容
本发明提供一种文件系统结构,包括:
文件数据区,用于存储文件,在所述文件数据区具有未存储文件的空闲块;
空闲块描述区域,用于描述所述空闲块在所述文件数据区的大小和位置;
文件控制块,用于描述存储文件的相关信息;以及
文件头,用于描述文件数据区、空闲块描述区域和所述文件控制块的信息;
其中,所述文件采取连续存储的方式存储于所述文件数据区,删除文件时不移动其他文件而形成所述空闲块,添加文件时优先插入删除文件留下的所述空闲块中。
可选的,所述文件控制块包括文件路径的哈希值和偏移值。
可选的,所述文件系统结构还包括备份的文件控制块。
可选的,所述文件系统结构还包括备份的空闲块描述区域。
本发明还提供一种基于上述文件系统结构的文件打包方法,包括:
依次读取所需打包的文件,通过文件的大小计算出文件所需占用的空间;
在所述空闲块中查找不小于所需占用空间的空闲块;
计算文件路径的哈希值和偏移值,以创建此文件的文件控制块;以及
将文件写入空闲块并在所述空闲块描述区域中删除使用了的空闲块。
可选的,写入文件时,当所述文件数据区写满后,覆盖部分文件目录信息表。
可选的,当文件的写入会覆盖部分文件目录信息表时,备份所述文件目录信息表并继续写入,写入完成后制作新的文件目录信息表并备份。
可选的,若在所述空闲块中查找不小于所需占用的块数的空闲块失败,则扩展所述文件数据区。
本发明还提供一种基于上述文件系统结构的文件读取方法,包括:
读入文件头信息;
通过文件头中记录的文件控制块的偏移值读入文件控制块;
通过文件控制块中文件路径的哈希值查找文件对应的偏移值;以及
在文件数据区读取偏移值对应的数据文件。
可选的,如果文件头信息有损坏,则读入备份的文件头信息。
本发明所述的文件系统结构包括文件头、文件数据区、空闲块描述区域和文件控制块,文件采取连续存储的方式存储于文件数据区,删除文件时仅删除文件目录描述信息而不移动其他文件,而形成空闲块;添加文件时优先插入删除文件留下的空闲块,以能够做到尽可能利用空间。本发明还提供对应的文件打包方法和文件读取方法,基于该文件系统结构,能做好快速准确地打包和读取,减小打包后占用的空间。
附图说明
图1为本发明一实施例所述文件系统结构的示意图;
图2为本发明一实施例所述文件打包方法的流程图;
图3为本发明一实施例所述文件读取方法的流程图。
具体实施方式
以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
本发明提供了一种文件系统结构,如图1所示,包括:
文件数据区20,用于存储文件,在所述文件数据区20具有未存储文件的空闲块21;
空闲块描述区域30,用于描述所述空闲块21在所述文件数据区20的大小和位置;
文件控制块40,用于描述存储文件的相关信息;以及
文件头10,用于描述文件数据区20、空闲块描述区域30和所述文件控制块40的信息;
其中,所述文件采取连续存储的方式存储于所述文件数据区20,删除文件时不移动其他文件而形成所述空闲块21,添加文件时优先插入删除文件留下的所述空闲块21中。
文件控制块40是操作系统为管理文件而设置的一组具有固定格式的数据结构,存放了为管理文件所需的所有属性信息(文件属性或元数据)。在本实施例中,所述文件控制块40包括文件路径的哈希值和偏移值。通过文件路径哈希值支持高效的寻址,方便快速的添加、插入、删除和修改操作。该文件系统结构中,还包括备份的文件控制块40和空闲块描述区域30。另外,还可以包括备份的文件头10。
本发明还提供一种文件打包方法,基于上述文件系统结构,该文件打包方法如图2所示,包括:
依次读取所需打包的文件,通过文件的大小计算出文件所需占用的空间;
在所述空闲块中查找不小于所需占用空间的空闲块;
计算文件路径的哈希值和偏移值,以创建此文件的文件控制块;以及
将文件写入空闲块并在所述空闲块描述区域中删除使用了的空闲块。
在本实施例中,写入文件时,当所述文件数据区写满后,覆盖部分文件目录信息表。当文件的写入会覆盖部分文件目录信息表时,备份所述文件目录信息表并继续写入,写入完成后制作新的文件目录信息表并备份。
另外,若在所述空闲块中查找不小于所需占用的块数的空闲块失败,则扩展所述文件数据区。
综上所述,该打包方法步骤为:依次读取所需打包的文件;通过文件的大小计算出文件所占用的块数,通过需要的块数在空闲块中查找符合条件的空闲块,如果空闲的空间不够就做一下扩展,最后如果还是没有找到则返回失败;判断如果这个文件的写入会覆盖掉备份的文件目录信息表,则保存一下,要把最后正常保存到磁盘中的文件目录信息表作为备份的文件目录信息表,重写当前的文件目录信息表;计算文件路径的哈希值并创建此文件的文件目录信息并将此文件路径的哈希值与文件的偏移值加入到文件信息表中;将文件写入空闲块并在空闲块表中删除使用了的空闲块;完成所有文件的写入操作。
本发明还提供一种文件读取方法,基于上述文件系统结构。如图3所示,该文件读取方法包括:
读入文件头信息;
通过文件头中记录的文件控制块的偏移值读入文件控制块;
通过文件控制块中文件路径的哈希值查找文件对应的偏移值;以及
在文件数据区读取偏移值对应的数据文件。
其中,可以理解的是如果文件头信息有损坏,则读入备份的文件头信息。
综上所述,该文件读取方法步骤为:读入文件头信息,如果文件头信息有损坏,则读入备份的文件头信息;通过文件头中记录的文件目录信息表的偏移值读入文件目录信息表与哈希表;通过文件路径的哈希值快速查找对应的偏移值;在文件数据区读取偏移值对应的数据文件。
本发明所述的文件系统结构包括文件头、文件数据区、空闲块描述区域和文件控制块,文件采取连续存储的方式存储于文件数据区,删除文件时仅删除文件目录描述信息而不移动其他文件,而形成空闲块;添加文件时优先插入删除文件留下的空闲块,以能够做到尽可能利用空间。本发明还提供对应的文件打包方法和文件读取方法,基于该文件系统结构,能做好快速准确地打包和读取,减小打包后占用的空间。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

1.一种文件系统结构,其特征在于,包括:
文件数据区,用于存储文件,在所述文件数据区具有未存储文件的空闲块;
空闲块描述区域,用于描述所述空闲块在所述文件数据区的大小和位置;
文件控制块,用于描述存储文件的相关信息;以及
文件头,用于描述文件数据区、空闲块描述区域和所述文件控制块的信息;
其中,所述文件采取连续存储的方式存储于所述文件数据区,删除文件时不移动其他文件而形成所述空闲块,添加文件时优先插入删除文件留下的所述空闲块中。
2.如权利要求1所述的文件系统结构,其特征在于,所述文件控制块包括文件路径的哈希值和偏移值。
3.如权利要求1所述的文件系统结构,其特征在于,还包括备份的文件控制块。
4.如权利要求1所述的文件系统结构,其特征在于,还包括备份的空闲块描述区域。
5.一种基于权利要求1所述文件系统结构的文件打包方法,其特征在于,包括:
依次读取所需打包的文件,通过文件的大小计算出文件所需占用的空间;
在所述空闲块中查找不小于所需占用空间的空闲块;
计算文件路径的哈希值和偏移值,以创建此文件的文件控制块;以及
将文件写入空闲块并在所述空闲块描述区域中删除使用了的空闲块。
6.如权利要求5所述的文件打包方法,其特征在于,写入文件时,当所述文件数据区写满后,覆盖部分文件目录信息表。
7.如权利要求6所述的文件打包方法,其特征在于,当文件的写入会覆盖部分文件目录信息表时,备份所述文件目录信息表并继续写入,写入完成后制作新的文件目录信息表并备份。
8.如权利要求6所述的文件打包方法,其特征在于,若在所述空闲块中查找不小于所需占用的块数的空闲块失败,则扩展所述文件数据区。
9.一种基于权利要求1所述文件系统结构的文件读取方法,其特征在于,包括:
读入文件头信息;
通过文件头中记录的文件控制块的偏移值读入文件控制块;
通过文件控制块中文件路径的哈希值查找文件对应的偏移值;以及
在文件数据区读取偏移值对应的数据文件。
10.如权利要求9所述的文件读取方法,其特征在于,如果文件头信息有损坏,则读入备份的文件头信息。
CN201510790793.6A 2015-11-17 2015-11-17 文件系统结构及其打包方法和读取方法 Pending CN105468692A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510790793.6A CN105468692A (zh) 2015-11-17 2015-11-17 文件系统结构及其打包方法和读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510790793.6A CN105468692A (zh) 2015-11-17 2015-11-17 文件系统结构及其打包方法和读取方法

Publications (1)

Publication Number Publication Date
CN105468692A true CN105468692A (zh) 2016-04-06

Family

ID=55606393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510790793.6A Pending CN105468692A (zh) 2015-11-17 2015-11-17 文件系统结构及其打包方法和读取方法

Country Status (1)

Country Link
CN (1) CN105468692A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018133580A1 (zh) * 2017-01-23 2018-07-26 北京奇虎科技有限公司 一种保护智能终端本地文件的方法和装置
CN113282521A (zh) * 2021-05-19 2021-08-20 武汉天喻信息产业股份有限公司 一种智能卡寿命延长方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567003A (zh) * 2009-05-27 2009-10-28 清华大学 并行文件系统中资源的管理和分配方法
CN101814069A (zh) * 2009-02-20 2010-08-25 苏州市蜗牛电子有限公司 电子文件打包方法
CN102880667A (zh) * 2012-09-04 2013-01-16 北京航空航天大学 一种基于关键路径和禁忌搜索的测试任务调度方法
CN104820575A (zh) * 2015-04-27 2015-08-05 西北工业大学 实现存储系统自动精简的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101814069A (zh) * 2009-02-20 2010-08-25 苏州市蜗牛电子有限公司 电子文件打包方法
CN101567003A (zh) * 2009-05-27 2009-10-28 清华大学 并行文件系统中资源的管理和分配方法
CN102880667A (zh) * 2012-09-04 2013-01-16 北京航空航天大学 一种基于关键路径和禁忌搜索的测试任务调度方法
CN104820575A (zh) * 2015-04-27 2015-08-05 西北工业大学 实现存储系统自动精简的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FAY8048的博客: "引导块,超级快,i节点表", 《HTTPS://BLOG.CSDN.NET/CCCCDDDXXX/ARTICLE/DETAILS/6407666》 *
HANGYUANBIYESHENG的专栏: "文件空闲块管理技术", 《HTTPS://BLOG.CSDN.NET/HANGYUANBIYESHENG/ARTICLE/DETAILS/6797499》 *
王红: "Linux文件系统结构分析", 《潍坊学院学报》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018133580A1 (zh) * 2017-01-23 2018-07-26 北京奇虎科技有限公司 一种保护智能终端本地文件的方法和装置
CN113282521A (zh) * 2021-05-19 2021-08-20 武汉天喻信息产业股份有限公司 一种智能卡寿命延长方法及装置

Similar Documents

Publication Publication Date Title
US10509701B2 (en) Performing data backups using snapshots
US11263194B2 (en) File block addressing for backups
CN100578470C (zh) 基于裸设备的音视频数据存取方法和装置
CN106201771B (zh) 数据存储系统和数据读写方法
US9773059B2 (en) Tape data management
CN105302668B (zh) 一种优化对象存储系统中块设备数据访问性能的方法
US20130067237A1 (en) Providing random access to archives with block maps
CN103226965B (zh) 基于时间位图的音视频数据存取方法
CN103914522A (zh) 一种应用于云存储重复数据删除的数据块合并方法
CN104408111A (zh) 一种删除重复数据的方法及装置
CN105376277A (zh) 一种数据同步方法及装置
CN104486392A (zh) 一种低存储空间的虚拟机镜像打包方法
CN105589887A (zh) 分布式文件系统的数据处理方法及分布式文件系统
CN104090913B (zh) 基于瘦客户机的文件操作方法及装置
CN107391544A (zh) 列式存储数据的处理方法、装置、设备及计算机储存介质
CN102224489A (zh) 包括快闪转换层的快闪存储器及其中存储文件的方法
CN111506253A (zh) 一种分布式存储系统及其存储方法
CN103838645B (zh) 一种基于哈希的远程差异合成备份实现方法
CN103473258A (zh) 云存储文件系统
KR101351561B1 (ko) 빅 데이터 추출 시스템 및 방법
US8190834B2 (en) Process for contiguously streaming data from a content addressed storage system
CN105468692A (zh) 文件系统结构及其打包方法和读取方法
US8990528B2 (en) Method for fast format of a fully allocated volume when copied from a space efficient volume
EP2957088B1 (en) Serialization for delta encoding
CN105260139A (zh) 一种磁盘管理方法以及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20160406