欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種持久化數(shù)據(jù)模型建模方法

文檔序號(hào):6573805閱讀:423來(lái)源:國(guó)知局
專利名稱:一種持久化數(shù)據(jù)模型建模方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種數(shù)據(jù)建模方法,屬于數(shù)據(jù)處理技術(shù)領(lǐng)域。
背景技術(shù)
目前,系統(tǒng)軟件開(kāi)發(fā)的持久化介質(zhì)基本都是關(guān)系型數(shù)據(jù)庫(kù),系統(tǒng)設(shè)計(jì)中采用最多的就是對(duì)業(yè)務(wù)需求分析后利用數(shù)據(jù)庫(kù)設(shè)計(jì)工具 來(lái)進(jìn)行業(yè)務(wù)模型的建模的方法。大部分的信息系統(tǒng)的數(shù)據(jù)模型都是采用類似PowerDesinger等數(shù)據(jù)庫(kù)設(shè)計(jì)工具設(shè)計(jì)開(kāi)發(fā)的,數(shù)據(jù)庫(kù)管理員拿到具體的業(yè)務(wù)需求后,通過(guò)建立業(yè)務(wù)數(shù)據(jù)表的形式將業(yè)務(wù)模型建立到數(shù)據(jù)庫(kù)中。用戶的需求會(huì)經(jīng)常發(fā)生變化,為了能適應(yīng)業(yè)務(wù)需求的變化,數(shù)據(jù)模型也必須改變一旦數(shù)據(jù)模型發(fā)生變化將直接引發(fā)數(shù)據(jù)庫(kù)結(jié)構(gòu)的變化。目前數(shù)據(jù)模型都是采用數(shù)據(jù)建模工具來(lái)創(chuàng)建和改變的,數(shù)據(jù)庫(kù)管理人員找到以前的數(shù)據(jù)模型,按照需求的改動(dòng)來(lái)重新修改數(shù)據(jù)模型,這樣的改動(dòng)量一般都比較大,而且需要對(duì)原有的業(yè)務(wù)數(shù)據(jù)庫(kù)特別了解的人才能做出最好的改動(dòng)?,F(xiàn)有的數(shù)據(jù)建模都是采用離線的方式,建完后的數(shù)據(jù)模型還必須生成到正式數(shù)據(jù)庫(kù)中,這個(gè)過(guò)程一般都是通過(guò)手動(dòng)或者半自動(dòng)的方式利用數(shù)據(jù)庫(kù)結(jié)構(gòu)化語(yǔ)言將這些改變?cè)谡綌?shù)據(jù)庫(kù)中進(jìn)行修改。這樣的過(guò)程會(huì)產(chǎn)生許多的問(wèn)題,首先,從數(shù)據(jù)建模到數(shù)據(jù)庫(kù)的改變需要很長(zhǎng)的時(shí)間,而且還需要很精通原有的數(shù)據(jù)庫(kù)管理人員來(lái)進(jìn)行修改維護(hù),不方便以后頻繁的需求變化,不能快速的適應(yīng)關(guān)鍵用戶的需求變更,業(yè)務(wù)分析人員需要在原有業(yè)務(wù)數(shù)據(jù)中找到發(fā)生改變的內(nèi)容,對(duì)這些內(nèi)容進(jìn)行分析后,才能重構(gòu)原有業(yè)務(wù)模型。重構(gòu)業(yè)務(wù)模型后,還需要將這些改動(dòng)在正在使用的數(shù)據(jù)庫(kù)中進(jìn)行改變,這個(gè)過(guò)程將會(huì)持久很長(zhǎng)時(shí)間;其次,改后的數(shù)據(jù)庫(kù)也有可能會(huì)對(duì)原有的數(shù)據(jù)產(chǎn)生影響,可能會(huì)導(dǎo)致部分?jǐn)?shù)據(jù)丟失,數(shù)據(jù)錯(cuò)誤等異常,直接導(dǎo)致信息系統(tǒng)不能正常使用。

