鬼佬大哥大
  • / 20
  • 下載費用:30 金幣  

一種數據倉庫數據處理方法和系統.pdf

摘要
申請專利號:

CN201410076445.8

申請日:

2014.03.04

公開號:

CN104899199A

公開日:

2015.09.09

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 17/30申請日:20140304|||公開
IPC分類號: G06F17/30 主分類號: G06F17/30
申請人: 阿里巴巴集團控股有限公司
發明人: 徐玉鵬
地址: 英屬開曼群島大開曼
優先權:
專利代理機構: 北京三友知識產權代理有限公司11127 代理人: 黨曉林
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201410076445.8

授權公告號:

||||||

法律狀態公告日:

2018.12.28|||2015.10.07|||2015.09.09

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

本發明提供一種數據倉庫數據處理方法,包括:從業務系統中抽取出原始數據并生成源系統數據表;對源系統數據表去冗余并對數據記歷史,建立歷史數據表;建立事實數據表對歷史數據表的數據進行歸類;對事實數據表的數據進行匯總,建立匯總數據表;統計兩個或兩個以上匯總數據表之間的指標數據,建立統計數據表;基于事實數據表、匯總數據表、統計數據表的數據,建立應用數據表。本發明提供的數據倉庫數據處理方法,避免了通用維度模型層中每一層級內部的任務相互依賴,使得任務的并行數目達到最大,計算機資源能夠被有效利用,從而提高數據倉庫數據處理的效率。本發明還提供了相應的數據倉庫數據處理系統,能夠實現本發明的數據倉庫數據處理方法。

權利要求書

權利要求書
1.  一種數據倉庫數據處理方法,其特征在于,包括:
從業務系統中抽取出原始數據并生成源系統數據表;
對源系統數據表去冗余并對數據記歷史,建立歷史數據表;
建立事實數據表對歷史數據表的數據進行歸類;
對事實數據表的數據進行匯總,建立匯總數據表;
統計兩個或兩個以上匯總數據表之間的指標數據,建立統計數據表;
基于事實數據表、匯總數據表、統計數據表的數據,建立應用數據表。

2.  如權利要求1所述的數據處理方法,其特征在于,所述數據處理方法還包括:
對歷史數據表中的底層數據進行分析歸類,建立歸類數據表;
相應地,
所述建立事實數據表對歷史數據表的數據進行歸類,包括:建立事實數據表對歷史數據表和/或歸類數據表的數據進行歸類。

3.  如權利要求1或2所述的數據處理方法,其特征在于,所述建立一個數據表稱為一個當前任務;每一任務的初始任務狀態為未完成狀態。

4.  如權利要求3所述的數據處理方法,其特征在于,設置一狀態標識來表示每一任務的任務狀態。

5.  如權利要求3所述的數據處理方法,其特征在于,在所述建立任一數據表之前,還包括:
查詢當前任務所依賴的父任務的任務狀態;
若父任務的狀態均為完成狀態,執行當前任務;
若父任務的狀態中至少有一個父任務是未完成狀態,在預定時間間隔后,重新查詢當前任務所依賴的父任務的任務狀態。

6.  一種數據倉庫數據處理系統,其特征在于,包括:源系統數據處理單元、企業數據倉庫第一處理單元、通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元、應用數據處理單元;其中,
所述源系統數據處理單元,用于從各個業務系統中抽取出原始數據,生成一個或一個以上的源系統數據表;
所述企業數據倉庫第一處理單元,用于對源系統數據處理單元中的源系統數據表去冗余并對數據記歷史,產生與源系統數據表相對應的一個或一個以上的歷史數據表;
所述通用維度模型第一處理單元,用于建立一個或一個以上的事實表對企業數據倉庫第一處理單元的數據進行歸類;
所述通用維度模型第二處理單元,用于對通用維度模型第一處理單元的數據進行匯總,生成至少一個匯總數據表;
所述通用維度模型第三處理單元,用于統計通用維度模型第二處理單元中表與表的指標數據,生成至少一個統計數據表;
所述應用數據處理單元,用于根據通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元的數據生成應用數據表。

7.  如權利要求6所述的一種數據倉庫數據處理系統,其特征在于,
所述企業數據倉庫第一處理單元調用源系統數據處理單元的結果;
所述通用維度模型第一處理單元調用企業數據倉庫第一處理單元的結果;
所述通用維度模型第二處理單元調用通用維度模型第一處理單元的結果;
所述通用維度模型第三處理單元調用通用維度模型第二處理單元的結果;
所述應用數據處理單元,調用通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元的結果。

8.  如權利要求6所述的一種數據倉庫數據處理系統,其特征在于,所述數據倉庫數據處理系統,還包括:企業數據倉庫第二處理單元;
所述企業數據倉庫第二處理單元,用于對企業數據倉庫第一處理單元中的底層數據進行分析歸類,生成歸類數據表;
相應地,
所述通用維度模型第一處理單元,用于建立一個或一個以上的事實表對企業數據倉庫第一處理單元、企業數據倉庫第二處理單元的數據進行歸類。

9.  如權利要求8所述的一種數據倉庫數據處理系統,其特征在于,所述企業數據倉庫第二處理單元調用企業數據倉庫第一處理單元的結果;
相應地,
所述通用維度模型第一處理單元調用企業數據倉庫第一處理單元和/或企業數據倉庫第二處理單元的結果。

10.  如權利要求6-9任意一項所述的一種數據倉庫數據處理系統,其特征在于,所述數據處理系統中每一處理單元建立一個數據表對應一個任務單元。

11.  如權利要求10所述的一種數據倉庫數據處理系統,其特征在于,所述任務單元,包括:父任務單元、當前任務單元;其中,
所述父任務單元,用于記錄當前任務所依賴的父任務,并查詢所述父任務的任務狀態;所述父任務的初始狀態為未完成狀態;
所述當前任務單元,用于執行當前任務,當前任務完成后,更改當前任務的任務狀態為已完成狀態。

