首页> 中国专利> 一种点对点文件下载方法、服务器及客户端

一种点对点文件下载方法、服务器及客户端

摘要

本发明提供一种点对点文件下载方法、服务器及客户端。所述点对点文件下载方法包括:在服务器上建立和维护一非法文件库;所述服务器接收到第一客户端发送的请求下载第一文件的第一请求消息时,根据所述非法文件库判断所述第一文件是否合法,得到第一判断结果;当所述第一判断结果表示所述第一文件合法时,所述服务器发送携带可供下载所述第一文件的第二客户端的客户端信息的响应消息到所述第一客户端,使得所述第一客户端能够根据所述客户端信息点对点连接至所述第二客户端来下载所述第一文件;当所述第一判断结果表示所述第一文件非法时,所述服务器发送拒绝下载的消息到所述第一客户端。依照本发明,能够保护用户下载的安全性。

著录项

  • 公开/公告号CN102685083A

    专利类型发明专利

  • 公开/公告日2012-09-19

    原文格式PDF

  • 申请/专利权人 开心人网络科技(北京)有限公司;

    申请/专利号CN201110065352.1

  • 发明设计人 梁亮;徐其斌;沈悦;杨光;熊家贵;

    申请日2011-03-17

  • 分类号H04L29/06(20060101);H04L29/08(20060101);

  • 代理机构11243 北京银龙知识产权代理有限公司;

  • 代理人黄灿;赵爱军

  • 地址 100080 北京市海淀区海淀北二街10号1201室

  • 入库时间 2023-12-18 06:33:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-06-24

    专利权的转移 IPC(主分类):H04L29/06 变更前: 变更后: 登记生效日:20150602 申请日:20110317

    专利申请权、专利权的转移

  • 2015-05-13

    授权

    授权

  • 2012-11-14

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20110317

    实质审查的生效

  • 2012-09-19

    公开

    公开

说明书

技术领域

本发明涉及点对点(Peer-to-Peer,P2P)数据传输领域,特别涉及一种点 对点文件下载方法、服务器及客户端。

背景技术

点对点是一种网络新技术,其依赖网络中参与者的计算能力和带宽,不 把依赖都聚集在较少的几台服务器上,网络中每个节点的地位都是对等的,既 是服务器又是客户端,每个节点都可以同时享受其他节点提供的服务和为其他 节点提供服务。

以下载为例,当用户采用P2P技术进行文件下载时,可以直接连接到其 他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载, 这大大的提高了网络用户的网络利用率及网络下载的速度。

采用P2P技术进行文件下载的具体过程如下:

(1)第一客户端发送下载第一文件的请求消息到服务器,所述请求消息 中携带所述第一文件的标识信息;

(2)服务器接收到第一客户端发送的请求消息时,根据所述标识信息查 询可供下载所述第一文件的客户端,将查询结果反馈给所述第一客户端;

其中,可供下载所述第一文件的客户端是指,存储有所述第一文件、且当 前在线的客户端。

(3)第一客户端根据服务器反馈的信息,与相应的客户端建立点对点连 接,并直接从这些客户端下载所述第一文件。

发明人在实现本发明的过程中,发现现有技术至少存在如下缺点:

在P2P网络中,很多文件携带有非法信息,而现有的P2P下载技术中没 有一个中心设备来对下载过程进行控制,用户容易下载到携带非法信息的文 件,这使得用户下载的安全性得不到保护,影响了用户的体验。

发明内容

本发明所要解决的技术问题是提供一种点对点文件下载方法、服务器及客 户端,以保护用户下载的安全性。

为解决上述技术问题,本发明提供技术方案如下:

一种点对点文件下载方法,包括:

在服务器上建立和维护一非法文件库;

所述服务器接收到第一客户端发送的请求下载第一文件的第一请求消息 时,根据所述非法文件库判断所述第一文件是否合法,得到第一判断结果;

当所述第一判断结果表示所述第一文件合法时,所述服务器发送携带可供 下载所述第一文件的第二客户端的客户端信息的响应消息到所述第一客户端, 使得所述第一客户端能够根据所述客户端信息点对点连接至所述第二客户端 来下载所述第一文件;

