CN101916291B - 一种eDonkey网络共享文件及客户端信息爬取方法 - Google Patents

一种eDonkey网络共享文件及客户端信息爬取方法 Download PDF

Info

Publication number
CN101916291B
CN101916291B CN2010102632101A CN201010263210A CN101916291B CN 101916291 B CN101916291 B CN 101916291B CN 2010102632101 A CN2010102632101 A CN 2010102632101A CN 201010263210 A CN201010263210 A CN 201010263210A CN 101916291 B CN101916291 B CN 101916291B
Authority
CN
China
Prior art keywords
keyword
server
query
carry out
edonkey
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.)
Expired - Fee Related
Application number
CN2010102632101A
Other languages
English (en)
Other versions
CN101916291A (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.)
Peking University
Original Assignee
Peking 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 Peking University filed Critical Peking University
Priority to CN2010102632101A priority Critical patent/CN101916291B/zh
Publication of CN101916291A publication Critical patent/CN101916291A/zh
Application granted granted Critical
Publication of CN101916291B publication Critical patent/CN101916291B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公布了一种通过关键词查询获取eDonkey网络共享文件及客户端信息爬取方法,具体涉及一种通过关键词查找来快速地获得共享文件及客户端信息的方法。本方法主要包括如下步骤:建立常用词列表;通过查询常用词以获取服务器的查询结果上限;把待查询的关键词放入一个队列中;在服务器中查询队列中的关键词,如果实际结果多于查询结果,则把关键词和常用词进行组合产生新词进行重新查询。通过本发明提供的方法,可以获取更多的eDonkey网络共享文件信息和客户端信息,从而提高了查找效率和查找质量。

Description

