一种分布式集群系统及其资源调配方法与流程

文档序号:12278852阅读:706来源:国知局

本发明涉及一种分布式集群系统及其资源调配方法,属于计算机信息技术领域。



背景技术:

分布式集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就像是一个服务实体,但事实上集群由一组服务实体组成。分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。分布式集群必须具有两个关键特征:1、可扩展性——集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能;2、高可用性——集群通过服务实体冗余使客户端免于轻易遇到停止服务的警告,在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体,集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性。在现有技术的分布式集群工作流式结构中,工作节点无法实现主动的资源自我调配,从而导致系统不能够均衡负载,无法达到最大限度的计算能力。



技术实现要素:

因此,本发明的目的在于克服现有技术中的缺陷,提供一种工作节点能够实现主动的资源自我调配,均衡负载,最大限度提供集群的计算能力的分布式集群系统及其资源调配方法。

为了实现上述目的,本发明的一种分布式集群系统,包括主服务器以及若干工作组;

所述主服务器设置有任务领取站、工具领取站以及工作看板;所述任务领取站,用于缓存全部任务,并供任意工作节点领取;所述工具领取站,用于存放将工作节点的工作内容所需的工具封装成的工具包,以供工作节点在切换或领取任务时,从工具领取站中领取相应的工具包;所述工作看板,用于接收并记录所有工作节点的状态信息及变动信息,并供任意工作节点查询;

所述工作组包括若干工作节点,所述工作节点设置有任务管理器,用于从工具领取站中获取本工作组工作所需的工具,从任务领取站中获取本工作组正在排队的任务列表;并定时统计自身的状态信息,包括任务吞吐量、平均处理耗时、CPU占用率,同时将这些状态信息发送到工作看板上;在工作看板上获取各个工作节点的状态信息,判断本工作组的任务处理效率;用于在本工作组的任务处理效率低于任务到达速率而使任务队列形成堆积时,将任务堆积情况上传至工作看板;用于当从任务领取站中领取不到任务时或者自身任务吞吐量下降时,查询工作看板上是否有工作组的任务堆积情况信息,如果发现某一工作组有任务堆积,即该工作组为堆积组时,并根据工作看板上记录的本工作组历史任务吞吐量、该堆积组的任务堆积量预判断本工作组能消化堆积后,将堆积组的任务转移至本组;如果发现多个工作组有任务堆积,判断影响堆积的根源集群并优先进行任务转移。

一种分布式集群系统的资源调配方法,基于上述分布式集群系统予以实现,包括以下步骤:

1)每个工作节点定时统计自身的状态信息,同时将这些状态信息发送到工作看板上;在工作看板上获取各个工作节点的状态信息,判断本工作组的任务处理效率;

2)当某个工作节点判断本工作组的任务处理效率低于任务到达速率而使任务队列形成堆积时,即本工作组为堆积组时,将任务堆积情况上传至工作看板;

3)其他工作组中的工作节点当从任务领取站中领取不到任务时或者自身任务吞吐量下降时,查询工作看板上是否有工作组的任务堆积情况信息,如果发现某一工作组为堆积组,则根据工作看板上记录的本工作组历史任务吞吐量、该堆积组的任务堆积量预判断本工作组能消化堆积后,将堆积组的任务转移至本组;

4)其他工作组中的工作节点当从任务领取站中领取不到任务时或者自身任务吞吐量下降时,查询工作看板上是否有工作组的任务堆积情况信息,如果发现多个工作组有任务堆积,判断影响堆积的根源工作组进行任务转移。

所述步骤1中的用于判断任务处理状态的信息包括任务吞吐量、平均处理耗时、CPU占用率。

所述步骤3中,在将堆积组的任务转移至本组之前,还包括判断转移任务是否影响本组在堆积消化后到来的任务高峰,并在不影响时进行转移。

所述步骤4中,在判断影响堆积的根源工作组后,从中选择出最紧迫的根源工作组优先进行任务转移。

采用上述技术方案,本发明提供的分布式集群系统及其资源调配方法,使得集群具有可扩展性和高可用性两个关键特征,使服务资源的工作节点能够实现主动的自我调配,在工作流式的结构中,防止某个工作组的任务吞吐量下降导致整个集群的吞吐量不高,从而达到均衡负载的目的,最大限度提供集群的计算能力。

