高吞吐量流数据的同步复制制造技术

技术编号:38372247 阅读:15 留言:0更新日期:2023-08-05 17:35
一种同步复制流数据的方法(500),包括接收数据块流(22)用于存储在与第一地理地区相关联的第一存储位置(210)以及与第二地理地区相关联的第二存储位置。该方法还包括将数据块流同步写入所述第一存储位置和所述第二存储位置,并确定在所述第二存储位置处不可恢复的故障。该方法还包括确定所述数据块流的所述写入中的故障点(220),所述故障点(220)划分成功写入所述第二存储地址和未成功写入到所述第二存储位置的数据块。方法还包括从故障点开始向所述第一存储位置和与第三地理地区相关联的第三存储位置同步写入所述数据块流。的第三存储位置同步写入所述数据块流。的第三存储位置同步写入所述数据块流。

【技术实现步骤摘要】
【国外来华专利技术】高吞吐量流数据的同步复制


[0001]本公开涉及高吞吐量(throughput)流数据的同步复制。

技术介绍

[0002]随着云中大量数据的存储变得越来越普遍,云计算也越来越受欢迎。对数据的稳健存储的需求也已经增长,以保护存储在云中的越来越大量的数据。一些云服务提供商通过在不同地理区域的多个存储位置处异步存储数据来提高云数据存储的鲁棒性。例如,在将数据写入到第一区域中的第一或主存储位置之后,然后将数据写入到第二区域中的次存储位置。在这些不同的存储位置存储数据允许用户在其中一个存储位置无法访问的情况下恢复他们的数据。对于某些数据,例如任务关键应用,数据丢失是不可容忍的。

技术实现思路

