CN117221247A - 批量消息发送方法、装置、通信设备和存储介质 - Google Patents
批量消息发送方法、装置、通信设备和存储介质 Download PDFInfo
- Publication number
- CN117221247A CN117221247A CN202311320409.7A CN202311320409A CN117221247A CN 117221247 A CN117221247 A CN 117221247A CN 202311320409 A CN202311320409 A CN 202311320409A CN 117221247 A CN117221247 A CN 117221247A
- Authority
- CN
- China
- Prior art keywords
- message
- field
- priority
- messages
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000004891 communication Methods 0.000 title claims abstract description 26
- 239000013598 vector Substances 0.000 claims description 71
- 230000005540 biological transmission Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 14
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 5
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种批量消息发送方法、装置、通信设备和存储介质,涉及通信技术领域。可用于金融科技领域或其他相关领域。所述方法包括:获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。采用本方法能够保证消息时效性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种批量消息发送方法、装置、通信设备和存储介质。
背景技术
批量消息的发送流程涉及三大模:消息文件接收层、消息解析层和消息发送层。消息文件接收层于凌晨接收上游批量消息文件,对文件进行去重判断后,开始读取文件内的数据,按手机号拆分数据后投递到消息解析层。消息解析层会对单条消息进行去重判断,并查询单条消息关联的手机号或者卡号、账号等是否签订相关消息协议(例如余额变动通知协议)以及协议涉及的发送渠道,查询无误后,将数据投递到消息发送层。消息发送层会按照消息类型查询对应模板,按照模板拼接消息,之后消息进入批量消息待发送表,等待到消息发送实现,按照入批量消息待发送表的顺序开始发送消息。
传统技术中,关于批量消息的发送时间,基于免打扰模式,一般会设置为8:30至23:00。也就是说,从当天8:30开始,按照入批量消息待发送表的顺序开始发送消息。然而,这种方法会影响消息的时效性。例如,若客户预约是上午9:00到点,但是按照发送顺序,预约到点提醒消息于9:30触达客户,那这条消息就失去了时效性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证消息时效性的批量消息发送方法、装置、通信设备和存储介质。
第一方面,本申请提供了一种批量消息发送方法,所述方法包括:
获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
在一种可能的实现方式中,获取批量消息中每条消息的优先级字段包括:
针对所述批量消息中每条消息:
从所述消息的消息内容中提取所述时分字段和期限相关字段;
获取所述消息的消息类型;
根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段。
在一种可能的实现方式中,所述根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段,包括:
将所述消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,形成因素集;
将预设的多个等级作为优先级的判断结果,形成评判集;
针对每个判断因素,根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,并基于各判断因素对应的隶属度向量,形成隶属度矩阵;
根据所述因素集对应的权重向量和所述隶属度矩阵,获得综合评判向量,所述权重向量用于指示每个判断因素的权重,每个判断因素的权重与用户对所述判断因素的重视程度相关;
根据所述综合评判向量,确定所述消息的优先级字段。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述时分字段时,根据所述时分字段在所述批量消息对应的预设时间窗口中的位置,确定所述时分字段评判为每个等级的概率,得到所述消息的时分字段对应的隶属度向量;
其中,在所述位置越靠近所述预设时间窗口的起始时刻时,所述时分字段评判为高优先级对应等级的概率越大;在所述位置越靠近所述预设时间窗口的终止时刻时,所述消息的时分字段评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述期限相关字段时,根据所述期限相关字段的紧迫程度,确定所述期限相关字段评判为每个等级的概率,得到所述期限相关字段对应的隶属度向量;
其中,在所述紧迫程度越大时,所述期限相关字段评判为高优先级对应等级的概率越大;在所述紧迫程度越小时,所述期限相关字段评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述消息类型时,根据所述消息类型的用户关注度,确定所述消息类型评判为每个等级的概率,得到所述消息的消息类型对应的隶属度向量;
其中,在所述用户关注度越大时,所述消息类型评判为高优先级对应等级的概率越大;在所述用户关注度越小时,所述消息类型评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述方法还包括:
获取所述批量消息对应的预设时间窗口;
将所述预设时间窗口划分为多个发送时间窗口;
为每个发送时间窗口创建一个消息队列。
第二方面,本申请还提供了一种批量消息发送装置,所述装置包括:
第一获取模块,用于获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
第一确定模块,用于根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
第二确定模块,用于针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
发送模块,用于到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
在一种可能的实现方式中,所述第一获取模块还用于:
针对所述批量消息中每条消息:
从所述消息的消息内容中提取所述时分字段和期限相关字段;
获取所述消息的消息类型;
根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段。
在一种可能的实现方式中,所述第一确定模块还用于:
将所述消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,形成因素集;
将预设的多个等级作为优先级的判断结果,形成评判集;
针对每个判断因素,根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,并基于各判断因素对应的隶属度向量,形成隶属度矩阵;
根据所述因素集对应的权重向量和所述隶属度矩阵,获得综合评判向量,所述权重向量用于指示每个判断因素的权重,每个判断因素的权重与用户对所述判断因素的重视程度相关;
根据所述综合评判向量,确定所述消息的优先级字段。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述时分字段时,根据所述时分字段在所述批量消息对应的预设时间窗口中的位置,确定所述时分字段评判为每个等级的概率,得到所述消息的时分字段对应的隶属度向量;
其中,在所述位置越靠近所述预设时间窗口的起始时刻时,所述时分字段评判为高优先级对应等级的概率越大;在所述位置越靠近所述预设时间窗口的终止时刻时,所述消息的时分字段评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述期限相关字段时,根据所述期限相关字段的紧迫程度,确定所述期限相关字段评判为每个等级的概率,得到所述期限相关字段对应的隶属度向量;
其中,在所述紧迫程度越大时,所述期限相关字段评判为高优先级对应等级的概率越大;在所述紧迫程度越小时,所述期限相关字段评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述消息类型时,根据所述消息类型的用户关注度,确定所述消息类型评判为每个等级的概率,得到所述消息的消息类型对应的隶属度向量;
其中,在所述用户关注度越大时,所述消息类型评判为高优先级对应等级的概率越大;在所述用户关注度越小时,所述消息类型评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取所述批量消息对应的预设时间窗口;
划分模块,用于将所述预设时间窗口划分为多个发送时间窗口;
创建模块,用于为每个发送时间窗口创建一个消息队列。
第三方面,本申请还提供了一种通信设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
上述批量消息发送方法、装置、通信设备和存储介质,通过获取时分字段将消息分配到不同的消息队列中进行发送,通过优先级字段控制同一消息队列中消息的发送顺序;一方面,消息队列具有一定的发送时间窗口,可以保证其中的消息在一定时间内发送完毕,将消息分配到消息队列中进行发送可以保证消息的发送时间;另一方面,优先级字段与消息的时效性有关,通过优先级字段控制同一消息队列中消息的发送顺序,可以使得时效性较高的消息优先发送。这样,通过控制消息的发送时间和发送顺序,保证了消息的时效性。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中批量消息发送方法的应用环境图;
图2为本申请实施例提供的批量消息发送方法的流程示意图;
图3为本申请实施例提供的消息发送端的层次结构示意图;
图4为本申请实施例提供的批量消息发送方法的实施示意图;
图5为本申请实施例提供的批量消息发送装置的结构示意图;
图6为一个实施例中通信设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的批量消息的发送方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。服务器104可以向终端102发送批量消息。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,图2为本申请实施例提供的批量消息发送方法的流程示意图。该方法可以应用于消息发送端,例如可以应用于图1中的服务器104中。如图2所示,所述方法可以包括:
步骤S201,获取批量消息中每条消息对应的时分字段和优先级字段。
消息生产者将多条消息打包成文件发送到消息发送端,这些消息即可称为批量消息,之后消息发送端对批量消息进行分发。批量消息包括但不限于短信、推送消息和通知等。举例来说,运营商可以将各个用户的套餐信息、欠费信息或者余额信息等打包成文件进行批量发送,金融机构可以将各个用户的信用卡账单、分期信息或者月度账单等打包成文件进行批量发送,商场可以将各个用户的积分信息、会员信息或者预约信息等打包成文件进行批量发送。
消息发送端可以将接收到的文件进行去重、拆分和拼接等处理,得到多个具有唯一性的拼接消息。这些拼接消息即为本申请实施例中待发送的批量消息中的消息。消息发送端进行的上述处理过程会在后文中进行详细说明,这里不再赘述。
消息对应的时分字段代表了消息内容中的小时和分钟。消息对应的优先级字段代表了消息的优先级。其中,所述优先级字段用于表征消息的时效性。在一种可能的实现方式中,获取批量消息中每条消息的优先级字段包括:针对所述批量消息中每条消息:从所述消息的消息内容中提取所述时分字段和期限相关字段;获取所述消息的消息类型;根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段。
首先时间字段明显会影响消息的时效性,因为批量消息大多当天发送,所以可不考虑时间字段中的日期字段,而注重时间字段中的时分字段。其次与期限相关的字段也会影响消息的时效性,例如到期、预约和截止等。此外,消息类型也可能会影响消息的时效性,例如余额变动消息和到期还款消息等。因此,可以根据消息的时分字段、期限字段和消息类型,综合确定消息的优先级字段,从而提升优先级字段与时效性的相关性,保证时效性较强的消息优先级较高,进而保证消息的时效性。
在一种可能的实现方式中,所述根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段,包括:将所述消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,形成因素集;将预设的多个等级作为优先级的判断结果,形成评判集;针对每个判断因素,根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,并基于各判断因素对应的隶属度向量,形成隶属度矩阵;根据所述因素集对应的权重向量和所述隶属度矩阵,获得综合评判向量,所述权重向量用于指示每个判断因素的权重,每个判断因素的权重与用户对所述判断因素的重视程度相关;根据所述综合评判向量,确定所述消息的优先级字段。
在本申请实施例中,基于层次分析法对消息的优先级进行判断,从而将复杂的决策系统分出层次,并通过逐层计算关联因素的权重,从而为最终的决策提供定量的决策依据。本申请实施例采用模糊综合评价法,利用模糊数学对受到多种因素制约的事务或对象作出一个定量的评价。具体过程如下:
第一步,确定因素集U={u1,u2,...,un}。
其中,U表示因素集,u1至un表示判断因素,n表示因素集中判断因素的数量。在本申请实施例中,将消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,此时n的取值为3。
第二步,确定评判集V={v1,v2,...,vm}。
其中,V表示评判集,v1至vm表示多个等级,m表示评判集中判断结果的等级的数量。在一个示例中,可以将高、中、低作为多个等级的判断结果,此时m取值为3。在又一示例中,可以将一级、二级、三级、四级和五级作为多个等级的判断结果,此时m取值为5。评判集中的等级可以根据需要进行设置。
第三步,针对每个判断因素,确定所述判断因素对应的隶属度向量Ri={ri1,ri2,....,rim},形成隶属度矩阵:
其中,Ri表示第i个判断因素对应的隶属度向量,rij表示第i个判断因素评判为第j个等级的概率,i为大于或等于0且小于或等于n的整数,j为大于或等于0且小于或等于m的整数。假设第1个判断因素为时分字段,第1个等级为一级,则r11表示时分字段评判为一级的概率。将各个判断因素对应的隶属度向量组合在一起即形成隶属度矩阵R。
下面分别对确定时分时段对应的隶属度向量、期限相关字段对应的隶属度向量和消息类型对应的隶属度矩阵向量的过程进行说明。
可选的,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量可以包括:在所述判断因素为所述时分字段时,根据所述时分字段在所述批量消息对应的预设时间窗口中的位置,确定所述时分字段评判为每个等级的概率,得到所述消息的时分字段对应的隶属度向量。
其中,在所述位置越靠近所述预设时间窗口的起始时刻时,所述时分字段评判为高优先级对应等级的概率越大;在所述位置越靠近所述预设时间窗口的终止时刻时,所述消息的时分字段评判为低优先级对应等级的概率越大。
举例来说,预设时间窗口为一天的8:30至23:00。若消息的时分字段越接近8:30,则消息对应的等级的优先级越高。若消息的时分字段越接近23:00,则消息对应的等级的优先级越低。
可选的,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量可以包括:在所述判断因素为所述期限相关字段时,根据所述期限相关字段的紧迫程度,确定所述期限相关字段评判为每个等级的概率,得到所述期限相关字段对应的隶属度向量。
其中,在所述紧迫程度越大时,所述期限相关字段评判为高优先级对应等级的概率越大;在所述紧迫程度越小时,所述期限相关字段评判为低优先级对应等级的概率越大。
举例来说,截止的紧迫性高于到期,那截止对应的等级的优先级要高于到期对应的等级的优先级。例如,等级一的优先级高于等级二的优先级,则截止对应等级一,到期对应等级二。可以理解的是,在一个期限相关字段对应的等级确定的情况下,该等级对应概率可以设置为100%,其他等级对应的概率可以设置为0。
可选的,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量可以包括:在所述判断因素为所述消息类型时,根据所述消息类型的用户关注度,确定所述消息类型评判为每个等级的概率,得到所述消息的消息类型对应的隶属度向量。
其中,在所述用户关注度越大时,所述消息类型评判为高优先级对应等级的概率越大;在所述用户关注度越小时,所述消息类型评判为低优先级对应等级的概率越大。
举例来说,人们对于动账消息的关注度会高,就赋予动账消息高优先级对应的等级。可以理解的是,在一个消息类型对应的等级确定的情况下,该等级对应概率可以设置为100%,其他等级对应的概率可以设置为0。
需要说明的是,还可以采用其他方式确定消息的优先级字段。例如,可以根据预设对应关系查找消息的时分字段、期限相关字段和消息类型对应的评分,然后,对这些评分进行加权平均得到消息的优先级字段。
第四步,确定因素集对应的权重向量A={a1,a2,...,an}。
其中,A表示权重向量,ai表示第i个判断因素的权重。因此,a1至an表示第1个判断因素至第n个判断因素的权重。其中,每个判断因素的权重与用户对所述判断因素的重视程度相关。在一个示例中,可以利用大数据手机用户对各个判断因素的重视程度,从而为各个判断因素分配权重。可以理解的是,重视程度越高的判断因素,为其分配的权重越大;重视程度越低的判断因素,为其分配的权重越小。为了避免计算失衡,权重可以先进行归一化处理。
第五步,根据所述因素集对应的权重向量A和所述隶属度矩阵R,获得综合评判向量B。具体的,B=A·R。B={b1,b2,...,bm}。其中,bj表示消息的优先级为第j个等级的概率。以b1为例,b1=a1*r11+a2*r21+…+an*rn1,代表消息优先级为第1个等级的概率。
第五步,根据所述综合评判向量,确定所述消息的优先级字段。
在一个示例中,可以根据隶属度最大原则确定消息的优先级字段,即可以将b1至bm中的最大值确定为消息的优先级字段。在又一示例中,可以计算综合评价值D=B*C。其中,C={c1;c2;…:cm},cj表示消息的优先级为第j个等级的数值化表示。可以理解的是,优先级越高的等级对应的数值越大,优先级越低的等级对应的数值越小。举例来说,高、中、低三种等级,对应的数值化表示分别可以为3、2、1。D=b1*c1+b2*c2+…+bm*cm。
举例来说,B={0.4,0.5,0.1},高、中、低三种等级对应的数值化表示分别可以为3、2、1。此时,根据隶属度最大原则可以确定优先级字段为0.5,根据综合评价值可以确定优先级字段为2.3。
在本申请实施例中,优先级字段可以用于表征消息的时效性。优先级字段的取值越大表明消息的时效性越高,优先级字段的取值越小表明消息的时效性越低。因此,后续可以根据优先级字段确定消息的发送顺序,从而实现时效性较高的消息的优先发送。
需要说明的是,在本申请实施例中,还可以采用时分字段、期限相关字段和消息类型中的一者或两者确定优先级字段,或者采用在时分字段、期限相关字段和消息类型基础上增加其他的因素确定优先级字段,例如增加消息日期字段,越靠近当天的日期字段的优先级越高。
步骤S202,根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列。
消息队列的发送时间窗口可以用于指示发送消息队列中消息的时间。也就是说,消息队列可以保证队列中的消息在时间窗口内发出,限制了队列中消息的最晚发送时间。不同消息队列对应的发送时间窗口之间不重叠。
在一种可能的实现方式中,消息发送端可以获取所述批量消息对应的预设时间窗口;将所述预设时间窗口划分为多个发送时间窗口;为每个发送时间窗口创建一个消息队列。
批量消息通常具有预设时间窗口。基于免打扰模式,批量消息对应的预设时间窗口一般设置为一天的8:30至23:00。也就是说,从早上8点30开始至23点止可以向终端发送批量消息,在8:30之前以及23:30之后不进行批量消息。在本申请实施例中,可以将该预设时间窗口划分为多个发送时间窗口,然后为每个时间发送窗口创建一个消息队列。在一个示例中,可以将预设时间窗口平均划分为多个发送时间窗口。在又一示例中,可以根据批量消息的时分字段的分布将预设时间窗口划分成多个发送时间窗口,使时分字段较为集中的时间段的发送时间窗口较小,而时分字段较为分散的时间段的发送时间窗口较大。以上仅为预设时间窗口的示例性划分方式,还可以根据需要采用其他方式进行划分,对此本申请实施例不做限制。
在一个示例中,例如预设时间窗口是8:30-23:00,按照小时划分发送时间窗口并为各发送时间窗口创建一个消息队列。那么第一个消息队列的发送时间窗口就是8:30至9:30,第二个消息队列的发送时间窗口就是9:30-10:30,以此类推。若一条消息的时分字段是9:00,那么这条消息就会进入第一个消息队列。
步骤S203,针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序。
批量消息中可能存在多个消息对应同一个消息队列。且消息队列通常采用先进先出的原则,也就是说,先进入消息队列的消息会先被发送。因此,针对每个消息队列,消息发送端可以根据对应该消息队列的各条消息的优先级字段,确定这些消息进入该消息队列的顺序。在一个示例中,针对每个消息队列,消息发送端可以按照优先级字段取值由大到小的顺序,依次将对应该消息队列的各消息加入该消息队列中。举例来说,消息1、消息2和消息3对应消息队列1,消息1、消息2和消息3的优先级字段的取值分别为0.5、07和0.3,则消息发送端可以依次将消息2、消息1和消息3加入消息队列1。
步骤S204,到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
在到达某个消息队列的发送时间窗口时,表明可以发送该消息队列中的消息。此时,消息发送端可以按照进入消息队列的顺序,依次发送消息队列中的各条消息。由于这些消息是按照优先级字段(具体为按照优先级字段对应的优先级由高到低的顺序)依次进入消息队列的,因此按照进入所述消息队列的顺序依次发送所述消息队列中的各条消息,实际上就是优先级越高的消息越早发送,保证了消息的时效性。
上述批量消息发送方法,通过获取时分字段将消息分配到不同的消息队列中进行发送,通过优先级字段控制同一消息队列中消息的发送顺序;一方面,消息队列具有一定的发送时间窗口,可以保证其中的消息在一定时间内发送完毕,将消息分配到消息队列中进行发送可以保证消息的发送时间;另一方面,优先级字段与消息的时效性有关,通过优先级字段控制同一消息队列中消息的发送顺序,可以使得时效性较高的消息优先发送。这样,通过控制消息的发送时间和发送顺序,保证了消息的时效性。
图3为本申请实施例提供的消息发送端的层次结构示意图。如图3所示,消息发送端包括消息文件接收层、消息解析层和消息发送层。如图3所示,文件接收层可以用于:接收上游批量消息文件,对文件进行去重处理,读取文件内的数据,按手机号拆分数据。之后,文件接收层可以将拆分后的数据发送至消息解析层。消息解析层可以用于:对接收到的数据进行数据转换处理,对单条消息进行去重处理,查询单条消息签订的消息协议,查询消息发送渠道。之后,消息解析层将查询无误的数据发送至消息发送层。消息发送层可以用于:对接收到的数据进行数据转换处理,查询消息模板,按照消息模板拼接消息,将拼接后的消息放入批量消息待发送表。之后,消息发送层可以按照批量消息待发送表发送消息。
如图3所示,在本申请实施例中,在消息发送层加入了优先级判断模块和消息发送模块。其中,优先级判断模块可以在拼接消息进入批量消息待发送表之前对拼接消息的优先级进行判断(可以参照上述确定优先级字段的过程,这里不再赘述),并将优先级字段记录在批量消息待发送表中。消息发送模块可以提取拼接消息的时分字段以及从批量消息待发送表中获取优先级字段,从而执行图2所示的批量消息发送方法对各拼接消息进行发送,从而通过不同的消息队列保证消息的发送时间和发送顺序,保证了消息的时效性,使用户能及时收到消息。
图4为本申请实施例提供的批量消息发送方法的实施示意图。如图4所示,批量消息发送方法的实施过程包括:消息拼接完成得到拼接消息;拼接消息进入优先级判断模块,优先级判断模块确定拼接消息的优先级字段;拼接消息进入批量待发送表,同时,批量待发送表加入优先级的字段。消息发送模块中,消息发送程序启动,对每条拼接消息中含有的时分字段和该拼接消息在待发送表记录的优先级字段进行判断;拼接消息按照优先级由高到低的顺序进入对应消息队列,其中,不同消息队列对应不同的发送时间窗口。之后,到达某个消息队列的发送时间窗口时,可以按照进入该消息队列的顺序依次发送消息队列中的消息。
需要说明的是,去重判断是指对消息的唯一性进行判断。由于在一定时间内消息具有唯一性,因此可以对消息进行去重判断,实现对消息的去重处理,使得消息具有唯一性。消息协议是指该消息所属手机号或卡号或者账号是否签订相关消息协议,例如余额变动通知协议。消息模板是指不用消息类型话术不同,故对应不同消息模板,按消息模板拼接消息。发送渠道包括但不限于应用(app)渠道、短信渠道、小程序渠道和公众号渠道等。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的批量消息发送方法的批量消息发送装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个批量消息发送装置实施例中的具体限定可以参见上文中对于批量消息发送方法的限定,在此不再赘述。
在一个示例性的实施例中,图5为本申请实施例提供的批量消息发送装置的结构示意图。如图5所示,装置500可以包括:第一获取模块501、第一确定模块502、第二确定模块503和发送模块504,其中:
第一获取模块,用于获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
第一确定模块,用于根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
第二确定模块,用于针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
发送模块,用于到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
在一种可能的实现方式中,所述第一获取模块还用于:
针对所述批量消息中每条消息:
从所述消息的消息内容中提取所述时分字段和期限相关字段;
获取所述消息的消息类型;
根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段。
在一种可能的实现方式中,所述第一确定模块还用于:
将所述消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,形成因素集;
将预设的多个等级作为优先级的判断结果,形成评判集;
针对每个判断因素,根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,并基于各判断因素对应的隶属度向量,形成隶属度矩阵;
根据所述因素集对应的权重向量和所述隶属度矩阵,获得综合评判向量,所述权重向量用于指示每个判断因素的权重,每个判断因素的权重与用户对所述判断因素的重视程度相关;
根据所述综合评判向量,确定所述消息的优先级字段。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述时分字段时,根据所述时分字段在所述批量消息对应的预设时间窗口中的位置,确定所述时分字段评判为每个等级的概率,得到所述消息的时分字段对应的隶属度向量;
其中,在所述位置越靠近所述预设时间窗口的起始时刻时,所述时分字段评判为高优先级对应等级的概率越大;在所述位置越靠近所述预设时间窗口的终止时刻时,所述消息的时分字段评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述期限相关字段时,根据所述期限相关字段的紧迫程度,确定所述期限相关字段评判为每个等级的概率,得到所述期限相关字段对应的隶属度向量;
其中,在所述紧迫程度越大时,所述期限相关字段评判为高优先级对应等级的概率越大;在所述紧迫程度越小时,所述期限相关字段评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述消息类型时,根据所述消息类型的用户关注度,确定所述消息类型评判为每个等级的概率,得到所述消息的消息类型对应的隶属度向量;
其中,在所述用户关注度越大时,所述消息类型评判为高优先级对应等级的概率越大;在所述用户关注度越小时,所述消息类型评判为低优先级对应等级的概率越大。
在一种可能的实现方式中,所述装置还包括:
第二获取模块,用于获取所述批量消息对应的预设时间窗口;
划分模块,用于将所述预设时间窗口划分为多个发送时间窗口;
创建模块,用于为每个发送时间窗口创建一个消息队列。
上述批量消息发送装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于通信设备中的处理器中,也可以以软件形式存储于通信设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种通信设备,该通信设备可以是服务器,其内部结构图可以如图6所示。该通信设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该通信设备的处理器用于提供计算和控制能力。该通信设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该通信设备的数据库用于存储优先级字段等数据。该通信设备的输入/输出接口用于处理器与外部设备之间交换信息。该通信设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种批量消息发送方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的通信设备的限定,具体的通信设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种通信设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (11)
1.一种批量消息发送方法,其特征在于,所述方法包括:
获取批量消息中每条消息对应的时分字段和优先级字段,所述优先级字段用于表征消息的时效性;
根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
2.根据权利要求1所述的方法,其特征在于,获取批量消息中每条消息的优先级字段包括:
针对所述批量消息中每条消息:
从所述消息的消息内容中提取所述时分字段和期限相关字段;
获取所述消息的消息类型;
根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段。
3.根据权利要求2所述的方法,其特征在于,所述根据所述消息的时分字段、期限相关字段和消息类型,确定所述消息的优先级字段,包括:
将所述消息的时分字段、期限相关字段和消息类型作为优先级的判断因素,形成因素集;
将预设的多个等级作为优先级的判断结果,形成评判集;
针对每个判断因素,根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,并基于各判断因素对应的隶属度向量,形成隶属度矩阵;
根据所述因素集对应的权重向量和所述隶属度矩阵,获得综合评判向量,所述权重向量用于指示每个判断因素的权重,每个判断因素的权重与用户对所述判断因素的重视程度相关;
根据所述综合评判向量,确定所述消息的优先级字段。
4.根据权利要求3所述的方法,其特征在于,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述时分字段时,根据所述时分字段在所述批量消息对应的预设时间窗口中的位置,确定所述时分字段评判为每个等级的概率,得到所述消息的时分字段对应的隶属度向量;
其中,在所述位置越靠近所述预设时间窗口的起始时刻时,所述时分字段评判为高优先级对应等级的概率越大;在所述位置越靠近所述预设时间窗口的终止时刻时,所述消息的时分字段评判为低优先级对应等级的概率越大。
5.根据权利要求3所述的方法,其特征在于,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述期限相关字段时,根据所述期限相关字段的紧迫程度,确定所述期限相关字段评判为每个等级的概率,得到所述期限相关字段对应的隶属度向量;
其中,在所述紧迫程度越大时,所述期限相关字段评判为高优先级对应等级的概率越大;在所述紧迫程度越小时,所述期限相关字段评判为低优先级对应等级的概率越大。
6.根据权利要求3所述的方法,其特征在于,所述根据所述判断因素评判为每个等级的概率,确定所述判断因素对应的隶属度向量,包括:
在所述判断因素为所述消息类型时,根据所述消息类型的用户关注度,确定所述消息类型评判为每个等级的概率,得到所述消息的消息类型对应的隶属度向量;
其中,在所述用户关注度越大时,所述消息类型评判为高优先级对应等级的概率越大;在所述用户关注度越小时,所述消息类型评判为低优先级对应等级的概率越大。
7.根据权利要求1至6中任意一项所述的方法,其特征在于,所述方法还包括:
获取所述批量消息对应的预设时间窗口;
将所述预设时间窗口划分为多个发送时间窗口;
为每个发送时间窗口创建一个消息队列。
8.一种批量消息发送装置,其特征在于,所述装置包括:
第一获取模块,用于获取批量消息中每条消息对应的时分字段和优先级字段;
第一确定模块,用于根据每条消息的时分字段和各消息队列的发送时间窗口,确定每条消息对应的消息队列;
第二确定模块,用于针对每个消息队列,根据对应所述消息队列的各条消息的优先级字段,确定对应所述消息队列的各条消息进入所述消息队列的顺序;
发送模块,用于到达任意一个消息队列的发送时间窗口时,按照进入所述消息队列的顺序,依次发送所述消息队列中的各条消息。
9.一种通信设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320409.7A CN117221247A (zh) | 2023-10-12 | 2023-10-12 | 批量消息发送方法、装置、通信设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311320409.7A CN117221247A (zh) | 2023-10-12 | 2023-10-12 | 批量消息发送方法、装置、通信设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117221247A true CN117221247A (zh) | 2023-12-12 |
Family
ID=89042513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311320409.7A Pending CN117221247A (zh) | 2023-10-12 | 2023-10-12 | 批量消息发送方法、装置、通信设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117221247A (zh) |
-
2023
- 2023-10-12 CN CN202311320409.7A patent/CN117221247A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368013B (zh) | 基于多账户的统一标识方法、系统、设备和存储介质 | |
CN111427971B (zh) | 用于计算机系统的业务建模方法、装置、系统和介质 | |
CN112784112B (zh) | 报文校验方法及装置 | |
CN110059172B (zh) | 基于自然语言理解的推荐答案的方法和装置 | |
CN111782933B (zh) | 用于推荐书单的方法和装置 | |
CN114116247A (zh) | 基于Redis的消息处理方法、装置、系统、服务器和介质 | |
CN113010542A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
CN116860470A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN114461305B (zh) | 一种数据源确定方法和装置 | |
CN117221247A (zh) | 批量消息发送方法、装置、通信设备和存储介质 | |
CN115495513A (zh) | 一种事件标准化方法及装置 | |
CN113111078B (zh) | 资源数据处理方法、装置、计算机设备和存储介质 | |
CN111597441B (zh) | 信息处理方法、装置和电子设备 | |
CN114238585A (zh) | 基于5g消息的查询方法、装置、计算机设备和存储介质 | |
CN110781523B (zh) | 用于处理信息的方法和装置 | |
CN112685557A (zh) | 可视化信息资源管理方法及装置 | |
CN112417018A (zh) | 一种数据共享方法及装置 | |
CN112308595A (zh) | 用于确定货品状态的方法和装置 | |
CN113190460B (zh) | 一种测试案例自动生成方法及装置 | |
CN117370645A (zh) | 页面展示方法、装置、计算机设备和存储介质 | |
CN113987322A (zh) | 指标数据查询方法、装置、计算机设备和计算机程序产品 | |
CN117033166A (zh) | 性能测试方法及装置 | |
CN113779980A (zh) | 用于识别文本的方法和装置 | |
CN117435742A (zh) | 一种跨领域元数据处理方法及装置 | |
CN115914120A (zh) | 消息发送方法、装置、计算机设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |