通过单次写入索引组织数据的系统和方法技术方案

技术编号:2852260 阅读:230 留言:0更新日期:2012-04-11 18:40
根据本发明专利技术,提供了用于组织数据对象以便进行快速检索的系统。该系统包括至少一个定义了数据扇区的数据存储介质。此外,该系统还包括至少一个在数据存储介质上的数据对象。而且,该系统还包括与至少一个数据对象相关的至少一个关键词。而且,该系统还包括至少一个在数据存储介质上的单次写入索引,以管理至少一个数据对象。

【技术实现步骤摘要】

本专利技术一般涉及电子数据管理,并且尤其是电子数据的索引。
技术介绍
由于关键记录(数据对象)越来越多地存储为电子格式,因此有必要将它们可靠地并且以防篡改的形式存储。而且,增长中的电子记录(例如,电子邮件,即时消息,药物开发日志,医疗记录等)的子集受到管理它们的长期保持和有效性的规定的约束。不符合应用的规定,在某些规则下可能导致严厉的处罚。在许多这样的规定中(例如,SEC规则17a-4)的关键要求是记录必须可靠地存储在非可擦除,非可重写存储器中,从而记录一旦被写入,就不能被改变或覆盖。这种存储器通常被称为WORM(单次写入多次读取)存储器,与能多次写入的可重写或WMRM(多次写入多次读取)存储器相对。由于目前的大量记录,这些记录必须进一步被编索引(例如,通过文件名,通过内容等等),以允许能在日益期望的短响应时间内中检索到与查询相关的记录。该索引典型地存储在可重写存储器中,但是能改变存储在一个可重写存储器中的索引,以有效地删除或更改一个记录。例如,能够操作该索引,从而不能利用该索引定位一个给定的记录。有一些在WORM存储器中存储索引的现有方法。例如,在一个大的记录集合已经被编索引(例如,当CD-R关上时)之后,用于传统WORM存储器(例如,CD-R和DVD-R)的索引(文件目录)被一次写入。在整个记录集合被加入之前,不提交该索引。一旦索引被写入,则新的记录不能被加入到索引中。因为记录是在一段时间中被加入的,该系统将创建多个索引,其使用了很多存储空间。更重要的是,查找一个特定的记录可能需要查找没有被索引的记录以及每一个索引。其它技术包括,仅为已经改变的索引的部分创建新的更新过的副本。但是在索引已经被推测为提交到WORM存储器之后,如果索引的一部分能够被更改和重写,则索引能够被有效地更改,以隐藏或改变记录,并且使用WORM存储器的目的失败。一些人可能争辩索引的任何更新部分的较老的版本仍然存储在WORM存储器中某个位置,但是当存储的记录量巨大并且保持周期长,如通常的情况,验证索引的许多版本是不切实际的。所需要的是一种组织大量和增长的记录集合以便进行快速检索的方式,从而一旦记录已经被插入到一个索引中,就不能以有效地隐藏或改变记录的方式更新该索引。
技术实现思路
根据本专利技术,提供了一种用于快速检索的用于组织数据对象的系统。该系统包括至少一个定义了数据扇区的数据存储介质。此外,该系统还包括至少一个在数据介质上的数据对象。而且,该系统还包括至少一个与至少一个数据对象相关的关键词(key)。而且,该系统还包括至少一个在数据存储介质上的单次写入索引,以管理至少一个数据对象。根据本专利技术,提供了一种用于快速检索的用于组织数据对象的方法。该方法包括接收将存储在至少一个存储设备上的数据对象。此外,该方法还包括识别与接收的数据对象相关的至少一个关键词。此外,该方法还包括在存储设备中识别至少一个单次写入索引,其中单次写入索引用于管理与存储在存储设备上的数据相关的关键词。而且,该方法还包括判断关键词是否存在于单次写入索引中。而且,该方法还包括,如果关键词不在索引中,将关键词包括在单次写入索引中。附图说明图1是以盘驱动器实现的存储设备的非限制性框图。图2是根据本专利技术一个示范实施例的涉及单次写入索引的逻辑流程图。图3是根据本专利技术一个示范实施例的涉及将一个关键词加入到单次写入索引中的逻辑流程图。图4是根据本专利技术的示范索引的框图。图5是根据本专利技术一个示范实施例的涉及在索引中检测关键词的逻辑流程图。图6是根据本专利技术一个示范实施例的涉及将一个关键词加入索引的逻辑流程图。图7是根据本专利技术一个示范实施例的表示用于通过一个索引定位对象y的路径的框图。具体实施例方式本专利技术将主要描述用于快速检索的用于组织数据对象的系统和方法。在下面的描述中,为了解释说明的目的,阐述了大量具体细节来提供一个对本专利技术的整体理解。但是显然,对于熟知本技术的人员将可以脱离这些特定细节而实现本专利技术。那些熟知本技术的人员将认识到例如数据处理系统的设备,包括CPU,存储器,I/O,程序存储器,互联总线和其它适当的元件,可以被编程或者设计用来实现本专利技术。这样的系统将包括用于执行本专利技术的操作的适当程序装置。一种制造物品,例如预记录的盘或者其它类似的计算机程序产品,用于与数据处理系统一起使用,将包括存储介质和其中记录的程序装置,用于指示数据处理系统方便地实现本专利技术的方法。这样的设备和制造物品也将落入本专利技术的范围和精神实质。首先参见图1,非限制性的数据存储设备被表示为以盘驱动器10实现。在图2中表示的该非限制性设备10具有外壳11,保持盘驱动控制器12,其能够包括和/或由微控制器实现。控制器12可以访问在计算机程序设备或产品中的电子数据存储,例如但是不限于微代码存储器14,其可以由固态存储设备实现。微代码存储器14能够存储实现逻辑的微代码。控制器12控制读/写机制16,其包括一个或多个用于将数据写入到一个或多个盘18上的头。驱动器10的非限制性实施方式包括多个头和多个盘18,并且每一个头与一个相应的读元件和一个相应的写元件相关,读元件用于读取盘18上的数据,写元件用于将数据写入到盘18中。盘18可以包括多个数据扇区。更一般地,如下面所使用的,术语“扇区”指数据单元,其被写入存储设备,其可以是固定大小。存储设备能够允许随机访问任何扇区。如果要求,控制器12也可以通过内部总线22与一个或多个固态存储器20通信,例如,动态随机存取存储器(DRAM)设备或闪存设备。根据本领域中公知的原理,控制器12也能通过主机接口模块26与外部主计算机24通信。图2是根据本专利技术一个示范实施例的涉及单次写入索引的逻辑流程图28。方法28在块30开始。在块32中,识别将被存储在数据存储设备10中的数据对象(例如,文件,对象,数据库记录)。在块34中,与数据对象相关的关键词(例如,名称)被识别。为了清楚地描述本专利技术,我们假设存储在该存储设备10中的每一个数据对象都将被索引。我们进一步假设每一个被索引的数据对象在索引中具有一个条目,并且该索引条目包括识别数据对象的关键词和指向数据对象的指针。在块36中,存储设备10中的单次写入索引被识别,用以组织数据对象用于快速检索。在块38中,单次写入索引被检测,以判断关键词是否已经存在于索引中。如果存在,在块40返回一个关键词已经存在于索引中的指示。否则,在块42将该关键词加入到索引中,并且在块44返回成功。方法28在块46结束。单次写入索引(块36)可以从小的数据对象集合(例如,包括几千个对象)扩展到非常大的数据对象集合(例如,包括数十亿的对象甚至更多)。将被索引的对象集合的最大或优选最大大小预先没有指定。索引简单地增加以适应增加的对象。图3是根据本专利技术一个示范实施例的涉及将一个关键词加入到这样的索引中的逻辑流程图。在块50方法48开始。在块52,索引的元数据条目被读取,并且在块54被使用以判断要加入的关键词应当存储在哪里。在块56,创建将被加入的关键词的索引条目。在块58,所创建的索引条目永久地存储在块54所判断的位置。该索引条目在下述意义上被永久地存储,至少对于相应的数据对象的生存周期,索引条目的内容不更新,并且索引条目不重新定位至另一个存储位置。在块60,创建元数据条目本文档来自技高网
...

