CN101278289B - 提供对象以支持worm存储设备中的数据结构的系统和方法 - Google Patents

提供对象以支持worm存储设备中的数据结构的系统和方法 Download PDF

Info

Publication number
CN101278289B
CN101278289B CN2006800366878A CN200680036687A CN101278289B CN 101278289 B CN101278289 B CN 101278289B CN 2006800366878 A CN2006800366878 A CN 2006800366878A CN 200680036687 A CN200680036687 A CN 200680036687A CN 101278289 B CN101278289 B CN 101278289B
Authority
CN
China
Prior art keywords
data
immutable
manager
storage
protection level
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.)
Expired - Fee Related
Application number
CN2006800366878A
Other languages
English (en)
Other versions
CN101278289A (zh
Inventor
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.)
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 CN101278289A publication Critical patent/CN101278289A/zh
Application granted granted Critical
Publication of CN101278289B publication Critical patent/CN101278289B/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • G06F21/805Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

一种对象存储系统,提供了用以支持WORM存储中的索引结构、日志和审计跟踪的存储对象。所述存储对象包含可变对象、不可变对象或可追加对象。对于每个存储对象,所述系统保持类型表示,例如可变的、不可变的或可追加对象类型。可变对象可被任意修改,不可变对象不能被修改,而可追加对象的内容不能被修改,但是可给其追加新数据。追加的数据变成不可变的。所述系统使由对象类型表示的保护水平能被升级而不被降级。因此,不能通过改变所述存储对象的类型来改变被提交为不可变的数据。

Description

