一種代理服務(wù)、遠(yuǎn)程控制裝置及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及遠(yuǎn)程控制技術(shù)領(lǐng)域,尤其涉及一種代理服務(wù)、遠(yuǎn)程控制裝置及方法。
【背景技術(shù)】
[0002]USB (通用串口總線)是一種新型的串行接口,具有傳輸速度快,即插即用,獨(dú)立供電等特點(diǎn),在各個領(lǐng)域都有著非常廣泛的應(yīng)用。譬如現(xiàn)在的U盤,移動硬盤,打印機(jī),數(shù)碼照相機(jī)等設(shè)備,給人們的日常生活帶來了極大的方便。同時,隨著虛擬化技術(shù)的不斷發(fā)展,USB設(shè)備在虛擬環(huán)境中得到應(yīng)用的需求也在不斷的擴(kuò)展。因此,如何將現(xiàn)有的USB設(shè)備應(yīng)用到虛擬環(huán)境中,是目前虛擬化技術(shù)的技術(shù)要點(diǎn)。
[0003]在現(xiàn)有技術(shù)中,USB設(shè)備通過重定向技術(shù),完整、透明的映射到遠(yuǎn)程設(shè)備的虛擬桌面上,運(yùn)用與虛擬桌面進(jìn)行會話同步的機(jī)制來實(shí)現(xiàn)各種操作行為。但是,現(xiàn)有的重定向技術(shù)占用了遠(yuǎn)程協(xié)議通道,嚴(yán)重影響了操作的流暢性,用戶體驗(yàn)較差。因此,如何在保證操作流暢性的同時,將USB設(shè)備應(yīng)用到虛擬環(huán)境中,是一個急需解決的問題。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種代理服務(wù)裝置,應(yīng)用于第一主機(jī)上,所述第一主機(jī)與外接設(shè)備相連,且第二主機(jī)上的虛擬機(jī)通過重定向技術(shù)遠(yuǎn)程訪問所述外接設(shè)備,所述裝置包括:
[0005]第一通道模塊,用于根據(jù)第一協(xié)議建立第一通道,通過所述第一通道發(fā)送控制報文至所述虛擬機(jī),以便其根據(jù)所述控制報文,發(fā)送經(jīng)過封裝的數(shù)據(jù)報文;
[0006]第二通道模塊,用于根據(jù)第二協(xié)議建立第二通道,通過所述第二通道接收虛擬機(jī)發(fā)送的所述數(shù)據(jù)報文,根據(jù)所述數(shù)據(jù)報文對外接設(shè)備進(jìn)行操作。
[0007]本發(fā)明還提供一種遠(yuǎn)程控制裝置,應(yīng)用于第二主機(jī)上,所述第二主機(jī)上設(shè)置有虛擬機(jī),且所述虛擬機(jī)通過重定向技術(shù)遠(yuǎn)程訪問與所述第一主機(jī)相連的外接設(shè)備,所述裝置包括:
[0008]報文處理模塊,用于接收第一主機(jī)發(fā)送來的控制報文,根據(jù)所述控制報文,將經(jīng)過封裝的數(shù)據(jù)報文通過所述第二通道發(fā)送至第一主機(jī)。
[0009]本發(fā)明還提供一種代理服務(wù)方法,應(yīng)用于第一主機(jī)上,所述第一主機(jī)與外接設(shè)備相連,且第二主機(jī)上的虛擬機(jī)通過重定向技術(shù)遠(yuǎn)程訪問所述外接設(shè)備,所述方法包括:
[0010]步驟A,根據(jù)第一協(xié)議建立第一通道,通過所述第一通道發(fā)送控制報文;
[0011 ] 步驟B,根據(jù)第二協(xié)議建立第二通道,通過所述第二通道接收根據(jù)控制報文發(fā)送來的經(jīng)過封裝的數(shù)據(jù)報文,根據(jù)所述數(shù)據(jù)報文對所述外接設(shè)備進(jìn)行操作。
[0012]本發(fā)明還提供一種遠(yuǎn)程控制方法,應(yīng)用于第二主機(jī)上,所述第二主機(jī)上設(shè)置有虛擬機(jī),且所述虛擬機(jī)通過重定向技術(shù)遠(yuǎn)程訪問與所述第一主機(jī)相連的外接設(shè)備,所述方法包括:
[0013]步驟a,接收控制報文,根據(jù)所述控制報文,將經(jīng)過封裝的數(shù)據(jù)報文,通過第二通道發(fā)送至第一主機(jī)。
[0014]本發(fā)明提供一種代理服務(wù)、遠(yuǎn)程控制裝置及方法,其中,第一主機(jī)根據(jù)第一協(xié)議建立第一通道,通過該通道發(fā)送控制報文至第二主機(jī);第二主機(jī)根據(jù)接收到的控制報文,將數(shù)據(jù)報文進(jìn)行封裝,通過根據(jù)第二協(xié)議建立的第二通道,將所述數(shù)據(jù)報文發(fā)送至第一主機(jī);第一主機(jī)根據(jù)接收到的數(shù)據(jù)報文對與自身相連的外接設(shè)備進(jìn)行操作。通過該技術(shù)方案,第一主機(jī)與第二主機(jī)之間的控制報文通過第一通道進(jìn)行發(fā)送,而數(shù)據(jù)報文在經(jīng)過封裝后,通過第二通道進(jìn)行發(fā)送,從而克服了現(xiàn)有技術(shù)中,由于控制報文和數(shù)據(jù)報文經(jīng)由同一通道進(jìn)行發(fā)送而導(dǎo)致的操作不流暢的問題。
【附圖說明】
[0015]圖1是本發(fā)明提供的一種典型的代理服務(wù)裝置以及遠(yuǎn)程控制裝置的邏輯結(jié)構(gòu)圖。
[0016]圖2是本發(fā)明提供的一種代理服務(wù)、遠(yuǎn)程控制方法的流程圖。
【具體實(shí)施方式】
[0017]本發(fā)明提供一種新的遠(yuǎn)程控制解決方案,在優(yōu)選的實(shí)施方式中,本發(fā)明提供的代理服務(wù)裝置及遠(yuǎn)程控制裝置一般使用計算機(jī)軟件來實(shí)現(xiàn),當(dāng)然也可以使用硬件來實(shí)現(xiàn)。請參考圖1,本實(shí)施方式提供一種代理服務(wù)裝置,應(yīng)用于第一主機(jī)上,所述裝置包括第一通道模塊和第二通道模塊。相應(yīng)的,本實(shí)施方式還提供一種遠(yuǎn)程控制裝置,應(yīng)用于第二主機(jī)上,所述裝置包括報文處理模塊、信息獲取模塊和顯示模塊。以上兩個裝置相互配合執(zhí)行如下處理流程,如圖2所示。
[0018]步驟101,第一通道模塊根據(jù)第一協(xié)議建立第一通道。
[0019]請參考圖1,代理服務(wù)裝置應(yīng)用于第一主機(jī)上,第一主機(jī)與外接設(shè)備相連;遠(yuǎn)程控制裝置應(yīng)用于第二主機(jī)上,而第二主機(jī)上設(shè)置有虛擬機(jī),該虛擬機(jī)可以通過重定向技術(shù)遠(yuǎn)程訪問所述外接設(shè)備。由于虛擬機(jī)想要訪問所述外接設(shè)備,那要和與該外接設(shè)備相連的第一主機(jī)進(jìn)行通信,所以虛擬機(jī)與第一主機(jī)之間需發(fā)送各種用于通信的報文,即控制報文和數(shù)據(jù)報文。而在步驟101中,建立出的第一通道就是為控制報文提供發(fā)送路徑。具體的說,第一通道模塊根據(jù)第一協(xié)議建立第一通道,該第一通道將第一主機(jī)和第二主機(jī)上虛擬機(jī)連接起來,第一主機(jī)發(fā)送給虛擬機(jī)的控制報文會通過第一通道發(fā)送出去。在優(yōu)選的實(shí)施方式中,第一通道模塊通常會根據(jù)遠(yuǎn)程協(xié)議,也就是第一協(xié)議,建立第一通道,將發(fā)送給虛擬機(jī)的控制報文通過根據(jù)遠(yuǎn)程協(xié)議建立的第一通道來發(fā)送。由于在現(xiàn)有技術(shù)中,第一主機(jī)與虛擬機(jī)之間用于通信的報文,即控制報文和數(shù)據(jù)報文,全部都是經(jīng)由根據(jù)遠(yuǎn)程協(xié)議建立的通道來進(jìn)行發(fā)送,所以占用了根據(jù)遠(yuǎn)程協(xié)議建立的通道,使得整個操作過程卡頓,不夠流暢。而本發(fā)明提供的技術(shù)方案將控制報文根據(jù)遠(yuǎn)程協(xié)議建立的第一通道來發(fā)送,數(shù)據(jù)報文則不通過所述第一通道進(jìn)行發(fā)送,這樣一來,第一通道變得較空閑,使得整個操作過程變得較為流暢,從而為操作者提供了較好的操作體驗(yàn)。
[0020]步驟102,第二通道模塊根據(jù)第二協(xié)議建立第二通道。
[0021]由步驟101可知,虛擬機(jī)需通過控制報文和數(shù)據(jù)報文與所述外接設(shè)備進(jìn)行通信。所述控制報文可以在步驟101中在第一主機(jī)和第二主機(jī)之間建立的第一通道中進(jìn)行傳送,而數(shù)據(jù)報文則是在第一主機(jī)和第二主機(jī)之間建立的第二通道中進(jìn)行傳送。在優(yōu)選的實(shí)施方式中,第二協(xié)議通常為TCP/IP協(xié)議,根據(jù)TCP/IP協(xié)議建立出的第二通道可以傳送數(shù)據(jù)報文。具體的說,應(yīng)用在第一主機(jī)上的第二通道模塊,根據(jù)TCP/IP協(xié)議在第一主機(jī)和第二主機(jī)之間建立第二通道,這樣一來,第二主機(jī)上的虛擬機(jī)就可以通過所述第二通道發(fā)送數(shù)據(jù)報文給第一主機(jī),進(jìn)而對與所述第一主機(jī)相連的外接設(shè)備進(jìn)行操作,在優(yōu)選的實(shí)施方式中,所述外接設(shè)備通常為USB設(shè)備。
[0022]由于在現(xiàn)有技術(shù)中,數(shù)據(jù)報文是通過與控制報文相同的通道進(jìn)行傳送的,也就是說,數(shù)據(jù)報文和控制報文一樣,都是通過根據(jù)遠(yuǎn)程協(xié)議建立的通道進(jìn)行傳送,當(dāng)傳輸大數(shù)據(jù)流時,USB外接設(shè)備操作不夠流暢,用戶體驗(yàn)較差。而且為了操作過程盡可能的流暢,現(xiàn)有技術(shù)通常會對視頻、音頻、圖片等大數(shù)據(jù)流量加以限制,進(jìn)而影響了用戶的使用。但本發(fā)明提供的技術(shù)方案可以將數(shù)據(jù)報文和控制報文分別通過不同的通道進(jìn)行發(fā)送傳輸,即控制報文通過第一通道進(jìn)行傳送,數(shù)據(jù)報文通過第二通道進(jìn)行傳送,從而克服了控制報文和數(shù)據(jù)報文通過同一通道進(jìn)行傳送而導(dǎo)致的通道占用過多,USB外接設(shè)備操作不流暢的問題。
[0023]另外,第一通道模塊會為與第一主機(jī)上相連的外接設(shè)備建立網(wǎng)絡(luò)端口,同時為該網(wǎng)絡(luò)端口分配端口號,該網(wǎng)絡(luò)端口會與第二通道相連,第一主機(jī)與第一主機(jī)之間用于通信的數(shù)據(jù)報文,會通過該網(wǎng)絡(luò)端口進(jìn)行收發(fā)。而在實(shí)際應(yīng)用過程中,一臺主機(jī)上往往會連接多個外接設(shè)備,例如打印機(jī)、數(shù)碼相機(jī)、U盤等。當(dāng)?shù)谝恢鳈C(jī)上連接了多個外接設(shè)備時,第一通道模塊通常會給每個外接設(shè)備建立網(wǎng)絡(luò)端口,在優(yōu)選的實(shí)施方式中,所述網(wǎng)絡(luò)端口為虛擬端口,多個虛擬端口可以設(shè)置在同一個物理端口上,也可以設(shè)置在不同的物理端口上。而且,第一通道模塊還會給每個網(wǎng)絡(luò)端口分配一個端口號,這些網(wǎng)絡(luò)端口會與所述第二通道相連,并經(jīng)由第二通道來收發(fā)報文。
[0024]例如,第一主機(jī)上連接了一個打印機(jī),同時還連接了一個U盤,那么第一通道模塊會為所述打印機(jī)建立一個網(wǎng)絡(luò)端口,并為其分配端口號01 ;第一通道模塊還會為所述U盤建立一個網(wǎng)絡(luò)端口,并為其分配端口號02。這兩個網(wǎng)絡(luò)端口都與第二通道相連,并經(jīng)由第二通道來收發(fā)報文,在收發(fā)報文時,通過端口號來區(qū)分所發(fā)送的報文是哪一個外接設(shè)備發(fā)出;以及所接收的報文是發(fā)送給哪個外接設(shè)備。
[0025]另外,第二主機(jī)上的遠(yuǎn)程控制裝置通常還會包括信息獲取模塊,所述信息獲取模塊可以通過所述第二通道獲取與所述第一主機(jī)相連的外接設(shè)備的相關(guān)信息,例如外接設(shè)備的數(shù)量、各外接設(shè)備的類型、為該外接設(shè)備所分配的