CN115827503A - 一种缓存数据更新方法、系统及计算设备 - Google Patents

一种缓存数据更新方法、系统及计算设备 Download PDF

Info

Publication number
CN115827503A
CN115827503A CN202211252428.6A CN202211252428A CN115827503A CN 115827503 A CN115827503 A CN 115827503A CN 202211252428 A CN202211252428 A CN 202211252428A CN 115827503 A CN115827503 A CN 115827503A
Authority
CN
China
Prior art keywords
data
message
application
cache
remote cache
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
CN202211252428.6A
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.)
Hainan Chezhiyi Communication Information Technology Co ltd
Original Assignee
Hainan Chezhiyi Communication Information Technology 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 Hainan Chezhiyi Communication Information Technology Co ltd filed Critical Hainan Chezhiyi Communication Information Technology Co ltd
Priority to CN202211252428.6A priority Critical patent/CN115827503A/zh
Publication of CN115827503A publication Critical patent/CN115827503A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种缓存数据更新方法、系统及计算设备,方法包括:从应用集群中的多个应用实例中选举出主节点;所述主节点接收远程缓存数据更新消息,将所述远程缓存数据更新消息发送至所述应用集群中的每个应用实例,以便每个应用实例从远程缓存获取最新数据,并将所述最新数据更新到所述应用实例的本地缓存。根据本发明的技术方案,解决了应用实例本地缓存的时效性问题,能确保各个应用实例的本地缓存数据一致。

Description

