1、基于多机分布式的应用服务部署机制在地铁综合监控系统的应用摘要:本文介绍一种基于多机分布式的应用服务部署机制在地铁综合监控系统中的应用前景,这种多机分布式应用服务部署机制,可以支持多种分布式路由算法,以便于各类应用服务能够灵活的部署到多机服务器集群中,对于提高地铁综合监控系统的可靠性、实时性有着重大的意义。 关键词:多机分布式 一致性哈希算法 负载均衡 服务器集群 综合监控系统 中图分类号: U231+.3 文献标识码: A 1 引言 目前,国内主要大中城市的轨道交通建设快速发展,作为城市地铁机电系统的核心,综合监控系统也发挥着越来越重要的作用。传统的综合监控系统采用分布式节点部署方式,每个节点
2、通过双机热备服务器保证系统的冗余度和可靠性。在控制中心,综合监控系统的中央实时服务器安装各类应用服务模块,用来处理全线所有车站的监控、程控、模式和应急联动等业务。 随着轨道交通业主运营管理模式的信息化、智能化发展,对综合监控系统的数据和业务处理能力要求越来越高。一方面,底层监控设备智能化发展迅速,其设备的自诊断功能日趋完善,为综合监控系统对设备维修数据的采集和处理提供了基础条件;另一方面,用户不再只是满足于综合监控系统常规的设备监控和联动功能,对于综合监控系统在提高旅客服务质量甚至辅助提高行车调度等方面均提出了更高的功能应用需求。这些因素使得传统的综合监控系统必须从面向设备管理的设计思想,向面
3、向旅客服务、面向城市大交通方向转变,其系统的数据规模、业务的复杂程度都成倍增长。 因此,今后的综合监控系统需要处理各类基于不同重要程度、基于不同数据类型、适合于不同运营管理方向的复杂业务。传统的综合监控系统将所有的应用服务模块均部署在一台服务器上,在系统承受数据雪崩等紧急情况下,其系统的关键服务模块可能会受到冲击影响操作员使用。并且,这种单机部署方式,既不能保证应用服务模块级的冗余,也不能保证同类应用服务之间的负载均衡,某个应用服务模块故障时,系统必须整机切换,无法适应大数据量处理和负责业务的要求。 本文介绍一种基于多种路由算法的分布式应用服务部署机制,将这种机制应用于轨道交通综合监控系统,可
4、以有效提高系统应用服务的冗余度和负载均衡能力,从而在根本上提升了综合监控系统的可靠性和实时性能。 2 原理分析 2.1 系统总线 综合监控系统软件采用分布式的架构设计,其核心的管理和数据通信组件是软件系统总线(DATA BUS) ,系统总线提供消息传输通道,用于完成应用服务模块的注册、监视管理等功能。同时,系统总线可以提供分布式路由表的驱动接口,通过分布式路由表完成应用服务模块的路由寻址。下图是典型的综合监控系统软件总线示意图,其中 SCC-BUS 是一种软件系统总线。 综合监控系统软件系统总线示意图 2.2 应用服务的注册、监视、访问机制 综合监控系统的总线,大部分都是采用非操作系统标准总线
5、,也称作“私有总线” 。相比较操作系统的标准总线,私有总线的传输和协议解释效率更高,并具有更高的系统扩展性。私有总线也支持面向服务模型,但由于缺乏公共的 UDDI,因此对于应用服务的管理,需要由相应的路由提供服务注册中心功能,注册中心可以提供与 UDDI 相同的服务接口。 应用服务通过服务注册中心完成注册功能,如下图中的服务A、B、C 三种。每种服务各具有 3 个部署实例。 服务注册中心(UDDI)通过网络存储,将服务的注册情况上报至服务监视模块,同时服务监视模块可以查询所有注册服务的节点状态。 当某个应用需要访问服务的某个具体实例时,应用向总线发起访问请求,总线一方面向服务注册中心查询目标服
6、务的实例部署情况和节点是否在线的状态,并且反馈给总线,总线通过驱动分布式路由表,按照服务注册时采用的路由算法进行计算,并将计算结果也就是实际的访问路径告诉应用,应用通过该路径可以访问到某个服务的具体实例。 应用服务的注册、监视、路由寻址原理示意图 2.3 常用的分布式路由算法 一般来说,根据地铁综合监控系统的实际应用服务模块部署和访问需求,采用的路由算法有如下几种: 1、分布式路由算法 分布式路由算法是几种算法最简单的一种,也是分布式架构中最常用的一种,分布式路由算法具有路径计算简单、路径明确的特点,支持服务的全实例工作状态和主备切换使用。其原理和示意图如下: 2、平均路由算法 平均路由算法是
7、根据用户请求的连续计数 ID,将其平均到每个应用服务实例中,如下图所示。平均路由算法也是一种简单的负载均衡机制。3、一致性哈希算法 一致性哈希算法,也是一种平均算法,其特殊的地方在于其使用的是请求数经过哈希计算后的结果值,对实例总数进行求余计算。与普通的平均算法比较起来,一致性哈希算法得到的访问路径更加合理,特别适用于实时数据库这种数据存储服务。 4、负载均衡算法 负载均衡算法,是根据每个应用服务实例的当前负荷,通过实例监测,查询,最终将访问路径指定到当前负荷最轻的实例上,以实现负载均衡。如下图所示: 3 实际应用效果 在地铁综合监控系统中,引入了多机分布式的应用服务部署机制,可以有效的将某应
8、用服务部署到多台服务器上,系统可以监测这些服务器实例的应用状态和负荷,通过不同的路由算法,快速灵活的启动和切换应用服务实例。 1、提高了应用服务的冗余度和可靠性 与传统的综合监控系统软件架构比较,基于多机分布式的应用服务部署机制不再依赖于整机切换实现冗余,在应用服务层自身就可以实现双机、多机冗余。系统不会因为某个服务器单机服务进程崩溃就强行切换,这大大提高了系统的可靠性。并且,这种机制不但支持传统的双机方式,更是支持多机的服务冗余注册、监视、切换、访问,为今后综合监控系统多机服务集群架构提供了应用服务层的支持。 2、提高了应用服务的实时性 基于多机分布式的应用服务部署机制可以采用多种路由算法支
9、持所有服务实例同时工作,例如平均式算法、负载均衡算法等,在一定程度上,大大降低了单机服务模块的工作压力和处理负荷,充分利用双机、多机的硬件资源,提高了应用服务的实时性和响应性。 3、提高了整个系统的响应性 由于每个服务可以灵活的部署在双机冗余或多机集群的服务器上,因此,从整个系统的层面,可以根据应用服务的功能和重要性进行等级划分。一方面,可以在高可靠性、高性能的硬件上部署关键的应用服务,例如报警、监视、控制,使得系统在资源紧张的情况下,优先保证这些关键服务进程的响应性;另一方面,可以大数据量负荷的应用服务,例如报警、事件日志采用平均算法路由分布,降低单机负荷,提高整个系统的响应性。 基于多机分
10、布式的应用服务部署机制应用示意图 4 小结 计算机 IT 技术的发展和更新,是地铁轨道交通综合监控系统升级换代的原动力。采用最新的计算 IT 技术,可以有效的提升传统综合监控系统的多重性能。基于多机分布式的应用服务部署机制,通过采用小颗粒度的线程机制、灵活多变的路由算法、高诊断性的监视管理,使得综合监控系统可以充分的将应用服务和硬件配置相匹配,提升了综合监控系统的可管理性、可靠性和实时性。这种技术必然成为未来综合监控系统技术发展的趋势之一。 参考文献 1、蒋玲. 集群网络负载均衡技术研究. 中国高新技术企业 , 2010 年 13 期,94-95 页。 2、刘武钊. 集群计算机系统负载均衡技术
11、研究. 哈尔滨工程大学学位论文,2008 年 3 月。 3、柳青瑞. 中间件的负载均衡技术研究. 小型微型计算机系统 ,2003 年 03 期 4、杨彧剑,林波. 分布式存储系统一致性哈希算法的研究. 电脑知识与技术 ,2011 年 8 月刊 5、王光磊. MongoDB 数据库的应用研究和方案优化. 中国科技信息 ,2011 年 20 期,93-96 页 6、王兴. 基于 Chord 的存储节点组织策略研究. 成都信息工程学院学报 ,26 卷第 3 期,2011 年 6 月 作者简介 王心光,1980 年出生,男,山东烟台人,2005 年毕业于浙江大学 机械自动化专业,硕士学位,工程师 / 一级建造师(机电专业) ,浙江浙大中控信息技术有限公司轨道交通事业部副总工兼技术总监,从事公司轨道交通综合监控系统项目的技术管理工作。