CN102521073A - 在故障恢复期间增加数据库的可用性 - Google Patents

在故障恢复期间增加数据库的可用性 Download PDF

Info

Publication number
CN102521073A
CN102521073A CN2011103830068A CN201110383006A CN102521073A CN 102521073 A CN102521073 A CN 102521073A CN 2011103830068 A CN2011103830068 A CN 2011103830068A CN 201110383006 A CN201110383006 A CN 201110383006A CN 102521073 A CN102521073 A CN 102521073A
Authority
CN
China
Prior art keywords
copy
data
during
action
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011103830068A
Other languages
English (en)
Other versions
CN102521073B (zh
Inventor
V·沙阿
S·O·沃蒂莱宁
T·塔留斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102521073A publication Critical patent/CN102521073A/zh
Application granted granted Critical
Publication of CN102521073B publication Critical patent/CN102521073B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及在故障恢复期间增加数据库的可用性。在此描述的实施例旨在在数据库重新配置期间提供数据库访问并在数据库重新配置期间维护复制连接。在一个实施例中,计算机系统建立多个法定数量拷贝集以复制数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务。计算机系统确定数据分区重新配置已经开始,并且使用法定数量拷贝集中的每一个中的至少法定数量个拷贝来在数据分区的重新配置期间提供对数据分区的数据的访问。

Description

在故障恢复期间增加数据库的可用性
技术领域
本申请涉及在故障恢复期间增加数据库的可用性。特别是,在数据分区的重新配置期间提供对数据分区的数据的访问。
背景技术
计算机已变得高度集成于工作、家庭、移动设备以及许多其他地方中。计算机可快速且有效地处理大量信息。被设计成在计算机系统上运行的软件应用允许用户执行包括商业应用、学校作业、娱乐等等在内的各种各样的功能。软件应用通常被设计成执行特定任务,诸如用于草拟文档的文字处理器应用或者用于发送、接收和组织电子邮件的电子邮件程序。
在许多情况下,软件应用程序被设计为与其他软件应用程序或其他计算机系统交互。例如,因特网浏览器将用户请求发送给web服务器,并且,这些web服务器通过对用户的请求进行响应来应答。web服务器和其它计算机系统可以被配置为访问数据存储以作为对用户请求的响应的一部分。这些数据存储可以存储有大量的信息,并且可包括复制数据以用于附加的冗余性的拷贝。在一些情况下,这些拷贝被分组在一起作为拷贝集或群集。当拷贝集中的一个拷贝变得不可用且随后恢复在线时,拷贝集必须被更新并重新配置。在这种重新配置期间,拷贝集不可用于对数据读或写请求进行响应。
发明内容
在此描述的实施例旨在在数据库重新配置期间提供数据库访问并在数据库重新配置期间维护复制连接。在一个实施例中,计算机系统建立多个法定数量拷贝集以复制数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务。计算机系统确定数据分区重新配置已经启动,并且使用在法定数量拷贝集中的每一个中的至少法定数量个拷贝来在数据分区的重新配置期间提供对数据分区的数据的访问。
在另一个实施例中,计算机系统建立多个法定数量拷贝集以复制数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务。计算机系统确定拷贝的离开已经启动数据分区的重新配置。计算机系统防止现有的数据库复制连接在拷贝离开时就断开,并且使用数据分区重新配置期间所维护的法定数量拷贝集中的每一个中的至少法定数量个拷贝来在重新配置期间提供对数据分区的数据的访问。
提供本概述以便以简化形式介绍在以下详细描述中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
另外的特征和优点将在以下的描述中阐述,并且部分可从该描述中显而易见,或者可以从此处的教示实践中习得。本发明的各特征和优点可以通过在所附的权利要求书中特别指出的手段和组合来实现和获得。本发明的特征将从以下描述和所附权利要求书中变得完全显而易见,或者可通过如下所述对本发明的实践而获知。
附图说明
为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:
图1示出本发明的实施例可以在其中操作的计算机体系结构,所述操作包括在数据库重新配置期间提供数据库访问以及在数据库重新配置期间维护复制连接。
图2示出用于在数据库重新配置期间提供数据库访问的示例方法的流程图。
图3示出用于在数据库重新配置期间维护复制连接的示例方法的流程图。
图4示出重新配置过程的流程图。
具体实施方式
在此描述的实施例旨在在数据库重新配置期间提供数据库访问并在数据库重新配置期间维护复制连接。在一个实施例中,计算机系统建立多个法定数量(quorum)拷贝集以复制数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务。计算机系统确定数据分区重新配置已经开始,并且使用在法定数量拷贝集中的每一个中的至少法定数量个拷贝来在数据分区的重新配置期间提供对数据分区的数据的访问。
在另一个实施例中,计算机系统建立多个法定数量拷贝集以复制数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务。计算机系统确定拷贝的离开已经启动数据分区的重新配置。计算机系统防止现有的数据库复制连接在拷贝离开时就断开,并且使用法定数量拷贝集中的每一个中的至少法定数量个拷贝来在数据分区的重新配置期间提供对数据分区的数据的访问。
以下讨论现涉及可以执行的多种方法以及方法动作。应当注意,虽然这些方法动作可能是按一定次序讨论的,或者是在流程图中被描绘为是按照特定顺序进行的,然而并非必然需要特定的次序,除非特别声明,或者是因为一个动作依赖于另一动作在该动作被执行之前完成而需要的。
本发明的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。本发明范围内的各实施例还包括用于携带或存储计算机可执行指令和/或数据结构的物理介质和其他计算机可读介质。这些计算机可读介质可以是通用或专用计算机系统能够访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质。携带计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种完全不同类型的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为允许在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码装置可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令包括,例如使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。相反,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备中。
图1示出了可在其中采用本发明的原理的计算机体系结构100。计算机体系结构100包括数据库110。数据库可以是任意类型的数据库或数据存储系统,并且可以包括在一个或多个计算系统上的存储设备。例如,数据库可以位于一个组织或机构本地内,或者可以分布在跨宽广地理区域的许多不同的计算机系统上。数据库110可以包括存储区域网络(SAN)或其它存储方案。数据库是通过因特网可访问的,并且可被配置为从用户接收请求。例如,用户105可以发送请求数据库所提供的数据和/或服务的数据请求。这些请求可以由数据库作为待决事务115来存储。
数据库事务确保了当执行用户请求时没有数据被丢失。例如,如果用户正在请求更新他们的银行数据,则数据库事务将保证该数据如用户所请求那样被更新。可以以拷贝的形式来备份数据库的数据。例如,每个数据存储分区可以具有一个或多个数据拷贝。如在图1中所示,这些拷贝可以是法定数量拷贝(例如126A/126B)集的一部分。每个法定数量集可以包括多个不同的拷贝。虽然示出法定数量集A和B具有一个主要拷贝集(127A/127B)和两个次要拷贝集(128A1/128A2/128B1/128B2),应该可以理解可以使用不同数目的拷贝。法定数量集建立模块125可以基于各种准则建立各种不同数目的法定数量集。在一些情况中,每个数据分区具有一个法定数量集,并且随后被分配第二、临时的法定数量以在重新配置期间使用。
数据库重新配置可以在当拷贝停工(即由于计算机故障、网络故障或某个其它问题而停止工作)或恢复(即再次开始工作)时发生。这样,例如,如果次要拷贝128A1将要停工,就将需要重新配置法定数量集126A。类似地,如果次要拷贝128A1将要在稍后某个时间点上再次恢复,则将需要再次重新配置法定数量集126A。可以使用重新配置模块120来以这样的方式来重新配置法定数量拷贝集:在进行重新配置的同时向用户提供数据库服务。这些和其他概念将在下面参考图2和3更详细地解释。
如上所示,即使在数据库分区正在经历重新配置过程期间,也可以在数据库分区上执行读和/或写操作。在一些实施例中,这可以通过维护多个动态法定数量集以便允许对分区的读/写访问同时保持其在重新配置处理期间在事务上一致来实现。在重新配置过程期间可以防止在现有拷贝之问的复制连接的断开。这可以允许用户(例如105)在重新配置过程期间执行读/写操作。可以以如下方式将拷贝加入到各法定数量集中或从法定数量集中移除:分区在重新配置期间并且在存在用户事务的情况下保持在事务上一致。而且,可以防止依赖于从数据库的主要拷贝中进行读取的操作在数据库经历重新配置时被重置。这样的操作可以包括为分区创建新的拷贝,或创建分区的副本。
在分布式数据存储系统(例如数据库110)中,当要改变分区的配置时,执行重新配置过程。重新配置过程涉及改变分区的活动配置。作为该过程的一部分,维护在该分区的拷贝之间的通常要被断开的现有复制连接。因此,用户能够在该过程期间在该分区上执行读/写操作。
在一些实施例中,可以实现重新配置或最小重新配置的专门情况。最小重新配置可确保用户可以在重新配置过程的持续时间期间在分区上执行读/写操作。在一些情况中,为了执行最小重新配置,要建立写法定数量拷贝。该写法定数量可以被定义为(n+1)/2的上限,其中n是在配置中的拷贝总数。当前的主要拷贝将启动并运行,并且在最小重新配置之后将还是作为主要拷贝。在建立这些项之后,启动最小重新配置。
在一些实施例中,最小重新配置在下述方面不同于常规的重新配置:1)维护多个法定数量集,这些法定数量集在重新配置过程期间被动态更新,2)主要拷贝是多个法定数量集的一部分,3)最初,所有的次要拷贝要么在第一法定数量集中,要么在法定数量之外,4)在重新配置结束时,所有的次要拷贝要么在第一法定数量集中,要么在法定数量之外,5)在重新配置过程持续时间中维护至多两个法定数量拷贝集,6)在重新配置持续时间期间,根据配置成员来修改法定数量集,以及7)要在每个法定数量集上提交用户事务才能将其认为是已提交的。
由于上述第7条,在重新配置期间的任意点处,在每个法定数量集中要存在可用的写法定数量拷贝。因此,用户可以成功地完成在分区上的写事务。因为至少写法定数量个拷贝是可用的,所以读事务也是可能的(其中,读法定数量是(n+1)/2的下限,并且写法定数量是(n+1)/2的上限)。在这个操作期间,如果在前一配置中的可用拷贝的数目下降到其写法定数量之下,则重新配置代理将检测到该情况,终止当前的最小重新配置,并将所述重新配置作为常规的重新配置来重启。
考虑到以上描述的系统和体系结构,参考图2和图3的流程图将更好地理解根据所公开的主题实现的方法。为了解释简明起见,这些方法被示出和描述为一系列框。然而,应该理解和了解,所要求保护的主题不受框的次序的限制,因为一些框可按不同的次序进行和/或与此处所描绘和描述的其他框同时进行。此外,并非全部所示的框都是实现下面所述的方法所必需的。
图2示出用于在数据库重新配置期间提供数据库访问的方法200的流程图。现在将频繁参照环境100的组件和数据来描述方法200。
方法200包括建立多个法定数量拷贝集来复制给定数据分区的数据的动作,其中所述法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务(动作210)。例如,法定数量集建立模块125将建立法定数量集A和B(126A/126B)来复制给定数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务115。
在一些情况下,跨最小拷贝集来复制事务(或来自事务的数据)。例如,最小的拷贝集可以包括主要拷贝(例如127A)和至少一个(或至少两个,等等)次要拷贝(例如128A1和128A2)。每个法定数量拷贝集包括至少一个主要拷贝,并且包括任意数目的次要拷贝。在一些情况下,单个主要拷贝可以是多个法定数量拷贝集的成员。这样,在图1中,法定数量集A中的主要拷贝127A可以是法定数量集B中相同的主要拷贝。
在一些实施例中,法定数量拷贝集可以是实例化以应答重新配置期间的请求的临时法定数量拷贝集。这样,例如,法定数量集B(126B)可以是临时法定数量集,该临时法定数量集被建立以在数据库正被重新配置时对数据请求(例如106)或其它待决事务进行应答。在一些情况下,在结束重新配置之后移除这样的临时法定数量拷贝集。
在重新配置的多个不同的阶段,可以提供对给定数据分区的访问,如图4中所示。在图4示出的示例中,当次要拷贝C加入现有的法定数量集时启动最小重新配置。如在410中所示,次要拷贝C将加入到包括主要拷贝A和次要拷贝B的现有法定数量集AB。如在415中所示,法定数量集1包括A和B,而法定数量集2包括主要拷贝A。
在阶段1(420),当重新配置开始时,属于前一配置并且属于新配置的所有拷贝的法定数量集成员关系,它们的成员关系被改变以便它们既成为法定数量集1又成为法定数量集2的一部分,并且仅属于新配置的所有的拷贝被加入成为法定数量集2的一部分。这样,在425,法定数量集1具有拷贝A和B,而法定数量集2具有拷贝A、B和C。可以启动阶段1增额(catch-up)430,其中将加入节点C更新为与次要拷贝B相同。在435中更新法定数量集2,并且如440所示,法定数量集2具有主要拷贝A和次要拷贝B和C,并且具有足够数目的拷贝和拷贝分布来提交事务。
在阶段2(445)期间,不改变法定数量集,如在450中所示。在阶段3(455)期间,改变属于新配置的所有拷贝的法定数量成员关系,以便它们现在是法定数量集1的一部分。而且,改变不属于新配置的所有拷贝的法定数量成员关系,以便它们不再是任意法定数量集的一部分(在法定数量之外)。这样,法定数量集1的新配置具有拷贝A、B和C,而法定数量集2仅具有主要拷贝A,如在460中所示。在阶段4(465)期间,发送提交消息,并且,法定数量集1是在带有经更新的次要拷贝C的情况下完全可操作的。
返回图2,方法200包括确定数据分区重新配置已经启动的动作(动作220)。例如,重新配置模块120可以确定已经为法定数量集A(126A)启动数据分区重新配置。可以由法定数量拷贝集的拷贝(例如128A2)离开或加入拷贝集来启动重新配置。在重新配置期间,加入拷贝所加入的法定数量拷贝集被修改为包括该加入的拷贝。类似地,当拷贝离开法定数量集时,重新配置该法定数量集。当拷贝离开法定数量集时,重新配置模块120可以防止现有的数据库复制连接由于拷贝的离开而被断开。这样,如果次要拷贝128A2将要离开法定数量集A(126A),则在数据库和主要拷贝127A和次要拷贝128A1之间的现有数据库复制连接将不被断开。
方法200包括在数据分区的重新配置期间使用法定数量拷贝集中的每一个中的至少法定数量个拷贝来提供对数据分区的数据的访问。例如,数据库110可以在数据分区的重新配置期间使用法定数量集A的主要拷贝127A和次要拷贝128A1提供对给定分区的数据的访问。在一些情况中,可由法定数量拷贝集中的大多数拷贝(图1的法定数量集的三个拷贝中的两个拷贝)来对数据库事务进行确认。当法定数量成员在重新配置的不同阶段期间被移动到不同的法定数量集时,可以以在事务上一致的方式来维护分区上的数据。这样,无论有多少拷贝被改变或如何改变拷贝,都将以在事务上一致的方式来提供对底层数据的访问。这就确保了在任意事务中没有数据丢失。而且,可以防止依赖于从数据库的主要拷贝中进行读取的操作在重新配置过程期间被重置。
现在转向图3,图3示出用于在数据库重新配置期间维护复制连接的方法300的流程图。现在将频繁参照环境100的组件和数据来描述方法300。
方法300包括建立多个法定数量拷贝集来复制给定数据分区的数据的动作,其中所述法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务(动作310)。例如,法定数量集建立模块125可建立法定数量集A和B(126A/126B)来复制给定数据分区的数据。法定数量拷贝集确保了至少最小数目的拷贝可用于在分区重新配置期间提交待决事务115。
方法300包括确定拷贝的离开启动了数据分区重新配置的动作(动作320)。例如,重新配置模块120可以确定已经为法定数量集A(126A)启动了数据分区重新配置。可以由例如次要拷贝加入或离开法定数量集A来启动重新配置。方法300还包括防止现有的数据库复制连接在拷贝离开时被断开的动作(动作330)。
例如,重新配置模块120可以防止任意现有的到法定数量集A的其它拷贝的数据库复制连接(例如到主要拷贝127A或次要拷贝128A1的连接)被断开或移除。这样,使得到没有改变的拷贝的数据库复制连接保持完好。随后,保持完好的拷贝在重新配置期间能够继续处理事务。对于移除(即离开法定数量集)的拷贝来说,可以以拷贝的分区在重新配置期间保持在事务上一致的方式来移除正离开的拷贝。这样,被处理的任意事务将是一致的,并将提供数据库用户所期望的事务性保证。
方法300还包括在数据分区的重新配置期间使用法定数量拷贝集中的每一个中的至少法定数量个拷贝来提供对数据分区的数据的访问(动作340)。例如,法定数量集A(126A)可以在数据库的数据分区重新配置期间提供对该分区的访问。法定数量集可以使用主要拷贝127A和次要拷贝(128A1/128A2)中的至少一个来提供这样的访问。在一些实施例中,在重新配置期间可以防止各种应用程序被重置。特别地,可以防止依赖于从数据库的主要拷贝中读取的应用程序被重置。这样,至少在一些情况中,在重新配置期间可以防止分区复制操作被重置。另外地,或替换地,在重新配置期间可以防止新的拷贝创建操作被重置。
这样,提供了在数据库重新配置期间提供数据库访问的系统、方法和计算机程序产品。在重新配置期间可以以在事务上一致的方式来继续处理事务。这样,提供了在数据库重新配置期间维护复制连接的系统、方法和计算机程序产品。这样,没有作为重新配置一部分来改变的拷贝可以维护它们的复制连接,并且能在重新配置期间继续提供数据库访问。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变被权利要求书的范围所涵盖。

