專利名稱:一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置及方法。
背景技術(shù):
信息多樣化的今天,隨著數(shù)據(jù)逐漸增多,數(shù)據(jù)的存儲也達到了一定的高度,在很多企業(yè)進入了數(shù)據(jù)倉庫的時代,越來越多的應(yīng)用開始使用數(shù)據(jù)倉庫的數(shù)據(jù),從中獲取各自需要的信息。在這當中,就有很大一部分需求是將倉庫的數(shù)據(jù)做一定的轉(zhuǎn)換以滿足自己的目的。由于數(shù)據(jù)倉庫中存儲的是海量數(shù)據(jù),如果以傳統(tǒng)方式,每個應(yīng)用都以自己的途徑通過循環(huán)、匹配、映射等方法做轉(zhuǎn)換將有極大的效率問題。舉個簡單的例子,當來自不同應(yīng)用的請求分別對海量數(shù)據(jù)進行抽取并進行數(shù)據(jù)轉(zhuǎn)換,其中有40%以上的請求都使用到了相同的客戶信息關(guān)聯(lián)協(xié)議的數(shù)據(jù),另有30%使用到相同的日志表關(guān)聯(lián)地址信息,如果采用傳統(tǒng)方式,每個應(yīng)用都以自己的途徑獨立進行數(shù)據(jù)轉(zhuǎn)換,將導(dǎo)致以下缺陷:1、數(shù)據(jù)區(qū)間重復(fù)訪問,即使有了數(shù)據(jù)庫連接池技術(shù),仍得承認,重復(fù)N次操作將把時間橫向擴大N倍,對于外圍接入不通過數(shù)據(jù)庫連接池的訪問,將有更大的開銷;2、數(shù)據(jù)源之間被反復(fù)連接,當數(shù)據(jù)庫進行連接時,底層會進行許多繁瑣的重分布,即使全部使用索引方式連接,數(shù)據(jù)庫也有很大的開銷,更何況實際情況做不到全索引連接;3、數(shù)據(jù)條件的不確定性,當數(shù)據(jù)達到海量時,再將所有數(shù)據(jù)與自己需要的條件匹配,如同大海撈針,運行的時間有很大的不可控性。
·
4、系統(tǒng)資源被大量冗余占用,服務(wù)器CPU長期在計算,內(nèi)存空間得不到有效利用,真正迫切的請求可能仍在進程隊列中等待資源的釋放。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置及方法,以克服多渠道海量數(shù)據(jù)轉(zhuǎn)換反復(fù)連接數(shù)據(jù)庫的問題,提高了數(shù)據(jù)轉(zhuǎn)換效率。一方面,本發(fā)明實施例提供了一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置包括:數(shù)據(jù)存儲裝置、數(shù)據(jù)預(yù)處理裝置、數(shù)據(jù)解析裝置、數(shù)據(jù)重構(gòu)裝置、執(zhí)行監(jiān)控裝置,其中:數(shù)據(jù)存儲裝置,用于作為數(shù)據(jù)的存儲空間,該數(shù)據(jù)存儲裝置包含:原始存儲單元、關(guān)鍵字存儲單元、預(yù)處理存儲單元、統(tǒng)計存儲單元、數(shù)據(jù)源關(guān)系加工存儲單元、單元素取值存儲單元、壓縮重組存儲單元、海量數(shù)據(jù)映射存儲單元;數(shù)據(jù)預(yù)處理裝置,用于讀取原始存儲單元和關(guān)鍵字存儲單元,分別得到原始數(shù)據(jù)及關(guān)鍵字字典,通過關(guān)鍵字字典對原始數(shù)據(jù)做拆解,得到關(guān)鍵要素,關(guān)鍵要素包括:目標數(shù)據(jù)源、數(shù)據(jù)源關(guān)系集合、元素取值集合及轉(zhuǎn)換結(jié)果,隨后將關(guān)鍵要素存入預(yù)處理存儲單元,其中的數(shù)據(jù)稱為預(yù)處理數(shù)據(jù),最后數(shù)據(jù)預(yù)處理裝置發(fā)出完成消息通知數(shù)據(jù)解析裝置;數(shù)據(jù)解析裝置,用于接收到數(shù)據(jù)預(yù)處理裝置的完成消息后,讀取數(shù)據(jù)存儲裝置中的預(yù)處理數(shù)據(jù),解析得到數(shù)據(jù)源關(guān)系集合中不同維度的轉(zhuǎn)換結(jié)果,將其保存在數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元;同時還用于從數(shù)據(jù)存儲裝置中的統(tǒng)計存儲單元讀取統(tǒng)計信息,生成元素集合中的優(yōu)先級,并將其保存在統(tǒng)計存儲單元,同時發(fā)送完成信息給數(shù)據(jù)重構(gòu)裝置;數(shù)據(jù)重構(gòu)裝置,用于接收來自數(shù)據(jù)解析裝置發(fā)來的完成消息,從數(shù)據(jù)存儲裝置讀取數(shù)據(jù)源關(guān)系加工存儲單元及統(tǒng)計存儲單元數(shù)據(jù),進行全局性的壓縮,重組,形成完整的執(zhí)行語句,并存入壓縮重組存儲單元,之后發(fā)送完成消息至執(zhí)行監(jiān)控裝置;執(zhí)行監(jiān)控裝置,用于接收數(shù)據(jù)重構(gòu)裝置發(fā)送的完成消息,從壓縮重組存儲單元得到可執(zhí)行的語句,并以多線程方式提交執(zhí)行;在執(zhí)行過程中,執(zhí)行監(jiān)控裝置讀取數(shù)據(jù)源關(guān)系加工存儲單元及統(tǒng)計存儲單元中的數(shù)據(jù),分別得到數(shù)據(jù)源連接集合及元素取值集合,對于正在執(zhí)行的語句進行監(jiān)控,得到每種數(shù)據(jù)源連接配以元素取值在數(shù)據(jù)倉庫中出現(xiàn)的記錄數(shù),并對單個元素條件進行統(tǒng)計;將統(tǒng)計結(jié)果記錄進統(tǒng)計存儲單元中,供數(shù)據(jù)解析裝置下次調(diào)用獲取??蛇x的,在本發(fā)明一實施例中,所述數(shù)據(jù)解析裝置包括:數(shù)據(jù)源加工單元和元素加工單元,其中:數(shù)據(jù)源加工單元,用于接收來自數(shù)據(jù)預(yù)處理裝置發(fā)來的完成消息,從數(shù)據(jù)存儲裝置中讀取預(yù)處理存儲單元的數(shù)據(jù);對預(yù)處理數(shù)據(jù)中數(shù)據(jù)源關(guān)系集合進行解析,提取數(shù)據(jù)源及數(shù)據(jù)源之間的關(guān)系,通過對數(shù)據(jù)源及數(shù)據(jù)源之間的關(guān)系進行變形計算,最終計算出“數(shù)據(jù)源關(guān)系”、“轉(zhuǎn)換1”,“轉(zhuǎn)換2”,“轉(zhuǎn)換3” ;并將其保存在數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元;同時發(fā)送完成消息給元素加工單元;元素加工單元,用于接收數(shù)據(jù)源加工單元的完成消息,從數(shù)據(jù)存儲裝置讀取數(shù)據(jù)源關(guān)系加工存儲單元中相同的“轉(zhuǎn)換2”和“轉(zhuǎn)換3”對應(yīng)的“序號”,用這些“序號”與預(yù)處理存儲單元中的“序號”做相等關(guān)聯(lián),得到預(yù)處理存儲單元中的元素取值集合,然后,結(jié)合統(tǒng)計存儲單元中統(tǒng)計出現(xiàn)次數(shù)的狀態(tài)對元素取值集合進行頻度分析得到各元素取 值在表達式中出現(xiàn)的次數(shù),將其補充到統(tǒng)計存儲單元中??蛇x的,在本發(fā)明一實施例中,所述數(shù)據(jù)源加工單元包括:數(shù)據(jù)源提取單元和數(shù)據(jù)源解析重組單元,其中:數(shù)據(jù)源提取單元,用于接收來自數(shù)據(jù)預(yù)處理裝置發(fā)來的完成消息,從數(shù)據(jù)存儲裝置中讀取預(yù)處理存儲單元的數(shù)據(jù)源關(guān)系集合以及關(guān)鍵存儲單元中的關(guān)鍵字,在數(shù)據(jù)源關(guān)系集合中按順序匹配關(guān)鍵字,得到數(shù)據(jù)源關(guān)系,寫入數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元,并發(fā)送完成消息給數(shù)據(jù)源解析重組單元;數(shù)據(jù)源解析重組單元,用于接收來自數(shù)據(jù)源提取單元發(fā)來的完成消息,從數(shù)據(jù)源關(guān)系加工存儲單元讀取數(shù)據(jù)源關(guān)系,對其進行join前置,數(shù)據(jù)源排序,數(shù)據(jù)源連接條件排序三步操作,得到壓縮重組的數(shù)據(jù)源關(guān)系集合,將結(jié)果填入數(shù)據(jù)源關(guān)系加工存儲單元中的“轉(zhuǎn)換1”,“轉(zhuǎn)換2”,“轉(zhuǎn)換3”,完成后發(fā)送完成消息給元素加工單元。可選的,在本發(fā)明一實施例中,所述元素加工單元包括:元素提取單元、單元素表達式統(tǒng)計單元和重定序單元,其中:元素提取單元,用于接收數(shù)據(jù)源加工單元發(fā)送的完成消息,從數(shù)據(jù)存儲裝置中讀取數(shù)據(jù)源關(guān)系加工存儲單元,得到相同的“轉(zhuǎn)換2”和“轉(zhuǎn)換3”對應(yīng)的“序號”,根據(jù)序號取出預(yù)處理存儲單元中的元素取值集合,并從中提練出單元素取值,更新到統(tǒng)計存儲單元中,發(fā)送完成消息給單元素表達式統(tǒng)計單元;單元素表達式統(tǒng)計單元,用于接收元素提取單元發(fā)送的完成消息,從統(tǒng)計存儲單元讀取表達式標志為I的元素取值集合,計算得到單元素的表達式中出現(xiàn)次數(shù),將結(jié)果插回統(tǒng)計存儲單元中的表達式中出現(xiàn)次數(shù),隨后發(fā)送完成消息給重定序單元;重定序單元,用于接收來自單元素表達式統(tǒng)計單元發(fā)送的完成消息,從統(tǒng)計存儲單元讀取不同的出現(xiàn)次數(shù),對元素取值集合進行上下,左右順序性的調(diào)整,得到新的排列組合,更新預(yù)處理存儲單元,隨后發(fā)送完成消息給數(shù)據(jù)重構(gòu)裝置??蛇x的,在本發(fā)明一實施例中,所述數(shù)據(jù)重構(gòu)裝置包括:數(shù)據(jù)源合并單元和元素合并單元,其中:數(shù)據(jù)源合并單元,用于接收數(shù)據(jù)解析裝置發(fā)送的完成消息,讀取數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元,將所有相同的數(shù)據(jù)源關(guān)系組合在一起,形成一句語句,得到不包含元素取值的轉(zhuǎn)換語句,將其存入數(shù)據(jù)存儲裝置中的壓縮重組存儲單元,隨后,發(fā)送完成消息給元素合并單元;元素合并單元,用于接收來自數(shù)據(jù)源合并單元的完成消息,讀取數(shù)據(jù)源關(guān)系加工存儲單元,取相同的數(shù)據(jù)源關(guān)系集合,即相同的“轉(zhuǎn)換2”、“轉(zhuǎn)換3”至預(yù)處理存儲單元中,取出數(shù)據(jù)源關(guān)系集合對應(yīng)的元素取值集合與轉(zhuǎn)換結(jié)果;此時的元素取值集合已被數(shù)據(jù)解析裝置重新調(diào)整了順序,根據(jù)元素取值集合與轉(zhuǎn)換結(jié)果,由元素合并單元進行重組,生成的完整的轉(zhuǎn)換語句,補充進壓縮重組存儲單元中;隨后發(fā)送完成消息給執(zhí)行監(jiān)控裝置??蛇x的,在本發(fā)明一實施例中,所述執(zhí)行監(jiān)控裝置包括:轉(zhuǎn)換語句執(zhí)行單元、組合計數(shù)單元和單元素條件計數(shù)單元,其中:轉(zhuǎn)換語句執(zhí)行單元,用于接收來自數(shù)據(jù)重構(gòu)裝置發(fā)送的完成消息,讀取壓縮重組·存儲單元,將其中的語句分線程執(zhí)行;語句全部執(zhí)行完成后,發(fā)送完成消息給組合計數(shù)單元;組合計數(shù)單元,用于接收來自轉(zhuǎn)換語句執(zhí)行單元的完成消息,在統(tǒng)計存儲單元中遍歷所有表達式標志為I的記錄,取得數(shù)據(jù)源組合和元素取值集合,并用這兩個數(shù)據(jù)對轉(zhuǎn)換語句執(zhí)行單元執(zhí)行的數(shù)據(jù)進行監(jiān)控,從而捕獲海量數(shù)據(jù)映射存儲單元中數(shù)據(jù)源組合和元素取值集合存在的記錄數(shù),將其更新入統(tǒng)計出現(xiàn)次數(shù)列中;隨后發(fā)送完成消息給單元素條件計數(shù)單元;單元素條件計數(shù)單元,用于接收來自組合計數(shù)單元的完成消息,讀取統(tǒng)計存儲單元的中標志為I的統(tǒng)計出現(xiàn)次數(shù),以此數(shù)據(jù)對單元素取值出現(xiàn)次數(shù)進行計算,將計算結(jié)果補充到統(tǒng)計存儲單元的單元素取值對應(yīng)的統(tǒng)計出現(xiàn)次數(shù)列。另一方面,本發(fā)明實施例提供了一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法,所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法應(yīng)用于上述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,具體包括:數(shù)據(jù)預(yù)處理裝置讀取數(shù)據(jù)存儲裝置中的原始存儲單元,對原始數(shù)據(jù)做預(yù)處理,存入數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元,完成后通知數(shù)據(jù)源解析裝置;數(shù)據(jù)源解析裝置讀取數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元,將預(yù)處理后的數(shù)據(jù)傳給數(shù)據(jù)源提取單元處理,由數(shù)據(jù)源提取單元對數(shù)據(jù)源語句進行解析,提取出包含在語句中的數(shù)據(jù)源,完成后通知數(shù)據(jù)源解析重組單元;數(shù)據(jù)源解析重組單元將數(shù)據(jù)源提取單元解析出的數(shù)據(jù)源進一步解析,并按固定格式重組,將其保存入數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元,結(jié)束后發(fā)送通知給元素加工單元;元素加工單元讀取數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元及數(shù)據(jù)源關(guān)系加工存儲單元,將數(shù)據(jù)傳給元素提取單元處理,元素提取單元按數(shù)據(jù)源關(guān)系加工存儲單元中相同的數(shù)據(jù)源關(guān)系,找到數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元中的元素取值,并提取出單元素取值及各元素的組合關(guān)系,完成后發(fā)送消息通知重定序單元;
重定序單元根據(jù)分類情況將單元組合進行排列組合,完成后通知數(shù)據(jù)重構(gòu)裝置;數(shù)據(jù)重構(gòu)裝置接到通知后,調(diào)用子單元數(shù)據(jù)源合并單元,由數(shù)據(jù)源合并單元對全局數(shù)據(jù)的數(shù)據(jù)源集合進行壓縮合并,生成新的數(shù)據(jù)源集合,完成后發(fā)送另一個子單元元素合并單兀;元素合并單元對全局數(shù)據(jù)的元素取值集合進行壓縮合并,并在數(shù)據(jù)源合并單元生成的數(shù)據(jù)基礎(chǔ)上,補全元素取值部分,完成后通知執(zhí)行監(jiān)控裝置;執(zhí)行監(jiān)控裝置調(diào)用子單元轉(zhuǎn)換語句執(zhí)行單元,由其負責將所有的轉(zhuǎn)換后的數(shù)據(jù)進行提交執(zhí)行;在轉(zhuǎn)換語句執(zhí)行單元開始執(zhí)行的同時,由執(zhí)行監(jiān)控裝置發(fā)送通知給組合計數(shù)單元及單元素計數(shù)單元;組合計數(shù)單元及單元素計數(shù)單元負責對轉(zhuǎn)換語句執(zhí)行單元執(zhí)行的語句進行監(jiān)控,并收集執(zhí)行后的統(tǒng)計信息,以此更新數(shù)據(jù)存儲裝置中的統(tǒng)計存儲單元。
上述技術(shù)方案具有如下有益效果:將來自不同渠道的數(shù)據(jù)轉(zhuǎn)換語句逐個拆分,抽取出關(guān)鍵要素,并從宏觀上將所有轉(zhuǎn)換語句看成整體,進行全局壓縮及重組,使不同渠道的語句如同來自一個渠道,從而解決了數(shù)據(jù)庫重復(fù)訪問、數(shù)據(jù)源反復(fù)連接,實現(xiàn)了語句運行時間的確定性、系統(tǒng)資源有效利用,提高了數(shù)據(jù)轉(zhuǎn)換的效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置結(jié)構(gòu)示意圖;圖2為本發(fā)明實施例數(shù)據(jù)解析裝置的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例數(shù)據(jù)源加工單元的結(jié)構(gòu)示意圖;圖4為本發(fā)明實施例元素加工單元的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例數(shù)據(jù)重構(gòu)裝置的結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例執(zhí)行監(jiān)控裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法流程圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。如圖1所示,為本發(fā)明實施例一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置結(jié)構(gòu)示意圖,所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置包括:數(shù)據(jù)存儲裝置1、數(shù)據(jù)預(yù)處理裝置2、數(shù)據(jù)解析裝置
3、數(shù)據(jù)重構(gòu)裝置4、執(zhí)行監(jiān)控裝置5,其中:數(shù)據(jù)存儲裝置1,用于作為數(shù)據(jù)的存儲空間,該數(shù)據(jù)存儲裝置I包含:原始存儲單元、關(guān)鍵字存儲單元、預(yù)處理存儲單元、統(tǒng)計存儲單元、數(shù)據(jù)源關(guān)系加工存儲單元、單元素取值存儲單元、壓縮重組存儲單元、海量數(shù)據(jù)映射存儲單元;數(shù)據(jù)預(yù)處理裝置2,用于讀取原始存儲單元和關(guān)鍵字存儲單元,分別得到原始數(shù)據(jù)及關(guān)鍵字字典,通過關(guān)鍵字字典對原始數(shù)據(jù)做拆解,得到關(guān)鍵要素,關(guān)鍵要素包括:目標數(shù)據(jù)源、數(shù)據(jù)源關(guān)系集合、元素取值集合及轉(zhuǎn)換結(jié)果,隨后將關(guān)鍵要素存入預(yù)處理存儲單元,其中的數(shù)據(jù)稱為預(yù)處理數(shù)據(jù),最后數(shù)據(jù)預(yù)處理裝置2發(fā)出完成消息通知數(shù)據(jù)解析裝置3 ;數(shù)據(jù)解析裝置3,用于接收到數(shù)據(jù)預(yù)處理裝置2的完成消息后,讀取數(shù)據(jù)存儲裝置I中的預(yù)處理數(shù)據(jù),解析得到數(shù)據(jù)源關(guān)系集合中不同維度的轉(zhuǎn)換結(jié)果,將其保存在數(shù)據(jù)存儲裝置I中的數(shù)據(jù)源關(guān)系加工存儲單元;同時還用于從數(shù)據(jù)存儲裝置I中的統(tǒng)計存儲單元讀取統(tǒng)計信息,生成元素集合中的優(yōu)先級,并將其保存在統(tǒng)計存儲單元,同時發(fā)送完成信息給數(shù)據(jù)重構(gòu)裝置4 ;數(shù)據(jù)重構(gòu)裝置4,用于接收來自數(shù)據(jù)解析裝置3發(fā)來的完成消息,從數(shù)據(jù)存儲裝置I讀取數(shù)據(jù)源關(guān)系加工存儲單元及統(tǒng)計存儲單元數(shù)據(jù),進行全局性的壓縮,重組,形成完整的執(zhí)行語句,并存入壓縮重組存儲單元,之后發(fā)送完成消息至執(zhí)行監(jiān)控裝置5 ;執(zhí)行監(jiān)控裝置5,用于接收數(shù)據(jù)重構(gòu)裝置4發(fā)送的完成消息,從壓縮重組存儲單元得到可執(zhí)行的語句,并以多線程方式提交執(zhí)行;在執(zhí)行過程中,執(zhí)行監(jiān)控裝置5讀取數(shù)據(jù)源關(guān)系加工存儲單元及統(tǒng)計存儲單元中的數(shù)據(jù),分別得到數(shù)據(jù)源連接集合及元素取值集合,對于正在執(zhí)行的語句進行監(jiān)控,得到每種數(shù)據(jù)源連接配以元素取值在數(shù)據(jù)倉庫中出現(xiàn)的記錄數(shù),并對單個元素條件進行統(tǒng)計;將統(tǒng)計結(jié)果記錄進統(tǒng)計存儲單元中,供數(shù)據(jù)解析裝置3下次調(diào)用獲取。可選的,如圖2所示,為本發(fā)明實施例數(shù)據(jù)解析裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)解析裝置3包括:數(shù)據(jù)源加工單元301和元素加工單元302,其中:數(shù)據(jù)源加工單元301,用于接收來自數(shù)據(jù)預(yù)處理裝置2發(fā)來的完成消息,從數(shù)據(jù)存儲裝置I中讀取預(yù)處理存儲單元的數(shù)據(jù);對預(yù)處理數(shù)據(jù)中數(shù)據(jù)源關(guān)系集合進行解析,提取數(shù)據(jù)源及數(shù)據(jù)源之間的關(guān)系,通過對數(shù)據(jù)源及數(shù)據(jù)源之間的關(guān)系進行變形計算,最終計算出“數(shù)據(jù)源關(guān)系”、“轉(zhuǎn)換1”,“轉(zhuǎn)換2”,“轉(zhuǎn)換3” ;并將其保存在數(shù)據(jù)存儲裝置I中的數(shù)據(jù)源關(guān)系加工存儲單元;同時發(fā)送完成消息給元素加工單元302 ;元素加工單元302,用于接收數(shù)據(jù)源加工單元301的完成消息,從數(shù)據(jù)存儲裝置I讀取數(shù)據(jù)源關(guān)系加工存儲單元中相同的“轉(zhuǎn)換2”和“轉(zhuǎn)換3”對應(yīng)的“序號”,用這些“序號”與預(yù)處理存儲單元中的“序號”做相等關(guān)聯(lián),得到預(yù)處理存儲單元中的元素取值集合,然后,結(jié)合統(tǒng)計存儲單元中統(tǒng)計出現(xiàn)次數(shù)的狀態(tài)對元素取值集合進行頻度分析得到各元素取值在表達式中出現(xiàn)的次數(shù),將其補充到統(tǒng)計存儲單元中??蛇x的,如圖3所示,為本發(fā)明實施例數(shù)據(jù)源加工單元的結(jié)構(gòu)示意圖,所述數(shù)據(jù)源加工單元301包括:數(shù)據(jù)源提取單元30101和數(shù)據(jù)源解析重組單元30102,其中:數(shù)據(jù)源提取單元30101,用于接收來自數(shù)據(jù)預(yù)處理裝置2發(fā)來的完成消息,從數(shù)據(jù)存儲裝置I中讀取預(yù)處理存儲單元的數(shù)據(jù)源關(guān)系集合以及關(guān)鍵存儲單元中的關(guān)鍵字,在數(shù)據(jù)源關(guān)系集合中按順序匹配關(guān)鍵字,得到數(shù)據(jù)源關(guān)系,寫入數(shù)據(jù)存儲裝置I中的數(shù)據(jù)源關(guān)系加工存儲單元,并發(fā)送完成消息給數(shù)據(jù)源解析重組單元30102 ;數(shù)據(jù)源解析重組單元30102,用于接收來自數(shù)據(jù)源提取單元30101發(fā)來的完成消息,從數(shù)據(jù)源關(guān)系加工存儲單元讀取數(shù)據(jù)源關(guān)系,對其進行join前置,數(shù)據(jù)源排序,數(shù)據(jù)源連接條件排序三步操作,得到壓縮重組的數(shù)據(jù)源關(guān)系集合,將結(jié)果填入數(shù)據(jù)源 關(guān)系加工存儲單元中的“轉(zhuǎn)換1”,“轉(zhuǎn)換2”,“轉(zhuǎn)換3”,完成后發(fā)送完成消息給元素加工單元302??蛇x的,如圖4所示,為本發(fā)明實施例元素加工單元的結(jié)構(gòu)示意圖,所述元素加工單元302包括:元素提取單元30201、單元素表達式統(tǒng)計單元30202和重定序單元30203,其中:元素提取單元30201,用于接收數(shù)據(jù)源加工單元301發(fā)送的完成消息,從數(shù)據(jù)存儲裝置I中讀取數(shù)據(jù)源關(guān)系加工存儲單元,得到相同的“轉(zhuǎn)換2”和“轉(zhuǎn)換3”對應(yīng)的“序號”,根據(jù)序號取出預(yù)處理存儲單元中的元素取值集合,并從中提練出單元素取值,更新到統(tǒng)計存儲單元中,發(fā)送完成消息給單元素表達式統(tǒng)計單元30202 ;單元素表達式統(tǒng)計單元30202,用于接收元素提取單元30201發(fā)送的完成消息,從統(tǒng)計存儲單元讀取表達式標志為I的元素取值集合,計算得到單元素的表達式中出現(xiàn)次數(shù),將結(jié)果插回統(tǒng)計存儲單元中的表達式中出現(xiàn)次數(shù),隨后發(fā)送完成消息給重定序單元30203 ;重定序單元30203,用于接收來自單元素表達式統(tǒng)計單元30202發(fā)送的完成消息,從統(tǒng)計存儲單元讀取不同的出現(xiàn)次數(shù),對元素取值集合進行上下,左右順序性的調(diào)整,得到新的排列組合,更新預(yù)處理存儲單元,隨后發(fā)送完成消息給數(shù)據(jù)重構(gòu)裝置4。可選的,如圖5所示,為本發(fā)明實施例數(shù)據(jù)重構(gòu)裝置的結(jié)構(gòu)示意圖,所述數(shù)據(jù)重構(gòu)裝置4包括:數(shù)據(jù)源合并單元401和元素合并單元402,其中:數(shù)據(jù)源合并單元401,用于接收數(shù)據(jù)解析裝置3發(fā)送的完成消息,讀取數(shù)據(jù)存儲裝置I中的數(shù)據(jù)源關(guān)系加工存儲單元,將所有相同的數(shù)據(jù)源關(guān)系組合在一起,形成一句語句,得到不包含元素取值的轉(zhuǎn)換語句,將其存入數(shù)據(jù)存儲裝置I中的壓縮重組存儲單元,隨后,發(fā)送完成消息給元素合并單元402 ;元素合并單元402,用于接收來自數(shù)據(jù)源合并單元401的完成消息,讀取數(shù)據(jù)源關(guān)系加工存儲單元,取相同的數(shù)據(jù)源關(guān)系集合,即相同的“轉(zhuǎn)換2”、“轉(zhuǎn)換3”至預(yù)處理存儲單元中,取出數(shù)據(jù)源關(guān)系集合對應(yīng)的元素 取值集合與轉(zhuǎn)換結(jié)果;此時的元素取值集合已被數(shù)據(jù)解析裝置3重新調(diào)整了順序,根據(jù)元素取值集合與轉(zhuǎn)換結(jié)果,由元素合并單元402進行重組,生成的完整的轉(zhuǎn)換語句,補充進壓縮重組存儲單元中;隨后發(fā)送完成消息給執(zhí)行監(jiān)控裝置5??蛇x的,如圖6所示,為本發(fā)明實施例執(zhí)行監(jiān)控裝置的結(jié)構(gòu)示意圖,所述執(zhí)行監(jiān)控裝置5包括:轉(zhuǎn)換語句執(zhí)行單元501、組合計數(shù)單元502和單元素條件計數(shù)單元503,其中:轉(zhuǎn)換語句執(zhí)行單元501,用于接收來自數(shù)據(jù)重構(gòu)裝置4發(fā)送的完成消息,讀取壓縮重組存儲單元,將其中的語句分線程執(zhí)行;語句全部執(zhí)行完成后,發(fā)送完成消息給組合計數(shù)單元502 ;組合計數(shù)單元502,用于接收來自轉(zhuǎn)換語句執(zhí)行單元501的完成消息,在統(tǒng)計存儲單元中遍歷所有表達式標志為I的記錄,取得數(shù)據(jù)源組合和元素取值集合,并用這兩個數(shù)據(jù)對轉(zhuǎn)換語句執(zhí)行單元501執(zhí)行的數(shù)據(jù)進行監(jiān)控,從而捕獲海量數(shù)據(jù)映射存儲單元中數(shù)據(jù)源組合和元素取值集合存在的記錄數(shù),將其更新入統(tǒng)計出現(xiàn)次數(shù)列中;隨后發(fā)送完成消息給單元素條件計數(shù)單元503 ;單元素條件計數(shù)單元503,用于接收來自組合計數(shù)單元502的完成消息,讀取統(tǒng)計存儲單元的中標志為I的統(tǒng)計出現(xiàn)次數(shù),以此數(shù)據(jù)對單元素取值出現(xiàn)次數(shù)進行計算,將計算結(jié)果補充到統(tǒng)計存儲單元的單元素取值對應(yīng)的統(tǒng)計出現(xiàn)次數(shù)列。另一方面,對應(yīng)于上述裝置實施例,如圖7所示,為本發(fā)明實施例一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法流程圖,所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法應(yīng)用于上述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,具體包括:701、數(shù)據(jù)預(yù)處理裝置2讀取數(shù)據(jù)存儲裝置I中的原始存儲單元,對原始數(shù)據(jù)做預(yù)處理,存入數(shù)據(jù)存儲裝置I中的預(yù)處理存儲單元,完成后通知數(shù)據(jù)源解析裝置;
702、數(shù)據(jù)源解析裝置讀取數(shù)據(jù)存儲裝置I中的預(yù)處理存儲單元,將預(yù)處理后的數(shù)據(jù)傳給數(shù)據(jù)源提取單元30101處理,由數(shù)據(jù)源提取單元30101對數(shù)據(jù)源語句進行解析,提取出包含在語句中的數(shù)據(jù)源,完成后通知數(shù)據(jù)源解析重組單元30102 ;703、數(shù)據(jù)源解析重組單元30102將數(shù)據(jù)源提取單元30101解析出的數(shù)據(jù)源進一步解析,并按固定格式重組,將其保存入數(shù)據(jù)存儲裝置I中的數(shù)據(jù)源關(guān)系加工存儲單元,結(jié)束后發(fā)送通知給元素加工單元302 ;704、元素加工單元302讀取數(shù)據(jù)存儲裝置I中的預(yù)處理存儲單元及數(shù)據(jù)源關(guān)系加工存儲單元,將數(shù)據(jù)傳給元素提取單元30201處理,元素提取單元30201按數(shù)據(jù)源關(guān)系加工存儲單元中相同的數(shù)據(jù)源關(guān)系,找到數(shù)據(jù)存儲裝置I中的預(yù)處理存儲單元中的元素取值,并提取出單元素取值及各元素的組合關(guān)系,完成后發(fā)送消息通知重定序單元30203 ;705、重定序單元30203根據(jù)分類情況將單元組合進行排列組合,完成后通知數(shù)據(jù)重構(gòu)裝置4 ;706、數(shù)據(jù)重構(gòu)裝置4接到通知后,調(diào)用子單元數(shù)據(jù)源合并單元401,由數(shù)據(jù)源合并單元401對全局數(shù)據(jù)的數(shù)據(jù)源集合進行壓縮合并,生成新的數(shù)據(jù)源集合,完成后發(fā)送另一個子單元元素合并單元402 ;707、元素合并單元402對全局數(shù)據(jù)的元素取值集合進行壓縮合并,并在數(shù)據(jù)源合并單元401生成的數(shù)據(jù)基礎(chǔ)上,補全元素取值部分,完成后通知執(zhí)行監(jiān)控裝置5 ;708、執(zhí)行監(jiān)控裝置5調(diào)用子單元轉(zhuǎn)換語句執(zhí)行單元501,由其負責將所有的轉(zhuǎn)換后的數(shù)據(jù)進行提交執(zhí)行;在轉(zhuǎn)換語句執(zhí)行單元501開始執(zhí)行的同時,由執(zhí)行監(jiān)控裝置5發(fā)送通知給組合計數(shù)單元502及單元素計數(shù)單元;
709、組合計數(shù)單元502及單元素計數(shù)單元負責對轉(zhuǎn)換語句執(zhí)行單元501執(zhí)行的語句進行監(jiān)控,并收集執(zhí)行后的統(tǒng)計信息,以此更新數(shù)據(jù)存儲裝置I中的統(tǒng)計存儲單元。本發(fā)明實施例上述技術(shù)方案具有如下有益效果:將來自不同渠道的數(shù)據(jù)轉(zhuǎn)換語句逐個拆分,抽取出關(guān)鍵要素,并從宏觀上將所有轉(zhuǎn)換語句看成整體,進行全局壓縮及重組,使不同渠道的語句如同來自一個渠道,從而解決了數(shù)據(jù)庫重復(fù)訪問、數(shù)據(jù)源反復(fù)連接,實現(xiàn)了語句運行時間的確定性、系統(tǒng)資源有效利用,提高了數(shù)據(jù)轉(zhuǎn)換的效率。以下結(jié)合具體應(yīng)用實例對上述本發(fā)明實施例圖1-圖7進行詳細說明:本發(fā)明應(yīng)用實例為了克服多渠道海量數(shù)據(jù)轉(zhuǎn)換反復(fù)連接數(shù)據(jù)庫,效率較低的問題,提出了一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置及方法。該方法將來自不同渠道的數(shù)據(jù)轉(zhuǎn)換語句逐個拆分,抽取出關(guān)鍵要素,并從宏觀上將所有轉(zhuǎn)換語句看成整體,進行全局壓縮及重組,使不同渠道的語句如同來自一個渠道,從而解決了數(shù)據(jù)庫重復(fù)訪問、數(shù)據(jù)源反復(fù)連接,實現(xiàn)了語句運行時間的確定性、系統(tǒng)資源有效利用,提高了數(shù)據(jù)轉(zhuǎn)換的效率。本發(fā)明應(yīng)用實例由于不改變請求語句的含義,只是針對其結(jié)構(gòu)進行壓縮和重組,所以它不局限于數(shù)據(jù)倉庫,甚至于落地到非海量數(shù)據(jù),也有其很好的通用性。對多渠道、海量數(shù)據(jù)則有極強的針對性。本發(fā)明應(yīng)用實例提供了一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置及方法。通過前置式接口收集不同渠道提供來的數(shù)據(jù)轉(zhuǎn)換請求,在其對海量數(shù)據(jù)做抽取、轉(zhuǎn)換前,對轉(zhuǎn)換語句進行匯總,并通過本發(fā)明應(yīng)用實例進行壓縮和重組,在這個過程中,裝置會對語句進行宏觀到微觀的分析,將一句完整的請求拆分成數(shù)據(jù)源和元素,并分別針對海量數(shù)據(jù)的特點進行重構(gòu),而不改變語義。同時,該發(fā)明還能動態(tài)的選擇最優(yōu)重組方式,不受渠道增加的影響,能隨數(shù)據(jù)增長變化,充分彌補了傳統(tǒng)技術(shù)架構(gòu)在此方面的不足。首先對本發(fā)明應(yīng)用實例所涉及到的數(shù)據(jù)倉庫的技術(shù)術(shù)語說明:數(shù)據(jù)源關(guān)系集合——由多個數(shù)據(jù)源組成,數(shù)據(jù)源之間存在著一系列關(guān)系,使數(shù)據(jù)之間產(chǎn)生聯(lián)系,以便組成新的數(shù)據(jù)源,對于這種新數(shù)據(jù)源的表達式此處稱為數(shù)據(jù)源關(guān)系集
口 ο元素取值集合一每個數(shù)據(jù)源都有不同維度的元素組成,以描述這組記錄的屬性,而這些元素的取值,則表現(xiàn)出記錄的當前形態(tài),例如,長方形由長和寬兩個元素組成,而長為3,寬為2,則表述了此長方形元素的取值。而元素取值集合則包含一系列元素取值。轉(zhuǎn)換輸出一對于不同特征事物定義的符號。數(shù)據(jù)源連接條件一當數(shù)據(jù)源之間建立關(guān)聯(lián)后,不同數(shù)據(jù)源之間共性的元素建立的約束關(guān)系。下面結(jié)合上述圖1-圖7進行具體描述:圖1是本發(fā)明提供的一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置的示意圖,該裝置包括:數(shù)據(jù)存儲裝置1、數(shù)據(jù)預(yù)處理裝置2、數(shù)據(jù)解析裝置3、數(shù)據(jù)重構(gòu)裝置4、執(zhí)行監(jiān)控裝置5。數(shù)據(jù)存儲裝置1,作為發(fā)明中所有數(shù)據(jù)的存儲空間,該裝置包含:原始存儲單元、關(guān)鍵字存儲單元、預(yù)處理存儲單元、統(tǒng)計存儲單元、數(shù)據(jù)源關(guān)系加工存儲單元、單元素取值存儲單元、壓縮重組存儲單元、海量數(shù)據(jù)映射存儲單元。每個存儲單元將在后續(xù)裝置使用中
說明?!霸即鎯卧敝?保存了來自各應(yīng)用的數(shù)據(jù)轉(zhuǎn)換句語,稱為“原始數(shù)據(jù)”。如表1.1
update A from A, BtC setA-X--TQOOr WHFME A.coll-------Rxoll
and A.ca!2......C.coll and A.a—3 ANDRb......TO’
update A sei A.x.......'TQO13' where
A.a......4表1.1關(guān)鍵字存儲單元包含以下關(guān)鍵字:update,from, set, where, and, union, sel,join, left join, right join。“海量數(shù)據(jù)映射存儲單元”中通過view視圖方式映射了如數(shù)據(jù)倉庫等需要被轉(zhuǎn)換的數(shù)據(jù)。即原始存儲單元中的轉(zhuǎn)換語句操作的對象。數(shù)據(jù)預(yù)處理裝置2,負責讀取“原始存儲單元”和“關(guān)鍵字存儲單元”,分別得到原始數(shù)據(jù)(表1.1)及關(guān)鍵字字典,通過關(guān)鍵字字典對原始數(shù)據(jù)做拆解,得到關(guān)鍵要素,關(guān)鍵要素包括“目標數(shù)據(jù)源”、“數(shù)據(jù)源關(guān)系集合”、“元素取值集合”及“轉(zhuǎn)換結(jié)果”,隨后將要素存入“預(yù)處理存儲單元”,其中的數(shù)據(jù)稱為“預(yù)處理數(shù)據(jù)”,最后數(shù)據(jù)預(yù)處理裝置2發(fā)出消息通知數(shù)據(jù)解析裝置3。以表1.1中的數(shù)據(jù)為例,經(jīng)過數(shù)據(jù)預(yù)處理裝置2處理后的數(shù)據(jù)參見表2.1:
權(quán)利要求
1.一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,其特征在于,所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置包括:數(shù)據(jù)存儲裝置、數(shù)據(jù)預(yù)處理裝置、數(shù)據(jù)解析裝置、數(shù)據(jù)重構(gòu)裝置、執(zhí)行監(jiān)控裝置,其中: 數(shù)據(jù)存儲裝置,用于作為數(shù)據(jù)的存儲空間,該數(shù)據(jù)存儲裝置包含:原始存儲單元、關(guān)鍵字存儲單元、預(yù)處理存儲單元、統(tǒng)計存儲單元、數(shù)據(jù)源關(guān)系加工存儲單元、單元素取值存儲單元、壓縮重組存儲單元、海量數(shù)據(jù)映射存儲單元; 數(shù)據(jù)預(yù)處理裝置,用于讀取原始存儲單元和關(guān)鍵字存儲單元,分別得到原始數(shù)據(jù)及關(guān)鍵字字典,通過關(guān)鍵字字典對原始數(shù)據(jù)做拆解,得到關(guān)鍵要素,關(guān)鍵要素包括:目標數(shù)據(jù)源、數(shù)據(jù)源關(guān)系集合、元素取值集合及轉(zhuǎn)換結(jié)果,隨后將關(guān)鍵要素存入預(yù)處理存儲單元,其中的數(shù)據(jù)稱為預(yù)處理數(shù)據(jù),最后數(shù)據(jù)預(yù)處理裝置發(fā)出完成消息通知數(shù)據(jù)解析裝置; 數(shù)據(jù)解析裝置,用于接收到數(shù)據(jù)預(yù)處理裝置的完成消息后,讀取數(shù)據(jù)存儲裝置中的預(yù)處理數(shù)據(jù),解析得到數(shù)據(jù)源關(guān)系集合中不同維度的轉(zhuǎn)換結(jié)果,將其保存在數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元;同時還用于從數(shù)據(jù)存儲裝置中的統(tǒng)計存儲單元讀取統(tǒng)計信息,生成元素集合中的優(yōu)先級,并將其保存在統(tǒng)計存儲單元,同時發(fā)送完成信息給數(shù)據(jù)重構(gòu)裝置; 數(shù)據(jù)重構(gòu)裝置,用于接收來自數(shù)據(jù)解析裝置發(fā)來的完成消息,從數(shù)據(jù)存儲裝置讀取數(shù)據(jù)源關(guān)系加工存儲單元及統(tǒng)計存儲單元數(shù)據(jù),進行全局性的壓縮,重組,形成完整的執(zhí)行語句,并存入壓縮重組存儲單元,之后發(fā)送完成消息至執(zhí)行監(jiān)控裝置; 執(zhí)行監(jiān)控裝置,用于接收數(shù)據(jù)重 構(gòu)裝置發(fā)送的完成消息,從壓縮重組存儲單元得到可執(zhí)行的語句,并以多線程方式提交執(zhí)行;在執(zhí)行過程中,執(zhí)行監(jiān)控裝置讀取數(shù)據(jù)源關(guān)系加工存儲單元及統(tǒng)計存儲單元中的數(shù)據(jù),分別得到數(shù)據(jù)源連接集合及元素取值集合,對于正在執(zhí)行的語句進行監(jiān)控,得到每種數(shù)據(jù)源連接配以元素取值在數(shù)據(jù)倉庫中出現(xiàn)的記錄數(shù),并對單個元素條件進行統(tǒng)計;將統(tǒng)計結(jié)果記錄進統(tǒng)計存儲單元中,供數(shù)據(jù)解析裝置下次調(diào)用獲取。
2.如權(quán)利要求1所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)解析裝置包括:數(shù)據(jù)源加工單元和元素加工單元,其中: 數(shù)據(jù)源加工單元,用于接收來自數(shù)據(jù)預(yù)處理裝置發(fā)來的完成消息,從數(shù)據(jù)存儲裝置中讀取預(yù)處理存儲單元的數(shù)據(jù);對預(yù)處理數(shù)據(jù)中數(shù)據(jù)源關(guān)系集合進行解析,提取數(shù)據(jù)源及數(shù)據(jù)源之間的關(guān)系,通過對數(shù)據(jù)源及數(shù)據(jù)源之間的關(guān)系進行變形計算,最終計算出“數(shù)據(jù)源關(guān)系”、“轉(zhuǎn)換1”,“轉(zhuǎn)換2”,“轉(zhuǎn)換3”;并將其保存在數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元;同時發(fā)送完成消息給元素加工單元; 元素加工單元,用于接收數(shù)據(jù)源加工單元的完成消息,從數(shù)據(jù)存儲裝置讀取數(shù)據(jù)源關(guān)系加工存儲單元中相同的“轉(zhuǎn)換2”和“轉(zhuǎn)換3”對應(yīng)的“序號”,用這些“序號”與預(yù)處理存儲單元中的“序號”做相等關(guān)聯(lián),得到預(yù)處理存儲單元中的元素取值集合,然后,結(jié)合統(tǒng)計存儲單元中統(tǒng)計出現(xiàn)次數(shù)的狀態(tài)對元素取值集合進行頻度分析得到各元素取值在表達式中出現(xiàn)的次數(shù),將其補充到統(tǒng)計存儲單元中。
3.如權(quán)利要求2所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)源加工單元包括:數(shù)據(jù)源提取單元和數(shù)據(jù)源解析重組單元,其中: 數(shù)據(jù)源提取單元,用于接收來自數(shù)據(jù)預(yù)處理裝置發(fā)來的完成消息,從數(shù)據(jù)存儲裝置中讀取預(yù)處理存儲單元的數(shù)據(jù)源關(guān)系集合以及關(guān)鍵存儲單元中的關(guān)鍵字,在數(shù)據(jù)源關(guān)系集合中按順序匹配關(guān)鍵字,得到數(shù)據(jù)源關(guān)系,寫入數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元,并發(fā)送完成消息給數(shù)據(jù)源解析重組單元; 數(shù)據(jù)源解析重組單元,用于接收來自數(shù)據(jù)源提取單元發(fā)來的完成消息,從數(shù)據(jù)源關(guān)系加工存儲單元讀取數(shù)據(jù)源關(guān)系,對其進行join前置,數(shù)據(jù)源排序,數(shù)據(jù)源連接條件排序三步操作,得到壓縮重組的數(shù)據(jù)源關(guān)系集合,將結(jié)果填入數(shù)據(jù)源關(guān)系加工存儲單元中的“轉(zhuǎn)換1”,“轉(zhuǎn)換2”,“轉(zhuǎn)換3”,完成后發(fā)送完成消息給元素加工單元。
4.如權(quán)利要求2所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,其特征在于,所述元素加工單元包括:元素提取單元、單元素表達式統(tǒng)計單元和重定序單元,其中: 元素提取單元,用于接收數(shù)據(jù)源加工單元發(fā)送的完成消息,從數(shù)據(jù)存儲裝置中讀取數(shù)據(jù)源關(guān)系加工存儲單元,得到相同的“轉(zhuǎn)換2”和“轉(zhuǎn)換3”對應(yīng)的“序號”,根據(jù)序號取出預(yù)處理存儲單元中的元素取值集合,并從中提練出單元素取值,更新到統(tǒng)計存儲單元中,發(fā)送完成消息給單元素表達式統(tǒng)計單元; 單元素表達式統(tǒng)計單元,用于接收元素提取單元發(fā)送的完成消息,從統(tǒng)計存儲單元讀取表達式標志為I的元素取值集合,計算得到單元素的表達式中出現(xiàn)次數(shù),將結(jié)果插回統(tǒng)計存儲單元中的表達式中出現(xiàn)次數(shù),隨后發(fā)送完成消息給重定序單元; 重定序單元,用于接收來自單元素表達式統(tǒng)計單元發(fā)送的完成消息,從統(tǒng)計存儲單元讀取不同的出現(xiàn)次數(shù),對元素取值集合進行上下,左右順序性的調(diào)整,得到新的排列組合,更新預(yù)處理存儲單元,隨后發(fā)送完成消息給數(shù)據(jù)重構(gòu)裝置。
5.如權(quán)利要求1所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,其特征在于,所述數(shù)據(jù)重構(gòu)裝置包括:數(shù)據(jù)源合并單元和元素合并單元,其中: 數(shù)據(jù)源合并單元,用于接收數(shù)據(jù)解析裝置發(fā)送的完成消息,讀取數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元,將所有相同的數(shù)據(jù)源關(guān)系組合在一起,形成一句語句,得到不包含元素取值的轉(zhuǎn)換語句,將其存入數(shù)據(jù)存儲裝置中的壓縮重組存儲單元,隨后,發(fā)送完成消息給元素合并單元; 元素合并單元,用于接收來自數(shù)據(jù)源合并單元的完成消息,讀取數(shù)據(jù)源關(guān)系加工存儲單元,取相同的數(shù)據(jù)源關(guān)系集合,即相同的“轉(zhuǎn)換2”、“轉(zhuǎn)換3”至預(yù)處理存儲單元中,取出數(shù)據(jù)源關(guān)系集合對應(yīng)的元素取值集合與轉(zhuǎn)換結(jié)果;此時的元素取值集合已被數(shù)據(jù)解析裝置重新調(diào)整了順序,根據(jù)元素取值集合與轉(zhuǎn)換結(jié)果,由元素合并單元進行重組,生成的完整的轉(zhuǎn)換語句,補充進壓縮重組存儲單元中;隨后發(fā)送完成消息給執(zhí)行監(jiān)控裝置。
6.如權(quán)利要求1所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,其特征在于,所述執(zhí)行監(jiān)控裝置包括:轉(zhuǎn)換語句執(zhí)行單元、組合計數(shù)單元和單元素條件計數(shù)單元,其中: 轉(zhuǎn)換語句執(zhí)行單元,用于接收來自數(shù)據(jù)重構(gòu)裝置發(fā)送的完成消息,讀取壓縮重組存儲單元,將其中的語句分線程執(zhí)行;語句全部執(zhí)行完成后,發(fā)送完成消息給組合計數(shù)單元; 組合計數(shù)單元,用于接收來自轉(zhuǎn)換語句執(zhí)行單元的完成消息,在統(tǒng)計存儲單元中遍歷所有表達式標志為I的記錄,取得數(shù)據(jù)源組合和元素取值集合,并用這兩個數(shù)據(jù)對轉(zhuǎn)換語句執(zhí)行單元執(zhí)行的數(shù)據(jù)進行監(jiān)控,從而捕獲海量數(shù)據(jù)映射存儲單元中數(shù)據(jù)源組合和元素取值集合存在的記錄數(shù),將其更新入統(tǒng)計出現(xiàn)次數(shù)列中;隨后發(fā)送完成消息給單元素條件計數(shù)單元;單元素條件計數(shù)單元,用于接收來自組合計數(shù)單元的完成消息,讀取統(tǒng)計存儲單元的中標志為I的統(tǒng)計出現(xiàn)次數(shù),以此數(shù)據(jù)對單元素取值出現(xiàn)次數(shù)進行計算,將計算結(jié)果補充到統(tǒng)計存儲單元的單元素取值對應(yīng)的統(tǒng)計出現(xiàn)次數(shù)列。
7.一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法,其特征在于,所述基于數(shù)據(jù)倉庫的數(shù)據(jù)處理方法應(yīng)用于所述權(quán)利要求1-6中任一項基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置,具體包括: 數(shù)據(jù)預(yù)處理裝置讀取數(shù)據(jù)存儲裝置中的原始存儲單元,對原始數(shù)據(jù)做預(yù)處理,存入數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元,完成后通知數(shù)據(jù)源解析裝置; 數(shù)據(jù)源解析裝置讀取數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元,將預(yù)處理后的數(shù)據(jù)傳給數(shù)據(jù)源提取單元處理,由數(shù)據(jù)源提取單元對數(shù)據(jù)源語句進行解析,提取出包含在語句中的數(shù)據(jù)源,完成后通知數(shù)據(jù)源解析重組單元; 數(shù)據(jù)源解析重組單元將數(shù)據(jù)源提取單元解析出的數(shù)據(jù)源進一步解析,并按固定格式重組,將其保存入數(shù)據(jù)存儲裝置中的數(shù)據(jù)源關(guān)系加工存儲單元,結(jié)束后發(fā)送通知給元素加工單元; 元素加工單元讀取數(shù)據(jù)存儲裝置中的預(yù)處理存儲單元及數(shù)據(jù)源關(guān)系加工存儲單元,將數(shù)據(jù)傳給元素提取單元處理,元素提取單元按數(shù)據(jù)源關(guān)系加工存儲單元中相同的數(shù)據(jù)源關(guān)系,找到數(shù)據(jù)存儲裝置中 的預(yù)處理存儲單元中的元素取值,并提取出單元素取值及各元素的組合關(guān)系,完成后發(fā)送消息通知重定序單元; 重定序單元根據(jù)分類情況將單元組合進行排列組合,完成后通知數(shù)據(jù)重構(gòu)裝置; 數(shù)據(jù)重構(gòu)裝置接到通知后,調(diào)用子單元數(shù)據(jù)源合并單元,由數(shù)據(jù)源合并單元對全局數(shù)據(jù)的數(shù)據(jù)源集合進行壓縮合并,生成新的數(shù)據(jù)源集合,完成后發(fā)送另一個子單元元素合并單元; 元素合并單元對全局數(shù)據(jù)的元素取值集合進行壓縮合并,并在數(shù)據(jù)源合并單元生成的數(shù)據(jù)基礎(chǔ)上,補全元素取值部分,完成后通知執(zhí)行監(jiān)控裝置; 執(zhí)行監(jiān)控裝置調(diào)用子單元轉(zhuǎn)換語句執(zhí)行單元,由其負責將所有的轉(zhuǎn)換后的數(shù)據(jù)進行提交執(zhí)行;在轉(zhuǎn)換語句執(zhí)行單元開始執(zhí)行的同時,由執(zhí)行監(jiān)控裝置發(fā)送通知給組合計數(shù)單元及單元素計數(shù)單元; 組合計數(shù)單元及單元素計數(shù)單元負責對轉(zhuǎn)換語句執(zhí)行單元執(zhí)行的語句進行監(jiān)控,并收集執(zhí)行后的統(tǒng)計信息,以此更新數(shù)據(jù)存儲裝置中的統(tǒng)計存儲單元。
全文摘要
本發(fā)明實施例提供一種基于數(shù)據(jù)倉庫的數(shù)據(jù)處理裝置及方法,該裝置包括數(shù)據(jù)存儲裝置,用于作為數(shù)據(jù)的存儲空間;數(shù)據(jù)預(yù)處理裝置,用于得到原始數(shù)據(jù)及關(guān)鍵字字典,得到關(guān)鍵要素;數(shù)據(jù)解析裝置,用于讀取數(shù)據(jù)存儲裝置中的預(yù)處理數(shù)據(jù),解析得到數(shù)據(jù)源關(guān)系集合中不同維度的轉(zhuǎn)換結(jié)果;同時還用于生成元素集合中的優(yōu)先級;數(shù)據(jù)重構(gòu)裝置,用于進行全局性的壓縮,重組,形成完整的執(zhí)行語句;執(zhí)行監(jiān)控裝置,用于從壓縮重組存儲單元得到可執(zhí)行的語句,并以多線程方式提交執(zhí)行,得到每種數(shù)據(jù)源連接配以元素取值在數(shù)據(jù)倉庫中出現(xiàn)的記錄數(shù),并對單個元素條件進行統(tǒng)計。本發(fā)明實施例實現(xiàn)了語句運行時間的確定性、系統(tǒng)資源有效利用,提高了數(shù)據(jù)轉(zhuǎn)換的效率。
文檔編號G06F17/30GK103246745SQ20131019382
公開日2013年8月14日 申請日期2013年5月22日 優(yōu)先權(quán)日2013年5月22日
發(fā)明者張志海, 邱宇峰, 黃兆斌, 程業(yè)良, 李卓輝, 潘晨隱 申請人:中國工商銀行股份有限公司