構(gòu)建數(shù)據(jù)倉庫模型的方法與裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,特別地涉及一種構(gòu)建數(shù)據(jù)倉庫模型的方法與裝置。
【背景技術(shù)】
[0002] 隨著電子商務(wù)的發(fā)展,例如京東、淘寶、亞馬遜等日常運營中生成、累積的大量用 戶、商品、生產(chǎn)相關(guān)的數(shù)據(jù)呈現(xiàn)爆發(fā)式增長,數(shù)據(jù)結(jié)構(gòu)也開始多元化,數(shù)據(jù)中含有的信息越 來越多,公司對數(shù)據(jù)化運營也越來越關(guān)注。數(shù)據(jù)倉庫用于對數(shù)據(jù)進(jìn)行分處理工作,發(fā)揮著巨 大的作用。然而,大數(shù)據(jù)時代的降臨數(shù)據(jù)倉庫慢慢轉(zhuǎn)成分布式架構(gòu),以滿足爆發(fā)式增長的計 算以及存儲的要求。
[0003] 基于傳統(tǒng)行業(yè),例如銀行、保險、零售等的數(shù)據(jù)倉庫模型標(biāo)準(zhǔn)化的構(gòu)建方法已經(jīng)非 常成熟?,F(xiàn)有技術(shù)的做法為基于Teradata數(shù)據(jù)倉庫基礎(chǔ)之上,零售企業(yè)的數(shù)據(jù)倉庫的構(gòu)建 和主題分析,主要構(gòu)建過程包括:業(yè)務(wù)建模、領(lǐng)域建模、邏輯建模以及物理建模。具體的,業(yè) 務(wù)建模生成業(yè)務(wù)模型,用于解決業(yè)務(wù)層面的分解和程序化;領(lǐng)域建模生成領(lǐng)域模型,用于對 業(yè)務(wù)模型進(jìn)行抽象處理生成領(lǐng)域概念模型;邏輯建模生成邏輯模型,用于將領(lǐng)域模型的概 念實體化以及將實體之間的關(guān)系進(jìn)行基于數(shù)據(jù)庫層次的邏輯化;物理建模生成物理模型, 用于解決邏輯模型針對不同關(guān)系型數(shù)據(jù)庫的物理化以及性能等問題。
[0004] 進(jìn)一步地,基于Teradata的零售數(shù)據(jù)倉庫模型,利用商業(yè)化的oracle集群和傳 統(tǒng)的數(shù)據(jù)倉庫建模方法論構(gòu)建stage層,通過ETL過程抽取源生產(chǎn)系統(tǒng)數(shù)據(jù);構(gòu)建ods層, 對stage層進(jìn)行清洗和加工;構(gòu)建dwd層,基于邏輯模型搭建實體表及實體表的關(guān)系;構(gòu)建 dwa層,基于主題模型和邏輯關(guān)系將dwd層數(shù)據(jù)編譯處理到dwa層。
[0005] 但現(xiàn)有技術(shù)存在以下缺點:數(shù)據(jù)倉庫基于商業(yè)化的數(shù)據(jù)倉庫平臺,存在資源不足, 計算性能有限的問題,無法充分良好的擴(kuò)充資源,且傳統(tǒng)的數(shù)據(jù)倉庫建模層次繁多,依賴關(guān) 系復(fù)雜,模型變更繁瑣,進(jìn)一步地,由于電子商務(wù)的業(yè)務(wù)正在高速發(fā)展,現(xiàn)有模型無法快速 響應(yīng)業(yè)務(wù)的快速變化,具有技術(shù)的滯后性。
【發(fā)明內(nèi)容】
[0006] 有鑒于此,本發(fā)明提供一種構(gòu)建數(shù)據(jù)倉庫模型的方法,通過易用性。本發(fā)明還公開 了一種構(gòu)建數(shù)據(jù)倉庫模型的裝置。
[0007] 為實現(xiàn)上述目的,根據(jù)本發(fā)明的一個方面,提供了一種構(gòu)建數(shù)據(jù)倉庫模型的方法, 包括:
[0008] 對業(yè)務(wù)模型執(zhí)行抽象處理生成領(lǐng)域模型;將所述領(lǐng)域模型根據(jù)多個主題名稱分拆 為多個主題模型;以及通過所述多個主題模型構(gòu)建數(shù)據(jù)倉庫模型。
[0009] 可選地,所述領(lǐng)域模型包括:網(wǎng)站前端模型、電子零售模型、供應(yīng)鏈模型、售后模型 以及倉儲模型。
[0010] 可選地,所述多個主題名稱包括:客戶、組織機(jī)構(gòu)、商品、訂單、賬戶、客戶端、營銷、 倉儲、配送、客服、地理區(qū)域、財務(wù)、社區(qū)、流量以及供應(yīng)鏈。
[0011] 可選地,所述多個主題模型的參數(shù)包括:主題前綴、主題名稱、簡稱以及業(yè)務(wù)覆蓋 范圍。
[0012] 可選地,通過所述多個主題模型構(gòu)建數(shù)據(jù)倉庫模型具體包括:將所述多個主題模 型依次經(jīng)過緩沖數(shù)據(jù)層、基礎(chǔ)數(shù)據(jù)層、通用數(shù)據(jù)層以及聚合數(shù)據(jù)層執(zhí)行裝載,構(gòu)建所述數(shù)據(jù) 倉庫模型。
[0013] 為實現(xiàn)上述目的,根據(jù)本發(fā)明的另一個方面,提供了一種構(gòu)建數(shù)據(jù)倉庫模型的裝 置,包括:
[0014] 領(lǐng)域模型生成模塊,用于對業(yè)務(wù)模型執(zhí)行抽象處理生成領(lǐng)域模型;主題模型分拆 模塊,用于將所述領(lǐng)域模型根據(jù)多個主題名稱分拆為多個主題模型;以及數(shù)據(jù)倉庫模型構(gòu) 建模塊,用于通過所述多個主題模型構(gòu)建數(shù)據(jù)倉庫模型。
[0015] 可選地,所述領(lǐng)域模型包括:網(wǎng)站前端模型、電子零售模型、供應(yīng)鏈模型、售后模型 以及倉儲模型。
[0016] 可選地,所述多個主題名稱包括:客戶、組織機(jī)構(gòu)、商品、訂單、賬戶、客戶端、營銷、 倉儲、配送、客服、地理區(qū)域、財務(wù)、社區(qū)、流量以及供應(yīng)鏈。
[0017] 可選地,所述多個主題模型的參數(shù)包括:主題前綴、主題名稱、簡稱以及業(yè)務(wù)覆蓋 范圍。
[0018] 可選地,所述數(shù)據(jù)倉庫模型構(gòu)建模塊具體包括:裝載單元,用于將所述多個主題模 型依次經(jīng)過緩沖數(shù)據(jù)層、基礎(chǔ)數(shù)據(jù)層、通用數(shù)據(jù)層以及聚合數(shù)據(jù)層執(zhí)行裝載,構(gòu)建所述數(shù)據(jù) 倉庫模型。
[0019] 根據(jù)本發(fā)明的技術(shù)方案,本發(fā)明提出了一種構(gòu)建數(shù)據(jù)倉庫模型的方法,基于電子 商務(wù)業(yè)務(wù),提出了完整的多個主題模型,有利于充分、有效的實現(xiàn)數(shù)據(jù)分析和挖掘,同時通 過分布式數(shù)據(jù)倉庫數(shù)據(jù)模型,即緩沖數(shù)據(jù)層、基礎(chǔ)數(shù)據(jù)層、通用數(shù)據(jù)層、聚合數(shù)據(jù)層、維度數(shù) 據(jù)庫、以及計算中間庫(臨時數(shù)據(jù)庫),且以hadoop為平臺,hive作為數(shù)據(jù)模型構(gòu)建工具, 有效提升了數(shù)據(jù)的穩(wěn)定性、可擴(kuò)展性,為構(gòu)建基于分布式數(shù)據(jù)倉庫提供了一套完整的模型 體系。本發(fā)明還公開了一種構(gòu)建數(shù)據(jù)倉庫模型的裝置。
【附圖說明】
[0020] 附圖用于更好地理解本發(fā)明,不構(gòu)成對本發(fā)明的不當(dāng)限定。其中:
[0021] 圖1是根據(jù)本發(fā)明實施例的一種構(gòu)建數(shù)據(jù)倉庫模型的方法的步驟流程圖;以及
[0022] 圖2是根據(jù)本發(fā)明實施例的一種構(gòu)建數(shù)據(jù)倉庫模型的裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0023] 以下結(jié)合附圖對本發(fā)明的示范性實施方式做出說明,其中包括本發(fā)明實施方式的 各種細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn) 識到,可以對這里描述的實施方式做出各種改變和修改,而不會背離本發(fā)明的范圍和精神。 同樣,為了清楚和簡明,以下的描述中省略了對公知功能和結(jié)構(gòu)的描述。
[0024] 本發(fā)明提出的一種構(gòu)架數(shù)據(jù)倉庫模型的方法為基于B2C(Business-t〇-Customer, 商對客)的電子商務(wù)業(yè)務(wù)的數(shù)據(jù)倉庫模型標(biāo)準(zhǔn)化的構(gòu)建方法,以B2C電子商務(wù)為業(yè)務(wù)基礎(chǔ), 區(qū)別于傳統(tǒng)數(shù)據(jù)倉庫模型的構(gòu)建方法。
[0025] 如圖1所示,本發(fā)明實施例的一種構(gòu)建數(shù)據(jù)倉庫模型的方法的步驟流程圖。構(gòu)建 數(shù)據(jù)倉庫模型的方法,包括以下具體步驟:
[0026] 步驟S1 :對業(yè)務(wù)模型執(zhí)行抽象處理生成領(lǐng)域模型。其中,領(lǐng)域模型包括:網(wǎng)站前端 模型、電子零售模型、供應(yīng)鏈模型、售后模型以及倉儲模型。由此,提高了針對業(yè)務(wù)抽象出來 的領(lǐng)域多樣性與適用性。
[0027] 步驟S2 :將領(lǐng)域模型根據(jù)多個主題名稱分拆為多個主題模型。其中,多個主題名 稱包括:客戶、組織機(jī)構(gòu)、商品、訂單、賬戶、客戶端、營銷、倉儲、配送、客服、地理區(qū)域、財務(wù)、 社區(qū)、流量以及供應(yīng)鏈,且多個主題模型參數(shù)包括:主題前綴、主題名稱、簡稱以及業(yè)務(wù)覆蓋 范圍。由此,通過在領(lǐng)域模型中按照多個主題名稱拆分提出多個主題的方式,有效的實現(xiàn)了 精確數(shù)據(jù)的分析和挖掘。具體對應(yīng)關(guān)系,如下表所示:
[0028]
[00291-步驟S3 :通過多個主題模型構(gòu)建數(shù)據(jù)倉庫模型。 '
[0030] 具體地,通過多個主題模型構(gòu)建數(shù)據(jù)倉庫模型具體包括:將多個主題模型依次經(jīng) 過緩沖數(shù)據(jù)層、基礎(chǔ)數(shù)據(jù)層、通用數(shù)據(jù)層以及聚合數(shù)據(jù)層執(zhí)行裝載,構(gòu)建數(shù)據(jù)倉庫模型。其 中,緩沖數(shù)據(jù)層從源系統(tǒng)將數(shù)據(jù)抽取到本層,數(shù)據(jù)以文件的形式入到hadoop本地;基礎(chǔ)數(shù) 據(jù)層將緩沖層的數(shù)據(jù),通過拉鏈的方式加工到本層中;通用數(shù)據(jù)層根據(jù)業(yè)務(wù)模型,將基礎(chǔ)層 數(shù)據(jù)通過業(yè)務(wù)邏輯加工成主題數(shù)據(jù);聚合數(shù)據(jù)層按維度,將基礎(chǔ)層或通用層數(shù)據(jù)通過匯總 邏輯加工成聚合數(shù)據(jù)。
[0031] 進(jìn)一步地,數(shù)據(jù)模型中的維度數(shù)據(jù)層從源系統(tǒng)中抽取維度相關(guān)數(shù)據(jù),入到本層中。 由此,實現(xiàn)了用戶從多種維度分析數(shù)據(jù)的可行性;臨時數(shù)據(jù)層用于臨時數(shù)據(jù)加工、存儲的 層。由此,通過對臨時數(shù)據(jù)的堆放和緩存操作,有效提高了多個主題模型在多層執(zhí)行裝載的 速率。
[0032] 為了更好的理解通過多個主題模型構(gòu)建數(shù)據(jù)倉庫模型,進(jìn)行以下示例:基于電 子商務(wù)的分布式數(shù)據(jù)倉庫,通過hadoop平臺,利用hive作為數(shù)據(jù)倉庫工具,商品主題的 數(shù)據(jù)倉庫模型構(gòu)建過程:通過ETL過程,將商品相關(guān)的線上源系統(tǒng)的數(shù)據(jù),抽取并裝載到 BDM(Buffering Data Model,緩沖數(shù)據(jù)層),表名 bdm_item_01,bdm_item_02, bdm_item_03 等,通過加工腳本,將BDM層數(shù)據(jù)表,加工生成到FDM(Fundamental Data Model,基礎(chǔ)數(shù)據(jù) 層),相對應(yīng)的表名fdm_item_01,fdm_item_02,fdm_item_03等,繼而通過hive腳本,將 FDM層的數(shù)據(jù)加工到GDM(General Data Model,通用數(shù)據(jù)層),表名gdm_m03_item,同時, FDM層或GDM層表,可以加工得到ADM(Aggregative Data Model,聚合數(shù)據(jù)層),表名adm_ m03_item,gdm和adm表,作為商品主題模型的物理表。
[0033] 根據(jù)本發(fā)明實施例的構(gòu)架數(shù)據(jù)倉庫模型的方法,基于