CN110673800B - 文件系统的数据操作方法、装置、设备及可读存储介质 - Google Patents

文件系统的数据操作方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN110673800B
CN110673800B CN201910931433.1A CN201910931433A CN110673800B CN 110673800 B CN110673800 B CN 110673800B CN 201910931433 A CN201910931433 A CN 201910931433A CN 110673800 B CN110673800 B CN 110673800B
Authority
CN
China
Prior art keywords
file
data
information
position information
deleting
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
Application number
CN201910931433.1A
Other languages
English (en)
Other versions
CN110673800A (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910931433.1A priority Critical patent/CN110673800B/zh
Publication of CN110673800A publication Critical patent/CN110673800A/zh
Application granted granted Critical
Publication of CN110673800B publication Critical patent/CN110673800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种文件系统的数据操作方法、装置、设备及计算机可读存储介质。其中,方法包括预先在文件系统中创建数据存储文件和单独用于记录数据存储文件信息的元数据表;数据存储文件包括位于头部的布局信息存储块和多个彼此相邻存储待写入数据的数据块,布局信息存储块记录magic标识、版本信息、空间容量信息、数据写入的起始点位置信息和结束点位置信息。当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中;当接收到文件删除指令,通过修改起始点位置信息实现按照数据写入时间的先后顺序删除数据存储文件中的数据。本申请解决了相关技术中由于大量删除小文件形成文件碎片导致文件系统性能下降的问题。

Description

文件系统的数据操作方法、装置、设备及可读存储介质
技术领域
本发明实施例涉及文件管理系统,特别是涉及一种文件系统的数据操作方法、装置、设备及计算机可读存储介质。
背景技术
计算机操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统为计算机操作系统用于明确存储设备或分区的文件的方法和数据结构,即在存储设备如磁盘、固态硬盘等上组织文件的方法。文件系统由三部分组成:文件系统的接口、对对象操纵和管理的软件集合、对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,其负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
在一些用户业务应用场景中,如视频监控业务,往往存在大量小文件循环写入定期删除的现象,写多读少。这种频繁的小文件操作使得元数据操作频繁,文件系统带宽较低;长时间大量的写入删除操作后会造成文件系统的碎片增多,使得文件系统的性能急剧下降。
如何解决诸如上述业务在通用文件系统的不足之处,提高文件系统性能,是本领域技术人员需要解决的问题。
发明内容
本公开实施例提供了一种文件系统的数据操作方法、装置、设备及计算机可读存储介质,解决了相关技术中由于大量删除小文件形成文件碎片导致文件系统性能下降的问题,提升了文件系统性能和系统带宽。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种文件系统的数据操作方法,包括:
预先在文件系统中创建数据存储文件,创建并单独存储用于记录所述数据存储文件信息的元数据表;所述数据存储文件包括位于头部的布局信息存储块和多个彼此相邻存储待写入数据的数据块,所述布局信息存储块记录magic标识、版本信息、空间容量信息、数据写入的起始点位置信息和结束点位置信息;所述元数据表包括多个子表,各子表记录一个数据块中的文件信息;
当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中;
当接收到文件删除指令,通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述数据存储文件中的数据。
可选的,所述元数据表以数据库作为数据组织形式,每个根目录为一个数据库表;各数据库表具有唯一索引信息,且均记录相应根目录下的所有文件信息,包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息。
可选的,各数据库表的索引信息为文件名称,所述预先在文件系统中创建数据存储文件,创建并单独存储用于记录所述数据存储文件信息的元数据表之后,还包括:
当接收到数据访问请求,根据所述数据访问请求中的文件名称确定相应目标元数据所在位置;
根据所述目标元数据的数据库表中的文件位置信息、文件占用空间容量值计算得到待访问数据在所述数据存储文件中的目标位置;
根据所述目标位置从所述数据存储文件中的读取相应数据,并反馈给客户端。
可选的,所述当接收到文件删除指令,通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述数据存储文件中的数据包括:
预先在所述元数据表中创建删除信息列表,所述删除信息列表按照预设存储格式记录从预设位置处删除的文件信息;所述存储格式包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息;
当接收到文件删除指令,判断所述文件删除指令中当前待删除文件所处位置是否与所述数据存储文件的当前起始点位置信息相邻;
若是,则通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述当前待删除文件;
若否,则将所述当前待删除文件信息记录至所述删除信息列表,并删除所述当前待删除文件对应的元数据信息。
可选的,所述基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中包括:
确定所述数据存储文件当前的数据写入结束点位置信息,加写锁,根据所述待写入数据的容量占用值和各数据块的容量占用值更新所述结束点位置信息,并将元数据dirty标志位设置为第一预设值;
将所述待写入数据依次写入至相应数据块中;
当检测到数据写入成功,将所述dirty标志位修改为第二预设值,并释放写锁。
可选的,各数据块存储的文件数据均包括magic标识、flag标记和数据区。
本发明实施例另一方面提供了一种文件系统的数据操作装置,包括:
预处理模块,用于预先在文件系统中创建数据存储文件,创建并单独存储用于记录所述数据存储文件信息的元数据表;所述数据存储文件包括位于头部的布局信息存储块和多个彼此相邻存储待写入数据的数据块,所述布局信息存储块记录magic标识、版本信息、空间容量信息、数据写入的起始点位置信息和结束点位置信息;所述元数据表包括多个子表,各子表记录一个数据块中的文件信息;
数据写入模块,用于当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中;
数据删除模块,用于当接收到文件删除指令,通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述数据存储文件中的数据。
可选的,所述预处理模块还用于预先在所述元数据表中创建删除信息列表,所述删除信息列表按照预设存储格式记录从预设位置处删除的文件信息;所述存储格式包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息;相应的,所述数据删除模块包括:
删除类型判断子模块,用于当接收到文件删除指令,判断所述文件删除指令中当前待删除文件所处位置是否与所述数据存储文件的当前起始点位置信息相邻;
顺序删除子模块,用于若所述文件删除指令中当前待删除文件所处位置与所述数据存储文件的当前起始点位置信息相邻,则通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述当前待删除文件;
中间数据删除子模块,用于若所述文件删除指令中当前待删除文件所处位置与所述数据存储文件的当前起始点位置信息不相邻,则将所述当前待删除文件信息记录至所述删除信息列表,并删除所述当前待删除文件对应的元数据信息。
本发明实施例还提供了一种文件系统的数据操作设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述文件系统的数据操作方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有文件系统的数据操作程序,所述文件系统的数据操作程序被处理器执行时实现如前任一项所述文件系统的数据操作方法的步骤。
本申请提供的技术方案的优点在于,在文件系统中创建数据存储空间,以追加写入方式存储大量小文件循环写入定期删除的应用场景中的待写入数据;将元数据以表形式独立存储,一个表存储一个文件信息,按照数据写入的时间先后顺序通过移动数据写入起始点的指针实现数据删除,实际上只是删除了元数据表中的数据记录,原始数据仍然存储在数据存储空间中,不仅可解决相关技术中由于长时间大量删除小文件导致文件系统中碎片增多,进而导致文件系统性能下降的问题,而且还可降低元数据操作频率,有利于提升系统带宽。
此外,本发明实施例还针对文件系统的数据操作方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件系统的数据操作方法的流程示意图;
图2为本发明实施例提供的一种数据存储文件的数据布局示意图;
图3为本发明实施例提供的一种元数据表结构形式示意图;
图4为本发明实施例提供的文件系统的数据操作装置的一种具体实施方式结构图;
图5为本发明实施例提供的文件系统的数据操作装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先参见图1,图1为本发明实施例提供的一种文件系统的数据操作方法的流程示意图,例如可适用于大量小文件循环写入定期删除的应用场景,本发明实施例可包括以下内容:
S101:预先在文件系统中创建数据存储文件,创建并单独存储用于记录数据存储文件信息的元数据表。
本申请中,在文件系统中创建一个足够大的数据存储文件,数据存储文件的空间容量值例如可相当于文件系统的总容量值,以作为数据存储空间,该存储空间可用于存储例如大量小文件循环写入定期删除的应用场景中的这些小文件。对该存储空间,可利用预设数据布局格式进行重新组织,例如请参阅图2所示,数据存储文件包括位于头部的布局信息存储块(图2中的superblock)和多个彼此相邻存储待写入数据的数据块,布局信息存储块存储总体布局信息,例如可记录magic标识、版本信息(version)、空间容量信息(size)、数据写入的起始点位置信息(start)和结束点位置信息(end),其中,magic标识用于表示文件的完整性,是否被损坏以及是否为原始的文件;在布局信息存储块后存放文件数据,每个文件数据例如可均包括相应文件的magic标识、flag标记及数据区。
在本申请中,不同于相关技术中元数据放在文件数据的前端或后端,而是将元数据单独存放,记录文件在数据区的存储情况,元数据表可包括多个子表,各子表记录一个数据块中的文件信息。一种实施方式中,请参阅图3所示,元数据表可以数据库作为数据组织形式,每个根目录为一个数据库表;各数据库表具有唯一索引信息,且均记录相应根目录下的所有文件信息,包括文件名称(name)、文件位置信息(pos)、文件占用空间容量值(size)、文件创建时间(time)、md5值、文件属性信息(attr)和所有者信息(owner)。为了方便快速检索到元数据表,可将文件名称作为表的主键,用作主键索引。
S102:当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中。
可以理解的是,系统初始化时在文件系统中创建一个相当于文件系统总容量大小的文件,初始化文件头部的布局信息存储块,初始化数据库中元数据表信息。数据存储文件中的文件数据依次放在布局信息存储块之后,且数据存储文件中的数据写入的起始点位置信息和结束点位置信息是根据写入数据和删除数据实时更新的,在起始点位置信息和结束点位置信息中间的都是没有删除元数据记录的文件数据,且这些数据是按照时间先后顺序依次存储进去的,也就是说,基于顺序形式对数据存储文件进行数据布局,数据写入数据存储文件是以追加的形式写入的,所以每次写入数据之前,均需要确定数据存储文件当前数据写入的结束点位置信息,然后在数据存储文件中定位该结束点位置信息,然后将待写入数据写入至该结束点位置信息后,结合图2所示,若当前结束点位置信息为fileN对应的数据块的位置,那么待写入数据存储的数据块即可标有N+1的数据块,并将布局信息存储块存储的结束点位置信息更新为N+1的数据块对应的位置信息。当然,在数据存储文件写入数据之后,还需要对元数据表进行更新,新增加一个如图3所示的用于记录待写入数据的文件信息的数据库表。
S103:当接收到文件删除指令,通过修改起始点位置信息实现按照数据写入时间的先后顺序删除数据存储文件中的数据。
本发明实施例中,可通过移动起始点位置信息的指针实现数据删除,由于数据写入是以追加形式写入的,所以通过移动指针删除文件形式便可实现按照数据写入时间的先后顺序依次数据。且需要说明的是,S103步骤只是更改了数据存储文件中布局信息存储块的记录信息,也就是说,相当于删除了元数据记录,而原始的数据依然存储在数据存储文件中。本领域技术人员可设置文件删除的频率,例如每月删除一次,系统在到了文件删除时间时会自动发送文件删除指令,当然,本领域技术人员也可随时向系统发送文件删除指令,这均不影响本申请的实现。
在本发明实施例提供的技术方案中,在文件系统中创建数据存储空间,以追加写入方式存储大量小文件循环写入定期删除的应用场景中的待写入数据;将元数据以表形式独立存储,一个表存储一个文件信息,按照数据写入的时间先后顺序通过移动数据写入起始点的指针实现数据删除,实际上只是删除了元数据表中的数据记录,原始数据仍然存储在数据存储空间中,不仅可解决相关技术中由于长时间大量删除小文件导致文件系统中碎片增多,进而导致文件系统性能下降的问题,而且还可降低元数据操作频率,有利于提升系统带宽。
作为一种可选的实施方式,可以理解的是,某些应用场景中,可能会存在小概率的中间文件删除情况,所谓的中间文件就是说不是按照上述方式实施例中S103步骤中的时间顺序循环删除的文件,结合图2举例来说,在下一次删除时间到来时,删除的是file1~filem,而当前应用场景需要删除filex文件,就不能按照上述S103步骤实现。也就是说,S103中实现数据删除操作根据不同应用场景执行不同的操作,鉴于此,本申请还可包括下述内容:
预先在元数据表中创建删除信息列表,删除信息列表可按照预设存储格式记录从预设位置处删除的文件信息;存储格式包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息。删除信息列表并不记录按照上述实施例S103步骤删除的文件信息,也就是说定期循环删除的文件信息不记录在删除信息列表中。
当接收到文件删除指令,判断文件删除指令中当前待删除文件所处位置是否与数据存储文件的当前起始点位置信息相邻。由于每次删除文件均会更新布局信息存储块中的起始点位置信息,若是按照时间顺序删除文件,那么当前待删除文件的位置信息与起始点位置信息必然是相邻的,如若不相邻,作为认为删除的是中间文件,也就是非定期循环删除的文件。
若是,则通过修改起始点位置信息实现按照数据写入时间的先后顺序删除当前待删除文件。若否,则将当前待删除文件信息记录至删除信息列表,并删除当前待删除文件对应的元数据信息。删除当前待删除文件的元数据信息后,数据存储文件存储该待删除文件的数据块为空,但是,原始数据并未真正从系统中删除。
由上可知,本发明实施例通过针对不同应用场景提高不同的文件删除方式,提升了文件系统的数据操作灵活性,使其应用性更强。
可以理解的是,尽管本申请针对的是大量小文件循环写入定期删除、文件读操作少,写操作频繁的应用场景,但是,数据读取也是必然会存在的,针对本申请上述方法实施例所示的数据存储空间的存储模式,本申请还提供了数据访问的具体实现过程,可包括下述内容:
以各数据库表的索引信息为文件名称,当接收到数据访问请求,根据数据访问请求中的文件名称确定相应目标元数据所在位置;根据目标元数据的数据库表中的文件位置信息、文件占用空间容量值计算得到待访问数据在数据存储文件中的目标位置;根据目标位置从数据存储文件中的读取相应数据,并反馈给客户端。
作为另外一种可选的实施方式,为了提高数据写入的准确度,避免出现由于故障等原因导致数据写入中断而系统不自知的现象发生,S102的一种具体实现过程可为:
确定数据存储文件当前的数据写入结束点位置信息,加写锁,根据待写入数据的容量占用值和各数据块的容量占用值更新结束点位置信息,并将元数据dirty标志位设置为第一预设值;将待写入数据依次写入至相应数据块中;当检测到数据写入成功,将dirty标志位修改为第二预设值,并释放写锁。
也就是说,当写入数据时,查找内存中end的位置,加写锁,更新end位置,可将元数据的dirty标记为1,将数据写入指定位置,写入成功后,修改元数据中dirty为0,释放写锁。若监控到系统中出现元数据的dirty标记为1,则可判定在相应数据写入过程中发生故障,导致数据写入中断,有利于工作人员可及时发现故障并快速修复,提升系统的可靠性和稳定性。
本发明实施例还针对文件系统的数据操作方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的文件系统的数据操作装置进行介绍,下文描述的文件系统的数据操作装置与上文描述的文件系统的数据操作方法可相互对应参照。
参见图4,图4为本发明实施例提供的文件系统的数据操作装置在一种具体实施方式下的结构图,该装置可包括:
预处理模块401,用于预先在文件系统中创建数据存储文件,创建并单独存储用于记录数据存储文件信息的元数据表;数据存储文件包括位于头部的布局信息存储块和多个彼此相邻存储待写入数据的数据块,布局信息存储块记录magic标识、版本信息、空间容量信息、数据写入的起始点位置信息和结束点位置信息;元数据表包括多个子表,各子表记录一个数据块中的文件信息。
数据写入模块402,用于当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中。
数据删除模块403,用于当接收到文件删除指令,通过修改起始点位置信息实现按照数据写入时间的先后顺序删除数据存储文件中的数据。
可选的,在本实施例的一些实施方式中,请参阅图5,所述装置例如还可以包括数据读取模块404,所述数据读取模块404用于当接收到数据访问请求,根据数据访问请求中的文件名称确定相应目标元数据所在位置;根据目标元数据的数据库表中的文件位置信息、文件占用空间容量值计算得到待访问数据在数据存储文件中的目标位置;根据目标位置从数据存储文件中的读取相应数据,并反馈给客户端。
在本实施例的另一些实施方式中,所述数据写入模块402例如还可以包括:
写入位置确定子模块,用于确定数据存储文件当前的数据写入结束点位置信息,加写锁;
位置信息更新子模块,用于根据待写入数据的容量占用值和各数据块的容量占用值更新结束点位置信息;
元数据标志位设置子模块,用于将元数据dirty标志位设置为第一预设值;
数据写入子模块,用于将待写入数据依次写入至相应数据块中;
元数据标志位修改子模块,用于当检测到数据写入成功,将dirty标志位修改为第二预设值,并释放写锁。
在另外一些实施方式中,所述预处理模块401还可用于预先在元数据表中创建删除信息列表,删除信息列表按照预设存储格式记录从预设位置处删除的文件信息;存储格式包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息。基于此,所述数据删除模块403具体可包括:
删除类型判断子模块,用于当接收到文件删除指令,判断文件删除指令中当前待删除文件所处位置是否与数据存储文件的当前起始点位置信息相邻;
顺序删除子模块,用于若文件删除指令中当前待删除文件所处位置与数据存储文件的当前起始点位置信息相邻,则通过修改起始点位置信息实现按照数据写入时间的先后顺序删除当前待删除文件;
中间数据删除子模块,用于若文件删除指令中当前待删除文件所处位置与数据存储文件的当前起始点位置信息不相邻,则将当前待删除文件信息记录至删除信息列表,并删除当前待删除文件对应的元数据信息。
本发明实施例所述文件系统的数据操作装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了相关技术中由于大量删除小文件形成文件碎片导致文件系统性能下降的问题,提升了文件系统性能和系统带宽。
本发明实施例还提供了一种文件系统的数据操作设备,具体可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如上任意一实施例所述文件系统的数据操作方法的步骤。
本发明实施例所述文件系统的数据操作设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了相关技术中由于大量删除小文件形成文件碎片导致文件系统性能下降的问题,提升了文件系统性能和系统带宽。
本发明实施例还提供了一种计算机可读存储介质,存储有文件系统的数据操作程序,所述文件系统的数据操作程序被处理器执行时如上任意一实施例所述文件系统的数据操作方法的步骤。该存储介质可以为U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例解决了相关技术中由于大量删除小文件形成文件碎片导致文件系统性能下降的问题,提升了文件系统性能和系统带宽。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种文件系统的数据操作方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本公开进行若干改进和修饰,这些改进和修饰也落入本公开权利要求的保护范围内。

Claims (7)

1.一种文件系统的数据操作方法,其特征在于,包括:
预先在文件系统中创建数据存储文件,创建并单独存储用于记录所述数据存储文件信息的元数据表;所述数据存储文件包括位于头部的布局信息存储块和多个彼此相邻存储待写入数据的数据块,所述布局信息存储块记录magic标识、版本信息、空间容量信息、数据写入的起始点位置信息和结束点位置信息;所述元数据表包括多个子表,各子表记录一个数据块中的文件信息;
当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中;
当接收到文件删除指令,通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述数据存储文件中的数据;
其中,所述元数据表以数据库作为数据组织形式,每个根目录为一个数据库表;各数据库表具有唯一索引信息,且均记录相应根目录下的所有文件信息,包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息;
并且,各数据库表的索引信息为文件名称,所述预先在文件系统中创建数据存储文件,创建并单独存储用于记录所述数据存储文件信息的元数据表之后,还包括:当接收到数据访问请求,根据所述数据访问请求中的文件名称确定相应目标元数据所在位置;根据所述目标元数据的数据库表中的文件位置信息、文件占用空间容量值计算得到待访问数据在所述数据存储文件中的目标位置;根据所述目标位置从所述数据存储文件中的读取相应数据,并反馈给客户端;
并且,所述当接收到文件删除指令,通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述数据存储文件中的数据包括:预先在所述元数据表中创建删除信息列表,所述删除信息列表按照预设存储格式记录从预设位置处删除的文件信息;所述存储格式包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息;当接收到文件删除指令,判断所述文件删除指令中当前待删除文件所处位置是否与所述数据存储文件的当前起始点位置信息相邻;若是,则通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述当前待删除文件;若否,则将所述当前待删除文件信息记录至所述删除信息列表,并删除所述当前待删除文件对应的元数据信息。
2.根据权利要求1所述的文件系统的数据操作方法,其特征在于,所述基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中包括:
确定所述数据存储文件当前的数据写入结束点位置信息,加写锁,根据所述待写入数据的容量占用值和各数据块的容量占用值更新所述结束点位置信息,并将元数据dirty标志位设置为第一预设值;
将所述待写入数据依次写入至相应数据块中;
当检测到数据写入成功,将所述dirty标志位修改为第二预设值,并释放写锁。
3.根据权利要求1所述的文件系统的数据操作方法,其特征在于,各数据块存储的文件数据均包括magic标识、flag标记和数据区。
4.一种文件系统的数据操作装置,其特征在于,包括:
预处理模块,用于预先在文件系统中创建数据存储文件,创建并单独存储用于记录所述数据存储文件信息的元数据表;所述数据存储文件包括位于头部的布局信息存储块和多个彼此相邻存储待写入数据的数据块,所述布局信息存储块记录magic标识、版本信息、空间容量信息、数据写入的起始点位置信息和结束点位置信息;所述元数据表包括多个子表,各子表记录一个数据块中的文件信息;
数据写入模块,用于当接收到数据写入指令,基于当前结束点位置信息将待写入数据按照顺序依次写入至相应数据块中;
数据删除模块,用于当接收到文件删除指令,通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述数据存储文件中的数据;
其中,所述数据表以数据库作为数据组织形式,每个根目录为一个数据库表;各数据库表具有唯一索引信息,且均记录相应根目录下的所有文件信息,包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息;
并且,各数据库表的索引信息为文件名称,所述文件系统的数据操作装置,具体还用于当接收到数据访问请求,根据所述数据访问请求中的文件名称确定相应目标元数据所在位置;根据所述目标元数据的数据库表中的文件位置信息、文件占用空间容量值计算得到待访问数据在所述数据存储文件中的目标位置;根据所述目标位置从所述数据存储文件中的读取相应数据,并反馈给客户端。
5.根据权利要求4所述的文件系统的数据操作装置,其特征在于,所述预处理模块还用于预先在所述元数据表中创建删除信息列表,所述删除信息列表按照预设存储格式记录从预设位置处删除的文件信息;所述存储格式包括文件名称、文件位置信息、文件占用空间容量值、文件创建时间、md5值、文件属性信息和所有者信息;相应的,所述数据删除模块包括:
删除类型判断子模块,用于当接收到文件删除指令,判断所述文件删除指令中当前待删除文件所处位置是否与所述数据存储文件的当前起始点位置信息相邻;
顺序删除子模块,用于若所述文件删除指令中当前待删除文件所处位置与所述数据存储文件的当前起始点位置信息相邻,则通过修改所述起始点位置信息实现按照数据写入时间的先后顺序删除所述当前待删除文件;
中间数据删除子模块,用于若所述文件删除指令中当前待删除文件所处位置与所述数据存储文件的当前起始点位置信息不相邻,则将所述当前待删除文件信息记录至所述删除信息列表,并删除所述当前待删除文件对应的元数据信息。
6.一种文件系统的数据操作设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至3任一项所述文件系统的数据操作方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有文件系统的数据操作程序,所述文件系统的数据操作程序被处理器执行时实现如权利要求1至3任一项所述文件系统的数据操作方法的步骤。
CN201910931433.1A 2019-09-29 2019-09-29 文件系统的数据操作方法、装置、设备及可读存储介质 Active CN110673800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910931433.1A CN110673800B (zh) 2019-09-29 2019-09-29 文件系统的数据操作方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910931433.1A CN110673800B (zh) 2019-09-29 2019-09-29 文件系统的数据操作方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110673800A CN110673800A (zh) 2020-01-10
CN110673800B true CN110673800B (zh) 2022-07-22

Family

ID=69080032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910931433.1A Active CN110673800B (zh) 2019-09-29 2019-09-29 文件系统的数据操作方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110673800B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111059B (zh) * 2020-01-13 2023-04-14 杭州海康威视数字技术股份有限公司 数据存储管理的方法和装置
CN112463724B (zh) * 2020-11-05 2022-07-12 苏州浪潮智能科技有限公司 一种轻量级文件系统的数据处理方法和系统
CN113254534B (zh) * 2021-06-04 2023-04-11 四川省明厚天信息技术股份有限公司 数据同步方法、装置及计算机存储介质
CN113849130A (zh) * 2021-09-23 2021-12-28 瑞芯微电子股份有限公司 Mp4文件的写入方法、装置、介质及电子设备
CN113934691B (zh) * 2021-12-08 2022-05-17 荣耀终端有限公司 访问文件的方法、电子设备及可读存储介质
CN114281786B (zh) * 2021-12-24 2024-08-13 建信金融科技有限责任公司 文件处理方法、装置、电子设备和存储介质
CN115016728A (zh) * 2022-05-05 2022-09-06 阿里巴巴(中国)有限公司 数据处理方法以及装置
CN114968941A (zh) * 2022-05-31 2022-08-30 重庆长安汽车股份有限公司 车端文件删除方法、系统、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101903866A (zh) * 2007-11-21 2010-12-01 提琴存储器公司 非易失存储介质中的数据存储的方法和系统
CN101908073A (zh) * 2010-08-13 2010-12-08 清华大学 一种文件系统中实时删除重复数据的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2010200866B1 (en) * 2010-03-08 2010-09-23 Quantum Corporation Data reduction indexing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101903866A (zh) * 2007-11-21 2010-12-01 提琴存储器公司 非易失存储介质中的数据存储的方法和系统
CN101908073A (zh) * 2010-08-13 2010-12-08 清华大学 一种文件系统中实时删除重复数据的方法

Also Published As

Publication number Publication date
CN110673800A (zh) 2020-01-10

Similar Documents

Publication Publication Date Title
CN110673800B (zh) 文件系统的数据操作方法、装置、设备及可读存储介质
CN108319602B (zh) 数据库管理方法及数据库系统
CN111506251B (zh) 数据处理方法、装置、smr存储系统及存储介质
US7577808B1 (en) Efficient backup data retrieval
US20030076764A1 (en) File control method
US20080027902A1 (en) Method and apparatus for selecting data records from versioned data
US8504541B2 (en) File management method
US7681010B2 (en) Apparatus and method for a managing file system
KR100601610B1 (ko) 데이터 열의 임시 삭제방법, 탐색방법, 복원방법, 영구 삭제방법과 임시 삭제에 의해 분리된 데이터 열들을 복원하기 위한부가 정보를 저장하는 기록 매체
CN105095300A (zh) 一种数据库备份方法及系统
CN110597762A (zh) 文件处理方法、装置、设备及存储介质
US11250888B1 (en) Flash memory and method for storing and retrieving embedded audio video data
CN113568582B (zh) 数据管理方法、装置和存储设备
CN111651127A (zh) 一种基于叠瓦式磁记录盘的监控数据存储方法及装置
CA2825885C (en) Storage system and information processing method
CN112749144B (zh) 一种基于区块链的持久化文件存储系统及方法
CN102819570A (zh) 一种数据访问方法、装置及系统
US6907464B1 (en) Method for temporary deletion and restoration of stream object and fast permanent deletion of temporarily deleted stream object, and recording medium for storing additional information for restoration or permanent deletion of temporarily deleted stream object
CN113568868B (zh) 文件系统管理方法、系统、电子设备及介质
CN115543931A (zh) 一种基于大文件的图像管理方法
CN114185849A (zh) 文件操作方法、文件操作系统、电子设备及存储介质
US20130218851A1 (en) Storage system, data management device, method and program
CN110008188B (zh) 一种文件系统级的应用软件外存限额系统
CN110874182B (zh) 一种条带索引的处理方法、装置及设备
CN111984598A (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