正文内容
P2P系统论文
来源:开心麻花
作者:开心麻花
2025-09-19
1

P2P系统论文(精选12篇)

P2P系统论文 第1篇

关键词:P2P,网络电视,应用层组播,流媒体

1 引言

对等网络[1] (P2P) 是最近几年新兴的网络技术, 相对于传统的C/S模式, P2P模式一个非常显著的特点就是节点无需完全依赖集中式服务器资源, 各节点可以直接进行通信。每个节点具有相同的地位, 既可以请求服务, 也可以提供服务, 同时扮演着C/S模式中服务器和客户机的双重角色, 甚至还可以具有路由器和高速缓存的功能。在P2P模式下, 由于每个节点都具有客户机和服务器的功能, 这样, 每个节点在从别的节点接收数据流的同时还向其他节点发送数据流。

随着互联网的普及和宽带技术的发展, 以P2P技术为核心的软件产品正在为越来越多的网民所接受和喜爱。自2000年开始, 国内外多家P2P产品纷纷问世, 以BT等为代表的文件下载类P2P软件在短短几年时间, 用户量不断增长, 已成为许多网民不能离弃的上网伙伴。

利用P2P网络技术构建应用层组播网络, 可以应用现有的计算资源和有限网络带宽实现大规模网络流媒体播放[2]。P2P技术应用到流媒体领域, 使每个流媒体用户成为一个P2P中的一个节点。虽然原始流媒体系统中用户之间是没有任何联系的, 但是采用P2P技术后, 用户可以根据他们的网络状态和设备能力与一个或多个用户建立连接来分享数据, 这种连接能减少服务器的负担和提高每个用户的视频质量。P2P技术在流媒体应用中特别适用于一些热门事件, 即使是大量的用户同时访问流媒体服务器, 也不会造成服务器因负载过重而瘫痪。PPLive[3]、PPStream[4]等软件是P2P流媒体成功应用的典型代表。Banacast[5]针对广电行业开发了一套完整的可运营网络电视系统, 采用优化的P2P双向传输网状结构, 提供高速的接入速度和稳定的视频直播服务, 同时提供智能EPG[6]、安全监控、用户统计、收费计费等功能。

2 系统分析

一个可运营的网络电视系统, 首先必须具备的是能够以较少的服务器带宽资源来支撑大量的并发用户, 在复杂互联网环境下, 用户可以快速接入观看节目, 如果用户带宽和其它硬件条件满足要求, 则可保证播放的流畅性和稳定性。此外, 一个完整的网络电视系统还需要有频道管理、安全监控、用户访问统计、EPG、收费计费等功能。传统的C/S结构或CDN模式不能够符合低成本运营的要求, 由于系统服务能力始终有限, 难以满足一些特殊情况下 (如球赛、运动会等) 用户密集突发的流媒体业务需求。CDN可以提高Internet网络中信息流动的效率。但是, 由于CDN需要设置多个边缘服务器, 这样就提高了系统的成本和复杂性。而Internet是一种异构网络, IP组播也很难完全推广。在P2P技术日益成熟的条件下, 采用P2P技术实现网络电视直播还是比较合适的, 针对网络电视实时播放的特点, 不像文件下载的BT方式, 有一结点下载完成后就可以完全充当服务器, 而原来的结点则是可有可无, 网络电视直播至少要有一个数据源结点来提供持续的原始数据, 此外, 网络电视直播的用户要求快速接入, 很少人能够忍受花几分钟的时间去切换一个电视频道, 根据这两个特点, 在网络电视中使用完全分布式的P2P结构是不合适的, 比较合适的是采用基于第三代P2P网络结构, 构建非结构化网状结构。

由以上分析, 一个电视频道, 需要有流媒体编码服务器和一个发布源结点, 由于采用混合式P2P结构, 还需要一个以上的目录服务器, 目录服务器在本系统中的地位相当于BT中的tracker服务器, 大量客户端。图1是最简化系统网络拓扑图。

有了核心的流媒体传输模块, 网络电视系统还应该拥有频道管理功能。其作用是管理各个目录服务器与发布源服务器, 并生成频道列表信息供客户端下载和查看。安全监控也是网络电视系统中必不可少的模块。分两个方面, 系统监控与内容监控。系统监控指的是监控系统的运行情况, 如网络异常、编码器中止、服务进程出错、服务器异常关闭等现象。视频监控则是对应安全播出, 对即将播出的视频内容预告显示在大屏幕或电视墙上, 发现不正常内容可即时中止, 一般要在同一屏幕上显示多个频道, 如四分屏、九分屏、16分屏等。不同传统电视, 网络电视能够很好的了解用户访问情况, 通过对用户访问日志的分析, 可以随时了解到用户的访问兴趣、用户分布的区域等, 传统电视很难统计的收视率, 而在网络电视系统中这是一件相当容易的事情。用户访问就是完成这些功能的模块。电子节目指南 (EPG) 是网络电视必须提供的主要服务之一。以往的EPG系统一般是通过人工输入节目单到数据库中, 费时费力, 效率比较低。当前互联网上存在大量的电视节目预告信息, 我们只要通过搜索引擎的原理把这些信息抓取过来, 可以形成一个智能化的EPG系统, 减少大量的人工操作。当然, 我们的EPG系统也提供了传统的增、删、改的功能, 在自动抓取的内容有误是可以进行必要的修改。此外, 收费电视频道要求系统拥有收费、计费功能。

3 系统结构设计

根据上面的分析, 我们将系统划分为这几部分:频道管理服务器与认证中心 (CACS) 、目录服务器 (DS) 、发布源服务器 (PS) 、智能EPG系统 (EPG) 、用户访问统计系统 (SMS) 、收费、计费系统 (BMS/PMS) 、WEB服务器、视频编码服务器以及客户端程序, 图2给出系统框架图。

3.1 频道管理服务与认证中心 (CACS)

CACS主要实现两项功能:各个服务器的登录认证, 频道列表的生成。

首先CACS有一个CA的功能, 用于确定系统中运行的服务器的合法性, 确保没经过授权的服务器就没有加入系统, 对发布频道的安全和统计数据等方面的保密性起相当重要的作用。

频道发布的安全是通过使用加密手段来达到的, 认证中心采用非对称密钥加密技术 (公开密钥加密技术) 。由CA为用户的签发证书, 该证书证明了该用户拥有证书中列出的公开密钥, 证书的格式遵循X.509标准。

频道管理服务是该系统的另一主要功能, 所有发布源服务器要发布新的频道、修改或删除, 都必须通过CS许可, 并由CS生成一个新的频道列表发送到频道列表接收器, 以后经WEB服务器传到每一个客户端。为了保证频道列表的实时性, CS还要同时将修改的信息发送到每一个发布源服务器, 发布源再通过P2P应用层组播网络将频道信息同流媒体数据一同发送到每一个在线的客户端。

3.2 目录服务器 (DS)

在P2P直播系统中, 为了缩短视频观看的接入时间, 我们增加一个目录服务器来辅助搜索P2P结点以及记录用户访问日志。

DS的存在并不证明这个P2P系统是集中式的, 不同于文件下载模式, 视频直播的特征相当明显:用户访问的数据相关度高、接入时间要短。在一个新的用户接入的时候, 如果完全通过泛洪机制去搜索可用结点, 所花费的时间过长, 影响用户观看的舒适度, 相反, 增加一个中心的目录服务器来处理用户的加入、离开, 记录一些相关的用户信息, 当一个用户加入时, 首先通过这个目录服务器发送一批相对较优的结点回去, 用户再通过这些结点进行扩散连接, 这种做法极大降低了结点的搜索时间, 而且由于传输数据很少, 中心的负载是很小的, 一台目录服务器支撑几十万的并发用户是完全可行的。

对于用户结点的加入和正常离开处理方法比较简单, 直接通过网络 (TCP/UDP) 访问通知即可, 对于结点异常离开的情况 (如断电、断网等) , 我们采用了用户报告机制和心跳机制。用户报告机制是通过一个或多个相邻的结点来报告用户异常离开的消息, 这种方法特点是速度快, 但是对于一些没有相邻结点或者相邻结点同时死掉的情况处理不好, 所以同时增加了一项心跳检测的机制, 为降低系统的负载, 心跳间隔时间设定比较长, 一般为3分钟以上。

DS的另一个好处是可以很好的用户访问情况进行统计, 记录相关日志, 以后可以通过用户访问统计系统来分析数据, CS也可以即时访问所有DS来了解每个频道当前访问情况, 生成实时的收视率等数据。

3.3 发布源服务器 (PS)

PS是整个P2P系统的数据起源结点, 它从视频编码服务器获取到实时的流媒体数据, 将这些数据封装成为适合P2P传输的数据格式, 再发送给部分连接到本服务器的客户端。起着一个种子结点的作用。

除了导入实时视频流, PS也可以直接导入视频文件来实现轮播, 相当于对文件内容直播, 一般用于经典电视剧、电影等。

PS还完成广告推送 (本频道) , 广告转发 (系统) 等功能。

3.4 智能EPG系统 (EPG)

EPG系统通过自动抓取和手动修改来生成节目预告相关信息。

每周特定的时间, EPG系统将从一些相关的电视预告网站抓取预告网页, 通过WEB语义分析, 自动提取出各个电视频道当周的预告数据, 并存储成为规定的XML格式, 生成相应的静态网页。

在本系统中的智能EPG系统具有搜索引擎的主要特性, 如网络爬虫、网页分析, 不过由于内容比较专一, 可不必采用倒排文档一类的存储结构, 而是直播使用XML格式, 方便其它系统的引用。

EPG还具备增、删、改功能。

3.5 用户访问统计系统 (SMS)

用户访问统计系统根据从目录服务器得到的日志信息进行分析和统计, 统计结果为各频道历史访问情况, 包括收视率、各时间段的收视情况、用户分布区域 (可精确到每一栋楼) 、用户访问时长、平均访问次数等等。

用户访问统计系统主要面向管理层用户, 用于生成报表, 客户端同时提供B/S和C/S模式。

3.6 收费、计费系统

收费和计费是该系统两大部分, 收费就是如果从用户收取现金, 我们在系统引入了虚拟货币, 即无论是通过网银在线、支付宝等方式还款, 还是直接缴纳现金或购买点卡, 最后都在系统中转换为相应数量的虚拟货币。计费系统通过扣除用户剩余虚拟货币来收费。

直播频道的计费过程由计费系统和目录服务器共同协作完成。

3.7 WEB服务器

WEB服务器是面向用户的一个重要部分, 普通用户可能直接登录网站观看在线视频直播, 也可以通过客户端程序从WEB服务器获取频道列表、EPG信息, 实现在线缴费等功能。管理用户也可以用浏览器来查看用户统计报表, 设置频道计费模式, 查看安全监控等信息。

由于相关系统模块比较多, 对定各个功能选用不同的WEB服务器, 用户统计、安全监控因为采用.NET开发, 所以只能使用IIS, 采用JSP技术开发的收费、计费系统则使用Apache Tomcat, 而主网站、频道列表下载点、EPG信息下载点可任意选择一款WEB服务器。

3.8 客户端程序

客户端程序是与最终用户直接相关的模块, 从表面上看, 客户端程序要实现的是一般播放器软件的功能:选择打开视频来源 (URL、文件、从列表选择) , 开始播放、停止、暂停 (由于直播的特征, 一般不能支持暂停功能) , 全屏观看, 音量调节等等。

不过作为一个P2P播放器, 和普通播放器最根本不同的是播放器在下载数据的同时也对其它结点提供上传数据, 也就是除了普通播放器的下载功能, 客户端程序还要有一个类型发布源的功能。

客户端的主要功能还被集中在一个控件里面, 这样做的好处是可以实现网页在线播放模式。

同时, 客户端程序还要处理NAT、防火墙穿透问题, 尽量寻找最优结点进行连接, 构建优化的P2P网络结构, 关于这一点将在关键问题中详细介绍。

为丰富功能和提高系统可用性, 直播客户端程序率先采用了双屏播放、时移、暂停功能。双屏播放允许在一个播放器同时打开两个频道, 画面显示为一大一小, 并可以方便的进行切换。时移是利用P2P直播的缓冲数据, 在一定范围内允许用户随意回看过去的节目内容。

4 关键问题及解决方案

在实现P2P网络这一模块, 必须完成的任务包括制定严格的通讯协议、处理好用户结点之间的信息交互和协同合作问题, 以及结点之间的数据传输功能。

(1) 应用层组播网络的选择

关于应用层组播网络的构建有多种方法, 最常用的是在服务器构建一棵组播树, 由系统集中控制管理结点信息, 这种结点缺点在于目录服务器负担过重, 而且构造的组播树并非优化的。

网状P2P结构结构克服了树状结构的缺点, 构建比较灵活, 非常适合P2P电视直播网络的需求, 目前大部分的P2P直播系统采用这种结构, 我们的系统也是建立这个结构基础上。

由于IP匮乏的问题, 互联网上有大量的NAT用户, 此外, 由于安全问题, 也有大量用户处于防火墙之后, 这对P2P应用是相当不利的。为了解决这一问题, 我们采纳了多种NAT穿透方案, 如UPNP、UDP穿透NAT等, 同时, 双向请求的方案也比较成功。所谓的双向请求就是不管由哪个结点发起连接, 另一端的结点也可以通过这一条链接向对方请求数据, 假设有一个结点处于不可穿透的NAT后面, 另一结点是处于公网或可穿透的NAT, 如果不采用双向请求传输策略就只能实现数据的单向流动, 导致一个可能很好的结点资源被浪费掉。

(2) 结点搜索策略

一般的P2P结点搜索方法是通过中央目录服务器进行搜索, 缺点是中央负载大, 而且很难构建优化的网络。另一种方法是通过泛洪搜索, 这可以不需要中央目录服务器的存在, 而且可以构建较为优化的网络, 缺点是搜索速度慢, 消耗网络资源很多。

基于上述问题改进, 采用混合式P2P模式是比较合适的选择, 建立一个目录服务器, 由目录服务器通过简单搜索提供一些相关结点, 这一过程称为预连接过程。在预连接过程, 我们采用了“资源优先”、“地域优先”、“数量优先”等策略对结点进行挑选, 客户端连接少量结点后开始进行扩散和自适应调整, 同时综合考虑客户端所在用户的性能状况, 根据用户的性能规定其相应的权利和义务 (节点贡献的能力) , 尽量做到能者多贡献, 弱者少贡献。减少差的节点对系统网络的影响范围及其相关节点影响的能力, 使系统更加人性化。并且结点可及时适应自身所处的状态, 避免由于频繁的创建网络连接所带来的播放质量下降问题和时延增大问题。

5 测试分析

