多云安全存储动态平衡备份方法及系统与流程

文档序号:15829023发布日期:2018-11-03 00:16阅读:163来源:国知局

本发明涉及云存储技术领域,特别涉及一种多云安全存储动态平衡备份方法及系统。

背景技术

随着云计算与云存储时代的到来,每时每刻都会产生大量数据,其中有很大一部分数据是有意义的,需要在一定期限内或者永久保存。由于本地保存大量数据的成本太高,容易丢失。目前大量的数据已经逐渐采用云存储服务来实现数据的容灾备份。

容灾备份(disasterrecovery),是指数据在经过各种灾害破坏之后,仍能够通过一定的方法将数据恢复回来。

目前比较流行的容灾备份方案,诸如磁盘阵列柜或者nas,san,其存在的最主要的问题就是价格高昂,仅仅是架构磁盘阵列柜开销便颇有不菲,即便是国外中型企业比较常用的nas和san备份方式,一旦出现远程数据损坏,由于恢复成本较高,企业往往容易蒙受不必要的损失。而单个云存储速度慢,而且一旦单个云供应商服务器意外故障,可造成严重的云安全事故。

就如今面对的情形,可总结出以下三特点:大量并快速增长的数据;丰富多样的数据源;集中的数据存储与分散的数据处理。在这种应用场景下,数据备份中的理论与技术要面对一些新的数据性与备份环境,这些新变化主要表现在:线性增长的数据量到指数增长的数据量;相对封闭的备份网络到开放的共网络。庞大并且不断增长的数据该如何保存、在一个相对开放的网络环境中如何搭建备份系统。因此需要提出一种实现多云数据安全可靠备份的方法来保证数据的可靠性。



技术实现要素:

本发明的目的是提供一种多云安全存储动态平衡备份方法及系统,解决现有上述的问题。

为解决上述问题,本发明实施例提供一种多云安全存储动态平衡备份方法,包括以下步骤:

根据需求将初始文件拆分为多个原始数据块;

将多个原始数据块上传至至少两个云存储服务节点中;

对每个云存储服务节点中的原始数据块进行备份,并将备份的数据块存储至不包含原始数据块的其它云存储服务节点中;

若某个云存储服务节点发生故障,存储在该节点中的原始数据块和备份数据块丢失,则在其它云存储服务节点中找寻与丢失数据对应的备份数据或原始数据,并将找寻到的备份数据和原始数据进行重新备份,重新备份的数据块存储于不包含相同或相似数据块的其它任意云存储服务节点中;

若故障云存储服务节点修复或替换为新的云存储服务节点,则将重新备份的数据块迁移至修复后的云存储服务节点或新的云存储节点中。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份方法还包括以下步骤:

采用基于内容的变长分块去重算法对上传至云存储服务节点的原始数据块进行去重检测;

若同一云存储服务节点中的两个原始数据块相同,则按时间顺序存储第一个原始数据块;

若同一云存储服务节点中的两个原始数据块不同,则更新原始数据块中修改部分内容。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份方法还包括以下步骤:

原始数据块上传至云存储服务节点的同时,在数据调度中心进行注册,建立数据块的文件索引。

作为一种实施方式,根据哈夫曼编码和文件哈希值来建立文件索引。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份方法还包括以下步骤:

若要下载文件,则获取云存储服务节点中所有原始数据块;

根据数据块对应的哈希值可在数据列表中获取数据块的偏移量和文件块大小;

根据数据块的偏移量和文件块大小重组后获得完整文件。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份方法还包括以下步骤:

对获得的完整文件进行哈希校验;

若哈希值相同,则可得到初始文件;

若哈希值不同,则获取云存储服务节点中所有备份数据块;

将所有备份数据块重组后获得完整文件。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份方法还包括以下步骤:

对拆分后的原始数据块通过aes加密算法进行加密,加密后的原始数据块的哈希值保存在本地数据库。

本发明实施例还提供一种多云安全存储动态平衡备份系统,包括:

拆分单元,用于根据需求将初始文件拆分为多个数据块;

传输单元,用于将多个数据块上传至至少两个云存储服务节点中;

备份单元,用于对每个云存储服务节点中的数据块进行备份,并将备份的数据块存储至其它云存储服务节点中;

数据查找单元,用于若某个云存储服务节点发生故障,存储在该节点中的原始数据块和备份数据块丢失,则在其它云存储服务节点中找寻与丢失数据对应的备份数据或原始数据,并将找寻到的备份数据和原始数据进行重新备份,重新备份的数据块存储于不包含相同或相似数据块的其它任意云存储服务节点中;

