CN102006327A - 一种p2p流媒体点播系统及其数据传输方法 - Google Patents

一种p2p流媒体点播系统及其数据传输方法 Download PDF

Info

Publication number
CN102006327A
CN102006327A CN2010105592144A CN201010559214A CN102006327A CN 102006327 A CN102006327 A CN 102006327A CN 2010105592144 A CN2010105592144 A CN 2010105592144A CN 201010559214 A CN201010559214 A CN 201010559214A CN 102006327 A CN102006327 A CN 102006327A
Authority
CN
China
Prior art keywords
data
file
downloaded
node
time slot
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010105592144A
Other languages
English (en)
Inventor
张范
张智江
王明会
彭久生
乔自知
丁焰
李瞻
郭晓东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN2010105592144A priority Critical patent/CN102006327A/zh
Publication of CN102006327A publication Critical patent/CN102006327A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种P2P流媒体点播系统及其数据传输方法。所述方法,包括下列步骤:发布节点发布视频文件,并按照时间戳为文件建立数据切分信息表存储于缓存器中;P2P节点点播一个文件时,向发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表,建立自己的缓存管理器信息表,存储需要下载的文件的信息列表;P2P节点根据缓存管理器信息表,建立缓存管理器,管理缓存管理器信息表的数据,并管理存储实际的视频数据的缓存区域;P2P节点建立调度器,启动相关线程,产生线程对应的时间槽任务下载队列;调度器根据时间槽任务下载队列把需要下载的数据选出,选择一个可靠的传输源进行数据下载存储于缓存中。

Description

一种P2P流媒体点播系统及其数据传输方法
技术领域
本发明涉及网络多媒体技术领域,特别是涉及一种P2P流媒体点播系统及其数据传输方法。
背景技术
随着国际互联网和数字化技术的快速发展,P2P技术作为一种数字媒体内容分发技术得到了广泛应用。P2P是英文Peer-to-Peer的简称,又被称为“点对点”。“点对点”技术是一种网络新技术,不同于传统的C/S结构,P2P技术充分利用网络中用户的计算能力和带宽,而不是把服务需求都聚集在较少的服务器上,用户在下载的同时,也为其他用户提供上传服务,这种下载方式,人越多速度越快。一般来说,随着用户数的增加系统服务能力也会增强,具有很好的可扩展性和健壮性,并且部署和维护成本较低。
现有的P2P技术在进行数据传输时,是以流媒体文件大小为单位(通常是1MB),将文件统一切分为1MB大小的块,这样的好处是算法简单,只需获取文件的指针,然后将文件切为多个1MB大小的块,根据需要进行传输即可。但是这样的切分方法比较粗糙,在一个无序的P2P网络中,有时会出现因网络问题导致的掉包、丢帧、甚至块文件丢失等问题。
发明内容
本发明的目的在于提供一种P2P流媒体点播系统及其数据传输方法,其能够实现时间靠前的视频数据先下载的状态,尽可能地满足了客户要求多媒体数据实时播放的要求。
为实现本发明的目的而提供的P2P流媒体点播系统,包括多个P2P节点,每个P2P节点,包括:
视频文件切分模块,用于按照时间戳为视频文件建立数据切分信息表存储于缓存器中;
申请模块,用于在点播一个文件时,向发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表;
缓存管理器信息表模块,用于根据申请到的文件切分信息表,建立自己的缓存管理器信息表,存储需要下载的文件的信息列表;
缓存管理器,用于管理所述缓存管理器信息表的数据,并管理存储实际的视频数据的缓存区域;
时间槽任务下载队列模块,用于存储待下载文件的时间槽任务下载队列;
调度器,用于根据所述时间槽任务下载队列把需要下载的数据选出,调用相应线程,选择一个可靠的传输源进行数据下载存储于缓存中。
所述时间槽任务下载队列中的每个时间槽记录收到的帧数据的详细记录,未缓冲完毕的数据,只缓冲缺失数据帧。
对于已经下载了一部分视频数据但超时的情况,所述调度器则把未下载的信息打包,选择一个可靠的数据源进行数据下载。
为实现本发明的目的还提供P2P流媒体点播系统的数据传输方法,包括下列步骤:
步骤100.发布节点发布视频文件,并按照时间戳为所述文件建立数据切分信息表存储于缓存器中;
步骤200.P2P节点点播一个文件时,向所述发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表,建立自己的缓存管理器信息表,存储需要下载的文件的信息列表;
步骤300.所述P2P节点根据所述缓存管理器信息表,建立缓存管理器,管理所述缓存管理器信息表的数据,并管理存储实际的视频数据的缓存区域;
步骤400.所述P2P节点建立调度器,启动相关线程,产生所述线程对应的时间槽任务下载队列;
步骤500.所述调度器根据所述时间槽任务下载队列把需要下载的数据选出,选择一个可靠的传输源进行数据下载存储于缓存中。
所述步骤100,包括下列步骤:
步骤110.所述发布节点对RMVB和WMV的文件头的进行分析,得出各视频帧的准确时间点,各秒视频帧的数量,每个视频帧的持续时间以及各秒视频在文件中的准确位置;
步骤120.所述发布节点根据分析结果构造出所述视频文件的数据切分信息表。
所述步骤400,包括下列步骤:
步骤410.所述调度器启动线程,对所述缓冲管理器进行处理,产生需要缓存的时间槽,包括已经下载了几帧,还有几帧没有下载的时间槽数据.并存储于时间槽任务队列中;
步骤420.所述调度器启动线程,监控所述时间槽任务队列,选中一个未缓存或者没有缓存完毕的时间槽数据,将其安排给一个拥有此时间槽数据的P2P节点缓冲。
所述缓存管理器信息表储存于物理存储器中。
所述时间槽任务下载队列中的每个时间槽记录收到的帧数据的详细记录,未缓冲完毕的数据,只缓冲缺失数据帧。
对于已经下载了一部分视频数据但超时的情况,所述调度器则把未下载的信息打包,选择一个可靠的数据源进行数据下载。
本发明的有益效果是:
1.本发明在IPv6环境下,采用了根据统一的时间戳切分视频文件的方法,该时间戳以秒或其他固定时间段为单位将一个媒体文件切分为大小不一个文件块,这样使从某个peer获取数据时有了更小的切分单元,P2P下载达到了精细的效果,避免了重复下载导致的带宽和计算资源的浪费;
2.本发明在IPv6环境下,引入了时间轴信息列表的概念。该列表存储了一个媒体文件的时间轴信息,包括了文件中每一秒钟相对应的文件块的信息。获取时间轴信息列表后,节点就可以开始沿时间轴下载,保证了时间靠前的视频数据先下载的状态,尽可能的满足了客户要求多媒体数据实时播放的要求;
3.本发明采用缓冲管理器和调度管理器二者协调工作,两者相辅相成,实现数据与信令分开管理;
4.本发明结合对数据源进行选优,提高数据包的准确性,大大减少网络负担。
附图说明
图1是本发明的P2P流媒体点播系统的数据传输方法的步骤流程图
图2是本发明中建立数据切分信息表的步骤流程图;
图3是本发明中P2P节点建立时间槽任务下载队列的步骤流程图;
图4是本发明的P2P流媒体点播系统中各P2P节点的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种P2P流媒体点播系统及其数据传输方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的一种P2P流媒体点播系统及其数据传输方法,是采用在IPv6环境下利用P2P作为视频流传输的技术,采用时间轴向前推动的下载视频数据的模式,根据统一的按时间戳切分视频文件的规则,获取时间轴信息列表后,开始沿时间轴下载,保证了时间靠前的视频数据先下载的状态,尽可能地满足了客户要求多媒体数据实时播放的要求。
下面结合上述目标详细介绍本发明的P2P流媒体点播系统的数据传输方法,图1是本发明的P2P流媒体点播系统的数据传输方法的步骤流程图,如图1所示,所述方法,包括下列步骤:
步骤100.发布节点发布视频文件,并为所述文件建立数据切分信息表存储于缓存器中;
图2是本发明中建立数据切分信息表的步骤流程图,如图2所示,所述步骤100,包括下列步骤:
步骤110.所述发布节点对RMVB和WMV的文件头的进行分析,得出各视频帧的准确时间点,各秒视频帧的数量,每个视频帧的持续时间以及各秒视频在文件中的准确位置;
步骤120.所述发布节点根据分析结果构造出所述视频文件的数据切分信息表。
P2P下载一般都有一个文件切分的原则,但是P2P视频点播有一个实时性的问题,所以本发明以时间点切分文件,而且本发明切分到了具体的数据帧上,这样使从某个peer获取数据时有了更小的切分单元,使P2P下载达到了精细的效果,避免了重复下载导致的带宽和计算资源的浪费。
步骤200.P2P节点点播一个文件时,向所述发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表,建立自己的缓冲管理器(Buffer Manager,BM)信息表,存储需要下载的文件的信息列表;
当客户端选择一个频道(对应的是文件),会向拥有这个资源的发布节点或者其他拥有文件切分信息的节点申请这个数据切分信息表,根据这个文件切分信息表构造出初始的BM信息数据表,在初始状态下这个信息表所有的秒数据和秒数据对应的数据帧都处于未下载的状态。
步骤300.所述P2P节点根据所述BM信息数据表,建立缓冲管理器,管理所述BM信息表的数据,并管理存储实际的视频数据的缓存区域;
所述缓存区域针对这个BM信息表进行视频数据的缓存,所述BM信息表储存于物理存储器中(内存),存储高效;对于已经下载的视频数据存储于物理硬盘中,实际视频存储于物理硬盘可以保证每个客户端的可以分享的视频资源最大化,增强了P2P的效果。
较佳地,对于频繁读写硬盘伤硬盘的问题,本发明中设置了一定的物理内存来缓存一定的视频数据,并使下行的数据调度尽量命中于这个物理内存,避免了频繁读写硬盘。
步骤400.所述P2P节点建立调度器,启动相关线程,产生所述线程对应的时间槽任务下载队列;
图3是本发明中P2P节点建立时间槽任务下载队列的步骤流程图,如图3所示,所述步骤400,包括下列步骤:
步骤410.所述调度器启动线程,对所述缓冲管理器进行处理,产生需要缓冲的时间槽,包括已经下载了几帧,还有几帧没有下载的时间槽数据.并存储于时间槽任务队列中;
步骤420.所述调度器启动线程,监控所述时间槽队列,选中一个未缓冲或者没有缓冲完毕的时间槽数据,将其安排给一个拥有此时间槽数据的P2P节点缓存;
可用节点的选择,包括对其带宽判定数据的比较,服务能力的判定.根据这些参数进行择优出一个高效的节点,进行数据调度。为了防止重复调度数据,每个时间槽记录收到的帧数据的详细记录,未缓冲完毕的数据,只缓冲缺失数据帧。
步骤500.所述调度器根据所述时间槽任务下载队列把需要下载的数据(即播放视频所需的数据队列,比如包括需要第XX秒的数据,第YY秒的数据等等)选出,选择一个可靠的传输源(即步骤200中所述的发布节点或者其他拥有点播文件的文件切分信息的P2P节点)进行数据下载存储于缓存中;
所述P2P节点根据统一的按时间戳切分视频文件的规则,获取时间轴信息列表(即所述的BM信息表,里面包含了文件按时间点切割的文件信息)后,开始沿时间轴下载,保证了时间靠前的视频数据先下载的状态,尽可能的满足了客户要求多媒体数据实时播放的要求。
时间轴的每一秒的数据在进行切分成特定的数据包,每个包在本秒的时间戳内分成1,2,3,4,5…的内部序号,本秒的数据申请超时后(UDP丢包,和节点退出的都会导致超时),在进行时间调度时,本秒的接收状态被详细的标明,这时向其他节点或者上一个节点申请的时候将不会申请已收到的包数据号,避免了申请重复数据而浪费带宽。
在本步骤中,对于已经下载了一部分视频数据但超时的情况,所述调度器则把未下载的信息打包,选择一个可靠的数据源进行数据下载。
较佳地,由于整个P2P的网络是动态的无结构的分布式网络,整个网络的节点的服务能力、拥有的缓冲数据、带宽的即时数据和节点拥有的缓冲信息都是动态的,所以P2P节点需要即时更新这些信息,这对最高效的获取缓冲数据十分重要,本发明采用了推、拉传递结合使用的方法,让每个P2P节点即时向自己的友好节点更新自己的BM信息,保证自己的信息即时被相邻节点掌握.另外本发明还采用根据IP地址计算相近的节点的方法,在选择节点时进一步优化了选择。
较佳地,本发明的系统在进行P2P节点发现的过程中,是采用跳转的方法,当某一个节点得到申请加为相邻节点的请求后,会向自己的相邻节点介绍对方,为了防止无限制的跳转,本技术规定了最大的跳数,只要到达了这个跳数就不在跳转了,此方法保证了查找相邻节点的高效率,也保证了无休止的跳转。
作为一种可实施方式,本发明中的播放器采用HTTP协议向本机的HTTP服务申请视频数据,HTTP服务根据缓冲时间槽队列自动将缓冲完毕的视频数据压入到播放器。
相应于本发明的一种P2P流媒体点播系统的数据传输方法,还提供一种P2P流媒体点播系统,图4是本发明的P2P流媒体点播系统中各P2P节点的结构示意图,如图4所示,所述系统包括多个P2P节点,每个P2P节点,包括:
视频文件切分模块1,用于按照时间戳为视频文件建立数据切分信息表存储于缓存器中;
申请模块2,用于在点播一个文件时,向发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表;
缓存管理器信息表模块3,用于根据申请到的文件切分信息表,建立自己的缓存管理器信息表,存储需要下载的文件的信息列表;
缓存管理器4,用于管理所述缓存管理器信息表的数据,并管理存储实际的视频数据的缓存区域;
时间槽任务下载队列模块5,用于存储待下载文件的时间槽任务下载队列;
调度器6,用于根据所述时间槽任务下载队列把需要下载的数据选出,调用相应线程,选择一个可靠的传输源进行数据下载存储于缓存中。本发明的有益效果在于:
1.本发明在IPv6环境下,采用了根据统一的时间戳切分视频文件的方法,该时间戳以秒或其他固定时间段为单位将一个媒体文件切分为大小不一个文件块,这样使从某个peer获取数据时有了更小的切分单元,P2P下载达到了精细的效果,避免了重复下载导致的带宽和计算资源的浪费;
2.本发明在IPv6环境下,引入了时间轴信息列表的概念。该列表存储了一个媒体文件的时间轴信息,包括了文件中每一秒钟相对应的文件块的信息。获取时间轴信息列表后,节点就可以开始沿时间轴下载,保证了时间靠前的视频数据先下载的状态,尽可能的满足了客户要求多媒体数据实时播放的要求;
3.本发明采用缓冲管理器和调度管理器二者协调工作,两者相辅相成,实现数据与信令分开管理;
4.本发明结合对数据源进行选优,提高数据包的准确性,大大减少网络负担。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。

