短信推送方法、装置、设备及可读介质与流程

文档序号:20918714发布日期:2020-05-29 13:51阅读:283来源:国知局
短信推送方法、装置、设备及可读介质与流程

本发明涉及短信推送领域,尤其涉及一种短信推送方法、装置、设备及可读介质。



背景技术:

在涉及到验证码推送、交易信息通知等场景中都需要用到将短信通过渠道商推送给对应的特定对象以进行通知。因此,在进行短信推送时首先需要进行推送渠道的选择,以使得短信能够最快同时送达率最高地送至目标对象。

现有技术中短信推送一般分为采用单一渠道或者从多渠道进行选择,这两种推送方式存在下列问题:单一推送渠道的依赖性过大,抗风险能力低,而多渠道是以随机、轮询或固定权重的方式在预设的渠道中进行选择,但这样的选择方式不够灵活,容易出现故障渠道也被选中的情况,因而现有技术中存在的缺陷造成了短信推送的送达率低和效率低的问题。



技术实现要素:

基于此,有必要针对上述问题,提出一种短信推送方法、装置、计算机设备及可读介质。

一种短信推送方法,其特征在于,所述方法包括:

每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

根据所述历史推送信息确定各个可选渠道的评价分数;

根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

其中,所述根据所述历史推送信息确定各个可选渠道的评价分数,包括:

根据所述历史推送信息分别确定各个所述可选渠道的目标推送参数,所述目标推送参数包括该可选渠道对应的推送量、送达率、平均延时和/或最大延时中的最少两项;

根据所述各个可选渠道的推送量确定总推送量,获取所述可选渠道库中的包含的渠道总数;

根据所述总推送量、所述渠道总数、所述各个可选渠道的目标推送参数分别确定所述各个可选渠道的评价分数。

在所述每隔目标更新时长获取可选渠道库中的各个可选渠道在历史时间区间内的历史推送信息的步骤之前,还包括:

分别获取所述各个可选渠道的实时推送信息,根据所述实时推送信息分别确定所述各个可选渠道的连续推送失败次数;

将所述连续推送失败次数大于预设推送次数阈值的可选渠道从所述可选渠道库删除并添加至预设的黑名单渠道库。

在所述将所述连续推送失败次数大于预设阈值的可选渠道加入到预设的黑名单渠道库的步骤之后,还包括:

每隔预设时长获取所述黑名单渠道库中的各个渠道针对预设的测试数据的测试推送信息;

根据所述测试推送信息分别确定所述黑名单渠道库中的各个渠道的连续送达次数;

将所述连续送达次数高于预设送达次数阈值的渠道从所述黑名单渠道库删除并添加至所述可选渠道库中。

所述根据所述评价分数从所述可选渠道中确定目标渠道执行预设短信的推送动作,包括:

分别判断各个所述可选渠道的评价分数与预设的分数阈值是否匹配,获取与所述预设的分数阈值匹配的可选渠道作为队列中渠道;

按照预设的随机选择算法从所述队列中渠道中确定所述目标渠道。

可选的,在判断各个所述可选渠道的评价分数与预设的分数阈值是否匹配的步骤之前,还包括:

获取短信推送任务,根据所述短信推送任务确定待推送短信信息,所述待推送短信信息包括待推送短信数量、待推送短信优先级信息;

根据所述待推送短信信息确定所述预设的分数阈值。

可选的,所述方法还包括:

根据所述各个可选渠道的目标推送参数确定所述可选渠道库对应的总平均延时、平均最大延时;

根据所述总平均延时、平均最大延时确定所述目标更新时长。

一种短信推送装置,其特征在于,所述装置包括:

获取单元:用于每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

确定单元:用于根据所述历史推送信息确定各个所述可选渠道的评价分数;

推送单元:用于根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

根据所述历史推送信息确定各个可选渠道的评价分数;

根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

根据所述历史推送信息确定各个可选渠道的评价分数;

根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

在本发明实施例中,每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息,根据此历史推送信息确定各个可选渠道的评价分数,再根据每个可选渠道的评价分数在本可选渠道库中确定目标渠道,最后通过所确定出的目标渠道执行预设短信的推送动作。可选的,本发明还获取各个可选渠道的实时推送信息,通过该实时推送信息确定出不满足预设条件的可选渠道从上述可选渠道库中删除,并且添加进预设的黑名单渠道库,同时针对黑名单渠道库中的各个渠道利用预设的测试数据进行送达情况的测试,从而将满足条件的渠道重新添加进上述可选渠道库。

相较于现有技术中采用多渠道进行短信推送时,针对各个渠道的推送权重(评价分数)是固定的,从而在某个高评价(推送权重较大)的渠道出现故障时,采用随机轮流选择还是会选择到该故障渠道进行推送,这样就会造成通过该渠道的短信成功推送的推送事故,本发明通过建立一个可选渠道库和黑名单渠道库,并且根据每隔预设时长根据两个渠道库推送数据进行各个渠道重新评价和更新,由此提高了短信推送的效率和送达率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1示出了一个实施例中短信推送方法的流程图;

