消息同步方法及服务器技术

技术编号:34882383 阅读:12 留言:0更新日期:2022-09-10 13:39
本发明专利技术提供一种消息同步方法及服务器,包括:VPP主节点接收业务模块发送的多条业务消息,并将多条业务消息中同一用户的业务消息打包为消息数据包发送给VPP

【技术实现步骤摘要】
消息同步方法及服务器


[0001]本专利技术涉及通信
,尤其涉及一种消息同步方法及服务器。

技术介绍

[0002]矢量包处理器(Vector Packet Processing,VPP)是一个快速、可扩展的多平台网络协议栈,由于具有高性能的数据处理能力,其已在多种应用程序体系架构上普及应用。
[0003]目前,单个用户在VPP平台上建立会话时会产生大量业务消息,主服务器的VPP平台把这些业务消息会全部发送给VPP

Agent,经由代理写入到内部数据库,备服务器上的VPP

Agent会从数据库中读取所有的业务消息数据,并将所有业务消息进行业务逻辑排序后发送给VPP备节点进行消息同步。然而,当大量用户触发的业务消息数量过于庞大时,由于备服务器上的VPP

Agent需要考虑所有业务消息的逻辑排序,容易引起进程消息阻塞等问题,使得主备服务器之间消息同步的效率十分低下,不利于多用户大容量业务数据场景下主备运行环境的部署。
[0004]因此,如何更好地在VPP平台上进行主备服务器之间的消息同步已经成为业界亟待解决的问题。

技术实现思路

[0005]本专利技术提供一种消息同步方法及服务器,用以更好地在VPP平台上进行主备服务器之间的消息同步。
[0006]本专利技术提供一种消息同步方法,包括:
[0007]VPP主节点接收业务模块发送的多条业务消息,并将所述多条业务消息中同一用户的业务消息打包为消息数据包发送给VPP<br/>‑
Agent主节点;
[0008]所述VPP

Agent主节点将所述消息数据包转发给Redis主节点;
[0009]基于所述Redis主节点,将所述消息数据包同步至外部的Redis备节点,以供外部的VPP备节点通过对应的VPP

Agent备节点,从所述Redis备节点中获取到所述消息数据包,完成所述VPP主节点与所述VPP备节点之间的消息同步。
[0010]根据本专利技术提供的一种消息同步方法,基于所述Redis主节点,将所述消息数据包同步至外部的Redis备节点,包括:
[0011]所述Redis主节点接收并存储所述消息数据包,并将所述消息数据包写入对应的消息队列中,以供外部的Redis备节点从所述消息队列中读取并存储所述消息数据包。
[0012]本专利技术还提供一种消息同步方法,包括:
[0013]Redis备节点获取外部的Redis主节点存储的消息数据包;所述消息数据包是所述Redis主节点对应的VPP主节点将接收的多条业务消息进行打包处理后得到的;
[0014]VPP

Agent备节点从所述Redis备节点中获取所述消息数据包,并将所述消息数据包发送给对应的VPP备节点,以完成所述VPP主节点与所述VPP备节点之间的消息同步。
[0015]根据本专利技术提供的一种消息同步方法,所述Redis备节点获取外部的Redis主节点
存储的消息数据包,包括:
[0016]Redis备节点从所述Redis主节点对应的消息队列中获取消息数据包;所述消息队列中存储有所述消息数据包。
[0017]根据本专利技术提供的一种消息同步方法,在所述VPP

Agent备节点从所述Redis备节点中获取所述消息数据包,并将所述消息数据包发送给对应的VPP备节点之后,还包括:
[0018]所述VPP备节点根据所述消息数据包,建立目标业务会话,以保持与所述VPP主节点的业务配置状态一致。
[0019]本专利技术还提供一种服务器,包括:
[0020]VPP主节点、VPP

Agent主节点和Redis主节点;
[0021]所述VPP主节点,用于接收业务模块发送的多条业务消息,并将所述多条业务消息中同一用户的业务消息打包为消息数据包发送给VPP

Agent主节点;
[0022]所述VPP

Agent主节点,用于将所述消息数据包转发给所述Redis主节点;
[0023]所述Redis主节点,用于将所述消息数据包同步至外部的Redis备节点,以供外部的VPP备节点通过对应的VPP

