一种基于网络的Redis持久化方法技术

技术编号:27108694 阅读:9 留言:0更新日期:2021-01-25 19:01
本发明专利技术特别涉及一种基于网络的Redis持久化方法。该基于网络的Redis持久化方法,在Redis所在宿主机上配置需要备份的Redis基本信息和目的对象存储的对应信息,Redis的备份文件不再直接在本地生成备份文件,通过流传输的方式进行持久化操作。该基于网络的Redis持久化方法,基于网络,直接将备份文件通过流传输方式传入目的对象存储中,有效解决了备份文件占用本地内存的问题,不需要造成本地资源浪费,留出更多资源给Redis数据,而且采用本地数据与备份文件物理分离,大幅度提高了容灾性。大幅度提高了容灾性。大幅度提高了容灾性。

【技术实现步骤摘要】
一种基于网络的Redis持久化方法


[0001]本专利技术涉及云计算与数据库
,特别涉及一种基于网络的Redis持久化方法。

技术介绍

[0002]Redis作为一种非关系型内存数据库,具有性能高、数据类型丰富、数据持久化等特点,被广泛的用于各个互联网工程中。
[0003]随着Redis技术的逐步兴起与大规模使用,特别是Redis集群的飞速发展,无论单机版Redis、官方提供的Redis集群还是其他Redis集群,都会产生大量的数据,而大量数据的产生是前进的动力,更是无可比拟的价值。而数据传输中,会产生一些列数据安全问题,其中数据丢失是最需要避免的。
[0004]为了避免不必要的损失,数据备份的地位显而易见,且存储容量是一个极为关键的因素。Redis服务产生的数据量庞大繁多,如何选择备份的方式和硬件也是必不可少的问题。并且随着近年来云计算概念的兴起,Redis逐渐被迁移到云计算平台,成为云数据库,那么如何处理云上数据的备份也变得尤为重要。
[0005]然而官方的方案在备份方式方面还存在一些显著的问题,官方Redis集群有AOF与RDB两种不同备份方式,但是生成的备份文件都是生成在本地指定的路径下,在大规模集群与大量数据的压力下,本地硬盘容量也很难容纳占用存储大小与Redis集群成正相关的备份文件,甚至占满资源根据备份策略丢失数据,而且这种方式的物理容灾性基本为零,在大规模集群与大量数据的压力下,备份方案有以下缺陷:
[0006](1)备份文件大小与节点数据大小正相关,备份文件在本地硬盘白占用多一倍硬盘;
[0007](2)由于备份文件与原始数据在同一虚机或服务器,所以容灾性基本为零。
[0008]如何解决这些问题成为了为用户提供更具有灵活存储和提高容灾性的一个难题。基于此,本专利技术提出了一种基于网络的Redis持久化方法。

技术实现思路

