《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 通信系统设备管理系统的分析和设计

通信系统设备管理系统的分析和设计

2008-12-15
作者:房晓斌

  摘 ? 要: 針對通信設(shè)備管理" title="設(shè)備管理">設(shè)備管理的具體需求,使用Microsoft SQL Server 2000關(guān)系數(shù)據(jù)庫管理系統(tǒng)" title="管理系統(tǒng)">管理系統(tǒng)設(shè)計客戶機/服務(wù)器模式的數(shù)據(jù)庫應(yīng)用程序。介紹了需求分析、關(guān)系數(shù)據(jù)庫、數(shù)據(jù)表格的設(shè)計和程序設(shè)計的過程。
  關(guān)鍵詞: 數(shù)據(jù)庫; 表格; 字段; 關(guān)鍵字; 外關(guān)鍵字

?

1 需求分析
  一個通信系統(tǒng)" title="通信系統(tǒng)">通信系統(tǒng)由許多設(shè)備組成,這些設(shè)備來自不同的廠家。而集中管理這些設(shè)備需要建設(shè)相應(yīng)的管理系統(tǒng)。設(shè)備管理系統(tǒng)是通信系統(tǒng)網(wǎng)管系統(tǒng)的一個重要的組成部分。
  在通用的應(yīng)用系統(tǒng)架構(gòu)中,大多采用瀏覽器/服務(wù)器模式(B/S" title="B/S">B/S模式)或者是客戶機/服務(wù)器模式(C/S模式)。這兩種模式相比較,B/S模式具有格式標(biāo)準(zhǔn)和兼容性強的優(yōu)點,但是服務(wù)器的處理任務(wù)較重;C/S模式的兼容性差,對客戶機的要求也比較高,要求客戶機和服務(wù)器共同承擔(dān)一部分處理任務(wù),但是卻能減輕服務(wù)器的工作負(fù)擔(dān),而且私密性比較好。

  鑒于通信系統(tǒng)的私密性,設(shè)備管理系統(tǒng)僅在通信系統(tǒng)內(nèi)部網(wǎng)絡(luò)中使用,筆者選擇采用客戶機/服務(wù)器模式。在服務(wù)器上運行數(shù)據(jù)庫管理程序,其任務(wù)是實現(xiàn)數(shù)據(jù)的存儲、組織、維護完整性、一致性以及隨時接受來自客戶機的數(shù)據(jù)請求;客戶機的任務(wù)是提供良好的用戶界面、格式化并顯示數(shù)據(jù)和其他的終端功能。
  根據(jù)需要,設(shè)備管理系統(tǒng)應(yīng)完成下述功能:①用戶管理:只有經(jīng)過授權(quán)的用戶才能夠查詢、修改、統(tǒng)計設(shè)備數(shù)據(jù);②使用日志:哪位用戶在何時做過何種操作,操作結(jié)果要有記錄;③瀏覽設(shè)備:能夠查看具體設(shè)備的數(shù)據(jù),如編號、狀態(tài)等;④修改設(shè)備數(shù)據(jù):能夠添加、修改、刪除設(shè)備數(shù)據(jù);⑤靈活的查詢方式:能夠按照設(shè)備的各種編號、名稱、生產(chǎn)商、狀態(tài)、所屬分系統(tǒng)等方式查詢;⑥統(tǒng)計功能:能夠按照設(shè)備的使用狀態(tài)生成報表。
2 設(shè)計原理、關(guān)鍵技術(shù)和設(shè)計方法
  按照面向?qū)ο缶幊痰乃枷?,從設(shè)備提供商的角度可以把設(shè)備的生產(chǎn)商定義為一類,從通信系統(tǒng)的角度可以把屬于某個分系統(tǒng)的設(shè)備定義為一類,從設(shè)備的使用情況又可以定義成一類,而每個具體的設(shè)備就是這個類的一個實例。這樣就可以定義出一件設(shè)備的具體屬性。這些屬性反映在數(shù)據(jù)庫中就是數(shù)據(jù)表格中的字段,反映在客戶端" title="客戶端">客戶端程序中就是這些類及這些類的實例。
  系統(tǒng)的設(shè)計原則是盡量減少服務(wù)器的工作量。服務(wù)器只負(fù)責(zé)數(shù)據(jù)庫的存儲和接收SNMP消息并分發(fā)到各個客戶端。這樣客戶端與服務(wù)器之間僅僅有ODBC聯(lián)接和SNMP的聯(lián)接??蛻舳顺绦?qū)⒂脩舻牟僮髡埱笊山Y(jié)構(gòu)化的查詢語句,并將查詢語句通過ODBC聯(lián)接發(fā)送給服務(wù)器;服務(wù)器收到查詢語句后執(zhí)行查詢操作,然后將查詢結(jié)果返回給客戶端的程序。服務(wù)器需要運行數(shù)據(jù)庫軟件,為了保持?jǐn)?shù)據(jù)的一致性需要編寫特定的存儲過程,還需要運行SNMP的管理器和針對SNMP消息的應(yīng)用解釋程序。
  在通信系統(tǒng)中,管理子系統(tǒng)存儲所有子系統(tǒng)的配置信息,并且要隨時收集所有設(shè)備的狀態(tài)信息。管理子系統(tǒng)通常使用的網(wǎng)絡(luò)管理協(xié)議是Internet工程任務(wù)組(IETF)提出的簡單網(wǎng)絡(luò)管理協(xié)議(SNMP)。SNMP協(xié)議簡單易用,因而得到了廣泛支持。
  SNMP是在TCP/IP協(xié)議棧之上的應(yīng)用層協(xié)議,由三部分組成:管理信息結(jié)構(gòu)(SMI)、管理信息庫(MIB)和SNMP協(xié)議。SMI描述了管理信息的標(biāo)準(zhǔn)符號,最關(guān)鍵的原則是被管理對象的定義要用抽象語句定義ASN.1來描述。MIB用來儲存管理信息,可以把一個管理信息庫認(rèn)為是一個虛擬的信息倉庫。SNMP協(xié)議是網(wǎng)絡(luò)管理站(manager)和代理(agent)之間的異步請求和響應(yīng)協(xié)議。網(wǎng)絡(luò)管理信息的數(shù)據(jù)由SNMP從MIB庫中獲取, 再經(jīng)過網(wǎng)絡(luò)管理系統(tǒng)應(yīng)用程序的過濾、分析、加工處理后,存儲于服務(wù)器的數(shù)據(jù)庫中。
  SNMP的協(xié)議機制是:SNMP網(wǎng)絡(luò)管理站通過發(fā)送各種管理報文或者接收代理發(fā)送的Trap事件報告來啟動相應(yīng)的管理操作;代理中的實體通過接收各種管理報文來觸發(fā)相應(yīng)的管理代理服務(wù)。如果某個設(shè)備產(chǎn)生故障報警,則這個設(shè)備所在的SNMP代理就會向管理子系統(tǒng)的SNMP網(wǎng)絡(luò)管理站發(fā)出一條Trap消息,這條Trap消息包含了管理子系統(tǒng)所約定的設(shè)備故障報警的信息,如警報級別、業(yè)務(wù)受損情況等。
  設(shè)備管理子系統(tǒng)與通信系統(tǒng)管理子系統(tǒng)的交互方法之一是由設(shè)備管理子系統(tǒng)的服務(wù)器監(jiān)視所有目的IP地址為管理子系統(tǒng)服務(wù)器的UDP數(shù)據(jù)包。一旦發(fā)現(xiàn)所監(jiān)視的UDP數(shù)據(jù)包中包含SNMP的Trap消息為設(shè)備故障報警消息,則應(yīng)用程序觸發(fā)提示機制,提示操作人員什么設(shè)備在機房的什么位置發(fā)生什么樣情況的報警;如果需要更換的話,提示相同的備品備件所在的位置。這種交互方法的優(yōu)點在于不會占用管理子系統(tǒng)的處理能力,缺點在于加重了設(shè)備管理子系統(tǒng)不斷監(jiān)視網(wǎng)絡(luò)數(shù)據(jù)的任務(wù)。
  另外一種交互方法是將設(shè)備管理子系統(tǒng)的服務(wù)器作為通信系統(tǒng)管理子系統(tǒng)的SNMP代理之一,由管理子系統(tǒng)統(tǒng)一管理。這樣的交互方法優(yōu)點在于減少了設(shè)備管理子系統(tǒng)的任務(wù),而缺點是額外占用了管理子系統(tǒng)的處理能力。綜合考慮,采取第一種方法為好。
  與B/S模式相比較,C/S模式下所有用戶的使用功能都在客戶端實現(xiàn),因此在程序更新上要復(fù)雜一些。針對C/S模式的特點,可以采取服務(wù)器端提醒客戶端更新程序的方法,如圖1所示。在服務(wù)器的數(shù)據(jù)庫中建立一個表格Version_Table,內(nèi)容是客戶端程序的最新版本、文件名和存儲路徑。同時服務(wù)器端提供FTP的服務(wù),并存儲最新版本的客戶端程序。客戶端程序啟動之后首先檢索該數(shù)據(jù)表,將數(shù)據(jù)表中最新版本號與自身版本相比較,結(jié)果一致就繼續(xù)運行;如果結(jié)果不一致,則程序提示更新版本,依據(jù)該數(shù)據(jù)表中提供的文件名和存儲路徑通過FTP服務(wù)下載最新的版本并升級。

