[發明專利]一種基于臨時表的多歸檔文件查詢方法有效
| 申請號: | 200810142224.0 | 申請日: | 2008-07-30 |
| 公開(公告)號: | CN101639839A | 公開(公告)日: | 2010-02-03 |
| 發明(設計)人: | 魯春懷 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 臨時 歸檔 文件 查詢 方法 | ||
1.一種基于臨時表的多歸檔文件查詢方法,其特征在于,所述方法包括以下步驟:
A、根據查詢要求,過濾出待查詢歸檔文件,所述查詢要求為用戶下發的查詢時間段;所述步驟A包括以下步驟:
A1、遍歷默認歸檔目錄下的所有歸檔文件;
A2、讀取每個歸檔文件的備注信息文件,得到每個歸檔文件記錄的時間段;
A3、比較獲得的時間段與所述查詢時間段,將滿足所述查詢時間段要求的歸檔文件過濾出來,作為待查詢歸檔文件;
B、估算出裝載所述歸檔文件需要的臨時數據庫的空間大小;若臨時數據庫的空間足夠,則執行步驟C,若所述臨時數據庫的空間不夠,則提示用戶改變所述查詢要求或擴展所述臨時數據庫的空間,并提供給用戶所需要的臨時數據庫空間的最小值作為擴容參考;
C、采用批量復制方式將待查詢歸檔文件中的記錄逐個恢復到所述臨時數據庫中的臨時表中,并使用兩級緩存機制來實現多次查詢之間以歸檔文件為單位的數據共享,所述兩級緩存機制指在臨時數據庫中創建兩類臨時表,一是在系統初始化時,為每種歷史數據類型在臨時數據庫中創建的一個和歸檔數據表同名同結構的公共臨時表,二是在查詢過程中動態創建的中間臨時表,若步驟B中得出臨時數據庫的空間足夠,則具體執行以下步驟:C1、判斷一公共臨時表中存放的記錄是否對應本次待查詢的所有歸檔文件,如果否,則執行步驟C2,如果是,則更新所有歸檔文件的裝載時間,本次裝載過程結束;
C2、判斷待查詢歸檔文件是否已裝載到臨時創建的中間臨時表中,如果否,則執行步驟C3,如果是,則更新該歸檔文件的裝載時間;
C3、采用批量復制方式將待查詢歸檔文件中的記錄恢復到臨時創建的中間臨時表中,記錄該歸檔文件和中間臨時表的對應關系,并設置歸檔文件的裝載時間;
C4、將所有中間臨時表中的歸檔文件導入所述公共臨時表中,并記錄歸檔文件和公共臨時表的對應關系;
D、根據查詢條件,從所述公共臨時表中獲取數據。
2.根據權利要求1所述的方法,其特征在于,所述步驟B中,所述估算過程按照以下步驟進行:
B1、計算出待查詢歸檔文件的記錄條數總和;
B2、從所述臨時數據庫中查詢出每兆空間可存放的記錄條數;
B3、按照下述公式計算裝載所述歸檔文件需要的臨時數據庫的空間大小,
其中,Q為所要計算的臨時數據庫的空間大小,M為所述步驟B1獲得的記錄條數總和,N為所述步驟B2獲得的每兆空間可存放的記錄條數,K為一至少大于2的比例系數。
3.根據權利要求1所述的方法,其特征在于,所述中間臨時表在查詢過程中動態創建,并且每種歷史數據類型對應至少一個中間臨時表。
4.根據權利要求1所述的方法,其特征在于,所述步驟C2還包括以下步驟:
若待查詢歸檔文件沒有裝載到中間臨時表中,則執行步驟C21;
C21、判斷臨時數據庫已使用空間是否達到門限值,如果是,則卸載掉裝載時間最早的歸檔文件,刪除該歸檔文件對應的中間臨時表,清空該歸檔文件對應的公共臨時表,并返回步驟C21;如果否,執行步驟C3。
5.根據權利要求1所述的方法,其特征在于,所述步驟C3和C4之間還包括以下步驟:
C31、判斷是否所有待查詢歸檔文件都已裝載完畢,
如果否,則返回至步驟C2;如果是,則清空公共臨時表,并執行步驟C4。
6.根據權利要求1所述的方法,其特征在于,所述步驟C3中,采用批量復制方式將待查詢歸檔文件中的記錄恢復到中間臨時表的過程,包括以下步驟:
C31、從數據庫系統表中獲取待查詢歸檔文件中歸檔數據表的字段信息;
C32、申請一個批量復制訪問接口對象,分配批量復制緩存,初始化相關參數,該相關參數中包括一次批量復制操作的記錄條數;
C33、讀取待查詢歸檔文件中歸檔數據文件的第一行,獲取參與歸檔的字段名,并申請字段緩存,將字段信息和批量復制訪問接口綁定起來;
C34、從待查詢歸檔文件中讀取一條記錄,解析各個字段,并存放在預先分配好的字段緩存中;
C35、將字段緩存中的各個字段值壓入數據庫的批量復制緩存中,當記錄條數達到設定的一次批量復制操作的記錄條數時,將批量復制緩存中的記錄提交入臨時數據庫;
C36、判斷待查詢歸檔文件是否讀取完畢,如果沒有,則返回至C34,否則,將批量復制緩存中最后一批記錄提交入臨時數據庫;
C37、釋放申請的字段緩存和批量復制訪問接口對象。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810142224.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:機動車輛的二維碼識別管理系統及其應用方法
- 下一篇:串行總線的接口電路





