一种消息处理方法、电子设备及计算机可读存储介质技术

技术编号:38223266 阅读:13 留言:0更新日期:2023-07-25 17:54
本说明书实施方式提供了一种消息处理方法、电子设备及计算机可读存储介质,在通过第一套接字对象向接收端发送目标消息之后,将目标线程设置为等待状态;所述目标线程为用于管理所述第一套接字对象的线程;接收所述接收端发送的线程唤醒信号;其中,所述线程唤醒信号为所述接收端在当前访问的第二套接字对象于目标时长内未接收到消息的情况下生成的信号;所述第一套接字对象和所述第二套接字对象为配对的套接字对象;根据所述线程唤醒信号唤醒所述目标线程,并继续对所述目标消息进行处理。即使消息的接收端未接收到相应的消息,消息的发送端依旧可以继续处理消息,而非一直等待。在保证消息的可靠性和一致性的同时,避免消息的发送端阻塞。消息的发送端阻塞。消息的发送端阻塞。

【技术实现步骤摘要】
一种消息处理方法、电子设备及计算机可读存储介质


[0001]本说明书中实施方式关于计算机应用
,具体地说,涉及计算机应用
下的消息处理技术,更具体地说,涉及一种消息处理方法、电子设备及计算机可读存储介质。

技术介绍

[0002]随着互联网技术在生活场景和工作场景中的应用越来越广泛,其为人们的生活和工作提供了越来越多的便利。
[0003]一些场景下,消息传递的方式不再是收发双方简单的发送和接收,而是利用了消息中间件对消息进行中转。利用消息中间件的消息队列中转发送方发送的消息,可以降低系统耦合性以及实现消息的异步处理。尤其,为确保消息的可靠性和一致性,当接收方成功收到消息并返回确认消息时,发送方才能确定消息已经被正确地传递到接收方,进而才会继续发送其它消息。
[0004]然而,虽然上述消息传递方式保证了消息的可靠性和一致性。但由于一些特殊情况,发送方将始终无法接收到接收方反馈的确认消息。这样,发送方将一直等待确认消息,从而无法发送其它消息,最终造成发送方的阻塞。

技术实现思路

[0005]本说明书中多个实施方式提供一种消息处理方法、电子设备及计算机可读存储介质,以实现在保证消息的可靠性和一致性的同时,避免消息的发送端阻塞的目的。
[0006]第一方面,本说明书的一个实施方式提供了一种消息处理方法,应用于发送端,所述消息处理方法包括:在通过第一套接字对象向接收端发送目标消息之后,将目标线程设置为等待状态;其中,所述目标线程为用于管理所述第一套接字对象的线程;接收所述接收端发送的线程唤醒信号;其中,所述线程唤醒信号为所述接收端在当前访问的第二套接字对象于目标时长内未接收到消息的情况下生成的信号;所述第一套接字对象和所述第二套接字对象为配对的套接字对象;根据所述线程唤醒信号唤醒所述目标线程,并继续对所述目标消息进行处理。
[0007]第二方面,本说明书的一个实施方式提供了一种消息处理方法,应用于接收端,所述消息处理方法包括:在当前访问的第二套接字对象于目标时长内未接收到消息的情况下,生成线程唤醒信号;向发送端发送线程唤醒信号;所述线程唤醒信号用于指示所述发送端在通过第一套接字对象向所述接收端发送目标消息,并将目标线程设置为等待状态之后,唤醒所述目标线程,并继续对所述目标消息进行处理;所述目标线程为用于管理所述第一套接字对象的线程;所述第一套接字对象和所述第二套接字对象为配对的套接字对象。
[0008]第三方面,本说明书的一个实施方式提供了一种消息处理装置,应用于发送端,所述消息处理装置包括:线程处理模块,用于在通过第一套接字对象向接收端发送目标消息之后,将目标线程设置为等待状态;其中,所述目标线程为用于管理所述第一套接字对象的线程;信号接收模块,用于接收所述接收端发送的线程唤醒信号;其中,所述线程唤醒信号为所述接收端在当前访问的第二套接字对象于目标时长内未接收到消息的情况下生成的信号;所述第一套接字对象和所述第二套接字对象为配对的套接字对象;消息处理模块,用于根据所述线程唤醒信号唤醒所述目标线程,并继续对所述目标消息进行处理。
[0009]第四方面,本说明书的一个实施方式提供了一种消息处理装置,应用于接收端,所述消息处理装置包括:唤醒信号模块,用于在当前访问的第二套接字对象于目标时长内未接收到消息的情况下,生成线程唤醒信号;信号发送模块,用于向发送端发送线程唤醒信号;所述线程唤醒信号用于指示所述发送端在通过第一套接字对象向所述接收端发送目标消息,并将目标线程设置为等待状态之后,唤醒所述目标线程,并继续对所述目标消息进行处理;所述目标线程为用于管理所述第一套接字对象的线程;所述第一套接字对象和所述第二套接字对象为配对的套接字对象。第五方面,本说明书的一个实施方式提供了一种电子设备,包括处理器和存储器;其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;
[0010]所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如上所述的消息处理方法。
[0011]第六方面,本说明书的一个实施方式提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如上所述的消息处理方法。
[0012]第七方面,本说明书的一个实施方式提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现上述的消息处理方法的步骤。
[0013]本说明书提供的多个实施方式,在通过第一套接字对象向接收端发送目标消息之后,将管理第一套接字对象的目标线程设置为等待状态。从而可以避免在未接收到接收端的反馈之前,通过目标线程发送其它消息,保证了消息的可靠性和一致性。在接收到接收端发送的线程唤醒信号的情况下,由于线程唤醒信号为接收端在当前访问的第二套接字对象于目标时长内未接收到消息的情况下生成的信号;且第一套接字对象和第二套接字对象为配对的套接字对象。发送端将无法等到接收端的表征确认接收到消息的反馈。因此,可以直接根据线程唤醒信号唤醒目标线程,然后继续对目标消息进行处理。本实施例中,即使消息的接收端未接收到相应的消息,无法返回表征确认接收到消息的反馈。消息的发送端依旧可以继续处理消息,而非一直等待。在保证消息的可靠性和一致性的同时,避免消息的发送端阻塞。
附图说明
[0014]图1为本说明书的一个实施方式提供的一种消息处理方法的应用环境示意图。
[0015]图2为本说明书的一个实施方式提供的一种消息处理方法的步骤示意图。
[0016]图3为本说明书的一个实施方式提供的另一种消息处理方法的步骤示意图。
[0017]图4为本说明书的一个实施方式提供的一种消息处理方法的实际应用流程图。
[0018]图5为本说明书的一个实施方式提供的一种消息处理装置的结构示意图。
[0019]图6为本说明书的一个实施方式提供的另一种消息处理装置的结构示意图。
[0020]图7为本说明书的一个实施方式提供的一种电子设备的结构示意图。
具体实施方式
[0021]除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。
[0022]除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。
[0023]下面将结合本说明书实施例中的附图,对本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息处理方法,其特征在于,应用于发送端,所述消息处理方法包括:在通过第一套接字对象向接收端发送目标消息之后,将目标线程设置为等待状态;其中,所述目标线程为用于管理所述第一套接字对象的线程;接收所述接收端发送的线程唤醒信号;其中,所述线程唤醒信号为所述接收端在当前访问的第二套接字对象于目标时长内未接收到消息的情况下生成的信号;所述第一套接字对象和所述第二套接字对象为配对的套接字对象;根据所述线程唤醒信号唤醒所述目标线程,并继续对所述目标消息进行处理。2.根据权利要求1所述的方法,其特征在于,所述继续对所述目标消息进行处理,包括:在所述目标消息为目标业务的必要参数项的情况下,将所述目标消息重新添加至待发送消息队列中;其中,所述目标业务为所述目标消息所属业务,所述必要参数项为用于使所述目标业务正常运行的参数项;从所述待发送消息队列中取出所述目标消息,并通过所述第一套接字对象向所述接收端重新发送所述目标消息。3.根据权利要求1所述的方法,其特征在于,所述继续对所述目标消息进行处理,包括:在所述目标消息并非目标业务的必要参数项的情况下,丢弃所述目标消息;其中,所述目标业务为所述目标消息所属业务,所述必要参数项为用于使所述目标业务正常运行的参数项。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:将丢弃的所述目标消息存储至目标数据库。5.根据权利要求2或3所述的方法,其特征在于,所述目标业务为车辆的自动驾驶业务,所述自动驾驶业务包括与行车安全相关联的参数集合;其中,所述必要参数项为所述参数集合中的元素。6.根据权利要求1所述的方法,其特征在于,所述第一套接字对象为基于ZeroMQ的发布订阅模式创建的发布者,所述第二套接字对象为ZeroMQ的发布订阅模式创建的订阅者。7.一种消息处理方法,其特征在于,应用于接收端,所述消息处理方法包括:在当前...

【专利技术属性】
技术研发人员:陈子琦
申请(专利权)人:北京集度科技有限公司
类型:发明
国别省市:

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

1