一种基于机器性能的服务器集群任务分配方法组成比例

技术编号:24852698 阅读:17 留言:0更新日期:2020-07-10 19:06
本发明专利技术公开了一种基于机器性能的服务器集群任务分配方法,根据服务器集群中各台服务器的机器配置信息,确定其在服务器集群中的权重值,再按照权重值确定服务器在哈希环中对应的虚拟节点数量,最后根据一致性哈希算法进行动态任务分配。本发明专利技术部署简单、扩展简单,充分利用服务器资源,无需强行要求服务器配置一致,实现无缝集群,同时资源分配较为均衡,适合用于大并发、高集群的集群环境中。

【技术实现步骤摘要】
一种基于机器性能的服务器集群任务分配方法
本专利技术涉及服务器任务分配算法
,尤其是一种基于机器性能的服务器集群动态任务分配方法。
技术介绍
服务器集群是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。在多个服务器的集群环境中,为了使系统负载更均衡,需将执行任务尽量均衡地分散到各台服务器,充分利用服务器的资源。传统的处理方式有两种:第一,在集群中的各台服务器中做相应的参数标识,服务器每次执行操作前查询自身是否为被标识的服务器,若是则代表其有操作权限,正常执行,若否则代表其无操作权限,自动退出;第二,与第一种处理方式类似,将标识位放到一个所有服务器都可以读取的公共区域,并绑定能够区分各台服务器的识别信息,服务器每次执行操作前在公共区域查询被标识的服务器是否包含本机,若是则代表其有操作权限,正常执行,若否则代表其无操作权限,自动退出。这两种处理方式存在以下问题:1、服务器与允许执行的操作种类绑定,颗粒度较大,无法实现某台服务器执行某类操作中的某条数据;2、指定特定服务器执行某类操作,可能造成部分服务器在未改配置前无操作可执行,浪费服务器资源;3、第一种处理方式部署复杂,需要对每台服务器进行配置;4、第二种处理方式虽然只需配置一次,但是执行某操作对应的服务器撤销之后需要修改配置。将待执行任务在服务器集群之间动态分配可以很好地解决上述问题。国家知识产权局于2019年12月13日公布的专利技术专利申请CN110569124A公开了一种服务器集群的动态任务分配方法,通过服务器发送消息告知任务分配系统其在服务器集群环境中的运行情况,任务分配系统根据所有服务器的运行情况确定每个服务器的任务获取规则并发送,例如,任务分配系统通过负载低区分哪些服务器在线上而没有或运行少量任务,通过负载高区分哪些服务器在忙于处理任务,或者处理量高于该服务器的处理能力而需要其他服务器分担任务等,以此减少服务器之间的任务竞争,实现高效地动态任务分配。此方案未考虑集群中各台服务器机器性能不一致的问题,而机器性能往往决定着其处理效率。不考虑机器性能的任务分配一定程度上会存在任务分配失衡的问题,是无法做到资源最优配置的。
技术实现思路
针对上述问题,本专利技术提供一种基于机器性能的服务器集群任务分配方法。一种基于机器性能的服务器集群任务分配方法,根据服务器集群中各台服务器的机器配置信息,确定其在服务器集群中的权重值,再按照权重值确定服务器在哈希环中对应的虚拟节点数量,最后根据一致性哈希算法进行动态任务分配。上述任务分配方法具体包括以下步骤:1、自动采集服务器集群中各台服务器的机器配置信息;2、根据机器配置信息对各台服务器进行配置评分,得到各自的性能配置得分;3、根据各台服务器的性能配置得分,得到各自在服务器集群中的权重值;4、创建哈希环,根据各台服务器在服务器集群中的权重值分配其在哈希环中的虚拟节点数量;5、根据目标任务的任务标识获取其哈希值,计算出该目标任务哈希值落于哈希环何处,若命中服务器节点就由该服务器执行该目标任务,否则由该处沿顺时针方向遇到的第一个服务器执行该目标任务。进一步的,步骤1中的机器配置信息包括机器主板配置、CPU配置、内存配置、硬盘配置,步骤2中的性能配置得分通过汇总各分项评分得出。进一步的,步骤3中权重值通过各台服务器的性能配置得分与服务器分值权重表进行匹配得出,服务器分值权重表可采用Fibonacci数列。本专利技术公开的动态任务分配方法是一种非常便捷的权限分配方法,部署简单、扩展简单,充分利用服务器资源,无需强行要求服务器配置一致,实现无缝集群,同时资源分配较为均衡,适合用于大并发、高集群的集群环境中。附图说明图1为基于机器性能的服务器集群任务分配方法流程图;图2为哈希环示意图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。本专利技术的实施例是为了示例和描述起见而给出的,而并不是无遗漏的或者将本专利技术限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显而易见的。选择和描述实施例是为了更好说明本专利技术的原理和实际应用,并且使本领域的普通技术人员能够理解本专利技术从而设计适于特定用途的带有各种修改的各种实施例。实施例一种基于机器性能的服务器集群任务分配方法,如图1所示,具体包括以下步骤:1、自动采集服务器集群中各台服务器的机器配置信息,机器配置信息主要包括机器主板配置、CPU配置、内存配置、硬盘配置,当然除此之外,还可以根据需要添加显卡等其他配置作为采集对象。2、根据机器配置信息对各台服务器的各分项配置进行配置评分,通过汇总各分项配置评分得到各自的性能配置得分。3、根据各台服务器的性能配置得分,得到各自在服务器集群中的权重值,权重值通过各台服务器的性能配置得分与服务器分值权重表进行匹配得出,服务器分值权重表可采用Fibonacci数列,具体权重分配如表1所示。表14、创建哈希环,根据各台服务器在服务器集群中的权重值分配其在哈希环中的虚拟节点数量。参照图2,A、B、C为真实服务器物理节点,考虑到A、B、C性能的不一致,假设A、B、C这三台服务器的性能权重比是1:2:4,虚拟节点基数为2,则服务器A对应2个虚拟节点,服务器B对应4个虚拟节点,服务器C对应6个虚拟节点。5、根据目标任务的任务标识获取其哈希值,计算出该目标任务哈希值落于哈希环何处,若命中服务器节点就由该服务器执行该目标任务,否则由该处沿顺时针方向遇到的第一个服务器执行该目标任务。例如,哈希值落在T1的目标任务顺时针方向遇到的第一个虚拟节点是B3,对应真实服务器B,则该目标任务由服务器B来执行。这里的任务标识可以为任务数据key。步骤1和2的操作现有电脑性能测试软件均可实现,当然具体评分标准可以根据任务操作对机器配置的要求进行调整。一致性哈希算法现已普遍应用于数据存储
,本专利技术创造性地将其与服务器机器性能相结合,用于服务器集群的动态任务分配,无需强行要求服务器配置一致,实现了服务器资源的充分利用。显然,所描述的实施例仅仅是本专利技术的一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域及相关领域的普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都应属于本专利技术保护的范围。本文档来自技高网
...

