欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

鼠標同步的方法、裝置和系統(tǒng)與流程

文檔序號:12040938閱讀:788來源:國知局
鼠標同步的方法、裝置和系統(tǒng)與流程
本發(fā)明實施例涉及計算機技術,特別是一種鼠標同步的方法、裝置和系統(tǒng)。

背景技術:
云計算網(wǎng)絡中包括具有強大計算能力的“云服務器”和用戶終端,云計算的核心理念就是通過不斷提高“云服務器”的處理能力,進而減少用戶終端的處理負擔,最終使用戶終端簡化成一個單純的輸入輸出設備,并能按需享受“云”的強大計算處理能力。用戶終端訪問云服務器可以通過遠程桌面實現(xiàn)。桌面云是遠程桌面中的一種,為云計算技術提供的統(tǒng)一桌面服務,桌面云將所有桌面虛擬機在數(shù)據(jù)中心進行托管并統(tǒng)一管理;同時用戶能夠獲得完整PC的使用體驗。用戶可以通過瘦客戶端(ThinClient,TC)或者類似的設備(簡稱云終端)在局域網(wǎng)或者遠程訪問獲得與傳統(tǒng)PC一致的用戶體驗。桌面云技術中,需要將客戶端的鼠標的操作信息傳遞到服務器端,以使得客戶端的鼠標操作在服務器端執(zhí)行并生效,例如,用戶移動客戶端的鼠標,客戶端通過本地系統(tǒng)的鼠標控制應用程序接口(ApplicationProgrammingInterface,API),獲得客戶端鼠標按鍵狀態(tài)和當前客戶端鼠標的位置信息,再通過協(xié)議通訊將其獲取的客戶端鼠標操作信息傳遞到服務器端,服務器端接收到客戶端鼠標操作信息后,根據(jù)客戶端鼠標操作信息再通過相關API將服務器端鼠標設置到相關位置和狀態(tài)。在上述過程中,如何在客戶端顯示鼠標的操作信息是一個關鍵的技術?,F(xiàn)有技術中的一種方案是客戶端獲取到自己的鼠標操作信息之后,先根據(jù)自己鼠標的位置信息顯示鼠標的位置移動,使得用戶立即看到鼠標位置的移動,再向服務器端傳遞本端鼠標的操作信息,服務器端獲取客戶端鼠標操作信息執(zhí)行相關服務器端鼠標操作之后,服務器端隱藏自己的鼠標光標,并發(fā)送自己的鼠標光標圖形給客戶端,客戶端在之前已經(jīng)顯示給用戶的鼠標的位置上,直接顯示接收到的服務端鼠標光標形狀即可。然而上述技術方案,實際上存在客戶端顯示的鼠標位置和服務端實際鼠標位置不能精確同步的問題,如果服務器端還運行一些對鼠標位置進行控制的特殊程序,例如,在虛擬桌面中運行即時通訊軟件,可以給他人共享自己的桌面,并允許他人遠程控制鼠標,此類軟件會不斷設置虛擬桌面鼠標位置為他人遠程控制的位置,再例如,虛擬桌面運行第一人稱視角射擊游戲時,通常此類游戲都會強制設置鼠標到屏幕中央,此時,由于客戶端顯示的是自己的鼠標位置,因此會導致用戶看不到服務器端鼠標光標的真實位置,造成不同步。

