用于扩展属性的延迟删除的方法和系统的制作方法

文档序号:6548296阅读:187来源:国知局
专利名称:用于扩展属性的延迟删除的方法和系统的制作方法
技术领域
本发明涉及数据处理,更具体地涉及用于与文件系统中的文件相关联的扩展属性的延迟删除的方法、系统和产品。
背景技术
扩展属性是与文件和目录相关联的名字-值对,一般包含与相关联的文件有关的信息。扩展属性经常为文件系统中的文件的使用提供附加的功能。使用扩展属性的一个优点是存储在扩展属性中的信息被存储在文件内容本身的外部。即,扩展属性将关于文件的信息与文件信息本身分开。扩展属性经常是对与文件系统中的文件表示相关联的普通属性的应用程序专用扩展或者用户专用扩展,例如在AIXTM操作系统中可用的增强记录文件系统(“JFS2”)中的i节点(inode)。
随着日益增加的在诸如便携式操作系统接口(“POSIX”)和网络文件系统版本4协议(NFSv4)之类许多系统中的扩展属性的使用,许多文件将很大的扩展属性树与它们相关联。例如,通过Unix系统中的解开(unlink)操作递归删除这些扩展属性可能很烦琐,并且导致可察觉的性能劣化。从而需要改进的删除与文件系统中的文件相关联的扩展属性的方法,其操作对用户和前台进程透明。

发明内容
本发明提供了用于延迟删除与文件系统中的文件相关联的扩展属性的方法、系统和产品。实施例包括识别要删除的文件,将与所述文件相关联的扩展属性目录移动到后台删除目录,删除所述文件以及在后台删除所述扩展属性目录。一些实施例还包括删除与文件相关联的ACL。
在许多实施例中,在后台删除扩展属性目录还包括删除其引用已经被释放的扩展属性。在典型的实施例中,在后台删除扩展属性目录包括推迟具有开放引用的扩展属性的删除。
在典型的实施例中,将与所述文件相关联的扩展属性目录移动到后台删除目录还包括在日志中创建表示将与所述文件相关联的扩展属性目录移动到后台删除目录的日志条目。在许多实施例中,在后台删除扩展属性目录还包括在日志中创建表示每个扩展属性的删除的日志条目。许多实施例包括回放日志,并根据日志删除扩展属性。
从下面的如附图所图示的本发明的示例性实施例的更具体的描述,本发明的前面的和其他的文件、特征和优点将更清楚,其中,在附图中,类似的标号一般表示本发明的示例性实施例的类似部件。


图1示出了根据本发明的各种实施例包括计算机的自动计算机器的框图。
图2示出了描述了用于延迟删除与文件系统中的文件相关联的扩展属性的示例性方法的线条图。
图3示出了描述了用于延迟删除与文件系统中的文件相关联的扩展属性的示例性方法的流程图。
图4示出了描述了在崩溃后继续在后台删除与删除的文件相关联的扩展属性目录的方法。
具体实施例方式
在本说明书中很大程度上关于用于延迟删除与文件系统中的文件相关联的扩展属性的方法描述了本发明。但是,本领域普通技术人员应该知道,包括用于根据所公开的方法操作的合适编程装置的任何计算机系统也落在本发明的范围内。合适的编程装置包括用于引导计算机系统执行本发明的方法的步骤的任何装置,例如,包括由耦合到计算机存储器的处理单元和算法逻辑单元组成的系统,该系统具有在包括被配置来存储数据和程序指令的电子电路的计算机存储器中存储供处理单元执行的本发明的方法的编程步骤的能力。
本发明还可以体现在计算机程序产品中,例如盘或者其他记录介质,以与任何合适的数据处理系统一起使用。计算机程序产品的实施例可以通过使用任何用于计算机可读信息的记录介质实现,所述记录介质包括磁介质、光介质或者其他合适的介质。本领域普通技术人员应立即意识到,具有合适的编程装置的任何计算机系统能够执行体现在程序产品中的本发明的方法的步骤。本领域普通技术人员应该立即意识到,尽管在本说明书中描述的许多示例性实施例是面向安装在计算机硬件上并在其上执行的软件,但是实现为固件或者硬件的其他实施例也落在本发明的范围内。
扩展属性的延迟删除参照从图1开始的附图描述了根据本发明的实施例的用于延迟删除与文件系统中的文件相关联的扩展属性的示例性方法、系统和计算机程序产品。图1示出了根据本发明的各种实施例包括计算机(134)的自动计算机器的框图。在本说明书中,术语“计算机”是指任何自动计算机器。从而术语“计算机”不仅包括诸如膝上计算机、个人计算机、微型计算机和大型机之类通用计算机,还包括诸如个人数字助理(“PDA“)、具有网络能力的手持设备、具有互联网能力的移动电话等设备。
图1的计算机(134)包括至少一个计算机处理器(156)或者“CPU”以及随机访问存储器(168)(“RAM”)。RAM(168)中存储应用程序(152)。根据本发明的各种实施例可用的应用程序包括字处理器、电子数据报表、数据库管理系统以及许多其他本领域技术人员可以想到的应用程序。
RAM(168)中还存储了操作系统(154)。图1的操作系统还包括其上安装了删除目录(410)的文件系统(116)。根据本发明的实施例,图1的示例性操作系统(154)能够延迟删除与文件系统(116)中的文件相关联的扩展属性。操作系统(154)能够识别要删除的文件、将与文件相关联的扩展属性移动到后台删除目录(410)、删除文件并在后台删除扩展属性目录。能够修改以根据本发明来执行扩展属性的延迟删除的操作系统包括Unix、AIXTM、LinuxTM、Microsoft NTTM以及其他本领域技术人员可以想到的操作系统。
在该说明书中,短语“在后台”是指后台处理。多任务计算机能够通过在各种任务或者程序之间切换处理器时间来执行若干个任务或者程序,其中,一些在前台执行,一些在后台执行。前台进程经常从其他进程或者用户接收输入。后台进程一般对用户透明地运行,并且其优先级低于前台进程,以使得尽管它们正在执行,也不会干扰前台进程。
图1的示例计算机(134)包括通过系统总线(160)耦合到处理器(156)和计算机(134)的其他组件的计算机存储器(166)。计算机存储器(166)可以实现为硬盘驱动器(170)、光盘驱动器(172)、电可擦除可编程只读存储器空间(称为“EEPROM”或者“闪存”存储器)(174)、RAM器件驱动器(未示出)或者本领域技术人员可以想到的其他类型的计算机存储器。图1的示例性计算机(134)还包括通信适配器(167),其实现用于到其他计算机(182)的数据通信(184)的连接。通信适配器(167)实现了硬件级的数据通信连接,通过该连接客户计算机和服务器直接向彼此发送数据通信以及通过网络发送数据通信。通信适配器(167)的例子包括用于有线拨号连接的调制解调器、用于有线LAN(局域网)连接的以太网(IEEE 802.3)适配器、用于无线LAN连接的802.11适配器和用于无线微局域网连接的蓝牙适配器。
图1的示例性计算机(134)还包括一个或多个输入/输出接口适配器(178)。输入/输出接口适配器(178)包括实现与用户输入设备(181)和显示设备(180)之间的用户输入/输出的硬件。
为了进一步解释,图2示出了描述了用于延迟删除与文件系统中的文件相关联的扩展属性的示例性方法的线条图。图2的例子图示了示例性树结构文件系统(116)、其具有示例性根目录(201)和三个示例性目录目录A(205)、目录B(211)和目录C(212)。在图2的例子中,目录A(205)中具有示例性文件1(212),其路径名可表示为root/DirA/file1。在图2的例子中,目录B(211)中具有示例性文件2(214),其目录名可表示为root/DirB/file2。在图2的例子中,目录C(210)中具有示例性文件3(216),其目录名可表示为root/DirC/file3。
图2的示例性文件3(216)具有相关联的访问控制列表(204)和相关联的扩展属性(218,221,220,222)的树结构目录(206)。访问控制列表是与文件相关联的数据机构,包括为特定用户或者用户组指定对相关文件的访问权的许可。许可的例子包括“读”、“写”、“执行”等等。
如上所述,扩展属性是与文件和目录相关联的名字-值对。在图2的例子中,延迟删除与示例性文件系统(116)中的文件3(216)相关联的扩展属性(218,221,220,222)是通过识别要删除的文件(216),并将包含所有相关联的扩展属性(218,221,220,222)的扩展属性目录(206)移动到后台删除目录(410)来实现的。
图2的例子通过删除文件3,删除相关联的访问控制列表(204)以及随后在后台删除(207)扩展属性目录(218,221,220,222)来继续扩展属性的延迟删除。在后台删除(207)扩展属性目录(218,221,220,222)一般包括调度一个单独的后台删除进程,该进程在后台异步地递归删除扩展属性目录。删除扩展属性目录一般还包括推迟删除具有开放引用(open reference)的扩展属性和只删除其引用已经被释放的扩展属性。
推迟具有开放引用的扩展属性的删除的递归删除扩展属性目录的一种方式在Unix系统中是通过使用unlink()函数来执行的,该函数通过使用“&”命令而作为后台进程被调度。在这样的例子中,unlink()接受删除目录中的扩展属性的路径名作为参数,并且移除每个链接并递减扩展属性目录的链接计数。当扩展属性目录链接计数变为0且没有进程具有开放的扩展属性时,由扩展属性目录文件占据的空间将被释放,并且扩展属性不再可访问。如果当最后的链接被删除时,一个或多个进程具有开放的扩展属性,则链接在unlink()返回之前被移除,但是扩展属性内容的移除被推迟,直到对扩展属性的所有引用被关闭为止。在后台删除(207)扩展属性目录(218,220,221,222)有利地使扩展属性目录的删除对用户和前台进程透明。
图2的示例性文件系统的组织和元素数量是示例性的而不是限制性的。实际上,根据本发明的实施例的扩展属性的延迟删除可以在具有任何数目的目录、文件、扩展属性、访问控制列表和本领域技术人员可以想到的其他元素的文件系统上实现。
图2的扩展属性的延迟删除的示例性方法包括多个步骤,并且如果操作系统在执行图2的方法之前崩溃,则扩展属性目录将不会正确地被删除,从而导致否则对系统可用的盘空间未释放。在说明书中,术语“崩溃”是指引起图2的方法被中断以及阻止其完成的任何故障。为了适应崩溃,许多操作系统提供了将事务记入日志以使得文件系统的状态可以被恢复的机制。典型的操作系统通过将与文件相关联的元数据记入日志来操作。记入日志的元数据一般包括除了文件中的真实数据以外的与文件有关的大多数信息。文件的诸如其物理位置和大小之类的元素由元数据跟踪。通过日志,无论文件的元数据有任何变化,新的属性信息将被记录到文件系统的保留区域中。
为了进一步的解释,图3示出了描述用于延迟删除与文件系统中的文件相关联的扩展属性的示例性方法的流程图,该方法包括记录事务以使得在系统崩溃的情况下扩展属性的延迟删除的状态可以被恢复。图3的方法包括识别(402)要被删除的文件(404)并将与文件(404)相关联的扩展属性目录(409)移动到后台删除目录(410)。在图3的方法中,将与文件相关联的扩展属性目录移动到后台删除目录包括在日志(416)中创建(418)表示将与文件相关联的扩展属性目录移动到后台删除目录的日志条目。
图3的方法通过删除(412)文件(404)以及在后台(414)删除(412)扩展属性目录(409)来继续。在图3的方法中,在后台(414)删除(412)扩展属性目录(409)一般是通过递归删除与文件(404)相关联的扩展属性目录来执行的。图3的方法还包括在日志(416)中创建(420)表示每个扩展属性的删除的日志条目。在日志(416)中创建(420)表示每个扩展属性目录的扩展属性的删除的日志条目有利地允许在崩溃之后识别未删除的扩展属性,并恢复在后台删除扩展属性目录。
根据本发明实施例的扩展属性的延迟删除一般包括当文件被删除时,在前台删除与文件相关联的任何ACL。ACL一般很小,从而不值得被移动到后台删除目录进行后台删除。另一方面,根据本发明的实施例的扩展属性的延迟删除可包括将与文件相关联的任何ACL移动到后台,记录将ACL移动到删除目录的事务,接着在后台随着扩展属性目录删除ACL。
在图3的例子中,如果在将扩展属性目录移动(406)到删除目录(410)之后,但是在扩展属性目录的后台删除之前,操作系统崩溃,则文件中的内容还未被删除,扩展属性目录仍留在删除目录中,并且可以继续在后台删除。如果在扩展属性目录的后台删除开始之后但是在后台删除完成之前,系统崩溃,则一些扩展属性留在删除目录中,并占据了否则就会被释放的盘空间。为了进一步解释,图4图示了在崩溃后继续在后台删除与删除的文件相关联的扩展属性目录的方法。图4的方法包括回放(502)日志(416)并识别(504)要删除的下一个未删除的扩展属性(408)。图4的方法接着通过在后台(414)删除扩展属性目录(409)中剩下的未删除的扩展属性来在后台继续(504)。
从前面的描述应该理解,在本发明的各种实施例中可以作出各种修改和改变而不偏离本发明的真实构思。本说明书中的描述仅是为了举例说明,而不应理解为限制的意思。本发明的范围只由权利要求的语言来限制。
权利要求
1.一种用于延迟删除与文件系统中的文件相关联的扩展属性的方法,该方法包括识别要删除的文件;将与所述文件相关联的扩展属性目录移动到后台删除目录;删除所述文件;以及在后台删除所述扩展属性目录。
2.如权利要求1所述的方法,还包括删除与所述文件相关联的访问控制列表。
3.如权利要求1所述的方法,其中在后台删除所述扩展属性目录还包括推迟具有开放引用的扩展属性的删除。
4.如权利要求1所述的方法,其中将与所述文件相关联的扩展属性目录移动到后台删除目录还包括在日志中创建表示将与所述文件相关联的扩展属性目录移动到后台删除目录的日志条目。
5.如权利要求1所述的方法,其中在后台删除所述扩展属性目录还包括在日志中创建表示每个扩展属性的删除的日志条目。
6.如权利要求1所述的方法,还包括回放日志,并根据所述日志删除扩展属性。
7.一种用于延迟删除与文件系统中的文件相关联的扩展属性的系统,该系统包括用于识别要删除的文件的装置;用于将与所述文件相关联的扩展属性目录移动到后台删除目录的装置;用于删除所述文件的装置;以及用于在后台删除所述扩展属性目录的装置。
8.如权利要求7所述的系统,还包括用于删除与所述文件相关联的访问控制列表的装置。
9.如权利要求7所述的系统,其中用于在后台删除所述扩展属性目录的装置还包括用于推迟具有开放引用的扩展属性的删除的装置。
10.如权利要求7所述的系统,其中用于将与所述文件相关联的扩展属性目录移动到后台删除目录的装置还包括用于在日志中创建表示将与所述文件相关联的扩展属性目录移动到后台删除目录的日志条目的装置。
11.如权利要求7所述的系统,其中用于在后台删除所述扩展属性目录的装置还包括用于在日志中创建表示每个扩展属性的删除的日志条目的装置。
12.如权利要求7所述的系统,还包括用于回放日志,并根据所述日志删除扩展属性的装置。
13.一种用于延迟删除与文件系统中的文件相关联的扩展属性的计算机程序产品,该产品包括记录介质;记录在所述记录介质上的用于识别要删除的文件的装置;记录在所述记录介质上的用于将与所述文件相关联的扩展属性目录移动到后台删除目录的装置;记录在所述记录介质上的用于删除所述文件的装置;以及记录在所述记录介质上的用于在后台删除所述扩展属性目录的装置。
14.如权利要求13所述的计算机程序产品,还包括记录在所述记录介质上的用于删除与所述文件相关联的访问控制列表的装置。
15.如权利要求13所述的计算机程序产品,其中记录在所述记录介质上的用于在后台删除所述扩展属性目录的装置还包括记录在所述记录介质上的用于推迟具有开放引用的扩展属性的删除的装置。
16.如权利要求13所述的计算机程序产品,其中记录在所述记录介质上的用于将与所述文件相关联的扩展属性目录移动到后台删除目录的装置还包括记录在所述记录介质上的用于在日志中创建表示将与所述文件相关联的扩展属性目录移动到后台删除目录的日志条目的装置。
17.如权利要求13所述的计算机程序产品,其中记录在所述记录介质上的用于在后台删除所述扩展属性目录的装置还包括记录在所述记录介质上的用于在日志中创建表示每个扩展属性的删除的日志条目的装置。
18.如权利要求13所述的计算机程序产品,还包括记录在所述记录介质上的用于回放日志,并根据所述日志删除扩展属性的装置。
全文摘要
本发明提供了用于延迟删除与文件系统中的文件相关联的扩展属性的方法、系统和产品。实施例包括识别要删除的文件,将与所述文件相关联的扩展属性目录移动到后台删除目录,删除所述文件以及在后台删除所述扩展属性目录。一些实施例还包括删除与文件相关联的ACL。
文档编号G06F17/30GK1737800SQ20051006720
公开日2006年2月22日 申请日期2005年4月19日 优先权日2004年8月18日
发明者乔恩·常, 扎查理·默尔林·洛夫曼, 简-菲利普·苏加布拉得 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1