CN100474809C - 一种文件传输的方法及装置 - Google Patents

一种文件传输的方法及装置 Download PDF

Info

Publication number
CN100474809C
CN100474809C CNB2006101381025A CN200610138102A CN100474809C CN 100474809 C CN100474809 C CN 100474809C CN B2006101381025 A CNB2006101381025 A CN B2006101381025A CN 200610138102 A CN200610138102 A CN 200610138102A CN 100474809 C CN100474809 C CN 100474809C
Authority
CN
China
Prior art keywords
file
node
index
reciprocity
shared
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
CNB2006101381025A
Other languages
English (en)
Other versions
CN1968099A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101381025A priority Critical patent/CN100474809C/zh
Publication of CN1968099A publication Critical patent/CN1968099A/zh
Application granted granted Critical
Publication of CN100474809C publication Critical patent/CN100474809C/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)

Abstract

本发明公开了一种文件传输的方法及装置,其中方法主要包括:A)目的对等结点得到查询请求后,将所述查询请求与所述目的对等结点所维护的共享文件列表中的索引进行匹配,如果有匹配的索引,直接向查询发起对等结点返回满足查询请求的检索结果,进入步骤C;B)如果没有匹配的索引,所述目的对等结点将所述查询请求与该目的对等结点所维护的文件下载列表和文件上传列表中的索引进行匹配,如果有匹配的索引,将该查询请求路由给所述匹配的索引对应的目的对等结点,进入步骤A;C)查询发起对等结点从所述检索结果中选择所述文件进行下载;使用该方法,检索结果直接返回给查询发起对等结点,检索结果能够尽快地返回给用户,提高用户体验。

Description

一种文件传输的方法及装置
技术领域
本发明涉及对等网络技术,具体涉及一种文件传输的方法及装置。
背景技术
随着互联网络的发展,分布在世界各地的计算机的信息可以被互联网上的用户共享,人们可以在互联网上可以随时获取各种信息,极大方便了人们的生活。目前在互联网中,文件共享采用的网络架构大致有两种,一种是以服务器/客户端(Server/Client)方式实现的网络架构,用户即客户端需要获取信息时,先连接到服务器,并从服务器获取所需的信息;另一种是对等网络(Peer-to-PeerNetwork),对等网络与传统的服务器/客户端模式不同,对等网络中没有明确的服务器和客户端之分,每个对等结点(Peer)既作为服务器为对等网络提供服务,又作为客户端从对等网络获得服务。目前,对等网络在文件共享、数据检索、协同计算、即时通讯、数据分散存储以及网络游戏等方面有着广泛的应用。
根据拓扑结构可以将对等网络分为:中心化拓扑式对等网络、全分布非结构化对等网络、全分布结构化对等网络和半分布式拓扑式对等网络,其中,全分布式非结构化对等网络中没有中央服务器,它采用了洪泛(Flooding)发现和随机转发(Random Walker)机制。为了控制搜索消息的传输,通过生存时间TTL(Time To Live)的减值来实现。为了检索某个文件,源对等结点向与之相邻的所有活动对等结点发送一个检索请求包Query,其他对等结点在接收到该检索请求包后,检查本地是否有符合检索请求的文件内容,如果有,则按检索请求包的发送路径返回一个检索响应包QueryHit。无论本地是否存在符合检索请求的文件内容,其他对等结点都会向所有邻居结点转发检索请求包,直至检索请求包中TTL属性值递减为0时停止继续转发。
现有对等网络信息检索中,普遍采用结点信息缓存的信息索引机制,通过将检索结果沿反向查询路径传递,路径上各对等结点将检索结果进行缓存,为其它对等结点的后续检索提供了文件路由信息。
表1、对等结点检索前结点状态
 
对等结点 本地共享 非本地共享
A a,b f:E
B c n:F
C d,e
D g,h d:C;o:F
E f
F n,o
G i,j,k c:B;f:E
H l,m d:C
如表1所示,每个对等结点有一个本地共享目录和一个非本地共享目录,本地共享目录保存了对等结点本地共享文件的索引,而非本地共享目录保存了对等网络中其它对等结点共享文件的索引。表1中,对等结点H的本地共享目录表示其共享了文件1和m;其非本地共享目录表示文件d由对等结点C共享。
表1是各对等结点的最初状态。对等结点C检索文件o,它首先查看自己的本地共享目录和非本地共享目录,没有发现文件o的索引,因此随机或按一定策略选择一个邻居进行查询路由,本例中假设对等结点C选择结点B作为查询下一跳,因此将查询请求转发给对等结点B;对等结点B在本地共享目录和非本地共享目录中进行文件o的查找,没有发现相应文件,假设对等结点B继续将查询路由给结点D;对等结点D首先在本地共享目录中进行文件o的查找,没有找到,继续在非本地共享目录中查找,发现文件o是由对等结点F共享。由于非本地共享目录中的记录可能已过时,所以对等结点D将查询请求直接路由给对等结点F进行确认;结点F在本地共享目录中找到了文件o。至此,文件o被找到,查询依次经过的路径为C->B->D->F。
对等结点F将检索结果沿反向查询路径传递,即F->D->B->C,反向路径上除F结点外的各对等结点将文件o的索引(o:F)保存到目录缓存中。因此,经过本次查询后,对等结点状态如表2所示。
表2、对等结点检索后结点状态
 
