资源描述:
《基于分布式编程语言chord协议与算法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于分布式编程语言Chord协议与算法 文章编号:10019081(2013)07188505doi:10.11772/j.issn.10019081.2013.07.1885摘要:P2P分布式哈希表(DHT)协议本身简洁并且易于理解,但是命令式语言与分布式架构的不匹配使得实现和部署一个拥有全部功能的类似Chord的组件相当困难和复杂。针对这些问题,提出一种基于Bloom系统来设计P2P分布式哈希表协议的方法。首先,阐述了Bloom系统的分布式逻辑编程语言要素;其次,设计了一个最小分布式系统;再次,通过定义永久、暂时、异步通信和周期集合,设计了指表维护算法、后继列表算法以及维
2、持稳定算法等,实现一个Chord原型系统。实验结果证明,原型系统能完成Chord所有功能,并且与传统语言相比,代码量减少60%。分析表明最终的算法代码和分布式哈希表协议规范高度一致,不仅增强了代码的可读性和重用性,而且加深了对协议本身及其应用的理解。关键词:P2P;分布式哈希表;逻辑编程;Chord;Bloom中图分类号:TP311.133.1文献标志码:A英文标题Chordprotocolandalgorithmindistributedprogramminglanguage4英文作者名PENGChengzhang,JIANGZejun*,CAIXiaobin,ZHANGZh
3、ike英文地址(SchoolofComputerScience,NorthwesternPolytechnicalUniversity,XianShaanxi710129,China英文摘要)Abstract:ThePeertoPeer(P2P)DistributedHashTable(DHT)protocolisconcise,andcanbeunderstoodeasily,butimplementinganddeployingacomponentlikeChordwithallfunctionsinpracticeisverydifficultandcomplicatedbec
4、auseofthemismatchbetweenpopularimperativelanguageanddistributedarchitecture.Toresolvetheseproblems,aP2PDHTprotocolbasedonBloomsystemwasproposed.Firstly,thedistributedlogicprogramminglanguageskeyelementsofBloomsystemwereexpounded.Secondly,aminimaldistributedsystemwasdesigned.Thirdly,aChordprototypes
5、ystemwasimplementedthroughdefiningpersistent,transient,4asynchronouscommunicatingandperiodiccollectionsanddesigningseveralalgorithmsforfingertablemaintaining,successorlisting,stabilizationpresevingandsoon.TheexperimentalresultsshowthattheprototypesystemcanfinishfullfunctionsofChord,andcomparedtotrad
6、itionallanguages,60%ofthecodelinescanbesaved.TheanalysisindicatessuchahighdegreeofuniformitybetweenfinalcodeofthealgorithmandtheDHTprotocolspecificationmakesitmorereadableandreusable,andhelpfulforfurtherunderstandingthespecificprotocolandrelativeapplications.ThePeertoPeer(P2P)distributedhashtablep
7、rotocolisconcise,andcanbeunderstoodeasily,butimplementinganddeployingacomponentlikeChordofferingfullfunctionedprotocolinpracticeareverydifficultandcomplicatedbecauseofthemismatchbetweenpopularimperati