一种点到点流媒体中数据块请求动态调整的方法技术

技术编号:3543070 阅读:224 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种点到点流媒体中数据块请求动态调整的方法,其包括以下步骤:媒体传输模块发起源请求会话,获取可用的源节点,并与所述源节点建立传输连接;用户客户端根据与源节点之间的资源状态BITMAP交互,由所述媒体传输模块向源节点发送数据块请求;所述媒体传输模块在得到数据后由媒体存储模块写入缓存,由所述播放器模块播放。本发明专利技术所提供的点到点流媒体中数据块请求动态调整的方法由于采用了对网络实时带宽的计算处理,适应了不同的带宽要求,保证了P2P流媒体数据传输的顺畅性,能够保证实时的适配带宽的变化。

【技术实现步骤摘要】

本专利技术属于一种点到点P2P(Point to Point)流媒体
的方法,具体涉及到的是P2P流媒体中的一种数据块请求动态调整方法。
技术介绍
现有技术中,随着视音频编码技术和IP网络传输技术的发展和完善,数字媒体业务得到了迅速发展,业已成为宽带的核心应用。现阶段中国电信数字媒体业务采用集中服务的模式,通过基于C/S或C/S+CDN架构为用户提供服务。伴随着日益增长的业务需求,这种架构下系统投资剧增,产出效益不明显的问题日益显现。而且系统的服务能力始终有限,尤其在一些特殊情况下(如球赛实况转播时),仍然难以满足用户密集突发的流媒体业务需求。相比之下,P2P业务平台具有低成本、高扩展性、高服务质量、高安全性等先天优势,可解决现有数字媒体业务发展中所面临的平台高投入、低回报、热点效应等问题,为此,有必要建设P2P业务平台,以优化宽带网络流量,提高现有资源利用率,节省投资,为数字媒体产业的发展构建新型的业务支撑平台,创造良好的发展环境,促进其持续、健康、良性发展。在P2P系统中,由于节点的网络状况相差很大,并且在传输过程中两个节点之间的带宽也会发生变化,因此节点之间的数据块请求如何分配就显得比较重要。分配策略应能够充分利用发送端与接收端之间的可利用带宽,使每个连接能够自动适应特定网络状况。现有技术还有待于改进和发展。-->
技术实现思路
本专利技术的目的在于,提供一种P2P流媒体中的数据块请求动态调整方法,以适应流媒体传输节点之间的带宽变化,进行数据块请求的合理分配。本专利技术采用以下技术方案:一种点到点流媒体中数据块请求动态调整的方法,其包括以下步骤:A、用户客户端中的总控模块通知媒体控制模块开始播放,所述媒体控制模块根据待播放的媒体元数据设置播放器模块、媒体存储模块以及媒体传输模块;B、所述媒体传输模块发起源请求会话,获取可用的源节点,并与所述源节点建立传输连接;C、用户客户端根据与源节点之间的资源状态BITMAP交互,由所述媒体传输模块向源节点发送数据块请求;D、所述媒体传输模块在得到数据后由媒体存储模块写入缓存,由所述播放器模块播放,并且所述播放器模块接受其它节点的请求,从所述媒体存储模块中读取数据以发送给对应节点。所述的方法,其中,所述步骤B还包括:B1、所述媒体传输模块与一源节点建立传输连接时,所述播放器模块进行数据块请求生成。所述的方法,其中,所述步骤B1还包括:将所述数据块请求的集合分为紧急待请求集合和一般待请求集合,设置紧急待请求集合包括在播放窗口以内数据块的数据块请求,设置一般待请求集合包括在缓冲区中且不在播放窗口以内数据块的数据块请求。所述的方法,其中,所述B1中还包括:设置源节点分为静态节点和动态节点,所述静态节点为部署在局端的服务器,所述动态节点为其他客户端,并且:-->源节点列表中在静态节点有空闲时,从紧急待请求集合中取出数据分配,直到静态节点无法分配新的请求或紧急待请求集合为空;源节点列表中动态节点有空闲时,从一般待请求集合中取出数据分配,直到动态节点无法分配新的请求或一般待请求集合为空。所述的方法,其中,所述步骤D还包括:在资源状态BITMAP更新事件发生时,则重新检查数据块请求分配;并在所述播放器模块播放完一数据块时,其播放指针前移,所述紧急待请求集合和一般待请求集合进行更新。所述的方法,其中,所述步骤C中对所述媒体传输模块的数据块请求进行分配,并动态调整分配数据块请求以满足网络状况的变化。所述的方法,其中,所述步骤C中还包括:所述媒体传输模块从相应源节点接收数据块时,触发重请求检查事件,确认是否需要进行某些数据块的重新请求。所述的方法,其中,对所述媒体传输模块的数据块请求进行分配之过程还包括:C11、对该传输连接的带宽计算过程:记录所述传输连接中该媒体传输模块向所述源节点发送某个数据块请求的发送时间,该媒体传输模块在接收到该源节点返回的请求数据时记录接收时间,并用以计算带宽;C12、该传输连接上在紧接着的某段时间内以带宽乘以时间再除以包的大小,计算所述媒体传输模块能够发送的数据块请求最大数目,所述媒体传输模块发出数据块请求的数目,小于根据带宽所计算出的最大数目。所述的方法,其中,对所述媒体传输模块的数据块请求进行分配之过程还包括:C21、所述源节点将接收到的数据块请求追加到自己的发送队列中,并定时告知所述媒体传输模块在该预定周期内发送队列空闲的时间,所述媒体传输模块根据该队列空闲时间的信息调整发送的数据块请求。-->所述的方法,其中,所述步骤C21还包括:如果发送队列空闲的时间较长,则增加发送数据块请求的数目;否则,减少发送数据块请求的个数。所述的方法,其中,所述步骤D还包括:所述媒体传输模块维护一全局的发送数据块请求列表,用于记录发送数据块请求对应数据块的编号以及该数据块请求的发送时间信息,用户客户端通过该表检查发出去的数据块请求在超时范围内是否已经回复,用以确定所述传输连接是否异常。本专利技术所提供的一种点到点流媒体中数据块请求动态调整的方法,由于采用了对网络实时带宽的计算处理,适应了不同的带宽要求,保证了P2P流媒体数据传输的顺畅性,能够保证实时的适配带宽的变化。附图说明图1为本专利技术点到点流媒体中数据块请求动态调整方法中的媒体子系统软件模块和流程示意图;图2为本专利技术方法中数据状态信息交互流程示意图;图3为本专利技术方法中数据块请求和服务流程示意图。具体实施方式以下结合附图,将对本专利技术各较佳实施例进行更为详细的说明。本专利技术点到点流媒体中数据块请求动态调整的方法中,如图1所示的,在用户的客户端中设置有数据块请求控制的多个模块,其中包括总控模块110、媒体控制模块120、媒体传输模块130、媒体存储模块140、播放器模块150等,这些模块之间联系比较紧密,共同完成流媒体数据块的获取、播放和对外共享。上述各模块的功能参照图1所示的流程,分别执行如下步骤:步骤101:所述总控模块110通知所述媒体控制模块120开始播放;步骤102:所述媒体控制模块120根据媒体元数据分别对播放器模块-->150、媒体存储模块140和媒体传输模块130进行相应设置,其中包括所需要播放的流媒体大小,相应调整设置的所述媒体存储模块140的缓存空间等;步骤103:所述媒体传输模块130向一区域管理服务器170发起源请求会话,以查找具有相关流媒体数据块的源节点,得到可用的源节点(一个或多个),并与这些源建立传输连接;一旦建立连接,并可进行相互共享时,所述用户客户端所在的节点和与该节点传输连接的其他源节点形成伙伴节点;步骤104:所述播放器模块150根据缓存情况确定需要申请的数据,然后通知所述媒体传输模块130;步骤105:所述媒体传输模块130向相应的源节点发起数据块请求,该数据块请求根据P2P流媒体的特点是预先进行分片的多个数据块,并按照播放算法对相应数据块向源节点发送数据块请求,有对应的源节点回应反馈相应的数据块,得到数据后由所述媒体存储模块140写入缓存;在缓存后可通过所述播放器模块150进行播放。所述媒体传输模块130接收其它伙伴节点的请求,从所述媒体存储模块140中读取数据为其它伙伴节点服务,以实现P2P的共享服务。由此可知,本专利技术方法中所述媒体传输模块在整个客户端软件中具有重要的作用本文档来自技高网...