对等结点 本地共享 非本地共享
A a,b f:E
B c n:F;o:F
C d,e o:F
D g,h d:C;o:F
E f
F n,o
G i,j,k c:B;f:E
H l,m d:C
由于该机制对所有检索结果都沿反向查询路径进行传递,经过较多中转结点,从而造成了一定的时延,使用户的体验下降;并且对检索结果不加区分地沿反向查询路径进行缓存,许多无用文件的索引也被广泛保存,浪费了对等结点的存储空间;而且由于对等网络中存在大量的索引,用户的检索会返回大量的检索结果,用户所需的信息可能被大量的无用信息淹没,用户必须对检索结果再次进行人工过滤才能找到需要的内容;该机制缺乏相应的索引维护机制,当文件共享对等结点取消一个文件的共享时,无法有效地对文件索引进行清除。
发明内容
本发明要解决的技术问题是提供一种文件传输的方法及装置,使用该方法能够将用户查询请求的检索结果直接返回给查询发起对等结点,并且基于文件交互即文件上传和下载将文件的索引在对等网络中存储和散布。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:
一种文件传输的方法,包括:
A、目的对等结点得到查询请求后,将所述查询请求与所述目的对等结点所维护的记录有本地共享文件的共享文件列表中的索引进行匹配,如果有匹配的索引,直接向查询发起对等结点返回满足查询请求的检索结果,进入步骤C;
B、如果没有匹配的索引,所述目的对等结点将所述查询请求与该目的对等结点所维护的文件下载列表和文件上传列表中的索引进行匹配,所述文件下载列表中保存本对等结点从对等网络中其它对等结点下载文件的索引,所述文件上传列表中保存对等网络中其余对等结点从本对等结点下载文件的索引;如果有匹配的索引,将该查询请求路由给所述匹配的索引对应的目的对等结点,进入步骤A;
C、所述查询发起对等结点从所述检索结果中选择所述文件进行下载。
一种文件传输的方法,包括:目的对等结点得到查询请求后,将所述查询请求与所述目的对等结点所维护的记录有本地共享文件的共享文件列表进行匹配,以及将所述查询请求与记录有文件下载列表和/或文件上传列表中的索引进行匹配,如果在共享文件列表有匹配的索引,直接向查询发起对等结点返回满足查询请求的检索结果,所述文件下载列表中保存本对等结点从对等网络中其它对等结点下载文件的索引,所述文件上传列表中保存对等网络中其余对等结点从本对等结点下载文件的索引;如果在文件下载列表和/或文件上传列表有匹配的索引,将所述查询请求路由给所述文件下载列表和/或文件上传列表中匹配的索引对应的目的对等结点;
所述查询发起对等结点从所述检索结果中选择所述文件进行下载。
一种文件传输的装置,包括:
查询请求处理单元,用于向其他对等结点发送查询请求或接收其他对等结点发送的查询请求;
文件列表维护单元,用于维护保存有对等结点本地共享文件的索引的共享文件列表,维护文件下载列表和文件上传列表,所述文件下载列表中保存本对等结点从对等网络中其它对等结点下载文件的索引,所述文件上传列表中保存对等网络中其余对等结点从本对等结点下载文件的索引;
索引匹配单元,用于将所述查询请求与所述共享文件列表中的索引进行匹配,和/或将所述查询请求与所述文件下载列表和/或文件上传列表中的索引进行匹配;
检索结果处理单元,用于在所述共享文件列表中有与所述查询请求匹配的索引时,直接向发起所述查询请求的对等结点返回满足查询请求的检索结果;还用于接收其他对等结点发送的符合所述查询请求的检索结果;
路由转移单元,用于在所述文件下载列表或文件上传列表中有与所述查询请求匹配的索引时,将所述查询请求路由给所述匹配的索引对应的对等结点;
文件传输单元,用于从所述检索结果中选择文件,通知共享该文件的对等结点的文件传输单元对该文件进行上传,进行所述文件的下载。
以上技术方案可以看出,由于本发明在返回检索结果时,无论查询时中间经过几个对等结点都是直接将检索结果返回给查询发起对等结点,从而使用户很快就能得到检索结果,提高用户的体验;在文件下载后只有查询发起对等结点和目的对等结点要对该文件的索引进行更新,查询时的中间结点并不对该文件的索引进行保存,从而减少了对对等结点存储空间的浪费,并且这样是根据文件的交互对文件索引进行保存,从而保存的索引都是对用户有价值的;并且本发明对同一个文件维护一棵共享树,在共享树中可以将负载高的对等结点的一些索引迁移到负载低的对等结点上,从而促使处于同一共享树的对等结点之间的负载均衡;当共享树的一个结点上的索引对用户无价值时,将对用户无价值的索引进行相应的处理,从而保证共享树中的结点对所述文件的索引都是对用户有价值的,使查询时返回的结果更加准确,用户能够从检索结果中更容易找到需要的内容。
附图说明
图1为本发明装置的结构图;
图2为本发明方法的流程图;
图3为本发明方法第一实施例的流程图;
图4为文件由未共享变为共享的处理流程图;
图5为本发明方法一实施例的初始共享树;
图6为本发明方法一实施例的共享树;
图7为本发明方法一实施例的最终共享树。
具体实施方式
本发明为一种文件传输的方法及装置,为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
先介绍本发明提供的文件传输的装置,参见图1,图1为本发明装置的结构图,如图1所示,该装置包括:
查询请求处理单元101,用于向其他对等结点发送查询请求或接收其他对等结点发送的查询请求;
接收到的查询请求可以是该装置对应的对等结点上的用户输入的查询请求,也可以是由其他对等结点转发过来的查询请求,查询请求中含有用户所处查询发起对等结点的路由信息;其中查询发起对等结点是用户所在的结点,在对等网络中任何一个用户接入对等网络都会成为对等网络中的一个对等结点;
文件列表维护单元102,用于维护保存有对等结点本地共享文件的索引的共享文件列表,维护记录有下载文件索引的文件下载列表和记录有上传文件索引的文件上传列表;
共享文件列表是该装置构建的一个索引列表,对等结点本地共享的每一个文件都在共享文件列表中有索引;索引至少包括文件名、本地路径和文件哈希(Hash)值,其中文件名用于与用户的查询请求进行匹配,本地路径可以方便的知道该文件在本地的存储位置,文件Hash值是采用哈希算法为文件生成的一个值,哈希算法可以为SHA-1、MD5等已经广泛采用的哈希算法;不同的文件根据哈希算法生成的Hash值是不一样的,但是同一个文件尽管它们的文件名不一样,但是生成的Hash值却是相同的,文件Hash值可以用来判断两个文件内容的一致性;当然索引还可以包括其他的一些信息,如文件关键字等,文件关键字是由系统自动或用户手动为文件指定的关键字,它可以与文件名相同,可以更加精确的对查询请求进行匹配;
其中文件上传列表保存对等网络中其余对等结点从本对等结点下载文件的历史记录,列表项格式为:(文件名,文件关键字,文件Hash值,是否共享,下载对等结点ID值,下载对等结点IP值,是否共享,...);其中下载对等结点ID值,下载对等结点IP值和是否共享是可以有多个的,因为可能有多个对等结点从本对等结点下载了文件;列表中的第一个“是否共享”是维护文件在本对等结点的共享状态,后一个或多个“是否共享”是该文件在下载对等结点的共享状态;同样,文件下载列表保存本对等结点从对等网络中其它对等结点下载文件的历史记录,列表项格式为:(文件名,文件关键字,文件Hash值,是否共享,上传对等结点ID值,上传对等结点IP值,是否共享,...);其中上传对等结点ID值,上传对等结点IP值和是否共享是可以有多个的,因为可能本对等结点从多个对等结点下载了文件;列表中的第一个“是否共享”是维护文件在本对等结点的共享状态,后一个或多个“是否共享”是该文件在上传对等结点的共享状态;
索引匹配单元103,用于将所述查询请求与所述共享文件列表中的索引进行匹配,和/或将所述查询请求与所述文件下载列表和/或文件上传列表中的索引进行匹配;
根据用户的查询请求与共享文件列表中的索引进行匹配,比如说用户输入了“电影”,那么就从共享文件列表中的索引中搜索有关“电影”的内容,如果没有文件关键字,就跟文件名进行匹配,匹配可以是全字匹配也可以是其他的匹配,这个由用户来决定,如果希望返回的结果尽可能精确可以选择全字匹配;如果有文件关键字,则直接跟文件关键字进行匹配就可以了;当然为了返回更多的检索结果,可以在共享文件列表中有对应的检索结果的情况下继续到文件下载列表和/或文件上传列表中去匹配;
检索结果处理单元104,用于在所述共享文件列表中有与所述查询请求匹配的索引时,直接向发起所述查询请求的对等结点返回满足查询请求的检索结果;还用于接收其他对等结点发送的符合所述查询请求的检索结果;
接上例,如果在索引中找到关于“电影”的文件,就向查询发起对等结点返回找到的文件的相关信息,例如文件名、文件大小、文件Hash值、文件在本结点的路径、本结点的网络地址IP值以及本结点在结点中的唯一标识符ID等信息,其中文件的信息是为了方便在本结点找到该文件,而结点的信息则是方便查询发起对等结点找到本结点,从而使文件的传输能够顺利进行;又因为查询请求中有查询发起对等结点的路由信息,所以能够直接向查询发起对等结点返回检索结果;
路由转移单元105,用于在所述文件下载列表或文件上传列表中有与所述查询请求匹配的索引时,将所述查询请求路由给所述匹配的索引对应的对等结点;
如果从文件下载列表和/或文件上传列表找到了相应的索引,则根据索引的对等结点ID值或IP值将查询请求路由到对应的对等结点,新的对等结点收到查询请求后继续进行匹配的操作,如果有匹配的文件就直接向查询发起请求对等结点返回检索结果或再次将查询请求路由到另外的对等结点;
这样当从本地共享文件列表中找不到对应的文件时,可以根据历史的上传/下载记录将查询请求路由到共享所述文件概率比较高的对等结点,对应的对等结点收到查询请求后,再将查询请求与共享文件列表进行匹配,如果有匹配的文件就直接向查询发起对等结点返回检索结果,而不经过转发查询请求的对等结点,从而使检索结果能够尽快地返回到查询发起对等结点,使用户能够很快的得到检索结果;当然在共享文件列表中找到对应的文件后,也可以将查询请求路由到其他对等结点,从而为返回更多的检索结果,方便用户选择;
文件传输单元106,用于从所述检索结果中选择文件,通知共享该文件的对等结点的文件传输单元对该文件进行上传,进行所述文件的下载;
文件传输单元接收到检索结果后,显示给用户,用户再从这些结果中选择自己满意的文件进行下载,查询发起对等结点的文件传输单元根据文件的信息与目的对等结点的文件传输单元进行协商,目的对等结点的文件传输单元向查询发起对等单元的文件传输单元提供该文件的上传;其中目的对等结点是指在检索结果中共享了符合查询请求的文件的对等结点,查询发起对等结点要从目的对等结点下载文件;
从上可知,将用户的查询请求与维护的共享文件列表中的索引进行匹配,从而找到满足用户请求的文件,不管查询请求中间经过了几个对等结点,目的对等结点都是直接将检索结果返回给查询发起对等结点,从而使用户能够尽快地看到检索结果,提高了用户体验。
本发明装置的第一实施例与图1所描述的装置相比增加了索引维护单元。
所述索引维护单元用于在文件传输完成后将所述文件在文件下载列表和文件上传列表中的索引进行更新;
例如用户通过查询发起对等结点从目的对等结点下载了一个文件,则查询发起对等结点的索引维护单元要在文件下载列表中增加一个该文件的索引,记录这一下载记录;同样目的对等结点要在文件上传列表中增加一个该文件的索引,记录这一上传记录;这样每一次文件交互,对应的上传结点和下载结点都会在对应的文件列表中记录这一信息,从而使文件的传输在网络中都有记录,在下一次再次有查询请求针对该文件时,可以尽快地返回检索结果,从而使用户的体验增强。
本发明装置第一实施例所述的索引维护单元还用于在收到文件状态改变的信息时,对所述文件在共享文件列表中的索引进行更新;
还用于当文件下载列表和/或文件上传列表中有该文件的索引时,对文件下载列表和/或文件上传列表中的索引进行更新,并将文件状态改变的信息发送给文件下载列表和/或文件上传列表中的索引对应的对等结点。
当一个对等结点将一个先前未共享的文件置于共享时,就要在共享文件列表中更新该文件的索引,表示该文件已经被共享;如果在文件下载列表和/或文件上传列表中也有该文件的记录,也要将该文件的索引进行更新,并通知对应的对等结点更新该文件的索引,这样在网络中关于该文件的索引都会得到更新,从而保证网络中关于每个文件的索引都是正确的,从而有助于对用户的查询请求返回更多更有效的检索结果;同样,当对等结点的一个先前共享的文件置于未共享时,也要进行上述的操作。
再介绍本发明装置第二实施例,第二实施例与第一实施例相比增加了共享树维护单元和负载均衡单元,其中共享树维护单元,用于在收到所述文件的检索结果后,创建该文件的共享树,并把创建的共享树信息发送给所述共享树中的其他对等结点;
共享树是一个虚拟的结构,在网络中并没有保存整棵树的结构,每个加入共享树的对等结点也不知道共享树中到底有哪些结点,但是他们都记录有共享树的根结点的信息,在有关树的操作中都会带上根结点,以通知其他对等结点本结点属于哪棵树;在网络中关于同一个文件的共享树可能会有多棵,共享树的构建过程将在方法中详细描述;
负载均衡单元,用于在当所述共享树中一对等结点对所述文件的负载比共享树中其他对等结点对该文件的负载高时,选择负载高的对等结点上文件上传列表中所述文件的索引对应的对等结点上该文件的状态为未共享的索引,并将选择的索引迁移到对该文件负载低的对等结点;
主要是实现一棵树内的负载均衡,负载均衡主要是通过节点间的索引迁移来实现的,具体的迁移过程将在方法中详细描述;
所述索引维护单元还用于更新该文件在文件上传列表和文件下载列表中的索引;
文件的索引发生了变化,就需要对索引进行更新,从而保证文件在网络中的索引都是正确的。
本发明装置第二实施例所述的共享树维护单元还用于在共享树的结构发生变化时更新共享树,并触发新的共享树的其他对等结点更新所述共享树;
当一个对等结点取消了一个文件的共享,那么就需要将该结点从所述文件的共享树中删除;同样一个对等结点增加了对一个文件的共享,则需要在所述文件的共享树中增加该对等结点;具体的增加和删除结点的过程将在方法中详细描述。
以上对维护一个文件的共享树进行了描述,采用了共享树后,将可以促使同一个文件的各个共享对等结点间的负载均衡,从而保证用户在下载文件时得到最快的速度。
以上对本发明提供的装置进行了描述,下面介绍本发明的方法,参见图2,图2为本发明方法的流程图,如图2所示,本发明方法主要包括以下步骤:
步骤201、目的对等结点得到查询请求后,将所述查询请求与所述目的对等结点所维护的记录有本地共享文件的共享文件列表中的索引进行匹配,如果有匹配的索引,进入步骤203;如果没有匹配的索引,进入步骤202;
收到的查询请求可以是用户在所述目的对等结点上直接输入的,也可以是其他对等结点转发过来的,查询请求就是用户想要查找的文件的关键信息;收到查询请求后,将查询请求与保存有本地共享文件的共享文件列表中的索引进行匹配,如果有匹配的索引,则说明本地共享的文件中有符合用户查询请求的文件,从而直接向查询发起对等结点返回检索结果;
共享文件列表中的索引格式为:文件名,文件关键字,文件Hash值;其中,文件名包括有该文件在本地的存储路径以及文件名,在没有文件关键字项时将用查询请求与文件名直接匹配;文件关键字是可选项,是由系统自动或用户手动为文件制定的关键字,用于与查询请求进行匹配,它可以与文件名相同,也可以是文件名的一部分关键字词;文件Hash值是采用哈希算法为文件生成的一个值,不同的文件即使有相同的文件名生成的Hash值也不一样,同一个文件不管文件名怎样变化,它的Hash值也是不变的,所以Hash值与文件名无关,而与文件含有的信息有关;
步骤202、所述目的对等结点将所述查询请求与该目的对等结点所维护的记录有下载文件索引的文件下载列表和记录有上传文件索引的文件上传列表中的索引进行匹配,如果有匹配的索引,将该查询请求路由给所述匹配的索引对应的目的对等结点,进入步骤201;
因为在共享文件列表中没有找到对应的文件索引,而很有可能本对等结点保存有匹配的文件,只是未共享或取消了共享;所以再到文件下载列表和/或文件上传列表中去匹配,而文件下载列表和/或文件上传列表记录了本对等结点的文件交互记录,从文件下载列表和/或文件上传列表中用查询请求与索引进行匹配,判断是否有匹配的索引;
步骤203、直接向查询发起对等结点返回满足查询请求的检索结果;
步骤204、查询发起对等结点从所述检索结果中选择所述文件进行下载;
给用户返回的检索结果有多个,用户可以根据结果中文件大小,共享对等结点的数量等与下载速度直接相关的信息选择适当的文件下载;
从上可知,将用户的查询请求与维护的共享文件列表中的索引进行匹配,从而找到满足用户请求的文件,不管查询请求中间经过了几个对等结点,目的对等结点都是直接将检索结果返回给查询发起对等结点,从而使用户能够尽快地看到检索结果,并且用户可以根据返回的检索结果标识的文件的相关信息选择文件下载,提高了用户体验。
如图3所示,图3是本发明方法第一实施例的具体流程图。
步骤301、对等结点收到查询请求;
对等结点可以是中间对等结点,中间对等结点的本地共享文件列表中并没有与查询请求对应的索引,但是在文件下载列表和/或文件上传列表中可能有对应的索引;也可以是目的对等结点,目的对等结点的本地共享文件列表中有与查询请求对应的索引;同样查询请求可以是用户输入的,也可以是由中间对等结点转发的;
步骤302、将查询请求与共享文件列表中的索引进行匹配,判断是否有匹配的索引?如果是,进入步骤303;如果否,进入步骤305;
先将查询请求与本地共享文件列表中的索引进行匹配,如果有对应的匹配即本地共享文件中有符合查询请求的文件,就可以直接给查询发起对等结点返回检索结果;如果没有匹配的索引,则要在文件下载列表和/或文件上传列表中进行匹配;
步骤303、直接向查询发起对等结点返回满足查询请求的检索结果;
在共享文件列表中找到匹配查询请求的索引,就直接向查询发起对等结点返回检索结果;
步骤304、用户通过查询发起对等结点从所述检索结果中选择文件进行下载,结束本流程;
查询发起对等结点收到检索结果后,显示给用户,用户再根据自己的需要以及每个文件的网络情况选择文件下载;具体可以根据文件的大小,共享该文件的对等结点的数量以及该文件的共享速度等一些与文件相关的信息,这样用户可以根据自己的需要以及自身的硬件或软件条件,选择文件下载;例如用户并不是很着急要下载一个文件,就可以选择较大的文件下载,当然还有许多情况,这里不再一一赘述;
步骤305、将查询请求与文件下载列表和/或文件上传列表中的索引进行匹配,判断是否有匹配的索引,如果是,进入步骤306,如果否,结束本流程;
因为在共享文件列表中没有找到对应的文件索引,而很有可能本对等结点保存有匹配的文件,只是未共享或取消了共享;所以再到文件下载列表和/或文件上传列表中去匹配,而文件下载列表和/或文件上传列表记录了本对等结点的文件交互记录,从文件下载列表和/或文件上传列表中用查询请求与索引进行匹配,判断是否有匹配的索引;
步骤306、将查询请求路由给所述匹配的索引对应的对等结点,进入步骤301;
从文件下载列表和/或文件上传列表中找到了匹配的索引,说明对应的对等结点曾经对本对等结点上传过对应的文件或从本对等结点下载过对应的文件,所以将查询请求路由到对应的对等结点,对应的对等结点再重复本实施例的流程;
从上可以看出,当从共享文件列表找不到匹配的文件时,再从文件下载列表和/或文件上传列表中进行查找,在找到了对应的文件索引时,再将查询请求路由到对应的对等结点,对应的对等结点再进行上述的流程;在实际应用中,为了返回尽可能多的检索结果,可以不管是否从共享文件列表中找到匹配的索引,都与文件下载列表和/或文件上传列表中的索引进行匹配,这样即使在本对等结点有对应的共享文件,也会将查询请求路由到其他的结点,从而再由其他对等结点进行同样的匹配过程,返回更多的检索结果;这样在多个结点共享同一个文件的时候,可以根据文件的Hash值将这些文件作为同一个文件,用户在选择文件下载的时候,还可以选择共享文件的对等结点多的文件下载,因为这样可以从多个结点下载同一个文件,文件的下载速度将会更快;在实际应用中先对文件下载列表进行匹配还是先对文件上传列表进行匹配都可以,本发明并不对先与哪个列表进行匹配进行限定。
在实际应用中,还有可能出现在一个对等结点的共享文件列表、文件上传列表和文件下载列表都找不到对应的索引的情况,如果这个对等结点是非查询发起对等结点还好,因为这时查询请求可能被路由到其他的对等结点,而其他的对等结点可以返回检索结果;如果这个对等结点是查询发起对等结点,这时就可以采用传统的路由策略进行查询路由,例如可以采用洪泛或随机漫步的方式将查询请求路由出去,从而尽可能保证用户的查询请求能够返回符合用户要求的检索结果,提高用户的满意程度。
本发明方法的第一实施例虽然能够保证用户顺利的进行文件的下载,但是仅仅这样做是不够的,在实际应用中还应该在文件下载完成后进行如下的步骤:
查询发起对等结点在文件下载列表中对该文件的索引进行更新;目的对等结点在文件上传列表中对该文件的索引进行更新。
因为文件下载列表和文件上传列表记录的是对等结点文件交互的历史记录,并且它们是一一对应的,一个文件在一个对等结点的文件下载列表中有记录,那么在另一个对等结点的文件上传列表中必然有对应的记录,这是因为文件交互是两个对等结点之间进行的;
在进行了上述步骤后,下载该文件的对等结点即查询发起对等结点将会在其文件下载列表中增加该文件的索引;同样上传所述文件的结点即目的对等结点将会在其文件上传列表中增加该文件的索引,而目的对等结点在一个文件的交互中可能会有多个,那么这多个对等结点的文件上传列表都要对文件索引进行更新。
在实际应用中还会出现如下的情况,对等结点的文件状态改变,文件状态改变包括两种:一个文件从未共享变为共享,一个文件从共享变为未共享;这时就需要对各个列表中的所述文件的索引进行更新,参见图4,图4是将文件从未共享变为共享的处理流程图:
步骤401、将文件x共享;
用户出于某种考虑,比如说提高某文件的散布范围等,将文件x设置为共享;
步骤402、将文件x的索引加入共享文件列表;
这样在有查询请求时可以最快的查到对应的记录,从而能够尽快的给查询发起对等结点返回检索结果;
步骤403、文件x是否在文件下载列表中,如果是,进入步骤404,如果否,进入步骤406;
步骤404、更新文件下载列表中文件x的共享状态为共享;
步骤405、通知对应的文件上传对等结点更新该文件的索引;
因为在文件下载列表中有该文件的记录的话,那就有对应的文件上传对等结点也有该文件的记录,所以要通知对应的文件上传对等结点更新该文件的索引;
步骤406、文件x是否在文件上传列表中,如果是,进入步骤407,如果否,结束本流程;
步骤407、更新文件上传列表中文件x的共享状态为共享;
步骤408、通知对应的文件下载对等结点更新该文件的索引;
通过上述步骤,当文件x由未共享设置为共享后,对等网络中该文件的索引都会得到更新,这样在文件x符合用户的查询请求时可以尽快的给查询发起对等结点返回文件x的信息,从而提高用户的满意度;
同样在文件由共享变为未共享时,处理流程的和图4描述的流程基本上一样,只是在增加索引的地方更改为删除索引,以及将处于文件下载列表和文件上传列表中的文件索引更改为未共享就可以了,在这里不再赘述;在图4中是先对文件下载列表进行更新,再对文件上传列表进行更新,而在实际应用中也可以先对文件上传列表进行更新,再对文件下载列表进行更新,因此本发明并不对先对哪个列表进行更新进行限定。
下面举例说明共享树的创建及更新步骤,因为采用哈希算法为网络中每个文件生成其对应的Hash值,而每个不同的文件的Hash值都是不同的,因此具有相同文件Hash值的多个文件被认为是同一文件,而共享树是为一个文件生成的,共享同一文件的全部或部分对等结点构成关于所述文件的共享树,一个对等结点可能共享多个文件,因此一个对等结点可能属于多个共享树,但是对于同一个文件而言,虽然网络中可能会有多个关于该文件的共享树,但是一个对等结点只能属于一个共享树,在关于文件的索引里面加上一个标识值,标识该对等结点所属共享树的根结点。
先介绍共享树的构建过程,如表3所示,表3描述的是构建共享树前各对等结点的文件下载列表和文件上传列表的状态;
表3、构建共享树前文件下载列表和文件上传列表的状态
 
