新四季網

實現數據查詢的方法和裝置與流程

2023-06-10 16:58:46 2


本發明涉及數據處理技術,尤其涉及一種實現數據查詢的方法和裝置。



背景技術:

由於業務量的提升,金融相關公司的資金系統對應的資料庫每個月都會有數以千萬的數據需要和資金平臺對接,使得資金系統的資料庫中數據大量飆升,造成了數據查詢效率較低。

現有技術中,為了解決用戶通過資金系統的資料庫查詢數據效率較低的技術問題,對資金系統的資料庫中的數據表結構進行了優化,將必要的查詢欄位都添加了索引。但增加索引的方法不能解決數據量達到一定量時,用戶採用資金系統的資料庫查詢數據效率較低的技術問題。



技術實現要素:

本發明提供一種實現數據查詢的方法和裝置,以克服現有技術中當資料庫數據量較大時,數據查詢效率較低的技術問題。

本發明提供一種實現數據查詢的方法,包括:

根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,所述月數據為當前日之前n日內所述主資料庫新增的數據,n為正整數;

獲取所述月目標數據,並將所述月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據所述月數據表查詢所述月目標數據;

根據所述原始數據表,將所述主資料庫中的日數據進行整合,得到日目標數據,所述日數據為當前日所述主資料庫新增的數據;

獲取所述日目標數據,並將所述日目標數據發送至所述備份資料庫中的日數據表中進行存儲,以使用戶根據所述日數據表查詢所述日目標數據。

如上所述的方法,根據所述原始數據表,將所述主資料庫中的日數據進行整合,包括:

每間隔第一預設時長,根據所述原始數據表,從主資料庫中獲取相應第一預設時長內新增的第一日數據,並將所述第一日數據進行整合,得到第一日目標數據;

相應地,獲取所述日目標數據,並將所述日目標數據發送至所述備份資料庫中的日數據表中進行存儲,包括:

獲取所述第一日目標數據,並將所述第一日目標數據發送至所述備份資料庫中的日數據表中進行存儲。

如上所述的方法,所述備份資料庫中還包括參數表,所述參數表包括第一欄位和第二欄位,所述第一欄位的值用於指示所述日數據表允許被更新的最小時間間隔;所述第二欄位的值用於與所述第一欄位的值比較,以判斷是否從所述主資料庫中獲取相應的第一日目標數據,所述第二欄位的值可變化,所述第二欄位的值為所述第一欄位的值的整數倍;

獲取所述第一日目標數據,並將所述第一日目標數據發送至所述備份資料庫中的日數據表中進行存儲之前,所述方法還包括:

判斷所述第二欄位的當前值是否等於所述第一欄位的值,得到的結果為是。

如上所述的方法,所述日數據表包括第一日數據表和第二日數據表;

獲取所述第一日目標數據,並將所述第一日目標數據發送至所述備份資料庫中的日數據表中進行存儲,包括:

獲取所述第一日數據表的第一狀態和所述第二日數據表的第二狀態;

若所述第一狀態為寫狀態,將所述第一狀態更新為讀狀態,將第二狀態由讀狀態更新為寫狀態,所述第二欄位的值更新為目標值;並獲取所述第一日目標數據,將所述第一日目標數據發送至所述第二日數據表中進行存儲;

若所述第一狀態為讀狀態,將所述第一狀態更新為寫狀態,將第二狀態由寫狀態更新為讀狀態,將所述第二欄位的值更新為目標值;並獲取所述第一日目標數據,將所述第一日目標數據發送至所述第一日數據表中進行存儲;

其中,所述目標值為預設的更新日目標數據被存儲的日數據表的時間間隔。

如上所述的方法,在獲取所述第一日目標數據,並將所述第一日目標數據發送至所述備份資料庫中的日數據表中進行存儲之後,還包括:

每間隔第二預設時長,判斷所述第二欄位當前值是否與所述第一欄位的值相等;所述第二預設時長與日數據表允許被更新的最小時間間隔相等;

若判斷結果為否,則將所述第二欄位當前值減去一預設值;

若判斷結果為是,則從所述主資料庫中獲取下個第一預設時長內對應的第一日目標數據。

如上所述的方法,在獲取月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲之前,還包括:

刪除所述備份數據中的月數據表中的當前數據;

在獲取所述日目標數據,並將日目標數據發送至所述備份資料庫中的日數據表中進行存儲之前,還包括:

刪除所述備份數據中的日數據表中的當前數據。

如上所述的方法,所述方法還包括:

每間隔第三預設時長,針對主資料庫中的每個目標原始數據表,所述目標原始數據表為從第一時間至第二時間之間新增至所述主資料庫中的原始數據表,將目標原始數據表重新命名,得到年數據表;第二時間為獲取所述年數據表的獲取日之前第m天對應的時間,所述第一時間與所述第二時間之間的時間間隔為第三預設時長,所述第一時間在所述第二時間之前;其中,所述第三預設時長對應的天數大於等於n,m大於n,所述年數據表的名稱包括第一字符和第二字符,第一字符為相應的原始數據表的名稱對應的字符,第二字符為所述第二時間對應的年份字符;

