网络视频加速系统及控制方法

文档序号:7682198阅读:251来源:国知局
专利名称:网络视频加速系统及控制方法
技术领域
本发明涉及一种网络视频,具体涉及一种网络视频加速系统。本 发明还涉及一种网络视频加速系统的控制方法。
技术背景如图l所示传统的视频点播架构里,用户点播所需要的数据流全部来自视频 服务提供商(SP)的视频源服务器。随着用户数量的不断扩大,对视 频服务提供商(SP)的视频源服务器和带宽的要求就会越高,自然而 然地,运营的成本也会提高。而且由于用户点播所获取的视频数据来 源较为单一, 一旦视频源服务器发生故障,则更容易出现点播失败。发明内容(一) 要解决的技术问题 本发明的目的是提供一种安装部署简单,使用方便,成本低廉的网络视频加速系统。本发明的目的还提供一种网络视频加速系统的控 制方法。(二) 技术方案为了达到上述目的,本发明采取以下方案本发明的网络视频加速系统,包括SP网站的视频源服务器、SP 网站的点播页面、若干用户PC机(个人计算机)和iV加速系统服 务器阵列,所述SP网站的点播页面内嵌JavaScript代码,若干用户 PC机上安装有iV加速器客户端,并分别与SP网站的视频源服务器、 SP网站的点播页面、iV加速系统服务器阵列连接。其中,所述iV加速系统服务器阵列包括索引服务器、缓存服务 器、监控服务器、统计服务器,其中,索引服务器、缓存服务器、监控服务器相互连接,统计服务器分别与索引服务器、缓存服务器连接。其中,所述若干用户PC机包括用户A的PC机、用户B的PC机、用 户C的PC机,其中,用户A的PC机与用户B的PC机、用户C.的PC机连接。其中,所述索引服务器中还设有NAT(网络地址转换)穿透服务器。本发明的网络视频加速系统的控制方法,有以下步骤 1 )在SP网站的点播页面中内嵌JavaScript代码;2) 当用户PC机访问SP网站的节目点播页面时,用户PC机的播放 器发送一个播放URL请求;3) SP网站的节目点播页面中JavaScript代码截下上述播放URL请 求,并判断用户PC机是否安装了iV加速器客户端,如果用户PC机没 有安装,则询问用户PC机是否安装iV加速器客户端,如果用户PC机 选择否,则将视频文件的原始URL返回给用户PC机的播放器,该播 放器将直接从视频源服务器获取视频数据;如果用户PC机选择是, 则引导用户PC机安装并启用iV加速器客户端;4) iV加速器客户端启动了以后,将登录索引服务器,登录过程 如果失败,则将视频文件的原始URL返回给用户PC机播放器,用户 PC机播放器将直接从视频源服务器获取视频数据;如果登录过程成 功,即可在索引服务器的帮助下与视频源服务器、缓存服务器、其他 iV加速器客户端建立起连接,并从视频源服务器、缓存服务器、其他 iV加速器客户端获取视频数据,并将视频数据保存在本地硬盘或内存 中,而SP网站的节目点播页面中JavaScript代码,会将播放器请求的 URL改成指向HTTP server的URL,播放器将通过HTTP server从本地 硬盘或内存中获得视频数据并进行播放。其中,还包括工作状态中的iV加速器客户端、缓存服务器和索引 服务器主动将信息上报给统计服务器,统计服务器将呈送上来的信息数据进行汇总以便分析业务和运营情况的步骤。其中,还包括工作状态中的iV加速器客户端、缓存服务器及索引服务器主动将信息上报给监控服务器,以便监视整个系统的运行状况 的步骤,同时包括监控服务器主动对缓存服务器和索引服务器发出控 制指令,以满足实际运营的需要的步骤。其中,还包括步骤当其他iV加速器客户端需要从iV加速器客户 端获取视频数据时,数据将从iV加速器客户端用户本机硬盘或内存中 提取出来,并通过iV加速器客户端传输给其他iV加速器客户端,以实 现两个用户之间的数据互换。(三)有益效果1) 本发明在网络视频点播用户不断扩大的情况下,无需对网站 进行大规模修改,具有安装部署简单,成本低的特点。2) 本发明与已有技术比,在使用相同带宽的视频源服务器的情 况下,并发服务能力大幅提高,即满足同时观看同一节目的人数大幅 提升,因此,也降低了SP的运营成本。3) 由于用户可以从多个途径获得数据,可以实现多源、多线程, 因而数据传输的稳定性会更高,用户下载视频流数据的速度将更快。4) 用户既可以选择本发明的网络视频加速系统进行节目点播, 也可以釆用已有技术进行节目点播,因此,用户有更灵活的自主选择


图l是已有技术网络视频节目点播系统的结构示意图;图2是本发明网络视频节目点播的网络视频加速系统的结构示意图;图3是本发明网络视频加速系统控制方法的流程图; 图4是本发明iV加速器客户端流程示意图;具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。一、 参见图2,本发明的一种网络视频加速系统由SP网站的视频源服务器、SP网站的点播页面、安装有iV加速器客户端的用户A的PC 机、用户B的PC机、用户C的PC机、SP网站的点播页面内嵌的JavaScript 代码、索引服务器、缓存服务器、监控服务器、统计服务器组成。其 中,安装部署时,首先,SP需要在其网站的点播页面中内嵌JavaScript 代码,用户A的PC机、用户B的PC机、用户C的PC机需要安装iV加速 器客户端。当用户A的PC机进行某部节目的点播时,首先会向SP发起 请求,并和索引服务器建立连接,通过索引服务器,让用户A的PC机 和用户B的PC机、用户C的PC机、视频源服务器、缓存服务器建立连 接,以便用户A的PC机能够接收到来自视频源服务器和缓存服务器的 数据,并且能够与用户B的PC机和用户C的PC机交换视频数据流。这 样一来SP的负荷就会相对减小。由于用户B的PC机和用户C的PC机的 行为是不稳定的,来自用户B的PC机和用户C的PC机的数据流并不一 定稳定,因此本发明专门设计了缓存服务器, 一旦用户B的PC机和用 户C的PC机的数据流出现异常,不足以支撑用户A的PC机的流畅播放 时,缓存服务器将自动提高单位时间内的数据输出能力,为用户A的 PC机能够流畅的播放视频节目提供强有力的保障。二、 参见图3,本发明的一种网络视频加速系统的控制方法,其 步骤具体说明如下首先,在在SP网站的点播页面中内嵌JavaScript代码; 当用户A的PC机在访问SP网站的节目点播页面时,用户A的 PC机的播放器会发送一个播放URL请求;SP网站的节目点播页面中包含的JavaScript代码会截下这段请求 并判断用户A的PC机是否安装了 iV加速器客户端,如果用户A的 PC机没有安装,则询问用户A的PC机是否安装iV加速器客户端, 如果用户A的PC机选择否,则将视频文件的原始URL返回给用户A的PC机的播放器,播放器将直接从视频源服务器获取视频数据; 如果用户A的PC机选择是,则引导用户安装并启用iV加速器客户 端(如果在判断用户A的PC机是否安装iV加速器客户端的时候, 结果为"是",也照样启动iV加速器客户端)。iV加速器客户端启动 了以后,将登录索引服务器,登录过程如果失败,则将视频文件的原 始URL返回给用户A的PC机的播放器,用户A的PC机的播放器 将直接从视频源服务器获取视频数据;如果登录过程成功,即可在索 引服务器的帮助下与视频源服务器、缓存服务器、其他iV加速器客 户端(如装有iV加速器客户端的用户B的PC机、装有iV加速器客 户端的用户C的PC机)建立起连接,并从视频源服务器、缓存服务 器、装有iV加速器客户端的用户B的PC机、装有iV加速器客户端 的用户C的PC机获取视频数据,并将视频数据保存在本地硬盘或内 存中,而SP网站的节目点播页里的JavaScript代码,会将播放器请 求的URL改成指向本地的URL,播放器将通过HTTP server从本地 硬盘或内存中获得视频数据并进行播放。在iV加速器客户端A工作的过程当中,有可能本身就处于一个 局域网中,或者将要和另外一个局域网内的iV加速器客户端用户进 行数据交换时,这时,将需要NAT穿透服务器进行协助,以便让装 有iV加速器客户端的用户A的PC机和其他iV加速器客户端建立起 连接并实现数据互换(如果交换数据的双方并不在局域网中,则不需 要NAT穿透服务器协助)。工作状态中的iV加速器客户端A、缓存服务器、索引服务器会 主动将一些信息上报给统计服务器。统计服务器将各个部件呈送上来 的数据进行汇总以便分析业务和运营情况。工作状态中的iV加速器客户端A、缓存服务器、索引服务器会 主动将一些信息上报给监控服务器,以便监视整个系统的运行状况。 同时监控服务器也可以主动对缓存服务器和索引服务器发出 一些控制指令,以满足实际运营的需要。当其他iV加速器客户端(如装有iV加速器客户端的用户B的PC 机、装有iV加速器客户端的用户C的PC机)需要从装有iV加速器 客户端用户A的PC机获取视频数据时,数据将从装有iV加速器客 户端用户A的PC机本机硬盘或内存中提取出来,并通过装有iV加 速器客户端用户A的PC机传输给其他iV加速器客户端,以实现两 个用户之间的数据互换(如果交换数据的一方或者双方在局域网中, 则需要NAT穿透服务器的协助)。缓存服务器是一个提供数据保障的服务器, 一方面它会根据事先 拟定好的程序从视频源服务器和装有iV加速器客户端用户的PC机 接收数据并分块进行本地存储,另一方面当用户有需求的时候,再将 保存在缓存服务器上的数据输送给有需要的装有iV加速器客户端用 户的PC机。三、下面对本发明的部件作进一步地说明1、视频源服务器由影视SP网站提供,用来存储影视文件的服务器。2 、 JavaScript代码这段需要嵌入SP网站最终点播页面的JavaScript 代码主要有三个功能第一,判断访问这个点播页面的用户是否安装 iV加速器客户端,如果用户未安装,则引导用户安装或不起任何作 用;第二,如果安装了 iV加速器客户端就启动iV加速器客户端并将 原来播放视频文件的URL改为本地的HTTP server;第三,控制播放 器的一些播放操作,如播放、暂停、停止、拖拉、音量调节等。 3、 JS: JavaScript, —种由Sun Microsystems所开发的脚本语言。 本发明中所用到的javascript逻辑以及逻辑原理如下 (以下叙述涉及代码部分除非有特别说明否则均以IE6以上版本 和realplayer环境为准)javascript编写在html页面上,在客户机上执行,通过javascript调用iV加速器客户端所公开的符合activeX接口规范的方法,实现 iV加速器客户端和页面播放器的衔接。 核心代码如下<script><formula>formula see original document page 10</formula>代码解说如下dummyObj = new ActiveXObject("iVeevAX.iVeev.l");这一行声明iV加速器客户端公开的组件,(此组件在安装iV加速 器客户端时被注册)dummyObj.CreateIV( spid, mvfile);启动iv加速器客户端进程,使iv加速器客户端可以通过指定路径和标识去获取影片的源服务数据,搜索iV加速器客户端缓冲服务 器,建立P2P连接工作。以上流程成功与否,通过如下代码检测function isExistsss(urls)xmlhttp 二 new ActiveXObjectC'Microsoft.XMLHTTP'') 膽llittp.open("GET",urls,false)扁lhttp.sendO if(xmlhttp.status=200) return true;elsereturn false如果以上流程全部成功通过,则会通过页面播放器控制代码(具体代码以实施页面所使用的播放器为准,这里以realplay为例)重新 设置播放路径为形如"http:〃127.0.0.1:8081/spid/源影片文件网络路 径"格式的播放路径开始通过iV播放影片。(其中,8081是iV加速 器客户端开放给本地计算机访问的端口号,spid是本电影在iV加速 系统中某SP服务器中的 一个标识号)。 "player.setSource(URL);"反之,也是通过上述语句,恢复原播放路径,不通过iV加速器 客户端播放。4、索引服务器搜集系统内数据节点、视频源服务器、缓存服务器的所有视频资源,并按照一定规则创建和管理索引列表,为下载 和点播请求提供文件索引服务的服务器。5、 统计服务器对系统内各个环节的业务数据,如流量、带宽、 请求量,在线用户量等进行统计的服务器。6、 监控服务器监测并控制索引服务器和缓存服务器的服务器。7、 缓存服务器可自动按照一定规则进行视频文件存储并提供 强劲分发的服务器,该服务器是为用户点播体验不受影响提供保障, 同时也可以看成是一个拥有较强上传能力的超级数据节点。8、 NAT穿透服务器引导不同局域网内iV加速器客户端直连 穿透的服务器,为了提高效率,减少用户登录服务器的次数,NAT 穿透服务器的功能已经集成到索引服务器里。9、 iV加速器客户端负责节点数据上传、下载、存储以及接收 并执行用户的操作请求的客户端软件。参见图4, iV加速器客户端的工作流程1〕访问包含JS脚本的播放页面时,JS脚本创建activex组件, 将点播影片的spid (即SP的编号)和节目的URL告诉activex组件;2〕如果iV加速器客户端没有启动则启动iV加速器客户端;启 动后调用iV加速器客户端的创建观看影片的任务的接口,传递SPID (即SP的编号)和URL参数给iV加速器客户端;3 〕启动后自动登录索引服务器;创建本地http server;4〕获取影片的长度等http头信息;5〕获取FID (即节目编号),创建SPID和FID对应的任务;6〕创建播放器播放http:〃127.0.0.1:port/spid/url该地址对应该点 播影片在本地的http server;播放器将只会通过本地http server获取 视频数据进行播放;7〕获取其它拥有该影片数据的客户端列表;8〕连接http视频源服务器并获取数据;9〕连接其它客户端并获取数据;10〕返回视频数据给播放器播放;11〕下载过程中主动上报流量等统计数据。四、英文缩写的中文注释。1、 iV:我们的产品商标。2、 P2P: Peer to Peer,即点对点。3、 P2SP: S代表Server,即在P2P的基础上引入了缓存服务器, 以提供更稳定的保障。4、 Cache:原指高速缓冲存储器,在本专利申请所涉及的文档中 特指缓存服务器或客户端本地缓存。5、 SP:服务提供商,在本专利申请所涉及的文档中特指影视或 视频服务提供商。6、 JS: JavaScript, 一种由Sun Microsystems所开发的脚本语言。7、 NAT: Network Address Translation,中文意思是"网络地址转换"。8、 HASH: HASH函数,又称杂凑函数,是在信息安全领域有 广泛和重要应用的密码算法,它有一种类似于指紋的应用。在网络安 全协议中,杂凑函数用来处理电子签名,将冗长的签名文件压缩为一 段独特的数字信息,像指紋鉴别身份一样保证原来数字签名文件的合 法性和安全性。9、 MD5: Message-Digest Algorithm 5, HASH算法的一种。10、 SHA: Secure Hash Algorithm,译作安全散列算法,HASH 算法的一种。11 、 HTTP: Hypertext Transfer Protocol,超文本传输协议。12、 URL: Uniform Resource Locator,统一资源定位符。13、 IE^IntemetExplorer6,由微软公司开发的网络浏览器,数字 6代表该产品版本号。14、 realplay: —种用REAL公司开发的多媒体播放器。 五、本发明的优点如下1、 iV系统部署极其简单仅需要在最终点播页面上嵌入一段JS代码,即可完成与加速系 统的接驳,将传统的HTTP点播转变为P2SP+HTTP点播并行的模式。 而其他的P2P产品,需要对网站进行大规模修改,甚至需要修改网站 结构和数据库结构,部署烦瑣、费事。2、 能大幅提高原有网站的并发服务能力(相当于节约成本) 使用传统HTTP点播方式的网站一台100Mb带宽的节目视频源服务 器,理论上最大能够同时满足200人同时观看同一部500kb码率的节 目,但是使用了 iV加速系统以后,理论上能够满足大于200个人同 时观看同一部500kb码率的节目。也就是说原有网站的并发服务能力 将得到提高,并且根据测试结果显示,并发服务能力有大幅提升。从 另一个角度来将,提高了并发服务能力,也就相当于节约了成本。3、 数据传输稳定性更高采用传统HTTP点播方式的网站,对节目视频源服务器的依赖性非常 高,假如节目视频源服务器出现单点故障或者异常,那么用户的点播 会受到严重影响,甚至点播失败。但是使用了 iV加速系统以后,由 于用户可以从多个途径获得数据,所以节目视频源服务器出现单点故 障或出现异常时,用户所受到的影响将大幅降低,也就是说数据传输 的稳定性会更高。4、 数据传输速度更快传统的HTTP点播, 一般都是釆用的是单源、单线程(如部署了 CDN 网络则实现多源、单线程,但是最终用户能够建立连接的还是单源、 单线程)。而使用iV加速系统,则可以实现多源、多线程,即便是只 有一个视频源服务器,也可以使用多源、多线程的方式从该视频源服 务器获取数据,这样一来,用户下载视频流数据的速度将更快。所述多源每一个视频文件在互联网上都会有一个对应的URL, 如果有某个用户完成了该文件的数据下载,索引服务器会根据该文件 的数据信息用SHA或者MD5算出一个HASH码,对于不同URL但 是相同HASH码的文件会认定为视频内容相同,索引服务器在分配 的时候会把HASH码相同的视频文件的各自不同URL都返回给客户 端去获取数据所述多线程开多个线程做HTTP下载的工作。5、用户有更灵活的自主选择权 其他的P2P产品一般都会强制用户使用特定的客户端去接收数据并 进行播放,否则用户无法正常观看。而网站使用了 iV加速系统以后, 情况就大为改观了 ,用户可以自主选择是否使用加速模式进行点播, 如果用户选择加速模式,那么将启用iV加速器客户端,并采用P2SP 模式播放,如果用户选择普通模式,那么将采用该网站原有的HTTP 模式进行播放。
权利要求
1、一种网络视频加速系统,包括SP网站的视频源服务器、SP网站的点播页面、若干用户PC机、iV加速系统服务器阵列,其特征在于所述SP网站的点播页面内嵌JavaScript代码,若干用户PC机上安装有iV加速器客户端,所述若干用户PC机通过数据流分别与SP网站的视频源服务器、SP网站的点播页面、iV加速系统服务器阵列连接。
2、 如权利要求1所述的一种网络视频加速系统,其特征在于 所述iV加速系统服务器阵列包括索引服务器、缓存服务器、监控服 务器、统计服务器,其中,索引服务器、缓存服务器、监控服务器相 互连接,统计服务器分别与索引服务器、缓存服务器连接。
3、 如权利要求l所述的一种网络视频加速系统,其特征在于所 述若干用户PC机包括用户A的PC机、用户B的PC机、用户C的PC机, 其中,用户A的PC机与用户B的PC机、用户C的PC机连接。
4、 如权利要求l所述的一种网络视频加速系统,其特征在于所 述索引服务器中还设有NAT穿透服务器。
5、 一种用于权利要求l所述网络视频加速系统的控制方法,其特 征在于有以下步骤1) 在SP网站的点播页面中内嵌JavaScript代码;2) 当用户PC机访问SP网站的节目点播页面时,用户PC机的播放 器发送一个播放URL请求;3 ) SP网站的节目点播页面中JavaScript代码截下上述播放URL请 求,并判断用户PC机是否安装了iV加速器客户端,如果用户PC机没 有安装,则询问用户PC机是否安装iV加速器客户端,如果用户PC机 选择否,则将视频文件的原始URL返回给用户PC机的播放器,该播 放器将直接从视频源服务器获取视频数据;如果用户PC机选择是, 则引导用户PC机安装并启用iV加速器客户端;4) iV加速器客户端启动了以后,将登录索引服务器,登录过程如果失败,则将视频文件的原始URL返回给用户PC机播放器,用户 PC机播放器将直接从视频源服务器获取视频数据;如果登录过程成 功,即可在索引服务器的帮助下与视频源服务器、缓存服务器、其他 iV加速器客户端建立起连接,并从视频源服务器、缓存服务器、其他iV加速器客户端获取视频数据,并将视频数据保存在本地硬盘或内存 中,而SP网站的节目点播页面中JavaScript代码,会将播放器请求的 URL改成指向本地的URL,播放器将通过HTTP server从本地硬盘或内 存中获得视频数据并进行播放。
6、 如权利要求5所述的网络视频加速系统的控制方法,其特征在 于还包括工作状态中的iV加速器客户端、缓存服务器和索引服务器 主动将信息上报给统计服务器,统计服务器将呈送上来的信息数据进 行汇总以便分析业务和运营情况的步骤。
7、 如权利要求5所述的网络视频加速系统的控制方法,其特征在 于还包括工作状态中的iV加速器客户端、缓存服务器及索引服务器 主动将信息上报给监控服务器,以便监视整个系统的运行状况的步 骤,同时包括监控服务器主动对缓存服务器和索引服务器发出控制指 令,以满足实际运营的需要的步骤。
8、 如权利要求5所述的网络视频加速系统的控制方法,其特征在 于还包括步骤当其他iV加速器客户端需要从某iV加速器客户端获取 视频数据时,数据将从某iV加速器客户端用户本机硬盘或内存中提取 出来,并通过该iV加速器客户端传输给其他iV加速器客户端,以实现 两个用户之间的数据互换。
全文摘要
本发明涉及一种网络视频。本发明公开了一种网络视频加速系统及控制方法,包括视频源服务器、点播页面、用户PC机,点播页面内嵌JS代码,用户PC机上安装有iV加速器客户端,与视频源服务器、点播页面、iV加速系统服务器阵列相连接。方法在点播页面中内嵌JS代码;用户访问点播页面时,发送一个播放URL请求;JS代码截下上述请求,判断用户是否安装了iV加速器客户端,否,从视频源服务器获取视频数据;是,则引导用户安装并启用iV加速器客户端,登录索引服务器,登录失败,用户将直接从视频源服务器获取视频数据;登录成功,与视频源服务器、缓存服务器、其他iV加速器客户端连接,通过JS代码,实施播放。本发明安装部署简单,使用方便,成本低廉。
文档编号H04N7/173GK101237561SQ200810000939
公开日2008年8月6日 申请日期2008年1月9日 优先权日2008年1月9日
发明者徐海波 申请人:北京捷报互动科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1