本发明涉及计算机,具体涉及一种基于mq的消息确认机制的调控方法、装置、设备及介质。
背景技术:
1、个人用户在日常使用网络过程中,都可能遇到需要接收邮件、短信验证码时却收不到的情况,仔细分析后,发现很多时候第一封邮件、短信彻底收不到,当再次点击“获取验证码”时,则可以收到第二封。而很多场景是一次性通知,如果因为系统问题,用户未收到通知,就再也收不到通知了。
技术实现思路
1、为了更好的解决上述问题,本发明提供了一种基于mq的消息确认机制的调控方法、装置、设备及介质,可以更好的提升消息平台的服务品质。
2、根据本发明的第一个方面,提供了一种基于mq的消息确认机制的调控方法,应用于使用消息队列的目标系统,所述目标系统分别与邮件服务器和服务探测器通信连接,所述方法包括:步骤s1,响应于目标系统中的消费者从消息队列接收到任一邮件消息,所述消费者在所述邮件消息中附加一个状态字段,所述状态字段默认呈未确认状态;步骤s2,所述消费者调用邮件服务器,来发送所述邮件消息,其中,在所述邮件服务器成功发送所述邮件消息时,将所述状态字段转换为确认状态;步骤s3,在所述状态字段仍旧呈所述未确认状态时,使用服务探测器定期探测所述邮件服务器的状态是否正常,如果正常,则重复上述步骤s2,直至所述状态字段呈所述确认状态时,所述目标系统从所述消息队列中删除所述邮件消息。
3、根据本发明的实施例,所述步骤s2之后还包括:在所述状态字段呈所述确认状态时,所述目标系统从所述消息队列中删除所述邮件消息。
4、根据本发明的实施例,所述状态字段的内容包括邮件的唯一标识符、邮件服务器响应状态、最后一次尝试发送的时间。
5、根据本发明的实施例,在步骤s3,所述使用服务探测器定期探测所述邮件服务器的状态是否正常,包括:所述服务探测器基于预定的第一时间间隔,使用http请求定期ping所述邮件服务器,并将所述邮件服务器的状态结果反馈至所述目标系统。
6、根据本发明的实施例,所述步骤s3还包括:在所述服务探测器探测到所述邮件服务器恢复正常时,基于预定的第二时间间隔,定期检查所述目标系统中状态字段呈所述未确认状态的至少一个邮件消息;针对所述至少一个邮件消息中的每个邮件消息,重复上述步骤s2,直至该邮件消息的状态字段呈所述确认状态时,所述目标系统从所述消息队列中删除该邮件消息。
7、根据本发明的实施例,针对所述至少一个邮件消息中的每个邮件消息,重复上述步骤s2之后,还包括:在该邮件消息的状态字段仍旧呈所述未确认状态时,将当前时间和上述步骤s2的重复次数记录至该邮件消息的状态字段中,并保持该邮件消息的状态字段呈所述未确认状态,以备后续再次重复上述步骤s2。
8、根据本发明的实施例,所述方法还包括:预先设定上述步骤s2的最大重复次数;在任一邮件消息的所述重复次数超过所述最大重复次数时,停止重复上述步骤s2。
9、本发明的第二方面提供了一种基于mq的消息确认机制的调控装置,包括:状态字段附加模块,用于响应于目标系统中的消费者从消息队列接收到任一邮件消息,所述消费者在所述邮件消息中附加一个状态字段,所述状态字段默认呈未确认状态;邮件服务器调用模块,用于所述消费者调用邮件服务器,来发送所述邮件消息,其中,在所述邮件服务器成功发送所述邮件消息时,将所述状态字段转换为确认状态;邮件服务器状态探测模块,用于在所述状态字段仍旧呈所述未确认状态时,使用服务探测器定期探测所述邮件服务器的状态是否正常,如果正常,则重复上述邮件服务器调用模块的步骤,直至所述状态字段呈所述确认状态时,所述目标系统从所述消息队列中删除所述邮件消息。
10、本发明的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述基于mq的消息确认机制的调控方法。
11、本发明的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述基于mq的消息确认机制的调控方法。
1.一种基于消息队列的消息确认机制的调控方法,应用于使用消息队列的目标系统,所述目标系统分别与邮件服务器和服务探测器通信连接,所述方法包括:
2.根据权利要求1所述的方法,其中,所述步骤s2之后还包括:
3.根据权利要求1所述的方法,其中,所述状态字段的内容包括邮件的唯一标识符、邮件服务器响应状态、最后一次尝试发送的时间。
4.根据权利要求1所述的方法,其中,在步骤s3,所述使用服务探测器定期探测所述邮件服务器的状态是否正常,包括:
5.根据权利要求1所述的方法,其中,所述步骤s3还包括:
6.根据权利要求5所述的方法,其中,针对所述至少一个邮件消息中的每个邮件消息,重复上述步骤s2之后,还包括:
7.根据权利要求6所述的方法,其中,所述方法还包括:
8.一种基于mq的消息确认机制的调控装置,包括:
9.一种电子设备,包括:
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。