Claims (10)

1.一种在包括多个计算系统的计算机联网环境中,在包括处理器和存储器的计算机系统中的用于在数据库重新配置期间提供数据库访问的计算机实现的方法,所述方法包括:
建立多个法定数量拷贝集(126A/126B)来复制给定数据分区的数据的动作,其中所述法定数量拷贝集确保了至少最小数目的拷贝用于在分区重新配置(120)期间提交待决事务的动作;
确定数据分区的重新配置已经启动的动作;以及
在所述数据分区的重新配置(120)期间使用所述法定数量拷贝集(126A)中的每一个中的至少法定数量个拷贝(127A-128A2)来提供对所述数据分区的数据的访问的动作。
2.如权利要求1所述的方法,其特征在于,每个拷贝集包括多个次要拷贝。
3.如权利要求2所述的方法,其特征在于,所述多个法定数量拷贝集中的至少一个是被实例化为在重新配置期间对请求进行应答的临时法定数量拷贝集。
4.如权利要求3所述的方法,其特征在于,在重新配置已经结束之后,移除所述临时法定数量拷贝集。
5.如权利要求1所述的方法,其特征在于,在重新配置的多个阶段期间提供对所述数据库分区的访问。
6.如权利要求1所述的方法,其特征在于,由所述多个法定数量拷贝集中的拷贝离开或加入拷贝集来启动重新配置。
7.如权利要求6所述的方法,其特征在于,进一步包括防止现有的数据库复制连接由于拷贝的离开而被断开。
8.一种用于实现一种方法的计算机程序产品,所述方法用于在数据库重新配置期间维护复制连接,所述计算机程序产品包括其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述指令在被计算系统的一个或多个处理器执行时使得所述计算系统执行所述方法,所述方法包括:
建立多个法定数量拷贝集(126A/126B)来复制给定数据分区的数据的动作,其中所述法定数量拷贝集确保了至少最小数目的拷贝(127A-128A2)用于在分区重新配置(120)期间提交待决事务的动作;
确定拷贝(128A1)的离开已经启动数据分区的重新配置的动作;
防止现有的数据库复制连接由于所述拷贝的离开而被断开的动作;以及
在所述数据分区的重新配置(120)期间使用所述法定数量拷贝集(126A/126B)中的每一个中的至少法定数量个拷贝(127A-128A2)来提供对所述数据分区的数据的访问的动作。
9.如权利要求8所述的计算机程序产品,其特征在于,以所述离开的拷贝的分区在重新配置期间保持在事务上一致的方式来移除所述拷贝。
10.一种计算机系统,包括:
一个或多个处理器;
系统存储器;
其上存储有计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由所述一个或多个处理器执行时使得所述计算系统执行一种用于在数据库重新配置期间提供数据库访问的方法,所述方法包括:
建立多个法定数量拷贝集(126A/126B)来复制给定数据分区的数据的动作,其中所述法定数量拷贝集确保了至少最小数目的拷贝(127A-128A2)用于在分区重新配置期间提交待决事务的动作,每个拷贝集包括一个主要拷贝(127A)和至少一个次要拷贝(128A1);
确定数据分区的重新配置(120)已经启动的动作;
防止现有的数据库复制连接由于次要拷贝(128A1)的离开而被断开的动作;
防止依赖于从数据库(110)的所述主要拷贝(127A)中读取的一个或多个操作在重新配置期间被重置的动作;以及
在所述数据分区的重新配置(120)期间使用所述多个法定数量拷贝集(126A/126B)中的至少两个拷贝(127A/128A1)来提供对所述数据分区的数据的访问的动作。
CN201110383006.8A 2010-11-17 2011-11-16 在故障恢复期间增加数据库的可用性 Active CN102521073B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/948,541 US8326801B2 (en) 2010-11-17 2010-11-17 Increasing database availability during fault recovery
US12/948,541 2010-11-17

