軟件設(shè)計(jì)說明書(基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng))_第1頁
軟件設(shè)計(jì)說明書(基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng))_第2頁
軟件設(shè)計(jì)說明書(基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng))_第3頁
軟件設(shè)計(jì)說明書(基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng))_第4頁
軟件設(shè)計(jì)說明書(基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng))_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng)設(shè)計(jì)說明書1 系統(tǒng)簡(jiǎn)介信息系統(tǒng)一般都是以數(shù)據(jù)庫為后臺(tái)進(jìn)行開發(fā)的,其功能與性能測(cè)試往往需要一定量的數(shù)據(jù)為基礎(chǔ)。由于安全保密和時(shí)效性等原因,在信息系統(tǒng)的開發(fā)過程中不能直接加載真實(shí)數(shù)據(jù)進(jìn)行測(cè)試。因此,需要大量虛擬數(shù)據(jù)對(duì)系統(tǒng)進(jìn)行全面測(cè)試。虛擬數(shù)據(jù)的獲取根據(jù)錄入的方法的不同可以分為人工和自動(dòng)生成兩種方式。人工錄入方式,仿真程度高,確保了虛擬數(shù)據(jù)的質(zhì)量。但以每張表的記錄數(shù)百萬條計(jì),工作量會(huì)非常大,且此工作沒有繼承性,以某個(gè)需求背景下錄入的數(shù)據(jù),當(dāng)背景變化后難以重用。因此,設(shè)計(jì)一個(gè)虛擬數(shù)據(jù)生成工具,自動(dòng)生成虛擬數(shù)據(jù)非常必要。本系統(tǒng)的設(shè)計(jì)目的就是為自動(dòng)為用戶提供海量虛擬數(shù)據(jù)。本

2、系統(tǒng)的設(shè)計(jì)采用了元數(shù)據(jù)技術(shù),根據(jù)不同需求背景,通過元數(shù)據(jù)對(duì)數(shù)據(jù)庫結(jié)構(gòu)、數(shù)據(jù)特征和關(guān)系的描述,設(shè)定的模擬數(shù)據(jù)生成規(guī)則,自動(dòng)生成海量的模擬數(shù)據(jù)。歸納起來,本系統(tǒng)具有如下特點(diǎn):(1)能夠適應(yīng)數(shù)據(jù)需求變化隨著技術(shù)的發(fā)展和運(yùn)用場(chǎng)景的變化,信息系統(tǒng)對(duì)虛擬數(shù)據(jù)在結(jié)構(gòu)和內(nèi)容上將提出新的要求。通過傳統(tǒng)的手工錄入方式,將不得不大量修改記錄甚至重新錄入,實(shí)現(xiàn)起來時(shí)間長(zhǎng),工作量大。本文檔所描述的虛擬數(shù)據(jù)生成系統(tǒng)采用了基于元數(shù)據(jù)的規(guī)則生成技術(shù),當(dāng)需求改變時(shí),及時(shí)更新相關(guān)配置,就可以重新自動(dòng)生成虛擬數(shù)據(jù),提高生產(chǎn)效率。(2)能夠高效靈活實(shí)現(xiàn)數(shù)據(jù)生成規(guī)則配置本系統(tǒng)對(duì)虛擬數(shù)據(jù)的生成是基于數(shù)據(jù)生成規(guī)則,而數(shù)據(jù)生成規(guī)則的制定,首

3、先從數(shù)據(jù)庫結(jié)構(gòu)中自動(dòng)讀取結(jié)構(gòu)化元數(shù)據(jù),獲取數(shù)據(jù)的特征及關(guān)系,構(gòu)成基本生成規(guī)則。在基本數(shù)據(jù)規(guī)則的基礎(chǔ)上系統(tǒng)給出了針對(duì)不同類型數(shù)據(jù)的規(guī)范表達(dá)式,幫助用戶定制符合自身需求的生成規(guī)則,實(shí)現(xiàn)數(shù)據(jù)生成規(guī)則配置的高效靈活。(3)具有較好的資源字典擴(kuò)展性信息系統(tǒng)所在的業(yè)務(wù)領(lǐng)域是不斷地發(fā)展的,因此總會(huì)產(chǎn)生一些對(duì)新類型數(shù)據(jù)需求,而這些需要應(yīng)及時(shí)加入到信息系統(tǒng)中。本虛擬數(shù)據(jù)生成系統(tǒng)提供良好的資源字典維護(hù)功能,只需要及時(shí)更新字典中相關(guān)數(shù)據(jù),既可實(shí)現(xiàn)了數(shù)據(jù)的無縫擴(kuò)展。(4)能夠海量生成虛擬數(shù)據(jù)本系統(tǒng)的設(shè)計(jì)目的既實(shí)現(xiàn)海量虛擬數(shù)據(jù)的生成。用戶一旦根據(jù)需求,配置好數(shù)據(jù)生成規(guī)則實(shí)現(xiàn)資源字典的更新后,系統(tǒng)既可運(yùn)用規(guī)則算法,自動(dòng)生

4、成海量數(shù)據(jù),經(jīng)測(cè)試生成1百萬條記錄的數(shù)據(jù),大約花費(fèi)10分鐘。2 軟件設(shè)計(jì)2.1軟件組成及框架“基于元數(shù)據(jù)的虛擬數(shù)據(jù)自動(dòng)生成系統(tǒng)”的基本架構(gòu)及連接關(guān)系如圖1所示。系統(tǒng)采用三層體架構(gòu),由數(shù)據(jù)支撐層、系統(tǒng)支撐層、系統(tǒng)應(yīng)用層組成。圖1 系統(tǒng)組成及連接關(guān)系圖數(shù)據(jù)支撐層為系統(tǒng)支撐層和系統(tǒng)應(yīng)用層提供數(shù)據(jù)支撐,包括源數(shù)據(jù)庫和虛擬數(shù)據(jù)庫兩部分。源數(shù)據(jù)庫為包含真實(shí)數(shù)據(jù)的信息系統(tǒng)數(shù)據(jù)庫,包含了數(shù)據(jù)庫結(jié)構(gòu)、字典類數(shù)據(jù)(用于抽取的固定數(shù)據(jù),如地名字典表)等信息,是整個(gè)虛擬數(shù)據(jù)生成的模板和來源。虛擬數(shù)據(jù)庫與源數(shù)據(jù)庫結(jié)構(gòu)相同,系統(tǒng)最終生成的虛擬數(shù)據(jù)存放于此。系統(tǒng)支撐層為系統(tǒng)應(yīng)用層提供后臺(tái)軟件支撐,包括元數(shù)據(jù)管理、虛擬數(shù)據(jù)生

5、成兩個(gè)子模塊。元數(shù)據(jù)管理子模塊用于從源數(shù)據(jù)庫中讀取描述數(shù)據(jù)特征的結(jié)構(gòu)化元數(shù)據(jù),如數(shù)據(jù)的長(zhǎng)度、類型、格式等,作為生成虛擬數(shù)據(jù)的基本標(biāo)準(zhǔn)。虛擬數(shù)據(jù)生成子模塊根據(jù)虛擬數(shù)據(jù)生成規(guī)則和生成需求(如生成虛擬數(shù)據(jù)數(shù)量等)生成數(shù)據(jù),并存儲(chǔ)到虛擬數(shù)據(jù)庫中。系統(tǒng)應(yīng)用層面向用戶,包括虛擬規(guī)則設(shè)置、數(shù)據(jù)需求設(shè)置兩個(gè)子模塊。生成虛擬規(guī)則設(shè)置子模塊將輔助用戶,在元數(shù)據(jù)描述特征的基礎(chǔ)上,設(shè)置數(shù)據(jù)生成規(guī)則。在數(shù)據(jù)需求設(shè)置子模塊中,用戶錄入生成數(shù)據(jù)量、是否唯一等用戶對(duì)數(shù)據(jù)的整體需求。2.2 實(shí)現(xiàn)方法虛擬數(shù)據(jù)要達(dá)到代替真實(shí)數(shù)據(jù)的目的,必須做到與真實(shí)數(shù)據(jù)不但形似而且神似,即兩者雖然在內(nèi)容上不盡相同,但在結(jié)構(gòu)和反映事物特征上要相同。

