一种数据一致性的维护方法与装置制造方法及图纸

技术编号:23024970 阅读:14 留言:0更新日期:2020-01-03 16:52
本发明专利技术公开了一种数据一致性的维护方法与装置,包括:将更新的复用数据写入主缓存中并置为更改态;响应于确定主缓存中的复用数据为更改态,而使主缓存将复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;响应于确定数据库存储了复用数据,而将主缓存中的复用数据置为最新态;响应于工作设备访问二级缓存并且二级缓存中的复用数据为无效态,而读取主缓存中的复用数据的状态;响应于读取到主缓存中的复用数据为最新态,而使用主缓存中的复用数据覆盖二级缓存中的复用数据并置为有效态。本发明专利技术能够在分布式数据采集场景下以足够低的成本来维持复用数据的高度数据一致性。

A maintenance method and device for data consistency

【技术实现步骤摘要】
一种数据一致性的维护方法与装置
本专利技术涉及数据库领域,更具体地,特别是指一种数据一致性的维护方法与装置。
技术介绍
随着互联网的飞速发展,云计算逐渐被行业认可,数据中心的规模逐渐扩大。数据中心服务器的数量成千上万,这给平时的运维管理带来和很大的难度。对于数据中心的运维管理,监控是基础,在监控的过程中大规模的服务器数据采集是核心的基础。单节点的采集已经无法满足大规模的数据采集,这要求数据采集架构具备横向无限扩展的能力,也就是具备分布式的能力。分布式解决了横向扩展的能力,但对于数据一致性突出了很大挑战。现有技术的分布式的缓存一致性维护方法,如哈希一致性算法和缓存失效方式在分布式数据采集的场景下其成本是无法承受的。针对现有技术中缺乏在分布式场景可用的缓存一致性维护手段的问题,目前尚未有有效的解决方案。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提出一种数据一致性的维护方法与装置,能够在分布式数据采集场景下以足够低的成本来维持复用数据的高度数据一致性,降低了对缓存服务器和网络整体的请求和压力。基于上述目的,本专利技术实施例的第一方面提供了一种数据一致性的维护方法,包括:将更新的复用数据写入主缓存中并置为更改态;响应于确定主缓存中的复用数据为更改态,而使主缓存将复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;响应于确定数据库存储了复用数据,而将主缓存中的复用数据置为最新态;响应于工作设备访问二级缓存并且二级缓存中的复用数据为无效态,而读取主缓存中的复用数据的状态;响应于读取到主缓存中的复用数据为最新态,而使用主缓存中的复用数据覆盖二级缓存中的复用数据并置为有效态。在一些实施方式中,存在多个二级缓存;将二级缓存中的复用数据置为无效态包括:将每个二级缓存中的复用数据均置为无效态。在一些实施方式中,存在多个工作设备,每个工作设备均连接到一个与之对应的二级缓存,每个工作设备配置为在需要使用复用数据时访问与之对应的二级缓存来获取工作所需的复用数据。在一些实施方式中,还包括:响应于工作设备访问二级缓存并且二级缓存中的复用数据为有效态,而将二级缓存中的复用数据提供给工作设备。在一些实施方式中,响应于读取到主缓存中的复用数据为最新态,而使用主缓存中的复用数据覆盖二级缓存中的复用数据并置为有效态还包括:同时将二级缓存中的复用数据提供给工作设备。在一些实施方式中,还包括:响应于读取到主缓存中的复用数据为更改态,而直接将二级缓存中处于无效态的复用数据提供给工作设备。在一些实施方式中,复用数据包括由客户端更新的采集规则,工作设备包括采集器。在一些实施方式中,采集规则为包括以下至少之一的参数的多元值:采集指标名称、采集指标频率、采集指标处理规则、通知规则、缓存状态。本专利技术实施例的第二方面提供了一种数据一致性的维护装置,包括:更新模块,用于将更新的复用数据写入主缓存中并置为更改态;预传递模块,用于响应于确定主缓存中的复用数据为更改态,而使主缓存将复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;落盘模块,用于响应于确定数据库存储了复用数据,而将主缓存中的复用数据置为最新态;触发模块,用于响应于工作设备访问二级缓存并且二级缓存中的复用数据为无效态,而读取主缓存中的复用数据的状态;覆盖模块,用于响应于读取到主缓存中的复用数据为最新态,而使用主缓存中的复用数据覆盖二级缓存中的复用数据并置为有效态。本专利技术实施例的第三方面提供了一种缓存服务器,包括:处理器;和存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行上述的数据一致性的维护方法。本专利技术具有以下有益技术效果:本专利技术实施例提供的数据一致性的维护方法与装置,通过将更新的复用数据写入主缓存中并置为更改态;响应于确定主缓存中的复用数据为更改态,而使主缓存将复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;响应于确定数据库存储了复用数据,而将主缓存中的复用数据置为最新态;响应于工作设备访问二级缓存并且二级缓存中的复用数据为无效态,而读取主缓存中的复用数据的状态;响应于读取到主缓存中的复用数据为最新态,而使用主缓存中的复用数据覆盖二级缓存中的复用数据并置为有效态的技术方案,能够在分布式数据采集场景下以足够低的成本来维持复用数据的高度数据一致性,降低了对缓存服务器和网络整体的请求和压力。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的数据一致性的维护方法的流程示意图;图2为本专利技术提供的数据一致性的维护方法的一个实施例。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。基于上述目的,本专利技术实施例的第一个方面,提出了一种能够在分布式数据采集场景下以足够低的成本来维持复用数据的高度数据一致性的方法的一个实施例。图1示出的是本专利技术提供的数据一致性的维护方法的流程示意图。所述数据一致性的维护方法,如图1所示,包括:步骤S101:将更新的复用数据写入主缓存中并置为更改态;步骤S103:响应于确定主缓存中的复用数据为更改态,而使主缓存将复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;步骤S105:响应于确定数据库并存储了复用数据,而将主缓存中的复用数据置为最新态;步骤S107:响应于工作设备访问二级缓存并且二级缓存中的复用数据为无效态,而读取主缓存中的复用数据的状态;步骤S109:响应于读取到主缓存中的复用数据为最新态,而使用主缓存中的复用数据覆盖二级缓存中的复用数据并置为有效态。本专利技术实施例充分考虑复用数据的使用场景,采用独立主缓存及多个二级缓存(多个二级缓存会存在相同缓存数据对象)的两级结构,同时采用对缓存数据对象四种状态的维护保障了数据的时效性、一致性。现有技术的分布式缓存一致性都是通过独立的缓存服务器通过维护独立数据同时通过哈希一致性保证缓存数据的命中,不但增加了维护成本,且对缓存的时效和失效上大部分采用各种算法维护,而本专利技术实施例在不增加独立缓存服务器的同时保证数据采集对于采集规则高性能要求的缓存方式,同时通过缓存数据状态的控制保障了数据一致性,以及提高了数据准确的时效性;同时采用有用则存的策略保障缓存数据的生命周期维护,减少了对缓存服务器的维护及使用同时采用数据多本文档来自技高网...