【技术保护点】
一种用于组织数据对象以便进行快速检索的系统,包括:至少一个定义了数据扇区的数据存储介质;在数据存储介质上的至少一个数据对象;与所述至少一个数据对象相关联的至少一个关键词;以及在数据存储介质上的至少一个单次写入 索引,用来管理所述至少一个数据对象。

【技术特征摘要】
US 2004-12-15 10/905,1031.一种用于组织数据对象以便进行快速检索的系统,包括至少一个定义了数据扇区的数据存储介质;在数据存储介质上的至少一个数据对象;与所述至少一个数据对象相关联的至少一个关键词;以及在数据存储介质上的至少一个单次写入索引,用来管理所述至少一个数据对象。2.如权利要求1的系统,其中,其上存储了单次写入索引的数据存储介质是WORM存储介质。3.如权利要求1的系统,其中所述索引包括至少一个哈希表,其中所述至少一个哈希表用于存储所述至少一个关键词。4.如权利要求3的系统,其中所述至少一个哈希表包括一系列哈希表,该一系列哈希表在大小上一般是增加的。5.如权利要求4的系统,其中所述的一系列哈希表的大小基本上以指数的方式增加。6.如权利要求3的系统,其中在至少一个哈希表中存储关键词的操作包括判断在第一个哈希表中是否存在足够的空间,以及如果存在,则在第一个哈希表中存储该关键词,否则在第二个哈希表中存储该关键词,以及如果不存在第二个哈希表,则创建一个新的哈希表并在其中存储该关键词。7.如权利要求4的系统,其中在至少一个哈希表中存储关键词的操作包括判断在所述一系列哈希表的第一个哈希表中是否存在足够的空间,以及如果存在,则在该哈希表中存储该关键词,否则在所述一系列哈希表中的下一个哈希表中存储该关键词,以及如果在所述一系列哈希表中不存在下一个哈希表,则创建一个新的哈希表作为所述的一系列哈希表中的下一个哈希表并在其中存储该关键词。8.如权利要求3的系统,其中检索数据对象的操作包括,检测第一个哈希表,以判断数据对象的关键词是否存在于第一个哈希表中,并且如果不存在,则检测第二个哈希表,以判断数据对象的关键词是否存在于第二个哈希表中,并且如果不存在第二个哈希表,则返回数据对象不存在于系统中的指示。9.如权利要求8的系统,其中检测哈希表以判断数据对象的关键词是否存在于哈希表中的操作进一步包括,判断在该哈希表中是否具有足够的空间用于存储该关键词,以及如果数据对象的关键词不存在于哈希表中,并且哈希表中具有足够的空间用于存储该关键词,则返回数据对象不存在于系统中的指示。10.如权利要求4的系统,其中检索数据对象的操作包括,检测所述一系列哈希表中的第一个哈希表以判断数据对象的关键词是否存在于所述一系列哈希表的第一个哈希表中,并且如果不存在,则检测所述一系列哈希表中的下一个哈希表,以判断数据对象的关键词是否存在于所述一系列哈希表中的下一个哈希表中,并且如果所述一系列哈希表中不存在下一个哈希表,则返回数据对象不存在于系统中的指示。11.如权利要求10的系统,其中检测哈希表以判断数据对象的关键词是否存在于哈希表中的操作进一步包括,判断在哈希表中是否具有足够的空间用于存储该关键词,以及如果数据对象的关键词不存在于哈希表中,并且哈希表中具有足够的空间用于存储该关键词,则返回数据对象不存在于系统中的指示。12.如权利要求4的系统,其中检索数据对象的操作包括检测所述一系列哈希表中的最后一个哈希表以判断数据对象的关键词是否存在于所述一系列哈希表的最后一个哈希表中,并且如果不存在,则检测所述一系列哈希表中的前一个哈希表,以判断数据对象的关键词是否存在于所述一系列哈希表中的前一个哈希表中,并且如果所述一系列哈希表中不存在前一个哈希表,则返回数据对象不存在于系统中的指示。13.如权利要求3的系统,其中单次写入索引可以从小的数据对象集合扩展为非常大的数据对象的集合,并且其中单次写入索引包括索引条目,所述索引条目包含固定内容并且具有永久的存储位置。14.如权利要求13的系统,其中单次写入索引进一步包括元数据条目,其包含固定的内容并且具有永久的存储位置,这样的元数据条目被用于定位索引条目。15.如权利要求13的系统,其中,在关键词已经在索引中存储之后,在索引中能够找到包含给定关键词的索引条目的可能的存储位置是固定的。16.如权利要求13的系统,其中用于存储索引条目的可能的位置依赖于相应的数据对象的终止日期。17.一种用于组织数据对象以便进行快速检索的方法,包括接收将被存...

【专利技术属性】
技术研发人员:许为善翁绍基
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1