CN103067528A - 一种实现多平台分布式虚拟应用的负载平衡方法和系统 - Google Patents
一种实现多平台分布式虚拟应用的负载平衡方法和系统 Download PDFInfo
- Publication number
- CN103067528A CN103067528A CN2013100384420A CN201310038442A CN103067528A CN 103067528 A CN103067528 A CN 103067528A CN 2013100384420 A CN2013100384420 A CN 2013100384420A CN 201310038442 A CN201310038442 A CN 201310038442A CN 103067528 A CN103067528 A CN 103067528A
- Authority
- CN
- China
- Prior art keywords
- virtual application
- virtual
- module
- application
- check 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
Images
Landscapes
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种实现多平台分布式虚拟应用的负载平衡方法和系统,检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;根据所述映像校验值和相应的应用程序生成应用程序标识符;对所述映像校验值进行参数校验,如果校验成功则对每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。本发明把根据负载情况对虚拟应用进行调用,这样会平衡页面浏览量以及所有用户对应用的使用情况,Restful方式提升系统的高效率,使得客户端调用能够跨平台无缝连接。
Description
技术领域
本发明涉及虚拟应用服务器负载平衡领域,尤其涉及一种实现多平台分布式虚拟应用的负载平衡方法和系统。
背景技术
虚拟应用(Virtual Application,简称VA)是一种无须安装,即需即用,并且有着与本地应用相近的用户体验的应用。而传统应用是需要用户预先安装在本地,并且在本地运行的应用。应用虚拟化时将传统应用通过技术手段转变为虚拟应用交付给用户的过程。应用虚拟化的核心是应用交互方式的变化。
Restful是一种无状态非协议的Web Service解决方案,直接面对资源,轻量级,高效率,而且支持跨平台。
虚拟应用分配给本地用户,可以一个应用分配多个用户,也可以一个用户被分配多个应用。虚拟应用总体上根据虚拟应用的计算任务所处的位置,分为远端计算虚拟应用和本地计算虚拟应用两类。远端计算的虚拟应用,是指应用程序运行在远端服务器上,通过远程显示协议将界面传送至本地。与远程桌面不同的是,用于支持虚拟应用的远程显示协议需要提供窗口级别的控制指令,以便客户端将虚拟应用于本地桌面环境无缝的集成在一起。调用时候允许多个用户同时调用同一个虚拟应用,这样就存在一个资源调配问题,通过每个虚拟应用服务器上代理,查询出网络带宽,CPU资源利用率,如果不考虑这些因素容易导致虚拟应用服务器负载不均衡。
现有技术只是单纯的链接固定平台上的虚拟应用,对虚拟应用服务器上发布的相同的虚拟应用缺乏负载平衡,具有以下缺点:
1.在高频繁的访问虚拟应用情况下,虚拟应用服务器承受得网络带宽和CPU压力过大,导致资源浪费,性能下降。
2.底层交换机负载,对外层应用封闭会增加部署难度,使得层次结构过于依赖,不利于扩展性,增加维护成本和技术投入。
发明内容
(一)要解决的技术问题
针对上述缺陷,本发明要解决的技术问题是如何对虚拟应用服务器上发布的相同的虚拟应用进行负载平衡的调节。
(二)技术方案
为解决上述问题,本发明提供了一种实现多平台分布式虚拟应用的负载平衡方法,所述方法包括:
A:检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;
B:根据所述映像校验值和相应的应用程序生成应用程序标识符;
C:对所述映像校验值进行参数校验,如果校验成功则进入步骤D,否则返回步骤A;
D:对于每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;
E:客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。
优选地,所述步骤B之后还包括:将所述应用程序标识符封装成Restful Web Service。
优选地,所述步骤E具体包括:
E1:根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器;
E2:客户端在所述步骤E1中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用;
E3:把所述步骤E2调用的虚拟应用连接数与单个应用占用率进行持久化。
为解决上述问题,本发明还提供了一种实现多平台分布式虚拟应用的负载平衡系统,所述系统包括:
校验值生成模块、标识符生成模块、校验模块、虚拟应用查询模块和负载平衡模块;
所述校验值生成模块,用于检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;
所述标识符生成模块,用于根据所述映像校验值和相应的应用程序生成应用程序标识符;
所述校验模块,用于对所述映像校验值进行参数校验,如果校验成功则进入所述虚拟应用查询模块,否则返回所述校验值生成模块;
所述虚拟应用查询模块,用于对每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;
所述负载平衡模块,用于客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。
优选地,标识符生成模块还用于将所述应用程序标识符封装成Restful Web Service。
优选地,所述负载平衡模块具体包括:虚拟应用服务器选择模块、虚拟应用调用模块和数据持久化模块;
所述虚拟应用服务器选择模块,根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器;
所述虚拟应用调用模块,客户端在所述虚拟应用服务器选择模块中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用;
所述数据持久化模块,把所述虚拟应用调用模块调用的虚拟应用连接数与单个应用占用率进行持久化。
(三)有益效果
本发明提出了一种实现多平台分布式虚拟应用的负载平衡方法和系统,根据负载情况对虚拟应用进行调用,从而平衡页面浏览量以及所有用户对应用的使用情况,Restful方式提升系统的高效率,使得客户端调用能够跨平台无缝连接,降低虚拟应用服务器的带宽压力,对CPU资源平衡利用。
附图说明
图1为一种实现多平台分布式虚拟应用的负载平衡方法的步骤流程图;
图2为一种实现多平台分布式虚拟应用的负载平衡方法中步骤E的具体流程图;
图3为一种实现多平台分布式虚拟应用的负载平衡系统的组成示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例一
本发明实施例一中提供了一种实现多平台分布式虚拟应用的负载平衡方法,步骤流程如图1所示,具体包括以下步骤:
步骤A:检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值。
具体的,利用校验总和(Checksum)方式进行标记,且校验总和(Checksum)与用户ID在数据结构方面具有多对多的关联关系。
步骤B:根据映像校验值和相应的应用程序生成应用程序标识符。每个虚拟应用服务器上查询出网络带宽和CPU资源利用率,机器应用程序的校验总和(Checksum)虚拟应用映像校验值及应用程序(exe文件)通过MD5生成的应用程序标识符,将应用程序标识符封装成Restful Web Service。
其中MD5为信息摘要算法第五版,用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法)。MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
步骤C:对映像校验值进行参数校验,如果校验成功则进入步骤D,否则返回步骤A。通过此步处理,对虚拟应用进行判断。
步骤D:对于每一个用户根据用户与虚拟应用的关联表查询出与用户相对应的虚拟应用。
其中,用户与虚拟应用的关联表中可以将一个虚拟应用分配给多个用户,还可以一个用户被分配多个应用。
步骤E:客户端根据应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断虚拟应用服务器。最优策略包括CPU压力小、网络负载能力强和内存大等。
步骤E具体流程如图2所示,具体包括以下步骤:
步骤E1:根据与虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含应用程序标识符相对应的虚拟应用的虚拟应用服务器。
步骤E2:客户端在步骤E1中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择网络带宽占用最小和CPU资源利用率最低的虚拟应用进行调用。
步骤E3:把步骤E2调用的虚拟应用连接数与单个应用占用率进行持久化。
其中持久化具体为:将虚拟应用相对应的虚拟应用服务器、网络带宽和CPU资源利用率相关数据保存在数据库中。
客户端应用通过实时监控各个虚拟应用的利用率,选择相应的虚拟应用进行调用。
通过上述方法,根据负载情况对虚拟应用进行调用,从而平衡页面浏览量以及所有用户对应用的使用情况,Restful方式提升系统的高效率,使得客户端调用能够跨平台无缝连接,降低虚拟应用服务器的带宽压力,对CPU资源平衡利用。
实施例二
为达到上述目的,本发明的实施例二中还提供了一种实现多平台分布式虚拟应用的负载平衡系统,组成示意图如图3所示,具体包括:
校验值生成模块310、标识符生成模块320、校验模块330、虚拟应用查询模块340和负载平衡模块350。
校验值生成模块310,用于检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值。
具体的,利用校验总和(Checksum)方式进行标记,且校验总和(Checksum)与用户ID在数据结构方面具有多对多的关联关系。
标识符生成模块320,用于根据映像校验值和相应的应用程序生成应用程序标识符,将应用程序标识符封装成Restful Web Service。
校验模块330,用于对映像校验值进行参数校验,如果校验成功则进入虚拟应用查询模块340,否则返回校验值生成模块310。
虚拟应用查询模块340,用于对每一个用户根据用户与虚拟应用的关联表查询出与用户相对应的虚拟应用。
负载平衡模块350,用于客户端根据应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断虚拟应用服务器。
负载平衡模块350具体包括:虚拟应用服务器选择模块351、虚拟应用调用模块352和数据持久化模块353。
虚拟应用服务器选择模块351,根据与虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含应用程序标识符相对应的虚拟应用的虚拟应用服务器。
虚拟应用调用模块352,客户端在虚拟应用服务器选择模块351中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择网络带宽占用最小和CPU资源利用率最低的虚拟应用进行调用。
数据持久化模块353,把虚拟应用调用模块352调用的虚拟应用连接数与单个应用占用率进行持久化。将虚拟应用相对应的虚拟应用服务器、网络带宽和CPU资源利用率相关数据保存在数据库中。
通过上述系统,根据负载情况对虚拟应用进行调用,从而平衡页面浏览量以及所有用户对应用的使用情况,Restful方式提升系统的高效率,使得客户端调用能够跨平台无缝连接,降低虚拟应用服务器的带宽压力,对CPU资源平衡利用。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种实现多平台分布式虚拟应用的负载平衡方法,其特征在于,所述方法具体包括:
A:检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;
B:根据所述映像校验值和相应的应用程序生成应用程序标识符;
C:对所述映像校验值进行参数校验,如果校验成功则进入步骤D,否则返回步骤A;
D:对于每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;
E:客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。
2.如权利要求1所述的方法,其特征在于,所述步骤A中标记出每个虚拟应用的映像校验值具体为:利用校验总和方式进行标记,且所述校验总和与用户ID在数据结构方面具有多对多的关联关系。
3.如权利要求1所述的方法,其特征在于,所述步骤B之后还包括:
将所述应用程序标识符封装成Restful Web Service。
4.如权利要求1所述的方法,其特征在于,所述步骤E具体包括:
E1:根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器;
E2:客户端在所述步骤E1中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用;
E3:把所述步骤E2调用的虚拟应用连接数与单个应用占用率进行持久化。
5.如权利要求4所述的方法,其特征在于,所述步骤E3中所述持久化具体为:将所述虚拟应用相对应的虚拟应用服务器、网络带宽和CPU资源利用率相关数据保存在数据库中。
6.一种实现多平台分布式虚拟应用的负载平衡系统,其特征在于,所述系统具体包括:校验值生成模块、标识符生成模块、校验模块、虚拟应用查询模块和负载平衡模块;
所述校验值生成模块,用于检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;
所述标识符生成模块,用于根据所述映像校验值和相应的应用程序生成应用程序标识符;
所述校验模块,用于对所述映像校验值进行参数校验,如果校验成功则进入所述虚拟应用查询模块,否则返回所述校验值生成模块;
所述虚拟应用查询模块,用于对每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;
所述负载平衡模块,用于客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。
7.如权利要求6所述的系统,其特征在于,所述校验值生成模块中标记出每个虚拟应用的映像校验值具体为:利用校验总和方式进行标记,且所述校验总和与用户ID在数据结构方面具有多对多的关联关系。
8.如权利要求6所述的系统,其特征在于,所述标识符生成模块还用于将所述应用程序标识符封装成Restful Web Service。
9.如权利要求6所述的系统,其特征在于,所述负载平衡模块具体包括:虚拟应用服务器选择模块、虚拟应用调用模块和数据持久化模块;
所述虚拟应用服务器选择模块,根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器;
所述虚拟应用调用模块,客户端在虚拟应用服务器选择模块中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用;
所述数据持久化模块,把所述虚拟应用调用模块调用的虚拟应用连接数与单个应用占用率进行持久化。
10.如权利要求9所述的系统,其特征在于,所述数据持久化模块将所述虚拟应用相对应的虚拟应用服务器、网络带宽和CPU资源利用率相关数据保存在数据库中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310038442.0A CN103067528B (zh) | 2013-01-31 | 2013-01-31 | 一种实现多平台分布式虚拟应用的负载平衡方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310038442.0A CN103067528B (zh) | 2013-01-31 | 2013-01-31 | 一种实现多平台分布式虚拟应用的负载平衡方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103067528A true CN103067528A (zh) | 2013-04-24 |
CN103067528B CN103067528B (zh) | 2017-04-19 |
Family
ID=48109982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310038442.0A Expired - Fee Related CN103067528B (zh) | 2013-01-31 | 2013-01-31 | 一种实现多平台分布式虚拟应用的负载平衡方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103067528B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104657195A (zh) * | 2015-01-05 | 2015-05-27 | 华为技术有限公司 | 一种资源绑定方法和装置 |
WO2015081509A1 (zh) * | 2013-12-04 | 2015-06-11 | 华为技术有限公司 | 一种选择后端网络设备的方法及设备 |
CN104767731A (zh) * | 2015-03-12 | 2015-07-08 | 江苏中天科技软件技术有限公司 | 一种Restful移动交易系统身份认证防护方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013228A2 (en) * | 1999-08-13 | 2001-02-22 | Sun Microsystems, Inc. | Graceful distribution in application server load balancing |
CN101124565A (zh) * | 2005-01-06 | 2008-02-13 | 思科技术公司 | 基于应用层消息的数据流量负载平衡 |
CN102710503A (zh) * | 2012-05-15 | 2012-10-03 | 浪潮电子信息产业股份有限公司 | 一种基于“云海os”的网络负载均衡方法 |
-
2013
- 2013-01-31 CN CN201310038442.0A patent/CN103067528B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013228A2 (en) * | 1999-08-13 | 2001-02-22 | Sun Microsystems, Inc. | Graceful distribution in application server load balancing |
CN101124565A (zh) * | 2005-01-06 | 2008-02-13 | 思科技术公司 | 基于应用层消息的数据流量负载平衡 |
CN102710503A (zh) * | 2012-05-15 | 2012-10-03 | 浪潮电子信息产业股份有限公司 | 一种基于“云海os”的网络负载均衡方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015081509A1 (zh) * | 2013-12-04 | 2015-06-11 | 华为技术有限公司 | 一种选择后端网络设备的方法及设备 |
CN104657195A (zh) * | 2015-01-05 | 2015-05-27 | 华为技术有限公司 | 一种资源绑定方法和装置 |
CN104657195B (zh) * | 2015-01-05 | 2018-03-06 | 华为技术有限公司 | 一种资源绑定方法和装置 |
CN104767731A (zh) * | 2015-03-12 | 2015-07-08 | 江苏中天科技软件技术有限公司 | 一种Restful移动交易系统身份认证防护方法 |
CN104767731B (zh) * | 2015-03-12 | 2017-11-03 | 江苏中天科技软件技术有限公司 | 一种Restful移动交易系统身份认证防护方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103067528B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102724277B (zh) | 虚拟机热迁移和部署的方法、服务器及集群系统 | |
CN105279027B (zh) | 一种虚拟机部署方法及装置 | |
EP2838228B1 (en) | Alarm correlation analysis method, apparatus, and system | |
CN105933408B (zh) | 一种Redis通用中间件的实现方法及装置 | |
CN104834602B (zh) | 一种程序发布方法、装置和程序发布系统 | |
WO2016184037A1 (zh) | 一种业务可用性管理方法、装置及其网络功能虚拟化架构 | |
CN103593242A (zh) | 基于Yarn框架的资源共享控制系统 | |
CN112799923B (zh) | 系统异常原因确定方法、装置、设备及存储介质 | |
CN105656962A (zh) | 一种服务调用方法和装置 | |
CN104092650A (zh) | 一种分配业务请求的方法和装置 | |
CN104580302A (zh) | 云服务管理系统及云联云管理系统 | |
CN115277566B (zh) | 数据访问的负载均衡方法、装置、计算机设备及介质 | |
CN110401695A (zh) | 云资源动态调度方法、装置和设备 | |
EP2933726A1 (en) | Apparatus, system and method for application log data processing | |
CN102750211A (zh) | 一种压力测试方法及系统 | |
CN103067528A (zh) | 一种实现多平台分布式虚拟应用的负载平衡方法和系统 | |
CN111966556A (zh) | 性能压测方法、装置及服务器和计算机可读存储介质 | |
CN103944940A (zh) | 动态配置代理服务器的设备及方法 | |
CN111338750A (zh) | 执行节点的压力调节方法、装置、服务器及存储介质 | |
CN113377381B (zh) | 小程序包的分发方法、装置、电子设备和介质 | |
CN107479974A (zh) | 一种虚拟机调度方法及装置 | |
CN105677492B (zh) | 一种面向终端的可靠应用执行方法 | |
CN108737543B (zh) | 一种分布式物联网中间件及工作方法 | |
CN107766154B (zh) | 服务器的转换方法及装置 | |
CN109697105A (zh) | 一种容器云环境物理机选择方法及其系统、虚拟资源配置方法及迁移方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20180823 Granted publication date: 20170419 |
|
PP01 | Preservation of patent right | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20210823 Granted publication date: 20170419 |
|
PD01 | Discharge of preservation of patent | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170419 Termination date: 20190131 |
|
CF01 | Termination of patent right due to non-payment of annual fee |