对等结点 文件下载列表 文件上传列表
A
B
C
D
Q
查询对等结点Q发出关于文件X的查询请求,对等网络返回检索结果,检索结果显示对等结点A、B、C和D返回的文件X的Hash值相同,则对等结点Q选择其中任意一个或多个对等结点进行文件X的下载。最初,对等节点A、B、C和D并不知道相互都共享了文件X,它们之间也没有任何关系,并且返回值显示它们并没有加入任何一棵关于文件X的共享树;这时就可以为文件X创建共享树,本发明提供两种创建共享树的方法:
一)、如果对等结点Q只选择一个对等结点进行文件X的下载,本说明书以对等结点A进行描述,就以对等结点A为共享树的根结点;当同时从多个对等结点下载时,可以采用随机选择的方式选择根结点,也可以综合考虑各个结点的状态,如结点的在线时长,共享速度等方面综合考虑选择根结点,本发明并不对具体的选择策略进行限定,选择了对等结点A作为共享树的根结点;对等结点Q将对等结点B、C和D也共享了文件X的信息通知对等结点A,对等结点A再通知对等结点B、C和D以A为根结点创建共享树,对等结点A、B、C和D将各自列表中文件X的索引进行更新,生成共享树,生成共享树后文件下载列表和文件上传列表的状态如表4所示;
二)、采用一)中的方法选定对等结点A作为根结点后,通知对等结点B、C和D对等结点A也共享了文件X,对等结点B、C和D再与对等结点A进行交互,以A为根结点创建共享树,对等结点A、B、C和D将各自列表中文件X的索引进行更新,生成共享树,生成共享树后文件下载列表和文件上传列表的状态如表4所示;
文件下载完成后,如果对等结点Q也将文件X共享,则对等结点Q也加入关于文件X的共享树,如果不共享的话,Q只是记录文件X的交互事件,Q并未成为共享树的结点;
如表4所示,共享树创建后各个对等结点关于文件X的索引都进行了更新,原来B、C和D与A之间没有关系,现在有索引将它们联系起来,各个索引最后添加了标识A,表明它们已经加入了文件X的共享树,并且这棵共享树的根结点为A;创建了共享树后,对等网络中关于文件X的索引增加,这样在有关于文件X的查询请求后,可以更快更多的给查询发起对等结点返回检索结果。
表4、构建共享树后文件下载列表和文件上传列表的状态
 
