目标消息的处理方法及装置、存储介质、电子装置制造方法及图纸

技术编号:27509878 阅读:23 留言:0更新日期:2021-03-02 18:39
本发明专利技术提供了一种目标消息的处理方法及装置、存储介质、电子装置,上述方法包括:获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息,其中,服务标识信息包含以下至少之一:订阅服务端的目标标识,目标标识的有效时间,不同的目标标识分别用于标识不同的订阅服务端;通过消息发布中心对预设存储队列中的服务标识信息进行监听,得到监听结果;根据监听结果确定向订阅服务端发送目标消息的发送策略,因此,可以解决现有技术中在异常下,订阅服务端接收目标消息失败后,目标消息被丢失等问题,确保了目标消息发送的连续性,提高了目标消发送的稳定性与容错性。性。性。

【技术实现步骤摘要】
目标消息的处理方法及装置、存储介质、电子装置


[0001]本专利技术涉及通信领域,具体而言,涉及一种目标消息的处理方法及装置、存储介质、电子装置。

技术介绍

[0002]Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者客户端(sub)接收消息。Redis客户端可以订阅任意数量的频道。
[0003]图1展示了频道channel1,以及订阅这个频道的三个客户端:client2、client5和client1之间的关系,当有新消息通过PUBLISH命令发送给频道channel1时,这个消息就会被发送给订阅它的三个客户端,一旦消息被发送,如果没有订阅者接收,那么消息就会丢失,并且现有技术存在以下缺点:(1)单个客户端因为特殊状况订阅失败后,发布方并不清楚具体哪一个客户端成功收到本次消息,那些没有收到消息,不能帮助开发人员很快的定位问题;(2)现有技术当异常情况解决后,该条消息所参与的业务并不能自主恢复,需要运维或者开发人员在线下处理,才能恢复,系统体验很差;(3)一般客户端出现因为特殊状况订阅失败后,一般只能采用线下开发代码构造消息体同时连接生产环境进行重新发布,效率低下,同时需要处理者要有一定的业务支持,并不能很快的实现线下重新发布一次消息。
[0004]针对相关技术中,在异常下,订阅服务端接收目标消息失败后,目标消息被丢失等问题,尚未提出有效的技术方案。

技术实现思路