广州电视台P2P网络电视系统采用了Banacast P2P网络电视核心技术。Banacast是当前先进的P2P网络流媒体信息服务平台, 表1给出了Banacast与国内相关主要P2P应用媒体系统的性能比较分析。从数以百万级的海量用户访问的实际测试效果分析, Banancast系统在网络电视相关关键技术指标方面表现出领先的优异性能。

6 结束语

本文归纳和总结了开发基于P2P的网络电视系统的架构以及关键技术。除基本的网络电视直播服务外, 系统还提供完善的支撑平台, 涵盖了安全播出、统计、收费、计费等方面, 还拥有智能EPG、双屏、时移等特色功能, 用户体验好。测试结果表明, 该系统运行时占用资源低, 用户接入速度快, 能在较低的硬件配置下为大量用户提供高质量的直播服务。该项技术自2007年以来在广州电视台开始上线运行测试, 2008年进行了系统功能的重新升级。目前目前该系统运行状态稳定良好, 为广州电视台网络电视发展提供了安全稳定的技术支撑平台;该平台由Banacast新媒体技术团队设计开发, 对我国网络电视技术和业务的发展具有重大意义。

参考文献

[1]Delaney B, Gatarci T, HYPERLINK"http://www.engineeringvillage2.org.cn/controller/servlet/Controller?CID=q uickSearchCitationFormat&searchWord1=%7bLittle%2C+T.D.C.%7d&section1=AU&database=1&yearselect=yearrange&sort=yr"Little T.D.C.The power of P2P.IEEE Multimedia, v8, n2, April/June, 2001:100-103.

[2]Chu Y, Rao S.G, and Zhang H.A case for end system multicast, Performance Evaluation Review, v28, n1, 2000:1-12.

[3]www.pplive.com.

[4]www.pps.tv.

[5]www.banacast.com.

P2P系统论文 第2篇

作为网贷平台的贷款者,你是否还能从其他平台上获得新的贷款呢?这要看其他平台是否知道你的负债情况,贷款人通过将抵押物重复抵押,或重复信贷,都会产生“过度负债”,将极大增加其无力偿还的风险。

但对于P2P网贷行业来说,甄别贷款者是否“过度负债”是一个老大难问题。7月19日,上海金融年会上,央行征信中心副主任王晓蕾认为只要主管部门认定P2P属于放贷机构,将P2P机构接入征信系统是央行征信中心的责任。同一时间,银监会副主席阎庆民则表示银监会正在研究P2P的监管规则,会尽快推出。

贷贷网媒介总监陈兴表示“征信对互联网金融企业开展风险管理控制的作用举足轻重,P2P机构如若能接入银行征信系统,无疑将迎来行业发展的重大利好;但由于银行信贷用户和民间信贷用户存在太多的不交集,银行征信体系未必能覆盖国内所有借款人信用信息,而民间征信能很好的补充银行征信体系的不足。”

重视民间征信体系建设

在我国,需要融资的企业数量庞大,银行无法承担所有融资项目,因此民间借贷在国内发展良好。但由于无法接入央行的征信系统,为了控制风险,民间金融企业必须自行承担信审工作,并将已发生的借款用户的信用情况在企业留底,久而久之形成了庞大的民间征信数据。只是这庞大的征信数据分散于万千民间金融企业,未能整合形成统一的征信体系。中国人民银行原副行长吴晓灵认为:“我们更要着力于建立民间的征信系统。央行已经开始在准备发放这方面的牌照,网络公司掌握着众多的(信用)信息、有大数据处理的能力,我们应该利用这些能力和信息,在建立民间的征信公司,帮助金融业更健康地发展。”如果基于电商平台的网上借贷能够建立独立的征信体系,那么P2P平台就能够实现比较健康地发展。

P2P系统论文 第3篇

关键词:阻塞算法;P2P;Bit Torrent;

中图分类号:TP311.1 文献标识码:A文章编号:1007-9599 (2010) 09-0000-01

Blocking Algorithm Analysis of BT System Based on P2P Technology

Bo Wenyan

(1.Inner Mongolia University of Technology,Hohhot010051,China;

2.Shanxi Datong University,Datong037000,China)

Abstract:With the widespread use,Bit Torrent has aroused great concern to academics.These researches have mainly focused on the measuring,modeling and algorithms of the Bit Torrent.This paper analyzes the blocking algorithm of the BT system,points out its problems,and provides the basis for the improvement of the blocking algorithm.

Keywords:Blocking algorithm;P2P;Bit Torrent

對等网(P2P:Peer-to-Peer)因其良好的可扩展性和健壮性成为Internet中最重要的系统之一。Bit Torrent(简称BT)是P2P技术在文件共享分发中的典型应用。BT系统中文件被分割成一定大小的文件块(piece),如何使得每一个Peer能够获得满意的下载速率,又能够为其他Peer提供良好的上传服务是P2P技术中一个重要的问题。

一、阻塞机制的概念

节点间建立连接后,进行内容分发的过程中,一个节点可能会同时收到来自它多个节点的要求下载文件分片的请求。如果本节点同时满足所有这些请求,向所有这些节点发送文件,就可能会造成本节点性能下降以及网络拥塞。为了避免这种情况,对部分节点的请求进行阻塞(Choke)。

首先考虑两个节点(设为A和B)间能够进行内容传输的条件。一般来说A向B送文件片断,需要满足两个条件:(1)B对该文件片断感兴趣(Interested);(2)A同意向B发送该文件片断,也就是说A不阻塞(Choke)B。把这两个条件看成AB连接的两个状态,为了表示这两个状态,在程序中引入两个状态变量:Choked,该状态为真时,表示A阻塞了B。Interested,该状态为真时,表示B对A的文件片断感兴趣。在节点A收到B的文件片断请求报文时,通过检查这两个状态,来决定是否向B传送文件了。

二、BT系统的阻塞算法

具体的阻塞算法有三种:

(一)TFT阻塞算法

节点以回报的方式,选择当前向自己上传文件速度最快的一定数量(默认为4个)的节点作为自己的服务对象。这样可以有效防止只下载而不上传的节点,并且有效的激励节点参与上传服务,从而最大化自己的下载带宽。这个决策结果以10秒为周期进行更新。

(二)乐观阻塞算法

从所有向自己发出申请的节点里面随机选择一个为其提供上传服务,不管对方当前是否为自己服务,周期为TFT阻塞算法的三倍30秒。采用这种算法一是为了发现是否具有更适合的交换对象;二是为了向新加入节点提供最初文件块的下载。

(三)种子阻塞算法

由于种子节点(已经下载完成的节点)不再需要下载,所以不能够以下载速度作为节点选择的依据。这时决定因素是连接节点从它这里获得的下载速度,即它只为下载速度最快的那些(默认为5个)节点服务,以便最大化上传带宽,加快文件的分发。

三、BT系统阻塞算法中存在的问题分析

依据TFT阻塞算法,连接双方都是在对方为自己提供服务的前提下才会为对方提供服务。这种“先取后予”的方法必然导致以下问题。

问题一:BT系统中“第一块”问题,即节点需要很长时间才能够获取到最初几块文件块。由于新加入节点没有任何资源可与别人交换,依据TFT算法是没有可能获得下载的,只能依靠种子或是其它节点乐观阻塞算法才有机会获得服务。而种子和乐观算法数量很少,所以数据来源很少。

问题二:当两个新连接节点彼此向对方发出申请后,需要长时间的等待才能够开始之间的文件下载。乐观阻塞算法执行周期长且服务数量仅有一个,所以需要长时间的等待。BT系统极强的动态性,连接节点的退出导致连接过少或是中途退出一段时间后返回系统,节点都会增加新的连接;此时文件块的互补性很强,进而彼此会向对方申请文件块,新连接节点彼此向对方申请文件块的情况也并不显见。

问题三:节点在“最后块”时期的上传连接过少。BT系统中,一直存在着“最后块”的问题,需要长时间的资源寻找和下载。在这段很长的时间里,节点虽然有着绝大部分资源,但由于自己当前只从极个别节点下载,所以依据TFT算法只可能为这些极个别的节点服务,从而导致上传连接数量很少,以至没有平均快速的分发资源。

四、结束语

本文首先介绍了基于P2P技术的BT系统中阻塞算法的原理和作用,然后对阻塞算法中存在的几个问题进行了详细描述,为针对问题提出新的阻塞算法提供理论依据。

参考文献:

[1]汪燕,柳斌.Bit Torrent协议分析及控制策略.实验技术与管理,2006,1(23):54-56

[2]王坯.Bit Torrent下载技术研究.科技广场,2005,2(2):26-27

[3]孔彬,徐良贤.Bit Torrent原理分析及改进.计算机工程,2004,s1(30):257-259

P2P网络搜索系统研究 第4篇

1 校园网络

校园网是在学校范围内,在一定的教育思想和理论指导下,为学校教学、科研和管理等教育提供资源共享、信息交流和协同工作的计算机网络。随着经济的发展和国家科教兴国战略的实施,校园网络建设已逐步成为学校的基础建设项目,更成为衡量一个学校教育信息化、现代化的重要标志。目前,大多数有条件的学校已完成了校园网硬件工程建设。然后,多年来都对校园网的认识不够全面,甚至存在很大的误区。例如:认为网络建设越高档越好,在建设中盲目追求高投入,对校园网络建设的建设缺乏综合规划及开发应用;认为建好了校园网络,连接了internet,就等于实现了教学和办公的自动化和信息化,而缺乏对校园网络的综合管理、技术人员和教师的应用培训,缺乏对教学资源的开发与积累等等。所有这些,都极大地阻碍了校园网络在学校管理、教育教学中所应发挥的实际效益。

概括地讲,校园网是为学校师生提供教学、科研和综合信息服务的宽带多媒体网络。首先,校园网应为学校教学、科研提供先进的信息化教学环境。这就要求:校园网是一个宽带、具有交互功能和专业性很强的局域网络。多媒体教学软件开发平台、多媒体演示教室、教师备课系统、电子阅览室以及教学、考试资料库等,都可以在该网络上运行。如果一所学校包括多个专业学科(或多个系),也可以形成多个局域网络,并通过有线或无线方式连接起来。其次,校园网应具有教务、行政和总务管理功能。

2 P2P的搜索方法的特点及分类

传统的搜索方法使用的方法都是集中式的搜索方法,这种搜索模式往往由一个机群在互联网上盲目读取信息,然后按照某种算法根据关键字将信息保存在一个海量数据库内,当用户提交搜索请求时,实际上是在海量数据库内部进行搜索。这种机制虽然能尽快获得搜索结果,但不能保证搜索范围的深度和结果的时效性。P2P搜索方法分为集中式和分布式两类。集中式搜索方法中,所有P2P节点都与已知地址的P2P目录服务器相连,服务器负责对P2P网络中的共享文件进行索引和查询,服务器集中存放对等节点的地址信息和所保存数据的信息。当节点加入或离开该系统时,P2P节点服务器会随之更新系统索引表。分布式,网络中没有服务器,链状的节点之间构成一个分散式网络,既没有集中的目录服务器,又对P2P网络拓扑(P2P成员的连接集合)和文件放置没有任何精确的控制,系统中每个结点只维护自己存储的文件及其索引。分布式P2P网络分有分布式非结构化P2P网络和分布式结构化P2P网络两种。

3 P2P网络搜索研究

P2P信息检索的目的就是网络中的任意节点都可以提交检索的请求,然后这些检索通过某种路由机制被路由到和检索相关的节点上去,存储有和该检索相关信息的节点将会回应请求,把本地相关的内容以对等的形式直接传送到请求节点上。

我们可以采用混合P2P结构,结合上面两者的优点,给一些节点特殊的能力,让他们担任一些中心节点的功能。网络中的每个节点具有独立处理能力,同时通过网络让一些小节点作为中心节点,提供全局应用。

另外智能agent和移动agent。移动agent是一个能在异构网络中自主地从一台主机迁移到另一台主机,并可与其他agent或资源进行交互的程序。agent非常适合在网络环境中来帮助用户完成信息检索的任务。在P2P软件中嵌入移动agent,尤其是智能agent,在个人助手、智能搜索、实现灵活性等方面将具有很大优势。。当这个Agent到达一台新的机器上,然后在这个机器上进行资源搜索任务,如果这台机器上没有它想要的资源,则它把这些搜索的信息传给它的邻节点,如果找到资源,则返回给请求的机器。由于Agent的运行增加了节点的负载,搜索时延差别较大。

校园内部网络相对来说比较小,他所对应的每一个节点有可能成为搜索的对象,而兴趣相近的节点所保存的内容和提交的查询也呈现出一定的相关性。若将兴趣相关的节点组成网络,使相关性的节点在网络中比较接近,即可构成所谓的小世界模型。针对校园p2p网络主要研究是按照对用户检索行为的分析来划分用户兴趣的。在一定程度上提高了检索的效率。但是这也有它的局限性。

4 P2P搜索技术未来的发展

P2P网络搜索技术正在蓬勃发展.相信在未来将会有更多的、更完善的搜索技术产生.针对这方面的研究有可能在这些方面有所发展:1)基于DHT的多关键词查询,它可以提高信息检索的效率;2)发展基于语义搜索的搜索引擎,它将会使得我们的搜索更加精确;3)发展兴趣关系网络,提高网络资源共享的效率.

5 结束语

资源搜索是P2P网络中需要解决的核心问题之一。本文主要对P2P系统中,各种网络搜索技术的特点及性能的介绍及比较。研究搜索速度快、成本低、分布性好、支持多关键词搜索、带宽要求小的P2P搜索方法,对于P2P应用的进一步发展具有很重要的意义。

摘要:对等计算(P2P Computing)是下一代网络中的关键技术之一",如何高效地搜索P2P网络上的资源是P2P网络设计中最为关键的问题。文章介绍了P2P网络的特点及分类,在分析P2P网络的基本搜索方法的基础上,对各类搜索方法进行了分析和研究。

关键词:P2P网络,资源搜索,对等网络,网络资源

参考文献

[1]卢苇,白淑霞.对等网络平台搜索模型[J].航空计算机技术,2006(9).

[2]王艳辉.基于P2P网络搜索技术研究[J].合作经济与科技,2007(4).

[3]黄比金,谭鸿祥.非结构化P2P网络资源搜索策略的研究[J].大众科技,2009(1).

P2P系统论文 第5篇

P2P下载一直是困扰企业网络管理的重要问题,员工随意的下载,将会影响整个部门或者公司的网络,导致其他人的网络慢卡堵,降低工作效率,小草网管软件(小草软路由)作为专业的企业局域网管理软件,在这里就带大家来了解什么是P2P下载,以及如何控制。

