基于Au3廣播式的遠程控制管理系統(tǒng)的設計與實現(xiàn)論文
摘 要:常規(guī)的遠程控制能實現(xiàn)單一主控計算機對單一被控計算機的遠程管理和維護,而廣播式的遠程計算機可以實現(xiàn)一個主控端對多臺被控端的控制操作。本系統(tǒng)為解決機房中硬盤保護卡、網絡還原精靈、無盤系統(tǒng)等維護工具功能缺陷而設計,以降低機房管理中大批量計算機的軟件的安裝、注冊、測試等工作量為目標,實現(xiàn)一臺計算機控制多臺軟件安裝、注冊、測試可以在多臺計算機中同步執(zhí)行。
關鍵詞:遠程控制;廣播;Au3
1.引言
在機房管理中,為了方便維護和管理,我們會經常使用一些軟硬件作為輔助工具,常用的有硬盤保護卡、網絡還原精靈、無盤系統(tǒng)。這些工具給我們的機房管理帶來了很大的方便,些工具的設計都是將一臺母機的所有數(shù)據同步到其它機器中,這樣可以讓所有機器的數(shù)據與母機基本一致,并允許機器的計算機名、IP地址可以自動分配,這樣可以達到其全部主機都能正常運行的效果。但是,由此也產生一些問題,具體表現(xiàn)在,如果軟件安裝、注冊、測試過程中,我們可能要讓部分機器的某些輸入與母機不一致。例如在某些軟件注冊中,序列號根據主機硬件機器碼相關。而每臺機器的機器碼不相同,所以,注冊相息也會有所不同。這樣就要求我們在每臺機器上輸入不同的序列號來保證軟件能成功注冊、正常運行。而這方面的工作量是很大的,維護成本高。
2.相關技術
常規(guī)意義上的遠程控制是通過網絡聯(lián)通需被控制的計算機,將被控計算機的桌面環(huán)境顯示到主控計算機的顯示器上,主控端通過操作主控計算機的輸入設備實現(xiàn)對被控計算機進行配置、軟件安裝等工作。
廣播是指將信息發(fā)送到網上所有的節(jié)點。廣播在本系統(tǒng)的應用主要是將指令發(fā)送到各客戶機中,使客戶機取得操作指令,交由客戶機程序執(zhí)行。
Au3腳本是AutoIt3 Windows自動安裝腳本語言。AutoIt 是一種自動控制工具。它最初被設計用來自動完成安裝那些其它方法不能自動安裝的軟件。 Au3腳本可以獲取Windows控件上的信息,并且通過模擬鼠標鍵盤實現(xiàn)對這些控件的操作而不必擔心操作動作落空。
還原卡、網絡還原精靈、無盤系統(tǒng)等目前并不能實現(xiàn)需要對不同主機配置不同信息的軟件安裝,如活動目錄的安裝;軟件注冊需要根據機器碼生成,如3DMAXS的注冊;軟件測試需要對測試主機所輸入的帳戶信息不允許重復,如全國計算機應用等級考試系統(tǒng)的測試。為了更好地解決這一類問題,是本系統(tǒng)的設計目標。
3.系統(tǒng)體系結構
因為要通過控制鼠標鍵盤等操作計算機,本系統(tǒng)采用實現(xiàn)CS模式實現(xiàn)。
服務器端(主控端)主要通過Au3腳本對主控計算機的鍵盤鼠標等輸入設備的操作進行捕獲、經過解析和編碼,連同捕獲到的Windows控件信息經過通信模塊一同廣播到受控客戶端上。
客戶端(被控端)主要功能是接收服務器端發(fā)送過來的信息進行解碼、分析并對控件信息所對應的.控件模擬鼠標鍵盤執(zhí)行相對應的操作。有些操作我們可能需要獲取每臺計算機單獨的MAC地址、IP地址、計算機名、機器碼等,然后根據這些獲取到的信息進行一定的編碼,本系統(tǒng)也提供了很好的支持。使得在軟件安裝、軟件注冊、及軟件測試時能根據需要填寫對應的經過編碼的信息。達到不同軟硬件,輸入信息
本系統(tǒng)的服務器端向客戶端發(fā)送的數(shù)據僅包括鼠標、鍵盤操作的信息和Windows控件信息,并不發(fā)送桌面視圖數(shù)據?蛻舳丝吹降娜允强蛻魴C自身的桌面,客戶機對獲取到服務器發(fā)送的信息進行翻譯,實現(xiàn)自動操作的目的。
4.功能模塊設計與實現(xiàn)
服務器端 服務器端的功能主要有:鼠標鍵盤輸入識別模塊、Windows控件識別模塊、MAC、IP、計算機名、機器碼識別及編碼模塊、軟鍵盤模塊、通信模塊、文件傳輸模塊、屏幕墻模塊、快捷命令操作模塊。
客戶端 客戶端主要是解析并執(zhí)行服務器端發(fā)送過來的操作編碼、通信、接收文件等功能。
遠程控制主要流程設計分析
主控端鍵盤輸入捕獲實現(xiàn)
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
被控端鍵盤解析模擬實現(xiàn)
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.結束語
本系統(tǒng)主要應用于需要同時對大量計算機進行管理和維護的計算機機房?梢詫崿F(xiàn)對還原卡、網絡還原精靈、無盤系統(tǒng)等暫時不能提供解決方案的軟硬件工具提供支持與補充。同一機房中,可能存在部分機器的硬件與主控端配置不同,如顯示器分辨率不一致,可能會導致鼠標的部分操作可能出現(xiàn)空操作,因而無法與主控端同步。因此,在使用本系統(tǒng)前,必須保證所有被控端與主控端一致。
【基于Au3廣播式的遠程控制管理系統(tǒng)的設計與實現(xiàn)論文】相關文章:
基于ASP的遠程培訓管理的系統(tǒng)設計與實現(xiàn)論文10-21
基于B/S架構的網絡遠程培訓系統(tǒng)設計與實現(xiàn)論文04-20
基于ASP的圖書管理系統(tǒng)設計與實現(xiàn)研究論文10-30
基于ASPnet績效工資管理系統(tǒng)設計與實現(xiàn)論文10-21
基于AR模型便攜式心率變異系統(tǒng)的設計與實現(xiàn)論文04-20
基于C#的賓館客房管理系統(tǒng)的設計與實現(xiàn)論文10-21
淺析基于云計算的分布式數(shù)據挖掘系統(tǒng)設計與實現(xiàn)論文04-20