6、本系統(tǒng)嘗試以數(shù)據(jù)建模理論為基礎(chǔ),結(jié)合工程實(shí)踐,通過分析數(shù)據(jù)特征,找出規(guī)律,提出虛擬數(shù)據(jù)的實(shí)現(xiàn)方法。描述實(shí)體的數(shù)據(jù)有以下幾個(gè)主要特征:1實(shí)體屬性特征,作為數(shù)據(jù)庫中原子的數(shù)據(jù)值,固有的長(zhǎng)度、類型、格式等特征;2實(shí)體關(guān)系特征,描述數(shù)據(jù)實(shí)體之間是如何相關(guān)的,根據(jù)工程實(shí)踐關(guān)注以下幾種:(1)關(guān)聯(lián)關(guān)系,包括一對(duì)一、一對(duì)多、多對(duì)多等數(shù)據(jù)實(shí)體間的關(guān)聯(lián)關(guān)系;(2)分類關(guān)系,關(guān)聯(lián)關(guān)系的一種特殊關(guān)系,相關(guān)的實(shí)體被分為一組,其中所有公共屬性統(tǒng)一在一個(gè)超類實(shí)體中。(3)自反關(guān)系,關(guān)聯(lián)關(guān)系的一種特殊關(guān)系,是指一個(gè)實(shí)體所參與的關(guān)系,在這個(gè)關(guān)系中該實(shí)體即是父實(shí)體又是子實(shí)體。2.2.1實(shí)體屬性特征實(shí)現(xiàn)實(shí)體屬性特征描述時(shí)包括兩個(gè)

7、方面。一是數(shù)據(jù)所在字段的類型,如字段長(zhǎng)度、類型、格式等;二是反映真實(shí)實(shí)體的特征,例如“電話號(hào)碼”字段是長(zhǎng)度為10的字符串,它有自定義格式:“XXXXXXXXX”,前四個(gè)“X”表示區(qū)號(hào),后五個(gè)“X”表示號(hào)碼,“”為二者的分隔。真實(shí)實(shí)體用數(shù)據(jù)進(jìn)行描述時(shí),通常包含這二個(gè)特征。實(shí)體屬性特征的第一個(gè)方面是數(shù)據(jù)的基本特征,通常較好處理,只需要按數(shù)據(jù)所在字段的類型、長(zhǎng)度要求,調(diào)用隨機(jī)函數(shù)生成符合該特征的虛擬數(shù)據(jù)即可。實(shí)體屬性特征的第二個(gè)方面,需要在對(duì)真實(shí)實(shí)體特征仔細(xì)分析的基礎(chǔ)上,利用不同途徑實(shí)現(xiàn)。下面嘗試四種處理方式:1隨機(jī)生成法隨機(jī)生成法首先按照數(shù)據(jù)的類型、長(zhǎng)度、大小等約束條件劃定數(shù)據(jù)的取值范圍,然后在范

8、圍區(qū)間內(nèi)隨機(jī)生成數(shù)據(jù)。圖2隨機(jī)生成法流程隨機(jī)生成法是虛擬數(shù)據(jù)生成的基本方法,是其他生成法的基礎(chǔ)??梢哉f其他生成法是在隨機(jī)生成法基礎(chǔ)上增加其它相關(guān)功能和方法實(shí)現(xiàn)的。系統(tǒng)默認(rèn)對(duì)數(shù)據(jù)的生成采用該方法,特點(diǎn)是適用范圍廣,任何數(shù)據(jù)的虛擬都可以采用該方法實(shí)現(xiàn),但遇到需要考驗(yàn)數(shù)據(jù)的特殊結(jié)構(gòu)和數(shù)據(jù)間的邏輯關(guān)系時(shí)該方式并不適用。1替換實(shí)現(xiàn)法主要用于格式固定的隨機(jī)數(shù)據(jù)。這類數(shù)據(jù)有固定的格式,且有部分?jǐn)?shù)值為可變,例如“單位名稱”字段的基本格式為“第XX單位XXX部門”。針對(duì)這類數(shù)據(jù)的特點(diǎn)將它分段為固定部分和動(dòng)態(tài)部分,固定部分保持不變,動(dòng)態(tài)部分調(diào)用隨機(jī)函數(shù)實(shí)現(xiàn),最后合并各段得到虛擬數(shù)據(jù)。如前例,“X”為隨機(jī)部分,其他

