一种基于数据拆分技术实现p2p流媒体系统的方法

文档序号:7684104阅读:195来源:国知局
专利名称:一种基于数据拆分技术实现p2p流媒体系统的方法
技术领域
本发明涉及一种流媒体的实现方法,更具体地说,涉及一种依靠独有的拆 分方式改进P2P技术实现流4某体系统的方法。
背景技术
1. P2P的流媒体技术介绍当前P2P的流媒体技术为人们所重视,其主要使用方式包括软件加载、服 务器端信息注册、获得媒体资源信息,以及实现互连、数据传输和进一步的緩 冲播放。该技术具有两方面优势a、 不需要互联网路由器和网络基础设施的支持,因此性价比高且易于部署;b、 流媒体用户不只是下载々某体流,而且还把媒体流上栽给其他用户,因此, 这种方法可以扩大用户组的规模,且由更多的需求带来更多的资源。P2P流J;某体系统的网络结构,大部分系统都可以归类为计算机理论中树的方 法或概念。在这种方法中,节点被组织成某种传输数据的拓朴(通常是树,如图 1所示),每个数据分组都在同一拓朴上被传输。拓朴结构上的节点有明确定义 的关系,例如,树结构中的"父节点-子节点"关系。这一方法是典型的推送方 法,即当节点收到数据包,它就把该数据包的拷贝转发到它的每一个子节点。图1中,上面网状结构中的父节点,也就是整个树状结构的最顶部,我们 称之为父节点服务器,其余的子节点,也就是树的枝叶部分,我们称之为peer或者peer服务器,每个peer都是由"c/s模式"客户端服务器共存的方式存在,既下栽又提供下载。2. P2P流媒体中的关键技术由于P2P流媒体系统中节点存在不稳定性,因此P2P流々某体系统需要在媒 体流定位技术、节点选择技术、容错以及安全机制方面有所突破。A、 媒体流定位基于目录的P2P流媒体点播系统,其媒体文件的查找方式 是通过目录服务器来维护所有媒体服务器信息和客户信息(包括IP地址、緩冲 大小等)。当新客户的请求到达时,在目录中查找请求的媒体文件,快速返回侯 选节点,侯选节点可以是媒体服务器,也可以是可提供该影片片段的客户,从 而具有P2P的特性。B、 节点的选择在一个典型的P2P覆盖网络中,网络中的节点来自各个不 同自治域,节点可以在任一时间自由地加入或离开覆盖网络,导致覆盖网络具 有很大的动态性和不可控性。因此,如何在服务会话初始时,确定一个相对稳 定的可提供一定服务质量(QoS)保证的服务节点或节点集合是P2P流媒体系统迫 切需要解决的问题。C、 容错机制由于P2P流媒体系统中节点的动态性,正在提供服务的节点 可能会离开系统,传输链路也可能因拥塞而失效。为了保证接受服务的连续性, 必须采取一些容错机制使系统的服务能力不受影响或尽快恢复D、 安全机制网络安全是P2P流媒体系统的基本要求,必须通过安全领域 的身份识别认证、授权、数据完整性、保密性和不可否认性等技术,对P2P信 息进行安全控制。对产权的控制,现阶段可采用DRM技术控制;对于基于企业 级的P2P流媒体播出系统可以安装防火墙阻止非法用户访问;因特网上的P2P 流i某体系统可以通过数据包加密方式保证安全。在P2P流i某体系统内,可采用用户分级授权的办法,阻止非法访问。3. P2P流媒体传输的问题数据传输是网络数据共享必不可少的组成部分,更是p2p软件成功与否的关 键所在。p2p软件最典型的产品是bt下载程序,bt下载就是最大化的共享了网 络数据。bt下载在传输部分的特点是只要求数据完整,时间观念不是很强。而 在线视频观看则是在bt下载的基础上提出了更高要求,不但要求数据完整,对 时间的要求也非常的严格,传输效率的高低也就变得额外的重要。网络传输效 率的高低会直接影响到视频的观看效果。最初的数据传输是直接从文件头开始传输, 一直传到文件尾部为止,显而 易见,这种传输方式非常脆弱,网络出现一点不稳定的状况就会导致传输失败, 会造成大量的数据需要重传,浪费时间和带宽不说,单一的传输方式速度也不 能够保证。再后来bt下载出现了, bt采用将文件分割成多个小块的方式,每个 小块都有自己的编号,下载时只要拿着一个描述了文件分割信息的文件就可以 从任意位置开始下载,同时支持多份同时下载。当发生某些异常情况时,如中 途停止传输,此时只需要重下没有下完的小块文件,已经下载完成的就不需要 重新下了,直到将描述文件上描述的所有小块下载完成,再4安照固定的顺序将 所有的文件连接在一起就可以了。 bt的传输方式较最初的下载方式有着很明显 优势,增加了断点续传,节省了带宽浪费,多点同时下载, -使得下载的速度更 快,也更稳定。由于bt下载的特点,只要求将文件完整传输即可,不要求时间, 所以bt在拆分文件的时候拆分的块数比较有限,没有将小块传输,多点传输的 思想贯彻到底,效率也就有所限制。4. 概念汇总服务器,如图l所示,包括子节点peer服务器和父节点服务器。流媒体,是指采用流式传输的方式在Internet/Intranet播-放的J 某体文件, 如音频、视频或其他多媒体文件。接收数据端,某一节点(peer)接收其他服务器提供的数据,该节点(peer) 称为接收数据端。发送数据端,某一服务器为其他peer节点提供数据,该服务器称为发送数 据端。本文中发送数据端既包括正在发送数据的节点,也包括相对接收数据端 可以发送数据的节点。发明内容本发明针对上述问题,设计了 一种将流媒体文件拆分成小块数据进行传输 的方法,从而利用小包代替大包,实现快速传输。在网络异常时,降低垃圾数 据,并增加了断点续传中"点"的准确度;最大能力的利用带宽资源,提高数 据传输的速度,从而最大限度的为视频播放提供保障。在现有技术的P2P流媒体系统一般都包括多个发送数据端和接收数据端。 实现过程大体为软件加载、信息注册、互联及传输流媒体文件,以及接收数 据端緩沖播放流媒体文件。本发明为了解决上述问题,设计了了一种基于数据 拆分技术实现P2P流媒体系统的方法,在传统P2P流媒体系统的过程中还包括 如下步骤(1) 拆分文件将发送数据端待发送的流媒体文件以每秒钟具有的帧数n为 基准拆分成n份小文件,依次编号为m,即m取l至n;其中,第m份小文件按 时间顺序存储流媒体文件中每秒内相应的第m帧数据。(2) 数据传输在接收数据端和发送数据端之间建立数据传输通道,传输n 份小文件。(3)緩冲播放接收数据端将緩冲下载的每一帧完整数据按播放顺序重新排 序后播j丈。上述实现PW流媒体系统的方法,其进一步改进在于,在数据传输过程中, 同一时间内接收数据端与1-4n个发送数据端建立数据传输通道,并选择p (p 《n)条用于分别传输上述n份小文件。优选方式下,接收数据端为每一份小文件与2-4个发送数据端建立数据传 输通道,选择其一用于传输该份小文件,此时其他通道作为"热备"用于快速 恢复断点续传。即当该条正在传输数据的通道终断时,2-4条中的其他一条通 道继续传输该份小文件。上述实现P2P流々某体系统的方法,其进一步改进还在于,数据传输过程中 要求每份小文件按顺序发送/接收数据。并且优选方式下,发送数据端将每一帧 的数据拆分成2-3块用于传送;相应的,在接收数据端为每一帧建立緩冲区用 于整合上述2-3块数据,整合成完整一帧的数据后进行緩冲播放。此外,本发明基于数据拆分技术实现P2P流媒体系统的方法,其进一步改 进还在于,在接收数据端,接收的某一份小文件,如第m份小文件,其数据量 较正常播放所需的数据量多60-180帧时(快出1-3分钟的插^文数据),此时, 需要中止第m份小文件的传输;而后待某一时刻重新继续下载该份小文件(这 一时刻的3-IO秒后将会需要第m份小文件中未下载的数据用于緩冲播放)。本发明基于数据拆分技术实现P2P流^ 某体系统的方法具有如下有益效果1、 采用小包传输,小而多的数据能够最大限度的利用了网络带宽,并且传 输速度更加稳定,为视频连续稳定的播放提供保障。2、 采用小包传输,在数据中断后续传时,能够更加精确地接续数据的位 置,提高了断点续传的效率,大大缩短了数据接续所需的时间。3、网络异常时,肯定会出现垃圾数据,采用小包传输可以有效的控制垃圾数据的产生,并有效降低了垃圾数据量,提高了网络传输的效率。


