一种调度方法、服务器及第一对等节点与流程

文档序号:14253500阅读:167来源:国知局
一种调度方法、服务器及第一对等节点与流程

本发明涉及内容分发网络(cdn,contentdeliverynetwork),尤其涉及一种调度方法、服务器及第一对等(p2p,peertopeer)节点。



背景技术:

对等连接内容分发网络(p2pcdn,peertopeercdn)技术是利用用户设备作为cdn内容服务边缘节点为其他用户服务的新型cdn技术。p2pcdn的核心思想是利用用户资源,通过彼此身份对等的用户终端设备来实现用户设备彼此之间的内容分发服务,即由不同用户设备作为不同的p2p节点来为其他用户设备的视频服务请求提供视频内容分发服务,这不同于传统cdn的由内容服务边缘节点服务器为用户设备的视频服务请求提供服务的客户端/服务器(c/s)传输模型。

在p2pcdn技术的内容分发流程中,为了缩短一个p2p节点向另一个p2p节点服务时的传输时延,应尽可能选择最短的内容分发传输路径(路由)。举个例子来说,p2pcdn系统的调度服务器(节点追踪tracker服务器)收到用户a请求获取某一内容时,检索到在用户a所处的邻近区域(例如,同一宽带远程接入服务器(bras,broadbandremoteaccessserver)设备下)中当前正好有其他p2p节点(可能不止一个)可以为其提供内容分发服务时,应优选这些p2p节点为用户a提供服务。

调度服务器会根据不同p2p节点网络之间互联的协议(ip,internetprotocol)ip地址的近似程度来推测p2p节点之间的距离远近,然而这种推测不同节点的距离远近的方法是不精确的。



技术实现要素:

为解决现有存在的技术问题,本发明实施例提供一种调度方法、服务器及第一p2p节点。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种调度方法,应用于服务器,所述方法包括:

接收第一p2p节点的第一请求;所述第一请求包含服务内容;

利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;

利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;

向所述第一p2p节点返回所述信息列表。

上述方案中,所述利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点,包括:

利用所述第一p2p节点所支持的至少一个网络地址、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点。

上述方案中,所述利用所述第一p2p节点所支持的至少一个网络地址、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点,包括:

针对所述第一p2p节点所支持的每个网络地址,基于所述服务内容,确定至少一个能为所述第一p2p节点提供服务的至少一个p2p节点;

从确定的至少一个p2p节点选择与第一p2p节点传输距离最近的p2p节点作为对应网络地址的候选p2p节点;

相应地,生成信息列表时,所述方法还包括:

针对所述第一p2p节点所支持的每个网络地址,将与网络地址对应的候选p2p节点的网络地址填写至所述信息列表中;其中,

第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址。

上述方案中,生成所述信息列表时,所述方法还包括:

在所述信息列表中,按照与所述第一p2p节点的传输距离从近至远的排序方式,将所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址进行排序。

上述方案中,所述接收第一p2p节点的第一请求之前,所述方法还包括:

获知所述第一p2p节点上线后,从网络拓扑信息管理设备处获取所述第一p2p节点的位置信息。

本发明实施例还提供了一种调度方法,应用于第一p2p节点,所述方法包括:

向服务器发送第一请求;所述第一请求包含服务内容;所述第一请求用于向所述服务器请求能提供所述服务内容的候选p2p节点列表信息;

接收所述服务器返回的所述列表信息;所述信息列表中的p2p节点信息表征至少一个候选p2p节点与所述第一p2p节点之间的传输距离;

根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;

从所述第二p2p节点获取所述服务内容,以进行呈现。

上述方案中,所述列表信息包含所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址;第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址;

相应地,所述根据所述列表信息,从所述列表信息中选择第二p2p节点,为:

根据每个网络地址所对应的候选p2p节点的网络地址,选择所述第二p2p节点;

相应地,利用所述第二p2p节点的网络地址与所述第二p2p节点进行通信,获取所述服务内容。

上述方案中,在所述信息列表中,所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址的排序方式为候选p2p节点与所述第一p2p节点的传输距离从近至远的排序方式;

相应地,根据所述信息列表中第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址的排序方式,选择所述第二p2p节点。

上述方案中,所述方法还包括:

当需要从至少两个候选p2p节点获取所述服务内容时,从所述信息列表中获得所述至少两个候选p2p节点的网络地址;

基于获取的网络地址,与所述至少两个p2p节点进行通信,以获取所述服务内容。

本发明实施例又提供了一种服务器,包括:

第一接收单元,用于接收第一p2p节点的第一请求;所述第一请求包含服务内容;

确定单元,用于利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;

生成单元,用于利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;

第一发送单元,用于向所述第一p2p节点返回所述信息列表。

上述方案中,所述确定单元,具体用于:利用所述第一p2p节点所支持的至少一个网络地址、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点。

上述方案中,所述确定单元,具体用于:

针对所述第一p2p节点所支持的每个网络地址,基于所述服务内容,确定至少一个能为所述第一p2p节点提供服务的至少一个p2p节点;

从确定的至少一个p2p节点选择与第一p2p节点传输距离最近的p2p节点作为对应网络地址的候选p2p节点;

所述生成单元,具体用于:

针对所述第一p2p节点所支持的每个网络地址,将与网络地址对应的候选p2p节点的网络地址填写至所述信息列表中;其中,

第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址。

上述方案中,所述生成单元,还用于在所述信息列表中,按照与所述第一p2p节点的传输距离从近至远的排序方式,将所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址进行排序。

上述方案中,所述服务器还包括:

第一获取单元,用于获知所述第一p2p节点上线后,从网络拓扑信息管理设备处获取所述第一p2p节点的位置信息。

本发明实施例还提供了一种第一p2p节点,包括:

第二发送单元,用于向服务器发送第一请求;所述第一请求包含服务内容;所述第一请求用于向所述服务器请求能提供所述服务内容的候选p2p节点列表信息;

第二接收单元,用于接收所述服务器返回的所述列表信息;所述信息列表中的p2p节点信息表征至少一个候选p2p节点与所述第一p2p节点之间的传输距离;

选择单元,用于根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;

第二获取单元,用于从所述第二p2p节点获取所述服务内容,以进行呈现。

上述方案中,所述列表信息包含所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址;第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址;

所述选择单元,具体用于:根据每个网络地址所对应的候选p2p节点的网络地址,选择所述第二p2p节点;

相应地,利用所述第二p2p节点的网络地址与所述第二p2p节点进行通信,获取所述服务内容。

上述方案中,所述选择单元,还用于当需要从至少两个候选p2p节点获取所述服务内容时,从所述信息列表中获得所述至少两个候选p2p节点的网络地址;

所述第二获取单元,用于基于获取的网络地址,与所述至少两个p2p节点进行通信,以获取所述服务内容。

本发明实施例提供的调度方法、服务器及第一p2p节点,服务器接收第一p2p节点的第一请求;所述第一请求包含服务内容;利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;向所述第一p2p节点返回所述信息列表;而第一p2p节点根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;从所述第二p2p节点获取所述服务内容,以进行呈现,利用所述第一p2p节点在不同网络区域的位置信息来为第一p2p节点调度候选p2p节点,如此,能提高p2p节点之间传输距离(路由跳转距离)的确定精度,从而能有效地减小传输时延。

附图说明

在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。具有不同字母后缀的相似附图标记可表示相似部件的不同示例。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。

图1为相关技术中p2pcdn系统架构示意图;

图2为本发明实施例一服务器侧的调度方法流程示意图;

图3为本发明实施例一第一p2p节点侧的调度方法流程示意图;

图4为本发明实施例二p2p节点调度的方法流程示意图;

图5为本发明实施例二网络拓扑结构及路由路径示意图;

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

图7为本发明实施例三第一p2p节点结构示意图。

具体实施方式

下面结合附图及实施例对本发明再作进一步详细的描述。

图1为p2pcdn系统架构示意图。从图1可以看出,在p2pcdn系统中,主要包括策略中心及tracker服务器。其中,

策略中心提供对p2pcdn系统中涉及到的各项策略的配置功能,包括内容预推送策略管理、tracker调度策略管理等。

