全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211341670.0 (22)申请日 2022.10.31 (71)申请人 之江实验室 地址 311121 浙江省杭州市余杭区之江实 验室南湖总部 (72)发明人 王培磊 张汝云 邹涛 李顺斌  黄培龙  (74)专利代理 机构 北京志霖恒远知识产权代理 有限公司 1 1435 专利代理师 戴莉 (51)Int.Cl. G06F 16/21(2019.01) G06F 16/27(2019.01) (54)发明名称 一种redis数据库动态冗余部署方法和装置 (57)摘要 本发明公开了一种redis数据库动态冗余部 署方法和装置, redi s数据库的冗余部署, 增大了 整个系统的广义鲁棒性, 符合内生安全领域的拟 态架构。 同时, 本发明创新性地采用旁路监听和 热切换的方式, 打破了传统的动态冗余架构需要 将输入输 出代理嵌入到系统内部的局限性, 使 得 针对redis数据库的异构冗余部署过程对原系统 的影响接近了理论上的最小值。 并且基于旁路监 听和热切换的动态冗余部署, 使得各个模块与原 系统之间的进程实现完全解耦, 既有利于开发、 调试、 部署和整机测试, 也提高了整个系统设计 和部署的灵活性, 从而 使得成本也更加可控。 权利要求书1页 说明书6页 附图2页 CN 115408371 A 2022.11.29 CN 115408371 A 1.一种redis数据库动态冗余部署方法, 其特征在于: 所述redis数据库动态冗余部署 包括输入输出代理、 裁决器和redis服务器, 所述redis服务器包括一个系统服务器和两个 以上的并行服 务器, 所述方法具体包括如下步骤: S1、 用户通过客户端与所述redis服务器中的系统服务器建立连接, 所述输入输出代理 监听客户端与系统服 务器之间的连接端口, 获取系统服 务器与客户端之间的交 互信息; S2、 所述输入输出代理将获取到的交 互信息同步到并行服 务器当中; S3、 当所述输入输出代理从交互信息中检测到数据读取类指令时, 从redis服务器中执 行读取指令, 并将 读取到的数据发送给裁决模块进行裁决; S4、 所述输入输出代理根据裁决模块的裁决结果和切换策略, 决定是否对系统服务器 进行热切换, 所述热切换为将并行服务器的信息切换到系统服务器中, 所述服务器的信息 包括数据信息和状态信息 。 2.如权利要求1所述的一种redis数据库动态冗余部署方法, 其特征在于, 所述动态冗 余包括同构动态冗余和异构动态冗余。 3.如权利要求1所述的一种redis数据库动态冗余部署方法, 其特征在于, 步骤S1中所 述输入输出代理采用基于操作系统内核中的TCP抓包API实现监听客户端与系统服务器之 间的连接端口。 4.如权利要求1所述的一种redis数据库动态冗余部署方法, 其特征在于, 所述步骤S2 具体包括如下步骤: S21、 输入输出代理中维护一个白名单, 根据所述白名单提取需要进行同步的信息, 所 述信息包括以resp协议的方式进行封装的redis指令; S22、 输入输出代理作为 客户端与并行服 务器建立连接; S23、 输入输出代理通过客户端, 将以resp协议的方式进行封装的redis命令转发给所 述并行服 务器, 完成同步过程。 5.如权利要求1所述的一种redis数据库动态冗余部署方法, 其特征在于, 所述步骤S4 中所述切换策略采用信用分机制, 具体操作如下: 当系统服务器信用分低于 设定值时, 从并 行服务器中选择信用分最高的一个, 将所述信用分最高的一个并行服务器中的数据和状态 信息切换到系统服 务器当中。 6.如权利要求1所述的一种redis数据库动态冗余部署方法, 其特征在于, 所述步骤S4 中所述热切换基于主从数据库复制来实现, 具体包括以下步骤: S41、 所述输入输出代理通过redis  api, 使得当前运行的系统服务器成为并行服务器 中信用分最高的服 务器的从服 务器; S42、 系统服 务器从所述信用分最高的并行服 务器中复制数据; S43、 复制完成后, 所述输入输出代理通过redis  api, 使得当前运行的系统服务器从从 服务器模式切换回独立的服 务器模式运行。 7.一种redis数据库动态冗余部署装置, 其特征在于, 包括存储器和一个或多个处理 器, 所述存储器中存储有 可执行代码, 所述一个或多个处理器执行所述可执行代码时, 用于 实现权利要求1 ‑6中任一项所述的redis数据库动态冗余部署方法。 8.一种计算机可读存储介质, 其特征在于, 其上存储有程序, 该程序被处理器执行时, 实现权利要求1 ‑6中任一项所述的redis数据库动态冗余部署方法。权 利 要 求 书 1/1 页 2 CN 115408371 A 2一种redis数据库动态冗余部署方 法和装置 技术领域 [0001]本发明涉及内生安全数据库技术领域, 特别涉及一种redis数据库动态冗余部署 方法和装置 。 背景技术 [0002]当前redis数据库技术广 泛应用在众多领域当 中, 例如网络操作系统SONiC就是基 于redis数据库构建起来, 但当前对redis数据库的应用往往是基于已有的开源项目, 数据 库的安全性难以保证, 针对未知风险的抵御能力也存在欠 缺。 发明内容 [0003]本发明的目的在于提供一种redis数据库动态冗余部署方法和装置, 以克服现有 技术中的不足。 [0004]为实现上述目的, 本发明提供如下技 术方案: 本申请公开了一种redis数据库动态冗余部署方法, 所述redis数据库动态冗余部 署包括输入输出代理、 裁 决器和redis服务器, 所述redis服务器包括一个系统服务器和两 个以上的并行服 务器, 所述方法具体包括如下步骤: S1、 用户通过客户端与所述redis服务器中的系统服务器建立连接, 所述输入输出 代理监听客户端与系统服务器之间的连接端口, 获取系统服务器与客户端之间的交互信 息; S2、 所述输入输出代理将获取到的交 互信息同步到并行服 务器当中; S3、 当所述输入输出代理从交互信息中检测到数据读取类指令时, 从redis服务器 中执行读取指令, 并将 读取到的数据发送给裁决模块进行裁决; S4、 所述输入输出代理根据裁决模块的裁决结果和切换策略, 决定是否对系统服 务器进行热切换, 所述热切换为将并行服务器的信息切换到系统服务器中, 所述服务器的 信息包括数据信息和状态信息 。 [0005]作为优选, 所述动态冗余包括同构动态冗余和异构动态冗余。 [0006]作为优选, 步骤S1中所述输入输出代理采用基于操作系统内核中的TCP 抓包API实 现监听客户端与系统服 务器之间的连接端口。 [0007]作为优选, 所述 步骤S2具体包括如下步骤: S21、 输入输出代理中维护一个白名单, 根据所述白名单提取需要进行同步的信 息, 所述信息包括以resp协议的方式进行封装的redis指令; S22、 输入输出代理作为 客户端与并行服 务器建立连接; S23、 输入输出代理通过客户端, 将以resp协议的方式进行封装的redis命令转发 给所述并行服 务器, 完成同步过程。 [0008]作为优选, 所述步骤S 4中所述切换策略采用信用分机制, 具体操作如下: 当系统服 务器信用分低于设定值时, 从并行服务器中选择信用分最高的一个, 将所述信用分最高的说 明 书 1/6 页 3 CN 115408371 A 3

.PDF文档 专利 一种redis数据库动态冗余部署方法和装置

文档预览
中文文档 10 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共10页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种redis数据库动态冗余部署方法和装置 第 1 页 专利 一种redis数据库动态冗余部署方法和装置 第 2 页 专利 一种redis数据库动态冗余部署方法和装置 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:48:12上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。