[go: up one dir, main page]

CN110209986A - 内存状态数据同步方法及装置 - Google Patents

内存状态数据同步方法及装置 Download PDF

Info

Publication number
CN110209986A
CN110209986A CN201910493100.5A CN201910493100A CN110209986A CN 110209986 A CN110209986 A CN 110209986A CN 201910493100 A CN201910493100 A CN 201910493100A CN 110209986 A CN110209986 A CN 110209986A
Authority
CN
China
Prior art keywords
application service
service node
state data
message
internal storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910493100.5A
Other languages
English (en)
Inventor
涓ュ嘲
严峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Haier Technology Co Ltd
Haier Uplus Intelligent Technology Beijing Co Ltd
Original Assignee
Haier Uplus Intelligent Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Haier Uplus Intelligent Technology Beijing Co Ltd filed Critical Haier Uplus Intelligent Technology Beijing Co Ltd
Priority to CN201910493100.5A priority Critical patent/CN110209986A/zh
Publication of CN110209986A publication Critical patent/CN110209986A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明提供了一种内存状态数据同步方法及装置,其中,该方法包括:第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步,可以解决相关技术中通过redis来协调集群服务的数据同步存在订阅关系无持久化和消息无持久化的问题,通过消息中间件平台的主题实现分布式应用服务之间的内存状态数据同步,使得消息同步功能稳定且消息可持久化。

Description

内存状态数据同步方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种内存状态数据同步方法及装置。
背景技术
为了保证后台软件服务的稳定性,后台服务需要做分布式的集群部署,为请求提供无差别的后台服务,每个服务进程则需要维护自己的内存状态数据,而请求的随机分发会造成各服务进程内存状态数据的不一致性,这种内存状态数据的不一致会引起业务上的异常。为了减少这种业务异常风险,需要有一种方法来实时同步后台服务集群内各进程的内存状态数据,以保持各个服务内存状态数据的一致性。
分布式应用服务之间的数据同步问题,相关技术中采用共享内存redis来实现:
集群所有的服务都订阅redis的一个渠道(channel),当集群中的一个服务的内存状态发生变化后,把同步消息发布到此渠道,所有订阅这个渠道的集群服务都会收到此同步消息,各个服务根据此消息来更新本地内存状态。
采用redis来协调集群服务的数据同步有以下缺点:
订阅关系无持久化:如果redis突然重启了,则所有的订阅关系都被清空了,需要集群服务重新订阅。
消息无持久化:订阅redis消息的集群服务如果重启了,则同redis断开这段时间内其他节点发送的同步消息则不能被接收到。
针对相关技术中通过redis来协调集群服务的数据同步存在订阅关系无持久化和消息无持久化的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种内存状态数据同步方法及装置,以至少解决相关技术中通过redis来协调集群服务的数据同步存在订阅关系无持久化和消息无持久化的问题。
根据本发明的一个实施例,提供了一种内存状态数据同步方法,包括:
第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
可选地,所述第一应用服务节点通过所述消息中间件平台与所述其他应用服务节点进行内存状态数据同步包括:
所述第一应用服务节点向所述消息中间件平台发送第一同步消息,以通过所述消息中间件平台向订阅所述内存状态数据主题的所述其他应用服务节点转发所述第一同步消息;其中,所述第一同步消息中携带有所述变化后的内存状态数据;所述第一同步消息用于指示所述其他应用服务节点根据所述变化后的内存状态数据进行内存状态数据同步。
可选地,在所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步之前,所述方法还包括:
在所述第一应用服务节点根据接收到的业务请求检测到内存状态数据发生变化的情况下,获取所述变化后的内存状态数据。
可选地,所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步包括:
所述第一应用服务节点接收所述消息中间件平台发送的第二同步消息,其中,所述第二同步消息中携带有发送所述第二同步消息的第二应用服务节点的IP和端口;
所述第一应用服务节点根据所述第二同步消息进行内存状态数据同步。
可选地,所述第一应用服务节点根据所述第二同步消息进行内存状态数据同步包括:
所述第一应用服务节点判断所述第二应用服务节点的IP和端口是否与所述第一应用服务节点的IP和端口相同;
在判断结果为否的情况下,所述第一应用服务节点根据所述第二同步消息中携带的内存状态数据更新内存状态数据;
在判断结果为是的情况下,所述第一应用服务节点放弃根据所述第二同步消息中携带的内存状态数据更新所述内存状态数据。
根据本发明的另一个实施例,还提供了一种内存状态数据同步方法,包括:
消息中间件平台创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
所述消息中间件平台将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
可选地,所述同步消息中携带有所述第一应用服务节点的IP和端口,以使所述其他应用服务节点在确定所述第一应用服务节点的IP和端口与所述其他应用服务节点的IP和端口不同的情况下根据所述同步消息中携带的所述变化后的内存状态数据更新所述其他应用服务节点的内存状态数据。
根据本发明的另一个实施例,还提供了一种内存状态数据同步装置,应用于第一应用服务节点,包括:
订阅模块,用于与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
同步模块,用于通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
可选地,所述同步模块,还用于
向所述消息中间件平台发送第一同步消息,以通过所述消息中间件平台向订阅所述内存状态数据主题的所述其他应用服务节点转发所述第一同步消息,其中,所述第一同步消息中携带有所述变化后的内存状态数据;所述第一同步消息用于指示所述其他应用服务节点根据所述变化后的内存状态数据进行内存状态数据同步。
可选地,所述装置还包括:
获取模块,用于在所述第一应用服务节点根据接收到的业务请求检测到内存状态数据发生变化的情况下,获取所述变化后的内存状态数据。
可选地,所述同步模块包括:
接收单元,用于接收所述消息中间件平台发送的第二同步消息,其中,所述第二同步消息中携带有发送所述第二同步消息的第二应用服务节点的IP和端口;
同步单元,用于根据所述第二同步消息进行内存状态数据同步。
可选地,所述同步单元,还用于
判断所述第二应用服务节点的IP和端口是否与所述第一应用服务节点的IP和端口相同;
在判断结果为否的情况下,所述第一应用服务节点根据所述第二同步消息中携带的内存状态数据更新内存状态数据;
在判断结果为是的情况下,所述第一应用服务节点放弃根据所述第二同步消息中携带的内存状态数据更新所述内存状态数据。
根据本发明的另一个实施例,还提供了一种内存状态数据同步装置,应用于消息中间件平台的主题,包括:
创建模块,创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
转发模块,用于将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
可选地,所述同步消息中携带有所述第一应用服务节点的IP和端口,以使所述其他应用服务节点在确定所述第一应用服务节点的IP和端口与所述其他应用服务节点的IP和端口不同的情况下根据所述同步消息中携带的所述变化后的内存状态数据更新所述其他应用服务节点的内存状态数据。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步,可以解决相关技术中通过redis来协调集群服务的数据同步存在订阅关系无持久化和消息无持久化的问题,通过消息中间件平台的主题实现分布式应用服务之间的内存状态数据同步,使得消息同步功能稳定且消息可持久化。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种内存状态数据同步方法的移动终端的硬件结构框图;
图2是根据本发明实施例的一种内存状态数据同步方法的流程图一;
图3是根据本发明实施例的一种内存状态数据同步方法的流程图二;
图4是根据本发明实施例的通过Kafka进行内存状态数据同步的示意图一;
图5是根据本发明实施例的通过Kafka进行内存状态数据同步的示意图二;
图6是根据本发明实施例的内存状态数据同步装置的框图一;
图7是根据本发明实施例的内存状态数据同步装置的框图二。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种内存状态数据同步方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文接收方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network INterface CoNtroller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio FrequeNcy,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
基于上述网络架构,在本实施例中提供了一种内存状态数据同步方法,图2是根据本发明实施例的一种内存状态数据同步方法的流程图一,如图2所示,该流程包括如下步骤:
步骤S202,第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
具体地,第一应用服务节点和其他应用服务节点均向消息中间件平台发送订阅同一个内存状态数据主题的订阅请求消息,消息中间件平台接收到订阅请求消息之后为第一应用服务节点和其他应用服务节点创建同一个内存状态数据主题。
步骤S204,所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
通过上述步骤S202至S204,第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步,可以解决相关技术中通过redis来协调集群服务的数据同步存在订阅关系无持久化和消息无持久化的问题,通过消息中间件平台的主题实现分布式应用服务之间的内存状态数据同步,使得消息同步功能稳定且消息可持久化。
在一可选的实施例中,上述步骤S204具体可以包括:
所述第一应用服务节点通过向所述消息中间件平台的主题发送第一同步消息的方式将变化后的内存状态数据同步给所述其他应用服务节点,具体的,向所述消息中间件平台发送第一同步消息,以通过所述消息中间件平台向订阅所述内存状态数据主题的所述其他应用服务节点转发所述第一同步消息,其中,所述第一同步消息中携带有所述变化后的内存状态数据、以及所述第一应用服务节点的IP和端口,所述第一同步消息用于指示所述其他应用服务节点进行内存状态数据同步。
本发明实施例中,在所述第一应用服务节点通过所述消息中间件平台与所述其他应用服务节点进行内存状态数据同步之前,所述第一应用服务节点接收业务请求;所述第一应用服务节点根据所述业务请求检测到内存状态数据发生变化,在所述第一应用服务节点根据接收到的业务请求检测到内存状态数据发生变化的情况下,获取所述变化后的内存状态数据。
在另一可选的实施例中,上述步骤S204具体可以包括:
所述第一应用服务节点接收所述消息中间件平台发送的第二同步消息,其中,所述第二同步消息中携带有发送所述第二同步消息的第二应用服务节点的IP和端口;
所述第一应用服务节点根据所述第二同步消息进行内存状态数据同步。
进一步地,所述第一应用服务节点根据所述第二同步消息进行内存状态数据同步包括:
所述第一应用服务节点判断所述第二应用服务节点的IP和端口是否与所述第一应用服务节点的IP和端口相同;
在判断结果为否的情况下,所述第一应用服务节点根据所述第二同步消息中携带的内存状态数据更新内存状态数据;
在判断结果为是的情况下,所述第一应用服务节点放弃根据所述第二同步消息中携带的内存状态数据更新所述内存状态数据。
实施例2
根据本发明的另一个实施例,还提供了一种内存状态数据同步方法,图3是根据本发明实施例的一种内存状态数据同步方法的流程图二,如图3所示,该流程包括如下步骤:
步骤S302,消息中间件平台创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
具体的,消息中间件平台接收所有应用服务节点(包括第一应用服务节点和其他应用服务节点)发送的订阅请求消息,根据所述订阅请求消息为第一应用服务节点和其他应用服务节点创建同一个内存状态数据主题。
步骤S304,所述消息中间件平台将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
通过上述步骤S302至S304,可以解决相关技术中通过redis来协调集群服务的数据同步存在订阅关系无持久化和消息无持久化的问题,通过消息中间件平台的主题实现分布式应用服务之间的内存状态数据同步,使得消息同步功能稳定且消息可持久化。
可选地,所述同步消息中携带有所述第一应用服务节点的IP和端口,以使所述其他应用服务节点在确定所述第一应用服务节点的IP和端口与所述其他应用服务节点的IP和端口不同的情况下根据所述同步消息中携带的所述变化后的内存状态数据更新所述其他应用服务节点的内存状态数据。
下面以中间件平台为Kafka为例,对上述实施例1和2进行详细说明。
Kafka是一个开源的消息中间件平台的主题,业界一般用来作为系统之间的消息队列来使用。它提供了一种消息订阅分发模式,即多个消费者使用不同的group ID来订阅一个主题,当消息生产者发送消息到这个主题时,所有的消费者都会收到这个消息。考虑到消息中间件平台的主题kafka提供了数据订阅分发功能,想到利用此功能来实现在分布式应用服务中的内存状态数据同步。图4是根据本发明实施例的通过Kafka进行内存状态数据同步的示意图一,如图4所示,包括:
假设有分布式应用服务1,2,…n,每一个服务都订阅kafka的一个主题来接收消息通知。
如果服务1的内存状态数据发生了变动,它马上把变化的数据发送到kafka主题来通知其他应用服务节点。
集群后台服务收到变动的数据,更新本进程的内存,保证集群所有服务的内存状态数据一致性。
图5是根据本发明实施例的通过Kafka进行内存状态数据同步的示意图二,如图5所示,所有的集群服务启动后都注册侦听一个kafka主题。当服务1收到业务请求导致内存数据改变,它发送同步消息到这个kafka主题。
其他服务收到此同步消息,根据发送者的IP和端口是否和本服务相同来判断是否是自身发出,如果不是则更新内存状态,如果是则忽略此消息。至此完成集群内所有应用服务节点的内存状态数据同步。
分布式应用服务的内存状态一致性保证是无差别分布式服务需要解决的一个难题,业界也有其他解决方案,但本发明提出利用kafka的订阅分发功能来解决,具体包括:
分布式应用服务的所有节点都订阅同一个kafka主题,以便都能收到这个主题中发布的同步消息。
为提高同步的性能,减少无用功,每个应用服务节点用其IP+端口来唯一标示自己,发送的同步消息中包含此发送者标示,应用服务节点在收到同步消息时就能判断出是否是其自身所发,如果是,则不必执行更新内存操作。
由于kafka是一个高效的实时消息中间件平台的主题,使用它来实现分布式应用服务之间的内存状态数据同步有以下优点:
健壮性:kafka本身是一个分布式消息中间件平台的主题,即使单个kafka应用服务节点宕机也不影响整体的消息同步功能。
消息可持久化:分布式应用服务中的某个节点重启了。在此期间其他节点发送的同步消息在此节点重启后仍然可以接收到,不会丢失。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
在本实施例中还提供了一种数据同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的内存状态数据同步装置的框图一,如图6所示,应用于第一应用服务节点,包括:
订阅模块62,用于与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
同步模块64,用于通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
可选地,所述同步模块64,还用于
向所述消息中间件平台发送第一同步消息,以通过所述消息中间件平台向订阅所述内存状态数据主题的所述其他应用服务节点转发所述第一同步消息,其中,所述第一同步消息中携带有所述变化后的内存状态数据;所述第一同步消息用于指示所述其他应用服务节点根据所述变化后的内存状态数据进行内存状态数据同步。
可选地,所述装置还包括:
获取模块,用于在所述第一应用服务节点根据接收到的业务请求检测到内存状态数据发生变化的情况下,获取所述变化后的内存状态数据。
可选地,所述同步模块64包括:
接收单元,用于接收所述消息中间件平台发送的第二同步消息,其中,所述第二同步消息中携带有发送所述第二同步消息的第二应用服务节点的IP和端口;
同步单元,用于根据所述第二同步消息进行内存状态数据同步。
可选地,所述同步单元,还用于
判断所述第二应用服务节点的IP和端口是否与所述第一应用服务节点的IP和端口相同;
在判断结果为否的情况下,所述第一应用服务节点根据所述第二同步消息中携带的内存状态数据更新内存状态数据;
在判断结果为是的情况下,所述第一应用服务节点放弃根据所述第二同步消息中携带的内存状态数据更新所述内存状态数据。
实施例4
根据本发明的另一个实施例,还提供了一种数据同步装置,应用于消息中间件平台的主题,图7是根据本发明实施例的内存状态数据同步装置的框图二,如图7所示,包括:
创建模块72,创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
转发模块74,用于将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
可选地,所述同步消息中携带有所述第一应用服务节点的IP和端口,以使所述其他应用服务节点在确定所述第一应用服务节点的IP和端口与所述其他应用服务节点的IP和端口不同的情况下根据所述同步消息中携带的所述变化后的内存状态数据更新所述其他应用服务节点的内存状态数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例5
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S11,第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
S12,第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
可选地,在本实施例中,上述存储介质还可以被设置为存储用于执行以下步骤的计算机程序:
S21,消息中间件平台创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
S22,消息中间件平台将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-ONly Memory,简称为ROM)、随机存取存储器(RaNdom Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S11,第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
S12,第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
可选地,在本实施例中,上述处理器还可以被设置为通过计算机程序执行以下步骤:
S21,消息中间件平台创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
S22,消息中间件平台将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种内存状态数据同步方法,其特征在于,包括:
第一应用服务节点与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
2.根据权利要求1所述的方法,其特征在于,所述第一应用服务节点通过所述消息中间件平台与所述其他应用服务节点进行内存状态数据同步包括:
所述第一应用服务节点向所述消息中间件平台发送第一同步消息,以通过所述消息中间件平台向订阅所述内存状态数据主题的所述其他应用服务节点转发所述第一同步消息,其中,所述第一同步消息中携带有所述变化后的内存状态数据;所述第一同步消息用于指示所述其他应用服务节点根据所述变化后的内存状态数据进行内存状态数据同步。
3.根据权利要求2所述的方法,其特征在于,在所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步之前,所述方法还包括:
在所述第一应用服务节点根据接收到的业务请求检测到内存状态数据发生变化的情况下,获取所述变化后的内存状态数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一应用服务节点通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步包括:
所述第一应用服务节点接收所述消息中间件平台发送的第二同步消息,其中,所述第二同步消息中携带有发送所述第二同步消息的第二应用服务节点的IP和端口;
所述第一应用服务节点根据所述第二同步消息进行内存状态数据同步。
5.根据权利要求4所述的方法,其特征在于,所述第一应用服务节点根据所述第二同步消息进行内存状态数据同步包括:
所述第一应用服务节点判断所述第二应用服务节点的IP和端口是否与所述第一应用服务节点的IP和端口相同;
在判断结果为否的情况下,所述第一应用服务节点根据所述第二同步消息中携带的内存状态数据更新内存状态数据;
在判断结果为是的情况下,所述第一应用服务节点放弃根据所述第二同步消息中携带的内存状态数据更新所述内存状态数据。
6.一种内存状态数据同步方法,其特征在于,包括:
消息中间件平台创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
所述消息中间件平台将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
7.根据权利要求6所述的方法,其特征在于,所述同步消息中还携带有所述第一应用服务节点的IP和端口,以使所述其他应用服务节点在确定所述第一应用服务节点的IP和端口与所述其他应用服务节点的IP和端口不同的情况下根据所述同步消息中携带的所述变化后的内存状态数据更新所述其他应用服务节点的内存状态数据。
8.一种内存状态数据同步装置,其特征在于,应用于第一应用服务节点,包括:
订阅模块,用于与分布式应用服务中的其他应用服务节点订阅消息中间件平台的同一个内存状态数据主题,其中,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点;
同步模块,用于通过所述消息中间件平台基于所述内存状态数据主题与所述其他应用服务节点进行内存状态数据同步。
9.一种内存状态数据同步装置,其特征在于,应用于消息中间件平台,包括:
创建模块,创建分布式应用服务中所有应用服务节点订阅的同一个内存状态数据主题;
转发模块,用于将第一应用服务节点发送的同步消息转发至订阅所述内存状态数据主题的其他应用服务节点,其中,所述同步消息用于指示所述其他应用服务节点根据所述同步消息携带的变化后的内存状态数据进行内存状态数据同步,所述其他应用服务节点为所述分布式应用服务中除所述第一应用服务节点之外的所有应用服务节点。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至5或6至7任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至5或6至7任一项中所述的方法。
CN201910493100.5A 2019-06-06 2019-06-06 内存状态数据同步方法及装置 Pending CN110209986A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910493100.5A CN110209986A (zh) 2019-06-06 2019-06-06 内存状态数据同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910493100.5A CN110209986A (zh) 2019-06-06 2019-06-06 内存状态数据同步方法及装置

Publications (1)

Publication Number Publication Date
CN110209986A true CN110209986A (zh) 2019-09-06

Family

ID=67791398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910493100.5A Pending CN110209986A (zh) 2019-06-06 2019-06-06 内存状态数据同步方法及装置

Country Status (1)

Country Link
CN (1) CN110209986A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158928A (zh) * 2019-12-18 2020-05-15 东软集团股份有限公司 分布式系统及通信方法
CN111711663A (zh) * 2020-05-26 2020-09-25 北京金山云网络技术有限公司 发布及订阅服务的处理方法、装置及电子设备
CN112202862A (zh) * 2020-09-23 2021-01-08 北京明朝万达科技股份有限公司 一种基于kafka的集群数据以及文件的同步方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118274A (zh) * 2009-12-30 2011-07-06 中国移动通信集团公司 一种状态监控方法、装置和系统
US20160188479A1 (en) * 2012-02-02 2016-06-30 Intel Corporation Instruction and logic to test transactional execution status
US20170132245A1 (en) * 2015-11-05 2017-05-11 International Business Machines Corporation Storage controller and method for managing a solid-state memory
CN107273542A (zh) * 2017-07-06 2017-10-20 华泰证券股份有限公司 高并发数据同步方法及系统
CN107341223A (zh) * 2017-06-29 2017-11-10 华泰证券股份有限公司 一种基于消息中间件的异构数据库实时同步方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118274A (zh) * 2009-12-30 2011-07-06 中国移动通信集团公司 一种状态监控方法、装置和系统
US20160188479A1 (en) * 2012-02-02 2016-06-30 Intel Corporation Instruction and logic to test transactional execution status
US20170132245A1 (en) * 2015-11-05 2017-05-11 International Business Machines Corporation Storage controller and method for managing a solid-state memory
CN107341223A (zh) * 2017-06-29 2017-11-10 华泰证券股份有限公司 一种基于消息中间件的异构数据库实时同步方法
CN107273542A (zh) * 2017-07-06 2017-10-20 华泰证券股份有限公司 高并发数据同步方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158928A (zh) * 2019-12-18 2020-05-15 东软集团股份有限公司 分布式系统及通信方法
CN111158928B (zh) * 2019-12-18 2024-04-05 东软集团股份有限公司 分布式系统及通信方法
CN111711663A (zh) * 2020-05-26 2020-09-25 北京金山云网络技术有限公司 发布及订阅服务的处理方法、装置及电子设备
CN112202862A (zh) * 2020-09-23 2021-01-08 北京明朝万达科技股份有限公司 一种基于kafka的集群数据以及文件的同步方法及装置
CN112202862B (zh) * 2020-09-23 2023-12-05 北京明朝万达科技股份有限公司 一种基于kafka的集群数据以及文件的同步方法及装置

Similar Documents

Publication Publication Date Title
US10298457B2 (en) Synchronization of configuration file of virtual application distribution chassis
CN107465767B (zh) 一种数据同步的方法和系统
CN102118263B (zh) 配置信息的发布方法及系统
CN104320459A (zh) 一种节点管理方法和装置
CN111885122A (zh) 远程推送方法、系统、服务器、计算机可读存储介质
WO2017167020A1 (zh) 配置信息推送方法及装置
CN107404509B (zh) 分布式服务配置系统及信息管理方法
CN110209986A (zh) 内存状态数据同步方法及装置
CN110958150B (zh) 一种服务动态配置的管理方法及装置
CN105743970A (zh) 分布式系统异步式数据同步的方法
CN113031874A (zh) 基于Kubernetes集群的缓存处理方法、装置、设备及存储介质
CN105450615A (zh) 多媒体的直播方法、系统、服务器、第一终端以及第二终端
CN107026878A (zh) 订阅消息的发布方法及装置
CN102118421B (zh) 对等网络及对等节点重新启动的方法
CN112533304B (zh) 自组网络管理方法、装置、系统、电子设备以及存储介质
CN115996187A (zh) 路由信息处理方法、装置、路由信息交互系统和路由设备
CN104378747A (zh) 一种利用短号码呼叫对端设备的方法和设备
CN102821118A (zh) 一种具备异构节点的网络中业务备份的方法和系统
US10389647B2 (en) Controller coordination system
CN112153686A (zh) 一种基于服务发现数据同步的服务自组网方法
CN114760348B (zh) 一种业务处理方法、装置、存储介质及电子装置
CN118921630B (zh) 一种Mesh网络的组播方法、系统、设备及存储介质
CN108574622B (zh) 一种基于xmpp的即时消息处理方法及装置
CN115858681A (zh) 实时数据库组态冗余方法、装置、电子装置和存储介质
CN114979037B (zh) 一种组播方法、装置、交换机和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20191216

Address after: 100086, room 601-606, room 6, Pacific International Building, No. 106, Haidian District, Beijing, Zhichun Road

Applicant after: HAIER UPLUS INTELLIGENT TECHNOLOGY (BEIJING) Co.,Ltd.

Applicant after: Qingdao Haier Technology Co., Ltd.

Address before: 100086, room 601-606, room 6, Pacific International Building, No. 106, Haidian District, Beijing, Zhichun Road

Applicant before: HAIER UPLUS INTELLIGENT TECHNOLOGY (BEIJING) Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190906