。
[0027]至于其他優(yōu)點(diǎn),當(dāng)輸入規(guī)則時(shí),該用戶界面可提供將規(guī)則應(yīng)用于數(shù)據(jù)集單一數(shù)據(jù)元素的結(jié)果的實(shí)時(shí)反饋。這樣,用戶無需將規(guī)則應(yīng)用于整個(gè)數(shù)據(jù)集(這一過程可能很耗時(shí))就能測(cè)試出規(guī)則的效能。
[0028]該用戶界面允許用戶在數(shù)據(jù)集上運(yùn)行指定的規(guī)則并接收關(guān)于每一指定規(guī)則在整個(gè)數(shù)據(jù)集上運(yùn)行性能的反饋。用戶還有機(jī)會(huì)修改那些跟預(yù)期的不相符的指定規(guī)則。
[0029]該用戶界面可讓用戶快速直觀地指定并修改規(guī)則,從而節(jié)省時(shí)間和資源。
[0030]通過以下說明書和權(quán)利要求書,本發(fā)明的其它特征和優(yōu)點(diǎn)將變得顯而易見。
【附圖說明】
[0031]圖1是用于指定數(shù)據(jù)驗(yàn)證規(guī)則的系統(tǒng)的框圖。
[0032]圖2是用于指定數(shù)據(jù)驗(yàn)證規(guī)則的用戶界面。
[0033]圖3是用于指定驗(yàn)證規(guī)則的用戶界面的屏幕截圖。
【具體實(shí)施方式】
[0034]圖1所示的是示例性數(shù)據(jù)處理系統(tǒng)100,該驗(yàn)證技術(shù)可應(yīng)用于該數(shù)據(jù)處理系統(tǒng)。該系統(tǒng)100包括數(shù)據(jù)源102,該數(shù)據(jù)源102包括一個(gè)或多個(gè)數(shù)據(jù)源(例如,存儲(chǔ)設(shè)備或連接到在線數(shù)據(jù)流),每一數(shù)據(jù)源可以多種存儲(chǔ)格式(例如,數(shù)據(jù)庫(kù)表、電子表格文件、純文本文件或主機(jī)所用的本機(jī)格式)中的任一種格式來存儲(chǔ)數(shù)據(jù)(有時(shí)稱為“數(shù)據(jù)集”)。執(zhí)行環(huán)境104包括用戶界面(UI)模塊106和處理模塊108。該UI模塊106可對(duì)用戶110通過用戶界面112 (例如顯示屏顯示的圖形視圖)接收到的輸入進(jìn)行管理,該用戶界面112指定該處理模塊108所采用的驗(yàn)證規(guī)則,該處理模塊108對(duì)來自數(shù)據(jù)源102中的數(shù)據(jù)進(jìn)行處理。
[0035]所述執(zhí)行環(huán)境104可能被托管在受一合適的操作系統(tǒng)(比如UNIX操作系統(tǒng))控制的一個(gè)或多個(gè)通用計(jì)算機(jī)。例如,所述執(zhí)行環(huán)境104可包括多節(jié)點(diǎn)并行計(jì)算環(huán)境,該多節(jié)點(diǎn)并行計(jì)算環(huán)境包括使用多個(gè)中央處理器(CPU)的計(jì)算機(jī)系統(tǒng)的配置,所述中央處理器可以是本地CPU (例如多處理器系統(tǒng),如SMP計(jì)算機(jī)),或本地分布式CPU (例如多個(gè)處理器耦合為群集或MPP處理器),或遠(yuǎn)程CPU,或遠(yuǎn)程分布式CPU (例如通過局域網(wǎng)或廣域網(wǎng)來耦合的多個(gè)處理器),或上述任意組合。
[0036]該處理模塊108從數(shù)據(jù)源102中讀取數(shù)據(jù),并根據(jù)UI模塊106所獲得的驗(yàn)證信息來執(zhí)行驗(yàn)證步驟。提供數(shù)據(jù)源102的存儲(chǔ)設(shè)備是該執(zhí)行環(huán)境104本地的存儲(chǔ)設(shè)備,例如,存儲(chǔ)在連接至運(yùn)行該執(zhí)行環(huán)境104的計(jì)算機(jī)的存儲(chǔ)介質(zhì)(例如,硬盤驅(qū)動(dòng)器114),或者是該執(zhí)行環(huán)境104遠(yuǎn)程的存儲(chǔ)設(shè)備,例如,托管在通過遠(yuǎn)程連接與運(yùn)行該執(zhí)行環(huán)境104的計(jì)算機(jī)進(jìn)行通訊的遠(yuǎn)程系統(tǒng)(例如,主機(jī)116)。
[0037]通常,從數(shù)據(jù)源102存取的數(shù)據(jù)集包括多個(gè)數(shù)據(jù)元素(例如,根據(jù)預(yù)定記錄結(jié)構(gòu)格式化了的記錄,或數(shù)據(jù)庫(kù)表中的表格行)。所述多個(gè)數(shù)據(jù)元素中的每一元素包括多個(gè)字段的值(例如,在記錄結(jié)構(gòu)中定義的屬性,或數(shù)據(jù)庫(kù)表中的表格列)(例如,“名字”、“姓氏”和“郵件地址”等),可能包括空值或空白值。字段值的各種屬性(例如,與內(nèi)容或數(shù)據(jù)類型相關(guān))或某些字段中存在或不存在的值可認(rèn)定為是有效或無效的。例如,包括字符串“Smith”的“姓氏”字段可認(rèn)定為是有效的,而“姓”字段為空的話則認(rèn)定為是無效的。
[0038]如果數(shù)據(jù)集包括數(shù)量可觀的具有一個(gè)或多個(gè)無效字段的數(shù)據(jù)元素,會(huì)對(duì)使用數(shù)據(jù)源102中數(shù)據(jù)集的應(yīng)用程序的性能產(chǎn)生不利影響。處理模塊108執(zhí)行數(shù)據(jù)驗(yàn)證步驟,包括將數(shù)據(jù)驗(yàn)證規(guī)則應(yīng)用于數(shù)據(jù)集,以確保該數(shù)據(jù)集滿足驗(yàn)證規(guī)則所定義的質(zhì)量約束條件。如果數(shù)據(jù)集的質(zhì)量未能滿足該質(zhì)量約束條件,數(shù)據(jù)處理系統(tǒng)100會(huì)提醒系統(tǒng)管理員。在一些示例中,處理模塊108配置為修復(fù)無效數(shù)據(jù)(如果可能的話),或執(zhí)行各種數(shù)據(jù)清理步驟以生成數(shù)據(jù)元素經(jīng)過清理的數(shù)據(jù)集。在其他示例中,處理模塊108配置為生成一字段列表,該字段列表包括無效數(shù)據(jù),報(bào)告就是根據(jù)這些無效數(shù)據(jù)得以生成的。在一些示例中,所述報(bào)告包括記錄數(shù),所述記錄包括該字段列表中一個(gè)或多個(gè)字段的無效數(shù)據(jù)。在其他示例中,無效字段集合是根據(jù)該字段列表而計(jì)算出來的。
[0039]通常,不同的應(yīng)用程序處理不同類型的數(shù)據(jù)。因此,取決于應(yīng)用程序,數(shù)據(jù)集中的元素可包括不同字段。UI模塊106能提供用戶界面112,該用戶界面112能使驗(yàn)證規(guī)則集合得以指定并被用來驗(yàn)證數(shù)據(jù)集。用戶界面112能提供一單視圖,該單視圖包括一特定數(shù)據(jù)元素結(jié)構(gòu)的多個(gè)字段(在一些實(shí)施方式中,是所有可用字段)。因此,對(duì)于一種給定應(yīng)用程序,用戶110(例如,系統(tǒng)管理員)能夠針對(duì)數(shù)據(jù)指定適用的驗(yàn)證規(guī)則。
[0040]I驗(yàn)證用戶界面
[0041]參見圖2,用戶界面112的一個(gè)示例配置為便于用戶110指定并驗(yàn)證一種或多種數(shù)據(jù)集驗(yàn)證規(guī)則。
[0042]1.1驗(yàn)證規(guī)則規(guī)范
[0043]UI模塊106使用戶界面112 (例如,在計(jì)算機(jī)顯示器上)包括多個(gè)單元格224,排布成具有第一軸226和第二軸228的二維網(wǎng)格225。單元格224的一個(gè)或多個(gè)子集合230 (即,在以下說明書部分中被稱為行230)沿二維網(wǎng)格225的第一軸226的方向延伸。行230中的每一行與字段218相關(guān)聯(lián)。在一些示例中,行230中的每一行的第一單元格(即,最左邊的單元格)包括與行230相關(guān)聯(lián)的字段218的名稱(在該示例中,字段名稱是“字段I”、“字段2”…“字段M”)。
[0044]單元格224的多個(gè)子集合232(即,在以下說明書部分中被稱為列232)沿二維網(wǎng)格225的第二軸228的方向延伸。列232中的一個(gè)或多個(gè)與各自驗(yàn)證規(guī)則234相關(guān)聯(lián)。在一些示例中,列232中的每一列的第一單元格(即,最上面的單元格)包括與列232相關(guān)聯(lián)的驗(yàn)證規(guī)則234的名稱(在該示例中,驗(yàn)證規(guī)則名稱是“驗(yàn)證規(guī)則1”、“驗(yàn)證規(guī)則2”…“驗(yàn)證規(guī)則N”)。值得注意的是,在一些示例中,第一軸226和第二軸228的方向是可以調(diào)換的,這樣的話,與字段218相關(guān)聯(lián)的行230就變成了列,而與驗(yàn)證規(guī)則234相關(guān)聯(lián)的列232則變成了行。
[0045]在一些示例中,用戶界面112包括預(yù)定義的驗(yàn)證規(guī)則列表(未示出)。驗(yàn)證規(guī)則234被添加到二維網(wǎng)格225,例如,用戶110可將一種或多種預(yù)定義的驗(yàn)證規(guī)則拖入到二維網(wǎng)格225中,或者通過雙擊一種預(yù)定義的驗(yàn)證規(guī)則而將一個(gè)或多個(gè)新列232添加至二維網(wǎng)格225。所述預(yù)定義的驗(yàn)證規(guī)則具有內(nèi)置函數(shù),該內(nèi)置函數(shù)可接受預(yù)定義的參數(shù)集合作為對(duì)應(yīng)單元格中提供的輸入。在很多情況下,預(yù)定義的驗(yàn)證規(guī)則列表足以滿足用戶110的需求。然而,在一些示例中,如下所述,用戶110可自定義驗(yàn)證規(guī)則,該驗(yàn)證規(guī)則也能被作為列232而添加至二維網(wǎng)格225。
[0046]在一種或多種驗(yàn)證規(guī)則被作為列232而添加至二維網(wǎng)格225之后,用戶110可指定將哪種驗(yàn)證規(guī)則234應(yīng)用于哪個(gè)字段218。為了指定應(yīng)將一給定的驗(yàn)證規(guī)則234應(yīng)用于一給定字段218,用戶110首先需要選定與所述給定字段218相關(guān)聯(lián)的行230和與所述給定的驗(yàn)證規(guī)則234相關(guān)聯(lián)的列232相交處的單元格224。接著用戶110將一種或多種驗(yàn)證規(guī)則參數(shù)236輸入到所述選定單元格224的輸入元件(例如,文本字段或復(fù)選框)。通常,單元格中的規(guī)則參數(shù)236的內(nèi)容潛在地具有兩個(gè)目的。第一個(gè)目的是提供“配置輸入”以配置該驗(yàn)證規(guī)則234,第二個(gè)目的是指出應(yīng)將該給定的驗(yàn)證規(guī)則234應(yīng)用到指定字段218。緊接著,如果單元格224不包括驗(yàn)證規(guī)則參數(shù)236 (即,該單元格保留為空),處理模塊108不會(huì)將與該單元格224相關(guān)聯(lián)的驗(yàn)證規(guī)則234應(yīng)用到與該單元格224相關(guān)聯(lián)的指定字段218。
[0047]許多不同的類型的規(guī)則參數(shù)236可輸入到單元格224。在一些情況下,配置規(guī)則無需配置輸入,這樣,規(guī)則參數(shù)236僅僅是一種“配置輸入”規(guī)則參數(shù),其確認(rèn)了將要應(yīng)用一種對(duì)應(yīng)的驗(yàn)證規(guī)則。例如,用于接收一種確認(rèn)輸入規(guī)則參數(shù)的輸入元件的一個(gè)示例是一復(fù)選框,當(dāng)檢查該復(fù)選框時(shí),說明應(yīng)將與該單元格224相關(guān)聯(lián)的驗(yàn)證規(guī)則234應(yīng)用到與該單元格224相關(guān)聯(lián)的字段218。在下面列表中給出了各種驗(yàn)證參數(shù)的示例,該列表指出所述驗(yàn)證規(guī)則是否由配置輸入進(jìn)行配置。
[0048].整數(shù)-驗(yàn)證該字段是否僅包含整數(shù)(無需配置輸入)。
[0049].無效值-驗(yàn)證該字段不包含用戶指定的無效值(提供為配置輸入)。
[0050].最大精度-驗(yàn)證該字段在小數(shù)點(diǎn)后具有不超過用戶指定的位數(shù)(提供為配置輸
Λ)ο
[0051]?最大值-如果字段值大于用戶指定的值(提供為配置輸入),則該字段被認(rèn)定為無效字段。
[0052].最大長(zhǎng)度-驗(yàn)證該字段具有不超過用戶指定的字符數(shù)或字節(jié)數(shù)(提供為配置輸
Λ)ο
[0053]?最小值-如果字段值小于用戶指定的值(提供為配置輸入),則該字段被認(rèn)定為無效字段。
[0054]?不能為空-如果字段值為空白(empty)或只包含空格(blank),則該字段被認(rèn)定為無效字段(無需配置輸入)。
當(dāng)前第2頁(yè)
1 
2 
3 
4 
5