[發明專利]一種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.szxzyx.cn/pat/books/202010037828.X/2.html,轉載請聲明來源鉆瓜專利網。





