多模态文件的数据存储管理方法、设备及存储介质与流程
本技术涉及文件管理,尤其涉及一种多模态文件的数据存储管理方法、设备及存储介质。
背景技术:
1、不同模态的文件在体量与更新模式上差异显著。其中,文本、日志类文件体量较小、更新频繁,图像文件体量适中、以整体读写为主,音频、视频等多媒体文件则体量庞大,且常因流式录制、剪辑等操作而频繁发生长度增减。
2、在相关技术中,应用系统将多模态文件保存于磁盘文件系统,并在数据库中记录文件的路径和名称等信息。部分系统采用基于数据库的大文件存储机制,将文件按照固定大小拆分为多个数据块,通过一个数据集合保存文件的名称和大小等属性信息,通过另一个数据集合按照拆分顺序保存各个数据块,读取文件时按照拆分顺序依次读取各个数据块并拼装还原为完整文件。
3、然而,存储机制在保存文件时采用整体写入的方式,文件保存完成后,其各个数据块的内容即被固化。当业务需要对已保存的文件调整长度时,存储机制无法在已有数据块的基础上进行局部变更,只能重新生成变更后文件的全部数据,并将全部数据重新拆分后整体写入。对于体积较大的文件,一次仅涉及少量内容变更的长度调整,也需要重新拆分和写入整个文件,传输和写入的数据量与文件整体大小相当,变更过程中占用的传输资源和存储资源随文件体积增大而持续增长,导致大文件的长度变更效率低下,海量文件场景下频繁的文件更新需求难以得到满足。
4、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本技术的主要目的在于提供一种多模态文件的数据存储管理方法、设备及存储介质,旨在解决大文件的长度变更效率低下,导致文件频繁的更新需求难以满足的技术问题。
2、为实现上述目的,本技术提供一种多模态文件的数据存储管理方法,所述的方法包括以下步骤:
3、接收针对目标文件的写入请求时,将所述目标文件按预定块长度划分为数据块并写入文件内容表,记录各所述数据块所属的文件标识和存储顺序,并将所述文件标识和所述目标文件的文件长度写入文件入口表;
4、接收针对所述目标文件的长度修改请求时,将所述长度修改请求中的目标长度与所述文件入口表中的所述文件长度进行比较;
5、在所述目标长度大于所述文件长度时,初始化扩展数据块并记录至所述文件内容表,在所述目标长度小于所述文件长度时,删除所述文件内容表中超出所述目标长度的数据块;
6、将所述文件入口表中的所述文件长度更新为所述目标长度。
7、在一实施例中,所述接收针对目标文件的写入请求时,将所述目标文件按预定块长度划分为数据块并写入文件内容表,记录各所述数据块所属的文件标识和存储顺序,并将所述文件标识和所述目标文件的文件长度写入文件入口表的步骤之后,还包括:
8、接收针对所述目标文件的读取请求,所述读取请求携带读取起始位置和读取长度;
9、根据所述读取起始位置和所述读取长度,确定待读取的目标数据块;
10、按所述存储顺序从所述文件内容表中读取各所述目标数据块;
11、将读取到的各所述目标数据块拼接为读取数据并返回。
12、在一实施例中,所述接收针对所述目标文件的读取请求,所述读取请求携带读取起始位置和读取长度的步骤之后,还包括:
13、接收针对所述目标文件的长度查询请求;
14、根据所述文件标识查询所述文件入口表,获取所述目标文件的所述文件长度;
15、将获取的所述文件长度作为所述目标文件的总长度返回。
16、在一实施例中,所述将所述文件入口表中的所述文件长度更新为所述目标长度的步骤之后,还包括:
17、接收针对所述目标文件的删除请求,所述删除请求携带所述文件标识;
18、在所述文件入口表中删除所述文件标识对应的入口记录;
19、在所述文件内容表中删除所述文件标识对应的全部所述数据块。
20、在一实施例中,所述接收针对目标文件的写入请求时,将所述目标文件按预定块长度划分为数据块并写入文件内容表,记录各所述数据块所属的文件标识和存储顺序,并将所述文件标识和所述目标文件的文件长度写入文件入口表的步骤包括:
21、将所述目标文件按一兆字节的所述预定块长度划分为至少一个所述数据块;
22、为各所述数据块生成对应的云存储文件名;
23、将各所述数据块的数据块大小和所述云存储文件名,与所述文件标识和所述存储顺序对应记录至所述文件内容表。
24、在一实施例中,所述将所述目标文件按一兆字节的所述预定块长度划分为至少一个所述数据块的步骤之前,还包括:
25、建立路径表,在所述路径表中记录存储路径及各所述存储路径对应的存储类型标识;
26、将用于存储所述目标文件的目标存储路径的所述存储类型标识设置为第一预设值;
27、根据所述第一预设值从所述路径表中确定所述目标存储路径;
28、将所述目标存储路径与所述文件标识对应写入所述文件入口表,并在所述文件入口表中记录所述目标文件的文件名、目录标识、创建时间、修改时间和访问时间。
29、在一实施例中,所述接收针对目标文件的写入请求时,将所述目标文件按预定块长度划分为数据块并写入文件内容表,记录各所述数据块所属的文件标识和存储顺序,并将所述文件标识和所述目标文件的文件长度写入文件入口表的步骤包括:
30、由文件操作微引擎接收所述写入请求,将所述写入请求对应的待写入数据缓存至内存;
31、由所述文件操作微引擎在后台预读所述目标文件的所述数据块;
32、按照慢速写入策略,将缓存的所述待写入数据划分为所述数据块后异步写入所述文件内容表。
33、在一实施例中,所述由文件操作微引擎接收所述写入请求,将所述写入请求对应的待写入数据缓存至内存的步骤之前,还包括:
34、识别所述目标文件的文件类型;
35、在所述文件类型为压缩包类型时,在内存中解压所述目标文件,得到解压文件;
36、将所述解压文件按所述预定块长度划分为数据块写入所述文件内容表,并在所述文件入口表中生成所述解压文件的入口记录。
37、此外,为实现上述目的,本技术还提供一种多模态文件的数据存储管理设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序配置为实现如上所述的多模态文件的数据存储管理方法的步骤。
38、此外,为实现上述目的,本技术还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的多模态文件的数据存储管理方法的步骤。
39、本技术提出的一个或多个技术方案,至少具有以下技术效果:
40、本技术通过在接收到针对目标文件的写入请求时,将目标文件按预定块长度划分为数据块并写入文件内容表,记录各数据块所属的文件标识和存储顺序,并将文件标识和目标文件的文件长度写入文件入口表,使文件的属性信息与内容数据分表保存。在接收到针对目标文件的长度修改请求时,将长度修改请求中的目标长度与文件入口表中记录的文件长度进行比较,在目标长度大于文件长度时初始化扩展数据块并记录至文件内容表,在目标长度小于文件长度时删除文件内容表中超出目标长度的数据块,并将文件入口表中的文件长度更新为目标长度。由此,文件长度的变更转化为对文件内容表中数据块的局部增加或者删除,以及对文件入口表中长度信息的更新,无需重新生成和写入整个文件的全部数据,变更涉及的数据量仅与长度变化的部分相关,与文件整体大小无关,从而降低了文件长度变更所占用的传输资源和存储资源,使已保存的大文件能够高效地完成长度调整,满足海量文件场景下频繁的文件更新需求。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com