CN107567000A - 一种智能选择短信发送通道的方法及系统 - Google Patents
一种智能选择短信发送通道的方法及系统 Download PDFInfo
- Publication number
- CN107567000A CN107567000A CN201710843045.9A CN201710843045A CN107567000A CN 107567000 A CN107567000 A CN 107567000A CN 201710843045 A CN201710843045 A CN 201710843045A CN 107567000 A CN107567000 A CN 107567000A
- Authority
- CN
- China
- Prior art keywords
- short message
- message sending
- passage
- routing rule
- sent
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种智能选择短信发送通道的方法及系统,首先在数据库中建立路由规则并加载;然后服务器获取待发送信息;接着服务器建立优先级计算规则,计算短信可发送通道;最后服务器根据负载均衡策略在可发送通道中选择最优短信发送通道进行短信发送。系统包括路由规则库管理模块、通道计算模块和通道负载均衡模块。
Description
技术领域
本发明涉及计算机通信领域,更具体地,涉及一种智能选择短信发送通道的方法及系统。
背景技术
现在企业使用常使用短信进行工作调度,客户服务通知,预警通知,短信安全验证等,短信服务成为提升企业提高服务效率及效益的一种有效服务手段。而短信服务由运营商负责提供,我国目前有移动、联通、电信等三大运营商,故企业短信平台需要与移动、联通、电信等三家运营商进行对接。
在实际使用过程中,企业用户使用的手机号码归属各运营商的比重不一,有的企业大部分用户使用的是联通手机号码,有的企业大部分用户使用的是移动手机号码,也有的企业大部分用户使用的电信手机号码。同时,企业与有的短信服务运营商开通了全网通协议,有的仅开通了本网通协议。企业短信平台需根据企业用户使用的运营商手机号码比重,企业与运营商签订的短信服务协议,对应选择与运营商短信对接的短信通道数、短信通道流量的比重。短信平台需要一种路由算法,根据短信通道压力、短信通道流量、短信通道发送短信类型、短信通道服务协议,智能选择短信发送通道进行短信发送,提升短信平台处理性能及运维的自动化管理。
发明内容
本发明的目的是发明一种智能选择短信发送通道的方法,解决企业短信发送通道固化,通道间流量不均衡,故障通道影响短信发送的问题。
为实现以上发明目的,采用的技术方案是:
一种智能选择短信发送通道的方法,包括以下步骤:
S01:在数据库中建立路由规则并加载;
S02:服务器获取待发送信息;
S03:服务器建立优先级计算规则,计算短信可发送通道;
S04:服务器根据负载均衡策略在可发送通道中选择最优短信发送通道进行短信发送。
其中所述步骤S01中路由规则包括路由规则ID、路由规则名称、短信来源端编码、短信类型编码和短信发送通道ID。
优选的是,所述短信来源端、短信类型和短信发送通道为多对多关系。
步骤S02包括以下步骤:
S02.1:轮询待发送短信队列;
S02.2:如果有待发送短信则从队列中弹出待发送短信;
S02.3:如果没有待发送短信则进行休眠。
优选的是,所述休眠为休眠100微妙。
步骤S03所述优先级计算规则包括以下三种优先级类型:
(1)短信来源端编码和短信类型编码都是非空;
(2)短信来源端编码为非空,短信类型编码为空;
(3)短信来源端编码为空,短信类型编码为非空。
其中所述负载均衡策略包括通道加权流量负载均衡计算法和虚拟通道管理策略。
在上述方案中,还包括路由规则库管理模块、通道计算模块和通道负载均衡模块;其中路由规则库管理模块设置短信发送通道路由规则,设定短信业务来源、短信业务类型所对应的短信通道进行发送;通道计算模块先加载路由规则库,在收到短信发送请求时,根据路由规则库,计算出短信可通过哪些短信通道发送;通道负载均衡模块,根据通道计算模块提供的短信发送通道,根据负载均衡策略,选择最优短信发送通道进行短信发送。
与现有技术相比,本发明的有益效果是:
1)自动选择最优短信发送通道,提升短信发送效率;
2)引入虚拟通道管理,防止在发生短信通道故障时,出现因通道故障导致短信发送服务中断的情况,提升短信平台运行的稳定性和健壮性,降低平台故障发生几率,提升工作效率。
附图说明
图1为算法模块组成图;
图2为智能选择短信通道的方法流程图;
图3为短信发送通道路由图;
图4为短信虚拟通道示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
以下结合附图和实施例对本发明做进一步的阐述。
实施例1
一种智能选择短信发送通道的方法及系统,可根据短信业务来源和短信业务类型灵活选择短信发送通道,并对短信发送进行通道流量负载均衡和故障短信通道隔离,提升短信平台短信发送效率,降低故障发生几率。系统构成如图1所示,由路由规则库管理模块,通道计算模块,通道负载均衡三大模块组成。路由规则库用于设置短信发送通道路由规则,设定短信业务来源、短信业务类型所对应的短信通道进行发送;通道计算模块先加载路由规则库,在收到短信发送请求时,根据路由规则库,计算出短信可通过哪些短信通道发送;通道负载均衡模块,根据通道计算模块提供的短信发送通道,根据负载均衡策略,选择最优短信发送通道进行短信发送。
智能选择短信发送通道的方法如图2所示。
步骤一:在数据中建立路由规则并加载。路由规则可保存在配置文件中或数据库中,为提升短信处理效率,避免每次处理短信都需要从配置文件或数据库中读取规则,因此,需要将路由规则加载到内存中。路由规则由几百条到几万条不等,因此使用map对象来存储路由规则,将短信来源端编码+“:”+短信类型编码为查询键,短信通道ID为键值存储。map是使用红黑树来实现的一种数据存储结构,可提供高效的查询性能,其查询时间复杂度log(n)级别。路由规则设置参数包括:路由规则ID、路由规则名称、短信来源端编码、短信类型编码、短信发送通道ID。
路由规则图如图3所示,短信来源端、短信类型与短信发送通道是多对多关系,即某个短信来源端的某短信类型可通过多个短信发送通道发送,而短信通道可发送多个短信来源的多种短信类型短信。为了提高路由的灵活性和管理方便性,路由规则允许短信来源端编码或短信类型编码设置为空,但不允许短信来源端编码和短信类型编码同时为空。如短信来源端为非空而短信类型编码为空,则表示该短信来源端的所有类型短信都可从这个路由通道进行发送。如短信来源端为空而短信类型编码为非空,则表示该种类型的短信不管从那个短信来源端发起,都可以从这个路由通道进行发送。
步骤二:服务器获取待发送信息。服务器通过轮询待发送短信队列,检查待发送短信队列中是否有待发送短信,如果有,则队列中弹出一条待发送短信,如果没有,则休眠100微秒,等待进行下一次轮询。待发送短信数据结构定义如下:
typedef struct smdata
{
int org_code; //短信来源端编码
int srv_code; //短信类型编码
string user_no; //短信接收号码
string sm_content; //短信内容
}SMDATA;
步骤三:服务器建立优先级计算规则,计算短信可发送通道。在取到待发送短信后,首先使用短信来源端编码和短信类型编码生成如下查询键:
org_code:srv_code
其中“org_code”和“srv_code”使用实际的短信来源端编码和短信类型编码替代。
考虑到路由规则中短信来源端编码或短信类型编码不同时为空的情况,因此在进行短信发送通道计算时,建立通道计算优先级规则。
其中优先级计算规则最高优先级、第二优先级和第三优先级。其中最高优先级指短信来源端编码和短信类型编码都是非空,优先按照本规则计算短信发送通道。第二优先级指短信来源端编码为非空,短信类型编码为空;其中使用“org_ code:srv_code”查询不到路由规则,则使用“org_code:” 查询路由规则。第三优先级指短信来源端编码为空,短信类型编码为非空;其中如果使用“org_code: srv_code :srv_code”和“org_code:”都查找不到路由规则,则使用“:srv_code”查询路由规则。
步骤四:服务器根据负载均衡策略在可发送通道中选择最优短信发送通道进行短信发送。对步骤三计算出的可发送短信通道,根据负载均衡策略,选择最优的短信发送通道进行短信发送。负载均衡策略使用通道加权流量负载均衡计算法实现,计算公式如下:
通道负载值=通道当前流量+通道当前流程*(1-通道权重值)
其中通道当前流量单位:条/秒。
通过计算获得的通道负载值最小的通道即为最优短信发送通道。
为提高短信发送的稳定性、容错性和短信服务的持续性,通道负载均衡在监测到某个短信通道不可用时,则将该短信通道进行故障隔离,在进行最优短信发送通道计算时,剔除对故障短信通道的负载值计算。
同时,为了避免存在步骤三中短信可发送通道计算出是单通道,而这个通道又发生故障导致该通道短信不可发送的情况,通道负载均衡模块引入虚拟通道管理,虚拟通道管理如图4所示,即通道可将其它短信通道设置为它的虚拟通道,通道间可彼此相互设置为虚拟通道。如图4 中的通道1将通道2、通道3设置为它的虚拟通道,通道3将通道1、通道2设置为它的虚拟通道,通道1和通道3间互为虚拟通道。
在进行通道负载值计算时,如果某通道发送故障不可用,则需要将该通道的所有虚拟通道纳入计算范围,选出最优短信发送通道。如图4所示的虚拟通道,当通道1发生故障,在通道1需要参与通道负载值计算时,需要将通道2、通道3纳入通道计算范围,代替通道1参与计算。
本发明实现了一种智能选择短信发送通道的方法,可自动选择一条发送速度最快的短信发送通道,提升短信发送效率。并通过引入虚拟通道管理,防止在发生短信通道故障时,出现因通道故障导致短信发送服务中断的情况,提升短信平台运行的稳定性和健壮性,降低平台故障发生几率,提升工作效率。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (8)
1.一种智能选择短信发送通道的方法,其特征在于,包括以下步骤:
S01:在数据库中建立路由规则并加载;
S02:服务器获取待发送信息;
S03:服务器建立优先级计算规则,计算短信可发送通道;
S04:服务器根据负载均衡策略在可发送通道中选择最优短信发送通道进行短信发送。
2.根据权利要求1所述的一种智能选择短信发送通道的方法,其特征在于,所述步骤S1中路由规则包括路由规则ID、路由规则名称、短信来源端编码、短信类型编码和短信发送通道ID。
3.根据权利要求2所述的一种智能选择短信发送通道的方法,其特征在于,所述短信来源端、短信类型和短信发送通道为多对多关系。
4.根据权利要求1所述的一种智能选择短信发送通道的方法,其特征在于,所述步骤S2包括以下步骤
S02.1:轮询待发送短信队列;
S02.2:如果有待发送短信则从队列中弹出待发送短信;
S02.3:如果没有待发送短信则进行休眠。
5.根据权利要求4所述的一种智能选择短信发送通道的方法,其特征在于,所述休眠为休眠100微秒。
6.根据权利要求1所述的一种智能选择短信发送通道的方法,其特征在于,步骤S03所述优先级计算规则包括以下三种优先级类型:
(1)短信来源端编码和短信类型编码都是非空;
(2)短信来源端编码为非空,短信类型编码为空;
(3)短信来源端编码为空,短信类型编码为非空。
7.根据权利要求1所述的一种智能选择短信发送通道的方法,其特征在于,所述负载均衡策略包括通道加权流量负载均衡计算法和虚拟通道管理策略。
8.一种根据权利要求1-7任一项方法的系统,其特征在于,包括路由规则库管理模块、通道计算模块和通道负载均衡模块;其中路由规则库管理模块设置短信发送通道路由规则,设定短信业务来源、短信业务类型所对应的短信通道进行发送;通道计算模块先加载路由规则库,在收到短信发送请求时,根据路由规则库,计算出短信可通过哪些短信通道发送;通道负载均衡模块,根据通道计算模块提供的短信发送通道,根据负载均衡策略,选择最优短信发送通道进行短信发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710843045.9A CN107567000B (zh) | 2017-09-18 | 2017-09-18 | 一种智能选择短信发送通道的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710843045.9A CN107567000B (zh) | 2017-09-18 | 2017-09-18 | 一种智能选择短信发送通道的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107567000A true CN107567000A (zh) | 2018-01-09 |
CN107567000B CN107567000B (zh) | 2020-12-29 |
Family
ID=60980249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710843045.9A Active CN107567000B (zh) | 2017-09-18 | 2017-09-18 | 一种智能选择短信发送通道的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107567000B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108513271A (zh) * | 2018-06-22 | 2018-09-07 | 武汉斑马快跑科技有限公司 | 基于多个短信通道的短信分发方法和设备 |
CN109168135A (zh) * | 2018-11-09 | 2019-01-08 | 上海银赛计算机科技有限公司 | 短信发送通道的选择方法、装置、短信平台和存储介质 |
CN109561403A (zh) * | 2018-12-12 | 2019-04-02 | 网宿科技股份有限公司 | 一种短信调度方法、设备及存储介质 |
CN110191428A (zh) * | 2019-05-27 | 2019-08-30 | 北京鸿联九五信息产业有限公司 | 一种基于智能云平台的数据分配方法 |
CN110611891A (zh) * | 2019-08-29 | 2019-12-24 | 深圳市梦网科技发展有限公司 | 一种短信发送方法及装置 |
CN111065061A (zh) * | 2019-11-25 | 2020-04-24 | 佛山欧神诺云商科技有限公司 | 一种基于多通道的短信请求发送系统、方法及存储介质 |
CN111093162A (zh) * | 2019-12-18 | 2020-05-01 | 上海良鑫网络科技有限公司 | 一种智能选择短信发送通道的方法 |
CN112654005A (zh) * | 2020-12-15 | 2021-04-13 | 北京金山云网络技术有限公司 | 短信通道配置方法及短信下发方法、装置及系统 |
CN112887919A (zh) * | 2021-01-18 | 2021-06-01 | 浙江百应科技有限公司 | 一种多通道短信集群调度的短信发送方法、系统及电子设备 |
CN113645579A (zh) * | 2021-09-26 | 2021-11-12 | 杭州有赞科技有限公司 | 一种短信通道分发方法、装置和系统 |
CN113891258A (zh) * | 2021-08-13 | 2022-01-04 | 华能澜沧江水电股份有限公司 | 预警短信主备多通道发送策略选择系统及算法 |
CN113923609A (zh) * | 2021-09-28 | 2022-01-11 | 度小满科技(北京)有限公司 | 基于多个短信通道的短信分发方法、装置以及电子设备 |
CN114222259A (zh) * | 2021-12-20 | 2022-03-22 | 浙江百应科技有限公司 | 基于多重路由和重试的短信投递方法、系统、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364967A (zh) * | 2011-11-21 | 2012-02-29 | 携程计算机技术(上海)有限公司 | 短信发送方法及系统 |
CN103856963A (zh) * | 2014-03-05 | 2014-06-11 | 浪潮通信信息系统有限公司 | 一种创建智能通信通道的方法 |
CN105337837A (zh) * | 2014-06-26 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种消息发送方法和设备 |
-
2017
- 2017-09-18 CN CN201710843045.9A patent/CN107567000B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102364967A (zh) * | 2011-11-21 | 2012-02-29 | 携程计算机技术(上海)有限公司 | 短信发送方法及系统 |
CN103856963A (zh) * | 2014-03-05 | 2014-06-11 | 浪潮通信信息系统有限公司 | 一种创建智能通信通道的方法 |
CN105337837A (zh) * | 2014-06-26 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种消息发送方法和设备 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108513271A (zh) * | 2018-06-22 | 2018-09-07 | 武汉斑马快跑科技有限公司 | 基于多个短信通道的短信分发方法和设备 |
CN108513271B (zh) * | 2018-06-22 | 2021-06-25 | 武汉斑马快跑科技有限公司 | 基于多个短信通道的短信分发方法和设备 |
CN109168135A (zh) * | 2018-11-09 | 2019-01-08 | 上海银赛计算机科技有限公司 | 短信发送通道的选择方法、装置、短信平台和存储介质 |
CN109561403A (zh) * | 2018-12-12 | 2019-04-02 | 网宿科技股份有限公司 | 一种短信调度方法、设备及存储介质 |
CN110191428A (zh) * | 2019-05-27 | 2019-08-30 | 北京鸿联九五信息产业有限公司 | 一种基于智能云平台的数据分配方法 |
CN110191428B (zh) * | 2019-05-27 | 2021-10-12 | 北京鸿联九五信息产业有限公司 | 一种基于智能云平台的数据分配方法 |
CN110611891B (zh) * | 2019-08-29 | 2022-05-20 | 深圳市梦网科技发展有限公司 | 一种短信发送方法及装置 |
CN110611891A (zh) * | 2019-08-29 | 2019-12-24 | 深圳市梦网科技发展有限公司 | 一种短信发送方法及装置 |
CN111065061A (zh) * | 2019-11-25 | 2020-04-24 | 佛山欧神诺云商科技有限公司 | 一种基于多通道的短信请求发送系统、方法及存储介质 |
CN111093162A (zh) * | 2019-12-18 | 2020-05-01 | 上海良鑫网络科技有限公司 | 一种智能选择短信发送通道的方法 |
CN112654005A (zh) * | 2020-12-15 | 2021-04-13 | 北京金山云网络技术有限公司 | 短信通道配置方法及短信下发方法、装置及系统 |
CN112654005B (zh) * | 2020-12-15 | 2022-07-19 | 北京金山云网络技术有限公司 | 短信通道配置方法及短信下发方法、装置及系统 |
CN112887919A (zh) * | 2021-01-18 | 2021-06-01 | 浙江百应科技有限公司 | 一种多通道短信集群调度的短信发送方法、系统及电子设备 |
CN112887919B (zh) * | 2021-01-18 | 2022-07-05 | 浙江百应科技有限公司 | 一种多通道短信集群调度的短信发送方法、系统及电子设备 |
CN113891258A (zh) * | 2021-08-13 | 2022-01-04 | 华能澜沧江水电股份有限公司 | 预警短信主备多通道发送策略选择系统及算法 |
CN113645579A (zh) * | 2021-09-26 | 2021-11-12 | 杭州有赞科技有限公司 | 一种短信通道分发方法、装置和系统 |
CN113923609A (zh) * | 2021-09-28 | 2022-01-11 | 度小满科技(北京)有限公司 | 基于多个短信通道的短信分发方法、装置以及电子设备 |
CN114222259A (zh) * | 2021-12-20 | 2022-03-22 | 浙江百应科技有限公司 | 基于多重路由和重试的短信投递方法、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107567000B (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107567000A (zh) | 一种智能选择短信发送通道的方法及系统 | |
CN111093162A (zh) | 一种智能选择短信发送通道的方法 | |
CN102369688B (zh) | 资源动态调整方法和调度设备 | |
CN101232539B (zh) | 呼叫中心分层服务路由优化方法及装置 | |
CN111600967B (zh) | 一种基于访问压力的区块链节点间负载均衡系统 | |
US9451089B2 (en) | Calling center system and calling processing method thereof | |
CN1167554A (zh) | 通信网络中的路由选择 | |
CN108256722A (zh) | 一种电力信息通信派单手持终端 | |
CN1980411A (zh) | 业务消息传输方法和系统 | |
CN103744735B (zh) | 一种多核资源的调度方法及装置 | |
US20230216953A1 (en) | Machine intelligent isolation of international calling performance degradation | |
US20110086649A1 (en) | Methodology for Traffic Control Based on Cross-Carriers Short Message (SMS) Application | |
CN101374109A (zh) | 一种报文调度方法和调度装置 | |
CN105450878B (zh) | 坐席资源码的分配方法和分配系统 | |
CN111422078B (zh) | 一种基于区块链的电动汽车充电数据调配监测方法 | |
CN101163171B (zh) | 一种基于接入网实现上行业务接口保护的方法 | |
CN204425400U (zh) | 应用服务器系统 | |
CN103053144A (zh) | 通信系统业务分发的方法和设备 | |
MXPA00000525A (es) | Sistema y metodo para detectar sobrecarga en un servicio de punto de control de una red de telecomunicaciones. | |
EP1876787A1 (en) | Network call routing method and network calling center | |
CN101378540A (zh) | 号码可携带业务实现方法、系统及号码可携带数据库 | |
CN112838958B (zh) | 一种实现数据中心异构信息系统多模共存的方法和装置 | |
CN111404831A (zh) | 用于风控系统处理性能的提升方法及系统 | |
CN1332531C (zh) | 一种动态调整业务管理点系统服务性能的方法 | |
CN104376714B (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 |