数据传输的方法

文档序号:7970098阅读:135来源:国知局
专利名称:数据传输的方法
技术领域
本发明涉及-一种计算机通信技术,尤其涉及一种P2P视频点播系统中数据传输的方法。
背景技术
V()D (Video On Demand视频点播)是在互联网上提供的一种交互式多媒体业务,可 以为住宅和商业用户提供单一接入通道,使他们可以点播远程视频节目。传统的V0D (视频点播)是采用C/S (客户机/服务器)连接模式提供点播(包括V0D和 时移电视)业务的。屮于1/0 (服务器输入/输出)"瓶颈"的限制, 一台服务器只能支持 有限的并发流(P数量级的并发流)。要解决十万、百万用户同时收看的问题,不仅需要 大量服务器,还需要极宽的网络带宽。客户机/服务器模式已经成为制约VOD发展的"瓶 颈"。目前,解决方法是体系结构向P2P (端对端)对等连接模式演化。P2P技术将许多用户 结合成--个网络,共享其中的带宽,共同处理其中的信息。与传统的客户机/服务器模式不 同,P2P工作方式中,每一个客户终端既是客户机又是服务器。现有技术中,对文件数据的切分传输一般按照数据块的大小进行切分,而且受设备内 存大小的限制,文件数据的大小会受到限制,很难将较大的文件数据切分成需要大小的数 据块。对于需要对影片播放时进行精确定位的情况,使用按照大小进行切分的方式己经无 能为力。另外,、需要对影片文件进行剪辑以获取自己需要的部分时,按照数据块的大小 进行切分的方式很难完成。 '发明内容本发明的目的是提供一种灵活、可靠的P2P V0D (视频点播)系统中进行数据传输的 方法,该方法按多种方式将数据切分成需要大小的数据块分别进行传输。 本发明的目的是通过以下技术方案实现的本发明的数据传输的方法,用于在P2P视频点播系统中实现数据传输,所述P2P视频点 播系统包括多个结点,所述多个结点之间通过P2P对等连接,用于实现数据的传输,包括步 骤A、 将P2P视频点播系统中的数据切分成多个数据块,每个数据块可在P2P视频点播系 统的结点之间单独传输;B、 对切分后的每--个数据块进行加密;C、 数据接收端从P2P视频点播系统中的不同结点中分别下载不同的数据块,并将所下 载的多个数据块组合成完整的数据。所述的歩骤A包括歩骤Al、确任所述数据的元数据的大小、位置及元数据信息,所述元数据信息包括所述数 据的特征信息;A2、对数据进行切分,所述切分的方式包括以下方式中的至少一种 按需要的数据块的大小进行切分; 按需要的数据块的持续时间进行切分; 按选择的切分位置进行切分。所述的歩骤A还包括,将切分后的数据块以及包含元数据信息的元数据块,按照它们 在数据中存在的时间上的先后顺序进行标号,并记录各个数据块的大小和持续时间。 所述的歩骤A还包括,对数据切分结束后删除原数据。 所述的歩骤B中,对数据块用MD5加密算法进行加密。所述的方法还包括步骤D、 将数据切分的相关信息构建消息对象,用于实现对数据的管理。所述的步骤D包括歩骤Dl、构建消息对象,所述的消息对象包括数据切分的相关信息;D2、将构建好的消息对象发送给媒体资源管理模块,媒体资源管理模块根据消息对象中的相关信息对数据进行管理。步骤D1中构建的消息对象包括以下信息数据文件的总大小和/或持续时间、切分后各个数据块的大小和/或持续时间、MD5摘要、序列号、元数据大小和位置。歩骤D1中构建的消息对象包括消息号,所述的消息号包含数据是否被正确切分的信息。进行步骤D2的同时,缓存所述的消息对象;且当消息对象发送失败时,重新发送消息对象。由上述本发明提供的技术方案可以看出,本发明所述的数据传输的方法,由于将媒体 数据切分成较小的块,使媒体终端与服务器之间进行数据交互的同时,也使不同的媒体终
端之间交换数据,这将大大提髙系统的吞吐量和可扩展性,也能充分利用带宽增加下载速 率。又由于数据的切分可按时间、按大小或者选择切分的方式进行切分,可得到所需大小 或者所需持续时问或者所需的特定部分的数据块,这样便于文件的传输,使系统增加了多 条下载通道,提高了下载速率,从而保证了影片或其它媒体文件的流畅播放。主要用于在P2P视频点播系统中实现数据传输,也用于在其它网络中实现数据传输。


