流媒体内容分发终极解决方案:当融合CDN与P2P视频交付结合

前言

随着互联网的发展,流媒体视频内容日趋增多,已经成为互联网信息的主要承载方式。相对传统的文字,图片等传统WEB应用,流媒体具有高数据量,高带宽、高访问量和高服务质量要求的特点,而现阶段互联网“尽力而为”的特点决定了在现有网络架构下大规模流媒体应用是存在困难的。而向受众提供高速且高质的视频内容是许多专业电视及视频内容提供商的重要目标,因此支持视频流的CDN 和相关辅助技术很重要,因为他们不仅可以优化视频传输速率,同时还可以兼顾传输的视频文件质量水平。

 本文火伞云将为大家探讨融合CDN与视频流P2P视频传输技术相结合的一些细节,比如我们将探讨该技术是什么,如何实现融合CDN+P2P架构,并向大家说明将CDN架构与P2P视频传输技术相结合的好处。

一、什么是融合CDN?

在深入探讨融合CDN之前,我们先有必要再了解一下CDN。CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,通过智能化策略,将中心的内容发布到最接近用户、服务能力最好的的网络”边缘”节点,使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。

然而,传统的CDN技术仍然是一种客户机-服务器(C/S)的计算模式。尽管传统CDN将服务能力和服务内容在网络上进行了分布,可以在一定程度上加速流媒体内容的分发,提高服务质量。但由于其核心仍然是基于C/S的架构,其服务的扩展能力取决于分布节点的不断部署,由此造成了CDN服务能力扩展的成本非常高,需要不断的投资。同时,用户访问是具有随意性,突发性等特点的,而传统CDN系统不具备弹性动态扩展的能力,难以从根本上提升CDN系统的效率。

 融合CDN是在传统CDN基础上,通过技术手段融合全球各主流CDN厂商的优质节点,以实现全业务处理能力的智能调度加速管理服务,融合CDN通过强大的智能调度策略来综合利用上述资源来解决实际场景中的问题,可以带来更加优质的服务效果、更加稳定的质量和相对降低的服务成本。

二、什么是P2P视频传输?

P2P即Peer to Peer,也就是节点对节点的对等传输。P2P技术将各个用户互相结合成的一个网络,共享其间的带宽、共同处理其中的信息。与传统的客户机-服务器模式(C/S模式)不同,P2P工作方式中,每一个客户终端既是客户机又是服务器。采用P2P架构可以有效地利用大量普通计算设备的计算资源和带宽资源,将计算任务或存储数据分布到所有结点上,达到高性能计算、高I/O能力、高带宽和海量存储的目的。同时,由于P2P的特性,系统在大规模并发服务时凸显优势,整体系统具备动态扩展能力,整体系统的部署成本低,系统效率高,同时具有系统级的服务可靠性。

然而,单纯的客户端P2P应用也存在自身的缺点,首先P2P系统天生具有可控性、可管理性差的特点,同时面临可用性问题,从整个系统而言,P2P是可靠的,但是对于单个内容或者单个任务而言,P2P是不稳定的,每个Peer具有随意性,随时可以退出系统;交换的内容随时可能被删除或者被终止共享。另外,由于传统P2P技术中Peer之间交换数据的通道,更多的是由自动寻找最优逻辑链路,而忽视实际的物理链路的情况,对电信运营商IP承载网的实际构架考虑不多,造成骨干网拥塞、网络流量风暴等损害电信运营商利益的问题。这些问题都阻碍了单纯的客户端P2P技术难以进一步发展成为电信级的技术平台。

 

为了使 P2P 传输发挥作用,系统首先在设备或对等点之间建立连接。然后,对等方可以在将视频流传送给其他对等方时共享视频流,这样您的设备就可以传输和接收视频。然而,为了使该系统正常工作,对等点必须存储一定量的数据并相互交换状态信息,以便保留连接性并共享数据。只要这些对等点提供足够的传出带宽,每个对等点都应该能够从其连接的对等点传送和接收视频内容。点对点传输旨在以最低带宽要求提供高质量和可扩展的视频流,而不管每个对等点的能力或网络速度是否不规则。

三、P2P与CDN融合的可行性探讨

P2P系统弹性好,可扩展性强、服务效率高,但是在内容版权管理、用户管理、QoS服务保障、流量有序性等方面比较弱。而CDN技术则是拥有突出的服务质量保障、极强的内容、用户管理能力,但扩展性差,大规模服务投入成本高,且效率难以提升。

由此,我们可以看出作为当前的两种主流内容传送技术,CDN和P2P各有所长,在计算模型上的差异具有一定的互补性,如果能够结合P2P的扩展能力和CDN的可靠性、可管理性,就可以构建一个可管理的、能够承载电信级内容应用的流媒体内容分发平台。

四、如何实现融合CDN+P2P架构?

目前就P2P与CDN融合现有的研究,有人提出了一种上层传统CDN架构,下层采用P2P技术进行分发的模式。也就是流媒体内容通过传统CDN技术,从中心推送至网络边缘服务节点缓存,然后从边缘服务节点到用户之间的传输则采用P2P技术,而P2P的范围一般是控制在本地节点服务范围之内。如果用户需要的内容,本地节点没有,则节点通过CDN网络向中心服务器索取,拿到本地之后再向本地用户进行P2P分发。这种模式基本上利用了传统P2P与CDN各自的特性,一方面利用CDN服务高保障的特性推送至离用户最近的服务节点,同时又利用了P2P的可扩展性提升了节点的可服务能力。

然而这种P2P与CDN的混合只是利用了其各自的外部特性,从本质上而言,P2P自身没有改造,CDN也没有优化,自身架构没有发生融合,只相当于把两种技术的服务方式做了迭加。

P2P与CDN的融合应该是充分的利用了双方各自的最优之处,不仅能够在服务上能各自在不同的阶段发挥各自的优势,同时也应该利用对方的优势对自身弱势的地方进行改造与完善,最后再加以统一、迭加,形成一个真正优化的,CDN与P2P互相融合的流媒体内容分发平台。

火伞云以P2P技术对CDN网络进行优化、改造。在传统CDN中,从中心到边缘服务器之间的数据链路需要相当大的投资,同时资源的效率不高、带宽复用率低;另外在跨ISP等情况下,链路的畅通也难以得到保障。针对这一问题,火伞云采用以P2P的方式组织CDN节点设备,利用P2P的目录服务和多点传输能力,实现CDN节点设备之间的内容交换、互相备份,由此可增强从中心到边缘节点的CDN网络的内容传送效率、使系统冗余性得以提高,从而提升CDN的内容分发能力。

同时P2P也借鉴CDN技术的一些优点,将CDN的管理机制和服务能力引入P2P网络,增加超级节点的地位,形成以CDN为可靠的内容核心,以P2P为扩展机制的架构,增加内容、用户的可管理性,同时使得网络流量更加有序。

火伞云一方面在CDN网络核心层(即从中心到边缘服务器层)采用P2P技术进行优化,用P2P技术重新组织原有C/S架构的各服务节点,另外在P2P网络中也融入CDN技术的一些优点,使其在可控、可管理性上得以提高。在两种技术充分融合、渗透、改造之后,将两者统一,形成一个真正优化的(上层CDN经过P2P化改造,提升了分发能力,下层P2P可控性强,有管理能力)的CDN与P2P完整融合的流媒体内容分发平台。 

 五、使用融合CDN+P2P 架构的优点

经过P2P与融合CDN技术的全面融合的流媒体内容分发平台,将获得如下优势:

1、减少中心节点数据源的压力,降低成本。传统CDN每个服务节点如果要获得中心节点数据源数据,均需要直接访问数据源服务器,造成数据源压力大,消耗带宽多,造成中心到边缘的数据链路得不到保障。而通过对CDN服务节点采用P2P方式进行组织,请求由对等点处理,节点之间可以通过P2P方式互相共享、缓存数据,大大降低了中心数据源的压力,可以显着减少来自流源(原始服务器和CDN)的请求,直接导致更具成本效益的视频传输。

