存储和访问数据的方法、设备和计算机程序产品技术

技术编号:28320732 阅读:21 留言:0更新日期:2021-05-04 13:00
本公开的实施例涉及用于存储和访问数据的方法、设备和计算机程序产品。一种方法包括:在客户端设备处,向与客户端设备通信耦合的多个服务器中的种子服务器发送存储数据的请求;从种子服务器接收针对该请求的响应,该响应包括对多个服务器中用于将数据存储至目标存储装置的至少一个服务器的指示;以及向至少一个服务器发送将数据存储至目标存储装置的至少一个请求,使得至少一个服务器将该数据存储至目标存储装置。本公开的实施例能够有效提高存储系统的性能和可扩展性。

【技术实现步骤摘要】
存储和访问数据的方法、设备和计算机程序产品
本公开的实施例总体涉及数据存储领域,具体涉及用于存储和访问数据的方法、设备和计算机程序产品。
技术介绍
当前,随着业务和应用需求的变化,客户常常需要将数据存储到不同的云存储装置中。由于不同的云提供商通常提供不同的存储接口,导致客户需要与不同的存储接口进行交互。这将是麻烦并且耗时的。在此情况下,期望针对多云环境提供统一的存储架构。
技术实现思路
本公开的实施例提供了用于存储和访问数据的方法、设备和计算机程序产品。在本公开的第一方面,提供了一种用于存储数据的方法。该方法包括:在客户端设备处,向与客户端设备通信耦合的多个服务器中的种子服务器发送存储数据的请求;从种子服务器接收针对该请求的响应,该响应包括对多个服务器中用于将数据存储至目标存储装置的至少一个服务器的指示;以及向至少一个服务器发送将数据存储至目标存储装置的至少一个请求,使得至少一个服务器将该数据存储至目标存储装置。在本公开的第二方面,提供了一种用于存储数据的方法。该方法包括:从与多个服务器通信耦合的客户端设备接收存储数据的请求;基于该请求,从多个服务器中确定用于将来自客户端设备的数据存储至目标存储装置的至少一个服务器;以及向客户端设备发送针对该请求的响应,该响应包括对至少一个服务器的指示。在本公开的第三方面,提供了一种用于存储数据的方法。该方法包括:在服务器处,从与包括该服务器的多个服务器通信耦合的客户端设备接收将数据的至少一部分存储至目标存储装置的请求,其中该请求是客户端设备响应于从多个服务器中的种子服务器接收到对该服务器的指示而发送的;从该请求中提取数据的至少一部分;以及将数据的至少一部分存储至目标存储装置。在本公开的第四方面,提供了一种用于访问数据的方法。该方法包括:在客户端设备处,向与该客户端设备通信耦合的多个服务器中的种子服务器发送访问数据的请求;从种子服务器接收针对该请求的响应,该响应包括对多个服务器中用于从目标存储装置获取待访问的数据的至少一个服务器的指示;向至少一个服务器发送从目标存储装置获取待访问的数据的至少一个请求,使得至少一个服务器从目标存储装置获取该数据;以及从至少一个服务器接收数据以用于访问。在本公开的第五方面,提供了一种用于访问数据的方法。该方法包括:从与多个服务器通信耦合的客户端设备接收访问数据的请求;基于该请求,从多个服务器中确定用于从目标存储装置获取待访问的数据的至少一个服务器;以及向客户端设备发送针对该请求的响应,该响应包括对至少一个服务器的指示。在本公开的第六方面,提供了一种用于访问数据的方法。该方法包括:在服务器处,从与包括该服务器的多个服务器通信耦合的客户端设备接收从目标存储装置获取待访问的数据的至少一部分的请求,其中该请求是客户端设备响应于从多个服务器中的种子服务器接收到对该服务器的指示而发送的;基于该请求,确定数据的至少一部分在目标存储装置中的存储位置;从该存储位置获取数据的至少一部分;以及向客户端设备发送数据的至少一部分,以供客户端设备访问。在本公开的第七方面,提供了一种客户端设备。该客户端设备包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得客户端设备执行根据本公开的第一方面或第四方面所描述的方法。在本公开的第八方面,提供了一种服务器。该服务器包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得服务器执行根据本公开的第二方面或第五方面所描述的方法。在本公开的第九方面,提供了一种服务器。该服务器包括至少一个处理单元和至少一个存储器。至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。该指令当由至少一个处理单元执行时使得服务器执行根据本公开的第三方面或第六方面所描述的方法。在本公开的第十方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第一方面或第四方面所描述的方法。在本公开的第十一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第二方面或第五方面所描述的方法。在本公开的第十二方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机存储介质中并且包括机器可执行指令。该机器可执行指令在由设备执行时使该设备执行根据本公开的第三方面或第六方面所描述的方法。提供
技术实现思路
部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1示出了本公开的实施例能够在其中被实施的示例存储系统的框图;图2示出了根据本公开的实施例的用于存储数据的示例过程的示意图;图3示出了根据本公开的实施例的用于访问数据的示例过程的示意图;图4示出了根据本公开的实施例的用于存储数据的示例方法的流程图;图5示出了根据本公开的实施例的用于存储数据的示例方法的流程图;图6示出了根据本公开的实施例的用于存储数据的示例方法的流程图;图7示出了根据本公开的实施例的用于访问数据的示例方法的流程图;图8示出了根据本公开的实施例的用于访问数据的示例方法的流程图;图9示出了根据本公开的实施例的用于访问数据的示例方法的流程图;以及图10示出了可以用来实施本公开内容的实施例的示例设备的示意性框图。在各个附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上所述,随着业务和应用需求的变化,客户常常需要将数据存储到不同的云存储装置中。由于不同的云提供商通常提供不同的本文档来自技高网
...

