99久久精品国产一区二区狐狸,99福利在线观看,国产精品毛片在线,成人影院亚洲,日韩精品第一,天天躁日日躁性色aⅴ电影,午夜毛片网

基于元數(shù)據(jù)文件的異構數(shù)據(jù)庫間表結構自適應方法及裝置與流程

文檔序號:42170070發(fā)布日期:2025-06-13 16:26閱讀:11來源:國知局

本發(fā)明涉及一種基于元數(shù)據(jù)文件的異構數(shù)據(jù)庫間表結構自適應方法及裝置,屬于數(shù)據(jù)庫管理。


背景技術:

1、在金融行業(yè)中,由于業(yè)務系統(tǒng)的多樣性和復雜性,表結構頻繁變更成為常態(tài)。然而,現(xiàn)有的數(shù)據(jù)庫表結構變更方式嚴重依賴源系統(tǒng)的通知,需要人工進行影響分析和腳本開發(fā)。

2、這種人工方式存在諸多不足:首先,運維成本高且易出錯,因為需要處理數(shù)百個系統(tǒng)和上萬張表的頻繁變更,人工工作量大,且在復雜環(huán)境下容易引發(fā)數(shù)據(jù)質量問題;其次,系統(tǒng)耦合度高,源系統(tǒng)與數(shù)據(jù)系統(tǒng)之間的變更強耦合,一旦變更不同步,就容易引發(fā)批量報錯;最后,異構數(shù)據(jù)庫轉換困難,由于不同數(shù)據(jù)庫系統(tǒng)(如tdh、gauss?db?(dws)等)在語法、字段類型及長度定義等方面存在顯著差異,手工轉換極易引發(fā)異常。

3、因此,亟需一種自動化、低耦合的異構數(shù)據(jù)庫表結構自適應方法來解決上述問題。


技術實現(xiàn)思路

1、為了解決現(xiàn)有技術中數(shù)據(jù)庫表結構變更帶來的運維工作量大、變更靈活性差以及與源業(yè)務系統(tǒng)耦合度高的問題,本發(fā)明提出了一種基于元數(shù)據(jù)文件的異構數(shù)據(jù)庫間表結構自適應方法及裝置。

2、本發(fā)明為解決其技術問題所采取的技術方案是:

3、第一方面,本發(fā)明實施例提供的一種基于元數(shù)據(jù)文件的異構數(shù)據(jù)庫間表結構自適應方法,包括如下步驟:

4、步驟s1,從源業(yè)務系統(tǒng)獲取數(shù)據(jù),并生成元數(shù)據(jù)信息文件,所述元數(shù)據(jù)信息文件為ddl表結構信息文件;

5、步驟s2,解析所述ddl表結構信息文件,校驗核對并提取表結構信息,所述表結構信息包括表名、字段名、字段順序、字段類型、字段長度及字段注釋;

6、步驟s3,基于解析的元數(shù)據(jù)信息,通過異構數(shù)據(jù)庫字段類型和長度轉換映射關系,進行ddl源數(shù)據(jù)庫類型、長度和目標數(shù)據(jù)庫字段類型、長度的映射轉換,形成轉換后的ddl信息;

7、步驟s4,基于轉換后的ddl信息,判斷數(shù)據(jù)源連接,獲取數(shù)據(jù)庫類型,創(chuàng)建數(shù)據(jù)庫外表或臨時表,所述數(shù)據(jù)庫外表或臨時表支持多法人行同時并行執(zhí)行;

8、步驟s5,通過比較數(shù)據(jù)庫外表或臨時表和正式表的元數(shù)據(jù)信息,識別表結構差異,自動適配數(shù)據(jù)庫正式表的結構信息,實現(xiàn)表結構自適應。

9、作為本實施例一種可能的實現(xiàn)方式,所述步驟s1,包括:

10、步驟s11,基于標準下檔規(guī)范,從源業(yè)務系統(tǒng)中獲取表的元數(shù)據(jù)ddl信息;

11、步驟s12,?根據(jù)所述元數(shù)據(jù)ddl信息生成xml格式的元數(shù)據(jù)文件,所述元數(shù)據(jù)文件的命名格式為<行號>_<日期>_<表名>_<頻度標志>_<抽取策略>.ddl;所述元數(shù)據(jù)文件包括文件頭和內容主體兩部分;

12、步驟s13,按照預設的下檔頻率,將生成的元數(shù)據(jù)文件與對應的數(shù)據(jù)文件同步下檔。

13、作為本實施例一種可能的實現(xiàn)方式,所述標準下檔規(guī)范定義了所述數(shù)據(jù)文件、元數(shù)據(jù)文件和校驗文件的格式要求、內容組織方式以及相互之間的關聯(lián)關系。

14、作為本實施例一種可能的實現(xiàn)方式,所述文件頭包含元數(shù)據(jù)的版本信息和生成時間,所述內容主體包含表的字段定義、數(shù)據(jù)類型和字段描述信息。

15、作為本實施例一種可能的實現(xiàn)方式,所述步驟s2,包括:

16、步驟s21,按照標準下檔規(guī)范解析ddl表結構信息文件;

17、步驟s22,基于解析得到的下檔元數(shù)據(jù)ddl文件,按照xml下檔規(guī)范,進行解析元數(shù)據(jù)xml文件;

18、步驟s23,從解析后的元數(shù)據(jù)xml文件中,對表名、數(shù)據(jù)庫類型、字段個數(shù)和字段類型長度進行格式校驗;再進行獲取表名、字段名、字段順序、字段類型、字段長度以及中文注釋的結構信息。

19、作為本實施例一種可能的實現(xiàn)方式,所述步驟s21包括:

20、讀取ddl表結構信息文件;

21、根據(jù)標準下檔規(guī)范解析ddl表結構信息文件中的表結構定義。

22、作為本實施例一種可能的實現(xiàn)方式,所述步驟s22包括:

23、讀取元數(shù)據(jù)xml文件;

24、根據(jù)xml下檔規(guī)范,解析元數(shù)據(jù)xml文件中的元數(shù)據(jù)標簽,以獲取表結構信息。

25、作為本實施例一種可能的實現(xiàn)方式,所述步驟s23包括:

26、遍歷解析后的元數(shù)據(jù)xml文件;

27、根據(jù)元數(shù)據(jù)xml文件中的標簽,分別提取表名、字段名、字段順序、字段類型、字段長度以及中文注釋。

28、作為本實施例一種可能的實現(xiàn)方式,所述步驟s3,包括:

29、步驟s31,讀取數(shù)據(jù)源連接配置,獲取目標數(shù)據(jù)庫類型;

30、步驟s32,讀取所述目標數(shù)據(jù)庫的字段類型映射表,獲取字段類型和長度的映射關系;所述字段類型映射表或自行設置規(guī)范,或采用固定配置,支持字段類型映射、長度倍數(shù)擴位、最大長度限制和默認值,且不同數(shù)據(jù)庫間互不影響;

31、步驟s33,基于解析的元數(shù)據(jù)信息,通過所述目標數(shù)據(jù)庫的字段類型和長度轉換映射關系,將ddl源數(shù)據(jù)庫字段類型、長度映射轉換為所述目標數(shù)據(jù)庫字段類型、長度,形成最新的轉換后的ddl信息。

32、作為本實施例一種可能的實現(xiàn)方式,所述字段類型映射表需提前配置,且目標數(shù)據(jù)庫不同時,映射關系存在差異,需基于各自的開發(fā)規(guī)范按需自行配置。

33、作為本實施例一種可能的實現(xiàn)方式,在步驟s33中,處理源數(shù)據(jù)庫字段類型和目標數(shù)據(jù)庫字段的類型、長度差異,確保準確轉換為目標數(shù)據(jù)庫的字段類型和長度。

34、作為本實施例一種可能的實現(xiàn)方式,所述步驟s4,包括:

35、步驟s41,基于最新映射轉換后的ddl信息,判斷數(shù)據(jù)源連接,獲取數(shù)據(jù)庫類型;

