基于A(yíng)u3廣播式的遠程控制管理系統的設計與實(shí)現論文
摘 要:常規的遠程控制能實(shí)現單一主控計算機對單一被控計算機的遠程管理和維護,而廣播式的遠程計算機可以實(shí)現一個(gè)主控端對多臺被控端的控制操作。本系統為解決機房中硬盤(pán)保護卡、網(wǎng)絡(luò )還原精靈、無(wú)盤(pán)系統等維護工具功能缺陷而設計,以降低機房管理中大批量計算機的軟件的安裝、注冊、測試等工作量為目標,實(shí)現一臺計算機控制多臺軟件安裝、注冊、測試可以在多臺計算機中同步執行。
關(guān)鍵詞:遠程控制;廣播;Au3
1.引言
在機房管理中,為了方便維護和管理,我們會(huì )經(jīng)常使用一些軟硬件作為輔助工具,常用的有硬盤(pán)保護卡、網(wǎng)絡(luò )還原精靈、無(wú)盤(pán)系統。這些工具給我們的機房管理帶來(lái)了很大的方便,些工具的設計都是將一臺母機的所有數據同步到其它機器中,這樣可以讓所有機器的數據與母機基本一致,并允許機器的計算機名、IP地址可以自動(dòng)分配,這樣可以達到其全部主機都能正常運行的效果。但是,由此也產(chǎn)生一些問(wèn)題,具體表現在,如果軟件安裝、注冊、測試過(guò)程中,我們可能要讓部分機器的某些輸入與母機不一致。例如在某些軟件注冊中,序列號根據主機硬件機器碼相關(guān)。而每臺機器的機器碼不相同,所以,注冊相息也會(huì )有所不同。這樣就要求我們在每臺機器上輸入不同的序列號來(lái)保證軟件能成功注冊、正常運行。而這方面的工作量是很大的,維護成本高。
2.相關(guān)技術(shù)
常規意義上的遠程控制是通過(guò)網(wǎng)絡(luò )聯(lián)通需被控制的計算機,將被控計算機的桌面環(huán)境顯示到主控計算機的顯示器上,主控端通過(guò)操作主控計算機的輸入設備實(shí)現對被控計算機進(jìn)行配置、軟件安裝等工作。
廣播是指將信息發(fā)送到網(wǎng)上所有的節點(diǎn)。廣播在本系統的應用主要是將指令發(fā)送到各客戶(hù)機中,使客戶(hù)機取得操作指令,交由客戶(hù)機程序執行。
Au3腳本是AutoIt3 Windows自動(dòng)安裝腳本語(yǔ)言。AutoIt 是一種自動(dòng)控制工具。它最初被設計用來(lái)自動(dòng)完成安裝那些其它方法不能自動(dòng)安裝的軟件。 Au3腳本可以獲取Windows控件上的信息,并且通過(guò)模擬鼠標鍵盤(pán)實(shí)現對這些控件的操作而不必擔心操作動(dòng)作落空。
還原卡、網(wǎng)絡(luò )還原精靈、無(wú)盤(pán)系統等目前并不能實(shí)現需要對不同主機配置不同信息的軟件安裝,如活動(dòng)目錄的安裝;軟件注冊需要根據機器碼生成,如3DMAXS的注冊;軟件測試需要對測試主機所輸入的帳戶(hù)信息不允許重復,如全國計算機應用等級考試系統的測試。為了更好地解決這一類(lèi)問(wèn)題,是本系統的設計目標。
3.系統體系結構
因為要通過(guò)控制鼠標鍵盤(pán)等操作計算機,本系統采用實(shí)現CS模式實(shí)現。
服務(wù)器端(主控端)主要通過(guò)Au3腳本對主控計算機的鍵盤(pán)鼠標等輸入設備的操作進(jìn)行捕獲、經(jīng)過(guò)解析和編碼,連同捕獲到的Windows控件信息經(jīng)過(guò)通信模塊一同廣播到受控客戶(hù)端上。
客戶(hù)端(被控端)主要功能是接收服務(wù)器端發(fā)送過(guò)來(lái)的信息進(jìn)行解碼、分析并對控件信息所對應的.控件模擬鼠標鍵盤(pán)執行相對應的操作。有些操作我們可能需要獲取每臺計算機單獨的MAC地址、IP地址、計算機名、機器碼等,然后根據這些獲取到的信息進(jìn)行一定的編碼,本系統也提供了很好的支持。使得在軟件安裝、軟件注冊、及軟件測試時(shí)能根據需要填寫(xiě)對應的經(jīng)過(guò)編碼的信息。達到不同軟硬件,輸入信息
本系統的服務(wù)器端向客戶(hù)端發(fā)送的數據僅包括鼠標、鍵盤(pán)操作的信息和Windows控件信息,并不發(fā)送桌面視圖數據?蛻(hù)端看到的仍是客戶(hù)機自身的桌面,客戶(hù)機對獲取到服務(wù)器發(fā)送的信息進(jìn)行翻譯,實(shí)現自動(dòng)操作的目的。
4.功能模塊設計與實(shí)現
服務(wù)器端 服務(wù)器端的功能主要有:鼠標鍵盤(pán)輸入識別模塊、Windows控件識別模塊、MAC、IP、計算機名、機器碼識別及編碼模塊、軟鍵盤(pán)模塊、通信模塊、文件傳輸模塊、屏幕墻模塊、快捷命令操作模塊。
客戶(hù)端 客戶(hù)端主要是解析并執行服務(wù)器端發(fā)送過(guò)來(lái)的操作編碼、通信、接收文件等功能。
遠程控制主要流程設計分析
主控端鍵盤(pán)輸入捕獲實(shí)現
If (($keycode > 64) And ($keycode < 91)) _ ; a - z
Or (($keycode > 96) And ($keycode < 123)) _ ; A - Z
Or (($keycode > 47) And ($keycode < 58)) Then ; 0 - 9
$buffer &= Chr($keycode)
Switch $buffer
Case "Jon"
ToolTip("What can you say?")
Case "AutoIt"
ToolTip("AutoIt Rocks")
EndSwitch
ElseIf ($keycode > 159) And ($keycode < 164) Then
Return
ElseIf ($keycode = 27) Then ; esc key
Exit
Else
$buffer = ""
EndIf
被控端鍵盤(pán)解析模擬實(shí)現
Local $tKEYHOOKS
$tKEYHOOKS = DllStructCreate($tagKBDLLHOOKSTRUCT, $lParam)
If $nCode < 0 Then
Return _WinAPI_CallNextHookEx($hHook, $nCode, $wParam, $lParam)
EndIf
If $wParam = $WM_KEYDOWtN Then
EvaluateKey(DllStructGetData($tKEYHOOKS, "vkCode"))
Else
Local $flags = DllStructGetData($tKEYHOOKS, "flags")
Switch $flags
Case $LLKHF_ALTDOWN
ConsoleWrite("$LLKHF_ALTDOWN" & @CRLF)
Case $LLKHF_EXTENDED
ConsoleWrite("$LLKHF_EXTENDED" & @CRLF)
Case $LLKHF_INJECTED
ConsoleWrite("$LLKHF_INJECTED" & @CRLF)
Case $LLKHF_UP
ConsoleWrite("$LLKHF_UP: scanCode - " & DllStructGetData($tKEYHOOKS, "scanCode") & @TAB & "vkCode - " & DllStructGetData($tKEYHOOKS, "vkCode") & @CRLF)
EndSwitch
EndIf
5.結束語(yǔ)
本系統主要應用于需要同時(shí)對大量計算機進(jìn)行管理和維護的計算機機房?梢詫(shí)現對還原卡、網(wǎng)絡(luò )還原精靈、無(wú)盤(pán)系統等暫時(shí)不能提供解決方案的軟硬件工具提供支持與補充。同一機房中,可能存在部分機器的硬件與主控端配置不同,如顯示器分辨率不一致,可能會(huì )導致鼠標的部分操作可能出現空操作,因而無(wú)法與主控端同步。因此,在使用本系統前,必須保證所有被控端與主控端一致。
【基于A(yíng)u3廣播式的遠程控制管理系統的設計與實(shí)現論文】相關(guān)文章:
基于A(yíng)SP的遠程培訓管理的系統設計與實(shí)現論文10-21
基于B/S架構的網(wǎng)絡(luò )遠程培訓系統設計與實(shí)現論文04-20
基于A(yíng)SP的圖書(shū)管理系統設計與實(shí)現研究論文10-30
基于A(yíng)SPnet績(jì)效工資管理系統設計與實(shí)現論文10-21
基于A(yíng)R模型便攜式心率變異系統的設計與實(shí)現論文04-20
基于C#的賓館客房管理系統的設計與實(shí)現論文10-21
淺析基于云計算的分布式數據挖掘系統設計與實(shí)現論文04-20