ID卡機房智能管理系統設計與實(shí)現
文章出處:http://psychicreadingswithdeb.com 作者:滕連爽,李令臣,郭嘉喜 人氣: 發(fā)表時(shí)間:2011年09月27日
0 引言
為了提高工作效率和管理水平,實(shí)現計算機機房的自動(dòng)化管理,使機房管理工作由人工值守向無(wú)人值守方向邁進(jìn),根據我院實(shí)際情況,我們自主開(kāi)發(fā)了一套全方位、智能化和安全性能高的純軟件機房智能管理系統。該系統以非接觸式ID卡為介質(zhì),結合三層帶路由功能的交換機,利用TCMP協(xié)議的傳輸方式,實(shí)現了跨網(wǎng)段管理的功能,能夠直觀(guān)、方便、有效地管理整個(gè)校園局域網(wǎng)內所有計算機。
1 機房智能管理系統的硬件組成
本系統采用非接觸式ID卡作為身份識別的工具,每個(gè)服務(wù)器都安裝一臺ID卡讀卡器,每臺學(xué)生機上都安裝客戶(hù)端軟件,通過(guò)機房管理端軟件和客戶(hù)端軟件的結合,完全實(shí)現了身份識別、自動(dòng)計費、遠程監控、ID卡管理、數據統計分析等功能。系統硬件組成如圖1所示。
圖1機房智能管理系統硬件構成框圖
2 機房智能管理系統的軟件組成
機房智能管理系統基于C/S結構和B/S結構模式開(kāi)發(fā)。B/S結構的用戶(hù)主要是學(xué)生、系統管理員,主要完成丟卡掛失、密碼保護、密碼查詢(xún)、個(gè)人上機明細查詢(xún)、上機反饋、反饋處理、報表生成、系統日志等功能。C/S結構的用戶(hù)主要是學(xué)生、機房管理員、系統管理員。學(xué)生用戶(hù)端主要完成刷卡登錄、斷網(wǎng)獨立管為不影響學(xué)生上機作為機房管理系統的客戶(hù)端軟件隨著(zhù)電腦的啟動(dòng)自動(dòng)運視覺(jué)效果,系統采用登錄托盤(pán)模式。管理客戶(hù)端軟件主要實(shí)現用戶(hù)刷卡、遠程控制學(xué)生端鎖屏、解屏、關(guān)機、注銷(xiāo)、開(kāi)機、監控、修改密碼、自動(dòng)計費、費用查詢(xún)、管理端結賬等功能。系統管理端實(shí)現用戶(hù)管理、上機管理、課表管理、費用管理和系統基礎信息設置、遠程控制等功能。軟件功能結構如圖2所示。
圖2軟件功能結構圖
其中系統管理端各個(gè)子系統功能如下:
費用管理充值管理(集體充值、個(gè)人充值)、查詢(xún)統計。
用戶(hù)管理用戶(hù)注冊(批量注冊、單人注冊)、用戶(hù)注銷(xiāo)(批量注銷(xiāo)、單人注銷(xiāo))、掛失解掛、用戶(hù)換卡、用戶(hù)信息管理。
課表管理機房課表設置、機房課表查詢(xún)。
系統設置機房設置、管理員設置、費率設定、空閑設置。
上機管理刷卡管理、監控管理。
3 系統設計與實(shí)現
本系統建立在學(xué)校局域網(wǎng)之上,采用B/S和C/S相結合的混合模式,以windows 2000 server為服務(wù)器,以SQL server 2000為后臺數據庫,以PowerBuilder、VisualBasic和ASP.NET為開(kāi)發(fā)工具,采用標準的TCP/ IP協(xié)議。實(shí)現了跨網(wǎng)段跨路由,突破了網(wǎng)段的限制,解決了每個(gè)網(wǎng)段需要配備一臺服務(wù)器的問(wèn)題,節省了資源。
3.1客戶(hù)端的技術(shù)實(shí)現
作為機房管理系統的客戶(hù)端軟件隨著(zhù)電腦的啟動(dòng)自動(dòng)運視覺(jué)效果,系統采用登錄托盤(pán)模式。管理客戶(hù)端軟件主要實(shí)現行,迅速鎖定屏幕、鼠標和功能鍵。學(xué)生在機房入口刷卡后到機房?jì)炔侩娔X輸入賬號和密碼,經(jīng)驗證通過(guò)后,才可以使用電腦。上機結束后,在客戶(hù)端自動(dòng)結賬關(guān)機。主要技術(shù)如下:
(1)客戶(hù)端軟件自動(dòng)運行的處理
修改注冊表“HKEY-LOCAI,MACINE\SOFTWARE\Mi-crosomwindows\cunrrentversion\run”中run的鍵值,就實(shí)現了自動(dòng)運行的目的;同時(shí)配備硬盤(pán)保護卡、還原卡之類(lèi)的保護卡,用戶(hù)就無(wú)法刪除客戶(hù)端應用程序。通過(guò)修改注冊表“HKEY_CURRENLMACHINER\SoRware\Microsoft\Windows\CurrentVerSion\Poliies\system\DisableTaskMgr中DisableTaskMgr的值,禁用任務(wù)管理器,用戶(hù)不能中止客戶(hù)端程序的運行??蛻?hù)端程序一旦中止運行或強制中止便自動(dòng)關(guān)機,以避免某些人通過(guò)某些途徑關(guān)閉客戶(hù)端程序,使本工作站不能被服務(wù)器監管。另外,系統采取輔助進(jìn)程來(lái)加強客戶(hù)端管理程序的安全性。該進(jìn)程每隔一定時(shí)間檢測客戶(hù)端管理程序是否正常運行和IP地址是否被修改,如果沒(méi)有正常運行或IP地址不正確,說(shuō)明客戶(hù)端管理程序已被破壞,該程序則自動(dòng)將本工作站鎖定或自動(dòng)關(guān)機,使非法使用者不能使用該機。
(2)電腦控制功能的處理
PowerBuilder適用于數據庫開(kāi)發(fā),但作為機器控制類(lèi)軟件開(kāi)發(fā),其功能特別弱。因此在開(kāi)發(fā)中我們使用VisualBasic開(kāi)發(fā)控件,結合PB實(shí)現電腦的控制,實(shí)現了PB與vB控件的無(wú)縫結合。本系統中通過(guò)調用系統API函數共開(kāi)發(fā)了兩個(gè)具有控制功能的控件,如表1所示。
3.2管理端的技術(shù)實(shí)現
管理端主要實(shí)現刷卡功能,同時(shí)自動(dòng)設置收費狀態(tài)、收費標準、遠程控制等,以及完成上機卡的注冊、注銷(xiāo)、充值和收費統計分析等功能。
(1)刷卡功能的實(shí)現
目前,市面上流行IC卡、ID卡等。由于IC卡費用高,需要特殊的刷卡器和寫(xiě)卡器,不適于低成本的需要;與接觸式IC卡相比,非接觸式ID卡無(wú)需插拔卡,避免了由于機械接觸不良導致的各種故障,因而具有操作方便、快捷、可靠、壽命長(cháng)等突出優(yōu)點(diǎn),特別適用于人流量大的場(chǎng)合。ID卡和刷卡器成本低而且使用簡(jiǎn)單,刷卡后能夠立即觸發(fā)單行編輯框的modified事件,同時(shí)將ID卡號自動(dòng)輸入單行編輯框中,通過(guò)對modified事件的編程,就能夠實(shí)現我們所需要的一切功能。因此,本系統選擇了ID卡而不是IC卡。
(2)遠程控制的實(shí)現
為了實(shí)現對客戶(hù)端的遠程控制,我們選擇winsock編程進(jìn)行通信傳遞控制參數,信息傳遞連接方式采取UDP連接。UDP協(xié)議不需要顯示的連接,一個(gè)UDP應用可同時(shí)作為應用的客戶(hù)或服務(wù)器方,兩臺計算機的地位可以看成“平等的”,這種應用程序也叫點(diǎn)到點(diǎn)通信(peer to peer),因此,任何一臺安裝服務(wù)器端軟件的機器都可以作為服務(wù)器,能夠實(shí)現校園網(wǎng)內的所有電腦對學(xué)生用機的遠程監控功能。又由于UDP數據包具有較強的網(wǎng)絡(luò )穿透能力,可以在上述網(wǎng)絡(luò )環(huán)境相對復雜的場(chǎng)合進(jìn)行網(wǎng)絡(luò )通信。
服務(wù)器與客戶(hù)機之間是借助winsock控件通過(guò)UDP協(xié)議進(jìn)行通信的,因此,需要通過(guò)winsock控件屬性設置對話(huà)框將服務(wù)器端與客戶(hù)端的網(wǎng)絡(luò )協(xié)協(xié)設置為UDP協(xié)議,如圖3所示。
圖3 winsock控件通信協(xié)議設置
服務(wù)器端遠程控制窗口(W_server)的具體設置情況和窗口的“遠程控制”命令按鈕的“單擊”事件的代碼如下。
//Winsock控件的名字為ole_server
stnng ls_mes//定義變量ls_mes,代表發(fā)送的信息
string Is_ip//定義變量Is_ip,代表客戶(hù)端ip地址
Is_ip=trim(sIe_2text)//獲取客戶(hù)端的IP地址
//指定客戶(hù)端主機名稱(chēng)或lP地址
oIe_server.Object.RemoteHost=ls_ip
oIe_server.obiect.RemotePort=2001 //指定連接端口號
//指定要綁定的客戶(hù)端主機的端口號
oIe_server.Obiecl.Bind(2002)
//獲取單行編輯框中輸入的要發(fā)送的信息
Is_mes:trim(sIe_senddata.text)
//使用ole_server控件中的SendData方法發(fā)送輸入的字符串
ole_server.Obiecl.SendData(is_mes)
ole_server.Object.close //關(guān)閉控件
客戶(hù)端軟件主窗口(w_client)的open事件的腳本。
//WInsock控件的名字為ole_server.
oIe_server.Obiect.RemotePort=2002//指定連接端口號
//指定要綁定的服務(wù)器主機的端口號
oIe_server.Objecl.Bind(2001)
客戶(hù)端軟件主窗口(w-client)中ole-client控件的dataarrjval
事件的腳本。
int Ii_qr
uo_shutdOwn=Create nvo_shutdown
String is_RecvData//為收到的數據聲明一個(gè)變量
//調用GetData方法獲取數據
This.Object.GetData(REF is_RecvData)
choose case Is_RecvData
case“reboot ” //oIe_2為vb開(kāi)發(fā)的shutd.ocx控件
oIe_2.objecl.shut(3)//強制重啟
case“shutdown”
oIe_2.object.shut(5)//強制關(guān)機
case“Iogoff”
oIe_2.object.shut(0)//注銷(xiāo)
case“lock”
open(w_pm)//鎖屏
case“unIock”
cIose(w_pm)//解屏
CASE ELSE
messagebox(“友情提示”,lS_RecvData)
end choose
當在服務(wù)器端設置好客戶(hù)端的IP地址,并綁定好客戶(hù)端主機的端口號后,就與客戶(hù)端建立了連接,服務(wù)器與客戶(hù)端就隨時(shí)可以通過(guò)sendD呦方法進(jìn)行數據通信,完成對客戶(hù)端的實(shí)時(shí)控制和監控。由于winsock控件每次只能發(fā)送一個(gè)字符串,我們對發(fā)送的字符串進(jìn)行了實(shí)際意義的確定,如“reboot”表示強制重啟、“logoff”’表示注銷(xiāo)、“shutdown”表示關(guān)機、“lock”表示鎖屏、“unlook”表示解屏等??蛻?hù)端收到字符串后觸發(fā)DataA而val事件,根據約定的字符串的意義,執行相應的功能,比如收到“lock”消息,客戶(hù)端自動(dòng)鎖定屏幕,以此實(shí)現遠程控制。
4結束語(yǔ)
根據上述思想和技術(shù),我們利用PowerBuilder和VisualBasic設計開(kāi)發(fā)了“ID卡機房智能管理系統”,大膽地整合了兩種工具的開(kāi)發(fā)特色,縮短了開(kāi)發(fā)周期。通過(guò)一年的使用,系統運行穩定,計時(shí)收費準確無(wú)誤,達到了機房管理自動(dòng)化和無(wú)人值守的目的,提高了工作效率,節約了資源,大大減輕了機房管理人員的工作負擔。
(文/青島港灣職業(yè)技術(shù)學(xué)院,滕連爽,李令臣,郭嘉喜)