CN117202117B - 一种短信渠道熔断降级系统及方法 - Google Patents
一种短信渠道熔断降级系统及方法 Download PDFInfo
- Publication number
- CN117202117B CN117202117B CN202311203718.6A CN202311203718A CN117202117B CN 117202117 B CN117202117 B CN 117202117B CN 202311203718 A CN202311203718 A CN 202311203718A CN 117202117 B CN117202117 B CN 117202117B
- Authority
- CN
- China
- Prior art keywords
- channel
- target channel
- flow
- index information
- target
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000000593 degrading effect Effects 0.000 title claims abstract description 20
- 238000006731 degradation reaction Methods 0.000 claims abstract description 36
- 230000015556 catabolic process Effects 0.000 claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 29
- 230000008859 change Effects 0.000 claims description 13
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 abstract description 72
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000005494 condensation Effects 0.000 description 2
- 238000009833 condensation Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种短信渠道熔断降级系统及方法,系统包括:缓存模块缓存渠道配置信息;流量路由模块读取渠道配置信息,按照渠道配置信息中的渠道组的路由权重,将短信流量投递到各个渠道组对应路由的消息队列;流量出口模块通过各个渠道将短信流量发送到对接的运营商;监控模块获取流量路由模块、消息队列以及流量出口模块的指标信息;结合指标信息和预设的告警规则,生成告警通知并进行推送;将指标信息和告警通知发送到渠道管控模块;渠道管控模块,用于接收指标信息和告警通知并触发对应的策略,以实现渠道的即时熔断降级。本申请提高了短信下达用户的成功率,可广泛应用于流量通信技术领域。
Description
技术领域
本申请涉及流量通信技术领域,尤其是一种短信渠道熔断降级系统及方法。
背景技术
随着商业营销方式日益多样,特别是线上电商营销活动,常出现大量突发短信流量;短信下发业务渠道,将承受大量流量压力,将导致渠道积压大量短信流量、延误高优先级短信流量下发、短信提交运营商失败率高企。而且,公网网络复杂,网络堵塞、传输丢包、运营商连接断连等问题,突发概率不小;上述问题显著影响短信下达用户成功率,抬高了短信流量业务的成本。
发明内容
有鉴于此,本申请提供一种短信渠道熔断降级系统及方法,以提高短信下达用户的成功率。
本申请的一方面提供了一种短信渠道熔断降级系统,包括:缓存模块、流量路由模块、流量出口模块、监控模块以及渠道管控模块;
其中,所述缓存模块用于缓存渠道配置信息;
所述流量路由模块,用于从所述缓存模块读取渠道配置信息,按照所述渠道配置信息中的渠道组的路由权重,将短信流量投递到各个渠道组对应路由的消息队列;
所述流量出口模块包括多个渠道组,每个渠道组包括同协议且同签名的多个渠道,所述流量出口模块用于通过各个渠道将短信流量发送到对接的运营商;
所述监控模块,用于获取所述流量路由模块、所述消息队列以及所述流量出口模块的指标信息;结合所述指标信息和预设的告警规则,生成告警通知并进行推送;将所述指标信息和所述告警通知发送到所述渠道管控模块;
所述渠道管控模块,用于接收所述指标信息和所述告警通知并触发对应的策略,以实现渠道的即时熔断降级。
可选地,所述监控模块还用于响应于对所述指标信息的查询操作,并返回查询结果。
可选地,所述渠道管控模块用于:
接收所述告警通知并判断是否需要处理所述告警通知对应的告警事件;
若确定为需要处理所述告警事件,则通过渠道ID查询是否存在所述告警事件对应的事件对象;若不存在,则将所述告警事件封装为事件对象;若存在,则经所述告警事件聚合入已存在的事件对象中;
根据所述指标信息触发所述事件对象中预先封装的策略对象,以实现渠道的即时熔断降级。
可选地,所述渠道管控模块,用于接收所述指标信息和所述告警通知并触发对应的策略,以实现渠道的即时熔断降级,包括:
所述渠道管控模块,用于接收所述指标信息和所述告警通知并通过更新所述渠道配置信息、广播渠道管控命令或基于Kubernetes动态缩容下线渠道的方式实现渠道的即时熔断降级。
可选地,所述渠道管控模块,用于接收所述指标信息和所述告警通知并通过更新所述渠道配置信息、广播渠道管控命令或基于Kubernetes动态缩容下线渠道的方式实现渠道的即时熔断降级,包括:
若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于等比例逐级降低所述目标渠道的短信流量下发速度;
若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息;
若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断;
若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于对所述目标渠道进行流量熔断、分流流量以及渠道下线。
可选地,所述若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于等比例逐级降低所述目标渠道的短信流量下发速度,包括:
若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于:
接受所述目标渠道的超速告警通知;按设定比例降低所述目标渠道的短信流量下发速度并按所述设定比例下降所述目标渠道的路由权重;
定时向所述监控模块拉取固定时间窗口内所述目标渠道对应运营商返回的超速错误码指标统计数据;若所述固定时间窗口内出现超速错误码,则等比例逐级降低所述目标渠道的短信流量下发速度;
当连续两次定时查询,所述固定时间窗口内未出现超速错误码时,恢复所述目标渠道短信流量下发的初始速度,并恢复所述目标渠道的初始路由权重。
可选地,所述若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息,包括:
若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于:
若消息积压量达到第一告警阈值,则将消息积压量与所述目标渠道的短信流量下发速度相除,得到第一下发时间,若所述第一下发时间小于第一设定时间,则忽略所述告警通知,否则设置所述目标渠道的权重为0;
若消息积压量达到第二告警阈值,则将消息积压量与所述目标渠道的短信流量下发速度相除,得到第二下发时间,若所述第二下发时间小于第二设定时间,则设置所述目标渠道的权重为0,否则选择备用渠道,广播渠道管控命令,以使对应备用渠道接受所述渠道管控命令,启动消息队列消费者,使得所述备用渠道消费所述目标渠道的消息队列,以实现流量均衡;
若消息积压量达到第三告警阈值,则设置渠道权重为0,并选择备用渠道共同消费所述目标渠道的积压消息;
定时向所述监控模块请求获取所述目标渠道的积压量,若所述目标渠道的积压量处于设定的正常范围,则广播管控命令,以使所述备用渠道下线消息消费者并恢复所述目标渠道的权重;
其中,所述第一告警阈值、所述第二告警阈值以及所述第三告警阈值依次增大,所述第一设定时间小于所述第二设定时间。
可选地,所述若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断,包括:
若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于:
若提交失败或状态报告失败在第三设定时间内失败率高于预设的失败率阈值,则更新所述目标渠道的配置,并减低所述目标渠道的路由权重;
定时监测时间窗口内所述失败率的变化,若连续两次定时查询,所述失败率仍高于所述失败率阈值,则将所述目标渠道的路由权重置为0,以实现流量熔断;
所述渠道管控模块还用于通过Kubernetes动态缩容下线所述目标渠道;响应于用户的操作,开启或关闭所述目标渠道的流量路由,或者,间隔固定时长后上线所述目标渠道,并恢复所述目标渠道的权重。
可选地,所述若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于对所述目标渠道进行流量熔断、分流流量以及渠道下线,包括:
若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于:
若所述目标渠道与运营商重连设定次数后仍断连,则推送重连超过设定次数的告警通知;
对所述目标渠道进行路由权重置为0、渠道下线以及选择备用渠道;
每间隔设定时间段,上线所述目标渠道,并收集所述目标渠道的重连指标;若所述目标渠道与运营商重新连接,则恢复所述目标渠道的路由权重初始值;否则,重新下线所述目标渠道。
本申请的另一方面还提供了一种短信渠道熔断降级方法,应用于上述的一种短信渠道熔断降级系统中的渠道管控模块,所述方法包括:
接收监控模块发送的指标信息;
若所述指标信息为目标渠道下发短信流量超出设定速度,则等比例逐级降低所述目标渠道的短信流量下发速度;
若所述指标信息为目标渠道出现消息积压,则根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息;
若所述指标信息为目标渠道提交失败或状态报告失败,则采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断;
若所述指标信息为目标渠道与运营商断连,则对所述目标渠道进行流量熔断、分流流量以及渠道下线。
本申请的另一方面还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现所述的方法。
本申请的另一方面还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现所述的方法。
本申请还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述的方法。
本申请通过渠道管控模块接收指标信息和告警通知并触发对应的策略,以实现渠道的即时熔断降级,将不可控的告警手动运维操作,自动化、可控化;而且解决了现有技术熔断降级策略方案可拓展性的不足;通过实时告警推送触发相关处理,实施渠道降级熔断处理,降级突发异常,对短信流量下发的负面影响,降级企业运行成本;通过自动化渠道降级熔断处理,显著降低业务运维成本;缓存模块缓存的渠道配置信息提供了有迹可循的操作日志,将熔断降级过程透明化。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种短信渠道熔断降级系统的结构示意图;
图2为本申请实施例提供的一种短信渠道熔断降级方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
为了便于理解本申请实施例,对本申请实施例可能涉及到的关键词进行解释:
熔断机制(Circuit Breaker):当服务达到某项阈值时,将暂停提供服务。
降级处理:针对非正常情况,服务的某些业务无法正常执行,只能采用应急操作,给出统一操作。
参照图1,本申请实施例提供了一种短信渠道熔断降级系统,包括缓存模块、流量路由模块、流量出口模块、监控模块以及渠道管控模块;
其中,所述缓存模块用于缓存渠道配置信息;
所述流量路由模块,用于从所述缓存模块读取渠道配置信息,按照所述渠道配置信息中的渠道组的路由权重,将短信流量投递到各个渠道组对应路由的消息队列;
具体地,流量路由模块可以用于读取配置缓存,根据渠道组的路由权重,进行流量分发路由,投递流量到选中渠道的对应消息队列;
所述流量出口模块包括多个渠道组,每个渠道组包括同协议且同签名的多个渠道,所述流量出口模块用于通过各个渠道将短信流量发送到对接的运营商;
具体地,流量出口模块包括多个渠道,渠道即是流量出口,直接对接短信运营商,发送短信;其中渠道组是同协议、同签名的一组渠道,但是对接运营商可以是不同地域的,渠道价格也可以不同;
所述监控模块,用于获取所述流量路由模块、所述消息队列以及所述流量出口模块的指标信息;结合所述指标信息和预设的告警规则,生成告警通知并进行推送;将所述指标信息和所述告警通知发送到所述渠道管控模块;进一步地,所述监控模块还用于响应于对所述指标信息的查询操作,并返回查询结果;
具体地,监控模块基于Promehteus和Altermager构建,可以实现实时秒级收集短信流量下发链路中各组件的状态以及业务指标,结合告警规则,推送告警通知;并可以提供实时的指标查询功能;
所述渠道管控模块,用于接收所述指标信息和所述告警通知并触发对应的策略,以实现渠道的即时熔断降级。
进一步地,所述渠道管控模块,用于接收所述指标信息和所述告警通知并通过更新所述渠道配置信息、广播渠道管控命令或基于Kubernetes动态缩容下线渠道的方式实现渠道的即时熔断降级。
具体地,渠道管控模块可以用于接受监控模块的告警推送,触发渠道熔断降级策略决策,通过更新配置缓存、广播管控命令消息、基于K8s(Kubernetes)动态缩容下线渠道等方式,实现渠道的即时熔断降级。
进一步地,所述渠道管控模块用于:
接收所述告警通知并判断是否需要处理所述告警通知对应的告警事件;
若确定为需要处理所述告警事件,则通过渠道ID查询是否存在所述告警事件对应的事件对象;若不存在,则将所述告警事件封装为事件对象;若存在,则经所述告警事件聚合入已存在的事件对象中;
根据所述指标信息触发所述事件对象中预先封装的策略对象,以实现渠道的即时熔断降级。
具体地,渠道管控模块实现熔断降级时可以包括以下内容:
1.接受告警,通过渠道配置信息中需处理告警类别列表,判定是否处理该告警事件;
2.确定为需处理告警事件,则通过渠道ID查询是否存在该告警事件对应的事件对象,若不存在,则将告警事件封装为事件对象;若已经存在则,聚合入已存在事件对象中;本实施例将告警信息封装为事件对象,以便告警事件处理功能的拓展。
3.事件对象封装了策略对象,策略对象基于状态机模式,根据事件处理状态进行状态转移;本实施例将策略封装为对象,可以用于后续策略的新增、修改等拓展。
4.策略对象中的定时任务,通过实现Java的Delayed接口,封装为定时任务,定时任务基于策略对象的状态进行操作,并进行状态转移。
本实施例提供了一些渠道熔断降级的智能决策规则,渠道管控模块通过执行决策规则,可以将不可控的熔断降级处理,可控、自动化。
具体地,本实施例的智能决策规则可以包括:
智能决策规则1:若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于等比例逐级降低所述目标渠道的短信流量下发速度;
具体地,本实施例针对超速问题,采用渠道降级处理,具体可以采用等比例逐级降速方案。
更具体地,智能决策规则1可以包括:
若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于:
接受所述目标渠道的超速告警通知;按设定比例降低所述目标渠道的短信流量下发速度并按所述设定比例下降所述目标渠道的路由权重;
定时向所述监控模块拉取固定时间窗口内所述目标渠道对应运营商返回的超速错误码指标统计数据;若所述固定时间窗口内出现超速错误码,则等比例逐级降低所述目标渠道的短信流量下发速度;
当连续两次定时查询,所述固定时间窗口内未出现超速错误码时,恢复所述目标渠道短信流量下发的初始速度,并恢复所述目标渠道的初始路由权重。
具体地,渠道管控模块接受渠道超速告警;通过更改渠道配置,例如:按80%比例减低(向上取整)渠道速度,按80%比例下降渠道路由权重。
渠道管控模块定时向监控模块拉取固定时间窗口(3分钟)内该渠道(即目标渠道)运营商返回的超速错误码指标统计数据,若固定时间窗口出现超速错误码,则渠道管控模块可以采取等比例逐级减低渠道速度;若连续两次定时查询,固定时间窗口内未出现超速错误码,渠道管控模块可以恢复渠道初始速度,并恢复渠道路由初始权重值。
接下来,对渠道路由权重进行说明,如下:
渠道以渠道组为基础,其中渠道权重以百分比为单位,流量路由模块进行消息路由时将按照设定的权重百分比进行加权随机选择渠道,从而进行路由选择。
流量路由模块通过监听渠道配置的更改,实时同步更新渠道路由权重配置。
渠道权重概率计算示例如下:
(1)渠道权重值向量组[4,4,7],将权重值映射为[1-4,5-8,9-15],程序在整数范围[1-15]随机生成整数值,整数落在权重映射范围值,即是选中渠道;
(2)渠道权重值向量组[4,4,0],将权重值映射为[1-4,5-8,0],程序在整数范围[1-8]随机生成整数值,整数落在权重映射范围值,即是选中渠道。
智能决策规则2:若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息;
更具体地,智能决策规则2可以包括:
若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于:
若消息积压量达到第一告警阈值,则将消息积压量与所述目标渠道的短信流量下发速度相除,得到第一下发时间,若所述第一下发时间小于第一设定时间,则忽略所述告警通知,否则设置所述目标渠道的权重为0;
若消息积压量达到第二告警阈值,则将消息积压量与所述目标渠道的短信流量下发速度相除,得到第二下发时间,若所述第二下发时间小于第二设定时间,则设置所述目标渠道的权重为0,否则选择备用渠道,广播渠道管控命令,以使对应备用渠道接受所述渠道管控命令,启动消息队列消费者,使得所述备用渠道消费所述目标渠道的消息队列,以实现流量均衡;
若消息积压量达到第三告警阈值,则设置渠道权重为0,并选择备用渠道共同消费所述目标渠道的积压消息;
定时向所述监控模块请求获取所述目标渠道的积压量,若所述目标渠道的积压量处于设定的正常范围,则广播管控命令,以使所述备用渠道下线消息消费者并恢复所述目标渠道的权重;
其中,所述第一告警阈值、所述第二告警阈值以及所述第三告警阈值依次增大,所述第一设定时间小于所述第二设定时间。
为了方便理解智能决策规则2,接下来将以一个完整的具体示例进行说明。
具体地,本实施例可以将消息积压量分为三个等级,分别对应10000、50000、100000三个积压量告警阈值;
若渠道管控模块接收到10000积压量告警,将10000积压量与渠道速度相除,若根据相除结果得到2分钟内能下发完毕,则忽略告警;若是2分钟内不能下发完毕,则设置渠道权重为0;
若渠道管控模块接收到50000积压量告警;将50000积压量与渠道速度相除,若根据相除结果得到5分钟内能下发完毕,则设置渠道权重为0;若是5分钟内不能下发完毕,则在渠道中选择备用渠道,广播渠道管控命令,以使对应的备用渠道接受命令,启动消息队列消费者,消费积压渠道的消息队列,实现流量均衡;
其中,本实施例选择备选渠道的实施方式如下:
策略一:积压量告警阈值的一半与渠道当前积压量相加之和,与渠道速度相除,根据相除结果得到的下发时间,判断在3分中内能下发完毕的候选渠道中,渠道价格最低的随机一条渠道;
策略二:策略一选择失败,选择方案调整为积压量告警阈值的一半与渠道当前积压量相加之和,与渠道速度相除,根据相除结果得到的下发时间,判断在5分中内能下发完毕的候选渠道中,渠道价格最低的随机一条渠道;
若渠道管控模块接收到100000积压量告警,设置渠道权重为0,并选择备用渠道共同消费积压消息;
渠道管控模块,定时(5分钟)请求指标监控模块,观察消息积压量指标,是否恢复正常。
积压量恢复正常,则广播管控命令,备用渠道下线消息消费者并恢复渠道权重。
智能决策规则3:若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断;
更具体地,智能决策规则3可以包括:
若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于:
若提交失败或状态报告失败在第三设定时间内失败率高于预设的失败率阈值,则更新所述目标渠道的配置,并减低所述目标渠道的路由权重;
定时监测时间窗口内所述失败率的变化,若连续两次定时查询,所述失败率仍高于所述失败率阈值,则将所述目标渠道的路由权重置为0,以实现流量熔断;
所述渠道管控模块还用于通过Kubernetes动态缩容下线所述目标渠道;响应于用户的操作,开启或关闭所述目标渠道的流量路由,或者,间隔固定时长后上线所述目标渠道,并恢复所述目标渠道的权重。
具体地,本实施例对渠道提交失败或者状态报告失败处理的实施方式示例如下:
提交失败、状态报告失败5分钟内失败率高于50%,渠道管控模块可以优先选择i虚拟的渠道,通过更新渠道配置减低该渠道路由权重;
渠道管控模块定时观察固定窗口内失败率变化;若连续两次定时任务,观察到失败率仍处于告警阈值,渠道管控模块将该渠道路由权重置为0,实现流量熔断;还可以通过Kubernetes动态缩容下线渠道。
本实施例支持业务操作员根据网络情况决定是否开启渠道流量路由,进而渠道管控模块响应业务操作员的操作,开启对应渠道的流量路由。
渠道管控模块还可以提供自动恢复策略,间隔(6小时)自动上线渠道,并恢复渠道权重。
智能决策规则4:若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于对所述目标渠道进行流量熔断、分流流量以及渠道下线。
更具体地,智能决策规则4可以包括:
若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于:
若所述目标渠道与运营商重连设定次数后仍断连,则推送重连超过设定次数的告警通知;
对所述目标渠道进行路由权重置为0、渠道下线以及选择备用渠道;
每间隔设定时间段,上线所述目标渠道,并收集所述目标渠道的重连指标;若所述目标渠道与运营商重新连接,则恢复所述目标渠道的路由权重初始值;否则,重新下线所述目标渠道。
具体地,本实施例对渠道断连处理的实施方式示例如下:
若目标渠道断连,则目标渠道可以自动重连若干次数;重连若干次数之后若仍是失败,将推送3分钟内重连次数超若干次告警;
渠道管控模块采取渠道路由权重置0、渠道下线、选择备用渠道消费未下发消息;
渠道管控模块每间隔一段时间可以自动上线渠道,并收集渠道重连指标;若正常重连,则执行恢复策略;否则,重新下线渠道,等间隔时间,重新执行前述操作;
可选地,本实施例的恢复策略可以是恢复渠道路由权重初始值。
参照图2,本申请实施例提供了一种短信渠道熔断降级方法,应用于上述的一种短信渠道熔断降级系统中的渠道管控模块,所述方法包括:
S200:接收监控模块发送的指标信息;
具体地,渠道管控模块根据指标信息包含的具体内容,对应执行S210至S240中的其中一个步骤;
S210:若所述指标信息为目标渠道下发短信流量超出设定速度,则等比例逐级降低所述目标渠道的短信流量下发速度;
S220:若所述指标信息为目标渠道出现消息积压,则根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息;
S230:若所述指标信息为目标渠道提交失败或状态报告失败,则采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断;
S240:若所述指标信息为目标渠道与运营商断连,则对所述目标渠道进行流量熔断、分流流量以及渠道下线。
该熔断降级方法的具体实施方式与上述熔断降级系统中的渠道管控模块的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述熔断降级方法。具体地,电子设备可以是用户终端,也可以是服务器。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述熔断降级方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行图2所示的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本申请的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本申请,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本申请是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本申请。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本申请的范围,本申请的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编辑只读存储器(EPROM或闪速存储器)、光纤装置以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。
以上是对本申请的较佳实施进行了具体说明,但本申请并不限于所述实施例,熟悉本领域的技术人员在不违背本申请精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种短信渠道熔断降级系统,其特征在于,包括:缓存模块、流量路由模块、流量出口模块、监控模块以及渠道管控模块;
其中,所述缓存模块用于缓存渠道配置信息;
所述流量路由模块,用于从所述缓存模块读取渠道配置信息,按照所述渠道配置信息中的渠道组的路由权重,将短信流量投递到各个渠道组对应路由的消息队列;
所述流量出口模块包括多个渠道组,每个渠道组包括同协议且同签名的多个渠道,所述流量出口模块用于通过各个渠道将短信流量发送到对接的运营商;
所述监控模块,用于获取所述流量路由模块、所述消息队列以及所述流量出口模块的指标信息;结合所述指标信息和预设的告警规则,生成告警通知并进行推送;将所述指标信息和所述告警通知发送到所述渠道管控模块;
所述渠道管控模块,用于接收所述指标信息和所述告警通知并触发对应的策略,以实现渠道的即时熔断降级;
所述渠道管控模块,用于接收所述指标信息和所述告警通知并触发对应的策略,以实现渠道的即时熔断降级,包括:所述渠道管控模块,用于接收所述指标信息和所述告警通知并通过更新所述渠道配置信息、广播渠道管控命令或基于Kubernetes动态缩容下线渠道的方式实现渠道的即时熔断降级;
所述渠道管控模块,用于接收所述指标信息和所述告警通知并通过更新所述渠道配置信息、广播渠道管控命令或基于Kubernetes动态缩容下线渠道的方式实现渠道的即时熔断降级,包括:
若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于等比例逐级降低所述目标渠道的短信流量下发速度;
若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息;
若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断;
若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于对所述目标渠道进行流量熔断、分流流量以及渠道下线。
2.根据权利要求1所述的一种短信渠道熔断降级系统,其特征在于,所述监控模块还用于响应于对所述指标信息的查询操作,并返回查询结果。
3.根据权利要求1所述的一种短信渠道熔断降级系统,其特征在于,所述渠道管控模块用于:
接收所述告警通知并判断是否需要处理所述告警通知对应的告警事件;
若确定为需要处理所述告警事件,则通过渠道ID查询是否存在所述告警事件对应的事件对象;若不存在,则将所述告警事件封装为事件对象;若存在,则经所述告警事件聚合入已存在的事件对象中;
根据所述指标信息触发所述事件对象中预先封装的策略对象,以实现渠道的即时熔断降级。
4.根据权利要求1所述的一种短信渠道熔断降级系统,其特征在于,所述若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于等比例逐级降低所述目标渠道的短信流量下发速度,包括:
若所述指标信息为目标渠道下发短信流量超出设定速度,则所述渠道管控模块用于:
接受所述目标渠道的超速告警通知;按设定比例降低所述目标渠道的短信流量下发速度并按所述设定比例下降所述目标渠道的路由权重;
定时向所述监控模块拉取固定时间窗口内所述目标渠道对应运营商返回的超速错误码指标统计数据;若所述固定时间窗口内出现超速错误码,则等比例逐级降低所述目标渠道的短信流量下发速度;
当连续两次定时查询,所述固定时间窗口内未出现超速错误码时,恢复所述目标渠道短信流量下发的初始速度,并恢复所述目标渠道的初始路由权重。
5.根据权利要求1所述的一种短信渠道熔断降级系统,其特征在于,所述若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息,包括:
若所述指标信息为目标渠道出现消息积压,则所述渠道管控模块用于:
若消息积压量达到第一告警阈值,则将消息积压量与所述目标渠道的短信流量下发速度相除,得到第一下发时间,若所述第一下发时间小于第一设定时间,则忽略所述告警通知,否则设置所述目标渠道的权重为0;
若消息积压量达到第二告警阈值,则将消息积压量与所述目标渠道的短信流量下发速度相除,得到第二下发时间,若所述第二下发时间小于第二设定时间,则设置所述目标渠道的权重为0,否则选择备用渠道,广播渠道管控命令,以使对应备用渠道接受所述渠道管控命令,启动消息队列消费者,使得所述备用渠道消费所述目标渠道的消息队列,以实现流量均衡;
若消息积压量达到第三告警阈值,则设置渠道权重为0,并选择备用渠道共同消费所述目标渠道的积压消息;
定时向所述监控模块请求获取所述目标渠道的积压量,若所述目标渠道的积压量处于设定的正常范围,则广播管控命令,以使所述备用渠道下线消息消费者并恢复所述目标渠道的权重;
其中,所述第一告警阈值、所述第二告警阈值以及所述第三告警阈值依次增大,所述第一设定时间小于所述第二设定时间。
6.根据权利要求1所述的一种短信渠道熔断降级系统,其特征在于,所述若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断,包括:
若所述指标信息为目标渠道提交失败或状态报告失败,则所述渠道管控模块用于:
若提交失败或状态报告失败在第三设定时间内失败率高于预设的失败率阈值,则更新所述目标渠道的配置,并减低所述目标渠道的路由权重;
定时监测时间窗口内所述失败率的变化,若连续两次定时查询,所述失败率仍高于所述失败率阈值,则将所述目标渠道的路由权重置为0,以实现流量熔断;
所述渠道管控模块还用于通过Kubernetes动态缩容下线所述目标渠道;响应于用户的操作,开启或关闭所述目标渠道的流量路由,或者,间隔固定时长后上线所述目标渠道,并恢复所述目标渠道的权重。
7.根据权利要求1所述的一种短信渠道熔断降级系统,其特征在于,所述若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于对所述目标渠道进行流量熔断、分流流量以及渠道下线,包括:
若所述指标信息为目标渠道与运营商断连,则所述渠道管控模块用于:
若所述目标渠道与运营商重连设定次数后仍断连,则推送重连超过设定次数的告警通知;
对所述目标渠道进行路由权重置为0、渠道下线以及选择备用渠道;
每间隔设定时间段,上线所述目标渠道,并收集所述目标渠道的重连指标;若所述目标渠道与运营商重新连接,则恢复所述目标渠道的路由权重初始值;否则,重新下线所述目标渠道。
8.一种短信渠道熔断降级方法,其特征在于,应用于如权利要求1至7任一项所述的一种短信渠道熔断降级系统中的渠道管控模块,所述方法包括:
接收监控模块发送的指标信息;
若所述指标信息为目标渠道下发短信流量超出设定速度,则等比例逐级降低所述目标渠道的短信流量下发速度;
若所述指标信息为目标渠道出现消息积压,则根据消息的积压量递进采用忽略所述目标渠道的权重、降低所述目标渠道的权重以及流量均衡的策略,以加快下发积压的消息;
若所述指标信息为目标渠道提交失败或状态报告失败,则采用时间窗口持续监测失败率的变化,并采用流量权重降级的策略,以对所述目标渠道进行流量熔断;
若所述指标信息为目标渠道与运营商断连,则对所述目标渠道进行流量熔断、分流流量以及渠道下线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311203718.6A CN117202117B (zh) | 2023-09-18 | 2023-09-18 | 一种短信渠道熔断降级系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311203718.6A CN117202117B (zh) | 2023-09-18 | 2023-09-18 | 一种短信渠道熔断降级系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117202117A CN117202117A (zh) | 2023-12-08 |
CN117202117B true CN117202117B (zh) | 2024-04-16 |
Family
ID=88988498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311203718.6A Active CN117202117B (zh) | 2023-09-18 | 2023-09-18 | 一种短信渠道熔断降级系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117202117B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108513271A (zh) * | 2018-06-22 | 2018-09-07 | 武汉斑马快跑科技有限公司 | 基于多个短信通道的短信分发方法和设备 |
CN110267217A (zh) * | 2019-06-17 | 2019-09-20 | 浙江百应科技有限公司 | 一种多通道可切换的短信发送方法 |
CN111246406A (zh) * | 2020-01-08 | 2020-06-05 | 深圳壹账通智能科技有限公司 | 一种短信发送方法、系统、存储介质及终端设备 |
CN113347226A (zh) * | 2021-04-25 | 2021-09-03 | 北京淇瑀信息科技有限公司 | 一种触达渠道路由方法、装置及电子设备 |
CN113923609A (zh) * | 2021-09-28 | 2022-01-11 | 度小满科技(北京)有限公司 | 基于多个短信通道的短信分发方法、装置以及电子设备 |
CN115278563A (zh) * | 2022-07-28 | 2022-11-01 | 江苏苏宁银行股份有限公司 | 一种基于影响因子的短信通道智能选择方法和系统 |
CN115696238A (zh) * | 2022-09-16 | 2023-02-03 | 广州市玄武无线科技股份有限公司 | 一种渠道智能调度方法及系统 |
CN116709223A (zh) * | 2023-06-19 | 2023-09-05 | 北京国都互联科技有限公司 | 一种短信服务通道资源调配方法、系统及设备和介质 |
-
2023
- 2023-09-18 CN CN202311203718.6A patent/CN117202117B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108513271A (zh) * | 2018-06-22 | 2018-09-07 | 武汉斑马快跑科技有限公司 | 基于多个短信通道的短信分发方法和设备 |
CN110267217A (zh) * | 2019-06-17 | 2019-09-20 | 浙江百应科技有限公司 | 一种多通道可切换的短信发送方法 |
CN111246406A (zh) * | 2020-01-08 | 2020-06-05 | 深圳壹账通智能科技有限公司 | 一种短信发送方法、系统、存储介质及终端设备 |
CN113347226A (zh) * | 2021-04-25 | 2021-09-03 | 北京淇瑀信息科技有限公司 | 一种触达渠道路由方法、装置及电子设备 |
CN113923609A (zh) * | 2021-09-28 | 2022-01-11 | 度小满科技(北京)有限公司 | 基于多个短信通道的短信分发方法、装置以及电子设备 |
CN115278563A (zh) * | 2022-07-28 | 2022-11-01 | 江苏苏宁银行股份有限公司 | 一种基于影响因子的短信通道智能选择方法和系统 |
CN115696238A (zh) * | 2022-09-16 | 2023-02-03 | 广州市玄武无线科技股份有限公司 | 一种渠道智能调度方法及系统 |
CN116709223A (zh) * | 2023-06-19 | 2023-09-05 | 北京国都互联科技有限公司 | 一种短信服务通道资源调配方法、系统及设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117202117A (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3547649B1 (en) | Method and system for sending request for acquiring data resource | |
US10897406B2 (en) | Scheduling method for content delivery network, and device | |
EP3873066A1 (en) | Method for managing resource state information, and resource downloading system | |
CN109639591B (zh) | 配电数据反向传输方法及系统和计算机可读存储介质 | |
EP3264723B1 (en) | Method, related apparatus and system for processing service request | |
CN104126285A (zh) | 用于在云网络中进行快速灾难恢复准备的方法和设备 | |
CN102984077B (zh) | 网络拥塞的控制方法及系统 | |
CN110336848B (zh) | 一种访问请求的调度方法及调度系统、设备 | |
CN113438129B (zh) | 数据采集方法及装置 | |
US11102289B2 (en) | Method for managing resource state information and system for downloading resource | |
CN113811013A (zh) | 集群容量动态调节方法、设备、存储介质和通信系统 | |
CN112491961A (zh) | 调度系统及方法、cdn系统 | |
CN117202117B (zh) | 一种短信渠道熔断降级系统及方法 | |
CN110865921A (zh) | 数据监控方法、装置、可读存储介质和电子设备 | |
CN116760655B (zh) | Sd-wan应用中提供cpe最优接入的pop点方法 | |
CN112311826B (zh) | 内容分发系统中访问请求的处理方法、装置及系统 | |
CN101695049A (zh) | 一种监控系统中的业务处理方法及装置 | |
CN116489019B (zh) | 一种智能视觉信令通道管理方法、系统及介质 | |
US20240097982A1 (en) | Data transmission method, user equipment, and storage medium | |
CN112256454B (zh) | 消息延时处理方法和系统 | |
CN109271234B (zh) | 一种监控信息收集方法、装置及设备 | |
CN113190347A (zh) | 一种边缘云系统及任务管理方法 | |
CN105323320A (zh) | 一种内容分发的方法及装置 | |
CN114500663B (zh) | 内容分发网络设备的调度方法、装置、设备及存储介质 | |
CN113472888B (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 |