一种P2P式点播中播放操作的实现方法及客户端技术

技术编号:3586411 阅读:197 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种P2P式点播中播放操作的实现方法,包括快进快退操作和/或拖动操作,所述快进快退操作和/或拖动操作包括步骤有:本客户端停止向其他客户端的数据请求;断掉本客户端的内存中的已有数据为其他客户端的服务;本客户端根据关键帧索引以及本客户端中已有数据来确定数据请求策略。相应地,本发明专利技术还提供一种实现P2P式点播中播放操作的客户端。借此,本发明专利技术避免了P2P式点播的播放操作对其他客户端产生的不良影响,而且能够实现更有效的数据请求,其有利于P2P式点播中播放操作的快速实现。

【技术实现步骤摘要】

本专利技术属于P2P (PeertoPeer,点对点)的流媒体
,尤其涉及一 种P2P式点播中播放操作的实现方法及客户端
技术介绍
将P2P技术和流媒体应用相结合是当前研究热点之一,P2P系统的最大优 点是使得用户能够有效的利用网络中的资源,这些资源包括数据资源、带宽资 源以及计算资源。所以这使得P2P系统中几乎没有原来CS (Client/Server,客 户端/服务器)模式的瓶颈,有着很好的可扩展性。在P2P模式中,每一个节 点(Peer)同时扮演了两种角色,既是客户端又是服务器,作为客户端能够向 其他节点査询和请求所需要的服务,而做为服务器则能够提供服务给其他节 点。P2P的流媒体系统分为直播系统和点播系统。当前网络上P2P的直播软件 比较多,但是P2P的点播软件却比较少,这是因为客户端在进行点播时,其所 收看的视频节目可能不一样,同时看同一视频节目的客户端的播放进度可能会 相差比较大,从而会造成点播中共享效果比较差。与目前的CS式点播的播放 操作(通常称之为VCR操作) 一样,P2P式点播的播放操作也主要包括暂 停、恢复、快进快退以及拖动等,但P2P式点播的播放操作在实现上有一定的 难度,原因如下第一,P2P式点播中播放操作会对其他客户端产生影响。与目前的CS式 点播的播放操作不一样,由于P2P式点播中的客户端之间存在数据交互,因此 一个客户端的播放操作不可避免的会对其他客户端产生影响,甚至会造成其他 客户端的异常;而若简单的彻底断掉本客户端与其他客户端的通讯连接,则必 然会影响P2P式点播的共享效果。如何在保证共享率的情况下克服这种影响, 是P2P式点播中播放操作的一个难点之处。第二, P2P式点播的播放操作过程中,数据的请求比较复杂。因为P2P式点播会进行数据的预取,在播放操作时如何能够有效的利用这些预取数据,减 少无效的数据请求,对于提高P2P式点播的性能非常重要。数据的请求同时就 涉及到缓存的管理,对于P2P式点播中播放操作时,如何清空缓存中无效数据, 保留有效数据,也是需要重点考虑的问题。综上可知,现有P2P式点播中播放操作在实际使用上,显然存在不便与 缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种P2P式点播中播放操作的实 现方法及客户端,其不仅避免了播放操作中对其他客户端产生不良影响,而且 能够实现更有效的数据请求。为了实现上述目的,本专利技术提供一种P2P式点播中播放操作的实现方法, 包括快进快退操作和/或拖动操作,所述快进快退操作或拖动操作包括步骤如下A、 本客户端停止向其他客户端的数据请求;B、 断掉本客户端的内存中的已有数据为其他客户端的服务;C、 本客户端根据关键帧索弓I以及本客户端中己有数据来确定数据请求策略。根据本专利技术的方法,所述步骤B中本客户端的磁盘中的已有数据继续为 其他客户端提供服务;所述步骤C中对于本客户端的内存和/或磁盘中己有数据将充分利用。根据本专利技术的方法,所述快进快退操作包括所述步骤A中,本客户端暂停向其他客户端的数据请求线程,而只启动 对源服务器的数据请求线程;所述歩骤C中,本客户端只向源服务器请求包含关键帧的数据块,而对 于本客户端的内存和/或磁盘中已有的包含关键帧的数据块则充分利用。根据本专利技术的方法,所述快进快退操作的步骤C之后还包括动态调整播 放指针的步骤对于两倍速的快进快退操作,本客户端不丢掉包含关键帧的数据块,并在 收到相应数据块后,只将该数据块中的关键帧送入解码器解码;对于四倍速的快进快退操作,本客户端间隔地丢掉一块包含关键帧的数据 块,并在收到相应数据块后,只将该数据块中的关键帧送入解码器解码;对于八倍速的快进快退操作,本客户端间隔地丢掉两块包含关键帧的数据 块,并在收到相应数据块后,只将该数据块中的关键帧送入解码器解码;对于十六倍速的快进快退操作,本客户端间隔地丢掉三块包含关键帧的数 据块,并在收到相应数据块后,只将该数据块中的关键帧送入解码器解码。根据本专利技术的方法,所述拖动操作包括所述步骤A中,本客户端将所有数据请求线程销毁;所述步骤C中,根据关键帧索引来确定距离拖动后的位置最近的包含关 键帧的数据块,则将播放指针指向该数据块;根据该播放指针重启数据请求线 程,再根据本客户端的内存和/或磁盘中己有数据确定数据请求策略。根据本专利技术的方法,所述拖动操作的歩骤C进一歩包括将本客户端的 内存中在播放指针之前的数据块全部清空;而对于播放指针之后预先取得的数 据块,若该数据块的块号与播放指针所在块号相差超过预定值时则清空,否则 保留该数据块;至于本客户端的磁盘中已有数据,则充分利用。根据本专利技术的方法,所述述拖动操作的步骤A之前还包括本客户端将播 放线程停止;所述步骤C之后还包括D、 当本客户端的播放器在缓存了预定值的时间和/或数据后,则重启播放 线程;E、 当本客户端的内存中存储预定值的数据后,重启为其他客户端的服务。 根据本专利技术的方法,所述播放操作还包括暂停操作首先暂停本客户端的播放线程,此时播放指针停止不动,而对于当前时刻未请求完的数据则继续请 求;而当前时刻的数据请求完成后,则将数据请求线程空转。根据本专利技术的方法,所述暂停操作后需要恢复播放时,所述播放操作还包 括恢复操作本客户端将播放线程恢复,所述数据请求线程开始重新请求数据。本专利技术还提供一种实现P2P式点播中播放操作的客户端,所述客户端至少 包括数据请求停止模块,用于在快进快退操作和/或拖动操作中,停止本客户端向其他客户端的数据请求;数据服务停止模块,用于在快进快退操作和/或拖动操作中,断掉本客户 端的内存中的已有数据为其他客户端的服务;数据请求策略确定模块,用于在快进快退操作和/或拖动操作中,根据关 键帧索引和本客户端中己有数据来确定本客户端的数据请求策略。本专利技术通过在P2P式点播的快进快退操作或拖动操作过程中,停止本客户端向其他客户端的数据请求,且断掉本客户端的内存中的己有数据为其他客户 端的服务,以及本客户端根据关键帧索引和己有数据来确定数据请求策略,从 而本专利技术避免了 P2P式点播的播放操作对其他客户端产生的不良影响,而且能 够实现更有效的数据请求,其有利于P2P式点播中播放操作的快速实现。附图说明图1是本专利技术P2P式点播的应用环境部署图2是本专利技术实现P2P式点播中播放操作的客户端结构示意图3是P2P式点播中数据请求实现原理图4是本专利技术优选的实现P2P式点播中播放操作的客户端结构式意图5是P2P式点播中播放操作的实现方法流程图6是P2P式点播中快进快退操作的实现方法流程图7是P2P式点播中拖动操作的实现方法流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本专利技术进行进一歩详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本专利技术,并不用于限定本专利技术。本专利技术的基本思想是:本专利技术在P2P式点播的快进快退操作或拖动操作过程中,停止本客户端向其他客户端的数据请求,且断掉本客户端的内存中的已 有数据为其他客户端的服务,以及本客户端根据关键帧(I帧)索引和已有数据来确定数据请求策略,以避免P2P式点播的播放操作对其他客户端产生的不良影响,并实现更为有效的数据请求。图1是本专利技术P2P式点播的应用本文档来自技高网
...

