一种节点连接调整方法和装置的制造方法_3

文档序号:9914797阅读:来源:国知局
取所需的直播流数据量,以及向邻居节点更多地提供P2P直播流数据。
[0058]在一个示例中,在码率从低变高的情况下,可以通过以下方式,针对不同的节点状态进行连接调整:
[0059]I)如果节点的当前状态为P2P上传,则可通过发起与能从所述节点获取直播流数据的邻居节点的连接,来增加与能从该节点获取直播流数据的邻居节点的连接数;在直播流码率从高变低的情况下,如果节点的当前状态为P2P上传,此时该节点可为邻居节点提供大量有效的P2P直播流数据,因此,为了更多地节省CDN服务器带宽,该节点可通过发起与能从所述节点获取直播流数据的邻居节点的连接,来增加与能从该节点获取直播流数据的邻居节点的连接数(即节点可增加上传连接数)。
[0060]2)如果节点的当前状态为P2P下载,则可主动发起与已连接的邻居节点相比,具有更强的提供直播流数据的能力的邻居节点(例如优选邻居节点)的连接;在直播流码率从高变低的情况下,如果节点的当前状态为P2P下载,此时该节点还需要从邻居节点下载P2P直播流数据,因此,为了更多地节省CDN服务器带宽,该节点可主动发起与已连接的邻居节点相比,具有更强的提供直播流数据的能力的邻居节点的连接(即节点可主动从更强的邻居节点下载P2P直播流数据)。
[0061]3)如果节点的当前状态为卡顿,则可通过发起与能提供直播流数据的邻居节点的连接,来增加与能提供直播流数据的邻居节点的连接数。在直播流码率从高变低的情况下,如果节点的当前状态为卡顿,此时该节点需要更多地从邻居节点下载P2P直播流数据,因此,为了更多地节省CDN服务器带宽,该节点可通过发起与能提供直播流数据的邻居节点的连接,来增加与能提供直播流数据的邻居节点的连接数(即节点可增加下载连接数)。由于此时码率较低,P2P资源丰富,卡顿状态的节点可随机发起与P2P上传状态的邻居节点的连接。
[0062]实施例2
[0063]图4示出根据本发明一实施例的节点连接调整装置400的结构框图。该装置可内置于节点中。如图4所示,该装置主要包括:
[0064]获取部件401,用于在直播流的码率变化的情况下,获取节点的当前状态;
[0065]发送部件402,用于向点对点数据传输P2P服务器发送用于获取优选邻居节点的请求,所述请求包括所述节点的当前状态;
[0066]接收部件403,用于接收P2P服务器响应于所述请求而返回的通知,所述通知包括P2P服务器基于所述节点的当前状态而推荐的针对该节点的优选邻居节点;
[0067]调整部件404,用于调整所述节点从内容分发网络CDN服务器获取的直播流数据量,以及根据所推荐的优选邻居节点,调整所述节点与邻居节点的连接。
[0068]本发明实施例是基于“⑶N+P2P”的混合模式,但与现有技术不同的是,本实施例并非简单地根据码率在CDN模式和P2P模式之间切换,也不是仅利用P2P模式进行单一的低码率直播流的传输。本实施例的装置在直播流的码率变化的情况下,通过获取部件401在直播流的码率变化的情况下,获取节点的当前状态;通过发送部件402向P2P服务器发送用于获取优选邻居节点的请求,并根据接收部件403接收的P2P服务器返回的包括优选邻居节点的通知,以使调整部件404调整该节点与邻居节点的连接;并且调整节点从CDN服务器获取的直播流数据量。通过上述技术手段,节点能够利用⑶N和P2P这两种模式传输直播流数据,并在码率变化的情况下根据节点的实际状态动态地在CDN模式和P2P模式之间进行调整,在保证了直播流畅率的同时,有效地节省了 CDN服务器和带宽资源。
[0069]在一个示例中,节点可以通过多种方式获知直播流的码率变化情况,具体可参见实施例1的描述,这里不再重述。在直播流的码率变化的情况下,获取部件401可以获取节点的当前状态,在一个示例中,节点的当前状态可包括P2P上传、P2P下载和卡顿其中之一。在一个示例中,节点的当前状态可以是节点根据其当前传输方式(例如上传或下载)、下载数据源(例如节点LI或CDN服务器)、网络状况(例如流畅或阻塞)、与其他节点的连接状况(例如连接多少邻居节点及各邻居节点是否活动)及播放状况(例如是否卡顿)中的一个或多个来确定的。关于节点的状态的描述可参见实施例1,此处不再重述。
[0070]可通过发送部件402向P2P服务器发送包含所获取的当前状态的请求,以从服务器获取所推荐的优选邻居节点。在码率不发生变化的情况下,可以通过发送部件402定期向服务器发起请求以获取所推荐的优选邻居节点,而一旦码率发生变化,发送部件402可以临时增加一定次数的请求,以响应于码率的变化实时请求服务器推荐优选邻居节点。
[0071]服务器可基于该当前状态推荐针对该节点的优选邻居节点。具体可参见实施例1的描述,这里不再重述。图5示出根据本发明一实施例的另一节点连接调整装置500的结构框图。如图5所示,在图4所示基础上,节点连接调整装置500还包括更新部件405和筛选部件406。
[0072]在一个示例中,更新部件405和筛选部件406还可以通过如下方式,从服务器推荐的优选邻居节点中,进一步挑选出更优选邻居节点,以供后续通过调整部件404进行节点连接的调整:更新部件405可根据该节点与邻居节点的连接状况以及所推荐的优选邻居节点,更新与该节点相关的邻居节点的连接状态信息,筛选部件406基于所述连接状态信息从所述优选邻居节点中筛选出更优选邻居节点。
[0073]举例来说,节点可以设置存储池,用来按照连接状态分类存储与该节点相关的邻居节点的信息(例如节点ID、连接时间、连接方式等)。所述存储池可包括:待连接存储池、正连接存储池、已连接存储池、曾删除存储池、连接失败存储池、差连接存储池。待连接存储池可用于存储该节点待连接的邻居节点的信息;正连接存储池可用于存储该节点正在连接的邻居节点的信息;已连接存储池可用于存储该节点已经连接的邻居节点的信息;曾删除存储池可用于存储该节点曾经删除的邻居节点的信息;连接失败存储池可用于存储与该节点连接失败的邻居节点的信息;差连接存储池可用于存储与该节点连接状况差的邻居节点的?目息O
[0074]更新部件405节点可以根据该节点与邻居节点的连接状况以及所推荐的优选邻居节点,更新上述存储池,从而更新与该节点相关的邻居节点的连接状态信息。关于存储池的具体示例可参见实施例1的描述,这里不再重述。
[0075]基于上述存储池,筛选部件406可对服务器推荐的优选邻居节点进行进一步筛选,例如如果可通过接收部件403接收到P2P服务器返回的推荐优选邻居节点的通知,并发现推荐的优选邻居节点中有部分优选邻居节点存储在所述连接失败存储池中,则可以认为再次与该部分优选邻居节点发起连接建立成功的可能性低,为了保证直播流畅性,筛选部件406可在所推荐的优选邻居节点中剔除该部分优选邻居节点,从而筛选出更优选邻居节点,调整部件404可根据所述更优选邻居节点,调整所述节点与邻居节点的连接。
[0076]在一个示例中,节点连接调整装置500还可以包括交换部件407,其可以与邻居节点交换各自的当前状态及节点信息,其中,节点信息可包括:网络状况(例如流畅或阻塞)、与其他节点的连接状况(例如连接多少邻居节点及各邻居节点是否活动)、播放状况(例如是否卡顿)中的一种或多种。
[0077]以下以码率从高变低和码率从低变高两种情况,分别举例说明调整部件404的各种示例性的调整方式。
[0078]1.码率从低变高
[0079]在码率从低变高的情况下,调整部件404可增大节点从⑶N服务器获取的直播流数据量,以及可发起与优选邻居节点的连接,连接成功后,可从已连接的优选邻居节点获取直播流数据;以及断开与不能提供有效直播流数据的邻居节点的连接。
[0080]举例而言,在直播流码率从低变高的情况下,节点的直播流数据下载负荷会增加,节点进行直播流数据上传的能力将会受到限制,此时节点调整的主要目标是保证直播流畅率。为了保证直播流畅率,节点可通过调整部件404增大从⑶N服务器获取的直播流数据量,例如节点可调高从CDN服务器获取直播流数据量的额度,尽快从CDN服务器获取距离当前播放较近的直播流数据量;也可以根据P2P服务器推荐的优选邻居节点调整该节点与邻居节点的连接,以尽可能的利用P2P模式降低CDN服务器的负担。一般而言,优选邻居节点相比于已连接的邻居节点提供P2P直播流数据的能力更强,因此该节点可向所述优选邻居节点发起
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1