【技术保护点】
1.一种数据一致性的维护方法,其特征在于,包括以下步骤:/n将更新的复用数据写入主缓存中并置为更改态;/n响应于确定所述主缓存中的所述复用数据为更改态,而使所述主缓存将所述复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;/n响应于确定所述数据库存储了所述复用数据,而将所述主缓存中的所述复用数据置为最新态;/n响应于工作设备访问所述二级缓存并且所述二级缓存中的所述复用数据为无效态,而读取所述主缓存中的所述复用数据的状态;/n响应于读取到所述主缓存中的所述复用数据为最新态,而使用所述主缓存中的所述复用数据覆盖所述二级缓存中的所述复用数据并置为有效态。/n

【技术特征摘要】
1.一种数据一致性的维护方法,其特征在于,包括以下步骤:
将更新的复用数据写入主缓存中并置为更改态;
响应于确定所述主缓存中的所述复用数据为更改态,而使所述主缓存将所述复用数据发送到数据库、并将二级缓存中的过时的复用数据置为无效态;
响应于确定所述数据库存储了所述复用数据,而将所述主缓存中的所述复用数据置为最新态;
响应于工作设备访问所述二级缓存并且所述二级缓存中的所述复用数据为无效态,而读取所述主缓存中的所述复用数据的状态;
响应于读取到所述主缓存中的所述复用数据为最新态,而使用所述主缓存中的所述复用数据覆盖所述二级缓存中的所述复用数据并置为有效态。


2.根据权利要求1所述的方法,其特征在于,存在多个所述二级缓存;将所述二级缓存中的所述复用数据置为无效态包括:将每个所述二级缓存中的所述复用数据均置为无效态。


3.根据权利要求2所述的方法,其特征在于,存在多个所述工作设备,每个所述工作设备均连接到一个与之对应的所述二级缓存,每个所述工作设备配置为在需要使用所述复用数据时访问与之对应的所述二级缓存来获取工作所需的所述复用数据。


4.根据权利要求1所述的方法,其特征在于,还包括:响应于所述工作设备访问所述二级缓存并且所述二级缓存中的所述复用数据为有效态,而将所述二级缓存中的所述复用数据提供给所述工作设备。


5.根据权利要求1所述的方法,其特征在于,响应于读取到所述主缓存中的所述复用数据为最新态,而使用所述主缓存中的所述复用数据覆盖所述二级缓存中的所述复用数据并置为有效态还包括:同时将所述...

【专利技术属性】
技术研发人员:王晓通郭锋
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1