基于中间件的系统对接技术的研究与实现
2019-07-23莫云音吴盛洪叶彩荣
莫云音,李 勋,陈 亮,吴盛洪,叶彩荣
(1.海南省气象服务中心,海南 海口 570100;2.海南省气象台,海南 海口 570100)
0 引 言
目前海南省气象局已建成海南省信息发布与监控平台,覆盖短信、网站、手机、邮箱、大喇叭等多种发布手段;建成海南省气象灾害预警信息制作系统,实现省局及19个市县局预警信息的制作功能;建成海南省公共气象服务产品库,实现海南省公共气象服务产品集中式存储管理及实时共享;中国气象局建成的国家突发事件预警信息发布系统现已覆盖12379网站、12379短信等发布手段。然而,国家突发事件预警信息发布系统和海南省现有的气象灾害预警发布系统存在两张皮的问题:在输入端,海南省气象灾害预警信息制作系统与国家突发事件预警信息发布系统未能自动对接,气象灾害预警信息需要手工录入;在输出端,海南省发布手段和渠道未能与国家突发事件预警信息发布系统有效对接;海南省信息发布与监控平台与国家突发事件预警信息发布系统并行运行。为了提高预警的发布时效性、减少业务人员的工作量,通过一次录入可以发布到多种发布渠道,并且可以对所有的发布手段的发布结果进行统一的发布管理,海南省气象局设计开发了“一整合、两对接”系统,完成了“一整合、两对接”。“一整合”:完成海南省信息发布与监控平台与国家突发事件预警信息发布系统的整合;“两对接”:在预警信息接入方面,完成海南省气象灾害预警信息制作系统与国家突发事件预警信息发布系统的无缝对接,实现气象灾害预警信息制作完成后,自动导入国家突发事件预警信息发布系统对外发送的功能。在发布手段对接方面,完成国家突发事件预警信息发布系统与现有各类发布手段的自动对接,并实现对各类发布手段发布情况进行实时监控的功能。
1 系统设计
1.1 系统功能设计
“一整合、两对接”系统总体功能划分为:从产品库调取预警或预警信号、配置发布手段、配置服务策略、生成CAP标准ZIP包、推送到国突平台、解析国突CAP协议包、转换成灾情直报格式、生成CAP标准入库、信息发布监控平台发布结果反馈等九个功能模块。系统总体功能如图1所示。
图1 系统总体功能框图
(1)调取进入产品库的预警信息。
“一整合、两对接”系统调取海南省公共气象服务产品库的预警信息。
海南省气象灾害预警信息制作系统制作的预警信息需先行推送到产品库中。在国家突发事件预警信息发布系统制作的预警信息也可以进入到产品库,作为海南省气象灾害预警信息制作系统制作预警信息产品的备份。
(2)配置发布手段。
依据海南省预警信息发布业务规定,为预警基础信息、数据及产品添加配置发布渠道,生成满足国家突发事件预警信息发布系统需求的规范标准CAP协议的气象预警服务产品。
发布手段可以添加的发布渠道类型包括12379网站、邮件、传真、电子屏、大喇叭、电视、12379短信、微博、微信、北斗卫星、121声讯、10639121短信等。
(3)配置服务策略。
依据海南省气象局气象预警决策短信服务策略、市县局气象预警决策短信服务策略汇总表和市县局日常乡镇及城镇天气预报服务策略汇总表等文件,分灾种、分级别、分人群的原则,不同的发布手段配置上对应发布策略模板、发布对象进行标准规范整合。目前海南省气象决策预警短信服务策略共有267种,其中省级33种,市县级234种。
配置服务策略分为1个省级和19个市县级分布式管理,确保服务的范围、时效和对象的准确及时发布。
(4)生成CAP标准的ZIP包。
参考《国家突发事件预警信息发布系统预警信息发布编码规范》,《国家突发事件预警信息发布系统预警信息发布单位编码规范》,《国家突发事件预警信息发布系统预警信息地域编码规范》,《国家应急平台体系信息资源分类与编码规范》等文件,根据CAP协议标准规范及预警信息文件内容规范,生成国家突发事件预警信息CAP标准的ZIP包。
(5)推送到国突省级平台。
按照《外部系统FTP方式对接发布管理平台方案》中提供的统一接口,把符合国家突发事件预警信息CAP标准的ZIP包推送到国家突发事件预警信息发布系统,实现气象灾害预警信息制作完成后,自动导入到国家突发事件预警信息发布系统,并对外发送的功能。
(6)解析国突CAP协议包。
依据《国家突发事件预警信息发布系统预警信息发布编码规范》,《国家突发事件预警信息发布系统预警信息发布单位编码规范》,《国家突发事件预警信息发布系统预警信息地域编码规范》,《国家应急平台体系信息资源分类与编码规范》等文件,对在国家突发事件预警信息发布系统制作生成的CAP协议包的每个字段逐一进行解析和拆分。
(7)转换成灾情直报格式。
把在国家突发事件预警信息发布系统制作生成的CAP协议包的字段按照现有的灾情直报字段和文件格式进行统一转换和生成,并推送到产品库。确保目前现有的业务延续性和可用性。
(8)生成CAP标准入库。
严格遵循国突CAP标准协议,整理规范预警和预警信号的统一入库的标准。完成预警和预警信号CAP标准入产品库。
(9)信息发布监控平台发布结果反馈。
实现海南省信息发布监控平台与国家突发事件预警信息发布系统能够对接预警信息,同时采用不同手段发布的预警信息的结果能够实时反馈到国家突发事件预警信息发布系统。
1.2 系统业务数据传输流程
“一整合、两对接”系统需要整合对接[1]海南省公共气象服务产品库、国家突发事件预警信息发布系统、海南省信息发布与监控平台三个系统。预警信息通过海南省气象灾害预警信息制作系统制作,制作完成后统一推送到海南省公共气象服务产品库,然后通过“一整合、两对接”系统把预警数据推送到国家突发事件预警信息发布系统,海南省信息发布与监控平台的预警数据来源于产品库。“一整合、两对接”系统把海南省信息发布与监控平台的发布结果,通过预警发布回执消息的格式推送到国家突发事件预警信息发布系统。具体流程如图2所示。
图2 系统数据传输流程
2 系统相关技术
2.1 数据传输技术
“一整合、两对接”系统需要对接[2]和接入三个系统。数据传输[3]在系统中占有很重要的地位,主要是接入预警数据、推送数据至国家突发事件预警信息发布系统,把海南省信息发布与监控平台传过来的回执信息传入国家突发事件预警信息发布系统。各系统的数据接入方式如下:
“一整合、两对接”系统从产品库接入预警信息的方式是采用产品库开放的基于HTTP、SOAP的Web Services[4]接口进行接入。Web Services是一个平台独立的,低耦合的,自包含的、基于可编程的Web应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序[5]。Web Service技术能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件就可相互交换数据或集成[6]。
国家突发事件预警信息发布系统接入数据的方式是通过TLQ[7]消息中间件进行接入。TLQ是由东方通公司依据DTP模型,结合实际应用系统的需求而设计开发的面向分布式应用的消息中间件产品,主要功能是在应用程序之间进行实时、高效和可靠的消息传递,使得消息在不同的网络协议、不同的计算机系统和不同的应用软件之间进行网络传输。
海南省信息发布与监控平台接入数据的方式是通过直连ORACLE数据库的方式进行接入。
2.2 中间件技术
中间件[8-9]是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在操作系统、网络和数据库之上,应用软件的下层[10],总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件[11]。
“一整合、两对接”系统以服务中间件的形式进行开发设计。服务中间件的接口、数据类型、产品格式、系统管理满足相关气象行业标准。系统总体结构如图3所示。
最上层为应用服务层,包括发布服务的国家突发事件预警信息发布系统、海南省气象信息发布与监控平台,以及制作、存储和共享服务的海南省气象灾害预警信息制作系统及海南省公共气象服务产品库。而余下的三层:功能服务、数据交换平台、支撑环境则共同构成“一整合、两对接”服务中间件。
图3 系统总体结构
功能服务层主要实现调取预警信息、配置发布手段、配置服务策略、生成CAP标准ZIP包、推送到国突平台、解析国突CAP协议包、转换成灾情直报格式、生成CAP标准入库和信息发布监控平台发布结果反馈等几部分功能。
数据交换平台[12]由数据交换中心和数据交换适配器服务构成。数据交换中心主要包含数据传输、配置管理、系统监控、支撑接口等功能模块。数据传输模块的主要功能是接入预警数据、推送数据至国家突发事件预警信息发布系统,把海南省信息发布与监控平台传过来的回执信息传入国家突发事件预警信息发布系统。配置管理模块主要是对系统的各种资源进行管理,主要包括:预警类型管理、配置发布手段、服务策略、传输任务管理、发布区域编码管理等相关字典配置数据的管理。系统监控模块主要是对系统的运行提供图形化全程监控、对系统自身的数据传输、数据转换等节点进行全面监控,对与其对接的系统进行是否正常通信的监控管理。支撑接口模块对外提供以Web Service数据接口为核心的软件编程接口,使得系统与其他应用程序可通过松耦合的方式进行对接。数据交换适配器与数据交换中心相连接,实现数据信息的提取、封装、打包、分类、加密、压缩、传送和远程数据传输等功能。
系统的支撑环境由基础硬件、基础软件组成,并且以基于业务、技术、管理等方面的标准规范体系作为整体架构上的支撑和保障。
3 系统测试
从广泛意义上讲,性能测试包括:压力测试、稳定性测试、负载能力测试和可扩展性测试等。在不同应用系统的性能测试中,需要根据应用系统的特点和测试目的来选择具体的测试方案。该系统采用压力测试,在短时间内,执行推送200条预警信号操作,监测系统在平均响应时间、TPS、服务器资源占用等方面的性能。
测试结果如图4、图5和图6所示。测试过程中,200条数据全部处理成功。从图4可以看出,在4分钟的时候压力开始变大,之后随着并发数的增加,最终未超过3秒,测试通过,满足测试要求。TPS是指每秒钟服务器处理的事务数量,是衡量服务器和软件性能的一项非常重要的指标。从图5中可以看出,TPS最大值达到86.3。从图6可以看出,在整个测试过程中,服务器的CPU最大占用为60%,没有瓶颈;磁盘队列在4分钟的时候达到最大值。
图4 平均响应时间
图5 TPS
图6 服务器资源占用
4 结束语
“一整合、两对接”系统完成了海南省公共气象服务产品库、海南省信息发布与监控平台、国家突发事件预警信息发布系统的整合,在预警信息制作方面,完成海南省气象灾害预警信息制作系统与国家突发事件预警信息发布系统的无缝对接,在发布手段对接方面,完成国家突发事件预警信息发布系统与现有各类发布手段的自动对接。系统采用SOA[13-15]体系结构和MVC[16]设计模式,遵循服务中间件的管理,具备强大且灵活的可扩展性、可维护性以及可集成性。截止目前,该系统已经正式投入业务运行,运行期间,系统具有较高的稳定性及可靠性。该系统的投入使用大大提高了海南省预警信息发布的时效性,很大程度上提升了一线业务工作人员的工作效率,减少了业务工作的疏漏。