發(fā)明內(nèi)容
為了能靈活改變數(shù)據(jù)模型的結(jié)構(gòu),又不造成已有數(shù)據(jù)丟失錯(cuò)誤等問(wèn)題,本發(fā)明采用了基于可擴(kuò)展標(biāo)記語(yǔ)言XML的數(shù)據(jù)建模。利用基于XML的建模方法,將建模的數(shù)據(jù)結(jié)構(gòu)保存在XML的結(jié)構(gòu)中,這種結(jié)構(gòu)可以快速應(yīng)對(duì)需求的變化。本發(fā)明的技術(shù)方案是提供一種持久化數(shù)據(jù)建模方法,其特征是,包含以下步驟步驟I :采用XML的方式,定義建模后的數(shù)據(jù)模型文件;步驟2 :通過(guò)數(shù)據(jù)模型驅(qū)動(dòng)引擎動(dòng)態(tài)生成數(shù)據(jù)模型對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)庫(kù)表;步驟3 :數(shù)據(jù)模型驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型自動(dòng)驗(yàn)證和保存業(yè)務(wù)數(shù)據(jù)。步驟I中的數(shù)據(jù)模型文件是采用XML中schema語(yǔ)法來(lái)建立。步驟I中數(shù)據(jù)模型文件存儲(chǔ)于數(shù)據(jù)模型維護(hù)表中。步驟2中數(shù)據(jù)模型驅(qū)動(dòng)引擎首先建立業(yè)務(wù)中都需要的一些字段,然后數(shù)據(jù)模型驅(qū)動(dòng)引擎會(huì)遍歷數(shù)據(jù)模型,針對(duì)每一個(gè)業(yè)務(wù)數(shù)據(jù)元素,根據(jù)數(shù)據(jù)模型的名稱和類型自動(dòng)生成數(shù)據(jù)庫(kù)表中的業(yè)務(wù)數(shù)據(jù)列。步驟2中根據(jù)數(shù)據(jù)模型的唯一標(biāo)識(shí)作為表名來(lái)生成業(yè)務(wù)數(shù)據(jù)庫(kù)表;
在建立的業(yè)務(wù)數(shù)據(jù)庫(kù)表中,包括公共數(shù)據(jù)列和業(yè)務(wù)數(shù)據(jù)列,通過(guò)數(shù)據(jù)模型驅(qū)動(dòng)引擎就能將數(shù)據(jù)模型與業(yè)務(wù)數(shù)據(jù)庫(kù)表對(duì)應(yīng)起來(lái),數(shù)據(jù)保存和查詢都利用數(shù)據(jù)模型驅(qū)動(dòng)引擎進(jìn)行自動(dòng)的處理。步驟3中業(yè)務(wù)數(shù)據(jù)在保存到業(yè)務(wù)數(shù)據(jù)庫(kù)表前利用XML自帶的Schema進(jìn)行校驗(yàn)。步驟3中保存業(yè)務(wù)數(shù)據(jù)的步驟為數(shù)據(jù)模型驅(qū)動(dòng)引擎利用名稱自動(dòng)匹配數(shù)據(jù)模型的業(yè)務(wù)數(shù)據(jù)元素,直接將數(shù)據(jù)模型元素作為列名來(lái)組裝SQL語(yǔ)句,并且根據(jù)數(shù)據(jù)是否已經(jīng)在業(yè)務(wù)數(shù)據(jù)庫(kù)表中存在來(lái)決定使用INSERT 還是 UPDATE 操作;利用組裝后的SQL語(yǔ)句,通過(guò)數(shù)據(jù)庫(kù)操作,即可以將業(yè)務(wù)數(shù)據(jù)保存到業(yè)務(wù)數(shù)據(jù)庫(kù)表中。 還包含對(duì)業(yè)務(wù)數(shù)據(jù)查詢的步驟數(shù)據(jù)模型驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型定義自動(dòng)組裝查詢的數(shù)據(jù)庫(kù)語(yǔ)句,通過(guò)執(zhí)行查詢語(yǔ)句得到對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)。本發(fā)明所達(dá)到的有益效果通過(guò)數(shù)據(jù)建模實(shí)現(xiàn)對(duì)業(yè)務(wù)數(shù)據(jù)的建模取代離線的數(shù)據(jù)庫(kù)設(shè)計(jì)方法,將會(huì)快速靈活的對(duì)數(shù)據(jù)模型進(jìn)行改變,一旦數(shù)據(jù)模型發(fā)生改變,只需在系統(tǒng)中動(dòng)態(tài)修改建立的數(shù)據(jù)模型,并且將保存每次的模型變更內(nèi)容。數(shù)據(jù)模型建立與改變將會(huì)動(dòng)態(tài)改變對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)表,快速的對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行建模與修改,大大縮短了模型的開(kāi)發(fā)周期,并且降低了由于數(shù)據(jù)模型改變導(dǎo)致數(shù)據(jù)錯(cuò)誤混亂等風(fēng)險(xiǎn)。數(shù)據(jù)驅(qū)動(dòng)引擎會(huì)根據(jù)數(shù)據(jù)模型自動(dòng)對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行處理,開(kāi)發(fā)人員無(wú)需再對(duì)每一個(gè)業(yè)務(wù)都進(jìn)行數(shù)據(jù)處理的代碼開(kāi)發(fā),極大的提高了系統(tǒng)的開(kāi)發(fā)速度,減少了由不同的數(shù)據(jù)處理代碼導(dǎo)致的系統(tǒng)問(wèn)題。
具體實(shí)施例方式下面對(duì)本發(fā)明作進(jìn)一步描述。以下實(shí)施例僅用于更加清楚地說(shuō)明本發(fā)明的技術(shù)方案,而不能以此來(lái)限制本發(fā)明的保護(hù)范圍。本發(fā)明采用模型驅(qū)動(dòng)的思路,利用可擴(kuò)展標(biāo)記語(yǔ)言XML對(duì)數(shù)據(jù)模型進(jìn)行建模。本發(fā)明主要包含以下解決步驟步驟一、采用XML (可擴(kuò)展標(biāo)記語(yǔ)言)的方式,定義建模后的數(shù)據(jù)模型文件;步驟二、通過(guò)數(shù)據(jù)模型驅(qū)動(dòng)引擎動(dòng)態(tài)生成數(shù)據(jù)模型對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)庫(kù)表。步驟三、數(shù)據(jù)模型驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型自動(dòng)驗(yàn)證和保存業(yè)務(wù)數(shù)據(jù)。詳細(xì)的數(shù)據(jù)建模步驟過(guò)程如下I、數(shù)據(jù)模型文件本方法利用XML來(lái)保存建模后的數(shù)據(jù)模型文件,利用XML可擴(kuò)展的特性,數(shù)據(jù)模型可以根據(jù)業(yè)務(wù)需求的變化持續(xù)的進(jìn)行改變。數(shù)據(jù)模型文件是采用XML中schema語(yǔ)法來(lái)建立的,模型文件的具體形式如下<xs: schema〉
<xs: element name=" 〃 schema=" >
<xs:complexType>
<xs:all>
<xs: element name 二〃 o I emeu 11" text 二type 二 #xs: string"/〉 <xs:element name二〃element2" text 二”時(shí) type二〃xs:int"/〉