图1为P2P视频点播系统的系统框图;图2为本发明数据数据传输的方法的主要流程图。
具体实施方式
本发明的数据传输的方法,主要用于在点对点P2P视频点播系统中实现数据传输,P2P 视频点播系统包括多个结点,多个结点之间通过P2P对等连接,用于实现数据的传输。如图1所示,P2P视频点播系统具体包括城域网媒体系统和三个驻地网媒体系统,其 中,驻地网媒体系统可以有多个,但至少有一个。由前端运营服务系统为视频点播系统提 供视频业务,所述前端运营服务系统包括MPC (媒体处理中心)和媒体资源管理模块等。所述的城域网媒体系统包括CMS (Center Media Server 中心媒体服务器)位于CNGI (中国下一代互联网)视 频点播系统的城域P2P网络中,为城域网结点提供媒体数据的下载服务;多个MDC (Media Distribute Cache Server 媒体分发缓存结点)位于CNGI视频点 播系统的第一级P2P网络(城域网)中,为城域网其他服务器提供媒体数据的下载服务;及多个隨S (l':dge Media Server边缘媒体服务器)位于CNGI视频点播系统的城域 P2P网络和局域P2P网络中,与城域P2P网的其他服务器交换数据并为驻地网用户提供媒体数 据服务。所述CMS与多个MDC之间及每个MDC与多个EMS之间通过P2P对等连接,所述多个MDC相互 之间、多个EMS相互之间通过P2P对等连接;所述CMS与多个EMS之间通过P2P对等连接。所述的每个驻地网媒体系统包括EMS和多个HMT (媒体终端),所述EMS与多个HMT之间 通过P2P对等连接,所述多个HMT相互之间通过P2P对等连接。这种体系结构将传统的V0D中心分发模式与P2P模型结合起来,形成优势互补性能完备 的P2PV0D服务结构。其特点在于媒体内容的储存和分发方式CMS(中心媒体服务器)存储所有的媒体数据 原本,其数据通过P2P方式分发到MDC(媒体分发缓存结点)和EMS(边缘媒体服务器)。CMS、 MDC与EMS组成P2PV0D媒体存储的第一级,即城域网P2P媒体内容分发与服务系统,EMS对驻 地网内的HMT提供P2P点播与目录服务,HMT进行VOD的同时提供一路转发,这样EMS和HMT构 成了P2PV0D媒体储存的第二级,即驻地网P2P媒体内容转发与服务系统。这些媒体储存和分 发的实体不仅可以在同层建立对等连接,还可以根据需要,跨层建立对等连接。本发明数据传输的方法应用于上述视频点播系统中,将媒体数据切分成较小的块,对 切分后的每一个数据块进行加密,然后,终端用户从P2P视频点播系统中的不同结点中分别 下载不同的数据块,并将所下载的多个数据块组合成完整的数据。使媒体终端HMT与EMS之 间进行数据交互的同时,也使不同的媒体终端HMT之间交换数据,这将大大提高系统的吞吐 量和可扩展性,也能充分利用带宽增加下载速率。如图2所示,具体包括以下步骤步骤21、对需要切分的数据进行数据源确认,用来得到数据切分所需的信息; 步骤22、将需要切分的数据切分成需要大小的数据块;可以按照需要的数据块的大小、需要持续时间或者在特定位置剪切指定大小或指定时 间的数据块;歩骤23、对切分后的每一个数据块进行加密,并得到各个数据块的摘要; 步骤24、对切分完毕的数据构建消息对象,用于实现对数据的管理。 消息对象包括数据文件的总大小、切分后各个数据块的大小,或持续时间、MD5摘要、序列号、元数据大小和位置等信息。上述的歩骤21中,进行数据源确认时包括确认所述的数据的元数据的大小、位置,及元数据信息,所述元数据信息包括所述数据的特征信息,主要包括以下信息所述数据的时间尺度、持续时间、图像模式、数据引用索引、压縮率、流类型、对象类型、缓冲区大小、最大比特率、平均比特率等。上面所说对数据源确认包括对数据源进行确认或解析,用以确定所述数据的有关信息,具体进行数据源确认的方法是在视频点播系统中,各种标准、各种格式的媒体数据经过MPC (媒体处理中心)处理之后统一得到QuickTime格式的媒体数据,根据QuickTime文件格式,利用数据源解析程 序,对这些影片数据进行解析,通过文件操作的方式得到媒体数据的元数据信息,主要包 括元数据的大小、位置及数据的timescale (时间尺度)、duration time (持续时间,毫秒 级)、graphics—mode (图像模式)、data—reference—index (数据引用索引)、压縮率、 stream—type (流类型)、object—type (对象类型)、缓冲区大小、max—bitrate (最大比特 率)、avg—bitrate (平均比特率)等各个原子的详细信息。这些信息供媒体数据切分、播放 时合并以及解码时使用。
上述的步骤22中对数据切分的方式包括以下方式中的至少一种按需要的数据块的大小进行切分;按需要的数据块的持续时间进行切分;按选择的切分位置进行切分。具体的切分方式为文件切分程序首先利用fstat()函数得到待切分文件的描述词,从描述词中得到以字 节为单位的totalstze (媒体数据的总大小)。根据数据源确认部分得到以字节为单位的 metasize (元数据的大小)和metalocation (位置),通过对文件进行操作,首先将元数据 按照大小单独切分出来。对剩下的数据的切分,根据不同的需求分为按大小、按时间和选择切分位置三种模式 进行分割。对于按需要的数据块的大小进行切分的模式,系统可以任意指定切分后的blocksize (数据块的大小,以字节为单位),这样如果元数据在媒体数据的开始或者在末尾,利用 (totalsize - metasize)/(blocksize),假设商是n,余数是t。则得到的总的块数就是 (n+l),前n块的大小为blocksize,第(n+l)块的大小为t,这种情况下切分后的数据块的数 目由媒体数据的总大小和指定的数据块的大小决定。对于按照时间进行切分的模式,即按需要的数据块的持续时间进行切分,可以指定任 意的时间,根据数据源确认部分得到的比特率,用二者的乘积得到切分后的每个数据块的 大小,这种模式和按大小切分模式的原理相似,需要在指出的是最后一块数据块的持续时 间可能与指定的数据块的持续时间不同。切分后的数据块的数目由数据总的持续时间以及 指定的切分后的数据块的持续时间决定。对于选择切分模式,只需要系统给出选择切分的位置以及指定的切分出来的数据块的 大小或时间就可以得到正确的切分结果。对于以上三种切分模式,在切分完成后最好将切分之前的完整的数据文件删除。切分后的数据块,以及包含元数据信息的元数据块,都按照它们在数据文件中存在的 时间上的先后顺序进行标号,同时记录各个数据块的大小和持续时间,以备播放时使用。上述的歩骤23中,对数据块用MD5加密算法进行加密。具体是,对文件切分部分得到 的包括元数据块的所有数据块,都用MD5进行加密,得到各个数据块的digest (摘要)并记 录下来。上述的歩骤24中具体包括以下步骤步骤23K构建消息对象;构建的消息对象包括源模块ID、源设备ID、目的模块]D、 目的设备ID及基本信息,并增加消息号。步骤232、将媒体数据的总大小、切分后各个数据块的大小或持续时间、MD5摘要、序
列号、元数据大小和位置等信息添加到消息对象中;步骤233、将构建好的消息对象发送给媒体资源管理模块。同时,缓存所述的消息对象;且当消息对象发送失败时,重新发送消息对象。具体构建消息对象的方法是,从本地机器的消息队列中取消息块,从中得到消息对 象,在该消息对象中得到srcModID (源模块ID)、 srcDevID (源设备ID) 、 dstModID (^的 模块ID)、 dstDevID (目的设备ID)(以上四个参数都是对于本地而言)以及消息号。判断 该消息号是否为触发启动媒体数据切分服务的消息号,如果不是,将继续取消息队列,如 果是,则启动切分服务模块,并记录源模块ID、源设备ID、目的模块ID和目的设备ID (以 上四个参数都是对于本地而言)等参数。利用P2P视频点播系统中设计的消息对象类,首先 利用源模块ID(srcMod[D)、源设备ID (srcDevID)、目的模块ID (dstModID) 、 H的设备 ID(dstDevID)(以h四个参数都是对于本地而言)以及基本信息增加消息号并创建消息对 象,然后按照事先定义好的接口规范将协议、版本、扩展、序列号、数据源确认部分和文 件切分部分以及数据块加密部分得到的文件名、编码格式、数据文件的总大小、元数据的 大小和位置、切分后的数据块的大小或持续时间以及各个数据块的MD5摘要,利用添加条目的方式添加到先前创建的消息对象中。完成消息对象的构建。最后将构建的消息对象发送 给媒体资源管理模块,同时缓存该消息对象,如果发送失败则重发。利用本发明丌发的程序对数据量较大的媒体数据进行按时间、按大小或者选择切分的 方式进行分割后,得到数据量小的文件块,这样便于文件的传输,使P2P系统的用户终端和 边缘媒体服务器之间以及各个用户终端之间进行交互。大大提高了系统的吞吐量和下载速 率,充分利用了本地的带宽,克服了C/S模型中传输带宽的瓶颈,也减少了服务器的压力。具体实施例,假设peerl、 peer2、 peer3、 peer4为P2P的四个对等端,即P2P视频点播 系统的四个结点,对等端peer5(这里包括EMS)拥有peerl要下载的影片,这时把peer5上的 影片被分成许多互不相交的数据块。peerl、 peer2、 peer3、 peer4随机的从peer5上下载数 据块,这样他们下载的数据块在很大程度上是互补的,从而,peerl就可以同时在peer2、 peer3 、 peer4和peer5上下载它所没有的数据块,同时peer 1上的数据块也同样可以被 peer2、 peer3和peer4下载。在这种模式下构造链接拓扑的时候一般采用"网(mesh)"而不 是"树(tree)"的方式,使得构造拓扑变得容易和可行。从上面的分析可以看出,系统中增加了多条下载通道,充分利用了本地的带宽,减少 了EMS的负担,增加了系统的吞吐量,也增大了下载速率,从而保证了影片的流畅播放。主 要用于在P2P视频点播系统中实现数据传输,也用于在其它网络中实现数据传输。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任 何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都 应涵盖在本发明的保护范围之内。
权利要求
1、一种数据传输的方法,用于在P2P视频点播系统中实现数据传输,所述P2P视频点播系统包括多个结点,所述多个结点之间通过P2P对等连接,用于实现数据的传输,其特征在于,包括步骤A、将P2P视频点播系统中的数据切分成多个数据块,每个数据块可在P2P视频点播系统的结点之间单独传输;B、对切分后的每一个数据块进行加密;C、数据接收端从P2P视频点播系统中的不同结点中分别下载不同的数据块,并将所下载的多个数据块组合成完整的数据。
2、 根据权利要求l所述的数据传输的方法,其特征在于,所述的步骤A包括歩骤Al、确任所述数据的元数据的大小、位置及元数据信息,所述元数据信息包括所述数 据的特征信息;A2、对数据进行切分,所述切分的方式包括以下方式中的至少一种 按需要的数据块的大小进行切分; 按需要的数据块的持续时间进行切分; 按选择的切分位置进行切分。
3、 根据权利要求2所述的数据传输的方法,其特征在于,所述的步骤A还包括,将切 分后的数据块以及包含元数据信息的元数据块,按照它们在数据中存在的时间上的先后顺 序进行标号,并记录各个数据块的大小和持续时间。
4、 根据权利要求l、 2或3所述的数据传输的方法,其特征在于,所述的歩骤A还包 括,对数据切分结束后删除原数据。
5、 根据权利要求l所述的数据传输的方法,其特征在于,所述的步骤B中,对数据块 用MD5加密算法进行加密。
6、 根据权利要求l所述的数据传输的方法,其特征在于,所述的方法还包括步骤D、 将数据切分的相关信息构建消息对象,用于实现对数据的管理。
7、 根据权利要求6所述的数据传输的方法,其特征在于,所述的步骤D包括歩骤 Dl、构建消息对象,所述的消息对象包括数据切分的相关信息;D2、将构建好的消息对象发送给媒体资源管理模块,媒体资源管理模块根据消息对象 中的相关信息对数据进行管理。
8、 根据权利要求7所述的数据传输的方法,其特征在于,步骤D1中构建的消息对象包 括以下信息数据文件的总大小和/或持续时间、切分后各个数据块的大小和/或持续时间、MD5摘 要、序列号、元数据大小和位置。
9、 根据权利要求7或8所述的数据传输的方法,其特征在于,步骤D1中构建的消息对 象包括消息号,所述的消息号包含数据是否被正确切分的信息。
10、 根据权利要求7所述的数据传输的方法,其特征在于,进行步骤D2的同时,缓存 所述的消息对象;且当消息对象发送失败时,重新发送消息对象。
全文摘要
本发明公开了一种数据传输的方法,用于在P2P视频点播系统中实现数据传输,包括步骤A.将P2P视频点播系统中的数据切分成多个数据块;B.对切分后的每一个数据块进行加密;C.数据接收端从P2P视频点播系统中的不同结点中分别下载不同的数据块,并将所下载的多个数据块组合成完整的数据。其中对数据进行切分,可以按需要的数据块的大小进行切分,或按需要的数据块的持续时间进行切分,或按选择的切分位置和数据块的大小或持续时间进行切分。并将数据切分的相关信息构建消息对象并发送给媒体资源管理模块,用于实现对数据的管理。是一种灵活、可靠的P2P视频点播系统中进行数据传输的方法。
文档编号H04N7/173GK101155296SQ200610140690
公开日2008年4月2日 申请日期2006年9月29日 优先权日2006年9月29日
发明者明 朱, 俊 李, 嵩 王, 赵兵选, 烇 郑 申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1