结构化P2P(共9篇)
结构化P2P 篇1
引言
近几年来,基于点对点P2P(1)的网络逐渐成为互联网中最流行的网络之一。对等网络打破了传统的C/S模式,每个节点既是服务器,为别的节点提供服务,同时又可以向其他节点请求服务。P2P的概念并不局限于文件的共享,它在对等节点之间共享资源和服务,可以共享的计算机资源包括处理器的计算能力、存储器和磁盘等。
目前,根据拓扑结构的关系可以将P2P分为4种形式:中心化拓扑;非结构化拓扑;结构化拓扑(2)和混合拓扑。中心化拓扑最大的优点是维护简单发现效率高,最大的问题是与传统C/S结构类似,容易造成单点故障,经典案例就是Napster。目前主流的结构化拓扑采用哈希表DHT技术,最大问题是维护机制比较复杂,节点的增加与减少都会产生维护代价。和结构化P2P网络相比,非结构化P2P网络在网络拓扑上没有严格的控制,节点可以随意地加入或离开网络,并不会给网络结构的调整带来太大负担,因此大部分P2P应用系统都是基于非结构化的。
P2P搜索技术评价标准
在对目前主流的非结构化P2P搜索算法进行探究之前,我们先从用户角度和网络的角度给出P2P搜索技术的评价标准。
从用户角度出发,我们最关心的是每次查询能否立即定位成功,每次能查询到多少内容,其中有多少是用户想得到的信息。因此用户一般从返回的结果数、满意度以及响应时间来进行评价。从网络角度出发,一个好的搜索算法搜索效率要高,系统资源利用率要高,要能保证搜索质量,用最少的代价获取最高的质量。
非结构化P2P网络搜索算法的分类
1洪泛算法(3)
Gnutella的Flooding方法,是一种典型的盲目搜索算法。该算法又叫宽度优先搜索方法(BFS)。该算法每次要搜索资源的时候就向它的所有邻居节点发布查询信息。而邻居节点收到该节点的查询信息时,先检查自己是否有该资源信息,如果有,就将满足要求的结果返回给该节点;如果没有,则邻居节点继续以同样的方式向它自己的所有邻居节点发布查询信息,如此反复。这种搜索过程在一开始设定了消息生命周期TTL,来防止无休止的洪泛。
这种算法里每个节点都在TTL周期里不停地洪泛,即使已经查询到正确资源。因此容易造成大量的查询冗余信息,给网络造成负载,在节点规模增大的时候容易造成网络堵塞。因此在实际网络中,需要更合理的搜索方法。
2 Iterative Deeping(4)搜索方法
迭代加深算法是洪泛算法的一种改进,它在查询开始的时候先给TTL设定一个较小的值,当查询进行到TTL为0的时候,检测查询结果,如果满足则停止搜索;如果仍未得到查询结果,就重新开始搜索,并且给TTL一个较大的值。等到TTL再次为0的时候再检测查询结果,如此反复,一直到最后得到满足的查询结果。这个过程中很有可能在比最大深度小很多的时候就搜索到资源,因此和直接以最大深度进行洪泛搜索比起来,可以节省大量的资源。
在好的情况下,这种策略可以很快得到搜索结果,但是因为P2P网络的状况的未知的,最差的时候可能要进行最大规模的查询,这时迭代算法由于多次反复迭代,其查询冗余开销就比直接洪泛更多,占用了更多的网络资源。
3 Random Walk搜索方法
随机漫步算法中,每次查询都是同时发出K个查询消息,而这K个查询消息节点都随机地将查询消息转发给自己的一个邻居节点。每个节点收到查询消息时,先检测该消息标志是否为0,如果不是,则随机选择一个邻居节点转发;如果为0,则直接联系请求者,看查询结果是否满足请求:如果满足,则查询结束;如果不满足,则重新设置消息标志,继续随机漫步。
这种方法只记录成功的搜索,一旦所以来的资源发生变化,中途经过的节点频繁退出,将无法得到反馈调整,节点的偏好准确度就会大为降低,可能导致大的查询延时。
4 Gnutella2(5)
Gnutella2不是Gnutella的继承,它没有在整个P2P网络中使用洪泛算法,它把网络中的节点划分成两种:超级节点和叶子节点。超级节点只存储离它最近的叶子节点的信息,而这些超级节点又共同连接起来形成一个覆盖网络。当某个叶子节点需要搜索资源时,它先从它所连接的超级节点的索引中搜。如果搜索成功,则根据资源所存储的机器IP地址建立连接;如果搜索失败,该超级节点就把这个查询请求转发给它所连接的其它超级节点,如此反复,直至搜索结束。
Gnutella2只是在超级节点向其相连接的超级节点转发信息时才使用洪泛,有效地减少了冗余消息,提高了搜索效率。但超级节点向其邻居超级节点转发查询消息时仍使用洪泛机制,在目前P2P网络规模大、节点数多的情况下,仍存在较多的带宽浪费。
5基于移动Agent(6)的搜索
移动Agent天生就具有分布式的特点,一个基于移动Agent的应用由一组移动Agent构成,每一个Agent根据自身的目标和环境的状况移动到拥有计算机所需资源的节点上进行计算。在进行计算时可能需要与其他Agent进行通信协作,而整个计算机过程则可能会分成多个步骤进行,每一步完成之后,移动Agent都将自主地决定下一步的动作,直至其任务全部完成后才自动消亡。
移动Agent的出现使得计算机之间的通信不再是一台主机调用位于另一台主机上的服务,而是向其它计算机提供可执行的计算过程,通过网络传送的消息也不再仅仅局限于数据,而是包含计算机过程及其所处状态的计算实体,能够较大地减轻网络负载。
结束语
文中对非结构化P2P网络中的搜索方法进行了比较和分析,发现其自身仍存在许多问题,例如:用户需要在P2P网络中获取资源时,预先并不知道这些资源存储在哪个节点,这就使得搜索具有一定的盲目性。而搜索算法本身未提供有效查询TTL,不能及时停止查询,就带来了大量查询冗余消耗。因此,如何选择一个处理能力强、负载轻、带宽高的节点是需要用户考虑的。
总之,非结构化P2P网络电视额搜索算法应有效地改进资源搜索的有效性,减少网络带宽的消耗,降低对网络节点的依赖性,提高搜索精度。为适应实际网络应用,仍需要在优化搜索效率与质量上进行更深入的研究。
摘要:P2P(Peer-to-Peer)网络是分布式网络的最新热点应用,目前流行的大多数P2P网络大都基于非结构化拓扑,这种拓扑利用洪泛方法传播查询信息,但是由于搜索的盲目性,其检索效率又普遍低下。本文分析了各种搜索算法的优势以及存在的缺陷,为高性能的资源搜索算法提出奠定理论基础。
注释
1符飞雄;基于数据转发树的P2P网络搜索研究;重庆大学;2006.
2罗杰文;Peer to Peer(P2P)综述;中科院计算技术研究所;2005-11-3.
3Napster website,http://www.napster.com/.
4Gnutella website,http://www.gnutella.com/.
5基于非结构化P2P网络的资源搜索算法研究.http://wenku.baidu.com/view/4679642ced630b1c59eeb591.heml;2012.
6Narses:http://sourceforge.net/projects/narses.
结构化P2P 篇2
站在投资者的角度来看,选择一个P2P理财平台首先考虑的因素就是资金托管是否安全。”对于资金的安全是取得投资者信任的第一步。如果资金托管不是以第三方担保或者其他公司担保的形式下进行的,那么P2P平台一般都会失去投资者对它的信任。作为一个投资者信任的P2P理财平台,平台力求辟谣,不要参与到投资者资金运作当中。
好的P2P理财平台一定要具备完善的风控机制。风险不可避免,但可通过平台来调节,将风险降到最低。其实对于投资者而言,平台的存在就是最大的风险,谁也无法预料该平台是否会有一天携款跑路。但是一旦选择正确,那么投资者所获得的收益完全可以忽略风险带来的压力,这就是P2P理财平台的魅力所在。解决了平台自身的风险,那么相对而言由于市场环境或者人为因素带来的风险,可通过平台的金融团队来控制,甚至可以避免。
评价一个P2P理财平台,可以通过互联网搜索新闻的方式查询其声誉以及社会口碑。大众所向,那么这个平台就是安全靠谱的平台。每天新上线的P2P理财平台多达三四家,而其资历与来历都经不起推敲,所以老牌的P2P平台是投资者的首选,至少通过短期的投资收益可以看出一个平台好坏,最终决定权还是在投资者手中。
结构化P2P 篇3
P2P网络是一种相对于C/S网络的新的网络模式,网络中的每个节点的地位都是对等的,即作为客户机也是服务器。因此,P2P网络中的节点称为Servent。P2P网络解决了C/S模式中服务器的瓶颈问题,易于扩展,能更充分利用网络中的资源。但是由于没有了服务器的集中管理,P2P的资源搜索定位就成为了P2P系统的核心问题,成为研究的热点。
1.1 非结构化P2P网络与结构化P2P网络的比较
按照现广泛使用的P2P资源搜索与定位技术,P2P网络分为非结构化P2P网络(unstructured P2P net- work)和结构化P2P网络(structured P2P network)[1]。在以Gnutella为代表的非结构化P2P网络中,网络逻辑拓扑是随机的。由于没有节点存放文件信息,搜索几乎是随机的,从一个节点开始逐个询问是否有匹配查询请求的信息。例如Gnutella中查询机制就是以洪泛式进行的[2]。结构化P2P网络的主要思想是在IP网络的基础上建立一个overlay网络,通常将这两个层面称之为网络层面(network-level)和overlay层面(overlay-level)[3]。现有的结构化P2P网络一般是通过DHT (Distributed Hash Table) 技术构建overlay层面的。 DHT的基本思想是在文件与节点之间建立一定的关联,即文件信息按照一定的规则存储在指定节点上。在结构化的P2P系统中,一个文件信息与一个Key值相对应(一般通过对文件进行哈希得到) ,系统中的每个节点负责保存一定范围的Keys[2]。基于DHT的典型P2P系统包括Chord, CAN, Tapestry, Pastry, Kademlia[7]等。
1.2 结构化P2P在搜索中的缺陷
非结构化P2P网络的搜索机制的缺点在于,资源随机定位,给搜索带来不便,洪泛式的搜索定位技术产生大量网络流量,给网络资源带来极大浪费,并且可扩展性低。结构化P2P网络中,DHT技术通过overlay网络层的建设以及文件与网络节点key值的对应,使得资源搜索确定化,从而大大减少不必要的搜索信息。
基于DHT的P2P系统利用某种哈希函数操作某些参数(例如IP地址)为每个网络节点产生一个m位的ID值,同时,为网络上的每个文件产生一个m位的key值。ID值为K的节点(或者ID值按照某种规则邻近K的节点,因为ID=K的节点不一定在线)负责key值也为K的文件路由信息(包括文件名称,大小,位置等)。这样当某节点需要查找某文件A时,先对文件A的文件名或者其他关键字进行杂凑得到key值K,这样就只要找到ID值为K的节点就可能搜索到文件A的位置了。
然而,为网络节点产生ID值时,没有考虑到实际网络情况,在构建overlay层面的过程中没有考虑与物理层面匹配的问题,导致overlay层面的邻居节点在物理层面可能会相距很远,这样在搜索过程中会出现许多不必要的路由,甚至超时导致搜索失败,大大降低了搜索效率,如下面的例子。
节点1查找节点4的过程,在overlay层其路由过程如图1。而在实际网络中,其路由过程如图2所示。很显然,理想的路由过程是从广州直接路由到佛山。如图3所示。
对于上述问题,一种行之有效的改进方法是地标聚类法(landmark clustering)。其主要思想是新加入节点通过对多个地标的距离测量.确定需要节点在全局中的位置。首先在全局中固定几个节点作为界标节点(landmark nodes),每个节点N与界标节点进行延时测量(round trip time,RTT),并按升序对界标节点进行排序,所得的序列即为节点N的界标序列,并以此来表示节点在全局中的位置。界标序列相同或相近的节点被认为是在物理上也是相近的[4]。这种方法只是对节点物理位置的粗略估计,精度不高。此外,此方法所得到的节点位置序列并不能很好表示节点间的位置关系。基于以上描述,本文将提出一种能够改善overlay层与物理层拓扑不匹配状况的算法,并且易于在现有的各种DHT网络中实现。
2 基本算法
2.1 区域划分与归属
为了避免上述问题,在构建overlay层网络时必定不能对节点随机产生ID,而必须考虑到节点所处的物理位置。上面所提到的地标聚类法能够非常粗略为节点所处物理位置作出判断,然而,该方法产生的节点位置序列对于节点间关系表示非常不清楚,并且定位也极为粗略。例如,假定设有4个界标a、b、c、d,A节点得到的序列为abdc,B得到badc,那么A、B之间的关系仍然很难确定。并且,对界标的选择也不好掌握。该方法只能对节点位置做非常粗略的估计。本文提出一种方法,分为两个步骤,逐步精确的为节点确定位置,并且易于在现有网络中实现。
因特网结构错综复杂,但是一般的,可以认为地域上相邻或相近的节点在网络中也是相邻或相近的。因此考虑将地图划分为多个区域,单个区域视为一个区域点,再将这些点连接成为一个网络,这样的网络看作是一个有向连通图G=(V,E),任意两个节点Va到Vb是否直接连通由实际地理位置决定,当然也关系到这两个区域点的网络的连通程度。然后再为这些区域点编码。编码所遵循原则是:保证实际相邻(相近)区域编号的编号距离相邻(相近)的,实际距离较远的区域的编号也是相应的编号距离较远的。这样的区域划分是很好实现的。一种计算区域a和区域b的编号距离D的方法是:Da2b=Sa⊕Sb(Sa、Sb表示区域a和区域b的编号)。在实际操作中,需要为区域选择具有代表性的节点作为区域界点,以便于新加入节点判断自己所属的区域。可以选择多个区域中靠近网络中心的稳定的节点作为区域界点,选择多个是为了冗余保持区域界点总是有效的,图4提供了一种区域划分编号算法。
现在需要为新加入网络的用户节点确定其所属的区域。用户节点首先对各个区域点进行N次RTT(round trip time)探测,计算到每个区域点的平均延迟时间Tavg。比较后得到最小延迟,将该节点归入获得最小延迟的区域点所代表的区域。由此一来,用户节点所处的网络位置就粗略的确定了,并且用户与用户之间的远近关系可以由所属区域编号很清晰的表示。稍后介绍一种具体的实现过程。
2.2 进一步精确定位
上面为用户节点粗略的确定了其所处的网络位置。下面将进一步将节点位置精确化。通过对IP地址分配的研究发现,地理位置相近的节点的IP地址有很大可能也是相近的。以湖南地区公网IP地址为例。202.103.064到202.103.127是属于湖南地区的一段连续的公网IP地址,061.137.060到061.137.126以及010.062.165到010.065.041也基本是属于湖南地区的连续IP地址。因此,公网IP地址较大程度上可以反应出节点间的相邻关系。而若两个节点公网IP地址相同,则他们处于一个内网,他们实际网络距离很近。因此最后得出的结论是:公网IP地址相邻或者相近的两个节点很大可能在网络上的位置是相邻或相近的,而公网IP相同的情况下,两个节点相距更接近。
根据上述的结论,可以将节点公网IP地址作为进一步定位节点的参数。然而公网IP地址分配并非完全依据地理位置分配,有可能出现的情况是:两个节点公网IP相近,然而地理位置上他们相距较远。例如210.012.010.***是在广东,而与之相近的IP地址210.012.011.***处于吉林省。虽然这样的情况并不普遍,但公网IP地址仍只能作为辅助定位的参数,可以给其赋一个较小的权值,使其对节点定位影响不那么大。
3 一个更加具体的算法过程
本节以一个新的节点加入网络的过程以及节点搜索文件的过程来阐述算法。
前面提到过一种计算区域a和区域b的距离Da2b的方法是:Da2b=Sa⊕Sb(Sa、Sb表示区域a和区域b的编号),节点间的距离同样采用异或的方法计算d(x,y) = x⊕y。采用异或计算节点间距离的好处在于,计算简单耗时小,并且节点编号的越高位拥有越高的权值。例如,最高位相异的两个节点,异或后得到的距离很大,于是可以将权重较重的因素编码放在编号的较高位,权重较低的因素编码放在较低位。
在现普遍应用于edonkey、emule等P2P软件的Kademlia算法中,新节点加入时,将随机分配给一个160位的编号。现以改进Kademlia协议为例阐述本算法。
节点A想要加入P2P网络,其过程可描述如下:
第一步,A对系统选定的m个区域点N1到Nm各发送探测包k次。对每一个区域点计算这k次的平均值:RTTavg(Ni)=(RTT1(Ni)+……+RTTk(Ni))/k.k取一个经验值,使其能够保证RTT计算误差尽量小又不至于花费太多时间。找到这m个平均RTT的最小值,设该最小值是节点A到区域点Nj的RTT平均值,那么将Nj做为节点A所处的区域。设Nj二进制编号为SNj,其位数为t1,即2exp(t1-1)
第二步,找到A的公网IP地址,这里需要强调的是公网IP地址,而不是虚拟的内网IP地址。因为只有公网IP地址是符合论文第三部分所提出的第二个结论的。在同一个内网中,节点间的网络延时相对来说可以忽略不计的,因此不需要将内网IP地址作为节点网络定位的一个因素。由2.2节的结论,一定程度上,节点公网IP地址反应了其所处的网络位置,因此,将节点A的公网IP地址IPA作为编号SNA的第二部分,占32位。经研究,在一定范围内,公网IP地址的差别主要体现在IP地址的后面24位,因为公网IP地址只是用于进一步的精确定位,此步骤建立在节点位置已经大致确定的基础上,因此,完全可以将前8位忽略。设节点A的IP后24位为IPA24,则现在节点A的编号为SNjIPA24……,已经确定的一共是t1+24位。第三步,按照某种随机散列算法生成160-(t1+24)位的随机序列。这样就为节点A生成了一个160位的编号。前面t1+24位是用于保证节点的物理定位,而后面的t2=160-(t1+24)位由节点随机生产,保证任意两个节点编号重复的机率很小,几乎为0。至于为什么要一共是160位,这是借鉴的Kademlia协议的做法,根据统计学规律,160位的SHA1散列值可以唯一的确定一份特定数据内容的文件。因此,节点编号也暂时相应的采用160位了。
下面以在改进后的Kademlia上一个查找文件的例子说明这种做法的优点体现在何处。
节点值为x的用户A想要下载文件名为“somefile.exe”的文件。 A以关键字“somefile”进行SHA1散列得到160位的散列值y。通过y查找主机,得到somefile关键字的文件列表,其中就含有“somefile.exe”,并且该条目包括该文件的SHA散列值z,也是160位。这里没有详细介绍通过关键字查找文件散列的过程,这个过程与现在重点介绍的通过文件散列值查找文件位置的过程是类似的。下面通过散列值z查找somefile文件的存储位置。
(1)计算自己到z的距离为:d(x,z) = x⊕z。
(2)从A的第[㏒d]个K桶(K桶是kadamlia协议中节点所存储的路由信息表)中取出α个节点的信息(“[ ]”是取整符号),同时进行FIND_NODE操作(FIND_NODE操作返回它所知道的更接近z的K个节点的信息,其中包括节点的IP地址。如果这个K桶中的信息少于α个,则从附近多个桶中选择距离最接近d的总共α个节点)。
(3)对接受到查询操作的每个节点,如果发现自己的ID值等于z,则返回;否则测量自己和t的距离,并从自己对应的K桶中选择α个节点的信息给x。
(4)x对新接受到的每个节点中挑选K个最近的ID,都再次执行FIND_NODE操作,此过程不断重复执行,直到找不到比查询者x已知的K个查询节点更接近z的节点为止。
通过上述查找操作,x得到了最接近z的K个节点信息。这里说最接近而不是等于z,是因为节点z并不一定正好在线,K值是一个冗余设计,散列值为z的文件位置信息冗余的保存在K个最接近z的节点上(包括ID等于z的节点本身)。
从以上步骤来看,Kademlia协议寻找目标节点的过程是一个由‘近’及‘远’的。即每一步都取得节点目前所知道的距离目标节点最近的节点,并从该节点获得下一个更近的节点,这里的远近距离是由第一步的公式算出来的,即overlay层面的距离。因为按照上文所阐述的算法,overlay网络与实际物理网络基本相符,因此,这样一个过程在物理网络层面也基本达到了由近及远的过程,提高了效率,少走了很多弯路。
4 改进后的算法与原算法的效率比较以及仿真实验
(1) 在新节点加入网络阶段,该进前算法随机产生节点ID,而改进算法需多两个步骤,分别是探测界标获得自身位置和取自身IP地址,此阶段,改进前算法耗时较短。
(2) 在节点获取其他节点信息,构建自己的路由表(在Kademlia协议中即为K桶)阶段,在数据存储阶段,数据搜索阶段,需要更频繁的查找操作。这些阶段,算法效率较高。
因此本算法目的是在DHT构建阶段投入稍多的时间而大大减轻之后运行的负担。
仿真实验以P2PSIM为平台,该P2P仿真平台系统支持Chord,Accordion,Tapestry,Kademlia等协议。仍以Kademlia协议为例,试比较该协议改进前后的效率。考虑到节点规模对实验结果的影响,本实验试构建包含200节点,500节点,1000节点的三个P2P网络分别测试。
通过以下的性能指标来衡量算法性能:查询消耗时间Tavg,跳数比值Kavg。具体计算如下。
查询消耗时间Tavg计算为:随即选择10个查询发起者,每个查询发起者进行10次随即目标节点查询,再计算这100次查询的平均时间,需要注意的是,对于改进前后的算法,这100次查询是相同的。该指标数值越小表示查询效率越高。
跳数比值Kavg的计算为:如上随机选择100次查询,每次查询计算物理网络层的路由跳数与overlay层路由跳数的比值,最后求得100次的平均值Kavg.该指标数值越小表示物理网络层的路由跳数与overlay层路由跳数差距越小,即两层网络的匹配度越高,那么效率就越高。
从实验数据来看,改进后的查询时间缩短,这表示改进后的算法查询效率更高。跳数比值变低,表明overlay网络与物理网络在一定程度上相匹配,而不是改进前的完全随机状态,查询过程中,实际路由跳数减少了。从三个表对比来看,网络规模对结果有一定影响,在规模越大的网络中,改进效果越是明显。
5 结束语
本文提出的算法在一定程度上解决了overlay网络层与物理层不相匹配导致的查询效率低的问题,并且可操作性好,便于在已有的DHT算法上进行改进,并且在未来IPv6广泛应用部署的条件下,本算法效果预期将更明显。本算法还有一些不足之处需完善,例如:在DHT网络中,一个文件信息是冗余的存储在多个邻近节点中的,这些节点的ID是最接近文件信息散列值的,以此来保证网络的健壮。本算法将overlay网络与物理网络一定程度上相对应起来,导致用于冗余存储的K个节点在物理网络中也是邻近的,它们同时失效的几率比原算法增大,所起到的冗余作用会降低。因此,寻找能够增强本算法健壮性的方法是必要的。
参考文献
[1] Lua E K, Crowcroft J, Pias M, et al. A Survey and Comparison of Peer-to-Peer Overlay Network Schemes. Journal of IEEE Communications Survey and Tutorial, 2005, 7(2).
[2] 李运娣,冯勇.基于DHT的P2P搜索定位技术研究.计算机应用研究, 2006, 10
[3] Wang Chonggang, Li Bo. Peer-to-Peer Overlay Networks: A Survey[R]. Department of Computer Science, Hong Kong University of Science and Technology, 2003.
[4] 陈春华.结构化P2P系统中覆盖图拓扑匹配的研究.计算机工程, 2006,
[5] Matthew Caesar, Miguel Castro, Edmund B. Nightingale et al. Virtual Ring Routing: Network Routing Inspired by DHTs.
[6] S. B. Handurukande, A.-M.Kermarrec, F. Le Fessant et al. Peer Sharing Behaviour in the eDonkey Network and Implications for the Design of Server-less File Sharing Systems.
P2P理财技巧 篇4
一、收益率过高的平台不投
想必很多人之所以选择P2P网贷都是因为其高回报率,所以对于一些平台给出的高收益,一些投资者不假思索地就投资了,丝毫不顾及其中暗藏的风险。其实这样是很容易踩雷的,在投资理财的时候我们一定要认清楚一个道理,那就是风险总是和收益成正比的。据相关数据显示,目前网贷行业综合收益率为9.41%,主流综合收益率期间仍分布在8%-14%之间。看到有超高收益平台就赶紧远离吧!
二、考察项目资金的安全性
平台项目是否真实往往直接决定着一家平台的生死。如果一家平台上项目信息不完善、借款人信息不透明、操作流程不规范,那么这种平台就很有可能存在圈钱、涉嫌资金池的风险。所以我们在投资之前,我们一定要考察平台的安全性,这个可以从平台的资质、运营实力以及信息披露情况来考察,像房易贷这样借款人信息不打马赛克,资金走向公开的p2p平台安全性还是比较可信的。
三、关注平台的风控和负面消息
风控是一家平台的核心,风控实力的强弱决定了平台的生存能力。所以,对于一家靠谱平台必须得有严格的风控审核能力,还要有专业的风控团队。所以,投资者需重点选择有实物抵押的平台,比如房产或者车辆,一旦平台借款人无法偿还时,平台有权处理其借款人抵押物,来保障投资人资金安全。还有就是平台的负面消息,如果平台在多家第三方网贷都出现负面消息,那你就可以远离了。如果只有一家网站有,需要辨别信息真假,询问平台客服,如何处理等等,等消息平息了,再投也不迟。
总而言之,排雷也不是三言两语就能够说清楚的,需要我们不断积累理财经验,理财有风险,投资需谨慎,这句话已是老生常谈。只有选择安全靠谱的p2p平台,才能远离雷区,减少资金损失!
1.存款30万P2P理财怎样进行?P2P理财之道
2.P2P网贷投资理财技巧
3.P2P投资理财技巧大全
4.P2P新手投资不可不知的理财技巧
5.掌握P2P投资理财三大技巧
6.央行降息后,P2P投资理财技巧
7.P2P理财如何合理分配资金
8.p2p理财诈手法盘点
9.P2P理财的致命误区
结构化P2P 篇5
关键词:P2P,flooding,R2SB2N,资源搜索,TTL
P2P网络是当前比较流行的资源共享网络,网络中的所有节点都以一种对等的方式共享处理器计算能力、网络带宽、存储空间等网络资源,其广泛应用于分布式计算、文件共享、协同工作、资源搜索、智能代理等应用领域。与传统网络相比,P2P网络技术为用户提供了更加简单快捷的交流方式,提高了整个网络资源的利用率,实现了网络资源的充分共享,已日益成为研究和应用的热点。从P2P网络结构划分,P2P网络分为两类: 结构化网络和非结构化网络。当然也有一些介于二者之间的混合架构,但是其搜索方式仍然是前两种网络的混合。结构化网络和非结构化网络各有特点,可分别适用于不同需求的P2P系统。
非结构化P2P网络主要采用洪泛机制通过广播方式进行资源定位。某个节点要定位资源,首先把请求传播到所有相邻结点,这些邻居节点再向它自己的邻居传播请求,直到找到所需要的资源或者达到预先确定的层次为止。在设计上每条查找消息都带有全局唯一标识,防止对同样的查找消息进行多次响应。该算法传播速度较快,覆盖范围较广,同时也会产生大量冗余查询消息,造成网络流量的急剧增加,消耗大量带宽,网络负担较重,导致算法的搜索速度慢且搜索效率低[1]。因此,本文提出一种改进的基于邻居-邻居节点的资源搜索策略R2SB2N。
1R2SB2N算法简介
1.1R2SB2N算法的基本思想
在改进的R2SB2N搜索策略中,引入了邻居-邻居节点信息,同时综合考虑邻居节点的活跃度和资源命中数,按照转移公式,对发往邻居节点的查询消息进行一定条件的限制,选择更有可能包含目标资源的邻居节点进行转发,可以将查询消息发送到最可能具有响应节点的目标区域。具体来说,在R2SB2N搜索策略中,网络中的每个节点除了需要维护本地资源信息表、热点文件缓存表、邻居节点活跃度表NAT之外,还需要增加一张邻居-邻居节点表NNT。本地资源信息表主要维护本地资源,依据此表可以进行资源信息的查询;热点文件缓存表主要存放近期访问频率比较高的热点资源,可以从该表中获取每个热点资源的URL地址,以便节省下一次搜索的时间和开销[2]。邻居节点活跃度表NAT是一张二维表,主要记录每个节点的活跃程度和资源命中数,如表1所示。
表中的n表示邻居节点个数,NATi1存储邻居节点i的活跃程度,如果该节点在近期活跃度高其值就越大,接收查询消息的能力就较强;NATi0存储邻居节点i的资源命中数,资源命中数代表节点成功命中查询请求的次数。邻居节点活跃度表中新近一段时间内邻居节点的情况和作为历史记录信息的查询成功次数,这两条信息对下一跳节点的转发具有指导作用,它们将共同决定查询消息的下一跳节点,这样可以将查询消息发送到目标有可能存在的区域,提高了搜索的效率和命中率。邻居-邻居节点表也是一张二维表,记录每个邻居节点的邻居节点,如表2所示。表中第一列为当前节点N的邻居节点,n为邻居节点个数,Ni为节点N的第i个邻居节点,第二列为Ni的邻居节点。R2SB2N算法仍然采用TTL值来记录网络中查询消息的生命周期,每个查询消息在产生时,都要设定一个TTL上限值, 查询过程中如果在某节点中未找到目标资源,则该查询消息的TTL值减1,若发现了目标资源,则该查询消息的TTL保持原值,目的是让具有高命中率的查询消息能够访问更多的网络节点,提高资源搜索的命中率,当TTL值为0时,查询消息自动销毁。TTL值的计算方法为公式(1):
其中,r(i)表示节点i所拥有资源的集合,key(j)表示查询消息。
1.2R2SB2N算法的具体步骤
1)当某个用户想通过P2P网络中的某个源节点Ni查询关键字为key的信息时,节点Ni首先查找自己维护的本地资源表和热点文件缓存表,若找到满足条件的信息,则直接将查询结果返回给用户,并通知它的邻居节点,更新其NAT表中相应的活跃度和资源命中数,即各执行加1操作,然后执行步骤5,否则执行步骤2。
2)查找当前节点的NNT表,检查是否有存在路由环路的邻居节点,如果有,则该邻居节点不能作为查询消息的转发节点, 否则,转到步骤3。
3)节点Ni根据转移公式(2)计算每条待转发路径的选取概率,此概论为一个阈值Q[3],满足Q∈(0,1)。节点Ni根据计算出来的结果与Q值进行比较,然后选择出满足条件的邻居节点,并将查询消息转发给这些邻居节点,同时TTL的值减1。
在公式(2)中,α1,α2为权重,α1,α2∈[0,1)且满足α1+α2=1, 分别表示活跃程度和资源命中数在概率选择中的相对重要性; NATi1为节点Ni所维护的NAT表中邻居节点i的活跃程度;NATi0为NAT表中邻居节点i的资源命中数;U为节点Ni的所有邻居节点的集合,u为节点Ni的任意一个邻居节点。
4)当查询消息到达一个新的节点Nj时,首先对该节点的本地资源表和热点文件缓存表进行搜索,若找到目标资源则产生回应信息,同时TTL的值保持不变,并通知它的邻居节点进行更新活跃度和资源命中数的操作,即两个值都执行加1操作, 然后转到步骤2;否则TTL的值减1,若TTL>0则转到步骤2,否则转到步骤5。
5)算法执行结束。
2实验仿真
通过对比flooding算法和R2SB2N算法的性能,主要从消息冗余率和查询成功率两方面来验证R2SB2N算法的有效性和可行性。仿真环境采用面向对象的Java语言来实现,
P2P网络中所需的全部资源由算法随机分配给网络中的各个节点,为了使实验数据更真实一些,实验过程多次反复进行最终取其平均值,得到R2SB2N算法与flooding算法性能对比结果,如图1和图2所示。
图1是消息冗余率随TTL值变化的趋势图。从图中可以看出,flooding算法和R2SB2N算法的消息冗余率都随着TTL值的增加而变大,但是R2SB2N算法的消息冗余率变化曲线总是位于flooding算法下方,其值始终小于flooding算法。正是因为在R2SB2N算法中引入了邻居-邻居节点表,在转发查询消息时, 首先依据邻居-邻居节点表中的信息检查是否有存在路由环路的邻居节点,然后选择满足条件的邻居作为下一跳节点,进而达到控制冗余消息数量的目的。而图2是查询成功率随TTL值变化的趋势图。flooding算法和R2SB2N算法的查询成功率都随着TTL值的增加而变大,并且R2SB2N算法的查询成功率变化曲线总是位于flooding算法上方,其值始终大于flooding算法。正是因为在转发查询消息时,R2SB2N算法依据NAT表中邻居节点的活跃程度和资源命中数两个指标,同时按照转移公式,对发往下一跳节点的查询消息做了一定条件的限制,使只有满足条件的邻居节点能够接收查询消息,有效地指导了搜索路径的生成,提高了信息搜索的成功率。
3小结
结构化P2P 篇6
P2P网络 (Peer-to-Peer) 技术的应用极大地改变了当前互联网的形态[1]。在电子商务、语音服务、分布式计算、流媒体、文件共享等应用领域, P2P网络技术展示出很强的优势, 以并行传输、分布式资源共享、对等协作、自组织等特点[2], 使用户享受了更高的可用带宽、更优质的服务质量和更丰富的资源。P2P网络的目的本质上是资源共享, 所以找到定位资源是资源共享的前提。无结构化P2P网络在覆盖网上采用的组织方式为完全随机图, 节点与共享资源之间、甚至节点之间均无任何确定的关系[3]。因此, 在非结构化P2P网络上进行资源搜索是一个挑战性问题。而我们将要研究的利用马尔科夫链特性改进的概率搜索算法在减少网络冗余包、均衡网络流量、对稀缺资源的有效搜索以及提高各类资源搜索效率等方面都有很好的贡献。
1 算法研究现状
P2P网络中的资源搜索算法是指将对特定资源的查询请求路由到目标节点集合的方法[4], 即只要命中目标集中的任意节点, 则路由过程结束。P2P网络的性能是靠搜索算法的优劣来决定的, 当前对非结构化对等网络在搜索算法上的研究已经相当成熟, 依照搜索策略, 搜索算法分为两类:盲目搜索和启发式搜索[5]。盲目搜索通过洪泛、随机游走的方式在网络中传播查询信息, 将信息不断扩散给邻居节点, 以此查询到想要的资源。在搜索的过程中, 启发式搜索是利用节点存储的信息来帮助搜索过程, 即每当查询信息到达时, 先检索本地存储的信息, 就可以较快地定位到响应该查询的节点, 启发式搜索是以存储的代价交换网络流量和时延降低的算法。
1.洪泛:洪泛算法是一种简单的广播式搜索算法。该算法搜索的深度由TTL控制, 搜索节点Requester每传播一步TTL减1, 如果TTL减到0还没有搜索到资源, 则停止[6]。访问节点数目的降低直接导致查询精度的下降和查询步数的增加, 因此洪泛算法无法达到较优的搜索效率。
2.随机漫步:这种方法对洪泛的搜索宽度作了一定改进。与洪泛算法不同的是, 搜索节点Requester根据每个节点上缓存的历史搜索信息来选取k个邻居节点发送query信息, 每路query信息被称为一个Random Walker。每个Random Walker都分配一个TTL值, 且每路Random Walker直接与原始搜索节点Requester保持联系。若查询过程中发现目标资源, 则原路返回所需要的信息。相比于洪泛算法, 随机漫步算法是用时间换空间的有效算法[7]。该算法由于包含了查询资源的查询经验信息, 相对搜索准确度提高, 并且也缩短了相对搜索路径长度。
3.负载均衡算法:在非结构化P2P网络中由于底层网络拓扑结构化映射的限制, 所以不需要进行精确的匹配, 网络的负载不仅是源于对数据资源的请求, 更重要的还来源于对计算资源的请求。这即是说, 非结构化P2P网络可以更好的支持动态任务调度, 即对最优执行节点的请求资源。基于非结构化P2P网络的负载分配算法主要有随机算法, 负载扩散和负载迁移等。考虑整体网络的负载均衡, 使得整个网络环境能更好的工作, 但是由于没有考虑搜索效率故会导致搜索效率下降。
2 基于Markov Chain的搜索算法
基于非结构化P2P网络传统的搜索算法, 虽然都能较好的完成对各类资源的搜索, 但是存在一定的局限性及缺点。分析存在的问题:洪泛算法在搜索过程中产生了大量的网络冗余包, 对网络本身造成一定的负担;随机漫步算法属于盲目搜索算法, 其在搜索过程中是随机选择目标进行查询, 并不能有较好的搜索成功率;一般意义上的路由缓存算法并不能实时的借鉴之前搜索的失败经验[8]。
在本论文工作中, 将马尔科夫链应用到搜索算法中, 即在每一时态节点进行搜索查询时按照转移概率矩阵选择下一邻近节点, 并在该过程中动态更新转移概率矩阵。提出一种基于马尔科夫链模型的资源搜索改进算法:1.根据节点兴趣确定本地节点转发到下一节点的一步转移概率;2.构造能够反映节点负载状况或负载处理能力的负载因子, 并也将以此为基础作为节点选择的参考标准构造转移概率;3.以吸收态的马尔科夫链为基础构造能够收敛到转发因子极值点的随机采样模型 (此处所说的转发因子:综合考虑兴趣因子及负载因子确定转发因子) 。该算法将被设计为保证随机采样过程以最快的速度向转发因子极值收敛。
2.1 基于兴趣服务的资源搜索
基于服务的P2P资源网络是系统控制流和数据流运行的自组织环境, 构成系统的基础结构。P2P网络执行节点的加入、自组织、离开、资源搜索的负载分配均通过该非结构化P2P网络实现。
假设存在一个逻辑上的网络, 基于一般意义上的P2P资源共享网络模型, 其中的节点均与其他节点保持连接, 以Gnutella[4]为例, 连接的数量是由存储在节点上的资源数目所决定的。若节点p与q在网络中是直接连接的我们就说p的直接相连节点为q;同理, 若节点p与q在网络中不是直接相连并且之间存在可访问的通路, 我们就说p与q是间接相连。由此我们可以看到, P2P资源网络是对称的, 且在任何时间选择节点建立连接或者解除连接。如图1所示。
在基于兴趣服务的P2P资源网络中, 为了标记节点所存储的文件资源, 每个节点均保有本地资源列表, 列表中存储可共享的资源文件的属性特征。另外, 每个节点还需保持一个节点列表Peer Listp, 其中包含了已经建立连接的节点与有可能与其建立连接的节点信息。该节点列表Peer Listp是根据用户的兴趣动态更新的[1]。由此我们就需要评价节点的兴趣节点集, 根据节点查找资源的兴趣度来建立连接。
对于节点选择下一跳进行查询来说, 怎样根据查找“成功经验”进行转发查询包是非常重要的, 这就考虑到优先比这一转发因子。
定义3-1设节点p的邻居节点q, 从节点p反馈数与节点q所有邻居反馈数的比例称为优先比, 也称为p-因子, 记作
优先比是综合考虑到查询成功率的一个标准, 优先选择反馈率高的节点建立连接进行转发。
2.2 构建基于Markov Chain模型的资源搜索算法
Markov Chain是一个状态、时间均离散的随机过程, 为非结构化P2P网络查询资源选择最优路径问题提供了理论方法和模型[9]。
定理3-1如果对于任意的状态, pii=1且pij=0, 即系统一旦进入该状态, 就不再向其它状态转移, 则该状态称为吸收态;如果一个Markov Chain满足至少包含一个吸收态并且从任意一个系统状态到至少一个吸收态可达, 则称为吸收态Markov Chain (AMC) ;AMC中的非吸收态称为暂态, 即pii<1。这即是说, AMC中只可能由暂态向暂态或吸收态转移, 不可能由吸收态向暂态转移。
目前, 基于非结构化P2P网络资源的查询算法主要依靠下层网络提供的特征拓扑来反映负载状况, 而查询算法自身在随机转发查询过程中并不考虑节点的负载情况, 这就是导致搜索算法无法实现最优均衡的原因之一。设计一种基于Markov Chain模型的资源搜索算法如下:
(1) 对每个节点的相邻节点根据转发因子 (在2.3小节详细介绍) , 从低到高的顺序排列, 作为建立连接的节点集;
(2) 若节点p的邻居节点中不含升序邻居节点, 这就说明节点p是吸收状态, 如果被查询转发, 则节点p被分配当前负载, 查询转发结束;
(3) 反之若节点p的邻居节点中有升序节点, 则节点p为暂态点 (也称为非吸收点) , 查询转发过程继续, 并且仅向节点p的升序邻居节点集转发, 转移概率正比于其升序邻居节点的转发因子值。
该算法具有以下几个特点:1.在邻域或全局内, 吸收点具有最优的转发因子值;2.资源搜索路径沿转发因子增大的方向延伸;3.由暂态点向升序邻居节点集根据转移概率转发查询而不是确定地向具有最大转发因子值的邻居节点转移, 这就避免了算法陷入极值点;4.随机采样路径中不可包含环路或自环, 与这便确保了查询转发过程快速接近吸收点。
2.3 转移概率矩阵的评价参数
本节我们拟采用以负载占节点资源的比例作为评估参数的基础上, 选择最优节点的算法进行资源查询。即每次分配均选择具有最小负载比例、及最有可能找到相应资源的节点, 如此系统将获得最优的负载分布、较好的资源查询成功率以及最大的吞吐率[10]。
基于Markov Chain模型的资源搜索算法 (Bo MC算法) 用于实现非结构化P2P网络上的动态负载分配, 其特性主要体现在三点:1.构造能够反映节点负载状况或负载处理能力的负载因子, 以此为基础作为节点选择的转移概率;2.考虑节点转发优先比, 并以此为基础作为节点的造转移概率;3.将负载因子及优先比按照一定的参数比例计算转发因子4.以AMC为基础构造能够收敛到转发因子极值点的随机采样模型。
1.占用比piu
由于具有较多可用资源的节点可能负载也较重, 等待处理队列较长, 而可用资源所占比例即可说明节点的运算资源被占用的多少程度, 其值应正比于节点的运算速度, 因此可作为负载状况度量的转发因子[11]。
定义3-2可用资源所占系统资源的比例称为占用比 (Duty-cycle) , 也称为u-因子 (u-Factor) 。
设为节点p的负载队列长度, 其等价于负载消耗节点的计算资源量, 能力值为cp, 则占用比piu为:
节点的占用比越大其负载越轻, 则优先分配负载到占用比最大的节点。
2.负载比pl
基于占用比, 构造负载比, 占用比与负载比是同构的, 反映相同的负载状况。
定义3-3负载占系统资源的比例称为负载比, 也称为l-因子, 记作:
本节以l-因子 (负载比) 与2.1小节提到的p-因子 (优先比) 为参考来构造转发因子, 提出了基于Markov Chain模型的资源搜索改进算法。
本文考虑到搜索的优化问题 (包括资源搜索和负载均衡, 负载均衡的最优化要求对最优执行节点的定位, 因此可以看作一种搜索过程) , 实质上是搜索代价转化的一个过程, 以搜索的角度来看算法是优化的;如果以相对较小的代价进行转化, 则从总体上来说算法也是优化的。P2P资源网络中的节点可按照转发因子p由低到高的顺序生成序列Sp={sp}p=1, 2, …, N, 其中sp是节点p在该升序序列中的位置。即节点p与q为邻居节点, 若sp>sq, 则节点p为节点q的升序邻居节点。
搜索算法改进策略:由于在考虑负载的同时也要考虑查询成功率这一重要因素, 对于t-因子、p-因子, 我们给出参数α, 根据公式 (1) 、 (3) 得:
构造此转发因子来评估转发概率, 基于Markov Chain模型的资源搜索算法 (Bo MC) 支持的随机采样过程可描述为一个吸收态Markov Chain, 相应的节点集为吸收点集V和暂态点集V。
具体算法描述如下:
初始化:Sp (p) 和N (p) 分别为节点的升序邻居节点集和邻居节点集;
vc和vt分别为当前查询节点和下一步转移节点;
3 实验结果
为了评价算法的优劣, 在peersim仿真模拟器的基础上, 基于Java编程建立仿真环境。在此环境下, 对传统搜索算法与本文将要研究的算法进行比较分析。仿真实验中, 覆盖网的节点数量为1~1000, 并且其中10%的节点随机加入和退出, 用来模拟动态的网络环境[12]。
根据资源查询策略我们给出参数来评估转发概率。本文将比较不同参数值下的查询反馈包数目 (命中率) 及负载分布, 比较如下列图所示:
如图2, 我们将资源搜索改进算法Bo MC与Gnutella相比较, 随着非结构P2P网络中决策点的增加, 其查询反馈包的增长趋势。可以看到, 查询反馈包增长率急剧增加, 这是因为在我们改进算法中考虑到基于兴趣因子进行转发查询包。
根据我们的查询策略, 节点在进行查询转发时不仅考虑到本节点兴趣, 还考虑到整个网络的负载均衡情况, 那么我们可以看到α的值分别为0, 0.5, 1时其查询反馈包的增长趋势如图3所示。结果表明若要使网络负载均衡, 则需要以节点接收到的查询反馈包的数量作为代价。下一步我们可以研究最优参数值满足不同的实际应用环境。
当α的值分别为0, 0.5, 1时, 网络负载情况如图4所示, 本文提出的Bo MC算法考虑到网络负载情况进行转发查询包, 当负载因子参数比重越大, 那么网络的负载越趋于均衡。
综上分析:pl因子评估的是负载因子, pp因子评估的是查询成功因子, 不同的参数具有不同的搜索效果, 可以看到如果负载因子的权重大, 那么整个P2P网络系统的负载就会越均衡, 如果查询因子的权重大, 那么整个P2P网络系统的查询成功率将有所提高, 但代价就是负载分布不均, 不能使得网络具有一个良好的性能。
4 总结
本文中提出基于马尔科夫的资源搜索改进算法, 该算法主要是对在非结构化P2P网络中的资源进行最优搜索的尝试。对于节点选择下一跳进行查询来说, 怎样根据查找“成功经验”进行转发查询包是非常重要的, 本文提出优先比概念来进行评价节点下一跳转发概率。又考虑到整个网络的负载均衡情况, 提出负载比的概念来优化整个网络环境。本文是在peersim仿真模拟器的环境下评价算法的优劣, 若负载因子的权重大, 那么整个P2P网络系统的负载就会越均衡, 若查询因子的权重大, 那么整个P2P网络系统的查询成功率将有所提高, 但代价就是负载分布不均。
结构化P2P 篇7
随着互联网的发展,出现了一系列新的商业模式,互联网加金融也是其中之一。P2P网贷作为互联网金融的一部分迅速发展。国内第一家P2P网贷企业是于2007年成立的拍拍贷,随后几年成立的比较有代表性的企业有红岭创投、宜人贷、陆金所、人人贷等。尤其是2014年以来,不少企业加入到网络信贷的热潮中,P2P网贷已逐渐发展成为一个产业。研究P2P网贷行业的市场结构对于相关部门政策的制定以及P2P网贷企业合理决策有重要意义。
学者对P2P网贷的研究更多的集中于概念分类、商业模式、风险控制以及P2P网贷发展对于整个经济社会发展的重要作用等方面,而对于P2P网贷市场结构的研究较少。江东阳首次指出P2P网贷行业的双边市场特性,并且分析了P2P网贷行业的市场结构、市场行为、市场绩效。其研究主要集中在理论层面。本文运用理论分析和实证分析相结合的方式,分析P2P网贷行业的市场结构,指出该市场结构可能存在的问题,同时给出相应的管理决策建议。
二、P2P网贷市场结构分析
影响市场结构的主要因素有市场集中度、进入壁垒等。下面就从这两个方面分析P2P网贷行业的市场结构。
(一)P2P网贷行业的市场集中度测量
市场集中度是反映市场结构的一个重要指标。市场集中度越高,竞争程度越低;相反,市场集中度越低,市场竞争程度越高。产业组织理论中衡量市场集中度的指标有集中度比率、赫芬达尔指数等。下面主要用集中度比率、赫芬达尔指数两个指标来研究P2P网贷行业的市场集中度。
1. 集中度比率
集中度比率,也称为“产业集中度”。通常是指行业内规模最大的前几位企业的产量、销售额、销售量等占整个市场总量的份额。其计算公式如下:
其中:
CRn:指某市场中规模最大的前n位企业的市场集中度。
Xi:指某市场中第i位企业的生产额或销售额、资产额等。
N:指某市场内的全部企业数。
n:通常根据研究的需要取最大的4家或8家厂商的份额来计算。
日本产业经济学家植草益对市场结构的分类如下:
据网贷之家网站统计,截至2015年的9月,全国P2P网贷企业达3448家。本文选取网贷之家公布的2015年第三季度300家企业的成交量为样本来计算P2P网贷行业的市场集中度,进而推断行业总体的市场集中度。
按照集中度比率的计算公式,统计了2015年第三季度各个月份的集中度比率。具体结果如表2所示。
计算结果反映,CR8值均小于40%且大于20%。因此,根据日本经济学家植草益对市场结构的分类,P2P网贷行业属于低集中竞争型的市场结构。
2. 赫芬达尔指数
利用集中度比率指标测量市场集中度只是反映了市场上前几家市场份额较大的企业的规模,不能反映其余多家企业的规模信息。因此为了消除这一局限性,引入了赫芬达尔指数。它是指某特定行业市场上所有企业的市场份额的平方和,包含了所有企业的规模信息。计算公式如下:
X:市场的总规模
Xi:市场中第i位企业的规模
Si:市场中第i位企业的市场占有率
n:市场内的总企业数
1980年日本公正交易委员会公布的以HHI为依据的市场结构分类,如表3所示。
仍然以网贷之家2015年第三季度公布的300家网贷企业各月的成交量为样本,计算赫芬达尔指数结果如表4所示:
计算结果显示,P2P网贷行业属于竞争II型的市场结构。HHI值越大,表示市场集中程度越高,垄断程度越高,P2P网贷市场现有HHI值显示其市场处于竞争程度最高的类型。
根据集中度比率计算得出的结果,P2P网贷行业属于低集中竞争型的市场结构。一些学者认为市场集中化程度与市场垄断力之间存在着某种非线性正相关关系。即在市场集中化程度较低时,厂商的行为更富有竞争色彩。而根据赫芬达尔指数计算出的结果,P2P网贷行业属于竞争II型的市场结构,与按集中度比率对P2P行业市场结构类型的界定在本质上差异不大,这也进一步印证了P2P网贷行业低集中竞争型的市场结构特点。
(二)进入壁垒
1.政策性进入壁垒
贝恩将进入壁垒定义为,已在市场内的企业能够把价格提高到竞争性价格以上,而且还不会引入潜在的进入者。其主要强调已在市场内的企业相对于新进入企业在产品差异、规模经济等方面所具有的优势,而忽视了外部因素所造成的进入壁垒,比如说政府的政策。在传统银行业,政策性壁垒较为明显。以注册资本为例,根据《中华人民共和国商业银行法》第13条规定,建立全国性商业银行的注册资本最低限额为十亿元人民币,建立城市商业银行的注册资本最低限额为一亿元人民币,建立农村商业银行的注册资本最低限额为五千万元人民币。而互联网金融作为一个新兴的产业,在注册资本方面的约束较小。2015年全国50%左右的P2P网贷企业注册资本在一千万到五千万之间,32%的企业注册资本在一千万元以下。因此,对于P2P网贷企业来说注册资金方面的进入壁垒较小。
2015年以来,随着P2P网贷企业数量的膨胀式增长,一系列规制P2P发展的政策也接踵而至,在《网络借贷信息中介机构业务活动管理暂行办法(征求意见稿)》中,明确规定了P2P网贷企业的信息平台特性,不能提供担保等增值服务,并且明确国务院银行业监督管理机构负责对P2P网贷企业的监管工作,P2P发展愈来愈趋于规范化。虽然一系列监管措施正在逐步完善,但这些措施只是在满足P2P网贷繁荣发展的同时,使其不断趋于专业化而已。总体来说,P2P网贷目前所面临的政策性进入壁垒较低。而且,2015年李克强总理在其政府工作报告上指出,要大力发展普惠金融,推动具备条件的民间资本依法设立中小型银行等金融机构,成熟一家,批准一家,不设限额。P2P网贷的发展促进了民间金融的阳光化、规范化,有利于发展普惠金融。因而也受到了大力支持和鼓励,相对于传统金融业来讲,所面临的政策方面的进入壁垒较小。
2.隐性进入壁垒
P2P网贷企业为用户提供服务,因此是无形产品,不存在对土地、厂房等“显性要素”的需求,因而不存在“显性”进入壁垒。但是,一些“隐性壁垒”(专门研究隐性进入壁垒的文献不是很多,学者对于不同研究主体所界定的隐性壁垒有些许差异,学者普遍认可的隐性壁垒具有无形性、隐秘性等特点,由于概念的不统一性,本文暂且将资本、企业家才能、营销推广等这种不存在对显性要素需求的这些进入壁垒称之为“隐性进入壁垒”),诸如资本、企业家才能、营销推广等壁垒依然存在,受到马太效应的影响,一家新进入市场的企业想要赢得市场,需要付出的成本比较大。而且,因此进入P2P网贷行业存在“隐性进入壁垒”。
经过上面的分析可知,P2P网贷企业目前面临的政策性进入壁垒低,虽然存在着些许隐性进入壁垒,但是,总体来讲,P2P网贷行业的进入壁垒比较低。
根据对市场结构的分析得出,P2P网贷行业市场集中度低、虽然存在一些隐性进入壁垒,但是总体上来说进入壁垒低,而且提供服务的差异性较小。因此,P2P网贷行业属于低集中竞争型的市场结构。
四、市场结构存在的问题
前面分析到P2P网贷行业属于低集中竞争型的市场结构,进入壁垒低,而且市场上的产品差异较小,基于这样的市场结构,也产生了一些的问题。下面将运用Salop圆形城市模型分析P2P网贷行业的这种低集中竞争型的市场结构存在的问题。
(一)Salop圆形城市模型的引入
Salop圆形城市模型是Salop于1979年在其一篇论文中提出的,是研究企业在竞争市场中如何进行定价、选址的一种重要模型。该模型假设市场上有n家企业均匀分布在圆周上,消费者也均匀分布在圆周上且消费者只购买一个单位的产品,单位距离的交通成本为,企业的固定成本。本文运用Salop圆形城市模型分析P2P网贷市场在竞争的条件下,各企业在彼此都获得利润最大化情况下的P2P网贷企业所能提供的均衡利率,依据此均衡利率分析P2P网贷市场结构目前存在的问题。
(二)实证分析
对于P2P网贷行业来说,在一定的假设条件下,Salop圆形城市模型依旧适用。为了便于研究现做以下假设:
a.将P2P网贷企业和投资人看成一个整体,作为企业方,下面统称“P2P网贷企业”;借款人作为用户。设市场上共有家企业,根据其提供网贷服务的不同均匀分布在圆周上,则相邻两家企业的“距离”为
b.假设借款人在放弃第m家P2P网贷企业而去第m+1家网贷企业借款中间所花费的一系列成本记为c,也就是原模型假设中的交通成本t;用户到第m家P2P网贷企业的“距离”为d。
c.假设第m家P2P网贷企业提供的贷款利率为rm,记为借款人成本的一部分,P2P网贷企业收益的一部分。
d.假设P2P网贷企业的固定成本为Fc,边际成本为Mc。
对于每一个借款人来说,与之相邻的有第m家企业和第m+1企业,假设选择任何一家企业所付出的成本是相同的,即
所以,两企业所面临的需求曲线为:
两企业的收益为:
在此假设P2P网贷企业总是试图追求利润的最大化,所以对上面两式分别求导,并令导数为零。即
联立即可得,P2P网贷企业均取得利润最大化时所对应的利率,即:
基于上面的分析可以得出如下结论:
1. 目前P2P网贷企业的盈利能力偏低
由前面的分析可知,P2P网贷行业属于低集中竞争型的市场结构,进入壁垒较低,市场上企业的数量众多,由上文推出的均衡利率公式可知,当企业数量过多时,会导致均衡利率偏低,而我们在假设中说明,利率代表P2P网贷企业收益的一部分,所以,从理论上讲P2P网贷企业目前的盈利能力偏低。
2. P2P网贷企业之间存在过度竞争的问题
基于Salop圆形城市模型的分析所得到的均衡利率是在理想的条件下各企业间相互竞争、相互博弈的结果,而在现实生活中,P2P网贷企业由于利益的驱使往往会打破这一均衡。当P2P网贷企业的利率较低时,投资人可能会转而投向其他企业甚至会退出市场,而借款人往往会因为资金需求方面的限制,对利率高低变化的弹性较小,因此为了吸引更多的投资人,P2P网贷企业会提高利率,而一些刚进入P2P网贷行业的企业会推出一系列的优惠政策,因此众多P2P网贷企业之间为了争夺市场份额和用户极易产生过度竞争。
五、结论及相关策略建议
(一)结论
通过实证分析和理论分析发现,P2P网贷行业企业数量众多,进入壁垒低,属于低集中竞争型的市场结构。通过Salop圆形城市模型分析得出,该市场结构下,P2P网贷企业目前的盈利能力偏低,企业间存在过度竞争的问题。
(二)策略建议
1. 政府管理者
前面论证了,P2P网贷行业由于市场上企业数量过多,市场集中度偏低而面临着盈利能力偏低、企业间过度竞争的问题,因此应该出台相应的政策,适当提高P2P网贷企业的进入壁垒,加大对P2P网贷企业的审核力度,适当提高P2P网贷行业的市场集中度。在大力发展P2P网贷的同时也要保证P2P网贷企业的健康、稳定发展。
2. 潜在进入企业及已在市场内的企业
对于潜在进入的企业,要做好企业自身的市场定位,建立P2P网贷平台的特色,要为企业和市场的长远发展考虑,避免为争夺用户而发生企业间的过度竞争。对于已在市场内的企业而言,要不断提高自己的创新能力,不断优化自身的商业模式,在迎合用户需求的同时也要引导用户的需求,提供差异化服务。
3. 投资人
首先,投资人首先要不断优化自己的知识结构,加大对P2P网贷的认知度,提高自己在投资方面的能力。其次,选择有知名度的、信用良好的P2P网贷企业,而不是一味的追求高收益。此外,当选择一家P2P网贷企业进行投资时,要对该平台的真实性、可靠性进行分析,对所投项目的真实有效性进行评估,在充分考虑风险的情况下,谨慎投资。
参考文献
[1]江东阳.P2P网络借贷平台的双边市场特征研究[J].时代金融,2014(09).
[2]陈保启主编.产业经济学[M].经济科学出版社,2011(08).
[3]苏东水主编.产业经济学[M].高等教育出版社,2010.
[4]全国人大常务委员会.中华人民共和国商业银行法(修订版)[Z].2015-08-29.
[5]盈灿咨询、网贷之家.2015年中国网络借贷年报.[EB/OL]http://www.wdzj.com/news/baogao/25661.html,2015-12-01.
[6]李克强.2015年李克强总理政府工作报告.http://finance.sina.com.cn/china/hgjj/20150305/105721651935.shtml,2015-03-05.
[7]谢平,邹传伟.互联网金融模式研究[J].金融研究,2012(12).
[8]邓金霞.公共服务外包之隐性进入壁垒研究:以上海市为例[D].复旦大学,2013.
结构化P2P 篇8
随着信息技术和通信技术的发展, 人们之间的交流从传统的电话、电子邮件等发展到今天的网络视频交流。由于计算机系统种类繁多, 更新速度快, 所以如果有一种与平台无关的视频会议系统, 就能解决不同平台上的视频交流。Java语言具有跨平台性、可移植性, 使用Java语言开发视频会议软件系统就能解决这些问题。本文将重点介绍利用JMF[1]设计视频会议系统。
1 系统开发的关键技术
1.1 流媒体传输技术与控制技术
流媒体[2]指在网络上连续时基媒体流式技术。流媒体实现的关键技术是流式传输。传输之前首先对媒体进行预处理, 然后使用缓存技术来保证数据连续不断的传输。使用流式传输方式, 用户不必像采用下载方式那样要等到整个文件全部下载完毕, 而只需经过短暂的启动延时即可在客户端进行播放和观看。
1.2 Java Media Framework (JMF) 媒体框架技术
JMF实际上是Java的一个类包, 包含许多用于处理多媒体的API, 可以让基于Java的应用实现音频、视频的捕捉、处理、播放、传输等功能。还可以通过扩展JMF来支持更多的媒体类型格式。JMF有丰富的应用程序接口, 且完全支持RTP/RTCP协议[3], JMF高级体系结构如图1所示。
2 RTP/RTCP协议分析
2.1 RTP/RTCP协议分析
实时传输协议RTP是为支持实时多媒体通信而设计的传输层协议, RTP包括两个协议:RTP协议负责传输带有实时信息的数据包。RTP控制协议 (RTCP) 负责管理传输质量和在当前应用之间交换的控制信息。RTCP包含有已发送的数据包的数量、丢失的数据包数量等统计信息, 服务器可以利用这些信息动态地改变传输速度。
2.2 RTCP流媒体同步控制机制
媒体流同步控制系统由媒体发送方、媒体接收方以及媒体传输控制器组成。由发送端, 传输控制器依据媒体产生时间对实时产生的媒体流进行传送。同时在媒体分组的RTP包头中标识媒体发送源ID, 媒体分组采样时间戳。由于媒体发送方发出的所有流和发送报告都使用同一个绝对时钟, 因此接收方就可以比较来自同一数据源的两个流的绝对时间, 进而确定如何将一个流中的时间戳值映射为另一个流中时间戳值。当客户端收到发送方的媒体数据时, 则开始进行媒体同步处理和显示工作。发送端负责实时传送媒体, 同步策略将由接收端完成。
3 P2P结构介绍与分析
Peer to Peer简称P2P, 也称为对等连接, 是一种新的通信模式, 每个参与者具有同等的能力, 可以发起一个通信会话。对等网络又称工作组, 网上各台计算机有相同的功能, 无主从之分, 任一台计算机都可作为服务器, 设定共享资源, 供网络中其他计算机所使用, 又可以作为工作站, 没有专用的服务器, 也没有专用的工作站。对等网络是小型局域网常用的组网方式。对于人数不太多 (小于10人) 的网络视频会议系统, 适宜采用P2P结构。
4 总体设计
4.1 视频会议系统整体结构分析
服务器和客户机通过基于UDP的RTP通信协议传输媒体流数据, 在建立RTP会话之前, 先建立一个Socket连接, 以发送接收其它请求消息, 如要发送多媒体数据的请求和应答消息。发送视频请求消息和完成应答之后, 服务器利用客户机发上来的消息建立RTP会话, 因此在视频请求的消息中应包含客户机的地址、端口等消息, 以供服务器建立RTP会话。客户机也要和服务器建立对应的RTP会话, 这样, 视频数据流就可以通过RTP会话传输[4]。具体建立会话过程如图2所示。
4.2 客户端详细设计
(1) 创建启动客户端界面的类:Client Start。
(2) 创建一个类Client Capture Device用于获取本机的多媒体设备, 创建多媒体数据源, 注意的是要把这个类作为一个线程。编写方法init Capture Device () 初始化采集语音视频的设备。再用方法start Transmit () 进行视频的发送。
(3) 接下来创建一个用来发送视频的类VedioTransmit, 在传输之前做一些准备工作, 如:将数据源转换成用于传输的数据格式, 设置传输的质量, 传输的同时在本地播放, 在JMF中一个Data Source只能用于一个事件, 所以在这里要将从多媒体设备获得的数据源实现克隆, 再对克隆的数据源进行操作, 本系统克隆出一份数据源用于传输到远程, 一份用于本地播放。start () 用于启动传输, 返回值为空时, 启动成功, 否则返回失败的原因。用create Processor () 方法创建Processor传入数据源对象。用create Transmitter () 方法为每一个客户端创建会话。用set JPEGQuality (Player p, float val) 方法设置编码质量对于JPEG编码0.5默认是最好的。创建一个控制器监听器内部类State Liste-ner。
(4) 创建一个播放本地数据源的类Chat Source。本地播放的方法play Source () 。
(5) 创建一个本地播放事件监听类MyRTPListe ner。RTP事件处理update (Receive Stream Eventevt evt) 。实现监听器接口中的方法。此方法可通知应用程序对播放器的事件做出反应controller Update (Controller Event e) 。
4.3 服务器端详细设计
(1) 创建一个启动界面类Server Start, 在某个端口启动服务器, 等待客户机连接。初始化界面init UI () 。
(2) 创建一个类Accept Client用于服务器端建立一个Socket连接, 等待接收客户机。建立连接的方法set Connection () 。
(3) 创建一个类ServerReceive, 如果有客户机连接上来, 就启动一个处理线程去处理。建立接收视频的方法startReceive () 。
(4) 创建一个类VedioReceive接收视频数据流的线程类, 如果接收到数据, 则创建一个用于播放远程数据流的对象。初始化RTP会话用方法initialize () , 关闭会话用close () , 接收数据流监听器用update (Receive Stream Event evt) 。建立解析session地址的内部类Session Label。
(5) 接收到远程数据后, 就可以在本地播放远程数据流了, 数据流播放需要一个用于播放的类和一个用于监听播放的类, 这两个类的写法跟客户端是一样的。
5 结束语
本文介绍了P2P结构下的视频会议系统的开发, 在分析了流媒体技术、JMF媒体框架技术以及RTP/RTCP协议的基础之上, 利用Java语言设计视频会议系统。实现了视频会议软件系统的整体设计。随着网络技术的发展和JMF技术的成熟, 基于Java语言的视频会议软件一定会有美好的应用前景。
摘要:随着信息技术和网络技术的飞速发展以及人们的应用需求, 产生了网络视频会议系统。针对P2P网络技术协同网络会议系统的需求, 分析流媒体传输与控制技术、Java Media Framework (JMF) 媒体框架技术、RTP/RTCP流媒体传输与控制协议、P2P结构分析和P2P工作原理, 建立P2P结构的系统框架和基于时间戳的RTCP流媒体同步机制, 设计了基于JMF类及P2P结构的网络视频会议系统。
关键词:网络会议,P2P技术,RTCP/RTP协议,JMF技术
参考文献
[1]曾鹏飞, 郝永平, 刘永贤.基于JMF类B/S结构的网络视频会议技术[J].计算机工程, 2008 (16) :238-302.
[2]李太君, 吴泽晖.流媒体传输协议及其应用开发[J].计算机工程与应用, 2004 (3) :138-143.
[3]任延珍, 喻占武, 胡瑞敏.基于RTP/RTCP协议的实时数据传输与同步控制策略[J].计算机工程与应用, 2003 (10) :144-146.
结构化P2P 篇9
VOD(VideoOnDemand)[1]即视频点播。随着互联网的发展,利用网络进行流媒体播放已经成为一个热点。流媒体在播放前不需要下载完整的文件,可以边观看边下载[2]。传统的C/S[3]流媒体服务系统已经不能满足流媒体对服务器性能和高带宽的要求,严重阻碍了流媒体业务质量的提高和容量的扩大。基于P2P的流媒体[4]服务系统可以充分利用客户计算机的资源,减轻流媒体服务器和骨干网络负载,保证节目流完整而流畅地播放。然而,在P2P网络中,服务器虽然不再是网络的中心,但是仍然协调着整个网络的工作,服务器的瘫痪仍将导致整个网络的瘫痪。因此,现提出了基于Super Peer架构[5]的P2P视频点播系统的解决方案。此种解决方案可以缓解中心服务器的负载,把对整个网络的协调工作调度到各个区域去处理,从而减轻中心服务器的负担,提高系统的性能。主要从用户观看频道、终止观看和切换频道几个角度,论述所采用的关键技术、分析了这种方案的性能。
1 P 2P的结构模型
1.1集中目录式P 2P结构模型
即具有中央查询能力的网络结构模型,相似于传统的C/S模式,区别在于P2P网络中的中央服务器存储的是当前活动节点的索引信息,它不是直接向用户提供流媒体服务的服务器。登录用户可以通过中央服务器找到其欲寻找的P2P节点提供媒体服务。
1.2分散式P 2P模型[6]
即每个用户在网络中都是对等的,不存在中央服务器。用户之间的内容查询是通过节点间的广播方式传送的。
1.3混合型P 2P模型(基于SuperPeer)
是集中式和分散式的结合体,也就是在分散式的基础上引用了SuperPeer的结构模型。
混合型P2P模型综合了集中式模型的快速查找和分布式模型无中心化的优势,是一种比较理想的P2P结构模型。现采用了此模型的架构,设计和实现了基于SuperPeer的P2P视频点播系统。
2系统框架
2.1系统结构
采用基于SuperPeer的模型架构,系统设计是由以下几部分构成:中心控制服务器、边缘控制服务器(SP)、媒体服务器(SS)和终端用户。系统结构如图1所示。
中心控制服务器设计为包括中心和边缘两个层次的中心控制服务器,中心控制服务器是用户请求的入口和调度核心,但不为用户提供直接的P2P媒体数据服务。中心服务器存储的是各个区域的边缘控制服务器的信息。边缘控制服务器即Super Peer(SP),它是具体的服务部件,通过多个SP组成自治域的方式来为某个地区的用户提供服务,而每个地区内的SP通过负载均衡的方式为P2P用户提供一致的服务。SP一般由性能较高的计算机担任,具有较高的稳定性。媒体服务器即Seeding Server (SS),它的主要功能是给P2P用户提供初始片段流和补偿流;是可以向最终用户提供流媒体内容的部件,可以保证用户在较短的延迟下接收到实时的流媒体节目。每个区域内的Seeding Server可以有多个。它们是通过链表的形式链接的。用户发送请求的时候,具体由区域内的哪个Seeding Server 提供服务,是由各个SS 动态负载情况所决定的。终端用户即Peer,它是点播业务的体验中心,既向其他用户请求媒体文件片段同时,也向其他用户提供自己所拥有的媒体文件,是服务的请求者和提供者。
2.2 用户点播频道过程
用户是点播系统的直接体验者,用户的行为主要体现在登录、浏览频道列表、点击观看所选择的频道、切换频道等操作。当用户欲观看节目的时候,用户点播频道处理流程如图2所示。
用户首先浏览EPG上的频道列表,选择一个频道点击,此时,用户给中心控制服务器发送一个用户注册请求,中心控制服务器根据用户所归属的区域给用户分配相应的边缘控制服务器(Super Peer),此Super Peer为用户分配一个可以唯一标志用户身份的ID,并且给用户分配可以给它提供数据的已经加入到本区域的终端用户。初始的时候,新加入的终端用户是从媒体服务器(Seeding Server)得到时间t的初始片段流,如果Super Peer中提供的P2P终端,可以满足新加入用户的观看数据请求的话,就由这些P2P用户提供服务,否则由Seeding Server提供补偿流;如果Super Peer没有为用户分配可以提供服务的终端P2P节点,则用户所需的数据都由Seeding Server提供。
3 实现的关键技术
3. 1 拓扑树的建立
P2P模式的流媒体服务系统将属于同一个区域的用户作为节点形成一棵P2P数据的传输树。树型结构相对其他结构来说,结构比较简单,成本低;网络中任意两个节点之间不产生回路[7]并且网络中节点之间的扩充、路径的查找都是很方便灵活的。其中媒体服务器(Seeding Server)是每个区域中树的根,树中第一层的用户直接从Seeding Server或者其他树干P2P节点获取数据,树中第二层的用户从其所在的树干的第一层用户那里获得主干流,并且从Seeding Server或者其他树干的P2P节点那里获得其余需要的数据流,按照此种原则,整个树中的用户都可以获得稳定的流媒体数据。节点加入,获得数据的来源有如下几种情况:
(1)新加入的节点所有数据都从Seeding Server获得。譬如,欲加入节点A为第一个加入拓扑树的节点,节点获得数据来源如图3(a)所示。
(2)新加入的节点的所有数据都从P2P节点获得。譬如,欲加入节点A点击它所要观看的频道前,该频道下所有的子流都已经有节点(B,C,D)加入到拓扑树当中,节点获得数据来源如图3(b)所示。
(3)新加入的节点的所有数据从P2P节点和Seeding Server获得。(从Seeding Server获得补偿流)。譬如,欲加入节点A点击他所要观看的频道前,该频道下部分子流已经有节点(B)加入到拓扑树当中,节点获得数据来源如图3(c)所示。
以第二种情况为例介绍拓扑树的建立过程,如图4所示。
(1) 用户A向中心控制服务器发送注册请求,如图4中步骤(1)。
(2) 控制服务器根据其所保存的边缘控制服务器的信息,给用户提供它所属于的区域的边缘控制服务器。边缘控制服务器为A分配一个可以唯一标志它身份的标志ID并且为A提供与它物理拓扑上很近的而且有能力再接入新用户的节点信息M集合。如图4 中步骤( 2 ),M=<B, C, D >。
(3) A从M的集合中选择一个与自己网络状况较好的节点如图4中步骤(3),选择了B作为主干流,C、D作为非主干流。
(4) A向B,C,D请求连接,当B,C,D同意连接后,A作为B的子节点加入到其所在的树干当中;B,C,D开始向A发送数据,如图4中步骤(4)。
(5) B向它所在区域的边缘控制服务器发送更新信息请求,B已连接的用户数目加1,如图4中步骤(5)。
(6) A向它所在的区域的边缘控制服务器发送更新信息请求,如图4中步骤(6),A被加入到它所归属的边缘控制服务器Peer列表当中,可以为其他的节点提供流媒体服务。
3.2 频道终止拓扑树的变更
由于网络的动态特性,每个节点都随时有可能退出P2P网络。在节点的退出方式上,可以分为正常退出和异常退出。节点不管以何种方式退出,都会影响到P2P网络拓扑结构。因此,需要在节点退出后进行拓扑数据的恢复,从而保证稳定的获取数据流。
3.2.1 正常停止观看
用户主动退出频道,此种操作会触发它向其所在区域的边缘控制服务器(Super Peer)发送退出频道请求,同时通知自己的父节点不再需要给它提供服务。如果此节点存在子节点,也会通知它的子节点连接其他备用的父节点作为父节点。它所在区域的边缘控制服务器将删除该节点在拓扑树中的信息。
3.2.2 异常停止观看
意外离开,可能是由于网络中断、软件故障等原因导致的用户突然离开。通过一个心跳机制[8]来判断Peer是否是存活的。存在父子关系的节点会每隔特定t时间向对方发送一个心跳消息,以确定对方是否存活。如果在特定的t时间内,对方节点没有给予回复,则认为此节点非正常退出。此时,存活节点会给它所在区域的边缘控制服务器(Super Peer)发送一个节点失效的消息。节点所在区域的Super Peer会删除该失效节点在拓扑树中的信息。存活节点通过其所保存的备份节点信息恢复拓扑结构。
失效节点在拓扑树中的位置有如下几种情况,如图5所示。
(1) 失效节点A单独处在一棵树干上,如图5(a)
(2) 失效节点A为一棵树干上的尾节点,如图5(b)。
(3) 失效节点A为媒体服务器的子节点并且拥有自己的子节点,如图5(c)所示。
(4) 失效节点A不是媒体服务器的子节点并且拥有自己的子节点,如图5(d)所示。
3. 3 频道切换拓扑树的变更
节点切换频道后要经历如下几个流程:
(1)节点向节点所在区域的边缘控制服务器(Super Peer)发送退出频道请求;
(2)节点向节点所在区域的边缘控制服务器(Super Peer)发送加入频道请求。
4 系统的性能分析
系统是采用P2P 和C/ S 混合结构模式,因此具有集中与分布的特性。结合了以往许多专家、学者的研究成果,如层次树的先进思想,现对系统性能进行分析。
4.1 可靠性
面对大量用户同时发送消息请求的时候,控制服务器的消息处理能力可以达到600条/s。通过仿真实验模拟30万个用户向控制服务器发送加入频道请求消息,消息失败比率约为0.003%
4.2 稳定性
由于所有节点的初始片段流都是由媒体服务器直接提供,能够保证节点快速、稳定的获得流媒体数据;同时媒体服务器也为其他层的节点提供补偿流,弥补了由于时间差异所带来的影响,增强了系统的稳定性。
4.3 高效性
网络调度算法应该保证节点间的通信简捷高效。节点的加入、离开、变更和数据流的层次转发都会给系统带来延迟。本系统主要采用的是基于每个区域的边缘控制服务器(Super Peer)的调度策略和限制树高度的办法,限制过多的树层次,可以减少系统的延迟;采用每个区域的Super Peer的调度策略,可以减轻中心控制服务器的负担,从而使用户快速加入、离开拓扑树,减小延迟、增强传输质量。
5 结论
设计和讨论了基于Super Peer结构的P2P视频点播系统及其关键算法,并对系统的性能做了简要分析。通过在调度方面设置了区域性的Super Peer节点,极为有效地消除了纯P2P结构所带来的网络拥塞、搜索迟缓等不利影响。缩短了查询、响应时间, 提高网络的可用性。Super Peer 的存在也能在一定程度上提高整个网络的负载平衡。兼顾了集中式和P2P式的优点,具有更好的可靠性和可扩展性。
参考文献
[1]张伟文,金鑫,吴国新.一种基于P2P的视频点播系统的研究与设计.计算机技术与发展,2007;17(2):159—163
[2] Xiang Z,Zhang Q,Zhu W,et al.Peer-to-peer based multimediadistribution service.IEEE Transactions on Multimedia,2004;6(4):343—355
[3]沈建强,耿兆丰,邹轩.视频点播系统的设计与实现.计算机工程,2006;32(2):209?211
[4]王艳丽,鲜继清,白洁.基于P2P的流媒体技术.计算机应用,2005;25(6):1267—1270
[5]蒙应杰,王阳,赵雅洁.基于Super-peer的P2P流媒体服务系统构架的研究.计算机应用与软件,2006;23(10):33—35
[6] Luak,Crowcroft J,Plas M,et al.A survey and comparison of peer-to-peer overlay network schemes.IEEE Communications Survey andTutorial,2005;7(2):72—93
[7] Carzaniga A,Rosenblum D S,Wolf A L.Design and evaluation of awide-area event notification service.ACM Transactions on ComputerSystems,2001;19(3):332—383