负载均衡方法和系统技术方案

技术编号:15795007 阅读:152 留言:0更新日期:2017-07-10 10:47
本发明专利技术公开了一种负载均衡方法,所述方法包括:当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;在获取所述任务类型后,从服务器列表中选择可用服务器;获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;根据具有所述任务类型的任务在每个所述可用服务器上的请求响应时间以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;将所述待分配任务分配到所述待分配服务器去执行。本发明专利技术的负载均衡方法提升了网络系统的请求响应速度,改善了负载均衡效果,同时本发明专利技术还提供了一种负载均衡系统。

【技术实现步骤摘要】
负载均衡方法和系统
本专利技术涉及计算机集群
,特别涉及负载均衡方法和系统。
技术介绍
集群由多个服务器或处理单元组成,属于同一集群的服务器或处理单元通常由统一的系统管理,通过网络联系起来,并进行同一种服务。负载均衡技术是集群技术的关键技术之一,其能够将请求分摊到多个处理单元上执行,充分利用各处理单元,从而提升系统整体处理能力。目前业界通常采用的负载均衡方法包括轮询、加权轮询、IP负载均衡、最小连接数等方法。然而,采用现有的负载均衡方法,在访问量增加、复杂请求增加的情况下,网络系统仍存在部分请求任务长时间得不到响应的问题。
技术实现思路
本专利技术提出一种负载均衡方法和系统,可提升网络系统的请求响应速度,提高网络系统的灵活性和可用性。本专利技术一方面提供了一种负载均衡方法,所述方法包括:当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;在获取所述任务类型后,从服务器列表中选择可用服务器;获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;根据具有所述任务类型的任务在每个所述可用服务器上的请求响应时间以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;将所述待分配任务分配到所述待分配服务器去执行。作为更优选地,所述获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间,包括:从本地数据库获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;其中,所述本地数据库中存储了不同任务类型的任务在每个所述可用服务器上的请求响应时间;对于每个所述可用服务器,判断具有所述任务类型的任务在每个所述可用服务器上的请求响应时间在本地数据库中的生存时间是否超过预设的时长阈值;当超过所述时长阈值时,向对应的所述可用服务器发送指令以重新获取具有所述任务类型的任务在对应的所述可用服务器上的请求响应时间并更新到所述本地数据库中。在所述方法的一个实施方式中,所述根据每个所述可用服务器上与所述任务类型对应的请求响应时间以及当前执行的与所述任务类型对应的任务的数量,在所有所述可用服务器中选取待分配服务器,包括:计算服务器响应时间阈值与具有所述任务类型的任务在每个所述可用服务器上的请求响应时间的差值,并在所述可用服务器中选取具有所述差值大于0的正常服务器;计算每个所述正常服务器上当前执行的具有所述任务类型的任务的数量与对应的所述差值的比值,并在所述正常服务器中选取具有最小的所述比值的待分配服务器。在所述方法的一个实施方式中,所述从服务器列表中选择可用服务器,包括:向所述服务器列表中的服务器发送在线确认包;判断是否收到所述服务器在收到所述在线确认包后发送的反馈消息;当收到所述反馈消息时,判定所述服务器为可用服务器;当没有收到所述反馈消息时,判定所述服务器为不可用服务器。在所述方法的一个实施方式中,所述方法还包括:从服务器列表中选择可用服务器时,若所述服务器列表没有可用的服务器,则返回错误信息。本专利技术另一方面还提供了一种负载均衡系统,所述系统包括:获取任务类型模块,用于当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;选择可用服务器模块,用于在获取所述任务类型后,从服务器列表中选择可用服务器;获取响应时间模块,用于获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;获取连接数量模块,用于获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;选取待分配服务器模块,用于根据具有所述任务类型的任务在每个所述可用服务器上的请求响应时间以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;分配任务模块,用于将所述待分配任务分配到所述待分配服务器去执行。作为更优选地,所述获取响应时间模块包括:第一获取单元,用于从本地数据库获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;其中,所述本地数据库中存储了不同任务类型的任务在每个所述可用服务器上的请求响应时间;生存时间判断单元,用于对于每个所述可用服务器,判断具有所述任务类型的任务在每个所述可用服务器上的请求响应时间在本地数据库中的生存时间是否超过预设的时长阈值;响应时间更新单元,用于当超过所述时长阈值时,向对应的所述可用服务器发送指令以重新获取具有所述任务类型的任务在对应的所述可用服务器上的请求响应时间并更新到所述本地数据库中。在所述系统的一个实施方式中,所述选取待分配服务器模块包括:第一选取单元,用于计算服务器响应时间阈值与具有所述任务类型的任务在每个所述可用服务器上的请求响应时间的差值,并在所述可用服务器中选取具有所述差值大于0的正常服务器;第二选取单元,用于计算每个所述正常服务器上当前执行的具有所述任务类型的任务的数量与对应的所述差值的比值,并在所述正常服务器中选取具有最小的所述比值的待分配服务器。在所述系统的一个实施方式中,所述选择可用服务器模块包括:询问单元,用于向所述服务器列表中的服务器发送在线确认包;反馈判断单元,用于判断是否收到所述服务器在收到所述在线确认包后发送的反馈消息;第一判定单元,用于当收到所述反馈消息时,判定所述服务器为可用服务器;第二判定单元,用于当没有收到所述反馈消息时,判定所述服务器为不可用服务器。在所述系统的一个实施方式中,所述系统还包括:错误信息模块,用于从服务器列表中选择可用服务器时,若所述服务器列表没有可用的服务器,则返回错误信息。相对于现有技术,本专利技术具有如下突出的有益效果:本专利技术提供了一种负载均衡方法与系统,其中负载均衡方法包括:当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;在获取所述任务类型后,从服务器列表中选择可用服务器;获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;根据具有所述任务类型的任务在每个所述可用服务器上的请求响应时间以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;将所述待分配任务分配到所述待分配服务器去执行。本专利技术提供的负载均衡方法与系统,通过在分配任务时充分考虑请求响应时间、当前执行的任务数量和任务类型来选取待分配服务器,提高了待分配服务器的选取的准确性,防止了在大访问量、复杂请求的情况下部分请求任务长时间得不到响应的情况,提升了网络系统的请求响应速度,改善了负载均衡效果。附图说明图1是本专利技术提供的负载均衡方法的第一实施例的流程示意图;图2是本专利技术提供的负载均衡系统的第一实施例的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。参见图1,是本专利技术提供的负载均衡方法的第一实施例的流程示意图,所述方法包括:S101,当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;S102,在获取所述任务类型后,从服务器列表中选择可用服务器;S103,获取具有所述任务类型的任务在每本文档来自技高网...
负载均衡方法和系统

【技术保护点】
一种负载均衡方法,其特征在于,所述方法包括:当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;在获取所述任务类型后,从服务器列表中选择可用服务器;获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;根据具有所述任务类型的任务在每个所述可用服务器上的请求响应时间以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;将所述待分配任务分配到所述待分配服务器去执行。

【技术特征摘要】
1.一种负载均衡方法,其特征在于,所述方法包括:当接收到待分配任务的任务请求时,获取所述待分配任务的任务类型;在获取所述任务类型后,从服务器列表中选择可用服务器;获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;获取每个所述可用服务器上当前执行的具有所述任务类型的任务的数量;根据具有所述任务类型的任务在每个所述可用服务器上的请求响应时间以及当前执行的具有所述任务类型的任务的数量,在所有所述可用服务器中选取待分配服务器;将所述待分配任务分配到所述待分配服务器去执行。2.如权利要求1所述的负载均衡方法,其特征在于,所述获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间,包括:从本地数据库获取具有所述任务类型的任务在每个所述可用服务器上的请求响应时间;其中,所述本地数据库中存储了不同任务类型的任务在每个所述可用服务器上的请求响应时间;对于每个所述可用服务器,判断具有所述任务类型的任务在每个所述可用服务器上的请求响应时间在本地数据库中的生存时间是否超过预设的时长阈值;当超过所述时长阈值时,向对应的所述可用服务器发送指令以重新获取具有所述任务类型的任务在对应的所述可用服务器上的请求响应时间并更新到所述本地数据库中。3.如权利要求1或2所述的负载均衡方法,其特征在于,所述根据每个所述可用服务器上与所述任务类型对应的请求响应时间以及当前执行的与所述任务类型对应的任务的数量,在所有所述可用服务器中选取待分配服务器,包括:计算服务器响应时间阈值与具有所述任务类型的任务在每个所述可用服务器上的请求响应时间的差值,并在所述可用服务器中选取具有所述差值大于0的正常服务器;计算每个所述正常服务器上当前执行的具有所述任务类型的任务的数量与对应的所述差值的比值,并在所述正常服务器中选取具有最小的所述比值的待分配服务器。4.如权利要求1所述的负载均衡方法,其特征在于,所述从服务器列表中选择可用服务器,包括:向所述服务器列表中的服务器发送在线确认包;判断是否收到所述服务器在收到所述在线确认包后发送的反馈消息;当收到所述反馈消息时,判定所述服务器为可用服务器;当没有收到所述反馈消息时,判定所述服务器为不可用服务器。5.如权利要求1或4所述的负载均衡方法,其特征在于,所述方法还包括:从服务器列表中选择可用服务器时,若所述服务器列表没有可用的服务器,则返回错误信息。6.一种负载均衡系统,其特征在于,所述系统包括:获取任务类型模块,用...

【专利技术属性】
技术研发人员:赵志宏叶生
申请(专利权)人:广州孩教圈信息科技股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1