技术新讯 > 电子通信装置的制造及其应用技术 > 消息处理方法、装置、设备、存储介质及程序产品与流程  >  正文

消息处理方法、装置、设备、存储介质及程序产品与流程

  • 国知局
  • 2024-12-06 12:10:50

本技术涉及计算机,特别涉及一种消息处理方法、装置、设备、存储介质及程序产品。

背景技术:

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、接收模块,用于接收所述服务器通过所述网关转发的消息;

24、发送模块,用于通过所述网关向所述服务器发送交互信息;所述交互信息包括所述客户端设备发送给所述服务器的心跳包、所述客户端设备发送给所述服务器的业务数据以及所述客户端设备发送给所述网关的消息接收反馈信息中的至少一种;所述交互信息中携带确认信息;所述确认信息用于指示所述客户端设备已经接收到的所述消息,以便所述网关根据所述确认信息将所述客户端设备对应的消息缓存中,所述客户端设备已经接收到的所述消息删除;

25、其中,所述消息缓存用于缓存由所述服务器发送给所述客户端设备的所述消息;不同的所述客户端设备在所述网关中对应有不同的消息缓存。

26、在一些实施例中,所述装置还包括:预警接收模块,用于接收缓存预警信息,所述缓存预警信息由所述网关在所述客户端设备对应的消息缓存的剩余消息容量不足,且所述客户端设备与所述服务器之间的连接未断开的情况下发送;

27、所述装置还包括:信息确定模块,用于根据所述缓存预警信息,通过以下方式确定下一个所述交互信息的信息类型:

28、在所述客户端设备中存在待发送的所述业务数据的情况下,确定下一个所述交互信息为所述业务数据;

29、在所述客户端设备中不存在待发送的所述业务数据,且下一个所述心跳包的发送时间点在当前时刻之后的指定时长内的情况下,确定下一个所述交互信息为所述心跳包;所述指定时长小于相邻两次所述心跳包的发送时间间隔;

30、在所述客户端设备中不存在待发送的所述业务数据,且下一个所述心跳包的发送时间点在当前时刻之后的指定时长之外的情况下,确定下一个所述交互信息为立即发送的所述消息接收反馈信息。

31、根据本技术的另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述至少一条计算机指令由所述处理器加载并执行以实现如上方面所述的消息处理方法。

32、根据本技术的另一方面,提供了一种计算机可读存储介质,所述可读存储介质中存储有至少一条计算机指令,所述至少一条计算机指令由处理器加载并执行以实现如上方面所述的消息处理方法。

33、根据本技术的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机指令,以实现上述如上方面所述的消息处理方法。

34、本技术实施例提供的技术方案可以包括如下有益效果:

35、网关可以在客户端设备对应的消息缓存中存储服务器向客户端设备发送的消息,客户端设备在向服务器发送交互信息时,可以携带指示客户端设备已经接收到的消息的确认信息,以便网关能够及时的在客户端设备对应的消息缓存中删除已经被接收的消息,避免消息缓存中的无效消息长时间占用缓存空间,从而缓解网关的缓存空间占用的情况,提高网关缓存的利用率。

本文地址:https://www.jishuxx.com/zhuanli/20241204/339806.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。