彭 帥,儲江偉*,金世洲,馬 健,王勝軍
(1.東北林業(yè)大學(xué) 交通學(xué)院,哈爾濱 150040;2.哈爾濱市重點(diǎn)污染源環(huán)境監(jiān)控中心,哈爾濱 150027;3.黑龍江省環(huán)境保護(hù)廳污防處,哈爾濱 150090)
進(jìn)入到21世紀(jì),隨著科技的不斷發(fā)展,環(huán)境與發(fā)展已成為當(dāng)今世界普遍關(guān)注的一大課題。環(huán)境是人類生存和發(fā)展的基本條件,但隨著人類不斷地從環(huán)境中獲取物質(zhì)和能量,創(chuàng)造自己所需要的物質(zhì)和財富,留給生態(tài)環(huán)境的卻是不可逆轉(zhuǎn)的破壞。在諸多生態(tài)問題中,大氣污染是對人類健康以及工農(nóng)業(yè)生產(chǎn)和氣候危害最為嚴(yán)重的一個問題。汽車是現(xiàn)代文明的產(chǎn)物,它為人們的出行帶來了方便和快捷,但同時也帶來了兩種災(zāi)難:交通事故和環(huán)境污染問題。而汽車尾氣、噪音等更是時刻威脅著人類的生存環(huán)境。作為一種流動的污染源,汽車排放物已成為造成大氣污染的罪魁禍?zhǔn)?。汽車排放檢測作為汽車檢測/維修(I/M)制度的重要組成部分,為汽車污染管理工作提供技術(shù)手段和決策依據(jù)。應(yīng)用先進(jìn)的信息處理方法和計算機(jī)技術(shù)構(gòu)建汽車排放檢測管理,對增強(qiáng)汽車排放檢測能力,提高汽車環(huán)保檢測管理水平,促進(jìn)汽車污染防治管理工作具有重要意義。
B/S構(gòu)架是WEB技術(shù)興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,客戶端最主要的應(yīng)用軟件是WEB瀏覽器[1]。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只要安裝一個瀏覽器,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫,瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,具體構(gòu)架結(jié)構(gòu)如圖1所示。
圖1 B/S結(jié)構(gòu)示意圖
在B/S結(jié)構(gòu)模式中,B/S 軟件所有的操作在服務(wù)器端即可完成,對于客戶端的客戶,只需登錄系統(tǒng)即可使用,這樣就使成本比C/S結(jié)構(gòu)模式有了很大降低。B/S結(jié)構(gòu)通過服務(wù)器處理客戶端的事務(wù)和用戶請求,雖然增加了程序端服務(wù)器的負(fù)荷,但降低了客戶端計算機(jī)的內(nèi)存消耗。相比C/S模式,B/S具有高安全性、“高內(nèi)聚,低耦合”的優(yōu)勢。
系統(tǒng)的功能模塊設(shè)計是根據(jù)軟件工程的思想,對系統(tǒng)進(jìn)行子模塊劃分和定義。在對系統(tǒng)的需求分析基礎(chǔ)的上,對在用汽車排氣污染物檢測信息管理系統(tǒng)進(jìn)行總體功能結(jié)構(gòu)設(shè)計,如圖2所示。
本系統(tǒng)包括三個主要子系統(tǒng),分別為:系統(tǒng)管理子系統(tǒng)、汽車綜合信息子系統(tǒng)和檢測數(shù)據(jù)分析子系統(tǒng)。系統(tǒng)管理子系統(tǒng)包括:用戶管理模塊、角色管理模塊、權(quán)限管理模塊和資源管理模塊;汽車綜合信息管理子系統(tǒng)包括汽車綜合信息查詢和管理等功能模塊;檢測數(shù)據(jù)管理子系統(tǒng)包括:尾氣檢測數(shù)據(jù)分析模塊和尾氣檢測數(shù)據(jù)報表模塊。各應(yīng)用子系統(tǒng)以數(shù)據(jù)庫為核心,通過指定的標(biāo)準(zhǔn)接口實(shí)現(xiàn)數(shù)據(jù)的互通互聯(lián)。
圖2 系統(tǒng)整體功能模塊圖
數(shù)據(jù)庫是儲存數(shù)據(jù)的倉庫,按照數(shù)據(jù)的結(jié)構(gòu)來組織、存儲和管理的數(shù)據(jù)倉庫,其數(shù)據(jù)具有結(jié)構(gòu)化、低冗余、高獨(dú)立性、易擴(kuò)編等特點(diǎn)。對數(shù)據(jù)庫設(shè)計時,簡明清晰的表結(jié)構(gòu)是很重要的。一般數(shù)據(jù)庫的設(shè)計要遵循一致性原則、完整性原則、安全性原則、可伸縮性原則及規(guī)范化原則。
本系統(tǒng)的數(shù)據(jù)庫應(yīng)該包含一下幾個部分的數(shù)據(jù)表。
(1)汽車綜合信息。車牌號碼、車牌顏色、驅(qū)動形式、登記日期、車輛類型、排量、供油方式、檢測類型、發(fā)動機(jī)號、最大總質(zhì)量、核定載客、核定載質(zhì)量、廠牌型號、燃油類別、里程表、檢測方法以及基準(zhǔn)質(zhì)量等相關(guān)信息。部分字段含義見表1。
表1 汽車綜合信息部分字段說明表
(2)汽車檢測信息。檢測時間、各項檢測數(shù)值、各項檢測值判定信息、檢測站名稱、檢測環(huán)境信息以及檢測結(jié)論等相關(guān)信息。由于篇幅原因,現(xiàn)列出部分檢測信息字段說明,見表2。
表2 部分檢測信息字段說明表
車輛類型、登記日期和燃油類別等數(shù)據(jù)通過代碼與汽車綜合信息表相關(guān)聯(lián),通過主鍵與檢測信息表相關(guān)聯(lián)。
本系統(tǒng)是一個充分利用檢測站信息資源、Internet、J2EE平臺,以B/S模式為總體結(jié)構(gòu)的、功能完善的在用汽車排氣污染物排放檢測信息管理系統(tǒng),具有友好的人機(jī)交互界面,布局合理,操作簡單,檢測站工作人員及各環(huán)保部門管理人員可以輕松的將汽車綜合信息、在用汽車排氣污染物檢測信息維護(hù)到管理信息系統(tǒng)中。
目前在 J2EE 多層架構(gòu)(如圖3所示)上,己經(jīng)開發(fā)出了很多成熟的框架,可以依次解決上面所提出的種種問題。開發(fā)人員的負(fù)擔(dān)相比之前大大減輕了,開發(fā)者可以將不同層上的框架進(jìn)行整合,從而能夠從繁重的底層編碼中得以解脫。在應(yīng)用系統(tǒng)四層體系結(jié)構(gòu)模型概念里,將應(yīng)用系統(tǒng)分為四個開發(fā)層次:表示層、業(yè)務(wù)邏輯層、持久層和數(shù)據(jù)層[2]。Web 應(yīng)用在構(gòu)建時,處理用戶的請求、業(yè)務(wù)邏輯以及持久化數(shù)據(jù)等問題是必須嚴(yán)謹(jǐn)考慮的因素,而且這也是應(yīng)用本身必須具備且較為復(fù)雜的職責(zé)。本系統(tǒng)的開發(fā)分為表示層、業(yè)務(wù)層和持久層這三個層次。
圖3 J2EE多層構(gòu)架圖
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計典范,用于組織代碼用一種業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離的方法[3]。M(Model)是獨(dú)立于具體的頁表達(dá)和I/O操作的內(nèi)在抽象,封裝了問題的核心數(shù)據(jù)、邏輯和功能的計算關(guān)系。V(View)從模型獲得信息,將信息處理后以特定形式展示給用戶。C(Controller)處理用戶與軟件的交互操作。MVC框架如圖4所示。
圖4 MVC模式框架
在MVC模式下,一個模型可以對應(yīng)多個顯示視圖。如果用戶通過視圖控制器改變模型的數(shù)據(jù),那么所有其他基于此模型的視圖也將同時改變。這種機(jī)制特性使得MVC分離,在系統(tǒng)的開發(fā)過程中,大幅提高了代碼的復(fù)用率,降低藕合度。
Spring + Mybatis框架是一種MVC的具體實(shí)現(xiàn)[4]。Spring主要有兩個貢獻(xiàn):第一是為J2EE應(yīng)用提供了優(yōu)雅的基礎(chǔ)結(jié)構(gòu);第二,提供了可以幫助開發(fā)人員更好的使用J2EE相關(guān)技術(shù)的工具性支持。Spring作為全局控制,存在整個流程之中。MyBatis是一種支持SQL查詢、存儲過程和高級映射的經(jīng)典持久層框架[5-6]。
2.3.1 系統(tǒng)運(yùn)行環(huán)境
操作系統(tǒng):windows XP/vista/7
JAVA虛擬機(jī):j2sdk1.5.2
web服務(wù)器:Tomcat 7.0
數(shù)據(jù)庫:SQL server 2008
2.3.2 系統(tǒng)開發(fā)環(huán)境
操作系統(tǒng):windows 7
開發(fā)工具:IntelliJ IDEA 8.*以上
開發(fā)語言:Java
web服務(wù)器:Tomcat 7.0
數(shù)據(jù)庫:SQL server 2008
2.3.3 多層結(jié)構(gòu)開發(fā)
(1)視圖層的開發(fā)就是JSP頁面的開發(fā)。在本系統(tǒng)的開發(fā)過程中,視圖的開發(fā)工作需要結(jié)合界面設(shè)計,采集和處理頁面上的數(shù)據(jù),無需做業(yè)務(wù)流程上的處理。本系統(tǒng)頁面設(shè)計使用富客戶端框架EXTJS4.1。數(shù)據(jù)傳輸使用JSON格式。
(2)在系統(tǒng)中數(shù)據(jù)持久層開發(fā)中使用了Mybatis框架。首先,建立配制文件,在配制文件中與數(shù)據(jù)庫建立連接,定義數(shù)據(jù)源,加載sql配置文件。然后,在Dao層的類中,調(diào)用sql配置文件中的sql語句,最終完成數(shù)據(jù)的查詢、修改、刪除和添加等數(shù)據(jù)庫操作。
(3)在業(yè)務(wù)層中,實(shí)現(xiàn)具體業(yè)務(wù)邏輯,為應(yīng)用展現(xiàn)層提供服務(wù)支撐,本層采用Spring框架技術(shù)實(shí)現(xiàn)。業(yè)務(wù)層主要是負(fù)責(zé)將前臺頁面的表單信息處理后,傳遞到持久層,這部分的實(shí)現(xiàn)主要由Facade類來處理。
(4)在用汽車排氣污染物檢測信息管理系統(tǒng)的界面設(shè)計使用Extjs4.1框架來布局,頁面簡潔、美觀、適應(yīng)各種主流瀏覽器和各種分辨率。
在用汽車排氣污染物檢測信息管理系統(tǒng)能夠?qū)ζ嚺艢馕廴疚锱欧艡z測數(shù)據(jù)進(jìn)一步分析,從海量的數(shù)據(jù)中提取出有價值的信息,準(zhǔn)確定位在用汽車中高排放的“害群之馬”,為政府環(huán)保部門制定排氣污染物排放相關(guān)法律法規(guī)提供有力的數(shù)據(jù)支持。本系統(tǒng)的界面如圖5、圖6、圖7和圖8所示。
圖5 登錄窗口
圖6 系統(tǒng)歡迎界面和功能欄
圖7 數(shù)據(jù)計算分析趨勢圖
圖8 查詢信息呈現(xiàn)頁面
本系統(tǒng)針對汽車綜合信息和排氣污染物檢測數(shù)據(jù)信息,主要可做如下分析。
(1)準(zhǔn)確計算出車輛尾氣檢測的合格率。所有檢測車輛的整體合格率;檢測車輛采用不同檢測方法的整體合格率;檢測車輛按車型劃分,具體某種車型的整體合格率;檢測車輛按年份劃分,各年份的合格率。
(2)準(zhǔn)確計算出車輛排氣污染物檢測中的各項檢測數(shù)據(jù)的整體平均值。雙怠速法中高怠速排放均值,低怠速排放均值;ASM法中ASM5025和ASM2540的HC、CO、NOX的排放平均值;自由加速法中三次不同加速的排放均值,以及三次加速排放的算術(shù)平均值的整體平均值。
(3)在同一檢測工況下,車輛采用了不同的燃油系統(tǒng)供給方式,統(tǒng)計其排氣污染物的整體變化趨勢,從中找出燃油系統(tǒng)供給方式對排氣污染物的影響規(guī)律。
(4)ASM檢測工況下,不同基準(zhǔn)質(zhì)量區(qū)間的車輛采用了不同的排放限值,統(tǒng)計不同基準(zhǔn)質(zhì)量區(qū)間排放污染物的整體平均值情況以及計算出不合格率,從中找出排氣污染物污染的劣化趨勢。
(5)對于同一車型的車輛,計算其排氣污染物排放污染物隨其行駛里程增大的變化規(guī)律。
(6)對于不同排量的同一車型的汽車,統(tǒng)計其排放污染物的劣化趨勢。
(7)根據(jù)不同使用年限的不同車型的在用車排氣污染物的變化情況,預(yù)測未來排氣污染物數(shù)據(jù)的變化趨勢曲線。
本文通過對采用Spring MVC和MyBatis框架為基礎(chǔ)的Web應(yīng)用框架進(jìn)行分析和研究,可以發(fā)現(xiàn)將Sping MVC應(yīng)用于在用汽車排氣污染物檢測信息管理系統(tǒng)的架構(gòu)中,可以有效的將系統(tǒng)的表示層、業(yè)務(wù)層、邏輯層分開來,提升系統(tǒng)性能,提高了系統(tǒng)的可維護(hù)性和可擴(kuò)展性;將MyBatis應(yīng)用到于在用汽車排氣污染物檢測信息管理系統(tǒng)中,不僅可以大大提高代碼的復(fù)用性,而且能有效隔離數(shù)據(jù)庫設(shè)計和應(yīng)用中使用的對象模型,這就使得它們兩者之間的相關(guān)性能降至最低。將Spring作為全局控制存在與整個流程之中,使得系統(tǒng)復(fù)雜度大大降低,提高了代碼復(fù)用率。Web應(yīng)用框架的研究是一個不斷深入、逐步完善的過程,在對Web應(yīng)用框架不斷推廣試用的基礎(chǔ)上,還將進(jìn)一步擴(kuò)展其功能,使其應(yīng)用領(lǐng)域更加廣泛。
【參 考 文 獻(xiàn)】
[1]Zhang J,Zhu X,Liang X.C/S and B/S mixed style and the application [A].Proceeding of Education Technology and Computer Science [C],2009:682-686.
[2]陳 勇.基于J2EE和MVC模式的電子政務(wù)系統(tǒng)的研究與實(shí)現(xiàn)[D].武漢:湖北工業(yè)大學(xué),2006.
[3]He Z,Zheng J.Design and implementation of student attendance management system based on MVC[A].Proceeding of International Conference on Management and Service Science(MASS 2009)[C],2009:7717-7720.
[4]張 宇,王映輝,張翔南,等.基于Spring的MVC框架設(shè)計與實(shí)現(xiàn)[J].計算機(jī)工程,2010,36(4):59-62.
[5]徐 雯,高建華.基于Spring MVC及MyBatis的Web應(yīng)用框架研究[J].微型電腦應(yīng)用,2012,28(7):1-4.
[6]崔淑華,楊 瑞,王曉娟.促進(jìn)我國汽車檢修行業(yè)發(fā)展的模塊化仿真[J].森林工程,2003,19(6):16-20.