Agent备节点,从所述Redis备节点中获取到所述消息数据包,完成所述VPP主节点与所述VPP备节点之间的消息同步。
[0024]根据本专利技术提供的一种服务器,所述Redis主节点具体还用于:
[0025]接收并存储所述消息数据包,并将所述消息数据包写入对应的消息队列中,以供外部的Redis备节点从所述消息队列中读取并存储所述消息数据包。
[0026]本专利技术还提供一种服务器,包括:
[0027]VPP备节点、VPP

Agent备节点和Redis备节点;
[0028]所述Redis备节点,用于获取外部的Redis主节点存储的消息数据包;所述消息数据包是所述Redis主节点对应的VPP主节点将接收的多条业务消息进行打包处理后得到的;
[0029]所述VPP

Agent备节点,用于从所述Redis备节点中获取所述消息数据包,并将所述消息数据包发送给所述VPP备节点,以完成所述VPP主节点与所述VPP备节点之间的消息同步。
[0030]根据本专利技术提供的一种服务器,所述Redis备节点具体还用于:
[0031]从所述Redis主节点对应的消息队列中获取消息数据包;所述消息队列中存储有所述消息数据包。
[0032]根据本专利技术提供的一种服务器,所述VPP备节点具体还用于:
[0033]根据所述消息数据包,建立目标业务会话,以保持与所述VPP主节点的业务配置状态一致。
[0034]本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述消息同步方法。
[0035]本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述消息同步方法。
[0036]本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述消息同步方法。
[0037]本专利技术提供的一种消息同步方法及服务器,在多用户大容量业务数据场景下,通
过在VPP主备运行环境中,VPP主节点接收业务模块发送的多条业务消息后,将同一用户的所有业务消息打包整合为一个消息数据包发送给VPP

Agent主节点;通过Redis主节点数据库,将该消息数据包同步至外部的备服务器上,使得VPP

Agent备节点从Redis备节点数据库中读取消息数据包中的所有业务消息数据后,不用考虑单一用户不同业务消息的逻辑顺序问题,直接把所有消息数据发送本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种消息同步方法,其特征在于,包括:VPP主节点接收业务模块发送的多条业务消息,并将所述多条业务消息中同一用户的业务消息打包为消息数据包发送给VPP

Agent主节点;所述VPP

Agent主节点将所述消息数据包转发给Redis主节点;基于所述Redis主节点,将所述消息数据包同步至外部的Redis备节点,以供外部的VPP备节点通过对应的VPP

Agent备节点,从所述Redis备节点中获取到所述消息数据包,完成所述VPP主节点与所述VPP备节点之间的消息同步。2.根据权利要求1所述的消息同步方法,其特征在于,基于所述Redis主节点,将所述消息数据包同步至外部的Redis备节点,包括:所述Redis主节点接收并存储所述消息数据包,并将所述消息数据包写入对应的消息队列中,以供外部的Redis备节点从所述消息队列中读取并存储所述消息数据包。3.一种消息同步方法,其特征在于,包括:Redis备节点获取外部的Redis主节点存储的消息数据包;所述消息数据包是所述Redis主节点对应的VPP主节点将接收的多条业务消息进行打包处理后得到的;VPP

Agent备节点从所述Redis备节点中获取所述消息数据包,并将所述消息数据包发送给对应的VPP备节点,以完成所述VPP主节点与所述VPP备节点之间的消息同步。4.根据权利要求3所述的消息同步方法,其特征在于,所述Redis备节点获取外部的Redis主节点存储的消息数据包,包括:Redis备节点从所述Redis主节点对应的消息队列中获取消息数据包;所述消息队列中存储有所述消息数据包。5.根据权利要求3所述的消息同步方法,其特征在于,在所述VPP

Agent备节点从所述Redis备节点中获取所述消息数据包,并将所述消息数据包发送给对应的VPP备节点之后,还包括:所述VPP备节点根据所述消息数据包,建立目标业务会话,以保持与所述VP...

【专利技术属性】
技术研发人员:师发发
申请(专利权)人:浪潮通信技术有限公司
类型:发明
国别省市:

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

1