CN101969448A - 在p2p流媒体系统中查找活动节点的方法、系统及设备 - Google Patents
在p2p流媒体系统中查找活动节点的方法、系统及设备 Download PDFInfo
- Publication number
- CN101969448A CN101969448A CN2009100866751A CN200910086675A CN101969448A CN 101969448 A CN101969448 A CN 101969448A CN 2009100866751 A CN2009100866751 A CN 2009100866751A CN 200910086675 A CN200910086675 A CN 200910086675A CN 101969448 A CN101969448 A CN 101969448A
- Authority
- CN
- China
- Prior art keywords
- node
- candidate nodes
- tracker
- optional
- network
- 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
Images
Abstract
本发明公开了一种在P2P流媒体系统中查找活动节点的方法,包括:可选节点向Tracker上报自身所处网络的网络状态、缓存子块的情况以及自身的能力,所述自身的能力中还进一步包含处于无线网络的可选节点的电池续航能力,当Tracker为请求节点选择候选节点时,根据接收到的可选节点的信息选择网络状态、缓存子块以及自身的能力与请求节点匹配的候选节点,使得请求节点从候选节点中选择活动节点时,选择的活动节点能够较好地为请求节点上载数据。本发明还公开了在P2P流媒体系统中查找活动节点的系统及设备。
Description
技术领域
本发明涉及点对点(Peer-to-Peer,P2P)技术,尤其涉及一种在P2P流媒体系统中查找活动节点的方法、系统及设备。
背景技术
P2P系统以其良好的可自治性、可靠性、可伸缩性和低成本等优点,成为开展流媒体业务的理想平台。在基于追踪设备的P2P(Tracker-based P2P)系统中存在大量的追踪设备(Tracker),针对不同的播放频道,每个Tracker缓存与对应的数据相关的种子文件和实时媒体数据流的持有节点和下载节点的IP地址及路由信息等节点信息,新加入P2P流媒体系统的节点也需要不断与Tracker进行通信,以上报自身的节点信息以及从Tracker处获取其他节点的信息。
P2P流媒体系统中的节点可以向Tracker发送节点列表请求(Peerlistrequest),表示希望从其他节点中下载数据。发送Peerlist请求的节点称之为请求节点,为该请求节点提供下载数据的节点称之为活动节点。在现有的Tracker-based P2P系统中,请求节点查找活动节点的过程如图1所示,主要包括如下步骤:
第一步:请求节点(Peer_1)向Tracker发送Peerlist请求,Tracker根据已缓存的节点信息选择多个节点,并将选择的多个节点的节点信息写入Peerlist列表后,返回给请求节点。
在本步骤中,Tracker可以根据已缓存的节点信息确定对应的节点,并从中随机选择一定数量的节点,也可以根据地理位置接近的原则,选择与请求节点位置比较接近的节点。例如,如果根据请求节点的IP地址确定请求节点归属区域为北京地区,则Tracker可以根据已缓存的IP地址选择归属区域是北京地区的节点,如图1中选择Peer_2、Peer_3、Peer_4和Peer_5。
第二步:请求节点接收到Peerlist列表后,分别向Peerlist列表中的节点发送探测消息和查询消息,最终确定一个节点作为活动节点,并从确定的活动节点处下载需要的数据。
在现有的Tracker-based P2P系统中查找活动节点的方式下,由于Tracker预先不知道系统中各节点所处网络的性质,仅按照节点的物理地址对节点进行粗略选择,因此,请求节点接收到的Peerlist列表中的节点信息对应的节点很可能是传输数据的速度较慢的节点,当这些传输数据的速度较慢的节点成为请求节点的活动节点时,会使得数据传输效率较低,进而导致请求节点播放流媒体数据的平均时延增大。
发明内容
本发明实施例提供一种在P2P流媒体系统中查找活动节点的方法、系统、追踪设备以及节点设备,以解决在确定活动节点的过程中,Peerlist列表中的节点信息对应的节点传输速度较低时,导致数据传输效率较低的问题。
一种在P2P流媒体系统中查找活动节点的方法,可选节点向追踪设备Tracker上报所处网络的信息;
所述查找活动节点的方法包括:
Tracker接收请求节点发送的节点列表请求后,根据可选节点所处网络的信息确定处于有线网络的可选节点个数,若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;
若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点;
Tracker将选择的候选节点的节点信息通过节点列表返回给请求节点,指示所述请求节点根据节点列表中的节点信息确定至少一个候选节点作为活动节点。
一种在P2P流媒体系统中查找活动节点的系统,所述系统包括:
可选节点,用于向Tracker上报所处网络的信息;
请求节点,用于向Tracker发送节点列表请求,并根据Tracker返回的节点列表中的节点信息,确定至少一个候选节点作为活动节点;
Tracker,用于在接收到节点列表请求后,根据可选节点所处网络的信息确定处于有线网络的可选节点个数,若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;
若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点,以及将选择的候选节点的节点信息通过节点列表返回给请求节点。
一种追踪设备,应用于P2P流媒体系统中,所述追踪设备包括:
信息接收模块,用于接收可选节点上报的所处网络的信息;
请求接收模块,用于接收节点列表请求;
选择模块,用于根据可选节点所处网络的信息确定处于有线网络的可选节点个数,若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;
若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点;
列表发送模块,用于将选择的候选节点的节点信息通过节点列表返回给请求节点。
一种节点设备,所述节点设备包括:
信息上报模块,用于向Tracker上报所处网络的信息;
数据输出模块,用于根据其他节点设备的请求向其他节点设备上载数据。
由于本发明方案中,Tracker为请求节点确定候选节点时,根据所处网络的性质对可选节点进行了筛选,优先选择所处网络为有线网络的节点,考虑到在一般情况下,处于有线网络的节点传输速度较快,因此,请求节点根据Peerlist列表中的节点信息确定的活动节点的数据传输速度相对较高,提高了数据传输的效率,减少了请求节点播放流媒体数据的时延。
附图说明
图1为现有的查找活动节点示意图;
图2为本发明实施例一中在P2P流媒体系统中查找活动节点的方法示意图;
图3(a)和图3(b)为本发明实施例二中可选节点的在线时长示意图;
图4为本发明实施例五中请求节点和候选节点的bitmap示意图;
图5为本发明实施例十二中在P2P流媒体系统中查找活动节点的系统示意图;
图6为本发明实施例十三中追踪设备示意图;
图7为本发明实施例十四中节点设备示意图。
具体实施方式
为了实现本发明目的,本发明对Tracker进行了改造,使Tracker在接收到请求节点发送的节点列表请求后,并不是盲目地将P2P系统中的其他节点以IP地址为依据进行划分后选择候选节点,而是进一步对P2P系统中的其他节点按照所处网络的性质进行筛选,优先选择所处网络是有线网络的节点。这样做的目的是:由于处于有线网络中的节点的数据传输速度一般高于处于无线网络的节点,因此,请求节点从Peerlist中选择的活动节点处下载数据的效率较高。
本发明实施例中涉及的Tracker可以是在现有Tracker的基础上改造后的设备,也可以是具有本发明实施例需要的相关功能的设备。
下面结合说明书附图对本发明实施例进行详细描述。
实施例一:
如图2所示,为本发明实施例一中在P2P流媒体系统中查找活动节点的方法示意图,所述方法包括以下步骤:
步骤101:可选节点向Tracker上报自身所处网络的信息。
在本实施例中,可选节点可以在登录Tracker时,向Tracker上报自身的相关信息,如IP地址、端口号和自身所处网络的信息等。为了让Tracker获知可选节点所述的网络,可选节点可以直接上报所处网络的标识,也可以上报与所处网络的性质相关的参数,由Tracker根据相关的参数确定可选节点所处的网络。
在本发明各实施例中涉及的有线网络包括但不限于:通过光缆、网线等方式接入的网络;无线网络包括但不限于:无线局域网(WLAN)网络、移动互联网络(包括通用分组无线业务(GPRS)网络、边界(EDGE)网络、3G网络、无线宽带(WIFI)网络、长期演进标准(LTE)网络等其他同等性质网络)。
步骤102:Tracker接收请求节点发送的节点列表请求。
在所述节点列表请求中可以携带请求节点的相关信息,如IP地址、端口号以及请求节点所处网络的信息等。
步骤103:Tracker根据可选节点所处网络的信息确定处于有线网络的可选节点个数,在处于有线网络的可选节点个数不同时采用不同的选择候选节点的方式。
若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;若处于有线网络的可选节点个数小于需要的节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点。选择的候选节点个数可以刚好等于需要的候选节点个数,如果可选节点的条件较好,实际选择的候选节点个数也可以多于需要的候选节点个数,如果可选节点的条件较差,实际选择的候选节点个数也可以少于需要的候选节点个数。
特殊地,如果P2P系统中不存在处于有线网络中的可选节点,则直接从无线网络中的可选节点中选择候选网络。
步骤104:Tracker将选择的候选节点的节点信息通过节点列表返回给请求节点。
在步骤103中,Tracker按照节点所处网络的性质对节点进行了筛选,因此,节点列表中的节点信息对应的节点都是数据传输速度较高的节点。
为了保证Tracker选择的候选节点个数合理,既能够使请求节点根据Peerlist正确地查找到活动节点,又不至于因为候选节点个数过多造成带宽消耗过大,因此,可以根据当前网络的实际条件或者经验值确定需要的候选节点个数为一个设定值。如果满足步骤103的选择条件的候选节点个数大于该设定值,则可以对选择的候选节点进一步挑选,保证进一步挑选出的候选节点个数不大于设定值。
步骤105:请求节点根据节点列表中的节点信息确定至少一个候选节点作为活动节点。
通过本发明实施例一的方案,增加了Tracker判断节点所处网络的性质的功能,Tracker优先选择处于有线网络的节点作为候选节点,由于在一般情况下,有线网络节点的数据传输速度高于在无线网络中的节点,因此,最终确定的活动节点能够尽可能地以较高的传输速度向请求节点上载数据,提高了整个P2P系统的传输速度,降低了请求节点的等待时延。
本发明实施例还考虑到可选节点自身的能力,将可选节点的电池续航能力、运算能力、存储空间大小和内存大小作为选择候选节点的条件。
实施例二:
本实施例二在实施例一的基础上,若确定的候选节点是处于无线网络的节点,候选节点需要依靠电池供电,则可以将电池的续航时间作为选择候选节点的条件,尽量选择电池续航时间较长的可选节点。
如果可选节点是处于无线网络的节点,则将可选节点的电池续航能力作为选择候选节点的条件,从中选择电池续航能力较强的候选节点。
实施例二的方案如下:
首先,在可选节点处于无线网络时,可选节点向Tracker上报电池续航时间。
正常使用中的电池续航时间取决于所运行的相关应用程序。例如,可选节点在某一段时间使用了流媒体,那么根据在这段时间内节点耗费的电量可以计算出使用流媒体时电池电量的消耗速度。每当节点使用流媒体时,其自身就记录下其当前电池电量的消耗速度。并对这些值进行期望求平均值。将电池本身的电量和得到的电池电量的消耗速度相除,得到的权值就可以作为电池续航能力的表现。也就是说,电池续航时间可以根据可选节点使用的应用程序的耗电量和电池自身的电量确定。
然后,Tracker在根据实施例一的方案确定的候选节点基础上,进一步筛选出电池续航时间大于第一时长的候选节点,并将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
本实施例中的第一时长可以根据经验值确定,或者根据对候选节点需要的电池续航能力确定。
通过本发明实施例二的方案,保证选择的候选节点的电池续航能力较强,避免由于断电造成数据传输中断的问题。
实施例三:
可选节点在登录Tracker时或周期性地向Tracker上报自身的数据处理速度,则Tracker按照实施例一或实施例二任意方案确定候选节点后,可以从中进一步筛选出数据处理速度大于设定速度的候选节点,并将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
本实施例中的设定速度可以根据当前网络条件和在数据传输过程中需要的传输速度设定,如网络条件较好且对传输速度要求较高时设定较高的速度,网络条件较差且对传输速度要求较低时,设定较低的速度。
与实施例一的方案类似的,如果满足实施例二选择条件的候选节点个数多于最大值,则可以按照数据处理速度由大到小的顺序将候选节点进行排列,从中挑选出A个候选节点,其中,A为不大于最大值的正整数。
实施例四:
可选节点可以向Tracker上报自身存储空间的大小和内存大小,则Tracker在为请求节点选择候选节点时,可以从实施例一至实施例三中任意实施例得到的候选节点中进一步筛选出存储空间大于第一数值,且内存大于第二数值的候选节点,确保进一步筛选出的候选节点是自身能力较强的节点。
本实施例中的第一数值和第二数值可以根据经验值确定,使得筛选出的候选节点能够在存储空间和内存中缓存足够多的用于向请求节点上载的数据。
由于可选节点的可用存储空间的大小和内存大小可能会随时改变,因此,可选节点还可以周期性地向Tracker上报自身的存储空间的大小和内存大小。
实施例二至实施例四的方案是在实施例一的基础上,将可选节点自身的能力也作为选择候选节点的条件,从而选择出数据处理较快、存储空间和内存较大的候选节点,特别的,当选择的候选节点是处于无线网络中的节点时,由于根据候选节点的电池续航能力对其进行了筛选,确保候选节点的电池续航能力较强,能够满足数据传输的需要。
实施例五:
本发明实施例五在实施例一至实施例四的任意实施例基础上进一步的研究发现,如果进一步选择出活跃度较高的节点作为候选节点,可以很好地保证最终确定的活动节点稳定性较高,因此,实施例五进一步限定选择候选节点的选择条件包括:在线时长大于第二时长的节点,所述在线时长为该节点最近登录Tracker时刻至当前时刻的时长。
这里的第二时长可以根据经验值或当前对候选节点的稳定性需求设定,对候选节点的稳定性需求越高,则设置的第二时长越长。
在实施例五的方案中,可选节点需要向Tracker上报自身的在线时长,上报的时机可以是与步骤101同时执行,也可以在Tracker根据可选节点的在线时长对可选节点进行选择之前上报。
如图3(a)和图3(b)所示,为本发明实施例五中,某一个可选节点的在线时长示意图。在图3(a)中,节点在t0时刻登录Tracker,如果当前时刻为T,并且节点在t0至T时刻一直处于登录Tracker的状态,则认为节点的在线时长为t0~T的时长。在图3(b)中,节点在t0时刻登录Tracker,但在t1时刻退出Tracker,而后在t2时刻再次登录Tracker,当前时刻为T,由于节点在t2至T时刻一直处于登录Tracker的状态,因此认为节点的在线时长为t2~T的时长。
可选节点向Tracker上报在线时长有多种方式,包括但不限于以下两种:
1、节点在登录Tracker时记录登录时间,并周期性地向Tracker上报当前的在线时长。如果节点退出Tracker,则通知Tracker删除之前已上报的在线时长,保证Tracker中记录的在线时长是处于在线状态节点的在线时长。当Tracker在需要确定节点的在线时长时,可以直接根据记录的在线时长确定。
2、在节点登录Tracker时,由Tracker记录登录时间。当节点退出Tracker时,Tracker可以删除登录时间或是使记录的登录时间处于未激活的状态,当节点再次登录Tracker时,如果Tracker已删除登录时间,则重新记录本次登录时间;如果Tracker使上次记录的登录时间处于未激活的状态,则Tracker重新激活登录时间,并将记录的登录时间更新为本次的登录时间。当Tracker在需要确定节点的在线时长时,根据节点的登录时间和当前时间就能给容易地确定节点的在线时长。
Tracker根据可选节点所处网络的信息选择候选节点后,可以从候选节点中进一步筛选出最近登录Tracker时刻至当前时刻的时长大于第二时长的候选节点,并将进一步筛选出的候选节点作为通过节点列表返回给请求节点的候选节点。
如果满足实施例五的选择条件的节点个数较多,例如节点个数大于设定值,则可以对满足选择条件的节点进一步筛选,筛选方法为:
首先,将满足选择条件的节点按照在线时长由大到小的顺序排列。
然后,从中选择出前B个节点,其中B为不大于设定值的正整数,选择出的B个节点为候选节点。
在本实施例五中,同时以所处网络性质和在线时长为选择条件对节点进行选择,得到的候选节点不仅具有较高的数据传输速度,同时,由于候选节点的在线时长较长,说明该候选节点是P2P系统中较稳定的节点,因此,当这样的节点成为活动节点后,能够稳定地向请求节点提供数据,避免由于选择的活动节点不稳定(如频繁地登录或退出Tracker等)导致请求节点需要经常重新确定活动节点的问题。
实施例六:
本发明实施例六的方案可以在实施例一至实施例五任意实施例的基础上选择上载数据的效率较高的可选节点作为候选节点。本发明实施例六的方案中,Tracker为请求节点选择候选节点之前,还包括可选节点向Tracker上报上载数据的效率的步骤。
可选节点的上载数据的效率可以通过以下方式确定:
首先,确定可选节点的在线时长,以及在所述在线时长内可选节点上载数据的数据量。所述上载数据的数据量是指:可选节点作为活动节点向其他节点提供数据的数据量。然后,将上载数据的数据量与在线时长相除,得到的商为候选节点上载数据的效率。
可选节点周期性地将计算得到的上载数据的效率发送给Tracker,也可以周期性地上报在线时长以及在所述在线时长内可选节点上载数据的数据量,由Tracker根据接收到的在线时长以及在所述在线时长内可选节点上载数据的数据量计算可选节点的上载数据的效率。
可选节点向Tracker上报上载数据的效率可以与实施例一中的步骤101同时执行。
如果本发明实施例六是在实施例一的基础上的方案,则限定选择候选节点的选择条件包括:优先选择所处网络为有线网络的节点以及上载数据的效率大于设定效率值的节点。在此情况下,Tracker根据可选节点所处网络的信息选择候选节点后,可以从候选节点中进一步筛选出上载数据的效率大于设定效率值的候选节点,并将进一步筛选出的候选节点作为通过节点列表返回给请求节点的候选节点。
设定效率值可以根据经验值或是对候选节点上载数据能力的要求确定,对候选节点上载数据能力要求越高,则设定的效率值越大。
如果本发明实施例六是在实施例五的基础上的方案,则限定选择候选节点的选择条件包括:优先选择所处网络为有线网络的节点、在线时长大于第二时长的节点以及上载数据的效率大于设定效率值的节点。在此情况下,Tracker可以从实施例五中确定的候选节点中进一步筛选出上载数据的效率大于设定效率值的候选节点,并将进一步筛选出的候选节点作为通过节点列表返回给请求节点的候选节点。
如果满足实施例六的选择条件的节点个数较多,例如节点个数大于设定值,则Tracker可以对满足选择条件的节点进一步筛选,筛选方法为:
首先,将满足选择条件的节点按照上载数据的效率由大到小的顺序排列。
然后,从中选择出前C个节点,其中C为不大于设定值的正整数,选择出的C个节点为候选节点。
从满足实施例六的选择条件的节点中筛选出部分节点时,也可以同时考虑上载数据的效率和在线时长,例如,采用公式(1)加权的方式选择出个数合适的候选节点。
X=a*Y+bZ (1)
其中:a和b为加权因子,a+b=1;Y为上载数据的效率;Z为在线时长。通过公式(1)的计算后,选择X最大的B个节点作为候选节点。
在实施例六的方案中,不仅要根据节点所处网络的性质选择数据传输速度较高的节点、根据在线时长选择较稳定的节点,还进一步考虑到选择的节点在单位时间内上载的数据量,在单位时间内上载的数据量越多,表明该节点向其他节点上载数据的能力越强,也就是健康度越好。因此,最终选择出的活动节点能够稳定、快速、大量地向请求节点提供数据,提高了P2P系统的数据传输效率。
实施例七:
本发明实施例七的方案是在实施例六的基础上,限定选择候选节点的选择条件包括:优先选择所处网络为有线网络的节点、在线时长大于第二时长的节点、上载数据的效率大于设定效率值的节点以及所在网络的网络带宽大于设定带宽值的节点。
所述设定带宽值可以根据能够用于传输上载数据的最低带宽值确定。
本发明实施例七的方案中,Tracker为请求节点选择候选节点之前,还包括可选节点向Tracker上报所在网络的网络带宽的步骤。
可选节点所在网络的网络带宽可以通过以下方式确定:
可选节点向连接节点上载数据时,可以同时测量此时可选节点的出向带宽,并将此时的出向带宽作为可选节点的网络带宽;或者,确定可选节点在一定时间内内向连接节点上载数据的数据量,可以根据单位时间内传输的数据量计算出可选节点的出向带宽,并将确定的出向带宽作为可选节点的网络带宽。
可选节点可以周期性地向Tracker上报所在网络的网络带宽,也可以向Tracker上报单位时间内传输的数据量,由Tracker确定可选节点所在网络的网络带宽。上报所在网络的网络带宽的时机可以是与步骤101同时上报。
当满足实施例七选择条件的节点个数较多时,可以从中选择D个网络传输质量最好的节点作为候选节点。例如:将满足实施例七的节点按照所处网络的网络带宽由大到小的顺序排列,选择前D个节点作为候选节点,其中,D是不大于设定值的正整数。与实施例六类似地,本发明实施例七也可以将在线时长、上载数据的效率和网络传输质量加权求和,选择综合质量最好的节点作为候选节点。
本发明实施例七中的方案也可以是在实施例一至实施例六任意实施例基础上的优选方案。
在实施例七的方案中,综合考虑了节点所处网络性质、网络传输质量、节点自身传输数据的能力和链路状态,使得最终确定的活动节点能够尽可能好地为请求节点服务,在实施例一至实施例七的基础上,使活动节点所处的网络传输能力能够满足P2P业务传输的需要,避免由于P2P业务占用过多带宽影响活动节点其他业务的问题。
在实施例一至实施例七的方案中,涉及的选择条件包括:
a:若可选节点处于无线网络,则电池续航时间大于第一时长;
b:可选节点数据处理速度大于设定速度;
c:可选节点的存储空间的大小大于第一数值,内存的大小大于第二数值;
d:优先选择所处网络为有线网络的节点;
e:最近登录Tracker时刻至当前时刻的时长大于第二时长的节点;
f:上载数据的效率大于设定效率值的节点;
g:所处网络的网络带宽大于设定带宽值的节点。
本发明实施例也不限于其他将上述a~g的条件组合,构成新的选择候选节点的选择条件。
实施例八:
实施例一至实施例七侧重考虑了节点自身的能力和所处网络的网络信息以及节点在网络中上载数据的能力,本发明实施例八在实施例一至实施例七任意实施例的基础上,还考虑了节点缓存子块的信息对作为活动节点时上载数据的成功率和效率的影响,将候选节点的缓存子块的信息也作为选择候选节点的选择条件的一部分。
实施例八的方案如下:
首先,可选节点向Tracker上报自身缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
P2P系统中的可选节点需要周期性地或实时地向Tracker上报自身缓存子块的相关信息,如上报自身缓存的各子块的位置,也就是上报在哪些时刻子块对应的bit位置为“1”,在哪些时刻子块对应的bit位置为“0”。但是,考虑到将bit位的全部信息上报给Tracker时需要占用大量的字节,消耗过多的资源,因此,本发明实施例一中,可选节点将自身缓存的连续子块的个数以及所述连续子块中第一个子块的序号上报给Tracker。
如图4所示,分别为本发明实施例八中请求节点和某一个可选节点的比特图(bitmap)。在P2P流媒体系统中,一个播放文件被划分为若干个子块,播放文件以子块为单元在节点之间传输,节点通过来bitmap表示自身缓存子块的情况。bitmap中的每一个bit都与一个子块对应,如果节点缓存了某个子块,那么bitmap中与该子块对应的bit位被置为“1”;反之,该bit位置为“0”。在图4中,假设两幅bitmap示意图是针对同一播放文件的同一时间段而言的。
从图4中可以看出,可选节点存在一段连续子块,其个数记为Counter One,数量为10,第一个子块的序号用Offset_One表示,在图4中的序号是t1时刻。如果可选子块Bitmap的offset占用4个字节,Counter_One占用2个字节,则只需要6字节就可以向Tracker上报自身的连续子块信息。
然后,请求节点向Tracker发送节点列表请求。
请求节点可以是当前接入Tracker的节点,也可以需要重新确定活动节点的节点。
节点列表请求中包含请求节点最急需的子块序号,所述最急需的子块可以是请求节点中缓存的未播放数据中,第一个bit位置为0的子块。由于bit位置为0表示该子块未缓存,因此,最急需的子块可以看作是待下载数据的起始子块。待下载数据的起始子块的序号可以用Offset_Zero表示。
同时,请求节点还可以向Tracker上报自身缓存子块的信息,如自身缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
由于Tracker中保存了各可选节点缓存子块的信息,因此,后续可以选择缓存的子块信息满足需求的可选子块作为请求节点选择活动节点时的候选节点。
接着,Tracker从可选节点中选择满足选择条件的多个候选节点。
本实施例八可以是在实施例一至实施例七任意实施例基础上的优选方案,因此,可以在实施例一至实施例七任一实施例确定的候选节点中,进一步筛选出缓存了所述待下载数据的起始子块的候选节点。
本步骤的具体选择方式可以为:
1、Tracker根据已知的连续子块的个数以及所述连续子块中第一个子块的序号,确定候选节点中的哪些bit位置为“1”。
2、Tracker将候选节点中缓存的子块与待下载数据的起始子块进行比较,判断哪些候选节点中缓存了待下载数据的起始子块。
3、Tracker根据比较结果查找出缓存了所述待下载数据的起始子块的候选节点。
仍以图4为例,在请求节点缓存的数据中,第一个bit位置为0的子块是子块t3,表示请求节点缺少的第一个子块是序号为t3的子块,因此,Tracker确定图4中可选节点缓存了t3时刻的子块,因此该节点可以作为候选节点,此时,选择出的候选能够向请求节点提供需要的子块。
如果Tracker按照选择条件选择的候选节点个数大于最大值,则对选择的候选节点进一步挑选,挑选出E个候选节点,其中,E表示不大于最大值的正整数。
最后,Tracker将选择的候选节点的节点信息通过节点列表返回给请求节点,请求节点接收到所述节点列表后,根据节点列表中的节点信息确定至少一个候选节点作为活动节点。
通过本发明实施例八的方案,由于Tracker按照缓存请求节点最急需的子块为条件进行了选择,使选择出的候选节点能够向请求节点提供需要的子块,也就是说选择出的候选节点可以作为请求节点的活动节点,请求节点接收到Peerlist后,可以从中确定至少一个节点作为活动节点。减少了请求节点与Peerlist中节点信息对应的节点进行的信息交互,简化了节点侧的繁琐操作。
实施例九:
本发明实施例九为了使确定的活动节点能够在一定时间内持续为请求节点提供用于下载的数据,在实施例八的基础上,增加选择条件:保存的待下载数据的连续子块的个数大于第一阈值。这里的候选节点中保存待下载数据的连续子块为:待下载数据的起始子块之后且与起始子块相邻的连续子块。
这里的第一阈值可以是根据需要候选节点连续地向请求节点上载子块的个数确定的。例如:要求候选节点至少能够连续地向请求节点上载3个子块,则第一阈值可以设置为3。
具体的选择过程如下:
首先,按照实施例八的方式选择出候选节点;
接着,Tracker根据待下载数据的起始子块在候选节点中的位置,确定待下载数据的起始子块之后且与起始子块相邻的连续子块的个数。
然后,Tracker将确定的待下载数据的连续子块的个数与第一阈值进行比较,判断待下载数据的连续子块的个数是否大于第一阈值。
最后,Tracker选择出下载数据的连续子块的个数大于第一阈值的候选节点。
仍以图4为例,Tracker确定待下载数据的起始子块为t3子块,则查询可选节点中是否存在包含t3子块的连续子块,在图4中,可选节点存在一段连续子块中包含t3子块,并且在同一连续子块中,t3之后还存在7个连续子块。假设本实施例九中设定的第一阈值为3,则图4所示的可选节点能够满足实施例二的选择条件。
如果确定满足本实施例九选择条件的候选节点个数较多,如大于最大值,则可以从中选择部分节点作为写入Peerlist的节点,具体的选择部分节点的过程如下:
首先按照待下载数据的连续子块的个数由大到小的顺序,对选择的候选节点进行排序,然后选择排在前F个的候选节点,所述F为正整数且不大于最大值。使得选择出的候选节点的下载数据的连续子块多于未选择的,保证能够为请求节点提供尽可能多的数据。
在本实施例九的方案中,由于待下载数据的起始子块是候选节点中一段连续子块中的一个,并且在连续子块中,在待下载数据的起始子块之后的子块个数较多,使得在请求节点确定的活动节点还能够在一段时间持续为请求节点提供下载的数据,提高了系统的稳定性,避免了请求节点查找出的活动节点能够提供的数据有限,导致请求节点频繁地查找活动节点的问题,有效地缓解了通信压力。
实施例十:
本发明实施例十可以在实施例八或实施例九的基础上,进一步地提出:要求最终选择的候选节点中保存待下载数据的子块总个数大于第二阈值。
这里的第二阈值可以根据需要候选节点向请求节点上载子块的个数确定的,第二阈值设置越大,表示能够向请求节点上载子块的个数越多。
本发明实施例十的方法包括以下步骤:
第一步:可选节点向Tracker上报自身缓存的子块总个数信息。
在本实施例中,P2P系统中的可选节点需要周期性地或实时地向Tracker上报自身缓存子块总个数,这里的总个数信息可以是实际缓存的子块数量,也可以是待下载数据的起始子块之后的所有子块数量。
可选节点可以同时向Tracker上报自身缓存的连续子块信息和子块总数信息,也可以只向Tracker上报其中的部分信息,或者是在不同的时刻分别上报上述信息。
第二步:请求节点接入Tracker,并向Tracker发送节点请求列表,所述节点列表请求中包括请求节点待下载数据的起始子块标识。
本步骤与实施例八中步骤相同。
第三步:Tracker从可选节点中选择满足选择条件的多个候选节点。
选择条件至少包括:候选节点中缓存了待下载数据的起始子块;待下载数据的起始子块之后且相邻的连续子块个数大于第一阈值;候选节点中保存待下载数据的子块总个数大于第二阈值。
具体的选择方式是:
首先,按照实施例五和/或实施例六的方案初步确定候选节点。
然后,Tracker根据待下载数据的起始子块在初步确定的候选节点中的位置,确定待下载数据的起始子块之后的所有子块的个数。
最后,Tracker将确定的所有子块的个数与第二阈值进行比较,选择出子块的个数大于第二阈值的候选节点。
仍以图4为例,在可选节点中,t3子块之后还缓存有11个子块,如果第二阈值为10,则该可选节点能够满足本实施例七的选择条件,可以成为候选节点。本实施例中以N表示可选节点中缓存的子块总个数,如果N占用2个字节,则可选节点只需要向Tracker上报N信息即可以告知自身缓存子块的信息。
第三步中可以通过以下两个公式完成利用实施例三的选择条件的选择候选节点过程:
Offset_One≤Offset_Zero≤Offset_One+Counter_One (1)
V=Counter_One-(Offset_Zero-Offset_One) (2)
其中:公式(1)表示请求节点最急需的子块位于可选节点的一段连续的子块中,公式(2)表示可选节点能够为请求节点连续提供的子块数量为V,其中,V等于或大于设定的第一阈值。
如果以上公式(1)成立,Tracker可以从上述两个公式确定的候选节点中进一步选择N大于第二阈值的可选节点;如果公式(1)不成立,Tracker可以直接选择N大于第二阈值的可选节点。
第四步:Tracker将通过第三步中的选择条件选择出的候选节点的节点信息通过Peerlist发送给请求节点,请求节点可以根据接收到的Peerlist确定至少一个活动节点。
如果确定满足本实施例十选择条件的候选节点个数较多,大于最大值,则可以从中选择部分节点作为写入Peerlist的节点,具体的选择部分节点的过程如下:
首先按照待下载数据的子块总个数由大到小的顺序,对选择的候选节点进行排序,然后选择排在前G个候选节点,所述G为正整数且不大于最大值。选择出的候选节点的下载数据的子块总个数多于未选择的,保证能够为请求节点提供尽可能多的数据。
在本实施例十的方案中,由于最终选择出的候选节点缓存的待下载数据的子块总个数较多,可以在实施例七的基础上,进一步确定选择出的候选节点能够为请求节点提供尽可能多的数据,尽量减少请求节点查询活动节点的次数。
实施例十一:
可选节点向Tracker上报的信息中,还可以包括连接节点个数是否饱和的相关信息,则Tracker可以在实施例八至实施例十任意实施例的基础上,选择连接节点个数未饱和的候选节点。
实施例十一的方案如下:
第一步:可选节点向Tracker上报自身连接节点个数是否饱和的信息。
本步骤可以与实施例五中上报子块信息的步骤同时执行,也可以分别执行。
所述连接节点个数是指从可选节点处获取数据的其他节点个数。也就是说,计算可选节点的连接节点个数时,只考虑候可节点作为活动节点时连接的其他节点个数是否饱和,不考虑可选节点从其他节点处下载数据时连接的其他节点个数。
在本发明实施例十一的方案中,可选节点在登录Tracker后可以周期性的通知自身的连接节点个数是否饱和,具体的通知方式包括但不限于以下两种方式:
第一种方式:可选节点可以周期性地向Tracker上报自身的连接标志,记为Connection_Flag,所述连接标志表示该可选节点是否还可以向其它节点提供数据,也就是连接节点个数是否饱和。
如果某一可选节点的连接节点个数已经达到能够连接的最大节点个数,就将Connection_Flag置为“down”,表示该可选节点的连接节点个数已经饱和,不能再向其它节点提供数据下载;否则,将Connection_Flag置为“up”,表示该可选节点的连接节点个数未饱和,还可以向其它节点提供数据。通过本方式使Tracker确定可选节点连接节点个数是否饱和时,节点与Tracker之间只需要传输一个字节的Connection_Flag,因此,占用的网络资源较少。
第二种方式:可选节点在接入Tracker时,通知Tracker自身能够连接的最大节点个数。在后续过程中,可选节点周期性地向Tracker上报自身已经连接的节点个数。Tracker判断可选节点当前已经连接的节点个数是否小于可选节点能够连接的最大节点个数,若是,则表示可选节点的连接节点个数未饱和;否则,表示可选节点的连接节点个数已饱和。
第二步:请求节点接入Tracker,并向Tracker发送节点列表请求,所述节点列表请求中包括请求节点待下载数据的起始子块标识。
第三步:Tracker从确定的节点中选择满足选择条件的多个候选节点。
选择条件可以在实施例八至实施例十中任意实施例的基础上再增加:候选节点的连接节点个数未饱和。
第四步:Tracker将选择的候选节点的节点信息通过节点列表返回给请求节点,由请求节点接收到所述节点列表后,根据节点列表中的节点信息确定至少一个候选节点作为活动节点。
由于第三步中,Tracker对接入的节点按照连接节点个数是否饱和的条件进行了筛选,因此,在本步骤中,节点列表中的节点信息对应的候选节点都具有与请求节点连接的能力。
如果Tracker按照第三步的选择条件选择的候选节点个数大于最大值,则对选择的候选节点进一步筛选,保证进一步筛选出的候选节点个数不大于最大值,例如:可以使进一步筛选出的候选节点个数等于最大值。
在本步骤中,请求节点不必向节点列表中的各候选节点发送用于确定是否具有连接能力的探测信息就能够确定至少一个能够提供请求节点需要的数据的活动节点。
通过本发明实施例十一的方案,由于Tracker对系统中的可选节点按照连接节点个数是否饱和的条件进行了筛选,使选择出的候选节点具有连接其他节点能力,因此提高了Tracker的利用率,为请求节点提供了准确性更高的Peerlist列表;同时,由于请求节点无需再向候选节点查询是否具有连接其他节点能力,因此,减少了请求节点与候选节点之间的信息交互数量,降低了网络带宽消耗。
本发明实施例八至实施例十一涉及的选择条件包括:
a:若可选节点处于无线网络,则电池续航时间大于第一时长;
b:可选节点数据处理速度大于设定速度;
c:可选节点的存储空间的大小大于第一数值,内存的大小大于第二数值;
d:优先选择所处网络为有线网络的节点;
e:最近登录Tracker时刻至当前时刻的时长大于第二时长的节点;
f:上载数据的效率大于设定效率值的节点;
g:所处网络的网络带宽大于设定带宽值的节点。
h:连接节点个数未饱和的节点,所述连接节点个数是从候选节点处获取数据的其他节点个数;
i:中缓存了所述节点列表请求中包含的待下载数据的起始子块的节点;
j:中保存待下载数据的连续子块的个数大于第一阈值的节点;
k:中保存待下载数据的子块总个数大于第二阈值的节点。
本发明实施例一至实施例十一中涉及的每个选择条件可以任意组合,本发明实施例也不限于上将任意组合成的选择条件作为选择候选节点的条件的方案。
在请求节点确定活动节点之后,可以从活动节点处下载需要的数据。当确定的活动节点失效后,请求节点将重新向Tracker发送节点列表请求,以获取新的活动节点列表。
在本发明各实施例中,Tracker在收到请求节点发送的节点列表请求后,可以预先根据缓存的节点信息确定系统中的节点,并按照节点的IP地址,选择出物理地址与请求节点接近的节点(如同省或同一国家,或者是地理位置差别小于固定值的节点)。后续,在利用本发明各实施例的选择条件选择候选节点时,可选的节点可以是按照IP地址初步筛选后的节点。
本发明实施例十二还提供一种在P2P流媒体系统中查找活动节点的系统,如图5所示,所述系统包括可选节点11、请求节点12和Tracker13,其中:可选节点11用于向Tracker13上报所处网络的信息;请求节点12用于向Tracker13发送节点列表请求,并根据Tracker13返回的节点列表中的节点信息,确定至少一个候选节点作为活动节点;Tracker13用于在接收到节点列表请求后,根据可选节点11所处网络的信息确定处于有线网络的可选节点11个数,选择满足选择条件的候选节点13,并将选择的候选节点13的节点信息通过节点列表返回给请求节点,其中:选择条件包括:若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点11中选择候选节点;若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点。
所述可选节点11还用于向Tracker13上报以下信息中的一种或多种的组合:
若可选节点处于无线网络,则上报电池续航时间;
可选节点数据处理速度;
可选节点的存储空间和内存的大小;
可选节点最近登录Tracker时刻至当前时刻的时长;
可选节点上载数据的效率;
可选节点所处网络的网络带宽;
可选节点连接节点个数是否饱和;
可选节点缓存的子块总个数信息;
可选节点缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
对应的,Tracker13还用于按照下列条件中的一种或多种选择候选节点:
若候选节点处于无线网络,则候选节点的电池续航时间大于第一时长;
候选节点的数据处理速度大于设定速度;
候选节点的存储空间大于第一数值,且内存大于第二数值;
选节点最近登录Tracker时刻至当前时刻的时长大于第二时长;
候选节点上载数据的效率大于设定效率值;
候选节点所处网络的网络带宽大于设定带宽值;
候选节点连接节点个数未饱,所述连接节点个数是从候选节点处获取数据的其他节点个数;
候选节点中缓存了所述节点列表请求中包含的待下载数据的起始子块;
候选节点中缓存的连续子块的个数大于第一阈值;
候选节点中缓存的子块总个数大于第二阈值。
本发明实施例十三还提供一种追踪设备,应用于P2P流媒体系统中,如图6所示,所述追踪设备包括信息接收模块21、请求接收模块22、选择模块23和列表发送模块24,其中:信息接收模块21用于接收可选节点上报的所处网络的信息;请求接收模块22用于接收节点列表请求;选择模块23用于根据可选节点所处网络的信息确定处于有线网络的可选节点个数,选择满足选择条件的候选节点,其中:选择条件包括:若处于有线网络的节点个数不小于需要的候选节点个数,则从处于有线网络的节点中选择候选节点;若处于有线网络的节点个数小于需要的候选节点个数,则将处于有线网络的所有节点和至少一个处于无线网络的节点作为候选节点;列表发送模块24用于将选择的候选节点的节点信息通过节点列表返回给请求节点。
信息接收模块21还用于接收以下信息中的一种或多种的组合:
若可选节点处于无线网络,则上报电池续航时间;
可选节点数据处理速度;
可选节点的存储空间和内存的大小;
可选节点最近登录Tracker时刻至当前时刻的时长;
可选节点上载数据的效率;
可选节点所处网络的网络带宽;
可选节点连接节点个数是否饱和;
可选节点缓存的子块总个数信息;
可选节点缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
所述选择模块23还用于按照下列条件中的一种或多种选择候选节点:
若候选节点处于无线网络,则候选节点的电池续航时间大于第一时长;
候选节点的数据处理速度大于设定速度;
候选节点的存储空间大于第一数值,且内存大于第二数值;
候选节点最近登录Tracker时刻至当前时刻的时长大于第二时长;
候选节点上载数据的效率大于设定效率值;
候选节点所处网络的网络带宽大于设定带宽值;
候选节点连接节点个数未饱,所述连接节点个数是从候选节点处获取数据的其他节点个数;
候选节点中缓存了所述节点列表请求中包含的待下载数据的起始子块;
候选节点中缓存的连续子块的个数大于第一阈值;
候选节点中缓存的子块总个数大于第二阈值。
本发明实施例十四还提供一种节点设备,该节点设备在能够向其他节点设备上载数据时,可以作为是上述各实施例中涉及的可选节点;同时,该节点设备也可以是上述各实施例中涉及的请求节点。
如图7所示,本实施例十四中的节点设备包括信息上报模块31和数据输出模块32,其中:信息上报模块31用于向Tracker上报所处网络的信息;数据输出模块32用于根据其他节点设备的请求向其他节点设备上载数据。
进一步地,所述信息上报模块31还用于向Tracker上报以下信息中的一种或多种的组合:
若节点设备处于无线网络,则上报电池续航时间;
节点设备的数据处理速度;
节点设备的存储空间和内存的大小;
节点设备最近登录Tracker时刻至当前时刻的时长;
节点设备上载数据的效率;
节点设备所处网络的网络带宽;
节点设备连接节点个数是否饱和;
节点设备缓存的子块总个数信息;
节点设备缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
当本实施例中的节点设备作为请求节点时,还可以包括一个请求模块,用于向Tracker上报节点列表请求,并在接收到Tracker返回的节点列表时,向列表中的其他节点设备请求下载数据。
通过本发明实施例提供的方法、系统及设备,Tracker预先获知各节点所处网络的性质,优先选择出传输速度较高的节点,优化了移动互联网中属于同一自治域或不同自治域节点间的数据传输性能,提高节点间数据传输速度;同时将在线时长、上载数据的效率和网络传输质量作为选择候选节点的选择条件,选择出的候选节点是健康度较高、稳定度较好的节点,使节点间建立连接的速度更快,降低了数据传输的延时。另外,根据可选节点缓存子块的信息选择候选节点,保证选择的候选节点能够正确地为请求节点上载数据,则请求节点在确定活动节点时,将原来的两步查找活动节点的过程变为一步查找,消除了请求节点通过Peerlist查找活动节点时产生的报文,减轻网络的压力,减少带宽消耗。同时,将可选节点自身的能力也作为选择候选节点的条件,保证候选节点的数据传输速度较快,有较大的存储空间以及较好的电池续航能力,使得从候选节点中确定的活动节点能够更好地为请求节点上载数据。最后,利用本发明方案,请求节点只需向tracker发送一个节点列表请求就可以找到活动节点,缩短了播放启动时间。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (21)
1.一种在P2P流媒体系统中查找活动节点的方法,其特征在于,可选节点向追踪设备Tracker上报所处网络的信息;
所述查找活动节点的方法包括:
Tracker接收请求节点发送的节点列表请求后,根据可选节点所处网络的信息确定处于有线网络的可选节点个数,若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;
若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点;
Tracker将选择的候选节点的节点信息通过节点列表返回给请求节点,指示所述请求节点根据节点列表中的节点信息确定至少一个候选节点作为活动节点。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
在可选节点处于无线网络时,可选节点向Tracker上报电池续航时间;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
若Tracker选择的候选节点中包含处于无线网络的候选节点,则从处于无线网络的候选节点中进一步筛选出电池续航时间大于第一时长的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
3.如权利要求2所述的方法,其特征在于,电池续航时间是根据可选节点使用的应用程序的耗电量和电池自身的电量确定的。
4.如权利要求1或2所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报数据处理速度;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
Tracker从候选节点中进一步筛选出数据处理速度大于设定速度的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
5.如权利要求1、2或4所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报存储空间和内存的大小;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
Tracker从候选节点中进一步筛选出存储空间大于第一数值,且内存大于第二数值的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
6.如权利要求1、2、4或5所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报最近登录Tracker时刻至当前时刻的时长;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
Tracker从候选节点中进一步筛选出最近登录Tracker时刻至当前时刻的时长大于第二时长的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
7.如权利要求1、2、4、5或6所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报上载数据的效率;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
Tracker从候选节点中进一步筛选出上载数据的效率大于设定效率值的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
8.如权利要求7所述的方法,其特征在于,所述上载数据的效率通过以下步骤确定:
将可选节点最近登录Tracker时刻至当前时刻的时长,与在所述时长内可选节点上载数据的数据量之商为可选节点上载数据的效率。
9.如权利要求1、2、4、5、6或7所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报所在网络的网络带宽;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
Tracker从候选节点中进一步筛选出网络带宽大于设定带宽值的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
10.如权利要求9所述的方法,其特征在于,所述带宽信息通过以下步骤确定:
可选节点向连接节点上载数据时测量的出向带宽作为可选节点的网络带宽,或者根据可选节点在一定时间内向连接节点上载数据的数据量确定出可选节点的网络带宽。
11.如权利要求1、2、4、5、6、7或9所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报缓存的连续子块的个数以及所述连续子块中第一个子块的序号;
所述节点列表请求中包含请求节点待下载数据的起始子块序号;
Tracker选择候选节点之后,返回节点列表之前,所述方法还包括:
Tracker从候选节点中进一步筛选出缓存了所述待下载数据的起始子块的候选节点;
Tracker向请求节点返回节点列表包括:
Tracker将进一步筛选出的候选节点的节点信息通过节点列表返回给请求节点。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报缓存的子块总个数信息;
则所述进一步筛选出的候选节点中缓存的子块总个数大于第二阈值。
13.如权利要求11所述的方法,其特征在于,所述方法还包括:
可选节点向Tracker上报连接节点个数是否饱和的信息,或已连接的节点个数及能够连接的最大节点个数,所述连接节点个数是指:从可选节点处获取数据的其他节点个数;
则所述进一步筛选出的候选节点的连接节点个数未饱。
14.一种在P2P流媒体系统中查找活动节点的系统,其特征在于,所述系统包括:
可选节点,用于向Tracker上报所处网络的信息;
请求节点,用于向Tracker发送节点列表请求,并根据Tracker返回的节点列表中的节点信息,确定至少一个候选节点作为活动节点;
Tracker,用于在接收到节点列表请求后,根据可选节点所处网络的信息确定处于有线网络的可选节点个数,若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;
若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点,以及将选择的候选节点的节点信息通过节点列表返回给请求节点。
15.如权利要求14所述的系统,其特征在于,
所述可选节点,还用于向Tracker上报以下信息中的一种或多种的组合:
若可选节点处于无线网络,则上报电池续航时间;
可选节点数据处理速度;
可选节点的存储空间和内存的大小;
可选节点最近登录Tracker时刻至当前时刻的时长;
可选节点上载数据的效率;
可选节点所处网络的网络带宽;
可选节点连接节点个数是否饱和;
可选节点缓存的子块总个数信息;
可选节点缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
16.如权利要求14所述的系统,其特征在于,
Tracker,还用于按照下列条件中的一种或多种选择候选节点:
若候选节点处于无线网络,则候选节点的电池续航时间大于第一时长;
候选节点的数据处理速度大于设定速度;
候选节点的存储空间大于第一数值,且内存大于第二数值;
候选节点最近登录Tracker时刻至当前时刻的时长大于第二时长;
候选节点上载数据的效率大于设定效率值;
候选节点所处网络的网络带宽大于设定带宽值;
候选节点连接节点个数未饱,所述连接节点个数是从候选节点处获取数据的其他节点个数;
候选节点中缓存了所述节点列表请求中包含的待下载数据的起始子块;
候选节点中缓存的连续子块的个数大于第一阈值;
候选节点中缓存的子块总个数大于第二阈值。
17.一种追踪设备,应用于P2P流媒体系统中,其特征在于,所述追踪设备包括:
信息接收模块,用于接收可选节点上报的所处网络的信息;
请求接收模块,用于接收节点列表请求;
选择模块,用于根据可选节点所处网络的信息确定处于有线网络的可选节点个数,若处于有线网络的可选节点个数不小于需要的候选节点个数,则从处于有线网络的可选节点中选择候选节点;
若处于有线网络的可选节点个数小于需要的候选节点个数,则将处于有线网络的所有可选节点和至少一个处于无线网络的可选节点作为候选节点;
列表发送模块,用于将选择的候选节点的节点信息通过节点列表返回给请求节点。
18.如权利要求17所述的追踪设备,其特征在于,
信息接收模块,还用于接收以下信息中的一种或多种的组合:
若可选节点处于无线网络,则上报电池续航时间;
可选节点数据处理速度;
可选节点的存储空间和内存的大小;
可选节点最近登录Tracker时刻至当前时刻的时长;
可选节点上载数据的效率;
可选节点所处网络的网络带宽;
可选节点连接节点个数是否饱和;
可选节点缓存的子块总个数信息;
可选节点缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
19.如权利要求17所述的追踪设备,其特征在于,
所述选择模块,还用于按照下列条件中的一种或多种选择候选节点:
若候选节点处于无线网络,则候选节点的电池续航时间大于第一时长;
候选节点的数据处理速度大于设定速度;
候选节点的存储空间大于第一数值,且内存大于第二数值;
候选节点最近登录Tracker时刻至当前时刻的时长大于第二时长;
候选节点上载数据的效率大于设定效率值;
候选节点所处网络的网络带宽大于设定带宽值;
候选节点连接节点个数未饱,所述连接节点个数是从候选节点处获取数据的其他节点个数;
候选节点中缓存了所述节点列表请求中包含的待下载数据的起始子块;
候选节点中缓存的连续子块的个数大于第一阈值;
候选节点中缓存的子块总个数大于第二阈值。
20.一种节点设备,其特征在于,所述节点设备包括:
信息上报模块,用于向Tracker上报所处网络的信息;
数据输出模块,用于根据其他节点设备的请求向其他节点设备上载数据。
21.如权利要求20所述的节点设备,其特征在于,
所述信息上报模块,还用于向Tracker上报以下信息中的一种或多种的组合:
若节点设备处于无线网络,则上报电池续航时间;
节点设备的数据处理速度;
节点设备的存储空间和内存的大小;
节点设备最近登录Tracker时刻至当前时刻的时长;
节点设备上载数据的效率;
节点设备所处网络的网络带宽;
节点设备连接节点个数是否饱和;
节点设备缓存的子块总个数信息;
节点设备缓存的连续子块的个数以及所述连续子块中第一个子块的序号。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910086675 CN101969448B (zh) | 2009-06-17 | 2009-06-17 | 在p2p流媒体系统中查找活动节点的方法、系统及设备 |
PCT/CN2010/000863 WO2010145199A1 (zh) | 2009-06-17 | 2010-06-13 | 在p2p流媒体系统中查找活动节点的方法、系统及设备 |
US13/378,982 US8762461B2 (en) | 2009-06-17 | 2010-06-13 | Method, system and device for searching active peer in P2P streaming media system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910086675 CN101969448B (zh) | 2009-06-17 | 2009-06-17 | 在p2p流媒体系统中查找活动节点的方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101969448A true CN101969448A (zh) | 2011-02-09 |
CN101969448B CN101969448B (zh) | 2013-03-13 |
Family
ID=43548552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910086675 Active CN101969448B (zh) | 2009-06-17 | 2009-06-17 | 在p2p流媒体系统中查找活动节点的方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101969448B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821115A (zh) * | 2011-06-08 | 2012-12-12 | 华为技术有限公司 | 一种点对点p2p传输资源的方法和装置 |
WO2013033869A1 (en) * | 2011-09-09 | 2013-03-14 | Nokia Siemens Networks Oy | Method, device and system for providing and selecting candidate nodes for live streaming services |
CN103218960A (zh) * | 2013-04-08 | 2013-07-24 | 芮丕胜 | 一种可自动更新的音频播放系统 |
CN103973596A (zh) * | 2013-11-28 | 2014-08-06 | 合一网络技术(北京)有限公司 | 一种p2p网络节点筛选方法 |
CN105635323A (zh) * | 2016-03-14 | 2016-06-01 | 北京百度网讯科技有限公司 | 数据传输控制方法和装置 |
CN107241386A (zh) * | 2017-05-05 | 2017-10-10 | 中广热点云科技有限公司 | 一种网络节点筛选方法及系统 |
CN108322487A (zh) * | 2017-01-16 | 2018-07-24 | 深圳市优朋普乐传媒发展有限公司 | p2p网络中节点选择方法及装置与节点更新方法及装置 |
CN109417566A (zh) * | 2016-06-30 | 2019-03-01 | 微软技术许可有限责任公司 | 基于约束的受控制的种子传播 |
CN109561137A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 建立p2p网络的方法、装置、终端设备及介质 |
CN110581892A (zh) * | 2019-09-17 | 2019-12-17 | 上海保险交易所股份有限公司 | 基于区块链的网络连接及恢复机制 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068336A (zh) * | 2006-08-22 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种对等连接流媒体直播系统和装置 |
CN101272404A (zh) * | 2008-05-15 | 2008-09-24 | 中国科学院计算技术研究所 | 一种p2p视频直播系统数据调度中的链路选择方法 |
CN101286927A (zh) * | 2008-05-08 | 2008-10-15 | 蒋一 | 一种基于节点互连优化实现p2p流媒体系统的方法 |
CN101310263A (zh) * | 2005-09-02 | 2008-11-19 | 艾文纽股份有限公司 | 与远程网络节点的数据通信 |
-
2009
- 2009-06-17 CN CN 200910086675 patent/CN101969448B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101310263A (zh) * | 2005-09-02 | 2008-11-19 | 艾文纽股份有限公司 | 与远程网络节点的数据通信 |
CN101068336A (zh) * | 2006-08-22 | 2007-11-07 | 腾讯科技(深圳)有限公司 | 一种对等连接流媒体直播系统和装置 |
CN101286927A (zh) * | 2008-05-08 | 2008-10-15 | 蒋一 | 一种基于节点互连优化实现p2p流媒体系统的方法 |
CN101272404A (zh) * | 2008-05-15 | 2008-09-24 | 中国科学院计算技术研究所 | 一种p2p视频直播系统数据调度中的链路选择方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821115B (zh) * | 2011-06-08 | 2015-11-25 | 华为技术有限公司 | 一种点对点p2p传输资源的方法和装置 |
CN102821115A (zh) * | 2011-06-08 | 2012-12-12 | 华为技术有限公司 | 一种点对点p2p传输资源的方法和装置 |
US9621646B2 (en) | 2011-09-09 | 2017-04-11 | Nokia Solutions And Networks Oy | Method, device and system for providing and selecting candidate nodes for live streaming services |
WO2013033869A1 (en) * | 2011-09-09 | 2013-03-14 | Nokia Siemens Networks Oy | Method, device and system for providing and selecting candidate nodes for live streaming services |
CN103218960A (zh) * | 2013-04-08 | 2013-07-24 | 芮丕胜 | 一种可自动更新的音频播放系统 |
CN103973596A (zh) * | 2013-11-28 | 2014-08-06 | 合一网络技术(北京)有限公司 | 一种p2p网络节点筛选方法 |
CN105635323B (zh) * | 2016-03-14 | 2018-05-22 | 北京百度网讯科技有限公司 | 数据传输控制方法和装置 |
CN105635323A (zh) * | 2016-03-14 | 2016-06-01 | 北京百度网讯科技有限公司 | 数据传输控制方法和装置 |
CN109417566A (zh) * | 2016-06-30 | 2019-03-01 | 微软技术许可有限责任公司 | 基于约束的受控制的种子传播 |
CN109417566B (zh) * | 2016-06-30 | 2021-08-20 | 微软技术许可有限责任公司 | 基于约束的受控制的种子传播 |
CN108322487A (zh) * | 2017-01-16 | 2018-07-24 | 深圳市优朋普乐传媒发展有限公司 | p2p网络中节点选择方法及装置与节点更新方法及装置 |
CN107241386A (zh) * | 2017-05-05 | 2017-10-10 | 中广热点云科技有限公司 | 一种网络节点筛选方法及系统 |
CN107241386B (zh) * | 2017-05-05 | 2019-09-06 | 中广热点云科技有限公司 | 一种网络节点筛选方法及系统 |
CN109561137A (zh) * | 2018-11-14 | 2019-04-02 | 广州虎牙信息科技有限公司 | 建立p2p网络的方法、装置、终端设备及介质 |
CN110581892A (zh) * | 2019-09-17 | 2019-12-17 | 上海保险交易所股份有限公司 | 基于区块链的网络连接及恢复机制 |
CN110581892B (zh) * | 2019-09-17 | 2022-04-01 | 上海保险交易所股份有限公司 | 基于区块链的网络连接及恢复机制 |
Also Published As
Publication number | Publication date |
---|---|
CN101969448B (zh) | 2013-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101969448B (zh) | 在p2p流媒体系统中查找活动节点的方法、系统及设备 | |
US8762461B2 (en) | Method, system and device for searching active peer in P2P streaming media system | |
CN101841553B (zh) | 网络上请求资源的位置信息的方法、用户节点和服务器 | |
US20120054172A1 (en) | Method and system for transmitting a query in a wireless network | |
CN108966305A (zh) | 一种lora中继自组网方法 | |
CN103945198A (zh) | 一种控制视频监控系统流媒体路由的系统和方法 | |
CN110461018B (zh) | 基于可计算ap的机会网络路由转发方法 | |
CN101764833B (zh) | 一种资源节点信息通知方法及网络实体装置 | |
WO2010138286A2 (en) | Distributed information storage and retrieval of communication network performance data | |
CN101873273A (zh) | 路由转发方法、路由节点及无线通信网络 | |
CN101800731A (zh) | 网络传输管理服务器、网络传输管理方法及网络传输系统 | |
CN102143150A (zh) | 一种获取媒体内容的方法、设备及系统 | |
CN114050994B (zh) | 一种基于SRv6的网络遥测方法 | |
CN101924777B (zh) | 在p2p流媒体系统中查找活动节点的方法、系统及设备 | |
Al-Qurabat et al. | Distributed data aggregation protocol for improving lifetime of wireless sensor networks | |
CN113839835A (zh) | 一种基于小流过滤的Top-k流精确监控架构 | |
CN112469102A (zh) | 一种面向时变网络的主动网络拓扑构建方法及系统 | |
CN105187556B (zh) | 一种数据回源的方法、装置及边缘服务器 | |
CN105243078B (zh) | 一种文件资源的分发方法、系统和装置 | |
CN103825922B (zh) | 一种数据更新方法及web服务器 | |
CN101371531A (zh) | 用于网络的改进的路由确定方法 | |
CN108419097A (zh) | 一种移动自组网下基于聚类树的视频共享方法 | |
CN116806043A (zh) | 路由选择方法、装置、电子设备及移动边缘网络 | |
CN101707684A (zh) | 一种Cache调度的方法、设备及系统 | |
CN115714814B (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 |