技術實現(xiàn)要素:
本發(fā)明實施例提出了一種鼠標同步的方法、裝置和系統(tǒng),以實現(xiàn)客戶端鼠標與服務器端鼠標的同步。第一方面,本發(fā)明實施例提出了一種鼠標同步的方法,所述鼠標同步包括客戶端鼠標與服務器端鼠標的同步,包括:獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動;向服務器端上報所述客戶端鼠標的第一信息,以使得所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;接收所述服務器端返回的服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。結合第一方面,在第一種可能的實現(xiàn)方式中,所述向服務器端上報所述客戶端鼠標的第一信息之前,還包括:獲取客戶端鼠標信息記錄模塊記錄的客戶端鼠標的上次移動后的記錄信息;比較所述客戶端鼠標的上次移動后的記錄信息與所述客戶端鼠標的第一信息,當所述客戶端鼠標的第一信息相對所述客戶端鼠標的上次移動后的記錄信息發(fā)生變化時,執(zhí)行所述向服務器端上報所述客戶端鼠標的第一信息的步驟。結合第一方面或者第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,當所述客戶端鼠標的第一信息相對所述客戶端鼠標的上次移動后的記錄信息發(fā)生變化時,還包括:根據(jù)所述客戶端鼠標的第一信息,更新所述客戶端鼠標信息記錄模塊記錄的客戶端鼠標的上次移動后的記錄信息。結合第一方面或者第一方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動之前,還包括:再次獲取客戶端鼠標信息記錄模塊記錄的客戶端鼠標的上次移動后的記錄信息,其中,所述客戶端鼠標的上次移動后的記錄信息為所述客戶端鼠標的第一信息;比較所述客戶端鼠標的第一信息與所述服務器端鼠標的第二信息,當所述服務器端鼠標的第二信息相對所述客戶端鼠標的第一信息發(fā)生變化時,執(zhí)行根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動的步驟。第二方面,還提出了一種鼠標同步的方法,所述鼠標同步包括客戶端鼠標與服務器端鼠標的同步,包括:接收客戶端上報的客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;向所述客戶端發(fā)送所述服務器端鼠標的第二信息,以使得所述客戶端根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。結合第二方面,在第一種可能的實現(xiàn)方式中,所述根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后,還包括:監(jiān)測是否發(fā)生服務器端鼠標再次移動事件,如果檢測到所述服務器端鼠標再次移動事件,執(zhí)行所述獲取服務器端鼠標的第二信息的步驟。結合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述監(jiān)測是否發(fā)生服務器端鼠標再次移動事件,包括:當發(fā)生第三方程序調(diào)用所述服務器端鼠標控制接口,并使得所述服務器端鼠標控制接口控制服務器端鼠標再次移動,監(jiān)測到發(fā)生所述服務器端鼠標再次移動事件。結合第二方面或者第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之前,還包括:獲取服務器端鼠標信息記錄模塊記錄的服務器端鼠標的上次移動后的記錄信息;比較所述服務器端鼠標的上次移動后的記錄信息與所述客戶端鼠標的第一信息,當所述第一信息相對所述服務器端鼠標的上次移動后的記錄信息發(fā)生變化時,執(zhí)行根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作的步驟。結合第二方面或者第二方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后,還包括:根據(jù)所述客戶端鼠標的第一信息,更新所述服務器端鼠標信息記錄模塊記錄的服務器端鼠標的上次移動后的記錄信息。結合第二方面或者第二方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述向所述客戶端發(fā)送所述服務器端鼠標的第二信息之前,還包括:再次獲取服務器端鼠標信息記錄模塊記錄的服務器端鼠標的上次移動后的記錄信息,其中,所述服務器端鼠標的上次移動后的記錄信息為所述客戶端鼠標的第一信息;比較所述客戶端鼠標的第一信息與所述服務器端鼠標的第二信息,當所述服務器端鼠標的第二信息相對所述客戶端鼠標的第一信息發(fā)生變化時,執(zhí)行向所述客戶端發(fā)送所述服務器端鼠標的第二信息的步驟。第三方面,提出了一種用于客戶端裝置,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步,包括:第一獲取單元,用于獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;客戶端鼠標控制單元,用于根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動;第一通信單元,用于向服務器端上報所述客戶端鼠標的第一信息,以使得所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;所述第一獲取單元,還用于接收所述服務器端返回的服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;所述客戶端鼠標控制單元,還用于根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。第四方面,提出一種服務器,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步,包括:第二通信單元,用于接收客戶端上報的客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;服務器端鼠標控制單元,用于根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;第二獲取單元,用于獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;所述第二通信單元,還用于向所述客戶端發(fā)送所述服務器端鼠標的第二信息,以使得所述客戶端根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。第五方面,提出一種通信系統(tǒng),所述通信系統(tǒng)包括客戶端裝置和服務器,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步,所述客戶端裝置用于獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息,根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動,以及向服務器端上報所述客戶端鼠標的第一信息;所述服務器用于接收客戶端上報的所述客戶端鼠標的第一信息,根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作,獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息,以及向所述客戶端發(fā)送所述服務器端鼠標的第二信息;所述客戶端裝置還用于接收所述服務器端返回的所述服務器端鼠標的第二信息,根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。第六方面,提出一種客戶端裝置,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步,所述裝置包括包括處理器、存儲器、總線和通信接口;所述存儲器用于存儲計算機執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當所述客戶端裝置運行時,所述處理器執(zhí)行所述存儲器存儲的所述計算機執(zhí)行指令,以使所述客戶端裝置執(zhí)行如上第一方面所述的鼠標同步的方法。第七方面,提出一種服務器,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步;所述服務器包括包括處理器、存儲器、總線和通信接口;所述存儲器用于存儲計算機執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當所述客戶端裝置運行時,所述處理器執(zhí)行所述存儲器存儲的所述計算機執(zhí)行指令,以使所述服務器執(zhí)行如上第二方面所述的鼠標同步的方法。第八方面,提出一種計算機可讀介質,包括計算機執(zhí)行指令,以供計算機的處理器執(zhí)行所述計算機執(zhí)行指令時,所述計算機執(zhí)行如上第一方面所述的鼠標同步的方法。第九方面,提出又一種計算機可讀介質,包括計算機執(zhí)行指令,以供計算機的處理器執(zhí)行所述計算機執(zhí)行指令時,所述計算機執(zhí)行如上第二方面所述的鼠標同步的方法。本發(fā)明實施例中,服務器端鼠標根據(jù)客戶端的鼠標信息進行移動之后,服務器端還能夠捕獲服務器端最新的鼠標信息,并且將服務器端最新的鼠標信息返回到客戶端,使得客戶端在根據(jù)本端用戶操作進行鼠標移動之后還能夠根據(jù)服務器端的最新的鼠標信息再次調(diào)整客戶端的光標顯示,從而保證客戶端與服務器鼠標的精準同步,使得用戶獲得準確的鼠標信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。附圖說明為了更清楚地說明本發(fā)明實施例的技術方案,下面將對現(xiàn)有技術或實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實施例鼠標同步通信系統(tǒng)的架構示意圖;圖2是根據(jù)本發(fā)明實施例一的鼠標同步方法的流程圖;圖3是根據(jù)本發(fā)明實施例二的鼠標同步方法的流程圖;圖4是根據(jù)本發(fā)明實施例三的鼠標同步方法的流程圖;圖5是根據(jù)本發(fā)明實施例客戶端裝置的組成示意圖;圖6是根據(jù)本發(fā)明實施例服務器的組成示意圖;圖7是根據(jù)本發(fā)明實施例通信系統(tǒng)的組成示意圖;圖8是根據(jù)本發(fā)明又一實施例客戶端裝置的組成示意圖;圖9是根據(jù)本發(fā)明又一實施例服務器的組成示意圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1描繪了實施本發(fā)明實施例鼠標同步的方法的系統(tǒng)架構的一個示例,該架構描繪了桌面云的應用場景,桌面云通常由客戶端和服務器端組成,客戶端的計算機/終端設備通過訪問服務器端的遠程計算設備,將遠程計算機的桌面?zhèn)魉偷娇蛻舳说慕K端設備。圖1中客戶端包括普通計算機(101)、平板電腦(102)、智能手機(103),也可以包括瘦終端TC(圖未示),客戶端的計算機或者終端設備通過網(wǎng)絡(201)使用遠程桌面協(xié)議(202)訪問遠程服務器端。服務器端包括服務器301、302、303….30n,用戶的虛擬桌面(VirtualDesktop)以虛擬機(301a、301b....301n)的形式由服務器301實現(xiàn),服務器302、303….30n與服務器301類似。用戶通過客戶端訪問服務器上分配給該用戶的虛擬機,該虛擬機將用戶訪問的內(nèi)容傳輸?shù)接脩舻目蛻舳诉M行顯示。服務器端還可以包括桌面云管理系統(tǒng)等(圖未示),管理系統(tǒng)可以裝載在服務器端的任意服務器上。本發(fā)明實施例中的鼠標同步過程可以在圖1所示的桌面云的架構下實施,但是圖1所示的只是其中一種遠程桌面場景為桌面云的場景,本實施場景僅是一種示例性說明,圖1所示的各組成也只是給出了與本發(fā)明實施例相關的組成部分,并不是對本發(fā)明應用的具體限定。在圖1所示的桌面云的架構下,本發(fā)明實施例的鼠標同步的方法的實施例一可以如圖2所示執(zhí)行,包括:步驟S201:客戶端裝置獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;步驟S202:客戶端裝置根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動;步驟S203:客戶端裝置向服務器端上報所述客戶端鼠標的第一信息;步驟S204:服務器端接收客戶端上報的客戶端鼠標的第一信息,根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;步驟S205:獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;步驟S206:向所述客戶端發(fā)送所述服務器端鼠標的第二信息;步驟S207:客戶端接收所述服務器端返回的服務器端鼠標的第二信息,根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。本發(fā)明實施例中,服務器端鼠標根據(jù)客戶端的鼠標信息進行移動之后,服務器端還能夠捕獲服務器端最新的鼠標信息,并且將服務器端最新的鼠標信息返回到客戶端,使得客戶端在根據(jù)本端用戶操作進行鼠標移動之后還能夠根據(jù)服務器端的最新的鼠標信息再次調(diào)整客戶端的光標顯示,從而保證客戶端與服務器鼠標的精準同步,使得用戶獲得準確的鼠標信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。以上實施例可以通過改造客戶端裝置與服務器的現(xiàn)有功能模塊實現(xiàn)本發(fā)明實施例的鼠標同步的方法,也可以通過在客戶端裝置與服務器中新增功能模塊的方式實現(xiàn)本發(fā)明實施例的鼠標同步的方法。以下實施例將以客戶端裝置和服務器中的鼠標控制應用程序接口API和鍵鼠服務模塊為例,來描述幾個具體實施例。另外,本發(fā)明實施例中的鼠標信息具體可以包括鼠標的位置信息和鼠標的按鍵狀態(tài)信息任意之一或者兩者,在以下的具體實施例中將以包含兩者為例。本發(fā)明實施例的鼠標同步的方法的實施例二可以如圖3所示,包括:步驟S301:用戶移動鼠標,客戶端鼠標控制API獲取當前客戶端鼠標的第一位置信息和第一按鍵狀態(tài)信息;具體地,客戶端鼠標控制API獲取的當前客戶端鼠標的第一位置信息通過客戶端屏幕x與y坐標信息表示。步驟S302:客戶端鼠標控制API根據(jù)獲取的客戶端鼠標第一位置信息和第一按鍵狀態(tài)信息控制客戶端光標移動,以顯示給用戶;步驟S303:客戶端鍵鼠服務模塊通過事件消息機制獲取到所述客戶端鼠標第一位置信息和第一按鍵狀態(tài)信息,并通過客戶端與服務器端的通信協(xié)議將所述客戶端鼠標第一位置信息和第一按鍵狀態(tài)信息發(fā)送到服務器端;步驟S304:服務器端鍵鼠服務模塊接收所述客戶端鼠標第一位置信息和第一按鍵狀態(tài)信息,調(diào)用服務器端鼠標控制API;步驟S305:服務器端鼠標控制API根據(jù)所述客戶端鼠標第一位置信息和第一按鍵狀態(tài)信息,進行鼠標重定向操作,即控制服務器端鼠標移動到服務器端鼠標第一位置和服務器端鼠標第一按鍵狀態(tài);同時,在本步驟中,服務器端鼠標控制API需要隱藏服務器端的鼠標的光標位置,以免客戶端察覺鼠標移動的延遲;步驟S306:第三方應用程序調(diào)用所述服務器端鼠標控制API,并使得所述服務器端鼠標控制API控制服務器端鼠標的位置或者按鍵狀態(tài)進行改變;步驟S307:服務器端鍵鼠服務模塊通過事件消息機制獲取到所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息,第二位置信息和第二按鍵狀態(tài)信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;并通過客戶端與服務器端的通信協(xié)議將所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息發(fā)送到客戶端;步驟S308:客戶端鍵鼠服務模塊接收所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息,調(diào)用客戶端鼠標控制API;步驟S309:客戶端鼠標控制API根據(jù)所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息,控制客戶端光標移動到第二位置和實現(xiàn)第二按鍵狀態(tài),以顯示給用戶。本發(fā)明實施例中,服務器端鼠標根據(jù)客戶端的鼠標位置和按鍵狀態(tài)進行移動之后,服務器端還能夠捕獲服務器端最新的鼠標位置和按鍵狀態(tài),并且將服務器端最新的鼠標位置和按鍵狀態(tài)返回到客戶端,使得客戶端能夠根據(jù)服務器端的最新的鼠標位置和按鍵狀態(tài)調(diào)整客戶端的光標顯示,能夠保證客戶端與服務器鼠標的精準同步,從而使得用戶獲得準確的鼠標位置和按鍵狀態(tài)信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。本發(fā)明實施例的鼠標同步的方法的實施例三可以如圖4所示,包括:步驟S401:在客戶端和服務器端均設置鼠標信息記錄模塊,如客戶端鼠標信息記錄模塊和服務器端鼠標信息記錄模塊,每端的鼠標信息記錄模塊用于記錄本端鼠標的上次移動后的記錄信息(位置上次移動后的記錄信息,按鍵狀態(tài)上次移動后的記錄信息),當客戶端和服務器端初始啟動時,每端的鼠標信息記錄模塊記錄本端鼠標的初始信息(初始位置信息,初始按鍵狀態(tài)信息);其中,客戶端鼠標信息記錄模塊記錄的本端鼠標初始信息與服務器端鼠標信息記錄模塊記錄的本端鼠標初始信息默認為相同;步驟S402:用戶移動鼠標,客戶端鼠標控制API獲取當前客戶端鼠標的第一信息(第一位置信息,第一按鍵狀態(tài)信息);具體地,客戶端鼠標控制API獲取的當前客戶端鼠標的第一位置信息通過客戶端屏幕x與y坐標信息表示。步驟S403:客戶端鍵鼠服務模塊通過事件消息機制獲取到所述客戶端鼠標的信息(第一位置信息,第一按鍵狀態(tài)信息),客戶端鍵鼠服務模塊比較當前客戶端鼠標信息(第一位置信息,第一按鍵狀態(tài)信息)與客戶端鼠標信息記錄模塊記錄的本端鼠標的初始信息(初始位置信息,初始按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S404,如果沒有發(fā)生變化,客戶端鼠標控制API返回執(zhí)行步驟S402;步驟S404:客戶端鍵鼠服務模塊根據(jù)獲取的當前客戶端鼠標的第一信息(第一位置信息,第一按鍵狀態(tài)信息)控制客戶端光標移動,并顯示給用戶;本實施例中,還可以更新客戶端鼠標信息記錄模塊記錄的本端鼠標的上次移動后的記錄信息為當前值(第一位置信息,第一按鍵狀態(tài)信息);步驟S405:客戶端鍵鼠服務模塊通過客戶端與服務器端的通信協(xié)議將所述客戶端鼠標的第一信息(第一位置信息,第一按鍵狀態(tài)信息)發(fā)送到服務器端;步驟S406:服務器端鍵鼠服務模塊接收所述客戶端鼠標的第一信息(第一位置信息,第一按鍵狀態(tài)信息);步驟S407:服務器端鍵鼠服務模塊比較當前客戶端鼠標的第一信息(第一位置信息,第一按鍵狀態(tài)信息)與服務器端鼠標信息記錄模塊記錄的本端鼠標的初始信息(初始位置信息,初始按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S408,如果沒有發(fā)生變化,則返回執(zhí)行步驟S406;步驟S408:服務器端鍵鼠服務模塊調(diào)用服務器端鼠標控制API進行鼠標重定向操作,即使得所述服務器端鼠標控制API根據(jù)所述客戶端鼠標第一位置信息和第一按鍵狀態(tài)信息,控制服務器端鼠標移動到服務器端鼠標第一位置和服務器端鼠標第一按鍵狀態(tài);本實施例中,還可以更新服務器端鼠標信息記錄模塊記錄的本端鼠標的上次移動后的記錄信息為當前值(第一位置信息,第一按鍵狀態(tài)信息);同時,在本步驟中,如果移動服務器端鼠標,服務器端鼠標控制API需要隱藏服務器端的鼠標的光標位置,以免客戶端察覺鼠標移動的延遲;步驟S409:服務器端鍵鼠服務模塊監(jiān)測是否發(fā)生服務器端鼠標再次移動事件,如果檢測到所述服務器端鼠標再次移動事件,獲取服務器端鼠標的第二信息,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;若第三方應用程序調(diào)用所述服務器端鼠標控制API,并使得所述服務器端鼠標控制API控制服務器端鼠標的位置或者按鍵狀態(tài)進行改變,所述服務器端鍵鼠服務模塊獲取更新后的服務器端鼠標的實時信息,即第二信息(第二位置信息,第二按鍵狀態(tài)信息);步驟S410:服務器端鍵鼠服務模塊比較該更新后的服務器端鼠標的第二信息(第二位置信息,第二按鍵狀態(tài)信息)與服務器端鼠標信息記錄模塊記錄的本端鼠標的上次移動后的記錄信息(第一位置信息和第一按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S411,如果沒有發(fā)生變化,返回執(zhí)行步驟S409;步驟S411:所述服務器端鍵鼠服務通過客戶端與服務器端的通信協(xié)議將所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息發(fā)送到客戶端;步驟S412:客戶端鍵鼠服務模塊接收所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息,客戶端鍵鼠服務模塊比較所述服務器端鼠標的第二信息(第二位置信息,第二按鍵狀態(tài)信息)與客戶端鼠標信息記錄模塊記錄的本端鼠標的上次移動后的信息(第一位置信息,第一按鍵狀態(tài)信息),如果發(fā)生變化,執(zhí)行步驟S413;步驟S413:客戶端鍵鼠服務模塊調(diào)用客戶端鼠標控制API,使得客戶端鼠標控制API根據(jù)所述服務器端鼠標第二位置信息和第二按鍵狀態(tài)信息,控制客戶端光標移動到第二位置和實現(xiàn)第二按鍵狀態(tài),以顯示給用戶。在本發(fā)明實施例三中的另一個可以執(zhí)行的實施例中,當步驟S403或者步驟S410在進行比較動作之后,若確定發(fā)生變化之后,還可以獲得發(fā)生變化的改變值(或者差值),例如,獲取所述客戶端鼠標的第一信息相對所述客戶端鼠標的上次移動后的記錄信息的改變值,并在步驟S405或者步驟S411中向對端通知相應的改變值(或者差值),那么相應地,如果只是向對端傳遞鼠標信息的改變值或者差值時,對端需要根據(jù)本端的鼠標信息記錄模塊記錄的鼠標信息和所述改變值(或者差值)恢復出當前鼠標信息的真實位置或按鍵狀態(tài)信息,并進行相應地操作。本發(fā)明實施例中,服務器端鼠標根據(jù)客戶端的鼠標位置和按鍵狀態(tài)進行移動之后,服務器端還能夠捕獲服務器端最新的鼠標位置和按鍵狀態(tài),并且將服務器端最新的鼠標位置和按鍵狀態(tài)返回到客戶端,使得客戶端能夠根據(jù)服務器端的最新的鼠標位置和按鍵狀態(tài)調(diào)整客戶端的光標顯示,能夠保證客戶端與服務器鼠標的精準同步,從而使得用戶獲得準確的鼠標位置和按鍵狀態(tài)信息,保證了某些特殊的程序在桌面云場景下的正常執(zhí)行,帶來客戶的良好體驗。同時在本實施例中,由于設置了鼠標信息記錄模塊,因此本實施例中,只在當前鼠標的位置信息或者按鍵狀態(tài)發(fā)生變化時,才向對端通知相應的鼠標位置信息或者按鍵狀態(tài)信息,可以減少鼠標重定向操作的次數(shù),同時減少客戶端和服務器端消息的交互,減少帶寬的占用,同時減輕相關設備的負載。圖5為本發(fā)明實施例的客戶端裝置的結構組成示意圖,本發(fā)明實施例的客戶端裝置可以通過瘦終端或者用戶移動終端中的硬件實現(xiàn)或者軟件組件實現(xiàn),例如可以通過瘦終端中的鍵鼠服務模塊實現(xiàn)。所述客戶端裝置500,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步,包括:第一獲取單元501,用于獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;客戶端鼠標控制單元502,用于根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動;第一通信單元503,用于向服務器端上報所述客戶端鼠標的第一信息,以使得所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;所述第一獲取單元501,還用于接收所述服務器端返回的服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;所述客戶端鼠標控制單元502,還用于根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。進一步地,所述客戶端裝置還可以包括客戶端鼠標信息記錄模塊504,用于保存客戶端鼠標的上次移動后的記錄信息;則,所述第一獲取單元501,還用于獲取所述客戶端鼠標信息記錄模塊記錄的客戶端鼠標的上次移動后的記錄信息,比較所述客戶端鼠標的上次移動后的記錄信息與所述客戶端鼠標的第一信息,當所述客戶端鼠標的第一信息相對所述客戶端鼠標的上次移動后的記錄信息發(fā)生變化時,觸發(fā)所述第一通信單元503執(zhí)行所述向服務器端上報所述客戶端鼠標的第一信息。所述客戶端鼠標信息記錄模塊504,還可以用于根據(jù)所述客戶端鼠標的第一信息,更新所述客戶端鼠標信息記錄模塊504記錄的客戶端鼠標的上次移動后的記錄信息。所述第一獲取單元501,還用于再次獲取客戶端鼠標信息記錄模塊記錄的客戶端鼠標的上次移動后的記錄信息,其中,所述客戶端鼠標的上次移動后的記錄信息為所述客戶端鼠標的第一信息,比較所述客戶端鼠標的第一信息與所述服務器端鼠標的第二信息,當所述服務器端鼠標的第二信息相對所述客戶端鼠標的第一信息發(fā)生變化時,觸發(fā)所述客戶端鼠標控制單元502根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。圖6為本發(fā)明實施例的服務器的結構組成示意圖,本發(fā)明實施例的服務器可以是客戶端遠程登錄的遠端處理服務器,也可以是桌面云場景/虛擬化場景中提供虛擬機的服務器,或者提供虛擬機管理的服務器;該服務器實現(xiàn)鼠標同步的功能可以通過硬件實現(xiàn)或者軟件組件實現(xiàn),例如可以通過安裝在服務器中的鍵鼠服務模塊實現(xiàn)。所述服務器600,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步,包括:第二通信單元601,用于接收客戶端上報的客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;服務器端鼠標控制單元602,用于根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;第二獲取單元603,用于獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;所述第二通信單元601,還用于向所述客戶端發(fā)送所述服務器端鼠標的第二信息,以使得所述客戶端根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。所述服務器還可以包括服務器端鼠標信息記錄模塊604,用于保存服務器端鼠標的上次移動后的記錄信息;則,所述第二獲取單元603,還用于獲取所述服務器端鼠標信息記錄模塊保存的服務器端鼠標的上次移動后的記錄信息,比較所述服務器端鼠標的上次移動后的記錄信息與所述客戶端鼠標的第一信息,當所述第一信息相對所述服務器端鼠標的上次移動后的記錄信息發(fā)生變化時,觸發(fā)所述服務器端鼠標控制單元602執(zhí)行根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作。所述服務器端鼠標信息記錄模塊604,還用于將根據(jù)所述客戶端鼠標的第一信息,更新所述服務器端鼠標的上次移動后的記錄信息。所述第二獲取單元603,在獲取服務器端鼠標的第二信息之后,還用于再次獲取服務器端鼠標信息記錄模塊記錄的服務器端鼠標的上次移動后的記錄信息,其中,所述服務器端鼠標的上次移動后的記錄信息為所述客戶端鼠標的第一信息,比較所述客戶端鼠標的第一信息與所述服務器端鼠標的第二信息,當所述服務器端鼠標的第二信息相對所述客戶端鼠標的第一信息發(fā)生變化時,觸發(fā)所述第二通信單元601向所述客戶端發(fā)送所述服務器端鼠標的第二信息。所述服務器還包括監(jiān)測單元605,用于監(jiān)測是否發(fā)生服務器端鼠標再次移動事件,如果檢測到所述服務器端鼠標再次移動事件,觸發(fā)所述第二獲取單元603獲取服務器端鼠標的第二信息。所述監(jiān)測單元605,具體用于監(jiān)測是否發(fā)生第三方程序調(diào)用所述服務器端鼠標控制接口,并使得所述服務器端鼠標控制接口控制服務器端鼠標再次移動,如果是,確定發(fā)生所述服務器端鼠標再次移動事件。圖7為本發(fā)明實施例的通信系統(tǒng)的結構組成示意圖,該通信系統(tǒng)700用于客戶端遠程登錄的遠端處理服務器的場景,也可以是用戶使用桌面云場景/虛擬化場景,該系統(tǒng)包括客戶端裝置701和服務器702,用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步;所述客戶端裝置701用于獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息,根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動,以及向服務器端上報所述客戶端鼠標的第一信息;所述服務器702用于接收客戶端上報的所述客戶端鼠標的第一信息,根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作,獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息,以及向所述客戶端發(fā)送所述服務器端鼠標的第二信息;所述客戶端裝置701還用于接收所述服務器端返回的所述服務器端鼠標的第二信息,根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。具體地,該客戶端裝置701可以包括如圖5所示的各功能子模塊,服務器702可以包括如圖6所示的各功能子模塊,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。圖8為本發(fā)明實施例的客戶端裝置的結構組成示意圖。本發(fā)明實施例的客戶端裝置用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步;該客戶端裝置可包括:處理器801、存儲器802、系統(tǒng)總線803和通信接口804。處理器801、存儲器802和通信接口804之間通過系統(tǒng)總線803連接并完成相互間的通信。處理器801可能為單核或多核中央處理單元(CentralProcessingUnit,CPU),或者為特定集成電路(ApplicationSpecificIntegratedCircuit,ASIC),或者為被配置成實施本發(fā)明實施例的一個或多個集成電路。存儲器802可以為高速RAM存儲器,也可以為非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器。存儲器802用于存放程序805。具體的,程序805中可以包括程序代碼,所述程序代碼包括計算機執(zhí)行指令。當虛擬機系統(tǒng)資源管理裝置運行時,處理器801運行程序805,以執(zhí)行以下指令:獲取客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;根據(jù)所述客戶端鼠標的第一信息控制客戶端光標移動;向服務器端上報所述客戶端鼠標的第一信息,以使得所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;接收所述服務器端返回的服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。具體地,本發(fā)明實施例中的客戶端裝置還根據(jù)所述指令執(zhí)行上述圖3或4所示的鼠標同步方法,具體在此不再贅述。圖9為本發(fā)明實施例的服務器的結構組成示意圖。本發(fā)明實施例的服務器用于實現(xiàn)客戶端鼠標與服務器端鼠標的同步;該服務器可包括:處理器901、存儲器902、系統(tǒng)總線903和通信接口904。處理器901、存儲器902和通信接口904之間通過系統(tǒng)總線803連接并完成相互間的通信。處理器901可能為單核或多核中央處理單元(CentralProcessingUnit,CPU),或者為特定集成電路(ApplicationSpecificIntegratedCircuit,ASIC),或者為被配置成實施本發(fā)明實施例的一個或多個集成電路。存儲器902可以為高速RAM存儲器,也可以為非易失性存儲器(non-volatilememory),例如至少一個磁盤存儲器。存儲器902用于存放程序905。具體的,程序905中可以包括程序代碼,所述程序代碼包括計算機執(zhí)行指令。當虛擬機系統(tǒng)資源管理裝置運行時,處理器901運行程序905,以執(zhí)行以下指令:接收客戶端上報的客戶端鼠標的第一信息,其中,所述客戶端鼠標的第一信息是用戶操作客戶端鼠標之后客戶端鼠標的實時信息;根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作;獲取服務器端鼠標的第二信息,其中,所述服務器端鼠標的第二信息為所述服務器端根據(jù)所述客戶端鼠標的第一信息進行鼠標重定向操作之后的服務器端鼠標的實時信息;向所述客戶端發(fā)送所述服務器端鼠標的第二信息,以使得所述客戶端根據(jù)所述服務器端鼠標的第二信息控制所述客戶端光標再次移動。具體地,本發(fā)明實施例中的服務器還根據(jù)所述指令執(zhí)行上述圖3或4所示的鼠標同步方法,具體在此不再贅述。本領域普通技術人員將會理解,本發(fā)明的各個方面、或各個方面的可能實現(xiàn)方式可以被具體實施為系統(tǒng)、方法或者計算機程序產(chǎn)品。因此,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用完全硬件實施例、完全軟件實施例(包括固件、駐留軟件等等),或者組合軟件和硬件方面的實施例的形式,在這里都統(tǒng)稱為“電路”、“模塊”或者“系統(tǒng)”。此外,本發(fā)明的各方面、或各個方面的可能實現(xiàn)方式可以采用計算機程序產(chǎn)品的形式,計算機程序產(chǎn)品是指存儲在計算機可讀介質中的計算機可讀程序代碼。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質包含但不限于電子、磁性、光學、電磁、紅外或半導體系統(tǒng)、設備或者裝置,或者前述的任意適當組合,如隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPROM或者快閃存儲器)、光纖、便攜式只讀存儲器(CD-ROM)。計算機中的處理器讀取存儲在計算機可讀介質中的計算機可讀程序代碼,使得處理器能夠執(zhí)行在流程圖中每個步驟、或各步驟的組合中規(guī)定的功能動作;生成實施在框圖的每一塊、或各塊的組合中規(guī)定的功能動作的裝置。計算機可讀程序代碼可以完全在用戶的計算機上執(zhí)行、部分在用戶的計算機上執(zhí)行、作為單獨的軟件包、部分在用戶的計算機上并且部分在遠程計算機上,或者完全在遠程計算機或者服務器上執(zhí)行。也應該注意,在某些替代實施方案中,在流程圖中各步驟、或框圖中各塊所注明的功能可能不按圖中注明的順序發(fā)生。例如,依賴于所涉及的功能,接連示出的兩個步驟、或兩個塊實際上可能被大致同時執(zhí)行,或者這些塊有時候可能被以相反順序執(zhí)行。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應所述以權利要求的保護范圍為準。
當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
尉犁县| 邵东县| 彭山县| 交城县| 云霄县| 姜堰市| 景德镇市| 尼木县| 当涂县| 侯马市| 麻城市| 饶河县| 谢通门县| 邵阳市| 黔西| 江达县| 临汾市| 镇江市| 淮安市| 莱芜市| 永顺县| 高淳县| 广元市| 砚山县| 正宁县| 子长县| 平阳县| 天水市| 沧源| 阜康市| 大冶市| 五常市| 涞水县| 荆门市| 都兰县| 陵川县| 西安市| 丰城市| 河曲县| 和政县| 上高县|