CN110221782A - 视频文件处理方法及装置 - Google Patents
视频文件处理方法及装置 Download PDFInfo
- Publication number
- CN110221782A CN110221782A CN201910494901.3A CN201910494901A CN110221782A CN 110221782 A CN110221782 A CN 110221782A CN 201910494901 A CN201910494901 A CN 201910494901A CN 110221782 A CN110221782 A CN 110221782A
- Authority
- CN
- China
- Prior art keywords
- file
- directory
- attribute
- index
- memory
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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为本申请实施例提供的又一种视频文件处理装置结构示意图;
图12为本申请实施例提供的另一种视频文件处理装置结构示意图;
图13为本申请实施例提供的又一种视频文件处理装置结构示意图;
图14为本申请实施例提供的另一种视频文件处理装置结构示意图;
图15为本申请实施例提供的又一种视频文件处理装置结构示意图;
图16为本申请实施例提供的又一种视频文件处理装置结构示意图;
图17为本申请实施例提供的一种视频文件处理装置结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
需要说明的是,本申请实施例的方案可应用于Linux操作系统或其他操作系统。下文所涉及的磁盘可被划分为多个块组,具有该类型磁盘的设备可称为块设备,该磁盘可以为单一硬盘、也可以为Raid(Redundant Arrays of Independent Disks,磁盘阵列)。磁盘的存储空间可大于预设的单位块组的存储空间如:4G+16k+8K+4M,即至少满足分配一个块组的空间。
为便于理解本申请的方案,在介绍本申请的方案之前,可先对本申请所涉及的技术术语进行下述解释。
磁盘的格式化:调用系统初始化接口,传入参数:资源信息(包括块设备的路径信息和操作系统的文件操作接口,以在某个操作系统下对块设备进行读写操作,如修改块设备的磁盘所存储的信息),格式化状态,输出资源标识(ID)(后续的文件系统的目录文件操作以此资源ID为标识)。块设备的路径信息可以为块设备的访问地址的信息,如/dev/sdb。操作系统的文件操作接口可以包括:linux系统的open(打开)、close(关闭)、write(写)、read(读)等接口。
1)初始化错误索引恢复链表结构,用于保存在文件系统运行过程出现异常的索引单元。
2)格式化超级块:
获取块设备的磁盘容量,并检查是否符合文件系统最小容量大小。
根据磁盘容量计算该块设备的磁盘的块组数目(块组数目=磁盘空间大小–预留区域–超级块大小*2)/块组大小),索引区数目(块组数目*2),索引大小,格式化时间和系统标识ID,利用循环冗余校验(Cyclic Redundancy Check,CRC)算法如32位循环冗余校验算法(Cyclic Redundancy Check 32,CRC32)算法,计算该块设备的超级块的校验码。
块组数目=磁盘空间大小–预留区域–超级块大小*2)/块组大小。
主超级块的位置:预留区域(4M)。
备超级块的位置:预留区域(4M)+块组数目*块组大小(4G+16*2)。
调用操作系统的文件操作接口将超级块数据写入到主备超级块在块设备的偏移地址。其中,超级块数据记录的是整个文件系统的信息,包括校验码、系统创建时间、最后一次写入时间、访问次数、块组个数、索引单元个数、数据块个数、数据块大小等。
3)格式化索引区:
需要遍历格式化所有块组的主备索引区。
索引结构格式化仅写入日志信息以及利用CRC32校验算法计算出索引的校验码,其中,索引区可包括:目录索引单元又称目录节点(DNode),和,文件索引单元又称文件节点(FNode)。目录索引单元和文件索引单元在初始化阶段所存储的信息为预设值为0。
块组的编号计为GDTNum(以0开始编号)。
块组中的主备索引区的位置:
主索引区的位置:预留区域(4M)+主超级块(4K)+块组大小(4G+16K*2)*GDTNum。
备索引区的位置:主索引位置+索引大小(16K)+数据块大小(4G)。
调用操作系统的文件操作接口可将索引数据写入到主备索引区在块设备的偏移地址。其中,索引数据也即块组的主备水印数据,包括索引校验码、写入时间、更新次数,目录属性信息和文件属性信息。
此时已经完成将磁盘格式化为本申请中的文件系统所适用的磁盘结构。
图1为本申请实施例提供的一种视频文件处理方法流程示意图,该图1所示的视频文件处理方法可由服务器实现。图2为本申请实施例提供的文件系统结构示意图,如图1所示,该方法包括:
S101、根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块。
其中,磁盘包括:多个块组,每个块组包括索引区和数据区,索引区包括:记录每个块组的数据块的文件属性的文件索引单元,数据区包括多个数据块;内存中的文件属性为:从每个块组的文件索引单元所加载的文件属性,文件属性包括:用于表征每个块组中各数据块的文件使用状态的信息。
需要说明的是,本申请实施例中的文件可以是视频文件,随着安防技术的不断增强,视频监控越来越普遍,随之会产生海量的视频文件,有效的对这些视频文件进行管理,可以一定程度上提高安防作业人员的办事效率,因此,高效可靠的文件管理系统变得尤为重要。可选地,本申请实施例中的文件也可以不限于视频文件,还可以是文本文件或其他类型的文件等。
可选地,如图2所示,本申请文件系统在初始化时对磁盘空间进行结构划分。文件系统的磁盘空间包括:一个预留区、两个超级块、多个块组,每个块组可以包括两个索引区和一个数据区,其中,预留区的大小可以为4M,每个超级块的大小可以为4K,每个块组的大小可以为4G+32K。
具体地,每个块组可以包括一个主索引区和一个备索引区,其大小均为16K,主索引区和备索引区分别位于块组的两端,主索引区与备索引区之间为数据区。其中,每个数据区包括多个数据块,如图2所示,一个数据区中可以包括64个数据块,每个数据块的大小可以为64M。
另外,主/备索引区中分别包括索引日志记录、目录索引单元和文件索引单元,索引区的目录索引单元和文件索引单元其分别为记录目录属性和文件属性的索引单元。索引日志记录大小可以为4K,目录索引单元大小可以为4K,文件索引单元大小可以为8K。其中,目录索引单元包括32个目录索引,每个目录索引的大小可以为128B,而文件索引单元包括64个文件索引,每个文件索引的大小可以为128B,并且文件索引单元的个数与数据块个数一一对应。
其中,超级块用于记录整个文件系统的整体信息,包括该文件系统的签名、系统的创建时间、最后一次写入时间、访问次数、索引单元个数、块组个数、数据块大小、索引单元大小、通用唯一识别码(Universally Unique Identifier,UUID)和格式化状态。超级块分为主备超级块,主备关系用于出现某一超级块信息出现异常时,通过另一超级块数据的恢复,提高系统的可靠性。
该方法通过划分块组的方式,将磁盘划分为多个块组,从而索引区和数据区的分段,分别实现了索引信息与数据的分段保存,可以有效避免当索引区损坏而导致整个系统损坏,造成数据的损坏丢失。
需要说明的是,上述预留区、超级块的大小及单位块组的大小均只是一种可选地分配方式,具体地可以不限于上述,可以根据实际情况作出适当调整。
另外,索引区是文件系统的关键区域,用于记录索引日志信息、目录属性和文件属性。其中,日志信息可包括索引校验码、索引更新时间和次数以及日志信息等,目录属性可包括使用状态、路径层数、模式、创建和修改时间、父目录序号、目录序号,文件属性可包括使用状态、路径层数、模式、创建和修改时间、父目录序号、文件序号、文件分片序号、当前块组的占用容量和文件占用数据块个数。该使用状态用于表征该目录属性所在的目录索引单元是否被使用。
需要说明的是,上述磁盘所划分的块组的个数,以及每个块组所包括的索引区的个数、索引区的大小以及数据区的大小、数据区所包括的数据块的个数以及每个数据块的大小可以为一种可能的示例,本申请不对此限制。上述所说的内存也即内存中的文件节点管理结构,其包含超级块结构、磁盘路径信息、根目录节点、索引节点位图信息、目录和文件索引单元申请开始位置、索引恢复结构、当前文件和目录个数。文件节点管理结构维系的整个文件系统的内容。文件节点管理结构主要为在内存中记录的文件系统信息,其中,上述超级块结构:包括校验码、系统创建时间、最后一次写入时间、访问次数、块组个数、索引单元个数、数据块个数、数据块大小;磁盘路径信息:为块设备路径(如/dev/sdb);根目录节点:为整个文件系统的目录树的根节点;索引节点位图信息:用于记录所用块组中目录索引和文件索引单元的使用状态;目录和文件索引单元申请开始位置:记录当前目录或文件申请到哪一个块组位置,每次从该位置开始申请,可避免一直访问前面的块组索引区域,后面块组访问不到,导致对整个块设备读写不均衡,性能受到影响;索引恢复结构:保存需要进行恢复的索引区信息;当前文件和目录个数:记录整个系统已经创建的目录和文件个数。
本实施例中,在对待存储视频文件进行存储之前,需要先确定出磁盘中的空闲数据块,用以将待存储的视频文件存储至空闲数据块中。具体地,可以根据内存中存储的文件属性确定磁盘中的空闲数据块。
由上述可知,磁盘中每个块组的数据块均对应有索引区,其对应的索引区中的文件索引单元存储的文件属性,即文件索引信息,可以包括该索引区的文件使用状态信息,该索引区的文件使用状态信息为表征每个块组中各数据块的文件使用状态的信息,文件使用状态为各数据块是否存储有文件,或者,是否被文件使用。该文件属性可从每个块组的数据块的索引区的文件索引单元中加载并存储至内存中。因此,可根据内存中存储的文件属性,确定文件系统的磁盘中的数据块的文件使用状态,继而可根据文件使用状态,确定文件系统的磁盘中的空闲数据块。
该索引信息可以是存储在内存中的,故可以根据内存中存储的索引信息,获取磁盘中每个数据块的使用状态,从而确定出空闲数据块。
S102、根据待存储的视频文件的大小,确定待存储的视频文件所需的数据块个数。
可选地,可以根据待存储的视频文件的大小,确定待存储的视频文件所需的数据块个数。例如:待存储的视频文件为15M,而磁盘中每个块组中的每个数据块的大小为4M,则确定出待存储的视频文件所需的数据块个数为4个,虽然并不能将第四个数据块全部占满,但是至少需要四个数据块来进行视频文件的存储。
S103、根据待存储的视频文件所需的数据块个数,从空闲数据块中确定目标数据块。
在一些实施例中,上述步骤S101中确定出的磁盘中的空闲数据块的个数是不唯一的,空闲数据块的个数可以是等于待存储的视频文件所需的数据块个数,也可以是大于待存储的视频文件所需的数据块个数。而当确定出的磁盘中空闲数据块的个数大于待存储的视频文件所需的数据块个数时,需要对该多个空闲数据块进行筛选以确定出目标数据块。
可选地,可以根据磁盘中空闲数据块的确定顺序,将确定出的前几个数据块作为目标数据块。另外,也可以根据预先设定的选择规则,确定对应的数据块为目标数据块。此处不做具体限制。
S104、将待存储的视频文件存储至目标数据块中,并更新目标数据块所在块组的文件索引单元所记录的文件属性,以及内存中从目标数据块所在块组的文件索引单元所加载的文件属性。
上述确定出目标数据块后,将待存储的视频文件对应存储至该多个目标数据块中。需要说明的是,确定出的目标数据块在存储了待存储的视频文件后,其从空闲数据块变为了非空闲数据块,也即数据块的状态由未使用变为了已使用,故,为保证数据块的文件使用状态的准确性,还需更新目标数据块所在块组的文件索引单元所记录的文件属性,以及内存中从目标数据块所在块组的文件索引单元所加载的文件属性。
文件属性的更新例如可包括:对该文件属性所包括的文件使用状态进行更新,即从未使用状态变为已使用状态,以方便下次在进行文件存储时,根据文件属性准确的获取空闲数据块。其中,可以对内存及磁盘中待存储的视频文件对应的文件属性进行更新,以保证磁盘中数据块的有效性。
可选地,本申请实施例中,文件索引单元所记录的文件属性中,文件使用状态又称索引状态信息可以位图的形式保存在内存中,0表示未使用,1表示已使用。使用位图保存索引信息的方式,可以快速定位数据块的文件使用状态,继而确定空闲的数据块,加速目录或文件的创建、存储等。但是索引状态信息的表示方法不限于位图形式,具体不做限制。
综上,本申请实施例提供的视频文件处理方法,可根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块,根据待存储的视频文件的大小,确定该待存储的视频文件所需的数据块个数,还根据该待存储的视频文件所需的数据块个数,从该空闲数据块中确定目标数据块,继而将该待存储的视频文件存储至该目标数据块中,并更新该目标数据块所在块组的文件索引单元所记录的文件属性,以及该内存中从该目标数据块所在块组的文件索引单元所加载的文件属性,其中,该磁盘包括:多个块组,每个块组包括索引区和数据区,该索引区包括:记录该每个块组的数据块的文件属性的文件索引单元,该数据区包括多个数据块;该内存中的文件属性为:从该每个块组的文件索引单元所加载的文件属性,该文件属性包括:用于表征该每个块组中各数据块的文件使用状态的信息。该方法中,磁盘可包括多个块组,每个块组中包含索引区和数据区,使得整个文件系统的索引区和数据区实现分段式存储,避免某一索引区的损坏,影响整个文件系统中数据区的访问处理性能,从而有效提高了文件系统的使用性能。
同时,该方法,还可在将该待存储的视频文件存储至该目标数据块中的情况下,更新该目标数据块所在块组的文件索引单元所记录的文件属性,以及该内存中从该目标数据块所在块组的文件索引单元所加载的文件属性,保证磁盘中数据块的有效性。
图3本申请实施例提供的另一种视频文件处理方法流程示意图;进一步地,如图3所示,根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块之前,还包括:
S201、从磁盘中获取文件系统的属性信息。
其中,磁盘包括:超级块,超级块中存储有文件系统的属性信息;文件系统的属性信息包括:磁盘中的块组个数、磁盘中的数据块个数。
S202、将文件系统的属性信息加载至内存中。
需要说明的是,在从内存中获取文件属性之前,需要先从磁盘中解析文件系统的属性信息,将其加载至内存中,以使得数据信息同步。其中,可以对磁盘包含的超级块所存储的信息进行解析,以获取该文件系统的属性信息,并将文件系统的属性信息加载至内存中。针对超级块的描述参见上述,在此不再赘述。
进一步地,每个块组的索引区包括主索引区和备索引区。
可选地,本申请实施例中,每个块组中的索引区均包括两个,主索引区和备索引区,实现索引数据的备份,当某一索引出现异常,将通过另一索引进行索引数据的恢复,确保索引数据一致性,提高系统的可靠性。
另外,可以CRC32校验方式校验索引区数据,校验索引区域的有效性,保证主备索引区的一致性。
图4本申请实施例提供的又一种视频文件处理方法流程示意图;进一步地,如图4所示,根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块之前,方法还包括:
S301、确定每个块组的主索引区和备索引区是否存在异常索引。
类似的,可以采用CRC32分别检验主索引区和备索引区的有效性,以确定主索引区或是备索引区中任意一个是否存在异常索引。
S302、若主索引区和备索引区中的一个索引区存在异常索引,则另一个索引区所记录的信息存储至内存。
上述若确定主索引区存在异常索引,则可以将该异常索引加入内存中的索引恢复结构中,同时将备索引区记录的索引信息存储至内存中,继续使用备索引完成本次的文件操作。
对应的,上述若确定备索引区存在异常索引,则可以将该异常索引加入内存中的索引恢复结构中,同时将主索引区记录的索引信息存储至内存中,继续使用主索引完成本次的文件操作。
S303、若接收到内存的访问请求,则根据另一个索引区所记录的信息更新异常索引。
上述将异常索引加入索引恢复结构后,可以在接收到内存的访问请求以再次进行文件操作时,对上述加入至索引恢复结构中的主索引区的异常索引进行恢复,即将其主索引区的记录信息更新为该备索引区所记录的信息;也可以在启用备索引区即根据该备索引区所记录的信息进行文件操作时便对主索引区的异常索引进行恢复,将主索引区的记录信息更新为该备索引区所记录的信息。可选地,可以通过主备索引恢复机制,对异常索引进行恢复,从而加强文件系统的安全性和可靠性。
图5本申请实施例提供的又一种视频文件处理方法流程示意图,进一步地,如图5所示,内存中还存储有层级目录,层级目录包括:至少一个文件节点、每个文件节点所在的目录节点,以及文件节点与目录节点的父子关系;
该方法还可包括:
S401、创建待存储的视频文件的文件节点。
S402、将创建的文件节点添加至层级目录中创建的文件节点所在目录节点下。
需要说明的是,创建文件节点可通过调用文件创建接口,传入资源ID、待创建文件路径和文件大小,返回创建文件节点成功所分配的数据块的位置信息。文件节点的创建采用空间预分配策略,即当文件节点成功创建,则分配给该文件节点的数据块即确定。解析待创建的文件节点的路径;获取待创建的文件节点的父目录节点,并查看该父目录节点的子目录列表和子文件节点列表中是否存在同名,若同名则不能够创建;创建文件节点,并添加至内存中的层级目录中。同时,还需要更新内存中该文件节点的各级父目录节点的容量。返回输出已经分配给该文件节点的所有数据块的位置信息,供上层业务进行文件的操作如读写操作或删除操作等任一类型的操作。
进一步地,每个块组的索引区还可包括:记录每个块组的数据块的目录属性的目录索引单元。内存还存储有:目录属性,以及目录索引单元的申请开始位置;层级目录还包括:目录节点之间的父子关系;内存中的目录属性为:从每个块组的目录索引单元所加载的目录属性;目录属性包括:用于表征每个块组的目录使用状态的信息。
图6本申请实施例提供的另一种视频文件处理方法流程示意图,进一步地,如图6所示,该方法还可包括:
S501、获取目录创建请求,目录创建请求包括:待创建目录名称,和待创建目录的路径信息。
可选地,首先检查文件系统状态是否正常,若正常才可以进行目录的创建。具体地,检测内存中索引恢复结构中是否存在待恢复的异常索引,若不存在,则确定文件系统状态为正常。反之,若存在异常索引,则确定该文件系统状态为异常。可选地,目录创建请求可以包括:待创建目录名称及待创建目录的路径信息。
S502、根据路径信息和层级目录,确定待创建目录的父目录节点。
可选地,可以根据获取的待创建目录的路径信息,从内存中存储的层级目录中,确定该待创建目录的父目录节点。
S503、根据内存中的目录索引单元的申请开始位置和目录属性,确定磁盘中未使用的目录索引单元为目标目录索引单元。
其中,目录属性可以包括目录的使用状态信息,根据内存中目录索引单元的开始位置,也即当前块组的申请位置,遍历查找磁盘中空闲的目录索引单元,并将查找到的空闲目录索引单元作为目标目录索引单元。其中,该空闲的目录索引单元,又称未使用的目录索引单元,其可以为磁盘中,记录的目录使用状态为未使用状态的目录索引单元。
S504、根据待创建目录名称,创建目录节点,并将创建的目录节点添加至层级目录中父目录节点下。
可选地,根据获取的待创建目录的名称,创建新的目录节点,同时将该新的目录节点添加到内存中存储的层级目录中,该待创建文件对应的父目录节点下。
S505、更新内存中目标目录索引单元所记录的目录使用状态,以及磁盘中目标目录索引单元所记录的目录使用状态。
可选地,与文件存储过程类似,在创建新的目录后,被占用目录对应的目录索引单元的信息将发生改变,由未使用更新为已使用。具体地,可以对内存和磁盘中目标目录索引单元对应的目录使用状态均进行更新,以保证目录的有效性。
图7本申请实施例提供的另一种视频文件处理方法流程示意图,进一步地,如图7所示,根据内存中的目录索引单元的申请开始位置和目录属性,确定磁盘中未使用的目录索引单元为目标目录索引单元包括:
S601、判断父目录节点中是否存在与待创建目录名称相同的目录或文件。
在一些实施例中,再进行目录创建的时候,确定出父目录节点后,还需要判断该父目录节点中是否存在与待创建目录名称相同的目录或文件,若已存在,则目录创建将失败。
S602、若不存在,则根据内存中的目录索引单元的申请开始位置和目录属性,确定磁盘中未使用的目录索引单元为目标目录索引单元。
可选地,当父目录节点中不存在与待创建目录名称相同的目录或是文件时,可以根据上述的内存中的目录索引单元的申请开始位置和目录属性,确定磁盘中未使用的目录索引单元为目标目录索引单元,并进行目录的创建。
图8本申请实施例提供的另一种视频文件处理方法流程示意图,进一步地,如图8所示,文件属性还包括:文件位置信息,文件位置信息用于指示文件在磁盘中的块组和/或数据块的位置;方法还包括:
S701、获取文件操作请求,文件操作请求包括:待操作文件的标识和操作类型。
在一些实施例中,文件存储完成后,上层业务即可向文件系统预分配给该文件的对应的数据块读写数据,上层业务主要通过调用文件系统提供的获取文件数据块信息和更新文件索引容量接口,以及Linux系统的文件操作接口进行文件的读写操作控制。
可选地,待操作文件的标识可以包括:待操作文件的名称、待操作文件的序号等,操作类型可以为:文件的打开操作、读操作、写操作、关闭操作或删除操作等。
可选地,可以调用文件系统的获取文件数据块位置的接口,预分配该文件的所有数据块的地址偏移,利用操作系统的open(打开)接口、seek(在Open语句打开的文件中指定当前的读/写位置)、write(写)、read(读)和close(关闭)接口进行文件操作。
需要说明的是,本实施例中,文件属性可以是通过文件操作接口写入内存中的对应位置,同时也可以通过文件操作接口,从内存中获取文件属性。
S702、根据待操作文件的标识,从内存的文件属性中确定待操作文件在磁盘中的目标位置。
可选地,内存的文件属性还包括文件位置信息,文件位置信息用于指示文件在磁盘中的块组和/或数据块的位置。可以根据待操作文件的标识,从内存中获取该待操作文件在磁盘中的目标位置。
可选地,目标位置可以是磁盘中的一个或多个块组的位置,也可以是磁盘中一个或多个块组中多个数据块的位置。
S703、根据操作类型,对磁盘中目标位置下的待操作文件进行操作类型对应的操作。
上述确定出待操作文件在磁盘中的位置后,可以操作类型指令,可以对磁盘中目标位置下的待操作文件进行相应的操作,例如:进行文件的读操作、写操作或是关闭操作等。
进一步地,若操作类型为:文件删除操作,该方法还可包括:
更新内存和磁盘中待删除文件的文件属性,其中,文件属性包括:待删除文件对应的数据块的索引位置信息及索引状态信息。
可选地,上述文件操作类型还可以为文件删除,当对待操作文件执行删除操作后,对应的还需要对内存中存储的该文件的文件属性信息进行更改,其中,可以包括:将待删除文件对应的索引状态信息从已使用更新为未使用,即将文件索引位图信息由1更新为0。
具体地,可以根据内存中目录树的该文件节点中保存的该文件索引的位置信息,遍历所有文件索引的位置信息,合并属于同一块组的文件位置索引,并将其中保存的文件信息中使用状态置0,写入保存至磁盘空间的对应块组的索引区域,依次更新保存属于该文件节点的所有块组中的FNode信息,同时更新位图信息,将对应位图置0。磁盘空间中的索引区域更新成功后,删除内存中目录树中该文件节点。
本申请实施例提供的视频文件处理方法,通过将文件系统对应的磁盘按照预设的规则划分为多个块组,每个块组中包含索引区和数据区,使得整个文件系统的索引区和数据区实现分段式存储,避免某一索引区的损坏,影响整个文件系统中数据区的访问处理性能,从而有效提高了文件系统的使用性能。另外,通过直接从内存中获取文件属性信息,进行数据访问,提高了数据访问效率。
图9为本申请实施例提供的一种视频文件处理装置结构示意图,包括:第一确定模块801、第二确定模块802、第三确定模块803及第一存储模块804;
第一确定模块801,用于根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块;其中,磁盘包括:多个块组,每个块组包括索引区和数据区,索引区包括:记录每个块组的数据块的文件属性的文件索引单元,数据区包括多个数据块;内存中的文件属性为:从每个块组的文件索引单元所加载的文件属性,文件属性包括:用于表征每个块组中各数据块的文件使用状态的信息;
第二确定模块802,用于根据待存储的视频文件的大小,确定待存储的视频文件所需的数据块个数;
第三确定模块803,用于根据待存储的视频文件所需的数据块个数,从空闲数据块中确定目标数据块;
第一存储模块804,用于将待存储的视频文件存储至目标数据块中,并更新目标数据块所在块组的文件索引单元所记录的文件属性,以及内存中从目标数据块所在块组的文件索引单元所加载的文件属性。
进一步地,如图10所示,还包括第一获取模块805、加载模块806;
第一获取模块805,用于从磁盘中获取文件系统的属性信息,磁盘包括:超级块,超级块中存储有文件系统的属性信息;文件系统的属性信息包括:磁盘中的块组个数、磁盘中的数据块个数;
加载模块806,用于将文件系统的属性信息加载至内存中。
进一步地,每个块组的索引区包括主索引区和备索引区。
进一步地,如图11所示,还包括第四确定模块807、第二存储模块808及第一更新模块809;
第四确定模块807,用于确定每个块组的主索引区和备索引区是否存在异常索引;
第二存储模块808,用于若主索引区和备索引区中的一个索引区存在异常索引,则将另一个索引区所记录的信息存储至内存。
第一更新模块809,用于若接收到内存的访问请求,则根据另一个索引区所记录的信息更新异常索引。
进一步地,内存中还存储有层级目录,层级目录包括:至少一个文件节点、每个文件节点所在的目录节点,以及文件节点与目录节点的父子关系,如图12所示,装置还包括创建模块810及添加模块811;
创建模块810,用于创建待存储的视频文件的文件节点;
添加模块811,用于将创建的文件节点添加至层级目录中创建的文件节点所在目录节点下。
进一步地,索引区还包括:记录每个块组的数据块的目录属性的目录索引单元;
内存还存储有:目录属性,以及目录索引单元的申请开始位置;层级目录还包括:目录节点之间的父子关系;内存中的目录属性为:从每个块组的目录索引单元所加载的目录属性;目录属性包括:用于表征每个块组的目录使用状态的信息。
进一步地,如图13所示,还包括第二获取模块812、第五确定模块813、第六确定模块814、创建模块815及第二更新模块816;
第二获取模块812,用于获取目录创建请求,目录创建请求包括:待创建目录名称,和待创建目录的路径信息;
第五确定模块813,用于根据路径信息和层级目录,确定待创建目录的父目录节点;
第六确定模块814,用于根据内存中的目录索引单元的申请开始位置和目录属性,确定磁盘中未使用的目录索引单元为目标目录索引单元;
创建模块815,用于根据待创建目录名称,创建目录节点,并将创建的目录节点添加至层级目录中父目录节点下;
第二更新模块816,用于更新内存中目标目录索引单元所记录的目录使用状态,以及磁盘中目标目录索引单元所记录的目录使用状态。
进一步地,如图14所示,还包括判断模块817;
判断模块817,用于判断父目录节点中是否存在与待创建目录名称相同的目录或文件;
第六确定模块814,具体用于若不存在,则根据内存中的目录索引单元的申请开始位置和目录属性,确定磁盘中未使用的目录索引单元为目标目录索引单元。
进一步地,如图15所示,还包括:第三获取模块818、第七确定模块819及操作模块820;
第三获取模块818,用于获取文件操作请求,文件操作请求包括:待操作文件的标识和操作类型;
第七确定模块819,用于根据待操作文件的标识,从内存的文件属性中确定待操作文件在磁盘中的目标位置;
操作模块820,用于根据操作类型,对磁盘中目标位置下的待操作文件进行操作类型对应的操作。
进一步地,操作类型为:文件删除操作,如图16所示,装置还包括:第三更新模块821;
第三更新模块821,用于更新内存中待删除文件的文件属性,其中,文件属性包括:待删除文件对应的数据块的索引位置信息及索引状态信息。
上述装置可用于执行上述方法实施例提供的方法,具体实现方式和技术效果类似,这里不再赘述。
图17示出了本申请实施例提供的一种图像处理装置结构示意图,如图17示,该装置包括:处理器901和存储器902,其中:存储器902用于存储程序,处理器901调用存储器902存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
该装置可以集成于终端或服务器等设备,本申请中不作限制。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种视频文件处理方法,其特征在于,包括:
根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块,其中,所述磁盘包括:多个块组,每个块组包括索引区和数据区,所述索引区包括:记录所述每个块组的数据块的文件属性的文件索引单元,所述数据区包括多个数据块;所述内存中的文件属性为:从所述每个块组的文件索引单元所加载的文件属性,所述文件属性包括:用于表征所述每个块组中各数据块的文件使用状态的信息;
根据待存储的视频文件的大小,确定所述待存储的视频文件所需的数据块个数;
根据所述待存储的视频文件所需的数据块个数,从所述空闲数据块中确定目标数据块;
将所述待存储的视频文件存储至所述目标数据块中,并更新所述目标数据块所在块组的文件索引单元所记录的文件属性,以及所述内存中从所述目标数据块所在块组的文件索引单元所加载的文件属性。
2.如权利要求1所述的方法,其特征在于,根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块之前,还包括:
从所述磁盘中获取所述文件系统的属性信息,所述磁盘包括:超级块,所述超级块中存储有所述文件系统的属性信息;所述文件系统的属性信息包括:所述磁盘中的块组个数、所述磁盘中的数据块个数;
将所述文件系统的属性信息加载至所述内存中。
3.如权利要求1所述的方法,其特征在于,所述每个块组的索引区包括主索引区和备索引区;所述根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块之前,所述方法还包括:
确定所述每个块组的主索引区和备索引区是否存在异常索引;
若所述主索引区和所述备索引区中的一个索引区存在异常索引,则将另一个索引区所记录的信息存储至所述内存;
若接收到所述内存的访问请求,则根据所述另一个索引区所记录的信息更新所述异常索引。
4.如权利要求1所述的方法,其特征在于,所述内存中还存储有层级目录,所述层级目录包括:至少一个文件节点、每个文件节点所在的目录节点,以及文件节点与目录节点的父子关系;
所述方法还包括:
创建所述待存储的视频文件的文件节点;
将创建的文件节点添加至所述层级目录中所述创建的文件节点所在目录节点下。
5.根据权利要求4所述的方法,其特征在于,所述索引区还包括:记录所述每个块组的数据块的目录属性的目录索引单元;
所述内存还存储有:目录属性,以及目录索引单元的申请开始位置;所述层级目录还包括:目录节点之间的父子关系;所述内存中的目录属性为:从所述每个块组的目录索引单元所加载的目录属性;所述目录属性包括:用于表征所述每个块组的目录使用状态的信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取目录创建请求,所述目录创建请求包括:待创建目录名称,和所述待创建目录的路径信息;
根据所述路径信息和所述层级目录,确定所述待创建目录的父目录节点;
根据所述内存中的所述目录索引单元的申请开始位置和所述目录属性,确定所述磁盘中未使用的目录索引单元为目标目录索引单元;
根据所述待创建目录名称,创建目录节点,并将创建的目录节点添加至所述层级目录中所述父目录节点下;
更新所述内存中所述目标目录索引单元所记录的目录使用状态,以及所述磁盘中所述目标目录索引单元所记录的目录使用状态。
7.根据权利要求6所述的方法,其特征在于,所述根据所述内存中的所述目录索引单元的申请开始位置和所述目录属性,确定所述磁盘中未使用的目录索引单元为目标目录索引单元包括:
判断所述父目录节点中是否存在与所述待创建目录名称相同的目录或文件;
若不存在,则根据所述内存中的所述目录索引单元的申请开始位置和所述目录属性,确定所述磁盘中未使用的目录索引单元为所述目标目录索引单元。
8.如权利要求1所述的方法,其特征在于,所述文件属性还包括:文件位置信息,所述文件位置信息用于指示文件在所述磁盘中的块组和/或数据块的位置;所述方法还包括:
获取文件操作请求,所述文件操作请求包括:待操作文件的标识和操作类型;
根据所述待操作文件的标识,从所述内存的所述文件属性中确定所述待操作文件在所述磁盘中的目标位置;
根据所述操作类型,对所述磁盘中所述目标位置下的所述待操作文件进行所述操作类型对应的操作。
9.一种视频文件处理装置,其特征在于,包括:第一确定模块、第二确定模块、第三确定模块及第一存储模块;
所述第一确定模块,用于根据内存中存储的文件属性,确定文件系统的磁盘中的空闲数据块;其中,所述磁盘包括:多个块组,每个块组包括索引区和数据区,所述索引区包括:记录所述每个块组的数据块的文件属性的文件索引单元,所述数据区包括多个数据块;所述内存中的文件属性为:从所述每个块组的文件索引单元所加载的文件属性,所述文件属性包括:用于表征所述每个块组中各数据块的文件使用状态的信息;
所述第二确定模块,用于根据待存储的视频文件的大小,确定所述待存储的视频文件所需的数据块个数;
所述第三确定模块,用于根据所述待存储的视频文件所需的数据块个数,从所述空闲数据块中确定目标数据块;
所述第一存储模块,用于将所述待存储的视频文件存储至所述目标数据块中,并更新所述目标数据块所在块组的文件索引单元所记录的文件属性,以及所述内存中从所述目标数据块所在块组的文件索引单元所加载的文件属性。
10.如权利要求9所述的装置,其特征在于,还包括第一获取模块、加载模块;
所述第一获取模块,用于从所述磁盘中获取所述文件系统的属性信息,所述磁盘包括:超级块,所述超级块中存储有所述文件系统的属性信息;所述文件系统的属性信息包括:所述磁盘中的块组个数、所述磁盘中的数据块个数;
所述加载模块,用于将所述文件系统的属性信息加载至所述内存中。
11.如权利要求10所述的装置,其特征在于,还包括第四确定模块、第二存储模块及第一更新模块;所述每个块组的索引区包括主索引区和备索引区;
所述第四确定模块,用于确定所述每个块组的主索引区和备索引区是否存在异常索引;
所述第二存储模块,用于若所述主索引区和所述备索引区中的一个索引区存在异常索引,则将另一个索引区所记录的信息存储至所述内存;
所述第一更新模块,用于若接收到所述内存的访问请求,则根据所述另一个索引区所记录的信息更新所述异常索引。
12.如权利要求10所述的装置,其特征在于,所述内存中还存储有层级目录,所述层级目录包括:至少一个文件节点、每个文件节点所在的目录节点,以及文件节点与目录节点的父子关系,所述装置还包括创建模块及添加模块;
所述创建模块,用于创建所述待存储的视频文件的文件节点;
所述添加模块,用于将创建的文件节点添加至所述层级目录中所述创建的文件节点所在目录节点下。
13.根据权利要求12所述的装置,其特征在于,所述索引区还包括:记录所述每个块组的数据块的目录属性的目录索引单元;
所述内存还存储有:目录属性,以及目录索引单元的申请开始位置;所述层级目录还包括:目录节点之间的父子关系;所述内存中的目录属性为:从所述每个块组的目录索引单元所加载的目录属性;所述目录属性包括:用于表征所述每个块组的目录使用状态的信息。
14.根据权利要求13所述的装置,其特征在于,还包括第二获取模块、第五确定模块、第六确定模块、创建模块及第二更新模块;
所述第二获取模块,用于获取目录创建请求,所述目录创建请求包括:待创建目录名称,和所述待创建目录的路径信息;
所述第五确定模块,用于根据所述路径信息和所述层级目录,确定所述待创建目录的父目录节点;
第六确定模块,用于根据所述内存中的所述目录索引单元的申请开始位置和所述目录属性,确定所述磁盘中未使用的目录索引单元为目标目录索引单元;
所述创建模块,用于根据所述待创建目录名称,创建目录节点,并将创建的目录节点添加至所述层级目录中所述父目录节点下;
所述第二更新模块,用于更新所述内存中所述目标目录索引单元所记录的目录使用状态,以及所述磁盘中所述目标目录索引单元所记录的目录使用状态。
15.根据权利要求14所述的装置,其特征在于,还包括判断模块;
所述判断模块,用于判断所述父目录节点中是否存在与所述待创建目录名称相同的目录或文件;
所述第六确定模块,具体用于若不存在,则根据所述内存中的所述目录索引单元的申请开始位置和所述目录属性,确定所述磁盘中未使用的目录索引单元为所述目标目录索引单元。
16.如权利要求9所述的装置,其特征在于,还包括:第三获取模块、第七确定模块及操作模块;
所述第三获取模块,用于获取文件操作请求,所述文件操作请求包括:待操作文件的标识和操作类型;
所述第七确定模块,用于根据所述待操作文件的标识,从所述内存的所述文件属性中确定所述待操作文件在所述磁盘中的目标位置;
所述操作模块,用于根据所述操作类型,对所述磁盘中所述目标位置下的所述待操作文件进行所述操作类型对应的操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494901.3A CN110221782A (zh) | 2019-06-06 | 2019-06-06 | 视频文件处理方法及装置 |
CN201910971138.9A CN110531940B (zh) | 2019-06-06 | 2019-10-11 | 视频文件处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910494901.3A CN110221782A (zh) | 2019-06-06 | 2019-06-06 | 视频文件处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110221782A true CN110221782A (zh) | 2019-09-10 |
Family
ID=67816285
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910494901.3A Pending CN110221782A (zh) | 2019-06-06 | 2019-06-06 | 视频文件处理方法及装置 |
CN201910971138.9A Active CN110531940B (zh) | 2019-06-06 | 2019-10-11 | 视频文件处理方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910971138.9A Active CN110531940B (zh) | 2019-06-06 | 2019-10-11 | 视频文件处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110221782A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765076A (zh) * | 2019-10-25 | 2020-02-07 | 北京奇艺世纪科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN110765094A (zh) * | 2019-10-24 | 2020-02-07 | 重庆紫光华山智安科技有限公司 | 文件创建方法、装置、系统及存储介质 |
CN111221776A (zh) * | 2019-12-30 | 2020-06-02 | 上海交通大学 | 面向非易失性内存的文件系统的实现方法、系统及介质 |
CN111444152A (zh) * | 2020-03-30 | 2020-07-24 | 北京小米移动软件有限公司 | 文件系统、文件系统访问方法、电子设备及存储介质 |
CN111522507A (zh) * | 2020-04-14 | 2020-08-11 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
CN111666256A (zh) * | 2020-05-27 | 2020-09-15 | 南京通用电器有限公司 | 一种基于索引文件的录像文件磁盘管理方法及装置 |
CN113190503A (zh) * | 2021-05-08 | 2021-07-30 | 重庆紫光华山智安科技有限公司 | 文件系统扩容方法、装置、电子设备及存储介质 |
CN113268201A (zh) * | 2021-05-13 | 2021-08-17 | 三星(中国)半导体有限公司 | 基于文件属性的缓存管理方法和装置 |
CN113568868A (zh) * | 2021-07-28 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 文件系统管理方法、系统、电子设备及介质 |
CN116610383A (zh) * | 2023-05-25 | 2023-08-18 | 成都融见软件科技有限公司 | 一种部分加载目标文件的方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111068313B (zh) * | 2019-12-05 | 2021-02-19 | 腾讯科技(深圳)有限公司 | 一种应用中的场景更新控制方法、装置及存储介质 |
CN114327290B (zh) * | 2021-12-31 | 2022-12-02 | 科东(广州)软件科技有限公司 | 一种磁盘分区的结构、格式化方法和访问方法 |
CN114936188A (zh) * | 2022-05-30 | 2022-08-23 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115422121B (zh) * | 2022-07-25 | 2023-06-06 | 安芯网盾(北京)科技有限公司 | 利用inotify监控文件的方法、装置、电子设备和存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100578470C (zh) * | 2007-01-31 | 2010-01-06 | 浙江大学 | 基于裸设备的音视频数据存取方法和装置 |
CN101556557B (zh) * | 2009-05-14 | 2011-03-23 | 浙江大学 | 一种基于对象存储设备的对象文件组织方法 |
US8578120B2 (en) * | 2009-05-22 | 2013-11-05 | Commvault Systems, Inc. | Block-level single instancing |
CN101630322B (zh) * | 2009-08-26 | 2011-04-13 | 中国人民解放军信息工程大学 | 树形目录结构下的文件集在数据库中的存储和访问方法 |
CN102982182B (zh) * | 2012-12-21 | 2017-02-08 | 浙江宇视科技有限公司 | 一种数据存储规划方法及装置 |
CN103226965B (zh) * | 2013-03-29 | 2015-09-09 | 浙江大学 | 基于时间位图的音视频数据存取方法 |
CN105357229B (zh) * | 2015-12-22 | 2019-12-13 | 深圳市科漫达智能管理科技有限公司 | 一种视频处理方法及装置 |
CN108628753B (zh) * | 2017-03-24 | 2021-02-23 | 华为技术有限公司 | 内存空间管理方法和装置 |
CN107544873A (zh) * | 2017-08-28 | 2018-01-05 | 郑州云海信息技术有限公司 | 一种存放备份数据的备份系统和方法 |
CN109669622B (zh) * | 2017-10-13 | 2022-04-05 | 杭州海康威视系统技术有限公司 | 一种文件管理方法、文件管理装置、电子设备及存储介质 |
-
2019
- 2019-06-06 CN CN201910494901.3A patent/CN110221782A/zh active Pending
- 2019-10-11 CN CN201910971138.9A patent/CN110531940B/zh active Active
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110765094A (zh) * | 2019-10-24 | 2020-02-07 | 重庆紫光华山智安科技有限公司 | 文件创建方法、装置、系统及存储介质 |
CN110765076A (zh) * | 2019-10-25 | 2020-02-07 | 北京奇艺世纪科技有限公司 | 数据存储方法、装置、电子设备及存储介质 |
CN111221776B (zh) * | 2019-12-30 | 2023-06-23 | 上海交通大学 | 面向非易失性内存的文件系统的实现方法、系统及介质 |
CN111221776A (zh) * | 2019-12-30 | 2020-06-02 | 上海交通大学 | 面向非易失性内存的文件系统的实现方法、系统及介质 |
CN111444152A (zh) * | 2020-03-30 | 2020-07-24 | 北京小米移动软件有限公司 | 文件系统、文件系统访问方法、电子设备及存储介质 |
CN111522507A (zh) * | 2020-04-14 | 2020-08-11 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
CN111522507B (zh) * | 2020-04-14 | 2021-10-01 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
WO2021208239A1 (zh) * | 2020-04-14 | 2021-10-21 | 中山大学 | 一种低延迟的文件系统地址空间管理方法、系统及介质 |
CN111666256A (zh) * | 2020-05-27 | 2020-09-15 | 南京通用电器有限公司 | 一种基于索引文件的录像文件磁盘管理方法及装置 |
CN111666256B (zh) * | 2020-05-27 | 2024-03-22 | 南京通用电器有限公司 | 一种基于索引文件的录像文件磁盘管理方法及装置 |
CN113190503A (zh) * | 2021-05-08 | 2021-07-30 | 重庆紫光华山智安科技有限公司 | 文件系统扩容方法、装置、电子设备及存储介质 |
CN113190503B (zh) * | 2021-05-08 | 2022-12-02 | 重庆紫光华山智安科技有限公司 | 文件系统扩容方法、装置、电子设备及存储介质 |
CN113268201A (zh) * | 2021-05-13 | 2021-08-17 | 三星(中国)半导体有限公司 | 基于文件属性的缓存管理方法和装置 |
US11977485B2 (en) | 2021-05-13 | 2024-05-07 | Samsung Electronics Co., Ltd. | Method of cache management based on file attributes, and cache management device operating based on file attributes |
CN113568868A (zh) * | 2021-07-28 | 2021-10-29 | 重庆紫光华山智安科技有限公司 | 文件系统管理方法、系统、电子设备及介质 |
CN113568868B (zh) * | 2021-07-28 | 2024-02-06 | 重庆紫光华山智安科技有限公司 | 文件系统管理方法、系统、电子设备及介质 |
CN116610383A (zh) * | 2023-05-25 | 2023-08-18 | 成都融见软件科技有限公司 | 一种部分加载目标文件的方法 |
CN116610383B (zh) * | 2023-05-25 | 2024-02-20 | 成都融见软件科技有限公司 | 一种部分加载目标文件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110531940B (zh) | 2020-11-10 |
CN110531940A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110221782A (zh) | 视频文件处理方法及装置 | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
EP3230870B1 (en) | Elastic metadata and multiple tray allocation | |
US7257690B1 (en) | Log-structured temporal shadow store | |
US6421767B1 (en) | Method and apparatus for managing a storage system using snapshot copy operations with snap groups | |
JP4464279B2 (ja) | 分散ファイルシステムにおけるファイルの再ストライピングのためのシステム及び方法 | |
US9817724B2 (en) | Efficient FlashCopy backup target volume allocation with reuse and a shared resource pool | |
US9747046B2 (en) | Collision avoidance using dynamic target volume allocation in a single repository | |
US6675180B2 (en) | Data updating apparatus that performs quick restoration processing | |
US20020065835A1 (en) | File system assigning a specific attribute to a file, a file management method assigning a specific attribute to a file, and a storage medium on which is recorded a program for managing files | |
US7681001B2 (en) | Storage system | |
US20110010496A1 (en) | Method for management of data objects | |
CN106326229B (zh) | 一种嵌入式系统的文件存储方法和装置 | |
CN108733311B (zh) | 用于管理存储系统的方法和设备 | |
CN109582213B (zh) | 数据重构方法及装置、数据存储系统 | |
US10628298B1 (en) | Resumable garbage collection | |
EP3739450A1 (en) | Data processing method and apparatus, and computing device | |
US9454315B2 (en) | Efficient flashcopy backup target volume allocation from a shared resource pool while ingesting a flashcopy backup in a repository | |
CN110399333B (zh) | 删除快照的方法、设备和计算机程序产品 | |
US6192376B1 (en) | Method and apparatus for shadowing a hierarchical file system index structure to enable error recovery | |
CN113885809B (zh) | 数据管理系统及方法 | |
US20110271050A1 (en) | Storage system | |
US20150286423A1 (en) | Creating a stable flashcopy map (fcmaps) for ingest | |
US20120324182A1 (en) | Storage device | |
CN113391945A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190910 |