一种发送消息的方法、装置、存储介质及电子设备与流程

文档序号:24644011发布日期:2021-04-13 14:25阅读:128来源:国知局
一种发送消息的方法、装置、存储介质及电子设备与流程

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.所述发送成功率为成功发送至消息通道的所有消息类型的历史消息数量与所有消息类型的历史消息总数量的比值,所述触达成功率为成功触达的所有消息类型的历史消
息数量与所有消息类型的历史消息总数量的比值;或者,所述发送成功率为成功发送至消息通道的当前消息类型的历史消息数量与当前消息类型的历史消息总数量的比值,所述触达成功率为成功触达的当前消息类型的历史消息数量与当前消息类型的历史消息总数量的比值;其中,所述当前消息类型为所述目标消息的消息类型;
30.或者,确定每种消息类型对应的每项所述路由指标的权重,根据所述消息通道的每种消息类型对应的多项路由指标,以加权的方式确定所述消息通道的评价值,且所述消息通道的评价值r为:
31.其中,w
ij
表示第i种消息类型对应的第j项路由指标的权重,t
ij
表示第i种消息类型对应的第j项路由指标,m为消息类型的种类数量,n为路由指标的种类数量。
32.第二方面,本发明实施例还提供了一种发送消息的装置,包括:
33.确定模块,用于确定待发送的目标消息;
34.发送模块,用于按照通道排列顺序将预设顺位的消息通道作为当前消息通道,基于所述当前消息通道执行发送所述目标消息的操作,所述通道排列顺序为根据消息通道的评价值进行排序后所确定的顺序;
35.结果处理模块,用于确定发送所述目标消息的当前发送结果,所述当前发送结果用于更新所述当前消息通道的评价值,并重新确定所述通道排列顺序。
36.第三方面,本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于上述任意一项所述的发送消息的方法。
37.第四方面,本发明实施例还提供了一种电子设备,包括:
38.至少一个处理器;以及,
39.与所述至少一个处理器通信连接的存储器;其中,
40.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的发送消息的方法。
41.本发明实施例上述第一方面提供的方案中,基于通道排列顺序选取预设顺位的当前消息通道之后,由该当前消息通道发送目标消息,并基于相应的当前发送结果可以更新当前消息通道的评价值以及通道排列顺序。对于任意目标消息,该方法均可以选取性能最优的消息通道发送目标消息,发送消息的效果较好;同时,通过更新通道排列顺序的方式可以有效保证预设顺位的消息通道为最优的,方便后续发送消息时选择最优消息通道,从而可以保证选择最优消息通道的可持续性。且由于只有性能最优的消息通道才会被用于发送消息,从而可以迫使消息通道的供应商提高自身消息通道的性能,一定程度上能够减少消息发送失败的情况。
42.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
43.构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释
本发明的原理。
44.参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
45.图1示出了本发明实施例所提供的一种发送消息的方法的流程图;
46.图2示出了本发明实施例所提供的另一种发送消息的方法的流程图;
47.图3示出了本发明实施例所提供的再一种发送消息的方法的详细流程图;
48.图4示出了本发明实施例所提供的一种发送消息的装置的结构示意图;
49.图5示出了本发明实施例所提供的用于执行发送消息的方法的电子设备的结构示意图。
具体实施方式
50.现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
51.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
52.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
53.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
54.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
55.本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
56.计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
57.本发明实施例提供的一种发送消息的方法,参见图1所示,包括:
58.步骤101:确定待发送的目标消息。
59.本发明实施例中,在需要向目的对象(如用户或其他设备等)发送某消息时,即可将该消息作为目标消息。其中,可以只发送一条消息,即此时包含一条目标消息;或者,也可以同时发送多条消息,即目标消息的数量为多条,此时对每条目标消息均可执行本实施例提供的发送消息的方法,本实施例对目标消息的条数不做限定。此外,在存在多条目标消息时,不同的目标消息可以对应不同的目的对象,即可以将不同的目标消息发送至相同或不
同的目的对象。
60.步骤102:按照通道排列顺序将预设顺位的消息通道作为当前消息通道,基于当前消息通道执行发送目标消息的操作,该通道排列顺序为根据消息通道的评价值进行排序后所确定的顺序。
61.本发明实施例中,预先设有多个用于发送消息的通道,即消息通道;以消息为短信为例,一般会存在多个短信供应商,每个短信供应商提供至少一个消息通道。在一般情况下,每个消息通道均可以发送该目标消息,本实施例从多个消息通道中选取最优的消息通道来发送该目标消息。具体地,预先确定多个消息通道的评价值,该评价值用于评价消息通道发送消息的性能,同时,根据消息通道的评价值对多个消息通道进行排序,即可确定通道排列顺序;一般情况下,评价值越高,发送消息的性能越好,此时按照从大到小的顺序对消息通道评价值进行排序。若无特殊说明,本实施例以评价值越高、发送消息的性能越好为例说明;当然,若评价值越高,发送消息的性能越差,此时按照从小到大的顺序对消息通道评价值进行排序即可,后续所执行的过程相同。
62.在需要发送目标消息时,根据该通道排列顺序选取一个当前需要使用的消息通道,即当前消息通道。本实施例预设所需的顺位,即预先设置在通道排列顺序中的某个位置,将该预设顺位对应的消息通道作为当前消息通道。例如,三个消息通道a、b、c的通道排列顺序为消息通道b、消息通道c、消息通道a,若该预设顺位为第1位,此时即可将消息通道b作为当前消息通道;若预设顺位为第2位,此时将消息通道c作为当前消息通道。在正常情况下,通道排列顺序中第1位对应的消息通道具有最优的性能,本实施例中的预设顺位一般为首位,即第1位。在确定当前消息通道之后,即可基于该当前消息通道执行发送目标消息的操作;具体地,可以把该目标消息发送至当前消息通道,并由该当前消息通道把目标消息发送(转发)至相应的目的对象。
63.步骤103:确定发送目标消息的当前发送结果,当前发送结果用于更新当前消息通道的评价值,并重新确定通道排列顺序。
64.本发明实施例中,在发送该目标消息之后,可以确定相应的发送结果,即当前发送结果;其中,该发送结果主要为发送成功或发送失败,当前发送结果的具体内容依据实际情况而定。例如,在由当前消息通道发送目标消息之后,当前消息通道会反馈一个相应的结果,若该目标消息最终发送至目的对象,则发送成功,否则发送失败。
65.同时,该当前发送结果为当前消息通道发送一条消息的结果,基于该发送结果可以更新对该当前消息通道的评价值。例如,若当前发送结果为发送成功,此时可以增加当前消息通道的评价值;相反地,若当前发送结果为发送失败,则降低当前消息通道的评价值。本实施例中,在确定当前发送结果之后,可以立即更新当前消息通道的评价值;或者,也可以在确定了与当前消息通道对应的足够数量(例如1000个)当前发送结果之后,或者在预设时间间隔(例如1分钟,5分钟等)之后再对当前消息通道的评价值进行更新,本实施例对更新当前消息通道评价值的时机不做限定。
66.本发明实施例中,通过选取预设顺位的当前消息通道来发送目标消息,同时基于目标消息的当前发送结果来更新当前消息通道的评价值,从而可以更新通道排列顺序,在实现以最优通道发送消息的同时,还可以有效保证预设顺位的消息通道具有最优性。例如,当前的通道排列顺序为消息通道b、消息通道c、消息通道a,且预设顺位为第1位,即此时由
消息通道b发送目标消息;若消息通道b发送失败,则会导致消息通道b的评价值降低,进而可能使得消息通道c的评价值高于消息通道c的评价值,则通道排列顺序更新为消息通道c、消息通道b、消息通道a;在之后发送其他目标消息时,即由消息通道c发送。此外,该方法使得只有性能最优的消息通道才会被用于发送消息,从而可以迫使消息通道的供应商(例如短信供应商)提高自身消息通道的性能,一定程度上能够减少消息发送失败的情况。
67.本发明实施例提供的一种发送消息的方法,基于通道排列顺序选取预设顺位的当前消息通道之后,由该当前消息通道发送目标消息,并基于相应的当前发送结果可以更新当前消息通道的评价值以及通道排列顺序。对于任意目标消息,该方法均可以选取性能最优的消息通道发送目标消息,发送消息的效果较好;同时,通过更新通道排列顺序的方式可以有效保证预设顺位的消息通道为最优的,方便后续发送消息时选择最优消息通道,从而可以保证选择最优消息通道的可持续性。且由于只有性能最优的消息通道才会被用于发送消息,从而可以迫使消息通道的供应商提高自身消息通道的性能,一定程度上能够减少消息发送失败的情况。
68.在上述实施例的基础上,若当前发送结果为发送成功,则目标消息发送成功,流程结束。若当前发送结果为发送失败,即目的对象没有接收到目标消息,此时可以继续执行发送过程,以继续向目的对象发送目标消息;或者,在确定需要继续向目的对象发送目标消息时,再继续执行发送过程;若当前不需要继续发送,例如目标消息被配置为“无需切换通道”,则不需要继续发送该目标消息。
69.本实施例中,在步骤103“确定发送目标消息的当前发送结果”之后,若当前发送结果为发送失败,可以重复执行发送消息过程,直至当前发送结果为发送成功或遍历所有的消息通道。其中,该发送消息过程包括:按照通道排列顺序将下一个消息通道作为当前消息通道,基于当前消息通道执行发送目标消息的操作,并确定发送目标消息的当前发送结果。
70.具体地,参见图2所示,在步骤103“确定发送目标消息的当前发送结果”之后,该方法还包括:
71.步骤104:按照通道排列顺序将下一个消息通道作为当前消息通道,基于当前消息通道执行发送目标消息的操作,并确定发送目标消息的当前发送结果;其中,该当前发送结果也用于更新相应的当前消息通道的评价值。
72.步骤105:判断当前发送结果是否为发送成功,若是,流程结束,否则重新执行步骤104。
73.本发明实施例中,通过循环执行发送消息过程的方式来发送目标消息。具体地,若预设顺位的当前消息通道不能成功发送目标消息,则将上次选取的当前消息通道的下一个消息通道作为重新选取的当前消息通道,并重新执行类似于步骤102的过程:“基于当前消息通道执行发送目标消息的操作”,之后通过执行类似于步骤103的过程“确定发送目标消息的当前发送结果”,若此时的当前发送结果为发送成功,则不需要重复发送;若为发送失败,则需要重新执行步骤104,以保证成功发送该目标消息。例如,三个消息通道a、b、c的通道排列顺序为消息通道b、消息通道c、消息通道a,若该预设顺位为第1位,且消息通道b发送目标消息失败;之后下一个消息通道作为当前消息通道,即将消息通道c作为当前消息通道,并继续尝试发送目标消息;若仍然发送失败,则继续把下一个消息通道作为当前消息通道,即将消息通道a作为当前消息通道,若仍然发送失败,此时遍历了所有的消息通道,流程
结束。
74.需要说明的是,本实施例中的“当前消息通道”为在当前时间节点所选取的消息通道,在不同时间,“当前消息通道”可能表示不同的消息通道。例如,步骤102中的“当前消息通道”为预设顺位的消息通道,而步骤104中的“当前消息通道”为预设顺位之后的某个消息通道,具体基于当前所执行的轮数确定。
75.本发明实施例通过重复执行发送消息过程的方式,按照顺序依次将下一个消息通道作为当前消息通道来发送目标消息,可以尽可能保证成功发送目标消息;同时,在每个发送消息过程中所确定的当前消息通道也可以更新相应的当前消息通道的评价值,若在后的消息通道成功发送了目标消息,其评价值更高,也更有利于在通道排列顺序中向前排列该消息通道,从而能更快速地将最优消息通道调整到预设顺位。
76.在上述实施例的基础上,本发明实施例提供的方法还包括确定通道排列顺序的过程,其中,在步骤102“按照通道排列顺序将预设顺位的消息通道作为当前消息通道”之前需要确定通道排列顺序;此外,在步骤103“确定发送目标消息的当前发送结果”之后,需要更新通道排列顺序,即也需要执行确定通道排列顺序的过程。在步骤102之前和步骤103之后所执行的确定通道排列顺序的过程,可以相同,也可以不同。具体地,该确定通道排列顺序的过程包括:
77.步骤a1:根据消息通道发送历史消息的历史发送结果确定消息通道的评价值,历史消息为在当前时间点之前消息通道所发送的消息。
78.步骤a2:根据多个消息通道的评价值进行大小排序,确定多个消息通道的通道排列顺序。
79.本发明实施例中,在步骤102之前执行上述步骤a1