tracker服务器实现p2pcdn系统的全局控制与调度功能,是终端用户访问的统一入口服务器。tracker服务器维护文件所有下载者的ip地址和端口号信息,在机顶盒终端p2p节点启动后且处于空闲状态时tracker服务器定期进行内容预推送,以及在某一用户设备请求获取某个视频内容时返回可提供该内容的分发服务的p2p节点列表。

现有p2pcdn系统中用户获取视频内容服务的业务流程包括:

步骤a:用户x通过个人电脑(pc,personalcomputer)或机顶盒等设备上的视频播放器选择期望观看某一个视频节目a;同时,p2p节点x注册到tracker服务器上,告知服务器自身已上线;

步骤b:用户x的p2p节点x(此时作为视频服务的接收方)向tracker服务器请求可提供当前内容a分发服务的其他p2p节点(视频服务提供方)列表;

步骤c:tracker服务器(调度中心)收到p2p节点x的请求后,综合自身采集的p2p节点信息(是否有存储内容a、服务能力等),以及这些p2p节点与p2p节点x的距离远近信息,向p2p节点x返回可为其提供服务的若干个候选p2p节点的信息列表,对于列表中的每个p2p节点,其信息中包括有该p2p节点的ip地址(必需)和端口(可选)信息等。

步骤d:p2p节点x根据p2p节点列表信息,连接到其他p2p节点请求获取该视频内容的数据分片,获得视频内容服务,并在获取到视频内容后为用户播放视频内容。

从上面的描述中可以看出,在步骤c中,为了生成信息列表,tracker服务器需要尽可能准确地判断出哪些p2p节点与p2p节点x的距离最近。这里,所述距离最近是指其他p2p节点向p2p节点x进行内容分发服务时数据传输的时延最小,而这一时延包含:发送的数据所经过的其他网络设备的传输时长,以及这些网络设备中转数据所需的时长。

一般来说,在不掌握网络拓扑结构的情况下,p2p运营方会先根据不同p2p节点网络地址的近似程度来推测p2p节点的距离远近,然后再通过p2p节点之间传输测试数据的方式来验证和监测距离的实际大小(时延大小)。然而,网络运营商在为用户上网设备(家庭网关及其下连的pc、机顶盒等设备)分配ip地址时,由于网络ip地址数量的限制,会在特定区域内(如某一城市区域的本地城域网中或某一bras设备下)所有网关设备都分配私网ip地址,这些网关设备通过网络地址转换(nat,networkaddresstranslation)技术对外共享少数公网ip地址。

这样,采用上述方案时,p2p运营方推测不同节点的距离远近的方法并不精确,这是因为:通过nat技术为各个区域分配不同ip地址使用时,并不是有规律的切分地址,因此地址的近似程度并不一定就代表地址之间的距离远近;而通过传输测试数据的方式验证需要较长时间,且增加网络传输数据的开销;监测距离的实际大小(延时大小)等方法只有数据传输开始后才可以进行,效率较低。

另外,采用上述方案时,当用户上网设备运行p2p应用,且互相作为p2p节点提供服务时,彼此之间仅可以使用公网ip地址通信,因此即使两个设备在同一个光线路终端(olt,opticallineterminal)或bras设备下时,也需要路由绕至olt或bras设备迂回后才能彼此通信,增加了传输路由距离(传输成本)和延时。

基于此,在本发明的各种实施例中:服务器接收第一p2p节点的第一请求;所述第一请求包含服务内容;利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;向所述第一p2p节点返回所述信息列表;而第一p2p节点根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;从所述第二p2p节点获取所述服务内容,以进行呈现。

实施例一

本实施例提供一种调度方法,应用于服务器,具体来说,可以是tracker服务器。如图2所示,该方法包括以下步骤:

步骤201:接收第一p2p节点的第一请求;

这里,所述第一请求包含服务内容。

其中,所述服务内容可以是多媒体内容,比如视频内容等。

在一实施例中,执行本步骤之前,该方法还可以包括:

获知所述第一p2p节点上线后,从网络拓扑信息管理设备处获取所述第一p2p节点的位置信息。

其中,实际应用时,所述网络拓扑信息管理设备可以是网络中已有的网络路由设备,比如:路由器、二层交换机、或nat设备等,也可以是新增的、能够获得网络拓扑信息的设备。

