一种消息处理方法和装置与流程

文档序号:33941226发布日期:2023-04-26 01:41阅读:25来源:国知局
一种消息处理方法和装置与流程

本发明涉及计算机,尤其涉及一种消息处理方法和装置。


背景技术:

1、支付业务场景下,为满足不同用户的数据服务需求,往往要对业务数据进行异构存储,通常是接收业务数据的创建、变更、完成等业务状态的消息,对异构数据进行更新,操作数据库维护数据的次数和业务数据所具备的状态数量成正比。海量数据的增、改、查,以及同一条业务数据的不同状态的频繁更新,对应用服务器和数据库服务器有很高的性能要求。

2、在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

3、需要对所有业务状态的消息进行处理,操作数据库次数较多,数据库服务器和应用服务器压力大,降低了服务器的性能和数据吞吐量。


技术实现思路

1、有鉴于此,本发明实施例提供一种消息处理方法和装置,能够通过根据消息对应的业务状态来对消息延迟处理,优先处理业务状态更靠后的消息,高效过滤掉更多业务状态靠前的消息,减少操作数据库次数,减轻数据库服务器和应用服务器压力,提升服务器的性能和数据吞吐量。

2、为实现上述目的,根据本发明实施例的一个方面,提供了一种消息处理方法。

3、一种消息处理方法,包括:响应于消息处理请求,获取待处理消息对应的业务标识和业务状态,其中,每个业务包括具有先后顺序的多个业务状态,所述多个业务状态包括终止状态;在所述待处理消息对应的业务状态是所述终止状态的情况下,对所述待处理消息进行处理,并根据所述待处理消息的业务状态,设置所述业务标识对应的业务的当前业务状态;在所述待处理消息对应的业务状态不是所述终止状态的情况下,对所述待处理消息进行延迟处理。

4、可选地,所述对所述待处理消息进行延迟处理,包括:根据设定的延迟时间,对所述待处理消息进行延迟处理,其中,所述延迟时间与所述待处理消息对应的业务状态有关,且按照所述多个业务状态由先到后的顺序,所述延迟时间由长到短。

5、可选地,所述对所述待处理消息进行延迟处理,包括:响应于到达设定的延迟时间,获取所述待处理消息对应的业务标识和业务状态;根据所述业务标识,获取所述业务标识对应的业务的当前业务状态;根据所述多个业务状态的先后顺序、所述业务状态和所述当前业务状态,对所述待处理消息进行延迟处理。

6、可选地,所述根据所述多个业务状态的先后顺序、所述业务状态和所述当前业务状态,对所述待处理消息进行延迟处理,包括:根据所述多个业务状态的先后顺序,在所述业务状态位于所述当前业务状态之后的情况下,对所述待处理消息进行处理,并根据所述业务状态,更新所述当前业务状态;在所述业务状态位于所述当前业务状态之前的情况下,删除所述待处理消息。

7、可选地,所述对所述待处理消息进行延迟处理,还包括:响应于到达设定的延迟时间,若未能获取到所述业务标识对应的业务的当前业务状态,则对所述待处理消息进行处理,并根据所述待处理消息的业务状态,设置所述业务标识对应的业务的当前业务状态。

8、可选地,所述设置所述业务标识对应的业务的当前业务状态之后,还包括:将设置的所述当前业务状态保存至缓存中;所述根据所述业务标识,获取所述业务标识对应的业务的当前业务状态,包括:根据所述业务标识,从所述缓存中获取所述业务标识对应的业务的当前业务状态;所述根据所述业务状态,更新所述当前业务状态之后,还包括:将更新后的所述当前业务状态保存至缓存中。

9、可选地,所述对所述待处理消息进行延迟处理,包括:根据所述待处理消息的业务状态,将所述待处理消息写入与所述业务状态对应的延迟队列中,其中,各延迟队列中的待处理消息具有与对应的业务状态相关的延迟时间。

10、根据本发明实施例的另一方面,提供了一种消息处理装置。

11、一种消息处理装置,包括:消息处理请求响应模块,用于响应于消息处理请求,获取待处理消息对应的业务标识和业务状态,其中,每个业务包括具有先后顺序的多个业务状态,所述多个业务状态包括终止状态;第一消息处理模块,用于在所述待处理消息对应的业务状态是所述终止状态的情况下,对所述待处理消息进行处理,并根据所述待处理消息的业务状态,设置所述业务标识对应的业务的当前业务状态;第二消息处理模块,用于在所述待处理消息对应的业务状态不是所述终止状态的情况下,对所述待处理消息进行延迟处理。

12、可选地,所述第二消息处理模块还用于:根据设定的延迟时间,对所述待处理消息进行延迟处理,其中,所述延迟时间与所述待处理消息对应的业务状态有关,且按照所述多个业务状态由先到后的顺序,所述延迟时间由长到短。

13、可选地,所述第二消息处理模块还用于:响应于到达设定的延迟时间,获取所述待处理消息对应的业务标识和业务状态;根据所述业务标识,获取所述业务标识对应的业务的当前业务状态;根据所述多个业务状态的先后顺序、所述业务状态和所述当前业务状态,对所述待处理消息进行延迟处理。

14、可选地,所述第二消息处理模块还用于:根据所述多个业务状态的先后顺序,在所述业务状态位于所述当前业务状态之后的情况下,对所述待处理消息进行处理,并根据所述业务状态,更新所述当前业务状态;在所述业务状态位于所述当前业务状态之前的情况下,删除所述待处理消息。

15、可选地,所述第二消息处理模块还用于:响应于到达设定的延迟时间,若未能获取到所述业务标识对应的业务的当前业务状态,则对所述待处理消息进行处理,并根据所述待处理消息的业务状态,设置所述业务标识对应的业务的当前业务状态。

16、可选地,所述第二消息处理模块还用于:在设置所述业务标识对应的业务的当前业务状态之后,将设置的所述当前业务状态保存至缓存中;根据所述业务标识,从所述缓存中获取所述业务标识对应的业务的当前业务状态;在根据所述业务状态,更新所述当前业务状态之后,将更新后的所述当前业务状态保存至缓存中。

17、可选地,所述第二消息处理模块还用于:根据所述待处理消息的业务状态,将所述待处理消息写入与所述业务状态对应的延迟队列中,其中,各延迟队列中的待处理消息具有与对应的业务状态相关的延迟时间。

18、根据本发明实施例的又一方面,提供了一种电子设备。

19、一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本发明实施例所提供的消息处理方法。

20、根据本发明实施例的又一方面,提供了一种计算机可读介质。

21、一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例所提供的消息处理方法。

22、上述发明中的一个实施例具有如下优点或有益效果:通过响应于消息处理请求,获取待处理消息对应的业务标识和业务状态,其中,每个业务包括具有先后顺序的多个业务状态,多个业务状态包括终止状态;在待处理消息对应的业务状态是终止状态的情况下,对待处理消息进行处理,并根据待处理消息的业务状态,设置业务标识对应的业务的当前业务状态;在待处理消息对应的业务状态不是终止状态的情况下,对待处理消息进行延迟处理的技术方案,能够通过根据消息对应的业务状态来对消息延迟处理,优先处理业务状态更靠后的消息,高效过滤掉更多业务状态靠前的消息,减少操作数据库次数,减轻数据库服务器和应用服务器压力,提升服务器的性能和数据吞吐量。

23、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1