CN104869167A - 一种服务器和桌面虚拟应用的负载平衡系统 - Google Patents
一种服务器和桌面虚拟应用的负载平衡系统 Download PDFInfo
- Publication number
- CN104869167A CN104869167A CN201510288112.6A CN201510288112A CN104869167A CN 104869167 A CN104869167 A CN 104869167A CN 201510288112 A CN201510288112 A CN 201510288112A CN 104869167 A CN104869167 A CN 104869167A
- Authority
- CN
- China
- Prior art keywords
- module
- application program
- video card
- cpu usage
- preset value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种服务器,包括:第一接收模块,用于接收客户端发送的应用程序运行请求;第一处理单元,用于获取执行应用程序的CPU占用率和显卡占用率;第一判断模块,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值;第一调取模块,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储设备中调取应用程序和VOI运行环境;以及第一发送模块,发送应用程序和VOI运行环境至客户端。本发明还公开了一种桌面虚拟应用的负载平衡系统。服务器判定执行应用程序的负载超重时,将应用程序交互给客户端在VOI运行环境下执行,提升了服务器的吞吐率和资源利用率,及降低了响应时间。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种服务器和桌面虚拟应用的负载平衡系统。
背景技术
现有的桌面虚拟化技术主要是在以下两种架构下执行:
第一种:虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)。在该架构下,不是每一个客户端运行应用程序,而是服务器运行应用程序,并将客户端的桌面进行虚拟化。但是,当服务器执行某一个应用程序时,服务器的负载过重,则会造成服务器的吞吐率不高、响应时间长和资源利用率低。
第二种:虚拟操作系统基础架构(Virtual OS Infrastructure,VOI)。该架构可以让虚拟系统从引导阶段就开始接管计算机硬件平台,直接工作在本机的硬件平台之上,不再需要下层系统的支撑。但是,只支持标准的PC平台的操作系统(Windows、Linux),不能像VDI架构一样通过浏览器随时接入到桌面,以致适用范围比较窄。
发明内容
有鉴于此,实有必要提供一种解决服务器的吞吐率不高、响应时间长、资源利用率低和适用范围窄的技术问题的服务器及桌面虚拟应用的负载平衡系统。
一种服务器包括第一接收模块、第一处理单元、第一判断模块、第一调取模块和第一发送模块。第一接收模块,用于接收客户端发送的应用程序运行请求。第一处理单元,用于获取执行应用程序的CPU占用率和显卡占用率。第一判断模块,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。第一调取模块,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储设备中调取应用程序和VOI运行环境。第一发送模块,发送应用程序和VOI运行环境至客户端,以供客户端在VOI环境下执行应用程序。
优选地,第一处理单元包括第二判断模块和获取模块。第二判断模块,用于判断是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。获取模块,用于当存在负载检测记录时,获取负载检测记录中的CPU占用率和显卡占用率。
优选地,第一处理单元还包括程序运行模块和记录生成模块。程序运行模块,还用于当不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。记录生成模块,用于生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
优选地,获取模块,还用于当CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率。第一判断模块,还用于判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。第一调取模块,还用于当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,从存储设备中调取应用程序和VDI运行环境。第一处理单元,还用于在VDI运行环境下执行应用程序。第一发送模块,还用于将应用程序执行过程中的数据信息存储至存储设备中。
优选地,该服务器还包括:压缩模块,用于压缩应用程序和VOI运行环境为压缩数据包。
一种桌面虚拟应用的负载平衡系统,其包括服务器、客户端和存储设备。服务器包括第一接收模块、第一处理单元、第一判断模块、第一调取模块和第一发送模块。客户端包括第二发送模块、第二处理单元、第二接收模块和输出模块。存储设备存储有应用程序、VDI运行环境和VOI运行环境。第二发送模块,用于发送应用程序运行请求至第一接收模块。第一接收模块,用于接收应用程序运行请求。第一处理单元,用于获取执行应用程序的CPU占用率和显卡占用率。第一判断模块,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。第一调取模块,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储设备中调取应用程序和与应用程序对应的VOI运行环境。第一发送模块,用于发送应用程序和VOI运行环境至第二接收模块。第二接收模块,用于接收应用程序和VOI运行环境。第二处理单元,用于在VOI运行环境下执行应用程序。第二发送模块,还用于将应用程序执行过程中的数据信息存储至存储设备中。输出模块,用于输出应用程序的运行结果。
优选地,第一处理单元包括第二判断模块和获取模块。第二判断模块,用于判断是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。获取模块,还用于当存在负载检测记录时,获取负载检测记录中的CPU占用率和显卡占用率。
优选地,第一处理单元还包括程序运行模块和记录生成模块。程序运行模块,还用于当不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。记录生成模块,用于生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
优选地,获取模块,还用于当CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率。第一判断模块,还用于判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。第一调取模块,还用于当CPU使用率和CPU占用率之和未超过第一预设值且所述显卡使用率和所述显卡占用率之和未超过所述第二预设值时,从存储设备中调取应用程序和VDI运行环境。第一处理单元,还用于在VDI运行环境下执行应用程序。第一发送模块,还用于将应用程序执行过程中的数据信息存储至存储设备中,输出模块,还用于输出应用程序的运行结果。
优选地,服务器还包括压缩模块,客户端还包括解压缩模块。压缩模块,用于将应用程序和VOI运行环境进行压缩得到压缩数据包。第一发送模块,用于将压缩数据包发送至第二接收模块。第二接收模块,用于接收压缩数据包。解压缩模块,用于将压缩数据包进行解压得到应用程序和VOI运行环境。
服务器判定执行应用程序的负载超重时,将应用程序交互给客户端在VOI运行环境执行,提升了服务器的吞吐率和资源利用率,及降低了响应时间。
附图说明
图1为一种实施方式的桌面虚拟应用的负载平衡系统的功能模块示意图。
图2为另一种实施方式的桌面虚拟应用的负载平衡系统的功能模块示意图。
图3为图1中服务器的功能模块示意图。
图4为图2中服务器的功能模块示意图。
图5为一种实施方式的桌面虚拟应用的负载平衡方法的流程图。
图6为另一种实施方式的桌面虚拟应用的负载平衡方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
如图1所示,其为一种实施方式的桌面虚拟应用的负载平衡系统的功能模块示意图。该桌面虚拟应用的负载平衡系统包括服务器10、客户端20和存储设备30。服务器10包括第一接收模块101、第一处理单元102、第一判断模块103、第一调取模块104、压缩模块105和第一发送模块106。客户端20包括第二发送模块201、第二处理单元202、解压缩模块203、输出模块204和第二接收模块205。存储设备30存储有应用程序、VDI运行环境、VOI运行环境与执行应用程序的整个过程中产生的数据信息。
运行环境(英语:Runtime environment,又称″运行期系统″,run-timesystem),指一种把半编译的运行码在目标机器上运行的环境。
VDI运行环境是指一种代码序列,该代码序列在服务器运行则形成VDI运行环境。应用程序既可以被VDI运行环境的代码序列进行编译解释后执行,也可以在VDI运行环境下直接执行。
VOI运行环境也是一种代码序列,该代码序列在客户端运行则形成VOI运行环境。应用程序既可以被VOI运行环境的代码序列进行编译解释后执行,也可以在VOI运行环境直接执行。
第二发送模块201,用于发送应用程序运行请求至第一接收模块101。第一接收模块101,用于接收应用程序运行请求。第一处理单元102,用于获取执行应用程序的CPU占用率和显卡占用率。第一判断模块103,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。第一调取模块104,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储设备30中调取应用程序和VOI运行环境。第一发送模块106,用于发送应用程序和VOI运行环境至第二接收模块205。第二接收模块205,用于接收应用程序和VOI运行环境。第二处理单元202,用于在VOI运行环境下执行所述应用程序。第二发送模块201,还用于将应用程序执行过程中的数据信息存储至存储设备30中。输出模块204,用于输出应用程序的运行结果。
第一处理单元102包括第二判断模块1021、获取模块1022、程序运行模块1023和记录生成模块1024。第二判断模块1021,用于判断是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。获取模块1022,还用于当存在负载检测记录时,获取负载检测记录中的CPU占用率和显卡占用率。程序运行模块1023,还用于当不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率;记录生成模块1024,用于生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
获取模块1022,还用于当CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率。第一判断模块103,还用于判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。第一调取模块104,还用于当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,从存储设备30中调取应用程序和VDI运行环境。第一处理单元102,还用于在VDI运行环境下执行所述应用程序;第一发送模块106,还用于将应用程序执行过程中的数据信息存储至存储设备30中,输出模块204,还用于输出应用程序的运行结果。
第一调取模块104,还用于当CPU使用率和CPU占用率之和超过第一预设值或显卡使用率和显卡占用率之和超过第二预设值时,从存储设备30中调取应用程序和VOI运行环境。第一发送模块106,用于发送应用程序和VOI运行环境至第二接收模块205。第二接收模块205,用于接收应用程序和VOI运行环境。第二处理单元202,用于在VOI运行环境下执行所述应用程序。第二发送模块201,还用于将应用程序执行过程中的数据信息存储至存储设备30中。输出模块204,用于输出应用程序的运行结果。
服务器10还包括压缩模块105,客户端20还包括解压缩模块203;压缩模块105,用于将应用程序和VOI运行环境进行压缩得到压缩数据包;第一发送模块106,用于将压缩数据包发送至第二接收模块205;第二接收模块205,用于接收压缩数据包;解压缩模块203,用于将压缩数据包进行解压得到应用程序和VOI运行环境。
如图2所示,其为另一种实施方式的桌面虚拟应用的负载平衡系统的功能模块示意图。该桌面虚拟应用的负载平衡系统,其包括服务器10、客户端20。服务器10包括第一接收模块101、第一处理单元102、第一判断模块103、第一调取模块104、存储模块105、压缩模块106和第一发送模块107。存储模块105中存储有应用程序、VDI运行环境和VOI运行环境与执行应用程序的整个过程中产生的数据信息。客户端20包括第二发送模块201、第二处理单元202、解压缩模块203、输出模块204和第二接收模块205。
第二发送模块201,用于发送应用程序运行请求至第一接收模块101。第一接收模块101,用于接收应用程序运行请求。第一处理单元102,用于获取执行应用程序的CPU占用率和显卡占用率。第一判断模块103,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。第一调取模块104,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储模块105中调取应用程序和与应用程序对应的VOI运行环境。第一发送模块107,用于发送应用程序和VOI运行环境至第二接收模块205。第二接收模块205,用于接收应用程序和VOI运行环境。第二处理单元202,用于在VOI运行环境下执行应用程序。第二发送模块201,还用于将应用程序执行过程中的数据信息存储至存储模块105中。输出模块204,用于输出应用程序的运行结果。
第一处理单元102包括第二判断模块1021、获取模块1022、程序运行模块1023和记录生成模块1024。第二判断模块1021,用于判断是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。获取模块1022,还用于当存在负载检测记录时,获取负载检测记录中的CPU占用率和显卡占用率。程序运行模块1023,还用于当不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。记录生成模块1024,用于生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
获取模块1022,还用于当CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率。第一判断模块103,还用于判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。第一调取模块104,还用于当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,从存储模块105中调取应用程序和VDI运行环境。第一处理单元102,还用于在VDI运行环境下执行应用程序,并将应用程序执行过程中的数据信息存储至存储模块105中。输出模块204,还用于输出应用程序的运行结果。
第一调取模块104,还用于当CPU使用率和CPU占用率之和超过第一预设值或显卡使用率和显卡占用率之和超过第二预设值时,从存储模块105中调取应用程序和与应用程序对应的VOI运行环境。第一发送模块107,用于发送应用程序和VOI运行环境至第二接收模块205。第二接收模块205,用于接收应用程序和VOI运行环境。第二处理单元202,用于在VOI运行环境下执行应用程序。第二发送模块201,还用于将应用程序执行过程中的数据信息存储至存储模块105中。输出模块204,用于输出应用程序的运行结果。
服务器10还包括压缩模块106,客户端20还包括解压缩模块203。压缩模块106,用于将应用程序和VOI运行环境进行压缩得到压缩数据包。第一发送模块107,用于将压缩数据包发送至第二接收模块205。第二接收模块205,用于接收压缩数据包。解压缩模块203,用于将压缩数据包进行解压得到应用程序和VOI运行环境。
如图3所示,其为一种实施方式的服务器的功能模块示意图。该服务器10包括第一接收模块101、第一处理单元102、第一判断模块103、第一调取模块104、压缩模块105和第一发送模块106。第一接收模块101,用于接收客户端发送的应用程序运行请求。第一处理单元102,用于获取执行应用程序的CPU占用率和显卡占用率。第一判断模块103,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。第一调取模块104,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储设备中调取应用程序和VOI运行环境。第一发送模块106,发送应用程序和VOI运行环境至客户端,以供客户端在VOI运行环境下执行应用程序。
第一处理单元102包括第二判断模块1021、获取模块1022、程序运行模块1023和记录生成模块1024。第二判断模块1021,用于判断是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。获取模块1022,用于当存在负载检测记录时,获取负载检测记录中的CPU占用率和显卡占用率。程序运行模块1023,还用于当不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。记录生成模块1024,用于生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
获取模块1022,还用于当CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率。第一判断模块103,还用于判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。第一调取模块104,还用于当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,从存储设备中调取应用程序和VDI运行环境。第一处理单元102,还用于在VDI运行环境下执行应用程序。第一发送模块106,还用于将应用程序执行过程中的数据信息存储至存储设备中。
第一调取模块104,还用于当CPU使用率和CPU占用率之和超过第一预设值或显卡使用率和显卡占用率之和超过第二预设值时,从存储设备中调取应用程序和VOI运行环境。第一发送模块106,发送应用程序和VOI运行环境至客户端,以供客户端在VOI运行环境下执行应用程序。
压缩模块105,用于压缩应用程序和VOI运行环境为压缩数据包。
如图4所示,其为另一种实施方式的服务器的功能模块示意图。该服务器10包括第一接收模块101、第一处理单元102、第一判断模块103、第一调取模块104、存储模块105、压缩模块106和第一发送模块107。存储模块105存储有应用程序、VDI运行环境、VOI运行环境与执行应用程序的整个过程中产生的数据信息。
第一接收模块101,用于接收客户端发送的应用程序运行请求。第一处理单元102,用于获取执行应用程序的CPU占用率和显卡占用率。第一判断模块103,用于判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。第一调取模块104,用于当CPU占用率超过第一预设值或显卡占用率超过第二预设值时,从存储模块105中调取应用程序和VOI运行环境。第一发送模块107,发送应用程序和VOI运行环境至客户端,以供客户端在VOI运行环境下执行应用程序。
第一处理单元102包括第二判断模块1021、获取模块1022、程序运行模块1023和记录生成模块1024。第二判断模块1021,用于判断是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。获取模块1022,用于当存在负载检测记录时,获取负载检测记录中的CPU占用率和显卡占用率。程序运行模块1023,还用于当不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。记录生成模块1024,用于生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
获取模块1022,还用于当CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率。第一判断模块103,还用于判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。第一调取模块104,还用于当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,从存储模块105中调取应用程序和VDI运行环境。第一处理单元102,还用于在VDI运行环境下执行应用程序。第一发送模块107,还用于将应用程序执行过程中的数据信息存储至存储模块105中。
第一调取模块104,还用于当CPU使用率和CPU占用率之和超过第一预设值或显卡使用率和显卡占用率之和超过第二预设值时,从存储模块105中调取应用程序和VOI运行环境。第一发送模块107,发送应用程序和VOI运行环境至客户端,以供客户端在VOI运行环境下执行应用程序。
压缩模块106,用于压缩应用程序和VOI运行环境为压缩数据包。
如图5所示,其为一种实施方式的桌面虚拟应用的负载平衡方法的流程图。该桌面虚拟应用的负载平衡方法包括如下步骤:
步骤S1,客户端发送应用程序运行请求至服务器。
步骤S2,服务器接收到应用程序运行请求后,判定是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。
步骤S3,当存在负载检测记录时,服务器根据负载检测记录得到CPU占用率和显卡占用率。
步骤S4,服务器判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。
步骤S5,当服务器判定CPU占用率超过第一预设值或显卡占用率超过第二预设值时,服务器从存储设备中调取应用程序和VOI运行环境,并将应用程序和VOI运行环境为压缩数据包,发送压缩数据包至客户端。
步骤S6,客户端解压该压缩数据包得到应用程序和VOI运行环境,在VOI运行环境下执行应用程序。
步骤S7,客户端将应用程序执行整个过程中产生的数据信息经服务器存储至存储设备中,并输出应用程序的运行结果。
步骤S8,当服务器判定不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。
步骤S9,服务器生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
步骤S10,当服务器判定CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,服务器获取当前的CPU使用率和显卡使用率。
步骤S11,服务器判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。
步骤S12,当CPU使用率和CPU占用率之和超过第一预设值或显卡使用率和显卡占用率之和超过第二预设值,转至步骤S5,当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,服务器从存储设备中调取应用程序和VDI运行环境,在VDI运行环境下执行应用程序。
步骤S13,服务器将应用程序执行过程中产生的数据信息存储至存储设备中,并将应用程序的运行结果输出至客户端。
如图6所示,其为另一种实施方式的桌面虚拟应用的负载平衡方法的流程图。该桌面虚拟应用的负载平衡方法包括如下步骤:
步骤S1,客户端发送应用程序运行请求至服务器。
步骤S2,服务器接收到应用程序运行请求后,判定是否存在与应用程序对应的负载检测记录,负载检测记录包括CPU占用率和显卡占用率。
步骤S3,当存在负载检测记录时,服务器根据负载检测记录得到CPU占用率和显卡占用率。
步骤S4,服务器判断CPU占用率是否超过第一预设值且显卡占用率是否超过第二预设值。
步骤S5,当服务器判定CPU占用率超过第一预设值或显卡占用率超过第二预设值时,服务器调取出应用程序和VOI运行环境,并将应用程序和VOI运行环境为压缩数据包,发送压缩数据包至客户端。
步骤S6,客户端解压该压缩数据包得到应用程序和VOI运行环境,在VOI运行环境下执行应用程序。
步骤S7,客户端将应用程序执行整个过程中产生的数据信息发送至服务器进行存储,并输出应用程序的运行结果。
步骤S8,当服务器判定不存在负载检测记录时,运行应用程序得到CPU占用率和显卡占用率。
步骤S9,服务器生成与该应用程序对应且包括CPU占用率和显卡占用率的负载检测记录,并将负载检测记录进行存储。
步骤S10,当服务器判定CPU占用率未超过第一预设值且显卡占用率未超过第二预设值时,服务器获取当前的CPU使用率和显卡使用率。
步骤S11,服务器判断CPU使用率和CPU占用率之和是否超过第一预设值且显卡使用率和显卡占用率之和是否超过第二预设值。
步骤S12,当CPU使用率和CPU占用率之和超过第一预设值或显卡使用率和显卡占用率之和超过第二预设值,转至步骤S5,当CPU使用率和CPU占用率之和未超过第一预设值且显卡使用率和显卡占用率之和未超过第二预设值时,服务器调取出应用程序和VDI运行环境,在VDI运行环境下执行应用程序。
步骤S13,服务器将应用程序执行过程中产生的数据信息进行存储,并将应用程序的运行结果输出至客户端。
检测directx(Direct eXtension,简称DX,是由微软公司创建的多媒体编程接口)接口和OpenGL(Open Graphics Library跨编程语言、跨平台的编程接口规格的专业的图形程序接口)接口的数据的输入/输出频率高于预设值,则显卡占用率高,若检测directx接口和OpenGL接口的数据的输入/输出频率低于预设值,则显卡占用率低。
通过运算器、高速缓冲存储器、状态及控制的总线等对CPU的占用的总值高于预设值时,CPU占用率高,否则,CPU占用率低。
首先,本发明的服务器判定执行应用程序的CPU占用率或者显卡占用率过高时,服务器将应用程序和VOI运行环境发送给客户端,以供客户端在VOI运行环境下编译执行应用程序。因此,服务器不用执行该应用程序,因此,提高了服务器的吞吐率、降低了服务器的响应时间以及提升了服务器的资源利用率。此外,由于客户端在VOI运行环境下编译执行应用程序,因此,客户端在硬件平台上运行应用程序,以致从驱动程序、应用程序到各种设备均不存在远程端口映射关系,而是直接的内部址。因此,也提升了客户端的应用程序的执行效率。
其次,本发明的服务器判定执行应用程序的CPU占用率或者显卡占用率不高时,服务器在VDI环境下编译执行应用程序,因此,客户端可以通过浏览器随时接入到桌面,因此,拓宽了本发明的适用范围。
再次,本发明通过记录执行每一个应用程序的负载使用状况信息,并根据该负载使用状况信息生成负载检测记录。在每一次接收到应用程序运行请求时,快速根据负载检测记录决定是在服务器执行该应用程序还是在客户端执行该应用程序。进一步地降低了服务器的响应时间。
再次,本发明既可以将应用程序、VDI运行环境、VOI运行环境、以及应用程序执行过程中的数据信息存储在服务器的存储模块中,也可以采用单独的存储设备存储应用程序、VDI运行环境、VOI运行环境、以及应用程序执行过程中的数据信息。用户可以根据存储容量的大小决定采用何种方式。
最后,本发明在判定执行应用程序的CPU占用率或者显卡占用率过高时,先将应用程序和VOI运行环境进行压缩处理。减少了数据传输的量,减少了数据传输的时间。
以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制与以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。
Claims (10)
1.一种服务器,其特征在于,其包括:
第一接收模块,用于接收客户端发送的应用程序运行请求;
第一处理单元,用于获取执行所述应用程序的CPU占用率和显卡占用率;
第一判断模块,用于判断所述CPU占用率是否超过第一预设值且所述显卡占用率是否超过第二预设值;
第一调取模块,用于当所述CPU占用率超过第一预设值或所述显卡占用率超过第二预设值时,从存储设备中调取所述应用程序和VOI运行环境;以及
第一发送模块,发送所述应用程序和所述VOI运行环境至所述客户端,以供所述客户端在所述VOI运行环境下执行所述应用程序。
2.根据权利要求1所述的服务器,其特征在于,所述第一处理单元包括:
第二判断模块,用于判断是否存在与所述应用程序对应的负载检测记录,所述负载检测记录包括CPU占用率和显卡占用率;以及
获取模块,用于当存在所述负载检测记录时,获取所述负载检测记录中的所述CPU占用率和所述显卡占用率。
3.根据权利要求2所述的服务器,其特征在于,所述第一处理单元还包括:
程序运行模块,还用于当不存在所述负载检测记录时,运行所述应用程序得到所述CPU占用率和所述显卡占用率;以及
记录生成模块,用于生成与该应用程序对应且包括所述CPU占用率和所述显卡占用率的负载检测记录,并将所述负载检测记录进行存储。
4.根据权利要求1或2所述的服务器,其特征在于,
所述获取模块,还用于当所述CPU占用率未超过第一预设值且所述显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率;
所述第一判断模块,还用于判断所述CPU使用率和所述CPU占用率之和是否超过所述第一预设值且所述显卡使用率和所述显卡占用率之和是否超过所述第二预设值;
所述第一调取模块,还用于当所述CPU使用率和所述CPU占用率之和未超过所述第一预设值且所述显卡使用率和所述显卡占用率之和未超过所述第二预设值时,从存储设备中调取所述应用程序和VDI运行环境;
所述第一处理单元,还用于在所述VDI运行环境下执行所述应用程序;
所述第一发送模块,还用于将所述应用程序执行过程中的数据信息存储至所述存储设备中。
5.根据权利要求1所述的服务器,其特征在于,其还包括:压缩模块,用于压缩所述应用程序和所述VOI运行环境为压缩数据包。
6.一种桌面虚拟应用的负载平衡系统,其特征在于,其包括服务器、客户端和存储设备,所述服务器包括第一接收模块、第一处理单元、第一判断模块、第一调取模块和第一发送模块,所述客户端包括第二发送模块、第二处理单元、第二接收模块和输出模块;所述存储设备存储有应用程序、VDI运行环境和VOI运行环境,所述第二发送模块,用于发送应用程序运行请求至第一接收模块;所述第一接收模块,用于接收所述应用程序运行请求;所述第一处理单元,用于获取执行所述应用程序的CPU占用率和显卡占用率;所述第一判断模块,用于判断所述CPU占用率是否超过第一预设值且所述显卡占用率是否超过第二预设值;所述第一调取模块,用于当所述CPU占用率超过第一预设值或所述显卡占用率超过第二预设值时,从存储设备中调取所述应用程序和和所述VOI运行环境;所述第一发送模块,用于发送所述应用程序和所述VOI运行环境至第二接收模块;所述第二接收模块,用于接收所述应用程序和所述VOI运行环境;所述第二处理单元,用于将在所述VOI运行环境下执行所述应用程序;所述第二发送模块,还用于将所述应用程序执行过程中的数据信息存储至所述存储设备中;所述输出模块,用于输出所述应用程序的运行结果。
7.根据权利要求6所述的桌面虚拟应用的负载平衡系统,其特征在于,所述第一处理单元包括第二判断模块和获取模块,所述第二判断模块,用于判断是否存在与所述应用程序对应的负载检测记录,所述负载检测记录包括CPU占用率和显卡占用率;所述获取模块,还用于当存在所述负载检测记录时,获取所述负载检测记录中的所述CPU占用率和所述显卡占用率。
8.根据权利要求7所述的桌面虚拟应用的负载平衡系统,其特征在于,所述第一处理单元还包括程序运行模块和记录生成模块,所述程序运行模块,还用于当不存在所述负载检测记录时,运行所述应用程序得到所述CPU占用率和所述显卡占用率;所述记录生成模块,用于生成与该应用程序对应且包括所述CPU占用率和所述显卡占用率的负载检测记录,并将所述负载检测记录进行存储。
9.根据权利要求6或7所述的桌面虚拟应用的负载平衡系统,其特征在于,所述获取模块,还用于当所述CPU占用率未超过第一预设值且所述显卡占用率未超过第二预设值时,获取当前的CPU使用率和显卡使用率;所述第一判断模块,还用于判断所述CPU使用率和所述CPU占用率之和是否超过所述第一预设值且所述显卡使用率和所述显卡占用率之和是否超过所述第二预设值;所述第一调取模块,还用于当所述CPU使用率和所述CPU占用率之和未超过所述第一预设值且所述显卡使用率和所述显卡占用率之和未超过所述第二预设值时,从存储设备中调取所述应用程序和VDI运行环境;所述第一处理单元,还用于在所述VDI运行环境下执行所述应用程序;所述第一发送模块,还用于将所述应用程序执行过程中的数据信息存储至所述存储设备中,所述输出模块,还用于输出所述应用程序的运行结果。
10.根据权利要求6所述的桌面虚拟应用的负载平衡系统,其特征在于,所述服务器还包括压缩模块,所述客户端还包括解压缩模块;所述压缩模块,用于将所述应用程序和所述VOI运行环境进行压缩得到压缩数据包;所述第一发送模块,用于将所述压缩数据包发送至第二接收模块;所述第二接收模块,用于接收所述压缩数据包;所述解压缩模块,用于将所述压缩数据包进行解压得到所述应用程序和所述VOI运行环境。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510288112.6A CN104869167B (zh) | 2015-05-29 | 2015-05-29 | 一种服务器和桌面虚拟应用的负载平衡系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510288112.6A CN104869167B (zh) | 2015-05-29 | 2015-05-29 | 一种服务器和桌面虚拟应用的负载平衡系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104869167A true CN104869167A (zh) | 2015-08-26 |
CN104869167B CN104869167B (zh) | 2018-02-23 |
Family
ID=53914684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510288112.6A Expired - Fee Related CN104869167B (zh) | 2015-05-29 | 2015-05-29 | 一种服务器和桌面虚拟应用的负载平衡系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104869167B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040150A (zh) * | 2017-06-08 | 2018-12-18 | 中国电信股份有限公司 | 云桌面服务方法、客户端平台和系统 |
CN109240768A (zh) * | 2018-09-18 | 2019-01-18 | 广东微云科技股份有限公司 | 一种混合计算模式下虚拟机的运行方法及系统 |
CN109656714A (zh) * | 2018-12-04 | 2019-04-19 | 成都雨云科技有限公司 | 一种虚拟化显卡的gpu资源调度方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103593227A (zh) * | 2013-11-08 | 2014-02-19 | 何钦淋 | 在客户端运行桌面虚拟系统的方法及客户端 |
CN103677962A (zh) * | 2013-12-20 | 2014-03-26 | 上海电机学院 | 基于虚拟化技术的桌面交付设备的实现系统及方法 |
US20140282512A1 (en) * | 2013-03-14 | 2014-09-18 | David Pacheco | Zone management of compute-centric object stores |
US20150089510A1 (en) * | 2013-09-24 | 2015-03-26 | Kabushiki Kaisha Toshiba | Device, system, apparatus, method and program product for scheduling |
CN104601568A (zh) * | 2015-01-13 | 2015-05-06 | 深圳市深信服电子科技有限公司 | 虚拟化安全隔离方法和装置 |
CN104618473A (zh) * | 2015-01-26 | 2015-05-13 | 上海视聪网络信息技术有限公司 | 虚拟机桌面显示方法及装置 |
-
2015
- 2015-05-29 CN CN201510288112.6A patent/CN104869167B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282512A1 (en) * | 2013-03-14 | 2014-09-18 | David Pacheco | Zone management of compute-centric object stores |
US20150089510A1 (en) * | 2013-09-24 | 2015-03-26 | Kabushiki Kaisha Toshiba | Device, system, apparatus, method and program product for scheduling |
CN103593227A (zh) * | 2013-11-08 | 2014-02-19 | 何钦淋 | 在客户端运行桌面虚拟系统的方法及客户端 |
CN103677962A (zh) * | 2013-12-20 | 2014-03-26 | 上海电机学院 | 基于虚拟化技术的桌面交付设备的实现系统及方法 |
CN104601568A (zh) * | 2015-01-13 | 2015-05-06 | 深圳市深信服电子科技有限公司 | 虚拟化安全隔离方法和装置 |
CN104618473A (zh) * | 2015-01-26 | 2015-05-13 | 上海视聪网络信息技术有限公司 | 虚拟机桌面显示方法及装置 |
Non-Patent Citations (4)
Title |
---|
何钦淋: "基于VOI的桌面虚拟化研究", 《信息安全与通信保密》 * |
徐快: "桌面虚拟化模式在桌面计算中的应用", 《宁德师范学院学报(自然科学版)》 * |
胡观兵: "混合型桌面云服务端的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
马文杰: "桌面虚拟化技术在高校数字化校园中的研究与应用", 《凯里学院学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040150A (zh) * | 2017-06-08 | 2018-12-18 | 中国电信股份有限公司 | 云桌面服务方法、客户端平台和系统 |
CN109240768A (zh) * | 2018-09-18 | 2019-01-18 | 广东微云科技股份有限公司 | 一种混合计算模式下虚拟机的运行方法及系统 |
CN109656714A (zh) * | 2018-12-04 | 2019-04-19 | 成都雨云科技有限公司 | 一种虚拟化显卡的gpu资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104869167B (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9219779B1 (en) | Cloud-based server computing system for and method of providing cross-platform remote access to 3D graphics applications | |
US20140189708A1 (en) | Terminal and method for executing application in same | |
US20150248306A1 (en) | Hidden automated data mirroring for native interfaces in distributed virtual machines | |
CN113050940A (zh) | 小程序的预览方法、相关装置及计算机程序产品 | |
WO2020248383A1 (zh) | 基于跨平台的数据处理方法、装置及计算机设备 | |
CN104869168A (zh) | 一种桌面虚拟应用的负载平衡方法 | |
US8984542B2 (en) | Method and system for binding objects in dynamic programming languages using caching techniques | |
EP3008604A1 (en) | Unified extensible firmware interface (uefi) driver and protocol | |
CN111026439B (zh) | 应用程序的兼容方法、装置、设备及计算机存储介质 | |
US9437032B1 (en) | Server computing system for and method of providing cross-platform remote access to 3D graphics applications | |
CN103618699A (zh) | 一种调用组件的方法及装置 | |
CN113010827A (zh) | 页面渲染方法、装置、电子设备以及存储介质 | |
US20140344447A1 (en) | Method and apparatus for executing application | |
CN113590403A (zh) | 压力测试方法、装置、系统、电子设备、存储介质及产品 | |
CN104869167A (zh) | 一种服务器和桌面虚拟应用的负载平衡系统 | |
CN109829546B (zh) | 平台即服务云端服务器及其机器学习数据处理方法 | |
US8745173B1 (en) | Client computing system for and method of receiving cross-platform remote access to 3D graphics applications | |
CN115033301A (zh) | 边缘计算主机的设备接入方法、装置、设备及存储介质 | |
CN112835615B (zh) | 软件开发工具包的插件化处理方法、装置及电子设备 | |
CN110012003B (zh) | 一种云应用抓屏方法和装置 | |
CN114116487B (zh) | 压力测试方法、装置、电子设备及存储介质 | |
CN112132271A (zh) | 神经网络加速器运行方法、架构及相关装置 | |
CN114064176A (zh) | 一种视图交互方法、装置、电子设备及计算机可读介质 | |
CN114253671A (zh) | Android容器的GPU池化方法 | |
CN114386577A (zh) | 用于执行深度学习模型的方法、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Server and load balance system of desktop virtual application Effective date of registration: 20180829 Granted publication date: 20180223 Pledgee: He Chunzhe Pledgor: Shenzhen Yunshu Network Technology Co., Ltd. Registration number: 2018980000150 |
|
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180223 Termination date: 20190529 |
|
CF01 | Termination of patent right due to non-payment of annual fee |