一种基于saltstack的Redis键值管理系统及方法技术方案

技术编号:17265307 阅读:20 留言:0更新日期:2018-02-14 12:46
本发明专利技术公开了一种基于saltstack的Redis键值管理系统及方法,该系统包括管理节点、数据库节点和存储节点;数据库节点:运行Redis主从集群的节点;Redis主库和Redis从库服务器需要部署saltstack客户端;存储节点:存储Redis键值数据,便于进行Redis键值恢复操作,部署saltstack客户端;管理节点:存储Redis主从集群元信息、键值备份元信息、存储节点元信息和数据库节点元信息,部署Web应用服务和saltstack管理端;通过saltstack管理端发送相应的指令到存储节点的saltstack客户端,实现传输键值备份文件,从而简化备份和恢复操作。本发明专利技术支持单个或者多个键值的查看、备份、删除和恢复操作。操作简单,在平台界面填写少量信息,即可一键操作。操作安全可靠,提升工作效率,降低人工维护成本。

A saltstack based Redis key value management system and method

The invention discloses a saltstack Redis key management system and method based on the system, including database management node, and storage nodes; database node: node running Redis master-slave cluster; Redis library and Redis library from the main server to deploy saltstack client; storage node: Redis key data storage, convenient for the Redis key the recovery operation, the deployment of the saltstack client; the management node: storage cluster information, key element Redis master-slave backup information, storage node element information and database node meta information, the deployment of Web application service and saltstack management; saltstack management by sending the appropriate commands to the storage node of the saltstack client, realize the transmission of key backup files to to simplify the backup and recovery operations. The invention supports the view, backup, delete, and recovery operations of single or multiple key values. The operation is simple, and a small amount of information is filled in the platform interface. One key can be operated. The operation is safe and reliable, the work efficiency is improved, and the cost of artificial maintenance is reduced.

【技术实现步骤摘要】
一种基于saltstack的Redis键值管理系统及方法
本专利技术属于计算机
,应用于Redis数据库的应用场景,主要针对单个或者多个键值的查看、备份、删除和恢复等管理,简化操作流程,大大提升操作效率。
技术介绍
对于互联网公司而言,Redis数据库作为缓存和高性能存储方案,应用越来越广泛,由于业务不同,对Redis的操作需求也千差万别,对于单个或者多个键值的操作,也日渐增多,但是,现有Redis键值管理方案存在如下缺点:1)一般是针对所有键值的操作,对单个或者多个键值的支持不够有好。2)操作效率低下,需要较多的人力成本。3)操作风险较大,并且无法做到恢复。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于saltstack的Redis键值管理系统及方法,基于saltstack可以方便地获取到Redis主从集群的元信息,以及管理备份文件,方便备份和恢复操作。本专利技术的目的是通过以下技术方案来实现的:一种基于saltstack的Redis键值管理系统,该系统包括管理节点、数据库节点和存储节点;数据库节点:运行Redis主从集群的节点,每个Redis主从集群包括一个Redis主库和一个或者多个Redis从库;不同的Redis主从集群端口不同,同一个Redis主从集群的主库和从库端口一致;Redis主库和Redis从库服务器需要部署saltstack客户端,用于接收saltstack管理端发送的指令和完成相应的操作;将数据库节点的主机名和IP记录到数据库节点元信息中;存储节点:存储Redis键值数据,便于进行Redis键值恢复操作,存储节点需要部署saltstack客户端,用于接收saltstack管理端发送的指令和完成相应的操作;将存储节点的主机名、IP、存储路径记录到存储节点元信息中;管理节点:存储所有元信息,包括Redis主从集群元信息、键值备份元信息、存储节点元信息和数据库节点元信息;同时,在管理节点上部署Web应用服务和saltstack管理端;通过saltstack管理端发送相应的指令到数据库节点的saltstack客户端,可以收集Redis主从集群元信息;通过saltstack管理端发送相应的指令到存储节点的saltstack客户端,可以实现传输键值备份文件,从而简化备份和恢复操作;Web应用服务可以实现平台化管理,简化Redis键值管理。进一步地,所述管理节点包括平台化管理模块、元信息管理模块、键值查看模块、键值备份模块、键值删除模块、存储管理模块和键值恢复模块;所述平台化管理模块,需要传入参数为:端口号、键值名和键值类型;键值类型表示键值名的类型,包括前缀和全称两种,如果是前缀,表示键值名是某些键值的打头部分,如果是全称,表示键值名是一个具体的键值,默认类型是前缀;在管理节点上,部署Web应用服务,提供一个Web界面,提供查看、备份、删除和恢复四个选项,分别调用键值查看模块、键值备份模块、键值删除模块和键值恢复模块;所述元信息管理模块,需要传入参数为:数据库节点元信息、存储节点元信息;在管理节点上,通过saltstack接口,首先把所有的saltstack客户端注册到saltstack管理端,然后,获取到所有数据库节点上的Redis进程信息,得到每个Redis数据库端口号、密码,记录每个Redis数据库的端口号、IP、密码到Redis主从集群元信息中;在存储管理模块执行结束后,得到键值备份文件名,解析所述键值备份文件名得到Redis端口号、键值名和日期,记录所述端口号、键值名、键值备份文件名和日期到键值备份元信息;如果数据库节点或者存储节点发生变更,人工修改数据库节点元信息或者存储节点元信息;所述键值备份模块,需要传入的参数:端口号、键值名、键值类型;在管理节点上,部署PHP环境以及Redis驱动;根据传入的端口号查询Redis主从集群元信息,随机选择一个所述端口号相关的Redis数据库IP以及对应的密码,根据所述Redis数据库IP、端口号和密码,建立PHP和Redis的连接;根据传入的键值名、键值类型,进行键值匹配操作,实现指定键值的备份;本模块执行成功后,返回键值备份文件名;所述键值查看模块,需要传入的参数:端口号、键值名、键值类型;包括查看键值的个数以及部分键值,方便管理员了解键值名相关的信息;在管理节点上,根据所述端口号,查询所述Redis主从集群元信息,随机得到一个所述端口号对应的Redis数据库的IP和密码,建立PHP和Redis的连接,根据键值名、键值类型,执行如下操作:如果键值类型是全称,那么调用Redis自身接口SCAN,不需要设置模糊匹配参数*,返回执行结果即可,如果键值类型是前缀,调用Redis自身接口SCAN,需要设置模糊匹配参数*,同时调用系统函数COUNT(),计算所有匹配到的键值的数量,并且打印部分键值的名字;所述键值删除模块,需要传入的参数:端口号、键值名、键值类型;本模块执行之前,会自动调用键值备份模块,用于备份指定的键值,方便后续执行恢复键值操作;如果键值备份模块执行失败,本模块无法执行;否则,根据传入的端口号,查询Redis主从集群元信息,随机得到一个对应的Redis数据库的IP和密码,建立PHP和Redis的连接,获取Redis的role信息,如果是slave,调用Redis接口,获取Redis主库的IP,如果是master,直接执行下面的操作:如果键值类型是全称,那么调用Redis自身接口SCAN,不需要传入匹配参数*,对于匹配到的键值,调用Redis自身接口DEL,即可删除所述键值;如果键值类型是前缀,那么调用Redis自身接口SCAN,需要传入匹配参数*,针对匹配到的键值,调用Redis自身接口DEL,采用循环方式,逐个删除匹配到的所有键值。所述存储管理模块,需要传入的参数:存储节点元信息、键值备份文件名;根据存储节点元信息解析得到存储节点主机名和存储路径;在键值备份模块执行结束后,返回键值备份文件名,在管理节点上,调用saltstack接口,发送键值备份文件到存储节点上,根据键值备份文件名解析得到端口号、键值名和日期,然后把端口号、键值名、键值备份文件名和日期写入到键值备份元信息;所述键值恢复模块,需要传入的参数为:端口号、键值备份文件名;在管理节点上,扫描所述键值备份文件名,如果不存在,返回失败,表示不存在指定的备份文件,无法执行恢复操作,否则,根据所述端口号,查询Redis主从集群元信息,随机得到一个对应的Redis数据库的IP和密码,建立PHP与Redis的连接,调用Redis接口,查询role,如果role是slave,根据Redis接口获取maser的IP,恢复键值数据。一种基于saltstack的Redis键值管理方法,该方法包括以下步骤:(1)调用元信息管理模块,在管理节点上保存存储节点元信息、数据库节点元信息、Redis主从集群元信息和键值备份元信息;其中,存储节点元信息包括:存储节点的主机名、存储路径,如果存储节点发生变更,需要人工更新所述存储节点元信息;数据库节点元信息包括数据库节点主机名、IP以及存储路径,如果所述数据库节点发生变更,需要人工变更所述数据库节点元信息;Redis主从集群元信息包本文档来自技高网...
一种基于saltstack的Redis键值管理系统及方法

【技术保护点】
一种基于saltstack的Redis键值管理系统,其特征在于,该系统包括管理节点、数据库节点和存储节点;数据库节点:运行Redis主从集群的节点,每个Redis主从集群包括一个Redis主库和一个或者多个Redis从库;不同的Redis主从集群端口不同,同一个Redis主从集群的主库和从库端口一致;Redis主库和Redis从库服务器需要部署saltstack客户端,用于接收saltstack管理端发送的指令和完成相应的操作;将数据库节点的主机名和IP记录到数据库节点元信息中;存储节点:存储Redis键值数据,便于进行Redis键值恢复操作,存储节点需要部署saltstack客户端,用于接收saltstack管理端发送的指令和完成相应的操作;将存储节点的主机名、IP、存储路径记录到存储节点元信息中;管理节点:存储所有元信息,包括Redis主从集群元信息、键值备份元信息、存储节点元信息和数据库节点元信息;同时,在管理节点上部署Web应用服务和saltstack管理端;通过saltstack管理端发送相应的指令到数据库节点的saltstack客户端,可以收集Redis主从集群元信息;通过saltstack管理端发送相应的指令到存储节点的saltstack客户端,可以实现传输键值备份文件,从而简化备份和恢复操作;Web应用服务实现平台化管理,简化Redis键值管理。...

