亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)查詢的處理方法及裝置與流程

文檔序號:11134125閱讀:614來源:國知局
數(shù)據(jù)查詢的處理方法及裝置與制造工藝

本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)查詢的處理方法及裝置。



背景技術(shù):

隨著信息科技的發(fā)展,數(shù)據(jù)成為信息處理中一個非常重要的信息。且為了更加精準地對數(shù)據(jù)進行研究,對于帶有時間戳的數(shù)據(jù)通常將時間戳與數(shù)據(jù)一起保存在時序數(shù)據(jù)庫中。

傳統(tǒng)的時序數(shù)據(jù)庫是基于單機少量用戶共同使用的,用戶獨占了整個時序數(shù)據(jù)庫的資源,因此用戶運行一些耗時長久、耗費資源的查詢的話,影響并不大。但是隨著各種云服務(wù)的出現(xiàn),龐大的數(shù)據(jù)及對應的時間戳需要存儲?;谠频臅r序數(shù)據(jù)庫則是集群化的、多租戶的,多個用戶共享時序數(shù)據(jù)庫的集群。如果用戶運行了一些耗時、耗資源的查詢的話,會對整個集群產(chǎn)生影響,從而對其他用戶造成影響。為了有效的控制耗時查詢對系統(tǒng)的影響,現(xiàn)有的對時序數(shù)據(jù)庫的查詢一定都設(shè)置了限制(limit)的功能,能對查詢的原始結(jié)果(聚合前的)或者最終結(jié)果(聚合后的)的數(shù)目進行限制。其中,與對查詢的原始結(jié)果(聚合前的)進行限制相比,對查詢的最終結(jié)果(聚合后的)進行限制的方案,更能保證聚合結(jié)果的正確性。

但是,現(xiàn)有的對查詢的最終結(jié)果(聚合后的)進行限制的方案不能有效的控制耗時查詢對系統(tǒng)的影響。譬如:目前數(shù)據(jù)庫中有1年的數(shù)據(jù),總共1億個數(shù)據(jù)點,查詢的條件是將最終結(jié)果限制為1個數(shù)據(jù)點,并對原始結(jié)果每1年進行一次求和,那么得到的結(jié)果就是對1億個數(shù)據(jù)點的求和,這將消耗系統(tǒng)大量的計算資源,沒有起到控制耗時數(shù)據(jù)查詢的作用。



技術(shù)實現(xiàn)要素:

本發(fā)明提供了一種數(shù)據(jù)查詢的處理方法及裝置,用于有效控制數(shù)據(jù)查詢的耗時影響。

本發(fā)明提供一種數(shù)據(jù)查詢的處理方法,所述方法包括:

根據(jù)數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點,所述N為預設(shè)的軟性限制閾值;

根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及所述起始時刻,獲取限制時刻;

當所述限制時刻位于結(jié)束時刻之前,以所述第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從所述時序數(shù)據(jù)庫中繼續(xù)獲取所述限制時刻之前的剩余數(shù)據(jù)點;

根據(jù)各所述聚合函數(shù)對所述起始時刻至所述限制時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第一數(shù)據(jù)查詢結(jié)果。

進一步可選地,如上所述的方法中,根據(jù)各所述聚合函數(shù)對所述限制時刻之前的所有數(shù)據(jù)點進行聚合處理,得到數(shù)據(jù)查詢結(jié)果之后,所述方法還包括:

向用戶反饋所述限制時刻以及對應的所述第一數(shù)據(jù)查詢結(jié)果。

進一步可選地,如上所述的方法中,向所述用戶反饋所述限制時刻以及對應的所述第一數(shù)據(jù)查詢結(jié)果之后,還包括:

接收所述用戶發(fā)送的攜帶所述限制時刻的繼續(xù)查詢指示消息;

將所述起始時刻的數(shù)值更新為所述限制時刻的數(shù)值,以繼續(xù)進行數(shù)據(jù)查詢處理。

進一步可選地,如上所述的方法中,根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及所述起始時刻,獲取限制時刻,具體包括:

從lcm_sample_time的倍數(shù)中,取比(soft_limit_time-start_time)大的最小的一個,然后加上start_time,等于limit_time;

