流媒体内容分发终极解决方案:当融合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的可靠性、可管理性也可完美结合。这两方面都为实现一个能够承载电信级超大规模内容分发传送应用的内容分发平台提供了机会,火伞云也希望能够为大家提供更优质的大规模流媒体内容分发服务体验。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vulnhub系列靶机--- Hackadmeic.RTB1

系列:Hackademic(此系列共2台) 难度:初级 信息收集 主机发现 netdiscover -r 192.168.80.0/24端口扫描 nmap -A -p- 192.168.80.143访问80端口 使用指纹识别插件查看是WordPress 根据首页显示的内容,点击target 点击…

TCP最大连接数问题总结

最大TCP连接数量限制有:可用端口号数量、文件描述符数量、线程、内存、CPU等。每个TCP连接都需要以下资源,如图所示: 1、可用端口号限制 Q:一台主机可以有多少端口号?端口号与TCP连接?是否能修改&#x…

RTP/RTCP的 NACK, PLI,SLI,FIR

1,概述 在网络环境不是太好的情况下,比如网络拥塞比较严重,丢包率可能比较高,简单实用NACK重传的机制,这样就会有大量的RTCP NACK报文,发送端收到相应的报文,又会发送大量指定的RTP报文&#x…

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

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

小说图文实现构想

1、当前小说盈利模式 当前大部分小说平台盈利模式主要依赖于小说IP的实现,如影视、动漫及书籍出版等,其中通过VIP等充值阅读方式从部分用户获取收入,当然由于盗版横行,通过VIP获取收益往往不是很理想想,广告收入在整个…

Django REST framework实现api接口

drf 是Django REST framework的简称,drf 是基于django的一个api 接口实现框架,REST是接口设计的一种风格。 一、 安装drf pip install djangorestframework pip install markdown # Markdown support for the browsable API. pip install …

Mongodb两种启动方法

一、命令行启动 1.修改存放数据库的位置 说明:E:\data\mongodb;我在E盘创建的文件夹mongodb mongod --dbpathE:\data\mongodb 2.成功启动 说明:默认端口27017,代表已经启动成功 ,并在mongodb自动创建文件 二、配置项…

JFrog Artifactory介绍

JFrog Artifactory 1. 简介2. 安装3. 使用说明3.1 界面展示3.2 仓库搭建流程(本地库)3.3 普通用户界面展示3.4 上传制品,可单传或多传3.5 下载制品3.6 支持搜索3.7 单个制品复制移动删除3.8 用户管理3.9 存储信息3.10 基本设置 4. 前期调研被…

什么是软件压力测试?软件压力测试工具和流程有哪些?

软件压力测试 一、含义:软件压力测试是一种测试应用程序性能的方法,通过模拟大量用户并发访问,测试应用程序在压力情况下的表现和响应能力。软件压力测试的目的是发现系统潜在的问题,如内存泄漏、线程锁、资源泄漏等,…

心理与神经生物工程交叉学科国际论坛—暨第17届复合医学工程国际会议(CME2023)

心理与神经生物工程交叉学科国际论坛—暨第17届复合医学工程国际会议(CME2023) International Forum on the Intersection of Psychology and Neuromedical Engineering -17th International Conference on Complex Medical Engineering (CME2023) 心…

IoT DC3 是一个基于 Spring Cloud 的开源的、分布式的物联网(IoT)平台本地部署步骤

dc3 windows 本地搭建步骤: ​​ 必要软件环境 进入原网页# 务必保证至少需要给 docker 分配:1 核 CPU 以及 4G 以上的运行内存! JDK : 推荐使用 Oracle JDK 1.8 或者 OpenJDK8,理论来说其他版本也行; Maven : 推荐…

solidity0.8.0的应用案例10:可升级合约

这个案例是代理合约的实际操作,代理合约实现了逻辑和数据的分离,就可以实现在生产环境中,轻松升级合约,这就是一个如何实际升级合约的案例。 实现一个简单的可升级合约,它包含3个合约:代理合约,…

聚观早报|2023戴尔科技峰会助力创新;小米汽车电池供应商敲定

【聚观365】8月23日消息 2023戴尔科技峰会助力企业创新 小米汽车电池供应商敲定中创新航和宁德时代 iPhone15预计有6种配色 王小川卸任自动驾驶企业禾多科技董事 特斯拉动力总成副总裁宣布离职 2023戴尔科技峰会助力企业创新 近日“新生万物 数实新格局 —— 2023戴尔科技…

记录protocol buffers Mac安装

使用brew安装最新的protobuf 在Mac 上安装,使用brew 可以安装最新的protobuf。这个也比较简单,简单说一下。 首先先检查一下是否安装了brew。如果没有安装brew的话,请先安装brew.可以通过brew --version来检查 使用brew install protobuf 来…

【Modbus通信实验三】数据切片问题

在做两个串口相互通信的实验中,当发送频率快一点时偶尔会遇到以下情景,即一次send中把原数据拆成两份发送,就会导致CRC校验错误。下图中6字节数据拆成42是把SetRThreshold()阈值设为2,当设为1的情况下则会拆成51。 一开始以为是缓…

流弊的docker

docker就是隔离式运行软件组(多个软件),docker分为dockerfile文件,images 镜像,容器,本地仓库,远程仓库。 ckerFile文件,可以获得images镜像 运行镜像获得容器 || 容器提交获得镜像…

二叉树---前,中,后序遍历做题技巧(前,中,后,层次,线索二叉树)

1.由二叉树求前,中,后序遍历 前序:根左右(每一个小方块都遵循) 得到:A,B,D,H,E,I,C,F,G 中序:左根右(每一个小方块都遵循) 得到:H,D,B,I,E,A,F,C,G 后序:左右…

QCC_BES 音频重采样算法实现

+V hezkz17进数字音频系统研究开发交流答疑群(课题组) 这段代码是一个用于将音频数据进行立体声重采样的函数。以下是对代码的解读: 函数接受以下参数: pcm_buf:16位有符号整型的音频缓冲区,存储了输入的音频数据。pcm_len:音频缓冲区的长度。mic1:16位有符号整型的音频…

本地生活服务平台加盟哪家公司好?

本地生活的竞争从年初的火热到现在,已经进入了下半场,随着优胜劣汰的筛选,那么直到现在,想做本地生活服务平台加盟,哪家公司比较好呢,应该如何选择呢? 首先我们得弄懂,我们加盟本地…

在线图片怎么转换成PDF?在线图片转换成PDF步骤介绍

文件格式要转化不知道怎么办?想要网上下载文件格式转换软件,但是却不知道下载哪个好?今天小编小编就给大家分享一下靠谱的小圆象PDF转换器工具,想知道这款软件好不好用?在线图片怎么转换成PDF?那就进来看看吧。 在线图片怎么转换成PDF 小圆象PDF转换…