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