一种eDonkey网络共享文件及客户端信息爬取方法
技术领域
本发明提供一种eDonkey网络共享文件及客户端信息爬取方法,具体涉及一种通过关键词查找来快速地获得共享文件及客户端信息的方法,属于计算机网络领域。
背景技术
P2P文件共享网络近年发展十分迅速,各种类型的文件(包括音视频文件、游戏软件、电子文档等等)通过P2P网络得以快速地在世界范围内传播。利用P2P文件共享网络分享和获取文件,已经成为网络用户的日常行为。
P2P文件共享网络与传统的文件发布和共享方式不同。在传统方式下,文件通过一个或者若干个服务器进行发布,用户需从这些服务器上获得这些文件,一个典型的例子就是通过FTP服务器共享文件。在P2P文件共享网络中,每个用户都可以把自己拥有的文件提供给别的用户下载,也可以从别的用户下载自己需要的文件。因此,从功能上来说,P2P文件共享网络中的每个用户的地位是平等的。
P2P文件共享网络的日益流行带来不少问题。P2P流量在网络流量中的比例越来越大,加重了网络设备的负担,增加了网络运行维护的成本,甚至影响其它网络业务的正常运行。由于P2P系统的自由性和开放性,P2P文件共享网络成为了一些黄色、暴力、反动内容的传播平台。此外,大量的有侵犯知识产权嫌疑的影视文艺作品也借助P2P文件共享网络得到迅速传播。近年来,在使用P2P文件共享网络过程中发生的泄密事件,也时有发生,造成了严重、恶劣的影响。
为了解决这些问题,需要对P2P文件共享网络进行监测,分析网络中的共享文件的分布情况和传播规律,以及节点(eDonkey服务器和客户端)的分布情况。只有允分地掌握了这些信息,才能有效地对控P2P文件共享网络进行管控。
eDonkey网络是最大的P2P文件共享网络之一,其它流行的P2P文件共享网络包括BitTorrent、Gnutella。eDonkey网络由eDonkey服务器和eDonkey客户端组成。eDonkey服务器本身不提供文件下载,而只是管理eDonkey网络中的eDonkey客户端信息和客户端提供的共享文件的信息。eDonkey客户端必须要登录到一个eDonkey服务器之后才能连接到eDonkey网络中。eDonkey客户端连接到eDonkey网络中后,该客户端的信息及其提供下载的共享文件信息即被发送给相应的服务器。客户端可以向服务器查询所需的文件,并从服务器得到这些文件的相关信息以及提供文件下载的其它客户端的信息。得到这些信息后,客户端即可直接连接到提供文件下载的其它客户端,以下载所需的文件。
2005年,杨加等人提出一种通过关键词查询,使用爬虫(为实现爬取eDonkey网络信息而开发的eDonkey客户端软件)从eDonkey服务器爬取eDonkey网络中共享文件信息以及eDonkey客户端信息的爬取方法(Crawling the eDonkey Network,Jia Yang,Hao Ma,Weijia Song,Jian Cui,Changling Zhou,In 2006 Fifth International Conference on Grid and CooperativeComputing Workshops(December 2006),pp.133-136.)。但是,由于eDonkey服务器对于每次关键词查询的返回结果数目是有限制的,因此:
假定eDonkey服务器最多能返回N个查询结果(为便于讨论,称为查询结果上限)。向服务器进行关键词查询时,即使与关键词匹配的文件数目大于N,也只能从服务器获得N个匹配文件的信息。
在实际爬取过程中,文件匹配数超过查询结果上限的情况是经常出现的。特别是在进行热门关键词或者常用关键词进行查询时,多数情况下,文件匹配数会超过查询结果上限。杨加等人并没有针对这种情况提出有效的解决方法,因而导致获取信息的效率不高。
发明内容
本发明的目的是提供一种新的方法,该方法提高了通过关键词查询爬取eDonkey网络共享文件信息和客户端信息的效率。
本发明的原理是:首先确定要爬取的服务器的查询结果上限,然后进行关键词(记为w)查询,如果文件匹配数超过查询结果上限,则可向服务器发出“查询更多结果”的请求,从而从服务器获得与w匹配的其它未返回的匹配文件信息。如果与w匹配的文件数目较多,那么可多次向服务器发出“查询更多结果”的请求,从而得到尽可能多的匹配文件信息。但是,如果向服务器发出“查询更多结果”请求次数大于n(n的值通常接近10),则服务器会不再返回结果。在这种情况下,根据本发明提出的方法,在原关键词w的基础上自动生成多个新的关键词,通过查询这些新的关键词,尽可能多地从服务器得到与w匹配的文件信息和相关客户端信息,从而提高爬取信息的效率。
本发明详细技术方案如下(流程图参见图1):
A.设置多个常用词语,并将这些词语放置在常用词列表S中;
B.确定要爬取的服务器的查询结果上限m;方法如下(流程图参见图2):
B1.从常用词列表S中取出n个最常用的词(5<n≤20),作为查询服务器用的关键词;
B2.针对每一个关键词,分别向服务器进行关键词查询;
B3.比较每个关键词的查询结果数目,找出最大的数目m;
B4.服务器的查询结果上限为m。
C.把要查询的全部关键词放在队列Q中;所述Q为一个先进先出的队列;
D.进行关键词查询;其实现方法如下(流程图如图4所示):
1)从队列Q的头部取出一个关键词w,同时把w从Q中删除;
2)设置计数器c为0;
3)向服务器查询关键词w;
4)如果查询结果数目大于m*95%,执行下面的操作;否则执行7);
5)如果c<8,则向服务器发出“查询更多结果”请求,查询尚未返回的其它结果,并将计数器c的值加1,然后执行4);否则执行下面的操作;
6)将常用词列表S中的每一个词v分别与w组合为新的关键词“v w”,且满足w不能包含v,如果至少有一个新的关键词产生,则将全部新生成的关键词加入到队列Q的尾部,并执行1);否则执行下面的操作;
7)如果Q不为空,执行1);否则执行下面的操作;
8)结束。
利用本发明提供的技术方案,可以使得在通过关键词查找获取更多的eDonkey网络共享文件信息和客户端信息,从而提高了查找效率和查找质量。
附图说明
图1:本发明方法的流程图;
图2:确定服务器的查询结果上限方法流程图;
图3:实施例中系统设施的硬件环境示意图;
图4:进行关键词查询的方法流程图。
具体实施方式
下面通过实例对本发明做进一步说明。需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
实施例:
系统设施的硬件环境如图3所示。
爬虫系统的工作环境包括两个局域网。局域网2可以访问Internet,局域网1是内部网。客户端爬取主机(这些主机用于运行爬虫)在局域网1中,可以访问Internet。数据库服务器部署于局域网1,不能直接连接到Internet,用于存入从eDonkey网络获得的信息。中央控制服务器有两块网卡,分别连接到局域网1和局域网2。中央控制器控制其它所有服务器和主机的运行,此外,局域网1和局域网2中的主机需通过中央控制服务器才能进行通信。本例中,所有的主机和服务器都运行Linux操作系统,但也可以运行其它的操作系统,如Windows操作系统。
1)设定若干常用词,例如“视频”、“mp3”、“china”、“电影”、“政治”,并将这些词放到列表S中(S中可有任意多个常用词,在此为简化描述,只使用5个常用词)。
2)确定要爬取的服务器的查询结果上限m。本例中,假定要爬取的服务器是“77.247.177.124:6231”。将S中的全部词语(共5个)作为关键词。接下来,针对每一个关键词,分别向服务器“77.247.177.124:6231”进行关键词查询,然后比较每个关键词的查询结果。假定查询“视频、mp3、电影”时,返回的结果数最大,且都是300,那么可确定该服务器查询结果上限为300。
3)把要查询的全部关键词放在队列Q中。假定放入Q中的关键词只有一个,是“黄色”(Q中可有多个关键词,在此为简化描述,只使用一个关键词)。爬虫先从Q中取出关键词“黄色”,同时将“黄色”从Q中删除,并将计数器c的值设为0(计数器c记录的是进行关键词以及进行“查询更多结果”查询的总次数)。然后,爬虫向服务器“77.247.177.124:6231”进行关键词“黄色”的查询,从服务器返回的与“黄色”匹配的文件数是300,这个数字大于95%*300,说明与该关键词匹配的文件数较大,除了结果中显示的300个文件外,很可能还有没返回的匹配文件信息。在这种情况下,爬虫向服务器发出“查询更多结果”的请求,以从服务器得到其它未返回的匹配文件信息,并将计数器c的值加1(c记录的是向服务器发出“查询更多结果”的请求的次数)。对于“查询更多结果”的请求,服务器返回的结果仍然是300,说明还有没返回的匹配文件信息。因此,爬虫继续向服务器发出“查询更多结果”的请求。在向服务器总共进行8次“查询更多结果”请求后(计数器c的值为8),如果返回的结果数仍然是300,则服务器很可能不再对新的“查询更多结果”请求进行响应(或者再响应一两次,这取决于具体的服务器),为了解决这个问题,需使用以下策略来得到更多的与“黄色”匹配的文件信息:
将常用词表S中的每一个词v分别与关键词w组合为新的关键词“v w”,且满足w不能包含v。本例中,产生的新的关键词是“视频黄色”、“mp3黄色”、“china黄色”、“电影黄色”、“政治 黄色”,将这些新的关键词全部加入到Q中。接下来,针对Q中的每一个关键词,向服务器发出查询请求(并遵循前面描述的流程),这样就能得到更多的与“黄色”匹配的文件信息。
假如针对“黄色”向服务器进行“查询更多结果”的请求时,在计数器c的值小于8时,服务器返回的结果数小于或者等于95%*300,则说明服务器已经将全部匹配“黄色”的文件信息返回给爬虫,查询任务可立即结束,而不再需要将“黄色”与常用词进行组合而产生新的关键词并进行新的查询了。
对于非热门的关键词,在进行关键词查询时,服务器返回的结果较少(小于或者等于95%*300),查询任务可立即结束,而不再需要向服务器发出“查询更多结果”请求。
由本例可以看出,本发明提出的方法较好地解决了关键词查询时受限于服务器的查询结果上限的问题,从而从总体上提高了对eDonkey网络共享文件及客户端信息的爬取效率。

Claims (4)

1.一种通过关键词查询获取eDonkey网络共享文件及客户端信息的爬取方法,其特征是,该方法包括以下步骤:
A.设置多个常用词语,并将这些词语放置在常用词列表S中;
B.确定要爬取的服务器的查询结果上限m;
C.把要查询的全部关键词放在队列Q中;
D.进行关键词查询;其实现方法如下:
1)从队列Q的头部取出一个关键词w,同时把w从Q中删除;
2)设置计数器c为0;
3)向服务器查询关键词w;
4)如果查询结果数目大于m*95%,执行下面的操作;否则执行7);
5)如果c<8,则向服务器发出“查询更多结果”请求,查询尚未返回的其它结果,并将计数器c的值加1,然后执行4);否则执行下面的操作;
6)将常用词列表S中的每一个词v分别与w组合为新的关键词“vw”,且满足w不能包含v,如果至少有一个新的关键词产生,则将全部新生成的关键词加入到队列Q的尾部,并执行1);否则执行下面的操作;
7)如果Q不为空,执行1);否则执行下面的操作;
8)结束。
2.如权利要求1所述的方法,其特征是,所述队列Q为一个先进先出的数据结构。
3.如权利要求2所述的方法,其特征是,所述步骤B的实现方法如下:
B1.从常用词列表S中取出n个最常用的词,作为查询服务器用的关键词;
B2.针对每一个关键词,分别向服务器进行关键词查询;
B3.比较每个关键词的查询结果数目,找出最大的数目m;
B4.服务器的查询结果上限为m。
4.如权利要求3所述的方法,其特征是,所述步骤B1中n的取值为5<n≤20。
CN2010102632101A 2010-08-26 2010-08-26 一种eDonkey网络共享文件及客户端信息爬取方法 Expired - Fee Related CN101916291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102632101A CN101916291B (zh) 2010-08-26 2010-08-26 一种eDonkey网络共享文件及客户端信息爬取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102632101A CN101916291B (zh) 2010-08-26 2010-08-26 一种eDonkey网络共享文件及客户端信息爬取方法