9、為固定部分,處理時(shí)調(diào)用隨機(jī)函數(shù)生成一個(gè)十位整數(shù)替換“第XX單位”中的“XX”隨機(jī)部分;一個(gè)為小于1000的整數(shù)代替“第XXX部門”中的“XXX” 隨機(jī)部分,然后合并固定和動(dòng)態(tài)部分生成虛擬數(shù)據(jù)。圖2 替換實(shí)現(xiàn)法生成流程替代生成法是基礎(chǔ)方法,因?yàn)榇蠖鄶?shù)數(shù)據(jù)的數(shù)值都有一定的格式規(guī)范,即使沒有格式規(guī)范的數(shù)據(jù),也可以認(rèn)為該數(shù)據(jù)動(dòng)態(tài)數(shù)值部分為數(shù)據(jù)本身,固定格式部分為空,如果不必考慮該數(shù)據(jù)的邏輯關(guān)系,該算法適合生成絕大多數(shù)虛擬數(shù)據(jù)。當(dāng)然,由于替代生成法是采用隨機(jī)方式生成數(shù)據(jù)的,因此遇到需要考驗(yàn)數(shù)據(jù)間的拓?fù)?、邏輯、關(guān)聯(lián)的信息時(shí),該方式并不適用。2枚舉法主要用于有限集且值域較小的數(shù)據(jù)。處理方法是,首先建立數(shù)據(jù)所

10、有可以包括的集合,同時(shí)給出集合中數(shù)據(jù)出現(xiàn)的概率。然后按照概率隨機(jī)抽取集合中的數(shù)據(jù)作為虛擬數(shù)據(jù)。這種方法在實(shí)際運(yùn)用中仿真度高,可用性較強(qiáng)。圖3 枚舉法生成流程3組合法將一個(gè)字段的值設(shè)定為幾個(gè)特定值的組合。組合規(guī)則可以由多個(gè)參數(shù)組成,各組合參數(shù)可以從系統(tǒng)數(shù)據(jù)字典和樣本數(shù)據(jù)庫中取值,也可以從目標(biāo)數(shù)據(jù)庫中其他表中取值,還可以是固定的一個(gè)詞。比如“公司名稱”字段的值可以設(shè)定為“地名”+“通信責(zé)任有限公司”,其中“地名”可以從基礎(chǔ)數(shù)據(jù)庫中的地名表取值,“通信責(zé)任有限公司”為一個(gè)固定詞組。圖3 組合法生成流程組合法應(yīng)適合虛擬有限數(shù)據(jù)集的數(shù)據(jù),如果數(shù)據(jù)分布信息設(shè)計(jì)成熟,還能確保虛擬數(shù)據(jù)的邏輯分布信息,在實(shí)際運(yùn)

11、用中仿真度高,可用性較強(qiáng)。 4偏移生成法偏移生成法是利用一定數(shù)量的真實(shí)數(shù)據(jù),按照設(shè)定的偏移規(guī)則進(jìn)行隨機(jī)偏移,從而遮蔽數(shù)據(jù)的真實(shí)性,生成類似真實(shí)數(shù)據(jù)的虛擬數(shù)據(jù)。虛擬數(shù)據(jù)生成法實(shí)際上就是以真實(shí)數(shù)據(jù)作為基礎(chǔ)數(shù)據(jù),并根據(jù)字符、數(shù)字或日期等類型的字段整體進(jìn)行偏移規(guī)則設(shè)置,也可以對(duì)以上字段類型的字段單獨(dú)進(jìn)行偏移規(guī)則設(shè)置。圖4 偏移生成流程偏移生成法主要工作是對(duì)偏移規(guī)則的設(shè)計(jì),配置簡(jiǎn)單;生成時(shí)偏移即可生成,數(shù)據(jù)速度較快,且生成的虛擬數(shù)據(jù)與真實(shí)數(shù)據(jù)具有很高的相似度,物理意義明確、邏輯關(guān)系清晰,可理解性更強(qiáng)。偏移生成法的局限性在于該方法的基礎(chǔ)是真實(shí)數(shù)據(jù),因此必須有真實(shí)數(shù)據(jù)才可進(jìn)行。另外,在偏移規(guī)則的設(shè)定上要著重

12、斟酌,因?yàn)槠屏窟^大,將造成數(shù)據(jù)失真,過小又不足以遮蔽數(shù)據(jù)的真實(shí)性。5混淆生成法混淆生成法是對(duì)真實(shí)數(shù)據(jù)的屬性進(jìn)行隨機(jī)交換,從而實(shí)現(xiàn)真實(shí)數(shù)據(jù)的遮蔽。真實(shí)數(shù)據(jù)中常有這樣的屬性,將其單個(gè)取出,難以表達(dá)明確的含義,而需要多個(gè)組合,才能包含足夠的信息量?;煜煞ㄊ菍?shù)據(jù)中這類組合屬性打散進(jìn)行重新隨機(jī)組合,獲取虛擬數(shù)據(jù)的方法。比如,對(duì)于“人員信息表”,單獨(dú)獲取“姓名”并沒有多大的意義,但當(dāng)“姓名”和“職位”組合就成為描述個(gè)人情況的關(guān)鍵信息。利用混淆生成法將“姓名”與“職位”在表中進(jìn)行重新隨機(jī)組合,既可生成虛擬數(shù)據(jù)。與替換生成法相比,不但確保了“姓名”的質(zhì)量(不會(huì)出現(xiàn)隨機(jī)而生成的奇怪人名),“職位”的布局

13、結(jié)構(gòu)也與真實(shí)的拓?fù)淝闆r基本相同,從而在保障數(shù)據(jù)質(zhì)量的同時(shí),遮蔽了數(shù)據(jù)的真實(shí)性。圖5混淆生成法生成流程混淆生成法生成的虛擬數(shù)據(jù)與真實(shí)數(shù)據(jù)具有很高的相似度,能很好的保存真實(shí)數(shù)據(jù)的拓?fù)浣Y(jié)構(gòu)和邏輯關(guān)系,數(shù)據(jù)質(zhì)量高?;煜煞ㄒ紤]哪些屬性的組織包含關(guān)鍵信息,而不需要過多考慮數(shù)據(jù)的邏輯關(guān)系和拓?fù)浣Y(jié)構(gòu)等,因此設(shè)置規(guī)則更加簡(jiǎn)便。由于該方法的基礎(chǔ)是真實(shí)數(shù)據(jù),必須有真實(shí)數(shù)據(jù)才可進(jìn)行,并且如果數(shù)據(jù)的邏輯關(guān)系和拓?fù)浣Y(jié)構(gòu)也是需要遮蔽的信息,就要酌情使用該方法。2.2.2 實(shí)體關(guān)系特征實(shí)現(xiàn)依據(jù)實(shí)體屬性特征生成的數(shù)據(jù),能夠保證虛擬數(shù)據(jù)合格,但在反應(yīng)數(shù)據(jù)間關(guān)聯(lián)關(guān)系的合理性方面是不足的。針對(duì)不同關(guān)聯(lián)關(guān)系,提出相應(yīng)的處理方法。

14、需要注意的是,系統(tǒng)主要解決工程中實(shí)際問題,因此并非嚴(yán)格遵循數(shù)據(jù)建模相關(guān)概念。1外鍵關(guān)聯(lián)關(guān)系生成法實(shí)體間的關(guān)聯(lián)關(guān)系落到物理模型層次,表現(xiàn)為表與表間的外鍵關(guān)系,在該關(guān)系中作為主鍵存在,提供數(shù)據(jù)的表將之稱為字典表,在處理時(shí)隨機(jī)抽取字典表中的數(shù)據(jù)直接放入到虛擬表中對(duì)應(yīng)字段即可。但在實(shí)際工程中,存在大量和外鍵關(guān)系類似,但并非嚴(yán)格符合數(shù)據(jù)建模的關(guān)系,例如虛擬表A中有“通信地址”字段,那么它與地名字典表存在類似外鍵關(guān)聯(lián)的關(guān)系。對(duì)該數(shù)據(jù)的處理,不是簡(jiǎn)單的直接抽取,而是對(duì)抽取的數(shù)據(jù)經(jīng)過一定的規(guī)則轉(zhuǎn)換后,生成虛擬數(shù)據(jù),本文稱這種轉(zhuǎn)換后引用的關(guān)系為“函數(shù)引用”。如上例 “通信地址”中的數(shù)據(jù)“XX市XX區(qū)XX街道XX

