基于WebRTC的流媒体多级缓存网络加速系统和方法

文档序号:10515690阅读:406来源:国知局
基于WebRTC的流媒体多级缓存网络加速系统和方法
【专利摘要】本发明公开了一种基于WebRTC的流媒体多级缓存网络加速系统,包括CDN网络结构和组内客户端P2P网络组结构,所述组内客户端P2P网络组结构从所述CDN网络结构的边缘缓存节点获取缓存资源,所述组内客户端P2P网络包括支持WebRTC的客户端和信令服务器,所述支持WebRTC的客户端应用了浏览器缓存技术。本发明具有中心数据源数据多点缓存结构,提高了系统服务能力可靠性。
【专利说明】
基于WebRTC的流媒体多级缓存网络加速系统和方法
技术领域
[0001] 本发明设及网络加速领域,特别设及一种基于WebRTC的流媒体多级缓存网络加速 系统和方法。
【背景技术】
[0002] 将P2P^eer to Peer)技术引入到CDN系统内,各边缘自治域内的内容服务器与用 户的传输方式采用P2P方式。然而,P2P网络拓扑可控性较差,数据的流通具有无序性,同时 各客户节点又可在任意时刻加入和退出网络,为系统的稳定性带来了不少挑战。当其中某 些在P2P组内网络的用户突然退出P2P组群的时候,可能在P2P组内网络流媒体资源会出现 断层的情况,影响用户的流媒体资源的下载过程。其中P2P网络拓扑都是基于(VS架构而建 成的,然而到了流媒体传输更加频繁的浏览器系统ΒΛ架构中,就显得不是那么的常用了。

【发明内容】

[0003] 本发明的目的在于克服现有技术的缺点与不足,一种基于WebRTC的流媒体多级缓 存网络加速系统和方法。
[0004] 本发明的目的通过如下技术方案实现:
[0005] 一种基于WebRTC的流媒体多级缓存网络加速系统,包括CDN网络结构和组内客户 端P2P网络组结构,所述组内客户端P2P网络组结构从所述CDN网络结构中缓存资源,所述组 内客户端P2P网络包括支持WebRTC的客户端和信令服务器,所述支持WebRTC的客户端应用 了浏览器缓存技术。
[0006] 所述支持WebRTC的客户端与所述信令服务器之间通信并实现客户端之间流媒体 缓存文件互传都是使用WebRTC通信实现的。
[0007] 所述浏览器缓存技术使用的是HTTP协议定义的缓存机制,在HTTP 1.1中,使用了 (^iche-Control 策略。
[000引本发明的另一目的通过如下技术方案实现:
[0009] 一种基于WebRTC的流媒体多级缓存网络加速方法,具体包括W下步骤:
[0010] S1、借助CDN网络加速服务的优势,搭建一个属于本发明的CDN流媒体网络结构,并 把流媒体资源分发到资源服务器和边缘节点缓存服务器中。
[0011] S2、由于本系统是在基于WebRTC的浏览器上运行的,根据WebRTC网页实时通信的 特性,WebRTC技术支持客户端的点对点连接;所W在客户端连接的时候,引入信令服务器。 使得组内的客户端可W实现彼此互相连接,在组内实现了客户端P2P网络结构。
[0012] S3、由于地理位置相近的多个客户端很大可能访问同一个边缘节点缓存服务器, 能够把边缘节点缓存服务器和运些客户端划分为一个组。
[0013] S4、在共同访问同一个边缘节点缓存服务器的组内的客户端中,运些客户端不仅 能够从边缘缓存服务器获取资源,也能够从组内的其他客户端获取资源,W此形成流媒体 资源的第Ξ级缓存。
[0014]本发明与现有技术相比,具有如下优点和有益效果:
[001引1、本发明大大减少了中屯、节点数据源和边缘缓存节点数据源的压力。传统CDN每 个服务节点如果要获得中屯、节点数据源数据,均需要直接访问数据源服务器,造成数据源 压力大,消耗带宽多,造成中屯、到边缘的数据链路得不到保障。而通过对CDN服务节点采用 P2P方式进行组织,节点之间可W通过P2P方式互相共享、缓存数据,大大降低了中屯、数据源 的压力。
[0016] 2、本发明中屯、数据源数据多点备份,提高系统服务能力可靠性。不同服务节点之 间对中屯、数据多点备份,运一策略使得CDN系统整体冗余能力、服务的自我恢复能力得W提 高,进一步增强系统稳定性。
[0017] 3、本发明增加可提供服务的节点数量,提升服务灵活性。通过P2P方式互相共享、 缓存数据,使得可W提供服务的节点数量大大增加,同时使得服务节点的服务更加灵活智 能。
[0018] 4、本发明增加了系统的可扩展性,提升服务效率。下层内容分发采用P2P技术实 现,使得系统的可扩展能力大大提高。整体系统具有良好的弹性,应对用户访问突发性、随 意性的情况,保持良好的服务效率。
[0019] 5、本发明提高网络的可管理性,避免流量无序。系统将P2P的范围严格限制在某一 边缘服务节点的服务区域内,避免了传统P2P技术造成的过多的跨地区、跨ISP造成骨干网 拥塞、流量无序的问题。增强了网络的可管理性和服务的可靠性。
【附图说明】
[0020] 图1为本发明所述的基于WebRTC的流媒体多级缓存网络加速系统结构图;
[0021] 图2为图1所述系统所采用的JSEP的结构示意图;
[0022] 图3为图1所述系统所采用的STUN的搭建位置示意图;
[0023] 图4为图1所述系统所采用的信令服务器和STUN服务器速建立起的P2P网络结构示 意图;
[0024] 图5为图1所述系统所采用的浏览器缓存的执行过程流程图。
【具体实施方式】
[0025] 下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限 于此。
[0026] 本发明提供一种流媒体多级缓存技术的方法,该方法是:
[0027] 1、借助CDN网络加速服务的优势,搭建一个属于本发明的CDN流媒体网络结构,并 把流媒体资源分发到资源服务器和边缘节点缓存服务器中。
[00%] 2、由于本系统是在基于WebRTC的浏览器上运行的,根据WebRTC网页实时通信的特 性,WebRTC技术支持客户端的点对点连接。所W在客户端连接的时候,引入信令服务器。使 得组内的客户端可W实现彼此互相连接,在组内实现了客户端P2P网络结构。
[0029] 3、由于地理位置相近的多个客户端很大可能访问同一个边缘节点缓存服务器,可 W把边缘节点缓存服务器和运些客户端划分为一个组。
[0030] 4、在共同访问同一个边缘节点缓存服务器的组内的客户端中,运些客户端不仅可 w从边缘缓存服务器获取资源,也可w从组内的其他客户端获取资源,w此形成流媒体资 源的第Ξ级缓存。
[0031] 本发明提供一种流媒体多级缓存技术的系统,如图1所示,该系统主要由CDN网络 结构和组内客户端P2P网络组结构组成。
[0032] 其中虚框部分为新添加的服务器一一信令服务器。它的作用是客户端通过访问信 令服务器,发布并交换自己的连接信息,其他客户端即可通过信令服务器与其建立连接,实 现客户端之间的互联从而建立一个P2P网络。引入信令服务器之后,客户端不仅可W从站点 服务器直接获取资源,也可W从互联的其他客户端上获取资源,在站点服务器带宽受限,或 是处理能力下降的情况,依然可W正常的访问网站服务。
[0033] 通过引入加速服务前后的对比,可知网络加速服务由如下几部分构成:
[0034] (1)支持WebRTC的客户端
[0035] 运里的网络加速服务是基于WebRTC构建,需要参与的客户端支持WebRTC。使用 WebRTC的网络通信部分,可W快速使各个客户端构成P2P网络。无论是PC端还是移动端, Firefox和化rome浏览器都提供了 WebRTC的大部分支持,所W大部分客户端不需要任何安 装就可W使用WebRTC。
[0036] (2)信令服务器
[0037] 使用WebRTC来构建客户端的P2P网络,客户端就需要交换各自的信息才能连接在 一起,运时候就需要信令服务(Signaling)。信令是一个协调沟通的过程,为了让客户端之 间构成会话,客户端需要交换W下信令信息:发起和关闭一个通话控制信息;错误信息;元 数据信息;确保通信安全的密钥;网络数据(如主机在外网的IP地址和端口)。客户端的信令 处理需要一种来回传递信息的方法,运种机制没有被WebRTC定义,需要自己创建它。JSEP的 结构如图2所示:
[0038] JSEP的结构避免了让浏览器保存状态信息,如果让浏览器保存信令状态,每次当 页面重载时,信令就会消失。更好的解决方案是用服务器保存信令状态,即使用信令服务 器。WebRTC的信令服务器不过多花费内存和进程,只需要转发信息和保持很少的会话状态 数据,所W甚至可W在当前服务器开启一个进程来负责信令的处理。但是信令机制不仅可 W用来交换会话的元数据,也能用来传送应用数据,本质上是一个信息服务,所W运里把它 作为一个单独的服务器。
[0039] (3)STUN/TURN 服务器
[0040] 信令交互完成后,客户端就会尝试直接去连接其他客户端。在简单的网络世界里, 每一个WebRTC客户端都有一个唯一的地址,运样可W直接通信,但是实际情况下,大多数设 备都在一个或多个NAT层后面,使用代理或是防火墙。为了克服真实世界的复杂网络环境, 就需要使用STUN服务器来获取外部网络地址,或者使用TURN服务器,它在STUN服务器上加 入了中继功能。STUN的搭建位置如图3所示:
[0041] STUN服务架设在外网,获取运行在NAT后面的客户端的IP和端口,然后返回地址。 STUN的作用就是发现客户端的外网IP和端口,之后的执行步骤即信令服务的执行过程。因 此,STUN服务器不需要存储太多的内容也不需要做太多的工作,简单的STUN服务器就可W 应付大量的请求。当单纯的STUN无效之后,将会转向使用TURNdTURN服务器的作用是中继数 据,它负责在两端间中转音视频、数据流等,但是不是发送数据。TURN具有公共地址,因此每 个客户端都可W访问到(无论是否使用了代理或是防火墙)dTURN任务简单,但是数据中转 会花费大量带宽,所WTURN需要足够强壮。
[0042] 普通使用时,可W使用Google提供的STUN服务器,但是如果作为一款实际应用的 产品,需要自己搭建STUN服务器降低使用第Ξ方服务的风险。
[0043] 由WebRTC客户端,信令服务器和STUN服务器就可W快速建立起P2P网络,达到网络 加速的效果,完整的图如图4所示:
[0044] 2)本发明创造的技术关键点
[0045] 其中运个Ξ级缓存结构的Ξ个个关键点是,信令服务器、客户端和浏览器缓存技 术。
[0046] (1)支持WebRTC的客户端
[0047] 运里的网络加速服务是基于WebRTC构建,需要参与的客户端支持WebRTC。使用 WebRTC网页实时通信技术,可W使得客户端之间相互传输流媒体资源。无论是PC端还是移 动端,Firefox和化rome浏览器都提供了 WebRTC的大部分支持,所W大部分客户端不需要任 何安装就可W使用WebRTC。
[004引(2)信令服务器
[0049] 使用WebRTC来构建客户端,客户端之间要建立彼此的连接就需要交换各自的信息 才能形成P2P网络组,运时候就需要信令服务(Signaling)。信令是一个协调沟通的过程,为 了让客户端之间构成会话,客户端需要交换W下信令信息:发起和关闭一个通话控制信息; 错误信息;元数据信息;确保通信安全的密钥;网络数据(如主机在外网的IP地址和端口)。 客户端的信令处理需要一种来回传递信息的方法,运种机制没有被WebRTC定义,需要自己 创建它。
[0050] 在运些客户端与信令服务器之间通信并实现客户端之间流媒体缓存文件互传都 是使用WebRTC通信实现的。WebRTC在应用层面提供了 Ξ个可供调用的API,分别是 Μ e d i a S t r e a m,用来访问设备的摄像头及话筒获得视频、音频的同步流; RTCPeerConnection,用于构建点对点之间稳定高效的流传输;RTCDataChannel,在点对点 之间建立一个低延时、高吞吐的信道,可用来传输任意类型数据。
[0051] (3)浏览器缓存技术
[0052] 在客户端通信技术完善之后,客户端缓存即浏览器缓存技术变得很重要。浏览器 都提供了缓存,缓存访问过的站点的图片、文本、脚本文件,甚至可W缓存页面播放器点播 的视频文件。浏览器的缓存机制使用的是HTTP协议定义的缓存机制。在HTTP 1.1中,使用了 化che-Control策略。原理是通过指明缓存资源的有效期,来控制浏览器是重新向服务器发 出请求获取数据还是从浏览器缓存中读取数据。Cache-Conctrol有多个设置选项,HTTP协 议头中化che-Contro 1的可选值如表格所示:
[0化3] 表1
[0化4]
[0055] 字段Last-Modified/If-Modified-Since,Etag/If-None-Match也需要配合 化che-Control使用,关于运四个字段的说明,如表格所示:
[0056] 表2 Γ00571
[0059] 化ag是资源在服务端的唯一标识符,由服务器自动生成,可W更加精准的控制缓 存内容。如果同时使用Last-Modif ied和化ag,服务器会优先验证化ag,当化ag-致,才会对 比Last-Modified。
[0060] 浏览器缓存的执行过程流程图如图5所示。在运些浏览器缓存流媒体文件之后,其 浏览器之间进行文件互传使用的协议是化S化TTP Live Streaming),HLS是由苹果公司提 出的基于HTTP的流媒体传输协议。它的工作原理是把整个流拆分成一个个很小的文件,运 个文件是通过HTTP方式下载的,每次不是下载全部分片,而是下载一部分。当流播放时,客 户端可W选择从多个不同的源W不同的速率下载同样的资源,流媒体会话可W适应不同的 数据速率。在流播放开始前,客户端会先下载一个extended M3U playlist文件(m3u8索引 文件),文件包含元数据,用于寻找网络中可用的媒体流。由于HLS只请求HTTP报文,所W很 容易使用CDN来传输分发流媒体,而且与实时传输协议不同,HLS可W穿过任何允许HTTP数 据通过的防火墙或是代理服务器。
[0061] 在运种CDN网络结构下,通过增加边缘缓存服务器和内部负责调度的DNS,合理地 让用户请求到总是距离最近的缓存服务器,运样有效地减少了中屯、站的的访问压力。即使 某个节点遭遇访问延迟或是被攻击,也可W通过冗余节点,快速响应用户的请求。由于CDN 的体系结构,它具有本地加速、远程加速、带宽优化、服务端镜像和抗攻击的的特点。其中抗 攻击的特点是因为CDN运个一个大的集群,广泛分布且具有智能冗余机制,可W有效地预防 黑客入侵W及各种DDoS攻击对服务访问的影响,保证数据安全,提供更优的服务质量。
[0062] 共享同一个边缘节点服务器的组内客户端P2P网络组结构。在运个网络结构中新 添加的服务器一一信令服务器。它的作用是客户端通过访问信令服务器,发布并交换自己 的连接信息,其他客户端即可通过信令服务器与其建立连接,实现客户端之间的互联。而在 引入信令服务器之后,组内的客户端可W实现彼此互相连接,在组内实现了 P2P网络。组内 的客户端不仅可W从边缘缓存服务器获取资源,也可W从组内的其他客户端获取资源,通 过利用组内客户端P2P网络加速技术与CDN网络结构融合,形成客户端流媒体资源的第Ξ级 缓存策略,客户端就近和多层缓存节点访问站点资源,实现流媒体网络加速服务。在组内客 户端的P2P网络中,由于客户端之间可W互传资源,在多个客户端上传资源时,客户端下载 几乎可W达到自身带宽的最大速度而不受服务器端带宽的限制。而且在运个组内的P2P网 络结构中,客户端可通过访问信令服务器W此获得其它客户端的连接信息,从而合理地选 择最近的客户端进行连接。运样就能减少对边缘节点服务器的访问压力。
[0063] WebRTC来构建客户端的P2P网络实现方式:
[0064] (1)支持WebRTC的客户端
[0065] 运里的网络加速服务是基于WebRTC构建,需要参与的客户端支持WebRTC。使用 WebRTC网页实时通信技术,可W使得客户端之间相互传输流媒体资源。无论是PC端还是移 动端,Firefox和化rome浏览器都提供了 WebRTC的大部分支持,所W大部分客户端不需要任 何安装就可W使用WebRTC。
[0066] (2)信令服务器
[0067] 使用WebRTC来构建客户端,客户端之间要建立彼此的连接就需要交换各自的信息 才能形成P2P网络组,运时候就需要信令服务(Signaling)。信令是一个协调沟通的过程,为 了让客户端之间构成会话,客户端需要交换W下信令信息:发起和关闭一个通话控制信息; 错误信息;元数据信息;确保通信安全的密钥;网络数据(如主机在外网的IP地址和端口)。 客户端的信令处理需要一种来回传递信息的方法,运种机制没有被WebRTC定义,需要自己 创建它。JSEP的结构如图2所示:JSEP的结构避免了让浏览器保存状态信息,如果让浏览器 保存信令状态,每次当页面重载时,信令就会消失。更好的解决方案是用服务器保存信令状 态,即使用信令服务器。WebRTC的信令服务器不过多花费内存和进程,只需要转发信息和保 持很少的会话状态数据,所W甚至可W在当前服务器开启一个进程来负责信令的处理。但 是信令机制不仅可W用来交换会话的元数据,也能用来传送应用数据,本质上是一个信息 服务,所W运里把它作为一个单独的服务器。
[0068] 上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的 限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化, 均应为等效的置换方式,都包含在本发明的保护范围之内。
【主权项】
1. 基于WebRTC的流媒体多级缓存网络加速系统,其特征在于包括⑶N网络结构和组内 客户端P2P网络组结构,所述组内客户端P2P网络组结构从所述CDN网络结构中缓存资源,所 述组内客户端P2P网络包括支持WebRTC的客户端和信令服务器,所述支持WebRTC的客户端 应用了浏览器缓存技术。2. 根据权利要求1所述的基于WebRTC的流媒体多级缓存网络加速系统,其特征在于所 述支持WebRTC的客户端与所述信令服务器之间通信并实现客户端之间流媒体缓存文件互 传都是使用WebRTC通信实现的。3. 根据权利要求1所述的基于WebRTC的流媒体多级缓存网络加速系统,其特征在于所 述浏览器缓存技术使用的是HTTP协议定义的缓存机制,在HTTP 1.1中,使用了Cache-Control 策略。4. 基于权利要求1-3所述的基于WebRTC的流媒体多级缓存网络加速系统的网络加速方 法,其特征在于具体包括以下步骤: 51、 借助CDN网络加速服务的优势,搭建一个属于本发明的CDN流媒体网络结构,并把流 媒体资源分发到资源服务器和边缘节点缓存服务器中。 52、 由于本系统是在基于WebRTC的浏览器上运行的,根据WebRTC网页实时通信的特性, WebRTC技术支持客户端的点对点连接;所以在客户端连接的时候,引入信令服务器。使得组 内的客户端可以实现彼此互相连接,在组内实现了客户端P2P网络结构。 53、 由于地理位置相近的多个客户端很大可能访问同一个边缘节点缓存服务器,能够 把边缘节点缓存服务器和这些客户端划分为一个组。 54、 在共同访问同一个边缘节点缓存服务器的组内的客户端中,这些客户端不仅能够 从边缘缓存服务器获取资源,也能够从组内的其他客户端获取资源,以此形成流媒体资源 的第三级缓存。
【文档编号】H04L29/08GK105872044SQ201610190708
【公开日】2016年8月17日
【申请日】2016年3月30日
【发明人】徐杨, 朱黄华, 张国鹏, 李 东
【申请人】华南理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1