[0009]本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于网络的Redis持久化方法。
[0010]本专利技术是通过如下技术方案实现的:
[0011]一种基于网络的Redis持久化方法,其特征在于:在Redis所在宿主机上配置需要备份的Redis基本信息和目的对象存储的对应信息,Redis的备份文件不再直接在本地生成备份文件,通过流传输的方式进行持久化操作。
[0012]包括以下过程:
[0013](1)、以备份程序为程序中心,在配置文件中写入需要的配置,中心程序去配置文件中读取配置,并在取到配置后直接连接Redis服务,对Redis客户端发送sync命令进行备
份请求;
[0014](2)、对于对象存储,准备好对象存储的endpoint、access key、secret key、存储桶名称以及自定义标志信息;
[0015](3)、在RDB文件传输回来时,直接将文件转换成数据流,组装S3请求头后请求S3对象存储,进行云备份落盘。
[0016]所述步骤(1)中,在配置文件中写入的需要的配置包括源Redis的模式,Redis ip,Redis端口与Redis密码,其中Redis的模式为单机或集群。
[0017]当Redis的模式为集群时,不需要对所以节点逐个进行操作,只需要写入其中一个节点的信息,在其中一个节点进行操作,将type配置为集群模式,即可交由备份程序对整个集群进行完成云备份,从而完成Redis集群备份。
[0018]当Redis的模式为集群时,集群每个节点负责一部分哈希槽;为了避免数据错位,备份文件名称根据哈希槽进行命名。
[0019]所述哈希槽总数为16384个。
[0020]当Redis的模式为单机时,先利用S3相关配置去请求S3对象存储进行备份文件的下载,然后在备份程序接受的同时请求Redis服务,连接Redis客户端后即可把文件直接还原至Redis数据库中。
[0021]当Redis的模式为集群时,先利用S3相关配置去请求S3对象存储进行备份文件的下载,同时请求Redis服务,连接Redis客户端后,按照哈希槽对应还原至Redis数据库中即可。
[0022]本专利技术的有益效果是:该基于网络的Redis持久化方法,基于网络,直接将备份文件通过流传输方式传入目的对象存储中,有效解决了备份文件占用本地内存的问题,不需要造成本地资源浪费,留出更多资源给Redis数据,而且采用本地数据与备份文件物理分离,大幅度提高了容灾性。
附图说明
[0023]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0024]附图1为备份程序备份原理示意图。
[0025]附图2为本专利技术备份程序备份单机版Redis至对象存储原理示意图。
[0026]附图3为本专利技术备份程序备份Redis集群至对象存储原理示意图。
[0027]附图4为本专利技术备份程序还原Redis备份文件至单机版Redis数据库原理示意图。
[0028]附图5为本专利技术备份程序还原Redis备份文件至集群版Redis数据库原理示意图。
具体实施方式
[0029]为了使本
的人员更好的理解本专利技术中的技术方案,下面将结合本专利技术实施例,对本专利技术实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员
在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0030]已有备份程序可以对单节点Redis与Redis集群进行主动备份,其备份原理为:备份程序模拟一个从节点加入源Redis(集群),进行拉取并接收RDB,分析RDB文件在指定路径下生成备份文件,如附图1所示。
[0031]该基于网络的Redis持久化方法,在Redis所在宿主机上配置需要备份的Redis基本信息和目的对象存储的对应信息,Redis的备份文件不再直接在本地生成备份文件,通过流传输的方式进行持久化操作。
[0032]包括以下过程:
[0033](1)、以备份程序为程序中心,在配置文件中写入需要的配置,中心程序去配置文件中读取配置,并在取到配置后直接连接Redis服务,对Redis客户端发送sync命令进行备份请求;
[0034](2)、对于对象存储,准备好对象存储的endpoint、access key、secret key、存储桶名称以及自定义标志信息;
[0035](3)、在RDB文件传输回来时,直接将文件转换成数据流,组装S3请求头后请求S3对象存储,进行云备份落盘。
[0036]所述步骤(1)中,在配置文件中写入的需要的配置包括源Redis的模式,Redis ip,Re本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于网络的Redis持久化方法,其特征在于:在Redis所在宿主机上配置需要备份的Redis基本信息和目的对象存储的对应信息,Redis的备份文件不再直接在本地生成备份文件,通过流传输的方式进行持久化操作。2.根据权利要求1所述的基于网络的Redis持久化方法,其特征在于:包括以下过程:(1)、以备份程序为程序中心,在配置文件中写入需要的配置,中心程序去配置文件中读取配置,并在取到配置后直接连接Redis服务,对Redis客户端发送sync命令进行备份请求;(2)、对于对象存储,准备好对象存储的endpoint、access key、secret key、存储桶名称以及自定义标志信息;(3)、在RDB文件传输回来时,直接将文件转换成数据流,组装S3请求头后请求S3对象存储,进行云备份落盘。3.根据权利要求2所述的基于网络的Redis持久化方法,其特征在于:所述步骤(1)中,在配置文件中写入的需要的配置包括源Redis的模式,Redis ip,Redis端口与Redis密码,其中Redis的模式为单机或集群。4.根据权利要求2所述的基于网络的Redis持久化方法,其特征在于:当...

【专利技术属性】
技术研发人员:颜亮赵山刘津孙思清高传集
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1