提供对象以支持WORM存储设备中的数据结构的系统和方法
技术领域
本发明通常涉及一次写入多次读取(WORM)存储设备,并且尤其涉及有助于WORM存储设备中诸如索引、数据库日志和审核跟踪的项的创建和维护的对象。
背景技术
由于越来越多地以电子形式存储重要数据,所以至关重要的是以一种防窜改方式可靠地存储重要数据。此外,电子数据(例如电子邮件、即时消息、药物开发日志、病例等等)的不断增长的子集要遵守管理所述数据的长期保持和可用性的法规。近来较大上市公司的高度说明性出版物还使诸如保密与交换委员会(SEC)的规章主体收紧其法规。例如,2003年5月生效的保密与交换委员会规则17a-4规定了电子邮件、附件、备忘录和即时消息,以及常规电话会话的存储要求。许多此类法规中的一个要求是数据必须被可靠地存储在非可擦除、非可重写存储设备中,使得所述数据一旦被写入,就不能被修改或改写。与可被多次写入的WMRM(多次写入多次读取)存储设备相对比,此类存储设备通常被称作WORM(一次写入多次读取)存储设备。
重要数据要求某种形式的组织,使得与查询相关的全部数据通常在数天,有时甚至在数小时内可被迅速地发现和取回。在大量数据中扫描全部数据以发现与查询相关的条目是不实际。取而代之,数据要求具有某种诸如索引的直接存取机制的形式的组织。这种存取机制要求WORM存储设备中的存储阻止存取机制被窜改。否则,对方可能修改直接存取机制以便逻辑修改数据;例如,通过移除索引条目隐藏对象,或通过修改初始对象的索引条目替换对象。
此外,通常需要将少量数据记录到WORM存储设备中,例如,在系统中保持数据库日志或活动的非可变审核跟踪。为管理索引机制和日志以使其不能被窜改,要求某种形式的WORM存储,其允许添加新索引/日志条目,同时阻止任何已提交的条目被修改。
虽然常规WORM存储技术已经证明是有用的,但仍期望提供进一步的改进。常规WORM存储系统不能有效地支持索引机制和日志。常规WORM存储设备确保对象(例如,文件、对象、模块)在已被提交到WORM存储系统之后是不变的。为了在WORM存储设备中存储索引结构和日志,每当提交新条目时要求新对象的创建,从而导致性能和空间开销两者,并且降低引用局部性(locality of reference)。为改进性能和空间开销,可以较不频繁地提交条目。然而,不保证尚未被提交的条目是不变的,或甚至是永久的。可选地,数据的较大集合可成批进行索引。然而,该批索引在接收和索引数据的整个集合之前是不可用的。此外,由于在一段时间内添加数据,所以系统创建多个索引,可能需要搜索其中的每个索引以找到一个特定数据。
因此需要用于提供对象以支持WORM存储设备中的索引结构、日志和审核跟踪的系统、计算机程序产品以及相关的方法。迄今为止,还不能满足对这种解决方案的需要。
发明内容
本发明满足该需要,并且提供了用于提供对象以支持WORM存储设备中的索引结构、日志和审核跟踪的系统、服务、计算机程序产品和相关的方法(在这里被统称为″系统″或″本系统″)。本系统包括对象存储系统,其支持包括不同保护水平的存储对象。在一个实施例中,存储对象的保护水平可被升级。
除了通常与对象相关的元数据之外,针对每个存储对象,本系统保持其对修改的保护水平的指示。在一个实施例中,存储对象包括以下保护水平:可修改(可变对象)、不可修改(不可变对象),或者可追加(可追加对象)。本系统允许可变对象被任意修改。本系统确保不可变对象不能被修改。本系统保证可追加对象的内容不能被修改,但是可被追加新数据;被追加给可追加对象的数据变成不可变的。
在一个实施例中,本系统使与对象,即对象的类型,相关的保护水平能被升级。可变对象可被改变为可追加对象;可追加对象可被改变为不可变对象。不可变对象不能被改变为可追加对象或可变对象。可追加对象不能被改变为可变对象。通过这种方式,被提交为不可变的数据不能通过改变数据存储于其中的存储对象的类型而被改变。
在一个实施例中,保护水平在预定时间段内有效。在另一个实施例中,本系统在预定时间段之后升级保护水平。
本系统的存储对象使WORM索引系统得以实现。索引被分成每一个都包括零或更多个索引条目的索引段。每个索引段中的索引条目被存储在可追加对象中。一旦被写入到可追加对象,写入的索引条目就是不可变的;即,索引条目不能被改变。新的索引条目可被添加到可追加对象。一旦新的索引条目被写入到可追加对象,则新索引条目是不可变的。通过这种方式,不能修改WORM索引来逻辑修改已被索引,即被添加了索引的数据。
本系统的存储对象使WORM日志得以实现。WORM日志包括可追加对象。WORM日志的条目被写入可追加对象中。由于条目被写入,所述条目变成不可变的。为结束WORM日志,可追加对象的类型被升级到不可变。通过这种方式,不能修改WORM日志来改变已被记录到日志的,即被添加到日志中的条目。WORM日志可被分成固定尺寸或固定持续时间的部分,以便易于管理。这些部分中的每一个可被存储在可追加对象中。
本系统可被嵌入在诸如对象存储应用程序的实用程序中。本系统为用户提供了识别要在对象存储应用程序的一个或多个存储对象中存储的一组数据的装置。该组数据可以是例如记录、索引、日志、审计跟踪等等。本系统提供了用于指定与数据组相关的性能准则的装置,该性能准则是例如数据的保护水平、日志的到期时间或存储对象升级保护水平时的时间。本系统还为用户提供了调用对象存储应用程序以生成并保持诸如记录、索引、日志和审计跟踪等的数据的装置。
附图说明
参照以下描述、权利要求和附图将更详细地描述本发明的各种特性和实现这些特性的方式,其中在适当之处重复使用附图标记以指明参考项之间的对应关系,并且其中:
图1是其中可以使用本发明的存储系统的示例性操作环境的示意图;
图2是图解图1的存储系统创建对象的方法的处理流程图;
图3是图解图1的存储系统升级对象的保护水平的方法的处理流程图;
图4是图解图1的存储系统将数据写入到对象的方法的处理流程图;
图5是图解利用图1的存储系统保持WORM索引的方法的处理流程图;
图6由图6A和6B组成并且示出了图解搜索图1的存储系统中所保持的WORM索引的方法的处理流程图;以及
图7是图解利用图1的存储系统保持WORM日志的方法的处理流程图。
具体实施方式
以下定义和说明提供了关于本发明的技术领域的背景信息,并且意图是有助于本发明的理解,而不是限制其范围:
可追加:能够接收被追加给现有数据的新数据。可追加类型的对象包括可给其追加新数据的不可变的数据。一旦追加,所述新数据变成不可变的(WORM)。
不可变的或WORM:不能修改或删除。不可变类型的对象不能被修改、改写或删除。
可变的:能够修改。可变类型的对象可被修改、改写或删除。
图1示出了其中可使用根据本发明的用于提供对象以支持WORM存储设备中的数据结构的系统、计算机程序产品和相关方法(″存储系统10″或″系统10″)的示例性总体环境。系统10包括存储系统逻辑20,其通常以硬件逻辑或软件程序代码的形式嵌入在或安装在计算机系统30内。系统10还包括数据结构管理器25,其通常以硬件逻辑或软件程序代码的形式嵌入在或安装在计算机系统30或诸如客户端80、90的客户端内。
存储系统逻辑20包括数据管理器40、保护管理器45和对象管理器50。系统10还包括存储介质,例如硬盘60和磁带70。诸如客户端80、90的客户端通过网络95或直接链路接入系统10中。
系统10包括存储对象。存储对象包括对修改的不同水平的保护。例如,针对每个存储对象,对象管理器50保持类型的指示;例如,可变的、不可变的或可追加。
保护管理器45允许可变类型的存储对象(此处还被称作可变对象)被任意修改。保护管理器45保护不可变类型的存储对象(此处还被称作不可变对象),使得其无论如何都不能被改变。保护管理器45保护可追加类型的存储对象(此处还被称作可追加对象)的内容,使得所述内容不能被改变。保护管理器45允许数据被追加给可追加对象;被追加给可追加对象的数据变成不可变的。数据管理器40处理进出系统的数据流。
对象管理器50允许存储对象的保护水平通过例如修改存储对象的类型而被升级。例如,可变对象可被改变成可追加对象;可追加对象可被改变成不可变对象。不可变对象不能被改变成可追加对象或可变对象。可追加对象不能被改变成可变对象。通过这种方式,被提交为不可变的数据不能通过改变数据存储于其中的存储对象的类型而被改变。
图2图解了创建存储对象的系统10的方法200。系统10接收创建具有指定名称的存储对象的请求(步骤205)。对象管理器50创建存储对象,并且将指定的名称应用到所创建的存储对象(步骤210)。系统10接收设置存储对象的类型为可变的、不可变的或可追加的请求(步骤215)。对象管理器50设置存储对象的类型(步骤220)。数据管理器40接收要在存储对象中存储的数据,并且在存储对象中存储所述数据(步骤225)。系统10接收关闭存储对象的请求(步骤230),以及对象管理器50关闭存储对象(步骤235)。
在一个实施例中,对象管理器50确定具有指定名称的存储对象是否已经存在。如果存在的话,系统10对于创建请求返回失败。在另一个实施例中,如果具有指定名称的对象已经存在于系统中,则对象管理器50将版本号追加给指定名称。在另一个实施例中,确定对象是否已经存在于所述系统中包括确定具有指定名称的对象是否处于被创建的过程中。在另一个实施例中,在创建对象的请求中不指定对象名称。取而代之,对象管理器50确定分配给对象的名称,并且系统10将分配的名称返回给系统的用户。
图3图解了更新存储对象的类型的系统10的方法300。系统10接收对存储对象的″更新类型″请求(步骤305),即更新存储对象的类型的请求。对象管理器50确定请求的存储对象是否存在(判定步骤310)。如果请求的存储对象不存在,则系统10返回错误″请求失败″(步骤315)。如果请求的存储对象的确存在(判定步骤310),则对象管理器50检查请求的存储对象的当前类型(步骤320)。请求的存储对象可包括不可变类型、可追加类型或可变类型。
如果请求的存储对象的当前类型是不可变的(判定步骤325),则请求的存储对象的类型不能被改变。因此,系统10返回错误″请求失败″(步骤315)。如果请求的存储对象的当前类型是可追加的(判定步骤330),则对象管理器50确定更新类型请求是从可追加类型改变到不可变类型的请求,还是从可追加类型改变到可变类型的请求(判定步骤335)。可追加对象只能被改变为不可变对象。
如果更新类型请求试图将可追加对象改变为可变对象,则系统10返回错误″请求失败″(步骤315)。如果更新类型请求试图将可追加对象改变为不可变对象(判定步骤335),则对象管理器50对存储对象执行请求的更新类型请求(步骤340)。在判定步骤330处,如果当前类型不是可追加的,则当前类型是可变的(步骤345)。可变对象可被改变为可追加对象或者不可变对象。因此,对象管理器50执行更新类型请求(步骤340)。在一个实施例中,对象管理器50存储创建存储对象的时间、存储对象变为可追加对象的时间以及存储对象变为不可变对象的时间。
图4图解了正在写入存储对象的系统10的方法400。系统10接收对存储对象的写请求(步骤405)。对象管理器50确定请求的存储对象是否存在(判定步骤410)。如果请求的存储对象不存在,则系统10返回错误″请求失败″(步骤415)。如果请求的存储对象的确存在(判定步骤410),则对象管理器50检查请求的存储对象的当前类型(步骤420)。请求的存储对象可包括不可变类型、可追加类型或可变类型。
如果请求的存储对象的当前类型是不可变的(判定步骤425),则请求的存储对象不能被修改或者改写。因此,系统10返回错误″请求失败″(步骤415)。如果请求的存储对象的当前类型是可追加(判定步骤430),则保护管理器45确定写请求是追加请求还是改写请求(判定步骤435)。如果写请求是改写请求,则系统10返回错误″请求失败″(步骤415)。可追加对象的内容不能被改变或改写。如果写请求是追加请求(判定步骤435),则数据管理器40对存储对象执行所请求的写请求(步骤440)。如果在判定步骤430处,当前类型不是可追加的,则当前类型是可变的(步骤445)。可变对象可被修改或改写。因此,数据管理器40执行写请求(步骤440)。
当操作的提交发生时,系统10确保使该操作的任何实施都是持久的,即使经过系统崩溃或电源故障。在一个实施例中,在所有操作被执行之后,其被自动提交。
图5图解了保持WORM索引的系统10的方法500。数据结构管理器25将索引分成段(步骤505)。索引可以是任何类型的索引,例如,B-树、散列表或反向索引(inverted index)。例如,如果索引是散列表,则散列表中的每个桶可以是段。如果索引是B-树,则树中的每个节点可以是段。如果索引是反向索引,则每个置入列表(posting list)可以是段。数据结构管理器25在可追加对象中存储每个段(步骤510)。可追加对象允许索引条目被存储,但是不被修改。因此,对方不能修改索引以逻辑修改索引代表的数据;例如,通过移除索引条目来隐藏对象,或通过修改初始对象的索引条目来替换对象。
为存储索引条目,数据结构管理器25利用索引的方法来确定索引条目的目标位置(步骤515)。例如,如果索引是散列表,则索引条目的目标位置通过计算索引条目的索引关键字的散列函数来识别。数据结构管理器25识别哪个可追加对象对应于确定的目标位置(步骤520)。数据结构管理器25确定识别的可追加对象是否存在(判定步骤525)。如果不存在,则数据结构25创建相应于步骤525中所确定的目标位置的可追加对象(步骤530)。数据结构管理器25将索引条目追加给可追加对象(步骤535)。任何以前的索引条目在可追加对象中保持不变,从而提供不可变的、可追加的索引结构。在一个实施例中,每个对象中的条目按插入的时间,而不是索引关键字来排序。
图6图解了搜索WORM索引的系统10的方法600。系统10接收包括索引条目的搜索关键字的搜索请求(步骤605)。数据结构管理器25利用索引的方法来确定索引条目的一个或多个候选位置(步骤610)。数据结构管理器25选择一个候选位置来搜索(步骤615)。数据结构管理器25识别相应于所选择的候选位置的可追加对象(步骤620)。
数据结构管理器25查寻相应于所选择的候选位置的可追加对象(步骤625)。如果可追加对象未被找到(判定步骤630),则数据结构管理器25确定任何其它候选位置是否对应于索引条目(判定步骤635)。如果其它候选位置被识别,则数据结构管理器25选择下一个候选位置,并且重复步骤620、625和630。如果没有其它候选位置被识别(判定步骤635),则该搜索没有找到结果,并且系统10返回消息″未发现搜索关键字″(步骤645)。
如果数据结构管理器25找到相应于所选择的位置的可追加对象(判定步骤630),则数据结构管理器25利用例如线性扫描,执行搜索关键字的搜索(步骤650)。如果搜索关键字未被找到(判定步骤655),则系统10返回消息″未发现搜索关键字″(步骤645)。如果找到搜索关键字,则系统10返回所找到的索引条目(步骤660)。
在一个实施例中,索引可包括多个相应于搜索关键字的条目。数据结构管理器25搜索候选位置以返回所有相应于搜索关键字的索引条目。
图7图解了创建和保持日志-例如审计跟踪、数据库日志或某些其它类型日志-的系统10的方法700。数据结构管理器25创建日志作为可追加对象(步骤705)。数据结构管理器25将日志条目写到可追加对象(步骤710)。如果根据某些预定准则,例如时间,数据结构管理器25确定关闭日志(判定步骤715),则数据结构管理器25将可追加对象的类型改变为不可变的(步骤720)。不能再修改日志。否则(判定步骤715),数据结构管理器25继续将日志条目写到可追加对象(步骤710),直到日志被关闭为止。
紧跟在已经执行了日志操作之后,每个日志操作可被提交。在一个实施例中,若干操作被成组地提交以改进性能。通常,日志被分成固定大小或固定持续时间的部分,以便于管理。这些部分中的每一个可被存储在系统10的存储对象中。
应当理解,所描述的本发明的特定实施例仅仅是本发明原理的某些应用的说明。在不偏离本发明的宗旨和范围的前提下,可以对此处所描述的用于提供对象以支持WORM存储设备中的数据结构的系统和方法进行许多修改。
此外,虽然本发明为了说明仅仅结合WORM存储设备进行了描述,但是显然本发明也适用于例如在数据被写入之后在指定时间段内进行一次性写入的存储设备。换言之,显然仅仅在指定时间段内,保护不可变对象不被修改。此外,虽然本发明为了说明仅仅结合可变的、不可变的和可追加的文件进行了描述,但是显然本发明包含对修改的其它保护水平。
还应当清楚,本发明包括给对象添加数据的不同方法,例如追加、预先考虑等等。将对象分成段,允许段被添加到对象,以及允许数据被加到对象内的段的思想也属于本发明的范围。此外,虽然本发明为了说明仅仅结合索引和日志结构进行了描述,但是显然本发明也适用于例如WORM存储设备中的任何其他不断增长的数据结构。此外,显然本发明的对象可以是文件、块、或其它数据集合。