P2P是英文peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。这样一来,P2P也就可以理解为“伙伴对伙伴”的意思,或称为对等联网或点对点技术。它是一种网络模型,在这种网络中各节点是对等的具有相同的责任和能力并协同完成任务。对等点之间通过直接互连共享信息资源、处理器资源、存储资源甚至高速缓存资源等,无需依赖集中式服务器资源就可以完成。与传统的C/S模式形成鲜明对比。P2P技术主要指有硬件形成网络连接后的信息控制技术,主要代表形式是在应用层上基于P2P网络协议的客户端软件。IBM为P2P下了如下定义:P2P系统由若干互联协作的计算机构成,且至少具有如下特性之一:系统依存于边缘化(非中央式服务器)设备的主动协作,每个成员直接从其他成员而不是从服务器的参与中受益;系统中的成员同时扮演服务器与客户端的角色;系统应用的用户能够意识到彼此的存在,构成一个虚拟或实际的群体。P2P网络是互联网整体架构的基础,互联网最基本的TCP/IP协议并没有客户端和服务器的概念,在通讯过程中,所有的设备都是平等的一端。

P2P模式与C/S模式的比较:由此可见两者的拓扑结构或说系统中节点的连接方式明显不同。与传统的C/S模式相比P2P模式有明显的优点:

第一,资源利用率高。这也是P2P最主要的优点。第二,随着节点的增多网络会越稳定,不存在瓶颈问题。第三,信息在对等节点间直接交换,高速及时,降低中转成本。第四,基于内容的寻址方式处于一个更高的语义层。

当然P2P也有许多不足之处。首先P2P缺乏管理机制,不象在C/S模式中只需要在中心点进行管理。其次P2P网络中数据的安全性难以保证。另外还存在吞噬网络带宽问题、版权问题。还有就是目前还没有制定出一致的P2P标准,这对P2P技术进一步发展也是一个障碍。

P2P网络分类

目前存在着多种不同特性的P2P网络,不存在唯一的分类标准,这里考虑2种分类方法。

(一)依据P2P网络的请求机制和逻辑拓扑结构分

1.集中式的。这是一种非纯的P2P系统,用中央服务器。中心服务器保存着所有节点的地址和目标文件信息,这样节点只需要向服务器请求它想要信息所在的节点地址。Napster采取的就是这种机制。

2.分布且无结构式的。这种结构中信息是分布存储的,并且P2P网络的逻辑拓扑是随机的。请求通过网络一步步执行,直到成功(失败)或超时。这种结构的效率会非常低。Gnutella采取的就是这种结构,它的查寻机制用的是flooding算法。

3.分布有结构的。这种P2P网络中信息也是分布式存储的,但是P2P网络的逻辑拓扑具有一定的结构。他们通常用DHT(distributed hash table)技术构建其拓扑结构。在这种网络结构中请求也是一步步被执行的,在理想的情况下,经过一定的hops请求会被成功执行。

(二)根据出现时间及目标分

1.第一代P2P系统。早期的P2P系统如Napster和Gnutella,目标容易快速,但是他们过于简单以致度量性差并且请求效率低。

2.第二代P2P系统。第二代P2P系统一般采用DHT技术以实现更好的可度量性和请求效率,并实现负载平衡和保证查询的确定性。但是第二代系统的网络健壮性和容错不是很好,特别是在有外来的恶意攻击的情况下。

3.第三代P2P系统。第三代P2P系统主要提高系统的健壮性,在一些节点存在错误的情况下希望仍能保证下载的顺利进行。主要的技术有信息的多源复制、增多节点间的联系数目、采用特殊结构拓扑。

随着P2P技术与其他技术的结合和其自身结构的改进,新的P2P系统的性能将会逐步提高,会在更广阔的领域里得到应用。

P2P技术应用

目前主要包括以下方面:

(一)文件共享

P2P技术使得任意2台相连的计算机间共享文档、多媒体和其他文件成为可能。Napster和Gnutella就是将P2P文件共享技术投入应用的最好例子。还有电驴,BT。

(二)分布式计算

就是将原来需要超型计算机来计算的大型任务进行分块,并通过系统控制中心的调度软件进行调度和管理,分发给普通计算机来执行具体运算操作,完成后返回给控制中心。自1999年起,美国柏克莱大学的SETI@home研究计划就一直在使用P2P计算方法来分析星际间无线电信号,也正是SETI@home计划推动了最近的P2P技术热潮。

(三)协作系统 它是另一种类型的P2P网络:一群一起工作的用户相互之间共享着不同的因特网资源,但他们通过协同工作完成一项共同任务。和文件共享不同,协作系统中的一个用户可在同一时刻将一个信息多点传送到若干个用户。美国lotus公司创办的Groove Network就是最为著名的P2P协作系统应用研究组织之一。它是运用中继服务器来完成P2P多点传送。

(四)电子商务

基于P2P技术的直接性和易扩展性,该模式很适用于用户之间的商品交换。目前主要可用于金融服务、电子商务集市、广告行销、IP电话、购物行为分析等。

(五)以P2P为基础的深度搜索引擎

P2P技术使用户能够深度搜索文档,而且这种搜索无需通过web服务器,也可以不受信息文档格式和宿主设备的限制,可达到传统目录试搜索引擎(只能搜索到20%~30%的网络资源)无可比拟的深度。

除了以上几种应用外,还有一些无法预见或无法定论归类的应用模式。现在人们对P2P的认识还很不完整,应该说在很大程度上P2P的吸引力来源于它的零成本、病毒式传播方式。

五、存在问题

(一)版权问题

就像Napster的出现冲击着唱片公司的利益一样,大多数P2P服务都将不可避免地和知识产权发生冲突。

(二)管理困难

P2P网络的精髓在于其“乌托邦”式的管理方式,这种方式给了用户更多的自由,但是这也陷入了“无政府主义”的困境。可以想象,缺乏管理的P2P网络将会成为病毒、色情内容以及非法交易的温床。许多P2P公司打算通过P2P网络开展电子商务,但是付费问题、流量计算、商品价值的验证等等都是一时很难克服的困难。

(三)吞噬网络带宽

P2P使网络变得空前活跃,大多数用户愿意利用P2P网络在计算机之间传送文件,这将大量吞噬网络带宽,特别是在大多数用户更喜欢传送大体积的MP3文件、视频文件的时候,这个问题更加不容忽视。在我国,网络带宽较窄成了P2P应用难以逾越的障碍。

(四)安全问题

一个拥有众多用户的P2P网络可能会成为黑客的新的攻击目标,而且分散式结构的P2P网络有利于木马、病毒等破坏性程序的传播,这将极大地威胁P2P网络的安全。

(五)垃圾信息 由于P2P网络的用户众多,当某个用户进行搜索时,自然会得到大量的搜索结果。而除了少数有用的信息以外,其他大多数的信息可能都属于垃圾信息。在缺乏统一的管理的情况下,P2P网络很难对搜索结果进行排序,用户将不可避免地陷入垃圾信息的汪洋大海。

(六)标准之争

P2P系统论文 第6篇

关键词:对等网络; 覆盖网; IP网; 多关键字查询

中图分类号:TP393.01

文献标志码:A

Decentralized structured P2P system grouped by location

SHEN Xinpeng, LI Zhanhuai

(College of Computer Sci. & Eng.,Northwestern Polytechnical Univ., Xi’an, 710072)

Abstract: Because Chord is a typical distributed structured peer-to-peer (P2P) system based on overlay network, the distance between two adjacent peers may be very far on IP network, and the network access speed is greatly reduced. To solve the problem, a new P2P system is proposed to improve the Chord system. The peers in the same location are connected in a Location Area P2P Network (LAPN) which is connected by pointers. The method can resolve the problem and improve the system efficiency.

Key words: peer-to-peer network; overlay network; IP network; query on several keys

0 引 言

随着计算机处理能力和存储容量的提高以及通信技术的进步,人们可以随时随地接入网络并通过直接交换共享计算机资源和服务,对等计算[1](Peer-to-peer Computing)因此应运而生.对等网[2](Peer-to-peer,P2P)是没有任何集中控制的分布式系统,系统中每个节点在功能上均等同,既是客户机又是服务器,没有主从之分.

以Chord为代表的分布式结构化系统是P2P系统结构的研究重点.[3]系统中没有集中目录服务器,但节点的组织是结构化的.这里的结构是指系统对P2P网络拓扑和文件放置都精确地加以控制,仔细将文件均匀地分布在参与的节点中.该系统的优点是易于扩展,查询效率高,支持稀少文件的查询;缺点是对节点的不断加入和离开需要频繁地进行额外工作,不能有效支持多样化查询.而且由于该系统是在IP网(IP Network)上建立覆盖网(Overlay Network),结果出现在覆盖网上的两个相邻节点在IP网上却相距很远的情况,于是,理论上只需要很少的延迟(比如一个Hop),反映到实际IP网络上却需要很大的延迟,导致网络的实际访问速度大大降低.

为了解决这些问题,本文在分布式结构化P2P系统Chord的基础上进行改进,提出基于地域分组的分布式结构化P2P(Decentralized Structured P2P System Group by Location,DSPSGL)系统,它可以很好解决以上问题,是对P2P系统的一次有益改进.

1 DSPSGL系统介绍

在结构化P2P系统中,节点之间的访问路径长度一般都根据Overlay Network上的距离进行计算.但是Overlay Network上相邻的节点在IP Network上可能相距很远,从而造成数据访问的理论速度与实际速度差别很大.

为此,对分布式结构化P2P系统进行改进,提出DSPSGL系统.在DSPSGL系统中,处于同一地域的节点构成分布式结构化的局域P2P网络(Local Area P2P Network,LAPN),这些LAPN的相互连通形成完整的DSPSGL网.

1.1 系统拓扑结构

在DSPSGL系统中,采用一致性哈希(Consistent Hashing) 算法[4]将网络中每个节点的标志映射成一个长度为M 位(bit)的二进制序列:节点标志符(pID),并将其唯一分配给该节点.它表示1到2M-1间的数,在一维环空间(模2M)上由小到大按顺时针排列,选择合适的M值,可以保证两个节点的pID相同概率接近0.

在Chord 模型中,节点标志符(pID)通过哈希IP地址得到,但是该方法存在明显不足.现在国内很多用户使用ADSL方式上网,他们每次登入网络的IP地址都是变化的,因此同一节点两次登入系统的节点标志符不同.这就违反了节点标志符的唯一性原则,可能会造成同一节点在存储文件和查找文件时的节点标志符不一致的情况,失去定义节点标志符的意义.这里使用哈希机器CPU的ID来生成节点标志符.每台机器CPU的ID是唯一不变的.使用该方法可以保证节点多次接入系统时,其pID保持不变.

