一种集群自反馈式负载均衡调度系统及方法

文档序号:10597276阅读:412来源:国知局
一种集群自反馈式负载均衡调度系统及方法
【专利摘要】本发明公开了一种集群自反馈式负载均衡调度系统及方法。本发明包括:调度中心服务器利用自身存在的五张表,高效调用集群响应服务;各集群中Master服务器通过发送Hello和Update报文实时通知调度中心服务器更新表中各集群状态。当调度中心服务器接收到用户请求后,查看自身内放置的资源分布表,确定相关可处理集群,进一步结合空闲表和分配历史记录表做出最合理的处理方案。各集群Master服务器周期发送Hello报文,通告给调度中心服务器自身状态;并且当新建或完成处理任务时,实时发送Update报文通知调度中心服务器修改各表状态。反馈机制与合理的任务分配方法相结合,实现负载均衡的调度方法。
【专利说明】
一种集群自反馈式负载均衡调度系统及方法
技术领域
[0001]本发明涉及负载均衡调度技术领域,具体是一种集群自反馈式负载均衡调度系统及方法。
【背景技术】
[0002]随着互联网技术的发展,单台服务器组成的系统由于中央处理器、输入输出处理速度等方面的限制,已经不能满足快速增长的数据量及业务处理的需求。集群技术的出现,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,但是关于集群调度这一核心问题现有的机制还不够完善,存在或多或少的问题。比如:没有考虑是否已有集群处理过类似请求问题,没有比较各集群处理相同请求的效率问题和没有实现调度服务器和集群之间的动态协调沟通的问题等。
[0003]因此,集群间负载均衡的实现没有完全高效利用可用资源,存在一定的分配不均的现象。

【发明内容】