[0003]本公开的一个方面提供了一种同步复制高吞吐量流数据的方法。该方法包括在数据处理硬件处接收数据块流,所述数据块流用于存储在分布式存储系统的第一存储位置和所述分布式存储系统的第二存储位置。所述第一存储位置与第一地理地区相关联,第二存储位置与不同于所述第一地理地区的第二地理地区相关联。方法还包括由所述数据处理硬件将所述数据块流同步写入所述第一存储位置和所述第二存储位置。在将所述数据块流同步写入到所述第一存储位置和所述第二存储位置时,方法包括由所述数据处理硬件确定在所述第二存储位置处不可恢复的故障,所述不可恢复的故障禁止将所述数据块流进一步写入到所述第二存储位置。方法还包括由所述数据处理硬件确定所述数据块流的所述写入中的故障点,所述故障点划分成功写入所述第二存储位置的数据块和未成功写入所述第二存储位置的数据块。方法还包括由所述数据处理硬件从所述故障点开始,向所述分布式存储系统的所述第一存储位置和第三存储位置同步写入所述数据块流。所述第三存储位置与不同于所述第一地理地区和所述第二地理地区的第三地理地区相关联。
[0004]本公开的实现可以包括以下可选特征中的一个或多个。在一些实施方式中,该方法还包括:由所述数据处理硬件从所述数据块流的开始点向所述故障点异步写入所述数据块流到所述第三存储位置。在一些示例中,确定在所述第二存储位置处所述不可恢复的故障,所述不可恢复的故障禁止将所述数据块流进一步写入到所述第二存储位置包括:确定将所述数据块流写入所述第二存储位置失败;响应于确定将所述数据块流写入所述第二存储位置失败,重试将所述数据块流写入所述第二存储位置;以及当重试将所述数据块流写入所述第二存储位置失败时,确定所述失败是不可恢复的失败。
[0005]可选地,确定所述数据块流的所述写入中的故障点包括确定第一复制日志是否可用,所述第一复制日志可用于指示所述数据块已被成功提交到所述第一存储位置;确定第二复制日志是否可用,所述第二复制日志可用于指示所述数据块已被成功提交到所述第二存储位置;当所述第一复制日志和所述第二复制日志可用时,基于所述第一复制日志的长度和所述第二复制日志的长度,调和所述第一复制日志和所述第二复制日志。在一些示例
中,调和所述第一复制日志和所述第二复制日志包括确定与所述不可恢复的故障相关联的所述第二复制日志的索引;将所述第二复制日志的所述索引存储在与所述数据处理硬件通信的存储器硬件上;完成所述第二复制日志以禁止对所述第二存储位置的进一步写入;以及生成提示文件以指示需要调和。在其它示例中,当所述第一复制日志可用且所述第二复制日志不可用时,该方法还包括所述数据处理硬件基于所述第一复制日志的长度,调和所述第一复制日志和所述第二复制日志。当所述第一复制日志不可用并且所述第二复制日志可用时,该方法还可以包括由所述数据处理硬件基于所述第二复制日志的长度,调和所述第一复制日志和所述第二复制日志。
[0006]在一些实施方式中,所述方法还包括:由所述数据处理硬件生成包括时间戳的第一复制日志,所述时间戳指示何时将每个数据块写入所述第一存储位置;以及由所述数据处理硬件生成包括时间戳的第二复制日志,所述时间戳指示何时将每个数据块写入所述第二存储位置。在这些实施方式中,该方法还包括:在所述数据处理硬件处接收查询请求,请求返回存储在所述第一存储位置的多个数据块;由所述数据处理硬件基于所述第一复制日志的长度和所述第二复制日志的长度调和所述第一复制日志和所述第二复制日志;以及由所述数据处理硬件基于所述第一复制日志和所述第二复制日志的所述调和返回所请求的所述多个数据块。可选地,调和所述第一复制日志和所述第二复制日志包括:确定所述第二复制日志的长度不可用;以及在阈值时间段内确定将后续写入添加到所述第一复制日志。
[0007]本公开的另一方面提供了一种用于同步复制高吞吐量流数据的系统。该系统包括数据处理硬件和与所述数据处理硬件通信的存储器硬件。所述存储器硬件存储指令,所述指令在所述数据处理硬件上执行时使所述数据处理硬件执行以下操作。所述操作包括接收数据块流,所述数据块流用于存储在分布式存储系统的第一存储位置和所述分布式存储系统的第二存储位置。所述第一存储位置与第一地理地区相关联,第二存储位置与不同于所述第一地理地区的第二地理地区相关联。所述操作还包括将所述数据块流同步写入所述第一存储位置和所述第二存储位置。在将所述数据块流同步写入到所述第一存储位置和所述第二存储位置时,所述操作包括确定在所述第二存储位置处不可恢复的故障,所述不可恢复的故障禁止将所述数据块流进一步写入到所述第二存储位置。所述操作还包括确定所述数据块流的所述写入中的故障点。所述故障点划分成功写入所述第二存储位置的数据块和未成功写入所述第二存储位置的数据块。所述操作还包括从所述故障点开始,向所述分布式存储系统的所述第一存储位置和第三存储位置同步写入所述数据块流。所述第三存储位置与不同于所述第一地理地区和所述第二地理地区的第三地理地区相关联。
[0008]本公开的实现可以包括以下可选特征中的一个或多个。在一些实施方式中,操作还包括从所述数据块流的开始点向所述故障点异步写入所述数据块流到所述第三存储位置。在一些示例中,确定在所述第二存储位置处所述不可恢复的故障,所述不可恢复的故障禁止将所述数据块流进一步写入到所述第二存储位置的包括:确定将所述数据块流写入所述第二存储位置失败;响应于确定将所述数据块流写入所述第二存储位置失败,重试将所述数据块流写入所述第二存储位置;以及当重试将所述数据块流写入所述第二存储位置失败时,确定所述失败是不可恢复的失败。
[0009]可选地,确定所述数据块流的所述写入中的故障点包括确定第一复制日志是否可用,所述第一复制日志可用指示所述数据块已被成功提交到所述第一存储位置;确定第二
复制日志是否可用,所述第二复制日志可用指示所述数据块已被成功提交到所述第二存储位置;当所述第一复制日志和所述第二复制日志可用时,基于所述第一复制日志的长度和所述第二复制日志的长度,调和所述第一复制日志和所述第二复制日志。在一些示例中,调和所述第一复制日志和所述第二复制日志包括确定与所述不可恢复的故障相关联的所述第二复制日志的索引;将所述第二复制日志的所述索引存储在与所述数据处理硬件通信的存储器硬件上;完成所述第二复制日志以禁止对所述第二存储位置的进一步写入;以及生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种方法(500),其特征在于,包括:在数据处理硬件(144)处接收数据块流(22),所述数据块流存储在分布式存储系统(140)的第一存储位置(210)和所述分布式存储系统(140)的第二存储位置(210),所述第一存储位置(210)与第一地理地区相关联,第二存储位置(210)与不同于所述第一地理地区的第二地理地区相关联;由所述数据处理硬件(144)将所述数据块流(22)同步写入所述第一存储位置(210)和所述第二存储位置(210);在将所述数据块流(22)同步写入到所述第一存储位置(210)和所述第二存储位置(210)时,由所述数据处理硬件(144)确定在所述第二存储位置(210)处不可恢复的故障,所述不可恢复的故障禁止将所述数据块流(22)进一步写入到所述第二存储位置(210);由所述数据处理硬件(144)确定所述数据块流(22)的所述写入中的故障点(220),所述故障点(220)划分成功写入所述第二存储位置(210)的数据块(22)和未成功写入所述第二存储位置(210)的数据块(22);以及由所述数据处理硬件(144)从所述故障点(220)开始,向所述分布式存储系统(140)的所述第一存储位置(210)和第三存储位置(210)同步写入所述数据块流(22),所述第三存储位置(210)与不同于所述第一地理地区和所述第二地理地区的第三地理地区相关联。2.根据权利要求1所述的方法(500),其特征在于,还包括由所述数据处理硬件(144)从所述数据块流(22)的开始点向所述故障点(220)异步写入所述数据块流(22)到所述第三存储位置(210)。3.根据权利要求1或2所述的方法(500),其特征在于,确定在所述第二存储位置(210)处所述不可恢复的故障,所述不可恢复的故障禁止将所述数据块流(22)进一步写入到所述第二存储位置(210)包括:确定将所述数据块流(22)写入所述第二存储位置(210)失败;响应于确定将所述数据块流(22)写入所述第二存储位置(210)失败,重试将所述数据块流(22)写入所述第二存储位置(210);以及当重试将所述数据块流(22)写入所述第二存储位置(210)失败时,确定所述失败是不可恢复的失败。4.根据权利要求1

3中任一项所述的方法(500),其特征在于,确定所述数据块流(22)的所述写入中的故障点(220)包括:确定第一复制日志(310)是否可用,所述第一复制日志(310)可用于指示所述数据块(22)已被成功提交到所述第一存储位置(210);确定第二复制日志(310)是否可用,所述第二复制日志(310)可用于指示所述数据块(22)已被成功提交到所述第二存储位置(210);以及当所述第一复制日志(310)和所述第二复制日志(310)可用时,基于所述第一复制日志(310)的长度和所述第二复制日志(310)的长度,调和所述第一复制日志(310)和所述第二复制日志(310)。5.根据权利要求4所述的方法(500),其特征在于,调和所述第一复制日志(310)和所述第二复制日志(310)包括:确定与所述不可恢复的故障相关联的所述第二复制日志(310)的索引;
将所述第二复制日志(310)的所述索引存储在与所述数据处理硬件(144)通信的存储器硬件(146)上;完成所述第二复制日志(310)以禁止对所述第二存储位置(210)的进一步写入;以及生成提示文件(340)以指示需要调和。6.根据权利要求4或5所述的方法(500),其特征在于,还包括:当所述第一复制日志(310)可用并且所述第二复制日志(310)不可用时,由所述数据处理硬件(144)基于所述第一复制日志(310)的长度,调和所述第一复制日志(310)和所述第二复制日志(310)。7.根据权利要求4

6中任一项所述的方法(500),其特征在于,还包括:当所述第一复制日志(310)不可用并且所述第二复制日志(310)可用时,由所述数据处理硬件(144)基于所述第二复制日志(310)的长度,调和所述第一复制日志(310)和所述第二复制日志(310)。8.根据权利要求1

7中任一项所述的方法(500),其特征在于,还包括:由所述数据处理硬件(144)生成包括时间戳(412)的第一复制日志(310),所述时间戳(412)指示何时将每个数据块(22)写入所述第一存储位置(210);以及由所述数据处理硬件(144)生成包括时间戳(412)的第二复制日志(310),所述时间戳(412)指示何时将每个数据块(22)写入所述第二存储位置(210)。9.根据权利要求8所述的方法(500),其特征在于,还包括:在所述数据处理硬件(144)处接收查询请求(410),请求返回存储在所述第一存储位置(210)的多个数据块(22);由所述数据处理硬件(144)基于所述第一复制日志(310)的长度和所述第二复制日志(310)的长度调和所述第一复制日志(310)和所述第二复制日志(310);以及由所述数据处理硬件(144)基于所述第一复制日志(310)和所述第二复制日志(310)的所述调和返回所请求的所述多个数据块(22)。10.根据权利要求9所述的方法(500),其特征在于,调和所述第一复制日志(310)和所述第二复制日志(310)包括:确定所述第二复制日志(310)的长度不可用;以及在阈值时间段内确定将后续写入添加到...

【专利技术属性】
技术研发人员:帕文
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

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

1