【技术保护点】
1.一种基于机器性能的服务器集群任务分配方法,其特征在于,根据服务器集群中各台服务器的机器配置信息,确定其在服务器集群中的权重值,再按照权重值确定服务器在哈希环中对应的虚拟节点数量,最后根据一致性哈希算法进行动态任务分配。/n

【技术特征摘要】
1.一种基于机器性能的服务器集群任务分配方法,其特征在于,根据服务器集群中各台服务器的机器配置信息,确定其在服务器集群中的权重值,再按照权重值确定服务器在哈希环中对应的虚拟节点数量,最后根据一致性哈希算法进行动态任务分配。


2.根据权利要求1所述的服务器集群任务分配方法,其特征在于,具体包括以下步骤:
A1,自动采集服务器集群中各台服务器的机器配置信息;
A2,根据机器配置信息对各台服务器进行配置评分,得到各自的性能配置得分;
A3,根据各台服务器的性能配置得分,得到各自在服务器集群中的权重值;
A4,创建哈希环,根据各台服务器在服务器集群中的权重值分配其在哈希环中的虚拟节点数量;
A5,根据目标任...

【专利技术属性】
技术研发人员:郑中华黎伟胡淦
申请(专利权)人:安徽博约信息科技股份有限公司
类型:发明
国别省市:安徽;34

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

1