述,用戶界面112包括單元格224的二維網(wǎng)格225。該網(wǎng)格225包括與數(shù)據(jù)集數(shù)據(jù)元素的字段218相關(guān)聯(lián)的多個(gè)行230。每一行230的第一單元格包括與該行230相關(guān)聯(lián)的字段218的名稱,以及還在括號(hào)中包括該數(shù)據(jù)集當(dāng)前選定的數(shù)據(jù)元素244的字段218的值242。關(guān)于該字段的其他信息可直觀地顯示出來,以幫助用戶指定驗(yàn)證規(guī)則。在該示例中,第一單元格還包括一圖標(biāo)220,該圖標(biāo)220直觀地指出字段218的值的數(shù)據(jù)類型。
[0079]圖3中,用戶110將多種驗(yàn)證規(guī)則234添加到網(wǎng)格225中。驗(yàn)證規(guī)則234在網(wǎng)格中以多個(gè)列232的形式出現(xiàn)。每一驗(yàn)證規(guī)則234的名稱包括在與該驗(yàn)證規(guī)則234相關(guān)聯(lián)的列232的頂端(例如,“最大長(zhǎng)度”、“不能為空”或“模式”等)。
[0080]用戶110指定應(yīng)將選定的驗(yàn)證規(guī)則234應(yīng)用于數(shù)據(jù)集元素的一個(gè)或多個(gè)字段218。為此,針對(duì)每一種待應(yīng)用的驗(yàn)證規(guī)則234,用戶110在與該驗(yàn)證規(guī)則234相關(guān)聯(lián)的列232和與字段218相關(guān)聯(lián)的行230的交叉處輸入規(guī)則參數(shù)236,該驗(yàn)證規(guī)則234應(yīng)當(dāng)應(yīng)用于該字段218。例如,用戶110在“模式”驗(yàn)證規(guī)則和‘郵政編碼’字段的交叉處輸入規(guī)則參數(shù)S “99999”。該輸入的規(guī)則參數(shù)將該“模式”驗(yàn)證規(guī)則配置為對(duì)數(shù)據(jù)集每一元素的‘郵政編碼’字段進(jìn)行評(píng)估,以判定每一元素的‘郵政編碼’字段的值是否是具有五個(gè)連續(xù)數(shù)字字符模式的字符串。同理,該“模式”驗(yàn)證規(guī)則配置為對(duì)數(shù)據(jù)集每一元素的‘phonenunK電話號(hào)碼)’字段進(jìn)行評(píng)估,以判定每一元素的‘phonenunK電話號(hào)碼)’字段的值242是否是具有S “999-999-9999”模式的字符串(即:三個(gè)數(shù)字字符、一個(gè)破折號(hào)、三個(gè)數(shù)字字符、一個(gè)破折號(hào)和四個(gè)數(shù)字字符)。
[0081]其他類型的驗(yàn)證規(guī)則234和規(guī)則參數(shù)也在圖3中闡明。例如,“有效值”驗(yàn)證參數(shù)應(yīng)用于具有M aStateNames (各州名)”規(guī)則參數(shù)的‘statename(州名)’字段,該M "StateNames (各州名)”規(guī)則參數(shù)將該‘statename (州名)’字段的有效值確定為美國(guó)各州名稱的集合。上述規(guī)則參數(shù)中“StateNameS(各州名)”前的‘M’表示所述各州的名稱集合被(例如,用戶110或系統(tǒng)管理員)定義為一個(gè)單獨(dú)的數(shù)據(jù)集(有時(shí)被稱為代碼集),該數(shù)據(jù)集存儲(chǔ)于元數(shù)據(jù)參考系統(tǒng)中,該元數(shù)據(jù)參考系統(tǒng)在執(zhí)行環(huán)境104中是可以訪問的。在該示例中,所述包括各州名稱的數(shù)據(jù)集被變量名“StateNameS(各州名)”所引用。
[0082]在一些示例中,代碼集是存儲(chǔ)于查找表之中的。為了訪問查找表之中的代碼集,該參數(shù)規(guī)則被輸入為例如L “StateNames (各州名)”,其表示:確定為具有“StateNames (各州名)”名稱的系統(tǒng)的查找文件是‘statename (州名)’有效值的來源。在其他示例中,用戶110可直接輸入有效值集合。例如,有效的性別代碼集合可輸入為V “M,F(xiàn),U”。
[0083]再比如,驗(yàn)證規(guī)則“不能為空”應(yīng)用于多個(gè)字段中。例如,由于在驗(yàn)證規(guī)則“不能為空”的列和‘street (街道)’字段的行的交叉處存在檢查標(biāo)記規(guī)則參數(shù),故驗(yàn)證規(guī)則“不能為空”應(yīng)用于‘street (街道)’字段。
[0084]如上所述,用戶界面112可針對(duì)給定的元素244向用戶110顯示字段218的所有值242。UI模塊106還從用戶界面112接收輸入,該輸入可令處理模塊108執(zhí)行部分或全部與元素244的字段218相關(guān)聯(lián)的驗(yàn)證規(guī)則234。處理模塊108生成的結(jié)果提供給了 UI模塊106,接著該Π模塊106基于這些結(jié)果通過用戶界面112將反饋顯示給用戶110。在圖3中,將“有效值”驗(yàn)證規(guī)則應(yīng)用于‘statename (州名)’字段以檢測(cè)該‘statename (州名)’字段的值是否屬于所述各州名稱的集合。通過檢測(cè),可發(fā)現(xiàn)該‘statename (州名)’字段的值是‘Pennsylvannia’,是州名‘Pennsylvania(賓夕法尼亞)’的錯(cuò)誤拼寫。因此,該“有效值”驗(yàn)證規(guī)則對(duì)于給定元素244的‘statename (州名)’字段而言未能通過。為了向用戶110指出該驗(yàn)證規(guī)則未通過,與該驗(yàn)證規(guī)則“有效值”和‘statename (州名)’字段相關(guān)聯(lián)的單元格帶有陰影。
[0085]用戶110通過導(dǎo)航控件246來導(dǎo)航數(shù)據(jù)集元素。在一些示例中,導(dǎo)航控件246包括允許用戶110—次性對(duì)數(shù)據(jù)集元素進(jìn)行單步調(diào)試的多個(gè)箭頭,以及允許用戶110輸入其欲查看的數(shù)據(jù)集元素號(hào)的數(shù)字字段。每當(dāng)用戶I1通過該導(dǎo)航控件246來導(dǎo)航到不同元素時(shí),處理模塊108針對(duì)新元素的值來執(zhí)行指定的驗(yàn)證規(guī)則,并對(duì)所述值242以及指示驗(yàn)證測(cè)試結(jié)果的其他視覺反饋(例如單元格底紋)進(jìn)行刷新/更新。
[0086]用戶界面112還包括‘測(cè)試’按鈕248,啟動(dòng)該按鈕時(shí),會(huì)使處理模塊108針對(duì)該數(shù)據(jù)集的所有元素執(zhí)行指定的驗(yàn)證規(guī)則。如上所述,通過在有一個(gè)或多個(gè)元素未能通過指定驗(yàn)證規(guī)則的每個(gè)單元格中包含失敗元素計(jì)數(shù)指示符240,實(shí)現(xiàn)在用戶界面112中對(duì)針對(duì)該數(shù)據(jù)集所有元素執(zhí)行該指定驗(yàn)證規(guī)則的結(jié)果進(jìn)行概括。在圖3中的實(shí)施方式中,該失敗元素計(jì)數(shù)指示符240是一個(gè)數(shù)字,其表示未能通過由單元格指定的驗(yàn)證規(guī)則的數(shù)據(jù)集元素的數(shù)目。例如,與‘statename (州名)’字段和“有效值”驗(yàn)證規(guī)則相關(guān)聯(lián)的單元格的失敗元素計(jì)數(shù)指示符表示數(shù)據(jù)集的3886個(gè)元素包括不屬于有效州名集合的州名。用戶可通過點(diǎn)擊單元格來檢索關(guān)于失敗元素的信息。
[0087]針對(duì)未能通過一個(gè)或多個(gè)驗(yàn)證規(guī)則測(cè)試結(jié)果的每個(gè)元素,可通過驗(yàn)證發(fā)布(validat1n issue)來集聚一批發(fā)布信息,并將所述發(fā)布信息存儲(chǔ)起來便于日后檢索。例如,指定了一種或多種驗(yàn)證規(guī)則的字段列表可顯示在另一個(gè)視圖中,具有針對(duì)該字段的驗(yàn)證發(fā)布的元素計(jì)數(shù),包括計(jì)數(shù)為零的元素(如果沒有針對(duì)該字段的驗(yàn)證發(fā)布)。這使得用戶能清晰地判定出所有元素全部通過了特定的驗(yàn)證規(guī)則,并確定實(shí)際上也執(zhí)行了針對(duì)該字段的驗(yàn)證規(guī)則。存儲(chǔ)起來的驗(yàn)證發(fā)布信息還可用于計(jì)算各種度量值(例如,具有特定質(zhì)量問題的記錄的百分比)或用于擴(kuò)大具有驗(yàn)證發(fā)布信息的數(shù)據(jù)元素的數(shù)據(jù)集。
[0088]2可選方案
[0089]在一些示例中,失敗結(jié)果計(jì)數(shù)指示符240是一個(gè)超鏈接,當(dāng)用戶110點(diǎn)擊該超鏈接時(shí),會(huì)使Π模塊106向用戶110顯示總結(jié)所有失敗元素的窗口。
[0090]在一些示例中,數(shù)據(jù)驗(yàn)證規(guī)則的應(yīng)用結(jié)果可用于確定該數(shù)據(jù)集的度量值。例如,度量值可包括具有數(shù)據(jù)質(zhì)量問題的數(shù)據(jù)集記錄的百分比。文中未作描述的其他用戶界面可用于指定度量值并將這些度量值提供給用戶110。
[0091]上文描述了采用底紋單元格為用戶提供反饋,此外,還可采用其他類型的反饋機(jī)制(例如,聲音、彈出窗口或特殊符號(hào)等)。
[0092]上文中還描述了指定規(guī)則同時(shí)將規(guī)則應(yīng)用于完整的數(shù)據(jù)集。然而,在一些示例中,可以采用這么一種測(cè)試數(shù)據(jù)集:其規(guī)模減小且更容易管理,并且是完整數(shù)據(jù)集的代表。
[0093]上述技術(shù)可以使用在計(jì)算機(jī)上執(zhí)行的軟件來實(shí)現(xiàn)。例如,軟件形成在一個(gè)或多個(gè)已編程或可編程計(jì)算機(jī)系統(tǒng)(可以具有各種架構(gòu),諸如分布式、客戶端/服務(wù)器、或網(wǎng)格式)上執(zhí)行的一個(gè)或多個(gè)計(jì)算機(jī)程序中的步驟,每個(gè)計(jì)算機(jī)系統(tǒng)包括至少一個(gè)處理器、至少一個(gè)數(shù)據(jù)存儲(chǔ)系統(tǒng)(包括易失性和/或非易失性存儲(chǔ)器和/或存儲(chǔ)元素)以及至少一個(gè)輸入設(shè)備或端口以及至少一個(gè)輸出設(shè)備或端口。該軟件可形成更大型程序的一個(gè)或多個(gè)模塊,該更大型程序例如可提供與數(shù)據(jù)流圖的設(shè)計(jì)、配置相關(guān)的其它服務(wù)。數(shù)據(jù)流圖的節(jié)點(diǎn)和元素可以被實(shí)施為存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)的數(shù)據(jù)結(jié)構(gòu)或者符合在數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)模型的其它組織的數(shù)據(jù)。
[0094]該軟件可以被提供在諸如CD-ROM的存儲(chǔ)介質(zhì)上,其可以被通用或?qū)S每删幊逃?jì)算機(jī)讀取或者通過網(wǎng)絡(luò)的通信介質(zhì)遞送(編碼成傳播信號(hào))到執(zhí)行該軟件的計(jì)算機(jī)的存儲(chǔ)介質(zhì)。全部功能可以在專用計(jì)算機(jī)上執(zhí)行,或者使用諸如協(xié)處理器之類的專用硬件來執(zhí)行。該軟件可以以分布方式實(shí)施,在該分布方式中,由該軟件指定的不同的計(jì)算部分由不同的計(jì)算機(jī)執(zhí)行。每個(gè)這樣的計(jì)算機(jī)程序被優(yōu)選地存儲(chǔ)在或下載到可由通用或?qū)S每删幊逃?jì)算機(jī)讀取的存儲(chǔ)介質(zhì)或設(shè)備(例如,固態(tài)存儲(chǔ)器或介質(zhì)、或者磁或光介質(zhì)),用于在計(jì)算機(jī)系統(tǒng)讀取該存儲(chǔ)介質(zhì)或設(shè)備時(shí)配置和操作該計(jì)算機(jī),以執(zhí)行此處所描述的步驟。也可以考慮將本發(fā)明的系統(tǒng)實(shí)施為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其配置有計(jì)算機(jī)程序,其中,如此配置的存儲(chǔ)介質(zhì)使得計(jì)算機(jī)以特定和預(yù)定義的方式操作以執(zhí)行此處所描述的功能。
[0095]已經(jīng)對(duì)本發(fā)明的多個(gè)實(shí)施例進(jìn)行了描述。然而,應(yīng)當(dāng)理解,可以在不背離本發(fā)明的精神和范圍的情況下可進(jìn)行各種修改。此外,上述的一些步驟可以是順序獨(dú)立的,因此可以以不同于所述的順序來執(zhí)行。
[0096]應(yīng)當(dāng)理解的是,前面的描述旨在說明而非限制本發(fā)明的范圍,本發(fā)明的范圍由所附權(quán)利要求書的范圍來限定。例如,上述的許多功能步驟可以以不同的順序來執(zhí)行,而不會(huì)對(duì)整個(gè)處理