12.  如權利要求11所述的一種數據倉庫數據處理系統,其特征在于,所述父任務單元,包括:父任務狀態記錄單元和父任務狀態查詢單元;
所述父任務狀態記錄單元,用于記錄當前任務所依賴的所有父任務;
所述父任務狀態查詢單元,用于查詢當前任務所依賴的所有父任務的任務狀態;若所有父任務的任務狀態均為完成狀態,則執行當前任務單元;若所有父任務中至少有一個父任務的任務狀態為未完成狀態,則等待預定時間后,重新執行父任務狀態查詢單元,直至所有父任務的任務狀態均為完成狀態。

13.  如權利要求11所述的一種數據倉庫數據處理系統,其特征在于,所述當前任務單元,包括:當前任務執行單元和當前任務狀態記錄單元;
所述當前任務執行單元,用于執行當前任務,即建立一個數據表;
所述當前任務狀態記錄單元,用于記錄當然任務的任務狀態;所述任務狀態的初始狀態為未完成狀態;在當前任務執行單元中當前任務執行完畢時,更改當前任務的任務狀態為已完成狀態。

14.  如權利要求11所述的一種數據倉庫數據處理系統,其特征在于,所述源系統數據處理單元中每一個任務對應的任務單元,不包括:父任務單元。

說明書

