丘允陽
摘 要:移動虛擬化使用中,用戶輸入后需要先將輸入信息通過網(wǎng)絡發(fā)送到服務器端,經過服務器端處理后更新用戶界面再返回給客戶端之后用戶才能獲得剛才輸入的實際響應,因此用戶輸入后能否快速響應決定著是否有好的用戶輸入體驗。該文提出在用戶輸入時先根據(jù)畫筆屬性實時顯示輸入信息,給用戶有個好的輸入響應,待收到服務器端的實際數(shù)據(jù)后再進行二次回顯避免顯示偏差。這種方法能夠減小移動虛擬化對網(wǎng)絡傳輸?shù)囊蕾?,快速響應用戶輸入,解決了因為網(wǎng)絡抖動、延遲等原因造成用戶輸入卡頓或回顯慢的問題,有效提升用戶輸入體驗。
關鍵詞:移動虛擬化 用戶輸入 響應時間 用戶體驗
中圖分類號:TP311 文獻標識碼:A 文章編號:1672-3791(2015)05(a)-0005-02
專業(yè)名詞解釋:移動虛擬化:利用云計算和虛擬化技術將位于服務器端的Android虛擬應用投遞到移動終端。
在云計算全面鋪開的今天,利用云計算技術將Windows虛擬機或是虛擬應用投遞到客戶PC、瘦終端或是移動終端,極大的提高了辦公的便利性,保證了關鍵數(shù)據(jù)的安全性,降低了能源的消耗,節(jié)省了用戶的開支。
近年來移動終端大行其道,其所占的市場份額逐步趕超傳統(tǒng)個人計算機。在移動虛擬化使用中,在虛擬應用程序上的用戶輸入需要先將輸入信息發(fā)送到服務器端,經過服務器端處理后重新繪制出變化的用戶界面再返回給客戶端之后用戶才能獲得剛才輸入的實際響應。由于移動終端通過運營商網(wǎng)絡或WiFi連接互聯(lián)網(wǎng),可能因為網(wǎng)絡抖動、延遲等原因造成用戶輸入后出現(xiàn)卡頓或回顯慢的問題,從而影響用戶輸入體驗。
移動虛擬化分為本地客戶端和云端的服務器端(服務器端可以理解為位于云端的一臺虛擬機)。目前主要有兩種移動虛擬化用戶輸入方案。
1 方案一
方案一用戶輸入及顯示處理過程說明如下。
(1)用戶點擊輸入框位置。
(2)客戶端將輸入光標位置信息傳遞給服務器端,觸發(fā)服務器端的輸入模塊。
(3)服務器端彈出輸入法。
(4)服務器端圖像更新到客戶端,客戶端就能看到服務器端彈出的輸入法。
(5)用戶點擊輸入,并將點擊事件傳遞到服務器端。服務器端根據(jù)客戶端傳遞過來的點擊事件輸入信息,并進行處理。
(6)服務器端通過顯示模塊更新顯示界面。
(7)服務器端將顯示更新信息發(fā)送給客戶端,客戶端更新顯示界面。
方案一在用戶輸入時采用的是服務器端的輸入法,這可能與客戶端的本地輸入法不同,用戶輸入時需要在多種輸入法之間切換,給用戶帶來不便。
為了使用戶不需要在多種輸入法之間切換,保持好的用戶習慣(我們可以認為用戶的本地輸入法為其習慣的輸入法),更通常采用的是方案二。
2 方案二
方案二的用戶輸入及顯示處理過程圖2所示。
方案二用戶輸入及顯示處理過程說明如下。
(1)用戶點擊輸入框位置。
(2)客戶端將輸入光標位置信息傳遞給服務器端,觸發(fā)服務器端的輸入模塊。
(3)服務器端往客戶端發(fā)送消息,觸發(fā)客戶端彈出本地輸入法。
(4)用戶本地輸入。
(5)客戶端將輸入信息傳遞給服務器端,服務器端接收輸入信息并進行處理。
(6)服務器端通過顯示模塊更新顯示界面。
(7)服務器端將顯示更新信息發(fā)送給客戶端,客戶端更新顯示界面。
可以看出,方案二采用本地輸入法進行用戶輸入,能夠較好的保持用戶習慣。
移動虛擬化使用中,用戶輸入后能否快速響應決定著是否有好的用戶輸入體驗。現(xiàn)有的方案一和方案二,都存在如下問題。
(1)用戶本地輸入的信息需要通過網(wǎng)絡傳遞到服務器端,然后由服務器端觸發(fā)客戶端更新輸入顯示,在用戶看來輸入后響應時間較長,在網(wǎng)速較慢或存在網(wǎng)絡抖動、網(wǎng)絡延遲時尤為明顯。
(2)一旦網(wǎng)絡質量下降到不能正常地完成服務器端和客戶端之間的網(wǎng)絡通信,在客戶端上看到的用戶界面將停頓在最后一幅畫面上,如果用戶正在錄入數(shù)據(jù),則用戶界面無法及時顯示用戶所輸入的數(shù)據(jù),則無法繼續(xù)操作。
(3)用戶每鍵入一個字符,客戶端都立即將該字符發(fā)送至服務器端,則當用戶輸入較多字符時,需要依次執(zhí)行多次網(wǎng)絡通信。即使網(wǎng)絡通信質量良好,該多次網(wǎng)絡通信也將嚴重降低用戶界面顯示字符的速度。
該文對方案二進行改進,提出了一種提升移動虛擬化使用中的用戶輸入體驗的方法。
改進的用戶輸入及顯示處理過程如圖3。
改進的用戶輸入及顯示處理過程說明如下。
(1)用戶點擊輸入框位置。
(2)客戶端將輸入光標位置信息(消息結構如下“光標位置信息結構”)傳遞給服務器端,觸發(fā)服務器端的輸入模塊。
(3)服務器端往客戶端發(fā)送消息,觸發(fā)客戶端彈出本地輸入法,并且消息中還需攜帶畫筆屬性,消息結構如“通知彈出本地輸入法消息結構”。
(4)用戶本地輸入。
(5)客戶端根據(jù)畫筆屬性實時顯示輸入信息。
(6)客戶端將輸入信息傳遞給服務器端,服務器端接收輸入信息并進行處理,消息結構如“輸入信息消息結構”。
(7)服務器端通過顯示模塊更新輸入顯示。
(8)服務器端將顯示更新信息發(fā)送給客戶端,消息結構如“顯示更新消息結構”,客戶端更新顯示界面(進行二次回顯校驗)。
3 結語
該文提出的方法能夠快速響應用戶的輸入,解決了因為網(wǎng)絡抖動、延遲等原因造成用戶輸入卡頓或回顯慢的問題,從而提升用戶輸入體驗。該方法還可以應用到其它需要依賴網(wǎng)絡進行輸入回顯的情形,先通過本地回顯給用戶有個好的輸入響應,然后再根據(jù)實際數(shù)據(jù)二次回顯校驗避免顯示偏差的方法來提升用戶體驗。
參考文獻
[1] 廣小明,胡杰,陳龍,等.虛擬化技術原理與實現(xiàn)[M].北京:電子工業(yè)出版社,2012.
[2] 李博.基于SPICE協(xié)議的桌面虛擬化客戶端的設計與實現(xiàn)[D].廣州:華南理工大學,2012.
[3] 袁野,何嘉.基于Android的云桌面客戶端關鍵技術研究與實現(xiàn)[J].計算機應用,2013(S1):26-28.