一种测量操作延时的确定方法、装置及终端的制作方法

文档序号:7999320阅读:315来源:国知局
一种测量操作延时的确定方法、装置及终端的制作方法
【专利摘要】本发明实施例公开了一种测量操作延时的确定方法、装置及终端,所述方法包括:获取第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件;在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。本发明实施例提高了客观量化VDI操作延迟的精度,从而提高了用户的体验度。
【专利说明】一种测量操作延时的确定方法、装置及终端

【技术领域】
[0001] 本发明涉及计算机技术,特别涉及一种测量操作延时的确定方法、装置及终端。

【背景技术】
[0002] 桌面云是一种大规模的远程桌面部署,是目前利用云计算技术提供替代PC方式 办公的一种解决方案,桌面云近年来在企业市场逐步被使用。桌面云的服务器端一般是目 前云计算中的虚拟机。
[0003] 目前,虚拟桌面基础架构(VDI,Virtual Desktop Infrastructure)包括:终端 (Client)和VDI服务端(VDI Server),其中,所述Client包括:显示(Display)模块和USB 模块;VDI Server包括:显示模块和USB模块。在VDI环境下,用户可以通过所述终端与 VDI服务端之间的数据信息的交互,来主观上判断操作延时的大小,具体包括:
[0004] 首先,用户通过鼠标、键盘在终端进行操作,该操作称为鼠标或键盘事件;也就是 说,终端中的USB模块在接收到所述鼠标或键盘事件时,将所述鼠标或键盘事件通过网络 远程发送给VDI服务端的USB模块;然后,所述VDI服务端的USB模块对该鼠标或键盘事件 进行处理,VDI服务端的显示模块更新图像数据,产生显示更新消息,并将显示更新消息发 送给VDI服务端的显示模块,VDI服务端的显示模块根据所述显示更新消息进行屏幕更新。
[0005] 而通过对比从VDI服务端传送过来的显示更新消息(比如图像显示)和本地操作之 间的时间上的差异,来主观上判断操作延时的大小;比如,用户在做拖动文件夹操作时会看 到文件夹移动速度跟不上光标的移动的速度,这是因为文件夹显示的图像数据是经由终端 发送VDI服务端处理后,再由VDI服务端发送给终端,并由VDI终端显示,而光标是直接在 本地显示的,这两者在显示时间上有一定的延时。目前,主要是通过主观去感知数据操作延 时的大小,降低了用户的体验。
[0006] 本发明的发明人发现,现有技术中,只涉及到数据(比如文件等)操作延迟的测量, 而没有涉及到鼠标、键盘操作延迟的测量,因此,如何能够在VDI环境下的客观量化操作 (包括鼠标、键盘的操作)延时是目前有待解决的技术问题。


【发明内容】

