CN108513271A - 基于多个短信通道的短信分发方法和设备 - Google Patents
基于多个短信通道的短信分发方法和设备 Download PDFInfo
- Publication number
- CN108513271A CN108513271A CN201810651550.8A CN201810651550A CN108513271A CN 108513271 A CN108513271 A CN 108513271A CN 201810651550 A CN201810651550 A CN 201810651550A CN 108513271 A CN108513271 A CN 108513271A
- Authority
- CN
- China
- Prior art keywords
- short message
- channel
- client
- optimal
- channels
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/18—Service support devices; Network management devices
- H04W88/184—Messaging devices, e.g. message centre
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种基于多个短信通道的短信分发方法和设备,短信分发方法包括:基于获取到的客户端发送的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从多个短信通道中选择第一最优短信通道将短信分发给客户端;若在预设时间内未接收到客户端返回的成功送达信息,且判断获知熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从多个短信通道中选择第二最优短信通道将短信分发给客户端。本发明实施例通过设置熔断重试机制,能尽量确保短信成功发送,减少了数据的丢失率。通过Kubernetes云容器部署,可以有效的应对突发流量。能够从负载的角度优选出最佳的短信通道进行短信发送。
Description
技术领域
本发明实施例涉及计算机技术领域,更具体地,涉及一种基于多个短信通道的短信分发方法和设备。
背景技术
目前市面上第三方短信平台服务提供商包含多个。绝大部分应用使用者都是集成某一种服务到自己平台中。由于是第三方服务提供商,都有可能存在通道不稳定等。消息发送并发过高等原因导致消息短暂不可用。这会影响用户体验。
同时第三方的服务还存在以下问题:
首先是应用和短信服务强耦合,使得短信服务不可用,所有短信基本都不能使用。其次是服务提供商缺乏重传机制,消息的发送可能因为网络原因,或者服务商自己的原因等造成消息丢失。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于多个短信通道的短信分发方法和设备。
本发明实施例提供一种基于多个短信通道的短信分发方法,包括:基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
本发明实施例提供一种基于多个短信通道的短信分发设备,包括:至少一个处理器;以及与所述处理器通信连接的至少一个存储器,其中:所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述短信分发方法。
本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述短信分发方法。
本发明实施例提供的基于多个短信通道的短信分发方法和设备,通过设置熔断重试机制,能够尽量确保短信成功发送,减少了数据的丢失率。通过设置Kubernetes云容器部署,可以有效的应对突发流量。通过设置多个短信通道,能够从负载的角度优选出最佳的短信通道进行短信发送。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于多个短信通道的短信分发方法实施例的流程图;
图2为本发明实施例中的基于多个短信通道的短信分发方法的流程示意图;
图3为本发明基于多个短信通道的短信分发系统实施例的模块图;
图4为本发明实施例中的基于多个短信通道的短信分发设备的框架示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明基于多个短信通道的短信分发方法实施例的流程图,如图1所示,包括:S101、基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;S102、若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
具体地,步骤S101中,通过所述第一最优短信通道将短信分发给客户端,是指将短信发送给客户端的动作,而不是确认短信到达客户端的状态。
进一步地,步骤S102是指,在熔断和降级的次数未达到预设阈值时,则在短信未发成功时持续进行熔断和降级,并继续分发短信给客户端。
需要说明的是,Kubernetes(k8s)是开源的容器集群管理系统。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。
Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。
需要说明的是,熔断一般是指软件系统中,由于某些原因使得服务出现了过载现象,为防止造成整个系统故障,从而采用的一种保护措施,所以很多地方把熔断亦称为过载保护。降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。
需要说明的是,短信通道是由通信运营商直接提供的短信发送接口,实现与客户指定号码进行短信批量发送和自定义发送的目的。
需要说明的是,所述客户端优选为手机、平板电脑等通信设备,更具体地,是指通信设备中的App。
本发明实施例提供的基于多个短信通道的短信分发方法,通过设置熔断重试机制,能够尽量确保短信成功发送,减少了数据的丢失率。通过设置Kubernetes云容器部署,可以有效的应对突发流量。通过设置多个短信通道,能够从负载的角度优选出最佳的短信通道进行短信发送。
基于上述实施例,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,具体包括:基于获取到的客户端发送的的短信请求,判断所述客户端是否通过token验证,若所述客户端通过token验证,则将所述短信请求存储至消息队列中;基于所述消息队列中的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端。
需要说明的是,token是计算机术语:令牌,令牌是一种能够控制站点占有媒体的特殊帧,以区别数据帧及其他控制帧。token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。
使用基于token的身份验证方法,在短信平台不需要存储用户的登录记录。大概的流程是这样的:
1)服务请求方注册短信平台获取后台分配的appKey和appSercet,通过appkey可以标识是哪一个应用的来源请求。
2)服务请求方通过appKey和appSercet来生成token。
3)服务请求方生成token以后可以把它存储起来,比如放在Cookie里或者LocalStorage里。
5)服务请求方每次向短信平台请求资源的时候需要带着签发的token。
6)短信平台收到请求,然后去验证服务请求方请求里面带着的token,如果验证成功,就向客户端返回请求的数据。
本发明实施例提供的基于多个短信通道的短信分发方法,通过设置token验证,能够便于后台管理。
基于上述实施例,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,之后还包括:若在所述预设时间内接收到所述客户端返回的成功送达信息,则向短信接口SMSDK发送短信送达信息,并将所述消息队列中的所述短信请求删除。
具体地,若在所述预设时间内接收到所述客户端返回的成功送达信息,则证明短信已成功送达至客户端,这时向短信接口SMSDK发送短信送达信息,所述SMSDK是所述消息队列调用的,确保SMSDK确认短信送达,此时将所述消息队列中的所述短信请求删除。
需要说明的是,短信接口即企业短信平台接口(API版)是面向有一定技术开发能力的企业用户而单独研发的短信(sms)接口。接口采用了通用的HTTP、WEBSERVICE、SGIP、CMPP、SMGP等形式,可以支持各种操作系统和开发语言,支持二次开发。
本发明实施例提供的基于多个短信通道的短信分发方法,通过设置确保SMSDK确认短信送达,此时将所述消息队列中的所述短信请求删除,能够确保短信送达的准确性,减少了数据的丢失。
基于上述实施例,所述根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,具体包括:根据每一短信通道的第一分配比例,判断所述每一通道的第一到达容量比例;从所述多个短信通道中选择第一到达容量比例最高的短信通道作为所述第一最优短信通道;其中,每一短信通道的第一分配比例之和为1,所述第一到达容量比例是指第一负载和最大负载的比值。
具体地,本实施例是指,对Kubernetes中多个短信通道分配不同的的第一分配比例。第一负载是指此时的实时负载。
进一步地,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道,具体包括:根据每一短信通道的第二分配比例,判断所述每一通道的第二到达容量比例;从所述多个短信通道中选择第二到达容量比例最高的短信通道作为所述第二最优短信通道;其中,每一短信通道的第二分配比例之和为1,所述第二到达容量比例是指第二负载和最大负载的比值。
基于上述实施例,所述若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端,具体包括:若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则生成对应的错误日志,并基于所述对应的错误日志,以及历史日志,统计并发情况和对应于每一短信通道的错误日志数量;若基于所述并发情况判断获知并发大,则调整所述Kubernetes中的每一短信通道的Pod数量,若判断获知所述对应于任一短信通道的错误日志数量大于预设错误阈值,则调整每一短信通道的第一分配比例,并将调整后的每一短信通道的第一分配比例作为每一短信通道的第二分配比例;进行熔断和降级,并将所述熔断和降级次数加一,基于调整后的所述Kubernetes中的每一短信通道的Pod数量和为每一短信通道的第二分配比例,获取Kubernetes中多个短信通道的第二负载情况,并根据所述第二负载情况从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
基于上述实施例,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,具体包括:基于获取到的客户端发送的的短信请求,生成对应的请求日志,并根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;对应的,所述历史日志包括历史请求日志和历史错误日志。
具体地,生成对应的错误日志,并基于所述对应的错误日志,以及历史日志,统计并发情况和对应于每一短信通道的错误日志数量,之后还包括,对系统管理员进行告警发送。
具体地,所述统计并发情况包括统计api请求频率和因服务器接口请求超时异常的数量,进一步地,所述并发大指的是api请求频率超过预设请求频率阈值和/或因服务器接口请求超时异常的数量超过预设数量阈值。
进一步地,若判断获知所述对应于任一短信通道的错误日志数量大于预设错误阈值,则调整每一短信通道的第一分配比例,并关闭服务较差的短信通道。
本发明实施例中设置了短信通道的评级,根据向客户端发送的每一条短信信息,统计每一条短信的上行时间和回调返回时间,对每一短信通道做评分,以验证码短信为例:
设置请求时间T1,用户接受平均时间T2,系统回调时间T3,则时间效率得分:s1=T1*p1+T2*p2+T3*p3。
同时进行接口请求稳定性评分:每日请求成功率:s2=o*10,最终得分s=s1+s2
可以根据每一评分大小动态调整分配比例.当评分过低,直接停用当前短信通道。
对于日志的管理,本发明实施例提供了有效的日志存储功能,可以追踪每一条用户短信日志轨迹,可提供app每日发送数据统计报表,分析用户行为,例如打开app登陆使用时间段或者用户上行退订频率等,进而可以调整公司运力安排和活动调整等运营策略。
本发明实施例提供的基于多个短信通道的短信分发方法,通过采用云容器部署方案,可以通过收集的错误日志,动态调整容器负责数量。可以有效的应对突发流量。通过消息日志收集,实现数据监控和统计功能,根据每家的失败率或者错误原因进行相应的比例调整。
基于上述实施例,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,之后还包括:若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数大于所述预设阈值,则向所述客户端发送短信发送失败信息,并生成对应的错误日志。
基于上述实施例,所述每一短信通道对应的服务商相同或不同。
基于上述实施例,所述短信接口的数量为1。接口路由是统一的,简化服务接入,统一错误码。
具体地,所有服务商对应只有一个短信接口,不考虑第三方的繁琐的接口内容和各自的状态定义值,可以对不同的服务商的短信进行统一的管理。
作为一个优选的实施例,图2为本发明实施例中的基于多个短信通道的短信分发方法的流程示意图,请参看图2,本发明实施例中的基于多个短信通道的短信分发方法包括:
基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端。
若在所述预设时间内接收到所述客户端返回的成功送达信息,则向短信接口SMSDK发送短信送达信息,并将所述消息队列中的所述短信请求删除。
若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数大于所述预设阈值,则向所述客户端发送短信发送失败信息,并生成对应的错误日志。
若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,具体包括:基于获取到的客户端发送的的短信请求,判断所述客户端是否通过token验证,若所述客户端通过token验证,则将所述短信请求存储至消息队列中;基于所述消息队列中的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端。
所述根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,具体包括:根据每一短信通道的第一分配比例,判断所述每一通道的第一到达容量比例;从所述多个短信通道中选择第一到达容量比例最高的短信通道作为所述第一最优短信通道。
所述若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据
Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端,具体包括:若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则生成对应的错误日志,并基于所述对应的错误日志,以及历史日志,统计并发情况和对应于每一短信通道的错误日志数量;若基于所述并发情况判断获知并发大,则调整所述Kubernetes中的每一短信通道的Pod数量,若判断获知所述对应于任一短信通道的错误日志数量大于预设错误阈值,则调整每一短信通道的第一分配比例,并将调整后的每一短信通道的第一分配比例作为每一短信通道的第二分配比例;进行熔断和降级,并将所述熔断和降级次数加一,基于调整后的所述Kubernetes中的每一短信通道的Pod数量和为每一短信通道的第二分配比例,获取Kubernetes中多个短信通道的第二负载情况,并根据所述第二负载情况从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,具体包括:基于获取到的客户端发送的的短信请求,生成对应的请求日志,并根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;对应的,所述历史日志包括历史请求日志和历史错误日志。
基于上述实施例,图3为本发明基于多个短信通道的短信分发系统实施例的模块图,如图3所示,包括:分发模块301,用于基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;熔断模块302,用于若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
需要说明的是,本发明实施例中的基于多个短信通道的短信分发系统,均指代与基于多个短信通道的短信分发方法相对应的,包含分发模块301和熔断模块302的基于多个短信通道的短信分发系统。
本发明实施例的短信分发系统,可用于执行图1所示的基于多个短信通道的短信分发方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
基于上述实施例,图4为本发明实施例中的基于多个短信通道的短信分发设备的框架示意图。请参考图4,本发明实施例提供一种基于多个短信通道的短信分发设备,包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和总线440,其中,处理器410,通信接口420,存储器430通过总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行如下方法,包括:基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的短信分发方法,例如包括:基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
基于上述实施例,本发明实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的短信分发方法,例如包括:基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
本领域普通技术人员可以理解:实现上述设备实施例或方法实施例仅仅是示意性的,其中所述处理器和所述存储器可以是物理上分离的部件也可以不是物理上分离的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如U盘、移动硬盘、ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本发明实施例提供的基于多个短信通道的短信分发方法和设备,通过设置熔断重试机制,能够尽量确保消息成功发送,减少了数据的丢失率。通过设置Kubernetes云容器部署,可以有效的应对突发流量。通过设置多个短信通道,能够从负载的角度优选出最佳的短信通道进行短信发送。通过设置token验证,能够便于后台管理。通过设置确保SMSDK确认短信送达,此时将所述消息队列中的所述短信请求删除,能够确保短信送达的准确性,减少了数据的丢失。通过采用云容器部署方案,可以通过收集的错误日志,动态调整容器负责数量。可以有效的应对突发流量。通过消息日志收集,实现数据监控和统计功能,根据每家的失败率或者错误原因进行相应的比例调整。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于多个短信通道的短信分发方法,其特征在于,包括:
基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;
若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
2.根据权利要求1所述的短信分发方法,其特征在于,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,具体包括:
基于获取到的客户端发送的的短信请求,判断所述客户端是否通过token验证,若所述客户端通过token验证,则将所述短信请求存储至消息队列中;
基于所述消息队列中的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端。
3.根据权利要求2所述的短信分发方法,其特征在于,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,之后还包括:
若在所述预设时间内接收到所述客户端返回的成功送达信息,则向短信接口SMSDK发送短信送达信息,并将所述消息队列中的所述短信请求删除。
4.根据权利要求1所述的短信分发方法,其特征在于,所述根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,具体包括:
根据每一短信通道的第一分配比例,判断所述每一通道的第一到达容量比例;
从所述多个短信通道中选择第一到达容量比例最高的短信通道作为所述第一最优短信通道;
其中,每一短信通道的第一分配比例之和为1,所述第一到达容量比例是指第一负载和最大负载的比值。
5.根据权利要求4所述的短信分发方法,其特征在于,所述若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则进行熔断和降级,并将所述熔断和降级次数加一,根据Kubernetes中多个短信通道的第二负载情况,从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端,具体包括:
若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数小于等于预设阈值,则生成对应的错误日志,并基于所述对应的错误日志,以及历史日志,统计并发情况和对应于每一短信通道的错误日志数量;
若基于所述并发情况判断获知并发大,则调整所述Kubernetes中的每一短信通道的Pod数量,若判断获知所述对应于任一短信通道的错误日志数量大于预设错误阈值,则调整每一短信通道的第一分配比例,并将调整后的每一短信通道的第一分配比例作为每一短信通道的第二分配比例;
进行熔断和降级,并将所述熔断和降级次数加一,基于调整后的所述Kubernetes中的每一短信通道的Pod数量和为每一短信通道的第二分配比例,获取Kubernetes中多个短信通道的第二负载情况,并根据所述第二负载情况从所述多个短信通道中选择第二最优短信通道将短信分发给所述客户端。
6.根据权利要求1所述的短信分发方法,其特征在于,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,之后还包括:
若在预设时间内未接收到所述客户端返回的成功送达信息,且判断获知基于多个短信通道的短信分发系统的熔断和降级次数大于所述预设阈值,则向所述客户端发送短信发送失败信息,并生成对应的错误日志。
7.根据权利要求1所述的短信分发方法,其特征在于,所述每一短信通道对应的服务商相同或不同。
8.根据权利要求3所述的短信分发方法,其特征在于,所述短信接口的数量为1。
9.根据权利要求5所述的短信分发方法,其特征在于,所述基于获取到的客户端发送的的短信请求,根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端,具体包括:
基于获取到的客户端发送的的短信请求,生成对应的请求日志,并根据Kubernetes中多个短信通道的第一负载情况,从所述多个短信通道中选择第一最优短信通道,并通过所述第一最优短信通道将短信分发给所述客户端;
对应的,所述历史日志包括历史请求日志和历史错误日志。
10.一种基于多个短信通道的短信分发设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至9任一所述的短信分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810651550.8A CN108513271B (zh) | 2018-06-22 | 2018-06-22 | 基于多个短信通道的短信分发方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810651550.8A CN108513271B (zh) | 2018-06-22 | 2018-06-22 | 基于多个短信通道的短信分发方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108513271A true CN108513271A (zh) | 2018-09-07 |
CN108513271B CN108513271B (zh) | 2021-06-25 |
Family
ID=63403853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810651550.8A Active CN108513271B (zh) | 2018-06-22 | 2018-06-22 | 基于多个短信通道的短信分发方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108513271B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109168135A (zh) * | 2018-11-09 | 2019-01-08 | 上海银赛计算机科技有限公司 | 短信发送通道的选择方法、装置、短信平台和存储介质 |
CN109246631A (zh) * | 2018-11-29 | 2019-01-18 | 甘肃万维信息科技有限责任公司 | 一种短信发送的方法 |
CN109918196A (zh) * | 2019-01-23 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 系统资源分配方法、装置、计算机设备和存储介质 |
CN110267217A (zh) * | 2019-06-17 | 2019-09-20 | 浙江百应科技有限公司 | 一种多通道可切换的短信发送方法 |
CN110445844A (zh) * | 2019-07-12 | 2019-11-12 | 中国平安人寿保险股份有限公司 | 短信多通道选择方法及装置、存储介质、电子设备 |
CN110502345A (zh) * | 2019-08-26 | 2019-11-26 | 北京博睿宏远数据科技股份有限公司 | 一种过载保护方法、装置、计算机设备及存储介质 |
CN111065061A (zh) * | 2019-11-25 | 2020-04-24 | 佛山欧神诺云商科技有限公司 | 一种基于多通道的短信请求发送系统、方法及存储介质 |
CN111093162A (zh) * | 2019-12-18 | 2020-05-01 | 上海良鑫网络科技有限公司 | 一种智能选择短信发送通道的方法 |
CN111585888A (zh) * | 2020-05-21 | 2020-08-25 | 深圳前海移联科技有限公司 | 一种通用的多通道智能路由方法 |
CN112468980A (zh) * | 2020-10-27 | 2021-03-09 | 北京思特奇信息技术股份有限公司 | 基于分布式内存数据库的短信提醒熔断处理方法和系统 |
CN113316101A (zh) * | 2021-02-19 | 2021-08-27 | 深圳力维智联技术有限公司 | 短信发送方法、短信发送装置、短信发送设备及存储介质 |
CN113923609A (zh) * | 2021-09-28 | 2022-01-11 | 度小满科技(北京)有限公司 | 基于多个短信通道的短信分发方法、装置以及电子设备 |
CN114222259A (zh) * | 2021-12-20 | 2022-03-22 | 浙江百应科技有限公司 | 基于多重路由和重试的短信投递方法、系统、设备和介质 |
CN115934479A (zh) * | 2023-03-15 | 2023-04-07 | 天聚地合(苏州)科技股份有限公司 | 接口服务的控制方法、装置、存储介质及设备 |
CN117202117A (zh) * | 2023-09-18 | 2023-12-08 | 广州市玄武无线科技股份有限公司 | 一种短信渠道熔断降级系统及方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453979A (zh) * | 2002-04-23 | 2003-11-05 | 华为技术有限公司 | 短消息系统 |
CN101258709A (zh) * | 2004-04-26 | 2008-09-03 | 移动365 | 便于无线网络间消息交换的中介网络系统和方法 |
CN101400024A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 一种信令网元层面负荷分担的方法及设备 |
CN101925028A (zh) * | 2009-06-16 | 2010-12-22 | 中兴通讯股份有限公司 | 一种短消息网关及其短消息异网互通处理方法 |
CN102695142A (zh) * | 2011-03-22 | 2012-09-26 | 王函石 | 一种全媒体科普视窗sms消息智能控制的方法 |
CN103856963A (zh) * | 2014-03-05 | 2014-06-11 | 浪潮通信信息系统有限公司 | 一种创建智能通信通道的方法 |
US20150256309A1 (en) * | 2014-03-06 | 2015-09-10 | Samsung Electronics Co., Ltd. | Methods and apparatuses for wirelessly communicating in a multiple user-multiple-in-multiple-out network |
CN106028292A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种发送短信的通道分配方法及系统 |
CN106851600A (zh) * | 2017-01-12 | 2017-06-13 | 和创(北京)科技股份有限公司 | 短信分发方法和用于进行短信分发的服务器 |
CN107567000A (zh) * | 2017-09-18 | 2018-01-09 | 广东电网有限责任公司信息中心 | 一种智能选择短信发送通道的方法及系统 |
CN107734475A (zh) * | 2017-11-15 | 2018-02-23 | 中国联合网络通信集团有限公司 | 基于短信链路的短信发送方法及业务平台 |
-
2018
- 2018-06-22 CN CN201810651550.8A patent/CN108513271B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1453979A (zh) * | 2002-04-23 | 2003-11-05 | 华为技术有限公司 | 短消息系统 |
CN101258709A (zh) * | 2004-04-26 | 2008-09-03 | 移动365 | 便于无线网络间消息交换的中介网络系统和方法 |
CN101400024A (zh) * | 2007-09-28 | 2009-04-01 | 华为技术有限公司 | 一种信令网元层面负荷分担的方法及设备 |
CN101925028A (zh) * | 2009-06-16 | 2010-12-22 | 中兴通讯股份有限公司 | 一种短消息网关及其短消息异网互通处理方法 |
CN102695142A (zh) * | 2011-03-22 | 2012-09-26 | 王函石 | 一种全媒体科普视窗sms消息智能控制的方法 |
CN103856963A (zh) * | 2014-03-05 | 2014-06-11 | 浪潮通信信息系统有限公司 | 一种创建智能通信通道的方法 |
US20150256309A1 (en) * | 2014-03-06 | 2015-09-10 | Samsung Electronics Co., Ltd. | Methods and apparatuses for wirelessly communicating in a multiple user-multiple-in-multiple-out network |
CN106028292A (zh) * | 2016-05-05 | 2016-10-12 | 北京思特奇信息技术股份有限公司 | 一种发送短信的通道分配方法及系统 |
CN106851600A (zh) * | 2017-01-12 | 2017-06-13 | 和创(北京)科技股份有限公司 | 短信分发方法和用于进行短信分发的服务器 |
CN107567000A (zh) * | 2017-09-18 | 2018-01-09 | 广东电网有限责任公司信息中心 | 一种智能选择短信发送通道的方法及系统 |
CN107734475A (zh) * | 2017-11-15 | 2018-02-23 | 中国联合网络通信集团有限公司 | 基于短信链路的短信发送方法及业务平台 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109168135A (zh) * | 2018-11-09 | 2019-01-08 | 上海银赛计算机科技有限公司 | 短信发送通道的选择方法、装置、短信平台和存储介质 |
CN109246631B (zh) * | 2018-11-29 | 2022-03-15 | 中电万维信息技术有限责任公司 | 一种短信发送的方法 |
CN109246631A (zh) * | 2018-11-29 | 2019-01-18 | 甘肃万维信息科技有限责任公司 | 一种短信发送的方法 |
CN109918196A (zh) * | 2019-01-23 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 系统资源分配方法、装置、计算机设备和存储介质 |
CN109918196B (zh) * | 2019-01-23 | 2022-11-29 | 深圳壹账通智能科技有限公司 | 系统资源分配方法、装置、计算机设备和存储介质 |
CN110267217A (zh) * | 2019-06-17 | 2019-09-20 | 浙江百应科技有限公司 | 一种多通道可切换的短信发送方法 |
CN110445844A (zh) * | 2019-07-12 | 2019-11-12 | 中国平安人寿保险股份有限公司 | 短信多通道选择方法及装置、存储介质、电子设备 |
CN110502345A (zh) * | 2019-08-26 | 2019-11-26 | 北京博睿宏远数据科技股份有限公司 | 一种过载保护方法、装置、计算机设备及存储介质 |
CN111065061A (zh) * | 2019-11-25 | 2020-04-24 | 佛山欧神诺云商科技有限公司 | 一种基于多通道的短信请求发送系统、方法及存储介质 |
CN111093162A (zh) * | 2019-12-18 | 2020-05-01 | 上海良鑫网络科技有限公司 | 一种智能选择短信发送通道的方法 |
CN111585888A (zh) * | 2020-05-21 | 2020-08-25 | 深圳前海移联科技有限公司 | 一种通用的多通道智能路由方法 |
CN112468980A (zh) * | 2020-10-27 | 2021-03-09 | 北京思特奇信息技术股份有限公司 | 基于分布式内存数据库的短信提醒熔断处理方法和系统 |
CN113316101A (zh) * | 2021-02-19 | 2021-08-27 | 深圳力维智联技术有限公司 | 短信发送方法、短信发送装置、短信发送设备及存储介质 |
CN113316101B (zh) * | 2021-02-19 | 2022-08-09 | 深圳力维智联技术有限公司 | 短信发送方法、短信发送装置、短信发送设备及存储介质 |
CN113923609A (zh) * | 2021-09-28 | 2022-01-11 | 度小满科技(北京)有限公司 | 基于多个短信通道的短信分发方法、装置以及电子设备 |
CN114222259A (zh) * | 2021-12-20 | 2022-03-22 | 浙江百应科技有限公司 | 基于多重路由和重试的短信投递方法、系统、设备和介质 |
CN115934479A (zh) * | 2023-03-15 | 2023-04-07 | 天聚地合(苏州)科技股份有限公司 | 接口服务的控制方法、装置、存储介质及设备 |
CN115934479B (zh) * | 2023-03-15 | 2023-07-25 | 天聚地合(苏州)科技股份有限公司 | 接口服务的控制方法、装置、存储介质及设备 |
CN117202117A (zh) * | 2023-09-18 | 2023-12-08 | 广州市玄武无线科技股份有限公司 | 一种短信渠道熔断降级系统及方法 |
CN117202117B (zh) * | 2023-09-18 | 2024-04-16 | 广州市玄武无线科技股份有限公司 | 一种短信渠道熔断降级系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108513271B (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108513271A (zh) | 基于多个短信通道的短信分发方法和设备 | |
EP2815538B1 (en) | Method and apparatus for rapid disaster recovery preparation in a cloud network | |
US8681622B2 (en) | Policy and charging rules function (PCRF) and performance intelligence center (PIC) based congestion control | |
EP2628332B1 (en) | Method and computer program for quality of service adjustments to improve network utilization | |
JP5977882B2 (ja) | 高ネットワーク負荷シナリオを管理するネットワーク制御されたアダプティブ端末挙動 | |
EP3461168A1 (en) | Congestion control method, operations maintenance center and base station | |
US20240064105A1 (en) | Management of traffic over a communication channel | |
US10531470B2 (en) | Peer-to-peer sharing of network resources | |
EP3644646A1 (en) | Load-balancing method and apparatus | |
EP2701067A1 (en) | Content distribution system, control device, and content distribution method | |
CN109995664A (zh) | 一种发送数据流的方法、设备和系统 | |
CN115002238A (zh) | 流量传输方法、装置、设备和存储介质 | |
US20080130505A1 (en) | Station | |
CN108156086B (zh) | 一种策略规则下发方法及装置 | |
CN112566145A (zh) | 一种拥塞控制的方法、装置、计算机存储介质及终端 | |
US10051063B2 (en) | Mitigating backend signaling overload | |
CN112423325B (zh) | 一种基于多通道的北向接口通信方法及装置 | |
CN114980148B (zh) | 网络能力确定方法和装置 | |
US20230413315A1 (en) | Optimizing user experience in encrypted traffic | |
US20230354089A1 (en) | Method for quality of experience awareness transmission | |
US9893958B2 (en) | Method and system for service assurance and capacity management using post dial delays | |
CN108667634B (zh) | 通信方法、装置及存储介质 | |
EP2773066A1 (en) | Traffic management in communication networks | |
CN101453377A (zh) | 抑制接入节点控制协议的冗余交互的方法、装置和系统 | |
KR101871454B1 (ko) | 매니지드 서비스 제공 방법 및 시스템 |
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 |