云南地震应急快速评估系统优化研究1
2018-06-01许瑞杰李永强
李 敏 许瑞杰 李永强
云南地震应急快速评估系统优化研究1
李 敏 许瑞杰 李永强
(云南省地震局,昆明 650224)
地震应急快速评估系统是各级地震应急指挥技术平台的重要组成部分,自建成以来在全国历次破坏性地震应急处置工作中发挥了突出作用。本文基于现有地震应急快速评估系统,以云南为例,开展了针对评估功能构架和数据传递流程的研究,从软件工程的角度探索能够优化现有系统评估效率的方法,提升了评估产品的产出速度,并通过模拟震例进行技术验证。
评估系统 算法 速度 优化
引言
地震是人类面临的主要自然灾害之一。突发的破坏性地震不仅会造成建筑物和生命线工程的损坏,也会导致灾区人员伤亡,带来巨大的经济损失和难以估量的间接损失(马玉宏等,2001)。“十五项目”建设以来,我国在地震应急指挥模式、应急指挥技术体系、地震应急管理、地震快速评估等方面开展了较多的研究工作。姜立新等(2003a)在“中国数字地震观测网络工程”的推动下,建成了覆盖国家、区域、重点城市、灾害现场的4级应急指挥技术系统,促使应急指挥模式发生了较大变化,应急响应从传统分散型模式转化为集现代计算机、网络通讯、灾害评估和指挥决策等技术为一体的综合性应急体系。系统通过快速评估、动态跟踪、辅助决策和信息管理,为地震应急指挥提供了基本信息、决策参考依据和必要的技术手段(姜立新等,2003b)。系统建成以来,为地震应急指挥提供了丰富的理论基础和实践经验,在提高破坏性地震快速响应、应急产出服务能力方面发挥了积极的作用(帅向华等,2009)。
地震应急的损失评估与决策工作是地震应急救援的基础,它在应急基础数据的支撑下,对地震可能造成的人员伤亡、经济损失等进行科学的预估,为地震应急救援决策提供支持(聂高众等,2011)。随着地震应急指挥体系的开放性、共享性、互联程度不断提高,应急快速评估工作逐渐成为各级地震应急技术平台体系应用、运维的核心业务。
进入21世纪以来,为了推动地震应急快速评估系统的应用和发展,全国地震应急技术从业者在地震应急评估领域开展了诸多优化研究工作。为解决大区域评估时建筑物分散性问题,蔡宗文等(2009)在传统震害模型的基础上,提出了基于人口统计资料的震害预测模型及方法,取得了较好的实用效果;杨天青等(2005)通过对地震应急快速评估结果与实际地震现场调查经济损失结果进行比对,从建筑物单价和建筑物损失比的角度进行分析,形成一套地震应急快速评估的直接经济损失修正模型,在一定程度上提升了地震快速评估经济损失的精确性;云南省地震局依托地震行业科研专项,从评估模型入手,通过分析西南高原山地环境下的灾害损失特征,形成了一套适合西南地区特殊地质环境的本地化评估模型。这些研究工作极大地促进了应急评估系统的发展,在历次地震应急处置工作中发挥了积极的作用。但近年来,特别是汶川和玉树地震发生后,国家、社会、公众对地震应急处置的关注度达到空前的程度,要求以更快的速度获取灾情、进行快速评估并发布,这就对应急响应和处置工作提出了新要求和挑战。以往的研究工作较少涉及提升评估系统产出的效率,因此,本文拟针对云南地震应急快速评估系统,从软件工程的角度,探索一套能够优化现有评估算法和产出结构的方法,以提升现有系统的评估速度。
1 云南地震应急快速评估系统运行现状分析
地震应急快速评估是指在地震发生后接到地震速报参数的30分钟内,依据烈度衰减模型估计灾区的影响范围,再根据所掌握的灾区建筑物及人口分布等统计资料,估计灾区建筑物破坏的直接经济损失和人员伤亡等情况(杨天青等,2005)。其产出的成果可在第一时间为信息获取空窗期的指挥决策工作提供详细的震区基础信息,模拟计算震区影响范围,预评估人员伤亡和经济损失情况,并提出救援辅助决策建议,进而为指挥部科学高效地开展应急处置工作提供科技保障支持。
云南地震灾害应急指挥中心融合了近年地震科研和工程建设成果,于2013年研发完成并建立了一套地震综合应急快速评估系统,同年投入运行。基于该系统,可以快速产出震区基础信息、烈度影响场评估、人员伤亡、经济损失、滑坡风险等初评估结果以及应急预案响应等级启动建议、对策建议等辅助资料,为地震应急指挥决策、灾害损失评估、政府指导抗震救灾工作提供了基础参考信息,提高了地震应急科技保障服务能力(曹彦波等,2016)。
笔者使用该系统,从云南省典型地震多发区域选取了60个地点,以6.5、7.0和7.5这3个震级档开展模拟评估,评估过程以模拟地震三要素开始,以产出全部灾情简报、震区基本情况文档、对策建议报告、影响场评估数据和33幅专题地图为结尾。评估产品产出规定如表1所示。
表1 系统产品数量统计表
经过评估,产出时间统计如表2所示。
表2 原型系统的典型地震评估产出时间统计表
从表2中可以看出,除个别涉及经济发达、高人口密集区的评估样本耗时较长外,设定地震在3个评估区域快速评估时间均值为5—10分钟,结合云南近年来20余次破坏性地震快速评估情况,地震发生后开展快速评估工作至报告产出送达指挥部,至少需要10—15分钟。而地震应急是一项准军事化行动,时间紧迫、事关重大是该行动的突出特点,其关键点在于能否在最短的时间内做出科学合理的决策并付诸行动(邓砚等,2005)。因此,如何有效压缩评估时间,尽快获取灾情评估报告,在较大程度上影响着指挥部领导快速掌握震情、灾情并做出应急指挥决策的关键时间点。
2 系统构架分析
云南地震应急快速评估系统采用C/S系统构架,是将外部数据库、模型库及Office办公软件与GIS集成为一体的系统(李西等,2009;曹彦波等,2013),其构架如图1所示。
图1 地震应急快速评估系统构架示意图
笔者经过构架分析,将该系统的评估流程分为7个部分,如图2所示。其运行流程如下:在输入地震三要素(时间、地点和震级)后,该系统首先调用arcgis后台进程,根据烈度影响场模型,运算得出该次地震的烈度影响场数据,继而使用该数据依次调用人员伤亡、房屋破坏、经济损失、次生灾害等单体模型,访问基础数据库进行运算,将运算结果导入评估报告模板和专题图模板,分别产出最终评估报告、应急专题图及其他辅助决策资料。
图2 地震应急快速评估系统计算流程示意图
以云南省内7.5级典型地震为例,从系统评估时间线来看(图3),该系统在进行地震快速评估运算时,主要运算压力集中在调用评估模型、访问数据库进行模型评估这一段。该阶段运算消耗时间占总评估时间的45%。因此,笔者考虑从该阶段的模型评估和数据调用入手,进一步优化评估结构和数据算法,以达到压缩运算时间,加快评估速度的目的。
图3 系统运行时间节点示意图
3 运算时间代价分析
如图2所示,该系统评估占用时间主要集中在第3至第5阶段,笔者深入分析了该系统评估结构和数据传递流程,发现现有评估系统存在以下问题:
(1)串行分步计算导致运算时间代价过高。
系统在完成影响场评估后,会调用多个模块化评估模型,访问数据库,调用数据分层进行计算。由于系统采用串行分步式算法,该系统对人员伤亡、房屋破坏、经济损失、次生灾害等评估模型的调用需要依次进行,导致该评估阶段的运算时间代价过高。
(2)未设计缓存池导致数据运算严重受制于设备机械性能。
以云南地震应急快速评估系统构架为例,该系统运算所需基础数据存放于数据库服务器,数据库服务器采用10k转速SAS机械硬盘作为数据存储盘,运行Oracle数据库系统,由于系统设计时未设立数据缓存机制,每当系统进程访问数据接口时,建立连接后必须直接读取物理硬盘,其读写速度严重受制于设备机械性能。
4 计算流程和算法优化设计
笔者从系统评估结构和数据传递流程两方面入手,针对上文论述的两个方面的问题进行了改进。
(1)多线程并发同步运算
多线程并发计算或称平行计算,是相对于串行计算的一种同步执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题,可以从时间上和空间上并行执行计算,从而达到缩减运算时间的目的。
图4 多线程并行运行示意图
如图4所示,在系统完成影响场运算后,通过建立线程池,执行并行线程,分别调用5个子模型进行运算,各自独立承担人员伤亡、经济损失、房屋破坏、次生灾害和对策建议评估5个运算项目,运算完成后再各自返回计算结果进入下一运算流程。多个模型同步计算,达到了缩短运算时间的目的。其多线程实现关键代码如下:
public class Concurrent {
private static final int THREAD_MAX = 5;
private static ExecutorService POOL = Executors. newFixedThreadPool (THREAD_ MAX );
public static void main(String[] args) {
for (int i=0; i POOL.execute( new Runnable() { @Override public void run() { try { } catch (Exception e) { e.printStackTrace(); } } } ); } POOL.shutdown(); System.out.println( "DONE!" ); } (2)建立数据缓存池 数据库缓存池的核心思想是连接的复用,换言之就是为数据库连接建立一个“缓冲池”以及一套连接使用、分配和管理策略,预先在缓冲池中映射部分物理数据库并提供虚拟接口,当需要与数据库建立连接时,先从数据缓存池中快速读写需要的数据,使得池中的连接得到高效、安全的复用,避免了与数据库频繁建立和关闭连接的开销。 基于Redis 2.0缓存系统,在物理数据库前端设置了数据缓存池,如图5所示,当评估主进程需要访问数据库时,不直接访问物理数据库,而是访问建立在物理数据库前的虚拟数据池,这样的系统构架可带来两个优势: 图5 缓存池组成示意图 一是缩短了访问时间。当主进程访问数据缓存池时,由于缓存池是在系统内存中运行的,其读取速度可达到10GB/s数量级,相较物理数据库而言速度提升了2个数量级,同时,连接池中的连接是内存中已准备好的,并可以重复使用的,减少了连接的创建时间,获取后可以直接访问数据库,因此减少了连接创建的次数和读取时间。 二是增强数据库系统稳定性。笔者在测试时发现,当调用进程访问数据库时,如果不使用数据缓存池,每次访问数据库都需要创建一个连接,这样系统的稳定性受系统的连接需求影响很大,很容易产生资源浪费和高负载异常。缓存池的建立能够使性能最大化,将资源占用控制在一定水平之下。同时,我们可以设置访问策略,通过数据缓存池来控制系统中的连接数量,增强了系统在大数据量运算时的稳定性。 笔者通过调整并行线程算法和建立数据缓存池两种方法分别从算法和数据架构方面对云南地震应急辅助决策系统进行了重构优化,其优化后的构架及数据传递流程方式如图6所示。 图6 优化后原型系统构架示意图 运行优化后的原型系统对地震进行快速评估,同时随机选择了省内部分模拟点位进行评估测试,其评估运行结果如图7—图10。 由图7—图10可以看出,经过构架优化和设置数据缓存池后的评估系统,对4.9、5.5、6.5和7.0级地震评估耗时分别为:2分18秒、2分21秒、2分55秒和3分26秒,在1个真实地震和3个测试地震评估中均有效地缩短了评估时间。 使用优化后的原型系统重新对本文第1章节所选取的云南省典型地震多发区域的60个点位进行模拟评估,系统优化后的评估统计结果如表3所示。 图7 M 4.9级真实地震评估图 图8 M 5.5级测试地震评估图 图9 M 6.5级测试地震评估图 图10 M 7.0级测试地震评估图 表3 优化后系统评估时间统计表 对优化前和优化后的评估时间进行数据分析,其结果如图11所示。 由图11可知,优化结构和算法后的评估系统,针对云南3个重点危险区的60个模拟地震点位评估效率得到极大提升,6.5级评估速度提升约45%—50%,7.0级提升约47%—53%,7.5级提升约49%—52%,其中6.5级和7.0级评估最短耗时控制在3分钟以内,7.5级遭遇高经济、人口密集地区模拟评估时间也进一步压缩至8分钟以内,整体评估效率较原系统有提升显著。 地震应急快速评估系统是各级地震应急指挥技术系统的重要组成部分,是引导指挥部开展地震应急处置、做出科学决策的重要基石。本文基于现有地震应急快速评估系统,开展针对评估功能构架和数据传递流程的研究,找到了一套能够优化评估算法和结构、提升现有系统评估效率的方法,为将来大震巨灾地震应急快速评估工作提供一定的技术原型和理论研究基础。 图11 系统优化前后评估时间对比图 本文所采用的优化方法未涉及模型算法和基础数据结构调整,仅从软件工程的角度来进行,由于未改变原系统专业模型运算方法,各模块经过数据分层处理后运行稳定快速,达到了提升运算效率的目的。优化思路和方法适用于目前大多数省级地震应急评估系统,在架构和算法方面对未来该类新建系统的研发也具有一定的参考意义。 本原型系统经过优化后,在云南鲁甸4.9级地震应急处置工作中得到首次实战应用,初次评估时间为2分18秒,产出内容包括8份评估报告、1份影响场评估数据以及33幅专题地图,初次修正评估时间进一步缩短至1分45秒,实战评估效率较以往地震应急响应有较大提高,为指挥部快速做出应急决策部署提供了高效率的科技支撑,起到了一定的减灾实效。 地震快速评估是一个系统工程,涉及到数据、模型、软件、集成等诸多问题,随着应急技术的不断发展,各级政府和民众对应急响应期内的科技产品服务内容、表达形式、产出速度的要求也在不断变化提升。地震应急快速评估系统作为地震应急技术系统的核心组成部分,未来其评估精确化、运行智能化和产品服务化的应用发展还大有可为,还需要我们进行不断地探索和研究。 蔡宗文,危福泉,方宏芳等,2009.基于行政村分布的漳州市城乡震害快速评估系统实现.震灾防御技术,4(3):328—334. 曹彦波,李敏,李永强等,2013.基于ArcEngine的应急三维可视化系统的设计与实现.地震地磁观测与研究,34(3/4):217—222. 曹彦波,郑川,吴艳梅等,2016.2014年鲁甸6.5级地震应急快速评估.地震研究,39(4):638—645. 邓砚,聂高众,苏桂武,2005.地震应急的影响因素分析.灾害学,20(2):27—33. 姜立新,聂高众,帅向华等,2003a.我国地震应急指挥技术体系初探.自然灾害学报,12(2):1—6. 姜立新,帅向华,张建福等,2003b.地震应急指挥管理信息系统的探讨.地震,23(2):115—120. 李西,周光全,郭君等,2009.地震灾害损失评估软件开发.地震研究,32(1):84—88. 马玉宏,谢礼立,2001.我国社会可接受地震人员死亡率的研究.自然灾害学报,10(3):56—63. 聂高众,安基文,邓砚,2011.地震应急评估与决策指标体系的构建.震灾防御技术,6(2):146—155. 帅向华,杨天青,马朝晖等,2009.国家地震应急指挥技术系统.北京:地震出版社. 杨天青,姜立新,2005.关于地震灾害快速评估系统的思考.地震,25(3):123—128. Research on Optimization of Rapid Assessment System of Yunnan Earthquake Emergency Li Min, Xu Ruijie and Li Yongqiang (Yunnan Earthquake Agency, Kunming 650224, China) The earthquake emergency rapid assessment system is an important component of the earthquake emergency command technology platform at all levels. It has played a prominent role in the construction of the devastating earthquake emergency work since development. Take the existing earthquake emergency assessment system as an example, we explore the method of optimizing the efficiency of existing system evaluation. From the perspective of software engineering, the evaluation function framework and data transfer process improve the output speed of the product, and set up the simulation earthquake to verify the technology. Evaluation system; Algorithm; Velocity; Optimization 李敏,许瑞杰,李永强,2018.云南地震应急快速评估系统优化研究.震灾防御技术,13(1):177—186. 10.11899/zzfy20180116 中国地震局震灾应急救援司专项课题“地震应急公共服务平台研发”和“基于高烈度人口密集区的地震应急快速评估方法优化研究” 2017-01-11 李敏,男,生于1985年。工程师。从事地震应急管理与应急技术研究、技术系统运维管理、应急软件及网络开发、空间数据库集成方面的工作,长期参与地震应急科技保障工作。E-mail:274430881@qq.com5 原型系统优化技术验证
6 总结和讨论