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

news2024/10/6 8:30:35

前言

随着互联网的发展,流媒体视频内容日趋增多,已经成为互联网信息的主要承载方式。相对传统的文字,图片等传统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.coloradmin.cn/o/916563.html

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

相关文章

8个最受欢迎的机器学习部署工具【2023】

我们如何在生产环境中创建和部署经过训练的模型 API 受到机器学习生命周期的许多方面的控制。 MLOps 的概念对于处理复杂的 ML 部署环境非常有益。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 实施可靠的 MLOps 可以为投资机器学习的公司带来巨大收益。 了解要使用和…

Python基础之基础语法(一)

Python基础之基础语法 我们安装完Python环境后,就可以开始Python的学习了。 Python解释器 解释器说明CPython官方,C语言开发,最广泛的Python解释器IPython一个交互式,功能增强的CPythonPyPyPython语言写的Python解释器&#xf…

打造顶尖微服务项目!解锁四种持久化工具的酸爽奇迹!

前言 看到标题是不是以为我要教你微服务的什么绝技了? 很遗憾,我只是想给你们分享一下我目前经手的一个SpringCloudAlibaba微服务项目带来的酸爽体验。 今天,我姑且把持久层的酸爽感受同诸位交流一二,让诸位知晓编程领域之浩瀚广阔…

《Zookeeper》源码分析(十八)之 ZKDatabase

目录 ZKDatabase1. 创建FileTxnSnapLog数据结构构造函数 2. 创建ZKDatabase数据结构构造函数 3. 加载日志数据SnapLog.deserialize() DataTreedeserialize() ZKDatabase 在上一篇文章中提到ZKDatabase,它是zookeeper的内存数据库,负责管理会话、DataTre…

C++信息学奥赛1839:【05NOIP提高组】谁拿了最多奖学金

这段代码是一个奖学金评选程序&#xff0c;根据学生的各项指标计算出最高奖学金金额和获得该奖学金的学生姓名。 具体解析如下&#xff1a; #include <iostream> #include <string> using namespace std;int main() {int n; // 定义整数变量n&#xff0c;用于存储…

实例042 在窗口间移动按扭

实例说明 窗体中每个可视控件都有所有者和父对象两个重要属性&#xff0c;所有者是控件建立时指定的所属对象&#xff0c;该对象可以是不可视控件&#xff0c;而父对象必须是可视控件。因此可以通过窗体中可视控件的Parent属性来判断控件是否在这个窗体中&#xff0c;还可以用…

js逆向工具-v-jstools插件自动补环境

目录 一、反爬参数如图二、知识点提前Get三、v_jstools安装四、详细分析流程方法一&#xff1a;本案例操作流程之-生成临时环境-直接可以用的情况方法二&#xff1a;本案例操作流程之-生成临时环境-不可以直接用&#xff0c;需要调试补下 五、文章与视频 一、反爬参数如图 二、…

so-vits-svc 4.1 详细使用记录

前几个月在B站听到了许多AI孙燕姿的“作品”&#xff0c;自己也很好奇是如何做到的。这不最近有了点时间&#xff0c;体验实践了一下。 其实so-vits-svc的文档写的已经比较详细了。但实际操作起来&#xff0c;因为环境的原因会遇到各种问题。本篇也是将我遇到的问题整理出来&a…

字母异位词分组——力扣49

