数据分布式存储的方法和装置与流程

文档序号:11773955阅读:350来源:国知局
数据分布式存储的方法和装置与流程

本公开涉及云存储领域,尤其涉及数据分布式存储的方法和装置。



背景技术:

越来越多的用户正在把他们的数据从本地向云端转移,相比于将数据存储在本地,云端存储更具便利性和可靠性,特别地,其还具有近乎无限的可延展性。

图1示出了一种现有的将本地数据向云端转移的示意图。如图1所述,用户端的数据通过中间应用连接远端数据中心以进行数据转移,或者也可采用直连的方式,直接将数据转移到远端数据中心。该方案中,用户被锁定到单个数据中心,用户的使用严重受限于该数据中心。如果用户希望将数据迁移到另一数据中心,需要耗费大量的时间、人力以及成本。

图2示出了另一现有的将本地数据向云端转移的示意图。如图2所示,用户的数据可分别存储在a地、b地、c地和d地的4个远端数据中心。用户通过数据专线连接至指定的远端数据中心,即图2中的d地的数据中心。这4个数据中心彼此间可通过数据专线交互访问,由这4个数据中心构成的数据中心系统来进行内部资源调配。该方案中,用户仍被锁定到单个数据中心,即图2中d点的数据中心,用户的数据均要通过该数据中心。此外,不同数据节点间通过数据专线连接,成本高昂。



技术实现要素:

有鉴于此,本公开提出了一种新的云存储方案,其使得用户不再被单个数据中心锁定,并且使得用户能够根据需要充分利用多个数据中心的资源。

根据本公开的一方面,提供了一种数据分布式存储的方法,所述方法应用于中央调度引擎,所述方法包括:从用户端接收与多个数据中心一一对应的多个使用比例,所述多个使用比例是由用户设置的;从所述用户端接收针对目标文件的上传请求;基于所述多个使用比例确定所述目标文件的分割指示和存储目的地,所述分割指示用于指示如何对所述目标文件进行分割以得到多个数据块,所述存储目的地用于指示每个所述数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心,其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例;发送所述分割指示和所述存储目的地至所述用户端,以指示所述用户端对所述目标文件进行分割并将分割得到的每个所述数据块存储至对应的所述目标数据中心。

在一种可能的实现方式中,在从所述用户端接收所述多个使用比例之前,所述方法还包括:

向所述用户端提供用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,所述方法还包括,针对每个所述数据块:

请求该数据块对应的目标数据中心为该数据块分配存储位置标识和第一签名授权信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第一签名授权信息用于在将该数据块存储至该目标数据中心时进行签名授权验证;

发送该数据块的所述存储位置标识和所述第一签名授权信息至所述用户端。

在一种可能的实现方式中,所述方法还包括:

从用户端接收所述目标文件的属性,所述属性包括所述目标文件的文件格式;

基于所述属性确定所述目标文件的预处理信息,所述预处理信息用于指示如何对所述目标文件进行预处理;

发送所述预处理信息至所述用户端。

在一种可能的实现方式中,基于所述属性确定所述目标文件的预处理信息,包括:

基于所述属性得到至少一种候选的预处理信息;

向所述用户端发送所述至少一种候选的预处理信息;

接收所述用户端发送的预处理选择指示,所述预处理选择指示用于指示被用户选中的候选的预处理信息;

确定所述预处理选择指示所指示的预处理信息为所述目标文件的预处理信息。

在一种可能的实现方式中,所述方法还包括:

发送第一数据块排序指示至所述用户端,所述第一数据块排序指示用于指示所述用户端如何对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,所述方法还包括:

从所述用户端接收针对所述目标文件的下载请求,所述下载请求包括所述目标文件的标识;

获取所述目标文件的所述存储目的地和合并指示,所述合并指示用于指示如何对下载得到的所述多个数据块进行合并以得到所述目标文件;

发送所述存储目的地和所述合并指示至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心下载对应的所述数据块并对下载的所述数据块进行合并。

在一种可能的实现方式中,针对每个所述数据块:

获取该数据块的存储位置标识和第二授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第二签名授权信息用于在从目标数据中心下载该数据块时进行签名授权验证;

发送所述存储位置标识和所述第二授权签名信息至所述用户端。

在一种可能的实现方式中,所述方法还包括:

获取所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在对所述多个数据块合并之前如何对所述多个数据块进行重新排序;

发送所述第二数据块排序指示至所述用户端。

在一种可能的实现方式中,所述方法还包括:

获取所述目标文件的后处理信息,所述后处理信息用于指示如何对合并得到的所述目标文件进行后处理;

发送所述后处理信息至所述用户端。

在一种可能的实现方式中,所述方法还包括:

从所述用户端接收针对所述目标文件的删除请求,所述删除请求包括所述目标文件的标识;

获取所述目标文件的所述存储目的地;

发送所述存储目的地至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心删除对应的所述数据块。

在一种可能的实现方式中,所述方法还包括,针对每个所述数据块:

获取该数据块的所述存储位置标识和第三授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第三签名授权信息用于在从目标数据中心删除该数据块时进行签名授权验证;

发送所述存储位置标识和所述第三授权签名信息至所述用户端。

根据本公开的另一方面,提供了一种数据分布式存储的方法,所述方法应用于用户端,所述方法包括:接收用户设置的与多个数据中心一一对应的多个使用比例并发送至中央调度引擎;向所述中央调度引擎发送针对目标文件的上传请求;从所述中央调度引擎接收所述目标文件的分割指示和存储目的地;基于所述分割指示对所述目标文件进行分割以得到多个数据块;基于所述存储目的地将每个所述数据块存储至该数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心;其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例。

在一种可能的实现方式中,在接收用户设置的所述多个使用比例之前,所述方法还包括:

从所述中央调度引擎接收用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,所述方法还包括:

从所述中央调度引擎接收每个所述数据块的存储位置标识和第一签名授权信息;

所述基于所述存储目的地将每个所述数据块存储至该数据块对应的目标数据中心,包括:

针对每个所述数据块,将该数据块和该数据块的所述存储位置标识和第一签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第一签名授权信息进行签名授权验证并在验证通过的情况下将该数据块存储在所述存储位置标识所指示的存储位置。

在一种可能的实现方式中,所述方法还包括:

发送所述目标文件的属性至所述中央调度引擎,所述属性包括所述目标文件的文件格式;

