2008年8月
August 2008
—1—
计  算  机  工  程Computer Engineering 第34  第16期
Vol 卷.34    No.16            ·博士论文·
文章编号:1000—3428(2008)16—001—03
文献标识码:A
中图分类号:N945
P2P 文件共享系统的内容过滤方案
肖明忠,侯潇潇,闵博楠
(北京大学信息科学技术学院网络实验室,北京 100871)
摘  要:抑制非法内容共享行为是P2P 文件共享系统需要解决的重要问题。Maze 系统从活跃对等用户入手,提出基于文件流行度的过滤策略。模拟实验证明该过滤技术能迅速减少不良文件下载的次数和网络带宽资源的消耗,方法简单实用,可以对大规模系统中的内容进行有效控制。
关键词:活跃对等用户;P2P 文件共享系统;内容过滤;Maze 系统
Scheme for Content Filtering in P2P File Sharing System
XIAO Ming-zhong, HOU Xiao-xiao, MIN Bo-nan
(Networking Lab, School of Electronics Engineering and Computer Scinece, Peking University, Beijing 100871)
【Abstract 】It is an important problem for P2P file sharing system to limit sharing illegal contents. Maze introduces a filtering strategy based on file popularity and active peer. Simulation experiments show that the technology can decrease the download of illegal files, and save network resource consumption. It is simple but rather practical, reflecting the idea to deal with key problem first in the large-scale system. 【Key words 】active peer; P2P file sharing system; content filtering; Maze
1  概述
P2P 文件共享系统已经成为互联网上流量最大的应用之一,但非法共享内容的存在带来了极大的负面影响。是P2P 文件共享系统诱使人们肆意地上传或下载非法内容,还是P2P 文件共享系统被利用来传播这些内容,是有区别的。假如涉及非法内容上传与下载的行为频繁地发生在一用户之间,且这种行为占总的上传与下载行为的比例很小,则可以认为P2P 文件共享系统并无驱使力,而是现实社会中一人利用虚拟空间更方便地从事非法内容的分发与获取,这是社会问题而非P2P 共享系统的问题。基于这样的认识,文献[1]利用主动探测技术,截获Gnutella 用户的请求和响应数据包。经统计分析发现:少数Peer 与大部分非法内容上传与下载行为相关且这种行为总量很小(不良搜索是1.6%,响应是2.4%)。
尽管这是子社区问题,涉及对等用户数较少,但造成的社会影响却是巨大的,仍有必要采取共享内容的过滤技术。文献[2]通过对Maze 系统[3]121天下载日志的分析研究发现,共享下载的文件有88.44%可以
在0.77%的活跃对等用户中到,这用户具有服务器的性质:共享内容多,网络接入带宽高以及在线时间长。基于这样的认识,笔者在Maze 系统用户最多的6个城市共部署了20台服务器,用于仿真Maze 系统的对等用户。它们的任务主要是从活跃对等用户处将前一天流行的共享文件抓取到这些服务器中,然后基于文件名和文件内容进行扫描,形成文件过滤列表并汇总,之后将这些列表播送给所有的Maze 系统用户。当上传或下载文件时,对等用户会先检查过滤列表,若过滤列表中没有该文件,才允许后续的上传或下载操作。模拟实验研究表明,该内容过滤技术能有效抑制非法内容的共享,净化P2P 文件共享空间。
2  Maze 系统及其内容过滤机制
Maze 系统是中国教育科研网上最为流行的P2P 文件共享系统之一,注册用户百万量级,平均在线人数近万人[4-5]。 2.1  Maze 系统结构
Maze 系统采用有中心服务器的类Napster 的混合式P2P 体系结构,其结构模型如图1所示。文件目录服务器负责收集客户端上传的目录信息;索引和检索服务器负责建立索引并提供基于CGI 程序的检索服务接口;心跳服务器负责收集节点定期发送的心跳信息、维护节点信息列表,提供节点发现、节点信息查询及中转节点间信息的功能;用户管理服务器提供用户注册、身份认证及登录等用户管理功能。
图1  Maze 系统结构
Maze 中的每个Peer 包含客户端程序和服务器端程序MazeSvr 两个部分。客户端程序包括用户界面、提供给用户文件搜索下载以及浏览站点、好友管理、即时通信等功能。服务器端程序提供目录浏览以及文件共享服务功能,让其他节点能访问本节点的资源。
基金项目:国家“973”计划基金资助项目(2004CB318204);国家发改委下一代互联网示范工程基金资助项目(CNGI-04-12-2A) 作者简介:肖明忠(1970-),男,博士,主研方向:P2P 文件共享系统;侯潇潇,硕士;闵博楠,硕士研究生
收稿日期:2007-09-30    E-mail :**************.edu
2.2  内容过滤机制设计与实现
非法共享内容包括黄文件、危害社会团结的文件以及侵犯版权的电子资料等。Maze系统的内容控制机制将根据这些信息的特点,采取相应内容过滤判断策略。管理员也可以根据实际情况对过滤的阈值和目标进行控制。
2.2.1  结构模型
内容过滤机制的实现分为2个部分:(1)在Maze系统中心服务器端建立封禁文件列表;(2)在对等用户端获得该列表,并在共享文件发布、上传时根据封禁列表审查文件。其结构模型如图2所示。
图2  内容控制系统结构模型
(1)CPI:在Maze系统用户最大的6个城市中共部署了20台服务器,用于仿真Maze系统的对等用户。它们的任务主要是从活跃对等用户处将前一天各地区流行的共享文件抓取到这些服务器中分类存储(注:通过Maze系统集中式的日志服务器,可以获知各地区某日的流行文件列表,因此,各个CPI具有明确的抓取任务)。
(2)内容扫描:主要功能是根据关键词、内容等信息,对抓取的影视、图片、文本等文件进行过滤判断扫描,并以XML 格式形成过滤报告。通过配置文件,可以设置不同关键词、正则表达式作为扫描参数。流程如图3所示,其中将不良文件、垃圾文件和非法共享内容视作同一概念。
图3  内容扫描流程
XML报告主要包括不良文件绝对路径和不良文件分值(一个0~1的实数,值越大表示文件是垃圾文件的可能性越大)。下面给出该报告的一个例子:<SPAM>
<filepath>/opt/cngi-mazesvr/data/热门资源
<keyword>|(天宫真奈美)| (H精品)
<type>从标题过滤</type>
<similarity>1</similarity>
<time>2006/09/17 20:39:28</time>
<sourcenode>162.105.*.*</sourcenode>
</SPAM>
<SPAM>
前端大文件上传解决方案
<filepath>/home/p2p_keyword-0.0.2/rank/c/2.doc</filepath>
<keyword>(情)</keyword>
<type>从内容过滤</type>
<similarity>5%</similarity>
<time>2006/11/06 18:31:40
</time>
<sourcenode>202.38.*.*
</sourcenode>
</SPAM>
各标签含义如下:Filepath:
文件绝对路径;Keyword:过滤
的问题;Type:过滤原则;
Similarity:文件的分值;Time:
查判时间。
(3)SpamSender:作用是读取
内容扫描过滤程序生成的XML
报告文件,并根据这个文件中列出的不良文件的绝对路径,
访问相应文件,计算其md5码及取得文件大小,生成新的不
良文件列表,再把新的列表包发送到Collect Server中。因为
在大规模系统中不可能实时控制不良文件,所以Spam Sender
程序选择每天凌晨2点运行一次。
(4)CollectServer:作用是收集部署在其他CPI服务器上
的Spam Sender发来的不良文件信息列表,并将各个零散的
信息合并,去掉冗余信息,生成汇总的不良文件列表。然后
根据人为设定的过滤门限,生成需要封禁的文件列表,并把
封禁列表交给Filter Server。由于内容扫描程序存在误判性,
特别是对图片和视频内容的误判率较高,因此当前需要人工
进一步判断并编辑修改该封禁列表。另外,也可以通过这种
人工的方式将侵犯版权的共享文件信息加入到封禁列表中。
(5)Filter Server:作用是读取Collect Server发过来的封禁
列表,侦听对等用户端索要封禁列表的请求,并把封禁列表
发送到对等用户端。对等用户端发过来的请求中将包含当前
其本地封禁列表的版本号,Filter Server会根据该版本号判断
是否需要将最新的封禁列表发送过去。
(6)Peer(对等用户端):提供MContentController类给P2P
文件共享系统使用,该类对外提供的公有方法有:
1)bool GetFromFile():从硬盘上读取缓存的封禁列表;
2)bool WriteToFile():将封禁列表写入硬盘;
3)bool IsLegal(const MD5Data &md5), bool IsLegal(const
CMD5 &md5, const unsigned long &size), bool IsLegal(const
string &md5, const unsigned long &size):判断一个文件是否
在封禁列表中,这里用文件md5和文件大小唯一标识一个文
件,并提供3个不同方式的重载以供灵活使用;
4)int GetNewList():从Filter Sever获取新的封禁列表;
5)unsigned long GetVer():获取当前本地封禁列表的版
本号;
6)Unsigned long Size():获取当前本地封禁列表的大小。—2—
2.2.2  Maze系统中对等用户端的应用
文件共享系统Maze中不良文件数量和种类每天都在变化,随时可能有新的不良文件出现。实时地到系统中全部不良文件是很困难的,而且代价也将很大。因此,Maze采用了一个折中的方案:将每天下载量最大的不良文件加入到封禁列表中,重点打击这种传播范围广、影响力大的不良文件,期望用较小代价取得较好的过滤效果。
Maze系统对等用户端程序包括Maze Client和MazeSvr  2个部分,内容过滤功能主要加载到MazeSvr中。原因是:对等用户端发布共享文件、响应其他用户的下载文件请求和浏览目录请求的功能都是在MazeSvr中完成的,将封禁功能放到这里可以在文件发布、下载及浏览的同时,阻止不良文件的传播。其工作原理如图4所示。
图4  Maze系统对等用户端过滤机制工作原理
Maze对等用户端程序在每次登录用户服务器时,会向Filter Server请求最新版本的封禁列表。得到封禁列表后,Maze对等用户端将封禁列表保存在内存中,同时会在文件系统上进行缓存,以备下次使用。MazeSvr每次收集本地共享的文件并发布资源时,会根据封禁列表过滤被封禁文件,使被封禁的文件无法发布到索引服务器上。在收到其他Peers 浏览共享资源请求时,会根据封禁列表滤掉列表中的文件,使请求浏览的用户无法看到被共享的不良文件。当收到其他用户的下载文件请求时,MazeSvr会检查封禁列表,查看被请求下载的文件是否在封禁列表中,如果在,拒绝该请求。2.2.3  内容过滤机制管理平台
每个CPI节点都安装了一个Deamon进程。Deamon进程启动后,侦听控制端发来的命令并根据收到的命令作相应的处理。主要控制功能有:(1)节点控制,通过管理平台可以对前端内容扫描程序发送开启、暂停、重启及关闭命令,从而控制前端扫描程序的工作;(2)文本规则定制,过滤关键词的添加、删除及更改,并可以生成规则文件上传到CPI节点;
(3)系统设置,设置前端内容扫描程序工作间隔等参数,并可以生成配置文件上传到CPI节点;(4)统计分析,根据各个节点的XML报告自动生成统计图表。
3  模拟实验
本文随机选择Maze系统2005年5月15日-2005年5月22日的下载日志用于研究过滤技术的效果。实验设置如下:
(1)根据第1天下载日志的文件流行度有序表,通过人工审核方式,容易得到该日下载流行度在前100的文件集合中,非法共享文件信息的集合,记为Y1。将过滤文件列表F2初始化为Y1,它就是第2天Maze系统使用的非法共享文件过滤列表;F1设定为空,即第1天的过滤列表长度为0。
(2)在第2天下载日志文件流行度有序表中删除F2中的文件,再通过人工审核的方式,得到该日下载流行度在前100 的文件集合中非法共享文件信息的集合,记为Y2。于是得到第3天Maze系统使用的过滤文件
列表F3=F2∪Y2。类似地,可以得到每天的过滤文件列表,第8天使用的过滤列表F8=F7∪Y7。显然,F1F2F3F4F5⊆F6F7F8。
⊆⊆⊆⊆⊆⊆每天使用的过滤列表中的文件数与F8列表集合中文件数的比例如下:
天  1 2 3 4 5 6 7 8 比例/(%)0.022.741.0 58.3 70.2 82.4 92.9100.0
比如第3天使用的过滤文件列表中的文件数是这8天里过滤的文件总数的41.0%。文件总数为295。
图5以F8列表文件集合为不良文件集合,考察过滤技术在这8天里节约网络带宽和减少不良下载次数的情况。比如,第3天的下载日志使用过滤列表F3后,不良文件下载次数的减少比例高达52%,节约网络带宽58%。简单的过滤技术就能迅速减少不良文件的下载次数和网络带宽资源的消耗,所以,本文基于文件流行度的过滤方案是简单有效的,可以对大规模系统中的内容进行有效控制。
图5  过滤效果
4  结束语
当前Maze系统采用的过滤技术虽需要人工每天对最后形成的过滤列表进行简单判断处理,但是为进一步展开基于内容的过滤算法研究提供了有价值的研究平台;广域分布式服务器的引入,除了用于对共享内容的监管,还可进一步将其抓取的内容反作用于Maze系统,扮演活跃对等用户的角以服务其他用户。这必将对提升Maze系统性能、改善用户体验以及减少骨干网络带宽消耗等产生深远的影响。
致谢感谢华南理工大学董守斌教授团队在非法共享内容扫描判断等方面的贡献。
参考文献
[1] Hughes D, Walkerdine J, Coulson G, et al. Peer-to-Peer: Is Deviant
Behavior the Norm on P2P File-sharing Network?[Z]. [2007-03- 15].
/xpl/freeabs_all.jsp?tp=&arnumber=  1610578&isnumber=33820.
[2] 刘翰宇, 肖明忠, 代亚非, 等. 活跃型用户对P2P文件共享系统
可用性的影响[J]. 软件学报, 2006, 17(10): 2087-2095.
[3] Maze系统[Z]. [2007-02-14]. maze.pku.edu.
[4] Mao Yang, Zhao Ben. Deployment of A Large Scale Peer-to-Peer
Social Network[C]//Proceedings of the 1st Workshop on Real Large Distributed Systems. San Francisco, USA: [s. n.], 2004.
[5] Hua Chen, Mao Yang. Maze: A Social Peer-to-Peer Network[C]//
Proc. of the International Conference on E-commerce Technology for Dynamic E-business. Beijing, China: IEEE Press, 2004.
—3—

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。