專利名稱:信息模型配置及存儲(chǔ)裝置、方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,并且特別地,涉及一種信息模型配置及存儲(chǔ)裝置、方法。
背景技術(shù):
在相關(guān)技術(shù)中,作為無線射頻識(shí)別(Radio Frequence Identif ied,簡(jiǎn)稱為RFID) 技術(shù)的推動(dòng)者,電子產(chǎn)品碼全球組織(Electric ProductCode global,簡(jiǎn)稱為EPCglobal) 不僅管理著植入RFID標(biāo)簽的電子產(chǎn)品碼(Electric Product Code,簡(jiǎn)稱為EPC),還將接口 進(jìn)行了標(biāo)準(zhǔn)化定義,使包含EPC在內(nèi)的各種RFID數(shù)據(jù)在各企業(yè)系統(tǒng)中使用,促進(jìn)了 RFID的 擴(kuò)大化應(yīng)用。目前,EPCIS是EPCglobal為了在企業(yè)間共享RFID標(biāo)簽捕捉到的事物動(dòng)作、狀態(tài)數(shù) 據(jù)所規(guī)定的接口。國(guó)內(nèi)外很多企業(yè)都在沿用EPC信息服務(wù)(EPC Information Service,簡(jiǎn) 稱為EPCIS)標(biāo)準(zhǔn)導(dǎo)入系統(tǒng)。采用EPCIS標(biāo)準(zhǔn)不需要再為信息共享而進(jìn)行結(jié)構(gòu)設(shè)計(jì),就可以 與基于信息共享構(gòu)架的EPCglobal網(wǎng)絡(luò)的所有系統(tǒng)實(shí)現(xiàn)開放式連接。但是,基于EPCIS標(biāo) 準(zhǔn)的RFID標(biāo)簽的信息共享必須采用統(tǒng)一、標(biāo)準(zhǔn)的格式來記錄這些信息,從而使得企業(yè)之間 能夠理解這些RFID標(biāo)簽及附帶的信息。產(chǎn)品碼信息服務(wù)(Code Information Service,簡(jiǎn)稱為CIS)目的是為了同時(shí)保存 EPCIS信息及其他信息(例如,閱讀器信息,標(biāo)簽碼信息等),以方便系統(tǒng)對(duì)外提供信息共 享。為了達(dá)到信息的共享,必須統(tǒng)一信息模型,并定義信息模型的結(jié)構(gòu)。但是,相關(guān)技術(shù)中 并沒有相應(yīng)的解決方案。
發(fā)明內(nèi)容
考慮到相關(guān)技術(shù)中沒有定義信息模型及其結(jié)構(gòu)的技術(shù)方案的問題而提出本發(fā)明, 為此,本發(fā)明的主要目的在于提供一種信息模型配置及存儲(chǔ)裝置、方法,以解決相關(guān)技術(shù)中 存在的上述問題。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種信息模型配置及存儲(chǔ)裝置。根據(jù)本發(fā)明的信息模型配置及存儲(chǔ)裝置包括確定單元,用于根據(jù)需要存儲(chǔ)的信 息實(shí)體確定信息模型,并配置信息模型的結(jié)構(gòu),其中,信息模型的結(jié)構(gòu)包括信息模型名稱、 信息模型屬性;分類單元,用于將信息模型屬性進(jìn)行分類;配置單元,用于根據(jù)信息模型屬 性的類型配置信息模型屬性的結(jié)構(gòu);數(shù)據(jù)庫(kù),用于以預(yù)定規(guī)則根據(jù)信息模型屬性的結(jié)構(gòu)存 儲(chǔ)信息模型屬性。優(yōu)選地,確定單元具體包括第一命名模塊,用于設(shè)置信息模型屬性的名稱;第一 配置模塊,用于配置信息模型屬性的取值類型、取值范圍、以及各個(gè)信息模型屬性之間的關(guān)系。優(yōu)選地,確定單元進(jìn)一步包括確定模塊,用于根據(jù)特定的行業(yè)確定信息實(shí)體;標(biāo) 記模塊,用于使用擴(kuò)展標(biāo)記語言文檔模型對(duì)信息模型名稱、信息模型屬性以及信息模型屬性之間的層次關(guān)系進(jìn)行標(biāo)記。優(yōu)選地,分類單元具體用于將信息模型屬性至少分為簡(jiǎn)單屬性、列表屬性、復(fù)雜屬 性三種類型。優(yōu)選地,配置單元具體用于配置列表屬性、復(fù)雜屬性與簡(jiǎn)單屬性之間的關(guān)系,并以 相對(duì)路徑的形式進(jìn)行標(biāo)記。優(yōu)選地,配置單元具體包括第二命名模塊,用于設(shè)置簡(jiǎn)單屬性的 名稱;第二配置 模塊,用于利用簡(jiǎn)單屬性的名稱以及其他類型的信息模型屬性的名稱配置列表屬性、復(fù)雜 屬性與簡(jiǎn)單屬性之間的相對(duì)路徑;第三命名模塊,用于根據(jù)相對(duì)路徑命名數(shù)據(jù)庫(kù)表的表名, 其中,將信息模型名稱命名為數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)主表的表名;第三配置模塊,用于將簡(jiǎn)單屬性 配置為數(shù)據(jù)庫(kù)表中的一個(gè)字段,并將信息模型名稱配置為數(shù)據(jù)庫(kù)主表的一個(gè)字段;第四配 置模塊,用于配置簡(jiǎn)單屬性在數(shù)據(jù)庫(kù)表中存儲(chǔ)的類型。優(yōu)選地,第三命名模塊具體用于根據(jù)相對(duì)路徑將簡(jiǎn)單屬性的上一層信息模型屬性 作為數(shù)據(jù)庫(kù)表的表名,并且,數(shù)據(jù)庫(kù)表中存儲(chǔ)的除簡(jiǎn)單屬性外的其他簡(jiǎn)單屬性的上一層均 為該信息模型屬性。優(yōu)選地,第四配置模塊進(jìn)一步用于如果將簡(jiǎn)單屬性的存儲(chǔ)類型配置為字符串類 型,則設(shè)置簡(jiǎn)單屬性在數(shù)據(jù)庫(kù)表中存儲(chǔ)的最大長(zhǎng)度,以及標(biāo)識(shí)簡(jiǎn)單屬性的取值是否為空;如 果將簡(jiǎn)單屬性的存儲(chǔ)類型配置為主數(shù)據(jù)類型,則設(shè)置簡(jiǎn)單屬性的主數(shù)據(jù)的詞匯類型。優(yōu)選地,預(yù)定規(guī)則包括存儲(chǔ)到數(shù)據(jù)庫(kù)表中的信息模型屬性為簡(jiǎn)單屬性;根據(jù)信 息模型屬性的相對(duì)路徑以及信息模型屬性的取值確定信息模型屬性是否需要存儲(chǔ),并在確 定需要存儲(chǔ)時(shí),根據(jù)相對(duì)路徑配置存儲(chǔ)信息模型屬性的數(shù)據(jù)庫(kù)表的表名、以及列名;如果信 息模型屬性不存在相對(duì)路徑,則將信息模型屬性存儲(chǔ)到數(shù)據(jù)庫(kù)主表中;如果信息模型屬性 存在相對(duì)路徑,則將信息模型屬性存儲(chǔ)在數(shù)據(jù)庫(kù)子表中;數(shù)據(jù)庫(kù)主表和數(shù)據(jù)庫(kù)子表以主外 鍵的形式相關(guān)聯(lián)。為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種信息模型配置及存儲(chǔ)方法。根據(jù)本發(fā)明的信息模型配置及存儲(chǔ)方法包括根據(jù)需要存儲(chǔ)的信息實(shí)體確定信息 模型,并配置信息模型的結(jié)構(gòu),其中,信息模型的結(jié)構(gòu)包括信息模型名稱、信息模型屬性; 將信息模型屬性進(jìn)行分類;根據(jù)信息模型屬性的類型配置信息模型屬性的結(jié)構(gòu);以預(yù)定規(guī) 則根據(jù)信息模型屬性的結(jié)構(gòu)存儲(chǔ)信息模型屬性。借助于本發(fā)明的技術(shù)方案,通過對(duì)信息模型的屬性進(jìn)行分類以及對(duì)屬性的結(jié)構(gòu)進(jìn) 行定義,并按照一定的規(guī)則根據(jù)屬性的結(jié)構(gòu)對(duì)信息模型屬性進(jìn)行存儲(chǔ),解決了相關(guān)技術(shù)中 沒有定義信息模型及其結(jié)構(gòu)的技術(shù)方案的問題,可以方便使用者定義的需要的信息模型, 并將定義后的信息模型存儲(chǔ)到數(shù)據(jù)庫(kù)中。本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變 得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過在所寫的說明 書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限制。在附圖中圖1是根據(jù)本發(fā)明實(shí)施例的信息模型配置及存儲(chǔ)裝置的框圖;圖2是根據(jù)本發(fā)明實(shí)施例的信息模型配置及存儲(chǔ)方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的信息模型配置及存儲(chǔ)方法的詳細(xì)處理流程圖。
具體實(shí)施例方式功能概述在相關(guān)技術(shù)中,為了達(dá)到信息的共享目的,必須定義統(tǒng)一的信息模型,并定義該信息模型的結(jié)構(gòu),本發(fā)明實(shí)施例提供了一種CIS信息模型配置及存儲(chǔ)裝置和方法,在本發(fā)明 實(shí)施例的技術(shù)方案中,重點(diǎn)描述了為如何抽象出信息模型的名稱和其對(duì)應(yīng)的屬性,并根據(jù) 這些信息來確定它們之間的相對(duì)關(guān)系。在本發(fā)明的技術(shù)方案中,確定單元用于根據(jù)需要存 儲(chǔ)的信息實(shí)體確定信息模型,并配置信息模型的結(jié)構(gòu),其中,信息模型的結(jié)構(gòu)包括信息模 型名稱、信息模型屬性;分類單元用于將信息模型屬性進(jìn)行分類;配置單元用于根據(jù)信息 模型屬性的類型配置信息模型屬性的結(jié)構(gòu);數(shù)據(jù)庫(kù)用于以預(yù)定規(guī)則根據(jù)信息模型屬性的結(jié) 構(gòu)存儲(chǔ)信息模型屬性。在對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行詳細(xì)說明之前,首先對(duì)本發(fā)明實(shí)施例中可以涉 及到的名詞進(jìn)行解釋,包括1、信息模型名稱對(duì)信息模型的唯一標(biāo)識(shí)。2、信息模型屬性信息模型的描述信 息,該描述信息以信息實(shí)體的屬性形式進(jìn)行描述。3、簡(jiǎn)單屬性其取值是簡(jiǎn)單類型,例如,取 值的類型為整形(int),浮點(diǎn)(float),字符串(String)等。4、列表屬性其取值為多個(gè),并 且多個(gè)取值之間的類型是相同的,即簡(jiǎn)單類型。5、復(fù)雜屬性其沒有直接的取值,復(fù)雜屬性 下包含了一層或者多層的屬性,最后一層節(jié)點(diǎn)中屬性的取值是簡(jiǎn)單類型。以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí) 施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。在以下的描述中,為了解釋的目的,描述了多個(gè)特定的細(xì)節(jié),以提供對(duì)本發(fā)明的透 徹理解。然而,很顯然,在沒有這些特定細(xì)節(jié)的情況下,也可以實(shí)現(xiàn)本發(fā)明,此外,在不背離 所附權(quán)利要求闡明的精神和范圍的情況下,下述實(shí)施例以及實(shí)施例中得各個(gè)細(xì)節(jié)可以進(jìn)行 各種組合。裝置實(shí)施例根據(jù)本發(fā)明的實(shí)施例,提供了一種信息模型配置及存儲(chǔ)裝置,圖1是根據(jù)本發(fā)明 實(shí)施例的信息模型配置及存儲(chǔ)裝置的框圖,如圖1所示,根據(jù)本發(fā)明實(shí)施例的信息模型配 置及存儲(chǔ)裝置包括確定單元2、分類單元4、配置單元6、數(shù)據(jù)庫(kù)8,其中,確定單元2還可以 包括第一命名模塊20、第一配置模塊22,確定模塊24、標(biāo)記模塊26,配置單元6還可以包 括第二命名模塊60、第二配置模塊62、第三命名模塊64、第三配置模塊66、第四配置模塊 68。下面,對(duì)上述各個(gè)模塊進(jìn)行詳細(xì)的說明。確定單元2主要用于根據(jù)需要存儲(chǔ)的信息實(shí)體確定信息模型,并配置該信息模型 的結(jié)構(gòu),其中,配置該信息模型的結(jié)構(gòu)包括配置該信息模型的信息模型名稱、以及配置該 信息模型的信息模型屬性。具體地,首先,確定單元2的確定模塊24需要根據(jù)具體的行業(yè)領(lǐng)域,確定需要存儲(chǔ)的信息實(shí)體,在確定模塊24確定了信息實(shí)體后,確定單元2就可以根據(jù)該信息實(shí)體抽 象出通用的信息模型,并對(duì)信息模型進(jìn)行配置,在配置信息模型時(shí),確定單元2中的第一 命名模塊20首先需要設(shè)置該信息模型屬性的名稱,定義信息模型名稱的目的是為每一個(gè) 信息模型均定義一個(gè)唯一的標(biāo)識(shí)。在實(shí)際的應(yīng)用中,信息模型名稱可以以如下形式描述 nameSpace#infoModelName,其中,nameSpace是域名空間,域名和信息模型名稱之間用#來 分割。在配置信息模型時(shí),確定單元2中的第一配置模塊22需要確定為了描 述該信息模 型需要的信息模型屬性(Attribute),信息模型屬性是對(duì)信息實(shí)體的描述,在確定了信息模 型屬性后,第一配置模塊22還需要對(duì)各個(gè)信息模型屬性的取值類型、取值范圍、以及各個(gè) 信息模型屬性之間的關(guān)系進(jìn)行配置。在第一配置模塊22配置信息模型時(shí),確定單元2中的 標(biāo)記模塊26可以使用擴(kuò)展標(biāo)記語言(eXtensionMarkup Language,簡(jiǎn)稱為XML)的文檔模 型(schema)的方式,對(duì)信息模型名稱、信息模型屬性以及信息模型屬性之間的層次關(guān)系進(jìn) 行標(biāo)記,這樣可以方便使用者更清楚各屬性之間的關(guān)系。在第一命名模塊20確定了信息模型名稱、第一配置模塊22確定了信息模型屬性 后,分類單元4就可以將信息模型屬性進(jìn)行分類,在實(shí)際應(yīng)用中,信息模型屬性至少可以分 為簡(jiǎn)單屬性、列表屬性和復(fù)雜屬性;其中,簡(jiǎn)單屬性中的取值都是基本類型的,例如,int, float,雙精度(double)等類型;列表屬性的取值是列表(list)的形式;復(fù)雜屬性的取值 是復(fù)雜形式,即,嵌套了多層的關(guān)系,其最底層的葉子節(jié)點(diǎn)是簡(jiǎn)單屬性。在分類單元4對(duì)信息模型屬性進(jìn)行分類后,配置單元6就可以根據(jù)信息模型屬性 的類型配置信息模型屬性的結(jié)構(gòu),也就是說,配置單元6需要配置列表屬性、復(fù)雜屬性與簡(jiǎn) 單屬性之間的關(guān)系,并以相對(duì)路徑的形式進(jìn)行標(biāo)記。具體地,配置單元6中的第二命名模塊 60首先需要設(shè)置簡(jiǎn)單屬性的名稱,隨后,第二配置模塊62就可以利用簡(jiǎn)單屬性的名稱以及 第一命名模塊20確定的其他類型(列表屬性和復(fù)雜屬性)的信息模型屬性的名稱配置列 表屬性、復(fù)雜屬性與簡(jiǎn)單屬性之間的相對(duì)路徑,所謂路徑即該信息模型屬性在信息模型的 XML的文檔中的路徑,通常以相對(duì)路徑的形式給出。在實(shí)際應(yīng)用中,如果該信息模型屬性在 XML中表示為某個(gè)節(jié)點(diǎn)的屬性,則在相對(duì)路徑中以@來標(biāo)識(shí),形如eXtensi0n/Child/@tag, 其中,tag為child的屬性;該相對(duì)路徑的第一層則為信息模型名稱。在第二配置模決62配置了相對(duì)路徑后,配置單元6中的第三命名模塊64就可以 根據(jù)相對(duì)路徑命名數(shù)據(jù)庫(kù)表的表名,其中,需要將第一命名模塊20確定的信息模型名稱命 名為數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)主表的表名;在實(shí)際應(yīng)用中,以該信息模型屬性的上一層屬性作為該 數(shù)據(jù)庫(kù)表的表名,形如wxtension/child/Otag,則第三命名模塊64就可以將該表命名為 child。需要說明的是,數(shù)據(jù)庫(kù)表中存儲(chǔ)的除簡(jiǎn)單屬性外的其他簡(jiǎn)單屬性的上一層均為統(tǒng)一 信息模型屬性,即,該表存儲(chǔ)的所有信息模型屬性的上一層路徑都是chip。隨后,配置單元6中的第三配置模塊66需要將簡(jiǎn)單屬性配置為數(shù)據(jù)庫(kù)表中的一 個(gè)字段(即,一個(gè)列),并將信息模型名稱配置為數(shù)據(jù)庫(kù)主表的一個(gè)字段。并且,配置單元 6中的第四配置模塊68還需要配置簡(jiǎn)單屬性在數(shù)據(jù)庫(kù)表中存儲(chǔ)的類型。具體地,如果第 四配置模塊68將簡(jiǎn)單屬性的存儲(chǔ)類型配置為String類型,則還需要設(shè)置簡(jiǎn)單屬性在數(shù)據(jù) 庫(kù)表中存儲(chǔ)的最大長(zhǎng)度,以及標(biāo)識(shí)簡(jiǎn)單屬性的取值是否為空;如果第四配置模塊68將簡(jiǎn) 單屬性的存儲(chǔ)類型配置為主數(shù)據(jù)類型,則設(shè)置簡(jiǎn)單屬性的主數(shù)據(jù)的詞匯類型,形如urn epcglobal:epcis :vtype :ReadPoint0
在配置單元6對(duì)信息模型屬性的結(jié)構(gòu)進(jìn)行了配置后,數(shù)據(jù)庫(kù)8就可以以預(yù)定規(guī)則 根據(jù)信息模型屬性的結(jié)構(gòu)存儲(chǔ)信息模型屬性。具體地,上述的預(yù)定規(guī)則可以包括1、存儲(chǔ)到數(shù)據(jù)庫(kù)表中的信息模型屬性為簡(jiǎn)單屬性,即葉子節(jié)點(diǎn);2、根據(jù)信息模型屬性的相對(duì)路徑以及信息模型屬性的取值確定信息模型屬性是 否需要存儲(chǔ),并在確定需要存儲(chǔ)時(shí),根據(jù)相對(duì)路徑配置存儲(chǔ)信息模型屬性的數(shù)據(jù)庫(kù)表的表 名、以及列名,其中,列名通常與信息模型屬性(簡(jiǎn)單屬性)的名稱一致;3、如果信息模型屬性不存在相對(duì)路徑,即是信息模型的第一層,則將信息模型屬 性存儲(chǔ)到數(shù)據(jù)庫(kù)主表中;4、如果信息模型屬性存在相對(duì)路徑,則將信息模型屬性存儲(chǔ)在數(shù)據(jù)庫(kù)子表中;其 中,子表中的信息模型屬性都是相對(duì)路徑一致或者是在同一個(gè)根路徑下的節(jié)點(diǎn);5、數(shù)據(jù)庫(kù)主表和數(shù)據(jù)庫(kù)子表以主外鍵的形式相關(guān)聯(lián),也就是說,所有的子表都通 過外鍵與主表相關(guān)聯(lián),即,子表中保存有主表的id信息。從上面的描述可以看出,數(shù)據(jù)庫(kù)表的結(jié)構(gòu)很簡(jiǎn)單,只有兩層結(jié)構(gòu)一層是主表,主 表只有一個(gè),主表中必有的一個(gè)字段是信息模型名稱,主表中其他字段根據(jù)信息模型屬性 中定義的表名來確定是否含有這個(gè)字段。另一層是子表,子表可以有多個(gè),子表之間沒有任 何關(guān)系,主表和子表以主外鍵相關(guān)聯(lián),而且主表和子表中的字段均為XML文檔中的簡(jiǎn)單屬 性。需要說明的是,在實(shí)際應(yīng)用中,必須遵循先定義后使用的順序,當(dāng)該定義的信息模 型一旦被使用,就不允許隨便進(jìn)行修改或者刪除,但是可以為信息模型增加屬性。下面依據(jù)上面的描述給出一個(gè)具體的表,本領(lǐng)域技術(shù)人員應(yīng)該清楚,不同實(shí)現(xiàn)者 所給出的表結(jié)構(gòu)可能不一樣,但并不能脫離采用數(shù)據(jù)庫(kù)表來記錄的范疇。下面,對(duì)本實(shí)例進(jìn) 行說明。描述命名空間的表NAME_SPACE (id, prefix, nameSpace)其中,prefix為前綴,namespace為命名空間。每個(gè)元素的名稱都要求是在某一個(gè) 命名空間之下,每一個(gè)命名空間又都有自己的前綴prefix,從數(shù)據(jù)庫(kù)設(shè)計(jì)的角度考慮,為了 避免數(shù)據(jù)冗余,設(shè)計(jì)上將NAME_SPACE單獨(dú)拿出來作為一個(gè)表,但這個(gè)namespace也可以與 屬性名放到一起。主表INF0M0DE_EVENT(id, eventName, <CoulmnName>)其中,id是自動(dòng)生成的事件標(biāo)識(shí);eventName是事件名稱;<CoulmnName>是動(dòng)態(tài) 列,即對(duì)該信息模型所定義的具體的信息模型屬性(簡(jiǎn)單屬性)。子表ATTRIBUTE(id, event_id, <CoulmnName>, path)其中,id是自動(dòng)生成的屬性標(biāo)識(shí);eventjd是事件id ;<CoulmnName>是動(dòng)態(tài)列, 即對(duì)該信息模型所定義的具體的信息模型屬性;因?yàn)檫@些〈CoulmnName〉都在相同的路徑 下,因此,用path來記錄這些<ColumnName>的上層路徑。通過本發(fā)明的上述技術(shù)方案,使用者可以方便的定義需要的信息模型,同時(shí)可以方便的被CIS系統(tǒng)所識(shí)別,并存儲(chǔ)入庫(kù)。方法實(shí)施例根據(jù)本發(fā)明的實(shí)施例,提供了一種信息模型配置及存儲(chǔ)方法,圖2是根據(jù)本發(fā)明 實(shí)施例的信息模型配置及存儲(chǔ)方法的流程圖,如圖2所示,包括以下處理(步驟S202-步驟 S208)步驟S202,根據(jù)需要存儲(chǔ)的信息實(shí)體確定信息模型,并配置信息模型的結(jié)構(gòu),其 中,信息模型的結(jié)構(gòu)包括信息模型名稱、信息模型屬性;
具體地,在步驟S202中,在根據(jù)信息實(shí)體抽象出通用的信息模型之前,首先需要 根據(jù)具體的行業(yè)領(lǐng)域,確定需要存儲(chǔ)的信息實(shí)體;在配置信息模型的結(jié)構(gòu)時(shí),首先需要設(shè)置 該信息模型屬性的名稱,定義信息模型名稱的目的是為每一個(gè)信息模型定義一個(gè)唯一的標(biāo) 識(shí)。在實(shí)際的應(yīng)用中,信息模型名稱可以以如下形式描述mameSpaceilinfoModelName,其 中,nameSpace是域名空間,域名和信息模型名稱之間用#來劃分。在配置信息模型的結(jié)構(gòu)時(shí),還需要確定為了描述該信息模型需要的信息模型屬 性(Attribute),Attribute是對(duì)信息實(shí)體的描述,在確定了信息模型屬性后,就可以配置 各個(gè)信息模型屬性的取值類型、取值范圍、以及各個(gè)信息模型屬性之間的關(guān)系。隨后,使用 XMLschema對(duì)信息模型名稱、信息模型屬性以及信息模型屬性之間的層次關(guān)系進(jìn)行標(biāo)記,這 樣可以方便使用者更清楚各屬性之間的關(guān)系。步驟S204,將信息模型屬性進(jìn)行分類;在實(shí)際應(yīng)用中,信息模型屬性至少可以分 為簡(jiǎn)單屬性、列表屬性和復(fù)雜屬性;其中,簡(jiǎn)單屬性中的取值都是基本類型的,例如,int, float, double等類型;列表屬性的取值是list的形式;復(fù)雜屬性的取值是復(fù)雜形式,即嵌 套了多層的關(guān)系,其最底層的葉子節(jié)點(diǎn)是簡(jiǎn)單屬性。步驟S206,根據(jù)信息模型屬性的類型配置信息模型屬性的結(jié)構(gòu);也就是說,需要 配置列表屬性、復(fù)雜屬性與簡(jiǎn)單屬性之間的關(guān)系,并以相對(duì)路徑的形式進(jìn)行標(biāo)記。具體地,首先需要設(shè)置簡(jiǎn)單屬性的名稱,并利用簡(jiǎn)單屬性的名稱以及其他類型 (列表屬性和復(fù)雜屬性)的信息模型屬性的名稱配置列表屬性、復(fù)雜屬性與簡(jiǎn)單屬性之間 的相對(duì)路徑,所謂路徑即該信息模型屬性在信息模型的XML的文檔中的路徑,通常以相對(duì) 路徑的形式給出。例如,如果該信息模型屬性在XML中表示為某個(gè)節(jié)點(diǎn)的屬性,則在相對(duì)路 徑中以@來標(biāo)識(shí),形如eXtensi0n/Child/@tag,其中,tag為child的屬性;如果是第一層 則為信息模型名稱。在配置了相對(duì)路徑后,就可以根據(jù)相對(duì)路徑命名數(shù)據(jù)庫(kù)表的表名,其中,需要將信 息模型名稱命名為數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)主表的表名;在實(shí)際應(yīng)用中,以該信息模型屬性的上一 層屬性作為該數(shù)據(jù)庫(kù)表的表名,例如,現(xiàn)對(duì)路徑為extension/child/Otag,則可以將數(shù)據(jù)庫(kù) 表命名為child,tag則為child表中的一個(gè)字段。需要說明的是,數(shù)據(jù)庫(kù)表中存儲(chǔ)的除簡(jiǎn) 單屬性外的其他簡(jiǎn)單屬性的上一層均為統(tǒng)一信息模型屬性,即,該表存儲(chǔ)的所有信息模型 屬性的上一層路徑都是child。隨后,將簡(jiǎn)單屬性配置為數(shù)據(jù)庫(kù)表中的一個(gè)字段(即,一個(gè)列),并將信息模型名 稱配置為數(shù)據(jù)庫(kù)主表的一個(gè)字段。并且,還需要配置簡(jiǎn)單屬性在數(shù)據(jù)庫(kù)表中存儲(chǔ)的類型。 具體地,如果將簡(jiǎn)單屬性的存儲(chǔ)類型配置為String類型,則需要設(shè)置簡(jiǎn)單屬性在數(shù)據(jù)庫(kù)表 中存儲(chǔ)的最大長(zhǎng)度,以及標(biāo)識(shí)簡(jiǎn)單屬性的取值是否為空;如果將簡(jiǎn)單屬性的存儲(chǔ)類型配置為主數(shù)據(jù)類型,則需要設(shè)置簡(jiǎn)單屬性的主數(shù)據(jù)的詞匯類型,例如urn 印cglobal :epcis vtype :ReadPoint0步驟S208,以預(yù)定規(guī)則根據(jù)信息模型屬性的結(jié)構(gòu)存儲(chǔ)信息模型屬性。具體地,上述的預(yù)定規(guī)則包括1、存儲(chǔ)到數(shù)據(jù)庫(kù)表中的信息模型屬性為簡(jiǎn)單屬性,即葉子節(jié)點(diǎn);2、根據(jù)信息模型屬性的相對(duì)路徑以及信息模型屬性的取值確定信息模型屬性是 否需要存儲(chǔ),并在確定需要存儲(chǔ)時(shí),根據(jù)相對(duì)路徑配置存儲(chǔ)信息模型屬性的數(shù)據(jù)庫(kù)表的表 名、以及列名,其中,列名通常跟信息模型屬性(簡(jiǎn)單屬性)的名稱一致;3、如果信息模型屬性不存在相對(duì)路徑,即是信息模型的第一層,則將信息模型屬 性存儲(chǔ)到數(shù)據(jù)庫(kù)主表中;4、如果信息模型屬性存在相對(duì)路徑,則將信息模型屬性存儲(chǔ)在數(shù)據(jù)庫(kù)子表中;其 中,子表中的信息模型屬性都是相對(duì)路徑一致或者是在同一個(gè)根路徑下的節(jié)點(diǎn);5、數(shù)據(jù)庫(kù)主表和數(shù)據(jù)庫(kù)子表以主外鍵的形式相關(guān)聯(lián),也就是說,所有的子表都通 過外鍵與主表相關(guān)聯(lián),即,子表中保存有主表的id信息。下面將結(jié)合附圖,對(duì)本發(fā)明的上述技術(shù)方案進(jìn)行說明,圖3是根據(jù)本發(fā)明實(shí)施例 的信息模型配置及存儲(chǔ)方法的詳細(xì)處理流程圖,如圖3所示,包括如下處理步驟S302,針對(duì)某個(gè)特定行業(yè),定義出描述該行業(yè)信息的信息模型。首先確定該行 業(yè)信息模型的名稱和為了描述這個(gè)行業(yè)的信息的屬性,并用XML來描述該結(jié)構(gòu)(對(duì)應(yīng)于圖 2中的步驟S202)。步驟S304,確定主表的名稱,通常主表的名稱以信息模型的名稱來命名。步驟S306,根據(jù)步驟S302中確定的屬性,定義屬性的類型,將屬性劃分為簡(jiǎn)單屬 性、列表屬性、和復(fù)雜屬性。并給出屬性取值等方面的限制。步驟S308,根據(jù)行業(yè)的特點(diǎn),并依據(jù)步驟S302,來確定該屬性在XML Schema文檔 中的相對(duì)位置。步驟S310,確定哪些屬性要進(jìn)行存儲(chǔ)。存儲(chǔ)的原則如下簡(jiǎn)單屬性和列表屬性一 定會(huì)存儲(chǔ)到數(shù)據(jù)庫(kù)表中;復(fù)雜屬性會(huì)在保存其節(jié)點(diǎn)下面的簡(jiǎn)單屬性時(shí),以相對(duì)路徑的形式
給出 ο步驟S312,確定屬性要儲(chǔ)存到哪些數(shù)據(jù)庫(kù)表中,原則如下復(fù)雜屬性需要存儲(chǔ)其 節(jié)點(diǎn)下的簡(jiǎn)單屬性,復(fù)雜屬性的層次嵌套關(guān)系會(huì)以相對(duì)路徑的形式給出。步驟S314,根據(jù)S306和S308來確定該屬性的相對(duì)路徑和存儲(chǔ)該屬性的數(shù)據(jù)庫(kù)表 名和列名,其原則為主表中只存儲(chǔ)信息模型的名稱、屬性為簡(jiǎn)單屬性并且屬性的相對(duì)路徑 為第一層的;子表中存儲(chǔ)復(fù)雜屬性下的葉子節(jié)點(diǎn)屬性。綜上所述,借助于本發(fā)明的技術(shù)方案,通過對(duì)信息模型的屬性進(jìn)行分類以及對(duì)屬 性的結(jié)構(gòu)進(jìn)行定義,并按照一定的規(guī)則根據(jù)屬性的結(jié)構(gòu)對(duì)信息模型屬性進(jìn)行存儲(chǔ),解決了 相關(guān)技術(shù)中沒有定義信息模型及其結(jié)構(gòu)的技術(shù)方案的問題,可以方便使用者定義的需要的 信息模型,并將定義后的信息模型存儲(chǔ)到數(shù)據(jù)庫(kù)中。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲(chǔ)在存儲(chǔ)裝置中由計(jì)算裝置來執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們 中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。 以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種信息模型配置及存儲(chǔ)裝置,其特征在于,包括確定單元,用于根據(jù)需要存儲(chǔ)的信息實(shí)體確定信息模型,并配置所述信息模型的結(jié)構(gòu),其中,所述信息模型的結(jié)構(gòu)包括信息模型名稱、信息模型屬性;分類單元,用于將所述信息模型屬性進(jìn)行分類;配置單元,用于根據(jù)所述信息模型屬性的類型配置所述信息模型屬性的結(jié)構(gòu);數(shù)據(jù)庫(kù),用于以預(yù)定規(guī)則根據(jù)所述信息模型屬性的結(jié)構(gòu)存儲(chǔ)所述信息模型屬性。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述確定單元具體包括 第一命名模塊,用于設(shè)置所述信息模型屬性的名稱;第一配置模塊,用于配置所述信息模型屬性的取值類型、取值范圍、以及各個(gè)信息模型 屬性之間的關(guān)系。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述確定單元進(jìn)一步包括 確定模塊,用于根據(jù)特定的行業(yè)確定所述信息實(shí)體;標(biāo)記模塊,用于使用擴(kuò)展標(biāo)記語言文檔模型對(duì)所述信息模型名稱、所述信息模型屬性 以及所述信息模型屬性之間的層次關(guān)系進(jìn)行標(biāo)記。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,所述分類單元具體用于將所述信息模型 屬性至少分為簡(jiǎn)單屬性、列表屬性、復(fù)雜屬性三種類型。
5.根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述配置單元具體用于配置所述列表屬 性、所述復(fù)雜屬性與所述簡(jiǎn)單屬性之間的關(guān)系,并以相對(duì)路徑的形式進(jìn)行標(biāo)記。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述配置單元具體包括 第二命名模塊,用于設(shè)置所述簡(jiǎn)單屬性的名稱;第二配置模塊,用于利用所述簡(jiǎn)單屬性的名稱以及其他類型的所述信息模型屬性的名 稱配置所述列表屬性、所述復(fù)雜屬性與所述簡(jiǎn)單屬性之間的相對(duì)路徑;第三命名模塊,用于根據(jù)所述相對(duì)路徑命名數(shù)據(jù)庫(kù)表的表名,其中,將所述信息模型名 稱命名為所述數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)主表的表名;第三配置模塊,用于將所述簡(jiǎn)單屬性配置為所述數(shù)據(jù)庫(kù)表中的一個(gè)字段,并將所述信 息模型名稱配置為所述數(shù)據(jù)庫(kù)主表的一個(gè)字段;第四配置模塊,用于配置所述簡(jiǎn)單屬性在所述數(shù)據(jù)庫(kù)表中存儲(chǔ)的類型。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第三命名模塊具體用于根據(jù)所述相 對(duì)路徑將所述簡(jiǎn)單屬性的上一層信息模型屬性作為所述數(shù)據(jù)庫(kù)表的表名,并且,所述數(shù)據(jù) 庫(kù)表中存儲(chǔ)的除所述簡(jiǎn)單屬性外的其他簡(jiǎn)單屬性的上一層均為該信息模型屬性。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述第四配置模塊進(jìn)一步用于如果將所述簡(jiǎn)單屬性的存儲(chǔ)類型配置為字符串類型,則設(shè)置所述簡(jiǎn)單屬性在所述數(shù)據(jù) 庫(kù)表中存儲(chǔ)的最大長(zhǎng)度,以及標(biāo)識(shí)所述簡(jiǎn)單屬性的取值是否為空;如果將所述簡(jiǎn)單屬性的存儲(chǔ)類型配置為主數(shù)據(jù)類型,則設(shè)置所述簡(jiǎn)單屬性的主數(shù)據(jù)的 詞匯類型。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,所述預(yù)定規(guī)則包括 存儲(chǔ)到所述數(shù)據(jù)庫(kù)表中的所述信息模型屬性為簡(jiǎn)單屬性;根據(jù)所述信息模型屬性的所述相對(duì)路徑以及所述信息模型屬性的取值確定所述信息模型屬性是否需要存儲(chǔ),并在確定需要存儲(chǔ)時(shí),根據(jù)所述相對(duì)路徑配置存儲(chǔ)所述信息模型屬性的數(shù)據(jù)庫(kù)表的表名、以及列名;如果所述信息模型屬性不存在所述相對(duì)路徑,則將所述信息模型屬性存儲(chǔ)到所述數(shù)據(jù)庫(kù)主表中;如果所述信息模型屬性存在相對(duì)路徑,則將所述信息模型屬性存儲(chǔ)在數(shù)據(jù)庫(kù)子表中;所述數(shù)據(jù)庫(kù)主表和所述數(shù)據(jù)庫(kù)子表以主外鍵的形式相關(guān)聯(lián)。
10. 一種信息模型配置及存儲(chǔ)方法,其特征在于,包括根據(jù)需要存儲(chǔ)的信息實(shí)體確定信息模型,并配置所述信息模型的結(jié)構(gòu),其中,所述信息模型的結(jié)構(gòu)包括信息模型名稱、信息模型屬性; 將所述信息模型屬性進(jìn)行分類;根據(jù)所述信息模型屬性的類型配置所述信息模型屬性的結(jié)構(gòu);以預(yù)定規(guī)則根據(jù)所述信息模型屬性的結(jié)構(gòu)存儲(chǔ)所述信息模型屬性。
全文摘要
本發(fā)明提供了一種信息模型配置及存儲(chǔ)裝置、方法,其中,該裝置包括確定單元,用于根據(jù)需要存儲(chǔ)的信息實(shí)體確定信息模型,并配置信息模型的結(jié)構(gòu),其中,信息模型的結(jié)構(gòu)包括信息模型名稱、信息模型屬性;分類單元,用于將信息模型屬性進(jìn)行分類;配置單元,用于根據(jù)信息模型屬性的類型配置信息模型屬性的結(jié)構(gòu);數(shù)據(jù)庫(kù),用于以預(yù)定規(guī)則根據(jù)信息模型屬性的結(jié)構(gòu)存儲(chǔ)信息模型屬性。通過本發(fā)明的上述技術(shù)方案,可以方便使用者定義的需要的信息模型,并將定義后的信息模型存儲(chǔ)在數(shù)據(jù)庫(kù)中。
文檔編號(hào)G06K7/00GK101826088SQ20091012606
公開日2010年9月8日 申請(qǐng)日期2009年3月5日 優(yōu)先權(quán)日2009年3月5日
發(fā)明者張懷, 張雪飛, 甘國(guó)華, 蘇銳, 賀曉猛 申請(qǐng)人:中興通訊股份有限公司