15、X號(hào)”,“XX市XX區(qū)XX街道”部分從地名字典表獲得,而“XXX號(hào)”可以隨機(jī)生成,然后將兩者結(jié)合,就生成了虛擬的“通信地址”數(shù)據(jù)。圖6 外鍵關(guān)聯(lián)關(guān)系生成法流程外鍵關(guān)聯(lián)關(guān)系生成法適合于有主外鍵關(guān)系,或者隱含主外鍵關(guān)系的虛擬數(shù)據(jù)生成。配置完整字典表,設(shè)計(jì)符合實(shí)際情況的規(guī)則是確保是本方法成功的兩大關(guān)鍵,因此一旦做好這兩個(gè)主要工作,系統(tǒng)就可以很方便的生成高質(zhì)量的虛擬數(shù)據(jù)。2分類關(guān)系生成法分類關(guān)系是關(guān)聯(lián)關(guān)系中特殊的一類,考慮到獨(dú)立實(shí)體上有被稱為超類實(shí)體的一個(gè)高層實(shí)體,因此在生成獨(dú)立實(shí)體的特有數(shù)據(jù)時(shí),要首先生成超類實(shí)體的共同屬性數(shù)據(jù)。其他處理方式與一般關(guān)聯(lián)關(guān)系基本相同。圖7 分類關(guān)系生成法流程分類關(guān)系生成

16、法本身不是生成虛擬數(shù)據(jù)的方法,而應(yīng)當(dāng)認(rèn)為是針對(duì)包含超類實(shí)體關(guān)系的虛擬數(shù)據(jù)的一種處理流程。實(shí)際數(shù)據(jù)的處理時(shí),遵循本方法的流程進(jìn)程,對(duì)具體的數(shù)據(jù)虛擬可以使用前面提供的生成法進(jìn)行處理,從而確保虛擬數(shù)據(jù)的邏輯結(jié)構(gòu)完整。3自反關(guān)系生成法自反關(guān)系是關(guān)聯(lián)關(guān)系中特殊的一類,由于關(guān)系中該表字段的數(shù)據(jù)被本表其他字段引用,因此在實(shí)體屬性間存在依賴關(guān)系,即表自身是自己的字典表。在實(shí)際工程中,將該關(guān)系進(jìn)行了擴(kuò)展,字段間不僅僅是引用,還包括相互間的邏輯關(guān)系,如“入伍時(shí)間”字段中的數(shù)據(jù)早于“現(xiàn)崗時(shí)間”字段的數(shù)據(jù)。圖8 自反關(guān)系生成法流程自反關(guān)系生成法適用于在同一張表中不同記錄間存在引用或者邏輯關(guān)聯(lián)關(guān)系的虛擬數(shù)據(jù)生成。該方法

17、與關(guān)聯(lián)關(guān)系生成法近似,但因?yàn)樵跀?shù)據(jù)的生成的過程中存在自依賴關(guān)系,因此在某個(gè)數(shù)據(jù)生成要對(duì)依賴的記錄是否存在進(jìn)行判斷,判斷存在才能生成。4外鍵組關(guān)系生成法外鍵組關(guān)系是指虛擬表中一組字段來自于字典表中對(duì)應(yīng)的一組字段的數(shù)據(jù)。這個(gè)概念與前面描述的外鍵關(guān)系相似,只是對(duì)應(yīng)的字段從一對(duì)一變?yōu)槎鄬?duì)多了。下面給出一個(gè)實(shí)例來說明外鍵組關(guān)系的含義,并給出處理方式:假設(shè)某“臺(tái)站”表中有“臺(tái)站名稱”字段格式為“XXX短波站”(“XXX”為地名),“臺(tái)站經(jīng)度”字段格式為“XXXXXXXXX”(小數(shù)點(diǎn)后取6位的浮點(diǎn)數(shù)),“臺(tái)站緯度”字段格式同經(jīng)度字段。三個(gè)字段的虛擬數(shù)據(jù)可以通過讀取“地址字典表”中地名、經(jīng)度、緯度三個(gè)字段的數(shù)