从所述中央调度引擎接收所述目标文件的预处理信息,所述预处理信息是所述中央调度引擎基于所述目标文件的所述属性确定的;

在对所述目标文件进行分割前,基于所述预处理信息对所述目标文件进行预处理。

在一种可能的实现方式中,所述方法还包括:

在发送所述目标文件的属性至所述中央调度引擎之后,从所述中央调度引擎接收至少一种候选的预处理信息;

接收用户针对所述至少一种候选的预处理信息的选择操作;

发送预处理选择指示至所述中央调度引擎,所述预处理选择指示用于指示被用户选中的所述候选的预处理信息。

在一种可能的实现方式中,所述方法还包括:

从所述中央调度引擎接收第一数据块排序指示;

在对所述目标文件进行分割后,基于所述第一数据块排序指示对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,所述方法还包括:

发送针对所述目标文件的下载请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;

从所述中央调度引擎接收所述目标文件的所述存储目的地和合并指示;

基于所述存储目的地从所述各个目标数据中心下载所述多个数据块;

基于所述合并指示对下载得到的所述多个数据块进行合并以得到所述目标文件。

在一种可能的实现方式中,所述方法还包括:

针对每个数据块,从所述中央调度引擎接收该数据块的存储位置标识和第二授权签名信息;

所述基于所述存储目的地从所述各个目标数据中心下载所述多个数据块,包括:

针对每个所述数据块,将该数据块的所述存储位置标识和第二签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第二签名授权信息进行签名授权验证并在验证通过的情况下返回存储在所述存储位置标识所指示的存储位置的数据块。

在一种可能的实现方式中,所述方法还包括:

从所述中央调度引擎接收所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在合并所述多个第二数据块之前如何对所述多个数据块进行重新排序;

在下载所述多个数据块之后并在对所述多个数据块进行合并之前,基于所述第二数据块排序对所述多个数据块重新排序。

在一种可能的实现方式中,所述方法还包括:

从所述中央调度引擎接收所述目标文件的后处理信息;

基于所述后处理信息对合并得到所述目标文件进行后处理。

在一种可能的实现方式中,所述方法还包括:

发送针对所述目标文件的删除请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;

从所述中央调度引擎接收所述目标文件的所述存储目的地;

基于所述存储目的地从所述各个目标数据中心删除所述多个数据块。

在一种可能的实现方式中,所述方法还包括:

针对每个所述数据块,从所述中央调度引擎接收该数据块的所述存储位置标识和第三授权签名信息;

所述基于所述存储目的地从所述各个目标数据中心删除所述多个数据块,包括:将所述存储位置标识和第三签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第三签名授权信息进行签名授权验证并在验证通过的情况下删除存储在所述存储位置标识所指示的存储位置的数据块

根据本公开的另一方面,提供了一种数据分布式存储的装置,所述装置应用于中央调度引擎,所述装置包括:使用比例获取模块,用于从用户端接收与多个数据中心一一对应的多个使用比例,所述多个使用比例是由用户设置的;上传请求接收模块,用于从所述用户端接收针对目标文件的上传请求;分割和存储目的确定模块,用于基于所述多个使用比例确定所述目标文件的分割指示和存储目的地,所述分割指示用于指示如何对所述目标文件进行分割以得到多个数据块,所述存储目的地用于指示每个所述数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心,其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例;分割和存储目的发送模块,用于发送所述分割指示和所述存储目的地至所述用户端,以指示所述用户端对所述目标文件进行分割并将分割得到的每个所述数据块存储至对应的所述目标数据中心。

在一种可能的实现方式中,所述装置还包括:

参考信息提供模块,用于在从所述用户端接收所述多个使用比例之前,向所述用户端提供用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,所述装置还包括:

第一签名授权获取模块,用于针对每个所述数据块,请求该数据块对应的目标数据中心为该数据块分配存储位置标识和第一签名授权信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第一签名授权信息用于在将该数据块存储至该目标数据中心时进行签名授权验证;

第一签名授权发送模块,发送该数据块的所述存储位置标识和所述第一签名授权信息至所述用户端。

在一种可能的实现方式中,所述装置还包括:

文件属性接收模块,用于从用户端接收所述目标文件的属性,所述属性包括所述目标文件的文件格式;

预处理信息确定模块,用于基于所述属性确定所述目标文件的预处理信息,所述预处理信息用于指示如何对所述目标文件进行预处理;

预处理信息发送模块,用于发送所述预处理信息至所述用户端。

在一种可能的实现方式中,所述预处理信息确定模块具体用于:

基于所述属性得到至少一种候选的预处理信息;

向所述用户端发送所述至少一种候选的预处理信息;

接收所述用户端发送的预处理选择指示,所述预处理选择指示用于指示被用户选中的所述候选的预处理信息;

确定所述预处理选择指示所指示的预处理信息为所述目标文件的预处理信息。

在一种可能的实现方式中,所述装置还包括:

第一排序指示发送模块,用于发送第一数据块排序指示至所述用户端,所述第一数据块排序指示用于指示所述用户端如何对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,所述装置还包括:

下载请求接收模块,用于从所述用户端接收针对所述目标文件的下载请求,所述下载请求包括所述目标文件的标识;

存储目的和合并获取模块,用于获取所述目标文件的所述存储目的地和合并指示,所述合并指示用于指示如何对下载得到的所述多个数据块进行合并以得到所述目标文件;

存储目的和合并发送模块,用于发送所述存储目的地和所述合并指示至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心下载对应的所述数据块并对下载的所述数据块进行合并。

在一种可能的实现方式中,所述装置还包括:

第二签名授权获取模块,用于针对每个所述数据块,获取该数据块的存储位置标识和第二授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第二签名授权信息用于在从目标数据中心下载该数据块时进行签名授权验证;

第二签名授权发送模块,用于发送所述存储位置标识和所述第二授权签名信息至所述用户端。

在一种可能的实现方式中,所述装置还包括:

第二排序指示获取模块,用于获取所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在对所述多个数据块合并之前如何对所述多个数据块进行重新排序;

第二排序指示发送模块,用于发送所述第二数据块排序指示至所述用户端。

在一种可能的实现方式中,所述装置还包括:

后处理信息获取模块,用于获取所述目标文件的后处理信息,所述后处理信息用于指示如何对合并得到的所述目标文件进行后处理;

后处理信息发送模块,用于发送所述后处理信息至所述用户端。

在一种可能的实现方式中,所述装置还包括:

删除请求获取模块,用于从所述用户端接收针对所述目标文件的删除请求,所述删除请求包括所述目标文件的标识;

存储目的获取模块,用于获取所述目标文件的所述存储目的地;

存储目的发送模块,用于发送所述存储目的地至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心删除对应的所述数据块。

在一种可能的实现方式中,所述装置还包括:

第三签名授权获取模块,用于针对每个所述数据块,获取该数据块的所述存储位置标识和第三授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第三签名授权信息用于在从目标数据中心删除该数据块时进行签名授权验证;

第三签名授权发送模块,用于发送所述存储位置标识和所述第三授权签名信息至所述用户端。

根据本公开的另一方面,提供了一种数据分布式存储的装置,所述装置应用于中央调度引擎,所述装置包括:使用比例接收模块,用于接收用户设置的与多个数据中心一一对应的多个使用比例并发送至中央调度引擎;上传请求发送模块,用于向所述中央调度引擎发送针对目标文件的上传请求;分割和存储目的接收模块,用于从所述中央调度引擎接收所述目标文件的分割指示和存储目的地;分割模块,用于基于所述分割指示对所述目标文件进行分割以得到多个数据块;上传模块,用于基于所述存储目的地将每个所述数据块存储至该数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心;其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件

11170315大小的比例为该数据中心对应的所述使用比例。

在一种可能的实现方式中,所述装置还包括:

参考信息接收模块,用于在接收用户设置的所述多个使用比例之前,从所述中央调度引擎接收用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,所述装置还包括:

第一签名授权接收模块,用于从所述中央调度引擎接收每个所述数据块的存储位置标识和第一签名授权信息;

所述上传模块具体用于:将该数据块和该数据块的所述存储位置标识和第一签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第一签名授权信息进行签名授权验证并在验证通过的情况下将该数据块存储在所述存储位置标识所指示的存储位置。

在一种可能的实现方式中,所述装置还包括:

属性发送模块,用于发送所述目标文件的属性至所述中央调度引擎,所述属性包括所述目标文件的文件格式;

预处理信息接收模块,用于从所述中央调度引擎接收所述目标文件的预处理信息,所述预处理信息是所述中央调度引擎基于所述目标文件的所述属性确定的;

预处理模块,用于在对所述目标文件进行分割前,基于所述预处理信息对所述目标文件进行预处理。

在一种可能的实现方式中,所述装置还包括:

候选预处理信息接收模块,用于在发送所述目标文件的属性至所述中央调度引擎之后,从所述中央调度引擎接收至少一种候选的预处理信息;

预处理选择接收模块,用于接收用户针对所述至少一种候选的预处理信息的选择操作;

预处理选择发送模块,用于发送预处理选择指示至所述中央调度引擎,所述预处理选择指示用于指示被用户选中的所述候选的预处理信息。

在一种可能的实现方式中,所述装置还包括:

第一排序指示接收模块,用于从所述中央调度引擎接收第一数据块排序指示;

第一排序模块,用于在对所述目标文件进行分割后,基于所述第一数据块排序指示对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,所述装置还包括:

下载请求发送模块,用于发送针对所述目标文件的下载请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;

存储目的和合并接收模块,用于从所述中央调度引擎接收所述目标文件的所述存储目的地和合并指示;

下载模块,用于基于所述存储目的地从所述各个目标数据中心下载所述多个数据块;

合并模块,用于基于所述合并指示对下载得到的所述多个数据块进行合并以得到所述目标文件。

在一种可能的实现方式中,所述装置还包括:

第二签名授权接收模块,用于从所述中央调度引擎接收该数据块的存储位置标识和第二授权签名信息;

所述合并模块具体用于:将所述存储位置标识和第二签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第二签名授权信息进行签名授权验证并在验证通过的情况下返回存储在所述存储位置标识所指示的存储位置的数据块。

在一种可能的实现方式中,所述装置还包括:

第二排序指示接收模块,用于从所述中央调度引擎接收所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在合并所述多个第二数据块之前如何对所述多个数据块进行重新排序;

第二排序模块,用于在下载所述多个数据块之后并在对所述多个数据块进行合并之前,基于所述第二数据块排序对所述多个数据块重新排序。

在一种可能的实现方式中,所述装置还包括:

后处理信息接收模块,用于从所述中央调度引擎接收所述目标文件的后处理信息;

后处理模块,用于基于所述后处理信息对合并得到所述目标文件进行后处理。

在一种可能的实现方式中,所述装置还包括:

删除请求发送模块,用于发送针对所述目标文件的删除请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;

存储目的接收模块,用于从所述中央调度引擎接收所述目标文件的所述存储目的地;

删除模块,用于基于所述存储目的地从所述各个目标数据中心删除所述多个数据块。

在一种可能的实现方式中,所述装置还包括:

第三签名授权接收模块,用于从所述中央调度引擎接收该数据块的所述存储位置标识和第三授权签名信息;

所述删除模块具体用于:针对每个所述数据块,将所述存储位置标识和第三签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第三签名授权信息进行签名授权验证并在验证通过的情况下删除存储在所述存储位置标识所指示的存储位置的数据块。

根据本公开的另一方面,提供了一种数据分布式存储的装置,该装置包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如上所述的任意方法。根据本公开的另一方面,提供了一种计算机可读存储介质,在所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如上所述的任意方法。

根据本公开,通过中央控制引擎根据用户设置的使用比例指示用户端对文件进行分割,并将分割得到的各个数据块按照该使用比例分别存储到各个数据中心,使得用户不被锁定至单个数据中心,而能够按照个人需要灵活调整其对各个数据中心的使用率,以便用户充分利用各个数据中心。此外,对文件进行分割并将分割得到的各个数据块分别存储至不同的数据中心,也进一步提高了存储的安全性。而且,根据本公开,在中央控制引擎的指导下,用户端直接与数据中心进行文件交互,而无需文件流经中央控制引擎,避免中央调度引擎成为制约整个系统的瓶颈,有利于使整个系统具有更好的性能和安全性。

根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。

附图说明

包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。

图1示出一种现有的将本地数据向云端转移的示意图。

图2示出另一现有的将本地数据向云端转移的示意图。

图3示出根据本公开的一个实施例的数据分布式存储的方法的流程图。

图4示出根据本公开的一个实施例的数据分布式存储的方法的流程图。

图5示出根据本公开的一个实施例的数据分布式存储的装置的结构框图。

