内存映射在超大文件中保存海量碎片文件的方法及介质技术

技术编号:33644575 阅读:36 留言:0更新日期:2022-06-02 20:20
本发明专利技术的一种基于内存映射在超大文件中保存海量碎片文件的方法及介质,其方法包括S1创建与初始化数据卷;S2当有图片数据需要进行保存时,利用位图算法查找到空闲的数据块,使用内存映射文件技术将图片信息快速写入至数据块中;S3当有文件需要读取时,根据请求的路径解析出此文件保存的数据块索引,在数据块索引找到数据块位置;同时采用内存映射文件技术将数据块内容映射至内存中,程序读取内存文件数据发送至客户端;S4根据不同业务中文件的生命周期,当生命周期到达时,只修改数据块的使用状态。本发明专利技术可用于减少原来操作系统中对于每一张图片的INODE描述文件数量,以及在图片的生命周期到达时,快速删除图片,同时减少高并发的磁盘IO。并发的磁盘IO。并发的磁盘IO。

【技术实现步骤摘要】
内存映射在超大文件中保存海量碎片文件的方法及介质


[0001]本专利技术涉及操作系统文件处理
,具体涉及一种基于内存映射在超大文件中保存海量碎片文件的方法及介质。

技术介绍

[0002]在交管业务管理平台中,需要对接前端设备(电警、卡口等) 产生的过车违法数据,每一条数据都需要保存当前过车、违法的图片数据,此类图片大小在(500kb至2M)左右,传统做法中采用Windows 或Linux操作系统挂载IPSAN网络硬件,利用操作系统自带的目录文件管理机制,实现大量的图片存储。而在实际运营中,因图片数量具大,文件数量太多,操作系统需要为每一个文件建立INODE数据信息,从而需要大量的INODE,导致浪费太多空间,此外因交警行业的特殊性,对于过车与违法数据都有一定的存储期限,对于到达存储期限的图片数据,因文件数量太大,大量的删除操作必然会引起磁盘的高IO操作从而影响磁盘性能以及寿命。因此如何高效地存储交警业务中的图片,提高性能瓶颈,降低存储成本成为交警行业中急需解决的问题。

技术实现思路

[0003]本专利技术提出的一种基于内存本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于内存映射在超大文件中保存海量碎片文件的方法,其特征在于,包括以下步骤,S1、创建与初始化数据卷;S2、数据保存,当有图片数据需要进行保存时,利用位图算法查找到空闲的数据块,使用内存映射文件技术将图片信息快速写入至数据块中;S3、文件读取,当有文件需要读取时,根据请求的路径解析出此文件保存的数据块索引,在数据块索引找到数据块位置;同时采用内存映射文件技术将数据块内容映射至内存中,程序读取内存文件数据发送至客户端;S4、文件删除,根据不同业务中文件的生命周期,当生命周期到达时,系统并不会去操作具体的文件数据,只修改数据块的使用状态。2.根据权利要求1所述的基于内存映射在超大文件中保存海量碎片文件的方法,其特征在于:步骤S1中以数据块形式保存具体文件内容、同时采用位图算法来记录每一个数据块的使用状态。3.根据权利要求1所述的基于内存映射在超大文件中保存海量碎片文件的方法,其特征在于:步骤S1具体包括,1a)初始化操作需要指定系统盘,数据盘,数据块大小,数据卷,数据卷数据过期时间;1b)根据录入的参数信息,创建元数据位图与数据卷,一个数据卷对应一个元数据位图,位图数据保存在系统盘中,位图大小为卷大小/块大小;同一卷中数据块大小相同;1c)数据卷会进行格式化操作,格式化最终会根据数据块大小,生成对应的元数据位图信息。4.根据权利要求1所述的基于内存映射在超大文件中保存海量碎片文件的方法,其特征在于:所述步骤S2具体包括,2a)系统接收到需要保存的图片数据时,首先会去根据当前图片大小并获取符保存数据的Volume以及Volume所对应的;2b)查找Volume所对应的INODE_BITMAP中数据位为0的位索引I_INDEX,计算得出当前图片数据所需要保存的数据块索引B_INDEX,B_INDEX=B_INDEX,同时得出图片在Volume中的保存起始偏移量B_OFFSET=BLOCK_SIZE*B_INDEX;2c)填充DATA_BLOCK数据项的值以及图片具体数据;2d)使用内存映射技术映射出Volume的B_OFFSET至B_OFFSET+BLOCK_SIZE文件内存至内存区域M_AREA;2e)通过系统接口将图片数据写入至映射的内存中;2f)成功写入内存M_AREA后,修改INODE_BITMAP中对应索引位置为1;返回此次文件保存路径,路径规则为:相对...

【专利技术属性】
技术研发人员:陶诗德朱文佳
申请(专利权)人:安徽百诚慧通科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1