同时,每个节点还有一个N(N

这样,DSPSGL系统中所有的节点都有一个节点标志符和一个地区标志符,组成一个 M×N 的二维圆环.坐标(pID,aID)决定节点在该圆环中的位置.

图1显示一个8×4的网络.其中aID为01和10的节点各有两个,aID为11的节点有4个,没有pID相同的节点.

图 1 节点环空间

具有相同地区标志符(aID)的节点按节点标志符从小到大顺时针排列组成一个小的LAPN.每个LAPN都是一个小的Chord网络.但是一个节点同时只能属于一个地区,因此这些LAPN是相互孤立的,见图2.

图 2 LAPN

为了使这些网络可以相互联通,对网络中的某些节点增加一个或多个地区指针.每个地区指针指向某个LAPN的任意一个节点.

将节点标志符(pID)的前N位称为节点的伪地区码(fake area ID,简称nfaID).由于LAPN网中的节点按节点标志符从小到大顺时针排列,故LAPN网上各节点的伪地区码也就从小到大顺时针排列成一个环.

如果一个节点的伪地区码(nfaID)为n1,其前继节点(指在LAPN环空间上从这个节点出发逆时针方向的第一个节点)的伪地区码(nfaID)为n2,若n1=n2,则该节点没有地区指针;若n1>n2,则该节点有n1-n2个地区指针,分别指向地区标志符为(n2+1, n2+2, …, n1-1, n1)的LAPN中的任意一个节点.若n1

例如,图1所示的DSPSGL系统中,地区标志符为11的LAPN 网的各个节点的地区指针见表1所示.

在表1所示的地区指针中,节点001的所有地区指针均为NULL,若连续多个节点的地区指针都为NULL,将使系统的算法复杂度大大提高.为此,对地区指针的算法进行修正.若一个节点(其伪地区码是n1)的所有地区指针都为NULL,就再给它增加若干个指针,直至有一个非空指针,即增加分别指向地区标志符为(n1+1, n1+2, …, n1+n3-1, n1+n3)的LAPN指针,其中前n3-1个指针都为NULL,最后一个指向n1+n3的地区指针非空.这样经过修正后每个有地区指针的节点都至少有一个非空的地区指针.

图1所示的DSPSGL系统的地区指针经修正后,其他节点的地区指针不变,节点001增加一个指向aID=01的LAPN的地区指针.

增加地区指针后,DSPSGL系统中的节点就相互连通.图1所示的系统增加地区指针后见图3.

1.2 文件的加入和查找

文件是对系统中要存储的数据的统称.在系统中每个文件都有一个唯一确定的文件标志符(fID).它也是通过一致性哈希算法得到的.文件标志符(fID)表示为一个1到2M -1间的数.

在介绍文件的加入和查找算法之前,首先定义几个概念.图 3 连通后的DSPSGL系统

后继节点:文件标志符为f0的后继节点就是在LAPN环空间上节点标志符等于f0的节点或者从f0出发顺时针方向的第一个节点.

文件的伪地区码(ffaID):称文件标志符(M位)的后N(N

后继LAPN:节点p0的地区标志符为a0的后继LAPN.它必须满足:(1)不是p0所在的LAPN;(2)地区标志符等于a0或者是在地区标志符环空间上从a0出发顺时针方向的第一个有效地区标志符.求节点p0的地区标志符为a0的后继LAPN算法如下:如果节点p0的地区标志符等于a0,将a0加1;然后在a0(N位)后面补M-N个0,构成一个M位的二进制数k,在p0所处的LAPN上查找k的后继节点p1,p1上必然有指向aID等于a0的LAPN地区指针.若此指针为NULL,说明该LAPN暂时不存在,就将a0加1,再次查找p1上的地区指针,如此反复直到找到一个非空的地区指针.该指针指向的LAPN就是节点p0的地区标志符为a0的后继LAPN.

从节点p0增加一个文件标志符为f0的文件到系统的算法:

(1)在节点p0所处的LAPN中查找f0的后继节点p1,将文件保存到p1上;

(2)确定文件f0的伪地区码为fa0;

(3)查找p0的地区标志符为fa0的后继LAPN;

(4)在此后继LAPN上查找文件f0的后继节点p2,并将文件保存到p2上;

(5)修改p0所处的LAPN的指向后继LAPN地区指针指向节点p2.

注意:文件的伪地区码取文件标志符的后N位,这与节点的伪地区码不同,原因是根据以上文件加入系统的算法,如果文件的伪地区码取文件标志符的前N位,将会使所有文件在后继LAPN中仅集中在少数几个节点上,即集中在伪地区码等于地区标志符的节点上.

从节点p0查找文件标志符为f0的文件算法:

(1)在p0所处的LAPN中查找f0的后继节点p1;

(2)在节点p1上若找到文件f0,将文件复制到节点p0上,查询结束,正常返回;

(3)若没有找到文件,确定文件f0的伪地区码为fa0;

(4)查找节点p0的地区标志符为fa0的后继LAPN;

(5)在后继LAPN上查找文件f0的后继节点p2;

(6)在节点p2上若找到文件f0,将文件同时复制到节点p0和p1中,成功返回,若找不到,异常返回.

1.3 基于多关键字的文件存储和查找

前面介绍简单的文件存储和查找算法,但有时需要基于关键字进行文件的存储和定位.为此在DSPSGL系统中增加称为索引的新实体.索引就是文件的多个关键字和文件名(文件标志符)一种对应关系.在系统中,每个索引也有一个唯一的索引标志符(iID),该标志符是对索引进行一致性哈希运算得到的一个M位的二进制序列,它表示1到2M-1间的数.

为了使系统具有多关键字查询功能,在保存索引标志符k的节点n上建立索引信息表.表中每一项保存一个文件的所有索引和对应的文件标志符.例如关键字“网络”对应的索引信息见表2.

从节点p0增加一个具有多个关键字的文件算法如下:

首先按照1.2节中介绍的加入算法将文件(文件标志符为k)存储到节点p1(p0所在的LAPN上的节点)和p2(后继LAPN上的节点)上,然后在节点p0对每个关键字分别进行哈希运算,得到对应的索引标志符(k1,k2, … , kn).对每一个索引ki,再次使用第1.2节中介绍的加入算法选择合适的节点pki1(p0所在的LAPN上的节点)和节点pki2(后继LAPN上的节点)存储该索引信息.在节点pki1和pki2的索引信息表中保存该文件的所有关键字和文件标志符fID的对应关系.

当从节点p0使用一个或多个关键字搜索文件时,对其中的任意一个关键字进行哈希运算,得到索引标志符k;使用第1.2节中介绍的查找算法找到存储该索引的节点pk;然后在节点pk上打开其索引信息表,找到所有符合检索条件的文件对应的文件标志符,最后根据找到的文件标志符取得要查找的文件.

例如要查找具有关键字“算法,网络”的文件,可以对关键字“网络”进行哈希运算,得到索引标志符k,找到存储该索引的节点pk,读取其索引信息表,在其中查找同时具有“算法”和“网络”两个关键字的文件,发现有4个,对应的文件标志符分别是12,15,13,40. 最后再根据第1.2节介绍的算法,分别取得这4个文件.

1.4 节点的加入

在DSPSGL系统中,节点p0加入系统前,必须先知道系统中任意一个节点p1的信息;再根据自己的CPU ID值和IP地址计算节点的标志符(pID)为p0,地区标志符(aID)为a0.

若a0(节点p0的地区标志符)等于p1的aID,说明p0就在p1所处的局域P2P网络(LAPN)中.在此LAPN上查找p0的后继节点p2.将p0插入p2前面,先根据Chord算法更新信息(包括将后继节点的部分文件和索引信息移动到新节点上来),然后再根据p0的后继节点p2以及前继节点p3的nfaID和地区指针更新p0和p2的地区指针.具体算法与前面确定地区指针的算法相同.

若a0不等于p1的aID,说明p0不在p1所处的LAPN上.在a0(N位)后面补M-N个0,构成一个M位的二进制数k,在p1所处的LAPN上查找k的后继节点p2,p2上必然有指向aID等于a0的LAPN的指针.

若指针不为空,就可以找到地区标志符等于a0的LAPN,然后在此LAPN上确定p0的位置,并更新它及其相邻节点的信息(包括Chord网络信息、文件及索引信息和地区指针等).

若指针为NULL,说明p0是该LAPN的第一个节点,此时要通知所有其他LAPN更新指向该LAPN的指针,并在节点p0上建立指向所有LAPN网的地区指针,然后确定节点p0的地区标志符为a0的后继LAPN(其地区标志符为a1),从后继LAPN上把伪地区码小于等于a0的文件和索引复制到节点p0上(伪地区码大于a0且小于等于a1的文件和索引留在原LAPN上).

2 DSPSGL系统分析

根据以上介绍可以发现DSPSGL系统是对Chord系统的一种改进,具有稳定性高、响应迅速、支持多关键字查找等特点.下面对系统性能进行简单分析.

2.1 系统的健壮性分析

在系统中每个LAPN就是一个Chord网,因此节点失效不会引起LAPN瘫痪.同时每个LAPN网中都有指向所有其他LAPN的指针,若LAPN1的某个节点失效使得指向LAPN2的指针丢失,那么可以通过LAPN1上指向LAPN3的节点转到LAPN3上寻找指向LAPN2的指针.因此,任何一个或多个节点的失效都不会引起系统瘫痪,不存在单点故障问题.

2.2 算法复杂度分析

在P2P系统中,对系统性能影响最大的是访问节点,因此下面以访问节点的个数为依据,简单分析各主要算法的系统开销,前提是假定没有节点失效问题.假定系统中有M个节点,有N个LAPN,每个LAPN中最多有X个节点,因此在LAPN中查找节点的算法复杂度为logX.

首先分析查找节点p0的地区标志符为a0的后继LAPN的算法复杂度.由前面的介绍可知该算法就是先在a0后面补M-N个0构成M位的二进制数k,然后在p0所在的LAPN中查找k的后继节点p1,最后在节点p1上查找指向后继LAPN的指针,因此其复杂度为log X.

文件加入算法是同时将文件放入起始节点p0所在的LAPN和其后继LAPN中.放入p0所在的LAPN中需要一次查找文件的后继节点;放入后继LAPN需要一次查找后继LAPN和一次查找文件的后继节点,因此其复杂度是logX.

基于多关键字的文件加入算法相当于多个文件的加入,因此算法复杂度还是log X.

文件查找算法:若文件存在于起始节点p0所在的LAPN,只需查找一次文件的后继节点即可.若不在该LAPN,需要分别查找后继LAPN和文件的后继节点一次,因此它的算法复杂度为log X.

基于多关键字的文件查找算法相当于两次文件查找,因此算法复杂度还是log X.

节点p0已知节点p1加入系统时有3种情况:(1) p0和p1在同一LAPN中,即将p0加入p1所在的LAPN,算法复杂度为logX;(2) p0和p1不在同一LAPN中且p0所在的LAPN已经存在,此时需要在p1所在的LAPN上查找地区指针,然后在p0所在的LAPN上找到p0所在的位置,实际上是两次在LAPN上查找节点,算法复杂度是logX;(3) p0和p1不在同一LAPN中且p0所在的LAPN不存在,首先需要在p1所在的LAPN上查找地区指针(算法复杂度log X),然后更新所有LAPN中指向这个新LAPN的地区指针(算法复杂度N·log X),最后要访问其后继LAPN上的所有节点并进行文件迁移(算法复杂度X).因此其算法复杂度为N·log X+X.

3 结 论

从以上分析可以看出DSPSGL系统的健壮性很好,其文件加入和查找的算法复杂度均为log X(X是LAPN中的节点数),与Chord算法相比有一定的改进.节点加入时,除了建立新的LAPN时复杂度较高外,其他时刻的算法复杂度也比Chord算法低.

DSPSGL系统在系统总体性能有所改进的前提下实现节点访问与IP网的关联,可使大部分操作在同一地域的IP网中完成,从而大大提高对等网的效率,同时实现基于多关键字的文件索引功能.因此,DSPSGL系统是一种有前途的新型P2P系统.

参考文献:

[1] FOX G. Peer-to-peer networks [J]. Computing in Sci & Eng, 2001,3(3): 75-77.

[2] MILOJICIC D S, KALOGERAKI V, LUKOSE R, et al. Peer-to-peer computing [R]. Hewlett-Packard Company, 2002.

[3] STOICA I,MORRIS R,NOWELL D L,et al.Chord:a scalable peer-to-peer lookup protocol for Internet applications [J].IEEE/ACM Transactions on Networking,2003,11(1): 17-32.

[4] MATEI R, LAMNITCHI A, FOSTER I. Mapping the Gnutella network [M]. IEEE Internet Computing, 2002.

(编辑 廖粤新)

P2P视频直播系统改进设计 第7篇

1P2P视频直播系统概述

由于视频流的数据量较大, 仅依靠服务器的带宽无法支撑起一个大规模的视频直播系统, 传统的客户-服务器模式已无法满足大量的用户需求。然而, P2P网络的特性则使得直播系统的大规模部署成为可能。这种系统由一台 (或多台) 服务器以及观看视频的用户构成, 除了服务器提供的视频流, 用户也会把自己已经拥有的视频数据上传给其他用户。这样, 原本闲置的用户上载带宽被利用起来了, 从而在一定程度上缓解了服务器的压力。

在P2P视频直播系统中, 一个完整的视频流被分成若干个视频数据块 (chunks) , 服务器按播放时间顺序将这些数据块上传给网络中的一些节点 (典型的流速率为500 Kb/s) 。这些节点在收到数据块后再利用自己的上载带宽将它们转发给其他节点, 这样就形成了一个P2P网络。一个节点收到的各个数据块可能来自不同路径, 网络中又存在一定的传播时延, 因此数据块很可能乱序到达。这样, 每个节点就需要维护一个缓存 (buffer) , 缓存中存放即将播放的数据 (典型缓存大小为1 min) 。如果数据块在其播放时间之前没有到达, 那么这个数据块将无法被正常播放。

数据块被服务器上传到网络中后, 要经过一段时间才能被节点收到, 这段时间被称为播放时延。每个节点的播放时延不同, 因此各个节点的播放进度其实不是完全同步的。视频直播系统对播放时延比较敏感, 而丢失少量的数据则是可以容忍的。

2系统结构

2.1 tree-push结构

早期的P2P视频系统都是push-based系统, 如Zattoo[1]。在这样的系统中, 服务器将特定速率的视频流上传到网络中的C个节点, 收到视频流的每个节点在播放视频的同时, 还要利用自己的上载能力将这个视频流上传给其他K个节点。而K个节点再进一步将视频流传给其他的节点, 直到网络中所有的节点都能观看到视频。这样, 整个P2P网络就形成了一棵树, 树根就是视频流服务器 (一台或多台) , 树的深度由观看视频节目的节点数而定。

图1给出了C=3, K=2的例子, 图中树的深度n=3。在实际应用中, 随着用户数量的增加, 树的规模可以扩展。C值的大小是由服务器带宽而定的, 而一个节点上的K值则表示该节点可以同时为几个节点提供上载, 与该节点的带宽有关。一个节点的上载带宽更大, 这个节点就能为更多的节点提供视频流。当然, 在实际网络中, 各个节点的K值不同, 而且往往随时间动态变化。

理论上, push-based系统中各节点的平均K值只要大于或等于1, 系统就可以支持无限多用户在线观看视频。但在真实网络环境中, K值通常小于1, 因此系统的用户数量总是存在一个极限[2]。而且, 用户频繁的加入/离开行为给树形结构系统的稳定性带来了很大的挑战, 结构性缺陷使得树形结构系统很难支撑起规模庞大的P2P直播系统。

2.2 mesh-pull结构

目前应用较为广泛的P2P视频直播系统, 如PPLive, PPStream, UUSee等, 都是pull-based系统。所谓pull, 就是由节点主动发出请求信息 (requests) , 向服务器或周围的节点索取该节点所需的数据块。在系统中, 每个节点都会通过广播buffer map信息来告知邻居节点自己缓存中存放的数据块, 因此每个节点知道自己的邻居拥有哪些数据块。这样的系统并不依赖push-based系统的树形结构来传播视频流, 各节点可以向邻居列表中的任意邻居索取数据块, 因此并不存在树形结构带来的问题。

从图2中可以看出, 每个节点只有主动发出request消息, 邻居或服务器才会为其提供数据块。pull-based系统的部署比较简单, 并且能够充分利用用户的上载带宽, 从而使系统达到很高的吞吐量[3]。但是, 节点频繁地发出request信息, 给系统造成了很大的带宽开销。在有些系统中, request信息所占用的带宽甚至超过了数据流, 这就造成了很大的带宽资源浪费。另外, 在pull-based系统中, 由于节点在收到数据包后并没有立刻将该数据包转发出去, 而是在等其他节点来要, 这就增加了播放时延, 而且这种时延是逐跳积累的。因此, 带宽开销和时延是pull-based系统存在的两个主要问题。

2.3 pull-push hybrid结构

为了解决pull-based系统存在的问题, GridMedia, CoolStreaming, LStreaming等系统采用了推拉结合的结构, 即pull-push hybrid结构。pull-push hybrid系统的网络拓扑结构和pull-based系统相似, 都是一种无结构的mesh网络。在pull-push hybrid系统中, 视频流被分成一些子流 (sub-stream) , 每个子流由若干个数据块组成。

图3中, 一个完整的视频流被分成了3个子流, 每个子流由3个数据块组成。某个节点A加入系统后, 先以拉 (pull) 的方式向周围邻居节点请求数据块0, 如果从邻居B要到了数据块0, B将以推送 (push) 的方式向A传送整个子流0 (包括数据块3和6) , 而不需要A再逐个发出请求。同理, 如果A要到了数据块1, B将向A推送整个子流1。

在pull-push hybrid系统中, 节点收到的95%以上的数据包都是邻居节点或服务器推送来的[4], 只有在推送失败 (因为丢包或传输时延) 时, 节点才会主动地位数据。这样, 就解决了pull-based系统中请求 (request) 信息占用大量带宽的问题。同时, 由于节点主动推送数据块而不必等别人来要, 也在很大程度上减小了播放时延。

这种混合系统具有吞吐量大、节点带宽开销小、播放时延小等优势。同时, 这样的系统比pull-based系统更加节省服务器带宽[5]。当然, pull-push hybrid系统也不是完美的, 由于网络中存在传播时延, 系统中的节点会重复收到一些相同的数据包, 而重复的数据包将会被丢弃, 这也给系统带来了一些带宽开销。

3视频直播系统改进方案

3.1 服务器带宽动态调整

pull-based系统对服务器带宽的要求比较苛刻, 服务器性能对系统吞吐量和用户观看质量起着决定性的作用。在用户相对比较集中的频道, 大量的用户会抢走更多的服务器带宽, 这使得其他用户数量较少的频道很难获得较好的观看质量。目前商用的pull-based系统在这方面都没有恰当的策略来保证服务器为“小频道”提供足够的带宽, 这使得观看行为比较“小众”的用户总是无法得到满意的服务[6]。因此, 在pull-based系统中, 应当提供自适应带宽分配算法, 使得在用户数量变化的动态环境中, 各个频道都能够分配到合理的服务器带宽。算法应该既保障“小频道”得到服务器足够的支持, 又不会在“大频道”中浪费多余的服务器带宽, 从而在系统性能和资源开销之间达到一个平衡点。

在pull-push hybrid系统中, 系统性能对服务器带宽的依赖并不是很大 (在pull-push hybrid系统中, 服务器提供的带宽只要达到视频流速率的1.6倍就可以维持系统的正常运行[7]) , 因为节点之间相互推送的数据比较多。主要问题在于, 系统中用户数量在不同的时段差异较大。比如, 在晚上7点~9点之间系统中的用户数量一般会达到最大值, 而在凌晨1点之后用户数量最少[8]。因此, 服务器带宽应当在不同时段动态分配。在系统中人数很少的时候, 如果系统中存在大量上载性能较高的节点, 甚至可以关闭一定数量的服务器以节省开支。

3.2 邻居选择策略

在P2P视频直播系统中, 每个节点在启动时都会获得一个邻居列表。节点可以从列表中随机选择几个邻居, 并向这些邻居请求数据块。目前在主流的pull-push hybrid系统中, 还没有实施特别高效的邻居选择策略。在实际系统中各节点的上载性能差异较大, 有些高性能节点 (以太网用户) 可以提供很高的上载带宽, 而另外一些低性能节点 (ADSL用户) 则对系统贡献不大。在pull-push hybrid系统中, 为了使高性能节点充分发挥作用, 服务器应当优先考虑把视频流推送给这些节点。这些“超级节点”在拥有足够多的数据块后会利用其强大的上载带宽将数据块推送给更多的邻居节点。“超级节点”在网络中就好像“放大器”一样, 将收到的视频流复制多份供很多个低性能节点下载。充分利用“超级节点”的性能可以在很大程度上缓解服务器的压力, 从而减小系统对服务器性能的依赖。

图4中, “超级节点”A的上载带宽为1.5 Mb/s, 而视频流的速率为500 Kb/s。服务器先向节点A推送数据, A节点收到流后就可以同时给3个普通节点 (上传带宽256 Kb/s) 推送数据。A节点将上载性能发挥到最大, 在节省了服务器的带宽的同时, 又使得视频流在网络中更快地传播开来。

3.3 不同频道间的援助策略

在P2P直播系统中, 各个频道中用户数量的差异是巨大的。有些热门频道的即时观看人数可能会达到数万, 而另外一些频道中可能只有几个人。据统计, 在UUSee系统的795个频道中, 平均观看人数超过5 000的频道只占2%, 而观看人数少于100的频道约占12%, 而大部分 (约占51%) 频道的观看人数在500~3 000之间[3]。事实上, 在一些人数很少的频道中存在着一些高性能用户, 即前面提到的“超级节点”。在现有的P2P直播系统中, 这些“超级节点”的性能并没有被充分地利用起来。

在图5中, 某个频道中只有两个用户A、B, 而这两个用户都是“超级节点”, 拥有1.5 Kb/s的上载带宽。如果服务器直接将视频流推送给这两个节点, 那么这两个节点就不需要给任何节点提供上载。在这种情况下, A和B的带宽资源将会闲置。但事实上, 这两个节点的带宽也可以被充分地利用起来。虽然不需要为本频道中的用户上传数据 (除非有新用户加入) , 但A和B可以为其他频道提供服务, 尤其是那些低性能节点相对集中的频道。服务器可以将另一个视频流也推送给A、B, 然后再由A、B向那个频道中的节点推送视频流。这样, 既利用了A、B闲置的带宽, 又可以改善另一个频道的观看质量。

4结语

P2P直播系统主要依赖各个节点间的相互帮助, 而并不单纯依靠服务器的支持, 因此系统的拓扑结构可以有各种各样的变化。各种主流的商用系统都有自己的部署方案与核心技术, 在很多细节方面缺乏可以参考的、规范性的协议。 P2P视频直播在当前的网络技术中还是一个有待发展完善的技术领域, 进一步的发展需要研究人员、软件开发商以及政府相关部门的通力合作。

本文的创新点在于, 在分析了现有大规模P2P视频直播系统的优缺点后, 提出一些可以进一步提高观看质量, 节省服务器带宽的优化方案, 有效解决了现有系统中存在的一些结构性和技术性的问题。

摘要:为了改善P2P视频直播系统的性能, 介绍了P2P视频直播系统的相关知识, 对比了当前主流P2P视频直播系统的三种主要结构, 分析了三种结构各自的优缺点。针对现有大规模直播系统的不足, 提出了一些系统改进方案, 分别从节省服务器带宽、优化邻居选择策略、充分利用节点上载性能的角度对现有系统做了改进和优化。利用该改进建议, 直播节目的服务提供商能够进一步节省开支, 并提供更高质量的服务。

关键词:P2P视频直播系统,push系统,pull系统,pull-push混合系统

参考文献

[1]WU Chuan, LI Baochun, ZHAO Shuqiao.Diagnosing net-work-wide P2P live streaming inefficiencies[C]//IEEE2009 Proceedings of INFOCOM.Rio de Janeiro:IEEE, 2009:2731-2735.

[2]ZHANG Meng, ZHANG Qian, SUN Lifeng, et al.Under-standing the power of pull-based streaming protocol:can wedo better[J].IEEE Journal on Selected Areas in Communi-cations, 2007, 25 (9) :1678-1694.

[3]SHAMI Khaldoon, MAGONI Damien, CHANG Hyun-seok, et al.Impacts of peer characteristics on P2PTV net-works scalability[C]//IEEE 2009 Proceedings of INFO-COM.Rio de Janeiro:IEEE, 2009:2736-2740.

[4] SILVERSTON T, FOURMAUX O. Measuring P2P IPTV systems [C]// Proceedings of 17th International Workshop on NOSSDAV. [S.l.]: NOSSDAV, 2007: 115-121.

[5]HEI Xiao-jun, LIU Yong, KEITH W Ross.Inferring net-work-wide quality in P2P live streaming systems[J].IEEEJournal on Selected Areas in Communications, 2007, 25 (9) :1627-1639.

[6] TERPSTRA Wesley W, LENG Christof, LEHN Max, et al. Channel-based unidirectional stream protocol (CUSP) [C]// IEEE2010 Proceedings of INFOCOM. San Diego, CA: IEEE, 2010: 1-5.

[7]HEI Xiao-jun, LIANG Chao, LIU Yong, et al.A measure-ment study of large-scale P2P IPTV system[J].IEEETrans.on Multimedia, 2007, 9 (8) :1672-1687.

[8] REJAIE R, ORTEGE A. Pals: peer-to-peer adaptive layered streaming [EB/OL]. [2003-06-03]. http:// www.zdnetasia.com.

[9] PPlive Inc. PPlive [EB/OL]. [2007-04-20]. http://www.pplive.com.

基于信任管理的P2P系统模型 第8篇

P2P计算日益流行, 但由于缺乏合理的约束机制, 整个系统的可靠性和公平性无法得到保证。根据统计显示, Gnutella系统中有70%的结点没有提供任何资源共享, 而1%的结点提供的资源占整个网络所共享资源的37%, 同时大量用户上传无用或虚假资源, 资源安全性存在问题[1]。

本文将信任管理系统引入P2P系统, 通过搜集、分析网络中实体的信任信息, 指导实体间的协作决策, 实现与可信实体的协作, 并隔离不可信的实体, 从而提高资源共享的安全性和公平性。用户在信任管理系统中设置相应的策略和操作, 节点可以根据全局信任度的计算结果和本地策略自动决定是否进行资源的共享或下载, 该模型可提高P2P文件共享系统自组织性。

1相关工作

1.1信任管理系统

信任管理系统首先由Blaze等在Policy Maker系统[2]中提出, 它直接授权行为, 统一表示安全政策、证书以及信任关系, 具有灵活、通用、可靠的特点, 广泛应用于开放分布式应用的授权问题。从实现的角度, 信任管理系统类似查询引擎, 它接收请求R、证书集C、政策P作为输入, 返回支持或拒绝请求的建议Approve或Reject。其核心思想是, 通过制定本地信任策略、签发安全凭证以及严格的策略匹配验证机制来描述和管理网络实体之间的信任关系。信任管理的实现模型如图1所示。

REFEREE[3]是为解决Web浏览安全问题而开发的信任管理系统。虽然其设计目标比较单一, 但该系统可以较完整地实现信任管理模型所列出的各要素。

KeyNote信任管理系统[4]是目前被广泛引用的信任管理系统, 它是第二代信任管理系统, 它沿用了PolicyMaker的大部分思想和原则。其主要特点是设计了专门语言KeyNote, 该语言简练并功能强大, 同时和一致性检查算法紧密结合在一起。

1.2信任模型

P2Prep是基于投票的信任模型, 通过向拟交易节点附近广播查询请求获得信誉信息。但在实现上有一些安全考虑, 它假设了目标节点的邻居知道目标节点的行为底细, 但这种假设并不充分。

XRep信任模型针对文件共享型P2P网络 (如Gnutella) , 提出一种面向资源的信誉机制, 通过给每个文件资源对应一个摘要, 一个节点可以根据文件摘要辨认一个文件的正确性, 从而可以在不了解文件提供节点的信誉的情况下, 下载到正确的文件。它可以防止病毒文件的传播, 可以尽快散布稀缺资源。但只限于文件共享型网络。

P-Grid信任模型中每个节点对其它节点的评价数据不是存放在自己节点上, 而是存放在整个P2P网络中, 具体存放地点由P-Grid存储规则确定。但它只记录节点的负面评价, 而且没有量化信任值, 无法防止污蔑行为的发生[5]。

本文在总结上述信任管理模型的基础上, 提出了一种基于推荐的信任管理模型:RBTM。

2基于推荐的P2P系统信任管理模型RBTM

在P2P系统中, 各节点之间的资源共享可以看作是一种“交易”。将信任度定义为对于交易节点历史行为的综合评价, 这样构建了基于信任度的激励机制, 因为参与者总是倾向于和信任度较好的参与者进行交易, 信任度较好的参与者往往拥有较多的交易机会, 从而也拥有了较好的市场地位。为了更多地从市场中获利, 参与者总是希望能够获得尽可能高的信任度评价。同时, 节点的信任度高, 也就意味着它的资源内容是安全的, 资源共享的安全性就得到了保证。在社会网络中, 信任关系是人际关系的核心, 个体间的信任度往往取决于其他个体的推荐, 同时, 作为推荐者的可信度也决定其推荐个体的可信度[6]。

实际上, 这种互相依赖的信任关系组成了一个信任网络。在这样的信任网络中, 任何个体的可信度都不是绝对可靠的, 但可以作为其他个体决定其交互行为的依据。基于以上方法, 本论文提出了一种基于推荐的全局信任管理模型RBTM。

2.1数学表示

定义1Tij是节点i对节点j的本地信任值, 定义如下:

Τij=SatijΝij (1)

这里, Nijij总的交易次数, Satij是在i看来满意的交易次数。定义Unsatij表示不满意的交易次数。

定义2Rij表示ij的推荐度。定义如下:

Rij=Satij-UnsatijkSatkj (2)

iSatij=0Satij-Unsatij<0时, Rij=0。

定义3 每个对其他节点提供的推荐度, 都会乘以一个权重因子βk, γl。权重因子反映了对其他节点能够给出有效和可靠推荐的信任程度。权重因子取决于积极性 (Pos) 和合作性 (Cop) 。βk, γl的计算公式如下:

βi=aPos+bCop (3)

积极性反映了一个节点在过去的一个时间间隔T1的活跃性。积极性是节点在过去T1时间内参与的交互数与其它节点参与的交互数的比值。合作性则是节点响应的交互数与被请求的交互总数的比值, 反映了节点的合作程度。

定义4 定义Cij是节点ij的全局信任度。

Cij=αΤij+βΚ{βkRkjΤkj}|Κ|+γL{γlRljΤlj}|L| (4)

其中, K代表同一超节点内和j交易过的节点数目, L代表同一超节点外部和j交易过的节点数目。

公式 (4) 的第一部分代表i节点本身对j节点的信任值, 第二部分代表同一个超节点内的兴趣小组中节点推荐的信任值, 第三部分代表同一超节点外部和j交易过的节点推荐的信任值。一般, 每个节点总是比较信任自己对其他节点的信任值, 所以α最大, 同理, 超节点内部的节点的可信度通常比外部的要高, 所以β>γ

2.2模型实现

信任管理引擎是信任管理系统的核心。而设计信任管理引擎需要涉及以下几个主要问题:

(1) 描述和表达安全策略和安全凭证;

(2) 设计策略一致性证明验证算法;

(3) 划分信任管理引擎和应用系统之间的职能。

为实现信任管理引擎, RBTM借鉴了Keynote信任管理系统中的基本模式, 采用分布式的信任管理系统, 在模型中实现以下相应的模块:

主体:P2P系统中的peer, 由唯一的ID来标示。

操作:根据节点全局信任度来决定是否进行某次“交易”。

策略:定义某种计算用户信任度的具体策略, 即将策略设置为公式4, 用于计算交易节点的全局信任度。

凭证:记录该节点对于其他节点的本地信任值和推荐度等信息。

RBTM模型是一个全局信任模型, 它采用类似Pastry的构建在层叠网上的结构化且带有超节点的体系架构。超节点通常由性能较高的机器担当, 同一个超节点下的子网络中的节点对信息资源有相同的兴趣, 这样就构建了一个基于局部兴趣的P2P模型。节点的兴趣可以通过策略来进行描述, 也就是说每个节点通过策略来订阅资源。通过订阅可以实现资源的自动发布和下载。当一个节点发布资源时, 它将向超节点上的代理程序发送一个事件通知, 超节点向该局部兴趣小组的节点发送广播。资源订阅者接收到信息, 查看相应的策略, 决定是否进行交易。系统模型如图2所示。

同一个超节点内的两个节点ij要进行“交易”时, 整个系统的信任机制开始工作。该系统中的每个节点对应一个不易变动的唯一标志符 (ID) , 且每个节点维护对其他的节点的信任评价信息多元组ID (Recommend, Trustiness, Interests, ) , 其中ID表示网络中的一个节点的标识, Recommend表示对于节点ID的推荐度, 亦即Rij, 而Trustiness表示该节点提供本地信任值Tij

整个系统的工作过程如下:

(1) 某个节点i欲申请资源, 根据DHT算法进行检索, 发现节点k和节点j上存有所需资源。查询网络中其他节点 (lm) 分别对于kj的推荐信息, 通过RequestInfo () 实现。如果某个节点没有和kj的交互, 则忽略该请求, 否则, 我们称这类节点为Recommend节点R, R将RecomdInfo (R, j) 值推荐度Rij和本地信任值Tij返回给i。 (2) 当i将收集所有返回信息, 信任管理系统就依据本地策略库中定义的策略, 进行计算新的信任度全局信任度Cij。当计算出Cij后, 与自己预设的交易可靠性最低值Cmin比较, 如果Cij>Cmin, 表示j足够可信, 交易可以进行, 否则, 不执行此次交易。这部分通过信任管理系统的操作部分来完成。

(3) 如果交易得以进行, 那信誉机制还不算结束。当ij交易之后, i就得到对j的新的本地信任值Tij, i节点还要修改其他节点KRkj, 调整推荐度Rkj。例如, 查询开始之前i节点凭证中记录了对于j的信任度信息多元组 (j, 50%, 50%, ) , 在交易之后, i更新后的信息为 (j, 55%, 60%, ) 。

(4) 进行奖惩。若j节点提供了好服务, 这一事实会被传播至i节点的邻居及同群节点;若j节点提供了差服务, 针对它的投诉信息会以“泛洪机制”被传播。

2.3信任模型伪码算法

以下算法描述了节点i查找到资源在节点j上后, 计算节点j的全局信任度、进行判断并更新的过程。算法的输入是j节点的ID。如果交易得以进行, 输出True, 否则, 输出False。

Algorithm :TrustConstruction_NodeJ

Input: Node J ID j

Output: True or False

For each node k do

RequestInfo (k, j) //所有节点发起查询

If hasDeal (k, j)

Return Rkj, Tkj And save it to array A //查询Rjj Tkj

end IF

end For

For each value in array A Compute Cij //计算全局信任度

IF Cij>Cmin

Update (i, j) //更新本地信任值

For each node k do

Update (k, j) //信任度传播

end For

Download resource, hasDeal (i, j) =True //进行交易

Return True

end IF

Else

Update (k, j) //“投诉”信息传播

Return False

3结束语

本论文针对P2P系统中的安全性和公平性问题, 将信任管理系统引入P2P系统中, 在总结现有信任模型的基础上, 提出了一种基于推荐的信任模型RBTM, 并给出了严格的数学表示。通过信任管理系统, 实现了计算机的资源共享的安全性和自主性。

参考文献

[1]Adar E, Huberman B A. (2000) .Free-riding on Gnutella[M].First Monday, 5 (10) .

[2]Blaze M, Feigenbaum J, Lacy J.Decentralized Trust Managemen[C].In Proc.of17th Symposium on Security and Privacy, IEEE Computer Society Press, Los Alamitos, 1996:164-173.

[3]Chu YH, FeigenbaumJ, LaMacchia B, et al.REFEREE:Trust Management forWeb Applications[J].In World Wide Web Journal, 1997, 2:127-139.

[4]The KeyNote Trust-Management System Version2, RFC2704.http://www.faqs.org/rfcs/rfc2704.html.

[5]黄全能, 宋佳兴, 等.对等网络信誉机制研究综述[J].小型微型计算机系统, 2005, 27 (7) :1179-1180.

P2P网络中流媒体直播系统设计 第9篇

关键词:P2P,流媒体,直播

随着网络技术的发展,网络多媒体服务得到广泛应用。传统的流媒体系统几乎都是基于客户端/服务器模式,但由于服务器性能及服务器端的带宽资源有限,严重阻碍了流媒体服务质量的提高。P2P技术作为一种新型的网络技术改变了互联网上以服务器为中心的传输模式,使网络上的每一台计算机都能够互为服务器/客户端。若将流媒体分段,并使其分段在P2P网络上传播,利用P2P网络的特点,就可以使网络上任何一台机器变成这些流媒体段的服务器,承担转发的任务,从根本上解决了服务器端网络带宽瓶颈问题。因此,利用P2P技术来实现流媒体直播,成为目前国内外学者的研究热门。

1 流媒体直播系统的工作过程

基于P2P网络中的流媒体直播系统的过程是:流媒体服务器S存储着全部流媒体文件,首先,服务器S将媒体文件按照一定的流媒体文件格式分割成很多个固定大小的媒体数据包,然后发送到自身的缓存区中,为前来请求的客户端提供服务。当一个新的客户端节点C加入P2P网络时,它首先会向服务器S发出连接请求,若S有足够的剩余带宽资源,则响应C节点的请求,与C建立起连接,为C提供能播放的媒体数据包;假如S没有剩余带宽资源,则S会按照某种策略选择一个与之直接相连的子节点,子节点再根据自己的剩余带宽资源状况判断是否为这个新的客户端节点提供服务,以此类推,直到找到一个能为自己服务的节点为止(假设节点C6可为新节点C提供服务)。此时,服务器S再将节点C的请求命令包和请求的媒体数据包转发给C6节点。至此,节点C6和节点C就可以建立起连接,双方进行通信,在此基础上伙伴关系也会相应的建立起来。

节点C按照自己请求的数据接收来自于节点C6中相应的媒体数据包,对C6中不存在的数据包,节点C会继续寻找其它的伙伴,直到接收到能够播放的所需的全部媒体数据包为止。然后,节点C再将收到的媒体数据包重新进行过滤、排序和封装,组合成能实时播放的节目流。

上述过程中,节点C在接收到来自于其它伙伴节点的媒体数据包的同时,也可为其它的伙伴节点提供相应的服务。这就相当于每个节点既是服务器,也是客户端。显然,此流媒体直播系统可以看作是多个服务器同时为一个客户端提供服务,这样,平推到每个服务器上的负担就会减轻,客户端得到的服务质量相应的提高。

2 流媒体直播系统设计设计方案

流媒体直播系统方案中,客户端不仅可以从服务器那里直接取得数据,还可以从彼此相连的其他客户端处获取流媒体数据。因此,只需要系统中的部分客户端从服务器获取流媒体数据进行播放,其余的客户端通过彼此建立的连接便可以实现播放了。设计的流媒体直播系统如图1所示。

2.1 服务器设计

服务端程序运行在具有独立公网IP地址的服务器上。和每个在线的用户都保持一个TCP连接。提供的主要功能如下。

1)将非压缩的音视频数据源编码成流媒体支持的格式数据,比如ASF文件格式、RM文件格式、Quick Time文件格式等。

2)为了保证视频播放的时延和传输的效率,必须将数据量很大的流媒体数据分割成合适大小数据块Block,然后把Block传送给媒体数据缓冲区。