vector<vector<string>> groupAnagrams(vector<string>& strs){unordered_map<string, vector<string>> mp;for

总结记录Keras开发构建神经网络模型的三种主流方式:序列模型、函数模型、子类模型

Keras是一个易于使用且功能强大的神经网络建模库&#xff0c;它是基于Python语言开发的。Keras提供了高级API&#xff0c;使得用户能够轻松地定义和训练神经网络模型&#xff0c;无论是用于分类、回归还是其他任务。 Keras的主要特点如下&#xff1a; 简单易用&#xff1a;Kera…

自动化脚本本地可以跑成功云服务器报错:FileNotFoundError:[Errno 2] No such file or directory

出现这种情况&#xff0c;原因之一可能是脚本中某些路径没有使用自动获取&#xff0c;当使用相对路径可能就会报错 把路径改为自动获取之后 self.data get_yaml_data(os.path.join(configs_path, method_path.yaml))再次运行代码就不会报文件找不到的错误了

如何保障Facebook账号登录稳定

当谈到保障Facebook账号的稳定性时&#xff0c;我们不得不提到那些令人头疼的情况——Facebook账号被封。尽管我们已经踏入数字化的未来&#xff0c;但是被封号似乎是一个时常困扰着社交媒体用户的问题。那么&#xff0c;让我们来看看一些常见的Facebook账号被封的原因&#xf…

【TDSQL-C Serverless 产品体验】| 实战分享 | 文末送书

目录 一. &#x1f981; 产品引入二. &#x1f981; TDSQL-C数据库使用体验——实战案例2.1 实战案例介绍2.2 实操指导1. 购买TDSQL数据库2. [配置选择](https://buy.cloud.tencent.com/cynosdb#/)3. 配置TDSQL-C 集群4. 点击授权并创建5. 记住主机名和端口6. 登录TDSQL7. 链接…

Bit Timing Configuration

注意 此功能是实验性的。在未来的版本中,实现可能会发生变化。 ISO 11898中规定的CAN协议允许针对给定应用优化比特率、采样点和采样数量。这些被称为比特定时的参数可以被调整以满足通信系统和物理通信信道的要求。 这些参数包括: tseg1: 时间段1(TSEG1)是从同步段结束到采…

24V输入防反接电路

#24V输入防反接电路 &#xff08;部分图片参考东沃电子&#xff09; 用于对输入的24V电源进行防反接及ESD保护&#xff0c;可用于EMC测试实验的电源输入保护&#xff0c;额定电流3A&#xff0c;后级电路最大损坏电压为48V。 1.24V输入防反接原理图 如上图所示&#xff0c;24V_…

华为AR路由器 典型配置案例——以太网交换

目录 Eth-Trunk 例&#xff1a;配置三层链路聚合 组网需求 操作步骤 检查配置结果 配置脚本 VLAN 举例&#xff1a;配置基于接口划分VLAN&#xff0c;实现同一VLAN内的互通&#xff08;同设备&#xff09; 组网需求 操作步骤 检查配置结果 配置脚本 举例&#xff…

2023年国赛 高教社杯数学建模思路 - 案例:粒子群算法

文章目录 1 什么是粒子群算法&#xff1f;2 举个例子3 还是一个例子算法流程算法实现建模资料 # 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法&#xff1f; 粒子群算法&#xff08;Pa…

ui设计专业学生实习报告范文

ui设计实习报告范文篇四 经过了四年的理论学习&#xff0c;使我们对平面设计有了基本掌握&#xff0c;对于平面设计这个专业也有了一个系统的学习和掌握。我们即将离开大学校园&#xff0c;作为平面设计专业的毕业生&#xff0c;心中想得更多的是如何去做好一个平面设计师、如…

操作系统-笔记-第五章-输入输出管理

目录 五、第五章——输入输出管理 1、IO设备的概念和分类 &#xff08;1&#xff09;IO设备分类——使用特性 &#xff08;2&#xff09;IO设备分类——传输速率 &#xff08;3&#xff09;IO设备分类——信息交换&#xff08;块、字符&#xff09; 2、IO控制器 &#x…

【Terraform学习】使用 Terraform 将 EC2 实例作为 Web 服务器启动(Terraform-AWS最佳实战学习)

使用 Terraform 将 EC2 实例作为 Web 服务器启动 实验步骤 前提条件 安装 Terraform&#xff1a; 地址 下载仓库代码模版 本实验代码位于 task_ec2 文件夹中。 变量文件 variables.tf 在上面的代码中&#xff0c;您将声明&#xff0c;aws_access_key&#xff0c;aws_secr…