[發明專利]確定關系數據庫表關聯復雜度的方法和裝置有效
| 申請號: | 201610329065.X | 申請日: | 2016-05-18 |
| 公開(公告)號: | CN107402920B | 公開(公告)日: | 2020-02-07 |
| 發明(設計)人: | 許文靖 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F16/22 | 分類號: | G06F16/22 |
| 代理公司: | 11219 中原信達知識產權代理有限責任公司 | 代理人: | 姜勁;陸錦華 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 確定 關系 數據庫 關聯 復雜度 方法 裝置 | ||
本發明提供一種確定關系數據庫表關聯復雜度的方法和裝置,能夠根據基于關系數據庫應用系統的日志或配置文件得到應用系統的表關聯的復雜程度,不僅為應用系統的質量管理提供量化支持;也為應用系統的優化和質量管理提供客觀的決策依據。本發明的方法包括:獲取基于關系數據庫的應用系統的日志文件和/或配置文件,并對獲取的文件中的每條記錄做分詞以得到多個詞;根據預先保存的表數據詞典對每條記錄中的多個詞進行篩選以得到每條記錄的分詞序列;根據每一個所述分詞序列生成對應于該分詞序列的關聯指紋,再根據所得到的關聯指紋生成關聯圖數據結構;計算關聯圖數據結構的復雜度,以及將該關聯圖數據結構的復雜度作為關系數據庫表的關聯復雜度。
技術領域
本發明涉及計算機及其軟件技術領域,特別涉及一種確定關系數據庫表關聯復雜度的方法和裝置。
背景技術
基于關系數據庫的應用系統開發通常采用三層(數據訪問層,業務邏輯層和展示層)或多層(業務邏輯層拆分成多個子層)架構,其中數據訪問層主要承擔基本的數據訪問邏輯(增刪改查)。在實際應用中,基于關系數據庫的應用系統運行的時間越久,新增功能和漏洞修復的次數越多,SQL數據庫關聯就越多,數據訪問層的復雜度越來越高,系統就越難以維護。
可度量的才是可管理的,只有明確了SQL數據庫關聯復雜程度,才能夠及時識別到數據訪問層的可維護性惡化并找到改進方案。圈復雜度是一種代碼復雜度的衡量標準。在軟件測試的概念里,圈復雜度“用來衡量一個模塊判定結構的復雜程度,數量上表現為獨立線性路徑條數,即合理的預防錯誤所需測試的最少路徑條數,圈復雜度大說明程序代碼可能質量低且難于測試和維護,根據經驗,程序的可能錯誤和高的圈復雜度有著很大關系”。圈復雜度是以圖論為基礎的,通用的公式是V(G)=e–n+2,e代表在控制流圖中的邊的數量(對應代碼中順序結構的部分),n代表在控制流圖中的節點數量,包括起點和終點。
現有的復雜度計算方法雖然可用于解決程序復雜度度量的問題,但不能直接用于評估表關聯復雜度,無法提供數據庫表關聯復雜程度的量化結果,更無法對系統優化和質量管理提供客觀的決策依據。
發明內容
有鑒于此,本發明提供一種確定關系數據庫表關聯復雜度的方法和裝置,能夠根據基于關系數據庫應用系統的日志或配置文件中提取數據庫表的關聯指紋,并基于圈復雜度算法度量應用系統的表關聯的復雜程度,不僅為應用系統的質量管理提供量化支持,提供數據庫表關聯復雜程度的量化結果,提供數據庫表關聯復雜庫的定期報告;而且為應用系統的優化和質量管理提供客觀的決策依據。
為實現上述目的,根據本發明的一個方面,提供了一種確定關系數據庫表關聯復雜度的方法。
本發明的確定關系數據庫表關聯復雜度的方法包括:獲取基于關系數據庫的應用系統的日志文件和/或配置文件,并對獲取的文件中的每條記錄做分詞以得到多個詞;根據預先保存的表數據詞典對所述每條記錄中的所述多個詞進行篩選以得到每條記錄的分詞序列;所述表數據庫詞典包括數據庫表名和預設的語法關鍵詞;根據每一個所述分詞序列生成對應于該分詞序列的關聯指紋,再根據所得到的關聯指紋生成關聯圖數據結構;計算所述關聯圖數據結構的復雜度,以及將該關聯圖數據結構的復雜度作為所述關系數據庫表的關聯復雜度。
可選地,所述獲取系統中的日志文件和/或配置文件的步驟之前,還包括:獲取數據庫中的數據庫表名;將所述數據庫表名和預設的語法關鍵詞按照設定的格式進行保存以得到表數據詞典。
可選地,根據預先保存的表數據詞典對所述每條記錄中的詞進行篩選以得到每條記錄的分詞序列的步驟包括:將每條記錄中的詞與所述表數據詞典中的詞進行比對,將所有存在于所述表數據詞典中的詞作為該條記錄的分詞序列。
可選地,根據每一個分詞序列生成對應于該分詞序列的關聯指紋的步驟包括:查找分詞序列中的標示關聯開始的語法關鍵詞和標示關聯結束的語法關鍵詞;根據分詞序列每一對標示關聯開始的語法關鍵詞和標示關聯結束的語法關鍵詞之間的數據庫表名生成該分詞序列的關聯指紋。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610329065.X/2.html,轉載請聲明來源鉆瓜專利網。