3)存储流媒体数据包,并且定时更新数据缓冲区,为前来请求的客户端提供服务。

4)监听和管理客户端数据请求,建立TCP连接,并开放线程,发送相应的媒体数据。

5)响应节点请求并更新节点列表,这包括处理新节点的加入、退出、隔离,为节点随机选择伙伴节点。

2.2 客户端设计

客户端程序运行在用户的终端机器上,响应用户的命令。具体需要提供的功能如下。

1)负责响应客户端其他节点请求并更新节点列表,维护P2P网络。

2)负责伙伴节点的加入与退出,更新自己的伙伴列表,建立本节点与伙伴节点的连接。

3)负责接收客户端伙伴管理模块类的信息,开放流媒体数据传输线程,控制并撤销线程。

4)负责接收服务器或伙伴节点传输来的流媒体数据,保存、更新本节点的流媒体数据。

5)负责接收流媒体数据、播放流媒体数据,实现流媒体文件的播放。

6)检测目前的网络动态状况,用于Qo S控制。

3 流媒体直播系统中的关键技术

要保证P2P网络中流媒体直播系统能正常的运行,必须解决以下几个关键问题。

3.1 节点管理

节点管理是P2P网络的基础,成熟稳定的流媒体直播系统需要完善稳定的节点管理体系。

