顯示功能處理模塊,伺服器和顯示處理方法
2023-06-19 05:33:51 1
專利名稱:顯示功能處理模塊,伺服器和顯示處理方法
技術領域:
本發明涉及顯示功能處理模塊,伺服器和顯示處理方法。
背景技術:
隨著計算機及網絡技術的發展,Thin Client(瘦客戶機)日益普及,瘦客戶機/ 伺服器應用是這樣一個模型應用配置、管理、執行都100%在伺服器端進行,它使用一個多用戶作業系統,把應用程式的用戶界面發送到客戶端。這種應用模型不需要重寫應用或從伺服器端下載,客戶可以完全訪問伺服器端的Windows應用,這意味著對原有的硬體、網絡、應用投資的超值回報。因此,瘦客戶機/伺服器應用模型成為企業降低複雜性和總擁有成本的最可靠的方法。瘦客戶機/伺服器應用要求一個多用戶作業系統,以允許多個用戶同時登錄到一臺伺服器並運行伺服器上的應用,另外還需要一個支持Windows遠程顯示協議的多用戶遠程顯示系統,能夠把應用的邏輯執行和它的用戶界面分離,只允許鍵盤、滑鼠和屏幕更新的數據在網上傳送。當今典型的辦公環境包括若干PC (個人計算機)和越來越多的瘦客戶端。這些PC 和瘦客戶端通過網絡進行集中管理,文件共享,存儲及文件服務。一開始,應用運行在每個本地的桌面計算機上,伺服器集中進行磁碟存儲管理。近來,基於安全,降低成本以及便於集中管理等因素的考慮,PC和瘦客戶端變成了 SBCGerver Based Computing,基於伺服器的計算技術)解決方案的純粹的終端,應用於運行伺服器中。在以上述方式實現的雲終端或瘦客戶機中,由於其與普通的單機計算機的配置不同,在使用顯示功能時可能具有不同的需求。例如,很多雲終端或瘦客戶機並沒有圖像處理單元(GPU),但是現在的很多視頻播放器默認需要一些顯示功能,因此必須要在伺服器端具有上述顯示功能,即在伺服器端設置顯示處理設備,當客戶端的視頻播放器需要使用所述顯示功能時,即從伺服器端的圖像處理單元調用該顯示功能。但是,現今的伺服器並不能夠控制這種顯示功能的調用,從而使得當客戶端增加到一定程度之後,對於需求的顯示處理資源要求已經超過圖像處理單元的限制,就會導致系統運行極其緩慢,甚至死機。並且,在單機計算機或伺服器/客戶端的結構當中,都存在能夠靈活地使用顯示功能,從而提高系統運行的效率的需要。因此,需要一種顯示功能處理模塊,能夠根據預先設定的策略,來當應用程式調用顯示功能時,對上述調用的答覆進行修改,從而能夠控制應用程式對於顯示功能的使用,以更靈活地使用有限的系統資源。
發明內容
因此,針對上述現有技術中存在的問題和需求做出本發明。本發明的目的是提供一種顯示功能處理模塊,伺服器和顯示處理方法,其能夠基於預定策略靈活地調控顯示功能的使用,從而實現系統的顯示資源的合理和有效使用。
本發明的目的還在於提供一種動態地控制使用圖像處理單元或中央處理單元來執行顯示功能的伺服器和方法,從而在防止圖像處理單元的資源有限的限制的同時能夠充分地利用圖像處理單元的資源。根據本發明的一個方面,提供了顯示功能處理模塊,應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能,所述顯示功能處理模塊包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述應用模塊連接,用於將所述第二響應發送到所述應用模塊。在上述顯示功能處理模塊中,所述更改單元根據預先設定的策略,將所述第一響應中對至少一個顯示功能的肯定答覆修改為否定答覆,從而生成第二響應。在上述顯示功能處理模塊中,進一步包括轉發模塊,與所述應用模塊和所述顯示驅動模塊連接,用於將所述應用模塊的顯示功能調用轉發到所述顯示驅動模塊。根據本發明的另一方面,提供了一種伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、顯卡和用於驅動該顯卡的顯示驅動模塊,其中,在所述客戶端使用所述應用模塊的顯示功能時,所述應用模塊通過所述顯示驅動模塊調用所述顯卡的顯示功能,所述伺服器進一步包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述客戶端的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述客戶端連接,用於將所述第二響應發送到所述應用模塊;其中,所述應用模塊通過所述顯示驅動模塊調用所述顯卡與所述第二響應對應的顯示功能,以由所述客戶端使用。根據本發明的又一方面,提供了一種伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,其中,在任一所述多個客戶端使用所述應用模塊的顯示功能時,所述應用模塊向所述選擇模塊發出選擇所述圖像處理單元或所述中央處理單元來執行所述顯示功能的第一請求,且所述選擇模塊在接收到所述第一請求之後,向所述圖像處理單元或所述中央處理單元發送用於查詢所述顯示功能的第二請求,所述伺服器進一步包括截取單元,與所述圖像處理單元或所述中央處理單元連接,用於當所述圖像處理單元或所述中央處理單元對所述選擇模塊發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述選擇模塊連接,用於將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元或所述圖像處理單元來執行所述顯示功能,以由所述客戶端使用。根據本發明的再一方面,提供了一種伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,其中,在任一所述多個客戶端使用所述應用模塊的顯示功能時,所述應用模塊向所述選擇模塊發出選擇所述圖像處理單元來執行所述顯示功能的第一請求,且所述選擇模塊在接收到所述第一請求之後,向所述圖像處理單元發送用於查詢所述顯示功能的第二請求,所述伺服器進一步包括截取單元,與所述圖像處理單元連接,用於當所述圖像處理單元對所述選擇模塊發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述選擇模塊連接,用於將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。在上述伺服器中,所述更改單元包括第一判斷單元,用於判斷所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目是否超過第一閾值,其中,當正在使用所述圖像處理單元的客戶端的數目超過第一閾值時,將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。在上述伺服器中,所述更改單元包括第二判斷單元,用於判斷所述客戶端的優先級,其中,當所述第二判斷單元判斷客戶端具有低優先級時,將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。根據本發明的一個方面,提供了顯示處理方法,應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能,所述顯示處理方法包括在所述應用模塊和顯示驅動模塊之間加載一顯示功能處理模塊後,當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述應用模塊。在上述顯示功能處理方法中,進一步包括步驟當所述應用模塊需要調用所述顯示驅動模塊的顯示功能時,由所述顯示功能處理模塊將所述應用模塊對顯示功能的調用請求轉發到所述顯示驅動模塊。在上述顯示處理方法中,所述加載顯示功能處理模塊的步驟包括加載所述顯示功能處理模塊的內核態驅動;由所述內核態驅動向系統註冊監控註冊表函數;當系統通過查詢註冊表查詢所述顯示驅動模塊的用戶態驅動時,所述顯示功能處理模塊通過註冊表路徑確定系統所查詢的所述顯示驅動模塊的用戶態驅動;由所述顯示功能處理模塊保存所述顯示驅動模塊的用戶態驅動的名稱;由所述顯示功能處理模塊將所述顯示驅動模塊的用戶態驅動的名稱修改為過濾驅動名稱;和由所述顯示功能處理模塊將所述過濾驅動名稱返回給系統,從而將真實的顯示驅動模塊的用戶態驅動修改為所述顯示功能處理模塊的用戶態驅動。在上述顯示處理方法中,在加載所述顯示功能處理模塊後,在截取所述顯示驅動模塊對所述應用模塊的顯示功能調用做出的第一響應之前,包括步驟當應用模塊啟動以加載所述顯示驅動模塊的用戶態驅動時,加載所述顯示功能處理模塊的用戶態驅動;所述顯示功能處理模塊的用戶態驅動根據由所述顯示功能處理模塊保存的所述顯示驅動模塊的用戶態驅動的名稱,加載真實的顯示驅動模塊的用戶態驅動。在上述顯示處理方法中,所述更改第一響應的步驟包括由所述顯示功能處理模塊從真實的顯示驅動模塊得到真實的顯示功能;和根據預先設定的策略,將所述第一響應中對至少一個顯示功能的肯定答覆修改為否定答覆,從而生成第二響應。根據本發明的另一方面,提供了顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、顯卡和用於驅動所述顯卡的顯卡驅動,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊通過所述顯卡驅動調用所述顯卡的所述顯示功能後,當所述顯卡驅動對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述應用模塊;其中,所述應用模塊通過所述顯卡驅動調用所述顯卡的與所述第二響應對應的顯示功能,以由所述客戶端使用。根據本發明的又一方面,提供了顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊向所述伺服器的選擇模塊發出選擇所述伺服器的圖像處理單元或中央處理單元來執行所述顯示功能的第一請求時,所述選擇模塊向所述圖像處理單元或所述中央處理單元發送查詢所述顯示功能的第二請求,當所述圖像處理單元或所述中央處理單元對所述選擇模塊的所述第二請求做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元或所述圖像處理單元來執行所述顯示功能,以由所述客戶端使用。根據本發明的再一方面,提供了顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊向所述伺服器的選擇模塊發出選擇所述伺服器的圖像處理單元來執行所述顯示功能的第一請求時,所述選擇模塊向所述圖像處理單元發送查詢所述顯示功能的第二請求,當所述圖像處理單元對所述選擇模塊的所述第二請求做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。在上述顯示處理方法中,所述預定設定的策略包括根據所述伺服器所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目來進行判定,其中,如果所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目超過第一閾值,則將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。在上述顯示處理方法中,所述預定設定的策略包括根據所述客戶端的優先級來進行判定,其中,對於具有低優先級的客戶端,將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。
通過本發明的顯示功能處理模塊,伺服器和顯示處理方法,能夠根據預先設定的策略來控制進行圖像處理的應用對於用於圖像處理的硬體的使用,從而保證了硬體的使用效率。通過本發明的顯示功能處理模塊,伺服器和顯示處理方法,能夠根據預先設定的策略,比如用戶的權限或級別等,來靈活地設置計算機系統對於顯示功能的使用。例如,在某些情況下,禁止某些用戶使用某些顯示功能,而允許其使用另一些顯示功能。又或者,對於某些用戶,設置其可以使用某些特定的顯示功能,而對於某些用戶,設置其不能夠使用所述特定的顯示功能,從而能夠更靈活地使用有限的系統資源。 並且,通過在本發明中選擇性地使用圖像處理單元或中央處理單元,可以監控正在使用圖像處理單元的客戶端的數目,且當到達圖像處理單元的限制時,動態地禁止後續需求的客戶端的硬體使用要求,或者將其轉為採用中央處理單元的圖像處理,從而最大限度的利用圖像處理單元的資源又不會因為資源申請過度而導致系統緩慢。
圖1是示出了根據本發明第一實施例的顯示功能處理模塊的示意性框圖;圖2是示出了根據本發明第一實施例的伺服器的示意性框圖;圖3是示出了根據本發明第二實施例的伺服器的示意性框圖;圖4是示出了根據本發明第三實施例的伺服器的示意性框圖;圖5是示意性地示出了本發明的實施例的顯示功能處理模塊的加載過程的流程圖;圖6是示意性地示出了本發明的實施例的顯示功能處理模塊的工作過程的流程圖;圖7是本發明的顯示功能處理模塊及其工作方法的具體應用示例的示例性計算機系統的框圖;圖8是示出了根據本發明實施例的顯示處理方法的示意性流程圖。
具體實施例方式下面,將結合附圖詳細描述本發明的顯示功能處理模塊、伺服器和顯示處理方法的具體實施例。根據本發明的實施例的一個方面,提供了顯示功能處理模塊,應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能, 所述顯示功能處理模塊包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述應用模塊連接,用於將所述第二響應發送到所述應用模塊。圖1是示出了根據本發明第一實施例的顯示功能處理模塊的示意性框圖。如圖1 所示,該顯示功能處理模塊100應用於包括應用模塊110和顯示驅動模塊120的系統中,其中應用模塊110需要調用顯示驅動模塊120的顯示功能。如圖1所示,顯示功能處理模塊 100包括截取單元101,與顯示驅動模塊120連接,用於當顯示驅動模塊120對應用模塊110的顯示功能調用做出第一響應時,截取所述第一響應;更改單元102,與截取單元101連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元103, 與更改單元102和應用模塊110連接,用於將所述第二響應發送到應用模塊120。這裡,更改單元102可以根據預先設定的策略,將所述第一響應中對至少一個顯示功能的肯定答覆修改為否定答覆,從而生成第二響應。這裡,顯示功能指的是用於圖像處理的硬體,即顯示處理設備所擁有的圖像處理的功能。例如,顯示功能可以包括反鋸齒、垂直同步、銳化、霧化、翻轉等。如上所述,例如,當應用模塊110需要調用顯示驅動模塊120的顯示功能A(如反鋸齒)、B(如銳化)和C(如霧化)時,顯示驅動模塊120對於顯示功能A和B的調用返回肯定答覆,並對顯示功能C的調用返回否定答覆,這時,在沒有根據本發明的實施例的顯示功能處理模塊的情況下,應用模塊110可以調用顯示驅動模塊120的顯示功能A和B。在存在根據本發明的實施例的顯示功能處理模塊的情況下,更改單元102可以根據預先設定的策略,將對於顯示功能A或B 的肯定答覆修改為否定答覆,或者將顯示功能A和B兩者的肯定答覆都修改為否定答覆,並由發送單元103發送給應用模塊120。這時,應用模塊110將根據修改後的響應來調用顯示驅動模塊120的顯示功能,例如,僅調用顯示功能A或顯示功能B,或者不調用任意顯示功能。當然,本領域技術人員可以理解,這裡更改單元102同樣也可以將否定答覆修改為肯定答覆,使得原來不能調用顯示驅動模塊120的某顯示功能的應用模塊110可以調用該顯示功能。並且,除了對於上述答覆整體進行修改,如將肯定答覆修改為否定答覆,或將否定答覆修改為肯定答覆之外,還可以對於所述答覆的某些具體參數進行修改。例如,當應用模塊110要對RGB和YUV格式的圖像進行處理時,會向顯示驅動模塊120調用對RGB 和YUV格式的圖像的處理,但用於RGB格式和YUV格式的顯示處理同屬於一張參數列表,因此,此時如果對於答覆進行整體的修改,即將肯定答覆改成否定答覆或否定答覆改成肯定答覆,則將使得應用模塊110要麼同時可以處理RGB和YUV格式兩者,要麼同時不可以處理 RGB和YUV格式兩者。此時,如果希望應用模塊110可以僅處理RGB格式或YUV格式,則需要對上述參數列表進行修改,從而修改列表中與RGB格式或YUV格式對應的值,使得應用模塊110根據修改後的參數列表僅能夠對RGB格式和YUV格式中的一個進行修改。本領域技術人員可以理解,這裡,修改所述答覆的具體參數也可以是其它情況,本發明的實施例並不意在對此進行限制。如圖1所示,該顯示功能處理模塊100可以進一步包括轉發單元104,與應用模塊 110和顯示驅動模塊120連接,用於將應用模塊110的顯示功能調用轉發到顯示驅動模塊 120。這裡,本領域技術人員可以理解,該轉發單元104並不是本發明的第一實施例的顯示功能處理模塊的必備部件,在沒有轉發單元104的情況下,在系統中,應用模塊110也可以將調用顯示功能的請求直接發送到顯示驅動模塊120。根據本發明的實施例的另一方面,提供了伺服器,其與多個客戶端相連接,且所述伺服器包括應用模塊、顯卡和用於驅動該顯卡的顯示驅動模塊,其中,在所述客戶端使用所述應用模塊的顯示功能時,所述應用模塊通過所述顯示驅動模塊調用所述顯卡的顯示功能,所述伺服器進一步包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述客戶端的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述客戶端連接,用於將所述第二響應發送到所述應用模塊;其中, 所述應用模塊通過所述顯示驅動模塊調用所述顯卡與所述第二響應對應的顯示功能,以由所述客戶端使用。圖2是示出了根據本發明第一實施例的伺服器的示意性框圖。如圖2所示,伺服器200與多個客戶端200』相連接,且伺服器200包括應用模塊210、顯卡220和用於驅動顯卡220的顯示驅動模塊230,其中,在客戶端200』使用應用模塊210的顯示功能時,應用模塊210通過顯示驅動模塊230調用顯卡220的顯示功能,伺服器200進一步包括截取單元 201,與顯示驅動模塊230連接,用於當顯示驅動模塊230對客戶端200』的顯示功能調用做出第一響應時,截取所述第一響應;更改單元202,與截取單元201連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元203,與更改單元202和客戶端200』連接,用於將所述第二響應發送到應用模塊210 ;其中,應用模塊210通過顯示驅動模塊230調用顯卡220與所述第二響應對應的顯示功能,以由客戶端200』使用。在根據本發明第一實施例的伺服器中,雖然沒有明確繪出如圖1的顯示功能處理模塊,但本領域技術人員可以理解,這裡截取單元201、更改單元202和發送單元203的組合實際上執行的就是如圖1所示的顯示功能處理模塊100的功能。根據本發明的實施例的又一方面,提供了伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,其中,在任一所述多個客戶端使用所述應用模塊的顯示功能時,所述應用模塊向所述選擇模塊發出選擇所述圖像處理單元或所述中央處理單元來執行所述顯示功能的第一請求,且所述選擇模塊在接收到所述第一請求之後,向所述圖像處理單元或所述中央處理單元發送用於查詢所述顯示功能的第二請求,所述伺服器進一步包括截取單元,與所述圖像處理單元或所述中央處理單元連接,用於當所述圖像處理單元或所述中央處理單元對所述選擇模塊發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述選擇模塊連接,用於將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元或所述圖像處理單元來執行所述顯示功能,以由所述客戶端使用。圖3是示出了根據本發明第二實施例的伺服器的示意性框圖。如圖3所示,伺服器 300與多個客戶端300』相連接,且伺服器300包括應用模塊310、圖像處理單元320、中央處理單元330和用於選擇圖像處理單元320或中央處理單元330來執行顯示功能的選擇模塊 340,其中,在多個客戶端300』中的任意一個使用應用模塊310的顯示功能時,應用模塊310 向選擇模塊340發出選擇圖像處理單元320或中央處理單元330來執行所述顯示功能的第一請求,且選擇模塊340在接收到所述第一請求之後,向圖像處理單元320或中央處理單元 330發送用於查詢所述顯示功能的第二請求,伺服器300進一步包括截取單元301,與圖像處理單元320或中央處理單元330連接,用於當圖像處理單元320或中央處理單元330對選擇模塊340發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元302,與截取單元301連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元303,與更改單元302和選擇模塊340連接,用於將所述第二響應發送到選擇模塊340 ;其中,選擇模塊340根據所述第二響應選擇中央處理單元330或圖像處理單元320來執行所述顯示功能,以由客戶端300』使用。這裡,本領域技術人員可以理解,選擇模塊340用於選擇中央處理單元330或圖像處理單元320來執行顯示功能,因此,也可以在選擇模塊340中包含用於驅動中央處理單元 330或圖像處理單元320來進行圖像處理的必要驅動。例如,在圖像處理單元320是顯卡的情況下,在選擇模塊中就可以包括顯卡驅動。與上述實施例中類似,雖然在該實施例的伺服器中並沒有明確繪出如圖1的顯示功能處理模塊100,但是截取單元301、更改單元302、發送單元303和選擇模塊340的組合實際上執行了如圖1所示的顯示功能處理模塊100的功能。並且,在如上所述選擇模塊340 包括用於驅動中央處理單元330或圖像處理單元320來進行圖像處理的必要驅動的情況下,選擇模塊340實際上還執行了如圖1所示的顯示驅動模塊120的功能。根據本發明的實施例的又一方面,提供了伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,其中,在任一所述多個客戶端使用所述應用模塊的顯示功能時,所述應用模塊向所述選擇模塊發出選擇所述圖像處理單元來執行所述顯示功能的第一請求,且所述選擇模塊在接收到所述第一請求之後,向所述圖像處理單元發送用於查詢所述顯示功能的第二請求,所述伺服器進一步包括截取單元,與所述圖像處理單元連接,用於當所述圖像處理單元對所述選擇模塊發出的所述第二請求做出第一響應時, 截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述選擇模塊連接,用於將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。圖4是示出了根據本發明第三實施例的伺服器的示意性框圖。如圖4所示,伺服器400與多個客戶端400』相連接,且伺服器400包括應用模塊410、圖像處理單元420、中央處理單元430和用於選擇圖像處理單元420或中央處理單元430來執行顯示功能的選擇模塊440,其中,在多個客戶端400』中的任意一個使用應用模塊410的顯示功能時,應用模塊410向選擇模塊440發出選擇圖像處理單元420來執行所述顯示功能的第一請求,且選擇模塊440在接收到所述第一請求之後,向圖像處理單元420發送用於查詢所述顯示功能的第二請求,伺服器400進一步包括截取單元401,與圖像處理單元420連接,用於當圖像處理單元420對選擇模塊440發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元402,與截取單元401連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元403,與更改單元402和選擇模塊440連接,用於將所述第二響應發送到選擇模塊440 ;其中,選擇模塊440根據所述第二響應選擇中央處理單元430來執行所述顯示功能,以由客戶端400』使用。與圖3所示的根據本發明第二實施例的伺服器相比,如圖4所示的根據本發明第三實施例的伺服器的不同在於,在如圖4所示的根據本發明第三實施例的伺服器中,應用模塊410優先使用圖像處理單元420來執行顯示功能,而僅在不能夠使用圖像處理單元420 來執行顯示功能才使用中央處理單元430來執行顯示功能,從而保證了最優的顯示質量。在上述伺服器400中,更改單元402可以包括第一判斷單元404,該第一判斷單元404可用於判斷伺服器400當前所連接的客戶端400』的數目是否超過第一閾值,並且當連接的客戶端400』的數目超過第一閾值時,將所述第一響應更改為第二響應,從而使得選擇模塊440選擇伺服器400的中央處理單元430來執行所述顯示功能,以由客戶端400』使用。本領域技術人員可以理解,由於在本發明的實施例所應用的系統環境中,通常是圖像處理單元的資源相對有限,因此,該第一判斷單元404也可用於判斷伺服器400當前所連接的客戶端400』當中正在使用圖像處理單元420的客戶端的數目是否超過第一閾值,並且當正在使用圖像處理單元420的客戶端的數目超過第一閾值時,將所述第一響應更改為第二響應,從而使得選擇模塊440選擇伺服器400的中央處理單元430來執行所述顯示功能,以由客戶端使用。這樣,可以更好地保證圖像處理單元的圖像處理能力的有效使用。在上述伺服器400中,更改單元402還可包括第二判斷單元405,用於判斷使用應用模塊410的顯示功能的客戶端的優先級,其中當第二判斷單元405判斷客戶端具有高優先級時,不對第一響應進行更改,從而使得選擇模塊440選擇伺服器400的顯示處理單元 420來執行所述顯示功能,以由所述客戶端使用;並且,當第二判斷單元405判斷客戶端具有低優先級時,將所述第一響應更改為第二響應,從而使得選擇模塊440選擇伺服器400的中央處理單元430來執行所述顯示功能,以由所述客戶端使用。這樣,可以保證具有更高優先級的用戶能夠獲得使用圖像處理單元的顯示功能的優先級,從而獲得更好的顯示質量。此外,在本發明第二實施例和第三實施例的伺服器中,與根據本發明第一實施例的伺服器類似,雖然在上述伺服器中並沒有明確繪出如圖1的顯示功能處理模塊100,但是其截取單元、更改單元、發送單元和選擇模塊的組合實際上執行了如圖1所示的顯示功能處理模塊100的功能。並且,在如上所述選擇模塊包括用於驅動中央處理單元或圖像處理單元來進行圖像處理的必要驅動的情況下,選擇模塊實際上還執行了如圖1所示的顯示驅動模塊120的功能。對於上述根據本發明第一實施例的顯示功能處理模塊和根據本發明第一實施例到第三實施例的伺服器來說,當應用顯示功能處理模塊的功能時,需要將本發明的實施例的顯示功能處理模塊插入在應用模塊和用於執行顯示功能的顯示處理設備之間,該顯示處理設備例如是根據本發明第一實施例的伺服器中的顯卡、或根據本發明第二實施例和第三實施例的伺服器中的圖像處理單元和顯示處理單元。在正常情況下,當在應用模塊和顯示處理設備之間不存在本發明的顯示功能處理模塊時,當應用模塊需要調用顯示處理設備的顯示功能時,應用模塊會向顯示處理設備發出關於所要調用的顯示功能的查詢,而顯示處理設備在接收到來自應用模塊的查詢時,會向應用模塊返回其可以調用的顯示功能的答覆。舉例來說,某視頻播放軟體在播放視頻時需要開啟反鋸齒功能,於是其向顯示處理設備發出關於反鋸齒功能的查詢,而顯示處理設備在接收到該關於反鋸齒的查詢時,如果顯示處理設備本身具有反鋸齒的功能,則向該視頻播放軟體返回肯定的答覆,這樣,視頻播放軟體就可以調用該顯示處理設備的反鋸齒功能以用於視頻播放。否則,顯示處理設備向視頻播放軟體返回否定的答覆,則視頻播放軟體將無法調用該顯示處理設備的反鋸齒功能。本發明的顯示功能處理模塊及顯示處理方法的原理在於,由於本發明的顯示功能處理模塊被插入在應用模塊和顯示處理設備之間,其可以中轉應用模塊所發送的查詢和顯示處理設備所返回的答覆。對於應用模塊所發送的查詢,本發明的顯示功能處理模塊將全
14部查詢不作更改地轉發到顯示處理設備,但是對於顯示處理設備返回的答覆,則根據策略庫中的對於顯示處理設備的使用的預先設定的策略來對於上述答覆進行修改。例如,對於那些依據顯示處理設備的使用策略允許該應用模塊使用的功能,將相關聯的答覆不作更改地返回到應用模塊,而對於那些依據顯示處理設備的使用策略不允許該應用模塊使用的功能,則將顯示處理設備返回的肯定答覆修改為否定答覆,從而使得應用模塊無法調用顯示處理設備的該功能。當然,如果應用模塊要求調用某項顯示處理設備本身並不具備的功能, 這時顯示處理設備返回到本發明實施例的顯示功能處理模塊的答覆即為否定的,從而不需要本發明的實施例的顯示功能處理模塊對該答覆進行修改。這裡,本領域技術人員可以理解,雖然在一般情況下不需要修改否定的答覆,但在某些特殊情況下,例如顯示處理設備根據其本身的設置不希望應用模塊調用其顯示功能,但具體應用需要強制調用該顯示功能時,也可以將否定的答覆修改為肯定的答覆,本發明的實施例並不意在對此進行限制。舉例來說,當某播放器應用需要播放某視頻時,其向顯示處理設備發出了功能A、功能B和功能C 的查詢,則本發明的禁止視頻硬體加速的模塊將關於該三項功能的查詢全部轉發到顯示處理設備。該顯示處理設備本身具有功能A和功能B,因此,其返回關於功能A和功能B的肯定答覆,以及關於功能C的否定答覆到該顯示功能處理模塊,而該顯示功能處理模塊經過查詢策略庫,發現允許該播放器應用使用功能A,但不允許其使用功能B,於是,該顯示功能處理模塊將顯示處理設備的關於功能A的肯定答覆不作更改地發送回播放器應用,而將顯示處理設備的關於功能B的肯定答覆修改為否定答覆,並發送回播放器應用。這樣,該播放器應用接收到關於功能A的肯定答覆,以及關於功能B和功能C的否定答覆,因此在視頻播放過程中,僅能夠調用顯示處理設備的功能A。當然,本領域技術人員可以理解,當根據策略庫中的策略,在某些情況下需要顯示處理設備的使用時,僅需要將顯示處理設備返回給應用模塊的全部肯定答覆修改為否定答覆,則將無法使用該顯示處理設備,從而實現了整體上禁止應用模塊使用該顯示處理設備的顯示功能。這裡,本領域技術人員可以理解,雖然在上述描述中本發明的實施例的顯示功能處理模塊將應用模塊對於顯示功能的查詢轉發到顯示處理設備,但是本發明的實施例的顯示功能處理模塊也可以不包括轉發的功能,而是由應用模塊直接將對於顯示功能的查詢發送到顯示處理設備。本發明的實施例的顯示功能處理模塊僅截取所述顯示處理設備對調用該顯示功能的查詢的響應,並對該響應進行相應的修改。如上所述,因為向顯示處理設備查詢某項顯示功能是應用模塊向該顯示處理設備調用該顯示功能的一個步驟,根據本發明的實施例的顯示功能處理模塊除對所述查詢的響應進行更改之外,也可以對於顯示處理設備對調用請求的響應進行更改,這裡本發明的實施例並不意在進行限制。下面,將參考圖5描述本發明的顯示功能處理模塊在Windows OS系統下的示意性加載過程。圖5是示意性地示出了本發明的顯示功能處理模塊的加載過程的流程圖。雖然在圖5中僅示意性地示出了本發明的顯示功能處理模塊在Windows OS系統下的加載過程, 但是,本領域技術人員可以理解,在其它系統條件下,也可以類似地加載本發明的禁止視頻硬體加速的模塊。如圖5所示,首先,在步驟S101,Windows OS系統啟動。之後,在步驟S102,由Windows OS系統加載用於本發明的實施例的顯示功能處理模塊的內核態驅動Lvldr. sys。 這裡,在安裝顯示功能處理模塊時,需要在WindowsOS系統內安裝一個內核態驅動Lvldr. sys。在該驅動安裝成功後,當WindowsOS系統啟動之後就會根據安裝信息(其在註冊表內) 按照順序加載該驅動,即,在系統內加載該顯示功能處理模塊。為了保證能夠正確地監控到 WindowsOS系統向顯示處理設備(即顯卡,在下面的描述中將簡稱為「顯卡」)的用戶態驅動名稱的查詢,該內核態驅動Lvldr. sys是在Windows OS系統中的顯卡驅動之前就已經被加載的。隨後,在系統中加載了該顯示功能處理模塊之後,需要建立在該顯示功能處理模塊與媒體應用,即以上實施例中的應用模塊和顯示處理設備之間的聯繫。在步驟S103,由該顯示功能處理模塊的內核態驅動Lvldr. sys向系統註冊監控註冊表函數,即,使得註冊表的所有操作,比如讀寫等都需要經過Lvldr. sys來進行。之後,在步驟S104,當Windows OS系統需要加載顯卡驅動時,會查詢註冊表該顯卡用戶態驅動的名稱。由於該註冊表路徑為固定路徑,因此,該顯示功能處理模塊的內核態驅動Lvldr. sys可以根據此路徑確定Windows OS需要查詢的顯卡用戶態驅動。之後,在步驟S105,真實的顯卡用戶態驅動名稱被本發明的實施例的顯示功能處理模塊的內核態驅動Lvldr. sys保存,並在步驟S 106將真實的顯卡用戶態驅動名稱更改為過濾驅動名稱,隨後在步驟S107將過濾驅動名稱返回給Windows OS的註冊表內容。即,通過上述步驟,將真實的顯卡用戶態驅動修改為本發明的實施例的顯示功能處理模塊的用戶態驅動lvumdX32. dll,從而建立了本發明的實施例的顯示功能處理模塊與媒體應用和顯示處理設備之間的聯繫。此後,在步驟S108,繼續等待是否有後續修改,如果有,則返回到步驟S104,並重複步驟S104到步驟S107的過程,而如果沒有,則結束此進程。完成修改之後,即完成了本發明的實施例的顯示功能處理模塊對於用戶態過濾驅動的加載。這樣,在系統啟動完成之後,當有媒體應用啟動時,需要加載顯卡的用戶態驅動, 首先加載的就是本發明的實施例的顯示功能處理模塊的用戶態驅動lvumdX32. dll,然後該 lvumdx32會根據內核態驅動Lvldr. sys所保存的真實的顯卡用戶態驅動名稱,將真實顯卡用戶態驅動加載起來。這樣,所有的媒體應用所要向顯卡進行的查詢操作、繪圖操作等都需要先經過lvumdX32,然後才能向真實顯卡進行操作,S卩,實現了本發明的顯示功能處理模塊在Windows OS系統中插入在媒體應用和真實顯卡之間的加載過程。當然,本領域技術人員可以理解,也可以通過手動修改註冊表來將本發明的實施例的顯示功能處理模塊加載在媒體應用和顯示處理設備之間。下面,將參考圖6描述本發明的實施例的顯示功能處理模塊在Windows OS系統下的工作過程。圖6是示意性地示出了本發明的實施例的顯示功能處理模塊的工作過程的流程圖。雖然在圖6中僅示意性地示出了本發明的禁止視頻硬體加速的模塊在Windows OS 系統下的工作過程,但是,本領域技術人員可以理解,在其它作業系統條件下(比如Linux, MacOS等),本發明的禁止視頻硬體加速的模塊也可以類似地進行工作。如圖6所示,首先,在步驟S201,播放器啟動。隨後,在步驟S202,本發明的實施例的顯示功能處理模塊加載用戶態驅動lvumdx32,這在上文中已經進行了描述,因此在此不再贅述。然後,在步驟S203,本發明的實施例的顯示功能處理模塊加載真實用戶態顯卡驅動,這在上文中也已經進行了描述,因此在此不再贅述。然後,在步驟S204,由Windows OS 系統中的媒體播放器向顯卡進行查詢,分配顯示內存,繪畫等一系列的操作,這其中的查詢操作中就包含查詢顯卡屬性支持能力。例如,在現有的Windows OS系統中,常見的顯卡屬性包括 SupportFormat, D3dCaps、DXVACaps 等。其中,SupportFormat 是工業界的顏色標準, 如RGB,YUV等,D3dCaps是顯卡的3D加速功能,主要是能力的描述,而對於DXVACaps,DXVA 是DirectX Video Acceleration的簡稱,該屬性不僅包括了視頻數據的解碼運算,還有各種後期處理運算。之後,在步驟S205,在媒體播放器查詢顯卡能力時,由本發明的實施例的顯示功能處理模塊根據策略庫來判斷屬性支持情況。這裡,本發明的實施例的顯示功能處理模塊首先向真實顯卡得到真實的顯卡能力,再根據策略庫選擇過濾掉不應該支持的顯卡能力返回給媒體播放器。這樣,就實現了對於視頻硬體加速的某些功能的禁止。隨後,在步驟S206,繼續等待是否需要過濾其它顯卡功能,如果仍需要過濾,則返回到步驟S204,並重複執行步驟S204和S205的過程,而如果不需要繼續過濾,則整個進程結束。在背景技術部分中,提到了在瘦客戶機/伺服器的應用模型下需要本發明的實施例的顯示功能處理模塊及其工作方法,但是本領域技術人員可以理解,本發明的實施例的顯示功能處理模塊及其工作方法可以應用於任意工作環境下。例如,本發明的實施例的顯示功能處理模塊及其工作方法也可以應用於單獨的計算機中,從而優化各個媒體應用對於顯示處理設備的使用。本領域技術人員可以理解,除了單純地禁止某些用戶的媒體應用使用顯示處理設備的圖像處理功能之外,本發明的實施例的顯示功能處理模塊及顯示處理方法還可以用於其它應用場景。例如,圖7示出了應用本發明的實施例的顯示功能處理模塊及其工作方法, 從而在客戶端/伺服器應用中實現動態地控制使用圖像處理單元(GPU)還是中央處理單元 (CPU)來執行顯示功能的場景,這裡,圖7是本發明的實施例的顯示功能處理模塊及其工作方法的具體應用示例的示例性計算機系統的框圖。下面,將參考圖7對於該應用場景進行描述。圖7中的客戶端/伺服器模型是這樣的一種模型,其中客戶端只具有連接模塊和輸入輸出模塊,可以看作伺服器的輸入輸出設備。客戶端不具備傳統意義的CPU,因此和伺服器連接後,如果需要計算,就通過伺服器的CPU進行計算;客戶端也不具備傳統意義的 GPU,如果需要顯示,就通過伺服器的GPU進行圖像顯示處理,然後直接驅動顯示單元顯示。 一個伺服器可以連接多個這樣的客戶端。如圖7所示,在該應用中,Windows OS系統中的媒體應用為Windows媒體播放器 (Windows Media Player),而顯示處理設備的驅動包括用戶模式顯示驅動器(User mode display driver)和顯示微埠驅動器(display miniport driver)的一部分。如圖7所示,當在正常情況下Windows媒體播放器需要調用顯示處理設備的某功能時,其會首先將查詢通過Direct 3D運行時間(Direct3D runtime)傳送到用戶模式顯示驅動器,在得到用戶模式顯示驅動器的肯定答覆的情況下再將該查詢通過DXGK子系統傳送到顯示微埠驅動器,並將顯示微埠驅動器關於該功能的肯定答覆通過DXGK子系統和Direct 3D運行時間返回到Windows媒體播放器,以實現調用顯示處理設備的該功能。因此,在應用本發明的實施例的顯示功能處理模塊時,將作為本發明的實施例的顯示功能處理模塊的用戶模式過濾驅動器插入到Direct 3D運行時間和用戶模式顯示驅動器之間,其過程與以上關於圖5 所述的加載過程相同,在此不再贅述。這樣,當根據策略庫中的策略確定不應支持Windows 媒體播放器所要調用的功能,由用戶模式過濾驅動器將來自用戶模式顯示驅動器的肯定答
17復修改為否定答覆,該修改過程與以上關於圖6所示的工作過程相同,在此不再贅述。由此,該查詢不再通過DXGK子系統傳送到顯示微埠驅動器,從而使得Windows媒體播放器收到關於該查詢的否定答覆,因此不能調用顯示處理設備的該功能。這裡,將作為本發明的實施例的顯示功能處理模塊的用戶模式過濾驅動器插入到Direct 3D運行時間和用戶模式顯示驅動器之間,而不是插入在處於內核模式下的Direct 3D運行時間和DXGK子系統之間的原因一方面在於成本方面的考慮,即在內核模式下進行修改會大大提升系統實現的複雜度,同時使得系統的運行不穩定,另一方面,也是因為在實際情況下,絕大部分需要禁止的顯示處理設備的圖像處理功能是在用戶模式下的,即由用戶模式顯示驅動器實現,而顯示微埠驅動器實現的更多的是顯示所需的必須功能。因此,通過將作為本發明的實施例的顯示功能處理模塊的用戶模式過濾驅動器插入到Direct 3D運行時間和用戶模式顯示驅動器之間,就可以實現本發明的禁止媒體應用調用顯示處理設備的圖像處理功能,同時又不會影響到媒體應用對於視頻的正常顯示。對於某些圖像處理功能,例如,視頻流的解碼功能,既可以採用伺服器的顯示處理設備,即GPU來進行,也可以採用伺服器的中央處理單元,即CPU來進行。由於該視頻流的解碼功能是播放該視頻流的必須功能,因此,在禁止由GPU來進行視頻流解碼的情況下,需要選擇CPU來進行,否則,將影響客戶端的Windows媒體播放器的正常使用。如圖7所示, 當Windows媒體播放器需要採用CPU來進行視頻流解碼時,與使用GPU解碼類似,將關於視頻流解碼的功能的查詢通過Win32⑶I模塊,Win 32K模塊和DXGK子系統傳送到顯示微埠驅動器,並在獲得顯示微埠驅動器的肯定答覆的情況下調用該功能以進行CPU解碼。如圖7所示,當連接的客戶端使用GPU的數目沒有達到限制時,媒體播放器會採用(1)路徑進行視頻解碼,即利用伺服器的GPU的視頻流處理能力。而當客戶端連接使用 GPU的數目到達限制以上,媒體播放器首先還是會採用(1)路徑,不過這時用戶模式過濾驅動器進行工作,從而禁止媒體播放器使用GPU的視頻流解碼功能,使得媒體播放器無法調用GPU的功能來進行視頻流解碼。此時,設置媒體播放器直接利用CPU解碼,即,採用路徑 (2)來進行視頻流解碼以進行顯示。也就是說,通過根據策略庫來禁止某些客戶端的Windows媒體播放器使用GPU的進行視頻流解碼的功能,可以動態地控制伺服器中的GPU解碼或CPU解碼,從而實現顯示處理設備的優化使用。這裡,本領域技術人員可以理解,除了根據所連接的客戶端的使用GPU 的數目來確定是否禁止GPU解碼以外,還可以設定其它禁止GPU解碼的策略。例如,設定客戶端的優先級,從而使得具有高優先級的客戶端總是使用GPU解碼,而具有低優先級的客戶端總是使用CPU解碼,這樣,使得具有高優先級的客戶能夠獲得高質量的顯示服務,從而提高客戶的滿意度。本領域技術人員可以理解,在伺服器端可以靈活地應用多種禁止策略, 本發明不限於上述特定實施例。根據本發明的實施例的一個方面,提供了顯示處理方法,應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能,所述顯示處理方法包括在所述應用模塊和顯示驅動模塊之間加載顯示功能處理模塊後,當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述應用模塊。
圖8是示出了根據本發明的實施例的顯示處理方法的示意性流程圖。如圖8所示, 在步驟S301,在應用模塊和顯示驅動模塊之間加載顯示功能處理模塊,隨後在步驟S302, 當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應,之後,在步驟S303,根據預先設定的策略對所述第一響應進行更改,生成第二響應,最後,在步驟S304,將第二響應發送到應用模塊。在本發明的實施例的顯示功能處理方法中,可以進一步包括步驟當所述應用模塊需要調用所述顯示驅動模塊的顯示功能時,由所述顯示功能處理模塊將所述應用模塊對顯示功能的調用請求轉發到所述顯示驅動模塊。在本發明的實施例的顯示處理方法中,與上面參考圖5所述的加載顯示功能處理模塊的描述類似,加載顯示功能處理模塊的步驟可以包括加載所述顯示功能處理模塊的內核態驅動;由所述內核態驅動向系統註冊監控註冊表函數;當系統通過查詢註冊表查詢所述顯示驅動模塊的用戶態驅動時,所述顯示功能處理模塊通過註冊表路徑確定系統所查詢的所述顯示驅動模塊的用戶態驅動;由所述顯示功能處理模塊保存所述顯示驅動模塊的用戶態驅動的名稱;由所述顯示功能處理模塊將所述顯示驅動模塊的用戶態驅動的名稱修改為過濾驅動名稱;由所述顯示功能處理模塊將所述過濾驅動名稱返回給系統,從而將真實的顯示驅動模塊的用戶態驅動修改為所述顯示功能處理模塊的用戶態驅動。在本發明的實施例的顯示處理方法中,與上面參考圖6所述的顯示功能處理模塊的工作過程類似,在加載所述顯示功能處理模塊後,在截取所述顯示驅動模塊對所述應用模塊的顯示功能調用做出的第一響應之前,可以包括步驟當應用模塊啟動以加載所述顯示驅動模塊的用戶態驅動時,加載所述顯示功能處理模塊的用戶態驅動;所述顯示功能處理模塊的用戶態驅動根據由所述顯示功能處理模塊保存的所述顯示驅動模塊的用戶態驅動的名稱,加載真實的顯示驅動模塊的用戶態驅動。並且,所述更改顯示驅動模塊對應用模塊的顯示功能調用的響應的步驟包括由所述顯示功能處理模塊從真實的顯示驅動模塊得到真實的顯示功能;和根據預先設定的策略,將所述第一響應中對至少一個顯示功能的肯定答覆修改為否定答覆,從而生成第二響應。根據本發明的實施例的另一方面,提供了一種顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、顯卡和用於驅動所述顯卡的顯卡驅動,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊通過所述顯卡驅動調用所述顯卡的所述顯示功能後,當所述顯卡驅動對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述應用模塊; 其中,所述應用模塊通過所述顯卡驅動調用所述顯卡的與所述第二響應對應的顯示功能, 以由所述客戶端使用。據本發明的實施例的又一方面,提供了一種顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、圖像處理單元、 中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊向所述伺服器的選擇模塊發出選擇所述伺服器的圖像處理單元或中央處理單元來執行所述顯示功能的第一請求時,所述選擇模塊向所述圖像處理單元或所述中央處理單元發送查詢所述顯示功能的第二請求,當所述選擇模塊對所述應用模塊的所述第二請求做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應; 和將所述第二響應發送到所述顯示應用;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元或所述圖像處理單元來執行所述顯示功能,以由所述客戶端使用。據本發明的實施例的又一方面,提供了一種顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、圖像處理單元、 中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊向所述伺服器的選擇模塊發出選擇所述伺服器的圖像處理單元來執行所述顯示功能的第一請求時,所述選擇模塊向所述圖像處理單元發送查詢所述顯示功能的第二請求,當所述選擇模塊對所述應用模塊的所述第二請求做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述顯示應用;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元來執行所述顯示功能, 以由所述客戶端使用。在上述顯示處理方法中,所述預定設定的策略包括根據所述伺服器所連接的客戶端使用顯示應用的數目來進行判定,其中,如果所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目超過第一閾值,則將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。在上述顯示處理方法中,所述預定設定的策略包括根據所述客戶端的優先級來進行判定,其中,對於具有高優先級的客戶端,不對第一響應進行更改,從而使得選擇模塊選擇伺服器的顯示處理單元來執行所述顯示功能,以由所述客戶端使用;對於具有低優先級的客戶端,將所述第一響應更改為第二響應,從而使得選擇模塊選擇伺服器的中央處理單元來執行所述顯示功能,以由所述客戶端使用。通過本發明的顯示功能處理模塊,伺服器和顯示處理方法,能夠基於預定策略靈活地使用顯示處理設備的顯示功能,從而實現系統的顯示資源的合理和有效使用。通過本發明的顯示功能處理模塊,伺服器和顯示處理方法,能夠動態地控制使用圖像處理單元或中央處理單元來執行顯示功能,從而在防止圖像處理單元的資源有限的限制的同時能夠充分地利用圖像處理單元的資源。本發明已經參考具體實施例進行了詳細說明。然而,很明顯,在不背離本發明的精神的情況下,本領域技術人員能夠對實施例執行更改和替換。換句話說,本發明用說明的形式公開,而不是被限制地解釋。要判斷本發明的要旨,應該考慮所附的權利要求。
權利要求
1.一種顯示功能處理模塊,應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能,所述顯示功能處理模塊包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改, 生成第二響應;和發送單元,與所述更改單元和所述應用模塊連接,用於將所述第二響應發送到所述應用模塊。
2.如權利要求1所述的顯示功能處理模塊,其中,所述更改單元根據預先設定的策略, 將所述第一響應中對至少一個顯示功能的肯定答覆修改為否定答覆,從而生成第二響應。
3.如權利要求1所述的顯示功能處理模塊,其進一步包括轉發單元,與所述應用模塊和所述顯示驅動模塊連接,用於將所述應用模塊的顯示功能調用轉發到所述顯示驅動模塊。
4.一種伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、顯卡和用於驅動該顯卡的顯示驅動模塊,其中,在所述客戶端使用所述應用模塊的顯示功能時,所述應用模塊通過所述顯示驅動模塊調用所述顯卡的顯示功能,所述伺服器進一步包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述客戶端的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改, 生成第二響應;和發送單元,與所述更改單元和所述客戶端連接,用於將所述第二響應發送到所述應用模塊;其中,所述應用模塊通過所述顯示驅動模塊調用所述顯卡與所述第二響應對應的顯示功能,以由所述客戶端使用。
5.一種伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,其中,在任一所述多個客戶端使用所述應用模塊的顯示功能時,所述應用模塊向所述選擇模塊發出選擇所述圖像處理單元或所述中央處理單元來執行所述顯示功能的第一請求, 且所述選擇模塊在接收到所述第一請求之後,向所述圖像處理單元或所述中央處理單元發送用於查詢所述顯示功能的第二請求,所述伺服器進一步包括截取單元,與所述圖像處理單元或所述中央處理單元連接,用於當所述圖像處理單元或所述中央處理單元對所述選擇模塊發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改, 生成第二響應;和發送單元,與所述更改單元和所述選擇模塊連接,用於將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元或所述圖像處理單元來執行所述顯示功能,以由所述客戶端使用。
6.一種伺服器,與多個客戶端相連接,且所述伺服器包括應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,其中,在任一所述多個客戶端使用所述應用模塊的顯示功能時,所述應用模塊向所述選擇模塊發出選擇所述圖像處理單元來執行所述顯示功能的第一請求,且所述選擇模塊在接收到所述第一請求之後,向所述圖像處理單元發送用於查詢所述顯示功能的第二請求,所述伺服器進一步包括截取單元,與所述圖像處理單元連接,用於當所述圖像處理單元對所述選擇模塊發出的所述第二請求做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改, 生成第二響應;和發送單元,與所述更改單元和所述選擇模塊連接,用於將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元來執行所述顯示功能, 以由所述客戶端使用。
7.如權利要求6所述的伺服器,其中,所述更改單元包括第一判斷單元,用於判斷所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目是否超過第一閾值,其中當正在使用所述圖像處理單元的客戶端的數目超過第一閾值時,將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。
8.如權利要求6所述的伺服器,其中,所述更改單元包括第二判斷單元,用於判斷所述客戶端的優先級,其中當所述第二判斷單元判斷客戶端具有低優先級時,將所述第一響應更改為第二響應, 從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。
9.一種顯示處理方法,應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能,所述顯示處理方法包括在所述應用模塊和顯示驅動模塊之間加載一顯示功能處理模塊後,當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述應用模塊。
10.如權利要求9所述的顯示功能處理方法,進一步包括步驟當所述應用模塊需要調用所述顯示驅動模塊的顯示功能時,由所述顯示功能處理模塊將所述應用模塊對顯示功能的調用請求轉發到所述顯示驅動模塊。
11.如權利要求9所述的顯示處理方法,其中,所述加載顯示功能處理模塊的步驟包括加載所述顯示功能處理模塊的內核態驅動;由所述內核態驅動向系統註冊監控註冊表函數;當系統通過查詢註冊表查詢所述顯示驅動模塊的用戶態驅動時,所述顯示功能處理模塊通過註冊表路徑確定系統所查詢的所述顯示驅動模塊的用戶態驅動;由所述顯示功能處理模塊保存所述顯示驅動模塊的用戶態驅動的名稱;由所述顯示功能處理模塊將所述顯示驅動模塊的用戶態驅動的名稱修改為過濾驅動名稱;由所述顯示功能處理模塊將所述過濾驅動名稱返回給系統,從而將真實的顯示驅動模塊的用戶態驅動修改為所述顯示功能處理模塊的用戶態驅動。
12.如權利要求9所述的顯示處理方法,其中,在加載所述顯示功能處理模塊後,在截取所述顯示驅動模塊對所述應用模塊的顯示功能調用做出的第一響應之前,包括步驟當應用模塊啟動以加載所述顯示驅動模塊的用戶態驅動時,加載所述顯示功能處理模塊的用戶態驅動;所述顯示功能處理模塊的用戶態驅動根據由所述顯示功能處理模塊保存的所述顯示驅動模塊的用戶態驅動的名稱,加載真實的顯示驅動模塊的用戶態驅動。
13.如權利要求9所述的顯示處理方法,其中,所述更改第一響應的步驟包括由所述顯示功能處理模塊從真實的顯示驅動模塊得到真實的顯示功能;和根據預先設定的策略,將所述第一響應中對至少一個顯示功能的肯定答覆修改為否定答覆,從而生成第二響應。
14.一種顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、顯卡和用於驅動所述顯卡的顯卡驅動,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊通過所述顯卡驅動調用所述顯卡的所述顯示功能後,當所述顯卡驅動對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述應用模塊;其中,所述應用模塊通過所述顯卡驅動調用所述顯卡的與所述第二響應對應的顯示功能,以由所述客戶端使用。
15.一種顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊向所述伺服器的選擇模塊發出選擇所述伺服器的圖像處理單元或中央處理單元來執行所述顯示功能的第一請求時,所述選擇模塊向所述圖像處理單元或所述中央處理單元發送查詢所述顯示功能的第二請求,當所述圖像處理單元或所述中央處理單元對所述選擇模塊的所述第二請求做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元或所述圖像處理單元來執行所述顯示功能,以由所述客戶端使用。
16.一種顯示處理方法,應用於一伺服器,所述伺服器與多個客戶端相連接,且所述伺服器包括由客戶端使用的應用模塊、圖像處理單元、中央處理單元和用於選擇所述圖像處理單元或所述中央處理單元來執行顯示功能的選擇模塊,所述方法包括在所述客戶端使用所述伺服器的應用模塊的顯示功能,所述應用模塊向所述伺服器的選擇模塊發出選擇所述伺服器的圖像處理單元來執行所述顯示功能的第一請求時,所述選擇模塊向所述圖像處理單元發送查詢所述顯示功能的第二請求,當所述圖像處理單元對所述選擇模塊的所述第二請求做出第一響應時,截取所述第一響應;根據預先設定的策略對所述第一響應進行更改,生成第二響應;和將所述第二響應發送到所述選擇模塊;其中,所述選擇模塊根據所述第二響應選擇所述中央處理單元來執行所述顯示功能, 以由所述客戶端使用。
17.如權利要求16所述的顯示處理方法,其中,所述預定設定的策略包括根據所述伺服器所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目來進行判定,其中如果所連接的客戶端當中正在使用所述圖像處理單元的客戶端的數目超過第一閾值, 則將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。
18.如權利要求16所述的顯示處理方法,其中,所述預定設定的策略包括根據所述客戶端的優先級來進行判定,其中對於具有低優先級的客戶端,將所述第一響應更改為第二響應,從而使得所述選擇模塊選擇所述伺服器的所述中央處理單元來執行所述顯示功能,以由所述客戶端使用。
全文摘要
提供了顯示功能處理模塊、伺服器和顯示處理方法。所述顯示功能處理模塊應用於包括應用模塊和顯示驅動模塊的系統中,其中所述應用模塊需要調用所述顯示驅動模塊的顯示功能,所述顯示功能處理模塊包括截取單元,與所述顯示驅動模塊連接,用於當所述顯示驅動模塊對所述應用模塊的顯示功能調用做出第一響應時,截取所述第一響應;更改單元,與所述截取單元連接,用於根據預先設定的策略對所述第一響應進行更改,生成第二響應;和發送單元,與所述更改單元和所述應用模塊連接,用於將所述第二響應發送到所述應用模塊。
文檔編號H04L29/06GK102402412SQ20101028816
公開日2012年4月4日 申請日期2010年9月19日 優先權日2010年9月19日
發明者孫成昆, 宋禕斐, 李洪偉 申請人:聯想(北京)有限公司