一种软件服务的高可用实现方法及系统技术方案

技术编号:26504287 阅读:23 留言:0更新日期:2020-11-27 15:31
本申请公开了一种软件服务的高可用实现方法及系统,该方法包括:确定当前服务的硬件资源权重;获取当前节点的资源占用状态;根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重;根据当前节点的权重,分配占用虚拟IP的节点。该系统包括:硬件资源权重确定模块、节点状态获取模块、节点权重计算模块和切换模块。通过本申请,能够使当前服务在更好的性能下运行,有利于提高整个高可用环境的服务效率,还能够有效利用节点的硬件资源,大大提高硬件资源的利用率。

【技术实现步骤摘要】
一种软件服务的高可用实现方法及系统
本申请涉及软件服务
,特别是涉及一种软件服务的高可用实现方法及系统。
技术介绍
在软件服务领域,高可用集群通常由一个主节点和多个备用节点组成,对于每个节点需要设置其路由ID、优先级权重、服务状态检测脚本。在高可用环境中,当服务不能正常工作时,需要对提供该服务的节点进行切换。因此,如何在高可用环境中进行硬件资源的配置,从而实现高可用是个重要的技术问题。目前,高可用的解决的方法,通常是基于VRRP(VirtualRouterRedundancyProtocol,虚拟路由冗余协议)协议实现。具体地,在部署的时候设置某台设备的优先级,然后在节点切换时,通过优先级来确认由哪个节点占有虚拟IP。例如:部署高可用环境的节点有三个,三个节点的IP分别为:“100.7.32.170”、“100.7.32.171”、“100.7.32.172”。为了实现三个节点所提供服务的高可用,对外提供虚拟IP:“100.7.32.180”供其他服务访问。其中,路由ID是VRRP协议中十分重要的一个配置,多个具有相同路由ID的设备为一组,将决定多播的MAC(MediaAccessControl或者MediumAccessControl,媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置)地址。在高可用的实现过程中,多个具有相同路由ID的设备会向网络环境中会发送虚拟IP的ARP(AddressResolutionProtocol,地址解析协议)报文,VRRP协议则会根据其配置的优先级来决定哪个节点作为主节点,对外提供服务,每个服务优先级会在配置时进行声明。然而,目前的高可用解决方法中,在实际应用场景中,每个节点通常都会运行很多服务,每个节点运行的服务可能会不同。高可用部署的服务也会有多个,这就会导致不同的时刻节点的资源占用可能会不同,如果设置固定的高可用优先级可能会给负载较重的节点增加负荷,同时空闲的节点不能有效地利用。同时,不同的服务对于硬件资源的需求是不同的,例如:一些程序具有较高的运算量,对CPU有较高的需求;一些程序会对内存有较高的需求;一些程序会对IO有较高的需求;一些程序会对GPU(GraphicsProcessingUnit,图形处理器)有较高的需求。这种需求的不匹配,使得硬件资源的利用率较低,整个高可用环境的服务效率较低。
技术实现思路
本申请提供了一种软件服务的高可用实现方法及系统,以解决现有技术中的高可用方法使得硬件资源的利用率较低,高可用服务效率较低的问题。为了解决上述技术问题,本申请实施例公开了如下技术方案:一种软件服务的高可用实现方法,所述方法包括:确定当前服务的硬件资源权重,所述硬件资源权重包括:第一硬件资源权重和第二硬件资源权重,第一硬件资源权重为用户配置的硬件资源权重,第二硬件资源权重为系统默认的硬件资源权重;获取当前节点的资源占用状态;根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重;根据当前节点的权重,分配占用虚拟IP的节点。可选地,所述确定高可用环境中的硬件资源权重,包括:读取当前服务对硬件资源需求的配置文件;根据所述配置文件,判断是否已配置硬件资源权重;如果是,读取并存储第一硬件资源权重;如果否,读取并存储第二硬件资源权重。可选地,所述硬件资源包括:CPU利用率、CPU主频、内存剩余量、磁盘IO速率、磁盘剩余量、GPU性能以及GPU利用率。可选地,根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重,具体为:根据当前节点的资源占用状态和所述硬件资源权重,利用公式:计算得出当前节点的权重,其中,ω为当前节点的权重,λ1、λ2、λn为不同硬件资源的权重,b1、b2、bn为当前节点硬件资源的空闲比例。可选地,根据当前节点的权重,分配占用虚拟IP的节点的方法,包括:根据当前节点的权重,将虚拟IP映射至权重最高的节点上。可选地,根据当前节点的权重,分配占用虚拟IP的节点的方法,还包括:当存在多个权重相同的节点时,取IP地址较小的节点占用虚拟IP。一种软件服务的高可用实现系统,所述系统包括:硬件资源权重确定模块,用于确定当前服务的硬件资源权重,所述硬件资源权重包括:第一硬件资源权重和第二硬件资源权重,第一硬件资源权重为用户配置的硬件资源权重,第二硬件资源权重为系统默认的硬件资源权重;节点状态获取模块,用于获取当前节点的资源占用状态;节点权重计算模块,用于根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重;切换模块,用于根据当前节点的权重,分配占用虚拟IP的节点。可选地,所述硬件资源权重确定模块包括:配置文件读取单元,用于读取当前服务对硬件资源需求的配置文件;判断单元,用于根据所述配置文件,判断是否已配置硬件资源权重;第一存储单元,用于已配置硬件资源权重时,读取并存储第一硬件资源权重;第二存储单元,用于未配置硬件资源权重时,读取并存储第二硬件资源权重。可选地,所述节点权重计算模块,用于根据当前节点的资源占用状态和所述硬件资源权重,利用公式:计算得出当前节点的权重,其中,ω为当前节点的权重,λ1、λ2、λn为不同硬件资源的权重,b1、b2、bn为当前节点硬件资源的空闲比例。可选地,所述硬件资源包括:CPU利用率、CPU主频、内存剩余量、磁盘IO速率、磁盘剩余量、GPU性能以及GPU利用率。本申请的实施例提供的技术方案可以包括以下有益效果:本申请提供一种软件服务的高可用实现方法,该方法首先确定当前服务的硬件资源权重,获取当前节点的资源占用状态,然后根据当前节点的资源占用状态和硬件资源权重,利用预设的计算策略计算得出当前节点的权重,最后根据当前节点的权重分配占用虚拟IP的节点,也就是将虚拟IP切换至相应的节点,从而实现节点的切换。由于本实施例能够采集当前节点的资源占用状态和硬件资源权重信息,能够根据当前节点硬件资源和服务对硬件资源的不同需求,来动态调整节点的优先级,对于部署多个服务的高可用节点能够动态地判断其是否适合提供某个服务,因此,能够使当前服务在更好的性能下运行,有利于提高整个高可用环境的服务效率,而且这种调整能够有效利用节点的硬件资源,大大提高硬件资源的利用率。本实施例中利用公式:计算得出当前节点的权重,这种计算策略能够提高节点权重的计算的准确性,选择更符合当前服务的节点,有利于进一步提高服务效率。本申请还提供一种软件服务的高可用实现系统,该系统主要包括:硬件资源权重确定模块、节点状态获取模块、节点权重计算模块和切换模块。通过硬件资源权重确定模块确定硬件资源权重,并通过节点状态获取模块获取到当前节点的资源占用状态后,利用节点权重计算模块计算得出当前节点的权重,最后利用切换模块,根据当前节点的权重分配占用本文档来自技高网
...

【技术保护点】
1.一种软件服务的高可用实现方法,其特征在于,所述方法包括:/n确定当前服务的硬件资源权重,所述硬件资源权重包括:第一硬件资源权重和第二硬件资源权重,第一硬件资源权重为用户配置的硬件资源权重,第二硬件资源权重为系统默认的硬件资源权重;/n获取当前节点的资源占用状态;/n根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重;/n根据当前节点的权重,分配占用虚拟IP的节点。/n

【技术特征摘要】
1.一种软件服务的高可用实现方法,其特征在于,所述方法包括:
确定当前服务的硬件资源权重,所述硬件资源权重包括:第一硬件资源权重和第二硬件资源权重,第一硬件资源权重为用户配置的硬件资源权重,第二硬件资源权重为系统默认的硬件资源权重;
获取当前节点的资源占用状态;
根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重;
根据当前节点的权重,分配占用虚拟IP的节点。


2.根据权利要求1所述的一种软件服务的高可用实现方法,其特征在于,所述确定高可用环境中的硬件资源权重,包括:
读取当前服务对硬件资源需求的配置文件;
根据所述配置文件,判断是否已配置硬件资源权重;
如果是,读取并存储第一硬件资源权重;
如果否,读取并存储第二硬件资源权重。


3.根据权利要求1所述的一种软件服务的高可用实现方法,其特征在于,所述硬件资源包括:CPU利用率、CPU主频、内存剩余量、磁盘IO速率、磁盘剩余量、GPU性能以及GPU利用率。


4.根据权利要求1所述的一种软件服务的高可用实现方法,其特征在于,根据当前节点的资源占用状态和所述硬件资源权重,利用预设的计算策略计算得出当前节点的权重,具体为:
根据当前节点的资源占用状态和所述硬件资源权重,利用公式:计算得出当前节点的权重,其中,ω为当前节点的权重,λ1、λ2、λn为不同硬件资源的权重,b1、b2、bn为当前节点硬件资源的空闲比例。


5.根据权利要求1-4中任一所述的一种软件服务的高可用实现方法,其特征在于,根据当前节点的权重,分配占用虚拟IP的节点的方法,包括:
根据当前节点的权重,将虚拟IP映射至权重最高的节点上。


6.根据权利要求5所述的一种软件服务的高...

【专利技术属性】
技术研发人员:马骏峰
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1