论文部分内容阅读
在Internet高速发展的今天,各种新型的应用层出不穷。这给基于Client/Server的传统数据存储模式带来了很大的挑战。存储内容和访问需求同时急剧增长,使得资源集中存储的单节点服务器已无法满足互联网用户对服务质量所提出的要求。如何在覆盖网络中提供具有高可靠性和高性能的分布式存储服务,是当前讨论的热点话题。由于P2P(Peer-to-Peer)组织方式能够为应用带来更高的扩展性和可用性,此模式逐渐成为Internet应用的一种重要组织方式。P2P分布式存储是指存储节点按功能对等方式组织成分布式存储网络,用户访问系统仍采用Client/Server模式。通过对目前分布式存储技术的研究,我们开发了基于专有存储与计算服务器的、面向结构化数据的分布式存储系统。通过存储服务器形成可靠的结构化覆盖网络,可扩展的计算服务器维护结构化数据,为用户提供可靠的数据存储服务。存储服务器负责提供键值存储服务,并通过数据冗余来保证数据存储的可靠性;计算服务器负责对键值数据的组织,并执行更新和查询等操作。计算服务器之间采用了多级的自适应负载均衡机制,通过动态的调整各计算服务器负载压力,极大提高了系统的整体运行效率。为了保证系统的高性能与高稳定性,各服务器模块的网络I/O采用了非阻塞的异步处理机制。模块中存在的大量定时器,由独立的线程处理完成,并使用了Linux内核提供的定时触发机制。存储服务器因存在大量的磁盘读写,磁盘I/O则采用了Linux aio来实现。为了提供高效的结构化数据存储与查询服务,系统采用了分布式B+树存储算法来维护数据的存储结构。键值数据节点采用分布式存储方式存储在存储服务器中;按B+树结构进行组织,由计算服务器进行维护。通过对比试验验证,该存储模型能有效降低存取时间延迟,同时大大提高了存取效率的稳定性。