一种缓存数据更新方法、系统及计算设备
技术领域
本发明涉及互联网技术领域,尤其涉及一种缓存数据更新方法、缓存数据更新系统及计算设备。
背景技术
现有的系统缓存方案,是通过订阅数据库数据变更日志,将变更日志发送到消息队列,再由Worker程序消费消息队列中的消息,并将数据变更同步到远程缓存来实现。而应用本地缓存是通过过期机制,来实现更新本地缓存。通过过期机制实现应用本地缓存更新,缓存时效性较差,在本地缓存数据更新后,用户往往需要等待几分钟甚至更长时间,才能查看更新的数据。另外,由于各个应用实例之间的缓存过期时间不统一,导致应用实例更新本地缓存的时间存在差异,从而会造成各个应用实例之间的本地缓存数据不一致,用户频繁出现幻读现象。
为此,需要一种缓存数据更新方法,来解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种缓存数据更新方法、缓存数据更新系统及计算设备,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种缓存数据更新方法,包括:从应用集群中的多个应用实例中选举出主节点;所述主节点接收远程缓存数据更新消息,将所述远程缓存数据更新消息发送至所述应用集群中的每个应用实例,以便每个应用实例从远程缓存获取最新数据,并将所述最新数据更新到所述应用实例的本地缓存。
可选地,根据本发明的缓存数据更新方法,从应用集群中的多个应用实例中选举出主节点,包括:利用共识算法,从应用集群中的多个应用实例中选举出主节点。
可选地,根据本发明的缓存数据更新方法,每个所述应用实例分别包括共识组件,多个共识组件之间经由服务注册平台进行通信,以便从应用集群中的多个应用实例中选举出主节点。
可选地,根据本发明的缓存数据更新方法,所述主节点与消息队列服务器通信连接,所述消息队列服务器分别与数据存储设备、远程缓存通信连接,所述数据存储设备与数据更新服务器通信连接;在所述主节点接收远程缓存数据更新消息之前,包括:所述数据更新服务器将最新数据更新到数据存储设备;所述消息队列服务器将所述最新数据更新到远程缓存。
可选地,根据本发明的缓存数据更新方法,所述消息队列服务器包括订阅组件、第一消息队列、消费组件,所述订阅组件与所述数据存储设备通信连接,所述消费组件与远程缓存通信连接;所述消息队列服务器将所述最新数据更新到远程缓存,包括:所述订阅组件适于订阅数据存储设备的数据变更日志,将所述数据变更日志封装为数据变更消息,发送至所述第一消息队列;所述消费组件从所述第一消息队列获取所述数据变更消息,并基于所述数据变更消息将所述最新数据更新到远程缓存。
可选地,根据本发明的缓存数据更新方法,所述消费组件经由第二消息队列与所述主节点通信连接;所述消费组件适于向第二消息队列发送远程缓存数据更新消息;所述主节点接收远程缓存数据更新消息,包括:所述主节点订阅所述第二消息队列中的远程缓存更新消息,以从所述第二消息队列获取远程缓存数据更新消息。
根据本发明的一个方面,提供一种缓存数据更新系统,包括:远程缓存;应用集群,包括多个应用实例,每个应用实例分别与所述远程缓存通信连接,所述应用集群适于从多个应用实例中选举出主节点,所述主节点适于接收远程缓存数据更新消息,将所述远程缓存数据更新消息发送至所述应用集群中的每个应用实例,以便每个应用实例从远程缓存获取最新数据,并将所述最新数据更新到所述应用实例的本地缓存。
可选地,根据本发明的缓存数据更新系统,还包括服务注册平台;每个所述应用实例分别包括共识组件,多个共识组件之间经由所述服务注册平台进行通信,以便从应用集群中的多个应用实例中选举出主节点。
可选地,根据本发明的缓存数据更新系统,还包括:数据存储设备;数据更新服务器,与所述数据存储设备通信连接,适于将最新数据更新到所述数据存储设备;消息队列服务器,分别与所述数据存储设备、远程缓存通信连接,并与所述主节点通信连接,适于将所述最新数据更新到远程缓存。
可选地,根据本发明的缓存数据更新系统,所述消息队列服务器包括:第一消息队列;订阅组件,与所述数据存储设备通信连接,并与所述第一消息队列通信连接,适于订阅数据存储设备的数据变更日志,将所述数据变更日志封装为数据变更消息,发送至所述第一消息队列;消费组件,与远程缓存通信连接,并与所述第一消息队列通信连接,适于从所述第一消息队列获取所述数据变更消息,并基于所述数据变更消息将所述最新数据更新到远程缓存。
可选地,根据本发明的缓存数据更新系统,还包括第二消息队列;所述消费组件经由所述第二消息队列与所述主节点通信连接,适于向所述第二消息队列发送远程缓存数据更新消息;所述主节点适于订阅所述第二消息队列中的远程缓存更新消息,以从所述第二消息队列获取远程缓存数据更新消息。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的缓存数据更新方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的缓存数据更新方法。
根据本发明的技术方案,提供了一种缓存数据更新方法及系统,其中,利用共识算法从多个应用实例中选举出主节点,主节点通过订阅远程缓存数据更新消息,在接收到远程缓存数据更新消息之后,将远程缓存数据更新消息同步发送至应用集群中的每个应用实例,每个应用实例可以根据接收到的远程缓存数据更新消息,从远程缓存获取最新数据,并将最新数据更新到应用实例的本地缓存。这样,本发明通过订阅远程缓存数据更新消息的方式来进行本地缓存的数据更新,能够提高本地缓存的数据更新效率,解决了应用实例本地缓存的时效性问题。而且,应用集群中的各个应用实例可以同步接收到主节点分发的远程缓存数据更新消息,从而同时从远程缓存获取最新数据,并将最新数据更新到应用实例的本地缓存。这样,应用集群中的各个应用实例可以同步完成本地缓存的数据更新,从而能确保各个应用实例的本地缓存数据一致。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的缓存数据更新系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的示意图;
图3示出了根据本发明一个实施例的缓存数据更新方法300的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的缓存数据更新系统100的示意图。
如图1所示,缓存数据更新系统100包括应用集群150、远程缓存140。应用集群150包括多个应用实例,每个应用实例分别与远程缓存140通信连接,例如可以通过有线或无线的方式网络连接。并且,每个应用实例分别包括本地缓存。
应用集群150可以从多个应用实例中选举出一个应用实例作为主节点(Leader)。主节点通过订阅远程缓存140数据更新消息,可以接收到远程缓存140数据更新消息。主节点在接收到远程缓存140数据更新消息之后,可以将远程缓存140数据更新消息同步发送至应用集群150中的每个应用实例,这样,每个应用实例可以根据接收到的远程缓存140数据更新消息,从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。
根据本发明的一个实施例,每个应用实例分别包括共识组件,其中,每个应用实例的共识组件分别与远程缓存140通信连接。多个应用实例的共识组件,可以利用共识算法,从应用集群150中的多个应用实例中选举出主节点。
主节点的共识组件可以订阅远程缓存140更新消息。主节点的共识组件在接收到远程缓存140数据更新消息之后,将远程缓存140数据更新消息同步发送至应用集群150中的每个应用实例的共识组件。随后,每个应用实例的共识组件从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。
根据本发明的技术方案,通过订阅远程缓存140数据更新消息的方式来进行本地缓存的数据更新,能够解决应用实例本地缓存的时效性问题。而且,应用集群150中的各个应用实例可以同步接收到主节点分发的远程缓存140数据更新消息,从而同时从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。这样,应用集群150中的各个应用实例可以同步完成本地缓存的数据更新,从而能确保各个应用实例的本地缓存数据一致。
根据本发明的一个实施例,缓存数据更新系统100还包括服务注册平台160。每个应用实例的共识组件分别与服务注册平台160通信连接。这样,多个应用实例可以通过服务注册平台160发现彼此并组成应用集群。并且,多个应用实例的共识组件之间可以经由服务注册平台160进行通信,以便多个共识组件可以利用共识算法,从应用集群150中的多个应用实例中选举出主节点。
根据本发明的一个实施例,缓存数据更新系统100还包括数据存储设备120、数据更新服务器110、消息队列服务器130。
其中,数据更新服务器110与数据存储设备120通信连接。数据更新服务器110可以将最新数据更新到数据存储设备120。
消息队列服务器130分别与数据存储设备120、远程缓存140通信连接,且消息队列服务器130与主节点(的共识组件)通信连接。在数据更新服务器110将最新数据更新到数据存储设备120之后,消息队列服务器130可以将最新数据更新到远程缓存140。
进一步地,消息队列服务器130可以获取数据存储设备120的数据变更日志。具体地,在数据更新服务器110将最新数据更新到数据存储设备120之后,数据存储设备120可以基于最新数据生成数据变更日志,并将数据变更日志发送至消息队列服务器130。消息队列服务器130在接收到数据变更日志后,可以将最新数据更新到远程缓存140。在一种实现方式中,数据变更日志例如可以实现为binlog/cdc日志。
在一种实现方式中,消息队列服务器130包括:订阅组件、第一消息队列、消费组件。
订阅组件与数据存储设备120通信连接,并与第一消息队列通信连接。订阅组件可以订阅数据存储设备120的数据变更日志,订阅组件在接收到数据存储设备120的数据变更日志后,可以将数据变更日志封装为数据变更消息,发送至第一消息队列。
消费组件与远程缓存140通信连接,并与第一消息队列通信连接。消费组件可以从第一消息队列获取数据变更消息,并基于数据变更消息来更新远程缓存140,即,基于数据变更消息将最新数据更新到远程缓存140。
根据本发明的一个实施例,缓存数据更新系统100还包括第二消息队列。消费组件经由第二消息队列与主节点(的共识组件)通信连接。
消费组件在从第一消息队列获取到数据变更消息,并基于数据变更消息将最新数据更新到远程缓存140之后,可以向第二消息队列发送远程缓存140数据更新消息。
主节点(的共识组件)通过预先订阅第二消息队列中的远程缓存140更新消息,可以从第二消息队列获取到远程缓存140数据更新消息。这样,主节点在接收远程缓存140数据更新消息后,可以将远程缓存140数据更新消息发送至应用集群150中的每个应用实例(的共识组件)。
应当指出,本发明对数据更新服务器110、服务注册平台160的具体种类不作限制。例如,数据更新服务器110、服务注册平台160分别可以实现为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等,但不限于此,也可以实现为驻留在计算设备中的服务程序。
在本发明的实施例中,计算设备适于执行缓存数据更新方法300。本发明的缓存数据更新方法300将在下文中详述。
图2示出了根据本发明一个实施例的计算设备200的示意图。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。
计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、应用222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行应用222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
在根据本发明的计算设备200中,应用222中包括执行缓存数据更新方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的缓存数据更新方法300,以便计算设备200通过执行本发明的缓存数据更新方法300来实现高效地追踪流量来源,降低缓存数据更新成本。
图3示出了根据本发明一个实施例的缓存数据更新方法300的流程图。方法300适于在前文所述的缓存数据更新系统100中执行。
根据本发明的一个实施例,如图1所示,缓存数据更新系统100包括应用集群150、远程缓存140。应用集群150包括多个应用实例,每个应用实例分别与远程缓存140通信连接,例如可以通过有线或无线的方式网络连接。并且,每个应用实例分别包括本地缓存。
如图3所示,方法300包括步骤S310~S320。
在步骤S310中,从应用集群150的多个应用实例中选举出一个应用实例作为主节点(Leader)。主节点可以预先订阅远程缓存140数据更新消息。
在一个实施例中,每个应用实例分别包括共识组件,且每个应用实例的共识组件分别与远程缓存140通信连接。多个应用实例的共识组件,可以利用共识算法,从应用集群150中的多个应用实例中选举出主节点。
在一个实施例中,每个应用实例分别包括共识组件,每个应用实例的共识组件分别与服务注册平台160通信连接,这样,多个应用实例可以通过服务注册平台160发现彼此并组成应用集群。并且,多个应用实例的共识组件之间可以经由服务注册平台160进行通信,以便多个共识组件利用共识算法,从应用集群150中的多个应用实例中选举出主节点。主节点的共识组件可以订阅远程缓存140数据更新消息。
随后在步骤S320中,主节点(的共识组件)接收远程缓存140数据更新消息。主节点在接收到远程缓存140数据更新消息之后,将远程缓存140数据更新消息同步发送至应用集群150中的每个应用实例。这样,每个应用实例可以根据接收到的远程缓存140数据更新消息,从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。
具体地,主节点的共识组件在接收到远程缓存140数据更新消息之后,将远程缓存140数据更新消息同步发送至应用集群150中的每个应用实例的共识组件。随后,每个应用实例的共识组件从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。
根据本发明的技术方案,通过订阅远程缓存140数据更新消息的方式来进行本地缓存的数据更新,能够解决应用实例本地缓存的时效性问题。而且,应用集群150中的各个应用实例可以同步接收到主节点分发的远程缓存140数据更新消息,从而同时从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。这样,应用集群150中的各个应用实例可以同步完成本地缓存的数据更新,从而能确保各个应用实例的本地缓存数据一致。
在一个实施例中,如图1所示,缓存数据更新系统100包括数据存储设备120、数据更新服务器110、消息队列服务器130。其中,数据更新服务器110与数据存储设备120通信连接。消息队列服务器130分别与数据存储设备120、远程缓存140通信连接,且消息队列服务器130与主节点(的共识组件)通信连接。
在主节点接收远程缓存140数据更新消息之前,首先,数据更新服务器110会将最新数据更新到数据存储设备120。在数据更新服务器110将最新数据更新到数据存储设备120之后,消息队列服务器130可以将最新数据更新到远程缓存140。
进一步地,消息队列服务器130可以获取数据存储设备120的数据变更日志。具体地,在数据更新服务器110将最新数据更新到数据存储设备120之后,数据存储设备120可以基于最新数据生成数据变更日志,并将数据变更日志发送至消息队列服务器130。消息队列服务器130在接收到数据变更日志后,可以将最新数据更新到远程缓存140。在一种实现方式中,数据变更日志例如可以实现为binlog/cdc日志。
在一种实现方式中,消息队列服务器130包括:订阅组件、第一消息队列、消费组件。
订阅组件与数据存储设备120通信连接,并与第一消息队列通信连接。订阅组件可以订阅数据存储设备120的数据变更日志,订阅组件在接收到数据存储设备120的数据变更日志后,可以将数据变更日志封装为数据变更消息,发送至第一消息队列。
消费组件与远程缓存140通信连接,并与第一消息队列通信连接。消费组件可以从第一消息队列获取数据变更消息,并基于数据变更消息来更新远程缓存140,即,基于数据变更消息将最新数据更新到远程缓存140。
在一个实施例中,缓存数据更新系统100还包括第二消息队列。消费组件经由第二消息队列与主节点(的共识组件)通信连接。
消费组件在从第一消息队列获取到数据变更消息,并基于数据变更消息将最新数据更新到远程缓存140之后,可以向第二消息队列发送远程缓存140数据更新消息。
主节点(的共识组件)通过预先订阅第二消息队列中的远程缓存140更新消息,可以从第二消息队列获取到远程缓存140数据更新消息。这样,主节点的共识组件在接收远程缓存140数据更新消息后,可以将远程缓存140数据更新消息发送至应用集群150中的每个应用实例(的共识组件)。随后,每个应用实例的共识组件可以根据接收到的远程缓存140数据更新消息,从远程缓存140获取最新数据,并将最新数据更新到应用实例的本地缓存。
根据本发明的缓存数据更新方法300,利用共识算法从多个应用实例中选举出主节点,主节点通过订阅远程缓存数据更新消息,在接收到远程缓存数据更新消息之后,将远程缓存数据更新消息同步发送至应用集群中的每个应用实例,每个应用实例可以根据接收到的远程缓存数据更新消息,从远程缓存获取最新数据,并将最新数据更新到应用实例的本地缓存。这样,本发明通过订阅远程缓存数据更新消息的方式来进行本地缓存的数据更新,能够提高本地缓存的数据更新效率,解决了应用实例本地缓存的时效性问题。而且,应用集群中的各个应用实例可以同步接收到主节点分发的远程缓存数据更新消息,从而同时从远程缓存获取最新数据,并将最新数据更新到应用实例的本地缓存。这样,应用集群中的各个应用实例可以同步完成本地缓存的数据更新,从而能确保各个应用实例的本地缓存数据一致。
B9、如B7或B8所述的系统,其中,还包括:数据存储设备;数据更新服务器,与所述数据存储设备通信连接,适于将最新数据更新到所述数据存储设备;消息队列服务器,分别与所述数据存储设备、远程缓存通信连接,并与所述主节点通信连接,适于将所述最新数据更新到远程缓存。
B10、如B9所述的系统,其中,所述消息队列服务器包括:第一消息队列;订阅组件,与所述数据存储设备通信连接,并与所述第一消息队列通信连接,适于订阅数据存储设备的数据变更日志,将所述数据变更日志封装为数据变更消息,发送至所述第一消息队列;消费组件,与远程缓存通信连接,并与所述第一消息队列通信连接,适于从所述第一消息队列获取所述数据变更消息,并基于所述数据变更消息将所述最新数据更新到远程缓存。
B11、如B10所述的系统,其中,还包括第二消息队列;所述消费组件经由所述第二消息队列与所述主节点通信连接,适于向所述第二消息队列发送远程缓存数据更新消息;所述主节点适于订阅所述第二消息队列中的远程缓存更新消息,以从所述第二消息队列获取远程缓存数据更新消息。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的缓存数据更新方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。

