【技术实现步骤摘要】
基于快速恢复的失败重试通知方法及装置
[0001]本申请涉及通信
,尤其涉及一种基于快速恢复的失败重试通知方法及装置。
技术介绍
[0002]在业务系统中,与第三方业务系统对接必不可少,通常采用的方案有消息队列(message queue,MQ)和远程过程调用(remote procedure call,RPC)的方式。以RPC方案为例,通常在业务完结时,需要通过异步RPC调用的方式将结果数据发送到第三方业务系统。在此过程,若第三方业务系统出现故障,导致无法将结果数据发送到第三方业务系统时,通常会通过重试机制进行尝试,直至第三方业务系统恢复正常。
[0003]然而,相关技术中的重试机制,若重试间隔短,则需要频繁访问数据库,从而影响数据库性能;若重试间隔长,则在第三方业务系统恢复正常后,无法及时传输结果数据。
技术实现思路
[0004]本申请的目的是提供一种基于快速恢复的失败重试通知方法及装置,用于在占用较小的系统资源的情况下,当第三方业务系统恢复正常后能够及时的将消息发送至第三方业务系统。 />[0005]本申本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于快速恢复的失败重试通知方法,其特征在于,包括:获取待发送通知消息;在目标通知对象出现异常的情况下,将所述待发送通知消息添加至消息队列;基于标志位的不同状态,采用不同的策略向所述目标通知对象发送所述消息队列中的待发送通知消息,并基于发送结果更新所述标志位;其中,所述标志位用于指示所述目标通知对象的当前运行状态;所述标志位的状态包括:开启状态、半开状态、关闭状态。2.根据权利要求1所述的方法,其特征在于,所述在目标通知对象出现异常的情况下,将所述待发送通知消息添加至消息队列,包括:若所述标志位为关闭状态或者半开状态,则将所述待发送通知消息添加至所述消息队列;否则,向所述目标通知对象发送所述待发送通知消息,并在发送失败的情况下,将所述待发送通知消息添加至所述消息队列。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:周期性的统计周期内向所述目标通知对象发送消息的失败率;若所述失败率满足第一预设阈值,则将所述标志位设置为关闭状态;否则,将所述标志位设置为开启状态或半开状态。4.根据权利要求3所述的方法,其特征在于,所述否则,将所述标志位设置为开启状态,包括:在所述消息队列所包含的待发送通知消息的数量满足第二预设阈值的情况下,将所述标志位设置为半开状态,使得向所述目标通知对象发送的待发送通知消息通过所述消息队列进行发送。5.根据权利要求1所述的方法,其特征在于,所述基于标志位的不同状态,采用不同的策略向所述目标通知对象发送所述消息队列中的待发送通知消息,并基于发送结果更新所述标志位,包括:在所述消息队列不为空的情况下,按照预设时间间隔循环执行以下步骤S1和S2:S1、若所述标志位为关闭状态,则将所述标志位设置为半开状态,并结束本次循环;否则,执行步骤S2;S2、向所述目标通知对象发送目标消息;在发送成功的情况下...
【专利技术属性】
技术研发人员:陆雅,
申请(专利权)人:晨贝天津技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。