资源分配方法、装置及电子设备与流程
- 国知局
- 2024-12-06 12:54:25
本技术属于资源分配,尤其涉及资源分配方法、装置及电子设备。
背景技术:
1、基于构架的行业平台通常采用微服务架构,这意味着平台由众多微服务组件构成,每个组件都承担着不同的业务功能。在为这些微服务组件分配服务器资源时,现有的方式遵循统一的部署规划,以确保资源的高效利用和管理的便捷性。
2、然而,在实际应用中,由于服务器采购的来源、品牌、型号以及配置等多方面的差异,致使服务器的规格各异,性能表现也各不相同。这种多样性导致统一的部署规划方案往往并不适用。因此,如何把微服务组件合理的分配到各个服务器中,成为了亟待解决的问题。
技术实现思路
1、本技术实施例提供了资源分配方法、装置及电子设备,能够在进行服务器资源分配的过程中,无论服务器集群中服务器规格配置是否一致,均可动态地且灵活地为组件分配资源。
2、第一方面,本技术实施例提供了一种资源分配方法,该方法包括:获取服务器集群中的服务器数量、各服务器的可用资源以及各个待分配的组件分组的资源需求;组件分组中包括至少一个组件;其中,同一组件分组中的组件分配于同一服务器中;根据各服务器的可用资源确定服务器集群的总可用资源,以及根据各组件分组的资源需求确定总资源需求,并确定总可用资源满足总资源需求;若服务器数量不小于组件分组的数量,则采用第一分配策略为每一组件分组分配一个服务器;若服务器数量小于组件分组的数量且不小于第一阈值,或者采用第一分配策略分配失败,则在约束条件下采用第二分配策略为组件分组分配服务器;其中,每一组件分组配置有索引类别,第一阈值为索引类别的数量;约束条件包括:不同索引类别的组件分组分配于不同服务器中,及同一索引类别的组件分组优先分配于同一服务器中。
3、在第一方面的一种可能的实现方式中,采用第一分配策略为每一组件分组分配一个服务器,包括:遍历各个服务器组合,确定目标服务器组合,并将目标服务器组合作为组件分配结果;其中,一个服务器组合中的服务器排列顺序与组件分组的排列顺序对应;目标服务器组合中各个服务器的可用资源满足所对应的组件分组的资源需求。
4、在第一方面的一种可能的实现方式中,遍历各个服务器组合,确定目标服务器组合,包括:基于当前遍历的服务器组合,将服务器组合中的服务器依次与组件分组进行资源需求的匹配;在服务器与组件分组匹配失败的情况下,更新当前遍历的服务器组合,并返回执行基于当前遍历的服务器组合,将服务器组合中的服务器依次与组件分组进行资源需求的匹配的步骤及后续步骤,直至遍历到满足搜索条件的服务器组合,将满足搜索条件的服务器组合确定为目标服务器组合;更新当前遍历的服务器组合包括:基于已遍历的服务器组合中各服务器的可用资源更新当前遍历的服务器组合,其中,更新后的当前遍历的服务器组合,不包含已遍历的服务器组合的替换组合,替换组合为:将已遍历的服务器组合中的第一服务器替换为第二服务器,第一服务器为与组件分组匹配失败的服务器,第二服务器为可用资源不大于第一服务器的服务器。
5、在第一方面的一种可能的实现方式中,在约束条件下采用第二分配策略为组件分组分配服务器,包括:针对当前索引类别下的组件分组,在约束条件下,按照可用资源的预设顺序、以及组件分组的资源需求的预设顺序进行匹配,直至匹配成功或完成最后一个服务器的匹配;若当前索引类别下的组件分组与服务器匹配成功,则基于组件分组的资源需求更新服务器的可用资源,并将下一索引类别作为当前索引类别,返回执行针对当前索引类别下的组件分组,在约束条件下,按照可用资源的预设顺序、以及组件分组的资源需求的预设顺序进行匹配的步骤及后续步骤;在所有组件分组均成功匹配服务器的情况下,基于成功匹配的组件分组和服务器得到组件分配结果。
6、在第一方面的一种可能的实现方式中,按照可用资源的预设顺序、以及组件分组的资源需求的预设顺序进行匹配,直至匹配成功,包括:按照资源需求的预设顺序确定当前组件分组,以及按照可用资源的预设顺序确定与当前组件分组匹配的当前服务器;若当前组件分组与当前服务器匹配成功,则利用当前组件分组的资源需求,更新当前服务器的可用资源;利用更新后的当前服务器的可用资源,更新可用资源的预设顺序,并返回执行按照资源需求的预设顺序确定当前组件分组的步骤及后续步骤。
7、在第一方面的一种可能的实现方式中,预设顺序包括从小到大的顺序和/或从大到小的顺序;方法还包括:若针对当前索引类别下的组件分组,在约束条件下,按照可用资源的从小到大的顺序、以及组件分组的资源需求的从小到大的顺序进行匹配,直至完成最后一个服务器的匹配的情况下,则更新预设顺序为从大到小的顺序,并重新执行针对当前索引类别下的组件分组,在约束条件下,按照可用资源的从小到大、以及组件分组的资源需求的预设顺序进行匹配,直至匹配成功或完成最后一个服务器的匹配的步骤及后续步骤。
8、在第一方面的一种可能的实现方式中,采用第一分配策略为每一组件分组分配一个服务器或者在约束条件下采用第二分配策略为组件分组分配服务器之后,还包括:基于组件分配结果,确定服务器集群中各服务器的资源占用率和/或组件分组的分配数量;基于服务器集群中各服务器的资源占用率和/或组件分组的分配数量,进行组件分组的分配调整。
9、在第一方面的一种可能的实现方式中,基于服务器集群中各服务器的资源占用率和/或组件分组的分配数量,进行组件分组的分配调整,包括:若服务器集群中存在第三服务器和第四服务器,则以第三服务器中组件分组的分配数量与第四服务器的中组件分组的分配数量之间的差值不大于预设差值为目标,将第三服务器中组件分组调整分配至第四服务器中;其中,第三服务器中组件分组的分配数量大于第四服务器中组件分组的分配数量,且第三服务器中组件分组的分配数量与第四服务器中组件分组的分配数量的差值大于预设差值,且第三服务器与第四服务器中组件分组的索引类别相同,且第三服务器的资源配置数据与第四服务器中的资源配置数据一致;若服务器集群中存在第五服务器和第六服务器,则将第五服务器中的组件分组与第六服务器中的组件分组进行分配交换;其中,第五服务器的资源占用率小于第六服务器的资源占用率,且第五服务器的资源配置数据大于第六服务器的资源配置数据。
10、第二方面,本技术实施例提供了一种资源分配装置,该装置包括:
11、获取模块,用于获取服务器集群中的服务器数量、各服务器的可用资源以及各个待分配的组件分组的资源需求;组件分组中包括至少一个组件;其中,同一组件分组中的组件分配于同一服务器中。
12、资源判断模块,用于根据各服务器的可用资源确定服务器集群的总可用资源,以及根据各组件分组的资源需求确定总资源需求,并确定总可用资源满足总资源需求。
13、资源分配模块,用于若服务器数量不小于组件分组的数量,则采用第一分配策略为每一组件分组分配一个服务器。
14、资源分配模块,还用于若服务器数量小于组件分组的数量且不小于第一阈值,或者采用第一分配策略分配失败,则在约束条件下采用第二分配策略为组件分组分配服务器;其中,每一组件分组配置有索引类别,第一阈值为索引类别的数量;约束条件包括:不同索引类别的组件分组分配于不同服务器中,及同一索引类别的组件分组优先分配于同一服务器中。
15、第三方面,本技术实施例提供了一种电子设备,包括:该电子设备包括处理器以及与处理器耦接的存储器和数据接口;其中,数据接口用于 进行数据通信,存储器用于程序数据,程序数据在被处理器执行时,用于实现上述提供的应用于第一方面及其任一项可能的实现方式的方法。
16、第四方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序/指令,当计算机程序/指令在电子设备上运行时,使得电子设备执行上述第一方面及其任一项可能的实现方式的方法。
17、第五方面,本技术实施例提供了一种计算机程序产品,包括计算机程序/指令,当计算机程序/指令被处理器执行时,使得电子设备执行上述第一方面及其任一项可能的实现方式的方法。
18、可以理解的是,上述第二方面至第五方面的有益效果可以参见下述第一方面中的相关描述,在此不再赘述。
19、本技术实施例与现有技术相比存在的有益效果是:通过获取服务器集群的资源信息(各服务器的可用资源)以及各个待分配的组件分组的资源需求,分别汇总出服务器的总可用资源和组件分组的总资源需求。在总可用资源需要满足总资源需求这一基本原则下,将两者资源量的对比结果作为资源状况的预先评估,能够在实际开始分配资源之前,有效规避因服务器集群硬件资源不足而导致的资源编排问题。这不仅有助于减少后续可能出现的资源无效分配情况,还大大提高了资源分配策略的可执行性和成功率。
20、另外,在确保总可用资源满足总资源需求的基础上,根据服务器数量和组件分组数量,并考虑到分配过程中可能出现的失败情况,制定了两种不同的分配策略。当服务器数量不小于组件分组数量时,采用第一分配策略,将同一组件分组中的组件部署于同一服务器中,并且每个组件分组都被分配到一个独立的服务器上,以确保资源隔离和最优的性能表现。这一分配策略在服务器资源充足的情况下,不仅能够简化分配过程;还能够最大化地利用服务器资源,同时减少组件分组之间的资源冲突。
21、当面临服务器数量有限(即服务器数量小于组件分组的数量且不小于索引类别的数量)或第一分配策略失败的情况下,引入第二分配策略,并结合索引类别进行约束条件下的资源分配。能够在有限的服务器数量下,通过遵循不同索引类别的组件分组分配于不同服务器中,及同一索引类别的组件分组优先分配于同一服务器中这一约束条件,不仅大幅提高了组件分组成功匹配服务器的概率,而且成功避免了不同索引类别的组件分组之间因资源争抢而引发的冲突;同时,这一策略极大地提升了服务器的使用效率,还有效减轻了资源碎片化的程度,促进了资源的集中与高效利用。
本文地址:https://www.jishuxx.com/zhuanli/20241204/343002.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。