【技术特征摘要】
1.一种基于saltstack的Redis键值管理系统,其特征在于,该系统包括管理节点、数据库节点和存储节点;数据库节点:运行Redis主从集群的节点,每个Redis主从集群包括一个Redis主库和一个或者多个Redis从库;不同的Redis主从集群端口不同,同一个Redis主从集群的主库和从库端口一致;Redis主库和Redis从库服务器需要部署saltstack客户端,用于接收saltstack管理端发送的指令和完成相应的操作;将数据库节点的主机名和IP记录到数据库节点元信息中;存储节点:存储Redis键值数据,便于进行Redis键值恢复操作,存储节点需要部署saltstack客户端,用于接收saltstack管理端发送的指令和完成相应的操作;将存储节点的主机名、IP、存储路径记录到存储节点元信息中;管理节点:存储所有元信息,包括Redis主从集群元信息、键值备份元信息、存储节点元信息和数据库节点元信息;同时,在管理节点上部署Web应用服务和saltstack管理端;通过saltstack管理端发送相应的指令到数据库节点的saltstack客户端,可以收集Redis主从集群元信息;通过saltstack管理端发送相应的指令到存储节点的saltstack客户端,可以实现传输键值备份文件,从而简化备份和恢复操作;Web应用服务实现平台化管理,简化Redis键值管理。2.根据权利要求1所述的基于saltstack的Redis键值管理系统,其特征在于,所述管理节点包括平台化管理模块、元信息管理模块、键值查看模块、键值备份模块、键值删除模块、存储管理模块和键值恢复模块;所述平台化管理模块,需要传入参数为:端口号、键值名和键值类型;键值类型包括前缀和全称两种,如果是前缀,表示键值名是某些键值的打头部分;如果是全称,表示键值名是一个具体的键值,默认类型是前缀;在管理节点上,部署Web应用服务,提供一个Web界面,提供查看、备份、删除和恢复四个选项,分别调用键值查看模块、键值备份模块、键值删除模块和键值恢复模块;所述元信息管理模块,需要传入参数为:数据库节点元信息、存储节点元信息;在管理节点上,通过saltstack接口,首先把所有的saltstack客户端注册到saltstack管理端,然后,获取到所有数据库节点上的Redis进程信息,得到每个Redis数据库端口号、密码,记录每个Redis数据库的端口号、IP、密码到Redis主从集群元信息中;在存储管理模块执行结束后,得到键值备份文件名,解析所述键值备份文件名得到Redis端口号、键值名和日期,记录所述端口号、键值名、键值备份文件名和日期到键值备份元信息;如果数据库节点或者存储节点发生变更,人工修改数据库节点元信息或者存储节点元信息;所述键值备份模块,需要传入的参数:端口号、键值名、键值类型;在管理节点上,部署PHP环境以及Redis驱动;根据传入的端口号查询Redis主从集群元信息,随机选择一个所述端口号相关的Redis数据库IP以及对应的密码,根据所述Redis数据库IP、端口号和密码,建立PHP和Redis的连接;根据传入的键值名、键值类型,进行键值匹配操作,实现指定键值的备份;本模块执行成功后,返回键值备份文件名;所述键值查看模块,需要传入的参数:端口号、键值名、键值类型;包括查看键值的个数以及部分键值,方便管理员了解键值名相关的信息;在管理节点上,根据所述端口号,查询所述Redis主从集群元信息,随机得到一个所述端口号对应的Redis数据库的IP和密码,建立PHP和Redis的连接,根据键值名、键值类型,执行如下操作:如果键值类型是全称,那么调用Redis自身接口SCAN,不需要设置模糊匹配参数*,返回执行结果即可,如果键值类型是前缀,调用Redis自身接口SCAN,需要设置模糊匹配参数*,同时调用系统函数COUNT(),计算所有匹配到的键值的数量,并且打印部分键值的名字;所述键值删除模块,需要传入的参数:端口号、键值名、键值类型;本模块执行之前,自动调用键值备份模块,用于备份指定的键值,...

【专利技术属性】
技术研发人员:顾伟涛于伟
申请(专利权)人:杭州铭师堂教育科技发展有限公司
类型:发明
国别省市:浙江,33

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

1