一种实现数据存储的方法、装置、计算机存储介质及终端与流程

文档序号:15684160发布日期:2018-10-16 20:53阅读:156来源:国知局
本文涉及但不限于云存储技术,尤指一种实现数据存储的方法、装置、计算机存储介质及终端。
背景技术
:随着云计算技术的不断发展,云存储作为云技术应用的重要分支得到了应用和推广;数据安全是云存储应用过程中一直面临的技术问题。目前,由于信息的不对称状态,数据存储时相对于服务商而言是透明的,如果非法技术人员利用服务器,则可以较为容易的窃取用户数据,数据存储存在安全隐患。综上,云存储的数据存在安全问题,影响云存储技术的应用和推广。技术实现要素:以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。本发明实施例提供一种实现数据存储的方法、装置、计算机存储介质及终端,能够提升存储备份文件的安全性。本发明实施例提供了一种实现数据存储处理的方法,包括:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数;所述备份文件包括:接收到的用于备份至云存储服务器的数据文件。可选的,所述将加密文件拆分为两个或两个以上块文件包括:所述加密文件的大小小于或等于预设的块单位阈值时,将所述加密文件平均拆分为两个所述块文件;所述加密文件的大小大于所述块单位阈值时,以所述块单位阈值作为基本单位,将所述加密文件拆分为两个或两个以上所述块文件。可选的,所述将拆分获得的块文件存储至两个或两个以上云存储服务器包括:确定用于存储块文件的云存储服务器;确定各云存储服务器中用于存储块文件的块组;生成每一个所述块文件的存储路径,根据生成的所述存储路径将所述块文件存储至确定的所述用于存储块文件的块组。可选的,所述确定用于存储块文件的云存储服务器包括:获取各所述云存储服务器的存储相关信息;根据获取的所述存储相关信息,确定所述用于存储块文件的云存储服务器;其中,所述存储相关信息包括以下部分或全部信息:所述云存储服务器中包含的块组的存储单位信息、所述云存储服务器的可用存储空间和预先配置的所述云存储服务器授权存储块文件数量的授权存储空间。可选的,所述确定用于存储块文件的云存储服务器包括:根据设定的用于存储块文件的所述云存储服务器的个数,将所述授权存储空间排序在前的预设数值个云存储服务器拟定为存储块文件的云存储服务器;从拟定的所述云存储服务器中确定用于存储块文件的云存储服务器。可选的,所述从拟定的云存储服务器中确定用于存储块文件的云存储服务器包括:删除拟定的预设数值个所述云存储服务器中,所述可用存储空间小于所述加密文件的云存储服务器;将剩余的所述云存储服务器确定为所述用于存储块文件的云存储服务器。可选的,所述确定各云存储服务器中用于存储块文件的块组包括:对各确定的所述用于存储块文件的云存储服务器,分别对所述云存储服务器中的所述块组按照可用空间进行排序;按照从大到小的顺序对所述块组的可用空间进行逐个累加,当累加获得的累加和大于或等于所述加密文件的大小时,将进行可用空间累加的所述块组拟定为所述用于存储块文件的块组;拟定的所述用于存储块文件的块组的可用空间均大于拆分获得的块文件的大小时,将所述拟定的用于存储块文件的块组确定为所述用于存储块文件的块组;所述拟定的用于存储块文件的块组的可用空间小于拆分获得的所述块文件的大小时,删除该拟定的可用空间小于拆分获得的所述块文件的大小的块组;从删除的块组所属云存储服务器以外的、其他用于存储块文件的所述云存储服务器中选择相应数量的块组,并补充拟定为所述用于存储块文件的块组。可选的,所述从删除的块组所属云存储服务器以外的、其他用于存储块文件的所述云存储服务器中选择相应数量的块组包括:从所述授权存储空间排序在前的一个或一个以上所述其他用于存储块文件的云存储服务器上选择相应数量的块组进行补充;或者,对所述其他用于存储块文件的云存储服务器中未拟定的块组进行可用空间的排序,从所述未拟定的块组中选择可用空间排序在前的相应数量的块组。可选的,所述根据生成的存储路径将块文件存储至确定的用于存储块文件的块组包括:根据云存储服务器的服务器标识及块组排序标识,获得各用于存储块文件的块组的块组信息;获取拆分获得的各所述块文件的块偏移量、块编号;根据获取的各所述块文件的所述块偏移量、所述块编号及获得的所述块组信息,将拆分获得的所述块文件并发写入各云存储服务器的块组上。可选的,所述将拆分获得的所述块文件并发写入各云存储服务器的块组上包括:根据所述块偏移量、所述块编号、所述块组信息及预先设定的各所述云存储服务器的并发存储数,并发生成所述块文件的存储路径;根据并发生成的所述块文件的存储路径,将拆分获得的块文件以并发存储的方式存储到确定的各所述云储存服务器中用于存储块文件的块组上。可选的,所述将拆分获得的块文件存储至两个或两个以上云存储服务器之后,所述方法包括:根据所述块文件的存储路径读取存储的所述块文件;将读取的所述块文件根据块编号拼接获得所述加密文件。另一方面,本发明实施例还提供一种实现数据存储处理的装置,包括:拆分单元和存储单元;其中,拆分单元用于:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;存储单元用于:以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数;所述备份文件包括:接收到的用于备份至云存储服务器的数据文件。可选的,所述拆分单元具体用于:所述加密文件的大小小于或等于预设的块单位阈值时,将所述加密文件平均拆分为两个所述块文件;所述加密文件的大小大于所述块单位阈值时,以所述块单位阈值作为基本单位,将所述加密文件拆分为两个或两个以上所述块文件。可选的,所述存储单元包括:确定服务器模块、确定块组模块和存储模块;其中,所述确定服务器模块用于:确定用于存储块文件的云存储服务器;所述确定块组模块用于:确定各云存储服务器中用于存储块文件的块组;所述存储模块用于:生成每一个所述块文件的存储路径,根据生成的所述存储路径将所述块文件存储至确定的所述用于存储块文件的块组。可选的,所述确定服务器模块具体用于:获取各所述云存储服务器的存储相关信息;根据获取的所述存储相关信息,确定所述用于存储块文件的云存储服务器;其中,所述存储相关信息包括以下部分或全部信息:所述云存储服务器中包含的块组的存储单位信息、所述云存储服务器的可用存储空间和预先配置的所述云存储服务器授权存储块文件数量的授权存储空间。可选的,所述确定服务器模块用于确定用于存储块文件的云存储服务器包括:根据设定的用于存储块文件的所述云存储服务器的个数,将所述授权存储空间排序在前的预设数值个云存储服务器拟定为存储块文件的云存储服务器;从拟定的所述云存储服务器中确定用于存储块文件的云存储服务器。可选的,所述所述确定服务器模块用于从拟定的云存储服务器中确定用于存储块文件的云存储服务器包括:删除拟定的预设数值个云存储服务器中,可用存储空间小于加密文件的云存储服务器;将剩余的云存储服务器确定为用于存储块文件的云存储服务器。可选的,所述确定块组模块具体用于:对各确定的所述用于存储块文件的云存储服务器,分别对所述云存储服务器中的所述块组按照可用空间进行排序;按照从大到小的顺序对所述块组的可用空间进行逐个累加,当累加获得的累加和大于或等于所述加密文件的大小时,将进行可用空间累加的所述块组拟定为所述用于存储块文件的块组;拟定的所述用于存储块文件的块组的可用空间均大于拆分获得的块文件的大小时,将所述拟定的用于存储块文件的块组确定为所述用于存储块文件的块组;所述拟定的用于存储块文件的块组的可用空间小于拆分获得的所述块文件的大小时,删除该拟定的可用空间小于拆分获得的所述块文件的大小的块组;从删除的块组所属云存储服务器以外的、其他用于存储块文件的所述云存储服务器中选择相应数量的块组,并补充拟定为所述用于存储块文件的块组。可选的,所述确定块组模块用于从删除的块组所属云存储服务器以外的、其他用于存储块文件的云存储服务器中选择相应数量的块组包括:从所述授权存储空间排序在前的一个或一个以上所述其他用于存储块文件的云存储服务器上选择相应数量的块组进行补充;或者,对所述其他用于存储块文件的云存储服务器中未拟定的块组进行可用空间的排序,从所述未拟定的块组中选择可用空间排序在前的相应数量的块组。可选的,所述存储模块具体用于:根据云存储服务器的服务器标识及块组排序标识,获得各用于存储块文件的块组的块组信息;获取拆分获得的各所述块文件的块偏移量、块编号;根据获取的各所述块文件的所述块偏移量、所述块编号及获得的所述块组信息,将拆分获得的所述块文件并发写入各云存储服务器的块组上。可选的,所述存储模块用于将拆分获得的所述块文件并发写入各云存储服务器的块组上包括:根据所述块偏移量、所述块编号、所述块组信息及预先设定的各所述云存储服务器的并发存储数,并发生成所述块文件的存储路径;根据并发生成的所述块文件的存储路径,将拆分获得的块文件以并发存储的方式存储到确定的各所述云储存服务器中用于存储块文件的块组上。可选的,所述装置还包括读取单元,用于:根据所述块文件的存储路径读取存储的所述块文件;将读取的所述块文件根据块编号拼接获得所述加密文件。再一方面,本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利上述实现数据存储处理的方法。还一方面,本发明实施例还提供一种终端,包括:存储器和处理器;其中,处理器被配置为执行存储器中的程序指令;程序指令在处理器读取执行以下操作:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数;所述备份文件包括:接收到的用于备份至云存储服务器的数据文件。与相关技术相比,本申请技术方案包括:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数;所述备份文件包括:接收到的用于备份至云存储服务器的数据文件。本发明实施例提升了存储备份文件的安全性。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。图1为本发明实施例实现数据存储处理的方法的流程图;图2为本发明实施例实现数据存储处理的装置的结构框图;图3为本发明应用示例系统的结构示意图;图4为本发明应用示例读取备份文件的流程图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1为本发明实施例实现数据存储处理的方法的流程图,如图1所示,包括:步骤101、加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;本发明实施例备份文件包括:接收到的用于备份至云存储服务器的数据文件,即用户根据存储需求确定的需要在云存储服务器上备份的数据。可选的,本发明实施例将加密文件拆分为两个或两个以上块文件包括:所述加密文件的大小小于或等于预设的块单位阈值时,将所述加密文件平均拆分为两个块文件;所述加密文件的大小大于所述块单位阈值时,以块单位阈值作为基本单位,将所述加密文件拆分为两个或两个以上所述块文件。步骤102、以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数。需要说明的是,将块文件存储到各云存储服务器时,本发明实施例以块文件作为最小的单位文件,即块文件作为最小的存储单位,将拆分获得的所有块文件,按照后续实施例陈述的方法,分别存储至各云存储服务器上。可选的,本发明实施例将拆分获得的块文件存储至两个或两个以上云存储服务器包括:确定用于存储块文件的云存储服务器;确定各云存储服务器中用于存储块文件的块组;这里,块组的英文全称为blockgroup,其缩写为bg,为本领域技术人员的公知常识。生成每一个块文件的存储路径,根据生成的存储路径将块文件存储至确定的用于存储块文件的块组。可选的,本发明实施例确定用于存储块文件的云存储服务器包括:获取各云存储服务器的存储相关信息;根据获取的所述存储相关信息,确定所述用于存储块文件的云存储服务器;其中,所述存储相关信息包括以下部分或全部信息:云存储服务器中包含的块组的存储单位信息、云存储服务器的可用存储空间和预先配置的云存储服务器授权存储块文件数量的授权存储空间。可选的,本发明实施例确定用于存储块文件的云存储服务器包括:根据设定的用于存储块文件的云存储服务器的个数,将授权存储空间排序在前的预设数值个云存储服务器拟定为存储块文件的云存储服务器;从拟定的所述云存储服务器中确定用于存储块文件的云存储服务器。这里,预设数值可以根据设定的用于存储块文件的云存储服务器的个数进行设定,一般大于或等于设定的用于存储块文件的云存储服务器的个数。可选的,本发明实施例从拟定的云存储服务器中确定用于存储块文件的云存储服务器包括:删除拟定的预设数值个云存储服务器中,可用存储空间小于加密文件的云存储服务器;将剩余的云存储服务器确定为用于存储块文件的云存储服务器。可选的,本发明实施例确定各云存储服务器中用于存储块文件的块组包括:对各确定的用于存储块文件的云存储服务器,分别对云存储服务器中的块组按照可用空间进行排序;按照从大到小的顺序对块组的可用空间进行逐个累加,当累加获得的累加和大于或等于所述加密文件的大小时,将进行可用空间累加的块组拟定为用于存储块文件的块组;拟定的用于存储块文件的块组的可用空间均大于拆分获得的块文件的大小时,将拟定的用于存储块文件的块组确定为用于存储块文件的块组;拟定的用于存储块文件的块组的可用空间小于拆分获得的块文件的大小时,删除该拟定的可用空间小于拆分获得的块文件的大小的块组;从删除的块组所属云存储服务器以外的、其他用于存储块文件的云存储服务器中选择相应数量的块组,并补充拟定为用于存储块文件的块组。可选的,本发明实施例从删除的块组所属云存储服务器以外的、其他用于存储块文件的云存储服务器中选择相应数量的块组包括:从授权存储空间排序在前的一个或一个以上所述其他用于存储块文件的云存储服务器上选择相应数量的块组进行补充;或者,对其他用于存储块文件的云存储服务器中未拟定的块组进行可用空间的排序,从未拟定的块组中选择可用空间排序在前的相应数量的块组。可选的,本发明实施例根据生成的存储路径将块文件存储至确定的用于存储块文件的块组包括:根据云存储服务器的服务器标识及块组排序标识,获得各用于存储块文件的块组的块组信息;获取拆分获得的各块文件的块偏移量、块编号;根据获取的各块文件的所述块偏移量、所述块编号及获得的所述块组信息,将拆分获得的所述块文件并发写入各云存储服务器的块组上。可选的,本发明实施例将拆分获得的所述块文件并发写入各云存储服务器的块组上包括:根据所述块偏移量、所述块编号、所述块组信息及预先设定的各云存储服务器的并发存储数,并发生成块文件的存储路径;根据并发生成的所述块文件的存储路径,将拆分获得的块文件以并发存储的方式存储到确定的各云储存服务器中用于存储块文件的块组上。可选的,本发明实施例将拆分获得的块文件存储至两个或两个以上云存储服务器之后,所述方法包括:根据所述块文件的存储路径读取存储的块文件;将读取的块文件根据块编号拼接获得加密文件。与相关技术相比,本申请技术方案包括:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数,备份文件包括:接收到的用于备份至云存储服务器的数据文件。本发明实施例提升了存储备份文件的安全性。图2为本发明实施例实现数据存储处理的装置的结构框图,如图2所示,包括:拆分单元和存储单元;其中,拆分单元用于:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;这里,备份文件包括:接收到的用于备份至云存储服务器的数据文件。可选的,本发明实施例拆分单元具体用于:所述加密文件的大小小于或等于预设的块单位阈值时,将所述加密文件平均拆分为两个块文件;所述加密文件的大小大于所述块单位阈值时,以块单位阈值作为基本单位,将所述加密文件拆分为两个或两个以上所述块文件。存储单元用于:以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数。可选的,本发明实施例包括:确定服务器模块、确定块组模块和存储模块;其中,所述确定服务器模块用于:确定用于存储块文件的云存储服务器;所述确定块组模块用于:确定各云存储服务器中用于存储块文件的块组;所述存储模块用于:生成每一个所述块文件的存储路径,根据生成的所述存储路径将所述块文件存储至确定的所述用于存储块文件的块组。可选的,本发明实施例确定服务器模块具体用于:获取各云存储服务器的存储相关信息;根据获取的所述存储相关信息,确定所述用于存储块文件的云存储服务器;其中,所述存储相关信息包括以下部分或全部信息:云存储服务器中包含的块组的存储单位信息、云存储服务器的可用存储空间和预先配置的云存储服务器授权存储块文件数量的授权存储空间。可选的,本发明实施例确定服务器模块用于确定用于存储块文件的云存储服务器包括:根据设定的用于存储块文件的云存储服务器的个数,将授权存储空间排序在前的预设数值个云存储服务器拟定为存储块文件的云存储服务器;从拟定的所述云存储服务器中确定用于存储块文件的云存储服务器。这里,预设数值可以根据设定的用于存储块文件的云存储服务器的个数进行设定,一般大于或等于设定的用于存储块文件的云存储服务器的个数。可选的,本发明实施例确定服务器模块用于从拟定的云存储服务器中确定用于存储块文件的云存储服务器包括:删除拟定的预设数值个云存储服务器中,可用存储空间小于加密文件的云存储服务器;将剩余的云存储服务器确定为用于存储块文件的云存储服务器。可选的,本发明实施例确定块组模块具体用于:对各确定的用于存储块文件的云存储服务器,分别对云存储服务器中的块组按照可用空间进行排序;按照从大到小的顺序对块组的可用空间进行逐个累加,当累加获得的累加和大于或等于所述加密文件的大小时,将进行可用空间累加的块组拟定为用于存储块文件的块组;拟定的用于存储块文件的块组的可用空间均大于拆分获得的块文件的大小时,将拟定的用于存储块文件的块组确定为用于存储块文件的块组;拟定的用于存储块文件的块组的可用空间小于拆分获得的块文件的大小时,删除该拟定的可用空间小于拆分获得的块文件的大小的块组;从删除的块组所属云存储服务器以外的、其他用于存储块文件的云存储服务器中选择相应数量的块组,并补充拟定为用于存储块文件的块组。可选的,本发明实施例确定块组模块用于从删除的块组所属云存储服务器以外的、其他用于存储块文件的云存储服务器中选择相应数量的块组包括:从授权存储空间排序在前的一个或一个以上所述其他用于存储块文件的云存储服务器上选择相应数量的块组进行补充;或者,对其他用于存储块文件的云存储服务器中未拟定的块组进行可用空间的排序,从未拟定的块组中选择可用空间排序在前的相应数量的块组。可选的,本发明实施例存储模块具体用于:根据云存储服务器的服务器标识及块组排序标识,获得各用于存储块文件的块组的块组信息;获取拆分获得的各块文件的块偏移量、块编号;根据获取的各块文件的所述块偏移量、所述块编号及获得的所述块组信息,将拆分获得的所述块文件并发写入各云存储服务器的块组上。可选的,本发明实施例存储模块用于将拆分获得的所述块文件并发写入各云存储服务器的块组上包括:根据所述块偏移量、所述块编号、所述块组信息及预先设定的各云存储服务器的并发存储数,并发生成块文件的存储路径;根据并发生成的所述块文件的存储路径,将拆分获得的块文件以并发存储的方式存储到确定的各云储存服务器中用于存储块文件的块组上。需要说明的是,根据块偏移量、块编号、块组信息及并发存储数,并发生成块文件的存储路径的方法可以是相关技术中已有的实现方法,在此不做赘述。可选的,本发明实施例装置还包括读取单元,用于:根据所述块文件的存储路径读取存储的块文件;将读取的块文件根据块编号拼接获得加密文件。本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行上述实现数据存储处理的方法。本发明实施例还提供一种终端,包括:存储器和处理器;其中,处理器被配置为执行存储器中的程序指令;程序指令在处理器读取执行以下操作:加密备份文件获得加密文件后,将加密文件拆分为两个或两个以上块文件;以块文件作为存储单位,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份文件的备份副本数;所述备份文件包括:接收到的用于备份至云存储服务器的数据文件。以下通过应用示例对本发明实施例方法进行清楚详细的说明,应用示例仅用于陈述本发明,并不用于限定本发明的保护范围。应用示例本发明应用示例,对备份文件进行加密处理后,再进行拆分;将拆分获得的块文件,存储到不同的云存储服务器上;以下从加密、拆分、及存储部分分别进行陈述。加密部分:本发明应用拆分备份文件之前,通过预先设置的加密算法对存储的备份文件进行加密;加密方法包括:对用户上传的备份文件,通过备份文件的消息摘要算法第五版(md5)值及申请的密钥对,对备份文件进行对称加密,获得加密文件;本发明应用示例还可以通过其他加密处理方法对备份文件进行加密,在此不做赘述。加密后,加密文件和文件属性信息被用于后期的处理;本发明应用示例设定加密过程由加解密服务器实现;加密文件和文件属性信息被传输至索引服务器,以进行后续的存储处理;表1为本发明应用示例文件属性信息的内容示意,如表1所示,文件属性信息包括:文件名、文件的md5值、文件的创建时间、文件的更新时间和文件的字节数;文件属性信息的组成和相关技术的组成相同。字段名称说明filename文件名md5文件的md5值create_date文件的创建时间update_date文件的更新时间file_bytes文件的字节数表1本发明预先配置由索引服务器将加密文件拆分为块文件后,将拆分获得的块文件分发至两个或两个以上云存储服务器;为了进行块文件的分发存储和后续处理,本发明应用示例除将加密文件和文件属性信息被传输至索引服务器外,密钥对中的公钥也传输至索引服务器。加密文件被存储后,索引服务器保存各块文件的存储路径,只有在获得用户授权时才可以获取各块文件的存储路径,实现加密文件的获取。图3为本发明应用示例系统的结构示意图,如图3所示,加解密服务器完成备份文件的加密后,将包括加密文件、文件属性信息在内的信息传输至索引服务器;索引服务器拆分加密文件为块文件,确定存储块文件的云存储服务器及云存储服务器中的块组后,将块文件存储在确定的各个块组中。拆分部分:为了实现备份文件的安全存储,备份文件被加密为加密文件后,按照预设策略将获得的加密文件拆分为两个或两个以上块文件;这里,拆分方法为相关技术中已有的实现方法;按照预设策略将获得的加密文件拆分为两个或两个以上块文件包括:加密文件的大小小于或等于预设的块单位阈值时,将所述加密文件拆分为两个块文件;加密文件的大小大于所述块单位阈值时,以块单位阈值作为基本单位,将所述加密文件拆分为两个或两个以上块文件;这里,块单位阈值可以由本领域技术人员进行分析确定,理论上拆分的块文件不适合过多,每个块文件的大小也不宜过大,块单位阈值可以根据加密文件包含的组成文件的大小分布进行设定,一般根据分布密集的组成文件的大小设置块单位阈值;例如,加密文件的组成文件中,百分之五十以上的为1.9兆到2.1兆,则块单位阈值可以设置为2兆。拆分获得块文件后,确定拆分获得的各块文件的块偏移量和块编号;这里,块偏移量包括:块文件相对于加密文件的块偏移;其中,上述示例的块编号包括参照相关技术,按照预先设置的编号方式获得的编号。块偏移量可以包括块文件相对于加密文件的起始位置的偏移量,可以基于现有技术进行分析确定。存储部分:在完成备份文件加密获得加密文件,对加密文件进行拆分后,本发明应用示例获得了拆分获得的块文件,并确定了各个块文件的块偏移量和块编号;本发明应用示例根据备份副本数和预设的存储策略,将拆分获得的块文件存储至两个或两个以上云存储服务器;其中,存储块文件的云存储服务器的数量大于备份副本数。基于上述思路存储部分包括:确定用于存储块文件的云存储服务器;确定各云存储服务器中用于存储块文件的块组;根据确定的块组生成块文件的存储路径后,完成块文件的存储;在确定用于存储块文件的云存储服务器之前,本发明应用示例进行了以下处理,包括:1、获取各平台的云存储服务器的可用存储空间;2、基于获取的各平台的云存储服务器的可用存储空间和性能关联信息,确定各云存储服务器授权存储块文件的授权存储空间;其中,性能关联信息包括:云存储服务器的性能、安全等级、费用等信息;这里,如果云存储服务器的性能如果较优,则授权存储空间可以大于云存储服务器的实际可用存储空间,以便块文件可以更多的存储在该云储存服务器上。3、配置云存储服务器的块组;需要说明的是,在完成块组的配置后,本发明应用示例参照相关技术可以获取块组的存储单位信息;块组被配置后,用于存储拆分获得的块文件,块组的存储单位可以由本领域技术人员预先分析确定,可以由本领域技术人员根据的存储要求进行调整。基于上述处理,本发明应用示例通过以下方式确定用于存储块文件的云存储服务器及各个云存储服务器中用于存储块文件的块组,包括:1、获得各云存储服务器的存储相关信息;其中,存储相关信息包括以下部分或全部信息:云存储服务器中包含的块组(bg)的存储单位信息、云存储服务器的可用存储空间和云存储服务器授权存储块文件数量的授权存储空间;本应用示例云存储服务器包括各个云平台中配置的存储服务器,云储存服务器的可用存储空间的获取方法可以包括相关技术中已有的实施方法;2、根据存储相关信息,确定用于存储块文件的云存储服务器及各个云存储服务器中用于存储块文件的块组;其中,确定用于存储块文件的云存储服务器可以包括:根据授权存储空间拟定用于存储块文件的云存储服务器;这里,拟定用于存储块文件的云存储服务器包括:根据设定的用于存储块文件的云存储服务器的个数m后,将授权存储空间排序在前的n个云存储服务器拟定为存储块文件的云存储服务器;这里,n可以等于m;如果本领域技术人员认为拟定的云存储服务器中可能存在不符合要求的用于存储块文件的云存储服务器,则n可以大于m,以便从n个拟定的云存储服务器中确定一定数量的用于存储块文件的云存储服务器。从拟定的云存储服务器中确定用于存储块文件的云存储服务器;可选的,从拟定的云存储服务器中确定用于存储块文件的云存储服务器包括:删除拟定的n个云存储服务器中,可用存储空间小于加密文件的云存储服务器,将剩余的云存储服务器确定为用于存储块文件的云存储服务器;需要说明的是,本发明应用示例用于存储块文件的云存储服务器的个数n可以大于加密文件的备份副本数;加密文件的备份副本数等于备份文件的备份副本数;具体还可以参照用户的存储需求、成本等进行分析确定。本发明应用示例,备份副本数小于或等于确定的用于存储块文件的云存储服务器的个数时,按照本发明应用示例后续提供的方法进行块文件的存储;如果备份副本数大于确定的用于存储块文件的云存储服务器的个数,则本发明应用示例可以将加密文件或块文件按照相关技术已有的存储方式进行存储,这是因为备份副本数大于确定的云存储服务器的个数时,备份文件可能在一个云存储服务器内存储,无法满足数据备份的安全要求;确定各个云存储服务器中用于存储块文件的块组包括:对云存储服务器中的块组按照可用空间进行排序后,按照从大到小的顺序对块组的可用空间进行逐个累加,当累加获得的累加和大于或等于所述加密文件的大小时,将进行可用空间累加的块组拟定为用于存储块文件的块组;拟定的用于存储块文件的块组的可用空间均大于拆分获得的块文件的大小时,将拟定的用于存储块文件的块组确定为用于存储块文件的块组;拟定的用于存储块文件的块组的可用空间小于拆分获得的块文件的大小时,删除该拟定的可用空间小于拆分获得的块文件的大小的块组;从删除的块组所属云存储服务器以外的其他用于存储块文件的云存储服务器中选择相应数量的块组,并补充拟定为用于存储块文件的块组。需要说明的是,完成块组的补充拟定后,依旧进行拟定的用于存储块文件的块组的可用空间是否均大于拆分获得的块文件的大小的判断,只有确定为用于存储块文件的块组后才停止上述补充拟定的处理。本发明应用示例,从删除的块组所属云存储服务器以外的其他用于存储块文件的云存储服务器中选择相应数量的块组包括:从授权存储空间排序在前的所述其他用于存储块文件的云存储服务器上选择相应数量的块组进行补充;具体的,可以包括:计算其他用于存储块文件的云存储服务器的授权存储空间的比值;根据计算获得的比值从各云存储服务器上选择相应比例的块组进行补充;这里,比值可能无法取整,或选择的按照比值大小确定的块组数可能无法取整,本发明实施例可以由本领域技术人员基于补充的块组的数量,对上述比值进行向上或向下取整,以确定整数的、数量准确的块组;或者,对其他用于存储块文件的云存储服务器中未拟定的块组进行可用空间的排序,从未拟定的块组中选择可用空间排序在前的相应数量的块组;本发明应用示例还可以参照其他方式进行块组的补充。根据确定的块组生成块文件的存储路径后,完成块文件的存储,具体包括:完成用于存储块文件的块组的确定后,根据云存储服务器的服务器标识及块组排序标识确定写入块组的块组信息;本发明应用示例根据块偏移量、块编号及上述块组信息,将块文件并发写入各云存储服务器的块组上;可以包括:根据块偏移量、块编号、块组信息及并发存储数,并发生成块文件的存储路径;根据并发生成的块文件的存储路径,将拆分获得的块文件以并发存储的方式存储到确定的各云储存服务器中用于存储块文件的块组上。本发明应用示例预先设置了各云存储服务器的并发存储数,基于并发存储数,在各云存储服务器上将块文件进行并发存储。假设加密文件被拆分为30个块文件,备份副本数为2,并发存储数为5,选择的云存储服务器的个数为3,则并发存储总数为15;则拆分获得的块文件,根据块文件的存储路径在一次并发存储过程中,就有15个块文件被分别写入3个不同的存储服务器;本发明应用示例并发存储总数小于或等于备份文件被拆分的块文件的总数。可选的,本发明应用示例还包括:当确定的云存储服务器中,最终确定用于存储块文件的块组仅有一个时,由于无法保证数据安全,因此可以按照现有的存储方法进行存储,当然,也可以提示用户,由用户确定是否继续存储,以及选择具体的存储位置和存储方式。完成块文件存储后,本发明应用示例可以将写入块文件的md5值作为文件名,以文件名作为关键字保存块文件的存储路径。以上存储部分的内容均可以配置由索引服务器实施,相关信息可以存储在索引服务器上。参照相关技术,本发明应用示例还可以设置以下处理:索引服务器发送写入数据请求到云存储服务器时,如果超过等待阈值(默认为1分钟)未接收到云存储服务器的确认,则将重试发送写入数据请求;超过3次写入数据请求未接收到确认时,将重新选择云存储服务器以进行块文件的存储。累积超过10次未成功写入时,宣告该备份失败。备份文件写入成功后,根据备份文件的文件名(md5值)、块文件的存储路径和块编号可以读取完整的加密文件,加密文件解密后获得备份文件;其中,本发明实施例存储路径可以根据在前保存的公钥进行加密,写入数据库;表2为本发明实施例存储的用于读取备份文件的存储相关信息,如表2所示,包括:备份文件的md5值、块编号和块文件的存储路径。字段名描述文件名备份文件的md5值block_id块编号storage_url块文件的存储路径表2本发明应用示例以索引服务器作为拆分加密文件、确定存储块文件的云存储服务器及块组的执行主体,基于上述内容,图4为本发明应用示例读取备份文件的流程图,如图4所示,包括:步骤401、索引服务器接收来自客户端的文件读取请求;其中,文件读取请求中包括:用户账户信息和读取的备份文件的名称或其他信息;步骤402、索引服务器根据文件读取请求获取备份文件的md5值;步骤403、索引服务器根据读取的文件的md5值,获取存储在自身的块文件存储相关信息,并发送至加解密服务器;存储相关信息包括:块文件的文件名、块文件的存储路径和与存储路径对应的块编号;步骤404、加解密服务器对存储相关信息进行解密后,根据解密后的存储相关信息读取各个块文件;步骤405、加解密服务器根据块编号对读取的各个块文件进行拼接,获得加密文件;步骤406、加解密服务器将拼接后的加密文件解密,获得备份文件;本发明应用示例通过md5对拼接后的加密文件进行解密后,获得完整的备份文件。步骤407、将解密后的备份文件返回给客户端。本应用示例步骤404~405也可以由其他种类服务器实施,例如,与现有技术中已有的服务器合并;或者,由索引服务器完成块文件的拼接。存储相关信息的解密密钥可以存储在客户端本地,也可以由用户输入,还可以通过其他方式获取。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器)完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的每个模块/单元可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明不限制于任何特定形式的硬件和软件的结合。虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1