將各所述年數據表發送至所述備份資料庫中進行存儲,以使用戶根據所述年數據表查詢所述年數據;

刪除所述主數據中的年數據表。

本發明還提供一種實現數據查詢的方法,包括:

獲取用戶通過用戶界面輸入的查詢請求,所述查詢請求中包括查詢時間屬性和所述查詢時間屬性對應的查詢時間範圍;

根據所述查詢時間屬性和所述查詢時間屬性對應的查詢時間範圍,確定與所述查詢時間範圍對應的待查詢數據所屬的目標資料庫,所述目標資料庫為備份資料庫或主資料庫;

從所述目標資料庫中獲取所述待查詢數據,並將所述待查詢數據發送至所述用戶的終端。

其中,所述備份資料庫為通過上述實現數據查詢的方法得到的備份資料庫,所述主資料庫為通過上述實現數據查詢的方得到的主資料庫。

如上所述的方法,所述備份資料庫中的日數據表包括第一日數據表和第二日數據表;

若所述查詢時間屬性為日目標數據,則所述日目標數據對應的查詢時間範圍為當前日,所述目標資料庫為備份資料庫;

從目標資料庫中獲取所述待查詢數據,並將所述待查詢數據發送至所述用戶的終端,包括:

獲取與當前日對應的第一日數據表的第一狀態和與當前日對應的第二日數據表的第二狀態,若所述第一狀態為讀狀態、所述第二狀態為寫狀態,則將與當前日對應的第一日數據表中的待查詢數據發送至所述用戶的終端;

若所述第一狀態為寫狀態,所述第二狀態為讀狀態,則將與當前日對應的第二日數據表中的待查詢數據發送至所述用戶的終端。

本發明還提供一種實現數據查詢的裝置,包括:

數據整合模塊,用於根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,所述月數據為當前日之前n日內所述主資料庫新增的數據,n為正整數;

調度模塊,用於獲取所述月目標數據,並將所述月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據所述月數據表查詢所述月目標數據;

所述數據整合模塊還用於,根據所述原始數據表,將所述主資料庫中的日數據進行整合,得到日目標數據,所述日數據為當前日所述主資料庫新增的數據;

所述調度模塊還用於,獲取所述日目標數據,並將所述日目標數據發送至所述備份資料庫中的日數據表中進行存儲,以使用戶根據所述日數據表查詢所述日目標數據。

本發明提供一種實現數據查詢的方法和裝置。本發明的實現數據查詢的方法包括:根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,月數據為當前日之前n日內主資料庫新增的數據;獲取月目標數據表,並將月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據月數據表查詢月目標數據;根據原始數據表,將主資料庫中的日數據進行整合,得到日目標數據,日數據為當前日主資料庫新增的數據;獲取日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲,以使用戶根據日數據表查詢日目標數據。本發明的實現數據查詢的方法和裝置提高了數據查詢效率,增強了主資料庫的數據的處理能力。

附圖說明

為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。

圖1為本發明提供的一種可能的系統架構圖;

圖2為本發明提供的實現數據查詢的方法實施例一的流程圖;

圖3為本發明提供的實現數據查詢的方法實施例二的流程圖;

圖4為本發明提供的實現數據查詢的方法實施例三的流程圖;

圖5為本發明提供的實現數據查詢的方法實施例四的流程圖;

圖6為本發明提供的用戶終端輸入界面示意圖一;

圖7為本發明提供的實現數據的查詢裝置實施例一的結構示意圖;

圖8為本發明提供的實現數據的查詢裝置實施例二的結構示意圖;

圖9為本發明提供的實現數據的查詢裝置實施例三的結構示意圖。

具體實施方式

為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。

圖1為本發明提供的一種可能的系統架構圖,參見圖1,該系統架構包括數據查詢裝置11、主數據伺服器12、備份數據伺服器13和終端14,主數據伺服器12與主資料庫121相對應,備份數據伺服器與備份資料庫131對應;數據查詢裝置11通過主數據伺服器12對主資料庫121進行操作,數據查詢裝置11通過備份數據伺服器13對備份資料庫131進行操作。

具體地,數據查詢裝置11將主資料庫121特定時間範圍內新增的數據進行整合後移動或者直接移動至備份資料庫131中,以使用戶可採用備份資料庫進行查詢數據;在用戶通過終端14進行數據查詢時,數據查詢裝置11根據用戶輸入的查詢時間屬性決定從主資料庫121中獲取數據還是從備份資料庫131中獲取數據,最終將獲取的數據發送至用戶的終端14;通過上述實現數據查詢的方法,有效的減少了主資料庫的查詢壓力,提高了數據的查詢效率。

下面結合具體的實施例說明本發明提供的實現數據查詢的方法和裝置進行詳細的說明。

圖2為本發明提供的實現數據查詢的方法實施例一的流程圖,如圖2所示,本實施例的方法可以包括:

步驟s101、根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,月數據為當前日之前n日內主資料庫新增的數據,n為正整數;

