本申请涉及通信,尤其涉及一种短信发送方法、装置、设备、存储介质和程序产品。
背景技术:
1、云平台可以为用户提供各种消息服务,例如用户在云平台登录时,云平台可以发送携带验证码的消息给用户进行验证登录,另外在平时云平台也可以发送携带活动内容的短信,告知用户及时参与活动。但是云平台的短信发送能力有限,为此需要对短信发送过程进行优化;
2、现有技术中,短信发送时会将不同类别的短信放入不同消费速度的消息队列中,然后通过短信消费者进行消费来实现短信发送;
3、但是,现有的这种方式,由于每种短信都是配置的固定消费速度的消费队列,导致了短信发送资源利用率低。
技术实现思路
1、本申请实施例提供一种短信发送方法、装置、设备、存储介质和程序产品,用于解决现有短信发送资源配置不合理,存在利用率低的问题。
2、第一方面,本申请实施例提供一种短信发送方法,包括:
3、获取待发送的短信的类型和待发送的每类短信的数量;
4、基于每类短信的数量和资源池中的线路资源,动态调整每类短信占用的短信发送资源,所述资源池中线路资源的总量为固定值;
5、基于每类短信占用的短信发送资源,控制对应类型的短信的发送。
6、在第一方面的一种可能设计中,所述获取待发送的短信的类型,包括:
7、基于每条短信的发送时效性需求,确定每条短信的优先级,所述优先级至少分为高优先级和低优先级;
8、将不同优先级的短信划分为不同的类型。
9、在第一方面的另一种可能设计中,所述基于每类短信的数量和资源池中的短信发送资源,动态调整每类短信占用的短信发送资源,包括:
10、若高优先级短信的数量大于第一设定阈值,则基于所述资源池中的剩余可分配线路资源,对用于发送所述高优先级短信的消息通道进行扩容;
11、若所述高优先级短信的数量小于第二设定阈值,则从所述高优先级短信占用的线路资源中释放出目标数量的线路资源,分配至所述低优先级短信。
12、在第一方面的再一种可能设计中,所述控制对应类型的短信的发送,包括:若用于发送所述高优先级短信的消息通道扩容至上限值,则降低所述低优先级短信的发送数量。
13、在第一方面的又一种可能设计中,所述控制对应类型的短信的发送,包括:若用于发送高优先级短信的消息通道中,存在短信发送流量小于设定流量阈值的目标消息通道,且低优先级短信的数量大于第三设定阈值,则通过所述目标消息通道发送所述低优先级短信。
14、在第一方面的又一种可能设计中,所述控制对应类型的短信的发送,包括:同步发送每条高优先级短信;以及异步发送每条低优先级短信。
15、在第一方面的又一种可能设计中,所述异步发送每条低优先级短信,包括:将所述低优先级短信异步转入至消息队列中;基于所述消息队列的短信消费者,从所述消息队列中获取低优先级短信;基于用于发送所述低优先级短信的消息通道,发送从所述消息队列中获取的低优先级短信。
16、在第一方面的又一种可能设计中,所述基于每类短信的数量和资源池中的线路资源,动态调整每类短信占用的短信发送资源,包括:
17、若所述高优先级短信的数量小于第二设定阈值,且所述低优先级短信的数量大于第三设定阈值,则基于所述资源池中的剩余可分配线路资源,对用于发送所述低优先级短信的消息通道进行扩容,并提高所述短信消费者的并发线程数。
18、在第一方面的又一种可能设计中,所述方法还包括:在发送对应类型的每条短信之前,从令牌桶中获取令牌。
19、在第一方面的又一种可能设计中,所述方法还包括:基于所述令牌桶中令牌的数量变化、每类短信在发送过程中的耗时,继续调整每类短信所占用的短信发送资源。
20、在第一方面的又一种可能设计中,所述方法还包括:基于动态调整后的每类短信占用的短信发送资源,调整所述令牌桶容量。
21、在第一方面的又一种可能设计中,若高优先级短信发送失败或发送超时,则进行重发直至满足预设条件;若低优先级短信发送失败或超时,则将所述低优先级短信重新转入至消息队列中。
22、第二方面,本申请实施例提供短信发送装置,包括:
23、获取模块,用于获取待发送的短信的类型和待发送的每类短信的数量;
24、动态调整模块,用于基于每类短信的数量和资源池中的线路资源,动态调整每类短信占用的短信发送资源,所述资源池中线路资源的总量为固定值;
25、发送控制模块,用于基于每类短信占用的短信发送资源,控制对应类型的短信的发送。
26、第三方面,本申请实施例提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上述的方法。
27、第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述的方法。
28、第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法。
29、本申请实施例提供的短信发送方法、装置、设备、存储介质和程序产品,通过将短信分为多种类型,基于不同类型短信的数量,动态的调整其所占用的短信发送资源,达到提升短信发送过程中线路资源的利用率,避免短信出现超时的效果。
1.一种短信发送方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取待发送的短信的类型,包括:
3.根据权利要求1所述的方法,其特征在于,所述基于每类短信的数量和资源池中的短信发送资源,动态调整每类短信占用的短信发送资源,包括:
4.根据权利要求3所述的方法,其特征在于,所述控制对应类型的短信的发送,包括:
5.根据权利要求1所述的方法,其特征在于,所述控制对应类型的短信的发送,包括:
6.根据权利要求1所述的方法,其特征在于,所述控制对应类型的短信的发送,包括:
7.根据权利要求6所述的方法,其特征在于,所述异步发送每条低优先级短信,包括:
8.根据权利要求7所述的方法,其特征在于,所述基于每类短信的数量和资源池中的线路资源,动态调整每类短信占用的短信发送资源,包括:
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
13.一种短信发送装置,其特征在于,包括:
14.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至12任一项所述的方法。
16.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法。