首页|基于分布式编程语言的Chord协议和算法

基于分布式编程语言的Chord协议和算法

扫码查看
P2P分布式哈希表(DHT)协议本身简洁并且易于理解,但是命令式语言与分布式架构的不匹配使得实现和部署一个拥有全部功能的类似Chord的组件相当困难和复杂.针对这些问题,提出一种基于Bloom系统来设计P2P分布式哈希表协议的方法.首先,阐述了Bloom系统的分布式逻辑编程语言要素;其次,设计了一个最小分布式系统;再次,通过定义永久、暂时、异步通信和周期集合,设计了指表维护算法、后继列表算法以及维持稳定算法等,实现一个Chord原型系统.实验结果证明,原型系统能完成Chord所有功能,并且与传统语言相比,代码量减少60%.分析表明最终的算法代码和分布式哈希表协议规范高度一致,不仅增强了代码的可读性和重用性,而且加深了对协议本身及其应用的理解.
Chord protocol and algorithm in distributed programming language
The Peer-to-Peer (P2P) Distributed Hash Table (DHT) protocol is concise,and can be understood easily,but implementing and deploying a component like Chord with all functions in practice is very difficult and complicated because of the mismatch between popular imperative language and distributed architecture.To resolve these problems,a P2P DHT protocol based on Bloom system was proposed.Firstly,the distributed logic programming language's key elements of Bloom system were expounded.Secondly,a minimal distributed system was designed.Thirdly,a Chord prototype system was implemented through defining persistent,transient,asynchronous communicating and periodic collections and designing several algorithms for finger table maintaining,successor listing,stabilization preseving and so on.The experimental results show that the prototype system can finish full functions of Chord,and compared to traditional languages,60% of the code lines can be saved.The analysis indicates such a high degree of uniformity between final code of the algorithm and the DHT protocol specification makes it more readable and reusable,and helpful for further understanding the specific protocol and relative applications.

Peer-to-Peer (P2P)Distributed Hash Table (DHT)logic programmingChordBloom

彭成章、蒋泽军、蔡小斌、张志珂

展开 >

西北工业大学计算机学院,西安710129

P2P 分布式哈希表 逻辑编程 Chord Bloom

航空科学基金资助项目航空科学基金资助项目陕西省自然科学基金资助项目

2010ZD530422012ZC530402010JM8023

2013

计算机应用
中国科学院成都计算机应用研究所

计算机应用

CSTPCDCSCD北大核心
影响因子:0.892
ISSN:1001-9081
年,卷(期):2013.33(7)
  • 1
  • 15