Publications (2)

Publication Number Publication Date
CN102521073A true CN102521073A (zh) 2012-06-27
CN102521073B CN102521073B (zh) 2014-09-17

Family

ID=46048721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110383006.8A Active CN102521073B (zh) 2010-11-17 2011-11-16 在故障恢复期间增加数据库的可用性

Country Status (3)

Country Link
US (1) US8326801B2 (zh)
CN (1) CN102521073B (zh)
HK (1) HK1170577A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415536A (zh) * 2014-03-10 2017-02-15 甲骨文国际公司 可插拔数据库从一个容器数据库的即时拔出以及到另一个容器数据库中的插入
CN107113341A (zh) * 2015-01-16 2017-08-29 华为技术有限公司 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统
CN111066339A (zh) * 2017-11-03 2020-04-24 华为技术有限公司 用于分布式移动网络的系统和方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443062B2 (en) * 2008-10-23 2013-05-14 Microsoft Corporation Quorum based transactionally consistent membership management in distributed storage systems
FR3003052B1 (fr) * 2013-03-05 2015-03-06 Bull Sas Procede et dispositif de gestion de quorums de nœuds de groupes a haute disponibilite d'un calculateur haute performance
US10120924B2 (en) * 2014-03-31 2018-11-06 Akamai Technologies, Inc. Quarantine and repair of replicas in a quorum-based data storage system
CN107295080B (zh) * 2017-06-19 2020-12-18 北京百度网讯科技有限公司 应用于分布式服务器集群的数据存储方法和服务器
US11281396B2 (en) 2019-09-23 2022-03-22 Microsoft Technology Licensing, Llc Storage system with a partial replica

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539381B1 (en) * 1999-04-21 2003-03-25 Novell, Inc. System and method for synchronizing database information
US6795830B1 (en) * 2000-09-08 2004-09-21 Oracle International Corporation Techniques for providing off-host storage for a database application
CN1581091A (zh) * 2003-08-11 2005-02-16 株式会社日立制作所 多点远程拷贝系统
US20070185852A1 (en) * 2005-12-19 2007-08-09 Andrei Erofeev Pathname translation in a data replication system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5555404A (en) 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US6490693B1 (en) 1999-08-31 2002-12-03 International Business Machines Corporation Dynamic reconfiguration of a quorum group of processors in a distributed computing system
US7246120B2 (en) 2000-01-28 2007-07-17 Oracle International Corporation Techniques for achieving higher availability of resources during reconfiguration of a cluster
JP5557840B2 (ja) * 2008-10-03 2014-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散データベースの監視メカニズム
US8443062B2 (en) 2008-10-23 2013-05-14 Microsoft Corporation Quorum based transactionally consistent membership management in distributed storage systems
US20100114826A1 (en) 2008-10-24 2010-05-06 Microsoft Corporation Configuration management in distributed data systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539381B1 (en) * 1999-04-21 2003-03-25 Novell, Inc. System and method for synchronizing database information
US6795830B1 (en) * 2000-09-08 2004-09-21 Oracle International Corporation Techniques for providing off-host storage for a database application
CN1581091A (zh) * 2003-08-11 2005-02-16 株式会社日立制作所 多点远程拷贝系统
US20070185852A1 (en) * 2005-12-19 2007-08-09 Andrei Erofeev Pathname translation in a data replication system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BETTINA KEMME等: "Online Reconfiguration in Replicated Databases Based on Group Communication", 《IEEE》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106415536A (zh) * 2014-03-10 2017-02-15 甲骨文国际公司 可插拔数据库从一个容器数据库的即时拔出以及到另一个容器数据库中的插入
CN106415536B (zh) * 2014-03-10 2019-12-17 甲骨文国际公司 用于数据库管理系统间的可插拔数据库传输的方法及系统
CN107113341A (zh) * 2015-01-16 2017-08-29 华为技术有限公司 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统
CN107113341B (zh) * 2015-01-16 2020-01-17 华为技术有限公司 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统
CN111066339A (zh) * 2017-11-03 2020-04-24 华为技术有限公司 用于分布式移动网络的系统和方法
CN111066339B (zh) * 2017-11-03 2021-07-20 华为技术有限公司 用于分布式移动网络的系统和方法