?

?


  設(shè)備在使用一段時間后故障率會增加,這段時間是該設(shè)備的使用年限。設(shè)備的使用年限主要是根據(jù)以往的經(jīng)驗值獲得,以往的經(jīng)驗值估計來自設(shè)備在使用中會發(fā)生部件的磨損、變形、蝕損等原因引起的老化,也來自設(shè)備在閑置過程中由于金屬銹蝕、塑料老化等自然原因形成的老化。
  根據(jù)設(shè)備老化的模型公式有:
    

  其中:Ls是設(shè)備老化程度的數(shù)量指標(biāo);Li是第i個設(shè)備的老化程度的數(shù)量指標(biāo);n是設(shè)備中發(fā)生老化的零件總數(shù);Ki為第i個零件的價格。
  在數(shù)據(jù)庫中根據(jù)設(shè)備的使用年限,結(jié)合設(shè)備的老化模型,就可以計算和統(tǒng)計出在通信系統(tǒng)中用于設(shè)備上的使用成本。
3 數(shù)據(jù)庫設(shè)計
  相比較其他傳統(tǒng)型數(shù)據(jù)庫而言,關(guān)系型數(shù)據(jù)庫采用了二維的數(shù)據(jù)表格,使用表格中的關(guān)鍵字段作為單個表格的索引,使用外關(guān)鍵字段作為表格之間的聯(lián)系,使得海量數(shù)據(jù)的存取和查詢速度更高,更具有優(yōu)越性。本系統(tǒng)采用Microsoft SQL 2000作為數(shù)據(jù)庫。
  所有通信設(shè)備都具有兩種屬性:MCN(Manufacture Number),SN(Serial Number)。MCN是設(shè)備的類別編號,同類設(shè)備具有相同的MCN;SN是設(shè)備的產(chǎn)品序列號,每一設(shè)備的SN唯一。除此之外,設(shè)備的屬性還有設(shè)備名稱、所屬分系統(tǒng)、制造商、當(dāng)前狀態(tài)、位置、返修狀態(tài)(與具體業(yè)務(wù)有關(guān))、歸屬位置等。
  在這些表格中,最主要的表格是MCN表和Equipment表,其余的表格是對這兩個表格的說明性表格。MCN表格存儲同類設(shè)備的共同屬性,Equipment表格存儲每件設(shè)備的屬性。這兩個表格的關(guān)系見圖2。

