发明内容
本发明实施例中提供了一种测量操作延时的确定方法、装置及终端,以提高客观量化操作延迟的精度,以及提高用户的体验度。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面提供了一种测量操作延时的确定方法,所述方法包括:
获取第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件;
在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;
计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
在第一方面的第一种可能的实现方式中,所述获取第一屏幕更新事件包括:
获取用户在终端上输入的鼠标或键盘操作事件;
将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;
显示所述标记有图形图像的鼠标或键盘操作事件会引发所述终端的屏幕更新事件,所述终端的屏幕更新事件称为第一屏幕更新事件。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述图形图像为本地光标或本地字符。
结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述获取第二屏幕更新事件包括:
获取所述用户在所述终端上输入的所述鼠标或键盘操作事件;
将所述鼠标或键盘操作事件通过网络传输给VID服务器;
接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会触发终端的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间,具体包括:
根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;以及,根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
结合第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间,具体包括:
接收回放录像的指令;
根据所述指令回放屏幕录制的图像;
在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;
计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
第二方面提供了一种测量操作延时的确定装置,所述装置包括:
获取单元,用于第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件;
记录单元,用于在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;
确定单元,用于计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
在第二方面的第一种可能的实现方式中,所述获取单元包括:
第一获取单元,用于获取用户在终端上输入的鼠标或键盘操作事件;将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;显示所述标记有图形图像的鼠标或键盘操作事件会触发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事件;
第二获取单元,用于获取所述用户在所述终端上输入的所述鼠标或键盘操作事件;将所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引起终端上的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一获取单元包括:
第一事件获取单元,用于获取用户在终端上输入的鼠标或键盘操作事件;
转化单元,用于将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;
触发单元,用于显示所述标记有图形图像的鼠标或键盘操作事件时引发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事件。
结合第二方面或第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述转化单元转化为标记有图形图像的鼠标或键盘操作事件中的图形图像为:本地光标或本地字符。
结合第二方面或第二方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,所述第二获取单元包括:
第二事件获取单元,用于获取所述用户在所述终端上输入的所述鼠标或键盘操作事件;
发送单元,用于将所述鼠标或键盘操作事件通过网络传输给VID服务器;
接收单元,用于接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引发所述终端上的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
结合第二方面或第二方面的第一种或第二种或第三种或第四种可能的实现方式,在第五种可能的实现方式中,所述记录单元包括:
第一记录单元,用于根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;
第二记录单元,用于根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
结合第二方面或第二方面的第一种或第二种或第三种或第四种或第五种可能的实现方式,在第六种可能的实现方式中,所述确定单元包括:
接收单元,用于接收回放录像的指令;
回放单元,用于根据所述指令回放屏幕录制的图像;
查找单元,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;
计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
第三方面提供了一种终端,所述终端包括:
接收模块,用于接收用户通过键盘或鼠标输入的鼠标或键盘操作事件,并将所述鼠标或键盘操作事件发送给远程的VID服务器;
事件HOOK模块,用于获取所述用户通过键盘或鼠标输入的所述鼠标或键盘操作事件;
事件显示模块,用于将所述事件HOOK模块获取的所述鼠标或键盘事件转化为标记有图形图像的鼠标或键盘事件;并在所述终端的屏幕上显示所述图形图像;并将显示所述图形图像时触发所述屏幕更新称为第一屏幕触发事件;
屏幕录制模块,用于对所述事件显示模块显示所述图形图像时触发所述屏幕更新进行屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;
所述接收模块,还用于接收所述VID服务器发送的第二屏幕更新事件,所述第二屏幕更新事件为所述VDI服务器对所述鼠标或键盘操作事件进行处理后引发所述屏幕更新的事件;
所述事件HOOK模块,还用于获取所述VID服务器发送给所述终端的所述第二屏幕更新事件;
所述屏幕录制模块,还用于对所述第二屏幕更新事件引发所述屏幕更新时进行屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间;
确定模块,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
在第三方面的第一种可能的实现方式中,所述确定模块包括:
接收模块,用于接收回放录像的指令;
回放模块,用于根据所述指令回放屏幕录制的图像;
查找模块,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;
计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
由上述技术方案可知,本发明实施例中,通过获取本地对鼠标或键盘输入事件进行处理并图形显示,作为与该终端接收到VDI服务器对所述鼠标或键盘输入事件响应显示的参照对比,并比较两次相应鼠标或键盘事件操作事件显示的时间,其差作为操作延时的量化结果。也就是说,本发明实施例提高了客观量化操作延迟的精度,从而提高了用户的体验度。同时,本发明实施例的操作延时的量化结果可以为后续用户体验提供客观的、可量化的评估工具,也可以在后续比拼测试提供建议测试项。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种测量操作延时的确定方法的流程图,所述方法包括:
步骤101:获取第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕更新事件为对用户同一鼠标或键盘操作事件进行处理后的屏幕更新事件;
其中,在该实施例中,获取第一屏幕更新事件和第二屏幕更新事件,在时间没有先后顺序,也可以同时获取,本实施例不作限制。
在该实施例中,获取第一屏幕更新事件的过程包括:获取用户在终端上输入的鼠标或键盘操作事件;将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;显示所述标记有图形图像的鼠标或键盘操作事件会触发所述终端的屏幕更新事件,所述终端的屏幕更新事件称为第一屏幕更新事件。其中,所述图形图像可以为本地光标或本地字符,比如,本地字母A等。
其中,在上述获取第一屏幕更新事件的过程中,所述获取用户在终端(比如TC或PC等)上输入的鼠标或键盘操作事件,可以由事件HOOK模块来获取,也可以有集成事件HOOK模块的终端来获取;当然,并不限于此。
所述将鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件,以及显示所述标记有图形图像的鼠标或键盘操作事件会触发所述终端的屏幕更新事件,可以有事件显示模块来完成。
其中,终端可以是TC或计算机(PC,personal computer)等。
获取第二屏幕更新事件的过程包括:获取用户在所述终端上输入的所述鼠标或键盘操作事件;将所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会触发终端的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
步骤102:在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;
基于上述实现过程,步骤102具体包括:根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;以及,根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
步骤103:计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
基于上述步骤,步骤103具体包括:
一种方式为:接收用户输入的回放录像的指令;根据所述指令回放屏幕录制的图像;在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
另一种方式为,通过图像识别技术来识别录制的图像,从该图像识别技术中,可以查找出本地和远程VDI服务器分别对同一鼠标或键盘操作时间进行相应处理后,导致本地的两次屏幕更新的时间,并自动计算两次屏幕更新的时间之差,该差值就是鼠标或键盘操作事件的操作延迟时间。
其中,图像识别技术对于本领域技术人员来说,已是熟知技术,在此不再赘述。
本发明实施例中,通过获取本地对鼠标或键盘输入事件进行处理并图形显示,作为与该终端接收到VDI服务器对所述鼠标或键盘输入事件响应显示的参照对比,并比较两次相应鼠标或键盘事件操作事件显示的时间,其差作为操作延时的量化结果。也就是说,本发明实施例提高了客观量化操作延迟的精度,从而提高了用户的体验度。同时,本发明实施例的操作延时的量化结果可以为后续用户体验提供客观的、可量化的评估工具,也可以在后续比拼测试提供建议测试项。
基于上述方法的实现过程,本发明实施例还提供一种测量操作延时的确定装置,其结构示意图如图2所示,所述装置包括:获取单元21,记录单元22和确定单元23,其中,所述获取单元21,用于第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件;所述记录单元22,用于在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;所述确定单元23,用于计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
其中,所述获取单元21包括:第一获取单元31和第二获取单元32,其结构示意图如图3所示,图3为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图。其中,所述第一获取单元31,用于获取用户在终端上输入的鼠标或键盘操作事件;将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;显示所述标记有图形图像的鼠标或键盘操作事件会触发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事件;所述第二获取单元32,用于获取用户在所述终端上输入的所述鼠标或键盘操作事件;将所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引发终端上的屏幕更新事件,所述VDI终端上的屏幕更新事件称为第二屏幕触发事件。
其中,第一获取单元在获取第一屏幕更新事件与第二获取单元在获取第二屏幕更新事件在时间上没有先后顺序,也可以同时获取,本实施例不作限制。
可选的,在上述实施例的基础上,所述第一获取单元31包括:第一事件获取单元311,转化单元312和触发单元313,具体如图4所示,图4为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;所述第一事件获取单元311,用于获取用户在VDI终端上输入的鼠标或键盘操作事件;所述转化单元312,用于将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;所述触发单元313,用于显示所述标记有图形图像的鼠标或键盘操作事件时引发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事件。其中,所述转化单元转化标记有图形图像的鼠标或键盘操作事件中的有图形图像为:本地光标或本地字符等。
可选的,所述第二获取单元32包括:第二事件获取单元321,发送单元322和接收单元323,其结构示意图如图5所示,图5为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;图5以在图4的基础上为例,但并不限于此,还可以在图3的基础上包括上述第二获取单元。其中,所述第二事件获取单元321,用于获取用户在所述终端上输入的所述鼠标或键盘操作事件,即与第一时间获取单元获取的为同一鼠标或键盘操作事件;所述发送单元322,用于将所述鼠标或键盘操作事件通过网络传输给VID服务器;所述接收单元323,用于接收所述VID服务器发送的所述VID服务器对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引发终端上的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
可选的,在上述实施例的基础上,所述记录单元22可以包括:第一记录单元221和第二记录单元222,其结构示意图如图6所示,图6为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;图6以在图5的基础上为例,所述第一记录单元221,用于根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;所述第二记录单元222,用于根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
可选的,所述计算单元23,具体用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间,具体包括:接收单元231,回放单元232,查找单元233和计算单元234,其结构示意图仍如图6所示。
其中,所述接收单元231,用于接收回放录像的指令;所述回放单元232,用于根据所述指令回放屏幕录制的图像;所述查找单元233,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;所述计算单元234,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
所述装置中各个单元的功能和作用的实现过程,详见上述方法中对应步骤的实现过程,在此不再赘述。
本发明实施例还提提供一种终端,其结构示意图如图7所示,所述终端7包括:接收模块71,事件HOOK模块72,事件显示模块73、屏幕录制模块74和确定模块75,其中,
所述接收模块71,用于获取用户通过键盘或鼠标输入的鼠标或键盘操作事件,并将所述鼠标或键盘操作事件发送给远程的VID服务器;
其中,通常情况下,接收模块可以由VDI客户端来实现,所述VDI客户端可以集成在TC(TC是只一些能力比物理机弱很多的小盒子)或计算机PC上,此时,可以认为VDI客户端就是瘦客户端;如果VDI客户端直接允许集成在物理机上,则称该VDI客户端为软终端。
本实施例中,所述接收模块、事件HOOK模块、事件显示模块和屏幕录制模块可以一起集成在TC或物理机(比如计算机PC)的载体上。
所述事件HOOK模块72,用于获取所述用户通过键盘或鼠标输入的所述鼠标或键盘操作事件;
也就是说,该事件HOOK模块,可以集成在终端(比如TC或物理机)上,用于捕获终端上用户的鼠标或键盘操作事件,以及由同一鼠标或键盘操作事件引发的屏幕更新事件。
所述事件显示模块73,用于将所述事件HOOK模块获取的所述鼠标或键盘事件转化为标记有图形图像的鼠标或键盘事件;并在所述终端的屏幕上显示所述图形图像;并将显示所述图形图像时触发所述屏幕更新称为第一屏幕触发事件;
也就是说,该事件显示模块在所述终端显示捕获的用户鼠标或键盘操作事件。
比如,在终端移动鼠标时,事件显示模块会在VDI终端当前坐标点处显示一个“本地光标”;在敲击终端的键盘A,会在终端屏幕上的某处(比如当前坐标点附近)显示“本地字母A”。其中,“本地光标”和“本地字母A”可以特殊的字体、颜色显示出来,以便区分。
该事件显示模块所显示的内容,并不隶属于VDI系统,主要是用来作为与VDI系统做参照对比用。
所述屏幕录制模块74,用于对所述事件显示模块显示所述图形图像时触发所述屏幕更新进行屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;
其中,该屏幕录制模块主要用于对终端的屏幕更新进行屏幕录制,屏幕录制模块进行屏幕录制的动作是由终端的屏幕更新事件触发的。同时,在录制的录像中会在某处(比如左上角)显示录像当前绝对时间或相对时间,以便录像回放时的量化计算。
所述接收模块71,还用于接收所述VID服务器发送的第二屏幕更新事件,所述第二屏幕更新事件为所述VDI服务器对所述鼠标或键盘操作事件进行处理后的引发所述终端的屏幕更新的事件;
所述事件HOOK模块72,还用于获取所述VID服务器发送给所述终端的第二屏幕更新事件时;
所述屏幕录制模块74,还用于对所述第二屏幕更新事件引发所述屏幕更新时进行屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间;
所述确定模块75,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
可选的,所述终端可以是TC,也可以是PC,当然,还可以是其他的类似设备,本实施例不作限制。
其中,所述确定模块包括:接收模块,回放模块,查找模块和计算单元,其中,所述接收模块,用于接收回放录像的指令;所述回放模块,用于根据所述指令回放屏幕录制的图像;所述查找模块,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;所述计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
为了便于本领域技术人员的理解,下面以具体的实例来说明。
还请参阅图8,图8为本发明实施例提供的一种测量操作延时的确定方法的应用实例的流程图,在该实施例中,先在终端上创建事件HOOK模块,该事件HOOK模块用来捕获终端上接收到的鼠标或键盘操作事件,以及终端屏幕更新事件;需要说明的是,在终端只创建一次HOOK模块,后续可以直接使用。此外,所述终端上还包括:事件显示模块、和屏幕录制模块,其具体过程包括:
步骤801:用户通过鼠标或键盘向终端发送鼠标或键盘操作指令;
即终端接收到用户通过鼠标或键盘输入的鼠标或键盘操作事件;
步骤802:事件HOOK模块捕获用户在终端输入的所述鼠标或键盘操作事件;
步骤803:事件HOOK模块把在终端捕获到的用户操作的鼠标或键盘事件发送给事件显示模块;
步骤804:事件显示模块将用户操作的鼠标或键盘事件转化为标记有特殊的图形图像的鼠标或键盘事件,比如做特殊标记的“本地光标”或“本地字母A”,并显示在终端当前坐标点或附近某一位置,作为与后续参照对比;
显示标记有特殊的图形图像的鼠标或键盘事件会引起屏幕更新事件,此处称为第一屏幕更新事件。
在该实施例中,特殊的图形图像是自定义的,主要是用来区分正常的桌面图像显示的。比如做特殊标记的“本地光标”或“本地字母A”等,并显示在终端当前坐标点或附近某一位置正是对特殊图形图像的描述。
步骤805:屏幕显示模块将屏幕更新事件(即第一屏幕更新事件)发送给屏幕录制模块;
步骤806:屏幕录制模块根据所述屏幕更新事件触发进行屏幕录制;在屏幕录制时,屏幕上某处(比如左上角)会显示当前显示“本地光标”或“本地字母A”时的时间t1,称为第一时间;
步骤807:在步骤802发生时,终端会将接收到用户输入的鼠标或键盘操作事件通过VDI系统经过网络远程传输给VDI服务器;
其中,VDI服务器集成在虚拟机(VM,virtual machine)上。
步骤808:VDI服务器对接收的鼠标或键盘操作事件进行处理,此时VDI服务器的屏幕会发生相应变化(称为第二屏幕更新事件),比如,在键盘上敲击字母A的事件会在word里显示字母A;
也就是说,VDI服务器端收到鼠标或键盘操作事件后,就相当于是对桌面进行的操作,此时操作系统就会有对应的响应,然后屏幕就会发生相应的变化。比如,鼠标事件是双击桌面上的“我的电脑”,对应的屏幕显示就是在物理机上双击桌面上的“我的电脑”一样。
步骤809:VDI服务端将屏幕发生更新变化的事件(即第二屏幕更新事件)通过VDI系统经过网络远程传输到所述终端;
步骤810:事件HOOK模块捕获VDI服务端发送给终端的屏幕更新事件(即第二屏幕更新事件),也就说,VDI服务端发送给终端的屏幕更新事件被事件HOOK模块捕获。
步骤811:事件HOOK模块将捕获的终端接收到的屏幕更新事件发送给屏幕录制模块,以触发屏幕录制模块进行屏幕录制;
步骤812:屏幕录制模块根据终端接收到的屏幕更新事件进行屏幕录制;在屏幕录制时,屏幕上某处(比如左上角等)会显示当前显示VDI系统光标或其他显示(比如word里出现字母A)时的时间t2,即第二时间;
步骤813:用户向屏幕录制模块发送回放录像的指令;
步骤814:屏幕录制模块根据接收到的指令回放录像,并查找到两次对同一鼠标或键盘事件响应后产生的屏幕变化时的时间t1和t2,并计算t2-t1,得到VDI系统中对同一鼠标或键盘操作事件的操作延时的计算结果。
可选的,在另一实施例中,该实施例在上述实施例的基础上,在步骤814中,也可以通过图像识别技术识别两次录制的图像,进行自动比较,自动计算延时。
步骤815:屏幕录制模块将得到的VDI系统中对同一鼠标或键盘操作事件的操作延时的计算结果显示给用户。
其中,接收到的指令,可以输入鼠标或键盘事件的用户输入的指令,也可以是管理员输入的指令,当然,还可以是其他用户输入的指令,本实施例不作限制。
该步骤中,比如,在VDI环境word英文打字场景下,敲击键盘“A”,该键盘事件同时被事件HOOK模块和终端所捕获。事件HOOK模块将该键盘事件交由事件显示模块在终端某一适当位置显示一个字母“A”(做特殊标记);VDI系统会将该键盘事件发送至VDI服务器处理,并发送处理后的图像更新事件给终端,终端根据从服务端收到的消息进行显示,此时,在word里显示字母“A”。两次显示字母“A”时,都进行屏幕录制,并分别标记绝对时间t1和t2。t2-t1就是VDI系统对本次键盘敲击“A”的事件的操作延时。
当然,在VDI环境下,本发明所述技术方案还可以适用于很多其他场景的操作延时测量。比如通过鼠标拖动文件夹,word里打字操作等,还可以有很多类似鼠标键盘操作,比如,在word里移动光标(光标会变化),在桌面上右键单击,通过命令行运行图形界面程序等等。通过鼠标或键盘操作,桌面图形有变化的操作都可以归为此类。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。