其中,所述lcm_sample_time為數(shù)據(jù)查詢的各所述聚合函數(shù)的采樣時間的最小公倍數(shù);所述soft_limit_time為所述第N個數(shù)據(jù)點對應的時刻;所述start_time為所述起始時刻;所述limit_time為所述限制時刻。

進一步可選地,如上所述的方法中,根據(jù)數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點之前,還包括:

獲取所述用戶指定的所述數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各所述聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的所述起始時刻和所述結(jié)束時刻。

進一步可選地,如上所述的方法中,根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及所述起始時刻,獲取限制時刻之前,所述方法包括:

從所述時序數(shù)據(jù)庫中獲取所述第N個數(shù)據(jù)點的時間戳;

將所述第N個數(shù)據(jù)點的時間戳作為所述第N個數(shù)據(jù)點對應的時刻。

進一步可選地,如上所述的方法中,當所述限制時刻位于所述結(jié)束時刻之后,還包括:

以所述第N個數(shù)據(jù)點對應的時刻開始,根據(jù)所述數(shù)據(jù)過濾條件從所述時序數(shù)據(jù)庫中繼續(xù)獲取所述結(jié)束時刻之前的剩余數(shù)據(jù)點;

根據(jù)各所述聚合函數(shù)對所述起始時刻至所述結(jié)束時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第二數(shù)據(jù)查詢結(jié)果。

本發(fā)明還提供一種數(shù)據(jù)查詢的處理裝置,所述裝置包括:

數(shù)據(jù)點獲取模塊,用于根據(jù)數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點,所述N為預設(shè)的軟性限制閾值;

時刻獲取模塊,用于根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及所述起始時刻,獲取限制時刻;

所述數(shù)據(jù)點獲取模塊,還用于當所述限制時刻位于結(jié)束時刻之前,以所述第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從所述時序數(shù)據(jù)庫中繼續(xù)獲取所述限制時刻之前的剩余數(shù)據(jù)點;

聚合處理模塊,用于根據(jù)各所述聚合函數(shù)對所述起始時刻至所述限制時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第一數(shù)據(jù)查詢結(jié)果。

進一步可選地,如上所述的裝置中,還包括:

發(fā)送模塊,用于向用戶反饋所述限制時刻以及對應的所述第一數(shù)據(jù)查詢結(jié)果。

進一步可選地,如上所述的裝置中,還包括:

接收模塊,用于接收所述用戶發(fā)送的攜帶所述限制時刻的繼續(xù)查詢指示消息;

更新模塊,用于將所述起始時刻的數(shù)值更新為所述限制時刻的數(shù)值,以繼續(xù)進行數(shù)據(jù)查詢處理。

進一步可選地,如上所述的裝置中,所述時刻獲取模塊,具體用于從lcm_sample_time的倍數(shù)中,取比(soft_limit_time-start_time)大的最小的一個,然后加上start_time,等于limit_time;

其中,所述lcm_sample_time為數(shù)據(jù)查詢的各所述聚合函數(shù)的采樣時間的最小公倍數(shù);所述soft_limit_time為所述第N個數(shù)據(jù)點對應的時刻;所述start_time為所述起始時刻;所述limit_time為所述限制時刻。

進一步可選地,如上所述的裝置中,還包括:參數(shù)獲取模塊,用于獲取所述用戶指定的所述數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各所述聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的所述起始時刻和所述結(jié)束時刻。

進一步可選地,如上所述的裝置中,所述時刻獲取模塊,還用于從所述時序數(shù)據(jù)庫中獲取所述第N個數(shù)據(jù)點的時間戳;將所述第N個數(shù)據(jù)點的時間戳作為所述第N個數(shù)據(jù)點對應的時刻。

進一步可選地,如上所述的裝置中,所述數(shù)據(jù)點獲取模塊,還用于當所述限制時刻位于所述結(jié)束時刻之后,以所述第N個數(shù)據(jù)點對應的時刻開始,根據(jù)所述數(shù)據(jù)過濾條件從所述時序數(shù)據(jù)庫中繼續(xù)獲取所述結(jié)束時刻之前的剩余數(shù)據(jù)點;

所述聚合處理模塊,還用于根據(jù)各所述聚合函數(shù)對所述起始時刻至所述結(jié)束時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第二數(shù)據(jù)查詢結(jié)果。

本發(fā)明的數(shù)據(jù)查詢的處理方法及裝置,由于采用限制時刻對數(shù)據(jù)查詢,從而實現(xiàn)了對數(shù)據(jù)的分頁查詢,每一頁的原始數(shù)據(jù)點是有限的,與現(xiàn)有技術(shù)的對查詢的最終結(jié)果(聚合后的)進行限制的技術(shù)方案相比,相同的計算機資源處理一頁數(shù)據(jù)所消耗的資源更少,消耗的時間更短,從而能夠有效地提高數(shù)據(jù)查詢的效率,真正實現(xiàn)控制數(shù)據(jù)查詢對系統(tǒng)的耗時影響,而且還可以提高用戶的使用體驗。而且,本發(fā)明的數(shù)據(jù)查詢的處理方案,還可以有效地保證數(shù)據(jù)查詢結(jié)果的準確性;另外,本發(fā)明的數(shù)據(jù)查詢的處理方案,還具有較強的適用性,不僅可以適用于對查詢的原始結(jié)果(聚合前的)進行限制的技術(shù)方案,還可以適用于對查詢的最終結(jié)果(聚合后的)進行限制的技術(shù)方案。

【附圖說明】

圖1為本發(fā)明的數(shù)據(jù)查詢的處理方法實施例的流程圖。

圖2為本發(fā)明的數(shù)據(jù)查詢的處理裝置實施例一的結(jié)構(gòu)圖。

圖3為本發(fā)明的數(shù)據(jù)查詢的處理裝置實施例二的結(jié)構(gòu)圖。

【具體實施方式】

為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。

圖1為本發(fā)明的數(shù)據(jù)查詢的處理方法實施例的流程圖。如圖1所示,本實施例的數(shù)據(jù)查詢的處理方法,具體可以包括如下步驟:

100、根據(jù)數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點;

本實施例的N為預設(shè)的軟性限制閾值,N的數(shù)值為正整數(shù)。本實施例的N為時序數(shù)據(jù)庫中預先設(shè)置的一個軟性限制值,即表示根據(jù)軟性限制值,從數(shù)據(jù)庫中取數(shù)據(jù)點時,初步取N個數(shù)據(jù)點。具體地,從數(shù)據(jù)查詢的起始時刻開始,根據(jù)數(shù)據(jù)過濾條件按順序從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點。本實施例中的預設(shè)的軟性限制閾值N可以根據(jù)實際需求來設(shè)置,例如可以參考某時序數(shù)據(jù)庫中一段歷史數(shù)據(jù)查詢的結(jié)果,選擇最恰當?shù)囊粋€預設(shè)的軟性限制閾值。本實施例的數(shù)據(jù)過濾條件具體可以限定查詢的表、哪些字段滿足什么條件等等,例如查詢所有上海地區(qū)的溫度、或者查詢北京地區(qū)的全年的濕度或者全年每次降雨的降雨量等等數(shù)據(jù)。由于時序數(shù)據(jù)庫中,可能包括一個或者多個地區(qū)的多方面的信息,根據(jù)數(shù)據(jù)過濾條件可以從時序數(shù)據(jù)庫中獲取符合數(shù)據(jù)過濾條件的數(shù)據(jù)點,然后按照數(shù)據(jù)查詢的起始時刻以及N個數(shù)據(jù)點再次從符合數(shù)據(jù)過濾條件的數(shù)據(jù)點中獲取N個符合條件的數(shù)據(jù)點。

101、根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及起始時刻,獲取限制時刻;

由于時序數(shù)據(jù)庫中的數(shù)據(jù)量非常大,如果查詢數(shù)據(jù)時直接獲取時序數(shù)據(jù)庫中的原始數(shù)據(jù),獲取的數(shù)據(jù)量非常大,有時候這些數(shù)據(jù)也不能真正反應數(shù)據(jù)的變化趨勢。因此,本實施例中也設(shè)置有聚合函數(shù)對數(shù)據(jù)查詢結(jié)果進行處理。具體地,聚合函數(shù)是對查詢的原始結(jié)果進行聚合處理。且一次數(shù)據(jù)查詢中聚合函數(shù)可以包括一個,兩個或者多個。例如查詢每5分鐘的平均值;其中5分鐘是采樣時間范圍,平均值是聚合函數(shù);再例如:某次數(shù)據(jù)查詢時的聚合函數(shù)可以包括對每五分鐘內(nèi)的數(shù)據(jù)點取平均,對每一小時的數(shù)據(jù)點求和;對應的聚合函數(shù)的采樣時間分別為5分鐘和60分鐘;取平均和求和分別為聚合函數(shù)。

