用于分布式数据库系统的系统范围检查点避免的制作方法_6

文档序号:9457678阅读:来源:国知局
两个或更多个单独的部件中,例如北桥和南桥。另外,在一些实施方案中,I/O接口 1030的一些或所有功能性,例如至系统存储器1020的接口,可直接并入处理器1010中。
[0142]例如,网络接口 1040可被配置来允许数据在计算机系统1000与附接至网络的其他装置之间交换,所述其他装置如其他计算机系统1090(其可实施一个或多个存储系统服务器节点、数据库引擎头节点、和/或本文所述的数据库系统的客户端)。此外,网络接口1040可被配置来允许在计算机系统1000与各种I/O装置1050和/或远程存储1070之间的通信。输入/输出装置1050可在一些实施方案中包括一个或多个显示终端、键盘、小键盘、触摸屏、扫描装置、语音或光学识别装置,或适合于由一个或多个计算机系统1000输入或撷取数据的任何其他装置。多个输入/输出装置1050可存在于计算机系统1000中或可分布于计算机系统1000的不同节点上。在一些实施方案中,类似输入/输出装置可与计算机系统1000分开并且可经由有线或无线连接,例如网络接口 1040来与包括计算机系统1000的分布式系统的一个或多个节点相互作用。网络接口 1040通常可支持一个或多个无线网络协议(例如,W1-Fi/IEEE 802.11、或另一无线网络标准)。然而,在各个实施方案中,网络接口 1040可以支持经由任何合适的有线或无线通用数据网络(例如以太网网络类型)进行通信。另外,网络接口 1040可以支持经由电信/电话网络(如模拟语音网络或数字光纤通信网络)、经由存储区域网络(如光纤信道SAN)或经由任何其他合适类型的网络和/或协议进行通信。在各种实施方案中,计算机系统1000可包括多于、少于、或不同于图10所示的那些的部件(例如,显示器、视频卡、音频卡、外围装置、其他网络接口,如ATM接口、以太网接口、帧中继接口等)。
[0143]注意本文所述的分布式系统实施方案中的任何一个,或它们的部件中的任何一个,可被实施作为一个或多个网络服务。例如,数据库系统的数据层内的数据库引擎头节点可呈现数据库服务和/或其他类型的数据存储服务,所述数据库服务和/或其他类型的数据存储服务对客户端采用文本所述的分布式存储系统,如网络服务。在一些实施方案中,网络服务可由被设计来支持通过网络的彼此协作的机对机相互作用的软件和/或硬件系统实施。网络服务可具有以机器可处理格式描述的接口,如网络服务描述语言(WSDL)。其他系统可能以由描述网络服务的接口的描述规定的方式与网络服务相互作用。例如,网络服务可限定其他系统可调用的各种操作,并且可限定特定的应用编程接口(API),当请求各种操作时,其他系统可能期望服从所述特定的应用编程接口(API)。
[0144]在各种实施方案中,通过使用包括与网络服务请求关联的参数和/或数据的消息,网络服务可被请求或调用。此类消息可根据特定的标记语言(如可延伸标记语言(XML))被格式化,和/或使用协议(简单对象访问协议(SOAP))来封装。为执行网络服务请求,网络服务客户端可装配包括所述请求的消息,以及使用基于因特网的应用层转移协议(如超文本传输协议(HTTP))将所述消息传达至对应于网络服务的可寻址端点(例如,统一资源定位符(URL))。
[0145]在一些实施方案中,网络服务可使用表述性状态转移(“RESTful”)技术而不是基于消息的技术来实施。例如,根据RESTful技术实施的网络服务可通过包括在HTTP方法(如PUT、GET或DELETE)内而不是封装在SOAP消息内的参数来调用。
[0146]鉴于以下条款,上述内容可更好地理解:
[0147]1.一种系统,其包括:
[0148]数据库服务的至少一个数据库引擎头节点,其被配置来:
[0149]产生链接至存储在实施分布式存储服务的多个存储节点中的一个存储节点上的多个数据页面中的特定数据页面的一个或多个重做日志记录,其中所述存储节点将用于数据库的数据存储在包括所述特定数据页面的多个数据页面中,其中所述一个或多个重做日志记录中的每一个响应于对存储在所述特定数据页面内的数据的一个或多个访问请求而产生;
[0150]向所述存储节点发送所述一个或多个重做日志记录;
[0151]所述分布式存储服务的所述存储节点,其被配置来:
[0152]存储所接收的链接至所述特定数据页面的一个或多个重做日志记录;
[0153]确定链接至所述特定数据页面的所述一个或多个重做日志记录超过合并阈值;并且
[0154]执行合并操作,其中所述合并操作包括将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面,以产生在所述特定数据页面的当前状态下的所述特定数据页面。
[0155]2.如条款I所述的系统,
[0156]其中所述存储节点进一步被配置来针对所述多个数据页面中的每一个维持重做日志记录计数;并且
[0157]其中,为了确定链接至所述特定数据页面的所述一个或多个重做日志记录超过所述合并阈值,所述至少一个计算节点进一步被配置来确定针对所述特定数据页面维持的所述重做日志记录计数超过所述合并阈值。
[0158]3.如条款2所述的系统,其中所述存储节点进一步被配置来:响应于执行所述合并操作,更新所述重做日志记录计数以将链接至所述特定数据页面的所述一个或多个重做日志记录从所述重做日志记录计数移除。
[0159]4.如条款I所述的系统,
[0160]其中所述数据库引擎头节点先前已经产生并发送链接至存储在所述存储节点上的所述多个数据页面中的另一数据页面的一个或多个其他重做日志页面;
[0161]其中所述数据库引擎头节点进一步被配置来:
[0162]在从数据库引擎头节点故障恢复之后,向所述存储节点发送对所述特定数据页面的所述当前状态和所述另一数据页面的当前状态的请求;
[0163]其中所述存储节点进一步被配置来:
[0164]从所述数据库引擎头节点接收对所述特定数据页面的所述当前状态和所述另一数据页面的所述当前状态的所述请求;并且
[0165]响应于接收对所述特定数据页面的所述请求,向所述数据库引擎头节点发送所述特定数据页面的先前产生的当前状态;
[0166]响应于接收对所述另一数据页面的所述请求:
[0167]执行合并操作以将链接至所述另一数据页面的所述一个或多个其他重做日志记录应用至先前存储版本的所述另一数据页面,以产生在所述另一数据页面的当前状态下的所述另一数据页面;并且
[0168]向所述数据库引擎头节点发送所述另一数据页面的所述当前状态。
[0169]5.一种方法,其包括:
[0170]由一个或多个计算装置执行以下各项:
[0171]维持链接至存储用于数据库的特定数据页面的一个或多个重做日志记录;
[0172]至少部分地基于链接至所述特定数据页面的所述一个或多个重做日志记录,检测所述特定数据页面的合并事件;以及
[0173]响应于检测所述特定数据页面的所述合并事件,将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面,以产生在所述特定数据页面的当前状态下的所述特定数据页面。
[0174]6.如条款5所述的方法,其中所述检测所述特定数据页面的所述合并事件不定期地发生。
[0175]7.如条款5所述的方法,其中所述检测所述特定数据页面的所述合并事件还包括:确定链接至所述特定数据页面的所述一个或多个重做日志记录超过合并阈值。
[0176]8.如条款7所述的方法,其中所述检测所述特定数据页面的所述合并事件还包括:根据用户限定的合并阈值确定所述合并阈值。
[0177]9.如条款7所述的方法,其还包括:
[0178]维持链接至存储用于所述数据库的不同数据页面的一个或多个另外重做日志记录;以及
[0179]确定链接至所述不同数据页面的所述一个或多个另外重做日志记录超过另一合并阈值,其中所述另一合并阈值不同于所述合并阈值。
[0180]10.如条款5所述的方法,其中所述一个或多个计算装置一起实现实施分布式存储服务的多个存储节点中的一个存储节点,其中所述一个或多个重做日志记录包括在多个重做日志记录中,所述多个重做日志记录各自链接至存储在所述多个存储节点上的用于所述数据库的包括所述特定数据页面的多个数据页面中的一个,其中从数据库系统接收所述多个重做日志记录。
[0181]11.如条款10所述的方法,其中所述多个存储节点中的一个或多个其他存储节点针对存储在所述一个或多个其他存储节点上的所述多个数据页面中的不同数据页面执行所述维持、所述检测和所述应用。
[0182]12.如条款12所述的方法,其中所述检测和所述应用针对存储在所述一个或多个其他数据节点上的数据页面中的所述不同数据页面在不同时间执行。
[0183]13.如条款5所述的方法,其中所述一个或多个计算装置一起实现实施分布式存储服务的多个存储节点中的一个存储节点,所述方法还包括:
[0184]响应于检测所述特定数据页面的所述合并事件:
[0185]在将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面、以产生在所述特定数据页面的当前状态下的所述特定数据页面之前,至少部分地基于由所述存储节点执行的其他进程的工作负载来延迟所述应用所述一个或多个重做日志记录的开始。
[0186]14.一种存储程序指令的非暂时性计算机可读存储介质,所述程序指令当由一个或多个计算装置执行时实施以下各项:
[0187]维持链接至存储用于数据库的特定数据页面的一个或多个重做日志记录;
[0188]确定链接至所述特定数据页面的所述一个或多个重做日志记录超过合并阈值;以及
[0189]将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面,以产生在所述特定数据页面的当前状态下的所述特定数据页面。
[0190]15.如条款14所述的非暂时性计算机可读存储介质,其中所述一个或多个计算装置一起实施分布式存储服务的存储节点,并且其中所述程序指令当由所述一个或多个计算装置执行时进一步实施:至少部分地基于所述存储节点的性能确定所述合并阈值。
[0191]16.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令当由所述一个或多个计算装置执行时进一步实施:至少部分地基于所接收的链接至所述特定数据页面的重做日志记录的频率确定所述合并阈值。
[0192]17.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令当由所述一个或多个计算装置执行时进一步实施:至少部分地基于存储空间可用性确定所述合并阈值。
[0193]18.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令当由所述一个或多个计算装置执行时进一步实施:至少部分地基于可执行所述应用所述一个或多个重做日志记录的时间确定所述合并阈值。
[0194]19.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令当由所述一个或多个计算装置执行时进一步实施:至少部分地基于链接至所述特定数据页面的所述一个或多个重做日志记录的一个或多个大小确定所述合并阈值。
[0195]20.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令当由所述一个或多个计算装置执行时进一步实施:至少部分地基于用于链接至所述特定数据页面的所述一个或多个重做日志记录的一个或多个存储位置确定所述合并阈值。
[0196]21.如条款14所述的非暂时性计算机可读存储介质,其中所述将链接至所述特定数据页面的所述一个或多个重做日志记录应用至所述先前存储版本的所述特定数据页面、以产生在所述特定数据页面的当前状态下的所述特定数据页面作为后台进程执行。
[0197]22.如条款14所述的非暂时性计算机可读存储介质,其中所述程序指令当由所述一个或多个计算装置执行时进一步被配置来:响应于将链接至所述特定数据页面的所述一个或多个重做日志记录应用至所述先前存储版本的所述特定数据页面以产生在所述特定数据页面的当前状态下的所述特定数据页面,更新针对所述特定数据页面的重做日志记录计数,以将链接至所述特定数据页面的所述一个或多个重做日志记录从所述重做日志记录计数移除。
[0198]23.如条款22所述的非暂时性计算机可读存储介质,其中所述程序指令当由一个或多个计算装置执行时实施以下各项:
[0199]接收链接至所述特定数据页面的另一重做日志记录;并且
[0200]更新针对所述特定数据页面的所述重做日志记录计数以包括链接至所述特定数据页面的所述另一重做日志记录。
[0201]如在图中所示和本文所描述的各种方法表示方法的示例性实施方案。所述方法可在软件中、在硬件中、或在其组合中手动实施。任何方法的顺序可以改变,并且各个元素可以被添加、重新排序、组合、省略、修改等。
[0202]尽管已相当详细地描述了以上实施方案,但一旦完全了解以上公开内容,各种变化和修改对所属领域的技术人员将变为显而易见。旨在以下权利要求被解释成包含所有这些修改和变化,并且相应地,以上描述应视为具有说明性而非限制性意义。
【主权项】
1.一种系统,其包括: 数据库服务的至少一个数据库引擎头节点,其被配置来: 产生链接至存储在实施分布式存储服务的多个存储节点中的一个存储节点上的多个数据页面中的特定数据页面的一个或多个重做日志记录,其中所述存储节点将用于数据库的数据存储在包括所述特定数据页面的多个数据页面中,其中所述一个或多个重做日志记录中的每一个响应于对存储在所述特定数据页面内的数据的一个或多个访问请求而产生; 向所述存储节点发送所述一个或多个重做日志记录; 所述分布式存储服务的所述存储节点,其被配置来: 存储所接收的链接至所述特定数据页面的一个或多个重做日志记录; 确定链接至所述特定数据页面的所述一个或多个重做日志记录超过合并阈值;并且执行合并操作,其中所述合并操作包括将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面,以产生在所述特定数据页面的当前状态下的所述特定数据页面。2.如权利要求1所述的系统, 其中所述存储节点进一步被配置来针对所述多个数据页面中的每一个维持重做日志记录计数;并且 其中,为了确定链接至所述特定数据页面的所述一个或多个重做日志记录超过所述合并阈值,所述至少一个计算节点进一步被配置来确定针对所述特定数据页面维持的所述重做日志记录计数超过所述合并阈值。3.如权利要求2所述的系统,其中所述存储节点进一步被配置来:响应于执行所述合并操作,更新所述重做日志记录计数以将链接至所述特定数据页面的所述一个或多个重做日志记录从所述重做日志记录计数移除。4.如权利要求1所述的系统, 其中所述数据库引擎头节点先前已经产生并发送链接至存储在所述存储节点上的所述多个数据页面中的另一数据页面的一个或多个其他重做日志页面; 其中所述数据库引擎头节点进一步被配置来: 在从数据库引擎头节点故障恢复之后,向所述存储节点发送对所述特定数据页面的所述当前状态和所述另一数据页面的当前状态的请求; 其中所述存储节点进一步被配置来: 从所述数据库引擎头节点接收对所述特定数据页面的所述当前状态和所述另一数据页面的所述当前状态的所述请求;并且 响应于接收对所述特定数据页面的所述请求,向所述数据库引擎头节点发送所述特定数据页面的先前产生的当前状态; 响应于接收对所述另一数据页面的所述请求: 执行合并操作以将链接至所述另一数据页面的所述一个或多个其他重做日志记录应用至先前存储版本的所述另一数据页面,以产生在所述另一数据页面的当前状态下的所述另一数据页面;并且 向所述数据库引擎头节点发送所述另一数据页面的所述当前状态。5.一种方法,其包括: 由一个或多个计算装置执行以下各项: 维持链接至存储用于数据库的特定数据页面的一个或多个重做日志记录; 至少部分地基于链接至所述特定数据页面的所述一个或多个重做日志记录,检测所述特定数据页面的合并事件;以及 响应于检测所述特定数据页面的所述合并事件,将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面,以产生在所述特定数据页面的当前状态下的所述特定数据页面。6.如权利要求5所述的方法,其中所述检测所述特定数据页面的所述合并事件不定期地发生。7.如权利要求5所述的方法,其中所述检测所述特定数据页面的所述合并事件还包括:确定链接至所述特定数据页面的所述一个或多个重做日志记录超过合并阈值。8.如权利要求7所述的方法,其中所述检测所述特定数据页面的所述合并事件还包括:根据用户限定的合并阈值确定所述合并阈值。9.如权利要求7所述的方法,其还包括: 维持链接至存储用于所述数据库的不同数据页面的一个或多个另外重做日志记录;以及 确定链接至所述不同数据页面的所述一个或多个另外重做日志记录超过另一合并阈值,其中所述另一合并阈值不同于所述合并阈值。10.如权利要求5所述的方法,其中所述一个或多个计算装置一起实现实施分布式存储服务的多个存储节点中的一个存储节点,其中所述一个或多个重做日志记录包括在多个重做日志记录中,所述多个重做日志记录各自链接至存储在所述多个存储节点上的用于所述数据库的包括所述特定数据页面的多个数据页面中的一个,其中从数据库系统接收所述多个重做日志记录。11.如权利要求10所述的方法,其中所述多个存储节点中的一个或多个其他存储节点针对存储在所述一个或多个其他存储节点上的所述多个数据页面中的不同数据页面执行所述维持、所述检测和所述应用。12.如权利要求7所述的方法,其中所述检测和所述应用针对存储在所述一个或多个其他数据节点上的数据页面中的所述不同数据页面在不同时间执行。13.如权利要求5所述的方法,其中所述一个或多个计算装置一起实现实施分布式存储服务的多个存储节点中的一个存储节点,所述方法还包括: 响应于检测所述特定数据页面的所述合并事件: 在将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面、以产生在所述特定数据页面的当前状态下的所述特定数据页面之前,至少部分地基于由所述存储节点执行的其他进程的工作负载来延迟所述应用所述一个或多个重做日志记录的开始。14.一种系统,其包括: 一个或多个处理器;以及 一个或多个存储器,所述一个或多个存储器存储程序指令,所述程序指令当由一个或多个处理器执行时实施以下各项: 维持链接至存储用于数据库的特定数据页面的一个或多个重做日志记录; 确定链接至所述特定数据页面的所述一个或多个重做日志记录超过合并阈值;以及将链接至所述特定数据页面的所述一个或多个重做日志记录应用至先前存储版本的所述特定数据页面,以产生在所述特定数据页面的当前状态下的所述特定数据页面。15.如权利要求14所述的系统,其中所述程序指令当由所述一个或多个处理器执行时进一步被配置来:响应于将链接至所述特定数据页面的所述一个或多个重做日志记录应用至所述先前存储版本的所述特定数据页面以产生在所述特定数据页面的当前状态下的所述特定数据页面,更新针对所述特定数据页面的重做日志记录计数,以将链接至所述特定数据页面的所述一个或多个重做日志记录从所述重做日志记录计数移除。
【专利摘要】一种数据库系统可将多个日志记录维持在分布式存储系统处。所述多个日志记录中的每一个可与对数据页面的相应改变相关联。在检测特定数据页面的合并事件之后,可应用链接至所述特定数据页面的日志记录以产生在所述特定数据页面的当前状态下的所述特定数据页面。检测所述合并事件可以是确定链接至所述特定数据页面的日志记录的数目超过阈值。
【IPC分类】G06F17/30
【公开号】CN105210062
【申请号】CN201480025666
【发明人】A·W·古普塔, P·J·马德哈瓦拉普, L·D·伯彻尔, N·法罕
【申请人】亚马逊科技公司
【公开日】2015年12月30日
【申请日】2014年3月13日
【公告号】CA2907086A1, EP2973055A1, US20140279931, WO2014151260A1
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1