本发明涉及计算机信息,尤其涉及一种消息发送方法、系统、电子设备、存储介质。
背景技术:
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、本发明的积极进步效果在于:通过创建不同消息存放队列并对消息进行合理调度从而防止各领域不同部门需要发送的消息互相积压,提升了消息发送速率,使得消息发送效率可以根据实际情况调整,避免影响下游系统的稳定运行。
1.一种消息发送方法,其特征在于,消息任务队列包括消息拉取任务队列和消息延迟拉取任务队列,所述消息发送方法包括:
2.如权利要求1所述的消息发送方法,其特征在于,所述限速条件包括处理所述消息任务的总限流速率和各个部门对应的部门消息限流速率;
3.如权利要求2所述的消息发送方法,其特征在于,所述根据所述总限流速率和所述目标部门的部门消息限流速率的总和判断所述消息任务是否超速,包括:
4.如权利要求1所述的消息发送方法,其特征在于,根据拉取到的所述消息任务的处理优先级执行发送消息任务的步骤还包括:
5.一种消息发送系统,其特征在于,消息任务队列包括消息拉取任务队列和消息延迟拉取任务队列,所述消息发送系统包括:
6.如权利要求5所述的消息发送系统,其特征在于,所述发送模块包括:
7.如权利要求6所述的消息发送系统,其特征在于,所述超速执行单元还包括:
8.如权利要求5所述的消息发送系统,其特征在于,所述发送模块还包括:
9.一种电子设备,包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述的消息发送方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4任一项所述的消息发送方法。