Claims (10)

1.一种缓存数据更新方法,包括:
从应用集群中的多个应用实例中选举出主节点;
所述主节点接收远程缓存数据更新消息,将所述远程缓存数据更新消息发送至所述应用集群中的每个应用实例,以便每个应用实例从远程缓存获取最新数据,并将所述最新数据更新到所述应用实例的本地缓存。
2.如权利要求1所述的方法,其中,从应用集群中的多个应用实例中选举出主节点,包括:
利用共识算法,从应用集群中的多个应用实例中选举出主节点。
3.如权利要求1或2所述的方法,其中,每个所述应用实例分别包括共识组件,多个共识组件之间经由服务注册平台进行通信,以便从应用集群中的多个应用实例中选举出主节点。
4.如权利要求1-3中任一项所述的方法,其中,所述主节点与消息队列服务器通信连接,所述消息队列服务器分别与数据存储设备、远程缓存通信连接,所述数据存储设备与数据更新服务器通信连接;
在所述主节点接收远程缓存数据更新消息之前,包括:
所述数据更新服务器将最新数据更新到数据存储设备;
所述消息队列服务器将所述最新数据更新到远程缓存。
5.如权利要求4所述的方法,其中,所述消息队列服务器包括订阅组件、第一消息队列、消费组件,所述订阅组件与所述数据存储设备通信连接,所述消费组件与远程缓存通信连接;所述消息队列服务器将所述最新数据更新到远程缓存,包括:
所述订阅组件适于订阅数据存储设备的数据变更日志,将所述数据变更日志封装为数据变更消息,发送至所述第一消息队列;
所述消费组件从所述第一消息队列获取所述数据变更消息,并基于所述数据变更消息将所述最新数据更新到远程缓存。
6.如权利要求5所述的方法,其中,所述消费组件经由第二消息队列与所述主节点通信连接;
所述消费组件适于向第二消息队列发送远程缓存数据更新消息;
所述主节点接收远程缓存数据更新消息,包括:
所述主节点订阅所述第二消息队列中的远程缓存更新消息,以从所述第二消息队列获取远程缓存数据更新消息。
7.一种缓存数据更新系统,包括:
远程缓存;
应用集群,包括多个应用实例,每个应用实例分别与所述远程缓存通信连接,所述应用集群适于从多个应用实例中选举出主节点,所述主节点适于接收远程缓存数据更新消息,将所述远程缓存数据更新消息发送至所述应用集群中的每个应用实例,以便每个应用实例从远程缓存获取最新数据,并将所述最新数据更新到所述应用实例的本地缓存。
8.如权利要求7所述的系统,其中,还包括服务注册平台;
每个所述应用实例分别包括共识组件,多个共识组件之间经由所述服务注册平台进行通信,以便从应用集群中的多个应用实例中选举出主节点。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-6中任一项所述缓存数据更新方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-6中任一项所述缓存数据更新方法。
CN202211252428.6A 2022-10-13 2022-10-13 一种缓存数据更新方法、系统及计算设备 Pending CN115827503A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211252428.6A CN115827503A (zh) 2022-10-13 2022-10-13 一种缓存数据更新方法、系统及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211252428.6A CN115827503A (zh) 2022-10-13 2022-10-13 一种缓存数据更新方法、系统及计算设备

