地震预警是近年来防震减灾领域的研究热点,其是利用地震纵波与横波、电磁波与地震波间的速度差,在破坏性地震波到达之前,对距震中稍远的地区进行几秒至几十秒预警。这几十秒的时间不仅可以为人们提供避险反应时间,还能为许多重要设施提供紧急处理时间,例如高铁紧急制动、化工厂管道控制、天然气控制、数据中心紧急备份等,从而减轻人员伤亡及财产损失。
目前,日本、墨西哥、美国等国家均建成了区域性的地震预警系统,且在实际的地震中取得了较好的效果(张红才等,2013),尤其是在2011年日本东北部发生MW9.0大地震后,日本新干线地震监测与预警系统向东北新干线高速运行的列车发出停车警报,最终列车以静止状态迎接强烈地震动的到来,无一列车出轨和人员伤亡(宋晋东等,2012)。近十年来,中国地震信息发布的技术手段(侯建民等,2009;高楠等,2017)与发布平台不断发展完善(刘杰等,2020;帅向华等,2021;侯建民等,2022;张建勇等,2022),其中四川地震台网已经实现了分钟级速报短信自动发布(图 1)和测震报告自动生成(王宇航等,2020a、2020b)等各种信息产品的快速产出,但是在时效性和产出内容上稍显薄弱。
对短信发布流程进行分析并结合当前实际需求,发现地震速报信息发布存在以下问题:①服务商仅有中国移动一家,流程缺乏冗余性,若链路中一个节点出现问题,会导致发布故障;②信息含量比较单一,仅提供地震三要素,缺乏多样性;基于传统MAS短信服务器的推送速度约为每分钟数百条,基本时效为分钟级,与地震预警发布的秒级要求差距较大,难以满足预警时效性;③目前尚未建立与学校、社区、铁路、能源、化工等行业直接连接的地震信息服务终端,仅通过一般的移动通信服务,无法及时通知相关人员,且其他行业的技术系统无法及时获得预警信息并进行紧急处置,有效性难以保障。
在震情严峻的四川,建立准确、高速、稳定的秒级地震预警信息服务系统意义重大。本文介绍了四川地震预警紧急地震信息服务系统的设计架构,分析系统实现的关键技术,并以典型震例展示了该系统在实际业务中的作用。
1 四川紧急地震信息服务系统 1.1 设计思路地震烈度速报与预警系统通常由台站观测系统、数据处理系统、紧急地震信息服务系统、网络通讯系统、技术保障系统五大部分组成。其中,紧急地震信息服务系统是根据数据处理系统产出的地震预警、烈度速报等地震信息,利用定制化的处理和加工流程,形成最终的服务产品,通过专用接收终端或软件等各种通信媒介,实现地震预警、地震参数速报、烈度速报、地震动参数速报、应急响应等多类地震信息服务产品的快速产出和面向用户的有效服务,使预警系统的防震减灾效能得以体现。其是预警系统的重要组成部分,也是预警中心综合效益的集中体现。
影响预警时效性的主要原因包括两部分:一是业务产出系统,是指从台站接收信号到系统处理产出信息的耗时(李拴虎等,2017);二是信息处理发布系统,即信息处理发布的耗时。业务产出系统的耗时与地震台网的建设相关,还与台站分布的密集程度、业务系统的算法完善等因素关系密切。因此,在业务系统产出良好的情况下,建设一个具有高时效性的信息处理发布系统,是确保预警信息实现秒级发布的重点。
1.2 架构设计四川紧急地震信息服务系统主要包括紧急地震信息服务端、市州信息转发服务、接收展示PC端子系统(触控屏服务端)、接收展示APP终端子系统(移动终端服务)四部分。该系统建设完成后,四川省内紧急地震信息将在1个省级信息发布中心、21个市州、158个县级信息转发平台、223个政府企业、324所学校的接收终端以及各类转发平台间传递。
紧急地震信息服务系统采用服务中心+服务用户的二级业务模式构建,在管理层面采用国家、省、市、县四级模式,该模式能够集中信息源,统一建立策略进行紧急地震信息处理,且具有较强的灵活性和扩展性。其中,服务中心部署于省中心,其主要功能是负责信息源管理、紧急信息产生、配套产品生产、向服务终端推送信息和监控服务终端状态等;用户端的主要功能为地震预警、地震速报、烈度速报及其他信息接收,并进行声光告警,还包括地震信息查询、科普知识展示、快速打印等服务,系统架构设计如 图 2所示。
紧急地震信息服务系统实现的关键技术包括消息的无延迟定向推送、大量用户并发访问时服务器实现负载均衡,以及消息如何在不同级别的转发平台自动传递。
1.3.1 MQTT协议MQTT是一个由IBM主导开发的物联网传输协议,用于轻量级的发布/订阅式消息传输,旨在为低带宽和不稳定的网络环境中的物联网设备提供可靠的网络服务。该协议具有以下主要特性:通信开销需求低;支持各种流行编程语言;支持发布/订阅模型,简化应用程序的开发;提供3种不同消息传递等级,使消息能按需到达目的地,适应在不稳定工作的网络传输需求。由于四川区域网络条件复杂,地震预警终端和移动终端均存在网络不稳定的情况,采用MQTT协议可以大大提高预警信息发布的效率。目前,云南省地震局也已采用MQTT协议,并以广播的形式实现了IPTV地震预警(吴艳梅等,2021)。
本系统的MQTT代理服务器通过部署mosquitto代理软件实现,主要任务是完成地震信息产品的发布、终端在线状态监控以及地震信息接收反馈。MQTT协议由消息代理(Broker)、发布者(Publisher)和订阅者(Subscriber)组成。终端或第三方转发以订阅者的身份向消息代理订阅主题信息,而服务产品推送模块以发布者的身份向消息代理推送相应的主题信息。订阅同一主题的终端均可接收到服务产品推送到该主题的地震信息,实现了地震预警信息的高并发推送(图 3)。
紧急地震信息服务系统需要解决海量用户并发推送这一核心问题,而单服务器的并发性能有限,故需采用多台发布服务器实现并发模式,达到海量消息发布的负载均衡。本系统使用了HAProxy开源软件,将大量连入单个IP地址的MQTT客户端访问连接分散至多个MQTT服务端上,实现高负载并发访问。HAProxy是一款高性能的开源软件,可提供多种调度算法,调度算法则是负载均衡的核心(张奎,2019)。
通过实验环境模拟大量用户并发访问,实现发布系统信息服务负载均衡。测试环境硬件由6台PC机搭建,其中3台PC机用于运行MQTT客户端压力测试程序,1台PC机为负载均衡服务器,其余2台PC机为MQTT消息服务器,运行中间件系统;网络设备使用华为S1724G千兆24口路由器进行互联,硬件配置情况见 表 1。
负载均衡模式示意图见 图 4,其中C1、C2、C3运行模拟多客户端访问,H1为负载均衡调度服务器,B1、B2运行分布的消息中间件系统。所有MQTT客户机上的客户端均连向同一台负载均衡服务器,HAProxy再与MQTT客户端连接,请求资源分配给两台MQTT消息服务器。在MQTT客户端与MQTT消息服务器之间建立连接后,服务器发布的消息也将通过 图 4中箭头的反方向传输回MQTT客户端。为确保结果精确,所有PC机均通过阿里云的公网NTP服务器①进行时间同步。
三台MQTT客户机的测试结果见 表 2。从测试结果可以看出,9万个MQTT客户端无一丢包,且平均延迟均在2.5s左右,最大延迟不超过4.2s。此外,虽然MQTT客户机的三台PC机配置各异,但并未对测试结果造成较大的影响,这也从侧面证实了MQTT是一种针对普通设备性能与复杂网络状况而设计的协议。通过测试可见本文所设计的消息推送模式,能够实现高并发访问情景下服务器负载均衡的性能,消息转发延迟则可通过提高服务器硬件配置实现。
紧急地震信息服务系统的框架采用Dubbo框架,其是一种分布式服务框架(RPC),具备资源调度和治理中心(SOA)的治理方案,是一款高性能、轻量级的开源Java RPC框架(图 5)。
随着预警项目不断实施完善,地震紧急信息服务范畴也越来越广,不仅有预警信息,还包括烈度速报的各种图件、灾情快速评估以及其他灾害信息等。因此,对于容量的评估、小服务资源的浪费等问题将会逐渐显现,此时需增加一个基于访问压力实时管理集群容量的调度中心,提高集群利用率,Dubbo具备的资源调度和治理中心(SOA)正是较好的解决方案。不仅如此,该框架还自带负载均衡及容错机制、服务接口监控与治理等功能,增加了整个系统运行的稳定性和可靠性。
2 震例应用目前,国家烈度速报与预警工程项目、四川省烈度速报与预警工程项目已完成验收并对外服务。秉承“边建设边运行”的原则,在建设期间该系统对2022年四川芦山、马尔康、泸定等6.0级以上地震均进行了预警信息发布,取得了良好的社会效果。
2.1 芦山6.1级地震2022年6月1日17时0分8秒四川省雅安市芦山县发生6.1级地震,震中位于30.37° N,102.92° E。地震发生后,四川省紧急地震信息服务平台从中国地震预警网决策融合系统接收到5次地震预警自动处理结果(表 3),并于17时0分14秒开始向全省地震预警终端推送相关信息,其中第一报时间为震后6s,震级4.7级,震级偏差1.4。
四川省紧急地震信息服务平台接入预警终端556台,此次地震共有494台预警终端接收到预警信息,其中3台预警终端预估烈度为Ⅷ度,分别位于四川省雅安市芦山县芦阳街道苗溪社区、芦山县芦阳街道城西社区、芦山县芦阳街道城南社区,当地终端提供了0s预警时间;5台预警终端预估烈度为Ⅶ度,分别位于四川省雅安市芦山县太平镇大河村等地,提供了0s预警时间;22台预警终端预估烈度为Ⅵ度,提供了0s预警时间;35台预警终端预估烈度为Ⅴ度,提供了0~6s预警时间;96台预警终端预估烈度为Ⅳ度,提供了7~26s预警时间;131台预警终端预估烈度为Ⅲ度,提供了16~60s预警时间;162台预警终端预估烈度为Ⅱ度;其余40台预警终端预估烈度为Ⅰ度(图 6)。
2022年6月10日1时28分34秒四川省阿坝州马尔康市发生6.0级地震,震中位于32.25° N,101.82° E。在此次地震中,四川省紧急地震信息服务平台从中国地震预警网决策融合系统接收了2次地震预警自动处理结果(表 4),并于1时28分43.3s开始向地震预警终端推送相关信息,第一报时间为震后9.3s,震级5.6级,震级偏差0.4。
四川省紧急地震信息服务平台共接入预警终端560台,此次地震共有451台预警终端接收到预警信息,其中11台预警终端预估烈度为Ⅴ度,分别位于马尔康中学西区、马尔康市第二小学、四川省阿坝州州委办公室、阿坝县防震减灾局、阿坝州防震减灾局、马尔康实验外国语学校、四川省阿坝州政府办公室、壤塘县壤塘乡中心小学、阿坝县藏文中学校、阿坝县中学、阿坝县民族寄宿制小学,提供了0~2s预警时间;17台预警终端预估烈度为Ⅳ度,分别位于阿坝县城关第二小学等地,提供了4~23s预警时间;69台预警终端预估烈度为Ⅲ度,提供了20~59s预警时间;257台预警终端预估烈度为Ⅱ度;其余97台预警终端预估烈度为Ⅰ度(图 7)。
2022年9月5日12时52分18秒四川省甘孜州泸定县发生6.8级地震,震中位于29.59° N,102.08° E。在此次地震中,四川省紧急地震信息服务平台从中国地震预警网融合决策系统接收了3报地震预警处理结果(表 5),并于12时52分26.0s开始向地震预警终端推送信息,其中第一报时间为震后8.0s,震级5.9级,震级偏差0.9。
四川省紧急地震信息服务平台共接入预警终端1234台,此次地震共有512台预警终端接收到预警信息,其中14台预警终端预估烈度为Ⅵ度,分别位于大岗山水电开发有限公司、甘孜州泸定中学、甘孜州泸定县成武小学、甘孜州四川华电泸定水电有限公司、石棉县新棉镇小学、石棉县应急管理局、甘孜州康定市东大街小学、汉源县富林镇第一小学、康定地震监测中心站、汉源县防震减灾服务中心、芦山县清仁乡芦溪村、芦山县清仁乡仁加村、芦山县双石镇围塔村、芦山县龙门镇古城村,提供了0~17s预警时间;35台预警终端预估烈度为Ⅴ度,分别位于四川省雅安市荥经县防震减灾服务中心等地,提供了3~22s预警时间;135台预警终端预估烈度为Ⅳ度,提供了18~52s预警时间;225台预警终端预估烈度为Ⅲ度,提供了46~103s预警时间;68台预警终端预估烈度为Ⅱ度;其余35台预警终端预估烈度为Ⅰ度(图 8)。
基于四川地震预警台网实际情况,规划设计了四川紧急地震信息服务系统的架构,系统采用分布式服务框架,通过MQTT协议、HAProxy开源软件、服务器集群等技术,测实验证了该系统进行海量用户并发推送的可行性,并应用于四川紧急信息发布系统中,实现了四川省内的终端地震预警信息发布。目前该系统运行良好,对比以往短信发布信息的方式,本系统具有以下优势:
(1) 在四川省复杂的区域网络环境下,采用MQTT协议可以在低带宽和不稳定的网络环境中大大提高预警信息发布的速度和成功的几率,提高了系统发布的时效性;
(2) 采用HAProxy开源软件,合理配置服务端访问策略,实现了发布系统信息服务负载均衡,提高系统发布的稳定性;
(3) 鉴于地震紧急信息服务范畴越来越广,采用分布式服务Dubbo框架,通过调度中心,根据访问压力实时管理集群容量,在四川省预警海量数据流的汇集和转发过程中,提高集群利用率。
本系统对2022年四川芦山、马尔康、泸定等6. 0级以上地震均进行了准确的预警信息发布,取得了良好的社会效果。随着全国预警系统建设基本完成并对外服务,本文的应用成果可为其他省地震局的紧急地震信息发布相关工作提供借鉴参考。
高楠、闫曦、王松等, 2017, 高速铁路地震预警紧急信息服务系统设计与分析, 防灾减灾学报, 33(3): 87-91. |
侯建民、黄志斌、代光辉等, 2009, 国家台网地震速报综合信息发布系统研究, 中国地震, 25(4): 445-454. DOI:10.3969/j.issn.1001-4683.2009.04.012 |
侯建民、郭凯、崔满丰等, 2022, 基于可视化技术的地震信息服务系统设计与实现, 中国地震, 38(3): 574-584. DOI:10.3969/j.issn.1001-4683.2022.03.017 |
李拴虎、陈立峰、姚远等, 2017, 现代地震预警系统中的时间延迟效应分析, 地震工程学报, 39(4): 790-796. |
刘杰、侯建民, 2020, 我国地震监测应急服务产品现状, 地震地磁观测与研究, 41(5): 226-229. |
帅向华、董翔、席楠等, 2021, 地震信息化共用服务平台设计与实现, 中国地震, 37(1): 170-184. DOI:10.3969/j.issn.1001-4683.2021.01.017 |
宋晋东、李山有、马强, 2012, 日本新干线地震监测与预警系统, 世界地震工程, 28(4): 1-10. |
王宇航、庞瑶、宫悦等, 2020a, 基于Datist的测震分析月报自动产出技术研发, 四川地震, (1): 40-43. |
王宇航、吴朋、蔡一川等, 2020b, 四川测震台网中心数据流现状及规划, 四川地震, (2): 44-47. |
吴艳梅、赵至柔、李敏等, 2021, 基于IPTV的云南地震预警信息发布技术及在2021年云南漾濞MS6, 4地震中的应用. 地震研究, 44(3): 499-506. |
张红才、金星、李军等, 2013, 地震预警系统研究及应用进展, 地球物理学进展, 28(2): 706-719. |
张建勇、戴丹青、杨志高等, 2022, 2022年6月10日四川马尔康6, 0级地震应急产品及震源参数初步分析. 中国地震, 38(2): 370-382. |
张奎, 2019, 基于Haproxy+Keepalived的Web集群负载均衡研究与应用, 新疆师范大学学报(自然科学版), 38(1): 91-96. |