[發明專利]一種實現業務通用歷史數據管理的系統及其方法有效
| 申請號: | 202010061779.3 | 申請日: | 2020-01-20 |
| 公開(公告)號: | CN111274226B | 公開(公告)日: | 2023-05-12 |
| 發明(設計)人: | 王永利;武浩;姚金柱;董濤;王海燕 | 申請(專利權)人: | 西安百想科技有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21 |
| 代理公司: | 西安國兆智匯知識產權代理事務所(普通合伙) 61269 | 代理人: | 姬曉瑩 |
| 地址: | 710000 陜西省西安市高新區丈八街*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 實現 業務 通用 歷史 數據管理 系統 及其 方法 | ||
1.一種實現業務通用歷史數據管理的方法,其特征在于,包括以下步驟:
步驟1,業務組成管理,本步驟主要涉及以下內容:
定義基本實體對應的關鍵實體,一個業務對應到多個實體時,總有一個實體是基本實體的主要表達,和基本實體是1:1的關系,其他實體都可以和關鍵實體產生關聯關系;
定義關鍵實體的主鍵;
基本實體通過關鍵實體的主鍵進行關聯;
定義關鍵實體和其他實體的關聯關系,包括實體的對應關系以及關聯的字段;
定義關鍵實體的基于歷史版本的實體實例;關鍵實體實例定義包含關鍵實體名稱,關鍵實體實例編號,關鍵實體實例版本,關鍵實體實例生效時間、失效時間、有效狀態;
步驟2,歷史數據策略管理,本步驟具體做法是:
定義并管理業務基本實體的變化,是否影響業務關鍵實體的歷史數據存儲;
定義并管理業務基本實體的字段變化,是否影響業務關鍵實體的歷史數據存儲;
定義并管理業務基本實體的字段變化,是否影響業務基本實體的歷史數據存儲;
定義并管理業務基本實體變化對應的業務實體歷史數據存儲的版本號規則;
步驟3,歷史數據存儲,本步驟具體操作是:
當有業務請求時,服務端執行請求,如果業務執行需要進行數據操作,歷史數據存儲管理就攔截執行的SQL語句;在執行當前數據操作SQL的同時,對執行SQL進行分析,并結合業務實體組成、歷史數據策略判斷如何進行歷史數據的更新工作,分析完成后對歷史數據進行更新;本步驟具體做法是:
1)SQL執行攔截管理
當軟件系統的客戶端發起業務請求時,服務端對請求的業務進行執行處理,當業務執行需要進行數據操作時,在應用程序和數據庫之間的中間件對數據操作的SQL進行攔截,對執行SQL進行復制記錄,用于后續的歷史數據SQL分析;
2)當前數據操作SQL執行
對數據操作SQL進行復制存儲后,便放行當前SQL執行操作,完成系統對數據的操作,待數據庫返回數據操作執行結果后,記錄數據操作的執行狀態;當數據操作成功時,則僅需進行執行SQL分析,若操作實行失敗,數據回滾;則不在進行后續的執行SQL分析;
3)執行SQL分析
對之前攔截的執行SQL副本進行分析,分析出執行SQL將要影響的數據表,數據行及數據字段;
4)更新策略應用分析
通過執行SQL分析,得到數據操作以及對應的數據表、數據行、數據列;結合業務實體組成和歷史數據策略對本次數據操作是否需要記錄更新的歷史數據,以及記錄更新哪些具體的歷史進行分析輸出;
5)歷史數據更新
通過更新策略應用分析后,對業務實體的歷史數據進行更新,業務實體數據通過單數據表的方式進行存儲,因此數據更新通過和數據表歷史數據更新同樣的方法進行更新存儲;
6)數據表歷史數據存儲
數據表的數據存儲,通過區分當前庫和歷史庫的方式進行;當前庫中存儲所有當前正在使用的數據,即最新的數據,歷史庫中存儲所有的歷史數據,包括當前最新的數據;
步驟4,歷史數據查詢
在歷史數據存儲的基礎上,實現業務實體歷史數據的查詢方法,歷史數據查詢實現包括基于時間戳和基于版本的歷史數據查詢;
步驟5,歷史數據回滾
在歷史數據存儲及查詢的基礎上,實現業務實體歷史數據回滾;歷史數據回滾實現包括基于時間戳和基本版本的歷史數據回滾;歷史數據回滾的實現,同時考慮業務實體和基本業務實體的歷史數據回滾,并實現歷史數據回滾的記錄。
2.根據權利要求1所述的一種實現業務通用歷史數據管理的方法,其特征在于,所述的執行SQL分析,可通過以下兩種方式實現:
一、對執行SQL的SQL語句進行全面解析,過濾掉查詢SQL,對所有INSERT/UPDATE/DELETE操作都進行全面SQL語法和語義解析;分析出SQL將要操作的數據表、數據行、數據列;
二、對執行SQL的SQL語句進行過濾,濾掉查詢SQL,對INSERT/UPDATE/DELETE操作進行替換查詢分析,即將操作SQL的INSERT/UPDATE/DELETE替換為SELECT,并同時查詢出對應數據表的數據行,并對數據表和數據行進行緩存,在數據操作完成后,對緩存的數據表的對應數據行和歷史數據中的最新版本進行對比分析,從而識別出具體的數據變化。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安百想科技有限公司,未經西安百想科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010061779.3/1.html,轉載請聲明來源鉆瓜專利網。