平衡单元,用于若故障云存储服务节点修复或替换为新的云存储服务节点,则将重新备份的数据块迁移至修复后的云存储服务节点或新的云存储节点中。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份系统还包括去重单元,用于采用基于内容的变长分块去重算法对上传至云存储服务节点的数据块进行去重检测;

若同一云存储服务节点中的两个数据块相同,则按时间顺序存储第一个数据块;

若同一云存储服务节点中的两个数据块不同,则更新数据块中修改部分内容。

作为一种实施方式,本发明提供的多云安全存储动态平衡备份系统还包括加密单元,用于对拆分后的原始数据块通过aes加密算法进行加密,加密后的原始数据的哈希值块保存在本地数据库。

本发明相比于现有技术的有益效果在于:通过采用多个云存储服务节点,将数据分片并行上传,提高了网络io的利用率,降低了单云存储服务节点的网络拥塞概率;文件备份采用动态调节机制,可实现错误云节点的热备份和替换,使数据块备份更加可靠。

附图说明

图1为本发明的多云安全存储动态平衡备份方法的流程图;

图2为本发明的多云安全存储动态平衡备份方法的动态平衡视图;

图3为本发明的多云安全存储动态平衡备份系统的模块框图。

附图标注:1、拆分单元;2、传输单元;3、备份单元;4、数据查找单元;5、平衡单元;6、加密单元;7、去重单元。

具体实施方式

以下结合附图,对本发明上述的和另外的技术特征和优点进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的部分实施例,而不是全部实施例。

如图1所示,一种多云安全存储动态平衡备份方法,包括以下步骤:

s100:根据需求将初始文件拆分为多个原始数据块;

可以采取i/o流先对需要拆分的初始文件读取其大小,按照需要将初始文件进行拆分,拆分过程按照计算得到每个零散文件的大小,把文件分为多个原始数据块。如拆分成五个数据块,分别记作a、b、c、d、e;对应的数据块大小分别为8、4、6、3、5个数据单位。

s200:将多个原始数据块上传至至少两个云存储服务节点中,上传过程中,可采用多个线程任务并行上传,提高上传速度;

s300:对每个云存储服务节点中的原始数据块进行备份,并将备份的数据块存储至不包含原始数据块的其它云存储服务节点中;

在一实施例中,将五个原始数据块上传至五个不同的云存储服务节点中,且备份的数据块存储至五个不同的云存储服务节点中,该方式可避免某一云存储服务节点发生故障时,尽可能少的数据丢失。五个不同的云存储服务节点分别为k1、k2、k3、k4、k5,因此,每一云存储服务节点存储的数据块为:k1存储a0、b1;k2存储b0、c1;依次类推,k5存储e0、a1。其中,下标为0的表示原始数据块,下标为1的表示备份数据块。

s400:若某个云存储服务节点发生故障,存储在该节点中的原始数据块和备份数据块丢失,则在其它云存储服务节点中找寻与丢失数据对应的备份数据或原始数据,并将找寻到的备份数据和原始数据进行重新备份,重新备份的数据块存储于不包含相同或相似数据块的其它任意云存储服务节点中;

如图2所示,若云存储服务节点k1发生故障,数据块a0、b1丢失,则拷贝云存储服务节点k2中的原始数据块b0,存储到云存储服务节点k3中,并记为新备份的备份数据块b1(该数据块与k1中丢失数据块b1相同);拷贝云存储服务节点k5中的备份数据块a1,存储到云云存储服务节点k4中,并记为新备份的原始数据块a0(该数据块与k1中丢失数据块a0相同)。在另一实施中,复制存储位置的选取采用大小资源适配原则,即若数据块a比b大,则将其备份到数据量最少的不相交云存储服务节点k4中。

s500:若故障云存储服务节点修复或替换为新的云存储服务节点,则将重新备份的数据块迁移至修复后的云存储服务节点或新的云存储节点中。

如图2所示,若云存储服务节点k1故障修复,或替换为新的云存储服务节点(图中也可用k1来表示)。则拷贝云存储服务节点k4中的原始数据块a0到新的云存储服务节点k1中,存储为数据块a0,同时删除原云存储服务节点k4上的数据块a0;拷贝云存储服务节点k3上的数据块b1到新的云存储服务节点k1上存储为数据块b1,同时删除原云存储服务节点k3上的数据块b1。

除上述步骤外,还包括以下步骤:

文件加密:对拆分后的数据块通过aes(advancedencryptionstandard,高级加密标准)加密算法进行加密,加密后的数据块的哈希值保存在本地数据库。加密密钥随机生成,且每个数据块通过设置不同的密钥,可增大破解难度,保障数据安全。