Publications (1)

Publication Number Publication Date
CN115827503A true CN115827503A (zh) 2023-03-21

Family

ID=85524737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211252428.6A Pending CN115827503A (zh) 2022-10-13 2022-10-13 一种缓存数据更新方法、系统及计算设备

Country Status (1)

Country Link
CN (1) CN115827503A (zh)

Similar Documents

Publication Publication Date Title
CN111651464B (zh) 数据处理方法、系统及计算设备
CN111427766A (zh) 一种请求处理方法、装置和代理服务器
CN113032432A (zh) 一种数据缓存处理方法、系统、计算设备及可读存储介质
CN113329069A (zh) 一种即时通信方法、系统及计算设备
CN111526181B (zh) 数据请求的处理方法、系统及计算设备
CN113377289A (zh) 一种缓存管理方法、系统、计算设备及可读存储介质
CN111522574B (zh) 差分包生成方法及相关设备
CN116192956A (zh) 一种缓存数据更新方法、系统、计算设备及存储介质
CN111651374A (zh) 一种数据处理方法、装置、计算设备及可读存储介质
CN112559143A (zh) 任务调度方法、系统及计算设备
CN110532016B (zh) 版本管理方法、版本更新方法和版本管理系统
CN111414383B (zh) 数据请求方法、数据处理系统及计算设备
CN111814029A (zh) 一种数据查询方法、系统及计算设备
CN111865676A (zh) 配置文件的更新检查方法、装置、服务器及存储介质
CN111930783A (zh) 监控方法、监控系统及计算设备
CN115220914A (zh) 一种数据处理方法、系统及计算设备
CN115827503A (zh) 一种缓存数据更新方法、系统及计算设备
CN114422502A (zh) 一种资源下载方法、计算设备和存储介质
CN111782157B (zh) 快递面单打印管理方法、装置及系统
CN110764933B (zh) 一种消息处理方法、装置、系统及计算设备
CN113590699A (zh) 一种接口请求处理方法、系统及计算设备
CN111432357B (zh) 信息处理方法、系统及计算设备
CN113300895A (zh) 一种线索处理方法、系统及计算设备
CN110516169B (zh) 数据显示方法、装置、系统及计算设备
CN112671843A (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