Publications (2)

Publication Number Publication Date
CN101916291A CN101916291A (zh) 2010-12-15
CN101916291B true CN101916291B (zh) 2012-05-02

Family

ID=43323803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102632101A Expired - Fee Related CN101916291B (zh) 2010-08-26 2010-08-26 一种eDonkey网络共享文件及客户端信息爬取方法

Country Status (1)

Country Link
CN (1) CN101916291B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103258052B (zh) * 2013-05-28 2016-03-30 中国科学院计算技术研究所 一种eMule网络上关联资源的发现方法
CN106649362B (zh) * 2015-10-30 2020-02-07 北京国双科技有限公司 网页爬取方法和装置
CN110287255A (zh) * 2019-05-23 2019-09-27 深圳壹账通智能科技有限公司 基于用户行为的数据共享方法、装置及计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497483A (zh) * 2002-10-07 2004-05-19 �Ҵ���˾ 采用分布式搜索引擎的对等因特网交易系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7558789B2 (en) * 2006-11-20 2009-07-07 Illinois Institute Of Technology Method for improving local descriptors in peer-to-peer file sharing
FR2909244B1 (fr) * 2006-11-23 2009-03-20 Trident Media Guard Tmg Sa Procede pour agir sur la diffusion d'un fichier dans un reseau p2p

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497483A (zh) * 2002-10-07 2004-05-19 �Ҵ���˾ 采用分布式搜索引擎的对等因特网交易系统和方法

Also Published As

Publication number Publication date
CN101916291A (zh) 2010-12-15

Similar Documents

Publication Publication Date Title
WO2021213184A1 (zh) 一种基于分布式选举的端到端内容分发网络系统和分发方法
US8583790B2 (en) Server session management application program interface and schema
US20140233559A1 (en) Method, apparatus, and system for establishing voice communication
US20090125526A1 (en) System and method for providing automated non-volatile offline access to relational data
US20080162728A1 (en) Synchronization protocol for loosely coupled devices
WO2005062989A3 (en) Authentication system for networked computer applications
WO2002015481A3 (en) Methods, systems, and computer program products for managing a service provided by a network
KR20090080051A (ko) P2p 네트워크에서 가상 피어를 호스팅하는 스폰서 노드, 및 방법
RU2005109315A (ru) Система и способ для совместного использования объектов между компьютерами по сети
CN105024919B (zh) 一种用户群组建立方法及装置
CN201571083U (zh) 一种基于云计算应用的网络多媒体系统
CN101588344A (zh) 一种网络系统中控制同一帐户登录的系统及方法
CN102082800A (zh) 一种用户请求处理的方法和服务器
CN109743323A (zh) 一种基于区块链技术的资源共享策略
CN101916291B (zh) 一种eDonkey网络共享文件及客户端信息爬取方法
US20170155712A1 (en) Method and device for updating cache data
CN115098884A (zh) 数据协同处理方法、系统、区块链节点设备及存储介质
CN104506630B (zh) 基于用户角色的权限数据生成方法、服务器及系统
CN107422980A (zh) 物联网数据文件存储系统及其数据文件存储方法
WO2018188607A1 (zh) 流处理方法及装置
CN111666509A (zh) 基于跨网络地理数据的云查询方法及系统
CN105323270B (zh) 网络信息推送方法和系统
CN102938723A (zh) 一种基于群号的微博聚合方法及系统
CN103685453B (zh) 一种云存储系统中元数据的获取方法
CN106936643B (zh) 一种设备联动方法以及终端设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120502

Termination date: 20160826

CF01 Termination of patent right due to non-payment of annual fee