[发明专利]一种对视频信息进行分段下载均衡的方法有效
申请号: | 201110386745.2 | 申请日: | 2011-11-29 |
公开(公告)号: | CN102368833A | 公开(公告)日: | 2012-03-07 |
发明(设计)人: | 李茗;邵长松 | 申请(专利权)人: | 乐视网信息技术(北京)股份有限公司 |
主分类号: | H04N21/63 | 分类号: | H04N21/63;H04N21/643 |
代理公司: | 北京驰纳智财知识产权代理事务所(普通合伙) 11367 | 代理人: | 谢亮;马耀扬 |
地址: | 100026 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 视频 信息 进行 分段 下载 均衡 方法 | ||
技术领域
本发明涉及网络通信领域,具体涉及一种对视频信息进行分段下载均衡的方法。
背景技术
近年来,随着计算机网络的普及,互联网视频业务得到了高速的发展。各个视频网站的后端服务器中都存储了海量的视频或音频信息,并推出相应的网络电视供应客户端在线观看信息内容。为了保证及时播放信息,需要充分利用网络带宽进行快速下载,以提高客户端在线观看的流畅性。
传统的信息下载技术是单链接类型的,将要下载的信息在一个线程内与服务器建立一条TCP链接,利用所述TCP链接从头到尾遍历下载的信息对象,将其存入本地客户端。其客户端主机网络输入/输出端口吞吐量和时间的关系如图1所示,其中,横向坐标轴代表下载的时间,纵向坐标轴代表主机网络输入/输出端口吞吐量。
单链接类型下载的缺陷在于,由于操作系统内核的TCP缓冲区的存储容量有限,TCP滑动窗口会控制输入/输出流量,因此,虽然信息传输的过程较为稳定,但是网络输入/输出吞吐量远低于客户端输出口的网络带宽的大小,且如图1所示,无法继续提高,即当下载时间到t1时,吞吐量达到最大值max,然后吞吐量不在随着时间的增长继续线性增长,而是保持不变。
以网络视频业务为例,由于客户端播放网络视频时需要高码率(码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps,即千位每秒),例如720p、1080p的高清视频,传统的单链接下载容易导致视频无法保证播放的连续性。
因此,需要对传统的单链接类型进行改进,将服务器端要下载的文件从逻辑上切分为若干段,客户端与服务端同时建立多条链接,每条链接分别对应不同的文件段下载,总计使用的带宽为每条链接占用的带宽的累加,
在实现文件分段下载时,首先想到的是多线程方式,即每个线程负责一个文件块的下载。在单个CPU的情况下,多线程的“并发”只是逻辑上的“并发”,而不是物理上的“并发”。操作系统以轮换方式为每个线程分配时间片,并负责线程的调度。这些都是要耗费资源的。而且多线程技术涉及到竞争、互斥等问题,若处理不当非常容易导致逻辑上的错误。
发明内容
本发明的目的是提供一种对视频信息进行分段下载均衡的方法,有效地占用主机带宽,而且必须同时满足保证视频流畅播放并且保证多链路负载相对均衡。
现代的操作系统都在内核层级中提供了对I/O多路复用,即同一工作线程内多链路的支持。每条链路是独立的,都在做数据包的I/O处理,数据块在各自链路所属的用户空间缓冲区、内核空间缓冲区、网络协议栈发送缓冲区/接收缓冲区、网卡发送缓冲区/接收缓冲区之间来回拷贝。I/O多路复用在内核中基本都是以事件驱动、Reactor等技术实现,并向应用层提供了简单的接口,如linux中的epoll、select,windows中的IO完成端口等。因此从应用层编程的角度来说,单线程多链路是非常容易实现的,且简单易用,因为很多重要的工作都是由操作系统内核来处理。因此可以使用单线程多链路或多线程多链路的方式来替代多线程。
所述方法包括:
a)在客户端建立全局调度表,所述全局调度表包括已调度区和未调度区;
b)在所述客户端启动对服务器端视频信息的下载任务,获取所述服务器端视频信息的文件大小N’和视频码率,已经为文件分段大小指定一个最高的阈值U;
c)在所述客户端建立M条与所述服务器端的链接,M为正整数,且大于等于2;
d)在所述客户端为每条链接分配对应的第一个下载任务,将所述第一个下载任务指定下载的文件大小记为firstlen,此时,所述已调度区为:
[0,firstLen)负责对第一条链接上的第一个下载任务下载,
[firstLen,firstLen*2) 负责对第二条链接上的第一个下载任务下载,
[firstLen*2,firstLen*3) 负责对第三条链接上的第一个下载任务下载,以此类推,一直到,
[firstLen*(M-2),firstLen*(M-1)) 负责对第M-1条链接上的第一个下载任务下载,
[firstLen*(M-1),firstLen*M) 负责对链接M上的第一个下载任务下载,
未调度区为:
[firstLen*M,N’];
e)在所述客户端对每条链接上的数据进行下载,当第N(N大于等于1,且小于等于M)条链接上的所述第一个下载任务下载完毕后,计算所述第N条链接上的带宽;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于乐视网信息技术(北京)股份有限公司,未经乐视网信息技术(北京)股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110386745.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种薏仁麦茶及其生产工艺
- 下一篇:自动循环双夹具饰品磨抛机
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置