具体实施方式

以下通过具体实施方式对本发明作进一步的详细说明。

本实施例提供一种分布式集群系统,包括主服务器以及若干工作组;

所述主服务器设置有任务领取站、工具领取站以及工作看板;所述任务领取站,用于缓存全部任务,并供任意工作节点领取;所述工具领取站,用于存放将工作节点的工作内容所需的工具封装成的工具包,以供工作节点在切换或领取任务时,从工具领取站中领取相应的工具包,从而保证每个工作节点都是无状态,可替换的;所述工作看板,用于接收并记录所有工作节点的状态信息及变动信息,并供任意工作节点查询,该工作看板是整个分布式集群系统的核心状态显示板,既接收记录所有工作节点的状态信息及变动信息,同时也作为工作节点判断行动方向的基准,通过工作看板可以判断整个集群的工作状况,判断本工作组的工作效率,从而有效地对任务进行自我调配到最佳工作组。

所述工作组包括若干工作节点,所述工作节点设置有任务管理器,用于从工具领取站中获取本工作组工作所需的工具,从任务领取站中获取本工作组正在排队的任务列表;并定时统计自身的状态信息,包括任务吞吐量、平均处理耗时、CPU占用率,同时将这些状态信息发送到工作看板上;在工作看板上获取各个工作节点的状态信息,判断本工作组的任务处理效率;用于在本工作组的任务处理效率低于任务到达速率而使任务队列形成堆积时,将任务堆积情况上传至工作看板,使其他空闲的工作节点能够感知到;用于当从任务领取站中领取不到任务时或者自身任务吞吐量下降时,查询工作看板上是否有工作组的任务堆积情况信息,如果发现某一工作组有任务堆积,即该工作组为堆积组时,并根据工作看板上记录的本工作组历史任务吞吐量、该堆积组的任务堆积量预判断本工作组能消化堆积后,同时又不影响本组在堆积消化后到来的任务高峰,将堆积组的任务转移至本组;如果发现多个工作组有任务堆积,判断影响堆积的根源集群并从中选择出最紧迫的根源集群优先进行任务转移。

本发明还提供一种分布式集群系统的资源调配方法,基于上述分布式集群系统予以实现,包括以下步骤:

1)每个工作节点定时统计自身的状态信息,同时将这些状态信息发送到工作看板上;在工作看板上获取各个工作节点的状态信息,判断本工作组的任务处理效率;

2)当某个工作节点判断本工作组的任务处理效率低于任务到达速率而使任务队列形成堆积时,即本工作组为堆积组时,将任务堆积情况上传至工作看板;

3)其他工作组中的工作节点当从任务领取站中领取不到任务时或者自身任务吞吐量下降时,查询工作看板上是否有工作组的任务堆积情况信息,如果发现某一工作组为堆积组,则根据工作看板上记录的本工作组历史任务吞吐量、该堆积组的任务堆积量预判断本工作组能消化堆积后,将堆积组的任务转移至本组;

4)其他工作组中的工作节点当从任务领取站中领取不到任务时或者自身任务吞吐量下降时,查询工作看板上是否有工作组的任务堆积情况信息,如果发现多个工作组有任务堆积,判断影响堆积的根源工作组进行任务转移。

所述步骤1中的用于判断任务处理状态的信息包括任务吞吐量、平均处理耗时、CPU占用率。

所述步骤3中,在将堆积组的任务转移至本组之前,还包括判断转移任务是否影响本组在堆积消化后到来的任务高峰,公式的计算方法根据具体业务的数据值推算,并在不影响时进行转移。

所述步骤4中,在判断影响堆积的根源工作组后,从中选择出最紧迫的根源工作组优先进行任务转移。

采用上述技术方案,本发明提供的分布式集群系统及其资源调配方法,使得集群具有可扩展性和高可用性两个关键特征,使服务资源的工作节点能够实现主动的自我调配,在工作流式的结构中,防止某个工作组的任务吞吐量下降导致整个集群的吞吐量不高,从而达到均衡负载的目的,最大限度提供集群的计算能力。

显然,上述实施例仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1