基于云平台的弹性伸缩流媒体集群
2022-12-07陈绍镇倪建剑徐寅翔江礼凯
高 欣,陈绍镇,倪建剑,孙 毅,徐寅翔,江礼凯,王 喆
(杭州瑞网广通信息技术有限公司,浙江 杭州 310000)
0 引言
杭州地铁建设已进入高速发展阶段,随着开通线路日趋增多,已逐步走向线网化运营的方向。云计算的发展历史悠久,其把计算所需要的数据资源、软件和硬件资源通过网络与不同的终端设备进行共享,支持这些资源的平台就叫做“云平台”。云计算技术的发展,使得云平台的形式、服务方式都在不断地改变。云平台从底层架构向平台、平台向服务、从服务到应用,都伴随着服务的不断完善。目前的云计算平台可以为用户提供各种级别的计算服务,而不需要担心硬件资源管理和基础运行环境的复杂性,而只需要专注于软件的开发、部署和维护。在云计算中,随着云计算的规模和复杂性的不断提高,传统的单一云服务模式的问题也越来越突出。单片机系统的主要问题是稳定性和可靠性差。在一个需要稳定和连续使用的应用系统中,单一的故障是非常严重的。所以,构建一个基于应用的微型服务体系结构是一个更好的选择。基于云平台的弹性伸缩流媒体集群不仅可以解决线网平台中视频并发调用、并发转发、转码难的问题,还能避免硬件资源浪费,实现节能环保、绿色低碳的建设宗旨。
1 背景
杭州地铁机场快线公安新线网平台(以下简称“线网平台”)要实现对目前已开通、在建及规划的20条线路(既有1、2、4、5、16号线、同期建设的3、6、7、8、9、10号线以及后续10条线路)的视频图像监控及并发调用[1]。
线网平台通过与线网指挥平台互联,将各线路视频图像转发至线网指挥平台,实现线网指挥平台监控终端对所有线路的操作和显示[2]。线网平台预留接入市局共享平台、分局联网平台、实战平台等上级单位视频监控平台的条件,通过视频并发转发,实现上级平台对杭州地铁各线路图像资源的调看[3]。
既有线路、市局等上级平台由于建设年限较早,视频流编码格式仅支持H.264,后期线路均采用H.265视频编码格式,需流媒体服务将H.265格式视频转换成H.264格式视频,转码后的视频才能被上级平台正常调看[4]。
线网平台实现对已开通的1、2、4、5、16号线以及近期建设的6、7、8、9、10、3、机场线的列车车载视频图像的接入及改造,实现在建及后续线路的接入[5]。
线网平台中对视频流的处理是关键业务,流媒体服务作为视频流处理的核心组件,它的功能与性能直接影响整个平台的实用性,故须设计一套性能优越、功能完善、兼容性良好的流媒体服务以保证线网平台的稳定运行。
2 集群管理
在实际应用中,单一的服务器已经无法满足用户的运算能力,服务器的处理和存储的增长要比网络的带宽和应用程序的增长要慢得多,而单一的服务器只能通过增加处理器和其他组件的运算速度来实现。目前,一些超级计算机拥有强大的运算能力,但是也有昂贵的服务器,具有不可扩展性、不能很好地处理当前网络中常见的问题(单一的故障和服务器资源不足),而集群管理技术就是用于解决这种问题的一种技术。利用该技术,可以将离散的计算资源结点进行连接,完成单个源节点难以完成的高质量、高速度的工作,从而形成一个松散耦合的多台计算机。客户机与其进行互动,如同与高性能、高可用的服务器进行交互,而不需要进行任何更改。该系统的扩展性很强,在集群不能满足用户要求的情况下,可以增加新的服务器,而且,即使在集群中某一台服务器发生故障,也不会对其性能造成任何影响。同时,在集群操作中,必然会涉及流媒体,流媒体服务采用分布式集群架构部署,集群管理模块实现流媒体等各功能集群的全业务周期管理。
集群管理模块功能如下:
(1)业务周期管理:支持包括创建、运行、添加节点、删除节点、解散、业务分配的周期管理,支持Web方式的管理。
(2)动态扩展:支持集群的可控伸缩,支持集群节点的添加和删除操作,可根据业务变化动态调整集群总的业务处理能力和存储容量;管理员可根据业务需求解散集群,解散后集群中各节点失去集群保护功能,但仍能继续承载业务,不影响用户使用。
(3)系统管理:支持对物理资源和集群的监控功能,支持对集群工作状态的实时显示。
(4)负载均衡:支持负载均衡的策略执行,支持当集群节点出现资源紧张的情况时,自动进行业务迁移,以平衡物理资源的负载。
(5)远程配置:通过Web管理界面,用户可完成节点的初始化配置。
(6)实时监控:支持对集群节点内存、CPU、网络等资源使用情况进行实时监控;支持对集群节点在线、下线状态监控;支持对系统关键进程的状态监控;支持以上所有资源超限制使用或异常时的告警。
(7)备份恢复:支持集群全数据备份,包括集群配置、业务配置。
(8)系统安全:当集群本身出现故障时,集群基本功能不受任何影响;支持集群节点故障预测(如:日志爆发,进程重启,服务失效等),从而将业务先于故障提前迁移并告警,最大限度减小对业务的影响。
3 流媒体集群
随着互联网应用的快速发展与普及,流媒体服务成为一种受欢迎的主流服务。在Internet上,多媒体新闻发布,网络直播,网络广告,视频点播,远程教育,远程医疗,网络电视台,实时视频会议等。在无线网络中,以CDMA2000、GPRS/EDGE、UMTS等为核心的无线数据包服务。当前,随着空中通信带宽的不断提高,流媒体业务的发展也越来越受到人们的欢迎。同时,由于无线网络不受时间和空间的限制,也使其具有更大的吸引力。基于此,流媒体服务采用分布式集群架构建设,支持视频并发转发及视频并发转码功能,可根据负载智能进行任务调度。
直播流媒体业务系统所提供的服务数据的处理性能和业务带宽要求都很高,而对于分布或簇的服务器系统,为了提高其可用性,必须将合理数量的客户端请求分配到合适的节点上。集群组无法为每一个直播流固定设置一个服务器来运行这些流媒体业务。同时,由于内存有限,各服务器无法提供全部的服务。唯一的可能性就是,每个服务器都要承担一部分自己的数据流。不同节目的热度要求我们对流媒体业务进行合理地配置,从而提高整个系统的性能和资源的使用。
流媒体集群分发模块在业务上支持自动和被动两种方式,主动的分发可通过订阅列表进行分发,视频流、视频截图订阅列表包含订阅的渠道和协议等相关信息,平台根据订阅的内容主动将需要推送的视频流、视频截图主动推送到该应用或者外联平台。被动的方式主要是提供API接口,供内部应用或者外部平台根据业务需要进行调用。用户可根据当前的网络带宽选择合适的码流进行视频流调用。
3.1 流媒体转发
流媒体转发支持大规模的流媒体并发转发任务,支持超过10 000路的视频转发。
流媒体集群可智能监测流媒体节点的负载压力(CPU、内存)、网络压力(带宽、连接数),准确地将用户访问、视频请求均衡转发到集群中最适合的节点;当单个节点中某路或某几路出现高峰并发时,支持将该节点上某路或某几路转发到集群内其他节点再进行转发,实现大规模的流媒体并发服务。
支持同一路摄像机主、副码流多通道同时转发能力,可根据应用需求智能地选择转发通道以实现大规模视频流并发转发,保证平台稳定性。
3.2 流媒体转码
流媒体集群对需要输出的视频流进行动态转码,根据客户端的需求可对流媒体进行降码流、转编码、转协议等操作,并可将一条流转成若干个不同码流和编码格式的流输出给用户。可控制转码过程和输出视频流的各个参数,可选择或手动输入输出格式、视频帧率、视频分辨率、视频编码格式、视频码流、音频编码格式。
流媒体集群支持多节点同时进行转码任务,可智能监测节点的负载压力(CPU、内存)、转码队列等待长度进行转码任务的分配,充分利用所有节点的资源,满足大规模转码的需求。
支持MPEG-4、H.264以及H.265等多种编码格式转换。
通过流媒体转码功能将视频流转换成所需要的视频格式,满足不同平台间的视频相互调看。
流媒体模块同时支持国际标准的H.264、H.265两种编码格式,以达到全系统的视频图像采集、传送、存储、显示的全高清模式。
4 虚拟机弹性伸缩
4.1 虚拟机动态扩容
集群管理模块向虚拟机调度模块定期发送集群状态信息,当虚拟机调度模块接收到集群资源处于超限制使用或异常时,主动调用接口通知虚拟化云平台开启新的虚机,虚拟化调度模块通知集群管理模块将新开启的虚机加入集群中,实现集群的动态扩容。
4.2 虚拟机动态缩容
当虚拟机调度模块接收到集群资源过剩时,应通知集群管理模块删除资源过剩的集群节点,同时主动调用接口通知虚拟化云平台关闭相应的虚机,实现虚拟机资源回收。
4.3 虚拟机高可用
当某台虚机上运行的软件服务卡死或端口不可用,此时虚拟化云平台无法感知故障,将导致该虚机上业务系统暂时不可用。
线网平台集群提供业务高可用特性,支持将故障虚机上的业务迁移至集群中其他运行正常的虚机,保证业务系统的正常交互。
虚拟机高可用保证了流媒体集群的稳定运行,不存在单点故障。
4.4 虚拟机集群负载均衡
虚拟机集群具备负载均衡功能,支持负载均衡的策略执行,支持当集群节点出现资源紧张的情况时,自动进行业务迁移,以平衡物理资源的负载。
虚拟机集群负载均衡实现流程如图1所示:
图1 虚拟机集群负载均衡实现流程
5 方案创新
流媒体集群在架构上考虑了轨道交通视频监控的需求,围绕视频流并发调用、视频流并发转发、视频流转码等方面进行了深化设计,为线网平台视频调用,视频转发、转码创造了条件,轨道交通行业领先,具有较强的示范作用。
5.1 基于虚拟化云平台的流媒体集群应用
流媒体采用集群化部署大大提高流媒体性能,云平台建设避免硬件资源浪费,实现碳中和的理念,为国内线路建设、新旧线路衔接、旧线改造提供了实施指引。
5.2 流媒体集群主动感知资源利用
流媒体集群通过集群管理模块自主感知自身资源占用,通过与虚拟化云平台信令交互完成虚拟资源的调配。
5.3 虚拟资源的弹性伸缩
流媒体集群承载在虚拟化云平台中,流媒体集群自主感知自身服务运行状态,实现模块资源的动态伸缩和业务高可用,为后续智慧安防应用部署模式开创了先例。
6 结束语
流媒体集群充分结合了“云平台”和“弹性伸缩”的独特优势,是当下全国轨道交通行业具有高灵活性、高性能的实施案例。
基于云平台的弹性伸流媒体集群在轨道交通行业属于首创,是针对轨道交通中视频监控高并发处理难等问题提出的,流媒体作为视频流处理的核心服务,它的性能及稳定性决定了视频流处理的能力。通过集群化部署将单独工作的流媒体服务组成高性能处理组,以应对高并发处理瓶颈。结合云平台的虚拟资源弹性伸缩,不仅可以在资源紧缺的时候实现动态扩容,保证了流媒体集群的性能及稳定性,还可以在资源空闲的时候实现动态缩容,保证了资源的充分利用,避免资源浪费。
流媒体集群结合轨道交通行业视频监控的特点和各级部门的普遍诉求,进行了切实可行的方案设计和研讨实施,为轨道交通行业在视频流处理、视频流调用方面提供了独树一帜的建设方案和指导思路。