1.一种应急工况下大坝安全监测多系统联动方法,其特征在于,包括如下内容:(1)联动数据采集:实时采集关于大坝地震特征参数数据,并转储为事件文件存入事件文件夹中,实时读取新存入的事件文件,解析文件中强震相关数据,实现数据的即时入库和存储;(2)联动数据实时监听:配置Flink CDC同步工具以持续监控和捕捉数据库中的数据更新,确保所有强震数据的变更被即时识别和处理,从而允许系统对最新强震数据进行快速响应;(3)异常数据发布:当识别出超过监测阈值的强震数据时,自动将这些数据封装并发布至Kafka消息队列中,使得信息能够被迅速分发至需要执行应急响应任务的大坝安全监测系统;(4)大坝安全监测系统召测任务自动执行:通过自动化控制脚本与图像识别技术,模拟鼠标点击操作,实现大坝安全监测系统召测任务自动执行;所述(2)联动数据实时监听中,使用Flink CDC工具,实时处理并分析地震特征参数,具体步骤如下:(2.1)数据捕获与同步:针对数据库表中新增的地震特征参数,使用Flink CDC工具实时监听该数据库表中的变化;(2.2)设定时间窗口,收集同一地震发生时间内所有测点地震特征参数进行计算与融合;(2.2.1)时间窗口的大小设定:通过仿真实验模拟地震发生时,所有测点插入数据库中并被Flink监听到的时间,将该时间设置为时间窗口大小;(2.2.2)多测点强震数据融合:将地震发生时间戳设置为窗口分组依据,使得同一时刻不同测点采集到的强震数据将进入同一个时间窗口中,通过地震特征参数计算峰值加速度,并记录峰值加速度最大值与超过触发召测任务阈值的测点个数;(2.2.3)数据传递触发条件设定:当统计大于触发阈值的测点个数超过总测点个数一半时,将峰值加速度最大值对应测点的信息传入Kafka消息队列中。
2.根据权利要求1所述的应急工况下大坝安全监测多系统联动方法,其特征在于,所述联动数据采集中,利用地震传感类设备自动且实时采集大坝震动数据,将采集到的数据以.evt文件格式存入事件文件夹中;采用基于pywin32类库实现的自动化脚本,实时监控事件文件夹中新增的事件文件,所述脚本负责提取文件中记录的东西、南北及竖直向分量的加速度数据,将加速度数据存入地震特征参数数据库中供后续分析使用。
3.根据权利要求1所述的应急工况下大坝安全监测多系统联动方法,其特征在于,所述(3)异常数据发布中,大坝安全监测系统设置为Kafka消息队列的消费者,实时地从Kafka队列中接收强震消息;大坝安全监测系统消费消息后,解析强震消息中的任务名称,与本地Earthquake文件夹中对应的任务文件夹匹配,此任务文件夹中存有执行召测任务的所有图标,图标为召测任务自动化执行过程中提供定位信息;具体步骤如下:(3.1)设定生产者:配置Flink端为生产者,将Flink经过融合后的数据作为生产者生产的数据,将该数据存入消息队列指定的强震Topic主题中;(3.2)设定消费者:通过Kafka客户端API与大坝安全监测系统服务器建立连接,并订阅地震消息主题,此时大坝安全监测系统实时监听并接收来自Kafka消息队列中发布的强震消息;(3.3)消息解析与召测任务匹配:大坝安全监测系统作为消费者从Kafka接收新的强震数据,解析JSON格式的消息内容,并提取任务名称,这个任务名称将与本地Earthquake文件夹下的任务文件夹名称进行匹配,从而获取需要执行召测任务的图标,用于提供定位信息。
4. 根据权利要求1所述的应急工况下大坝安全监测多系统联动方法,其特征在于,所述(4)大坝安全监测系统召测任务自动执行中,使用pyautogui截取当前操作系统界面,并通过Open CV校验当前页面是否含有预存的召测任务图标;若匹配成功,系统将自动定位并点击该含有预存的召测任务图标,触发大坝监测任务并自动采集相关数据,便于后续分析;具体步骤如下:(4.1)屏幕截图与图像处理:系统每隔设定时间截取当前界面作为基于Open CV模板匹配方法的目标图片,分为两种情况:一种是截取不含任务栏的主界面,用于大坝安全监测系统未启动或执行召测任务时,作为目标图片;另一种是截取任务栏部分,适用于大坝安全监测系统已启动且最小化至任务栏时,作为目标图片;(4.1.1)系统主界面截取:使用pyautogui库的screenshot()方法得到系统主界面的屏幕截图作为目标图片,适用于大坝安全监测系统未启动或执行召测任务时进行识别操作;(4.1.2)系统任务栏截取:使用pyautogui库的screenshot()方法得到系统任务栏的屏幕截图作为目标图片,适用于大坝安全监测系统已启动且最小化至任务栏时进行识别操作;(4.2)基于Open CV的标准相关匹配:使用基于Open CV的标准相关匹配寻找模板图片在目标图片中的位置,按照召测任务的顺序依次计算召测任务图标在主界面中的所在位置;(4.3)召测任务自动触发:利用步骤(4.2)中获得任务图标在屏幕上的位置,将这一位置转化为屏幕像素点位置,使用pyautogui库中的doubleClick()方法按顺序自动执行召测任务,便于相关人员对大坝安全性态进行实时分析与综合评判。
5.根据权利要求1所述的应急工况下大坝安全监测多系统联动方法,其特征在于,所述方法适用于多种应急工况中的多系统联动方案。
6.一种地震工况下大坝安全监测多系统联动装置,其特征在于,包括:联动数据采集模块:利用多个地震传感器,自动实时采集震动数据,采集的数据以.evt格式存入事件文件夹;使用基于pywin32的自动化脚本监控文件夹中新增事件文件,提取并存储关键加速度数据至数据库,供分析使用;联动数据实时监听模块:使用Flink CDC工具,实时处理并分析联动数据采集模块的地震特征参数;异常数据发布模块:大坝安全监测系统配置为Kafka消息队列的消费者,实时接收地震消息;系统解析每条消息以获取任务名称,并与本地Earthquake文件夹中的相应任务文件夹匹配;该文件夹包含召测任务的图标,为召测任务自动化执行过程中提供定位信息;大坝安全监测系统召测任务自动执行模块:使用pyautogui库对操作系统界面进行截图,然后用Open CV处理图像,通过算法比对实时截图与Earthquake文件夹中的任务图标是否匹配,匹配成功后确定图标的屏幕位置,并转化为像素点位置;pyautogui根据这个位置自动点击,触发大坝安全监测系统的召测任务,自动采集数据以便进行安全性分析;所述联动数据实时监听模块中,使用Flink CDC工具,实时处理并分析地震特征参数,具体步骤如下:(2.1)数据捕获与同步:针对数据库表中新增的地震特征参数,使用Flink CDC工具实时监听该数据库表中的变化;(2.2)设定时间窗口,收集同一地震发生时间内所有测点地震特征参数进行计算与融合;(2.2.1)时间窗口的大小设定:通过仿真实验模拟地震发生时,所有测点插入数据库中并被Flink监听到的时间,将该时间设置为时间窗口大小;(2.2.2)多测点强震数据融合:将地震发生时间戳设置为窗口分组依据,使得同一时刻不同测点采集到的强震数据将进入同一个时间窗口中,通过地震特征参数计算峰值加速度,并记录峰值加速度最大值与超过触发召测任务阈值的测点个数;(2.2.3)数据传递触发条件设定:当统计大于触发阈值的测点个数超过总测点个数一半时,将峰值加速度最大值对应测点的信息传入Kafka消息队列中。
7.一种计算机设备,其特征在于:该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如权利要求1-4中任一项所述的应急工况下大坝安全监测多系统联动方法。
8.一种计算机可读存储介质,其特征在于:该计算机可读存储介质存储有执行如权利要求1-4中任一项所述的应急工况下大坝安全监测多系统联动方法的计算机程序。