由于時序數(shù)據(jù)庫中不僅存儲有數(shù)據(jù)點的數(shù)值,同時還存儲有每個數(shù)據(jù)點對應的時間戳,該時間戳即表示該數(shù)據(jù)點的時刻。因此該步驟101之前,還可以包括如下步驟:

(a1)從時序數(shù)據(jù)庫中獲取第N個數(shù)據(jù)點的時間戳;

(a2)將第N個數(shù)據(jù)點的時間戳作為第N個數(shù)據(jù)點對應的時刻。

根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及起始時刻,

102、當限制時刻位于結(jié)束時刻之前,以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取限制時刻之前的剩余數(shù)據(jù)點;

103、根據(jù)各聚合函數(shù)對起始時刻至限制時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第一數(shù)據(jù)查詢結(jié)果。

本實施例中起始時刻至限制時刻之間的所有數(shù)據(jù)點包括步驟101獲取到的N個數(shù)據(jù)點、和步驟102中以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取到的限制時刻之前的剩余數(shù)據(jù)點。

本實施例中,獲取的限制時刻由于考慮到了數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù),所以可以保證在數(shù)據(jù)查詢時,對原始數(shù)據(jù)點進行聚合處理的完整性,從而保證查詢結(jié)果的準確性。例如聚合函數(shù)的采樣時間分別為5分鐘和60分鐘的時候,可以選取數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)為60,這樣,根據(jù)可以保證限制時刻之前獲取的原始數(shù)據(jù)點均能夠進行完整的聚合處理,而不會存在部分數(shù)據(jù)無法參加聚合處理,導致數(shù)據(jù)查詢結(jié)果的錯誤。

本實施例中,以起始時刻到結(jié)束時刻之間的時間段較長為例,若數(shù)據(jù)查詢時,直接獲取起始時刻到結(jié)束時刻之間的數(shù)據(jù)點的話,數(shù)據(jù)查詢過程非常耗時,且非常消耗計算機的資源。本實施例中通過設(shè)置限制時刻,該限制時刻位于起始時刻之后、結(jié)束時刻之前,在數(shù)據(jù)查詢時,可以分頁進行數(shù)據(jù)查詢,例如本次數(shù)據(jù)查詢僅查詢該起始時刻至限制時刻之間的所有數(shù)據(jù)點,并按照各聚合函數(shù)對對起始時刻至限制時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第一數(shù)據(jù)查詢結(jié)果。本實施例的數(shù)據(jù)查詢過程可以減少數(shù)據(jù)查詢的耗時,節(jié)省計算機資源的消耗。用戶在進行數(shù)據(jù)查詢時,可以先為用戶查詢限制時刻之前的第一數(shù)據(jù)查詢結(jié)果。

進一步可選地,在上述實施例的步驟103“根據(jù)各聚合函數(shù)對起始時刻至限制時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第一數(shù)據(jù)查詢結(jié)果”之后,本實施例的數(shù)據(jù)查詢的處理方法,具體還可以包括:

向用戶反饋限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果。

本實施例中的向用戶反饋限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果,具體可以通過向用戶所使用的設(shè)備(如移動終端或者個人計算機等)發(fā)送該限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果,以供用戶所使用的設(shè)備顯示該限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果,從而實現(xiàn)向用戶反饋限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果。

本實施例中,通過向用戶反饋限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果,以告知用戶本次的數(shù)據(jù)查詢結(jié)果為限制時刻之前的數(shù)據(jù)查詢結(jié)果,如果用戶需要繼續(xù)進行數(shù)據(jù)查詢,還可以繼續(xù)指示數(shù)據(jù)查詢的處理裝置進行數(shù)據(jù)查詢。因此,進一步可選地,步驟“向用戶反饋限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果”之后,還可以包括如下步驟:

(b1)接收用戶發(fā)送的攜帶限制時刻的繼續(xù)查詢指示消息;

(b2)將起始時刻的數(shù)值更新為限制時刻的數(shù)值,以繼續(xù)進行數(shù)據(jù)查詢處理。

具體地,用戶通過所使用的設(shè)備接收到限制時刻以及對應的第一數(shù)據(jù)查詢結(jié)果之后,還需要進一步的數(shù)據(jù)查詢結(jié)果,可以通過所使用的設(shè)備向數(shù)據(jù)查詢的處理裝置發(fā)送攜帶限制時刻的繼續(xù)查詢指示消息。這樣,數(shù)據(jù)查詢的處理裝置接收到該繼續(xù)查詢指示消息之后,確定需要進一步進行數(shù)據(jù)查詢,可以先將起始時刻的數(shù)值更新為限制時刻的數(shù)值,即將限制時刻作為新的起始時刻,繼續(xù)按照上述實施例的步驟100-103進行下一輪的數(shù)據(jù)查詢,依次類推,直到查詢到結(jié)束時刻之前的所有數(shù)據(jù)。

采用本實施例的技術(shù)方案,當用戶需要再次查詢的時候,可以將該限制時刻作為起始時刻,繼續(xù)進行數(shù)據(jù)查詢,相當于將數(shù)據(jù)查詢分為多頁進行,同時可以避免用戶進行一次數(shù)據(jù)查詢,便進入無休止的等待,甚至讓用戶誤以為網(wǎng)絡(luò)故障,采用本實施例的技術(shù)方案,將數(shù)據(jù)查詢分頁進行,每一頁的數(shù)據(jù)查詢耗時較短,用戶不用長時間等待,很快便可以獲取到查詢結(jié)果。且本市實施例的技術(shù)方案中,用戶可以了解每一頁數(shù)據(jù)查詢的情況,當需要再次查詢的時候,用戶可以通過所使用的設(shè)備發(fā)送攜帶限制時刻的繼續(xù)查詢指示消息,便進入下一頁的數(shù)據(jù)查詢,用戶全程參與數(shù)據(jù)查詢的過程,極大地增強了用戶的體驗度。

進一步可選地,上述實施例的技術(shù)方案中,步驟101“根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及起始時刻,獲取限制時刻”,具體可以包括:從lcm_sample_time的倍數(shù)中,取比(soft_limit_time-start_time)大的最小的一個,然后加上start_time,等于limit_time;

其中,lcm_sample_time為數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù);soft_limit_time為第N個數(shù)據(jù)點對應的時刻;start_time為起始時刻;limit_time為限制時刻。

進一步可選地,上述實施例的技術(shù)方案中,步驟100“根據(jù)數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點“之前,還可以包括:獲取用戶指定的數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的起始時刻、結(jié)束時刻。

本實施例中的數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的起始時刻和結(jié)束時刻等這些參數(shù)信息均是由用戶進行數(shù)據(jù)查詢時指定的。具體地,這些信息可以攜帶在用戶通過所使用的設(shè)備發(fā)送的數(shù)據(jù)查詢請求中。例如數(shù)據(jù)查詢的處理裝置可以接收用戶通過所使用的設(shè)備發(fā)送的攜帶數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的起始時刻和結(jié)束時刻的數(shù)據(jù)查詢請求,并從數(shù)據(jù)查詢請求中獲取數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的起始時刻和結(jié)束時刻?;蛘哂脩粼谶M行數(shù)據(jù)查詢請求之前,可以先發(fā)送數(shù)據(jù)查詢的這些參數(shù)信息,即數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的起始時刻和結(jié)束時刻。

進一步可選地,上述實施例的技術(shù)方案均是在限制時刻位于結(jié)束時刻之前,當進行分頁數(shù)據(jù)查詢至最后一頁時,對應的限制時刻位于結(jié)束時刻之后,此時,本實施例的數(shù)據(jù)查詢的處理方法,還可以包括如下步驟:

(c1)以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取結(jié)束時刻之前的剩余數(shù)據(jù)點;

(c2)根據(jù)各聚合函數(shù)對起始時刻至結(jié)束時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第二數(shù)據(jù)查詢結(jié)果。

由于限制時刻位于結(jié)束時刻之后,此時數(shù)據(jù)查詢時獲取的數(shù)據(jù)點只能獲取到結(jié)束時刻,此時,以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取結(jié)束時刻之前的剩余數(shù)據(jù)點,然后根據(jù)各聚合函數(shù)對起始時刻至結(jié)束時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第二數(shù)據(jù)查詢結(jié)果。

進一步可選地,上述實施例的步驟102“當限制時刻位于結(jié)束時刻之前,以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取限制時刻之前的剩余數(shù)據(jù)點”之前,還可以包括判斷限制時刻是否位于結(jié)束時刻之前,如果限制時刻位于結(jié)束時刻之前,執(zhí)行步驟102。否則當限制時刻位于結(jié)束時刻之后,執(zhí)行步驟(c1)-(c2)。

本實施例的數(shù)據(jù)查詢的處理的方案,由于采用限制時刻對數(shù)據(jù)查詢進行分頁查詢,每一頁的原始數(shù)據(jù)點是有限的,與現(xiàn)有技術(shù)的對查詢的最終結(jié)果(聚合后的)進行限制的技術(shù)方案相比,相同的計算機資源處理一頁數(shù)據(jù)所消耗的計算機資源更少,消耗的時間更短,從而能夠有效地提高數(shù)據(jù)查詢的效率,真正實現(xiàn)控制數(shù)據(jù)查詢對系統(tǒng)的耗時影響,而且還可以提高用戶的使用體驗。

另外,現(xiàn)有技術(shù)中還提供了對查詢的原始結(jié)果(聚合前的)進行限制的技術(shù)方案,例如具體地可以為:目前時序數(shù)據(jù)庫中有10個數(shù)據(jù)點,每1秒有一個,查詢的條件是,將原始結(jié)果限制為5個數(shù)據(jù)點,并對原始結(jié)果每10秒進行一次求和(采用聚合函數(shù)求和),那么得到的結(jié)果則變成了前5秒的和值,而不是10秒的和值,因此,現(xiàn)有的對查詢的原始結(jié)果(聚合前的)進行限制的技術(shù)方案,容易導致數(shù)據(jù)查詢結(jié)果錯誤。

本實施例的數(shù)據(jù)查詢的處理方法,由于采用數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)設(shè)置限制時刻,可以保證最后一頁之前的每一頁的數(shù)據(jù)查詢的原始數(shù)據(jù)點均能夠?qū)Ω鱾€聚合函數(shù)進行完整的聚合處理,與現(xiàn)有技術(shù)的對原始結(jié)果(聚合前的)進行限制的技術(shù)方案相比,可以保證數(shù)據(jù)查詢結(jié)果的準確性。

綜上所述,本實施例的數(shù)據(jù)查詢的處理方法,不僅可以適用于對查詢的原始結(jié)果(聚合前的)進行限制的技術(shù)方案,還可以適用于對查詢的最終結(jié)果(聚合后的)進行限制的技術(shù)方案,因此,本實施例的數(shù)據(jù)查詢的處理方法,具有較強的適用性,且數(shù)據(jù)查詢耗時非常短、數(shù)據(jù)查詢效率非常高。

圖2為本發(fā)明的數(shù)據(jù)查詢的處理裝置實施例一的結(jié)構(gòu)圖。如圖2所示,本實施例的數(shù)據(jù)查詢的處理裝置,具體可以包括:數(shù)據(jù)點獲取模塊10、時刻獲取模塊11和聚合處理模塊12。

其中數(shù)據(jù)點獲取模塊10用于根據(jù)數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點,N為預設(shè)的軟性限制閾值;時刻獲取模塊11用于根據(jù)數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、數(shù)據(jù)點獲取模塊10獲取的第N個數(shù)據(jù)點對應的時刻以及起始時刻,獲取限制時刻;數(shù)據(jù)點獲取模塊10還用于當時刻獲取模塊11獲取的限制時刻位于結(jié)束時刻之前,以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取限制時刻之前的剩余數(shù)據(jù)點;聚合處理模塊12用于根據(jù)數(shù)據(jù)點獲取模塊10獲取的各聚合函數(shù)對起始時刻至限制時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第一數(shù)據(jù)查詢結(jié)果。

本實施例的數(shù)據(jù)查詢的處理裝置,通過采用上述模塊實現(xiàn)數(shù)據(jù)查詢處理的實現(xiàn)原理以及技術(shù)效果與上述相關(guān)方法實施例的實現(xiàn)相同,詳細可以參考上述相關(guān)方法實施例的記載,在此不再贅述。

