用于处理写请求的系统、计算节点和方法技术方案

技术编号:32508471 阅读:16 留言:0更新日期:2022-03-02 10:46
本发明专利技术公开的计算节点包括处理器和存储指令的非瞬时性存储介质。所述处理器可执行所述指令。本发明专利技术还公开了一种方法和一种系统。所述方法包括:根据相同的数据位置标识符,选择包括与接收到的写请求对应的多个传统重做记录的子集;将所选子集中的所述多个传统重做记录合并为一个合并重做记录;将所述合并重做记录发送到目标节点进行处理。记录发送到目标节点进行处理。记录发送到目标节点进行处理。

【技术实现步骤摘要】
【国外来华专利技术】用于处理写请求的系统、计算节点和方法
[0001]相关申请交叉引用
[0002]本申请要求于2019年10月1日提交的申请号为16/590,078、专利技术名称为“用于处理写请求的系统、计算节点和方法(SYSTEM,COMPUTING NODE AND METHOD FOR PROCESSING WRITE REQUESTS)”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0003]本专利技术大体上涉及数据库领域,尤其涉及一种用于处理写请求的系统、计算节点和方法。

技术介绍

[0004]在分布式在线交易处理(on

line transaction processing,OLTP)中,多个交易生成用于插入、更新或删除存储在数据库中的数据的请求。重做日志包括存储对数据库进行的所有更改的重做记录,因此在数据库损坏时充当数据库中数据的真实副本。因此,重做日志是恢复操作的关键结构。为了持续保持数据库中的数据与副本数据库(即数据库的副本)中的数据一致,需要在计算节点和主节点之间尽快处理和传输重做日志。

技术实现思路