步骤202:利用所述第一p2p节点在不同网络区域的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;

这里,所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息。

其中,所述服务器预先已采集各p2p节点信息,包含存储的内容,服务能力等,据此,所述服务器为所述第一p2p节点确定候选p2p节点。

运营商开展p2p业务时,可以根据运营商掌握的网络拓扑结构和网络配置能力,设置在同一个光线路终端(olt,opticallineterminal)下或经同一nat设备且分配了私网地址的用户上网设备经由该设备下的本地地址(私网地址)来进行路由。此时,彼此之间的数据可以通过该设备的路由中转,彼此之间也可以通过私网地址互相访问,以达到通过私网地址互相访问时传输时延最小的目的。

因此实际应用时,所述第一p2p节点在不同网络层级的位置信息可以用不同网络层级的网络地址来表征。

这些网络地址是所述第一p2p节点在不同网络层级协议中的网络地址,这些网络地址可以包含公网地址、nat设备下的私网地址、不同设备下的二层内网地址、三层内网地址等。根据不同的网络地址,可以获知所述第一p2p节点在不同网络层级的位置信息。

基于此,本步骤的具体实现可以包括:

利用所述第一p2p节点所支持的至少一个网络地址、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点。

更具体地,针对所述第一p2p节点所支持的每个网络地址,所述服务器基于所述服务内容,确定至少一个能为所述第一p2p节点提供服务的至少一个p2p节点;

所述服务器从确定的至少一个p2p节点选择与第一p2p节点传输距离(路由跳转距离)最近的p2p节点作为对应网络地址的候选p2p节点。

其中,所述传输距离是指:两个网络位置之间传输数据的代价的指标。实际应用时,该指标应该综合考虑网络位置之间的传输时延、链路带宽、流量费用以及流量工程策略等因素。

步骤203:利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;

这里,所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离。

当采用不同网络层级的网络地址来表征所述第一p2p节点在不同网络层级的位置信息时,生成所述信息列表时,所述服务器针对所述第一p2p节点所支持的每个网络地址,将与网络地址对应的候选p2p节点的网络地址填写至所述信息列表中;其中,

第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址。

这里,实际应用时,在所述信息列表中,所述服务器按照与所述第一p2p节点的传输距离从近至远的排序方式,将所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址进行排序,以便所述第一p2p节点根据排序方式来选择对应的候选p2p节点。

这里,实际应用时,本发明实施例所述生成候选p2p节点信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离,所指的信息表征的方式可以是明示的,也可以是暗示的,相应地,所提供的传输距离的信息可以是明确或具体的,也可以是相对或模糊的。其中暗示的信息表征方式,提供相对或模糊的传输距离信息的方式,包括但不限于:依据多个p2p节点在p2p节点信息表中的前后顺序来确定哪个候选p2p节点与所述第一p2p节点之间的传输距离相对更近或更远;或者,p2p节点信息列表中的候选p2p节点,已经经由预定的涉及传输距离的筛选标准进行过筛选,从而某一p2p节点被列于所述p2p节点信息列表中这一客观情况本身就表征出了该p2p节点在传输距离上符合预定的涉及传输距离的筛选标准这一信息,该p2p节点可供候选。

步骤204:向所述第一p2p节点返回所述信息列表。

本实施例还提供了一种调度方法,应用于第一p2p节点。如图3所示,该方法包括以下步骤:

步骤301:向服务器发送第一请求;

这里,所述第一请求包含服务内容;所述第一请求用于向所述服务器请求能提供所述服务内容的候选p2p节点列表信息。

步骤302:接收所述服务器返回的所述列表信息;

这里,所述信息列表中的p2p节点信息表征至少一个候选p2p节点与所述第一p2p节点之间的传输距离(路由跳转距离)。

其中,所述传输距离是指:两个网络位置之间传输数据的代价的指标。实际应用时,该指标应该综合考虑网络位置之间的传输时延、链路带宽、流量费用以及流量工程策略等因素。

步骤303:根据所述列表信息,从所述列表信息中选择第二p2p节点;

