[發(fā)明專利]大規(guī)模事務負載生成與數(shù)據(jù)庫隔離級別正確性驗證系統(tǒng)及方法有效
| 申請?zhí)枺?/td> | 202011595904.5 | 申請日: | 2020-12-29 |
| 公開(公告)號: | CN112632105B | 公開(公告)日: | 2021-09-10 |
| 發(fā)明(設計)人: | 張蓉;李可強;李宇明 | 申請(專利權)人: | 華東師范大學 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242;G06F11/36 |
| 代理公司: | 上海德禾翰通律師事務所 31319 | 代理人: | 夏思秋 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 大規(guī)模 事務 負載 生成 數(shù)據(jù)庫 隔離 級別 正確性 驗證 系統(tǒng) 方法 | ||
本發(fā)明提供了一種大規(guī)模事務負載生成與數(shù)據(jù)庫隔離級別正確性驗證系統(tǒng),包括:隨機數(shù)據(jù)庫模式生成器、測試數(shù)據(jù)庫生成器、隨機事務負載生成器、測試負載執(zhí)行器、日志分析器;其中,所述隨機數(shù)據(jù)庫模式生成器和所述測試數(shù)據(jù)庫生成器服務于隨機測試數(shù)據(jù)庫的生成;所述隨機測試數(shù)據(jù)庫生成包括:數(shù)據(jù)庫模式的生成和數(shù)據(jù)庫實例的生成;所述隨機事務負載生成器和所述測試負載執(zhí)行器負責隨機測試負載的生成和加載;所述日志分析器通過針對異象和異常的檢測以及讀結果集的正確性驗證,給出正確性分析報告。基于以上系統(tǒng),本發(fā)明還提出了一種大規(guī)模事務負載生成與數(shù)據(jù)庫隔離級別正確性驗證方法。
技術領域
本發(fā)明屬于計算機技術領域,涉及一種大規(guī)模事務負載生成與數(shù)據(jù)庫隔離級別正確性驗證系統(tǒng)及方法。
背景技術
數(shù)據(jù)庫管理系統(tǒng)作為重要的基礎軟件,廣泛應用于金融、通訊、電商等領域的關鍵應用中。近年來,互聯(lián)網(wǎng)的快速發(fā)展催生了大量的新型應用。在新應用的驅(qū)動下,數(shù)據(jù)庫系統(tǒng)得到了快速的發(fā)展。本世紀初興起了NoSQL數(shù)據(jù)庫,如今NewSQL數(shù)據(jù)庫扮演著越來越重要的角色,目前知名的數(shù)據(jù)庫系統(tǒng)已超過300個[1]。此外,伴隨著新硬件的發(fā)展,數(shù)據(jù)庫系統(tǒng)的設計有了更多的選擇,系統(tǒng)架構也在不斷地重構。快速迭代的新系統(tǒng)對數(shù)據(jù)庫系統(tǒng)的質(zhì)量管理帶來了新的挑戰(zhàn)。
各種類型的測試是數(shù)據(jù)庫系統(tǒng)質(zhì)量的重要保證。例如,功能測試可以驗證系統(tǒng)功能是否與設計文檔一致;性能測試可以驗證系統(tǒng)性能是否滿足實際應用需求;分布式系統(tǒng)測試可以驗證系統(tǒng)在分布式環(huán)境下的高可用特性是否符合預期。但由于數(shù)據(jù)庫系統(tǒng)的復雜性和人工測試的高昂代價,目前數(shù)據(jù)庫系統(tǒng)的測試案例是嚴重不足的,尤其是針對復雜事務負載的測試案例。為解決該問題,測試SQL隨機生成器是一個重要嘗試。
RAGS[2]是已知最早的測試SQL隨機生成器,主要服務于Microsoft SQL Server的測試工作。RAGS可以根據(jù)已有測試數(shù)據(jù)庫的Schema信息,生成大量滿足SQL語法的隨機測試負載,包含Select語句和Update語句。然后RAGS在多個數(shù)據(jù)庫系統(tǒng)中執(zhí)行測試負載,并通過逐行比對多個數(shù)據(jù)庫系統(tǒng)的返回結果集來判斷執(zhí)行結果的正確性。RAGS中的更新負載不支持高并發(fā)下的正確性驗證,生成的更新負載也僅是一些單行更新操作。QGEN[3]可以根據(jù)一組查詢模板快速生成大量可供多客戶端性能測試的查詢負載,TPC-DS[4]的查詢負載便由其生成。用戶可以指定查詢參數(shù)的隨機生成策略,比如生成參數(shù)值的數(shù)據(jù)分布。QGEN生成的測試SQL都是基于輸入的查詢模板,本身不能自動產(chǎn)生新的查詢模板,因此難以服務于測試案例的大規(guī)模自動化生成。
GARan[5]在生成隨機測試案例的過程中,根據(jù)測試案例在數(shù)據(jù)庫上的執(zhí)行反饋,利用遺傳算法生成更符合預期的測試案例,提高針對特定數(shù)據(jù)庫模塊的測試覆蓋率。GARan主要聚焦于數(shù)據(jù)庫的功能測試。TGTSG[6]是為DB2查詢優(yōu)化器的測試而設計的隨機SQL生成器。通過對查詢優(yōu)化器執(zhí)行軌跡的分析,TGTSG可獲得測試SQL的執(zhí)行反饋,然后利用遺傳算法不斷迭代以生成觸發(fā)特定優(yōu)化規(guī)則的測試SQL。
ADUSA[7]在生成隨機測試案例的同時,也生成相應的驗證結果集,無需利用人工或者已有數(shù)據(jù)庫系統(tǒng)給出驗證結果集。ADUSA的數(shù)據(jù)生成和負載生成都依賴于Alloy[8]工具,但是Alloy的復雜度過高,目前僅能支持小數(shù)據(jù)表上的測試負載生成。同時ADUSA支持的查詢負載類型也無法滿足實際測試的需求,比如分組、排序、外連接、like運算符、日期數(shù)據(jù)類型都不支持。工作[9][10]對ADUSA作了進一步的優(yōu)化,并將測試SQL的生成、測試數(shù)據(jù)的生成和驗證結果集的生成整合到一個自動化的測試框架之中,然而這兩個工作依然存在負載類型支持不足,無法支持大數(shù)據(jù)集測試的問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華東師范大學,未經(jīng)華東師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011595904.5/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