[0007] 本发明实施例中提供了一种测量操作延时的确定方法、装置及终端,以提高客观 量化操作延迟的精度,以及提高用户的体验度。
[0008] 为了解决上述技术问题,本发明实施例公开了如下技术方案:
[0009] 第一方面提供了一种测量操作延时的确定方法,所述方法包括:
[0010] 获取第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕 更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件;
[0011] 在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上 显示触发屏幕更新的时间为第一时间和第二时间;
[0012] 计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟 时间。
[0013] 在第一方面的第一种可能的实现方式中,所述获取第一屏幕更新事件包括:
[0014] 获取用户在终端上输入的鼠标或键盘操作事件;
[0015] 将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;
[0016] 显示所述标记有图形图像的鼠标或键盘操作事件会引发所述终端的屏幕更新事 件,所述终端的屏幕更新事件称为第一屏幕更新事件。
[0017] 结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式 中,所述图形图像为本地光标或本地字符。
[0018] 结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实 现方式中,所述获取第二屏幕更新事件包括:
[0019] 获取所述用户在所述终端上输入的所述鼠标或键盘操作事件;
[0020] 将所述鼠标或键盘操作事件通过网络传输给VID服务器;
[0021] 接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务 器的屏幕更新事件,所述VID服务器的屏幕更新事件会触发终端的屏幕更新事件,所述终 端上的屏幕更新事件称为第二屏幕触发事件。
[0022] 结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第四种 可能的实现方式中,在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别 记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间,具体包括:
[0023] 根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕 上显示触发屏幕更新的时间,称为第一时间;以及,根据所述第二屏幕事件触发所述终端的 屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
[0024] 结合第一方面或第一方面的第一种或第二种或第三种或第四种可能的实现方式, 在第五种可能的实现方式中,所述计算所述第一时间和第二时间的差值,得到所述鼠标或 键盘操作事件的操作延迟时间,具体包括:
[0025] 接收回放录像的指令;
[0026] 根据所述指令回放屏幕录制的图像;
[0027] 在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;
[0028] 计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作 延迟时间。
[0029] 第二方面提供了一种测量操作延时的确定装置,所述装置包括:
[0030] 获取单元,用于第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件 和第二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事 件;
[0031] 记录单元,用于在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时, 分别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;
[0032] 确定单元,用于计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作 事件的操作延迟时间。
[0033] 在第二方面的第一种可能的实现方式中,所述获取单元包括:
[0034] 第一获取单元,用于获取用户在终端上输入的鼠标或键盘操作事件;将所述鼠标 或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;显示所述标记有图形图像 的鼠标或键盘操作事件会触发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事件;
[0035] 第二获取单元,用于获取所述用户在所述终端上输入的所述鼠标或键盘操作事 件;将所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服务器发送的 对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器 的屏幕更新事件会引起终端上的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕 触发事件。
[0036] 结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式 中,所述第一获取单元包括:
[0037] 第一事件获取单元,用于获取用户在终端上输入的鼠标或键盘操作事件;
[0038] 转化单元,用于将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘 操作事件;
[0039] 触发单元,用于显示所述标记有图形图像的鼠标或键盘操作事件时引发屏幕更新 事件,所述屏幕更新事件称为第一屏幕更新事件。
[0040] 结合第二方面或第二方面的第一种或第二种可能的实现方式,在第三种可能的实 现方式中,所述转化单元转化为标记有图形图像的鼠标或键盘操作事件中的图形图像为: 本地光标或本地字符。
[0041] 结合第二方面或第二方面的第一种或第二种或第三种可能的实现方式,在第四种 可能的实现方式中,所述第二获取单元包括:
[0042] 第二事件获取单元,用于获取所述用户在所述终端上输入的所述鼠标或键盘操作 事件;
[0043] 发送单元,用于将所述鼠标或键盘操作事件通过网络传输给VID服务器;
[0044] 接收单元,用于接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理 时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引发所述终端上的 屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
[0045] 结合第二方面或第二方面的第一种或第二种或第三种或第四种可能的实现方式, 在第五种可能的实现方式中,所述记录单元包括 :
[0046] 第一记录单元,用于根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并 记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;
[0047] 第二记录单元,用于根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏 幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
[0048] 结合第二方面或第二方面的第一种或第二种或第三种或第四种或第五种可能的 实现方式,在第六种可能的实现方式中,所述确定单元包括:
[0049] 接收单元,用于接收回放录像的指令;
[0050] 回放单元,用于根据所述指令回放屏幕录制的图像;
[0051] 查找单元,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间 和第二时间;
[0052] 计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘 操作事件的操作延迟时间。
[0053] 第三方面提供了一种终端,所述终端包括:
[0054] 接收模块,用于接收用户通过键盘或鼠标输入的鼠标或键盘操作事件,并将所述 鼠标或键盘操作事件发送给远程的VID服务器;
[0055] 事件HOOK模块,用于获取所述用户通过键盘或鼠标输入的所述鼠标或键盘操作 事件;
[0056] 事件显示模块,用于将所述事件HOOK模块获取的所述鼠标或键盘事件转化为标 记有图形图像的鼠标或键盘事件;并在所述终端的屏幕上显示所述图形图像;并将显示所 述图形图像时触发所述屏幕更新称为第一屏幕触发事件;
[0057] 屏幕录制模块,用于对所述事件显示模块显示所述图形图像时触发所述屏幕更新 进行屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;
[0058] 所述接收模块,还用于接收所述VID服务器发送的第二屏幕更新事件,所述第二 屏幕更新事件为所述VDI服务器对所述鼠标或键盘操作事件进行处理后引发所述屏幕更 新的事件;
[0059] 所述事件HOOK模块,还用于获取所述VID服务器发送给所述终端的所述第二屏幕 更新事件;
[0060] 所述屏幕录制模块,还用于对所述第二屏幕更新事件引发所述屏幕更新时进行屏 幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间;
[0061] 确定模块,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘 操作事件的操作延迟时间。
[0062] 在第三方面的第一种可能的实现方式中,所述确定模块包括:
[0063] 接收模块,用于接收回放录像的指令;
[0064] 回放模块,用于根据所述指令回放屏幕录制的图像;
[0065] 查找模块,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间 和第二时间;
[0066] 计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘 操作事件的操作延迟时间。
[0067] 由上述技术方案可知,本发明实施例中,通过获取本地对鼠标或键盘输入事件进 行处理并图形显示,作为与该终端接收到VDI服务器对所述鼠标或键盘输入事件响应显示 的参照对比,并比较两次相应鼠标或键盘事件操作事件显示的时间,其差作为操作延时的 量化结果。也就是说,本发明实施例提高了客观量化操作延迟的精度,从而提高了用户的体 验度。同时,本发明实施例的操作延时的量化结果可以为后续用户体验提供客观的、可量化 的评估工具,也可以在后续比拼测试提供建议测试项。