18、據(jù)獲取。但如果這三個(gè)字段分別隨機(jī)獲取,會(huì)出現(xiàn)地名與經(jīng)緯度不一致的情況,如臺(tái)站名稱為“北京短波站”的經(jīng)緯度可能偏移到廣州一帶,這種虛擬數(shù)據(jù)合格但不合理,不可用。因此要將地址字典表中的三個(gè)字段的數(shù)據(jù)看成一組,從一條記錄中讀取,處理流程如圖5:圖9 外鍵組關(guān)系生成法流程外鍵組關(guān)系生成法適合于有主外鍵關(guān)系,或者隱含主外鍵關(guān)系的一組虛擬數(shù)據(jù)生成。外鍵組關(guān)系生成法是外鍵關(guān)聯(lián)關(guān)系生成法的加強(qiáng),在使用該方法之前要依據(jù)元數(shù)據(jù)的描述信息對(duì)需要成組生成的數(shù)據(jù)進(jìn)行提取并規(guī)范,一旦設(shè)計(jì)完成后,具體實(shí)現(xiàn)與外鍵關(guān)系生成法近似。3 使用說明3.1 使用環(huán)境本系統(tǒng)是采用Delhpi7.0開發(fā)的,支持的數(shù)據(jù)庫是Oracle8i,

19、可在windows XP、window2007等操作系統(tǒng)中運(yùn)行。3.2 使用流程本系統(tǒng)可用生成仿真數(shù)據(jù)。主要工作包括:選擇虛擬表、數(shù)據(jù)需求設(shè)置、配置虛擬數(shù)據(jù)規(guī)則、虛擬數(shù)據(jù)生成。具體組織流程如圖10所示。圖10 使用流程3.2.1選擇混淆表用戶選擇需要生成虛擬數(shù)據(jù)的表后,系統(tǒng)調(diào)用元數(shù)據(jù)管理功能分析該表的結(jié)構(gòu)信息,獲取該表的元數(shù)據(jù)信息。系統(tǒng)根據(jù)獲取的元數(shù)據(jù),初步生成虛擬數(shù)據(jù)生成規(guī)則,為用戶進(jìn)一步配置提供基礎(chǔ)。初步生成虛擬數(shù)據(jù)生成規(guī)則如下:(1)默認(rèn)根據(jù)字段的類型、長(zhǎng)度等生成隨機(jī)數(shù)據(jù)生成規(guī)則。(1)判斷字段是否主外鍵關(guān)系,如果有,自動(dòng)生成外鍵關(guān)系生成規(guī)則。(2)根據(jù)字段類型和長(zhǎng)度,自動(dòng)生成該類型隨機(jī)

20、數(shù)的生成規(guī)則。(3)判斷字段是否為唯一鍵,自動(dòng)生成唯一鍵生成規(guī)則,防止違反數(shù)據(jù)約束條件。(4)判斷表中主鍵或唯一鍵是否包含多個(gè)字段,如果包含將這些字段分為一組生成約束條件。3.2.2數(shù)據(jù)需求設(shè)置用戶在數(shù)據(jù)需求設(shè)置界面填寫對(duì)虛擬數(shù)據(jù)的需求。主要設(shè)置如下:(1)虛擬數(shù)據(jù)的數(shù)據(jù)量,在“虛擬數(shù)據(jù)量”文本框中填寫大于0的整數(shù),確定生成虛擬數(shù)據(jù)的數(shù)據(jù)量。(2)選擇同步虛擬從表。虛擬數(shù)據(jù)表的同時(shí)是否同步虛擬從表數(shù)據(jù),如果虛擬從表數(shù)據(jù),選擇從表,并進(jìn)行該表的虛擬規(guī)則配置(配置方式與虛擬數(shù)據(jù)表基本相同)。(3)選擇常用字典表。選擇參與虛擬數(shù)據(jù)生成的基本字典表,如地名、人名等表,為替換法、枚舉法、組合法等方法提供

