专利名称:基于p2p技术的视频网络中的内容分发与存储系统及其方法
技术领域:
本发明属于信息传输、互联网音视频应用以及分布式存储领域,特别涉及基于点到点 (Peer to Peer,以下称为P2P)技术的视频内容智能分发以及存储的方法。
背景技术:
互联网业务飞速发展,内容服务提供商的系统已经开始从静态网站向动态网站过渡, 并且出现了大量的专业视频网站。视频内容对数据传输的时延要求非常强,在客户端播放 网络音视频内容过程中,当客户端播放软件发现缓冲区中的音视频数据大于规定的阀值 后,播放器就开始播放音视频内容,不论接收到的音视频内容是否完整,播放器都会按照 时间顺序进行播放, 一旦数据接收的速度小于数据播放的速度时,就导致了客户端播放器 出现丢帧或中断现象,影响收看的质量。
为了能够支持视频业务的大规模应用,出现了 CDN和P2P技术。
CDN全名为内容分发网络,其业务核心是在全国建立边缘节点,当客户端申请服务时, CDN系统将用户引导到距离用户最近的边缘节点上,由这个边缘节点为客户端提供服务。 CND方式縮短了客户端与内容发送服务器之间的传输距离,提高了传输质量,但是CDN方 式的缺点是单客户端资源成本高,支持客户端的数量有限,目前大型的CDN网络,支持并 发音视频用户数量不超过20万。
P2P技术是针对CDN技术成本高,支持用户数量少的缺点而建立的,其目的是利用客 户端的资源,降低服务器端的资源成本,但是P2P技术的缺点是,网络架构非常松散,PEER 点之间关系复杂,不利于管理。
P2P技术的特点是,客户端需要一段比较长的缓冲时间,也就是说需要在客户端设置 一个比较大的内存缓冲区,这个内存缓冲区有两个作用 一个是缓冲足够的音视频内容, 保证音视频内容播放的流畅性;另外一个是缓冲足够的音视频内容,为其他客户端节点提 供音视频数据,达到P2P的效果。由于有足g大的内存缓冲区,可以存储一段时间的音视 频内容,通常为2至10分钟,这样就保证播放初期的流畅性。
P2P技术的另外一个特点是,在音视频业务开展初期,用户数量少,无法实现P2P功 能,这时音视频服务对服务器需求比较高,并且在业务开展过程中也存在用户数量的变化, 服务器资源的需求处于动态变化,哪么采用何种策略能够提供用户收视质量,同时提高服 务器资源的利用率,就成为了一个需要研究的问题。
发明内容
本发明的目的就是要克服己有技术中的不足之处,提出一种基于P2P技术的视频网络 中的内容分发与存储系统及其方法,本发明通过对分布式存储系统各个子存储模块资源使 用情况的状态监控,智能化调整各个子存储模块的负载情况,实现负载均衡,提高网络及 存储资源的使用效率。通过对客户端收视质量的监控,动态调整网络资源的分配情况,提 高收视质量。
本发明提出的基于P2P技术的视频网络中的内容分发与存储系统,其特征在于,该系 统包括核心存储模块,资源调度模块,内容索引模块,分布式子存储模块,客户端模块; 各模块间的连接关系为-
核心存储模块,用于存储全部的音视频内容,分布式子存储模块上的音视频内容从该 核心存储模块中下载;
资源调度模块,用于产生控制命令,通过该控制命令控制分布式子存储模块从核心存
储模块中下载音相应视频内容;
内容索引模块,保存和维护音视频内容在各分布式子存储模块中的对应关系的资源存 储列表;
分布式子存储模块,用于为用户端提供下载的音视频内容。 客户端模块,用于下载和播放音视频内容。 本发明采用上述系统实现的方法,包括基于负载平衡的智能存储和分发方法、基于收 ^!质量的存储和分发方法、子存储模块至客户端基于P2P的数据分发方法和子存储模块之 间基于P2P的数据分发方法。 本发明的特点及技术效果-
本发明采用了基于P2P技术对传统的文件分发和存储系统进行改造。首先将文件进行 P2P打包,将一个整文件分解成多个小的数据包。这样在系统传输过程中,不是一次传输 整文件,而是传输小数据包,通过对分布式存储系统各个子存储模块资源使用情况的状态 监控,智能化调整各个子存储模块的负载情况,实现负载均衡,提高网络及存储资源的使 用效率。由于在数据传输过程中,采用多点对单点及多点对多点的数据传输方式,提高带 宽使用效率,縮短数据传输的时间。 一旦传输过程出现故障时,不需要重传整个文件,只 需要重传出现差错的部分数据包,减少了传输时间。
同时增加资源调度模块,通过分析从子存储模块收集到的资源使用情况和客户端收视 质量情况,智能化调度存储系统,调整相关内容在存储系统中的资源分配情况,提高资源 利用效率,同时提高客户端的收视质量。
图1是本发明的系统构成示意图。
图2是本发明的基于负载平衡的存储和分发方法工作流程图。
图3是本发明的基于收视质量的存储和分发工作流程图。
图4是本发明的子存储模块至客户端基于P2P的数据分发工作流程图。
图5是本发明的各子存储模块之间基于P2P的数据分发工作流程图。
具体实施例方式
本发明提出的一种基于P2P技术的在视频网络中的内容的分发与存储系统及其方法,
结合附图及实施例详细说明如下
本发明的系统组成如图1所示包括核心存储模块20,资源调度模块30,内容索引 模块60,分布式子存储模块70,客户端模块80,共五个模块,各模块间的连接关系为
核心存储模块20,用于存储全部的音视频内容,分布式子存储模块上的音视频内容从 该核心存储模块中下载;
资源调度模块30,用于产生控制命令,通过该控制命令控制分布式子存储模块从核心 存储模块中下载音相应视频内容; ,
内容索引模块60,保存和维护音视频内容在各分布式子存储模块中的对应关系的资源 存储列表;
分布式子存储模块70,用于为用户端提供下载的音视频内容。 客户端模块80,用于下载和播放音视频内容。
采用上述系统实现的方法,包括基于负载平衡的智能存储和分发方法、基于收视质量 的存储和分发方法、子存储模块至客户端基于P2P的数据分发方法和子存储模块之间基于 P2P的数据分发方法,分别说明如下
本发明提出的基于负载平衡的存储和分发方法,如图2所示,包括以下步骤
1)分布式子存储模块查询自身的资源使用情况(包括但不局限于下面所涉及的方面:
存储空间使用情况,带宽使用情况,处理器使用情况,视频内容数量),然后将资源使用
情况发送到资源调度模块;
2) 资源调度模块根据收集到的各个子存储模块的信息,制定动态调度命令,调度命 令包括每个子存储模块需要下载哪个音视频内容;
3) 子存储模块接收到调度命令后,从核心存储模块中下载指定的视频内容;
4) 视频内容下载完毕后,子存储模块向资源调度模块发送资源使用情况,同时子存 储模块向内容索引模块提交资源存储列表。
本发明提出的基于收视质量的存储和分发方法,如图3所示,包括以下步骤
1) 客户端监控收视质量,当收视质量低于设定的阀值后(客户端实际接收音视频数 据帧速度除以音视频数据帧规定速度就是收视质量,本实施例将阀值定义为0.9),客户端 向内容索引模块提交质量报告;
2) 内容索引模块收集所有客户端提交的质量报告,在一设定时刻(例如每天零时)统计各音视频内容的收视质量报告数量,然后按收视质量报告数量从多到少排列,制作质 量统计报告发送给资源调度模块;该统计报告中包括M个收视质量最差的音视频内容的 名称(根据分布式子存储模块的数量确定M的值,分布式子存储模块数量多则可M取值大, M为自然数,例如IO),及M个音视频内容在对应的分布式子存储模块中的存储列表;
3) 资源调度模块接收到内容索引模块提交质量报告,综合如下几个信息收视质量 最差的M个音视频内容的名称,M个音视频内容在对应的分布式子存储模块中的存储列表, 目前各个分布式子存储模块的资源使用情况;生成音视频资源调度命令,该调度命令包括 以下信息哪个分布式子存储模块需要从核心存储模块中下载哪些音视频内容,并将此调 度命令下发到对应的子存储模块中;
4) 当某个存储模块接收到调度命令后,从核心存储模块中下载指定的视频内容(存 储某个音视频内容的子存储模块数量的增加,可以改善这个音视频内容的收视质量);
5) 视频内容下载完毕后,该子存储模块向资源调度模块发送更新信息,该更新信息 包括该子存储模块更新了哪些音视频内容,内容索引模块根据这些更新信息更新资源存 储列表;
6) 当客户端请求视频内容时,内容索引模块将更新后的资源存储列表提交给客户端。
本发明提出的子存储模块至客户端基于P2P的数据分发方法,如图4所示,包括以下步
骤
1) 视频内容经过P2P编码,分成多个小数据包(各小数据大小可基本相同的),数据 传输过程中传输这些小数据包(而不是全部视频内容);
2) (由于视频内容以小数据包形式分别存储于多个子存储模块中)当客户端需要视频 内容K时(K代表任意一个视频内容),客户端模块首先向内容索引模块申请,请求音视频 内容K;
3) 内容索引模块将包含有音视频内容K的资源存储列表返回给客户端,内容存储列 表标明音视频内容K所包含所有小数据包存储在哪些子存储模块中(如音视频内容K存储 在子存储模块2,5,7中);客户端得到资源存储列表之后,与这些子存储模块(例如2, 5, 7)分别建立数据链路,并向这些子存储模块分别申请不同部分的小数据包(例如向子存 储模块2申请音视频内容K的第1, 2部分小数据包,向子存储模块5申请音视频内容K 的第3, 4部分小数据包,向子存储模块7申请音视频内容K的第5, 6部分小数据包等);
4) (由于各链路的传输速率不同,小数据包到达客户端的顺序不同)客户端模块首先 对接收到的小数据包重新排序组合以恢复成音视频内容K,然后播放视频内容。
本发明提出的子存储模块之间基于P2P的数据分发方法,如图5所示,包括以下步骤
1) 视频内容经过P2P编码后,生成多个小数据包(各小数据大小可基本相同的),数 据传输过程中传输所述小数据包(而不是全部视频内容);
2) 子存储模块N (N表示任意一个子存储模块)接收到资源调度命令,要求子存储模块N下载音视频内容K;(由于视频内容以小数据包形式分别存储于多个子存储模块中)子 存储模块N向内容索引模块申请,请求音视频内容K;
3) 内容索引模块将包含音视频内容K的资源存储列表返回给子存储模块N,内容存储 列表标明音视频内容K所包含所有小数据包存储在哪些子存储模块中(如音视频内容K存 储在子存储模块2,5,中;核心存储模块中包含了所有的音视频内容,因此也包含音视频内 容K,此时核心存储模块与子存储模块的功能相同,因此将核心存储模块看作是子存储模 块7);子存储模块N得到资源存储列表之后,与这些子存储模块(例如2, 5, 7)分别建 立数据链路,并向这些子存储模块分别申请不同部分的小数据包(例如向子存储模块2申 请音视频内容K的第1, 2部分小数据包,向子存储模块5申请音视频内容K的第3, 4部 分小数据包,向子存储模块7即核心存储模块申请音视频内容K的第5, 6部分数据等);
4) (由于各链路的传输速率不同,小数据包到达子存储模块N的顺序不同)子存储模 块N首先对接收到的小数据包重新排序组合以恢复成音视频内容K,然后才能播放视频内 容。
权利要求
1、一种基于P2P技术的视频网络中的内容分发与存储系统,其特征在于,该系统包括核心存储模块,资源调度模块,内容索引模块,分布式子存储模块,客户端模块;各模块间的连接关系为核心存储模块,用于存储全部的音视频内容,分布式子存储模块上的音视频内容从该核心存储模块中下载;资源调度模块,用于产生控制命令,通过该控制命令控制分布式子存储模块从核心存储模块中下载音相应视频内容;内容索引模块,保存和维护音视频内容在各分布式子存储模块中的对应关系的资源存储列表;分布式子存储模块,用于为用户端提供下载的音视频内容。客户端模块,用于下载和播放音视频内容。
2、 一种基于P2P技术的视频网络中的内容分发与存储方法,其特征在于,该方法为 基于负载平衡的存储和分发,具体包括以下步骤-1)分布式子存储模块查询自身的资源使用情况,然后将资源使用情况发送到资源调 度模块;2) 资源调度模块根据收集到的各个子存储模块的信息,制定动态调度命令,调度命 令包括每个子存储模块需要下载哪个音视频内容;3) 子存储模块接收到调度命令后,从核心存储模块中下载指定的视频内容;4) 视频内容下载完毕后,子存储模块向资源调度模块发送资源使用情况,同时子存 储模块向内容索引模块提交资源存储列表。
3、 如权利要求2所述方法,其特征在于,所述步骤l)中资源使用情况包括存储空 间使用情况,带宽使用情况,处理器使用情况,视频内容数量。
4、 一种基于P2P技术的视频网络中的内容分发与存储方法,其特征在于,该方法为 基于收视质量的存储和分发,具体包括以下步骤1) 客户端监控收视质量,当收视质量低于设定的阀值后,客户端向内容索引模块提 交质量报告; '2) 内容索引模块收集所有客户端提交的质量报告,在一设定时刻统计各音视频内容 的收视质量报告数量,然后按收视质量报告数量从多到少排列,制作质量统计报告发送给 资源调度模块;该统计报告中包括M个收视质量最差的音视频内容的名称,及M个音视 频内容在对应的分布式子存储模块中的存储列表,M为自然数;3) 资源调度模块接收到内容索引模块提交质量报告,综合如下几个信息收视质量 最差的M个音视频内容的名称,M个音视频内容在对应的分布式子存储模块中的存储列表, 目前各个分布式子存储模块的资源使用情况;生成音视频资源调度命令,该调度命令包括 以下信息哪个分布式子存储模块需要从核心存储模块中下载哪些音视频内容,并将此调 度命令下发到对应的子存储模块中;4) 当某个存储模块接收到调度命令后,从核心存储模块中下载指定的视频内容;5) 视频内容下载完毕后,该子存储模块向资源调度模块发送更新信息,该更新信息 包括该子存储模块更新了哪些音视频内容,内容索引模块根据这些更新信息更新资源存 储列表;6) 当客户端请求视频内容时,内容索引模块将更新后的资源存储列表提交给客户端。
5、 一种基于P2P技术的视频网络中的内容分发与存储方法,其特征在于,该方法为子存储模块至客户端基于P2P的数据分发,具体包括以下步骤1) 视频内容经过P2P编码,分成多个小数据包,数据传输过程中传输这些小数据包;2) 当客户端需要视频内容K时,客户端模块首先向内容索引模块申请,请求音视频内 容K, K表示任意一个视频内容;3) 内容索引模块将包含有音视频内容K的资源存储列表返回给客户端,内容存储列 表标明音视频内容K所包含所有小数据包存储在哪些子存储模块中;客户端得到资源存储列表之后,与这些子存储模块分别建立数据链路,并向这些子存储模块分别申请音视频内容K的不同部分的小数据包;4) 客户端模块首先对接收到的小数据包重新排序组合以恢复成音视频内容K,然后播 放视频内容。
6、 一种基于P2P技术的视频网络中的内容分发与存储方法,其特征在于,该方法为 子存储模块之间基于P2P的数据分发,具体包括以下步骤1) 视频内容经过P2P编码后,生成多个小数据包,数据传输过程中传输所述小数据包;2) 子存储模块N接收到资源调度命令,要求子存储模块N下载音视频内容K;子存储 模块N向内容索引模块申请,请求音视频内容K, N表示任意一个子存储模块或核心存储模 块;3) 内容索引模块将包含音视频内容K的资源存储列表返回给子存储模块N,内容存储 列表标明音视频内容K所包含所有小数据包存储在哪些子存储模块中;子存储模块N得到 资源存储列表之后,与这些子存储模块分别建立数据链路,并向这些子存储模块分别申请 音视频内容K的不同部分的小数据包;4) 子存储模块N首先对接收到的小数据包重新排序组合以恢复成音视频内容K,然后 播放视频内容。
全文摘要
本发明涉及基于P2P技术的视频网络中的内容分发与存储系统及其方法,属于信息传输、互联网音视频应用以及分布式存储领域;该系统包括核心存储模块,资源调度模块,内容索引模块,分布式子存储模块,客户端模块;采用该系统实现的方法,包括基于负载平衡的智能存储和分发方法、基于收视质量的存储和分发方法、子存储模块至客户端基于P2P的数据分发方法和子存储模块之间基于P2P的数据分发方法。本发明通过对分布式存储系统各个子存储模块资源使用情况的状态监控,智能化调整各个子存储模块的负载情况,实现负载均衡,提高网络及存储资源的使用效率。通过对客户端收视质量的监控,动态调整网络资源的分配情况,提高收视质量。
文档编号H04N7/24GK101198046SQ20071030375
公开日2008年6月11日 申请日期2007年12月21日 优先权日2007年12月21日
发明者赵树乔 申请人:北京天天宽广网络科技有限公司