一種虛擬桌面的休眠控制方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實施例涉及信息技術(shù),尤其涉及一種虛擬桌面的休眠控制方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]遠程桌面是一種常用的虛擬桌面技術(shù),常用來將一臺計算機屏幕顯示的內(nèi)容傳送到另一處的顯示屏顯示,典型的虛擬桌面設(shè)施(Visual Desktop Infrastructure,簡稱VDI)架構(gòu)一般包括至少一臺服務(wù)端設(shè)備和一臺虛擬桌面客戶機,虛擬桌面客戶機通常稱為瘦終端(thin client,簡稱TC),TC通過自身操作系統(tǒng)上搭載的桌面協(xié)議客戶端軟件訪問服務(wù)端設(shè)備以獲取遠程桌面服務(wù),服務(wù)端設(shè)備用于提供遠程桌面,用戶的虛擬桌面系統(tǒng)以虛擬機(Virtual Machine,簡稱VM)的形式存在于遠程桌面服務(wù)器上。
[0003]現(xiàn)有技術(shù)中,當用戶通過瘦終端使用遠程的服務(wù)端設(shè)備傳送的虛擬桌面時,通常會關(guān)閉瘦終端的休眠設(shè)置,從而可以避免用戶正在觀看視頻或者聆聽會議等情況下,長時間沒有鍵盤或鼠標操作引起的瘦終端的顯示器進入休眠狀態(tài)帶來的影響。然而,這樣設(shè)置使得用戶真正長時間離開時,顯示器依然會保持激活狀態(tài),不僅費電,還造成顯示器壽命的損耗。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例提供一種虛擬桌面的休眠控制方法、裝置及系統(tǒng),以克服現(xiàn)有技術(shù)在用戶正在使用不需要用戶操作的應(yīng)用程序時顯示器進入休眠影響用戶正常使用的問題。
[0005]第一方面,本發(fā)明實施例提供一種虛擬桌面的休眠控制方法,用于包括服務(wù)端和客戶端的虛擬桌面系統(tǒng),所述服務(wù)端上運行有與所述客戶端連接的虛擬機,所述方法包括:
[0006]所述服務(wù)端接收所述客戶端發(fā)送的休眠請求消息;
[0007]所述服務(wù)端根據(jù)所述休眠請求消息,確定與所述客戶端連接的虛擬機上是否運行有免操作類的應(yīng)用程序,所述免操作類的應(yīng)用程序是指不需要所述客戶端的輸入設(shè)備進行輸入操作的應(yīng)用程序;
[0008]如果確定所述客戶端的虛擬機上未運行所述免操作類的應(yīng)用程序,則所述服務(wù)端向所述客戶端發(fā)送允許休眠指示,以指示所述客戶端進入休眠狀態(tài);
[0009]如果確定所述客戶端的虛擬機上運行有所述免操作類的應(yīng)用程序,則所述服務(wù)端向所述客戶端發(fā)送禁止休眠指示,以指示所述客戶端禁止進入休眠狀態(tài)。
[0010]結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述服務(wù)端設(shè)備接收客戶端發(fā)送的休眠請求消息之前,還包括:
[0011]所述服務(wù)端向所述客戶端發(fā)送預(yù)設(shè)的休眠門限,以使得所述客戶端根據(jù)所述預(yù)設(shè)的休眠門限,監(jiān)測所述客戶端的輸入設(shè)備沒有輸入操作的時間是否超過所述預(yù)設(shè)的休眠門限。
[0012]結(jié)合第一方面,第一方面的第一種任一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式中,
[0013]如果確定所述客戶端的虛擬機未運行免操作類的應(yīng)用程序,則所述服務(wù)端向所述客戶端發(fā)送允許休眠指示,以指示所述客戶端進入休眠狀態(tài)之后,還包括:
[0014]所述服務(wù)端停止通過遠程桌面協(xié)議向所述客戶端發(fā)送圖像數(shù)據(jù)。
[0015]結(jié)合第一方面的第二種可能的實現(xiàn)方式,在第一方面的第三種可能的實現(xiàn)方式中,如果確定所述客戶端的虛擬機未運行免操作類的應(yīng)用程序,則所述服務(wù)端向所述客戶端發(fā)送允許休眠指示,以指示所述客戶端進入休眠狀態(tài)之后,還包括:
[0016]所述服務(wù)端接收所述客戶端發(fā)送的喚醒消息;
[0017]所述服務(wù)端根據(jù)所述喚醒消息,繼續(xù)通過所述遠程桌面協(xié)議向所述客戶端發(fā)送圖像數(shù)據(jù)。
[0018]第二方面,本發(fā)明實施例提供一種虛擬桌面的休眠控制方法,用于包括服務(wù)端和客戶端的虛擬桌面系統(tǒng),所述服務(wù)端上運行有與所述客戶端連接的虛擬機;所述方法包括:
[0019]所述客戶端對自身的輸入設(shè)備進行監(jiān)測;
[0020]所述客戶端在監(jiān)測到所述輸入設(shè)備沒有輸入操作的時間超過預(yù)設(shè)的休眠門限時,向服務(wù)端發(fā)送休眠請求消息;
[0021]所述客戶端在接收到所述服務(wù)端發(fā)送的允許休眠指示時,控制所述客戶端進入休眠狀態(tài);
[0022]所述客戶端在接收到所述服務(wù)端發(fā)送的禁止休眠指示時,控制所述客戶端禁止進入休眠狀態(tài)。
[0023]結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,如果所述客戶端接收到所述服務(wù)端發(fā)送的禁止休眠指示,控制所述客戶端禁止進入休眠狀態(tài)之后,還包括:
[0024]所述客戶端禁止所述客戶端的操作系統(tǒng)的電源管理模塊對所述客戶端的休眠處理。
[0025]結(jié)合第二方面,第二方面的第一種任一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,如果所述客戶端接收到所述服務(wù)端發(fā)送的允許休眠指示,則指示所述客戶端進入休眠狀態(tài)之后,還包括:
[0026]所述客戶端在監(jiān)測到所述輸入設(shè)備有輸入操作時,向所述服務(wù)端發(fā)送喚醒消息,以使得所述服務(wù)端根據(jù)所述喚醒消息,通過遠程桌面協(xié)議向所述客戶端發(fā)送圖像數(shù)據(jù)。
[0027]結(jié)合第二方面的第二種可能的實現(xiàn)方式,在第二方面的第三種可能的實現(xiàn)方式中,所述客戶端對自身的輸入設(shè)備進行監(jiān)測之前,還包括:
[0028]所述客戶端從所述服務(wù)端獲取預(yù)設(shè)的休眠門限。
[0029]第三方面,本發(fā)明實施例提供一種虛擬桌面的休眠控制裝置,包括:
[0030]收發(fā)模塊,用于接收客戶端發(fā)送的休眠請求消息;
[0031]處理模塊,用于根據(jù)所述休眠請求消息,確定與所述客戶端連接的虛擬機上是否運行有免操作類的應(yīng)用程序,所述免操作類的應(yīng)用程序是指不需要所述客戶端的輸入設(shè)備進行輸入操作的應(yīng)用程序;
[0032]所述收發(fā)模塊,還用于如果所述處理模塊確定所述客戶端的虛擬機上未運行免操作類的應(yīng)用程序,則向所述客戶端發(fā)送允許休眠指示,以指示所述客戶端進入休眠狀態(tài);
[0033]所述收發(fā)模塊,還用于如果所述確定模塊確定所述客戶端的虛擬機運行有免操作類的應(yīng)用程序,則向所述客戶端發(fā)送禁止休眠指示,以指示所述客戶端禁止進入休眠狀態(tài)。
[0034]結(jié)合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,
[0035]所述收發(fā)模塊,還用于:
[0036]在接收客戶端發(fā)送的休眠請求消息之前,向所述客戶端發(fā)送預(yù)設(shè)的休眠門限,以使所述客戶端根據(jù)所述預(yù)設(shè)的休眠門限,監(jiān)測所述客戶端的輸入設(shè)備沒有輸入操作的時間是否超過所述預(yù)設(shè)的休眠門限。
[0037]結(jié)合第三方面,第三方面的第一種任一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,所述收發(fā)模塊,還用于:
[0038]如果所述處理模塊確定所述客戶端的虛擬機未運行免操作類的應(yīng)用程序,則所述收發(fā)模塊向所述客戶端發(fā)送允許休眠指示,以指示所述客戶端進入休眠狀態(tài)之后,停止通過遠程桌面協(xié)議向所述客戶端發(fā)送圖像數(shù)據(jù)。
[0039]結(jié)合第三方面的第一種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,所述收發(fā)模塊,還用于:
[0040]如果所述處理模塊確定所述客戶端的虛擬機未運行免操作類的應(yīng)用程序,則所述收發(fā)模塊向所述客戶端發(fā)送允許休眠指示,以指示所述客戶端進入休眠狀態(tài)之后,
[0041]接收所述客戶端發(fā)送的喚醒消息;
[0042]根據(jù)所述喚醒消息,繼續(xù)通過所述遠程桌面協(xié)議向所述客戶端發(fā)送圖像數(shù)據(jù)。
[0043]第四方面,本發(fā)明實施例提供一種虛擬桌面的休眠控制裝置,包括:
[0044]檢測模塊,用于對客戶端自身的輸入設(shè)備進行監(jiān)測;
[0045]收發(fā)模塊,用于在監(jiān)測到所述輸入設(shè)備沒有輸入操作的時間超過預(yù)設(shè)的休眠門限時,向服務(wù)端發(fā)送休眠請求消息;
[0046]控制模塊,用于如果所述收發(fā)模塊接收到所述服務(wù)端發(fā)送的允許休眠指示,控制所述客戶端進入休眠狀態(tài);
[0047]所述控制模塊,還用于如果所述收發(fā)模塊接收到所述服務(wù)端發(fā)送的禁止休眠指示,控制所述客戶端禁止進入休眠狀態(tài)。
[0048]結(jié)合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,所述控制模塊,還用于:
[0049]如果所述收發(fā)模塊接收到所述服務(wù)端發(fā)送的禁止休眠指示,則在所述控制模塊控制所述客戶端禁止進入休眠狀態(tài)之后,禁止所述客戶端的操作系統(tǒng)的電源管理模塊對所述客戶端的休眠處理。
[0050]結(jié)合第四方面,第四方面的第一種任一種可能的實現(xiàn)方式,在第四方面的第二種可能的實現(xiàn)方式中,所述收發(fā)模塊,還用于:
[0051]如果所述收發(fā)模塊接收到所述服務(wù)端發(fā)送的允許休眠指示,則所述控制模塊控制所述客戶端進入休眠狀態(tài)之后,在所述檢測模塊監(jiān)測到所述輸入設(shè)備有操作時,向所述服務(wù)端發(fā)送喚醒消息,以使所述服務(wù)端根據(jù)所述喚醒消息,通過遠程桌面協(xié)議向所述客戶端發(fā)送圖像數(shù)據(jù)。
[0052]結(jié)合第四方面第一種可能的實現(xiàn)方式,在第四方面的第三種可能的實現(xiàn)方式中,
[0053]所述收發(fā)模塊還用于,在所述檢測模塊對客戶端的輸入設(shè)備進行監(jiān)測之前,
[0054]從所述服務(wù)端獲取預(yù)設(shè)的休眠門限。
[0055]第五方面,本發(fā)明實施例提供一種虛擬桌面的休眠控制系統(tǒng),包括:由第三方面所述的虛擬桌面的休眠控制裝置、由第四方面所述的虛擬桌面的休眠控制裝置以及顯示器和輸入設(shè)備。
[0056]本發(fā)明實施例虛擬桌面的休眠控制方法、裝置及系統(tǒng),通過服務(wù)端設(shè)備接收瘦終端發(fā)送的顯示器休眠請求消息,觸發(fā)判斷所述瘦終端對應(yīng)的虛擬機是否運行免操作類軟件,得到判斷結(jié)果,并根據(jù)所述判斷結(jié)果向所述瘦終端發(fā)送顯示器休眠響應(yīng)消息,避免了瘦終端上正在運行軟件一段時間后,瘦終端設(shè)置顯示器進入休眠而影響用戶使用虛擬桌面服務(wù)。
【附圖說明】
[0057]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用