步驟s102、獲取月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據月數據表查詢月目標數據;

步驟s103、根據原始數據表,將主資料庫中的日數據進行整合,得到日目標數據,日數據為當前日主資料庫新增的數據;

步驟s104、獲取日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲,以使用戶根據日數據表查詢日目標數據。

具體地,本實施例的實現數據查詢的方法的執行主體為數據查詢裝置,數據查詢裝置可設置在主數據伺服器內部,也可設置在備份數據伺服器內部,還可以獨立存在於主數據伺服器和備份數據伺服器的外部;此外,數據查詢裝置還可以一部分設置在主數據伺服器內部,另一部分設置在備份數據伺服器內部,兩部分同時協作完成實現數據的查詢。

下面以數據查詢裝置在當前日進行的操作進行說明,其中,當前日可為今天以及今天以前的任何一天。

在實現數據查詢的過程中,對於步驟s101,根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,月數據為當前日之前n日內主資料庫新增的月數據。

具體地,主資料庫為接收外部數據系統平臺發送的數據的資料庫,若主數據可庫為某保險公司對應的資料庫,則外部數據系統平臺可為銀行對應的數據系統平臺。因此,若主資料庫既用於和外部數據系統平臺交互(也可稱為數據的處理),又用於數據的查詢,在主資料庫數據量很大時,勢必會造成數據的查詢效率不高。

在主資料庫中,包括多個業務對應的業務數據表,其中,每個業務對應多張邏輯複雜的業務數據表,主資料庫中的業務數據表也可稱為原始數據表,而同一業務對應的各業務數據表可能來自不同的外部數據系統平臺,因此,同一業務對應的各業務數據表中相同種類的數據的存儲規則可能不相同,比如存儲規則可為:同一個種類的數據命名、數據的表示方式(實際字符或是10的a次方的形式)。

數據查詢裝置根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,即數據查詢裝置從各業務各自對應的原始數據表中獲取當前日之前n日內主資料庫新增的月數據,接著將月數據進行整合得到月目標數據,月目標數據可以存儲在主資料庫中的月目標數據表中。其中,本實施例中的整合是指將各業務數據表中的數據以相同的存儲規則存儲。其中,在本實施例中n的取值優選為28~31。

對於步驟s102,在得到月目標數據後,數據查詢裝置獲取月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據月數據表查詢月數據。

其中,在獲取月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲之前,數據查詢裝置刪除備份數據中的月數據表中的當前數據。比如,當前日為2017年4月9日,n為30,在數據查詢裝置獲取2017年4月9日對應的月目標數據(2017年4月9日之前30天(即2017年3月10號至2017年4月8日)內整合後的新增至主資料庫中的數據),並將該月目標數據發送至備份資料庫中的月數據表中之前,備份資料庫中的月數據表中存儲的當前數據為2017年4月8日之前的30天內(即2017年3月9號至2017年4月7日)整合後的新增至主資料庫中的數據(2017年4月8日對應的月目標數據)。因此需要先將月數據表中的當前數據刪除,再將2017年4月9日對應的月目標數據發送至備份數據中的月數據表中存儲。

為了節省主資料庫的存儲空間,在獲取月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲之後,數據查詢裝置刪除主資料庫中當前日對應的月目標數據。

對於執行步驟s101開始時間可選為當前日的0點,在步驟s101執行完畢後執行步驟s102。

對於步驟s103,數據查詢裝置根據原始數據表,將主資料庫中的日數據進行整合,得到日目標數據,日數據為當前日主資料庫新增的日數據。其中,日目標數據可以存儲在主資料庫中的日數據表中;若當前日為4月9日,日數據為4月9日新增至主資料庫中的數據。

此處的整合的含義與步驟s101中整合的含義相同。

對於步驟s104,在得到日目標數據後,數據查詢裝置獲取日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲,以使用戶根據日數據表查詢日數據。

同樣地,在獲取日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲之前,數據查詢裝置刪除備份數據中的日數據表中的當前數據。比如,當前日為2017年4月9日,在數據查詢裝置獲取日目標數據(整合後的2017年4月9日新增至主資料庫中的數據),並將日目標數據發送至備份資料庫中的月數據表中之前,備份資料庫中的日數據表中存儲的當前數據為整合後的2017年4月8日新增至主資料庫中的數據。因此需要先將日數據表中的當前數據刪除,再將整合後的2017年4月9日新增至主資料庫中的數據發送至備份數據中的日數據表中進行存儲。

為了節省主資料庫的存儲空間,在當前日的24點或者當前日的下一日,數據查詢裝置刪除主資料庫中當前日對應的日目標數據。

由於當前日之前n日內新增的數據和當前日新增的數據的查詢頻率比較高,因此,將主資料庫中的月數據和日數據整合後發送至備份資料庫中進行存儲,以使用戶可採用備份資料庫進行數據查詢,大大分散了主資料庫的查詢壓力,提高了數據查詢效率。同時,由於主資料庫的查詢壓力被分散,因此,主資料庫對數據的處理能力得到了增強。

