CN101278289A - 提供对象以支持worm存储设备中的数据结构的***和方法 - Google Patents
提供对象以支持worm存储设备中的数据结构的***和方法 Download PDFInfo
- Publication number
- CN101278289A CN101278289A CNA2006800366878A CN200680036687A CN101278289A CN 101278289 A CN101278289 A CN 101278289A CN A2006800366878 A CNA2006800366878 A CN A2006800366878A CN 200680036687 A CN200680036687 A CN 200680036687A CN 101278289 A CN101278289 A CN 101278289A
- Authority
- CN
- China
- Prior art keywords
- data
- immutable
- manager
- protection level
- storage
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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/805—Protecting 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
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99944—Object-oriented database structure
- Y10S707/99945—Object-oriented database structure processing
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99948—Application of database or data structure, e.g. distributed, multimedia, or image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software 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存储设备中诸如索引、数据库日志和审核跟踪的项的创建和维护的对象。
背景技术
由于越来越多地以电子形式存储重要数据,所以至关重要的是以一种防窜改方式可靠地存储重要数据。此外,电子数据(例如电子邮件、即时消息、药物开发日志、病例等等)的不断增长的子集要遵守管理所述数据的长期保持和可用性的法规。近来较大上市公司的高度说明性出版物还使诸如保密与交换委员会(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 (23)
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所述的方法,其中所述保护水平是可变的、不可变的和可追加的;并且还包括:
保护不可变对象不被修改;
保护可追加对象除了数据的添加和升级到不可变对象之外不被修改;以及
允许可变对象被修改。
20.一种用于存储数据的计算机程序产品,其具有在计算机可读介质上的程序代码,包括:
用于接收将被存储的数据的程序代码;
用于处理所述接收数据被存储于其中的对象的程序代码;
用于确定所述接收数据是否将被添加到对象的程序代码;以及
如果确定所述数据将被添加到所述对象,则所述第三组指令代码将所述数据添加到所述对象;否则,所述第三组指令代码拒绝所述数据。
21.如权利要求20所述的计算机程序产品,其中所述存储***包括WORM存储***;以及
数据结构管理器,用于通过将数据结构分成至少一个段和在所述对象之一中存储所述段来在WORM存储设备中保持所述数据结构。
22.如权利要求20所述的计算机程序产品,其中:
用于处理对象的程序代码将保护水平与每个对象相关联;以及
用于处理对象以便确定所述接收数据是否将被添加到所述对象的程序代码基于与所述对象相关的保护水平,确定是否接受要存储在所述对象中的数据。
23.如权利要求22所述的计算机程序产品,其中用于处理所述对象的程序代码允许与所述对象相关的保护水平被升级,并且不允许与所述对象相关的保护水平被降级。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/244,270 | 2005-10-05 | ||
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 |
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 true CN101278289A (zh) | 2008-10-01 |
CN101278289B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500092A (zh) * | 2013-09-23 | 2014-01-08 | 华为技术有限公司 | 一种worm追加写判断方法及存储设备 |
CN104332170A (zh) * | 2014-08-26 | 2015-02-04 | 华为技术有限公司 | 一种存储设备和数据存储方法 |
Families Citing this family (19)
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 |
US20110040762A1 (en) * | 2009-08-12 | 2011-02-17 | Globalspec, Inc. | Segmenting postings list reader |
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 |
GB2510747B (en) | 2011-10-14 | 2015-06-10 | Ibm | Tape drive data alteration detection method and file system |
US10078656B1 (en) * | 2013-07-26 | 2018-09-18 | Amazon Technologies, Inc. | Unmodifiable data in a storage service |
JP5956971B2 (ja) * | 2013-11-07 | 2016-07-27 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | LTFS(LinearTapeFileSystem)によって実現するWORMカートリッジのサポート |
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 |
Family Cites Families (30)
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 |
US6765853B1 (en) * | 1998-06-15 | 2004-07-20 | 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 |
US7016977B1 (en) * | 1999-11-05 | 2006-03-21 | International Business Machines Corporation | Method and system for multilingual web server |
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 |
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 |
JP2001331362A (ja) * | 2000-03-17 | 2001-11-30 | Sony Corp | ファイル変換方法、データ変換装置及びファイル表示システム |
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 |
-
2005
- 2005-10-05 US US11/244,270 patent/US7487178B2/en not_active Expired - Fee Related
-
2006
- 2006-09-20 WO PCT/EP2006/066522 patent/WO2007039455A2/en active Application Filing
- 2006-09-20 CN CN2006800366878A patent/CN101278289B/zh not_active Expired - Fee Related
- 2006-09-20 EP EP06793655A patent/EP1934826A2/en not_active Withdrawn
-
2008
- 2008-10-21 US US12/255,201 patent/US8140602B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500092A (zh) * | 2013-09-23 | 2014-01-08 | 华为技术有限公司 | 一种worm追加写判断方法及存储设备 |
WO2015039496A1 (zh) * | 2013-09-23 | 2015-03-26 | 华为技术有限公司 | 一种worm追加写判断方法及存储设备 |
CN103500092B (zh) * | 2013-09-23 | 2017-01-18 | 华为技术有限公司 | 一种worm追加写判断方法及存储设备 |
CN104332170A (zh) * | 2014-08-26 | 2015-02-04 | 华为技术有限公司 | 一种存储设备和数据存储方法 |
CN104332170B (zh) * | 2014-08-26 | 2017-10-10 | 华为技术有限公司 | 一种存储设备和数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
US8140602B2 (en) | 2012-03-20 |
US20090049086A1 (en) | 2009-02-19 |
CN101278289B (zh) | 2010-05-19 |
US20070078890A1 (en) | 2007-04-05 |
WO2007039455A3 (en) | 2007-09-20 |
WO2007039455A2 (en) | 2007-04-12 |
EP1934826A2 (en) | 2008-06-25 |
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 | |
CN100583096C (zh) | 管理数据删除的方法 | |
US20070118547A1 (en) | Efficient index versioning in multi-version databases | |
US7856436B2 (en) | Dynamic holds of record dispositions during record management | |
CN100583832C (zh) | 数据管理方法及*** | |
US20070043686A1 (en) | Xml sub-document versioning method in xml databases using record storages | |
US7693875B2 (en) | Method for searching a data page for inserting a data record | |
US6714935B1 (en) | Management of non-persistent data in a persistent database | |
WO2009130614A1 (en) | Data storage and access | |
US20090094186A1 (en) | Information Retrieval System, Registration Apparatus for Indexes for Information Retrieval, Information Retrieval Method and Program | |
US6829616B2 (en) | Method, system, and program for implementing a database trigger | |
US7464100B2 (en) | Reorganization-free mapping of objects in databases using a mapping chain | |
US20090106216A1 (en) | Push-model based index updating | |
US9594784B2 (en) | Push-model based index deletion | |
US8316008B1 (en) | Fast file attribute search | |
US20020091675A1 (en) | Data structure in database, database system for managing database and database managing method and system | |
CN102819570A (zh) | 一种数据访问方法、装置及*** | |
CN113032408B (zh) | 数据处理方法、***及设备 | |
CN104834664A (zh) | 面向光盘库的全文检索*** | |
CN107038179B (zh) | 信息项存储方法和*** | |
JP4825504B2 (ja) | データ登録・検索システムおよびデータ登録・検索方法 | |
GB2439575A (en) | Replacing data with references when freezing data | |
WO2008091054A1 (en) | Enhanced file system and method of managing files using the 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 |
Granted publication date: 20100519 Termination date: 20210920 |
|
CF01 | Termination of patent right due to non-payment of annual fee |