CN110493734B - 短信发送的通道选择方法和装置 - Google Patents

短信发送的通道选择方法和装置 Download PDF

Info

Publication number
CN110493734B
CN110493734B CN201910660572.5A CN201910660572A CN110493734B CN 110493734 B CN110493734 B CN 110493734B CN 201910660572 A CN201910660572 A CN 201910660572A CN 110493734 B CN110493734 B CN 110493734B
Authority
CN
China
Prior art keywords
queue
sending
short message
physical
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.)
Active
Application number
CN201910660572.5A
Other languages
English (en)
Other versions
CN110493734A (zh
Inventor
张成昆
林森
李高磊
张迎京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SuningCom Co ltd
Original Assignee
Suning Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201910660572.5A priority Critical patent/CN110493734B/zh
Publication of CN110493734A publication Critical patent/CN110493734A/zh
Application granted granted Critical
Publication of CN110493734B publication Critical patent/CN110493734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0252Traffic management, e.g. flow control or congestion control per individual bearer or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请涉及一种短信发送的通道选择方法和装置;所述方法包括:根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送。本申请的方案能够在签名商户配置有多个发送通道的情况下,确保一个号码始终由一个固定的发送通道来发送短信,从而保证用户收到的同一签名商户的短信来自同一个号码,用户体验好;并且不需要维护用户、签名商户、发送通道之间的映射关系,成本较低。

Description

短信发送的通道选择方法和装置
技术领域
本申请涉及信息技术领域,具体涉及一种短信发送的通道选择方法和装置。
背景技术
短信发送是现在很多业务场景中都需要的功能,如商户通过短信服务商发营销短信推销自己的商品等。当短信发送到用户手机后,用户手机上显示的号码是运营商通道号码和服务扩展码组合而成的,运营商提供的单条通道短信发送速度是有上限的,短信服务商一般从运营商那边采购一批通道以满足TPS要求,这就涉及到通道价格与用户粘性问题,一般我们会在价格和通道质量之间折中选择不同通道即根据权重选择通道,同一签名商户发送给同一用户的短信要尽量采用相同的通道发送,这就涉及到用户粘性问题,即尽量保证用户接收到的号码唯一。
针对上述问题,目前有三种方案:(1)签名商户短信发送量小,短信服务商只给签名商户配置一条通道;(2)签名商户短信发送量比较大,短信服务商给商户配置了多条通道,但给同一用户发送的通道随机选择;(3)签名商户短信发送量比较大,短信服务商需维护用户、签名商户、通道映射关系来保证用户粘性。
上述的三种解决方案,(1)只配置一条通道会造成单点问题,当通道故障时,签名商户将无法发送短信;(2)虽然配置多条通道,但通道选择随机,可能会造成用户收到多个号码是同一签名商户的,用户体验不好;(3)虽然配置多条通道,且同一签名商户用户收到的号码唯一,但需要维护用户、签名商户、通道映射关系,成本较高。
发明内容
为至少在一定程度上克服相关技术中存在的问题,本申请提供一种短信发送的通道选择方法和装置。
根据本申请实施例的第一方面,提供一种短信发送的通道选择方法,包括:
根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;
根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;
根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送。
进一步地,所述根据目标号码确定待发送短信的逻辑队列序号,包括:
确定逻辑队列总数;
根据所述目标号码和所述逻辑队列总数确定待发送短信的逻辑队列序号。
进一步地,所述根据所述目标号码和所述逻辑队列总数确定待发送短信的逻辑队列序号,包括:
将所述目标号码通过映射函数转换为序列码;
根据所述序列码和所述逻辑队列总数计算出逻辑队列序号。
进一步地,所述根据所述序列码和所述逻辑队列总数计算出逻辑队列序号,包括:
所述逻辑队列序号LogicIndex=hash(mobile)%LogicSum;
其中,mobile为所述目标号码,hash()为映射函数,LogicSum为所述逻辑队列总数。
进一步地,所述将所述待发送短信放入指定的物理队列,包括:
根据所述逻辑队列序号和存储结构信息,确定所述待发送短信的物理队列;
将所述待发送短信添加到确定出的物理队列中。
进一步地,所述存储结构信息包括:分片的数量、每个分片中的物理队列数量;
相应地,所述确定所述待发送短信的物理队列,包括:
根据分片的数量确定每个分片对应的逻辑队列区间;
根据每个分片对应的逻辑队列区间和每个分片中的物理队列数量,确定每个分片中的每个物理队列所对应的逻辑队列区间;
根据所述逻辑队列序号和每个物理队列所对应的逻辑队列区间,确定所述待发送短信的物理队列。
进一步地,所述根据分片的数量确定每个分片对应的逻辑队列区间,包括:
根据分片的数量和逻辑队列总数计算最大分区队列数量;
按照最大分区队列数量,将逻辑队列依次分配到每个分片中;
其中,所述逻辑队列是预先配置的,所述逻辑队列总数为固定值。
进一步地,所述根据多个发送通道与多个物理队列之间的对应关系,包括:
确定各发送通道的权重;
根据权重确定各发送通道对应的逻辑队列区间;
根据每个物理队列所对应的逻辑队列区间,确定多个发送通道与多个物理队列之间的对应关系。
进一步地,所述根据权重确定各发送通道对应的逻辑队列区间,包括:
将各发送通道的权重相加得到总权重;
根据各发送通道的权重占所述总权重的比例,确定分配给各发送通道的逻辑队列的数量;
根据分配结果确定各发送通道对应的逻辑队列区间。
进一步地,所述通过指定的发送通道将所述待发送短信取出并进行发送,包括:
令指定的发送通道遍历其对应的所有物理队列;
从遍历的物理队列上取出所有的待发送短信并进行发送。
根据本申请实施例的第二方面,提供一种短信发送的通道选择装置,包括:
确定模块,用于根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;
存放模块,用于根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;
发送模块,用于根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送。
根据本申请实施例的第三方面,提供一种计算设备,所述计算设备包括:处理器和存储器;
所述存储器用于存储计算机程序指令;
所述计算设备运行时,所述处理器执行所述存储器中的计算机程序指令,以执行如上所述的任意一种方法的操作步骤。
本申请的实施例提供的技术方案具备以下有益效果:
本申请的方案能够在签名商户配置有多个发送通道的情况下,确保一个号码始终由一个固定的发送通道来发送短信,从而保证用户收到的同一签名商户的短信来自同一个号码,用户体验好;并且不需要维护用户、签名商户、发送通道之间的映射关系,成本较低。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种短信发送的通道选择方法的流程图。
图2是根据一示例性实施例示出的一种短信发送的整体流程示意图。
图3是根据一示例性实施例示出的一种短信发送通道选择的流程概述图。
图4是根据一示例性实施例示出的由目标号码到逻辑队列、物理队列的映射过程示意图。
图5是根据一示例性实施例示出的多个通道与多组物理队列之间对应关系的示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
图1是根据一示例性实施例示出的一种短信发送的通道选择方法的流程图。该方法可以应用于短信服务提供商的短信发送设备,包括以下步骤:
步骤S1:根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;
步骤S2:根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;
步骤S3:根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送。
本申请的方案能够在签名商户配置有多个发送通道的情况下,确保一个号码始终由一个固定的发送通道来发送短信,从而保证用户收到的同一签名商户的短信来自同一个号码,用户体验好;并且不需要维护用户、签名商户、发送通道之间的映射关系,成本较低。
参照图2,同一签名商户发送短信时,采用本申请方案的短信发送流程需要经过通道路由选择模块Route和通道发送模块Kernel两大模板完成。
流程说明:(1)签名商户调用短信服务提供商短信网关API完成短信发送;(2)Route从短信网关API获取到待发送短信;(3)Route基于权重的用户粘性算法算出待发送redis逻辑队列;(4)Route根据存储的静态路由信息算出实际待发送redis物理队列;(5)Kernel根据静态路由信息获取当前机器负责的运营商通道,进而获取发往该通道的短信数据进行发送。
其中与本专利相关的最重要的是两个算法:(一)静态路由算法;(二) 基于权重的用户粘性算法。下面讲解这两个算法。
静态路由算法:
根据通道权重算出总权重TotalWgt,如某通道组Group(i)中通道权重为: Wgt1、Wgt2、…、Wgtn,总权重TotalWgt=Wgt1+Wgt2+…+Wgtn
需要说明的是,通道权重是短信服务提供商给用户设置的,是预先设定的值。可以针对不同用户配置不同的通道组,通道组包含若干通道,根据通道质量和通道价格配置不同权重。
根据Redis集群中分片(Shard)的数量ShardSize,逻辑队列总数LoginSum,算出每个逻辑分区最大队列数量:
LogicItemSum=ceil(LogicSum/ShardSize),
最后得到每个Shard上逻辑队列区间:
LogicSection(shard(num))=[LogicSection(shard(num-1))+1,min(LogicSum,LogicSection(shard(num-1))+1+LogicItemSum)]
根据权重算出各通道逻辑队列区间LogicSection(way(j)):
LogicMin(way(j)(num))=LogicMax(way(j)(num-1))+1
LogicMax(way(j)(num))=ceil(LogicMax(way(j)(num-1))+1+(Wgt(way(num))/TotalWgt*LoginSum))
LogicSection(way(j)(num))=[LogicMin(way(j)(num),min(LogicMax(way(j)( num)),LogicSum)]
根据每个shard上每个通道最多物理队列数physicsItemSum,则1个物理队列最多对应ceil(LogicItemSum/physicsItemSum)个逻辑队列,进而算出物理队列区间:PhysicsSection(way(j)(num))
得到静态路由表逻辑队列、Shard、通道、物理队列的对应关系:
Group(i):
LogicSection(shard(num)):shard(num):way(j):PhysicsSection(way(j)(num))
基于权重的用户粘性算法:
Route根据手机号hashCode与逻辑队列总数LogicSum取模获取逻辑队列序号LogicIndex=hash(mobile)%LogicSum,同时也定位出了redis shard name=ShardName{ceil((hash(mobile)%LogicSum)/LogicItemSum)}
由LogicIndex和shardName根据静态路由算法算出的静态路由获取逻辑队列对应的物理队列PhysicsSection(way(j)(k)),由route生成待发送数据放入该shardName的物理队列上
Kernel根据当前机器运行的通道Way(index),反向获取通道组Group(i),再根据静态路由表获取所有关联的shard和物理队列。再遍历获取的所有shard 和物理队列,获取到数据后处理发送。
一些实施例中,所述根据目标号码确定待发送短信的逻辑队列序号,包括:
确定逻辑队列总数;
根据所述目标号码和所述逻辑队列总数确定待发送短信的逻辑队列序号。
需要说明的是,所述逻辑队列是预先配置的,所述逻辑队列总数为固定值。
一些实施例中,所述根据所述目标号码和所述逻辑队列总数确定待发送短信的逻辑队列序号,包括:
将所述目标号码通过映射函数转换为序列码;
根据所述序列码和所述逻辑队列总数计算出逻辑队列序号。
一些实施例中,所述根据所述序列码和所述逻辑队列总数计算出逻辑队列序号,包括:
所述逻辑队列序号LogicIndex=hash(mobile)%LogicSum;
其中,mobile为所述目标号码,hash()为映射函数,LogicSum为所述逻辑队列总数。
一些实施例中,所述将所述待发送短信放入指定的物理队列,包括:
根据所述逻辑队列序号和存储结构信息,确定所述待发送短信的物理队列;
将所述待发送短信添加到确定出的物理队列中。
一些实施例中,所述存储结构信息包括:分片的数量、每个分片中的物理队列数量;
相应地,所述确定所述待发送短信的物理队列,包括:
根据分片的数量确定每个分片对应的逻辑队列区间;
根据每个分片对应的逻辑队列区间和每个分片中的物理队列数量,确定每个分片中的每个物理队列所对应的逻辑队列区间;
根据所述逻辑队列序号和每个物理队列所对应的逻辑队列区间,确定所述待发送短信的物理队列。
一些实施例中,所述根据分片的数量确定每个分片对应的逻辑队列区间,包括:
根据分片的数量和逻辑队列总数计算最大分区队列数量;
按照最大分区队列数量,将逻辑队列依次分配到每个分片中。
其中,所述逻辑队列是预先配置的,所述逻辑队列总数为固定值。
一些实施例中,所述根据多个发送通道与多个物理队列之间的对应关系,包括:
确定各发送通道的权重;
根据权重确定各发送通道对应的逻辑队列区间;
根据每个物理队列所对应的逻辑队列区间,确定多个发送通道与多个物理队列之间的对应关系。
需要说明的是,所述发送通道的权重,是根据通道质量和通道价格配置预先设置好的。
一些实施例中,所述根据权重确定各发送通道对应的逻辑队列区间,包括:
将各发送通道的权重相加得到总权重;
根据各发送通道的权重占所述总权重的比例,确定分配给各发送通道的逻辑队列的数量;
根据分配结果确定各发送通道对应的逻辑队列区间。
一些实施例中,所述通过指定的发送通道将所述待发送短信取出并进行发送,包括:
令指定的发送通道遍历其对应的所有物理队列;
从遍历的物理队列上取出所有的待发送短信并进行发送。
下面结合具体的应用场景,对本申请的方案进行拓展说明。
参照图3,图中示出了短信发送通道选择的概述图。基于静态路由算法和基于权重的用户粘性算法为例,采用测试数据方式演示本申请的方案。
通道选择概述说明:
(1)签名商户给138******** 手机用户发短信;
(2)Route根据商户发送短信类型等信息获取通道组信息group1;
(3)Route根据手机号138******** 和通道组group1算出逻辑队列序号,进而算出shard4和物理独立序号1,如果图3中①所示;
(4)运行在机器A上的kernel负责往通道way1发送短信,根据通道所属通道组、权重和静态路由表算出way1负责shard3上的待发送队列物理序号 1,进而取出短信内容发送,如图3中②所示。
下面用测试数据详细介绍通道选择过程:
测试元数据如下:通道组为Group1{Way1,Way2,Way3},通道权重为 Wgt{Wgt1=13,Wgt2=1,Wgt3=1},Redis集群总分片数ShardSize=4,shardName 为{shard1,shard2,shard3,shard4},逻辑队列总数LogicSum=60(注意:为演算方便,取较小值60,其实逻辑队列数越大,数据越分散,发生数据倾斜可能性越低),Redis单Shard上单通道对应的物理队列总数physicsItemSum=4。
(一)静态路由算法:
1、通道组Group1中通道权重为:Wgt1=13、Wgt2=1、Wgt3=1,总权重 TotalWgt=(13+1+1)=15;
2、假设Redis集群中shard数shardSize=4,假设逻辑队列总数:LogicSum=60;算出每个逻辑分区最大队列数量: LogicItemSum=ceil(LogicSum/shardSize)=15;
3、得到每个shard上逻辑队列区间LogicSection(shard(num)):
shard1:[1,15]
shard2:[16,30]
shard3:[31,45]
shard4:[46,60]
4、根据权重算出各通道逻辑队列区间LogicSection(way(j)):
way1:[1,ceil(60*13/15)]=[1,52]
way2:[53,52+ceil(60*1/15)]=[53,56]
way3:[57,56+ceil(60*1/15)]=[57,60]
5、根据每个shard上每个通道最多物理队列数physicsItemSum=4,则1 个物理队列最多对应ceil(15/4)=4个逻辑队列,进而算出物理队列区间 PhysicsSection(way(j)(num)):
shard1:way1:[1,4]
shard2:way1:[1,4]
shard3:way1:[1,4]
shard4:way1:[1,2],way2:[3],way3:[4]
6、算出逻辑队列、Shard、通道、物理队列的对应关系:
Group1:
[1,15]:shard1:way1:[1,4]
[16,30]:shard2:way1:[1,4]
[31,45]:shard3:way1:[1,4]
[46,60]:shard4:way1:[1,2],way2:[3],way3:[4]
(二)基于权重的用户粘性算法:
1、路由模块根据手机号mobile=138******** 的hashCode与逻辑队列总数LogicSum取模,获取逻辑队列序号: LogicIndex=hash(mobile)%LogicSum=32,同时也定位出了redis shard name=ShardName{ceil((hash(mobile)%LogicSum)/LogicItemSum)}=shard3。如图4中①所示。
2、由LogicIndex和shardName根据静态路由算法算出的静态路由获取逻辑队列对应的物理队列PhysicsSection(way(j)(k)):
LogicIndex=32→Group1:[31,45]:shard3:way1:[1,4]→shard3:way1[1],如图4中②所示。
根据shard3:way1[1]生成对应的待发送数据,放入算出的待发送物理队列
3、Kernel根据当前机器运行的通道Way1,反向获取通道组Group1,再根据通道权重获取所有shard和逻辑队列区间,然后计算所有shard和物理队列。
Group1:
[1,15]:shard1:way1:[1,4]
[16,30]:shard2:way1:[1,4]
[31,45]:shard3:way1:[1,4]
[46,60]:shard4:way1:[1,2],way2:[3],way3:[4]
再遍历获取的所有shard及shard上的物理队列,获取到数据后处理发送。即如图5所示通道Way1对应的待处理的物理队列。
本申请的方案,针对签名商户分配一组通道,不受单条通道故障影响,保证了通道的高可用,即使一个通道故障时,会自动选择其他通道进行发送。
同一签名商户既能从一组通道中发送短信,又能保证一个用户从同一通道发送。通过通道权重和路由算法解决多通道发送和用户粘性之间矛盾,既保证多通道发送又保证用户粘性。
给同一签名商户配置的一组通道,通道路由选择时,会根据通道权重选择,从而使签名商户可以在通道价格与通道质量间折中,优先选择便宜、通道发送到达率高的通道选择方案。
本申请还提供如下的实施例:
一种短信发送的通道选择装置,包括:
确定模块,用于根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;
存放模块,用于根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;
发送模块,用于根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送。
关于上述实施例中的装置,其中各个模块执行操作的具体步骤已经在有关该方法的实施例中进行了详细描述,此处不再详细阐述说明。
本申请还提供如下的实施例:
一种计算设备,所述计算设备包括:处理器和存储器;
所述存储器用于存储计算机程序指令;
所述计算设备运行时,所述处理器执行所述存储器中的计算机程序指令,以执行如上所述的任意一种方法的操作步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种短信发送的通道选择方法,其特征在于,包括:
根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;
根据各发送通道的最大物理队列数计算各发送通道分别对应的物理队列区间,根据各发送通道分别对应的逻辑队列区间以及各发送通道分别对应的物理队列区间确定各物理队列分别对应的逻辑队列区间,根据各物理队列分别对应的逻辑队列区间确定多个发送通道与多个物理队列之间的对应关系;
根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送。
2.根据权利要求1所述的方法,其特征在于,所述根据目标号码确定待发送短信的逻辑队列序号,包括:
确定逻辑队列总数;
根据所述目标号码和所述逻辑队列总数确定待发送短信的逻辑队列序号。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标号码和所述逻辑队列总数确定待发送短信的逻辑队列序号,包括:
将所述目标号码通过映射函数转换为序列码;
根据所述序列码和所述逻辑队列总数计算出逻辑队列序号。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述将所述待发送短信放入指定的物理队列,包括:
根据所述逻辑队列序号和存储结构信息,确定所述待发送短信的物理队列;
将所述待发送短信添加到确定出的物理队列中。
5.根据权利要求4所述的方法,其特征在于,所述存储结构信息包括:分片的数量、每个分片中的物理队列数量;
相应地,所述确定所述待发送短信的物理队列,包括:
根据分片的数量确定每个分片对应的逻辑队列区间;
根据每个分片对应的逻辑队列区间和每个分片中的物理队列数量,确定每个分片中的每个物理队列所对应的逻辑队列区间;
根据所述逻辑队列序号和每个物理队列所对应的逻辑队列区间,确定所述待发送短信的物理队列。
6.根据权利要求5所述的方法,其特征在于,所述根据分片的数量确定每个分片对应的逻辑队列区间,包括:
根据分片的数量和逻辑队列总数计算最大分区队列数量;
按照最大分区队列数量,将逻辑队列依次分配到每个分片中;
其中,所述逻辑队列是预先配置的,所述逻辑队列总数为固定值。
7.根据权利要求1-3、5-6任一项所述的方法,其特征在于,所述方法还包括:
确定各发送通道的权重;
根据权重确定各发送通道对应的逻辑队列区间。
8.根据权利要求7所述的方法,其特征在于,所述根据权重确定各发送通道对应的逻辑队列区间,包括:
将各发送通道的权重相加得到总权重;
根据各发送通道的权重占所述总权重的比例,确定分配给各发送通道的逻辑队列的数量;
根据分配结果确定各发送通道对应的逻辑队列区间。
9.根据权利要求1-3、5-6、8任一项所述的方法,其特征在于,所述通过指定的发送通道将所述待发送短信取出并进行发送,包括:
令指定的发送通道遍历其对应的所有物理队列;
从遍历的物理队列上取出所有的待发送短信并进行发送。
10.一种短信发送的通道选择装置,其特征在于,包括:
确定模块,用于根据目标号码确定待发送短信的逻辑队列序号,所述目标号码为接收所述待发送短信的手机号码;
存放模块,用于根据所述逻辑队列序号和预设的存储结构信息,将所述待发送短信放入指定的物理队列;
发送模块,用于根据多个发送通道与多个物理队列之间的对应关系,通过指定的发送通道将所述待发送短信取出并进行发送,其中,根据各发送通道的最大物理队列数计算各发送通道分别对应的物理队列区间,根据各发送通道分别对应的逻辑队列区间以及各发送通道分别对应的物理队列区间确定各物理队列分别对应的逻辑队列区间,根据各物理队列分别对应的逻辑队列区间确定多个发送通道与多个物理队列之间的对应关系。
CN201910660572.5A 2019-07-22 2019-07-22 短信发送的通道选择方法和装置 Active CN110493734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910660572.5A CN110493734B (zh) 2019-07-22 2019-07-22 短信发送的通道选择方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910660572.5A CN110493734B (zh) 2019-07-22 2019-07-22 短信发送的通道选择方法和装置

Publications (2)

Publication Number Publication Date
CN110493734A CN110493734A (zh) 2019-11-22
CN110493734B true CN110493734B (zh) 2021-11-09

Family

ID=68547658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910660572.5A Active CN110493734B (zh) 2019-07-22 2019-07-22 短信发送的通道选择方法和装置

Country Status (1)

Country Link
CN (1) CN110493734B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111225350B (zh) * 2019-12-31 2021-07-27 广州中汇信息科技有限公司 一种短信的智能路由方法及其装置
CN113296970B (zh) * 2020-06-29 2024-03-01 阿里巴巴集团控股有限公司 消息处理、消息队列管理方法及装置
CN112188421B (zh) * 2020-11-10 2021-08-17 福建未来无线信息技术有限公司 自动短信发送方法
CN114640956B (zh) * 2020-12-15 2024-01-19 北京金山云网络技术有限公司 短信下发方法、装置、系统及电子设备
CN112654005B (zh) * 2020-12-15 2022-07-19 北京金山云网络技术有限公司 短信通道配置方法及短信下发方法、装置及系统
CN112995932B (zh) * 2021-02-26 2022-11-11 平安壹钱包电子商务有限公司 基于哈希算法的短信链路监控方法、装置、设备及介质
CN113038397B (zh) * 2021-03-10 2022-09-27 杭州又拍云科技有限公司 一种全自动短信通道调度方法及系统
CN114422079B (zh) * 2021-12-15 2023-02-28 广州市玄武无线科技股份有限公司 数据发送方法及其装置、计算机设备、存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101258709A (zh) * 2004-04-26 2008-09-03 移动365 便于无线网络间消息交换的中介网络系统和方法
CN101616365A (zh) * 2008-06-24 2009-12-30 中兴通讯股份有限公司 一种基于并行队列的短消息重试系统及方法
CN102364967A (zh) * 2011-11-21 2012-02-29 携程计算机技术(上海)有限公司 短信发送方法及系统
CN103096273A (zh) * 2011-10-31 2013-05-08 阿里巴巴集团控股有限公司 一种上行短消息发送的方法、设备及系统
CN103813278A (zh) * 2012-11-08 2014-05-21 中国移动通信集团浙江有限公司 一种短信发送处理方法、装置及系统
CN104066064A (zh) * 2014-06-26 2014-09-24 深圳市东信时代信息技术有限公司 基于并发的短信网关分布式控制系统及方法
CN104168541A (zh) * 2014-07-22 2014-11-26 国家电网公司 一种具有备用通道的企业短信平台系统
CN106028299A (zh) * 2016-06-30 2016-10-12 上海斐讯数据通信技术有限公司 一种短信发送通道选择的方法及系统
CN106255081A (zh) * 2016-10-11 2016-12-21 福建方维信息科技有限公司 一种短信发送方法及系统
CN107360556A (zh) * 2017-08-24 2017-11-17 彩讯科技股份有限公司 一种短信下发方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020055350A1 (en) * 2000-07-20 2002-05-09 Ash Gupte Apparatus and method of toggling between text messages and voice messages with a wireless communication device
CN106412861B (zh) * 2016-09-28 2017-11-28 海南港澳资讯产业股份有限公司 一种短信分发方法及系统
CN107396331A (zh) * 2017-09-19 2017-11-24 马上消费金融股份有限公司 一种基于优先级队列的短信发送方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672267B2 (en) * 2003-02-07 2010-03-02 Sybase 365, Inc. Intermediary network system and method for facilitating message exchange between wireless networks
CN101258709A (zh) * 2004-04-26 2008-09-03 移动365 便于无线网络间消息交换的中介网络系统和方法
CN101616365A (zh) * 2008-06-24 2009-12-30 中兴通讯股份有限公司 一种基于并行队列的短消息重试系统及方法
CN103096273A (zh) * 2011-10-31 2013-05-08 阿里巴巴集团控股有限公司 一种上行短消息发送的方法、设备及系统
CN102364967A (zh) * 2011-11-21 2012-02-29 携程计算机技术(上海)有限公司 短信发送方法及系统
CN103813278A (zh) * 2012-11-08 2014-05-21 中国移动通信集团浙江有限公司 一种短信发送处理方法、装置及系统
CN104066064A (zh) * 2014-06-26 2014-09-24 深圳市东信时代信息技术有限公司 基于并发的短信网关分布式控制系统及方法
CN104168541A (zh) * 2014-07-22 2014-11-26 国家电网公司 一种具有备用通道的企业短信平台系统
CN106028299A (zh) * 2016-06-30 2016-10-12 上海斐讯数据通信技术有限公司 一种短信发送通道选择的方法及系统
CN106255081A (zh) * 2016-10-11 2016-12-21 福建方维信息科技有限公司 一种短信发送方法及系统
CN107360556A (zh) * 2017-08-24 2017-11-17 彩讯科技股份有限公司 一种短信下发方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
并行处理算法在短信系统平台中的应用;董卫魏;《电力信息与通信技术》;20180715;全文 *

Also Published As

Publication number Publication date
CN110493734A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
CN110493734B (zh) 短信发送的通道选择方法和装置
US11044150B2 (en) Consistent hashing for network traffic dispatching
CN110601922B (zh) 一种对照实验的实现方法、装置、电子设备和存储介质
US20180182019A1 (en) Order recommendation method and device
CN104081348A (zh) 通过在虚拟数据中心中最佳地放置vm而减少存储器使用的系统和方法
CN105979007A (zh) 加速资源处理方法、装置及网络功能虚拟化系统
JP6522160B2 (ja) 情報配信方法、ならびに装置、サーバ、および記憶媒体
TWI493484B (zh) 自動化判斷消費者偏好程度的方法與電腦裝置
CN106878415B (zh) 数据消费的负载均衡方法及装置
CN104267980B (zh) 一种软件评分显示方法、终端、数据服务器及系统
CN105283845A (zh) 显示对象预生成
CN109995877A (zh) 信息推送方法和装置
CN107967206A (zh) 一种数据测试系统、请求拦截方法以及请求拦截装置
CN105791902A (zh) 用户推荐方法及装置
CN108270750A (zh) Cdn切换方法、客户端及服务器
CN107210850A (zh) 用于选择无线网络中的通信参数的方法和系统
US20160019086A1 (en) Apparauts and method for generating software defined network(sdn)-based virtual network according to user demand
CN109413202A (zh) 区块链交易信息的排序系统及方法
CN110232195A (zh) 一种模拟配送过程的方法及装置
CN111800491A (zh) 一种数据传输方法、系统、计算设备及存储介质
CN106856459A (zh) 一种报文调度方法和装置
KR101972888B1 (ko) 서비스 처리 방법, 서버 및 컴퓨터 저장 매체
CN110365783A (zh) 文件部署方法及装置、网络节点及存储介质
CN109688225A (zh) 一种通信方法及装置
CN104811365B (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240106

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.