副本的存在是一种提高P2P系统的可扩展性、容错性、可用性和减少查询响应时间的有效手段.随着P2P应用逐渐由只读静态文件共享转换为需要实时更新的读写动态文件交互,副本一致性维护成为确保新业务正确运行的关键.从直接更改消息报文角度出发,提出一种基于节点轨迹标签的无结构P2P副本一致性维护算法,通过在传输消息的报文中添加已接收更新消息的节点轨迹地址链表标签,可以在消息传输源节点进行冗余判断“减少冗余消息数目.同时,针对直接存储节点地址轨迹标签算法的消息长度随着消息传输轮数和网络度数增加而不断加大的问题,提出一种用Bloom filter替代地址链表轨迹标签的算法.通过Bloom filter这种简洁的结构表示地址链表,可以减少添加到报文中的轨迹长度,利用Bloom filter的“或”运算可以简化传输节点的冗余判断.实验结果表明:节点轨迹标签算法可以极大地降低冗余消息数目,提高P2P系统的可扩展性.副本节点网络连通性越强,消息数目和传输带宽的减少就越明显.该研究可以用到传感器网络等其他自组织网络的一致性维护中.
Replication is an effective way to improve the scalability, fault-tolerance, and availability as well as to reduce the query responding time in P2P system. With the P2P applications transferring from read-only static files sharing to read-write dynamical files interacting, maintaining consistency between frequently-updated files and their replicas is a fundamental reliability requirement for P2P system. This paper presents a trace label based consistency maintenance algorithm. It modifies the message datagrarn by attaching the address list of peers to which message has been sent. This can help to tell the duplicated message from the source peer by the aid of the attached address list in message datagram. Considering that the address list can become longer with the update time lapsing and the degree of P2P increasing, this paper presents a new Bloom Filter denoting the address list algorithm. The Bloom Filter can succinctly present the address list and simplify the query actions in the list by "OR" operations. The experimental results show that the new trace label based consistency maintenance algorithm can largely reduce the number of the duplicated messages. Moreover, the higher the degree of P2P, the more reduction of the number of duplicated messages and bandwidth utilization. The idea of consistency maintenance in this paper can also be applied to sensor network and other ad hoc networks.