数据存储的方法和装置制造方法及图纸

技术编号:39502631 阅读:8 留言:0更新日期:2023-11-24 11:33
本发明专利技术公开了一种数据存储的方法和装置,涉及计算机技术领域

【技术实现步骤摘要】
数据存储的方法和装置


[0001]本专利技术涉及计算机
,尤其涉及一种数据存储的方法和装置


技术介绍

[0002]现有业务中,缓存大多使用的
redis
数据库来实现

对于海量数据和较大系统集群的缓存数据,多是采用的单集群

多分片模式进行数据的缓存

[0003]在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
[0004]现在使用
redis
来进行数据缓存的方式,在
redis
集群整个挂掉的情况下无法实时切换集群,人工切换后也需要一定的时间去恢复数据,在这段时间内业务是受到影响的


技术实现思路

[0005]有鉴于此,本专利技术实施例提供一种数据存储的方法和装置,能够在
redis
集群整个挂掉的情况下进行集群的实时切换,且切换后无需花费时间来进行数据的同步恢复,保障了业务服务的正常运行,且系统可扩展

高可用

[0006]为实现上述目的,根据本专利技术实施例的一个方面,提供了一种数据存储的方法,包括:
[0007]响应于接收到数据写入请求,获取待存储数据的主集群和备份集群,所述写入请求包括请求标识,所述主集群具有同步标识状态;
[0008]根据所述同步标识状态和所述请求标识判断在进行数据写入时是否要进行所述主集群和所述备份集群的数据同步;
[0009]在需要进行数据同步的情况下,对所述写入请求加锁,根据所述写入请求将数据写入所述主集群,将所述主集群中写入的数据同步到所述备份集群中并释放锁

[0010]可选地,还包括:若获取主集群失败,则基于注册中心的选举机制选举一个主集群,并将所选举的主集群作为获取的主集群

[0011]可选地,还包括:在不需要进行数据同步的情况下,根据所述写入请求分别将数据写入所述主集群和所述备份集群

[0012]可选地,根据所述写入请求将数据写入所述备份集群,包括:另起一个新线程,在所述新线程中获取所述备份集群,并根据所述写入请求将数据写入所述备份集群

[0013]可选地,还包括:若将所述数据写入所述主集群失败

将所述数据写入所述备份集群失败或获取所述备份集群失败,则将所述请求标识保存到异常请求列表中;以及,定时查询所述异常请求列表,若所述异常请求列表中有请求标识且可获取所有备份集群,则将所述异常请求列表中的请求标识进行特定处理后保存到所述主集群中,并将所述主集群的同步标识状态设置为需要进行数据同步

[0014]可选地,根据所述同步标识状态和所述请求标识判断在进行数据写入时是否要进行所述主集群和所述备份集群的数据同步,包括:根据所述同步标识状态判断是否需要进行所述主集群和所述备份集群的数据同步;若是,则将所述请求标识进行所述特定处理后
得到特定请求标识,并判断所述主集群中是否保存有所述特定请求标识;若是,则在进行数据写入时需要进行所述主集群和所述备份集群的数据同步;否则,在进行数据写入时不需要进行数据同步

[0015]可选地,在将所述主集群中写入的数据同步到所述备份集群中之后,还包括:从所述异常请求列表中删除所述请求标识,并从所述主集群中删除所述特定请求标识

[0016]可选地,所述特定处理包括:为所述请求标识添加异常请求标记

为所述请求标识添加预设前缀或为所述请求标识添加预设后缀

[0017]可选地,还包括:定时查询所述异常请求列表,若所述异常请求列表中有存储时长超过设定阈值的请求标识,则在可获取所述备份集群的情况下,直接进行所述存储时长超过设定阈值的请求标识对应的写入请求的数据同步

[0018]可选地,还包括:响应于接收到数据查询请求,获取所述主集群和所述备份集群,所述查询请求包括第一请求标识;根据所述同步标识状态和所述第一请求标识判断在进行数据查询时是否要进行所述主集群和所述备份集群的数据同步;在需要进行数据同步的情况下,将根据所述查询请求从所述主集群中查询到的数据同步到所述备份集群中