2、提高系统服务能力可靠性,实施更简便不同服务节点之间对中心数据多点备份,这一策略使得CDN系统整体冗余能力、服务的自我恢复能力得以提高。使得系统的稳定性进一步增强。且由于P2P传输主要使用WebRTC协议,该协议与所有现代浏览器兼容。因此实现起来极其方便,并且还可以提供额外的流源隐私保护。

3、增加可提供服务的节点数量,提升服务灵活性。过P2P方式互相共享、缓存数据,使得可以提供服务的节点数量大大增加,同时使得服务节点的服务更加灵活、智能。如流媒体VOD应用时,几个邻近节点可按照一定规则各自缓存不同的流媒体数据,如果A节点服务的用户请求观看B节点缓存的内容,可采取A节点与B节点通过P2P方式交换数据,由A节点为用户提供服务。

4、增加了系统的可扩展性,提升服务效率。融合CDN网络提供了一个可扩展的平台,可以为越来越多的观众提供内容。与单CDN厂商相比,它提供对更多服务器的访问,从而增加了观众的容量,有了更多的服务器,视频流内容就可以传送给更多的人,而不会造成网络瘫痪。下层内容分发采用P2P技术实现,使得系统的可扩展能力大大提高。整体系统具有良好的弹性,应对用户访问突发性、随意性的情况,保持良好的服务效率。

5、提高网络的可管理性,避免流量无序。系统将P2P的范围严格限制在某一边缘服务节点的服务区域内,避免了传统P2P技术造成的过多的跨地区、跨ISP造成骨干网拥塞、流量无序的问题。增强了网络的可管理性和服务高的可靠性。另外,通过客户端,可以实现对用户的监控,流量的监管。

6、提高了视频质量,提升客户体验。我们知道CDN架构中的PoP 越多,信号传输的距离就越短,而火伞云作为国内知名的融合CDN厂商结合主流CDN厂商的优质节点,这有助于保持最佳视频质量并减少缓冲,这对于直播流和虚拟活动尤其有价值。

7、扩大地理覆盖范围获取更多受众。利用多融合进来的CDN网络,您可以接触到更多国家/地区的更多观众。例如一家 CDN厂商的大部分服务器可能集中在北美,而另一家提供商的服务器可能分布在欧洲各地。 通过将两者结合起来,您可以根据目标受众覆盖两个地点的观众。

8、结合非典型区域性法规促进全球传播。如果您要向国际观众广播,火伞云融合CDN的特殊设置肯定会派上用场。如前所述,更多国家/地区的更多服务器可以帮助您吸引更多观众。当向中国、越南或俄罗斯等非典型监管地区的观众进行流媒体播放时,融合CDN 策略对于业务至关重要。并非每个 CDN都拥有绕过防火墙或在中国拥有边缘服务器的许可,因此通过在您的融合CDN设置中添加一个可以绕过防火墙的CDN,您的公司可以进入受众和市场。

9、增加总体带宽,强化网络安全性。

当同伴互相上传视频时,他们会增加所有用户可用的总体带宽。同时实施融合CDN解决方案的另一个好处是它可以增强流媒体设置的安全性,如果一个CDN厂商遇到安全故障,下一个CDN厂商就会介入并继续提供安全的流媒体体验。就像投资时分散风险一样,广播公司和视频内容提供商可以高枕无忧,因为他们知道自己有备份安全选项。

六、哪些公司需要使用融合CDN+P2P解决方案?

几乎所有向大量观众分发内容的广播/电视公司和视频内容提供商都将受益于融合CDN+P2P解决方案,这其中以拥有大量国际观众的广播/电视公司和视频内容提供商为甚。

七、去哪里寻找合适的融合CDN+P2P提供商及相关注意事项?

最简单、也是最直接的方法是选择一个能够满足您的需求并可以直接投入使用的解决方案提供商,这种方法可以让您工作量最小化。

无论您是要自行研发构建,还是直接寻找合作伙伴,还有一些注意事项可能会对您有所帮助:

1、选择合适的CDN选择合适的CDN厂商取决于您的需求,但首先要注意的是您选择的CDN提供商在视频交付方面的经验和既往表现如何。比如还有CDN厂商根本不支持流媒体加速。而且很多CDN厂商只专注于某些地区内容加速,并非每个CDN厂商在世界各地的表现都同样强劲。最后,需要关注的一个重要因素是该厂商网络节点的数量,有的CDN厂商没有很多节点,因而体验不好。

