?

基于Web的CSNS控制線纜信息管理系統研制

2014-03-20 08:21呂慧慧王春紅李洛峰劉正同雷碧峰
原子能科學技術 2014年3期
關鍵詞:線纜完整性數據庫

呂慧慧,王春紅,李洛峰,劉正同,雷碧峰

(中國科學院 高能物理研究所,北京 100049)

一個大型加速器裝置需要成千上萬個設備協同工作。在加速器控制系統中,控制設備(如VME、PLC、嵌入式串口設備、網絡交換機等)種類各異,控制信號數目繁多,現場的線纜連接更是錯綜復雜,這給設備的安裝和維護帶來了很大困難。在國際加速器控制領域,雖然有關系數據庫模型IRMIS(Integrated Relational Model of Installed Systems),但 功 能 并 不 完備,只有少數幾個圖形用戶界面,而且數據庫表的關系復雜,表的數據繁多,包含很多CSNS不需要的信息,因此不宜直接使用。本文借鑒IRMIS的數據庫設計思想,并結合CSNS的控制線纜信息需求,設計符合CSNS實際情況的線纜數據庫模型,在此基礎上建立CSNS控制線纜信息管理系統,實現控制信號和控制線纜的關聯查詢功能,以方便將來在線查找設備、定位線纜等管理和維護工作。

1 IRMIS介紹

IRMIS是由APS、SLAC 等多個加速器實驗室聯合開發的關系數據庫模型以及相關的應用程序,用于管理基于EPICS控制系統的大型加速器裝置。在它的數據庫中,囊括了加速器所有的實時數據、控制系統硬件以及它們之間的關系信息。它不僅包含設備之間的物理關系、邏輯關系,而且包含實時數據(PV)與設備之間的映射關系。所以通過觀察異常的PV值,即可確定可能出現故障的設備。在實際應用中,用戶利用IRMIS系統開發自己的應用程序。為了方便用戶使用,IRMIS 系統提供了Service API來訪問數據庫。對于少數數據庫表,它提供了簡單的腳本和PHP 頁面與數據庫交互,簡化了操作,但并未開發面向全局數據庫的用戶交互頁面[1]。

2 控制線纜數據庫設計

MySQL 關系數據庫是快速、功能強大且價格低廉的應用于網絡的數據庫。它是開放源代碼的數據庫產品,性能高、可靠性好,且可跨平臺開發和運行,是當今最流行的開源數據庫。因此,本系統使用MySQL進行數據庫的開發。

2.1 設計步驟

本系統數據庫設計分為以下4個階段:需求分析、概念結構設計、邏輯結構設計和物理實現。

1)需求分析

需求分析是數據庫設計的第一階段,也是非常重要的一個階段。經過對控制線纜的調研以及與各系統工作人員的交流討論,了解用戶對系統的功能要求,將其合理化、系統化、規格化,并反映在實際的系統設計中。

2)概念結構設計

概念結構設計是在需求分析的基礎上,設計能滿足用戶需求的各種實體,以及反映它們之間的關系,為后續邏輯結構設計打下基礎。一個良好的數據庫模型既能包含用戶所需的全部信息,又占用最少的空間。

根據需求分析,在CSNS的控制線纜數據庫中,有控制設備和被控設備、線纜、信號、系統等信息,且設備與線纜、信號與線纜有著多對一(一對多)或一對一的關系。在數據庫表中,要將這種關系明確地表示出來。在本系統中,將一些共有的信息(如線纜類型)提取出來形成單獨的數據庫表,減少了信息的冗余度,節省了存儲空間;通過設置外鍵,將設備與連接到設備上的線纜聯系起來,從而實現關聯查詢。通過不斷地分離與整合,表與表之間相互關聯,最終形成一個關系網絡。數據庫模型如圖1所示。

3)邏輯結構設計與物理實現

在上述控制線纜數據庫關系模型基礎上,使用ORM 框架——Hibernate,將上述關系模型映射到MySQL數據庫中。

2.2 設計原則

1)表的規范化

在CSNS控制線纜數據庫設計過程中,規范化是一個很重要的設計原則。對于數據規模較小的數據庫,可輕松地處理表的結構。然而,隨著項目規模的不斷增長,關系模型表結構更為復雜。如果表結構定義不合理,則會發生插入、刪除、更新操作異常,造成數據的不完整。