对等结点 文件下载列表 文件上传列表
A X,共享,(B,共享),(C,共享),(D,共享),(Q,未共享),A
B X,共享,(A,共享),A
C X,共享,(A,共享),A
D X,共享,(A,共享),A
Q X,未共享(A,共享)
同一棵共享树中,有的结点由于共享某文件比较早,因此被下载得比较多,其索引被散布得比较广,越来越多的对等结点向其发出文件下载请求,它的带宽开销、处理开销、存储开销都比较大;而一些结点加入该共享树较晚,因此其索引散布范围较小,负载相对较轻,为了保证网络的优质运行,同时也为了减轻负载较重的对等结点的负载,本发明还公开了使共享树中各对等结点负载均衡的方法;其中负载主要是带宽开销、处理开销和存储开销,带宽开销是为对等结点上传文件消耗的,处理开销是为实现各个上传和检索消耗的,而存储开销是由存储索引消耗的,其中带宽开销和处理开销是主要的开销,因此最主要是考虑带宽开销和处理开销,由于共享文件列表由对等结点的个体行为所影响,不涉及到对等结点相互间的交互,而文件下载列表和文件上传列表体现了对等结点间的历史行为和相互关系,因此只考虑文件下载列表和文件上传列表所带来的负载均衡问题。
还是以表4为例,假设此后的某一时刻,对等节点P将文件X共享,并且对等结点P加入了这棵关于文件X的共享树。如果对等结点A负载过重,而对等结点P负载较轻,则可以将对等结点A的文件上传列表中的一些未共享索引迁移到对等结点P的文件上传列表中,同时对相应下载对等结点的下载列表中的相应索引进行更新,其中所述未共享索引是指索引对应的下载结点中该文件处于未共享状态的索引;在本例中只有一个索引,在有多个索引的情况下可以随机选择部分或者全部迁移到对等结点P中,索引迁移后的文件下载列表和文件上传列表的状态如表5所示:
表5、索引迁移后文件下载列表和文件上传列表的状态
 
