论文部分内容阅读
在计算机网络中存在着大量空闲的存储资源,例如台式机、服务器、工作站等,虽然这些节点的计算与存储能力各异,但都可以向其他节点提供一定的共享存储空间,并且这些节点也可能成为共享资源的访问者。分布式存储系统为了有效组织这些节点,并合理利用节点的资源,需要考虑节点异构性与连接异构性。
节点异构性是指节点的存储能力各异,存储空间多的节点应当适当分担更多的负载,并且数据存储策略应当考虑到节点的负载状况,并动态判断和选择合适的节点存储。连接异构性是指节点之间的连接耗费不同,同一实验室中的两个节点传输数据比起不同城市之间的两个节点传输数据要更加快速,因此在存储系统中对数据访问时,应尽量避免通过高耗费的连接进行,优先在本地相近节点中访问数据。
本文针对上述问题,基于结构化P2P系统中DHT技术所提供的资源定位功能,设计一个分布式存储系统,向用户提供面向文件的存储与读取服务。该存储系统所基于的DHT协议Cycord,利用CCC图的拓扑特征对节点进行组织,首先将节点组成本地圈再将本地圈连接在一起,以方便区分节点之间低耗费的本地连接与高耗费的远程连接。利用此特性,在DHT路由协议、关键字分配的动态负载均衡、文件裂片存储位置选择的动态负载均衡、文件裂片索引冗余存储等方面都尽量减少通过远程连接的数据传输,提高网络资源的利用效率。
本文的主要贡献有:
(1)基于CCC图和DHT协议,设计了一个新的资源定位协议Cycord。理论与实验数据的分析比较说明,在条件2L<λ*(log2m)满足时,Cycord比Chord具有更低的查询耗费。进一步对Cycord协议查询产生的本地跳进行优化,以适当扩大路由表规模的代价,进一步提升Cycord查询效率。针对Cycord中关键字在节点间均衡分配的问题,提出了一种Cycord本地动态均衡策略,达到关键字在节点间迁移的目的。
(2)在Cycord协议所提供的资源定位功能的基础上,设计了一个面向文件存储与读取的分布式存储系统。该系统通过一定的负载均衡策略、数据冗余策略及数据缓存策略,提升存储资源利用效率,增加数据持久性,提高数据访问效率。在负载均衡方面,该系统以简单高效的本地负载通告协议为基础,采用了特有的本地负载均衡策略与有效的远程均衡策略,仿真实验结果说明,所使用的策略可极大降低节点负载率方差。在数据冗余方面,利用了数据读取节点的计算能力,对丢失的文件裂片进行恢复。在数据缓存方面,通过数据的本地化访问,减轻了远程连接的负担,提升了访问效率。