21、基礎(chǔ)。3.2.3配置虛擬數(shù)據(jù)規(guī)則用戶在系統(tǒng)自動(dòng)生成的數(shù)據(jù)規(guī)則上進(jìn)行修改,生成符合用戶需求的虛擬數(shù)據(jù)生成規(guī)則:1精簡(jiǎn)數(shù)據(jù)取值范圍系統(tǒng)按照元數(shù)據(jù)自動(dòng)生成的數(shù)據(jù)取值范圍,該范圍通常過大,并不能完全滿足用戶需求。用戶可以在系統(tǒng)設(shè)定取值范圍內(nèi),進(jìn)一步對(duì)取值范圍進(jìn)行精簡(jiǎn),但獲取的新范圍不超過原有范圍,以免違法數(shù)據(jù)的約束條件。如果數(shù)據(jù)的取值方法固定,如人名、地名等,可將基本字典表作為取值范圍進(jìn)行設(shè)置。2設(shè)置數(shù)據(jù)格式用戶對(duì)有某些數(shù)據(jù)有固定的格式要求,如電話號(hào)碼、郵政編碼等。設(shè)置數(shù)據(jù)格式,使數(shù)據(jù)的生成按照該格式進(jìn)行。3組合數(shù)據(jù)組某些字段之間有相應(yīng)的關(guān)聯(lián)關(guān)系,如工作時(shí)間和在崗時(shí)間,前一個(gè)一定早于后一個(gè),對(duì)這些有關(guān)

22、聯(lián)關(guān)系的字段,可將其視為一組,進(jìn)行同步處理。4連接關(guān)聯(lián)關(guān)系字段包含的外鍵、自相關(guān)、分類等關(guān)聯(lián)關(guān)系,系統(tǒng)通過元數(shù)據(jù)信息,通常可以自動(dòng)生成,如果用戶認(rèn)為這類關(guān)聯(lián)關(guān)系不能滿足需求,可增加這些關(guān)聯(lián)關(guān)系,但不允許刪除默認(rèn)生成關(guān)聯(lián)關(guān)系,防止破壞數(shù)據(jù)的約束性。3.2.4虛擬數(shù)據(jù)生成系統(tǒng)根據(jù)配置好的虛擬數(shù)據(jù)生成規(guī)則,調(diào)用不同生成法產(chǎn)生虛擬數(shù)據(jù)。生成流程如下:(1)遍歷虛擬數(shù)據(jù)表中全部字段,對(duì)每個(gè)字段依據(jù)規(guī)則采用不同方式生成滿足用戶需求的數(shù)據(jù)量。(2)首先確定字段是否是從屬與某個(gè)外鍵組,如果是,將從屬該外鍵組的其他字段也提取出來,調(diào)用外鍵組關(guān)系生成法生成這幾個(gè)字段的虛擬數(shù)據(jù)。生成虛擬數(shù)據(jù)的字段不再參與遍歷。(3

23、)確定字段是否有外鍵、分類、自反關(guān)聯(lián)關(guān)系規(guī)則,如果有根據(jù)規(guī)則描述信息,分別調(diào)用外鍵關(guān)聯(lián)關(guān)系生成法、分類關(guān)聯(lián)關(guān)系生成法或自反關(guān)聯(lián)關(guān)系生成法等方法生成達(dá)到用戶需求量的虛擬數(shù)據(jù)。生成虛擬數(shù)據(jù)的字段不再參與遍歷。(4)如果字段不涉及實(shí)體關(guān)系特征的實(shí)現(xiàn),查看描述字段生成規(guī)則,確定其實(shí)體屬性特征實(shí)現(xiàn)方法。分別調(diào)用替換生成法、組合生成法、偏移生成法、混淆生成法等方法生成達(dá)到用戶需求量的虛擬數(shù)據(jù)。生成虛擬數(shù)據(jù)的字段不再參與遍歷。3.3 操作使用3.3.1選擇虛擬數(shù)據(jù)表系統(tǒng)啟動(dòng)后,在列表中顯示當(dāng)前可以訪問的表。用戶選擇要虛擬數(shù)據(jù)的表對(duì)象(下文稱該表為虛擬表)。系統(tǒng)自動(dòng)執(zhí)行以下兩步操作:(1)讀取該對(duì)象的元數(shù)據(jù)信息,為下一步虛擬規(guī)則設(shè)置提供準(zhǔn)備。(2)根據(jù)元數(shù)據(jù)信

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論