视频会议系统跨域分布式升级方法研究

2020-04-10 10:57余俊万乔乔范志英
物联网技术 2020年2期
关键词:分布式计算

余俊 万乔乔 范志英

摘 要:视频会议系统跨域分级部署存在终端分散、分级管理等缺点,为解决终端软件无法自动升级,升级效率低下等问题,提出了一种视频会议系统跨域分布式升级方法。首先,基于MD5算法生成软件版本摘要文件,通过软件版本摘要文件的对比,进行差异化升级,减少升级内容;其次,将分布式计算融入升级过程中,解决视频会议系统的软件跨域同步问题,实现一处发布、全域升级,以提升视频会议系统升级效率。文章阐述了该方法的流程设计及基于该方法设计实现的分布式升级服务和客户端。此方法可适用于常见的跨域软件系统。

关键词:视频会议系统;软件升级;MD5;分布式计算;分布式协同;订阅发布

中图分类号:TP393文献标识码:A文章编号:2095-1302(2020)02-00-03

0 引 言

视频会议系统被广泛应用于政府、军队、企业、医疗、通信、交通等领域,在持续提升用户沟通效率、缩减企业差旅费用成本、提高管理成效等方面具有得天独厚的优势[1]。

在某些特殊领域,跨域的视频会议系统显得尤为重要,不同于一般企业内部的视频会议,一方面,对实时性、可靠性、稳定性的要求更高,一旦正式开通并提供服务,不允许服务中断或性能下降的问题出现;另一方面,系统本身规模较大,节点成千上万,并发的数据通信量大,且需根据树形节点特征跨域分布,分域提供服务。

利用传统的软件在线升级方法难以满足跨域视频会议系统的性能要求,因此,本文首次提出了一种实时、高效、可靠的针对跨域视频会议系统的软件升级方法。

1 跨域视频会议系统介绍

视频会议系统基于C/S架构,以跨平台软件服务化框架为基础,采用开放业务平台与服务器/视频业务客户端方式部署,各视频业务终端向服务器进行认证和注册,具有视频会议、视频指挥、文件传输、发送短消息等业务功能,业务可按需定制,具有高度灵活性和扩展性。

在某些特殊行业,用户编制为树形结构,有着严格的层级关系,仅在中心部署一个服务器无法满足用户层次化的视频业务需求。因此,需要对视频会议系统进行分域部署,在顶层节点部署一级服务中心,在各分域节点部署二级服务中心,各视频业务终端向其归属域服务器注册,实现视频业务。

跨域部署后,视频业务客户端分散在不同的域,部署在各个地方,且形态多样,人工升级维护极其不便,为了实现跨域视频业务系统客户端的自动在线升级、在线更新,必须实现一种跨域的在线升级方法,在某个域中进行版本发布,通过分布式同步技術实现全域的视频业务客户端版本信息同步。

2 传统的在线升级流程

传统的软件在线升级主要研究方向集中在软件系统本身,力图通过提高软件系统自身的容错能力来实现版本同步、接口翻译、错误检查和自动回退等功能[2]。系统在线升级的方法加大了软件系统的复杂程度,与视频会议系统的高可靠性和实时性相矛盾。传统方法的理想升级过程如图1所示。

同时,考虑到传统软件在线升级方法大部分是针对嵌入式设备,按照传输升级固件途径,主要方法分为以下几种:

(1)可通过串口RS 232/RS 485、CAN总线传输信息,但传输距离受限,实际应用意义不大[3];

(2)若使用SD卡或U盘传输信息,那么对于分布较广的终端来说,需要随身带U盘或SD卡去现场才能升级[4],对于远程升级而言无实际意义;

(3)无线网络传输过程引导程序复杂,代码量大,不适用于传输较大的固件[5]。

以上各方法均难以满足视频会议系统跨域、终端数量多、终端分布广、远程升级等方面对系统升级的要求,且升级可靠性不高,容易造成资源浪费。

3 跨域在线升级方案设计

3.1 流程设计

由于跨域的视频会议系统是客户端/服务器结构模式[6],相应的在线升级算法也包括服务端和客户端两部分,并且支持多软件同时在线升级。

在服务端,此算法首先创建升级文件根目录,存放待升级客户端软件版本,利用MD5算法对客户端软件安装后的目录下所有文件包括子目录下的所有文件进行递归遍历[7],递归遍历所有节点;针对节点遍历过程,创建软件版本摘要文件,标识每一个节点信息及文件信息,供客户端使用;将此算法用C++封装成服务,并以命令的形式创建触发器,最后启动服务即可实现在线升级服务端。服务端算法流程如图2所示。

客户端首次运行时,将提示是否做全面升级,并遍历本地升级目录,创建本地软件校验和列表,然后以消息中间件的形式从服务端获取校验和列表,对比这两个校验和列表,若不相同,则删除出现在本地校验和列表但不在服务器校验和列表中的文件,下载出现在服务器校验和列表但不出现在本地校验和列表中的文件。客户端算法流程如图3所示。

算法在性能方面的优势如下:

(1)节省带宽,自动检查客户的软件版本,并以压缩形式下载仅需要更新的应用组件;

(2)安全性高,增加了防火墙服务,只有授权的客户才能下载升级软件,且能让客户与服务器通过防火墙安全地进行通信,数据可双向通信,也可使用公钥证书进行完全加密。

3.2 升级服务设计

