本發(fā)明涉及計算機技術(shù)領(lǐng)域,尤其涉及一種應(yīng)用調(diào)試方法、裝置及系統(tǒng)。
背景技術(shù):
隨著服務(wù)器和網(wǎng)絡(luò)的發(fā)展,桌面虛擬化技術(shù)的應(yīng)用越來越廣泛,但是在推廣過程中,虛擬化技術(shù)也帶來了一些新的問題。在開發(fā)平臺通過云桌面對應(yīng)用進行開發(fā)和調(diào)試的過程中,主要遇到以下問題:
1、利用智能設(shè)備(如手機)連接數(shù)據(jù)線進行應(yīng)用調(diào)試時,經(jīng)常遇到各種驅(qū)動無法兼容,導(dǎo)致應(yīng)用調(diào)試失敗的問題;
2、在開發(fā)平臺的云桌面使用模擬器進行應(yīng)用調(diào)試時,由于云桌面加載并運行模擬器比較消耗性能,導(dǎo)致云桌面非常不流暢,從而影響應(yīng)用調(diào)試的效率。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提出一種應(yīng)用調(diào)試方法、裝置及系統(tǒng),旨在解決傳統(tǒng)的應(yīng)用調(diào)試方式,容易出現(xiàn)應(yīng)用調(diào)試失敗或調(diào)試效率低的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種應(yīng)用調(diào)試方法,應(yīng)用于vdi終端,所述vdi終端安裝有應(yīng)用,所述應(yīng)用調(diào)試方法包括:
vdi終端基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求;
基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù);
通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。
優(yōu)選地,所述vdi終端基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求的步驟之前,所述應(yīng)用調(diào)試方法還包括:
確定待建立數(shù)據(jù)通道的方式;
基于確定的方式,建立所述vdi終端的vdi客戶端與所述云桌面的vdi代理的數(shù)據(jù)通道。
優(yōu)選地,所述vdi終端安裝有調(diào)試橋服務(wù)端,所述基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù)的步驟包括:
將所述調(diào)試請求傳輸至調(diào)試橋服務(wù)端,由所述調(diào)試橋服務(wù)端在應(yīng)用中獲取所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種應(yīng)用調(diào)試裝置,應(yīng)用于服務(wù)器,應(yīng)用于vdi終端,所述vdi終端安裝有應(yīng)用,所述應(yīng)用調(diào)試裝置包括:
監(jiān)聽模塊,用于基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求;
獲取模塊,用于基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù);
反饋模塊,用于通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。
優(yōu)選地,所述應(yīng)用調(diào)試裝置還包括:
確定模塊,用于確定待建立數(shù)據(jù)通道的方式;
建立模塊,用于基于確定的方式,建立所述vdi終端的vdi客戶端與所述云桌面的vdi代理的數(shù)據(jù)通道。
優(yōu)選地,所述vdi終端安裝有調(diào)試橋服務(wù)端,所述獲取模塊,還用于將所述調(diào)試請求傳輸至調(diào)試橋服務(wù)端,由所述調(diào)試橋服務(wù)端在應(yīng)用中獲取所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)。
此外,為實現(xiàn)上述目的,本發(fā)明還提出一種應(yīng)用調(diào)試系統(tǒng),所述應(yīng)用調(diào)試系統(tǒng)包括vdi終端和云桌面,所述vdi終端如上文所述的應(yīng)用調(diào)試裝置,所述云桌面包括:
確定模塊,用于根據(jù)建立的數(shù)據(jù)通道,確定待連接的vdi終端;
發(fā)送模塊,用于通過所述數(shù)據(jù)通道發(fā)送調(diào)試請求至所述vdi終端,以供所述vdi終端基于所述調(diào)試請求反饋調(diào)試數(shù)據(jù);
調(diào)試模塊,用于通過所述數(shù)據(jù)通道接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,執(zhí)行調(diào)試操作。
優(yōu)選地,所述云桌面安裝有調(diào)試橋客戶端,所述發(fā)送模塊包括:
接收單元,用于接收所述調(diào)試橋客戶端傳輸?shù)恼{(diào)試請求;
發(fā)送單元,用于通過所述數(shù)據(jù)通道將接收到的所述調(diào)試請求發(fā)送至所述vdi終端。
優(yōu)選地,所述調(diào)試模塊,還用于通過所述數(shù)據(jù)通道接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,將所述調(diào)試數(shù)據(jù)傳輸至所述調(diào)試橋客戶端,由所述調(diào)試橋客戶端執(zhí)行調(diào)試操作。
本發(fā)明提出的應(yīng)用調(diào)試方法、裝置及系統(tǒng),vdi終端先基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求,然后基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù),最終通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。本發(fā)明將應(yīng)用安裝到vdi終端中,以實現(xiàn)云桌面進行應(yīng)用的調(diào)試,由于vdi終端無須安裝驅(qū)動,避免了因驅(qū)動無法兼容而導(dǎo)致應(yīng)用調(diào)試失敗的問題,同時也避免了云桌面因運行模擬器導(dǎo)致應(yīng)用調(diào)試卡頓的問題,從而提高了應(yīng)用開發(fā)調(diào)試的效率。
附圖說明
圖1為現(xiàn)有的應(yīng)用調(diào)試架構(gòu)圖;
圖2為本發(fā)明應(yīng)用調(diào)試方法較佳實施例的流程示意圖;
圖3為調(diào)試橋連接的示意圖;
圖4為本發(fā)明較佳實施場景示意圖;
圖5為本發(fā)明的應(yīng)用調(diào)試架構(gòu)圖;
圖6為本發(fā)明應(yīng)用調(diào)試裝置較佳實施例的功能模塊示意圖;
圖7為本發(fā)明應(yīng)用調(diào)試系統(tǒng)較佳實施例的功能模塊示意圖。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例的解決方案主要是:vdi終端先基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求,然后基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù),最終通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。以解決傳統(tǒng)的應(yīng)用調(diào)試方式,因智能設(shè)備的驅(qū)動不兼容導(dǎo)致應(yīng)用調(diào)試失敗,或因云桌面運行模擬器使得應(yīng)用調(diào)試卡頓,而導(dǎo)致調(diào)試效率低的問題。
應(yīng)當(dāng)理解,現(xiàn)有技術(shù)中,智能設(shè)備一般采用數(shù)據(jù)線連接云桌面的方式,進行應(yīng)用的調(diào)試,由于驅(qū)動不兼容容易導(dǎo)致應(yīng)用調(diào)試失??;或者,由云桌面運行模擬器實現(xiàn)應(yīng)用的調(diào)試,由于運行模擬器時調(diào)試應(yīng)用容易卡頓,導(dǎo)致調(diào)試效率較低。因此,基于現(xiàn)有技術(shù)存在的問題,會考慮智能設(shè)備通過tcp(transmissioncontrolprotocol,傳輸控制協(xié)議)連接云桌面進行應(yīng)用的調(diào)試。
但是,利用智能設(shè)備連接tcp調(diào)試時,需要通過vdi終端進行數(shù)據(jù)轉(zhuǎn)發(fā)以實現(xiàn)應(yīng)用的調(diào)試,如圖1所示,但是由于云桌面在隔離網(wǎng),和vdi終端不在同一網(wǎng)絡(luò),容易導(dǎo)致云桌面無法連接上智能設(shè)備,而導(dǎo)致應(yīng)用調(diào)試失敗。也就是說,即使是將智能設(shè)備連接到vdi終端,也容易導(dǎo)致應(yīng)用調(diào)試失敗。
基于現(xiàn)有技術(shù)存在的問題,本發(fā)明提供一種應(yīng)用調(diào)試方法。
參照圖2,圖2為本發(fā)明應(yīng)用調(diào)試方法較佳實施例的流程示意圖。
本實施例提出一種應(yīng)用調(diào)試方法,應(yīng)用于vdi終端,所述vdi終端安裝有應(yīng)用,所述應(yīng)用調(diào)試方法包括:
vdi終端基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求;基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù);通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。
在本實施例中,所述vdi(virtualdesktopinfrastructure,虛擬桌面基礎(chǔ)架構(gòu))終端包括瘦客戶機或普通pc(personalcomputer,個人計算機)等終端,當(dāng)然,不限于上述兩種,只要是能作為vdi客戶端的終端均可以作為vdi終端。所述vdi終端需安裝操作系統(tǒng),所述操作系統(tǒng)包括但不限于android系統(tǒng)、windows系統(tǒng)、linu系統(tǒng)x或macosx系統(tǒng)等等。
本實施例中,在所述vdi終端安裝應(yīng)用,所述應(yīng)用的個數(shù)和類型不做限定,可以是android應(yīng)用、ios應(yīng)用等,后續(xù)基于安裝的應(yīng)用完成應(yīng)用的調(diào)試。下文為了方便理解,安裝的應(yīng)用優(yōu)選以android應(yīng)用為例進行講解。本實施中的所述云桌面,是指開發(fā)平臺關(guān)聯(lián),并且在用戶終端如在用戶電腦上顯示的遠程桌面。
應(yīng)當(dāng)理解,本方案要通過vdi終端實現(xiàn)應(yīng)用的調(diào)試,需要先通過預(yù)設(shè)技術(shù)如usb重定向技術(shù),把vdi終端中的usb驅(qū)動重定向到開發(fā)平臺關(guān)聯(lián)的云桌面,由云桌面將vdi終端當(dāng)作云桌面的調(diào)試設(shè)備實現(xiàn)應(yīng)用的調(diào)試?;蛘?,通過socket技術(shù)把vdi終端中的tcp/ip模塊映射到開發(fā)平臺關(guān)聯(lián)的云桌面,由云桌面將vdi終端當(dāng)作云桌面的調(diào)試設(shè)備實現(xiàn)應(yīng)用的調(diào)試。
在所述“vdi終端基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求”步驟之前,所述應(yīng)用調(diào)試方法還包括:
步驟a,確定待建立數(shù)據(jù)通道的方式;
步驟b,基于確定的方式,建立所述vdi終端的vdi客戶端與所述云桌面的vdi代理的數(shù)據(jù)通道。
其中,待建立數(shù)據(jù)通道的方式包括但不限于:usb方式、tcp代理協(xié)議方式,或udp代理協(xié)議方式。本實施例中,所述vdi終端集成有vdi客戶端,所述云桌面集成有vdi代理,因此,在確定待建立數(shù)據(jù)通道的方式之后,即可基于確定的方式,建立所述vdi終端的vdi客戶端與所述云桌面的vdi代理的數(shù)據(jù)通道。后續(xù),基于建立的數(shù)據(jù)通道,實現(xiàn)vdi終端和云桌面中數(shù)據(jù)的傳輸。下文中,為了更好理解,優(yōu)選以usb方式和tcp代理協(xié)議兩種為例進行講解。其中,usb方式是以數(shù)據(jù)線進行usb數(shù)據(jù)線連接的方式,tcp代理協(xié)議是采用網(wǎng)絡(luò)傳輸?shù)姆绞健?/p>
以下是本實施例中逐步實現(xiàn)應(yīng)用調(diào)試的具體步驟:
步驟s10,vdi終端基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求;
在本實施例中,建立數(shù)據(jù)通道之后,所述vdi終端通過vdi客戶端監(jiān)聽所述云桌面基于vdi代理發(fā)送的調(diào)試請求,為了使應(yīng)用調(diào)試更加及時,監(jiān)聽的方式優(yōu)選采用實時監(jiān)聽的方式,進行調(diào)試請求的監(jiān)聽。
步驟s20,基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù);
在通過vdi客戶端監(jiān)聽到云桌面基于vdi代理發(fā)送的調(diào)試請求時,先根據(jù)所述調(diào)試請求確定待進行調(diào)試的應(yīng)用,然后基于監(jiān)聽到的調(diào)試請求,在確定的應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù)。
具體地,所述vdi終端安裝有調(diào)試橋服務(wù)端,且所述vdi終端內(nèi)部的調(diào)試橋服務(wù)端與vdi客戶端通信連接,因此,所述步驟s20的實施方式包括:
所述vdi終端將vdi客戶端監(jiān)聽到的調(diào)試請求,傳輸至調(diào)試橋服務(wù)端,由所述調(diào)試橋服務(wù)端在應(yīng)用中獲取所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)。
為更好理解本實施例,參照圖3,先闡述調(diào)試橋adb(androiddebugbridge,android應(yīng)用開發(fā)的調(diào)試橋,用于開發(fā)連接android設(shè)備調(diào)試的橋)的實現(xiàn)原理,adb調(diào)試橋分為服務(wù)端(adbd)和客戶端(adb)兩部分,adbd(服務(wù)端)運行在vdi終端上,adb(客戶端)運行在云桌面上。如圖3所示,adb客戶端和服務(wù)端adbd之間,通過tcp代理協(xié)議和usb連接線兩種方式,實現(xiàn)數(shù)據(jù)通道的建立,并基于建立的數(shù)據(jù)通道,實現(xiàn)數(shù)據(jù)的傳輸。
以圖3為例,vdi終端在通過vdi客戶端監(jiān)聽到云桌面基于vdi代理發(fā)送的調(diào)試請求時,所述vdi終端將所述調(diào)試請求傳輸至adbd,由adbd在應(yīng)用(如圖3中的app1或app2)中獲取所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)。
步驟s30,通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。
在獲取到所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)之后,通過所述數(shù)據(jù)通道的vdi客戶端,將所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于vdi代理接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。由于云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作屬于現(xiàn)有的調(diào)試方式,此處不做贅述。
為更好理解,可參照圖4,vdi終端包括adbd服務(wù)端和vdi客戶端、云桌面包括vdiagent(vdi代理)和adb客戶端。其中,vdi客戶端跟vdiagent建立一條數(shù)據(jù)通道,adb客戶端和adbd服務(wù)端之間交互的數(shù)據(jù)通過數(shù)據(jù)通道來傳輸。vdi客戶端可以通過usb驅(qū)動或者tcp代理來實現(xiàn)向adb投遞數(shù)據(jù)。vdiagent也可以通過usb驅(qū)動或者tcp代理來實現(xiàn)向adbd服務(wù)端投遞數(shù)據(jù)。
結(jié)合圖3和圖4,在數(shù)據(jù)傳輸方式為usb線傳輸時,adbd服務(wù)端將數(shù)據(jù)寫入usb驅(qū)動,由vdi客戶端讀取usb驅(qū)動中的數(shù)據(jù),并把數(shù)據(jù)通過數(shù)據(jù)通道轉(zhuǎn)發(fā)給云桌面的vdi代理,vdi代理把數(shù)據(jù)寫給云桌面的本地usb驅(qū)動,云桌面的adb客戶端再從本地usb驅(qū)動中讀取數(shù)據(jù)。
在數(shù)據(jù)傳輸方式為tcp代理協(xié)議傳輸時,adbd服務(wù)端將數(shù)據(jù)轉(zhuǎn)發(fā)至vdi客戶端,由vdi客戶端通過tcp協(xié)議傳輸至vdi代理,再由vdi代理傳輸至云桌面的abd客戶端,以完成數(shù)據(jù)的傳輸。
當(dāng)然,本方案所涉及的vdi架構(gòu)不限于圖4所提到的部署圖,只要符合本方案構(gòu)思的vdi架構(gòu)均在本方案的保護范圍內(nèi)。
進一步地,本方案中的vdi終端還可搭建模擬器,如搭建android模擬器,以實現(xiàn)云桌面基于vdi終端中的android模擬器進行應(yīng)用的調(diào)試。
可以理解,本方案中在于利用vdi終端的硬件和系統(tǒng)特性,把虛擬桌面開發(fā)的應(yīng)用轉(zhuǎn)移到vdi終端來調(diào)試,相當(dāng)于提出一種虛擬桌面調(diào)試應(yīng)用的方案,用戶開發(fā)時不需要額外的調(diào)試設(shè)備就能直接使用vdi終端調(diào)試應(yīng)用,如圖5所示,這樣既可以減少調(diào)試設(shè)備的支出,也避免因云桌面運行模擬器導(dǎo)致虛擬桌面卡頓問題,從而提高了應(yīng)用開發(fā)調(diào)試的效率。
本實施例提出的應(yīng)用調(diào)試方法,vdi終端先基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求,然后基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù),最終通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。本發(fā)明將應(yīng)用安裝到vdi終端中,以實現(xiàn)云桌面進行應(yīng)用的調(diào)試,由于vdi終端無須安裝驅(qū)動,避免了因驅(qū)動無法兼容而導(dǎo)致應(yīng)用調(diào)試失敗的問題,同時也避免了云桌面因運行模擬器導(dǎo)致應(yīng)用調(diào)試卡頓的問題,從而提高了應(yīng)用開發(fā)調(diào)試的效率。
本發(fā)明進一步提供一種應(yīng)用調(diào)試裝置。
參照圖6,圖6為本發(fā)明應(yīng)用調(diào)試裝置較佳實施例的功能模塊示意圖。
需要強調(diào)的是,對本領(lǐng)域的技術(shù)人員來說,圖6所示功能模塊圖僅僅是一個較佳實施例的示例圖,本領(lǐng)域的技術(shù)人員圍繞圖6所示的應(yīng)用調(diào)試裝置的功能模塊,可輕易進行新的功能模塊的補充;各功能模塊的名稱是自定義名稱,僅用于輔助理解該應(yīng)用調(diào)試裝置的各個程序功能塊,不用于限定本發(fā)明的技術(shù)方案,本發(fā)明技術(shù)方案的核心是,各自定義名稱的功能模塊所要達成的功能。
本實施例提出一種應(yīng)用調(diào)試裝置,應(yīng)用于vdi終端,所述vdi終端安裝有應(yīng)用,所述應(yīng)用調(diào)試裝置包括:
監(jiān)聽模塊10,用于基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求;
獲取模塊20,用于基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù);
反饋模塊30,用于通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。
在本實施例中,所述vdi(virtualdesktopinfrastructure,虛擬桌面基礎(chǔ)架構(gòu))終端包括瘦客戶機或普通pc(personalcomputer,個人計算機)等終端,當(dāng)然,不限于上述兩種,只要是能作為vdi客戶端的終端均可以作為vdi終端。所述vdi終端需安裝操作系統(tǒng),所述操作系統(tǒng)包括但不限于android系統(tǒng)、windows系統(tǒng)、linu系統(tǒng)x或macosx系統(tǒng)等等。
本實施例中,在所述vdi終端安裝應(yīng)用,所述應(yīng)用的個數(shù)和類型不做限定,可以是android應(yīng)用、ios應(yīng)用等,后續(xù)基于安裝的應(yīng)用完成應(yīng)用的調(diào)試。下文為了方便理解,安裝的應(yīng)用優(yōu)選以android應(yīng)用為例進行講解。本實施中的所述云桌面,是指開發(fā)平臺關(guān)聯(lián),并且在用戶終端如在用戶電腦上顯示的遠程桌面。
應(yīng)當(dāng)理解,本方案要通過vdi終端實現(xiàn)應(yīng)用的調(diào)試,需要先通過預(yù)設(shè)技術(shù)如usb重定向技術(shù),把vdi終端中的usb驅(qū)動重定向到開發(fā)平臺關(guān)聯(lián)的云桌面,由云桌面將vdi終端當(dāng)作云桌面的調(diào)試設(shè)備實現(xiàn)應(yīng)用的調(diào)試。或者,通過socket技術(shù)把vdi終端中的tcp/ip模塊映射到開發(fā)平臺關(guān)聯(lián)的云桌面,由云桌面將vdi終端當(dāng)作云桌面的調(diào)試設(shè)備實現(xiàn)應(yīng)用的調(diào)試。
在本實施例中,所述應(yīng)用調(diào)試裝置還包括:
第一確定模塊,用于確定待建立數(shù)據(jù)通道的方式;
建立模塊,用于基于確定的方式,建立所述vdi終端的vdi客戶端與所述云桌面的vdi代理的數(shù)據(jù)通道。
其中,待建立數(shù)據(jù)通道的方式包括但不限于:usb方式、tcp代理協(xié)議方式,或udp代理協(xié)議方式。本實施例中,所述vdi終端集成有vdi客戶端,所述云桌面集成有vdi代理,因此,在第一確定模塊確定待建立數(shù)據(jù)通道的方式之后,建立模塊即可基于確定的方式,建立所述vdi終端的vdi客戶端與所述云桌面的vdi代理的數(shù)據(jù)通道。后續(xù),基于建立的數(shù)據(jù)通道,實現(xiàn)vdi終端和云桌面中數(shù)據(jù)的傳輸。下文中,為了更好理解,優(yōu)選以usb方式和tcp代理協(xié)議兩種為例進行講解。其中,usb方式是以數(shù)據(jù)線進行usb數(shù)據(jù)線連接的方式,tcp代理協(xié)議是采用網(wǎng)絡(luò)傳輸?shù)姆绞健?/p>
以下是本實施例中實現(xiàn)應(yīng)用調(diào)試的各個模塊,以及模塊功能介紹:
其中,監(jiān)聽模塊10,用于基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求;
在建立數(shù)據(jù)通道之后,監(jiān)聽模塊10通過vdi客戶端監(jiān)聽所述云桌面基于vdi代理發(fā)送的調(diào)試請求,監(jiān)聽的方式優(yōu)選采用實時監(jiān)聽的方式,進行調(diào)試請求的監(jiān)聽。
獲取模塊20,用于基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù);
在通過vdi客戶端監(jiān)聽到云桌面基于vdi代理發(fā)送的調(diào)試請求時,先根據(jù)所述調(diào)試請求確定待進行調(diào)試的應(yīng)用,然后獲取模塊20基于監(jiān)聽到的調(diào)試請求,在確定的應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù)。
具體地,所述vdi終端安裝有調(diào)試橋服務(wù)端,且所述vdi終端內(nèi)部的調(diào)試橋服務(wù)端與vdi客戶端通信連接,因此,所述獲取模塊20,還用于將所述調(diào)試請求傳輸至調(diào)試橋服務(wù)端,由所述調(diào)試橋服務(wù)端在應(yīng)用中獲取所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)。
為更好理解本實施例,參照圖3,先闡述調(diào)試橋adb(androiddebugbridge,android應(yīng)用開發(fā)的調(diào)試橋,用于開發(fā)連接android設(shè)備調(diào)試的橋)的實現(xiàn)原理,adb調(diào)試橋分為服務(wù)端(adbd)和客戶端(adb)兩部分,adbd(服務(wù)端)運行在vdi終端上,adb(客戶端)運行在云桌面上。如圖3所示,adb客戶端和服務(wù)端adbd之間,通過tcp代理協(xié)議和usb連接線兩種方式,實現(xiàn)數(shù)據(jù)通道的建立,并基于建立的數(shù)據(jù)通道,實現(xiàn)數(shù)據(jù)的傳輸。
以圖3為例,vdi終端在通過vdi客戶端監(jiān)聽到云桌面基于vdi代理發(fā)送的調(diào)試請求時,所述獲取模塊20將所述調(diào)試請求傳輸至adbd,由adbd在應(yīng)用(如圖3中的app1或app2)中獲取所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)。
反饋模塊30,用于通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。
在獲取到所述調(diào)試請求對應(yīng)的調(diào)試數(shù)據(jù)之后,反饋模塊30通過所述數(shù)據(jù)通道的vdi客戶端,將所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于vdi代理接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。由于云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作屬于現(xiàn)有的調(diào)試方式,此處不做贅述。
為更好理解,可參照圖4,由vdi終端包括adbd服務(wù)端和vdi客戶端、云桌面包括vdiagent(vdi代理)和adb客戶端。其中,vdi客戶端跟vdiagent建立一條數(shù)據(jù)通道,adb客戶端和adbd服務(wù)端之間交互的數(shù)據(jù)通過數(shù)據(jù)通道來傳輸。vdi客戶端可以通過usb驅(qū)動或者tcp代理來實現(xiàn)向adb投遞數(shù)據(jù)。vdiagent也可以通過usb驅(qū)動或者tcp代理來實現(xiàn)向adbd服務(wù)端投遞數(shù)據(jù)。
結(jié)合圖3和圖4,在數(shù)據(jù)傳輸方式為usb線傳輸時,adbd服務(wù)端將數(shù)據(jù)寫入usb驅(qū)動,由vdi客戶端讀取usb驅(qū)動中的數(shù)據(jù),并把數(shù)據(jù)通過數(shù)據(jù)通道轉(zhuǎn)發(fā)給云桌面的vdi代理,vdi代理把數(shù)據(jù)寫給云桌面的本地usb驅(qū)動,云桌面的adb客戶端再從本地usb驅(qū)動中讀取數(shù)據(jù)。
在數(shù)據(jù)傳輸方式為tcp代理協(xié)議傳輸時,adbd服務(wù)端將數(shù)據(jù)轉(zhuǎn)發(fā)至vdi客戶端,由vdi客戶端通過tcp協(xié)議傳輸至vdi代理,再由vdi代理傳輸至云桌面的abd客戶端,以完成數(shù)據(jù)的傳輸。
當(dāng)然,本方案所涉及的vdi架構(gòu)不限于圖4所提到的部署圖,只要符合本方案構(gòu)思的vdi架構(gòu)均在本方案的保護范圍內(nèi)。
進一步地,本方案中的vdi終端還可搭建模擬器,如搭建android模擬器,以實現(xiàn)云桌面基于vdi終端中的android模擬器進行應(yīng)用的調(diào)試。
可以理解,本方案中在于利用vdi終端的硬件和系統(tǒng)特性,把虛擬桌面開發(fā)的應(yīng)用轉(zhuǎn)移到vdi終端來調(diào)試,相當(dāng)于提出一種虛擬桌面調(diào)試應(yīng)用的方案,用戶開發(fā)時不需要額外的調(diào)試設(shè)備就能直接使用vdi終端調(diào)試應(yīng)用,如圖5所示,這樣既可以減少調(diào)試設(shè)備的支出,也避免因云桌面運行模擬器導(dǎo)致虛擬桌面卡頓問題,從而提高了應(yīng)用開發(fā)調(diào)試的效率。
本實施例提出的應(yīng)用調(diào)試裝置,vdi終端先基于建立的數(shù)據(jù)通道,監(jiān)聽云桌面發(fā)送的調(diào)試請求,然后基于所述調(diào)試請求,在應(yīng)用中獲取對應(yīng)的調(diào)試數(shù)據(jù),最終通過所述數(shù)據(jù)通道將獲取的所述調(diào)試數(shù)據(jù)反饋至所述云桌面,以供所述云桌面基于接收到的調(diào)試數(shù)據(jù)執(zhí)行調(diào)試操作。本發(fā)明將應(yīng)用安裝到vdi終端中,以實現(xiàn)云桌面進行應(yīng)用的調(diào)試,由于vdi終端無須安裝驅(qū)動,避免了因驅(qū)動無法兼容而導(dǎo)致應(yīng)用調(diào)試失敗的問題,同時也避免了云桌面因運行模擬器導(dǎo)致應(yīng)用調(diào)試卡頓的問題,從而提高了應(yīng)用開發(fā)調(diào)試的效率。
本發(fā)明進一步提供一種應(yīng)用調(diào)試系統(tǒng)。
參照圖7,圖7為本發(fā)明應(yīng)用調(diào)試系統(tǒng)較佳實施例的功能模塊示意圖。
本實施例提出一種應(yīng)用調(diào)試系統(tǒng),所述應(yīng)用調(diào)試系統(tǒng)包括vdi終端和云桌面,所述vdi終端如上文所述的應(yīng)用調(diào)試裝置,所述云桌面包括:
第二確定模塊40,用于根據(jù)建立的數(shù)據(jù)通道,確定待連接的vdi終端;
發(fā)送模塊50,用于通過所述數(shù)據(jù)通道發(fā)送調(diào)試請求至所述vdi終端,以供所述vdi終端基于所述調(diào)試請求反饋調(diào)試數(shù)據(jù);
調(diào)試模塊60,用于通過所述數(shù)據(jù)通道接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,執(zhí)行調(diào)試操作。
在本實施例中,先由vdi終端建立與所述云桌面的數(shù)據(jù)通道,然后所述云桌面的第二確定模塊40根據(jù)建立的數(shù)據(jù)通道,確定待連接的vdi終端,在確定待連接的vdi終端之后,若檢測到用戶觸摸或點擊預(yù)設(shè)界面中的應(yīng)用調(diào)試控件,此時,發(fā)送模塊50發(fā)送調(diào)試請求至所述vdi終端,具體地,通過vdi代理發(fā)送調(diào)試請求至所述vdi終端,以供所述vdi終端基于所述調(diào)試請求反饋調(diào)試數(shù)據(jù),由于vdi終端反饋調(diào)試數(shù)據(jù)的具體操作在上文中詳述,此處不做贅述。在通過vdi代理接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,調(diào)試模塊60即可執(zhí)行調(diào)試操作。
進一步地,所述云桌面安裝有調(diào)試橋客戶端,即上文所述的adb客戶端,那么,所述發(fā)送模塊50包括:
接收單元,用于接收所述調(diào)試橋客戶端傳輸?shù)恼{(diào)試請求;
發(fā)送單元,用于通過所述數(shù)據(jù)通道將接收到的所述調(diào)試請求發(fā)送至所述vdi終端。
即,在檢測到用戶觸摸或點擊預(yù)設(shè)界面中的應(yīng)用調(diào)試控件時,調(diào)試橋客戶端產(chǎn)生調(diào)試請求,然后將調(diào)試請求傳輸至接收單元,所述接收單元接收所述調(diào)試橋客戶端傳輸?shù)恼{(diào)試請求之后,由發(fā)送單元通過vdi代理將調(diào)試請求發(fā)送至所述vdi終端,以供vdi終端反饋調(diào)試數(shù)據(jù)。
進一步地,所述調(diào)試模塊60,還用于通過所述數(shù)據(jù)通道接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,將所述調(diào)試數(shù)據(jù)傳輸至所述調(diào)試橋客戶端,由所述調(diào)試橋客戶端執(zhí)行調(diào)試操作。
即,所述云桌面通過vdi代理接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,將所述調(diào)試數(shù)據(jù)傳輸至所述調(diào)試橋客戶端,由所述調(diào)試橋客戶端執(zhí)行調(diào)試操作。
本實施例提出的應(yīng)用調(diào)試系統(tǒng),云桌面根據(jù)建立的數(shù)據(jù)通道,確定待連接的vdi終端,然后通過所述數(shù)據(jù)通道發(fā)送調(diào)試請求至所述vdi終端,以供所述vdi終端基于所述調(diào)試請求反饋調(diào)試數(shù)據(jù),最終通過所述數(shù)據(jù)通道接收到所述vdi終端反饋的調(diào)試數(shù)據(jù)時,執(zhí)行調(diào)試操作。本發(fā)明將應(yīng)用安裝到vdi終端中,以實現(xiàn)云桌面進行應(yīng)用的調(diào)試,由于vdi終端無須安裝驅(qū)動,避免了因驅(qū)動無法兼容而導(dǎo)致應(yīng)用調(diào)試失敗的問題,同時也避免了云桌面因運行模擬器導(dǎo)致應(yīng)用調(diào)試卡頓的問題,提高了應(yīng)用開發(fā)調(diào)試的效率。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者系統(tǒng)中還存在另外的相同要素。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其它相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。