双集群间服务器动态分配方法及系统与流程

文档序号:14942911发布日期:2018-07-13 21:30阅读:126来源:国知局

本发明涉及互联网资源共享技术领域,具体涉及双集群间服务器动态分配方法及系统。



背景技术:

服务器集群技术可将分散的服务器资源进行组合连接,通过部署相同的业务服务实例对外提供统一的业务服务,保证核心业务的持续运转,实现对服务器资源的高效利用。

在服务器资源有限的情况下,用户可按照业务的实际需要,将服务器资源分割为主集群和副集群,以应对不同的业务需求。主集群作为主要集群,负责支撑核心的业务服务;副集群是辅助集群,负责对实时性要求不高、计算量较大的计算任务如数据转换、数据查询等进行执行。在传统的集群管理中,通常按照预期支撑的最大业务量对主集群和副集群的服务器数量进行手动配置,在计划时间段如闲时、忙时进行手动或自动调整。然而,业务量的变化过程相对随机,在固定的时间段对服务器资源进行调整不利于服务器资源的充分利用,同时也无法快速应对业务服务集群面临的高压情境。



技术实现要素:

为解决现有技术存在的不足,本发明提供了一种双集群间服务器动态分配方法,包括如下步骤:

步骤s1:为每个服务器进行配置,将其分为主集群及副集群;

步骤s2:为主集群分配一个服务器作为主集群管理节点,剩下的服务器为主集群子节点,为副集群分配一个服务器作为副集群管理节点,剩下的服务器为副集群子节点;

步骤s3:每个集群中的管理节点定时获取该集群中各子节点的硬件利用率,并由此计算该集群在预定时间段的服务器资源利用率;

步骤s4:主集群管理节点判断主集群服务器资源利用率um是否低于既定最低利用率umin,是则执行步骤s5,否则执行步骤s6;

步骤s5:主集群管理节点判断主集群及副集群是否同时满足主集群当前子节点数ns大于1,且副集群服务器资源利用率us大于既定最高利用率umax,是则执行步骤s7,否则执行步骤s9;

步骤s6:主集群管理节点判断主集群及副集群是否同时满足主集群服务器资源利用率大于既定最高利用率umax,且副集群子节点数量nm大于1,是则执行步骤s8,否则执行步骤s9;

步骤s7:主集群管理节点执行迁移流程,之后执行步骤s9;

步骤s8:主集群管理节点向副集群管理节点发送迁入请求,副集群管理节点执行迁移流程,之后执行步骤s9;

步骤s9:等待既定时间后,重新执行步骤s3至步骤s8。

其中,所述步骤s7及步骤s8中,迁移流程包括:

步骤a:迁移方集群管理节点选择所在集群中硬件利用率最低的子节点进行标记,停止向该子节点分发任务;

步骤b:将该子节点的ip地址发送给接收方集群管理节点;

步骤c:接收方收到该子节点的ip,将该子节点的ip加入接收方子节点列表。

其中,所述迁移流程还包括:

步骤d:接收方集群管理节点检测该子节点是否联通,是则执行步骤e,否则执行步骤f;

步骤e:接收方集群管理节点向子节点分发业务请求,同时向迁移方集群管理节点返回迁移成功信息;

步骤f:接收方集群管理节点删除该子节点,同时向迁移方集群管理节点返回迁移失败信息。

其中,所述步骤e及步骤f均还包括:

步骤g:迁移方集群管理节点接收到接收方集群管理节点迁移成功或失败的信息后,判断是否成功迁移,是则执行步骤h,否则执行步骤i;

步骤h:迁移方集群管理节点移除所述子节点,结束当前迁移过程;

步骤i:迁移方集群管理节点警告用户迁移失败,恢复所述子节点,结束当前迁移过程。

其中,每个服务器中配置的应用服务包括主业务服务及计算任务服务,且每个服务器中配置的服务实例完全相同。

其中,所述步骤s3中,硬件利用率的计算公式为:

平均利用率×a+内存平均利用率×b;

其中,为硬件利用率,a和b分别为cpu平均利用率及内存平均利用率所占权重,且a+b=1。

其中,所述步骤s3中,服务器资源利用率的计算公式为:

其中,u为服务器资源利用率,为集群中各子节点的硬件利用率,n为所在集群对应的子节点数量。