[0005]本专利技术的目的是提供一种用于处理写请求的技术。
[0006]根据这一目的,本专利技术的一方面提供了一种计算节点。所述计算节点包括处理器和存储指令的非瞬时存储介质。所述处理器可执行所述指令以:接收用于修改数据库中的一个或多个页面的多个写请求;为所述多个写请求中的每个写请求生成包括一个重做记录的多个重做记录;选择包括所述多个重做记录的子集,其中,所述子集中的每个重做记录包括相同的数据位置标识符;将所述子集中的所述多个重做记录合并为一个合并重做记录;将所述合并重做记录发送到目标节点。
[0007]所述数据位置标识符可以包括页面标识符。所述数据位置标识符还可以包括用于标识空间的空间标识符,所述页面标识符可以标识所述空间内的页面。
[0008]所述多个重做记录中的每个重做记录可以包括各自的数据位置标识符和包括写数据的内容;所述合并重做记录可以包括所述相同的数据位置标识符的单个实例和所述子集中的所述多个重做记录的信息,其中,所述信息包括所述子集中的所述多个重做记录的内容但不包括所述子集中的所述多个重做记录的各自数据位置标识符。
[0009]所述合并重做记录还可以包括总长度值,指示所述子集中合并为所述合并重做记录的所述多个重做记录的信息的合并长度。
[0010]所述多个重做记录中的每个重做记录可以包括用于指示每个重做记录的类型的类型指示符;所述子集中包括在所述合并重做记录中的所述多个重做记录的信息可以包括所述子集中的所述多个重做记录的类型指示符。
[0011]所述多个重做记录中的每个重做记录可以包括各自的长度值,指示所述每个重做
记录的内容的长度;所述子集中包括在所述合并重做记录中的所述多个重做记录的信息可以包括所述子集中的所述多个重做记录的各自长度值。
[0012]所述多个重做记录中的每个重做记录可以包括指示所述每个重做记录的类型的类型指示符、各自的数据位置标识符、各自的长度值和包括写数据的内容;所述合并重做记录可以包括所述相同的数据位置标识符的单个实例、指示所述子集中合并为所述合并重做记录的所述多个重做记录的信息的合并长度的总长度值以及多个段,其中,所述多个段中的每个段包括(i)所述类型指示符、(ii)各自的长度值和(iii)所述子集中的对应重做记录的内容,所述多个段中的每个段不包括所述对应重做记录的数据位置标识符。
[0013]所述指令可以在所述处理器上执行以:将所述子集中的第一重做记录的第一值和所述子集中的第二重做记录的第二值合并为包括在所述合并重做记录的一段中的合并值,其中,所述第一值表示对页面中的第一偏移的第一写操作,所述第二值表示对所述页面中的第二偏移的第二写操作,所述合并值表示所述第一写操作和所述第二写操作的合并。
[0014]所述指令可以在所述处理器上执行以:接收用于修改所述数据库中的一个或多个页面的其它写请求;为所述其它写请求生成其它重做记录;如果所述其它重做记录包括所述相同的数据位置标识符,并且如果已经合并到所述合并重做记录中的重做记录的数量小于可合并到所述合并重做记录中的重做记录的指定阈值数量,则将所述其它重做记录合并到所述合并重做记录中。
[0015]所述计算节点可以是用于处理写请求的主计算节点,所述目标节点可以是复制所述数据库所在的副本计算节点。
[0016]根据本专利技术的其它方面,提供了一种用于处理写请求的方法。所述方法包括:在计算节点处接收所述用于修改数据库中的一个或多个页面的多个写请求;在所述计算节点处为所述多个写请求中的每个写请求生成包括一个重做记录的多个重做记录;在所述计算节点处为所述多个写请求中的每个写请求生成包括一个重做记录的多个重做记录;选择包括所述多个重做记录的子集,其中,所述子集中的每个重做记录包括相同的数据位置标识符;在所述计算节点处将所述子集中的所述多个重做记录合并为一个合并重做记录;将所述合并重做记录从所述计算节点发送到目标节点。
[0017]所述数据位置标识符可以包括页面标识符。所述数据位置标识符还可以包括用于标识空间的空间标识符,所述页面标识符可以标识所述空间内的页面。
[0018]所述多个重做记录中的每个重做记录可以包括各自的数据位置标识符和包括写数据的内容;所述合并重做记录可以包括所述相同的数据位置标识符的单个实例和所述子集中的所述多个重做记录的信息,其中,所述信息包括所述子集中的所述多个重做记录的内容但不包括所述子集中的所述多个重做记录的各自数据位置标识符。
[0019]所述合并重做记录还可以包括总长度值,指示所述子集中合并为所述合并重做记录的所述多个重做记录的信息的合并长度。
[0020]所述多个重做记录中的每个重做记录可以包括用于指示所述每个重做记录的类型的类型指示符;所述子集中包括在所述合并重做记录中的所述多个重做记录的信息可以包括所述子集中的所述多个重做记录的类型指示符。
[0021]所述多个重做记录中的每个重做记录可以包括各自的长度值,指示所述每个重做记录的内容的长度;所述子集中包括在所述合并重做记录中的所述多个重做记录的信息可
以包括所述子集中的所述多个重做记录的各自长度值。
[0022]所述多个重做记录中的每个重做记录可以包括指示所述每个重做记录的类型的类型指示符、各自的数据位置标识符、各自的长度值和包括写数据的内容;所述合并重做记录可以包括所述相同的数据位置标识符的单个实例、指示所述子集中合并为所述合并重做记录的所述多个重做记录的信息的合并长度的总长度值以及多个段,其中,所述多个段中的每个段包括(i)所述类型指示符、(ii)各自的长度值和(iii)所述子集中的对应重做记录的内容,所述多个段中的每个段不包括所述对应重做记录的数据位置标识符。
[0023]所述指令可以在所述处理器上执行以:将所述子集中的第一重做记录的第一值和所述子集中的第二重做记录的第二值合并为包括在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种计算节点,其特征在于,所述计算节点包括:处理器,存储指令的非瞬时性存储介质,其中,所述处理器可执行所述指令以:接收用于修改数据库中的一个或多个页面的多个写请求;为所述多个写请求中的每个写请求生成包括一个重做记录的多个重做记录;选择包括所述多个重做记录的子集,其中,所述子集中的每个重做记录包括相同的数据位置标识符;将所述子集中的所述多个重做记录合并为一个合并重做记录;将所述合并重做记录发送到目标节点。2.根据权利要求1所述的计算节点,其特征在于,所述数据位置标识符包括页面标识符。3.根据权利要求2所述的计算节点,其特征在于,所述数据位置标识符还包括用于标识空间的空间标识符,所述页面标识符标识所述空间内的页面。4.根据权利要求1至3中任一项所述的计算节点,其特征在于,所述多个重做记录中的每个重做记录包括:各自的数据位置标识符和包括写数据的内容;所述合并重做记录包括:所述相同的数据位置标识符的单个实例和所述子集中的所述多个重做记录的信息,其中,所述信息包括所述子集中的所述多个重做记录的内容但不包括所述子集中的所述多个重做记录的各自数据位置标识符。5.根据权利要求4所述的计算节点,其特征在于,所述合并重做记录还包括总长度值,指示所述子集中合并为所述合并重做记录的所述多个重做记录的信息的合并长度。6.根据权利要求4所述的计算节点,其特征在于,所述多个重做记录中的每个重做记录包括用于指示所述每个重做记录的类型的类型指示符;所述子集中包括在所述合并重做记录中的所述多个重做记录的信息包括所述子集中的所述多个重做记录的类型指示符。7.根据权利要求4所述的计算节点,其特征在于,所述多个重做记录中的每个重做记录包括各自的长度值,指示所述每个重做记录的内容的长度;所述子集中包括在所述合并重做记录中的所述多个重做记录的信息包括所述子集中的所述多个重做记录的各自长度值。8.根据权利要求1至3中任一项所述的计算节点,其特征在于,所述多个重做记录中的每个重做记录包括指示所述每个重做记录的类型的类型指示符、各自的数据位置标识符、各自的长度值和包括写数据的内容;所述合并重做记录包括所述相同的数据位置标识符的单个实例、指示所述子集中合并为所述合并重做记录的所述多个重做记录的信息的合并长度的总长度值以及多个段,其中,所述多个段中的每个段包括(i)所述类型指示符、(ii)各自的长度值和(iii)所述子集
中的对应重做记录的内容,所述多个段中的每个段不包括所述对应重做记录的数据位置标识符。9.根据权利要求1至3中任一项所述的计算节点,其特征在于,所述处理器执行所述指令以:将所述子集中的第一重做记录的第一值和所述子集中的第二重做记录的第二值合并为包括在所述合并重做记录的一段中的合并值,其中,所述第一值表示对页面中的第一偏移的第一写操作,所述第二值表示对所述页面中的第二偏移的第二写操作,所述合并值表示所述第一写操作和所述第二写操作的合并。10.根据权利要求1至3中任一项所述的计算节点,其特征在于,所述处理器执行所述指令以:接收用于修改所述数据库中的一个或多个页面的其它写请求;为所述其它写请求生成其它重做记录;如果所述其它重做记录包括所述相同的数据位置标识符,并且如果已经合并到所述合并重做记录中的重做记录的数量小于可合并到所述合并重做记录中的重做记录的指定阈值数量,则将所述其它重做记录合并到所述合并重做记录中。11.根据权利要求1至3中任一项所述的计算节点,其特征在于,所述计算节点是用于处理写请求的主计算节点,所述目标节点是复制所述数据库所在的副本计算节点。12.一种方法,其特征在于,所述方法包括:在计算节点处接收用于修改数据库中的一个或多个页面的多个写请求;在所述计算节点处为所述多个写请求中的每个写请求生成包括一个重做记录的多个重做记录;选择包括所述多个重做记录的子集,其中,所述子集中的每个重做记录包括相同的数据位置标识符;在所述计算节点处将所述子集中的所述多个重做记录合并为一个合并重做记录;将所述合并重做记录从所述计算节点发送到目标节点。13.根据权利要求12所述的方法,其特征在于,所述数据位置标识符包括页面标识符。14.根据权利要求13所述的方法,其特征在于,所述数据位置标识符还包括用于标识空间的空间标识符,所述页面标识符标识所述空间内的页面...

【专利技术属性】
技术研发人员:薛洵章华欣陈育群马文斌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1