新四季網

增長型資料庫的數據統計查詢系統及方法

2023-10-28 03:09:42 1

專利名稱:增長型資料庫的數據統計查詢系統及方法
技術領域:
本發明涉及計算機技術,尤其涉及增長型資料庫的數據統計查詢系統和方法。
背景技術:
隨著信息產業和信息技術的飛速發展,信息系統的資料庫中記錄和處理的數據量也呈現爆炸式的增長。在大量投入運營的增長型資料庫中,針對海量數據進行高速統計查詢的需求和壓力與日俱增。
現有技術中進行統計查詢的方法,通常是先從資料庫中查詢到符合查詢條件的數據,之後對這些數據進行統計計算,得到統計結果。例如,如圖I所示的數據表I中,需要統計出「設備號」為S的交換次數的總和,則需要先從數據表I中查詢到所有「設備號」為S的記錄,然後針對這些記錄中的「交換次數」值求和。在實際使用中為了加快查詢速度,現有技術通常會利用索引進行查詢。但是即使採用索引的方法進行查詢,也需要逐條找到每個符合查詢條件的記錄,並針對每個記錄中相應數據進行統計運算。
本發明的發明人注意到在增長型資料庫中,數據由於固有的業務特點,極少發生變更,往往會出現這樣的情況剛剛進入資料庫的數據,在一段時間內會頻繁的變動,但是過了一段時間後,就基本不會發生變動。隨著時間的推移,大量新數據持續進入資料庫中, 資料庫的數據量會迅速增長,資料庫中會頻繁變動的那部分數據所佔的比例越來越小。此時,如果出於某些邏輯固定的業務需求,採用現有技術的方法對資料庫中的海量數據進行統計查詢時,由於增長型資料庫的數據特點是絕大部分數據不會發生變化,所以對這部分數據的查詢與邏輯處理實際上是一直在重複操作的。
也就是說,在進行固定邏輯統計查詢時,每次都需要在資料庫逐條找到符合查詢條件的數據,對這些數據進行固定的邏輯運算,由於其中大多數數據與上次進行統計查詢時並未發生改變,所以大多數的查詢和邏輯運算都是重複的,耗費了大量的系統資源,而且,統計查詢所需時間也非常長、效率低,往往還會因為超長的等待時間造成查詢失敗,這期間佔用的大量資源還使得資料庫難以應付其他的並發操作。這極大地影響了信息系統的友好性、實時性和可靠性。
此外,現有技術的查詢方法中的索引的創建和維護,也需要消耗大量的資料庫資源和維護時間,專門對索引數據進行處理,尤其是對於增長型資料庫來說,數據量越大,索引的創建和維護越困難。而起,索引需要資料庫在對數據做增刪改等操作時,也要額外花費一些資源和時間對索引數據進行維護。
終上所述,對於增長型資料庫採用現有技術的統計查詢方法需要消耗大量的時間和資源,降低了系統的友好性、實時性和可靠性;並且,對索引進行創建和維護,也需要消耗大量的資料庫資源和維護時間。發明內容
本發明實施例提供了一種增長型資料庫的數據統計查詢系統及方法,用以提高統5計查詢效率,節約系統資源。
一種增長型資料庫的數據統計查詢方法,包括針對實時數據區域中的數據記錄進行統計查詢,得到第一統計查詢結果;獲取預先存儲的歷史數據區域的統計查詢結果; 根據所述第一統計查詢結果,以及獲取的統計查詢結果,確定最終的統計查詢結果;其中, 所述歷史數據區域中包含有數據表中的第一類數據記錄,所述實時數據區域中包含有所述數據表中的第二類數據記錄;所述第一類數據記錄和第二類數據記錄是根據數據記錄增加到所述數據表中的時間先後順預先序確定的。
所述第一類數據記錄和第二類數據記錄通過下述步驟確定將所述數據表中的數據記錄的時間順序參數的範圍,分割為至少三個時間順序參數子範圍;對於其中任一時間順序參數子範圍,將時間順序參數處於該時間順序參數子範圍內的數據記錄確定為與該時間順序參數子範圍相對應的數據子區域內的數據記錄;確定具有最大時間順序參數的數據子區域為實時數據區域,其內的數據記錄為所述第二類數據記錄;確定其它數據子區域為歷史數據子區域,組成所述的歷史數據區域,所述其它數據子區域內的數據記錄為所述第一類數據記錄。
其中,所述數據記錄的時間順序參數是通過對時間值進行換算得到的;將所述數據表中的數據記錄的時間順序參數的範圍分割為至少三個時間順序參數子範圍為以時間單位對所述數據表中的數據記錄的時間順序參數的範圍進行分割,得到時間順序參數子範圍。
其中,將所述數據表中的數據記錄的時間順序參數的範圍分割為至少兩個時間順序參數子範圍具體為
對於n個時間順序參數子範圍札 1中的Mk,其時間順序參數的範圍為[Sk,Sk+1); 其中,
Sk+1 = Sk+ff(公式 I)
n = ROUNDUP ((Z-S1) /ff)(公式 2)
上述公式I中,W為設定值,k為I至n的自然數;
上述公式2中,S1為數據表的數據記錄中的最小時間順序參數,Z為數據表的數據記錄中的最大時間順序參數,ROUNDUP為向上取整運算符。
在所述確定最終的統計查詢結果之前,還包括根據統計查詢需求,確定出查詢數據區域;所述查詢數據區域是根據待查詢數據記錄的時間順序參數的範圍確定的;確定被所述查詢數據區域完全覆蓋的歷史數據子區域為區域A ;確定被所述查詢數據區域部分覆蓋的歷史數據子區域為區域B ;根據所述統計查詢需求在所述區域B進行統計查詢得到統計查詢結果B ;以及,
所述獲取預先存儲的歷史數據區域的統計查詢結果具體為獲取區域A內各歷史數據子區域的統計查詢結果;和在根據所述第一統計查詢結果以及獲取的統計查詢結果確定最終的統計查詢結果時,還根據所述統計查詢結果B,以確定最終的統計查詢結果。
在所述獲取區域A內各歷史數據子區域的統計查詢結果之前,還包括判斷區域A 內各歷史數據子區域的結果標識是否為有效;如果是,則獲取區域A內各歷史數據子區域的統計查詢結果;否則,針對無效的結果標識所對應的歷史數據子區域中的數據記錄進行統計查詢、更新該歷史數據子區域的統計查詢結果後,再獲取區域A內各歷史數據子區域的統計查詢結果。
一種增長型資料庫的數據統計查詢系統,包括歷史數據查詢結果存儲模塊,用於存儲歷史數據區域的統計查詢結果;數據區域確定模塊,用於確定所述歷史數據區域和實時數據區域的;所述歷史數據區域中的第一類數據記錄和所述實時數據區域中的第二類數據記錄是根據數據記錄增加到數據表中的時間先後順序確定的;統計查詢模塊,用於根據所述數據區域確定模塊確定的實時數據區域,針對實時數據區域中的數據記錄進行統計查詢,得到第一統計查詢結果;從所述歷史數據查詢結果存儲模塊中獲取存儲的歷史數據區域的統計查詢結果;根據所述第一統計查詢結果以及獲取的統計查詢結果,確定最終的統計查詢結果。
其中,所述數據區域確定模塊將所述數據表中的數據記錄的時間順序參數的範圍分割為至少三個時間順序參數子範圍;對於其中任一時間順序參數子範圍,將時間順序參數處於該時間順序參數子範圍內的數據記錄確定為與該時間順序參數子範圍相對應的數據子區域內的數據記錄;確定具有最大時間順序參數的數據子區域為實時數據區域,其內的數據記錄為所述第二類數據記錄;確定其它數據子區域為歷史數據子區域,由歷史數據子區域組成歷史數據區域,所述其它數據子區域內的數據記錄為所述第一類數據記錄。
所述系統還包括歷史數據查詢結果生成模塊,用於根據所述數據區域確定模塊確定的歷史數據子區域,針對各歷史數據子區域中的數據記錄進行統計查詢,並將各歷史數據子區域的統計查詢結果存儲到所述歷史數據查詢結果存儲模塊中。
其中,所述統計查詢模塊根據統計查詢需求,確定出查詢數據區域;所述查詢數據區域是根據待查詢數據記錄的時間順序參數的範圍確定的;根據所述數據區域確定模塊確定的歷史數據子區域,確定被所述查詢數據區域完全覆蓋的歷史數據子區域為區域A,以及被所述查詢數據區域部分覆蓋的歷史數據子區域為區域B ;根據所述統計查詢需求在所述區域B進行統計查詢得到統計查詢結果B ;從所述歷史數據查詢結果存儲模塊中獲取區域A 內各歷史數據子區域的統計查詢結果;根據所述第一統計查詢結果、統計查詢結果B,以及獲取的統計查詢結果,確定最終的統計查詢結果。
所述歷史數據查詢結果生成模塊,還用於在將歷史數據子區域的統計查詢結果存儲到所述歷史數據查詢結果存儲模塊中時,還將該歷史數據子區域的結果標識設置為有效後一同存入所述歷史數據查詢結果存儲模塊中。
所述歷史數據查詢結果生成模塊,還用於若歷史數據子區域中的數據記錄發生變更,則修改所述歷史數據查詢結果存儲模塊中的該歷史數據子區域的結果標識為無效。
所述統計查詢模塊,還用於在獲取區域A內各歷史數據子區域的統計查詢結果之前,判斷所述歷史數據查詢結果存儲模塊中存儲的區域A內各歷史數據子區域的結果標識是否為有效;如果是,則從所述所述歷史數據查詢結果存儲模塊中獲取區域A內各歷史數據子區域的統計查詢結果;否則,通知所述歷史數據查詢結果生成模塊,針對無效的結果標識所對應的歷史數據子區域中的數據記錄進行統計查詢、更新所述歷史數據查詢結果存儲模塊中該歷史數據子區域的統計查詢結果和結果標識後,再獲取所述歷史數據查詢結果存儲模塊中區域A內各歷史數據子區域的統計查詢結果。
本發明實施例中,由於預存了數據表中歷史數據(不太改動的數據)的統計查詢結果,那麼在進行統計查詢時,只需針對數據表中的實時數據(改動較頻繁的數據)進行統計查詢操作,再綜合預存的統計查詢結果,得到最終的統計查詢結果。從而避免了對歷史數據的統計查詢操作,而歷史數據在數據表中通常是絕大多數,因此,極大地提高了統計查詢的速度和效率,節約了系統的處理資源。
並且,本發明實施例的統計查詢方法中,可以不採用索引進行查詢,不必消耗大量的資料庫資源和維護時間,專門對索引數據進行處理,節約了系統資源和人力資源。


