面向云的视频会议系统设计与实现

2014-07-09 03:47郭勇GUOYong李潇LIXiao黄振益HUANGZhenyi卢春华LUChunhua
价值工程 2014年23期
关键词:视频会议实例客户端

郭勇 GUO Yong;李潇 LI Xiao;黄振益HUANG Zhen-yi;卢春华LU Chun-hua

(①广西壮族自治区公安厅科技信息化处,南宁530012;②广西公安计算机通讯技术研究所,南宁530012;③广西华蓝设计(集团)有限公司,南宁530011)

0 引言

本文主要介绍了视频会议的相关技术,视频系统的研究背景和应用现状,探索研究NGImeetings Cluster框架结构及NGImeetings Cluster系统的优势。NGImeetings Cluster集群框架可以优化视频会议总体系统框架,使视频系统被广泛用于规模较大且高负载的网络中,给云计算研究奠定坚实的基础。

1 与视频会议相关的技术介绍

1.1 视频会议的简单介绍 视频会议对数据的传输具有较强的时效性,它要求传输的数据速度非常快,且负载非常大,包括多批量的图形与声音,单独的服务器难以达到视频会议的时效性要求。视频会议按实现会议方式的不同,可以分硬件视频会议与软件视频会议。硬件视频可以说是比较传统的,它是用硬件模块对数据进行编码解码、数据存储、数据传输等,具有高专用性的特点,并且效果很理想,视频会议的服务提供模型如图1所示。而软件视频会议充分利用PC机的高性能优势,与其他软件有效结合,实现较强的扩展能力,组成差异框架,具有很强的实用性。

1.2 云计算的介绍 云计算可以被理解为是人们通过网络访问计算机的“通道”,人们对计算机进行访问时,他们不知道所用资源的网络位置也可以找到所需的资源与服务,就是这种资源似乎存在云中。云计算做到了对多个机器的整合,具有大规模、按需求服务的特点,云计算提供了一个虚拟的可以控制的计算平台,按资源的需求对其进行使用,可以展开多种业务。

图1 视频会议服务提供模型

2 视频会议系统研究背景与应用现状

视频会议在近几年发展迅速并被广泛应用,最重要的标准就是国际上对视频编码的制定,尤其是MPEG4的标准制定,促使会议可以在带宽较低的网络中也能提供图像。因为Internet的发展,网络带宽有所改善,计算机也普及到人们的生活中,视频系统已有很多成熟系统,例如:北京亿方的Qmeeting,视高科技的会议系统等。与此同时,软件视频也逐渐网络化,直接点击打开参加会议的网址,就可以简单地交换音频和数据,使参会者能相互交流,如同观看网上的视频一样便捷。以Web为基础的视频弧已渗透到云计算的平台,由云计算平台来负责处理数据的储存与传输工作,有效的提高了处理信息的能力与稳定性。云计算正在逐步成为IT工作者的基础工作,未来云视频会议也会更受到人们的欢迎。因为云计算的较强处理能力与良好的管理机制,未来它将逐步改变网络的使用方式。

3 研究设计NGImeetings视频会议

3.1 NGImeetings是一种Web会议系统,该系统运用Flash发展人与机器的交换界面,对服务器进行后台整合管理,利用RTMP协议和客户端交换数据与指令,具有多种功能,可以实现文档转化、音频通信、文字传递等,拥有聊天室、会议室等多种模式,系统的客户端打开在浏览器前需要安装插件,才可以在浏览时连接到NGImeetings的服务器,得到相应的会议服务。NGImeetings主要有三个级层,第一级层是人与机器交换的交互层,通过访问入口进去用户界面,同时展示系统的内部信息给外界;第二个级层是业务平台,包括一些基本功能的模块,如:处理音频功能,传递文字功能等,接入传输端口实现对不同媒体运用不同功能进行处理;第三层主要负责控制通信,即通信控制层,媒体服务器负责RTMP数据的传送和控制,有秩序的接受客户端信息并进行传输。随着NGImeetings的广泛使用,单一依靠单服务器已很难实现高效率、大容量的要求,所以服务器集群应运而生。

3.2 NGImeetings Cluster设计的标准。NGImeetings Cluster系统的能用性非常重要,NGImeetings Cluster采用外部动态进行注入可以实现服务器的集群管理,有效提高系统灵活性。因为NGImeetings Cluster是用很多节点一起工作,一旦某个节点失去效力,其他节点不受影响,能确保系统正常运行,具有很强的实用性。

