CN111488420B - 去中心微服务化区域洪水预警水信息系统及其集成方法 - Google Patents
去中心微服务化区域洪水预警水信息系统及其集成方法 Download PDFInfo
- Publication number
- CN111488420B CN111488420B CN202010253717.2A CN202010253717A CN111488420B CN 111488420 B CN111488420 B CN 111488420B CN 202010253717 A CN202010253717 A CN 202010253717A CN 111488420 B CN111488420 B CN 111488420B
- Authority
- CN
- China
- Prior art keywords
- data
- service
- micro
- information
- flood
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Abstract
本发明公开了一种去中心微服务化区域洪水预警信息系统及其集成方法,该系统综合组织了数据采集处理、机器学习洪水预警、洪水淹没地图展示等功能,包含了数据采集层、数据集成层、微服务层、服务注册中心集群、API Gateway集群、终端用户层六个部分;该方法具有较强的系统容错能力和可靠性,且将系统应用扩展演变为对细粒度服务的扩展,编程语言选择范围广且部署简易化,能够整合实时水信息数据、模型模拟分析及结果可视化,进而为决策者提供即时的基于GIS地图洪水淹没范围及深度资讯。
Description
技术领域
本发明涉及洪水预警技术领域,具体为一种去中心微服务化区域洪水预警信息系统及其集成方法
背景技术
近几十年来,随着气候的变化,洪涝灾害的程度和规模急剧增加,大规模的山洪暴发给全球带来了快速流动和上升的水资源,造成了巨大的生命财产损失和社会破坏。实时访问、分析处理和交互式可视化对于更好地理解洪水相关问题至关重要。
物联网、互联网技术、移动通信等科学与技术的进展,目前已获取了大量的实时水信息数据,包括遥感数据、气象数据、雨量数据、水位数据、水流流量数据以及各种摄像终端、移动终端产生的分布式实时数据。并且基于计算机分布式处理能力也大大的提高。利用这些新工具,有利于提前预测区域洪水和开发高可用一站式水信息集成系统。
然而,传统洪水预警水信息系统是以数据存储、业务逻辑为一体的中心整体式架构应用程序。主要存在如下问题:
(1)传统洪水预警水信息系统整体式架构应用开发系统,尽管也采用模块化方法,但随着应用功能变更越来越频繁,由于整体式应用的限制性,如模块单元紧耦合、开发语言单一、可扩展性不强、配置复杂、高并发等问题,使得整体式应用敏捷开发和部署举步维艰、可靠性与可扩展性都大大的降低。
(2)随着新技术的应用,水信息采集传感器种类越来越多,如雨量、水位、水流流量、遥感等实时数据采集传感器。而传统的洪水预警水信息系统在实时水信息数据采集处理和即时洪水预警建模及交互式可视化等方面的能力有限,如无法实时采集处理数据和利用实时数据以足够的提前期依次提供可靠和准确的区域洪水淹没范围及深度预测且预警结果无法以友好的交互式地图展示给洪水影响区域用户。
发明内容
本发明的目的在于提供一种高可用的区域洪水预警智能水信息系统及其集成方法。利用分布式技术,通过物联网、互联网以及移动通信技术采集实时水信息数据,并且对数据进行实时处理、机器学习建模及交互式可视化,为区域洪水提前预警提供技术支撑。本发明的目的是通过以下技术方案实现的:
一种去中心微服务化区域洪水预警信息系统,包括数据采集层、数据集成层、微服务层、服务注册中心集群、API Gateway集群、终端用户层六个部分;
所述数据采集层:通过物联网、互联网以及移动通信技术采集各种传感器监控的实时水信息数据;
所述数据集成层:包括洪水预警数据库的关系数据库和非关系数据库,定义并持久化存储了用户管理数据、实时水信息数据、模型信息数据和空间数据四类数据;所述用户管理数据包括用户名、密码、授权权限数据;所述实时水信息数据包括水位数据、流量数据、降雨数据;所述空间数据包括行政区划信息和地理数据信息;所述模型信息数据包括构建和执行洪水预报模型所需的流域信息数据和模型参数数据;
所述微服务层:由五种不同功能的微服务组件构成,五种微服务分别为:数据处理微服务、数据引擎微服务、洪水预警微服务、洪水地图展示微服务、用户权限微服务;数据引擎微服务提供关系数据库与非关系数据库的统一连接接口,其它微服务通过数据引擎微服务访问洪水预警数据库,获取查询数据、存储数据和预报洪水数据信息,并获取洪水预报模型的模型参数;各个微服务通过REST协议与服务注册中心通信,且定时向服务注册中心发送心跳进行健康检查;
所述服务注册中心集群:分别与API Gateway集群和微服务层中的各个微服务通信,且存储微服务元数据信息;是采用P2P的一致性Chord环结构,建立类路由表存储信息,在每个节点上保存集群中的部分微服务元数据信息(能够以很小的代价实现微服务注册信息数据定位与查找),每个节点微服务定时向服务注册中心发送心跳进行健康检查;
具体的:服务注册中心集群采用P2P的Chord环结构,建立类路由表存储微服务元数据信息。当新增节点时,第一步初始化节点新节点的路由表,同时将已知的某节点为它查找路由表中各个表项。第二步更新原有其他节点的路由表。其他节点使用更新函数来更新自身的路由表。第三步从后继节点把微服务元数据传递到新增节点;当节点n出现故障时,由n的后继节点n+1替换故障的n节点,并将指针指向n+1;
所述API Gateway集群:是基于Nginx二次模块提供客户访问接口;
所述终端用户层:为笔记本、移动设备提供交互式Web应用程序界面;
数据采集层采集数据存入数据集成层中;客户从笔记本、移动设备启动API从客户访问接口进入所述系统,在用户权限微服务中通过权限验证后,在微服务层通过数据引擎微服务完成数据信息的查找,然后通过所述终端用户层在笔记本、移动设备上展示。
进一步的,所述关系数据库包括POSTGRES和MYSQL数据库,所述非关系数据库包括HABSE和CASSANDRA。
进一步的,所述CASSANDRA数据库储存实时水信息数据;所述POSTGRES数据库储存空间数据;所述MYSQL数据库储存用户管理数据及构建和执行洪水预报模型所需的模型参数数据;所述HABSE数据库储存构建和执行洪水预报模型所需的流域信息数据。
进一步的,微服务层中:
所述用户权限微服务实现平台个人账号的注册、平台登录(账号、人脸识别)、个人信息修改、浏览邮件、注销/退出系统;
所述数据处理微服务完成采集的数据缺失值插补、异常值清理、同化处理;
所述洪水预警微服务基于分布式水文模型和二维水动力学模型自动运行并把模型运行结果插入到数据库中,所述模型运行结果即淹没区域及淹没深度的预测信息;
所述洪水地图展示微服务基于WebGIS技术将数据库中淹没区域及淹没深度信息以GIS地图即时展示;
所述数据引擎微服务实现了关系数据库与非关系数据库的统一的连接接口;通过Thrift协议建立IConnection与IDatastore两个抽象接口,不同的数据库继承IConnection与IDatastore并实现数据库连接、数据查询和数据插入与更新功能,为了空间数据的快速查询扩展了ISpatialDatastore接口,通过RTree索引实现空间数据的快速检索;其它微服务通过数据引擎微服务访问洪水预警数据库,获取查询数据、存储数据和预报洪水数据信息,并获取洪水预报模型的模型参数。
去中心微服务化区域洪水预警信息系统的集成方法,其特征在于:包括以下工作步骤:
实时水信息数据的采集处理:通过数据采集处理装置实现,所述数据采集处理装置包括任务抓取器、任务调度器和ETL服务器三个部分;任务抓取器在数据采集层抓取实时水信息数据并上传到微服务层的数据处理微服务中;数据处理微服务采用分布式Pipe技术ETL服务器进行海量实时数据的传输,并在Pipe中实现不同的Interceptor进行数据清洗同化处理;最后得到数据存储到数据集成层的非关系数据库数据库中,可用于洪水预警微服务,及洪水地图展示微服务,支撑用户交互式即时查询;任务调度器根据传感器监测的信号间隔,定时启动抓取任务;
微服务的发现与注册:服务注册中心集群完成微服务的发现与注册,存储微服务注册的基本信息;所有的微服务到服务中心进行测试,定时向服务注册中心发送心跳进行健康检查,默认时间间隔阈值发送一次心跳,表明服务一直在健康运行;服务注册中心连续3个时间间隔阈值内没有接收到微服务发送的心跳状态,则从列表中剔除服务信息;剔除后的服务信息放到一个故障列表中,服务注册中心每隔2个时间间隔阈值重新检测故障列表中的服务是否恢复,若恢复,从故障列表中再次添加到服务列表中,若3次检测仍然未回来,彻底清除;
微服务的工作与通信:当每个微服务启动时,先把服务基本信息在服务注册中心集群进行注册;当服务间或对外调用时,先从服务注册中心集群发现已注册的微服务基本信息再通信调用;功能微服务与服务注册中心集群通信使用基于请求/响应的同步通信模式的Thrift协议进行通信,功能微服务之间通过HTTP协议REST进行通信;微服务层中每个微服务运行在Docker容器里面;
洪水预警微服务的实现:洪水预警微服务由水文水动力耦合模型构成,洪水预警微服务实施主要包括4步:第一步,根据流域信息数据将流域划分为格网或者子流域;第二步,将模型参数数据输入到二维水动力学模型中,生成洪水淹没深度数据;第三步,将生成的洪水淹没深度数据以及历史暴雨事件的降雨数据作为训练数据,分别建立提前预警的机器学习模型,并把获取的参数插入到数据库中;第四步,读取实时水信息数据输入到模型中,获取未来洪水淹没深度地图,并存储到数据库;洪水地图展示微服务由API构成的交互式地图,用户登录系统后,经过权限验证后,浏览该流域的洪水地图并且鼠标可以点击查看淹没深度;
API服务:当API Gateway集群执行终端用户请求时,首先从服务注册中心发现用户权限微服务并验证用户对将要访问的微服务是否有访问权限,若无权限,返回提示信息,若有权限则查找API Gateway的缓存目录对应信息,若缓存目录中存在对应信息,读取信息返回给用户,若缓存中无信息,然后再向注册中心查找要访问微服务的地址,最后访问微服务获取信息并将信息进行缓存,再返回给用户。
本发明提供的方法是一种站式水信息集成方法,让洪水相关资料及区域洪水淹没图在网络上展示,并且基于去中心微服务化架构综合组织数据采集处理、机器学习洪水淹没预警、洪水地图展示等功能提升洪水预报能力,避免了传统洪水预警水信息系统出现的模块单元紧耦合、开发语言单一、可扩展性不强、配置复杂、高并发等问题,且能够以足够的提前期依次提供可靠和准确的区域洪水淹没范围及深度预测并以交互式GIS地图通知洪水影响区域用户。
本发明的有益效果:
(1)本发明基于去中心微服务架构,构建的洪水预警智能水信息集成方法具有较强的系统的容错能力、可靠性且系统应用扩展将演变为对细粒度服务的扩展,编程语言有选择性且部署简易化。
(2)本发明综合利用了物联网、移动通信、互联网、分布式计算存储、机器学习方法,可以整合实时水信息数据、洪水预警模型及结果可视化,能够为政府提供即时的基于GIS地图洪水淹没范围及深度资讯。
下面结合附图及具体实施方式对本发明作进一步详细说明。
附图说明
图1为去中心微服务化区域洪水预警水信息集成方法实施方案;
图2为区域洪水预警微服务化实施流程;
图3为水信息实时数据采集处理装置。
具体实施方式
实施例1
一种去中心微服务化区域洪水预警信息系统,包括数据采集层、数据集成层、微服务层、服务注册中心集群、API Gateway集群、终端用户层六个部分。
1、所述数据采集层:通过物联网、互联网以及移动通信技术采集各种传感器监控的实时水信息数据,并持久的存储到数据集成层的数据库中。
2、所述数据集成层:包括关系数据库和非关系数据库的混合数据库,通过所述混合数据库定义并持久化存储了用户管理数据、实时水信息数据、模型信息数据和空间数据四类数据支撑建立洪水预警模型及洪水淹没地图展示功能;所述用户管理数据包括用户名、密码、授权权限数据(授权指定对访问控制相关的资源的访问权限,在操作过程中,系统使用这些访问控制规则来决定是否应授予或拒绝访问请求);所述实时水信息数据包括水位数据、流量数据、降雨数据(为满足预警模型需要的实时监控数据);所述空间数据包括行政区划信息和地理数据信息(提供洪水图显示所需的信息,它为预报模型提供输入,维护预报模型的参数及其关系,并提供地理数据和预报洪水深度的WEB地图显示);所述模型信息数据包括构建和执行洪水预报模型所需的流域信息数据和模型参数数据。本实施例中关系数据库包括POSTGRES和MYSQL数据库,所述非关系数据库包括HABSE和CASSANDRA。所述CASSANDRA数据库储存实时水信息数据;所述POSTGRES数据库储存空间数据;所述MYSQL数据库储存用户管理数据及构建和执行洪水预报模型所需的模型参数数据;所述HABSE数据库储存构建和执行洪水预报模型所需的流域信息数据。
3、所述微服务层:由五种不同功能的微服务组件构成,五种微服务分别为:数据处理微服务、数据引擎微服务、洪水预警微服务、洪水地图展示微服务、用户权限微服务;数据引擎微服务与其它微服务相互通信,提供数据的连接与查询功能。微服务是采用化整为零的方法,把一个庞大的整体式应用或服务拆分为多个小微型的组件,一个组件主要是在业务功能上可以解决一个问题,这些组件可以由不同的人根据自己的特长和技术优势,采用不同的编程语言和编程风格进行开发,所以在开发策略上可以让工作变得更为专业和简单,每个组件都在其自己的进程中运行,本身不存在任何内部的关联,规避了整体式应用的高并发性,可以独立部署和升级改造各组件之间可以通过一些轻量级机制进行通信服务。
微服务层中:
所述用户权限微服务实现平台个人账号的注册、平台登录(账号、人脸识别)、个人信息修改、浏览邮件、注销/退出系统;
所述数据处理微服务完成采集的数据缺失值插补、异常值清理、同化处理;
所述洪水预警微服务基于分布式水文模型和二维水动力学模型自动运行并把模型运行结果插入到数据库中,所述模型运行结果即淹没区域及淹没深度的预测信息;
所述洪水地图展示微服务基于WebGIS技术将数据库中淹没区域及淹没深度信息以GIS地图即时展示;
所述数据引擎微服务实现了关系数据库与非关系数据库的统一的连接接口;通过Thrift协议建立IConnection与IDatastore两个抽象接口,不同的数据库继承IConnection与IDatastore并实现数据库连接、数据查询和数据插入与更新功能,为了空间数据的快速查询扩展了ISpatialDatastore接口,通过RTree索引实现空间数据的快速检索;其它微服务通过数据引擎微服务访问洪水预警数据库,获取查询数据、存储数据和预报洪水数据信息,并获取洪水预报模型的模型参数。
4、所述服务注册中心集群:采用P2P的一致性Chord环提供了去中心高可用的服务注册、服务发现以及心跳检测功能;每个微服务执行一种特定的系统功能,并具有统一的接口规范。本发明方法中为了避免传统洪水预警水信息系统容错能力低、运行不稳定问题,创新的利用去中心P2P结构一致性Chord环构建微服务的服务注册中心。大大的提升了本方法的容错能力、运行稳定性。服务注册中心采用P2P的Chord环结构,建立类路由表存储信息。在每个节点上保存集群中的部分微服务元数据信息,能够以很小的代价实现微服务注册信息数据定位与查找。由于P2P的Chord环结构无论节点的增删,都能以最小的影响处理好已经存在的节点与增删节点的映射关系。Chord环结构将哈希空间进行映射,如同一个圆圈一般,哈希空间在0-232-1中取值,然后按顺时针方向排列且0和232-1在零点中方向重合;将服务注册中心节点使用统一算法算出对应的hash值,然后根据hash值的位置沿圆环顺时针映射到环上。每当增加一台新的服务器,只有新增服务器的逆时针方向上碰到的第一台服务器的数据受到影响,其他均不会受到影响;由于节点的增删带来的重定位数据很小,所以系统的容错能力、运行稳定性会提高很多。
5、所述API Gateway集群:是唯一入口,基于Nginx二次模块,为客户提供定制化的API服务。API Gateway利用Nginx反向代理功实现负载均衡。
6、所述终端用户层:是用户友好的交互式Web应用程序界面;支持台式机、笔记本、移动设备并提供可视化的地图展示功能,用户可以交互式访问洪水相关的信息。
实施例2
基于实施例1的去中心微服务化区域洪水预警信息系统的集成方法,包括以下工作步骤:
1、实时水信息数据的采集处理:通过数据采集处理装置实现,所述数据采集处理装置包括任务抓取器、任务调度器和ETL服务器三个部分;任务抓取器在数据采集层抓取实时水信息数据并上传到微服务层的数据处理微服务中;数据处理微服务采用分布式Pipe技术ETL服务器进行海量实时数据的传输,并在Pipe中实现不同的Interceptor进行数据清洗同化处理;最后得到数据存储到数据集成层的非关系数据库数据库中,可用于洪水预警微服务,及洪水地图展示微服务,支撑用户交互式即时查询;任务调度器根据传感器监测的信号间隔,定时启动抓取任务。
采集处理的具体操作过程中:任务抓取器通过物联网、互联网、移动通信等技术建立抓取任务,每个抓取任务根据抓取任务的类型解析传感器监测的消息发送到ETL服务的Source接收器上;任务调度器根据传感器监测的信号间隔,定时启动抓取任务;ETL服务器通过Source接收不同的信号,根据信号类型进行数据清洗同化处理,处理完成后获得的数据通过Sink插入到数据库;上述数据采集处理装置,每个实时水信息数据在数据抓取器中对应着一个抓取任务,数据抓取器收集传感器所采集的信号,如水位、水流流量、降雨等数据,上传到数据处理微服务中。数据处理微服务采用分布式Pipe技术ETL服务器进行海量实时数据的传输,以保证数据的有效传输,数据不丢失。并在Pipe中实现不同的Interceptor进行数据清洗同化处理,如缺失值插补、异常值去除、数据同化等操作。最后得到数据存储到CASSANDRA数据库中,可用于洪水预报微服务,也可以用于洪水地图展示微服务,支撑用户交互式即时查询。
2、微服务的发现与注册:服务注册中心集群完成微服务的发现与注册,存储微服务注册的基本信息(包括微服务的协议、主机的IP地址与端口、服务的版本号、服务全名称等信息);所有的微服务到服务中心进行测试,定时向服务注册中心发送心跳进行健康检查,默认时间间隔阈值(30s)发送一次心跳,表明服务一直在健康运行;服务注册中心连续3个时间间隔阈值(90s)内没有接收到微服务发送的心跳状态,则从列表中剔除服务信息;剔除后的服务信息放到一个故障列表中,服务注册中心每隔2个时间间隔阈值(60s)重新检测故障列表中的服务是否恢复,若恢复,从故障列表中再次添加到服务列表中,若3次检测仍然未回来,彻底清除。
3、微服务的工作与通信:本方法的微服务层是一系列功能单一的细粒度服务构成,当每个微服务启动时,先把服务基本信息在服务注册中心集群进行注册;当服务间或对外调用时,先从服务注册中心集群发现已注册的微服务基本信息再通信调用;功能微服务与服务注册中心集群通信使用基于请求/响应的同步通信模式的Thrift协议进行通信,功能微服务之间通过HTTP协议REST进行通信;每个微服务不再受制单一的编程语言,大大提升了扩展性;为了快速的部署,微服务层中每个微服务运行在Docker容器里面,当一个微服务部署在一个Docker容器以后,把整个Docker容器生成一个新的镜像,以后可以简单、高效快速的部署服务。每个微服务可以在一个Docker内部署多个实例或者在多个Docker容器部署单个微服务实例以实现较强的容错能力与扩展性。
4、洪水预警微服务的实现:洪水预警微服务由水文水动力耦合模型构成,洪水预警微服务实施主要包括4步:第一步,根据流域信息数据将流域划分为格网或者子流域;第二步,将模型参数数据输入到二维水动力学模型中,生成洪水淹没深度数据;第三步,将生成的洪水淹没深度数据以及历史暴雨事件的降雨数据作为训练数据,分别建立提前预警的机器学习模型,并把获取的参数插入到数据库中;第四步,读取实时水信息数据输入到模型中,获取未来洪水淹没深度地图,并存储到数据库;洪水地图展示微服务由API构成的交互式地图,用户登录系统后,经过权限验证后,浏览该流域的洪水地图并且鼠标可以点击查看淹没深度。
5、API服务:API Gateway利用Nginx反向代理功实现负载均衡。当API Gateway集群执行终端用户请求时,首先从服务注册中心发现用户权限微服务并验证用户对将要访问的微服务是否有访问权限,若无权限,返回提示信息,若有权限则查找API Gateway的缓存目录对应信息,若缓存目录中存在对应信息,读取信息返回给用户,若缓存中无信息,然后再向注册中心查找要访问微服务的地址,最后访问微服务获取信息并将信息进行缓存,再返回给用户。
实施例3
本方法可以结合具体的区域通过许多不同形式的实施例得以体现,在淮河王家坝以上流域或长江丹江口以上流域都有所应用。
实施例中如图1,图2,其中数据采集层包括由三个CASSANDRA数据库节点存储的实时水信息(水位、流量、降雨)数据,3个HBASE数据库节点存储流域DEM地形数据,1个PostgresSQL数据库存储行政边界、气象站点、水文站点空间矢量数据和1个Mysql数据库存储用户权限数据、系统配置数据及模型参数数据;数据集成层包括2个服务器节点部署数据采集器;微服务层包括6个服务器节点分别是1个洪水预警微服务节点、1个洪水展示微服务节点、1个数据引擎微服务节点、1个用户权限微服务节点、2个数据处理微服务节点;服务注册中心集群包括3个服务器节点实现去中心P2P结构Chord环;API Gateway集群包括3个服务器节点,达到每秒500并发访问数。各节点全部以Docker容器部署。
实施例中数据采集层主要对水位、流量、降雨等多种实时水文数据进行采集,首先在任务抓取器中建立水位、流量、降雨数据抓取任务,任务中将水位、流量、降雨原始的数据解析为Event的事件包;其次建立两个调度器,水位、降雨调度器每间隔1小时调度抓取任务;最后任务启动后将Event包发送到数据处理微服务中。
数据处理微服务中包括两层ETL组成,第一层ETL对水位、降雨异常值进行剔除处理,第二层ETL对水位、降雨缺失值进行插补处理。最后处理后的水位、降雨实时数据连接到数据引擎微服务,通过数据引擎微服务的接口插入到CASSANDRA数据库中。
洪水预警微服务由水文水动力耦合模型构成。洪水预警微服务实施主要包括4步。第一步,根据流域数字高程(DEM),将流域划分为30m×30m的格网或者子流域;第二步,将DEM数据、历史暴雨事件的水位、水文模型模拟流量数据输入到二维水动力学模型中,生成洪水淹没深度数据;第三步,将生成的洪水淹没深度数据以及历史暴雨事件(3-12小时)的降雨数据作为训练数据,分别建立提前3-12小时预警的机器学习模型,并把获取的参数插入到数据库中;第四步,读取实时的水位、流量数据、以及未来3-12小时降雨预测数据输入到模型中,获取未来3-12小时的洪水淹没深度地图,并存储到数据库。
洪水地图展示微服务由百度地图API和洪水信息查询API构成的交互式地图,用户登录系统后,经过权限验证后,浏览该流域的洪水地图并且鼠标可以点击查看淹没深度。
上述的实施例仅是本发明的部分体现,并不能涵盖本发明的全部,在上述实施例以及附图的基础上,本领域技术人员在不付出创造性劳动的前提下可获得更多的实施方式,因此这些不付出创造性劳动的前提下获得的实施方式均应包含在本发明的保护范围内。
Claims (5)
1.一种去中心微服务化区域洪水预警信息系统,其特征在于:包括数据采集层、数据集成层、微服务层、服务注册中心集群、API Gateway集群、终端用户层六个部分;
所述数据采集层:通过物联网、互联网以及移动通信技术采集各种传感器监控的实时水信息数据;
所述数据集成层:包括洪水预警数据库的关系数据库和非关系数据库,定义并持久化存储了用户管理数据、实时水信息数据、模型信息数据和空间数据四类数据;所述用户管理数据包括用户名、密码、授权权限数据;所述实时水信息数据包括水位数据、流量数据、降雨数据;所述空间数据包括行政区划信息和地理数据信息;所述模型信息数据包括构建和执行洪水预报模型所需的流域信息数据和模型参数数据;
所述微服务层:由五种不同功能的微服务组件构成,五种微服务分别为:数据处理微服务、数据引擎微服务、洪水预警微服务、洪水地图展示微服务、用户权限微服务;数据引擎微服务提供关系数据库与非关系数据库的统一连接接口,其它微服务通过数据引擎微服务访问洪水预警数据库,获取查询数据、存储数据和预报洪水数据信息,并获取洪水预报模型的模型参数; 各个微服务通过REST协议与服务注册中心通信,且定时向服务注册中心发送心跳进行健康检查;
所述服务注册中心集群:分别与API Gateway集群和微服务层中的各个微服务通信,且存储微服务元数据信息;是采用P2P的一致性Chord环结构,建立类路由表存储信息,在每个节点上保存集群中的部分微服务元数据信息;
所述API Gateway集群:是基于Nginx二次模块提供客户访问接口;
所述终端用户层:为笔记本、移动设备提供交互式Web应用程序界面;
数据采集层采集数据存入数据集成层中;客户从笔记本、移动设备启动API从客户访问接口进入所述系统,在用户权限微服务中通过权限验证后,在微服务层通过数据引擎微服务完成数据信息的查找,然后通过所述终端用户层在笔记本、移动设备上展示。
2.根据权利要求1所述的去中心微服务化区域洪水预警信息系统,其特征在于:所述关系数据库包括POSTGRES和MYSQL数据库,所述非关系数据库包括HABSE和CASSANDRA。
3.根据权利要求2所述的去中心微服务化区域洪水预警信息系统,其特征在于:所述CASSANDRA数据库储存实时水信息数据;所述POSTGRES数据库储存空间数据;所述MYSQL数据库储存用户管理数据及构建和执行洪水预报模型所需的模型参数数据;所述HABSE数据库储存构建和执行洪水预报模型所需的流域信息数据。
4.根据权利要求1所述的去中心微服务化区域洪水预警信息系统,其特征在于:微服务层中:
所述用户权限微服务实现平台个人账号的注册、平台登录、个人信息修改、浏览邮件、注销/退出系统;
所述数据处理微服务完成采集的数据缺失值插补、异常值清理、同化处理;
所述洪水预警微服务基于分布式水文模型和二维水动力学模型自动运行并把模型运行结果插入到数据库中,所述模型运行结果即淹没区域及淹没深度的预测信息;
所述洪水地图展示微服务基于WebGIS技术将数据库中淹没区域及淹没深度信息以GIS地图即时展示;
所述数据引擎微服务实现了关系数据库与非关系数据库的统一的连接接口;通过Thrift协议建立IConnection与IDatastore两个抽象接口,不同的数据库继承IConnection与IDatastore并实现数据库连接、数据查询和数据插入与更新功能,为了空间数据的快速查询扩展了ISpatialDatastore接口,通过RTree索引实现空间数据的快速检索;其它微服务通过数据引擎微服务访问洪水预警数据库,获取查询数据、存储数据和预报洪水数据信息,并获取洪水预报模型的模型参数。
5.权利要求1所述的去中心微服务化区域洪水预警信息系统的集成方法,其特征在于:包括以下工作步骤:
实时水信息数据的采集处理:通过数据采集处理装置实现,所述数据采集处理装置包括任务抓取器、任务调度器和ETL服务器三个部分;任务抓取器在数据采集层抓取实时水信息数据并上传到微服务层的数据处理微服务中;数据处理微服务采用分布式Pipe技术ETL服务器进行海量实时数据的传输,并在Pipe中实现不同的Interceptor进行数据清洗同化处理;最后得到数据存储到数据集成层的非关系数据库数据库中,可用于洪水预警微服务,及洪水地图展示微服务,支撑用户交互式即时查询;任务调度器根据传感器监测的信号间隔,定时启动抓取任务;
微服务的发现与注册:服务注册中心集群完成微服务的发现与注册,存储微服务注册的基本信息;所有的微服务到服务中心进行测试,定时向服务注册中心发送心跳进行健康检查,默认时间间隔阈值发送一次心跳,表明服务一直在健康运行;服务注册中心连续3个时间间隔阈值内没有接收到微服务发送的心跳状态,则从列表中剔除服务信息;剔除后的服务信息放到一个故障列表中,服务注册中心每隔2个时间间隔阈值重新检测故障列表中的服务是否恢复,若恢复,从故障列表中再次添加到服务列表中,若3次检测仍然未回来,彻底清除;
微服务的工作与通信:当每个微服务启动时,先把服务基本信息在服务注册中心集群进行注册;当服务间或对外调用时,先从服务注册中心集群发现已注册的微服务基本信息再通信调用;功能微服务与服务注册中心集群通信使用基于请求/响应的同步通信模式的Thrift协议进行通信,功能微服务之间通过HTTP协议REST进行通信;微服务层中每个微服务运行在Docker容器里面;
洪水预警微服务的实现:洪水预警微服务由水文水动力耦合模型构成,洪水预警微服务实施主要包括4步:第一步,根据流域信息数据将流域划分为格网或者子流域;第二步,将模型参数数据输入到二维水动力学模型中,生成洪水淹没深度数据;第三步,将生成的洪水淹没深度数据以及历史暴雨事件的降雨数据作为训练数据,分别建立提前预警的机器学习模型,并把获取的参数插入到数据库中;第四步,读取实时水信息数据输入到模型中,获取未来洪水淹没深度地图,并存储到数据库;洪水地图展示微服务由API构成的交互式地图,用户登录系统后,经过权限验证后,浏览该流域的洪水地图并且鼠标可以点击查看淹没深度;
API服务:当API Gateway集群执行终端用户请求时,首先从服务注册中心发现用户权限微服务并验证用户对将要访问的微服务是否有访问权限,若无权限,返回提示信息,若有权限则查找API Gateway的缓存目录对应信息,若缓存目录中存在对应信息,读取信息返回给用户,若缓存中无信息,然后再向注册中心查找要访问微服务的地址,最后访问微服务获取信息并将信息进行缓存,再返回给用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253717.2A CN111488420B (zh) | 2020-04-02 | 2020-04-02 | 去中心微服务化区域洪水预警水信息系统及其集成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010253717.2A CN111488420B (zh) | 2020-04-02 | 2020-04-02 | 去中心微服务化区域洪水预警水信息系统及其集成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488420A CN111488420A (zh) | 2020-08-04 |
CN111488420B true CN111488420B (zh) | 2020-12-18 |
Family
ID=71811632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010253717.2A Active CN111488420B (zh) | 2020-04-02 | 2020-04-02 | 去中心微服务化区域洪水预警水信息系统及其集成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488420B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394947A (zh) * | 2020-11-27 | 2021-02-23 | 北京宇航系统工程研究所 | 一种基于微服务架构的信息系统 |
CN112506772B (zh) * | 2020-12-03 | 2023-09-26 | 软通动力信息技术(集团)股份有限公司 | web自动化测试方法、装置、电子设备和存储介质 |
CN113391820A (zh) * | 2021-06-16 | 2021-09-14 | 浙江百应科技有限公司 | 一种高性能的微服务注册调用系统及方法 |
CN113837108B (zh) * | 2021-09-26 | 2023-05-23 | 重庆中科云从科技有限公司 | 人脸识别方法、装置及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230987A (zh) * | 2016-09-21 | 2016-12-14 | 南方电网科学研究院有限责任公司 | 一种基于电力PaaS云平台的信息集成系统及方法 |
CN106878393A (zh) * | 2017-01-16 | 2017-06-20 | 深圳市商沃科技发展有限公司 | 一种基于融合微服务架构的系统 |
CN108415944A (zh) * | 2018-01-30 | 2018-08-17 | 长安大学 | 一种交通环境下基于微服务的实时计算系统及其实现方法 |
CN109191008A (zh) * | 2018-09-30 | 2019-01-11 | 江苏农牧科技职业学院 | 一种用于水产品质量安全监管系统的微服务框架系统 |
CN109714358A (zh) * | 2019-01-15 | 2019-05-03 | 广东工业大学 | 一种微服务化的注塑mes云平台 |
CN110727419A (zh) * | 2019-09-06 | 2020-01-24 | 广东户外媒体村科技有限公司 | 一种监测系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880668A (zh) * | 2012-09-04 | 2013-01-16 | 广东电子工业研究院有限公司 | 综合应急管理平台数据存储方法及采用该方法的平台架构 |
CN105955675B (zh) * | 2016-06-22 | 2018-11-09 | 南京邮电大学 | 一种用于去中心云环境的重复数据删除系统及方法 |
US10645153B2 (en) * | 2017-08-15 | 2020-05-05 | Sap Se | Modeling session states in microservices on cloud infrastructures |
CN109995882A (zh) * | 2019-05-07 | 2019-07-09 | 东莞市商二信息科技有限公司 | 一种基于微服务化的移动应用系统 |
-
2020
- 2020-04-02 CN CN202010253717.2A patent/CN111488420B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106230987A (zh) * | 2016-09-21 | 2016-12-14 | 南方电网科学研究院有限责任公司 | 一种基于电力PaaS云平台的信息集成系统及方法 |
CN106878393A (zh) * | 2017-01-16 | 2017-06-20 | 深圳市商沃科技发展有限公司 | 一种基于融合微服务架构的系统 |
CN108415944A (zh) * | 2018-01-30 | 2018-08-17 | 长安大学 | 一种交通环境下基于微服务的实时计算系统及其实现方法 |
CN109191008A (zh) * | 2018-09-30 | 2019-01-11 | 江苏农牧科技职业学院 | 一种用于水产品质量安全监管系统的微服务框架系统 |
CN109714358A (zh) * | 2019-01-15 | 2019-05-03 | 广东工业大学 | 一种微服务化的注塑mes云平台 |
CN110727419A (zh) * | 2019-09-06 | 2020-01-24 | 广东户外媒体村科技有限公司 | 一种监测系统 |
Non-Patent Citations (2)
Title |
---|
P2P结构的高性能微服务框架的设计与实现;刘波;《电脑编程技巧与维护》;20190418(第2019年04期);第67-70页 * |
一种基于微服务架构的突发事件预警辅助决策系统的设计与实现;陈石定 等;《南京信息工程大学学报(自然科学版)》;20190928(第2019年05期);第609-620页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111488420A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488420B (zh) | 去中心微服务化区域洪水预警水信息系统及其集成方法 | |
Lv et al. | Managing big city information based on WebVRGIS | |
Onal et al. | Weather data analysis and sensor fault detection using an extended IoT framework with semantics, big data, and machine learning | |
CN109241161A (zh) | 一种气象数据管理方法 | |
CN103258027B (zh) | 基于智能终端的情境感知服务平台 | |
CN103714185B (zh) | 主题事件更新方法库及城市多源时空信息并行更新方法 | |
Li et al. | Big data and cloud computing | |
Xhafa et al. | Processing and analytics of big data streams with yahoo! s4 | |
CN111274282B (zh) | 一种空气质量挖掘系统、方法及数据采集监控装置 | |
CN111708778B (zh) | 一种大数据管理的方法与系统 | |
CN103259872A (zh) | 基于开放式网格体系的多源异构地理信息服务平台 | |
CN111726403B (zh) | 一种跨云平台的大数据管理的方法与系统 | |
CN106202378A (zh) | 一种流式气象数据的快速处理方法及系统 | |
CN114169579B (zh) | 核电工业互联网综合智能平台系统 | |
CN114791846B (zh) | 一种针对云原生混沌工程实验实现可观测性的方法 | |
CN104281980B (zh) | 基于分布式计算的火力发电机组远程诊断方法及系统 | |
CN113272774A (zh) | 用于全历史动态网络分析的系统和方法 | |
CN103473247B (zh) | 地质资料信息集群机理与接口聚合系统 | |
CN112488502A (zh) | 一种标准的水资源管理一体化管控平台 | |
CN111209323A (zh) | 一种空间地理信息大数据处理系统 | |
CN108804781A (zh) | 流计算与传感网集成的地理过程近实时模拟方法 | |
CN110096042A (zh) | 人工湿地在线监测展示方法及系统 | |
Sun et al. | Establish cyberinfrastructure to facilitate agricultural drought monitoring | |
CN114969114A (zh) | 水利信息快速检索方法、系统、计算机可读介质 | |
CN114969188A (zh) | 一种流域边缘端多源异构生态环境大数据集成方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |