P2p资源共享的方法及装置的制造方法

文档序号:10691196阅读:320来源:国知局
P2p资源共享的方法及装置的制造方法
【专利摘要】本申请提供一种P2P资源共享的方法及装置,该方法包括:在根据报文特征未能识别出报文的协议类型时,根据报文的源节点信息和目的节点信息,分别向对应的客户端和服务端发送P2P协议确认报文;若接收到P2P协议响应报文,则确定该报文为P2P资源请求报文;根据客户端对服务端的访问记录,获取报文对应的可疑目标P2P资源,并缓存可疑目标P2P资源;向客户端发送可疑目标P2P资源的文件列表;在接收到P2P资源获取请求后,向客户端发送对应的P2P资源。应用该方法,可以实现在CDN系统中,识别加密的P2P流量,并根据加密的P2P流量对P2P资源进行本地缓存,且根据用户的需求,向用户分发已缓存的P2P资源。
【专利说明】
P2P资源共享的方法及装置
技术领域
[0001 ]本申请设及网络通信技术领域,尤其设及P2P^eer to Peer,简称P2P)资源共享 的方法及装置。
【背景技术】
[0002] CDN(Content Delivery化twork,内容分发网络)系统通过在现有的Internet中 增加一层新的网络架构,可W实现对P2P资源进行本地缓存,使CDN系统内的用户可W就近 获取到所需的P2P资源,从而提高了用户获取P2P资源时的效率,同时还改善了 Internet网 络拥挤的状况。
[0003] 现有技术中,由于P2P流量占用了大量网络带宽,因此互联网提供商对P2P流量采 取了限制措施。为了不影响正常使用,很多P2P应用软件对其所传输的P2P流量进行了加密, W使得互联网提供商很难对加密的P2P流量进行识别和限制。
[0004] 然而,由于P2P流量已被加密,那么CDN系统也将很难对加密的P2P流量进行识别和 处理了,从而很难再对P2P资源进行本地缓存,W及根据用户的P2P资源获取请求向用户分 发已缓存的P2P资源。

【发明内容】

[0005] 有鉴于此,本申请提供一种P2P资源共享的方法及装置,W实现在CDN系统中,可W 识别加密的P2P流量,并根据加密的P2P流量实现对P2P资源进行本地缓存,且实现根据用户 的需求,向用户分发已缓存的P2P资源。
[0006] 具体地,本申请是通过如下技术方案实现的:
[0007] 根据本申请实施例的第一方面,提供一种P2P资源共享的方法,所述方法包括:
[000引在根据所接收到的报文的报文特征未能识别出所述报文所应用的协议类型时,根 据所述报文的源节点信息和目的节点信息,分别向对应的客户端和服务端发送P2P协议确 认报文;
[0009] 若接收到所述客户端和服务端根据所述P2P协议确认报文发送的P2P协议响应报 文,则确定所述报文为P2P资源请求报文;
[0010] 根据所述客户端对服务端的访问记录,获取所述报文所对应的可疑目标P2P资源, 并缓存所述可疑目标P2P资源;
[0011] 向所述客户端发送所述可疑目标P2P资源的文件列表,W使所述客户端根据所述 文件列表确定所请求获取的P2P资源是否在所述可疑目标P2P资源中;
[0012] 在接收到P2P资源获取请求后,向所述客户端发送对应的P2P资源,所述P2P资源获 取请求为所述客户端在确定所请求获取的P2P资源在所述可疑目标P2P资源中时所发送的。
[0013] 可选地,所述方法还包括:
[0014] 在确定所述报文为P2P资源请求报文后,将所述报文的源节点信息和目的节点信 息添加到保存的P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记,所 述P2P节点信息中包括源节点信息和目的节点信息的对应关系;
[0015] 当接收到报文时,判断所述报文是否为会话的首报文,若是,则根据所述报文的源 节点信息或目的节点信息查找所述P2P节点信息,若查找到所述源节点信息或目的节点信 息,则确定所述报文为P2P资源请求报文;
[0016] 若所述报文不是会话的首报文,则判断所述报文所对应会话的会话信息中是否有 P2P标记,若所述会话信息中有P2P标记,则确定所述报文为P2P资源请求报文。
[0017] 可选地,所述方法还包括:
[0018] 若在所述P2P节点信息中查找到所述报文的源节点信息,则将所述报文的目的节 点信息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记;
[0019] 若在所述P2P节点信息中查找到所述报文的目的节点信息,则将所述报文的源节 点信息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记。
[0020] 可选地,所述根据所述客户端对服务端的访问记录,获取所述报文所对应的可疑 目标P2P资源,包括:
[0021] 根据所述报文的源节点信息查找所述P2P节点信息,若查找到所述源节点信息,贝U 获取所述源节点信息对应的所有目标节点信息;
[0022] 向每一个所述目标节点信息所对应的服务端发送用于查看共享文件列表的请求 报文;
[0023] 接收所述服务端根据所述请求报文所发送的共享文件列表;
[0024] 根据所述共享文件列表获取所述报文所对应的可疑目标P2P资源。
[0025] 可选地,所述根据所述共享文件列表获取所述报文所对应的可疑目标P2P资源,包 括:
[0026] 获取每一个所述共享文件列表中都相同的共享文件的信息,根据所述共享文件的 信息获取所述报文所对应的可疑目标P2P资源。
[0027] 可选地,所述缓存所述可疑目标P2P资源,包括:
[00%]根据所述可疑目标P2P资源的哈希值确定本地是否已缓存所述可疑目标P2P资源;
[0029] 若存在未缓存的可疑目标P2P资源,则根据所述未缓存的可疑目标P2P资源的哈希 值和资源大小,通过P2P协议构造所述未缓存的可疑目标P2P资源对应的ML地址;
[0030] 根据所述IMi也址,向对应的服务端发送携带所述IMi也址的下载请求;
[0031] 接收所述服务端根据所述下载请求所发送的P2P资源,并缓存所述P2P资源,直至 缓存所有所述可疑目标P2P资源。
[0032] 根据本申请实施例的第二方面,提供一种P2P资源共享的装置,所述装置包括:
[0033] 第一发送单元,用于在根据所接收到的报文的报文特征未能识别出所述报文所应 用的协议类型时,根据所述报文的源节点信息和目的节点信息,分别向对应的客户端和服 务端发送P2P协议确认报文;
[0034] 确定单元,用于若接收到所述客户端和服务端根据所述P2P协议确认报文发送的 P2P协议响应报文,则确定所述报文为P2P资源请求报文;
[0035] 缓存单元,用于根据所述客户端对服务端的访问记录,获取所述报文所对应的可 疑目标P2P资源,并缓存所述可疑目标P2P资源;
[0036] 第二发送单元,用于向所述客户端发送所述可疑目标P2P资源的文件列表,W使所 述客户端根据所述文件列表确定所请求获取的P2P资源是否在所述可疑目标P2P资源中;
[0037] 分发单元,用于在接收到P2P资源获取请求后,向所述客户端发送对应的P2P资源, 所述P2P资源获取请求为所述客户端在确定所请求获取的P2P资源在所述可疑目标P2P资源 中时所发送的。
[0038] 可选地,所述装置还包括:
[0039] 第一添加单元,用于在确定所述报文为P2P资源请求报文后,将所述报文的源节点 信息和目的节点信息添加到保存的P2P节点信息中,并在所述报文所对应会话的会话信息 中添加 P2P标记,所述P2P节点信息中包括源节点信息和目的节点信息的对应关系;
[0040] 第一判断单元,用于当接收到报文时,判断所述报文是否为会话的首报文;
[0041] 查找单元,用于在所述报文是会话的首报文时,根据所述报文的源节点信息或目 的节点信息查找所述P2P节点信息;
[0042] 处理单元,用于若查找到所述源节点信息或目的节点信息,则确定所述报文为P2P 资源请求报文;
[0043] 第二判断单元,用于若所述报文不是会话的首报文,则判断所述报文所对应会话 的会话信息中是否有P2P标记;
[0044] 所述处理单元,还用于:若所述会话信息中有P2P标记,则确定所述报文为P2P资源 请求报文。
[0045] 可选地,所述装置还包括:
[0046] 第二添加单元,用于若在所述P2P节点信息中查找到所述报文的源节点信息,则将 所述报文的目的节点信息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信 息中添加 P2P标记;
[0047] 若在所述P2P节点信息中查找到所述报文的目的节点信息,则将所述报文的源节 点信息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记。 [004引可选地,所述缓存单元,包括:
[0049] 查找子单元,用于根据所述报文的源节点信息查找所述P2P节点信息;
[0050] 第一获取子单元,用于若查找到所述源节点信息,则获取所述源节点信息对应的 所有目标节点信息;
[0051 ]发送子单元,用于向每一个所述目标节点信息所对应的服务端发送用于查看共享 文件列表的请求报文;
[0052] 接收子单元,用于接收所述服务端根据所述请求报文所发送的共享文件列表;
[0053] 第二获取子单元,用于根据所述共享文件列表获取所述报文所对应的可疑目标 P2P资源。
[0054] 可选地,所述第二获取子单元,具体用于:
[0055] 获取每一个所述共享文件列表中都相同的共享文件的信息,根据所述共享文件的 信息获取所述报文所对应的可疑目标P2P资源。
[0056] 可选地,所述缓存单元,包括:
[0057] 确定子单元,用于根据所述可疑目标P2P资源的哈希值确定本地是否已缓存所述 可疑目标P2P资源;
[0058] 构造子单元,用于若存在未缓存的可疑目标P2P资源,则根据所述未缓存的可疑目 标P2P资源的哈希值和资源大小,通过P2P协议构造所述未缓存的可疑目标P2P资源对应的 11化地址;
[0059] 下载子单元,用于根据所述U化地址,向对应的服务端发送携带所述TOL地址的下 载请求;
[0060] 缓存子单元,用于接收所述服务端根据所述下载请求所发送的P2P资源,并缓存所 述P2P资源,直至缓存所有所述可疑目标P2P资源。
[0061] 由上述实施例可见,通过向接收到的报文所对应的客户端和服务端发送P2P协议 确认报文,后续在接收到客户端和服务端根据该P2P协议确认报文发送的P2P协议响应报文 时,确定该报文为P2P资源请求报文,从而实现了对加密的P2P资源请求报文进行识别;通过 客户端对服务端的访问记录,可W获取并缓存该报文对应的可疑目标P2P资源,并将该可疑 目标P2P资源的文件列表提供给客户端,由客户端判定所需的P2P资源是否在可疑目标P2P 资源中,在接收到客户端在确定所请求的P2P资源在可疑目标P2P资源中,之后所发送的P2P 资源获取请求后,可W向客户端发送对应的P2P资源,从而实现对P2P资源进行本地缓存,并 向客户端分发已缓存的P2P资源。
【附图说明】
[0062] 图1示例了本申请实施例实现P2P资源共享的方法的应用场景示意图;
[0063] 图2示例了本申请P2P资源共享的方法的一个实施例流程图;
[0064] 图3示例了本申请识别加密的P2P报文的方法的一个实施例流程图;
[0065] 图4示例了本申请P2P资源共享的方法的另一个实施例流程图;
[0066] 图5为本申请P2P资源共享的装置所在网络设备的一种硬件结构图;
[0067] 图6示例了本申请P2P资源共享的装置的一个实施例框图;
[0068] 图7示例了本申请P2P资源共享的装置的另一个实施例框图;
[0069] 图8示例了本申请P2P资源共享的装置的又一个实施例框图。
【具体实施方式】
[0070] 运里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述设及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。W下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0071] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的"一种"、"所述"和"该"也旨在包括多数 形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指并包 含一个或多个相关联的列出项目的任何或所有可能组合。
[0072] 应当理解,尽管在本申请可能采用术语第一、第二、第Ξ等来描述各种信息,但运 些信息不应限于运些术语。运些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可W被称为第二信息,类似地,第二信息也可W被称为第 一信息。取决于语境,如在此所使用的词语"如果"可W被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0073] 请参见图1,示例了本申请实施例实现P2P资源共享的方法的应用场景示意图。图1 中包括:P2P应用端11和P2P应用端12、CND服务端13。其中,由于在P2P应用中,客户端和服务 端是相对的,即网络中的计算机既可W充当网络服务的请求者,又可W对其它计算机的请 求作出响应,提供资源和服务,因此在本申请中,客户端和服务端的角色也是相对的。在本 应用场景中,假设P2P应用端11向P2P应用端12请求获取P2P资源,那么,P2P应用端11则为客 户端,P2P应用端12则为服务端。为了描述方便,在本应用场景中,将P2P应用端11称为客户 端11,将P2P应用端12称为服务端12;可W理解是,在实际应用中,可W包括多个客户端和服 务端,本申请对此不作限制。CDN服务端13可W包括服务器、服务器集群或者云平台。
[0074] 图1所示的应用场景中,通过在现有的P2P网络中,增加了CDN系统网络架构,则可 W通过CDN服务端13对P2P资源进行本地缓存,使得客户端11可W就近获取到所需的P2P资 源。例如,客户端11向服务端12发送P2P资源请求报文,W获取P2P资源,该P2P资源请求报 文可W先传输至CDN服务端13XDN服务端13可W根据该P2P资源请求报文,判断客户端11所 需的P2P资源是否已在本地进行缓存,若是,则可W由CDN服务端13直接将该P2P资源发送至 客户端11;若未缓存该P2P资源,贝化DN服务端13可W向服务端12请求获取该P2P资源,并将 该P2P资源缓存在本地,当后续有客户端请求获取该P2P资源时,CDN服务端13可W直接将该 P2P资源发送至客户端。通过该种处理,可W提高客户端11获取P2P资源的效率,且由于P2P 资源请求报文可W不再被传输至远端服务端12,从而降低了网络的负荷,同时由于服务端 12可W不用处理每一个P2P资源请求报文,从而降低了服务端12的负荷。
[0075] 但在现有技术中,由于P2P流量占用了大量网络带宽,因此互联网提供商对P2P流 量采取了限制措施。在该种情况下,客户端11可W对其发送的P2P流量进行加密,W使得P2P 流量不被识别出,W避免受到限制。然而,正因为对P2P流量进行了加密,CND服务端13使用 现有技术,也将无法识别出其为P2P流量,那么,CDN服务端13将无法对P2P资源进行缓存,W 及向客户端发送P2P资源。为了解决该问题,本申请提供了 P2P资源共享的方法,CDN服务端 13可W应用该方法,对加密的P2P流量进行识别,并实现P2P资源的本地缓存W及向客户端 分发P2P资源。
[0076] 为了使本领域技术人员可W更详细地了解本申请所提供的P2P资源共享的方法, 将从如下实施例进行描述。
[0077] 请参见图2,示例了本申请P2P资源共享的方法的一个实施例流程图,该图2所示的 流程在上述图1所示应用场景的基础上,WCDN服务端13执行该方法为例进行说明,可W包 括W下步骤:
[0078] 步骤S201:在根据所接收到的报文的报文特征未能识别出所述报文所应用的协议 类型时,根据所述报文的源节点信息和目的节点信息,分别向对应的客户端和服务端发送 P2P协议确认报文。
[0079] 如图1所示,客户端11向服务端12发送报文时,该报文可W先被传输至CDN服务端 13,则CDN服务端13可W接收到该报文,并对该报文做识别处理,W识别该报文是否为P2P 资源请求报文。
[0080] CDN服务端13可W先根据该报文的报文特征,例如,报文的源端口、目的端口、协议 特征值、等等,对该报文进行识别,W识别该报文所应用的协议。具体是如何根据报文特征 进行协议识别的,可W参见现有技术中的相关描述,本申请对此不作详细寶述。
[0081] 当CDN服务端13根据报文的报文特征,未能识别出该报文所应用的协议类型时,本 申请中,可W采用一种主动探测的技术,对该报文进行协议识别。具体地,CDN服务端13可W 根据该报文的源节点信息(例如源IP地址与源端口号),和目的节点信息(例如目的IP地址 和目的端口号),向该报文对应的客户端和服务端,例如客户端11和服务端12,发送P2P协议 确认报文。
[0082] 步骤S202:若接收到所述客户端和服务端根据所述P2P协议确认报文发送的P2P协 议响应报文,则确定所述报文为P2P资源请求报文。
[0083] 若CDN服务端13接收到客户端11和服务端12根据该P2P协议确认报文所返回的P2P 协议响应报文,则可W认为该报文为P2P资源请求报文,从而经过执行步骤S201和步骤 S202,可W实现对加密的报文进行P2P协议的识别。
[0084] 此外,在本申请中,当执行完步骤S202,确定所接收到的报文为P2P资源请求报文 后,还可W将该报文的源节点信息和目的节点信息添加到保存的P2P节点信息中,并在该报 文所属会话的会话信息中添加 P2P标记,W标识该会话所对应的所有报文均应用P2P协议。 如下表1,为P2P节点信息的一种示例:
[0085] 表 1
[0086]
[0087] 由上述表1可知,在P2P节点信息中,源节点信息和目的节点信息可W为一对多的 关系,该"一对多的关系"是指,同一客户端可W向多个服务端请求获取P2P资源。
[0088] 后续,CDN服务端13可W据此P2P节点信息,快速判断所接收到的报文是否为P2P资 源请求报文,具体是如何判断的,可W参见下述实施例中的相关描述,在此先不作详述。
[0089] 步骤S203:根据所述客户端对服务端的访问记录,获取所述报文所对应的可疑目 标P2P资源,并缓存所述可疑目标P2P资源。
[0090] 由上述描述可知,同一客户端可W向多个服务端请求获取P2P资源,在一个可选的 实现方式中,客户端对服务端的访问记录,可W由上述记录的P2P节点信息体现,具体地,在 P2P节点信息中,每一个源节点信息与目的节点信息的对应关系,均可W体现客户端对服务 端的访问记录,即源节点信息对应的客户端向目的节点信息对应的服务端请求获取过P2P 资源。
[0091] 在本申请中,由于客户端11已将发送的P2P资源请求报文进行了加密,贝化ND服务 端13无法从该已加密的P2P资源请求报文中直接获取客户端11所请求获取的P2P资源。那 么,在本申请中,则可W通过客户端11对服务端的访问记录,获取客户端11可能想要获取的 P2P资源,为了描述方便,将客户端11可能想要获取的P2P资源称为可疑目标P2P资源。
[0092] CDN服务端13还可W对运些可疑目标P2P资源进行缓存,W便后续直接向客户端发 送P2P资源,具体是如何缓存的,可W参见下述实施例中的相关描述,在此先不作详述。
[0093] 步骤S204:向所述客户端发送所述可疑目标P2P资源的文件列表,W使所述客户端 根据所述文件列表确定所请求获取的P2P资源是否在所述可疑目标P2P资源中。
[0094] CDN服务端13可W将获取到的可疑目标P2P资源的文件列表发送给客户端11,W使 得客户端11查看该文件列表,W确认自身需要获取的P2P资源是否在可疑目标P2P资源中。 [00M]步骤S205:在接收到P2P资源获取请求后,向所述客户端发送对应的P2P资源,所述 P2P资源获取请求为所述客户端在确定所请求获取的P2P资源在所述可疑目标P2P资源中 时所发送的。
[0096] 当客户端11根据文件列表,确定所需要获取的P2P资源在可疑目标P2P资源中后, 可W向CDN服务端13发送P2P资源获取请求,从而,CDN服务端13在接收到该P2P资源获取请 求后,可W向客户端11发送其所需要的P2P资源。
[0097] 由上述实施例可见,通过向接收到的报文所对应的客户端和服务端发送P2P协议 确认报文,后续在接收到客户端和服务端根据该P2P协议确认报文发送的P2P协议响应报文 时,确定该报文为P2P资源请求报文,从而实现了对加密的P2P资源请求报文进行识别;通过 客户端对服务端的访问记录,可W获取并缓存该报文对应的可疑目标P2P资源,并将该可疑 目标P2P资源的文件列表提供给客户端,由客户端判定所需的P2P资源是否在可疑目标P2P 资源中,在接收到客户端在确定所请求的P2P资源在可疑目标P2P资源中,之后所发送的P2P 资源获取请求后,可W向客户端发送对应的P2P资源,从而实现对P2P资源进行本地缓存,并 向客户端分发已缓存的P2P资源。
[0098] 请参见图3,示例了本申请识别加密的P2P报文的方法的一个实施例流程图,该图3 所示的流程在上述图1所示应用场景W及图2所示流程的基础上,WCDN服务端13执行该方 法为例,详细说明了本申请中是如何识别加密的P2P报文的,可W包括W下步骤:
[0099] 步骤S301:当接收到报文时,判断所述报文是否为会话的首报文,若是,则执行步 骤S302,否则执行步骤S306。
[0100] 如图1中所示,客户端11向服务端12发送报文时,该报文可W先被传输至CDN服务 端13,CND服务端13接收到该报文后,可W判断该报文是否为会话的首报文,若该报文是会 话的首报文,则继续执行步骤S302,否则,继续执行步骤S306。具体是如何判断的,可W参见 现有技术中的相关描述,本申请对此不作详述。
[0101] 步骤S302:根据所述报文的源节点信息或目的节点信息查找所述P2P节点信息,若 查找到所述源节点信息或目的节点信息,则执行步骤S303,否则执行步骤S304。
[0102] 本步骤中的P2P节点信息是如何建立的,可W参见上述实施例中的相关介绍,在此 不再作详细寶述。
[0103] 步骤S303:确定所述报文为P2P资源请求报文,并且,若在所述P2P节点信息中查找 到所述报文的源节点信息,则将所述报文的目的节点信息添加到所述P2P节点信息中,并在 所述报文所对应会话的会话信息中添加 P2P标记;若在所述P2P节点信息中查找到所述报文 的目的节点信息,则将所述报文的源节点信息添加到所述P2P节点信息中,并在所述报文所 对应会话的会话信息中添加 P2P标记;结束流程。
[0104] 由上述实施例中的相关介绍可知,当报文为P2P资源请求报文时,可W将报文的源 节点信息和目的节点信息添加在P2P节点信息中,从而,在本实施例中,当在P2P节点信息中 查找到报文的源节点信息或目的节点信息时,可W认为该报文为P2P资源请求报文。
[0105] 在本实施例中,还可W继续根据该报文维护P2P节点信息,具体地,当在P2P节点信 息中查找到源节点信息时,可W将报文中的目的节点信息添加在P2P节点信息中;当在P2P 节点信息中查找到目的节点信息时,可W将报文中的源节点信息添加在P2P节点信息中。
[0106] 并且,当确认该首报文是P2P资源请求报文后,可W在该首报文所属会话的会话信 息中,添加 P2P标记。
[0107] 步骤S304:根据所述报文的源节点信息和目的节点信息,分别向对应的客户端和 服务端发送P2P协议确认报文。
[0108] 步骤S305:判断是否接收到所述客户端和服务端根据所述P2P协议确认报文发送 的P2P协议响应报文,若是,则执行步骤S307;否则,执行步骤S308。
[0109] 步骤S304和步骤S305的详细描述可W参见上述步骤S201和步骤S202中的相关描 述,在此不再作详细寶述。
[0110] 步骤S306:判断所述报文所属会话的会话信息中是否有P2P标记,若是,则执行步 骤S307,否则执行步骤S308。
[0111] 由步骤S303可知,当确认会话的首报文是P2P资源请求报文时,可W在该会话的 会话信息中添加 P2P标记,那么,在本实施例中,当确认报文不是会话的首报文时,继而可W 判断该报文所属会话的会话信息中是否有P2P标记,据此判断该报文是否为P2P资源请求报 文。
[0112] 步骤S307:确定所述报文为P2P资源请求报文,结束流程。
[0113] 步骤S308:确定所述报文不是P2P资源请求报文。
[0114] 由上述实施例可见,在确认接收到的报文为会话的首报文,且报文为P2P资源请求 报文时,通过该报文维护P2P节点信息,并在对应会话的会话信息中添加 P2P标记,后续接收 到报文时,可W根据P2P节点信息和P2P标记,实现快速地识别P2P报文,从而提高了识别效 率。
[0115] 请参见图4,示例了本申请P2P资源共享的方法的另一个实施例流程图,该图4所示 的流程在上述图1所示应用场景,W及图2所示流程的基础上,详细描述了本申请缓存可疑 目标P2P资源的详细过程,可W包括W下步骤:
[0116] 步骤S401:在根据所接收到的报文的报文特征未能识别出所述报文所应用的协议 类型时,根据所述报文的源节点信息和目的节点信息,分别向对应的客户端和服务端发送 P2P协议确认报文。
[0117] 步骤S402:若接收到所述客户端和服务端根据所述P2P协议确认报文发送的P2P协 议响应报文,则确定所述报文为P2P资源请求报文。
[0118] 步骤S401和步骤S402的详细描述,可W参见上述步骤S201和步骤S202的相关描 述,在此不再作详细寶述。
[0119] 步骤S403:根据所述客户端对服务端的访问记录,获取所述报文所对应的可疑目 标P2P资源。
[0120] 由上述实施例中的描述可知,客户端对服务端的访问记录可W体现在P2P节点信 息中,则在本实施例中,CDN服务端13可W根据报文的源节点信息查找P2P节点信息,查找到 该源节点信息时,获取该源节点信息所对应的所有目标节点信息。
[0121] 在一个可选的实现方式中,CDN服务端13可W向每一个目标节点信息所对应的服 务端发送用于查看共享文件列表的请求报文,W获取服务端的共享文件列表。服务端接收 到该请求报文后,可W向CDN服务端13发送自身的共享文件列表,CDN服务端13则可W将每 一个服务端所发送的共享文件列表中的所有P2P资源作为所述可疑目标P2P资源。
[0122] 在另一个可选的实现方式中,CDN服务端13接收到每一个服务端发送的共享文件 列表后,可W对运些共享文件列表取交集,W获取每一个共享文件列表中都存在的共享文 件的信息,将该"交集"中的P2P资源作为所述可疑目标P2P资源。通过"取交集"的方式,可W 缩小可疑目标P2P资源的范围,从而提高后续客户端获取P2P资源的效率。
[0123] 步骤S404:根据所述可疑目标P2P资源的哈希值确定本地是否已缓存所述可疑目 标P2P资源。
[0124] 本实施例中,可W根据可W目标P2P资源的哈希值确定本地是否已缓存该P2P资 源。具体地,可W根据目标P2P资源的哈希值,查找已缓存资源列表,该已缓存资源列表中可 W包括已缓存的P2P资源的哈希值。
[0125] 步骤S405:若存在未缓存的可疑目标P2P资源,则根据所述未缓存的可疑目标P2P 资源的哈希值和资源大小,通过P2P协议构造所述未缓存的可疑目标P2P资源对应的U化地 址;
[0126] 若发现存在未缓存的可疑目标P2P资源,则可W根据该未缓存的可疑目标P2P资源 的哈希值和资源大小,通过P2P协议构造 U化地址,具体是如何构造的,可W参见现有技术中 的相关描述,本申请对此不作详细寶述。
[0127] 步骤S406:根据所述U化地址,向对应的服务端发送携带所述U化地址的下载请求。
[0128] 步骤S407:接收所述服务端根据所述下载请求所发送的P2P资源,并缓存所述P2P 资源,直至缓存所有所述可疑目标P2P资源。
[0129] 在步骤S406和步骤S407中,CDN服务端13可W向对应的服务端发送所构造的U化地 址,W请求获取P2P资源。后续,CDN服务端13在接收到服务端发送的P2P资源后,可W缓存该 P2P资源,W实现后续对该P2P资源的命中分发。
[0130] 步骤S408:向所述客户端发送所述可疑目标P2P资源的文件列表,W使所述客户端 根据所述文件列表确定所请求获取的P2P资源是否已缓存在本地。
[0131] 步骤S409:在接收到P2P资源获取请求后,向所述客户端发送对应的P2P资源,所述 P2P资源获取请求为所述客户端在确定所请求获取的P2P资源已缓存在本地后所发送的。
[0132] 步骤S408和步骤S409的详细描述,可W参见上述步骤S204和步骤S205中的相关描 述,在此不再作详细寶述。
[0133] 由上述实施例可见,通过向接收到的报文所对应的客户端和服务端发送P2P协议 确认报文,后续在接收到客户端和服务端根据该P2P协议确认报文发送的P2P协议响应报文 时,确定该报文为P2P资源请求报文,从而实现了对加密的P2P资源请求报文进行识别;通过 客户端对服务端的访问记录,可W获取该报文对应的可疑目标P2P资源,并通过构造 U化地 址,向服务端发送下载请求,W获取未缓存的可疑目标P2P资源,实现了根据加密的P2P资源 请求报文缓存P2P资源;后续,通过将该可疑目标P2P资源的文件列表提供给客户端,由客户 端判定所需的P2P资源是否在可疑目标P2P资源中,在接收到客户端在确定所请求的P2P资 源在可疑目标P2P资源中,之后所发送的P2P资源获取请求后,可W向客户端发送对应的P2P 资源,从而实现了向客户端分发已缓存的P2P资源。
[0134] 与前述P2P资源共享的方法的实施例相对应,本申请还提供了 P2P资源共享的装置 的实施例。
[0135] 本申请P2P资源共享的装置的实施例可W应用在网络设备,例如CDN服务端上。装 置实施例可W通过软件实现,也可W通过硬件或者软硬件结合的方式实现。W软件实现为 例,作为一个逻辑意义上的装置,是通过其所在网络设备的处理器将非易失性存储器中对 应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请P2P 资源共享的装置所在网络设备的一种硬件结构图,除了图5所示的处理器51、内存52、网络 接口 53、W及非易失性存储器54之外,实施例中装置所在的网络设备通常根据该网络设备 的实际功能,还可W包括其他硬件,对此不再寶述。
[0136] 请参考图6,示例了本申请P2P资源共享的装置的一个实施例框图,该图6所示的装 置可W包括:第一发送单元61、确定单元62、缓存单元63、第二发送单元64、分发单元65。
[0137] 其中,该第一发送单元61,可W用于在根据所接收到的报文的报文特征未能识别 出所述报文所应用的协议类型时,根据所述报文的源节点信息和目的节点信息,分别向对 应的客户端和服务端发送P2P协议确认报文;
[0138] 该确定单元62,可W用于若接收到所述客户端和服务端根据所述P2P协议确认报 文发送的P2P协议响应报文,则确定所述报文为P2P资源请求报文;
[0139] 该缓存单元63,可W用于根据所述客户端对服务端的访问记录,获取所述报文所 对应的可疑目标P2P资源,并缓存所述可疑目标P2P资源;
[0140] 该第二发送单元64,可W用于向所述客户端发送所述可疑目标P2P资源的文件列 表,W使所述客户端根据所述文件列表确定所请求获取的P2P资源是否在所述可疑目标P2P 资源中;
[0141] 该分发单元65,可W用于在接收到P2P资源获取请求后,向所述客户端发送对应的 P2P资源,所述P2P资源获取请求为所述客户端在确定所请求获取的P2P资源在所述可疑目 标P2P资源中时所发送的。
[0142] 请参考图7,示例了本申请P2P资源共享的装置的另一个实施例框图,该图7所示的 装置在上述图6所示装置的基础上,还可W包括:第一添加单元66、第一判断单元67、查找单 元68、处理单元69、第二判断单元610、第二添加单元611。
[0143] 其中,该第一添加单元66,可W用于在确定所述报文为P2P资源请求报文后,将所 述报文的源节点信息和目的节点信息添加到保存的P2P节点信息中,并在所述报文所对应 会话的会话信息中添力阳2P标记,所述P2P节点信息中包括源节点信息和目的节点信息的对 应关系;
[0144] 该第一判断单元67,可W用于当接收到报文时,判断所述报文是否为会话的首报 文;
[0145] 该查找单元68,可W用于在所述报文是会话的首报文时,根据所述报文的源节点 信息或目的节点信息查找所述P2P节点信息;
[0146] 该处理单元69,可W用于若查找到所述源节点信息或目的节点信息,则确定所述 报文为P2P资源请求报文;
[0147] 该第二判断单元610,可W用于若所述报文不是会话的首报文,则判断所述报文所 对应会话的会话信息中是否有P2P标记;
[0148] 该第二添加单元611,可W用于若在所述P2P节点信息中查找到所述报文的源节点 信息,则将所述报文的目的节点信息添加到所述P2P节点信息中,并在所述报文所对应会话 的会话信息中添加 P2P标记;
[0149] 若在所述P2P节点信息中查找到所述报文的目的节点信息,则将所述报文的源节 点信息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记。
[0150] 在一实施例中,该处理单元69,还可W用于:若所述会话信息中有P2P标记,则确定 所述报文为P2P资源请求报文。
[0151] 请参考图8,示例了本申请P2P资源共享的装置的又一个实施例框图,该图8所示的 装置在上述图6所示装置的基础上,其中,缓存单元63,可W包括:查找子单元631、第一获取 子单元632、发送子单元633、接收子单元634、第二获取子单元635、确定子单元636、构造子 单元637、下载子单元638、缓存子单元639。
[0152] 其中,该查找子单元631,可W用于根据所述报文的源节点信息查找所述P2P节点 ?目息;
[0153] 该第一获取子单元632,可W用于若查找到所述源节点信息,则获取所述源节点信 息对应的所有目标节点信息;
[0154] 该发送子单元633,可W用于向每一个所述目标节点信息所对应的服务端发送用 于查看共享文件列表的请求报文;
[0155] 该接收子单元634,可W用于接收所述服务端根据所述请求报文所发送的共享文 件列表;
[0156] 该第二获取子单元635,可W用于根据所述共享文件列表获取所述报文所对应的 可疑目标P2P资源。
[0157] 在一实施例中,该第二获取子单元635,可W具体用于:获取每一个所述共享文件 列表中都相同的共享文件的信息,根据所述共享文件的信息获取所述报文所对应的可疑目 标P2P资源。
[0158] 该确定子单元636,可W用于根据所述可疑目标P2P资源的哈希值确定本地是否已 缓存所述可疑目标P2P资源;
[0159] 该构造子单元637,可W用于若存在未缓存的可疑目标P2P资源,则根据所述未缓 存的可疑目标P2P资源的哈希值和资源大小,通过P2P协议构造所述未缓存的可疑目标P2P 资源对应的U化地址;
[0160] 该下载子单元638,可W用于根据所述U化地址,向对应的服务端发送携带所述URL 地址的下载请求;
[0161] 该缓存子单元639,可W用于接收所述服务端根据所述下载请求所发送的P2P资 源,并缓存所述P2P资源,直至缓存所有所述可疑目标P2P资源。
[0162] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的 实现过程,在此不再寶述。
[0163] 对于装置实施例而言,由于其基本对应于方法实施例,所W相关之处参见方法实 施例的部分说明即可。W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件 说明的单元可W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W 不是物理单元,即可w位于一个地方,或者也可w分布到多个网络单元上。可w根据实际的 需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付 出创造性劳动的情况下,即可W理解并实施。
[0164] W上所述仅为本申请的较佳实施例而已,并不用W限制本申请,凡在本申请的精 神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1. 一种端对端P2P资源共享的方法,其特征在于,所述方法包括: 在根据所接收到的报文的报文特征未能识别出所述报文所应用的协议类型时,根据所 述报文的源节点信息和目的节点信息,分别向对应的客户端和服务端发送P2P协议确认报 文; 若接收到所述客户端和服务端根据所述P2P协议确认报文发送的P2P协议响应报文,则 确定所述报文为P2P资源请求报文; 根据所述客户端对服务端的访问记录,获取所述报文所对应的可疑目标P2P资源,并缓 存所述可疑目标P2P资源; 向所述客户端发送所述可疑目标P2P资源的文件列表,以使所述客户端根据所述文件 列表确定所请求获取的P2P资源是否在所述可疑目标P2P资源中; 在接收到P2P资源获取请求后,向所述客户端发送对应的P2P资源,所述P2P资源获取请 求为所述客户端在确定所请求获取的P2P资源在所述可疑目标P2P资源中时所发送的。2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 在确定所述报文为P2P资源请求报文后,将所述报文的源节点信息和目的节点信息添 加到保存的P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记,所述P2P 节点信息中包括源节点信息和目的节点信息的对应关系; 当接收到报文时,判断所述报文是否为会话的首报文,若是,则根据所述报文的源节点 信息或目的节点信息查找所述P2P节点信息,若查找到所述源节点信息或目的节点信息,则 确定所述报文为P2P资源请求报文; 若所述报文不是会话的首报文,则判断所述报文所对应会话的会话信息中是否有P2P 标记,若所述会话信息中有P2P标记,则确定所述报文为P2P资源请求报文。3. 根据权利要求2所述的方法,其特征在于,所述方法还包括: 若在所述P2P节点信息中查找到所述报文的源节点信息,则将所述报文的目的节点信 息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记; 若在所述P2P节点信息中查找到所述报文的目的节点信息,则将所述报文的源节点信 息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记。4. 根据权利要求2所述的方法,其特征在于,所述根据所述客户端对服务端的访问记 录,获取所述报文所对应的可疑目标P2P资源,包括: 根据所述报文的源节点信息查找所述P2P节点信息,若查找到所述源节点信息,则获取 所述源节点信息对应的所有目标节点信息; 向每一个所述目标节点信息所对应的服务端发送用于查看共享文件列表的请求报文; 接收所述服务端根据所述请求报文所发送的共享文件列表; 根据所述共享文件列表获取所述报文所对应的可疑目标P2P资源。5. 根据权利要求4所述的方法,其特征在于,所述根据所述共享文件列表获取所述报文 所对应的可疑目标P2P资源,包括: 获取每一个所述共享文件列表中都相同的共享文件的信息,根据所述共享文件的信息 获取所述报文所对应的可疑目标P2P资源。6. 根据权利要求1所述的方法,其特征在于,所述缓存所述可疑目标P2P资源,包括: 根据所述可疑目标P2P资源的哈希值确定本地是否已缓存所述可疑目标P2P资源; 若存在未缓存的可疑目标P2P资源,则根据所述未缓存的可疑目标P2P资源的哈希值和 资源大小,通过P2P协议构造所述未缓存的可疑目标P2P资源对应的URL地址; 根据所述URL地址,向对应的服务端发送携带所述URL地址的下载请求; 接收所述服务端根据所述下载请求所发送的P2P资源,并缓存所述P2P资源,直至缓存 所有所述可疑目标P2P资源。7. -种P2P资源共享的装置,其特征在于,所述装置包括: 第一发送单元,用于在根据所接收到的报文的报文特征未能识别出所述报文所应用的 协议类型时,根据所述报文的源节点信息和目的节点信息,分别向对应的客户端和服务端 发送P2P协议确认报文; 确定单元,用于若接收到所述客户端和服务端根据所述P2P协议确认报文发送的P2P协 议响应报文,则确定所述报文为P2P资源请求报文; 缓存单元,用于根据所述客户端对服务端的访问记录,获取所述报文所对应的可疑目 标P2P资源,并缓存所述可疑目标P2P资源; 第二发送单元,用于向所述客户端发送所述可疑目标P2P资源的文件列表,以使所述客 户端根据所述文件列表确定所请求获取的P2P资源是否在所述可疑目标P2P资源中; 分发单元,用于在接收到P2P资源获取请求后,向所述客户端发送对应的P2P资源,所述 P2P资源获取请求为所述客户端在确定所请求获取的P2P资源在所述可疑目标P2P资源中时 所发送的。8. 根据权利要求7所述的装置,其特征在于,所述装置还包括: 第一添加单元,用于在确定所述报文为P2P资源请求报文后,将所述报文的源节点信息 和目的节点信息添加到保存的P2P节点信息中,并在所述报文所对应会话的会话信息中添 加 P2P标记,所述P2P节点信息中包括源节点信息和目的节点信息的对应关系; 第一判断单元,用于当接收到报文时,判断所述报文是否为会话的首报文; 查找单元,用于在所述报文是会话的首报文时,根据所述报文的源节点信息或目的节 点信息查找所述P2P节点信息; 处理单元,用于若查找到所述源节点信息或目的节点信息,则确定所述报文为P2P资源 请求报文; 第二判断单元,用于若所述报文不是会话的首报文,则判断所述报文所对应会话的会 话信息中是否有P2P标记; 所述处理单元,还用于:若所述会话信息中有P2P标记,则确定所述报文为P2P资源请求 报文。9. 根据权利要求8所述的装置,其特征在于,所述装置还包括: 第二添加单元,用于若在所述P2P节点信息中查找到所述报文的源节点信息,则将所述 报文的目的节点信息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中 添加 P2P标记; 若在所述P2P节点信息中查找到所述报文的目的节点信息,则将所述报文的源节点信 息添加到所述P2P节点信息中,并在所述报文所对应会话的会话信息中添加 P2P标记。10. 根据权利要求8所述的装置,其特征在于,所述缓存单元,包括: 查找子单元,用于根据所述报文的源节点信息查找所述P2P节点信息; 第一获取子单元,用于若查找到所述源节点信息,则获取所述源节点信息对应的所有 目标节点信息; 发送子单元,用于向每一个所述目标节点信息所对应的服务端发送用于查看共享文件 列表的请求报文; 接收子单元,用于接收所述服务端根据所述请求报文所发送的共享文件列表; 第二获取子单元,用于根据所述共享文件列表获取所述报文所对应的可疑目标P2P资 源。11. 根据权利要求10所述的装置,其特征在于,所述第二获取子单元,具体用于: 获取每一个所述共享文件列表中都相同的共享文件的信息,根据所述共享文件的信息 获取所述报文所对应的可疑目标P2P资源。12. 根据权利要求7所述的装置,其特征在于,所述缓存单元,包括: 确定子单元,用于根据所述可疑目标P2P资源的哈希值确定本地是否已缓存所述可疑 目标P2P资源; 构造子单元,用于若存在未缓存的可疑目标P2P资源,则根据所述未缓存的可疑目标 P2P资源的哈希值和资源大小,通过P2P协议构造所述未缓存的可疑目标P2P资源对应的URL 地址; 下载子单元,用于根据所述URL地址,向对应的服务端发送携带所述URL地址的下载请 求; 缓存子单元,用于接收所述服务端根据所述下载请求所发送的P2P资源,并缓存所述 P2P资源,直至缓存所有所述可疑目标P2P资源。
【文档编号】H04L29/08GK106060155SQ201610514920
【公开日】2016年10月26日
【申请日】2016年6月28日
【发明人】祝永见, 曾生锋, 周守亚
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1