图1是现有技术P2P系统的网络结构示意图;图2是本发明拆分及传输流媒体文件的说明示意图。
具体实施方式
本发明在BT下载的基础上,对文件做了更加细致的拆分。现有技术P2P流 媒体系统的实现过程为P2P流媒体软件加载、信息注册、互联及传输流媒体文 件,以及在接收数据端緩冲播放流媒体文件。本发明在上述过程中,按照文件的播放时间拆分文件,有多少秒就拆成多 少份。此处的按秒分块粒度仍然较粗,可继续拆分,即将每秒钟的数据拆分成 "n"帧。n的大小取决于原媒体文件的播放速率(帧是媒体文件播放时的区分 单位;媒体文件播放时有多种格式,每种格式的播放速率是不同的,主要区分 以下几种12帧/每秒,24帧/每秒,30帧/每秒)。下文中n均表示流i某体文件 每秒钟具有的帧数,因此本发明首先将发送数据端流々某体文件以每秒钟具有的 帧数n为基准拆分成n份小文件,依次编号为m(l《nKn),并且第m份小文件 按时间顺序存储每秒内第m帧的数据。具体地说,拆分时按从前向后的顺序进行编号G……n-1,将每秒钟的第0 份按照时间顺序写成一个文件,以此类推,写成n个文件。Wi设此处拆分的文 件的播放速率是30帧/每秒,那么就需要将原文件拆分成30个小文件,如图2 所示拆分文件,每份小文件分别传输,图2中每份文件的传输,定义为一条"流"。当然,编号也可采用1……n或其他字母表示,均为等同的方式,只需保证某一 份小文件按时间顺序存储流媒体文件中每秒内相应帧的数据即可;如图2所示, 每条流对应的、文件中包括相应秒相应帧的数据。为了便于描述,此处定义两个名词"媒体流文件"和"流"。媒体流文件一一将原媒体文件,按照特定的拆分规则,拆分成多个文件, 每个文件称之为一个媒体流文件。拆分后媒体流文件的数量,则根据原文件的 每秒钟播放的帧数来确定,如24帧/每秒,拆分后就会形成24个文件,用0-23 来进行编号,加以区别。流一一在网络(tcp)传输的数据的过程中,数据就会向水一样不间断的流 向对方,此处为了形象将一个媒体文件称之为一条流。每条流的传输是相同的, 本文件中只说明 一条流的传输过程。拆分文件后,在接收数据端和发送数据端之间建立数据传输通道,传输n 份小文件;并且接收数据端将緩冲下载的每一帧完整数据按播放顺序重新排序 后播放。此外,优选方式下,在数据传输过程中,同一时间内接收数据端与1-4n 个发送数据端建立数据传输通道,并选择p ( p《n )条用于分别传输上述n份小 文件。最优方式为,选择其中n条通道同时分别传输上述n份小文件。当p小 于n时,意味着一个通道可以传送多份小文件,即一个通道包括了多条文件传 输"流",此时同样最好保证n条"流"同时分别传输n份小文件。优选方式下,在数据传输过程中每份小文件按顺序(相应的时间顺序)发 送/接收数据;并且发送数据端将每一帧的数据拆分成2-3块传输,在接收数据 端为每一帧建立緩冲区用于整合上述2-3块数据,整合成完整一帧的数据后进 行緩冲播放。上述拆分的原因是针对网络一见频制作的,将原文件拆分成n个小文件,在线观看时每秒钟只需要下载每个文件的一帧数据就可以完成播放,而一帧数据
大部分都在lk左右。也就说原本需要从一个文件每秒钟下载50k的数据来来支 持一秒钟的播放,现在改成了从n个文件平均下载50K。如果拆分后的n个文件 分别由n个人所持有,那么平均每个人每秒钟只需要提供很少的数据就可以支 持一秒钟的纟番;故。就算有时候1K的数据都不能够支持的时候,有种子服务器作 保证,通过以上的条件为视频的顺畅播放增加了种种的安全保证。
此外,优选方式下,上述接收数据端为每一份小文件与2-4个发送数据端 建立数据传输通道,同一时刻仅选择其中一条用于传输这份小文件形成一条 "流",此时其他通道作为"热备"用于快速恢复断点续传。即,当正在传输数 据的通道终断时,2-4条中的其他一条继续传输该份小文件,从而实现断点续 传功能,直至下载完毕。
此外,当n份小文件中的一份或多份的传输效率过快,即接收数据端接收 的某一份小文件其数据量较正常播放所需的数据量多出60-180帧时(快出1-3 分钟的播放数据)。此时,需要中止这些份小文件的传输,而后待某一时刻重新 继续下载这些份小文件,而这一时刻是其3-IO秒后将会需要这些份小文件中未 下载的数据用于緩沖播放。例如, 一般情况下, 一份小文件的传送速度1帧/秒 即可保证流媒体文件的正常播放,但是当某一时刻,緩沖区的某份小文件的数 量较正在播放的时刻快出1-3分钟数据即60-180帧,此时中止该份小文件传输。 如果快出l分钟,则在50-57秒之后继续利用原通道或其他通道下载该^f分文件; 如果快出2分钟,则在110-117秒之后继续利用原通道或其他"热备"通道下 载该^除文件;如果快出3分钟,则在170-177秒之后继续下载该^盼文件.最优方 式为,选择2分钟为基准中断这条较快"流"的传输。
实施例参考图2,为了说明传输过程,分别从发送数据端和接收数据端两发送数据端每次从文件中读取数据时,按照拆分时纪录的帧大小进行读 取,读入与帧相同大小的緩沖区。此处,为了实现小块数据快速传输的目的, 一帧的数据还会继续分解,拆分成指定的几个小块数据,优选方式下为2-3块, 在结束部分加上帧结束标记。每次发送数据时以块为单位发送,按拆分块时的 拆分顺序,每次发送一块,并按顺序发送。为了保证传输数据的安全性,底层 在实施传输时,会将udp协议传输包装成类似于tcp协议的安全传输(如发 送端发送数据时按照l, 2, 3, 4, 5的帧编号发送数据,对方接收时就肯定是l, 2, 3, 4, 5的顺序,可以出现丢失,如只接到了 1, 2, 3,肯定不会出现l, 2, 4, 3, 5或2, 1, 4, 3, 5等的情况)。传输控制部分只需要按照顺序将每一块 数据全部发送,底层传输就会保证对方能够按顺序接收。不必考虑中间数据丟 失的情况,如果中间出现发送失败的情况,那么可以确定这种情况是对方的网 络出现了问题,并且是属于网络断开等无法解决的网络异常问题,立即停止向 对方发送数据,并删除对方peer存在于本地的一切信息。
接收数据端接收数据时,按照拆分文件时纪录的帧大小来建立緩沖区, 每帧数据对应一个独立的緩冲区。此处的緩冲区的作用是将"隶属于一帧的多 个小块数据"还原成原来的帧数据。接收到标记了帧结束标记的块数据时,当 前帧数据整合完毕,开始下一帧数据整合,以此类推。由于传输层保证了数据 的接收顺序与对方的peer的发送顺序相同,不存在接收的两帧数据位置颠倒, 或中间数据丟失的情况,在整合帧数据时就非常简单了。假设从最开始的位置 接收,创建一个与帧大小相同的緩沖区,准备接收数据,最先接收的是第0帧 的数据,首先要求接收的数据隶属于第0帧,不符合要求,说明在传输层保障 传输顺序的前提下,对方出现了异常,断开连接,寻找其他的数据源下载。符合要求再继续判断这块数据是否有结尾块标记,没有,将块数据写入緩冲区,
等待接收下一块数据;有,说明当前帧数据接收完毕,将块数据写入緩沖区, 并将緩沖区提交到数据整合部分;创建一个新的緩沖区,等待接收下一帧数据, 过程同上,直至整个下载文件接收完毕为止。
数据整合部分以上描述了 一条流的传输过程,n条流的传输规则是相同的, 每条流接收到完整的一帧数据后,都会传递到统一的位置进行整合。之所以需 要整合是因为在文件拆分时,已经将原文件的数据排列顺序作了很大的改变, 无法直接传递给播放器,需要进行还原。还原的步骤是拆分的逆运算,将所有 的数据重新排列组合,如图2所示,从第0条流的第1帧数据开始,接着是第1
条流的第1帧数据,第2条流的第1帧数据,第3条流的第1帧数据,........,
第29条流的第1帧数据,第0条流的第2帧数据,第1条流的第2帧数据,第
2条流的第2帧数据,........第29条流的第2帧数据,第0条流的第3帧数据,
以此类推,直至文件结束。
本发明拆分文件时优选"以每秒钟具有的帧数n为基准",当然根据需要以 "以0. 5秒内具有的帧数n为基准"或"以2-3秒内具有的帧数n为基准"均 为相同构思方案,为等同方式,可以根据带宽的大小选择适用。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局 限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本 发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护 范围之内。
权利要求
1. 一种基于数据拆分技术实现P2P流媒体系统的方法,P2P流媒体系统包括多个发送数据端和接收数据端,其实现过程为软件加载、信息注册、互联及传输流媒体文件,以及接收数据端缓冲播放流媒体文件;其特征在于,上述过程包括如下步骤(S1)拆分文件将发送数据端待发送的流媒体文件以每秒钟具有的帧数n为基准拆分成n份小文件,依次编号为m,即m取1至n;其中,第m份小文件按时间顺序存储所述流媒体文件中每秒内相应的第m帧数据;(S2)数据传输在接收数据端和发送数据端之间建立数据传输通道,传输n份小文件;(S3)缓冲播放接收数据端将缓冲下载的每一帧完整数据按播放顺序重新排序后播放。
2、 根据权利要求1所述基于数据拆分技术实现P2P流媒体系统的方法,其 特征在于,所述(S2)步骤中,同一时间内,接收数据端与l-4n个发送数据端建 立数据传输通道,并选择p条用于分别传输所述n份小文件,其中p《n。
3、 根据权利要求2所述基于数据拆分技术实现P2P流媒体系统的方法,其 特征在于,接收数据端为每一份小文件与2-4个发送数据端建立数据传输通道, 选择其一用于传输该份小文件;当该条传输通道的终断传输时,选择其他通道中的一条,继续传输该份小文件。
4、 根据权利要求1-3任一所述基于数据拆分技术实现P2P流媒体系统的方 法,其特征在于,所述(S2)步骤中每份小文件按顺序发送/接收数据。
5、 根据权利要求4所述基于数据拆分技术实现P2P流媒体系统的方法,其 特征在于,所述(S2)步骤中,在发送数据端每一帧的数据拆分成2-3块传送; 在接收数据端为每一帧建立緩冲区用于整合所述2-3块数据,整合成完整一帧 的数据后进行所述(S3)步骤。
6、 根据权利要求1-3任一所述基于数据拆分技术实现P2P流媒体系统的方 法,其特征在于,在接收数据端,接收的第m份小文件的数据量较正常播放所 需的数据量多60-180帧时,即多出1-3分钟的播放数据时,中止第m份小文件 的传输;当某一时刻的3-10秒后即需要第m份小文件中未下载的数据用于播放 时,重新继续下载第m份小文件。
全文摘要
本发明公开了一种基于数据拆分技术实现P2P流媒体系统的方法,包括如下步骤(1)将发送数据端待发送的流媒体文件以每秒钟具有的帧数n为基准拆分成n份小文件,依次编号m,1≤m≤n;其中,第m份小文件按时间顺序存储流媒体文件中每秒内相应的第m帧数据。(2)在接收数据端和发送数据端之间建立数据传输通道,传输n份小文件。(3)接收数据端将缓冲下载的每一帧完整数据按播放顺序重新排序后播放。本发明实现的P2P流媒体系统能够最大限度的利用带宽,降低垃圾数据,保证了传输速度和视频的稳定播放;同时能够更精确地实现断点续传,提高续传效率。
文档编号H04L29/08GK101286976SQ200810011360
公开日2008年10月15日 申请日期2008年5月8日 优先权日2008年5月8日
发明者曲言威, 一 蒋 申请人:蒋 一;曲言威
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1