呂翠霞
(江蘇廣播電視大學,江蘇 南京 210036)
利用PHP+MySql+LDAP實現(xiàn)機房管理系統(tǒng)
呂翠霞
(江蘇廣播電視大學,江蘇 南京 210036)
本文在簡要介紹了LDAP及相關技術的基礎上,利用PHP+MySql編程方法設計了一種基于LDAP協(xié)議的適應性廣、通用性強的機房管理系統(tǒng)。并對其中涉及的關鍵技術進行了論述,同時介紹了該系統(tǒng)的設計思想、技術特色和系統(tǒng)結(jié)構。
機房;管理系統(tǒng);LDAP;PHP
隨著信息化程度的提高和教育改革的發(fā)展,越來越多的學校開始普及計算機教學,伴隨而來的是電腦數(shù)量的劇增,計算機機房的管理任務趨向復雜化。機房管理人員開始投入大量的人力和物力對電腦設備進行管理和維護,盡管如此在機房管理的過程中仍取得不了好的效果。主要常見的問題有:①學生上機不需要認證,計算機資源得不到合理有效的
利用。②當機器出現(xiàn)故障時,需要手工查找學生的上機記錄,費事費力。筆者根據(jù)多年的機房管理經(jīng)驗,設計了一套機房管理系統(tǒng),可以實現(xiàn)學校機房管理智能化。
系統(tǒng)概述:本系統(tǒng)采用當前流行的B/S模式,即在客戶端和服務端增加一個代理層,當學生用戶登陸時,通過PHP環(huán)境下的Web代理層轉(zhuǎn)發(fā)用戶登陸信息,實現(xiàn)和LDAP服務器端的用戶認證通信。當用戶登陸后,Web代理層將學生的詳細信息,比如上機時間、個人用戶信息等內(nèi)容記錄到MySql數(shù)據(jù)庫中,實現(xiàn)上機行為的統(tǒng)計和分析。系統(tǒng)結(jié)構圖見圖一:
LDAP簡介:LDAP代表輕型目錄訪問協(xié)議,它是一個用來訪問目錄服務,尤其是基于X.500的目錄服務的輕型協(xié)議。LDAP運行在TCP/IP協(xié)議或者其他的面向連接的傳輸服務之上。LDAP的信息模型是建立在“條目”(entries)的基礎上。一個條目是一個屬性的集合,并且具有一個全局唯一的“可區(qū)分名稱”DN,該DN被用來唯一的引用該條目。LDAP客戶端不保存任何用戶信息,它所需要的用戶信息通過LDAP服務器從主存儲節(jié)點中獲取。LDAP服務端負責給LDAP客戶端提供用戶信息的獲取、查詢和修改服務。
圖一 系統(tǒng)結(jié)構圖
用戶認證模塊設計:利用PHP程序連接LDAP服務器,向LDAP服務器發(fā)出用戶認證請求,如果用戶名和密碼正確,則登陸成功。如果用戶信息和LDAP服務器中記錄的不一樣,則退回登陸界面。PHP實現(xiàn)代碼如下:
上機行為記錄模塊設計:當用戶登陸成功后,利用PHP程序從LDAP服務器中讀取用戶的身份信息,登陸時間等,并將這些信息寫入MySql數(shù)據(jù)庫中。其中MySql數(shù)據(jù)庫中的表結(jié)構如下(UserAction):
列名 數(shù)據(jù)類型 長度FileID numeric 9 UserName varchar 32 PassWord varchar 15 LogInTime numeric 9 LogOutTime numeric 9 UserClass varchar 32
上機行為記錄模塊中PHP實現(xiàn)代碼下:
LDAP認證過程:LDAP客戶端和服務器之間的信息傳遞采用信息交換的模式,LDAP客戶端給LDAP服務器傳遞需要執(zhí)行的協(xié)議請求,LDAP服務器在目錄中執(zhí)行完成后,返回一個包括任何結(jié)果或錯誤的應當。在協(xié)議交換的過程中,所有的協(xié)議操作都被封裝成一個信息包。發(fā)送的請求的包格式如下:
LDAP服務器處理完成后,返回一個包括請求所對應的應答信息或出錯信息包。在上述協(xié)議包中,除了一些必添的信息字段外,還包括了不少預留項,這主要是考慮到以后的擴充,以做到向后兼容。
LDAP用戶管理:包括添加新用戶、修改用戶信息、刪除用戶。PHP實現(xiàn)代碼如下:
用戶管理系統(tǒng)的另一個重要的問題就是數(shù)據(jù)存儲的穩(wěn)定性、可靠性。為了保證數(shù)據(jù)存儲的穩(wěn)定性、可靠性,在服務端設計和采用管理與存儲分離的思想,數(shù)據(jù)單獨存儲在與LDAP服務器不同的存儲節(jié)點上,并且采用數(shù)據(jù)動態(tài)實時更新的技術,當數(shù)據(jù)改動時,主存儲節(jié)點實時地把修改的數(shù)據(jù)更新到存儲節(jié)點,主、從存儲節(jié)點間的信息復制遵循LDAP協(xié)議。只更新修改數(shù)據(jù)的優(yōu)點是,它不僅保證了主、從存儲節(jié)點上數(shù)據(jù)的一致性,而且因為更新的數(shù)據(jù)量少,更新的速度得到了大幅度提高。采用這種主、從存儲結(jié)構,當主存儲節(jié)點的數(shù)據(jù)被破壞時,從存儲節(jié)點馬上代替主存儲節(jié)點的工作,使服務保持不間斷性。并且由于LDAP服務器與數(shù)據(jù)不在同一節(jié)點上,所以當LDAP服務器受到網(wǎng)絡攻擊而遭到破壞時,也不會損壞到數(shù)據(jù),這在一定程度上也保證了數(shù)據(jù)的可靠性。
在本機房管理系統(tǒng)中,使用最多的是用戶登陸和信息查詢。當客戶端多用戶并發(fā)登陸或查詢時,每次操作都要經(jīng)過三個過程。①客戶端首先通過Web代理層向LDAP服務端發(fā)送認證或查詢請求。②再由LDAP服務器從目錄服務中獲取信息后返回給客戶端。③同時Web代理層再將系統(tǒng)所需的信息存儲到MySql數(shù)據(jù)庫中。這中間涉及到三個環(huán)節(jié)速度問題。因此本系統(tǒng)的運行速度跟這三項服務密切相關,要高效運行本機房管理系統(tǒng),必須分別優(yōu)化PHP環(huán)境、MySql數(shù)據(jù)庫、LDAP服務器。
[1] 羅明,檀文釗.跨平臺的PHP+MySql[M].北京:清華大學出版社,2001.
[2] R.Padmini S.Nivedita.TCP/IP詳解[M].北京:電子工業(yè)出版社,2003.
PHP + MySql Computer Lab Management System Based on LDAP
LV Cui-xia
Based on LDAP protocol, a computer lab management system written in PHP using MySql as database is presented in this paper. The design thought、technology feature and structure of the system are provided.
LDAP,computer lab, management system, PHP
TP308
A
1008-7427(2012)07-0159-02
2012-04-06