本發(fā)明涉及數(shù)據(jù)處理技術(shù),尤其涉及一種實(shí)現(xiàn)數(shù)據(jù)查詢的方法和裝置。
背景技術(shù):
由于業(yè)務(wù)量的提升,金融相關(guān)公司的資金系統(tǒng)對(duì)應(yīng)的數(shù)據(jù)庫(kù)每個(gè)月都會(huì)有數(shù)以千萬(wàn)的數(shù)據(jù)需要和資金平臺(tái)對(duì)接,使得資金系統(tǒng)的數(shù)據(jù)庫(kù)中數(shù)據(jù)大量飆升,造成了數(shù)據(jù)查詢效率較低。
現(xiàn)有技術(shù)中,為了解決用戶通過(guò)資金系統(tǒng)的數(shù)據(jù)庫(kù)查詢數(shù)據(jù)效率較低的技術(shù)問(wèn)題,對(duì)資金系統(tǒng)的數(shù)據(jù)庫(kù)中的數(shù)據(jù)表結(jié)構(gòu)進(jìn)行了優(yōu)化,將必要的查詢字段都添加了索引。但增加索引的方法不能解決數(shù)據(jù)量達(dá)到一定量時(shí),用戶采用資金系統(tǒng)的數(shù)據(jù)庫(kù)查詢數(shù)據(jù)效率較低的技術(shù)問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種實(shí)現(xiàn)數(shù)據(jù)查詢的方法和裝置,以克服現(xiàn)有技術(shù)中當(dāng)數(shù)據(jù)庫(kù)數(shù)據(jù)量較大時(shí),數(shù)據(jù)查詢效率較低的技術(shù)問(wèn)題。
本發(fā)明提供一種實(shí)現(xiàn)數(shù)據(jù)查詢的方法,包括:
根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),所述月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)所述主數(shù)據(jù)庫(kù)新增的數(shù)據(jù),n為正整數(shù);
獲取所述月目標(biāo)數(shù)據(jù),并將所述月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)所述月數(shù)據(jù)表查詢所述月目標(biāo)數(shù)據(jù);
根據(jù)所述原始數(shù)據(jù)表,將所述主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),所述日數(shù)據(jù)為當(dāng)前日所述主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);
獲取所述日目標(biāo)數(shù)據(jù),并將所述日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)所述日數(shù)據(jù)表查詢所述日目標(biāo)數(shù)據(jù)。
如上所述的方法,根據(jù)所述原始數(shù)據(jù)表,將所述主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,包括:
每間隔第一預(yù)設(shè)時(shí)長(zhǎng),根據(jù)所述原始數(shù)據(jù)表,從主數(shù)據(jù)庫(kù)中獲取相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)新增的第一日數(shù)據(jù),并將所述第一日數(shù)據(jù)進(jìn)行整合,得到第一日目標(biāo)數(shù)據(jù);
相應(yīng)地,獲取所述日目標(biāo)數(shù)據(jù),并將所述日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),包括:
獲取所述第一日目標(biāo)數(shù)據(jù),并將所述第一日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)。
如上所述的方法,所述備份數(shù)據(jù)庫(kù)中還包括參數(shù)表,所述參數(shù)表包括第一字段和第二字段,所述第一字段的值用于指示所述日數(shù)據(jù)表允許被更新的最小時(shí)間間隔;所述第二字段的值用于與所述第一字段的值比較,以判斷是否從所述主數(shù)據(jù)庫(kù)中獲取相應(yīng)的第一日目標(biāo)數(shù)據(jù),所述第二字段的值可變化,所述第二字段的值為所述第一字段的值的整數(shù)倍;
獲取所述第一日目標(biāo)數(shù)據(jù),并將所述第一日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,所述方法還包括:
判斷所述第二字段的當(dāng)前值是否等于所述第一字段的值,得到的結(jié)果為是。
如上所述的方法,所述日數(shù)據(jù)表包括第一日數(shù)據(jù)表和第二日數(shù)據(jù)表;
獲取所述第一日目標(biāo)數(shù)據(jù),并將所述第一日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),包括:
獲取所述第一日數(shù)據(jù)表的第一狀態(tài)和所述第二日數(shù)據(jù)表的第二狀態(tài);
若所述第一狀態(tài)為寫(xiě)狀態(tài),將所述第一狀態(tài)更新為讀狀態(tài),將第二狀態(tài)由讀狀態(tài)更新為寫(xiě)狀態(tài),所述第二字段的值更新為目標(biāo)值;并獲取所述第一日目標(biāo)數(shù)據(jù),將所述第一日目標(biāo)數(shù)據(jù)發(fā)送至所述第二日數(shù)據(jù)表中進(jìn)行存儲(chǔ);
若所述第一狀態(tài)為讀狀態(tài),將所述第一狀態(tài)更新為寫(xiě)狀態(tài),將第二狀態(tài)由寫(xiě)狀態(tài)更新為讀狀態(tài),將所述第二字段的值更新為目標(biāo)值;并獲取所述第一日目標(biāo)數(shù)據(jù),將所述第一日目標(biāo)數(shù)據(jù)發(fā)送至所述第一日數(shù)據(jù)表中進(jìn)行存儲(chǔ);
其中,所述目標(biāo)值為預(yù)設(shè)的更新日目標(biāo)數(shù)據(jù)被存儲(chǔ)的日數(shù)據(jù)表的時(shí)間間隔。
如上所述的方法,在獲取所述第一日目標(biāo)數(shù)據(jù),并將所述第一日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之后,還包括:
每間隔第二預(yù)設(shè)時(shí)長(zhǎng),判斷所述第二字段當(dāng)前值是否與所述第一字段的值相等;所述第二預(yù)設(shè)時(shí)長(zhǎng)與日數(shù)據(jù)表允許被更新的最小時(shí)間間隔相等;
若判斷結(jié)果為否,則將所述第二字段當(dāng)前值減去一預(yù)設(shè)值;
若判斷結(jié)果為是,則從所述主數(shù)據(jù)庫(kù)中獲取下個(gè)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù)。
如上所述的方法,在獲取月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,還包括:
刪除所述備份數(shù)據(jù)中的月數(shù)據(jù)表中的當(dāng)前數(shù)據(jù);
在獲取所述日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,還包括:
刪除所述備份數(shù)據(jù)中的日數(shù)據(jù)表中的當(dāng)前數(shù)據(jù)。
如上所述的方法,所述方法還包括:
每間隔第三預(yù)設(shè)時(shí)長(zhǎng),針對(duì)主數(shù)據(jù)庫(kù)中的每個(gè)目標(biāo)原始數(shù)據(jù)表,所述目標(biāo)原始數(shù)據(jù)表為從第一時(shí)間至第二時(shí)間之間新增至所述主數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)表,將目標(biāo)原始數(shù)據(jù)表重新命名,得到年數(shù)據(jù)表;第二時(shí)間為獲取所述年數(shù)據(jù)表的獲取日之前第m天對(duì)應(yīng)的時(shí)間,所述第一時(shí)間與所述第二時(shí)間之間的時(shí)間間隔為第三預(yù)設(shè)時(shí)長(zhǎng),所述第一時(shí)間在所述第二時(shí)間之前;其中,所述第三預(yù)設(shè)時(shí)長(zhǎng)對(duì)應(yīng)的天數(shù)大于等于n,m大于n,所述年數(shù)據(jù)表的名稱包括第一字符和第二字符,第一字符為相應(yīng)的原始數(shù)據(jù)表的名稱對(duì)應(yīng)的字符,第二字符為所述第二時(shí)間對(duì)應(yīng)的年份字符;
將各所述年數(shù)據(jù)表發(fā)送至所述備份數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),以使用戶根據(jù)所述年數(shù)據(jù)表查詢所述年數(shù)據(jù);
刪除所述主數(shù)據(jù)中的年數(shù)據(jù)表。
本發(fā)明還提供一種實(shí)現(xiàn)數(shù)據(jù)查詢的方法,包括:
獲取用戶通過(guò)用戶界面輸入的查詢請(qǐng)求,所述查詢請(qǐng)求中包括查詢時(shí)間屬性和所述查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍;
根據(jù)所述查詢時(shí)間屬性和所述查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍,確定與所述查詢時(shí)間范圍對(duì)應(yīng)的待查詢數(shù)據(jù)所屬的目標(biāo)數(shù)據(jù)庫(kù),所述目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù)或主數(shù)據(jù)庫(kù);
從所述目標(biāo)數(shù)據(jù)庫(kù)中獲取所述待查詢數(shù)據(jù),并將所述待查詢數(shù)據(jù)發(fā)送至所述用戶的終端。
其中,所述備份數(shù)據(jù)庫(kù)為通過(guò)上述實(shí)現(xiàn)數(shù)據(jù)查詢的方法得到的備份數(shù)據(jù)庫(kù),所述主數(shù)據(jù)庫(kù)為通過(guò)上述實(shí)現(xiàn)數(shù)據(jù)查詢的方得到的主數(shù)據(jù)庫(kù)。
如上所述的方法,所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表包括第一日數(shù)據(jù)表和第二日數(shù)據(jù)表;
若所述查詢時(shí)間屬性為日目標(biāo)數(shù)據(jù),則所述日目標(biāo)數(shù)據(jù)對(duì)應(yīng)的查詢時(shí)間范圍為當(dāng)前日,所述目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù);
從目標(biāo)數(shù)據(jù)庫(kù)中獲取所述待查詢數(shù)據(jù),并將所述待查詢數(shù)據(jù)發(fā)送至所述用戶的終端,包括:
獲取與當(dāng)前日對(duì)應(yīng)的第一日數(shù)據(jù)表的第一狀態(tài)和與當(dāng)前日對(duì)應(yīng)的第二日數(shù)據(jù)表的第二狀態(tài),若所述第一狀態(tài)為讀狀態(tài)、所述第二狀態(tài)為寫(xiě)狀態(tài),則將與當(dāng)前日對(duì)應(yīng)的第一日數(shù)據(jù)表中的待查詢數(shù)據(jù)發(fā)送至所述用戶的終端;
若所述第一狀態(tài)為寫(xiě)狀態(tài),所述第二狀態(tài)為讀狀態(tài),則將與當(dāng)前日對(duì)應(yīng)的第二日數(shù)據(jù)表中的待查詢數(shù)據(jù)發(fā)送至所述用戶的終端。
本發(fā)明還提供一種實(shí)現(xiàn)數(shù)據(jù)查詢的裝置,包括:
數(shù)據(jù)整合模塊,用于根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),所述月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)所述主數(shù)據(jù)庫(kù)新增的數(shù)據(jù),n為正整數(shù);
調(diào)度模塊,用于獲取所述月目標(biāo)數(shù)據(jù),并將所述月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)所述月數(shù)據(jù)表查詢所述月目標(biāo)數(shù)據(jù);
所述數(shù)據(jù)整合模塊還用于,根據(jù)所述原始數(shù)據(jù)表,將所述主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),所述日數(shù)據(jù)為當(dāng)前日所述主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);
所述調(diào)度模塊還用于,獲取所述日目標(biāo)數(shù)據(jù),并將所述日目標(biāo)數(shù)據(jù)發(fā)送至所述備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)所述日數(shù)據(jù)表查詢所述日目標(biāo)數(shù)據(jù)。
本發(fā)明提供一種實(shí)現(xiàn)數(shù)據(jù)查詢的方法和裝置。本發(fā)明的實(shí)現(xiàn)數(shù)據(jù)查詢的方法包括:根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);獲取月目標(biāo)數(shù)據(jù)表,并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)月數(shù)據(jù)表查詢?cè)履繕?biāo)數(shù)據(jù);根據(jù)原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),日數(shù)據(jù)為當(dāng)前日主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);獲取日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)日數(shù)據(jù)表查詢?nèi)漳繕?biāo)數(shù)據(jù)。本發(fā)明的實(shí)現(xiàn)數(shù)據(jù)查詢的方法和裝置提高了數(shù)據(jù)查詢效率,增強(qiáng)了主數(shù)據(jù)庫(kù)的數(shù)據(jù)的處理能力。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種可能的系統(tǒng)架構(gòu)圖;
圖2為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例一的流程圖;
圖3為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例二的流程圖;
圖4為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例三的流程圖;
圖5為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例四的流程圖;
圖6為本發(fā)明提供的用戶終端輸入界面示意圖一;
圖7為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)的查詢裝置實(shí)施例一的結(jié)構(gòu)示意圖;
圖8為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)的查詢裝置實(shí)施例二的結(jié)構(gòu)示意圖;
圖9為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)的查詢裝置實(shí)施例三的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
圖1為本發(fā)明提供的一種可能的系統(tǒng)架構(gòu)圖,參見(jiàn)圖1,該系統(tǒng)架構(gòu)包括數(shù)據(jù)查詢裝置11、主數(shù)據(jù)服務(wù)器12、備份數(shù)據(jù)服務(wù)器13和終端14,主數(shù)據(jù)服務(wù)器12與主數(shù)據(jù)庫(kù)121相對(duì)應(yīng),備份數(shù)據(jù)服務(wù)器與備份數(shù)據(jù)庫(kù)131對(duì)應(yīng);數(shù)據(jù)查詢裝置11通過(guò)主數(shù)據(jù)服務(wù)器12對(duì)主數(shù)據(jù)庫(kù)121進(jìn)行操作,數(shù)據(jù)查詢裝置11通過(guò)備份數(shù)據(jù)服務(wù)器13對(duì)備份數(shù)據(jù)庫(kù)131進(jìn)行操作。
具體地,數(shù)據(jù)查詢裝置11將主數(shù)據(jù)庫(kù)121特定時(shí)間范圍內(nèi)新增的數(shù)據(jù)進(jìn)行整合后移動(dòng)或者直接移動(dòng)至備份數(shù)據(jù)庫(kù)131中,以使用戶可采用備份數(shù)據(jù)庫(kù)進(jìn)行查詢數(shù)據(jù);在用戶通過(guò)終端14進(jìn)行數(shù)據(jù)查詢時(shí),數(shù)據(jù)查詢裝置11根據(jù)用戶輸入的查詢時(shí)間屬性決定從主數(shù)據(jù)庫(kù)121中獲取數(shù)據(jù)還是從備份數(shù)據(jù)庫(kù)131中獲取數(shù)據(jù),最終將獲取的數(shù)據(jù)發(fā)送至用戶的終端14;通過(guò)上述實(shí)現(xiàn)數(shù)據(jù)查詢的方法,有效的減少了主數(shù)據(jù)庫(kù)的查詢壓力,提高了數(shù)據(jù)的查詢效率。
下面結(jié)合具體的實(shí)施例說(shuō)明本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法和裝置進(jìn)行詳細(xì)的說(shuō)明。
圖2為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例一的流程圖,如圖2所示,本實(shí)施例的方法可以包括:
步驟s101、根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)主數(shù)據(jù)庫(kù)新增的數(shù)據(jù),n為正整數(shù);
步驟s102、獲取月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)月數(shù)據(jù)表查詢?cè)履繕?biāo)數(shù)據(jù);
步驟s103、根據(jù)原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),日數(shù)據(jù)為當(dāng)前日主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);
步驟s104、獲取日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)日數(shù)據(jù)表查詢?nèi)漳繕?biāo)數(shù)據(jù)。
具體地,本實(shí)施例的實(shí)現(xiàn)數(shù)據(jù)查詢的方法的執(zhí)行主體為數(shù)據(jù)查詢裝置,數(shù)據(jù)查詢裝置可設(shè)置在主數(shù)據(jù)服務(wù)器內(nèi)部,也可設(shè)置在備份數(shù)據(jù)服務(wù)器內(nèi)部,還可以獨(dú)立存在于主數(shù)據(jù)服務(wù)器和備份數(shù)據(jù)服務(wù)器的外部;此外,數(shù)據(jù)查詢裝置還可以一部分設(shè)置在主數(shù)據(jù)服務(wù)器內(nèi)部,另一部分設(shè)置在備份數(shù)據(jù)服務(wù)器內(nèi)部,兩部分同時(shí)協(xié)作完成實(shí)現(xiàn)數(shù)據(jù)的查詢。
下面以數(shù)據(jù)查詢裝置在當(dāng)前日進(jìn)行的操作進(jìn)行說(shuō)明,其中,當(dāng)前日可為今天以及今天以前的任何一天。
在實(shí)現(xiàn)數(shù)據(jù)查詢的過(guò)程中,對(duì)于步驟s101,根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)主數(shù)據(jù)庫(kù)新增的月數(shù)據(jù)。
具體地,主數(shù)據(jù)庫(kù)為接收外部數(shù)據(jù)系統(tǒng)平臺(tái)發(fā)送的數(shù)據(jù)的數(shù)據(jù)庫(kù),若主數(shù)據(jù)可庫(kù)為某保險(xiǎn)公司對(duì)應(yīng)的數(shù)據(jù)庫(kù),則外部數(shù)據(jù)系統(tǒng)平臺(tái)可為銀行對(duì)應(yīng)的數(shù)據(jù)系統(tǒng)平臺(tái)。因此,若主數(shù)據(jù)庫(kù)既用于和外部數(shù)據(jù)系統(tǒng)平臺(tái)交互(也可稱為數(shù)據(jù)的處理),又用于數(shù)據(jù)的查詢,在主數(shù)據(jù)庫(kù)數(shù)據(jù)量很大時(shí),勢(shì)必會(huì)造成數(shù)據(jù)的查詢效率不高。
在主數(shù)據(jù)庫(kù)中,包括多個(gè)業(yè)務(wù)對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)表,其中,每個(gè)業(yè)務(wù)對(duì)應(yīng)多張邏輯復(fù)雜的業(yè)務(wù)數(shù)據(jù)表,主數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù)表也可稱為原始數(shù)據(jù)表,而同一業(yè)務(wù)對(duì)應(yīng)的各業(yè)務(wù)數(shù)據(jù)表可能來(lái)自不同的外部數(shù)據(jù)系統(tǒng)平臺(tái),因此,同一業(yè)務(wù)對(duì)應(yīng)的各業(yè)務(wù)數(shù)據(jù)表中相同種類的數(shù)據(jù)的存儲(chǔ)規(guī)則可能不相同,比如存儲(chǔ)規(guī)則可為:同一個(gè)種類的數(shù)據(jù)命名、數(shù)據(jù)的表示方式(實(shí)際字符或是10的a次方的形式)。
數(shù)據(jù)查詢裝置根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),即數(shù)據(jù)查詢裝置從各業(yè)務(wù)各自對(duì)應(yīng)的原始數(shù)據(jù)表中獲取當(dāng)前日之前n日內(nèi)主數(shù)據(jù)庫(kù)新增的月數(shù)據(jù),接著將月數(shù)據(jù)進(jìn)行整合得到月目標(biāo)數(shù)據(jù),月目標(biāo)數(shù)據(jù)可以存儲(chǔ)在主數(shù)據(jù)庫(kù)中的月目標(biāo)數(shù)據(jù)表中。其中,本實(shí)施例中的整合是指將各業(yè)務(wù)數(shù)據(jù)表中的數(shù)據(jù)以相同的存儲(chǔ)規(guī)則存儲(chǔ)。其中,在本實(shí)施例中n的取值優(yōu)選為28~31。
對(duì)于步驟s102,在得到月目標(biāo)數(shù)據(jù)后,數(shù)據(jù)查詢裝置獲取月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)月數(shù)據(jù)表查詢?cè)聰?shù)據(jù)。
其中,在獲取月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,數(shù)據(jù)查詢裝置刪除備份數(shù)據(jù)中的月數(shù)據(jù)表中的當(dāng)前數(shù)據(jù)。比如,當(dāng)前日為2017年4月9日,n為30,在數(shù)據(jù)查詢裝置獲取2017年4月9日對(duì)應(yīng)的月目標(biāo)數(shù)據(jù)(2017年4月9日之前30天(即2017年3月10號(hào)至2017年4月8日)內(nèi)整合后的新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)),并將該月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中之前,備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中存儲(chǔ)的當(dāng)前數(shù)據(jù)為2017年4月8日之前的30天內(nèi)(即2017年3月9號(hào)至2017年4月7日)整合后的新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)(2017年4月8日對(duì)應(yīng)的月目標(biāo)數(shù)據(jù))。因此需要先將月數(shù)據(jù)表中的當(dāng)前數(shù)據(jù)刪除,再將2017年4月9日對(duì)應(yīng)的月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)中的月數(shù)據(jù)表中存儲(chǔ)。
為了節(jié)省主數(shù)據(jù)庫(kù)的存儲(chǔ)空間,在獲取月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ)之后,數(shù)據(jù)查詢裝置刪除主數(shù)據(jù)庫(kù)中當(dāng)前日對(duì)應(yīng)的月目標(biāo)數(shù)據(jù)。
對(duì)于執(zhí)行步驟s101開(kāi)始時(shí)間可選為當(dāng)前日的0點(diǎn),在步驟s101執(zhí)行完畢后執(zhí)行步驟s102。
對(duì)于步驟s103,數(shù)據(jù)查詢裝置根據(jù)原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),日數(shù)據(jù)為當(dāng)前日主數(shù)據(jù)庫(kù)新增的日數(shù)據(jù)。其中,日目標(biāo)數(shù)據(jù)可以存儲(chǔ)在主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中;若當(dāng)前日為4月9日,日數(shù)據(jù)為4月9日新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
此處的整合的含義與步驟s101中整合的含義相同。
對(duì)于步驟s104,在得到日目標(biāo)數(shù)據(jù)后,數(shù)據(jù)查詢裝置獲取日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)日數(shù)據(jù)表查詢?nèi)諗?shù)據(jù)。
同樣地,在獲取日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,數(shù)據(jù)查詢裝置刪除備份數(shù)據(jù)中的日數(shù)據(jù)表中的當(dāng)前數(shù)據(jù)。比如,當(dāng)前日為2017年4月9日,在數(shù)據(jù)查詢裝置獲取日目標(biāo)數(shù)據(jù)(整合后的2017年4月9日新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中之前,備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中存儲(chǔ)的當(dāng)前數(shù)據(jù)為整合后的2017年4月8日新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)。因此需要先將日數(shù)據(jù)表中的當(dāng)前數(shù)據(jù)刪除,再將整合后的2017年4月9日新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)發(fā)送至備份數(shù)據(jù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)。
為了節(jié)省主數(shù)據(jù)庫(kù)的存儲(chǔ)空間,在當(dāng)前日的24點(diǎn)或者當(dāng)前日的下一日,數(shù)據(jù)查詢裝置刪除主數(shù)據(jù)庫(kù)中當(dāng)前日對(duì)應(yīng)的日目標(biāo)數(shù)據(jù)。
由于當(dāng)前日之前n日內(nèi)新增的數(shù)據(jù)和當(dāng)前日新增的數(shù)據(jù)的查詢頻率比較高,因此,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)和日數(shù)據(jù)整合后發(fā)送至備份數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),以使用戶可采用備份數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)查詢,大大分散了主數(shù)據(jù)庫(kù)的查詢壓力,提高了數(shù)據(jù)查詢效率。同時(shí),由于主數(shù)據(jù)庫(kù)的查詢壓力被分散,因此,主數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)的處理能力得到了增強(qiáng)。
本實(shí)施例的實(shí)現(xiàn)數(shù)據(jù)查詢的方法包括:根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);獲取月目標(biāo)數(shù)據(jù)表,并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)月數(shù)據(jù)表查詢?cè)履繕?biāo)數(shù)據(jù);根據(jù)原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),日數(shù)據(jù)為當(dāng)前日主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);獲取日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)日數(shù)據(jù)表查詢?nèi)漳繕?biāo)數(shù)據(jù)。本實(shí)施例的實(shí)現(xiàn)數(shù)據(jù)查詢的方法提高了數(shù)據(jù)查詢效率,增強(qiáng)了主數(shù)據(jù)庫(kù)的數(shù)據(jù)的處理能力。
下面采用幾個(gè)具體的實(shí)施例,對(duì)圖1所示方法實(shí)施例的技術(shù)方案進(jìn)行詳細(xì)說(shuō)明。
圖3為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例二的流程圖,本實(shí)施例的方法是針對(duì)上一實(shí)施例中的步驟s103和步驟s104的詳細(xì)說(shuō)明。如圖3所示,本實(shí)施例的方法可以包括:
步驟s201、每間隔第一預(yù)設(shè)時(shí)長(zhǎng),根據(jù)原始數(shù)據(jù)表,從主數(shù)據(jù)庫(kù)中獲取相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)新增的第一日數(shù)據(jù),并將第一日數(shù)據(jù)進(jìn)行整合,得到第一日目標(biāo)數(shù)據(jù);
具體地,由于在當(dāng)前日,主數(shù)據(jù)庫(kù)中的數(shù)據(jù)可能實(shí)時(shí)都在增加,因此,需要每隔第一預(yù)設(shè)時(shí)長(zhǎng)將相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)新增至主數(shù)據(jù)庫(kù)中的第一日數(shù)據(jù)進(jìn)行整合。此處的整合與上一實(shí)施例中的整合的意義相同,本實(shí)施例中不再贅述。
其中,第一預(yù)設(shè)時(shí)長(zhǎng)可選為30min。比如在當(dāng)前日10:30將當(dāng)前日10:00至10:30之間新增至主數(shù)據(jù)庫(kù)中的第一日數(shù)據(jù)庫(kù)整合,得到10:00至10:30之間的第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù),在當(dāng)前日11:00將當(dāng)前日10:30至11:00之間新增至主數(shù)據(jù)庫(kù)中的第一日數(shù)據(jù)庫(kù)進(jìn)行整合,得到10:30至11:00之間的第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù);以此類推,直至當(dāng)前日新增至主數(shù)據(jù)庫(kù)中的各第一日數(shù)據(jù)均被整合成第一日目標(biāo)數(shù)據(jù)。
步驟s202、獲取第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)。
具體地,比如在當(dāng)前日10:30將當(dāng)前日10:00至10:30之間新增至主數(shù)據(jù)庫(kù)中的第一日數(shù)據(jù)整合得到第一日目標(biāo)數(shù)據(jù)后,接著獲取該第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)。
更為具體地,由于當(dāng)前日的數(shù)據(jù)實(shí)時(shí)性比較高,為了用戶查詢時(shí)不影響數(shù)據(jù)查詢裝置將第一目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表包括第一日數(shù)據(jù)表和第二日數(shù)據(jù)表,第一日數(shù)據(jù)表和第二日數(shù)據(jù)表交替用于日目標(biāo)數(shù)據(jù)的查詢與日目標(biāo)數(shù)據(jù)的存儲(chǔ),也就是當(dāng)?shù)谝蝗諗?shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的存儲(chǔ)時(shí)(即接收數(shù)據(jù)查詢裝置從主數(shù)據(jù)庫(kù)獲取的相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)的日目標(biāo)數(shù)據(jù)),第二日數(shù)據(jù)表用于用戶對(duì)日目標(biāo)數(shù)據(jù)的查詢,當(dāng)?shù)诙諗?shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的存儲(chǔ)時(shí),第一日數(shù)據(jù)表用于用戶對(duì)日目標(biāo)數(shù)據(jù)的查詢。
第一日數(shù)據(jù)表包括第三字段,第三字段用于指示第一日數(shù)據(jù)表的第一狀態(tài),第三字段可變化,比如,若第三字段為yes,說(shuō)明第一狀態(tài)為寫(xiě)狀態(tài),第一日數(shù)據(jù)表用于第一日目標(biāo)數(shù)據(jù)的存儲(chǔ);若第三字段為no,說(shuō)明第一狀態(tài)為讀狀態(tài),第一日數(shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的查詢。第二日數(shù)據(jù)表包括第四字段,第四字段用于指示第二日數(shù)據(jù)表的第二狀態(tài),第四字段可變化,比如,若第四字段為yes,說(shuō)明第二狀態(tài)為寫(xiě)狀態(tài),第二日數(shù)據(jù)表用于第一日目標(biāo)數(shù)據(jù)的存儲(chǔ);若第四字段為no,說(shuō)明第二狀態(tài)為讀狀態(tài),第二日數(shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的查詢。
備份數(shù)據(jù)庫(kù)中還包括參數(shù)表,參數(shù)表包括第一字段和第二字段,第一字段的值用于指示日數(shù)據(jù)表允許被更新的最小時(shí)間間隔;第二字段的值用于與第一字段的值比較,以判斷是否從主數(shù)據(jù)庫(kù)中獲取相應(yīng)的第一日目標(biāo)數(shù)據(jù),第二字段的值可變化,第二字段的值為第一字段的值的整數(shù)倍。
具體地,獲取第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,數(shù)據(jù)查詢裝置判斷第二字段的當(dāng)前值是否等于第一字段的值。若得到的結(jié)果為是,數(shù)據(jù)查詢裝置獲取相應(yīng)預(yù)設(shè)時(shí)長(zhǎng)內(nèi)的第一日目標(biāo)數(shù)據(jù),將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)。
其中,若第二字段的當(dāng)前值等于第一字段的值,則數(shù)據(jù)查詢裝置將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),具體為:獲取第一日數(shù)據(jù)表的第一狀態(tài)和第二日數(shù)據(jù)表的第二狀態(tài);
若第一狀態(tài)為寫(xiě)狀態(tài),將第一狀態(tài)更新為讀狀態(tài),將第二狀態(tài)由讀狀態(tài)更新為寫(xiě)狀態(tài),第二字段的值更新為目標(biāo)值;并獲取第一日目標(biāo)數(shù)據(jù),將第一日目標(biāo)數(shù)據(jù)發(fā)送至第二日數(shù)據(jù)表中進(jìn)行存儲(chǔ);
若第一狀態(tài)為讀狀態(tài),將第一狀態(tài)更新為寫(xiě)狀態(tài),將第二狀態(tài)由寫(xiě)狀態(tài)更新為讀狀態(tài),將第二字段的值更新為目標(biāo)值;并獲取第一日目標(biāo)數(shù)據(jù),將第一日目標(biāo)數(shù)據(jù)發(fā)送至第一日數(shù)據(jù)表中進(jìn)行存儲(chǔ);
其中,目標(biāo)值為預(yù)設(shè)的更新日目標(biāo)數(shù)據(jù)被存儲(chǔ)的日數(shù)據(jù)表的時(shí)間間隔。
此外,在獲取第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之后,數(shù)據(jù)查詢裝置每間隔第二預(yù)設(shè)時(shí)長(zhǎng),判斷第二字段當(dāng)前值是否與第一字段的值相等;第二預(yù)設(shè)時(shí)長(zhǎng)與日數(shù)據(jù)表允許被更新的最小時(shí)間間隔相等;若判斷結(jié)果為否,則將第二字段當(dāng)前值減去一預(yù)設(shè)值;若判斷結(jié)果為是,則從主數(shù)據(jù)庫(kù)中獲取下個(gè)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù)。
下面,采用具體的實(shí)例對(duì)上述過(guò)程進(jìn)行說(shuō)明。
若目標(biāo)值為30min,第一字段的值為10min,預(yù)設(shè)值為10min,第一日數(shù)據(jù)表的第一狀態(tài)為寫(xiě)狀態(tài),第二日數(shù)據(jù)表的第一狀態(tài)為讀狀態(tài)。
其中,目標(biāo)值也為第二字段的最大值,第一字段的值也就是日數(shù)據(jù)表允許被更新的最小時(shí)間間隔。
具體地,若第二字段的當(dāng)前值為10min,第一字段的值和第二字段的值相等,數(shù)據(jù)查詢裝置將第二字段的當(dāng)前值更新為目標(biāo)值30min,將第一狀態(tài)更新為讀狀態(tài),將第二狀態(tài)更新為寫(xiě)狀態(tài),從主數(shù)據(jù)庫(kù)中獲取相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù),并將該第一日目標(biāo)數(shù)據(jù)發(fā)送至第二日數(shù)據(jù)表進(jìn)行存儲(chǔ)。
在獲取該第一日目標(biāo)數(shù)據(jù),并將該第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之后,數(shù)據(jù)查詢裝置間隔10min,判斷第二字段當(dāng)前值30min是否與第一字段的值10min相等,判斷結(jié)果為不相等,則將第二字段當(dāng)前值30min減去預(yù)設(shè)值10min,得到第二字段新的當(dāng)前值20min,間隔10min后,再次判斷第二字段當(dāng)前值20min是否與第一字段的值10min相等,判斷結(jié)果為不相等,則將第二字段的當(dāng)前值20min減去預(yù)設(shè)值10min,得到第二字段新的當(dāng)前值10min,間隔10min后,再次判斷第二字段當(dāng)前值10min是否與第一字段的值10min相等,判斷結(jié)果為相等,則從主數(shù)據(jù)庫(kù)中獲取下個(gè)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù),并將第一狀態(tài)更新為寫(xiě)狀態(tài),將第二狀態(tài)更新為讀狀態(tài),將第二字段的當(dāng)前值更新為目標(biāo)值30min,從主數(shù)據(jù)庫(kù)中獲取下一第一預(yù)設(shè)時(shí)長(zhǎng)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù),并將該第一日目標(biāo)數(shù)據(jù)發(fā)送至第一日數(shù)據(jù)表進(jìn)行存儲(chǔ)。
本領(lǐng)域技術(shù)人員可以理解的是,預(yù)設(shè)值需要使得第二字段的值減去預(yù)設(shè)值后的值仍然為第一字段的值的整數(shù)倍。
參數(shù)表中第一字段和第二字段的上述設(shè)置方式,可以根據(jù)實(shí)際需要更改預(yù)設(shè)的更新日目標(biāo)數(shù)據(jù)被存儲(chǔ)的日數(shù)據(jù)表的時(shí)間間隔,便可以達(dá)到控制用戶能查到的最新數(shù)據(jù)的發(fā)生時(shí)間。比如當(dāng)前日上午的主數(shù)據(jù)庫(kù)的數(shù)據(jù)更新頻率不大,30min更新一次日目標(biāo)數(shù)據(jù)被存儲(chǔ)的日數(shù)據(jù)表即可,此時(shí)用戶可查詢到30min前新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù);當(dāng)前日下午主數(shù)據(jù)庫(kù)的數(shù)據(jù)更新頻率便大,需要10min更新一次日目標(biāo)數(shù)據(jù)被存儲(chǔ)的日數(shù)據(jù)表,以使用戶可以盡可能的查詢到最新的數(shù)據(jù),此時(shí)用戶可查詢到10min前新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
本實(shí)施例的實(shí)現(xiàn)數(shù)據(jù)查詢的方法,通過(guò)設(shè)置兩個(gè)日數(shù)據(jù)表,實(shí)現(xiàn)了用戶查詢時(shí)不影響數(shù)據(jù)查詢裝置將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)的過(guò)程;通過(guò)設(shè)置參數(shù)表,可以方便的控制用戶能查到的最新數(shù)據(jù)的發(fā)生時(shí)間。
為了進(jìn)一步減小主數(shù)據(jù)庫(kù)的查詢壓力,本實(shí)施例在上述實(shí)施例的基礎(chǔ)上進(jìn)行了改進(jìn)。圖4為本發(fā)明提供的數(shù)據(jù)查詢裝置實(shí)施例三的流程圖,如圖4所示,本實(shí)施例的方法可以包括:
步驟s301、每間隔第三預(yù)設(shè)時(shí)長(zhǎng),針對(duì)主數(shù)據(jù)庫(kù)中的每個(gè)目標(biāo)原始數(shù)據(jù)表,目標(biāo)原始數(shù)據(jù)表為從第一時(shí)間至第二時(shí)間之間新增至主數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)表,將目標(biāo)原始數(shù)據(jù)表重新命名,得到年數(shù)據(jù)表;第二時(shí)間為獲取年數(shù)據(jù)表的獲取日之前第m天對(duì)應(yīng)的時(shí)間,第一時(shí)間與第二時(shí)間之間的時(shí)間間隔為第三預(yù)設(shè)時(shí)長(zhǎng),第一時(shí)間在第二時(shí)間之前;其中,第三預(yù)設(shè)時(shí)長(zhǎng)對(duì)應(yīng)的天數(shù)大于等于n,m大于n,年數(shù)據(jù)表的名稱包括第一字符和第二字符,第一字符為相應(yīng)的原始數(shù)據(jù)表的名稱對(duì)應(yīng)的字符,第二字符為第二時(shí)間對(duì)應(yīng)的年份字符。
具體地,主數(shù)據(jù)庫(kù)中的每一個(gè)業(yè)務(wù)數(shù)據(jù)表即為一個(gè)原始數(shù)據(jù)表。
若第三預(yù)設(shè)時(shí)長(zhǎng)為40天,獲取年數(shù)據(jù)表的獲取日恰好為當(dāng)前日,當(dāng)前日為2017年4月9日,m為35天,第一時(shí)間則為2017年1月25日,第二時(shí)間則為2017年3月5日;數(shù)據(jù)查詢裝置獲取2017年1月25日至2017年3月5日新增至主數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)表,將2017年1月25日至2017年3月5日新增至主數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)表重新命名。其中,每個(gè)原始數(shù)據(jù)表對(duì)應(yīng)得到一個(gè)年數(shù)據(jù)表。
年數(shù)據(jù)表的命名規(guī)則為將原始數(shù)據(jù)表的名稱后添加目標(biāo)年份作為年數(shù)據(jù)表的名稱,目標(biāo)年份為第二時(shí)間對(duì)應(yīng)的年份。比如,若原始數(shù)據(jù)的名稱為a,第二時(shí)間對(duì)應(yīng)的年份為2017,則原始數(shù)據(jù)對(duì)應(yīng)的年數(shù)據(jù)表的名稱可為a2017。
步驟s302、將各年數(shù)據(jù)表發(fā)送至備份數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),以使用戶根據(jù)年數(shù)據(jù)表查詢年數(shù)據(jù);
將各年數(shù)據(jù)表發(fā)送至備份數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ)后,若用戶需要查詢2017年對(duì)應(yīng)的年數(shù)據(jù),數(shù)據(jù)查詢裝置便可以從備份數(shù)據(jù)庫(kù)中的名稱中包含2017的年數(shù)據(jù)表中尋找相應(yīng)的數(shù)據(jù)返回給用戶的終端即可,在進(jìn)一步分散了主數(shù)據(jù)查詢壓力的同時(shí),實(shí)現(xiàn)了大數(shù)據(jù)的快速查詢,進(jìn)一步增強(qiáng)了主數(shù)據(jù)庫(kù)的處理能力。
步驟s303、刪除主數(shù)據(jù)庫(kù)中的年數(shù)據(jù)表。
刪除主數(shù)據(jù)庫(kù)中的年數(shù)據(jù)表,大大節(jié)省了主數(shù)據(jù)庫(kù)的存儲(chǔ)時(shí)間,更近一步增強(qiáng)了主數(shù)據(jù)庫(kù)的處理能力。
本實(shí)施例通過(guò)在備份數(shù)據(jù)庫(kù)中存儲(chǔ)年數(shù)據(jù)表,進(jìn)一步分散了主數(shù)據(jù)庫(kù)的查詢壓力,實(shí)現(xiàn)了大數(shù)據(jù)的快速查詢,增強(qiáng)了主數(shù)據(jù)庫(kù)的處理能力。
采用上述的實(shí)施例的處理方法后得到的備份數(shù)據(jù)庫(kù),供用戶進(jìn)行大部分?jǐn)?shù)據(jù)的查詢,采用上述的處理方法后得到的主數(shù)據(jù)庫(kù),用于數(shù)據(jù)的處理和供用戶進(jìn)行小部分?jǐn)?shù)據(jù)的查詢
下面采用具體的實(shí)施例,對(duì)用戶進(jìn)行數(shù)據(jù)查詢的過(guò)程進(jìn)行詳細(xì)說(shuō)明。本領(lǐng)域技術(shù)人員可以理解,以下實(shí)施例中的備份數(shù)據(jù)庫(kù)為采用上述實(shí)施例的方法得到的備份數(shù)據(jù)庫(kù),以下實(shí)施例中的主數(shù)據(jù)庫(kù)為采用上述實(shí)施例的方法得到的主數(shù)據(jù)庫(kù);以下實(shí)施例的執(zhí)行主體也可為圖1中的數(shù)據(jù)查詢裝置。
圖5為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的方法實(shí)施例三的流程圖,如圖5所示,本實(shí)施例的方法可以包括:
步驟s401,獲取用戶通過(guò)用戶界面輸入的查詢請(qǐng)求,查詢請(qǐng)求中包括查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍;
步驟s402,根據(jù)查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍,確定與查詢時(shí)間范圍對(duì)應(yīng)的待查詢數(shù)據(jù)所屬的目標(biāo)數(shù)據(jù)庫(kù),目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù)或主數(shù)據(jù)庫(kù);
步驟s403,從目標(biāo)數(shù)據(jù)庫(kù)中獲取待查詢數(shù)據(jù),并將待查詢數(shù)據(jù)發(fā)送至用戶的終端。
具體地,本實(shí)施例中的備份數(shù)據(jù)庫(kù)為采用上述實(shí)施例的方法后得到的備份數(shù)據(jù)庫(kù),主數(shù)據(jù)庫(kù)為采用上述實(shí)施例的方法后得到的主數(shù)據(jù)庫(kù)。
用戶通過(guò)終端的用戶輸入界面輸入查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍,終端可為圖1中所示的終端。
數(shù)據(jù)查詢裝置獲取用戶通過(guò)終端的用戶輸入界面輸入的查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍,確定與查詢時(shí)間范圍對(duì)應(yīng)的待查詢數(shù)據(jù)所屬的目標(biāo)數(shù)據(jù)庫(kù),即確定是從主數(shù)據(jù)庫(kù)中還是從備份數(shù)據(jù)庫(kù)中獲取待查詢數(shù)據(jù)。
數(shù)據(jù)查詢裝置確定好目標(biāo)數(shù)據(jù)庫(kù)后,從目標(biāo)數(shù)據(jù)庫(kù)中獲取待查詢數(shù)據(jù),并將待查詢數(shù)據(jù)發(fā)送至用戶的終端。
圖6為本發(fā)明提供的用戶終端輸入界面示意圖一。
下面結(jié)合圖6,以具體的實(shí)例說(shuō)明步驟s401~步驟s403的詳細(xì)過(guò)程。
比如,當(dāng)前日為2017年4月9日,備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中的數(shù)據(jù)為當(dāng)前日之前30天內(nèi)(即2017年3月10號(hào)至2017年4月8日)整合后的新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù),備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中的數(shù)據(jù)為2017年4月9日整合后的新增至主數(shù)據(jù)庫(kù)中的數(shù)據(jù);備份數(shù)據(jù)庫(kù)中含有圖4所示的實(shí)施例中的年數(shù)據(jù)表,且當(dāng)前獲取年數(shù)據(jù)表的獲取日為當(dāng)前日。
查詢時(shí)間屬性包括月目標(biāo)數(shù)據(jù)、日目標(biāo)數(shù)據(jù)和年數(shù)據(jù)。在所舉例的應(yīng)用場(chǎng)景下,若查詢時(shí)間屬性為月目標(biāo)數(shù)據(jù)、日目標(biāo)數(shù)據(jù),則確定目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù),若查詢時(shí)間屬性為年數(shù)據(jù),且年數(shù)據(jù)對(duì)應(yīng)的查詢時(shí)間范圍處于當(dāng)前日之前第m天之后的范圍內(nèi),則確定目標(biāo)數(shù)據(jù)庫(kù)為主數(shù)據(jù)庫(kù);若查詢時(shí)間屬性為年屬性,且年屬性范圍對(duì)應(yīng)的查詢時(shí)間范圍處于當(dāng)前日之前第m天之前及當(dāng)年日之前第m天的范圍內(nèi),則確定目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù)。m的含義與圖4所示的實(shí)施例中的m的含義相同。在該舉例中,m取為35天,獲取年數(shù)據(jù)表間隔的第三預(yù)設(shè)時(shí)長(zhǎng)為40天。
具體地,如圖6所示,在用戶的輸入界面上顯示有查詢時(shí)間屬性的下拉式選擇框,下拉式選擇框中包括月目標(biāo)數(shù)據(jù)、日目標(biāo)數(shù)據(jù)和年數(shù)據(jù)的選項(xiàng)。當(dāng)用戶選擇了月目標(biāo)數(shù)據(jù)后,用戶的輸入界面上會(huì)顯示查詢時(shí)間范圍輸入框,可輸入的時(shí)間范圍為2017年3月10日至2017年4月8日中的一天或幾天(若輸入的時(shí)間范圍不在2017年3月10日至2017年4月8日的范圍內(nèi),則為無(wú)效輸入),并會(huì)顯示業(yè)務(wù)屬性下拉式選擇框,比如,用戶輸入的時(shí)間范圍為2017年3月23日至2017年3月26日,選擇的業(yè)務(wù)屬性為銀行扣除投保人保費(fèi)的時(shí)間,數(shù)據(jù)查詢裝置便會(huì)根據(jù)用戶輸入的查詢時(shí)間范圍和業(yè)務(wù)屬性,從備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中獲取銀行扣除投保人保費(fèi)的時(shí)間發(fā)生在2017年3月23日至2017年3月26日的業(yè)務(wù)對(duì)應(yīng)的數(shù)據(jù),并將獲取的數(shù)據(jù)返回至用戶的終端供用戶查看并使用。
當(dāng)用戶選擇了日目標(biāo)數(shù)據(jù)后,用戶的輸入界面上會(huì)顯示查詢時(shí)間范圍輸入框,可輸入的時(shí)間范圍為2017年4月9日這一天(若輸入的時(shí)間范圍不為2017年4月9日,則為無(wú)效輸入),并會(huì)顯示業(yè)務(wù)屬性下拉式選擇框;若用戶的選擇的業(yè)務(wù)屬性為銀行扣除投保人保費(fèi)的時(shí)間,數(shù)據(jù)查詢裝置便會(huì)根據(jù)用戶選定的查詢時(shí)間范圍和業(yè)務(wù)屬性,從備份數(shù)據(jù)庫(kù)中的日目標(biāo)數(shù)據(jù)表中獲取銀行扣除投保人保費(fèi)的時(shí)間發(fā)生在2017年4月9日的業(yè)務(wù)對(duì)應(yīng)的數(shù)據(jù),并將獲取的數(shù)據(jù)返回至用戶的終端供用戶查看并使用。
當(dāng)用戶選擇了年數(shù)據(jù)后,用戶的輸入界面上會(huì)顯示查詢時(shí)間范圍,可選的時(shí)間范圍為2017年4月9號(hào)之前的任一天或幾天(若輸入的時(shí)間范圍在2017年4月9日之后,則為無(wú)效輸入)并會(huì)顯示業(yè)務(wù)屬性下拉式選擇框;若用戶輸入的時(shí)間范圍為2017年3月1日至2017年3月3日(在當(dāng)前獲取日之前的第35天之前的范圍內(nèi),目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù)),選擇的業(yè)務(wù)屬性為銀行扣除投保人保費(fèi)的時(shí)間,數(shù)據(jù)查詢裝置便會(huì)根據(jù)用戶輸入的查詢時(shí)間范圍和業(yè)務(wù)屬性,從備份數(shù)據(jù)庫(kù)中的年數(shù)據(jù)表中獲取銀行扣除投保人保費(fèi)的時(shí)間發(fā)生在2017年3月1日至2017年3月3日的業(yè)務(wù)對(duì)應(yīng)的數(shù)據(jù),并將獲取的數(shù)據(jù)返回至用戶的終端供用戶查看并使用;若用戶輸入的時(shí)間范圍為2017年3月6日至2017年3月7日(在當(dāng)前獲取日之前的第35天之后的范圍內(nèi),目標(biāo)數(shù)據(jù)庫(kù)為主數(shù)據(jù)庫(kù)),選擇的業(yè)務(wù)屬性為銀行扣除投保人保費(fèi)的時(shí)間,數(shù)據(jù)查詢裝置便會(huì)根據(jù)用戶選定的查詢時(shí)間范圍和業(yè)務(wù)屬性,從主數(shù)據(jù)庫(kù)中的年數(shù)據(jù)表中獲取銀行扣除投保人保費(fèi)的時(shí)間發(fā)生在2017年3月6日至2017年3月7日的業(yè)務(wù)對(duì)應(yīng)的數(shù)據(jù),并將獲取的數(shù)據(jù)返回至用戶的終端供用戶查看并使用。
本領(lǐng)域技術(shù)人員可以理解的是,查詢時(shí)間屬性為年數(shù)據(jù)屬性時(shí),用戶查詢得到的數(shù)據(jù)為未經(jīng)整合前的原始數(shù)據(jù),也可稱為歷史數(shù)據(jù);查詢時(shí)間屬性為月目標(biāo)數(shù)據(jù)或日目標(biāo)數(shù)據(jù)時(shí),用戶查詢得到的數(shù)據(jù)為將原始數(shù)據(jù)整合后的數(shù)據(jù)。
另外,若備份數(shù)據(jù)庫(kù)中沒(méi)有年數(shù)據(jù)表,當(dāng)查詢時(shí)間屬性為年數(shù)據(jù)時(shí),目標(biāo)數(shù)據(jù)庫(kù)便始終為主數(shù)據(jù)庫(kù)。由于年數(shù)據(jù)屬于歷史數(shù)據(jù),查詢頻率很低,月目標(biāo)數(shù)據(jù)和日目標(biāo)數(shù)據(jù)查詢頻率很高,因此,即使沒(méi)有將年數(shù)據(jù)表存儲(chǔ)至備份數(shù)據(jù)庫(kù)中,主數(shù)據(jù)庫(kù)用于年數(shù)據(jù)的查詢,備份數(shù)據(jù)庫(kù)用于月目標(biāo)數(shù)據(jù)和日目標(biāo)數(shù)據(jù)的查詢,仍能大大的分散主數(shù)據(jù)庫(kù)的查詢壓力,提高查詢效率。
進(jìn)一步地,備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表包括第一日數(shù)據(jù)表和第二日數(shù)據(jù)表;第一日數(shù)據(jù)表包括第三字段,第三字段用于指示第一日數(shù)據(jù)表的第一狀態(tài),第三字段可變化,比如,若第三字段為yes,說(shuō)明第一狀態(tài)為寫(xiě)狀態(tài),第一日數(shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的存儲(chǔ)(接收數(shù)據(jù)查詢裝置從主數(shù)據(jù)庫(kù)獲取相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)的日目標(biāo)數(shù)據(jù));若第三字段為no,說(shuō)明第一狀態(tài)為讀狀態(tài),第一日數(shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的查詢(用戶從第一日數(shù)據(jù)表獲取日目標(biāo)數(shù)據(jù))。第二日數(shù)據(jù)表包括第四字段,第四字段用于指示第二日數(shù)據(jù)表的第二狀態(tài),第四字段可變化,比如,若第四字段為yes,說(shuō)明第二狀態(tài)為寫(xiě)狀態(tài),第二日數(shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的存儲(chǔ);若第四字段為no,說(shuō)明第二狀態(tài)為讀狀態(tài),第二日數(shù)據(jù)表用于日目標(biāo)數(shù)據(jù)的查詢。
若查詢時(shí)間屬性為日目標(biāo)數(shù)據(jù)屬性且日目標(biāo)數(shù)據(jù)屬性對(duì)應(yīng)的查詢時(shí)間范圍為當(dāng)前日,目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù),從目標(biāo)數(shù)據(jù)庫(kù)中獲取待查詢數(shù)據(jù),并將待查詢數(shù)據(jù)發(fā)送至所述用戶的終端,包括:
獲取與當(dāng)前日對(duì)應(yīng)的第一日數(shù)據(jù)表的第一狀態(tài)和與當(dāng)前日對(duì)應(yīng)的第二日數(shù)據(jù)表的第二狀態(tài),若第一狀態(tài)為讀狀態(tài)、第二狀態(tài)為寫(xiě)狀態(tài),則將與當(dāng)前日對(duì)應(yīng)的第一日數(shù)據(jù)表中的待查詢數(shù)據(jù)發(fā)送至用戶的終端;
若第一狀態(tài)為寫(xiě)狀態(tài),第二狀態(tài)為讀狀態(tài),則將與當(dāng)前日對(duì)應(yīng)的第二日數(shù)據(jù)表中的待查詢數(shù)據(jù)發(fā)送至用戶的終端。
本實(shí)施例的實(shí)現(xiàn)數(shù)據(jù)查詢的方法,包括:獲取用戶通過(guò)用戶界面輸入的查詢請(qǐng)求,查詢請(qǐng)求中包括查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍;根據(jù)查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍,確定與查詢時(shí)間范圍對(duì)應(yīng)的待查詢數(shù)據(jù)所屬的目標(biāo)數(shù)據(jù)庫(kù),目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù)或主數(shù)據(jù)庫(kù);從目標(biāo)數(shù)據(jù)庫(kù)中獲取待查詢數(shù)據(jù),并將待查詢數(shù)據(jù)發(fā)送至用戶的終端。本實(shí)施例的實(shí)現(xiàn)數(shù)據(jù)查詢的方法,提高了數(shù)據(jù)查詢效率。
圖7為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)的查詢裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例的裝置可以包括:數(shù)據(jù)整合模塊71和調(diào)度模塊72,其中,數(shù)據(jù)整合模塊71,用于根據(jù)主數(shù)據(jù)庫(kù)的原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的月數(shù)據(jù)進(jìn)行整合,得到月目標(biāo)數(shù)據(jù),月數(shù)據(jù)為當(dāng)前日之前n日內(nèi)主數(shù)據(jù)庫(kù)新增的數(shù)據(jù),n為正整數(shù);以及用于,根據(jù)原始數(shù)據(jù)表,將主數(shù)據(jù)庫(kù)中的日數(shù)據(jù)進(jìn)行整合,得到日目標(biāo)數(shù)據(jù),日數(shù)據(jù)為當(dāng)前日主數(shù)據(jù)庫(kù)新增的數(shù)據(jù);
調(diào)度模塊72,用于獲取月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)月數(shù)據(jù)表查詢?cè)履繕?biāo)數(shù)據(jù);以及用于,獲取日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ),以使用戶根據(jù)日數(shù)據(jù)表查詢?nèi)漳繕?biāo)數(shù)據(jù)。
數(shù)據(jù)整合模塊71具體用于每間隔第一預(yù)設(shè)時(shí)長(zhǎng),根據(jù)原始數(shù)據(jù)表,從主數(shù)據(jù)庫(kù)中獲取相應(yīng)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)新增的第一日數(shù)據(jù),并將第一日數(shù)據(jù)進(jìn)行整合,得到第一日目標(biāo)數(shù)據(jù);
相應(yīng)地,調(diào)度模塊72具體用于獲取第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)。
本實(shí)施例的裝置,可以用于執(zhí)行上述方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖8為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)的查詢裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖8所示,本實(shí)施例的裝置在圖7所示裝置結(jié)構(gòu)的基礎(chǔ)上,進(jìn)一步地,還可以包括:第一獲取模塊73、判斷模塊74和刪除模塊75;
第一獲取模塊73用于每間隔第三預(yù)設(shè)時(shí)長(zhǎng),針對(duì)主數(shù)據(jù)庫(kù)中的每個(gè)目標(biāo)原始數(shù)據(jù)表,目標(biāo)原始數(shù)據(jù)表為從第一時(shí)間至第二時(shí)間之間新增至主數(shù)據(jù)庫(kù)中的原始數(shù)據(jù)表,將目標(biāo)原始數(shù)據(jù)表重新命名,得到年數(shù)據(jù)表;第二時(shí)間為獲取年數(shù)據(jù)表的獲取日之前第m天對(duì)應(yīng)的時(shí)間,第一時(shí)間與第二時(shí)間之間的時(shí)間間隔為第三預(yù)設(shè)時(shí)長(zhǎng),第一時(shí)間在第二時(shí)間之前;其中,第三預(yù)設(shè)時(shí)長(zhǎng)對(duì)應(yīng)的天數(shù)大于等于n,m大于n,年數(shù)據(jù)表的名稱包括第一字符和第二字符,第一字符為相應(yīng)的原始數(shù)據(jù)表的名稱對(duì)應(yīng)的字符,第二字符為第二時(shí)間對(duì)應(yīng)的年份字符;調(diào)度模塊72還用于將各年數(shù)據(jù)表發(fā)送至備份數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),以使用戶根據(jù)年數(shù)據(jù)表查詢年數(shù)據(jù);刪除模塊75用于,刪除主數(shù)據(jù)中的年數(shù)據(jù)表。
備份數(shù)據(jù)庫(kù)中還包括參數(shù)表,參數(shù)表包括第一字段和第二字段,第二字段的值可變化,第二字段的值為第一字段的值的整數(shù)倍,在調(diào)度模塊82獲取第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,判斷模塊74用于判斷第二字段的當(dāng)前值是否等于第一字段的值,得到的結(jié)果為是。
日數(shù)據(jù)表包括第一日數(shù)據(jù)表和第二日數(shù)據(jù)表,在判斷模塊74判斷第二字段的當(dāng)前值等于第一字段的值后,調(diào)度模塊72具體用于獲取第一日數(shù)據(jù)表的第一狀態(tài)和第二日數(shù)據(jù)表的第二狀態(tài);若第一狀態(tài)為寫(xiě)狀態(tài),將第一狀態(tài)更新為讀狀態(tài),將第二狀態(tài)由讀狀態(tài)更新為寫(xiě)狀態(tài),第二字段的值更新為目標(biāo)值;并獲取第一日目標(biāo)數(shù)據(jù),將第一日目標(biāo)數(shù)據(jù)發(fā)送至第二日數(shù)據(jù)表中進(jìn)行存儲(chǔ);若第一狀態(tài)為讀狀態(tài),將第一狀態(tài)更新為寫(xiě)狀態(tài),將第二狀態(tài)由寫(xiě)狀態(tài)更新為讀狀態(tài),將第二字段的值更新為目標(biāo)值;并獲取第一日目標(biāo)數(shù)據(jù),將第一日目標(biāo)數(shù)據(jù)發(fā)送至第一日數(shù)據(jù)表中進(jìn)行存儲(chǔ);其中,目標(biāo)值為預(yù)設(shè)的更新日目標(biāo)數(shù)據(jù)被備份的日數(shù)據(jù)表的時(shí)間間隔。
在調(diào)度模塊72獲取第一日目標(biāo)數(shù)據(jù),并將第一日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之后,判斷模塊74用于每間隔第二預(yù)設(shè)時(shí)長(zhǎng),判斷第二字段當(dāng)前值是否與第一字段的值相等;第二預(yù)設(shè)時(shí)長(zhǎng)與日數(shù)據(jù)表允許被更新的最小時(shí)間間隔相等;若判斷結(jié)果為否,則將第二字段當(dāng)前值減去一預(yù)設(shè)值;若判斷結(jié)果為是,則調(diào)度模塊72從主數(shù)據(jù)庫(kù)中獲取下個(gè)第一預(yù)設(shè)時(shí)長(zhǎng)內(nèi)對(duì)應(yīng)的第一日目標(biāo)數(shù)據(jù)。
在調(diào)度模塊72獲取月目標(biāo)數(shù)據(jù)表中的月目標(biāo)數(shù)據(jù),并將月目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的月數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,刪除模塊75還用于刪除備份數(shù)據(jù)中的月數(shù)據(jù)表中的當(dāng)前數(shù)據(jù);在調(diào)度模塊72獲取日目標(biāo)數(shù)據(jù)表中的日目標(biāo)數(shù)據(jù),并將日目標(biāo)數(shù)據(jù)發(fā)送至備份數(shù)據(jù)庫(kù)中的日數(shù)據(jù)表中進(jìn)行存儲(chǔ)之前,刪除模塊75還用于刪除備份數(shù)據(jù)中的日數(shù)據(jù)表中的當(dāng)前數(shù)據(jù)。
本實(shí)施例的裝置,可以用于執(zhí)行上述方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
圖9為本發(fā)明提供的實(shí)現(xiàn)數(shù)據(jù)查詢的裝置實(shí)施例三的結(jié)構(gòu)示意圖,如圖9所示,本實(shí)施例的裝置包括:第二獲取模塊91,確定模塊92和發(fā)送模塊93;
第二獲取模塊91用于,獲取用戶通過(guò)用戶界面輸入的查詢請(qǐng)求,查詢請(qǐng)求中包括查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍;確定模塊92用于根據(jù)查詢時(shí)間屬性和查詢時(shí)間屬性對(duì)應(yīng)的查詢時(shí)間范圍,確定與查詢時(shí)間范圍對(duì)應(yīng)的待查詢數(shù)據(jù)所屬的目標(biāo)數(shù)據(jù)庫(kù),目標(biāo)數(shù)據(jù)庫(kù)為備份數(shù)據(jù)庫(kù)或主數(shù)據(jù)庫(kù);發(fā)送模塊93用于從目標(biāo)數(shù)據(jù)庫(kù)中獲取待查詢數(shù)據(jù),并將待查詢數(shù)據(jù)發(fā)送至用戶的終端。
發(fā)送模塊93具體用于獲取與當(dāng)前日對(duì)應(yīng)的第一日數(shù)據(jù)表的第一狀態(tài)和與當(dāng)前日對(duì)應(yīng)的第二日數(shù)據(jù)表的第二狀態(tài),若第一狀態(tài)為讀狀態(tài)、第二狀態(tài)為寫(xiě)狀態(tài),則將與當(dāng)前日對(duì)應(yīng)的第一日數(shù)據(jù)表中的待查詢數(shù)據(jù)發(fā)送至用戶的終端;若第一狀態(tài)為寫(xiě)狀態(tài),第二狀態(tài)為讀狀態(tài),則將與當(dāng)前日對(duì)應(yīng)的第二日數(shù)據(jù)表中的待查詢數(shù)據(jù)發(fā)送至用戶的終端。
本實(shí)施例的裝置,可以用于執(zhí)行圖5所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,圖7和/或圖8所示的實(shí)現(xiàn)數(shù)據(jù)查詢的裝置與圖9所示的實(shí)現(xiàn)數(shù)據(jù)查詢的裝置可集成在一起,組成一個(gè)實(shí)現(xiàn)數(shù)據(jù)查詢的裝置。
本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:rom、ram、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。