史海鋒
(浙江省防雷中心,浙江 杭州 310017)
B/S架構下防雷減災信息管理系統的設計和實現
史海鋒
(浙江省防雷中心,浙江 杭州 310017)
主要針對在B/S架構下防雷減災信息管理系統的功能設計、數據組織和關鍵問題等進行了介紹。提出了以區縣為基礎、上級可以查看下級的數據組織模式,以業務內網為基礎,內外網同時訪問的數據的訪問與操作方式,實現對省市縣3級防雷減災信息的一體化管理。系統業務運行表明,能較好地規范全省防雷業務工作,能有效強化防雷工作的監管和管理,極大的提高了業務流轉效率。
B/S;防雷;信息管理系統
隨著防雷減災事業的不斷推進和發展,防雷減災工作已然從原先單一的檢測工作發展到雷電監測預警、雷擊風險評估、防雷技術評價、防雷跟蹤檢測、防雷定期檢測、雷電災害調查等多項業務形式,服務領域涉及到社會各行各業,工作內容涵蓋公共服務、行政管理和技術服務3個業務層面。為了加強和規范防雷減災工作,提高業務服務效率,強化服務監督和管理,各省市或者高校都研究和開發各種不同的防雷業務信息管理系統[1-6]。但大多只考慮本單位或者本轄區,很少有考慮省市縣一體化模式下防雷信息管理。考慮全省不同單位部門的工作環境和B/S架構系統的優越性[7-9],我們設計和建設了基于B/S架構的防雷減災信息管理平臺,以滿足省市縣3級日常防雷業務辦公和管理的需求,實現防雷信息的共享和聯動,提高工作效率。本文接下來將就系統功能結構、數據組織管理以及相關關鍵技術問題進行了介紹和研究。
1.1 系統環境
系統網絡環境以氣象內網為依托,針對不同用戶類型和用戶需求,系統物理架構設計采用內外網(氣象內網和互聯網)Web服務器分離的模式。內網上以一臺高性能的服務器作為數據庫服務器,兩個不同Web服務器訪問共同的數據庫服務器,不同的用戶通過各自的Web服務器最終對共同的數據庫進行數據的訪問與操作(如圖1)。這樣不僅可以滿足不同用戶需求,同時也能保證數據安全。

圖1 系統網絡結構
系統應用服務器操作系統采用Windows Server 2008,數據庫采用Oracle 11G存放,Oracle數據庫系統是美國ORACLE公司提供的以分布式數據庫為核心的一組軟件產品,其主要的特性如:海量數據管理、高級保密機制、高級備份和恢復的工具、開放式連接。系統報告的自動編制采用Microsoft Office Word 2010,Microsoft Office提供了一整套的應用開發接口Microsoft.Office.Core,系統通過對Application對象的操作實現對Word文檔的操作,從而實現報告自動生成與編制。
1.2 系統架構
系統采用B/S(Browser/Server)結構即瀏覽器和服務器結構,B/S架構下用戶工作界面是通過Browser瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂3層(3-tier)結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。
3層體系結構:第一層為表現層,也叫用戶界面層,用于接受請求和進行數據顯示;第二層為業務層,包括Web服務器、應用服務器以及GIS服務器,負責邏輯業務處理過程;第3層為數據層,包括屬性數據庫和空間數據庫。
1.3 開發平臺
系統采用asp.net作為系統的開發設計平臺。.NET是Microsoft公司于2002年推出的一個產品,也是下一代的網絡應用基礎。這種平臺下,可以充分利用ASP.NET和ADO.NET中的新特性和XML技術,在業務邏輯和數據訪問中,利用類將其進行封裝,再通過ADO.NET對數據庫進行操作時,利用存儲過程等可以高效地實現系統對數據訪問,因此尤其適合架構基于XML技術和B/S架構的系統。
1.4 功能結構
整個系統由5大模塊組成(如圖2),分別為公共服務模塊、防雷管理模塊、技術服務模塊、系統管理模塊和個人中心模塊。5大模塊自成一套體系,但同時又相互關聯和數據交互。

