发明内容
为了解决上述技术问题,本发明提供一种云存储系统中文件的管理方法、云存储系统及云端服务器,有效提高备份文件的可靠性和安全性。
一种云存储系统中文件的管理方法,其特征在于,所述管理方法包括:
步骤A、云端服务器将待存储的文件划分为多个子文件;
步骤B、所述云端服务器将多个子文件中的每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中;
步骤C、当所述云端服务器接收到下载所述文件的请求后,所述云端服务器从所述云存储服务器组群中获取与所述文件相关的多个子文件,并根据所述多个子文件生成所述文件。
由上述技术方案可知,本发明的实施例具有如下有益效果:
(1)通过云端服务器将待存储的文件划分为多个子文件,然后以每个子文件重复保存至少一次的方式,将每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中,当其中一个云存储服务器出现故障时,云端服务器也可以从其他云存储服务器获取得到该子文件,确保用户终端能够下载得到完整的文件。
(2)进一步,云端服务器可从多个子文件中依次选取至少两个子文件,以每个子文件至少重复保存一次的方式,将依次选取的至少两个子文件分别保存到云存储服务器组群中的不同的云存储服务器,使得云端服务器可从云存储服务器组群中的任意的至少两个云端存储服务器中获取与文件相关的多个子文件,并根据获取的多个子文件组合生成文件,减少了因云存储服务器损坏造成无法获取完整文件的风险。
(3)将待存储的文件划分为多个子文件进行保存,每个云存储服务器都只是整个文件的一部分,也减少了文件内容泄露的风险。
具体实施方式
在本发明的实施例中,云端服务器将待存储的文件划分为多个子文件;然后云端服务器将多个子文件中的每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中;当云端服务器接收到下载文件的请求后,云端服务器从云存储服务器组群中获取与文件相关的多个子文件,并根据多个子文件生成文件。
为了使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细地说明。在此,本发明的示意性实施例及说明用于解释本发明,但并不作为对本发明的限定。
<实施例一>
参见图1,为本发明的实施例中云存储系统中文件的管理方法的流程图,具体步骤如下:
步骤101、云端服务器接收待存储的文件。
在本发明的实施例中,云端服务器可接收来自用户终端的待存储的文件,该文件可以是备份文件,例如备份的用户终端的通讯录、备份的用户终端的系统文件等,该文件也可以是共享文件,例如共享的应用程序文件、共享的音视频文件等。上述用户终端可以是计算机、移动电话、平板电脑等终端设备。
步骤102、云端服务器将待存储的文件划分为多个子文件。
也就是,通过云端服务器将待存储的文件划分为两个子文件,或至少三个子文件,例如通过云端服务器将待存储的文件A划分为子文件A1、子文件A2和子文件A3,或者将文件A划分为子文件A1、子文件A2、子文件A3和A4子文件。
在本发明的实施例中,云端服务器可根据预定策略进行文件的划分处理,该预定策略可以设置为将文件划分为所占空间相等的多个子文件。当然可以理解的是,在本实施例中并不限定该预定策略的具体内容。
在步骤102之后,云端服务器可记录多个子文件与文件的对应关系,例如记录子文件A1、子文件A2和子文件A3与文件A的对应关系,记录子文件A1、子文件A2、子文件A3和子文件A4与文件A的对应关系。
步骤103、云端服务器将多个子文件中的每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中。
在本发明的实施例中,云存储服务器组群中包括多个云存储服务器,其中云存储服务器用于存储子文件。
在本发明的实施例中,以每个子文件重复保存至少一次的方式,将每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中,当其中一个云存储服务器出现故障时,云端服务器也可以从其他云存储服务器获取得到该子文件,确保用户终端能够下载得到完整的文件。下面通过以下两种方式详细介绍步骤103的实现方式:
方式一、假设云存储服务器组群中包括:第一云存储服务器、第二云存储服务器和第三云存储服务器,以将文件A划分为子文件A1、子文件A2和子文件A3为例,在执行步骤103时,云端服务器将子文件A1重复保存到第一云存储服务器和第二云存储服务器中,云端服务器将子文件A2重复保存到第一云存储服务器和第三云存储服务器中,云端服务器将子文件A3重复保存到第二云存储服务器和第三云存储服务器中,参见下表1
第一云存储服务器 |
子文件A1和子文件A2 |
第二云存储服务器 |
子文件A1和子文件A3 |
第三云存储服务器 |
子文件A2和子文件A3 |
方式二、假设云存储服务器组群中包括:第一云存储服务器、第二云存储服务器、第三云存储服务器和第四云存储服务器,以将文件A划分为子文件A1、子文件A2、子文件A3和子文件A4为例,在执行步骤103时,云端服务器将子文件A1重复保存到第一云存储服务器、第二云存储服务器和第三云存储服务器中,云端服务器将子文件A2重复保存到第一云存储服务器和第二云存储服务器和第四云存储服务器中,云端服务器将子文件A3重复保存到第一云存储服务器和第三云存储服务器和第四云存储服务器中,云端服务器将文件子A4重复保存到第二云存储服务器和第三云存储服务器和第四云存储服务器中,参见下表2:
第一云存储服务器 |
子文件A1、子文件A2、子文件A3 |
第二云存储服务器 |
子文件A1、子文件A2、子文件A4 |
第三云存储服务器 |
子文件A1、子文件A3、子文件A4 |
第四云存储服务器 |
子文件A2、子文件A3、子文件A4 |
在本发明的另一实施例中,步骤103可采用以下方式实现:云端服务器从多个子文件中依次选取至少两个子文件,以每个子文件至少重复保存一次的方式,将依次选取的至少两个子文件分别保存到云存储服务器组群中的不同的云存储服务器。下面通过以下两种方式详细介绍步骤103的实现方式:
方式一、假设云存储服务器组群中包括:第一云存储服务器、第二云存储服务器和第三云存储服务器,以将文件A划分为子文件A1、子文件A2和子文件A3为例,在执行步骤103时,云端服务器从子文件A1、子文件A2和子文件A3首先选取子文件A1和子文件A2保存到第一云存储服务器,云端服务器选取子文件A1和A3保存到第二云存储服务器中,云端服务器选取子文件A2和子文件A3保存第三云存储服务器中,其中每个子文件至少重复保存一次,参见下表3
第一云存储服务器 |
子文件A1和子文件A2 |
第二云存储服务器 |
子文件A1和子文件A3 |
第三云存储服务器 |
子文件A2和子文件A3 |
上述依次选取两个子文件是指:从子文件A1、子文件A2和子文件A3依次选取得到子文件A1和子文件A2,子文件A1和子文件A3,以及子文件A2和子文件A3。且由上表可知,子文件A1在云存储服务器组群中重复保存了一次,子文件A2在云存储服务器组群中重复保存了一次,子文件A3在云存储服务器组群中重复保存了一次。
方式二、假设云存储服务器组群中包括:第一云存储服务器、第二云存储服务器、第三云存储服务器和第四云存储服务器,以将文件A划分为子文件A1、子文件A2、子文件A3和子文件A4为例,在执行步骤103时,云端服务器选取子文件A1、子文件A2和子文件A3保存到第一云存储服务器中,云端服务器选取子文件A1、子文件A2和子文件A4保存到第二云存储服务器中,云端服务器选取子文件A1、子文件A3和子文件A4保存到第三云存储服务器中,云端服务器选取子文件A2、子文件A3和子文件A4保存到第四云存储服务器中,其中每个子文件至少重复保存一次,参见下表4:
第一云存储服务器 |
子文件A1、子文件A2、子文件A3 |
第二云存储服务器 |
子文件A1、子文件A2、子文件A4 |
第三云存储服务器 |
子文件A1、子文件A3、子文件A4 |
第四云存储服务器 |
子文件A2、子文件A3、子文件A4 |
上述依次选取三个子文件是指:从子文件A1、子文件A2、子文件A3和子文件A4依次选取得到子文件A1、子文件A2和子文件A3,子文件A1、子文件A2和子文件A4,子文件A1、子文件A3和子文件A4,以及子文件A2、子文件A3和子文件A4。且由上表可知,子文件A1在云存储服务器组群中重复保存了两次,子文件A2在云存储服务器组群中重复保存了两次,子文件A3在云存储服务器组群中重复保存了两次,子文件A4在云存储服务器组群中重复保存了两次。
在本发明的实施例中,各个子文件采用步骤103中的方式存储,减少了因云存储服务器损坏造成无法获取完整文件的风险,文件分为多个子文件进行保存,每个云存储服务器都只是整个文件的一部分,也减少了文件内容泄露的风险。
在执行完步骤103之后,该管理方法还包括:云端服务器记录每个子文件与云存储服务器之间的存储对应关系。当需要下载某子文件时,云端服务器可根据该存储对应关系快速与存储有该子文件的云存储服务器建立连接。
步骤104、当云端服务器接收到下载文件的请求后,云端服务器从云存储服务器组群中获取与文件相关的多个子文件,并根据多个子文件生成文件。
在本发明的实施例中,步骤104可包括:云端服务器接收来自用户终端的下载文件的请求;然后云端服务器从云存储服务器组群中的任意至少两个云端存储服务器中获取与文件相关的多个子文件;最后云端服务器将获取的多个子文件组合生成文件。
参见表1,以将文件A划分为子文件A1、子文件A2和子文件A3为例,云端服务器接收到下载文件A的请求后,云端服务器从第一云存储服务器、第二云存储服务器和第三云存储服务器中的任意两个云存储服务器中获取与文件A相关子文件A1、子文件A2、子文件A3,例如从第一云存储服务器和第三云存储服务器获取与文件A相关子文件A1、子文件A2、子文件A3。
在本发明的另一实施例中,在执行步骤104之前,该管理方法还包括:云端服务器检测云存储服务器组群中的云存储服务器是否都工作正常。若云存储服务器存在故障,则从其他正常的云存储服务器中获取子文件。
也就是,当第一云存储服务器、第二云存储服务器和第三云存储服务器中的任一云存储服务器发生故障时,云端服务器也可从其他两个云存储服务器中获取与文件A相关子文件A1、子文件A2、子文件A3,例如从第一云存储服务器和第三云存储服务器获取与文件A相关子文件A1、子文件A2、子文件A3。
进一步,在本发明的另一实施例中,步骤104中的将获取的多个子文件组合生成文件之前,该云端服务器还可判断获取的多个子文件是否能够生成完整的文件,若不能,则继续从其他云存储服务器中获取缺少的子文件,若能时,则将获取的多个子文件组合生成文件。
<实施例二>
参见图2,为本发明的实施例中云存储系统的结构示意图,该云存储系统包括云端服务器21和云存储服务器组群22,其中
所述云存储服务器组群22包括至少两个云存储服务器221,所述云存储服务器221用于存储子文件;
所述云端服务器21用于将待存储的文件划分为多个子文件,并将多个子文件中的每个子文件重复保存到云存储服务器组群21中的不同的云存储服务器221中;当接收到下载文件的请求后,从云存储服务器组群21中获取与文件相关的多个子文件,并根据多个子文件生成文件。
<实施例三>
参见图3,为本发明的实施例中云端服务器的结构示意图,该云端服务器21包括:
文件划分模块211,用于将待存储的文件划分为多个子文件;
子文件处理模块212,用于将多个子文件中的每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中;
文件生成模块213,用于在接收到下载所述文件的请求后,从云存储服务器组群中获取与文件相关的多个子文件,并根据多个子文件生成文件。
在本发明的另一实施例中,子文件处理模块212进一步用于从多个子文件中依次选取至少两个子文件,以每个子文件至少重复保存一次的方式,将依次选取的至少两个子文件分别保存到所述云存储服务器组群中的不同的云存储服务器。
(1)通过云端服务器将待存储的文件划分为多个子文件,然后以每个子文件重复保存至少一次的方式,将每个子文件重复保存到云存储服务器组群中的不同的云存储服务器中,当其中一个云存储服务器出现故障时,云端服务器也可以从其他云存储服务器获取得到该子文件,确保用户终端能够下载得到完整的文件。
(2)进一步,云端服务器可从多个子文件中依次选取至少两个子文件,以每个子文件至少重复保存一次的方式,将依次选取的至少两个子文件分别保存到云存储服务器组群中的不同的云存储服务器,使得云端服务器可从云存储服务器组群中的任意的至少两个云端存储服务器中获取与文件相关的多个子文件,并根据获取的多个子文件组合生成文件,减少了因云存储服务器损坏造成无法获取完整文件的风险;
(3)文件分为多个子文件进行保存,每个云存储服务器都只是整个文件的一部分,也减少了文件内容泄露的风险。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。