一种应用虚拟化的负载分担方法及装置的制作方法

文档序号:7954420阅读:240来源:国知局
专利名称:一种应用虚拟化的负载分担方法及装置的制作方法
技术领域
本发明负载分担技术,尤其涉及一种应用虚拟化的负载分担技术。
背景技术
随着网络技术以及软件技术的发展,计算机的应用程序不再局限于本地,远程应用虚拟化技术已经迅速发展起来。应用虚拟化的主要工作原理是用户终端通过应用虚拟化协议远程连接到服务器端,在服务器端启动应用(可是为虚拟的本地应用),然后服务器把应用的界面显示图像远程端的到用户终端,用户终端的键盘和鼠标输入通过协议远程传递到服务器端。应用虚拟化达到的效果是本地无需安装应用程序,应用程序在服务器端运行,但用户体验和本地使用应用程序基本相同。应用虚拟化技术通常需要支持多个用户并发使用,考虑到性能及可靠性,一般需要部署多台应用服务器以提供更为丰富的计算资源。因此,需要考虑多个服务器的负载分担问题,即保证各服务器的负载相对平衡,达到最好的用户体验效果。但目前的负载分担技术仍然存在操作麻烦以及负载分担的均衡性较差的问题。

发明内容
有鉴于此,本发明提供一种应用虚拟化的负载分担装置,其中该网络设备用于多个服务器前端作为虚拟化网关,该装置包括
注册处理单元,用于接收并保存服务器发送的注册信息,所述注册信息包括该服务器可提供的虚拟应用;
应用配置单元,用于向管理员发送可提供该虚拟应用的服务器列表,记录管理员从服务器列表中选择的服务器;以及
负载决策单元,用于按照预定的分担规则以及服务器负载,将来自客户端的对虚拟应用的访问在管理员选择的服务器中进行负载分担。优选地,其中所述注册信息还包括CPU占用率、内存占用率、网络IO占用率以及磁盘IO占用率;所述服务器负载是由上述各个占用率乘以对应的预设权重后相加得到的。优选地,其中所述CPU占用率的权重最高。优选地,其中所述网络IO占用率以及磁盘IO占用率的权重之和不小于10%且不大于30%。本发明还提供一种应用虚拟化的负载分担方法,其中该网络设备用于多个服务器前端作为虚拟化网关,该方法包括
接收并保存服务器发送的注册信息,所述注册信息包括该服务器可提供的虚拟应用; 向管理员发送可提供该虚拟应用的服务器列表,记录管理员从服务器列表中选择的服务器;以及
按照预定的分担规则以及服务器负载,将来自客户端的对虚拟应用的访问在管理员选择的服务器中进行负载分担。
优选地,所述注册信息还包括CPU占用率、内存占用率、网络IO占用率以及磁盘IO 占用率;所述服务器负载是由上述各个占用率乘以对应的预设权重后相加得到的。优选地,其中所述CPU占用率的权重最高。优选地,其中所述网络IO占用率以及磁盘IO占用率的权重之和不小于10%且不
大于30%O。本发明通过采用应用服务器集群自动配置机制,应用部署大大简化,部署时间减少一半以上。采用基于应用的负载分担策略,用户业务部署的灵活性大大增强,可以根据业务本身资源消耗的特点设计负载分担策略。通过引入磁盘IO和网络IO占用率参数计算服务器负载,更准确的反应了服务器负载情况,在有很多典型的应用场景中,服务器间负载的不均衡性可以下降20%,甚至更高。


