模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法和裝置制造方法
【專利摘要】本發(fā)明提供了一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法,通過模型驅(qū)動模塊驅(qū)動實體和實體間關(guān)系以及對應(yīng)屬性信息的創(chuàng)建,以及對應(yīng)的物理實例的創(chuàng)建。還提供了相應(yīng)的裝置。本發(fā)明的方法和裝置將模型中的實體與實體間關(guān)系視為一類模型構(gòu)成的基礎(chǔ)對象,將邏輯層面上的模型關(guān)系結(jié)構(gòu)的解耦,在模型數(shù)據(jù)復(fù)雜和多變的情形下,顯著降低了模型數(shù)據(jù)維護(hù)的復(fù)雜度,并且提高了維護(hù)的效率。
【專利說明】模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機(jī)數(shù)據(jù)處理領(lǐng)域,更為具體而言,涉及一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)的方法和裝置。
【背景技術(shù)】
[0002]現(xiàn)有的管理系統(tǒng)在所管理的對象實體上,采用了靜態(tài)模型定義,即建立固定的數(shù)據(jù)庫表結(jié)構(gòu),錄入收集的實體定義信息及實體關(guān)系定義信息記錄,實體的屬性、名稱、類型等使用固定字段定義,實體的關(guān)系直接通過鍵值關(guān)聯(lián)定義。例如,在使用關(guān)系型庫的數(shù)據(jù)模型技術(shù)描述IT項目實體與業(yè)務(wù)部門實體時,首先通過表1:T_ITPR0(包含項目編號,項目實施單位,項目簡介,所屬業(yè)務(wù)條線ID等屬性字段)建立項目實體定義,通過表2:T_BPLP (包含業(yè)務(wù)部門ID,主管領(lǐng)導(dǎo),業(yè)務(wù)范圍,業(yè)務(wù)條線ID等屬性字段)建立業(yè)務(wù)部門實體定義,再通過表I與表2中的內(nèi)容相同的業(yè)務(wù)條線ID建立直接的外鍵關(guān)聯(lián)來完成兩個實體間的關(guān)系定義。這種靜態(tài)的模型定義方法,存在信息耦合度過于緊密的問題。例如,對所管理的銀行業(yè)務(wù)對象采用靜態(tài)模型定義。當(dāng)業(yè)務(wù)發(fā)生變更時,往往需要從最基礎(chǔ)的定義開始修改實體及實體間關(guān)系,而一旦進(jìn)行調(diào)整,往往需要進(jìn)行修改數(shù)據(jù)庫結(jié)構(gòu)、修改相關(guān)數(shù)據(jù)驅(qū)動處理模塊、修改邏輯處理模塊、修改并重新編譯映射管理持久類、聯(lián)動修改頁面等等一系列操作。由于在實際業(yè)務(wù)中,模型通常是具有極高復(fù)雜性的多維關(guān)聯(lián),需要維護(hù)的數(shù)據(jù)量也是很大的,所謂牽一發(fā)而動全身,因而上述操作就呈現(xiàn)了高復(fù)雜性、大工作量的特點。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供了一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法和裝置,將模型中的實體和實體間關(guān)系視為同一類型構(gòu)成的基礎(chǔ)對象,將邏輯層面上的模型關(guān)系結(jié)構(gòu)進(jìn)行結(jié)構(gòu),重新建立模型,從而將現(xiàn)有技術(shù)中存在的對于實體間關(guān)系在實現(xiàn)層面的物理數(shù)據(jù)庫表字段級關(guān)聯(lián)轉(zhuǎn)換為對數(shù)據(jù)庫表的參數(shù)管理,實現(xiàn)了實體間關(guān)系維護(hù)與物理數(shù)據(jù)庫表的解耦,在待處理數(shù)據(jù)比較復(fù)雜、變化較多的情形下,顯著提高了實體間關(guān)系維護(hù)的效率。
[0004]根據(jù)本發(fā)明實施方式的第一方面,提供了一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法,包括:
[0005]通過模型驅(qū)動模塊進(jìn)行如下操作:
[0006]驅(qū)動實體定義和所述實體的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的實體定義和實體的屬性信息,創(chuàng)建所述實體的物理實例;
[0007]驅(qū)動實體間關(guān)系定義和所述關(guān)系的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的關(guān)系定義和關(guān)系的屬性信息,創(chuàng)建所述關(guān)系的物理實例,具體而言,包括在定義管理模塊的第一數(shù)據(jù)庫表中定義所述關(guān)系,將該關(guān)系的屬性記錄并定義到屬性管理模塊的第二數(shù)據(jù)庫表,并且從所述第一數(shù)據(jù)庫表中獲取所述關(guān)系對應(yīng)數(shù)據(jù)庫表名,從所述第二數(shù)據(jù)庫表獲取所述關(guān)系的屬性以用于生成所述關(guān)系的物理表結(jié)構(gòu),并將所生成的物理表結(jié)構(gòu)的索引記錄到關(guān)系管理模塊的第三數(shù)據(jù)庫表。[0008]根據(jù)本發(fā)明實施方式的第二方面,提供了一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的裝置,包括:
[0009]定義管理模塊,包括用于定義實體和實體間關(guān)系的第一數(shù)據(jù)庫表;
[0010]屬性管理模塊,包括用于記錄已創(chuàng)建的實體和實體間關(guān)系的屬性信息的第二數(shù)據(jù)庫表;
[0011]關(guān)系管理模塊,包括用于記錄實體間關(guān)系的信息;
[0012]模型驅(qū)動模塊,用于進(jìn)行下述操作:
[0013]驅(qū)動實體定義和所述實體的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的實體定義和實體的屬性信息,創(chuàng)建所述實體的物理實例;
[0014]驅(qū)動實體間關(guān)系定義和所述關(guān)系的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的關(guān)系定義和關(guān)系的屬性信息,創(chuàng)建所述關(guān)系的物理實例,具體而言,包括在定義管理模塊的第一數(shù)據(jù)庫表中定義所述關(guān)系,將該關(guān)系的屬性記錄并定義到屬性管理模塊的第二數(shù)據(jù)庫表,并且從所述第一數(shù)據(jù)庫表中獲取所述關(guān)系對應(yīng)數(shù)據(jù)庫表名,從所述第二數(shù)據(jù)庫表獲取所述關(guān)系的屬性以用于生成所述關(guān)系的物理表結(jié)構(gòu),并將所生成的物理表結(jié)構(gòu)的索引記錄到關(guān)系管理模塊的第三數(shù)據(jù)庫表。
[0015]實施本發(fā)明實施方式提供的模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法和裝置,實現(xiàn)了實體間關(guān)系維護(hù)與物理數(shù)據(jù)庫表的解耦,在待處理數(shù)據(jù)比較復(fù)雜、變化較多的情形下,顯著提高了實體間關(guān)系維護(hù)的效率。
【專利附圖】
【附圖說明】
[0016]圖1圖示了根據(jù)本發(fā)明實施方式的模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法的示意圖;
[0017]圖2圖示了根據(jù)本發(fā)明實施方式的模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的裝置的示意圖。
【具體實施方式】
[0018]為使本發(fā)明的實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明作進(jìn)一步地詳細(xì)描述。
[0019]參見圖1,圖示了根據(jù)本發(fā)明實施方式的模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法的示意圖,具體可包括下述步驟:
[0020]S100,驅(qū)動實體定義和所述實體的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的實體定義和實體的屬性信息,創(chuàng)建所述實體的物理實例;
[0021]S101,驅(qū)動實體間關(guān)系定義和所述關(guān)系的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的關(guān)系定義和關(guān)系的屬性信息,創(chuàng)建所述關(guān)系的物理實例,具體而言,包括在定義管理模塊的第一數(shù)據(jù)庫表中定義所述關(guān)系,將該關(guān)系的屬性記錄并定義到屬性管理模塊的第二數(shù)據(jù)庫表,并且從所述第一數(shù)據(jù)庫表中獲取所述關(guān)系對應(yīng)數(shù)據(jù)庫表名,從所述第二數(shù)據(jù)庫表獲取所述關(guān)系的屬性以用于生成所述關(guān)系的物理表結(jié)構(gòu),并將所生成的物理表結(jié)構(gòu)的索引記錄到關(guān)系管理模塊的第三數(shù)據(jù)庫表。
[0022]本發(fā)明的實施方式中,通過模型驅(qū)動模塊驅(qū)動相關(guān)的實體和實體間關(guān)系的創(chuàng)建和維護(hù),其相當(dāng)于在用戶可看見的交互界面(例如,計算機(jī)或服務(wù)器的顯示界面)與物理數(shù)據(jù)端之間增加了一個驅(qū)動層。模型驅(qū)動模塊驅(qū)動實體定義和該實體的屬性信息的創(chuàng)建和維護(hù),具體地,模型驅(qū)動模塊通過交互界面接收實體的基本定義信息,在資源的全局ID的約束下創(chuàng)建和維護(hù)。以實體IT項目為例說明具體的創(chuàng)建和維護(hù)程序:
[0023]
【權(quán)利要求】
1.一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的方法,其特征在于,包括: 通過模型驅(qū)動模塊進(jìn)行如下操作: 驅(qū)動實體定義和所述實體的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的實體定義和實體的屬性信息,創(chuàng)建所述實體的物理實例; 驅(qū)動實體間關(guān)系定義和所述關(guān)系的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的關(guān)系定義和關(guān)系的屬性信息,創(chuàng)建所述關(guān)系的物理實例,具體而言,包括在定義管理模塊的第一數(shù)據(jù)庫表中定義所述關(guān)系,將該關(guān)系的屬性記錄并定義到屬性管理模塊的第二數(shù)據(jù)庫表,并且從所述第一數(shù)據(jù)庫表中獲取所述關(guān)系對應(yīng)數(shù)據(jù)庫表名,從所述第二數(shù)據(jù)庫表獲取所述關(guān)系的屬性以用于生成所述關(guān)系的物理表結(jié)構(gòu),并將所生成的物理表結(jié)構(gòu)的索引記錄到關(guān)系管理模塊的第三數(shù)據(jù)庫表。
2.根據(jù)權(quán)利要求1所述的方法,所述第一數(shù)據(jù)庫表可包括下述字段:全局索引RID、類型TABLE_KIND、對應(yīng)數(shù)據(jù)庫表名TABLE_NAME、英文名稱TABLE_NAME_EN、中文名稱TABLE_NAME_CN、描述 TABLE_DESC、創(chuàng)建日期 TABLE_CREATE_DATE、創(chuàng)建人 TABLE_CREATE_USER,其中所述類型包括實體和關(guān)系; 所述第二數(shù)據(jù)庫表包括下述字段:全局索引RID、實體/關(guān)系索引EID、屬性名COLUMN_NAME_EN、屬性類型 COLUMN_TYPE、屬性默認(rèn)值 COLUMN_DEFAULT_VALUE、注釋 COLUMN_DESC、中文名 COLUMN_NAME_CN、屬性順序⑶LUMN_ORDER、關(guān)聯(lián)類型 COLUMN_RELATION_TYPE、關(guān)聯(lián)定義 COLUMN_RELATION_TABLE、自定義域 COLUMN_DEFINE ; 所述第三數(shù)據(jù)庫表包括下述字段:全局索引RID、關(guān)系名稱RELATION_NAME、源實體IDRELATION_SRC、目標(biāo)實體 RELATION_TARGET、對應(yīng)關(guān)系表索引 RELATION_TABLE_ID。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法進(jìn)一步包括: 當(dāng)維護(hù)實體間關(guān)系時,從所述第一數(shù)據(jù)庫表讀取所述實體間關(guān)系對應(yīng)的源實體、目標(biāo)實體和該實體間關(guān)系當(dāng)前指向的物理表結(jié)構(gòu),并將所讀取的源實體、目標(biāo)實體和物理表結(jié)構(gòu)的信息更新至所述第三數(shù)據(jù)庫表,從而完成實體間關(guān)系的維護(hù)操作。
4.根據(jù)權(quán)利要求1至3中任意一項所述的方法,其特征在于,所述第一數(shù)據(jù)庫表、所述第二數(shù)據(jù)庫表和所述第三數(shù)據(jù)庫表在關(guān)系型數(shù)據(jù)庫中是以物理數(shù)據(jù)庫表形式存儲。
5.一種模型動態(tài)定義及驅(qū)動相關(guān)數(shù)據(jù)操作的裝置,其特征在于,包括: 定義管理模塊,包括用于定義實體和實體間關(guān)系的第一數(shù)據(jù)庫表; 屬性管理模塊,包括用于記錄已創(chuàng)建的實體和實體間關(guān)系的屬性信息的第二數(shù)據(jù)庫表; 關(guān)系管理模塊,包括用于記錄實體間關(guān)系的信息; 模型驅(qū)動模塊,用于進(jìn)行下述操作: 驅(qū)動實體定義和所述實體的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的實體定義和實體的屬性信息,創(chuàng)建所述實體的物理實例; 驅(qū)動實體間關(guān)系 定義和所述關(guān)系的屬性信息的創(chuàng)建,并根據(jù)所述創(chuàng)建的關(guān)系定義和關(guān)系的屬性信息,創(chuàng)建所述關(guān)系的物理實例,具體而言,包括在定義管理模塊的第一數(shù)據(jù)庫表中定義所述關(guān)系,將該關(guān)系的屬性記錄并定義到屬性管理模塊的第二數(shù)據(jù)庫表,并且從所述第一數(shù)據(jù)庫表中獲取所述關(guān)系對應(yīng)數(shù)據(jù)庫表名,從所述第二數(shù)據(jù)庫表獲取所述關(guān)系的屬性以用于生成所述關(guān)系的物理表結(jié)構(gòu),并將所生成的物理表結(jié)構(gòu)的索引記錄到關(guān)系管理模塊的第三數(shù)據(jù)庫表。
6.如權(quán)利要求5所述的裝置,其中所述第一數(shù)據(jù)庫表可包括下述字段:全局索引RID、類型TABLE_KIND、對應(yīng)數(shù)據(jù)庫表名TABLE_NAME、英文名稱TABLE_NAME_EN、中文名稱TABLE_NAME_CN、描述 TABLE_DESC、創(chuàng)建日期 TABLE_CREATE_DATE、創(chuàng)建人 TABLE_CREATE_USER,其中所述類型包括實體和關(guān)系; 所述第二數(shù)據(jù)庫表包括下述字段:全局索引RID、實體/關(guān)系索引EID、屬性名COLUMN_NAME_EN、屬性類型 COLUMN_TYPE、屬性默認(rèn)值 COLUMN_DEFAULT_VALUE、注釋 COLUMN_DESC、中文名 COLUMN_NAME_CN、屬性順序 COLUMN_ORDER、關(guān)聯(lián)類型 COLUMN_RELATION_TYPE、關(guān)聯(lián)定義 COLUMN_RELATION_TABLE、自定義域 COLUMN_DEFINE ; 所述第三數(shù)據(jù)庫表包括下述字段:全局索引RID、關(guān)系名稱RELATION_NAME、源實體IDRELATION_SRC、目標(biāo)實體 RELATION_TARGET、對應(yīng)關(guān)系表索引 RELATION_TABLE_ID。
7.如權(quán)利要求6所述的裝置,其特征在于,所述模型驅(qū)動模塊還用于:當(dāng)維護(hù)實體間關(guān)系時,從所述第一數(shù)據(jù)庫表讀取所述實體間關(guān)系對應(yīng)的源實體、目標(biāo)實體和該實體間關(guān)系當(dāng)前指向的物理表結(jié)構(gòu),并將所讀取的源實體、目標(biāo)實體和物理表結(jié)構(gòu)的信息更新至所述第三數(shù)據(jù)庫表,從而完成實體間關(guān)系的維護(hù)操作。
8.根據(jù)權(quán) 利要求5至7中任意一項所述的裝置,其特征在于,所述第一數(shù)據(jù)庫表、所述第二數(shù)據(jù)庫表和所述第三數(shù)據(jù)庫表在關(guān)系型數(shù)據(jù)庫中是以物理數(shù)據(jù)庫表形式存儲。
【文檔編號】G06F17/30GK103793488SQ201410025113
【公開日】2014年5月14日 申請日期:2014年1月20日 優(yōu)先權(quán)日:2014年1月20日
【發(fā)明者】周樂, 李輝 申請人:中國建設(shè)銀行股份有限公司