匿名获取文件的方法和节点的制作方法

文档序号:7886946阅读:285来源:国知局
专利名称:匿名获取文件的方法和节点的制作方法
技术领域
本发明涉及互联网领域,特别涉及ー种匿名获取文件的方法和节点。
背景技术
BT(BitTorrent,内容分发协议)是著名的文件共享工具,拥有大量的用户。BT 的应用主要包括两个步骤第一,将需要共享的文件进行切分,得到种子文件,并上传到 Tracker服务器或是网络上;第二,在Tracker服务器或是网络上下载种子文件,然后基于种子文件开始对共享文件的下载。目前,当用户通过BT下载文件吋,首先从Tracker服务器取回节点列表信息,然后向拥有请求信息的节点发起请求,根据BitTorrent协议中规定,节点如果拥有用户所请求的信息,则开始文件传递;如果没有,则请求失败。其中,在通信过程中通信双方都知道对方的身份,即请求或者拥有的内容。在对现有技术进行分析后,发明人发现现有技术至少具有如下缺点在BT系统中,由于通信双方都知道对方的身份,使得BT并不能提供很好的匿名保护,也就是说当用户在用BT下载和上传文件吋,能够监视局部网络的攻击者是不难发现通信双方的,例如节点B收到节点A的请求,则B可以确定A想要下载什么内容,如果B是ー个攻击者,那么A 的隐私完全暴露。

