为基于云的数据库生成重做记录的方法和装置制造方法及图纸

技术编号:33804506 阅读:14 留言:0更新日期:2022-06-16 10:11
描述了基于云的数据库管理系统中的方法和装置。数据库中的数据存储在所述数据库的页面存储区内的多个页面中。接收多个重做日志记录以应用于所述数据库。对预定义边界内的所述重做日志记录进行解析,以针对每个给定重做日志记录确定要应用所述给定日志记录的对应页面。按对应页面对所述重做日志记录进行重新排序。存储所述重新排序的重做日志记录,以应用于所述数据库的所述页面存储区。于所述数据库的所述页面存储区。于所述数据库的所述页面存储区。

【技术实现步骤摘要】
【国外来华专利技术】为基于云的数据库生成重做记录的方法和装置
[0001]相关申请案
[0002]本申请要求于2019年12月31日提交的申请号为16/731,880、专利技术名称为“为基于云的数据库生成重做记录的方法和装置(METHODS AND APPARATUSES FOR GENERATING REDO RECORDS FOR CLOUD

BASED DATABASE)”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0003]本专利技术涉及为基于云的数据库生成记录的系统和方法。

技术介绍

[0004]云计算是一种基于网络的计算(例如,基于互联网的计算),它能够访问可配置计算资源共享池和更高级别的服务,通常这些资源和服务可通过互联网快速提供,而只需最少的管理工作。云计算是继从基于大型机的计算向基于客户端

服务器的计算转变之后的另一行为方式的转变,并作为服务实现。云计算服务提供商通常通过按需创建供客户使用的虚拟机,来提供三种主要类型的服务(以下称为云计算服务):基础设施即服务(infrastructure as a service,IaaS)、平台即服务(platform as a service,PaaS)和软件即服务(software as a service,SaaS)。IaaS提供了可供客户租用和使用的计算基础设施。计算基础设施包括虚拟化和在客户之间共享的物理计算资源(例如处理器、内存、存储器、服务器、网络组件等)。PaaS提供了一个平台,使客户能够开发、运行和管理软件应用,而无需构建和维护计算基础设施。SaaS通过互联网以订阅的方式按需提供在计算基础设施上运行的软件应用。
[0005]通常,云计算服务提供商提供的一种云计算服务是呈数据库服务。数据库服务是一种PaaS,它使云计算服务提供商能够向客户提供安全、经济高效的企业级数据库。在数据库服务中,多个不同的实体(例如,不同的主服务器)可修改数据库(例如,使用写操作来修改数据)。为了跟踪对数据库所做的更改,描述更改的信息通常作为重做日志记录存储在重做日志中。因此,重做日志包含描述对数据库内容所做的所有更改的历史记录的信息,这些信息可用于重建数据库的内容(例如,在发生故障时)。重做日志记录还可用于确保数据库的副本正确反映原始数据库(或主数据库)中包含的数据。然而,当存在大量更改时,维护重做日志记录位置所需的内存资源可能会很大。
[0006]因此,提供一种以较低内存需求生成重做日志记录的方法将非常有用。

技术实现思路