Also Published As

Publication number Publication date
US8326801B2 (en) 2012-12-04
HK1170577A1 (zh) 2013-03-01
US20120124001A1 (en) 2012-05-17
CN102521073B (zh) 2014-09-17

Similar Documents

Publication Publication Date Title
CN102521073B (zh) 在故障恢复期间增加数据库的可用性
CN102591744B (zh) 从任何群集节点的数据的备份和还原
EP3435604B1 (en) Service processing method, device, and system
US9280430B2 (en) Deferred replication of recovery information at site switchover
JP6353924B2 (ja) ブロックベースストレージに対するデータボリュームの耐久性状態の低減
CN100461121C (zh) 把存储单元和相关元数据复制到存储器的方法和系统
JP5102901B2 (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
CN102782656B (zh) 管理应用程序可用性的系统和方法
CN102737088A (zh) 分布式数据库系统中的无缝升级
US11650891B2 (en) Preventing non-detectable data loss during site switchover
EP3513296B1 (en) Hierarchical fault tolerance in system storage
CN103917972A (zh) 用于在集群数据库环境中提供会话亲和性和改善的连通性的系统和方法
CN107665154A (zh) 基于rdma与消息传递的可靠数据分析方法
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
CN102782639A (zh) 使复制目标能够回收瘦供给存储系统上未使用的存储空间的系统和方法
US10452680B1 (en) Catch-up replication with log peer
CN107656834A (zh) 基于事务日志恢复主机访问
WO2017028375A1 (zh) 一种版本升级方法及系统
WO2016176227A1 (en) Distributed storage of software images in computing systems
US10728326B2 (en) Method and system for high availability topology for master-slave data systems with low write traffic
US20080250421A1 (en) Data Processing System And Method
CN116233146A (zh) 实现跨分布式存储集群的缓存一致性的技术
CN104657240A (zh) 多内核操作系统的失效控制方法及装置
US10678639B2 (en) Quasi-error notifications in a dispersed storage network
Kobusinska et al. Consistency of Replicated Log for Service Recovery

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1170577

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1170577

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.