发明内容
为了在BT下载过程中保护互联网用户的隐私,本发明实施例提供了ー种匿名获取文件的方法和节点。所述技术方案如下一方面,提供了ー种匿名获取文件的方法,所述方法包括获取客户端下载文件的请求信息;根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。所述将所述文件的信息传输给所述客户端,包括判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,否则返回给所述客户端请求失败的消息。所述将所述请求信息转发给本地的邻居节点,包括判断本地的邻居节点是否有所述文件,如果是则将所述请求信息转发给所述邻居 ザル所述将所述请求消息转发给本地的邻居节点,之后还包括接收并存储所述邻居节点返回的所述文件的信息,所述文件的信息包括所述邻居节点拥有的邻居节点的信息。
所述存储所述邻居节点返回的所述文件的信息,包括根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。另ー方面,还提供了ー种节点,所述节点包括获取模块,用于获取客户端下载文件的请求信息;生成模块,用于根据所述请求信息生成转发所述请求信息的概率;处理模块,用于判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。所述处理模块包括第一判断単元,用于判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,否则返回给所述客户端请求失败的消息。所述处理模块还包括第二判断単元,用于判断本地的邻居节点是否有所述文件的邻居节点,如果是则将所述请求信息转发给所述邻居节点。所述处理模块还包括存储单元,用于将所述请求消息转发给本地的邻居节点之后,接收并存储所述邻居节点返回的所述文件的信息,所述文件的信息包括所述邻居节点拥有的邻居节点的信肩、ο所述存储単元包括添加子単元,用于根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。本发明实施例提供的技术方案,获取客户端下载文件的请求信息;根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。这样以概率转发客户端的请求信息,使得攻击者并不能确定请求的发起者是谁,目的方又是谁,而只能概率猜测,从而保证了通信双发的隐私。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1提供的ー种匿名获取文件的方法的流程图;图2是本发明实施例2提供的ー种匿名获取文件的方法的流程图;图3是本发明实施例3提供的一种节点的示意图;图4是本发明实施例3提供的另ー种节点的示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进ー步地详细描述。实施例1參见图1,本实施例中提供了ー种匿名获取文件的方法,包括101、获取客户端下载文件的请求信息;102、根据所述请求信息生成转发所述请求信息的概率;103、判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。本实施例中,将所述文件的信息传输给所述客户端,包括判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,否则返回给所述客户端请求失败的消息。可选地,本实施例中,将所述请求信息转发给本地的邻居节点,包括判断本地的邻居节点是否有所述文件,如果是则将所述请求信息转发给所述邻居 ザル可选地,本实施例中,将所述请求消息转发给本地的邻居节点,之后还包括接收并存储所述邻居节点返回的所述文件的信息,所述文件的信息包括所述邻居节点拥有的邻居节点的信息。优选地,本实施例中所述存储所述邻居节点返回的所述文件的信息,包括根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。本实施例的有益效果包括获取客户端下载文件的请求信息;根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。这样以概率转发客户端的请求信息,使得攻击者并不能确定请求的发起者是谁,目的方又是谁,而只能概率猜测,从而保证了通信双发的隐私。实施例2參见图2,本实施例提供了ー种匿名获取文件的方法,包括201、节点接收客户端发起的下载文件的请求信息。本实施例中,当客户端向"Tracker服务器请求下载文件吋,Tracker进行响应,选择部分节点传输给客户端,同时把该节点加入到Swarm节点列表中呈现给客户端,客户端从Tracker服务器取回Swarm节点列表后,选择节点列表中的任ー节点作为请求对象,井向该节点发起下载文件的请求。202、节点收到客户端发起的请求后,根据所述请求信息生成转发所述请求消息的概率。本实施例中,节点收到请求信息后,按照本地处理策略,可以在本地处理该请求信息,也可以将该请求信息转发给其邻居节点去处理。具体的,节点接收到请求信息后,随机生成一个转发该请求消息的概率,根据概率值决定该请求消息的处理方式。其中转发请求消息的概率可以通过随机生成器生成,也可以通过其它方式来生成,具体的实现方式现有技术中有很多种,对此本实施例不做具体限定。203、判断所述概率是否满足预设的范围,如果是则执行步骤204;否则执行步骤 205。本实施例中,判断本地生成的概率是否满足预设的范围,包括判断本地生成的概率是否小于预设的阈值,其中预设的阈值是预先规定好的,可以为0. 3、0. 5或是0. 6对此本实施例不做具体限定,如果预设的阈值为0.6,规定如果生成的概率小于0.6,则在本地节点处理请求消息,不再将请求消息转发给其它的邻居节点,如果生成的概率大于0. 6,则将该请求消息转发给邻居节点处理,如本地生成的概率为0. 8,大于0. 6,则将该请求消息继续转发给其它的邻居节点进行处理,邻居节点接收到该请求消息后,进行与本地节点相应的处理流程,即生成转发请求消息的概率,判断该请求消息是在本地处理还是转发给其它邻居节点处理,对此本实施例不再赘述。本实施例中,判断本地生成的概率是否满足预设的范围,包括判断本地生成的概率是否大于预设的阈值,如果大于预设的阈值则在本地节点处理该请求消息,如果小于预设阈值则将该请求消息转发给邻居节点处理,对此本实施例不做具体限定。204、判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,使所述客户端在本地下载所述文件;否则返回给所述客户端请求失败的消息。本实施例中,本地节点可能是Tracker服务器提供的节点列表中的节点,其中将 Tracker服务器提供的节点列表中的节点称作节点1,也可能是节点2转发到的节点,如节点1按照本地处理策略将请求信息转发给节点2,节点2又将该请求信息转发给节点3。如果本地节点为节点1,则判断出需要在本地处理请求消息后,则直接将文件传输给客户端。 如果本地节点是节点3,且节点3根据生成的概率判断出需要本地处理请求信息,则该节点首先判断本地是否有客户端请求下载的文件,如果本地有客户端请求的文件,则响应客户端的请求,按请求信息的传输路径将文件的信息返回给客户端,即将文件沿着节点3、节点 2到节点1的原路径返回到客户端,以使客户端在本地下载所述文件。本实施例中,如果本地节点是节点3,则在节点3返回的文件信息的过程中,途径的每个节点都会存储该文件的信息,如节点2在接收到节点3返回的文件信息的时候,将文件信息保存,如果判断出本地已存储有该文件信息,则再将该文件信息删除,如果发现本地没有存储有该文件信息,则保留该文件信息。本实施例中,如果本地节点上没有客户端需要下载的文件,则返回给客户端请求失败的信息,使得客户端可以在Tracker服务器提供的节点列表中寻找其它的节点下载文件。205、将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。本实施例中,如果生成的概率不满足预设的范围,如大于预设的阈值,则将该请求信息转发给其邻居节点,该邻居节点再对该请求消息按照本地处理策略进行处理。其中优选地,将所述请求信息转发给本地的邻居节点,包括判断本地的邻居节点是否有所述文件的邻居节点,如果是则将所述请求信息转发给所述邻居节点。本实施例中,在将请求信息转发给邻居节点之前先判断邻居节点是否存储有客户端需要请求下载的文件,如果其邻居节点有客户端需要下载的文件,则再将该请求信息转发给该邻居,这样能降低客户端请求失败的概率。本实施例中,任何一个节点收到请求后,都会进行概率转发,这样攻击者并不能确定请求的发起者是谁,目的方又是谁,而只能概率猜测,从而保证了通信双发的隐私。206、接收并存储邻居节点返回的所述文件的信息。本实施例中,如果本地节点没有处理请求信息,而是将请求信息转发给邻居节点处理,如上述节点3决定响应请求信息,则节点3沿着节点2,节点1的路径回传文件的信息,其中文件的信息除了包括客户端请求下载文件的内容外,还包括该邻居节点拥有的邻居节点的信息,节点1接收到节点3返回的文件信息后,保存该信息,并将该邻居节点拥有的邻居节点添加为本地的邻居节点。可选地,本实施例中,节点1可以根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。具体的本实施例中,预设的规则可以是,判断邻居节点拥有的某些邻居节点上是否有相同的文件信息,如果是,则可以将这些节点添加为本地的邻居节点,或是,判断邻居节点拥有的某些邻居节点上是否有预设数量的文件信息,如超过20个文件的信息,如果是则可以将这样的节点添加为邻居节点,并可以进ー步对添加到的邻居节点进行筛选,将ー些通信质量好,内容丰富的节点保留为邻居节点,相対的,将ー些内容少的节点节点删除,对此本实施例不做具体限定,总的原则是以较大的概率使得拥有同一个文件分片的节点聚集在一起;同时要保证拥有不同分片的节点成为自己的邻居,以能够保证以很高的概率请求成功。本发明实施例提供的技术方案的有益效果是获取客户端下载文件的请求信息; 根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。这样以概率转发客户端的请求信息, 使得攻击者并不能确定请求的发起者是谁,目的方又是谁,而只能概率猜测,从而保证了通信双发的隐私。并且在将请求信息转发给邻居节点之前先判断邻居节点是否有请求文件的信息,如果有则再将请求信息转发给邻居节点,这样能提高客户端请求成功的概率。且在接收到邻居节点返回的文件的信息后,存储该文件信息,将邻居节点拥有的邻居节点添加为本地的邻居节点,这样进一步保证客户端请求成功的概率。实施例3參见图3,本实施例中提供了ー种节点,所述节点包括获取模块301、生成模块 302和处理模块303。获取模块301,用于获取客户端下载文件的请求信息;生成模块302,用于根据所述请求信息生成转发所述请求信息的概率;处理模块303,用于判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。參见图4,本实施例中,处理模块303包括第一判断単元303a,用于判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,否则返回给所述客户端请求失败的消息。可选地,本实施例中处理模块303还包括第二判断単元30北,用于判断本地的邻居节点是否有所述文件,如果是则将所述请求信息转发给所述邻居节点。可选地,參见图4,本实施例中,处理模块303还包括存储单元303c,用于将所述请求消息转发给本地的邻居节点之后,接收并存储所述邻居节点返回的所述文件的信息,所述文件的信息包括所述邻居节点拥有的邻居节点的
イロ‘ >Ε、。优选地本实施例中,存储单元303c包括添加子単元,用于根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。本实施例的有益效果包括获取客户端下载文件的请求信息;根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。这样以概率转发客户端的请求信息,使得攻击者并不能确定请求的发起者是谁,目的方又是谁,而只能概率猜测,从而保证了通信双发的隐私。本实施例提供的节点,具体可以与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种获取文件的方法,其特征在干,所述方法包括 获取客户端下载文件的请求信息;根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端, 否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。
2.根据权利要求1所述的方法,其特征在干,所述将所述文件的信息传输给所述客户端,包括判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,否则返回给所述客户端请求失败的消息。
3.根据权利要求1所述的方法,其特征在干,所述将所述请求信息转发给本地的邻居节点,包括判断本地的邻居节点是否有所述文件,如果是则将所述请求信息转发给所述邻居节点。
4.根据权利要求1-3任一项所述的方法,其特征在干,所述将所述请求消息转发给本地的邻居节点,之后还包括接收并存储所述邻居节点返回的所述文件的信息,所述文件的信息包括所述邻居节点拥有的邻居节点的信息。
5.根据权利要求4所述的方法,其特征在干,所述存储所述邻居节点返回的所述文件的信息,包括根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。
6.ー种节点,其特征在干,所述节点包括 获取模块,用于获取客户端下载文件的请求信息;生成模块,用于根据所述请求信息生成转发所述请求信息的概率; 处理模块,用于判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。
7.根据权利要求6所述的节点,其特征在干,所述处理模块包括第一判断単元,用于判断本地是否有所述文件,如果是则将所述文件的信息按所述请求消息的传输路径回传给所述客户端,否则返回给所述客户端请求失败的消息。
8.根据权利要求6所述的节点,其特征在干,所述处理模块还包括第二判断単元,用于判断本地的邻居节点是否有所述文件,如果是则将所述请求信息转发给所述邻居节点。
9.根据权利要求6-8任ー项所述的节点,其特征在干,所述处理模块还包括 存储单元,用于将所述请求消息转发给本地的邻居节点之后,接收并存储所述邻居节点返回的所述文件的信息,所述文件的信息包括所述邻居节点拥有的邻居节点的信息。
10.根据权利要求9所述的节点,其特征在干,所述存储単元包括添加子単元,用于根据预设的规则对所述邻居节点拥有的邻居节点进行筛选,将所述筛选出的邻居节点添加为本地的邻居节点。
全文摘要
本发明公开了一种匿名获取文件的方法和节点,属于互联网领域。所述方法包括获取客户端下载文件的请求信息;根据所述请求信息生成转发所述请求信息的概率;判断所述概率是否满足预设的范围,如果是则将所述文件的信息传输给所述客户端,否则将所述请求信息转发给本地的邻居节点,使所述客户端在本地的邻居节点上下载所述文件。本发明实施例中以概率转发客户端的请求,这样攻击者并不能确定请求的发起者是谁,目的方又是谁,而只能概率猜测,从而保证了通信双发的隐私。
文档编号H04L29/06GK102546634SQ201210006349
公开日2012年7月4日 申请日期2012年1月10日 优先权日2012年1月10日
发明者谢丰, 赵伟, 赵玲玲, 金昕, 陆天波, 陈冬青 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1