当所述第一判断结果表示所述第一文件非法时,所述服务器发送拒绝下载 的消息到所述第一客户端。

优选地,所述响应消息中还携带控制信息,所述控制信息为所述服务器从 所述第一文件中选取的一个或多个资源块的标识信息;

所述点对点文件下载方法还包括:

所述服务器接收到所述第一客户端发送的第二请求消息时,根据所述非法 文件库判断所述第一文件是否合法,得到第二判断结果,其中,所述第二请求 消息为所述第一客户端下载到所述标识信息对应的第一资源块时,发送的请求 下载所述第一资源块的请求消息;

当所述第二判断结果表示所述第一文件合法时,所述服务器发送继续下载 的消息到所述第一客户端;

当所述第二判断结果表示所述第一文件非法时,所述服务器发送拒绝继续 下载的消息到所述第一客户端。

优选地,所述继续下载的消息中还携带所述第一资源块,以指示所述第一 客户端继续从所述第二客户端下载除所述第一资源块之外的其他资源块。

优选地,所述非法文件库中包括非法文件的标识信息;

所述根据所述非法文件库判断所述第一文件是否合法为:判断所述第一文 件的标识是否存在于所述非法文件库中,若是,确定所述第一文件非法,否则, 确定所述第一文件合法。

优选地,所述非法文件的标识信息为所述非法文件的MD5值。

优选地,所述在服务器上建立和维护一非法文件库包括:

所述服务器通过检测模块检测待下载文件是否合法,并根据检测结果更新 所述非法文件库。

一种服务器,包括:

非法文件库建立模块,用于建立和维护一非法文件库;

判断模块,用于在所述服务器接收到第一客户端发送的请求下载第一文件 的第一请求消息时,根据所述非法文件库判断所述第一文件是否合法,得到第 一判断结果;

第一响应模块,用于当所述第一判断结果表示所述第一文件合法时,发送 携带可供下载所述第一文件的第二客户端的客户端信息的响应消息到所述第 一客户端,使得所述第一客户端能够根据所述客户端信息点对点连接至所述第 二客户端来下载所述第一文件;

第二响应模块,用于当所述第一判断结果表示所述第一文件非法时,发送 拒绝下载的消息到所述第一客户端。

优选地,所述响应消息中还携带控制信息,所述控制信息为所述服务器从 所述第一文件中选取的一个或多个资源块的标识信息;

所述判断模块还用于,在所述服务器接收到所述第一客户端发送的第二请 求消息时,根据所述非法文件库判断所述第一文件是否合法,得到第二判断结 果,其中,所述第二请求消息为所述第一客户端下载到所述标识信息对应的第 一资源块时,发送的请求下载所述第一资源块的请求消息;

所述服务器还包括:

第三响应模块,用于当所述第二判断结果表示所述第一文件合法时,发送 继续下载的消息到所述第一客户端;

第四响应模块,用于当所述第二判断结果表示所述第一文件非法时,发送 拒绝继续下载的消息到所述第一客户端。

优选地,所述继续下载的消息中还携带所述第一资源块,以指示所述第一 客户端继续从所述第二客户端下载除所述第一资源块之外的其他资源块。

优选地,所述非法文件库中包括非法文件的标识信息;

所述根据所述非法文件库判断所述第一文件是否合法为:判断所述第一文 件的标识是否存在于所述非法文件库中,若是,确定所述第一文件非法,否则, 确定所述第一文件合法。

优选地,所述非法文件的标识信息为所述非法文件的MD5值。

优选地,所述非法文件库建立模块中包括:

检测模块,用于检测待下载文件是否合法,并根据检测结果更新所述非法 文件库。

一种客户端,包括:

请求模块,用于发送请求下载第一文件的第一请求消息到服务器;

接收模块,用于接收所述服务器发送的携带可供下载所述第一文件的第二 客户端的客户端信息的响应消息,其中,所述响应消息为所述服务器在接收到 所述第一请求消息时,根据非法文件库确定所述第一文件合法的情况下发送;