这里,所述第二p2p节点为能为所述第一p2p节点提供服务,可以是与所述第一p2p节点传输距离最近的候选p2p节点。当然,第二p2p节点也可以是传输距离较近的多个候选p2p节点之一。

其中,运营商开展p2p业务时,可以根据运营商掌握的网络拓扑结构和网络配置能力,设置在同一个olt下或经同一nat设备且分配了私网地址的用户上网设备经由该设备下的本地地址(私网地址)来进行路由。此时,彼此之间的数据可以通过该设备的路由中转,彼此之间也可以通过私网地址互相访问,以达到通过私网地址互相访问时传输时延最小的目的。

因此实际应用时,候选p2p节点与所述第一p2p节点之间的传输距离可以用不同网络层级的网络地址来表征。

这些网络地址是所述第一p2p节点在不同网络层级协议中的网络地址,这些网络地址可以包含公网地址、nat设备下的私网地址、不同设备下的二层内网地址、三层内网地址等。根据不同的网络地址,可以获知所述第一p2p节点在不同网络层级的位置信息。

基于此,在一实施例中,所述列表信息包含所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址;第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址;

所述第一p2p根据每个网络地址所对应的候选p2p节点的网络地址,选择所述第二p2p节点;

相应地,利用所述第二p2p节点的网络地址与所述第二p2p节点进行通信,以执行步骤304,即获取所述服务内容。

另外,实际应用时,在所述信息列表中,所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址的排序方式为候选p2p节点与所述第一p2p节点的传输距离从近至远的排序方式;

相应地,所述第一p2p节点根据所述信息列表中第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址的排序方式,选择所述第二p2p节点。

步骤304:从所述第二p2p节点获取所述服务内容,以进行呈现。

实际应用时,当需要从至少两个候选p2p节点获取所述服务内容时,所述第一p2p节点可以从所述信息列表中获得所述至少两个候选p2p节点的网络地址;

基于获取的网络地址,与所述至少两个p2p节点进行通信,以获取所述服务内容。

这样,可以达到优化传输路由、减小网络设备负担、缩短传输时延的目的。

本发明实施例提供的调度方法,服务器接收第一p2p节点的第一请求;所述第一请求包含服务内容;利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;向所述第一p2p节点返回所述信息列表;而第一p2p节点根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;从所述第二p2p节点获取所述服务内容,以进行呈现,利用所述第一p2p节点在不同网络区域的位置信息来为第一p2p节点调度候选p2p节点,如此,能提高p2p节点之间传输距离(路由跳转距离)的确定精度,从而能有效地减小传输时延。

实施例二

在实施例一的基础上,本实施例详细描述p2p节点调度的过程。

本实施例p2p节点调度的方法,如图4所示,包括以下步骤:

步骤401:用户x通过pc或机顶盒等设备上的视频播放器选择期望观看某一个视频节目a;同时,p2p节点x注册到tracker服务器上,告知tracker服务器自身已上线;

步骤402:注册后,tracker服务器将根据p2p节点x的地址信息,从网络拓扑信息管理设备获取p2p节点x所支持的不同网络层级的网络地址以及各个地址所处的区域;

这里,这些网络地址是所述第一p2p节点在不同网络层级协议中的网络地址,这些网络地址可以包含公网地址、nat设备下的私网地址、不同设备下的二层内网地址、三层内网地址等。

步骤403:用户x的p2p节点x(此时作为视频服务的接收方)向tracker服务器请求可提供当前内容a分发服务的其他p2p节点(视频服务提供方)列表;

步骤404:track服务器(调度中心)收到p2p节点x的请求后,针对p2p节点x所支持的不同的网络地址,tracker服务器综合其采集的p2p节点信息(是否有存储内容a、服务能力等),这些p2p节点与p2p节点x的传输距离远近信息,计算在各网络地址空间内可为p2p节点x服务的p2p节点,并从中选择与p2p节点x传输距离最邻近的p2p节点作为该网络地址对应的p2p节点,并将选择的p2p节点的网络地址填写到信息列表中,从而在信息列表中,包含针对p2p节点x所支持的不同网络地址的p2p节点的网络地址。

举个例子来说,假设p2p节点x所支持的网络地址包括公网地址、nat设备下的私网地址、不同设备下的二层内网地址、三层内网地址。