图6示出根据本公开的一个实施例的数据分布式存储的装置的结构框图。

图7示出根据本公开的一个实施例的数据分布式存储的装置的结构框图。

图8示出了根据本公开的一个示例性实施例的云存储系统的交互示意图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

需要说明地是,本公开中的“第一”、“第二”、“第三”等仅是为了区分不同“上传”、“下载”、“删除”等不同描述主题,不用于对描述对象进行实质限定。

本文中的用户端,指特定用户所登录的用户端,而不用于限定其是同一客户端,也不用于限定其是同一设备上的客户端。

实施例1

图3示出根据本公开一实施例的数据分布式存储的方法的流程图。如图1所示,该方法包括下面的步骤。

步骤302,从用户端接收与多个数据中心一一对应的多个使用比例,所述多个使用比例是由用户设置的。

例如,设有数据中心a、b、c、d、e、f,则接收到的多个使用比例可以是:a:20%,b:20%,c:20%,d:20%,e:20%,f:0,也可以是a:20%,b:20%,c:20%,d:20%,e:20%,后者被认为默认数据中心f对应的使用比例是0%。二者均表示数据中心a、b、c、d、e各存储该目标文件的20%,数据中心f不用于存储该目标文件。

用户可在用户端输入该多个使用比例,用户可在默认的使用比例的基础上进行调整,用户也可选择直接采用默认的使用比例,等等,本公开对此不做限制。

在一种可能的实现方式中,在步骤302之前,所述方法还可包括:向所述用户端提供用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

上述数据中心的性能指标可以包括iops(随机读写)、吞吐量、可靠性中的部分或全部。除计费标准和性能指标外,数据中心的属性还可以包括数据中心的位置、所使用的连接技术(诸如某云服务采用的oss、某云服务采用的blob等)等。

上述实现方式中,中央调度引擎可根据大数据、用户的历史使用行为和/或目标文件的大小等,基于一定的推荐原则,向用户提供推荐的使用比例。例如,在一个示例中,中央调度引擎可以基于成本最优的原则得到一组推荐的使用比例,可以基于性能最优的原则得到一组推荐的使用比例,还可以基于成本和性能均衡的原则得到一组推荐的使用比例,并将这3组推荐的使用比例都提供给用户,以供用户参考和/或选择。

在本实现方式中,通过为用户提供参考信息,便于用户确定最符合自身需要的使用比例。

步骤304,从所述用户端接收针对目标文件的上传请求。

在一种可能的实现方式中,还可根据需要将该目标文件的简单属性发送给中央调度引擎,例如目标文件的文件格式和/或文件大小等。

步骤306,基于所述多个使用比例确定所述目标文件的分割指示和存储目的地,所述分割指示用于指示如何对所述目标文件进行分割以得到多个数据块,所述存储目的地用于指示每个所述数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心,其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例。

在一个示例中,设使用比例为:a:20%,b:20%,c:20%,d:20%,e:20%,,f:0,可考虑将目标文件分割成5的倍数个等大的数据块,例如5个、10个、15个、……,可结合具体情况来确定,例如,参考目标文件的大小,该分割指示可指示将该目标文件分割成10个等大的数据块。在该分割指示指示将目标文件分割成10个等大的数据块的情况下,存储目的地可指示其中2个数据块对应的目标数据中心为数据中心a,2个对应数据中心b、2个对应数据中心c、2个对应数据中心d、2个存储数据中心e。换言之,存储目的地可指示2个数据块存储至数据中心a,2个存储至数据中心b,2个存储至数据中心c,2个存储至数据中心d,2个存储至数据中心e。

在另一个示例中,设使用比例同样为:a:20%,b:20%,c:20%,d:20%,e:20%,f:0,分割指示可指示将目标文件分割成9个数据块,其中8个数据块等大,剩余1个数据块的大小是其他数据块大小的两倍。第一存储目的地可指示较大的数据块存储至a,其他8个等大的数据块两两对应分别剩余4个数据中心。

步骤308,发送所述分割指示和所述存储目的地至所述用户端,以指示所述用户端对所述目标文件进行分割并将分割得到的每个所述数据块存储至对应的所述目标数据中心。

例如,中央数据引擎可向该用户端发送配置文件,该配置文件可包括该分割指示和该存储目的地。

用户端可基于该分割指示运行本地的分割算法以对所述目标文件进行分割,并可基于所述存储目的地请求每个目标数据中心将对应的所述数据块存储在该目标数据中心。

在一种可能的实现方式中,所述方法还包括,针对每个所述数据块:请求该数据块对应的目标数据中心为该数据块分配存储位置标识和第一签名授权信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第一签名授权信息用于在将该数据块存储至该目标数据中心时进行签名授权验证;发送该数据块的所述存储位置标识和所述第一签名授权信息至所述用户端。

例如,中央数据引擎可通过上述配置文件将该存储位置和第一签名授权信息发送至用户端,即该配置配置文件可包括该存储位置和第一签名授权信息。该第一存储位置标识可以是能够用于唯一地标识数据块的存储位置的任意信息。

一些数据中心可能希望对要存储的每个数据块进行签名授权验证。根据本实现方式,用户端可将该数据块、该数据块的存储位置标识和第一签名授权信息关联地发送至对应的目标数据中心,该目标数据中心可先基于该第一签名授权信息进行签名授权验证,如果验证通过,则将该数据块存储至该存储位置标识所指示的存储位置;如果验证不通过,则不存储该数据块。

本实现方式中,由中央调度引擎向云服务提供者申请每个数据块的存储位置和第一签名授权信息(例如,数字签名)并下发至用户端,从而用户端无需具备独立访问云服务的全部权限,大大提高了整个系统的风险可控性和安全性。

上述实施例中,中央控制引擎根据用户设置的使用比例指示用户端如何对文件进行分割和存储以满足该使用比例,使得用户能够按照需要灵活调整其对各个数据中心的使用率。此外,对文件进行分割以及将分割得到的数据块分别存储至不同数据中心,这也有利于提高数据的安全性。而且,在中央控制引擎的指示下,用户端直接与远端数据中心进行存储交互,存储的数据无需流经中央控制引擎,避免中央调度引擎成为制约整个系统的瓶颈,使得整个系统具有更好的性能和安全性。

在一种可能的实现方式中,所述方法还包括:从用户端接收所述目标文件的属性,所述属性包括所述目标文件的文件格式;基于所述属性确定所述目标文件的预处理信息,所述预处理信息用于指示如何对所述目标文件进行预处理;发送所述预处理信息至所述用户端。

例如,中央数据引擎也可通过上述配置文件将该预处理信息发送至用户端。

文件格式可以指“图片”、“视频”等,也可指例如“jpeg”、“avi”等,也可以同时包括这两者,例如,如果目标文件的文件格式可能是“图片,jpeg”。文件的属性还可包括文件的大小等。这些均可根据需要设置,本公开对此不作限定。

该预处理信息可以包括指示压缩算法的信息、指示去重算法的信息、指示加密算法的信息等等中的部分或全部,具体可根据需要设置,本公开对此不作限定。用户端可基于接收到的所述预处理信息运行本地的相应算法模块以对该目标文件进行预处理。

在上述实现方式的一个示例中,基于所述属性确定所述目标文件的预处理信息,包括:基于所述属性得到至少一种候选的预处理信息;向所述用户端发送所述至少一种候选的预处理信息;接收所述用户端发送的预处理选择指示,所述预处理选择指示用于指示被用户选中的所述候选的预处理信息;确定所述预处理选择指示所指示的预处理信息为所述目标文件的预处理信息。

例如,中央调度引擎可基于文件的属性提供多种可选的压缩算法、多种可选的去重算法以及多种可选的加密算法等等。用户可一一选择其希望采用的加密算法、去重算法和加密算法等,并通过预处理选择指示发送给中央调度引擎,以使得中央调度引擎确定目标文件的预处理信息。

根据本示例,最终确定的预处理方案不仅适用于目标文件的属性,还可满足用户的偏好,有利于进一步提高用户体验。

在一种可能的实现方式里,所述方法还包括:发送第一数据块排序指示至所述用户端,所述第一数据块排序指示用于指示所述用户端如何对分割得到的所述多个数据块重新排序。

例如,中央数据引擎可通过上述配置文件将该数据块排序指示发送至用户端。

根据本示例,用户端还可根据第一数据块排序指示对分割得到的各个数据块进行重新排序,然后再将重新排序后的各个数据块存储至对应的目标数据中心,从而有利于进一步增加数据安全性。

在一种可能的实现方式,中央调度引擎可以通过上述配置文件下发针对该目标文件的全流程数据处理指示和第一签名授权信息,例如,该全流程数据处理指示可以包括诸如指示压缩算法、去重算法、加密算法等的预处理信息、分割指示、存储目的地、数据块排序指示等。

该配置文件可存储至某个数据中心,例如,中央调度引擎可在配置文件中指示用户端将其存储至某个数据中心。

以上从上传文件的角度对根据本公开的云端数据存储方法进行了介绍。以下将从下载文件和删除文件的角度的方法进行相应介绍。

先从下载文件的角度进行介绍。

在一种可能的实现方式中,所述方法还可包括:从所述用户端接收针对所述目标文件的下载请求,所述下载请求包括所述目标文件的标识;获取所述目标文件的所述存储目的地和合并指示,所述合并指示用于指示如何对下载得到的所述多个数据块进行合并以得到所述目标文件;发送所述存储目的地和所述合并指示至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心下载对应的所述数据块并对下载的所述数据块进行合并。

下载数据块的过程可以看做是上传数据块的逆过程。合并多个数据块以得到目标文件的过程可以看做是分割目标文件以得到多个数据块的过程的逆过程。

在一种可能的实现方式中,所述方法还可包括:针对每个所述数据块:获取该数据块的存储位置标识和第二授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第二签名授权信息用于在从目标数据中心下载该数据块时进行签名授权验证;发送所述存储位置标识和所述第二授权签名信息至所述用户端。

在一种可能的实现方式中,所述方法还可包括:获取所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在对所述多个数据块合并之前如何对所述多个数据块进行重新排序;发送所述第二数据块排序指示至所述用户端。

对下载后的数据块重新排序的过程可以看做是对上传前的数据块进行重新排序的过程的逆过程。

在一种可能的实现方式中,所述方法还可包括:获取所述目标文件的后处理信息,所述后处理信息用于指示如何对合并得到的所述目标文件进行后处理;发送所述后处理信息至所述用户端。

下载目标文件后的后处理过程可以看做是上传目标文件前的预处理过程的逆过程。

中央调度引擎可基于上传目标文件时使用的配置信息,获取下载时需使用的存储目的地、合并指示、存储位置标识、第二数据块排序指示、后处理信息等,并请求各个目标数据中心为下载存储在存储位置标识所指示的存储位置处的数据块的操作分配第二签名授权信息,然后通过配置文件将下载所需的全流程数据处理指示和第二签名授权信息一起下发给用户端。

下文从删除文件的角度进行介绍。

在一种可能的实现方式中,所述方法还包括:从所述用户端接收针对所述目标文件的删除请求,所述删除请求包括所述目标文件的标识;获取所述目标文件的所述存储目的地;发送所述存储目的地至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心删除对应的所述数据块。

在一种可能的实现方式中,所述方法还包括:针对每个所述数据块:获取该数据块的所述存储位置标识和第三授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第三签名授权信息用于在从目标数据中心删除该数据块时进行签名授权验证;发送所述存储位置标识和所述第三授权签名信息至所述用户端。

中央调度引擎可基于上传目标文件时使用的配置信息,获取删除时需使用的存储目的地、合并指示、存储位置标识、第二数据块排序指示、后处理信息等,并请求各个目标数据中心为删除存储在存储位置标识所指示的存储位置处的数据块的操作分配第三签名授权信息,然后通过配置文件将删除所需的这些全流程处理指示和第三签名授权信息一起下发给用户端。

实施例2

图4示出根据本公开一实施例的数据分布式存储的方法的流程图。该方法可应用于用户端。如图1所示,该方法包括以下步骤:

步骤402,接收用户设置的与多个数据中心一一对应的多个使用比例并发送至中央调度引擎;

步骤404,向所述中央调度引擎发送针对目标文件的上传请求;

步骤406,从所述中央调度引擎接收所述目标文件的分割指示和存储目的地;

步骤408,基于所述分割指示对所述目标文件进行分割以得到多个数据块;

步骤410,基于所述存储目的地将每个所述数据块存储至该数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心,其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例。