对等结点 文件下载列表 文件上传列表
A X,共享,(B,共享),(C,共享),(D,共享),(P,共享),A
B X,共享,(A,共享),A
C X,共享,(A,共享),A
D X,共享,(A,共享),A
Q X,未共享(P,共享)
P X,共享,(A,共享),A X,共享,(Q,未共享),A
对比表4可知,对等结点A将“Q,未共享”这一条索引迁移到了对等结点P,对等结点Q相应的将“A,共享”这一条索引更新为“P,共享”,这样对等结点Q再有关于文件X的查询请求时,就会将查询请求路由到对等结点P而不是对等结点A,从而降低对等结点A的负载,从而可以尽可能的使共享树的各个对等结点的负载均衡;在实际应用中索引迁移可以发生在共享树的任意对等结点之间,从而尽可能保证共享树中的各个对等结点关于该文件的负载均衡。
在实际应用中,如果原来共享某文件的对等结点取消了所述文件的共享,而指向该对等结点的关于该文件的索引已经在对等网络中广泛散布,必须对索引进行更新,前面已经对更新的流程进行了描述;但是对索引进行更新仅仅能保证网络中各索引是正确的,但是不能保证各个索引都是对用户有价值的,因为这样处理后会产生很多没有意义的索引;以表5为例,当对等结点P取消文件X的共享后,对等结点Q关于文件X的索引就会变成“X,未共享(P,未共享)”,而该索引对于文件X的检索不能提供有意义的信息;为了消除这种对用户无价值的索引,可以按照以下的步骤对对等结点进行处理:
步骤一、取消文件共享的对等结点将文件上传列表中的未共享索引转移到文件上传列表和文件下载列表中的共享结点或其他共享结点上;
转移时选择负载较低的目的结点,从而保证各个对等结点的负载均衡;其中未共享索引是指索引对应的下载结点中该文件处于未共享状态的索引;
步骤二、对被转移索引所对应的下载对等结点的下载列表中的相应索引进行更新;
这是为了保证转移后各个对等结点的索引也能保持对用户有价值;
这样可以消除对等网络中对用户无价值的索引,在对查询请求进行匹配的时候,不用对该文件的索引进行无效的匹配,可以降低对等结点的处理开销;在先前的状态下,因为在文件上传列表或上传列表有该文件的索引,所以会对其进行匹配,但是该文件的索引却是对用户无价值的,所以使对等结点有不必要的处理开销;并且更新了对用户无价值的索引后,虽然索引是迁移到了其它对等结点,但是该索引却已变为对用户有价值的索引,降低了存储对用户无价值的索引所带来的存储开销。
下面举一个实际的例子对上述流程进行描述,参见表6,表6描述的是文件X的一棵共享树的各个结点的当前状态,它构成的共享树如图5所示;
如图5描述的共享树,根结点是对等结点A,它有两个子结点对等结点B和对等结点C,其中结点B有两个子结点对等结点D和对等结点E;对等结点F从对等结点B下载了文件X,但是并没有将文件X共享;
表6、共享树各个结点文件下载列表和文件上传列表的当前状态
 
