CN111159233B - 分布式缓存方法、系统、计算机设备以及存储介质 - Google Patents
分布式缓存方法、系统、计算机设备以及存储介质 Download PDFInfo
- Publication number
- CN111159233B CN111159233B CN201911310813.XA CN201911310813A CN111159233B CN 111159233 B CN111159233 B CN 111159233B CN 201911310813 A CN201911310813 A CN 201911310813A CN 111159233 B CN111159233 B CN 111159233B
- Authority
- CN
- China
- Prior art keywords
- update message
- cache
- application
- node
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 25
- 238000004891 communication Methods 0.000 claims description 10
- 239000000725 suspension Substances 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000000699 topical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本申请涉及一种分布式缓存方法、系统、计算机设备和存储介质。所述方法包括:接收第一应用节点发送的缓存更新消息;缓存更新消息包括第一应用节点的节点标识;查询与节点标识对应的应用服务器;将缓存更新消息转发至所述应用服务器,以使应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点。采用本方法能够降低数据库访问频率,提升业务系统的整体性能。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种分布式缓存方法、系统、计算机设备以及存储介质。
背景技术
随着科学技术的发展,业务系统的功能越来越复杂,如ERP(Enterprise ResourcePlanning,企业资源计划)系统就具有财务管理功能、人力资源管理功能以及物料管理功能等。在高并发的环境下,各个功能模块在使用过程中都需要频繁访问数据库以实现业务的处理。当上百万的并发读写数据请求涌入数据库时,往往会造成数据库因无法承受而崩溃,从而导致业务系统的整体服务性能降低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低数据库访问频率,提升业务系统性能的分布式缓存方法、装置、计算机设备和存储介质。
一种分布式缓存方法,所述方法包括:
接收第一应用节点发送的缓存更新消息;所述缓存更新消息包括第一应用节点的节点标识;
查询与所述节点标识对应的应用服务器;
将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点。
在其中一个实施例中,所述接收第一应用节点发送的缓存更新消息包括:
接收多个第一应用节点发送的缓存更新消息;所述缓存更新消息包含时间戳;
根据所述时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;
所述将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点包括:
将所述目标更新消息转发至所述应用服务器。
在其中一个实施例中,所述将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:
获取与应用服务器关联的第二应用节点在目标时段内上报的负载数据;
根据负载数据计算执行与缓存更新消息对应的缓存更新任务的成功概率;
当所述成功概率大于阈值时,将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点。
在其中一个实施例中,所述将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:
判断所述缓存更新消息中的版本信息是否与预存储的版本信息相同;
当版本信息相同时,将所述缓存更新消息转发至所述应用服务器。
一种分布式缓存方法,所述方法包括:
接收应用服务器分发的基于第一应用节点生成的缓存更新消息;所述缓存更新消息包括更新对象与时间戳;
当预设缓存池中已存在所述更新对象时,获取所述更新对象的更新时间;
在所述更新时间晚于所述时间戳时,暂停处理所述缓存更新消息。
在其中一个实施例中,所述方法还包括:
当所述缓存更新消息为批量数据更新消息时,
获取预存储的数据库标识;
根据所述数据库标识生成对应的数据读取请求;所述数据读取请求用于从数据库中对应读取目标数据;
接收从所述数据库中读取的目标数据;
将所述目标数据覆盖更新本地缓存。
一种分布式缓存装置,所述装置包括:
接收模块,用于接收第一应用节点发送的缓存更新消息;所述缓存更新消息包括第一应用节点的节点标识;
查询模块,查询与所述节点标识对应的应用服务器;
转发模块,用于将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点。
一种分布式缓存装置,所述装置包括:
更新消息获取模块,用于接收应用服务器分发的基于第一应用节点生成的缓存更新消息;所述缓存更新消息包括更新对象与时间戳;
更新时间获取模块,用于当预设缓存池中已存在所述更新对象时,获取所述更新对象的更新时间;
暂停处理模块,用于在更新时间晚于所述时间戳时,暂停处理缓存更新消息。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收第一应用节点发送的缓存更新消息;所述缓存更新消息包括第一应用节点的节点标识;
查询与所述节点标识对应的应用服务器;
将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收应用服务器分发的基于第一应用节点生成的缓存更新消息;所述缓存更新消息包括更新对象与时间戳;
当预设缓存池中已存在所述更新对象时,获取所述更新对象的更新时间;
在所述更新时间晚于所述时间戳时,暂停处理所述缓存更新消息。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收第一应用节点发送的缓存更新消息;所述缓存更新消息包括第一应用节点的节点标识;
查询与所述节点标识对应的应用服务器;
将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将所述缓存更新消息分发至所关联的每个第二应用节点。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收应用服务器分发的基于第一应用节点生成的缓存更新消息;所述缓存更新消息包括更新对象与时间戳;
当预设缓存池中已存在所述更新对象时,获取所述更新对象的更新时间;
在所述更新时间晚于所述时间戳时,暂停处理所述缓存更新消息。
上述分布式缓存方法、装置、计算机设备和存储介质,由于多个应用节点的本地缓存中均存有相同的从数据库提取出的热门数据,因此当接收到大量的数据读写请求时,可以将数据读写请求分发至对应的应用节点,以使应用节点基于接收到的数据读写请求从本地缓存查找对应的目标数据,从而有效地降低了对数据库的访问频率,进而提升业务系统的整体服务性能。
附图说明
图1为本发明一个实施例中分布式缓存方法的应用场景图;
图2为本发明一个实施例中分布式缓存方法的流程示意图;
图3为本发明另一个实施例中分布式缓存方法的流程示意图;
图4为本发明一个实施例中分布式缓存装置的结构框图;
图5为本发明另一个实施例中分布式缓存装置的结构框图;
图6为本发明一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的分布式缓存方法,可以应用于如图1所示的应用环境中。该分布式缓存系统包括第一服务器102、第二服务器104以及与第二服务器104关联的应用节点106,其中,第一服务器102通过网络与第二服务器104进行通信,第二服务器104通过网络与应用节点106进行通信,应用节点106通过网络与第一服务器102进行通信。应用节点106包括第一应用节点和第二应用节点。第一应用节点用于在发生缓存更新时,根据更新数据生成对应的缓存更新消息,并将缓存更新消息发送至第一服务器102。第一服务器102部署有缓存管理中心,缓存管理中心用于接收缓存更新消息,并将缓存更新消息转发至第二服务器104(即下文中的应用服务器),以使第二服务器104将缓存更新消息分发至关联的第二应用节点。第一服务器102以及第二服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种分布式缓存方法,以该方法应用于图1中的第一服务器为例进行说明,包括以下步骤:
S202,接收第一应用节点发送的缓存更新消息;所述缓存更新消息包括第一应用节点的节点标识。
其中,第一应用节点为部署于第二服务器中的多个应用节点中任意一个节点。应用节点是指将业务系统以分布式的形式部署于第二服务器时所生成的节点,每个应用节点均配置有一个本地缓存,用以缓存业务系统在运行时需要使用到的热门数据。热门数据是指存储于数据库中的频繁被查询但很少被修改的基础数据。为了便于描述,下述将第二服务器称为应用服务器。
具体地,每个业务系统可以被拆分为多个应用节点,每个应用节点具体可以对应业务系统的一个功能模块,多个应用节点同时运行,从而提升业务系统的并行处理效率。
当第一应用节点的本地缓存具有数据更新时,第一应用节点获取更新数据的数据标识以及预存储的自身节点标识,根据更新数据的数据标识和节点标识生成对应的缓存更新消息。节点标识为唯一标识一个应用节点的信息。第一应用节点调用缓存更新通知接口,基于缓存更新通知接口将缓存更新消息发送至第一服务器。
S204,查询与节点标识对应的应用服务器。
S208,将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
其中,应用服务器为管理相关联的应用节点的服务器,应用服务器上具有一个管理节点平台,基于管理节点平台可以与部署于当前应用服务器中的应用节点进行通信。
具体地,分布式缓存系统中可以具有多个应用服务器,每个应用服务器可以对应一个业务系统。当用户需要针对某个业务系统新增应用节点时,用户查询与该业务系统对应的应用服务器,并基于查询到的应用服务器注册待新增的应用节点。应用服务器根据新增的应用节点的节点信息生成对应的节点标识,并将自身标识以及节点标识打包发送至第一服务器,由第一服务器对应存储应用服务器标识和节点标识。
进一步地,当第一服务器接收到第一应用节点发送的缓存更新消息时,第一服务器从缓存更新消息中提取出应用节点的节点标识,并根据应用服务器标识与节点标识之间的对应关系确定与第一应用节点的节点标识对应的目标应用服务器标识。第一服务器根据目标应用服务器标识确定对应的目标应用服务器,并基于TCP(Transmission ControlProtocol,传输控制协议)协议与目标应用服务器建立通信通道,之后将缓存更新消息通过通信通道转发至目标应用服务器。
进一步地,目标应用服务器中存有相关联的各应用节点的节点标识。在接收到缓存更新消息后,目标应用服务器根据各节点的节点标识将缓存更新消息下发至部署于自身中的除第一应用节点之外的其它应用节点,即将缓存更新消息下发至相关联的第二应用节点,以使第二应用节点根据缓存更新消息进行缓存更新。
容易理解地,发出缓存更新消息的第一应用节点与接收缓存更新消息的第二应用节点共同构成一个业务系统的分布式节点,业务系统中的对应节点之间需要进行数据共享,从而实现业务处理。
在一个实施例中,第一服务器中具有用于存储节点标识与应用服务器标识之间的对应关系的配置文件。可以事先在配置文件中为节点标识配置多个应用服务器标识,第一服务器根据缓存更新消息中的节点标识查询到多个对应的目标应用服务器标识,并将缓存更新消息分别发送至与目标应用服务器标识对应的目标应用服务器。
在一个实施例中,目标应用服务器基于传统的HTTP(HyperText TransferProtocol,超文本传输协议)协议与相关联的第二应用服务器建立通信通道,并将缓存更新消息内嵌于HTP请求中,通过POST的发送方式发送至第二应用节点。
由于每个应用节点均具有本地缓存,因此只需在应用节点上部署一个缓存更新消发送接口和缓存更新消息接收接口,即可实现分布式缓存的数据同步功能,相比于传统的需要使用复杂的分布式缓存架构搭建多个用以缓存数据的缓存服务器,本方案不仅无需大量改动系统代码,而且无需提供更多的硬件资源用以部署缓存服务器。
本实施例中,第一服务器可以接收第一应用节点发送的缓存更新消息;通过提取缓存更新消息中的节点标识,可以根据节点标识查找到对应的应用服务器;通过将缓存更新消息发送至对应的应用服务器,可以使应用服务器将缓存更新消息分发至关联的每个第二应用节点,从而使得每个第二应用节点均能接到来自第一应用节点的缓存更新消息,进而使得应用节点间的缓存更新消息能够同步。由于多个应用节点的本地缓存中均存有相同的从数据库提取出的热门数据,因此当接收到大量的数据读写请求时,可以将数据读写请求分发至对应的应用节点,以使应用节点基于接收到的数据读写请求从本地缓存查找对应的目标数据,从而有效地降低了对数据库的访问频率,进而提升业务系统的整体服务性能。
在一个实施例中,接收第一应用节点发送的缓存更新消息包括:接收多个第一应用节点发送的缓存更新消息;缓存更新消息包含时间戳;根据时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:将目标更新消息转发至应用服务器。
具体地,当在预设时长内数据缓存系统中具有多个第一应用节点同时发生数据更新时,第一应用节点获取数据更新时间,并基于数据更新时间生成缓存更新消息,之后将缓存更新消息发送至第一服务器。预设时长可以是第一服务器自接收到数据更新请求至目标应用服务器将其分发至相关联的每个第二应用节点的时间长度,也可以是根据需求自定义的时间长度。
第一服务器按照上述方式对后面接收到的新的缓存更新消息进行暂缓处理。第一服务器根据多个缓存更新消息分别携带的数据更新时间,确定缓存更新消息的相应顺序。具体地,将第一顺序的缓存更新请求筛选作为需要及时响应处理的唯一缓存更新消息,对应其它时间顺序的缓存更新消息,第一服务器将其缓存至缓存列表中进行暂缓处理。
本实施例中,对并发的数据更新请求进行响应排序,可以保证每个缓存更新请求均得以响应的情况下,很好地解决多应用节点并发更新数据的冲突问题。
在一个实施例中,将缓存更新消息转发至所述应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:获取与应用服务器关联的第二应用节点在目标时段内上报的负载数据;根据负载数据计算执行与缓存更新消息对应的缓存更新任务的成功概率;当成功概率大于阈值时,将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
具体地,当第一服务器确定目标应用服务器后,第一服务器根据缓存更新消息中携带的第一应用节点的节点标识生成状态查询请求,并将状态查询请求发送至目标应用服务器。目标应用服务器提取状态查询请求中的节点标识,将状态查询请求下发至相关联的除与节点标识对应的应用节点之外的每个第二应用节点。
进一步地,第二应用节点接收状态查询请求,并将自身负载数据打包发送至第一服务器。第一服务器根据第二应用节点的负载数据计算第二应用节点的资源空闲率,根据资源空闲率确定第二应用节点响应缓存更新消息的成功概率,从而确定是否将缓存更新消息转发至目标应用服务器。负载数据是指能够直接或间接反映第二应用节点服务能力的数据,如第二应用节点在预设而时间分片的执行缓存更新任务的任务响应状况、资源消耗状况等信息。
在另一个实施例中,第一服务器可以预先建立资源空闲率与任务响应成功概率之间的对应关系,进而根据该对应关系确定第二应用节点所对应的执行缓存更新任务的成功概率。当每个第二应用节点所对应的任务执行成功概率均大于阈值时,第一服务器将缓存更新消息转发至对应的目标服务器。
在另一个实施例中,当第二应用节点接收到状态查询请求时,第二应用节点仅统计在最近范围时长的负载数据,不统计早于单位时长的过期负载数据,以便第一服务器能够对最新的负载数据进行统计分析。
本实施例中,在接收到缓存更新消息后,从相应第二应用节点中拉取最新的负载数据,有助于提高预测成功概率准确性;此外,只有当全部第二应用节点的执行缓存更新任务的成功概率大于阈值时,才真正转发缓存更新消息,可以减少不必要的转发开销,节约服务器资源。
在一个实施例中,缓存更新消息包括应用版本信息;将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:判断缓存更新消息中的版本信息是否与预存储的版本信息相同;当版本信息相同时,将缓存更新消息转发至应用服务器。
其中,应用版本信息是指业务系统中各功能模块的版本信息。
具体地,第一服务器中预存储有各业务系统的每个功能模块的版本信息,当新增某一功能模块,或针对某一功能模块进行版本更新时,第一服务器获取新增功能模块或已更新功能模块的版本信息,并将版本信息存储于内存中。
进一步地,当第一应用节点发生缓存数据更新时,第一应用节点获取对应功能模块的版本信息,并基于更新数据和版本信息生成缓存更新消息。第一服务器接收缓存更新消息,从缓存更新消息中提取功能模块的版本信息,并将功能模块的版本信息与预存储的版本信息进行对比,当版本信息相同时,第一服务器向目标服务器转发此缓存更新消息;当版本信息不相同时,第一服务器暂缓处理此缓存更新消息,并生成对应的提示消息用以提示用户版本信息不匹配。
本实施例中,通过对版本信息进行验证,可以减少当版本信息不匹配时,依旧将缓存更新消息转发至第二应用节点,从而使得第二应用节点误更新缓存数据的概率。
在一个实施例中,如图3所示,提供了一种分布式缓存方法,以该方法应用于图1中的第二应用节点为例进行说明,包括以下步骤:
S302,接收应用服务器分发的基于第一应用节点生成的缓存更新消息;缓存更新消息包括更新对象与时间戳;
S304,当预设缓存池中已存在更新对象时,获取更新对象的更新时间;
S306,在更新时间晚于时间戳时,暂停处理缓存更新消息。
其中,缓存池是指用于存储生成的缓存更新消息的缓存空间。更新对象是指以键值对存储于本地缓存中的键值,比如当更新的数据为“张三:男”,此时的更新对象即为“张三”。
具体地,当第一应用节点发生缓存更新时,第一应用节点根据更新对象以及更新时间生成缓存更新消息,并将对应生成的缓存更新消息存储于缓存池中,与此同时基于传输通道将缓存更新消息发送至第一服务器。
由于存在网络延迟,在第一服务器将基于更新对象A生成的缓存更新消息转发至目标应用服务器的过程中,有可能其余第二应用节点也针对相同的更新对象发生了数据更新。第二应用节点通过传输通道接收目标应用服务器分发的缓存更新消息,并将接收到的缓存更新消息与缓存池中的缓存更新消息进行对比。当缓存池中存在相同的更新对象时,第二应用节点从接收到的缓存更新消息中提取时间戳,以及从缓存池中获取相同的更新对象的更新时间,并将时间戳与更新时间进行对比。在更新时间晚于时间戳时,第二应用节点丢弃此缓存更新消息;当更新时间早于时间戳时,第二应用节点将从缓存更新消息中提取出的更新数据覆盖存储至本地缓存中。
在另一个实施例中,当第二应用节点基于缓存更新消息完成本地缓存更新时,第二应用节点基于自身节点标识以及缓存更新消息标识生成对应的更新成功通知消息,并将更新成功通知消息发送至相关联的目标应用服务器。目标应用服务器统计接收到的更新成功消息的数量,当接收到的消息数量与相关联的第二应用节点的数量相同时,目标应用服务器根据缓存更新消息标识以及第一应用节点标识生成对应的删除指令,以使第一应用节点根据删除指令中的缓存更新消息标识对应删除缓存池中的缓存更新消息。通过在更新数据同步成功时,对应删除缓存池中的缓存更新消息可以减少由于缓存对象过多而导致缓存池溢出的概率。
本实施例中,由于设置了缓存池,在接收到缓存更新消息时,可以将缓存更新消息中的更新对象与缓存池中的更新对象进行对比;当缓存池中的对应更新对象的更新时间晚于缓存更新消息中的更新对象的更新时间时,通过丢弃接收到的缓存更新消息可以减少第二应用节点重复更新过期数据的概率。
在一个实施例中,上述分布式缓存方法还包括:缓存更新消息为批量数据更新消息时,获取预存储的数据库标识;根据数据库标识生成对应的数据读取请求;数据读取请求用于从数据库中对应读取目标数据;接收从数据库中读取的目标数据;将目标数据覆盖更新本地缓存。
具体地,当第一应用节点基于业务需求对本地缓存进行批量数据更新或批量数据删除时,第一应用节点根据自身节点标识以及批量数据处理任务的任务标识生成缓存更新消息。
进一步地,第二应用节点根据缓存更新消息中的任务标识确定对应任务类型,当缓存更新消息所对应的任务类型为批量数据处理任务时,第二应用节点获取预存储的数据库标识,并基于数据库标识从对应数据库中拉取目标数据。目标数据是指上文中描述的热门数据。第二应用节点删除本地缓存中的全部缓存数据,并将目标数据批量存储至本地缓存中。
本实施例中,当需要对本地缓存进行批量数据更新时,直接基于批量任务的任务标识生成缓存更新消息,而非将大量更新数据内嵌于缓存更新消息中,可以节约发送超大缓存更新消息所耗费的通信资源。此外,根据缓存更新消息直接从数据库中拉取全部目标数据不仅操作简单,而且可以减少更新数据错误的概率。
在一个实施例中,提供了一种分布式缓存系统,该系统包括:缓存管理中心、多个应用服务器以及每个应用服务器关联的第一应用节点和第二应用节点;第一应用节点,用于当本地缓存中的数据发生更新时,根据第一应用节点的节点标识以及更新后的数据生成缓存更新消息;缓存管理中心,用于将来自所述第一应用节点的缓存更新消息转发至节点标识对应的应用服务器;应用服务器用于将缓存更新消息分发至所关联的每个第二应用节点;第二应用节点用于根据缓存更新消息对应更新本地缓存。
具体地,第一服务中部署有缓存管理中心,用于接收第一应用节点发送的缓存更新消息,并将缓存更新消息转发至对应的应用服务器。更具体地,当缓存管理中心接收到第一应用节点基于节点标识和更新数据生成的缓存更新消息时,缓存管理中心根据应用节点标识查询对应的目标应用服务器,并将缓存更新消息转发至目标应用服务器。目标应用服务器接收缓存更新消息,并将缓存更新消息下发至关联的每个第二应用节点。第二应用节点从缓存更新消息中提取更新数据,并将更新数据覆盖存储至本地缓存中。
本实施例中,通过缓存管理中心将缓存更新消息转发至对应目标服务器,通过目标服务器将缓存更新消息下发至每个第二应用节点,使得每个应用节点可以根据缓存更新消息更新本地缓存,从而实现了数据同步的功能。
在一个实施例中,应用服务器还用于将缓存更新消息分发至所关联的第一应用节点;第一应用节点还用于,判断自生成缓存更新消息起预设时长内是否接收到应用服务器分发的同一缓存更新消息;当未接收到同一缓存更新消息时,判断与缓存管理中心是否通信异常;当与缓存管理中心通信正常时,向缓存管理中心重新发送缓存更新消息。
具体地,当第一应用节点的本地缓存具有数据更新时,第一应用节点对应的缓存更新消息,并将缓存更新消息的消息标识以及缓存更新消息的生成时间对应存储于内存中,与此同时,第一应用节点将缓存更新消息发送至缓存管理中心。目标应用服务器接收缓存管理中心转发的缓存更新消息,之后将缓存更新消息发送至相关联的全部第二应用节点以及第一应用节点。
第一应用节点判断自生成缓存更新消息起预设时长内是否再次接收到目标应用节点发送的同一缓存更新消息,若在预设时长内接收到同一缓存更新消息时,则可以认为此缓存更新消息已成功被转发至其余第二应用节点;若在预设时长内,第一应用节点还未接收到同一缓存更新消息时,可以认为该缓存更新消息的转发出现异常,此时第一应用节点判断与缓存管理中心是否通信异常。在与缓存管理中心正常时,向缓存管理中心重新发送缓存更新消息。其中,预设时长是指从第一应用节点生成缓存更新消息至目标应用服务器将缓存更新消息分发至第二应用节点所消耗的时间段。用户可以根据多个缓存更新消息进行转发时所消耗的平均时间段确定预设时长。
在另一个实施例中,当第一应用节点在预设时长内还未接收到同一缓存更新指令时,第一应用节点获取第一服务器的服务器标识,并基于第一服务器标识生成一个测试指令,之后将测试指令发送至第一服务器。第一应用节点判断自固定时长内是否接收到第一服务器基于测试指令返回的对应应答指令,若接收到应答指令,则可以认为与缓存管理中心通信正常。
本实施例中,通过判断在预设时长内是否接收到自身生成的缓存更新消息,可以预测其余第二应用节点是否已成功接收到该缓存更新消息,从而在预测到其余第二应用节点未能接收到缓存更新消息时,通过及时重新发送缓存更新消息来提升缓存更新消息转发的成功概率。
在另一个实施例中,第一应用节点中具有本地缓存平台;本地缓存平台用于在接收到数据更新指令时,获取预存储的数据库标识;数据更新指令包括待更新数据的数据标识;根据数据标识以及数据库标识生成对应的数据读取请求;将数据读取请求下发至与数据库标识相对应的数据库;接收数据库基于数据标识返回的更新数据;将更新数据覆盖缓存至所述本地缓存。
其中,更新数据包括更新对象和更新值。更新对象和更新值是指以键值对的形式存储于本地缓存中的数据,比如当更新数据为“张三:男”,此时的更新对象即为“张三”,更新值即为“男”。数据标识是指唯一标识一个更新对象的信息。比如,当更新数据为“张三:男”,此时的数据标识即为一个唯一标识“张三”的信息。
具体地,应用节点具有本地缓存管理平台,用以管理本地缓存。当第一应用节点基于业务需求需要对本地缓存中的部分数据进行更新时,本地缓存管理平台获取预存储的数据库标识以及待更新对象的对象标识,并根据数据库标识以及对象标识生成数据读取请求,并将数据读取请求发送至对应的数据库。数据库从预存储的数据表中读取与对象标识相对应的更新数据,并将更新数据发送至应用节点平台。与此同时,本地缓存管理平台将接收到的更新数据覆盖缓存至本地缓存中,并根据更新数据以及自身的节点标识对应生成缓存更新消息。
本实施例中,通过在应用节点部署一个本地缓存管理平台,可以基于部署的本地缓存管理平台对本地缓存进行统一的管理,从而使得统一管理后的应用节点能够更高效地更新本地缓存。
在另一个实施例中,第一应用节点还用于在发送所述缓存更新消息之前,判断更新数据是否已经成功缓存至所述本地缓存中;当还未成功缓存时,暂缓发送缓存更新消息。
具体地,第一应用节点在调用缓存更新接口发送缓存更新消息之前,第一应用节点校验缓存更新消息中的更新数据是否已经成功缓存至本地节点,若更新数据还未成功缓存至本地节点,第一应用节点暂缓发送缓存更新消息。
通过在缓存更新消息发送之前校验更新消息是否已经成功缓存,可以减少因更新数据缓存失败时,第一应用节点依旧发送缓存更新消息,从而误导后续第二应用节点根据缓存更新消息进行数据更新的概率。
在另一个实施例中,本地缓存中具有多个存储区域;第一应用节点还用于当存储区域中的数据发生批量更新时,获取存储区域的区域标识以及批量更新数据的数据标识;根据区域标识以及数据标识生成缓存更新消息;第二应用节点还用于将基于缓存更新消息从数据库拉取出的更新数据覆盖更新至与区域标识对应的存储区域中。
从与区域标识对应的存储区域中拉取与数据标识相对应的更新数据。
具体地,可以将本地缓存划分为多个存储区域,当存储区域中的缓存数据发生批量更新时,第一应用节点获取存储区域的区域标识以及更新数据的数据标识,并基于自身节点标识、本地缓存中的区域标识以及更新数据的数据标识生成缓存更新消息。第二应用节点从缓存更新消息中提取数据标识和区域标识,并基于数据标识从数据库中拉取对应的更新数据,之后将更新数据存储至与区域标识对应的缓存空间中。
本实施例中,通过将本地缓存划分成多个存储区域,使得第二应用节点可以基于存储区域标识更快速地定位到本地缓存中需要更新的更新对象,相比于传统的从头开始依次查询本地缓存中需要更新的更新对象,本方法能够先大致定位出待更新对象所在的区域范围,之后再在定位出的区域范围内确定具体地待更新对象,从而有效地提升了缓存更新的效率。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种分布式缓存装置400,包括:接收模块402、查询模块404和转发模块406,其中:
接收模块402,用于接收第一应用节点发送的缓存更新消息;缓存更新消息包括第一应用节点的节点标识。
查询模块404,用于查询与节点标识对应的应用服务器。
转发模块406,用于将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
在一个实施例中,接收模块402还用于接收多个第一应用节点发送的缓存更新消息;缓存更新消息包含时间戳;根据时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:将目标更新消息转发至应用服务器。
在一个实施例中,转发模块406还包括成功概率预测模块4061,用于获取与应用服务器关联的第二应用节点在目标时段内上报的负载数据;根据负载数据计算执行与缓存更新消息对应的缓存更新任务的成功概率;当成功概率大于阈值时,将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
在一个实施例中,转发模块406还包括成版本确定模块4062,用于判断缓存更新消息中的版本信息是否与预存储的版本信息相同;当版本信息相同时,将缓存更新消息转发至应用服务器。
在一个实施例中,如图5所示,提供了另一种分布式缓存装置500,包括更新消息获取模块502,更新时间获取模块504,暂停处理模块506。
更新消息获取模块502,用于接收应用服务器分发的基于第一应用节点生成的缓存更新消息;缓存更新消息包括更新对象与时间戳。
更新时间获取模块504,用于当预设缓存池中已存在更新对象时,获取更新对象的更新时间。
暂停处理模块506,用于在更新时间晚于时间戳时,暂停处理缓存更新消息。
在一个实施例中,分布式缓存装置500还用于当缓存更新消息为批量数据更新消息时,获取预存储的数据库标识;根据数据库标识生成对应的数据读取请求;数据读取请求用于从数据库中对应读取目标数据;接收从数据库中读取的目标数据;将目标数据覆盖更新本地缓存。
关于分布式缓存装置的具体限定可以参见上文中对于分布式缓存方法的限定,在此不再赘述。上述分布式缓存装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储缓存数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式缓存方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收第一应用节点发送的缓存更新消息;缓存更新消息包括第一应用节点的节点标识;
查询与节点标识对应的应用服务器;
将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收多个第一应用节点发送的缓存更新消息;缓存更新消息包含时间戳;
根据时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;
将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:
将目标更新消息转发至应用服务器。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取与应用服务器关联的第二应用节点在目标时段内上报的负载数据;
根据负载数据计算执行与缓存更新消息对应的缓存更新任务的成功概率;
当成功概率大于阈值时,将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
在一个实施例中,缓存更新消息包括应用的版本信息;处理器执行计算机程序时还实现以下步骤:
判断缓存更新消息中的版本信息是否与预存储的版本信息相同;
当版本信息相同时,将缓存更新消息转发至应用服务器。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收应用服务器分发的基于第一应用节点生成的缓存更新消息;缓存更新消息包括更新对象与时间戳;
当预设缓存池中已存在更新对象时,获取更新对象的更新时间;
在更新时间晚于时间戳时,暂停处理缓存更新消息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
当缓存更新消息为批量数据更新消息时,
获取预存储的数据库标识;
根据预设的数据库标识生成对应的数据读取请求;数据读取请求用于从数据库中对应读取目标数据;
接收从数据库中读取的目标数据;
将目标数据覆盖更新本地缓存。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收第一应用节点发送的缓存更新消息;缓存更新消息包括第一应用节点的节点标识;
查询与节点标识对应的应用服务器;
将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收多个第一应用节点发送的缓存更新消息;缓存更新消息包含时间戳;
根据时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;
将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:
将目标更新消息转发至应用服务器。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取与应用服务器关联的第二应用节点在目标时段内上报的负载数据;
根据负载数据计算执行与缓存更新消息对应的缓存更新任务的成功概率;
当成功概率大于阈值时,将缓存更新消息转发至应用服务器,以使应用服务器将缓存更新消息分发至所关联的每个第二应用节点。
在一个实施例中,缓存更新消息包括应用的版本信息;计算机程序被处理器执行时还实现以下步骤:
判断缓存更新消息中的版本信息是否与预存储的版本信息相同;
当版本信息相同时,将缓存更新消息转发至应用服务器。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收应用服务器分发的基于第一应用节点生成的缓存更新消息;缓存更新消息包括更新对象与时间戳;
当预设缓存池中已存在更新对象时,获取更新对象的更新时间;
在更新时间晚于时间戳时,暂停处理缓存更新消息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当缓存更新消息为批量数据更新消息时,获取预存储的数据库标识;
根据预设的数据库标识生成对应的数据读取请求;数据读取请求用于从数据库中对应读取目标数据;
接收从数据库中读取的目标数据;
将目标数据覆盖更新本地缓存。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种分布式缓存方法,其特征在于,应用于第一服务器,所述方法包括:
接收多个第一应用节点发送的缓存更新消息;所述缓存更新消息包括第一应用节点的节点标识;所述缓存更新消息包括时间戳;根据所述时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;
基于第一应用节点的节点标识与应用服务器标识的对应关系,查询与所述节点标识对应的应用服务器,所述应用服务器对应一个业务系统;
获取与所述应用服务器关联的第二应用节点在目标时段内上报的负载数据;根据所述负载数据计算执行与所述目标更新消息对应的缓存更新任务的成功概率;当所述成功概率大于阈值时,将所述目标更新消息转发至所述应用服务器,以使所述应用服务器将所述目标更新消息分发至所关联的每个第二应用节点,以使第二应用节点基于目标更新消息对应更新本地缓存;第一应用节点和第二应用节点指将业务系统以分布式的形式部署于应用服务器时所生成的节点,且部署于应用服务器上的第一应用节点和第二应用节点都有多个,第一应用节点与第二应用节点共同构成一个业务系统的分布式节点;各第一应用节点和各第二应用节点都配置有本地缓存。
2.根据权利要求1所述的方法,其特征在于,所述应用服务器上具有管理节点平台,基于所述管理节点平台与部署于所述应用服务器中的应用节点进行通信。
3.根据权利要求1所述的方法,其特征在于,所述根据所述负载数据计算执行与所述缓存更新消息对应的缓存更新任务的成功概率包括:
基于所述负载数据计算第二应用节点的资源空闲率,基于所述资源空闲率确定执行与所述缓存更新消息对应的缓存更新任务的成功概率。
4.根据权利要求1所述的方法,其特征在于,所述缓存更新消息包括应用的版本信息;所述将所述缓存更新消息转发至所述应用服务器,以使所述应用服务器将缓存更新消息分发至所关联的每个第二应用节点包括:
判断所述缓存更新消息中的版本信息是否与预存储的版本信息相同;
当版本信息相同时,将所述缓存更新消息转发至所述应用服务器。
5.一种分布式缓存方法,其特征在于,应用于第二应用节点,所述方法包括:
接收应用服务器分发的基于第一应用节点生成的目标更新消息;所述目标更新消息的确定包括:通过第一服务器根据缓存更新消息的时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理,并将目标更新消息分发至所述应用服务器;所述目标更新消息包括更新对象与时间戳;所述更新对象指以键值对存储于本地缓存中的键值;所述时间戳用于判断缓存更新消息的处理状态;第一应用节点和第二应用节点指将业务系统以分布式的形式部署于应用服务器时所生成的节点,且部署于应用服务器上的第一应用节点和第二应用节点都有多个,第一应用节点与第二应用节点共同构成一个业务系统的分布式节点;各第一应用节点和各第二应用节点都配置有本地缓存;所述接收应用服务器分发的基于第一应用节点生成的目标更新消息之前包括:以使第一服务器获取与所述应用服务器关联的所述第二应用节点在目标时段内上报的负载数据;根据所述负载数据计算执行与目标更新消息对应的缓存更新任务的成功概率;当所述成功概率大于阈值时,将所述目标更新消息转发至所述应用服务器;
当预设缓存池中已存在所述更新对象时,获取所述更新对象的更新时间,所述预设缓存池位于所述第二应用节点的本地缓存中;
在所述更新时间晚于所述时间戳时,暂停处理所述目标更新消息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述目标更新消息为批量数据更新消息时,获取预存储的数据库标识;
根据所述数据库标识生成对应的数据读取请求;所述数据读取请求用于从数据库中对应读取目标数据;
接收从所述数据库中读取的目标数据;
将所述目标数据覆盖更新本地缓存。
7.一种分布式缓存系统,其特征在于,包括:缓存管理中心、多个应用服务器以及每个所述应用服务器关联的第一应用节点和第二应用节点;
所述第一应用节点,用于当本地缓存中的数据发生更新时,根据第一应用节点的节点标识以及更新数据生成缓存更新消息;所述缓存更新消息包括时间戳;根据所述时间戳,将第一时间顺序的缓存更新消息标记为目标更新消息,对其他时间顺序的缓存更新消息进行暂缓处理;
所述缓存管理中心,用于基于第一应用节点的节点标识与应用服务器标识的对应关系,查询与节点标识对应的应用服务器,获取与应用服务器关联的第二应用节点在目标时段内上报的负载数据;根据负载数据计算执行与目标更新消息对应的缓存更新任务的成功概率;当成功概率大于阈值时,将来自多个第一应用节点的目标更新消息转发至节点标识对应的应用服务器,所述应用服务器对应一个业务系统;
所述应用服务器用于将目标更新消息分发至所关联的每个第二应用节点;
所述第二应用节点用于根据目标更新消息对应更新本地缓存,第一应用节点和第二应用节点指将业务系统以分布式的形式部署于应用服务器时所生成的节点,且部署于应用服务器上的第一应用节点和第二应用节点都有多个,第一应用节点与第二应用节点共同构成一个业务系统的分布式节点;各第一应用节点和各第二应用节点都配置有本地缓存。
8.根据权利要求7所述的系统,其特征在于,所述应用服务器还用于将所述缓存更新消息分发至所关联的第一应用节点;
所述第一应用节点还用于,判断自生成所述缓存更新消息起预设时长内是否接收到所述应用服务器分发的同一缓存更新消息;当未接收到同一缓存更新消息时,判断与所述缓存管理中心是否通信异常;当与所述缓存管理中心通信正常时,向所述缓存管理中心重新发送所述缓存更新消息。
9.根据权利要求7所述的系统,其特征在于,所述第一应用节点中具有本地缓存平台;
所述本地缓存平台用于在接收到数据更新指令时,获取预存储的数据库标识;所述数据更新指令包括待更新数据的数据标识;根据所述数据标识以及所述数据库标识生成对应的数据读取请求;将所述数据读取请求下发至与所述数据库标识相对应的数据库;接收所述数据库基于所述数据标识返回的更新数据;将所述更新数据覆盖缓存至所述本地缓存。
10.根据权利要求7所述的系统,其特征在于,所述本地缓存中具有多个存储区域;所述第一应用节点还用于当存储区域中的数据发生批量更新时,获取所述存储区域的区域标识以及批量更新数据的数据标识;根据所述区域标识以及数据标识生成缓存更新消息;所述第二应用节点还用于将基于缓存更新消息从数据库拉取出的更新数据覆盖更新至与区域标识对应的存储区域中。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法 的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310813.XA CN111159233B (zh) | 2019-12-18 | 2019-12-18 | 分布式缓存方法、系统、计算机设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911310813.XA CN111159233B (zh) | 2019-12-18 | 2019-12-18 | 分布式缓存方法、系统、计算机设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159233A CN111159233A (zh) | 2020-05-15 |
CN111159233B true CN111159233B (zh) | 2024-03-08 |
Family
ID=70557775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911310813.XA Active CN111159233B (zh) | 2019-12-18 | 2019-12-18 | 分布式缓存方法、系统、计算机设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159233B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559632A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的状态同步方法、装置、电子设备及介质 |
CN115314718B (zh) * | 2021-05-07 | 2023-07-14 | 北京字节跳动网络技术有限公司 | 一种直播数据处理方法、装置、设备及介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246612A (zh) * | 2012-02-13 | 2013-08-14 | 阿里巴巴集团控股有限公司 | 一种数据缓存的方法及装置 |
CN106302827A (zh) * | 2016-10-25 | 2017-01-04 | 聚好看科技股份有限公司 | 基于分布式系统的通信方法、设备及分布式系统 |
CN106888233A (zh) * | 2015-12-15 | 2017-06-23 | 北京新媒传信科技有限公司 | 数据更新系统及方法 |
CN107018170A (zh) * | 2016-10-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和设备 |
CN107832163A (zh) * | 2017-11-29 | 2018-03-23 | 努比亚技术有限公司 | 一种缓存更新方法、服务器及计算机可读存储介质 |
CN107948318A (zh) * | 2017-12-27 | 2018-04-20 | 世纪龙信息网络有限责任公司 | 多节点间的缓存同步方法和系统 |
CN108073684A (zh) * | 2017-11-16 | 2018-05-25 | 深圳市买买提信息科技有限公司 | 一种数据处理方法、服务器及计算机可读存储介质 |
CN108696581A (zh) * | 2018-05-07 | 2018-10-23 | 上海智臻智能网络科技股份有限公司 | 分布式信息的缓存方法、装置、计算机设备以及存储介质 |
CN108829713A (zh) * | 2018-05-04 | 2018-11-16 | 华为技术有限公司 | 分布式缓存系统、缓存同步方法和装置 |
CN110245153A (zh) * | 2019-05-20 | 2019-09-17 | 平安银行股份有限公司 | 产品数据处理方法、系统、计算机设备和存储介质 |
CN110413418A (zh) * | 2019-06-25 | 2019-11-05 | 北京三快在线科技有限公司 | 缓存同步装置及方法,缓存同步系统、电子设备 |
-
2019
- 2019-12-18 CN CN201911310813.XA patent/CN111159233B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246612A (zh) * | 2012-02-13 | 2013-08-14 | 阿里巴巴集团控股有限公司 | 一种数据缓存的方法及装置 |
CN106888233A (zh) * | 2015-12-15 | 2017-06-23 | 北京新媒传信科技有限公司 | 数据更新系统及方法 |
CN106302827A (zh) * | 2016-10-25 | 2017-01-04 | 聚好看科技股份有限公司 | 基于分布式系统的通信方法、设备及分布式系统 |
CN107018170A (zh) * | 2016-10-27 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据同步方法和设备 |
CN108073684A (zh) * | 2017-11-16 | 2018-05-25 | 深圳市买买提信息科技有限公司 | 一种数据处理方法、服务器及计算机可读存储介质 |
CN107832163A (zh) * | 2017-11-29 | 2018-03-23 | 努比亚技术有限公司 | 一种缓存更新方法、服务器及计算机可读存储介质 |
CN107948318A (zh) * | 2017-12-27 | 2018-04-20 | 世纪龙信息网络有限责任公司 | 多节点间的缓存同步方法和系统 |
CN108829713A (zh) * | 2018-05-04 | 2018-11-16 | 华为技术有限公司 | 分布式缓存系统、缓存同步方法和装置 |
CN108696581A (zh) * | 2018-05-07 | 2018-10-23 | 上海智臻智能网络科技股份有限公司 | 分布式信息的缓存方法、装置、计算机设备以及存储介质 |
CN110245153A (zh) * | 2019-05-20 | 2019-09-17 | 平安银行股份有限公司 | 产品数据处理方法、系统、计算机设备和存储介质 |
CN110413418A (zh) * | 2019-06-25 | 2019-11-05 | 北京三快在线科技有限公司 | 缓存同步装置及方法,缓存同步系统、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111159233A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109064345B (zh) | 消息处理方法、系统以及计算机可读存储介质 | |
CN110719318B (zh) | 消息处理方法和系统 | |
CN108683668B (zh) | 内容分发网络中的资源校验方法、装置、存储介质及设备 | |
US8069224B2 (en) | Method, equipment and system for resource acquisition | |
CN108446172B (zh) | 数据调取方法、装置、计算机设备和存储介质 | |
CN108834086B (zh) | 短信发送的方法、装置、计算机设备和存储介质 | |
WO2020151181A1 (zh) | 基于区块链的跨平台数据更新方法、装置和计算机设备 | |
CN110334126B (zh) | 基于Spring MVC的定时任务处理方法、装置和计算机设备 | |
CN109361525B (zh) | 重启分布式部署多服务的方法、装置、控制终端及介质 | |
CN111125175B (zh) | 业务数据的查询方法和装置、存储介质、电子装置 | |
CN111475376B (zh) | 处理测试数据的方法、装置、计算机设备和存储介质 | |
CN111221469B (zh) | 同步缓存数据的方法、装置和系统 | |
CN111159233B (zh) | 分布式缓存方法、系统、计算机设备以及存储介质 | |
CN113094430B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN113127732A (zh) | 业务数据的获取方法、装置、计算机设备和存储介质 | |
CN108763046B (zh) | 线程运行监控方法、装置、计算机设备和存储介质 | |
CN111371585A (zh) | 用于cdn节点的配置方法及装置 | |
CN113660538B (zh) | 直播推流回源方法及系统 | |
CN108376154B (zh) | 系统基表同步方法、装置、计算机设备和存储介质 | |
CN113268540A (zh) | 一种数据同步的方法及装置 | |
CN111382976B (zh) | 预警数据处理方法、装置、计算机设备和存储介质 | |
CN112865927B (zh) | 消息送达验证方法、装置、计算机设备和存储介质 | |
CN105893150B (zh) | 接口调用频度控制、接口调用请求处理方法及装置 | |
CN112070585A (zh) | 订单状态统一管理方法、装置、计算机设备和存储介质 | |
US10185735B2 (en) | Distributed database system and a non-transitory computer readable medium |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |