【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及用于管理在共享磁盘硬件上运行的无共享(shared-nothing)数据库系统中的数据的技术。
技术介绍
多处理计算机系统一般分为三类一切资源共享(shared-everything)系统、共享磁盘系统、以及无共享系统。在一切资源共享系统中,所有处理器上的程序能够直接存取系统中的所有易失存储装置(下文中一般称为“存储器”)以及所有非易失存储装置(下文中一般称为“磁盘”)。因此,要求不同的计算机组件之间的高级布线,以提供一切资源共享的功能。另外,就一切资源共享结构而言还存在可伸缩性限制。在共享磁盘系统中,处理器和存储器被分组成节点。共享磁盘系统中的每个节点本身可以构成包括多处理器和多存储器的一切资源共享系统。所有处理器上的程序能够存取系统中的所有磁盘,但是只有属于特定节点的处理器上的程序能够直接存取在特定节点内的存储器。共享磁盘系统一般地要求比一切资源共享系统少的布线。因为所有节点能够存取所有数据,所以共享磁盘系统还能够容易地适应不平衡的工作负荷条件。然而,共享磁盘系统易受相关系统开销(coherence overhead)的影响。例如,如果第一节点已经修改了数据并且第二节点想要读取或者修改该相同的数据,则必须采取多个步骤以确保将数据的正确版本提供给第二节点。在无共享系统中,所有的处理器、存储器、和磁盘被分组成节点。如同在共享磁盘系统中一样,在无共享系统中,每个节点本身可以构成一切资源共享系统或共享磁盘系统。只有在特定节点上运行的程序才能够直接存取特定节点内的存储器和磁盘。三种一般类型的多处理系统的无共享系统通常要求各种系统组件之间的最少量 ...
【技术保护点】
一种用于管理数据的方法,所述方法包括以下步骤:在能够存取多个节点的持久存储器上保持多个持久数据项,所述持久数据项包括存储于所述持久存储器上的特定位置的特定数据项;将所述持久数据项中的每个的独占所有权分配给所述节点中的一个,其 中,所述多个节点的特定节点被分配有所述特定数据项的独占所有权;当任何节点想要执行涉及所述特定数据项的操作时,由于所述特定数据项存在于所述特定位置,因此期望所述操作被执行的所述节点将所述操作传送至所述特定节点,用于所述特定节点对所述特 定数据项执行所述操作;当第一节点继续操作时,在不将所述特定数据项从所述持久存储器上的所述特定位置移动的情况下,将所述特定数据项的所有权从所述特定节点再分配到另一节点;在所述再分配之后,当任何节点想要执行涉及所述特定数据项的操 作时,由于所述特定数据项存在于所述特定位置,因此期望所述操作被执行的所述节点将所述操作传送至所述其他节点,用于所述其他节点对所述特定数据项执行所述操作。
【技术特征摘要】
【国外来华专利技术】US 2003-8-1 60/492,019;US 2003-9-17 10/665,0621.一种用于管理数据的方法,所述方法包括以下步骤在能够存取多个节点的持久存储器上保持多个持久数据项,所述持久数据项包括存储于所述持久存储器上的特定位置的特定数据项;将所述持久数据项中的每个的独占所有权分配给所述节点中的一个,其中,所述多个节点的特定节点被分配有所述特定数据项的独占所有权;当任何节点想要执行涉及所述特定数据项的操作时,由所述特定数据项存在于所述特定位置,因此期望所述操作被执行的所述节点将所述操作传送至所述特定节点,用于所述特定节点对所述特定数据项执行所述操作;当第一节点继续操作时,在不将所述特定数据项从所述持久存储器上的所述特定位置移动的情况下,将所述特定数据项的所有权从所述特定节点再分配到另一节点;在所述再分配之后,当任何节点想要执行涉及所述特定数据项的操作时,由于所述特定数据项存在于所述特定位置,因此期望所述操作被执行的所述节点将所述操作传送至所述其他节点,用于所述其他节点对所述特定数据项执行所述操作。2.根据权利要求1所述的方法,其中,所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤包括,更新在所述多个节点中共享的所有权映射。3.根据权利要求1所述的方法,其中,所述多个节点是多节点数据库系统的节点。4.根据权利要求3所述的方法,其中,所述多节点数据库系统包括不能够存取所述持久存储器的节点。5.根据权利要求3所述的方法,其中所述持久存储器是由所述多节点数据库系统使用的多个持久存储器的第一持久存储器;以及所述方法进一步包括,将第二数据项的所有权从能够存取所述第一持久存储器的第一节点再分配到能够存取第二持久存储器但不能够存取所述第一持久存储器的第二节点;并且其中,所述再分配所述第二数据项的所有权的步骤包括,将所述第二数据项从所述第一持久存储器移动至所述第二持久存储器。6.根据权利要求3所述的方法,其中,响应于将所述其他节点添加到所述多节点数据库系统,执行所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤。7.根据权利要求3所述的方法,其中预期到将从所述多节点数据库系统去除所述特定节点,执行所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤;并且所述方法进一步包括以下步骤,预期到将从所述多节点数据库系统去除所述特定节点,将第二数据项从所述持久存储器物理地移动到另一持久存储器,其中,所述第二数据项从所述特定节点再分配到不能够存取所述持久存储器的所述多节点数据库系统的节点。8.根据权利要求3所述的方法,其中,所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤被执行作为所有权从所述特定节点到一个或多个其他节点的逐渐转移的一部分。9.根据权利要求8所述的方法,其中,响应于检测到相对于所述多节点数据库系统的一个或多个其他节点而言所述特定节点工作过度,开始所述逐渐转移。10.根据权利要求9所述的方法,其中,响应于检测到相对于所述多节点数据库系统的一个或多个其他节点而言所述特定节点不再工作过度,终止所述逐渐转移。11.根据权利要求3所述的方法,其中,所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤被执行作为所有权从一个或多个其他节点到所述其他节点的逐渐转移的一部分,其中,响应于检测到相对于所述多节点数据库系统中的一个或多个其他节点而言所述其他节点工作不足,开始所述逐渐转移。12.根据权利要求3所述的方法进一步包括以下步骤在已经从所述多节点系统去除第一节点之后,继续使一组数据项由所述第一节点拥有;以及响应于检测到对涉及所述数据项的操作的请求,将数据项的所有权从所述第一节点再分配到一个或多个其他节点。13.根据权利要求3所述的方法进一步包括以下步骤在已经从所述多节点系统去除第一节点之后,继续使一组数据项由所述第一节点所拥有;以及响应于检测到第二节点的工作负荷已经降至预定阈值以下,将数据项的所有权从所述第一节点再分配到所述第二节点。14.根据权利要求1所述的方法,其中当所述特定数据项将被再分配给所述其他节点时,所述特定节点在易失存储器中存储所述特定数据项的脏版本;以及所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤包括,将所述特定数据项的所述脏版本写入所述持久存储器。15.根据权利要求1所述的方法,其中当所述特定数据项将被再分配给所述其他节点时,所述特定节点在易失存储器中存储所述特定数据项的脏版本;以及所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤包括,将与所述脏版本相关的一个或多个重做记录强加到持久存储器,并且在不将所述特定数据项的所述脏版本写入所述持久存储器的情况下,从所述易失存储器清除所述脏版本;所述其他节点通过对存在于所述持久存储器上的所述特定数据项的版本应用所述一个或多个重做记录,来重建所述脏版本。16.根据权利要求1所述的方法,其中当所述特定数据项将被再分配给所述其他节点时,所述特定节点在易失存储器中存储所述特定数据项的脏版本;并且所述方法进一步包括以下步骤,将所述特定数据项的所述脏版本从与所述特定节点相关的易失存储器转移至与所述其他节点相关的易失存储器。17.根据权利要求16所述的方法,其中,所述转移所述脏版本的步骤由所述特定节点在不经所述其他节点请求所述脏版本的情况下主动执行。18.根据权利要求16所述的方法,其中,所述转移所述脏版本的步骤由所述特定节点响应于来自所述其他节点的对所述脏版本的请求而执行。19.根据权利要求1所述的方法,其中在不等待正修改所述数据项的事务提交的情况下,执行所述将所述特定数据项的所有权从所述特定节点再分配到另一节点的步骤;当所述特定数据项由所述特定节点所拥有时,所述事务做出第一组修改;以及当所述特定数据项由所述其他节点所拥有时,所述事务做出第二组修改。20.根据权利要求19所述的方法进一步包括,通过基于与所述其他节点相关的撤销日志中的撤销记录退回所述第二组修改,并且基于与所述特定节点相关的撤销日志中的撤销记录退回所述第一组修改,来退回由所述事务做出的改变。21.根据权利要求1所述的方法,其中,所述方法包括以下步骤所述其他节点接收到更新所述数据项的请求;确定所述特定节点是否能够以独占模式或共享模式存取所述数据项;如果所述特定节点不能够以独占模式或共享模式存取所述数据项,则所述其他节点在不等待所述特定节点将所述数据项的任何脏版本或脏版本的重做转储到持久存储器的情况下,更新所述特定数据项。22.根据权利要求1所述的方法进一步包括以下步骤响应于将所述特定数据项的所有权转移至所述其他节点,中止涉及所述特定数据项的进行中的操作;在所述特定数据项的所有权已经被转移至所述特定节点之后,重新执行所述进行中的操作。23.根据权利要求1所述的方法,其中在所述特定数据项的所有权的转移将被执行时,涉及所述特定数据项的操作在进行中;所述方法进一步包括以下步骤,基于一组一个或多个因素,确定是否等待所述进行中的操作完成;以及如果确定不等待所述进行中的操作完成,则中止所述进行中的操作。24.根据权利要求23所述的方法,其中,所述一组一个或多个因素包括所述进行中的操作已经执行了多少工作。25.一种用于管理数据的方法,所述方法包括以下步骤在能够存取多个节点的持久存储器上保持多个持久数据项;通过将每个数据项分配给多个存储段中的一个,将所述持久数据项中的每个的所有权分配给所述节点中的一个;以及将每个存储段分配给所述多个节点中的一个;其中,分配有存储段的节点被建立作为被分配给所述存储段的所有数据项的所有者。当第一节点想要执行涉及由第二节点所拥有...
【专利技术属性】
技术研发人员:罗杰J班福德,萨希坎什钱德拉塞克拉,安杰洛普鲁希诺,
申请(专利权)人:甲骨文国际公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。