郭四秀 福建升騰資訊有限公司
隨著桌面云虛擬化技術的不斷成熟,越來越多企業在虛擬環境下辦公,打印機的使用在日常辦公中是必不可少的,多數虛擬辦公環境下,設備的使用是受限的,即,在虛擬桌面環境下無法任意的訪問本地的打印機資源。
如何讓訪問本地打印機資源受限的虛擬桌面環境可以任意訪問本地的打印機資源,目前這個問題尚未存在一個良好的解決方案,解決此問題的一般做法是,通過網絡打印機實現虛擬桌面訪問網絡中的打印機資源,但其有缺點,如需要知道連接該網絡共享打印機的網絡IP,操作復雜。
在桌面云架構中,外設的最大問題是應用程序和外設接口分別分布在桌面云和云終端,要使應用程序能夠使用外設,必須在應用程序與外設接口之間建立聯系。這種聯系的建立主要有兩種思路:端口映射和設備映射。端口映射就是將云終端的端口重定向到云桌面中,所有處理均在云桌面中進行,而處理后的數據經過重定向后的虛擬端口直接輸出到云終端的實際端口。
設備映射主要是在云桌面中創建一個充當中繼器的虛擬設備。在該虛擬設備接收到外設處理請求后,直接轉交給云終端進行數據處理,打印機映射就屬于此類。
該方案是基于虛擬通道的桌面云高效打印方案,實現了自動添加打印機的功能,從而提高打印效率。方案包括三個模塊,一服務端網絡通信服務模塊、一客戶端網絡通信服務模塊和一打印機連接模塊。

圖3.1 基于虛擬通道的高效網絡打印方案
如圖3.1,該方案實現流程如下:
客戶端:創建一客戶端網絡通信服務,用于將客戶端的請求數據寫入專用虛擬通道,將所述請求數據發送到服務端;
服務端:創建一服務端網絡通信服務,用于接收且只接收來自遠程連接協議中專用虛擬通道的數據請求;
在客戶端通過遠程桌面協議連接服務端時,服務端網絡通信服務通過專用虛擬通道與客戶端網絡通信服務進行數據交互,服務端收到客戶端發來的消息后,判斷是否已經為所述客戶端創建了打印機連接,若已創建,則不再創建,否則,創建一個唯一的打印機連接。
該方案中的專用虛擬通道是由VDI 環境中遠程訪問協議所公布的API 建立的,可以是Citrix 協議、View 協議、RDP 協議或HDP協議的API,在不同環境下均可以通過不同協議的API 創建專用虛擬通道。
另外,該方案中的“創建一個唯一的打印機連接”為:服務端根據接收到的消息中攜帶的客戶端IP、打印機名稱、PID 和VID 信息創建一個唯一的打印機連接,服務端通過創建的這個唯一的打印機連接,來完成使用客戶端打印機資源。
本方案的優點是:
1)通過創建服務端網絡通信服務和客戶端網絡通信服務,二者之間利用專用虛擬通道進行數據交互,與普通網絡通信不同,本方案不需要進行 Socket 連接,不需要知道連接打印機的服務器IP 即可實現連接,大大簡化了打印機連接操作,節省了時間;
2)該方案通過“打印機連接模塊”實現了打印機的自動連接,從而提高了桌面云環境下的打印效率。
基于網絡共享的打印方案是一個廣泛使用的方案,但“基于虛擬通道”的打印方案可以達到更高效的打印體驗,本文通過深入分析上述兩種打印技術的實現原理及其優劣勢,發現“基于虛擬通道”的打印方式更高效。隨著云桌面的數據中心化,及向大規模部署和低成本方向發展的趨勢,未來“基于虛擬通道”的打印技術必將成為主流,更好地提升桌面云環境下的用戶體驗。