?


  MCN表中的MCN字段既是MCN表中的主鍵,也是Equipment表中的外主鍵。也就是說,當(dāng)有一條記錄要插入Equipment表格中時,如果這條記錄的MCN字段的值沒有出現(xiàn)在MCN表中,則插入失敗。這樣,就可以保持?jǐn)?shù)據(jù)的一致性。當(dāng)有設(shè)備加入數(shù)據(jù)庫時,首先要查詢MCN表。如果在MCN表中有這類設(shè)備,則該設(shè)備可以直接添加入Equipment表中;如果在MCN表中沒有這類設(shè)備,則程序要首先添加MCN表中的MCN字段,再添加入Equipment表中。當(dāng)有添加或刪除設(shè)備的操作時,MCN表要更新CardNumber設(shè)備數(shù)量一項。如果CardNumber為零,則數(shù)據(jù)庫從MCN表中刪除掉該類的記錄。
  其他的表格用于說明Equipment表中各個字段的含義。設(shè)置這些表格的目的在于在Equipment表中用一個短整型數(shù)值取代一個字符串值,這樣可以節(jié)省數(shù)據(jù)庫的空間,這個短整型數(shù)值的含義可以到解釋說明表格中去查找。MCN表、Equipment表與這些解釋說明表之間的關(guān)系見圖3。