圖I為現有技術的數據表I示意圖2a為本發明實施例的數據表2示意圖2b為本發明實施例的數據表2的歷史數據區域和實時數據區域劃分示意圖2c為本發明實施例的數據表2的另一種歷史數據區域和實時數據區域劃分示意圖3為本發明實施例的歷史數據區域和實時數據區域劃分方法流程圖4為本發明實施例的統計查詢方法流程圖5a為本發明實施例的另一種統計查詢方法流程圖;圖5b為本發明實施例的查詢數據區域的數據記錄示意圖6為本發明實施例的統計查詢系統的結構框圖。
具體實施方式
本發明實施例利用增長型資料庫的數據特點即數據在資料庫中按照時間順序增長,在處理對海量數據的重複操作尤其是邏輯固定的業務需求時,可以按照時間進行數據範圍劃分,對於基本不會變化的歷史數據,儘量復用其查詢處理結果,從而降低了海量數據統計查詢需要處理的數據量;通過對歷史數據區域的數據統計查詢結果的存儲和維護,降低了海量數據統計查詢的時間消耗和資源消耗。
為了加快增長型資料庫中數據的統計查詢速度,提高統計查詢的效率,在進行統計查詢之前,先將待查詢的數據表中的數據記錄劃分歷史數據區域、實時數據區域,並預先存儲歷史數據區域的統計查詢結果,以備以後多次進行的統計查詢操作時復用,避免重複的查詢、統計操作,提高統計查詢效率。具體方法流程如圖3所示,包括如下步驟
S301 :將數據表中的數據記錄按照時間順序劃分為歷史數據區域和實時數據區域。對於增長型資料庫中的數據表,數據表中的數據記錄是按照時間順序增長的。通常,數據記錄中會有「時間順序參數」,可以反映出數據記錄加入到數據表中的時間先後順序。例如,可以是數據記錄中的「序號(ID號)」或時間值(例如對時間的換算值)。如圖2a所示的數據表2中記錄了每天的使用電量。每過一天便要在表2中增加一條數據記錄,包括ID 號、使用電量以及時間值。根據實際情況,既可以將表2中的ID號作為時間順序參數,也可以將表2中的時間值作為時間順序參數。根據數據記錄的時間順序參數,將數據表中的數據記錄劃分為歷史數據區域中的數據記錄和實時數據區域中的數據記錄。
本領域技術人員可以根據經驗,將變動頻繁的數據記錄劃分到實時數據區域,將基本不再發生變動的數據記錄劃分到歷史數據區域。根據數據記錄增加到數據表中的時間先後順序劃分,歷史數據區域和實時數據區域的一個具體的簡單方法可以是設定一個時間順序參數,確定小於該時間順序參數的數據記錄為第一類數據記錄,即歷史數據區域中的數據記錄;確定數據表中其它數據記錄為第二類數據記錄,實時數據區域中的數據記錄。
或者,將數據表中的數據記錄的時間順序參數的範圍,分割為至少三個時間順序參數子範圍;對於其中任一時間順序參數子範圍,將時間順序參數處於該時間順序參數子範圍內的數據記錄確定為與該時間順序參數子範圍相對應的數據子區域內的數據記錄;確定具有最大時間順序參數的數據子區域為實時數據區域,其內的數據記錄為第二類數據記錄;確定其它數據子區域為歷史數據子區域,所有的歷史數據子區域組成歷史數據區域,所有的歷史數據子區域的數據記錄即為第一類數據記錄。
在實際應用中,一種較優方法若數據記錄的時間順序參數是根據時間值進行換算得到的,那麼,數據記錄的時間順序參數可以直接反映其加入到數據表中的時間。因此, 可以時間單位來劃分歷史數據子區域以及實時數據區域即以時間單位對所述數據表中的數據記錄的時間順序參數的範圍進行分割,得到時間順序參數子範圍,從而確定各數據子區域的數據記錄,進而確定實時數據區域和歷史數據子區域。例如,對如圖2b所示的數據表2,可以年、或月為單位來劃分各數據子區域,即每個月的數據記錄作為一個數據子區域, 具有最大時間值的數據子區域為實時數據區域,其它為歷史數據子區域。
另外,也可採用均分的方法例如,對如圖2c所示的數據表2,假設分割出n(n為大於2的自然數)個時間順序參數子範圍M1 Mn。其中,Mk的範圍為[Sk,Sk+1);
Sk+1 = Sk+ff(公式 I)
n = ROUNDUP ((Z-S1) /ff)(公式 2)
上述公式I中,W為設定值,k為I至n的自然數;上述公式2中,S1為數據表的數據記錄中的最小時間順序參數,Z為數據表的數據記錄中的最大時間順序參數,ROUNDUP為向上取整運算符。得到時間順序參數子範圍後,即可確定對應的數據子區域的數據記錄。 具有最大時間值的數據子區域為實時數據區域,其它數據子區域為歷史數據子區域。
顯然,本領域技術人員可以根據本發明實施例所公開的技術方案,對於應用中的實際情況,採用其它的分割歷史數據子區域和實時數據區域的方法,此處不再一一列舉。
這裡需要指出的是,劃分的歷史數據區域、實時數據區域或者歷史數據子區域可以是物理上的,也可以是邏輯上的。也就是說,既可以開闢存儲空間來放置歷史數據區域、 實時數據區域或者歷史數據子區域,也可以採用更節約存儲資源的方式,例如,以指針方式確定歷史數據區域、實時數據區域或者歷史數據子區域在數據表中的首數據記錄、尾數據記錄的地址。該技術手段為本領域技術人員常用,此處不贅述。
S302 :針對歷史數據區域的數據記錄進行統計查詢,將統計查詢結果進行存儲。具體的,針對每個歷史數據子區域中的數據記錄分別進行統計查詢,得到每個歷史數據子區域的統計查詢結果進行存儲。對一個歷史數據子區域進行統計查詢的過程針對該歷史數據子區域的數據記錄,查詢符合查詢條件的數據記錄,再對這些數據記錄中的數據進行統計邏輯運算,得到該歷史數據子區域的統計查詢結果。
進一步,還可以為每個歷史數據子區域的統計查詢結果設置一個結果標識,用以標識當前存儲的歷史數據子區域的統計查詢結果是否有效若歷史數據子區域中的某個數據記錄被修改,則觸發將該歷史數據子區域的結果標識設置為無效;若對該歷史數據子區域中的數據記錄進行了統計查詢,在存儲該歷史數據子區域的統計查詢結果時,將結果標識設置為有效。
針對上述預先劃分的歷史數據區域、實時數據區域,以及預先存儲的歷史數據區域的統計查詢結果,在需要對數據表進行統計查詢時,可以利用預先存儲的統計查詢結果來提高效率,統計查詢的方法流程圖如圖4所示,包括如下步驟
S401 :針對實時數據區域進行統計查詢,得到實時數據區域的統計查詢結果。即針對實時數據區域的數據記錄,查詢符合查詢條件的數據記錄,再對這些數據記錄中的數據進行統計邏輯運算,得到實時數據區域的統計查詢結果。
S402 :提取之前預先存儲的歷史數據區域的統計查詢結果。
S403 :根據實時數據區域的統計查詢結果,以及歷史數據區域的統計查詢結果得到最終的統計查詢結果。
為了支持更加靈活的統計查詢需求,本發明實施例中還對歷史數據區域進一步劃分為若干個歷史數據子區域。如果需要針對某段時間內的數據記錄進行統計查詢,那麼, 將進一步簡化統計查詢過程。假設,需要統計如圖2b所示的數據表2中,2010年2月10日到2011年6月12日的數據記錄中使用電量超60的個數總和,則統計查詢的具體流程如圖 5a所示,包括如下步驟
S501 :根據統計查詢需求確定需要查詢的數據記錄區域(簡稱查詢數據區域)。
假設,數據表中的數據記錄的時間順序參數是根據時間值換算得到的,需要針對數據表中某段時間內的數據記錄進行統計查詢。例如,對於區域劃分如圖2b所示的數據表 2,需要對2010年2月10日到2011年6月12日的數據記錄進行統計查詢,則根據該查詢需求,可以確認待查詢數據記錄的時間順序參數的範圍,確定該範圍內的數據記錄即為查詢數據區域的數據記錄(如圖5b所示)。
S502 :確定被查詢數據區域完全覆蓋的歷史數據子區域(簡稱區域A)。
若某歷史數據子區域中的所有數據記錄均屬於查詢數據區域,則該歷史數據子區域被查詢數據區域完全覆蓋。例如,本例中確定的區域A包括2010年3月的歷史數據子區域 2011年5月的歷史數據子區域。
S503 :確定被查詢數據區域部分覆蓋的歷史數據子區域(簡稱區域B)。
若某歷史數據子區域中的部分數據記錄屬於查詢數據區域,部分數據記錄不屬於查詢數據區域,則該歷史數據子區域被查詢數據區域部分覆蓋。例如,本例中確定的區域B 包括2010年2月的歷史數據子區域。
S504 :提取預先存儲的區域A的統計查詢結果(簡稱統計查詢結果A)。
若區域A包括若干個歷史數據子區域,則獲取區域A中的每個歷史數據子區域的統計查詢結果。
較優的,如果針對每個歷史數據子區域還設置了結果標識,那麼,在獲取區域A的統計查詢結果之前,先判斷區域A內的歷史數據子區域的結果標識是否為有效。若有效, 則獲取區域A的統計查詢結果;否則,針對無效的結果標識所對應的歷史數據子區域中的數據記錄進行統計查詢、更新該歷史數據子區域的統計查詢結果以及設置結果標識為有效後,再獲取區域A內各歷史數據子區域的統計查詢結果,將獲取的區域A內各歷史數據子區域的統計查詢結果簡稱為統計查詢結果A。
S505 :針對區域B中的數據記錄進行統計查詢操作,得到統計查詢結果(簡稱統計查詢結果B)。例如,本例中在2010年2月的歷史數據子區域的數據記錄中,查詢出2010年 2月9日後的數據記錄中使用電量大於60的數據記錄,統計查詢出的數據記錄之和。
S506 :針對實時數據區域的數據記錄進行統計查詢操作,得到統計查詢結果(簡稱統計查詢結果C)。
S507 :根據統計查詢結果A、B、C,得到最終的統計查詢結果。例如,本例中,對統計查詢結果A中的各歷史數據子區域的統計查詢結果求累加和,再加上統計查詢結果B和統計查詢結果C,得到最終的統計查詢結果——2010年2月10日到2011年6月12日的數據記錄中使用電量超60的個數總和。
需要指出的是,上述步驟S502-S506不必嚴格按此順序執行,例如,也可以先執行步驟S503再執行步驟S502,本領域技術人員可以根據實際來決定。歷史數據區域與實時數據區域被劃分後,在以後數據表中又新增數據記錄時,還可以隨時對歷史數據區域和實時數據區域進行調整、更新維護當數據表增加新的數據記錄後,確定該數據記錄屬於實時數據區域,如果判斷出當前的實時數據區域是否超過預先設定的界定範圍(例如實時數據區域的數據記錄個數超過某設定值,或者實時數據區域的數據記錄的時間參數值大於某個設定值),則新增一個歷史數據子區域,根據預先確定的劃分規則,將實時數據區域中的部分數據記錄劃分到該新增的歷史數據子區域中。預先確定的劃分規則,例如,可以是將實時數據區域中除新增的數據記錄之外的數據記錄均劃分到新增的歷史數據子區域中,也可以是將實時數據區域中時間參數較小的一半數據記錄劃分到新增的歷史數據子區域中。本領域技術人員可以根據實際情況來制訂該劃分規則。
在業務系統中,平時的統計查詢需求相對比較固定,也就是說,進行查詢時,統計邏輯運算相對固定,那麼,這種預先保存歷史數據的統計查詢結果的方法,可以為之後相同類型的統計查詢,提供可以復用的查詢結果,來幫助加快得到最終查詢結果的速度。本發明實施例中,所舉邏輯運算為比較閾值後,統計個數,對個數求和。類似的,對於其它統計邏輯運算,如求最大值、最小值、平均值、連乘等,均可以利用預先存儲的部分數據的統計查詢結果來得到最新統計查詢結果,此處不再一一列舉。
本發明實施例還提供了一種增長型資料庫的數據統計查詢系統,如圖6所示,包括歷史數據查詢結果存儲模塊601、數據區域確定模塊602、統計查詢模塊603。
數據區域確定模塊602,用於確定歷史數據區域和實時數據區域的;所述歷史數據區域中的第一類數據記錄和所述實時數據區域中的第二類數據記錄,是根據數據記錄增加到數據表中的時間先後順序確定的。
具體的,數據區域確定模塊602將數據表中的數據記錄的時間順序參數的範圍, 分割為至少三個時間順序參數子範圍;對於其中任一時間順序參數子範圍,將時間順序參數處於該時間順序參數子範圍內的數據記錄確定為與該時間順序參數子範圍相對應的數據子區域內的數據記錄;確定具有最大時間順序參數的數據子區域為實時數據區域,其內的數據記錄為第二類數據記錄;確定其它數據子區域為歷史數據子區域,組成歷史數據區域,所述其它數據子區域內的數據記錄為第一類數據記錄。在上述步驟S301中已詳述多種劃分、確定方法,此處不再贅述。
歷史數據查詢結果存儲模塊601,用於存儲歷史數據區域的統計查詢結果。
統計查詢模塊603,用於根據數據區域確定模塊602確定的實時數據區域,針對實時數據區域中的數據記錄進行統計查詢,得到第一統計查詢結果;從歷史數據查詢結果存儲模塊601中獲取存儲的歷史數據區域的統計查詢結果;根據所述第一統計查詢結果,以及獲取的統計查詢結果,確定最終的統計查詢結果。
具體的,統計查詢模塊603根據統計查詢需求,確定出查詢數據區域;所述查詢數據區域為待查詢數據記錄的時間順序參數的範圍;根據數據區域確定模塊602確定的歷史數據子區域,確定被查詢數據區域完全覆蓋的歷史數據子區域為區域A,以及被查詢數據區域部分覆蓋的歷史數據子區域為區域B。
統計查詢模塊603根據統計查詢需求在所述區域B進行統計查詢得到統計查詢結果B ;從歷史數據查詢結果存儲模塊601中獲取區域A內各歷史數據子區域的統計查詢結果;根據所述第一統計查詢結果、統計查詢結果B,以及獲取的統計查詢結果,確定最終的統計查詢結果。
進一步,系統還包括歷史數據查詢結果生成模塊604。
歷史數據查詢結果生成模塊604,用於根據數據區域確定模塊602確定的歷史數據子區域,針對各歷史數據子區域中的數據記錄進行統計查詢,並將各歷史數據子區域的統計查詢結果存儲到歷史數據查詢結果存儲模塊601中。
進一步,歷史數據查詢結果生成模塊604,還用於在將歷史數據子區域的統計查詢結果存儲到歷史數據查詢結果存儲模塊601中時,還將該歷史數據子區域的結果標識設置為有效後一同存入所述歷史數據查詢結果存儲模塊601中。
歷史數據查詢結果生成模塊604進一步還可以用於若歷史數據子區域中的數據記錄發生變更,則修改歷史數據查詢結果存儲模塊601中的該歷史數據子區域的結果標識為無效。
進而,統計查詢模塊603還用於在獲取區域A內各歷史數據子區域的統計查詢結果之前,判斷歷史數據查詢結果存儲模塊601中存儲的區域A內各歷史數據子區域的結果標識是否為有效;如果是,則從所述歷史數據查詢結果存儲模塊601中獲取區域A內各歷史數據子區域的統計查詢結果;否則,通知歷史數據查詢結果生成模塊604。在歷史數據查詢結果生成模塊604針對無效的結果標識所對應的歷史數據子區域中的數據記錄進行統計查詢、更新歷史數據查詢結果存儲模塊601中該歷史數據子區域的統計查詢結果和結果標識後,再獲取歷史數據查詢結果存儲模塊601中區域A內各歷史數據子區域的統計查詢結果。
數據區域確定模塊602,還用於當所述數據表增加新的數據記錄後,確定該數據記錄屬於實時數據區域;判斷出當前的實時數據區域是否超過預先設定的界定範圍;若是, 則新增一個歷史數據子區域,根據預先確定的劃分規則,將實時數據區域中的部分數據記錄劃分到該新增的歷史數據子區域中。
本發明實施例中,由於預存了數據表中歷史數據(不太改動的數據)的統計查詢結果,那麼在進行統計查詢時,只需針對數據表中的實時數據(改動較頻繁的數據)進行統計查詢操作,再綜合預存的統計查詢結果,得到最終的統計查詢結果。從而避免了對歷史數據的統計查詢操作,而歷史數據在數據表中通常是絕大多數,因此,極大地提高了統計查詢的速度和效率,節約了系統的處理資源。
並且,本發明實施例的統計查詢方法中,可以不採用索引進行查詢,不必消耗大量的資料庫資源和維護時間,專門對索引數據進行處理,節約了系統資源和人力資源。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀取存儲介質中,如 R0M/RAM、磁碟、光碟等。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種增長型資料庫的數據統計查詢方法,包括針對實時數據區域中的數據記錄進行統計查詢,得到第一統計查詢結果;獲取預先存儲的歷史數據區域的統計查詢結果;根據所述第一統計查詢結果,以及獲取的統計查詢結果,確定最終的統計查詢結果; 其中,所述歷史數據區域中包含有數據表中的第一類數據記錄,所述實時數據區域中包含有所述數據表中的第二類數據記錄;所述第一類數據記錄和第二類數據記錄是根據數據記錄增加到所述數據表中的時間先後順序預先確定的。
2.如權利要求I所述的方法,其中,所述第一類數據記錄和第二類數據記錄如下確定 將所述數據表中的數據記錄的時間順序參數的範圍,分割為至少三個時間順序參數子範圍;對於其中任一時間順序參數子範圍,將時間順序參數處於該時間順序參數子範圍內的數據記錄確定為與該時間順序參數子範圍相對應的數據子區域內的數據記錄;確定具有最大時間順序參數的數據子區域為實時數據區域,其內的數據記錄為所述第二類數據記錄;確定其它數據子區域為歷史數據子區域,組成所述的歷史數據區域,所述其它數據子區域內的數據記錄為所述第一類數據記錄。
3.如權利要求2所述的方法,其中,所述數據記錄的時間順序參數是通過對時間值進行換算得到的;以及,所述將所述數據表中的數據記錄的時間順序參數的範圍,分割為至少三個時間順序參數子範圍具體為以時間單位對所述數據表中的數據記錄的時間順序參數的範圍進行分割,得到時間順序參數子範圍。
4.如權利要求2所述的方法,其中,將所述數據表中的數據記錄的時間順序參數的範圍分割為至少兩個時間順序參數子範圍為對於n個時間順序參數子範圍M1 Mn中的Mk,其時間順序參數的範圍為[Sk, Sk+1);其中,Sk+1 = Sk+ff(公式 I)n = ROUNDUP ((Z-S1) /ff)(公式 2)上述公式I中,W為設定值,k為I至n的自然數;上述公式2中,S1為數據表的數據記錄中的最小時間順序參數,Z為數據表的數據記錄中的最大時間順序參數,ROUNDUP為向上取整運算符。
5.如權利要求3或4所述的方法,其中,在所述確定最終的統計查詢結果之前還包括 根據統計查詢需求,確定出查詢數據區域;所述查詢數據區域是根據待查詢數據記錄的時間順序參數的範圍確定的;確定被所述查詢數據區域完全覆蓋的歷史數據子區域為區域A ;確定被所述查詢數據區域部分覆蓋的歷史數據子區域為區域B ;根據所述統計查詢需求在所述區域B進行統計查詢得到統計查詢結果B ;以及,所述獲取預先存儲的歷史數據區域的統計查詢結果,具體為獲取區域A內各歷史數據子區域的統計查詢結果;以及,在根據所述第一統計查詢結果,以及獲取的統計查詢結果,確定最終的統計查詢結果時,還根據所述統計查詢結果B,以確定最終的統計查詢結果。
6.如權利要求5所述的方法,其中,在所述獲取區域A內各歷史數據子區域的統計查詢結果之前還包括判斷區域A內各歷史數據子區域的結果標識是否為有效;以及,如果是,則獲取區域A內各歷史數據子區域的統計查詢結果;否則,針對無效的結果標識所對應的歷史數據子區域中的數據記錄進行統計查詢、更新該歷史數據子區域的統計查詢結果後,再獲取區域A內各歷史數據子區域的統計查詢結果。
7.如權利要求3或4所述的方法,其中,所述數據表的歷史數據區域和實時數據區域的更新維護方法包括當所述數據表增加新的數據記錄後,確定該數據記錄屬於所述實時數據區域;判斷出當前的實時數據區域是否超過預先設定的界定範圍;若是,則新增一個歷史數據子區域,根據預先確定的劃分規則,將實時數據區域中的部分數據記錄劃分到該新增的歷史數據子區域中。
8.一種增長型資料庫的數據統計查詢系統,包括歷史數據查詢結果存儲模塊,用於存儲歷史數據區域的統計查詢結果;數據區域確定模塊,用於確定所述歷史數據區域和實時數據區域,其中所述歷史數據區域中的第一類數據記錄和所述實時數據區域中的第二類數據記錄是根據數據記錄增加到數據表中的時間先後順序確定的;統計查詢模塊,用於根據所述數據區域確定模塊確定的實時數據區域,針對實時數據區域中的數據記錄進行統計查詢,得到第一統計查詢結果;從所述歷史數據查詢結果存儲模塊中獲取存儲的歷史數據區域的統計查詢結果;根據所述第一統計查詢結果,以及獲取的統計查詢結果,確定最終的統計查詢結果。
9.如權利要求8所述的系統,其特徵在於,所述數據區域確定模塊將所述數據表中的數據記錄的時間順序參數的範圍分割為至少三個時間順序參數子範圍;對於其中任一時間順序參數子範圍,將時間順序參數處於該時間順序參數子範圍內的數據記錄確定為與該時間順序參數子範圍相對應的數據子區域內的數據記錄;確定具有最大時間順序參數的數據子區域為實時數據區域,其內的數據記錄為所述第二類數據記錄;確定其它數據子區域為歷史數據子區域,組成所述的歷史數據區域,所述其它數據子區域內的數據記錄為所述第一類數據記錄。
10.如權利要求9所述的系統,其特徵在於,還包括歷史數據查詢結果生成模塊,根據所述數據區域確定模塊確定的歷史數據子區域,針對各歷史數據子區域中的數據記錄進行統計查詢,並將各歷史數據子區域的統計查詢結果存儲到所述歷史數據查詢結果存儲模塊中。
11.如權利要求10所述的系統,其特徵在於,所述統計查詢模塊根據統計查詢需求,確定出查詢數據區域;所述查詢數據區域是根據待查詢數據記錄的時間順序參數的範圍確定的;根據所述數據區域確定模塊確定的歷史數據子區域,確定被所述查詢數據區域完全覆蓋的歷史數據子區域為區域A,以及被所述查詢數據區域部分覆蓋的歷史數據子區域為區域B ;根據所述統計查詢需求在所述區域B進行統計查詢得到統計查詢結果B ;從所述歷史數據查詢結果存儲模塊中獲取區域A內各歷史數據子區域的統計查詢結果;根據第一統計查詢結果、統計查詢結果B,以及獲取的統計查詢結果,確定最終的統計查詢結果。
12.如權利要求11所述的系統,其特徵在於,所述歷史數據查詢結果生成模塊,還用於在將歷史數據子區域的統計查詢結果存儲到所述歷史數據查詢結果存儲模塊中時,將該歷史數據子區域的結果標識設置為有效後一同存入所述歷史數據查詢結果存儲模塊中;所述歷史數據查詢結果生成模塊還用於在歷史數據子區域中的數據記錄發生變更時, 修改所述歷史數據查詢結果存儲模塊中的該歷史數據子區域的結果標識為無效;所述統計查詢模塊還用於在獲取區域A內各歷史數據子區域的統計查詢結果之前,判斷所述歷史數據查詢結果存儲模塊中存儲的區域A內各歷史數據子區域的結果標識是否為有效;如果是,則從所述所述歷史數據查詢結果存儲模塊中獲取區域A內各歷史數據子區域的統計查詢結果;否則,通知所述歷史數據查詢結果生成模塊,針對無效的結果標識所對應的歷史數據子區域中的數據記錄進行統計查詢、更新所述歷史數據查詢結果存儲模塊中該歷史數據子區域的統計查詢結果和結果標識後,再獲取所述歷史數據查詢結果存儲模塊中區域A內各歷史數據子區域的統計查詢結果。
13.如權利要求9-12所述的系統,其特徵在於,所述數據區域確定模塊還用於當所述數據表增加新的數據記錄後,確定該數據記錄屬於所述實時數據區域;判斷出當前的實時數據區域是否超過預先設定的界定範圍;若是, 則新增一個歷史數據子區域,根據預先確定的劃分規則,將實時數據區域中的部分數據記錄劃分到該新增的歷史數據子區域中。
全文摘要
本發明公開了一種增長型資料庫的數據統計查詢系統及方法,該方法包括針對實時數據區域中的數據記錄進行統計查詢,得到第一統計查詢結果;獲取預先存儲的歷史數據區域的統計查詢結果;根據所述第一統計查詢結果,以及獲取的統計查詢結果,確定最終的統計查詢結果。由於預存了數據表中歷史數據即不太改動的數據的統計查詢結果,所以在進行統計查詢時,只需針對數據表中的實時數據即改動較頻繁的數據進行統計查詢操作,從而避免了對歷史數據的統計查詢操作,提高了統計查詢的速度和效率,節約了系統的處理資源。
文檔編號G06F17/30GK102542005SQ20111041558
公開日2012年7月4日 申請日期2011年12月13日 優先權日2011年12月13日
發明者傅永財, 張慧吉, 李蘭輝, 李振宇, 李淑惠, 賈曉霞, 鄭揚飛, 郭彥義, 郭紅鈺, 金輝 申請人:中國電子科技集團公司第十五研究所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