消息迁移方法、装置、设备及存储介质制造方法及图纸

技术编号:37766901 阅读:7 留言:0更新日期:2023-06-06 13:27
本公开提供一种消息迁移方法、装置、设备及存储介质,可以应用于金融科技领域,该方法应用于消息迁移设备,通过响应于服务器切换请求,拉取第一服务器中的各个消息内容依次写入消息迁移设备的内存环形队列中,第一服务器为切换之前的服务器,启动异步线程将写入内存环形队列中的各个消息内容转发至第二服务器,第二服务器为切换之后的服务器。该技术方案中,快速将旧服务器中所有消息读取下来推送至新服务器,以实现消息的快速无损迁移,很好地解决了传统方式下对业务系统和人工监测的依赖。决了传统方式下对业务系统和人工监测的依赖。决了传统方式下对业务系统和人工监测的依赖。

【技术实现步骤摘要】
消息迁移方法、装置、设备及存储介质


[0001]本公开涉及金融科技
,尤其涉及一种消息迁移方法、装置、设备及存储介质。

技术介绍

[0002]在服务器负载压力过大、或者对服务器进行维护等情景下,为了不影响用户体验,需要对服务器上的消息进行迁移至新的服务器上进行继续处理。
[0003]在现有技术中,现有消息队列(Message Queue,MQ)服务器切换主要基于生产方先切消费方后切并通过人工监测消息队列深度实现,即消息发送方业务系统先行切换,不再向旧MQ服务器发送消息,此时旧消息队列中消息数量不再增长,消费方业务系统将消息队列中全量消息处理完再进行切换。切换过程中通过运维人员人工监测消息队列深度是否为0,来判断消息是否已全部处理,消息读取完后才能将业务系统连接至新MQ服务器。
[0004]然而,现有方案依赖消费方业务系统拉取和处理消息的速率,然而业务系统受上下游系统运行状态(即,调用请求量)、系统自身性能(例如,内存、中央处理器、存储等)以及网络情况等因素的实时波动影响,导致消息处理速率可能较慢,极大的拖慢了服务器切换进度。

技术实现思路

