本技术涉及通信,特别是涉及一种批量消息发送方法、装置、通信设备和存储介质。
背景技术:
1、批量消息的发送流程涉及三大模:消息文件接收层、消息解析层和消息发送层。消息文件接收层于凌晨接收上游批量消息文件,对文件进行去重判断后,开始读取文件内的数据,按手机号拆分数据后投递到消息解析层。消息解析层会对单条消息进行去重判断,并查询单条消息关联的手机号或者卡号、账号等是否签订相关消息协议(例如余额变动通知协议)以及协议涉及的发送渠道,查询无误后,将数据投递到消息发送层。消息发送层会按照消息类型查询对应模板,按照模板拼接消息,之后消息进入批量消息待发送表,等待到消息发送实现,按照入批量消息待发送表的顺序开始发送消息。
2、传统技术中,关于批量消息的发送时间,基于免打扰模式,一般会设置为8:30至23:00。也就是说,从当天8:30开始,按照入批量消息待发送表的顺序开始发送消息。然而,这种方法会影响消息的时效性。例如,若客户预约是上午9:00到点,但是按照发送顺序,预约到点提醒消息于9:30触达客户,那这条消息就失去了时效性。
技术实现思路
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、针对所述批量消息中每条消息:
38、从所述消息的消息内容中提取所述时分字段和期限相关字段;
39、获取所述消息的消息类型;
40、根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段。
41、在一种可能的实现方式中,所述第一确定模块还用于:
42、将所述消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,形成因素集;
43、将预设的多个等级作为优先级的判断结果,形成评判集;
44、针对每个判断因素,根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,并基于各判断因素对应的隶属度向量,形成隶属度矩阵;
45、根据所述因素集对应的权重向量和所述隶属度矩阵,获得综合评判向量,所述权重向量用于指示每个判断因素的权重,每个判断因素的权重与用户对所述判断因素的重视程度相关;
46、根据所述综合评判向量,确定所述消息的优先级字段。
47、在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
48、在所述判断因素为所述时分字段时,根据所述时分字段在所述批量消息对应的预设时间窗口中的位置,确定所述时分字段评判为每个等级的概率,得到所述消息的时分字段对应的隶属度向量;
49、其中,在所述位置越靠近所述预设时间窗口的起始时刻时,所述时分字段评判为高优先级对应等级的概率越大;在所述位置越靠近所述预设时间窗口的终止时刻时,所述消息的时分字段评判为低优先级对应等级的概率越大。
50、在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
51、在所述判断因素为所述期限相关字段时,根据所述期限相关字段的紧迫程度,确定所述期限相关字段评判为每个等级的概率,得到所述期限相关字段对应的隶属度向量;
52、其中,在所述紧迫程度越大时,所述期限相关字段评判为高优先级对应等级的概率越大;在所述紧迫程度越小时,所述期限相关字段评判为低优先级对应等级的概率越大。
53、在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
54、在所述判断因素为所述消息类型时,根据所述消息类型的用户关注度,确定所述消息类型评判为每个等级的概率,得到所述消息的消息类型对应的隶属度向量;
55、其中,在所述用户关注度越大时,所述消息类型评判为高优先级对应等级的概率越大;在所述用户关注度越小时,所述消息类型评判为低优先级对应等级的概率越大。
56、在一种可能的实现方式中,所述装置还包括:
57、第二获取模块,用于获取所述批量消息对应的预设时间窗口;
58、划分模块,用于将所述预设时间窗口划分为多个发送时间窗口;
59、创建模块,用于为每个发送时间窗口创建一个消息队列。
60、第三方面,本技术还提供了一种通信设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
61、获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
62、根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
63、针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
64、到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
65、第四方面,本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
66、获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
67、根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
68、针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
69、到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
70、第五方面,本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
71、获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
72、根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
73、针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
74、到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
75、上述批量消息发送方法、装置、通信设备和存储介质,通过获取时分字段将消息分配到不同的消息队列中进行发送,通过优先级字段控制同一消息队列中消息的发送顺序;一方面,消息队列具有一定的发送时间窗口,可以保证其中的消息在一定时间内发送完毕,将消息分配到消息队列中进行发送可以保证消息的发送时间;另一方面,优先级字段与消息的时效性有关,通过优先级字段控制同一消息队列中消息的发送顺序,可以使得时效性较高的消息优先发送。这样,通过控制消息的发送时间和发送顺序,保证了消息的时效性。