作者簡介:任靜(1980—)女,陜西西安人,講師,碩士,研究方向:軟件開發(fā),圖像處理,(E-mail:48058085@qq.com);胥勇(1982—)男,新疆烏魯木齊人,助理工程師,研究方向:電氣工程及其自動化。
摘要:針對城市建設(shè)的快速發(fā)展,城市垃圾也逐漸增多,渣土車在清運過程中超速行駛所帶來的惡劣影響,本文采用B/S三層架構(gòu),基于ASP.NET的Web開發(fā),設(shè)計并實現(xiàn)一個渣土車管理系統(tǒng)舉報平臺。并對舉報平臺的關(guān)鍵技術(shù)、系統(tǒng)架構(gòu)、數(shù)據(jù)庫設(shè)計等進(jìn)行論述,最后給出系統(tǒng)平臺的模塊實現(xiàn)。該系統(tǒng)平臺已應(yīng)用于某市渣土車管理中,解決了渣土車違章信息反映不及時,處理責(zé)任不明確的問題。
關(guān)鍵詞:舉報平臺;B/S;ASP.NET;Web
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A
1引言
近年來,隨著城市建設(shè)的快速發(fā)展,城市垃圾也逐漸增多,渣土車在清運過程中超速行駛所帶來的惡劣影響,讓廣大市民都深惡痛疾。市政府隨即開展專項整頓,進(jìn)一步加強(qiáng)建筑垃圾運輸車輛管理。為此,建立了渣土車管理系統(tǒng)舉報平臺。
目前,國內(nèi)外都有利用先進(jìn)的數(shù)據(jù)通訊傳輸技術(shù)、信息技術(shù)、電子傳感技術(shù)、電子控制技術(shù)及計算機(jī)處理技術(shù)等把車、道路、使用者有效緊密的結(jié)合起來,而建立的一種在大范圍內(nèi)全方位發(fā)揮作用的,實時、準(zhǔn)確、高效的車輛管理系統(tǒng)[1]。本系統(tǒng)通過調(diào)研項目的實際需求,在現(xiàn)有建筑垃圾清運車輛管理系統(tǒng)基礎(chǔ)上設(shè)計了適合于渣土車監(jiān)控與管理的輔助系統(tǒng)。解決了渣土車違章信息反映不及時,處理責(zé)任不明確的問題。
本系統(tǒng)采用模塊化程序設(shè)計,將系統(tǒng)劃分模塊,在完成系統(tǒng)功能分析和數(shù)據(jù)庫需求分析的基礎(chǔ)上,運用ASP.NET2.0和SQL Server數(shù)據(jù)庫,充分利用VS2008提供的數(shù)據(jù)控件。系統(tǒng)采用MVC 模式并且基于B/S架構(gòu)進(jìn)行開發(fā)。各模塊問具有一定的關(guān)聯(lián)性,互相之間是一種支持與被支持的關(guān)系,這種關(guān)聯(lián)性極大的保證了系統(tǒng)的完整性和數(shù)據(jù)的整合性。
2建立渣土車管理系統(tǒng)舉報平臺的關(guān)鍵
技術(shù)
2.1基于Web開發(fā)的ASP.NET技術(shù)
NET Framework是Microsoft推出的用于支持生成和運行下一代應(yīng)用程序和XML Web Services的內(nèi)部Windows組件[2]。.NET Framework由公共語言運行庫和.NET Framework類庫兩個主要組件組成,公共語言運行庫是.NET Framework整個框架的基礎(chǔ),主要提供線程管理、內(nèi)存管理和遠(yuǎn)程處理等核心的服務(wù),并且通過強(qiáng)制實施類型安全等形式來保證代碼的安全性、可靠性和準(zhǔn)確性。類庫是.NET Framework另一個重要的組成部分,它是一個面向?qū)ο蟮木C合性的可重用類型的集合,通過類庫的支持,開發(fā)人員可以更快捷地開發(fā)多種應(yīng)用程序,如傳統(tǒng)的圖形用戶界面或命令行應(yīng)用程序,以及基于ASP.NET等新型應(yīng)用程序。
ASP.NET是一個統(tǒng)一的Web開發(fā)模型[3],它可以使開發(fā)人員使用盡可能少的代碼來生成企業(yè)級Web應(yīng)用程序所必需的各種服務(wù)。作為.NET Framework的一部分,ASP.NET提供一種新型的編程結(jié)構(gòu)和模型,用于生成穩(wěn)定性和伸縮性更好的應(yīng)用程序,并提供更好的安全保護(hù)。開發(fā)人員在開發(fā)ASP.NET應(yīng)用程序時,可以使用.NET Framework中的類庫,以獲得更高的開發(fā)效率。ASP.NET憑借強(qiáng)大的開發(fā)工具和文檔支持,以及高效的開發(fā)模式,成為中小型Web應(yīng)用首選的開發(fā)技術(shù)。
2.2SOL數(shù)據(jù)服務(wù)技術(shù)
SQL Server[4]作為微軟在Windows系列平臺上開發(fā)的數(shù)據(jù)庫,SQL Server是一個功能完備的數(shù)據(jù)庫管理系統(tǒng),同F(xiàn)oxPro、Access等小型數(shù)據(jù)庫相比,它包括支持開發(fā)的引擎、標(biāo)準(zhǔn)的SQL語言、擴(kuò)展的特性(如復(fù)制、OLAP、分析)等功能。其中像存儲過程、觸發(fā)器等特性,也是大型數(shù)據(jù)庫才擁有的技術(shù)。同DB2和Oracle等大型數(shù)據(jù)庫相比,在長時間運行大量事務(wù)方面的性能上、系統(tǒng)的安全性上都有一定的差距。
以SQL Server作為后臺數(shù)據(jù)服務(wù)器,它除了具有擴(kuò)展性,可靠性以外,還具有可以迅速開發(fā)新的因特網(wǎng)系統(tǒng)的功能。尤其是它可以直接存貯XML數(shù)據(jù),可以將搜索結(jié)果以XML格式輸出等特點,有利于構(gòu)建了異構(gòu)系統(tǒng)的互操作性,奠定了面向互聯(lián)網(wǎng)的企業(yè)應(yīng)用和服務(wù)的基石。這些特點在基于Web的管理信息系統(tǒng)中發(fā)揮著重要的作用。
2.3現(xiàn)有解決方案與開發(fā)工具比較
目前國內(nèi)外管理信息系統(tǒng)己有許多,基本上可分為基于Internet的管理信息系統(tǒng)(B/S結(jié)構(gòu))與傳統(tǒng)的管理信息系統(tǒng)(C/S結(jié)構(gòu)),他們在技術(shù)上雖有相似但也有區(qū)別,相似之處在于技術(shù)的理念,區(qū)別之處在于技術(shù)的實現(xiàn)。
C/S[5](Client/Server)結(jié)構(gòu)即客戶機(jī)及服務(wù)器結(jié)構(gòu),此結(jié)構(gòu)把數(shù)據(jù)庫內(nèi)容放在遠(yuǎn)程的服務(wù)器上,而在客戶機(jī)上安裝相應(yīng)軟件。通過將任務(wù)合理分配到Client端和Server端,充分利用兩端硬件環(huán)境的優(yōu)勢,降低系統(tǒng)的通訊開銷。
B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,它是對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶僅需安裝瀏覽器,用戶界面完全通過www瀏覽器來實現(xiàn),一部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成三層結(jié)構(gòu)。
B/S模式無需像C/S模式那樣在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。對于系統(tǒng)的開發(fā)者來說,他們無須再為不同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序,只需把所有的功能都實現(xiàn)在Web服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。各個用戶通過HTTP請求在權(quán)限范圍內(nèi)調(diào)用Web服務(wù)器上不同處理程序,從而完成對數(shù)據(jù)的查詢或修改。相對于C/S,B/S的維護(hù)具有更大的靈活性。當(dāng)形勢變化時,它無須再為每一個現(xiàn)有的客戶應(yīng)用程序升級,而只需對Web服務(wù)器上的服務(wù)處理程序進(jìn)行修訂。這樣不但可以提高單位的運作效率,還省去了維護(hù)時協(xié)調(diào)工作的不少麻煩。對于擁有上千臺客戶機(jī),并且分布在不同的地點的大型單位,便于維護(hù)將會顯得更加重要。由于B/S架構(gòu)的軟件只需管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。另外,采用B/S模式時,由于客戶端只是一個簡單易用的瀏覽器軟件,無論是決策層還是操作層的人員都無需培訓(xùn),就可以直接使用。
3渣土車管理系統(tǒng)舉報平臺的設(shè)計
3.1渣土車管理系統(tǒng)舉報流程
用戶可匿名登錄到系統(tǒng)并填寫舉報信息,完成后系統(tǒng)會自動分配一個編號,用戶下次繼續(xù)匿名登錄可以按照此編號進(jìn)行舉報信息處理結(jié)果的查詢。后臺工作人員看到用戶舉報信息后,及時進(jìn)行任務(wù)分配,根據(jù)舉報的時間,違法地點,舉報內(nèi)容將舉報信息分配給對應(yīng)的交警或者城管部門進(jìn)行處理。如圖1所示。
3.2系統(tǒng)的架構(gòu)
本系統(tǒng)時采用B/S三層架構(gòu)進(jìn)行設(shè)計,它的工作原理[6]如圖2所示。所有用戶面對用戶界面層,然后通過統(tǒng)一的接口向業(yè)務(wù)邏輯層發(fā)送請求,業(yè)務(wù)邏輯層按邏輯規(guī)則在請求處理之后進(jìn)行數(shù)據(jù)庫操作,隨后再將數(shù)據(jù)庫返回的數(shù)據(jù)返回給用戶界面層。這樣,用戶界面與數(shù)據(jù)庫存儲相互獨立,這種方式增加了數(shù)據(jù)庫的安全性,同時也降低了對用戶界面層的開發(fā)要求。
3.3數(shù)據(jù)庫設(shè)計
數(shù)據(jù)庫是整個系統(tǒng)數(shù)據(jù)的核心,它為一個或多個中間層服務(wù)器提供數(shù)據(jù)。本系統(tǒng)的數(shù)據(jù)庫設(shè)計遵循軟件工程的要求,對數(shù)據(jù)庫進(jìn)行設(shè)計。數(shù)據(jù)庫關(guān)系圖如圖3所示。
本系統(tǒng)中主要到了4個數(shù)據(jù)表,每個表的功能如下:
1)user_report表:記錄用戶舉報信息,其主鍵為“user_id”;
2)user_queries表:記錄用戶通過前次舉報信息后的查詢信息;
3)information_distribution表:記錄經(jīng)舉報后信息的分配;
4)information_processing表:記錄舉報信息處理的結(jié)果。
3渣土車管理系統(tǒng)舉報平臺的實現(xiàn)
本系統(tǒng)主要包括以下四個模塊:
1)用戶舉報模塊
用戶可匿名登錄到系統(tǒng),然后通過登記自己的姓名,電話,舉報的車輛牌照,舉報的車輛類型,所發(fā)生情況類型和內(nèi)容,以及違法時間和圖片(1張,JPG或者GIF格式) 進(jìn)行車輛舉報,舉報信息填寫完成后系統(tǒng)會自動分配一個編號,用戶下次繼續(xù)匿名登錄可以按照此編號進(jìn)行舉報信息處理結(jié)果的查詢。如圖4 用戶舉報窗口。
2)用戶查詢模塊
用戶匿名登錄后,通過前次舉報信息后系統(tǒng)分配給他的編號,可以查詢此信息的處理結(jié)果。如圖5用戶查詢窗口。3)舉報信息分配模塊
后臺工作人員看到用戶舉報信息后,及時進(jìn)行任務(wù)分配,根據(jù)舉報的時間,違法地點,舉報內(nèi)容將舉報信息分配給對應(yīng)的交警或者城管部門進(jìn)行處理。如圖6舉報信息分配窗口。
4)舉報信息處理模塊
交警或城管部門處理人員登錄系統(tǒng)后,可以查看當(dāng)前分配給自己需要進(jìn)行處理的工作任務(wù),進(jìn)行處理,并將處理結(jié)果填入系統(tǒng),有些需要其他部門持續(xù)處理的,可以提交回分配模塊,由工作人員繼續(xù)分配處理。
本平臺邏輯層實現(xiàn)的核心代碼:
//獲取一個新的隨機(jī)ID
Guid ContentId = Guid.NewGuid();
//根據(jù)日期生成一個當(dāng)前日期時間的字符串,用于作為用戶查詢ID
String ContentCode =DateTime.Now.ToString(\"yyyyMMddhhmmss\");// GenerateIntID(ContentId).ToString();
DateTime StartDateTime;
StartDateTime = DateTime.Now;
//日期時間解析
DateTime.TryParse(TextBox_StartDateTime.Text, out StartDateTime);
StartDateTime.AddHours(DropDownList_HH.SelectedIndex);
StartDateTime.AddMinutes(DropDownList_MM.SelectedIndex * 5);
//調(diào)用業(yè)務(wù)邏輯類的靜態(tài)方法bc_Contents_Utilities.Insert 插入數(shù)據(jù)
PMS.DAL.SQLServer.DB.bc_Contents_Utilities.Insert(ContentId, Guid.Empty, ContentCode, DateTime.Now, PMS.BAL.ACL.UserName, Guid.Empty, TextBox_ContentText.Text.Trim(), 1, TextBox_Contact.Text.Trim(), TextBox_ContactPhoneNumber.Text.Trim(), TextBox_LicensePlateNumber.Text.Trim(), DropDownList_CLType.SelectedValue.ToString(), StartDateTime);
//根據(jù)剛插入數(shù)據(jù)的ID保存用戶上傳的圖片SaveImages(ContentId);
//指向保存成功頁面Page.Response.Redirect(\"NewContent2.aspx?C=\" + Wuid.Encode(ContentId));//return 0;
4結(jié)束語
本渣土車管理系統(tǒng)舉報平臺解決了原有群眾舉報渣土車違規(guī),需要通過電話方式報告相關(guān)部門,不容易說明當(dāng)時情況,也不便于群眾及時了解處理結(jié)果的問題,同時也解決了舉報信息的分配問題、關(guān)聯(lián)模塊數(shù)據(jù)重復(fù)輸入效率低等問題。比較其他的車輛軟件來說,本平臺的設(shè)計思想體現(xiàn)了查詢的直觀性,從人性化理念出發(fā),操作的簡單高效,不僅方便了交警準(zhǔn)確的監(jiān)控車輛行駛信息,而且為群眾提供快捷的服務(wù)。
參考文獻(xiàn)
[1]馬少波. 基于WebGIS的車輛管理系統(tǒng)研究與實現(xiàn)[D].陜西:長安大學(xué),2011
[2]Microsoft.NET Framework Conceptual Overview[EB/OL]. httP://msdn.microsoft.com/enus/library/zw4w595w(v=VS.IOO).aspx,2009.
[3]Microsoft.ASP.NET Overview [EB/OL]. httP://msdn.mierosoft.com/enus/library/4w3ex9c2.aspx?TPSecNotice,2009.
[4]李曉.基于ASP技術(shù)的Web數(shù)據(jù)庫訪問[J].中國科技信息,2005,(15):23-28.
[5]Thakkar S,Knobloek CA, Ambite JL,ShahabiC,Dynamically composing Web serviees from on-line sources,[J]In:Proc.of the 2002 AAAI Workshop on Intelligent Service Integration,2002:40-44.
[6]李惠林,謝慶生,殷國富,等.面向APS平臺的網(wǎng)絡(luò)化制造資源應(yīng)用服務(wù)研究[J].貴州工業(yè)大學(xué)學(xué)報,2004,(5):241-246.