一種快速精確的KVM遠程鼠標同步方法

3 KVM 系統總體結構
本文設計并實現了基于該鼠標同步方法的KVM 系統,主要分為3 個模塊:(1)運行于控制主機的客戶端;(2)連接多臺被控機的KVM 切換系統;(3)通過USB 接口與被控機相連,并且能模擬HID 設備的控制模塊。KVM 系統總體結構如圖2 所示。

圖2 KVM 系統總體結構
KVM 系統3 個模塊功能定義如下:
(1)控制主機客戶端
本文設計的KVM 系統基于B/S 框架,控制主機組合鼠標、鍵盤、顯示器等I/O 設備,通過Web 頁面調用操作界面。
界面經TCP/IP 網絡接收被控機屏幕畫面并解碼顯示,同時檢測本機鼠標、鍵盤事件,將數據發送至KVM 切換系統。由于被控機的視頻流發送負荷達5 Mb/s~10 Mb/s,為避免鼠標數據延遲,因此,本系統采用獨立的TCP/IP 連接發送鼠標鍵盤數據。
(2)KVM 切換系統
KVM 切換系統的核心是:運行主要內核程序及服務器程序,并通過HPI 接口連接多臺被控機進行切換控制的嵌入式處理器。處理器網絡接收鼠標數據并完成坐標處理算法,并將數據發送至與相應被控機連接的HID 設備控制模塊。
(3)HID 設備控制模塊
采用USB2.0 接口與被控機相連,支持480 Mb/s 的傳輸速率。經HPI 接收KVM 切換系統的鼠標數據并對報告描述符結構進行設置,通過中斷傳輸方式傳送至被控機,實現鼠標設備的模擬控制。該模塊是KVM 系統中完成HID 設備數據通信的核心模塊。
4 實驗與結果分析
4.1 延時測試
本文分別對KVM 鼠標操作總體的延遲時間,以及同步方法模塊的延遲時間進行測試,定義如下:
(1)總體延時
本文采用回環模式對總體延時進行測試。回環模式主要通過在主控機和被控機上形成對同一事件的循環響應,獲取兩者的響應時間差值,以得出延遲時間。具體實現方法為:在主控機和被控機上同時運行一個測試客戶端,鼠標單擊主控機的客戶端界面,界面響應事件并發出UDP 數據包標識時間;事件傳遞至被控機客戶端后,被控機客戶端同樣響應該事件并發出UDP 包。通過網絡工具捕捉這2 個UDP包,并計算兩者之間的時間差值,即得到總體的鼠標延時。
鼠標總體延時測試的實現流程如圖3 所示。

圖3 總體延時測試
(2)同步方法延時
考慮到控制主機性能和網絡環境等不固定因素,本文同時對鼠標同步方法的延遲時間進行測試。同步方法延時測試主要采用硬件中斷方式。同樣在主控機和被控機上各運行一個客戶端,并對主控機客戶端進行鼠標單擊操作。當鼠標操作數據由主控機客戶端傳輸到處理器時,處理器產生中斷并拉高電平;被控機客戶端接收到鼠標操作數據,發出UDP 包作為回應,當處理器接收到被控機端的UDP 包時拉低電平,從而形成一個時間脈沖。忽略UDP 包的網絡傳輸時間,則該時間脈沖寬度即可近似為同步方法的延遲時間。同步方法延時測試的實現流程如圖4 所示。

圖4 同步方法延時測試
回環模式測試最終所得的總體鼠標延時及同步方法延時測試結果如表5 所示。
表5 延時測試結果

4.2 同步精確度
KVM 測試運行12 h,并在被控機上播放MKV 視頻以增加網絡傳輸負荷。定期進行鼠標操作,且操作時間保持30 h以上。經測試評估,在絕對鼠標同步模式下,長時間使用鼠標不會出現位置偏差;在相對鼠標同步模式下,正常狀態操作鼠標不會出現位置不同步現象,但在大范圍區間內快速移動鼠標時會有約1 mm 的位置偏差,但鼠標可以在移動中自動更正重新達到重合。
5 結束語
本文提出一種快速精確的KVM 遠程鼠標同步方法。采用USB2.0 接口實現數據高速傳輸,通過加入自適應殘差處理和雙字節坐標表示法改進傳統相對鼠標同步方式,即實現鼠標同步方式絕對化。測試結果表明,該方法能提高鼠標定位的精準度,系統能夠更快處理鼠標事務。以后將不斷對本文方法進行優化,實現高速度與高精度更好的融合。
評論