【技术保护点】
1.一种用于存储数据的方法,包括:/n在客户端设备处,向与所述客户端设备通信耦合的多个服务器中的种子服务器发送存储数据的请求;/n从所述种子服务器接收针对所述请求的响应,所述响应包括对所述多个服务器中用于将所述数据存储至目标存储装置的至少一个服务器的指示;以及/n向所述至少一个服务器发送将所述数据存储至所述目标存储装置的至少一个请求,使得所述至少一个服务器将所述数据存储至所述目标存储装置。/n

【技术特征摘要】
1.一种用于存储数据的方法,包括:
在客户端设备处,向与所述客户端设备通信耦合的多个服务器中的种子服务器发送存储数据的请求;
从所述种子服务器接收针对所述请求的响应,所述响应包括对所述多个服务器中用于将所述数据存储至目标存储装置的至少一个服务器的指示;以及
向所述至少一个服务器发送将所述数据存储至所述目标存储装置的至少一个请求,使得所述至少一个服务器将所述数据存储至所述目标存储装置。


2.根据权利要求1所述的方法,其中向所述种子服务器发送所述请求包括:
将所述数据划分成至少一个数据块;
确定所述至少一个数据块的相应哈希值;
将所述至少一个数据块的相应哈希值包括在所述请求中;以及
向所述种子服务器发送包括所述至少一个数据块的相应哈希值的所述请求。


3.根据权利要求2所述的方法,其中由所述种子服务器指示的所述至少一个服务器的数量与所述至少一个数据块的数量相同,并且其中向所述至少一个服务器发送所述至少一个请求包括:
基于所述至少一个数据块来生成所述至少一个请求,其中所述至少一个请求中的一个请求包括所述至少一个数据块中的一个数据块;以及
向所述至少一个服务器分别发送所述至少一个请求。


4.根据权利要求1所述的方法,还包括:
从所述至少一个服务器接收至少一个响应,所述至少一个响应指示所述至少一个服务器接收到所述至少一个请求。


5.根据权利要求1所述的方法,其中所述目标存储装置包括云存储装置。


6.根据权利要求1所述的方法,其中所述目标存储装置包括所述至少一个服务器。


7.一种用于存储数据的方法,包括:
从与多个服务器通信耦合的客户端设备接收存储数据的请求;
基于所述请求,从所述多个服务器中确定用于将来自所述客户端设备的所述数据存储至目标存储装置的至少一个服务器;以及
向所述客户端设备发送针对所述请求的响应,所述响应包括对所述至少一个服务器的指示。


8.根据权利要求7所述的方法,其中所述请求包括待存储的所述数据被划分成的至少一个数据块的相应哈希值,所述多个服务器具有相应标识符,所述标识符与所述至少一数据块的相应哈希值位于相同取值范围内,并且其中从所述多个服务器中确定所述至少一个服务器包括:
针对所述至少一个数据块中的数据块,
从所述请求中提取所述数据块的哈希值;
确定所述多个服务器的相应标识符与所述数据块的所述哈希值之间的相应距离;以及
基于所述距离,从所述多个服务器中选择用于将所述数据块存储至所述目标存储装置的服务器。


9.一种用于存储数据的方法,包括:
在服务器处,从与包括所述服务器的多个服务器通信耦合的客户端设备接收将数据的至少一部分存储至目标存储装置的请求,其中所述请求是所述客户端设备响应于从所述多个服务器中的种子服务器接收到对所述服务器的指示而发送的;
从所述请求中提取所述数据的所述至少一部分;以及
将所述数据的所述至少一部分存储至所述目标存储装置。


10.根据权利要求9所述的方法,其中所述方法还包括:
响应于所述数据的所述至少一部分被存储至所述目标存储装置,确定所述数据的所述至少一部分的哈希值;
基于所述哈希值和所述数据的所述至少一部分在所述目标存储装置中的存储位置,生成与所述数据的所述至少一部分相关联的元数据;以及
将所述元数据记录在与所述服务器相关联的元数据列表中。


11.根据权利要求10所述的方法,其中所述元数据列表是分布式哈希表。


12.根据权利要求9所述的方法,还包括:
响应于接收到所述请求,向所述客户端设备发送针对所述请求的响应,以指示所述服务器接收到所述请求。


13.根据权利要求9所述的方法,其中所述目标存储装置包括云存储装置。


14.根据权利要求9所述的方法,其中所述目标存储装置包括所述服务器。


15.一种用于访问数据的方法,包括:
在客户端设备处,向与所述客户端设备通信耦合的多个服务器中的种子服务器发送访问数据的请求;
从所述种子服务器接收针对所述请求的响应,所述响应包括对所述多个服务器中用于从目标存储装置获取待访问的所述数据的至少一个服务器的指示;
向所述至少一个服务器发送从所述目标存储装置获取待访问的所述数据的至少一个请求,使得所述至少一个服务器从所述目标存储装置获取所述数据;以及
从所述至少一个服务器接收所述数据以用于访问。


16.根据权利要求15所述的方法,其中向所述种子服务器发送所述请求包括:
确定所述数据被划分成的至少一个数据块的相应哈希值;
将所述至少一个数据块的相应哈希值包括在所述请求中;以及
向所述...

【专利技术属性】
技术研发人员:张瑞雪吴鹏飞林蓁蓁陈思
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

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

1