在一种可能的实现方式中,在步骤402之前,所述方法还包括:从所述中央调度引擎接收用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,所述方法还包括:从所述中央调度引擎接收每个所述数据块的存储位置标识和第一签名授权信息。基于所述存储目的地将每个所述数据块存储至该数据块对应的目标数据中心(步骤410)可以包括:针对每个所述数据块,将该数据块和该数据块的所述存储位置标识和第一签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第一签名授权信息进行签名授权验证并在验证通过的情况下将该数据块存储在所述存储位置标识所指示的存储位置。

在一种可能的实现方式中,所述方法还包括:发送所述目标文件的属性至所述中央调度引擎,所述属性包括所述目标文件的文件格式;从所述中央调度引擎接收所述目标文件的预处理信息,所述预处理信息是所述中央调度引擎基于所述目标文件的所述属性确定的;在对所述目标文件进行分割前,基于所述预处理信息对所述目标文件进行预处理。

在一种可能的实现方式中,所述方法还包括:从所述中央调度引擎接收第一数据块排序指示;在对所述目标文件进行分割后,基于所述第一数据块排序指示对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,所述方法还包括:发送针对所述目标文件的下载请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;从所述中央调度引擎接收所述目标文件的所述存储目的地和合并指示;基于所述存储目的地从所述各个目标数据中心下载所述多个数据块;基于所述合并指示对下载得到的所述多个数据块进行合并以得到所述目标文件。

在一种可能的实现方式中,所述方法还包括:针对每个数据块,从所述中央调度引擎接收该数据块的存储位置标识和第二授权签名信息。所述基于所述存储目的地从所述各个目标数据中心下载所述多个数据块,包括:针对每个所述数据块,将该数据块的所述存储位置标识和第二签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第二签名授权信息进行签名授权验证并在验证通过的情况下返回存储在所述存储位置标识所指示的存储位置的数据块。

在一种可能的实现方式中,所述方法还包括:从所述中央调度引擎接收所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在合并所述多个第二数据块之前如何对所述多个数据块进行重新排序;在下载所述多个数据块之后并在对所述多个数据块进行合并之前,基于所述第二数据块排序对所述多个数据块重新排序。

在一种可能的实现方式中,所述方法还包括:从所述中央调度引擎接收所述目标文件的后处理信息;基于所述后处理信息对合并得到所述目标文件进行后处理。

在一种可能的实现方式中,所述方法还包括:发送针对所述目标文件的删除请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;从所述中央调度引擎接收所述目标文件的所述存储目的地;基于所述存储目的地从所述各个目标数据中心删除所述多个数据块。

在一种可能的实现方式中,所述方法还包括:针对每个所述数据块,从所述中央调度引擎接收该数据块的所述存储位置标识和第三授权签名信息;所述基于所述存储目的地从所述各个目标数据中心删除所述多个数据块,包括:将所述存储位置标识和第三签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第三签名授权信息进行签名授权验证并在验证通过的情况下删除存储在所述存储位置标识所指示的存储位置的数据块。

实施例3

图5示出根据本公开的一个实施例的数据分布式存储的装置500的结构框图。该装置可应用于中央调度引擎。如图5所述,装置500包括:使用比例获取模块502,用于从用户端接收与多个数据中心一一对应的多个使用比例,所述多个使用比例是由用户设置的;上传请求接收模块504,用于从所述用户端接收针对目标文件的上传请求;分割和存储目的确定模块506,用于基于所述多个使用比例确定所述目标文件的分割指示和存储目的地,所述分割指示用于指示如何对所述目标文件进行分割以得到多个数据块,所述存储目的地用于指示每个所述数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心,其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例;分割和存储目的发送模块508,用于发送所述分割指示和所述存储目的地至所述用户端,以指示所述用户端对所述目标文件进行分割并将分割得到的每个所述数据块存储至对应的所述目标数据中心.

在一种可能的实现方式中,装置500还包括参考信息提供模块,用于在从所述用户端接收所述多个使用比例之前,向所述用户端提供用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,装置500还包括:第一签名授权获取模块,用于针对每个所述数据块,请求该数据块对应的目标数据中心为该数据块分配存储位置标识和第一签名授权信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第一签名授权信息用于在将该数据块存储至该目标数据中心时进行签名授权验证;第一签名授权发送模块,发送该数据块的所述存储位置标识和所述第一签名授权信息至所述用户端。

在一种可能的实现方式中,装置500还包括:文件属性接收模块,用于从用户端接收所述目标文件的属性,所述属性包括所述目标文件的文件格式;预处理信息确定模块,用于基于所述属性确定所述目标文件的预处理信息,所述预处理信息用于指示如何对所述目标文件进行预处理;预处理信息发送模块,用于发送所述预处理信息至所述用户端。

在一种可能的实现方式中,所述预处理信息确定模块具体用于:基于所述属性得到至少一种候选的预处理信息;向所述用户端发送所述至少一种候选的预处理信息;接收所述用户端发送的预处理选择指示,所述预处理选择指示用于指示被用户选中的所述候选的预处理信息;确定所述预处理选择指示所指示的预处理信息为所述目标文件的预处理信息。

在一种可能的实现方式中,装置500还包括:第一排序指示发送模块,用于发送第一数据块排序指示至所述用户端,所述第一数据块排序指示用于指示所述用户端如何对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,装置500还包括:下载请求接收模块,用于从所述用户端接收针对所述目标文件的下载请求,所述下载请求包括所述目标文件的标识;存储目的和合并获取模块,用于获取所述目标文件的所述存储目的地和合并指示,所述合并指示用于指示如何对下载得到的所述多个数据块进行合并以得到所述目标文件;存储目的和合并发送模块,用于发送所述存储目的地和所述合并指示至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心下载对应的所述数据块并对下载的所述数据块进行合并。

在一种可能的实现方式中,装置500还包括:第二签名授权获取模块,用于针对每个所述数据块,获取该数据块的存储位置标识和第二授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第二签名授权信息用于在从目标数据中心下载该数据块时进行签名授权验证;第二签名授权发送模块,用于发送所述存储位置标识和所述第二授权签名信息至所述用户端。

在一种可能的实现方式中,装置500还包括:第二排序指示获取模块,用于获取所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在对所述多个数据块合并之前如何对所述多个数据块进行重新排序;第二排序指示发送模块,用于发送所述第二数据块排序指示至所述用户端。

在一种可能的实现方式中,装置500还包括:后处理信息获取模块,用于获取所述目标文件的后处理信息,所述后处理信息用于指示如何对合并得到的所述目标文件进行后处理;后处理信息发送模块,用于发送所述后处理信息至所述用户端。

在一种可能的实现方式中,装置500还包括:删除请求获取模块,用于从所述用户端接收针对所述目标文件的删除请求,所述删除请求包括所述目标文件的标识;存储目的获取模块,用于获取所述目标文件的所述存储目的地;存储目的发送模块,用于发送所述存储目的地至所述用户端,以指示所述用户端从所述存储目的地所指示的目标数据中心删除对应的所述数据块。

在一种可能的实现方式中,装置500还包括:第三签名授权获取模块,用于针对每个所述数据块,获取该数据块的所述存储位置标识和第三授权签名信息,所述存储位置标识用于指示该数据块在该目标数据中心中的存储位置,所述第三签名授权信息用于在从目标数据中心删除该数据块时进行签名授权验证;第三签名授权发送模块,用于发送所述存储位置标识和所述第三授权签名信息至所述用户端。

实施例4

图6示出根据本公开的一个实施例的数据分布式存储的装置600的结构框图。装置600可应用于用户端。如图6所示,装置600包括:使用比例接收模块602,用于接收用户设置的与多个数据中心一一对应的多个使用比例并发送至中央调度引擎;上传请求发送模块604,用于向所述中央调度引擎发送针对目标文件的上传请求;分割和存储目的接收模块606,用于从所述中央调度引擎接收所述目标文件的分割指示和存储目的地;分割模块608,用于基于所述分割指示对所述目标文件进行分割以得到多个数据块;上传模块610,用于基于所述存储目的地将每个所述数据块存储至该数据块对应的目标数据中心,每个所述数据块对应的目标数据中心是所述多个数据中心中用于存储该数据块的数据中心。其中,存储至所述多个数据中心中的每个数据中心的所述数据块的总大小占所述目标文件大小的比例为该数据中心对应的所述使用比例。

在一种可能的实现方式中,装置600还包括:参考信息接收模块,用于在接收用户设置的所述多个使用比例之前,从所述中央调度引擎接收用于确定所述多个使用比例的参考信息,所述参考信息包括所述多个数据中心中每个数据中心的属性和/或至少一组推荐的使用比例,其中,每个数据中心的所述属性包括该数据中心的计费标准和性能指标,每组所述推荐的使用比例包括与所述多个数据中心一一对应的多个使用比例。

在一种可能的实现方式中,装置600还包括:第一签名授权接收模块,用于从所述中央调度引擎接收每个所述数据块的存储位置标识和第一签名授权信息。所述上传模块610具体用于:将该数据块和该数据块的所述存储位置标识和第一签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第一签名授权信息进行签名授权验证并在验证通过的情况下将该数据块存储在所述存储位置标识所指示的存储位置。

在一种可能的实现方式中,装置600还包括:属性发送模块,用于发送所述目标文件的属性至所述中央调度引擎,所述属性包括所述目标文件的文件格式;预处理信息接收模块,用于从所述中央调度引擎接收所述目标文件的预处理信息,所述预处理信息是所述中央调度引擎基于所述目标文件的所述属性确定的;预处理模块,用于在对所述目标文件进行分割前,基于所述预处理信息对所述目标文件进行预处理。

在一种可能的实现方式中,装置600还包括:候选预处理信息接收模块,用于在发送所述目标文件的属性至所述中央调度引擎之后,从所述中央调度引擎接收至少一种候选的预处理信息;预处理选择接收模块,用于接收用户针对所述至少一种候选的预处理信息的选择操作;预处理选择发送模块,用于发送预处理选择指示至所述中央调度引擎,所述预处理选择指示用于指示被用户选中的所述候选的预处理信息。

在一种可能的实现方式中,装置600还包括:第一排序指示接收模块,用于从所述中央调度引擎接收第一数据块排序指示;第一排序模块,用于在对所述目标文件进行分割后,基于所述第一数据块排序指示对分割得到的所述多个数据块重新排序。

在一种可能的实现方式中,装置600还包括:下载请求发送模块,用于发送针对所述目标文件的下载请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;存储目的和合并接收模块,用于从所述中央调度引擎接收所述目标文件的所述存储目的地和合并指示;下载模块,用于基于所述存储目的地从所述各个目标数据中心下载所述多个数据块;合并模块,用于基于所述合并指示对下载得到的所述多个数据块进行合并以得到所述目标文件。

在一种可能的实现方式中,装置600还包括:第二签名授权接收模块,用于从所述中央调度引擎接收该数据块的存储位置标识和第二授权签名信息。合并模块具体用于:将所述存储位置标识和第二签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第二签名授权信息进行签名授权验证并在验证通过的情况下返回存储在所述存储位置标识所指示的存储位置的数据块。

在一种可能的实现方式中,装置600还包括:第二排序指示接收模块,用于从所述中央调度引擎接收所述目标文件的第二数据块排序指示,所述第二数据块排序指示用于指示在下载得到所述多个数据块之后以及在合并所述多个第二数据块之前如何对所述多个数据块进行重新排序;第二排序模块,用于在下载所述多个数据块之后并在对所述多个数据块进行合并之前,基于所述第二数据块排序对所述多个数据块重新排序。

在一种可能的实现方式中,装置600还包括:后处理信息接收模块,用于从所述中央调度引擎接收所述目标文件的后处理信息;后处理模块,用于基于所述后处理信息对合并得到所述目标文件进行后处理。

在一种可能的实现方式中,装置600还包括:删除请求发送模块,用于发送针对所述目标文件的删除请求至所述中央调度引擎,所述下载请求包括所述目标文件的标识;存储目的接收模块,用于从所述中央调度引擎接收所述目标文件的所述存储目的地;删除模块,用于基于所述存储目的地从所述各个目标数据中心删除所述多个数据块。

在一种可能的实现方式中,装置600还包括:第三签名授权接收模块,用于从所述中央调度引擎接收该数据块的所述存储位置标识和第三授权签名信息;所述删除模块具体用于:针对每个所述数据块,将所述存储位置标识和第三签名授权信息关联地发送至该数据块对应的目标数据中心,以请求该目标数据中心使用所述第三签名授权信息进行签名授权验证并在验证通过的情况下删除存储在所述存储位置标识所指示的存储位置的数据块。

图7是根据一示例性实施例示出的一种用于数据分布式存储的装置700的框图。装置700可被提供为安装用户端的设备或安装中央调度引擎的设备。参照图7,装置700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述方法。