Claims (9)

1.P2P流媒体点播系统,其特征在于,所述系统包括多个P2P节点,每个P2P节点,包括:
视频文件切分模块,用于按照时间戳为视频文件建立数据切分信息表存储于缓存器中;
申请模块,用于在点播一个文件时,向发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表;
缓存管理器信息表模块,用于根据申请到的文件切分信息表,建立自己的缓存管理器信息表,存储需要下载的文件的信息列表;
缓存管理器,用于管理所述缓存管理器信息表的数据,并管理存储实际的视频数据的缓存区域;
时间槽任务下载队列模块,用于存储待下载文件的时间槽任务下载队列;
调度器,用于根据所述时间槽任务下载队列把需要下载的数据选出,调用相应线程,选择一个可靠的传输源进行数据下载存储于缓存中。
2.根据权利要求1所述的P2P流媒体点播系统,其特征在于,所述时间槽任务下载队列中的每个时间槽记录收到的帧数据的详细记录,未缓冲完毕的数据,只缓冲缺失数据帧。
3.根据权利要求1所述的P2P流媒体点播系统,其特征在于,对于已经下载了一部分视频数据但超时的情况,所述调度器则把未下载的信息打包,选择一个可靠的数据源进行数据下载。
4.P2P流媒体点播系统的数据传输方法,其特征在于,包括下列步骤:
步骤100.发布节点发布视频文件,并按照时间戳为所述文件建立数据切分信息表存储于缓存器中;
步骤200.P2P节点点播一个文件时,向所述发布节点或者其他拥有点播文件的文件切分信息的P2P节点申请相应的文件切分信息表,建立自己的缓存管理器信息表,存储需要下载的文件的信息列表;
步骤300.所述P2P节点根据所述缓存管理器信息表,建立缓存管理器,管理所述缓存管理器信息表的数据,并管理存储实际的视频数据的缓存区域;
步骤400.所述P2P节点建立调度器,启动相关线程,产生所述线程对应的时间槽任务下载队列;
步骤500.所述调度器根据所述时间槽任务下载队列把需要下载的数据选出,选择一个可靠的传输源进行数据下载存储于缓存中。
5.根据权利要求1所述的P2P流媒体点播系统的数据传输方法,其特征在于,所述步骤100,包括下列步骤:
步骤110.所述发布节点对RMVB和WMV的文件头的进行分析,得出各视频帧的准确时间点,各秒视频帧的数量,每个视频帧的持续时间以及各秒视频在文件中的准确位置;
步骤120.所述发布节点根据分析结果构造出所述视频文件的数据切分信息表。
6.根据权利要求1所述的P2P流媒体点播系统的数据传输方法,其特征在于,所述步骤400,包括下列步骤:
步骤410.所述调度器启动线程,对所述缓冲管理器进行处理,产生需要缓存的时间槽,包括已经下载了几帧,还有几帧没有下载的时间槽数据.并存储于时间槽任务队列中;
步骤420.所述调度器启动线程,监控所述时间槽任务队列,选中一个未缓存或者没有缓存完毕的时间槽数据,将其安排给一个拥有此时间槽数据的P2P节点缓冲。
7.根据权利要求1所述的P2P流媒体点播系统的数据传输方法,其特征在于,所述缓存管理器信息表储存于物理存储器中。
8.根据权利要求1所述的P2P流媒体点播系统的数据传输方法,其特征在于,所述时间槽任务下载队列中的每个时间槽记录收到的帧数据的详细记录,未缓冲完毕的数据,只缓冲缺失数据帧。
9.根据权利要求1所述的P2P流媒体点播系统的数据传输方法,其特征在于,对于已经下载了一部分视频数据但超时的情况,所述调度器则把未下载的信息打包,选择一个可靠的数据源进行数据下载。
CN2010105592144A 2010-11-24 2010-11-24 一种p2p流媒体点播系统及其数据传输方法 Pending CN102006327A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010105592144A CN102006327A (zh) 2010-11-24 2010-11-24 一种p2p流媒体点播系统及其数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010105592144A CN102006327A (zh) 2010-11-24 2010-11-24 一种p2p流媒体点播系统及其数据传输方法