下载模块,用于在所述接收模块接收到所述响应消息时,根据所述客户端 信息点对点连接至所述第二客户端来下载所述第一文件。

优选地,所述接收模块接收到的所述响应消息中还携带控制信息,所述控 制信息为所述服务器从所述第一文件中选取的一个或多个资源块的标识信息;

所述请求模块还用于,当所述下载模块下载到所述标识信息对应的第一资 源块时,发送请求下载所述第一资源块的第二请求消息到所述服务器;

所述接收模块还用于,接收所述服务器发送的继续下载的消息,其中,所 述继续下载的消息为所述服务器在接收到所述第二请求消息时,根据所述非法 文件库确定所述第一文件合法的情况下发送;

所述下载模块还用于,在所述接收模块接收到所述继续下载的消息时,若 所述继续下载的消息中携带有所述第一资源块,则继续从所述第二客户端下载 除所述第一资源块之外的其他资源块,若所述继续下载的消息中未携带所述第 一资源块,则继续从所述第二客户端下载所述第一资源块和其他资源块。

与现有技术相比,本发明的有益效果是:

本发明中,服务器对用户的P2P文件下载过程进行控制,服务器接收到 客户端发送的下载文件的请求消息时,判断请求下载的文件是否合法,只有在 请求下载的文件合法时才会提供相关信息供客户端下载,如此,能够保护用户 下载的安全性。

由于文件是否合法不是一成不变的,有可能在下载的过程中,文件由合法 变为了非法。因此,在本发明中,服务器还可以从文件中选取一个或多个资源 块作为控制块,客户端下载到控制块时,需要向服务器请求对控制块的下载, 然后服务器会重新判断文件的合法性,这进一步提高了用户下载的安全性。

附图说明

图1为本发明实施例的点对点文件下载方法的流程图;

图2为本发明实施例的点对点文件下载方法的一个具体实现流程图;

图3为本发明实施例的服务器的结构示意图;

图4为本发明实施例的客户端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实 施例对本发明进行详细描述。

参照图1,本发明实施例的点对点文件下载方法,主要包括如下步骤:

步骤101:在服务器上建立和维护一非法文件库;

在P2P网络中,很多文件携带有非法信息,本发明中的非法信息主要是 指如下两方面的信息,其一,基于安全性的考虑,如文件中包括木马或病毒; 其二,基于法律或政策的规定,如文件中包括黄色信息、非法言论信息等。

所述非法文件库类似于一黑名单库,其中包括有非法文件的标识信息。对 于客户端上传到服务器的文件,可以通过人工审核的方式来判断当前文件是否 携带非法信息,如果确定其携带有非法信息,则将其加入到非法文件库。具体 地,可以通过消息摘要算法第五版(Message Digest Algorithm 5,MD5)或其 他算法计算出文件的唯一标识,并将该标识信息加入到非法文件库中。

MD5是公开的算法,该算法把任意长度的信息作为输入,输出一个128 位的信息“指纹”。例如,将文件的统一资源定位器(Uniform Resource Locator, URL)、文件大小和文件最后修改日期按顺序拼成一字符串,将该字符串作为 MD5算法的输入,将通过MD5算法计算得到的MD5值作为该文件的标识信 息。

对于客户端上传的文件,还可以通过自动检测的方式(服务器上设置有检 测模块)来判断当前文件是否携带非法信息,如果确定其携带有非法信息,则 将其加入到非法文件库。例如,通过关键字检测或者模式识别的方式来进行自 动检测,申请号为“200810240942.1”的中国专利申请公开了一种高效的敏感 图像检测方法及其系统,其中采用了模式识别的方法来检测敏感视频,申请号 为“200810239345.7”的中国专利申请公开了一种信息审核方法、装置及系统, 其中采用了关键字来检测敏感文本。当然,也可以采用现有技术中提供的其他 方法来进行自动检测,本发明对自动检测的方式不作限制。

另外,在P2P技术中,服务器不一定会存储文件(仅存储文件的标识信 息和可供下载该文件的客户端信息),因此,也可以从外部导入所述非法文件 库。

而且,文件是否合法也并不是一成不变的。例如,在进行病毒检测时,由 于病毒库不完全,根据该病毒库检测出文件合法,但是,更新了病毒库后,根 据新的病毒库又会检测出该文件非法。又例如,文件中携带的信息在某个阶段 合法,但由于法律的变更,根据新的法律又会判断出其为非法。基于此,本发 明还对非法文件库进行动态更新。

步骤102:第一客户端需要下载第一文件时,发送请求下载第一文件的第 一请求消息到服务器;

所述第一请求消息中携带有第一文件的标识信息,例如第一文件的MD5 值。在需要对用户进行验证的场合,所述第一请求消息中还携带有用户信息, 以供服务器判断该用户是否有下载权限。

步骤103:所述服务器接收到第一客户端发送的所述第一请求消息时,根 据所述非法文件库判断所述第一文件是否合法,若所述第一文件非法,则进入 步骤104,若所述第一文件合法,则进入步骤105;

所述根据所述非法文件库判断所述第一文件是否合法为:判断所述第一文 件的标识是否存在于所述非法文件库中,若是,确定所述第一文件非法,否则, 确定所述第一文件合法。

在需要对用户进行验证的场合,所述服务器还会根据所述第一请求消息中 携带的用户信息判断该用户是否有下载权限,若有下载权限,再执行所述第一 文件是否合法的判断,若没有下载权限,不执行所述第一文件是否合法的判断, 直接返回错误信息,拒绝用户下载该文件。

步骤104:所述服务器发送拒绝下载的消息到所述第一客户端,下载流程 结束;

其中,所述拒绝下载的消息中还可携带所述第一文件非法的信息,告知第 一客户端不要再尝试对该文件进行下载。

步骤105:所述服务器发送携带可供下载所述第一文件的第二客户端的客 户端信息的响应消息到所述第一客户端;

服务器中存储有第一文件的标识信息和可供下载该文件的客户端信息,可 供下载所述第一文件的客户端是指,存储有所述第一文件、且当前在线的客户 端。服务器在确定所述第一文件合法时,会根据第一文件的标识信息查询可供 下载所述第一文件的客户端,并将查询结果反馈给所述第一客户端。

步骤106:所述第一客户端接收到所述响应消息时,点对点连接至所述第 二客户端下载所述第一文件。

在上述实施例中,服务器对用户的P2P文件下载过程进行控制,服务器 接收到客户端发送的下载文件的请求消息时,判断请求下载的文件是否合法, 只有在请求下载的文件合法时才会提供相关信息供客户端下载,如此,能够保 护用户下载的安全性。

如前所述,由于文件是否合法不是一成不变的,有可能在下载的过程中, 文件由合法变为了非法。因此,在本发明的其他实施例中,服务器还可以从文 件中选取一个或多个资源块作为控制块,客户端下载到控制块时,需要向服务 器请求对控制块的下载,然后服务器会重新判断文件的合法性,这进一步提高 了用户下载的安全性。

具体实现如下:

在步骤105中,所述响应消息中还携带控制信息,所述控制信息为所述服 务器从所述第一文件中选取的一个或多个资源块(控制块)的标识信息。

客户端上传文件到服务器或者将文件登记到服务器时,服务器会从该文件 中选取一个或多个资源块作为控制块。选取方式为随机选取或者按照特定方式 选取,例如,按照固定间隔选取,即每隔预定数目个资源块选取一个资源块作 为控制块。

资源块的标识信息可以是资源块的MD5值,也可以是资源块在文件中的 序号。

在步骤106中,所述第一客户端点对点连接至所述第二客户端下载所述第 一文件,具体包括:

(1)当所述第一客户端下载到控制块时,发送请求下载所述控制块的第 二请求消息到所述服务器;

所述第一客户端从所述第二客户端下载所述第一文件时,会判断当前的资 源块是否为控制块(即所述标识信息对应的资源块),若是,则需要向服务器 请求下载该控制块,否则,继续从所述第二客户端下载资源块。

(2)所述服务器接收到所述第二请求消息时,根据所述非法文件库判断 所述第一文件是否合法,得到一判断结果;

所述根据所述非法文件库判断所述第一文件是否合法为:判断所述第一文 件的标识是否存在于所述非法文件库中,若是,确定所述第一文件非法,否则, 确定所述第一文件合法。

(3)当所述判断结果表示所述第一文件合法时,所述服务器发送继续下 载的消息到所述第一客户端;

其中,第一客户端下载控制块又有如下两种实现方式:

方式一、所述继续下载的消息中不携带所述控制块,所述第一客户端接收 到所述继续下载的消息时,继续从所述第二客户端下载从所述控制块开始的资 源块;

方式二、所述继续下载的消息中携带所述控制块,所述第一客户端接收到 所述继续下载的消息时,直接从该消息中获取所述控制块,并继续从所述第二 客户端下载除所述控制块之外的其他资源块。

(4)当所述判断结果表示所述第一文件非法时,所述服务器发送拒绝继 续下载的消息到所述第一客户端。

以下给出本发明实施例的点对点文件下载方法的一个具体实现流程,参照 图2,包括如下步骤:

步骤201:客户端A向服务器申请登记一个文件a;

步骤202:服务器校验客户端A是否有上传文件的权限;

步骤203:检验成功,确定客户端A有上传文件的权限,服务器要求客户 端A上传文件a的Md5值以及资源块信息;

根据具体实现方式的不同,在本步骤中,服务器也可以要求客户端A上 传文件a。

步骤204:校验失败,确定客户端A没有上传文件的权限,服务器返回错 误信息到客户端A,结束;

步骤205:客户端A上传文件a的相关信息到服务器,上传完毕后,文件 a登记成功;

在本步骤中,客户端A也可以将文件a上传到服务器。

步骤206:服务器判断文件a是否合法,并根据判断结果更新非法文件库;

另外,在后续步骤的执行过程中,非法文件库中包括的非法文件信息也有 可能发生变化。

步骤207:服务器选取文件a的一个或多个资源块作为控制块;

步骤208:客户端B向服务器请求下载文件a;

步骤209:服务器校验客户端B是否有权限下载文件a;

步骤210:在确定客户端B没有权利下载文件a时,服务器向客户端B返 回错误信息,结束;

步骤211:在确定客户端B有权限下载文件a时,服务器根据文件a的 MD5值是否存在于所述非法文件库中来校验文件a是否合法;

步骤212:在确定文件a非法时,服务器向客户端B返回错误信息,结束;

步骤213:在确定文件a合法时,服务器向客户端B提供当前在线、且存 储有文件a的用户(包括客户端A),并同时将所述控制块信息提供给客户端 B;

步骤214:客户端B连接至客户端A(或其他客户端)进行文件a的下载;

步骤215:客户端B在下载文件a的过程中遇到控制块,向服务器请求下 载所述控制块;

步骤216:服务器重新校验文件a是否合法;

步骤217:在确定文件a非法时,服务器向客户端B返回错误信息,结束;

步骤218:在确定文件a合法时,向客户端返回所述控制块,客户端B继 续从客户端下载文件a。

反复执行上述步骤215-218,直至下载完成,或者,在下载过程中确定文 件a非法时退出。

以下介绍实现上述方法的相关设备。

图3为本发明实施例的服务器的结构示意图,参照图3,所述服务器30 包括:

非法文件库建立模块31,用于建立和维护一非法文件库;

判断模块32,用于在所述服务器30接收到第一客户端发送的请求下载第 一文件的第一请求消息时,根据所述非法文件库判断所述第一文件是否合法, 得到第一判断结果;

第一响应模块33,用于当所述第一判断结果表示所述第一文件合法时, 发送携带可供下载所述第一文件的第二客户端的客户端信息的响应消息到所 述第一客户端,使得所述第一客户端能够根据所述客户端信息点对点连接至所 述第二客户端来下载所述第一文件;

