论文部分内容阅读
随着互联网、物联网等技术的迅速发展,特别是web2.0等数据密集型技术的应用,产生了大量数据,海量数据的存储需求催生了云存储技术。开源云管理平台OpenStack的Swift对象存储使用普通廉价的硬件设备构建的存储集群,能够为PB级别的数据提供冗余的、可靠的、可弹性扩容的数据存储服务。为提高数据的安全性,引入了副本技术。在副本调整方面,当节点加入或者删除时,由于虚拟节点副本调整的随机性,导致了系统的负载不均衡;在副本一致性方面,在数据密集型场景下,当对象副本个数多,每个物理节点存储对象特别多时,Swift自身的一致性策略具有网络开销高,同步延迟大的问题。 在副本调整方面,采用了基于虚拟节点访问排名的副本调整策略。通过对Swift自身的副本调整策略进行研究,由于调整的随机性,导致了负载的不均衡。为解决此问题,提出了基于虚拟节点访问排名的副本调整策略。当节点加入或者删除时,根据虚拟节点的访问排名,动态调整虚拟节点和物理节点之间的映射关系,实现各物理节点的负载均衡。 在副本一致性方面,采用基于轻量级同步协议的副本一致性策略。通过对swift自身的副本一致性策略进行研究,搭建swift集群,利用ssbench工具模拟测试,发现当对象副本的个数较多,每个存储节点存储的对象个数特别多时,swift自身策略带来了网络开销高,同步延迟大的问题。为解决此问题,提出了基于轻量级同步协议的副本一致性策略。一方面,通过Merkle Tree创建机制HOH,降低发送同步消息的大小;另一方面,通过圆形散列检测机制CHC,来减少发送同步消息的数量。 实验结果表明,当有节点加入或者删除时,基于虚拟节点访问排名副本调整策略,能很好的调整虚拟节点副本和物理节点之间的映射关系,均衡了系统负载。在数据密集型场景下,基于轻量级同步协议的副本一致性策略,可以降低网络开销,减少同步延迟,提高Swift对象存储系统的性能。