基于Redis的数据读写方法、装置、电子设备及介质与流程

文档序号:34825155发布日期:2023-07-20 07:37阅读:33来源:国知局
基于Redis的数据读写方法、装置、电子设备及介质与流程

本发明涉及计算机,尤其涉及一种基于redis的数据读写方法、装置、电子设备及介质。


背景技术:

1、金融领域it设施通常对数据库服务的一致性和高可用特性要求较高,随着移动互联网、金融科技产业的发展,对高并发场景数据库性能的要求日益提升。金融业务广泛采用的主流关系型数据库,如mysql、oracle等,在可用性、一致性方面有较好的支持,但越来越无法满足金融业务数据读写服务对高性能、高可用、一致性的综合性需求。

2、高并发业务场景广泛使用redis等nosql数据库。原生redis数据库得益于内存数据库、io多路复用等特性具有非常优秀的处理性能,但其在数据一致性、高可用性方面无法完全胜任金融业务的需求。

3、在高可用性方面,以redis sentinel架构为例,redis sentinel架构虽然具备故障发现、故障转移机制,使得该架构具备了一定的高可用性。但redis sentinel架构默认配置使得sentinel节点对数据节点执行主动下线的判定时间较长,导致故障转移行为时效性差,进而使得数据库系统层面不可用时间较大,无法满足金融业务数据读写服务的高可用性要求。


技术实现思路

1、针对现有技术存在的问题,本发明实施例提供一种基于redis的数据读写方法、装置、电子设备及介质。

2、本发明提供一种基于redis的数据读写方法,包括:

3、基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数;

4、基于优化后的目标参数,接收客户端发送的数据处理请求;所述数据处理请求包括以下至少一项:写入请求或读取请求;

5、响应所述数据处理请求,进行对应的数据处理。

6、在一些实施例中,所述基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数,包括:

7、基于所述网络时延值,确定目标时延值;

8、在所述目标时延值小于或等于第一预设值的情况下,将所述第一预设值确定为所述目标参数的值;

9、在所述目标时延值大于所述第一预设值,并小于或等于第二预设值的情况下,将所述目标时延值确定为所述目标参数的值;

10、在所述目标时延值大于所述第二预设值的情况下,将所述第二预设值确定为所述目标参数的值;

11、所述第一预设值小于所述第二预设值。

12、在一些实施例中,所述基于优化后的目标参数,接收客户端发送的数据处理请求之后,还包括:

13、在所述数据处理请求为写入请求,并且所述写入请求失败的情况下,基于所述网络时延值,确定所述客户端的休眠时长;

14、所述休眠时长为所述客户端再次发送所述写入请求的时间间隔。

15、在一些实施例中,所述基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数之后,还包括:

16、将所述所有节点中数据主节点的持久化方式设置为aof持久化。

17、在一些实施例中,所述响应所述数据处理请求,进行对应的数据处理,包括:

18、在所述数据处理请求为写入请求的情况下,基于所述所有节点中数据节点的第一数量,确定第二数量;所述数据节点包括数据主节点和数据从节点;

19、在确定第二数量数据从节点进行数据复制完成的情况下,响应所述写入请求,进行数据写入。

20、在一些实施例中,所述休眠时长为所述网络时延值对应的平均值的两倍。

21、本发明还提供一种基于redis的数据读写装置,包括:

22、优化模块,用于基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数;

23、接收模块,用于基于优化后的目标参数,接收客户端发送的数据处理请求;所述数据处理请求包括以下至少一项:写入请求或读取请求;

24、处理模块,用于响应所述数据处理请求,进行对应的数据处理。

25、在一些实施例中,所述优化模块,具体用于:

26、基于所述网络时延值,确定目标时延值;

27、在所述目标时延值小于或等于第一预设值的情况下,将所述第一预设值确定为所述目标参数的值;

28、在所述目标时延值大于所述第一预设值,并小于或等于第二预设值的情况下,将所述目标时延值确定为所述目标参数的值;

29、在所述目标时延值大于所述第二预设值的情况下,将所述第二预设值确定为所述目标参数的值;

30、所述第一预设值小于所述第二预设值。

31、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于redis的数据读写方法。

32、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于redis的数据读写方法。

33、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于redis的数据读写方法。

34、本发明提供的基于redis的数据读写方法、装置、电子设备及介质,根据所有节点的网络时延值来优化哨兵节点的目标参数,从而可以优化哨兵节点对其它节点的主观下线判定时效,进而加快和优化redis sentinel架构故障发现和故障转移过程,实现数据库层面高可用,从而提高了数据读写的可用性。



技术特征:

1.一种基于redis的数据读写方法,其特征在于,包括:

2.根据权利要求1所述的基于redis的数据读写方法,其特征在于,所述基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数,包括:

3.根据权利要求1所述的基于redis的数据读写方法,其特征在于,所述基于优化后的目标参数,接收客户端发送的数据处理请求之后,还包括:

4.根据权利要求1所述的基于redis的数据读写方法,其特征在于,所述基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数之后,还包括:

5.根据权利要求4所述的基于redis的数据读写方法,其特征在于,所述响应所述数据处理请求,进行对应的数据处理,包括:

6.根据权利要求3所述的基于redis的数据读写方法,其特征在于,所述休眠时长为所述网络时延值对应的平均值的两倍。

7.一种基于redis的数据读写装置,其特征在于,包括:

8.根据权利要求7所述的基于redis的数据读写装置,其特征在于,所述优化模块,具体用于:

9.一种电子设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述基于redis的数据读写方法。

10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述基于redis的数据读写方法。


技术总结
本发明提供一种基于Redis的数据读写方法、装置、电子设备及介质,涉及计算机技术领域,所述方法包括:基于所有节点的网络时延值,优化所述所有节点中哨兵节点的目标参数;基于优化后的目标参数,接收客户端发送的数据处理请求;所述数据处理请求包括以下至少一项:写入请求或读取请求;响应所述数据处理请求,进行对应的数据处理。本发明提供的基于Redis的数据读写方法,根据所有节点的网络时延值来优化哨兵节点的目标参数,从而可以优化哨兵节点对其它节点的主观下线判定时效,进而加快和优化Redis Sentinel架构故障发现和故障转移过程,实现数据库层面高可用,从而提高了数据读写的可用性。

技术研发人员:魏鑫,王剑,周利峰,宋真
受保护的技术使用者:成方金融科技有限公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1