【专利附图】

【附图说明】
[0068] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施 例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获 得其他的附图。
[0069] 图1为本发明实施例提供的一种测量操作延时的确定方法的流程图;
[0070] 图2为本发明实施例提供的一种测量操作延时的确定装置的结构示意图;
[0071] 图3为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;
[0072] 图4为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;
[0073] 图5为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;
[0074] 图6为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图;
[0075] 图7为本发明实施例提供的一种终端的结构示意图;
[0076] 图8为本发明实施例提供的一种测量操作延时的确定方法的应用实例的流程图。

【具体实施方式】
[0077] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0078] 请参阅图1,图1为本发明实施例提供的一种测量操作延时的确定方法的流程图, 所述方法包括:
[0079] 步骤101 :获取第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件 和第二屏幕更新事件为对用户同一鼠标或键盘操作事件进行处理后的屏幕更新事件;
[0080] 其中,在该实施例中,获取第一屏幕更新事件和第二屏幕更新事件,在时间没有先 后顺序,也可以同时获取,本实施例不作限制。
[0081] 在该实施例中,获取第一屏幕更新事件的过程包括:获取用户在终端上输入的鼠 标或键盘操作事件;将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作 事件;显示所述标记有图形图像的鼠标或键盘操作事件会触发所述终端的屏幕更新事件, 所述终端的屏幕更新事件称为第一屏幕更新事件。其中,所述图形图像可以为本地光标或 本地字符,比如,本地字母A等。
[0082] 其中,在上述获取第一屏幕更新事件的过程中,所述获取用户在终端(比如TC或 PC等)上输入的鼠标或键盘操作事件,可以由事件HOOK模块来获取,也可以有集成事件 HOOK模块的终端来获取;当然,并不限于此。
[0083] 所述将鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件,以及 显示所述标记有图形图像的鼠标或键盘操作事件会触发所述终端的屏幕更新事件,可以有 事件显示模块来完成。
[0084] 其中,终端可以是TC或计算机(PC, personal computer)等。
[0085] 获取第二屏幕更新事件的过程包括:获取用户在所述终端上输入的所述鼠标或 键盘操作事件;将所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服 务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述 VID服务器的屏幕更新事件会触发终端的屏幕更新事件,所述终端上的屏幕更新事件称为 第二屏幕触发事件。
[0086] 步骤102 :在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别 记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;
[0087] 基于上述实现过程,步骤102具体包括:根据所述述第一屏幕更新事件触发所述 终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间;以 及,根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发 屏幕更新的时间,称为第二时间。
[0088] 步骤103 :计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件 的操作延迟时间。
[0089] 基于上述步骤,步骤103具体包括:
[0090] 一种方式为:接收用户输入的回放录像的指令;根据所述指令回放屏幕录制的图 像;在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间;计算所 述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
[0091] 另一种方式为,通过图像识别技术来识别录制的图像,从该图像识别技术中,可以 查找出本地和远程VDI服务器分别对同一鼠标或键盘操作时间进行相应处理后,导致本地 的两次屏幕更新的时间,并自动计算两次屏幕更新的时间之差,该差值就是鼠标或键盘操 作事件的操作延迟时间。
[0092] 其中,图像识别技术对于本领域技术人员来说,已是熟知技术,在此不再赘述。 [0093] 本发明实施例中,通过获取本地对鼠标或键盘输入事件进行处理并图形显示,作 为与该终端接收到VDI服务器对所述鼠标或键盘输入事件响应显示的参照对比,并比较两 次相应鼠标或键盘事件操作事件显示的时间,其差作为操作延时的量化结果。也就是说,本 发明实施例提高了客观量化操作延迟的精度,从而提高了用户的体验度。同时,本发明实施 例的操作延时的量化结果可以为后续用户体验提供客观的、可量化的评估工具,也可以在 后续比拼测试提供建议测试项。
[0094] 基于上述方法的实现过程,本发明实施例还提供一种测量操作延时的确定装置, 其结构示意图如图2所示,所述装置包括:获取单元21,记录单元22和确定单元23,其中, 所述获取单元21,用于第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和 第二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件; 所述记录单元22,用于在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分 别记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间;所述确定单元23,用于计 算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
[0095] 其中,所述获取单元21包括:第一获取单元31和第二获取单元32,其结构示意图 如图3所示,图3为本发明实施例提供的一种测量操作延时的确定装置的另一结构示意图。 其中,所述第一获取单元31,用于获取用户在终端上输入的鼠标或键盘操作事件;将所述 鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;显示所述标记有图形 图像的鼠标或键盘操作事件会触发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事 件;所述第二获取单元32,用于获取用户在所述终端上输入的所述鼠标或键盘操作事件; 将所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服务器发送的对所 述鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏 幕更新事件会引发终端上的屏幕更新事件,所述VDI终端上的屏幕更新事件称为第二屏幕 触发事件。
[0096] 其中,第一获取单元在获取第一屏幕更新事件与第二获取单元在获取第二屏幕更 新事件在时间上没有先后顺序,也可以同时获取,本实施例不作限制。
[0097] 可选的,在上述实施例的基础上,所述第一获取单元31包括:第一事件获取单元 311,转化单元312和触发单元313,具体如图4所示,图4为本发明实施例提供的一种测量 操作延时的确定装置的另一结构示意图;所述第一事件获取单元311,用于获取用户在VDI 终端上输入的鼠标或键盘操作事件;所述转化单元312,用于将所述鼠标或键盘操作事件 转化为标记有图形图像的鼠标或键盘操作事件;所述触发单元313,用于显示所述标记有 图形图像的鼠标或键盘操作事件时引发屏幕更新事件,所述屏幕更新事件称为第一屏幕更 新事件。其中,所述转化单元转化标记有图形图像的鼠标或键盘操作事件中的有图形图像 为:本地光标或本地字符等。
[0098] 可选的,所述第二获取单元32包括:第二事件获取单元321,发送单元322和接收 单元323,其结构示意图如图5所示,图5为本发明实施例提供的一种测量操作延时的确定 装置的另一结构示意图;图5以在图4的基础上为例,但并不限于此,还可以在图3的基础 上包括上述第二获取单元。其中,所述第二事件获取单元321,用于获取用户在所述终端上 输入的所述鼠标或键盘操作事件,即与第一时间获取单元获取的为同一鼠标或键盘操作事 件;所述发送单元322,用于将所述鼠标或键盘操作事件通过网络传输给VID服务器;所述 接收单元323,用于接收所述VID服务器发送的所述VID服务器对所述鼠标或键盘操作事件 进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引发终端 上的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
[0099] 可选的,在上述实施例的基础上,所述记录单元22可以包括:第一记录单元221和 第二记录单元222,其结构示意图如图6所示,图6为本发明实施例提供的一种测量操作延 时的确定装置的另一结构示意图;图6以在图5的基础上为例,所述第一记录单元221,用 于根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示 触发屏幕更新的时间,称为第一时间;所述第二记录单元222,用于根据所述第二屏幕事件 触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二 时间。
[0100] 可选的,所述计算单元23,具体用于计算所述第一时间与所述第二时间的差值,得 到所述鼠标或键盘操作事件的操作延迟时间,具体包括:接收单元231,回放单元232,查找 单元233和计算单元234,其结构示意图仍如图6所示。
[0101] 其中,所述接收单元231,用于接收回放录像的指令;所述回放单元232,用于根据 所述指令回放屏幕录制的图像;所述查找单元233,用于在所述图像回放时,查找记录屏幕 录制时屏幕上显示的第一时间和第二时间;所述计算单元234,用于计算所述第一时间与 所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时间。
[0102] 所述装置中各个单元的功能和作用的实现过程,详见上述方法中对应步骤的实现 过程,在此不再赘述。
[0103] 本发明实施例还提提供一种终端,其结构示意图如图7所示,所述终端7包括:接 收模块71,事件HOOK模块72,事件显示模块73、屏幕录制模块74和确定模块75,其中,
[0104] 所述接收模块71,用于获取用户通过键盘或鼠标输入的鼠标或键盘操作事件,并 将所述鼠标或键盘操作事件发送给远程的VID服务器;
[0105] 其中,通常情况下,接收模块可以由VDI客户端来实现,所述VDI客户端可以集成 在TC (TC是只一些能力比物理机弱很多的小盒子)或计算机PC上,此时,可以认为VDI客 户端就是瘦客户端;如果VDI客户端直接允许集成在物理机上,则称该VDI客户端为软终 端。
[0106] 本实施例中,所述接收模块、事件HOOK模块、事件显示模块和屏幕录制模块可以 一起集成在TC或物理机(比如计算机PC)的载体上。
[0107] 所述事件HOOK模块72,用于获取所述用户通过键盘或鼠标输入的所述鼠标或键 盘操作事件;
[0108] 也就是说,该事件HOOK模块,可以集成在终端(比如TC或物理机)上,用于捕获终 端上用户的鼠标或键盘操作事件,以及由同一鼠标或键盘操作事件引发的屏幕更新事件。
[0109] 所述事件显示模块73,用于将所述事件Η00Κ模块获取的所述鼠标或键盘事件转 化为标记有图形图像的鼠标或键盘事件;并在所述终端的屏幕上显示所述图形图像;并将 显示所述图形图像时触发所述屏幕更新称为第一屏幕触发事件;
[0110] 也就是说,该事件显示模块在所述终端显示捕获的用户鼠标或键盘操作事件。
[0111] 比如,在终端移动鼠标时,事件显示模块会在VDI终端当前坐标点处显示一个"本 地光标";在敲击终端的键盘A,会在终端屏幕上的某处(比如当前坐标点附近)显示"本地字 母A"。其中,"本地光标"和"本地字母A"可以特殊的字体、颜色显示出来,以便区分。
[0112] 该事件显示模块所显示的内容,并不隶属于VDI系统,主要是用来作为与VDI系统 做参照对比用。
[0113] 所述屏幕录制模块74,用于对所述事件显示模块显示所述图形图像时触发所述 屏幕更新进行屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时 间;
[0114] 其中,该屏幕录制模块主要用于对终端的屏幕更新进行屏幕录制,屏幕录制模块 进行屏幕录制的动作是由终端的屏幕更新事件触发的。同时,在录制的录像中会在某处α匕 如左上角)显示录像当前绝对时间或相对时间,以便录像回放时的量化计算。
[0115] 所述接收模块71,还用于接收所述VID服务器发送的第二屏幕更新事件,所述第 二屏幕更新事件为所述VDI服务器对所述鼠标或键盘操作事件进行处理后的引发所述终 端的屏幕更新的事件;
[0116] 所述事件Η00Κ模块72,还用于获取所述VID服务器发送给所述终端的第二屏幕更 新事件时;
[0117] 所述屏幕录制模块74,还用于对所述第二屏幕更新事件引发所述屏幕更新时进行 屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间;
[0118] 所述确定模块75,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标 或键盘操作事件的操作延迟时间。
[0119] 可选的,所述终端可以是TC,也可以是PC,当然,还可以是其他的类似设备,本实 施例不作限制。
[0120] 其中,所述确定模块包括:接收模块,回放模块,查找模块和计算单元,其中,所述 接收模块,用于接收回放录像的指令;所述回放模块,用于根据所述指令回放屏幕录制的图 像;所述查找模块,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和 第二时间;所述计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或 键盘操作事件的操作延迟时间。
[0121] 为了便于本领域技术人员的理解,下面以具体的实例来说明。
[0122] 还请参阅图8,图8为本发明实施例提供的一种测量操作延时的确定方法的应用 实例的流程图,在该实施例中,先在终端上创建事件HOOK模块,该事件HOOK模块用来捕获 终端上接收到的鼠标或键盘操作事件,以及终端屏幕更新事件;需要说明的是,在终端只创 建一次HOOK模块,后续可以直接使用。此外,所述终端上还包括:事件显示模块、和屏幕录 制模块,其具体过程包括:
[0123] 步骤801 :用户通过鼠标或键盘向终端发送鼠标或键盘操作指令;
[0124] 即终端接收到用户通过鼠标或键盘输入的鼠标或键盘操作事件;
[0125] 步骤802 :事件Η00Κ模块捕获用户在终端输入的所述鼠标或键盘操作事件;
[0126] 步骤803 :事件Η00Κ模块把在终端捕获到的用户操作的鼠标或键盘事件发送给事 件显不t旲块;
[0127] 步骤804 :事件显示模块将用户操作的鼠标或键盘事件转化为标记有特殊的图形 图像的鼠标或键盘事件,比如做特殊标记的"本地光标"或"本地字母A",并显示在终端当 前坐标点或附近某一位置,作为与后续参照对比;
[0128] 显示标记有特殊的图形图像的鼠标或键盘事件会引起屏幕更新事件,此处称为第 一屏幕更新事件。
[0129] 在该实施例中,特殊的图形图像是自定义的,主要是用来区分正常的桌面图像显 示的。比如做特殊标记的"本地光标"或"本地字母A"等,并显示在终端当前坐标点或附近 某一位置正是对特殊图形图像的描述。
[0130] 步骤805 :屏幕显示模块将屏幕更新事件(即第一屏幕更新事件)发送给屏幕录 制丰吴块;
[0131] 步骤806 :屏幕录制模块根据所述屏幕更新事件触发进行屏幕录制;在屏幕录制 时,屏幕上某处(比如左上角)会显示当前显示"本地光标"或"本地字母A"时的时间tl,称 为第一时间;
[0132] 步骤807 :在步骤802发生时,终端会将接收到用户输入的鼠标或键盘操作事件通 过VDI系统经过网络远程传输给VDI服务器;
[0133] 其中,VDI服务器集成在虚拟机(VM,virtual machine)上。
[0134] 步骤808 :VDI服务器对接收的鼠标或键盘操作事件进行处理,此时VDI服务器 的屏幕会发生相应变化(称为第二屏幕更新事件),比如,在键盘上敲击字母A的事件会在 word里显示字母A ;
[0135] 也就是说,VDI服务器端收到鼠标或键盘操作事件后,就相当于是对桌面进行的操 作,此时操作系统就会有对应的响应,然后屏幕就会发生相应的变化。比如,鼠标事件是双 击桌面上的"我的电脑",对应的屏幕显示就是在物理机上双击桌面上的"我的电脑" 一样。
[0136] 步骤809 :VDI服务端将屏幕发生更新变化的事件(即第二屏幕更新事件)通过VDI 系统经过网络远程传输到所述终端;
[0137] 步骤810 :事件Η00Κ模块捕获VDI服务端发送给终端的屏幕更新事件(即第二屏 幕更新事件),也就说,VDI服务端发送给终端的屏幕更新事件被事件Η00Κ模块捕获。
[0138] 步骤811 :事件Η00Κ模块将捕获的终端接收到的屏幕更新事件发送给屏幕录制模 块,以触发屏幕录制模块进行屏幕录制;
[0139] 步骤812 :屏幕录制模块根据终端接收到的屏幕更新事件进行屏幕录制;在屏幕 录制时,屏幕上某处(比如左上角等)会显示当前显示VDI系统光标或其他显示(比如word 里出现字母A)时的时间t2,即第二时间;
[0140] 步骤813 :用户向屏幕录制模块发送回放录像的指令;
[0141] 步骤814:屏幕录制模块根据接收到的指令回放录像,并查找到两次对同一鼠标 或键盘事件响应后产生的屏幕变化时的时间A和t 2,并计算t2-ti,得到VDI系统中对同一 鼠标或键盘操作事件的操作延时的计算结果。
[0142] 可选的,在另一实施例中,该实施例在上述实施例的基础上,在步骤814中,也可 以通过图像识别技术识别两次录制的图像,进行自动比较,自动计算延时。
[0143] 步骤815 :屏幕录制模块将得到的VDI系统中对同一鼠标或键盘操作事件的操作 延时的计算结果显示给用户。
[0144] 其中,接收到的指令,可以输入鼠标或键盘事件的用户输入的指令,也可以是管理 员输入的指令,当然,还可以是其他用户输入的指令,本实施例不作限制。
[0145] 该步骤中,比如,在VDI环境word英文打字场景下,敲击键盘"A",该键盘事件同 时被事件HOOK模块和终端所捕获。事件HOOK模块将该键盘事件交由事件显示模块在终端 某一适当位置显示一个字母"A"(做特殊标记);VDI系统会将该键盘事件发送至VDI服务 器处理,并发送处理后的图像更新事件给终端,终端根据从服务端收到的消息进行显示,此 时,在word里显示字母"A"。两次显示字母"A"时,都进行屏幕录制,并分别标记绝对时间 h和t2。t2-ti就是VDI系统对本次键盘敲击"A"的事件的操作延时。
[0146] 当然,在VDI环境下,本发明所述技术方案还可以适用于很多其他场景的操作延 时测量。比如通过鼠标拖动文件夹,word里打字操作等,还可以有很多类似鼠标键盘操作, 比如,在word里移动光标(光标会变化),在桌面上右键单击,通过命令行运行图形界面程序 等等。通过鼠标或键盘操作,桌面图形有变化的操作都可以归为此类。
[0147] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实 体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存 在任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵 盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要 素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备 所固有的要素。在没有更多限制的情况下,由语句"包括一个……"限定的要素,并不排除 在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0148] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助 软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更 佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的 部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/ RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或 者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0149] 以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人 员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应 视为本发明的保护范围。
【权利要求】
1. 一种测量操作延时的确定方法,其特征在于,包括: 获取第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第二屏幕更新 事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件; 在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示 触发屏幕更新的时间为第一时间和第二时间; 计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟时 间。
2. 根据权利要求1所述的方法,其特征在于,所述获取第一屏幕更新事件包括: 获取用户在终端上输入的鼠标或键盘操作事件; 将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作事件; 显示所述标记有图形图像的鼠标或键盘操作事件会引发所述终端的屏幕更新事件,所 述终端的屏幕更新事件称为第一屏幕更新事件。
3. 根据权利要求2所述的方法,其特征在于,所述图形图像为本地光标或本地字符。
4. 根据权利要求1至3任一项所述的方法,其特征在于,所述获取第二屏幕更新事件包 括: 获取所述用户在所述终端上输入的所述鼠标或键盘操作事件; 将所述鼠标或键盘操作事件通过网络传输给VID服务器; 接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触发VID服务器的 屏幕更新事件,所述VID服务器的屏幕更新事件会触发终端的屏幕更新事件,所述终端上 的屏幕更新事件称为第二屏幕触发事件。
5. 根据权利要求1至4任一项所述的方法,其特征在于,在所述第一屏幕更新事件和第 二屏幕更新事件触发屏幕录制时,分别记录屏幕上显示触发屏幕更新的时间为第一时间和 第二时间,具体包括: 根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录屏幕录制时屏幕上显 示触发屏幕更新的时间,称为第一时间;以及,根据所述第二屏幕事件触发所述终端的屏幕 录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间。
6. 根据权利要求5所述的方法,其特征在于,所述计算所述第一时间和第二时间的差 值,得到所述鼠标或键盘操作事件的操作延迟时间,具体包括: 接收回放录像的指令; 根据所述指令回放屏幕录制的图像; 在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第二时间; 计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作事件的操作延迟 时间。
7. -种测量操作延时的确定装置,其特征在于,包括: 获取单元,用于第一屏幕更新事件和第二屏幕更新事件;所述第一屏幕更新事件和第 二屏幕更新事件为对用户的同一鼠标或键盘操作事件进行不同处理后的屏幕更新事件; 记录单元,用于在所述第一屏幕更新事件和第二屏幕更新事件触发屏幕录制时,分别 记录屏幕上显示触发屏幕更新的时间为第一时间和第二时间; 确定单元,用于计算所述第一时间和第二时间的差值,得到所述鼠标或键盘操作事件 的操作延迟时间。
8. 根据权利要求7所述的装置,其特征在于,所述获取单元包括: 第一获取单元,用于获取用户在终端上输入的鼠标或键盘操作事件;将所述鼠标或键 盘操作事件转化为标记有图形图像的鼠标或键盘操作事件;显示所述标记有图形图像的鼠 标或键盘操作事件会触发屏幕更新事件,所述屏幕更新事件称为第一屏幕更新事件; 第二获取单元,用于获取所述用户在所述终端上输入的所述鼠标或键盘操作事件;将 所述鼠标或键盘操作事件通过网络传输给VID服务器;接收所述VID服务器发送的对所述 鼠标或键盘操作事件进行处理时触发VID服务器的屏幕更新事件,所述VID服务器的屏幕 更新事件会引起终端上的屏幕更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事 件。
9. 根据权利要求8所述的装置,其特征在于,所述第一获取单元包括: 第一事件获取单元,用于获取用户在终端上输入的鼠标或键盘操作事件; 转化单元,用于将所述鼠标或键盘操作事件转化为标记有图形图像的鼠标或键盘操作 事件; 触发单元,用于显示所述标记有图形图像的鼠标或键盘操作事件时引发屏幕更新事 件,所述屏幕更新事件称为第一屏幕更新事件。
10. 根据权利要求9所述的装置,其特征在于,所述转化单元转化为标记有图形图像的 鼠标或键盘操作事件中的图形图像为:本地光标或本地字符。
11. 根据权利要求8至10任一项所述的装置,其特征在于,所述第二获取单元包括: 第二事件获取单元,用于获取所述用户在所述终端上输入的所述鼠标或键盘操作事 件; 发送单元,用于将所述鼠标或键盘操作事件通过网络传输给VID服务器; 接收单元,用于接收所述VID服务器发送的对所述鼠标或键盘操作事件进行处理时触 发VID服务器的屏幕更新事件,所述VID服务器的屏幕更新事件会引发所述终端上的屏幕 更新事件,所述终端上的屏幕更新事件称为第二屏幕触发事件。
12. 根据权利要求8至11任一项所述的装置,其特征在于,所述记录单元包括: 第一记录单元,用于根据所述述第一屏幕更新事件触发所述终端的屏幕录制,并记录 屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间; 第二记录单元,用于根据所述第二屏幕事件触发所述终端的屏幕录制,并记录屏幕录 制时屏幕上显示触发屏幕更新的时间,称为第二时间。
13. 根据权利要求8至12任一项所述的装置,其特征在于,所述确定单元包括: 接收单元,用于接收回放录像的指令; 回放单元,用于根据所述指令回放屏幕录制的图像; 查找单元,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第 二时间; 计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作 事件的操作延迟时间。
14. 一种终端,其特征在于,所述终端包括: 接收模块,用于接收用户通过键盘或鼠标输入的鼠标或键盘操作事件,并将所述鼠标 或键盘操作事件发送给远程的VID服务器; 事件HOOK模块,用于获取所述用户通过键盘或鼠标输入的所述鼠标或键盘操作事件; 事件显示模块,用于将所述事件HOOK模块获取的所述鼠标或键盘事件转化为标记有 图形图像的鼠标或键盘事件;并在所述终端的屏幕上显示所述图形图像;并将显示所述图 形图像时触发所述屏幕更新称为第一屏幕触发事件; 屏幕录制模块,用于对所述事件显示模块显示所述图形图像时触发所述屏幕更新进行 屏幕录制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第一时间; 所述接收模块,还用于接收所述VID服务器发送的第二屏幕更新事件,所述第二屏幕 更新事件为所述VDI服务器对所述鼠标或键盘操作事件进行处理后引发所述屏幕更新的 事件; 所述事件HOOK模块,还用于获取所述VID服务器发送给所述终端的所述第二屏幕更新 事件; 所述屏幕录制模块,还用于对所述第二屏幕更新事件引发所述屏幕更新时进行屏幕录 制,并记录屏幕录制时屏幕上显示触发屏幕更新的时间,称为第二时间; 确定模块,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作 事件的操作延迟时间。
15.根据权利要求14所述的终端,其特征在于,所述确定模块包括: 接收模块,用于接收回放录像的指令; 回放模块,用于根据所述指令回放屏幕录制的图像; 查找模块,用于在所述图像回放时,查找记录屏幕录制时屏幕上显示的第一时间和第 二时间; 计算单元,用于计算所述第一时间与所述第二时间的差值,得到所述鼠标或键盘操作 事件的操作延迟时间。
【文档编号】H04L12/26GK104158696SQ201310175746
【公开日】2014年11月19日 申请日期:2013年5月13日 优先权日:2013年5月13日
【发明者】王早, 陈普 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1