[发明专利]文件处理方法和装置有效
申请号: | 201510960517.X | 申请日: | 2015-12-17 |
公开(公告)号: | CN105608162B | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 陈飞;杨俊伟;关嘉华 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
主分类号: | G06F16/17 | 分类号: | G06F16/17 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 处理 方法 装置 | ||
本发明公开了一种文件处理方法和装置,该方法包括:通过数据库管理文件逻辑信息,该文件逻辑信息包括以下至少之一:目标文件在合并文件中的信息、合并文件的信息,其中,合并文件由多个目标文件合并而成;根据文件逻辑信息通过操作系统中的文件处理对合并文件并发进行操作。本发明解决了相关技术中串行处理小文件的方法导致效率低的问题。
技术领域
本发明涉及软件领域,具体而言,涉及一种文件处理方法和装置。
背景技术
在实现海量存储服务时,一台机器往往要存储千万数量的小文件,很容易超出机器的文件系统目录数量和文件数量限制,过多的小文件会影响系统的读写性能,容易产生磁盘碎片不能有效利用存储空间,所以需要将小文件进行合并。既然是提供海量的存储服务,那么还需要保证多用户并发读写效率,也就是保证将多文件合并的效率和从合并后大文件读小文件的效率,同时便于回收利用删除文件的空间。
在相关技术中,对小文件的合并都是串行进行的。例如,先打开一个文件用于合并,再将一个个小文件串行追加到文件的末尾,记录每个小文件的位置偏移信息和文件大小作为索引;读取时从索引集合中检索到小文件的索引,读取小文件位置偏移信息和文件大小,然后从合并的文件读取内容;删除小文件时,先删除小文件索引,然后将合并文件内其它文件平移占用删除文件的空间,再重建该合并文件的索引,这样小文件就从合并文件中删除了。
上述处理文件的方法均没有注重效率和吞吐量的问题,例如,由于合并文件时是串行进行的,如果多个用户存储文件,那就必须得等待;读取小文件时,小文件索引定位慢。这些问题导致了得处理文件的效率低,影响了存储服务的吞吐量。
发明内容
本发明实施例提供了一种文件处理方法和装置,以至少解决相关技术中串行处理小文件的方法导致效率低的问题。
根据本发明实施例的一个方面,提供了一种文件处理方法,该方法包括:通过数据库管理文件逻辑信息,所述文件逻辑信息包括以下至少之一:目标文件在合并文件中的信息、所述合并文件的信息;其中,所述合并文件由多个所述目标文件合并而成;根据所述文件逻辑信息通过调用操作系统中的文件处理对所述合并文件并发进行操作。
进一步地,通过所述数据库管理所述文件逻辑信息包括:在所述数据库中执行处理脚本,通过所述处理脚本的执行管理所述文件逻辑信息;其中,所述处理脚本的执行是原子性的,所述数据库为内存数据库。
进一步地,通过所述数据库管理所述文件逻辑信息包括:根据每个目标文件和合并文件对应的文件标识在所述数据库中管理所述文件逻辑信息;其中,所述数据库为键值数据库。
进一步地,在所述操作为打开所述合并文件并将所述目标文件合并到所述合并文件中的情况下,根据所述文件逻辑信息通过调用操作系统中的文件处理对所述合并文件并发进行操作包括:为所述目标文件分配其在所述合并文件中的信息并写入到所述数据库中,其中,所述目标文件在所述合并文件中的信息包括:位置偏移量和所述目标文件占用的空间,所述位置偏移量表示所述目标文件在所述合并文件中的起始位置;根据所述合并文件的信息打开所述合并文件,其中,所述合并文件的信息至少包括:所述合并文件的物理路径;根据位置偏移量和所述目标文件占用的空间将所述目标文件写入所述合并文件。
进一步地,在为所述目标文件分配其在所述合并文件中的信息之后,所述方法还包括:根据所述目标文件在所述合并文件中的信息对所述合并文件的信息中的以下至少之一进行更新:所述合并文件小文件的数量、所述合并文件中已经分配的空间大小、所述合并文件中的有效空间大小。
进一步地,为所述目标文件分配其在所述合并文件中的信息包括:从所述数据库中的资源回收区中选择占用空间大于或等于所述目标文件大小的项目;其中,所述项目是已经从所述合并文件中删除的文件,所述删除的文件的位置偏移量和占用的空间保留在所述数据库中;根据所述删除文件的位置偏移量和占用的空间为所述目标文件分配其在所述合并文件中的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510960517.X/2.html,转载请声明来源钻瓜专利网。