丘允阳
摘 要:移动虚拟化使用中,用户输入后需要先将输入信息通过网络发送到服务器端,经过服务器端处理后更新用户界面再返回给客户端之后用户才能获得刚才输入的实际响应,因此用户输入后能否快速响应决定着是否有好的用户输入体验。该文提出在用户输入时先根据画笔属性实时显示输入信息,给用户有个好的输入响应,待收到服务器端的实际数据后再进行二次回显避免显示偏差。这种方法能够减小移动虚拟化对网络传输的依赖,快速响应用户输入,解决了因为网络抖动、延迟等原因造成用户输入卡顿或回显慢的问题,有效提升用户输入体验。
关键词:移动虚拟化 用户输入 响应时间 用户体验
中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2015)05(a)-0005-02
专业名词解释:移动虚拟化:利用云计算和虚拟化技术将位于服务器端的Android虚拟应用投递到移动终端。
在云计算全面铺开的今天,利用云计算技术将Windows虚拟机或是虚拟应用投递到客户PC、瘦终端或是移动终端,极大的提高了办公的便利性,保证了关键数据的安全性,降低了能源的消耗,节省了用户的开支。
近年来移动终端大行其道,其所占的市场份额逐步赶超传统个人计算机。在移动虚拟化使用中,在虚拟应用程序上的用户输入需要先将输入信息发送到服务器端,经过服务器端处理后重新绘制出变化的用户界面再返回给客户端之后用户才能获得刚才输入的实际响应。由于移动终端通过运营商网络或WiFi连接互联网,可能因为网络抖动、延迟等原因造成用户输入后出现卡顿或回显慢的问题,从而影响用户输入体验。
移动虚拟化分为本地客户端和云端的服务器端(服务器端可以理解为位于云端的一台虚拟机)。目前主要有两种移动虚拟化用户输入方案。
1 方案一
方案一用户输入及显示处理过程说明如下。
(1)用户点击输入框位置。
(2)客户端将输入光标位置信息传递给服务器端,触发服务器端的输入模块。
(3)服务器端弹出输入法。
(4)服务器端图像更新到客户端,客户端就能看到服务器端弹出的输入法。
(5)用户点击输入,并将点击事件传递到服务器端。服务器端根据客户端传递过来的点击事件输入信息,并进行处理。
(6)服务器端通过显示模块更新显示界面。
(7)服务器端将显示更新信息发送给客户端,客户端更新显示界面。
方案一在用户输入时采用的是服务器端的输入法,这可能与客户端的本地输入法不同,用户输入时需要在多种输入法之间切换,给用户带来不便。
为了使用户不需要在多种输入法之间切换,保持好的用户习惯(我们可以认为用户的本地输入法为其习惯的输入法),更通常采用的是方案二。
2 方案二
方案二的用户输入及显示处理过程图2所示。
方案二用户输入及显示处理过程说明如下。
(1)用户点击输入框位置。
(2)客户端将输入光标位置信息传递给服务器端,触发服务器端的输入模块。
(3)服务器端往客户端发送消息,触发客户端弹出本地输入法。
(4)用户本地输入。
(5)客户端将输入信息传递给服务器端,服务器端接收输入信息并进行处理。
(6)服务器端通过显示模块更新显示界面。
(7)服务器端将显示更新信息发送给客户端,客户端更新显示界面。
可以看出,方案二采用本地输入法进行用户输入,能够较好的保持用户习惯。
移动虚拟化使用中,用户输入后能否快速响应决定着是否有好的用户输入体验。现有的方案一和方案二,都存在如下问题。
(1)用户本地输入的信息需要通过网络传递到服务器端,然后由服务器端触发客户端更新输入显示,在用户看来输入后响应时间较长,在网速较慢或存在网络抖动、网络延迟时尤为明显。
(2)一旦网络质量下降到不能正常地完成服务器端和客户端之间的网络通信,在客户端上看到的用户界面将停顿在最后一幅画面上,如果用户正在录入数据,则用户界面无法及时显示用户所输入的数据,则无法继续操作。
(3)用户每键入一个字符,客户端都立即将该字符发送至服务器端,则当用户输入较多字符时,需要依次执行多次网络通信。即使网络通信质量良好,该多次网络通信也将严重降低用户界面显示字符的速度。
该文对方案二进行改进,提出了一种提升移动虚拟化使用中的用户输入体验的方法。
改进的用户输入及显示处理过程如图3。
改进的用户输入及显示处理过程说明如下。
(1)用户点击输入框位置。
(2)客户端将输入光标位置信息(消息结构如下“光标位置信息结构”)传递给服务器端,触发服务器端的输入模块。
(3)服务器端往客户端发送消息,触发客户端弹出本地输入法,并且消息中还需携带画笔属性,消息结构如“通知弹出本地输入法消息结构”。
(4)用户本地输入。
(5)客户端根据画笔属性实时显示输入信息。
(6)客户端将输入信息传递给服务器端,服务器端接收输入信息并进行处理,消息结构如“输入信息消息结构”。
(7)服务器端通过显示模块更新输入显示。
(8)服务器端将显示更新信息发送给客户端,消息结构如“显示更新消息结构”,客户端更新显示界面(进行二次回显校验)。
3 结语
该文提出的方法能够快速响应用户的输入,解决了因为网络抖动、延迟等原因造成用户输入卡顿或回显慢的问题,从而提升用户输入体验。该方法还可以应用到其它需要依赖网络进行输入回显的情形,先通过本地回显给用户有个好的输入响应,然后再根据实际数据二次回显校验避免显示偏差的方法来提升用户体验。
参考文献
[1] 广小明,胡杰,陈龙,等.虚拟化技术原理与实现[M].北京:电子工业出版社,2012.
[2] 李博.基于SPICE协议的桌面虚拟化客户端的设计与实现[D].广州:华南理工大学,2012.
[3] 袁野,何嘉.基于Android的云桌面客户端关键技术研究与实现[J].计算机应用,2013(S1):26-28.