Publications (1)

Publication Number Publication Date
CN102006327A true CN102006327A (zh) 2011-04-06

Family

ID=43813396

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105592144A Pending CN102006327A (zh) 2010-11-24 2010-11-24 一种p2p流媒体点播系统及其数据传输方法

Country Status (1)

Country Link
CN (1) CN102006327A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101242430A (zh) * 2008-02-22 2008-08-13 华中科技大学 对等网络点播系统中的定点数据预取方法
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法
CN101795297A (zh) * 2010-03-19 2010-08-04 北京天天宽广网络科技有限公司 基于p2p技术的直播时移系统及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101282281A (zh) * 2007-04-03 2008-10-08 华为技术有限公司 一种媒体分发系统、装置及流媒体播放方法
CN101242430A (zh) * 2008-02-22 2008-08-13 华中科技大学 对等网络点播系统中的定点数据预取方法
CN101795297A (zh) * 2010-03-19 2010-08-04 北京天天宽广网络科技有限公司 基于p2p技术的直播时移系统及其方法

Similar Documents

Publication Publication Date Title
US8880650B2 (en) System and method for storing streaming media file
KR101359081B1 (ko) 성능 인식 p2p 콘텐트 온 디맨드
CN103002274B (zh) 一种基于离线下载的移动多媒体实时转码播放系统及方法
CN106685942B (zh) 视频直播回播系统以及视频直播回播方法
CN102474504B (zh) 为内容分发网络提供各种采集和分发方式支持的系统和方法
AU2003262470B2 (en) Peer-to-peer content broadcast transfer mechanism
US7991906B2 (en) Method of data request scheduling in peer-to-peer sharing networks
CN101287107B (zh) 媒体文件的点播方法、系统和设备
CN102714662B (zh) 用于http媒体流分发的方法和装置
EP2383941B1 (en) Client terminal, method and system for downloading streaming media
US20080037527A1 (en) Peer-to-Peer Interactive Media-on-Demand
CN106791889B (zh) 一种视频处理方法及系统、分布式对象存储系统
WO2013159703A1 (en) Offline download method, multimedia file download method and system thereof
CN101127989A (zh) 一种支持手机超文本传输流媒体业务的方法
CN102510395A (zh) 一种基于P2SP的flash视频调度方法
Wang et al. A joint online transcoding and delivery approach for dynamic adaptive streaming
CN103108008A (zh) 一种下载文件的方法及文件下载系统
US20160381127A1 (en) Systems and methods for dynamic networked peer-to-peer content distribution
CN107124668A (zh) 流式传输装置及方法、流式传输服务系统及记录介质
JP2012520004A (ja) ピアツーピアネットワークにおける優先順位付けのための方法及び装置
CN113992942A (zh) 视频的拼接方法及装置、计算机存储介质
Kumar et al. Edge assisted DASH video caching mechanism for multi-access edge computing
Das et al. Popularity-based caching for IPTV services over P2P networks
CN101110844B (zh) 一种节目片段预取方法及一种对等网络节点
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110406