基于云计算技术的大规模数据存储策略研究
2022-05-11徐敏胡聪王萍刘翠玲许畅吴尚
徐敏, 胡聪, 王萍, 刘翠玲, 许畅, 吴尚
(国网安徽省电力有限公司信息通信分公司, 安徽, 合肥 230061)
0 引言
网络数据量急剧提升,大规模数据成为网络中信息形式,大规模数据具有类型多、时效性要求高、价值密度低以及数据量大的特点[1]。以往的数据处理技术已无法满足大规模数据处理需求,云计算技术的诞生为大规模数据的挖掘、分析以及处理提供巨大的技术支持[2]。
大规模数据的数据结构复杂,并且其中包含众多敏感数据,敏感数据吸引众多攻击者,令网络安全有所下降[3-5],云计算技术的大规模数据处理安全性极为重要。云计算数据存储技术吸引众多通信领域学者的关注:任晓莉等[6]研究云计算中基于动态虚拟化电子流密码的安全存储,利用动态虚拟化电子流密码实现云计算技术的数据存储具有较高的存储有效性,但实时性较差;罗先录等[7]研究基于LOP的分布式数据存储与查询技术,具有较高的实时性,但安全性较差。
基于以上方法所研究数据存储的缺陷,研究基于云计算技术的大规模数据存储策略,利用云计算平台实现大规模数据高效存储,具有较高的实用性。
1 云计算技术的大规模数据存储策略
1.1 云计算技术的虚拟化技术
选取基础设施即服务(Infrastructure as a Service,IaaS)的云计算平台作为大规模数据存储策略的运行平台。该平台采用虚拟化技术搭建,虚拟化技术是IaaS云计算平台的关键技术,通过虚拟化技术可实现平台资源的充分利用以及资源能动态伸缩[8]。虚拟化技术的云计算平台总体结构图如图1所示。相同的物理机可通过内存、CPU等硬件资源的虚拟化处理实现众多IaaS云计算平台的多台虚拟机同时运行,利用虚拟机监控器实现众多共享硬件资源虚拟机控制的相互隔离[9],将MC算法与并行AES算法相结合应用于虚拟机监控器内的加解密模块,实现大规模数据的安全存储。
图1 虚拟化技术的云计算平台
1.2 云计算技术的大规模数据存储
大数据技术和云计算技术是目前应用于网络信息传输中极为重要的技术,数据存储安全性决定用户的利益与隐私[10]。云计算平台的虚拟机监控器内的加解密模块实现大规模数据存储结构图如图2所示。
图2 大规模数据存储
在虚拟化技术的云计算平台中通过MC算法与并行AES算法实现大规模数据存储。用户上传原始数据后,拆分、置乱原始数据,将分片后原始数据加密上传至云计算平台,云计算平台针对不同用户利用并行AES算法生成公私密钥对(kpub,kpri)。用户保存所生成的密钥对[11],数据上传时,利用MC算法处理用户所上传的数据,并将密钥kpub同时上传至云计算平台,云计算平台利用密钥再次加密数据,实现所上传大规模数据加密;云计算平台接收用户下载请求后,下载加密文件至用户端,用户端通过密钥kpri实现数据解密,并将解密后数据通过数据重组恢复原始数据。以上分析可知,原始大规模数据的加密、拆分、完整性存储安全以及用户接入的安全性决定了大规模数据存储安全性,通过权限鉴定的用户才可登录云计算平台,进行大规模数据的相关操作。
1.2.1 MC算法
利用MC算法处理原始数据可提升数据传输安全性,有效抵御攻击行为[12],实现大规模数据的安全存储。设云计算平台中各归档文件的副本冗余数量为r,存在攻击情况下,利用RS编码(Reed-solomon codes,里所码)冗余副本以及冗余信息无法恢复归档文件内各RS分组bi的概率上限计算式:
(1)
式中,r与d分别表示副本冗余数量以及RS编码码距,n与m分别表示码组长度以及大规模数据块数量,Ai与ε分别为事件以及数据块损坏比例。
P(Ai)=P(B>d/2)=P(B>(1+δ)μ)<
(2)
式中,δ=(d-2nε)/(2nε),μ=nε。
通过以上分析可得:
(3)
当攻击行为破坏云计算平台内各副本的概率具有较高独立性[13],受到攻击行为破坏的RS编码仅分组数据块随机副本未存在错误时,分组可被恢复。各RS分组在归档内互为独立,受到攻击行为破坏时,归档F中包含数据块数量为m时,不可恢复概率计算式如:
(4)
获取数据恢复概率计算式如:
(5)
以上分析可知,待存储大规模数据受到攻击行为后,MC算法存在较高的数据纠错能力,云计算平台的副本冗余数量r、RS编码码距d、码组长度n、大规模数据块数量m以及数据块损坏比例ε决定MC算法的纠错能力。
1.2.2 并行AES算法
将并行加密方案应用于大规模数据存储策略中,将对称AES加密算法与云计算技术相结合,利用大规模数据分块加密与AES分组加密方法加密明文数据。云计算平台的Map-Reduce编程模型通过分片、Map函数以及Reduce函数三部分实现数据加密与解密,将用户所输入数据通过自定义规则划分不同片区。依据不同片区调度机制通过主节点分配至各处理器内,将完成分片的数据利用Map函数实施操作,最终利用Reduce函数将Map函数所获取结果整合实现数据的最终处理。
AES加密数据的明文须为128 bit整数倍,加密前需充分处理数据规格[14],通过填充整数倍长度的明文将其处理至128 bit整数倍后实施分片。AES密钥长度主要包括128 bit、256 bit、384 bit等3种,将加密/解密轮次用Nr表示,AES算法的加密解密流程如图3所示。
(a) 加密流程
待处理数据在云计算平台内大规模数据文件位置用pos表示,i与li分别表示分片以及分片大小。将加密的大规模数据文件通道打开,第一个字节在文件内偏移量用变量pos存储,待存储数据未到达文件终端时,可得分片i长度li计算式如:
(6)
式中,L与n分别表示明文文件长度以及明文文件以128 bit为单位所分组数。
将分片内容i选取filebuffer存储,将分片i起始部分在云计算平台文件内偏移量用key存储,利用filebuffer赋值Value,下一个分片利用pos指向。
ECB模式分组的AES加密算法利用Map函数执行,输入
2 实例分析
为验证本文所研究基于云计算技术的大规模数据存储策略对于大规模数据存储有效性,利用计算机群模拟建立具有300个虚拟机节点的实验平台,利用虚拟集群模拟数据中心建立云计算平台,各数据中心均包含计算实体数量为15个,不同数据中心地理位置相同分属地域不同,因此在实际运行中,测试200个虚拟机节点的实验平台以及不同大小、数量的数据集。为验证本文方法对大规模数据存储有效性,选取动态虚拟化方法(文献[6])以及LOP方法(文献[7])作为对比方法。
统计不同数据集数量时云计算平台内数据移动次数和移动量变化情况,统计结果如图4、图5所示。图4、图5实验结果可以看出,不同数据集数量时,采用本文方法存储大规模数据的数据移动量和数据移动次数明显低于另2种方法,主要原因是本文方法在云计算平台数据传输与存储中的请求、响应、连接的建立和断开操作空间开销均低于另2种方法,便于处理大规模数据,有效降低数据传输与存储开销,在实际应用过程中降低存储开销的基础上提高数据传输效率。
图4 数据移动次数受数据集变化量影响
图5 数据移动次数受数据集变化量影响
统计不同数据集变化范围时3种方法的数据移动量变化情况,设置数据集数量以及工作流任务量均为80,数据中心数量以及平均值为15个以及500 M,统计结果如图6所示。图6实验结果可以看出,3种方法均为数据移动量越小,数据集变化范围越宽。待存储数据具有相同平均值时,本文方法大规模数据存储策略的数据移动量波动较大。本文方法的数据移动量波动较大,验证数据集变化幅度较高时,本文方法可有效选取具有较小移动规模的数据集,移动数据量有所降低,验证本文方法具有较高的数据存储与传输效率。
图6 不同数据集变化范围时数据移动量
采用本文方法加密大小为5 GB的数据,统计不同Map数量时Map耗时和Reduce耗时,统计结果如图7所示。图7实验结果可以看出采用本文方法存储大规模数据的加密过程中,Map耗时和Reduce耗时均低于150 ms,验证本文方法具有较高的实时性,运用本文方法存储数据实时性较强,减少不必要耗时,提高效率。
图7 Map耗时和Reduce耗时
以用户选取文件、点击文件至上传按钮时间作为数据加密耗时;以用户从云计算平台接收密文时间作为解密初始时间,所获取明文保存至本地磁盘驱动器作为解密终止耗时。统计采用本文方法存储大规模数据不同数据集大小时加密耗时与解密耗时,并将本文方法与另2种方法对比,对比结果如图8所示。图8实验结果可以看出,采用本文方法存储大规模数据,加密耗时与解密耗时均明显低于另2种方法,采用本文方法存储不同数据集大小的大规模数据加密耗时均在700 ms以内,采用本文方法存储不同数据集大小的大规模数据的解密耗时均在600 ms以内。本文方法的加密以及解密耗时较少,可有效提升大规模数据的存储效率。
(a) 加密耗时
(b) 解密耗时
统计采用本文方法存储大小为50 GB的数据,不同Map数量时的Map加速比以及整体加速比的统计结果如图9所示。
图9 加速比对比
图9实验结果可以看出,本文方法在不同Map数量时的Map加速比和整体加速比均明显高于另2种方法。本文方法采用云计算技术,利用云计算平台实现大规模数据加密与解密处理,具有较高的数据存储效率,可有效提升数据存储过程中的加速比。大规模数据的存储和备份将造成数据传输存在较高延迟,本文方法在不同Map数量时均具有较高的加速比,表明本文方法传输大规模数据过程中具有较低的延迟,验证本文方法具有较高的通信存储性能。
数据存储的安全性极为重要,统计采用本文方法存储大规模数据受到不同攻击频率时的传输效率,通过传输大规模数据时的Map耗时、Reduce耗时、加速比衡量传输效率,3种方法在不同攻击频率下存储效率结果如图10所示。从图10实验结果可以看出,本文方法在不同攻击频率下的传输效率均高于98.5%,实验结果验证采用本文方法存储大规模数据,不同情况下的Map耗时、Reduce耗时以及加速比均较高,不同攻击情况下均具有较高的存储效率;对比方法的存储效率均低于本文方法,说明另2种方法对攻击的抵御能力较差,受到攻击情况下数据存储效率较低。本文方法具有较高的数据存储效率,不仅具有较高的数据传输实时性,并且数据存储安全性高,符合大规模数据存储需求。
图10 不同攻击频率时存储效率
3 总结
云计算技术以及大数据技术的高速发展推动了计算机行业发展,云计算技术可提升网络大规模数据的存储安全性以及实时性,实现大规模数据高效存储。大规模数据存储时,数据的加密与解密处理方式极为重要,高效的数据加密、解密处理可提升云计算技术的科学合理应用性能。云计算技术实际应用中,需依据用户实际需求,不断研究与探索,令云计算技术发挥最大效用。将云计算技术应用于大规模数据的存储策略中,有效提升大规模数据存储的安全性,对于建设大规模数据的云计算平台具有较高的借鉴意义。