CN101178726A - 数据文件解归档的方法和系统 - Google Patents

数据文件解归档的方法和系统 Download PDF

Info

Publication number
CN101178726A
CN101178726A CNA2007101698097A CN200710169809A CN101178726A CN 101178726 A CN101178726 A CN 101178726A CN A2007101698097 A CNA2007101698097 A CN A2007101698097A CN 200710169809 A CN200710169809 A CN 200710169809A CN 101178726 A CN101178726 A CN 101178726A
Authority
CN
China
Prior art keywords
file
data
data file
archive
header
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007101698097A
Other languages
English (en)
Other versions
CN101178726B (zh
Inventor
温卡特·温卡特苏布拉
卡维萨·拉玛林加姆
普拉莫德·A.·班迪瓦德
曼祖纳斯·B.·马特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101178726A publication Critical patent/CN101178726A/zh
Application granted granted Critical
Publication of CN101178726B publication Critical patent/CN101178726B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种计算机实施的方法、数据处理系统和计算机程序产品,用于在对同一文件系统中的文件进行解归档时高效地使用磁盘空间。为了识别在归档文件中数据文件的总数目而读取所述归档文件。根据数据文件的总数目确定所述归档文件中文件头的数目。从归档文件中最大数据文件所对应的文件头中的偏移量,确定所述最大数据文件的第一磁盘空间的位置。然后将所述最大数据文件从所述第一磁盘空间中复制到第二磁盘空间。然后通过截断所述归档文件而释放由所述最大数据文件占据的所述第一磁盘空间。对所述归档文件中的每个数据文件都重复所述获得、复制和释放步骤,直到全部的数据文件都被解归档。

Description

数据文件解归档的方法和系统
技术领域
一般说来,本发明涉及改进的数据处理系统,确切地说,涉及计算机实施的方法、数据处理系统和计算机程序产品,用于在对同一文件系统中的文件进行解归档时高效地使用磁盘空间。
背景技术
在UNIX服务器中,“tar”命令通常用于对文件进行归档和解归档。归档包括将许多文件组合成单一文件的过程,该文件也称为归档文件。解归档包括从归档中重建若干原始文件的过程。为了在UNIX内对许多指定的数据文件进行归档,可以使用“tar”(用于磁带归档)命令从数据文件集创建归档文件。为了对归档文件进行解归档,使用了“tar”命令,它从归档文件中提取各个文件。由于“tar”不具有内建的数据压缩能力,“tar”常常与外部的压缩实用程序比如gzip或bzip2级联使用来压缩单一文件,以使归档空间最大化。
对文件进行解归档的过程目前需要与“tar”文件的大小相等的磁盘空间量可用。如果“tar”文件和提取的若干文件都需要在同一文件系统中,所述tar文件会把这些文件逐个提取到文件系统中。不过,如果文件系统中没有足够的空间容纳全部提取的文件,所述提取将会停止。所述“tar”文件在提取的过程期间保持不变,因为所述文件系统为了成功的提取需要具有等于所述“tar”文件的空闲空间。这种磁盘空间大小需求可能有问题,因为在许多情况下,“tar”文件可能占用大量的磁盘空间,执行解归档所需的空间量并非总是可得到。在这些磁盘空间状况下,系统管理员必须或者增加文件系统的大小以容纳解归档过程,或者清除文件系统中不想要的文件以获得所需的空间。
发明内容
展示性实施例提供了计算机实施的方法、数据处理系统和计算机程序产品,用于在对同一文件系统中的文件进行解归档时高效地使用磁盘空间。为了识别在归档文件中数据文件的总数目而读取所述归档文件。根据数据文件的总数目确定所述归档文件中文件头的数目。从归档文件中最大数据文件所对应的文件头中的偏移量,确定所述最大数据文件的第一磁盘空间的位置。然后将所述最大数据文件从所述第一磁盘空间中复制到第二磁盘空间。然后通过截断所述归档文件而释放由所述最大数据文件占据的所述第一磁盘空间。对所述归档文件中的每个数据文件都重复所述获得、复制和释放步骤,直到全部的数据文件都被解归档。
附图说明
在附带的权利要求书中阐明了本发明的新颖特征。不过,连同附图参考一个展示性实施例的以下详细说明,将会最好地理解发明本身以及其使用的优选模式、进一步的目的和优点,其中:
图1描述了分布式数据系统的图示,其中可以实施若干展示性实施例;
图2是数据处理系统的框图,其中可以实施若干展示性实施例;
图3是已知.tar文件格式的实例;
图4是展示性示范归档组件的框图,可以对其实施若干展示性实施例;
图5是根据若干展示性实施例的示范.tar文件格式;
图6是根据若干展示性实施例的示范文件头格式;
图7是根据若干展示性实施例的文件归档过程的流程图;以及
图8是根据若干展示性实施例的文件解归档过程的流程图。
具体实施方式
现在参考附图,尤其是参考图1至图2,图中提供了数据处理环境的示范图,其中可以实施若干展示性实施例。应当承认,图1至图2仅仅是示范例,而非力图宣称或暗示对于其中可以实施不同实施例的环境的任何限制。对所描述的环境可以做出许多修改。
现在参考附图,图1描述了数据处理系统网络的图示表达,其中可以实施若干展示性实施例。网络数据处理系统100是计算机的网络,其中可以实施若干实施例。网络数据处理系统100包含网络102,在网络数据处理系统100之内连接在一起的多种设备和计算机之间,它是用于提供通讯链接的媒介。网络102可以包括若干连接,比如有线、无线通讯连接或光缆。
在所描述的实例中,服务器104和服务器106连同存储单元108一起连接到网络102。另外,客户机110、112和114也连接到网络102。这些客户机110、112和114可以是例如个人计算机或网络计算机。在所描述的实例中,服务器104向客户机110、112和114提供数据,比如若干引导文件、操作系统映像和应用程序。在这个实例中客户机110、112和114是服务器104的客户机。网络数据处理系统100还可以包括未显示的附加服务器、客户机和其他设备。
在所描述的实例中,网络数据处理系统100是具有网络102的因特网,代表全球范围的网络和网关集合,使用传输控制协议/因特网协议(TCP/IP)套件彼此通讯。因特网的核心是若干主节点或主机之间的高速数据通讯线路的主干,这些主节点或主机包括成千上万商业、政府、教育和其他计算机系统,它们之间传输着数据和消息。当然,网络数据处理系统100也可以实施为许多不同类型的网络,比如内联网、局域网(LAN)或广域网(WAN)。图1意在作为不同实施例的实例,而非作为架构限制。
现在参考图2,图中显示了数据处理系统的框图,其中可以实施若干展示性实施例。数据处理系统200是计算机的实例,比如图1中的服务器104或客户机110,其中可以放置若干展示性实施例实施过程的计算机可用代码即指令。
在所描述的实例中,数据处理系统200采用了中心架构,包括北桥和存储器控制器中心(MCH)202以及南桥和输入/输出(I/O)控制器中心(ICH)204。处理器206、主存储器208和图形处理器210连接到北桥和存储器控制器中心202。图形处理器210可以通过例如加速图形端口(AGP)连接到MCH。
在所描述的实例中,局域网(LAN)适配器212连接到南桥和I/O控制器中心204,音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(ROM)224、通用串行总线(USB)端口和其他通讯端口232以及PCI/PCIe设备234通过总线238连接到南桥和I/O控制器中心204,硬盘驱动器(HDD)226和CD-ROM驱动器230通过总线240连接到南桥和I/O控制器中心204。PCI/PCIe设备可以包括例如以太网适配器、内插卡和用于笔记本电脑的PC卡。PCI使用插卡总线控制器,而PCIe却不是。ROM 224可以是例如闪速二进制输入/输出系统(BIOS)。硬盘驱动器226和CD-ROM驱动器230可以使用例如集成驱动器电路(IDE)或串行高级技术连接(SATA)接口。超级I/O(SIO)设备236可以连接到南桥和I/O控制器中心204。
操作系统运行在处理器206上,并且对图2中数据处理系统200内的多种组件进行协调和提供控制。所述操作系统可以是市场上可买到的操作系统,比如MicrosoftWindowsXP(Microsoft和Windows是微软公司在美国、其他国家或者既在美国又在其他国家的商标)。面向对象的编程系统比如JavaTM编程系统可以与操作系统协同运行,并且提供从数据处理系统200上执行的Java程序或应用程序到操作系统的调用(Java和所有基于Java的商标都是太阳微系统公司在美国、其他国家或者既在美国又在其他国家的商标)。
操作系统、面向对象的编程系统以及应用程序的指令即程序都位于存储设备上,比如硬盘驱动器226,并且可以加载到主存储器208中以便处理器206执行。处理器206使用计算机执行的指令可以完成展示性实施例的过程,这些指令可以位于存储器中,例如主存储器208、只读存储器224,也可以位于一台或多台外围设备中。
图1至图2中的硬件可以根据实施方案而变化。其他内部硬件或外围设备,比如闪存、等效的非易失性存储器或光盘驱动器等也可以用于补充或取代图1至图2中所描述的硬件。同样,展示性实施例的若干过程也可以应用于多处理器数据处理系统。
在某些展示性实例中,数据处理系统200可以是个人数字助理(PDA),通常它配置有闪存,以提供非易失性存储器,用于存储操作系统文件和/或用户产生的数据。总线系统可以包括一条或多条总线,比如系统总线、I/O总线和PCI总线。当然,所述总线系统可以使用任何类型的通讯组织或架构,在连接到所述组织或架构的不同组件或设备之间提供数据传输。通讯单元可以包括用于发送和接收数据的一台或多台设备,比如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,比如在北桥和存储器控制器中心202中所见到的。处理单元可以包括一个或多个处理器即CPU。图1至图2中所描述的实例和以上介绍的实例并非意味着隐含架构限制。例如,数据处理系统200除了采用PDA的形式之外也可以是平板计算机、膝上型计算机或电话设备。
图3是已知.tar文件格式的实例。如上所述,.tar命令在UNIX中用于从许多数据文件创建单一归档文件。所述.tar命令将所述归档文件存储在存储设备中,例如图1中的存储单元108、图2中的主存储器208、硬盘驱动器(HDD)226或CD-ROM驱动器230。
.tar文件300显示为包括几个数据文件。.tar文件300的已知格式包括文件头(文件头1302),随后是数据文件(数据文件1304),它之后是文件尾标记(EOF 306)。每个文件头比如文件头1302都包括关于其对应数据文件的元数据。这种元数据可以包括该数据文件的名称、版本、大小、最后修改的日期、访问权限、校验和等。典型情况下,文件头是512个字节的固定大小,备用空间以零填充。
数据文件比如数据文件304包括实际文件,它不压缩地写到归档。典型情况下,数据文件的长度上舍入到512个字节的倍数,备用空间以零填充。虽然可以使用其他大小,但是512个字节是常用的文件头和数据文件大小,因为.tar最初为磁带设备而设计,只能每次按块访问,而512个字节是单块的标准大小。
在每个数据文件之后是文件尾标记,比如EOF 306。EOF 306表明数据文件304的结束。
如上所述,对归档文件比如图3中.tar文件300(以及类似结构的归档文件)进行解归档的过程,目前需要与.tar文件的大小相等的磁盘空间量可用。这种磁盘空间大小需求可能有问题,因为执行解归档所需的空间量可能不足。展示性实施例通过允许以高效的方式对文件解归档提供了这种问题的解决方案。确切地说,展示性实施例提供了改进的归档格式,正在对一组数据文件归档时,首先在归档文件的起点存储一个数字,它表示被归档数据文件的数目。包括用于数据文件组的元数据的文件头也存储在所述数目后的归档文件中,而要归档的实际数据文件存储在所述文件头之后。在归档文件中根据数据文件的大小以升序将数据文件排序。所述文件头也可以修改为包括每个数据文件位置的偏移量。
使用改进的归档格式对所存储的归档文件进行解归档时,使用文件头中的偏移量定位最大的数据文件(根据增大文件的大小在归档文件中最后的文件),并且将其复制到本机磁盘空间。只要最大的数据文件已经复制,就可以截断该.tar文件,因为原来由所复制的数据文件占据的归档磁盘空间现在已经被释放。归档中的这个释放的空间现在可以用于复制该.tar文件中的剩余数据文件。重复这种解归档过程,直到在该.tar文件中归档的全部数据文件都已经被复制到本机磁盘空间。
展示性实施例中的解归档技术提供了优于现有解归档方法的优点,后者要求在解归档过程中整个.tar文件大小的归档磁盘空间量可用。相反,展示性实施例中的解归档技术需要在解归档过程中较少的归档磁盘空间可用,因为仅仅需要与该.tar文件中最大数据文件相等的归档磁盘空间量可用。另外,利用改进的归档格式,因为用于表明每个数据文件结尾的文件尾标记在改进的归档格式中不再需要,所以有额外的磁盘空间可用于归档。由于现在的文件头包括了每个数据文件位置的偏移量,所以数据文件的大小(也在文件头中)可以用于以偏移量信息计算文件尾。结果,传统归档文件中由文件尾标记(典型情况下是512个字节的块)所占据的归档磁盘空间量在归档时现在可以使用。
虽然在展示性实施例中使用的归档文件是.tar文件,但是应当指出,采用POSIX文件头格式的任何其他归档文件都可以使用所述改进的归档格式和所述解归档过程。POSIX是一族IEEE标准的集合名,它定义了基于UNIX操作系统的标准应用程序编程接口(API)和环境,以支持源码级的应用程序可移植性。在以下图6中进一步介绍POSIX的文件头格式。
现在参考图4,框图中展示了示范性归档组件,可以用于实施若干展示性实施例。内容管理器402管理着内容存储器404中的内容。使用内容管理器402可以添加、删除、更新或修改内容文件。内容存储器404可以是永久存储器,比如硬盘或磁带存储器。在优选实施例中,内容存储器404包括一个或多个硬盘驱动器。
归档模块406识别在内容存储器404中的候选文件,并将这些文件移动到归档存储器408,它可以是一组二级磁盘驱动器或磁带驱动器。优选情况下,若干文件被归档到归档文件中,比如.tar文件。收到对归档数据文件的请求时,归档模块406可以检索归档文件并从归档文件中提取数据文件。然后内容管理器402可以向用户返回所请求的文件。
内容管理器402可以包含在网络服务器内,比如图1中的服务器104,或者包含在提供大量内容的其他设备内。例如,内容管理器402可以集成在电子邮件程序,用户网络(USENET)新闻客户机程序、留言板服务器等之内。内容管理器402还可以集成在操作系统或文件管理器之内。然后内容管理器402可以将若干文件归档到硬盘驱动器的一部分中,比如归档分区,或者归档到二级驱动器中。在本发明的范围内可以对内容管理器402进行其他修改。例如,内容管理器402和归档模块406可以在同一台计算机上实施,也可以在彼此协同工作的不同计算机上实施。图4意在作为本发明的实例,而非作为架构限制。
现在转向图5,图中显示了根据若干展示性实施例的示范.tar文件格式。所述.tar命令将归档文件存储在存储器设备中,比如图4中的归档存储器408。
在这个展示性实例中,.tar文件500包括归档数据文件502、文件头504和数据文件的总数506。数据文件的总数506置于.tar文件500的起点。这个数目在解归档过程中用于确定归档文件中文件头的数目,从而允许人们确定文件头504与归档数据文件502的界限。
文件头504包含归档数据文件502的全部文件头。在一个实施例中,文件头504中的每个文件头都遵守POSIX文件头格式。在文件头504内,这些文件头的次序从n到1,其中文件头n 508是指引用数据文件n 510的文件头,它是占据归档磁盘空间量最大的数据文件,而文件头1512是指引用数据文件1514的文件头,它是占据归档磁盘空间量最小的数据文件。文件头504内的每个文件头(n到1)都包括关于其对应数据文件的元数据。按照当前的POSIX文件头格式,这种元数据可以包括数据文件的名称、版本、大小、最后修改的日期、该数据文件的访问权限等。另外,元数据也可以包含文件头所对应的数据文件在归档中的偏移量位置。文件头504内的每个文件头可以是512个字节的固定大小,备用空间以零填充。
归档数据文件502可以不压缩地写到归档中。典型情况下,数据文件的长度上舍入到512个字节的倍数,而备用空间以零填充。在归档文件中根据数据文件的大小以升序将数据文件排序。结果,首先存储最小的数据文件,数据文件1514,随后是剩余的数据文件从最小到最大。因此,虽然数据文件在归档文件中排序为从最小到最大(1到n),但是文件头却以其对应数据文件(n到1)相反的顺序排列(n到1)。需要这种格式是为了在解归档过程中容易地获得最大数据文件的位置,因为最大数据文件所对应的文件头位于归档文件的顶部。另外,在归档文件的结尾存储最大的数据文件允许在最大数据文件已经解归档并复制到本机时,容易地截断该归档文件。
利用.tar文件500的格式,解归档过程仅仅需要使用与归档中最大数据文件所占用的空间量相等的归档磁盘空间量。解归档时,数据文件n 510复制到本机磁盘空间,比如图4中的内容存储器404内。然后可以截断.tar文件,因为现在已经释放了先前由数据文件n 512所占用的归档磁盘空间,比如图4中归档存储器408内。这个释放的空间现在可以用于复制.tar文件中的其他数据文件(数据文件n-1到1),直到全部数据文件都已经复制到该磁盘空间。另外,归档中最后的数据文件是最大的数据文件,即数据文件n 510。在改进的归档格式中不需要文件尾标记,因为从文件头本身可以获得每个数据文件位置的偏移量。根据数据文件的大小和偏移量,可以容易地计算文件尾。由于典型情况下,传统的归档格式使用512个字节的数据块作为每个数据文件的文件尾标记,改进的归档格式也释放了这个磁盘空间用于归档。
图6是根据若干展示性实施例的示范文件头格式。文件头格式600可以用于.tar文件之内,比如.tar文件500内的文件头n 508之内。按照POSIX文件头格式,文件头格式600包括名称602、文件模式604、.tar文件的拥有者ID 606等。除了包括在当前POSIX文件头格式内目前发现的特性之外,在若干展示性实施例中的文件头格式600还包括新的属性,偏移量608。文件头格式600中的偏移量608用于指出文件头对应的数据文件在文件系统中的位置。
图7是根据若干展示性实施例文件归档过程的流程图。图7中的归档过程以上面图5中所展示的格式创建归档文件。所述过程开始于内容管理器中的归档模块识别应当归档的数据文件数目(步骤702)。然后归档模块将这个数目复制到归档文件的起点(步骤704)。
归档模块根据应当归档的数据文件的大小以升序将数据文件排序(步骤706)。所述文件头,比如图6中的文件头600,以n到1的顺序充填关于对应数据文件的元数据(步骤708)。如图5所示,文件头n是指归档组中最大的数据文件即数据文件n的文件头。文件头1是指归档组中最小的数据文件即数据文件1的文件头。
一旦文件头被填满,归档模块就复制占用磁盘空间量最小的数据文件,比如数据文件1(步骤710)。然后将剩余的数据文件关于文件大小以升序复制到该归档文件中(步骤712),使得数据文件以1到n的顺序复制,随后本过程终止。构成的归档文件格式使文件头从n到1排序(首先引用最大的数据文件(数据文件n)),而数据文件从1到n排序,所以可以容易地定位归档中的最大数据文件,因为它是文件头中的第一项。最大的数据文件是进行解归档的第一个数据文件,因为它将释放最大磁盘空间量用于对其他数据文件进行解归档。
图8是根据若干展示性实施例文件解归档过程的流程图。图8中的解归档过程从以上图5所展示的归档文件格式中提取数据文件。归档文件可以存储在存储器设备内,比如图4中的归档存储器408。
所述过程开始于内容管理器中的归档模块读取归档文件起点处的数值,以确定归档文件中的数据文件数目(步骤802)。根据数据文件的数目可以确定文件头的数目(步骤804)。判定文件头数目允许归档模块确定文件头与数据的界限。
一旦知道了归档文件中文件头的数目,归档模块就可以读取归档文件中最大数据文件所对应的文件头(“文件头n”),根据文件头中的偏移量获取最大数据文件(“数据文件n”)的位置(步骤806)。然后归档模块访问该位置并开始将数据文件n复制到本机磁盘空间,比如复制到图4中的内容存储器404(步骤808)。
当第n个数据文件已经复制时,归档模块可以调用截断命令,比如ftruncate(),以截断该归档文件并释放由该数据文件所占用的归档磁盘空间(步骤810)。由归档数据文件曾经占用的磁盘空间被释放,现在可用于提取和复制归档文件中的下一个数据文件。然后可以读取归档文件中的下一个文件头,并且可以重复步骤806到步骤810中的处理步骤,直到全部数据文件被解归档并被复制到本机磁盘空间(步骤812),随后本过程终止。
本发明可以采用全部硬件实施例的形式、全部软件实施例的形式,或者硬件部件和软件部件都包含的实施例形式。在优选实施例中,本发明以软件实现,它包括但是不限于固件、驻留软件、微代码等。
不仅如此,本发明也能够采取计算机程序产品的形式,从计算机可用即计算机可读介质中可访问,提供程序代码由或者连同计算机或任何指令执行系统使用。对于本说明书的目的,计算机可用即计算机可读介质可以是任何有形的装置,能够包含、存储、传递、传播或传输程序,由或者连同所述指令执行系统、装置或设备使用。
所述介质可以是电子的、磁性的、光学的、电磁的、红外线的或半导体的系统(或装置或设备)或者传播媒介。计算机可读介质的实例包括半导体即固态存储器、磁带、可拆卸计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、刚性磁盘和光盘。光盘的流行实例包括光盘只读存储器(CD-ROM)、读/写光盘(CD-R/W)和DVD。
适合于存储和/或执行程序代码的数据处理系统至少包括一台处理器,通过系统总线直接地或间接地连接到存储器单元。存储器单元可以包括本地存储器,在程序代码的实际执行期间使用;大容量外存储器;以及高速缓冲存储器,它至少为某些程序代码提供临时存储,以便减少在执行期间必须从大容量外存储器检索代码的次数。
输入/输出即I/O设备(包括但是不限于键盘、显示器、定点设备等)可以直接地或通过介入的I/O控制器连接到系统。
网络适配器也可以连接到系统,以使数据处理系统能够变得通过介入的私有或公共网络连接到其他数据处理系统或者远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是网络适配器的当前可用类型中的几种。
已经对本发明做出的说明是为了展示和说明之用,并非试图面面俱到或将本发明局限在所公开的形式。对于本领域的普通技术人员,许多修改和变化将是显而易见的。所选择和介绍的实施例是为了最好地讲解本发明的原理和可行的应用,以及使本领域的其他普通技术人员能够理解本发明,以便使具有多种修改的多种实施例适于所期望的具体用途。

Claims (13)

1.一种用于对数据文件进行解归档的计算机实现的方法,所述计算机实现的方法包括:
读取归档文件以便识别所述归档文件中数据文件的总数目;
根据所述数据文件的总数目确定所述归档文件中文件头的数目;
根据最大数据文件所对应的文件头中的偏移量,确定所述归档文件中所述最大数据文件在第一磁盘空间中的位置;
将所述最大数据文件从所述第一磁盘空间复制到第二磁盘空间;
通过截断所述归档文件而释放由所述最大数据文件占据的所述第一磁盘空间;以及
对所述归档文件中的每个数据文件都重复所述获得、复制和释放步骤,直到全部的数据文件都被解归档。
2.根据权利要求1的计算机实现的方法,其中,所述数据文件的总数目位于所述归档文件的起点。
3.根据权利要求1的计算机实现的方法,其中,所述归档文件包括表明所述归档文件中数据文件总数目的块,后面是所述归档文件中每个数据文件的文件头,再后面是所述数据文件。
4.根据权利要求3的计算机实现的方法,其中,所述归档文件中的所述数据文件根据文件大小以升序排列,而所述文件头以与其对应数据文件的相反顺序排列。
5.根据权利要求1的计算机实现的方法,其中,确定所述文件头数目允许界定文件头数目与数据文件。
6.根据权利要求1的计算机实现的方法,其中,对所述归档文件进行解归档所需的总磁盘空间等于所述归档文件中最大数据文件的大小。
7.根据权利要求1的计算机实现的方法,其中,所述归档文件通过下列步骤归档:
识别要归档的数据文件数目;
将所述数目复制到所述归档文件的起点;
根据文件大小以升序排列所述要归档的数据文件;
以关于其对应数据文件的元数据充填所述文件头,所述文件头在所述归档文件中以其对应数据文件的相反顺序排列;以及
以升序将每个数据文件复制到所述归档文件中。
8.根据权利要求1的计算机实现的方法,其中,所述归档文件格式包括:
所述归档文件起点处的数字,所述数字表明已归档数据文件的总数目;
所述归档文件中跟随所述数字的多个文件头,其中所述多个文件头中的每个文件头都包括关于已归档数据文件的元数据;以及
所述归档文件中跟随所述多个文件头的多个数据文件,其中所述数据文件根据文件大小以升序排列,所述多个文件头以其对应数据文件的相反顺序排列。
9.一种对数据文件进行解归档的数据处理系统,所述数据处理系统包括:
总线;
连接到所述总线的存储设备,其中,所述存储设备包含计算机可用的代码;
连接到所述总线的至少一个管理设备;
连接到所述总线的通讯单元;以及
连接到所述总线的处理单元,其中所述处理单元执行所述计算机可用的代码以读取归档文件,以便识别所述归档文件中数据文件的总数目,根据所述数据文件的总数目确定所述归档文件中文件头的数目,根据最大数据文件所对应的文件头中的偏移量,确定所述归档文件中所述最大数据文件在第一磁盘空间中的位置,将所述最大数据文件从所述第一磁盘空间复制到第二磁盘空间,通过截断所述归档文件而释放由所述最大数据文件占据的所述第一磁盘空间,以及对所述归档文件中的每个数据文件都重复所述获得、复制和释放步骤,直到全部的数据文件都被解归档。
10.根据权利要求9的数据处理系统,其中,所述归档文件包括表明所述归档文件中数据文件总数目的块,后面是所述归档文件中每个数据文件的文件头,再后面是所述数据文件。
11.根据权利要求10的数据处理系统,其中,所述归档文件中的所述数据文件根据文件大小以升序排列,而所述文件头以与其对应数据文件的相反顺序排列。
12.根据权利要求9的数据处理系统,其中,对所述归档文件进行解归档所需的总磁盘空间等于所述归档文件中最大数据文件的大小。
13.根据权利要求9的数据处理系统,其中,确定所述文件头数目允许界定文件头数目与数据文件。
CN2007101698097A 2006-11-08 2007-11-07 数据文件解归档的方法和系统 Expired - Fee Related CN101178726B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/557,795 US8275750B2 (en) 2006-11-08 2006-11-08 Method to efficiently use the disk space while unarchiving
US11/557,795 2006-11-08

Publications (2)

Publication Number Publication Date
CN101178726A true CN101178726A (zh) 2008-05-14
CN101178726B CN101178726B (zh) 2010-12-01

Family

ID=39360943

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101698097A Expired - Fee Related CN101178726B (zh) 2006-11-08 2007-11-07 数据文件解归档的方法和系统

Country Status (2)

Country Link
US (1) US8275750B2 (zh)
CN (1) CN101178726B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220635A (zh) * 2021-05-11 2021-08-06 深圳市星火数控技术有限公司 文件归档方法、装置、设备与计算机可读存储介质

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096722B (zh) * 2011-03-21 2013-03-27 华为数字技术(成都)有限公司 文件存储方法和装置
US9607000B1 (en) * 2013-06-27 2017-03-28 EMC IP Holding Company LLC Backup to tape-out using common backup data storage
US10042848B1 (en) * 2014-12-19 2018-08-07 Amazon Technologies, Inc. Sparse index-based storage, retrieval, and management of stored data
US9959274B2 (en) * 2014-12-19 2018-05-01 Amazon Technologies, Inc. Volume-level redundancy coding techniques for sequential transfer optimized storage devices
US10359964B2 (en) * 2015-12-10 2019-07-23 International Business Machines Corporation Reducing time to read many files from tape
US10649846B2 (en) * 2016-02-12 2020-05-12 Red Hat, Inc. Disassembly and reassembly of a tar archive
US10963521B2 (en) * 2016-12-22 2021-03-30 Vmware, Inc. Handling large streaming file formats in web browsers
KR20180094724A (ko) * 2017-02-16 2018-08-24 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US20200210171A1 (en) * 2018-12-27 2020-07-02 Didi Research America, Llc Tree-conversion delta encoding
US11080233B2 (en) * 2019-07-19 2021-08-03 JFrog Ltd. Data archive release in context of data object

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2025160A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture
US5481701A (en) * 1991-09-13 1996-01-02 Salient Software, Inc. Method and apparatus for performing direct read of compressed data file
US5664106A (en) * 1993-06-04 1997-09-02 Digital Equipment Corporation Phase-space surface representation of server computer performance in a computer network
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US5778392A (en) * 1996-04-01 1998-07-07 Symantec Corporation Opportunistic tile-pulling, vacancy-filling method and apparatus for file-structure reorganization
US6311221B1 (en) * 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US20020062303A1 (en) * 2000-10-31 2002-05-23 Kabushiki Kaisha Toshiba Data management method and storage medium storing data management program
US6807640B2 (en) * 2001-05-08 2004-10-19 Intersil Americas, Inc. Programmable interface controller suitable for spanning clock domains
JP3924787B2 (ja) * 2003-02-27 2007-06-06 ソニー株式会社 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体
JP2004318743A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd ファイル移送装置
WO2005050489A1 (en) * 2003-11-13 2005-06-02 Commvault Systems, Inc. System and method for stored data archive verification
JP2006059319A (ja) * 2004-07-21 2006-03-02 Ricoh Co Ltd 情報処理装置、プログラムおよび記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113220635A (zh) * 2021-05-11 2021-08-06 深圳市星火数控技术有限公司 文件归档方法、装置、设备与计算机可读存储介质

Also Published As

Publication number Publication date
US8275750B2 (en) 2012-09-25
US20080109498A1 (en) 2008-05-08
CN101178726B (zh) 2010-12-01

Similar Documents

Publication Publication Date Title
CN101178726B (zh) 数据文件解归档的方法和系统
US10614032B2 (en) Quick filename lookup using name hash
US6804663B1 (en) Methods for optimizing the installation of a software product onto a target computer system
KR101224680B1 (ko) 데이터베이스 내부에 표현된 파일 시스템
US10303363B2 (en) System and method for data storage using log-structured merge trees
US8086810B2 (en) Rapid defragmentation of storage volumes
US8234317B1 (en) Auto-committing files to immutable status based on a change log of file system activity
US9183212B2 (en) Representing directory structure in content-addressable storage systems
JP7507142B2 (ja) データベースにおいてレコードを一括削除するためのシステムおよび方法
JP5886447B2 (ja) ロケーション非依存のファイル
US11249665B2 (en) Object synthesis
JP2022500727A (ja) データベースにおけるツームストーンレコードの早期除去のためのシステムおよび方法
CN104778192B (zh) 表示可内容寻址存储系统的目录结构
JP2005302038A (ja) Bツリー中の連続キーの名前を変更する方法およびシステム
CN110799961B (zh) 在数据库中创建和删除租户的系统和方法
US20090254585A1 (en) Method for Associating Administrative Policies with User-Definable Groups of Files
CN110352410B (zh) 跟踪索引节点的访问模式以及预提取索引节点
US7475090B2 (en) Method and apparatus for moving data from an extensible markup language format to normalized format
US9053108B2 (en) File system extended attribute support in an operating system with restricted extended attributes
US9613207B2 (en) Method and apparatus for preventing autorun of portable USB storage
US6510499B1 (en) Method, apparatus, and article of manufacture for providing access to data stored in compressed files
CN112860628A (zh) 一种文件系统规模管理方法及系统
US20190392052A1 (en) Copying Container Images
JP7377915B2 (ja) 個別データ検索サービスを提供する方法、コンピュータ装置、およびコンピュータプログラム
US8615482B1 (en) Method and apparatus for improving the utilization of snapshots of server data storage volumes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20101201

Termination date: 20181107