图2示出了一个实施例中确定各个可选渠道的评价分数的流程图;

图3示出了一个实施例中黑名单渠道库的确定的流程图;

图4示出了一个实施例中对黑名单渠道库进行更新的流程图;

图5示出了一个实施例中根据各个可选渠道的评价分数确定目标渠道的流程图;

图6示出了一个实施例中确定预设的分数阈值的流程图;

图7示出了一个实施例中目标更新时长的确定流程图;

图8示出了一个实施例中短信推送装置的结构框图;

图9示出了一个实施例中计算机设备的内部结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提出了一种短信推送方法,在一个实施例中,本发明可以基于一pc等计算机处理设备。可选的,可以是基于一短信推送装置或系统。

参考图1,本发明实施例提供了一种短信推送方法。

图1示出了一个实施例中短信推送方法的流程图。本发明中所述的短信推送方法至少包括如图1所示的步骤s1022-s1026,详细介绍如下:

在步骤s1022中,每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息。

首先,此处的渠道商可以是短信推送的服务商,常见的短信推送的渠道商可以包括井星、阿里云、腾讯、梦网等。在具体的应用场景中,短信推送一般是为了如将验证码、交易通知等相关短信发送到与目标用户账号关联的手机号上。而这些相关短信的发送需要通过中间的服务商作为渠道进行推送。

考虑到不同的渠道商的推送任务的处理能力、当前推送任务量等均存在不稳定性和差异性,为了保证每一条待推送短信能够尽可能快速并且成功地推送到对应的手机号终端上,在进行短信推送的渠道的选择时首先需要确定出各个可以选择的渠道商的推送可靠度(评价分数),从而基于这个评价分数进行最优渠道的选择。

具体的,历史推送信息可以是每一个渠道商在预设时长的历史区间内所推送的每一条短信的推送情况相关的信息,如该条短信是否成功送达,该条短信从渠道商发出到用户终端上接收到有多长时间的延时等。

另外,此处的目标更新时长可以根据当前的各个渠道的推送时延以及待推送的短信数量进行调整。这样是为了在当前推送任务量较大时,也对应地加快对各个可选渠道的评价分数的重新评估和可用性的更新,这样才能满足当前更迭较快的任务处理节奏,不至于出现故障渠道而未能及时检测出来进行排除。具体的目标更新时长的确定过程将在步骤s1082-s1084中进行进一步说明。

同样的,类似于针对目标更新时长的确定可以结合当前渠道商的总推送情况以及当前的推送任务进行调整,此处的历史区间的时长也可以实时调整,如在推送任务较大,平均时延较小时,可以将历史区间设置得较小,使得历史推送信息更具有时效性,而在推送任务较为空闲时,可以将历史区间设置得更大一些,从而搜集到更多的历史推送数据。

在步骤s1024中,根据所述历史推送信息确定各个可选渠道的评价分数。

容易理解的是,针对各个渠道的短信推送能力的评价指标一般主要包括短信推送是否能成功送到、是否及时。因此,为了确认每一条目标短信能够在足够短的时间内(即时延较小,满足预设的等待时长)成功地推送到用户的手机终端上(即保证高于阈值的送达率),需要根据各个可选渠道在预设时长的历史时间内的推送短信的等待以及送达情况来确定出其对应的推送能力和在被选择时的重要度,即此处的评价分数即可以视为在多个渠道商进行选择时,各个待选择渠道商的可信度。

具体的,根据确定上述历史推送信息确定各个可选渠道的评价分数的过程可以至少包括图2示出的步骤s1032-s1036。图2示出了一个实施例中确定各个可选渠道的评价分数的流程图。

在步骤s1032中,根据所述历史推送信息分别确定各个所述可选渠道的目标推送参数,所述目标推送参数包括该可选渠道对应的推送量、送达率、平均延时和/或最大延时中的最少两项。

举例进行说明,此处的可选渠道库中可以存在三个可选渠道,分别为渠道a、渠道b、渠道c。上述三个可选渠道分别对应的推送量(单位:条)、送达率、平均延时(单位:秒)和最大延时(单位:秒)分别为:

渠道a:100条、95%、2s、30s;

渠道b:80条、99%、0.5s、10s;

渠道c:150条、92%、1.5s、40s。

在步骤s1034中,根据所述各个可选渠道的推送量确定总推送量,获取所述可选渠道库中的包含的渠道总数。

也就是说,在考虑各个可选渠道单独的历史推送数据的同时,还需要结合当前所有的渠道的平均推送情况,确定出各个可选渠道与平均推送能力的比较,基于这两者进行评价。

结合上述步骤中的举例,此处的总推送量为330条,而渠道总数为3。

在步骤s1036中,根据所述总推送量、所述渠道总数、所述各个可选渠道的目标推送参数分别确定所述各个可选渠道的评价分数。

考虑到推送量、送达率这两项参数与渠道的推送能力是成正比的,而平均延时和最大延时是渠道的推送能力是负相关的,因此在一个具体的实施例中,评价分数的确定方式可以是分别取平均延时和最大延时这两项参数的倒数,再加上各个可选渠道的推送量与所有渠道的总推送量的比值以及每个可选渠道的送达率的和作为各个可选渠道的评价分数。

按照这个计算方法,渠道a的评价分数应该为:

1/2+1/30+100/330+0.95=1.786,

其他可选渠道的评价分数的计算过程以此类推,不再赘述。

然而,更进一步的,考虑到在实际应用中,由于各个渠道的任务处理和分配是在实时不断变化的,因此可能存在某个可选渠道在上次根据历史推送数据进行评估之后,出现了堵塞或者故障等与评价分数不符的实际推送能力,从而导致依据旧有的评价分数进行渠道选择时,分配到该渠道上的都无法成功发送或者时延过大,这样会严重地影响到短信推送的送达率和效率,甚至会造成一定程度的事故和损失。

为了避免上述这种情况,在可选的实施例中除了基于历史推送信息进行评估,还应该实时获取各个可选渠道的实时推送数据情况,以此将最新的实时推送数据不满足条件的可选渠道及时从可选渠道库中删除,从而使得堵塞或故障的渠道不会被选择到,对整体的短信推送不造成影响。

因此,在所述每隔目标更新时长获取可选渠道库中的各个可选渠道在历史时间区间内的历史推送信息的步骤之前,还包括图3示出的步骤s1042-1044。图3示出了一个实施例中黑名单渠道库的确定的流程图。

在步骤s1042中,分别获取所述各个可选渠道的实时推送信息,根据所述实时推送信息分别确定所述各个可选渠道的连续推送失败次数。

结合前述步骤中的举例进行说明,针对可寻渠道库中三个可选渠道a、渠道b、渠道c,此处的实时推送信息可以是每隔预设的时长(可以此处的目标更新时长,也可以是更短的时长)的推送数据(如推送的每一条短信的送达情况和延时情况)。

而此处针对连续推送失败次数进行统计的原因在于:单次的推送失败可能是偶尔的通信故障或者一时的处理能力不足,而连续多次推送存在失败则可以显示出当前的渠道出现了严重的堵塞或者故障已经导致了推送功能的瘫痪。

在步骤s1044中,将所述连续推送失败次数大于预设推送次数阈值的可选渠道从所述可选渠道库删除并添加至预设的黑名单渠道库。

考虑到实际应用中,短信推送服务购买方(如各种需要使用短信验证服务的app)以及被推送用户对于推送失败的容忍程度,此处具体的预设的推送次数可以是3次或者5次。

在根据各个可选渠道的实时推送数据进行可选渠道库的组成的动态更新的同时,考虑到各大渠道可能会自身重新分配和调用推送资源以及对突发的故障进行修复,因此为了不浪费潜在的可用的渠道资源,还需要实时不断地针对黑名单中的各个渠道进行是否重新具有了推送能力的检查,从而实现可选渠道和黑名单渠道库的成员的更新替换。

综上所述,在所述将所述连续推送失败次数大于预设阈值的可选渠道加入到预设的黑名单渠道库的步骤之后,还可以包括图4示出的步骤s1052-s1056。图4示出了一个实施例中对黑名单渠道库进行更新的流程图。

在步骤s1052中,每隔预设时长获取所述黑名单渠道库中的各个渠道针对预设的测试数据的测试推送信息。

容易理解的是,在某可选渠道(假设为渠道n)因为实时推送数据不满足预设阈值(如连续推送失败次数大于了5次)被可选渠道库删除并移至黑名单渠道库后,该渠道n即不再在执行预设的短信推送任务时被选择,但此处可以用预设的测试数据(如事先准备好的测试验证码短信以及测试被推送的手机号以及终端)来对渠道n进行是否已经恢复推送能力的测试。

因此,此处的测试推送信息可以包括测试短信推送成功率、平均时延、最大时延以及连续成功推送(即送达)次数等。并且,类似的,此处的针对黑名单渠道库进行测试的预设时长可以是前述步骤中的目标更新时长,也可以是更短的时长。

在步骤s1054中,根据所述测试推送信息分别确定所述黑名单渠道库中的各个渠道的连续送达次数。

也就是说,连续送达次数反映出了渠道的推送能力的良好性和稳定性,可以很好地用来检测渠道是否已经解除故障,恢复了一定的推送能力,从而可以重新进入可选渠道库,进行评价分数的确定,并且由此有机会被选择。