數據庫設計所需滿足的規范就是范式(NF),滿足這些規范的數據庫是簡潔的、結構明晰的,按從低到高有6 種不同級別的范式。第1范式(1NF):數據庫表中的字段都是單一屬性的,不可再分。第2范式(2NF):滿足1NF的所有要求,且數據庫表中不存在非關鍵字段對任一候選關鍵字段的部分函數依賴。第3范式(3NF):滿足2NF 的所有要求,且數據庫表中不存在非關鍵字段對任一候選關鍵字段的傳遞函數依賴[2]。第4~6范式要求較為苛刻,在實際應用中較少見。CSNS控制線纜數據庫按3NF的標準進行設計。但根據工程的實際情況,為了效率的緣故,對某些表不進行規范化有時也是必要的。在本系統數據庫中,為了提高查詢速度,對頻繁查詢的表設計了冗余字段;對頻繁查詢的關聯表,通過設計冗余字段,將表與表之間一對多的關系改為一對一的關系。

圖1 控制線纜數據庫關系模型Fig.1 Relation model of control cable database

2)鍵的設計

主鍵和外鍵用來將多個表組織成1個有效的關系型數據庫。鍵的設置對數據庫的性能有著決定性的影響,一般參考4個原則:(1)為關鍵字段創建外鍵;(2)所有的鍵都必須唯一;(3)避免使用復合鍵;(4)外鍵總是關聯唯一的鍵字段。

采用系統生成的鍵作為主鍵,從而保證了數據庫索引的完整性。這樣,數據庫和非人工機制就有效地控制了對存儲數據中每一行的訪問。在本系統數據庫的設計中,采用自增方式產生主鍵,未使用復合鍵。

3)完整性設計

數據庫完整性是指數據庫中數據的正確性和相容性,數據庫完整性由各種完整性約束來保證,數據庫完整性約束可通過DBMS(數據庫管理系統)或應用程序來實現。CSNS 控制線纜數據庫從以下幾方面進行數據庫完整性約束:(1)采用DBMS實現的數據庫完整性不但包括通過標準化實現的完整性,而且還包括數據的功能性。在本系統數據庫的設計中,通過外鍵的級聯約束來實現。(2)在有害數據進入數據庫之前將其剔除,激活數據庫系統的指示完整性特性。(3)使用查找控制數據完整性:限制用戶的選擇,只要有可能就提供給用戶一個清晰的價值列表供其選擇。這樣既可減少鍵入代碼的錯誤和誤解,同時提供數據的一致性。

為了同時兼顧數據庫的完整性和系統的性能,在批量導入數據時,臨時使數據庫完整性約束失效,此后再使其生效,既不影響數據裝載的效率又能保證數據庫的完整性。

3 基于Web的控制線纜信息管理系統設計

一個良好的信息管理系統的實現是體現數據庫設計的價值所在。它是用戶和數據庫之間溝通的橋梁,一方面要將數據庫的數據直觀、準確地呈現給用戶,另一方面將用戶輸入的數據轉化為數據庫能接受的方式存入數據庫。

本系統采用B/S 模式進行開發。B/S 體系結構具有成本低、跨平臺、易維護、開放性好等優點。B/S 結構由瀏覽器、Web 服務器、數據庫服務器3 個層次組成。在這種體系結構下,客戶端使用一個通用的瀏覽器,代替各種應用軟件,用戶的操作均通過瀏覽器進行。結構的核心部分是Web服務器,它負責接收遠程的HTTP請求,然后利用JDBC 連接到數據庫服務器,并將結果翻譯成HTML、JSON 等語言,傳送回瀏覽器[3]。

系統架構如圖2所示,其中包括服務器端設計和客戶端設計??蛻舳酥饕荳eb頁面的設計,系統采用AJAX 技術,實現了網頁異步更新,從而獲得了更快捷的響應速度。服務器端處理業務邏輯,為前端頁面提供強大的邏輯支持,主要是Servlet的編寫,一個網頁可能需幾個甚至十幾個Servlet的支持。Web應用服務器使用免費開源的Tomcat,因為它運行時占用的系統資源小、擴展性好、支持負載平衡。

圖2 系統架構Fig.2 System structure

