具有老化机制的数据库和管理数据库的方法技术

技术编号:10199967 阅读:128 留言:0更新日期:2014-07-11 12:25
公开了管理数据库和相应数据库系统的方法。一种管理数据库的方法包括在移除之前确定对应于跨过将要保留在数据库中的数据库条目的所述最大时间跨度的时间间隔;将所述时间间隔划分为至少第一和第二时间片;以及使用数据库事件更新至少第一和第二片数据库。经过对应于所述第一时间片的所述时长的时间跨度之后,所述方法包括将所述第一片数据库替换为所述第二片数据库并创建新的第二片数据库作为所述前第二片数据库的副本。

【技术实现步骤摘要】
【国外来华专利技术】具有老化机制的数据库和管理数据库的方法
本专利技术涉及具有老化机制的数据库和管理数据库的方法。具体而言,本专利技术涉及路由器、交换机、网桥、网络业务管理器等网络设备中的动态数据库。
技术介绍
需要不断检查动态更新的并且可能仅占有限数量的存储空间的数据库是否存在过时的或旧的条目。清除,即删除或覆盖这些条目有助于维护机能状态下的数据库。此类清除通常可以称为数据库的“老化”,即移除旧的数据库条目。例如,可以通过数据收集工作进行老化。该数据的移除减小了数据库的大小。老化事件通常涉及大量计算,尤其当必须考虑分层老化效应时,即删除一个条目的效应导致需要更新其它数据库条目进一步向上或向下一个数据库层级。文档US6125371A公开了老化数据库的方法:给每个数据库条目分配时间戳,创建经过更新事务的数据库条目的多个版本,通过比较时间戳监控每个数据库条目的每个版本的老化时间,以及根据老化时间的监控删除一个或多个数据库条目的版本以释放存储空间。图1示出了示例数据库100的示意图,其被组织成具有数据集根101、多个分支102a、102b、102c以及对应叶子103a、103b、103c、103d、103e和103f的分层数据库。例如,分支102a是第一层层级条目,第二层层级条目103a、103b和103c依赖分支102a。图1示例性地示出具有两个层级的数据库100,但是不以任何方式限制级别数量和每级条目的数量。此外,相同层的条目之间可能存在级内互连104,其由分支102b和102c示例性地示出。当其中一个叶子上的特定的条目将要老化(即被删除或覆盖)时,将必须检查对应分支的每个条目是否存在将要老化的叶子的任意指针或参考,例如时间戳、条目计数器或类似值。例如,当叶子103d将要老化时,在删除叶子103d之后将必须检查条目102b和条目状态的一致性。此外,可能还有必要检查数据库100的条目102c,因为条目102b和102c通过互连104相互依赖。在条目102b和102c的每个条目中,为了在已更新的数据库100中不留痕迹地老化叶子103d必须进行多个重新计算,否则在数据库100正在进行的操作过程中可能会发生严重的数据库讹误。对于操作过程中拥有许多条目和大量将要老化的条目的大数据库而言,这些计算将耗尽许多时间和资源。因此,需要一种数据库管理方法和相应的数据库,这样当老化数据库的条目时可减少更新计算的数量。
技术实现思路
本专利技术的构想是将老化周期,即位于数据库中的数据库的条目没被老化的最大时间跨度,划分为n个时间片。对于n个时间片中的每个时间片而言,并行维护单独的片数据库。n个片数据库中的每个片数据库反映跨老化周期不同片断的片周期(范围是从及时返回的当前时间到所述老化周期的不同片断)中所述数据库的各状态变化。考虑到所述老化周期的所述片断来评估改变所述数据库的事件,在所述老化周期的所述片断中的数据库内容受到所述事件的影响。因此,使用没有到达经评估的所述老化周期的片断的事件仅更新n个片数据库中的k个片数据库。有利的是,通过该程序所述最旧的片数据库,即在那一时刻跨过整个老化周期的所述片数据库,可能在经过第1/n个老化周期之后老化,因为随后第(n-1)/n个老化周期中的事件造成的所有变化已经在所述剩余n-1个片数据库中反映出来。另一方面,比一个老化周期旧的所有事件仅影响所述将要老化的最旧的片数据库,因此防止重新计算完全不受这些最旧的事件影响的所述剩余n-1个片数据库中的任意片数据库的需要。换言之,通过使用上述方法并行维护n个片数据库,完全避免了根据条目的老化检查和重新计算数据库条目的需要。因此,本专利技术的第一方面涉及管理数据库的方法,包括确定对应于从数据库移除之前数据库条目在所述数据库中保留的所述最大时间跨度的时间间隔;将所述时间间隔划分为至少第一和第二时间片;以及通过数据库事件更新至少第一和第二片数据库。经过对应于所述第一时间片的所述时长的时间跨度之后,所述方法包括将所述第一片数据库替换为所述第二片数据库并创建新的第二片数据库作为所述前第二片数据库的副本。根据所述第一方面的第一实施方式,所述方法进一步包括将数据库存储器划分为至少第一和第二存储区域,和通过数据库事件更新所述第一和第二存储区域,并且在经过对应于所述第一时间片的所述时长的所述时间跨度之后,声明所述第二存储区域为所述第一存储区域并使用新声明的第二存储区域的数据库条目覆盖所述前第一存储区域。根据所述第一方面的第二实施方式,所述方法进一步包括将数据库处理队列划分为至少第一和第二部分队列,所述第一部分队列包括经过所述第一时间片之后将要超时的队列元素,所述第二部分队列包括经过所述第一时间片之后不会超时的队列元素;创建指向所述第一部分队列的所述第一元素的第一队列指针;创建指向所述第二部分队列的所述第一元素的第二队列指针;以及在经过对应于所述第一时间片的时长的所述时间跨度之后,将所述第一队列指针替换为所述第二队列指针并且将所述第二队列指针替换为新第二队列指针数据库。根据所述第一方面的所述第二实施方式的第三实施方式,所述第一和第二队列指针分别指向所述第一和第二部分队列的头部。根据所述第一方面的所述第二实施方式的第四实施方式,所述第一和第二队列指针分别指向所述第一和第二部分队列的尾部。根据所述第一方面的第五实施方式,在经过对应于所述第一时间片的所述时长的所述时间跨度之前,对所述第二片数据库的工作访问被拒绝。根据所述第一方面的第六实施方式,所述数据库是用于网络设备的数据库。根据所述第一方面的第七实施方式,所述时间间隔是所述网络设备的所述网络中的往返延迟时间。根据所述第一方面的第八实施方式,一旦发生数据库事件,如果经过所述第一时间片之后,所述数据库事件没有涉及将要超时的数据库条目,那么并行更新所述第一和所述第二片数据库以及所述事件;或者,如果经过所述第一时间片之后,所述数据库事件涉及将要超时的数据库条目,那么仅更新所述第二片数据库以及所述事件。根据本专利技术的第二方面,数据库系统包括数据库存储器,用于储存主要数据库的数据库条目、至少第一和第二片数据库作为所述主数据库的副本;数据库更新控制器,用于确定对应于在从所述数据库移除之前数据库条目在所述数据库中保留的最大时间跨度的时间间隔,将所述时间间隔划分为至少第一和第二时间片,以及通过数据库事件更新至少第一和第二片数据库;以及数据库老化控制器,用于在经过对应于所述第一时间片的所述时长的时间跨度之后将所述第一片数据库替换为所述第二片数据库并将所述第二片数据库替换为新第二片数据库。根据所述第二方面的第一实施方式,所述数据库存储器被划分为至少第一和第二存储区域,所述数据库更新控制器用于通过数据库事件更新所述第一和第二存储区域,以及所述数据库老化控制器用于在经过对应于所述第一时间片的所述时长的所述时间跨度之后声明所述第二存储区域作为所述第一存储区域并且使新声明的第二存储区域的数据库条目覆盖所述前第一存储区域。根据所述第二方面的第二实施方式,所述数据库系统进一步包括数据库处理队列,所述数据库处理队列被划分为至少第一和第二部分队列,所述第一部分队列包括经过所述第一时间片之后将要超时的队列元素,所述第二部分队列包括经过所述第一时间片之后不会超时的队列元素;和数据库队列指针控制本文档来自技高网
...
具有老化机制的数据库和管理数据库的方法