【技术保护点】
一种P2P式点播中播放操作的实现方法,包括快进快退操作和/或拖动操作,其特征在于,所述快进快退操作或拖动操作包括步骤如下:A、本客户端停止向其他客户端的数据请求;B、断掉本客户端的内存中的已有数据为其他客户端的服务; C、本客户端根据关键帧索引以及本客户端中已有数据来确定数据请求策略。

【技术特征摘要】
1、一种P2P式点播中播放操作的实现方法,包括快进快退操作和/或拖动操作,其特征在于,所述快进快退操作或拖动操作包括步骤如下A、本客户端停止向其他客户端的数据请求;B、断掉本客户端的内存中的已有数据为其他客户端的服务;C、本客户端根据关键帧索引以及本客户端中已有数据来确定数据请求策略。2、 根据权利要求1所述的方法,其特征在于,所述步骤B中本客户端的 磁盘中的已有数据继续为其他客户端提供服务;所述步骤C中对于本客户端的内存和/或磁盘中已有数据将充分利用。3、 根据权利要求2所述的方法,其特征在于,所述快进快退操作包括 所述步骤A中,本客户端暂停向其他客户端的数据请求线程,而只启动对源服务器的数据请求线程;所述步骤C中,本客户端只向源服务器请求包含关键帧的数据块,而对 于本客户端的内存和/或磁盘中已有的包含关键帧的数据块则充分利用。4、 根据权利要求3所述的方法,其特征在于,所述快进快退操作的歩骤 C之后还包括动态调整播放指针的步骤对于两倍速的快进快退操作,本客户端不丢掉包含关键帧的数据块,并在 收到相应数据块后,只将该数据块中的关键帧送入解码器解码;对于四倍速的快进快退操作,本客户端间隔地丢掉一块包含关键帧的数据 块,并在收到相应数据块后,只将该数据块中的关键帧送入解码器解码;对于八倍速的快进快退操作,本客户端间隔地丢掉两块包含关键帧的数据 块,并在收到相应数据块后,只将该数据块中的关键帧送入解码器解码;对于十六倍速的快进快退操作,本客户端间隔地丢掉三块包含关键帧的数 据块,并在收到相应数据块后,只将该数据块中的关键帧送入解码器解码。5、 根据权利要求2所述的方法,其特征在于,所述拖动操作包括 所述步骤A中,本客户端将所有数据请求线程销毁;所述步骤C中,根据关键帧索引...

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

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

1