一種海量數據的處理方法
2023-04-24 19:12:01 2
專利名稱:一種海量數據的處理方法
技術領域:
本發明涉及數位化信息的處理方法,尤其涉及一種海量數據的處理方法。
背景技術:
傳統大型應用軟體系統對其應用的管理對象採集的數據進行管理和査詢分析, 一般而言,管理和査詢的數據量都非常巨大以致査詢的速率下降。如要求對多表同 時進行聯合,限制,分組,條件查詢等。在現有的技術中,現在一般的査詢應用中,
對於這種情況,只能縮短,簡化SQL語句,從而提高數據的業務邏輯處理複雜度, 而且會經常出現數據連接異常的各種問題。對於如何處理這種問題,往往魚和熊掌 不可兼得。
發明內容
本發明的目的就是為了克服上述現有技術存在的缺陷而提供一種可直接提高 數據的查詢和和統計分析速度的海量數據的處理方法。
本發明的目的可以通過以下技術方案來實現 一種海量數據的處理方法,其特
徵在於,該方法將接口數據文件作為資料庫的輔助表,採用表分區處理的方式進行 存儲,存儲過程導入相關需要的數據,採用進程並行處理的機制,根據業務特點對 不同的數據業務劃分不同的主題,並對數據進行預處理,生成輕量級面向主題的匯 總,然後在輕量級的匯總基礎上進行重量級匯總。
所述的表分區處理是將資料庫表劃分為多個不同的分區,在不同的分區中存入 不同的數據,每個分區又相當於大表中的一個小表,按日期劃分分區,數據插入按 分區順序依次進行並在分區號範圍內循環更新。
所述的表分處理包括以下處理步驟
(1) 生成每年的日期維度;
(2) 在日期維度的基礎上,生成每月的表空間;
4(3) 然後再對每天的數據表進行分區,建立日分區;
(4) 在日分區生成維度數據,該維度數據包括終端品牌維度和業務類型維度;
(5) 最終生成事實數據。
所述的步驟(2)中的表空間按照月份建立的,表空間相當於一個表的容器, 可儲存多個表文件,這些表空間各自有自己完整的存儲系統,在操作上完全是相對 獨立的,每個表空間存儲了該月所有的數據,即這個月每天的數據表。 所述的表空間相互之間邏輯連貫,在物理的儲存空間上不相鄰。 所述的步驟(3)中的日分區的天數據表按照城市代碼的不同分成不同的分區,
每個分區進行邏輯緊密相連,在物理存儲上,各自在不同的存儲扇區中,表中的數 據査詢方法是,根據日期計算該日期資料庫表對應的分區號,從指定的分區中査找 用戶需要的數據。
所述的步驟(5)中的事實數據包括登錄數據,訪問數據,訂購數據,使用費
用數據。
所述的進程並行處理的機制是使用資料庫的消息機制對同時需要處理的進程 進行並行的處理,並發運行,對査詢數據進行分組,並建立並行任務,將組代碼傳 入並行任務當中去,然後建立報警通道,為每個任務註冊,當一個子任務完成返回 時,將自動在報警通道刪除此任務,直到報警通道中所有任務全部刪除,整個任務
並行完成;
所述的進程並行處理包括以下處理步驟
(1) 使用資料庫的消息機制為每個査詢業務建立一個任務進程;
(2) 大數據量處理採用並行處理機制,按城市代碼分成四個數據量相對均衡 的組,建立並行任務,將組代碼傳入過程;
(3) 建立一個報警通道,並註冊每個任務;
(4) 等待報警信號,當一個子任務返回,將在報警通道刪除此任務,直到報 警通道中所有任務全部刪除,整個任務並行結束。
與現有技術相比,本發明採用進程並行處理得機制,使多個任務能異步執行, 在存儲方式上,採用對表劃分分區的方式,在執行時分區之間互不影響,提高了執 行效率。此設計方法有效的連接不同系統之間的數據接口,在各個不同的層面採用 合適的策略,並使數據的查詢的深度得到加強,效率得以提高。
圖1為本發明表分區處理的示意圖; 圖2為本發明系統結構示意圖。
具體實施例方式
下面結合附圖對本發明作進一步說明。 實施例1
如圖1 2所示, 一種海量數據分析,提取的設計方法,該設計方案採用Oracle 最新外部表的功能把接口數據文件作為資料庫的輔助表,供存儲過程使用,存儲過 程導入相關需要的數據,根據業務特點對不同的數據業務劃分不同的主題,並對數 據進行預處理,生成輕量級面向主題的匯總,以便降低最終實事表的運算複雜度, 然後在輕量級匯總的基礎上進行重量級匯總的策略。在這個過程中,採用進程並行 處理得機制,使多個任務能異步執行,在存儲方式上,採用對表劃分分區的方式, 在執行時分區之間互不影響,提高了執行效率。此設計方法有效的連接不同系統之 間的數據接口,在各個不同的層面採用合適的策略,並使數據的査詢的深度得到加 強,效率得以提高。
上述表分區處理是將資料庫表劃分為多個不同的分區,在不同的分區中存入不 同的數據,每個分區又相當於大表中的一個小表,按日期劃分分區,數據插入按分 區順序依次進行並在分區號範圍內循環更新,這樣在査詢一個分區時而不會影響其 他分區,以達到提高査詢處理數據的速度,利於海量數據的管理。具體表分處理步 驟如下
1. 先生成每年的日期維度(Common.Generate—Time)。
2. 在日期維度的基礎上,生成每月的表空間 (Common.Genemte一Tablespace),表空間時按照月份建立的,表空間相當於一個表
的容器,它可以儲存多個表文件,這些表空間在邏輯看起來是連貫的,然而在物理 的儲存空間上卻不是相鄰的,各自有自己完整的存儲系統,在操作上完全是相對獨 立的,每個表空間存儲了該月所有的數據,即這個月每天的數據表。
3. 然後再對每天的數據表進行分區,建立每日的分區 (Common.Generate—Partition),這些天數據表按照城市代碼的不同分成不同的分區, 每個分區雖然在邏輯上看起來是緊密相連的,然後在物理存儲上,各自在不同的存儲扇區中,以便硬體讀操作時可以同時進行,這樣就大大地提高了讀取,存儲數據 的效率。表中的數據查詢方法是,根據日期計算該日期資料庫表對應的分區號,從 指定的分區中査找用戶需要的數據。
4. 在分區生成維度數據,維度數據包括終端品牌維度和業務類型維度。
5. 最終生成事實數據,事實數據包括登錄數據,訪問數據,訂購數據,使 用費用等數據。
其結構示意圖如圖l所示。 上述進程並行處理的具體實現步驟如下
1. 使用資料庫的消息機制為每個査詢業務建立一個任務進程。
2. 對這些大量數據,按城市代碼分成四個數據量相對均衡的組,建立並行任
務,將子任務傳入並行任務當中去,將組代碼傳入過程。
3. 建立一個報警通道,並為每個任務進行註冊。
4. 此時處於等待報警信號狀態,當一個子任務返回時,將在報警通道刪除此 任務,直到報警通道中所有任務全部刪除,整個任務並行結束。這樣就實現了不同 的數據處理進程進行異步並行的處理。
本實施例的硬體結構包括資料庫伺服器、集中存儲裝置,資料庫伺服器與集中 存儲裝置通過通訊設備建立網絡連接,其結構如圖2所示。
權利要求
1.一種海量數據的處理方法,其特徵在於,該方法將接口數據文件作為資料庫的輔助表,採用表分區處理的方式進行存儲,存儲過程導入相關需要的數據,採用進程並行處理的機制,根據業務特點對不同的數據業務劃分不同的主題,並對數據進行預處理,生成輕量級面向主題的匯總,然後在輕量級的匯總基礎上進行重量級匯總。
2. 根據權利要求1所述的一種海量數據的處理方法,其特徵在於,所述的表 分區處理是將資料庫表劃分為多個不同的分區,在不同的分區中存入不同的數據, 每個分區又相當於大表中的一個小表,按日期劃分分區,數據插入按分區順序依次 進行並在分區號範圍內循環更新。
3. 根據權利要求2所述的一種海量數據的處理方法,其特徵在於,所述的表 分區處理包括以下處理步驟(1) 生成每年的日期維度;(2) 在日期維度的基礎上,生成每月的表空間;(3) 然後再對每天的數據表進行分區,建立日分區;(4) 在日分區生成維度數據,該維度數據包括終端品牌維度和業務類型維度;(5) 最終生成事實數據。
4. 根據權利要求3所述的一種海量數據的處理方法,其特徵在於,所述的步 驟(2)中的表空間按照月份建立的,表空間相當於一個表的容器,可儲存多個表 文件,這些表空間各自有自己完整的存儲系統,在操作上完全是相對獨立的,每個 表空間存儲了該月所有的數據,即這個月每天的數據表。
5. 根據權利要求4所述的一種海量數據的處理方法,其特徵在於,所述的表 空間相互之間邏輯連貫,在物理的儲存空間上不相鄰。
6. 根據權利要求3所述的一種海量數據的處理方法,其特徵在於,所述的步 驟(3)中的日分區的天數據表按照城市代碼的不同分成不同的分區,每個分區進 行邏輯緊密相連,在物理存儲上,各自在不同的存儲扇區中,表中的數據査詢方法 是,根據日期計算該日期資料庫表對應的分區號,從指定的分區中查找用戶需要的 數據。
7. 根據權利要求3所述的一種海量數據的處理方法,其特徵在於,所述的步 驟(5)中的事實數據包括登錄數據,訪問數據,訂購數據,使用費用數據。
8. 根據權利要求1所述的一種海量數據的處理方法,其特徵在於,所述的進 程並行處理的機制是使用資料庫的消息機制對同時需要處理的進程進行並行的處 理,並發運行,對査詢數據進行分組,並建立並行任務,將組代碼傳入並行任務當 中去,然後建立報警通道,為每個任務註冊,當一個子任務完成返回時,將自動在 報警通道刪除此任務,直到報警通道中所有任務全部刪除,整個任務並行完成;
9. 根據權利要求8所述的一種海量數據的處理方法,其特徵在於,所述的進 程並行處理包括以下處理步驟(1) 使用資料庫的消息機制為每個査詢業務建立一個任務進程;(2) 大數據量處理採用並行處理機制,按城市代碼分成四個數據量相對均衡 的組,建立並行任務,將組代碼傳入過程;(3) 建立一個報警通道,並註冊每個任務;(4) 等待報警信號,當一個子任務返回,將在報警通道刪除此任務,直到報 警通道中所有任務全部刪除,整個任務並行結束。
全文摘要
本發明涉及一種海量數據的處理方法,該方法將接口數據文件作為資料庫的輔助表,採用表分區處理的方式進行存儲,存儲過程導入相關需要的數據,採用進程並行處理的機制,根據業務特點對不同的數據業務劃分不同的主題,並對數據進行預處理,生成輕量級面向主題的匯總,然後在輕量級的匯總基礎上進行重量級匯總。與現有技術相比,本發明採用進程並行處理得機制,使多個任務能異步執行,在存儲方式上,採用對表劃分分區的方式,在執行時分區之間互不影響,提高了執行效率。此設計方法有效的連接不同系統之間的數據接口,在各個不同的層面採用合適的策略,並使數據的查詢的深度得到加強,效率得以提高。
文檔編號G06F17/30GK101620600SQ20081003989
公開日2010年1月6日 申請日期2008年6月30日 優先權日2008年6月30日
發明者謐 馮 申請人:上海全成通信技術有限公司