?


  需要特別說明一下Equipment表格中“百分比”一項的含義。由于設(shè)備在使用中都要承擔(dān)一定數(shù)量的業(yè)務(wù),如果出現(xiàn)設(shè)備受損的情況,就可以通過計算使用中相同種類設(shè)備的數(shù)量,來確定業(yè)務(wù)受影響的百分比。設(shè)置了“百分比”一項,如果設(shè)備的使用狀態(tài)是“使用中”,則用戶只要通過查詢這一項就可以得到業(yè)務(wù)受損的結(jié)果。
  為了實現(xiàn)用戶管理的目的,設(shè)置操作人員表、操作日志表和用戶描述表。在操作人員表中,將用戶設(shè)定了兩種權(quán)限,普通用戶只能修改自己帳號的密碼,系統(tǒng)管理員可以實現(xiàn)增加用戶、修改其他用戶密碼、刪除用戶等功能。用戶描述表解釋說明了普通用戶和系統(tǒng)管理員的區(qū)別,在操作人員表中用一個短整型數(shù)值代替了一個字符串。
  操作人員表、操作日志表和用戶描述表之間的關(guān)系見圖4。

?


  操作日志表中的數(shù)據(jù)用戶是無法控制的,在用戶進入系統(tǒng)及進行操作時系統(tǒng)會自動把用戶的動作及結(jié)果記錄下來,將操作日志表中各個字段的數(shù)值顯示出來。
4 客戶端程序的設(shè)計
  客戶端的程序采用模塊化的開發(fā)方法,通過仔細(xì)分析用戶需求,從上至下、從全局到局部,再緊緊依托數(shù)據(jù)庫設(shè)計的結(jié)果,設(shè)計出功能不同的模塊。各個模塊的關(guān)系見圖5。