那么,针对公网地址,选择传输距离最邻近的p2p节点作为公网地址对应的p2p节点,并将选择的p2p节点的网络地址(公网地址)填写到信息列表;

针对nat设备下的私网地址,选择传输距离最邻近的p2p节点作为公网地址对应的p2p节点,并将选择的p2p节点的网络地址(私网地址)填写到信息列表;

针对二层内网地址,选择传输距离最邻近的p2p节点作为公网地址对应的p2p节点,并将选择的p2p节点的网络地址(二层内网地址)填写到信息列表;

针对三层内网地址,选择传输距离最邻近的p2p节点作为公网地址对应的p2p节点,并将选择的p2p节点的网络地址(三层内网地址)填写到信息列表。

从上面的描述中可以看出,所述传输距离最邻近可以认为是路由距离最邻近,路由距离最短、数据传输时延最小。

其中,所述传输距离是指:两个网络位置之间传输数据的代价的指标。实际应用时,该指标应该综合考虑网络位置之间的传输时延、链路带宽、流量费用以及流量工程策略等因素。

另外,在信息列表中,各类地址的传输距离从远到近排序(即各候选p2p节点的排序方式)为:公网地址、nat设备下的私网地址、二层内网地址、三层内网地址。

这里,对于列表中的每个p2p节点,除了有该p2p节点的网络地址外,还可以有端口信息(可选)等。

步骤405:向p2p节点x返回可为其提供服务的若干个候选p2p节点的信息列表;

步骤406:p2p节点根据p2p节点列表信息,连接到其他p2p节点请求获取该视频内容的数据分片,获得视频内容服务,并在获取到视频内容后为用户播放视频内容。

其中,与各作为服务节点的p2p节点通信时,将p2p节点x采用与表征最近传输距离的网络地址来通信。

另外,p2p节点x还可以与不同p2p节点并发通信,以获得视频内容,此时,可以分别使用不同的网络地址和各自的路由,进而优化传输路由、减小网络设备负担,缩短传输时延。

当采用本发明实施例的方案时,在图5所示的网络拓扑结构下,通过tracker服务器的调度后,用户可以通过路由路径1获得视频内容,该过程中通信使用的网络地址为公网地址,用户还可以通过路由路径2获得视频内容,该过程中通信使用的地址为nat设备下的私网地址,用户也可以通过路由路径3获得视频内容,该过程中通信使用的地址为olt设备下的二层内网地址,用户可以根据需要(网络信号强度、路由路径长短、连接建立情况等)选择不同的路由路径获取视频内容。

综上所述,在本发明实施例中,track服务器根据p2p节点所支持的不同的网络地址的距离空间(公网地址、nat设备下的私网地址、不同设备下的三层、二层内网地址等),在各个空间距离中计算与其他各p2p节点的传输距离,据此优化路由调度机制,为p2p节点之间传输视频数据选择最佳路由,以实现对各p2p节点按照各自所可能归属的不同地址距离空间加以调度管理。

具体来说,p2p调度过程中,针对网络拓扑结构,将各个p2p节点根据其在不同网络层级的位置(公网地址、nat设备下的私网地址、不同设备下的三层、二层内网地址等),来规划不同的传输距离,并据此测算不同p2p节点之间的传输距离,并用以指导p2p的调度机制。

p2p节点之间获取内容数据时,采用传输距离最近的网络地址来在不同p2p节点之间通信,使用不同的网络地址和各自的路由,以缩短传输时延。

采用本发明实施例的方案后,能够根据网络拓扑结构、对端p2p节点所处的位置来确定本端p2p节点与对端p2p节点之间的内容传输路径,提高了路由距离的确定精度,从而灵活地实现了为同一p2p节点提供多种路由传输路径,优化了传输路由、减小网络设备负担。

另外,根据两个p2p节点在网络拓扑中的空间位置,或者说不同空间距离的远近,选择最佳的p2p传输路径,缩短传输时延,提升用户体验,并节省网络传输带宽。

实施例三

为实现本发明实施例的方法,本实施例提供一种服务器,具体来说是tracker服务器,如图6所示,该服务器包括:

第一接收单元61,用于接收第一p2p节点的第一请求;所述第一请求包含服务内容;

确定单元62,用于利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;

生成单元63,用于利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;

第一发送单元64,用于向所述第一p2p节点返回所述信息列表。

其中,所述服务内容可以是多媒体内容,比如视频内容等。

在一实施例中,该服务器还可以包括:

第一获取单元,用于获知所述第一p2p节点上线后,从网络拓扑信息管理设备处获取所述第一p2p节点的位置信息。

其中,实际应用时,所述网络拓扑信息管理设备可以是网络中已有的网络路由设备,比如:路由器、二层交换机、或nat设备等,也可以是新增的、能够获得网络拓扑信息的设备。

服务器预先已采集各p2p节点信息,包含存储的内容,服务能力等,据此,所述确定单元62为所述第一p2p节点确定候选p2p节点。

运营商开展p2p业务时,可以根据运营商掌握的网络拓扑结构和网络配置能力,设置在同一个olt下或经同一nat设备且分配了私网地址的用户上网设备经由该设备下的本地地址(私网地址)来进行路由。此时,彼此之间的数据可以通过该设备的路由中转,彼此之间也可以通过私网地址互相访问,以达到通过私网地址互相访问时传输时延最小的目的。

因此实际应用时,所述第一p2p节点在不同网络层级的位置信息可以用不同网络层级的网络地址来表征。

这些网络地址是所述第一p2p节点在不同网络层级协议中的网络地址,这些网络地址可以包含公网地址、nat设备下的私网地址、不同设备下的二层内网地址、三层内网地址等。根据不同的网络地址,可以获知所述第一p2p节点在不同网络层级的位置信息。

基于此,所述确定单元62,具体用于:

利用所述第一p2p节点所支持的至少一个网络地址、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点。

更具体地,针对所述第一p2p节点所支持的每个网络地址,所述确定单元62基于所述服务内容,确定至少一个能为所述第一p2p节点提供服务的至少一个p2p节点;

所述确定单元62从确定的至少一个p2p节点选择与第一p2p节点传输距离路由跳转距离)最近的p2p节点作为对应网络地址的候选p2p节点;

相应地,所述生成单元63,具体用于:

针对所述第一p2p节点所支持的每个网络地址,将与网络地址对应的候选p2p节点的网络地址填写至所述信息列表中;其中,

第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址。

这里,所述传输距离是指:两个网络位置之间传输数据的代价的指标。实际应用时,该指标应该综合考虑网络位置之间的传输时延、链路带宽、流量费用以及流量工程策略等因素。

实际应用时,所述生成单元63,还用于在所述信息列表中,按照与所述第一p2p节点的传输距离从近至远的排序方式,将所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址进行排序,以便所述第一p2p节点根据排序方式来选择对应的候选p2p节点。

这里,实际应用时,本发明实施例所述生成候选p2p节点信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离,所指的信息表征的方式可以是明示的,也可以是暗示的,相应地,所提供的传输距离的信息可以是明确或具体的,也可以是相对或模糊的。其中暗示的信息表征方式,提供相对或模糊的传输距离信息的方式,包括但不限于:依据多个p2p节点在p2p节点信息表中的前后顺序来确定哪个候选p2p节点与所述第一p2p节点之间的传输距离相对更近或更远;或者,p2p节点信息列表中的候选p2p节点,已经经由预定的涉及传输距离的筛选标准进行过筛选,从而某一p2p节点被列于所述p2p节点信息列表中这一客观情况本身就表征出了该p2p节点在传输距离上符合预定的涉及传输距离的筛选标准这一信息,该p2p节点可供候选。

需要说明的是:实际应用时,所述第一接收单元61、第一发送单元64、以及第一获取单元可由服务器中的通信芯片实现;所述确定单元62及生成单元63可由服务器中的中央处理器(cpu,centralprocessingunit)、微处理器(mcu,microcontrolunit)、数字信号处理器(dsp,digitalsignalprocessor)或可编程逻辑阵列(fpga,field-programmablegatearray)实现。

为实现本发明实施例的方法,本实施例还提供了一种第一p2p节点,如图7所示,该节点包括:

第二发送单元71,用于向服务器发送第一请求;所述第一请求包含服务内容;所述第一请求用于向所述服务器请求能提供所述服务内容的候选p2p节点列表信息;

第二接收单元72,用于接收所述服务器返回的所述列表信息;所述信息列表中的p2p节点信息表征至少一个候选p2p节点与所述第一p2p节点之间的传输距离(路由跳转距离);

选择单元73,用于根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;

第二获取单元74,用于从所述第二p2p节点获取所述服务内容,以进行呈现。

其中,所述传输距离是指:两个网络位置之间传输数据的代价的指标。实际应用时,该指标应该综合考虑网络位置之间的传输时延、链路带宽、流量费用以及流量工程策略等因素。

运营商开展p2p业务时,可以根据运营商掌握的网络拓扑结构和网络配置能力,设置在同一个olt下或经同一nat设备且分配了私网地址的用户上网设备经由该设备下的本地地址(私网地址)来进行路由。此时,彼此之间的数据可以通过该设备的路由中转,彼此之间也可以通过私网地址互相访问,以达到通过私网地址互相访问时传输时延最小的目的。

因此实际应用时,候选p2p节点与所述第一p2p节点之间的传输距离可以用不同网络层级的网络地址来表征。

这些网络地址是所述第一p2p节点在不同网络层级协议中的网络地址,这些网络地址可以包含公网地址、nat设备下的私网地址、不同设备下的二层内网地址、三层内网地址等。根据不同的网络地址,可以获知所述第一p2p节点在不同网络层级的位置信息。

基于此,在一实施例中,所述列表信息包含所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址;第一p2p节点的每个网络地址与对应的候选p2p节点的网络地址为同一网络层级的网络地址;

所述选择单元73,具体用于:根据每个网络地址所对应的候选p2p节点的网络地址,选择所述第二p2p节点;

相应地,所述第二获取单元74利用所述第二p2p节点的网络地址与所述第二p2p节点进行通信,获取所述服务内容。

实际应用时,所述第二节点可以是与所述第一p2p节点传输距离最近的候选p2p节点,第二p2p节点也可以是传输距离较近的多个候选p2p节点之一,不一定必须是传输距离最近的p2p节点。

另外,实际应用时,在所述信息列表中,所述第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址的排序方式为候选p2p节点与所述第一p2p节点的传输距离从近至远的排序方式;

相应地,所述选择单元73根据所述信息列表中第一p2p节点所支持的每个网络地址所对应的候选p2p节点的网络地址的排序方式,选择所述第二p2p节点。

实际应用时,所述选择单元73,还用于当需要从至少两个候选p2p节点获取所述服务内容时,从所述信息列表中获得所述至少两个候选p2p节点的网络地址;

所述第二获取单元74,用于基于获取的网络地址,与所述至少两个p2p节点进行通信,以获取所述服务内容。

实际应用时,所述第二发送单元71、第二接收单元72及第二获取单元74可由第一p2p节点中的通信芯片实现,所述选择单元73可由第一p2p节点中的cpu、mcu、dsp或fpga实现。

本发明实施例提供的方案,服务器接收第一p2p节点的第一请求;所述第一请求包含服务内容;利用所述第一p2p节点在不同网络层级的位置信息、所述服务内容,为所述第一p2p节点确定至少一个候选p2p节点;所述至少一个候选p2p节点能为所述第一p2p节点提供服务;所述位置信息为基于网络拓扑结构而生成的位置信息;利用所述至少一个候选p2p节点,生成候选p2p节点信息列表;所述信息列表中的p2p节点信息表征所述至少一个候选p2p节点与所述第一p2p节点之间的传输距离;向所述第一p2p节点返回所述信息列表;而第一p2p节点根据所述列表信息,从所述列表信息中选择第二p2p节点;所述第二p2p节点为能为所述第一p2p节点提供服务;从所述第二p2p节点获取所述服务内容,以进行呈现,利用所述第一p2p节点在不同网络区域的位置信息来为第一p2p节点调度候选p2p节点,如此,能提高p2p节点之间传输距离(路由跳转距离)的确定精度,从而能有效地减小传输时延。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1