第二响应模块34,用于当所述第一判断结果表示所述第一文件非法时, 发送拒绝下载的消息到所述第一客户端。

优选地,所述响应消息中还携带控制信息,所述控制信息为所述服务器 30从所述第一文件中选取的一个或多个资源块的标识信息;

所述判断模块32还用于,在所述服务器30接收到所述第一客户端发送的 第二请求消息时,根据所述非法文件库判断所述第一文件是否合法,得到第二 判断结果,其中,所述第二请求消息为所述第一客户端下载到所述标识信息对 应的第一资源块时,发送的请求下载所述第一资源块的请求消息;

所述服务器30还包括:

第三响应模块(图未示),用于当所述第二判断结果表示所述第一文件合 法时,发送继续下载的消息到所述第一客户端;

第四响应模块(图未示),用于当所述第二判断结果表示所述第一文件非 法时,发送拒绝继续下载的消息到所述第一客户端。

优选地,所述继续下载的消息中还携带所述第一资源块,以指示所述第一 客户端继续从所述第二客户端下载除所述第一资源块之外的其他资源块。

优选地,所述非法文件库中包括非法文件的标识信息;

所述根据所述非法文件库判断所述第一文件是否合法为:判断所述第一文 件的标识是否存在于所述非法文件库中,若是,确定所述第一文件非法,否则, 确定所述第一文件合法。

优选地,所述非法文件的标识信息为所述非法文件的MD5值。

优选地,所述非法文件库建立模块31中包括:

检测模块(图未示),用于检测待下载文件是否合法,并根据检测结果更 新所述非法文件库。该检测模块中可以包括木马检测单元、文本识别单元和媒 体文件检测单元等。

图4为本发明实施例的客户端的结构示意图,参照图4,所述客户端40 包括:

请求模块41,用于发送请求下载第一文件的第一请求消息到服务器;

接收模块42,用于接收所述服务器发送的携带可供下载所述第一文件的 第二客户端的客户端信息的响应消息,其中,所述响应消息为所述服务器在接 收到所述第一请求消息时,根据非法文件库确定所述第一文件合法的情况下发 送;

下载模块43,用于在所述接收模块42接收到所述响应消息时,根据所述 客户端信息点对点连接至所述第二客户端来下载所述第一文件。

优选地,所述接收模块42接收到的所述响应消息中还携带控制信息,所 述控制信息为所述服务器从所述第一文件中选取的一个或多个资源块的标识 信息;

所述请求模块41还用于,当所述下载模块43下载到所述标识信息对应的 第一资源块时,发送请求下载所述第一资源块的第二请求消息到所述服务器;

所述接收模块42还用于,接收所述服务器发送的继续下载的消息,其中, 所述继续下载的消息为所述服务器在接收到所述第二请求消息时,根据所述非 法文件库确定所述第一文件合法的情况下发送;

所述下载模块43还用于,在所述接收模块42接收到所述继续下载的消息 时,若所述继续下载的消息中携带有所述第一资源块,则继续从所述第二客户 端下载除所述第一资源块之外的其他资源块,若所述继续下载的消息中未携带 所述第一资源块,则继续从所述第二客户端下载所述第一资源块和其他资源 块。

综上所述,本发明中,服务器对用户的P2P文件下载过程进行控制,服 务器接收到客户端发送的下载文件的请求消息时,判断请求下载的文件是否合 法,只有在请求下载的文件合法时才会提供相关信息供客户端下载,如此,能 够保护用户下载的安全性。

由于文件是否合法不是一成不变的,有可能在下载的过程中,文件由合法 变为了非法。因此,在本发明中,服务器还可以从文件中选取一个或多个资源 块作为控制块,客户端下载到控制块时,需要向服务器请求对控制块的下载, 然后服务器会重新判断文件的合法性,这进一步提高了用户下载的安全性。

最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制, 本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同 替换,而不脱离本发明技术方案的精神范围,其均应涵盖在本发明的权利要求 范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号