对等结点 文件下载列表 文件上传列表
A X,共享,(B,共享),(C,共享),A
B X,共享,(A,共享),A X,共享,(D,共享),(E,共享),(F,未共享),A
C X,共享,(A,共享),A
D X,共享,(B,共享),A
E X,共享,(B,共享),A
F X,未共享,(B,共享)
假设对等结点B取消了文件X的共享,对等结点F关于文件X的索引就会变成“X,未共享,(B,未共享)”,为了防止这种索引出现,对等结点B将索引“F,未共享”迁移到对等结点A、D或E中的一个,假设对等结点D的负载最低,将索引迁移到对等结点D,同样对等结点F也要将索引进行更新;并且当一个对等结点取消了某文件的共享后,就自动退出该文件的共享树;在经过上面的处理步骤后,共享树的各个节点的状态如表7所示,此时状态表对应的共享树如图6所示;
表7、共享树各个结点索引迁移后文件下载列表和文件上传列表的状态
 
对等结点 文件下载列表 文件上传列表
A X,共享,(B,未共享),(C,共享),A
B X,未共享,(A,共享) X,未共享,(D,共享),(E,共享)
C X,共享,(A,共享),A
D X,共享,(B,未共享),D X,共享,(F,未共享),D
E X,共享(B,未共享),E
F X,未共享(D,共享)
如图6所示,共享树已经被拆开成了3棵,一棵是根结点为A,它只有一个子结点C,另外两棵都只有一个结点,分别是D和E;可以看出,结点取消共享后,采用上述处理流程进行处理可能会破坏原有共享树的结构,使原有共享树成为多个互不相连的分支,即分成了多个共享树,这会为结点间的负载均衡带来相应问题,由于共享树被分成多个分支,各分支被隔离开来,限制了负载转移目的结点的可选择范围。因此,必须在前面所述的取消共享流程的基础上,采用如下流程进行后续处理步骤:
删除的结点将文件上传列表中索引对应的所述文件的状态为未共享的索引迁移至共享树中的处于所述结点的文件下载列表和/或文件上传列表中的共享结点或其他处于共享树中的共享结点,所述索引迁移至的结点触发迁移的索引对应的对等结点更新所述文件的索引;
删除的结点选择一个该结点的子结点置于删除的结点所处的位置,处于该位置的新的结点更新所述文件的索引,并触发其在新共享树的父子结点更新所述文件的索引;
这是因为在对等结点的文件上传列表中的共享对等结点是其子结点,而在文件下载列表中的共享对等结点其父结点,经过上述处理步骤后得出一棵新的共享树,接表7描述的例子,新的共享树的各个节点文件下载列表和文件上传列表的状态如表8所示,它对应的共享树如图7所示。
表8、重新构建共享树后文件下载列表和文件上传列表的状态
 
对等结点 文件下载列表 文件上传列表
A X,共享,(B,未共享),(C,共享),(D,共享),A
B X,未共享,(A,共享) X,未共享,(D,共享),(E,共享)
C X,共享,(A,共享),A
D X,共享,(A,共享),(B,未共享),A X,共享,(F,未共享),(E,共享),A
E X,共享(D,共享),(B,未共享),A
F X,未共享(D,共享)
如图7所示,新的共享树根结点为A,它有两个子结点D和C,其中D又有一个子结点E;
从上可以看出,当某文件的共享树中一个对等结点取消了对所述文件的共享后,为了避免其它对等结点上出现对用户无价值的索引,将取消共享的对等结点的文件上传列表中的未共享索引迁移到文件下载列表和/或文件上传列表中的共享结点或处于新共享树的其他结点上,并将索引迁移带来的索引变化进行更新,从而使对用户无价值的索引变为对用户有价值,降低了文件查询时的开销;对等结点取消了文件的共享,就自动退出了所述文件的共享树,当所述对等结点退出所述共享树会破坏共享树的结构时,从它的子结点中选择一个取代它的位置,并更新索引,从而保证了共享树的完整,在促进负载均衡时可以提供更大的范围,使网络更为稳定;其中选择哪个子结点取代原有结点的位置,可以选择在线时间长或者文件共享状态比较好的对等结点,本发明并不对具体的选择条件进行限定。
以上对本发明所提供的一种文件传输的方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1、一种文件传输的方法,其特征在于,包括:
A、目的对等结点得到查询请求后,将所述查询请求与所述目的对等结点所维护的记录有本地共享文件的共享文件列表中的索引进行匹配,如果有匹配的索引,直接向查询发起对等结点返回满足查询请求的检索结果,进入步骤C;
B、如果没有匹配的索引,所述目的对等结点将所述查询请求与该目的对等结点所维护的文件下载列表和文件上传列表中的索引进行匹配,所述文件下载列表中保存本对等结点从对等网络中其它对等结点下载文件的索引,所述文件上传列表中保存对等网络中其余对等结点从本对等结点下载文件的索引;如果有匹配的索引,将该查询请求路由给所述匹配的索引对应的目的对等结点,进入步骤A;
C、所述查询发起对等结点从所述检索结果中选择所述文件进行下载。
2、如权利要求1所述的文件传输的方法,其特征在于,所述文件下载完成后进一步包括:
所述查询发起对等结点在文件下载列表中对该文件的索引进行更新;
所述目的对等结点在文件上传列表中对该文件的索引进行更新。
3、如权利要求1或2所述的文件传输的方法,其特征在于,当对等网络中任一对等结点得到文件状态改变的信息时,所述方法还包括:
在共享文件列表中对状态改变的文件的索引进行更新;
如果在所述对等结点维护的文件下载列表或文件上传列表中有该文件的索引,对文件下载列表或文件上传列表中的该文件的索引进行更新,并将该文件状态改变的信息发送给所述文件下载列表或文件上传列表中的该文件的索引对应的对等结点,所述文件状态改变为文件从未共享变为共享或文件从共享变为未共享。
4、如权利要求1或2所述的文件传输的方法,其特征在于,所述方法还包括:
所述查询发起对等结点收到所述文件的检索结果后,触发所述目的对等结点创建所述文件的共享树;
当所述共享树中一对等结点对所述文件的负载比共享树中其他对等结点对该文件的负载高时,所述负载高的对等结点选择文件上传列表中所述文件的索引对应的对等结点上该文件的状态为未共享的索引,将选择的索引迁移到对该文件负载低的对等结点;
所述负载低的对等结点在其维护的文件上传列表中对所述文件的索引进行更新,并触发迁移的索引对应的对等结点更新所述文件在文件下载列表中的索引。
5、如权利要求4所述的文件传输的方法,其特征在于,当共享树结构发生变化时,该方法进一步包括:
共享树结构发生变化的对等结点触发更新共享树结构,并触发共享树中对等结点更新共享树。
6、如权利要求5所述的文件传输的方法,其特征在于,当从共享树中删除一个结点时,所述共享树结构的更新具体为:
删除的结点将文件上传列表中索引对应的所述文件的状态为未共享的索引迁移至共享树中的处于所述结点的文件下载列表和/或文件上传列表中的共享结点或处于共享树中的其他共享结点,所述索引迁移至的结点触发迁移的索引对应的对等结点更新所述文件的索引;
删除的结点选择一个该结点的子结点置于删除的结点所处的位置,处于该位置的新的结点更新所述文件的索引,并触发其在新共享树的父子结点更新所述文件的索引。
7、如权利要求4所述的文件传输的方法,其特征在于,所述共享树的创建具体为:
所述查询发起对等结点确定所述文件的共享结点,并选择其中一个下载结点作为根结点,将除所述根结点外的其他共享结点的信息通知所述根结点;
所述根结点根据所述其他共享结点的信息与所述其他共享结点进行交互,并将其他共享结点作为所述根结点的子结点构建所述文件的共享树。
8、如权利要求4所述的文件传输的方法,其特征在于,所述共享树的创建具体为:
所述查询发起对等结点确定所述文件的共享结点,并选择其中一个下载结点作为根结点,向除所述根结点以外的其他共享结点通知所述根结点的信息;
所述其他共享结点根据所述根结点的信息与所述根结点进行交互,所述根结点将所述其他共享结点作为所述根结点的子结点构建所述文件的共享树。
9、一种文件传输的方法,其特征在于,包括:
目的对等结点得到查询请求后,将所述查询请求与所述目的对等结点所维护的记录有本地共享文件的共享文件列表进行匹配,以及将所述查询请求与文件下载列表和/或文件上传列表中的索引进行匹配,如果在共享文件列表有匹配的索引,直接向查询发起对等结点返回满足查询请求的检索结果,所述文件下载列表中保存本对等结点从对等网络中其它对等结点下载文件的索引,所述文件上传列表中保存对等网络中其余对等结点从本对等结点下载文件的索引;如果在文件下载列表和/或文件上传列表有匹配的索引,将所述查询请求路由给所述文件下载列表和/或文件上传列表中匹配的索引对应的目的对等结点;
所述查询发起对等结点从所述检索结果中选择所述文件进行下载。
10、一种文件传输的装置,其特征在于,包括:
查询请求处理单元,用于向其他对等结点发送查询请求或接收其他对等结点发送的查询请求;
文件列表维护单元,用于维护保存有对等结点本地共享文件的索引的共享文件列表,维护文件下载列表和文件上传列表,所述文件下载列表中保存本对等结点从对等网络中其它对等结点下载文件的索引,所述文件上传列表中保存对等网络中其余对等结点从本对等结点下载文件的索引;
索引匹配单元,用于将所述查询请求与所述共享文件列表中的索引进行匹配,和/或将所述查询请求与所述文件下载列表和/或文件上传列表中的索引进行匹配;
检索结果处理单元,用于在所述共享文件列表中有与所述查询请求匹配的索引时,直接向发起所述查询请求的对等结点返回满足查询请求的检索结果;还用于接收其他对等结点发送的符合所述查询请求的检索结果;
路由转移单元,用于在所述文件下载列表或文件上传列表中有与所述查询请求匹配的索引时,将所述查询请求路由给所述匹配的索引对应的对等结点;
文件传输单元,用于从所述检索结果中选择文件,通知共享该文件的对等结点的文件传输单元对该文件进行上传,进行所述文件的下载。
11、如权利要求10所述的文件传输的装置,其特征在于,该装置还包括:
索引维护单元,用于在所述文件传输完成后将所述文件在文件下载列表和文件上传列表中的索引进行更新。
12、如权利要求11所述的文件传输的装置,其特征在于,所述索引维护单元还用于在收到文件状态改变的信息时,对所述文件在共享文件列表中的索引进行更新;
还用于当文件下载列表和/或文件上传列表中有该文件的索引时,对文件下载列表和/或文件上传列表中的索引进行更新,并将所述文件状态改变的信息发送给文件下载列表和/或文件上传列表中的索引对应的对等结点,所述文件状态改变为文件从未共享变为共享或文件从共享变为未共享。
13、如权利要求10至12任一所述的文件传输的装置,其特征在于,该装置还包括:
共享树维护单元,用于创建所述文件的共享树,并把创建的共享树的根结点通知所述共享树中的其他对等结点;
负载均衡单元,用于在当所述共享树中一对等结点对所述文件的负载比共享树中其他对等结点对该文件的负载高时,选择所述负载高的对等结点上文件上传列表中所述文件的索引对应的对等结点上该文件的状态为未共享的索引,并将选择的索引迁移到对该文件负载低的对等结点;
所述索引维护单元还用于更新该文件在文件上传列表和/或文件下载列表中的索引。
14、如权利要求13所述的文件传输的装置,其特征在于,所述共享树维护单元还用于在共享树的结构发生变化时更新共享树,并触发新的共享树的其他对等结点更新所述共享树。
CNB2006101381025A 2006-11-09 2006-11-09 一种文件传输的方法及装置 Expired - Fee Related CN100474809C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101381025A CN100474809C (zh) 2006-11-09 2006-11-09 一种文件传输的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101381025A CN100474809C (zh) 2006-11-09 2006-11-09 一种文件传输的方法及装置