Claims (19)

1.一种用于存储数据的系统,包括:
数据管理器,用于接收将被存储在存储系统中的数据;
对象管理器,用于处理接收数据被存储于其中的对象;
保护管理器,用于确定所述接收数据是否将被添加到对象;以及
如果所述保护管理器确定所述数据将被添加到该对象,则所述保护管理器将所述数据添加到所述对象,否则,所述保护管理器拒绝该数据。
2.如权利要求1所述的系统,其中所述存储系统包括WORM存储系统;以及
数据结构管理器,用于通过将数据结构分成至少一个段和在所述对象之一中存储所述段来在WORM存储中保持所述数据结构。
3.如权利要求1所述的系统,其中:
所述对象管理器将保护水平与每个对象相关联;以及
所述保护管理器基于与所述对象相关的保护水平,确定是否接受要存储在所述对象中的数据。
4.如权利要求3所述的系统,其中所述对象管理器允许与所述对象相关的保护水平被升级,以及不允许与所述对象相关的保护水平被降级。
5.如权利要求3所述的系统,其中所述对象管理器还保持与所述对象的保护水平被升级时的时间相关的时间戳。
6.如权利要求3所述的系统,其中所述保护水平在预定时间段之后到期。
7.如权利要求3所述的系统,其中所述保护水平在预定时间段之后被升级。
8.如权利要求3所述的系统,其中所述保护水平是可变的、不可变的和可追加的。
9.如权利要求8所述的系统,其中所述保护管理器保护不可变对象不被修改,保护可追加对象除了数据的添加和升级到不可变对象之外不被修改,以及允许可变对象被修改。
10.如权利要求8所述的系统,其中:
允许可变对象被改变为可追加或不可变对象;
仅允许可追加对象被改变为不可变对象;以及
不允许不可变对象被改变。
11.一种用于存储数据的方法,包括:
接收将被存储的数据;
处理接收数据被存储于其中的对象;
确定所述接收数据是否将被添加到对象;
如果确定所述数据将被添加到所述对象,则将所述数据添加到所述对象;否则,拒绝所述数据。
12.如权利要求11所述的方法,其中将所述数据至少部分地存储在WORM存储设备中;以及
还包括通过将所述数据结构分成一个或多个段和在所述对象之一中存储所述段中的至少一个,在所述WORM存储设备中保持数据结构。
13.如权利要求12所述的方法,其中所述数据结构包括索引。
14.如权利要求13所述的方法,还包括通过标识插入索引条目的候选位置,确定相应于所述候选位置的对象和将所述索引条目添加到所述对象,将所述条目插入到所述索引中。
15.如权利要求13所述的方法,还包括通过识别索引条目的候选位置,确定相应于所述候选位置的对象,在所述对象中执行对检索关键字的搜索和如果在所述对象中找到所述检索关键字,则返回找到的索引条目,来搜索相应于检索关键字的所述索引条目的索引。
16.如权利要求11所述的方法,还包括:
将保护水平与每个对象相关联;以及
基于与所述对象相关的保护水平,确定是否接受要存储在所述对象中的数据。
17.如权利要求16所述的方法,其中与所述对象相关的保护水平可被升级,并且其中与所述对象相关的保护水平不能被降级。
18.如权利要求16所述的方法,还包括保持与所述对象的保护水平被升级时的时间相关的时间戳。
19.如权利要求16所述的方法,其中所述保护水平是可变的、不可变的和可追加的;并且还包括:
保护不可变对象不被修改;
保护可追加对象除了数据的添加和升级到不可变对象之外不被修改;以及
允许可变对象被修改。
CN2006800366878A 2005-10-05 2006-09-20 提供对象以支持worm存储设备中的数据结构的系统和方法 Expired - Fee Related CN101278289B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/244,270 US7487178B2 (en) 2005-10-05 2005-10-05 System and method for providing an object to support data structures in worm storage
US11/244,270 2005-10-05
PCT/EP2006/066522 WO2007039455A2 (en) 2005-10-05 2006-09-20 System and method for providing an ojbect to support data structures in worm storage

