本发明专利技术提供一种具有如下的数据结构的比特序列检索方法,该数据结构是检索对象的比特序列的数据结构,所需要的存储容量小,检索速度高,数据维护容易,该比特序列检索方法具有配对节点树,该树由根节点、以及配置在相邻的存储区域内的分支节点和叶节点或分支节点之间或叶节点之间的节点对构成,分支节点包含表示检索关键字的鉴别比特位置和链接目的地的节点对中的一个节点的位置的信息,叶节点包含由检索对象的比特序列构成的索引关键字,在从根节点到分支节点中,根据分支节点内包含的鉴别比特位置的检索关键字的比特值依次重复进行链接到链接目的地的节点对中的任一节点的动作直到到达叶节点,来执行基于检索关键字的索引关键字的检索。
【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及从比特序列的集合中检索期望的比特序列的检索装置, 特别是涉及对存储比特序列的数据结构进行设计来实现检索速度等的提 高的
技术介绍
近年,社会的信息化不断发展,大规模的数据库在各处利用起来。 为了从这种大规模的数据库中检索记录,通常是将与存储有各记录的地 址相对应的记录内的项目用作索引关键字来进行检索,检索出期望的记 录。并且,全文检索中的字符串也能视为文件的索引关键字。而且,由于这些索引关键字利用比特序列来表现,因而数据库的检 索可归结于比特序列的检索。为了高速进行上述比特序列的检索,以往做法是,对存储比特序列的数据结构进行种种设计。作为这种设计之一,公知的是Patricia (帕特 里希亚)树这样的树结构。图17示出在上述现有的检索处理中使用的Patricia树的一例。Patricia 树的节点构成为包含索引关键字、检索关键字的检査比特位置、以及左 右的链接指针。尽管未作明示,然而当然在节点内包含有用于对与索引 关键字对应的记录进行存取的信息。在图17的例子中,保持索引关键字"100010"的节点1750a为根节点, 其检查比特位置是O。节点1750a的左链接1740a与节点1750b连接,右 链接1741a与节点1750f连接。节点1750b保持的索弓I关键字是"Ol 0011",检查比特位置1730b是1 。 节点1750b的左链接1740b与节点1750c连接,右链接1741b与节点1750d 连接。节点1750c保持的索引关键字是"000111",检查比特位置是3。节6点1750d保持的索引关键字是"011010",检査比特位置是2。从节点1750c用实线连接的部分表示节点1750c的左右链接指针,未进行虚线连接的左指针1740c表示该栏是空栏。进行了虚线连接的右指针1741c的虚线的连接目的地表示指针所指示的地址,在当前情况下表示右指针指定节点1750c。节点1750d的右指针1741d指定节点1750d自身,左链接1740d与节点1750e连接。1750e保持的索引关键字是"010010",检査比特位置是5。节点1750e的左指针1740e指定节点1750b,右指针1741e指定节点1750e。并且,节点1750f保持的索引关键字是"101011",检査比特位置1730f 是2。节点1750f的左链接1740f与节点1750g连接,右链接1741f与节 点1750h连接。节点1750g保持的索引关键字是"100011",检査比特位置1730g是5。 节点1750g的左指针1740g指定节点1750a,右指针1741g指定节点 1750g。节点1750h保持的索引关键字是"101100",检査比特位置1730h是3。 节点1750h的左指针1740h指定节点1750f,右指针1741h指定节点1750h。在图17的例子中,釆用这样的结构随着从根节点1750a开始对树 进行向下遍历,各节点的检査比特位置增大。当使用某检索关键字进行检索时,从根节点开始依次检查由各节点 所保持的检索关键字的检查比特位置,判定检查比特位置的比特值是1 还是O,在是l时搜索右链接,在是O时搜索左链接。然后,当链接目的 地的节点的检査比特位置不大于链接源的节点的检查比特位置时,艮P, 链接目的地回到上方而不是下方时(将图17中虚线所示的该后退的链接 称为反向链接),进行链接目的地的节点的索引关键字和检索关键字的比 较。能够保证在比较结果是相同时检索成功,在比较结果是不相同时检 索失败。如上所述,在使用Patricia树的检索处理中,有以下等优点只通过 所需要的比特的检查就能进行检索,以及关键字全体的比较只要一次就7行,然而具有以下等缺点由于必定有来自各节点的2个链接而使存储 容量增大,由于反向链接的存在而使判定处理复杂化,在通过反向链接 返回之后才与索引关键字进行比较而使得检索处理延迟以及使追加删除 等数据维护困难。作为消除Patricia树的这些缺点的技术,例如有下述专利文献1所公 开的技术。在下述专利文献1所记载的Patricia树中,通过将下位的左右 节点存储在连续的区域内来削减指针的存储容量,并通过将表示下一链 接是否是反向链接的比特设置在各节点内来减轻反向链接的判定处理。然而,在下述专利文献1所公开的技术中,由于l个节点必定占据 索引关键字的区域和指针的区域,以及将下位的左右节点存储在连续的 区域内而采用1个指针,因而需要将与节点相同容量的存储区域分配给 例如图17所示的Patricia树的最下段部分即左指针1740c、右指针1741h 等部分等,存储容量的削减效果不怎么好。并且,反向链接导致的检索 处理的延迟问题和追加删除等的处理困难的情况也未得到改善。专利文献l:日本特开2001—357070号公报
技术实现思路
因此,本专利技术要解决的课题是提供一种具有如下的数据结构的比特 序列检索装置和检索方法,该数据结构是检索对象的比特序列的数据结 构,所需要的存储容量小,检索速度高,数据维护容易。根据本专利技术,提供一种名叫配对节点树(coupled node tree)的具有 以下数据结构的树,在本专利技术的比特序列检索装置中,使用该配对节点 树来进行索引关键字的检索。本专利技术的配对节点树具有具有链接目的地的数据的分支节点、以 及具有作为检索对象的索引关键字的叶节点。并且,该树结构由根节点、 以及配置在相邻的存储区域内的分支节点和叶节点或分支节点之间或叶 节点之间的节点对构成。分支节点包含检索关键字的鉴别比特位置以及用于链接到链接目的 地的节点对中的一方即代表节点的代表节点编号,所述叶节点包含由作为检索对象的比特序列构成的索引关键字。除了树的节点仅为1个时以 外,根节点是分支节点。检索关键字的鉴别比特位置在使用检索关键字的该位置的比特值方面与Patricia树的检査比特位置相同,然而不同点是,在Patricia树中, 判定检査比特位置的比特值来求出链接目的地,而在本专利技术的配对节点 树中,将鉴别比特位置的比特值用于求出链接目的地的节点的运算。使用检索关键字执行的检索是在包含根节点在内的各分支节点中, 通过根据该分支节点内包含的鉴别比特位置的检索关键字的比特值依次 重复进行链接到链接目的地的节点对中的一个节点的动作直到到达叶节 点来执行的。当到达叶节点时,将叶节点保持的索引关键字和检索关键字进行比 较,如果一致则检索成功。如果不一致,则在检索对象的索引关键字内 没有与检索关键字一致的索弓I关键字。在对本专利技术的配对节点树追加新的索引关键字的情况下,首先将该 索引关键字用作检索关键字来进行检索,取得所找到的叶节点的索引关 键字。并且,将搜索到叶节点为止的分支节点的编号从根节点开始依次 存储在堆栈内。在要追加的索引关键字和通过检索而取得的索引关键字之间进行大 小比较和比特序列比较,根据作为通过比特序列比较而不同的比特值的、 开头的(最上位的)比特位置与存储在堆栈内的分支节点的鉴别比特位 置之间的相对位置关系,决定所追加的节点对的插入位置,根据大小关 系决定将包含要追加的索引关键字的叶节点作为待追加的节点对中的哪 个节点。当从本专利技术的配对节点树中删除某索引关键字时,通过这样来进行, 即使用要删除的关键字本文档来自技高网...
【技术保护点】
一种比特序列检索装置,其特征在于,该比特序列检索装置具有配对节点树, 该配对节点树是用于比特序列检索的树,该树由根节点、以及配置在相邻的存储区域内的分支节点和叶节点或分支节点之间或叶节点之间的节点对构成, 所述根节点是表示所述树 的起点的节点,当该树的节点为1个时所述根节点是所述叶节点,当该树的节点为2个以上时所述根节点是所述分支节点, 所述分支节点包含表示进行比特序列检索的检索关键字的鉴别比特位置和链接目的地的节点对中的一个节点的位置的信息,所述叶节点包含由 检索对象的比特序列构成的索引关键字, 在包含所述根节点的所述分支节点中,根据该分支节点内包含的鉴别比特位置的检索关键字的比特值依次重复进行链接到链接目的地的节点对中的任一个节点的动作直到到达所述叶节点,由此来执行基于所述检索关键字的检 索。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:新庄敏男,
申请(专利权)人:新叶股份有限公司,
类型:发明
国别省市:JP[日本]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。