一种实现多平台分布式虚拟应用的负载平衡方法和系统的制作方法

文档序号:7551644阅读:315来源:国知局
专利名称:一种实现多平台分布式虚拟应用的负载平衡方法和系统的制作方法
技术领域
本发明涉及虚拟应用服务器负载平衡领域,尤其涉及一种实现多平台分布式虚拟应用的负载平衡方法和系统。
背景技术
虚拟应用(Virtual Application,简称VA)是一种无须安装,即需即用,并且有着与本地应用相近的用户体验的应用。而传统应用是需要用户预先安装在本地,并且在本地运行的应用。应用虚拟化时将传统应用通过技术手段转变为虚拟应用交付给用户的过程。应用虚拟化的核心是应用交互方式的变化。Restful是一种无状态非协议的Web Service解决方案,直接面对资源,轻量级,高效率,而且支持跨平台。虚拟应用分配给本地用户,可以一个应用分配多个用户,也可以一个用户被分配多个应用。虚拟应用总体上根据虚拟应用的计算任务所处的位置,分为远端计算虚拟应用和本地计算虚拟应用两类。远端计算的虚拟应用,是指应用程序运行在远端服务器上,通过远程显示协议将界面传送至本地。与远程桌面不同的是,用于支持虚拟应用的远程显示协议需要提供窗口级别的控制指令,以便客户端将虚拟应用于本地桌面环境无缝的集成在一起。调用时候允许多个用户同时调用同一个虚拟应用,这样就存在一个资源调配问题,通过每个虚拟应用服务器上代理,查询出网络带宽,CPU资源利用率,如果不考虑这些因素容易导致虚拟应用服务器负载不均衡。

现有技术只是单纯的链接固定平台上的虚拟应用,对虚拟应用服务器上发布的相同的虚拟应用缺乏负载平衡,具有以下缺点1.在高频繁的访问虚拟应用情况下,虚拟应用服务器承受得网络带宽和CPU压力过大,导致资源浪费,性能下降。2.底层交换机负载,对外层应用封闭会增加部署难度,使得层次结构过于依赖,不利于扩展性,增加维护成本和技术投入。

发明内容
(一)要解决的技术问题针对上述缺陷,本发明要解决的技术问题是如何对虚拟应用服务器上发布的相同的虚拟应用进行负载平衡的调节。(二)技术方案为解决上述问题,本发明提供了一种实现多平台分布式虚拟应用的负载平衡方法,所述方法包括A :检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;B :根据所述映像校验值和相应的应用程序生成应用程序标识符;C :对所述映像校验值进行参数校验,如果校验成功则进入步骤D,否则返回步骤A ;D :对于每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;E :客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。优选地,所述步骤B之后还包括将所述应用程序标识符封装成Restful WebService。优选地,所述步骤E具体包括El :根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器;E2 :客户端在所述步骤El中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用;

