聚集文件的存储方法和系统以及聚集文件压缩方法和系统技术方案

技术编号:14866440 阅读:153 留言:0更新日期:2017-03-20 14:21
本发明专利技术公开了一种存储聚集文件的方法以及压缩聚集文件的方法,包括:获取待压缩的聚集文件;基于与所获取的聚集文件对应的删除文件中所存储的被删除对象的元数据,将所获取的聚集文件中的剩余的对象复制到新的聚集文件中;以及移除所获取的聚集文件。

【技术实现步骤摘要】

本公开涉及聚集文件的存储方法和系统以及用于聚集文件压缩方法和系统,更具体地,涉及一种对聚集文件进行压缩以回收存储空间的方法和系统。
技术介绍
随着数字技术的发展,尤其是互联网的广泛应用,数字文件每天都在爆发性地增长。如何存储和管理这些每天产生的数据文件正日益成为人们需要面对的问题。为此,人们将一些小文件,例如大约0-上百KB的文件,聚集起来存放,形成一个聚集文件(aggregatedfile)。这种聚集文件采用只追加方法(append-onlymethod)来存储这些小文件。也就是说,通过一个文件紧接着一个文件的方式存储文件,直到该聚集文件的空间被填满为止。采用这种方式来存储多个小文件,能够将常见的文件写入过程从“随机磁盘输入”改变成“顺序磁盘输入”;能够将一些小文件的索引保持在内存中从而在读取一个小文件内容时只需要一次磁盘读取操作,从而显著减少文件系统的文件元信息数据(inode)使用。但是聚集文件中的一些小文件会被不断更新、删除。由于聚集文件的填充方式采用“只追加方式”,因此,随着时间推移,一个被填充满的聚集文件会由于小文件的不断被更新或删除而留下很多“未使用空间”或“删除空间”。这会导致存储空间的浪费。为此,人们期望有能够回收这些“未使用空间”或“删除空间”,从而降低存储成本;降低存储空间的浪费,从而提高存储空间的利用率。
技术实现思路
根据本公开的一个方面,提供了一种压缩聚集文件的方法,包括:获取待压缩聚集文件;基于与所获取的聚集文件对应的删除文件中所存储的被删除对象的元数据,将所获取的聚集文件中的剩余的对象复制到新的聚集文件中;以及移除所获取的聚集文件。根据本公开的另一个方面,提供了一种用于压缩聚集文件的计算机系统,包括:一个或多个处理器、一个或多个计算机可读内存、一个或多个计算机可读有形存储器件以及存储在所述一个或多个存储器件中的至少一个上用于经由所述一个或多个计算机可读内存的至少一个由所述由所述一个或多个处理器的至少一个执行的程序指令,其中所述计算机系统能够执行一种方法,该方法包括:获取待压缩聚集文件;基于与所获取的聚集文件对应的删除文件中所存储的被删除对象的元数据,将所获取的聚集文件中的剩余的对象复制到新的聚集文件中;以及移除所获取的聚集文件。本公开的另一个方面,还提供了一种聚集文件存储系统,包括:一个或多个聚集文件区段,每个聚集文件区段按照只追加方式顺序存储多个对象;一个或多个内存索引区段,每个存储有在与聚集文件对应的对象对应的元数据;以及一个或多个专用删除文件区段,每个存储与从相应的聚集文件中的被删除的对象对应的元数据。本公开使用了专用删除文件来保存删除信息,使得在利用这种专用删除文件确定对象不存在的访问时对磁盘操作的数量不会大于采用现有技术确定对象不存在的访问时的磁盘操作的数量。附图说明通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。图1示出了适于用来实现本公开实施方式的示例性计算机系统/服务器12的框图。图2所示的是一种聚集文件的常规结构示意图。图3所示的是根据本公开的实施例的聚集文件构成示意图。图4所示的是根据本公开的实施例的复制压缩聚集文件的总体流程图。图5所示的是根据本公开的实施例的用于压缩聚集文件的系统的基本框图。图6所示的是根据本公开的实施例的执行复制压缩处理流程图。图7所示的是根据本公开的实施例的选择所要复制压缩的聚集文件的流程图。图8所示是根据本公开的实施例的对聚集文件执行复制压缩处理的流程示意图。图9所示的根据本公开的实施例的对聚集文件执行复制和压缩的存储系统的具体示意图。具体实施方式下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。图1示出了适于用来实现本公开实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本公开所描述的实施例中的功能和本文档来自技高网...

【技术保护点】
一种用于压缩聚集文件的方法,包括:获取待压缩的聚集文件;基于与所获取的聚集文件对应的删除文件中所存储的被删除对象的元数据,将所获取的聚集文件中的剩余的对象复制到新的聚集文件中;以及移除所获取的聚集文件。

【技术特征摘要】
1.一种用于压缩聚集文件的方法,包括:
获取待压缩的聚集文件;
基于与所获取的聚集文件对应的删除文件中所存储的被删除对象的元数
据,将所获取的聚集文件中的剩余的对象复制到新的聚集文件中;以及
移除所获取的聚集文件。
2.根据权利要求1所述的用于压缩聚集文件的方法,其中所述将所获取
的聚集文件中的剩余的对象复制到新的聚集文件中包括:创建过渡删除文件,
所述过渡删除文件不同于所获取的聚集文件对应的删除文件。
3.根据权利要求2所述的用于压缩聚集文件的方法,其中响应于在将所
获取的聚集文件中的剩余的对象复制到新的聚集文件过程中有新的删除操
作,在所获取的聚集文件中执行该新的删除操作,并将被删除对象的元数据
记录在过渡删除文件中。
4.根据权利要求3所述的用于压缩聚集文件的方法,还包括:
利用所述过渡删除文件的元数据查询新的聚集文件的元数据,以更新过
渡删除文件中的元数据;以及
删除新的聚集文件中的相应的对象,使得过渡删除文件与新的聚集文件
的对象对应。
5.根据权利要求4所述的用于压缩聚集文件的方法,还包括:将过渡删
除文件作为与新的聚集文件对应的新删除文件。
6.根据权利要求1所述的用于压缩聚集文件的方法,其中所述元数据包
括下列至少之一:对象的文件名、在聚集文件中的偏移量以及文件的大小。
7.根据权利要求1所述的用于压缩聚集文件的方法,所述获取待压缩聚
集文件包括:
计算各个聚集文件中的总删除空间;以及
选择具有最大的总删除空间的聚集文件作为被压缩的聚集文件。
8.根据权利要求1所述的压缩聚集文件的方法,其中所述将所述聚集文
件中的剩余的对象复制到新的聚集文件中包括:基于所获取的聚集文件对应
的删除文件,确定被删除对象的位置,从而通过顺序读取包含多个未删除对
象的大块来复制聚集文件。
9.一种用于压缩聚集文件的系统,包括:
被配置为获取待压缩的聚集文件的装置;
被配置为基于与所获取的聚集文件对应的删除文件中所存储的被删除对
象的元数据,将所获取的聚集文件中的剩余的对象复制到新的聚集文件中的
装置;以及
被配置为移除所获取的聚集文件的装置。
10.根据权利要求9所述的用于压缩聚集文件的系统,还包括:被配置
为在将所获取的聚集文件中的剩余的对象复制到新的聚集文件过程中,创建
过渡删除文件的装置,所述过渡删除文件不同于所获取的聚集文件对应的删
除文件。
1...

【专利技术属性】
技术研发人员:曾春光纪海李媛媛杨晓阳
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

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

1