本公开涉及计算机系统,特别是涉及一种文件系统的运行方法、装置、计算机设备和存储介质。
背景技术:
1、随着安防技术的快速发展,安防监控逐渐向着数字化、网络化、智能化的方向演进,目前主要采用ext4(linux操作系统中最常用的文件系统之一)、xfs(一种高性能的日志文件系统)等通用文件系统对安防监控产生的视频数据进行存储。
2、然而,通用文件系统在运行过程中,需要根据视频数据的写入情况,实时更新文件系统元数据,并在物理存储空间中预留一定的空间进行文件系统元数据的存储,导致物理存储空间的空间利用率低,且通用文件系统在进行数据读写操作时,不仅要进行实际数据读写还要进行文件系统元数据的读写,影响文件系统运行的性能。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种高性能、高空间利用率的文件系统的运行方法、装置、计算机设备和存储介质。
2、在第一方面,本公开实施例提供了一种文件系统的运行方法,该文件系统用于管理视频数据,该文件系统对应的物理存储空间被划分为第一存储空间和第二存储空间。该文件系统的运行方法可以包括:响应于格式化指令,将文件系统的头信息写入第一存储空间中,根据头信息生成文件系统元数据,将文件系统元数据存储并保留在操作系统内存中,以使文件系统元数据在文件系统运行过程中保持不变,响应于目标视频数据写入指令,将目标视频数据存储至第二存储空间的目标块文件中。
3、其中,文件系统元数据包括超级块信息、目录项信息和索引节点信息,用于将第二存储空间映射为多个空间地址连续且容量和属性信息均相同的块文件。
4、在一些实施例中,根据头信息生成文件系统元数据,可以包括:从第一存储空间中读取头信息,初始化文件系统对应的超级块,将头信息填充至超级块,生成文件系统的超级块信息、挂载根目录的索引节点信息和目录项信息。
5、其中,超级块信息至少包括文件系统的类型信息、索引节点和块文件数量,索引节点信息包括文件系统根目录下多个文件的属性信息和文件指针信息,目录项信息包括所有文件的文件名和索引节点编号。
6、在一些实施例中,生成索引节点信息,可以包括:生成根目录下多个文件的属性信息,且各个文件的属性信息均一致。文件系统根目录下多个文件的属性信息至少包括文件权限、文件大小和文件所有者信息。
7、在一些实施例中,文件系统的目录结构为单层结构,文件系统的索引节点仅包括根目录节点和与块文件数量相对应的多个文件节点。
8、根目录节点的索引节点编号被配置为固定值,多个文件节点中各个文件节点的索引节点编号从预设的起始编号开始依次递增,多个文件节点对应的多个文件的文件名按预设的命名规则依次命名,任一文件节点的索引节点编号与其文件名存在对应关系。
9、在一些实施例中,文件系统的运行方法还可以包括:响应于目标文件的读写操作指令,根据目标文件的对应的文件节点的索引节点编号、预设的偏移量和预设的块文件容量确定目标文件在第二存储空间中的目标地址信息,根据目标地址信息对目标文件进行数据读取或数据写入。
10、在一些实施例中,文件系统的运行方法还可以包括:响应于目标文件的读写操作指令,根据目标文件的文件名、预设的偏移量和预设的块文件容量确定目标文件在第二存储空间中的目标地址信息,根据目标地址信息对目标文件进行数据读取或数据写入。
11、在一些实施例中,块文件的容量与头信息中包括的单位块文件磁盘固定单元数量相对应,第二存储空间中块文件的个数与头信息中包括的块文件数量相对应。
12、在一些实施例中,块文件的个数由第二存储空间的容量和单位块文件磁盘固定单元数量确定。
13、在一些实施例中,将文件系统的头信息写入第一存储空间中,可以包括:将头信息写入第一存储空间,并在第一存储空间中进行冗余备份。
14、在一些实施例中,视频数据为流媒体数据,将目标视频数据存储至第二存储空间的目标块文件中,可以包括:在第二存储空间中的所有块文件的存储状态均为占满状态时,将目标视频数据从第二存储空间的首个块文件开始依次写入各个块文件中,并将各个块文件的历史视频数据依次进行覆盖。
15、在第二方面,本公开实施例提供了一种运行文件系统的装置,该文件系统用于管理视频数据,该文件系统对应的物理存储空间被划分为第一存储空间和第二存储空间。运行该文件系统的装置可以包括:格式化模块、元数据生成模块、元数据存储模块和操作指令处理模块。
16、格式化模块用于响应于格式化指令,将文件系统的头信息写入第一存储空间中。
17、元数据生成模块用于根据头信息生成文件系统元数据。
18、元数据存储模块用于将文件系统元数据存储并保留在操作系统内存中,以使文件系统元数据在文件系统运行过程中保持不变。文件系统元数据包括超级块信息、目录项信息和索引节点信息,用于将第二存储空间映射为多个空间地址连续且容量和属性信息均相同的块文件。
19、操作指令处理模块用于响应于目标视频数据写入指令,将目标视频数据存储至第二存储空间的目标块文件中。
20、在第三方面,本公开实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面本公开任一实施例中的文件系统的运行方法的步骤。
21、在第四方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面本公开任一实施例中的文件系统的运行方法的步骤。
22、上述文件系统的运行方法、装置、计算机设备和存储介质涉及的方案中,文件系统元数据基于文件系统的头信息计算生成,并保留在操作系统内存中,且文件系统元数据在文件系统运行过程中保持不变,不进行更新和读写操作,占用空间较小,可以始终保留在内存中,无需额外占用物理存储空间。文件系统对应的物理存储空间仅存储头信息和视频数据,头信息的存储空间通常以kb(千字节)为单位,对于以tb(太字节)为单位的物理存储空间而言,文件系统的空间利用率较高,接近100%。第二存储空间中的多个块文件空间地址连续,对于视频数据存储具有较高的读写性能。在进行视频数据读写时,无需进行文件系统元数据的读写操作,无需进行更新,进一步提高了文件系统运行的性能。
23、此外,上述文件系统完成格式化和挂载操作后,第二存储空间基于文件系统元数据被按照固定的规则进行块文件的创建,各个块文件属性均相同,具有较好的数据恢复特性。且由于物理存储空间中不保存文件系统元数据,当发生数据写失败时不存在元数据更新不一致问题,也不需要写日志和元数据回滚。
1.一种文件系统的运行方法,其特征在于,所述文件系统用于管理视频数据,所述文件系统对应的物理存储空间被划分为第一存储空间和第二存储空间;所述方法包括:响应于格式化指令,将所述文件系统的头信息写入所述第一存储空间中;
2.根据权利要求1所述的方法,其特征在于,所述根据所述头信息生成文件系统元数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述文件系统根目录下多个文件的属性信息至少包括文件权限、文件大小和文件所有者信息;
4.根据权利要求2所述的方法,其特征在于,所述文件系统的目录结构为单层结构;所述文件系统的索引节点仅包括根目录节点和与所述块文件数量相对应的多个文件节点;
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,所述块文件的容量与所述头信息中包括的单位块文件磁盘固定单元数量相对应;
7.根据权利要求1所述的方法,其特征在于,所述将所述文件系统的头信息写入所述第一存储空间中,包括:
8.根据权利要求1所述的方法,其特征在于,所述视频数据为流媒体数据;所述将所述目标视频数据存储至所述第二存储空间的目标块文件中,包括:
9.一种运行文件系统的装置,其特征在于,所述文件系统用于管理视频数据,所述文件系统对应的物理存储空间被划分为第一存储空间和第二存储空间;所述装置包括:格式化模块,用于响应于格式化指令,将所述文件系统的头信息写入所述第一存储空间中;
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。