首页> 中国专利> 一种利用虚拟化技术实现的CDN加速系统及方法

一种利用虚拟化技术实现的CDN加速系统及方法

摘要

本发明公开了一种利用虚拟化技术实现的CDN加速系统,包括:CDN服务器、虚拟服务器及客户端,CDN服务器用于将数据下发到虚拟服务器;虚拟服务器将接收到的数据分发客户端;其中,虚拟服务器内设置有物理设备RD,物理设备RD将上下行富余的带宽集合起来。本发明通过利用网络系统中富余的带宽实现网络加速,在客户端上一层增加特殊设备RD构成虚拟网络的形式,利用上下行的富余带宽,并通过装载在该特殊设备上的应用程序提供网络服务。本发明的虚拟化服务层和传统的CDN-P2P网络相结合,替代CDN层和客户端进行数据传输,可以有效的降低直播业务对CDN的带宽依赖。由于架构的灵活性,还可以通过在RD上部署不同的应用,来提供不同的网络服务。

著录项

  • 公开/公告号CN105430046A

    专利类型发明专利

  • 公开/公告日2016-03-23

    原文格式PDF

  • 申请/专利权人 合一网络技术(北京)有限公司;

    申请/专利号CN201510717613.1

  • 发明设计人 李铮;杨敬宇;姚键;潘柏宇;王冀;

    申请日2015-10-29

  • 分类号H04L29/08(20060101);G06F9/54(20060101);G06F9/455(20060101);

  • 代理机构北京庆峰财智知识产权代理事务所(普通合伙);

  • 代理人李文军

  • 地址 100080 北京市海淀区海淀大街8号中钢国际广场A座5层

  • 入库时间 2023-12-18 15:07:46

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-14

    专利权的转移 IPC(主分类):H04L29/08 登记生效日:20200624 变更前: 变更后: 申请日:20151029

    专利申请权、专利权的转移

  • 2020-07-14

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20151029

    专利权人的姓名或者名称、地址的变更

  • 2019-07-12

    授权

    授权

  • 2016-04-20

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20151029

    实质审查的生效

  • 2016-03-23

    公开

    公开

说明书

技术领域

本发明涉及音视频等实时内容分发的架构及方法,尤其涉及一种CDN动态加速的系统及方法。

背景技术

随着互联网的用户不断增多,用户对音视频直播画质/音质的要求不断提升,直播内容的码流不断提升,同时在线人数也不断增加,带宽和并发在线人数的要求渐渐成为制约这项业务的瓶颈。以1Mbps的码流计算,1G的带宽仅能支撑1000个用户并发,而要保证1百万用户的同时在线,就需要1000G的带宽,对于单一的直播节目来说,这个费用是非常高昂的。另一方面,1百万的并发流式访问,对普通的服务器的性能来说也是一个不可能完成的任务。所以当前通常采用服务器分层加客户端p2p的技术来分担并发访问的人数同时将服务器的一部访问转移到客户端,从而减轻访问压力和降低带宽的消耗。例如专利CN201510150133.1就采用了这种CDN+P2P的架构,播放器(客户端)之间作为P2P分组,而服务器之间采用源服务器+CDN分发服务器这样的分层组网。源服务器将直播内容复制若干份,分发到边缘的CDN服务器,每个CDN服务器负责一部分的用户访问,同时通过部署P2P的支撑服务器(tracker,NAT穿透),将客户端组成不同的网络,客户端之间可以互相访问,也可以直接请求CDN服务器。

基于这种架构,进一步的可以将CDN服务器和P2P支撑服务器按照运营商网络/或者是地域划分为不同的自治域(AS),形成若干p2p子网,如专利CN201510006008.3中所提及的组网方式。AS内部是域内连接,AS之间还有少量数据传输,属于域间连接。

在云计算虚拟化领域,通过虚拟化的技术将分布式的闲散的计算资源,存储资源组织起来,通过网络路由交换,再封装成一个整体并虚拟成一个单一的虚拟机给用户使用,也是当前的一个热点,例如专利CN201410468455.6,就提供了一种虚拟化的存储解决方案。通过在服务器上安装虚拟器的控制单元,控制本地的文件系统,并接受来自网络的集中调度,若干服务器的存储被虚拟化成一个大的存储,对外提供统一的访问接口。即外部调用存储访问的接口,或者是计算的接口,通过集中调度,将存储访问或者是计算需求分配给某一个节点,完成任务后再返回结果给接口。

尽管采用了CDN+P2P的方式,有效地增大了直播服务的规模,降低了带宽的消耗,但是这种技术也面临一些问题,第一是这种架构依然需要消耗一定规模的CDN带宽。例如在直播开始时,客户端需要先有一定量的CDN带宽消耗,才能带动P2P的访问,即客户端需要先有一定数量的内容来自CDN服务器,才能在客户端之间进行P2P的互动;客户端是不稳定的,它可以随时退出P2P网络,如果是关键的P2P节点退出P2P网络,也会导致有突发的较大的CDN访问;如果并发用户数量不足,客户端依然需要直接使用CDN的带宽。第二是这种网络结构是与应用绑定的,也就是说选定好客户端的程序,就会决定了CDN网络服务器的程序以及组网架构。整个网络各个层次间的耦合度较大。

另一方面,目前的虚拟化实践中,通常是将小单元的计算能力(CPU),存储能力汇聚起来,通过一个控制模块发送任务给某些个小单元,然后完成后再汇聚成一个大的任务结果。对于零散带宽资源的聚合,则没有对应的实践方案。

发明内容

本发明提出了一种新型的架构方案,依托于布置在互联网最后一英里的特殊设备,具体的如某种可以利用上下行富余带宽的网络接入路由器,或者是装有虚拟化程序并且能上网的电子设备等,其特征是对计算能力和存储能力要求不高,但是在运营商的带宽利用上,处于用户侧个人电脑的上一层,能够长时间稳定接入互联网,故而能够更好的利用运营商的上/下行的带宽。将这些设备通过虚拟化的方式集中起来,提供各种可以定制化的服务。

在本发明中,这些设备都用物理设备RD表示(realdevice),他们一起组成一个虚拟服务器VM(virtualmachine)。RD在本发明中被看成是一个提供网络服务的容器,即它可以安装任何满足要求的网络服务程序(RDAPP),另一方面它又是一个网络带宽的输出单元,就是说RD可以向互联网提供带宽资源。在这些RD上都安装有一个agent代理程序,即RD上设置有agent模块,agent模块的作用是监控RD的状态,主要是RD上下行带宽状态,获取RD的运行负载,向RD发送指令。在agent的上边,是虚拟化的API,是连接RD和虚拟化调度单元的桥梁。装有相同服务程序的RD会被组织成一个大的虚拟服务器,提供上文所述的网络服务。对于通过网络协议(rtmp/http/rtsp/hls/p2p协议)访问VM的客户端来说,他感受到的就是一个真实的服务器。对于使用上层UI界面的调用者来说,他管理的也就是一个个的真实服务器。

本发明提供的一种利用虚拟化技术实现的CDN加速系统,包括:CDN服务器、虚拟服务器及客户端,

所述CDN服务器用于将数据下发到所述虚拟服务器;

所述虚拟服务器用于将接收到的数据分发至客户端;

其中,所述虚拟服务器内设置有物理设备RD,所述物理设备RD用于将上下行富余的带宽集合起来。

进一步地,所述虚拟服务器进一步还包括虚拟化的API,所述虚拟化的API用于根据客户端的请求返回最佳物理设备RD。还包括虚拟化调度单元,所述虚拟调度单元用于向所述虚拟服务器发送调度信息,所述虚拟服务器进一步还包括虚拟化的API,所述虚拟化的API用于实现所述物理设备RD与虚拟化调度单元的交互。所述客户端是支持P2P的客户端或不支持P2P的客户端。