E3 :把所述步骤E2调用的虚拟应用连接数与单个应用占用率进行持久化。为解决上述问题,本发明还提供了一种实现多平台分布式虚拟应用的负载平衡系统,所述系统包括校验值生成模块、标识符生成模块、校验模块、虚拟应用查询模块和负载平衡模块;所述校验值生成模块,用于检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;所述标识符生成模块,用于根据所述映像校验值和相应的应用程序生成应用程序标识符;所述校验模块,用于对所述映像校验值进行参数校验,如果校验成功则进入所述虚拟应用查询模块,否则返回所述校验值生成模块;所述虚拟应用查询模块,用于对每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;所述负载平衡模块,用于客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。优选地,标识符生成模块还用于将所述应用程序标识符封装成Restful WebService。优选地,所述负载平衡模块具体包括虚拟应用服务器选择模块、虚拟应用调用模块和数据持久化模块;所述虚拟应用服务器选择模块,根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器;所述虚拟应用调用模块,客户端在所述虚拟应用服务器选择模块中的虚拟应用服务器上根据网络带宽和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,否则返回步骤A0通过此步处理,对虚拟应用进行判断。步骤D :对于每一个用户根据用户与虚拟应用的关联表查询出与用户相对应的虚拟应用。其中,用户与虚拟应用的关联表中可以 将一个虚拟应用分配给多个用户,还可以一个用户被分配多个应用。步骤E :客户端根据应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断虚拟应用服务器。最优策略包括CPU压力小、网络负载能力强和内存大等。步骤E具体流程如图2所示,具体包括以下步骤步骤El :根据与虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含应用程序标识符相对应的虚拟应用的虚拟应用服务器。步骤E2 :客户端在步骤El中的虚拟应用服务器上根据网络带宽和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资源平衡利用。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本·发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种实现多平台分布式虚拟应用的负载平衡方法,其特征在于,所述方法具体包括 A :检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值; B :根据所述映像校验值和相应的应用程序生成应用程序标识符; C :对所述映像校验值进行参数校验,如果校验成功则进入步骤D,否则返回步骤A ; D :对于每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用; E :客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。
2.如权利要求1所述的方法,其特征在于,所述步骤A中标记出每个虚拟应用的映像校验值具体为利用校验总和方式进行标记,且所述校验总和与用户ID在数据结构方面具有多对多的关联关系。
3.如权利要求1所述的方法,其特征在于,所述步骤B之后还包括 将所述应用程序标识符封装成Restful Web Service。
4.如权利要求1所述的方法,其特征在于,所述步骤E具体包括 El :根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器; E2 :客户端在所述步骤El中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用; E3 :把所述步骤E2调用的虚拟应用连接数与单个应用占用率进行持久化。
5.如权利要求4所述的方法,其特征在于,所述步骤E3中所述持久化具体为将所述虚拟应用相对应的虚拟应用服务器、网络带宽和CPU资源利用率相关数据保存在数据库中。
6.一种实现多平台分布式虚拟应用的负载平衡系统,其特征在于,所述系统具体包括校验值生成模块、标识符生成模块、校验模块、虚拟应用查询模块和负载平衡模块; 所述校验值生成模块,用于检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值; 所述标识符生成模块,用于根据所述映像校验值和相应的应用程序生成应用程序标识符; 所述校验模块,用于对所述映像校验值进行参数校验,如果校验成功则进入所述虚拟应用查询模块,否则返回所述校验值生成模块; 所述虚拟应用查询模块,用于对每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用; 所述负载平衡模块,用于客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。
7.如权利要求6所述的系统,其特征在于,所述校验值生成模块中标记出每个虚拟应用的映像校验值具体为利用校验总和方式进行标记,且所述校验总和与用户ID在数据结构方面具有多对多的关联关系。
8.如权利要求6所述的系统,其特征在于,所述标识符生成模块还用于将所述应用程序标识符封装成Restful Web Service。
9.如权利要求6所述的系统,其特征在于,所述负载平衡模块具体包括虚拟应用服务器选择模块、虚拟应用调用模块和数据持久化模块; 所述虚拟应用服务器选择模块,根据与所述虚拟应用相对应的应用程序标识符查询所有的虚拟应用服务器,进行负载判断,从中得出包含所述应用程序标识符相对应的虚拟应用的虚拟应用服务器; 所述虚拟应用调用模块,客户端在虚拟应用服务器选择模块中的虚拟应用服务器上根据网络带宽和CPU资源利用率对各个虚拟应用的利用率进行监控,选择所述网络带宽占用最小和所述CPU资源利用率最低的虚拟应用进行调用; 所述数据持久化模块,把所述虚拟应用调用模块调用的虚拟应用连接数与单个应用占用率进行持久化。
10.如权利要求9所述的系统,其特征在于,所述数据持久化模块将所述虚拟应用相对应的虚拟应用服务器、网络带宽和CPU资源利用率相关数据保存在数据库中。
全文摘要
本发明公开了一种实现多平台分布式虚拟应用的负载平衡方法和系统,检测虚拟应用服务器的虚拟应用列表,标记出每个虚拟应用的映像校验值;根据所述映像校验值和相应的应用程序生成应用程序标识符;对所述映像校验值进行参数校验,如果校验成功则对每一个用户根据用户与虚拟应用的关联表查询出与所述用户相对应的虚拟应用;客户端根据所述应用程序标识符对虚拟应用进行负载判断,选择符合最优策略的虚拟应用进行调用,并在调用过程中动态判断所述虚拟应用服务器。本发明把根据负载情况对虚拟应用进行调用,这样会平衡页面浏览量以及所有用户对应用的使用情况,Restful方式提升系统的高效率,使得客户端调用能够跨平台无缝连接。
文档编号H04L29/08GK103067528SQ20131003844
公开日2013年4月24日 申请日期2013年1月31日 优先权日2013年1月31日
发明者马晓超 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1