[0005]本公开提供一种消息迁移方法、装置、设备及存储介质,以解决现有技术中消息切换性能较低、且人工干预较多的技术问题。
[0006]第一方面,本公开实施例提供了一种消息迁移方法,包括:
[0007]响应于服务器切换请求,拉取第一服务器中的各个消息内容依次写入所述消息迁移设备的内存环形队列中,所述第一服务器为切换之前的服务器;
[0008]启动异步线程将写入所述内存环形队列中的各个消息内容转发至第二服务器,所述第二服务器为切换之后的服务器。
[0009]在第一方面一种可能的设计中,在所述拉取第一服务器中的各个消息内容依次写入所述消息迁移设备的内存环形队列中之后,所述方法还包括:
[0010]启动所述异步线程将写入所述内存环形队列中的各个消息内容写入本地磁盘中。
[0011]可选的,所述方法还包括:
[0012]在检测到所述第二服务器未接收到目标消息内容时,查询所述本地磁盘,将所述目标消息内容发送至所述第二服务器,所述目标消息内容为写入所述本地磁盘且所述第二服务器未接收到的消息内容。
[0013]在第一方面另一种可能的设计中,所述第二服务器和所述第一服务器的类型不同。
[0014]可选的,在所述启动异步线程将写入所述内存环形队列中的各个消息内容转发至第二服务器之前,所述方法还包括:
[0015]对各个消息内容进行格式转换操作,得到各个与所述第二服务器的类型一致的消息内容。
[0016]在第一方面再一种可能的设计中,所述第二服务器和所述第一服务器的均为消息队列服务器。
[0017]可选的,所述第一服务器为RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka中的任一个;
[0018]所述第二服务器为RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka中的任一个。
[0019]在第一方面还一种可能的设计中,所述方法还包括:
[0020]可视化展示各个消息内容写入所述消息迁移设备的内存环形队列、以及将所述内存环形队列中的各个消息内容进行转发的过程。
[0021]第二方面,本公开实施例提供了一种消息迁移装置,包括:
[0022]拉取模块,用于响应于服务器切换请求,拉取第一服务器中的各个消息内容依次写入所述消息迁移设备的内存环形队列中,所述第一服务器为切换之前的服务器;
[0023]转发模块,用于启动异步线程将写入所述内存环形队列中的各个消息内容转发至第二服务器,所述第二服务器为切换之后的服务器。
[0024]在第二方面一种可能的设计中,在所述拉取第一服务器中的各个消息内容依次写入所述消息迁移设备的内存环形队列中之后,存储模块,还用于:
[0025]启动所述异步线程将写入所述内存环形队列中的各个消息内容写入本地磁盘中。
[0026]可选的,查询模块,用于:
[0027]在检测到所述第二服务器未接收到目标消息内容时,查询所述本地磁盘,将所述目标消息内容发送至所述第二服务器,所述目标消息内容为写入所述本地磁盘且所述第二服务器未接收到的消息内容。
[0028]在第二方面另一种可能的设计中,所述第二服务器和所述第一服务器的类型不同。
[0029]可选的,在所述启动异步线程将写入所述内存环形队列中的各个消息内容转发至第二服务器之前,处理模块,用于:
[0030]对各个消息内容进行格式转换操作,得到各个与所述第二服务器的类型一致的消息内容。
[0031]在第二方面再一种可能的设计中,所述第二服务器和所述第一服务器的均为消息队列服务器。
[0032]可选的,所述第一服务器为RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka中的任一个;
[0033]所述第二服务器为RabbitMQ,RocketMQ,ActiveMQ,ZeroMQ,Kafka中的任一个。
[0034]在第二方面还一种可能的设计中,展示模块,用于:
[0035]可视化展示各个消息内容写入所述消息迁移设备的内存环形队列、以及将所述内存环形队列中的各个消息内容进行转发的过程。
[0036]第三方面,本公开实施例提供一种消息迁移设备,包括:处理器,以及与所述处理器通信连接的存储器和收发器;
[0037]所述存储器存储计算机执行指令;所述收发器,用于收发数据;
[0038]所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面或任一种方式所述的消息迁移方法。
[0039]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现上述第一方面或任一种方式所述的消息迁移方法。
[0040]第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行上述第一方面或任一种方式所述的消息迁移方法。
[0041]本公开实施例提供的消息迁移方法、装置、设备及存储介质,可以应用于金融科技领域,该方法应用于消息迁移设备,通过响应于服务器切换请求,拉取第一服务器中的各个消息内容依次写入消息迁移设备的内存环形队列中,第一服务器为切换之前的服务器,启动异步线程将写入内存环形队列中的各个消息内容转发至第二服务器,第二服务器为切换之后的服务器。该技术方案中,快速将旧服务器中所有消息读取下来推送至新服务器,以实现消息的快速无损迁移,很好地解决了传统方式下对业务系统和人工监测的依赖。
附图说明
[0042]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0043]图1为本公开实施例提供的应用场景示意图一;
...

【技术保护点】

【技术特征摘要】
1.一种消息迁移方法,其特征在于,应用于消息迁移设备,所述方法包括:响应于服务器切换请求,拉取第一服务器中的各个消息内容依次写入所述消息迁移设备的内存环形队列中,所述第一服务器为切换之前的服务器;启动异步线程将写入所述内存环形队列中的各个消息内容转发至第二服务器,所述第二服务器为切换之后的服务器。2.根据权利要求1所述的方法,其特征在于,在所述拉取第一服务器中的各个消息内容依次写入所述消息迁移设备的内存环形队列中之后,所述方法还包括:启动所述异步线程将写入所述内存环形队列中的各个消息内容写入本地磁盘中。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在检测到所述第二服务器未接收到目标消息内容时,查询所述本地磁盘,将所述目标消息内容发送至所述第二服务器,所述目标消息内容为写入所述本地磁盘且所述第二服务器未接收到的消息内容。4.根据权利要求1所述的方法,其特征在于,所述第二服务器和所述第一服务器的类型不同。5.根据权利要求4所述的方法,其特征在于,在所述启动异步线程将写入所述内存环形队列中的各个消息内容转发至第二服务器之前,所述方法还包括:对各个消息内容进行格式转换操作,得到各个与所述第二服务器的类型一致的消息内容。6.根据权利要求1所述的方法,其特征在于,所述第二服务器和所述第一服务器的均为消息队列服务器。7.根据权利要求6所述的方法,其特征在于,所述第一服务器为RabbitMQ,...

【专利技术属性】
技术研发人员:姚鑫唐文韬倪志华
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1