进一步地,所述虚拟服务器进一步还包括agent模块,所述agent模块用于控制物理设备RD之间的交互。

进一步地,所述虚拟服务器进一步还包括RDAPP模块,所述客户端为支持P2P的客户端,客户端之间组成P2P网络;所述RDAPP模块用于将物理设备RD加入到客户端P2P网络中,使物理设备RD与其它RDAPP及客户端P2P节点进行数据交换。

进一步地,还包括云端辅助系统,所述虚拟服务器用于与云端辅助系统进行通信,获取来自源站的信息。

相应地,本发明还提供了一种利用虚拟化技术实现的CDN加速方法,包括:

6.一种利用虚拟化技术实现的CDN加速方法,其特征在于,包括:

S1、CDN服务器将数据下发到虚拟服务器;

S2、虚拟服务器将接收到的数据分发至客户端;

S3、所述虚拟服务器内设置有物理设备RD,所述物理设备RD将上下行富余的带宽集合起来。

进一步地,所述虚拟服务器进一步还包括虚拟化的API,所述虚拟化的API根据客户端的请求返回最佳物理设备RD。

进一步地,所述虚拟服务器进一步还包括agent模块,所述agent模块控制物理设备RD之间的交互。所述客户端是支持P2P的客户端或不支持P2P的客户端。

进一步地,所述虚拟服务器进一步还包括RDAPP模块,所述客户端为支持P2P的客户端,所述RDAPP模块用于将物理设备RD加入到客户端P2P网络中,使物理设备RD与其它RDAPP及客户端P2P节点进行数据交换。

进一步地,所述虚拟服务器与云端辅助系统进行通信,获取来自源站的信息。

本发明系统中包括CDN服务器、虚拟服务器及P2P节点,所述CDN服务器用于将数据下发到所述虚拟服务器;所述虚拟服务器将接收到的数据分发至所述P2P节点;所述虚拟服务器内设置有物理设备RD,所述物理设备RD将上下行富余的带宽集合起来。

本发明配置若干虚拟服务器,作为边缘的CDN节点,其上层是原有的真实CDN服务器层,这里只需要一条链路就可以把视频内容下发到虚拟服务器上,再由虚拟服务器转发给客户端。将原有对CDN服务器的依赖,转变为对虚拟服务器的使用,大大降低了CDN服务器的带宽消耗。由于RD设备通常是可以保证24小时长期联网的,在加上通过在AS级别对客户端进行全局调度,由AS调度逻辑判断负载均衡,RD设备的可达性,自动选取最优的RD设备向客户端提供服务,还可以在VM的整体带宽不足的情况,自动实现VM的扩容,网络服务的可用性整体上看不低于传统架构中的CDN服务器。

本发明主要是依托于布置在互联网最后一英里的特殊物理设备RD,具体的如某种可以利用上下行富余带宽的网络接入路由器,或者是装有虚拟化程序并且能上网的个人电脑等,将这些设备通过虚拟化的方式集中起来,提供各种可以定制化的服务。具体的如音视频直播服务,利用本发明提出新的架构和实现方法,利用上述设备,组成一个虚拟化服务层,和传统的CDN-P2P网络相结合,替代CDN层和客户端进行数据传输,可以有效的降低直播业务对CDN的带宽依赖。此外,由于架构的灵活性,还可以通过在RD上部署不同的应用,来提供不同的网络服务。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。

图1是本发明实施例提供的利用虚拟化技术实现的CDN加速系统的结构框图;

图2是本发明实施例提供的利用虚拟化技术实现的CDN加速系统的系统架构图;

图3是本发明实施例提供的利用虚拟化技术实现的CDN加速方法的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例:

请参见图1,若干个物理设备RD组成一个VM(virtualmachine)。RD在本发明中被看成是一个提供网络服务的容器,即它可以安装任何满足要求的网络服务程序(RDAPP),另一方面它又是一个网络带宽的输出单元,就是说RD可以向互联网提供带宽资源。RD与客户端进行数据交互,在这些RD上都安装有agent模块,agent模块的作用是监控RD的状态,主要是RD上下行带宽状态,获取RD的运行负载,向RD发送指令。在agent模块的上边,设置虚拟化的API,虚拟化的API是连接RD和虚拟化调度单元的桥梁,通过虚拟化的API自动选取最优的RD设备向客户端提供服务。上层UI界面与虚拟化调度单元通信,虚拟化调度单元与虚拟服务器通信。装有相同服务程序的RD会被组织成一个大的虚拟服务器,提供上文所述的网络服务。

对于通过网络协议(rtmp/http/rtsp/hls/p2p协议)访问VM的客户端来说,他感受到的就是一个真实的服务器。对于使用上层UI界面的调用者来说,他管理的也就是一个个的真实服务器。这里VM还可以和云端的辅助系统进行通信,获取来自源站的信息,如视频直播内容源,VM从而成为一个虚拟的CDN直播分发服务器,向播放器提供比如rtmp,http,hls,rtsp,dash服务等,也包括p2p的传输服务等。

在具体应用中,以利用VM来提供音视频直播加速为例说明:将这些虚拟服务器作为一个虚拟化应用层,并加入到传统的CDN-P2P网络中,替代了原有架构中CDN层和播放器的数据传送功能。在实现上,按照不同的运营商区域,配置若干虚拟服务器,作为边缘的CDN节点,其上层是原有的真实CDN服务器层,这里只需要一条链路就可以把视频内容下发到虚拟服务器上,再由虚拟服务器转发给P2P客户端。在实际使用中,为保证系统的健壮性,可以再增加若干条链路,保证系统可以稳定工作。即便如此,这种架构也将原有对CDN服务器的依赖,转变为对虚拟服务器的使用,大大降低了CDN服务器的带宽消耗。由于RD设备通常是可以保证24小时长期联网的,加上通过在AS级别对客户端进行全局调度,由AS调度逻辑判断负载均衡,RD设备的可达性,自动选取最优的RD设备向客户端提供服务,还可以在VM的整体带宽不足的情况,自动实现VM的扩容,网络服务的可用性整体上看不低于传统架构中的CDN服务器。

此外,这种虚拟服务器除了作为CDN的音视频直播加速外,还可以作为一种通用的解决方案,提供任何带宽消耗型的网络服务,例如在VM上安装一个应用,实现视频拆包/打包/mux/demux/解码/编码等,它又可以成为一个源视频服务器,接收来自客户端编码器的推送流,将其转码打包为其它的格式发送给其它CDN节点。还比如通过更换RD上的APP,VM还可以提供vpn,proxy服务等等。由于选用不同的RDAPP程序就可以提供不同的功能,客户端事实上只依赖于RDAPP的选用,切换APP远比更改服务器端的架构要容易。

请参见图2,要实现上述虚拟化和加速等功能,在整体架构上,将整个系统划分为5个私有模块+1个公共模块,共6个模块。公共模块就是播放器模块,这个可以是通用的播放器,也可以是集成有特定功能的专用播放器。

中央控制逻辑(唯一):对外提供系统访问的接口,包括图形界面的接口,也可以是API形式的接口,给外部用户一个整体的操作方式,来控制系统的运行,比如设定虚拟机的应用类型,需要的虚拟机带宽等运行时参数。同时中央控制逻辑会将这些外部设定转化为控制指令,下发到不同的自治域(AS),并获取指令的执行情况。

VM管理模块(每个AS一个):这是虚拟化的控制模块。包括RD资源池,即本AS所有可以管理控制的RD总数据库;RDAPP仓库,即所有可装载到RD上的能提供网络服务的应用程序的集合;API代理服务器,这是与RD进行API交互的代理,接受RD的信息,并将指令发送给对应的RD;VM控制逻辑,它的输入可以来自AS的控制逻辑,比如需要建立一个虚拟服务器,其配置是运行某种APP,需要预留多少带宽等等;VM控制逻辑还可以接受来之API代理服务器转发过来的RD设备状态信息,并进一步更新RD资源池。这里RD还会把RD的状态信息共享给AS控制逻辑,由它做决策判断。

