论文部分内容阅读
云计算于2001年一经提出来,就受到了各大互联网公司的极力青睐。其重要部分的云存储技术也作为当前最新数据存储解决方案而发展迅速。云存储是指由海量廉价PC终端来取代原有的服务器集群,来为广大用户提供海量数据存储服务的新型技术。该解决方案具有低成本、高可靠、易扩展等明显优势,近年来,在商业界和学术界受到了大力发展,并随后涌现了一批优秀的、新型的云存储系统原型。而在商业云存储系统研究与设计中,优秀的客户端设计与实现对于系统的可用性和推广是至关重要的。CStore云存储系统是结合当前蓬勃发展的云存储技术,针对海量非结构化数据存储而设计实现的新型混合云存储系统。它不但具有现有云存储系统的典型特点,而且还支持多副本管理、故障检测、数据分片与加密和完善的多终端。本文以CStore混合云存储系统为基础,分析研究了当前系统客户端设计涉及到的核心技术和关键问题,设计并实现了一款稳定易用的客户端程序。论文的主要内容和创新点如下:1.基于内核态和用户态定制相结合的开发方式,使得客户端不但解决了纯内核开发面临的安全稳定性问题,而且也弥补了用户态定制开发的兼容通用性问题。2.高效的通信框架。基于Windows消息机制,文中采用面向对象思想封装实现了一个跨平台异步通信框架,供各个模块复用,减少了开发难度和复杂性。3.通用状态机框架。针对客户端面临处理大量复杂业务的情形,基于层次状态机,文中设计并实现了一个面向对象的高可扩展、易复用的状态机引擎。4.一致性控制。设计并实现了一套合理有效的文件数据冲突处理机制,用于解决用户多点登录时,修改同一文件而造成的数据不一致。5.高效的缓存机制和分析策略。通过有效的缓存机制和日志记录与事件消息解析优化策略,不仅减少了本地业务逻辑处理,还降低了对服务器的负载压力。6.良好的用户体验。客户端以虚拟磁盘的形式的呈现给用户,支持大部分应用对云端数据的无缝透明访问,且提供大量配置选项,供用户进行灵活选择。最后,对CStore系统客户端进行详细测试,除了基本功能测试外,还是进行了一定的性能压力测试和冲突处理测试,证明客户端的功能和可用性和性能。