1)节点的加入

新节点n试图加入时,首先向服务器S请求服务,如果服务器有足够的资源,则服务器向节点n提供服务,否则服务器S把n的请求转发给它的某个直接的子节点X,X根据自己的资源情况判断是否给n提供服务,以此类推,直到n找到一个父节点,转发有如下策略:

(1)随机选择:X从它的子节点中随机选择一个节点T作为目标节点,把n的请求发给T。

(2)Round-Robin:X维护它所有子节点的队列,把新节点的请求依次转发给各个子节点。

(3)根据物理位置选择:新节点n发出加入请求时附带本身的路由信息,X根据n的路由信息进行转发。

(4)根据带宽选择:新节点n发出加入请求时附带本身的带宽信息,如果n的带宽比X小,则用上述策略加入,否则,X把自己从父节点P断开,把n重定向给P,然后把自己重定向给n。

2)节点正常退出

当一个节点退出时,首先会向服务器节点列表中的节点发送一个退出请求,由于该节点的退出,可能会影响到其邻居节点列表中的节点,所以,要将邻居节点列表中的节点重定向到服务器节点列表中的节点或服务器。同时,收到退出请求的节点会简单的从自己的节点列表中删除要退出的节点。

3)节点的非正常中断检测

由于某种原因,节点可能在任意时刻在没有发送任何消息的情况下突然中断离开。系统为了检测到这种状况,每个节点需要周期性为其邻居节点列表中的节点发送消息,以说明自己能够正常地工作。如果邻居节点列表中的节点在一段时间内并没有收到某节点的消息,则认为该节点非正常的退出,同时将该节点从节点列表中删除。

4)重定向机制

重定向是节点管理中有效改变拓扑结构的方法,它通过媒体命令包中的控制部分传递消息,找到具有剩余带宽资源的节点建立数据传输。具体重定向机制如下:

(1)假设节点P没有足够的剩余带宽资源为节点C提供服务,首先节点P在其所维护的节点列表中寻找具有足够带宽资源,并能为节点C提供服务的节点,设为节点D,然后节点P通过控制消息告诉节点C,节点D可以提供它所需要的服务。

(2)节点C在接到重定向的消息后,首先关闭与节点P的数据传输会话,然后再跟节点D建立相同的媒体数据流传输会话。

(3)节点C与节点D建立媒体数据流传输会话后,开始进行媒体数据的传输,至此,重定向过程完成。

3.2 流媒体数据传输

1)传输协议

RTP/RTCP是用于网络流媒体实时传输的协议。RTP(实时传输协议)是一种提供端对端的实时传输协议,RTCP(实时传输控制协议)用于统计、管理和控制RTP的数据包的传输。RTP/RTCP为流媒体的传输提供了网络承载平台,因此,在本系统采用RTP/RTCP作为传输协议。

在服务器端,通过Direct Show的源过滤器从计算机的视、音频采集设备中读取数据,然后通过变换过滤器把数据压缩编码成ASF格式,然后再封装到RTP包,通过UDP发送给与自己直接相连接的客户端。

在客户端,客户接收到RTP数据包,从其中把流媒体数据提取出来,然后缓存到自己的缓存区,同时,还要把数据转发给自己的子节点。子节点接收到数据后也继续缓存和转发,依此类推直到所有的子节点都接收到父节点发来的流媒体数据。客户端通过源过滤器从自己的缓存区中读取流媒体数据,再通过表现过滤器把流媒体数据送往声卡和显卡播放。

2)传输策略

数据传输策略管理是整个流媒体直播系统的核心和关键,流媒体应用传输的数据具有优先级关系,当前正在播放和即将播放的数据具有较高的优先级,而一段时间后才会播放的数据则具有较低的优先级,在数据传输的过程中,具有较高优先级的数据具有优先查询权和传输权,并且为了保证实时性,优先级高的数据具有一定的传输冗余。

在基于P2P的流媒体系统中,当要直播放某一媒体文件时,它首先调用P2P网络的资源服务发现可能的资源供应节点,并通过一定的策略选择实际的资源供应节点,这些节点提供的出口带宽能够满足该媒体文件的播放需求,各供应节点按照一定的策略组织这些节点进行同步传输,将媒体文件并行传输到请求节点上。当流媒体系统播放开始或者掉线后重新播放时,存在一个缓冲延迟,在现有的系统中,为了保证播放的流畅性,延迟一般在2分钟以上,延迟高一方面是分发和定位协议的原因,另一方面是由于没有做传输优化。在流媒体数据传输过程中,根据当前的延迟情况,需要动态调整传输策略。

3.3 流媒体处理技术

流媒体数据的采集和播放采用了Direct Show开发包。Direct Show是微软公司提供的一套在Windows平台上进行流媒体处理的开发包,与Direct X开发包一起发布。Direct Show为多媒体流的捕捉和回放提供了强有力的支持。运用Direct Show可以很方便地从支持WDM驱动模型的采集卡上捕获数据,并且进行相应的后期处理乃至存储到文件中。它广泛地支持各种媒体格式,包括ASF MPEG,AVI,MP3,WAVE等等,使得多媒体数据的回放变得容易。另外,Direct Show还集成了Direct X其它部分(比如Direct Draw Direct Sound)的技术,直接支持DVD的播放、视频的非线性编辑以及与数字摄像机的数据交换。Direct Show提供的是一种开放式的开发环境,可以根据自己的需要定制自己的组件。

本系统的服务器端和客户端采用Direct Show开发。Direct Show使用一种过滤图表模型来管理整个数据流的处理过程。过滤器按功能分为三类:源过滤器,变换过滤器和表现过滤器。源顾虑器负责获得数据,可以从文件或外设中提取音视频数据;变换过滤器负责数据格式的变换,表现过滤器负责数据的最终去处,将数据送到音视频接口设备或以文件的形式保存。

3.4 缓存管理

流媒体文件在传输时候要先分解成许多数据包,各个包所选择的路由可能不尽相同,因此各个数据包到达客户端的时间延迟不等;再加上P2P网络的动态性,要保证流媒体数据的连续性和稳定性,则需要流媒体系统中的每个节点都具有一定的流媒体数据缓冲区,即采用缓存机制来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出。

在本系统设计中,采用一种环式缓存区,把节点获得的流媒体数据缓存到本地,把缓存区分为播放区和回收区两个部分。缓冲区采用按时间分块的策略:将固定时间(比如1秒钟)接收到的数据流划分为一块。整个缓存区分为60块,每个缓存块存放1秒的数据,即整个缓存区可以存放60秒的数据。其中播放区分为30个缓存块,每个缓存块缓存一秒钟的流媒体数据片段。缓存区中的数据按照等时间间隔的数据块存放。

回收区的设计和播放区的设计一样,只是回收区中存放的是一些刚刚播放后的数据,以防止刚刚向下级节点发出有数据的通知但数据立刻被淘汰的情况发生。