本實施例的實現數據查詢的方法包括:根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,月數據為當前日之前n日內主資料庫新增的數據;獲取月目標數據表,並將月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據月數據表查詢月目標數據;根據原始數據表,將主資料庫中的日數據進行整合,得到日目標數據,日數據為當前日主資料庫新增的數據;獲取日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲,以使用戶根據日數據表查詢日目標數據。本實施例的實現數據查詢的方法提高了數據查詢效率,增強了主資料庫的數據的處理能力。

下面採用幾個具體的實施例,對圖1所示方法實施例的技術方案進行詳細說明。

圖3為本發明提供的實現數據查詢的方法實施例二的流程圖,本實施例的方法是針對上一實施例中的步驟s103和步驟s104的詳細說明。如圖3所示,本實施例的方法可以包括:

步驟s201、每間隔第一預設時長,根據原始數據表,從主資料庫中獲取相應第一預設時長內新增的第一日數據,並將第一日數據進行整合,得到第一日目標數據;

具體地,由於在當前日,主資料庫中的數據可能實時都在增加,因此,需要每隔第一預設時長將相應第一預設時長內新增至主資料庫中的第一日數據進行整合。此處的整合與上一實施例中的整合的意義相同,本實施例中不再贅述。

其中,第一預設時長可選為30min。比如在當前日10:30將當前日10:00至10:30之間新增至主資料庫中的第一日資料庫整合,得到10:00至10:30之間的第一預設時長內對應的第一日目標數據,在當前日11:00將當前日10:30至11:00之間新增至主資料庫中的第一日資料庫進行整合,得到10:30至11:00之間的第一預設時長內對應的第一日目標數據;以此類推,直至當前日新增至主資料庫中的各第一日數據均被整合成第一日目標數據。

步驟s202、獲取第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲。

具體地,比如在當前日10:30將當前日10:00至10:30之間新增至主資料庫中的第一日數據整合得到第一日目標數據後,接著獲取該第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲。

更為具體地,由於當前日的數據實時性比較高,為了用戶查詢時不影響數據查詢裝置將第一目標數據發送至備份資料庫中的日數據表中進行存儲,備份資料庫中的日數據表包括第一日數據表和第二日數據表,第一日數據表和第二日數據表交替用於日目標數據的查詢與日目標數據的存儲,也就是當第一日數據表用於日目標數據的存儲時(即接收數據查詢裝置從主資料庫獲取的相應第一預設時長內的日目標數據),第二日數據表用於用戶對日目標數據的查詢,當第二日數據表用於日目標數據的存儲時,第一日數據表用於用戶對日目標數據的查詢。

第一日數據表包括第三欄位,第三欄位用於指示第一日數據表的第一狀態,第三欄位可變化,比如,若第三欄位為yes,說明第一狀態為寫狀態,第一日數據表用於第一日目標數據的存儲;若第三欄位為no,說明第一狀態為讀狀態,第一日數據表用於日目標數據的查詢。第二日數據表包括第四欄位,第四欄位用於指示第二日數據表的第二狀態,第四欄位可變化,比如,若第四欄位為yes,說明第二狀態為寫狀態,第二日數據表用於第一日目標數據的存儲;若第四欄位為no,說明第二狀態為讀狀態,第二日數據表用於日目標數據的查詢。

備份資料庫中還包括參數表,參數表包括第一欄位和第二欄位,第一欄位的值用於指示日數據表允許被更新的最小時間間隔;第二欄位的值用於與第一欄位的值比較,以判斷是否從主資料庫中獲取相應的第一日目標數據,第二欄位的值可變化,第二欄位的值為第一欄位的值的整數倍。

具體地,獲取第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲之前,數據查詢裝置判斷第二欄位的當前值是否等於第一欄位的值。若得到的結果為是,數據查詢裝置獲取相應預設時長內的第一日目標數據,將第一日目標數據發送至備份資料庫中的日數據表中進行存儲。

其中,若第二欄位的當前值等於第一欄位的值,則數據查詢裝置將第一日目標數據發送至備份資料庫中的日數據表中進行存儲,具體為:獲取第一日數據表的第一狀態和第二日數據表的第二狀態;

若第一狀態為寫狀態,將第一狀態更新為讀狀態,將第二狀態由讀狀態更新為寫狀態,第二欄位的值更新為目標值;並獲取第一日目標數據,將第一日目標數據發送至第二日數據表中進行存儲;

若第一狀態為讀狀態,將第一狀態更新為寫狀態,將第二狀態由寫狀態更新為讀狀態,將第二欄位的值更新為目標值;並獲取第一日目標數據,將第一日目標數據發送至第一日數據表中進行存儲;

其中,目標值為預設的更新日目標數據被存儲的日數據表的時間間隔。

此外,在獲取第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲之後,數據查詢裝置每間隔第二預設時長,判斷第二欄位當前值是否與第一欄位的值相等;第二預設時長與日數據表允許被更新的最小時間間隔相等;若判斷結果為否,則將第二欄位當前值減去一預設值;若判斷結果為是,則從主資料庫中獲取下個第一預設時長內對應的第一日目標數據。