Publications (2)

Publication Number Publication Date
CN101278289A CN101278289A (zh) 2008-10-01
CN101278289B true CN101278289B (zh) 2010-05-19

Family

ID=37903097

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800366878A Expired - Fee Related CN101278289B (zh) 2005-10-05 2006-09-20 提供对象以支持worm存储设备中的数据结构的系统和方法

Country Status (4)

Country Link
US (2) US7487178B2 (zh)
EP (1) EP1934826A2 (zh)
CN (1) CN101278289B (zh)
WO (1) WO2007039455A2 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7765215B2 (en) * 2006-08-22 2010-07-27 International Business Machines Corporation System and method for providing a trustworthy inverted index to enable searching of records
US20080288291A1 (en) * 2007-05-16 2008-11-20 Silver Springs - Martin Luther School Digital Signature, Electronic Record Software and Method
US8291179B2 (en) 2007-10-05 2012-10-16 Imation Corp. Methods for implementation of worm enforcement in a storage system
US20090112843A1 (en) * 2007-10-29 2009-04-30 International Business Machines Corporation System and method for providing differentiated service levels for search index
NO327653B1 (no) * 2007-12-20 2009-09-07 Fast Search & Transfer As Fremgangsmate for dynamisk oppdatering av en indeks og en sokemotor som implementerer samme
US8171244B2 (en) 2008-02-01 2012-05-01 Imation Corp. Methods for implementation of worm mode on a removable disk drive storage system
US9026993B2 (en) * 2008-06-27 2015-05-05 Microsoft Technology Licensing, Llc Immutable types in imperitive language
US8234317B1 (en) * 2008-08-06 2012-07-31 Netapp, Inc. Auto-committing files to immutable status based on a change log of file system activity
US9569282B2 (en) 2009-04-24 2017-02-14 Microsoft Technology Licensing, Llc Concurrent mutation of isolated object graphs
US8725780B2 (en) * 2009-06-12 2014-05-13 Imation Corp. Methods and systems for rule-based worm enforcement
US8205025B2 (en) * 2009-08-12 2012-06-19 Globalspec, Inc. Efficient buffered reading with a plug-in for input buffer size determination
US8695104B2 (en) 2010-04-23 2014-04-08 Dell Products, Lp System and method for creating conditional immutable objects in a storage device
US8370315B1 (en) * 2010-05-28 2013-02-05 Symantec Corporation System and method for high performance deduplication indexing
US8626781B2 (en) * 2010-12-29 2014-01-07 Microsoft Corporation Priority hash index
DE112012004297B4 (de) 2011-10-14 2023-02-16 International Business Machines Corporation Verfahren zum Erkennen von Datenmanipulationen in einem Bandlaufwerk und Dateisystem
US10078656B1 (en) * 2013-07-26 2018-09-18 Amazon Technologies, Inc. Unmodifiable data in a storage service
CN103500092B (zh) * 2013-09-23 2017-01-18 华为技术有限公司 一种worm追加写判断方法及存储设备
JP5956971B2 (ja) 2013-11-07 2016-07-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation LTFS(LinearTapeFileSystem)によって実現するWORMカートリッジのサポート
CN104332170B (zh) * 2014-08-26 2017-10-10 华为技术有限公司 一种存储设备和数据存储方法
US20170154050A1 (en) 2015-11-30 2017-06-01 International Business Machines Corporation Optimized content object storage service for large scale content
US20230045034A1 (en) * 2021-08-09 2023-02-09 Fmr Llc Secure compliant storage of server access data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1295292A (zh) * 1999-11-05 2001-05-16 国际商业机器公司 用于多语言万维网服务器的方法和系统
CN1314634A (zh) * 2000-03-17 2001-09-26 索尼株式会社 文档转换方法、文档转换器、以及文档显示系统

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0750558B2 (ja) * 1992-09-22 1995-05-31 インターナショナル・ビジネス・マシーンズ・コーポレイション 一括消去型不揮発性メモリ
US5568639A (en) * 1993-11-24 1996-10-22 Menai Corporation Method and apparatus for providing an object-oriented file structuring system on a computer
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
US5553019A (en) 1995-01-23 1996-09-03 Motorola, Inc. Write-once read-many memory using EEPROM cells
US6724554B1 (en) 1995-03-10 2004-04-20 Iomega Corporation Read/write protect scheme for a disk cartridge and drive
US5960194A (en) * 1995-09-11 1999-09-28 International Business Machines Corporation Method for generating a multi-tiered index for partitioned data
US6128771A (en) * 1996-02-09 2000-10-03 Sun Microsystems, Inc. System and method for automatically modifying database access methods to insert database object handling instructions
US6744713B1 (en) 1998-06-15 2004-06-01 Samsung Electronics Co., Ltd. Recording medium for storing write protection information and write protection method thereof
US6330210B1 (en) * 1999-04-29 2001-12-11 Hewlett-Packard Company Data structure for control information on rewriteable data storage media
US6339810B1 (en) 2000-01-11 2002-01-15 International Business Machines Corporation Serial data storage system with automatically adjusted data protection to implement worm media with limited overwrite allowing write appending
US6779080B2 (en) 2000-01-11 2004-08-17 International Business Machines Corporation Serial data storage system with automatically adjusted data protection to implement worm media with limited overwrite allowing write appending
CA2305078A1 (en) 2000-04-12 2001-10-12 Cloakware Corporation Tamper resistant software - mass data encoding
US6775703B1 (en) 2000-05-01 2004-08-10 International Business Machines Corporation Lease based safety protocol for distributed system with multiple networks
US6772172B2 (en) * 2001-04-27 2004-08-03 Sun Microsystems, Inc. Method, system, program, and computer readable medium for indexing object oriented objects in an object oriented database
US6912645B2 (en) * 2001-07-19 2005-06-28 Lucent Technologies Inc. Method and apparatus for archival data storage
US20030126446A1 (en) 2001-12-27 2003-07-03 Jacques Debiez Method and system for providing a secure time reference in a worm environment
US6615330B2 (en) 2001-12-27 2003-09-02 Storage Technology Corporation Virtual worm method and system
US7127461B1 (en) * 2002-11-27 2006-10-24 Microsoft Corporation Controlling access to objects with rules for a work management environment
US7155460B2 (en) * 2003-03-18 2006-12-26 Network Appliance, Inc. Write-once-read-many storage system and method for implementing the same
US7143251B1 (en) * 2003-06-30 2006-11-28 Data Domain, Inc. Data storage using identifiers
US20050050342A1 (en) 2003-08-13 2005-03-03 International Business Machines Corporation Secure storage utility
JP2007511820A (ja) * 2003-10-27 2007-05-10 アーカイヴァス インコーポレイテッド 独立ノード冗長アレイに対するポリシーに基づく管理
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
US20050210041A1 (en) * 2004-03-18 2005-09-22 Hitachi, Ltd. Management method for data retention
JP4401863B2 (ja) * 2004-05-14 2010-01-20 株式会社日立製作所 ストレージシステム
US7627726B2 (en) * 2004-06-30 2009-12-01 Emc Corporation Systems and methods for managing content having a retention period on a content addressable storage system
US7493454B2 (en) * 2004-10-29 2009-02-17 International Business Machines Corporation Method for achieving reliable worm storage using WMRM storage
US20060129588A1 (en) * 2004-12-15 2006-06-15 International Business Machines Corporation System and method for organizing data with a write-once index

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1295292A (zh) * 1999-11-05 2001-05-16 国际商业机器公司 用于多语言万维网服务器的方法和系统
CN1314634A (zh) * 2000-03-17 2001-09-26 索尼株式会社 文档转换方法、文档转换器、以及文档显示系统