?


  由于客戶端的程序要頻繁地讀取數(shù)據(jù)庫中的數(shù)據(jù),因此需要編寫一個數(shù)據(jù)庫的操作模塊。數(shù)據(jù)庫操作模塊的輸入?yún)?shù)是標(biāo)準(zhǔn)的結(jié)構(gòu)化查詢語言SQL(Structured Query Language)語句,返回一個數(shù)據(jù)查詢結(jié)果集。
  用戶首先登錄系統(tǒng),登錄成功后程序?qū)⒂脩暨M入系統(tǒng)這個動作記錄入操作日志表。
  主程序這個模塊的作用是接入管理臺模塊、打印報表模塊和顯示幫助文檔。
  用戶管理模塊對不同權(quán)限的用戶區(qū)別處理。當(dāng)用戶進入用戶管理模塊時,程序首先要讀取操作人員表中對應(yīng)用戶的權(quán)限,如果權(quán)限為普通用戶,則用戶管理模塊只允許該用戶修改自己帳戶的密碼;如果權(quán)限為系統(tǒng)管理員,則用戶可以修改所有用戶的數(shù)據(jù)。
  管理臺模塊是所有設(shè)備操作的接入模塊。在管理臺模塊用戶可以瀏覽設(shè)備數(shù)據(jù),也可以采用不同的方式靈活地查找設(shè)備數(shù)據(jù)。這些查找方式是根據(jù)Equipment表中不同字段來查找的。
  打印報表模塊可以按照設(shè)備的不同狀態(tài)生成報表,生成的報表是Excel電子表格文件。
幫助模塊給用戶提供幫助文檔。幫助文檔有對各個模塊的使用說明,也可以提供關(guān)鍵字索引幫助主題。
  在設(shè)備管理系統(tǒng)設(shè)計的關(guān)鍵技術(shù)在于數(shù)據(jù)庫的設(shè)計、網(wǎng)絡(luò)環(huán)境的選擇和客戶端程序的設(shè)計??蛻舳顺绦虻拈_發(fā)可以采用多種工具,但無論采用哪種工具,都要以處理數(shù)據(jù)為中心任務(wù)。采用C/S模式的結(jié)果使得服務(wù)器的工作量最小,對于數(shù)據(jù)的格式化顯示和統(tǒng)計都在客戶端來完成。采用服務(wù)器通知來更新客戶端程序的方法,使整個系統(tǒng)增強了健壯性。
  本系統(tǒng)還存在許多不足,主要在于以下幾個方面:在本系統(tǒng)應(yīng)用的網(wǎng)絡(luò)環(huán)境中,所有的數(shù)據(jù)都是明碼傳輸,數(shù)據(jù)保密性不強。這些數(shù)據(jù)傳輸?shù)膬?nèi)容主要包括了客戶端程序發(fā)送的結(jié)構(gòu)化查詢語句和服務(wù)器返回的數(shù)據(jù)查詢結(jié)果。在更新客戶端程序時,每臺客戶端的計算機都要重新下載新版本的程序。這個過程加重了網(wǎng)絡(luò)傳輸?shù)呢?fù)擔(dān)。本系統(tǒng)在處理客戶端的并發(fā)數(shù)據(jù)要求時,使用了Microsoft SQL Server的存儲過程來加以控制。
  采用了設(shè)備管理系統(tǒng)之后,通信系統(tǒng)的結(jié)構(gòu)變得更加復(fù)雜,系統(tǒng)內(nèi)的各模塊之間需要傳遞的信息增多了,需要配置的端口也增多了。但在應(yīng)用了設(shè)備管理信息系統(tǒng)以后提高了工作效率,可以為維護人員及時、準(zhǔn)確地提供設(shè)備的動態(tài)信息,為維護保養(yǎng)工作提供了依據(jù),保證了通信系統(tǒng)的暢通,減輕了維護人員的工作強度。


參考文獻
[1] ?SILBERSCHANTZ A, KORTH H F, SUDAR5SHAN S. 數(shù)據(jù)庫系統(tǒng)概念(第3版). 楊冬青,唐世渭等譯,北京:機械工
業(yè)出版社,2000.
[2] ?李真文. SQL Server 2000開發(fā)人員指南. ISBN7-900056-46-7/TP.45.北京:北京希望電子出版社,2001.
[3] ?(美)FREEZE W著. Visual Basic數(shù)據(jù)庫編程寶典.尹佶,馮碩,賈志博等譯.ISBN7-5053-6675-0/TP.3721.北京:
電子工業(yè)出版社,2001.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容