鄭慧君


摘 要: 運維管理平臺能夠提高運維效率,規范運維管理行為,為企業提供更為優質的服務。基于某企業的實際運維管理需求,設計并實現了一個運維管理平臺。系統采用B/S結構,選擇VS2010和SQL server 2008開發工具。詳細地論述了系統的功能,采用擴展三層體系結構對系統進行了軟件結構設計,并通過CURD操作對三層結構的代碼進行優化。系統通過測試后運行良好,具有較好的穩定性和可擴展性。
關鍵詞: 運維管理; 三層結構; 權限管理; 系統設計
中圖分類號:TP391 文獻標志碼:A 文章編號:1006-8228(2017)04-50-04
Abstract: Operation management platform can improve the operation efficiency, standardize operation management behavior, and provide better services for enterprises. Based off the operation management needs of an enterprise, an operation management platform is designed and realized. The system uses B/S structure, select VS2010 and server SQL 2008 as the development tools. The system functions is discussed in detail, the extended three-tier architecture is used to design the software structure of the system, and the code of three-tier architecture is optimized through the integration of CURD operations. After testing, the system runs well and has good stability and expansibility.
Key words: operation management; three-tier architecture; authority management; system design
0 引言
隨著IT技術的不斷發展,企業規模的不斷擴大,硬件環境和軟件環境日益復雜,對硬件和軟件系統的依賴性也越來越強,IT風險也越來越大,給企業運維管理人員帶來了極大的壓力[1]。傳統的運維管理完全依靠手工方式對大量的硬件、軟件系統進行監控與管理,實時性差,無法保證各種硬件和軟件的正常運行,無法保證企業硬件、軟件和網絡環境的穩定性,無法采集設備的狀態信息,無法進行故障預警、跟蹤和快速處理[2-3]。為了規范IT運維管理方法、提高運維服務質量,國內的一些大型企業引入了ITIL、ISO/IEC20000等IT服務管理方法和標準理論,使管理有章可循,降低IT風險[4]。
目前,一些大型軟件開發企業也進行了運維管理平臺的開發,但是還沒有形成統一的標準[5]。運維管理平臺主要以“IT業務模型”和“運維管理需求”兩個核心進行開發,有機的整合了企業的各種IT基礎設施如:網絡設備、計算機硬件、軟件系統等,能夠對運行的設備或系統進行實時監控并以日志的形式記錄系統故障,以短信或其他方式通知相關維護人員,縮短故障恢復時間,降低IT風險,提高服務質量[6]。大多數運維管理平臺采用B/S架構,只需進行服務器端的部署,使用簡單,便于操作,并內置了多種運維管理輔助模塊,如各種運維流程管理、可視化的圖文報表等[7-8]。本文以某企業的實際運維需求出發,利用Visual Studio 2010平臺和SQL Server 2008數據庫軟件,采用三層體系結構設計了一個運維服務平臺。
1 系統功能設計
通過對某企業進行需求調研,分析企業運維管理系統主要包括:運維流程管理、運維護知識庫管理、用戶資源管理及基礎數據管理等四大功能模塊。系統功能模塊如圖1所示。
⑴ 基礎數據管理
基礎數據管理主要是系統中原始數據的維護,包括設備、故障原因、設備類型、子系統和節點等信息的管理。
⑵ 運維知識庫管理
知識庫管理主要包括對設備資料的管理,運維標準管理、應急預案管理以及知識庫管理。這幾種類型的管理主要是文檔的管理,都有內容描述,解決方案,以及附件等,直接單一模塊化實現,通過type區分各個類型。主要包括增加文檔,更新文檔,刪除文檔,查詢文件的功能。
⑶ 運維流程管理
運維流程管理是系統的核心模塊,包括運維計劃管理、故障維修管理以及統計匯總管理。運維計劃是一個創建計劃到巡檢實施的過程,主要包括計劃和巡檢。運維故障維修管理是系統最核心的業務實施過程,也是一個企業、運維主管及維修人員相互交互的工作流程,從申報故障,到派工,維修,申請費用審批,最后總結并評價運維護人員的工作績效。
⑷ 用戶資源管理
用戶資源管理包括員工的信息管理、部門信息管理、運維制度管理、運維績效評估,以及系統角色權限管理等。管理員通過對用戶進行角色授權,實現系統的權限分配。
2 軟件體系結構
考慮到運維管理平臺的擴展性和迭代開發流程,在設計運維平臺時,后端采用當前最流行的三層架構進行設計,并結合ASP.NET成熟穩定而且迅速的開發技術擴展應用。前端網頁渲染和處理,采用jQuery技術、Json技術和DWZ框架進行實現[9-10]。圖2為該系統的軟件體系結構。
⑴ 客戶層
客戶層通常響應瀏覽器發來的Hmtl請求,或者Ajax發來的Xhr請求,交由ASP.NET容器進行處理(容器一般是IIS結構ASP.NET的一體化Web服務器)。
⑵ 過濾層
ASP.NET容器將請求傳遞到過濾層進行登錄驗證,或者權限判斷,驗證用戶請求的合法性,若不合法則返回錯誤結果,若合法則交由表示層的Aspx處理器或者Ashx處理器進行處理。
⑶ 表示層
對于普通的查詢請求,主要是由Aspx處理器進行解析,而對于增、刪、改及導入等特殊功能,則由Ashx處理器進行解析,解析器主要完成請求參數的驗證和構造業務環境的工作。
⑷ BLL業務處理層
請求處理器調用根據請求,調用BLL層的業務接口進行業務處理,如故障、計劃、巡檢等業務處理,或者知識庫、用戶等業務的處理,又或者一些數據統計匯總的處理,又或者是文件請求處理,報表打印的處理等。
⑸ DAL數據處理層
BLL層是大粒度的業務流程管理,業務的處理會對應到各個數據表的讀寫等操作,在進行適當的業務處理過程,BLL業務接口將調用DAL層一個或多個DAL模塊讀寫數據,如故障管理的業務功能可能會同時使用故障表的讀取,設備表的讀取。
⑹ 數據連接池
為了方便統一數據連接池的管理,對數據庫底層進行一層封裝,這樣在系DAL模塊讀寫數據的時候,一方面可以減少連接池或緩存的請求,另一方面可以設計統一的事務管理,保證數據庫的完整性。
ASP.NET是面向對象的開發技術,系統為每個基本數據實體設計了實體對象類,對數據庫進行一層ORM轉換,將基本數據數據映射成標準的對象結構,方便于整個系統API的調用。
3 系統關鍵技術實現
3.1 三層結構的實現
本文在軟件系統的開發過程中嘗試對三層架構的代碼進行優化處理,通過繼承機制以及泛型機制,將各個模塊通過CURD操作進行抽像統一處理,使各模塊之間水平上分層,垂直成為一個整體。
首先為DAL層定義一個BaseDal基類,整合所有的通用的數據庫CURD(Create、Update、Retrieve和Delete)操作,即增加、刪除、修改和查詢操作,同時包括批量更新,批量刪除以及特殊SQL語句的轉換等,底層數據庫由BaseDal進行控制并轉換成對象結果集。
其次為BLL層定義一個BaseBll基類,也將所有通用的業務操作,如增加,刪除,更新,分頁查詢等操作,在繼承處理上,采用泛型操作,每個子類繼承其父類,并指定具體的實體對象,從而實現對不同實體表的CURD操作。
當定義新的模塊,如增加Fault管理模塊時,則可以創建Fault實體對象,定義FaultDal類繼承BaseDal基類并設置泛型對象為Fault,同時定義FaultBll為繼承BaseBll基類,設置泛型對象為Fault,這樣系統將為FaultDal及FaultBll自動生成一系列針對User實體增刪改查的數據操作,一系列針對用戶的業務操作,并可以被表示層直接調用處理。
3.2 SQLHelper類的實現
SQLHelper類實現系統所有數據的操作,是系統對底層數據庫操作的接口,供DAL層調用,使用ADO.NET的SqlConnection類、Dataset類、SqlCommand類、SqlDataAdapter類、IDataParameter類進行SQLHelper類的封裝,實現執行SQL查詢和添加、刪除和修改操作,還可以執行查詢和增刪改存儲過程。以下為SQLHelper類的函數:
⑴ SQLHelper:構造函數讀取web.config文件中的數據庫連接語句;
⑵ GetDatasetBySQL:執行SQL查詢語句,返回數據集;
⑶ ExecuteNonQuery:執行增刪改SQL語句;
⑷ GetDatasetByProc:執行帶參數的查詢存儲過程;
⑸ ExeProc:執行帶參數的存儲過程。
由于以上函數的參數都是SQL語句或存儲過程名稱,跟具體的數據庫和表無關,因此SQLHelper類具有很好的通用性,可以一次編寫,多次使用。
4 結束語
本文詳細闡述基于某企業運維管理工作的需求,以ASP.NET和Web技術為支撐,進行了軟件工程的開發流程設計,實現了運維管理平臺。利用擴展的三層體系結構對系統進行了軟件體系結構設計,并利用CURD操作對三層結構進行了優化,以提高軟件的可擴展性。經過測試,項目運行效果較好。下一步將從運維管理工作的工作流優化,數據報告的挖掘和實現,系統開放接口的設計和實現,以及運維平臺的手機系統開發等方面著手開展研究工作。
參考文獻(References):
[1] 宋瑩,潘振祥,王志勇.政府部門外網運維管理研究[J].電子設計工程,2012.11(20):32-35
[2] 邢守志.企業運維服務管理系統在線告警子系統設計與實現.計算機與數字工程[J].2013:5(41)858-861
[3] 萬潤澤,張興艷,李亮.基于ITSS的故障智能診斷和處理系統的設計[J].計算機與數字工程,2014.1(42)145-149
[4] 文必龍,趙晶浩,張璇,趙滿.IT系統運維管理研究[J].計算機系統應用,2013.3(22):1-5
[5] 陳 林,崔 糖,袁德砦.基于Web的運維流程管理系統的設計與實現[J].計算機應用,2015.1(35):189-191
[6] 武佳寧.云計算環境下IT運維管理模式研究[J].信息技術,2015.8:51-53
[7] 周宇潔.大數據時代動環集中運維管理淺析[J].信息技術,2015.11:144-146
[8] 趙建華.數字化校園建設下大數據時代高效IT運維管理[J].長春師范大學學報,2015.34(12):47-49
[9] 馬麗,封蕾.基于MVC三層架構的美術資源庫的設計與實現[J].電子設計工程,2016.15(24)85-87
[10] 孟勛.MVC與三層結構技術的應用研究[J].軟件工程師,2013.9:23-25