[發明專利]基于SQL引擎的全鏈路壓測數據分流系統及方法在審
| 申請號: | 202210713695.2 | 申請日: | 2022-06-22 |
| 公開(公告)號: | CN115185989A | 公開(公告)日: | 2022-10-14 |
| 發明(設計)人: | 李瑞遠;姜俊;劉鈞文;王棚;陳超;張東霞;李文慧 | 申請(專利權)人: | 重慶大學 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/242;G06F16/2453 |
| 代理公司: | 重慶博凱知識產權代理有限公司 50212 | 代理人: | 黃河 |
| 地址: | 400044 *** | 國省代碼: | 重慶;50 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 sql 引擎 全鏈路壓測 數據 分流 系統 方法 | ||
本發明涉及全鏈路壓測技術領域,具體涉及基于SQL引擎的全鏈路壓測數據分流系統及方法,該系統包括解析器、配置管理器、路由器和執行器;解析器用于對接入流量的SQL語句進行解析,將SQL語句轉化為抽象語法樹;配置管理器用于設置配置文件,還用于解析配置文件得到配置信息,并將配置信息在內存中緩存起來供路由器使用;路由器用于根據配置信息和解析后的抽象語法樹,得到路由結果,所述路由結果的內容包括將SQL語句路由到底層對應的數據庫中。本申請在擴大適用范圍的同時,還有效的提升了全鏈路壓測的性能和效率。
技術領域
本發明涉及全鏈路壓測技術領域,具體涉及基于SQL引擎的全鏈路壓測數據分流系統及方法。
背景技術
全鏈路壓測作為一種新興的軟件測試技術,直接在生產系統中做壓力測試,旨在準確評估線上環境的性能。與常規的壓力測試相比,全鏈路測試不再單獨部署一套測試環境,而是直接在生產環境中,通過模擬海量用戶真實請求(例如通過流量回放技術基于真實用戶請求生成測試用例)對系統進行壓力測試。通過全鏈路壓測,不僅能夠減少部署成本,還能夠保證流量的真實性和環境的真實性,得出更可靠的壓測結論。
在生產環境中進行測試,最重要的是保證線上服務不受影響,其核心問題之一是保證生產數據不受到污染,即通過測試生成的數據應與真實的生產數據能夠區分開來。現有技術中,基于影子庫技術的數據分流技術能夠保證全鏈路壓測過程中生產數據不受測試污染。影子庫技術,即構建一個與生產庫完全相同的數據庫(稱為影子庫)用來存儲測試數據。生產庫是指生產環境中使用的數據庫,用于存儲生產數據。同一套生產環境系統可以對應多個不同的生產庫。影子庫是存儲測試數據的數據庫,與生產庫一一對應。影子庫與其對應的生產庫通常具有相同的表數量、表結構、表名字及其他的系統配置。影子庫中的表稱為影子表。影子庫技術的典型架構中,生產流量和測試流量同時流入生產環境系統中,生產環境系統執行一些業務處理后,在數據層將轉化成SQL(Structured Query Language)語句。在數據分流過程中,對SQL語句進行分析,通過影子算法判斷數據是測試數據還是生產數據后,將流量正確路由到生產庫或者影子庫中。目前,影子算法主要有兩類,基于列的影子算法和基于Hint的影子算法。其中,基于列的影子算法通過識別SQL中的數據,匹配路由至影子庫;基于Hint 的影子算法通過識別SQL中的注釋,匹配路由至影子庫。
然而,實現一個完整的數據分流系統存在以下挑戰:(1)系統復雜度高。不同的項目可能會用到不同的關系型數據庫系統(例如Oracle、MySQL、SQL Server等),不同數據庫系統的協議和方言不盡相同。此外,即使對于同一個數據庫系統,其SQL語句類型也是多種多樣的,包括簡單的選擇或插入操作,到復雜的聚合或者表關聯操作。要在同一個框架中支持所有這些關系型數據庫系統及不同類型SQL語句的數據分流極具挑戰。(2)分流標準多樣。不同的應用場景可能采用不同的數據分流標準。(3)透明性要求。增加數據分流后,要求現有的生產環境系統代碼無需做任何修改。(4)高效率要求。由于中間增加了一層路由選擇,需要盡可能減少路由帶來的性能損耗,保證全鏈路壓測結果的正確性。
近年來,各大互聯網公司積極構建全鏈路壓測平臺,例如美團點評的Quake、字節跳動的Rhino、京東的ForceBot、騰訊的WeTest、阿里的Amazon以及高德的TestPG等,但這些平臺關注整個壓測流程及其自身的業務邏輯上,對數據分流部分關注不多,且平臺均是閉源的,其他機構無法直接使用。而開源的Takin系統僅僅支持按照標記進行數據分流,并且采用網頁轉發的框架,效率受到了極大的影響。
發明內容
針對上述現有技術的不足,本發明提供了一種基于SQL引擎的全鏈路壓測分流系統及方法,在擴大適用范圍的同時,還有效的提升了全鏈路壓測的性能和效率。
為了解決上述技術問題,本發明采用了如下的技術方案:
基于SQL引擎的全鏈路壓測數據分流系統,包括解析器、配置管理器、路由器和執行器;
解析器用于對接入流量的SQL語句進行解析,將SQL語句轉化為抽象語法樹;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于重慶大學,未經重慶大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210713695.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種扒渣板融損檢測方法及系統
- 下一篇:一種測量變速箱離合系統效率的裝置