[0019]根据本专利技术实施例的另一方面,提供了一种数据存储的装置,包括:
[0020]集群获取模块,用于响应于接收到数据写入请求,获取待存储数据的主集群和备份集群,所述写入请求包括请求标识,所述主集群具有同步标识状态;
[0021]同步判断模块,用于根据所述同步标识状态和所述请求标识判断在进行数据写入时是否要进行所述主集群和所述备份集群的数据同步;
[0022]同步存储模块,用于在需要进行数据同步的情况下,对所述写入请求加锁,根据所述写入请求将数据写入所述主集群,将所述主集群中写入的数据同步到所述备份集群中并释放锁

[0023]根据本专利技术实施例的又一方面,提供了一种数据存储的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例所提供的数据存储的方法

[0024]根据本专利技术实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例所提供的数据存储的方法

[0025]上述专利技术中的一个实施例具有如下优点或有益效果:通过响应于接收到数据写入请求,获取待存储数据的主集群和备份集群,写入请求包括请求标识,主集群具有同步标识状态;根据同步标识状态和请求标识判断在进行数据写入时是否要进行主集群和备份集群的数据同步;在需要进行数据同步的情况下,对写入请求加锁,根据写入请求将数据写入主集群,将主集群中写入的数据同步到备份集群中并释放锁的技术方案,可以在数据写入时进行数据同步,从而便于在
redis
集群整个挂掉的情况下进行集群的实时切换,且切换后无需花费时间来进行数据的同步恢复,保障了业务服务的正常运行,且系统可扩展

高可用

[0026]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明

附图说明
[0027]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定

其中:
[0028]图1是根据本专利技术实施例的数据存储的方法的主要步骤示意图;
[0029]图2是本专利技术实施例的数据存储系统的逻辑架构图;
[0030]图3是本专利技术实施例的定时任务1的实现流程示意图;
[0031]图4是本专利技术实施例的定时任务2的实现流程示意图;
[0032]图5是本专利技术实施例的数据同步判定流程图;
[0033]图6是本专利技术实施例的数据写入流程示意图;
[0034]图7是本专利技术实施例的数据查询流程示本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据存储的方法,其特征在于,包括:响应于接收到数据写入请求,获取待存储数据的主集群和备份集群,所述写入请求包括请求标识,所述主集群具有同步标识状态;根据所述同步标识状态和所述请求标识判断在进行数据写入时是否要进行所述主集群和所述备份集群的数据同步;在需要进行数据同步的情况下,对所述写入请求加锁,根据所述写入请求将数据写入所述主集群,将所述主集群中写入的数据同步到所述备份集群中并释放锁
。2.
根据权利要求1所述的方法,其特征在于,还包括:若获取主集群失败,则基于注册中心的选举机制选举一个主集群,并将所选举的主集群作为获取的主集群
。3.
根据权利要求1所述的方法,其特征在于,还包括:在不需要进行数据同步的情况下,根据所述写入请求分别将数据写入所述主集群和所述备份集群
。4.
根据权利要求3所述的方法,其特征在于,根据所述写入请求将数据写入所述备份集群,包括:另起一个新线程,在所述新线程中获取所述备份集群,并根据所述写入请求将数据写入所述备份集群
。5.
根据权利要求
1、3
或4所述的方法,其特征在于,还包括:若将所述数据写入所述主集群失败

将所述数据写入所述备份集群失败或获取所述备份集群失败,则将所述请求标识保存到异常请求列表中;以及,定时查询所述异常请求列表,若所述异常请求列表中有请求标识且可获取所有备份集群,则将所述异常请求列表中的请求标识进行特定处理后保存到所述主集群中,并将所述主集群的同步标识状态设置为需要进行数据同步
。6.
根据权利要求5所述的方法,其特征在于,根据所述同步标识状态和所述请求标识判断在进行数据写入时是否要进行所述主集群和所述备份集群的数据同步,包括:根据所述同步标识状态判断是否需要进行所述主集群和所述备份集群的数据同步;若是,则将所述请求标识进行所述特定处理后得到特定请求标识,并判断所述主集群中是否保存有所述特定请求标识;若是,则在进行数据写入时需要进行所述主集群和所述备份集群的数据同步;否则,在进行数据写入时不需要进行数据同步
。7.
根据权利要求6所述的方法,...

【专利技术属性】
技术研发人员:张少笛
申请(专利权)人:北京京东拓先科技有限公司
类型:发明
国别省市:

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

1