首页 / 专利库 / 软件 / 数据处理 / 分布式存储系统的多区域数据处理方法、装置及电子设备

分布式存储系统的多区域数据处理方法、装置及电子设备

阅读:1792发布:2020-05-12

专利汇可以提供分布式存储系统的多区域数据处理方法、装置及电子设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种分布式存储系统的多区域 数据处理 方法、装置、 电子 设备及计算机可读存储介质。该方法包括:在接收到数据写 请求 时,将所述数据写入到位于第一区域的第一存储 服务器 中以得到所述数据的主副本;将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;以及将所述临时副本的数据同步到位于第二区域的第四存储服务器中,以得到所述数据的延迟副本。本发明能够以较低的经济成本和存储成本实现多区域的功能。,下面是分布式存储系统的多区域数据处理方法、装置及电子设备专利的具体信息内容。

1.一种分布式存储系统的多区域数据处理方法,其特征在于,所述方法包括以下步骤:
在接收到数据写请求时,将所述数据写入到位于第一区域的第一存储服务器中以得到所述数据的主副本;
将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;以及
将所述临时副本的数据同步到位于第二区域的第四存储服务器中,以得到所述数据的延迟副本。
2.根据权利要求1所述的方法,其特征在于,所述将所述临时副本的数据同步到所述第二区域的第四存储服务器中,以得到所述数据的延迟副本包括:
指定大小将所述临时副本的数据切割成至少一个数据;以及
将所述至少一个数据块依次发送到所述第二区域的第四存储服务器,以得到所述数据的延迟副本。
3.根据权利要求1或2所述的方法,其特征在于,在得到所述数据的延迟副本之后,所述方法还包括:
从所述第一区域的第三存储服务器删除所述数据的临时副本。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述第四存储服务器完成对所述至少一个数据块中的任一个数据块的存储时,从所述第一区域的第三存储服务器的删除该数据块。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在确定所述数据的主副本、从副本、临时副本和延迟副本中存在数据缺失的副本时,对存在数据缺失的副本进行数据恢复处理。
6.根据权利要求5所述的方法,其特征在于,所述对存在数据缺失的副本进行数据恢复处理,包括:
当确定所述数据的主副本存在数据缺失时,基于所述从副本的数据对所述主副本进行数据恢复;
或者,
在确定所述数据的主副本和从副本均存在数据缺失时,基于所述延迟副本和/或临时副本的数据对所述主副本和所述从副本进行数据恢复;
或者,
在确定所述数据的从副本存在数据缺失时,基于所述主副本的数据对所述从副本进行数据恢复;
或者,
在确定所述数据的临时副本存在数据缺失时,基于所述主副本的数据对临时副本进行数据恢复;
或者,
在确定所述数据的主副本和临时副本均存在数据缺失时,基于所述从副本的数据对所述主副本和所述临时副本进行数据恢复;
或者,
在确定所述数据的延迟副本存在数据缺失时,基于所述主副本或者所述从副本的数据对所述延迟副本进行数据恢复;
或者,
在确定所述数据的临时副本和延迟副本均存在数据缺失时,基于所述主副本或者所述从副本的数据对所述临时副本和所述延迟副本进行数据恢复。
7.根据权利要求6所述的方法,其特征在于,所述在确定所述数据的延迟副本存在数据缺失时,基于所述主副本或者所述从副本的数据对所述延迟副本进行数据恢复,包括:
在确定所述数据的延迟副本存在数据缺失时,通过所述主副本或者所述从副本的数据全量恢复一个临时副本;以及
通过恢复的所述临时副本将数据同步到所述延迟副本,以实现数据恢复。
8.根据权利要求6所述的方法,其特征在于,所述在确定所述数据的临时副本和延迟副本均存在数据缺失时,基于所述主副本或者所述从副本的数据对所述临时副本和所述延迟副本进行数据恢复,包括:
在确定所述数据的临时副本和延迟副本均存在数据缺失时,通过所述主副本或者所述从副本的数据全量恢复对存储数据缺失的所述临时副本进行数据恢复;以及通过完成数据恢复的所述临时副本将数据同步到所述延迟副本,以实现所述延时副本的进行数据恢复。
9.一种分布式存储系统的多区域数据处理装置,其特征在于,所述装置包括:
写入模块,用于在接收到数据写请求时,将所述数据写入到位于第一区域的第一存储服务器中以得到所述数据的主副本;
第一同步模块,用于将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;以及第二同步模块,用于将临时副本的数据同步到位于第二区域的第四存储服务器中,以得到所述数据的延迟副本。
10.根据权利要求9所述的装置,所述装置还包括:
删除模块,所述删除模块用于在得到所述数据的延迟副本之后,从所述第一区域的第三存储服务器删除所述数据的临时副本。
11.一种电子设备,其特征在于,包括:
根据权利要求9或10所述的多区域数据处理装置;或者,
处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据权利要求1至8中任一权利要求所述的多区域数据处理方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至8中任一权利要求所述的多区域数据处理方法。

说明书全文

分布式存储系统的多区域数据处理方法、装置及电子设备

技术领域

[0001] 本发明涉及分布式存储领域,尤其涉及一种分布式存储系统的多区域数据处理方法、装置及电子设备。

背景技术

[0002] 大部分的分布式文件系统都不支持多区域(Region)数据同步,且三副本数据都放在一个或多个可用区(AZ,availability zone)中。在出现区域故障时,单区域内部部署的数据存在损坏的险,例如,出现故障的区域的数据可能都损坏或者丢失,严重影响分布式文件系统的数据安全和稳定。
[0003] 如图1所示,为多区域构架,可以包括多个区域,如区域1、区域2……区域n,每个区域中可以包括至少一个可用区,其中,区域即物理的地理区域(例如,华北区域、华南区域),而可用区例如华北区可以包括北京可用区、天津可用区、沈阳可用区等等,进一步,可用区可以包括多个机房,机房中可以包括多台存储服务器。基于此,多区域的数据同步,即实现例如区域1和区域2之间的数据同步,使得在区域1中的数据副本,在区域2中也存在相同的数据的副本。相关技术中,虽然实现了多区域数据同步,但在实现多区域数据同步过程中须占用较大的网络带宽,需要非常高的网络建设和运维成本。而另一些多区域数据同步的方案,针对同一数据,不同的区域都保存该数据的三个副,例如需要将区域1中三个副本的数据同步到区域2中三个副本中,因此需要占用较大的存储空间,且数据同步需要三个副本同时进行数据交互,网络宽度消耗也较大。

发明内容

[0004] 本发明的目的在于提供一种分布式存储系统的多区域数据处理方法、装置、电子设备及计算机可读存储介质,无需依赖强大的自建网络,并以较低的存储成本实现多区域的功能。
[0005] 根据本发明的第一方面,提出了一种分布式存储系统的多区域数据处理方法,所述方法包括以下步骤:
[0006] 在接收到数据写请求时,将所述数据写入到位于第一区域的第一存储服务器中以得到所述数据的主副本;
[0007] 将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;以及
[0008] 将所述临时副本的数据同步到位于第二区域的第四存储服务器中,以得到所述数据的延迟副本。
[0009] 可选的,所述将所述临时副本的数据同步到所述第二区域的第四存储服务器中,以得到所述数据的延迟副本包括:
[0010] 按指定大小将所述临时副本的数据切割成至少一个数据;以及
[0011] 将所述至少一个数据块依次发送到所述第二区域的第四存储服务器,以得到所述数据的延迟副本。
[0012] 可选的,在得到所述数据的延迟副本之后,所述方法还包括:
[0013] 从所述第一区域的第三存储服务器删除所述数据的临时副本。
[0014] 可选的,所述方法还包括:
[0015] 当所述第四存储服务器完成对所述至少一个数据块中的任一个数据块的存储时,从所述第一区域的第三存储服务器的删除该数据块。
[0016] 可选的,所述方法还包括:
[0017] 在确定所述数据的主副本、从副本、临时副本和延迟副本中存在数据缺失的副本时,对存在数据缺失的副本进行数据恢复处理。
[0018] 可选的,所述对存在数据缺失的副本进行数据恢复处理,包括:
[0019] 当确定所述数据的主副本存在数据缺失时,基于所述从副本的数据对所述主副本进行数据恢复;
[0020] 或者,
[0021] 在确定所述数据的主副本和从副本均存在数据缺失时,基于所述延迟副本和/或临时副本的数据对所述主副本和所述从副本进行数据恢复;
[0022] 或者,
[0023] 在确定所述数据的从副本存在数据缺失时,基于所述主副本的数据对所述从副本进行数据恢复;
[0024] 或者,
[0025] 在确定所述数据的临时副本存在数据缺失时,基于所述主副本的数据对临时副本进行数据恢复;
[0026] 或者,
[0027] 在确定所述数据的主副本和临时副本均存在数据缺失时,基于所述从副本的数据对所述主副本和所述临时副本进行数据恢复;
[0028] 或者,
[0029] 在确定所述数据的延迟副本存在数据缺失时,基于所述主副本或者所述从副本的数据对所述延迟副本进行数据恢复;
[0030] 或者,
[0031] 在确定所述数据的临时副本和延迟副本均存在数据缺失时,基于所述主副本或者所述从副本的数据对所述临时副本和所述延迟副本进行数据恢复。
[0032] 可选的,所述在确定所述数据的延迟副本存在数据缺失时,基于所述主副本或者所述从副本的数据对所述延迟副本进行数据恢复,包括:
[0033] 在确定所述数据的延迟副本存在数据缺失时,通过所述主副本或者所述从副本的数据全量恢复一个临时副本;以及
[0034] 通过恢复的所述临时副本将数据同步到所述延迟副本,以实现数据恢复;
[0035] 可选的,所述在确定所述数据的临时副本和延迟副本均存在数据缺失时,基于所述主副本或者所述从副本的数据对所述临时副本和所述延迟副本进行数据恢复,包括:
[0036] 在确定所述数据的临时副本和延迟副本均存在数据缺失时,通过所述主副本或者所述从副本的数据全量恢复对存储数据缺失的所述临时副本进行数据恢复;以及[0037] 通过完成数据恢复的所述临时副本将数据同步到所述延迟副本,以实现所述延时副本的进行数据恢复。
[0038] 根据本发明的第二方面,还提供了一种分布式存储系统的多区域数据处理装置,所述装置包括:
[0039] 写入模块,用于在接收到数据写请求时,将所述数据写入到位于第一区域的第一存储服务器中以得到所述数据的主副本;
[0040] 第一同步模块,用于将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;以及[0041] 第二同步模块,用于将临时副本的数据同步到位于第二区域的第四存储服务器中,以得到所述数据的延迟副本。
[0042] 可选的,所述装置还包括:
[0043] 删除模块,所述删除模块用于在得到所述数据的延迟副本之后,从所述第一区域的第三存储服务器删除所述数据的临时副本。
[0044] 根据本发明的第三方面,再提供了一种电子设备,包括:
[0045] 根据本发明第二方面所述的多区域数据处理装置;或者,
[0046] 处理器和存储器,所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据本发明第一方面所述的多区域数据处理方法。
[0047] 根据本发明的第四方面,另提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时实现根据本发明第一方面所述的多区域数据处理方法。
[0048] 根据本发明实施例的分布式存储系统的多区域数据处理方案,优先同步同区域的副本数据,在完成同区域副本数据的同步后,进一步跨区域进行数据同步,可以不需要较高的网络建设、运维成本,即可实现多区域 (Region)之间的数据同步,从而数据安全性得到保证。并且跨区域数据同步中,利用临时副本数据同步延迟副本的数据,只需要两个副本间进行交互即可,可以降低跨区域数据同步的网络带宽消耗,且缩短多区域之间的数据同步时间,能够提高分布式存储系统实现多区域可读的能的速度。再者,在被同步的区域中只使用一个副本(延迟副本)存储数据,在保障数据安全性的前提下,还能够降低多区域数据存储的存储空间的占用。
[0049] 通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

