保捱科技网
您的当前位置:首页一种人防警报集中控制系统的可靠连接策略

一种人防警报集中控制系统的可靠连接策略

来源:保捱科技网
维普资讯 http://www.cqvip.com

第33卷 第1期 1.33 ・计算机工程 2007年1月 January 2007 No.1 Computer Engineering 工程应用技术与实现・ 一文章编号:1000 ̄3428(2007)01----0250--03 文献标识码:A 中图分类号:TP273 ̄.5 种人防警报集中控制系统的可靠连接策略 胡尔标,陈永生 (同济大学计算机系,上海20033 1) 摘要:人防警报系统的控制网络是整个系统的重要组成部分,也是最为脆弱的部分,控制网络的失败会直接导致整个系统的失败。为了 提高系统控制中心和警报终端连接的可靠性,该文提出了一种建立在单一控制网络基础上的通信机制,分别以GPRS和PSTN这2种控制 网络实现控制中心对警报终端的控制,引入了冗余技术,把基于这2种控制网络的控制方式无缝地整合在一起,当一个控制网络失败时, 透明地切换到另一个控制网络,以减低通信失败的可能性。 关键词:GPRS;PSTN;人防报警系统;冗余技术 Strategy of Reliable Connection for People Aerial Defence Alarm Central・-controlled System HU Erbiao,CHEN Yongsheng (Dapt.ofComputer,Tongji University,Shanghai 20033 1) [Abstract]The control-net for people aerial defence alarm system is all important subsystem nd afrail part,because the failure of it may directly lead to the failre of uall the system.This paper proposes a communicate mechanism at the base of individual control-net,in order to improve he treliabiliy ftor the connection between control・center and alarm end.Then the redundancy technique is introduced to Our work based on the mpliement of control-net between control-center and alarm end through GPRS and PSTN.At he ltast part ofthe paper,the wo conttrol-nets are ntiegrated seamlessly,when one control-net fails,the data would transmit through another one transparently,SO the possibiliy of the faitlre of ucommunication iS decreased. [Key words]GPRS;PSTN;People aerial defence laram system;Redundancy technique 人民防空警报是保障城市人民群众防空袭的重要手段之 一控制中心是整个警报系统的指挥中心,报警器终端的每 个操作都由控制中心发送命令。通信时控制中心和警报点一 直处于不问断的通信过程中,控制中心实时地处理各报警报 点传送过来信息,然后显示于GIS模块的数字地图上。 控制网络担负着把控制中心警报命令传送到各报警器终 端的任务。 ,而人防警报系统是整个人民防空系统中非常重要的一个 子系统,直接决定着能否把上一系统的报警命令正确、及时 地发放到遍布于报警区域各处的报警器。我国人防系统的特 点是比较分散,不易管理。针对这种情况,在人民防空重点 城市已实现的防空报警系统均采用利用有线或无线控制的手 段进行集中式控制。目前,对人防报警器方面的研究主要集 中于报警器本身及控制方式的设计上,而对警报系统的可靠 性及安全性方面的研究着力不多。尽管很多系统以无线控制 方式实现,但这仍不能避免由于单点失败带来通信链路物理 上的中断,其他方案,如建设报警系统专用网,均由于造价 太高而不太可行,本文在实现基于GRPS和PSTN的控制方 式的基础上提出一种更为可靠的连接策略。 控制中心和报警器之间通信的数据主要有几下几种类 型:报警命令,报警命令执行确认,状态查询,状态回复。 报警器终端,一方面接收控制中心通过传输网络发送的 报警命令,并作出相应的动作;另一方面,实时地向控制中 心传送自身的状态信息,为指挥大厅的指挥人员果断快速决 策提供依据。在本设计方案中,报警器终端的结构如图2 所示。 l系统结构分析 人防警报系统由3个部分组成:控制中心,控制网络和 警报终端。警报系统结构见图l。 图2报警器结构 作者简介:胡尔标(1979--),男,硕士生,主研方向:计算机应用; 陈永生,博士、教授 图1人防报警系统结构 —收稿日期:2006・06・05 E-mail:jhoper@1 63.com -25o_一 维普资讯 http://www.cqvip.com

