[发明专利]一种Redis集群获取可访问IP地址的方法在审
申请号: | 202010037828.X | 申请日: | 2020-01-14 |
公开(公告)号: | CN111245943A | 公开(公告)日: | 2020-06-05 |
发明(设计)人: | 刘金伟;赵山;许晓笛;刘津;张哲铭 | 申请(专利权)人: | 山东汇贸电子口岸有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/741 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜明 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 redis 集群 获取 访问 ip 地址 方法 | ||
本发明公开了一种Redis集群获取可访问IP地址的方法,属于云计算技术领域。本发明的Redis集群获取可访问IP地址的方法,Redis集群的重定向由数据实际所在的节点处理,不由接受指令节点处理,包括Redis集群节点响应客户端的过程和Redis集群节点处理查新指令的过程。该发明的Redis集群获取可访问IP地址的方法客户端不需要进行额外的开发能够正确的重定向到可访问地址,即能够有效解决多层网络中的IP地址映射问题,具有很好的推广应用价值。
技术领域
本发明涉及云计算技术领域,具体提供一种Redis集群获取可访问IP地址的方法。
背景技术
随着Redis的逐步兴起与大规模使用,单机Redis无论从存储容量、计算压力和带宽上都已经受制于硬件技术的发展,即使市面上最高规格硬件存储和带宽也难以满足几百GB甚至TB级的应用场景,因此Redis集群应运而生,它无论从扩展能力上还是数据承载能力上都是大规模Redis应用场景的最佳解决方案。虽然市面上有很多Redis集群方案,但是无论从支持上还是设计方面官方的集群方案都是十分优秀的,然而官方的方案在具有多层网络的环境中存在一个显著的重定向问题,当节点跨网关或者集群整体在2层以上的网络中的时候,返回的地址有时候对客户端来说是不可直接访问的,这就要求Redis集群和客户端必须部署在同一个网络平面上,并且客户端想要在多层网络中进行重连,需要通过预先存储数据来查询可连接的IP地址,如何解决这些问题成为了为用户提供更具有通用性服务的一个难题。
发明内容
本发明的技术任务是针对上述存在的问题,提供一种客户端不需要进行额外的开发能够正确的重定向到可访问地址,即能够有效解决多层网络中的IP地址映射问题,并且当数据节点地址发生变更时能够快速响应的Redis集群获取可访问IP地址的方法。
为实现上述目的,本发明提供了如下技术方案:
一种Redis集群获取可访问IP地址的方法,该方法中,Redis集群的重定向由数据实际所在的节点处理,不由接受指令节点处理,包括Redis集群节点响应客户端的过程和Redis集群节点处理查新指令的过程。
作为优选,所述Redis集群节点响应客户端的过程具体包括以下步骤:
S1、Redis集群节点收到命令数据,计算Key的校验码;
S2、判断数据是否在当前节点,若是,则执行步骤S3,否则执行步骤S4;
S3、返回数据,并执行步骤S6;
S4、向实际节点发送查询客户端网络平面的连接IP地址和端口;
S5、获得节点连接地址返回给客户端;
S6、结束。
Redis集群节点收到命令数据,首选计算key的校验码,然后根据集群的分片数据计算出,数据存在于哪个节点,如果数据刚好存在当前节点则直接返回结果,否则向实际节点发送查询客户端网络平面的连接IP地址和端口,节点查询到地址后将数据返回给客户端,客户端进行进一步操作。
作为优选,所述Redis集群节点处理查新指令的过程包括以下步骤:
S7、Redis集群收到查询地址指令,解析出客户端地址;
S8、使用路由跟踪获取连接路径上的网关地址;
S9、根据开放路由表遍历所有网关上的路由表;
S10、将查询到数据节点上的出口IP地址和端口返回给发送指令的客户端。
作为优选,步骤S1中,Redis集群节点收到查询或修改命令数据,计算Key的校验码CRC。
作为优选,步骤S4中,发送查询节点连接指令并发送客户端信息到数据所在节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东汇贸电子口岸有限公司,未经山东汇贸电子口岸有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010037828.X/2.html,转载请声明来源钻瓜专利网。