一种控制数据传输的方法及装置的制造方法
【技术领域】
[0001]本发明涉及多媒体技术领域,尤其涉及一种控制数据传输的方法及装置。
【背景技术】
[0002]随着多媒体技术的飞速发展,可以采用多种方式进行流媒体的传输以及播放,其中,P2P (Peer to Peer ;点对点)流媒体系统即为一种常用的流媒体传输以及播放系统。
[0003]在现有P2P流媒体系统中,流媒体内容被切割成多个数据块(chunk),以每一个数据块作为流媒体数据传输的基本单位,从而完成连续的数据流在节点(Peer)间传输,其中,每一个数据块由唯一的chunk id表示。节目内容的共享和交换都依赖于节点间交换的描述节点缓存状态的缓存消息(简称BM),即通过缓存消息完成节目内容的共享和交换。
[0004]目前,在P2P流媒体系统中,若请求节点需要进行视频等流媒体的呈现,则需要向拥有该视频对应的流媒体数据的数据节点发送请求消息,而请求节点根据数据节点发送的流媒体数据向用户呈现相应的视频。针对上述请求节点与数据节点之间的数据传输过程,现有技术中,通常采用数据节点采用最大限度地将自身拥有的流媒体数据发送至请求节点的方式,向请求节点发送流媒体数据。当采用上述技术方案进行数据传输时,由于网络带宽的限制,若在某一个时刻存在大量的流媒体数据请求,则数据节点仍最大限度地将自身拥有的流媒体数据发送至请求节点将可能导致该时刻网络的拥塞,进而造成请求节点所获取流媒体数据的不连续,使请求节点视频播放不流畅,大大降低了系统性能。
[0005]由此可见,现有技术中在流媒体数据的传输过程中,若网络带宽较小则存在请求节点获取流媒体数据不连续,造成请求节点视频播放不流畅,降低系统性能的问题。
【发明内容】
[0006]本发明实施例提供一种控制数据传输的方法及装置,用以解决现有技术中在点对点流媒体系统的数据的传输过程中,存在的请求节点上获取流媒体数据不连续,造成请求节点上视频播放不流畅,降低系统性能的问题。
[0007]本发明实施例提供的具体技术方案如下:
[0008]一种控制数据传输的方法,应用于点对点流媒体系统中,包括:
[0009]数据节点接收请求节点发送的数据请求消息;
[0010]所述数据节点根据所述数据请求消息,获取所述请求节点所请求的数据块;
[0011]所述数据节点对所述数据块进行划分,生成多个单片,并将所述请求节点作为目标请求节点,以及向所述目标请求节点发送所述多个单片。
[0012]进一步的,所述数据节点对所述数据块进行划分之前,所述数据节点检测当前时刻数据传输速度;,并将所述当前时刻数据传输速度与预设门限值进行比较;以及比较出所述当前时刻数据传输速度小于预设门限值。
[0013]可选的,所述数据节点对所述数据块进行划分,生成多个占用存储空间大小为188*128K字节的单片。
[0014]采用上述技术方案,将作为流媒体数据传输的基本单位的数据块进行进一步划分,将生成的多个单片发送至请求节点,避免了由于多个数据块同时发送时造成的网络拥塞现象,提高了系统性能,保证了请求节点能够连续地接收数据,使用户能够获取流畅播放的视频。
[0015]可选的,当向所述数据节点发送数据请求消息的所述请求节点的数目为多个时,所述数据节点获取向每一个请求节点发送相应的单片时对应的单片数据传输速度;其中,所述单片数据传输速度为根据当前时刻网络质量参数获取的预估值;当所述单片数据传输速度小于所述预设门限值,且向所述数据节点发送数据请求消息的所述请求节点的数目大于预设节点数目门限值时,所述数据节点对多个所述请求节点进行筛选,获取目标请求节点,其中,所述目标请求节点的数目等于所述预设节点数目门限值;所述数据节点向所述目标请求节点发送所述多个单片。
[0016]可选的,所述数据节点分别获取每一个请求节点的性能参数,并根据所述性能参数的大小对所有请求节点进行排序,生成请求节点队列;所述数据节点根据所述预设节点数目门限值,按照性能参数由大到小的顺序,从所述请求节点队列中依次选择目标请求节点。
[0017]采用上述技术方案,在对请求节点所请求的数据块进行划分的同时,控制接入数据节点的请求节点的数目,进一步避免了由于大量请求节点同时请求数据所造成的网络拥塞现象,从而可靠保证了请求节点所播放视频的流畅性,提高了系统性能。
[0018]一种控制数据传输的装置,应用于点对点流媒体系统中,包括:
[0019]接收单元,用于接收请求节点发送的数据请求消息;
[0020]获取单元,用于根据所述数据请求消息,获取所述请求节点所请求的数据块;
[0021]发送单元,用于对所述数据块进行划分,生成多个单片,并将所述请求节点作为目标请求节点,以及向所述目标请求节点发送所述多个单片。
[0022]进一步的,上述控制数据传输的装置还包括检测单元,用于:对所述数据块进行划分之前,检测当前时刻数据传输速度,并将所述当前时刻数据传输速度与预设门限值进行比较;以及比较出所述当前时刻数据传输速度小于预设门限值。
[0023]可选的,所述发送单元,具体用于:对所述数据块进行划分,生成多个占用存储空间大小为188*128K字节的单片。
[0024]采用上述技术方案,将作为流媒体数据传输的基本单位的数据块进行进一步划分,将生成的多个单片发送至请求节点,避免了由于多个数据块同时发送时造成的网络拥塞现象,提高了系统性能,保证了请求节点能够连续地接收数据,使用户能够获取流畅播放的视频。
[0025]可选的,发送单元,用于:当向所述数据节点发送数据请求消息的所述请求节点的数目为多个时,获取向每一个请求节点发送相应的单片时对应的单片数据传输速度;当所述单片数据传输速度小于所述预设门限值,且向所述数据节点发送数据请求消息的所述请求节点的数目大于预设节点数目门限值时,对多个所述请求节点进行筛选,获取目标请求节点,其中,所述目标请求节点的数目等于所述预设节点数目门限值;向所述目标请求节点发送所述多个单片;其中,所述单片数据传输速度为根据当前时刻网络质量参数获取的预估值。
[0026]可选的,所述发送单元,具体用于:分别获取每一个请求节点的性能参数,并根据所述性能参数的大小对所有请求节点进行排序,生成请求节点队列;根据所述预设节点数目门限值,按照性能参数由大到小的顺序,从所述请求节点队列中依次选择目标请求节点。
[0027]采用上述技术方案,在对请求节点所请求的数据块进行划分的同时,控制接入数据节点的请求节点的数目,进一步避免了由于大量请求节点同时请求数据所造成的网络拥塞现象,从而可靠保证了请求节点所播放视频的流畅性,提高了系统性能。
[0028]本发明实施例中,数据节点接收到请求节点发送的数据请求消息后,即基于该数据请求消息获取请求节点所需要的数据块,并将该数据块划分为多个单片,以及根据上述请求节点获取目标请求节点,数据节点将该单片发送至该目标请求节点。采用本发明技术方案,数据节点将请求节点所请求的数据块划分为多个单片后,将所有的单片依次传输至相应的请求节点,从而避免了由于网络带宽较小所造成的网络拥塞问题,保证了请求节点视频播放流畅,有效提高了系统性能。
【附图说明】
[0029]图1为本发明实施例中点对点流媒体系统架构示意图;
[0030]图2为本发明实施例中控制数据传输的详细流程图;
[0031]图3为本发明实施例中具体应用场景下控制数据传输的详细流程图;
[0032]图4为本发明实施例中控制数据传输的装置结构示意图。
【具体实施方式】
[0033]为了解决现有技术中在点对点流媒体系统的数据的传输过程中,存在的请求节点上视频播放不流畅,降低系统性能的问题。本发明实施例中,数据节点接收到请求节点发送的数据请求消息后,即基于该数据请求消息获取请求节点所需要的数据块,并将该数据块划分为多个单片,以及根据上述请求节点获取目标请求节点,数据节点