跨域的在线升级服务共设计为五个模块,分别为软件版本库管理、校验和列表管理、域内更新推送、跨域分布式同步、日志收集,如图4所示。

软件版本库管理:软件版本信息管理包括软件版本的导入和检出,内部保存每个对象的标识及服务器的运行地址,并对外提供统一的软件版本检索接口,以满足客户端对软件各阶段版本的更新需求。

校验和列表文件管理:提供基于MD5算法校验和列表文件计算服务,管理校验和列表文件,根据校验和列表文件对软件版本库建立映射关系。一方面,每当软件版本有更新时,便自动断开服务,重新计算数据文件,生成新的文件列表;另一方面,每当客户端进行软件版本请求时,负责对比客户端软件版本校验和文件,完成差异化模块提取。

跨域分布式同步:基于ZooKeeper分布式同步中间件,实现域间的软件版本同步,首先通过同步版本校验和列表文件,然后基于校验和文件实现差异化更新,实现仅需一个域更新版本,便可全域版本同步的功能。

域内更新推送:此模块负责实现本域内客户端用户的软件版本升级,基于一种消息订阅发布模式[8],实现版本校验和文件推送和拉取。客户端实现更新主要有两种方式,一种是版本推送模式,服务器有版本更新时,向各订阅客户端主动推送版本校验和文件及在线升级数据文件;另一种是版本拉取模式,客户端主动向服务器发送版本校验和文件,检查是否有更新,若有更新,服务器向客户端发送在线升级文件,完成更新。

日志收集:实时收集在线升级相关的各种日志信息,包括版本更新信息、跨域版本同步信息、域内客户端在线升级信息等,对日志进行自动分析,并对出现错误的情况进行告警提示。

3.3 跨域版本信息同步实现

ZooKeeper是Apache Hadoop的一个子项目,主要用来解决分布式应用中遇到的一些数据管理和同步问题[9],跨域的版本信息同步基于ZooKeeper,在跨域在线升级服务之间建立一条数据同步链,由于域与域之间采用骨干通信网络,多为光纤和有线网络,足以支撑一条数据同步链,因此在数据同步链技术上实现版本校验和数据同步,通过差异化对比实现软件版本同步,进而完成跨域版本信息同步,如图5所示。

基于数据同步链,只需要在数据链中某一个升级服务节点部署软件版本,然后通过分布式数据同步技术,各级服务器间接完成软件版本同步,所有客户端通过订阅-发布模式完成软件的在线升级,对大容量的视频会议系统来说实现了“一次部署,全面升级”的目标,不仅减少了人为误差,且灵活高效。

3.4 单域客户端在线升级实现

单域客户端节点数量较多,无法针对每个客户端提供单独的服务进行软件升级,因此采用高性能消息中间件实现,基于消息订阅发布模型,将软件版本信息发布到消息中间件,由消息中间件负责将信息推送到所有订阅客户端,实现各客户端软件的升级更新,如图6所示。

采用订阅发布的模型进行软件更新升级具有以下特点:

(1)在线升级的各服务模块及其所在服务器与视频会议各终端之间完全解耦和;

(2)在线升级服务器发布的单个事件可被发送到多个订阅者,特别适合视频会议系统终端用户数较多的情形;

(3)在线升级服务的多个实例可在不同机器上运行,使得处理负载分摊到许多CUP上。

4 结 语

跨域信息系统客户端软件的实时更新与维护较为繁琐,本文提出了一种新的在線升级算法,有效规避了传统在线升级方法的不足;并充分利用订阅发布消息模型、分布式数据管理、分布式数据同步等技术[10],设计了一种跨域的信息系统在线升级方案,特别适合于分布范围广、系统容量大、并发程度高的系统,且实时性、高效性、可靠性强,目前已成功应用于某大型视频会议系统中,具有一定的推广价值。

参 考 文 献

[1]雷颖思.视频会议系统技术及发展[J].计算机工程应用技术,2017(11):88-90.

[2]焦诚,李英.卫星导航地面控制系统在线升级与验证方法[J].现代导航,2016,7(2):94-98.

[3]韦士雄.煤炭信息采集系统的信号处理和在线升级研究[D].济南:山东大学,2016.

[4]李敏,侯亚玲,刘颖.基于SD卡的FAT32文件系统设计与实现[J].物联网技术,2017,7(7):96-98.

[5]张萌.基于ISP/IAP和CAN总线的远程升级系统研制[D].青岛:中国海洋大学,2013.

[6]刘胜娃,李卫,张越.长庆钻井公司统一通信平台的设计与实现[J].物联网技术,2017,7(4):62-63.

[7]李韩芬,张家凤,陈莹.MD5软件在版本控制中的应用研究[J].无线互联科技,2016(17):43-45.

[8]郑鹏怡,张振国,袁战军.基于发布订阅机制的实时中间件的设计与实现[J].计算机应用与软件,2018(2):44-47.

[9]周继锋,冯钻优,陈胜尊,等.分布式数据库架构企业实践[M].北京:电子工业出版社,2017.

[10]刘春涨,王丽颖,靳庆庚,等.基于Paxos算法的分布式计算模型探究[J].物联网技术,2016,6(4):56-57.

猜你喜欢
分布式计算
分布式系统中基于非合作博弈的调度算法
云计算中MapReduce分布式并行处理框架的研究与搭建
面向异构分布式计算环境的并行任务调度优化方法
同态加密的发展及应用