Publications (2)

Publication Number Publication Date
CN1968099A CN1968099A (zh) 2007-05-23
CN100474809C true CN100474809C (zh) 2009-04-01

Family

ID=38076671

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101381025A Expired - Fee Related CN100474809C (zh) 2006-11-09 2006-11-09 一种文件传输的方法及装置

Country Status (1)

Country Link
CN (1) CN100474809C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101895564B (zh) * 2010-06-08 2014-07-16 中兴通讯股份有限公司 分布式文件系统中文件资源定位的方法、系统及装置
CN102063565B (zh) * 2010-12-24 2014-08-13 深圳市理邦精密仪器股份有限公司 数据传输方法及系统
US20160315997A1 (en) * 2013-12-12 2016-10-27 Beijing Qihoo Technology Company Limited File transfer method, device, and system
CN112052222A (zh) * 2020-08-31 2020-12-08 康键信息技术(深圳)有限公司 异构对象存储集群访问方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN1968099A (zh) 2007-05-23

Similar Documents

Publication Publication Date Title
CN101232415B (zh) 对等网络节点访问装置、方法和系统
JP4938074B2 (ja) リソースの位置情報の要求方法、当該方法のためのユーザノードおよびサーバ
Asghari et al. Resource discovery in the peer to peer networks using an inverted ant colony optimization algorithm
JP4862463B2 (ja) 情報通信システム、コンテンツカタログ情報検索方法、及びノード装置等
US20050108368A1 (en) Method and apparatus for representing data available in a peer-to-peer network using bloom-filters
US8250171B2 (en) Content delivery apparatus, content delivery method, and content delivery program
WO2007119413A1 (ja) 情報通信システム、コンテンツカタログ情報配信方法、及びノード装置等
JP6785913B2 (ja) インターネット上での違法なコンテンツの配布を防止する方法及びシステム
US20120179778A1 (en) Applying networking protocols to image file management
US8208477B1 (en) Data-dependent overlay network
US8559445B2 (en) Systems and methods for distributing data
CN102420864B (zh) 一种面向海量数据的数据交换方法
CN100474809C (zh) 一种文件传输的方法及装置
Mohammadi et al. Data replication mechanisms in the peer‐to‐peer networks
Yu et al. Granary: A sharing oriented distributed storage system
Yang et al. An efficient interest-group based search mechanism in unstructured peer-to-peer networks
Liu et al. Efficient resource discovery in self‐organized unstructured peer‐to‐peer networks
Blanco et al. A survey of data management in peer-to-peer systems
Sodsee Placing files on the nodes of peer-to-peer systems
Loban Between rhizomes and trees
CN103036964A (zh) 一种基于p2p的网吧服务器数据更新方法
JP2010026866A (ja) コンテンツ分散保存システム、総評価値管理装置、管理処理プログラム、ノード装置、及び総評価値管理方法
Schäffner Data Management in Distributed Systems
JP4521419B2 (ja) ノード装置、転送ノード決定方法及びプログラム
Perera et al. Broadcast Updates with Local Look-up Search (BULLS) a new peer-to-peer protocol

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090401

Termination date: 20191109