一種usb 設(shè)備映射、交互方法、裝置、云終端及云服務(wù)器的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種USB設(shè)備映射、交互方法、裝置、云終端及云服務(wù)器。
【背景技術(shù)】
[0002]在云系統(tǒng)中,當(dāng)云終端連接虛擬機(jī)的時(shí)候,很多場(chǎng)景下虛擬機(jī)的用戶都需要使用云終端本地的USB外設(shè)接口連接USB設(shè)備,獲取相關(guān)的數(shù)據(jù)。因此需要一種通用的支持大多數(shù)USB設(shè)備的USB設(shè)備映射方法。
【發(fā)明內(nèi)容】
[0003]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種USB設(shè)備映射、交互方法、裝置、云終端及云服務(wù)器,通過(guò)網(wǎng)絡(luò)通信實(shí)現(xiàn)USB設(shè)備從云終端到云服務(wù)器的映射。
[0004]為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種USB設(shè)備映射方法,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云終端,所述USB設(shè)備與所述云終端連接,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述映射方法包括:獲取所述USB設(shè)備的設(shè)備信息;根據(jù)所述設(shè)備信息,在云終端側(cè)為所述USB設(shè)備加載第一 USB驅(qū)動(dòng);通過(guò)虛擬專用通道,將與所述USB設(shè)備對(duì)應(yīng)的USB端口號(hào)發(fā)送給與所述云終端對(duì)應(yīng)的虛擬機(jī);接收所述虛擬機(jī)通過(guò)通信鏈路發(fā)送的攜帶有所述USB端口號(hào)的設(shè)備信息獲取請(qǐng)求,所述通信鏈路為所述虛擬機(jī)根據(jù)所述云終端的IP地址及預(yù)設(shè)的通信端口號(hào)創(chuàng)建的與所述云終端之間的鏈路;根據(jù)所述設(shè)備信息獲取請(qǐng)求,通過(guò)所述通信鏈路將與所述USB端口號(hào)對(duì)應(yīng)的USB設(shè)備的設(shè)備信息發(fā)送給所述虛擬機(jī),以使得所述虛擬機(jī)根據(jù)所述設(shè)備信息在虛擬機(jī)側(cè)為所述USB設(shè)備加載第二 USB驅(qū)動(dòng),所述第二 USB驅(qū)動(dòng)通過(guò)所述通信鏈路與所述第一 USB驅(qū)動(dòng)通信以訪問(wèn)所述USB設(shè)備。
[0005]上述的USB設(shè)備映射方法,其中,所述根據(jù)所述設(shè)備信息,在云終端側(cè)為所述USB設(shè)備加載第一 USB驅(qū)動(dòng)之前,還包括:根據(jù)所述設(shè)備信息及預(yù)設(shè)的配置文件,判斷是否需要對(duì)所述USB設(shè)備進(jìn)行映射;當(dāng)判定需要對(duì)所述USB設(shè)備進(jìn)行映射時(shí),根據(jù)所述設(shè)備信息,在云終端側(cè)為所述USB設(shè)備加載第一 USB驅(qū)動(dòng)。
[0006]上述的USB設(shè)備映射方法,其中,所述第一 USB驅(qū)動(dòng)及所述第二 USB驅(qū)動(dòng)均包括:USB設(shè)備類驅(qū)動(dòng)層、USB核心驅(qū)動(dòng)層及USB主控驅(qū)動(dòng)層;所述第二 USB驅(qū)動(dòng)的USB主控驅(qū)動(dòng)層通過(guò)所述通信鏈路與所述第一 USB驅(qū)動(dòng)的USB設(shè)備類驅(qū)動(dòng)層通信以訪問(wèn)所述USB設(shè)備。
[0007]本發(fā)明還提供了一種USB設(shè)備交互方法,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云終端,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述USB設(shè)備與所述云終端連接,并通過(guò)如上所述的映射方法映射至與所述云終端對(duì)應(yīng)的虛擬機(jī),所述交互方法包括:接收所述虛擬機(jī)發(fā)送的封裝有第一 USB請(qǐng)求塊URB的第一網(wǎng)絡(luò)包;對(duì)所述第一網(wǎng)絡(luò)包進(jìn)行解析,得到所述第一 URB ;從所述USB設(shè)備中獲取攜帶有與所述第一 URB對(duì)應(yīng)的數(shù)據(jù)的第二URB ;將所述第二 URB封裝為第二網(wǎng)絡(luò)包;將所述第二網(wǎng)絡(luò)包發(fā)送給所述虛擬機(jī)。
[0008]本發(fā)明還提供了一種USB設(shè)備映射方法,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云服務(wù)器,所述USB設(shè)備與所述云終端連接,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述映射方法包括:通過(guò)虛擬專用通道,接收所述云終端發(fā)送的鏈路創(chuàng)建請(qǐng)求,所述鏈路創(chuàng)建請(qǐng)求中攜帶有與所述USB設(shè)備對(duì)應(yīng)的USB端口號(hào);根據(jù)所述云終端的IP地址及預(yù)設(shè)的通信端口號(hào)創(chuàng)建與所述云終端的通信鏈路;通過(guò)所述通信鏈路向所述云終端發(fā)送設(shè)備信息獲取請(qǐng)求,所述設(shè)備信息獲取請(qǐng)求中攜帶有所述USB端口號(hào),以獲取與所述USB端口號(hào)對(duì)應(yīng)的USB設(shè)備的設(shè)備信息;通過(guò)所述通信鏈路接收所述云終端發(fā)送的所述USB設(shè)備的設(shè)備信息;根據(jù)所述設(shè)備信息為所述USB設(shè)備在虛擬機(jī)側(cè)加載第二 USB驅(qū)動(dòng),所述第二 USB驅(qū)動(dòng)通過(guò)所述通信鏈路與所述云終端在云終端側(cè)為所述USB設(shè)備加載的第一 USB驅(qū)動(dòng)通信以訪問(wèn)所述USB設(shè)備。
[0009]上述的USB設(shè)備映射方法,其中,所述第一 USB驅(qū)動(dòng)及所述第二 USB驅(qū)動(dòng)均包括:USB設(shè)備類驅(qū)動(dòng)層、USB核心驅(qū)動(dòng)層及USB主控驅(qū)動(dòng)層;所述第二 USB驅(qū)動(dòng)的USB主控驅(qū)動(dòng)層通過(guò)所述通信鏈路與所述第一 USB驅(qū)動(dòng)的USB設(shè)備類驅(qū)動(dòng)層通信以訪問(wèn)所述USB設(shè)備。
[0010]本發(fā)明還提供了一種USB設(shè)備交互方法,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云服務(wù)器,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述USB設(shè)備與所述云終端連接,并通過(guò)如上所述的映射方法映射至與所述云終端對(duì)應(yīng)的虛擬機(jī),所述交互方法包括:將第一 USB請(qǐng)求塊URB封裝為第一網(wǎng)絡(luò)包;向所述云終端發(fā)送所述第一網(wǎng)絡(luò)包;接收云終端反饋的封裝有第二 URB的第二網(wǎng)絡(luò)包,所述第二 URB中攜帶有與所述第一 URB對(duì)應(yīng)的數(shù)據(jù);對(duì)所述第二網(wǎng)絡(luò)包進(jìn)行解析,獲取所述第二 URB中攜帶的數(shù)據(jù)。
[0011]本發(fā)明還提供了一種USB設(shè)備映射裝置,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云終端,所述USB設(shè)備與所述云終端連接,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述映射裝置包括:第一獲取模塊,用于獲取所述USB設(shè)備的設(shè)備信息;第一加載模塊,用于根據(jù)所述設(shè)備信息,在云終端側(cè)為所述USB設(shè)備加載第一 USB驅(qū)動(dòng);第一發(fā)送模塊,用于通過(guò)虛擬專用通道,向與所述云終端對(duì)應(yīng)的虛擬機(jī)發(fā)送鏈路創(chuàng)建請(qǐng)求,以使得所述虛擬機(jī)根據(jù)所述云終端的IP地址及預(yù)設(shè)的通信端口號(hào)創(chuàng)建與所述云終端的通信鏈路,所述鏈路創(chuàng)建請(qǐng)求中攜帶有與所述USB設(shè)備對(duì)應(yīng)的USB端口號(hào);第一接收模塊,用于接收所述虛擬機(jī)通過(guò)所述通信鏈路發(fā)送的攜帶有所述USB端口號(hào)的設(shè)備信息獲取請(qǐng)求;第二發(fā)送模塊,用于根據(jù)所述設(shè)備信息獲取請(qǐng)求,通過(guò)所述通信鏈路將與所述USB端口號(hào)對(duì)應(yīng)的USB設(shè)備的設(shè)備信息發(fā)送給所述虛擬機(jī),以使得所述虛擬機(jī)根據(jù)所述設(shè)備信息在虛擬機(jī)側(cè)為所述USB設(shè)備加載第二 USB驅(qū)動(dòng),所述第二 USB驅(qū)動(dòng)通過(guò)所述通信鏈路與所述第一 USB驅(qū)動(dòng)通信以訪問(wèn)所述USB設(shè)備。
[0012]上述的USB設(shè)備映射裝置,其中,所述根據(jù)所述設(shè)備信息,在云終端側(cè)為所述USB設(shè)備加載第一 USB驅(qū)動(dòng)之前,還包括:判定模塊,用于根據(jù)所述設(shè)備信息及預(yù)設(shè)的配置文件,判斷是否需要對(duì)所述USB設(shè)備進(jìn)行映射;當(dāng)所述判斷模塊判定需要對(duì)所述USB設(shè)備進(jìn)行映射時(shí),進(jìn)入第一加載模塊。
[0013]上述的USB設(shè)備映射裝置,其中,所述第一 USB驅(qū)動(dòng)及所述第二 USB驅(qū)動(dòng)均包括:USB設(shè)備類驅(qū)動(dòng)層、USB核心驅(qū)動(dòng)層及USB主控驅(qū)動(dòng)層;所述第二 USB驅(qū)動(dòng)的USB主控驅(qū)動(dòng)層通過(guò)所述通信鏈路與所述第一 USB驅(qū)動(dòng)的USB設(shè)備類驅(qū)動(dòng)層通信以訪問(wèn)所述USB設(shè)備。
[0014]本發(fā)明還提供了一種USB設(shè)備交互裝置,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云終端,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述USB設(shè)備與所述云終端連接,并通過(guò)如上所述的映射方法映射至與所述云終端對(duì)應(yīng)的虛擬機(jī),所述交互裝置包括:第二接收模塊,用于接收所述虛擬機(jī)發(fā)送的封裝有第一USB請(qǐng)求塊URB的第一網(wǎng)絡(luò)包;第一解析模塊,用于對(duì)所述第一網(wǎng)絡(luò)包進(jìn)行解析,得到所述第一 URB ;第二獲取模塊,用于從所述USB設(shè)備中獲取攜帶有與所述第一 URB對(duì)應(yīng)的數(shù)據(jù)的第二 URB ;第一封裝模塊,用于將所述第二 URB封裝為第二網(wǎng)絡(luò)包;第三發(fā)送模塊,用于將所述第二網(wǎng)絡(luò)包發(fā)送給所述虛擬機(jī)。
[0015]本發(fā)明還提供了一種云終端,包括如上所述的裝置。
[0016]本發(fā)明還提供了一種USB設(shè)備映射裝置,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云服務(wù)器,所述USB設(shè)備與所述云終端連接,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述映射裝置包括:第三接收模塊,用于通過(guò)虛擬專用通道,接收所述云終端發(fā)送的鏈路創(chuàng)建請(qǐng)求,所述鏈路創(chuàng)建請(qǐng)求中攜帶有與所述USB設(shè)備對(duì)應(yīng)的USB端口號(hào);創(chuàng)建模塊,用于根據(jù)所述云終端的IP地址及預(yù)設(shè)的通信端口號(hào)創(chuàng)建與所述云終端的通信鏈路;第四發(fā)送模塊,用于通過(guò)所述通信鏈路向所述云終端發(fā)送設(shè)備信息獲取請(qǐng)求,所述設(shè)備信息獲取請(qǐng)求中攜帶有所述USB端口號(hào),以獲取與所述USB端口號(hào)對(duì)應(yīng)的USB設(shè)備的設(shè)備信息;第四接收模塊,用于通過(guò)所述通信鏈路接收所述云終端發(fā)送的所述USB設(shè)備的設(shè)備信息;第二加載模塊,用于根據(jù)所述設(shè)備信息為所述USB設(shè)備在虛擬機(jī)側(cè)加載第二 USB驅(qū)動(dòng),所述第二 USB驅(qū)動(dòng)通過(guò)所述通信鏈路與所述云終端在云終端側(cè)為所述USB設(shè)備加載的第一 USB驅(qū)動(dòng)通信以訪問(wèn)所述USB設(shè)備。
[0017]上述的USB設(shè)備映射裝置,其中,所述第一 USB驅(qū)動(dòng)及所述第二 USB驅(qū)動(dòng)均包括:USB設(shè)備類驅(qū)動(dòng)層、USB核心驅(qū)動(dòng)層及USB主控驅(qū)動(dòng)層;所述第二 USB驅(qū)動(dòng)的USB主控驅(qū)動(dòng)層通過(guò)所述通信鏈路與所述第一 USB驅(qū)動(dòng)的USB設(shè)備類驅(qū)動(dòng)層通信以訪問(wèn)所述USB設(shè)備。
[0018]本發(fā)明還提供了一種USB設(shè)備交互裝置,用于包括USB設(shè)備、云終端和云服務(wù)器的云系統(tǒng)中的云服務(wù)器,所述云服務(wù)器中包括至少一個(gè)虛擬機(jī),所述USB設(shè)備與所述云終端連接,并通過(guò)如上所述的映射方法映射至與所述云終端對(duì)應(yīng)的虛擬機(jī),所述交互裝置包括:第二封裝模塊,用于將第一 USB請(qǐng)求塊URB封裝為第一網(wǎng)絡(luò)包;第五發(fā)送模塊,用于向所述云終端發(fā)送所述第一網(wǎng)絡(luò)包;第五接收模塊,用于接收云終端反饋的封裝有第二 URB的第二網(wǎng)絡(luò)包,所述第二 URB中攜帶有與所述第一 URB對(duì)應(yīng)的數(shù)據(jù);第二解析模塊,用于對(duì)所述第二網(wǎng)絡(luò)包進(jìn)行解