</xs:all>
</xs:complexType)
</xs: element〉
</xs: schema)所有的配置都是基于XML Schema的語(yǔ)法來(lái)配置的,XML Schema最大的一個(gè)優(yōu)點(diǎn) 就是可針對(duì)未來(lái)的需求進(jìn)行任意的擴(kuò)展。xs: schema是數(shù)據(jù)模型的根節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)主要是用來(lái)定義XML Schema的一些命名空間的。在xs:schema下的xs:element用來(lái)定義的是數(shù)據(jù)模型的名稱以及所屬的命名空間,name屬性表示的是數(shù)據(jù)模型的名稱,定義后將會(huì)以該名字來(lái)唯一標(biāo)識(shí)這個(gè)數(shù)據(jù)模型。schema模型是制定改數(shù)據(jù)模型的命名空間。通過(guò)schema和name兩個(gè)屬性,可以在業(yè)務(wù)數(shù)據(jù)庫(kù)中自動(dòng)生成相應(yīng)的數(shù)據(jù)庫(kù)表,其中schema是表的模式名,name為表名。xs:complexType元素表示開(kāi)始定義數(shù)據(jù)模型中具體的業(yè)務(wù)元素。xs:all元素指定下面的業(yè)務(wù)元素的順序可以任意排列。在xs:all下面的xs:element制定了業(yè)務(wù)數(shù)據(jù)模型中的各個(gè)業(yè)務(wù)元素,最終的業(yè)務(wù)數(shù)據(jù)都是要保留在這些元素對(duì)應(yīng)的業(yè)務(wù)元素中的。name屬性表示的是業(yè)務(wù)元素的唯一標(biāo)識(shí),text表示的是該業(yè)務(wù)元素的名稱,type表示的是該業(yè)務(wù)元素的類型,XML Schema中定義了以下幾種數(shù)據(jù)類型I) xs: string 字符串類型2) xs:decimal 浮點(diǎn)數(shù)類型3) xs: integer 整數(shù)類型4) xs:boolean 布爾值類型5) xs:date 日期類型6) xs:time 時(shí)間類型根據(jù)xs: schema的規(guī)范和元素介紹就可以制定一個(gè)具體的業(yè)務(wù)模型,下面的xml
內(nèi)容為一個(gè)簡(jiǎn)單的業(yè)務(wù)數(shù)據(jù)模型示例。
權(quán)利要求
1.一種持久化數(shù)據(jù)建模方法,其特征是,包含以下步驟 步驟I :采用XML的方式,定義建模后的數(shù)據(jù)模型文件; 步驟2 :通過(guò)數(shù)據(jù)模型驅(qū)動(dòng)引擎動(dòng)態(tài)生成數(shù)據(jù)模型對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)庫(kù)表; 步驟3 :數(shù)據(jù)模型驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型自動(dòng)驗(yàn)證和保存業(yè)務(wù)數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的持久化數(shù)據(jù)建模方法,其特征是,步驟I中的數(shù)據(jù)模型文件是米用XML中schema語(yǔ)法來(lái)建立。
3.根據(jù)權(quán)利要求I所述的持久化數(shù)據(jù)建模方法,其特征是,步驟I中數(shù)據(jù)模型文件存儲(chǔ)于數(shù)據(jù)模型維護(hù)表中。
4.根據(jù)權(quán)利要求I所述的持久化數(shù)據(jù)建模方法,其特征是,步驟2中數(shù)據(jù)模型驅(qū)動(dòng)引擎首先建立業(yè)務(wù)中都需要的一些字段,然后數(shù)據(jù)模型驅(qū)動(dòng)引擎會(huì)遍歷數(shù)據(jù)模型,針對(duì)每一個(gè)業(yè)務(wù)數(shù)據(jù)元素,根據(jù)數(shù)據(jù)模型的名稱和類型自動(dòng)生成數(shù)據(jù)庫(kù)表中的業(yè)務(wù)數(shù)據(jù)列。
5.根據(jù)權(quán)利要求I所述的持久化數(shù)據(jù)建模方法,其特征是,步驟2中根據(jù)數(shù)據(jù)模型的唯一標(biāo)識(shí)作為表名來(lái)生成業(yè)務(wù)數(shù)據(jù)庫(kù)表; 在建立的業(yè)務(wù)數(shù)據(jù)庫(kù)表中,包括公共數(shù)據(jù)列和業(yè)務(wù)數(shù)據(jù)列,通過(guò)數(shù)據(jù)模型驅(qū)動(dòng)引擎就能將數(shù)據(jù)模型與業(yè)務(wù)數(shù)據(jù)庫(kù)表對(duì)應(yīng)起來(lái),數(shù)據(jù)保存和查詢都利用數(shù)據(jù)模型驅(qū)動(dòng)引擎進(jìn)行自動(dòng)的處理。
6.根據(jù)權(quán)利要求I所述的持久化數(shù)據(jù)建模方法,其特征是,步驟3中業(yè)務(wù)數(shù)據(jù)在保存到業(yè)務(wù)數(shù)據(jù)庫(kù)表前利用XML自帶的Schema進(jìn)行校驗(yàn)。
7.根據(jù)權(quán)利要求I或6所述的持久化數(shù)據(jù)建模方法,其特征是,步驟3中保存業(yè)務(wù)數(shù)據(jù)的步驟為 數(shù)據(jù)模型驅(qū)動(dòng)引擎利用名稱自動(dòng)匹配數(shù)據(jù)模型的業(yè)務(wù)數(shù)據(jù)元素,直接將數(shù)據(jù)模型元素作為列名來(lái)組裝SQL語(yǔ)句,并且根據(jù)數(shù)據(jù)是否已經(jīng)在業(yè)務(wù)數(shù)據(jù)庫(kù)表中存在來(lái)決定使用INSERT 還是 UPDATE 操作; 利用組裝后的SQL語(yǔ)句,通過(guò)數(shù)據(jù)庫(kù)操作,即可以將業(yè)務(wù)數(shù)據(jù)保存到業(yè)務(wù)數(shù)據(jù)庫(kù)表中。
8.根據(jù)權(quán)利要求7所述的持久化數(shù)據(jù)建模方法,其特征是,還包含對(duì)業(yè)務(wù)數(shù)據(jù)查詢的步驟 數(shù)據(jù)模型驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型定義自動(dòng)組裝查詢的數(shù)據(jù)庫(kù)語(yǔ)句,通過(guò)執(zhí)行查詢語(yǔ)句得到對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)。
全文摘要
本發(fā)明公開(kāi)了一種持久化數(shù)據(jù)建模方法,包含以下步驟步驟1采用XML的方式,定義建模后的數(shù)據(jù)模型文件;步驟2通過(guò)數(shù)據(jù)模型驅(qū)動(dòng)引擎動(dòng)態(tài)生成數(shù)據(jù)模型對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)庫(kù)表;步驟3數(shù)據(jù)模型驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型自動(dòng)驗(yàn)證和保存業(yè)務(wù)數(shù)據(jù)。通過(guò)數(shù)據(jù)建模實(shí)現(xiàn)對(duì)業(yè)務(wù)數(shù)據(jù)的建模取代離線的數(shù)據(jù)庫(kù)設(shè)計(jì)方法,將會(huì)快速靈活的對(duì)數(shù)據(jù)模型進(jìn)行改變。數(shù)據(jù)模型建立與改變將會(huì)動(dòng)態(tài)改變對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù)表,快速的對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行建模與修改,大大縮短了模型的開(kāi)發(fā)周期,并且降低了由于數(shù)據(jù)模型改變導(dǎo)致數(shù)據(jù)錯(cuò)誤混亂等風(fēng)險(xiǎn)。數(shù)據(jù)驅(qū)動(dòng)引擎根據(jù)數(shù)據(jù)模型自動(dòng)對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行處理,極大的提高了系統(tǒng)的開(kāi)發(fā)速度,減少了由不同的數(shù)據(jù)處理代碼導(dǎo)致的系統(tǒng)問(wèn)題。
文檔編號(hào)G06F17/30GK102819609SQ20121030313
公開(kāi)日2012年12月12日 申請(qǐng)日期2012年8月23日 優(yōu)先權(quán)日2012年8月23日
發(fā)明者朱海東, 李曉東, 張敏, 黃炳良, 胡銀華, 孫峰 申請(qǐng)人:國(guó)電南京自動(dòng)化股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
广东省| 金溪县| 彰武县| 大田县| 吴忠市| 达日县| 桐庐县| 永康市| 沙洋县| 渝中区| 锦州市| 乌拉特后旗| 保亭| 德安县| 普兰店市| 兴国县| 呼图壁县| 墨竹工卡县| 德阳市| 银川市| 庆城县| 霍州市| 微山县| 荣昌县| 高唐县| 梅河口市| 巧家县| 仪陇县| 吴川市| 遂川县| 额敏县| 彭州市| 松阳县| 平江县| 白沙| 凉山| 兰坪| 临高县| 垦利县| 密云县| 赤城县|