0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于对等网络P2P技术和CDN内容分发网络实现多媒体监控系统的设计

电子设计 来源:现代电子技术 作者:王建,刘益和 2021-06-08 14:07 次阅读

引 言

对等网络P2P(Peer-to-peer)技术是目前国际计算机网络技术领域研究的一个热点。该技术的雏形产生于20世纪70年代,典型代表是UseNet和FidoNet;而CDN内容分发网络(Content Distri-bution Network)则是将网站的内容或媒体发布到最接近用户的网络“边缘”,当用户访问时,系统自动无缝地把用户重定向到边缘服务器,从而减轻中心服务器和主干网络的压力,提升流媒体或网站的性能。

随着网络技术的迅猛发展,流媒体内容在互联网中大量传播,对于高质量的流媒体分发服务体现得越加明显,因而为大量用户提供快速,高质量的流媒体分发服务成为了最近研究的热点和难点。

在多媒体监控系统中所要传输的数据量是相当大的,主要包括:控制信息、反馈信息、视频音频和其他如文本信息等。对于传统的基于C/S模式或B/S模式的多媒体监控系统,在监控点和监控中心之间进行这些大量流媒体数据传输,服务器性能会直线下降。基于此本文把P2P技术引入到该多媒体监控系统设计中主要做了如下改进:

(1)设计了基于P2P和CDN的监控传输子系统。

(2)客户利用P2P方式从边缘服务器得到服务,同时原始服务器和边缘服务器之间的内容发布也通过P2P方式进行,通过这种方式有效地利用了系统中网络带宽和主机资源,减轻了原始服务器和边缘服务器的压力,减少了主干网数据流量,降低了运营商的成本,提高了客户的服务质量。

(3)为了缓解网络I/O和磁盘I/O的矛盾,在传输子系统的设计中采用半同步/半异步的方式将网络I/O与磁盘I/O分开,并通过任务池的方式进行缓冲。

(4)设计了线程池动态管理算法,有效减小了CPU的负载压力,提高了网络吞吐量和系统整体性能。

(5)针对传统方式的缺点进行了有效的改进,利用半同步/半异步的方式建立系统框架,利用任务池对数据的读写请求进行封装,采用线程池对任务池中的任务进行高效异步处理。通过对任务的闲置情况进行统计,并结合系统的当前资源利用情况,对任务池和线程池进行动态管理,降低了CPU的负载,提高了系统的吞吐量。

2 系统框架

系统总体布局如图1所示,边缘服务器将会与若干客户节点形成P2P网络,提供高效的服务质量,便于降低服务器的负载。

基于对等网络P2P技术和CDN内容分发网络实现多媒体监控系统的设计

当客户在边缘服务器上请求资源不命中时,边缘服务器会向原始服务器请求,原始服务器会根据具体请求要求,将需要的媒体资源通过该文实现的高效传输子系统存储在本地,然后利用P2P的方式向多个边缘服务器发布内容。

通过这种方式有效减轻了原始服务器在内容发布时的压力。理论上它只要将一个完整的媒体副本发送出去,其他边缘服务器会根据P2P的方式得到一个完整的副本。同理,当边缘服务器向客户提供服务时,理论上它也只需要传输一个副本,多个客户端就可以得到完整的服务。原始服务器和媒体资源服务器通常是在一个子网中,网络速度比磁盘I/O速度更快。此时,磁盘I/O成了系统的瓶颈。为了缓解网络I/O和磁盘1/O的矛盾,在传输子系统的设计当中采用半同步/半异步的方式将网络I/O与磁盘I/O分离开,并通过任务池的方式进行缓冲。

上层的主线程处理epoll异步事件和协议交互,框架将接收到的数据按照固定大小封装在任务里面,然后将任务放回任务池,下层线程池负责从任务池中取出任务,进行具体的磁盘读写操作,操作完成后线程和任务分别回到线程池和任务池等待调度。

3 算法实现

为了对线程池进行有效的动态管理,需要采集各种性能参数,经过综合分析之后,对线程池做出调整。该算法中参考了两个最关键的参数,即任务的平均等待时间和CPU使用率。通过任务的平均等待时间,可以分析得到当前线程池需要调整的方向。通过CPU使用率可以得到是否需要增加或者减少线程。

图2中c(current)表示线程池当前平均等待时间;p(previous)表示线程池上次等待时间;pp表示上上次等待时间;ps(pool size)表示线程池大小;pps表示上次线程池大小。该算法中并不是对等待时间的绝对值进行比较,而是对currTime和preTime进行比较,如果差异大于1%,线程池可能需要调整,调整方向需要根据currTime和preTime的大小关系来决定。如果currTime大于preTime,需要进一步比较pre-Time和prepreTime的关系;如果preTime小于prepreTime,并且CPU使用率大于90%,那么减小线程池。减小的步长(stride)为2。如果preTime大于prepreTime,并且CPU使用率小于80%,则增大线程池,增加的步长为2。如果currTime小于preTime,并且preTime小于prepreTime,则增大线程池。

简而言之,算法通过对currTime,preTime,prepre-

Time三者的关系进行比较,确定线程池是否需要调整。

当需要减小线程池时,需要进一步判断CPU的使用率,只有CPU大于一个阀值时才进行减小操作,因为CPU的负载太小也是一种资源浪费;同理,当需要增大线程池时,也只能在CPU小于一个阀值时,才能进行增加操作,因为CPU的负载不能过大。

4 实验分析

因为媒体资源服务器和原始服务器多在同一个子网中,因此实验的环境也通过一个局域网模拟,服务器的基本配置是:两个Intel双核Xeon 3 GHz芯片、2 048 KB缓存、4 GB内存、1 000 Mb/s网卡。

4.1 三种模型的实验数据

实验通过传输子系统从负载发生器下载数据来模拟大量数据请求,并分别收集下列三种模型的实验数据:

(1)传统多线程阻塞模型,即每个现存阻塞得处理一个单独的请求,在图3中用A表示,并简称为A模型。

(2)固定线程数目的线程池,初试线程数采用CPU个数的2倍加2来确定,即10个初始线程,在图3中用B表示,并简称为B模型。

(3)采用该文提出的线程池动态管理算法的模型,初试线程个数也为10个,在图3中用C表示,并简称C模型。

4.2 分析数据得平均值

下面数据均是通过nmon采样和ninon analyser分析得到的平均值。

(1)CPU使用率比较。从图3中可以看到,在A模型中,基本已经占用了所有的CPU资源。因为每个线程服务一个请求,一旦请求大量到来,就会有大量的线程产生。而在B模型中,因为线程个数固定,且已经预先创建好,当请求量过大时,任务队列会起到很好的缓冲作用。C模型是效果最好的,因为线程个数总是会被调整到最佳的个数,并且任务池的使用有效减少了系统中频繁的内存申请和释放操作。

(2)空闲内存比较。从图4中可以容易分析得到,当请求的总量相同的情况下,A和B模型占用的内存情况很接近。但是C模型中,任务池和线程池的大小都是动态伸缩的,提高了系统的处理能力,自然也会使用更多的内存。

(3)网络I/O流量比较。图5展现了3种模型的网络I/O情况,在A模型中,因为采用的是阻塞的方式进行的,当套口已经没有数据可读,线程会阻塞等待数据的到达,而其他已经有数据到达的套接口则可能得不到处理,因此A模型的网络吞吐量比较低。在B模型中,采用的非阻塞和线程池模型,一旦一个套接口将要发生阻塞,线程可以很快切换到其他已经有数据准备好的套接口上,加快了数据的接收速度,因此也提高了网络的传输速度。在C模型中,减小了内存和CPU等部件的负载,提高了性能,动态任务池使得系统有比B模型更好的缓存能力,因此C模型比B模型网络吞吐量更高是可以理解的。系统采用的是l 000 Mb/s网卡,基本达到了网卡的极限。

5 结 语

根据统计线程池中的各个线程的平均等待时间和当前CPU的使用率,对线程池的尺寸进行动态的调整。利用这种线程池动态管理算法,可以很好地适应Internet上客户请求突发性变化的情况。当突然到来大量请求时,根据算法原理,可以增加适量的线程满足额外的请求;当请求变少以后,会将线程的数量减少,从而减轻系统的压力。经过实验分析比较可以得出,采用线程池动态管理算法之后,有效减小了CPU的负载压力,提高了网络吞吐量和系统整体性能。但是,线程池的管理还有很多地方可以优化,比如调整线程池尺寸都是以2为步长进行调整的,但是这个步长是根据经验得出来的,还没有很好的理论依据。同时,可以增加更多的统计信息加入到算法的决策之中,提高算法的精确性。

这里实现了在多媒体监控传输系统中P2P和CDN的结合,引入半同步/半异步的模式,设计了系统框架,引入任务池和线程池等技术,解决了媒体资源服务器和原始服务器之间的高效传输子系统的网络瓶颈,设计了有效的线程池动态管理算法。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    6642

    浏览量

    84467
  • 服务器
    +关注

    关注

    12

    文章

    8099

    浏览量

    82483
  • 监控系统
    +关注

    关注

    21

    文章

    3608

    浏览量

    169135