下面,採用具體的實例對上述過程進行說明。

若目標值為30min,第一欄位的值為10min,預設值為10min,第一日數據表的第一狀態為寫狀態,第二日數據表的第一狀態為讀狀態。

其中,目標值也為第二欄位的最大值,第一欄位的值也就是日數據表允許被更新的最小時間間隔。

具體地,若第二欄位的當前值為10min,第一欄位的值和第二欄位的值相等,數據查詢裝置將第二欄位的當前值更新為目標值30min,將第一狀態更新為讀狀態,將第二狀態更新為寫狀態,從主資料庫中獲取相應第一預設時長對應的第一日目標數據,並將該第一日目標數據發送至第二日數據表進行存儲。

在獲取該第一日目標數據,並將該第一日目標數據發送至備份資料庫中的日數據表中進行存儲之後,數據查詢裝置間隔10min,判斷第二欄位當前值30min是否與第一欄位的值10min相等,判斷結果為不相等,則將第二欄位當前值30min減去預設值10min,得到第二欄位新的當前值20min,間隔10min後,再次判斷第二欄位當前值20min是否與第一欄位的值10min相等,判斷結果為不相等,則將第二欄位的當前值20min減去預設值10min,得到第二欄位新的當前值10min,間隔10min後,再次判斷第二欄位當前值10min是否與第一欄位的值10min相等,判斷結果為相等,則從主資料庫中獲取下個第一預設時長內對應的第一日目標數據,並將第一狀態更新為寫狀態,將第二狀態更新為讀狀態,將第二欄位的當前值更新為目標值30min,從主資料庫中獲取下一第一預設時長對應的第一日目標數據,並將該第一日目標數據發送至第一日數據表進行存儲。

本領域技術人員可以理解的是,預設值需要使得第二欄位的值減去預設值後的值仍然為第一欄位的值的整數倍。

參數表中第一欄位和第二欄位的上述設置方式,可以根據實際需要更改預設的更新日目標數據被存儲的日數據表的時間間隔,便可以達到控制用戶能查到的最新數據的發生時間。比如當前日上午的主資料庫的數據更新頻率不大,30min更新一次日目標數據被存儲的日數據表即可,此時用戶可查詢到30min前新增至主資料庫中的數據;當前日下午主資料庫的數據更新頻率便大,需要10min更新一次日目標數據被存儲的日數據表,以使用戶可以儘可能的查詢到最新的數據,此時用戶可查詢到10min前新增至主資料庫中的數據。

本實施例的實現數據查詢的方法,通過設置兩個日數據表,實現了用戶查詢時不影響數據查詢裝置將日目標數據發送至備份資料庫中的日數據表中進行存儲的過程;通過設置參數表,可以方便的控制用戶能查到的最新數據的發生時間。

為了進一步減小主資料庫的查詢壓力,本實施例在上述實施例的基礎上進行了改進。圖4為本發明提供的數據查詢裝置實施例三的流程圖,如圖4所示,本實施例的方法可以包括:

步驟s301、每間隔第三預設時長,針對主資料庫中的每個目標原始數據表,目標原始數據表為從第一時間至第二時間之間新增至主資料庫中的原始數據表,將目標原始數據表重新命名,得到年數據表;第二時間為獲取年數據表的獲取日之前第m天對應的時間,第一時間與第二時間之間的時間間隔為第三預設時長,第一時間在第二時間之前;其中,第三預設時長對應的天數大於等於n,m大於n,年數據表的名稱包括第一字符和第二字符,第一字符為相應的原始數據表的名稱對應的字符,第二字符為第二時間對應的年份字符。

具體地,主資料庫中的每一個業務數據表即為一個原始數據表。

若第三預設時長為40天,獲取年數據表的獲取日恰好為當前日,當前日為2017年4月9日,m為35天,第一時間則為2017年1月25日,第二時間則為2017年3月5日;數據查詢裝置獲取2017年1月25日至2017年3月5日新增至主資料庫中的原始數據表,將2017年1月25日至2017年3月5日新增至主資料庫中的原始數據表重新命名。其中,每個原始數據表對應得到一個年數據表。

年數據表的命名規則為將原始數據表的名稱後添加目標年份作為年數據表的名稱,目標年份為第二時間對應的年份。比如,若原始數據的名稱為a,第二時間對應的年份為2017,則原始數據對應的年數據表的名稱可為a2017。

步驟s302、將各年數據表發送至備份資料庫中進行存儲,以使用戶根據年數據表查詢年數據;

將各年數據表發送至備份資料庫中進行存儲後,若用戶需要查詢2017年對應的年數據,數據查詢裝置便可以從備份資料庫中的名稱中包含2017的年數據表中尋找相應的數據返回給用戶的終端即可,在進一步分散了主數據查詢壓力的同時,實現了大數據的快速查詢,進一步增強了主資料庫的處理能力。

步驟s303、刪除主資料庫中的年數據表。