3.5 安全控制

网络安全是P2P流媒体直播系统的基本要求,一方面要防止非法用户的入侵,另一方面要防止点对点的病毒传播,侵入未共享的文件资源,侵犯隐私权。

在P2P流媒体直播系统内部,采用用户分级授权体系,限制用户的系统资源访问,阻止非法访问。当普通节点向上一级发出直播的请求时,同时将用户权限证明也打在请求的包里发出去,这样上一级节点收到请求后就可以判断发出直播请求的是客户还是非法入侵。如果客户终端发出的用户权限证明错误次数超过设定的次数(比如3次),则把该客户的端口给暂时封起来,以免造成恶劣的影响。在直播过程中,为了避免病毒传播情况的出现,网络监测节点MSG在发送的数据包中检测是否有病毒存在,网络监测节点MSG对直播用户和发送端之间传送的数据包每隔一段时间进行检测,一旦在发送的数据包中发现携带病毒,立刻停止两个端之间的传送,同时要马上向系统节点进行报告,把发送病毒的节点从网络中动态删除或者封掉其端口。再向已经接收到部分数据包的请求直播的节点发送下载失败的提示信息,并提示发现病毒,建议用户把已经下载部分删除。用户节点继续发起直播请求,上一级节点重新为其寻找路由。

4 结束语

宽带的普及和通信网络技术的迅速发展,网络多媒体服务得到广泛应用,视频直播服务作为其中的重要组成部分,具有广阔的应用前景。然而由于流媒体对流量带宽的资源需求很大,解决服务器端流量带宽瓶颈成为促进流媒体应用发展的首要问题。P2P技术的发展,为解决流媒体服务器的瓶颈问题提供了新的途径,其充分利用每个节点的空闲资源分担服务器负载,并且具有良好的扩展性,能支持大数量级的用户同时在线。

参考文献

[1]黄泽,唐凤仙.P2P流媒体系统概述[J].河池学院学报,2008(2).

[2]王立鹏,陆际光.浅谈流媒体技术及其基于P2P的应用[J].电脑知识与技术,2007(10).

[3]王键.基于p2p的网络直播系统的设计与实现[J].电脑知识与技术,2007(16).

一种P2P直播系统网络模型研究 第10篇

基于P2P的流媒体服务技术策略利用客户端计算机空闲的资源提供部分服务, 通过让客户机缓存一部分信息, 充当服务器的部分功能, 使网络中的资源和服务分散化。P2P的网络架构在进行媒体通信时不存在中心节点, 节点 (Peer) 之间是对等的, 即每一对节点可以进行对等的通信。一个对等节点同时充当服务器的角色和客户端的角色, 这使得P2P系统内部实现自组织的资源共享, 有效地降低了应用成本, 提高了系统资源的整体效率。P2P可以用来进行流媒体通信 (如话音、视频或即时消息) , 也可以传送控制信令、管理信息和其它数据文件。其具体的应用包括NapsterMP3音乐文件搜索与共享、BitTorrent多点文件下载、PPLive直播、Skype VoIP话音通信、QVOD和迅雷等。对P2P流媒体研究的关键技术主要集中在网络拓扑、数据传输和调度以及网络监控等方面。本文在P2P网络主流模型基础上提出了一种基于可信节点的半结构化P2P网络模型, 并对新模型实现方式和重要过程进行详细描述, 最后得出结论。

1 P2P网络主流模型概述

(1) 集中式P2P网络模型。

媒体资源存储在各个对等节点中。节点登录中央服务器后, 节点根据网络流量和延迟等信息选择合适的邻居节点建立直接连接, 进行数据传输, 数据传输不需要经过中央服务器。这种网络架构的资源搜索效率较高, 但容易遭受直接攻击。

(2) 分布式P2P网络模型。

采用无中心结构, 每个节点维护一个邻居列表。使用洪泛式 (Flooding) 的资源查询机制。发起资源查询的节点向所有邻居节点发送消息, 收到消息的节点除了进行本地查询, 即看自己有没有所查询资源外, 还把查询进一步转发给自己的所有邻居节点。邻居节点收到消息后, 重复进行本地查询和消息广播。这种模型具有较好的扩展性, 也不存在单故障点, 但其查询机制效率较低, 而且也不能保证搜索到的资源的有效性, 同时每次查询都要产生大量的转发消息, 容易形成消息泛滥, 增加了网络的负担。

(3) 结构化P2P网络模型。

结构化P2P模型采用纯分布式的消息传递机制, 及根据关键字进行查找的定位服务。主要是采用分布式哈希表 (DHT) 技术进行资源定位。DHT首先将网络中的每一个节点分配虚拟地址 (VID) , 同时用一个关键字 (KEY) 来表示其可提供的共享内容。网络中节点以哈希值相邻。发布信息的时候就把 (KEY, VID) 二元组发布到具有和H (KEY) 相近地址的节点上去, 其中VID指出了文档的存储位置。资源定位的时候, 就可以快速根据H (KEY) 到相近的节点上获取二元组 (KEY, VID) , 从而获得文档的存储位置。不同的DHT算法决定了不同的P2P网络的逻辑拓扑。这种模型比较适用于节点能力相当的小规模网络。

(4) 混合式P2P网络模型。

混合式P2P网络结合了集中式和分布式P2P的优点, 在分布式模式的基础上将用户节点分为普通节点、搜索节点和索引节点三类。普通节点不具有任何特殊功能。搜索节点处理搜索请求, 从它们的“父”节点中搜索媒体资源列表。索引节点保存可以利用的搜索节点信息, 并搜集状态 (焦点内容、空闲机时、存储空间、IP地址等) 信息, 维护网络结构。

一个节点即可以同时具有搜索节点和索引节点的身份。用户节点可以选择n (n3) 个搜索节点作为它的“父”节点。如果“父”节点接受该用户节点作为它的“子”节点, 那么该用户节点就可以提交其所要共享的类表给它的“父”节点。搜索节点管理所属用户的“父”节点列表。用户节点通过索引节点获得搜索信息后, 用户节点就与获得的搜索节点相连。当其数目未达m (可考虑m=300) 时, 就继续遍历其它搜索节点, 否则中止此过程。这种混合式网络架构可有效地消除分布式结构中使用的洪泛算法带来的网络拥塞, 也提高了资源搜索效率, 并且索引节点的引入也能在一定程度上提高整个网络的负载平衡。

2 基于可信节点的半结构化P2P网络模型

2.1 SSPM的设计思想与目的

SSPM的主要设计思想是结合结构化网络模型中的对相邻节点有序组织和混合式网络模型的快速搜索的优点提出半结构化的网络模型。该模型的核心是引入可信节点 (Trusted Node) , 通过优化策略选取可信节点集合取代混合模型中的搜索节点集。由于可信节点良好的时间恒定性和性能稳定性, 使得该新型模型在实际网络环境下能达到较优的性能。

2.2 SSPM中可信节点的构造和选择策略

SSPM模型中主要有两大类节点, 即可信节点和客户节点, 如图1所示。客户节点是所有登录媒体服务器, 请求视频相应的一般节点。一个可信节点定义为性能“优良”和“表现”良好的客户节点。性能优良是指能提供较充足的硬件资源充当服务器。表现良好是指登录后能滞留较长的一段时间。N个可信节点构成K个视频片段上的稳定服务器群。如果第n个可信节点属于第k个视频片段群, 那么它在一段时间内稳定地为第k个群的其他可信节点和客户节点提供下载服务, 而它自己可能在观看第k'个视频段。第k个视频片段群上的可信节点数目至少应大于1。

可信节点的选择应满足以下策略: (1) 在一段时间T内频繁访问视频服务器; (2) 在时间片t{t|P (t|T) >=Y}内的滞留时间超过某一阈值 (如:Y取80%) ; (3) 较优良的路由, 即该路由路径上有较宽的网络带宽; (4) 较大的可用磁盘空间; (5) 较快的CPU时钟频率和较多的空闲机时; (6) 较大的内存空间; (7) 已经存储了较多的内容信息。

登录服务器保留节点的历史信息, 还应包括IP地址等。当节点登录后, 根据以上的选择策略选出可信节点, 然后分配到某个视频片段群中进行服务。

2.3 SSPM模型设计

SSPM模型包含可信节点和客户节点两类节点, 它们和视频/登录服务器的关系如图1所示。可信节点 (PtA, PtB, PtC) 和客户节点 (PcA, PcB, PcC) 都需要登录视频服务器LS, 然后由服务器从历史记录中选出可信节点作为某个视频段上服务群 (Chunk) 中的一员。考虑到可信节点的良好表现, 可假定在t=0时刻有较多的可信节点加入, 因此能很快建立稳定的视频服务群。一种极端的情形是服务器中尚未建立历史记录, 此时可选择任意客户节点暂时取代可信节点。表现良好的客户节点可正式成为可信节点。建立的视频服务群可作为种子向其它客户节点提供服务。若可信节点退出, 则有两种考虑策略:一种是在视频服务群的可信节点数目未下降到某一阈值时, 系统不改变其拓扑结构;另一种情况是若可信节点数目下降至某一阈值, 则可选择客户节点成为暂时的可信节点以求保证服务质量。可信节点和客户节点退出时需要向服务器注销, 服务器可根据节点的此次行为更新其历史记录。

图2表示了某个视频片段群上的可信节点之间的关系。每个片段k上的可信节点构成的集合j可作为一个服务队列。因为是从服务器列表中按历史行为/记录选出, 所以在一定时间 (如5min) 内可看作是稳定的, 即不离开系统。可信节点切换视频片段的行为是随机的且相互独立, 这种行为不影响网络拓扑。如果可信节点切换到视频片段j', 那么它被当做客户节点由j'内的可信节点群提供下载视频服务。

图3给出了一个视频段k上的视频群j的实例。其中PtA、PtB、PtC等节点为可信节点构成的服务群, 向客户节点PCA、PCB、PCC提供服务, 且在一定时间内服务器群的网络拓扑保持稳定。

图4表示SSPM模型更常见的情形。例如, 在视频Channal k上存在两个服务群chunk j和chunk j'。其中可信节点PtA既在j的服务队列中, 也在j'的服务队列中。频道channal k'为另一个视频片段, 其中可信节点PtB'既在channal k的j'服务队列中, 也在channal k'的j'服务队列中。

2.4 SSPM模型分析

SSPM模型在组织服务器群时采用由服务器根据优化策略选出的可信节点, 在很大程度上避免了相邻节点的无序组织状态。把可信节点分配到哪个服务群的策略也由服务器控制, 且每个视频服务群的可信节点数目相对稳定, 这样对观看各个视频段的所有客户都能得到较为公平的服务, 特别避免了观众数量较少的视频片段的不流畅。另外, 在网络规模相当大的情况下, 可引入混合模型中的索引节点, 让索引节点具有服务器的执行选择策略功能和分配可信节点的功能, 并同时执行搜索功能, 这样可有效避免由于网络规模过大而产生的对登录节点而言较长的响应时间。

3 结语

本文主要在研究P2P直播系统网络模型的基础上, 结合结构化网络模型中的对相邻节点有序组织和混合式网络模型的快速搜索的优点, 提出了一种基于可信节点的半结构化的网络模型。由于可信节点良好的时间恒定性和性能稳定性, 使得该新型模型在实际网络环境下能达到较优的性能。下一步的工作是对SSPM建立定量分析模型进行详细分析, 并在此基础上进行仿真实验研究。

参考文献

[1]王艳丽, 鲜继清, 白洁.基于P2P的流媒体技术[J].计算机应用, 2005 (6) .

[2]杨戈, 廖建新, 朱晓民, 等.流媒体分发系统关键技术综述[J].电子学报, 2009 (1) .

[3]ZHANG LIANG, ZOU FU-TAI, MA FAN-YUAN.A survey and-prospects of information retrieval on the peer-to-peer networks[J].Computer Science, 2004 (4) .

[4]ZHANG M, ZHAO L, TANG J, et al.Large-scale live media streaming over peer-to-peer networks through global internet[C]∥Proceedings of ACM International Works hop on Advances in Peer-to-Peer Multimedia Streaming.Hilton:P2PMMS, 2005.

[5]HEEFEDA M, HABIB A, BOTEV B, et al.Promise:peer-to-peer media streaming using collectcast[R].Technical Repor t, Purdue University, 2003.

[6]CASTRO M, DRUSCHEL P, KERMARREC A M, et al.Split-Stream:high-bandwidth content distribution in cooperative environ-ments[C]∥Proceedings of International Works hop on Peer-to-Peer Systems.Berkeley:IPTPS, 2003.

[7]B T LOO, R HUEBSCH, I STOICA, et al.The Case for a Hyrid P2PSearch Infrastructure.In IPTP2004.

[8]吴兆福, 董文永.P2P网络搜索技术研究[J].武汉理工大学学报:信息与管理工程版, 2007 (6) .

[9]PIATEK M, KRISHNAMURTHY A.Contracts:practical contri-bution incentives for P2Plive streaming[C]∥Proceedings of USE-NIX Conference on Networked Systems Design and Implementa-tion.San Jose:NSDI, 2010.

P2P系统论文 第11篇

关键词:P2P;借贷系统;企业内部;信用评价模型;风险机制

中图分类号:TP183

1 P2P借贷系统的信用评价体系与风险机制

所谓P2P借贷系统的信用评价体系,是指个人在初次进入系统时按照个人资料进行判定所得的最初信用认证,以及交易双方在一笔交易完成后,在评价有效期内,根据本次交易的情况对交易对象进行相互评价,形成信用的信息反馈,并将一个用户得到的所有评价按一定方式集结为该用户的信用度和信用记录,用以反映该用户的信用状况,供其他用户作交易决策参考。而相应的风险机制,则是系统为了避免产生借款拖欠或者其他人为与非人为原因造成坏账率而采取的措施和运营方式。

1.1 现有的P2P信用评价模型与风险机制

1.1.1 信用评价模型

拍拍贷的信用评价体系会根据借款人提供的资料将借款人分为AA、A、B、C、D、E、HR七个等级,信用等级的分数同时包括网上得分和网下得分,网上得分一般为认证得分。网下得分是根据用户提交的其他信息来确定的,包括年龄、学历、工作、收入等各个因素。

1.1.2 风险机制

拍拍贷根据借款人的真实身份、银行存款、动产及不动产等信息对借款人进行信用评级。与此同时,拍拍贷携手身份网并基于“全国公民身份信息系统(NCIIS)”来推出权威的身份认证方式。

1.2 P2P信用体系与风险机制存在的问题

1.2.1 缺少相关法律规定,从而缺乏监管

