论文部分内容阅读
随着计算机网络技术的发展和普及,出现了越来越多的像”新浪”,“淘宝”等众多的大型门户网站和电子商务网站,这类网站都保存了大量的数据资源。由于受客户端浏览器的限制,无法从一台服务器上面下载所有的数据资源,因此即使服务器有很高的带宽,用户的访问速度还是会受到很大的影响,另外,由于数据保存在物理硬盘上面,访问数据会进行频繁的I/O操作,因此当并发用户数越来越多时,I/O操作就会成为整个系统的性能瓶颈。 针对以上的问题,本文提出了一种基于Pick-KX算法的分布式存储解决方案,构建一个易于扩展,具有良好的性价比和容错能力的分布式存储系统,并且允许大量的客户端并发访问,而不会出现客户端的请求得不到响应的问题。本文的主要工作和贡献可以归纳为以下几点: 1.研究了HBase数据库的工作原理、读写流程和容错机制,通过对HBase数据库的整体架构和工作机制进行分析,系统利用 HBase数据库对文件进行分布式存储和数据备份。 2.研究了 Redis内存数据库的工作机制、存储数据结构、持久化机制和读写分离机制,通过对Redis源码的阅读和分析,系统采用Redis对数据读取进行优化,将用户频繁访问的数据存入Redis中,同时利用Redis的过期机制将长期未被访问的数据从Redis中移除,提高内存使用效率。 3.研究了ZooKeeper的工作原理,在系统中利用ZooKeeper实现自动化配置管理和集群管理,减少开发和维护人员的工作量,同时让系统主节点实时得知工作节点上线和下线状态,调整任务分配策略,提高系统的可靠性。 4.通过对Pick-KX算法的研究,系统利用Pick-KX算法实现各处理节点的负载均衡,避免某些处理节点长期空闲和忙死的情况,实验表明该算法能够有效地实现系统负载均衡。 5.研究了文本差异检测算法,当用户对当前文件进行修改时,利用该算法将差异同步到服务器上面,避免用户的修改数据丢失,保证系统的完整性,另外,系统利用布隆过滤器避免相同的文件重复上传。