說明書一種數據倉庫數據處理方法和系統
技術領域
本發明涉及數據庫領域,尤其涉及一種數據倉庫數據處理方法和系統。
背景技術
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫。對數據庫數據的處理大致分為兩類:一類是操作型處理,這類處理通常用于對數據庫中的少數記錄進行查詢、修改;另一類是分析型處理,這類處理一般用于對歷史數據進行分析,使得數據能夠應用于決策,所述分析型處理后得到的面向主題的、集成的、與時間相關的、不可修改的數據集合可以稱為數據倉庫。數據倉庫的任務主要是把信息加以整理歸納和重組,并及時提供給決策人員。目前數據倉庫的數據處理通常通過分布式系統來實現,所述分布式系統可以將多臺計算機聯合起來,構成計算機群,并行處理大規模的數據,同時在多臺計算機上運行不同任務。
目前數據倉庫中對數據進行處理一般建立在ETL數據處理理論的基礎上的,ETL是指Extraction(抽取)、Transformation(轉換)、和Loading(加載)。具體的ETL操作包括:將業務系統中的數據抽取出來,并將不同數據源的數據按照業務需要進行轉換和整合,得出目標數據,然后將目標數據加載到數據倉庫中。
數據倉庫一般是以數據表的結構存儲數據,每個數據表對應一個數據對象。數據表是指一系列二維數組的集合,通常用來代表和儲存數據對象之間的關系。數據庫表可以由縱向的列和橫向的行組成,例如一個有關作者信息的名為“作者”的表中,每個列包含的是所有作者的某個特定類型的信息,比如“姓氏”,而每行則包含了某個特定作者的所有信息:姓、名、住址等等。對于特定的數據庫表,列的數目一般事先固定,各列之間可以由列名來識別。
在數據倉庫數據處理過程中,通常將建立或生成一個數據表作為一個任務,所述任務的初始狀態可以是未完成狀態;對每一個任務設置一個任務狀態標識來表示該任務的任務狀態,例如用“0”表示任務狀態為未完成,用“1”表示任務狀態為完成。若需要第一個任務完成后才能執行第二個任務,那么所述第一個任務稱為父任務,所述第二個任務稱為子任務。對于數據倉庫數據處理過程,父任務和子任務分別占用調度系統的一個調度層級。調度系統可以記錄各個任務之間的依賴關系。通常,數據倉庫數據處理過程中,子任務每隔預定時間,主動查詢其依賴的父任務的任務狀態。若父任務的任務狀態均為已完成狀態,則可以執行子 任務。
常用的數據處理方法包括稱為Inmon的企業信息化工廠式的數據處理方法和稱為Kimball的維度數據倉庫總線體系結式的數據處理方法構。
所述Inmon的企業信息化工廠式的數據處理方法,該數據處理方法通過ETL將業務源系統的數據經過抽取、轉換之后加載到企業數據倉庫,在此企業數據倉庫基礎層上建立面向主題的數據集市。在主題數據集市的基礎上,提供應用層服務。所述企業數據倉庫基礎模型遵循實體-聯系模型(簡稱E-R模型)的原則來設計。所述企業數據倉庫基礎層基于原始數據的性質,盡可能保存粒度最細的數據。所述方法在數據集市中采用維度設計的方法。
另一種稱為Kimball的維度數據倉庫總線體系結構式的數據處理方法,該數據處理方法主要從業務源系統根據ETL理論建立維度數據倉庫基礎層。所述維度數據基礎層根據維度建模的原則來設計,由一系列的星型模型和多維數據集組成。在維度數據模型的基礎上建立面向主題的數據集市,數據集市同樣采用維度建模的原則,對基礎層重新進行維度定義和聚合。再在主題集市的基礎上,建立各種應用層服務。
上述兩種數據倉庫數據處理方法實現時將數據倉庫劃分為四層結構,分別為:源系統數據處理層、企業數據倉庫數據處理層、通用維度模型數據處理層和應用數據處理層。源系統數據處理層用于從業務系統抽取原始數據,所述源系統數據處理層一般占用調度系統的一個調度層級;企業數據倉庫數據處理層用于以關系模型存儲各類業務數據,實現海量數據的集中、穩定、有序存貯,所述企業數據倉庫數據處理層一般占用調度系統的一個或兩個調度層級;通用維度模型數據處理層用于根據主題應用存貯數據集合,所述通用維度模型數據處理層對數據處理時任務比較復雜,一般需要占用調度系統的多個調度層級;應用數據處理層主要用于向用戶提供業務數據,所述應用數據處理層一般占用調度系統的一個層級。
在實現本申請過程中,發明人發現現有技術中至少存在如下問題:
由于通用維度模型數據處理層在對數據進行處理時任務比較復雜,通用維度模型數據處理層級中的任務在該層級內部相互依賴,這樣通用維度模型層在處理數據時實際會占用調度系統的多個調度層級。例如通用維度模型層中的任務可能既包含對基礎信息進行描述,也包含對信息進行匯總、統計等,而對信息進行匯總依賴于對基礎信息進行描述,對信息進行統計又依賴于對信息進行匯總。這樣,可能多個任務依賴少數幾個任務,那么在某個時間段,所述通用維度模型層中可能只有所述少數幾個任務在執行,下游節點的所述多個任務都在等待所述少數幾個任務結束,這樣分布式系統環境下的計算機資源不能被有效利用,數據倉庫的數據處理效率不高。
發明內容
本發明的目的在于提高一種數據倉庫數據處理方法和系統,以提高數據處理效率。
一種數據倉庫數據處理方法,包括:
從業務系統中抽取出原始數據并生成源系統數據表;
對源系統數據表去冗余并對數據記歷史,建立歷史數據表;
建立事實數據表對歷史數據表的數據進行歸類;
對事實數據表的數據進行匯總,建立匯總數據表;
統計兩個或兩個以上匯總數據表之間的指標數據,建立統計數據表;
基于事實數據表、匯總數據表、統計數據表的數據,建立應用數據表。
優選方案中,所述數據處理方法還包括:
對歷史數據表中的底層數據進行分析歸類,建立歸類數據表;
相應地,所述建立事實數據表對歷史數據表的數據進行歸類,包括:建立事實數據表對歷史數據表和/或歸類數據表的數據進行歸類。
優選方案中,所述建立一個數據表稱為一個當前任務;每一任務的初始任務狀態為未完成狀態。
優選方案中,設置一狀態標識來表示每一任務的任務狀態。
優選方案中,在所述建立任一數據表之前,還包括:
查詢當前任務所依賴的父任務的任務狀態;
若父任務的狀態均為完成狀態,執行當前任務;
若父任務的狀態中至少有一個父任務是未完成狀態,在預定時間間隔后,重新查詢當前任務所依賴的父任務的任務狀態。
一種數據倉庫數據處理系統,包括:源系統數據處理單元、企業數據倉庫第一處理單元、通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元、應用數據處理單元;其中,
所述源系統數據處理單元,用于從各個業務系統中抽取出原始數據,生成一個或一個以上的源系統數據表;
所述企業數據倉庫第一處理單元,用于對源系統數據處理單元中的源系統數據表去冗余并對數據記歷史,產生與源系統數據表相對應的一個或一個以上的歷史數據表;
所述通用維度模型第一處理單元,用于建立一個或一個以上的事實表對企業數據倉庫第一處理單元的數據進行歸類;
所述通用維度模型第二處理單元,用于對通用維度模型第一處理單元的數據進行匯總, 生成至少一個匯總數據表;
所述通用維度模型第三處理單元,用于統計通用維度模型第二處理單元中表與表的指標數據,生成至少一個統計數據表;
所述應用數據處理單元,用于根據通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元的數據生成應用數據表。
優選方案中,
所述企業數據倉庫第一處理單元調用源系統數據處理單元的結果;
所述通用維度模型第一處理單元調用企業數據倉庫第一處理單元的結果;
所述通用維度模型第二處理單元調用通用維度模型第一處理單元的結果;
所述通用維度模型第三處理單元調用通用維度模型第二處理單元的結果;
所述應用數據處理單元,調用通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元的結果。
優選方案中,所述數據倉庫數據處理系統,還包括:企業數據倉庫第二處理單元;
所述企業數據倉庫第二處理單元,用于對企業數據倉庫第一處理單元中的底層數據進行分析歸類,生成歸類數據表;
相應地,所述通用維度模型第一處理單元,用于建立一個或一個以上的事實表對企業數據倉庫第一處理單元、企業數據倉庫第二處理單元的數據進行歸類;
優選方案中,所述企業數據倉庫第二處理單元調用企業數據倉庫第一處理單元的結果;
相應地,所述通用維度模型第一處理單元調用企業數據倉庫第一處理單元和/或企業數據倉庫第二處理單元的結果。
優選方案中,所述數據處理系統中每一處理單元建立一個數據表對應一個任務單元。
優選方案中,所述任務單元,包括:父任務單元、當前任務單元;其中,
所述父任務單元,用于記錄當前任務所依賴的父任務,并查詢所述父任務的任務狀態;所述父任務的初始狀態為未完成狀態;
所述當前任務單元,用于執行當前任務,當前任務完成后,更改當前任務的任務狀態為已完成狀態。
優選方案中,所述父任務單元,包括:父任務狀態記錄單元和父任務狀態查詢單元;
所述父任務狀態記錄單元,用于記錄當前任務所依賴的所有父任務;
所述父任務狀態查詢單元,用于查詢當前任務所依賴的所有父任務的任務狀態;若所有父任務的任務狀態均為完成狀態,則執行當前任務單元;若所有父任務中至少有一個父任務的任務狀態為未完成狀態,則等待預定時間后,重新執行父任務狀態查詢單元,直至所有父 任務的任務狀態均為完成狀態。
優選方案中,所述當前任務單元,包括:當前任務執行單元和當前任務狀態記錄單元;
所述當前任務執行單元,用于執行當前任務,即建立一個數據表;
所述當前任務狀態記錄單元,用于記錄當然任務的任務狀態;所述任務狀態的初始狀態為未完成狀態;在當前任務執行單元中當前任務執行完畢時,更改當前任務的任務狀態為已完成狀態。
優選方案中,所述源系統數據處理單元中每一個任務對應的任務單元,不包括:父任務單元。
本申請提供的數據倉庫數據處理方法與系統,在現有的數據倉庫數據處理方法的基礎上將通用維度模型數據處理層分為三層,這就避免了通用維度模型層中每一層級內部的任務相互依賴,使得任務的并行數目達到最大,這樣通用維度模型數據處理層中任意一層數據處理任務完成后,數據處理結果也可以被應用層數據處理過程直接調用,這樣分布式系統環境下的計算機資源就能夠被有效利用,從而提高數據倉庫數據處理的效率。
附圖說明
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本申請數據倉庫數據處理系統實施例的組成結構圖;
圖2是本申請與數據倉庫數據處理系統中建立一個數據表對應的任務單元的組成結構示意圖;
圖3是任務單元中父任務單元的組成結構圖;
圖4是任務單元中當前任務單元的組成結構圖;
圖5是本申請數據倉庫數據處理方法實施例的流程圖;
圖6是對用戶瀏覽這一主題進行數據倉庫數據處理的各個任務的依賴關系圖。
具體實施方式
為了使本技術領域的人員更好地理解本申請中的技術方案,下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人 員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
下面介紹本申請數據倉庫數據處理系統第一實施例。圖1是本申請數據倉庫數據處理系統實施例的組成結構圖。如圖1所示,本申請數據倉庫數據處理系統包括:源系統數據處理單元101、企業數據倉庫第一處理單元102、通用維度模型第一處理單元103、通用維度模型第二處理單元104、通用維度模型第三處理單元105、應用數據處理單元106。其中,
所述源系統數據處理單元101,用于從各個業務系統中抽取出原始數據,生成一個或一個以上的源系統數據表;
所述企業數據倉庫第一處理單元102,用于對源系統數據處理單元101中的源系統數據表去冗余并對數據記歷史,產生與源系統數據表相對應的一個或一個以上的歷史數據表;
所述通用維度模型第一處理單元103,用于建立一個或一個以上的事實數據表對企業數據倉庫第一處理單元102的數據進行歸類;
所述通用維度模型第二處理單元104,用于對通用維度模型第一處理單元103的數據進行匯總,生成至少一個匯總數據表;
所述通用維度模型第三處理單元105,用于統計通用維度模型第二處理單元104中表與表的指標數據,生成至少一個統計數據表;
所述應用數據處理單元106,用于根據通用維度模型第一處理單元103、通用維度模型第二處理單元104、通用維度模型第三處理單元105的數據生成應用數據表。
所述企業數據倉庫第一處理單元102,可以調用源系統數據處理單元101的結果;
所述通用維度模型第一處理單元103,可以調用企業數據倉庫第一處理單元102的結果;
所述通用維度模型第二處理單元104,可以調用通用維度模型第一處理單元103的結果;
所述通用維度模型第三處理單元105,可以調用通用維度模型第二處理單元104的結果;
所述應用數據處理單元106,可以調用通用維度模型第一處理單元103、通用維度模型第二處理單元104、通用維度模型第三處理單元105的結果。
下面介紹本申請數據倉庫數據處理系統第二實施例,本實施例與數據倉庫數據處理系統第一實施例的區別在于,所述數據倉庫數據處理系統,還包括:企業數據倉庫第二處理單元107;
所述企業數據倉庫第二處理單元107,用于對企業數據倉庫第一處理單元中的底層數據進行分析歸類,生成歸類數據表;
相應地,所述通用維度模型第一處理單元103,用于建立一個或一個以上的事實表對企業數據倉庫第一處理單元102、企業數據倉庫第二處理單元107的數據進行歸類。
所述企業數據倉庫第二處理單元107可以調用企業數據倉庫第一處理單元102的結果;
相應地,所述通用維度模型第一處理單元103可以調用企業數據倉庫第一處理單元102、企業數據倉庫第二處理單元107的結果。
圖2是本申請與數據倉庫數據處理系統中建立一個數據表對應的任務單元的組成結構示意圖。如圖2所示,所述數據倉庫數據處理系統中建立一個數據表對應的任務單元,包括:父任務單元201、當前任務單元202。其中,
所述父任務單元201,用于記錄當前任務所依賴的父任務,并查詢所述父任務的任務狀態;所述父任務的初始狀態為未完成狀態;
圖3是任務單元中父任務單元的組成結構圖。如圖3所示,所述父任務單元201,具體包括:父任務狀態記錄單元2011和父任務狀態查詢單元2012;
所述父任務狀態記錄單元2011,可以用于記錄當前任務所依賴的所有父任務;
所述父任務狀態查詢單元2012,可以用于查詢當前任務所依賴的所有父任務的任務狀態;若所有父任務的任務狀態均為完成狀態,則執行當前任務單元;若所有父任務中至少有一個父任務的任務狀態為未完成狀態,則等待預定時間后,重新執行父任務狀態查詢單元,直至所有父任務的任務狀態均為完成狀態。
所述當前任務單元202,用于執行當前任務,當前任務完成后,更改當前任務的任務狀態為已完成狀態。
圖4是任務單元中當前任務單元的組成結構圖。如圖4所示,所述當前任務單元202,包括:當前任務執行單元2021和當前任務狀態記錄單元2022;
所述當前任務執行單元2021,用于執行當前任務,即建立一個數據表;
所述當前任務狀態記錄單元2022,用于記錄當然任務的任務狀態;所述任務狀態的初始狀態為未完成狀態;在當前任務執行單元中當前任務執行完畢時,更改當前任務的任務狀態為已完成狀態。
需要說明的是,在數據倉庫數據處理系統中,由于所述源系統數據處理單元101中的每一個建立數據表的任務是根節點任務,沒有需要依賴的父任務,所以所述源系統數據處理單元101中每一個任務對應的任務單元,不包括:父任務單元201。
圖5是本申請數據倉庫數據處理方法實施例的流程圖。如圖5所示,所述數據倉庫數據處理方法,包括:
S501:從業務系統中抽取出原始數據并生成源系統數據表。
該步驟主要是利用源系統數據處理單元,先從各個業務系統中抽取出數據倉庫數據處理所需要的原始數據,所述原始數據可以是數據倉庫系統外部或內部的數據。根據抽取出的原始數據建立至少一個數據表并對所述數據表命名,所述數據表即為源系統數據表。在對所述 源系統數據表命名時,為了清楚地表示所述源系統數據表為源系統數據處理單元的處理結果,可以對所述一個或多個源系統數據表的名稱加一統一的標識,例如在數據表的名稱前加一“odl”,所述“odl”表示源系統數據層“operational data layer”。每個建立數據表的任務完成后,將該任務的任務狀態標識由表示任務未完成的字符改為表示任務完成的字符,例如用從表示任務未完成的“0”改為表示任務已完成的“1”。
以下述例子進行說明:
要對用戶瀏覽這一主題進行數據處理,要求在對數據進行處理時,可以從用戶特征維度和用戶瀏覽數據維度來分析。維度一般是指我們分析目標對象所采用的分析角度。所述的用戶特征維度可以包括:用戶賬號信息、用戶公司庫信息、用戶認證信息;所述的用戶瀏覽數據維度包括:頁面瀏覽日志、曝光點擊日志。
首先源系統數據處理單元從各業務系統中抽取出所需要的原始數據,具體包括:用戶賬號信息、用戶公司庫信息、用戶認證信息、頁面瀏覽日志、曝光點擊日志。所述的用戶賬號信息、用戶公司庫信息、用戶認證信息來自數據倉庫外部各個不同的用戶系統。所述的頁面瀏覽日志、曝光點擊日志來自專門負責采集用戶點擊流量數據的日志系統,所述日志系統數據來自數據倉庫內部的數據庫。
根據抽取出的原始數據源系統數據處理單元建立相應的源系統數據表。根據上述抽取到的5個維度的數據分別建立5個源系統數據表,并對源系統數據處理單元建立的源系統數據表命名,為了清楚地表示所述的源系統數據表為源系統數據處理單元的處理結果,對所述源系統數據表的名稱加一統一標識,例如“odl”。那么,所述的5個源系統數據表可以分別命名為“odl_用戶賬號信息”、“odl_用戶公司庫信息”、“odl_用戶認證信息”、“odl_頁面瀏覽日志”、“odl_曝光點擊日志”。在每個源系統數據表建立后,將建立該數據表對應的任務的任務狀態標識更改為表示完成狀態的字符,例如從“0”改為“1”。
所述的“odl_用戶賬號信息”表中,包含了用戶賬號id、用戶賬號狀態、用戶賬號注冊日期等信息。所述的“odl_用戶公司庫信息”表中,包含了用戶在公司的信息數據,例如職位等數據。所述的“odl_用戶認證信息”表中,包含了用戶在接受網站認證時產生的信息數據,例如網站注冊信息數據等。所述的“odl_頁面瀏覽日志”表中,包含了用戶瀏覽頁面產生的方法日志數據,即包含了每次點擊產生一次的頁面瀏覽量(page view,簡稱PV)數據、瀏覽頁面資源的地址(Uniform Resource Locator,簡稱URL)數據、瀏覽時間數據、上個頁面的URL數據等。所述的“odl_曝光點擊日志”表中,包含了頁面曝光的每個產品明細數據和點擊明細數據。
S502:對源系統數據表去冗余并對數據記歷史,建立歷史數據表。
由于源系統數據表中的數據是由各個業務系統中直接抽取獲得的原始數據,來自不同業務系統中的信息會有重復的冗余信息,需要對信息進行去冗余。同時這些原始數據來自不同的業務系統,因此數據源地址不完全相同,需要將數據的地址變更為當前地址,即對數據記歷史。
在執行每一建立歷史數據表任務之前,企業數據倉庫第一處理單元主動查詢該建立歷史數據表任務所依賴的一個或多個父任務的任務狀態,若所述一個或多個父任務的任務狀態標識均為表示完成狀態的“1”,則開始執行建立歷史數據表的任務;若所述一個或多個父任務的任務狀態標識至少有一個不是表示完成狀態的“1”,則在預定時間間隔后再次查詢所述一個或多個父任務的任務狀態,直至所述父任務的任務狀態標識均為表示完成狀態的“1”再執行建立歷史數據表的任務。所述任務包括:企業數據倉庫第一處理單元先將不同源數據數據表中的冗余信息刪除,保證信息的完整、簡潔;采用對數據記歷史的方式來更改數據當前地址,保證數據的地址相同,在對數據記歷史過程中建立與源系統數據表相對應的一個或多個歷史數據表;并對所建立的歷史數據表命名;每個建立歷史數據表的任務完成后,企業數據倉庫第一處理單元將該任務的任務狀態標識更改為表示任務完成的字符,例如“1”。
在對所述歷史數據表命名時,為了清楚地表示所述歷史數據表為企業數據倉庫第一處理單元的處理結果,可以對所述一個或多個歷史數據表的名稱加一統一的標識,例如在數據表的名稱前加一“edw1”,所述“edw1”中,edw表示企業數據倉庫“enterprise data warehouse”。
所述記歷史的方法可以是歷史拉鏈的方式,例如:數據x從2000年01月01日至2013年05月31日都存放在數據庫1中,2013年06月01數據x從數據庫1搬到數據庫2,則原來關于數據x的地址的記錄可以是:
“x,數據庫1”
2013年06月01日后,更新地址后的數據x的地址的記錄可以是:
“x,數據庫2”
在實際應用中,通常還在數據地址記錄上增加begin_date和end_date來表示數據地址有效期的時間,這樣數據x原來的地址記錄可以是:
“x,數據庫1,2000.01.01-2013.05.31”
數據x新的地址記錄可以是:
“x,數據庫2,2013.06.01-2999.12.31”
記歷史的方式還可以采用快照的方式。以上述的數據x為例,日快照的方式是將2013年05月31日和2013年06月01日的關于數據x的地址記錄分別完整保留下來,每日存一份包含了當日地址的完整數據。
具體的記歷史的方法一般視情況選擇一種合理的記歷史方式,比如,如果數據地址變化的不頻繁但數據本身的數據量很大,一般采用歷史拉鏈的方式,而如果數據地址變化頻繁但數據本身的數據量小,則一般采用快照的方式。
以上述對用戶瀏覽這一主題數據處理為例:
需要根據“odl_用戶賬號信息”表中的數據建立歷史數據表,所述建立歷史數據表的任務為當前任務;那么S501中建立“odl_用戶賬號信息”表即為當前任務所依賴的父任務;首先查詢當前任務所依賴的父任務的任務狀態,若父任務的任務狀態為未完成狀態,例如表示任務狀態的標識為表示未完成狀態的“0”,則等待預定間隔時間后,再次查詢父任務的任務狀態;當所述父任務的任務狀態為完成狀態時,例如表示任務狀態的標識為表示完成狀態的“1”,則開始執行當前任務。所述當前任務包括:
將上述“odl_用戶賬號信息”中重復的內容刪除。例如,建立“odl_用戶賬號信息”表時從業務系統A中選擇了用戶姓名為M的信息,從業務系統B中又選擇了用戶姓名為M的信息,那么“odl_用戶認證信息”表中用戶姓名為M的信息就存在冗余的信息,需要刪除。
對上述去冗余的數據表“odl_用戶賬號信息”中的數據記歷史,建立相應的歷史數據表。對所述歷史數據庫表命名,可以命名為“edw1_用戶賬號信息歷史”。所述“edw1_用戶賬號信息歷史”建立完成后,將建立該“edw1_用戶賬號信息歷史”的任務狀態標識改為表示完成狀態的字符“1”。用同樣的方法建立“edw1_用戶公司庫信息歷史”、“edw1_用戶認證信息歷史”、“edw1_頁面瀏覽日志快照”、“edw1_曝光點擊日志快照”這4個歷史數據表。
S503:建立事實數據表對歷史數據表的數據進行歸類。
在建立歷史數據表后,需要根據數據倉庫數據處理的主題對一個或一個以上的歷史數據表中的數據進行歸類。具體地,通用維度模型第一處理單元主動查詢每個建立事實數據表的任務所依賴的一個或多個建立歷史數據表的任務的任務狀態,所述建立歷史數據表的任務即為建立事實數據表任務的父任務。若所述父任務的任務狀態為完成狀態則開始執行該建立事實數據表的任務;若所述一個或多個父任務的任務狀態中至少有一個不是完成狀態,則在預定時間間隔后再次查詢父任務的任務狀態,直至父任務的任務狀態均為完成狀態開始執行建立事實數據表的任務。所述事實數據表通常用來描述數據集市中最密集的數據。例如,在電話公司中,用于呼叫的數據是典型的最密集數據。
所述建立事實數據表的任務包括:通用維度模型第一處理單元根據數據倉庫數據處理的主題對一個或一個以上的歷史數據表中的數據進行歸類,建立一個或多個事實數據表,并對所述事實數據表命名;每個建立事實數據表的任務完成后,通用維度模型第一處理單元將該任務的任務狀態標識更改為表示任務完成的字符,例如“1”。
在對所述事實數據表命名時,為了清楚地表示所述事實數據表為通用維度模型第一處理單元的處理結果,可以對所述一個或多個事實數據表的名稱加一統一的標識,例如在事實數據表的名稱前加一“cdm1”,所述“cdm1”中,cdm表示通用維度模型“common dimensional model”。
以上述用戶瀏覽的主題為例:
例如要通過“edw1_用戶賬號信息歷史”、“edw1_用戶公司庫信息歷史”這兩個數據表來對曝光點擊事件進行歸類,那么所述建立關于曝光點擊事件的事實數據表為當前任務,建立“edw1_用戶賬號信息歷史”的任務和建立“edw1_用戶公司庫信息歷史”的任務即為當前任務的父任務。當所述兩個父任務的任務狀態均為完成狀態時,例如兩個父任務的任務狀態標識均為“1”,則開始執行當前任務。所述當前任務包括:對“edw1_用戶賬號信息歷史”、“edw1_用戶公司庫信息歷史”這兩個表中的數據進行歸類,建立曝光點擊事件事實數據表,可以將該事實數據表命名為“cdm1_曝光點擊事件”。在“cdm1_曝光點擊事件”事實表建立完成后,將當前任務的任務狀態標識更改為表示完成狀態的“1”。用同樣的方法建立“cdm1_客體基本特征”、“cdm1_瀏覽行為事件”、“cdm1_曝光點擊關鍵詞”三個事實數據表。
S504:對事實數據表的數據進行匯總,建立匯總數據表。
通用維度模型第一處理單元中建立的事實數據表僅僅是對歷史數據表中的數據進行了描述,還需要對所述事實數據表的數據根據數據處理主題進行簡單的數據匯總。
具體地,通用維度模型第二處理單元主動查詢該步驟中建立匯總數據表的任務所依賴的通用維度模型第一數據處理單元中一個或多個事實數據表對應任務的任務狀態,所述一個或多個事實數據表對應任務即為該步驟中建立匯總數據表任務的父任務;若所述父任務的任務狀態均為完成狀態,則開始執行該步驟中的任務;若所述一個或多個父任務的任務狀態中至少有一個不是完成狀態,則在預定時間間隔后再次查詢父任務的任務狀態,直至父任務的任務狀態均為完成狀態再執行該步驟中建立匯總數據表的任務。所述建立匯總數據表的任務包括:對通用維度模型第一處理單元中建立的一個或多個事實表的數據進行匯總,建立匯總數據庫表,對所述匯總數據庫表命名。在所述每一匯總數據庫表建立完成后,將建立該匯總數據表任務的任務狀態標識從表示未完成狀態的字符更改為表示完成狀態的字符,例如從“0”改為“1”。
在對所述匯總數據表命名時,為了清楚地表示所述匯總數據表為通用維度模型第二處理單元的處理結果,與通用維度模型第一處理單元的處理結果類似,可以對所述一個或多個匯總數據表的名稱加一統一的標識,例如在匯總數據表的名稱前加一“cdm2”。
以上述用戶瀏覽數據處理主題為例:
對用戶瀏覽行為進行數據匯總需要“cdm1_客體基本特征”和“cdm1_瀏覽行為事件”這兩個表的數據,建立關于用戶瀏覽行為的匯總數據表為當前任務,則建立“cdm1_客體基本特征”的任務和建立“cdm1_瀏覽行為事件”的任務即為當前任務所依賴的父任務。主動查詢所述父任務的任務狀態,當所述父任務的任務狀態均為完成狀態時,對“cdm1_客體基本特征”和“cdm1_瀏覽行為事件”表中的數據進行匯總,建立瀏覽行為匯總數據表。可以將所述匯總數據表命名為“cdm2_瀏覽行為匯總數據”。在“cdm2_瀏覽行為匯總數據”表建立完成后,將建立“cdm2_瀏覽行為匯總數據”表的任務的任務狀態更改為完成狀態,例如將該任務的任務狀態改為“1”。用同樣的方法建立“cdm2_曝光點擊效果匯總數據”表和“cdm2_關鍵詞效果匯總數據”表。
S505:統計兩個或兩個以上匯總數據表之間的指標數據,建立統計數據表。
實施該步驟時,通用維度模型第三處理單元主動查詢該步驟中建立每一統計數據表需要的一個或多個事實數據表對應任務的任務狀態,所述一個或多個事實數據表對應的任務即為建立統計數據表的任務的父任務,該步驟需要執行的任務為子任務;若所述父任務的任務狀態為完成狀態,則開始執行建立統計數據表的任務;若所述一個或多個父任務的任務狀態中至少有一個不是完成狀態,則在預定時間間隔后再次查詢父任務的任務狀態,直至父任務的任務狀態均為完成狀態,開始執行建立統計數據表的任務。所述建立統計數據表的任務包括:統計通用維度模型第二處理單元中建立的2個或2個以上匯總數據表之間的指標數據,例如用戶實體與行業實體之間的指標數據等,根據指標數據建立統計數據表,并對所述統計數據表命名。當每個統計數據表建立完成后,將表示該任務的任務狀態的標識從表示未完成狀態的字符更改為表示完成狀態的字符,例如從“0”改為“1”。
在對所述統計數據表命名時,為了清楚地表示所述統計數據表為通用維度模型第三處理單元的處理結果,與通用維度模型第一處理單元、通用維度模型第二處理單元的處理結果類似,可以對所述一個或多個統計數據表的名稱加一統一的標識,例如在統計數據表的名稱前加一“cdm3”。
以上述對用戶瀏覽主題進行數據處理為例:
需要根據“cdm2_用戶曝光點擊效果匯總數據”和“cdm2_關鍵詞效果匯總數據”這兩個匯總數據表中的數據,建立關鍵詞交叉效果統計數據表。所述建立關鍵詞交叉效果統計數據表為當前任務,則建立“cdm2_用戶曝光點擊效果匯總數據”表的任務和建立“cdm2_關鍵詞效果匯總數據”表的任務為當前任務的父任務。主動查詢所述父任務的任務狀態,若所述父任務中有一個任務的任務狀態為未完成狀態,例如建立“cdm2_用戶曝光點擊效果匯總數據”表的任務的任務狀態標識為表示未完成的“0”,則等待預定時間間隔后,再次查詢所述父 任務的任務狀態,當所述兩個父任務的任務狀態均為完成狀態時,執行當前任務。所述執行當前任務包括:統計“cdm2_用戶曝光點擊效果匯總數據”和“cdm2_關鍵詞效果匯總數據”兩個匯總數據表中關鍵詞與用戶之間指標數據,例如選擇關鍵詞的人數等數據,建立關鍵詞交叉效果統計數據表;可以將所述關鍵詞交叉效果統計數據表命名為“cdm3_關鍵詞用戶交叉效果統計”。在“cdm3_關鍵詞用戶交叉效果統計”表建立完成后,將當前任務的任務狀態更改為完成狀態,例如將任務狀態標識的字符更改為“1”。
S506:基于事實數據表、匯總數據表、統計數據表的數據,建立應用數據表。
實施該步驟時,應用數據處理單元主動查詢該步驟建立應用數據表需要的通用維度模型第一處理單元、通用維度模型第二處理單元、通用維度模型第三處理單元中建立一個或多個數據表對應的任務的任務狀態,所述一個或多個數據表對應的任務即為該步驟中建立應用數據表任務所依賴的父任務;若所述父任務的任務狀態為完成狀態,則開始執行建立應用數據表的任務;若所述一個或多個父任務的任務狀態中至少有一個不是完成狀態,則在預定時間間隔后再次查詢父任務的任務狀態,直至父任務的任務狀態均為完成狀態,開始執行建立應用數據表的任務。所述建立應用數據表的任務包括:將建立每一應用數據表所依賴的一個或多個事實數據表和/或匯總數據表和/或統計數據表進行分析和合并,生成相應的應用數據表,對所述應用數據表命名。當所述每一建立應用數據表的任務完成后,應用數據處理單元將表示該任務的任務狀態的標識從表示未完成狀態的字符更改為表示完成狀態的字符,例如從“0”改為“1”。
在對所述應用數據表命名時,為了清楚地表示所述應用數據表為應用數據處理單元的處理結果,可以對所述一個或多個應用數據表的名稱加一統一的標識,例如在應用數據表的名稱前加一“adm”,所述“adm”表示通用維度模型“application data model”。
以上述對用戶瀏覽主題進行數據處理為例:
需要根據“cdm1_瀏覽行為事件”和“cdm2_用戶瀏覽行為匯總數據”兩個數據表來分析出用戶流量分析表;則建立用戶瀏覽分析表為當前任務,建立“cdm1_瀏覽行為事件”的任務和建立“cdm2_用戶瀏覽行為匯總數據”的任務為當前任務所依賴的父任務。首先主動查詢所述父任務的任務狀態,當所述父任務的任務狀態均為完成狀態時,開始執行當前任務,所述當前任務包括:根據表“cdm1_瀏覽行為事件”和表“cdm2_用戶瀏覽行為匯總數據”分析出的用戶流量,建立用戶流量分析表,可以將所述用戶流量分析表命名為“adm_用戶流量分析”表,在“adm_用戶流量分析”表建立完成后,將當前任務的任務狀態更改為完成狀態,例如將表示任務狀態的標識更改為“1”。用同樣的方法建立“adm_用戶路徑分析數據”和建立“adm_用戶關鍵詞研究”。上述三個應用數據表為用戶瀏覽這一主題的相關應用提供業 務數據。
下面介紹本申請數據倉庫數據處理方法第二實施例,該實施例與數據倉庫數據處理方法第一實施例的區別在于,所述數據倉庫數據處理方法,還包括:
S507:對歷史數據表中的底層數據進行分析歸類,建立歸類數據表。
在歷史數據表中,有部分復雜邏輯數據需要作為后續數據處理工作的基礎數據,可以對這部分數據進行歸類。
具體實施過程中,企業數據倉庫第二處理單元主動查詢該步驟建立歸類數據表需要的企業數據倉庫第一處理單元中一個或多個歷史數據表對應任務的任務狀態,所述歷史數據表對應任務即為該步驟中建立歸類數據表任務的父任務。若所述父任務的任務狀態為完成狀態,則開始執行該步驟中建立歸類數據表任務的任務;若所述一個或多個父任務的任務狀態中至少有一個不是完成狀態,則在預定時間間隔后再次查詢父任務的任務狀態,直至父任務的任務狀態均為完成狀態,開始執行該步驟中建立歸類數據表的任務。所述建立歸類數據表任務包括:將所述父任務建立的歷史數據表中復雜邏輯數據進行分析和歸類,生成歸類數據表,對所述歸類數據表命名;在每一個歸類數據表建立完成后,將該歸類數據表對應任務的任務狀態標識更改為表示完成狀態的字符,例如改為“1”。
在對所述歸類數據表命名時,為了清楚地表示所述歸類數據表為企業數據倉庫第二處理單元的處理結果,可以對所述一個或多個歸類數據表的名稱加一統一的標識,例如在歸類數據表的名稱前加一“edw2”。
相應地,S503中建立事實數據表時,可以調用所述歸類數據表的數據,那么建立所述歸類數據表的任務可以作為建立事實數據表任務的父任務。
以數據倉庫數據處理方法第一實施例中對用戶瀏覽這一主題進行數據倉庫數據處理的例子來說:
流量來源是基礎的、復雜的邏輯數據,需要對流量來源進行歸類,這就需要edw1中的“edw1_頁面瀏覽日快照”表的數據,建立流量來源歸類數據表為當前任務,則建立“edw1_頁面瀏覽日快照”的任務即為當前任務的父任務。首先主動查詢所述父任務的任務狀態,當該父任務的任務狀態為完成狀態時,執行當前任務。所述執行當前任務,包括:利用“edw1_頁面瀏覽日快照”表中的數據對流量的來源進行區分歸類;所述流量來源可以用一個標識來區分,例如用一個字段來表示流量來源,例如用字段“refer_url”來表示該流量來自哪個url來,或者在每個url后加一后綴,例如“tracelog”,來表示是否是通過其他瀏覽頁面的鏈接進入當前瀏覽頁面的;將字段相同或后綴相同的流量來源歸為一類。根據對流量來源的歸類,建立歸類數據表,所述歸類數據表可以命名為“edw2_流量來源歸類”。在建立流量 歸類數據表建立完成后,可以將當前任務的任務狀態更改為完成狀態,例如將任務狀態標識改為表示任務完成狀態的字符“1”。
相應地,S503中,建立“cdm1_瀏覽行為事件”的任務可以將建立“edw2_流量來源歸類”的任務作為父任務,則在S503中,建立“cdm1_瀏覽行為事件”這一事實數據表前,需要主動查詢建立“cdm1_瀏覽行為事件”的任務的狀態,當所有父任務的任務狀態均為完成狀態時,開始執行建立“cdm1_瀏覽行為事件”的任務;所述所有父任務包括建立“cdm1_瀏覽行為事件”的任務。
圖6是數據處理方法第二實施例中對用戶瀏覽這一主題進行數據倉庫數據處理的各個任務的依賴關系圖。從圖6中可以看出,在建立“cdm1_瀏覽行為事件”事實數據表的任務和建立“瀏覽行為匯總數據”匯總數據表的任務完成后,就可以執行建立“adm_用戶流量分析”應用數據表的任務,而不必等待通用維度模型第三處理單元中所有建立統計數據表的任務結束再執行該任務。
本申請提供的數據倉庫數據處理方法與系統,在現有的數據倉庫數據處理方法的基礎上將通用維度模型數據處理層分為三層,這就避免了通用維度模型層中每一層級內部的任務相互依賴,使得任務的并行數目達到最大,這樣通用維度模型數據處理層中任意一層數據處理任務完成后,數據處理結果也可以被應用層數據處理過程直接調用,這樣分布式系統環境下的計算機資源就能夠被有效利用,從而提高數據倉庫數據處理的效率。
由于本說明書中的系統實施例基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
雖然通過實施例描繪了本發明,本領域普通技術人員知道,本發明有許多變形和變化而不脫離本發明的精神,希望所附的權利要求包括這些變形和變化而不脫離本發明的精神。

關 鍵 詞:
一種 數據倉庫 數據處理 方法 系統
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種數據倉庫數據處理方法和系統.pdf
鏈接地址:http://www.wwszu.club/p-6373734.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大