收藏 人收藏

    评论

    相关推荐

    P2P物联网试用体验】+TCP网络编程

    搜索可以和本地局域网设备一样去管理和修改P2P的设备。注意P2P设备的类型显示为“手动”。虽然板子内置代码,只需要借助软件添加IP地址即可实现网络通信。可感觉没有
    发表于 09-04 10:22

    P2P网络工作的步骤是什么?

    目前,P2P已经作为一种流行的网络技术被越来越多地应用于互联网的文件共享、分布式计算、资源搜索等领域。P2P技术将各个用户节点互相结合成一个网络
    发表于 03-16 07:32

    技术解读:Dragonfly 基于 P2P 的智能镜像加速系统 | 龙蜥技术

    P2P 不同的是,对等网络建立在 Scheduler 内部,目标是最大化 P2P 内部下载效率,如下图:架构简介Dragonfly 面向镜像分发和文件
    发表于 09-06 10:17

    技术解读:Dragonfly 基于 P2P 的智能镜像加速系统

    不同的是,对等网络建立在 Scheduler 内部,目标是最大化 P2P 内部下载效率,如下图:架构简介Dragonfly 面向镜像分发和文件分发,结合
    发表于 11-03 19:10

    P2P媒体分发网络中的数据下载调度策略

    P2P媒体分发网络中,当一个节点同时从若干个其他节点获取数据时,为了按时完成更多的下载任务,需要对数据下载任务进行合理调度,为此该文提出了一种基于多任务关联的数
    发表于 04-23 09:34 18次下载

    对等网络资源搜索技术研究

    本文研究了现有的各种P2P 模型的资源搜索方法包括基于中心目录服务器的对等网络资源搜索、基于洪泛搜索机制的非结构化对等网络以及基于分布式哈希表的结构化对等网络,重
    发表于 12-25 15:34 15次下载

    对等网络简介及在IPTV网络传输中的应用

    一、对等网络技术1.对等网络简介对等网络(peer-to-peernetwork),常被称为P2P或点对点,是近年来兴起的一种新型网络技术
    发表于 06-21 11:01 845次阅读

    移动对等网络关键技术

    P2P系统在Internet上的成功使研究者关注于分布式更强、参与性更广、更具有对等自治特征的移动网络环境.智能终端的普及和移动应用环境的逐渐成熟使得移动
    发表于 03-31 20:53 15次下载

    无结构P2P网络搜索及改进

    对等P2P)计算是未来网络中的关键技术对等网络实现下一代互联网的重要组成部分。如何高效地搜
    发表于 06-28 17:11 20次下载
    无结构<b class='flag-5'>P2P</b><b class='flag-5'>网络</b>搜索及改进

    CDNP2P结合技术在流媒体分发和交付系统中的应用

    从电信运营商的角度分析了CDN技术P2P技术在流媒体分发和交付
    发表于 04-13 15:00 16次下载
    <b class='flag-5'>CDN</b>与<b class='flag-5'>P2P</b>结合<b class='flag-5'>技术</b>在流<b class='flag-5'>媒体</b><b class='flag-5'>分发</b>和交付<b class='flag-5'>系统</b>中的应用

    CDN验证系统P2P网络中的应用

    提出了一种基于CDN 网络P2P 验证方法,有效解决了P2P 网络的用户验证问题。具体的实现
    发表于 04-13 15:08 23次下载
    <b class='flag-5'>CDN</b>验证<b class='flag-5'>系统</b>在<b class='flag-5'>P2P</b><b class='flag-5'>网络</b>中的应用

    内容分发网络(CDN)的发展与应用

    内容分发网络( CDN ) 技术的出现, 使传统的Web访问的数据传输方式得到很大的改进。它通过应用层的内容智能路由
    发表于 04-17 14:45 21次下载
    <b class='flag-5'>内容</b><b class='flag-5'>分发网络</b>(<b class='flag-5'>CDN</b>)的发展与应用

    基于CDN内容分发的研究与应用

    内容分发网络CDN技术是近年来在美国首先兴起并迅速发展起来的一种解决互联网性能不佳问题的有效手段。CDN
    发表于 04-17 14:46 25次下载
    基于<b class='flag-5'>CDN</b><b class='flag-5'>内容</b><b class='flag-5'>分发</b>的研究与应用

    基于P2PCDN的混合流媒体分发模型及分析

    CDNP2P两种主流的流媒体分发技术的基础上,提出了基于系统流量的混合流
    发表于 04-17 14:53 29次下载
    基于<b class='flag-5'>P2P</b>和<b class='flag-5'>CDN</b>的混合流<b class='flag-5'>媒体</b><b class='flag-5'>分发</b>模型及分析

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

    P2PCDN技术的融合,一方面可以互补自身先天计算模型的缺陷,对CDN或者P2P传统架构进行改造;一方面
    的头像 发表于 08-23 10:33 253次阅读
    流<b class='flag-5'>媒体内容</b><b class='flag-5'>分发</b>终极解决方案:当融合<b class='flag-5'>CDN</b>与<b class='flag-5'>P2P</b>视频交付结合