刪除主資料庫中的年數據表,大大節省了主資料庫的存儲時間,更近一步增強了主資料庫的處理能力。

本實施例通過在備份資料庫中存儲年數據表,進一步分散了主資料庫的查詢壓力,實現了大數據的快速查詢,增強了主資料庫的處理能力。

採用上述的實施例的處理方法後得到的備份資料庫,供用戶進行大部分數據的查詢,採用上述的處理方法後得到的主資料庫,用於數據的處理和供用戶進行小部分數據的查詢

下面採用具體的實施例,對用戶進行數據查詢的過程進行詳細說明。本領域技術人員可以理解,以下實施例中的備份資料庫為採用上述實施例的方法得到的備份資料庫,以下實施例中的主資料庫為採用上述實施例的方法得到的主資料庫;以下實施例的執行主體也可為圖1中的數據查詢裝置。

圖5為本發明提供的實現數據查詢的方法實施例三的流程圖,如圖5所示,本實施例的方法可以包括:

步驟s401,獲取用戶通過用戶界面輸入的查詢請求,查詢請求中包括查詢時間屬性和查詢時間屬性對應的查詢時間範圍;

步驟s402,根據查詢時間屬性和查詢時間屬性對應的查詢時間範圍,確定與查詢時間範圍對應的待查詢數據所屬的目標資料庫,目標資料庫為備份資料庫或主資料庫;

步驟s403,從目標資料庫中獲取待查詢數據,並將待查詢數據發送至用戶的終端。

具體地,本實施例中的備份資料庫為採用上述實施例的方法後得到的備份資料庫,主資料庫為採用上述實施例的方法後得到的主資料庫。

用戶通過終端的用戶輸入界面輸入查詢時間屬性和查詢時間屬性對應的查詢時間範圍,終端可為圖1中所示的終端。

數據查詢裝置獲取用戶通過終端的用戶輸入界面輸入的查詢時間屬性和查詢時間屬性對應的查詢時間範圍,確定與查詢時間範圍對應的待查詢數據所屬的目標資料庫,即確定是從主資料庫中還是從備份資料庫中獲取待查詢數據。

數據查詢裝置確定好目標資料庫後,從目標資料庫中獲取待查詢數據,並將待查詢數據發送至用戶的終端。

圖6為本發明提供的用戶終端輸入界面示意圖一。

下面結合圖6,以具體的實例說明步驟s401~步驟s403的詳細過程。

比如,當前日為2017年4月9日,備份資料庫中的月數據表中的數據為當前日之前30天內(即2017年3月10號至2017年4月8日)整合後的新增至主資料庫中的數據,備份資料庫中的日數據表中的數據為2017年4月9日整合後的新增至主資料庫中的數據;備份資料庫中含有圖4所示的實施例中的年數據表,且當前獲取年數據表的獲取日為當前日。

查詢時間屬性包括月目標數據、日目標數據和年數據。在所舉例的應用場景下,若查詢時間屬性為月目標數據、日目標數據,則確定目標資料庫為備份資料庫,若查詢時間屬性為年數據,且年數據對應的查詢時間範圍處於當前日之前第m天之後的範圍內,則確定目標資料庫為主資料庫;若查詢時間屬性為年屬性,且年屬性範圍對應的查詢時間範圍處於當前日之前第m天之前及當年日之前第m天的範圍內,則確定目標資料庫為備份資料庫。m的含義與圖4所示的實施例中的m的含義相同。在該舉例中,m取為35天,獲取年數據表間隔的第三預設時長為40天。

具體地,如圖6所示,在用戶的輸入界面上顯示有查詢時間屬性的下拉式選擇框,下拉式選擇框中包括月目標數據、日目標數據和年數據的選項。當用戶選擇了月目標數據後,用戶的輸入界面上會顯示查詢時間範圍輸入框,可輸入的時間範圍為2017年3月10日至2017年4月8日中的一天或幾天(若輸入的時間範圍不在2017年3月10日至2017年4月8日的範圍內,則為無效輸入),並會顯示業務屬性下拉式選擇框,比如,用戶輸入的時間範圍為2017年3月23日至2017年3月26日,選擇的業務屬性為銀行扣除投保人保費的時間,數據查詢裝置便會根據用戶輸入的查詢時間範圍和業務屬性,從備份資料庫中的月數據表中獲取銀行扣除投保人保費的時間發生在2017年3月23日至2017年3月26日的業務對應的數據,並將獲取的數據返回至用戶的終端供用戶查看並使用。

當用戶選擇了日目標數據後,用戶的輸入界面上會顯示查詢時間範圍輸入框,可輸入的時間範圍為2017年4月9日這一天(若輸入的時間範圍不為2017年4月9日,則為無效輸入),並會顯示業務屬性下拉式選擇框;若用戶的選擇的業務屬性為銀行扣除投保人保費的時間,數據查詢裝置便會根據用戶選定的查詢時間範圍和業務屬性,從備份資料庫中的日目標數據表中獲取銀行扣除投保人保費的時間發生在2017年4月9日的業務對應的數據,並將獲取的數據返回至用戶的終端供用戶查看並使用。

