使用树形索引搜索节点的方法和装置的制造方法_2

文档序号:8512506阅读:来源:国知局
S210)。
[0044]节点搜索单元120搜索子节点,以根据树形索引数据结构,例如,B-树形索引数据结构从根节点到叶节点进行遍历(S220)。
[0045]随后,遍历条件确定单元130将表示由节点搜索单元120搜索的子节点的更改的时间的更新时间值与由时间值设置单元110设置的遍历时间值相比较,并确定比较结果是否满足预设遍历进行条件(S230)。
[0046]例如,如果由节点搜索单元120搜索的子节点的更新时间值超过由时间设置单元110设置的遍历时间值,遍历条件确定单元130可确定不满足遍历进行条件。即,如果在开始遍历之后子节点被改变,更新时间值可大于遍历时间值。此时,遍历条件确定单元130可确定不满足遍历进行条件。但是,如果在开始遍历之后子节点没有被改变,更新时间值可小于或等于遍历时间值,此时,遍历条件确定单元130可确定满足遍历进行条件。
[0047]此处,如果由遍历条件确定单元130确定不满足遍历进行条件,遍历单元140从根节点开始重新进行遍历(S240)。当从根节点开始再次进行遍历时,时间设置单元110将当前时间值重设为遍历时间值(S210)。
[0048]同时,如果由遍历条件确定单元130确定满足遍历进行条件,遍历单元140继续在处理(S250)中遍历到所搜索的子节点。
[0049]最后,遍历单元140在无子节点的叶节点处终止遍历(S260)。
[0050]图3为根据本公开的另一个示例性实施例的使用树形索引的节点搜索方法的流程图。
[0051]如图3所示,根据该另一个示例性实施例的节点搜索方法包括将当前时间值设为遍历时间值的处理(S310)。
[0052]节点搜索方法还包括搜索子节点,以根据树形索引数据结构从根节点到叶节点进行遍历的处理(S320)。
[0053]此外,节点搜索方法还包括比较表示改变所搜索的子节点的时间的更新时间值,确定比较结果是否满足预设遍历条件的处理(S330)。
[0054]然后,节点搜索方法包括根据是否满足遍历进行条件从比所搜索的子节点至少高一级的父节点开始重新进行遍历(S340),或继续遍历到所搜索的子节点(S350)的处理。
[0055]节点搜索方法最后包括在无子节点的叶节点处终止遍历的处理(S360)。
[0056]现在,将参照图1和图3对通过使用树形索引由节点搜索装置进行的根据示例性实施例的节点搜索方法进行详细讨论。
[0057]首先,节点搜索装置的时间设置单元110将当前时间值设为遍历时间值,并设置表示改变每个节点的时间的更新时间值。例如,时间设置单元110可将单调递增计数器值或时间戳值设为时间值(S310)。
[0058]节点搜索单元120搜索子节点,以根据树形索引数据结构,例如,B-树形索引数据结构从根节点到叶节点进行遍历(S320)。
[0059]随后,遍历条件确定单元130将表示由节点搜索单元120搜索的子节点的改变的时间的更新时间值与由时间值设置单元110设置的遍历时间值相比较,并确定比较结果是否满足预设遍历进行条件(S330)。
[0060]例如,如果由节点搜索单元120搜索的子节点的更新时间值超过由时间设置单元110设置的遍历时间值,遍历条件确定单元130可确定不满足遍历进行条件。S卩,如果在开始遍历之后子节点被改变,更新时间值可大于遍历时间值。此时,遍历条件确定单元130可确定不满足遍历进行条件。但是,如果在开始遍历之后子节点没有被改变,更新时间值可小于或等于遍历时间值,此时,遍历条件确定单元130可确定满足遍历进行条件。
[0061 ] 此处,如果由遍历条件确定单元130确定不满足遍历进行条件,遍历单元140可从比所搜索的子节点至少高一级的父节点开始再次进行遍历(S340)。例如,遍历单元140可从比所搜索的子节点高一级的父节点,或从比所搜索的子节点高两级的祖父节点再次进行遍历。
[0062]如果在步骤S340中重新进行遍历的结果返回到重新进行遍历之前搜索的节点,可确定满足遍历进行条件。
[0063]另外,如果由遍历条件确定单元130确定满足遍历进行条件,遍历单元140继续遍历至在步骤S320中搜索的子节点。
[0064]最后,遍历单元140在无子节点的叶节点处终止遍历(S360)。
[0065]如上所述,根据示例性实施例,基于所搜索的节点的更新时间值与遍历时间值之间的比较结果确定继续遍历还是重试遍历。这样,可以保护树形索引数据的兼容性而不需要使用锁。由此,与常规方法相比,可提高同时操作方面的效率,避免锁死。特别地,在重新进行遍历的情况下,如果不是从根节点开始,而是从比所搜索的节点至少高一级的父节点开始重新进行遍历,仍可以获得相同的效果而同时最小化了节点搜索处理的时间消耗的增加。
[0066]尽管上文根据附图对本公开的示例性实施例进行了描述,但本领域的技术人员应理解的是,只要不改变本公开的必要特征或主旨,本公开可以各种方式实施。
[0067]因此,应理解的是,上述示例性实施例并不是限制性的,仅为各个方面的示例。本公开的范围由权利要求限定,而不是由详细描述限定,应理解的是,从权利要求和等同概念的含义和范围所获得的所有改变和变形都包含在本公开的范围内。
[0068]由上可知,应理解的是,本公开的各个实施例在本文中仅用于示出的目的,只要不脱离本公开的范围和主旨,可进行各种变形。本公开的说明书中公开的示例性实施例并不限制本公开。本公开的范围将由以下权利要求说明,应理解的是,与权利要求同等的范围内的所有技术都属于本公开的范围。
【主权项】
1.一种节点搜索方法,包括: 将当前时间值设为遍历时间值; 搜索子节点,以根据树形索引数据结构从根节点到叶节点进行遍历; 通过将表示改变所搜索的子节点的时间的更新时间值与所述遍历时间值相比较,确定是否满足预设遍历条件; 根据是否满足遍历进行条件从父节点开始重新进行遍历,或继续遍历到所搜索的子节点;以及 在不存在子节点的叶节点处终止所述遍历。
2.根据权利要求1所述的节点搜索方法, 其中,在确定是否满足所述预设遍历条件的处理中,如果所搜索的子节点的所述更新时间值大于所述遍历时间值,则确定不满足所述遍历进行条件,并且 当重新进行遍历时,从所述根节点或比所搜索的子节点至少高一级的父节点开始重新进行遍历。
3.根据权利要求2所述的节点搜索方法, 其中,在确定是否满足所述预设遍历条件的处理中,当从所述根节点开始重新进行遍历时,将当前时间值重设为所述遍历时间值。
4.根据权利要求2所述的节点搜索方法, 其中,在确定是否满足所述预设遍历条件的处理中,如果从比所搜索的子节点至少高一级的父节点开始重新进行所述遍历的结果返回到重新进行所述遍历之前搜索的节点,则确定满足所述遍历进行条件。
5.一种节点搜索装置,包括: 时间设置单元,被配置为将当前时间设为遍历时间值; 节点搜索单元,被配置为搜索子节点,以根据树形索引数据结构从根节点到叶节点进行遍历; 遍历条件确定单元,被配置为通过将表示改变所搜索的子节点的时间的更新时间值与所述遍历时间值相比较,确定是否满足预设遍历条件; 遍历单元,被配置为根据是否满足遍历进行条件从父节点开始重新进行遍历,或继续遍历到所搜索的子节点,并在不存在子节点的叶节点处终止所述遍历。
6.根据权利要求5所述的节点搜索装置, 其中,所述遍历条件确定单元确定,如果所搜索的子节点的所述更新时间值大于所述遍历时间值,则不满足所述遍历进行条件,并且 如果由所述遍历条件确定单元确定不满足遍历条件,所述遍历单元从根节点或比所搜索的子节点至少高一级的父节点开始重新进行遍历。
7.根据权利要求6所述的节点搜索装置, 其中,当从所述根节点开始重新进行所述遍历时,所述时间设置单元将当前时间值重设为所述遍历时间值。
8.根据权利要求6所述的节点搜索装置, 其中,所述遍历条件确定单元确定,如果从比所搜索的子节点至少高一级的父节点开始重新进行所述遍历的结果返回到重新进行所述遍历之前搜索的节点,则满足所述遍历进行条件。
【专利摘要】本发明涉及使用树形索引搜索节点的方法和装置。一种节点搜索方法,包括:将当前时间值设为遍历时间值;搜索子节点,以根据树形索引数据结构从根节点到叶节点进行遍历;通过将表示改变所搜索的子节点的时间的更新时间值与遍历时间值相比较,确定是否满足预设遍历条件;根据是否满足遍历进行条件从父节点开始重新进行遍历,或继续遍历到所搜索的子节点;并且在不存在子节点的叶节点处终止遍历。
【IPC分类】G06F17-30
【公开号】CN104834654
【申请号】CN201410262312
【发明人】姜仁圭, 朴相永, 安宰奭, 金周湖
【申请人】株式会社特博睿
【公开日】2015年8月12日
【申请日】2014年6月12日
【公告号】US20150227587
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1