本發(fā)明屬于互聯(lián)網通信和主機遠程管理控制領域,具體涉及一種動態(tài)可配置的主機遠程管理方法。
背景技術:在社會生活中,由于部分人IT知識的不足,往往在其使用的計算機出現(xiàn)故障后,無法處理故障甚至無法清除描述計算機故障的癥狀和原因。在這種情況下,傳統(tǒng)的IT服務的一般做法是派遣工作人員到達客戶現(xiàn)場來處理故障,或者要求客戶將故障計算機運送到維修點進行修復。在公司內部,該服務由IT部門提供,為此公司要配備較大規(guī)模的IT人員并且為其部門運行提供財務支撐;在普通客戶家中,該服務由IT服務公司提供,客戶需要為工作人員的上門維修服務付較高的工資。這種方式在實踐中是有用的,但是其帶來的巨大時間成本和溝通成本往往也是不可承受的,比如處理簡單錯誤往往無須到場即可解決。這種情況下,主機遠程管理技術得到發(fā)展。在長期的演進中,已經有了一些經典模式,最典型就是遠程桌面軟件。遠程桌面技術是通過在客戶主機上安裝的客戶端將本地桌面的實時圖像發(fā)送給IT人員;IT人員在其計算機上模擬操作客戶計算機,并將操作數據發(fā)送給客戶;客戶接收IT人員的操作之后,在本地模擬IT人員在管理端的操作來實現(xiàn)維護控制。這種方式比較直觀,IT人員可以通過鼠標鍵盤在建立連接后操作客戶計算機,并且可以實時看到操作的結果。但是這種遠程桌面技術的缺陷也是十分明顯的,具體存在以下缺點:一、通過傳遞桌面的方式,對網絡帶寬的要求比較高,即使在使用圖像壓縮等算法之后,也會在管理端造成十分明顯的延遲,這種延遲有時是致命的,因為它妨礙的IT人員看到命令的執(zhí)行結果,影響IT人員的判斷,同時也影響IT人員和客戶的使用體驗;二、另一方面這種方式編寫的遠程管理軟件在功能上缺乏擴展性,往往軟件在發(fā)布之后功能就完全固化直到發(fā)布更新重新安裝,無法滿足客戶的特殊需求;三、現(xiàn)有的遠程管理一般而言是單對單的服務,每個IT人員一次只能服務于一個用戶,這是對本來有限且昂貴的IT資源的浪費。
技術實現(xiàn)要素:針對上述現(xiàn)有技術的缺點,本發(fā)明的目的在于提供一種動態(tài)可配置的主機遠程管理方法,其旨在解決管理延遲、缺乏擴展性以及只能單對單的技術問題。為解決上述技術問題,本發(fā)明采用如下技術方案:一種動態(tài)可配置的主機遠程管理軟件,其特征在于,包括運行在本地主機的管理端、至少一個保存在管理端且已編寫好的功能模塊和至少一個控制端,該控制端運行在遠程主機上;所述管理端:部署在本地主機上,是操作人員控制遠程主機的接口,提供圖形界面功能,負責向控制端發(fā)送控制命令獲取相應數據和服務,分發(fā)功能模塊,并獲取控制端提供的數據;所述控制端:部署在遠程主機上,用于接收管理端的命令并返回響應,負責功能模塊的加載和卸載,負責功能模塊之間、功能模塊和管理端之間的統(tǒng)一通信;所述功能模塊:為導出特定接口和全局唯一標識的可執(zhí)行模塊,負責提供控制端的具體功能,執(zhí)行接收到的命令并返回執(zhí)行結果;所述管理端與控制端經互聯(lián)網連接通信,所述功能模塊由管理端發(fā)送至控制端,控制端加載功能模塊對管理端提供相應服務。更進一步地,所述管理端向一個或多個控制端發(fā)送一個或多個功能模塊,控制端加載、卸載功能模塊。更進一步地,所述控制端動態(tài)管理功能模塊,動態(tài)添加或刪除控制端的功能模塊,并借助當前加載的功能模塊對管理端提供相應服務。更進一步地,所述功能模塊與管理端的數據由控制端統(tǒng)一收發(fā),功能模塊之間的數據也由控制端轉發(fā)。更進一步,所述控制端含有統(tǒng)一的模塊通信框架,控制端和管理端之間的通信數據報文均有特定的標識,表明報文的來源模塊和目的模塊。一種動態(tài)可配置的主機遠程管理方法,其特征在于,包括如下步驟:①管理端向控制端發(fā)送動態(tài)擴展命令,要求其準備接收功能模塊文件,并隨命令同時發(fā)送功能模塊的描述信息,主要包括接口說明和校驗信息;②控制端接收管理端發(fā)送來的功能模塊文件,所述功能模塊文件為動態(tài)加載執(zhí)行的文件,其導出指定的接口,并且該接口被編譯成可加載執(zhí)行的文件類型,所述每一個功能模塊文件具有一個標明模塊身份的全局唯一標識;③控制端完成接收之后,首先校驗文件完整性,而后驗證接口正確性,保證功能模塊文件在網絡傳輸中沒有被第三方篡改,并且描述信息中聲明的接口存在;④控制端驗證文件后,加載指定的文件,成功加載后向管理端發(fā)送成功消息;⑤管理端收到成功消息后,開始發(fā)送新的功能模塊中包含的命令,并接收遠程主機上功能模塊的返回命令執(zhí)行結果數據;⑥管理端發(fā)送功能模塊動態(tài)卸載請求,并隨之發(fā)送要卸載的功能模塊唯一標識;⑦控制端接收到卸載請求之后,在當前加載的模塊列表中尋找,若模塊正在運行則將其停止,并移出內存。與現(xiàn)有技術相比,本發(fā)明有益效果表現(xiàn)在:本發(fā)明可以高效的實現(xiàn)各種功能的主機遠程管理軟件,并對控制功能進行精細化動態(tài)擴展和調整,在提高了軟件開發(fā)效率的同時增加了軟件的靈活性。附圖說明圖1是本發(fā)明的部署圖;圖2是本發(fā)明的動態(tài)擴展性示意圖;圖3為本發(fā)明響應序列圖;圖4為本發(fā)明控制端構成圖;圖5為本發(fā)明功能模塊構成圖;圖6為本發(fā)明流程圖。具體實施方式下面將結合附圖及具體實施方式對本發(fā)明作進一步的描述一種動態(tài)可配置的主機遠程管理軟件,其特征在于,包括運行在本地主機的管理端、至少一個保存在管理端且已編寫好的功能模塊和至少一個控制端,該控制端運行在遠程主機上;所述管理端:負責向控制端發(fā)送控制命令獲取相應數據和服務,分發(fā)功能模塊,并獲取控制端提供的數據;所述控制端:負責功能模塊的加載和卸載,負責功能模塊之間、功能模塊和管理端之間的統(tǒng)一通信;所述功能模塊:為導出特定接口和全局唯一標識的可執(zhí)行模塊,負責提供控制端的具體功能,執(zhí)行接收到的命令并返回執(zhí)行結果;所述管理端與控制端經互聯(lián)網連接通信,所述功能模塊由管理端發(fā)送至控制端,控制端加載功能模塊對管理端提供相應服務。本發(fā)明的控制端的功能簡化??刂贫说幕A功能包括功能模塊管理和統(tǒng)一通信框架。功能模塊管理負責功能模塊的動態(tài)加載和卸載,具體而言是將管理端發(fā)送來的功能模塊文件加載到內存中,并利用其導出的接口運行功能模塊;統(tǒng)一通信框架是指控制端接管功能模塊與管理端、功能模塊之間的通信,各模塊將數據提交給控制端框架,控制端框架根據數據類型和標識將數據發(fā)送到管理端或者轉發(fā)到相應的功能模塊。本發(fā)明的功能模塊的功能內聚。功能模塊導出一致的接口和全局唯一標識。功能模塊封裝隱藏了內部實現(xiàn),導出的接口是控制端加載和卸載模塊,接收響應和發(fā)送命令的通道。全局唯一標識是控制端識別功能模塊的方法,保證功能模塊的正確加載卸載以及統(tǒng)一通信的實現(xiàn)。功能模塊文件是遠程主機可以動態(tài)加載執(zhí)行的文件格式,但不限于使用某一種編程語言編寫。管理端的多主機管理。管理端可以同時管理多個主機,向多個主機發(fā)送命令和接收數據。并且,為了實現(xiàn)個性化管理需求,管理端可以向多個主機分發(fā)功能模塊,從而使得控制端動態(tài)擴展獲得更多功能。主機遠程管理軟件通過功能模塊的方法多方位可定制按需求的探測遠程主機信息,發(fā)送主機操作命令,避免了圖像傳輸等高帶寬高資源消耗的方法,保證了遠程管理的高效性和實時性。本發(fā)明實現(xiàn)的軟件部署在互聯(lián)網環(huán)境中,針對不同主機控制需求進行部署,部署時分發(fā)不同的功能模塊,在后續(xù)運行過程中,不斷增加或刪除功能模塊。主要有以下幾個部分實現(xiàn):1、管理端:管理端用于管理分布于互聯(lián)網上的不同的控制端,主要功能在于通過網絡向不同控制端發(fā)送命令、接收控制端傳回的數據和分發(fā)功能模塊到控制端。管理端能夠發(fā)送的命令包括各功能模塊包含的命令、功能模塊配置命令等。另外、管理端是圖形化界面,能方便的查看各個主機的狀態(tài)信息,并通過圖形界面發(fā)送命令。2、功能模塊:功能模塊是導出一致接口的可執(zhí)行文件,并且具有全局唯一標識,導出的接口包括加載、卸載、發(fā)送命令、接收響應等接口,如圖6所示。加載和卸載接口是在功能模塊配置過程中調用的接口,用于實現(xiàn)功能模塊添加刪除;發(fā)送命令接口是提供給控制端使用的,用于向功能模塊發(fā)送命令;接收響應接口是功能模塊向控制端發(fā)送信息的通道,用于返回控制端命令的執(zhí)行結果數據。在接收響應接口中,通過添加參數的方式可以再實現(xiàn)功能模塊之間的互相通信。通過發(fā)送命令和接收響應接口實現(xiàn)統(tǒng)一通信框架。3、控制端:控制端是統(tǒng)一通信框架和功能模塊管理框架的集合體,如圖5所示。統(tǒng)一通信框架用于負責功能模塊之間、功能模塊和管理端的通信;功能模塊管理框架負責功能模塊的管理,包括加載和卸載功能模塊,初始化功能模塊接口等功能。下面給出本發(fā)明的實現(xiàn)步驟,如圖6所示:1)遠程主機安裝控制端軟件,默認僅安裝基礎的統(tǒng)一通信和模塊管理功能。2)本地主機安裝管理端軟件,并存儲有具有不同功能的功能模塊文件。3)管理員選擇一臺遠程主機,向其發(fā)送模塊配置命令,并發(fā)送功能模塊文件。4)控制端收到功能模塊文件之后,校驗功能模塊文件完整性,然后校驗功能模塊到處接口和全局標識符。如果校驗通過,則利用功能模塊到處接口加載文件,加載成功后向管理端返回成功加載消息。出錯則返回錯誤消息給管理端。5)管理端收到加載成功的消息之后,發(fā)送新的功能模塊中包含的命令到控制端。6)控制端收到管理端發(fā)送來的命令,根據消息中的標識查找功能模塊,通過發(fā)送命令接口將命令轉發(fā)到該功能模塊。如果模塊不存在,返回錯誤給管理端。7)功能模塊收到命令之后,執(zhí)行命令并將執(zhí)行結果通過接收響應接口返回給控制端統(tǒng)一通信框架。控制端收到響應消息后,將響應轉發(fā)給管理端。8)管理端收到控制端傳回的命令響應消息,并顯示到管理端圖形界面上。9)當管理端完成遠程主機管理操作之后,控制端斷開連接。10)結束。該實現(xiàn)步驟是本方案執(zhí)行流程的描述,在遠程管理過程中,命令發(fā)送和模塊管理的順序并不嚴格固定,但是發(fā)送不在當前任一模塊中的命令是無效的,也就是說任何命令必須在加載相應模塊后發(fā)送。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。