3.3 NGImeetings Cluster整体构架。集群调度节点负责控制整个系统,当出现请求服务时,调度节点先接到信息,传送信息到适当的集群节点,另外,集群节点可以协调分配各个节点的数据流通,暂存共享的数据。通信代理功能由集群节点实现,当它接到客户端请求后,建立连接,通过集群节点得到相应服务;集群服务节点对系统提供实际服务,它负责分配内容进行访问服务。NGImeetings Cluster系统工作流程可以这样简述,首先客户端发送请求到集群调度节点,集群调度在了解整个系统信息的情况下,选择合适的通信节点并将客户请求传达给该通信节点,通信节点收到信息后,会依据负载平衡情况选择服务节点并将请求传给服务节点,通信节点用客户端地址给服务节点发送请求,待服务节点验证后回复对应的信息,最后,通信节点再将服务信息传至客户端。当有节点出现失效不能提供服务时,集群节点可以保证失效节点的异常不扩散,不会影响其他节点正常工作,同时,不会突然中断失效节点用户的服务请求。NGImeetings Cluster系统的这种多个节点相互协调共同工作,最大的优点就是节点之间互不影响异常状态,保证系统整体有效运行。

4 NGImeetings Cluster系统的具体实现

NGImeetings Cluster系统之所以能顺利运用是因为构成它的各个节点有配有相关的应用软件,运用软件有效实现工作机制。它主要分三个大系统,即访问控制系统、提供服务系统、分享数据系统。访问控制系统负责接收客户端的请求,有效实现负责均衡和故障转移。服务提供系统主要对通信节点和服务节点进行动态管理,以及处理客户端的请求,该系统的通信节点和服务节点都装有Red5软件。Red5是具有较强功能的媒体服务器,可以优化结构,同时可实现通信扩展。共享数据系统引入Terracotta管理机制,可以优化服务平台,构建更高效的数据共享,完成调度节点合理分配共享的数据,以提高数据的传送效率,同时,也大大降低系统的通信负荷。

5 基于云的NGImeetings Cluster

基于云的业务与以往的IT系统有所不同,以云平台为基础的业务和资源不一定存在联系,他们不一定覆盖硬件资源和软件资源,云业务具有独特的优点。云资源的共享大大降低了系统投资成本,能适应不同的管理要求,面向云的业务更为简单。创建NGImeetings Cluster虚拟的机模板后,要服务外界,还要实例化NGImeetings Cluster模板,如果将NGImeetings Cluster设计在云平台的区域中,不用担心跨区域的通信问题,也不用安装私有接口,只需要公共接口来进行虚拟组网即可。拥有云的NGImeetings Cluster网络结构后,集群节点仅有一个虚拟机,通信节点和服务节点都至少有一个虚拟机,它们在一个区域中,初化系统时,先启动调度节点实例,再依次启动通信节点和服务节点,调度节点实例对整个NGImeetings Cluster进行监控和调度,提供入口,系统功能特点和服务流程。运行实际的NGImeetings Cluster时,可以依据客户的实际服务需要,实现资源动态化,提高资源可靠性。例如:在某个节点实例不起作用时,运用原来的EMI模板制定和启动新节点的实例;在负载较低时,可以简单地放弃利用率不高的节点,相反地在负载较多时,可以迅速扩充资源,确保系统服务的质量。NGImeetings Cluster组织到Pervasive-Service Cloud的虚拟簇中,实现Gimeetings,迁移到云的基本实现流程如下图2所示。

图2 NGImeetings Cluster迁移到云的基本流程

6 NGImeetings Cluster功能测试

采取不同数量的调度节点实例,通信节点实例和服务节点实例对NGImeetings Cluster系统进行测试,可以检测各个节点间的相互连接情况;可以验证NGImeetings Cluster系统是否可以提供正常视频服务;可以检验调度节点能否均衡地发送请求给服务节点,实现对负载的均衡。

7 结束语

将NGImeetings Cluster系统模型转移到云计算平台的同时,也需要不断地优化,例如如下几方面需要深入研究:对负载实现均衡的具体方法是构建和实现服务集群框架,对均衡负载的研究要待加深,未来的研究工作,可以尝试不同环境下的负载均衡方法;备份多台调度节点,NGImeetings Cluster如果在大量用户同时访问时,容易产生故障,造成调度节点失效。因此,有必要配备多些的调度节点,增强系统接收访问的功能,Terracotta数据管理有待完善。相信通过人们的不断研究,面向云的视频会议系统会更加完善,可以更好地为人们提供服务。

[1]刘会峰.基于IP网络构建视频会议系统[J].信息系统工程,2010(12).

[2]沈旭磊,蒋琼燕.UT斯达康基于云计算的高清视频会议系统[J].电信科学,2011(12).

[3]周巍,陈清金,张云勇,房秉毅.应用云计算技术的视频系统实现分析[J].电信技术,2011(10).

猜你喜欢
视频会议实例客户端
省农办主任暨三农重点工作推进视频会议
民政部召开民政领域社会工作推进视频会议
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于Vanconnect的智能家居瘦客户端的设计与实现
浅谈远程视频会议系统的构建
完形填空Ⅱ
完形填空Ⅰ
客户端空间数据缓存策略