论文部分内容阅读
云计算服务普遍采用一种冗余备份的方式来保证数据的安全性,即在存储源数据的同时备份多个副本。当源数据出现损坏或丢失情况时,云端可通过任一副本对数据进行修复。但部分云服务提供商(Cloud Service Provider,CSP)可能会为降低开销而做出不利于用户数据的举动。如针对用户不常用的数据,他们可能会为提高用户容量,将这些数据的副本更改或删除来腾出存储空间。可一旦上述数据出现损坏,那么它将是不可修复的。云数据的保护工作主要有检测和修复两部分。在检测部分,现有基于梅克尔哈希树(Merkle Hash Tree,MHT)结构的云数据完整性校验方案以单个文件为校验单位,分布式文件系统(Distrbuted File Systen,DFS)中的多文件校验会导致其通信复杂度高、校验效率低,而且大部分此类方案都不支持多副本校验或数据的动态操作。在修复部分,现有基于局部修复码(Local Reconstruction Code,LRC)的云数据修复方案虽然在单文件块修复时所需的参与节点数较少,但多块的同时修复仍需组内所有节点参与,造成了较大的读取和通信开销。为了解决以上问题,本文主要作出了以下工作:(1)本文提出了基于坐标的MHT结构--CMHT(Coordinate-based MHT),设计了相应的生成算法和动态更新算法,其中动态更新算法可以实现最小计算量的多节点同时更新。为了达到减小通信复杂度、提升校验效率的目的,提出了基于CMHT的云数据完整性校验方案。该方案以数据节点为单位构造CMHT,故其自身可支持多副本校验。本文还为该方案设计了相应协议,使其支持远程数据校验、异常数据定位和数据的动态操作;(2)本文改进LRC并提出了纠错能力较强且多块修复所需读取和通信开销更少的FLRC(Fully LRC)编码,设计了相应的编解码算法。然后提出了基于FLRC的数据修复方案,设计了相应协议,使其支持异常数据修复和数据的动态操作;(3)本文对上述两个方案都做了仿真分析,结果证明校验方案可大大提升校验效率,修复方案可有效减少多块修复所需的读取和通信开销。