[0007]本专利技术描述了按对应页面对重做日志记录进行重新排序和分组的示例,这可以有助于减少内存资源和处理资源的消耗。本专利技术描述了可以在不对数据库正确性产生负面影响的情况下进行这种重新排序的示例。此外,本专利技术还描述了选择用于对重做日志记录进行重新排序和分组的预定义边界的示例。
[0008]在一些示例中,用于对重做日志记录进行重新排序和分组的所述预定义边界可以基于迷你事务边界。通过选择所述预定义边界,使得属于同一迷你事务的重做日志记录不会跨越所述预定义边界,可以保持所述数据库的正确性。可以选择较大的边界(例如,组刷新缓冲区边界)作为所述预定义边界,这可以减少资源消耗。
[0009]在一些示例中,例如,通过使用本文所述的合并重做日志记录(其将两个或多个重做日志记录合并为单个合并重做日志记录)和/或组合重做日志记录(其包含两个或多个重做日志记录作为单个组合重做日志记录的内容),可以额外节省内存和/或处理资源。
[0010]在一些方面,本专利技术描述了一种基于云的数据库管理系统中的方法。所述方法包括:接收多个重做日志记录以应用于数据库,所述数据库中的数据存储在所述数据库的页面存储区内的多个页面中;对预定义边界内的所述多个重做日志记录进行解析,以针对每个给定重做日志记录确定要应用所述给定重做日志记录的对应页面;按对应页面对所述多个重做日志记录进行重新排序;存储所述重新排序的重做日志记录,以应用于所述数据库的所述页面存储区。
[0011]在一些方面,本专利技术描述了一种计算机可读介质,所述计算机可读介质上存储有将由基于云的数据库中的处理器执行的指令。当执行所述指令时,所述指令使得在所述基于云的数据库的存储抽象层中执行以下操作:接收多个重做日志记录以应用于数据库,所述数据库中的数据存储在所述数据库的页面存储区内的多个页面中;对预定义边界内的所述多个重做日志记录进行解析,以针对每个给定重做日志记录确定要应用所述给定重做日志记录的对应页面;按对应页面对所述多个重做日志记录进行重新排序;存储所述重新排序的重做日志记录,以应用于所述数据库的所述页面存储区。
[0012]在任一所述示例中,可以对所述多个重做日志记录进行重新排序,以基于同一页面标识符将两个或多个重做日志记录组合在一起。
[0013]在任一所述示例中,所述方法可以包括(或所述指令还可以使得执行以下操作):针对与同一给定页面对应的两个或多个重做日志记录的给定组,生成合并重做日志记录,所述合并重做日志记录是以所述两个或多个重做日志记录为内容的单个重做日志记录。
[0014]在任一所述示例中,所述合并重做日志记录可以包括报头,所述报头包含标识所述给定页面的信息。
[0015]在任一所述示例中,所述方法可包括(或所述指令还可使得执行以下操作):在所述合并重做日志记录中,标识至少两个重做日志记录以应用于所述给定页面;确定组合重做日志记录,当应用于所述给定页面时,所述组合重做日志记录实现所述给定页面的状态变更,所述状态变更相当于所述至少两个重做日志记录实现的所述给定页面的累积状态变更;在所述合并重做日志记录的内容中,将所述标识的至少两个重做日志记录替换为所述组合重做日志记录。
[0016]在任一所述示例中,所述方法可包括(或所述指令还可使得执行以下操作):针对与同一给定页面对应的两个或多个重做日志记录的给定组,标识至少两个重做日志记录以应用于所述给定页面;确定组合重做日志记录,当应用于所述给定页面时,所述组合重做日志记录实现所述给定页面的状态变更,所述状态变更相当于所述至少两个重做日志记录实现的所述给定页面的累积状态变更;其中,所述标识的至少两个重做日志记录被替换为所述组合重做日志记录。
[0017]在任一所述示例中,所述方法(或所述计算机可读介质)可以在所述基于云的数据库内的存储抽象层(storage abstraction layer,SAL)中执行,并且所述重新排序的重做日志记录存储在缓冲区中并被传输以应用于所述页面存储区。
[0018]在任一所述示例中,所述方法(或所述计算机可读介质)可以在所述基于云的数据库内的存储层中执行,并且所述页面存储区位于所述基于云的数据库内的所述存储层中。
[0019]在任一所述示例中,所述预定义边界可以包括与迷你事务(mini

transaction,MTR)边界重合的预定义起始边界,并且可以包括与相同或不同MTR边界重合的预定义结束本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种基于云的数据库中的方法,其特征在于,所述方法包括:接收多个重做日志记录以应用于数据库,所述数据库中的数据存储在页面存储区内的多个页面中;对预定义边界内的所述多个重做日志记录进行解析,以针对每个给定重做日志记录确定要应用所述给定重做日志记录的对应页面;按对应页面对所述多个重做日志记录进行重新排序;存储所述重新排序的重做日志记录,以应用于所述数据库的所述页面存储区。2.根据权利要求1所述的方法,其特征在于,对所述多个重做日志记录进行重新排序,以基于同一页面标识符将两个或多个重做日志记录组合在一起。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对与同一给定页面对应的两个或多个重做日志记录的给定组,生成合并重做日志记录,所述合并重做日志记录是以所述两个或多个重做日志记录为内容的单个记录。4.根据权利要求3所述的方法,其特征在于,所述合并重做日志记录包括报头,所述报头包含标识所述给定页面的信息。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述合并重做日志记录中,标识至少两个重做日志记录以应用于所述给定页面;确定组合重做日志记录,当应用于所述给定页面时,所述组合重做日志记录实现所述给定页面的状态变更,所述状态变更相当于所述至少两个重做日志记录实现的所述给定页面的累积状态变更;在所述合并重做日志记录的内容中,将所述标识的至少两个重做日志记录替换为所述组合重做日志记录。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:针对与同一给定页面对应的两个或多个重做日志记录的给定组,标识至少两个重做日志记录以应用于所述给定页面;确定组合重做日志记录,当应用于所述给定页面时,所述组合重做日志记录实现所述给定页面的状态变更,所述状态变更相当于所述至少两个重做日志记录实现的所述给定页面的累积状态变更;其中,所述标识的至少两个重做日志记录被替换为所述组合记录。7.根据权利要求1所述的方法,其特征在于,所述方法在所述基于云的数据库内的存储抽象层(storage abstraction layer,SAL)中执行,并且所述重新排序的重做日志记录存储在缓冲区中以用于传输,以便应用于所述页面存储区。8.根据权利要求1所述的方法,其特征在于,所述方法在所述基于云的数据库内的存储层中执行,并且所述页面存储区位于所述基于云的数据库内的所述存储层中。9.根据权利要求1所述的方法,其特征在于,所述预定义边界包括与迷你事务(mini

transaction,MTR)边界重合的预定义起始边界,并且包括与相同或不同MTR边界重合的预定义结束边界。10.根据权利要求9所述的方法,其特征在于,所述预定义起始边界与第一MTR边界的起点重合,并且所述预定义结束边界与所述第一MTR边界的终点重合。11.根据权利要求9所述的方法,其特征在于,所述预定义起始边界与第一MTR边界的起
点重合,并且所...

【专利技术属性】
技术研发人员:陈瑾亚历山大
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1