CDN管理模块(每个AS一个):这是传统架构中的CDN层,涵盖了CDN边缘服务器,本地数据库,如果是视频直播业务,还可以包括频道管理库,P2P管理服务器,跨AS域访问逻辑控制等模块。

RD业务模块(每个RD一个):这里RD是虚拟化的最小单元,每个RD代表着一个可以提供带宽的设备,上面包括两个逻辑模块,一个agent模块,起到在虚拟化控制逻辑和RD之间交互的桥梁作用。另一个模块是RDAPP,通过装载不同的APP,RD可以实现不同的网络服务功能。这里APP的装载是动态的,在RD运行时,通过agent和VM控制逻辑交互,从RDAPP仓库下载并装载到本地。也可以集成到RD的固件里,成为RD固件的一部分。如果要实现直播业务,APP就是一个类似于直播服务器的应用程序,可以利用RD的下行带宽从源节点/CDN获取视频内容,并重新封装成不同的格式利用RD的上行带宽分发给客户端。特殊的,RD还可以通过RDAPP把自己加入到某个P2P网络,然后通过P2P的连接和其它的RDAPP/客户端交换数据。取决与具体的RDAPP实现。

AS控制逻辑:是AS端的控制中枢,负责将中央控制指令下发给VM控制逻辑和CDN控制逻辑,并且会响应云调度API,在客户端发出请求时,给客户端返回一个最佳的RD,从而完成虚拟化的外部调度闭环。特别的,由于所有的客户端调度决策都由这个模块响应,在必要时,还可以通过在中央控制模块处发出一些临时调度指令,将客户端的访问导入到CDN集群,起到一个临时分流的作用。AS对客户端的透明调度的判断逻辑包括:当前AS中对应服务的VM有哪些RD组成,每个RD的负载状况(主要是上下行的带宽状况,以及RD的信誉评级)。根据具体VM的信息,决定将客户端的访问导向哪一个最佳RD。特别的,AS控制逻辑还可以根据预设条件,向VM管理模块发出指令,对VM进行动态扩容或者是减容,达到对RD带宽资源的最佳使用。

客户端:可以是通用的播放器,如jwplayer/ios原生播放器/android的通用播放器等,也可以是支持特殊功能如p2p加速的播放器。如果客户端不支持p2p,那么客户端只会从某个RD获取数据,如果支持p2p,那么会和P2P服务器交互,获取p2p网络中其它peer的信息,然后建立和其它peer的连接。取决于RDAPP的类型,即RDAPP是和客户端播放器配套使用。除了用做音视频的播放器外,客户端还可以是其他的应用程序客户端,如vpn的客户端等,只要有对应RDAPP和他互动。

请参见图3,基于以上模块,本发明提供了一种利用虚拟化技术实现的CDN加速方法,包括:

S1、CDN服务器将数据下发到虚拟服务器;

S2、虚拟服务器将接收到的数据分发至客户端;

S3、所述虚拟服务器内设置有物理设备RD,所述物理设备RD将上下行富余的带宽集合起来。

本发明主要是依托于布置在互联网最后一英里的特殊物理设备RD,具体的如某种可以利用上下行富余带宽的网络接入路由器,或者是装有虚拟化程序并且能上网的个人电脑等,将这些物理设备RD通过虚拟化的方式集中起来,提供各种可以定制化的服务。利用本发明提出新的架构和实现方法,利用上述设备,组成一个虚拟化服务层,和传统的CDN-P2P网络相结合,替代CDN层和客户端进行数据传输,可以有效的降低直播业务对CDN的带宽依赖。此外,由于架构的灵活性,还可以通过在RD上部署不同的应用,来提供不同的网络服务。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号