[0004]为了克服上述现有技术的缺点,本发明提供了一种集群自反馈式负载均衡调度系统及方法,真正实现任务分配的负载均衡。
[0005]—种集群自反馈式负载均衡调度方法,调度中心服务器按表查询机制实现各负载均衡以及反馈式更新各表状态;
[0006](I)当调度中心服务器接收到用户请求后,首先查看资源分布表,根据资源分布表中内容,确定可处理此请求的集群的范围;
[0007](2)确定集群范围后,接着查询空闲表,根据选定的集群范围依次查看每个可响应集群所剩余的资源情况;
[0008]若存在多个所剩资源较多的集群则接着查询分配历史记录表,看是否存在已经执行过同类请求消息的记录;若存在,则比较符合条件的集群上次处理此类似消息所占用的资源情况和最终完成所消耗的时间,两者结合优胜者获得处理该请求的权利;若不存在,则从多个符合条件的集群中选出所剩资源最多的获得处理该请求的权利;
[0009]若可响应集群皆无所剩资源,则将请求放入排队等候表中,直至空闲表中出现可分配资源后,跳出排队等候表接着查询空闲表;
[0010](3)调度中心服务器给最终选定的集群分配用户请求任务,集群开始处理该请求;
[0011](4)集群及时反馈集群状态更新调度中心服务器的状态,各表项相互结合关联,实现反馈式的负载均衡任务调度分配。
[0012]优选的,各集群中的Master服务器利用以下两种报文实时通知调度中心服务器更新表中各集群状态:周期发送Hello报文,通告给调度中心服务器自身状态;并且当新建或完成处理任务时,实时发送Update报文通知调度中心服务器修改各表状态;Master服务器是每个集群中存在的一台管理本集群其它服务器的设备。
[0013]优选的,两种报文的工作方式如下:
[0014](I)在集群稳定的处理用户请求消息的过程中,集群中的Master服务器会以60秒为一个周期,按时发送Hel 1报文,通告本集群各资源使用情况给调度中心服务器;
[0015](2)调度中心服务器收到Hello报文后将比对各表中的数值,发现没有变化,将忽略此报文;
[0016](3)当集群收到一个新的用户请求消息或者处理完成一个请求消息后,将立即发送一个Update报文,里面放置释放或新占用的资源情况;
[0017](4)调度中心服务器收到此Update报文后,依次比对负载表、空闲表中的信息并做出相应的修改;同时,在分配历史记录表中添加已完成的请求消息的记录和完成后所涉及的一系列参数;
[0018](5)调度中心服务器的各表项值得到及时更新。
[0019]优选的,调度中心服务器中具有五张表,调度中心服务器按表查询机制如下:
[0020]资源分布表:存放各集群可以处理请求信息的集合;
[0021]负载表:存放各集群正在处理的请求信息的集合;
[0022]空闲表:存放各集群所剩资源情况的集合;
[0023]分配历史记录表:存放各集群已处理过请求消息的种类及处理各请求所占用资源情况和最终完成所消耗的时间;
[0024]排队等候表:存放等待处理的请求信息。
[0025]—种集群自反馈式负载均衡调度系统,调度中心服务器按表查询机制实现各负载均衡以及反馈式更新各表状态;
[0026]查询模块;调度中心服务器接收到用户请求后,首先查看资源分布表,根据资源分布表中内容,确定可处理此请求的集群的范围;
[0027]选择模块:确定集群范围后,接着查询空闲表,根据选定的集群范围依次查看每个可响应集群所剩余的资源情况;
[0028]若存在多个所剩资源较多的集群则接着查询分配历史记录表,看是否存在已经执行过同类请求消息的记录;若存在,则比较符合条件的集群上次处理此类似消息所占用的资源情况和最终完成所消耗的时间,两者结合优胜者获得处理该请求的权利;若不存在,则从多个符合条件的集群中选出所剩资源最多的获得处理该请求的权利;
[0029]若可响应集群皆无所剩资源,则将请求放入排队等候表中,直至空闲表中出现可分配资源后,跳出排队等候表接着查询空闲表;
[0030]执行模块:调度中心服务器给最终选定的集群分配用户请求任务,集群开始处理该请求;
[0031]反馈模块:集群及时反馈集群状态更新调度中心服务器的状态,各表项相互结合关联,实现反馈式的负载均衡任务调度分配。
[0032]本发明的有益效果是:通过调度中心服务器中各表之间的查询关联,引入历史机制查询,在处理类似请求时更加高效;处理新增请求时保证切实高效的负载均衡的实现。同时,反馈机制的应用,为切实负载均衡的实现增加了进一步保障。
【附图说明】
[0033]下面结合附图对本发明作进一步说明。
[0034]图1为发明中的整体架构示意图;
[0035]图2为调度中心服务器中表的分布;
[0036]图3为负载均衡工作流程示意图;
[0037]图4为调节系统原理框图。
【具体实施方式】
[0038]如图1所示,在所有集群的“上方”设置了一台调度中心服务器,用来接收用户发来的请求信息,并且通过其各项机制的设定来实现负载均衡。调度中心服务器就像是用户与集群之间的一个桥梁,起到了接收、调度、分配等一系列功能,使用户和集群之间忽略其他不必要因素的影响,看起来就像只与调度中心服务器进行通信一样。
[0039]如图2所示,调度中心服务器五张表之间相互协商工作,保证负载均衡的高效运行,各个存放内容如下:
[0040]资源分布表:存放各集群可以处理请求信息的集合;
[0041]负载表:存放各集群正在处理的请求信息的集合;
[0042]空闲表:存放各集群所剩资源情况的集合;
[0043]分配历史记录表:存放各集群已处理过请求消息的种类及处理各请求所占用资源情况和最终完成所消耗的时间;
[0044]排队等候表:存放等待处理的请求信息。
[0045]如图3所示,一种集群自反馈式负载均衡调度方法,调度中心服务器按表查询机制实现各负载均衡以及反馈式更新各表状态;
[0046](I)当调度中心服务器接收到用户请求后,首先查看资源分布表,根据资源分布表中内容,确定可处理此请求的集群的范围;
[0047](2)确定集群范围后,接着查询空闲表,根据选定的集群范围依次查看每个可响应集群所剩余的资源情况;
[0048]若存在多个所剩资源较多的集群则接着查询分配历史记录表,看是否存在已经执行过同类请求消息的记录;若存在,则比较符合条件的集群上次处理此类似消息所占用的资源情况和最终完成所消耗的时间,两者结合优胜者获得处理该请求的权利;若不存在,则从多个符合条件的集群中选出所剩资源最多的获得处理该请求的权利;
[0049]若可响应集群皆无所剩资源,则将请求放入排队等候表中,直至空闲表中出现可分配资源后,跳出排队等候表接着查询空闲表;
[0050](3)调度中心服务器给最终选定的集群分配用户请求任务,集群开始处理该请求;
[0051](4)集群及时反馈集群状态更新调度中心服务器的状态,各表项相互结合关联,实现反馈式的负载均衡任务调度分配。
[0052]各集群中的Master服务器利用以下两种报文实时通知调度中心服务器更新表中各集群状态,Master服务器是每个集群中存在的一台管理本集群其它服务器的设备。
[0053 ] He 11 ο报文:周期性发送,里面包含的内容有:集群的CPU使用率、内存占用情况等一系列资源;
[0054]Update报文:触发式更新,当集群新接收或刚处理结束请求时,随即向调度中心服务器进行通告;里面包含的内容有:新占用或解除占用的CPU使用量、占用或释放内存的大小等一系列资源。
[0055]两种报文的工作方式如下:
[0056](I)在集群稳定的处理用户请求消息的过程中,集群中的Master服务器会以60秒为一个周期,按时发送Hel 1报文,通告本集群各资源使用情况给调度中心服务器;
[0057](2)调度中心服务器收到Hello报文后将比对各表中的数值,发现没有变化,将忽略此报文;
[0058](3)当集群收到一个新的用户请求消息或者处理完成一个请求消息后,将立即发送一个Update报文,里面放置释放或新占用的资源情况;
[0059](4)调度中心服务器收到此Update报文后,依次比对负载表、空闲表中的信息并做出相应的修改;同时,在分配历史记录表中添加已完成的请求消息的记录和完成后所涉及的一系列参数;
[0060](5)调度中心服务器的各表项值得到及时更新。
[0061]如图4所示,一种集群自反馈式负载均衡调度系统,调度中心服务器按表查询机制实现各负载均衡以及反馈式更新各表状态;
[0062]查询模块;调度中心服务器接收到用户请求后,首先查看资源分布表,根据资源分布表中内容,确定可处理此请求的集群的范围;
[0063]选择模块:确定集群范围后,接着查询空闲表,根据选定的集群范围依次查看每个可响应集群所剩余的资源情况;
[0064]若存在多个所剩资源较多的集群则接着查询分配历史记录表,看是否存在已经执行过同类请求消息的记录;若存在,则比较符合条件的集群上次处理此类似消息所占用的资源情况和最终完成所消耗的时间,两者结合优胜者获得处理该请求的权利;若不存在,则从多个符合条件的集群中选出所剩资源最多的获得处理该请求的权利;
[0065]若可响应集群皆无所剩资源,则将请求放入排队等候表中,直至空闲表中出现可分配资源后,跳出排队等候表接着查询空闲表;
[0066]执行模块:调度中心服务器给最终选定的集群分配用户请求任务,集群开始处理该请求;
[0067]反馈模块:集群及时反馈集群状态更新调度中心服务器的状态,各表项相互结合关联,实现反馈式的负载均衡任务调度分配。
[0068]调度中心服务器接收到用户请求后,查看自身内放置的资源分布表,确定相关可处理集群,进一步结合空闲表和分配历史记录表做出最合理的处理方案;各集群中的Master服务器周期发送Hello报文,通告给调度中心服务器自身状态;并且当新建或完成处理任务时,实时发送Update报文通知调度中心服务器修改各表状态,从而实现反馈式的负载均衡任务调度分配。
【主权项】
1.一种集群自反馈式负载均衡调度方法,其特征在于:调度中心服务器按表查询机制实现负载均衡以及反馈式更新各表状态; (1)当调度中心服务器接收到用户请求后,首先查看资源分布表,根据资源分布表中内容,确定可处理此请求的集群的范围; (2)确定集群范围后,接着查询空闲表,根据选定的集群范围依次查看每个可响应集群所剩余的资源情况; 若存在多个所剩资源较多的集群则接着查询分配历史记录表,看是否存在已经执行过同类请求消息的记录;若存在,则比较符合条件的集群上次处理此类似消息所占用的资源情况和最终完成所消耗的时间,两者结合优胜者获得处理该请求的权利;若不存在,则从多个符合条件的集群中选出所剩资源最多的获得处理该请求的权利; 若可响应集群皆无所剩资源,则将请求放入排队等候表中,直至空闲表中出现可分配资源后,跳出排队等候表接着查询空闲表; (3)调度中心服务器给最终选定的集群分配用户请求任务,集群开始处理该请求; (4)集群及时反馈集群状态更新调度中心服务器的状态,各表项相互结合关联,实现反馈式的负载均衡任务调度分配。2.根据权利要求1所述的一种集群自反馈式负载均衡调度方法,其特征在于:各集群中的Master服务器利用以下两种报文实时通知调度中心服务器更新表中各集群状态:周期发送Hello报文,通告给调度中心服务器自身状态;并且当新建或完成处理任务时,实时发送Update报文通知调度中心服务器修改各表状态;Master服务器是每个集群中存在的一台管理本集群其它服务器的设备。3.根据权利要求2所述的一种集群自反馈式负载均衡调度方法,其特征在于:两种报文的工作方式如下: (1)在集群稳定的处理用户请求消息的过程中,集群中的Master服务器会以60秒为一个周期,按时发送Hello报文,通告本集群各资源使用情况给调度中心服务器; (2)调度中心服务器收到Hello报文后将比对各表中的数值,发现没有变化,将忽略此报文; (3)当集群收到一个新的用户请求消息或者处理完成一个请求消息后,将立即发送一个Update报文,里面放置释放或新占用的资源情况; (4)调度中心服务器收到此Update报文后,依次比对负载表、空闲表中的信息并做出相应的修改;同时,在分配历史记录表中添加已完成的请求消息的记录和完成后所涉及的一系列参数; (5)调度中心服务器的各表项值得到及时更新。4.根据权利要求1-3任一项所述的一种集群自反馈式负载均衡调度方法,其特征在于:调度中心服务器中具有五张表,调度中心服务器按表查询机制如下: 资源分布表:存放各集群可以处理请求信息的集合; 负载表:存放各集群正在处理的请求信息的集合; 空闲表:存放各集群所剩资源情况的集合; 分配历史记录表:存放各集群已处理过请求消息的种类及处理各请求所占用资源情况和最终完成所消耗的时间; 排队等候表:存放等待处理的请求信息。5.一种集群自反馈式负载均衡调度系统,其特征在于:调度中心服务器按表查询机制实现负载均衡以及反馈式更新各表状态; 查询模块;调度中心服务器接收到用户请求后,首先查看资源分布表,根据资源分布表中内容,确定可处理此请求的集群的范围; 选择模块:确定集群范围后,接着查询空闲表,根据选定的集群范围依次查看每个可响应集群所剩余的资源情况; 若存在多个所剩资源较多的集群则接着查询分配历史记录表,看是否存在已经执行过同类请求消息的记录;若存在,则比较符合条件的集群上次处理此类似消息所占用的资源情况和最终完成所消耗的时间,两者结合优胜者获得处理该请求的权利;若不存在,则从多个符合条件的集群中选出所剩资源最多的获得处理该请求的权利; 若可响应集群皆无所剩资源,则将请求放入排队等候表中,直至空闲表中出现可分配资源后,跳出排队等候表接着查询空闲表; 执行模块:调度中心服务器给最终选定的集群分配用户请求任务,集群开始处理该请求; 反馈模块:集群及时反馈集群状态更新调度中心服务器的状态,各表项相互结合关联,实现反馈式的负载均衡任务调度分配。
【文档编号】H04L29/08GK105959395SQ201610424982
【公开日】2016年9月21日
【申请日】2016年6月15日
【发明人】吴响, 李满堂, 臧昊, 赵强
【申请人】徐州医科大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1