CN116545926A - 一种系统限流方法、装置、电子设备及存储介质 - Google Patents
一种系统限流方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116545926A CN116545926A CN202210095326.1A CN202210095326A CN116545926A CN 116545926 A CN116545926 A CN 116545926A CN 202210095326 A CN202210095326 A CN 202210095326A CN 116545926 A CN116545926 A CN 116545926A
- Authority
- CN
- China
- Prior art keywords
- current limiting
- request
- equipment
- value
- sub
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims abstract description 13
- 230000003993 interaction Effects 0.000 claims abstract description 12
- 238000009826 distribution Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 230000009467 reduction Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005406 washing Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005111 flow chemistry technique Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供一种系统限流方法、装置、电子设备及存储介质,用以实现实时调整系统限流参数。该方法包括:第一设备通过监控第二设备,获取第二设备的第一限流影响因子;第一设备和第二设备之间存在业务交互;第一限流影响因子包括第一限流值和第一熔断值;第一设备从设定的调整条件中确定第一限流影响因子满足的目标调整条件;第一设备确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。由于本申请中的第一设备是根据第二设备的第一限流影响因子来调整自身的限流参数,能够及时调整限流参数,达到实时调整限流参数的目标,从而可以保证第一设备和第二设备所构成的业务系统的稳定性和可用性。
Description
技术领域
本申请涉及物联网领域,特别涉及一种系统限流方法、装置、电子设备及存储介质。
背景技术
随着物联网技术的不断发展,分布式系统在物联网中的应用逐渐广泛,常常采用分布式系统来提高物联网后台服务。但是,分布式系统是有服务上限的,当请求流量超过服务极限能力时,系统将会出现卡死、崩溃的情况,为了保证系统的稳定性和可用性,在高并发或者瞬时高并发的情况下,可以采用限流策略来限制进入分布式系统的请求流量。
现有技术中常用的限流算法为令牌桶算法:该算法是以一定速率往令牌桶中发放令牌,每次请求调用需要先获取令牌,只有拿到令牌的请求才能有机会被处理,由于发放令牌的动作是持续进行的,所以桶就有可能存在最大令牌数以应对突发的请求流量。但是该方法无法自适应应对持续较长一段时间的请求流量增长,也就是无法时刻面对请求流量的增加。
发明内容
本申请提供一种系统限流方法、装置、电子设备及存储介质,用以实现实时调整限流参数的目的,保证第一设备和第二设备构成的业务系统的稳定性和可用性。
第一方面,本申请实施例提供一种系统限流方法,该方法包括:
第一设备通过监控第二设备,获取所述第二设备的第一限流影响因子;所述第一设备和所述第二设备之间存在业务交互;所述第一限流影响因子包括第一限流值和第一熔断值;所述第一限流值为所述第二设备对应的子服务器接收所述第二设备分发的第一请求的数量;所述第一熔断值为所述第二设备对应的子服务器未成功执行所述第二设备分发的第一请求的数量;
所述第一设备从设定的调整条件中确定所述第一限流影响因子满足的目标调整条件;
所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数。
由于第一设备是通过获取第二设备的第一限流影响因子,确定第一限流影响因子满足的目标调整条件后,根据目标调整条件对应的调整策略和第一限流影响因子来调整自身的限流参数,使得第一设备在由第一设备和第二设备所构成的业务系统中,能够根据第一限流影响因子来预见自身的流量处理情况,然后,根据第一限流影响因子调整自身的限流参数,从而达到实时调整限流参数的目的,保证业务系统的稳定性和可用性。
一种可选的实施方式为,所述第一设备为接入服务器,所述第二设备为业务服务器,所述限流参数包括设备限流参数和请求限流参数;
所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数,包括:
若所述目标调整条件为所述第一限流值大于所述设定限流阈值,则确定所述调整策略为增大所述请求限流参数;根据所述第一限流值确定所述请求限流参数的增大比例,并根据所述增大比例调整所述请求限流参数;
若所述目标调整条件为所述第一熔断值大于所述设定熔断阈值,则确定所述调整策略为减小所述设备限流参数;根据所述第一熔断值确定所述设备限流参数的减小比例,并根据所述减小比例调整所述设备限流参数;
若所述目标调整条件为所述第一限流值小于所述设定限流阈值或所述第一熔断值小于所述设定熔断阈值,则确定所述调整策略为将所述限流参数设置为设定参数值;并将所述限流参数调整为所述设定参数值。
当第一设备为接入服务器,第二设备为业务服务器时,若目标调整条件为第一限流值大于设定限流阈值,则确定业务服务器需要执行的业务服务请求较多,处于使用高峰,此时,接入服务器根据第一限流值确定请求限流参数的增大比例,并根据确定出的增大比例调整请求限流参数,从而使得接入服务器在后续的使用高峰时,能够维持系统的稳定性。当目标调整条件为第一熔断值大于设定熔断阈值时,接入服务器确定业务服务器的业务熔断较高,此时根据第一熔断值确定设备限流参数的减小比例,并根据减小比例调整设备限流参数,从而降低接入服务器接入设备的数量,以使来影响业务服务器的限流参数。当目标调整条件为第一限流值小于设定限流阈值,或第一熔断值小于设定熔断阈值,则确定业务服务器到达使用低峰,将限流参数调整为设定参数值。由于本申请实施例根据目标调整参数确定调整策略后,根据调整策略调整限流参数,实现对接入服务器的限流参数的灵活调整,从而满足接入服务器后续的业务处理需求。
一种可选的实施方式为,所述第一设备为业务服务器,所述第二设备为接入服务器,所述限流参数包括请求限流参数和业务执行级别;
所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数,包括:
若所述目标调整条件为所述第一限流值大于所述设定限流阈值,则确定所述调整策略为增大所述请求限流参数;根据所述第一限流值确定所述请求限流参数的增大比例,并根据所述增大比例调整所述请求限流参数;
若所述目标调整条件为所述第一熔断值大于所述设定熔断阈值,则确定所述调整策略为降低所述第一熔断值对应的业务服务的业务执行级别;确定所述第一熔断值对应的业务服务,并降低所述业务服务的业务执行级别;
若所述目标调整条件为所述第一限流值小于所述设定限流阈值,则确定所述调整策略为将所述请求限流参数设置为设定请求参数值;并将所述请求限流参数调整为所述请求设定参数值;
若所述目标调整条件为所述第一熔断值小于所述设定熔断阈值,则确定所述调整策略为将所述第一熔断值对应的业务服务的业务执行级别设置为设定级别;确定所述第一熔断值对应的业务服务,并将所述业务服务的业务执行级别设置为所述设定级别。
当第一设备为业务服务器,第二设备为接入服务器时,若目标调整条件为第一限流值大于设定限流阈值,则确定接入服务器处于使用高峰,此时,业务服务器根据第一限流值确定请求限流参数的增大比例,并根据确定出的增大比例调整请求限流参数,从而使得业务服务器在后续的使用高峰时,能够维持系统的稳定性。当目标调整条件为第一熔断值大于设定熔断阈值时,业务服务器确定接入服务器的设备接入效率较低,此时根据第一熔断值确定第一熔断值对应的业务服务的业务执行级别,并降低该业务服务的业务执行级别,从而先执行与接入服务器连接成功的设备的业务服务,保证接入成功的设备的业务的畅通执行。当目标调整条件为第一限流值小于设定限流阈值,确定接入服务器到达使用低峰,将限流参数调整为设定参数值;并且,当第一熔断值小于设定熔断值,确定接入服务器的设备接入效率恢复,则将第一熔断值对应的业务服务的业务执行级别设置为设定级别,恢复对该业务服务的执行。由于本申请实施例根据目标调整参数确定调整策略后,根据调整策略调整限流参数,实现对业务服务器的限流参数的灵活调整,从而满足业务服务器后续的业务处理需求。
一种可选的实施方式为,所述方法还包括:
所述第一设备接收第三设备发送的第二请求后,根据所述限流参数将所述第二请求分发给所述第一设备对应的子服务器,以使所述第一设备对应的子服务器执行所述第二请求;所述限流参数用于限制分发给所述第一设备对应的子服务器的第二请求的数量;
所述第一设备根据所述第一设备对应的子服务器接收所述第二请求的数量,生成所述第二限流影响因子,以使所述第二设备根据所述第二限流影响因子调整所述第二设备的限流参数;所述第二限流影响因子包括第二限流值和第二熔断值。
由于第一设备在接收到第三设备发送的第二请求后,根据限流参数将第二请求分发给第一设备对应的子服务器,生成第二限流影响因子,使第二设备能够根据第二限流影响因子调整第二设备的限流参数,从而可以达到维持第一设备和第二设备构成的业务系统的稳定性。
一种可选的方式为,所述根据所述限流参数将所述第二请求分发给所述第一设备对应的子服务器,包括:
若所述第一设备为接入服务器,则所述第二请求为设备接入请求,所述第一设备对应的子服务器为子接入服务器;根据所述设备限流参数确定所述第三设备的接入数量,并接收所述接入数量内的第三设备发送的设备接入请求;根据所述请求限流参数确定所述设备接入请求的分发数量,并向所述子接入服务器分发所述分发数量内的设备接入请求;
若所述第一设备为业务服务器,则所述第二请求为业务服务请求,所述第一设备对应的子服务器为子业务服务器;根据所述业务执行级别,从所述业务服务请求中确定分发给所述第一设备对应的子服务器的目标业务服务请求;根据所述请求限流参数确定所述目标业务服务请求的分发数量,并向所述子接入服务器分发所述分发数量内的目标业务服务请求。
一种可选的实施方式为,所述方法还包括:
所述第一设备根据所述第二熔断值和所述第二限流值,确定第一设定时间段内的失败比例;所述失败比例用于表征所述第一设备对应的子服务器未执行成功的第二请求在所述第一设备对应的子服务器接收到的第二请求中的占比;
若所述失败比例达到半熔断阈值,则所述第一设备根据所述失败比例调整所述限流参数;
所述第一设备根据调整后的限流参数向所述第一设备对应的子服务器分发所述第二请求后,若确定所述第一设备对应的子服务器在第二设定时间段内的失败比例达到熔断阈值,则停止向所述第一设备对应的子服务器分发所述第二请求。
由于第一设备在确定第一时间段内的失败比例达到半熔断阈值后,调整限流参数,来降低第二请求的分发量;第一设备在根据调整后的限流参数向第一设备对应的子服务器分发第二请求后,确定第二设定时间段内的失败比例达到熔断阈值时,停止向第一设备对应的子服务器分发第二请求,防止造成资源浪费。
第二方面,本申请实施例提供一种系统限流装置,该装置应用于第一设备,该装置包括:
获取单元,用于通过监控第二设备,获取所述第二设备的第一限流影响因子;所述第一设备和所述第二设备之间存在业务交互;所述第一限流影响因子包括第一限流值和第一熔断值;所述第一限流值为所述第二设备对应的子服务器接收所述第二设备分发的第一请求的数量;所述第一熔断值为所述第二设备对应的子服务器未成功执行所述第二设备分发的第一请求的数量;
确定单元,用于从设定的调整条件中确定所述第一限流影响因子满足的目标调整条件;
调整单元,用于所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数。
一种可选的实施方式为,所述第一设备为接入服务器,所述第二设备为业务服务器,所述限流参数包括设备限流参数和请求限流参数;所述调整单元具体用于:
若所述目标调整条件为所述第一限流值大于所述设定限流阈值,则确定所述调整策略为增大所述请求限流参数;根据所述第一限流值确定所述请求限流参数的增大比例,并根据所述增大比例调整所述请求限流参数;
若所述目标调整条件为所述第一熔断值大于所述设定熔断阈值,则确定所述调整策略为减小所述设备限流参数;根据所述第一熔断值确定所述设备限流参数的减小比例,并根据所述减小比例调整所述设备限流参数;
若所述目标调整条件为所述第一限流值小于所述设定限流阈值或所述第一熔断值小于所述设定熔断阈值,则确定所述调整策略为将所述限流参数设置为设定参数值;并将所述限流参数调整为所述设定参数值。
一种可选的实施方式为,所述第一设备为业务服务器,所述第二设备为接入服务器,所述限流参数包括请求限流参数和业务执行级别;所述调整单元具体用于:
若所述目标调整条件为所述第一限流值大于所述设定限流阈值,则确定所述调整策略为增大所述请求限流参数;根据所述第一限流值确定所述请求限流参数的增大比例,并根据所述增大比例调整所述请求限流参数;
若所述目标调整条件为所述第一熔断值大于所述设定熔断阈值,则确定所述调整策略为降低所述第一熔断值对应的业务服务的业务执行级别;确定所述第一熔断值对应的业务服务,并降低所述业务服务的业务执行级别;
若所述目标调整条件为所述第一限流值小于所述设定限流阈值,则确定所述调整策略为将所述请求限流参数设置为设定请求参数值;并将所述请求限流参数调整为所述设定请求参数值;
若所述目标调整条件为所述第一熔断值小于所述设定熔断阈值,则确定所述调整策略为将所述第一熔断值对应的业务服务的业务执行级别设置为设定级别;确定所述第一熔断值对应的业务服务,并将所述业务服务的业务执行级别设置为所述设定级别。
一种可选的实施方式为,所述装置还包括:
分发单元,用于接收第三设备发送的第二请求后,根据所述限流参数将所述第二请求分发给所述第一设备对应的子服务器,以使所述第一设备对应的子服务器执行所述第二请求;所述限流参数用于限制分发给所述第一设备对应的子服务器的第二请求的数量;
生成单元,用于根据所述第一设备对应的子服务器接收所述第二请求的数量,生成所述第二限流影响因子,以使所述第二设备根据所述第二限流影响因子调整所述第二设备的限流参数;所述第二限流影响因子包括第二限流值和第二熔断值。
一种可选的实施方式为,所述分发单元具体用于:
若所述第一设备为接入服务器,则所述第二请求为设备接入请求,所述第一设备对应的子服务器为子接入服务器;根据所述设备限流参数确定所述第三设备的接入数量,并接收所述接入数量内的第三设备发送的设备接入请求;根据所述请求限流参数确定所述设备接入请求的分发数量,并向所述子接入服务器分发所述分发数量内的设备接入请求;
若所述第一设备为业务服务器,则所述第二请求为业务服务请求,所述第一设备对应的子服务器为子业务服务器;根据所述业务执行级别,从所述业务服务请求中确定分发给所述第一设备对应的子服务器的目标业务服务请求;根据所述请求限流参数确定所述目标业务服务请求的分发数量,并向所述子接入服务器分发所述分发数量内的目标业务服务请求。
一种可选的实施方式为,所述装置还包括熔断单元,所述熔断单元用于:
根据所述第二熔断值和所述第二限流值,确定第一设定时间段内的失败比例;所述失败比例用于表征所述第一设备对应的子服务器未执行成功的第二请求在所述第一设备对应的子服务器接收到的第二请求中的占比;
若所述失败比例达到半熔断阈值,则根据所述失败比例调整所述限流参数;
根据调整后的限流参数向所述第一设备对应的子服务器分发所述第二请求后,若确定所述第一设备对应的子服务器在第二设定时间段内的失败比例达到熔断阈值,则停止向所述第一设备对应的子服务器分发所述第二请求。
第三方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现如第一方面所记载的系统限流方法。
第四方面,本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面所记载的系统限流方法。
第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统限流方法的应用场景示意图;
图2为本申请实施例提供的一种系统限流方法的流程示意图;
图3为本申请实施例提供的一种系统限流方法的完整流程示意图;
图4为本申请实施例提供的一种应用于第一设备和第二设备的系统限流方法的交互流程示意图;
图5为本申请实施例提供的一种系统限流装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
文中的术语“第一”、“第二”仅用于描述目的,而不能理解为明示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
现有技术中常用的限流算法为令牌桶算法:该算法是以一定速率往令牌桶中发放令牌,每次请求调用需要先获取令牌,只有拿到令牌的请求才能有机会被处理,由于发放令牌的动作是持续进行的,所以桶就有可能存在最大令牌数以应对突发的请求流量。但是该方法无法自适应应对持续较长一段时间的请求流量增长,也就是无法时刻面对请求流量的增加。
基于上述问题,本申请实施例提供一种系统限流方法、装置、电子设备和存储介质,实现限流参数的实时调整。其中,第一设备通过监控第二设备,获取第二设备的第一限流影响因子后,从设定的调整条件中确定第一限流影响因子满足的目标调整条件;第一设备确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
图1示出了本申请实施例提供的系统限流方法的一种应用场景,参见图1所示,该应用场景中包括第一设备10、第二设备20、第三设备30、第四设备40、第一设备对应的子服务器50和第二设备对应的子服务器60。其中,第一设备10、第二设备20、第三设备30、第四设备40、第一设备对应的子服务器50和第二设备对应的子服务器60之间通过通信网络进行通信。第一设备10和第二设备20之间存在业务交互;并且,第一设备对应的子服务器50和第二设备对应的子服务器60之间也存在信息交互。
其中,第一设备10可以为接入服务器;也可以为业务服务器。第二设备20可以为接入服务器,也可以为业务服务器;第一设备对应的子服务器50上可以部署客户端,用以执行接收到的第二请求。第二设备对应的子服务器60上可以部署客户端,用以执行接收到的第一请求。
第一设备10通过监控第二设备20,获取第二设备20的第一限流影响因子。第一设备10从设定的调整条件中确定第一限流影响因子满足的目标调整条件,并确定目标调整条件对应的调整策略。然后,第一设备10基于调整策略和第一限流影响因子调整第一设备10的限流参数。
其中,第一限流影响因子是第二设备20在接收到第四设备40发送的第一请求,以及根据第二设备20的限流参数将第一请求分发给第二设备对应的子服务器60后,根据第二设备对应的子服务器60接收第一请求的数量生成的。
第一设备10在对限流参数进行调整后,接收第三设备30发送的第二请求,并根据调整后的限流参数将第二请求分发给第一设备对应的子服务器50。第一设备10根据第一设备对应的子服务器50接收第二请求的数量,生成第二限流影响因子。第二设备20通过监控第一设备10,获取第一设备10生成的第二限流影响因子,并根据第二限流影响因子调整第二设备对应的限流参数。
在一些实施例中,当第一设备10为接入服务器,第二设备20为业务服务器时,第三设备30可以为冰箱、空调、洗衣机等设备,第四设备40可以为终端设备,例如,手机、平板电脑、计算机等设备;第四设备40上可以部署第三设备30对应的客户端,用以控制第三设备30。
在另一些实施例中,当第一设备10为业务服务器,第二设备20为接入服务器时,第三设备30可以为终端设备,例如,手机、平板电脑、计算机等设备,第四设备40可以为冰箱、空调、洗衣机等设备;第三设备30上可以部署第四设备40对应的客户端,用以控制第四设备40。
例如,用户通过点击手机上部署的空调对应的客户端,以使空调与接入服务器建立连接;空调向接入服务器发送第二请求;接入服务器将接收到的第二请求分发给接入服务器对应的子服务器;接入服务器对应的子服务器在成功执行第二请求后,空调与接入服务器建立连接;用户可通过手机上空调对应的客户端,触发调整空调温度的操作后,手机向业务服务器发送第一请求;业务服务器将接收到的第一请求分发给业务服务器对应的子服务器;接入服务器对应的子服务器在执行成功第一请求后,向空调发送执行信息;空调在接收到执行信息后,调整温度。
如图2所示,本申请实施例提供的系统限流方法包括以下步骤:
步骤S201,第一设备通过监控第二设备,获取第二设备的第一限流影响因子。
需要说明的是,第一设备和第二设备之间存在业务交互;第一限流影响因子包括第一限流值和第一熔断值;第一限流值为第二设备对应的子服务器接收第二设备分发的第一请求的数量;第一熔断值为第二设备对应的子服务器未成功执行第二设备分发的第一请求的数量。
第一设备实时监控第二设备生成的第一限流影响因子,当第二设备生成第一限流影响因子后,获取该第一限流影响因子。
在一些实施例中,第二设备在接收到第一请求后,根据第二设备的限流参数,将第一请求分发给第二设备对应的子服务器,以使第二设备对应的子服务器执行第一请求。并且,第二设备根据第二设备对应的子服务器接收到的第一请求,生成第一限流影响因子。
步骤S202,第一设备从设定的调整条件中确定第一限流影响因子满足的目标调整条件。
第一设备根据第一限流影响因子,从设定的调整条件中选取第一限流影响因子满足的调整条件,并将该调整条件作为目标调整条件。
步骤S203,第一设备确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
第一设备根据调整条件与调整策略的对应关系,确定目标调整条件对应的调整策略,并基于确定出的调整策略和第一限流影响因子调整第一设备的限流参数。
由于第一设备是通过获取第二设备的第一限流影响因子,确定第一限流影响因子满足的目标调整条件后,根据目标调整条件对应的调整策略和第一限流影响因子来调整自身的限流参数,使得第一设备在由第一设备和第二设备所构成的业务系统中,能够根据第一限流影响因子来预见自身的流量处理情况,然后,根据第一限流影响因子调整自身的限流参数,从而达到实时调整限流参数的目的,保证业务系统的稳定性和可用性。
在一些实施例中,第一设备为接入服务器时,第二设备为业务服务器。第一设备为业务服务器时,第二设备为接入服务器。
下面根据上述两种情形分别对调整第一设备的限流参数的过程进行说明。
情形一、第一设备为接入服务器,第二设备为业务服务器。
当第一设备为接入服务器时,第一设备的限流参数包括设备限流参数和请求限流参数;其中,第二请求为设备接入请求,第一设备对应的子服务器为子接入服务器,第一请求为业务服务请求,第二设备对应的子服务器为子业务服务器。
第一设备通过监控第二设备,获取第二设备生成的第一限流影响因子后,根据第一限流影响因子,从设定的调整条件中确定目标调整条件。
在一些实施例中,设定的调整条件包括但不限于:
条件1:第一限流值大于设定限流阈值;
条件2:第一熔断值大于设定熔断阈值;
条件3:第一限流值小于设定限流阈值或第一熔断值小于设定熔断阈值。
第一设备在确定出目标调整条件后,确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
在一些实施例中,第一设备确定目标调整条件为条件1时,则确定调整策略为增大请求限流参数。第一设备根据第一限流值确定请求限流值的增大比例,并根据增大比例调整请求限流参数。
第一设备在确定目标调整条件为条件1时,确定第二设备处于使用高峰期,当第二设备处于使用高峰期时,由于第一设备与第二设备之间存在业务交互,即第一设备也将处于使用高峰期,此时,第一设备确定限流参数对应的调整策略为增大请求限流参数,以此来增加第一设备的请求处理规模。
具体实施中,第一设备根据第一限流值和设定限流阈值,确定第一限流值的增大比例,并将第一限流值的增大比例作为请求限流值的增大比例;然后,第一设备根据增大比例调整请求限流参数。
在另一些实施例中,第一设备也可采用其他方式确定请求限流值的增大比例,在此并不作限。
例如,接入服务器用于与空调建立连接,业务服务器用于接收并执行终端发送的控制空调的业务服务请求;接入服务器确定业务服务器的第一限流值大于设定限流阈值时,确定业务服务器对应的子业务服务器的第一请求执行的数量较高,处于使用高峰期,即空调处于使用高峰期,接入服务器需要通过增大请求限流参数,来增加接入服务器处理设备接入请求的规模。
在另一些实施例中,第一设备确定目标调整条件为条件2时,则确定调整策略为减小设备限流参数。第一设备根据第一熔断值确定设备限流参数的减小比例,并根据减小比例调整设备限流参数。
第一设备在确定目标调整条件为条件2时,确定第二设备的业务服务请求处理的成功率较低,第二设备对应的子业务服务器的可用程度较低,此时,第一设备确定调整策略为减小设备限流参数。第一设备通过减小设备限流参数,减小第三设备的接入,以使第二设备能够执行已建立连接的第三设备对应的业务服务请求,保证子业务服务器针对已建连的第三设备对应的业务服务请求的执行。
具体实施中,第一设备根据第一熔断值和设定熔断值,确定第一熔断值相比于设定熔断值的减小比例,并将该减小比例作为设定限流参数的减小比例,然后,基于该减小比例调整设备限流参数。
在另一些实施例中,第一设备也可采用其他方式确定请求限流值的增大比例,在此并不作限。
在另一些实施例中,第一设备确定目标调整条件为条件3时,则确定调整策略为将限流参数设置为设定参数值。第一设备将限流参数调整为设定参数值。
当第一设备确定目标调整条件为第一限流值小于设定限流阈值或第一熔断值小于设定熔断阈值时,确定第二设备处于正常工作期间,并不处于使用低峰和高峰期间,将第一设备的限流参数恢复为设定参数值,来维护第一设备和第二设备构成的业务系统的稳定性和可用性。
情形二、第一设备为业务服务器,第二设备为接入服务器。
当第一设备为业务服务器时,第一设备的限流参数包括业务执行级别和请求限流参数;其中,第二请求为业务服务请求,第一设备对应的子服务器为子业务服务器,第一请求为设备接入请求,第二设备对应的子服务器为子接入服务器。
第一设备通过监控第二设备,获取第二设备生成的第一限流影响因子后,根据第一限流影响因子,从设定的调整条件中确定目标调整条件。
在一些实施例中,设定的调整条件包括但不限于:
条件1:第一限流值大于设定限流阈值;
条件2:第一熔断值大于设定熔断阈值;
条件3:第一限流值小于设定限流阈值;
条件4:第一熔断值小于设定熔断阈值。
第一设备在确定出目标调整条件后,确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
在一些实施例中,第一设备确定目标调整条件为条件1时,则确定调整策略为增大请求限流参数。第一设备根据第一限流值确定请求限流值的增大比例,并根据增大比例调整请求限流参数。
上述根据增大比例调整请求限流参数的实施过程与情形一中根据增大比例调整请求限流参数的实施过程相同,在此不在过多赘述。
例如,接入服务器用于与空调建立连接,业务服务器用于接收并执行终端发送的控制空调的业务服务请求;业务服务器确定接入服务器的第一限流值大于设定限流阈值时,确定接入服务器对应的子接入服务器的设备接入请求执行的数量较高,处于使用高峰期,即空调处于使用高峰期,业务服务器需要通过增大请求限流参数,来增加业务服务器处理业务服务请求的规模,来适应使用高峰期突增的业务服务请求。
在另一些实施例中,第一设备确定目标调整条件为条件2时,则确定调整策略为降低第一熔断值对应的业务服务的业务执行级别。第一设备确定第一熔断值对应的业务服务,并降低业务服务的业务执行级别。
需要说明的是,第一熔断值对应的业务服务包括但不限于:控制服务和注册服务。
第一设备在确定目标调整条件为条件2时,确定第二设备的设备接入请求处理的成功率较低,第二设备对应的子接入服务器的可用程度较低,此时,第一设备确定调整策略为降低第一熔断值对应的业务服务的业务执行级别。第一设备通过降低第一熔断值对应的业务服务的业务执行级别,停止执行第一熔断值对应的业务服务,以使第一设备能够执行其他业务服务,保证其他已建连的第三设备对应的业务服务请求的执行。
具体实施中,第一设备根据第一熔断值,确定第一熔断值对应的业务服务,将该业务服务的业务执行级别降低,以使第一设备不会向子业务服务器分发该业务服务对应的业务服务请求。
在另一些实施例中,第一设备确定目标调整条件为条件3时,则确定调整策略为将请求限流参数设置为设定请求参数值。第一设备将请求限流参数调整为设定请求参数值。
当第一设备确定目标调整条件为第一限流值小于设定限流阈值时,确定第二设备处于正常工作期间,并不处于使用低峰和高峰期间,将第一设备的请求限流参数恢复为设定请求参数值,来维护第一设备和第二设备构成的业务系统的稳定性和可用性。
在另一些实施例中,第一设备确定目标调整条件为条件4时,则确定调整策略为将第一熔断值对应的业务服务的业务执行级别设置为设定级别。第一设备确定第一熔断值对应的业务服务,并将业务服务的业务执行级别设置为设定级别。
当第一设备确定第一熔断值小于设定熔断值时,确定第二设备对应的子接入服务器的设备接入请求的执行成功率在设定范围内,即第二设备处于正常工作状态,将第一熔断值对应的业务服务的业务执行级别设置为设定级别,以使第一设备能够继续执行该业务服务对应的业务服务请求。
在一些实施例中,第一设备在根据调整策略和第一限流影响因子调整第一设备的限流参数后,接收第三设备发送的第二请求后,根据限流参数将第二请求分发给第一设备对应的子服务器,以使第一设备对应的子服务器执行第二请求。
需要说明的是,限流参数用于限制分发给第一设备对应的子服务器的第二请求的数量。
在一些实施例中,若第一设备为接入服务器,则第二请求为设备接入请求,第一设备对应的子服务器为子接入服务器;第一设备根据设备限流参数确定第三设备的接入数量,并接收接入数量内的第三设备发送的设备接入请求;并根据请求限流参数确定设备接入请求的分发数量,向子接入服务器分发确定出的分发数量内的设备接入请求。
在另一些实施例中,若第一设备为业务服务器,则第二请求为业务服务请求,第一设备对应的子服务器为子业务服务器;第一设备根据业务执行级别,从业务服务请求中确定分发给第一设备对应的子服务器的目标业务服务请求;根据请求限流参数确定目标业务服务请求的分发数量,并向子接入服务器分发所述分发数量内的目标业务服务请求。
在一些实施例中,第一设备在接收到第三设备发送的第二请求后,根据限流参数确定自适应令牌桶中的令牌总数;第一设备通过自适应令牌桶向第一设备对应的子服务器分发第二请求。
具体实施中,第一设备将令牌与第二请求进行匹配,将匹配成功的第二请求分发给第一设备对应的子服务器。
在一些实施例中,第一设备在向第一设备对应的子服务器分发匹配成功的第二请求时,根据设定的负载均衡机制,将匹配成功的第二请求平均分发给第一设备对应的子服务器。
在一些实施例中,第一设备中的自适应令牌桶在第二请求的分发过程中,持续不断的获取令牌桶内的剩余令牌数,并确定令牌的剩余比例;自适应令牌桶在确定剩余比例达到最小剩余阈值时,增加生成令牌的生成速率,并且,自适应令牌桶内的剩余令牌数还在持续减小时,继续增加令牌的生成速率。当自适应令牌桶在确定剩余比例达到最大剩余阈值时,恢复令牌的初始生成速率。
第一设备还可以设置在一些可预知的使用高峰时期,增大限流参数,来增大自适应令牌桶的令牌总数,来应对使用高峰。
例如,当第三设备为洗衣机,由于洗衣机的工作时间一般为非工作时间段,则可在工作日下午6点至晚上12点、周六日全天,增大限流参数。
在一些实施例中,第一设备将第二请求分发给第一设备对应的子服务器后,根据第一设备对应的子服务器接收第二请求的数量,生成第二限流影响因子。
需要说明的是,第二限流影响因子包括第二限流值和第二熔断值。
具体实施中,第一设备可以将第一设备对应的各个子服务器接收第二请求的数量的均值,作为第二限流值;第一设备可以将各个子服务器未执行成功的第二请求的数量的均值作为第二熔断值。
在一些实施例中,第一设备生成第二限流影响因子后,第二设备通过监控第一设备,获取第二限流影响因子。第二设备根据第二限流影响因子调整第二设备对应的限流参数。
第二设备根据第二限流影响因子调整第二设备对应的限流参数的实施过程,与第一设备根据第一限流影响因子调整第一设备对应的限流参数的实施过程相同,在此不再赘述。
在一些实施例中,第一设备在生成第二限流影响因子后,根据第二熔断值和第二限流值,确定第一设定时间段内的识别比例;第一设备若确定失败比例达到半熔断阈值,则根据失败比例调整限流参数。
需要说明的是,失败比例用于表征第一设备对应的子服务器未执行成功的第二请求在第一设备对应的子服务器接收到的第二请求中的占比。
具体实施中,当失败比例达到半熔断阈值时,根据失败比例,减小限流参数,来减少第二请求的接收和分发。
第一设备根据调整后的限流参数向第一设备对应的子服务器分发第二请求后,若确定第一设备对应的子服务器在第二设定时间段内的失败比例达到熔断阈值,则停止向第一设备对应的子服务器分发第二请求。
第一设备在停止分发第二请求后,按照设定的分发周期,分别向第一设备对应的子服务器分发一个应答请求,直至第一设备接收到所有子服务器返回的请求接收响应,恢复向第一设备对应的子服务器分发第二请求的通道。
在一些实施例中,当第一设备为业务服务器时,当业务服务器接收到单一用户即单一IP的大规模第二请求后,对同一接口发出的第二请求进行滞后处理;并且,当业务服务器确定同一用户发出的第二请求对应的失败比例达到熔断阈值时,识别该用户对应的用户ID参数,停止分发该用户发送的第二请求,并按照设定周期放行一个第二请求,直至在第三设定时间段内该第二请求的成功比例达到放行阈值。
在另一些实施例中,当业务服务器确定接收到的第二请求中包括用户信息时,减小业务服务器对应的限流参数,来防止用户信息泄露。
如图3所示,本申请实施例提供一种系统限流方法的完整流程示意图,包括以下步骤:
步骤S301,第一设备通过监控第二设备,获取第二设备的第一限流影响因子。
需要说明的是,第一设备和第二设备之间存在业务交互;第一限流影响因子包括第一限流值和第一熔断值;第一限流值为第二设备对应的子服务器接收第二设备分发的第一请求的数量;第一熔断值为第二设备对应的子服务器未成功执行第二设备分发的第一请求的数量。
步骤S302,第一设备从设定的调整条件中确定第一限流影响因子满足的目标调整条件。
步骤S303,第一设备确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
步骤S304,第一设备接收第三设备发送的第二请求后,根据限流参数将第二请求分发给第一设备对应的子服务器,以使第一设备对应的子服务器执行第二请求。
需要说明的是,限流参数用于限制分发给第一设备对应的子服务器的第二请求的数量。
步骤S305,第一设备根据第一设备对应的子服务器接收第二请求的数量,生成第二限流影响因子,以使第二设备根据第二限流影响因子调整第二设备的限流参数。
需要说明的是,第二限流影响因子包括第二限流值和第二熔断值。
步骤S306,第一设备根据第二熔断值和第二限流值,确定第一设定时间段内的失败比例。
需要说明的是,失败比例用于表征第一设备对应的子服务器未执行成功的第二请求在第一设备对应的子服务器接收到的第二请求中的占比。
步骤S307,若失败比例达到半熔断阈值,则第一设备根据失败比例调整限流参数。
步骤S308,第一设备根据调整后的限流参数向第一设备对应的子服务器分发第二请求。
步骤S309,若确定第一设备对应的子服务器在第二设定时间段内的失败比例达到熔断阈值,则第一设备停止向第一设备对应的子服务器分发第二请求。
如图4所示,本申请实施例提供一种应用于第一设备和第二设备的系统限流方法的交互流程示意图,包括以下步骤:
步骤S401,第一设备通过监控第二设备,获取第二设备的第一限流影响因子。
需要说明的是,第一设备和第二设备之间存在业务交互;第一限流影响因子包括第一限流值和第一熔断值;第一限流值为第二设备对应的子服务器接收第二设备分发的第一请求的数量;第一熔断值为第二设备对应的子服务器未成功执行第二设备分发的第一请求的数量。
步骤S402,第一设备从设定的调整条件中确定第一限流影响因子满足的目标调整条件。
步骤S403,第一设备确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
步骤S404,第一设备接收第三设备发送的第二请求后,根据限流参数将第二请求分发给第一设备对应的子服务器,以使第一设备对应的子服务器执行第二请求。
需要说明的是,限流参数用于限制分发给第一设备对应的子服务器的第二请求的数量。
步骤S405,第一设备根据第一设备对应的子服务器接收第二请求的数量,生成第二限流影响因子。
需要说明的是,第二限流影响因子包括第二限流值和第二熔断值。
步骤S406,第二设备通过监控第一设备,获取第一设备的第二限流影响因子。
步骤S407,第二设备从设定的第二调整条件中确定第二限流影响因子满足的第二目标调整条件。
需要说明的是,设定的第二调整条件为第二设备中预先设备的调整条件。
步骤S408,第二设备确定第二目标调整条件对应的第二调整策略,并基于第二调整策略和第二限流影响因子调整第二设备的限流参数。
步骤S409,第二设备接收第四设备发送的第一请求后,根据第二设备的限流参数将第一请求分发给第二设备对应的子服务器,以使第二设备对应的子服务器执行第一请求。
步骤S410,第二设备根据第二设备对应的子服务器接收第一请求的数量,生成第一限流影响因子。
基于同一发明构思,本申请实施例中还提供了一种系统限流装置,由于该装置解决问题的原理与本申请实施例系统限流方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,本申请实施例提供一种系统限流装置,该装置应用于第一设备中,该装置包括:
获取单元501,用于通过监控第二设备,获取第二设备的第一限流影响因子;第一设备和第二设备之间存在业务交互;第一限流影响因子包括第一限流值和第一熔断值;第一限流值为第二设备对应的子服务器接收第二设备分发的第一请求的数量;第一熔断值为第二设备对应的子服务器未成功执行第二设备分发的第一请求的数量;
确定单元502,用于从设定的调整条件中确定第一限流影响因子满足的目标调整条件;
调整单元503,用于第一设备确定目标调整条件对应的调整策略,并基于调整策略和第一限流影响因子调整第一设备的限流参数。
一种可选的实施方式为,第一设备为接入服务器,第二设备为业务服务器,限流参数包括设备限流参数和请求限流参数;调整单元503具体用于:
若目标调整条件为第一限流值大于设定限流阈值,则确定调整策略为增大请求限流参数;根据第一限流值确定请求限流参数的增大比例,并根据增大比例调整请求限流参数;
若目标调整条件为第一熔断值大于设定熔断阈值,则确定调整策略为减小设备限流参数;根据第一熔断值确定设备限流参数的减小比例,并根据减小比例调整设备限流参数;
若目标调整条件为第一限流值小于设定限流阈值或第一熔断值小于设定熔断阈值,则确定调整策略为将限流参数设置为设定参数值;并将限流参数调整为设定参数值。
一种可选的实施方式为,第一设备为业务服务器,第二设备为接入服务器,限流参数包括请求限流参数和业务执行级别;调整单元503具体用于:
若目标调整条件为第一限流值大于设定限流阈值,则确定调整策略为增大请求限流参数;根据第一限流值确定请求限流参数的增大比例,并根据增大比例调整请求限流参数;
若目标调整条件为第一熔断值大于设定熔断阈值,则确定调整策略为降低第一熔断值对应的业务服务的业务执行级别;确定第一熔断值对应的业务服务,并降低业务服务的业务执行级别;
若目标调整条件为第一限流值小于设定限流阈值,则确定调整策略为将请求限流参数设置为设定请求参数值;并将请求限流参数调整为设定请求参数值;
若目标调整条件为第一熔断值小于设定熔断阈值,则确定调整策略为将第一熔断值对应的业务服务的业务执行级别设置为设定级别;确定第一熔断值对应的业务服务,并将业务服务的业务执行级别设置为设定级别。
一种可选的实施方式为,该装置还包括:
分发单元504,用于接收第三设备发送的第二请求后,根据限流参数将第二请求分发给第一设备对应的子服务器,以使第一设备对应的子服务器执行第二请求;限流参数用于限制分发给第一设备对应的子服务器的第二请求的数量;
生成单元505,用于根据第一设备对应的子服务器接收第二请求的数量,生成第二限流影响因子,以使第二设备根据第二限流影响因子调整第二设备的限流参数;第二限流影响因子包括第二限流值和第二熔断值。
一种可选的实施方式为,分发单元504具体用于:
若第一设备为接入服务器,则第二请求为设备接入请求,第一设备对应的子服务器为子接入服务器;根据设备限流参数确定第三设备的接入数量,并接收接入数量内的第三设备发送的设备接入请求;根据请求限流参数确定设备接入请求的分发数量,并向子接入服务器分发分发数量内的设备接入请求;
若第一设备为业务服务器,则第二请求为业务服务请求,第一设备对应的子服务器为子业务服务器;根据业务执行级别,从业务服务请求中确定分发给第一设备对应的子服务器的目标业务服务请求;根据请求限流参数确定目标业务服务请求的分发数量,并向子接入服务器分发分发数量内的目标业务服务请求。
一种可选的实施方式为,装置还包括熔断单元506,熔断单元506用于:
根据第二熔断值和第二限流值,确定第一设定时间段内的失败比例;失败比例用于表征第一设备对应的子服务器未执行成功的第二请求在第一设备对应的子服务器接收到的第二请求中的占比;
若失败比例达到半熔断阈值,则根据失败比例调整限流参数;
根据调整后的限流参数向第一设备对应的子服务器分发第二请求后,若确定第一设备对应的子服务器在第二设定时间段内的失败比例达到熔断阈值,则停止向第一设备对应的子服务器分发第二请求。
与上述系统限流方法的实施例相对应地,本申请实施例还提供了一种电子设备,如图1中所示的第一设备10。
在该实施例中,电子设备的结构可以如图6所示,包括存储器131,通讯模块133以及一个或多个处理器132。
存储器131,用于存储处理器132执行的计算机程序和设定的调整条件,以及第一限流影响因子。存储器131可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
处理器132,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器132,用于调用存储器131中存储的计算机程序时实现上述系统限流方法。
通讯模块133用于进行通信,获取第二请求、第一限流影响因子等信息。
本申请实施例中不限定上述存储器131、通讯模块133和处理器132之间的具体连接介质。本公开实施例在图6中以存储器131和处理器132之间通过总线134连接,总线134在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线134可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于实现本申请任一实施例所记载的系统限流方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种系统限流方法,其特征在于,所述方法包括:
第一设备通过监控第二设备,获取所述第二设备的第一限流影响因子;所述第一设备和所述第二设备之间存在业务交互;所述第一限流影响因子包括第一限流值和第一熔断值;所述第一限流值为所述第二设备对应的子服务器接收所述第二设备分发的第一请求的数量;所述第一熔断值为所述第二设备对应的子服务器未成功执行所述第二设备分发的第一请求的数量;
所述第一设备从设定的调整条件中确定所述第一限流影响因子满足的目标调整条件;
所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数。
2.根据权利要求1所述的方法,其特征在于,所述第一设备为接入服务器,所述第二设备为业务服务器,所述限流参数包括设备限流参数和请求限流参数;
所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数,包括:
若所述目标调整条件为所述第一限流值大于所述设定限流阈值,则确定所述调整策略为增大所述请求限流参数;根据所述第一限流值确定所述请求限流参数的增大比例,并根据所述增大比例调整所述请求限流参数;
若所述目标调整条件为所述第一熔断值大于所述设定熔断阈值,则确定所述调整策略为减小所述设备限流参数;根据所述第一熔断值确定所述设备限流参数的减小比例,并根据所述减小比例调整所述设备限流参数;
若所述目标调整条件为所述第一限流值小于所述设定限流阈值或所述第一熔断值小于所述设定熔断阈值,则确定所述调整策略为将所述限流参数设置为设定参数值;并将所述限流参数调整为所述设定参数值。
3.根据权利要求1所述的方法,其特征在于,所述第一设备为业务服务器,所述第二设备为接入服务器,所述限流参数包括请求限流参数和业务执行级别;
所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数,包括:
若所述目标调整条件为所述第一限流值大于所述设定限流阈值,则确定所述调整策略为增大所述请求限流参数;根据所述第一限流值确定所述请求限流参数的增大比例,并根据所述增大比例调整所述请求限流参数;
若所述目标调整条件为所述第一熔断值大于所述设定熔断阈值,则确定所述调整策略为降低所述第一熔断值对应的业务服务的业务执行级别;确定所述第一熔断值对应的业务服务,并降低所述业务服务的业务执行级别;
若所述目标调整条件为所述第一限流值小于所述设定限流阈值,则确定所述调整策略为将所述请求限流参数设置为设定请求参数值;并将所述请求限流参数调整为所述设定请求参数值;
若所述目标调整条件为所述第一熔断值小于所述设定熔断阈值,则确定所述调整策略为将所述第一熔断值对应的业务服务的业务执行级别设置为设定级别;确定所述第一熔断值对应的业务服务,并将所述业务服务的业务执行级别设置为所述设定级别。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述方法还包括:
所述第一设备接收第三设备发送的第二请求后,根据所述限流参数将所述第二请求分发给所述第一设备对应的子服务器,以使所述第一设备对应的子服务器执行所述第二请求;所述限流参数用于限制分发给所述第一设备对应的子服务器的第二请求的数量;
所述第一设备根据所述第一设备对应的子服务器接收所述第二请求的数量,生成所述第二限流影响因子,以使所述第二设备根据所述第二限流影响因子调整所述第二设备的限流参数;所述第二限流影响因子包括第二限流值和第二熔断值。
5.根据权利要求4所述的方法,其特征在于,所述根据所述限流参数将所述第二请求分发给所述第一设备对应的子服务器,包括:
若所述第一设备为接入服务器,则所述第二请求为设备接入请求,所述第一设备对应的子服务器为子接入服务器;根据所述设备限流参数确定所述第三设备的接入数量,并接收所述接入数量内的第三设备发送的设备接入请求;根据所述请求限流参数确定所述设备接入请求的分发数量,并向所述子接入服务器分发所述分发数量内的设备接入请求;
若所述第一设备为业务服务器,则所述第二请求为业务服务请求,所述第一设备对应的子服务器为子业务服务器;根据所述业务执行级别,从所述业务服务请求中确定分发给所述第一设备对应的子服务器的目标业务服务请求;根据所述请求限流参数确定所述目标业务服务请求的分发数量,并向所述子接入服务器分发所述分发数量内的目标业务服务请求。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
所述第一设备根据所述第二熔断值和所述第二限流值,确定第一设定时间段内的失败比例;所述失败比例用于表征所述第一设备对应的子服务器未执行成功的第二请求在所述第一设备对应的子服务器接收到的第二请求中的占比;
若所述失败比例达到半熔断阈值,则所述第一设备根据所述失败比例调整所述限流参数;
所述第一设备根据调整后的限流参数向所述第一设备对应的子服务器分发所述第二请求后,若确定所述第一设备对应的子服务器在第二设定时间段内的失败比例达到熔断阈值,则停止向所述第一设备对应的子服务器分发所述第二请求。
7.一种系统限流装置,其特征在于,应用于第一设备,所述装置包括:
获取单元,用于通过监控第二设备,获取所述第二设备的第一限流影响因子;所述第一设备和所述第二设备之间存在业务交互;所述第一限流影响因子包括第一限流值和第一熔断值;所述第一限流值为所述第二设备对应的子服务器接收所述第二设备分发的第一请求的数量;所述第一熔断值为所述第二设备对应的子服务器未成功执行所述第二设备分发的第一请求的数量;
确定单元,用于从设定的调整条件中确定所述第一限流影响因子满足的目标调整条件;
调整单元,用于所述第一设备确定所述目标调整条件对应的调整策略,并基于所述调整策略和所述第一限流影响因子调整所述第一设备的限流参数。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
分发单元,用于接收第三设备发送的第二请求后,根据所述限流参数将所述第二请求分发给所述第一设备对应的子服务器,以使所述第一设备对应的子服务器执行所述第二请求;所述限流参数用于限制分发给所述第一设备对应的子服务器的第二请求的数量;
生成单元,用于根据所述第一设备对应的子服务器接收所述第二请求的数量,生成所述第二限流影响因子,以使所述第二设备根据所述第二限流影响因子调整所述第二设备的限流参数;所述第二限流影响因子包括第二限流值和第二熔断值。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~6中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210095326.1A CN116545926A (zh) | 2022-01-26 | 2022-01-26 | 一种系统限流方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210095326.1A CN116545926A (zh) | 2022-01-26 | 2022-01-26 | 一种系统限流方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116545926A true CN116545926A (zh) | 2023-08-04 |
Family
ID=87449337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210095326.1A Pending CN116545926A (zh) | 2022-01-26 | 2022-01-26 | 一种系统限流方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116545926A (zh) |
-
2022
- 2022-01-26 CN CN202210095326.1A patent/CN116545926A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6457447B2 (ja) | データセンターのネットワークトラフィックスケジューリング方法及び装置 | |
USRE42726E1 (en) | Dynamically modifying the resources of a virtual server | |
US7627618B2 (en) | System for managing data collection processes | |
US6961341B1 (en) | Adaptive bandwidth throttling for network services | |
US6853642B1 (en) | Load balancing between service component instances | |
CN110505155B (zh) | 请求降级处理方法、装置、电子设备及存储介质 | |
EP3547625B1 (en) | Method and system for sending request for acquiring data resource | |
CN108600005A (zh) | 一种防御微服务雪崩效应的方法 | |
CA2935246C (en) | Method, system and apparatus for adaptive quota determination for shared resources | |
CN110138756B (zh) | 一种限流方法及系统 | |
US11949737B1 (en) | Allocation of server resources in remote-access computing environments | |
CN109992392B (zh) | 一种资源部署方法、装置及资源服务器 | |
CN113238861A (zh) | 一种任务执行方法和装置 | |
US7616640B1 (en) | Load balancing between service component instances | |
CN111078386A (zh) | 一种分布式调度系统的控制方法及控制装置 | |
CN109587068A (zh) | 流量切换方法、装置、设备及计算机可读存储介质 | |
CN116545926A (zh) | 一种系统限流方法、装置、电子设备及存储介质 | |
CN106506660B (zh) | 一种联机请求处理方法、服务器及系统 | |
CN114095201B (zh) | 基于边缘计算的流量控制方法及装置,电子设备,存储介质 | |
CN109040236A (zh) | 一种服务器接入方法及网络系统 | |
CN114641033B (zh) | 5g消息推送速度控制方法、装置、设备及介质 | |
CN111371873B (zh) | 一种Web服务选举方法、装置和服务器 | |
WO2024131421A1 (zh) | 消息中间件的自适应动态限流方法、设备及介质 | |
CN116915606A (zh) | 一种熔断方法、装置、电子设备和存储介质 | |
CN117857458A (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 |