The invention discloses a file processing method and device, which includes: managing the file logic information through a database, and the file logic information includes at least one of the following: information of the target file in the merged file, information of the merged file, in which the merged file is merged by multiple target files, and processing the file in the operating system according to the file logic information. Merge files and operate concurrently. The invention solves the problem of low efficiency caused by the method of serially processing small files in the related technology.
【技术实现步骤摘要】
文件处理方法和装置
本专利技术涉及软件领域,具体而言,涉及一种文件处理方法和装置。
技术介绍
在实现海量存储服务时,一台机器往往要存储千万数量的小文件,很容易超出机器的文件系统目录数量和文件数量限制,过多的小文件会影响系统的读写性能,容易产生磁盘碎片不能有效利用存储空间,所以需要将小文件进行合并。既然是提供海量的存储服务,那么还需要保证多用户并发读写效率,也就是保证将多文件合并的效率和从合并后大文件读小文件的效率,同时便于回收利用删除文件的空间。在相关技术中,对小文件的合并都是串行进行的。例如,先打开一个文件用于合并,再将一个个小文件串行追加到文件的末尾,记录每个小文件的位置偏移信息和文件大小作为索引;读取时从索引集合中检索到小文件的索引,读取小文件位置偏移信息和文件大小,然后从合并的文件读取内容;删除小文件时,先删除小文件索引,然后将合并文件内其它文件平移占用删除文件的空间,再重建该合并文件的索引,这样小文件就从合并文件中删除了。上述处理文件的方法均没有注重效率和吞吐量的问题,例如,由于合并文件时是串行进行的,如果多个用户存储文件,那就必须得等待;读取小文件时, ...
【技术保护点】
1.一种文件处理方法,其特征在于,包括:通过数据库管理文件逻辑信息,所述文件逻辑信息包括以下至少之一:目标文件在合并文件中的信息、所述合并文件的信息;其中,所述合并文件由多个所述目标文件合并而成;根据所述文件逻辑信息通过调用操作系统中的文件处理对所述合并文件并发进行操作;其中,在所述操作为打开所述合并文件并将所述目标文件合并到所述合并文件中的情况下,根据所述文件逻辑信息通过调用操作系统中的文件处理对所述合并文件并发进行操作包括:为所述目标文件分配其在所述合并文件中的信息并写入到所述数据库中,其中,所述目标文件在所述合并文件中的信息包括:位置偏移量和所述目标文件占用的空间,所 ...
【技术特征摘要】
1.一种文件处理方法,其特征在于,包括:通过数据库管理文件逻辑信息,所述文件逻辑信息包括以下至少之一:目标文件在合并文件中的信息、所述合并文件的信息;其中,所述合并文件由多个所述目标文件合并而成;根据所述文件逻辑信息通过调用操作系统中的文件处理对所述合并文件并发进行操作;其中,在所述操作为打开所述合并文件并将所述目标文件合并到所述合并文件中的情况下,根据所述文件逻辑信息通过调用操作系统中的文件处理对所述合并文件并发进行操作包括:为所述目标文件分配其在所述合并文件中的信息并写入到所述数据库中,其中,所述目标文件在所述合并文件中的信息包括:位置偏移量和所述目标文件占用的空间,所述位置偏移量表示所述目标文件在所述合并文件中的起始位置;根据所述合并文件的信息打开所述合并文件,其中,所述合并文件的信息至少包括:所述合并文件的物理路径;根据位置偏移量和所述目标文件占用的空间将所述目标文件写入所述合并文件;为所述目标文件分配其在所述合并文件中的信息包括:从所述数据库中的资源回收区中选择占用空间大于或等于所述目标文件大小的项目;其中,所述项目是已经从所述合并文件中删除的文件,所述删除的文件的位置偏移量和占用的空间保留在所述数据库中;根据所述删除文件的位置偏移量和占用的空间为所述目标文件分配其在所述合并文件中的信息。2.根据权利要求1所述的方法,其特征在于,通过所述数据库管理所述文件逻辑信息包括:在所述数据库中执行处理脚本,通过所述处理脚本的执行管理所述文件逻辑信息;其中,所述处理脚本的执行是原子性的,所述数据库为内存数据库。3.根据权利要求1所述的方法,其特征在于,通过所述数据库管理所述文件逻辑信息包括:根据每个目标文件和合并文件对应的文件标识在所述数据库中管理所述文件逻辑信息;其中,所述数据库为键值数据库。4.根据权利要求1所述的方法,其特征在于,在为所述目标文件分配其在所述合并文件中的信息之后,所述方法还包括:根据所述目标文件在所述合并文件中的信息对所述合并文件的信息中的以下至少之一进行更新:所述合并文件小文件的数量、所述合并文件中已经分配的空间大小、所述合并文件中的有效空间大小。5.根据权利要求1所述的方法,其特征在于,根据所述删除文件的位置偏移量和占用的空间为所述目标文件分配其在所述合并文件中的信息包括:在所述删除文件占用的空间大于所述目标文件的大小的情况下,将所述删除文件的位置偏移量分配给所述目标文件,并从所述删除文件占用...
【专利技术属性】
技术研发人员:陈飞,杨俊伟,关嘉华,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。