36、步驟s42,讀取數(shù)據(jù)源連接配置,根據(jù)所述數(shù)據(jù)庫類型,獲取最新的映射后的ddl字段信息;

37、步驟s43,遵循命名規(guī)范要求,按照一家法人行、一個表建創(chuàng)建一個外表的規(guī)則,創(chuàng)建數(shù)據(jù)庫外表或臨時表;

38、其中,所述創(chuàng)建數(shù)據(jù)庫外表或臨時表的具體過程為:

39、判斷是否每次都創(chuàng)建外表的方式,若是,則每次進行外表刪除后按照ddl字段信息進行創(chuàng)建數(shù)據(jù)庫外表或臨時表,所述外表包括數(shù)據(jù)庫外表或臨時表;

40、若否,則判斷ddl和當前數(shù)據(jù)庫外表或臨時表是否存在結構差異,進行結構對比,存在差異則重建外表,不存在則默認表結構無變化,無需每次創(chuàng)建表;或采用volatile創(chuàng)建臨時表,元數(shù)據(jù)不記錄的方式。

41、作為本實施例一種可能的實現(xiàn)方式,所述創(chuàng)建數(shù)據(jù)庫外表或臨時表的步驟,包括:

42、對于統(tǒng)建系統(tǒng),按照全行統(tǒng)一建設的系統(tǒng)結構創(chuàng)建外表;

43、對于自建系統(tǒng),按照成員行自己建設的系統(tǒng)結構,各自行創(chuàng)建外表。

44、作為本實施例一種可能的實現(xiàn)方式,所述判斷是否需要按需創(chuàng)建外表的步驟為:

45、根據(jù)預設條件或用戶輸入,確定是否進行按需創(chuàng)建外表的操作,以避免頻繁操作目標數(shù)據(jù)庫元數(shù)據(jù)導致的元數(shù)據(jù)壓力過大。

46、作為本實施例一種可能的實現(xiàn)方式,所述判斷ddl和當前外表是否存在結構差異的步驟為:

47、比較ddl字段信息與當前外表的字段信息,若存在差異,則確定需要重建外表。

48、作為本實施例一種可能的實現(xiàn)方式,所述步驟s5,包括:

49、步驟s51,?進行表結構對比,基于數(shù)據(jù)庫外表或臨時表和正式表進行元數(shù)據(jù)信息比對,獲取結構變更清單,生成結構變更清單sql,所述結構對比包括字段順序、名稱、類型、長度和備注的比對;

50、步驟s52,?獲取表結構變更鎖,多法人行并行處理時,僅允許獲取到鎖的法人行執(zhí)行表結構變更;

51、步驟s53,根據(jù)所述結構變更清單sql執(zhí)行數(shù)據(jù)庫表結構變更;

52、步驟s54,執(zhí)行結構信息檢核校驗,核對結構變更是否一致,并生成變更清單日志。

53、作為本實施例一種可能的實現(xiàn)方式,所述進行表結構對比,包括:

54、新增表判斷,若目標數(shù)據(jù)庫主表不存在則新建表;

55、新增字段判斷,基于字段順序和名稱不一致時記錄新增字段變更信息;

56、刪除字段處理,不允許數(shù)據(jù)庫正式表進行字段刪除,按照字段映射關系將刪除字段賦空值處理;

57、字段類型修改判斷,基于字段類型不一致時記錄字段類型變更信息;

58、字段長度修改判斷,基于字段長度或精度不一致時記錄字段長度變更信息;

59、字段中文注釋變更判斷,基于中文注釋不一致時記錄字段中文注釋變更信息;

60、變更鎖判斷,基于變更表結構和法人行,獲取表結構變更鎖,僅允許獲取到鎖的法人行執(zhí)行表結構變更,其他行則進行sleep等待鎖釋放,避免多行同時執(zhí)行,重復操作目標表表結構,影響數(shù)據(jù)準確性和執(zhí)行效率;鎖分為兩級,元數(shù)據(jù)鎖和歸檔執(zhí)行鎖,元數(shù)據(jù)變更時添加元數(shù)據(jù)鎖,變更完成后鎖釋放,繼續(xù)執(zhí)行歸檔入庫操作時,添加歸檔執(zhí)行鎖,解決單行同時多次重復執(zhí)行的問題,避免數(shù)據(jù)錯亂、重復,但不影響多行同時執(zhí)行。

