一种用于文件系统的文件碎片整理方法及系统技术方案

技术编号:16038258 阅读:52 留言:0更新日期:2017-08-19 20:05
本发明专利技术公开了一种用于文件系统的文件碎片整理方法和系统,该方法包括:预先在各聚合文件中设置一个用于标识聚合文件自身已被读取的进度的偏移量;获取第一客户端对目标聚合文件的读写请求信息;判断当前是否有其他客户端对该目标聚合文件进行读写操作;若否,则赋予第一客户端读写独享权限,通过第一客户端获取目标聚合文件的偏移量,并从该偏移量的位置开始对目标聚合文件进行碎片整理;在第一客户端结束对目标聚合文件的碎片整理操作时,获取第一客户端读取的文件长度,并计算目标聚合文件的偏移量和读取的文件长度之和作为目标聚合文件新的偏移量进行偏移量更新。避免了多个客户端对同一个源文件的重复读取,提高了聚合文件碎片整理的效率。

【技术实现步骤摘要】
一种用于文件系统的文件碎片整理方法及系统
本专利技术涉及存储
,特别是涉及一种用于文件系统的文件碎片整理方法及系统。
技术介绍
随着数据的爆炸式发展,人们常常会遇到海量小文件的存储场景,而小文件的频繁创建、读写、下盘引出了很多问题。目前,很多用户针对这种场景将这些小文件打包存储到一个大文件中,该大文件常常称之为聚合文件,而打包的各小文件均称为源文件。当对聚合文件中的源文件进行删除时,为了达到快速删除的目的,并不将聚合文件中对应源文件的数据清除,而是做个标记表明源文件已经删除即可。因而会造成大量删除源文件之后,聚合文件中存储了大量无效的源文件数据。伴随着用户不停的创建、删除源文件操作,聚合文件中会有很大的一部分空间存储着无效的源文件数据,造成空间浪费,并且在用户通过预读读取文件时,命中率会下降很多,这样就需要定时对这些无效的源文件数据做一个清理操作,即聚合文件的碎片整理。考虑到文件系统可以部署在多个节点上,碎片整理的进程也可能会同时部署到多个节点上。因为不同的客户端访问的是同一个文件系统,多个客户端可能会对同一个聚合文件进行碎片整理操作。造成资源的浪费。因此,如何避免在碎片整理过本文档来自技高网...
一种用于文件系统的文件碎片整理方法及系统

【技术保护点】
一种用于文件系统的文件碎片整理方法,其特征在于,包括:预先在各聚合文件中设置一个用于标识聚合文件自身已被读取的进度的偏移量;获取第一客户端对目标聚合文件的读写请求信息;判断当前是否有其他客户端对该目标聚合文件进行读写操作;若否,则赋予所述第一客户端读写独享权限,通过所述第一客户端获取所述目标聚合文件的偏移量,并从该偏移量的位置开始对所述目标聚合文件进行碎片整理;在所述第一客户端结束对所述目标聚合文件的碎片整理操作时,获取所述第一客户端读取的文件长度,并计算所述目标聚合文件的偏移量和读取的文件长度之和作为所述目标聚合文件新的偏移量进行偏移量更新。

【技术特征摘要】
1.一种用于文件系统的文件碎片整理方法,其特征在于,包括:预先在各聚合文件中设置一个用于标识聚合文件自身已被读取的进度的偏移量;获取第一客户端对目标聚合文件的读写请求信息;判断当前是否有其他客户端对该目标聚合文件进行读写操作;若否,则赋予所述第一客户端读写独享权限,通过所述第一客户端获取所述目标聚合文件的偏移量,并从该偏移量的位置开始对所述目标聚合文件进行碎片整理;在所述第一客户端结束对所述目标聚合文件的碎片整理操作时,获取所述第一客户端读取的文件长度,并计算所述目标聚合文件的偏移量和读取的文件长度之和作为所述目标聚合文件新的偏移量进行偏移量更新。2.根据权利要求1所述的方法,其特征在于,所述预先在各聚合文件中设置一个用于标识聚合文件自身已被读取的进度的偏移量,包括:预先在各聚合文件的元数据或扩展属性中扩展一个用于记录客户端读取进度的偏移量;将各聚合文件的偏移量初始化为零。3.根据权利要求2所述的方法,其特征在于,所述赋予所述第一客户端读写独享权限,通过所述第一客户端获取所述目标聚合文件的偏移量,并从该偏移量的位置开始对所述目标聚合文件进行碎片整理,包括:赋予所述第一客户端对所述目标聚合文件的读写操作的独享权限;通过所述第一客户端获取所述目标聚合文件的当前偏移量的位置;从该当前偏移量的位置开始读取所述目标聚合文件中的一个固定长度的对象,对该对象进行碎片整理。4.一种用于文件系统的文件...

【专利技术属性】
技术研发人员:王伟波
申请(专利权)人:广东浪潮大数据研究有限公司
类型:发明
国别省市:广东,44

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

1