System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及消息投递,尤其涉及一种消息投递系统及方法。
技术介绍
1、根据业务需求,有时需要给用户发送邮件、短信等消息。其中,部分消息的内容可能包含重要信息或具有时效性,此时就需要一种高可靠的消息投递系统。当消息投递系统用第三方服务器时,发送方消息账号可能会存在流控等各种限制发送消息的条件,而且消息投递过程中所使用的账号或服务器也可能会发生故障,这些使得消息的可靠性受到很大影响。相关技术中通过降频的方式应对流控问题,通过手动切换账号和/或服务器的方式应对服务器故障问题,但降频方式会造成部分消息丢弃、无法成功发送的问题,手动切换方式效率低且切换后也还有账号或服务器不可用风险。如何提供一种可靠性高、自动进行账号和服务器切换的消息投递系统和方法是亟待解决的技术问题。
技术实现思路
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、消息账号的账号名称和账号密码正确;
31、消息账号的登录时长未超过所述过期时长;
32、根据各所述消息账号的流控信息确定的可发送余量大于或等于余量阈值;
33、根据各所述消息账号的投递结果确定的发送成功率大于或等于成功率阈值。
34、在一种可能的实现方式中,所述账号管理模块,还用于在确定满足告警条件的情况下,发出账号异常告警;
35、其中,满足告警条件包括以下至少一种:满足使用条件的可用消息通道为零条;所述可用列表为空。
36、这样,可以提醒消息的发送方可能将无法继续进行消息投递,需要排查困难或及时补充新的消息账号。
37、在一种可能的实现方式中,所述消息账号包括短信账号本文档来自技高网...
【技术保护点】
1.一种消息投递系统,其特征在于,包括:
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:
3.根据权利要求1或2所述的系统,其特征在于,各所述消息账号的使用状态信息包括账号用户类型,所述可用列表还用于记录各所述可用消息通道对应的账号用户类型,
4.根据权利要求3所述的系统,其特征在于,利用所述目标消息通道投递获取到的待发送消息,包括:
5.根据权利要求1或2所述的系统,其特征在于,所述使用状态信息包括流控信息,所述流控信息用于指示对应的消息账号在各监控时长内所能进行消息投递的最大数量,
6.根据权利要求5所述的系统,其特征在于,根据各可用消息通道在各所述监控时长下的可发送余量和对应的账号优先级,按照预设排序规则对多个可用消息通道进行排序,得到排序结果,包括:
7.根据权利要求5或6所述的系统,其特征在于,所述预设排序规则包括:
8.根据权利要求1所述的系统,其特征在于,各所述消息账号的使用状态信息包括账号名称、账号密码、流控信息、过期时长,满足使用条件包括以下至少一项:
9
10.根据权利要求1-9任意一项所述的系统,其特征在于,所述消息账号包括短信账号或邮箱账号,所述短信账号对应的转发服务器包括网关服务器,所述邮箱账号对应的转发服务器包括代理服务器。
11.一种消息投递方法,其特征在于,包括:
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
13.根据权利要求11或12所述的方法,其特征在于,各所述消息账号的使用状态信息包括账号用户类型,所述可用列表还用于记录各所述可用消息通道对应的账号用户类型,
14.根据权利要求13所述的方法,其特征在于,利用所述目标消息通道投递获取到的待发送消息,包括:
15.根据权利要求11或12所述的方法,其特征在于,所述使用状态信息包括流控信息,所述流控信息用于指示对应的消息账号在各监控时长内所能投递的消息的最大数量,
16.根据权利要求15所述的方法,其特征在于,根据各可用消息通道在各所述监控时长下的可发送余量和对应的账号优先级,按照预设排序规则对多个可用消息通道进行排序,得到排序结果,包括:
17.根据权利要求15或16所述的方法,其特征在于,所述预设排序规则包括:
18.根据权利要求11所述的方法,其特征在于,各所述消息账号的使用状态信息包括账号名称、账号密码、流控信息、过期时长,满足使用条件包括以下至少一项:
19.根据权利要求11所述的方法,其特征在于,所述方法还包括:
20.根据权利要求11-19任意一项所述的方法,其特征在于,所述消息账号包括短信账号或邮箱账号,所述短信账号对应的转发服务器包括网关服务器,所述邮箱账号对应的转发服务器包括代理服务器。
21.一种消息投递装置装置,其特征在于,包括:
22.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求11-20中任意一项所述的方法。
23.一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求11-20中任意一项所述的方法。
...【技术特征摘要】
1.一种消息投递系统,其特征在于,包括:
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:
3.根据权利要求1或2所述的系统,其特征在于,各所述消息账号的使用状态信息包括账号用户类型,所述可用列表还用于记录各所述可用消息通道对应的账号用户类型,
4.根据权利要求3所述的系统,其特征在于,利用所述目标消息通道投递获取到的待发送消息,包括:
5.根据权利要求1或2所述的系统,其特征在于,所述使用状态信息包括流控信息,所述流控信息用于指示对应的消息账号在各监控时长内所能进行消息投递的最大数量,
6.根据权利要求5所述的系统,其特征在于,根据各可用消息通道在各所述监控时长下的可发送余量和对应的账号优先级,按照预设排序规则对多个可用消息通道进行排序,得到排序结果,包括:
7.根据权利要求5或6所述的系统,其特征在于,所述预设排序规则包括:
8.根据权利要求1所述的系统,其特征在于,各所述消息账号的使用状态信息包括账号名称、账号密码、流控信息、过期时长,满足使用条件包括以下至少一项:
9.根据权利要求1所述的系统,其特征在于,
10.根据权利要求1-9任意一项所述的系统,其特征在于,所述消息账号包括短信账号或邮箱账号,所述短信账号对应的转发服务器包括网关服务器,所述邮箱账号对应的转发服务器包括代理服务器。
11.一种消息投递方法,其特征在于,包括:
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
13.根据权利要求11或12所述的方法,其特征在于,各所述消息账号的使用状态信息包括账号用户类型,所述可用列表还用...
【专利技术属性】
技术研发人员:陈盼,郝伟,梁筱雨,
申请(专利权)人:华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。