由于缺乏相关法律规定,P2P网络借贷业务无法被明确的界定,从而缺少监管,目前仍无法确定到底由银监、工商、通信、公安、哪个部门监管或协管。

1.2.2 贷款者面临坏账风险

目前贷款者在P2P网络借贷平台上进行投资,面临两类风险:一是平台运营风险,二是借款者不按时还款及恶意拖欠造成的坏账风险。

1.2.3 平台信用风险及个人信用风险

(1)借贷平台信用风险。作为新兴行业,进入门槛低,注册没有资本金要求,不少缺乏实力及运作经验的人可以大量开办。(2)借款人信用风险。中国个人征信体系不完善所带来的风险

1.2.4 网络安全风险

(1)用户数据泄露,个人资料泄露会给用户带来重大损失。(2)平台账户被不法者利用。平台本身疏于自律,或内部控制程序失效,导致不法人员捏造借款信息出现非法集资的情形。

2 用户群局限于企业团内部的P2P借贷的信用评价模型与风险机制

2.1 信用评价模型

2.1.1 初次注册用户信用评分(信用认证)

首先对于P2P的借贷系统的注册,由于系统的客户人群定位局限于企业团内部,故人员的具体详细信息在后台的数据库中均存在。从而无需像一般借入申请一样需要前往征信中心,获取个人信用报告,有效的避免了冗杂的借款流程。当注册时,系统直接从数据库端进行信息查询,数据库中只有存在人物信息,方可允许进行注册,否则拒绝注册。注册成功之后,系统通过对于有无住房、有无抵押、个人收入、工作年限、婚姻情况、职位性质、户籍情况、文化程度、年龄等方面进行相关计算给出对个人的信用认证,以及初次评分。接着,由同时调出的存在数据库中的个人信息档案,系统进行后台打分。由得出的分数以及企业分数的折算比加成为个人的初始借款信用评分。企业与个人信用所得评分进行加成之后为个人初始借款评分,即初次注册用户的借款信用评分,供借出人进行参考。在注册时,系统直接可以获得用户的工资卡信息,且用户提出借款申请时需要授权系统在必要时可以直接从用户工资卡中提取相应金额,来防止用户而已拖欠还款,而进行相应的强制手段。

2.1.2 用户进行借款操作的评分标准

对于用户的不同还款行为给予相应的奖励与惩罚。

每一次成功的交易,以用户还清所有的借款为准。系统采用分散投标方法,即每一次借款均拆成多份进行投标,从而降低风险。

2.1.3 用户进行借出操作的评分标准

对于作为出借人,根据投标行为进行相应加分,分数主要反应的是用户作为出借人的投标表现,在需要借款时,也具有一定的个人信用评判价值。

2.2 风险机制

2.2.1 自己治理,自己监管

作为企业团内部的P2P借贷系统,对于特定人群,整个系统的后台操纵都是企业团内部人员,比较公正。是一款相当纯净的P2P借贷系统,极大的降低了运营风险,且由于数据量相比其他借贷系统要小的多,在整体维护方面要轻松的多。由于操纵系统以及管理的权力交由整个企业团,故而在借贷过程中,沉淀下来的资金由于受到各加盟商的监管,固然不会挪用此部分资金。

2.2.2 极大降低坏账风险

对于个人风险方面,如若出现恶意拖欠,在申请借款流程的流程中,有一项必要的协议:允许系统直接调用工资信息。同意之后方可申请借款成功。30天未还款,则直接系统判定为由系统直接通过强制手段从用户工资渠道直接扣除等额工资,弥补没有还清的金额。

2.2.3 平台信用风险和个人信用风险

此款系统直接由企业团进行运营,严格意义上来讲虽然属于第三方,但是运营方与借贷双方有着直接的附属关系,而且由各加盟商进行监管和协管,因此实际运营情况对所有加盟商以及所有借贷人员来说都相当透明,更不存在运营方携款而逃等诈骗现象。相比于还不完善健全的国内的征信体系,以及相当大数据量的全民信息,本系统基于的个人数据库仅仅为企业团内部职工人员的信息,且信息充足,偿还能力透明,不会出现虚假信息注册。

2.2.4 网络信息安全

运营方为企业团内部,与借贷双方都有直接的附属关系,基本可以视为内部的交易,且个人数据直接存于企业团内部的数据库中,本身只是调用,也并非个人提供,也就不存在个人信息遭到透露的潜在隐患。保密技术遭破解即是企业后台的数据库遭攻击,已然与系统不存在直接关系。

参考文献:

[1]宋文.P2P网络借贷行为的实证研究.上海交通大学.2013

[2]张职.P2P网络借贷平台营运模式的比较_问题及对策研究.华东理工大学.2012

[3]肖智,王明恺,谢林林.基于支持向量机的大学生助学贷款個人信用评价.清华大学学报.2006年,46(s1)1120-1124

[4]Vedala,R.1;Kumar,B.R.2 An application of Naive Bayes classification for credit scoring in e-lending platform 2012 International Conference on Data Science &;Engineering(ICDSE 2012),81-4,2012

作者简介:丁思岗(1989-),男,江苏南通人,硕士研究生,研究方向:移动软件设计。

P2P系统中激励机制的研究 第12篇

对等网络(P2P)是一种由若干协作的计算机构成的覆盖于互联网之上的分布式网络。在一个典型的P2P网络中,节点不从属于网络中的任何其他实体,而是自我管理并自主决定资源贡献。然而,对等网的实际情况是大量用户是动态变化、匿名、自私的,大部分用户希望获得资源而不是共享资源。P2P网络的效率大幅降低,绝大部分节点都无法得到正常的服务,即产生了个人利益与系统性能相冲突的搭便车问题。在Gnutella系统中研究发现,大约70%的用户不提供任何可以共享的资源,同时对于其他用户提出的共享资源的请求有90%不给予响应。

因此,P2P网络迫切需要激励机制来促使节点提高对系统的贡献。本文讨论了一种基于博弈论的P2P系统激励机制,综合考虑了节点贡献值和自身收益,并给出了贡献因子和自身收益因子。

1 相关工作

为了促使P2P系统中的节点参与合作,研究人员提出了多种激励方案。

1.1 Granary系统

Granary[1]系统是清华大学开发的P2P存储服务系统,它以对象格式存储数据,存储服务的使用者按照所存储数据的容量和质量付费。对付费用户的服务质量加以保证,以此来激励节点共享资源。

1.2 虚拟货币方法

中心服务器的部分职能转移到端系统上,系统激励来自于可信节点提供的签名虚拟货币,没有货币的节点无法购买下载服务。但此方法仍要求有可信赖的第三方和有效的身份认证系统,这与P2P的理念相驳[2]。

1.3 积分值-激励

北京大学的Maze文件共享系统采用积分值方法给愿意共享资源的用户增加积分,使其享有较高的下载带宽和较少的等待时间。用户管理服务器对用户积分进行记帐和管理,但集中式管理也成为系统性能瓶颈,因无法登录用户服务器而导致网络瘫痪的现象时有发生[3]。

1.4 PAST系统

PAST[4]系统为每个节点配置由可信赖的第三方发放的智能卡,卡中的存储配额依节点的贡献而定。此方法能有效激励节点贡献存储空间,但存在可信第三方问题。

2 激励机制研究

P2P网络中的博弈论:每个参与者都希望最大限度地从系统中获益,博弈双方对系统资源的竞争结果是稳定的,即Nash均衡。Nash均衡理论指出一个参与者投机与反投机无限循环的解决方案,即局部优化一系列策略使得任何参与者都不可能再通过偏离该策略的方法来提升自己的价格获得利润。对于网络资源分配问题,如果一个解在某价格向量下处于均衡状态,那么这个解是最优的。每个参与者都获得了最大效用,同时系统也获得最大总效用,个体优化和整体优化的统一意味着个体间的公平和整体效率的提高,因此这个解就是最合理的资源分配方案。

P2P系统中节点相互间的行为,属于不完全信息静态博弈问题。节点在决定自己是否共享资源时,无法得知其它节点的决策情况,且当参加P2P系统的文件交换时,节点没有先后顺序。在长期博弈的过程中,各个节点可以调整策略,逐渐达到一种对总体最有利,同时也使个体长期收益达到最大的状态,即均衡状态,也是P2P运营的最优目标。

现有的激励机制都是基于节点贡献值,而忽略了节点的自身收益。仅靠节点的贡献值来激励节点是一种强迫性行为,其结果能使大部分节点贡献资源。但节点在贡献的同时也在追求自身的收益,只有通过增加节点的收益,节点才有可能主动调整合作策略。综合考虑了以上两种因素,采用激励值这个更加有效的参数作为激励的基准。

2.1 节点贡献值的确定

P2P系统中每个节点按照初始协定都要向整个系统提供服务,包括共享存储空间和可使用的资源,同时也可以享用系统中别的节点提供的存储空间和资源。

在t时刻,节点i的贡献值(Contribution)用Ci(t)来表示,当节点i向其它节点提供服务,例如提供的共享文件被其它节点下载后,它的Ci(t)将会增加;当节点i享用了别的节点提供的服务后,它的Ci(t)将会减少。用Upi(t)表示节点i向其它节点提供的资源,Downi(t)表示节点i使用其它节点提供的资源,则Ci(t)可以表示为:

如式(1)在文件共享服务中,节点提供的共享文件越多,下载别人的共享文件越少,节点贡献值越大。

2.2 节点激励值的确定

节点在博弈的过程中追求自我的收益达到较优,所以对节点的激励,需要综合考虑节点贡献值和节点自身收益。

其中α+β=1,α为贡献因子,β为收益因子,α,β∈[0,1],α、β的取值大小表示系统对节点贡献和个体收益的重视程度,激励值I能反映节点参与博弈的自身情况。为达到激励效果,P2P资源分配将按照激励值进行。

2.3 基于激励值的资源分配

在P2P系统文件交换过程中,各个节点的贡献值Ci和收益值Pi,根据节点的具体情况发生变化,导致节点的激励值也随之发生变化。

具体流程如下:

(1)当文件请求不发生冲突时,系统只完成对节点贡献值Ci和收益值Pi的记帐,不会对节点带宽做任何限制。

(2)当多个节点同时请求单个文件时,激励值大的节点优先获得资源,激励值小的节点减缓获得资源甚至无法获得该资源。拥有所求文件的节点带宽按照请求节点的激励值完成分配。

3 仿真试验

使用P2Psim仿真工具对P2P协议进行仿真和研究。使用的版本是P2Psim-0.3.tar.gz,在Linux7.2,gcc2.%下编译成功。

P2Psim目录:

(1).main文件里面的taskmain函数为程序的入口函数。srandom()对应于windows里面的伪随机函数为:srand和rand函数。解析后的参数是通过Arg传入Node对象里面。S i n g a l系统调用为某个信号安装了新的信号处理函数。parse_args函数解析了从taskmain函数传进入的参数,该函数中getopt被用作解析命令行并检查是否合法。最后将文件的路径读进整个程序。

(2).Node文件中的类继承了observered类。Node::parse函数里面erase、begin和insert都是关于vertor的函数。

(3).Parse文件只包含了一个函数vectorsplit(string line,string delims)。该函数返回由delims分割line后获得的多向量。string在windows环境下面成为了一个模板类basic_stringa。

4 结束语

随着对等计算技术的广泛应用,P2P网络中普遍存在的搭便车问题也日益受到关注,而激励机制正是在这样的背景下产生和迅速发展起来。目前的各种激励机制虽然都还存在着一些问题,但对解决搭便车问题都起到了一定的效果,其中一些成果也已经在实际系统中得到应用。

本文列举了相关P2P系统中激励机制的研究成果,并采用了博弈论的方法来解决P2P系统中的节点合作问题,提出了一个基于激励值的激励机制来促进节点间的合作行为,综合考虑了节点贡献和节点自身收益。仿真试验证明,该机制能够促使节点参加合作,快速增加P2P的总体收益,达到了设计的目标并具有较好的性能。

参考文献

[1]W.Zheng,J.Hu,Granary.Architecture of ob-ject oritented Internet storage service,IEEE Int'1Conf.on E-Commerce Technology for Dynamic E-Business(CEC-EAST 2004),2004,9.

[2]B.Yang,H.G.Molina,Ppay.Micropayments forPeer-to-Peer systmes,CCS03:Washington DC,2003.

[3]郑纬民,胡进锋,代亚非.对等计算研究概述[J].中国计算机科学技术发展报告,2004.

[4]A.Rowstron,P.Druschel,Storage management andcaching in PAST,a large-scale,persistent peer-to-peer storage utility,ACM SIGOPS Operating.

[5]王涛.基于对等结构的分布式存储技术研究[D].电子科技大学,2006.

相关文章
创新公共服务范文

创新公共服务范文

创新公共服务范文(精选12篇)创新公共服务 第1篇科学技术是第一生产力,科技公共服务平台对国家或区域的技术创新具有巨大的推动作用。科技...

3
2025-10-24
匆匆中学生读后有感

匆匆中学生读后有感

匆匆中学生读后有感(精选9篇)匆匆中学生读后有感 第1篇匆匆读后感500字_读《匆匆》有感当细细地品读完一本名著后,大家心中一定有不少感...

1
2025-10-24
草莓教学范文

草莓教学范文

草莓教学范文(精选17篇)草莓教学 第1篇“风儿轻轻吹,彩蝶翩翩飞,有位小姑娘上山摘草莓,一串串哟红草莓,好像……”优美的歌词,动听...

3
2025-10-24
仓储类课程范文

仓储类课程范文

仓储类课程范文(精选7篇)仓储类课程 第1篇物流产业是复合型产业,发达的物流能加速传统运输、仓储和零售等行业向现代物流服务领域延伸。...

1
2025-10-24
创造性批评:解说与解读

创造性批评:解说与解读

创造性批评:解说与解读(精选8篇)创造性批评:解说与解读 第1篇创造性批评:解说与解读作为诗性文化重要组成部分的审美批评,同文学艺术实践...

2
2025-10-24
初二地理试卷分析

初二地理试卷分析

初二地理试卷分析(精选6篇)初二地理试卷分析 第1篇莲山 课件 w ww.5 YK J.COM 4 初二地理试卷分析二、试题所体现的新课程理念和...

3
2025-10-24
常州市河海中学文明班小结

常州市河海中学文明班小结

常州市河海中学文明班小结(精选2篇)常州市河海中学文明班小结 第1篇常州市河海中学2008~2009学年第一学期 八(1)班创 文 明 班 ...

2
2025-10-24
财务负责人身份证明

财务负责人身份证明

财务负责人身份证明(精选14篇)财务负责人身份证明 第1篇财务负责人身份证明及签字样本兹证明为我公司财务负责人。特此证明。身份证复印...

1
2025-10-24
付费阅读
确认删除?
回到顶部