2、选择DNS或融合CDN管理解决方案提供商

融合CDN管理解决方案或多CDN DNS提供商可以使管理多个CDN变得更加轻松。通常此类解决方案提供商可以提供设置、工程支持和集成支持方面的帮助,不同的解决方案还可以帮助使用数据和智能算法以最有效的方式路由网络流量。

3、明确自己的流量路由策略

DNS负载均衡

市场上有一些DNS解决方案提供商允许用户自定义其流量路由规则。订阅所有所需的CDN后,所有CDN 的CNAME都会被复制并粘贴到DNS记录中,以便DNS服务器可以根据流量路由规则确定用于请求的 CNAME (CDN),最常见的流量路由规则包括循环、加权循环和地理位置。

RUM/综合监控驱动的负载平衡

一些提供商以套餐形式提供此服务,基本思想是利用RUM和综合监控数据作为驱动负载平衡决策的基础。

提供此服务的DNS提供商通常在DNS级别上处理此问题,这意味着它与DNS 负载平衡方法非常相似,只不过它是根据实际性能数据智能地做出决策。火伞云目前主要采用的也是本策略处理此问题,接收请求、测量并将最佳CNAME或IP的值返回给DNS。

八、结语

P2P与CDN技术的融合,一方面可以互补自身先天计算模型的缺陷,对CDN或者P2P传统架构进行改造;一方面P2P的扩展能力和CDN的可靠性、可管理性也可完美结合。这两方面都为实现一个能够承载电信级超大规模内容分发传送应用的内容分发平台提供了机会,火伞云也希望能够为大家提供更优质的大规模流媒体内容分发服务体验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/49878.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中介者模式-协调多个对象之间的交互

在深圳租房市场,有着许多的“二房东”,房主委托他们将房子租出去,而租客想要租房的话,也是和“二房东”沟通,租房期间有任何问题,找二房东解决。对于房主来说,委托给“二房东”可太省事了&#…

【图论】缩点的综合应用(一)

一.缩点的概念 缩点,也称为点缩法(Vertex Contraction),是图论中的一种操作,通常用于缩小图的规模,同时保持了图的某些性质。这个操作的目标是将图中的一些节点合并为一个超级节点,同时调整相关…

LLM 生成式配置的推理参数温度 top k tokens等 Generative configuration inference parameters

在这个视频中,你将了解一些方法和相关的配置参数,这些参数可以用来影响模型在下一个词生成时的最终决策方式。如果你在Hugging Face网站或AWS的游乐场中使用过LLMs,你可能已经看到了这些控制选项,用来调整LLM的行为。每个模型都暴…

Java接口详解

接口 接口的概念 在现实生活中,接口的例子比比皆是,比如:笔记本上的USB口,电源插座等。 电脑的USB口上,可以插:U盘,鼠标,键盘等所有符合USB协议的设备 电源插座插孔上,…

【C++】—— 简述C++11新特性

序言: 从本期开始,我将会带大家学习的是关于C11 新增的相关知识!废话不多说,我们直接开始今天的学习。 目录 (一)C11简介 (二)统一的列表初始化 1、{}初始…

百望云华为云共建零售数字化新生态 聚焦数智新消费升级

零售业是一个充满活力和创新的行业,但也是当前面临很大新挑战和新机遇的行业。数智新消费时代,数字化转型已经成为零售企业必须面对的重要课题。 8 月 20 日-21日,以“云上创新 韧性增长”为主题的华为云数智新消费创新峰会2023在成都隆重召…

爬虫selenium获取元素定位方法总结(动态获取元素)

目录 元素 查看元素信息 元素定位 通过元素id定位 通过元素name定位 通过xpath表达式定位 绝对路径 相对路径 通过完整超链接定位 通过部分链接定位 通过标签定位 通过类名进行定位 通过css选择器进行定位 id选择器 class选择器 标签选择器 属性选择器 定位带…

蓝帽杯半决赛2022