[0050] 被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
[0051] 图1为相关技术中的多区域构架示意图。
[0052] 图2为可用于实现本发明实施例的服务器的硬件配置结构方框图
[0053] 图3为本发明实施例的分布式存储系统的多区域数据处理方法的步骤流程图
[0054] 图4为本发明第一实施例的分布式存储系统的多区域数据分布示意图。
[0055] 图5为本发明第二实施例的分布式存储系统的多区域数据分布示意图。
[0056] 图6为本发明实施例的分布式存储系统的多区域数据处理方法数据写入操作示意图。
[0057] 图7为本发明实施例的分布式存储系统的多区域数据处理方法数据读取操作示意图。
[0058] 图8为本发明第一实施例的分布式存储系统的多区域数据处理方法数据恢复操作示意图。
[0059] 图9为本发明第二实施例的分布式存储系统的多区域数据处理方法数据恢复操作示意图。
[0060] 图10为本发明实施例的分布式存储系统的多区域数据同步装置的结构方框图。
[0061] 图11为本发明实施例的电子设备的结构方框图。

具体实施方式

[0062] 现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0063] 以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0064] 对于相关领域普通技术人物已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0065] 在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0066] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0067] 图2是示出可以实现本发明的实施例的服务器1000的硬件配置的框图。服务器1000可以是整体式服务器或是跨多计算机或计算机数据中心的分散式服务器。服务器可以是各种类型的,例如但不限于,分布式存储系统的服务器、内容分发网络的服务器、数据库服务器、云计算服务器、云管理服务器、网络服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交互服务器、存储服务器、数据库服务器或代理服务器等。在一些实施例中,每个服务器可以包括硬件,软件,或用于执行服务器所支持或实现的合适功能的内嵌逻辑组件或两个或多个此类组件的组合。例如,服务器例如刀片服务器、云端服务器等,或者可以是由多台服务器组成的服务器群组,可以包括上述类型的服务器中的一种或多种等等。
[0068] 如图2所示,服务器1000可以包括处理器1100、存储器1200、接口装置1300、通信装置1400,或者还可以包括显示装置1500、输入装置1600 等等。其中,处理器1100可以是中央处理器CPU、微处理器MCU等,用于执行计算机程序。该计算机程序可以采用比如x86、Arm、RISC、MIPS、 SSE等架构的指令集编写。存储器1200例如包括ROM(只读存储器)、 RAM(随机存取存储器)、诸如硬盘非易失性存储器等。接口装置1300 例如包括USB接口、机接口等。通信装置1400例如能够利用光纤或电缆进行有线通信,或者无线通信,具体地可以包括WiFi通信、蓝牙通信、 2G/3G/4G/5G通信等。显示装置1500例如是液晶显示屏、触摸显示屏等。输入装置1600例如可以包括触摸屏键盘、体感输入等。
[0069] 图2所示的服务器仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。应用于本发明的实施例中,服务器1000例如可以为本发明实施例的多区域数据处理装置,其可以包括存储器1200和处理器1100,存储器1200用于存储指令,所述指令用于控制所述处理器1100进行操作以执行本发明实施例提供的任意一项多区域数据处理方法。本领域技术人员应当理解,尽管在图2中对服务器1000示出了多个装置,但是,本发明可以仅涉及其中的部分装置,例如服务器1000可以只涉及处理器1100和存储装置1200。技术人员可以根据本发明所公开方案设计指令。指令如何控制处理器进行操作,这是本领域公知,故在此不再详细描述。
[0070] 请参考图3,该图为本发明实施例的分布式存储系统的多区域数据处理方法的步骤流程图,分布式存储系统的多区域数据处理方法可以是由服务器实施,该服务器例如可以是如图2所示的服务器1000。
[0071] 在本实施例中,提供了一种分布式存储系统的多区域数据处理方法,该处理方法适用于各种分布式存储系统中,例如对象存储,其中对象存储是一种非结构数据的存储方式。
[0072] 如图3所示,本发明实施例的分布式存储系统的多区域数据处理方法包括:
[0073] 步骤102,在接收到数据写请求时,将所述数据写入到位于第一区域的第一存储服务器中以得到所述数据的主副本;
[0074] 步骤104,将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;
[0075] 步骤106,将所述临时副本的数据同步到位于第二区域的第四存储服务器中,以得到所述数据的延迟副本。
[0076] 在三副本数据存储系统中,为保证数据的安全性,每个区域(Region) 都保存了三副本的相同数据,三副本可以分别为主副本、从副本以及由主副本或从副本同步数据得到的副本,可称为延迟副本。其中,Region为不同的物理区域,如中国区,北美区等。上述第一区域、第二区域是本发明实施例的分布式存储系统包括的多区域中两个不同的区域。
[0077] 在步骤104中,通过将存储在分布式存储系统第一区域主副本的数据同步到位于同一个第一区域的一个存储服务器得到临时副本,可将原有的主副本和从副本扩展为主副本、从副本、临时副本及延迟副本。临时副本表示该副本可以仅暂时存在,后续可以根据需求删除掉。
[0078] 主副本可以接受读写请求,从副本可以接受主同步请求以及接受读请求。临时副本可以接受主同步请求和接受读请求。临时副本收到数据会尽快同步到延迟副本,同步完成后数据会尽快删除。延迟副本可接受临时副本的同步请求,接受读请求。
[0079] 图4显示了主副本、从副本、临时副本及延迟副本的数据分布方式,即各个副本数据所处于的存储位置,图4为本发明第一实施例的分布式存储系统的多区域数据分布示意图。
[0080] 如图4所示,本实施例中,主副本、从副本及临时副本放置在同一个 Region,即第一区域100的一个或者多个可用区AZ1~AZ6中,具体地,主副本对应数据是根据接收的写请求写入到对应存储服务器的数据,从副本和临时副本是根据主同步请求同步得到的数据,分别位于不同的存储服务器中。延迟副本放置在另一个Region,即第二区域200的可用区中,延迟副本是根据临时副本数据同步得到的数据,放置在第二区域200的一个存储服务器中。
[0081] 以第一区域为华北区、第二区域为华南区为例,第一区域的可用区 AZ可以是北京可用区、天津可用区、河北可用区等等。
[0082] 在一个示例中,分别存储主副本、从副本及临时副本的各个存储服务器同一区域内,但是为安全起见,可选的这些存储服务器位于该区域的不同可用区的机房中。
[0083] 图4实施例中,各副本分别设置在一个可用区,每个可用区AZ持有一个副本。其中,可用区AZ没有属性概念,所有的可用区AZ均可放置任意类型副本。在一个实施例中,第一区域100中可以至少包括三个可用区,每个可用区下机房的存储服务器可以用来分别放置主副本、从副本及临时副本,第二区域中可以至少包括一个可用区,该可用区下机房的存储服务器可以用来放置延迟副本。其中,位于同一个区域,例如第一区域100的可用区AZ1~AZ3可以是物理的多个可用区,也可以是逻辑上的可用区。
[0084] 如图4可知,第一区域100和第二区域200中保存了三组副本,每组副本中包括主副本、从副本、临时副本及延迟副本,分别详细说明如下:
[0085] 第一组副本:主副本P1、从副本S1、临时副本T1分别放置在同一个的第一区域100的可用区AZ1、AZ2、AZ3对应存储服务器中,延迟副本 D1放置在另一个的第二区域200的可用区AZ5对应存储服务器中。
[0086] 第二组副本:主副本P2、从副本S2、临时副本T2分别放置在第一区域100的可用区AZ3、AZ1、AZ2对应存储服务器中,延迟副本D2放置在第二区域200的可用区AZ4对应存储服务器中。例如,第一区域100的可用区AZ2对应存储服务器中的临时副本T2可以将数据同步给第二区域200 可用区AZ4对应存储服务器中的延迟副本D2。
[0087] 第三组副本:主副本P3、从副本S3、临时副本T3分别放置在第二区域的可用区AZ5、AZ6、AZ4对应存储服务器中,延迟副本D3放置在第一区域100的可用区AZ2对应存储服务器中。
[0088] 从第三组副本的副本设置可知,在本发明中,第一、第二区域的名称中“第一”、“第二”仅为清楚描述本发明的技术手段所用,第一区域也可以替换为第二区域放置延迟副本,同理,第二区域也可以替换第一区域放置主副本、从副本及临时副本。本发明的重点在于,同一组副本中的主副本、从副本及临时副本放置在同一个区域中,延迟副本放置在另一个区域中。
[0089] 在一个实施例中,基于更优的安全性考虑,同一区域内延迟副本的数量可以不止一个,即上述延迟副本D1、D2、D3还可以进一步同步到所在区域的其他可用区对应存储服务器中。例如对于第一组副本,第二区域200 中可以具有两个延迟副本D1和D1’;对于第二组副本,第二区域200中可以具有两个延迟副本D2和D2’;对于第三组副本,第一区域100中可以具有两个延迟副本D3和D3’。
[0090] 在一个实施例中,也基于更优的安全性考虑,第二区域的数量可以不止一个,例如在图5所述的实施例,图5为本发明第二实施例的分布式存储系统的多区域数据分布示意图。除了与图4的实施例相同包括第一区域 100和第二区域200之外,图5实施例还可以包括第三区域300,其中第三区域300中用于放置第一区域100中第一组副本的延迟副本D1’和第二组副本的延迟副本D2’,分别设置在可用区AZ8和AZ7对应存储服务器中。其中,延迟副本D1’、D1的数据相同,延迟副本D2’、D2的数据相同。例如,通过第一区域100的可用区AZ2中的临时副本T2可以将数据分别同步给第二区域200可用区AZ4中的延迟副本D2、以及第三区域300可用区AZ7中的延迟副本D2’。
[0091] 多个副本的存在可以降低某一或多个区域副本缺失后,仍可以通过其他区域的副本恢复数据,提高数据存储的安全性。
[0092] 在对本发明实施例的分布式存储系统的多区域数据分布方式描述之后,下面将说明本发明的分布式存储系统的多区域数据写入方式,具体参考图6。
[0093] 图6为本发明实施例的分布式存储的多区域数据处理方法数据写入操作示意图,数据的写入是在同一个区域内完成多副本的同步即可给用户返回。
[0094] 如上文所述,在第一区域100内完成主副本、从副本和临时副本的同步,以及将临时副本的数据同步给第二区域200的对应存储服务器得到延迟副本。
[0095] 具体地,如图6所示,首先在接收到数据写请求时,将数据写入某个区域的存储服务器中,得到所述数据的主副本,然后将主副本的数据分别同步到同区域的对应存储服务器,得到所述数据的从副本和临时副本。
[0096] 然后,将临时副本的数据同步给第二区域200的存储服务器,得到所述数据的延迟副本,即可完成多区域的副本数据同步。
[0097] 由于主副本与从副本、临时副本在同一个区域中,因此同步的速度很快,并且后续临时副本可以慢慢通过异步方式将数据同步到另一区域的延迟副本中。如此,相比现有一个区域保存三副本,其他区域也保存三副本,即现有多区域数据存储系统至少需要存储六副本的情况,本发明可以仅存储四副本即实现多区域的功能,不仅可以减少存储占用空间,且同时具有高效的安全性。
[0098] 在步骤106中,将临时副本的数据同步得到延迟副本,可具有两种方式。下面将分别给出介绍。
[0099] 在一个实施例中,可以将临时副本的数据整体同步到第二区域的存储服务器得到延迟副本,并且在临时副本将数据整体同步到第二区域的存储服务器,得到延迟副本完成后,从第一区域的对应存储服务器删除临时副本。也就是说,临时副本在延迟副本的数据完整同步后会消失,最终只剩下主副本、从副本和延迟副本,即,可以在仍是三副本的情况下,实现多区域的功能。
[0100] 如此,在保证安全性的前提下,可以进一步减少存储空间的占用,降低存储成本。
[0101] 在另一实施例中,可以通过将临时副本数据分块的方式,依次将临时副本的数据同步到另一区域的存储服务器进而得到延迟副本中。具体来说,按指定大小将临时副本切割成多个数据块,在优选实施例中,分块数据的指定大小可以为10MB-100MB,这样可以具有较快的同步速度。
[0102] 然后,通过多个数据块依次将临时副本的数据同步到存储延迟副本的存储服务器。一个数据块同步完成并且进行校验,确定该数据块完成同步后,即可以直接从存储服务器中删除临时副本的对应数据块。这样,临时副本中只剩余未同步完成的数据库块,延迟副本中具有已删除数据库块对应的同步数据,此时,临时副本和延迟副本构成一个完整的副本。最终通过边同步边删除临时副本数据块的方式,第一区域和第二区域所占用的总存储空间始终小于四副本。最终同步完成后,临时副本即可从对应存储服务器删除而不复存在,如此可以减少临时副本和延迟副本同时占用的副本存储空间。
[0103] 临时副本向存储服务器同步数据得到延迟副本的同步过程可以由临时副本的对应存储服务器主动发起进行推送,也可以是由延迟副本的对应存储服务器主动发起进行拉取。
[0104] 下面,将参考图7,对本发明实施例的分布式存储相同的多区域数据处理方法数据读取操作作出说明。
[0105] 在上述临时副本的数据整体同步到第二区域的存储服务器并得到延迟副本的情况下,由于在同步完成后,最终会从存储服务器中删除临时副本,而仅保留各存储服务器上的主副本、从副本、延迟副本的三副本。
[0106] 此时,若存在对多区域的数据读取,则可以从上述三副本中进行数据读取操作。
[0107] 在一个实施例中,副本数据的读取可以依照一定的优先级进行。
[0108] 例如,读取优先级为:用户距离读取数据的区域近>主副本和副本随机选择>延迟副本。也就是说,读取数据时地理位置优先考虑,从距离用户最近的区域先读取,距离读取数据副本所在的区域Region越近,读取的时间越短;反之,Region越远所需的读取时间越长。
[0109] 若近距离区域读取不到数据后,优先采用主副本及从副本随机选择,这样可以提高并发吞吐,提高数据读取的速度。
[0110] 再其次,可以选择从延迟副本读取数据。
[0111] 在上述临时副本分割成多个块之后,再依次将数据同步到第二区域的延迟副本的情况下,由于临时副本边同步边删除,若此时存在用户对副本数据的读取操作,则可以从主副本、从副本、未删除的临时副本及已同步的延迟副本中读取数据。
[0112] 数据读取也可以按照一定的优先级来执行,读取优先级为:用户距离读取数据的区域近>主副本和副本随机选择>临时副本>延迟副本。
[0113] 针对多区域数据存在缺失的情况,本发明还提出了副本数据恢复的流程。
[0114] 图8为本发明第一实施例的分布式存储相同的多区域数据处理方法数据恢复操作示意图,以及图9为本发明第二实施例的分布式存储相同的多区域数据处理方法数据恢复操作示意图。
[0115] 图8实施例是针对临时副本的数据整体同步到第二区域的存储服务器得到延迟副本的情况,此时同步完成后对应存储服务器上仅保留主副本、从副本、延迟副本的三副本。
[0116] 其中,图8给出了5种状况下的数据恢复,以方便描述出发,在图8 同一个图中分别以示例1-5的形式说明本发明实施例的多区域数据恢复流程,主要是在第一区域或第二区域的存储服务器上存储的主副本、从副本、临时副本和延迟副本中存在数据缺失的副本时,利用未缺失副本对存在数据缺失的副本进行数据恢复。这里副本数据的缺失为全部数据缺失时,恢复即为数据全量恢复;若副本数据的缺失为部分数据缺失时,恢复即为对应缺失部分数据的恢复。
[0117] 示例1:当确定主副本存在数据缺失时,基于从副本对主副本进行数据恢复(步骤202);在确定从副本也存在数据缺失时,基于延迟副本对主副本进行数据恢复(步骤204)。
[0118] 示例2:当确定从副本存在数据缺失时,基于主副本对从副本进行数据恢复(步骤302);在确定主副本也存在数据缺失时,基于延迟副本对从副本进行数据恢复(步骤304)。
[0119] 示例3:当确定临时副本缺失时,基于主副本对临时副本进行数据恢复(步骤402);在确定主副本也存在数据缺失时,基于从副本对临时副本进行数据恢复(步骤404)。
[0120] 示例4:在确定延迟副本存在数据缺失时,基于主副本对延迟副本进行数据恢复。在基于主副本对延迟副本进行数据恢复之前,先通过主副本全量恢复一个临时副本(步骤
502);然后,通过恢复的临时副本将数据同步到延迟副本进行数据恢复(步骤506)。
[0121] 在确定主副本也存在数据缺失时,基于从副本对延迟副本进行数据恢复。在基于从副本对延迟副本进行数据恢复之前,先通过从副本全量恢复一个临时副本(步骤504);然后,通过恢复的临时副本将数据同步到延迟副本所在存储服务器进行数据恢复(步骤506’)。
[0122] 示例5:在确定临时副本和延迟副本均存在数据缺失时,基于主副本对临时副本和延迟副本进行数据恢复。基于主副本对临时副本和延迟副本进行数据恢复包括:先通过主副本全量恢复一个临时副本(步骤602);然后,通过恢复的临时副本将数据同步到延迟副本所在存储服务器进行数据恢复(步骤606)。
[0123] 在确定主副本也存在数据缺失时,基于从副本对临时副本和延迟副本进行数据恢复。基于从副本对临时副本和延迟副本进行数据恢复包括:先通过从副本全量恢复一个临时副本(步骤604);然后,通过恢复的临时副本将数据同步到延迟副本所在存储服务器进行数据恢复(步骤606’)。
[0124] 在步骤502、504、602、604中,在同一个区域全量恢复临时副本可以很快完成,后面由临时副本慢慢将数据跨区整体同步恢复到延迟副本,可以减少网络资源占用。
[0125] 在一个实施例中,可以根据恢复优先级恢复上述第一区域或第二区域的缺失副本。其中,例如恢复优先级为:一副本>同一个区域副本>从副本> 临时副本>延迟副本。
[0126] 一副本优选恢复表示多区域的可用区中仅存在一个数据副本,此时数据安全性级别较低,需要优先考虑恢复其他的数据副本。其次,位于同一区域的副本优选恢复,因此同区域副本之间可以利用较少时间即可快速完成数据恢复。
[0127] 再次,在确定从副本、临时副本或延时副本存在数据丢失的情况下,考虑三副本的恢复优先级顺序为从副本>临时副本>延迟副本。
[0128] 若主副本丢失,此时不存在主副本,因此首先恢复从副本,恢复完成后再进行选择才会有主副本。若从副本丢失,此时就是需要恢复从副本。主副本、从副本同时存在时,可以认为两者是一致的,这里把主、从副本放一起考虑也可以。
[0129] 在一个实施例中,可以根据速度优先级恢复第一区域或第二区域的缺失副本;例如,速度优先级为:同一个区域内部的数据恢复不限速或者限速较高,不同区域的数据恢复考虑对应区域的带宽,充分利用空闲时间进行恢复。
[0130] 图9实施例是针对临时副本数据分割成多个数据块之后,再依次将数据同步到第二区域的存储服务器得到延迟副本的情况,此时对临时副本边同步边删除数据块,若此时存在数据恢复的操作,则可以从主副本、从副本、未删除的临时副本(也即未完成同步的临时副本)及删除数据块对应的已同步延迟副本中进行数据恢复,其中已同步的延迟副本和未完成同步的临时副本构成一个完整的副本。
[0131] 同样地,图9也给出了5种状况下的数据恢复,其中也同样在图9同一个图中分别以示例1-5的形式说明本发明实施例的多区域数据恢复流程。
[0132] 示例1:在确定主副本存在数据缺失时,基于从副本对主副本进行数据恢复(步骤1202);在确定从副本也存在数据缺失时,基于延时副本和未完成同步的临时副本对主副本进行数据恢复(步骤1204、1206)。
[0133] 示例2:在确定从副本存在数据缺失时,基于主副本对从副本进行数据恢复(步骤1302);在主副本也存在数据缺失时,基于延迟副本和未完成同步的临时副本对从副本进行数据恢复(步骤1304、1306)。
[0134] 示例3:在确定临时副本存在数据缺失时,基于主副本对临时副本进行数据恢复(步骤1402);在主副本也存在数据缺失时,基于从副本对临时副本进行数据恢复(步骤1404)。
[0135] 示例4:在确定延迟副本存在数据缺失时,基于主副本对延迟副本进行数据恢复。在基于主副本对延迟副本进行数据恢复之前,先通过主副本全量恢复一个临时副本(步骤
1502);然后,通过恢复的临时副本将数据同步到延迟副本所在服务器进行数据恢复(步骤
1506)。
[0136] 在确定主副本也存在数据缺失时,基于从副本对延迟副本进行数据恢复。在基于从副本对延迟副本进行数据恢复之前,先通过从副本全量恢复一个临时副本(步骤1504);然后,通过恢复的临时副本将数据同步到延迟副本所在服务器进行数据恢复(步骤1506’)。
[0137] 示例5:在确定临时副本和延迟副本均存在数据缺失时,基于主副本对临时副本和延迟副本进行数据恢复。基于主副本对临时副本和延迟副本进行数据恢复包括:先通过主副本全量恢复一个临时副本(步骤1602);然后,通过恢复的临时副本将数据同步到延迟副本所在存储服务器进行数据恢复(步骤1606)。
[0138] 在确定主副本也存在数据缺失时,基于从副本对临时副本和延迟副本进行数据恢复。基于从副本对临时副本和延迟副本进行数据恢复包括:先通过从副本全量恢复一个临时副本(步骤1604);然后,通过恢复的临时副本将数据同步到延迟副本所在存储服务器进行数据恢复(步骤1606’)。
[0139] 在步骤1502、1504、1602、1604中,在同一个区域全量恢复临时副本可以很快完成,后面由临时副本慢慢将数据跨区分块依次同步恢复到延迟副本,边同步恢复边删除临时副本已完成同步块,相比上述整体同步恢复的方式,本实施例不仅减少了网络资源占用,还可以进一步存储空间的占用。
[0140] 在一个实施例中,可以根据恢复优先级恢复上述第一区域或第二区域的缺失数据的副本。其中,例如恢复优先级为:主副本>同一个区域副本> 从副本>临时副本>延迟副本。示例性地,在如果副本出现数据缺失,如所有副本数据均缺失的情况下,则优先恢复主副本的数据,以及基于恢复后的主副本的数据优先恢复与该主副本在同一个区域的副本的数据(例如,同区域的从副本),进而恢复临时副本,由于延迟副本与主副本、从副本、临时副本不在同一个区域,因此,延迟副本的恢复优先级最低,即最后恢复延迟副本的数据。
[0141] 在一个实施例中,可以根据速度优先级恢复第一区域或第二区域的缺失副本;例如,速度优先级为:同一个区域内部的数据恢复不限速或者利用最高网络带宽速度,不同区域的数据恢复考虑对应区域的带宽,充分利用空闲时间进行恢复。
[0142] 本发明实施例的分布式存储的多区域数据处理方法将三副本扩展为主副本、从副本、临时副本及延迟副本,将主副本、从副本和临时副本存储在同一个区域的各个存储服务器中,将延迟副本存储在另一个区域的存储服务器中,写入到主副本对应存储服务器的数据同步到本区域的从副本和临时副本对应的服务器,并由临时副本异步将数据同步到其他区域的存储服务器得到延迟副本。
[0143] 本发明主要解决在网络条件和存储空间有限的情况下,对已有的对象存储系统提供多区域的功能,主要解决了数据在多个机房部署,多区域状态下数据读写请求策略的实现,跨机房的数据同步和恢复等问题。通过本发明实施例,能够在有限带宽和有限存储空间条件下,实现跨区域数据同步,保证分布式存储系统的数据安全性,此外,在数据恢复过程中,优先恢复同区域的数据副本,可以降低对网络带宽的消耗。
[0144] 通过本发明的分布式存储系统的多区域数据处理方法,可以不需要高的网络建设和运维成本,不需要额外的存储成本,即可实现多区域之间的数据同步,从而数据安全性得到保证。并且多区域之间的数据同步时间比较短,能够尽快提供多区域可读的能力。
[0145] 综上,本发明能够不依赖强大的自建网络、减少经济成本,并以较低的存储成本实现多区域的功能。
[0146] 在本实施例中,还提供了一种分布式存储系统的多区域数据处理装置 2000,多区域数据处理装置2000包括:
[0147] 写入模块202,用于在接收到数据写请求时,将所述数据写入到位于所述第一区域的第一存储服务器中以得到所述数据的主副本;
[0148] 第一同步模块204,用于将所述主副本的数据分别同步到位于所述第一区域的第二存储服务器和第三存储服务器中,以分别得到所述数据的从副本和临时副本;以及[0149] 第二同步模块206,用于将临时副本的数据同步到位于所述第二区域的第四存储服务器中,以得到所述数据的延迟副本。
[0150] 在一个示例中,第二同步模块2600在将所述临时副本的数据同步到所述第二区域的第四存储服务器中,以得到所述数据的延迟副本时,按指定大小将所述临时副本的数据切割成至少一个数据块;以及将所述至少一个数据块依次发送到所述第二区域的第四存储服务器,以得到所述数据的延迟副本。
[0151] 在一个示例中,本发明的多区域数据同步装置2000还包括删除模块 (图中未示出),所述删除模块用于在第二同步模块2800完成同步得到所述数据的延迟副本之后,从所述第一区域的第三存储服务器删除所述数据的临时副本。
[0152] 在一个示例中,所述删除模块还用于当所述第四存储服务器完成对所述至少一个数据块中的任一个数据块的存储时,从所述第一区域的第三存储服务器的删除该数据块。
[0153] 在一个示例中,所述装置2000还包括数据恢复模块(图中未示出),用于在确定所述数据的主副本、从副本、临时副本和延迟副本中存在数据缺失的副本时,对存在数据缺失的副本进行数据恢复处理。
[0154] 在一个示例中,所述恢复模块对存在数据缺失的副本进行数据恢复处理时包括以下情况:
[0155] 当确定所述数据的主副本存在数据缺失时,基于所述从副本的数据对所述主副本进行数据恢复;
[0156] 或者,
[0157] 在确定所述数据的主副本和从副本均存在数据缺失时,基于所述延迟副本和/或临时副本的数据对所述主副本和所述从副本进行数据恢复;
[0158] 或者,在确定所述数据的从副本存在数据缺失时,基于所述主副本的数据对所述从副本进行数据恢复;
[0159] 或者,在确定所述数据的临时副本存在数据缺失时,基于所述主副本的数据对临时副本进行数据恢复;
[0160] 或者,在确定所述数据的主副本和临时副本均存在数据缺失时,基于所述从副本的数据对所述主副本和所述临时副本进行数据恢复;
[0161] 或者,在确定所述数据的延迟副本存在数据缺失时,基于所述主副本或者所述从副本的数据对所述延迟副本进行数据恢复;
[0162] 或者,在确定所述数据的临时副本和延迟副本均存在数据缺失时,基于所述主副本或者所述从副本的数据对所述临时副本和所述延迟副本进行数据恢复。
[0163] 在一个示例中,所述恢复模块在确定所述数据的延迟副本存在数据缺失时,基于所述主副本或者所述从副本的数据对所述延迟副本进行数据恢复,包括:
[0164] 在确定所述数据的延迟副本存在数据缺失时,通过所述主副本或者所述从副本的数据全量恢复一个临时副本;以及
[0165] 通过恢复的所述临时副本将数据同步到所述延迟副本,以实现数据恢复;
[0166] 在一个示例中,所述恢复模块在确定所述数据的临时副本和延迟副本均存在数据缺失时,基于所述主副本或者所述从副本的数据对所述临时副本和所述延迟副本进行数据恢复,包括:
[0167] 在确定所述数据的临时副本和延迟副本均存在数据缺失时,通过所述主副本或者所述从副本的数据全量恢复对存储数据缺失的所述临时副本进行数据恢复;以及[0168] 通过完成数据恢复的所述临时副本将数据同步到所述延迟副本,以实现所述延时副本的进行数据恢复。
[0169] 根据本发明的另一个实施例,还提供了一种电子设备,该电子设备 3000可以是图2所示的服务器1000。图11为本发明实施例的电子设备的结构方框图。
[0170] 一方面,该电子设备3000可以包括前述的多区域数据处理装置2000,用于实施本发明任意实施例的多区域数据处理方法。
[0171] 另一方面,如图11所示,电子设备3000还可以包括存储器3200和处理器3400,存储器3200用于存储可执行的指令;该指令用于控制处理器3400执行前述的多区域数据处理方法。
[0172] 在本实施例中,电子设备3000可以是图2中的服务器1000,也可以是其他终端设备,在此不做限定。
[0173] 最后,在本实施例中,还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序在被处理器执行时实现根据本发明任意实施例所述的多区域数据处理方法。
[0174] 本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0175] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号
[0176] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/ 或无线网下载到外部计算机或外部存储设备。网络可以包括传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0177] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构 (ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0178] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0179] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0180] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0181] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人物来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。
[0182] 以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人物来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人物能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