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所述的方法,其中向所述种子服务器发送所述请求包括:
确定所述数据被划分成的至少一个数据块的相应哈希值;
将所述至少一个数据块的相应哈希值包括在所述请求中;以及
向所述种子服务器发送包括所述至少一个数据块的相应哈希值的所述请求。
17.根据权利要求16所述的方法,其中由所述种子服务器指示的所述至少一个服务器的数量与所述至少一个数据块的数量相同,并且其中向所述至少一个服务器发送所述至少一个请求包括:
基于所述至少一个数据块的相应哈希值来生成所述至少一个请求,其中所述至少一个请求中的一个请求包括所述至少一个数据块中的一个数据块的哈希值;以及
向所述至少一个服务器分别发送所述至少一个请求。
18.根据权利要求15所述的方法,其中所述目标存储装置包括云存储装置。
19.根据权利要求15所述的方法,其中所述目标存储装置包括所述至少一个服务器。
20.一种用于访问数据的方法,包括:
从与多个服务器通信耦合的客户端设备接收访问数据的请求;
基于所述请求,从所述多个服务器中确定用于从目标存储装置获取待访问的所述数据的至少一个服务器;以及
向所述客户端设备发送针对所述请求的响应,所述响应包括对所述至少一个服务器的指示。
21.根据权利要求20所述的方法,其中所述请求包括待访问的所述数据被划分成的至少一个数据块的相应哈希值,所述多个服务器具有相应标识符,所述标识符与所述至少一数据块的相应哈希值位于相同取值范围内,并且其中从所述多个服务器中确定所述至少一个服务器包括:
针对所述至少一个数据块中的数据块,
从所述请求中提取所述数据块的哈希值;
确定所述多个服务器的相应标识符与所述数据块的所述哈希值之间的相应距离;以及
基于所述距离,从所述多个服务器中选择用于从所述目标存储装置获取所述数据块的服务器。
22.一种用于访问数据的方法,包括:
在服务器处,从与包括所述服务器的多个服务器通信耦合的客户端设备接收从目标存储装置获取待访问的数据的至少一部分的请求,其中所述请求是所述客户端设备响应于从所述多个服务器中的种子服务器接收到对所述服务器的指示而发送的;
基于所述请求,确定所述数据的所述至少一部分在所述目标存储装置中的存储位置;
从所述存储位置获取所述数据的所述至少一部分;以及
向所述客户端设备发送所述数据的所述至少一部分,以供所述客户端设备访问。
23.根据权利要求22所述的方法,其中所述请求包括所述数据的所述至少一部分的哈希值,并且确定所述存储位置包括:
从所述请求中提取所述哈希值;
基于所述哈希值,在与所述服务器相关联的元数据列表中查找与所述数据的所述至少一部分相关联的元数据,其中所述元数据基于所述哈希值和所述存储位置而被生成;以及
基于所述元数据,确定所述存储位置。
24.根据权利要求23所述的方法,其中所述元数据列表是分布式哈希表。
25.根据权利要求22所述的方法,其中所述目标存储装置包括云存储装置。
26.根据权利要求22所述的方法,其中所述目标存储装置包括所述服务器。
27.一种客户端设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述客户端设备执行根据权利要求1-6和15-19中的任一项所述的方法。
28.一种服务器,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述服务器执行根据权利要求7-8和20-21中的任一项所述的方法。
29.一种服务器,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述服务器执行根据权利要求9-14和22-26中的任一项所述的方法。
30.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求1-6和15-19中的任一项所述的方法。
31.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求7-8和20-21中的任一项所述的方法。
32.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行根据权利要求9-14和22-26中的任一项所述的方法。