CN107612980B - 一种结构化p2p网络中可调节且可靠的一致性维护方法 - Google Patents

一种结构化p2p网络中可调节且可靠的一致性维护方法 Download PDF

Info

Publication number
CN107612980B
CN107612980B CN201710750460.XA CN201710750460A CN107612980B CN 107612980 B CN107612980 B CN 107612980B CN 201710750460 A CN201710750460 A CN 201710750460A CN 107612980 B CN107612980 B CN 107612980B
Authority
CN
China
Prior art keywords
node
update
nodes
network
consistency maintenance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710750460.XA
Other languages
English (en)
Other versions
CN107612980A (zh
Inventor
齐小刚
杨伟
刘立芳
高蓉
侯力元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201710750460.XA priority Critical patent/CN107612980B/zh
Publication of CN107612980A publication Critical patent/CN107612980A/zh
Application granted granted Critical
Publication of CN107612980B publication Critical patent/CN107612980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于P2P网络技术领域,公开了一种结构化P2P网络中可调节且可靠的一致性维护方法,所述结构化P2P网络中可调节且可靠的一致性维护方法通过构造更新分发环传播更新;分发环采用多次询问方案、多点传输、发送更新前询问和在节点中开辟缓存区提高一致性维护效率;通过节点生成列表方式更新传播;节点自主选择数据供给节点寻找相对最优路径。本发明具有较短的更新分发时延、抗毁性好和较低的花费;可以应用于诸多P2P应用比如社交网络、P2P合作系统等。用户可以在一个较短的时间里取得所需的更新,并且可以发布一个更新;可以给节点开辟一片空间用来存放更新的不同版本,增加服务质量并减少由于数据丢失而引起的损失。

Description

一种结构化P2P网络中可调节且可靠的一致性维护方法
技术领域
本发明属于P2P网络技术领域,尤其涉及一种结构化P2P网络中可调节且可靠的一致性维护方法(ARCOM),通过构造更新分发环(mUD-Ring)来实现。
背景技术
在过去的几年,英特网的飞速发展给P2P网络带来了快速扩大和发展的机遇,P2P网络相较于传统的C/S网络有着许多优点,比如提高了数据可用性、容错性和网络可扩展性等。许多P2P应用只支持静态文件的读写,而对于许多动态改变的文件并不支持。随着计算机技术的不断发展,对于新的P2P应用,要求这些应用支持可变文件的读写功能;例如文件存储系统、可变内容分享系统、网络互连系统和P2P合作系统。对于基于P2P的应用,复制和缓存这两种方法常常被用来提高数据的可扩展性和可用性;随着这两个技术不断被人们发掘和关注,另一个新的问题随之浮出水面,那就是数据一致性维护,现有关注于P2P文件复制技,对于数据一致性维护关注甚少。数据一致性对于有着高动态性的P2P网络的重要性不言而喻,一方面,如果没有有效的一致性维护方法,P2P系统只能被迫提供静态文件或者低频率变动的文件;另一方面,许多新兴的P2P应用要求P2P系统提供对于可变文件一致性维护的支持。而目前由于世界的飞速发展,信息更迭的速度明显加快,好的一致性维护方法对于提高P2P应用的服务质量是非常重要的。P2P系统往往十分庞大,而且系统的节点性能往往是不均匀的,由于节点能力的不均匀使得一致性维护方法的设计变得十分困难;并且P2P系统允许节点自由加入和退出,给P2P系统带来了很高的动荡性。现存的结构化P2P系统是依赖于分布式散列表(DHTs)来分配资源给不同的节点的,而且由于分布式散列表的设计,使得P2P系统在拓扑层面上达到了负载平衡,然而现实情况却复杂的多,由于内容流行程度的不同,某些内容被访问的次数非常多,但某些内容被访问的次数却非常少,那些被访问次数多的节点经常会出现负载过重等问题,提供复制节点就成为减低节点负载的一个有效方法,但随着文件内容的改变,相应复制节点的内容也需改变,给一致性维护带来许多困难。在一个P2P系统中,一致性维护面临以下问题:(1)、节点扰动问题:由于节点可以自由的加入和退出系统,一致性维护系统的记录的节点信息需要保持准确,要在节点扰动而造成的节点路由信息过时的情况下任然可以准确的维护数据一致性。(2)、节点损坏问题:在一致性维护系统中,往往通过建立一个结构来保持数据一致性,但网络攻击无处不在,如何在节点遭受打击的情况下保持结构的稳定和更新的分发效率也是一致性维护方法需要解决的问题。(3)、更新及时性问题:在一致性维护中,更新下发到复制节点的时间是一个非常重要的参数,参数往往衡量一个一致性维护方法的好坏。更新传播时间越短,表明更新被分享的几率越大,数据分享效率越高,一致性维护要求方法需要有短的更新传播时间。(4)、花费问题:有效的一致性维护方法应当不会产生过多的花费,随着网络规模的不断扩大一致性维护方法花费的增长不应该过快。现有的一致性维护方法大体上可以分为两种:随机一致性维护方法和时间限定的一致性维护方法,但这两种方法都有缺陷。随机一致性方法由于其数据一致性维护是随机的,并不能保证所有的节点都收到更新,给用户带来不好的体验从而降低服务质量。时间限定维护方法通过限定一个确定的时间来对所有的节点进行文件更新,并没有考虑到P2P系统中节点的异构性和链路的异构性,节点的更新频率不同,链路的延迟不同,某些节点可能需要频繁的更新,但某些节点可能更新并不频繁,会产生不必要的流量,过多的数据包,增加了不必要的花费。而ARCOM克服了这两个缺点,首先,ARCOM把所有需要更新的节点组织成一个环形,称为更新分发环(mUD-Ring),之后在更新的阶段,可以让每一个需要更新的节点都收到更新,而且为了减少由于节点性能低下引起的丢包,ARCOM通过开辟缓存区来存放历史版本的更新使得节点不会因为一时繁忙或者链路占用等原因错过想要的更新。其次考虑到节点的更新频率和链路的延迟,更新分发环(UD-Ring)在发送更新时会询问节点是否需要更新,如果节点不需要,则跳过节点,不仅可以让更新到达每个需要的节点,而且可以减少网络中冗余的数据包数量,降低花费。再次,考虑到网络中通信链路质量是不均匀的,ARCOM提出的更新接收方法可以使节点选择链路质量最好的节点来接收更新,不仅节省了时间,还可以提高一致性维护的效率,增加了带宽利用率。在现有的许多一致性维护方法中,许多方法都有着或多或少的问题,比如:冗余数据包过多、只适用于性能均匀的环境、结构抗毁性差等缺点。在ARCOM中,复制节点被组织成一个环形(mUD-Ring)来传播更新。并且结构是构建与覆盖网络之上的,类似于Chord,每个节点会持有一个列表,列表中记录的是他之后的一跳或者几跳的节点信息,通过给列表中的节点发送更新包来达到传播更新的目的。
综上所述,现有技术存在的问题是:由于网络动荡和网络打击引起的丢包问题;在数据包传输过程中发生丢包,则会造成数据丢失,文件传输时间过大等问题,降低服务质量(QoS)。
发明内容
针对现有技术存在的问题,本发明提供了一种结构化P2P网络中可调节且可靠的一致性维护方法。
本发明是这样实现的,一种结构化P2P网络中可调节且可靠的一致性维护方法,所述结构化P2P网络中可调节且可靠的一致性维护方法通过构造更新分发环传播更新;分发环采用多次询问方案、多点传输、发送更新前询问和在节点中开辟缓存区提高一致性维护效率;通过节点生成列表方式更新传播;节点自主选择数据供给节点寻找相对最优路径。
进一步,所述结构化P2P网络中可调节且可靠的一致性维护方法包括以下步骤:
步骤一,利用Chord环建立模型,每个节点都可以发送信息给另一个节点,而且每个节点都有一个唯一的编号;所有的副本节点按照原来Chord环上的顺序提取出来组成另一个逻辑上的环形,环上每个节点可以通过在Chord环中发送hello消息的方式获取自己的下一跳或者下几跳节点的信息;等节点组成一个逻辑环,更新分发环;
步骤二,每个节点需要的下一跳甚至下几跳的节点信息有:节点ID,带宽;当节点通过在原来Chord环中发送hello消息的方式获取下一跳和下几跳节点的ID;
步骤三,当某个节点准备启动更新时,节点把更新信息发送给数据主节点,数据主节点检查更新包并发送返回信息给更新发起节点,当更新发起节点收到数据主节点的确认信息时,更新开始;
步骤四,节点会从其他发送更新包给他的节点中选择一个RTT最小的发送请求消息给他,让节点发送一份更新给自己,避免由于节点损坏引起的数据丢失;
步骤五,在每个节点乘以缓存空间用来存放各种历史版本的更新包。
进一步,所述步骤三中更新从数据主节点和更新发起节点两个节点同时开始;
消息分为四种:
第一种是RCK,是询问节点是否需要更新;
第二种是ACK,表示节点已经准备好接受更新信息,处于等待接受阶段;
第三种是NACK,表示节点没有更新但需要更新包;
第四种是delete消息,表示节点已经有更新或者不需要更新。
进一步包括:首先发送RCK给自己列表中的节点,等待回应,当收到节点的ACK时,发送更新包给相应的节点;当收到节点的NRCK时,不发送更新包但保留更新包直到收到列表中所有节点的delete消息之后在删除更新包。
进一步,所述步骤四包括:节点5需要节点1发来的更新,并且已经发送ACK给节点1,节点1在时候被恶意攻击击毁,节点5将会收不到更新;当节点5经过一定的时间t以后收不到更新包,节点5认为节点1已经把损坏,节点5会从其他发送更新包给他的节点中选择一个RTT最小的发送请求消息给他,让节点发送一份更新给自己。
本发明的另一目的在于提供一种应用所述结构化P2P网络中可调节且可靠的一致性维护方法的P2P网络。
本发明的优点及积极效果为:通过构造更新分发环传播更新,为了减少丢包率,节点采用多次询问方案传播更新,当数据传输过程中发生丢包时,接收更新的节点向其他可以为其提供更新的节点发送询问消息,继续请求更新,直到收到更新为止;多点传输和发送更新前询问可以减少时延,即接收更新的节点可以在多个更新供给节点中选择带宽较高,网络条件较好的节点为其提供更新,这样既可以减小更新分发时延,又可以降低数据冗余;在节点中开辟缓存区可以使得一致性维护策略更具弹性,节点开辟缓存区缓存历史更新,可以为其他节点提供所需要的版本的更新。
Omnet++仿真表明ARCOM与现有一致性维护方法相比有着高的更新传播效率、低的丢包率(近乎为0,其他方法在15%-80%之间)、低的数据冗余。ARCOM采用和抗毁性更好的环状结构,并且通过节点生成后向节点列表的方式来稳定结构,使得即使某个节点被打击,也不会因为节点损坏而出现更新丢失的情况。为了解决数据冗余过多问题,ARCOM采用发送RCK的方式询问节点是否需要数据包,并且节点可以选择网络环境最好的数据供给节点来达到快速维护一致性的目的。为了解决结构维护花费过高的问题,ARCOM采用了Chord自带的节点加入算法,从而使得结构维护花费最小。为了使一致性维护方法适用于任何网络环境,需要过多的先验信息(如地理位置信息、兴趣信息等),ARCOM采取自适应选择路由,使得更新数据可以找到一个相对网络环境较好的节点发送。ARCOM是第一个基于环形结构的具有很强抗毁性的数据一致性维护方法,并且方法能达到很高的效率和鲁棒性。
本发明具有较短的更新分发时延、抗毁性好和较低的花费。ARCOM可以应用于诸多P2P应用比如社交网络、P2P合作系统等。用户可以在一个较短的时间里取得所需的更新,并且可以发布一个更新;可以给节点开辟一片空间用来存放更新的不同版本,增加服务质量并减少由于数据丢失而引起的损失。
本发明通过仿真来对比一致性维护方法之间的更新传播效率,ARCOM通过构建更新数据环(mUD-Ring)来传播更新,并且每个节点都有不止一个更新供给节点,某个节点被打击,也会有其他的节点来提供更新,给了模型恢复比较多的缓冲时间,可以选择资源耗费少,花费小的方法来维护模型。
本发明可扩展性好,更新分发效率高,抗毁性好的结构化P2P网络中的一致性维护方法ARCOM,ARCOM通过构建更新数据环(mUD-Ring)来达到传播更新的目的。本发明通过依靠数据更新环(UD-Ring),达到非常好的一致性分发效率;通过发送更新时对节点发送询问RCK,使节点选择网络状况最好的路径接受更新,从而最大化利用网络性能且达到负载平衡;通过加入节点打击容错机制,在即使节点被攻击的状况下仍然让所有副本节点接收到更新;通过在节点中开辟缓存区,使节点不会因为一时的忙碌或者网络波动而错失自己想要的更新;ARCOM不需要任何的先验信息来达成上述目的,ARCOM花费小,执行效率高;仿真结果表明,在与其他的结构化P2P网络中的一致性维护方法比较中发现,本发明的方法减少了网络中的数据冗余,加快了更新分发时间,抗毁性好。
图10表示了网络波动情况下BCoM和ARCOM两种方法的丢包率,图10(b)为图10(a)的某一段放大后的丢包率波动情况,从图中可以看出,随着时间的增加,两种方法的丢包率都大概稳定在一个值,BCoM的丢包率大约在13%左右,而ARCOM的丢包率大约在0.04%左右,基本不丢包,ARCOM是优于BCoM的。
附图说明
图1是本发明实施例提供的结构化P2P网络中可调节且可靠的一致性维护方法流程图。
图2是本发明实施例提供的3UD-Ring理论模型示意图。
图3是本发明实施例提供的多次询问方案示意图。
图4是本发明实施例提供的不同网络规模下更新分发时延示意图。
图5是本发明实施例提供的不同m值下ARCOM的更新时延示意图。
图6是本发明实施例提供的大规模网络下网络攻击对丢包率的影响示意图。
图7是本发明实施例提供的小规模网络下网络攻击对丢包率的影响示意图。
图8是本发明实施例提供的数据冗余随着网络规模的变化情况示意图。
图9是本发明实施例提供的数据冗余随m的变化情况示意图。
图10是本发明实施例提供的网络波动情况下BCoM和ARCOM两种方法的丢包率示意图;
图中:(a)网络波动情况下的丢包率;(b)网络波动情况下的丢包率。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在P2P系统一致性维护中存在以下两个个挑战:大规模和高度动荡性;大规模性要求一致性维护过程中更新传播效率尽可能快,高度动荡性要求在网络拓扑不稳定的情况下要保证更新到达率和一致性维护的低花费。随着信息技术的发展,信息本身变得越来越重要,一致性维护对抗毁性的要求也随之提高。本发明可以达到很高的更新传播效率和近乎完美的网络抗毁性要求,使得即使在大规模打击下一致性维护过程仍然可以正常完成;通过传播更新前询问的方式避免了网络中过多的更新包冗余,降低了一致性维护的花费;通过节点生成列表的方式加快了更新传播效率;通过多次询问方案降低甚至消除了丢包;通过节点自主选择数据供给节点寻找相对最优路径,并且不需要任何的先验条件(地理信息、兴趣等);通过仿真表明,与其他一致性维护方法相比,ARCOM具有较强的抗毁性、高的更新传播效率、低的丢包率、和低花费;使得它非常适合在大规模网络扰动性高的P2P网络中运作。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例提供的结构化P2P网络中可调节且可靠的一致性维护方法包括以下步骤:
S101:利用Chord环建立模型,每个节点都可以发送信息给另一个节点,而且每个节点都有一个唯一的编号;所有的副本节点按照原来Chord环上的顺序提取出来组成另一个逻辑上的环形,环上每个节点可以通过在Chord环中发送hello消息的方式获取自己的下一跳或者下几跳节点的信息;等节点组成一个逻辑环,即更新分发环(mUD-Ring);
S102:每个节点需要的下一跳甚至下几跳的节点信息有:节点ID,带宽;当节点通过在原来Chord环中发送hello消息的方式获取下一跳和下几跳节点的ID;
S103:当某个节点准备启动更新时,节点把更新信息发送给数据主节点,数据主节点检查更新包并发送返回信息给更新发起节点,当更新发起节点收到数据主节点的确认信息时,更新开始;
S104:节点会从其他可以发送更新包给他的节点中选择一个RTT最小的发送请求消息给他,让节点发送一份更新给自己,避免由于节点损坏引起的数据丢失;
S105:在每个节点乘以缓存空间用来存放各种历史版本的更新包。
下面结合附图对本发明的应用原理作进一步的描述。
1、本发明实施例提供的结构化P2P网络中可调节且可靠的一致性维护方法概述
本发明利用Chord来作为结构化P2P网络的代表,至于其他使用DHT协议的结构化P2P网络也同样有效。
图2是本发明的一个理论模型,在图中,所有的副本节点被组织成一个环形,每个节点会持有一个列表,列表记录了节点下一跳或者几跳的节点信息,列表的长度为m,环叫做更新分发环(mUD-Ring),发送更新信息时会根据列表发送给相应的节点。环中节点分为两类,一种是数据主节点,一般只有一个,其他的是数据副本节点。
由于更新可能发生在任何节点上,当一个节点启动更新时,首先节点会把跟新包发送给数据主节点,数据主节点会检查更新包决定是否启动这次更新。如果是,则通知源节点启动更新,接着更新会从两个节点即数据主节点和更新启动节点同时发起,并按照各自列表中节点的信息发送,直到所有节点都收到更新包。
2、本发明实施例提供的结构化P2P网络中可调节且可靠的一致性维护方法的实现步骤:
2.1、模型建立
利用已经建立的Chord环来建立模型。在结构化P2P网络中,每个节点都可以发送信息给另一个节点,而且每个节点都有一个唯一的编号。本发明把所有的副本节点按照原来Chord环上的顺序提取出来组成另一个逻辑上的环形,环上每个节点可以通过在Chord环中发送hello消息的方式获取自己的下一跳或者下几跳节点的信息。等到这一步完成以后,节点就会组成一个逻辑环,即更新分发环(mUD-Ring)。
2.2节点的列表生成
为了生成节点的列表信息,每个节点需要的下一跳甚至下几跳的节点信息有:节点ID,带宽。当节点可以通过在原来Chord环中发送hello消息的方式获取下一跳和下几跳节点的ID。而节点的带宽是动态更新的。列表的长度m是自定义的,当m比较大时,系统的抗毁性更好,一致性维护速度更快,但花费也会增高;当m比较小时,整个系统的花费比较小,但系统的抗毁性和一致性维护速度会下降。
2.3更新包的发送
由于更新可以从任意节点开始,当某个节点准备启动更新时,节点首先会把更新信息发送给数据主节点,数据主节点检查更新包并发送返回信息给更新发起节点,当更新发起节点收到数据主节点的确认信息时,更新开始,为了更大程度上降低一致性维护时间,更新从数据主节点和更新发起节点两个节点同时开始。消息分为四种类型:第一种是RCK,是询问节点是否需要更新;第二种是ACK,表示节点已经准备好接受更新信息,处于等待接受阶段;第三种是NACK,表示节点没有更新但需要更新包;第四种是delete消息,表示节点已经有了更新或者不需要更新。他们首先发送RCK给自己列表中的节点,然后等待回应,当收到节点的ACK时,发送更新包给相应的节点;当收到节点的NRCK时,不发送更新包但保留更新包直到收到列表中所有节点的delete消息之后在删除更新包。由于每个节点列表中的节点可能重复,某些节点可能会收到多个RCK;节点根据RCK消息的RTT(Round-TripTime)来判断与哪个节点的网络环境最好,然后判断自身的需求和存储情况,若需要更新包但存储容量不够,则发送NRCK给RTT最小的节点;若已经有了更新包或者不需要,则发送delete给所有节点;若需要更新而且存储满足,则发送RCK给RTT最小的节点。
Figure BDA0001391016510000101
Figure BDA0001391016510000102
Figure BDA0001391016510000111
每个节点只会收到一份更新包,而且每个节点选择的链路情况相是最好的,减少了大量的数据冗余,减轻了带宽占用率,提高了网络性能和一致性维护效率。
2.4网络攻击下如何保证一致性
由于网络中存在许多恶意攻击,P2P网络中的节点也会面临着被恶意攻击损坏的危险,而节点损坏引起的最大问题便是数据丢失,在一致性维护中,如何应对由于节点打击而引起的数据丢失也是十分必要的,如图3所示。
设节点5需要节点1发来的更新,并且已经发送ACK给节点1,但节点1在时候被恶意攻击击毁,这时,节点5将会收不到更新,但由于节点4的列表中也会存在节点5,当节点5经过一定的时间t以后收不到更新包,节点5就会认为节点1已经把损坏,这时,节点5会从其他可以发送更新包给他的节点中选择一个RTT最小的发送请求消息给他,让节点发送一份更新给自己,避免由于节点损坏引起的数据丢失。
Figure BDA0001391016510000112
不论在网络动荡还是网络攻击情况下,即使mUD-Ring结构受到破坏,仍然不会影响网络中剩余节点的更新接收,在执行节点加入和离开算法时,可以选择网络占用较少,网络资源比较充足的时候进行结构修复,这样不仅可以修复mUD-Ring结构,还可以在不占用其他任务所需的网络资源的情况下最大化的利用网络资源。
2.5节点缓存区的建立
在一致性维护过程中,为了避免由于节点一时忙碌而无法接收更新包从而使得节点错失更新包的情况发生,本发明在每个节点开辟了一片缓存空间用来存放各种历史版本的更新包。
下面结合仿真对本发明的应用效果作详细的描述。
1、理论分析,从几方面分析本发明的一致性维护方法的性能,例如分发速度、更新UD-Ring的花费,节点损坏对更新传播效率的影响等。
1.1对更新的分发时间的分析
定理1:对于一个有N个复制节点的mUD-Ring结构,更新的最快完成跳数和最慢完成跳数分别为O(m)和O(m/2);
证明:由于每个节点持有的列表长度为m,则在节点和链路均匀的条件下节点可分发更新的最远距离为2m-1跳。根据更新机制,更新的分发情况可以分为最好和最坏两个情况:在最好的情况下,更新产生节点和数据主节点刚好距离N/2跳,这时,如果更新启动,更新可以以最快的速度传播至整个网络;在最坏的情况下,更新产生节点和数据主节点是同一个节点,在情况下,更新可以看作是由一个节点发起的。
在最坏的情况下,数据主节点启动更新,假设数据主节点的ID是0,采用数学归纳法在数据主节点分发更新时,第一跳分发可达最远距离为2m-1跳,即可达最远距离节点的ID为2m-1;第二跳分发可达最远距离即为节点ID为2m-1的节点分发可达的最远距离,节点2m-1分发可达的最远距离为2m-1跳,即节点2m-1可达的最远节点ID为2*2m-1;
以此类推,第n跳的分发距离,假设节点ID为(n-1)*2m-1可达的最远节点ID为n*2m-1;
对于第n+1跳而言,节点ID为n*2m-1的节点列表长度为m,即节点可达的最远距离为2m-1跳,节点ID为n*2m-1的节点可达的最远节点ID为(n+1)*2m-1。
由于网络中节点个数为N,节点只需到达的节点ID大于等于N即更新发放完毕,只需n*2m-1大于等于N即可。最坏情况下的更新跳数为n大于等于N/2m-1。
在最好的情况下,由于两节点距离为N/2,对于整个网络来说,分发效率会提高一倍,在情况下,更新跳数只需n大于等于N/2m即可。
1.2节点损坏对更新分发效率的影响
定理2:如果mUD-Ring结构中某些节点损坏,则一般不会对更新的分发速度产生影响,最坏的情况下,也仅仅影响节点列表中的m个节点。
证明:由于多次询问方案的存在,当单个节点被打击时并不会对整个网络的更新传播产生影响。由于每个节点都会持有一个长度为m的列表,即每个节点都有m个数据供给节点,说明在网络抽象成的有向图中,每个点的入度都是m,又每个节点都会给自己列表中的节点提供更新数据,每个节点的出度也是m,这即证明有向图是m连通图,对于一个连通度是m的有向图,要使得某个节点的入度为0,必须把与节点相连的m条边同时去掉,即如果要使得某个节点不能接收数据,必须把与之相连的m个数据供给节点全部打击,然而在网络波动或者随机攻击中,概率微乎其微。在最坏的情况下,只有同时打击某个节点的m个数据供给节点,节点才可能接收不到更新。但是,这也仅仅影响了这一个节点,其他节点对于更新的接收仍然不受影响。
2、仿真结果
本发明通过Omnet++仿真来评估ARCOM的性能,在仿真环境设定中,节点能力和链路带宽都是不均匀的,也符合现实P2P网络的要求。由于ARCOM适用于任何基于DHTs的P2P网络,本发明选择Chord作为仿真对象。为了与近些年比较有代表性的一致性维护方法进行比较,本发明选择了BCoM、flooding和SCOPE方法进行对比。
2.1仿真环境设定:
选择了不同网络规模的网络进行仿真,网络规模从小规模几十个节点一直到大规模上千个结点。更新文件大小从1m到10m不等,其更新产生时间服从泊松分布,数据包大小服从帕累托分布,在仿真阶段,平均每个节点都会接受2000个左右的更新,为了与现实的P2P网络的情况更为接近,本发明假设节点的能力和链路带宽各有不同,其中,节点处理信息的速度从1s到10s不等,服从正态分布;节点间的链路带宽从4Mbps到1Gbps不等,服从帕累托分布。
2.2更新分发速度
在实验中,本发明将评估更新分发速度。为了更好的与ARCOM比较,在BCoM和flooding的设定中只评估单文件更新的分发速度。更新的分发速度定义为从某次更新的发起时间开始算起到所有节点都接收到更新结束之间的时间。在ARCOM中即为任意节点产生更新并发送给数据主节点确认,数据主节点同意传播更新开始的时间,到mUD-Ring中所有节点都收到更新的时间间隔;在BCoM和Swarm中,时间为从任意节点产生更新,发送更新给根节点,根节点发起更新开始,到更新传播到最下层节点的间隔时间;在flooding中,时间为任意节点产生更新,并把更新发送给数据主节点,数据主节点启动更新开始,到网络中所有节点都收到更新的时间间隔。
从图4可以看出,随着网络规模的不断增大,BCoM,Swarm和ARCOM的更新分发速度增长比较缓慢,BCoM中树形结构,不同层的节点数增加是呈指数增长的,更新的分发速度受节点数增多的影响并不明显;在ARCOM中,设定m值的大小为logN,随着节点数的增多更新的分发速度增加也并不明显;而在flooding中,由于节点传播更新采用泛洪的方式,随着网络规模的增加,更新速度是呈多项式时间增长的。由此可以得出,ARCOM有着非常高的更新传播效率。
图5是为了验证ARCOM的更新分发速度随着m值不同的改变趋势,这里网络中复制节点的个数为1024个,m值的大小从1递增,可以看出,随着m值的不断增大,更新传播速度的增长比较明显,更新时间的降低是指数级的降低。根据上图可以权衡更新传播速度和一致性维护花费。
2.3网络攻击状况下的丢包率
在实验中,本发明将评估网络攻击状况下更新分发过程中的丢包情况。本发明假定网络攻击是节点攻击,链路攻击也可以看做节点攻击,攻击方式为随机攻击。为了更好的评估节点在网络攻击下的丢包率,假设网络中除了被攻击节点之外的其他节点都可以正常工作,为了不使三个方法的丢包率由于随机攻击的不同而产生不可预测的结果,本发明给三个方法中的节点进行编号,在ARCOM中,由于mUD-Ring的结构是一个环形,设数据主节点的编号为0,顺时针编号递增;在BCoM和Swarm中,设定根节点的编号是0,其他节点编号从左到右,从上到下层层递增;在flooding中,数据源节点的编号为0,其他节点随机编号;为了模拟各种网络环境和各种攻击方式,本发明分别作了大规模网络环境和小规模网络环境下的网络攻击模拟,为了使随机攻击在不同的网络中具有可比性,本发明用C++工具生成随机数,生成的随机数作为攻击节点的编号,然后在各个网络中打击相应的节点,最后对比丢包率。为了不收其他参数的影响,假定文件更新为单文件更新。在小规模网络中设定复制节点个数为32个节点,设置节点个数的原因是节点数较少可以比较明显的对比三种一致性维护方式在网络攻击下的丢包率;在大规模网络中设定复制节点的个数为1000个节点,这样设置的原因是节点个数更接近于现实中的网络节点个数,其网络攻击下的丢包率数据更有说服力。
图6和图7分别是两种不同的网络规模下网络攻击对一致性维护过程中丢包率的影响,可以看出,不论是大规模网络还是小规模网络,ARCOM的丢包率为0,这得益于ARCOM的多次请求策略。其次是flooding,由于flooding采用泛洪来传播更新,更新总会到达网络中的节点,除非节点的邻居节点都被打击,可以看出flooding的丢包率大概在5%左右;再次是BCoM和Swarm,由于它们是树形结构,树形结构的连通度为1,当节点受到打击时影响的节点较多,丢包率大约在15%-40%之间;最后是SCOPE,由于SCOPE是通过划分区域来生成树形结构,某个复制节点可能出现在树中多次,当节点被打击时,对树形结构的影响也非常大,SCOPE的丢包率大约在20%-90%,并且丢包率随着打击节点数的增多呈近似指数增长。
2.4消息冗余数
在实验中,本发明将评估一致性维护过程中的消息冗余数,消息冗余是衡量一个一致性维护策略花费的重要指标,为了不受其他参数的影响,假设更新为单文件更新,衡量消息冗余数随着网络规模的变化情况。
图8刻画了随着网络规模的增大,网络中复制节点数的增多,一致性维护过程中的数据冗余的变化情况,从图中可以看出,随着网络规模的增大ARCOM,Swarm和BCoM有着相同的数据冗余,两种方法都会保证节点只收到一次更新数据包。而flooding的数据冗余非常多,由于flooding采用泛洪的方法来传播更新。
图9是为了验证在ARCOM中m的大小和数据冗余的关系,网络中的复制节点数为1024个,无论m值多大,网络中的数据冗余都会保持在一个固定值不变,这是因为在ARCOM中,不论节点的度多大,节点仅会接收一个更新包。
2.5网络波动状况下的丢包率
在实验中,本发明将评估网络波动下一致性维护方法的丢包率。由于P2P网络的高度动荡性,节点可以自由的加入和退出,而节点的加入和退出会对更新分发产生影响,为了刻画动态变化对一致性维护方法的影响,本发明设定网络中的复制节点数为1000个,每个节点都有5%的几率离开或者加入网络,由此来对比BCoM和ARCOM两种方法在日常生活中的表现。为了使结果趋于稳定,设定仿真时常为1个月,评估这一个月网络的丢包率可以评估一致性维护算法的稳定性。
图10表示了网络波动情况下BCoM和ARCOM两种方法的丢包率,图10(b)为图10(a)的某一段放大后的丢包率波动情况,从图中可以看出,随着时间的增加,两种方法的丢包率都大概稳定在一个值,BCoM的丢包率大约在13%左右,而ARCOM的丢包率大约在0.04%左右,基本不丢包。从这一点看,ARCOM是优于BCoM的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种结构化P2P网络中可调节且可靠的一致性维护方法,其特征在于,所述结构化P2P网络中可调节且可靠的一致性维护方法通过构造更新分发环传播更新;分发环采用多次询问方案、多点传输、发送更新前询问和在节点中开辟缓存区提高一致性维护效率;通过节点生成列表方式更新传播;节点自主选择数据供给节点寻找相对最优路径;
所述结构化P2P网络中可调节且可靠的一致性维护方法包括以下步骤:
步骤一,利用Chord环建立模型,每个节点都发送信息给另一个节点,而且每个节点都有一个唯一的编号;所有的副本节点按照原来Chord环上的顺序提取出来组成另一个逻辑上的环形,环上每个节点通过在Chord环中发送hello消息的方式获取自己的下一跳或者下几跳节点的信息;等待节点组成一个逻辑环,更新分发环;
步骤二,每个节点需要的下一跳甚至下几跳的节点信息有:节点ID,带宽;节点通过在原来Chord环中发送hello消息的方式获取下一跳和下几跳节点的ID;
步骤三,当更新发起节点准备启动更新时,节点把更新信息发送给数据主节点,数据主节点检查更新包并发送返回信息给更新发起节点,当更新发起节点收到数据主节点的确认信息时,更新开始;
步骤四,节点会从其他发送更新包给他的节点中选择一个RTT最小的发送请求消息给他,让节点发送一份更新给自己,避免由于节点损坏引起的数据丢失;
步骤五,在每个节点开辟缓存空间用来存放各种历史版本的更新包。
2.如权利要求1所述的结构化P2P网络中可调节且可靠的一致性维护方法,其特征在于,所述步骤三中更新从数据主节点和更新发起节点两个节点同时开始;
消息分为四种:
第一种是RCK,是询问节点是否需要更新;
第二种是ACK,表示节点已经准备好接受更新信息,处于等待接受阶段;
第三种是NACK,表示节点没有更新但需要更新包;
第四种是delete消息,表示节点已经有更新或者不需要更新。
3.如权利要求2所述的结构化P2P网络中可调节且可靠的一致性维护方法,其特征在于,进一步包括:首先发送RCK给自己列表中的节点,等待回应,当收到节点的ACK时,发送更新包给相应的节点;当收到节点的NRCK时,不发送更新包但保留更新包直到收到列表中所有节点的delete消息之后再删除更新包。
4.如权利要求1所述的结构化P2P网络中可调节且可靠的一致性维护方法,其特征在于,所述步骤四包括:节点5需要节点1发来的更新,并且已经发送ACK给节点1,节点1在被恶意攻击击毁的时候,节点5将会收不到更新;当节点5经过一定的时间t以后收不到更新包,节点5认为节点1已经被损坏,节点5会从其他发送更新包给他的节点中选择一个RTT最小的发送请求消息给他,让节点发送一份更新给自己。
5.一种应用权利要求1~4任意一项所述结构化P2P网络中可调节且可靠的一致性维护方法的P2P网络。
CN201710750460.XA 2017-08-28 2017-08-28 一种结构化p2p网络中可调节且可靠的一致性维护方法 Active CN107612980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710750460.XA CN107612980B (zh) 2017-08-28 2017-08-28 一种结构化p2p网络中可调节且可靠的一致性维护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710750460.XA CN107612980B (zh) 2017-08-28 2017-08-28 一种结构化p2p网络中可调节且可靠的一致性维护方法

Publications (2)

Publication Number Publication Date
CN107612980A CN107612980A (zh) 2018-01-19
CN107612980B true CN107612980B (zh) 2020-07-17

Family

ID=61056291

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710750460.XA Active CN107612980B (zh) 2017-08-28 2017-08-28 一种结构化p2p网络中可调节且可靠的一致性维护方法

Country Status (1)

Country Link
CN (1) CN107612980B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110188007B (zh) * 2019-06-05 2022-02-15 深圳市迅雷网络技术有限公司 分布式数据修复方法、装置、网络节点及存储介质
CN111046065B (zh) * 2019-10-28 2022-06-17 北京大学 可扩展的高性能分布式查询处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064649A (zh) * 2007-02-02 2007-10-31 华为技术有限公司 选举超级节点、搜索网络节点或资源的方法、装置及系统
CN102006238A (zh) * 2010-12-14 2011-04-06 武汉大学 一种无结构p2p网络中的均衡快速搜索方法
CN103475719A (zh) * 2013-09-12 2013-12-25 北京科技大学 一种cdn-p2p融合网络中跨域流量最小化的内容分发方法
CN103916327A (zh) * 2014-03-21 2014-07-09 西安电子科技大学 一种hp2p网络负载平衡的方法
CN106657334A (zh) * 2016-12-23 2017-05-10 西安电子科技大学 一种基于Chord网络模型的改进数据复制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069761B2 (en) * 2012-05-25 2015-06-30 Cisco Technology, Inc. Service-aware distributed hash table routing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064649A (zh) * 2007-02-02 2007-10-31 华为技术有限公司 选举超级节点、搜索网络节点或资源的方法、装置及系统
CN102006238A (zh) * 2010-12-14 2011-04-06 武汉大学 一种无结构p2p网络中的均衡快速搜索方法
CN103475719A (zh) * 2013-09-12 2013-12-25 北京科技大学 一种cdn-p2p融合网络中跨域流量最小化的内容分发方法
CN103916327A (zh) * 2014-03-21 2014-07-09 西安电子科技大学 一种hp2p网络负载平衡的方法
CN106657334A (zh) * 2016-12-23 2017-05-10 西安电子科技大学 一种基于Chord网络模型的改进数据复制方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
An Effective Service Discovery Approach Based on Field Theory and Contribution Degree in Unstructured P2P Networks;Wangchun Yang 等;《978-1-4673-8590-9/15 2015 IEEE》;20151231;第I-III节 *

Also Published As

Publication number Publication date
CN107612980A (zh) 2018-01-19

Similar Documents

Publication Publication Date Title
Chawathe et al. Making gnutella-like p2p systems scalable
Felber et al. Survey on load balancing in peer-to-peer distributed hash tables
CN101202746B (zh) 节点标识符生成方法及负载均衡方法及装置
CN111046065B (zh) 可扩展的高性能分布式查询处理方法及装置
Hao et al. BlockP2P: Enabling fast blockchain broadcast with scalable peer-to-peer network topology
CN101551781B (zh) 一种p2p视频点播系统中的硬盘缓存替换方法
CN107612980B (zh) 一种结构化p2p网络中可调节且可靠的一致性维护方法
Jacobs et al. Stochastic analysis of a churn-tolerant structured peer-to-peer scheme
Wang et al. Data propagation for low latency blockchain systems
Yoichi et al. Consistency preservation of replicas based on access frequency for content sharing in hybrid peer-to-peer networks
JP4533923B2 (ja) 階層型ピアツーピアシステムにおける負荷バランシング機能を有するスーパーピア及び該スーパーピアを動作させる方法
Kanemitsu et al. KadRTT: Routing with network proximity and uniform ID arrangement in Kademlia
Rahmani et al. A comparative study of replication schemes for structured P2P networks
Guirat et al. An efficient data replication approach for structured peer-to-peer systems
Thampi et al. Review of replication schemes for unstructured P2P networks
CN114363247A (zh) 一种构建区块链全分布式节点路由网络的方法
CN108965387B (zh) 一种提高p2p数据存储抗毁性的均衡方法及系统
Jamali et al. Adaptive peer to peer resource discovery in grid computing based on reinforcement learning
Ma et al. Distribution aware collaborative spread replication for rare objects in unstructured peer-to-peer networks
Li et al. Application layer multicast in P2P distributed interactive applications
Liu et al. A cache-based search algorithm in unstructured P2P networks
Rathore et al. Adaptive searching and replication of images in mobile hierarchical peer-to-peer networks
Nawaf et al. Replica update strategy in mobile ad hoc networks
Zhou et al. An effective pointer replication algorithm in P2P networks
Miranda et al. An algorithm for distributing and retrieving information in sensor networks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant