发明内容
本发明的目的在于提供一种桌面虚拟化系统性能测量方法和系统。能够对各桌面虚拟化系统进行性能测量,给出量化成绩,比较各系统数据上、下行处理的性能。
为实现本发明的目的而提供的一种桌面虚拟化系统性能测量方法,包括下列步骤:
步骤100,分别在服务器和客户端机上开启桌面虚拟化系统并建立客户端与服务器的连接;
步骤200,客户端向与其连接的服务器发出校时请求,将客户端系统时间调整到与服务器端相同,并与服务器端约定,键鼠事件数据上行开始时间T1;
步骤300,数据上行结束后,客户端向与其连接的服务器预定桌面数据下行开始时间T2和绘图时间间隔t;
步骤400,数据下行结束,服务器端将记录的数据传输到客户端,客户端开启数据性能分析模块,计算键鼠数据上行成功比率、桌面数据下行屏幕相似度,估算下行时每幅测试图像完整传送的时间。
所述步骤200,包括下列步骤:
步骤210.所述客户端与其服务器端连接成功后,采用NTP协议,向其服务器端发出校时请求,将客户端系统时间调整到与服务器端相同,精确度范围0~1ms;
步骤220.校时完成后,客户端与服务器端约定,键鼠事件数据上行开始时间T1,T1时刻到达,所述客户端开启键鼠模拟模块,向远程终端系统客户端发送键鼠事件;
步骤230.所述服务器端开启键鼠捕捉模块,记录服务器上接收到的键鼠事件。
所述数据上行的持续时间为1s,共模拟发送20000次键鼠事件。
所述步骤300,包括下列步骤:
步骤310.T2时刻到达,所述服务器端开启绘屏模块,每隔t时间间隔,绘制其顶端窗口一次;
步骤320.所述客户端开启截屏模块,每隔t时间间隔截屏一次。
所述步骤300中,桌面数据下行循环执行3轮,分别绘制文字、线条、位图,每轮执行时间为1s。
所述步骤400,包括下列步骤:
步骤410.计算上行数据传送的成功率:所述服务器端捕获的键鼠事件数与客户端模拟发送的键鼠事件总量的比值,公式如下:其中:M为客户端发送的键鼠事件数;m为服务器端捕获的键鼠事件数。
步骤420.计算桌面数据下行屏幕相似度:客户端接收到的测试图像与服务器端发送的标准测试图像相似部分所占的比值,公式如下:
其中:A为计算测试图像的像素数,D为计算量测试图像的差异像素数,P为服务器端截得的同步点快照,p为客户端截得的实时快照;i为待测的测试图像下标;j为客户端截取屏幕的时刻下标;
步骤430.计算下行数据完整传送时间:在客户端截取的屏幕快照序列中,找到服务器端发送的原始测试图像完全传输到客户端时,客户端所截得的快照,通过计算此幅和前一幅快照的差异,估算测试图像完整传送至客户端所需的时间,公式如下:
其中:D为计算测试图像的差异像素数,P为服务器端截得的同步点快照;p为客户端截得的实时快照,i为待测的测试图像下标,j为i测试图像完全传输到客户端时的时刻下标。
为实现本发明的目的还提供一种桌面虚拟化系统性能测量系统,包括:由网络连接的服务器与终端机,
所述服务器,包括:校时模块、键鼠捕捉模块、绘屏模块和数据发送模块,其中:
所述校时模块,用于与所述客户端的校时模块建立连接;
所述键鼠捕捉模块,用于记录服务器上捕捉到的键鼠事件;
所述绘屏模块,用于在T2时刻到达时,每隔t时间间隔,绘制其顶端窗口一次;
所述数据发送模块,用于将服务器记录的数据发送给客户端的所述性能分析模块;
所述客户端,包括:校时模块、键鼠模拟模块、截屏模块和性能分析模块,其中:
所述校时模块,用于向与其连接的服务器发出校时请求,将客户端系统时间调整到与服务器相同,并与服务器约定,键鼠事件数据上行开始时间T1;数据上行结束后,向与其连接的服务器预定桌面数据下行开始时间T2和绘图时间间隔t;
所述键鼠模拟模块,用于在T1时刻到达时,向远程终端系统客户端发送键鼠事件;
所述截屏模块,用于每隔t时间间隔截屏一次;
所述性能分析模块,用于分析所述服务器记录的数据,计算键鼠数据上行成功比率、桌面数据下行屏幕相似度,估算下行时每幅测试图像完整传送的时间。
其中,桌面数据下行循环执行3轮,分别绘制文字、线条、位图,每轮执行时间为1秒。
其中,所述终端机的校时模块与服务器的校时模块连接成功后,采用NTP协议,向服务器端发出校时请求,将客户端系统时间调整到与服务器端相同,精确度范围0~1ms。
所述数据上行的持续时间为1s,共模拟发送20000次键鼠事件。
所述性能分析模块,包括:
上行数据传送的成功率计算模块,用于计算服务器捕获的键鼠事件数与客户端模拟发送的键鼠事件总量的比值,公式如下:其中:M为客户端发送的键鼠事件数;m为服务器端捕获的键鼠事件数;
桌面数据下行屏幕相似度计算模块,用于计算客户端接收到的测试图像与服务器端发送的标准测试图像相似部分所占的比值,公式如下:
其中:A为计算测试图像的像素数,D为计算量测试图像的差异像素数,P为服务器端截得的同步点快照,p为客户端截得的实时快照;i为待测的测试图像下标;j为客户端截取屏幕的时刻下标;
下行数据完整传送时间计算模块,用于计算在客户端截取的屏幕快照序列中,找到服务器端发送的原始测试图像完全传输到客户端时,客户端所截得的快照,通过计算此幅和前一幅快照的差异,估算测试图像完整传送至客户端所需的时间,公式如下:
其中,D为计算测试图像的差异像素数,P为服务器端截得的同步点快照;p为客户端截得的实时快照,i为待测的测试图像下标,j为i测试图像完全传输到客户端时的时刻下标。
本发明的有益效果是:
1.采用本发明的一种桌面虚拟化系统性能测量方法和系统可以对各桌面虚拟化系统进行性能测量,给出量化成绩,比较各系统数据上、下行处理的性能。
2.本发明的一种桌面虚拟化系统性能测量方法和系统,采用双向独立测试;
3.本发明的一种桌面虚拟化系统性能测量方法和系统,采用线下对比数据,并采用局部对比方式(见公式3、4),负载更低;
4.本发明的一种桌面虚拟化系统性能测量方法和系统,有效利用了测试图像部分传送的比率进行时间估算(见公式4),下行数据传送时间估计更加精确。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种桌面虚拟化系统性能测量方法和系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的一种桌面虚拟化系统性能测量方法和系统,是利用桌面虚拟化系统中程序执行机和界面呈现机分离的特点,通过毫秒级时钟同步后测量用户操作及数据响应时延的方法来测量桌面虚拟化系统的性能。
为实现本发明的目的而提供一种桌面虚拟化系统性能测量方法,图1是本发明的桌面虚拟化系统性能测量方法的步骤流程图,如图1所示,所述方法,包括下列步骤:
步骤100,分别在服务器和客户端机上开启桌面虚拟化系统和CWBenchmark系统,并建立客户端与服务器的连接;
步骤200,CWBenchmark客户端向与其连接的服务器发出校时请求,将客户端系统时间调整到与服务器端相同,并与服务器端约定,键鼠事件数据上行开始时间T1;
CWBenchmark客户端与其服务器端连接成功后,采用NTP协议,CWBenchmark客户端向其服务器端发出校时请求,将客户端系统时间调整到与服务器端相同,精确度范围0~1ms。校时完成后,客户端与服务器端约定,键鼠事件数据上行开始时间T1,T1时刻到达,CWBenchmark客户端开启键鼠模拟模块,向远程终端系统客户端发送键鼠事件;同时,CWBenchmark服务器端开启键鼠捕捉模块,记录服务器上接收到的键鼠事件。数据上行持续时间为1s,共模拟发送20000次键鼠事件。
步骤300,数据上行结束后,CWBenchmark客户端向与其连接的服务器预定桌面数据下行开始时间T2和绘图时间间隔t;
T2时刻到达,CWBenchmark服务器端开启绘屏模块,每隔t时间间隔,绘制其顶端窗口一次(T2时刻第一次绘制);同时,CWBenchmark客户端开启截屏模块,每隔t时间间隔截屏一次(T2+t-2时刻第一次截屏)。桌面数据下行循环执行3轮,分别绘制文字、线条、位图,每轮执行时间为1s。
步骤400,数据下行结束,服务器端将记录的数据传输到客户端,客户端开启数据性能分析模块,计算键鼠数据上行成功比率、桌面数据下行成功比率,估算下行时每幅测试图像完整传送的时间。
1.计算上行数据传送的成功率
CWBenchmark服务器端捕获的键鼠事件数与客户端模拟发送的键鼠事件总量的比值,公式如下:
M:客户端发送的键鼠事件数
m:服务器端捕获的键鼠事件数
2.计算桌面数据下行屏幕相似度
客户端接收到的测试图像与服务器端发送的标准测试图像相似部分所占的比值,公式如下:
A:计算测试图像的像素数
D:计算量测试图像的差异像素数
P:服务器端截得的同步点快照
p:客户端截得的实时快照
i:待测的测试图像下标
j:客户端截取屏幕的时刻下标(此处i=j)
公式中采用局部比较方法,仅计算我们所关心的测试图像区域,见公式(2)中P(i,j)或p(i,j),以此降低系统负载。
3.下行数据完整传送时间
在客户端截取的屏幕快照序列中,找到服务器端发送的原始测试图像完全传输到客户端时,客户端所截得的快照,通过计算此幅和前一幅快照的差异,估算测试图像完整传送至客户端所需的时间,公式如下:
D:计算测试图像的差异像素数
P:服务器端截得的同步点快照
p:客户端截得的实时快照
i:待测的测试图像下标
j:i测试图像完全传输到客户端时的时刻下标
算法中,采用模糊匹配的方法,查找与服务器端发送的原始测试图像相匹配的客户端快照。
评测过程结束,CWBenchmark会分别给出上述三种量化标准的量化成绩。其中,上行数据传送的成功率与桌面数据下行屏幕相似度成绩越高,说明桌面虚拟化系统完成相应功能的性能越高;下行数据完整传送时间成绩越低,说明桌面虚拟化系统完成该项功能的性能越高。
图2是本发明中下行数据完整传送示意图,如图2所示,其中测试图像A、C在t-2时间内传送完整,而测试图像B在t-2时间内仅部分传送,后续时间传送完整。
相应于本发明的一种桌面虚拟化系统性能测量方法,还提供一种桌面虚拟化系统性能测量系统。
所述系统有以下4个特征:上、下行双向性能独立测试;三种量度指标:键鼠事件传送成功率,测试图像相似度、测试图像完整传送的时间;负载更低:线下对比数据,并采用局部对比方法;下行数据完整传送的时间估计更加精确:有效利用了测试图像部分传送的比率进行时间估算。
图3是本发明的桌面虚拟化系统性能测量系统的结构示意图,如图3所示,所述系统,包括:由网络连接的服务器1与终端机(客户端)2,其中:
所述服务器1,包括:校时模块11、键鼠捕捉模块12、绘屏模块13和数据发送模块14;
所述校时模块11,用于与所述客户端的校时模块21建立连接;
所述键鼠捕捉模块12,用于记录服务器上捕捉到的键鼠事件;
所述绘屏模块13,用于在T2时刻到达时,每隔t时间间隔,绘制其顶端窗口一次;
所述数据发送模块14,用于将服务器记录的数据发送给客户端的所述性能分析模块24;
客户端2,包括:校时模块21、键鼠模拟模块22、截屏模块23和性能分析模块24;
所述校时模块21,用于向与其连接的服务器发出校时请求,将客户端系统时间调整到与服务器相同,并与服务器约定,键鼠事件数据上行开始时间T1;数据上行结束后,向与其连接的服务器预定桌面数据下行开始时间T2和绘图时间间隔t;
其中,桌面数据下行循环执行3轮,分别绘制文字、线条、位图,每轮执行时间为1s。
其中,所述客户端的校时模块21与服务器的校时模块11连接成功后,采用NTP协议,向服务器端发出校时请求,将客户端系统时间调整到与服务器端相同,精确度范围0~1ms。
所述键鼠模拟模块22,用于在T1时刻到达时,向远程终端系统客户端发送键鼠事件;
所述数据上行的持续时间为1s,共模拟发送20000次键鼠事件。
所述截屏模块23,用于每隔t时间间隔截屏一次;
所述性能分析模块24,用于分析所述服务器记录的数据,计算键鼠数据上行成功比率、桌面数据下行屏幕相似度,估算下行时每幅测试图像完整传送的时间。
所述性能分析模块24,包括:
上行数据传送的成功率计算模块241,用于计算服务器捕获的键鼠事件数与客户端模拟发送的键鼠事件总量的比值,公式如下:其中:M为客户端发送的键鼠事件数;m为服务器端捕获的键鼠事件数;
桌面数据下行屏幕相似度计算模块242,用于计算客户端接收到的测试图像与服务器端发送的标准测试图像相似部分所占的比值,公式如下:
其中:A为计算测试图像的像素数,D为计算量测试图像的差异像素数,P为服务器端截得的同步点快照,p为客户端截得的实时快照;i为待测的测试图像下标;j为客户端截取屏幕的时刻下标;
下行数据完整传送时间计算模块243,用于计算在客户端截取的屏幕快照序列中,找到服务器端发送的原始测试图像完全传输到客户端时,客户端所截得的快照,通过计算此幅和前一幅快照的差异,估算测试图像完整传送至客户端所需的时间,公式如下:
其中,D为计算测试图像的差异像素数,P为服务器端截得的同步点快照;p为客户端截得的实时快照,i为待测的测试图像下标,j为i测试图像完全传输到客户端时的时刻下标。
作为一种可实施方式,下面结合一实施例详细说明本发明的技术方案。
1、硬件环境要求
一台服务器,一台终端机,BitBlt和ReBitBlt速率>1000Mb/s的显卡;
服务器与终端机连接的网络;
服务器与终端机设置为相同分辨率。
2、软件环境要求
服务器端:桌面虚拟化系统的服务器端程序,CWBenchmark的服务器端程序,0S设置字体无平滑效果;
终端机:桌面虚拟化系统的客户端程序,CWBenchmark的客户端程序。
3、执行步骤
服务器端开启桌面虚拟化系统的服务器端程序,CWBenchmark的服务器端程序。
终端机端开启CWBenchmark客户端程序,输入服务器IP地址,和下行时画屏时间间隔t。
终端机开启桌面虚拟化系统客户端程序,并全屏显示(时限30s)。
等待客户端运行结束,测量结果记录于Benchmark.txt文件中用于性能分析。
本发明的有益效果在于:
1.采用本发明的一种桌面虚拟化系统性能测量方法和系统可以对各桌面虚拟化系统进行性能测量,给出量化成绩,比较各系统数据上、下行处理的性能。
2.本发明的一种桌面虚拟化系统性能测量方法和系统,采用上、下行数据独立测试的方案,使测量的指标更加具体,测量更加公平准确;
3.本发明的一种桌面虚拟化系统性能测量方法和系统,采用线下对比数据,并采用局部对比方式(见公式3、4),负载更低;
4.本发明的一种桌面虚拟化系统性能测量方法和系统,有效利用了测试图像部分传送的比率进行时间估算(见公式4),下行数据传送时间估计更加精确。
5.本发明的一种桌面虚拟化系统性能测量方法和系统,提出三种度量指标:键鼠事件传送成功率、测试图像相似度、测试图像完整传送时间,使得对桌面虚拟化系统的性能评价更为具体、明确;
6.本发明的一种桌面虚拟化系统性能测量方法和系统,有效利用了测试图像部分传送的比率进行时间估算,使得对下行数据传送时间的估计更加精确。
7.本发明的一种桌面虚拟化系统性能测量方法和系统,使用绝对时延进行定时触发绘屏、截屏事件,这样可以有效避免时延误差的向后传播,使性能测量更加准确。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。