【技术实现步骤摘要】
磁盘区间树批量更新方法一、
本专利技术是数据库领域,用于同步实时数据更新而引起索引结构更新。二、
技术介绍
的随着应用发展,数据存储对象由历史数据转变为连续变化的数据,如交通流量监控这些应用。在这些应用中,数据存储在数据库中并支持进一步的查询,这要求数据库系统不仅能存储历史数据,同时也能存储新数据。因此数据库中的索引结构必须支持频繁的更新,来保持与实时数据的同步,从而达到正确且有效的查询。在时空数据库中,区间树用来有效的组织表示为轴平行线段的区间,每个区间包含一个开始和结束端点。对于存储在磁盘上的区间树,给定新的区间,将这些区间插入到区间树中存在两种方法:1)重新建造整棵树,这种方法开销大,尤其是对连续更新的数据来说,新区间可能只需更新部分结点,并不需要重构整棵树;2)将每个区间依次插入树中,这种方法会在区间数量太多时产生大量I/O开销和CPU开销。因此需要一种方法来有效的提高磁盘区间树索引更新,减小I/O开销和CPU开销,实现索引和实时更新数据的同步。三、
技术实现思路
【专利技术目的】 ...
【技术保护点】
1.一种磁盘区间树批量更新的方法,其特征是通过对区间数据做预处理,将区间集合划分为内区间集合和外区间集合两个部分,对于内区间集合遍历磁盘区间树,找到每个区间应插入的结点位置,对磁盘区间树的结点进行更新;而对于外区间集合,为该集合内所有区间新建立一棵区间树,将新区间树的结点依次插入到磁盘区间树中;这个方法大量减少了磁盘访问次数,降低I/O和CPU开销,提高了索引更新效率;其过程由以下三部分构成:/n(1)区间预处理:将需要实时更新的区间数据根据磁盘区间树的最大端点值,分为内区间集合和外区间集合;/n(2)内区间更新:由(1)中得到的内区间集合作为输入,遍历一次磁盘区间树,找到 ...
【技术特征摘要】
1.一种磁盘区间树批量更新的方法,其特征是通过对区间数据做预处理,将区间集合划分为内区间集合和外区间集合两个部分,对于内区间集合遍历磁盘区间树,找到每个区间应插入的结点位置,对磁盘区间树的结点进行更新;而对于外区间集合,为该集合内所有区间新建立一棵区间树,将新区间树的结点依次插入到磁盘区间树中;这个方法大量减少了磁盘访问次数,降低I/O和CPU开销,提高了索引更新效率;其过程由以下三部分构成:
(1)区间预处理:将需要实时更新的区间数据根据磁盘区间树的最大端点值,分为内区间集合和外区间集合;
(2)内区间更新:由(1)中得到的内区间集合作为输入,遍历一次磁盘区间树,找到各个区间应插入的相应结点位置,以结点为单位对磁盘区间树进行更新操作;
(3)外区间更新:由(1)中得到的外区间集合作为输入,为集合中的区间建立一棵新的平衡区间树,建树完成后,将新树中的所有结点依次插入到磁盘区间树中,得到更新后的磁盘区间树。
2.根据权利要求1所述的磁盘区间树批量更新方法,其特征在于所研究的对象区间树是保存在磁盘中的;区间更新操作的基本思想是对于需要更新的每个区间都能找到应该插入的结点位置,以结点为单位对磁盘区间树进行批量更新,从而避免将区间依次插入磁盘区间树中,减少磁盘读写次数,来提高索引更新效率。
3.根据权利要求2所述的磁盘区间树批量更新方法,其特征在于该方法可以处理当所给区间的范围超过已有区间树的最大端点值的情况,步骤(1)中将区间数据根据磁盘区间树范围最大端点值,分为内区间集合和外区间集合;
对于需要更新的区间数据存在三种情况,1)区间范围完全包含于磁盘区间树定义范围的区间;2)区间范围全部在磁盘区间树定义范围外的区间;3)区间部分在磁盘区间树范围内,部分在区间树范围外的区间,将1)中的区间全部放入内区间集合中,2)中区间全部放入外区间集合中,3)中的区间根据磁盘区间树端点最大值,分割为区间范围内和区间范围外两个部分,再分别加入内区间集合和外区间集合中,将划分后的两种集合用内区间更新和外区间更新两种不同的方法进行操作,具体算法如下所示:
算法1.BulkUpdate(T,O′)
输入:磁盘区间树索引T
区间集合O′
输出:更新后的磁盘区间树索引
1.partitionO′into{O′in,O′out};
2.Insert_ln(T,T.Tootld(),O′in);
3.Insert_OutCT,O′out);
4.将缓冲区中的结点同步到磁盘上的索引结构。
4.根据权利要求3所述的磁盘区间树批量更新方法,其特征在于步骤(2)(3)中针对两种不同区间数据,即内区间集合和外区间集合,采用了不同的更新算法;(2)中更新算法仅通过遍历一次磁盘区间树,确定内区间集合中所有区间应保存的结点位置;(3)通过为外区...
【专利技术属性】
技术研发人员:许建秋,梁珺秀,章益烔,
申请(专利权)人:南京航空航天大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。