手机取证_1 iPhone手机的iBoot固件版本号:(答案参考格式:iBoot-1.1.1) 直接通过盘古石取证 打开 取证大师和火眼不知道为什么都无法提取这个 手机取证_2 该手机制作完备份UTC8的时间(非提取时间):(答案…

技术的巅峰演进:深入解析算力网络的多层次技术设计

在数字化时代的浪潮中,网络技术正以前所未有的速度演进,而算力网络作为其中的一颗明星,以其多层次的技术设计引领着未来的网络构架。本文将带您深入探索算力网络独特的技术之旅,从底层协议到分布式控制,为您呈现这一创…

opencv进阶19-基于opencv 决策树cv::ml::DTrees 实现demo示例

opencv 中创建决策树 cv::ml::DTrees类表示单个决策树或决策树集合,它是RTrees和 Boost的基类。 CART是二叉树,可用于分类或回归。对于分类,每个叶子节点都 标有类标签,多个叶子节点可能具有相同的标签。对于回归,每…

cuml机器学习GPU库 sklearn升级版AutoDL使用

CUML库 最近在做机器学习任务的时候发现我自己的数据集太大,直接用sklearn 跑起来时间很长,然后问GPT得知了有CUML库,后来去研究了一下,发现这个库只支持linux系统,从官网直接获取下载命令基本上也实现不了最后&#…

outlook等客户端报错:-ERR Login fail. Please using weixin token to login

使用outlook配置腾讯邮箱后,无法收取邮件,点击接收/发送所有文件夹, 提示报错: 任务“testqq.com - 正在接收”报告了错误(0x800CCC92):“电子邮件服务器拒绝您登录。请在“帐户设置”中验证此帐户的用户名及密码。 响应服务器:…

详细介绍线程池的使用原理、参数介绍、优点、常见构造方法、使用案例、模拟实现

前言 创建和销毁一个线程时,这点损耗是微不足道的,但是当需要频繁的创建和销毁多个线程时,这个成本是不可忽视的,于是就有大佬创建了线程池,借助线程池来减少其中的成本。 目录 前言 一、线程池的使用原理 二、线程…

LVS集群 (NET模式搭建)

目录 一、集群概述 一、负载均衡技术类型 二、负载均衡实现方式 二、LVS集群结构 一、三层结构 二、架构对象 三、LVS工作模式 四、LVS负载均衡算法 一、静态负载均衡 二、动态负载均衡 五、ipvsadm命令详解 六、搭建实验流程 一、首先打开三台虚拟机 二、…

【云计算】Docker特别版——前端一篇学会

docker学习 文章目录 一、下载安装docker(一)Windows桌面应用安装(二)Linux命令安装 二、windows注册登录docker三、Docker的常规操作(一)、基本的 Docker 命令(二)、镜像操作(三)、容器的配置(四)、登录远程仓库 四、镜像管理(一…

【FAQ】H.265视频无插件流媒体播放器EasyPlayer.js播放webrtc断流重连的异常修复

H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8&#…

Python功能制作之简单的3D特效

需要导入的库: pygame: 这是一个游戏开发库,用于创建多媒体应用程序,提供了处理图形、声音和输入的功能。 from pygame.locals import *: 导入pygame库中的常量和函数,用于处理事件和输入。 OpenGL.GL: 这是OpenGL的Python绑定…

如何声明一个全局变量?有什么注意事项?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 声明全局变量⭐ 注意事项⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚…

聊聊智慧城市的发展

目录 1.智慧城市应该是什么样子 2.智慧城市的实现方案 3.智慧城市会给人们造成的影响 1.智慧城市应该是什么样子 智慧城市是一种基于信息和通信技术的先进城市管理模式,旨在提高城市的运行效率、居民生活质量和可持续发展。智慧城市整合了各种智能设备、传感器、…

二叉树搜索

✅<1>主页&#xff1a;我的代码爱吃辣&#x1f4c3;<2>知识讲解&#xff1a;数据结构——二叉搜索树☂️<3>开发环境 &#xff1a;Visual Studio 2022&#x1f4ac;<4>前言&#xff1a;在之前的我们已经学过了普通二叉树&#xff0c;了解了基本的二叉树…