计算机科学技术论文:城市应急联动指挥系统CMS子系统的设计与实现摘要在分析目前城市应急联动指挥系统存在问题的基础上,设计并实现了CMS(CommunicationManagementSystem)子系统的解决方案。通过综合运用计算机电信集成技术和中间件架构,实现了应急信息的有效整合,特别是电话网络与计算机网络的信息整合,同时还充分考虑核心控制模块的容灾备份机制,保证了城市应急联动指挥系统可靠运行。关键词城市应急联动指挥系统计算机电信集成技术中间件架构CMS0引言目前,我国绝大部分城市应急服务指挥系统的建设处于多中心分散状态,有110公安指挥中心,119消防指挥中心、122交通事故处理指挥中心、120医疗急救服务中心等。这种多中心分散状态一方面造成了资源重复配置,投资分散等问题。另一方面无法满足应急服务所需的快速反应、合成作战指挥要求。针对这种情况,我国已有多个城市建设或正在筹建城市应急联动指挥系统。2002年南宁建立了中国第一家城市社会应急联动中心,对城市各类指挥中心应急资源进行了整合共享,获得了良好的社会效益和试点效果。在此基础上,广州、成都、深圳、上海、青岛等城市根据本地的实际情况,结合具体的应急业务需求,进行了应急联动指挥系统的建设。城市应急联动指挥系统是一个软、硬件集成,通信技术和信息技术综合应用的复杂集成系统,如图1所示。建设好如此复杂的系统,关键需要解决应急业务快速处置的三个核心问题:应急信息的搜集、传输和共享[1]。应急信息的搜集由应急组织中的各种各样业务信息系统来完成,应急信息的传输依赖于通信技术发展,而应急信息的共享则需要通过系统内以及多系统间的互操作集成来达成。这种集成不是简单的系统叠加,也不是纯粹的系统接口集成,而是一个涉及从网络结构融合、数据资源整合、核心通信与信息系统底层聚合到终端设备应用和操作界面嵌合的复杂系统工程,最终生成一个逻辑上统一的、功能上有机组合的、屏蔽了不同子系统异构性的城市应急联动指挥系统[2]。因此,针对上述应急信息的共享问题,本文设计实现了CMS子系统,通过该子系统能够很好地屏蔽不同城市应急联动系统各子系统之间的异构性[3],减少应用系统集成的复杂度,有效解决在应急联动指挥系统内部多硬件设备集成、子系统之间内部调用的问题以及应急中心和应急联动单位的多系统信息源的搜寻和有效路由的关键问题,保证系统的稳定、平滑应用。1问题分析及架构设计与应急联动指挥系统组成结构中的三个平台层次相对应的,应急联动指挥系统在技术集成上可以抽象为表示层、中间层和基础数据设备层(包括数据库系统、需集成调用的硬件设备系统等)三层逻辑结构。其中,中间层主要实现应用业务逻辑、提供各种硬件系统的软件服务支持,实现不同子系统的协调工作和支持各种事务处理活动,并且作为应用业务逻辑功能实施的一部分,中间层可以访问在基础数据设备层运行的且与应用相联系的数据和函数。基础数据设备层的各子系统相互之间不直接实现点到点的连接,而是通过中间层来实现数据的交换[4]。CMS子系统即该中间层的重要组成部分,如图2所示。CMS子系统作为应急联动指挥系统各子系统集成架构中的中间层,主要采用以下集成概念:(1)所有涉及到突发公共安全事件应急指挥核心业务流,并与各类通信系统/前端设备进行底层操作交互与控制的应用软件系统(包括报警受理子系统、计算机辅助调度、地理信息系统、数字视频、数字录音、移动指挥车、手机定位、预案管理等应用软件)在基于分布式CTI技术基础上和CMS子系统进行集成。(2)所有涉及到突发公共安全事件应急指挥关键调度流的通信系统(包括有线数字程控通信、无线集群通信、短信平台、传真平台)必须可以基于IP网络基础或TDM网络基础结构和公共网络(如PSTN/PLMN等)进行专网组网,从而在统一网络的基础上通过CMS子系统集成,实现统一消息通信。(3)所有涉及到突发公共安全事件应急指挥用户操作流的终端指挥座席(包括领导、应急办公室、城市应急中心、专业指挥中心、移动指挥车、其他移动终端)必须通过CMS子系统进行综合业务状态管理以及通信队列管理,并支持IP网络基础运行环境。因此,CMS子系统是应急联动指挥系统接收报警和进行应急力量调度的控制核心,大部分对于通信调度和硬件设备的软件调用请求,都由该系统来控制并进行响应。2CMS子系统设计与实现2.1系统设计根据应急联动指挥系统的系统特点分析,CMS子系统的主要设计实现目标是:(1)同步语音等多媒体信息与数据的传送当来电被路由到某个座席的话机时,CMS子系统要保证相应的数据(如“四字段”信息、视频设备信号等),也同步送达该座席的计算机(2)统一消息路由选择通过CMS子系统的路由模块确定出最适合接听来话或接收消息的终端或系统。这里的消息包括电话、无线通信控制消息、短信、彩信、技防报警设备、传真、控制命令等多种消息。(3)来话和出话管理一方面采集和查询主叫信息,决定如何处理和路由来话。另一方面根据条件和计划形成队列,进行队列管理,例如,显示排队电话的数量及号码,当排队电话超过一定数量(可以设置),系统自动给予提示。(4)电话操作管理利用计算机实现对通信系统的来话接听、转接、会议、录音、强插、强拆、代答、监听和外拨等功能。(5)无线调度集成利用计算机话务整合技术,可以基于无线集群通信系统的调度接口,将无线指挥调度与软电话和会议调度系统进行混合调度集成,实现基于计算机操作的有线无线混合调度会议、有线用户对无线用户的一键通、组呼、群呼等功能[5]。(6)内部消息控制核心依据实际的业务规则,综合业务数据流、控制数据流以及命令语音流,来转接、排队以及调度接处警系统、地理信息和综合指挥系统、综合业务受理系统等涉及的信息,使整个应急联动指挥系统运转通畅,语音、图像、数据等多种消息的同步。(7)提供CTI应用的高级编程接口即屏蔽底层计算机话务整合链路协议的复杂性,为应用提供一致的编程接口,以及相应的自动话务分配的仿真工具和应用调试工具。CMS子系统是基于CTI开发的,通过该系统可以获得当前接处警员的工作状态等信息,可以为处于应急处置体系中的所有接处警人员提供丰富的沟通手段,同时还可以记录整个接处警过程中的操作步骤,以供事后分析和审计。CMS子系统采用多层的C/S架构实现,以Socket消息方式与业务应用系统进行通信,并提供统一消息受理和设备调用服务,CMS子系统信息交互状况如图3所示。2.2CMS子系统功能模块设计与实现如图4所示,整个CMS子系统的功能模块逻辑架构分为三个层次“管理与监控工具”、“实时运行引擎”和“接口通信层”[6]。CMS的工作流程是通过接口通信层接受和转发消息,并把它转化为实时运行引擎可识别的数据,实时运行引擎通过判断数据的不同种类交由不同的业务功能模块进行处理。例如排队与路由模块接收到CTI接口模块转发的数据信息后,可以决定当前待处理事件或话务应被路由到哪个有效或空闲坐席,然后,再通过CTI接口模块控制有线通信硬件设备将话务路由到该坐席。管理与监控工具在整个运行过程中,主要是监控CMS各模块的运行状态,确保CMS稳定运行。需要特别指出的是,这三个层次的包含的模块并不是固定不变的,可以根据实际项目需求灵活配置。(1)管理与监控工具用来管理和配置整体的CMS子系统,并提供相应的数据查询、报表功能,主要包括:·实时监控(CMSMonitor)实时显示各种设备与话路状态以及系统本身状况,监控的资源主要包括CTI链路、IVR中继、路由分配、三字段获取、数据库及各服务器间心跳机制、与各硬件设备握手互通的通信状态。·管理配置(CMSConfigure)管理CMS系统下各个子系统的运行配置信息。·客户报表(CMSReport)客户的历史报告工具,从设备、座席和话务角度显示呼叫中心的状况。·语音流程编辑器(CMSIVREditor)自动语音流程编辑工具。(2)实时运行引擎主要是用来实际完成各种业务数据传递、话务控制、调度等功能,主要包括:·CTI消息处理模块(CMSCtiServer)接收CTI接口模块传送的信息,对信息进行分发处理。·CMSClient消息处理模块(CMSCommRMServer)接收CMS使用者(客户端)信息,进行分发处理。·排队与路由(CMSRouterServer)接收路由请求,发出路由指令。·设备状态管理(CMSDebices)一组接口,用于提供更改设备状态。·IVR系统引擎(CMSIVREngine)根据指定的脚本执行IVR流程。·CTI接口模块(CMSCtcClient、CMSCtcServer)提供CMS系统内部操作通信设备的接口,同时提供对通信设备的原始消息监控。·内部通信模块(CMSMemQueue)提供CMS系统内部组件之间快速通信的渠道。·日志记录模块(CMSLogger)提供CMS系统内部统一日志记录机制。(3)接口通信层主要是来连接各不同的硬件或其它的系统,按照不同的协议翻译和转发各子系统对CMS的要求或向其它各系统发送CMS的调用要求,主要包括:·通信接口模块(CssServer)负责使用标准协议与CMS客户端(如Agent应用)通信,交换CMS系统消息。·SMS短消息接口模块(CMSSms)负责收集短消息通信内容。·录音系统接口模块(CMSRecordingSystem)录音系统接口模块。·无线集成接口模块(CMSWirelessServer)无线集群通信系统状态和控制接口。2.3主要模块实现举例排队路由模块是CMS子系统中通过建立多个设备队列及业务角色队列来实现报警话务和案情事件的排队路由。设备队列可以由短消息模块传送手机号、短消息内容、发送时间等信息,形成短消息队列;传真队列传送传真号、传真图片、发送时间等信息,形成传真队列;技防报警模块会传送设备类型、级别、时间、地点等信息形成技防报警信息队列;另外对其它扩展接入的信息接入,可以顺利接入该模块。业务角色队列可以按座席的角色分成119接警、110接警、119处警、110处警、120处警等几个队列,以及呼叫、短信、传真、事件等作业队列,按照路由策略,将呼叫、短信、传真、事件等分配到空闲座席来完成。当接到呼叫、短信、传真、或事件转移请求后,通过排队路由模块完成路由功能,如图5所示。该模块既可以接收有线程控交换机、短信、传真等多种硬件设备的信息,同时还可以与电信运营商的用户信息系统进行交互。CMS子系统通过该模块屏蔽了上述硬件的异构性,形成应急联动指挥系统可以处理的信息。通过以上模块队列的设计,可以看到即使短信、传真等系统发生了变更,也不会对整体的应急联动指挥系统产生较大的影响。2.4CMS灾难备份设计CMS子系统是应急联动指挥系统主要功能的核心部分,它涉及了与各种设备、接口、协议的配合,应用功能、流程、界面的实现,以及数据库的管理。CMS子系统的重要性决定了必须对CMS子系统的灾难备份策略进行充分设计,切实保障整个应急中心系统的稳定可靠[7]。在硬件环境方面,在配备服务器时,需要为CMS子系统配置高性能的专用服务器及成熟的操作系统担当其运行环境,采用两套CMS服务器同时运行的方式进行硬件环境的备份。在软件故障方面,CMS软件故障主要是指各模块发生故障。针对这种情况,CMS在设计时,按照以下原则进行了设计:各模块独立运行,一个模块的故障避免影响其它模块。一个模块应故障重启时其它模块可以不重启,并且重启后对CMS的进行中的作业影响最小,并且错误恢复设计不影响CMS子系统稳定性。同时,在两套CMS服务器硬件上运行两个CMS服务程序,建立主备工作机制,两个CMS同步保持相同的信息,同时分别采用了流程监视、服务器间心跳和必要时的呼叫测试等综合机制,采集各监视点信息和相关测试结果分析、比对后判断出某资源的工作异常并给以相关警示,从而达到互为备份、自动切换的目的[8]。采用主备方式的CMS子系统,两个CMS服务可以统一管理消息队列及路由分配,可以做到:(1)报警信息保持在各自路由队列并进行统一排列;(2)由主服务器顺序分配统一队列中的消息或话务到任意的空闲座席;(3)当设定时间内报警信息未被分配到已有的空闲座席时,