Also Published As

Publication number Publication date
EP1934826A2 (en) 2008-06-25
WO2007039455A3 (en) 2007-09-20
US20090049086A1 (en) 2009-02-19
CN101278289A (zh) 2008-10-01
US8140602B2 (en) 2012-03-20
WO2007039455A2 (en) 2007-04-12
US20070078890A1 (en) 2007-04-05
US7487178B2 (en) 2009-02-03

Similar Documents

Publication Publication Date Title
CN101278289B (zh) 提供对象以支持worm存储设备中的数据结构的系统和方法
US7765215B2 (en) System and method for providing a trustworthy inverted index to enable searching of records
US8386494B2 (en) Providing data structures for determining whether keys of an index are present in a storage system
CN100583832C (zh) 数据管理方法及系统
US6668263B1 (en) Method and system for efficiently searching for free space in a table of a relational database having a clustering index
CN100583096C (zh) 管理数据删除的方法
US7856436B2 (en) Dynamic holds of record dispositions during record management
US7693875B2 (en) Method for searching a data page for inserting a data record
US20070043686A1 (en) Xml sub-document versioning method in xml databases using record storages
US20070118547A1 (en) Efficient index versioning in multi-version databases
US20110191544A1 (en) Data Storage and Access
US6714935B1 (en) Management of non-persistent data in a persistent database
US20020069195A1 (en) Automatic identification of DVD title using internet technologies and fuzzy matching techniques
US7464100B2 (en) Reorganization-free mapping of objects in databases using a mapping chain
US20020138497A1 (en) Method, system, and program for implementing a database trigger
US7917516B2 (en) Updating an inverted index
US8316008B1 (en) Fast file attribute search
US20020091675A1 (en) Data structure in database, database system for managing database and database managing method and system
CN105183391B (zh) 一种分布式数据平台下数据存储的方法和装置
US6768985B1 (en) Method and apparatus for administration of database partitions
CN104834664A (zh) 面向光盘库的全文检索系统
CN107038179B (zh) 信息项存储方法和系统
GB2439575A (en) Replacing data with references when freezing data
WO2008091054A1 (en) Enhanced file system and method of managing files using the file system
US20210011881A1 (en) System and method for insertable and removable file system

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: 20100519

Termination date: 20210920