控制中心可以通过GPRS和PSTN 2种方式与报警器终 端进行通信,GRPS和PSTN这2种方式相互。 2控制网络通信机制 报警器终端和控制中心一次报警通信由以下几个过程组 成:建立连接,维持连接及数据通信,断开连接。 对于通信连接的建立,可以让报警器终端上电时主动登 录到控制中心,也可以从控制中心通过某种机制建立与报警 器终端的连接。 为了保障数据传输的可靠性及实时性,连接一旦建立就 不再释放,直到报警命令发放结束,所以在通信空闲时需要 维持连接。对此本文采用的策略是,当在指定的时间内没有 数据通信时,就由控制中心发送一个状态查询命令。 数据通信,对于报警命令的传输来讲,安全性和可靠性 是非常重要的,但本文主要是讨论连接的可靠性,这里只考 虑可靠性,对于单链路而言,本文只能在基于链路物理上甚 至逻辑上,处于连通状态的条件下,来考虑这个问题。 为确保每个控制命令发到报警器终端并被正确地执行, 我们在控制中心软件平台中,设置了一个命令队列(如图3所 示),里面排列着所有待发送的控制命令,包括报警命令、状 态查询命令。只有当报警器终端返回对一个命令正确执行的 回复后才把该命令从队列中删除掉,至此一个命令的执行才 算真正完成。为此我们赋予每个命令2个状态:未发送状态 和已发送状态,以用来区分消息队列中那些已发送但未被确 认和未发送的命令。 I n+5 I n+4 l n+3 l n+2 l n+l l n l 图3命令队列 控制中心和报警终端之间通信的具体情况如图4所示。 发送命 回复命 删除命令队列中 该命令 控制中心 报警器终端 删除命令队列 中该命令 控制中心 报警器终端 再次超时未收 发送命 到回复,认为 链路断开 超时重 控制中心 报警器终端 (c) 图4控制中心和报警器终靖之间通信情形 图4(a)是正常通信的情况,控制中心发出命令,报警器 终端接收到命令后进行相应的处理并给出回复命令,控制中 心接收到回复命令后从命令队列中删除对应的发送命令,至 此对一个发送命令的处理算是全部完成。 图4(b)的情形是控制中心在指定的时间内未接收到对发 送命令确认的回复命令,引发超时重发,但超时重发的命令 得到了回复确认。这种情形可能是以下几种情况引起的:(1) 发送命令丢失。(2)报警器终端收到但未正确处理。(3)报警器 终端收到发送命令并正确处理,但发送的回复命令丢失。在 情况(1)、情况(2)2种情况,报警器终端均未执行发送命令, 当控制中心重发命令时不会有影响,但在情况(3)下,报警器 已经执行了控制中心发来的命令,对于超时重发的命令则应 该丢弃。然而,如何区分情况(1卜情况(3)的情形呢?这个问题 可以归结为著名的蓝军白军问题(two-army problem),是不可 解的。但在本文的报警器通信方案中,完全可以根据实际情 况来解决这个问题,控制中心和报警器之间通信的数据类型 主要有4类:报警命令,报警命令执行确认,状态查询,状 态回复。这里需要考虑的是超时重发的命令对报警器终端以 及通信过程的影响,因此只需要考虑由控制中心发出的命令 ——报警命令、状态查询命令这两类命令处理的情形。报警 器器终端对此如何处理就显得很重要,在本文所提及的报警 器终端工作时可以看成是如图5所示的一个状态机,当报警 器处于报警状态时,也就是在响应急警、预警、解除命令时, 终端是不会再响应别的报警命令的,只有当执行了强拆命令, 报警器处于正常工作状态时才会响应报警命令,而对于强拆 命令则不会改变其正常工作状态。图4(c)的情形是超时重发 时,控制中心在指定的时间里仍未收到来自报警器终端的回 复确认。简单起见,本文认为此时报警器与控制中心之间的 链路已经断开。 除 强拆 图5报警器终靖状态 3控制网络 本文采用目前比较流行且安全特性比较好的GPRS网络 以及基础设施已经非常完备的PSTN作为控制网络传送报警 命令,并在实现这2种传输方案的基础上,提出一种无缝整 合这两种通信方式的方案,从而降低了由于链路物理中断带 来报警系统通信失败的风险。 3.1基于GPRS的控制网络 在报警器终端,利用中国电信的GSM网络的扩展业务 GPRS功能建立中心和报警器之间连接。 在基于GPRS传输网络的连接方式中,对于链路的建立, 采用了如下的处理方式:报警器上电时,GPRS模块会主动 登录控制中心,进而建立与控制中心的连接,接下来就是双 方进行数据通信的过程,为了保证链路的可靠性,也为了确 保控制中心能随时掌握报警器终端的当前状态,控制中心每 隔一个适当的时间间隔后会发送一个状态查询命令,作为响 应,终端回复一个当前状态,这种状态查询命令在此处也起 到了脉搏数据流的作用,它不仅能够保证及时更新控制中心 的报警器终端的当前状态,而且也在时刻监视着链路的连通 状况,当由于各种原因链路断开时,控制中心会在一个很短 的时间内发现。链路的断开,可以简单地处理,认为直到断 电,GPRS模块才退出网络,报警器终端才断开与控制中心 —-25l一 维普资讯 http://www.cqvip.com

的连接,其控制框架如图6所示。 ■6基于GPRS蚂控■棵 在主线程中创建一个监听线程,用来处理监听端口上来 的每个请求,对于报警器终端的第一次请求则创建一个线程 来处理它,已创建报警器线程的请求要进行定位,并转交给 对应的报警器线程来处理。 3.2基于DTMF的控■霸络 应用数字程控交换技术和计算机控制技术组成警报控制 平台,在该控制网络中,链路的建立主要是通过控制中心的 RS233/DTMF模拟拨号语音卡拨打报警器终端的PSTN模块, 建立与报警器终端的连接。数据通信过程跟GPRS过程基本 一样,状态查询命令在其中同样起着两个作用:链路维持及 状态更新的作用。链路的断开,由控制中心的RS233/DTMF 模拟拨号语音卡直接挂断与相应的报警器的连接就可以了。 其基本工作流程如下: TdtmtThread=class(TThread); //采用线程的方式,每个线程对应一个报警器终端 Private Protect procedure Execute;override; ,,负责处理警报命令发放的整个周期 public constructor Create;//执行一些初始工作,如报警终端电话号码等 End; Tdtm九1Iread.Execute Begin Dail0;/拨号,建立连接 While(continue=true)do Begin If命令缓冲区有命令then 处理该命令(如果是结束命令,continue=false); If接收缓冲区有数据then处理该数据; /具体处理规则见上面的通信机制 End: End; 3.3可童连接方案 在综合前2种方案的基础之上,我们提出了第3种较为 可靠的连接方案,其本质就是对这个民防报警系统中的控制 网络作了冗余处理,让基于GPRS的网络和基于DTMF的网 络同时作为民防报警系统的控制网络,并让这两个网络整合 在一起同时承担报警命令的传输。对于系统中关健性部位进 行冗余处理,是保证系统可靠性的通常作法,也是最为有效 的方法。 冗余处理极大地提高了整个系统的可靠性,但它的代价 却不仅仅是设备上的,如在Arpanet以及后来形成的Intenet —-252_一 中,路由选择(最佳路径的选择)以及当一个结点发生故障时 把该消息尽快传递给周边的结点,这些都是由此而衍生出来 的问题。在本文所论述的方案中,把两个控制网络同时整合 在民防报警系统中,并且在当一个控制网络发生故障时主动 切换到另一个网络上,这里面就存在这样一些问题:(1)如何 及时识别出一个网络发生故障。(2)当识别出一个网络发生故 障时如何对用户透明地切换到另一个网络中。(3)在两个网络 的切换过程中如何保证数据不丢失。(4)在该报警系统中如何 同时维持两条链路。 为了能够实现对每个报警器单独进行控制,该方案采用 了多线程技术,每个报警器对应两个线程,一个线程对应基 于GPRS的控制网络,一个线程对应基于DTMF的控制网络。 方案1(如图7所示)是对应于每个报警器的两个线程的 情况。Message Queue是每个报警器私有的,我们在Message Queue和报警器终端的ID之间建立一一映射的关系,根据其 中一方很方便地索引到另一方。 在链路建立阶段,基于GPRS和基于DTMF的两种控制 链路同时建立起来,由于两种控制方式建立链路的时间不等, 因此直到两条链路都建立起来才在控制中心标识链路已经建 立完毕,接下来的通信过程由GPRS线程和DTMF线程访问 Message Queue,当发现队头有未发送的命令时,就置该命令 为已发送状态,同时该线程以自己的方式发送出去,并且在 该线程空间中留有命令的副本,只有当该命令收到确认回复 后才删除该副本,并删除Message Queue中对应的命令。否 则重发该副本命令,当重发的命令依然失败时就认为该链路 失败,结束此线程。在对GPRS线程和DTMF线程如何访问 Message Queue并没有进行控制,只是进行了互斥处理,只 有当一个线程的访问全部结束了以后另一个线程才能访问。 圈7可●性连接方案1 方案2(图8),较之图7,只是在Message Queue和线程 之间加了个分发器,GPRS线程和DTMF线程并不主动去访 问Message Queue,而是由Dispatch来把Message Queue中的 命令发送给线程。 圈8可●性连接方案2 Dispatch在这里起着很重要的作用:(1)它均衡2个控制 网络的负载,它把Message Queue中的命令依次发送到各个 线程中,如在某个命令发送到GPRS线程中,当处理结束时 收到其回复的确认,此时Dispatch删除Message Queue中的 处于已发送状态的命令,然后假如Message Queue中有未发 送命令,则置该命令状态为已发送,然后将其发送到DTMF (下转第255页) 维普资讯 http://www.cqvip.com

当结点在收到组播路由包时,如发现自己己经在中间结 点地址列表中出现,就表明它已经处理过该路由包,不再处 的通信。此控件使用简单、安装简单。测量站点数据发送软 件流程如图5所示。 理该包,避免了因重复处理组播路由包而导致持续的组播, 抑制泛洪。 4系统吞吐量分析 单位时间内在信道上成功传输的信息量定义为吞吐量 (s),设信道误码率为a,平均传输延时为T,传输速率为Vbit/s, 3.4站点软件设计 厂 帖长度为R,信息位长为n,则吞吐量为 s= 失败计数 值小于8 更换路由表 \ [ ] 本系统无线发送模块的发送误码率在万分之一,经计算 理论吞吐量可达到75%,实际演示运行测得在65%左右,可 取得数据并算CRC码组成帖 以满足钢包测量系统的数据实时发送和接收。 5结束语 Ad Hoc移动无线自组网络目前还是主要应用在军事领 / 重发少于3次 域,在民用领域还处于试验性质,特别是几十个节点的应用 还处于试验室阶段。在钢包测量中的运用是一个很好的尝试。 假如采取多信道通信,其吞吐量和可靠性还可以进一步提高。 重发计数加 80msl ̄l受 参考文献 1王金龙.Ad Hoc移动无线网络【M】.北京:国防工业出版社,2004. 到确认帖 2中国矿业学院矿山测量教研室.激光测距仪【M】.北京:煤炭工业 出版社,1980. 失败计数加I卜_—— 发送完毕退出中断 3杰.单片微机原理及应用【M】.北京:机械工业出版社,2002. 4张惠民.计算机网络技术【M】.上海:华东理工大学出版社,2002. 5潘永雄.新编单片机原理与应用[MI.西安:西安电子科技大学出 版社,2003. 图5 量站点敦据发送软件藏程 测控点软件用c++Builder编程环境,包括界面设计、人 机对话、数据处理、无线通信、故障自诊断和报表打印输出 等功能。无线通信是工控机通过串13发送给无线模块,串13 控件采用Victor串13 VCL控件,比较适用于与单片机和仪表 6洪锡军.无线自组网路由协议研究[J】.计算机工程,2005,3 1(8): 105—1O7. (上接第252页) 线程中,这样,两个控制网络轮流接受Dispatch传送过来的 这种情形。 命令。(2)dispatch负责监控控制网络的连接情况,当一个线 程重发仍未收到回复确认时就认为连接断开,结束该线程, 并不再往该线程分发命令。 综合考虑以上因素,本文选择方案2作为最终的连接控 制方式。 4结束语 该连接控制方式利用了当前发展比较完善且费用相对低 廉的2种公共资源(PSTN、GPRS),在一定程度上提供了连接 的可靠性,具有一定的实用价值,而且这种连接方式可以移 对于方案1和方案2的评价,可以看它们是否都非常好 地解决了前面提出来的4个问题: (1)如何及时识别出控制网络发生故障。方案1是由每个 网络线程自己来识别的,方案2是由Dispatch模块识别的, 识别的方法都是当重发失败时认为网络断开。 (2)发生故障时如何对用户实现透明切换。方案1中由于 发生故障的网络线程会自行结束,因此在接下来的运行周期 里,只有另一个网络线程去访问Message Queue,这样就自 然实现了网络切换。方案2则有Dispatch来。 植到别的系统,如灾情指挥系统等,特别是在公共设施遭到 定破化的情况下,更能特显其现实意义,该连接控制方式 一已经成功运用于镇江民防报警系统中。 参考文t 1芮福明,陈永生.人防警报控制系统的研制叭.计算机应用与软 件,2004,24(7):114—116. 2 Luo M Y Yang C S.Constructing Zero・Loss Web Services[C]//Proc. of the 20 IEEE Int1.Conference on Computer Communications, Alaska USA,2001—06. (3)在切换过程中如何保证数据不丢失。方案1和方案2 都是通过本文前面论述的Message Queue的特性来保证的。 (4)如何同时维持两条链路。 方案1中,2个线程对Message Queue的访问是随机的, 极有可能会导致一条线路长期处于饥饿的状态。因为报警器 终端设计时,从节省费用的角度来考虑,当线路在一个较长 的时间内未接收或发送数据时,认为该链路断开,并主动断 3 Steve B.GPRS Terminal Design[J].Electronic Engineering,2002, 74(3):61—65. 4刘永宁.石嘴山市人民防空警报控制系统设计【D】.沈阳:东北大 学,2002. 5 menbaum A S.Computer Networks[M].USA Pearon Education Inc., 2O03. 开此连接,所以长期处于饥饿状态的控制网络极有可能被报 警器终端误以为线路断开。方案2Dispatch的流量均衡能避免 一255— 

因篇幅问题不能全部显示,请点此查看更多更全内容