CN110597762A - 文件处理方法、装置、设备及存储介质 - Google Patents
文件处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110597762A CN110597762A CN201810514972.0A CN201810514972A CN110597762A CN 110597762 A CN110597762 A CN 110597762A CN 201810514972 A CN201810514972 A CN 201810514972A CN 110597762 A CN110597762 A CN 110597762A
- Authority
- CN
- China
- Prior art keywords
- file
- index
- storage
- storage space
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
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)
Abstract
本发明公开了一种文件处理方法、装置、设备及存储介质,属于存储技术领域。本发明通过引入索引文件,记录了每个文件的存储位置,每当读取文件时,可以直接从索引文件中得到文件的存储位置,从而从存储空间中读取文件的数据,绕开了文件***内的一系列索引操作,从而极大地提高了读取数据的效率和处理文件的效率。并且,通过减少了索引操作,避免索引操作引发的瓶颈问题,提升了文件***的存储性能和稳定性。进一步地,在文件出现损坏或丢失时,从索引文件中可以获取损坏或丢失文件的存储位置,进而读取丢失或损坏文件的数据,避免了数据的损失,保证文件***的鲁棒性和稳定性。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种文件处理方法、装置、设备及存储介质。
背景技术
文件***是指管理、组织和存储大量文件的***,计算机设备在文件***中存储文件后,通过运行文件***,可以对文件***中的文件进行处理,例如可以读取文件、写入文件、删除文件等。
文件***中每个文件通过索引分区以及数据分区存储,索引分区用于存储对应文件的元数据,数据分区用于存储对应文件的数据,另外文件***中还会包括目录文件,用于记录文件名称以及索引分区编号之间的映射关系。目前,对文件***中的文件进行各种处理时,均需要执行一系列的索引操作,才能读取到文件的数据。以读取文件为例,当需要读取文件***中某个文件的数据时,需要根据文件名称查询目录文件,得到索引分区编号,再根据索引分区编号找到对应的索引分区,再从索引分区中找到数据分区的指针,再根据数据分区的指针找到数据分区,而数据分区映射着硬盘上的存储空间,从数据分区映射的存储空间中,可以读取到文件的数据。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
通过索引操作的方式读取数据的效率很低,影响处理文件的效率。
发明内容
本发明实施例提供了一种文件处理方法、装置、设备及存储介质,能够解决相关技术中读取数据效率过低的问题,所述技术方案如下:
一方面,提供了一种文件处理方法,所述方法包括:
当文件***初始化时,生成索引文件,所述索引文件用于记录所述文件***中至少一个文件的存储位置;
接收文件读取指令,所述文件读取指令用于指示读取所述文件***中的第一目标文件的数据;
根据所述索引文件,获取所述第一目标文件的存储位置,得到第一存储位置;
从所述第一存储位置对应的第一存储空间中,读取所述第一目标文件的数据。
可选地,所述生成索引文件,包括:
创建索引文件;
每当创建所述文件***中的任一文件后,在所述索引文件中记录所述文件的存储位置。
可选地,所述在所述索引文件中记录所述文件的存储位置,包括:
获取所述文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小;
在所述索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
可选地,所述根据所述索引文件,获取所述第一目标文件的存储位置,包括:
根据所述第一目标文件的文件名称,查询所述索引文件,得到所述文件名称映射的至少一个偏移地址以及对应的至少一个文件大小;
根据至少一个偏移地址以及至少一个文件大小,获取所述第一目标文件的存储位置。
可选地,所述生成索引文件之后,所述方法还包括:
接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
确定所述文件***中存储空间空闲的文件,得到第二目标文件;
根据所述索引文件,获取所述第二目标文件的存储位置,得到第二存储位置;
向所述第二存储位置对应的第二存储空间中,写入数据。
可选地,所述生成索引文件之后,所述方法还包括:
接收文件删除指令,所述文件删除指令用于指示删除所述文件***中的第三目标文件;
根据所述索引文件,获取所述第三目标文件的存储位置,得到第三存储位置;
向所述第三存储位置对应的第三存储空间中,覆盖写入数据。
可选地,所述向所述第三存储位置对应的第三存储空间中,覆盖写入数据,包括:
为所述第三存储空间添加删除标记,所述删除标记用于标记所述第三存储空间为空闲状态;
接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
确定已添加删除标记的存储空间,得到所述第三存储空间,向所述第三存储空间中覆盖写入数据。
另一方面,提供了一种文件处理装置,所述装置包括:
生成模块,用于当文件***初始化时,生成索引文件,所述索引文件用于记录所述文件***中至少一个文件的存储位置;
接收模块,用于接收文件读取指令,所述文件读取指令用于指示读取所述文件***中的第一目标文件的数据;
获取模块,用于根据所述索引文件,获取所述第一目标文件的存储位置,得到第一存储位置;
读取模块,用于从所述第一存储位置对应的第一存储空间中,读取所述第一目标文件的数据。
可选地,所述生成模块,包括:
创建子模块,用于创建索引文件;
记录子模块,用于每当创建所述文件***中的任一文件后,在所述索引文件中记录所述文件的存储位置。
可选地,所述生成模块,包括:
获取子模块,用于获取所述文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小;
记录子模块,用于在所述索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
可选地,所述获取模块,包括:
查询子模块,用于根据所述第一目标文件的文件名称,查询所述索引文件,得到所述文件名称映射的至少一个偏移地址以及对应的至少一个文件大小;
获取子模块,用于根据至少一个偏移地址以及至少一个文件大小,获取所述第一目标文件的存储位置。
可选地,所述接收模块,还用于接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
所述装置还包括:
确定模块,用于确定所述文件***中存储空间空闲的文件,得到第二目标文件;
所述获取模块,还用于根据所述索引文件,获取所述第二目标文件的存储位置,得到第二存储位置;
写入模块,用于向所述第二存储位置对应的第二存储空间中,写入数据。
可选地,所述接收模块,还用于接收文件删除指令,所述文件删除指令用于指示删除所述文件***中的第三目标文件;
所述获取模块,还用于根据所述索引文件,获取所述第三目标文件的存储位置,得到第三存储位置;
所述装置还包括:
写入模块,用于向所述第三存储位置对应的第三存储空间中,覆盖写入数据。
可选地,所述写入模块,包括:
添加子模块,用于为所述第三存储空间添加删除标记,所述删除标记用于标记所述第三存储空间为空闲状态;
接收子模块,用于接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
写入子模块,用于确定已添加删除标记的存储空间,得到所述第三存储空间,向所述第三存储空间中覆盖写入数据。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现上述文件处理方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现上述文件处理方法所执行的操作。
本发明实施例提供的技术方案带来的有益效果至少包括:
本发明实施例提供的方法、装置、设备及存储介质,通过引入索引文件,记录了每个文件的存储位置,每当读取文件时,可以直接从索引文件中得到文件的存储位置,从而从存储空间中读取文件的数据,绕开了文件***内的一系列索引操作,从而极大地提高了读取数据的效率和处理文件的效率。并且,通过减少了索引操作,避免索引操作引发的瓶颈问题,提升了文件***的存储性能和稳定性。进一步地,在文件出现损坏或丢失时,从索引文件中可以获取损坏或丢失文件的存储位置,进而读取丢失或损坏文件的数据,避免了数据的损失,保证文件***的鲁棒性和稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种文件处理方法的流程图;
图2是本发明实施例提供的一种文件处理方法的流程图;
图3是本发明实施例提供的一种索引文件的存储结构示意图;
图4是本发明实施例提供的一种文件处理方法的流程图;
图5是本发明实施例提供的一种文件处理方法的流程图;
图6是本发明实施例提供的一种文件处理方法的流程图;
图7是本发明实施例提供的一种计算机设备的功能架构图;
图8是本发明实施例提供的一种文件***的逻辑架构图;
图9是本发明实施例提供的一种文件***的逻辑架构图;
图10是本发明实施例提供的一种文件处理装置的结构示意图;
图11是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的一种文件处理方法的流程图,参见图1,该方法包括:
101、当文件***初始化时,生成索引文件,该索引文件用于记录该文件***中至少一个文件的存储位置。
102、接收文件读取指令,该文件读取指令用于指示读取该文件***中的第一目标文件的数据。
103、根据该索引文件,获取该第一目标文件的存储位置,得到第一存储位置。
104、从该第一存储位置对应的第一存储空间中,读取该第一目标文件的数据。
本实施例提供的方法,通过引入索引文件,记录了每个文件的存储位置,每当读取文件时,可以直接从索引文件中得到文件的存储位置,从而从存储空间中读取文件的数据,绕开了文件***内的一系列索引操作,从而极大地提高了读取数据的效率和处理文件的效率。并且,通过减少了索引操作,避免索引操作引发的瓶颈问题,提升了文件***的存储性能和稳定性。进一步地,在文件出现损坏或丢失时,从索引文件中可以获取损坏或丢失文件的存储位置,进而读取丢失或损坏文件的数据,避免了数据的损失,保证文件***的鲁棒性和稳定性。
可选地,该生成索引文件,包括:
创建索引文件;
每当创建该文件***中的任一文件后,在该索引文件中记录该文件的存储位置。
可选地,该在该索引文件中记录该文件的存储位置,包括:
获取该文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小;
在该索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
可选地,该根据该索引文件,获取该第一目标文件的存储位置,包括:
根据该第一目标文件的文件名称,查询该索引文件,得到该文件名称映射的至少一个偏移地址以及对应的至少一个文件大小;
根据至少一个偏移地址以及至少一个文件大小,获取该第一目标文件的存储位置。
可选地,该生成索引文件之后,该方法还包括:
接收文件写入指令,该文件写入指令用于指示向该文件***中存储空间空闲的文件写入数据;
确定该文件***中存储空间空闲的文件,得到第二目标文件;
根据该索引文件,获取该第二目标文件的存储位置,得到第二存储位置;
向该第二存储位置对应的第二存储空间中,写入数据。
可选地,该生成索引文件之后,该方法还包括:
接收文件删除指令,该文件删除指令用于指示删除该文件***中的第三目标文件;
根据该索引文件,获取该第三目标文件的存储位置,得到第三存储位置;
向该第三存储位置对应的第三存储空间中,覆盖写入数据。
可选地,该向该第三存储位置对应的第三存储空间中,覆盖写入数据,包括:
为该第三存储空间添加删除标记,该删除标记用于标记该第三存储空间为空闲状态;
接收文件写入指令,该文件写入指令用于指示向该文件***中存储空间空闲的文件写入数据;
确定已添加删除标记的存储空间,得到该第三存储空间,向该第三存储空间中覆盖写入数据。
图2是本发明实施例提供的一种文件处理方法的流程图,该方法的执行主体为计算机设备,参见图2,该方法包括:
201、当文件***初始化时,计算机设备生成索引文件,索引文件用于记录文件***中至少一个文件的存储位置。
文件***是指管理、组织和存储大量文件的***,是计算机设备的操作***用于存储和布局存储器上的文件的***架构。文件***包括而不限于文件配置表(FileAllocation Table,以下简称FAT)32***、新技术文件***(New Technology FileSystem,以下简称NTFS)、延伸文件***(Extended file system,以下简称EXT)3、EXT4***、XFS文件***、扩展文件分配表***(Extended File Allocation Table File System,以下简称exFAT)、弹性文件***(Resilient File System,以下简称ReFS)、分布式文件***等。示例性地,该分布式文件***可以包括网络附属存储(Network Attached Storage,以下简称NAS)等。文件***可以为标准文件***,即符合可移植操作***接口(PortableOperating System Interface of UNIX,以下简称POSIX)标准的文件***。
计算机设备可以为任一种具有处理能力的电子设备,包括而不限于存储服务器、个人电脑、网络存储器、移动终端等。
文件***初始化即为基于搭载的存储器,创建一个包含若干文件的文件***的过程。本实施例中,计算机设备可以通过创建至少一个文件,组成一个文件***,从而完成文件***的初始化。可选地,计算机设备可以先建立一个标准文件***,该标准文件***会在存储器上占据一片存储空间。在该标准文件***的基础上,计算机设备可以创建该标准文件***中的一个或多个文件,将该标准文件***的一个或多个文件,组成本实施例提供的文件***,从而完成本实施例提供的文件***的初始化,则本实施例提供的文件***能够占据标准文件***的存储空间。
其中,在初始化文件***的过程中,计算机设备会生成索引文件,通过索引文件记录每个文件的存储位置,从而得到记录了文件***中各个文件的存储位置的索引文件,以便后续根据该索引文件,找到文件***中任一文件的存储位置。
可选地,索引文件记录的文件的存储位置可以为存储文件的物理位置,该物理位置能够直接定位到存储器上对应的存储空间,而无需经过标准文件***的索引逻辑而读取数据。
其中,存储器可以为任一种具有数据存储功能的设备或电子元件,包括而不限于磁盘(DISK)、固态硬盘(Solid State Drives,以下简称SSD)、磁盘阵列(Redundant Arraysof Independent Disks,以下简称RAID)、存储区域网络(Storage Area Network,以下简称SAN)网络互连协议(Internet Protocol,以下简称IP)SAN、光纤通道(Fiber Channel,以下简称FC)SAN、网络附属存储(Network Attached Storage,以下简称NAS)等。
可选地,若文件***以数据块(block)作为操作的基本单位,存储器可以为文件***中的块设备,即数据块所在的设备。
关于索引文件记录存储位置的方式,在一种可能的实现中,索引文件中可以包括偏移地址(Offset Address)和文件大小,能够通过偏移地址和文件大小,指示对应文件的存储位置。
其中,偏移地址和文件大小用于确定文件的存储位置,例如偏移地址和文件大小的和值为存储位置。偏移地址用于指示文件相对于整个文件***的偏移量,偏移地址可以为物理偏移地址,即文件在存储器上占据的存储空间的偏移地址,从而能够直接在存储器上,对该偏移地址对应的存储空间进行读操作。偏移地址能够确定文件的起始存储位置,该偏移地址可以称为绝对物理偏移、实际地址、绝对地址。文件大小用于指示文件占用的存储空间的大小,能够确定文件的存储位置的范围大小。
需要说明的是,针对文件***中的任一文件,索引文件中可以具有对应的至少一个偏移地址以及至少一个文件大小。具体来说,计算机设备可以通过一个连续的存储空间存储文件,也可以通过多个分开的存储空间中存储文件,该多个存储空间中每个存储空间存储文件的一部分。对于文件***中的任一文件来说,当该文件在存储器中占用的存储空间为一个连续的存储空间时,则索引文件会包括一个偏移地址以及一个文件大小,通过这一个偏移地址以及一个文件大小,即可确定文件的存储位置。当该文件在存储器中占用的存储空间为多个分开的存储空间时,则索引文件会包括多个偏移地址和多个文件大小,每个偏移地址以及对应的一个文件大小能够确定一个分开的存储空间,多个偏移地址和多个文件大小能够确定所有分开的存储空间。
结合索引文件记录存储位置的方式,关于索引文件的具体内容,在一种可能的实现中,索引文件可以包括文件名称、偏移地址以及文件大小之间的映射关系,该索引文件中每个文件名称映射着至少一个偏移地址和至少一个文件大小,根据任一文件名称,即可从索引文件中得到映射的偏移地址和文件大小。
可选地,关于索引文件的存储结构,索引文件中可以采用列式存储结构,包括用于存储文件名称的列、用于存储偏移地址的列以及用于存储文件大小的列,例如第一列用于存储文件***中至少一个文件的文件名称,第二列用于存储文件***中至少一个文件的偏移地址,第三列用于存储文件***中至少一个文件的文件大小,第四列至最后一列的排列规律与第二列至第三列同理。
示例性地,索引文件的存储结构可以如图3所示,图3中,第一列存储文件***中各个文件的文件名称,例如File_0、File_1等,File_0文件存储在一个连续的存储空间,偏移地址为offset_00,文件大小为offset_size_00。File_1文件的存储空间不连续,为分开的两部分,一部分存储空间的偏移地址为offset_10,文件大小为offset_size_10,另一部分存储空间的偏移地址为offset_11,文件大小为offset_size_11。File_2文件的存储空间不连续,为分开的m部分,每个部分的偏移地址和文件大小分别为(offset_20,offset_size_20)、……、(offset_2m,offset_size_2m)。
关于初始化文件***并生成索引文件的具体实现方式,在一种可能的实现方式中,可以通过以下步骤(1)至步骤(3)实现:
(1)获取文件***的初始化参数。
该初始化参数用于初始化文件***,可以包括文件的数量、文件***的总大小等。该初始化参数可以根据用户的配置操作确定。
(2)创建索引文件。
可以创建一个空白的文件,作为待写入的索引文件,以便后续将文件的存储位置写入到该索引文件中。其中,创建的索引文件在实际程序中可以记录为File_index文件。
(3)每当创建文件***中的任一文件后,计算机设备在索引文件中记录文件的存储位置。
计算机设备可以依次创建文件***中的每个文件,每当创建任一文件后,计算机设备可以获取该文件的存储地址,在索引文件中记录文件的存储位置。那么,当创建了所有文件并记录所有文件的存储位置后,即完成了对文件***的初始化。
以通过偏移地址和文件大小确定存储地址为例,在索引文件中记录文件的存储位置的具体过程,可以包括以下步骤(3.1)至步骤(3.2):
(3.1)获取文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小。
具体来说,当创建文件后,计算机设备可以获取该文件的元数据,分析文件的元数据,得到文件的文件名称、至少一个偏移地址和至少一个文件大小。例如,当创建File_0后,可以得到文件名称File_0,偏移地址offset_00,文件大小offset_size_00。
(3.2)在索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
可以向索引文件写入文件名称、偏移地址和文件大小,例如在索引文件中的同一行的不同字段中,分别写入文件名称、偏移地址和文件大小,则执行写入操作后,索引文件即记录了文件名称、偏移地址和文件大小。
需要说明的第一点是,在初始化文件***的过程中,计算机设备可以按照一定的顺序,依次创建每个文件,并依次向索引文件中记录每个文件的存储位置。具体来说,计算机设备可以先创建启动块文件,向启动块文件写入启动块的初始化信息,将启动块文件的存储位置记录到索引文件,再依次创建对象块文件,每当创建一个对象块文件后,获取对象块中信息块的初始化信息,将信息块的初始化信息写入到对象块文件,再将对象块文件的存储位置记录到索引文件,再创建下一个对象块文件,直至文件***中的每个文件均已创建完成。
需要说明的第二点是,在初始化文件***的过程中,可以连续创建文件***中的每个文件,例如创建File_0、File_1、File_2……File_n。由于每创建一个文件,计算机设备就会为该文件分配存储空间,通过连续地创建每个文件,则不同文件的存储空间会是连续的,保证了文件***中文件分布的连续性,文件***能够在存储器上占用连续的存储空间,提高存储效率。
示例性地,请参见图4,图4为本发明实施例提供的一种文件***的初始化流程图,计算机设备可以通过依次执行图4中的每个步骤,实现文件***的初始化以及索引文件的生成。
综上所述,通过执行本步骤201,计算机设备对文件***进行了初始化,通过已创建的文件***,计算机设备可以对文件***中的文件进行文件读取、文件写入、文件删除等各种操作。以下,通过步骤202至步骤204,对文件读取的过程进行详细描述,通过步骤205至步骤208,对文件写入的过程进行详细描述,通过步骤209至步骤211,对文件删除的过程进行详细描述。
为了区分描述,本实施例以文件读取过程中操作的文件称为第一目标文件,以文件写入过程中操作的文件称为第二目标文件,以文件删除过程中操作的文件称为第三目标文件为例进行描述。需要说明的是,术语“第一目标文件”、“第二目标文件”、“第三目标文件”仅是用来区分不同的文件,而不能理解为指示或暗示文件之间的顺序关系、文件的数据量以及文件之间的相对重要性。
相应地,以第一目标文件的存储位置称为第一存储位置,以第二目标文件的存储位置称为第二存储位置,以第三目标文件的存储位置称为第三存储位置为例进行描述。需要说明的是,术语“第一存储位置”、“第二存储位置”、“第三存储位置”仅是用来区分不同文件的存储位置,而不能理解为指示或暗示存储位置的物理分布、存储位置的长度、不同存储位置之间的前后顺序以及不同存储位置之间的相对重要性。
相应地,以存储器上第一存储位置对应的存储空间称为第一存储空间,以第二存储位置对应的存储空间称为第二存储空间,以第三存储位置对应的存储空间称为第三存储空间为例进行描述。需要说明的是,术语“第一存储空间”、“第二存储空间”、“第三存储空间”仅是用来区分存储器上存储不同文件的空间,而不能理解为指示或暗示存储空间的物理分布、不同存储空间之间的空间顺序以及不同存储空间之间的相对重要性。
202、计算机设备接收文件读取指令。
文件读取指令用于指示读取文件***中的第一目标文件的数据,可以由用户对计算机设备的输入操作触发,文件读取指令可以携带第一目标文件的名称,可以通过携带该第一目标文件的名称以指示第一目标文件。当计算机设备接收到文件读取指令时,表明用户具有读取文件的需求,则计算机设备会执行后续步骤203。
203、计算机设备根据索引文件,获取第一目标文件的存储位置,得到第一存储位置。
由于计算机设备在文件***初始化时,通过索引文件记录了每个文件的存储位置,则本步骤203中,计算机设备可以根据索引文件,得到第一目标文件的存储位置,即第一存储位置。在一种可能的实现中,获取第一存储位置的具体过程可以包括以下步骤一至步骤二:
步骤一、计算机设备根据第一目标文件的文件名称,查询索引文件,得到文件名称映射的至少一个偏移地址以及对应的至少一个文件大小。
关于获取文件名称的过程,计算机设备可以解析文件读取指令,得到文件读取指令携带的文件名称。
关于查询索引文件的过程,计算机设备可以将文件名称作为索引,查询索引文件,获取索引文件中该文件名称映射的偏移地址以及文件大小,得到至少一个偏移地址以及至少一个文件大小。示例性地,请参见图3,若文件名称为File_0,可以根据File_0查询索引文件,从索引文件中得到偏移地址offset_00,文件大小offset_size_00,若文件名称为File_1,可以根据File_1查询索引文件,从索引文件中得到偏移地址offset_10,文件大小offset_size_10、偏移地址offset_11以及文件大小offset_size_11。
步骤二、计算机设备根据至少一个偏移地址以及至少一个文件大小,获取第一目标文件的存储位置,得到第一存储位置。
若从索引文件中得到一个偏移地址和一个文件大小,可以根据这一个偏移地址和这一个文件大小,得到第一存储位置,例如可以将这一个偏移地址作为起始存储位置,计算偏移地址与文件大小的和值,将该和值作为结束存储位置,将起始存储位置和结束存储位置之间的每个位置作为第一存储位置。
若从索引文件中得到多个偏移地址以及多个文件大小,对于多个偏移地址中的每个偏移地址,可以确定该偏移地址对应的文件大小,根据该偏移地址以及对应的文件大小,确定第一存储空间的部分存储位置,进而确定第一存储空间的所有存储位置,作为第一存储位置。
204、计算机设备从第一存储位置对应的第一存储空间中,读取第一目标文件的数据。
计算机设备得到第一存储位置后,可以根据第一存储位置,在存储器上进行寻址,即在存储器上寻找第一存储位置对应的存储空间,从而确定存储器上的第一存储空间,从第一存储空间中读取数据,即得到了第一目标文件的数据。
可选地,计算机设备读取了第一目标文件的数据后,可以输出第一目标文件的数据,例如显示第一目标文件的数据,从而将数据返回给用户。
通过上述读取文件的方式,至少可以达到以下两大技术效果:
第一,目前的标准文件***存在如下异常情况:标准文件***对于关键数据(如索引分区)没有进行备份,无法避免索引损坏引起的文件丢失。以NTFS为例,用户向某一个文件写入数据时,如果突然断电,容易造成该文件的元数据不一致,则NTFS修复时最终会删掉该文件,造成文件丢失。
尤其是,应用于存储流式数据的场景中,考虑到流式数据存在数据量较大、写多读少、覆盖频率快等特点,流式数据通常并不需要过多关注文件的数据完整性,而应尽可能恢复已写入文件中的数据,避免数据丢失。
而本实施例中,引入了索引文件,在文件***初始化时,就预先在索引文件中记录了所有已创建的文件的存储位置,当文件丢失或损坏时,从索引文件中,可以得到文件的存储位置,从而从该存储位置对应的存储空间中,读取丢失文件或损坏文件的数据,那么,也就能保证断电或其他异常情况产生时,文件***不会损失数据,增强文件***的鲁棒性、稳定性。
也即是,上文中的文件读取指令,可以在文件损失或文件丢失的场景中触发,则上述步骤202,可以为:当文件损失时,计算机设备接收文件读取指令,该文件读取指令用于指示读取文件***中损失的第一目标文件的数据。或者,上述步骤202,可以为:当文件丢失时,计算机设备可以接收文件读取指令,该文件读取指令用于指示读取文件***中丢失的第一目标文件的数据。相应的,第一目标文件可以为损失文件或丢失文件,计算机设备通过执行步骤203至步骤204,即可读取到损失文件或丢失文件的数据。
通过上述描述,可以看出,本实施例提供的文件***作为一种能够避免文件丢失、文件损坏等异常情况下引起数据损失的文件***,可以提供为一流式文件***,该流式文件***,可以存储视频数据流、音频数据流等大量流媒体数据,例如可以应用在安防行业中,存储监控摄像的视频数据流。在异常情况下,本实施例提供的文件***可以通过索引文件找回原先存储的数据,从而实现数据恢复的功能。
第二,目前的标准文件***均通过索引操作读取文件,读取效率低下,并不能满足读取大量数据的使用场景。以NTFS为例,大压力下读取文件容易造成文件***的索引分区产生瓶颈问题,另外,频繁的小文件操作也会导致索引分区产生瓶颈问题。
而本实施例中,绕过了标准文件***的索引操作,即,不调用文件***的接口,而是直接从索引文件中得到了文件的存储位置,在存储器上对该存储位置进行读操作,也就减少了读操作引起的索引操作,减缓索引操作瓶颈,提升存储性能,同时极大地提高了读取文件的速度和效率。
示例性地,请参见图5,图5为本发明实施例提供的一种文件***的读文件流程图,计算机设备可以通过依次执行图5中的每个步骤,实现对文件***中的文件进行读取。
上述步骤202至步骤204阐述了文件***中读文件的流程,以下通过步骤205至步骤208阐述了文件***中写文件的流程。
205、计算机设备接收文件写入指令。
文件写入指令用于指示向文件***中存储空间空闲的文件写入数据,可以由用户对计算机设备的输入操作触发,文件写入指令可以携带待写入的数据,例如,应用在存储流式数据的场景中,可以携带待写入的视频流。当计算机设备接收到文件写入指令时,表明用户具有写入文件的需求,则计算机设备会执行后续步骤。
206、计算机设备确定文件***中存储空间空闲的文件,得到第二目标文件。
计算机设备可以确定文件***中每个文件的存储空间的占用情况,可以根据每个文件的存储空间的占用情况,从文件***的多个文件中,选择存储空间空闲的文件,将该存储空间空闲的文件作为第二目标文件。
以文件***采用块式存储架构,文件的存储空间为数据块为例,计算机设备可以确定文件***映射的所有数据块,确定当前空闲的数据块,获取该当前空闲的数据块对应的文件名称,将该文件名称对应的文件作为第二目标文件。
207、计算机设备根据索引文件,获取第二目标文件的存储位置,得到第二存储位置。
获取第二存储位置的过程与上述步骤203中获取第一存储位置的过程同理,在此不做赘述。
208、计算机设备向第二存储位置对应的第二存储空间中,写入数据。
在一种可能的实现中,计算机设备可以调用文件***提供的接口,向第二存储空间写入数据,从而避免文件***的写保护下,直接写数据造成文件***中缓存的数据与存储器中存储的数据不一致的情况,也就避免了由于数据的不一致导致文件***最终删掉文件的情况。
可选地,每个文件的存储空间可以划分为信息块和数据区,数据区用于存储文件的数据,信息块用于存储数据的关键信息,例如存储视频数据的关键帧,则在这种布局下,计算机设备可以向第二存储空间的数据区写入数据,再修改信息块的关键信息,将新写入的数据的关键信息写入到信息块。
通过上述写入文件的方式,至少可以达到以下技术效果:
目前的标准文件***均通过一系列的索引操作,确定文件的存储位置,写入文件的效率低下,并不能满足写入大量数据的使用场景。以NTFS为例,大压力下写入文件容易造成文件***的索引分区产生瓶颈问题,另外,频繁的小文件操作也会导致索引分区产生瓶颈问题。
而本实施例中,绕过了标准文件***的索引操作,即,不调用文件***的接口,而是直接从索引文件中得到了文件的存储位置,减少了读操作引起的索引操作,减缓索引操作瓶颈,提升存储性能,同时极大地提高了读取文件的速度和效率。
示例性地,请参见图6,图6为本发明实施例提供的一种文件***的中写文件的流程图,计算机设备可以通过依次执行图6中的每个步骤,实现向文件***中的文件进行写入的功能。
上述步骤205至步骤208阐述了文件***中写文件的流程,以下通过步骤209至步骤211阐述了文件***中删除文件的流程。
209、计算机设备接收文件删除指令。
文件删除指令用于指示删除文件***中的第三目标文件,可以由用户对计算机设备的输入操作触发,文件删除指令可以携带第三目标文件的名称,可以通过携带该第三目标文件的名称以指示第三目标文件。当计算机设备接收到文件读取指令时,表明用户具有删除文件的需求,则计算机设备会执行后续步骤210。
210、计算机设备根据索引文件,获取第三目标文件的存储位置,得到第三存储位置。
获取第三存储位置的过程与上述步骤203中获取第一存储位置的过程同理,在此不做赘述。
211、计算机设备向第三存储位置对应的第三存储空间中,覆盖写入数据。
本实施例提供的文件***中,当要删除任一文件时,会向该待删除的文件对应的存储空间中,覆盖写入数据,即在待删除的文件的基础上覆盖写,则新写入的数据会覆盖待删除的文件的数据,一方面,可以达到删除文件的效果,另一方面,能够避免文件碎片的产生,提升文件***的性能。
关于在第三存储空间中覆盖写入数据的过程,计算机设备可以将第三目标文件作为存储空间空闲的文件,之后与上述步骤205至步骤208同理,可以在接收到文件写入指令后,确定存储空间空闲的文件,得到第三目标文件,根据索引文件,获取第三目标文件的存储位置,得到第三存储位置,向第三存储位置对应的第三存储空间中,写入数据。
可选地,计算机设备可以为待删除的文件的存储空间添加删除标记,该删除标记用于标记存储空间为空闲状态,可以采用数字、字母或其他数据结构表示,通过删除标记,可以标记该存储空间已经空闲,可供覆盖写,以便后续根据该删除标记,找到该存储空间,通过覆盖写的方式,重复使用该存储空间。
具体来说,结合删除标记,覆盖写入数据的过程可以包括以下步骤(1)至步骤(3):
(1)为第三存储空间添加删除标记,删除标记用于标记第三存储空间为空闲状态。
在一种可能的实现中,可以在第三存储空间中写入删除标记,例如在第三存储空间的起始位置写入删除标记。可选地,计算机设备可以确定第三存储空间的信息块,修改信息块的关键信息,向关键信息写入删除标记,从而达到打上删除标记的效果。
(2)接收文件写入指令,文件写入指令用于指示向文件***中存储空间空闲的文件写入数据。
本步骤与上述步骤205同理,在此不做赘述。
(3)确定已添加删除标记的存储空间,得到第三存储空间,向第三存储空间中覆盖写入数据。
关于确定第三存储空间的过程,计算机设备可以从文件***占用的所有存储空间中,选取已添加删除标记的存储空间,得到第三存储空间,例如,可以判断每个文件的存储空间是否已经添加删除标记,若文件的存储空间已经添加删除标记,则选取该存储空间,得到第三存储空间。
通过上述删除文件的方式,至少可以达到以下两大技术效果:
第一,目前的标准文件***中,当删除文件时,就会从文件***中删除文件,并释放存储器中该文件占用的内存空间,随着文件删除操作的频繁执行,存储器会产生分散的空闲的内存空间,形成大量的内存碎片,最终引发内存泄露,甚至引发文件***崩溃,影响文件***的性能。
而本实施例中,文件***中每个文件在初始化时统一创建,文件大小与存储位置固定,文件***的布局始终为初始化时的完整布局。后续每当删除文件时,通过以覆盖写的方式删除文件,可以保证待删除的文件的存储空间不会由于被释放而成为内存碎片,而是会被后续新写入的数据覆盖,从而重复利用了该文件的存储空间,避免了内存碎片的产生。
第二,目前的标准文件***在删除文件时,均通过索引操作读取待删除的文件的存储位置,读取效率低下。
而本实施例中,绕过了标准文件***的索引操作,即,不调用文件***的接口,而是直接从索引文件中得到了文件的存储位置,从而在存储器上向对应的存储空间中覆盖写入数据,减少了读操作引起的索引操作,减缓索引操作瓶颈,提升了存储性能。
示例性地,请参见图6,图6为本发明实施例提供的一种文件***中删除文件的流程图,计算机设备可以通过依次执行图6中的每个步骤,实现对文件***中的文件进行删除的功能。
本实施例提供的方法,通过引入索引文件,记录了每个文件的存储位置,每当读取文件时,可以直接从索引文件中得到文件的存储位置,从而从存储空间中读取文件的数据,绕开了文件***内的一系列索引操作,从而极大地提高了读取数据的效率和处理文件的效率。并且,通过减少了索引操作,避免索引操作引发的瓶颈问题,提升了文件***的存储性能和稳定性。进一步地,在文件出现损坏或丢失时,从索引文件中可以获取损坏或丢失文件的存储位置,进而读取丢失或损坏文件的数据,避免了数据的损失,保证文件***的鲁棒性和稳定性。
以下,对上述实施例中计算机设备的功能架构以及文件***的逻辑布局进行描述:
第一,上述实施例中的计算机设备的功能架构可以如图8所示,该计算机设备可以同时接入多种存储设备,如DISK,SSD,RAID,IP SAN,FC SAN,NAS等,计算机设备使用存储空间通常有两种方式,其一为创建标准文件***使用,其二为在裸设备上创建私有文件***读写设备。其中,上述方法实施例可以提供为基于标准文件***的流式存储形式。
第二,请参见图8,本实施例提供的文件***可以作为流式文件***,即适用于存储流数据的文件***,该流式文件***逻辑布局由启动块、对象块组成,启动块以及对象块均为文件***中的逻辑块。启动块包括主启动块、备启动块,启动块用于存储流式文件***的特征信息,包括文件***大小、块大小、信息块大小等,主备启动块互为备份。对象块由主信息块、数据区、备信息块组成,信息块记录数据区数据的关键信息,例如流式数据关键帧信息等,主备信息块互为备份。
第三,请参见图9,图9为本发明实施例提供的一种文件***的布局示意图,如图9所示,启动块、对象块均唯一映射标准文件***中的一个文件,文件大小与块大小一致。文件在初始化时统一创建,大小与存储位置固定,循环覆盖时无需删除文件,仅需在原始的文件上进行覆盖写即可。
图10是本发明实施例提供的一种文件处理装置的结构示意图,参见图10,该装置包括:生成模块1001、接收模块1002、获取模块1003、读取模块1004。
生成模块1001,用于当文件***初始化时,生成索引文件,该索引文件用于记录该文件***中至少一个文件的存储位置;
接收模块1002,用于接收文件读取指令,该文件读取指令用于指示读取该文件***中的第一目标文件的数据;
获取模块1003,用于根据该索引文件,获取该第一目标文件的存储位置,得到第一存储位置;
读取模块1004,用于从该第一存储位置对应的第一存储空间中,读取该第一目标文件的数据。
本实施例提供的装置,通过引入索引文件,记录了每个文件的存储位置,每当读取文件时,可以直接从索引文件中得到文件的存储位置,从而从存储空间中读取文件的数据,绕开了文件***内的一系列索引操作,从而极大地提高了读取数据的效率和处理文件的效率。并且,通过减少了索引操作,避免索引操作引发的瓶颈问题,提升了文件***的存储性能和稳定性。进一步地,在文件出现损坏或丢失时,从索引文件中可以获取损坏或丢失文件的存储位置,进而读取丢失或损坏文件的数据,避免了数据的损失,保证文件***的鲁棒性和稳定性。
可选地,该生成模块1001,包括:
创建子模块,用于创建索引文件;
记录子模块,用于每当创建该文件***中的任一文件后,在该索引文件中记录该文件的存储位置。
可选地,该生成模块1001,包括:
获取子模块,用于获取该文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小;
记录子模块,用于在该索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
可选地,该获取模块1003,包括:
查询子模块,用于根据该第一目标文件的文件名称,查询该索引文件,得到该文件名称映射的至少一个偏移地址以及对应的至少一个文件大小;
获取子模块,用于根据至少一个偏移地址以及至少一个文件大小,获取该第一目标文件的存储位置。
可选地,该接收模块1002,还用于接收文件写入指令,该文件写入指令用于指示向该文件***中存储空间空闲的文件写入数据;
该装置还包括:
确定模块,用于确定该文件***中存储空间空闲的文件,得到第二目标文件;
该获取模块1003,还用于根据该索引文件,获取该第二目标文件的存储位置,得到第二存储位置;
写入模块,用于向该第二存储位置对应的第二存储空间中,写入数据。
可选地,该接收模块1002,还用于接收文件删除指令,该文件删除指令用于指示删除该文件***中的第三目标文件;
该获取模块1003,还用于根据该索引文件,获取该第三目标文件的存储位置,得到第三存储位置;
该装置还包括:
写入模块,用于向该第三存储位置对应的第三存储空间中,覆盖写入数据。
可选地,该写入模块,包括:
添加子模块,用于为该第三存储空间添加删除标记,该删除标记用于标记该第三存储空间为空闲状态;
接收子模块,用于接收文件写入指令,该文件写入指令用于指示向该文件***中存储空间空闲的文件写入数据;
写入子模块,用于确定已添加删除标记的存储空间,得到该第三存储空间,向该第三存储空间中覆盖写入数据。
上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的文件处理装置在处理文件时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文件处理装置与文件处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图11是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)1101和一个或一个以上的存储器1102,其中,该存储器1102中存储有至少一条指令,该至少一条指令由该处理器1101加载并执行以实现上述各个方法实施例提供的文件处理方法。当然,该计算机设备还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由计算机设备中的处理器执行以完成上述实施例中的文件处理方法。例如,该计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上该仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (16)
1.一种文件处理方法,其特征在于,所述方法包括:
当文件***初始化时,生成索引文件,所述索引文件用于记录所述文件***中至少一个文件的存储位置;
接收文件读取指令,所述文件读取指令用于指示读取所述文件***中的第一目标文件的数据;
根据所述索引文件,获取所述第一目标文件的存储位置,得到第一存储位置;
从所述第一存储位置对应的第一存储空间中,读取所述第一目标文件的数据。
2.根据权利要求1所述的方法,其特征在于,所述生成索引文件,包括:
创建索引文件;
每当创建所述文件***中的任一文件后,在所述索引文件中记录所述文件的存储位置。
3.根据权利要求2所述的方法,其特征在于,所述在所述索引文件中记录所述文件的存储位置,包括:
获取所述文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小;
在所述索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
4.根据权利要求1所述的方法,其特征在于,所述根据所述索引文件,获取所述第一目标文件的存储位置,包括:
根据所述第一目标文件的文件名称,查询所述索引文件,得到所述文件名称映射的至少一个偏移地址以及对应的至少一个文件大小;
根据至少一个偏移地址以及至少一个文件大小,获取所述第一目标文件的存储位置。
5.根据权利要求1所述的方法,其特征在于,所述生成索引文件之后,所述方法还包括:
接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
确定所述文件***中存储空间空闲的文件,得到第二目标文件;
根据所述索引文件,获取所述第二目标文件的存储位置,得到第二存储位置;
向所述第二存储位置对应的第二存储空间中,写入数据。
6.根据权利要求1所述的方法,其特征在于,所述生成索引文件之后,所述方法还包括:
接收文件删除指令,所述文件删除指令用于指示删除所述文件***中的第三目标文件;
根据所述索引文件,获取所述第三目标文件的存储位置,得到第三存储位置;
向所述第三存储位置对应的第三存储空间中,覆盖写入数据。
7.根据权利要求6所述的方法,其特征在于,所述向所述第三存储位置对应的第三存储空间中,覆盖写入数据,包括:
为所述第三存储空间添加删除标记,所述删除标记用于标记所述第三存储空间为空闲状态;
接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
确定已添加删除标记的存储空间,得到所述第三存储空间,向所述第三存储空间中覆盖写入数据。
8.一种文件处理装置,其特征在于,所述装置包括:
生成模块,用于当文件***初始化时,生成索引文件,所述索引文件用于记录所述文件***中至少一个文件的存储位置;
接收模块,用于接收文件读取指令,所述文件读取指令用于指示读取所述文件***中的第一目标文件的数据;
获取模块,用于根据所述索引文件,获取所述第一目标文件的存储位置,得到第一存储位置;
读取模块,用于从所述第一存储位置对应的第一存储空间中,读取所述第一目标文件的数据。
9.根据权利要求8所述的装置,其特征在于,所述生成模块,包括:
创建子模块,用于创建索引文件;
记录子模块,用于每当创建所述文件***中的任一文件后,在所述索引文件中记录所述文件的存储位置。
10.根据权利要求8所述的装置,其特征在于,所述记录子模块,用于:
获取所述文件的文件名称、至少一个偏移地址以及对应的至少一个文件大小;
在所述索引文件中,记录文件名称、偏移地址以及文件大小之间的映射关系。
11.根据权利要求8所述的装置,其特征在于,所述获取模块,包括:
查询子模块,用于根据所述第一目标文件的文件名称,查询所述索引文件,得到所述文件名称映射的至少一个偏移地址以及对应的至少一个文件大小;
获取子模块,用于根据至少一个偏移地址以及至少一个文件大小,获取所述第一目标文件的存储位置。
12.根据权利要求8所述的装置,其特征在于,
所述接收模块,还用于接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
所述装置还包括:
确定模块,用于确定所述文件***中存储空间空闲的文件,得到第二目标文件;
所述获取模块,还用于根据所述索引文件,获取所述第二目标文件的存储位置,得到第二存储位置;
写入模块,用于向所述第二存储位置对应的第二存储空间中,写入数据。
13.根据权利要求8所述的装置,其特征在于,
所述接收模块,还用于接收文件删除指令,所述文件删除指令用于指示删除所述文件***中的第三目标文件;
所述获取模块,还用于根据所述索引文件,获取所述第三目标文件的存储位置,得到第三存储位置;
所述装置还包括:
写入模块,用于向所述第三存储位置对应的第三存储空间中,覆盖写入数据。
14.根据权利要求13所述的装置,其特征在于,所述写入模块,包括:
添加子模块,用于为所述第三存储空间添加删除标记,所述删除标记用于标记所述第三存储空间为空闲状态;
接收子模块,用于接收文件写入指令,所述文件写入指令用于指示向所述文件***中存储空间空闲的文件写入数据;
写入子模块,用于确定已添加删除标记的存储空间,得到所述第三存储空间,向所述第三存储空间中覆盖写入数据。
15.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至权利要求7中任一项所述的文件处理方法所执行的操作。
16.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至权利要求7中任一项所述的文件处理方法所执行的操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810514972.0A CN110597762A (zh) | 2018-05-25 | 2018-05-25 | 文件处理方法、装置、设备及存储介质 |
PCT/CN2019/076053 WO2019223377A1 (zh) | 2018-05-25 | 2019-02-25 | 文件处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810514972.0A CN110597762A (zh) | 2018-05-25 | 2018-05-25 | 文件处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597762A true CN110597762A (zh) | 2019-12-20 |
Family
ID=68616540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810514972.0A Pending CN110597762A (zh) | 2018-05-25 | 2018-05-25 | 文件处理方法、装置、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110597762A (zh) |
WO (1) | WO2019223377A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176571A (zh) * | 2019-12-27 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种本地对象的管理方法、装置、设备及介质 |
CN111221478A (zh) * | 2020-01-13 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 数据写入、读取方法、装置、设备及机器可读存储介质 |
CN111444219A (zh) * | 2020-03-30 | 2020-07-24 | 深圳天岳创新科技有限公司 | 一种基于分布式的数据处理方法、装置和电子设备 |
CN111459883A (zh) * | 2020-03-31 | 2020-07-28 | 潍柴动力股份有限公司 | 数据的处理方法及装置 |
WO2021212337A1 (zh) * | 2020-04-21 | 2021-10-28 | 华为技术有限公司 | 一种数据访问方法及装置 |
CN113821458A (zh) * | 2021-09-18 | 2021-12-21 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
WO2022083287A1 (zh) * | 2020-10-20 | 2022-04-28 | 百果园技术(新加坡)有限公司 | 存储空间管理方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533408A (zh) * | 2009-04-21 | 2009-09-16 | 北京四维图新科技股份有限公司 | 一种海量数据的处理方法及处理装置 |
CN102364474A (zh) * | 2011-11-17 | 2012-02-29 | 中国科学院计算技术研究所 | 用于机群文件***的元数据存储***和管理方法 |
CN104572670A (zh) * | 2013-10-15 | 2015-04-29 | 方正国际软件(北京)有限公司 | 一种小文件的存储、查询及删除方法和*** |
CN107844483A (zh) * | 2016-09-18 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 文件管理方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020315B (zh) * | 2013-01-10 | 2015-08-19 | 中国人民解放军国防科学技术大学 | 一种基于主从分布式文件***的海量小文件存储方法 |
CN103577604B (zh) * | 2013-11-20 | 2018-07-06 | 电子科技大学 | 一种用于Hadoop分布式环境的图像索引结构 |
CN105630779A (zh) * | 2014-10-27 | 2016-06-01 | 杭州海康威视***技术有限公司 | 一种基于分布式文件***的小文件存储方法和装置 |
-
2018
- 2018-05-25 CN CN201810514972.0A patent/CN110597762A/zh active Pending
-
2019
- 2019-02-25 WO PCT/CN2019/076053 patent/WO2019223377A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533408A (zh) * | 2009-04-21 | 2009-09-16 | 北京四维图新科技股份有限公司 | 一种海量数据的处理方法及处理装置 |
CN102364474A (zh) * | 2011-11-17 | 2012-02-29 | 中国科学院计算技术研究所 | 用于机群文件***的元数据存储***和管理方法 |
US20140250155A1 (en) * | 2011-11-17 | 2014-09-04 | Huawei Technologies Co., Ltd. | Metadata storage and management method for cluster file system |
CN104572670A (zh) * | 2013-10-15 | 2015-04-29 | 方正国际软件(北京)有限公司 | 一种小文件的存储、查询及删除方法和*** |
CN107844483A (zh) * | 2016-09-18 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 文件管理方法及装置 |
Non-Patent Citations (2)
Title |
---|
孙玉荣 等: ""基于FAT的机顶盒PVR文件***的研究"", 《微计算机信息》 * |
臧铁钢 等: "《工程软件开发技术基础》", 31 January 2017, 中国铁道出版社 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176571A (zh) * | 2019-12-27 | 2020-05-19 | 浪潮电子信息产业股份有限公司 | 一种本地对象的管理方法、装置、设备及介质 |
CN111221478A (zh) * | 2020-01-13 | 2020-06-02 | 阿里巴巴集团控股有限公司 | 数据写入、读取方法、装置、设备及机器可读存储介质 |
CN111221478B (zh) * | 2020-01-13 | 2023-06-13 | 阿里巴巴集团控股有限公司 | 数据写入、读取方法、装置、设备及机器可读存储介质 |
CN111444219A (zh) * | 2020-03-30 | 2020-07-24 | 深圳天岳创新科技有限公司 | 一种基于分布式的数据处理方法、装置和电子设备 |
CN111459883A (zh) * | 2020-03-31 | 2020-07-28 | 潍柴动力股份有限公司 | 数据的处理方法及装置 |
CN111459883B (zh) * | 2020-03-31 | 2023-08-18 | 潍柴动力股份有限公司 | 数据的处理方法及装置 |
WO2021212337A1 (zh) * | 2020-04-21 | 2021-10-28 | 华为技术有限公司 | 一种数据访问方法及装置 |
WO2022083287A1 (zh) * | 2020-10-20 | 2022-04-28 | 百果园技术(新加坡)有限公司 | 存储空间管理方法、装置、设备及存储介质 |
CN113821458A (zh) * | 2021-09-18 | 2021-12-21 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
CN113821458B (zh) * | 2021-09-18 | 2023-09-05 | 日立楼宇技术(广州)有限公司 | 一种数据操作方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019223377A1 (zh) | 2019-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597762A (zh) | 文件处理方法、装置、设备及存储介质 | |
EP3806424A1 (en) | File system data access method and file system | |
WO2016086819A1 (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
WO2021109590A1 (zh) | 一种数据存储方法、装置及电子设备和存储介质 | |
EP3076307A1 (en) | Method and device for responding to a request, and distributed file system | |
CN101983376B (zh) | 访问装置、信息记录装置、信息记录***、文件管理方法和程序 | |
US9922039B1 (en) | Techniques for mitigating effects of small unaligned writes | |
CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
US9430492B1 (en) | Efficient scavenging of data and metadata file system blocks | |
US11250888B1 (en) | Flash memory and method for storing and retrieving embedded audio video data | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN111782656A (zh) | 数据读写方法及装置 | |
KR101674176B1 (ko) | 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법 | |
CN106709014B (zh) | 一种文件***转换方法及装置 | |
CN114168540A (zh) | 文件索引信息处理方法、装置、电子设备及存储介质 | |
CN110187834B (zh) | 重删副本的数据处理方法、装置、电子设备 | |
CN108304144B (zh) | 数据写入、读取方法与***、数据读写*** | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
CN108132759B (zh) | 一种文件***中管理数据的方法和装置 | |
US10803109B2 (en) | Method and device for reading and writing video data in NAS device | |
CN113641446A (zh) | 内存快照创建方法、装置、设备及可读存储介质 | |
CN114936010B (zh) | 数据处理方法、装置、设备及介质 | |
CN117093579A (zh) | 数据查询、数据存储方法、装置、设备及存储介质 | |
CN107704208B (zh) | 一种元数据的修复方法、装置及介质 | |
CN115421856A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191220 |
|
RJ01 | Rejection of invention patent application after publication |