基于应用代理服务器的负载均衡方法及装置的制造方法

文档序号:9581841阅读:389来源:国知局
基于应用代理服务器的负载均衡方法及装置的制造方法
【技术领域】
[0001]本发明涉及云计算领域,尤指一种基于应用代理服务器的负载均衡方法及装置。
【背景技术】
[0002]随着云计算技术的迅速崛起与发展,越来越多的云计算解决方案得到实际应用与推广。从本质上讲,云计算带给大家的是一种如同水、电、煤一样的资源消费模式,一般用户按照实际需求定制资源,使用终端设备通过远程连接,便可以获取计算、存储、网络等资源,所有可用资源来自于云端,即互联网或服务器集群,而云终端则包括:个人计算机(PC,Personal Computer)、手机、平板电脑、车载设备及可穿戴设置等。
[0003]目前,服务器集群资源调度方式多数都是通过单一的负载均衡方式,即根据各个服务器的负载情况,把不同的应用请求分配给不同的服务器,来保证服务器中所有应用的服务质量需求,从而提高应用的伸缩性。
[0004]单一的负载均衡方式虽然实现简单,但是,由于服务器集群的状态瞬息万变,当出现多应用、多并发用户的场景时,采用现有的负载均衡方法则可能导致资源竞争、应用互斥等问题,不能很好地为待启动应用分配满足待启动应用的资源需求及负载需求的应用代理服务器,更甚者可能导致服务器瘫痪。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种基于应用代理服务器的负载均衡方法及装置,能够为待启动应用分配满足待启动应用的资源需求及负载需求的应用代理服务器。
[0006]为了达到本发明目的,本发明提供了一种基于应用代理服务器的负载均衡方法,包括:接收携带有待启动应用的标识信息的启动请求;根据接收到的标识信息,从预先建立的应用历史数据库中获取待启动应用的资源需求;根据获得的资源需求以及至少一个应用代理服务器的负载信息,确定用于运行所述待启动应用的目标应用代理服务器。
[0007]进一步地,该方法之前还包括建立所述应用历史数据库,包括:定时采集所述待启动应用的历史资源使用量,建立包含所述待启动应用的标识信息以及所述待启动应用的历史资源使用量的所述应用历史数据库;所述获取待启动应用的资源需求包括:根据所述标识信息,从所述应用历史数据库中查找与所述接收到的标识信息对应的历史资源使用量;将查找到的历史资源使用量作为所述待启动应用的资源需求。
[0008]进一步地,在所述确定用于运行所述待启动应用的目标应用代理服务器之前,所述方法还包括:根据所述待启动应用的资源需求,确定所述待启动应用的互斥应用。
[0009]进一步地,在所述确定用于运行所述待启动应用的目标应用代理服务器之前,所述方法还包括获取所述至少一个应用代理服务器的负载信息,包括:接收所述至少一个应用代理服务器上报的包括所述至少一个应用代理服务器的资源利用率和/或可用资源量的负载信息;对接收到的所述至少一个应用代理服务器的资源利用率进行归一化;根据归一化后的所述至少一个应用代理服务器的资源利用率和/或接收到的所述至少一个应用代理服务器的可用资源量,对所述至少一个应用代理服务器进行排序。
[0010]进一步地,所述根据归一化后的所述至少一个应用代理服务器的资源利用率和/或接收到的所述至少一个应用代理服务器的可用资源量,对所述至少一个应用代理服务器进行排序包括:按照归一化后的所述至少一个应用代理服务器的资源利用率从低到高的顺序,对所述至少一个应用代理服务器进行排序,生成第一序列;或者,按照接收到的所述至少一个应用代理服务器的可用资源量从高到低的顺序,对所述至少一个应用代理服务器进行排序,生成第二序列。
[0011]进一步地,所述根据获取到的资源需求以及预先采集的至少一个应用代理服务器的负载信息,在所述至少一个应用代理服务器中确定用于运行所述待启动应用的目标应用代理服务器包括:将当前应用代理服务器初始化为所述第一序列或者所述第二序列的中的第一台应用代理服务器,重复执行以下操作,直到遍历完所述至少一个应用代理服务器:查找所述当前应用代理服务器中是否包含所述待启动应用的互斥应用以及所述当前应用代理服务器的负载信息是否满足所述待启动应用的资源需求;如果所述当前应用代理服务器中不包含所述待启动应用的互斥应用,并且所述当前应用代理服务器的负载信息满足所述待启动应用的资源需求,将所述当前应用代理服务器确定为所述目标应用代理服务器。
[0012]进一步地,如果遍历完所述至少一个应用代理服务器,未确定出所述目标应用代理服务器,所述方法还包括:从所述至少一个应用代理服务器中,提取出负载信息满足所述待启动应用的资源需求的应用代理服务器;在负载信息满足所述待启动应用的资源需求的应用代理服务器中,将包含所述待启动应用的互斥应用的个数最少的应用代理服务器确定为所述目标应用代理服务器。
[0013]为了达到本发明目的,本发明提供了一种负载均衡装置,包括:接收单元,用于接收携带有待启动应用的标识信息的启动请求;获取单元,用于根据接收到的标识信息,从预先建立的应用历史数据库中获取待启动应用的资源需求;决策单元,用于根据获得的资源需求以及至少一个应用代理服务器的负载信息,确定用于运行所述待启动应用的目标应用代理服务器。
[0014]进一步地,负载均衡装置还包括:建立单元,用于定时采集所述待启动应用的历史资源使用量,建立包含所述待启动应用的标识信息以及所述待启动应用的历史资源使用量的所述应用历史数据库;所述获取单元用于执行以下步骤获取待启动应用的资源需求:根据所述标识信息,从所述应用历史数据库中查找与所述接收到的标识信息对应的历史资源使用量;将查找到的历史资源使用量作为所述待启动应用的资源需求。
[0015]进一步地,负载均衡装置还包括:确定单元,用于根据所述待启动应用的资源需求,确定所述待启动应用的互斥应用。
[0016]进一步地,负载均衡装置还包括:采集单元,用于接收所述至少一个应用代理服务器上报的包括所述至少一个应用代理服务器的资源利用率和/或可用资源量的负载信息;处理单元,用于对接收到的所述至少一个应用代理服务器的资源利用率进行归一化;排序单元,用于根据归一化后的所述至少一个应用代理服务器的资源利用率和/或接收到的所述至少一个应用代理服务器的可用资源量,对所述至少一个应用代理服务器进行排序。
[0017]进一步地,所述排序单元用于执行以下步骤根据归一化后的所述至少一个应用代理服务器的资源利用率和/或接收到的所述至少一个应用代理服务器的可用资源量,对所述至少一个应用代理服务器进行排序:按照归一化后的所述至少一个应用代理服务器的资源利用率从低到高的顺序,对所述至少一个应用代理服务器进行排序,生成第一序列;或者,按照接收到的所述至少一个应用代理服务器的可用资源量从高到低的顺序,对所述至少一个应用代理服务器进行排序,生成第二序列。
[0018]进一步地,所述决策单元用于执行以下步骤根据获取到的资源需求以及预先采集的至少一个应用代理服务器的负载信息,在所述至少一个应用代理服务器中确定用于运行所述待启动应用的目标应用代理服务器:将当前应用代理服务器初始化为所述第一序列或者所述第二序列的中的第一台应用代理服务器,重复执行以下操作,直到遍历完所述至少一个应用代理服务器:查找所述当前应用代理服务器中是否包含所述待启动应用的互斥应用以及所述当前应用代理服务器的负载信息是否满足所述待启动应用的资源需求;如果所述当前应用代理服务器中不包含所述待启动应用的互斥应用,并且所述当前应用代理服务器的负载信息满足所述待启动应用的资源需求,将所述当前应用代理服务器确定为所述目标应用代理服务器。
[0019]进一步地,负载均衡装置还包括:提取单元,用于如果遍历完所述至少一个应用代理服务器,未确定出所述目标应用代理服务器,从所述至少一个应用代理服务器中,提取出负载信息满足所述待启动应用的资源需求的应用代理服务器;其中,所示决策单元,还用于在负载信息满足所述待启动应用的资源需求的应用代理服务器中,将包含所述待启动应用的互斥应用的个数最少的应用代理服务器确定为所述目标应用代理服务器。
[0020]本发明实施例中,通过获取待启动应用的资源需求以及各个应用代理服务器的负载信息,综合考虑该两方面因素来为待启动应用选择满足待启动应用的资源需求及负载需求的应用代理服务器,实现了应用代理服务器资源的动态调度以及应用的动态部
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1