【技术保护点】
一种用于管理数据库的方法,其特征在于,包括:确定对应于从数据库移除之前数据库条目在所述数据库中保留的所述最大时间跨度的时间间隔;将所述时间间隔划分为至少第一和第二时间片;通过数据库事件更新至少第一和第二片数据库;以及经过对应于所述第一时间片的所述时长的时间跨度时长之后,将所述第一片数据库替换为所述第二片数据库,并将所述第二片数据库替换为新的第二片数据库。

【技术特征摘要】
【国外来华专利技术】1.一种用于管理数据库的方法,其特征在于,包括:确定对应于从主数据库移除之前数据库条目在所述主数据库中保留的最大时间跨度的时间间隔;将所述时间间隔划分为至少第一和第二时间片;根据数据库事件更新至少第一和第二片数据库,所述第一和第二片数据库均为所述主数据库的拷贝副本;以及经过对应于所述第一时间片的时长的时间跨度之后,将所述第一片数据库替换为所述第二片数据库,并将替换前的所述第二片数据库替换为新的第二片数据库;所述数据库事件是收到新数据包或传送数据包,所述根据数据库事件更新至少第一和第二片数据库包括:确定所述数据库事件涉及的数据包,如果所述数据库事件涉及的数据包在所述第一时间片被收到或传送,则仅更新所述第一片数据库,如果所述数据库事件涉及的数据包在所述第二时间片被收到或传送,则更新所述第一片数据库和所述第二片数据库。2.根据权利要求1所述的方法,其特征在于,进一步包括:将数据库存储器划分为至少第一和第二存储区域,根据所述数据库事件更新所述第一和第二存储区域;以及在经过对应于所述第一时间片的所述时长的所述时间跨度之后,声明所述第二存储区域为所述第一存储区域,所述声明前的所述第一存储区域被新声明的第二存储区域的数据库条目覆盖。3.根据权利要求1和2中任一权利要求所述的方法,其特征在于,进一步包括:将数据库处理队列划分为至少第一和第二部分队列,所述第一部分队列包括经过所述第一时间片之后将要超时的队列元素,所述第二部分队列包括经过所述第一时间片之后不会超时的队列元素;以及在经过对应于所述第一时间片的时长的所述时间跨度之后,将指向所述第一部分队列的指针替换为指向所述第二部分队列的指针,并且创建新的指向第二部分队列的指针。4.根据权利要求3所述的方法,其特征在于,所述指向所述第一和第二部分队列的指针分别指向所述第一和第二部分队列的头部。5.根据权利要求3所述的方法,其特征在于,所述指向所述第一和第二部分队列的指针分别指向所述第一和第二部分队列的尾部。6.根据权利要求1、2、4和5中的任一权利要求所述的方法,其特征在于,在经过对应于所述第一时间片的所述时长的所述时间跨度之前,对所述第二片数据库的工作访问被拒绝。7.根据权利要求1、2、4和5中的任一权利要求所述的方法,其特征在于,所述主数据库、所述第一片数据库和所述第二片数据库是用于网络设备的数据库,并且所述时间间隔是所述网络设备在网络中的往返延迟时间,所述往返延迟时间为所述网络设备将数据包传输到所述网络中的网络节点并接收响应数据包之间经过的最大时间周期。8.一种数据库系统,其特征在于,包括:数据库存储器,用于储存主数据库的数据库条目;至少第一和第二片数据库,所述第一和第二片数据库均为所述主数据库的拷贝副本;数据库更新控制器,用于确定对应于在从所述主数据库移除之前数据库条目在所述主数据库中保留的最大时间跨度的时间间隔,将所述时间间隔划分为至少...

【专利技术属性】
技术研发人员:所罗门·施洛莫
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1