本申請提供了一種獲取截面數據的方法,屬于數據處理領域,解決了浪費存儲空間的問題,該方法包括:確定計算截面數據的起始時間點,所述起始時間點為查詢時間點之前且距離所述查詢時間點最近的初始量數據或全量數據的時間點;獲取所述起始時間點和用戶輸入的查詢時間點之間的所有歸檔數據,所述歸檔數據至少包括標識所述歸檔數據的主鍵值;根據所述主鍵值對獲取的所述所有歸檔數據分組;分別確定每組歸檔數據中的最新數據變化時間點,遍歷所有所述最新數據變化時間點對應的歸檔數據,將其中屬性為初始量或全量或增量的所述歸檔數據作為所述查詢時間點的截面數據。與現有技術相比,不需要為每個時間點保存一份全量數據,節省了存儲空間。
【技術實現步驟摘要】
本申請涉及數據處理領域,特別是涉及一種獲取截面數據的方法和系統。
技術介紹
隨著計算機技術的發展,以及互聯網和大數據技術的廣泛應用,需要存儲和處理的數據越來越多。并且,在數據存儲的過程中,經常會出現數據字段的變化。為了充分利用數據,出現了越來越多的管理數據的需求,例如,查詢某一日期的截面數據。現有技術在數據歸檔的過程中,數據管理系統的主檔表中的數據通常是多日數據混合存儲,為了滿足用戶的查詢某一日期的截面數據的需求,現有技術通常的做法是:為每個需要查詢的日期保存一個全量數據。很顯然,現有技術提供全種做法的缺陷是:數據管理系統每日保存一份全量數據,其中有些數據是沒有變化的,浪費了大量存儲空間。
技術實現思路
本申請所要解決的技術問題是提供一種獲取截面數據的方法和系統,能夠快速地提供用戶查詢的截面數據,并且能夠節省存儲空間。為了解決上述問題,本申請公開了一種獲取截面數據的方法,包括:確定計算截面數據的起始時間點,所述起始時間點為查詢時間點之前且距離所述查詢時間點最近的初始量數據或全量數據的時間點;獲取所述起始時間點和用戶輸入的查詢時間點之間的所有歸檔數據,所述歸檔數據至少包括標識所述歸檔數據的主鍵值;根據所述主鍵值對獲取的所述所有歸檔數據分組;分別確定每組歸檔數據中的最新數據變化時間點,遍歷所有所述最新數據變化時間點對應的歸檔數據,將其中屬性為初始量或全量或增量的所述歸檔數據作為所述查詢時間點的截面數據。其中,歸檔數據的屬性包括:初始量、全量、增量、減量,不同屬性的歸檔數據分別存儲。優選的,在得到所述查詢時間點的截面數據之后,所述方法還包括:緩存所述查詢時間點的截面數據。所述方法還包括:根據所述查詢時間點的查詢概率確定是否緩存該查詢時間點對應的截面數據。在確定計算截面數據的起始時間點之前,所述方法還包括:判斷是否緩存有指定的查詢時間點對應的截面數據,若有,則返回緩存的所述截面數據。優選的,所述方法還包括:根據所述截面數據的讀取頻率,動態調整所述截面數據的緩存期。相應地,本申請實施例還公開了一種獲取截面數據的系統,包括:起始時間確定模塊,用于確定計算截面數據的起始時間點,所述起始時間點為查詢時間點之前且距離所述查詢時間點最近的初始量數據或全量數據的時間點;歸檔數據獲取模塊,用于獲取所述起始時間點和用戶輸入的查詢時間點之間的所有歸檔數據,所述歸檔數據至少包括標識所述歸檔數據的主鍵值;分組模塊,用于根據所述主鍵值對獲取的所述所有歸檔數據分組;數據選擇模塊,用于分別確定每組歸檔數據中的最新數據變化時間點,遍歷所有所述最新數據變化時間點對應的歸檔數據,將其中屬性為初始量或全量或增量的所述歸檔數據作為所述查詢時間點的截面數據。在另一實施例中,所述系統還包括:緩存模塊,用于在得到所述查詢時間點的截面數據之后,緩存所述查詢時間點的截面數據。在另一實施例中,還包括:判斷模塊,用于在確定計算截面數據的起始時間點之前,判斷是否緩存有指定的查詢時間點對應的截面數據,若有,則返回緩存的所述截面數據。優選的,所述系統還包括:緩存管理模塊,用于根據所述截面數據的讀取頻率,動態調整所述截面數據的緩存期。本申請公開的獲取截面數據的方法和系統,通過選擇距離所述查詢時間點最近的初始量數據或全量數據的時間點作為計算截面數據的起始時間點,確定了一個盡量小的截面數據計算范圍,然后,獲取所述起始時間點和用戶輸入的查詢時間點之間的所有歸檔數據,并根據所述主鍵值對獲取的所述所有歸檔數據分組;進一步選擇每組數據中最新的、屬性為初始量或全量或增量的歸檔數據作為所述查詢時間點的截面數據。與現有技術相比,不需要為每個時間點保存一份全量數據,節省了存儲空間。【附圖說明】圖1是本申請獲取截面數據的方法一實施例的流程示意圖;圖2是本申請獲取截面數據的方法另一實施例的流程示意圖;圖3是本申請一具體實施例中的歸檔數據;圖4是對圖3的歸檔數據計算得到的截面數據;圖5是本申請獲取截面數據的系統一個實施例的結構示意圖;圖6是本申請獲取截面數據的系統另一個實施例的結構示意圖。【具體實施方式】為使本申請的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖和【具體實施方式】對本申請作進一步詳細的說明。為了便于閱讀者理解本申請,首先對本申請中涉及的技術術語進行介紹。數據歸檔過程中,數據存儲類型包括:主檔表和明細表,其中,主檔表是反映客觀事實主體屬性的表,產生新主體時會增加到主檔信息,主體發生變更時會修改主檔信息,主體消失時會刪除或標記主檔信息;明細表是反映客觀事實主體歷史變化情況的表。根據數據產生的時機,歸檔數據又有如下屬性:初始量、增量、減量、全量。其中,增量數據:相對最近一次提取數據后增加、修改的數據;減量數據:相對最近一次提取數據后刪除的數據;全量數據:某張表的全部數據;初始量數據:某張表首次卸載提供的數據;截面數據:主檔表某個特定時間點(通常是特定日)的全量數據。本申請中提及的“源系統”指數據產生系統,本申請獲取截面數據的方法應用于數據管理系統。數據管理系統用于相應源系統等其他系統的請求,實現數據的歸檔存儲、管理、查詢等功能。參照圖1,示出了本申請一種獲取截面數據的方法,包括如下步驟:步驟110,確定計算截面數據的起始時間點,所述起始時間點為查詢時間點之前且距離所述查詢時間點最近的初始量數據或全量數據的時間點;步驟120,獲取所述起始時間點和用戶輸入的查詢時間點之間的所有歸檔數據,所述歸檔數據至少包括標識所述歸檔數據的主鍵值;步驟130,根據所述主鍵值對獲取的所述所有歸檔數據分組;步驟140,分別確定每組歸檔數據中的最新數據變化時間點,遍歷所有最新數據變化時間點對應的歸檔數據,將其中屬性為初始量或全量或增量的所述歸檔數據作為所述查詢時間點的截面數據。截面數據是主檔表某個特定時間點的全量數據,因此,上述步驟110中,需要從查詢的截面數據對應的時間點起,向前搜索歷史數據,找出主檔表中的所有數據。為了提高查找效率,不需要遍歷所有歸檔數據,僅需要找到最近一次卸載的初始量數據或全量數據即可,并將最近一次卸載的初始量數據或全量數據的時間點作為截面數據計算區間的起始時間點T1。若沒有找到初始量數據或全量數據,則將最早一條數據的時間點作為截面數據計算區間的起始時間點,即需要將查詢的截面數據對應的時間點之前的所有數據進行截面數據計算。截面數據是主檔表某個特定時間點的全量數據,在需要查詢截面數據時,用戶會指定查詢時間點T2。在上述步驟120中,將步驟110確定的計算截面數據的起始時間點T1和用戶指定的查詢時間點T2作為截面數據查詢時間區間,獲取該時間區間內的所有歸檔數據{DATA(t) I te }。歸檔數據通常以二維表的形式存儲,至少包括主鍵值列,還可以包括其他相關列。主鍵值是唯一標識歸檔數據的,通過主鍵值可以區分不同的歸檔數據。通常,主檔表中包括多個主鍵值。在步驟130中,根據所述主鍵值對獲取的所述所有歸檔數據{DATA(t)te}分組,每一個主鍵值對應的數據劃分為一組,每一數據組中可以包含多條數據,分別記錄該主鍵值對應的數據的歷史變化情況。例如,主鍵值為“CPU利用率”,這一數據組中包含不同日期的CHJ利用率;主鍵值為當前第1頁1 2 3 本文檔來自技高網...
【技術保護點】
一種獲取截面數據的方法,其特征在于,包括:確定計算截面數據的起始時間點,所述起始時間點為查詢時間點之前且距離所述查詢時間點最近的初始量數據或全量數據的時間點;獲取所述起始時間點和用戶輸入的查詢時間點之間的所有歸檔數據,所述歸檔數據至少包括標識所述歸檔數據的主鍵值;根據所述主鍵值對獲取的所述所有歸檔數據分組;分別確定每組歸檔數據中的最新數據變化時間點,遍歷所有所述最新數據變化時間點對應的歸檔數據,將其中屬性為初始量或全量或增量的所述歸檔數據作為所述查詢時間點的截面數據。
【技術特征摘要】
【專利技術屬性】
技術研發人員:朱大勇,滕一勤,
申請(專利權)人:北京先進數通信息技術股份公司,
類型:發明
國別省市:北京;11
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。