當用戶選擇了年數據後,用戶的輸入界面上會顯示查詢時間範圍,可選的時間範圍為2017年4月9號之前的任一天或幾天(若輸入的時間範圍在2017年4月9日之後,則為無效輸入)並會顯示業務屬性下拉式選擇框;若用戶輸入的時間範圍為2017年3月1日至2017年3月3日(在當前獲取日之前的第35天之前的範圍內,目標資料庫為備份資料庫),選擇的業務屬性為銀行扣除投保人保費的時間,數據查詢裝置便會根據用戶輸入的查詢時間範圍和業務屬性,從備份資料庫中的年數據表中獲取銀行扣除投保人保費的時間發生在2017年3月1日至2017年3月3日的業務對應的數據,並將獲取的數據返回至用戶的終端供用戶查看並使用;若用戶輸入的時間範圍為2017年3月6日至2017年3月7日(在當前獲取日之前的第35天之後的範圍內,目標資料庫為主資料庫),選擇的業務屬性為銀行扣除投保人保費的時間,數據查詢裝置便會根據用戶選定的查詢時間範圍和業務屬性,從主資料庫中的年數據表中獲取銀行扣除投保人保費的時間發生在2017年3月6日至2017年3月7日的業務對應的數據,並將獲取的數據返回至用戶的終端供用戶查看並使用。

本領域技術人員可以理解的是,查詢時間屬性為年數據屬性時,用戶查詢得到的數據為未經整合前的原始數據,也可稱為歷史數據;查詢時間屬性為月目標數據或日目標數據時,用戶查詢得到的數據為將原始數據整合後的數據。

另外,若備份資料庫中沒有年數據表,當查詢時間屬性為年數據時,目標資料庫便始終為主資料庫。由於年數據屬於歷史數據,查詢頻率很低,月目標數據和日目標數據查詢頻率很高,因此,即使沒有將年數據表存儲至備份資料庫中,主資料庫用於年數據的查詢,備份資料庫用於月目標數據和日目標數據的查詢,仍能大大的分散主資料庫的查詢壓力,提高查詢效率。

進一步地,備份資料庫中的日數據表包括第一日數據表和第二日數據表;第一日數據表包括第三欄位,第三欄位用於指示第一日數據表的第一狀態,第三欄位可變化,比如,若第三欄位為yes,說明第一狀態為寫狀態,第一日數據表用於日目標數據的存儲(接收數據查詢裝置從主資料庫獲取相應第一預設時長內的日目標數據);若第三欄位為no,說明第一狀態為讀狀態,第一日數據表用於日目標數據的查詢(用戶從第一日數據表獲取日目標數據)。第二日數據表包括第四欄位,第四欄位用於指示第二日數據表的第二狀態,第四欄位可變化,比如,若第四欄位為yes,說明第二狀態為寫狀態,第二日數據表用於日目標數據的存儲;若第四欄位為no,說明第二狀態為讀狀態,第二日數據表用於日目標數據的查詢。

若查詢時間屬性為日目標數據屬性且日目標數據屬性對應的查詢時間範圍為當前日,目標資料庫為備份資料庫,從目標資料庫中獲取待查詢數據,並將待查詢數據發送至所述用戶的終端,包括:

獲取與當前日對應的第一日數據表的第一狀態和與當前日對應的第二日數據表的第二狀態,若第一狀態為讀狀態、第二狀態為寫狀態,則將與當前日對應的第一日數據表中的待查詢數據發送至用戶的終端;

若第一狀態為寫狀態,第二狀態為讀狀態,則將與當前日對應的第二日數據表中的待查詢數據發送至用戶的終端。

本實施例的實現數據查詢的方法,包括:獲取用戶通過用戶界面輸入的查詢請求,查詢請求中包括查詢時間屬性和查詢時間屬性對應的查詢時間範圍;根據查詢時間屬性和查詢時間屬性對應的查詢時間範圍,確定與查詢時間範圍對應的待查詢數據所屬的目標資料庫,目標資料庫為備份資料庫或主資料庫;從目標資料庫中獲取待查詢數據,並將待查詢數據發送至用戶的終端。本實施例的實現數據查詢的方法,提高了數據查詢效率。

圖7為本發明提供的實現數據的查詢裝置實施例一的結構示意圖,如圖7所示,本實施例的裝置可以包括:數據整合模塊71和調度模塊72,其中,數據整合模塊71,用於根據主資料庫的原始數據表,將主資料庫中的月數據進行整合,得到月目標數據,月數據為當前日之前n日內主資料庫新增的數據,n為正整數;以及用於,根據原始數據表,將主資料庫中的日數據進行整合,得到日目標數據,日數據為當前日主資料庫新增的數據;

調度模塊72,用於獲取月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲,以使用戶根據月數據表查詢月目標數據;以及用於,獲取日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲,以使用戶根據日數據表查詢日目標數據。