圖3為本發(fā)明的數(shù)據(jù)查詢的處理裝置實施例二的結(jié)構(gòu)圖。本實施例的數(shù)據(jù)處理查詢裝置在上述圖2所示實施例的技術(shù)方案的基礎(chǔ)上,進一步更加詳細地介紹本發(fā)明的技術(shù)方案。

如圖3所示,本實施例的數(shù)據(jù)處理查詢裝置中,還包括:發(fā)送模塊13。發(fā)送模塊13用于向用戶反饋時刻獲取模塊11限制時刻以及對應的聚合處理模塊12處理的第一數(shù)據(jù)查詢結(jié)果。

進一步可選地,如圖3所示,本實施例的數(shù)據(jù)處理查詢裝置中,還包括接收模塊14和更新模塊15。

其中接收模塊14用于接收用戶發(fā)送的攜帶限制時刻的繼續(xù)查詢指示消息;更新模塊15用于根據(jù)接收模塊14接收的繼續(xù)查詢指示消息,將起始時刻的數(shù)值更新為限制時刻的數(shù)值,以繼續(xù)進行數(shù)據(jù)查詢處理。即繼續(xù)執(zhí)行數(shù)據(jù)點獲取模塊10、時刻獲取模塊11和聚合處理模塊12的功能。即更新模塊1將起始時刻的數(shù)值更新為限制時刻的數(shù)值更新完之后,可以觸發(fā)數(shù)據(jù)點獲取模塊10啟動,以繼續(xù)進行數(shù)據(jù)查詢處理。

進一步可選地,本實施例的數(shù)據(jù)處理查詢裝置中,時刻獲取模塊11具體用于從lcm_sample_time的倍數(shù)中,取比(soft_limit_time-start_time)大的最小的一個,然后加上start_time,等于limit_time;

其中,lcm_sample_time為數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù);soft_limit_time為第N個數(shù)據(jù)點對應的時刻;start_time為起始時刻;limit_time為限制時刻。

進一步可選地,如圖3所示,本實施例的數(shù)據(jù)處理查詢裝置中,還包括參數(shù)獲取模塊16。參數(shù)獲取模塊16用于獲取用戶指定的數(shù)據(jù)過濾條件、數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間、數(shù)據(jù)查詢的起始時刻和結(jié)束時刻。

對應地,數(shù)據(jù)點獲取模塊10用于根據(jù)參數(shù)獲取模塊16獲取的數(shù)據(jù)過濾條件和數(shù)據(jù)查詢的起始時刻開始,從時序數(shù)據(jù)庫中獲取N個數(shù)據(jù)點,N為預設(shè)的軟性限制閾值。時刻獲取模塊11用于根據(jù)參數(shù)獲取模塊16獲取的數(shù)據(jù)查詢的各聚合函數(shù)的采樣時間的最小公倍數(shù)、第N個數(shù)據(jù)點對應的時刻以及參數(shù)獲取模塊16獲取的起始時刻,獲取限制時刻。

進一步可選地,本實施例的數(shù)據(jù)處理查詢裝置中,時刻獲取模塊11還用于從時序數(shù)據(jù)庫中獲取第N個數(shù)據(jù)點的時間戳;將第N個數(shù)據(jù)點的時間戳作為第N個數(shù)據(jù)點對應的時刻。

進一步可選地,本實施例的數(shù)據(jù)處理查詢裝置中,數(shù)據(jù)點獲取模塊10還用于當限制時刻位于結(jié)束時刻之后,以第N個數(shù)據(jù)點對應的時刻開始,根據(jù)數(shù)據(jù)過濾條件從時序數(shù)據(jù)庫中繼續(xù)獲取結(jié)束時刻之前的剩余數(shù)據(jù)點;

聚合處理模塊12還用于根據(jù)各聚合函數(shù)對起始時刻至結(jié)束時刻之間的所有數(shù)據(jù)點進行聚合處理,得到第二數(shù)據(jù)查詢結(jié)果。

本實施例的數(shù)據(jù)查詢的處理裝置,通過采用上述模塊實現(xiàn)數(shù)據(jù)查詢處理的實現(xiàn)原理以及技術(shù)效果與上述相關(guān)方法實施例的實現(xiàn)相同,詳細可以參考上述相關(guān)方法實施例的記載,在此不再贅述。

在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。

另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。

上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取存儲器(Random Access Memory,RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1