a2,由于目标消息还未被发送,故其不为历史消息,通过其他历史消息的历史发送结果来计算相应消息通道的评价值,并对多个消息通道进行排序,从而可以确定通道排列顺序;例如,消息通道a共发送了1000条历史消息,其中900条发送成功,100条发送失败,此时可以基于900个发送成功的历史发送结果和100个发送失败的历史发送结果来确定该消息通道a当前的评价值,之后基于该评价值的大小即可进行排序。
80.若在步骤103之后执行上述步骤a1

a2,由于目标消息已经被之前选择的消息通道发送,故在执行步骤a1的当前时间节点,该目标消息也是在之前被相应的消息通道所发送的消息,其为历史消息,此时需要基于该目标消息来确定相应消息通道的评价值。例如,在之前的某个时间点,消息通道a曾被作为当前消息通道来发送目标消息,若在发送目标消息之前,消息通道a已经发送过1000条历史消息,且其中900条发送成功、100条发送失败;那么,在执行步骤a1时的当前时间节点,消息通道a共发送了1001条历史消息(包含该目标消息),若消息通道a成功发送了目标消息,则901条发送成功、100条发送失败,否则为900条发送成功、101条发送失败。之后基于同样的方式计算该消息通道a的评价值即可,从而实现对其评价值的更新。本实施例中,该历史消息可以为:在当前时间点之前,消息通道所发送的所有消息,也可以是在当前时间点之前,消息通道在预设时间段内(例如最近一个月等)所发送的所有消息。
81.可选地,该评价值包括比例形式的路由指标,且当前发送结果用于更新比例形式的路由指标的分子和分母。
82.本发明实施例中,当前发送结果为发送成功时,评价值应当升高,当前发送结果为发送失败时,评价值应当降低。为了保证不同的当前发送结果对评价值具有不同的影响,本实施例中通过比例形式的路由指标来确定该评价值,且当前发送结果可以更新调整比例形式的路由指标的分子和分母。其中,“当前发送结果用于更新比例形式的路由指标的分子和分母”具体可以为:当前发送结果用于对比例形式的路由指标的分母进行增量处理(如加一处理),根据当前发送结果的不同对比例形式的路由指标的分子进行增量处理、或减量处理(如减一处理)、或者不处理。一般情况下,若当前发送结果为发送成功,则对分子进行增量处理,若当前发送结果为失败,则对分子进行减量处理或不处理。
83.可选地,该比例形式的路由指标可以为消息通道的发送成功率或触达成功率,其中,发送成功率为成功发送至消息通道的历史消息数量与历史消息总数量的比值,触达成功率为成功触达的历史消息数量与历史消息总数量的比值。本发明实施例中,历史发送结果包括两类,其具体包括:历史消息是否被成功发送至消息通道,以及消息通道反馈的历史消息是否成功触达。
84.具体地,向目的对象发送消息时,需要经过两个阶段,即先将消息发送至消息通道,之后再由消息通道发送(触达)至目的对象;前述实施例中的“发送成功”或“发送失败”为广义的含义,其可以为成功/失败发送至消息通道(消息通道成功/失败接收),也可以为成功/失败发送(触达)至目的对象。本实施例中,根据消息是否被成功发送至消息通道可以确定发送成功率;若消息成功发送至目的对象,则认为“成功触达”,故根据消息是否成功触达可以确定触达成功率。例如,需要通过消息通道a发送1000条历史消息,其中900条成功发送至了消息通道a,则发送成功率为90%;若之后其中800条消息成功触达目标对象,则触达成功率为80%。本实施例中通过发送成功率和/或触达成功率等比例形式的路由指标来确定评价值,可以保证不同的当前发送结果对评价值具有不同的影响,能够基于比例形式的路由指标更好地评价消息通道的性能。
85.可选的,还可以基于通道单价成本来确定相应消息通道的评价值。本实施例中,该通道单价成本为消息通道发送预设单位(如一条)消息的成本,通道单价成本越高,评价值越低。本发明实施例中,根据消息通道的多项路由指标确定消息通道的评价值,从而可以通过多维度的路由指标(发送成功率、触达成功率、通道单价成本等)对供应商的消息通道进行动态评价,可以从中选取出性能最优的消息通道来发送目标消息,且也可以一定程度减少发送消息的费用。
86.此外,在计算消息通道的评价值时,具体可通过加权的方式来进行计算。具体地,上述过程“根据消息通道的多项路由指标确定消息通道的评价值”具体可以包括:
87.步骤b1:确定每项路由指标的权重,根据消息通道的多项路由指标,以加权的方式确定消息通道的评价值。
88.本发明实施例中,可以预先分配每项路由指标的权重,进而通过加权的方式把多个路由指标转换为消息通道的评价值。例如,消息通道的三个路由指标为发送成功率r1、触达成功率r2、通道单价成本m,相应的权重依次为w1,w2,w3,则该消息通道的评价值即为w1×
r1+w2×
r2+w3×
m。
89.本实施例中,由于消息具有相应的类型属性,例如短信可以分为普通短信、验证码短信、营销短信等。在确定路由指标(如发送成功率、触达成功率)时,可以不区分消息类型
来确定路由指标,也可以根据消息类型来确定每一消息类型对应的路由指标,故确定路由指标主要包括两种方式:
90.第一种方式:根据所有消息类型的历史消息来确定相应消息通道的路由指标。具体地,此时的发送成功率为:成功发送至消息通道的所有消息类型的历史消息数量,与所有消息类型的历史消息总数量的比值;相应地,触达成功率为:成功触达的所有消息类型的历史消息数量,与所有消息类型的历史消息总数量的比值。
91.以消息为短信为例,其包含了普通短信、验证码短信、营销短信三种消息类型,若之前需要利用消息通道a发送共5000条短信,即所有消息类型的历史消息总数量为5000;同时,向消息通道a成功发送了4500条短信,且消息通道a成功将4100条短信发送至相应地目标对象,即成功触达4100条。此时,成功发送至消息通道的所有消息类型的历史消息数量即为4500,成功触达的所有消息类型的历史消息数量为4100,故该消息通道a的发送成功率为4500/5000=90%,触达成功率为4100/5000=82%。
92.第二种方式:根据不同的消息类型的历史消息来分别确定不同消息类型对应的路由指标,故每种路由指标对应多项,例如存在多个发送成功率等。此时,发送成功率为:成功发送至消息通道的某个消息类型的历史消息数量与该消息类型的历史消息总数量的比值,触达成功率为成功触达的某个消息类型的历史消息数量与该消息类型的历史消息总数量的比值。
93.仍然以第一种方式中的短信例子进行说明,若其中的5000条历史短信包括1000条普通短信、2000条验证码短信、2000条营销短信三种,且向消息通道a发送了900条普通短信、1900条验证码短信、1700条营销短信(共4500条),成功触达800条普通短信、1800条验证码短信、1500条营销短信(共4100条)。此时,该消息通道a包含三项发送成功率以及三项触达成功率,且三项发送成功率分别为900/1000=90%,1900/2000=95%,1700/2000=85%,三项触达成功率分别为800/1000=80%,1800/2000=90%,1500/2000=75%。
94.本发明实施例中,在确定消息通道的路由指标之后,即可基于上述的步骤b1进行加权处理。在第一种方式中,由于不区分消息类型,每种路由指标只具有一项数值,此时通过常规的加权处理方式即可,此处不做详述。
95.在第二种方式中,由于待发送的目标消息也具有相应的消息类型,此时可以只根据消息通道发送该消息类型时的路由指标来确定该消息通道的评价值。具体地,将目标消息的消息类型作为当前消息类型,此时可以只关注与该当前消息类型相关的路由指标,即发送成功率可以为:成功发送至消息通道的当前消息类型的历史消息数量,与当前消息类型的历史消息总数量的比值,相应地触达成功率为:成功触达的当前消息类型的历史消息数量与当前消息类型的历史消息总数量的比值。在确定与当前消息类型相关的路由指标之后,直接确定消息通道的评价值。
96.仍然以上述发送短信的例子进行说明,若目标消息为验证码短信,在发送该目标消息之前,消息通道a共发送了上述的5000条短信;根据上述例子可知,该消息通道发送验证码短信的发送成功率为95%,触达成功率为90%,此时基于95%的发送成功率、90%的触达成功率进行加权处理即可,从而可以确定该消息通道a的评价值。当前,若该消息通道a用于发送其他类型的短信,则需要分别确定每种消息类型对应的评价值,即一个消息通道可以对应多个评价值。
97.或者,在第二种方式中,也可以基于所有消息类型的路由指标来计算消息通道的评价值。此时,上述步骤b1具体可以为:
98.步骤b11:确定每种消息类型对应的每项路由指标的权重,根据消息通道的每种消息类型对应的多项路由指标,以加权的方式确定消息通道的评价值,且消息通道的评价值r为:
99.其中,w
ij
表示第i种消息类型对应的第j项路由指标的权重,t
ij
表示第i种消息类型对应的第j项路由指标,m为消息类型的种类数量,n为路由指标的种类数量。
100.本发明实施例中,每种消息类型可以对应多项路由指标,且每种路由指标也可以对应多种消息类型;若消息类型的种类数量为m,路由指标的种类数量为n,则最终确定的路由指标的项数为m
×
n项,同样地,需要确定m
×
n个权重。在确定所有路由指标t
ij
以及相应的权重w
ij
之后,即可确定相应的评价值r。
101.其中,可以预先设置每个权重的数值。以消息为短信为例,其消息类型包括三种:普通短信、验证码短信、营销短信,路由指标也设有三种:发送成功率、触达成功率、通道单价成本,此时可以预先设置9个权重,该权重具体可参见下表1所示。
102.表1
103.消息类型发送成功率权重触达成功率权重通道单价成本权重普通短信w
11
w
12
w
13
验证码短信w
21
w
22
w
23
营销短信w
31
w
32
w
33
104.此外可选地,在确定所有消息通道的评价值之后,即可进行排序并确定通道排列顺序,进而在发送目标消息时选取出所需的当前消息通道。其中,上述步骤102“按照通道排列顺序将预设顺位的消息通道作为当前消息通道”具体可以按照一种通道排列顺序进行排序,如以下的步骤c1或者步骤c2所示;或者,该步骤102也可根据实际情况选择合适的通道排列顺序进行排序,如下述的步骤c3或步骤c4。
105.步骤c1:按照全消息类型通道排列顺序将预设顺位的消息通道作为当前消息通道。
106.步骤c2:按照当前消息类型通道排列顺序将预设顺位的消息通道作为当前消息通道。
107.本发明实施例中,可以按照上述的第一种方式来计算消息通道发送所有消息类型的消息所对应的评价值,基于该评价值确定的顺序即为“全消息类型通道排列顺序”。或者,也可以先确定目标消息的消息类型,即当前消息类型,之后以上述的第二种方式,根据消息通道发送当前消息类型的消息来确定相应的评价值,排序后即可确定“当前消息类型通道排列顺序”。之后,从排序后的多个消息通道中选取预设顺位的消息通道作为当前消息通道即可。
108.步骤c3:判断按照全消息类型通道排列顺序所确定的预设顺位的消息通道的评价值与其他消息通道的评价值是否相同,若不同,则按照全消息类型通道排列顺序将预设顺
位的消息通道作为当前消息通道;若相同,则按照当前消息类型通道排列顺序将预设顺位的消息通道作为当前消息通道。
109.步骤c4:判断按照当前消息类型通道排列顺序所确定的预设顺位的消息通道的评价值与其他消息通道的评价值是否相同,若不同,则按照当前消息类型通道排列顺序将预设顺位的消息通道作为当前消息通道;若相同,则按照全消息类型通道排列顺序将预设顺位的消息通道作为当前消息通道。
110.本实施例中,在选取当前消息通道时,如步骤c3所示,可以优先按照全消息类型通道排列顺序进行选择,若预设顺位的消息通道的评价值与其他评价值均不同,则可以唯一确定预设顺位的消息通道,此时继续按照全消息类型通道排列顺序进行选择;相反地,若此时因多个消息通道的评价值相同,导致预设顺位对应多个消息通道,此时可以再按照当前消息类型通道排列顺序进行选择,以能够选取出唯一的最优消息通道。此外可选地,也可如步骤c4中优先按照当前消息类型通道排列顺序进行选择,其过程与步骤c3类似,此处不做赘述。
111.下面以发送短信为例,详细介绍该发送消息的方法的一种流程。本发明实施例中,按照当前消息类型通道排列顺序选择最优的消息通道,参见图3所示,该方法包括:
112.步骤301:确定消息通道发送每种消息类型的发送成功率、触达成功率以及通道单价成本,以加权的方式确定该消息通道每种消息类型对应的评价值。
113.步骤302:根据多个消息通道的评价值进行大小排序,确定每种消息类型对应的通道排列顺序。
114.本实施例中,消息类型包括普通短信、验证码短信、营销短信三种,则每个消息通道对应三个评价值;同时,根据每种消息类型对应的评价值对消息通道分别进行排序,可以确定普通短信的通道排列顺序、验证码短信的通道排列顺序、营销短信的通道排列顺序。
115.步骤303:确定待发送的目标消息,以及当前消息类型。
116.其中,当前消息类型即为目标消息的消息类型。本实施例中以当前消息类型为验证码短息为例说明。
117.步骤304:按照验证码短信的通道排列顺序,将首位的消息通道作为当前消息通道,并基于当前消息通道执行发送目标消息的操作,确定发送目标消息的当前发送结果。
118.本实施例中,若共涉及三个消息通道a、b、c,且验证码短信的通道排列顺序为:消息通道a、消息通道b、消息通道c,此时即可将首位的消息通道a作为当前消息通道。在发送该目标消息之后,其确定的当前发送结果包括该目标消息是否被成功发送至消息通道a,以及消息通道a反馈的该目标消息是否成功触达,根据上述两个发送结果可以对消息通道a的发送成功率和触达成功率进行更新。
119.步骤305:判断是否为发送失败,若是,则继续步骤306,否则流程结束。
120.本实施例中,若目标消息没有成功发送到消息通道a,或者消息通道a没有使得目标消息成功触达目的对象,均可认为该当前发送结果是发送失败。
121.步骤306:按照验证码短信的通道排列顺序,将下一个消息通道作为当前消息通道,基于此时确定的当前消息通道执行发送目标消息的操作,并确定发送目标消息的当前发送结果。
122.本发明实施例中,若消息通道a发送失败,则把下一个消息通道,即消息通道b作为
当前消息通道继续发送目标消息。与上述由消息通道a发送该目标消息相似,此时也可以确定相应的当前发送结果,且该当前发送结果可以用于更新该消息通道b的发送成功率和触达成功率。
123.步骤307:判断是否为发送失败,若是,则重新继续步骤306,否则流程结束。
124.本发明实施例中,若消息通道b仍然发送失败,则继续把下一个的消息通道c作为当前消息通道,直至成功将目标消息触达至目的对象。同时,消息通道c的当前发送结果也可以用来更新消息通道c的发送成功率和触达成功率,进而更新相应的评价值以及通道排列顺序。
125.本发明实施例提供的一种发送消息的方法,基于通道排列顺序选取预设顺位的当前消息通道之后,由该当前消息通道发送目标消息,并基于相应的当前发送结果可以更新当前消息通道的评价值以及通道排列顺序。对于任意目标消息,该方法均可以选取性能最优的消息通道发送目标消息,发送消息的效果较好;同时,通过更新通道排列顺序的方式可以有效保证预设顺位的消息通道为最优的,方便后续发送消息时选择最优消息通道,从而可以保证选择最优消息通道的可持续性。且由于只有性能最优的消息通道才会被用于发送消息,从而可以迫使消息通道的供应商提高自身消息通道的性能,一定程度上能够减少消息发送失败的情况。通过重复执行发送消息过程的方式,按照顺序依次将下一个消息通道作为当前消息通道来发送目标消息,可以尽可能保证成功发送目标消息;同时,在每个发送消息过程中所确定的当前消息通道也可以更新相应的当前消息通道的评价值,若在后的消息通道成功发送了目标消息,其评价值更高,也更有利于在通道排列顺序中向前排列该消息通道,从而能更快速地将最优消息通道调整到预设顺位。
126.以上详细介绍了发送消息的方法的流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。
127.本发明实施例提供的一种发送消息的装置,参见图4所示,包括:
128.确定模块41,用于确定待发送的目标消息;
129.发送模块42,用于按照通道排列顺序将预设顺位的消息通道作为当前消息通道,基于所述当前消息通道执行发送所述目标消息的操作,所述通道排列顺序为根据消息通道的评价值进行排序后所确定的顺序;
130.结果处理模块43,用于确定发送所述目标消息的当前发送结果,所述当前发送结果用于更新所述当前消息通道的评价值,并重新确定所述通道排列顺序。
131.在上述实施例的基础上,该装置还包括循环发送模块;
132.在所述结果处理模块43确定发送所述目标消息的当前发送结果之后,所述循环发送模块用于:若所述当前发送结果为发送失败,重复执行发送消息过程,直至当前发送结果为发送成功或遍历所有的消息通道;
133.所述发送消息过程包括:按照所述通道排列顺序将下一个消息通道作为当前消息通道,基于所述当前消息通道执行发送所述目标消息的操作,并确定发送所述目标消息的当前发送结果。
134.在上述实施例的基础上,所述发送模块42按照通道排列顺序将预设顺位的消息通道作为当前消息通道包括:
135.按照全消息类型通道排列顺序或当前消息类型通道排列顺序将预设顺位的消息
通道作为当前消息通道;
136.或者,若按照全消息类型通道排列顺序所确定的预设顺位的消息通道的评价值与其他消息通道的评价值相同,则按照当前消息类型通道排列顺序将预设顺位的消息通道作为当前消息通道;
137.其中,所述全消息类型通道排列顺序为:根据消息通道发送所有消息类型的消息所确定的评价值进行排序后所确定的顺序;所述当前消息类型通道排列顺序为:根据消息通道发送当前消息类型的消息所确定的评价值进行排序后所确定的顺序,所述当前消息类型为所述目标消息的消息类型。
138.在上述实施例的基础上,该装置还包括排序模块;
139.在所述发送模块42按照通道排列顺序将预设顺位的消息通道作为当前消息通道之前,和/或在所述结果处理模块43确定发送所述目标消息的当前发送结果之后,所述排序模块用于:
140.根据消息通道发送历史消息的历史发送结果确定所述消息通道的评价值,所述历史消息为在当前时间点之前所述消息通道所发送的消息;
141.根据多个所述消息通道的评价值进行大小排序,确定多个所述消息通道的通道排列顺序。
142.在上述实施例的基础上,所述评价值包括比例形式的路由指标,且所述当前发送结果用于更新所述比例形式的路由指标的分子和分母。
143.在上述实施例的基础上,所述排序模块根据消息通道发送历史消息的历史发送结果确定所述消息通道的评价值包括:
144.根据所述消息通道发送历史消息的历史发送结果确定所述消息通道的发送成功率、触达成功率、通道单价成本中的多项路由指标;所述历史发送结果包括所述历史消息是否被成功发送至所述消息通道,以及所述消息通道反馈的所述历史消息是否成功触达;所述发送成功率为成功发送至消息通道的历史消息数量与历史消息总数量的比值,所述触达成功率为成功触达的历史消息数量与历史消息总数量的比值;
145.根据所述消息通道的多项路由指标确定所述消息通道的评价值。
146.在上述实施例的基础上,所述排序模块根据所述消息通道的多项路由指标确定所述消息通道的评价值包括:
147.确定每项所述路由指标的权重,根据所述消息通道的多项路由指标,以加权的方式确定所述消息通道的评价值;
148.所述发送成功率为成功发送至消息通道的所有消息类型的历史消息数量与所有消息类型的历史消息总数量的比值,所述触达成功率为成功触达的所有消息类型的历史消息数量与所有消息类型的历史消息总数量的比值;或者,所述发送成功率为成功发送至消息通道的当前消息类型的历史消息数量与当前消息类型的历史消息总数量的比值,所述触达成功率为成功触达的当前消息类型的历史消息数量与当前消息类型的历史消息总数量的比值;其中,所述当前消息类型为所述目标消息的消息类型;
149.或者,确定每种消息类型对应的每项所述路由指标的权重,根据所述消息通道的每种消息类型对应的多项路由指标,以加权的方式确定所述消息通道的评价值,且所述消息通道的评价值r为:
150.其中,w
ij
表示第i种消息类型对应的第j项路由指标的权重,t
ij
表示第i种消息类型对应的第j项路由指标,m为消息类型的种类数量,n为路由指标的种类数量。
151.本发明实施例提供的一种发送消息的装置,基于通道排列顺序选取预设顺位的当前消息通道之后,由该当前消息通道发送目标消息,并基于相应的当前发送结果可以更新当前消息通道的评价值以及通道排列顺序。对于任意目标消息,该装置均可以选取性能最优的消息通道发送目标消息,发送消息的效果较好;同时,通过更新通道排列顺序的方式可以有效保证预设顺位的消息通道为最优的,方便后续发送消息时选择最优消息通道,从而可以保证选择最优消息通道的可持续性。且由于只有性能最优的消息通道才会被用于发送消息,从而可以迫使消息通道的供应商提高自身消息通道的性能,一定程度上能够减少消息发送失败的情况。通过重复执行发送消息过程的方式,按照顺序依次将下一个消息通道作为当前消息通道来发送目标消息,可以尽可能保证成功发送目标消息;同时,在每个发送消息过程中所确定的当前消息通道也可以更新相应的当前消息通道的评价值,若在后的消息通道成功发送了目标消息,其评价值更高,也更有利于在通道排列顺序中向前排列该消息通道,从而能更快速地将最优消息通道调整到预设顺位。
152.本发明实施例还提供了一种计算机存储介质,所述计算机存储介质存储有计算机可执行指令,其包含用于执行上述的发送消息的方法的程序,该计算机可执行指令可执行上述任意方法实施例中的方法。
153.其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
154.图5示出了本发明的另一个实施例的一种电子设备的结构框图。所述电子设备1100可以是具备计算能力的主机服务器、个人计算机pc、或者可携带的便携式计算机或终端等。本发明具体实施例并不对电子设备的具体实现做限定。
155.该电子设备1100包括至少一个处理器(processor)1110、通信接口(communications interface)1120、存储器(memory array)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
156.通信接口1120用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
157.处理器1110用于执行程序。处理器1110可能是一个中央处理器cpu,或者是专用集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
158.存储器1130用于可执行的指令。存储器1130可能包含高速ram存储器,也可能还包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中的发送消息的方法。
159.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
160.可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质,详见上面的描述。
161.本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1