装置700还可以包括一个电源组件726被配置为执行装置700的电源管理,一个有线或无线网络接口750被配置为将装置700连接到网络,和一个输入输出(i/o)接口758。装置700可以操作基于存储在存储器732的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器832,上述计算机程序指令可由装置800的处理组件822执行以完成上述方法。

应用示例

图8示出了根据本公开的一个示例性实施例的云存储系统的交互示意图。如图所示,该云存储系统包括用户端802、中央调度引擎804和多个数据中心806。中央调度引擎804对用户进行验证。验证通过后,中央调度引擎804根据用户端802的上传/下载/删除请求等,请求各个数据中心806分配相应的签名授权信息,并将该授权验证信息和全流程数据处理配置指示下发给用户端802。用户端802基于接收到的该授权验证信息和全流程数据处理指示在本端运行相应算法以对数据进行处理,并直接与各个数据中心806进行数据交互。每个数据中心806可以是私有云,也可以是公有云,本公开对此不作限定。

以下以应用本公开的一个具体应用示例为例进行说明。

该示例中,某用户的注册过程如下。

1、用户在注册时,需提供用于唯一标识用户的用户id,并设置对应于该用户id的登录密码。用户id和登录密码会被保存在中央调度引擎,作为用户登录的认证依据。

2、在用户端,在用户注册时,为该用户产生一个唯一的密钥,可称之为主密钥,该主密钥用于对用户端的数据进行加密。

3、在用户注册时,向用户提供多个数据中心的属性,每个数据中心的属性包括该数据中心的计费标准、性能指标、位置、所使用的连接技术等。

4、用户输入自己期望的与多个数据中心对应的多个使用比例,用户端将该使用比例发送至中央调度引擎,中央调度引擎可保存该使用比例。后续用户可根据需要随时调整该使用比例,每次调整后,用户端都将更新后的使用比例发送至中央调度引擎。

该示例中,某次用户登录并上传文件的过程如下。

s1、在用户端,用户输入用户id和登录密码,并输入主密钥进行双向确认。

s2、(可选地)用户端从中央调度引擎交互取得用户对各个数据中心的使用比例和使用量,同时取得各个数据中心的属性。用户可确定是否调整当前使用的数据中心和相应使用比例,如果调整,则调整后的被选用的数据中心和相应使用比例会被发送至中央调度引擎。

s3、用户端可加载目标文件,并将目标文件的属性,该属性包括文件大小和文件类型发送至中央调度引擎。

s4、中央调度引擎基于用户选用的数据中心和相应使用比例,并考虑文件的大小,确定目标文件的分割指示和存储目的地。

中央调度引擎请求分割后的每个数据块对应的目标数据中心为该数据块分配存储位置标识和第一签名授权信息。

中央调度引擎基于文件类型为用户端提供至少一个候选的压缩算法、至少一种候选的去重算法和至少一种候选的加密算法。用户可在用户端选择其中一种压缩算法、一种去重算法和一种加密算法,并通过预处理选择指示告知中央调度引擎。

s5、中央调度引擎向用户端下发配置文件,该配置文件可以包括第一签名授权信息和全流程处理处理指示,该全流程处理指示可以包括指示压缩算法的信息、指示去重算法的信息、指示加密算法的信息、分割指示、指示数据块排序算法的信息、每个数据块要存储的数据中心和在该数据中心中的存储位置标识。该配置文件中还包括指示将该配置文件存储至某数据中心的某存储位置的存储信息。

s6、目标文件可以被看做二进制数据流。用户端先给目标文件映射的二进制数据流添加校验码,然后根据配置文件的指导,运行本地算法模块对目标文件进行数据处理,并将数据块传输到远端数据中心。在传输之前,用户端先与该远端数据中心建立加密通道。

s7、用主密钥对该配置文件进行加密,并将该配置文件存储到所指示的数据中心的存储位置。

s8、用户端传输完所有数据块后,通知中央调度引擎。中央调度引擎标记目标文件已上传完毕。中央调度引擎还记录配置文件自身的存储信息。同时用户端以用户指定的方式通知用户上传成功。

该示例中,某次用户登录并下载文件的过程如下。

s1、在用户端,用户输入用户id和登录密码,并输入主密钥进行双向确认。

s2、用户在文件树中选择需下载的目标文件以及下载后的文件的保存路径。用户端将选中的目标文件的标识发送至中央调度引擎。

s3、中央调度引擎在所记录的存储信息指示的位置取回上传目标文件时使用的配置文件,并下发给用户端。

s4、用户端使用主密钥对该配置文件进行解密,并将解密后的配置文件发送至中央调度引擎。

s5、中央调度引擎根据上传时使用的配置信息生成下载需使用的配置信息。下载需使用的配置信息包括下载的全流程数据处理指示。下载的处理流程是上传的处理流程的逆过程。

在此期间,中央调度引擎请求每个数据块对应的目标数据中心为下载该数据块分配第二签名授权信息。

该第二签名授权信息和下载需使用的其他配置信息一起以配置文件的形式被下发到用户端。

s6、用户端在该配置文件的指导下从远端的数据中心下载各个数据块并进行还原。

s7,、用户端还对还原后的数据进行校验。如果校验成功,则以用户指定的形式保存文件并通知用户下载成功。

该示例中,某次用户登录并删除文件的过程如下。

s1、在用户端,用户输入用户id和登录密码,并输入主密钥进行双向确认。

s2、用户在文件树中选择需删除的目标文件。用户端将选中的目标文件的标识发送至中央调度引擎。

s3、中央调度引擎在所记录的存储信息指示的位置取回上传目标文件时使用的配置文件,并下发给用户端。

s4、用户端使用主密钥对该配置文件进行解密,并将解密后的配置文件发送至中央调度引擎。

s5、中央调度引擎根据上传时使用的配置信息生成删除需使用的配置信息。

在此期间,中央调度引擎请求每个数据块对应的目标数据中心为删除该数据块分配第三签名授权信息。

该第三签名授权信息和删除需使用的其他配置信息一起以配置文件的形式被下发到用户端。

s6、用户端在该配置文件的指导下,直接建立与各个数据中心的加密通道连接,并于连接中触发对各个数据块的删除动作。

s7、当从远端数据中心删除所有数据块时,用户端通知中央调度引擎,中央调度引擎中可标识已完成对该目标文件的删除。同时用户端以用户指定的方式通知用户。

本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1