[發明專利]一種基于VPP的七層負載均衡服務器及負載均衡方法有效
| 申請號: | 202110744288.3 | 申請日: | 2021-06-30 |
| 公開(公告)號: | CN113489775B | 公開(公告)日: | 2023-07-21 |
| 發明(設計)人: | 詹晉川;張嘯宇;周志遠;張帆 | 申請(專利權)人: | 深圳市風云實業有限公司 |
| 主分類號: | H04L67/1001 | 分類號: | H04L67/1001;H04L69/22;H04L67/14;H04L69/30;H04L69/32;G06F9/50 |
| 代理公司: | 北京正華智誠專利代理事務所(普通合伙) 11870 | 代理人: | 李夢蝶 |
| 地址: | 518040 廣東省深圳市福田區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 vpp 負載 均衡 服務器 方法 | ||
1.一種基于VPP的七層負載均衡服務器負載均衡方法,其特征在于,包括如下步驟:
S1、初始化VPP;
S2、利用步驟S1初始化后的VPP獲取報文并通過VPP默認轉發流程將報文發送給協議棧;
S3、當報文被協議棧處理后,通過VPP向七層負載均衡應用發送建立事件通知,并將報文的負載存入會話對應的FIFO緩存中;
S4、創建代理會話并對FIFO緩存中的報文的負載進行七層解析,獲取其中的會話鍵值,判斷所獲取的會話是否存在會話保持表項,若是則分配其對應的實服務,否則分配一個新的實服務;
S5、將報文的負載轉發給實服務,根據實服務的回復依次尋找對應的代理會話和客戶端,并將最終的回復報文發送至客戶端。
2.根據權利要求1所述的一種基于VPP的七層負載均衡服務器負載均衡方法,其特征在于,所述步驟S1具體包括:
S11、使能VPP的會話管理功能;
S12、向VPP添加負載均衡的服務配置;
S13、根據步驟S12添加的服務配置創建七層負載均衡應用,并注冊連接響應以及報文處理的回調函數;
S14、根據步驟S13建立的七層負載均衡應用添加轉發表項。
3.根據權利要求2所述的一種基于VPP的七層負載均衡服務器負載均衡方法,其特征在于,所述步驟S12中服務配置包括虛服務配置和實服務配置,其中,添加虛服務配置時執行如下操作:
S121、分配虛服務內存并賦值,同時為虛服務分配會話保持表;
S122、分配并初始化新建流表,并在其中填入各實服務的索引;
S123、添加虛服務對應的本地路由表項到VPP轉發流程,并標記為本地類型;
添加實服務配置時執行如下操作:
S121、分配實服務內存并賦值;
S122、尋找實服務對應的虛服務,并更新虛服務的新建流表。
4.根據權利要求3所述的一種基于VPP的七層負載均衡服務器負載均衡方法,其特征在于,所述步驟S4具體包括:
S41、將FIFO中的報文的負載作為七層協議的頭部進行解析,并等待頭部全部解析完成;
S42、檢查經步驟S41解析后的報文的負載是否存在與實服務的連接,若存在,則直接取出后端連接并將報文的內容轉發給實服務;若不存在,則根據配置和報文特征檢查客戶端是否已發起過連接且存在會話保持;
S43、當VPP與實服務的連接建立成功后,將該連接記錄于代理會話中,并轉發收到的報文內容給實服務。
5.根據權利要求4所述的一種基于VPP的七層負載均衡服務器負載均衡方法,其特征在于,所述步驟S42中根據配置和報文特征檢查客戶端是否已發起過連接且存在會話保持的具體方式為:
S421、若已存在會話保持,則直接將新的客戶端連接使用原會話的實服務;
S422、若不存在會話,則重新根據配置及報文特征將客戶端會話綁定至任意可用的實服務,并根據配置決定是否隨機生成一個哈希值作為該會話保持鍵值;
S423、通知VPP向步驟S422分配的實服務發起連接。
6.根據權利要求5所述的一種基于VPP的七層負載均衡服務器負載均衡方法,其特征在于,所述步驟S5中根據實服務的回復依次尋找對應的代理會話和客戶端具體包括:
S51、當VPP收到實服務的回復后,對報文進行七層解析并直至解析完成;
S52、當回復報文中存在會話保持鍵值時,提取字段作為會話保持的鍵值;當回復報文中不存在會話時,則使用步驟S432生成的哈希值作為會話保持鍵值插入到回復報文中;
S53、根據與實服務的連接找到代理會話,通過代理會話找到客戶端的連接并將回復報文發送給客戶端。
7.一種基于權利要求1-6任一項控制方法的七層負載均衡服務器,其特征在于,包括負載均衡管理模塊、七層負載均衡應用、VPP轉發節點和協議棧;
其中,所述負載均衡管理模塊用于對七層負載均衡應用進行配置命令同事對VPP轉發進行修改;
所述七層負載均衡應用用于對報文的負載均衡進行解析以及會話保持;
所述VPP轉發節點用于接收來自客戶端和實服務的報文,并檢查其目的地址是否是虛服務或自身的地址,若是則將報文上交給協議棧進一步處理;
所述協議棧用于對客戶端和實服務的報文進行傳輸層協議處理,傳遞報文負載給七層負載均衡應用,為七層負載均衡應用的負載封裝并發送,通知監聽虛服務端口的七層負載均衡應用連接建立事件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市風云實業有限公司,未經深圳市風云實業有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110744288.3/1.html,轉載請聲明來源鉆瓜專利網。





