999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

監控系統嵌入式事件查詢工具軟件的設計

2010-01-01 00:00:00劉孟覺
計算機時代 2010年1期

摘要:介紹了一種在QT4、C++語言環境下開發的綜合監控系統事件查詢工具軟件。該軟件支持歷史事件和實時事件兩種查詢模式。與一般的查詢工具軟件不同,該軟件以動態庫的模式嵌入到圖形用戶界面(GUI)程序中,它不僅能滿足在大數據量環境中對查詢效率的要求,而且操作簡單。

關鍵詞:綜合監控系統;事件查詢;GUI;Qt

0 引言

事件查詢是綜合監控系統的一個重要功能。綜合監控系統中的保存的歷史事件數據非常多,以北京地鐵5號線綜合監控系統為例,每天保存的事件有二十多萬條,一年的數據有將近一億條,要快速準確地查找出用戶所需的數據是非常困難的。綜合監控系統除了要檢索歷史事件外,還要檢索實時發生的事件。為了與其他GUI顯示保持一致性,事件查詢工具軟件需要嵌入到GUI中,不能作為—個獨立的程序運行。本文提出了一種新的方案,將事件查詢工具生成一個動態庫。嵌入到GUI程序中,同時對查詢進行優化,以在節約系統資源的同時滿足查詢效率的需求。

1 功能分析

綜合監控系統是一個多專業、多域的系統。其事件來源于多個不同的系統消息,這些消息包括:①狀態變位事件,包括數字量的狀態變化和模擬量越限報警,這是歷史事件中最主要的內容;②各種操作記錄,包括控制操作是否成功、報警確認、用戶登錄和注銷登錄;③綜合監控系統設備狀態的變化,包括計算機故障(包括內存、CPU、硬盤),網絡設備故障。

綜合監控系統中事件查詢功能包括兩部分:歷史事件查詢和實時事件查詢。歷史事件查詢是根據用戶設定的查詢條件從數據庫中讀取歷史事件然后在GUI上展示給用戶;這種查詢方式是被動式的,先由用戶提交查詢需求,然后顯示結果。實時事件查詢是將系統中實時發生的事件實時地展示給用戶;這種方式是主動式的,用戶設定條件之后:當系統中有符合設定條件的新事件發生時,GUI上能實時刷新。

綜合監控系統客戶端一般是多屏工作站,同一工作站上不同的屏幕上顯示的內容不一定相同,而且要求互不影響。因此操作員在不同屏幕上設置的查詢條件只能在本屏幕上有效。GUI顯示的事件只能顯示符合當前屏幕設置查詢條件的記錄。操作員在查詢歷史事件時,如果查詢條件嚴格而且歷史數據量非常多(如總的數據記錄達到1億條記錄),事件查詢工具軟件必須保證不能影響操作員在該工作站的其它工作,如GUI上的數據刷新、告警的刷新以及控制操作等。

2 模塊設計與實現

本查詢軟件的數據庫環境是ORACLE10.2,系統中的GUI主程序用QT4.5和C++實現。本軟件是以動態庫的形式給GUI主程序調用的。

2.1 設計思路

查詢軟件的設計采用QT提供的模型艦圖(Model/View)模式,結合過濾代理(QSortFilterProxyModel)控件實現數據的存儲、過濾和顯示。

由于歷史事件查詢的復雜多樣性,查詢過程會占有很多的系統資源,甚至造成GUI在短時間出現僵死狀態,操作員不能在GUI上做任何操作,GUI上也看不到其它的數據刷新和新告警,這種現象會嚴重影響系統的安全性。因此,在軟件設計中將歷史事件查詢這種費時工作安排在子線程中完成,主線程在創建查詢子線程后并不等候結果返回,只是繼續做正常的處理,并定時監視子線程查詢結果,當子線程查詢結束時,返回結束標記給主線程,主線程取到完成標記時再把查詢結果顯示在GUI上。為了提高查詢性能,在優化數據庫的設計同時另外采取了一些措施,即“先查到先顯示”,將先查到的一些結果先在GUI上展示,而不是等到所有查詢結束再一起顯示結果。

在實現實時事件功能時,為了節約系統資源,同時要做到在操作員頻繁修改過濾條件的情況下不影響顯示效率和多個GUI上的顯示互不影響,我們讓實時事件數據共用一個Model,該Model中只保存一份當前用戶擁有的事件,通過QSortFilter-ProxyModel控件的過濾功能在不同GUI上顯示不同的事件內容。為了實時刷新GUI上顯示的事件,以一個子線程接收系統服務發來的實時事件,當該事件符合當前用戶權限時,將該事件添加到Model中,否則就丟棄。

2.2 程序流程

本查詢工具軟件程序流程如圖1所示。

系統啟動并有用戶登錄時,首先做初始化,讀取當前登錄用戶所具有的權限,根據該權限從數據庫中讀取最近的事伴,同時根據該權限接收從其他系統服務發來的實時事件。

接收實時事件子線程是常駐線程,直到GUI主程序退出。接收子線程負責接收系統其他服務程序發送來的實時事件,更新實時事件Model。

歷史事件查詢子線程是非常駐線程,當查詢結束后,子線程就退出。

2.3 查詢界面

本查詢軟件以重慶軌道交通3號線系統為例,如圖2所示為一個簡單的事件查詢界面。

系統提供了多種過濾條件選擇,操作員可以通過以下操作設定事件過濾的條件:

(1)選擇報警等級,可以選擇多個報警等級或全部等級。

(2)選擇需要查看的車站,可以選擇多個車站或所有車站。

(3)選擇專業或系統,可以選擇多個系統,也可以全選。系統選擇完后,相應的“設備類型”復選框中的“系統列表框”將相應的改變,該列表框只顯示已選中的系統列表。

(4)選擇想要過濾的事件類型,可以單選或多選。

(5)可以使用“設備類型”過濾,選擇某系統下的某一類設備。

(6)可以按“關鍵字”查詢,在編輯框中輸入需要匹配的關鍵字,如“101”,可以查詢事件內容中所有有“101”字樣的事件。

(7)點擊【報警確認】按鈕,在新的事件過濾界面中,可以選擇某用戶組下某用戶確認的報警,也可以查詢所有用戶確認的報警。

(8)點擊【確定】按鈕后,設定的過濾條件即可生效,過濾界面關閉,系統在事件列表GUI中即刻顯示所過濾的信息。

點擊【應用】按鈕后,設定的過濾條件即可生效,過濾界面關閉,在事件列表中即刻顯示所過濾的信息。重啟系統時,如果登錄用戶和本次用戶權限相同,則打開的“事件過濾”界面的設置條件與本次保存的條件相同;若權限不同,則條件清空。

點擊【取消】按鈕,系統將放棄所作的選擇,保持上次設置的過濾條件。過濾界面關閉。

本工具軟件的歷史事件和實時事件切換方便。當選中“查詢時間設置”復選框,即表示將執行歷史事件查詢,操作員輸入“開始時間”及“結束時間”,系統將根據上述過濾條件及此處設定的時間段進行歷史事件的查詢及顯示。當“查詢事件設置”復選框未選中時,即表示將執行實時事件查詢,將顯示系統內所有符合過濾條件的實時事件。

3 結束語

本查詢工具軟件綜合考慮了綜合監控系統的特點,完全滿足操作人員對歷史事件和實時事件的查詢需求。本軟件嵌入GUI主程序后,運行穩定,而且效率高,可以在海量數據中查詢任意時段、任意條件的事件。在有1.5億條歷史事件記錄的測試環境中,當查詢時間跨度達一個月時,可以在3秒鐘內返回查詢結果,而且不影響其它GUI的數據刷新。測試結果證明,本軟件運行性能良好。

主站蜘蛛池模板: 亚洲狠狠婷婷综合久久久久| 国产肉感大码AV无码| 18黑白丝水手服自慰喷水网站| 91精品伊人久久大香线蕉| 久久人妻xunleige无码| 亚洲婷婷丁香| 欧美三级视频在线播放| www.91在线播放| 欧美日韩精品一区二区在线线 | 日韩视频精品在线| 中文字幕在线日韩91| 国产a在视频线精品视频下载| 看国产一级毛片| 依依成人精品无v国产| 久久久久亚洲精品成人网| 国产精品污污在线观看网站| 91丝袜乱伦| 国产欧美中文字幕| 在线一级毛片| 欧美日本二区| 丁香五月亚洲综合在线 | 色综合激情网| 国产亚洲精品资源在线26u| 国产人人干| 美美女高清毛片视频免费观看| 青青青国产视频手机| 欧美成人一级| 国产成人亚洲精品无码电影| 成人a免费α片在线视频网站| a天堂视频| 欧美精品在线看| 亚洲欧美另类日本| 色综合网址| 国产原创自拍不卡第一页| 亚洲精选高清无码| 欧美在线国产| 青青草欧美| 国产精品无码AV中文| 狠狠亚洲五月天| 最新精品久久精品| 97视频精品全国在线观看| 71pao成人国产永久免费视频| 2022国产无码在线| 91成人免费观看在线观看| 国产真实乱人视频| 国产综合精品日本亚洲777| 波多野结衣一区二区三视频| 91精品综合| 日本久久久久久免费网络| 国产精品xxx| www.99在线观看| 成人福利在线观看| 国产美女91呻吟求| 国产精品网曝门免费视频| 91麻豆精品国产高清在线| 综合人妻久久一区二区精品 | 国产丰满大乳无码免费播放| a天堂视频| 欧美日韩成人在线观看| 国产在线观看99| 亚洲V日韩V无码一区二区| 毛片大全免费观看| 激情亚洲天堂| 久久不卡精品| 91免费观看视频| 99热线精品大全在线观看| 最新国产精品第1页| 人人91人人澡人人妻人人爽| 2020精品极品国产色在线观看| 久久综合丝袜长腿丝袜| 好紧太爽了视频免费无码| 99热这里只有精品在线观看| 国产不卡一级毛片视频| 亚洲伊人天堂| 亚洲91在线精品| 亚洲精品另类| 日韩a在线观看免费观看| 在线精品自拍| 99久久国产综合精品2023| 中字无码精油按摩中出视频| 色综合久久88| 毛片免费视频|