周聰,易波
(湖南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙410082)
建筑行業(yè)一直都是我國(guó)國(guó)民經(jīng)濟(jì)的重要支柱,也是我國(guó)最具規(guī)模和活力的基礎(chǔ)產(chǎn)業(yè)。由于我國(guó)沒(méi)有形成一個(gè)完善健全的建筑安全監(jiān)管和預(yù)警體系,使得建筑工程建設(shè)管理水平、技術(shù)水平、施工水平有所局限。隨著當(dāng)前互聯(lián)網(wǎng)得到迅速發(fā)展,將建筑監(jiān)理的理念與互聯(lián)網(wǎng)技術(shù)相結(jié)合,利用現(xiàn)代計(jì)算機(jī)軟件技術(shù)建立一個(gè)快捷、健全的建筑安全預(yù)警和監(jiān)理信息管理系統(tǒng)有著重要的研究和應(yīng)用價(jià)值。
本系統(tǒng)運(yùn)用強(qiáng)大的數(shù)據(jù)庫(kù)功能,在現(xiàn)場(chǎng)施工過(guò)程中操作用戶(hù)將現(xiàn)場(chǎng)檢測(cè)到的數(shù)據(jù)輸入到預(yù)警系統(tǒng)中,通過(guò)與系統(tǒng)數(shù)據(jù)庫(kù)中的歷史數(shù)據(jù)相融合,與有效的數(shù)據(jù)模型進(jìn)行匹配,若存在相關(guān)問(wèn)題則進(jìn)行預(yù)警,生成記錄,并查詢(xún)追蹤到的相應(yīng)的建議處理措施,處理該安全隱患;若不存在則要將該數(shù)據(jù)反饋給專(zhuān)家,專(zhuān)家通過(guò)分析,再進(jìn)行數(shù)據(jù)融合,從而實(shí)現(xiàn)警情的預(yù)警與防范、數(shù)據(jù)收集等,以便于及時(shí)發(fā)現(xiàn)潛在威脅,提出應(yīng)急預(yù)案,防患于未然。本系統(tǒng)也實(shí)現(xiàn)了信息化的遠(yuǎn)程監(jiān)管,通過(guò)Web瀏覽器使監(jiān)管單位能夠隨時(shí)瀏覽施工過(guò)程中的預(yù)警信息。同時(shí)通過(guò)視頻監(jiān)控系統(tǒng)使得監(jiān)管單位以及企業(yè)單位能夠?qū)崟r(shí)了解監(jiān)控整個(gè)施工現(xiàn)場(chǎng)的真實(shí)情況。不但加強(qiáng)了建筑單位與施工現(xiàn)場(chǎng)的信息交互,同時(shí)使建筑過(guò)程中遇到的安全隱患得到了及時(shí)處理,大大提高了建筑施工安全管理水平。
本系統(tǒng)主要包括問(wèn)題規(guī)范查詢(xún)、預(yù)警分析、工程日志、信息反饋四大模塊。系統(tǒng)用戶(hù)分為4種:現(xiàn)場(chǎng)用戶(hù)、監(jiān)管用戶(hù)、企業(yè)用戶(hù)和管理員。現(xiàn)場(chǎng)用戶(hù)主要是現(xiàn)場(chǎng)施工人員;監(jiān)管用戶(hù)和企業(yè)用戶(hù)都屬于管理現(xiàn)場(chǎng)用戶(hù)的上級(jí)部門(mén),監(jiān)管主要是與工程有關(guān)的監(jiān)理公司,通過(guò)地區(qū)來(lái)劃分管轄范圍;企業(yè)用戶(hù)主要是工程有關(guān)的企業(yè)公司;管理員擁有最高權(quán)限。系統(tǒng)主要對(duì)建筑施工過(guò)程中的預(yù)警信息進(jìn)行管理和顯示,并利用網(wǎng)絡(luò)技術(shù)與監(jiān)理單位實(shí)現(xiàn)即時(shí)通信,使預(yù)警信息得到及時(shí)處理。本系統(tǒng)總體框架如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)原理圖
系統(tǒng)數(shù)據(jù)庫(kù)采用 SQL SERVER 2008[1];采用 Eclipse作為編輯代碼工具;采用Tomcat作為服務(wù)器;用Java語(yǔ)言開(kāi)發(fā),引用了Nutz架包,本系統(tǒng)沒(méi)有采用傳統(tǒng)的SSH框架,而是采用了輕便的新型的Nutz框架;引用了Jquery包[2]。
由于系統(tǒng)采用B/S(Browser/Server)模式。相比于傳統(tǒng)的C/S(Client/Server)模式,其客戶(hù)端不需要安裝專(zhuān)門(mén)的軟件,只需要瀏覽器即可。瀏覽器通過(guò)Web服務(wù)器與數(shù)據(jù)庫(kù)進(jìn)行交互,可以方便地在不同平臺(tái)下工作,客戶(hù)端零安裝、零維護(hù),并具有高擴(kuò)展性。
本系統(tǒng)采用了 Html、JavaScript、Java語(yǔ)言進(jìn)行開(kāi)發(fā)。利用了新型的Nutz框架實(shí)現(xiàn)MVC模式。Nutz是一組輕便小型的框架的集合,但它的各個(gè)部分可以被獨(dú)立使用,而且它是開(kāi)源的,完全免費(fèi)的。Nutz框架完全可以獨(dú)立地用來(lái)開(kāi)發(fā)一個(gè)Web項(xiàng)目,它主要提供了以下幾個(gè)基本的功能:
(1)DAO。提供了針對(duì)JDBC的薄封裝,DAO接口提供了對(duì)數(shù)據(jù)庫(kù)的基本操作的封裝,如 Insert(插入)、Delete(刪除)、Update(更新)、Fetch(獲取)、Query(查詢(xún))、Clear(清除,一條SQL根據(jù)條件刪除多條記錄)。在DAO中也能自定義復(fù)雜的SQL條件語(yǔ)句,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的更復(fù)雜的操作。
(2)Ioc。主要是用來(lái)存儲(chǔ)對(duì)象之間的依賴(lài)關(guān)系,并提供一些接口讓使用者獲取這些對(duì)象。
(3)Nutz.Mvc。是和一個(gè)Web服務(wù)器一起工作的,它的作用就是把客戶(hù)端的標(biāo)準(zhǔn)的HTTP請(qǐng)求映射到對(duì)應(yīng)的Java函數(shù)中,從而實(shí)現(xiàn)Java函數(shù)對(duì)HTTP請(qǐng)求的處理。在這個(gè)映射過(guò)程中,它會(huì)完成參數(shù)的解析并提供幾種基本的渲染 HTTP輸出流的方式(如 JSP、View、JSon)。Nut.Mvc的核心思想就是通過(guò)注解@At把一個(gè)HTTP請(qǐng)求與一個(gè)Java函數(shù)聯(lián)系起來(lái)[3]。
典型的MVC模式視圖層對(duì)應(yīng)View,負(fù)責(zé)顯示數(shù)據(jù)庫(kù)提取出來(lái)的數(shù)據(jù)以及用戶(hù)界面。例如Html頁(yè)面的視圖、JSP頁(yè)面的表格、Jquery中諸多控件等數(shù)據(jù)視圖層顯示的功能。
數(shù)據(jù)庫(kù)層對(duì)應(yīng)的則是Modle層,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。而Entity實(shí)體層則是數(shù)據(jù)表格的映射,都必須通過(guò)Entity層一一對(duì)應(yīng),業(yè)務(wù)邏輯層對(duì)數(shù)據(jù)庫(kù)的所有操作也是通過(guò)對(duì)Entity層進(jìn)行的。
業(yè)務(wù)邏輯層對(duì)應(yīng)Controller,也是整個(gè)Nutz框架的核心部分,從視圖讀取數(shù)據(jù),控制用戶(hù)輸入,并向模型發(fā)送數(shù)據(jù)。業(yè)務(wù)邏輯層分為3層:Module層、Service層以及DAO層。3層都可以對(duì)Entity層進(jìn)行操作,只是關(guān)系層次復(fù)雜的一次通過(guò)Module、Service、DAO層依次進(jìn)行,最后使用DAO層來(lái)操作數(shù)據(jù)交互,這樣有助于分清程序的層次,有助于以后的維護(hù)和閱讀。所有層的跳轉(zhuǎn)都是通過(guò)Ntz.Ioc(Inversion of Control)來(lái)控制的。Nutz的程序結(jié)構(gòu)如圖2所示。
該模塊主要為現(xiàn)場(chǎng)用戶(hù)提供查詢(xún)施工現(xiàn)場(chǎng)所遇到的建筑規(guī)范問(wèn)題以及向系統(tǒng)提出新問(wèn)題。問(wèn)題查詢(xún)流程如圖3所示。
3.1.1 問(wèn)題規(guī)范查詢(xún)
圖2 Nutz框架程序結(jié)構(gòu)圖
圖3 問(wèn)題查詢(xún)流程圖
建筑行業(yè)有著一整套施工規(guī)范,在施工過(guò)程中需要負(fù)責(zé)人及時(shí)地查詢(xún)與工程有關(guān)聯(lián)的問(wèn)題規(guī)范。本模塊采用的是Apache的Solr搜索引擎。Solr是基于Lucene的獨(dú)立的開(kāi)放源碼的企業(yè)全文搜索服務(wù)器軟件,具有比Lucene更為豐富的更易使用的查詢(xún)語(yǔ)言,同時(shí)實(shí)現(xiàn)了可配置、可擴(kuò)展并對(duì)查詢(xún)性能進(jìn)行了優(yōu)化,并且提供了一個(gè)完善的功能管理界面。它主要分為客戶(hù)端和服務(wù)端??蛻?hù)端負(fù)責(zé)與用戶(hù)進(jìn)行交互,接收輸入的查詢(xún)內(nèi)容,向服務(wù)端發(fā)送查詢(xún)請(qǐng)求;服務(wù)端通過(guò)Solr對(duì)數(shù)據(jù)庫(kù)建立索引,實(shí)現(xiàn)全文搜索。Solr技術(shù)的引入使得搜索更加簡(jiǎn)單快捷,而且穩(wěn)定高效[4]。
在輸入框下面輸入相應(yīng)的問(wèn)題,再選項(xiàng)按鈕“按名稱(chēng)查詢(xún)”,“按內(nèi)容查詢(xún)”和“按標(biāo)題查詢(xún)”,點(diǎn)擊查詢(xún)或者按“Enter”鍵都可以進(jìn)行對(duì)應(yīng)的查詢(xún)。查詢(xún)結(jié)果將以一定的順序排列并且分頁(yè)顯示,關(guān)鍵字會(huì)在搜索記錄中以紅色高亮顯示。查詢(xún)精度可以達(dá)到90%以上。具體的技術(shù)實(shí)現(xiàn)框架如圖4所示。
這可以看作是Nutz與Solr的結(jié)合,關(guān)鍵字通過(guò)視圖層傳遞到控制層,與前面Nutz不同的是沒(méi)有通過(guò)本身的搜索操作query(查詢(xún))函數(shù)進(jìn)行搜索,而是通過(guò)接口連接Solr獨(dú)立搜索引擎,提供強(qiáng)大的全文搜索功能。對(duì)klCriterion規(guī)范表格進(jìn)行全文搜索,并且將搜索關(guān)鍵字高亮處理,同時(shí)將搜索結(jié)果分頁(yè)返回到視圖層頁(yè)面。
3.1.2 添加問(wèn)題記錄
圖4 規(guī)范查詢(xún)的技術(shù)框架圖
在搜索過(guò)程中有可能出現(xiàn)用戶(hù)搜索的問(wèn)題在目前的問(wèn)題規(guī)范數(shù)據(jù)庫(kù)中查詢(xún)不到的情況,對(duì)此系統(tǒng)提供了一個(gè)添加問(wèn)題的功能。用戶(hù)可以通過(guò)反饋搜索不到的問(wèn)題提交到后臺(tái)數(shù)據(jù)庫(kù),每隔一段時(shí)間數(shù)據(jù)庫(kù)管理員會(huì)對(duì)所有新的問(wèn)題進(jìn)行篩選,并對(duì)有價(jià)值的問(wèn)題請(qǐng)專(zhuān)業(yè)人士進(jìn)行補(bǔ)充并存入規(guī)范數(shù)據(jù)庫(kù),從而不斷完善問(wèn)題規(guī)范數(shù)據(jù)庫(kù)。
建筑行業(yè)在施工過(guò)程中出現(xiàn)的“危險(xiǎn)點(diǎn)”或“危險(xiǎn)區(qū)”實(shí)為一種極不正常情況,在施工安全預(yù)警中稱(chēng)之為警或警情。警或警情的嚴(yán)重程度(即“危險(xiǎn)點(diǎn)”或“危險(xiǎn)區(qū)”的危險(xiǎn)程度)就是施工安全預(yù)警的警度。施工安全預(yù)警不僅要及時(shí)預(yù)報(bào)警情,而且要準(zhǔn)確預(yù)報(bào)警度。預(yù)報(bào)警度是預(yù)警的目的。
本系統(tǒng)參照有關(guān)專(zhuān)家意見(jiàn)將施工安全預(yù)警的警度劃分為4個(gè)不同的警區(qū):無(wú)警警區(qū)、一級(jí)警區(qū)、二級(jí)警區(qū)、三級(jí)警區(qū)。相應(yīng)地要分無(wú)警警限、一級(jí)警限、二級(jí)警限、三級(jí)警限[5]。
3.2.1 預(yù)警分析
預(yù)警分析過(guò)程可以看作是一個(gè)模式識(shí)別的過(guò)程。把未知警度的新預(yù)警樣本與已知警度的預(yù)警標(biāo)準(zhǔn)樣本進(jìn)行比較辨別,從而確定新預(yù)警樣本所歸屬于的預(yù)警模式類(lèi)別。預(yù)警分析的方法流程如圖5所示。
3.2.2 預(yù)警記錄
圖5 預(yù)警分析流程圖
預(yù)警記錄模塊的主要作用是顯示施工過(guò)程中該用戶(hù)遇到的所有預(yù)警情況的記錄,并提供一個(gè)平臺(tái)讓現(xiàn)場(chǎng)用戶(hù)解決該警情。而監(jiān)管方可同時(shí)看到該記錄,隨時(shí)監(jiān)控警情,以督促得到解決。因此,預(yù)警記錄應(yīng)該具有以下幾個(gè)功能:(1)顯示該項(xiàng)目用戶(hù)的所有預(yù)警記錄;(2)根據(jù)預(yù)警日期、預(yù)警級(jí)別、狀態(tài)對(duì)記錄進(jìn)行查詢(xún)顯示;(3)查看詳情并解決該問(wèn)題:可以查看每條預(yù)警記錄的級(jí)別、現(xiàn)象、建議處理措施等情況,解決該問(wèn)題時(shí)需要消除碼。預(yù)警記錄的功能設(shè)計(jì)圖如圖6所示。
圖6 預(yù)警記錄業(yè)務(wù)流程圖
工程日志模塊是現(xiàn)場(chǎng)用戶(hù)記錄施工現(xiàn)場(chǎng)每天的真實(shí)情況并由負(fù)責(zé)人實(shí)名制提交。不僅可以新增和編輯每天施工現(xiàn)場(chǎng)情況,同時(shí)可以查看已記錄過(guò)的日志詳細(xì)信息??梢苑奖阋院蠡仡欀匾录约鞍l(fā)生事故后及時(shí)追究事故原因和責(zé)任人。工程日志的基本流程如圖7所示。
圖7 工程日志流程圖
同時(shí)采用了JQuery框架中datepicker插件實(shí)現(xiàn)日歷的功能,不僅可以提供日志日期查詢(xún),并且能夠在日期的顏色上區(qū)別出哪天有日志記錄,例如灰色表示無(wú)日志記錄并且鼠標(biāo)不能點(diǎn)擊;藍(lán)色表示有日志記錄,點(diǎn)擊日期即可進(jìn)入對(duì)應(yīng)的日志記錄頁(yè)面。JQuery最基本的應(yīng)用就是通過(guò)元素的id號(hào)對(duì)元素進(jìn)行各種操作,如給元素賦值、提取元素的值及控制元素的顯示等。再通過(guò)Javascript中的AJAX進(jìn)行前后臺(tái)的數(shù)據(jù)交換。在AJAX中可以傳遞想要傳遞到數(shù)據(jù)庫(kù)的參數(shù),并可以定義數(shù)據(jù)交互的形式,以及成功提交后執(zhí)行的操作。
現(xiàn)場(chǎng)用戶(hù)可以通過(guò)新增工程日記錄施工現(xiàn)場(chǎng)每天的情況以供自己以及上級(jí)部門(mén)用戶(hù)查看。
用戶(hù)在填寫(xiě)日志出現(xiàn)紕漏時(shí),可以重新編輯添加過(guò)的日志信息。但為了保證信息安全,只能在提交日志的48 h內(nèi)才能編輯日志,逾時(shí)則無(wú)法編輯該條日志信息。
用戶(hù)還可以通過(guò)按工程日志的名稱(chēng)、提交時(shí)間來(lái)查看符合自己要求的工程日志信息。查詢(xún)結(jié)果通過(guò)JQuery控件翻頁(yè)顯示。
信息反饋是現(xiàn)場(chǎng)用戶(hù)將需要反饋的信息通過(guò)系統(tǒng)反饋到選擇的上級(jí)用戶(hù),上級(jí)用戶(hù)可以對(duì)此反饋進(jìn)行回復(fù),達(dá)到上下級(jí)在線(xiàn)交流的目的。此模塊類(lèi)似一個(gè)現(xiàn)場(chǎng)用戶(hù)與上級(jí)用戶(hù)之間的對(duì)話(huà)。信息反饋的流程如圖8所示。
圖8 信息反饋流程圖
本系統(tǒng)實(shí)現(xiàn)了一個(gè)基于新型框架Nutz結(jié)構(gòu)設(shè)計(jì)開(kāi)發(fā)的建筑質(zhì)量監(jiān)理預(yù)警系統(tǒng),不僅具備現(xiàn)場(chǎng)施工場(chǎng)地日常使用的工程日志記錄和信息反饋,還具有一個(gè)建筑行業(yè)中的規(guī)范查詢(xún)系統(tǒng),方便施工時(shí)及時(shí)查看相關(guān)的建筑問(wèn)題規(guī)范。同時(shí)具有最重要的預(yù)警系統(tǒng),用戶(hù)輸入的施工信息通過(guò)與系統(tǒng)進(jìn)行模式匹配,利用3個(gè)級(jí)別的預(yù)警實(shí)現(xiàn)不同程度的預(yù)警,從而保證整個(gè)建筑行業(yè)的施工安全。
[1]郭鄭州,陳軍紅.SQL Server 2008完全學(xué)習(xí)手冊(cè)[M].北京:清華大學(xué)出版社,2011.
[2]單東林,張曉菲,魏然.鋒利的 jQuery(第 2版)[M].北京:人民郵電出版社,2012.
[3]Nutz(de)文檔[EB/OL].[2014-3-20]http://nutzam.com/doc/html/.
[4]王小森.基于solr的搜索引擎的設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京郵電大學(xué),2011.
[5]張明麗.基于支持向量機(jī)建筑施工安全預(yù)警模型的研究[J].中國(guó)安全生產(chǎn)科學(xué)技術(shù),2011,7(3):59-60.