CN110324411A - 一种业务分流方法及装置 - Google Patents
一种业务分流方法及装置 Download PDFInfo
- Publication number
- CN110324411A CN110324411A CN201910530888.2A CN201910530888A CN110324411A CN 110324411 A CN110324411 A CN 110324411A CN 201910530888 A CN201910530888 A CN 201910530888A CN 110324411 A CN110324411 A CN 110324411A
- Authority
- CN
- China
- Prior art keywords
- operation system
- business
- service request
- percentage
- stationary value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
- H04L41/5012—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
- H04L41/5016—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time based on statistics of service availability, e.g. in percentage or over a given time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本申请实施例公开了一种业务分流方法及装置,该方法适用于微服务网关,该方法包括:当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值,当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。采用本申请实施例,可以实现业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少业务突增时某个系统宕机的情况。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务分流方法及装置。
背景技术
目前,常用的微服务网关zuul在功能上存在一定的不足。比如,在新、旧系统的更替过程中,无法对并行运行的新、旧系统的业务流量进行动态分配,从而导致在业务流量突增时新或旧系统出现宕机的情况。
发明内容
本申请实施例提供一种业务分流方法及装置,可以实现业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少业务突增时某个系统宕机的情况。
第一方面,本申请实施例提供了一种业务分流方法,该方法包括:
当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或该第一时间段内业务请求的平均响应时间,M和N均为大于或等于2的整数;
根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值;
当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比;
将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
结合第一方面,在一种可能的实施方式中,根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值,包括:获取该第一业务系统的N个性能参数中各个性能参数对应的性能指标值;将该各个性能参数对应的性能指标值之和确定为该第一业务系统的系统稳定值。
结合第一方面,在一种可能的实施方式中,在根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值之后,该方法还包括:当检测到该系统稳定值不在该目标范围内时,获取该第一业务系统与该第二业务系统的第一系统业务百分比,并将该M个业务请求按照该第一系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
结合第一方面,在一种可能的实施方式中,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比,包括:
获取该第一业务系统的第一系统业务占比,将该第一系统业务占比与该系统稳定值之和确定为第二系统业务占比;获取第二业务系统的第三系统业务占比,将该第三系统业务占比与该系统稳定值之差确定为第四系统业务占比,该第一系统业务占比与该第三系统业务占比的比值为第一系统业务百分比;将该第二系统业务占比与该第四系统业务占比的比值确定为第二系统业务百分比。
结合第一方面,在一种可能的实施方式中,在根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比之后,该方法包括:
根据该第一业务系统的第一业务请求阈值与该第二业务系统的第二业务请求阈值,确定目标业务请求阈值,该第一业务请求阈值为该第一业务系统的最大业务请求处理量与该第一业务系统当前正在处理的业务请求量之差,该第二业务请求阈值为该第二业务系统的最大业务请求处理量与该第二业务系统当前正在处理的业务请求量之差;当M小于或等于该目标业务请求阈值时,触发执行将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
结合第一方面,在一种可能的实施方式中,该方法还包括:当M大于该目标业务请求阈值时,计算M与该目标业务请求阈值的差值K,并将该M个业务请求中任选K个业务请求存储至业务等待队列中;将该M个业务请求中未存储至该业务等待队列的业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
第二方面,本申请实施例提供了一种业务分流装置,该装置包括:
第一获取模块,用于当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或该第一时间段内业务请求的平均响应时间,M和N均为大于或等于2的整数;
第一确定模块,用于根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值;
调整模块,用于当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比;
分配模块,用于将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
结合第二方面,在一种可能的实施方式中,上述第一确定模块具体用于:获取该第一业务系统的N个性能参数中各个性能参数对应的性能指标值;将该各个性能参数对应的性能指标值之和确定为该第一业务系统的系统稳定值。
结合第二方面,在一种可能的实施方式中,该装置还包括:第二获取模块,用于当检测到该系统稳定值不在该目标范围内时,获取该第一业务系统与该第二业务系统的第一系统业务百分比;上述分配模块,还用于将该M个业务请求按照该第一系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
结合第二方面,在一种可能的实施方式中,上述调整模块具体用于:获取该第一业务系统的第一系统业务占比,将该第一系统业务占比与该系统稳定值之和确定为第二系统业务占比;获取第二业务系统的第三系统业务占比,将该第三系统业务占比与该系统稳定值之差确定为第四系统业务占比,该第一系统业务占比与该第三系统业务占比的比值为第一系统业务百分比;将该第二系统业务占比与该第四系统业务占比的比值确定为第二系统业务百分比。
结合第二方面,在一种可能的实施方式中,该装置还包括:第二确定模块,用于根据该第一业务系统的第一业务请求阈值与该第二业务系统的第二业务请求阈值,确定目标业务请求阈值,该第一业务请求阈值为该第一业务系统的最大业务请求处理量与该第一业务系统当前正在处理的业务请求量之差,该第二业务请求阈值为该第二业务系统的最大业务请求处理量与该第二业务系统当前正在处理的业务请求量之差;上述分配模块具体用于当M小于或等于该目标业务请求阈值时,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
结合第二方面,在一种可能的实施方式中,该装置还包括:存储模块,用于当M大于该目标业务请求阈值时,计算M与该目标业务请求阈值的差值K,并将该M个业务请求中任选K个业务请求存储至业务等待队列中;上述分配模块,还用于将该M个业务请求中未存储至该业务等待队列的业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
第三方面,本申请实施例提供了一种微服务网关,包括处理器和存储器,该处理器和存储器相互连接,其中,该存储器用于存储支持微服务网关执行上述方法的计算机程序,该计算机程序包括程序指令,该处理器被配置用于调用该程序指令,执行上述第一方面的业务分流方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处理器执行时使该处理器执行上述第一方面的业务分流方法。
本申请实施例在同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或所述第一时间段内业务请求的平均响应时间,根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值,当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。可以实现业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少业务突增时某个系统宕机的情况。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的业务分流方法的一示意流程图;
图2是本申请实施例提供的业务分流方法的另一示意流程图;
图3是本申请实施例提供的业务分流装置的一示意性框图;
图4是本申请实施例提供的微服务网关的一示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
还应当理解,在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置展示该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请实施例提供的业务分流方法可应用在微服务网关如zuul中,以便于微服务网关控制两个业务系统的更替。本申请实施例所涉及的业务系统均可为微服务,第一业务系统可以为新业务系统,第二业务系统可以为旧业务系统,第一业务系统的版本可以比第二业务系统的版本高。具体地,当微服务网关同时接收到M个业务请求时,微服务网关可以获取新业务系统的N个性能参数,如中央处理器(Central Processing Unit,CPU)占用率、内存占用率、第一时间段内业务请求失败的请求失败率或第一时间段内业务请求的平均响应时间等。微服务网关可以根据该新业务系统的N个性能参数分析确定该新业务系统的系统稳定值,该系统稳定值用于描述该新业务系统处理业务请求的能力。微服务网关可以检测该系统稳定值是否在预设的目标范围内。当该系统稳定值在该目标范围内时,说明此时新业务系统处理业务请求的能力有剩余,则可以根据该新业务系统的系统稳定值对该新业务系统与旧业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比。微服务网关可以将上述接收到的M个业务请求按照该第二系统业务百分比分配至该新业务系统与该旧业务系统中处理。其中,M和N均为大于2的整数。
本申请实施例通过分析新业务系统的多个性能参数确定新业务系统的系统稳定值,再根据新业务系统的系统稳定值调整新业务系统与旧业务系统之间的系统业务百分比,按照调整后的系统业务百分比分配业务请求,实现了业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少了业务突增时某个系统宕机的情况。
下面将结合图1至图4,对本申请实施例提供的业务分流方法及装置进行说明。
参见图1,是本申请实施例提供的业务分流方法的一示意流程图。如图1所示,该业务分流方法可包括步骤:
S101,当同时接收到M个业务请求时,获取第一业务系统的N个性能参数。
在一些可行的实施方式中,当微服务网关同时接收到M个业务请求时,微服务网关可以通过服务监控平台获取第一业务系统(新业务系统)的N个性能参数,服务监控平台用于对业务系统的性能进行监控和/或对业务请求的业务数据进行监控。或者,当微服务网关同时接收到M个业务请求时,微服务网关可以向第一业务系统发送上报指令,该上报指令可以包括N个性能参数。第一业务系统接收到该上报指令时,第一业务系统可以向微服务网关上报自身的该N个性能参数。微服务网关接收第一业务系统上报的性能参数。其中,该N个性能参数至少包括CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或该第一时间段内业务请求的平均响应时间等,M和N均为大于或等于2的整数。业务请求失败的请求失败率可以为第一时间段内处理失败的业务请求数量与该段时间内处理业务请求的总数量的比值。例如,从当前时间往前追溯10分钟内处理业务请求的总数量为200个,其中处理失败的业务请求数量为20个,则业务请求失败的请求失败率为(20/200)*100%=10%。业务请求的平均响应时间可以为该第一时间段内各个业务请求的响应时间的平均值。例如,假设第一时间段内处理了5个业务请求,这5个业务请求的响应时间分别为0.2s、0.3s、0.22s、0.4s、0.1s。业务请求的平均响应时间为(0.2+0.3+0.22+0.4+0.1)/5=0.244s。
S102,根据第一业务系统的N个性能参数确定第一业务系统的系统稳定值。
在一些可行的实施方式中,微服务网关在获取到上述N个性能参数之后,可以根据上述第一业务系统的N个性能参数分析确定该第一业务系统的系统稳定值。具体地,微服务网关可以获取该第一业务系统的N个性能参数中各个性能参数对应的性能指标值,并可以将该各个性能参数对应的性能指标值之和确定为该第一业务系统的系统稳定值。
例如,如表1所示,为性能参数与性能指标的对应关系表。其中,CPU占用率与CPU指标对应,内存占用率与内存指标对应,请求失败率与请求失败指标对应,平均响应时间与响应时间指标对应。微服务网关分别检测CPU占用率、内存占用率、请求失败率以及平均响应时间这4个性能参数的参数值所对应的性能指标值。假设CPU占用率为37%,则CPU占用率37%对应的CPU指标值为+25%;内存占用率为45%,则内存占用率45%对应的内存指标值为+10%,;请求失败率为10%,则请求失败率对应的请求失败指标为0;平均响应时间为0.32s,则平均响应时间0.32s对应的响应时间指标为-20%。微服务网关计算各个性能指标值之和(25%+10%+0-20%)=15%作为第一业务系统的系统稳定值,即15%。
表1
S103,当检测到系统稳定值在目标范围内时,根据第一业务系统的系统稳定值对第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比。
在一些可行的实施方式中,微服务网关在确定出上述第一业务系统的系统稳定值之后,可以检测该系统稳定值是否在预设的目标范围内。当检测到该系统稳定值在该目标范围内时,说明该系统稳定值的波动比较合理,则微服务网关可以获取上述第一业务系统(新业务系统)与第二业务系统(旧业务系统)之间的第一系统业务百分比。微服务网关可以根据该第一业务系统的系统稳定值对该第一系统业务百分比进行调整,得到第二系统业务百分比。其中,第一系统业务百分比可以为初始配置的系统业务百分比,或上一次调整后的系统业务百分比。比如,若本次调整为第一次调整,则第一系统业务百分比为初始配置的系统业务百分比;若本次调整不是第一次调整,则第一系统业务百分比为上一次调整后的系统业务百分比。该目标范围可以为-50%到-10%之间或10%-50%之间。
S104,将M个业务请求按照第二系统业务百分比分配至第一业务系统和第二业务系统中处理。
在一些可行的实施方式中,微服务网关可以将上述接收到的M个业务请求按照上述第二系统业务百分比分配至上述第一业务系统和第二业务系统中进行处理。例如,假设M=200,第二系统业务百分比为60%:40%。微服务网关计算200与60%的乘积200*60%=120,从接收到的200个业务请求中任选120个业务请求分配至第一业务系统中进行处理;计算200与40%的乘积200*40%=80,将接收到的200个业务请求中剩余的80个业务请求分配至第二业务系统中进行处理。本申请实施例通过分析新业务系统的多个性能参数确定新业务系统的系统稳定值,再根据新业务系统的系统稳定值调整新业务系统与旧业务系统之间的系统业务百分比,按照调整后的系统业务百分比分配业务请求,实现了业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少了业务突增时某个系统宕机的情况。
在本申请实施例中,微服务网关在同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或所述第一时间段内业务请求的平均响应时间,根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值,当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。可以实现业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少业务突增时某个系统宕机的情况。
参见图2,是本申请实施例提供的业务分流方法的另一示意流程图。如图2所示,该业务分流方法可包括步骤:
S201,当同时接收到M个业务请求时,获取第一业务系统的N个性能参数。
S202,根据第一业务系统的N个性能参数确定第一业务系统的系统稳定值。
在一些可行的实施方式中,本申请实施例中的步骤S201-步骤S202可参考图1所示实施例的步骤S101-步骤S102的实现方式,在此不再赘述。
S203,检测系统稳定值是否在目标范围内。
S204,当检测到系统稳定值在目标范围内时,获取第一业务系统的第一系统业务占比,将第一系统业务占比与系统稳定值之和确定为第二系统业务占比。
S205,获取第二业务系统的第三系统业务占比,将第三系统业务占比与系统稳定值之差确定为第四系统业务占比。
S206,将第二系统业务占比与第四系统业务占比的比值确定为第二系统业务百分比。
在一些可行的实施方式中,微服务网关在确定出上述第一业务系统的系统稳定值之后,可以检测该系统稳定值是否在预设的目标范围内。当检测到该系统稳定值在该目标范围内时,说明该系统稳定值的波动比较合理,则微服务网关可以获取该第一业务系统(新业务系统)的第一系统业务占比,并可以将该第一系统业务占比与该系统稳定值之和确定为第二系统业务占比。该第一系统业务占比可以用于表示分配给第一业务系统的业务请求数量与业务请求总数量之间的比值。微服务网关可以获取第二业务系统(旧业务系统)的第三系统业务占比,并可以将该第三系统业务占比与该系统稳定值之差确定为第四系统业务占比。该第二系统业务占比可以用于表示分配给第二业务系统的业务请求数量与业务请求总数量之间的比值。该第一系统业务占比与该第三系统业务占比之间的比值为第一系统业务百分比。微服务网关可以将该第二系统业务占比与该第四系统业务占比之间的比值确定为第二系统业务百分比。
例如,假设系统稳定值为15%,第一系统业务占比为50%,第二系统业务占比为50%,目标范围为10%到50%或-50%到-10%。由于系统稳定值15%在目标范围10%到50%之间,微服务网关获取第一业务系统的第一系统业务占比50%,并计算第一系统业务占比50%与系统稳定值15%之和50%+15%=65%,将第一系统业务占比与系统稳定值之和确定为第二系统业务占比,即65%。微服务网关获取第二业务系统的第三系统业务占比50%,并计算第三系统业务占比50%与系统稳定值15%之差50%-15%=35%,将第三系统业务占比与系统稳定值之和确定为第四系统业务占比,即35%。将第二系统业务占比65%与第四系统业务占比35%之间的比值确定为第二系统业务百分比,即65%:35%。
S207,将M个业务请求按照第二系统业务百分比分配至第一业务系统和第二业务系统中处理。
在一些可行的实施方式中,本申请实施例中的步骤S207可参考图1所示实施例的步骤S104的实现方式,在此不再赘述。
在一些可行的实施方式中,微服务网关在得到上述第二系统业务百分比之后,可以根据上述第一业务系统的第一业务请求阈值与上述第二业务系统的第二业务请求阈值,确定目标业务请求阈值。微服务网关可以比较M与该目标业务请求阈值之间的大小。当M小于或等于该目标业务请求阈值时,说明此时第一业务系统和/或第二业务系统未达到最大业务请求处理量,即第一业务系统和/或第二业务系统还有能力处理业务请求,则微服务网关可以将上述接收到的M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中进行处理。当M大于该目标业务请求阈值时,说明此时第一业务系统和第二业务系统已达到最大业务请求处理量,没有能力处理多余的业务请求了,则微服务网关可以计算M与该目标业务请求阈值的差值K,并可以从上述接收到的M个业务请求中任选K个业务请求存储至业务等待队列中。微服务网关可以将该M个业务请求中未存储至该业务等待队列的业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。其中,第一业务请求阈值可以为第一业务系统的最大业务请求处理量与第一业务系统当前正在处理的业务请求量之间的差值;第二业务请求阈值可以为第二业务系统的最大业务请求处理量与第二业务系统当前正在处理的业务请求量之间的差值。
例如,假设M=500,第一业务请求阈值为150,第二业务请求阈值为50。微服务网关计算第一业务请求阈值150与第二业务请求阈值50之和200作为目标业务请求阈值。由于M大于目标业务请求阈值200,故微服务网关可以从这500个业务请求中任选500-200=300个业务请求存储至业务等待队列中,或从这500个业务请求中任选300个业务请求返回请求超时或请求失败等响应。微服务网关将这500个业务请求中剩余的200个业务请求按照第二系统业务百分比分配至第一业务系统和第二业务系统中进行处理。
在一些可行的实施方式中,微服务网关可以通过令牌桶算法来确定目标业务请求阈值。具体地,每个业务请求在通过微服务网关访问业务系统时,可以在令牌桶中获取令牌,如果获取到令牌则可以调用令牌访问业务系统,当业务请求访问完毕后可以释放令牌,即将令牌放回令牌桶中,供其他业务请求调用。若业务请求未能获取到令牌,则微服务网关将业务请求加入业务等待队列或直接返回请求超时或请求失败等信息。微服务网关在得到上述第二系统业务百分比之后,可以获取令牌桶中剩余的令牌数。当M小于或等于该剩余的令牌数时,微服务网关可以将上述接收到的M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中进行处理。当M大于该剩余的令牌数时,微服务网关可以从该M个业务请求中任选该剩余的令牌数个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中进行处理,并可以针对该M个业务请求中剩余的业务请求返回请求超时或请求失败等响应。本申请实施例的微服务网关主动拒绝处理不了的业务请求,可进一步减少系统宕机的情况。
S208,当检测到系统稳定值不在目标范围内时,获取第一业务系统与第二业务系统的第一系统业务百分比,并将M个业务请求按照第一系统业务百分比分配至第一业务系统和第二业务系统中处理。
在一些可行的实施方式中,当检测到该系统稳定值在该目标范围内时,说明该系统稳定值的波动过小或过大,即不合理,则微服务网关可以获取上述第一业务系统(新业务系统)与上述第二业务系统(旧业务系统)的第一系统业务百分比,并可以将上述接收到的M个业务请求按照该第一系统业务百分比分配至该第一业务系统与该第二业务系统中进行处理。其中,第一系统业务百分比可以为初始配置的系统业务百分比,或上一次调整后的系统业务百分比。比如,若本次调整为第一次调整,则第一系统业务百分比为初始配置的系统业务百分比;若本次调整不是第一次调整,则第一系统业务百分比为上一次调整后的系统业务百分比。该目标范围可以为-50%到-10%之间以及10%-50%之间。
在本申请实施例中,微服务网关在同时接收到M个业务请求时,获取第一业务系统的N个性能参数,根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值,检测该系统稳定值是否在目标范围内。若是,则获取该第一业务系统的第一系统业务占比,将该第一系统业务占比与该系统稳定值之和确定为第二系统业务占比,获取该第二业务系统的第三系统业务占比,将该第三系统业务占比与该系统稳定值之差确定为第四系统业务占比,将该第二系统业务占比与该第四系统业务占比的比值确定为第二系统业务百分比,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。若否,则获取该第一业务系统与第二业务系统的第一系统业务百分比,并将该M个业务请求按照该第一系统业务百分比分配至该第一业务系统和该第二业务系统中处理。可以实现业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少业务突增时某个系统宕机的情况。
参见图3,是本申请实施例提供的业务分流装置的一示意性框图。如图3所示,本申请实施例的装置包括:
第一获取模块10,用于当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或该第一时间段内业务请求的平均响应时间,M和N均为大于或等于2的整数;
第一确定模块20,用于根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值;
调整模块30,用于当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比;
分配模块40,用于将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
在一些可行的实施方式中,上述第一确定模块20具体用于:获取该第一业务系统的N个性能参数中各个性能参数对应的性能指标值;将该各个性能参数对应的性能指标值之和确定为该第一业务系统的系统稳定值。
在一些可行的实施方式中,该装置还包括第二获取模块50。该第二获取模块50,用于当检测到该系统稳定值不在该目标范围内时,获取该第一业务系统与该第二业务系统的第一系统业务百分比;上述分配模块40,还用于将该M个业务请求按照该第一系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
在一些可行的实施方式中,上述调整模块30具体用于:获取该第一业务系统的第一系统业务占比,将该第一系统业务占比与该系统稳定值之和确定为第二系统业务占比;获取第二业务系统的第三系统业务占比,将该第三系统业务占比与该系统稳定值之差确定为第四系统业务占比,该第一系统业务占比与该第三系统业务占比的比值为第一系统业务百分比;将该第二系统业务占比与该第四系统业务占比的比值确定为第二系统业务百分比。
在一些可行的实施方式中,该装置还包括第二确定模块60。该第二确定模块60,用于根据该第一业务系统的第一业务请求阈值与该第二业务系统的第二业务请求阈值,确定目标业务请求阈值,该第一业务请求阈值为该第一业务系统的最大业务请求处理量与该第一业务系统当前正在处理的业务请求量之差,该第二业务请求阈值为该第二业务系统的最大业务请求处理量与该第二业务系统当前正在处理的业务请求量之差;上述分配模块40具体用于当M小于或等于该目标业务请求阈值时,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
在一些可行的实施方式中,该装置还包括存储模块70。该存储模块70,用于当M大于该目标业务请求阈值时,计算M与该目标业务请求阈值的差值K,并将该M个业务请求中任选K个业务请求存储至业务等待队列中;上述分配模块40,还用于将该M个业务请求中未存储至该业务等待队列的业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
具体实现中,上述业务分流装置可通过上述各个模块执行上述图1或图2所提供的实现方式中各个步骤所提供的实现方式,实现上述各实施例中所实现的功能,具体可参见上述图1或图2所示的方法实施例中各个步骤提供的相应描述,在此不再赘述。
在本申请实施例中,业务分流装置在同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或所述第一时间段内业务请求的平均响应时间,根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值,当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比,将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。可以实现业务的动态分配,从而更好地实现新、旧业务系统的业务过渡,平衡新、旧业务系统的处理能力,减少业务突增时某个系统宕机的情况。
参见图4,是本申请实施例提供的微服务网关的一示意性框图。如图4所示,本申请实施例中的微服务网关可以包括:一个或多个处理器401和存储器402。上述处理器401和存储器402通过总线403连接。存储器402用于存储计算机程序,所述计算机程序包括程序指令,处理器401用于执行存储器402存储的程序指令。其中,处理器401被配置用于调用所述程序指令执行:
当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,该N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或该第一时间段内业务请求的平均响应时间,M和N均为大于或等于2的整数;根据该第一业务系统的N个性能参数确定该第一业务系统的系统稳定值;当检测到该系统稳定值在目标范围内时,根据该第一业务系统的系统稳定值对该第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比;将该M个业务请求按照该第二系统业务百分比分配至该第一业务系统和该第二业务系统中处理。
应当理解,在本申请实施例中,所称处理器401可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器402可以包括只读存储器和随机存取存储器,并向处理器401提供指令和数据。存储器402的一部分还可以包括非易失性随机存取存储器。例如,存储器402还可以存储设备类型的信息。
具体实现中,本申请实施例中所描述的处理器801可执行本申请实施例提供的业务分流方法中所描述的实现方式,也可执行本申请实施例所描述的业务分流装置的实现方式,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图1或图2所示的业务分流方法,具体细节请参照图1或图2所示实施例的描述,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例所述的业务分流装置或电子设备(本申请中指微服务网关)的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital,SD)卡,闪存卡(flashcard)等。进一步地,该计算机可读存储介质还可以既包括该电子设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该电子设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请是参照本申请实施例的方法、装置和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程诊疗数据的处理设备的处理器以产生一个机器,使得通过计算机或其他可编程诊疗数据的处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程诊疗数据的处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程诊疗数据的处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种业务分流方法,其特征在于,包括:
当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,所述N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或所述第一时间段内业务请求的平均响应时间,M和N均为大于或等于2的整数;
根据所述第一业务系统的N个性能参数确定所述第一业务系统的系统稳定值;
当检测到所述系统稳定值在目标范围内时,根据所述第一业务系统的系统稳定值对所述第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比;
将所述M个业务请求按照所述第二系统业务百分比分配至所述第一业务系统和所述第二业务系统中处理。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务系统的N个性能参数确定所述第一业务系统的系统稳定值,包括:
获取所述第一业务系统的N个性能参数中各个性能参数对应的性能指标值;
将所述各个性能参数对应的性能指标值之和确定为所述第一业务系统的系统稳定值。
3.根据权利要求1或2所述的方法,其特征在于,所述在根据所述第一业务系统的N个性能参数确定所述第一业务系统的系统稳定值之后,所述方法还包括:
当检测到所述系统稳定值不在所述目标范围内时,获取所述第一业务系统与所述第二业务系统的第一系统业务百分比,并将所述M个业务请求按照所述第一系统业务百分比分配至所述第一业务系统和所述第二业务系统中处理。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一业务系统的系统稳定值对所述第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比,包括:
获取所述第一业务系统的第一系统业务占比,将所述第一系统业务占比与所述系统稳定值之和确定为第二系统业务占比;
获取第二业务系统的第三系统业务占比,将所述第三系统业务占比与所述系统稳定值之差确定为第四系统业务占比,所述第一系统业务占比与所述第三系统业务占比的比值为第一系统业务百分比;
将所述第二系统业务占比与所述第四系统业务占比的比值确定为第二系统业务百分比。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述在根据所述第一业务系统的系统稳定值对所述第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比之后,所述方法包括:
根据所述第一业务系统的第一业务请求阈值与所述第二业务系统的第二业务请求阈值,确定目标业务请求阈值,所述第一业务请求阈值为所述第一业务系统的最大业务请求处理量与所述第一业务系统当前正在处理的业务请求量之差,所述第二业务请求阈值为所述第二业务系统的最大业务请求处理量与所述第二业务系统当前正在处理的业务请求量之差;
当M小于或等于所述目标业务请求阈值时,触发执行将所述M个业务请求按照所述第二系统业务百分比分配至所述第一业务系统和所述第二业务系统中处理。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当M大于所述目标业务请求阈值时,计算M与所述目标业务请求阈值的差值K,并将所述M个业务请求中任选K个业务请求存储至业务等待队列中;
将所述M个业务请求中未存储至所述业务等待队列的业务请求按照所述第二系统业务百分比分配至所述第一业务系统和所述第二业务系统中处理。
7.一种业务分流装置,其特征在于,包括:
第一获取模块,用于当同时接收到M个业务请求时,获取第一业务系统的N个性能参数,所述N个性能参数至少包括中央处理器CPU占用率、内存占用率、第一时间段内业务请求失败的请求失败率或所述第一时间段内业务请求的平均响应时间,M和N均为大于或等于2的整数;
第一确定模块,用于根据所述第一业务系统的N个性能参数确定所述第一业务系统的系统稳定值;
调整模块,用于当检测到所述系统稳定值在目标范围内时,根据所述第一业务系统的系统稳定值对所述第一业务系统与第二业务系统的第一系统业务百分比进行调整,得到第二系统业务百分比;
分配模块,用于将所述M个业务请求按照所述第二系统业务百分比分配至所述第一业务系统和所述第二业务系统中处理。
8.根据权利要求7所述的装置,其特征在于,所述第一确定模块具体用于:
获取所述第一业务系统的N个性能参数中各个性能参数对应的性能指标值;
将所述各个性能参数对应的性能指标值之和确定为所述第一业务系统的系统稳定值。
9.一种微服务网关,其特征在于,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910530888.2A CN110324411B (zh) | 2019-06-18 | 2019-06-18 | 一种业务分流方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910530888.2A CN110324411B (zh) | 2019-06-18 | 2019-06-18 | 一种业务分流方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324411A true CN110324411A (zh) | 2019-10-11 |
CN110324411B CN110324411B (zh) | 2022-11-18 |
Family
ID=68119770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910530888.2A Active CN110324411B (zh) | 2019-06-18 | 2019-06-18 | 一种业务分流方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324411B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510480A (zh) * | 2020-04-08 | 2020-08-07 | 北京百度网讯科技有限公司 | 一种请求发送方法、装置以及第一服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170400A (zh) * | 2010-07-22 | 2011-08-31 | 杨喆 | 一种防止Web网站访问拥塞的方法 |
WO2018024076A1 (zh) * | 2016-08-04 | 2018-02-08 | 中国银联股份有限公司 | 一种流速控制方法及装置 |
CN109600384A (zh) * | 2018-12-28 | 2019-04-09 | 江苏满运软件科技有限公司 | Rpc接口升级中流量切换方法、系统、设备及存储介质 |
CN109710447A (zh) * | 2019-01-08 | 2019-05-03 | 网易无尾熊(杭州)科技有限公司 | 用于数据访问的方法、装置、介质和计算设备 |
-
2019
- 2019-06-18 CN CN201910530888.2A patent/CN110324411B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170400A (zh) * | 2010-07-22 | 2011-08-31 | 杨喆 | 一种防止Web网站访问拥塞的方法 |
WO2018024076A1 (zh) * | 2016-08-04 | 2018-02-08 | 中国银联股份有限公司 | 一种流速控制方法及装置 |
CN109600384A (zh) * | 2018-12-28 | 2019-04-09 | 江苏满运软件科技有限公司 | Rpc接口升级中流量切换方法、系统、设备及存储介质 |
CN109710447A (zh) * | 2019-01-08 | 2019-05-03 | 网易无尾熊(杭州)科技有限公司 | 用于数据访问的方法、装置、介质和计算设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111510480A (zh) * | 2020-04-08 | 2020-08-07 | 北京百度网讯科技有限公司 | 一种请求发送方法、装置以及第一服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110324411B (zh) | 2022-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103502944B (zh) | 虚拟机内存调整方法和设备 | |
CN107395665A (zh) | 一种区块链业务受理及业务共识方法及装置 | |
CN109426896A (zh) | 一种确定区域运力状态的方法及装置、电子设备 | |
CN108564181A (zh) | 电力设备故障检测与维修方法及终端设备 | |
CN103336722B (zh) | 一种虚拟机cpu资源监控和动态分配方法 | |
CN109510869A (zh) | 一种基于边缘计算的物联网服务动态卸载方法及装置 | |
CN109002949A (zh) | 一种风控策略配置以及业务风控的方法及装置 | |
CN106371546A (zh) | 一种整机柜功耗限制方法及装置 | |
CN108132955A (zh) | 一种日志存储方法及装置 | |
CN108574645A (zh) | 一种队列调度方法及装置 | |
CN107317864A (zh) | 一种存储设备的数据均衡方法及装置 | |
CN110246014B (zh) | 账单核销调度方法、装置及服务器 | |
CN109587072A (zh) | 分布式系统全局限速系统及方法 | |
CN107404443A (zh) | 队列缓存资源控制方法及装置、服务器及存储介质 | |
CN109583890A (zh) | 异常交易对象的识别方法、装置及设备 | |
CN115277577A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN110324411A (zh) | 一种业务分流方法及装置 | |
CN107704322A (zh) | 请求分配方法及装置 | |
CN109118361A (zh) | 额度管理方法、装置及系统 | |
WO2018188542A1 (zh) | 计数方法、计数器及存储介质 | |
CN109687485A (zh) | 储能系统的功率分配方法、系统及终端设备 | |
Möllering et al. | An optimal critical level policy for inventory systems with two demand classes | |
CN106933673A (zh) | 调整组件逻辑线程数量的方法及装置 | |
CN106203750A (zh) | 一种资源配置的方法及装置 | |
CN106997310A (zh) | 负载均衡的装置和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |