CN112822648A - 一种基于随机权重算法和策略模式的短信通道路由方法 - Google Patents
一种基于随机权重算法和策略模式的短信通道路由方法 Download PDFInfo
- Publication number
- CN112822648A CN112822648A CN202110009565.6A CN202110009565A CN112822648A CN 112822648 A CN112822648 A CN 112822648A CN 202110009565 A CN202110009565 A CN 202110009565A CN 112822648 A CN112822648 A CN 112822648A
- Authority
- CN
- China
- Prior art keywords
- short message
- channel
- message channel
- redis
- service
- 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 24
- 235000010627 Phaseolus vulgaris Nutrition 0.000 claims abstract description 10
- 244000046052 Phaseolus vulgaris Species 0.000 claims abstract description 10
- 238000009825 accumulation Methods 0.000 claims abstract description 7
- 230000004048 modification Effects 0.000 claims abstract description 4
- 238000012986 modification Methods 0.000 claims abstract description 4
- 101100517648 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) NUM1 gene Proteins 0.000 description 3
- 101100129590 Schizosaccharomyces pombe (strain 972 / ATCC 24843) mcp5 gene Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
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
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/34—Modification of an existing route
- H04W40/36—Modification of an existing route due to handover
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于随机权重算法和策略模式的短信通道路由方法,涉及短信技术领域,包括在mysql数据库创建短信通道环境,引入redis分布式缓存,并将创建的短信通道环境加载到redis中,开发短信通道后台配置页面,实现对数据库和redis缓存中的配制修改,开发短信通道路由服务,根据指定的范围获取到一个随机数,对可用短信通道配置的权重进行循环遍历累加,当累加结果大于前面获取的随机数的时候,指定当前短信通道为此次短信服务通道,根据通道中配置的短信服务实现类在spring中的bean名称,从spring上下文中获取到对应的bean,将短信发送,本发明可以实现短信通道的灵活切换,在供应商短信通道出现故障后,可以迅速切换到其他可用短信通道,降低短信发送失败率。
Description
技术领域
本发明涉及短信技术领域,具体来说,涉及一种基于随机权重算法和策略模式的短信通道路由方法。
背景技术
基于目前产品对接的多个短信运营商,发短信采用哪个短信供应商不能灵活调整的问题。在供应商短信通道出现故障后,不能迅速切换到其他可用短信通道,导致短信发送失败,短信发送率居高不下,收信人不能及时收到短信,严重影响到他人的生活和工作。
发明内容
为了克服现有技术的不足,本发明的一种基于随机权重算法和策略模式的短信通道路由方法,可以实现灵活切换短信通道。
本发明解决其技术问题所采用的技术方案是:一种基于随机权重算法和策略模式的短信通道路由方法,其改进之处在于,包括在mysql数据库创建短信通道环境,引入redis分布式缓存,并将创建的短信通道环境加载到redis中,开发短信通道后台配置页面,实现对数据库和 redis缓存中的配制修改;
开发短信通道路由服务,根据指定的范围获取到一个随机数,对可用短信通道配置的权重进行循环遍历累加,当累加结果大于前面获取的随机数的时候,指定当前短信通道为此次短信服务通道,根据通道中配置的短信服务实现类在spring中的bean名称,从spring上下文中获取到对应的bean,将短信发送。
作为上述技术方案的进一步改进,发送失败的短信请求会重新放进消息队列中等待下一次重新进行通道路由然后发送。
作为上述技术方案的进一步改进,在mysql数据库创建短信通道环境包括创建一张短信通道配置表。
作为上述技术方案的进一步改进,引入redis分布式缓存后,在应用服务启动时,将数据库中的配置表加载到redis中。
作为上述技术方案的进一步改进,指定当前短信服务通道后,创建一个接口类IsmsService,定义发送短信的方法。
作为上述技术方案的进一步改进,每个短信服务通道单独实现 IsmsService。
作为上述技术方案的进一步改进,短信通道配置页面修改配置时,刷新redis中缓存的短信通道配置。
作为上述技术方案的进一步改进,创建短信通道环境前,各应用***将对应的短信需求通过http发送到短信服务***,短信服务***接收到请求后,将请求数据保存到数据库,然后根据请求的短信类型,发送到不同的RabbitMq消息队列,然后返回请求接收成功响应给应用***。
作为上述技术方案的进一步改进,返回请求接收成功响应给应用***后,短信服务***消息***接收到短信请求消息,解析短信请求,根据短信请求中的应用名称从redis缓存中获取到可用的短信通道集合。
本发明的有益效果是:可以在后台页面配置,灵活实现短信通道的切换,在某一个供应商短信通道出现故障后,可以迅速切换到其他可用短信通道,降低短信发送失败率。
具体实施方式
下面结合实施例对本发明进一步说明。
以下将结合实施例对本发明的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本发明的目的、特征和效果。显然,所描述的实施例只是本发明的一部分实施例,而不是全部实施例,基于本发明的实施例,本领域的技术人员在不付出创造性劳动的前提下所获得的其他实施例,均属于本发明保护的范围。另外,专利中涉及到的所有联接/连接关系,并非单指构件直接相接,而是指可根据具体实施情况,通过添加或减少联接辅件,来组成更优的联接结构。本发明创造中的各个技术特征,在不互相矛盾冲突的前提下可以交互组合。
本发明揭示了一种基于随机权重算法和策略模式的短信通道路由方法,包括在mysql数据库创建短信通道环境,创建短信通道环境包括创建一张短信通道配置表,引入redis分布式缓存,在应用服务启动时,将数据库中的配置表加载到redis中,并将创建的短信通道环境加载到 redis中,开发短信通道后台配置页面,实现对数据库和redis缓存中的配制修改,本发明短信通道配置页面修改配置时,刷新redis中缓存的短信通道配置。开发短信通道路由服务,根据指定的范围获取到一个随机数,对可用短信通道配置的权重进行循环遍历累加,当累加结果大于前面获取的随机数的时候,指定当前短信通道为此次短信服务通道,根据通道中配置的短信服务实现类在spring中的bean名称,从spring上下文中获取到对应的bean,将短信发送。
发送失败的短信请求会重新放进消息队列中等待下一次重新进行通道路由然后发送。指定当前短信服务通道后,创建一个接口类 IsmsService,定义发送短信的方法。每个短信服务通道单独实现IsmsService。可以解决短信通道单一化的问题,降低短信发送失败率。
本发明一种基于随机权重算法和策略模式的短信通道路由方法在具体实施时,各应用***将对应的短信需求通过http发送到短信服务***,短信服务***接收到请求后,将请求数据保存到数据库,然后根据请求的短信类型,发送到不同的RabbitMq消息队列,然后返回请求接收成功响应给应用***,短信服务***消息***接收到短信请求消息,解析短信请求,根据短信请求中的应用名称从redis缓存中获取到可用的短信通道集合。
执行短信通道路由方法,利用随机函数生成一个指定范围的一个随机数NUM1;遍历可用的短信通道,对权重值进行累加;如果累加结果小于NUM1,则继续循环累加,直到累加结果大于NUM1,停止累加,采用当前遍历到的短信通道进行短信发送。
获取路由出的短信通道配置的bean名称,根据bean名称获取到***中该通道短信服务的对象。调用该短信服务对象的短信发送方法进行短信发送。
短信发送失败时,对该通道的短信最近100次发送的失败率进行统计,先判断可用通道数量是否大于1,如果小于1,则发送邮件和短信通知***负责人。如果大于1,则判断失败率,如果失败率大于25%,则将该通道权重值修改为原权重值*(1-失败率)。本发明只修改执行权重值,不修改原手动设定的权重值。当最近100次发送的失败率小于10%的时候,恢复执行权重值为原手动设定的权重值。异步更新数据库和redis 缓存中的执行权重值。
发送失败的短信请求会重新放进消息队列中等待下一次重新进行通道路由然后发送。短信通道配置页面修改配置的时候,刷新redis中缓存的短信通道配置。
短信发送成功之后,删除数据库中的短信任务,将数据清除,可以减少***负担。
本发明的有益效果是:可以在后台页面配置,灵活实现短信通道的切换,在某一个供应商短信通道出现故障后,可以迅速切换到其他可用短信通道,降低短信发送失败率。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围。
Claims (9)
1.一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,包括在mysql数据库创建短信通道环境,引入redis分布式缓存,并将创建的短信通道环境加载到redis中,开发短信通道后台配置页面,实现对数据库和redis缓存中的配制修改;
开发短信通道路由服务,根据指定的范围获取到一个随机数,对可用短信通道配置的权重进行循环遍历累加,当累加结果大于前面获取的随机数的时候,指定当前短信通道为此次短信服务通道,根据通道中配置的短信服务实现类在spring中的bean名称,从spring上下文中获取到对应的bean,将短信发送。
2.根据权利要求1所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,发送失败的短信请求会重新放进消息队列中等待下一次重新进行通道路由然后发送。
3.根据权利要求1所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,在mysql数据库创建短信通道环境包括创建一张短信通道配置表。
4.根据权利要求1所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,引入redis分布式缓存后,在应用服务启动时,将数据库中的配置表加载到redis中。
5.根据权利要求1所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,指定当前短信服务通道后,创建一个接口类IsmsService,定义发送短信的方法。
6.根据权利要求5所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,每个短信服务通道单独实现IsmsService。
7.根据权利要求1所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,短信通道配置页面修改配置时,刷新redis中缓存的短信通道配置。
8.根据权利要求1所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,创建短信通道环境前,各应用***将对应的短信需求通过http发送到短信服务***,短信服务***接收到请求后,将请求数据保存到数据库,然后根据请求的短信类型,发送到不同的RabbitMq消息队列,然后返回请求接收成功响应给应用***。
9.根据权利要求8所述的一种基于随机权重算法和策略模式的短信通道路由方法,其特征在于,返回请求接收成功响应给应用***后,短信服务***消息***接收到短信请求消息,解析短信请求,根据短信请求中的应用名称从redis缓存中获取到可用的短信通道集合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110009565.6A CN112822648A (zh) | 2021-01-05 | 2021-01-05 | 一种基于随机权重算法和策略模式的短信通道路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110009565.6A CN112822648A (zh) | 2021-01-05 | 2021-01-05 | 一种基于随机权重算法和策略模式的短信通道路由方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112822648A true CN112822648A (zh) | 2021-05-18 |
Family
ID=75857522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110009565.6A Pending CN112822648A (zh) | 2021-01-05 | 2021-01-05 | 一种基于随机权重算法和策略模式的短信通道路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112822648A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8208914B1 (en) * | 2005-11-30 | 2012-06-26 | Kyocera Corporation | System and method for transparent communication over a wireless communication network |
CN110213728A (zh) * | 2018-02-28 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 端口权重的调整方法和装置 |
CN110413681A (zh) * | 2019-08-01 | 2019-11-05 | 上海胜泰信息技术有限公司 | 一款Web端基于大数据技术的可视化数据处理方法 |
CN110430173A (zh) * | 2019-07-19 | 2019-11-08 | 河南工程学院 | 一种基于Vue+SpringCloud的云平台 |
CN110428253A (zh) * | 2019-06-19 | 2019-11-08 | 平安银行股份有限公司 | 交易通道控制方法、装置、计算机设备及存储介质 |
CN110733038A (zh) * | 2019-09-30 | 2020-01-31 | 浙江工业大学 | 工业机器人远程监控及数据处理*** |
US20200042955A1 (en) * | 2018-08-03 | 2020-02-06 | Matt Widdows | Electronic check generation and transmission system |
CN111078426A (zh) * | 2019-12-03 | 2020-04-28 | 紫光云(南京)数字技术有限公司 | 一种后端微服务架构下的高并发解决方法 |
CN111918225A (zh) * | 2020-09-15 | 2020-11-10 | 北京值得买科技股份有限公司 | 一种基于多运营商发送短信的方法 |
CN112040429A (zh) * | 2020-07-28 | 2020-12-04 | 南京云中云信息技术有限公司 | 一种基于分布式存储的短信管理***及方法 |
-
2021
- 2021-01-05 CN CN202110009565.6A patent/CN112822648A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8208914B1 (en) * | 2005-11-30 | 2012-06-26 | Kyocera Corporation | System and method for transparent communication over a wireless communication network |
CN110213728A (zh) * | 2018-02-28 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 端口权重的调整方法和装置 |
US20200042955A1 (en) * | 2018-08-03 | 2020-02-06 | Matt Widdows | Electronic check generation and transmission system |
CN110428253A (zh) * | 2019-06-19 | 2019-11-08 | 平安银行股份有限公司 | 交易通道控制方法、装置、计算机设备及存储介质 |
CN110430173A (zh) * | 2019-07-19 | 2019-11-08 | 河南工程学院 | 一种基于Vue+SpringCloud的云平台 |
CN110413681A (zh) * | 2019-08-01 | 2019-11-05 | 上海胜泰信息技术有限公司 | 一款Web端基于大数据技术的可视化数据处理方法 |
CN110733038A (zh) * | 2019-09-30 | 2020-01-31 | 浙江工业大学 | 工业机器人远程监控及数据处理*** |
CN111078426A (zh) * | 2019-12-03 | 2020-04-28 | 紫光云(南京)数字技术有限公司 | 一种后端微服务架构下的高并发解决方法 |
CN112040429A (zh) * | 2020-07-28 | 2020-12-04 | 南京云中云信息技术有限公司 | 一种基于分布式存储的短信管理***及方法 |
CN111918225A (zh) * | 2020-09-15 | 2020-11-10 | 北京值得买科技股份有限公司 | 一种基于多运营商发送短信的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3547649A1 (en) | Method and system for sending request for acquiring data resource | |
US20210176310A1 (en) | Data synchronization method and system | |
CN110336848B (zh) | 一种访问请求的调度方法及调度***、设备 | |
CN106453136A (zh) | 建立消息队列的方法和装置 | |
US20070016674A1 (en) | Information exchange system, management server, and method for reducing network load used in the same | |
US20160088071A1 (en) | Method and apparatus for high performance low latency real time notification delivery | |
CN113068134B (zh) | 多播业务会话操作的方法、装置和通信设备 | |
CN111404714A (zh) | 一种网络传送层连接控制方法及网络设备 | |
CN106302647A (zh) | 消息分发方法及服务器 | |
CN110888735A (zh) | 基于一致性哈希的分布式消息分发方法、装置和调度节点 | |
CN111436162B (zh) | 一种处理方法及设备 | |
CN113836155A (zh) | 基于分布式***的数据处理方法、装置及存储介质 | |
CN112822648A (zh) | 一种基于随机权重算法和策略模式的短信通道路由方法 | |
CN111555965B (zh) | 一种适用于iOS客户端的消息推送方法及*** | |
CN109391593B (zh) | 用于媒体会话的重试时间确定方法及装置、存储介质、终端 | |
US20050270973A1 (en) | Cluster architecture communications | |
CN113342764A (zh) | 不同云端服务器之间的数据同步方法及装置 | |
CN110138808B (zh) | 基于cdn的反劫持下载方法和*** | |
CN117354312A (zh) | 访问请求处理方法、装置、***、计算机设备和存储介质 | |
CN112217735A (zh) | 信息同步方法与负载均衡*** | |
CN111787494A (zh) | 一种基于微服务的短信发送可靠方法 | |
CN111510958A (zh) | 一种消息接入负载均衡方法及*** | |
US20070238470A1 (en) | Conservation of temporary roaming numbers | |
CN114024968B (zh) | 一种基于中间设备的报文发送方法、装置和电子设备 | |
CN101404674A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210518 |