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