目 錄
第1章緒論 1
1.1研究背景 1
1.2研究現狀 1
1.3論文主要工作 3
1.4論文組織結構 3
第2章研究基礎 5
2.1系統框架技術 5
2.1.1 SSH 框架 5
2.1.2 Struts2 框架 6
2.1.3 Spring 框架 6
2.2機器學習預測算法 6
2.2.1灰色系統理論 二 6
2. 2.2支持向量機 7
2.3數據庫技術 8
2.3. lMySQL數據庫簡介 8
2.3. 2MySQL使用優勢 8
2.4系統體系結構 ;■ 8
2.5本章小結 10
第3章系統需求分析 11
3.1系統建設目標 11
3.2系統需求分析 12
3.2.1功能性需求分析 12
3.2. 2非功能性需求分析 13
3. 3系統可行性分析 14
3.3.1技術可行性分析 14
3.3.2操作可行性分析 14
3.4系統用例分析 15
3. 5本章小結 17
第4章系統設計 18
4.1系統設計原貝!| 18
4.2系統總體架構設計 19
4. 3系統功能模塊設計 20
4.3.1火災基礎信息管理模塊設計 21
4. 3. 2火災綜合查詢模塊設計 22
4. 3. 3火災統計分析模塊設計 23
4. 3. 4火災趨勢預測分析模塊設計 23
4. 3. 5用戶與組織機構管理模塊設計 23
4.3. 6權限管理模塊設計 23
4.4系統分層設計 24
4. 5系統數據庫設計 25
4.5.1數據庫概念設計 25
4.5. 2數據庫物理結構設計 26
4.6系統安全設計 29
4. 6.1傳輸安全設計 29
4.6. 2權限安全設計 30
4.7本章小結 31
第5章 系統實現 32
5.1代碼結構和開發環境 32
5.2用戶管理模塊實現 33
5. 3權限管理模塊實現 35
5.4火災數據預處理模塊實現 37
5. 5火災數據管理模塊實現 38
5. 6多維統計分析模塊實現 38
5. 7趨勢預測模塊實現 39
5.7.1基于灰色預測的年度趨勢預測實現 39
5. 7.2基于支持向量機的月度趨勢預測實現 42
5. 8系統測試 45
5.&1測試目的與內容 45
5.8.2系統測試分析 45
5. 8.3系統測試結論 47
5.9本章小結 47
第6章總結與展望 48
6.1論文工作總結 48
6.2不足與展望 48
參考文獻 50
致謝 53
第1章緒論
1.1研究背景
火災是目前世界上對人類生存、發展和繁榮造成重大威脅的災難之一,它作為世界 范圍內普遍存在的災害,有著時間維度和空間維度不受控制、危害程度不可估量等特點 [切。伴隨著我國經濟建設迅速發展,各類新能源、新技術、新材料被廣泛的開發和使用, 使得城市建設步伐越來越快、人民的生活水平和物質需求越來越好,各種火災影響因素 與日俱增,導致各地火災頻繁發生,每年造成的財產經濟損失高達幾十億人民幣,死傷 人數也達到二千多人。
大量事實表明,隨著我國經濟的迅猛發展和城市建設的日趨繁榮,火災隱患隨之逐 漸增加,消防工作已經成為保障人民生活幸福、維護社會和諧穩定的重大任務。我國古 代時期對于火災的策略已經是“防為上,救次之,戒為下”的思想[叫 現在時期對于火災 仍然要堅持預防為主,積極補救的方針政策,盡早發現問題解決問題。
在我國計算機技術與信息化發展的時代背景下,我國消防建設的信息化已經取得了 很大進步,各地己經建設了消防信息系統進行消防工作的管理,但基本上我國各地消防 系統的建設仍都處在初級發展階段,系統的業務和功能還不完善,僅具備火災數據的存 儲和管理等基礎功能,火災預防主要依靠人工經驗來提前進行消防力量的布局,使得人 為因素對火災預警起了關鍵的作用,不利于統籌決策和科學管理。
通過上述分析,在面向預測火災、保障安全這一我國經濟和社會發展的重大需求下, 唯有信息化實現火災防控才是必經之路。保障火災安全是一個錯綜復雜的系統工程,只 有實現快捷的數據反饋、全面的數據處理、智能的數據分析,統一的進行應急指揮和資 源的優化配置,才能將各個部門的專業優勢集成為整體綜合的優勢,使各個部門組合成 有機高效的整體。因此本文在研究國內外火災信息管理系統的基礎上,設計了一套基于 機器學習預測技術的火災信息管理系統,能夠具備火災管理、火災統計和火災趨勢預測 的能力,來提高我國消防建設的信息化、規范化水平,從而最優化消防資源配置,最大 化減少火災損失和人員傷亡。
1.2研究現狀
在國外,消防系統的信息化建設起步很早,許多發達國家的城市均己經創建了高度 完善的火災報警系統,通常具備火災數據收集、匯總、統計、預警和實時響應等全方位 的防控治理能力⑷。根據對國外的消防建設情況的調查研究,美國、德國、日本等高度 發達的國家在創建和實踐火災預測和報警系統方面均有成功經驗可供學習,這些國家在 消防指揮、數據傳輸、信息錄入、統計分析和精準預測方面均具有完善的功能和規范的 管理,使得火災管理中心能夠及時響應、快速分析和決策,并調派消防官兵趕赴火災現 場,可見國外火災預測和報警系統是能夠真正發揮其作用和指導消防決策的⑸。
在國內,隨著近些年國家大力發展信息化建設,我國城市消防的信息化水平有了很 大的提高,各地都建設了消防通信指揮系統,開發了一些消防信息化管理軟件,建立了 消防門戶網站。但由于我國城市消防的信息化建設起步較晚,基礎研究薄弱,我國城市 消防的信息化水平與美國、歐洲等發達國家相比仍有一定差距。主要體現在一方面制度 規則不夠健全,絕大部分企業沒有建立完善的質量體系【6刀;另一方面軟件建設水平不足 以支撐國家消防需求,這里面既包括應用系統的軟件架構仍使用單體架構的方式進行開 發,使得在系統規模增長后各個模塊耦合度高,維護成本高,部署不靈活,擴展性差; 也包括軟件開發的信息化程度低,應用系統內的內容主要仍實現火災數據簡單的收集、 匯總、整理和查詢工作,缺乏智能的歷史數據學習能力,進而有效的實現火災預測,并 通過各類圖標可視化的呈現。
其中,我國知名學者盧云飛以蚌埠市的消防栓為研究對象,在文中闡述了消防栓管 理系統的思路、主要框架、功能模塊[鐵該消防栓管理系統既可以實現對消防栓數據的 填報、查詢、統計分析,而且能夠展現對應可視化視圖和表格,以及查看消防栓所在的 地理位置信息,最后介紹了該消防栓管理系統在火災救助過程中實現的價值,通過系統 能夠提供消防栓的有效管理和科學配置。
國內學者田穎、沈文等人研究地理信息系統與城市消防建設的結合[刃,探索在建立 城市消防空間數據的基礎上實現地圖的展現、修改、搜索和各類信息統計分析功能,進 而得到一個可以迅速、敏捷、精確、全面的信息搜索和消防決策的消防管理信息系統, 提升消防部門指揮決策的信息化能力、消防作戰能力和突發事件應變能力。
國內學者付舉磊、程前進等人研究了城市消防和森林消防的輔助決策系統的設計與 實現[1°N,主要的工作是通過分析火警指揮調度的實際經驗,得出調度的關鍵過程,基 于專家模型設計與實現了火警指揮調度專家系統,通過該系統科學的指導消防部門的作 戰指揮與決策。
國內朱霽平等學者以統計分析和建模的視角〔"I,并以此建立火災行為專家預測系統。 他們分析森林地表火災行為特征,運用工程熱物理的原理和方法構造出火蔓延的理論模 型,并建立了林火行為預測預報專家系統。
從上述的研究可以發現,雖然這些系統在一定程度上解決了特定場景下消防建設的 問題[13】,但也存在著一些不足之處,包括開發技術過時、開發標準不規范、系統兼容性 差、擴展性差等,同時存在著功能不完善、可用性差等情況,使得不足以滿足我國城市 消防的信息化建設越來越豐富的需求。
1.3論文主要工作
本文在研究國內外火災信息管理系統的基礎上,設計和實現了一套基于機器學習預 測技術的火災信息管理系統,能夠具備火災管理、火災統計和火災趨勢預測的能力,來 提高我國消防建設的信息化、規范化水平,從而最優化消防資源配置,最大化減少火災 經濟損失與人員傷亡。本文研究的主要工作如下:
(1)本文設計了系統的總體架構和詳細的功能模塊,并且釆用系統分層的設計原 則把火災信息管理從總體上分為三層結構,分別是用戶交互層、業務邏輯層和數據層, 基于分層的結構設計,可以有效提高系統的整體運行效率。同時對系統的安全進行了充 分的考慮,包括數據傳輸安全和數據訪問安全。
(2)基于系統分層設計原則和詳細的功能模塊設計實現了火災信息管理系統核心
模塊,包括火災基礎信息模塊、火災綜合査詢模塊、火災統計分析模塊:火災趨勢預測 分析模塊,實現規范化的火災信息數據管理和綜合分析能力。 '
(3)本系統實現了支撐火災信息管理系統的基礎模塊,包括用戶模塊、權限模塊、 日志模塊。能夠提供系統用戶和組織機構的管理、用戶權限的分配管理以及系統日志信 息的監控,這些模塊是一個系統具備良好的可維護性的必要因素。
(4)在系統設計和實現過程中,系統采用統一的框架設計系統的接口和功能,同 時系統保留了未來擴展需要用到的功能接口和數據接口,以便更好滿足未來系統升級和 維護的需求,保證了系統的可擴展性。
1.4論文組織結構
基于對研究國內外研究內容的分析,學習和參考當前相關研究的現狀與成果,確定 了本文的研究內容和組織結構,本文一共包括六章。
第一章為緒論,首先介紹了本文當前研究的背景與意義,接著介紹了國內外研究現 狀來表現火災信息管理系統的發展程度,以及國內外研究學者基于不同消防建設需求中 的相關理論、技術和方法上的進展與問題,最后給出了本文的主要研究內容。
第二章為研究基礎。本章節針對火災信息管理系統設計與實現所用到的相關技術進 行了介紹和說明。首先介紹了系統的架構技術,主要對SSH框架的理論進行了宏觀的 概述;然后本章重點介紹了系統中需要用的機器學習預測算法,主要包括灰色預測模型、 支持向量機模型,對每種模型的原理進行了概述,以及優劣點的分析;最后分析了火災 信息管理系統用到的數據庫技術,并且對MySQL數據庫的主要優勢進行了細致的說明。 因此基于本章相關研究基礎的介紹,進而為系統的分析奠定了良好的基礎。
第三章為系統需求分析。本章基于火災信息管理系統的實際應用場景,對系統進行 了詳細的分析和總結。首先本章闡述了火災信息管理系統的建設目標,然后對火災信息 管理系統,詳細分析了功能性需求和非功能性需求;并從技術和操作兩個方面的可行性 給予了討論分析,最后通過系統用例圖對系統用例進行了介紹。
第四章為系統設計。本章在系統分析的基礎上,對系統的總體設計和詳細設計進行 了重點論述。首先總結概括了本系統的設計原則;其次開始對火災信息管理系統的總體 架構和各個功能模塊進行設計。接著介紹了系統的分層結構分為三層結構,包括用戶交 互層、業務邏輯層和數據層,最后對系統數據傳輸安全和數據訪問安全進行了充分的考 慮和分析。
第五章為系統實現。本章首先介紹了系統的開發環境,以及系統開發的代碼結構; 然后本章依次對核心系統模塊進行了實現,包括用戶模塊、權限模塊、火災基礎信息模 塊、火災綜合查詢模塊、火災統計分析模塊、火災趨勢預測分析模塊等。最后對火災信 息管理系統進行了整體的測試。并驗證了本文實現的火災信息管理系統滿足用戶的實際 業務需求,達到了系統建設的期望效果。
第六章為結論與展望。本章對本文的研究成果進行總結,同時也分析了不足之處, 對未來的工作給予了展望。
第2章研究基礎
2.1系統框架技術
2.1.1SSH 框架
SSH框架是目前企業級應用系統最常用的框架Ml。SSH框架它包括了三個部分,分 另(J是Struts框架、Spring框架和Hibernate框架。SSH框架基于MVC (Model View Controller)設計模塊演變而來,它在MVC設計模式的基礎上,把系統劃分為四個層次, 分別是表現層、業務邏輯層、數據訪問層和實體層。每個層次分別完成不同的業務功能, 從而降低系統層次之間的耦合度,提高系統的整體穩定性。通過SSH框架,可以高效、 快捷的搭建企業級應用系統,其中Struts的MVC設計模式可以使邏輯清晰、程序層次 分明;Spring具有管理業務對象的一致方法,基于注入機制實現對接口的編程,而非通 過對類編程。這種機制極大的實現了功能的解耦;Hibernate具備對數據持久化能力,實 現了完全面向對象的數據庫操作,并且Hibernate對JDBC進行了封裝,使得使用更加 簡單方便,同時也能夠很好的擴展和兼容關系型數據庫。SSH框架整體架構如圖2.1所
Zj^o
圖2.1 SSH框架
Fig. 2」SSH framework
2.1.2Struts2 框架
Struts2是一種基于MVC經典設計模式的開發源代碼的應用框架,它通過把Servlet、 JSP、JavaBean、自定義標簽和信息資源整合到一個統一的框架中,為Web開發提供具 有高可配置性的MVC開發模式[⑸。
Struts2體系結構實現了 MVC設計模式的概念,它將ModeR View、和Controller 分別映射到Web應用組件中。Controller負責控制流程,由ActionServlet負責讀取 struts-config.xml,并使用 ActionMapping 來査找對應的 Action; Model 由系統狀態 Bean ActionForm和商業邏輯的JavaBean來構建;View是由JSP頁面和Struts提供的自定義 標簽來實現的。
2.1.3Spring 框架
Spring是一個輕量級的Java開發框架,基于Rod Johnson的思想和原型演化形成的 "I。Spring初始應用場景是解決企業系統開發過程中的高耦合和高復雜程度的難題。該 框架基于分層開發的原則,開發人員可以靈活選擇希望使用的組件,也為Java應用程 序開發實現集成的框架。Spring基于JavaBean不僅能夠實現過去由EJB (Enterprise Java Beans)負責的內容,而且Spring還不僅局限于服務器端的開發。無論是便捷性、靈活 測試以及耦合程度這些維度來看,任何Java應用都可以通過Spring框架實現價值。
Spring 的核心之一是 AOP(Aspect Oriented Programming) 0 AOP 即面向切面的編程, 是0OP (Object Oriented Programming)的延續,是軟件開發中的一個熱點,也是Spring 框架中的一個重要內容,是函數式編程的一種衍生范型。利用AOP可以對業務邏輯的 各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程序的可重用性, 同時提高了開發的效率。AOP采取橫向抽取機制,取代了傳統縱向繼承體系重復性代碼。 AOP的常見應用場景主要有事務管理、安全檢査、性能監視、緩存、日志等方面。
2.2機器學習預測算法
2.2.1灰色系統理論
灰色系統的預測理論和成功應用在我國非常普遍。灰色系統應用領域涉及到農業、 生態、經濟、氣象學、醫學、歷史、工業、地震、地質、軍事戰略、體育、交通、管理、 材料科學、環境、生物保護和司法制度等。就實施領域的性質而言,可以看出它們中最 大的部分可以被稱為抽象系統,這些系統被稱為潛在的灰色系統【"I。
灰色系統理論主要體現在以下方面:1、建立一個非函數模型并通過定義灰色過程 的方式來代替傳統的統計模型,以獲得一個避免大量搜索數據的建模方法;2、灰色系 統理論是將原始的無序數據轉變成一個有規律的序列,而不是直接使用原始數據進行分 析;3、灰色系統理論采用的是一種新的灰色預測方法,而不是傳統基于時間序列的預 測方法[叭
灰色災變預測是以灰色預測模型GM(l.l)為基礎,建立數據模型實現預測的[⑼。具 體在建模過程中,首先需要對原始隨機數據進行生成變化,得到有規律的生成數列,然 后再利用有規律的生成數列進行建模,最后進行預測模型的誤差分析與處理,并進行新 樣本的預測。
2.2.2支持向量機
支持向量機(Support Vector Machines)是一種能夠適用于分類和回歸的算法,由 Vapnik等統計學家提出的一種新的機器學習方法【2021】。在以往研究中發現,支持向量機 在小樣本數據集、非線性數據以及維度多維模式識別問題中具有許多明顯的預測效果, 己經成功在手寫體數字識別、三維物體識別、人臉圖像識別、文本圖像識別等實際問題 中得到了實踐和驗證。支持向量機在解決這些問題中表現出良好的學習能力,能夠根據 有限的小數據集樣本通過學習得到訓練模型,在獨立無重復的測試樣本數據集中依然能 夠很高的精度和較低的誤差,因此優于當前其他類型的機器學習算法。
簡單來說,SVM要解決以下問題:找到一個超平面,使之將兩個不同的集合分離。 以二維為例,如圖2.2所示,我們希望找出一條直線能夠將黑白樣本分開,而且我們希 望這條線距離這兩個集合的邊界越遠越好。這樣我們能夠很明確的分辨出要點是屬于哪 個集合,或者是哪個類別,否則就容易在計算上產生誤差。
圖2.2基于訓練數據實現SVM超平面的類別劃分
Fig. 2.2Classification of SVM hyperplanes based on training data
根據非線性支持向量機的思路,首先第一步要建立非線性的數據映射,將原始數據 的低維度狀態空間轉換到高維的特征空間,然后在高維空間中實現線性回歸,最終可得 到非線性預測模型。支持向量機利用核函數可以避開維度災難的發生Pl】,同時使求解算 法的難度和復雜程度與狀態向量特征空間的維數無關。
2.3數據庫技術
2.3.1MySQL數據庫簡介
MySQL數據庫是一個屬于Oracle旗下產品的關系型數據庫管理系統血】,同時也 是最主流關系型數據庫管理系統之一。關系型數據庫的優勢之一是事務的一致性,讀寫 操作都是事務的,需要具有 ACID (Atomicity Consistency Isolation Durability)的特性, 因此MySQL關系型數據庫可以用在所有對一致性高要求的系統中,如金融證券、銀行 系統等。同時MySQL關系數據庫是將數據存儲在不同表中,而不是將所有數據統一在 一個倉庫,因此加快了訪問速度并增加了靈活性。
MySQL所使用的SQL語言是標準化的語言,MySQL是Web應用開發中使用最廣 泛的數據庫服務器。SQLite的特點是輕量級、可嵌入,但不能承受高并發訪問,適合桌 面和移動應用。而MySQL是為服務器端設計的數據庫,能承受高并發訪問,同時靈活 性強、安全性高。MySQL是跨平臺的,選擇對應的平臺下載安裝文件,安裝即可。
2.3.2MySQL使用優勢
(1)簡單
MySQL的使用簡單,文檔清晰明白,參照文檔即可完成安裝運行和使用MySQL, 技術難度低©I。
(2)開源
開源社區活躍,社區溝通便利。同時軟件更新頻繁,維護成本低,并且開源意味著 免費,減少運營成本。
(3)引擎
MySQL不同于其他數據庫之處是它對插件式存儲引擎的支持。這種開放的設計, 使得MySQL具有極好的兼容性。
2.4系統體系結構
瀏覽器服務器結構(B/S)是隨著企業級應用系統的發展而來的一種軟件結構PG],
它與C/S結構不同,它的客戶端是通過瀏覽器來登錄、操作,并且系統的應用都部署到 服務層,通過服務層對系統應用進行管理,B/S結構把服務層和客戶端分開,系統的業 務響應都在服務端完成,只有數據校驗等在客戶端完成,B/S結構是標準的計算機三層 體系結構,它由界面層、業務邏輯層和數據訪問層組成。界面層通過瀏覽器進行功能展 示,它主要負責接收用戶發送的前臺請求,并且對用戶輸入的信息進行校驗,當校驗完 成后,把請求發送給業務邏輯層。業務邏輯層是B/S結構的核心層,它主要負責接收前 臺展示層發送過來的業務請求,并且對業務請求進行解析,根據解析后的結果調用相應 的數據接口來完成用戶的請求。而數據訪問層主要負責與系統數據庫進行交互,并且把 交互后的結果返回給業務邏輯層,從而完成用戶請求的全響應獻過程。B/S體系結構如 圖2.3所示。
圖2.3 B/S結構圖
Fig.2.3 Browser/Server architecture
本文根據實際業務需要選擇B/S結構來對系統的結構進行設計與實現。本文選擇 B/S結構主要有兩方面的原因。由于本系統的所實現的火災信息管理系統的業務接入請 求分散在不同的位置,并且系統用戶并不在同一個網段內,因此需要對數據庫服務器和 應用服務器進行統一管理和維護,因此本系統選擇B/S結構更適合。本系統會采用B/S 結構來對火災信息管理系統的結構進行設計與實現,但是在設計與實現過程中,會借鑒 C/S結構的一些優點來對系統進行設計。
2.5本章小結
本章針對火災信息管理系統設計與實現所用到的相關技術進行了介紹和說明。首先 介紹了系統的架構技術,主要對SSH框架的理論進行了宏觀的概述;然后本章重點介 紹了系統中需要用的機器學習預測算法,主要包括灰色預測模型、支持向量機模型,對 每種模型的原理進行了概述,以及優劣點的分析;最后分析了火災信息管理系統用到的 數據庫技術,并且對MySQL數據庫的主要優勢進行了細致的說明。因此基于本章相關 研究基礎的介紹,為下一章的系統需求分析奠定了良好的基礎。
第3章系統需求分析
3.1系統建設目標
隨著近些年國家大力發展信息化建設,我國城市消防的信息化建設有了很大的發展, 各地都建設了消防通信指揮系統,開發了一些消防信息化管理軟件,建立了消防門戶網 站。但由于我國城市消防的信息化建設起步較晚,基礎研究薄弱,我國城市消防的信息 化水平與美國、歐洲等發達國家相比仍有一定差距。主要體現在一方面制度規則不夠健 全,絕大部分企業沒有建立完善的質量體系;另一方面軟件建設水平不足以支撐國家智 能消防需求,這里面既包括應用系統的軟件架構仍使用單體架構的方式進行開發,使得 在系統規模增長后各個模塊耦合度高,維護成本高,部署不靈活,擴展性差;也包括軟 件開發的信息化程度低,應用系統內的內容主要仍實現火災數據簡單的收集、匯總、整 理和査詢工作,缺乏智能的歷史數據學習能力,不能有效的實現火災預測,并通過各類 圖標可視化的呈現。因此本文在研究國內外火災管理系統的現狀基礎上,提出了基于機 器學習預測算法的火災信息管理系統,希望借此來提高我國火災管理的流程化、信息化 和規范化水平。本系統的建設預期目標包括:
(1) 火災信息管理系統可以有效滿足火災信息的發布和管理,火災信息發布者可 以通過該平臺進行火災信息的添加、編輯火災信息等,管理員可以對火災發布者發布的 信息進行核實等操作,最終發布到平臺當中。
(2) 火災信息管理系統可以實現有效的組織機構與用戶管理,提高火災管理的日 常工作效率,并且通過該系統的分級授權與級聯回收能力可以有效保障業務系統的訪問 權限安全,從而實現火災管理的規范化。
(3) 火災信息管理系統能夠實現歷史火災數據的査詢以及統計分析功能,可以快 速査看任意時間區間的火災數據,并能夠通過折線圖可視化表現出來。并且能夠基于多 種機器學習算法,實現基于歷史數據的火災數據預測功能,獲取下一周期火災的變化預 測趨勢,實現火災信息管理系統的智能化,為進一步的決策分析提供科學的依據。
(4) 火災信息管理系統能夠實現標準日志數據的查詢以及用戶自定義的日志數據 査詢功能,并且和相關系統進行接口調用,從而能夠得到有效日志信息,實現火災信息 管理系統的安全性。
(5) 火災信息管理系統在能夠滿足應用基礎業務的前提下,要充分考慮到應用系 統后期的維護、升級和功能擴展,從而減少應用系統后期維護升級帶來的工作量和人力 物力成本。該系統既要能夠保障內部局域網的訪問需求,同時也要實現廣域網登錄的方 式,進而有利于其它部門的業務功能開展。
3.2系統需求分析
系統需求分析是系統開發過程中的第一個階段,也是系統設計與實現的主要實施基 礎[262728]。在系統開發過程中,系統需求分析的主要工作是完成總體的需求分析,包括 功能性需求和非功能需求。在需求分析階段要針對火災信息管理系統的具體業務場景進 行細致的分析總結,以便為應用系統的設計奠定良好的基礎。
3.2.1功能性需求分析
火災信息管理系統宏觀功能性需求主要包括以下幾個方面:
(1) 火災數據錄入及查詢高效
火災信息管理系統中的各類滅火救援業務基礎資料,均是由各級單位員工分別錄入, 在火災信息管理系統能夠實時查看,具有實時性、便捷性的特點。同時通過快速搜索欄 和頁面中眾多的超鏈接,任何資料均可便捷迅速地被定位和査詢a%
(2) 信息資料實時統計
對消防設備數、消防車輛數、火災區域、火災時間等需進行數據統計的資料,火災 信息管理系統可以基于各個維度來統計,生成統計視圖,并在數據上看到具體的詳情信 息,包括火災地點信息可鏈接到地理位置、有無火災、有無消防栓、歷史發生火災次數 等,在火災類別中鏈接到火災各個類型等級、各類處理方案等,方便實時掌握信息資料 數據。
(3) 精準預測
火災信息管理系統若要真正地做到防范和控制火災,離不開對火災數據深入的分析, 在以往歷史數據中挖掘數據潛藏的規律DOR】。從年份和月份兩個時間維度來分析火災數 據,包括對歷史火災數據預處理、基于模型進行訓練、輸入樣本進行預測、預測模型的 不斷更新演進等,最終得到火災隨著年度趨勢預測值和月度趨勢預測值,為火災防控深 度的決策提供合理化的參考。
(4) 分工明確
基于火災信息管理系統賦予不同層級單位不同權限,比如支隊、大隊管理員和中隊 錄入員會設置不同的賬號和密碼進行登錄。各中隊錄入員實時上傳火災基本信息,比如 火災發生地址、火災處理單位、火災經濟損失、火災損毀建筑面積、火災死亡人數、火 災受傷人數、火災投入消防人數、火災投入消防設備后,各中隊錄入員實時上傳后,經 支隊管理員審核后予以發布,然后系統自動分類統計即生成統計分析的可視化展示頁面, 供全市消防官兵學習和了解火災情況。同樣地,消防火災學習業務基礎資料中的滅火救 援資料、業務學習資料個子頁面,同樣由操作員實時上傳經上級批準予以發布,確保了 數據信息資料的準確性、完整性。
(5)技術先進
采用當前主流的Java框架和技術,根據數據層、業務邏輯層、交互層三層結構進行 設計,提升系統效率,改善系統性能。
同時采用高效緩存技術,系統具備高性能頁面緩存,整合數據庫訪問緩存,將系統 數百個頁面進行精確緩存,并在用戶訪問頁面后及時從緩存中獲取數據,極大提升系統 響應時間,形成良好的用戶使用體驗。當緩存沒有數據時,也可以先從后端服務獲取, 同時更新到緩存,下次獲取能夠立即響應。通過緩存技術絕大部分頁面訪問速度響應時 間保存在1秒以內,使得高并發下基于緩存技術頁面才能立即顯示,避免用戶等待情況 發生。
3.2.2非功能性需求分析
一個完整的系統不僅需要分析其功能性需求,還需要分析其非功能性需求,以便為 用戶提供快速,高效和穩定的系統。本文從系統可靠性、穩定性、易用性和可維護性四 個方面分析了火災信息管理系統的非功能性需求。
火災信息管理系統的可靠性是為了確保系統在線運行后能夠安全穩定地運行。在火 災信息管理系統設計過程中,本文通過層次結構設計方法對火災信息管理系統的體系結 構進行設計,通過層次結構設計實現和減少了系統模塊之間的相關性,從而減少了模塊 間的耦合程度,最終改善了系統運行的可靠性。
火災信息管理系統的易用性意味著系統可以提供高效快捷的操作界面,以滿足不同 用戶的操作習慣。在系統設計和實現過程中,系統采用統一的框架設計系統的接口和功 能,同時系統提供操作手冊,以滿足不同用戶的查詢需求。
系統可維護性意味著系統在線后,系統維護人員可以方便維護系統數據。系統可維 護性是系統軟件開發過程中的重要指標。隨著系統業務功能和數據量的增加,系統未來 不可避免地需要升級和維護系統。因此,在系統設計和實現過程中,系統保留了功能接 口和數據接口以便更好滿足未來系統升級和維護的需求。
3.3系統可行性分析
3.3.1技術可行性分析
技術可行性分析是基于當前的計算機先進框架、數據存儲、計算機網絡、機器學習 預測技術,并結合火災信息管理系統的實際需求,評估系統是否滿足信息化建設過程中 技術可行性的要求。本文的技術可行性分析包括:
(1)本系統以火災信息管理系統的業務需求為基礎,采用SSH框架來對系統的總 體結構進行設計與實現,其中SSH的優勢主要包括:1) Struts的MVC設計模式可以使 邏輯清晰、程序層次分明;2) Spring具有管理業務對象的一致方法,基于注入機制實 現對接口的編程,這種機制極大的實現了功能的解耦;3) Hibernate具備對數據持久化 能力,并且Hibernate對JDBC進行了封裝,使用更加簡單,同時也能夠很好的擴展和 兼容關系型數據庫。
(2)本文在對火災信息管理系統功能需求分析的基礎上,并且把機器學習預測技 術集成到系統框架中,其中在進行年度火災預測中使用灰色系統理論的一大優勢是將原 始的無序數據轉變成一個有規律的序列,而不是直接使用原始數據進行分析;同時在進 行月度火災預測中采用支持向量機,是因為支持向量機能夠建立非線性的數據映射,將 原始數據的低維度狀態空間轉換到高維的特征空間,然后在高維空間中實現線性回歸, 最終可得到非線性預測模型,從而很好的擬合月度火災非線性趨勢的特征。
(3)在火災信息管理系統實現階段,本文基于層次化設計規范來分層實現了本系 統的核心模塊和功能,分別是表現層、業務邏輯層、數據訪問層。由于三層體系結構的 B/S模式在眾多實踐中已被證明是高效、穩定、實用的架構,因此本文也采用層次化設 計來對系統各個功能模塊進行實現。
通過上文的分析,本文所設計與實現的火災信息管理系統滿足技術可行性分析。
3.3.2操作可行性分析
本系統的操作可行性分析主要包括以下幾個方面:
(1 )本系統所使用的核心技術包括SSH框架、應用服務器Tomcat、數據庫MySQL、 機器學習預測庫等都是開源軟件產品,這些核心技術均具有成功的應用案例,可以節省 系統框架集成和開發的時間。同時這些開源軟件在開源社區中一直有持續改進和更新,
減少了系統軟件的升級成本,保障了技術的先進性和有效性。
(2)火災信息管理系統的實現能夠有效的減少傳統方式所耗費的人力和物力,基 于機器學習預測算法借此來提高火災管理的流程化、信息化和規范化水平,有效的提高 了系統的實用價值。
(3)本系統的整體架構采用瀏覽器訪問模式的B/S架構,實現了對火災信息管理 系統進行統一的維護和部署,其他部門通過網絡和瀏覽器來登錄和操作,從而避免了各 個部門的安裝和維護工作量。同時系統采用組件化和模型化的開發模式,使得開發人員 可以并行開發各個功能模塊,進而有效縮短系統整體的開發周期。綜上所訴,本文所設 計與實現的火災信息管理系統滿足操作可行性的要求。
3.4系統用例分析
用例建模是面向對象軟件開發技術的重要組成內容,它能夠完整地捕捉系統的功能 性需求,體現用戶和系統之間的交互關系【玖33],系統管理員用例圖如圖3.1所示。
芒加用戶信號
«include» .
c(includ€» 輯用戶信
劇慮用戶信息
用戶權限
圖3.1系統管理員用例圖
Figure 3」Use case diagram of system administrator
在系統管理員用戶圖中可以看出,系統能夠管理員主要負責維護火災信息管理系統 中用戶管理、組織管理和權限管理等工作,具體內容有:當部門新入職一名消防人員, 需要由系統管理員在用戶管理中新增一條用戶信息,對用戶信息有誤或不符的信息能夠 進行編輯,對退伍或轉業的消防人員進行刪除用戶信息操作。對于組織機構來說,當某 市增加一個消防支隊或消防站時會增加一個組織機構,同時對組織機構關聯相應的消防 人員,對廢棄的組織機構進行刪除組織機構信息等處理。對于權限管理,需要根據用戶 的角色來選擇該用戶對應的權限,比如對消防局領導可以查看系統全部信息,對普通消 防人員僅可以查看他所在職位權限范圍內的信息。
消防信息錄入員的用例圖如圖3.2所示,消防信息錄入員負責火災信息的維護和消 防設備信息的維護。其中火災信息的維護主要包括錄入最新火災事故信息、對有誤的火 災信息進行編輯、刪除錯誤或無用的火災信息;消防設備通常包括消防車、消防栓、戰 斗服、破拆工具等,消防信息錄入員需要錄入和編輯新購的消防設備信息,當消防設備 被損毀無法使用后會做刪除消防設備信息處理,從而保證火災信息管理系統中的各類信 息是實時準確的。
«include»
_ • " ” 《 incl 一編輯火火信息_一
蘭信息晅》二二de» '
—- 火災信息
«include» »勁螞消防設里—>
信息捅? <qncliid0»、 ' 、
. ■■ 編輯消防設備信息_一
防設備逵二>
圖3.2消防信息錄入員用例圖
Figure 3.2 Use case diagram of fire information recorder
普通消防用戶的用例圖如圖3.3所示,普通消防用戶主要包括火災統計分析與火災
預測分析和火災綜合查詢。其中火災統計分析包括多種維度的火災統計,如火災原因、
火災時間、火災區域;火災預測分析包括對年度火災的預測和月度火災的預測;火災綜 合查詢包括多種查詢條件的火災信息查詢,如火災類別、火災發生時間、火災發生地點、 火災發生原因等。
3.5本章小結
本章基于火災信息管理系統的實際應用場景,對系統進行了詳細的分析和總結。首 先,本章闡述了火災信息管理系統的建設目標,然后對火災信息管理系統,詳細分析了 功能性需求和非功能性需求;并從技術可行性、操作可行性兩個維度來分析,最后對系 統用例進行了介紹。
第4章系統設計
4.1系統設計原則
(1)組件化原則是提高系統效率和穩定性的重要設計原則。基于組件設計原則是 把系統功能結構進行有效劃分,從而把復雜業務功能劃分為相互獨立、業務功能單一的 系統功能,實現系統功能的規范化。基于組件化設計原則,在本文火災信息管理系統設 計中就可以將系統拆分為多個組件,如火災數據查詢組件、統計分析組件等。當火災數 據查詢組件功能變更時,只需要更改火災數據査詢組件就可以完成系統功能變更,從而 提高了火災信息管理系統的重用性。
(2)先進性原則
該系統的設計和實現過程中必須采用與計算機信息技術發展水平相適應的主流軟 件產品和硬件設備。在火災信息管理系統設計過程中,系統總體設計采用主流SSH框 架去設計系統,數據預測采用支持向量機等先進模型去實現,這些技術保障了火災信息 管理系統功能的前提下具有更高的先進性與擴展性。
(3)可擴展性原則
隨著火災信息管理系統業務量的提高和數據信息量的增多,系統在設計與實現時要 充分考慮系統后期的擴展性,因此設計火災信息管理系統時,要設計和預留系統接口, 比如根據日期查詢火災信息接口;數據庫表設計時也要保留可擴展屬性,從而保障系統 日后升級和擴展的能力。
(4)安全性原則
本系統存儲的是火災信息管理系統相關的火災業務數據,因此系統底層對數據的安 全性要求極高,本系統設計了完善的用戶管理和權限管理的功能模塊,每個用戶會被授 予不同的訪問權限,使得用戶只能在規定權限內操作系統。此外在系統部署時可以通過 負載均衡實現集群部署,保障系統的高可用性,避免系統數據丟失。
(5)易用性原則
本文設計的火災信息管理系統,在保障功能完善的基礎上,也要提供互聯網化的操 作界面。無論是系統內圖標、表單、表格等,實現扁平化效果。此外界面要清晰易懂, 操作符合消防人員的工作習慣,滿足簡單易用的需求。
4.2系統總體架構設計
本系統根據消防建設的實際業務需求,采用組件化的思想將整體系統拆分成一個個 業務組件,從而降低了組件的耦合性,提高了資產的復用率。并且可以使開發人員并行 的開發業務功能模塊,保證了系統開發的開發效率,更好的適應系統功能迭代和變更。 具體的說,系統前端采用JQuery、Html5來進行開發,可以實現動靜分離,將開發好的 靜態頁面和后端服務拆分出來,能夠滿足高并發訪問的場景需求。后端采用Spring框架 進行開發,把系統按照層次進行劃分,其中用戶界面是應用表現層部分,它與消防人員 等用戶直接發生業務交互。業務邏輯層也包括了表現層中的業務邏輯,也包括對系統功 能模塊的各個功能的模型描述等。數據訪問層包括對底層火災數據、城市建筑數據等進 行的錄入、編輯、刪除等操作。每個層次分別負責不同的業務功能,從而降低系統層次 之間的耦合度,提高系統的整體穩定性〔珂。系統各層的作用與結構示意如圖4.1所示。
Fig, 4.1 system technical architecture diagram
同時系統總體架構設計過程中,應具體考慮以下內容:
(1)層次分明的框架,通過把表現層及業務邏輯層很好地銜接在一起,能夠及時 把表現層數據的狀態變化反映給業務邏輯層,根據這些狀態變化,業務邏輯層就能很輕 松地把數據的變化同步到數據庫中,以保證數據的一致性。
(2)實現業務系統高可用性,可以根據需求來搭建系統集群,進行分布式部署。 隔離業務變化提高業務敏捷。
(3)實現標準的集成接口,構建標準統一的接口規范,基于規范來創建標準一致 的接口,用于模塊之間的對接,以及對外與其他系統之間的快速集成。
4.3系統功能模塊設計
系統功能模塊設計是對系統的功能結構進行有效劃分,通過系統功能劃分,從而把 多個復雜業務功能劃分為相互獨立、業務功能單一的系統功能,從而實現系統功能的簡 單化和流程化卩5,36]。通過系統功能模塊設計,可以使開發人員并行的開發業務功能模塊, 從而縮短系統開發周期,并且獨立開發完成后,可以通過接口測試的方式來對業務功能 模塊進行測試,不僅縮短了開發和測試周期,而且當系統功能變更時,只需要更改對應 的功能模塊就可以完成系統的業務功能變更,從而提高了系統的重用性。
本系統的功能模塊設計與系統結構相結合,通過系統層次結構來對系統的功能模塊 進行劃分,從而使劃分的模塊具有業務功能獨立的特點,模塊特立性是指每個模塊之間 的業務功能獨立,各個模塊之間通過接口調用的方式來完成業務功能的請求。通過系統 功能模塊設計從而有效降低系統之間的耦合度,最終提高系統運行的穩定性和效率。本 系統具體的功能模塊設計如圖4.2所示。
圖4.2火災信息管理系統功能模塊圖
4.3.1火災基礎信息管理模塊設計
火災基礎信息維護的主要作用是對火災信息管理系統中火災數據的全面管理,主要 是按照火災區域維度和火災發生時間維度來進行火災數據的數據新增、編輯、刪除等功 能。火災基礎信息維護功能需要在基頁面上填寫相應的火災信息,主要包括了火災名稱、 火災發生地址、火災處理單位、火災經濟損失、火災損毀建筑面積、火災死亡人數、火 災受傷人數、火災投入消防人數、火災投入消防設備等,當確認提交后,對火災的基本 信息進行保存,從而方便后續對全部火災信息基于不同維度來進行統一的查詢和分析等。 火災基礎信息管理的時序圖如圖4.3所示。
0
4.3.2火災綜合查詢模塊設計
火災綜合查詢的主要作用是可以對火災基礎信息、火災統計信息、火災預測信息等 數據進行查詢。火災綜合查詢的主要功能包括火災基礎信息查詢、火災統計信息查詢、 火災預測信息査詢等功能。火災基礎信息查詢實現對歷史火災的基本信息進行詳細查詢, 包括火災的經濟損失、火災死亡人數、火災受傷人數、火災損毀建筑面積、火災發生區 域等信息。火災統計信息査詢主要功能是查詢火災統計的信息,包括某地區火災發生次 數、某地區火災總的傷亡率、某時間段的火災經濟損失等。火災預測信息查詢主要是基 于火災歷史數據進行時間序列的預測,主要包括火災發生次數預測、火災損失預測、火 災傷亡人數預測等。通過火災綜合查詢模塊可以對火災信息管理系統的多類數據進行查
詢,從而確保系統能夠動態查詢相應火災數據。火災綜合查詢的時序圖如圖4.4所示。
消防人員
1、請求火災數據亠I —綜合查詢頁面了
2、輸入査詢條件
I 3、傳遞用戶信息 I
I——和查詢信息參數t
5、組裝SQL聯合查詢語句
I I 、
;6、抽取火災數據
9、返回查詢結果
1
圖4.4火災綜合查詢時序圖
4.3.3火災統計分析模塊設計
火災統計分析的主要應用于火災海量數據的關聯分析,由于所涉及到的火災信息比 較離散化、火災數據結構不一致等情況,很難直接將火災信息數據調入火災信息管理系 統中進行統計分析。因此需要先進行火災數據的預處理,形成規范的數據,然后通過多 維度的指標,比如按照時間維度或地理維度將數據進行關聯查詢,并通過餅狀圖或折線 圖來展示出來。在圖表中用戶既可以看到火災相關信息,也清晰顯示火災數據匯總結果, 方便進行規律的挖掘。最后系統可以導出這些分析圖表供相關人員使用。因此,基于火 災統計分析,可以清晰的掌握火災歷史的規律。
4.3.4火災趨勢預測分析模塊設計
火災趨勢預測分析的主要作用是對火災未來一段時間的相關指標基于歷史火災數 據進行預測分析。火災趨勢預測分析是一種回歸預測方法,運用過去時間序列的數據進 行統計分析,推測出事物未來的發展趨勢;另一方面要考慮到隨機影響因子而產生的波 動性,為了抵消隨機性帶來的干擾,利用機器學習預測算法來將干擾的因字提取和去除, 然后下一步去訓練數據模型,并實現對火災數據的趨勢預測。因此,火災趨勢預測分析 屬于火災系統的主動防控功能,能夠基于預測值提前做好規劃,更好的做出科學的決策。
4.3.5用戶與組織機構管理模塊設計
用戶和組織機構管理的主要作用是提供針對用戶、組織機構、角色對象的全生命周 期的維護,主要包括用戶和組織機構的新增、修改、刪除,角色的維護、角色與用戶的 關聯、組織機構與用戶的關聯、組織機構的多級管理、組織機構的定位等,通過頁面的 配置能夠幫助管理人員快速的完成組織的管理和運維功能,大大的提升組織管理的工作 效率。
4.3.6權限管理模塊設計
權限管理的主要功能是能夠提供一套安全可靠的權限管理機制,提供管理者和業務 使用者不同的角色,管理者能夠為不同的業務角色分配不同的使用權限。這些權限包括 對應用系統的訪問權限、對系統內菜單的訪問權限、對頁面控件的訪問權限等,同時支 持管理者的分級管理能力,上級管理員分配給下級管理員需要的權限,同時下級管理員 可以向下繼續分配,在這個過程中權限是逐級遞減的效果。從而保障了整個權限管理機 制的安全可靠。因此在用戶登錄系統時,能夠根據用戶是否具備該系統訪問的權限來控 制用戶能夠登錄系統以及訪問系統菜單,用戶登錄系統的時序圖如圖4.5所示。
登錄頁面 業務層 數據層 用戶表
消防人員
i 1、請求火災數據d 廠綜合查詢頁面P
; 匸二> 2、處理登錄請求|
0-3、返回登錄頁
J_4、輸入包含用戶名J
|和密碼的登錄憑證二 ;
1 6、傳入用戶名和密A
•——&傳入査詢條件•
10、返回結果-
I
-11,返回登錄頁面•
圖4.5用戶登錄系統時序圖
Figure 4.5 Sequence diagram of user login system
4.4系統分層設計
現在常見的三層體系架構中,結合現有消防系統的成功實踐和當前火災信息管理系 統的具體的特殊性,在整體技術實現上,對基于J2EE開發技術的火災信息管理系統, 采用基于三層體系結構的B/ S模式,來開發部署應用開發平臺及應用。
(1)表示層
負責接收用戶的輸入、將輸出呈現給用戶以及訪問安全性驗證。展現的頁面由Web 服務器上的靜態頁面和動態生成的頁面組成,通過客戶機的標準瀏覽器和用戶進行人機 交互,接收用戶的處理請求,傳遞給應用服務器,在將應用服務器處理結果展示給用戶。
(2)業務邏輯層
負責火災信息管理系統具體業務邏輯的操作,包括負責將底層數據庫的數據經過邏 輯和加工處理,比如火災統計分析模塊需要先得到火災原始數據,然后做數據的清洗、 再針對一個維度去將其他維度的數據進行和運算等處理。業務邏輯性要對整體的邏輯性 數據的準確性關注,對用戶的數據和這些數據如何在火災預測系統中呈現樣式不需關注。
(3)數據訪問層
主要是與數據庫表進行處理,通常是數據的增加、編輯、刪除以及從數據庫表中査 詢數據等操作。不需要關心對數據的正確性和有效性不,也不需要關心對數據在上層中 如何使用,即不涉及任何業務邏輯。
三層體系結構的B/S模式在實踐中被證明是高效、穩定、實用的。WEB服務器和 應用服務器的數量可以采用多機集群結構和負載均衡方式,根據訪問量進行擴展配置。 當用戶數量增多時性能不會明顯下降,并擁有更強大的業務和數據處理能力。由于服務 器集中管理配置,客戶端都是標準的瀏覽器,不需要進行專有應用軟件程序的安裝和維 護,所以大規模部署B/S應用不會引起系統管理和維護難題。
4.5系統數據庫設計
4.5.1數據庫概念設計
數據庫概念設計就是描述火災信息管理系統涉及的業務對象信息,將這些業務對象 信息進行規范化和具體化的過程。通過數據庫概念設計將形成目標實體對象,這些實體 對象就屬于數據庫的重要組成部分,結合該部分內容進而形成表對象的結果設計。
火災信息管理系統圍繞火災信息錄入、管理、統計分析、預測分析等工作形成大量 待處理對象目標,這里主要抽取其中的主要對象作為研究和描述。
(1)消防人員基礎信息
描述火災信息管理系統中的所有消防人員用戶信息,包括員工姓名弓員工姓名、員 工號、所屬部門、入職時間、所學專業、職務、政治面貌等。
(2)火災基本信息
火災基本信息設置火災地點、火災類型、死亡人數、受傷人數、經濟損失、損毀房 屋等信息。
(3)部門信息
部門信息關聯部門與消防員工的關系,設置部門名稱、部門編號、部門人員數量、 部門工作性質等信息。
(4)消防設備信息
消防設備信息關聯部門與設置之間的關系,設置有設置名稱、設備類別、設備所在 地、設備數量等信息。
(5)火災預測信息
火災預測信息設置預測死亡人數、預測受傷人數、預測經濟損失、預測損毀房屋、
預測火災發生次數、預測日期等信息。
(6)火災統計信息
火災統計信息設置基于原因的統計、基于時間區間的統計、基于區域的統計等信息。 結合數據庫的實體對象,可描述系統數據庫的實體關系結構,進而反映出實體之間 的必然聯系。實體之間的聯系分為三大類,分別為一對一、一對多及多對多關系,本節 以部分實體對象為例進行關系結構描述,具體可通過實體關系圖,即E-R圖進行描述。
如圖4.6所示。
4.5.2數據庫物理結構設計
基于機器學習算法的火災信息管理系統的運行與維護,需要用到用戶基本信息表、 權限基本信息表、區域基本信息表、火災信息表、訓練模型信息表、告警信息表、日志 信息表等數據庫表,用于記錄火災業務數據、連接業務流程,這些數據庫是火災信息管 理系統運轉的基礎卩7】。下面對主要的數據庫表進行說明。
(1)火災基本信息表如表4.1所示:
表4.1火災基本信息表
Table.4.1 fire basic infbnnation table
字段名 字段類型 字段含義 長度 空值 主鍵
id 整型 序號 16 N Y
fire_type 整型 火災類型 16 N N
occurrence_date 日期型 起火日期 128 N N
death_num 整型 死亡人數 32 N N
injuries_num 整型 受傷人數 32 N N
fire_economic_loss 浮點型 經濟損失 128 N N
buildings_num 整型 損毀房屋 16 N N
Fire_level 字符型 火災級別 32 N N
weather_type 整型 天氣類別 16 N N
fire_reason 字符型 火災原由 128 N N
fire_location 字符型 火災位置 512 N N
comment 字符型 備注 512 Y N
從表4.1可以看出,火災的信息包括火災類型、火災位置、火災原因,其中火災類 型將火災分為不同的等級,如特大火災、重大火災、一般火災,字段類型可以由整型來 表示,在數據庫中分別表示為1,2,3,然后通過代碼表在前端頁面中轉換為真實的名稱; 火災位置表示火災具體地址,由于輸入字符較長,通常設置字符類型為字符串且長度為 512長度;該次火災導致的死亡人數、受傷人數、損毀房屋,這些數字均為整數,設置 字符類型為整型;經濟損失屬性則往往設置為浮點類型數據。此外還設置了備注信息, 用于記錄火災的其他特征等。這些火災信息均通過火災信息管理系統由專門錄入人員錄 入系統。
(2)火災預測信息表如表4.2所示:
表4.2火災預測結果信息表
Table.4.2 predict information table
字段名 字段類型 字段含義 長度 空值 主鍵
id 整型 序號 16 N Y
pre_occurrence_date 日期型 預測日期 128 N N
pre_death_num 整型 死亡人數預測 32 N N
pre__injuries_num 整型 受傷人數預測 32 N N
pre_economic_loss 整型 經濟損失預測 128 N N
pre_buildings_num 整型 損毀房屋預測 16 N N
fire_location 字符型 火災位置 512 N N
year-flag 字符型 年度預測標識 2 N N
comment 字符型 備注 512 Y N
從表4.2可以看出,火災預測結果是基于歷史火災數據來進行未來某一個日期的火 災指標的預測,包括死亡人數預測、受傷人數預測、經濟損失預測、損毀房屋預測信息。 同時會基于年度預測標識這個屬性來存儲是年度預測或月度預測。最后將對這次預測的- 描述信息存儲在備注字段中,作為日后査詢了解預測詳情的參考。
(3)部門信息表如表4.3所示:
表4.3部門信息表
Table.4.3 department information table
字段名 字段類型 字段含義 長度 空值 主鍵
id 整型 序號 16 N Y
org^_name 字符型 部門名稱 128 N N
org_code 字符型 部門編號 128 N N
org_usei^_number 整型 部門人員數量 32 N N
oi^;_content 字符型 部門工作內容 128 N N
comment 字符型 備注 512 Y N
從表4.3可以看出,部門信息表主要是存儲消防局下面全部消防部門信息的。每個 部門又會關聯消防的人員,部門信息表主要存儲的是部門名稱、部門編號、部門人員數 量、部門工作內容等信息。
(4)權限信息表如表4.4所示:
表4.4權限信息表
Table.4.4 permissions information table
字段名 字段類型 字段含義 長度 空值 主鍵
id 整型 序列 32 N Y
per_id 整型 權限ID 32 N N
module_id 整型 模塊ID 32 N N
per_name 字符型 權限名稱 32 N N
modname 字符型 模塊名稱 32 N N
modURL 字符型 模塊URL 128 N N
create_date 日期型 創建日期 128 N N
start_date 日期型 開始日期 128 N N
expire_date 日期型 失效日期 128 N N
flag 整型 狀態 1 N N
comment 字符型 備注 512 Y N
從表4.4可以看出,火災信息管理系統的權限信息表主要是用于存儲用戶權限信息 的。在之前文章己經介紹了系統為了保證數據安全而設計了權限模型,現在主流權限模 型就是基于角色的訪問控制。本系統也是實現了這套權限模型,主要有角色表、用戶表、 權限表。這里列出權限模型中最重要的權限表,記錄對各個模塊的權限。每個用戶會被 授予不同的訪問權限,使得用戶只能在規定權限內訪問系統模塊資源。
4.6系統安全設計
4.6.1傳輸安全設計
火災信息管理系統可對數據進行加密和簽名,以保證數據的保密性和完整性。傳輸 通道要求統一采用SSL (Secure Sockets Layer)進行加密,推薦使用HTTPS技術實現。 數據文件在傳輸之前,要求統一采用DES (Data Encryption Standard)對稱加密算法進 行加密,密鑰長度為56位,并采用MD5算法進行簽名。數據傳輸實現斷點續傳,采用 完整的數據事務管理,以保證傳輸的可靠性及數據的完整性。火災信息管理系統設置數 據交換權限,為保證信息安全并對數據交換服務器進行備案,以達到可追溯的目的卩嘰
4.6.2權限安全設計
(一) 用戶認證
通常數據庫提供多種可用的認證方式。數據庫認證、操作系統認證、網絡認證、遠 程認證、中間層認證和SSL認證等。對火災信息管理系統的數據庫認證建議采用“標準” 認證方式,只使用一個活動的用戶賬號、口令和恰當的系統權限,如果需要加強認證的 安全性,可以結合數字證書技術實現雙因素認證。通常,數據庫的口令是以加密格式存 儲在數據庫字典中的,可以保證密碼不被泄露。對口令設置一段時間為有效期,并進行 強行限制口令的復雜度。通過使用復雜的密碼規則來提高密碼的強度;而通過利用密碼 規范來對數據庫賬號進行安全管理。
1) 復雜密碼
復雜密碼規則對于確保設定健壯的密碼是非常重要的,而復雜密碼的規則也應該成 為火災信息管理系統正式的密碼策略。常用的密碼復雜性規則主要包括:密碼不能與用 戶名相一致、密碼至少需要包含一位數字、密碼長度應超過一定的字符、新密碼不應該 和舊密碼相一致、密碼不應該是極易被猜測到的數字或單詞,如123456, password等。
2) 密碼規范
需要對數據庫用戶制定密碼規范,來管理有關數據庫的密碼和認證行為卩9,40]。規范 中可以設置所期望密碼的屬性,并強迫用戶使用密碼規范,常用的密碼規范主要包括: 密碼生存周期,只允許密碼在一段時間內有效;寬限時間,數據庫開始警告用戶更改密 碼的時間;密碼重復使用最大時間,查找使用過的歷史密碼,并強迫用戶使用新密碼; 登錄失效,如果提供錯誤密碼的次數超過規定的次數,那么就會鎖定賬號;關于密碼驗 證,當用戶更改密碼時,使用密碼復雜性檢驗程序檢驗密碼的復雜度。
(二) 訪問控制
1)權限與角色
對用戶權限的授予可以通過如下兩種方式進行,直接授予即直接將權限授予用戶, 間接授予即先將權限授予角色,然后再將角色授予用戶。權限的管理是具備逐級下放和 傳遞的,當一個用戶被授予了很多類型的權限時,他可以選擇將其中的權限再向其他用 戶去授予,但在這個過程中權限是越來越小的。
2)嚴格的訪問控制
對數據庫中的數據應當可以設置不同的安全敏感標記,并將安全敏感標記與數據 庫用戶進行關聯,從而控制用戶對不同級別數據的訪問控制。
4.7本章小結
本章在系統分析的基礎上,對火災信息管理系統的總體架構設計和詳細功能設計進 行了重點論述。首先,本章總結和歸納了本系統使用的設計原則;其次,本章詳細的分 析了系統總體架構設計和系統功能模塊設計兩個方面;然后本章描述了在系統安全方面 的設計,包括對傳輸安全設計、認證權限安全設計和數據庫審計安全設計這幾個方面進 行了詳細的設計。最后本章對系統中使用的火災預測技術、模型管理進行了充分的設計, 通過本章的系統設計為系統打下堅實的基礎。
第5章系統實現
在上一章中介紹了火災信息管理系統的總體架構設計、詳細功能模塊設計、 系統分層設計及數據庫設計等內容,本章將介紹系統模塊的具體實現。首先介紹 了火災信息管理系統的代碼結構和開發環境,然后依次對各個核心系統模塊進行 了實現,最后編寫系統用例對火災信息管理系統進進行全部功能的測試,達到了 預期的效果。
5.1代碼結構和開發環境
火災信息管理系統需要操作系統的支持,運行環境需要為服務器安裝 Windows Server 2008操作系統。由于火災數據量和日志量很大,服務器硬盤為 200G;同時使用4G內存和4核CPU,保證火災信息管理系統的穩定性和訪問 速度。根據模塊化的設計理念,把系統功能劃分為業務功能模塊,并且在此基礎 上根據模塊結構劃分了對應的代碼模塊結構,本系統的代碼結構包括以下模塊, 分別是系統公共模塊、火災基礎信息管理模塊、火災預測模塊、統計分析模塊、 預測模型管理模塊、日志存儲模塊、監控預警模塊、權限管理模塊、系統管理模 塊。本系統根據模塊結構設計了對應的代碼結構如表5.1所示。
表5.1火災信息管理系統代碼結構表
Tab.5.1 Code structure of fire information management system
模塊名稱 描述信息
Com. fire, alarm, service, common 系統公共組件模塊
Com.fire.alarm.service.authority 權限管理模塊
Com.fire.alarm.service.basiclnfb 基礎信息管理模塊
Com.fire.alarm.service.fbrecast 火災預測模塊
Com.fire.alarm.service.model 模型管理模塊
Com.fire.alarm.service.analysis 統計分析模塊
Com. fire, alarm, service, log 日志存儲模塊
Com.fire.alarm.service.org 用戶與組織管理模塊
Com.fire.alarni.service.administration 系統管理模塊
火災信息管理系統的開發環境如表5.2所示:
表5.2開發環境表
Tab.5.2 Development environment
軟件名稱 軟件版本 備注
Eclipse 4.6 系統開發平臺
Tomcat 8 系統發布中間件
JDK 1.8 JAVA開發工具包
Python 2.7 Python開發工具包
MySQL 5 系統數據庫
表5.2中介紹了 jdk采用jdkl.8來提供Java基礎開發能力;Eclipse選擇最新 的4.6版本作為IDE來使用,方便系統開發和管理;MySQL作為數據存儲的軟 件,本次選擇5.0的版本;Python作為主流機器學習算法開發的語言,本次開發 用于實現火災趨勢預測模塊。最后選擇Tocmat8.0的應用服務器,將開發好的服 務部署在Tomcat中啟動運行。
5.2用戶管理模塊實現
(1)組織管理
組織管理提供針對組織單元、用戶對象的增刪改査操作,通過頁面的配置幫 助管理員快速的完成組織機構和人員的管理,提升組織管理的工作效率。組織機 構在火災信息管理系統中是一個樹形結構的數據,能夠清晰地展現組織機構上下 級的層級關系。當需要對組織機構進行維護時,需要先新增組織單元類型頁面維 護組織單元類型數據,然后用于組織單元管理做選擇。組織管理頁面如5.1所示。
fj
III
s»S-aM
iu也肖或色
圖5.1組織機構管理界面
Figure 5.1 Organization management interface 組織單元管理中進入到組織單元管理頁面,當初次訪問這個頁面時,沒有組 織機構樹,通過點擊組織單元樹的新增功能,增加根組織單元。組織單元管理包 括組織單元增加、修改、刪除功能,包括組織單元與用戶關聯設置的功能。
組織單元屬性可配置,由于不同的企業對組織單元的屬性要求不完全一致, 除了大家公認的基本屬性之外,系統還提供了靈活的配置方案,能夠基于配置的 方式而非代碼的方式快速完成組織單元屬性的擴展配置工作。
擴展屬性的定義是通過數據庫表來實現的,在業務系統中增加擴展屬性需要 如下幾個步驟:1)在UP_EXT_ATTR_DEFINE表中維護擴展屬性數據;2)在 擴展屬性表中增加對應的字段;3)重啟服務,進入對應的管理界面就能看到效 果。
(2)用戶管理
用戶包括基礎用戶和管理員用戶,當一個用戶屬于業務類型的角色時,這個 用戶就屬于基礎用戶,當一個用戶屬于管理類型的角色時,這個用戶就是管理員o 一個用戶可以擁有多個角色。用戶管理的新增和編輯用戶信息頁面如圖5.2所示。
圖5.2用戶管理
Figure 5.2 user management
從圖5.2中可以看出,管理員進入火災信息管理系統,可以點擊用戶列表區 域右上角的新增按鈕,便可以新增一條用戶信息。然后在用戶信息區域可以編輯 消防人員的基本信息,包括新增消防人員的姓名、性別、郵件地址、聯系電話、 所屬部門以及其他描述信息。當需要對已存在用戶信息進行修改時,只需要通過 用戶信息區域的搜索框,通過用戶名搜索到該用戶,然后直接可以在右側用戶信
息區域編輯修改,點擊保存即可生效。當一個消防人員退伍或轉業后,可以點擊 用戶信息區域右上角的刪除按鈕,對該用戶進行刪除。當刪除用戶時,會彈出一 個告警提示框,選擇確認即可刪除。
用戶管理中選擇組織機構的頁面如圖5.3所示。
姓名 liusa
松 liusa 聯系電話
全全不選
圖5.3用戶管理關聯組織機構圖
Figure 5.3 The associated organization chart of user management
從圖5.3中可以看出,新增用戶信息時可以在所屬組織下拉框中選擇組織, 而下拉框的組織信息是通過査詢數據庫中的部門信息表獲取到的組織信息。然后 選擇其中一個部門,表示以后該消防人員屬于這個部門管轄。
53權限管理模塊實現
權限管理模塊主要分為:管理類角色即具有管理職能的人員集合,業務類角 色即具有業務職能的人員集合,業務角色間不具有上下級關系,管理角色可以對 其進行分級管理,業務角色管理,業務角色管理頁面提供業務角色增加、修改、 刪除、分級管理、業務角色管理、業務角色管理頁面提供業務角色增加、修改、 刪除、查詢的功能,通過業務角色能夠為其分配用戶,能夠為業務角色管理可訪 問的菜單。
B!fS
tt»a
*UK
BXU* «W!
«K
圖5.4角色管理
Figure 5.4 role management
在圖5.4中可以看出,管理員進入角色維護頁面,在業務角色列表區域可以 新增一個角色,而角色通常是基于消防系統實際情況而定,比如通訊員、戰斗員、 大隊長、副大隊長、駕駛員、班長等。在頁面右側區域有兩個tab頁,分別是角 色信息和關聯用戶,其中角色信息tab頁可以設置角色名稱和角色的描述信息; 關聯用戶tab頁可以設置該角色都包含哪些用戶。
咒夾頻JSb騎理系娩 . _ f i • ■ ?S ▲:滋丸:.
□ e
a * 0 8
iana
Sf»B H
tS ::•*:'• “ «*a MH nn
hqiuff
KAO.* *«*• *«*• w-«k
Wt9. ■imgfet Hnql«( WB-ffiU
aa夠曲我 > tuw iMM s»-®u
WK* m«n®v M5-MK
jr qWw^ qMwai SWJ-JBk
MR-SV. MIO*
圖5.5角色關聯用戶
Figure 5.5 roles associated with the user
在圖5.5中可以看出,關聯用戶tab頁有一個搜索輸入框,可以輸入用戶信 息,當輸入消防人員的用戶賬號信息后,系統會基于輸入的信息請求數據庫進行 模糊查詢,并將查詢到的用戶置于搜索輸入框的下拉框內,然后管理員可以點擊 選中需要添加的用戶,并點擊添加用戶按鈕,最后所有添加成功的用戶會顯示在 用戶列表區域內。
角色授權頁面如圖5.6所示:
AR* *?>9(S Q D
XlkR Q > D <»•««
> O era
、O *»»«>;
v Q
Q
Q
V Q MHtff
Q emrw
Q
Q H5WWW
□ MVV
O
Q
>Q ma 色
>□ «««•
圖5.6角色授權
Figure 5.6 role authorization
在圖5.6中可以看出,管理員進入菜單授權頁面可以對所有角色.分配指定的 權限。在火災信息管理系統中的權限管理模型是采用基于角色的權限模型,我們 只需要為角色授予指定的權限即可。那么在業務角色列表區域,管理員可以看到 所有在角色管理頁面創建的角色,當角色數量超過一定數量后可以在搜索輸入框 中輸入角色名稱進行篩選。當選中某一個角色后,管理員可以在頁面右側的菜單 授權區域為角色勾選權限,比如管理員可以為大隊長這個角色勾選組'織管理、用 戶管理的菜單權限,保存成功后大隊長角色包含的所有消防用戶均能夠有組織管理 和用戶管理的菜單訪問權限。
5.4火災數據預處理模塊實現
在火災特征數據,主要是通過四類重要的火災指標來表現,分別可以表達成 火災發生次數、火災直接損失、火災死亡人數和火災傷亡人數[仏42】。而火災特征 數據在表現維度上,可以表達成逐年的火災趨勢,它是年度和對應當年的火災特 征數值的二元組的集合,具體表達形式為S = {< tx,yx >,<t2,y2 tn>yn >} = {< tbyi >}=,其中©表示第i個年度,%表示第i個年度下總的火災 特征值,比如火災直接損失,n表示歷史數據中年度的總數,且須滿足® <耳+1。 同時,火災也能夠以月度的形式來表述,比如要實現對當年下一個季度的特征值 的預測。以上給出了火災特征數據的定義,并基于不同維度的火災數據給出了對 應的表述。由于歷史火災特征數據的正確性、有效性和科學合理地數據處理方式 息息相關,所以在使用數據進行數據分析之前,需要先對數據進行數據預處理, 以提高數據的質量和改善數據的分布規律。
在數據預處理過程中,主要是對數據的缺失數據、錯誤數據和異常數據基于 一定的算法進行的處理。缺失數據表示的是火災特征數據序列中有一個或多個年 度的值丟失,導致丟失的數據出現error。這時可以對數據進行均值處理來解決, 比 如 V 2001,50034 >, < 1982,41541 >, < 1983, error >, < 1984,33618 >,< 1985,error >,< 1986,38766 >,那么均值處理后1983年的火災發生次數為 37579, 1985年的火災發生次數為36162。錯誤數據表示數據序列中包含不合理 的數據,比如對于{< tbyi >)^x集合,如果某一個火災特征數值與該項前后之前 不滿足ti+1 >tt> tj.i,則該火災特征數據是一項錯誤數據,這樣的數據作為刪 除處理。異常數據是指某一年因為天氣、地震等異常因素過多導致了年的數據明 顯異于往年,或者由于操作人員人工失誤導致了輸入數據時的錯誤等情況,異常 數據可以通過箱型圖法、四分位法等簡單快速地實現對異常數據的判定。
5.5火災數據管理模塊實現
火災數據管理模塊是對火災信息管理系統中火災數據的全面管理,主要是按 照火災區域維度和火災發生時間維度來進行火災數據的數據新增、編輯、刪除等 功能。火災基礎信息維護功能需要在基頁面上填寫相應的火災信息,主要包括了 火災編號、火災名稱、火災發生地址、火災處理單位、火災經濟損失、火災損毀 建筑面積、火災死亡人數、火災受傷人數、火災投入消防人數、火災投入消防設 備等,當確認提交后,對火災的基本信息進行保存,從而方便后續對全部火災信 息基于不同維度來進行統一的查詢和分析等。
5.6多維統計分析模塊實現
對消防設備數、消防車輛數、火災區域、火災時間等需求進行數據統計的資 料,火災信息管理系統可以基于各個維度來統計,生成統計視圖,并在數據上看 到具體的詳情信息,包括火災地點信息可鏈接到地理位置、有無火災、有無消防 栓、歷史發生火災次數等,在火災類別中鏈接到火災各個類型等級、各類處理方 案等,方便實時掌握信息資料數據。其中基于火災原因和時間的火災發生起數統
計分析圖如圖5.7所示。
火災信息薈理累焼
IH
tm讖 >
圖5.7基于原因和時間的火災發生起數統計分析圖
Figure 5.7 statistical analysis of fire occurrence based on cause and time
5.7趨勢預測模塊實現 “
5.7.1基于灰色預測的年度趨勢預測實現
本節是在數據預處理的基礎上采用灰色預測模型對年度火災數據的變化趨 勢進行預測。在第二章中介紹到灰色預測模型的研究對象是存在部分詹息未知且 部分信息己知的樣本數據,通過從已知火災年度數據進行信息的挖掘[實現對火 災數據隱含的規律的正確認識。通過灰度理論應用到年度火災預測中,我們發現 一定時間內一定區域下的火災特征值(火災發生次數、火災直接損失、火災死亡 人數、火災受傷人數)是和時間相關的灰色量,那么我們將這些原始的火災數據 特征值進行整理,得到一組有規律的數列后再進行研究,可以使得由原來無規律、 無次序的數據呈現了一定的特征,然后建立灰色模型GM來預測未來的數據變 化趨勢。基于灰色預測模型預測未來五年的火災趨勢的建模過程如圖5.8所示。
圖5.8基于灰色預測模型預測未來五年的預測流程圖
Figure 5.8 Prediction flow chart for the next five years based on grey prediction model
(-)數據的轉換
在5.4節中我們可以得到年度火災數據的表達方式,S = {<ti,yj>,< t2,y2>,“?,<tn,yn>} = {<ti,yi>}iLi,在GM模型中,為了更方便的進行表達 和計算,我們對S加入一個維度,原始的數據用維度0表示,生成后的數據用維 度1表示。
由于原始數據缺乏規律性,多為隨機的、有擺動的數據序列,因此我們基于 原始火災數據生成新的數據序列,如公式5.1所示。
{們={y 嚴坎,…,於” t = 1,2,…,n (5.1)
(二)基于火災數據的灰色預測建欖1
基于新生成的火災數據序列,建立灰色預測模型GM(1,1),它是一個包含變 量的微分方程。那么GM(1,1)的解在離散形式下的表示如公式5.2所示。
yJ+i=;+ (yf0)- 9 exp (- at) (5.2)
下一步我們需要求得灰色預測模型中a, B的估計值,通過對公式進行離散 化,并得到原始火災數據和生成火災數據的關系,如公式5.3所示。
y駅 心隅+喟) (5-3)
因此,我們通過得到的灰色參數的估計值,可以得到火災生成數據的下一年 度的估計值,進而可以基于公式可以求得原始數據下一年度的火災數據的估計值。 公式如5.4所示。
曙=溜-屮,t = l,2,-,n (5.4)
(三)年度火災數據預測
通過對上述過程的描述,我們能夠基于歷史火災數據訓練出期望的灰色預測 模型,進而可以求得未來幾年內火災趨勢的預測值。在火災信息管理系統中基于 灰色預測模型生成的年度火災數據預測趨勢圖如圖5.9所示。
圖5.9年度火災發生次數預測趨勢圖
Figure 5.9 annual forecast trend of fire occurrence
根據圖5.9分析得到,基于2006年至2015某市十年火災發生次數的真實值 進行灰色預測模型的訓練,得到了年度火災預測模型。然后通過該模型對2016 年至2020年共五年的數據進行預測。在圖中的藍色折線表示某市火災發生次數 的真實值,圖中的紅色折線表示從2016年到2020年近五年的預測值,可以看出 未來五年火災整體有輕微的上升趨勢,說明未來幾年仍然需要該市增強消防建設 力量,來保障城市人民安全與經濟穩定發展。
5.7.2基于支持向量機的月度趨勢預測實現
火災的月度數據的分析與年度數據的分析有所不同,原因在于火災年度數據 主要是基于歷年的年度數據來挖掘分析,它的表現通常是遞增、遞減或者上下浮 動的曲線,預測的年度與往年的火災數據有著強關聯性,進而適合通過灰色預測 模型進行預測。然而月度的火災數據特點更復雜,每個月的火災數據不僅與前面 月度的數據有關聯,同時與往年相同月度的火災數據關系密切,因此在對月度的 火災數據進行分析時,要著重從與火災有關的各類影響因素中進行分析,比如火 災發生的時間區間、火災的發生地點、火災區域樓房數量、火災檢査隱患數量等, 這些都是影響火災是否發生以及火災規模大小的重要因素,進而在構造特征時要 將這方面的特征加入到模型中。
在對月度火災數據選擇模型時,基于月度火災數據復雜、非線性的特點,比 較適合采用支持向量機實現預測。火災信息管理系統基于支持向量機的月度火災 預測過程如圖5.10所示。
圖5.10基于支持向量機的月度火災預測過程流程圖
Figure 5.10 Monthly fire forecasting process flow chart based on support vector machine 從圖5.10中可以看出,基于支持向量機的月度火災數據預測過程主要包括 以下幾個步驟:
(1)讀取近年的月度火災數據
首先從數據庫中讀取到近三年的火災數據,一共包括36個月的火災數據。 這些火災數據分別是從火災基本信息數據庫、城市建筑數據庫以及城市氣象數據 庫、消防設備數據庫中查詢獲取得到,并按照相同的月份進行匯總。
(2)構造月度火災數據特征
為了能夠提升預測模型的準確度,需要從數據庫讀取到的原始數據中構造出 有價值的火災數據特征,用于模型的輸入。本系統中主要構造的特征包括火災時 間區間、火災發生地點、火災區域消防車數量、火災區域消防栓數量、火災區域 是否有消防站、火災區域樓房數量、火災檢査隱患數量等近十種火災模型基礎特 征。這些特征的提取既能夠充分包含原始火災數據有價值的信息,同時也避免了 原始火災數據中無關信息的干擾。
(3)設定模型參數
支持向量機模型參數的選擇主要有核函數的選擇、懲罰系數C.gamma值G, 其中核函數通常有線性核函數、多項式核函數、高斯核函數。在線性可分的情況 下線性核函數能夠有很好的表現,而非線性情況下高斯核函數有更好的表現。由 于火災數據存在著多維復雜的特點,屬于線性不可分的情況,因此本系統采用高 斯核函數。本系統調用Skleam庫中的網格搜索算法自動尋找最優參數,完成模 型參數的設定。
⑷模型訓練
基于構造完畢的月度火災數據特征和網格搜索找到的最優模型參數開始進 行模型的訓練,當滿足模型最大迭代次數或前后兩次模型訓練在驗證集的誤差小 于閾值,即完成了月度火災數據的模型訓練。
(5)預測未來的月份火災數據
模型訓練完成后,基于訓練好的月度火災預測模型輸入2017年9月至2018 年8月的火災特征作為輸入數據,實現對這12個月的火災發生次數的預測,并 將預測結果存儲到數據庫的火災數據預測表中。
在火災信息管理系統中月度火災預測效果如圖5.11所示:
圖5.11月度火災預測趨勢圖
Figure 5.11 Monthly fire forecast trend chart
從圖5.11中分析得出,圖中藍色折線為2016年9月至2017年8月的火災 真實數據,紅色折線為對應的預測數據。通過預測結果可以看出夏季火災發生次 數較少,秋冬季節則屬于火災頻發的月份,應加強火災防控措施。
通過火災信息管理系統的精準預測,日常消防安全管理有了更為可靠的科學 引導,在不增加人力投入的情況下,日常消防安全檢査工作的效率得以大幅提高。 比如當系統對全市各個區進行預測分析,能夠了解下一年各區縣的火災發生趨勢 走向,消防部門可以依據該預測信息來輔助部署戰斗力量,包括增減各地消防車 數量、消防栓數量,以及值班人員的安排等。
5.8系統測試
5.8.1測試目的與內容
系統測試的目的是通過對火災信息管理系統的測試,來發現系統中存在的問 題與缺陷,主要包括頁面樣式的缺陷、業務邏輯的缺陷與易用性缺階;比如火災 信息管理系統中在錄入火災數據完成后會有保存按鈕,那么在火災數據必填項完 成前保存按鈕應該是禁用狀態,否則即為一個頁面樣式缺陷;比如火災數據査詢 頁面點擊査詢按鈕后,應該會把査詢結果顯示在表格中,若超時沒有顯示或直接 報錯,則為一個業務邏輯缺陷;最后易用性缺陷是指用戶在操作火災信息管理系 統時,頁面操作過程過于繁瑣,用戶對頁面功能操作使用不清晰的問題。通過系 統測試就是及時發現這幾類潛在的缺陷,優化火災信息管理系統使用體驗和功能 邏輯,保證系統正常運行。
火災信息管理系統的測試內容主要包括對火災數據管理模塊、火災統計分析 模塊、火災趨勢預測模塊、火災綜合査詢模塊、火災資訊模塊、用戶管理模塊、 權限管理模塊等功能的測試,完成每個功能涉及的頁面操作。
5.8.2系統測試分析
通過系統測試對火災信息管理系統各個功能模塊的具體功能點進行了細致 全面的測試,主要包括對每個頁面設計了測試用例,按照測試用例逐條測試,具 體測試內容如表5.3所示。
表5.3火災信息管理系統測試用例
Table 5.3 test cases of fire prediction and prevention system
測試項 操作步驟 預期結果 結果
火災數據管
理模塊 (1)點擊火災數據管理模塊
<2)點擊新增并輸入火災信息
(3)點擊編輯并更新信息
(4)點擊提交按鈕 系統顯示保存成功,在數據庫火 災數據表中能夠看到已錄入的火 災數據。 通過
火災統計分
析模塊 (1)點擊火災統計分析模塊 系統能夠基于維度以餅圖形式來
(2)輸入分析維度 顯示對應的統計結果,而且統計 通過
(3)點擊分析按鈕 結果正確。
火災趨勢預
測模塊 (1)點擊火災趨勢預測模塊 系統能夠基于輸入條件以折線圖
(2)輸入要預測的維度與日期 形式來顯示對應的預測結果,而 通過
(3)點擊預測按鈕 且顯示結果與模型預測一致。
火災綜合查
詢模塊 (1)點擊火災綜合查詢模塊 系統能夠基于輸入條件在表格中
(2)輸入查詢條件 展示對應的查詢結果,而且結果 通過
(3)點擊查詢按鈕 與數據庫表內容一致Q
火災資訊模 塊 (1)點擊火災資訊模塊
(2)點擊歷史查詢 火災資訊頁面顯示當前最新的火 災資訊,歷史查詢中展示歷史資 訊信息列表 通過
用戶管理模 塊 (1)點擊用戶管理模塊
(2)點擊新增并輸入用戶信息
(3)點擊編輯并更新用戶信息
(4)點擊提交按鈕 系統顯示保存成功,在數據庫用 戶數據表中能夠看到已錄入的用 戶數據。 通過
權限管理模 塊 (1)點擊權限管理模塊
(2)點擊新建角色并關聯用戶
(3)點擊各類資源并分配權限
(4)點擊保存按鈕 系統創建角色成功,并為角色關 聯一類用戶,然后為角色分配對 應的資源權限。 通過
從表5.3中分析得出,當出現缺陷時,綜合分析問題的真正來源,通常一個 頁面的錯誤會關聯影響其他頁面的效果,如火災基礎數據錄入錯誤,就會導致統 計功能、預測功能均無法正常使用,進而影響用戶的用戶體驗。最后經過系統測 試找到所有缺陷,把所有缺陷修復后要進行回歸測試,從而保障火災信息管理系 統上線前所有功能均正常穩定運行。
5.8.3系統測試結論
通過系統功能測試用例設計、系統測試執行、缺陷問題發現、代碼修復和回 歸測試等對火災信息管理系統進行了全面細致的測試過程,使得所有功能最后均 成功通過測試,使得本文設計與實現的火災信息管理系統達到了預期效果,能夠 極大提升消防部門工作效率。
5.9本章小結
本章首先介紹了系統的開發環境,以及系統開發的代碼結構;然后本章依次 對核心系統模塊進行了實現,包括火災基礎信息模塊、火災綜合査詢模塊、火災 統計分析模塊、火災趨勢預測分析模塊、用戶管理模塊、權限管理模塊等。最后 對火災信息管理系統進行了整體的測試,并驗證了本文實現的火災信息管理系統 滿足用戶的實際業務需求,達到了系統建設的期望效果。
第6章總結與展望
6.1論文工作總結
隨著我國社會經濟和城市建設的迅猛發展,消防工作已經成為保障人民安居 樂業和維護社會和諧穩定的重要任務。目前我國各地消防系統的建設仍都處在初 級發展階段,系統的業務和功能還不完善,僅具備火災數據的存儲和管理等基礎 功能,火災預防主要依靠人工經驗來提前進行消防力量的布局,使得人為因素對 火災預警起了關鍵的作用,不利于統籌決策和科學管理。因此本文在研究國內外 火災信息管理系統的基礎上,設計和實現了一套基于機器學習預測技術的火災信 息管理系統,能夠具備火災管理、火災統計和火災趨勢預測的能力,來提高我國 消防建設的信息化、規范化水平。本文主要完成了如下工作:
(1)本文設計了系統的總體架構和詳細的功能模塊,并且采用系統分層的 設計原則把火災信息管理從總體上分為三層結構,分別是用戶交互層、業務邏輯 層和數據層,基于分層的結構設計,可以有效提高系統的整體運行效率。同時對 系統的安全進行了充分的考慮,包括數據傳輸安全和數據訪問安全。
(2)基于系統分層設計原則和詳細的功能模塊設計實現了火災信息管理系 統核心模塊,包括火災基礎信息管理模塊、火災綜合査詢模塊、火災統計分析模 塊、火災趨勢預測分析模塊,實現規范化的火災信息數據管理和綜合分析能力。
(3)本系統實現了支撐火災信息管理系統的基礎模塊,包括用戶管理模塊、 權限管理模塊、日志管理模塊。能夠提供系統用戶和組織機構的管理、用戶權限 的分配管理以及系統日志信息的監控,這些模塊是一個系統具備良好的可維護性 的必要因素。
(4)在系統設計和實現過程中,系統采用統一的框架設計系統的接口和功 能,同時系統保留了未來擴展需要用到的功能接口和數據接口,以便更好滿足未 來系統升級和維護的需求,保證了系統的可擴展性。
6.2不足與展望
雖然本文在火災信息管理系統的分析、設計和實現過程中完成了很多工作, 但是依然有一些問題需要考慮和完善,本文存在的不足之處和需要改進的地方如 下:
(1)高并發請求。隨著火災信息管理系統業務不斷擴展,功能不斷豐富, 使用系統的用戶量會不斷增加,那么需要應對高并發下系統的穩定性,以免系統 由于高并發問題帶來的系統崩潰等問題。因此后續本系統會重點解決系統的高并 發問題,最大程度的保障系統穩定性,并盡可能提高系統實時在線訪問人數。
(2)可視化統計。在火災信息管理系統的實現中已經采用了折線圖和餅狀 圖來展示數據,但仍然是較為單一,因此為了更加直觀和清晰的展示火災信息管 理系統中火災數據的統計效果,本系統后續會釆用多種圖型方式進行數據的展示, 以便更好的滿足用戶的需求。
參考文獻
[1]范維澄,劉乃安.中國火災科學基礎研究進展與展望[J].中國科學技術大學學報,2006, 36(1):1-8.
[2]范維澄,孫金華,陸守香.火災風險評估方法學[M]?科學出版社,2004.
[3]張鳳娥.消防應用技術中國石化出版社,2006.
[4]董文輝,李寧寧,梅志斌,etal.歐美國家火災報警系統規范介紹及啟示[J]?消防科學與技 術,2008, 27(6):423-426.
[5]Fujioka F M, Gill A M, Viegas D X, et al. Chapter 21 Fire Danger and Fire Behavior Modeling Systems in Australia, Europe, and North America]J]? Developments in Environmental Science, 200& 8:471-497?
[6]范維澄.突發公共事件應急信息系統總體方案構思[J].信息化建設,2005(9):11-14.
[7]Guo T N, Fu Z M. The fire situation and progress in fire safety science and technology in China[J]. Fire Safety Journal, 2007,42(3):171-182.
[8]盧云飛.蚌埠市消防栓信息管理系統開發與應用[C]〃蚌埠市科協學術年會.2012.
[9]田穎,沈文,賈文博.GIS在城市消防指揮輔助決策系統中的應用[C]//2008.
[10]付舉磊.基于GIS的城市消防輔助決策系統的設計與實現[D].國防科學技術大學,2010.
[11]程前進.基于GIS的森林火災撲救指揮系統設計與實現[D].西安科技大學,2011.
[12]廖光熄,翁韜,朱霽平,et al.城市重大事故應急輔助決策支持系統研究[J].中國工程科 學,2005, 7(7):7-13,
[13]崔興文.智能火災自動報警系統的設計與實現[D].山東大學,200&
[14]伍飛,冉文江.基于J2EE架構的SSH框架研究及應用[J].信息系統工程,2010(6):83-84.
[15]于湛麟,李仲秋,任永昌.SSH框架實現MVC架構的電子商務軟件平臺[J].計算機技術 與發展,2012(10):169-172.
[16]韓義亭,張成宇.SSH架構及其在Web開發中的應用[JJ.網絡安全技術與應用, 2007(10):72-74.
[17]溫麗華.灰色系統理論及其應用[D].哈爾濱工程大學,2003.
[18]劉思峰.灰色系統理論的產生與發展[J].南京航空航天大學學報,2004, 36(2):267-272.
[1刃傅澤強,孫啟宏,蔡運龍,et al.基于灰色系統理論的森林火災預測模型研究[JJ.林業科 學,2002,38(5):95-100.
[20]Balfer J, Bajorath J. Systematic Artifacts in Support Vector Regression-Based Compound Potency Prediction Revealed by Statistical and Activity Landscape Analysis卩].Pios One, 2015, 10(3):675-692.
[21]Gui B, Wei X, Shen Q, et al. Financial Time Series Forecasting Using Support Vector Machine[C]// Tenth International Conference on Computational Intelligence and Security. IEEE, 2014:39-43.
[22]蘭旭輝,熊家軍,鄧剛.基于MySQL的應用程序設計[J]?計算機工程與設計,2004, 25(3):442-443.
[23]李榮虱王見,LIRong-guo,等.MySQL數據庫在自動測試系統中的應用[J].計算機應用, 2011,31(s2):169-171.
[24]李書杰,李志剛.B/S三層體系結構模式[J].華北理工大學學報(自然科學版),2002, 24(sl):25-2 &
[25]郭劍毅,申立中.基于C/S與B/S的高校科研管理信息系統的設計與實現[五 計算機工程 與應用,2003,39(1):212-214.
[26]王立峰,延偉東,章華.軟件工程理論與實踐清華大學出版社,2003.
[27]孫昌愛,金茂忠,劉超.軟件體系結構研究綜述[J].軟件學報,2002,13(7):1228-1237.
[28]殷人昆,鄭人杰,馬素霞,白曉穎.實用軟件工程(第三版)[M].清華大學出版社,2010 (24) :95.
[29]馮春瑩,徐志勝,徐亮.城市火災模擬分析與消防應急指揮系統的設計與實現[J].防災 減災工程學報,2005, 25(2):189-194.
卩0]劉雁鵬,戴瑜興.基于Internet的火災報警監控系統設計與實現[JJ.電氣應用,2005, 24(12):104-107.
[31]易立新.城市火災風險評價的指標體系設計[J].災害學,2000, 15(4):90-94.
卩2]許海燕,張小東.軟件需求分析中的用例建模研究與應用[J].計算機工程與設計,2007, 28(18):4504-4506.
[33]王銳東.基于UML的網上報名系統用例模型的建模方法研%[]].信息系統工程, 2010(5):39-40.
[34]沈應逵,曾凌.Java Web數據庫系統應用開發與實例[M].人民郵電出版社,200&
[35]劉海巖,鎖志海,呂青,等.設計模式及其在軟件設計中的應用研究[J].西安交通大學學 報,2005, 39(10):1043-1047.
卩6]王長斌.軟件設計模式及其在Java類庫中的典型實現[J].計算機工程與應用,2004, 38(4):48-50.
卩7]王能斌等.數據庫設計與實現[M].華中理工大學出版社,1991.
卩8]李志永.移動互聯網數據傳輸安全機制研究與設計[D].南京航空航天大學,2010.
[39] 主福洋.計算機網絡數據庫的安全管理技術[J].信息系統工程,2017, 8(10):91-93.
[40] 劉波.管理信息系統中數據庫安全實現方法[J].計算機應用,2000,20(10):77-7&
[41] 陶傳蔚.基于WEB的消防系統設計與實現[D].山東大學,2009.
[42] 趙金東,郭常忠.基于Web的分布式消防執法辦公系統設計與實現[J].計算機工程與設 計,2006,27(16):3040-3042.
[43] 李康榮,賈迪,張瑤.基于Web系統測試的應用研究[JJ.中國測試,2006,32(6):114-116.