CN101964741B - 一种节点列表发送方法和设备 - Google Patents
一种节点列表发送方法和设备 Download PDFInfo
- Publication number
- CN101964741B CN101964741B CN2009101091331A CN200910109133A CN101964741B CN 101964741 B CN101964741 B CN 101964741B CN 2009101091331 A CN2009101091331 A CN 2009101091331A CN 200910109133 A CN200910109133 A CN 200910109133A CN 101964741 B CN101964741 B CN 101964741B
- Authority
- CN
- China
- Prior art keywords
- node
- client
- node listing
- listing
- priority
- 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.)
- Active
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络通信领域,尤其涉及一种节点列表发送方法和设备。该方法包括,接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点;根据所述节点列表请求消息获取能够提供所述特定资源的节点列表;根据所述节点列表中各节点的优先级和所述客户端的客户端信息,向所述客户端分批发送所述节点列表中的节点;其中,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。本发明实施例提供的技术方案,通过根据客户端信息按节点列表中的各节点的优先级向客户端分批发送节点,改善了P2P流量优化效率。
Description
技术领域
本发明涉及网络通信领域,尤其涉及一种节点列表发送方法和设备。
背景技术
现在,因特网上有大量的对等(Peer-to-Peer,P2P)网络应用,例如比特流(Bittorrent),电骡(Emule)等,这些P2P应用带来的大量P2P流量占了互联网流量的一半以上。P2P网络一般由服务器(例如在比特流中为appTracker)和节点(Peer)组成。当获取资源时,peer先从服务器获取节点列表(Peerlist)信息,然后根据Peerlist信息和该Peerlist中的其他peer进行信令交互和数据传输。由于P2P网络的服务器和peer都不感知网络拓扑,因此产生了大量跨域、跨网络服务提供商(Internet Service Provider,ISP)的流量。这些流量跨度大,跳数多,降低了网络效率,因此有必要对P2P流量进行优化。
目前对P2P流量进行优化的方法为对Peerlist进行排序,排序时将具有较低消耗或者距离下载peer较近的peer放在前面。这样,可以使下载peer从Peerlist中选择其他peer时,先选择离自己较近和/或线路租金较低的peer建立连接,从而实现流量优化。
但是,现有的很多p2p客户端,例如Bittorrent,迅雷,Bitcomet等,具有各自的peer选择机制。并不按照返回的排序后的Peerlist中的顺序与其他peer进行连接。因此采用对Peerlist排序的手段实现流量优化方法,对多数P2P客户端无效。
发明内容
本发明实施例的目的是提供一种节点列表发送方法和设备,用以解决P2P流量优化的问题。
本发明实施例的目的是通过以下技术方案实现的:
一种节点列表发送方法,应用于对等网络中,包括:
接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点;
根据所述节点列表请求消息获取能够提供所述特定资源的节点列表;
根据所述节点列表中各节点的优先级和所述客户端的客户端信息,按照时间规律向所述客户端自行分批发送所述节点列表中的节点,所述分批发送的节点中去除已经发送过的节点;
其中,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
一种节点列表发送设备,包括:
接收模块,用于接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点;
获取模块,用于根据所述节点列表请求消息获取能够提供所述特定资源的节点列表;
发送模块,用于根据所述节点列表中各节点的优先级和所述客户端的客户端信息,按照时间规律向所述客户端自行分批发送所述节点列表中的节点,所述分批发送的节点中去除已经发送过的节点,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
本发明实施例提供的技术方案,通过根据客户端信息按节点列表中的各节点的优先级向客户端分批发送节点,改善了P2P流量优化效率。
附图说明
图1为本发明一个实施例中节点列表发送方法流程图;
图2为本发明另一个实施例中节点列表发送方法流程图;
图3为本发明又一个实施例中节点列表发送方法流程图;
图4为本发明另一个实施例中节点列表发送方法流程图;
图5为本发明又一个实施例中节点列表发送方法流程图;
图6为本发明另一个实施例中节点列表发送设备框图;
图7为本发明又一个实施例中节点列表发送设备框图;
图8为本发明另一个实施例中节点列表发送设备框图。
具体实施方式
以下结合图1说明本发明一个实施例:
图1为本发明一个实施例中节点列表发送方法流程图。该方法包括:
102、接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点。
客户端为了以P2P方式下载特定资源,需要获得能提供该资源的节点的信息,因此客户端向服务器(appTracker或pTracker)发送节点列表请求消息。服务器接收该节点列表请求消息,本发明实施例的某些具体应用场景中深度包检测(Deep Packet Inspection,DPI)设备以截获的方式接收该消息。
104、根据所述节点列表请求消息获取能够提供所述特定资源的节点列表。
服务器(appTracker或pTracker)上存有能够提供该特定资源的节点,可以直接在自身的存储空间中获取这些节点组成节点列表。其他服务器(例如iTracker)或DPI设备可以从服务器(appTracker或pTracker)获取该节点列表。
106、根据所述节点列表中各节点的优先级和所述客户端的客户端信息,向所述客户端分批发送所述节点列表中的节点,所述各节点的优先级根据网络拓扑信息或运营商策略确定。
客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是客户端主动上报的,也可以是根据客户端类型、客户端地址等已知信息推断的。
节点列表的优先级可以是根据网络拓扑信息或运营商策略自行确定的,也可以是接收已经经过排序的节点列表,将该节点列表的顺序作为该节点列表的优先级。网络拓扑信息可以包括网络拓扑结构、当前流量信息等,运营商策略可以包括线路费用、骨干网能力等。
举例来说,本发明实施例的一个具体应用场景中,接收一个Bittorrent客户端发送的节点列表请求消息,根据该客户端的类型确定该客户端默认最大连接数为60,并且该客户端是第一次请求节点列表。此时该客户已知的节点的数量是0,如果将节点列表中所有的节点都返回给客户端,则客户端很可能不会选择最优化的节点尝试连接。在该具体应用场景中,根据推断的该客户默认最大连接数,本批次只按优先级返回60个节点,则客户端只能在这60个节点中尝试连接。
当再次接收到该客户端发送的节点列表请求消息时,如果该请求中携带本次请求的节点数量,则按优先级在节点列表中选择该数量个未向该客户端发送过的节点,作为第二批节点发送给客户端。也可以将上述第二批节点和已经发送过的节点一起发送给客户端。举例来说,如果节点列表包括200个节点,已经发送给客户端的节点的数量为60,客户端再次发送的节点列表请求消息中请求的节点数量为20,则将节点列表中优先级第61位到第80位的节点作为当前批次的节点向客户端发送,或者直接将优先级前80位的节点向客户端发送。或者,如果与客户端的约定是直接发送请求数量的节点,当客户端再次请求发送80个节点时,则将优先级前80位的节点向客户端发送。请求中携带的本次请求的节点数量可以是客户端根据已经连接的节点数量和最大连接数确定的。
或者,当再次接收到该客户端发送的节点列表请求消息,并且在该请求消息中携带当前未使用的带宽时,根据每个连接占用带宽的经验值确定当前批次需要发送的节点的数量,按优先级在节点列表中选择未向该客户端发送过的该数量的节点,作为第二批节点发送给客户端。也可以将上述第二批节点和已经发送过的节点一起发送给客户端。
或者,当再次接收到该客户端发送的节点列表请求消息,该请求中未携带客户端信息时,根据该客户端的类型和两次请求间的时间间隔按照经验值确定当前批次需要发送的节点的数量,按优先级在节点列表中选择未向该客户端发送过的该数量的节点,作为第二批节点发送给客户端。也可以将上述第二批节点和已经发送过的节点一起发送给客户端。
上述具体应用场景中也可以不等待客户端再次发送节点列表请求消息,按照一定的时间规律向客户端自行分批返回节点列表。
该具体应用场景中,因为根据客户端连接信息和/或客户端带宽信息按优先级顺序分批发送节点列表中的节点,可以使客户端分批次依次得到当前优先级最高的一批节点,使客户端只能在这些流量优化效果最好的节点中选择节点连接,改善了P2P流量优化效率。
本发明实施例的另一个具体应用场景中,接收一个Bittorrent客户端发送的节点列表请求消息,根据该客户端的客户端位置信息确定与该客户端处于同一区域的节点数量,客户端位置信息可以根据客户端地址得到。按照区域的大小确定当前批次需要发送的节点的数量。例如,按照小区、城市、省份、国家将节点列表中的所有节点划分为5批,此时处于同一区域的节点具有相同的优先级,当该客户端第一次请求节点列表时,将与该客户端处于同一小区的节点发送给该客户端,当该客户端再次请求节点列表时,将与该客户端处于同一城市的节点发送给该客户端,依此类推。向客户端发送的节点列表可以包括已经发送过的节点,也可以去除已经发送过的节点。
上述具体应用场景中也可以不等待客户端再次发送节点列表请求消息,按照一定的时间规律向客户端自行分批返回节点列表。
该具体应用场景中,因为根据客户端位置信息按优先级顺序分批发送节点列表中的节点,可以使客户分批次依次得到距离自身最近的一批节点,只能在距离自身最近的也就是本地化效果最好的节点中选择节点连接,可以达到最高的本地化效果,改善了P2P流量优化效率。
本领域普通技术人员可以理解,上述几种客户端信息可以共同用于确定当前批次需要发送的节点的数量,例如选择客户端连接数信息和客户端位置信息确定的节点列表中数量较小的一个作为当前批次需要发送的节点列表。
以下结合图2说明本发明另一个实施例,该实施例应用于电信运营商主动参与P2P网络(Proactive network Provider Participation forP2P,P4P)中。P4P网络中通常包括提供节点列表的节点服务器(pTracker)和提供节点列表排序服务的索引服务器(iTracker)。
图2为本发明另一个实施例中节点列表发送方法流程图。该方法包括:
202、节点服务器接收客户端发送的节点列表请求消息。
举例来说,该节点列表请求消息中可以包括预先约定的,指示节点服务器是否进行分批发送的参数,节点服务器根据该参数确定是否采用分批发送节点列表中的节点的方式进行流量优化。上述指示节点服务器是否进行分批发送的参数也可以单独发送,而不携带在节点列表请求消息中。
该节点列表请求消息中也可以包括客户端已经请求节点列表的次数。
该节点列表请求消息中也可以包括客户端信息,例如客户端连接数信息和/或客户端带宽信息。
204、节点服务器向索引服务器发送对应于该节点列表请求消息的节点列表,并接收索引服务器发送的经过排序的节点列表。
206、节点服务器根据所述节点列表中的各节点的优先级和所述客户端的客户端信息向所述客户端分批发送节点列表中的节点,所述优先级由索引服务器根据网络拓扑信息或运营商策略确定。
向所述客户端分批发送节点列表中的节点具体可以根据所述节点列表中的各节点的优先级和所述客户端的客户端信息进行。所述客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是客户端主动上报的,也可以是节点服务器根据客户端类型、客户端地址等已知信息推断的。
节点服务器将索引服务器发送的经过排序的节点列表的顺序作为节点列表的优先级,所述节点列表的顺序由索引服务器根据网络拓扑信息或运营商策略确定。
节点服务器根据客户端信息和节点列表中节点的优先级确定当前批次向客户端发送的节点列表并向所述客户端分批发送节点列表中的节点。上述过程中可能需要已经发送给客户端的节点的数量或客户端已经请求节点列表的次数,这些参数可以是节点服务器自身统计的,也可以是该客户端的节点列表请求消息中携带的。
以下结合图3说明本发明又一个实施例,该实施例应用于P4P中。
图3为本发明又一个实施例中节点列表发送方法流程图。该方法包括:
302、节点服务器接收客户端发送的节点列表请求消息。
举例来说,该节点列表请求消息中可以包括预先约定的,指示节点服务器是否进行分批发送的参数,节点服务器根据该参数确定是否采用分批发送节点列表中的节点的方式进行流量优化。上述指示节点服务器是否进行分批发送的参数也可以单独发送,而不携带在节点列表请求消息中。
该节点列表请求消息中也可以包括客户端已经请求节点列表的次数。
该节点列表请求消息中也可以包括客户端信息,例如客户端连接数信息和/或客户端带宽信息。
304、节点服务器向索引服务器发送对应于该节点列表请求消息的节点列表。
举例来说,该节点列表中可以包括预先约定的,指示索引服务器是否进行分批发送的参数,索引服务器根据该参数确定是否需要分批发送节点列表中的节点。上述指示索引服务器是否进行分批发送的参数也可以单独发送,而不携带在节点列表请求消息中。
306、节点服务器根据所述客户端的客户端信息和所述客户端已经请求节点列表的次数确定当前批次需要发送的节点的数量。
客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是客户端主动上报的,也可以是根据客户端类型、客户端地址等已知信息推断的。
客户端已经请求节点列表的次数可以是节点服务器自身根据已经接收到的该客户端的节点列表请求消息的次数统计的,也可以是该客户端的节点列表请求消息携带的。
308、节点服务器向索引服务器发送节点列表查询消息,所述节点列表查询消息包括已经发送给客户端的节点的数量和所述当前批次需要发送的节点的数量。
310、节点服务器接收索引服务器根据所述已经发送给客户端的节点的数量、所述当前批次需要发送的节点的数量和节点的优先级返回的当前批次的节点。
索引服务器根据网络拓扑信息或运营商策略确定节点的优先级,并根据已经发送给客户端的节点的数量和当前批次需要发送的节点的数量按优先级确定当前批次的节点并向节点服务器发送。
312、节点服务器向所述客户端分批发送节点列表中的节点。
以下结合图4说明本发明另一个实施例,该实施例应用于P4P中。
图4为本发明另一个实施例中节点列表发送方法流程图。该方法包括:
402、节点服务器接收客户端发送的节点列表请求消息。
404、节点服务器根据所述节点列表请求消息组成节点列表。
节点服务器上存有提供特定资源的节点,可以直接在自身的存储空间中获取这些节点组成节点列表。
406、节点服务器向索引服务器发送优先级查询消息。
该优先级查询消息中包括节点列表,还可以包括文件标识、用户标识等信息。所述文件标识是该客户端请求的特定资源的标识,所述用户标识是对等网络中用于识别不同用户的标识。
举例来说,该优先级查询消息中可以包括预先约定的,指示索引服务器是否进行分批发送的参数,索引服务器根据该参数确定是否需要分批发送节点列表中的节点。上述指示索引服务器是否进行分批发送的参数也可以单独发送,而不携带在优先级查询消息中。
该优先级查询消息中也可以包括客户端已经请求节点列表的次数和/或已经发送给客户端的节点的数量。
该优先级查询消息中也可以包括客户端信息,例如客户端连接数信息和/或客户端带宽信息。客户端信息可以是客户端主动上报的,也可以是根据客户端类型、客户端地址等已知信息推断的。
408、节点服务器接收并向所述客户端转发所述索引服务器根据所述节点列表中的各节点的优先级和所述客户端的客户端信息分批发送的所述节点列表中的节点。
客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是节点服务器发送的优先级查询消息中携带的,也可以是索引服务器根据客户端类型、客户端地址等已知信息推断的。
索引服务器根据网络拓扑信息或运营商策略确定节点列表中各节点的优先级。
索引服务器根据客户端信息以及优先级确定当前批次向客户端发送的节点列表并向所述节点服务器分批发送节点列表中的节点。上述过程中索引服务器可能需要已经发送给客户端的节点的数量或客户端已经请求节点列表的次数,这些参数可以是索引服务器自身统计的,也可以是节点服务器的优先级查询消息中携带的。
节点服务器向所述客户端转发所述索引服务器分批发送的节点列表中的节点。
以下结合图5说明本发明又一个实施例,该实施例应用于深度包检测(Deep Packet Inspection,DPI)场景中。
图5为本发明又一个实施例中节点列表发送方法流程图。该方法包括:
502、深度包检测设备截获所述接收客户端发送的节点列表请求消息。
该节点列表请求消息中也可以包括客户端信息,例如客户端连接数信息和/或客户端带宽信息。深度包检测设备记录该客户端信息。
深度包检测设备截获节点列表请求后不作修改原样转发。
当客户端发送的节点列表请求中没有客户端信息等深度包检测设备需要的信息时,可以省略步骤502。
504、深度包检测设备截获发送给所述客户端的节点列表,并确定所述节点列表中各节点的优先级。
如果服务器发送的节点列表已经根据网络拓扑信息或运营商策略经过排序,可以根据节点列表的顺序确定节点列表中各节点的优先级。如果服务器不提供节点列表的排序,则深度包检测设备需要自行收集网络拓扑信息或运营商策略或者从其他网络设备接收网络拓扑信息或运营商策略,确定节点列表中各节点的优先级。
506、深度包检测设备根据请求节点列表的客户端的客户端信息,按所述优先级向所述客户端分批发送节点列表中的节点。
客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是客户端主动上报的,也可以是深度包检测设备根据客户端类型、客户端地址等已知信息推断的。
深度包检测设备不向客户端发送截获的全部节点列表,而是根据客户端信息按优先级确定当前批次向客户端发送的节点列表并向所述客户端分批发送节点列表中的节点。上述过程中可能需要已经发送给客户端的节点的数量或客户端已经请求节点列表的次数,这些参数可以是深度包检测设自身统计的,也可以是该客户端的节点列表请求消息中携带的。
以下结合图6说明本发明另一个实施例:
图6为本发明另一个实施例中节点列表发送设备框图。该设备包括:
接收模块602,用于接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点。
客户端为了以P2P方式下载特定资源,需要获得能提供该资源的节点的信息,因此客户端向节点列表发送设备发送节点列表请求消息。接收模块602接收该节点列表请求消息,本发明实施例的某些具体应用场景中节点列表发送设备为DPI设备,该DPI设备以截获的方式接收该消息。
获取模块604,用于根据所述节点列表请求消息获取能够提供所述特定资源的节点列表。
当所述节点列表发送设备应用于服务器(appTracker或pTracker)上时,所述节点列表发送设备自身存有能够提供该特定资源的节点,可以直接在自身的存储空间中获取这些节点组成节点列表。当所述节点列表发送设备应用于其他种类服务器(例如iTracker)或DPI设备时,所述节点列表发送设备可以从服务器(appTracker或pTracker)获取该节点列表。
发送模块606,用于根据所述节点列表中各节点的优先级和所述客户端的客户端信息,向所述客户端分批发送所述节点列表中的节点,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是客户端主动上报的,也可以是根据客户端类型、客户端地址等已知信息推断的。
节点列表的优先级可以是根据网络拓扑信息或运营商策略自行确定的,也可以是接收已经经过排序的节点列表,将该节点列表的顺序作为该节点列表的优先级。网络拓扑信息可以包括网络拓扑结构、当前流量信息等,运营商策略可以包括线路费用、骨干网能力等。
举例来说,本发明实施例的一个具体应用场景中,接收模块602接收一个Bittorrent客户端发送的节点列表请求消息,发送模块606根据该客户端的类型确定该客户端默认最大连接数为60,并且该客户端是第一次请求节点列表。此时该客户已知的节点的数量是0,如果将节点列表中所有的节点都返回给客户端,则客户端很可能不会选择最优化的节点尝试连接。在该具体应用场景中,发送模块606根据推断的该客户默认最大连接数,本批次只按优先级返回60个节点,则客户端只能在这60个节点中尝试连接。
当接收模块602再次接收到该客户端发送的节点列表请求消息时,如果该请求中携带本次请求的节点数量,发送模块606则按优先级在节点列表中选择该数量个未向该客户端发送过的节点,作为第二批节点发送给客户端。发送模块606也可以将上述第二批节点和已经发送过的节点一起发送给客户端。举例来说,如果节点列表包括200个节点,已经发送给客户端的节点的数量为60,客户端再次发送的节点列表请求消息中请求的节点数量为20,则发送模块606将节点列表中优先级第61位到第80位的节点作为当前批次的节点向客户端发送,或者直接将优先级前80位的节点向客户端发送。或者,如果与客户端的约定是直接发送请求数量的节点,当客户端再次请求发送80个节点时,则发送模块606将优先级前80位的节点向客户端发送。请求中携带的本次请求的节点数量可以是客户端根据已经连接的节点数量和最大连接数确定的。
或者,当接收模块602再次接收到该客户端发送的节点列表请求消息,并且在该请求消息中携带当前未使用的带宽时,发送模块606根据每个连接占用带宽的经验值确定当前批次需要发送的节点的数量,按优先级在节点列表中选择未向该客户端发送过的该数量的节点,作为第二批节点发送给客户端。发送模块606也可以将上述第二批节点和已经发送过的节点一起发送给客户端。
或者,当接收模块602再次接收到该客户端发送的节点列表请求消息,该请求中未携带客户端信息时,发送模块606根据该客户端的类型和两次请求间的时间间隔按照经验值确定当前批次需要发送的节点的数量,按优先级在节点列表中选择未向该客户端发送过的该数量的节点,作为第二批节点发送给客户端。发送模块606也可以将上述第二批节点和已经发送过的节点一起发送给客户端。
上述具体应用场景中发送模块606也可以不等待客户端再次发送节点列表请求消息,按照一定的时间规律向客户端自行分批返回节点列表。
该具体应用场景中,因为发送模块606根据客户端连接信息和/或客户端带宽信息按优先级顺序分批发送节点列表中的节点,可以使客户端分批次依次得到当前优先级最高的一批节点,使客户端只能在这些流量优化效果最好的节点中选择节点连接,改善了P2P流量优化效率。
本发明实施例的另一个具体应用场景中,接收模块602接收一个Bittorrent客户端发送的节点列表请求消息,根据该客户端的客户端位置信息确定与该客户端处于同一区域的节点数量,客户端位置信息可以根据客户端地址得到。按照区域的大小确定当前批次需要发送的节点的数量。例如,按照小区、城市、省份、国家将所有能够提供该客户端所请求的资源的节点划分为5批,此时处于同一区域的节点具有相同的优先级,当该客户端第一次请求节点列表时,发送模块606将与该客户端处于同一小区的节点发送给该客户端,当该客户端再次请求节点列表时,发送模块606将与该客户端处于同一城市的节点发送给该客户端,依此类推。发送模块606向客户端发送的节点列表可以包括已经发送过的节点,也可以去除已经发送过的节点。
上述具体应用场景中发送模块606也可以不等待客户端再次发送节点列表请求消息,按照一定的时间规律向客户端自行分批返回节点列表。
该具体应用场景中,因为发送模块606根据客户端位置信息按优先级顺序分批发送节点列表中的节点,可以使客户分批次依次得到距离自身最近的一批节点,只能在距离自身最近的也就是本地化效果最好的节点中选择节点连接,可以达到最高的本地化效果,改善了P2P流量优化效率。
本领域普通技术人员可以理解,上述几种客户端信息可以共同用于确定当前批次需要发送的节点的数量,例如选择客户端连接数信息和客户端位置信息确定的节点列表中数量较小的一个作为当前批次需要发送的节点列表。
以下结合图7说明本发明又一个实施例:
图7为本发明又一个实施例中节点列表发送设备框图,所述节点列表发送设备应用于节点服务器。该设备包括:
接收模块702,用于接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点。
获取模块704,用于根据所述节点列表请求消息获取能够提供所述特定资源的节点列表。
发送模块706,用于根据所述节点列表中各节点的优先级和所述客户端的客户端信息,向所述客户端分批发送所述节点列表中的节点,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
其中,发送模块706包括:
查询单元762,用于向索引服务器发送优先级查询报文。
该优先级查询消息中包括节点列表,还可以包括文件标识、用户标识等信息。所述文件标识是该客户端请求的特定资源的标识,所述用户标识是对等网络中用于识别不同用户的标识。
举例来说,该优先级查询消息中可以包括预先约定的,指示索引服务器是否进行分批发送的参数,索引服务器根据该参数确定是否需要分批发送节点列表中的节点。
该优先级查询消息中也可以包括客户端已经请求节点列表的次数和/或已经发送给客户端的节点的数量。
该优先级查询消息中也可以包括客户端信息,例如客户端连接数信息和/或客户端带宽信息。客户端信息可以是客户端主动上报的,也可以是根据客户端类型、客户端地址等已知信息推断的。
接收单元764,用于接收索引服务器根据所述节点列表中的各节点的优先级和所述客户端的客户端信息分批发送的所述节点列表中的节点。
客户端信息可以是客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数中的一种或多种。客户端信息可以是节点服务器发送的优先级查询消息中携带的,也可以是索引服务器根据客户端类型、客户端地址等已知信息推断的。
索引服务器根据网络拓扑信息或运营商策略确定节点列表中各节点的优先级。
索引服务器根据客户端信息以及优先级确定当前批次发送的节点列表中的节点并向节点服务器分批发送节点列表中的节点,接收单元764接收这些分批发送的节点列表中的节点。上述过程中索引服务器可能需要已经发送给客户端的节点的数量或客户端已经请求节点列表的次数,这些参数可以是索引服务器自身统计的,也可以是节点服务器的优先级查询消息中携带的。
转发单元766,用于向所述客户端转发所述接收单元接收的索引服务器分批发送的所述节点列表中的节点。
以下结合图8说明本发明另一个实施例:
图8为本发明另一个实施例中节点列表发送设备框图,所述节点列表发送设备应用于DPI设备。该设备包括:
接收模块802,用于接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点。
获取模块804,用于根据所述节点列表请求消息获取能够提供所述特定资源的节点列表。
发送模块806,用于根据所述节点列表中各节点的优先级和所述客户端的客户端信息,向所述客户端分批发送所述节点列表中的节点,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
其中,发送模块804包括:
截获单元842,用于截获发送给所述客户端的节点列表。
确定单元844,用于确定所述节点列表中各节点的优先级。
如果服务器发送的节点列表已经根据网络拓扑信息或运营商策略经过排序,确定单元844可以根据节点列表的顺序确定节点列表中各节点的优先级。如果服务器不提供节点列表的排序,则深度包检测设备需要自行收集网络拓扑信息或运营商策略或者从其他网络设备接收网络拓扑信息或运营商策略,由确定单元844根据这些网络拓扑信息或运营商策略确定节点列表中各节点的优先级。
本发明实施例提供的技术方案,通过根据客户端信息按节点列表中的各节点的优先级向客户端分批发送节点列表中的节点,可以使客户端分批次依次得到当前流量优化效果最好的一批节点,使客户端只能在这些流量优化效果最好的节点中选择节点连接,改善了P2P流量优化效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质可以是ROM/RAM,磁盘或光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种节点列表发送方法,应用于对等网络中,其特征在于,包括:
接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点;
根据所述节点列表请求消息获取能够提供所述特定资源的节点列表;
根据所述节点列表中各节点的优先级和所述客户端的客户端信息,按照时间规律向所述客户端自行分批发送所述节点列表中的节点,所述分批发送的节点中去除已经发送过的节点;
其中,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
2.根据权利要求1所述的方法,其特征在于,所述客户端的客户端信息,包括以下至少一种:客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数。
3.根据权利要求1或2所述的方法,其特征在于,在所述向所述客户端分批发送所述节点列表中的节点之前,还包括:
接收预先约定的分批发送参数,根据所述分批发送参数确定是否分批发送节点列表中的节点。
4.根据权利要求1或2所述的方法,其特征在于,在所述向所述客户端分批发送节点列表中的节点之前,还包括:
向索引服务器i Tracker发送优先级查询消息,所述优先级查询消息包括所述节点列表;
接收iTracker根据网络拓扑信息或运营商策略确定的节点列表中的各节点的优先级。
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述节点列表请求消息获取能够提供所述特定资源的节点列表,包括:
截获发送给所述客户端的节点列表;
根据所述节点列表的排列顺序确定所述节点列表的优先级,所述节点列表的排列顺序是服务器根据所述网络拓扑信息或运营商策略确定的,或者,根据所述网络拓扑信息或运营商策略确定所述节点列表的优先级。
6.一种节点列表发送设备,其特征在于,包括:
接收模块,用于接收客户端发送的节点列表请求消息,所述节点列表请求消息用于请求能够提供特定资源的节点;
获取模块,用于根据所述节点列表请求消息获取能够提供所述特定资源的节点列表;
发送模块,用于根据所述节点列表中各节点的优先级和所述客户端的客户端信息,按照时间规律向所述客户端自行分批发送所述节点列表中的节点,所述分批发送的节点中去除已经发送过的节点,所述各节点的优先级根据网络拓扑信息或者运营商策略确定。
7.根据权利要求6所述的节点列表发送设备,其特征在于,所述客户端的客户端信息,包括以下至少一种:客户端连接数信息、客户端带宽信息、客户端位置信息或客户端请求节点列表次数。
8.根据权利要求6或7所述的节点列表发送设备,其特征在于,所述节点列表请求消息,包括:
预先约定的分批发送参数,用于确定是否分批发送节点列表中的节点。
9.根据权利要求6或7所述的节点列表发送设备,其特征在于,当所述节点列表发送设备应用于节点服务器pTracker时,所述发送模块包括:
查询单元,用于向iTracker发送优先级查询报文,所述优先级查询报文包括所述节点列表;
接收单元,用于接收iTracker根据所述节点列表中的各节点的优先级和所述客户端的客户端信息分批发送的所述节点列表中的节点;
转发单元,用于向所述客户端转发所述接收单元接收的iTracker分批发送的所述节点列表中的节点。
10.根据权利要求6或7所述的节点列表发送设备,其特征在于,当所述节点列表发送设备应用于深度包检测DPI设备时,所述获取模块包括:
截获单元,用于截获发送给所述客户端的节点列表;
确定单元,用于确定所述节点列表中各节点的优先级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101091331A CN101964741B (zh) | 2009-07-25 | 2009-07-25 | 一种节点列表发送方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101091331A CN101964741B (zh) | 2009-07-25 | 2009-07-25 | 一种节点列表发送方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101964741A CN101964741A (zh) | 2011-02-02 |
CN101964741B true CN101964741B (zh) | 2013-01-30 |
Family
ID=43517483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101091331A Active CN101964741B (zh) | 2009-07-25 | 2009-07-25 | 一种节点列表发送方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101964741B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179045B (zh) * | 2013-02-07 | 2016-04-13 | 北京邮电大学 | 支持p2p流量优化的资源节点选择方法 |
CN104394483B (zh) * | 2014-11-14 | 2017-09-19 | 南京邮电大学 | 一种互联网视频点播***中的流量本地化优化处理方法 |
CN107846430A (zh) * | 2016-09-19 | 2018-03-27 | 北京优朋普乐科技有限公司 | P2p网络的节点筛选方法和装置、登录服务器 |
CN107948677B (zh) | 2016-10-13 | 2020-02-14 | ***通信有限公司研究院 | 一种调度方法、服务器及第一对等节点 |
CN109347968B (zh) | 2018-11-07 | 2021-09-24 | 网宿科技股份有限公司 | 一种下载资源文件的数据块的方法、设备和*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442558A (zh) * | 2008-12-26 | 2009-05-27 | 中国科学院计算技术研究所 | 一种为p2sp网络提供索引服务的方法和*** |
CN101483604A (zh) * | 2009-02-16 | 2009-07-15 | 华为技术有限公司 | 资源列表发送方法、装置和*** |
-
2009
- 2009-07-25 CN CN2009101091331A patent/CN101964741B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101442558A (zh) * | 2008-12-26 | 2009-05-27 | 中国科学院计算技术研究所 | 一种为p2sp网络提供索引服务的方法和*** |
CN101483604A (zh) * | 2009-02-16 | 2009-07-15 | 华为技术有限公司 | 资源列表发送方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN101964741A (zh) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110177310A (zh) | 一种内容分发***和方法 | |
US20120198020A1 (en) | Content distribution within a service provider network | |
CN101729581B (zh) | 一种在p2p网络中实现重定向的方法、***及设备 | |
CN102308549A (zh) | 了解网络的对等 | |
CN104243609B (zh) | 一种信息业务推送方法和装置 | |
CN101964741B (zh) | 一种节点列表发送方法和设备 | |
CN109547221B (zh) | 大数据分析服务提供方法和装置、计算机可读存储介质 | |
CN101626385A (zh) | 媒体服务方法及*** | |
CN101616171B (zh) | 一种维护引导节点状态的方法、装置和*** | |
CN104106252A (zh) | P2p流传送支持 | |
KR101236729B1 (ko) | 데이터 분배 서비스를 위한 패킷 전송방식의 자동 선택 장치 및 방법 | |
CN110048906B (zh) | 一种判断节点传输质量的方法、***、装置及服务器 | |
CN101854287B (zh) | 一种p2p流量优化方法及装置 | |
CN104767796B (zh) | 一种基于移动p2p的车联网热点资源管理方法 | |
Miyoshi et al. | A P2P traffic localization method with additional delay insertion | |
WO2010099984A1 (en) | Method and system for efficiently using available network access resources | |
CN101695049A (zh) | 一种监控***中的业务处理方法及装置 | |
CN103037324A (zh) | 彩信发送、接收方法及*** | |
CN102904916A (zh) | 建立点对点通信的方法、索引服务器及*** | |
JP5894981B2 (ja) | 複数基準の選択を有するトポロジサーバを用いて通信アーキテクチャにわたって分散されたノードのネットワークへのアクセス | |
WO2014194526A1 (zh) | 移动网络数据资源获取方法、设备及*** | |
CN113934916A (zh) | Cdn业务的实现方法、终端设备、节点服务器及存储介质 | |
US11936710B1 (en) | Systems and methods for media delivery in cooperative device-to-device communications | |
US11936711B1 (en) | Systems and methods for media delivery in cooperative device-to-device communications | |
CN115412740B (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 |