图1是本发明一种实施方式的应用环境。图2是本发明负载分担装置的逻辑结构图。图3是本发明管理配置的用户界面示意图。
具体实施例方式请参考图1,在应用虚拟化的场景中,通常会采用一台网络设备作为须虚拟化网关放置在服务器前端来承担负载分担等服务。本发明应用虚拟化的负载分担装置即应用在该虚拟化网关中,该装置可以通过软件实现,也可以通过软硬结合的方式实现。该装置主要包括注册处理单元11、应用配置单元12以及负载决策单元13。以下以软件实现为例来描述该装置运行时所执行的处理流程。步骤100,接收并保存服务器发送的注册信息,所述注册信息包括该服务器可提供的虚拟应用;本步骤由注册处理单元11执行。首先需要在应用服务器端安装虚拟应用插件(vApp),vApp主要负责主动向虚拟化网关发起注册,实现应用服务器的自动发现。同时,vApp通过Windows系统调用获取已安装的应用程序列表,并发送到虚拟化网关,实现应用程序(即虚拟应用)的自动发现,这些信息统称为注册信息。步骤200,向管理员发送可提供该虚拟应用的服务器列表,记录管理员从服务器列表中选择的服务器;本步骤由应用配置单元12执行。虚拟化网关负责进行虚拟应用的对外发布。管理员可以通过管理通道与虚拟网关交互来发布应用。发布应用时管理员通过应用配置单元12提供的服务器列表来选择应用运行的服务器群(或称服务器集合),应用配置单元12会记录下管理员的选择,进而构建基于该应用的负载分担服务器集群。请参考图3,其中展示了本发明应用配置单元12与管理员交互的用户界面。其中的各个服务器是用私网IP地址来标识的。如前所述,服务器列表根据vApp自动上报的应用列表获得,每个应用可以选择不同的服务器负载分担组,无需专门配置服务器集群,也不需要强制每个应用在使用相同的服务器集群进行负载分担。进一步来说,运行于应用服务器上的vApp还可以通过操作系统服务接口获取系统资源信息,包括CPU占用率、内存占用率、磁盘10、网络10,对资源信息进行统计计算,作为注册信息周期性发送给虚拟化网关。步骤300,按照预定的分担规则以及服务器负载,将来自客户端的对虚拟应用的访问在管理员选择的服务器中进行负载分担。虚拟化网关接收到vApp的注册信息之后,就可以知道针对每个虚拟化应用可以在哪些服务器中进行负载分担。分担的规则可以多种多样,可以参考各种已经存在的现有技术进行实现。但是大部分分担规则需要考虑后端服务器的性能。当前主流的应用虚拟化软件所采取的负载分担策略主要是在终端用户发起虚拟应用连接时进行用户连接数、应用服务器CPU、内存等资源的检查。但是没有考虑服务器IO 资源情况,比如磁盘10、网络IO等。现有的负载分担技术的主要缺点是没有全面考虑服务器的资源情况。现有技术通常仅仅考虑了 CPU以及内存等运算资源的状况,并形成了应用正比于消耗计算资源的偏见式思维。事实上通过大量实验可以发现,在部分服务器CPU和内存空闲但IO繁忙的情况下,将造成各个服务器业务性能不均衡。比如,有的服务器IO非常繁忙,如果不适当降低其分担,则会导致应用的响应速度下降,用户体验变差。因此本发明根据各应用服务器上VApp插件发送过来的包括了 IO占用率的系统资源信息计算服务器在一段时间内的平均负载,具体来说服务器负载是由上述各个占用率乘以对应的预设权重后相加得到的。一个示例性的计算方法如下
服务器负载=CPU占用率*50%+内存占用率*30%+磁盘IO占用率*10%+网络IO占用率 *10%。典型地,一般来说在服务器负载的计算过程中,本发明保持CPU权重始终高于其他资源的权重,但同时保持磁盘IO权重与网络IO权重的总和不小于10%且不大于30%。这样的设置能够合理体现服务器在计算以及网络上的综合瓶颈在何处。本发明通过采用应用服务器集群自动配置机制,应用部署大大简化,部署时间减少一半以上。而现有技术中,进行负载分担的若干台服务器一般需要管理员手工配置负载分担集群及相关属性等。本发明采用基于应用的负载分担策略,用户业务部署的灵活性大大增强,可以根据业务本身资源消耗的特点设计负载分担策略,充分利用服务器资源综合 IO性能来计算的服务器负载能够更准确的反应服务器的负载情况,避免负载不均衡所导致业务性能下降问题。通过引入磁盘IO和网络IO占用率参数计算服务器负载,更准确的反应了服务器负载情况,在有很多典型的应用场景中,服务器间负载的不均衡性可以下降20%, 甚至更高。以上所描述的仅仅是本发明较佳的实现方式,并不用以限定本发明的保护范围, 任何等同的变化和修改皆应涵盖在本发明的保护范围之内。
权利要求
1.一种应用虚拟化的负载分担装置,其中该网络设备用于多个服务器前端作为虚拟化网关,该装置包括注册处理单元,用于接收并保存服务器发送的注册信息,所述注册信息包括该服务器可提供的虚拟应用;应用配置单元,用于向管理员发送可提供该虚拟应用的服务器列表,记录管理员从服务器列表中选择的服务器;以及负载决策单元,用于按照预定的分担规则以及服务器负载,将来自客户端的对虚拟应用的访问在管理员选择的服务器中进行负载分担。
2.根据权利要求1所述的装置,其中所述注册信息还包括CPU占用率、内存占用率、网络IO占用率以及磁盘IO占用率;所述服务器负载是由上述各个占用率乘以对应的预设权重后相加得到的。
3.根据权利要求1所述的装置,其中所述CPU占用率的权重最高。
4.根据权利要求1所述的装置,其中所述网络IO占用率以及磁盘IO占用率的权重之和不小于10%且不大于30%。
5.一种应用虚拟化的负载分担方法,其中该网络设备用于多个服务器前端作为虚拟化网关,该方法包括接收并保存服务器发送的注册信息,所述注册信息包括该服务器可提供的虚拟应用;向管理员发送可提供该虚拟应用的服务器列表,记录管理员从服务器列表中选择的服务器;以及按照预定的分担规则以及服务器负载,将来自客户端的对虚拟应用的访问在管理员选择的服务器中进行负载分担。
6.根据权利要求5所述的方法,其中所述注册信息还包括CPU占用率、内存占用率、网络IO占用率以及磁盘IO占用率;所述服务器负载是由上述各个占用率乘以对应的预设权重后相加得到的。
7.根据权利要求5所述的方法,其中所述CPU占用率的权重最高。
8.根据权利要求5所述的方法,其中所述网络IO占用率以及磁盘IO占用率的权重之和不小于10%且不大于30%。
全文摘要
本发明提供一种应用虚拟化的负载分担装置,其中该网络设备用于多个服务器前端作为虚拟化网关,该装置包括注册处理单元,用于接收并保存服务器发送的注册信息,所述注册信息包括该服务器可提供的虚拟应用;应用配置单元,用于向管理员发送可提供该虚拟应用的服务器列表,记录管理员从服务器列表中选择的服务器;以及负载决策单元,用于按照预定的分担规则以及服务器负载,将来自客户端的对虚拟应用的访问在管理员选择的服务器中进行负载分担。本发明能有效提供应用虚拟化的负载分担的均衡性。
文档编号H04L29/08GK102404388SQ20111033454
公开日2012年4月4日 申请日期2011年10月30日 优先权日2011年10月30日
发明者孙向东 申请人:北京方物软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1