本發(fā)明實施例涉及計算機(jī)技術(shù),特別是一種鼠標(biāo)同步的方法、裝置和系統(tǒng)。
背景技術(shù):
云計算網(wǎng)絡(luò)中包括具有強大計算能力的“云服務(wù)器”和用戶終端,云計算的核心理念就是通過不斷提高“云服務(wù)器”的處理能力,進(jìn)而減少用戶終端的處理負(fù)擔(dān),最終使用戶終端簡化成一個單純的輸入輸出設(shè)備,并能按需享受“云”的強大計算處理能力。用戶終端訪問云服務(wù)器可以通過遠(yuǎn)程桌面實現(xiàn)。桌面云是遠(yuǎn)程桌面中的一種,為云計算技術(shù)提供的統(tǒng)一桌面服務(wù),桌面云將所有桌面虛擬機(jī)在數(shù)據(jù)中心進(jìn)行托管并統(tǒng)一管理;同時用戶能夠獲得完整PC的使用體驗。用戶可以通過瘦客戶端(Thin Client,TC)或者類似的設(shè)備(簡稱云終端)在局域網(wǎng)或者遠(yuǎn)程訪問獲得與傳統(tǒng)PC一致的用戶體驗。
桌面云技術(shù)中,需要將客戶端的鼠標(biāo)的操作信息傳遞到服務(wù)器端,以使得客戶端的鼠標(biāo)操作在服務(wù)器端執(zhí)行并生效,例如,用戶移動客戶端的鼠標(biāo),客戶端通過本地系統(tǒng)的鼠標(biāo)控制應(yīng)用程序接口(Application Programming Interface,API),獲得客戶端鼠標(biāo)按鍵狀態(tài)和當(dāng)前客戶端鼠標(biāo)的位置信息,再通過協(xié)議通訊將其獲取的客戶端鼠標(biāo)操作信息傳遞到服務(wù)器端,服務(wù)器端接收到客戶端鼠標(biāo)操作信息后,根據(jù)客戶端鼠標(biāo)操作信息再通過相關(guān)API將服務(wù)器端鼠標(biāo)設(shè)置到相關(guān)位置和狀態(tài)。
在上述過程中,如何在客戶端顯示鼠標(biāo)的操作信息是一個關(guān)鍵的技術(shù)。現(xiàn)有技術(shù)中的一種方案是客戶端獲取到自己的鼠標(biāo)操作信息之后,先根據(jù)自己鼠標(biāo)的位置信息顯示鼠標(biāo)的位置移動,使得用戶立即看到鼠標(biāo)位置的移動,再向服務(wù)器端傳遞本端鼠標(biāo)的操作信息,服務(wù)器端獲取客戶端鼠標(biāo)操作信息執(zhí)行相關(guān)服務(wù)器端鼠標(biāo)操作之后,服務(wù)器端隱藏自己的鼠標(biāo)光標(biāo),并發(fā)送自己的鼠標(biāo)光標(biāo)圖形給客戶端,客戶端在之前已經(jīng)顯示給用戶的鼠標(biāo)的位置上,直接顯示接收到的服務(wù)端鼠標(biāo)光標(biāo)形狀即可。
然而上述技術(shù)方案,實際上存在客戶端顯示的鼠標(biāo)位置和服務(wù)端實際鼠標(biāo)位置不能精確同步的問題,如果服務(wù)器端還運行一些對鼠標(biāo)位置進(jìn)行控制的特殊程序,例如,在虛擬桌面中運行即時通訊軟件,可以給他人共享自己的桌面,并允許他人遠(yuǎn)程控制鼠標(biāo),此類軟件會不斷設(shè)置虛擬桌面鼠標(biāo)位置為他人遠(yuǎn)程控制的位置,再例如,虛擬桌面運行第一人稱視角射擊游戲時,通常此類游戲都會強制設(shè)置鼠標(biāo)到屏幕中央,此時,由于客戶端顯示的是自己的鼠標(biāo)位置,因此會導(dǎo)致用戶看不到服務(wù)器端鼠標(biāo)光標(biāo)的真實位置,造成不同步。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提出了一種鼠標(biāo)同步的方法、裝置和系統(tǒng),以實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步。
第一方面,本發(fā)明實施例提出了一種鼠標(biāo)同步的方法,所述鼠標(biāo)同步包括客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,包括:獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動;向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息,以使得所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;接收所述服務(wù)器端返回的服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息之前,還包括:獲取客戶端鼠標(biāo)信息記錄模塊記錄的客戶端鼠標(biāo)的上次移動后的記錄信息;比較所述客戶端鼠標(biāo)的上次移動后的記錄信息與所述客戶端鼠標(biāo)的第一信息,當(dāng)所述客戶端鼠標(biāo)的第一信息相對所述客戶端鼠標(biāo)的上次移動后的記錄信息發(fā)生變化時,執(zhí)行所述向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息的步驟。
結(jié)合第一方面或者第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,當(dāng)所述客戶端鼠標(biāo)的第一信息相對所述客戶端鼠標(biāo)的上次移動后的記錄信息發(fā)生變化時,還包括:根據(jù)所述客戶端鼠標(biāo)的第一信息,更新所述客戶端鼠標(biāo)信息記錄模塊記錄的客戶端鼠標(biāo)的上次移動后的記錄信息。
結(jié)合第一方面或者第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動之前,還包括:再次獲取客戶端鼠標(biāo)信息記錄模塊記錄的客戶端鼠標(biāo)的上次移動后的記錄信息,其中,所述客戶端鼠標(biāo)的上次移動后的記錄信息為所述客戶端鼠標(biāo)的第一信息;比較所述客戶端鼠標(biāo)的第一信息與所述服務(wù)器端鼠標(biāo)的第二信息,當(dāng)所述服務(wù)器端鼠標(biāo)的第二信息相對所述客戶端鼠標(biāo)的第一信息發(fā)生變化時,執(zhí)行根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動的步驟。
第二方面,還提出了一種鼠標(biāo)同步的方法,所述鼠標(biāo)同步包括客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,包括:接收客戶端上報的客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息,以使得所述客戶端根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后,還包括:監(jiān)測是否發(fā)生服務(wù)器端鼠標(biāo)再次移動事件,如果檢測到所述服務(wù)器端鼠標(biāo)再次移動事件,執(zhí)行所述獲取服務(wù)器端鼠標(biāo)的第二信息的步驟。
結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述監(jiān)測是否發(fā)生服務(wù)器端鼠標(biāo)再次移動事件,包括:當(dāng)發(fā)生第三方程序調(diào)用所述服務(wù)器端鼠標(biāo)控制接口,并使得所述服務(wù)器端鼠標(biāo)控制接口控制服務(wù)器端鼠標(biāo)再次移動,監(jiān)測到發(fā)生所述服務(wù)器端鼠標(biāo)再次移動事件。
結(jié)合第二方面或者第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之前,還包括:獲取服務(wù)器端鼠標(biāo)信息記錄模塊記錄的服務(wù)器端鼠標(biāo)的上次移動后的記錄信息;比較所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息與所述客戶端鼠標(biāo)的第一信息,當(dāng)所述第一信息相對所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息發(fā)生變化時,執(zhí)行根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作的步驟。
結(jié)合第二方面或者第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后,還包括:根據(jù)所述客戶端鼠標(biāo)的第一信息,更新所述服務(wù)器端鼠標(biāo)信息記錄模塊記錄的服務(wù)器端鼠標(biāo)的上次移動后的記錄信息。
結(jié)合第二方面或者第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息之前,還包括:再次獲取服務(wù)器端鼠標(biāo)信息記錄模塊記錄的服務(wù)器端鼠標(biāo)的上次移動后的記錄信息,其中,所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息為所述客戶端鼠標(biāo)的第一信息;比較所述客戶端鼠標(biāo)的第一信息與所述服務(wù)器端鼠標(biāo)的第二信息,當(dāng)所述服務(wù)器端鼠標(biāo)的第二信息相對所述客戶端鼠標(biāo)的第一信息發(fā)生變化時,執(zhí)行向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息的步驟。
第三方面,提出了一種用于客戶端裝置,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,包括:第一獲取單元,用于獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;客戶端鼠標(biāo)控制單元,用于根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動;第一通信單元,用于向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息,以使得所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;所述第一獲取單元,還用于接收所述服務(wù)器端返回的服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;所述客戶端鼠標(biāo)控制單元,還用于根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
第四方面,提出一種服務(wù)器,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,包括:第二通信單元,用于接收客戶端上報的客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;服務(wù)器端鼠標(biāo)控制單元,用于根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;第二獲取單元,用于獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;所述第二通信單元,還用于向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息,以使得所述客戶端根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
第五方面,提出一種通信系統(tǒng),所述通信系統(tǒng)包括客戶端裝置和服務(wù)器,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,所述客戶端裝置用于獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息,根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動,以及向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息;所述服務(wù)器用于接收客戶端上報的所述客戶端鼠標(biāo)的第一信息,根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作,獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息,以及向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息;所述客戶端裝置還用于接收所述服務(wù)器端返回的所述服務(wù)器端鼠標(biāo)的第二信息,根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
第六方面,提出一種客戶端裝置,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,所述裝置包括包括處理器、存儲器、總線和通信接口;所述存儲器用于存儲計算機(jī)執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當(dāng)所述客戶端裝置運行時,所述處理器執(zhí)行所述存儲器存儲的所述計算機(jī)執(zhí)行指令,以使所述客戶端裝置執(zhí)行如上第一方面所述的鼠標(biāo)同步的方法。
第七方面,提出一種服務(wù)器,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步;所述服務(wù)器包括包括處理器、存儲器、總線和通信接口;所述存儲器用于存儲計算機(jī)執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當(dāng)所述客戶端裝置運行時,所述處理器執(zhí)行所述存儲器存儲的所述計算機(jī)執(zhí)行指令,以使所述服務(wù)器執(zhí)行如上第二方面所述的鼠標(biāo)同步的方法。
第八方面,提出一種計算機(jī)可讀介質(zhì),包括計算機(jī)執(zhí)行指令,以供計算機(jī)的處理器執(zhí)行所述計算機(jī)執(zhí)行指令時,所述計算機(jī)執(zhí)行如上第一方面所述的鼠標(biāo)同步的方法。
第九方面,提出又一種計算機(jī)可讀介質(zhì),包括計算機(jī)執(zhí)行指令,以供計算機(jī)的處理器執(zhí)行所述計算機(jī)執(zhí)行指令時,所述計算機(jī)執(zhí)行如上第二方面所述的鼠標(biāo)同步的方法。
本發(fā)明實施例中,服務(wù)器端鼠標(biāo)根據(jù)客戶端的鼠標(biāo)信息進(jìn)行移動之后,服務(wù)器端還能夠捕獲服務(wù)器端最新的鼠標(biāo)信息,并且將服務(wù)器端最新的鼠標(biāo)信息返回到客戶端,使得客戶端在根據(jù)本端用戶操作進(jìn)行鼠標(biāo)移動之后還能夠根據(jù)服務(wù)器端的最新的鼠標(biāo)信息再次調(diào)整客戶端的光標(biāo)顯示,從而保證客戶端與服務(wù)器鼠標(biāo)的精準(zhǔn)同步,使得用戶獲得準(zhǔn)確的鼠標(biāo)信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。
附圖說明
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對現(xiàn)有技術(shù)或?qū)嵤├兴枰褂玫母綀D作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實施例鼠標(biāo)同步通信系統(tǒng)的架構(gòu)示意圖;
圖2是根據(jù)本發(fā)明實施例一的鼠標(biāo)同步方法的流程圖;
圖3是根據(jù)本發(fā)明實施例二的鼠標(biāo)同步方法的流程圖;
圖4是根據(jù)本發(fā)明實施例三的鼠標(biāo)同步方法的流程圖;
圖5是根據(jù)本發(fā)明實施例客戶端裝置的組成示意圖;
圖6是根據(jù)本發(fā)明實施例服務(wù)器的組成示意圖;
圖7是根據(jù)本發(fā)明實施例通信系統(tǒng)的組成示意圖;
圖8是根據(jù)本發(fā)明又一實施例客戶端裝置的組成示意圖;
圖9是根據(jù)本發(fā)明又一實施例服務(wù)器的組成示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
圖1描繪了實施本發(fā)明實施例鼠標(biāo)同步的方法的系統(tǒng)架構(gòu)的一個示例,該架構(gòu)描繪了桌面云的應(yīng)用場景,桌面云通常由客戶端和服務(wù)器端組成,客戶端的計算機(jī)/終端設(shè)備通過訪問服務(wù)器端的遠(yuǎn)程計算設(shè)備,將遠(yuǎn)程計算機(jī)的桌面?zhèn)魉偷娇蛻舳说慕K端設(shè)備。圖1中客戶端包括普通計算機(jī)(101)、平板電腦(102)、智能手機(jī)(103),也可以包括瘦終端TC(圖未示),客戶端的計算機(jī)或者終端設(shè)備通過網(wǎng)絡(luò)(201)使用遠(yuǎn)程桌面協(xié)議(202)訪問遠(yuǎn)程服務(wù)器端。服務(wù)器端包括服務(wù)器301、302、303....30n,用戶的虛擬桌面(Virtual Desktop)以虛擬機(jī)(301a、301b····301n)的形式由服務(wù)器301實現(xiàn),服務(wù)器302、303....30n與服務(wù)器301類似。用戶通過客戶端訪問服務(wù)器上分配給該用戶的虛擬機(jī),該虛擬機(jī)將用戶訪問的內(nèi)容傳輸?shù)接脩舻目蛻舳诉M(jìn)行顯示。服務(wù)器端還可以包括桌面云管理系統(tǒng)等(圖未示),管理系統(tǒng)可以裝載在服務(wù)器端的任意服務(wù)器上。
本發(fā)明實施例中的鼠標(biāo)同步過程可以在圖1所示的桌面云的架構(gòu)下實施,但是圖1所示的只是其中一種遠(yuǎn)程桌面場景為桌面云的場景,本實施場景僅是一種示例性說明,圖1所示的各組成也只是給出了與本發(fā)明實施例相關(guān)的組成部分,并不是對本發(fā)明應(yīng)用的具體限定。
在圖1所示的桌面云的架構(gòu)下,本發(fā)明實施例的鼠標(biāo)同步的方法的實施例一可以如圖2所示執(zhí)行,包括:
步驟S201:客戶端裝置獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;
步驟S202:客戶端裝置根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動;
步驟S203:客戶端裝置向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息;
步驟S204:服務(wù)器端接收客戶端上報的客戶端鼠標(biāo)的第一信息,根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;
步驟S205:獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;
步驟S206:向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息;
步驟S207:客戶端接收所述服務(wù)器端返回的服務(wù)器端鼠標(biāo)的第二信息,根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
本發(fā)明實施例中,服務(wù)器端鼠標(biāo)根據(jù)客戶端的鼠標(biāo)信息進(jìn)行移動之后,服務(wù)器端還能夠捕獲服務(wù)器端最新的鼠標(biāo)信息,并且將服務(wù)器端最新的鼠標(biāo)信息返回到客戶端,使得客戶端在根據(jù)本端用戶操作進(jìn)行鼠標(biāo)移動之后還能夠根據(jù)服務(wù)器端的最新的鼠標(biāo)信息再次調(diào)整客戶端的光標(biāo)顯示,從而保證客戶端與服務(wù)器鼠標(biāo)的精準(zhǔn)同步,使得用戶獲得準(zhǔn)確的鼠標(biāo)信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。
以上實施例可以通過改造客戶端裝置與服務(wù)器的現(xiàn)有功能模塊實現(xiàn)本發(fā)明實施例的鼠標(biāo)同步的方法,也可以通過在客戶端裝置與服務(wù)器中新增功能模塊的方式實現(xiàn)本發(fā)明實施例的鼠標(biāo)同步的方法。以下實施例將以客戶端裝置和服務(wù)器中的鼠標(biāo)控制應(yīng)用程序接口API和鍵鼠服務(wù)模塊為例,來描述幾個具體實施例。
另外,本發(fā)明實施例中的鼠標(biāo)信息具體可以包括鼠標(biāo)的位置信息和鼠標(biāo)的按鍵狀態(tài)信息任意之一或者兩者,在以下的具體實施例中將以包含兩者為例。
本發(fā)明實施例的鼠標(biāo)同步的方法的實施例二可以如圖3所示,包括:
步驟S301:用戶移動鼠標(biāo),客戶端鼠標(biāo)控制API獲取當(dāng)前客戶端鼠標(biāo)的第一位置信息和第一按鍵狀態(tài)信息;
具體地,客戶端鼠標(biāo)控制API獲取的當(dāng)前客戶端鼠標(biāo)的第一位置信息通過客戶端屏幕x與y坐標(biāo)信息表示。
步驟S302:客戶端鼠標(biāo)控制API根據(jù)獲取的客戶端鼠標(biāo)第一位置信息和第一按鍵狀態(tài)信息控制客戶端光標(biāo)移動,以顯示給用戶;
步驟S303:客戶端鍵鼠服務(wù)模塊通過事件消息機(jī)制獲取到所述客戶端鼠標(biāo)第一位置信息和第一按鍵狀態(tài)信息,并通過客戶端與服務(wù)器端的通信協(xié)議將所述客戶端鼠標(biāo)第一位置信息和第一按鍵狀態(tài)信息發(fā)送到服務(wù)器端;
步驟S304:服務(wù)器端鍵鼠服務(wù)模塊接收所述客戶端鼠標(biāo)第一位置信息和第一按鍵狀態(tài)信息,調(diào)用服務(wù)器端鼠標(biāo)控制API;
步驟S305:服務(wù)器端鼠標(biāo)控制API根據(jù)所述客戶端鼠標(biāo)第一位置信息和第一按鍵狀態(tài)信息,進(jìn)行鼠標(biāo)重定向操作,即控制服務(wù)器端鼠標(biāo)移動到服務(wù)器端鼠標(biāo)第一位置和服務(wù)器端鼠標(biāo)第一按鍵狀態(tài);
同時,在本步驟中,服務(wù)器端鼠標(biāo)控制API需要隱藏服務(wù)器端的鼠標(biāo)的光標(biāo)位置,以免客戶端察覺鼠標(biāo)移動的延遲;
步驟S306:第三方應(yīng)用程序調(diào)用所述服務(wù)器端鼠標(biāo)控制API,并使得所述服務(wù)器端鼠標(biāo)控制API控制服務(wù)器端鼠標(biāo)的位置或者按鍵狀態(tài)進(jìn)行改變;
步驟S307:服務(wù)器端鍵鼠服務(wù)模塊通過事件消息機(jī)制獲取到所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息,第二位置信息和第二按鍵狀態(tài)信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;并通過客戶端與服務(wù)器端的通信協(xié)議將所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息發(fā)送到客戶端;
步驟S308:客戶端鍵鼠服務(wù)模塊接收所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息,調(diào)用客戶端鼠標(biāo)控制API;
步驟S309:客戶端鼠標(biāo)控制API根據(jù)所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息,控制客戶端光標(biāo)移動到第二位置和實現(xiàn)第二按鍵狀態(tài),以顯示給用戶。
本發(fā)明實施例中,服務(wù)器端鼠標(biāo)根據(jù)客戶端的鼠標(biāo)位置和按鍵狀態(tài)進(jìn)行移動之后,服務(wù)器端還能夠捕獲服務(wù)器端最新的鼠標(biāo)位置和按鍵狀態(tài),并且將服務(wù)器端最新的鼠標(biāo)位置和按鍵狀態(tài)返回到客戶端,使得客戶端能夠根據(jù)服務(wù)器端的最新的鼠標(biāo)位置和按鍵狀態(tài)調(diào)整客戶端的光標(biāo)顯示,能夠保證客戶端與服務(wù)器鼠標(biāo)的精準(zhǔn)同步,從而使得用戶獲得準(zhǔn)確的鼠標(biāo)位置和按鍵狀態(tài)信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。
本發(fā)明實施例的鼠標(biāo)同步的方法的實施例三可以如圖4所示,包括:
步驟S401:在客戶端和服務(wù)器端均設(shè)置鼠標(biāo)信息記錄模塊,如客戶端鼠標(biāo)信息記錄模塊和服務(wù)器端鼠標(biāo)信息記錄模塊,每端的鼠標(biāo)信息記錄模塊用于記錄本端鼠標(biāo)的上次移動后的記錄信息(位置上次移動后的記錄信息,按鍵狀態(tài)上次移動后的記錄信息),當(dāng)客戶端和服務(wù)器端初始啟動時,每端的鼠標(biāo)信息記錄模塊記錄本端鼠標(biāo)的初始信息(初始位置信息,初始按鍵狀態(tài)信息);
其中,客戶端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)初始信息與服務(wù)器端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)初始信息默認(rèn)為相同;
步驟S402:用戶移動鼠標(biāo),客戶端鼠標(biāo)控制API獲取當(dāng)前客戶端鼠標(biāo)的第一信息(第一位置信息,第一按鍵狀態(tài)信息);
具體地,客戶端鼠標(biāo)控制API獲取的當(dāng)前客戶端鼠標(biāo)的第一位置信息通過客戶端屏幕x與y坐標(biāo)信息表示。
步驟S403:客戶端鍵鼠服務(wù)模塊通過事件消息機(jī)制獲取到所述客戶端鼠標(biāo)的信息(第一位置信息,第一按鍵狀態(tài)信息),客戶端鍵鼠服務(wù)模塊比較當(dāng)前客戶端鼠標(biāo)信息(第一位置信息,第一按鍵狀態(tài)信息)與客戶端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)的初始信息(初始位置信息,初始按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S404,如果沒有發(fā)生變化,客戶端鼠標(biāo)控制API返回執(zhí)行步驟S402;
步驟S404:客戶端鍵鼠服務(wù)模塊根據(jù)獲取的當(dāng)前客戶端鼠標(biāo)的第一信息(第一位置信息,第一按鍵狀態(tài)信息)控制客戶端光標(biāo)移動,并顯示給用戶;
本實施例中,還可以更新客戶端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)的上次移動后的記錄信息為當(dāng)前值(第一位置信息,第一按鍵狀態(tài)信息);
步驟S405:客戶端鍵鼠服務(wù)模塊通過客戶端與服務(wù)器端的通信協(xié)議將所述客戶端鼠標(biāo)的第一信息(第一位置信息,第一按鍵狀態(tài)信息)發(fā)送到服務(wù)器端;
步驟S406:服務(wù)器端鍵鼠服務(wù)模塊接收所述客戶端鼠標(biāo)的第一信息(第一位置信息,第一按鍵狀態(tài)信息);
步驟S407:服務(wù)器端鍵鼠服務(wù)模塊比較當(dāng)前客戶端鼠標(biāo)的第一信息(第一位置信息,第一按鍵狀態(tài)信息)與服務(wù)器端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)的初始信息(初始位置信息,初始按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S408,如果沒有發(fā)生變化,則返回執(zhí)行步驟S406;
步驟S408:服務(wù)器端鍵鼠服務(wù)模塊調(diào)用服務(wù)器端鼠標(biāo)控制API進(jìn)行鼠標(biāo)重定向操作,即使得所述服務(wù)器端鼠標(biāo)控制API根據(jù)所述客戶端鼠標(biāo)第一位置信息和第一按鍵狀態(tài)信息,控制服務(wù)器端鼠標(biāo)移動到服務(wù)器端鼠標(biāo)第一位置和服務(wù)器端鼠標(biāo)第一按鍵狀態(tài);
本實施例中,還可以更新服務(wù)器端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)的上次移動后的記錄信息為當(dāng)前值(第一位置信息,第一按鍵狀態(tài)信息);
同時,在本步驟中,如果移動服務(wù)器端鼠標(biāo),服務(wù)器端鼠標(biāo)控制API需要隱藏服務(wù)器端的鼠標(biāo)的光標(biāo)位置,以免客戶端察覺鼠標(biāo)移動的延遲;
步驟S409:服務(wù)器端鍵鼠服務(wù)模塊監(jiān)測是否發(fā)生服務(wù)器端鼠標(biāo)再次移動事件,如果檢測到所述服務(wù)器端鼠標(biāo)再次移動事件,獲取服務(wù)器端鼠標(biāo)的第二信息,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;
若第三方應(yīng)用程序調(diào)用所述服務(wù)器端鼠標(biāo)控制API,并使得所述服務(wù)器端鼠標(biāo)控制API控制服務(wù)器端鼠標(biāo)的位置或者按鍵狀態(tài)進(jìn)行改變,所述服務(wù)器端鍵鼠服務(wù)模塊獲取更新后的服務(wù)器端鼠標(biāo)的實時信息,即第二信息(第二位置信息,第二按鍵狀態(tài)信息);
步驟S410:服務(wù)器端鍵鼠服務(wù)模塊比較該更新后的服務(wù)器端鼠標(biāo)的第二信息(第二位置信息,第二按鍵狀態(tài)信息)與服務(wù)器端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)的上次移動后的記錄信息(第一位置信息和第一按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S411,如果沒有發(fā)生變化,返回執(zhí)行步驟S409;
步驟S411:所述服務(wù)器端鍵鼠服務(wù)通過客戶端與服務(wù)器端的通信協(xié)議將所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息發(fā)送到客戶端;
步驟S412:客戶端鍵鼠服務(wù)模塊接收所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息,客戶端鍵鼠服務(wù)模塊比較所述服務(wù)器端鼠標(biāo)的第二信息(第二位置信息,第二按鍵狀態(tài)信息)與客戶端鼠標(biāo)信息記錄模塊記錄的本端鼠標(biāo)的上次移動后的信息(第一位置信息,第一按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S413;
步驟S413:客戶端鍵鼠服務(wù)模塊調(diào)用客戶端鼠標(biāo)控制API,使得客戶端鼠標(biāo)控制API根據(jù)所述服務(wù)器端鼠標(biāo)第二位置信息和第二按鍵狀態(tài)信息,控制客戶端光標(biāo)移動到第二位置和實現(xiàn)第二按鍵狀態(tài),以顯示給用戶。
在本發(fā)明實施例三中的另一個可以執(zhí)行的實施例中,當(dāng)步驟S403或者步驟S410在進(jìn)行比較動作之后,若確定發(fā)生變化之后,還可以獲得發(fā)生變化的改變值(或者差值),例如,獲取所述客戶端鼠標(biāo)的第一信息相對所述客戶端鼠標(biāo)的上次移動后的記錄信息的改變值,并在步驟S405或者步驟S411中向?qū)Χ送ㄖ鄳?yīng)的改變值(或者差值),那么相應(yīng)地,如果只是向?qū)Χ藗鬟f鼠標(biāo)信息的改變值或者差值時,對端需要根據(jù)本端的鼠標(biāo)信息記錄模塊記錄的鼠標(biāo)信息和所述改變值(或者差值)恢復(fù)出當(dāng)前鼠標(biāo)信息的真實位置或按鍵狀態(tài)信息,并進(jìn)行相應(yīng)地操作。
本發(fā)明實施例中,服務(wù)器端鼠標(biāo)根據(jù)客戶端的鼠標(biāo)位置和按鍵狀態(tài)進(jìn)行移動之后,服務(wù)器端還能夠捕獲服務(wù)器端最新的鼠標(biāo)位置和按鍵狀態(tài),并且將服務(wù)器端最新的鼠標(biāo)位置和按鍵狀態(tài)返回到客戶端,使得客戶端能夠根據(jù)服務(wù)器端的最新的鼠標(biāo)位置和按鍵狀態(tài)調(diào)整客戶端的光標(biāo)顯示,能夠保證客戶端與服務(wù)器鼠標(biāo)的精準(zhǔn)同步,從而使得用戶獲得準(zhǔn)確的鼠標(biāo)位置和按鍵狀態(tài)信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。
同時在本實施例中,由于設(shè)置了鼠標(biāo)信息記錄模塊,因此本實施例中,只在當(dāng)前鼠標(biāo)的位置信息或者按鍵狀態(tài)發(fā)生變化時,才向?qū)Χ送ㄖ鄳?yīng)的鼠標(biāo)位置信息或者按鍵狀態(tài)信息,可以減少鼠標(biāo)重定向操作的次數(shù),同時減少客戶端和服務(wù)器端消息的交互,減少帶寬的占用,同時減輕相關(guān)設(shè)備的負(fù)載。
圖5為本發(fā)明實施例的客戶端裝置的結(jié)構(gòu)組成示意圖,本發(fā)明實施例的客戶端裝置可以通過瘦終端或者用戶移動終端中的硬件實現(xiàn)或者軟件組件實現(xiàn),例如可以通過瘦終端中的鍵鼠服務(wù)模塊實現(xiàn)。
所述客戶端裝置500,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,包括:
第一獲取單元501,用于獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;
客戶端鼠標(biāo)控制單元502,用于根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動;
第一通信單元503,用于向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息,以使得所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;
所述第一獲取單元501,還用于接收所述服務(wù)器端返回的服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;
所述客戶端鼠標(biāo)控制單元502,還用于根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
進(jìn)一步地,所述客戶端裝置還可以包括客戶端鼠標(biāo)信息記錄模塊504,用于保存客戶端鼠標(biāo)的上次移動后的記錄信息;
則,所述第一獲取單元501,還用于獲取所述客戶端鼠標(biāo)信息記錄模塊記錄的客戶端鼠標(biāo)的上次移動后的記錄信息,比較所述客戶端鼠標(biāo)的上次移動后的記錄信息與所述客戶端鼠標(biāo)的第一信息,當(dāng)所述客戶端鼠標(biāo)的第一信息相對所述客戶端鼠標(biāo)的上次移動后的記錄信息發(fā)生變化時,觸發(fā)所述第一通信單元503執(zhí)行所述向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息。
所述客戶端鼠標(biāo)信息記錄模塊504,還可以用于根據(jù)所述客戶端鼠標(biāo)的第一信息,更新所述客戶端鼠標(biāo)信息記錄模塊504記錄的客戶端鼠標(biāo)的上次移動后的記錄信息。
所述第一獲取單元501,還用于再次獲取客戶端鼠標(biāo)信息記錄模塊記錄的客戶端鼠標(biāo)的上次移動后的記錄信息,其中,所述客戶端鼠標(biāo)的上次移動后的記錄信息為所述客戶端鼠標(biāo)的第一信息,比較所述客戶端鼠標(biāo)的第一信息與所述服務(wù)器端鼠標(biāo)的第二信息,當(dāng)所述服務(wù)器端鼠標(biāo)的第二信息相對所述客戶端鼠標(biāo)的第一信息發(fā)生變化時,觸發(fā)所述客戶端鼠標(biāo)控制單元502根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
圖6為本發(fā)明實施例的服務(wù)器的結(jié)構(gòu)組成示意圖,本發(fā)明實施例的服務(wù)器可以是客戶端遠(yuǎn)程登錄的遠(yuǎn)端處理服務(wù)器,也可以是桌面云場景/虛擬化場景中提供虛擬機(jī)的服務(wù)器,或者提供虛擬機(jī)管理的服務(wù)器;該服務(wù)器實現(xiàn)鼠標(biāo)同步的功能可以通過硬件實現(xiàn)或者軟件組件實現(xiàn),例如可以通過安裝在服務(wù)器中的鍵鼠服務(wù)模塊實現(xiàn)。
所述服務(wù)器600,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步,包括:
第二通信單元601,用于接收客戶端上報的客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;
服務(wù)器端鼠標(biāo)控制單元602,用于根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;
第二獲取單元603,用于獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;
所述第二通信單元601,還用于向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息,以使得所述客戶端根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
所述服務(wù)器還可以包括服務(wù)器端鼠標(biāo)信息記錄模塊604,用于保存服務(wù)器端鼠標(biāo)的上次移動后的記錄信息;
則,所述第二獲取單元603,還用于獲取所述服務(wù)器端鼠標(biāo)信息記錄模塊保存的服務(wù)器端鼠標(biāo)的上次移動后的記錄信息,比較所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息與所述客戶端鼠標(biāo)的第一信息,當(dāng)所述第一信息相對所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息發(fā)生變化時,觸發(fā)所述服務(wù)器端鼠標(biāo)控制單元602執(zhí)行根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作。
所述服務(wù)器端鼠標(biāo)信息記錄模塊604,還用于將根據(jù)所述客戶端鼠標(biāo)的第一信息,更新所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息。
所述第二獲取單元603,在獲取服務(wù)器端鼠標(biāo)的第二信息之后,還用于再次獲取服務(wù)器端鼠標(biāo)信息記錄模塊記錄的服務(wù)器端鼠標(biāo)的上次移動后的記錄信息,其中,所述服務(wù)器端鼠標(biāo)的上次移動后的記錄信息為所述客戶端鼠標(biāo)的第一信息,比較所述客戶端鼠標(biāo)的第一信息與所述服務(wù)器端鼠標(biāo)的第二信息,當(dāng)所述服務(wù)器端鼠標(biāo)的第二信息相對所述客戶端鼠標(biāo)的第一信息發(fā)生變化時,觸發(fā)所述第二通信單元601向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息。
所述服務(wù)器還包括監(jiān)測單元605,用于監(jiān)測是否發(fā)生服務(wù)器端鼠標(biāo)再次移動事件,如果檢測到所述服務(wù)器端鼠標(biāo)再次移動事件,觸發(fā)所述第二獲取單元603獲取服務(wù)器端鼠標(biāo)的第二信息。
所述監(jiān)測單元605,具體用于監(jiān)測是否發(fā)生第三方程序調(diào)用所述服務(wù)器端鼠標(biāo)控制接口,并使得所述服務(wù)器端鼠標(biāo)控制接口控制服務(wù)器端鼠標(biāo)再次移動,如果是,確定發(fā)生所述服務(wù)器端鼠標(biāo)再次移動事件。
圖7為本發(fā)明實施例的通信系統(tǒng)的結(jié)構(gòu)組成示意圖,該通信系統(tǒng)700用于客戶端遠(yuǎn)程登錄的遠(yuǎn)端處理服務(wù)器的場景,也可以是用戶使用桌面云場景/虛擬化場景,該系統(tǒng)包括客戶端裝置701和服務(wù)器702,用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步;
所述客戶端裝置701用于獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息,根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動,以及向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息;
所述服務(wù)器702用于接收客戶端上報的所述客戶端鼠標(biāo)的第一信息,根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作,獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息,以及向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息;
所述客戶端裝置701還用于接收所述服務(wù)器端返回的所述服務(wù)器端鼠標(biāo)的第二信息,根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
具體地,該客戶端裝置701可以包括如圖5所示的各功能子模塊,服務(wù)器702可以包括如圖6所示的各功能子模塊,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。
圖8為本發(fā)明實施例的客戶端裝置的結(jié)構(gòu)組成示意圖。本發(fā)明實施例的客戶端裝置用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步;
該客戶端裝置可包括:
處理器801、存儲器802、系統(tǒng)總線803和通信接口804。處理器801、存儲器802和通信接口804之間通過系統(tǒng)總線803連接并完成相互間的通信。
處理器801可能為單核或多核中央處理單元(Central Processing Unit,CPU),或者為特定集成電路(Application Specific Integrated Circuit,ASIC),或者為被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器802可以為高速RAM存儲器,也可以為非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
存儲器802用于存放程序805。具體的,程序805中可以包括程序代碼,所述程序代碼包括計算機(jī)執(zhí)行指令。
當(dāng)虛擬機(jī)系統(tǒng)資源管理裝置運行時,處理器801運行程序805,以執(zhí)行以下指令:
獲取客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;
根據(jù)所述客戶端鼠標(biāo)的第一信息控制客戶端光標(biāo)移動;
向服務(wù)器端上報所述客戶端鼠標(biāo)的第一信息,以使得所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;
接收所述服務(wù)器端返回的服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;
根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
具體地,本發(fā)明實施例中的客戶端裝置還根據(jù)所述指令執(zhí)行上述圖3或4所示的鼠標(biāo)同步方法,具體在此不再贅述。
圖9為本發(fā)明實施例的服務(wù)器的結(jié)構(gòu)組成示意圖。本發(fā)明實施例的服務(wù)器用于實現(xiàn)客戶端鼠標(biāo)與服務(wù)器端鼠標(biāo)的同步;
該服務(wù)器可包括:
處理器901、存儲器902、系統(tǒng)總線903和通信接口904。處理器901、存儲器902和通信接口904之間通過系統(tǒng)總線803連接并完成相互間的通信。
處理器901可能為單核或多核中央處理單元(Central Processing Unit,CPU),或者為特定集成電路(Application Specific Integrated Circuit,ASIC),或者為被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器902可以為高速RAM存儲器,也可以為非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。
存儲器902用于存放程序905。具體的,程序905中可以包括程序代碼,所述程序代碼包括計算機(jī)執(zhí)行指令。
當(dāng)虛擬機(jī)系統(tǒng)資源管理裝置運行時,處理器901運行程序905,以執(zhí)行以下指令:
接收客戶端上報的客戶端鼠標(biāo)的第一信息,其中,所述客戶端鼠標(biāo)的第一信息是用戶操作客戶端鼠標(biāo)之后客戶端鼠標(biāo)的實時信息;
根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作;
獲取服務(wù)器端鼠標(biāo)的第二信息,其中,所述服務(wù)器端鼠標(biāo)的第二信息為所述服務(wù)器端根據(jù)所述客戶端鼠標(biāo)的第一信息進(jìn)行鼠標(biāo)重定向操作之后的服務(wù)器端鼠標(biāo)的實時信息;
向所述客戶端發(fā)送所述服務(wù)器端鼠標(biāo)的第二信息,以使得所述客戶端根據(jù)所述服務(wù)器端鼠標(biāo)的第二信息控制所述客戶端光標(biāo)再次移動。
具體地,本發(fā)明實施例中的服務(wù)器還根據(jù)所述指令執(zhí)行上述圖3或4所示的鼠標(biāo)同步方法,具體在此不再贅述。
本領(lǐng)域普通技術(shù)人員將會理解,本發(fā)明的各個方面、或各個方面的可能實現(xiàn)方式可以被具體實施為系統(tǒng)、方法或者計算機(jī)程序產(chǎn)品。因此,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用完全硬件實施例、完全軟件實施例(包括固件、駐留軟件等等),或者組合軟件和硬件方面的實施例的形式,在這里都統(tǒng)稱為“電路”、“模塊”或者“系統(tǒng)”。此外,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用計算機(jī)程序產(chǎn)品的形式,計算機(jī)程序產(chǎn)品是指存儲在計算機(jī)可讀介質(zhì)中的計算機(jī)可讀程序代碼。
計算機(jī)可讀介質(zhì)可以是計算機(jī)可讀信號介質(zhì)或者計算機(jī)可讀存儲介質(zhì)。計算機(jī)可讀存儲介質(zhì)包含但不限于電子、磁性、光學(xué)、電磁、紅外或半導(dǎo)體系統(tǒng)、設(shè)備或者裝置,或者前述的任意適當(dāng)組合,如隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM或者快閃存儲器)、光纖、便攜式只讀存儲器(CD-ROM)。
計算機(jī)中的處理器讀取存儲在計算機(jī)可讀介質(zhì)中的計算機(jī)可讀程序代碼,使得處理器能夠執(zhí)行在流程圖中每個步驟、或各步驟的組合中規(guī)定的功能動作;生成實施在框圖的每一塊、或各塊的組合中規(guī)定的功能動作的裝置。
計算機(jī)可讀程序代碼可以完全在用戶的計算機(jī)上執(zhí)行、部分在用戶的計算機(jī)上執(zhí)行、作為單獨的軟件包、部分在用戶的計算機(jī)上并且部分在遠(yuǎn)程計算機(jī)上,或者完全在遠(yuǎn)程計算機(jī)或者服務(wù)器上執(zhí)行。也應(yīng)該注意,在某些替代實施方案中,在流程圖中各步驟、或框圖中各塊所注明的功能可能不按圖中注明的順序發(fā)生。例如,依賴于所涉及的功能,接連示出的兩個步驟、或兩個塊實際上可能被大致同時執(zhí)行,或者這些塊有時候可能被以相反順序執(zhí)行。
本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機(jī)軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。