论文部分内容阅读
随着Internet技术的飞速发展,各行各业产生的数据急剧膨胀。传统的海量信息存储系统可扩展性差,只能通过设备升级来实现纵向扩展,导致了管理和运营成本提高。以分布式文件系统为核心的云存储系统在存储容量、可扩展性、可靠性方面表现出了特有的优势,在海量数据存储领域的应用越来越广泛。但主流的云存储系统没有统一的接口,现有的建立在不同系统之上的应用无法直接访问这些系统,且很难实现快速迁移。此外,云存储的数据安全问题也是用户关注的核心问题。为了满足现有应用到云存储平台的快速迁移和数据安全的需求,课题组设计了云存储网关JoinIn。JoinIn将后端的云存储系统抽象为传统的文件系统,提供标准的POSIX接口供用户使用。JoinIn的元数据服务器位于局域网,访问安全受控,数据存储于后端云存储系统。本课题针对由于云存储架构导致的数据访问延迟大、吞吐率低等问题,对云存储网关JoinIn的分布式缓存系统进行了研究和实现。JoinIn缓存系统的主要设计思想是,运用缓存“取一次,读多次”的关键思想,利用访问的局部性,将用户访问频率高的内容保存到离用户较近的缓存系统中,当用户再次访问这些数据时,就可以从缓存中快速获取,这样就避免了和后端云存储系统的交互,降低了数据的传输延迟、缓解了后端服务器的负载、节省了带宽。本文的主要工作和创新包括:1)提出了云存储网关JoinIn的缓存系统的体系结构,针对内存缓存容量有限和易失的特点,提出了内存和磁盘组成的两级缓存结构,增大了缓存容量,实现了缓存内容的持久化存储。2)提出了云存储网关JoinIn的缓存系统的替换算法——JoinIn_LRU算法,针对经典的LRU算法没有考虑访问次数的不足,在LRU基础上,提出了综合考虑访问时间间隔和访问次数的算法。3)设计和实现了基于虚拟节点的一致性哈希缓存集群架构:考虑单节点缓存系统的扩展性,在深入研究一致性哈希算法的基础上,设计实现了分布式缓存集群架构。本课题搭建了测试环境,对系统进行完整的功能测试和性能测试,实验结果表明,带有缓存系统的云存储系统,读性能得到了大幅度提高。因此,本文设计的缓存系统是提高云存储系统使用体验的有效手段。