圖2 系統功能結構組成
其中公共服務模塊主要針對雷電公共服務對象,包括雷電監測和雷電預警;防雷管理模塊主要側重防雷行政管理對象,包含防雷行政審批和竣工驗收、防雷定期檢測單位管理、信息統計分析等;技術服務模塊主要側重防雷技術服務對象,包含雷電災害風險評估、防雷設計技術評價、防雷工程跟蹤竣工檢測、防雷定期安全檢測、雷電災害調查與鑒定以及技術服務客戶回訪等;系統管理模塊主要針對系統維護對象,主要包含收費標準管理、人員權限管理、行政區域管理、使用單位管理等;個人中心模塊主要針對使用者,包含郵件收費系統以及個人信息修改等。
2.1 數據組織和數據庫
系統采用分布式數據庫,系統數據庫包括基礎地理信息數據庫、雷電公共服務數據庫,防雷行政管理數據庫,防雷技術服務數據庫。其中基礎地理信息數據庫、雷電公共服務數據庫統一建在省級數據庫服務器上,防雷行政管理數據庫和防雷技術服務數據庫則建立在市級數據庫服務器上,縣級不單獨建數據庫,數據集中統一在市級數據庫上存放。
1)基礎地理信息數據庫:存儲包含行政區劃、流域水系、山峰以及地形等基礎地理信息數據。
2)雷電公共服務數據庫:存儲雷電監測產品、雷電預警預報等數據。
3)防雷行政管理數據庫:存儲防雷行政審批數據。
4)防雷技術服務數據庫:存儲雷電災害風險評估、防雷技術評價、防雷跟蹤檢測、防雷定期檢測、雷電災害調查、防雷定期檢測單位等數據。
同時防雷行政管理數據庫和防雷技術服務數據庫通過關鍵字段項目關聯,從而能保障一個防雷建設項目信息能實現從行政許可到圖紙審核、從圖紙審核到竣工驗收等各環節的查詢分析,從而保障項目的連續性和一致性管理。
系統防雷減災項目數據的組織管理采用省市縣3級區域管理,以區縣為基礎區域,市級可以查看區縣級,省級可以查看市級和區縣級,這樣就可以保障全省防雷減災項目的省市縣3級管理和信息共享(如圖3)。

