本發明(ming)涉(she)及互聯(lian)網,尤其涉(she)及構建聯(lian)邦(bang)數據湖倉的方法、系統及存儲介質。
背景技術:
1、隨著(zhu)互(hu)聯(lian)網及新(xin)一代(dai)信息技術與應(ying)用的(de)(de)(de)(de)蓬勃發展,在(zai)開(kai)放(fang)、動態(tai)、難控的(de)(de)(de)(de)互(hu)聯(lian)網之上實現可(ke)信可(ke)管可(ke)控的(de)(de)(de)(de)數(shu)據(ju)互(hu)聯(lian)網與融合(he)應(ying)用,是數(shu)字化(hua)轉型(xing)以及數(shu)字經濟健(jian)康發展的(de)(de)(de)(de)需求。
2、面對海量而(er)又異構(gou)的(de)數(shu)(shu)(shu)(shu)據(ju)(ju)(ju),數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)湖(hu)概念被提出,數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)湖(hu)是一種支持(chi)結(jie)構(gou)化(hua)、半結(jie)構(gou)化(hua)、非結(jie)構(gou)化(hua)等數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)類型(xing)大規模存儲和(he)計算(suan)的(de)系統架(jia)構(gou)。然而(er)數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)湖(hu)對多樣類型(xing)數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)的(de)支持(chi)以及靈活高效的(de)分析(xi)方式、面臨著(zhu)數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)治(zhi)理的(de)問(wen)題。數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)湖(hu)缺乏治(zhi)理將導(dao)致數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)質量下(xia)降、數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)不可用等,容易退(tui)化(hua)形成數(shu)(shu)(shu)(shu)據(ju)(ju)(ju)沼澤。
3、為滿足多種(zhong)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)類(lei)型(xing)存儲、多場景(jing)分析等業(ye)務訴求,企業(ye)的(de)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)平臺采用混(hun)合部署(shu)模(mo)式(shi),數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)湖(hu)(hu)、數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)倉庫(ku)、關(guan)系(xi)型(xing)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)庫(ku)等多種(zhong)架構(gou)并存,其中(zhong)(zhong)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)湖(hu)(hu)和(he)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)倉庫(ku)通過提取(qu)、轉換、加載(zai)三個步驟進行數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)交換。數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)湖(hu)(hu)和(he)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)倉庫(ku)是兩套獨立的(de)體系(xi),其中(zhong)(zhong)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)湖(hu)(hu)主要(yao)用于支撐多源異構(gou)的(de)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)存儲,執行批處(chu)理、流處(chu)理等工作(zuo)負載(zai)。數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)倉庫(ku)主要(yao)基(ji)于大規模(mo)并行處(chu)理或者關(guan)系(xi)型(xing)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)庫(ku)來實(shi)現,主要(yao)支撐結構(gou)化(hua)數(shu)(shu)(shu)(shu)(shu)據(ju)(ju)在在線分析處(chu)理場景(jing)下的(de)商業(ye)智能分析和(he)查詢需求。
4、“數(shu)(shu)(shu)據(ju)(ju)湖(hu)+數(shu)(shu)(shu)據(ju)(ju)倉庫(ku)”混合(he)(he)架(jia)構(gou)滿足(zu)了結構(gou)化、半(ban)結構(gou)化、非結構(gou)化數(shu)(shu)(shu)據(ju)(ju)高(gao)效處(chu)理需求,解決了傳統數(shu)(shu)(shu)據(ju)(ju)倉庫(ku)在(zai)海量數(shu)(shu)(shu)據(ju)(ju)下加載慢(man)、數(shu)(shu)(shu)據(ju)(ju)查(cha)詢效率(lv)低(di)、難以(yi)融合(he)(he)多(duo)種(zhong)異構(gou)數(shu)(shu)(shu)據(ju)(ju)源進行分析(xi)的問(wen)題,但也存在(zai)四大弊端:一(yi)是(shi)數(shu)(shu)(shu)據(ju)(ju)冗余,增加存儲成(cheng)本;二是(shi)兩個系統間額外(wai)的提取、轉(zhuan)換、加載流程導致時(shi)效性(xing)差、數(shu)(shu)(shu)據(ju)(ju)流通(tong)共享(xiang)效率(lv)低(di);三是(shi)數(shu)(shu)(shu)據(ju)(ju)一(yi)致性(xing)保障低(di),增加數(shu)(shu)(shu)據(ju)(ju)校驗成(cheng)本;四是(shi)混合(he)(he)架(jia)構(gou)復雜(za),開(kai)發運(yun)維(wei)難度(du)大、成(cheng)本高(gao)。
5、“數(shu)(shu)據(ju)湖(hu)(hu)+數(shu)(shu)據(ju)倉(cang)庫”混合架構是(shi)(shi)技術(shu)向業務(wu)妥協的(de)(de)一(yi)個(ge)產物,并不是(shi)(shi)真正意義(yi)的(de)(de)湖(hu)(hu)倉(cang)一(yi)體(ti)平(ping)(ping)臺。針對(dui)數(shu)(shu)據(ju)湖(hu)(hu)和(he)(he)數(shu)(shu)據(ju)倉(cang)庫分離的(de)(de)弊端,“湖(hu)(hu)倉(cang)一(yi)體(ti)”概念被(bei)提(ti)出。湖(hu)(hu)倉(cang)一(yi)體(ti)是(shi)(shi)指融合數(shu)(shu)據(ju)湖(hu)(hu)與數(shu)(shu)據(ju)倉(cang)庫的(de)(de)優勢,形成一(yi)體(ti)化、開放式數(shu)(shu)據(ju)處理(li)平(ping)(ping)臺的(de)(de)技術(shu)。通過(guo)湖(hu)(hu)倉(cang)一(yi)體(ti)技術(shu),可使得(de)數(shu)(shu)據(ju)處理(li)平(ping)(ping)臺底層支(zhi)持多數(shu)(shu)據(ju)類型統一(yi)存儲,實現數(shu)(shu)據(ju)在數(shu)(shu)據(ju)湖(hu)(hu)、數(shu)(shu)據(ju)倉(cang)庫之間無縫調度和(he)(he)管理(li),并使得(de)上層通過(guo)統一(yi)接口進行(xing)訪問查詢和(he)(he)分析。
6、已有的湖倉實(shi)現(xian)(xian)方案是apache?iceberg、apache?hudi和(he)(he)delta?lake。這三種湖倉在(zai)數(shu)據(ju)(ju)湖存儲層(ceng)(ceng)上以不同的方式通(tong)過元數(shu)據(ju)(ju)管理實(shi)現(xian)(xian)數(shu)據(ju)(ju)治理,底層(ceng)(ceng)的數(shu)據(ju)(ju)文(wen)件(jian)能夠(gou)事務(wu)性(xing)地被上層(ceng)(ceng)調用(yong)。具體而言,apache?iceberg和(he)(he)apache?hudi使用(yong)描述性(xing)文(wen)件(jian)記錄數(shu)據(ju)(ju)湖中數(shu)據(ju)(ju)的元數(shu)據(ju)(ju)信(xin)息,而delta?lake以事務(wu)日志的方式管理數(shu)據(ju)(ju)的讀(du)寫。
7、現(xian)有(you)(you)(you)湖(hu)倉技術在(zai)(zai)(zai)查詢(xun)性(xing)能上有(you)(you)(you)較(jiao)好(hao)效(xiao)果,對(dui)結(jie)構(gou)(gou)化(hua)和半結(jie)構(gou)(gou)化(hua)數(shu)據也(ye)有(you)(you)(you)較(jiao)好(hao)的管理效(xiao)果,但(dan)現(xian)有(you)(you)(you)技術遵循(xun)以計(ji)算(suan)為中(zhong)心的軟件范型,針對(dui)特定(ding)業務需求開發,其對(dui)數(shu)據的使用需求和使用方(fang)式相對(dui)固定(ding)。表(biao)現(xian)在(zai)(zai)(zai)系統(tong)(tong)(tong)(tong)實現(xian)中(zhong),將(jiang)數(shu)據使用與應(ying)用的業務邏(luo)(luo)輯綁(bang)定(ding)在(zai)(zai)(zai)一起。這(zhe)使得數(shu)據源(yuan)、數(shu)據使用和業務邏(luo)(luo)輯之間形成(cheng)一種“緊(jin)耦(ou)合”的結(jie)構(gou)(gou)。同時現(xian)有(you)(you)(you)技術有(you)(you)(you)各自協議和標準,缺乏統(tong)(tong)(tong)(tong)一的數(shu)據治理策(ce)略,沒有(you)(you)(you)對(dui)互(hu)聯網中(zhong)的數(shu)據資源(yuan)通過統(tong)(tong)(tong)(tong)一的形式進(jin)行(xing)建模和描述(shu),沒有(you)(you)(you)屏蔽資源(yuan)的異(yi)構(gou)(gou)性(xing),以計(ji)算(suan)為核(he)心來處理數(shu)據資源(yuan),數(shu)據在(zai)(zai)(zai)不同湖(hu)倉、不同系統(tong)(tong)(tong)(tong)、應(ying)用程序或組織間無法有(you)(you)(you)效(xiao)流通、共享和集成(cheng),進(jin)而(er)導致數(shu)據未能充分(fen)利用的數(shu)據孤島問題。此外目前最(zui)好(hao)的技術所記錄的元數(shu)據比較(jiao)有(you)(you)(you)限,可擴展(zhan)性(xing)較(jiao)差。
技術實現思路
1、為了解決現(xian)有技術中的(de)(de)問題,本發明采用統(tong)一(yi)協議對數(shu)(shu)(shu)據進行可信(xin)管控,解決數(shu)(shu)(shu)據難(nan)理(li)解、難(nan)訪問、難(nan)管控等問題,實現(xian)真正意義上多主體、異(yi)構系統(tong)之間的(de)(de)數(shu)(shu)(shu)據互聯互通。
2、本發明(ming)提供(gong)了一(yi)種構建聯(lian)邦數據湖倉的(de)方法,包(bao)括:
3、構(gou)建數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)架構(gou)步驟:數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)架構(gou)包(bao)括數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)模型、數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)接口協(xie)(xie)議(yi)、數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)標識(shi)解(jie)析協(xie)(xie)議(yi)、數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)倉庫系統(tong)、數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)注冊系統(tong)、數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)標識(shi)解(jie)析系統(tong),數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)接口協(xie)(xie)議(yi)規范對數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)的訪問(wen)和(he)操(cao)作(zuo),數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)標識(shi)解(jie)析協(xie)(xie)議(yi)用于(yu)對數(shu)(shu)(shu)字(zi)(zi)(zi)對象(xiang)(xiang)(xiang)(xiang)標識(shi)的訪問(wen)和(he)操(cao)作(zuo);
4、數(shu)(shu)聯網(wang)連接(jie)步(bu)驟(zou):數(shu)(shu)聯網(wang)使(shi)用數(shu)(shu)字(zi)對(dui)象(xiang)接(jie)口協議和數(shu)(shu)字(zi)對(dui)象(xiang)標(biao)(biao)識(shi)(shi)解(jie)析(xi)(xi)協議將數(shu)(shu)字(zi)對(dui)象(xiang)倉庫系統、數(shu)(shu)字(zi)對(dui)象(xiang)注冊系統、數(shu)(shu)字(zi)對(dui)象(xiang)標(biao)(biao)識(shi)(shi)解(jie)析(xi)(xi)系統連接(jie)起來,實現多(duo)個節點、平臺、系統或構件之間的數(shu)(shu)據(ju)接(jie)入(ru)、標(biao)(biao)識(shi)(shi)、發現、交換、使(shi)用及管控的功能,構建(jian)數(shu)(shu)據(ju)為中(zhong)心的數(shu)(shu)據(ju)空(kong)間基(ji)礎設(she)施;
5、基于數(shu)聯(lian)(lian)網的聯(lian)(lian)邦(bang)數(shu)據(ju)湖(hu)(hu)倉(cang)(cang)構建步驟:將(jiang)多個數(shu)據(ju)湖(hu)(hu)倉(cang)(cang)連接在(zai)一(yi)起形成(cheng)聯(lian)(lian)邦(bang)數(shu)據(ju)湖(hu)(hu)倉(cang)(cang),形成(cheng)一(yi)個統一(yi)的數(shu)據(ju)訪問和(he)分析平臺(tai)。
6、作為本發明的(de)進(jin)一(yi)步(bu)改進(jin),在構(gou)建數字(zi)(zi)(zi)對象(xiang)架(jia)構(gou)步(bu)驟中(zhong),數字(zi)(zi)(zi)對象(xiang)模(mo)(mo)型(xing)用于將互聯(lian)網中(zhong)的(de)數據資源通過(guo)統一(yi)的(de)形式進(jin)行建模(mo)(mo)和描述,數字(zi)(zi)(zi)對象(xiang)模(mo)(mo)型(xing)由標識(shi)、元(yuan)數據、數據源三個子模(mo)(mo)型(xing)組(zu)成;
7、在構建數(shu)字(zi)對(dui)象(xiang)架構步驟中,數(shu)字(zi)對(dui)象(xiang)倉庫系統用于負責數(shu)字(zi)對(dui)象(xiang)實體的封(feng)裝、存(cun)儲、訪問和(he)(he)銷毀,數(shu)字(zi)對(dui)象(xiang)注冊系統用于負責數(shu)字(zi)對(dui)象(xiang)元數(shu)據(ju)的注冊、發布(bu)、修(xiu)改(gai)和(he)(he)刪除,數(shu)字(zi)對(dui)象(xiang)標(biao)(biao)識解(jie)析系統用于負責數(shu)字(zi)對(dui)象(xiang)標(biao)(biao)識的創建、解(jie)析、修(xiu)改(gai)和(he)(he)銷毀。
8、作(zuo)為本發明的進(jin)一(yi)步(bu)改(gai)進(jin),在數(shu)聯網(wang)中(zhong),自治(zhi)域內通(tong)(tong)過數(shu)字(zi)對象(xiang)架構(gou)管理,自治(zhi)域間通(tong)(tong)過數(shu)字(zi)對象(xiang)架構(gou)互(hu)通(tong)(tong),實現(xian)全網(wang)聯合(he)全網(wang)互(hu)通(tong)(tong)。
9、作為本發明的進一步(bu)改進,該方法還(huan)包括(kuo)數據入湖(hu)步(bu)驟(zou)和數據查詢步(bu)驟(zou),
10、數(shu)據(ju)入湖步驟:從數(shu)據(ju)源(yuan)獲取數(shu)據(ju)后(hou),將數(shu)據(ju)存(cun)入存(cun)儲系統持(chi)久化,持(chi)久化后(hou)的數(shu)據(ju)供(gong)后(hou)續分析任務(wu)使用,數(shu)據(ju)入湖是一個寫數(shu)據(ju)的過程;
11、數(shu)據(ju)(ju)查詢步驟:從數(shu)據(ju)(ju)湖(hu)中按需求(qiu)讀取數(shu)據(ju)(ju)供服務(wu)層(ceng)計(ji)算(suan)和分析,是一(yi)個(ge)讀數(shu)據(ju)(ju)的過程(cheng)。
12、作為本發(fa)明的(de)進一(yi)步(bu)改進,在數(shu)(shu)據(ju)入湖步(bu)驟中,從數(shu)(shu)據(ju)源獲取(qu)后(hou),進行(xing)數(shu)(shu)字對(dui)(dui)象的(de)構建,首先(xian)使用數(shu)(shu)字對(dui)(dui)象標(biao)(biao)識(shi)解(jie)析(xi)(xi)(xi)協議訪問數(shu)(shu)字對(dui)(dui)象標(biao)(biao)識(shi)解(jie)析(xi)(xi)(xi)系(xi)統,獲取(qu)一(yi)個全局唯一(yi)且持(chi)久的(de)標(biao)(biao)識(shi),隨后(hou),計算引(yin)擎執行(xing)數(shu)(shu)據(ju)攝取(qu)任務,將(jiang)數(shu)(shu)據(ju)的(de)元數(shu)(shu)據(ju)通過(guo)數(shu)(shu)字對(dui)(dui)象接口協議寫(xie)入數(shu)(shu)字對(dui)(dui)象注冊系(xi)統,最后(hou),將(jiang)未處理(li)和處理(li)過(guo)的(de)數(shu)(shu)據(ju)寫(xie)入到(dao)存儲系(xi)統完成(cheng)數(shu)(shu)據(ju)的(de)持(chi)久化,將(jiang)數(shu)(shu)據(ju)的(de)存儲位置記錄到(dao)數(shu)(shu)字對(dui)(dui)象標(biao)(biao)識(shi)解(jie)析(xi)(xi)(xi)系(xi)統。
13、作為本發明的進一步(bu)改進,在數(shu)據(ju)入湖(hu)步(bu)驟(zou)中,數(shu)據(ju)攝取任務(wu)包(bao)括數(shu)據(ju)清洗和元數(shu)據(ju)計(ji)算。
14、作為本發明的進一(yi)步改進,在數(shu)據(ju)查(cha)詢步驟中(zhong),首先使用(yong)數(shu)字對(dui)象(xiang)(xiang)(xiang)接(jie)口協議訪(fang)問(wen)數(shu)字對(dui)象(xiang)(xiang)(xiang)注冊(ce)(ce)系統(tong)(tong),確認數(shu)據(ju)是否(fou)存在于數(shu)據(ju)湖中(zhong),若(ruo)數(shu)字對(dui)象(xiang)(xiang)(xiang)注冊(ce)(ce)系統(tong)(tong)中(zhong)不存在關于數(shu)據(ju)的元(yuan)數(shu)據(ju)信息,返回不存在的信息給訪(fang)問(wen)用(yong)戶(hu);若(ruo)數(shu)據(ju)存在,獲取數(shu)據(ju)的元(yuan)數(shu)據(ju)后使用(yong)數(shu)字對(dui)象(xiang)(xiang)(xiang)標(biao)識解(jie)析協議訪(fang)問(wen)數(shu)字對(dui)象(xiang)(xiang)(xiang)標(biao)識解(jie)析系統(tong)(tong)獲取數(shu)據(ju)所在地址,根據(ju)地址完成數(shu)據(ju)讀取。
15、作(zuo)為本發明的(de)進(jin)一步(bu)改進(jin),在聯邦(bang)數(shu)據(ju)湖(hu)倉(cang)構建(jian)步(bu)驟中,聯邦(bang)數(shu)據(ju)湖(hu)倉(cang)包括(kuo)數(shu)據(ju)共享平臺和數(shu)據(ju)訪問和分析服務,數(shu)據(ju)共享平臺負(fu)責在不同的(de)數(shu)據(ju)湖(hu)倉(cang)之(zhi)間共享數(shu)據(ju)。
16、本發明(ming)還提供了一種構(gou)建聯邦數據湖(hu)倉的(de)系統(tong),包括:存儲器、處(chu)理(li)器以及存儲在所述(shu)存儲器上的(de)計算機程序(xu)(xu),所述(shu)計算機程序(xu)(xu)配置為由所述(shu)處(chu)理(li)器調用時實(shi)現本發明(ming)所述(shu)方(fang)法的(de)步驟。
17、本發明(ming)還提供了一(yi)種計算機可(ke)讀(du)存儲介質,所述(shu)計算機可(ke)讀(du)存儲介質存儲有計算機程序,所述(shu)計算機程序配(pei)置(zhi)為由處理器調用時(shi)實(shi)現本發明(ming)所述(shu)方法(fa)的步驟。
18、本發(fa)明(ming)的(de)有(you)益效果是:本發(fa)明(ming)具有(you)通用性(xing)(xing)(xing)、可擴展性(xing)(xing)(xing),不僅能有(you)效管理(li)數(shu)(shu)據(ju)(ju),避(bi)免數(shu)(shu)據(ju)(ju)沼(zhao)澤的(de)形成,并且讓數(shu)(shu)據(ju)(ju)具有(you)流通性(xing)(xing)(xing)。