線纜信息通過Web 頁面傳遞到Servlet中,由Servlet進行處理,然后保存到已建立的MySQL 數據庫中。網頁設計綜合采用了HTML、CSS、JavaScript、ext等技術,力求呈現給用戶一個形象、直觀、豐富的界面;Servlet使用純Java編寫,從而使系統可跨平臺運行;數據庫操作使用Hibernate,使開發更加對象化。整個系統的開發在MyEclipse平臺下進行,包括Web頁面設計,Java程序、Servlet的編寫。

4 系統功能

4.1 權限控制

權限控制是保證數據一致性的重要手段。在本系統中,登陸時要進行身份驗證。管理員擁有所有權限,包括對數據庫的增、刪、改、查;普通用戶僅有查詢的功能。

4.2 錄入功能

系統同時提供批量保存和手動輸入功能。對于批量數據,只要上傳指定格式的Excel表格,即可將信息一次性錄入到數據庫中。在此,關鍵是對數據分類以及重復數據的處理,因為系統控制人員會將所有信息匯總到一個Excel文件中,此文件與數據庫表并不是一對一的關系。要將此表格中的數據映射到不同的數據庫表中,并且要在數據庫中反映它們之間的關系信息。對于其中的重復數據,程序要進行判斷,保證數據的一致性、唯一性。

4.3 查詢以及修改、刪除功能

針對不同系統工作人員的信息需求,對設備及線纜信息按系統進行分類,如圖3所示。對于每個系統,還可按設備在控制系統中的作用進一步分類。整體采用級聯顯示的功能,按控制設備(被控設備)-線纜-被控設備(控制設備)的順序依次呈現給用戶,其中設備信息可細化到設備上的模塊以及模塊上的端子排。因此,工作人員可查看連接到某個設備上的所有線纜以及這些線纜的具體連接端子位置。如果出現故障,可迅速定位錯誤根源,及時維修或更換設備。

圖3 線纜信息管理界面Fig.3 Interface of cable information management

在此頁面上,系統管理員可對已有的信息進行刪除、修改操作。刪除功能通過每個表格上方的delete按鈕實現;雙擊任意一行數據,可進行修改操作。

5 系統測試

5.1 測試條件

本測試在HP Z800 的工作站上進行,Win7 64 位操作系統,內存12G,數據庫使用MySQL Server 5.1,數據庫和Web 服務部署在同一機器上。

5.2 測試結果

Web服務啟動時的資源占用情況示于圖4。從圖4 可看出,在CSNS 控制線纜信息管理系統啟動時,占用的系統資源會出現1個高峰,系統穩定運行后,占用的資源穩定在較低的水平。

圖4 Web服務啟動時的資源占用情況Fig.4 Resource occupation in start of service

使用Apache的壓測工具ab模擬1 000個用戶同時發送10個請求,得到的測試結果如下:每秒事物數,1 456.87;平均事物響應時間,521.875ms;平均每秒網絡上的流量,365.64bytes。

由此可看出,本系統響應迅速、占用的網絡流量低,這也是采用Ajax技術的優勢所在。

6 結語

本文介紹了基于Web的CSNS控制線纜信息管理系統,該系統為控制設備維護人員提供了在線查詢控制設備及線纜信息的功能。該系統關鍵在于將設備之間的關系通過線纜聯系起來,從而實現關聯查詢,為相關系統工作人員將來管理和維護CSNS的控制設備和線纜提供了極大的便利。

[1] DOHAN D.Component/connection/signal modeling of accelerator systems[C]∥Proceedings of Particle Accelerator Conference.Knoxville,Tennessee:[s.n.],2005:707-709.

[2] 惠燕,潘煜,徐光輝.數據庫設計范式[J].現代電子技術,2003,26(24):107-108.HUI Yan,PAN Yu,XU Guanghui.Design formula of data base[J].Modern Electronics Technique,2003,26(24):107-108(in Chinese).

[3] 郝玉龍,姜韋華.J2EE 編程技術[M].北京:清華大學出版社,2005:98-106.

猜你喜歡
線纜完整性數據庫
石油化工企業設備完整性管理
上海福爾欣線纜有限公司
莫斷音動聽 且惜意傳情——論音樂作品“完整性欣賞”的意義
數據庫
數據庫
彈上線纜布設技術研究
精子DNA完整性損傷的發生機制及診斷治療
數據庫
數據庫
華通線纜:“通”向未來的品牌夢
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合