CN102317922B - 用于提供单写多读(worm)存储的系统和方法 - Google Patents

用于提供单写多读(worm)存储的系统和方法 Download PDF

Info

Publication number
CN102317922B
CN102317922B CN200880103418.8A CN200880103418A CN102317922B CN 102317922 B CN102317922 B CN 102317922B CN 200880103418 A CN200880103418 A CN 200880103418A CN 102317922 B CN102317922 B CN 102317922B
Authority
CN
China
Prior art keywords
file
worm
attribute
time
predetermined value
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.)
Active
Application number
CN200880103418.8A
Other languages
English (en)
Other versions
CN102317922A (zh
Inventor
W·W·徐
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Publication of CN102317922A publication Critical patent/CN102317922A/zh
Application granted granted Critical
Publication of CN102317922B publication Critical patent/CN102317922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/181Append-only file systems, e.g. using logs or journals to store data providing write once read many [WORM] semantics

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

本发明描述了用于提供单写多读(WORM)存储的技术。根据一种实施方式,接收值范围以设置文件的属性,其中,所接收到的值范围在依照与文件相关联的文件系统的所述属性的普通范围之外。另外,接收管理动作以使其与所述属性的所接收到的值范围相关联,其中所述管理动作依照文件系统的与所述文件的属性相关联的普通动作无关。作为响应,使所接收到的管理动作与所述属性的所接收到的值范围相关联。本发明还描述了其它方法和装置。

Description

用于提供单写多读(WORM)存储的系统和方法
技术领域
本发明总体上涉及数据存储。更特别地,本发明涉及单写多读存储。
背景技术
电子数据修改起来相对容易,并且在不会留下太多修改痕迹。随着各机构越来越多地依赖电子数据,如何保护这些数据不被错误地修改变得越来越重要。为了保护数据不被修改,可以采用的一种方法是以单写多读(WORM)存储的方式来存储数据。
许多企业单位依赖某种形式的WORM存储来存储关键数据。在许多行业中,诸如金融服务和保健行业,严格的记录保持(retention)规程要求企业将诸如电子邮件、交易信息、病人记录、审计信息、以及其它类型的文档和数据等的重要数据进行存档。另外,许多企业单位非常重视保护某些企业记录或关键数据文件不被意外或故意地修改或删除。WORM功能(诸如非可擦除和非可重写数据存储等)可以保证数据长期不变,即使这些WORM存储不会被使用也是如此。
通常使用光学存储来实现WORM存储,其中光存储中的存储介质被固有地进行单次写入。然而,光记录的发展并不像磁记录那样迅速,因此以光学存储方式来存储数据变得相对昂贵。此外,在实践中越来越多地要求的是如何在特定的保持期内保护单独的数据片(记录、文件、电子邮件、数据对象等)不被修改。
近年来,已引入了多种能够在特定的保持期内保护单独的数据片不被修改的系统,诸如,举例来讲,EMC的Centera系统、IBM的Data Retention 550系统和Network Appliance的SnapLock系统。EMC Centera和IBM DataRetention 550使用他们自己的非标准接口来使用户或应用程序能够指定在某一持续时间内保护数据对象不被修改。它们要求特别地针对它们自己的接口来编写应用程序。Network Appliance SnapLock使标准文件系统接口中的所选属性过载,以便将文件标记为WORM并使保持期与该文件相关联。然而,其使用多个属性且需要多重操作,从而设置保持期并将文件指定为WORM的动作可能不小,且不必要地复杂且成本高。
发明内容
本发明描述了用于提供单写多读(WORM)存储的技术。根据本发明的一方面,接收值范围以设置文件的属性,其中,接收到的值范围在依照与文件相关联的文件系统的所述属性的普通范围之外。另外,接收管理动作以使其与所述属性的所接收到的值范围相关联,其中所述管理动作与跟依照文件系统的文件的属性相关联的普通动作无关。作为响应,使接收到的管理动作与所述属性的所接收到的值范围相关联。
根据本发明的另一方面,响应于将文件的时间属性设置为第一预定值的命令,确定所述第一预定值是否在与依照与文件相关联的文件系统的时间属性相关联的普通值范围之外。如果是这样,则将该文件指定为WORM文件并基于所述第一预定值为该文件配置WORM保持期。
根据附图及随后的详细说明,本发明的其它特征将显而易见。
附图说明
在附图的说明中通过举例来非限制性地说明本发明,其中,相同的附图标记指示类似元件。
图1示出了根据本发明的一种实施方式的系统配置的方框图;
图2示出了根据本发明的一种实施方式的用于处理WORM文件的系统的方框图;
图3A是用于根据UNIX兼容文件系统来存储文件信息的数据结构;
图3B是示出了根据一种实施方式的用于存储与WORM相关的属性的数据结构的方框图;
图4是示出了根据本发明的一种实施方式的用于管理文件的过程的流程图;
图5是示出了根据本发明的一种实施方式的用于处理WORM的过程的流程图;以及
图6是可以与本发明的一种实施方式使用的数据处理系统的方框图。
具体实施方式
本文描述了用于提供单写多读(WORM)存储的技术。在以下说明中,阐述了许多细节以便对本发明的实施方式进行更透彻的解释。然而,对于本领域的技术人员来说,显然可以在没有这些特定细节的情况下实施本发明的实施方式。在其它实例中,以方框图的形式示出众所周知的结构和设备,而并没有详细描述,以免使本发明的实施方式含糊难懂。
本说明书中对“一种实施方式”或“实施方式”的参考意指结合该实施方式描述的特定特征、结构、或特性被包括在本发明的至少一种实施方式中,短语“在一种实施方式中”在本说明书中不同位置上的出现不一定全部指的是同一个实施方式。
根据本发明的某些实施方式,与文件(或记录、或数据对象等)等相关的现有属性(例如与文件系统相关的标准文件属性)可以被配置为在其典型范围之外的值,以用信号表明应对该文件执行管理动作,其中该管理动作与跟属性相关的正常操作无关。为了减少错误信号,根据一种实施方式,可以向信号指定可接受的值范围,其中,所述可接受的值范围在属性的值的典型范围之外。在一种实施方式中,可以针对一个属性指定多个信号,每个信号都具有在该属性的典型值范围之外的可接受的值范围。在一种实施方式中,所述系统使用通常与文件相关的时间属性之一来指示文件应在一段时间内是WORM(免于受到包括删除在内的修改),其中,通过文件系统调用(call)和/或操作系统调用,经由时间属性的值来指定所述一段时间。
如图3A所示,在诸如UNIX操作系统的典型操作系统中,通常与文件相关的时间属性的示例可以是修改时间(mtime)、状态改变时间(ctime)、和/或访问时间(atime)。其它系统还可以包括其它时间,诸如创建时间。出于说明的目的,使用术语“stime”(某一时间)来指示这些时间属性中的任何一个。
图1是示出根据本发明的一种实施方式的系统配置的方框图。参照图1,系统配置100包括但不限于通过网络103与服务器104通信耦合以便通过网络110来访问存储在存储器105~107中的任何一个中的数据的一个或多个客户端101~102。客户端101~102可以是任何类型的客户端,诸如服务器、个人计算机、“精简(thin)”客户端、个人数字助理(PDA)、可浏览网络的装置、或可浏览网络的移动电话等。服务器104可以包括任何类型的服务器或服务器集群。例如,服务器104可以是用于各种目的中的任何一种的存储服务器,诸如使向多个用户能够对共享数据进行访问和/或备份关键数据。服务器104可以是例如文件服务器(例如用来提供NAS能力的装置)、基于块的存储服务器(例如用来提供SAN能力)、统一的存储设备(例如将NAS与SAN能力组合的设备)、近线存储设备、直接连接存储(DAS)设备、磁带备份设备、或本质上的任何其它类型的数据存储设备。服务器104可以具有分布式体系结构,或者可以将其全部组件集成为一个单元。
网络103可以是任何类型的网络,诸如局域网(LAN)、诸如因特网的广域网(WAN)、企业内部网、城域网(MAN)、存储区域网络(SAN)、总线、或其组合。同样地,网络110也是如此。存储器105~107可以是例如传统磁盘、诸如基于CD-ROM或DVD的存储器的光盘、磁带存储器、磁光(MO)存储介质、固态硬盘、基于闪存的设备、或适合于存储大量数据的任何其它类型的非易失性存储设备。存储器105~107还可以是此类设备的组合。在使用磁盘存储介质的情况下,存储设备105~107可以被组织成一个或多个廉价磁盘冗余陈列(RAID)。服务器104和/或存储器105~107可以被实现为存档和/或备份系统的一部分,诸如去除重复存储(deduplication)系统(可从加利福尼亚州圣克拉拉市的Data Domain公司获得)。
根据一种实施方式,服务器104包括文件系统108和管理处理逻辑109,诸如WORM处理逻辑。文件系统108可以是任何种类的文件系统。文件系统一般指的是存储设备(诸如磁盘)上的数据和元数据的结构化,其允许对那些磁盘上的数据进行读/写和/或允许运行逻辑以便能够实现此类结构化。所述元数据被组织成诸如索引节点(inode)等用来存储关于文件的信息的数据结构,其中,数据块是用来存储该文件的实际数据的结构。如图3A所示,包含在索引节点中的信息可以包括例如文件的所有权、文件的访问许可、文件的大小、文件类型和该文件的数据块在磁盘上的位置的引用(reference)。根据文件中的数据的数量,由索引节点中的指针来提供对文件数据的位置的引用,该指针还可以引用间接块,该间接块反过来又引用所述数据块。
管理处理逻辑109可以被实现为文件系统108的一部分或通信耦合到文件系统108的单独模块。如上所述,与文件相关的现有属性(例如与文件系统相关的标准文件属性)可以被配置为在其典型范围之外的值,以用信号来表明应对该文件执行管理动作。该管理动作可以与跟属性相关的正常操作无关。在一种实施方式中,响应于将文件的属性设置为特定值的请求(其中所述属性是典型文件系统的标准文件属性),管理处理逻辑109根据属性的通常使用情况来确定所述特定值是否在与属性相关的典型值范围之外。如果所述特定值在属性的普通值范围之外,则管理处理逻辑109可以执行先前已分配给该属性且根据文件系统与跟属性相关的普通动作无关的一个或多个管理动作。否则,如果所述特定值在与属性相关的普通值范围内,文件系统108将执行与属性相关的一个或多个普通动作。
例如,根据一种实施方式,使用通常与文件相关的时间属性(例如atime、ctime、或mtime)来指示文件应在一段时间内是WORM,其中经由时间属性的值来指定所述一段时间。请注意,仅仅出于说明的目的,在本申请中,自始至终使用与WORM相关的动作作为管理动作的示例。应认识到还可以应用其它类型的管理动作。
在本示例中,文件是否被指定为WORM文件的指示与跟文件相关的时间属性无关。当接收到对文件的时间属性进行设置的请求时,管理处理逻辑109确定该时间属性的值是否将被设置为在与文件相关的时间属性的普通范围之外。如果是这样,则管理处理逻辑109将此请求解释为将文件配置为WORM文件的请求,且要设置的时间值与跟被配置为WORM文件的文件相关的WORM保持日期。使用WORM保持日期来确定WORM保持期,在该WORM保持期期间,不能修改或删除WORM文件。然而,一旦WORM保持期期满,则可以删除所述文件。在一种实施方式中,在WORM保持期期满之后,将该文件视为可以修改或删除的普通文件。因此,与需要多次操作以便实现上述目的的传统方法不同,可以使用单个命令来将该文件指定为WORM文件并为被指定的WORM文件配置WORM保持期。还可以存在其它配置。
图2是示出根据本发明的一种实施方式的用于处理WORM文件的系统的方框图。例如,系统200可以被实现为图1中的服务器104的管理处理逻辑109和/或文件系统108的一部分。在本示例中,管理动作是与WORM相关的动作。参照图2,系统200包括但不限于属性解码器202、WORM状态管理器203、以及耦合到系统接口201和存储器205的WORM执行代理204。系统接口201可以是,依赖于与文件系统相关的操作系统,经由各种文件系统调用与应用程序通信的文件系统接口的一部分。存储器205可以是任何种类的存储设备,诸如图1的存储器105~107。
根据一种实施方式,使用与文件相关的时间属性(例如ctime、mtime、atime)来指定所述文件是否应被指定为WORM文件,并指定用于该WORM文件的WORM保持期。在一种实施方式中,在设置文件的时间属性以便将该文件指定为WORM文件之前,先向系统200提供值范围,其中所述值范围在普通文件系统中的典型时间属性的普通范围之外。例如,诸如ctime、mtime、atime等时间属性的普通值范围是过去的时间,因此,任何未来的时间在此类属性的普通值范围之外。作为响应,与WORM相关的动作与接收到的值范围相关联。在本示例中,与WORM相关的动作与普通时间相关动作无关。
随后,当在系统接口201处接收到将文件的时间属性设置为特定值的请求(例如经由文件系统调用)时,属性解码器202根据该特定值来检查该请求,以确定该特定值是否在已经与和WORM相关的动作进行关联的值范围之内,并且在与时间相关的普通值范围之外。如果是这样,则WORM状态管理器203将文件指定为WORM文件。在一种实施方式中,WORM状态管理器203对文件的单独属性进行设置,以用于指示该文件是WORM文件。在一种实施方式中,不修改文件的普通时间属性。也就是说,仅仅使用将被设置为在普通时间属性范围之外的时间属性的值来指示相关文件将被指定为WORM文件。可替换地,可以将时间属性设置为特定值且应用程序随后可以通过经由文件系统调用来获得文件信息(例如UNIX操作系统下的stat结构)而检索该值。
另外,根据一种实施方式,使用要设置的值来确定WORM文件的WORM保持期。该值可以如图3B所示作为WORM保持日期被存储在系统中,其中,使用WORM保持日期来计算相关文件的WORM保持期。WORM保持期指的是其间相关文件被指定为WORM文件的时间段。因此,在WORM保持期内,如果应用程序或用户尝试修改或删除WORM文件,则此类尝试将被WORM执行代理204拒绝和/或可以向应用程序或用户呈现错误消息(例如许可否认错误),该错误消息指示文件是WORM文件且不能被修改或删除。然而,当文件的WORM保持期期满时,该文件可以被删除。在一种实施方式中,在WORM保持期期满之后,文件被视为可以修改或删除的普通文件。
因此,可以使用单个命令来将文件指定为WORM文件并为该WORM文件配置WORM保持期。例如,根据一种实施方式,可以如下将单个命令实现为touch命令:
touch-a-t[time][filename]
其中,[time]是将被设置为WORM保持日期的值。
根据一种实施方式,可以根据每个文件系统或子系统(例如磁盘/磁带、卷、目录)来指定最小WORM保持期(也称为最小WORM保持时间)和最大WORM保持期(也称为最大WORM保持时间)。可以基于根据与其中存储了所述文件的文件系统/子系统相关的最小WORM保持期和最大WORM保持期被设置为文件的WORM保持日期的值来确定文件的WORM保持期。
例如,根据一种实施方式,如果系统200接收到将“stime”设置为超过当前时间(例如与文件系统相关的当前系统时间)加最大WORM保持期的值的请求,则系统拒绝该请求并返回“拒绝允许”错误。如果系统接收到将“stime”设置为低于当前时间加最小WORM保持期的值的请求,则系统可以忽略该请求。
在许多操作和/或文件系统中,可以用以上阐述的touch命令来实现“stime”的设置。还可以以编程方式通过可以被映射到标准网络文件接口(例如NFS、CIFS)的标准操作系统调用来实现“stime”的设置。另外,除WORM保护之外,系统还可以执行定期的访问控制。换言之,系统可以只有在尝试进行修改的用户具有修改文件的许可且该文件不是WORM文件时才允许修改文件。
在一种实施方式中,系统可以允许更新WORM文件的许可或访问控制信息。例如,系统可以允许更新WORM文件的许可或访问控制以防止某些用户读取该文件。在一种实施方式中,当系统接收到将WORM文件的“stime”设置为大于当前WORM保持日期但小于当前时间加最大WORM保持期的值时,系统将该文件的WORM保持日期延长至“stime”的请求值。在一种实施方式中,当系统接收到将WORM文件的“stime”设置为小于当前WORM保持日期的值时,系统可以用“拒绝允许”错误来拒绝该请求。这可以被用来充当对文件是否是WORM文件的测试。在一种实施方式中,WORM文件的WORM保持日期被存储为其“stime”值且可以被诸如以下命令显示
ls-l--time=stime[filename]
还可以存在其它配置。请注意,图2所示的某些或全部组件可以通过软件、硬件、或两者组合的方式来实现。
图4是示出根据本发明的一种实施方式的用于管理文件的过程的流程图。请注意,可以由可以包括软件、硬件、或其组合的处理逻辑来执行过程400。例如,可以由图2的系统200来执行过程400。参照图4,在方框401处,处理逻辑接收将与依照文件系统的例如atime、ctime、和/或mtime等文件属性相关联的值范围及管理动作。在一种实施方式中,接收到的值范围在属性值的普通范围(例如与时间属性相关的时间范围)之外。在一种实施方式中,管理动作与跟属性相关的普通动作(例如对时间属性进行读/写)无关。在方框402处,处理逻辑使管理动作(例如与WORM相关的动作)与所述属性的所接收到的值范围相关联。
随后,在方框403处,当接收到将文件的属性设置为特定值的请求时,在方框404,处理逻辑确定该特定值是否在先前配置的该属性的值范围内(例如在方框401~402期间)。如果是这样,则在方框405处,处理逻辑执行与该属性相关的管理动作(例如与WORM相关的动作)。在一种实施方式中,处理逻辑在不执行与该属性相关的普通动作(例如将时间值设置为时间属性)的情况下执行与该属性相关的管理动作。因此,除与属性相关的普通文件系统功能之外,还可以出于管理目的而使用依照与文件相关的文件系统的现有文件属性。此外,还可以使用特定值来指示要执行的特定种类的管理动作。
图5是示出根据一种实施方式的用于处理WORM文件的过程的流程图。请注意,可以由可以包括软件、硬件、或其组合的处理逻辑来执行过程500。例如,可以由图2的系统200来执行过程500。参照图5,在方框501处,处理逻辑接收并配置将于文件系统或子系统(例如磁盘/磁带、卷、或目录等)相关的最小WORM保持期/时间和最大WORM保持期/时间。在方框502处,处理逻辑接收文件并将文件存储在文件系统/子系统中。随后,在方框503处,处理逻辑接收将文件的时间属性设置为预定值的命令。
响应于该命令,在方框504处,处理逻辑确定所述预定值是否大于当前时间加最小WORM保持期且小于当前时间加最大WORM保持期。请注意,大于和小于可以包括相等的情况。还请注意,可以由与文件系统或存储系统/子系统相关的系统时间得到当前时间。如果是这样,则在方框505处,处理逻辑将文件指明或指定为WORM文件,并基于类似于图3B所示的预定值来设置该文件的WORM保持日期;否则,该命令被拒绝。在一种实施方式中,如果所述预定值小于当前时间加最小WORM保持期,则该命令被忽略。参照图3B,出于说明的目的,所述预定值可以是例如“072510”以指示WORM保持日期是2010年7月25日。可见,此类将来值在与依照普通文件系统的文件时间属性相关的普通值范围之外。
此后,再次参照图5,响应于对文件进行修改或删除的请求,在方框506处,处理逻辑确定文件是否仍被指定为WORM文件,并且如果是这样,则例如通过根据与文件相关的WORM保持日期来确定当前时间而确定文件是否仍在其WORM保持期内。如果是这样,则在方框507处,该请求被拒绝。在一种实施方式中,在WORM保持期期满之后,文件被视为可以被修改或删除的普通文件。在一种实施方式中,在WORM保持期期满之后,可以仅删除文件。
图6是可以供本发明的一种实施方式使用的数据处理系统的方框图。例如,可以使用图6所示的系统600作为客户端计算机系统,诸如图1的客户端101~102。或者,可以将示例性系统600实现为图1的服务器104。
请注意,虽然图6示出计算机系统的各种组件,但其并不意指将组件以任何特定架构或方式进行互连;同样地,细节并不与本发明密切相关。还应理解的是本发明还可以使用网络计算机、手持计算机、蜂窝电话、及其它可能具有较少组件或更多组件的数据处理系统。图6的计算机系统可以是例如Apple Macintosh计算机或IBM兼容PC。
如图6所示,采取数据处理系统形式的计算机系统600包括耦合到处理器603和ROM 607的总线或互连602、易失性RAM 605、以及非易失性存储器606。处理器603可以包括组成系统的中央处理单元(CPU)并因此控制系统的总体操作的多个处理器和/或核心逻辑。根据某些实施方式,处理器603通过执行存储在存储器605~607中的软件(例如应用程序和操作系统等)来实现此效果。处理器603可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等等,或此类设备的组合。
如图6的示例所示,处理器603(可以是例如Intel处理器或PowerPC处理器)被耦合到高速缓冲存储器604。总线602将这些各种组件互连在一起且还将这些组件603和605~607互连到显示控制器和显示设备608以及输入/输出(I/O)设备610(可以是本领域中所公知的鼠标、键盘、调制解调器、网络接口、打印机、及其它设备)。
通常,输入/输出设备610通过输入/输出控制器609耦合到系统。易失性RAM 605通常被实现为动态RAM(DRAM),该DRAM需要连续的功率以便刷新或保持存储器中的数据。非易失性存储器606通常是磁性硬盘驱动器、磁性光驱、光驱、DVD RAM、闪存、或即使在从系统去除电源之后也保持数据的其它类型的存储器系统。通常,非易失性存储器还将是随机存取存储器,虽然这并不是必须的。
虽然图6显示非易失性存储器是被直接耦合到数据处理系统中的其余组件的本地设备,但应认识到本发明可以利用远离系统的非易失性存储器,诸如通过网络接口(诸如调制解调器或以太网接口等)耦合到数据处理系统的网络存储设备。如本领域中所公知的那样,总线602可以包括通过各种桥接器、控制器、和/或适配器相互连接的一个或多个总线。在一种实施方式中,I/O控制器609包括用于控制USB(通用串行总线)外围设备的USB适配器。可替换地,I/O控制器609可以包括用于控制FireWire设备的IEEE-1394适配器(也称为FireWire适配器)。还可以包括其它组件。
因此,本文已描述了用于提供单写多读(WORM)存储的技术。先前详细说明的某些部分是根据计算机存储器内的数据位上的操作的算法和符号表示而给出。这些算法描述和表示是被数据处理领域的技术人员用来最有效地向该领域的其它技术人员传达其工作的主旨的方式。算法在这里且通常被构思为通向期望结果的自相一致的操作序列。所述操作是需要物理量的物理操纵的那些操作。通常,这些量采取能够被存储、传递、组合、比较、及操纵的电或磁信号,但这并不是必须的。出于对公共用途的考虑,已经证明有时将这些信号称为位、值、元素、符号、字符、项目、号码等将很方便。
然而,应注意的是,所有这些及类似术语将与适当的物理量相关联且仅仅是应用于这些量的方便标签。除非另外具体说明,否则如通过以上讨论所显而易见的那样,应认识到在在本说明书中,利用诸如“处理”或“计算”或“确定”或“显示”等术语的讨论自始至终指的是计算机系统或类似电子计算设备的动作或处理,所述计算机系统或类似电子计算设备操纵被表示为计算机系统的寄存器和存储器内的物理(或电子)量的数据并将该数据转换成同样地被表示为计算机系统存储器或寄存器或其它此类信息存储器、传输或显示设备内的物理量的数据。
本发明的实施方式还涉及用于执行本文中的操作的装置。此装置可以出于要求目的而被特殊构造,或者其可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可以被存储在计算机可读存储介质中,计算机可读存储介质诸如但不限于任何类型的磁盘,包括软盘、光盘、CD-ROM、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、可擦可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、磁卡或光卡、或适合于存储电子指令且每个被耦合到计算机系统总线的任何类型的介质。
本文所提出的算法和显示并不固有地与任何特定的计算机或其它装置相关。依照本文的教授内容可以将各种通用系统与所述程序一起使用,或者可以证明构造更专用的装置以执行所需方法操作是方便的。从以下说明,将看出用于多种这些系统的所需结构。另外,未参照任何特定编程语言来描述本发明的实施方式。应认识到可以使用多种编程语言来实现本文所述的本发明的实施方式的教授内容。
机器可读介质可以包括用于以机器(例如计算机)可读的形式存储或发送信息的任何机制。例如,机器可读介质包括只读存储器(“ROM”);随机存取存储器(“RAM”);磁盘存储介质;光学存储介质;闪速存储设备;电学、光学、声学或其它形式的传播信号(例如载波、红外信号、数字信号等)等。
在前述说明书中,已经参照本发明的特定示例性实施方式描述了本发明的实施方式。显而易见的是在不脱离以下权利要求所阐述的本发明的广泛精神和范围的情况下可以对其进行各种修改。因此将以说明性的意义而不是限制性的意义来考虑本说明书和附图。

Claims (16)

1.一种用于管理文件的由计算机实施的方法,该方法包括:
将值范围与文件的时间属性相关联,其中,所述值范围在依照与所述文件相关联的文件系统的所述时间属性的普通范围之外,其中所述时间属性是所述文件系统的标准文件属性;
将管理动作与所述时间属性的所述值范围相关联,其中,所述管理动作包括与跟依照所述文件系统的文件的时间属性相关联的普通动作无关的动作;
响应于将所述文件的时间属性设置为预定值的请求,确定所述预定值是否在所述值范围之内并且在所述文件的时间属性的普通范围之外,其中所述请求是随后经由所述文件系统的文件系统调用接收到的;以及
如果所述预定值在所述值范围之内并且在所述文件的时间属性的普通范围之外,则执行所述管理动作,该管理动作包括:
将所述文件指定为单写多读(WORM)文件;及
基于所述预定值,设置所述WORM文件的WORM保持期,
其中所述指定所述文件及设置所述WORM保持期响应于作为单个命令的所述请求而被执行。
2.根据权利要求1所述的方法,其中所述文件的时间属性在与所述文件相关联的标准元数据数据结构中被定义。
3.根据权利要求2所述的方法,该方法还包括如果所述预定值在依照与所述文件相关联的文件系统的所述时间属性的普通范围之内,则执行与所述文件的时间属性相关联的所述普通动作。
4.根据权利要求2所述的方法,该方法还包括除执行所述管理动作之外,还执行与所述文件的时间属性相关联的所述普通动作。
5.根据权利要求2所述的方法,其中,所述值范围为最小WORM保持时间至最大WORM保持时间。
6.根据权利要求5所述的方法,该方法还包括在不修改所述文件的时间属性的情况下,设置与所述文件相关联的单独属性以指示该文件是WORM文件。
7.根据权利要求5所述的方法,其中,所述文件的时间属性是与跟所述文件相关联的文件系统相兼容的访问时间(atime)属性、状态改变时间(ctime)属性、以及修改时间(mtime)属性中的一者。
8.根据权利要求5所述的方法,其中确定所述预定值是否在所述值范围之内并且在所述文件的时间属性的普通范围之外包括:
确定所述预定值是否大于当前时间与所述最小WORM保持时间之和并且小于所述当前时间与所述最大WORM保持时间之和;以及
如果所述预定值大于所述当前时间与所述最小WORM保持时间之和并且小于所述当前时间与所述最大WORM保持时间之和,则将所述文件指定为所述WORM文件,并基于所述预定值来为所述文件设置所述WORM保持期。
9.根据权利要求8所述的方法,其中,设置所述WORM保持期包括将所述预定值存储为所述文件的单独属性中的WORM保持日期。
10.根据权利要求8所述的方法,该方法还包括:
响应于对所述文件进行修改的请求,确定所述文件是否被指定为WORM文件;以及
如果所述文件被指定为WORM文件,则拒绝所述请求。
11.根据权利要求10所述的方法,其中,确定所述文件是否被指定为WORM文件包括基于所述WORM保持期来确定所述文件的WORM保持日期,并将所述当前时间与所述文件的WORM保持日期进行比较,其中,如果所述当前时间小于所述文件的WORM保持日期,则所述文件是WORM文件。
12.根据权利要求8所述的方法,该方法还包括:
响应于将所述文件的所述时间属性设置为第二预定值的第二请求,基于所述WORM保持期来确定所述文件的WORM保持日期,确定所述第二预定值是否大于所述文件的WORM保持日期并且小于所述当前时间与所述最大WORM保持时间之和;以及
如果所述第二预定值大于所述文件的WORM保持日期并且小于所述当前时间与所述最大WORM保持时间之和,则将所述WORM保持日期更新为所述第二预定值。
13.一种用于管理文件的设备,该设备包括:
用于将值范围与文件的时间属性相关联的装置,其中,所述值范围在依照与所述文件相关联的文件系统的所述时间属性的普通范围之外,其中所述文件的时间属性是所述文件系统的标准文件属性,
用于将管理动作与所述时间属性的值范围相关联的装置,其中,所述管理动作包括与跟依照所述文件系统的文件的时间属性相关联的普通动作无关的动作,
用于响应于将所述文件的时间属性设置为预定值的请求,确定所述预定值是否在所述值范围之内并且在所述文件的时间属性的普通范围之外的装置,其中所述请求是随后经由所述文件系统的文件系统调用接收到的,以及
用于如果所述预定值在所述值范围之内并且在所述文件的时间属性的普通范围之外,则执行所述管理动作的装置,该执行所述管理动作的装置包括:
用于将所述文件指定为单写多读(WORM)文件的装置;及
用于基于所述预定值,设置所述WORM文件的WORM保持期的装置,
其中所述指定所述文件及设置所述WORM保持期响应于作为单个命令的所述请求而被执行。
14.一种用于管理单写多读(WORM)文件的由计算机实施的方法,该方法包括:
响应于将文件的时间属性设置为第一预定值的命令,确定所述第一预定值是否在与依照与所述文件相关联的文件系统的时间属性相关联的普通值范围之外,其中所述命令是用于设置文件的时间属性的标准文件系统命令,并且所述命令经由标准文件系统调用而被接收,以及其中所述文件是能够被修改的普通文件;
确定所述第一预定值是否大于当前时间与最小WORM保持时间之和并且小于所述当前时间与最大WORM保持时间之和;
如果所述第一预定值在与所述时间属性相关联的普通值范围之外,则将所述文件从普通文件指定为WORM文件;以及
如果所述第一预定值大于所述当前时间与所述最小WORM保持时间之和并且小于所述当前时间与所述最大WORM保持时间之和,则基于所述第一预设值,设置所述文件的WORM保持期,其中响应于作为单个文件系统调用的所述命令来将所述文件指定为WORM文件并设置所述WORM保持期。
15.根据权利要求14所述的方法,该方法还包括:
如果所述第一预定值大于所述当前时间与所述最小WORM保持时间之和并且小于所述当前时间与所述最大WORM保持时间之和,则将所述第一预定值存储为所述文件的单独属性中的WORM保持日期。
16.根据权利要求15所述的方法,该方法还包括:
响应于将所述文件的时间属性设置为第二预定值的第二请求,基于所述WORM保持期来确定所述文件的所述WORM保持日期,确定所述第二预定值是否大于所述WORM保持日期并且小于所述当前时间与所述最大WORM保持时间之和;以及
如果所述第二预定值大于所述WORM保持日期并且小于所述当前时间与所述最大WORM保持时间之和,则将所述WORM保持日期更新为所述第二预定值。
CN200880103418.8A 2007-08-15 2008-07-15 用于提供单写多读(worm)存储的系统和方法 Active CN102317922B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/839,453 2007-08-15
US11/839,453 US7958166B2 (en) 2007-08-15 2007-08-15 System and method for providing write-once-read-many (WORM) storage
PCT/US2008/070097 WO2009023397A1 (en) 2007-08-15 2008-07-15 System and method for providing write-once-read-many (worm) storage

Publications (2)

Publication Number Publication Date
CN102317922A CN102317922A (zh) 2012-01-11
CN102317922B true CN102317922B (zh) 2015-07-29

Family

ID=40351046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880103418.8A Active CN102317922B (zh) 2007-08-15 2008-07-15 用于提供单写多读(worm)存储的系统和方法

Country Status (4)

Country Link
US (2) US7958166B2 (zh)
EP (1) EP2179360A4 (zh)
CN (1) CN102317922B (zh)
WO (1) WO2009023397A1 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022875A (ja) * 2009-07-17 2011-02-03 Sanyo Electric Co Ltd データアクセス装置
US9639540B2 (en) 2011-02-25 2017-05-02 Hewlett Packard Enterprise Development Lp Retention management in a worm storage system
US9514150B2 (en) * 2013-04-19 2016-12-06 Hewlett Packard Enterprise Development Lp Automatic WORM-retention state transitions
JP5956971B2 (ja) 2013-11-07 2016-07-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation LTFS(LinearTapeFileSystem)によって実現するWORMカートリッジのサポート
CN104332170B (zh) * 2014-08-26 2017-10-10 华为技术有限公司 一种存储设备和数据存储方法
CN105069090A (zh) * 2015-08-05 2015-11-18 浪潮电子信息产业股份有限公司 一种实现文件一写多读的方法及装置
US10762041B2 (en) * 2015-08-31 2020-09-01 Netapp, Inc. Event based retention of read only files
US10303780B2 (en) 2016-06-03 2019-05-28 Microsoft Technology Licensing, Llc Content preservation and policy lock features to provide immutability for regulated compliance
US10860544B2 (en) 2017-07-31 2020-12-08 Veritas Technologies Llc Systems and methods for write-once-read-many storage
US10725676B2 (en) 2018-05-11 2020-07-28 Seagate Technology, Llc Write once read many (WORM) drive for security or large storage needs
CN109033357B (zh) * 2018-07-24 2021-12-03 广东浪潮大数据研究有限公司 一种worm属性的同步方法及装置
CN109492425B (zh) * 2018-09-30 2021-12-28 南京中铁信息工程有限公司 一种在分布式文件系统上的worm一写多读技术应用方法
CN109684289B (zh) * 2018-11-05 2024-05-14 北京盛和大地数据科技有限公司 文件处理与刻录的方法及装置
US11455402B2 (en) 2019-01-30 2022-09-27 Seagate Technology Llc Non-volatile memory with precise write-once protection

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444728A (en) 1993-12-23 1995-08-22 Polaroid Corporation Laser driver circuit
US5535188A (en) 1994-10-03 1996-07-09 International Business Machines Corporation Data security protection for information recorded on a rewritable storage medium using a write-once read-many storage medium
US7284204B2 (en) * 2002-03-29 2007-10-16 International Business Machines Corporation System, method, and visual user interface for evaluating and selecting suppliers for enterprise procurement
US6804687B2 (en) * 2002-09-30 2004-10-12 Scott E. Sampson File system management with user-definable functional attributes stored in a token action log
KR101039247B1 (ko) 2002-12-25 2011-06-09 파나소닉 주식회사 Worm 정보 기록 매체, 정보 기록 방법, 정보 재생 방법, 정보 기록 장치, 및 정보 재생 장치
US7155460B2 (en) 2003-03-18 2006-12-26 Network Appliance, Inc. Write-once-read-many storage system and method for implementing the same
DE602004010451T2 (de) 2003-04-15 2008-11-20 Ricoh Co., Ltd. Einmal beschreibbarer, mehrmals lesbarer optischer Datenträger und Verfahren zum Beschreiben und Lesen des Datenträgers
US6879454B2 (en) 2003-07-11 2005-04-12 International Business Machines Corporation Write-once read-many hard disk drive
US7590807B2 (en) * 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system
US20050235095A1 (en) 2004-04-14 2005-10-20 Winarski Daniel J Write-once read-many hard disk drive using a WORM LBA indicator
US20050231846A1 (en) 2004-04-14 2005-10-20 International Business Machines Corporation Write-once read-many hard disk drive using a WORM pointer
JP4491269B2 (ja) * 2004-04-22 2010-06-30 株式会社日立製作所 ストレージシステム及びファイル管理装置
JP4548717B2 (ja) * 2004-09-24 2010-09-22 株式会社日立製作所 記憶装置の計算機および記憶装置の管理方法
US20060123232A1 (en) * 2004-12-08 2006-06-08 International Business Machines Corporation Method for protecting and managing retention of data on worm media
US7774610B2 (en) 2004-12-14 2010-08-10 Netapp, Inc. Method and apparatus for verifiably migrating WORM data
US20060129588A1 (en) * 2004-12-15 2006-06-15 International Business Machines Corporation System and method for organizing data with a write-once index
JP2006209237A (ja) 2005-01-25 2006-08-10 Hitachi Ltd 記憶システム及びその制御方法並びに仮想化装置
US8098521B2 (en) 2005-03-31 2012-01-17 Spansion Llc Method of providing an erase activation energy of a memory device
JP4766954B2 (ja) 2005-08-22 2011-09-07 株式会社日立製作所 ストレージ装置、データ復旧方法及びデータアクセス方法
JP4837378B2 (ja) * 2006-01-04 2011-12-14 株式会社日立製作所 データの改竄を防止する記憶装置
US7752401B2 (en) * 2006-01-25 2010-07-06 Netapp, Inc. Method and apparatus to automatically commit files to WORM status
US8170985B2 (en) * 2006-01-31 2012-05-01 Emc Corporation Primary stub file retention and secondary retention coordination in a hierarchical storage system
US8683228B2 (en) * 2007-01-16 2014-03-25 Terry Lee Stokes System and method for WORM data storage
US8407185B2 (en) * 2009-12-07 2013-03-26 Hitachi, Ltd. Computer, its processing method, and computer system

Also Published As

Publication number Publication date
US8200721B2 (en) 2012-06-12
EP2179360A1 (en) 2010-04-28
US20090049003A1 (en) 2009-02-19
CN102317922A (zh) 2012-01-11
US7958166B2 (en) 2011-06-07
WO2009023397A1 (en) 2009-02-19
US20110238714A1 (en) 2011-09-29
EP2179360A4 (en) 2011-06-08

Similar Documents

Publication Publication Date Title
CN102317922B (zh) 用于提供单写多读(worm)存储的系统和方法
US8909881B2 (en) Systems and methods for creating copies of data, such as archive copies
US8429207B2 (en) Methods for implementation of information audit trail tracking and reporting in a storage system
US20060010301A1 (en) Method and apparatus for file guard and file shredding
US20050076042A1 (en) Method, system, and program for archiving files
US20060218113A1 (en) Method and system for shredding data within a data storage subsystem
US20110153560A1 (en) Apparatus, method and article to manage electronic or digital documents in networked environment
US11880335B2 (en) Event based retention of read only files
US20230259640A1 (en) Data storage systems and methods of an enforceable non-fungible token having linked custodial chain of property transfers prior to minting using a token-based encryption determination process
CN107301018A (zh) 一种在集群存储上的worm技术应用方法
Ward et al. Electronic discovery: Rules for a digital age
Chang et al. Dynamic deduplication decision in a hadoop distributed file system
US20090012972A1 (en) System for Processing Unstructured Data
US8707438B1 (en) System and method for providing storage for electronic records
Scope et al. Compliance and Data Lifecycle Management in Databases and Backups
JP5632753B2 (ja) ファイル格納制御システムと方法およびプログラム
US20100114820A1 (en) Electronic library book
Silbert The 2006 Amendments to the Rules of Civil Procedure: Accessible and Inaccessible Electronic Information Storage Devices, Why Parties Should Store Electronic Information in Accessible Formats
Brewer Delivering high availability for Inktomi search engines
Seng et al. Data Objects: New Things or No-Thing More Than Ignis Fatuus
Organ Discoverability of electronic evidence
Mylopoulos Next generation database systems won't work without semantics!(panel)
Ward et al. Computer forensics, e-discovery, and spoliation: Impact of the new federal rules
Silbert 2006 Amendments to the Rules of Civil Procedure: Accessible and Inaccessible Electronic Information Storage Devices, Why Parties Should Store Electronic Information in Accessible Formats
Lunsford et al. Protecting Information Privacy When Retiring Old Computers.

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