圖3 省市縣3級業務邏輯圖
2.2 系統安全及管理
為保障系統安全,采用多種介質對數據進行備份。對于一次大范圍更新的數據,采用光盤刻錄的方法進行備份,對于日常運行中的數據,則采用每天進行自動備份,包括文件和數據庫的備份,以便在遭到破壞后能夠及時恢復。
同時用戶登錄采用用戶口令、用戶身份和驗證碼檢驗進行用戶安全認證。用戶權限管理采用區域權限、單位權限以及3級功能操作權限管理。
區域權限:每個用戶屬于不同的區域,其權限也就只能操作本區域內的項目;
單位權限:每個用戶屬于不同的單位,其權限也就只能操作本單位內的項目;
3級功能權限:包括頂級菜單權限、次級菜單權限和具體功能權限3級;
3種權限管理保障每個用戶只能操作本單位、本區域有功能操作權限的項目,這樣保障了項目運轉和數據的安全。
3.1 基于Word Application技術的報告自動生成
系統報告文書的自動生成通過調用Word Application相關對象和方法進行。Microsoft Word現在已經完全的集成到 Visual Studio集成開發環境(IDE)當中,使得開發人員能夠更容易的使用托管控件來擴展 Office 解決方案,并為開發人員帶來了更加直觀的設計、開發和調試體驗。定制解決方案更加方便裁減Word的功能來滿足各種應用中的不同需求。改進代碼編輯能力,更加節省時間 使用 Visual Studio代碼編輯器能夠自動發現代碼錯誤、給出修改建議并能夠改正通常的編程錯誤。
Word 的Application 對象表示整個應用程序,每個 Document 對象表示單個 Word 文檔,Paragraph 對象對應于單個段,以此類推。這些對象各自都有很多方法和屬性,您可以使用這些方法和屬性操作對象或與對象交互。Application對象包含 Document、Selection、Bookmark 和 Range 對象。
系統對Word模板的操作全部封裝到WordAppService類中,WordAppService類建立了報告創建CreateWord、報告Word格式保存SaveFile和Html格式保存SaveHtml等基本函數,同時也建立包含項目受理單生成、收費審核表生成、檢測報告和評價意見文書生成等專門函數。在每個函數中通過調用Word Application相關對象和方法進行文檔的后臺操作和生成。
Private void CreateWord(String filepath)
{ oWord = new Microsoft.Office.Interop.Word.Application(); oWord.Visible = false; object fileName = filepath; oDoc = oWord.Documents.Add(ref fileName, ref oMissing, ref oMissing, ref oMissing); }
Private void SaveFile(String filepath)
{ filepath = filepath + ".doc"; object fileName = filepath; object password = DateTime.Today.DayOfYear.ToString(); Microsoft.Office.Interop.Word.WdSaveFormat format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatDocument;
object f = format;
oDoc.SaveAs(ref fileName, ref f, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
oWord.Quit(ref oMissing, ref oMissing, ref oMissing); }
Private void SaveHtml(String filepath)
{ filepath = filepath + ".html"; object fileName = filepath; object password = "0"; Microsoft.Office.Interop.Word.WdSaveFormat format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML;
object f = format;
oDoc.SaveAs(ref fileName, ref f, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
oDoc.Close(ref oMissing, ref oMissing, ref oMissing);
oWord.Quit(ref oMissing, ref oMissing, ref oMissing); }
3.2 基于多條件的信息統計分析
系統建立了區域統計、結構統計、月趨勢分析、年趨勢分析和行業分析5類統計手段,每類統計工具下可以統計對象、項目類別、統計時間、統計區域以及行業類別等條件設置進行統計分析,同時直接統計分析得到同比和環比信息。這樣基于多種統計手段和多種條件下的統計分析,使得防雷減災信息的統計分析更加細致,可以很好掌控各地區和各行業不同時間段、不同類別項目的開展情況。
防雷減災信息管理系統自2013年投入業務試運行,2014年開始在全省6地市和省防雷中心全面正式投入業務運行,2014年通過系統辦理防雷業務項目近6000個。運行以來滿足了省、市、縣3級防雷業務和管理的需求,實現了省市縣3級用戶不同網絡環境下的工作要求,規范了防雷業務程序,提高了防雷業務服務效率,強化了對防雷工作的監督和管理。同時具備良好的數據備份管理的功能和系統安全功能,使得不同權限用戶各司其職,總體效果良好。
由于現有的開發人員的技術問題和時間問題,本系統暫時沒有引入電子簽名和電子公章系統,待系統再一步運行穩定后將考慮引入,這樣將可以進一步豐富系統功能,提高工作效率。
[1] 朱宇.防雷業務綜合管理系統設計與實現[D].大連理工大學,2009
[2] 王業斌.防雷業務管理信息系統的研究與實現[D].合肥工業大學,2010.
[3] 王華,李丹,王偉,等.防雷業務綜合管理系統[J].氣象與環境學報,2009(6):49-51.
[4] 吳海,潘家利.海南省防雷業務管理系統[J].氣象研究與應用,2008(4):48-49.
[5] 王國斌,石俊峰,郭奎英,等.鶴壁市防雷業務管理系統[J].河南氣象,2003(4):41-42.
[6] 戴嵐嵐,林雨人,郭宏博.基于B/S架構的防雷業務信息管理系統設計與應用[J].廣東氣象,2010(3):69-72.
[7] 陳輝,王守忠,杜成林,等.基于B/S架構的氣象科技管理信息系統[J].氣象科技,2005,33(S1):166-168.
[8] 趙鐵松,王曉云,李偉,等.基于B/S架構和開源WebGIS平臺的氣象觀測站網可視化系統[J].氣象科技,2013(1):57-61.
[9] 趙遠東,吳嫻.基于B/S架構的科技項目評估管理系統[J].南京信息工程大學學報(自然科學版),2011(1):78-83.
2014-01-14