61、作為本實施例一種可能的實現(xiàn)方式,所述獲取表結構變更鎖,包括:

62、每家法人行執(zhí)行表結構變更前嘗試獲取結構變更鎖,獲取不到鎖的法人行則等待指定時間后重新嘗試獲取鎖,直至獲取鎖或表結構核對一致。

63、作為本實施例一種可能的實現(xiàn)方式,所述執(zhí)行數(shù)據(jù)庫表結構變更包括:

64、基于核對的結構差異性變更清單sql,執(zhí)行sql變更操作,完成表結構更新,并記錄變更日志。

65、作為本實施例一種可能的實現(xiàn)方式,所述執(zhí)行結構信息檢核校驗包括:

66、根據(jù)下檔的ddl文件,核對結構變更是否一致,檢查是否存在遺漏或變更錯誤的情況,形成變更清單日志。

67、第二方面,本發(fā)明實施例提供的一種基于元數(shù)據(jù)文件的異構數(shù)據(jù)庫間表結構自適應裝置,包括:

68、數(shù)據(jù)采集模塊,用于從源業(yè)務系統(tǒng)獲取數(shù)據(jù),并生成元數(shù)據(jù)信息文件,所述元數(shù)據(jù)信息文件為ddl表結構信息文件;

69、文件解析模塊,用于解析所述ddl表結構信息文件,校驗核對并提取表結構信息,所述表結構信息包括表名、字段名、字段順序、字段類型、字段長度及字段注釋;

70、映射轉換模塊,用于基于解析的元數(shù)據(jù)信息,通過異構數(shù)據(jù)庫字段類型和長度轉換映射關系,進行ddl源數(shù)據(jù)庫類型、長度和目標數(shù)據(jù)庫字段類型、長度的映射轉換,形成轉換后的ddl信息;

71、外表創(chuàng)建模塊,用于基于轉換后的ddl信息,判斷數(shù)據(jù)源連接,獲取數(shù)據(jù)庫類型,創(chuàng)建數(shù)據(jù)庫外表或臨時表,所述數(shù)據(jù)庫外表或臨時表支持多法人行同時并行執(zhí)行;

72、自適應適配模塊,用于通過比較數(shù)據(jù)庫外表或臨時表和正式表的元數(shù)據(jù)信息,識別表結構差異,自動適配數(shù)據(jù)庫正式表的結構信息,實現(xiàn)表結構自適應。

73、本發(fā)明實施例的技術方案所產(chǎn)生的有益效果如下:

74、本發(fā)明實現(xiàn)了基于元數(shù)據(jù)信息實現(xiàn)異構數(shù)據(jù)庫之間的表結構自適應,提高了表結構變更的效率和準確性;兼容多數(shù)據(jù)庫類型,支持多發(fā)人批量模式和不同行一套表結構或多套表結構場景,滿足了不同企業(yè)類型的需求;通過元數(shù)據(jù)信息的自動表結構的變更,提升了工作效率和數(shù)據(jù)質量,有效降低日常運營成本。

75、基于本發(fā)明技術方案構建的運行系統(tǒng),在源業(yè)務系統(tǒng)下檔數(shù)據(jù)的同時同步下檔元數(shù)據(jù)信息,數(shù)據(jù)系統(tǒng)基于元數(shù)據(jù)信息,跑批期間自動進行表結構變更,大幅降低了人工變更的投入成本,解決了源業(yè)務系統(tǒng)和數(shù)據(jù)系統(tǒng)的強耦合問題,還可基于元數(shù)據(jù)信息對下檔的業(yè)務數(shù)據(jù)進行質量檢核,有效提升了數(shù)據(jù)質量。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1