数据去重:采用基于内容的变长分块去重算法对上传至云存储服务节点的原始数据块进行去重检测;若同一云存储服务节点中的两个数据块相同,则按时间顺序存储第一个数据块;若同一云存储服务节点中的两个原始数据块不同,则更新数据块中修改部分内容。通过上述方式,可以达到文件热更新和用少量存储资源进行快速存储的效果。

索引建立:原始数据块上传至云存储服务节点的同时,在数据调度中心进行注册,建立数据块的文件索引。

在一实施例中,数据调度中心采用主从(包括主机和从机)工作模式,设有数量为奇数个(投票可确定唯一优胜者)的哨兵对主从数据中心进行检测。哨兵会以每隔10秒一次的频率向主机和从机发送消息命令,主机和从机响应消息命令来回复哨兵其任务状态,多个哨兵通过分析返回的消息,投票产生某节点(原主机或从机)为数据调度中心主机。原来的错误节点转为从机进行错误处理和初始化,当异常处理完成后,继续加入到哨兵监测队列中作为备选节点。

根据哈夫曼编码和文件哈希值来建立文件索引。如d0哈夫曼编码为001(十六进制为1),节点位置d0,哈希为lfee08c6d3de。则索引号为1d0lfee08c6d3de。

s600:若要下载文件,则获取云存储服务节点中所有原始数据块(即a0、b0、c0、d0、e0);根据数据块对应的哈希值可在数据列表中获取数据块的偏移量和文件块大小;根据数据块的偏移量和文件块大小重组后获得完整文件。

在步骤s600中,还包括以下内容:

在获取原始数据块后,通过调用本地的密钥,对数据块进行解密。

对获得的完整文件进行哈希校验;若哈希值相同,则可得到初始文件;若哈希值不同,则获取云存储服务节点中所有备份数据块(即a1、b1、c1、d1、e1);将所有备份数据块重组后获得完整文件。

如图3所示,一种多云安全存储动态平衡备份系统,包括:

拆分单元1,根据需求将初始文件拆分为多个数据块;

传输单元2,将多个数据块上传至至少两个云存储服务节点中;

备份单元3,对每个云存储服务节点中的数据块进行备份,并将备份的数据块存储至其它云存储服务节点中;

数据查找单元4,若某个云存储服务节点发生故障,存储在该节点中的原始数据块和备份数据块丢失,则在其它云存储服务节点中找寻与丢失数据对应的备份数据或原始数据,并将找寻到的备份数据和原始数据进行重新备份,重新备份的数据块存储于不包含相同或相似数据块的其它任意云存储服务节点中;

平衡单元5,若故障云存储服务节点修复或替换为新的云存储服务节点,则将重新备份的数据块迁移至修复后的云存储服务节点或新的云存储节点中。

除上述单元外,还包括加密单元6和去重单元7。加密单元6用于对拆分后的原始数据块通过aes加密算法进行加密,加密后的原始数据块保存在本地数据库。去重单元7用于采用基于内容的变长分块去重算法对上传至云存储服务节点的数据块进行去重检测;若同一云存储服务节点中的两个数据块相同,则按时间顺序存储第一个数据块;若同一云存储服务节点中的两个数据块不同,则更新数据块中修改部分内容。

除上述单元外,还包括加密单元和去重单元。加密单元用于对拆分后的原始数据块通过aes加密算法进行加密,加密后的原始数据块保存在本地数据库。去重单元用于采用基于内容的变长分块去重算法对上传至云存储服务节点的数据块进行去重检测;若同一云存储服务节点中的两个数据块相同,则按时间顺序存储第一个数据块;若同一云存储服务节点中的两个数据块不同,则更新数据块中修改部分内容。

本发明的多云安全存储动态平衡备份方法及系统通过采用多个云存储服务节点,将数据分片并行上传,提高了网络io的利用率,降低了单云存储服务节点的网络拥塞概率;文件备份采用动态调节机制,可实现错误云节点的热备份和替换,使数据块备份更加可靠。通过aes加密保证了文件的安全性。采用文件上传事件注册中心的数据块控制体系,保证了数据块的快速索引定位和高效管理。采用变长分块去重算法,使数据块只更新变动部分,减少了冗余数据的存储空间。运用哨兵检测机制,双控制中心模式,可以可靠地选取高可用性控制中心,对云数据备份系统进行有效管理。文件块备份位置与云节点的适配采用最佳大小适配原则,使资源合理分布,提高了云节点的利用率,降低了单节点资源过度占用的问题。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,应当理解,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。特别指出,对于本领域技术人员来说,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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