在步骤s1056中,将所述连续送达次数高于预设送达次数阈值的渠道从所述黑名单渠道库删除并添加至所述可选渠道库中。

可选的,此处的预设的送达次数可以是和前述步骤s1044中的预设的推送次数可以是3次或者5次。

在步骤s1026中,根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

也就是说,可以将可选渠道库中评价分数高于预设条件的渠道作为最终执行预设的(目标)短信的推送任务。

但需要说明的是,在确定了可选渠道库和黑名单渠道库之后,在进行目标渠道的确定之前,考虑到将推送任务和不同推送能力的渠道进行合理的匹配对于每一条待推送短信的快速和成功送达都存在一定的重要性,因此在确定目标渠道用以执行目标短信的推送动作之前,还可以进一步地包括图5示出的步骤s1062-s1064。图5示出了一个实施例中根据各个可选渠道的评价分数确定目标渠道的流程图。

在步骤s1062中,分别判断各个所述可选渠道的评价分数与预设的分数阈值是否匹配,获取与所述预设的分数阈值匹配的可选渠道作为队列中渠道。

也就是在确定了各个可选渠道的评价分数之后,将高于一定分数阈值的渠道视作可以当前的推送任务被选择的渠道。

而在确定了可选渠道库和黑名单渠道库之后,考虑到将推送任务和不同推送能力的渠道进行合理的匹配对于每一条待推送短信的快速和成功送达都存在一定的重要性,因此在确定目标渠道用以执行目标短信的推送动作之前,此处的预设的分数阈值确定过程还可以包括图6示出的步骤s1072-s1074。图6示出了一个实施例中确定预设的分数阈值的流程图。

在步骤s1072中,获取短信推送任务,根据所述短信推送任务确定待推送短信信息,所述待推送短信信息包括待推送短信数量、待推送短信优先级信息。

即在存在较多的待推送短信时(或者待推送短信的优先级较低时),可以适量降低分数阈值,使得有更多的可选渠道可以被选择和使用。而对应的,在待推送短信的优先级较高时,可以使用评价分数较高的渠道进行推送任务。

在步骤s1074中,根据所述待推送短信信息确定所述预设的分数阈值。

也就是说,不同重要程度(权重)的推送任务所需要(匹配)的渠道的是存在差异的,即重要程度较大的推送任务需要对应地匹配到评价分数较高的可选渠道。

在步骤s1064中,按照预设的随机选择算法从所述队列中渠道中确定所述目标渠道。

需要特别说明的是,在可选的实施例中,除了用随机算法从队列中渠道中进行选择以外,还可以采取轮流询问的算法,以此使用队列中渠道的各个可选渠道用以执行预设短信的推送任务。

最后,在一个可选的实施例中,对推送渠道的评分数据进行更新的频率也很大程度上影响了的评估分数的准确性和送达率。因此,针对目标更新时长的确定过程还可以至少包括图7示出的步骤s1082-s1084。图7示出了一个实施例中目标更新时长的确定流程图。

在步骤s1082中,根据所述各个可选渠道的目标推送参数确定所述可选渠道库对应的总平均延时、平均最大延时。

具体的可以是根据各个可选渠道的平均时延的和的平均值作为此处的总平均延时,以及所有可选渠道的最大时延的和的平均值作为此处的平均最大时延。

在步骤s1084中,根据所述总平均延时、平均最大延时确定所述目标更新时长。

也就是说在各个可选渠道的平均延时较大时,可以视为当前推送任务量较大(出现故障渠道的可能性较大),因此应该对应地加快对各个可选渠道的评价分数的重新评估和可用性的更新,也就是说应该减小目标更新时长,而在各个可选渠道的平均延时较小时,可以视为当前推送任务的执行较为平稳和顺利,可以适当增大目标更新时长,由此节约渠道评价更新的成本和提高效率。

图8示出了一个实施例中短信推送装置的结构框图。

参考图8所示,根据本发明的一个实施例的短信推送装置1090,包括:第一获取单元1092、确定单元1094、推送单元1096。

其中,获取单元1092:用于每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

确定单元1094:用于根据所述历史推送信息确定各个所述可选渠道的评价分数;

推送单元1096:用于根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图9所示,该计算机设备包括通过系统总线连接的处理器、存储器和通信模块、处理模块、获取模块。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本短信推送方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本短信推送方法。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

根据所述历史推送信息确定各个可选渠道的评价分数;

根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

每隔目标更新时长获取可选渠道库中的各个可选渠道的历史推送信息;

根据所述历史推送信息确定各个可选渠道的评价分数;

根据所述评价分数在所述可选渠道库中确定目标渠道,并通过所述目标渠道执行预设短信的推送动作。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1