數據整合模塊71具體用於每間隔第一預設時長,根據原始數據表,從主資料庫中獲取相應第一預設時長內新增的第一日數據,並將第一日數據進行整合,得到第一日目標數據;

相應地,調度模塊72具體用於獲取第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲。

本實施例的裝置,可以用於執行上述方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。

圖8為本發明提供的實現數據的查詢裝置實施例二的結構示意圖,如圖8所示,本實施例的裝置在圖7所示裝置結構的基礎上,進一步地,還可以包括:第一獲取模塊73、判斷模塊74和刪除模塊75;

第一獲取模塊73用於每間隔第三預設時長,針對主資料庫中的每個目標原始數據表,目標原始數據表為從第一時間至第二時間之間新增至主資料庫中的原始數據表,將目標原始數據表重新命名,得到年數據表;第二時間為獲取年數據表的獲取日之前第m天對應的時間,第一時間與第二時間之間的時間間隔為第三預設時長,第一時間在第二時間之前;其中,第三預設時長對應的天數大於等於n,m大於n,年數據表的名稱包括第一字符和第二字符,第一字符為相應的原始數據表的名稱對應的字符,第二字符為第二時間對應的年份字符;調度模塊72還用於將各年數據表發送至備份資料庫中進行存儲,以使用戶根據年數據表查詢年數據;刪除模塊75用於,刪除主數據中的年數據表。

備份資料庫中還包括參數表,參數表包括第一欄位和第二欄位,第二欄位的值可變化,第二欄位的值為第一欄位的值的整數倍,在調度模塊82獲取第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲之前,判斷模塊74用於判斷第二欄位的當前值是否等於第一欄位的值,得到的結果為是。

日數據表包括第一日數據表和第二日數據表,在判斷模塊74判斷第二欄位的當前值等於第一欄位的值後,調度模塊72具體用於獲取第一日數據表的第一狀態和第二日數據表的第二狀態;若第一狀態為寫狀態,將第一狀態更新為讀狀態,將第二狀態由讀狀態更新為寫狀態,第二欄位的值更新為目標值;並獲取第一日目標數據,將第一日目標數據發送至第二日數據表中進行存儲;若第一狀態為讀狀態,將第一狀態更新為寫狀態,將第二狀態由寫狀態更新為讀狀態,將第二欄位的值更新為目標值;並獲取第一日目標數據,將第一日目標數據發送至第一日數據表中進行存儲;其中,目標值為預設的更新日目標數據被備份的日數據表的時間間隔。

在調度模塊72獲取第一日目標數據,並將第一日目標數據發送至備份資料庫中的日數據表中進行存儲之後,判斷模塊74用於每間隔第二預設時長,判斷第二欄位當前值是否與第一欄位的值相等;第二預設時長與日數據表允許被更新的最小時間間隔相等;若判斷結果為否,則將第二欄位當前值減去一預設值;若判斷結果為是,則調度模塊72從主資料庫中獲取下個第一預設時長內對應的第一日目標數據。

在調度模塊72獲取月目標數據表中的月目標數據,並將月目標數據發送至備份資料庫中的月數據表中進行存儲之前,刪除模塊75還用於刪除備份數據中的月數據表中的當前數據;在調度模塊72獲取日目標數據表中的日目標數據,並將日目標數據發送至備份資料庫中的日數據表中進行存儲之前,刪除模塊75還用於刪除備份數據中的日數據表中的當前數據。

本實施例的裝置,可以用於執行上述方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。

圖9為本發明提供的實現數據查詢的裝置實施例三的結構示意圖,如圖9所示,本實施例的裝置包括:第二獲取模塊91,確定模塊92和發送模塊93;

第二獲取模塊91用於,獲取用戶通過用戶界面輸入的查詢請求,查詢請求中包括查詢時間屬性和查詢時間屬性對應的查詢時間範圍;確定模塊92用於根據查詢時間屬性和查詢時間屬性對應的查詢時間範圍,確定與查詢時間範圍對應的待查詢數據所屬的目標資料庫,目標資料庫為備份資料庫或主資料庫;發送模塊93用於從目標資料庫中獲取待查詢數據,並將待查詢數據發送至用戶的終端。

發送模塊93具體用於獲取與當前日對應的第一日數據表的第一狀態和與當前日對應的第二日數據表的第二狀態,若第一狀態為讀狀態、第二狀態為寫狀態,則將與當前日對應的第一日數據表中的待查詢數據發送至用戶的終端;若第一狀態為寫狀態,第二狀態為讀狀態,則將與當前日對應的第二日數據表中的待查詢數據發送至用戶的終端。

本實施例的裝置,可以用於執行圖5所示方法實施例的技術方案,其實現原理和技術效果類似,此處不再贅述。

本領域技術人員應當明白,圖7和/或圖8所示的實現數據查詢的裝置與圖9所示的實現數據查詢的裝置可集成在一起,組成一個實現數據查詢的裝置。

本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成。前述的程序可以存儲於一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:rom、ram、磁碟或者光碟等各種可以存儲程序代碼的介質。

最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