[0005]本专利技术实施例提供了一种目标消息的处理方法及装置、存储介质、电子装置,以至少解决相关技术中,订阅服务端在目标消息接收失败后,目标消息被丢失等问题。
[0006]根据本专利技术的一个实施例,提供了一种目标消息的处理方法,包括:获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息,其中,所述服务标识信息包含以下至少之一:所述订阅服务端的目标标识,所述目标标识的有效时间,不同的目标标识分别用于标识不同的订阅服务端;通过消息发布中心对所述预设存储队列中的所述服务标识信息进行监听,得到监听结果;根据所述监听结果确定向所述订阅服务端发送所述目标消息的发送策略。
[0007]在一个示例性实施例中,获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息之前,上述方法还包括:获取所述订阅服务端当前订阅的业务种类;根据所述业务种类设置所述服务标识信息的有效时间。
[0008]在一个示例性实施例中,通过消息发布中心对所述预设存储队列中的所述服务标识信息进行监听,包括:通过所述消息发布中心中的监听器对所述服务标识信息进行心跳检测;在所述心跳检测的状态结果为异常的情况下,在所述预设存储队列中生成所述目标消息对应的目标文件,并将所述目标文件保存在所述预设存储队列中。
[0009]在一个示例性实施例中,通过所述消息发布中心中的监听器对所述服务标识信息
进行心跳检测之前,上述方法还包括:在所述监听器中设置所述心跳检测的判断条件,其中,在所述服务标识信息符合所述判断条件的情况下,确定所述服务标识信息为异常。
[0010]在一个示例性实施例中,根据所述监听结果确定向所述订阅服务端发送所述目标消息的发送策略,包括:当所述监听结果指示所述预设存储队列中的所述订阅服务端未出现异常时,将所述目标消息直接发送至所述目标消息对应的订阅服务端中;当所述监听结果指示所述预设存储队列中的部分订阅服务端出现异常时,将所述部分订阅服务端对应的目标消息缓存在所述预设存储队列中,并通过所述消息发布中心通知目标对象所述部分订阅服务端出现异常情况。
[0011]在一个示例性实施例中,将所述部分订阅服务端对应的目标消息缓存在所述预设存储队列中之后,上述方法还包括:按照所述部分订阅服务端对应的目标消息对应的发送顺序依次发送所述部分订阅服务端对应的目标消息。
[0012]在一个示例性实施例中,通过所述消息发布中心通知目标对象所述部分订阅服务端出现异常情况之后,上述方法还包括:指示所述目标对象对出现异常情况的订阅服务端进行故障排除;在出现异常情况的订阅服务端恢复正常后,将缓存在所述预设存储队列中的所述部分订阅服务端对应的目标消息发送至恢复正常的订阅服务端。
[0013]根据本专利技术的另一个实施例,提供了一种目标消息的处理装置,包括:获取模块,用于获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息,其中,所述服务标识信息包含以下至少之一:所述订阅服务端的目标标识,所述目标标识的有效时间,不同的目标标识分别用于标识不同的订阅服务端;监听模块,用于通过消息发布中心对所述预设存储队列中的所述服务标识信息进行监听,得到监听结果;确定模块,用于根据所述监听结果确定向所述订阅服务端发送所述目标消息的发送策略。
[0014]在一个示例性实施例中,上述装置还包括:第一设置模块,用于获取所述订阅服务端当前订阅的业务种类;根据所述业务种类设置所述服务标识信息的有效时间。
[0015]在一个示例性实施例中,上述监听模块,还用于通过所述消息发布中心中的监听器对所述服务标识信息进行心跳检测;在所述心跳检测的状态结果为异常的情况下,在所述预设存储队列中生成所述目标消息对应的目标文件,并将所述目标文件保存在所述预设存储队列中。
[0016]在一个示例性实施例中,上述装置还包括:第二设置模块,用于在所述监听器中设置所述心跳检测的判断条件,其中,在所述服务标识信息符合所述判断条件的情况下,确定所述服务标识信息为异常。
[0017]在一个示例性实施例中,上述确定模块,还用于当所述监听结果指示所述预设存储队列中的所述订阅服务端未出现异常时,将所述目标消息直接发送至所述目标消息对应的订阅服务端中;当所述监听结果指示所述预设存储队列中的部分订阅服务端出现异常时,将所述部分订阅服务端对应的目标消息缓存在所述预设存储队列中,并通过所述消息发布中心通知目标对象所述部分订阅服务端出现异常情况。
[0018]在一个示例性实施例中,上述装置还包括:发送模块,按照所述部分订阅服务端对应的目标消息对应的发送顺序依次发送所述部分订阅服务端对应的目标消息。
[0019]在一个示例性实施例中,上述装置还包括:指示模块,用于指示所述目标对象对出现异常情况的订阅服务端进行故障排除;在出现异常情况的订阅服务端恢复正常后,将缓
存在所述预设存储队列中的所述部分订阅服务端对应的目标消息发送至恢复正常的订阅服务端。
[0020]根据本专利技术的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0021]根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
[0022]通过本专利技术,获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息,其中,所述服务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种目标消息的处理方法,其特征在于,包括:获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息,其中,所述服务标识信息包含以下至少之一:所述订阅服务端的目标标识,所述目标标识的有效时间,不同的目标标识分别用于标识不同的订阅服务端;通过消息发布中心对所述预设存储队列中的所述服务标识信息进行监听,得到监听结果;根据所述监听结果确定向所述订阅服务端发送所述目标消息的发送策略。2.根据权利要求1所述的方法,其特征在于,获取目标消息的订阅服务端在目标周期内向预设存储队列中写入的服务标识信息之前,所述方法还包括:获取所述订阅服务端当前订阅的业务种类;根据所述业务种类设置所述服务标识信息的有效时间。3.根据权利要求1所述的方法,其特征在于,通过消息发布中心对所述预设存储队列中的所述服务标识信息进行监听,包括:通过所述消息发布中心中的监听器对所述服务标识信息进行心跳检测;在所述心跳检测的状态结果为异常的情况下,在所述预设存储队列中生成所述目标消息对应的目标文件,并将所述目标文件保存在所述预设存储队列中。4.根据权利要求3所述的方法,其特征在于,通过所述消息发布中心中的监听器对所述服务标识信息进行心跳检测之前,所述方法还包括:在所述监听器中设置所述心跳检测的判断条件,其中,在所述服务标识信息符合所述判断条件的情况下,确定所述服务标识信息为异常。5.根据权利要求1所述的方法,其特征在于,根据所述监听结果确定向所述订阅服务端发送所述目标消息的发送策略,包括:当所述监听结果指示所述预设存储队列中的所述订阅服务端未出现异常时,将所述目标消息直接发送至所述目标消息对应的订阅服务端中;当所述监听结果指示所述预设存储队列中的部分订...

【专利技术属性】
技术研发人员:丁张辉
申请(专利权)人:海尔智家股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1