本发明另外提供了一种双集群间服务器动态分配系统,包括主集群及副集群,其中,主集群包括一个主集群管理节点及多个主集群子节点,副集群包括一个副集群管理节点及多个副集群子节点;

所述主集群管理节点及副集群管理节点均包括一个节点状态管理模块,用于获取所在集群中每个子节点的硬件利用率,并由此计算所在集群的服务器资源利用率;

每个主集群子节点及副集群子节点均包括一个子监控模块,用于定时获取各子节点对应的硬件利用率,并将硬件利用率发送给所在集群的管理节点;

所述主集群管理节点及副集群管理节点通过网络连接,并通过预定间隔时间的服务器资源利用率进行各集群之间子节点的迁移。

其中,所述硬件利用率的计算公式为:

平均利用率×a+内存平均利用率×b;

其中,为硬件利用率,a和b分别为cpu平均利用率及内存平均利用率所占权重,且a+b=1。

其中,所述服务器资源利用率的计算公式为:

其中,u为服务器资源利用率,为集群中各子节点的硬件利用率,n为所在集群对应的子节点数量。

本发明提供的双集群间服务器动态分配方法及系统,通过对主集群和副集群的负载情况进行定时监控,在主集群的负载处于非预期最佳负载状态时触发服务器动态分配,从而保持业务服务集群处于最佳负载状态,有效利用空闲集群的服务器资源,同时可在主集群处于高负载时予以快速响应。

附图说明

图1:本发明的双集群间服务器动态分配系统组织结构图;

图2:本发明的双集群间服务器动态分配系统逻辑框图;

图3:本发明的双集群间服务器动态分配方法流程图;

图4:本发明的双集群间服务器动态分配方法集群间节点迁移过程流程图。

附图标记说明

10主集群

11主集群管理节点

111节点状态管理模块

12主集群子节点

121子监控模块

20副集群

21副集群管理节点

211节点状态管理模块

22副集群子节点

221子监控模块

具体实施方式

为了对本发明的技术方案及有益效果有更进一步的了解,下面结合附图详细说明本发明的技术方案及其产生的有益效果。

本发明的双集群间服务器动态分配方法及系统,其主要发明构思为在用户预先配置的基础上对服务器资源进行分配,形成主集群和副集群;在业务服务和任务服务运行的过程中,通过对主集群和副集群的负载状态进行监控,以主集群的负载状态情况为主,按需将主集群主机的闲置资源调整到副集群中,来提高服务器资源的利用率;同时,在主集群所需的服务器资源不能得到满足时,可及时从副集群中调配迁移;这样,仅需要用户提供初始的集群服务器资源配置,即可实现集群间服务器资源的动态分配,这样便实现了一种双集群间服务器动态分配方法。

具体的,请参见图1-图2所示,分别为本发明的双集群间服务器动态分配系统组织结构图及逻辑框图,如图1及图2所示,本发明提供的双集群服务器动态分配系统,包括主集群10及副集群20,主集群10及副集群20按照用户预定义的分配方法配置,其中,主集群10包括一个主集群管理节点11及多个主集群子节点12,副集群20包括一个副集群管理节点21及多个副集群子节点22;管理节点负责对所在集群中每个子节点的动态调度及子节点间通信的转发;

所述主集群管理节点11及副集群管理节点21均包括一个节点状态管理模块111、211,用于获取所在集群中每个子节点的硬件利用率,并由此计算所在集群的服务器资源利用率;

每个主集群子节点12及副集群子节点22均包括一个子监控模块121、221,用于定时获取各子节点对应的硬件利用率,并将硬件利用率发送给所在集群的管理节点;

所述主集群管理节点11及副集群管理节点21通过网络连接,使得两者之间能够互相通信,以通过预定间隔时间的服务器资源利用率进行各集群之间子节点的迁移。

如图3为本发明的双集群间服务器动态分配方法流程图,如图3所示,本发明的双集群间服务器动态分配方法包括如下步骤:

步骤s1:为每个服务器进行配置,将其分为主集群10及副集群20。

步骤s2:为主集群10分配一个服务器作为主集群管理节点11,剩下的服务器为主集群子节点12,为副集群20分配一个服务器作为副集群管理节点21,剩下的服务器为副集群子节点22。

步骤s3:每个集群中的管理节点定时获取该集群中各子节点的硬件利用率,并由此计算该集群在预定时间段的服务器资源利用率;

较佳的,硬件利用率的计算公式为:

平均利用率×a+内存平均利用率×b;

其中,为硬件利用率,a和b分别为cpu平均利用率及内存平均利用率所占权重,且a+b=1;

服务器资源利用率的计算公式为:

其中,u为服务器资源利用率,为集群中各子节点的硬件利用率,n为所在集群对应的子节点数量。

步骤s4:主集群管理节点11判断主集群服务器资源利用率um是否低于既定最低利用率umin,是则执行步骤s5,否则执行步骤s6。

步骤s5:主集群管理节点11判断主集群10及副集群20是否同时满足主集群10当前子节点数ns大于1,且副集群20服务器资源利用率us大于既定最高利用率umax,是则执行步骤s7,否则执行步骤s9。

步骤s6:主集群管理节点11判断主集群10及副集群20是否同时满足主集群10服务器资源利用率大于既定最高利用率umax,且副集群子节点22数量nm大于1,是则执行步骤s8,否则执行步骤s9。

步骤s7:主集群管理节点11执行迁移流程,之后执行步骤s9。

步骤s8:主集群管理节点11向副集群管理节点21发送迁入请求,副集群管理节点21执行迁移流程,之后执行步骤s9。

步骤s9:等待既定时间t后,重新执行步骤s3至步骤s8。此既定时间t也即步骤s3中获取该集群中各子节点的硬件利用率的既定间隔时间。

由于主集群及副集群中的子节点需要相互迁移,也即,每个子节点都可能执行不同的任务,为保证子节点在不同的集群中顺利执行任务,本发明对每个服务器中配置的应用服务包括主业务服务及计算任务服务,且每个服务器中配置的服务实例完全相同。

本发明在对每个集群的服务器资源利用率负载情况进行判断时,所使用的判断基准为用户根据实际工作所需而设置的,也即,既定最高利用率umax及既定最低利用率umin可依用户的使用需求而变化。

本发明中,主集群及副集群间的迁移过程中,迁出子节点的集群方称为迁移方,接收子节点的集群方称为接收方,然而,在实际的迁移过程中,并不是每次都能实现成功迁移的,为了对迁移过程进行监控,如图4所示,为本发明的节点迁移过程流程图,本发明的迁移过程包括:

步骤a:迁移方集群管理节点选择所在集群中硬件利用率最低的子节点进行标记,停止向该子节点分发任务。

步骤b:将该子节点的ip地址发送给接收方集群管理节点。

步骤c:接收方收到该子节点的ip,将该子节点的ip加入接收方子节点列表。

步骤d:接收方集群管理节点检测该子节点是否联通,是则执行步骤e,否则执行步骤f。

步骤e:接收方集群管理节点向子节点分发业务请求,同时向迁移方集群管理节点返回迁移成功信息。

步骤f:接收方集群管理节点删除该子节点,同时向迁移方集群管理节点返回迁移失败信息。

无论接收方集群管理节点处判断的子节点迁移是否成功,本发明均需要迁移方进行进一步的迁移情况判断,也即步骤e及步骤f之后,迁移方还需进行如下几步:

步骤g:迁移方集群管理节点判断是否成功迁移,是则执行步骤h,否则执行步骤i。

步骤h:迁移方集群管理节点移除所述子节点,结束当前迁移过程。

步骤i:迁移方集群管理节点警告用户迁移失败,恢复所述子节点,结束当前迁移过程。

本发明的有益效果如下:

1.在保证主集群处于优良服务状态的同时,可为需要较多服务器资源的副集群提供服务器,提高了服务器资源的利用效率。

2.在业务服务处于高负荷状态时,可通过调配副集群服务器节点为主集群提供额外的服务器资源,从而增强主业务集群的鲁棒性。

3.通过对服务器资源进行动态配置,在主集群处于高负载时可予以快速响应,保障主集群中业务服务的持续运行,提高了主集群中业务服务的可用性。

虽然本发明已利用上述较佳实施例进行说明,然其并非用以限定本发明的保护范围,任何本领域技术人员在不脱离本发明的精神和范围之内,相对上述实施例进行各种变动与修改仍属本发明所保护的范围,因此本发明的保护范围以权利要求书所界定的为准。

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