【技术保护点】
一种点到点流媒体中数据块请求动态调整的方法,其包括以下步骤: A、用户客户端中的总控模块通知媒体控制模块开始播放,所述媒体控制模块根据待播放的媒体元数据设置播放器模块、媒体存储模块以及媒体传输模块; B、所述媒体传输模块发起源请 求会话,获取可用的源节点,并与所述源节点建立传输连接; C、用户客户端根据与源节点之间的资源状态BITMAP交互,由所述媒体传输模块向源节点发送数据块请求; D、所述媒体传输模块在得到数据后由媒体存储模块写入缓存,由所述播放器模 块播放,并且所述播放器模块接受其它节点的请求,从所述媒体存储模块中读取数据以发送给对应节点。

【技术特征摘要】
1、一种点到点流媒体中数据块请求动态调整的方法,其包括以下步骤:A、用户客户端中的总控模块通知媒体控制模块开始播放,所述媒体控制模块根据待播放的媒体元数据设置播放器模块、媒体存储模块以及媒体传输模块;B、所述媒体传输模块发起源请求会话,获取可用的源节点,并与所述源节点建立传输连接;C、用户客户端根据与源节点之间的资源状态BITMAP交互,由所述媒体传输模块向源节点发送数据块请求;D、所述媒体传输模块在得到数据后由媒体存储模块写入缓存,由所述播放器模块播放,并且所述播放器模块接受其它节点的请求,从所述媒体存储模块中读取数据以发送给对应节点。2、根据权利要求1所述的方法,其特征在于,所述步骤B还包括:B1、所述媒体传输模块与一源节点建立传输连接时,所述播放器模块进行数据块请求生成。3、根据权利要求2所述的方法,其特征在于,所述步骤B1还包括:将所述数据块请求的集合分为紧急待请求集合和一般待请求集合,设置紧急待请求集合包括在播放窗口以内数据块的数据块请求,设置一般待请求集合包括在缓冲区中且不在播放窗口以内数据块的数据块请求。4、根据权利要求3所述的方法,其特征在于,所述B1中还包括:设置源节点分为静态节点和动态节点,所述静态节点为部署在局端的服务器,所述动态节点为其他客户端,并且:源节点列表中在静态节点有空闲时,从紧急待请求集合中取出数据分配,直到静态节点无法分配新的请求或紧急待请求集合为空;源节点列表中动态节点有空闲时,从一般待请求集合中取出数据分配,直到动态节点无法分配新的请求或一般待请求集合为空。5、根据权利要求4所述的方法,其特征在于,所述步骤D还包括:在资源状态BITMAP更新事件发生时,则重新检查数据块请求分配;并在所述播放器模块播放完一数据块时,其播放指针前移,所述紧急待请...

【专利技术属性】
技术研发人员:季健
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1