本發(fā)明涉及計(jì)算機(jī),尤其涉及一種支持多模態(tài)存儲(chǔ)的數(shù)據(jù)模型管理系統(tǒng)及方法。
背景技術(shù):
1、在數(shù)據(jù)采集、加工、應(yīng)用和管理過(guò)程中存在對(duì)多種數(shù)據(jù)類型進(jìn)行處理的需求,待處理或已處理的數(shù)據(jù)存在在不同的數(shù)據(jù)源中,如關(guān)系型數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)、大數(shù)據(jù)組件等。相同的數(shù)據(jù)類型在各種數(shù)據(jù)源有獨(dú)特的存儲(chǔ)特征,如數(shù)據(jù)定義、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)屬性、數(shù)據(jù)操作語(yǔ)法等,呈現(xiàn)出多模態(tài)形式;傳統(tǒng)數(shù)據(jù)操作處理上,需要基于每類數(shù)據(jù)源進(jìn)行單獨(dú)的數(shù)據(jù)模型構(gòu)建、模型開發(fā)和模型實(shí)現(xiàn)等。
2、需要針對(duì)相同類型的數(shù)據(jù)在不同的數(shù)據(jù)源上分別進(jìn)行數(shù)據(jù)模型的定義、開發(fā)和構(gòu)建,存在重復(fù)性工作高,工作量大,易出錯(cuò)等問(wèn)題。同時(shí)在模型開發(fā)中無(wú)法支持跨數(shù)據(jù)源類型進(jìn)行關(guān)聯(lián)查詢、應(yīng)用無(wú)法快速遷移切換或上云適配,在面向信創(chuàng)改造支撐、模型應(yīng)用等方面也存在較多受限。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種支持多模態(tài)存儲(chǔ)的數(shù)據(jù)模型管理系統(tǒng)及方法,數(shù)據(jù)模型處理語(yǔ)義脫離具體數(shù)據(jù)物理模型,通過(guò)統(tǒng)一數(shù)據(jù)訪問(wèn)引擎,可適配多類數(shù)據(jù)庫(kù),并且在數(shù)據(jù)模型開發(fā)中實(shí)現(xiàn)跨多種數(shù)據(jù)源類型關(guān)聯(lián)查詢。
2、本發(fā)明采用的技術(shù)方案是:
3、一種支持多模態(tài)存儲(chǔ)的數(shù)據(jù)模型管理方法,包括如下步驟:
4、步驟1,根據(jù)業(yè)務(wù)需求及數(shù)據(jù)分析結(jié)果在邏輯層面構(gòu)建對(duì)應(yīng)行業(yè)不同層級(jí)的若干的統(tǒng)一數(shù)據(jù)模型,并定義不同層級(jí)的統(tǒng)一數(shù)據(jù)模型數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)信息、數(shù)據(jù)特征、數(shù)據(jù)關(guān)系、數(shù)據(jù)標(biāo)準(zhǔn);
5、步驟2,根據(jù)業(yè)務(wù)需求對(duì)各個(gè)層級(jí)的統(tǒng)一數(shù)據(jù)模型進(jìn)行開發(fā)處理以建立各個(gè)統(tǒng)一數(shù)據(jù)模型之間的相互關(guān)系,并發(fā)布以使對(duì)應(yīng)的統(tǒng)一數(shù)據(jù)模型正式生效;
6、步驟3,根據(jù)業(yè)務(wù)需求選擇某個(gè)統(tǒng)一數(shù)據(jù)模型應(yīng)用到具體的數(shù)據(jù)源類型中,建立統(tǒng)一數(shù)據(jù)模型與物理模型的對(duì)應(yīng)關(guān)系;
7、步驟4、根據(jù)具體的數(shù)據(jù)源類型對(duì)當(dāng)前選定的對(duì)應(yīng)層級(jí)的統(tǒng)一數(shù)據(jù)模型進(jìn)行轉(zhuǎn)換,以便選定的對(duì)應(yīng)層級(jí)的統(tǒng)一數(shù)據(jù)模型與具體數(shù)據(jù)源類型適配;
8、步驟5,根據(jù)邏輯層面的統(tǒng)一數(shù)據(jù)模型定義的數(shù)據(jù)信息及所應(yīng)用的具體數(shù)據(jù)源類型,建立選定的統(tǒng)一數(shù)據(jù)模型與實(shí)際數(shù)據(jù)存儲(chǔ)映射關(guān)系,在數(shù)據(jù)訪問(wèn)時(shí)候提供對(duì)應(yīng)的數(shù)據(jù)源連接器;
9、步驟6,根據(jù)數(shù)據(jù)源類型調(diào)用對(duì)應(yīng)數(shù)據(jù)源連接器獲取物理對(duì)象結(jié)構(gòu)信息,執(zhí)行物理操作腳本以實(shí)現(xiàn)對(duì)實(shí)際數(shù)據(jù)的具體控制操作。
10、進(jìn)一步地,步驟1中構(gòu)建邏輯層面的統(tǒng)一數(shù)據(jù)模型時(shí)基于邏輯層面定義數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)信息、數(shù)據(jù)特征、數(shù)據(jù)關(guān)系、數(shù)據(jù)標(biāo)準(zhǔn)。
11、進(jìn)一步地,所述步驟1構(gòu)建邏輯層面的統(tǒng)一數(shù)據(jù)模型具體步驟如下:
12、步驟1-1,定義模型分級(jí),根據(jù)業(yè)務(wù)需求并參考行業(yè)分層方法將統(tǒng)一數(shù)據(jù)模型分類為若干層級(jí);并根據(jù)需要在每個(gè)層級(jí)下進(jìn)行主題域進(jìn)一步劃分。
13、步驟1-2,模型定義,分別定義不同層級(jí)的統(tǒng)一數(shù)據(jù)模型的具體結(jié)構(gòu);
14、進(jìn)一步地,設(shè)置模型名稱、中文名稱、模型級(jí)別、數(shù)據(jù)類別、存儲(chǔ)周期、模型適用范圍、存儲(chǔ)對(duì)象命名約束;設(shè)置業(yè)務(wù)口徑、技術(shù)口徑,描述數(shù)據(jù)的業(yè)務(wù)規(guī)則、場(chǎng)景、指標(biāo),遵循一致性、完整性、準(zhǔn)確性、可維護(hù)性的原則在數(shù)據(jù)開發(fā)中提供指導(dǎo)性準(zhǔn)則。
15、步驟1-3,邏輯字段池管理,根據(jù)行業(yè)準(zhǔn)則為各個(gè)層級(jí)的統(tǒng)一數(shù)據(jù)模型進(jìn)行標(biāo)準(zhǔn)邏輯字段管理,實(shí)現(xiàn)數(shù)據(jù)模型中字段信息規(guī)范化命名和內(nèi)容設(shè)置,保存一致性語(yǔ)義,生成公共邏輯字段池;
16、步驟1-4,分別為各個(gè)層級(jí)的統(tǒng)一數(shù)據(jù)模型生成對(duì)應(yīng)導(dǎo)入規(guī)則,以便通過(guò)導(dǎo)入規(guī)則連接具體的物理數(shù)據(jù)源獲取指定表的物理結(jié)構(gòu)信息,實(shí)現(xiàn)從物理模型向邏輯模型轉(zhuǎn)換,生成對(duì)應(yīng)的數(shù)據(jù)模型;
17、進(jìn)一步地,步驟1-2存儲(chǔ)周期包含:永久、天、周、月、年。當(dāng)取值設(shè)置為“永久”情況下,模型所涉及到數(shù)據(jù)存儲(chǔ)對(duì)象保存所有的數(shù)據(jù);設(shè)置其他選項(xiàng)下需要配置數(shù)據(jù)刪除條件信息,當(dāng)存儲(chǔ)對(duì)象數(shù)據(jù)存儲(chǔ)時(shí)間超出范圍時(shí),根據(jù)配置條件信息自動(dòng)對(duì)存儲(chǔ)對(duì)象數(shù)據(jù)做清除操作。
18、進(jìn)一步地,步驟1-3中針對(duì)數(shù)據(jù)模型中存儲(chǔ)對(duì)象所涉及到的字段信息,通過(guò)公共邏輯字段池提供字段選擇、加載、應(yīng)用,使其作為標(biāo)準(zhǔn)字段被數(shù)據(jù)模型選用;提供字段屬性定義,設(shè)置字段編碼、字段名稱、字段類型、字段長(zhǎng)度、字段精度、主鍵字段、字段屬性、數(shù)據(jù)范圍、數(shù)據(jù)安全設(shè)置;其中數(shù)據(jù)類型為邏輯定義包含:整型、浮點(diǎn)型、文本、日期時(shí)間、二進(jìn)制等;數(shù)據(jù)安全提供數(shù)據(jù)加解密、數(shù)據(jù)脫敏方式。
19、邏輯字段池除了提供從頁(yè)面進(jìn)行單個(gè)字段級(jí)定義,同時(shí)提供通過(guò)物理模型向字段池批量導(dǎo)入字段功能。連接指定數(shù)據(jù)源提取物理層面存儲(chǔ)對(duì)象結(jié)構(gòu)中的字段信息,進(jìn)行邏輯信息轉(zhuǎn)換加載到字段池。
20、進(jìn)一步地,步驟2中提供腳本開發(fā)、模型融合、模型遷移三種開發(fā)處理模式。通過(guò)編寫邏輯腳本對(duì)邏輯層面的統(tǒng)一數(shù)據(jù)模型進(jìn)行開發(fā)處理,邏輯腳本不涉及具體物理語(yǔ)法。
21、具體地,在腳本開發(fā)模式下,通過(guò)編寫數(shù)據(jù)模型腳本實(shí)現(xiàn)數(shù)據(jù)生成的邏輯語(yǔ)義定義。其中涉及對(duì)其他數(shù)據(jù)模型的引用,包含模型的讀取、關(guān)聯(lián),字段選用。數(shù)據(jù)模型腳本是一種預(yù)定義方式,在后續(xù)統(tǒng)一數(shù)據(jù)訪問(wèn)引擎中加載轉(zhuǎn)換成物理腳本執(zhí)行。
22、在模型融合模式下,通過(guò)可視化配置方式,引用數(shù)據(jù)模型實(shí)現(xiàn)多種數(shù)據(jù)模型關(guān)聯(lián)查詢。該模式下提供模型選擇、字段選擇、數(shù)據(jù)時(shí)間設(shè)置、字段計(jì)算方式、模型關(guān)聯(lián)方式、關(guān)聯(lián)主鍵、關(guān)聯(lián)條件、目標(biāo)字段設(shè)置。其中數(shù)據(jù)時(shí)間可設(shè)置偽碼,在存儲(chǔ)對(duì)象數(shù)據(jù)生成階段進(jìn)行真實(shí)值替換。
23、在模型遷移模式下,將一個(gè)已設(shè)計(jì)好的數(shù)據(jù)模型應(yīng)用到一個(gè)新的領(lǐng)域,再根據(jù)要求進(jìn)行相關(guān)信息調(diào)整,最終得到一個(gè)新的數(shù)據(jù)模型?。
24、數(shù)據(jù)模式開發(fā)完成后,經(jīng)過(guò)模型發(fā)布,使該數(shù)據(jù)模型正式生效。
25、進(jìn)一步地,步驟4中提供多類解析器實(shí)現(xiàn)自動(dòng)適配并進(jìn)行轉(zhuǎn)換。解析器包括mysql解析器、oracle解析器、clickhouse解析器、hive解析器、doris解析器、sqlserver解析器、postresql解析器等。
26、進(jìn)一步地,所述步驟4的具體步驟如下:
27、步驟4-1,數(shù)據(jù)定義語(yǔ)義轉(zhuǎn)換,根據(jù)數(shù)據(jù)模型定義的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)屬性等信息應(yīng)用到某個(gè)具體的數(shù)據(jù)源類型中生成可執(zhí)行腳本,如生成建表語(yǔ)句、修改表結(jié)構(gòu)語(yǔ)句、刪除表語(yǔ)句等。
28、步驟4-2,數(shù)據(jù)操作語(yǔ)言及邏輯開發(fā)腳本轉(zhuǎn)換,根據(jù)統(tǒng)一數(shù)據(jù)模型中邏輯腳本語(yǔ)法,適配選用的數(shù)據(jù)源類型自動(dòng)轉(zhuǎn)換生成可執(zhí)行腳本。對(duì)于涉及到多個(gè)數(shù)據(jù)源關(guān)聯(lián)查詢情況下,可基于開源組件如trino進(jìn)行整合。
29、步驟4-3,數(shù)據(jù)模型導(dǎo)入操作,連接指定數(shù)據(jù)源獲取指定表結(jié)構(gòu)信息,進(jìn)行解析并生成數(shù)據(jù)模型相關(guān)結(jié)構(gòu)信息,實(shí)現(xiàn)從物理模型到邏輯模型的逆向轉(zhuǎn)化。
30、進(jìn)一步地,步驟4-1獲取數(shù)據(jù)存儲(chǔ)的連接信息,進(jìn)行聯(lián)通性測(cè)試。對(duì)數(shù)據(jù)模型的邏輯結(jié)構(gòu)進(jìn)行實(shí)例化,構(gòu)建數(shù)據(jù)存儲(chǔ)對(duì)象的結(jié)構(gòu)信息。獲取字段名、字段類型、字段長(zhǎng)度、主鍵、字段說(shuō)明、數(shù)值范圍、可空情況,選擇可用的信息構(gòu)建對(duì)象的物理結(jié)構(gòu)。
31、在統(tǒng)一數(shù)據(jù)模型邏輯字段轉(zhuǎn)換階段,邏輯字段類型需要轉(zhuǎn)為實(shí)際物理表的字段類型。當(dāng)一個(gè)邏輯字段類型對(duì)應(yīng)物理表的字段類型有多種情況下,提供人為選擇操作。
32、進(jìn)一步地,步驟4-2數(shù)據(jù)模型開發(fā)中對(duì)于數(shù)據(jù)生成處理的物理語(yǔ)義,分兩種方式處理:以腳本開發(fā)方式,獲取腳本中所涉及模型對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)連接信息,構(gòu)建建表語(yǔ)句,與數(shù)據(jù)模型中的數(shù)據(jù)生成腳本組合生成完整的可執(zhí)行腳本;以頁(yè)面可視化選擇方式構(gòu)建數(shù)據(jù)模型的關(guān)系,在底層統(tǒng)一轉(zhuǎn)換為腳本模式進(jìn)行處理。
33、進(jìn)一步地,步驟5中針對(duì)不同的數(shù)據(jù)存儲(chǔ)類型提供不同的連接器進(jìn)行物理腳本執(zhí)行。根據(jù)模型的結(jié)構(gòu)信息,通過(guò)數(shù)據(jù)定義處理模塊轉(zhuǎn)換為數(shù)據(jù)存儲(chǔ)可識(shí)別的建表操作語(yǔ)義進(jìn)行執(zhí)行。根據(jù)數(shù)據(jù)模型中的開發(fā)腳本內(nèi)容,調(diào)用數(shù)據(jù)操作處理模塊發(fā)起物理查詢。數(shù)據(jù)存儲(chǔ)對(duì)象所屬的數(shù)據(jù)模型中的開發(fā)腳本可包含多個(gè)源端的數(shù)據(jù)模型,源端數(shù)據(jù)模型可應(yīng)用到不同的數(shù)據(jù)存儲(chǔ)類型中,實(shí)現(xiàn)跨數(shù)據(jù)源的查詢。
34、本發(fā)明公開了一種支持多模態(tài)存儲(chǔ)的數(shù)據(jù)模型管理系統(tǒng),其包括統(tǒng)一數(shù)據(jù)模型構(gòu)建單元、統(tǒng)一數(shù)據(jù)模型開發(fā)單元、統(tǒng)一數(shù)據(jù)模型應(yīng)用單元、統(tǒng)一數(shù)據(jù)模型轉(zhuǎn)換單元、統(tǒng)一數(shù)據(jù)模型橋接單元、統(tǒng)一數(shù)據(jù)訪問(wèn)引擎、數(shù)據(jù)存儲(chǔ)單元。
35、統(tǒng)一數(shù)據(jù)模型構(gòu)建單元:抽象定義業(yè)務(wù)所承載的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)信息、數(shù)據(jù)特征、數(shù)據(jù)關(guān)系等,基于邏輯方式創(chuàng)建,不涉及具體數(shù)據(jù)存儲(chǔ)物理層面的內(nèi)容。
36、統(tǒng)一數(shù)據(jù)模型開發(fā)單元:根據(jù)業(yè)務(wù)需求和行業(yè)規(guī)則實(shí)現(xiàn)數(shù)據(jù)分層及水平解耦,在邏輯層面定義數(shù)據(jù)處理及轉(zhuǎn)換過(guò)程,提供數(shù)據(jù)模型遞層式轉(zhuǎn)換,構(gòu)建新的數(shù)據(jù)模型,為后續(xù)應(yīng)用提供操作依據(jù)和處理約束。
37、統(tǒng)一數(shù)據(jù)模型應(yīng)用單元:數(shù)據(jù)模型應(yīng)用到實(shí)際數(shù)據(jù)源中,提供自動(dòng)適配數(shù)據(jù)存儲(chǔ)能力,實(shí)現(xiàn)從邏輯語(yǔ)義到物理語(yǔ)義地轉(zhuǎn)換,為數(shù)據(jù)模型實(shí)例化及數(shù)據(jù)生成提供條件。
38、統(tǒng)一數(shù)據(jù)模型轉(zhuǎn)換單元:基于統(tǒng)一數(shù)據(jù)模型的結(jié)構(gòu)定義及模型開發(fā)腳本,根據(jù)選擇的數(shù)據(jù)源類型進(jìn)行邏輯腳本轉(zhuǎn)換,生成對(duì)應(yīng)數(shù)據(jù)源類型可識(shí)別可執(zhí)行的腳本。
39、統(tǒng)一數(shù)據(jù)模型橋接單元:用于在不同的數(shù)據(jù)模型之間建立關(guān)聯(lián),實(shí)現(xiàn)模型中數(shù)據(jù)的互通和轉(zhuǎn)換。并且基于數(shù)據(jù)模型作為中介應(yīng)用到不同類型的數(shù)據(jù)庫(kù),實(shí)現(xiàn)數(shù)據(jù)庫(kù)間的數(shù)據(jù)快速遷移。
40、統(tǒng)一數(shù)據(jù)訪問(wèn)引擎:根據(jù)生成的執(zhí)行腳本內(nèi)容,調(diào)用對(duì)應(yīng)數(shù)據(jù)源類型的執(zhí)行器進(jìn)行物理執(zhí)行。對(duì)返回的結(jié)果數(shù)據(jù)進(jìn)行封裝,生成統(tǒng)一數(shù)據(jù)模型可識(shí)別的數(shù)據(jù)格式和內(nèi)容。
41、數(shù)據(jù)存儲(chǔ)單元:支持多種數(shù)據(jù)存儲(chǔ)類型進(jìn)行實(shí)際數(shù)據(jù)存儲(chǔ)。在數(shù)據(jù)模型有配置保留周期情況下,自動(dòng)進(jìn)行數(shù)據(jù)的清除操作。
42、本發(fā)明采用以上技術(shù)方案,提供統(tǒng)一數(shù)據(jù)模型管理方法實(shí)現(xiàn)抽象化的數(shù)據(jù)結(jié)構(gòu)定義及數(shù)據(jù)處理方法,在數(shù)據(jù)模型應(yīng)用時(shí)適配不同類型的數(shù)據(jù)存儲(chǔ)對(duì)象,并構(gòu)建對(duì)應(yīng)存儲(chǔ)對(duì)象的物理操作方法;基于數(shù)據(jù)模型中的數(shù)據(jù)處理方法提供統(tǒng)一數(shù)據(jù)訪問(wèn)引擎,在模型應(yīng)用中支持多種數(shù)據(jù)源類型,提供跨數(shù)據(jù)源類型的查詢功能;基于統(tǒng)一數(shù)據(jù)模型實(shí)現(xiàn)對(duì)數(shù)據(jù)存儲(chǔ)對(duì)象的快速遷移。
43、本發(fā)明統(tǒng)一數(shù)據(jù)模型的結(jié)構(gòu)定義及數(shù)據(jù)處理語(yǔ)義能快速適配相同數(shù)據(jù)類型在不同數(shù)據(jù)存儲(chǔ)的對(duì)象,業(yè)務(wù)人員、數(shù)據(jù)管理者、數(shù)據(jù)開發(fā)者側(cè)重關(guān)注數(shù)據(jù)模型業(yè)務(wù)層面相關(guān)內(nèi)容,能對(duì)數(shù)據(jù)含義理解保持一致,并能減少重復(fù)性操作。數(shù)據(jù)模型處理語(yǔ)義脫離具體數(shù)據(jù)物理模型,通過(guò)統(tǒng)一數(shù)據(jù)訪問(wèn)引擎,可適配多類數(shù)據(jù)庫(kù),并且在數(shù)據(jù)模型開發(fā)中實(shí)現(xiàn)跨多種數(shù)據(jù)源類型關(guān)聯(lián)查詢。