CN103957269A - 点对点p2p网络节点选择方法及点对点p2p重定向服务器 - Google Patents
点对点p2p网络节点选择方法及点对点p2p重定向服务器 Download PDFInfo
- Publication number
- CN103957269A CN103957269A CN201410193290.6A CN201410193290A CN103957269A CN 103957269 A CN103957269 A CN 103957269A CN 201410193290 A CN201410193290 A CN 201410193290A CN 103957269 A CN103957269 A CN 103957269A
- Authority
- CN
- China
- Prior art keywords
- node
- territory
- download
- overseas
- download node
- 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.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种点对点P2P网络节点选择方法及点对点P2P重定向服务器,所述方法包括:接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;根据所述标识信息,确定可提供下载服务的下载节点;获取所述下载节点的网络拓扑信息和响应延迟信息;根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本;根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表;向所述请求节点反馈下载响应。本发明能提高P2P网络的运行效率。
Description
技术领域
本发明涉及点对点(Peer to Peer,简称P2P)技术,尤其涉及一种点对点P2P网络节点选择方法及点对点P2P重定向服务器,属于互联网领域。
背景技术
P2P技术中的网络节点地位都是对等的,每个节点既为其它节点提供服务,也享用其它节点的服务。P2P技术能够使得数据的传输更加高效,特别是在文件共享方面。
在现有技术中,为了实现P2P下载,主要有两种方式,一种方式为请求节点向服务器发送下载请求,服务器根据所需下载文件哈希值选取域内下载节点并向请求节点返回下载响应,从而使得请求节点可以从选定的下载节点上进行数据下载;另一种方式为分布式哈希表(Distributed HashTable,简称DHT)算法,即请求节点向中继节点发送下载请求,中继节点根据本地保存的节点信息随机选取协同下载节点。
采用选择域内下载节点的P2P节点选择方法,很可能域外节点相对于选择的域内节点来说能够提供更好的服务;采用DHT算法的P2P节点选择方法并未考虑下载节点间的流量和带宽差异,因而选择到的节点也并非最优下载节点,同时中继节点中保存的下载节点信息可能不是最新的,从而导致可用下载节点数下降。因此,现有技术无法为请求节点选择更适于提供服务的下载节点,导致下载效率不高。
发明内容
本发明提供一种使网络运行效率更高的点对点P2P网络节点选择方法及点对点P2P重定向服务器。
本发明的一个方面是提供一种P2P网络节点选择方法,包括:
接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;
根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;
获取所述下载节点的网络拓扑信息和响应延迟信息;
根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本;
根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表;
向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表,以使所述请求节点从所述下载节点列表中包含的下载节点上下载文件。
本发明的另一个方面是提供一种点对点P2P重定向(Peer-To-PeerRedirector,简称P2P重定向)服务器,用于实现上述P2P网络节点选择方法,包括:
接收模块,用于接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;
确定模块,用于根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;
获取模块,用于获取所述下载节点的网络拓扑信息和响应延迟信息;
计算模块,用于根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本;
列表生成模块,用于根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表;
反馈模块,用于向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表,以使所述请求节点从所述下载节点列表中包含的下载节点上下载文件。
本发明的有益效果为:
本发明通过将请求节点域外的下载节点与域内下载节点视为同等的下载节点,通过分析带宽、跳数、延迟等因素对通信成本的影响预估请求节点与下载节点之间的通信成本来选择对网络整体运行影响更小的P2P下载节点,在对节点的选择过程中考虑到下载节点接入下载节点所在域的通信成本或下载节点接入下载节点所在域的通信成本与请求节点所在域到下载节点所在域的通信成本之和,对通信成本的计算具体到节点。这种方法在不影响网络整体运行的基础上利用到了请求节点域外的丰富资源,提高了P2P下载效率。
附图说明
图1为本发明P2P网络节点选择方法实施例一的流程图;
图2为本发明P2P网络节点选择方法实施例二的信令流程图;
图3为本发明P2P重定向服务器的结构示意图。
具体实施方式
图1为本发明P2P网络节点选择方法实施例一的流程图,本发明P2P网络节点选择方法,包括:
S101、接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;所述标识信息可以为相关下载文件的哈希值,哈希值可以是一个128位的数据、可以唯一的标识一个文件。
S102、根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;所述域可以为自治系统(Autonomous System,简称AS)域。
S103、获取所述下载节点的网络拓扑信息和响应延迟信息。
获取所述下载节点的网络拓扑信息,包括:向ISP(Internet ServiceProvider,简称ISP)服务器获取所述下载节点的网络拓扑信息;所述域内下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率;所述域外下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率,以及所述请求节点所在域到该下载节点所在域的域间带宽和路由跳数。
获取响应延迟信息包括获取域内下载节点的响应延迟信息和获取域外下载节点的响应延迟信息;
获取域内下载节点的响应延迟信息,包括:
向域内下载节点发送接入探测数据包;
接收所述域内下载节点返回的应答响应;
确定所述应答响应的接收时间与所述探测数据包的发送时间之间的时间差,所述时间差为所述域内下载节点接入所述域内下载节点所在域的接入延迟;
获取域外下载节点的响应延迟信息,包括:
向所述域外下载节点所在域的服务器发送域间探测数据包,以使所述服务器将所述域间探测数据包发送给所述域外下载节点;
接收所述服务器返回的应答响应,所述应答响应为所述域外下载节点在接收到所述域间探测数据包后发送给所述服务器的;
确定所述应答响应的接收时间与所述域间探测数据包的发送时间之间的第一时间差,所述第一时间差包括所述域外下载节点到所述域外下载节点所在域的接入延迟以及所述域外下载节点所在域到所述请求节点所在域的域间延迟;
确定所述域外下载节点所在域的服务器转发域外下载节点返回的应答响应的时间与所述域外下载节点所在域的服务器向域外下载节点转发域间探测数据包的转发时间之间的第二时间差,所述第二时间差为域外下载节点到所述域外节点所在域的接入延迟;优选的,所述第二时间差可以通过所述域外下载节点所在域的服务器为域间探测数据包或应答响应打时间戳来获取,即所述域外下载节点所在域的服务器分别在向域外下载节点转发域间探测数据包时和转发域外下载节点的返回的应答响应时打上时间戳;
确定所述第一时间差与第二时间差之间的第三时间差,所述第三时间差为所述请求节点所在域到下载节点所在域的域间延迟。
S104、根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本,包括:
根据域内下载节点的网络拓扑信息和接入延迟,确定域内下载节点的通信成本,包括:
采用公式(1)确定域内下载节点的通信成本Cost1:
Cost1=η1/BandWithj+η2×Delayj+η3×Lostj (1)
根据域外下载节点的网络拓扑信息、域间延迟和接入延迟,确定域外下载节点的通信成本,包括:
采用公式(2)确定域外下载节点的通信成本Cost2:
+η1/BandWithj+η2×Delayj+η3×Lostj
其中、BandWithij表示所述请求节点所在域与所述下载节点所在域之间的域间带宽;
BandWithj表示所述下载节点接入所述下载节点所在域的接入带宽;
表示所述请求节点所在域到所述下载节点所在域的域间延迟;
Delayj表示所述下载节点接入所述下载节点所在域的接入延迟;
表示从所述请求节点所在域到所述下载节点所在域的路由跳数;
Lostj表示所述下载节点接入所述下载节点域的丢包率;
参数μ1,μ2,μ3为加权参数,由所述请求节点域内服务器根据实际的网络情况设定。
S105、根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表,包括:
将所述域内下载节点和域外下载节点按照通信成本从小到大的顺序排列并选取前N个或下载节点总数的前a%个下载节点生成下载节点列表。
S106、向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表,以使所述请求节点从所述下载节点列表中包含的下载节点上下载文件;根据通信成本选取的下载节点中可能只包含域内下载节点、或只包含域外下载节点,也可能同时包含域内下载节点和域外下载节点,一般的,域内下载节点比域外下载节点的通信成本相对较小,所述下载节点列表中包括域内下载节点,若根据计算结果、有些域外下载节点的通信成本排序在前N或前a%以内,则所述下载节点列表中同时包含域内下载节点和域外下载节点;
进一步的、一个文件一般可以分为多个数据块,请求节点为避免重复下载同一文件的同一数据块,将文件的多个数据块的下载任务随机对应分配到各下载节点上,即请求节点从不同下载节点上下载同一文件的不同数据块;若下载节点数小于文件包含的数据块数,则按照文件中不同数据块的排序比如时间顺序将排在前N或前a%的数据块任务随机对应分配给各下载节点并建立链接,排在之后的数据块则按序排队等待建立连接,当排在前N或前a%的某个数据块首先完成下载后,将空闲的相应下载节点分配给排队等待中的第一个数据块,重复这一过程直至遍历全部当前所剩数据块。
本实施例通过将请求节点域外的下载节点与域内下载节点视为同等的下载节点,通过分析带宽、跳数、延迟等因素对通信成本的影响预估请求节点与下载节点之间的通信成本来选择对网络整体运行影响更小的P2P下载节点,在对节点的选择过程中考虑到下载节点接入下载节点所在域的通信成本或下载节点接入下载节点所在域的通信成本与请求节点所在域到下载节点所在域的通信成本之和,对通信成本的计算具体到节点。这种方法在不影响网络整体运行的基础上利用到了请求节点域外的丰富资源,提高了P2P下载效率。
图2为本发明P2P网络节点选择方法实施例二的信令流程图。本发明P2P网络节点选择方法,包括:
S201、请求节点向域名服务系统(Domain Name System,简称DNS)服务器发送获取P2P重定向服务器地址的请求。
S202、DNS服务器向请求节点返回P2P重定向服务器地址。
S203、请求节点链接P2P重定向服务器并向P2P重定向服务器发送下载请求,所述下载请求中包含所需下载文件的标识信息;所述标识信息可以为相关下载文件的哈希值,哈希值可以是一个128位的数据、可以唯一的标识一个文件。
S204、P2P重定向服务器根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;所述域可以为AS域。
S205、P2P重定向服务器向ISP服务器发送获取所述下载节点的网络拓扑信息的请求。
S206、ISP服务器向P2P重定向服务器返回下载节点的网络拓扑信息;所述网络拓扑信息包括域内下载节点的网络拓扑信息和域外下载节点的网络拓扑信息;所述域内下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率;所述域外下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率,以及所述请求节点所在域到该下载节点所在域的域间带宽和路由跳数。
S207、P2P重定向服务器向域内下载节点发送接入探测数据包。
S208、P2P重定向服务器接收所述域内下载节点返回的应答响应。
S209、P2P重定向服务器确定所述应答响应的接收时间与所述接入探测数据包的发送时间之间的时间差,所述时间差为所述域内下载节点接入所述域内下载节点所在域的接入延迟。
S210、P2P重定向服务器向所述域外下载节点所在域的服务器发送域间探测数据包,以使所述服务器将所述域间探测数据包发送给所述域外下载节点。
S211、P2P重定向服务器接收所述域外下载节点所在域的服务器返回的应答响应,所述应答响应为所述域外下载节点在接收到所述域间探测数据包后发送给所述服务器的。
S212、P2P重定向服务器确定所述应答响应的接收时间与所述域间探测数据包的发送时间之间的第一时间差,所述第一时间差包括所述域外下载节点到所述域外下载节点所在域的接入延迟以及所述域外下载节点所在域到所述请求节点所在域的域间延迟;
P2P重定向服务器确定所述域外下载节点所在域的服务器转发域外下载节点返回的所述应答响应的时间与所述域外下载节点所在域的服务器向域外下载节点转发所述域间探测数据包的转发时间之间的第二时间差,所述第二时间差为域外下载节点到所述域外节点所在域的接入延迟;优选的,所述第二时间差可以通过所述域外下载节点所在域的服务器为所述域间探测数据包或所述应答响应打时间戳来获取,即所述域外下载节点所在域的服务器分别在向域外下载节点转发所述域间探测数据包时和转发域外下载节点的返回的所述应答响应时打上时间戳;
P2P重定向服务器确定所述第一时间差与第二时间差之间的第三时间差,所述第三时间差为所述请求节点所在域到下载节点所在域的域间延迟。
S213、P2P重定向服务器根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本,包括:
根据域内下载节点的网络拓扑信息和接入延迟,确定域内下载节点的通信成本,包括:
采用公式(1)确定域内下载节点的通信成本Cost1:
Cost1=η1/BandWithj+η2×Delayj+η3×Lostj (1)
根据域外下载节点的网络拓扑信息、域间延迟和接入延迟,确定域外下载节点的通信成本,包括:
采用公式(2)确定域外下载节点的通信成本Cost1:
+η1/BandWithj+η2×Delayj+η3×Lostj
其中、BandWithij表示所述请求节点域与所述下载节点域之间的域间带宽;
BandWithj表示所述下载节点接入所述下载节点域的接入带宽;
表示所述请求节点域到所述下载节点域的域间延迟;
Delayj表示所述下载节点接入所述下载节点域的接入延迟;
表示从所述请求节点域到所述下载节点域的路由跳数;
Lostj表示所述下载节点接入所述下载节点域的丢包率。
参数μ1,μ2,μ3为加权参数,由所述请求节点域内服务器根据实际的网络情况设定。
S214、P2P重定向服务器根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表,包括:
将所述域内下载节点和域外下载节点按照通信成本从小到大的顺序排列并选取前N个或下载节点总数的前a%个下载节点并生成下载节点列表。
S215、P2P重定向服务器向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表。
S216、所述请求节点接收所述P2P重定向服务器反馈的下载响应。
S217、所述请求节点链接所述下载节点列表中包含的域内下载节点并从域内下载节点上下载文件。
S218、所述请求节点链接所述下载节点列表中包含的域外下载节点并从域外下载节点上下载文件,本步骤与上一步骤不分先后、可能只进行其中一个,也可能同时进行,这是因为根据通信成本选取的下载节点中可能只包含域内下载节点、或只包含域外下载节点,也可能同时包含域内下载节点和域外下载节点;一般的,域内下载节点比域外下载节点的通信成本相对较小,所述下载节点列表中包括域内下载节点,若根据计算结果、有些域外下载节点的通信成本排序在前N或前a%以内,则所述下载节点列表中同时包含域内下载节点和域外下载节点;
进一步的、一个文件一般可以分为多个数据块,请求节点为避免重复下载同一文件的同一数据块,将文件的多个数据块的下载任务随机对应分配到各下载节点上,即请求节点从不同下载节点上下载同一文件的不同数据块;若下载节点数小于文件包含的数据块数,则按照文件中不同数据块的排序比如时间顺序将排在前N或前a%的数据块任务随机对应分配给各下载节点并建立链接,排在之后的数据块则按序排队等待建立连接,当排在前N或前a%的某个数据块首先完成下载后,将空闲的相应下载节点分配给排队等待中的第一个数据块,重复这一过程直至遍历全部当前所剩数据块。本实施例提供的P2P网络节点选择方法,通过请求节点向P2P重定向服务器发送下载文件的标识信息,所述P2P重定向服务器确定下载节点后向ISP服务器获取其网络拓扑信息和向下载节点发送探测数据包获取其响应延迟信息并根据所述网络拓扑信息和响应延迟信息计算出域内下载节点和域外下载节点的通信成本、再从域外下载节点和域内下载节点中选取通信成本较小的下载节点生成下载节点列表并将所述列表返回给下载节点,以使请求节点同时从域内下载节点和域外下载节点上下载文件,使请求节点充分利用了域外下载资源,提高了P2P下载效率。
图3为本发明P2P重定向服务器的结构示意图。本发明P2P重定向服务器,包括:接收模块31、确定模块32、获取模块33、计算模块34、列表生成模块35和反馈模块36;所述接收模块31用于接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;所述确定模块32用于根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;所述获取模块33用于向ISP服务器获取所述下载节点的网络拓扑信息和响应延迟信息;所述计算模块34用于根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本;所述列表生成模块35用于根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表;所述反馈模块36用于向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表,以使所述请求节点从所述下载节点列表中包含的下载节点上下载文件。
所述获取模块33,具体用于:
向所述域内下载节点发送接入探测数据包;接收所述域内下载节点返回的应答响应和确定所述应答响应的接收时间与所述探测数据包的发送时间之间的时间差,所述时间差为所述域内下载节点接入所述域内下载节点所在域的接入延迟;
向所述域外下载节点所在域的服务器发送域间探测数据包、以使所述服务器将所述域间探测数据包发送给所述域外下载节点;接收所述服务器返回的应答响应;确定所述应答响应的接收时间与所述域间探测数据包的发送时间之间的第一时间差,所述应答响应为所述域外下载节点在接收到所述域间探测数据包后发送给所述服务器的,所述第一时间差包括所述域外下载节点到所述域外下载节点所在域的接入延迟以及所述域外下载节点所在域到所述请求节点所在域的域间延迟;确定所述域外下载节点所在域的服务器转发域外下载节点返回的应答响应的时间与所述域外下载节点所在域的服务器向域外下载节点转发域间探测数据包的转发时间之间的第二时间差,所述第二时间差为域外下载节点到所述域外下载节点所在域的接入延迟;和确定所述第一时间差与第二时间差之间的第三时间差,所述第三时间差为所述请求节点所在域到下载节点所在域的域间延迟;优选的,所述第二时间差可以通过所述域外下载节点所在域的服务器为域间探测数据包或应答响应打时间戳来获取,即所述域外下载节点所在域的服务器向域外下载节点转发域间探测数据包时和转发域外下载节点的返回的应答响应时分别打上时间戳;
向ISP服务器获取所述下载节点的网络拓扑信息;所述域内下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率;所述域外下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率,以及所述请求节点所在域到该下载节点所在域的域间带宽和路由跳数。
所述计算模块34,具体用于根据域内下载节点的网络拓扑信息和接入延迟,确定域内下载节点的通信成本,包括:
采用公式(1)确定域内下载节点的通信成本Cost1:
Cost1=η1/BandWithj+η2×Delayj+η3×Lostj (1)
所述计算模块,具体还用于,根据域外下载节点的网络拓扑信息、域间延迟和接入延迟,确定域外下载节点的通信成本,包括:
采用公式(2)确定域外下载节点的通信成本Cost1:
+η1/BandWithj+η2×Delayj+η3×Lostj
其中、BandWithij表示所述请求节点域与所述下载节点域之间的域间带宽;
BandWithj表示所述下载节点接入所述下载节点域的接入带宽;
表示所述请求节点域到所述下载节点域的域间延迟;
Delayj表示所述下载节点接入所述下载节点域的接入延迟;
表示从所述请求节点域到所述下载节点域的路由跳数;
Lostj表示所述下载节点接入所述下载节点域的丢包率。
参数μ1,μ2,μ3为加权参数,由所述请求节点域内服务器根据实际的网络情况设定。
所述列表生成模块35,具体用于:将所述域内下载节点和域外下载节点按照通信成本从小到大的顺序排列并选取前N个或下载节点总数的前a%个下载节点生成下载节点列表;下载节点列表中同时包含了域内下载节点和域外下载节点。
本实施例提供的P2P重定向服务器通过根据接收到的包含文件标识的下载请求确定下载节点、获取对应下载节点的网络拓扑信息和响应延迟信息并计算通信成本、再从域外下载节点和域内下载节点中选择通信成本较小的下载节点生成下载节点列表并发送到请求节点,以使请求节点链接下载节点并同时从域内下载节点和域外下载节点上下载文件,使域外下载资源得到利用,实现了更优的P2P流量分布,提高了P2P下载效率和整个网络系统的运行效率。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种点对点P2P网络节点选择方法,其特征在于,包括:
接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;
根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;
获取所述下载节点的网络拓扑信息和响应延迟信息;
根据各下载节点的网络拓扑信息和响应延迟信息,确定各下载节点的通信成本;
根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表;
向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表,以使所述请求节点从所述下载节点列表中包含的下载节点上下载文件。
2.根据权利要求1所述的方法,其特征在于,
获取域内下载节点的响应延迟信息,包括:
向域内下载节点发送接入探测数据包;
接收所述域内下载节点返回的应答响应;
确定所述应答响应的接收时间与所述接入探测数据包的发送时间之间的时间差,所述时间差为所述域内下载节点接入所述域内下载节点所在域的接入延迟;
获取域外下载节点的响应延迟信息,包括:
向所述域外下载节点所在域的服务器发送域间探测数据包,以使所述服务器将所述域间探测数据包发送给所述域外下载节点;
接收所述服务器返回的应答响应,所述应答响应为所述域外下载节点在接收到所述域间探测数据包后发送给所述服务器的;
确定所述应答响应的接收时间与向所述域外下载节点所在域的服务器发送域间探测数据包的发送时间之间的第一时间差;
确定所述域外下载节点所在域的服务器接收域外下载节点返回的应答响应的时间与所述域外下载节点所在域的服务器向域外下载节点转发域间探测数据包的转发时间之间的第二时间差,所述第二时间差为域外下载节点到所述域外节点所在域的接入延迟;
确定所述第一时间与所述第二时间差之间的第三时间差,所述第三时间差为所述请求节点所在域到所述域外下载节点所在域的域间延迟。
3.根据权利要求1所述的方法,其特征在于,所述获取所述下载节点的网络拓扑信息,包括:
向互联网服务提供商ISP服务器获取所述下载节点的网络拓扑信息。
4.根据权利要求1~3中任一项所述的方法,其特征在于,所述域内下载节点的网络拓扑信息,包括所述域内下载节点接入该域内下载节点所在域的接入带宽和丢包率;
相应的,所述根据域内下载节点的网络拓扑信息和接入延迟信息,确定域内下载节点的通信成本,包括:
采用公式(1)确定域内下载节点的通信成本Cost1:
Cost1=η1/BandWithj+η2×Delayj+η3×Lostj (1)
所述域外下载节点的网络拓扑信息,包括所述域外下载节点接入该域外下载节点所在域的接入带宽和丢包率、以及所述请求节点所在域到该域外下载节点所在域的域间带宽和路由跳数;
相应的,所述根据域外下载节点的网络拓扑信息和接入延迟信息,确定域外下载节点的通信成本,包括:
采用公式(2)确定域外下载节点的通信成本Cost2:
+η1/BandWithj+η2×Delayj+η3×Lostj
其中、BandWithij表示所述请求节点所在域与所述下载节点所在域之间的域间带宽;
BandWithj表示所述下载节点接入所述下载节点所在域的接入带宽;
表示所述请求节点所在域到所述下载节点所在域的域间延迟;
Delayj表示所述下载节点接入所述下载节点所在域的接入延迟;
表示从所述请求节点所在域到所述下载节点所在域的路由跳数;
Lostj表示所述下载节点接入所述下载节点所在域的丢包率;
参数μ1,μ2,μ3为加权参数。
5.根据权利要求1~3中任一项所述的方法,其特征在于,所述根据通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,包括:
将所述域内下载节点和域外下载节点按照通信成本从小到大的顺序排列,选取前N个下载节点;
或者,
将所述域内下载节点和域外下载节点按照通信成本从小到大的顺序排列,选取下载节点总数的前a%个下载节点。
6.一种点对点P2P重定向服务器,其特征在于,包括:
接收模块,用于接收请求节点发送的下载请求,所述下载请求中包含所需下载文件的标识信息;
确定模块,用于根据所述标识信息,确定可提供下载服务的下载节点,所述下载节点包括所述请求节点所在的域内下载节点以及所述请求节点的域外下载节点;
获取模块,用于获取所述下载节点的网络拓扑信息和接入延迟信息;
计算模块,用于根据各下载节点的网络拓扑信息和接入延迟信息,确定各下载节点的通信成本;
列表生成模块,用于根据所述通信成本,从所述下载节点中选择通信成本最小的至少一个下载节点,并生成下载节点列表;
反馈模块,用于向所述请求节点反馈下载响应,所述下载响应中包含所述下载节点列表,以使所述请求节点从所述下载节点列表中包含的下载节点上下载文件。
7.根据权利要求6所述的服务器,其特征在于,所述获取模块,具体用于:
向所述域内下载节点发送接入探测数据包、接收所述域内下载节点返回的应答响应和确定所述应答响应的接收时间与所述接入探测数据包的发送时间之间的时间差,所述时间差为所述域内下载节点接入所述域内下载节点所在域的接入延迟;
向所述域外下载节点所在域的服务器发送域间探测数据包,以使所述服务器将所述域间探测数据包发送给所述域外下载节点、接收所述服务器返回的应答响应,所述应答响应为所述域外下载节点在接收到所述域间探测数据包后发送给所述服务器的、确定所述应答响应的接收时间与所述域间探测数据包的发送时间之间的第一时间差、确定所述域外下载节点所在域的服务器转发域外下载节点返回的应答响应的时间与所述域外下载节点所在域的服务器向域外下载节点转发域间探测数据包的转发时间之间的第二时间差,所述第二时间差为域外下载节点到所述域外节点所在域的接入延迟、和确定所述第一时间差与所述第二时间差之间的第三时间差,所述第三时间差为所述请求节点所在域到所述域外下载节点所在域的域间延迟。
8.根据权利要求6所述的服务器,其特征在于,所述获取模块,具体用于:
向互联网服务提供商ISP服务器获取所述下载节点的网络拓扑信息。
9.根据权利要求6~8中任一项所述的服务器,其特征在于,
所述域内下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率;
相应的,所述计算模块,具体用于:
采用公式(1)确定域内下载节点的通信成本Cost1:
Cost1=η1/BandWithj+η2×Delayj+η3×Lostj (1)
所述域外下载节点的网络拓扑信息,包括所述下载节点接入该下载节点所在域的接入带宽和丢包率、以及所述请求节点所在域到该下载节点所在域的域间带宽和路由跳数;
相应的,所述计算模块,具体用于:
采用公式(2)确定域外下载节点的通信成本Cost2:
+η1/BandWithj+η2×Delayj+η3×Lostj
其中、BandWithij表示所述请求节点所在域与所述下载节点所在域之间的域间带宽;
BandWithj表示所述下载节点接入所述下载节点所在域的接入带宽;
表示所述请求节点所在域到所述下载节点所在域的域间延迟;
Delayj表示所述下载节点接入所述下载节点所在域的接入延迟;
表示从所述请求节点所在域到所述下载节点所在域的路由跳数;
Lostj表示所述下载节点接入所述下载节点所在域的丢包率;
参数μ1,μ2,μ3为加权参数。
10.根据权利要求6~8中任一项所述的服务器,其特征在于,所述列表生成模块,具体用于:
将所述域内下载节点和域外下载节点按照通信成本从小到大的顺序排列并选取前N个或下载节点总数的前a%个下载节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410193290.6A CN103957269B (zh) | 2014-05-08 | 2014-05-08 | P2P网络节点选择方法及点对点重定向P2P Redirector服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410193290.6A CN103957269B (zh) | 2014-05-08 | 2014-05-08 | P2P网络节点选择方法及点对点重定向P2P Redirector服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957269A true CN103957269A (zh) | 2014-07-30 |
CN103957269B CN103957269B (zh) | 2017-09-29 |
Family
ID=51334492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410193290.6A Active CN103957269B (zh) | 2014-05-08 | 2014-05-08 | P2P网络节点选择方法及点对点重定向P2P Redirector服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103957269B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618447A (zh) * | 2014-12-31 | 2015-05-13 | 北京邮电大学 | 一种文件协同下载方法及系统 |
CN105812455A (zh) * | 2016-03-07 | 2016-07-27 | 北京邮电大学 | 一种移动Ad hoc网络中协同下载的方法和装置 |
CN105871999A (zh) * | 2015-12-21 | 2016-08-17 | 乐视云计算有限公司 | 一种p2p网络节点连接方法、装置及系统 |
CN106657362A (zh) * | 2016-12-30 | 2017-05-10 | 清华大学 | 一种新型虚拟多径tcp的终端内容调度方法 |
CN106713483A (zh) * | 2017-01-11 | 2017-05-24 | 北京金山安全管理系统技术有限公司 | 一种分布式软件分发方法 |
CN108337277A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种下载更新文件的方法和系统 |
CN108337276A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种文件分发方法和系统 |
CN109547508A (zh) * | 2017-09-21 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 一种实现资源访问的方法、装置及系统 |
CN109640107A (zh) * | 2018-12-13 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种视频直播数据传输方法和装置 |
CN112637351A (zh) * | 2020-12-25 | 2021-04-09 | 珠海金山网络游戏科技有限公司 | 一种文件下载方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163303A1 (en) * | 2006-12-29 | 2008-07-03 | Goosean Media Inc. | Video playback device for channel browsing |
CN101764833A (zh) * | 2008-12-24 | 2010-06-30 | 中国移动通信集团公司 | 一种资源节点信息通知方法及网络实体装置 |
CN101771931A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | P2p资源下载方法与识别装置 |
CN103327046A (zh) * | 2012-03-21 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 基于节点服务能力的p2sp系统调度方法、设备和系统 |
-
2014
- 2014-05-08 CN CN201410193290.6A patent/CN103957269B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163303A1 (en) * | 2006-12-29 | 2008-07-03 | Goosean Media Inc. | Video playback device for channel browsing |
CN101764833A (zh) * | 2008-12-24 | 2010-06-30 | 中国移动通信集团公司 | 一种资源节点信息通知方法及网络实体装置 |
CN101771931A (zh) * | 2008-12-26 | 2010-07-07 | 中国移动通信集团公司 | P2p资源下载方法与识别装置 |
CN103327046A (zh) * | 2012-03-21 | 2013-09-25 | 腾讯科技(深圳)有限公司 | 基于节点服务能力的p2sp系统调度方法、设备和系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618447B (zh) * | 2014-12-31 | 2018-06-08 | 北京邮电大学 | 一种文件协同下载方法及系统 |
CN104618447A (zh) * | 2014-12-31 | 2015-05-13 | 北京邮电大学 | 一种文件协同下载方法及系统 |
CN105871999A (zh) * | 2015-12-21 | 2016-08-17 | 乐视云计算有限公司 | 一种p2p网络节点连接方法、装置及系统 |
CN105812455B (zh) * | 2016-03-07 | 2018-11-06 | 北京邮电大学 | 一种移动Ad hoc网络中协同下载的方法和装置 |
CN105812455A (zh) * | 2016-03-07 | 2016-07-27 | 北京邮电大学 | 一种移动Ad hoc网络中协同下载的方法和装置 |
CN106657362A (zh) * | 2016-12-30 | 2017-05-10 | 清华大学 | 一种新型虚拟多径tcp的终端内容调度方法 |
CN106657362B (zh) * | 2016-12-30 | 2019-10-29 | 清华大学 | 一种新型虚拟多径tcp的终端内容调度方法 |
CN106713483A (zh) * | 2017-01-11 | 2017-05-24 | 北京金山安全管理系统技术有限公司 | 一种分布式软件分发方法 |
CN108337277A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种下载更新文件的方法和系统 |
CN108337276A (zh) * | 2017-01-19 | 2018-07-27 | 贵州白山云科技有限公司 | 一种文件分发方法和系统 |
CN109547508A (zh) * | 2017-09-21 | 2019-03-29 | 阿里巴巴集团控股有限公司 | 一种实现资源访问的方法、装置及系统 |
CN109547508B (zh) * | 2017-09-21 | 2022-03-22 | 阿里巴巴集团控股有限公司 | 一种实现资源访问的方法、装置及系统 |
CN109640107A (zh) * | 2018-12-13 | 2019-04-16 | 网易(杭州)网络有限公司 | 一种视频直播数据传输方法和装置 |
CN112637351A (zh) * | 2020-12-25 | 2021-04-09 | 珠海金山网络游戏科技有限公司 | 一种文件下载方法及装置 |
CN112637351B (zh) * | 2020-12-25 | 2023-09-05 | 珠海金山数字网络科技有限公司 | 一种文件下载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103957269B (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103957269A (zh) | 点对点p2p网络节点选择方法及点对点p2p重定向服务器 | |
US8606846B2 (en) | Accelerating peer-to-peer content distribution | |
Liu et al. | Multisource Dissemination in content-centric networking | |
CN102630378B (zh) | 基于描述文件的个体化数据通信方法及设备 | |
CN102308549A (zh) | 了解网络的对等 | |
Ma et al. | A content distribution system based on sparse linear network coding | |
US20140095605A1 (en) | Method and apparatus for increasing localization of peer-to-peer traffic for content distribution in communication network | |
CN104247371A (zh) | 以信息为中心的网络中的基于名称的邻居发现和多跳服务发现 | |
Pitkänen et al. | Redundancy and distributed caching in mobile dtns | |
CN110430274A (zh) | 一种基于云存储的文件下载方法及系统 | |
JP2013537765A (ja) | 処理方法、代理処理エージェント、dhtクライアントノードのルーティングテーブルを埋めるシステムおよび方法、ルータ、ならびにdhtクライアントノード | |
Pitkänen et al. | Opportunistic web access via wlan hotspots | |
US20130297703A1 (en) | Peer node and method for improved peer node selection | |
CN103220308B (zh) | 一种文件下载方法、装置及系统 | |
CN103024085A (zh) | 一种处理p2p节点请求的系统及方法 | |
De la Rocha et al. | Accelerating content routing with bitswap: A multi-path file transfer protocol in ipfs and filecoin | |
WO2009076251A2 (en) | Accelerating peer-to-peer content distribution | |
CN103986747A (zh) | P2p协议中文件共享下载方法 | |
KR100929031B1 (ko) | 파일 병렬 다운로드에서의 블록 선택 방법, 이를 이용한파일 병렬 다운로드 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체 | |
Liu et al. | Locality analysis of bittorrent-like peer-to-peer systems | |
WO2010099984A1 (en) | Method and system for efficiently using available network access resources | |
Zimmermann et al. | Journey to MARS: interplanetary coding for relieving CDNs | |
Anandaraj et al. | An efficient framework for network code based multimedia content distribution in hybrid P2P network | |
CN102098339A (zh) | 一种音频文件传输方法及其系统 | |
Su et al. | Raptorqp2p: Maximize the performance of p2p file distribution with raptorq coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |