數(shù)據(jù)生成的制作方法
【專利摘要】一種方法,包括:接收表示在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù)的數(shù)據(jù);基于所述數(shù)據(jù)處理應(yīng)用程序執(zhí)行各規(guī)則的次數(shù),來確定一個或多個特定字段中的各特定字段所用的內(nèi)容標(biāo)準(zhǔn);基于內(nèi)容標(biāo)準(zhǔn)來生成各特定字段的內(nèi)容;以及利用所生成的內(nèi)容來填充各特定字段。
【專利說明】數(shù)據(jù)生成
[0001 ]優(yōu)先權(quán)要求
[0002]本申請要求2013年12月18日提交的美國專利申請61/917,727的優(yōu)先權(quán),在此通過引用包含其全部內(nèi)容。
【背景技術(shù)】
[0003]本說明書涉及數(shù)據(jù)生成。
[0004]在數(shù)據(jù)處理應(yīng)用程序的開發(fā)期間,開發(fā)者可以在生產(chǎn)環(huán)境外部進(jìn)行工作并且可能無權(quán)訪問生產(chǎn)數(shù)據(jù)。為了確保數(shù)據(jù)處理應(yīng)用程序?qū)⒁詫?shí)際的數(shù)據(jù)在生產(chǎn)中正確地運(yùn)行,可以在數(shù)據(jù)處理應(yīng)用程序的開發(fā)和測試期間使用逼真數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0005]在一般方面,一種方法包括:接收表示在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù)的數(shù)據(jù);基于所述數(shù)據(jù)處理應(yīng)用程序執(zhí)行所述一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個特定字段中的各特定字段所用的內(nèi)容標(biāo)準(zhǔn);基于所述內(nèi)容標(biāo)準(zhǔn)來生成各特定字段的內(nèi)容;以及利用所生成的內(nèi)容來填充各特定字段。
[0006]實(shí)施例可以包括以下特征中的一個或多個特征。
[0007]生成內(nèi)容包括基于各字段所用的格式規(guī)格來生成內(nèi)容。所述格式規(guī)格指示內(nèi)容的類型,內(nèi)容的類型包括字符串、十進(jìn)制數(shù)、整數(shù)、日期和日期時間中的一個或多個。所述方法包括經(jīng)由用戶界面來接收所述格式規(guī)格。
[0008]所述方法包括創(chuàng)建包括所述一個或多個字段的新記錄;以及填充所述新記錄的字段。
[0009]利用所生成的內(nèi)容來填充各字段包括針對所述一個或多個字段修改預(yù)先存在的內(nèi)容。
[0010]填充各字段包括針對一個或多個預(yù)先存在的記錄創(chuàng)建特定字段。
[0011]所述內(nèi)容標(biāo)準(zhǔn)包括目標(biāo)值、值的目標(biāo)范圍、值的目標(biāo)分布、最大值和最小值中的一個或多個。
[0012]所述內(nèi)容標(biāo)準(zhǔn)包括所生成的內(nèi)容的特定值。
[0013]所述內(nèi)容標(biāo)準(zhǔn)表示要包括在所述一個或多個字段中的兩個或更多個字段中的內(nèi)容的目標(biāo)組合。
[0014]所述方法包括經(jīng)由用戶界面接收所述內(nèi)容標(biāo)準(zhǔn)。
[0015]生成內(nèi)容包括基于生成模式來生成內(nèi)容。
[0016]所述生成模式包括一個或多個以下模式:(i)針對多個記錄各自的一個或多個字段生成隨機(jī)內(nèi)容;(ii)針對多個記錄各自的一個或多個字段生成唯一內(nèi)容;以及(iii)針對多個記錄各自的一個或多個字段從可用內(nèi)容的集合中選擇內(nèi)容。
[0017]所述方法包括將包括所生成的內(nèi)容的一個或多個記錄提供給所述數(shù)據(jù)處理應(yīng)用程序。
[0018]確定所述內(nèi)容標(biāo)準(zhǔn)以使得通過所述數(shù)據(jù)處理應(yīng)用程序來執(zhí)行特定規(guī)則。
[0019]確定所述內(nèi)容標(biāo)準(zhǔn)包括:識別執(zhí)行次數(shù)少于最小閾值次數(shù)的特定規(guī)則;以及確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述特定規(guī)則的執(zhí)行次數(shù)至少是所述最小閾值次數(shù)。
[0020]所述格式規(guī)格包括內(nèi)容的類型。
[0021]在一般方面,一種方法包括:經(jīng)由用戶界面接收格式規(guī)格;經(jīng)由用戶界面接收內(nèi)容標(biāo)準(zhǔn);經(jīng)由用戶界面接收要生成內(nèi)容所用的模式的指示;根據(jù)所指示的模式來生成內(nèi)容,其中所生成的內(nèi)容滿足所述格式規(guī)格和所述內(nèi)容標(biāo)準(zhǔn);以及在記錄中創(chuàng)建字段,所述字段包括所生成的內(nèi)容。
[0022]實(shí)施例可以包括以下特征中的一個或多個特征。
[0023]所述生成模式包括一個或多個以下模式:(i)針對多個記錄各自的一個或多個字段生成隨機(jī)內(nèi)容;(ii)針對多個記錄各自的一個或多個字段生成唯一內(nèi)容;以及(iii)針對多個記錄各自的一個或多個字段從可用內(nèi)容的集合中選擇內(nèi)容。
[0024]接收所述內(nèi)容標(biāo)準(zhǔn)包括接收從所述用戶界面上所顯示的一個或多個內(nèi)容標(biāo)準(zhǔn)的內(nèi)容標(biāo)準(zhǔn)的選擇。
[0025]接收所述格式規(guī)格包括接收從所述用戶界面上所顯示的一個或多個格式規(guī)格的格式規(guī)格的選擇。
[0026]所述格式規(guī)格指示內(nèi)容的類型,諸如字符串、十進(jìn)制數(shù)、整數(shù)、日期和日期時間中的一個或多個。
[0027]所述內(nèi)容標(biāo)準(zhǔn)表示所述內(nèi)容的最大值、所述內(nèi)容的最小值和所述內(nèi)容的值的范圍。
[0028]所述內(nèi)容標(biāo)準(zhǔn)表示所述內(nèi)容的特定值。
[0029]所述內(nèi)容標(biāo)準(zhǔn)表示所述內(nèi)容的目標(biāo)分布。
[0030]所述內(nèi)容標(biāo)準(zhǔn)表示要包括在兩個或更多個字段中的內(nèi)容的目標(biāo)組合。
[0031]接收所述內(nèi)容生成模式的指示包括接收從所述用戶界面上所顯示的一個或多個內(nèi)容生成模式的內(nèi)容生成模式的選擇。
[0032]所述方法包括創(chuàng)建新記錄。在記錄中創(chuàng)建字段包括在所述新記錄中創(chuàng)建字段。
[0033]所述方法包括:接收第二格式規(guī)格、第二內(nèi)容標(biāo)準(zhǔn)和第二模式的指示;根據(jù)所指示的第二模式來生成第二內(nèi)容,其中所生成的內(nèi)容滿足所述第二格式規(guī)格和所述第二內(nèi)容標(biāo)準(zhǔn);以及利用所生成的第二內(nèi)容來替換所述記錄中的現(xiàn)有字段的內(nèi)容。
[0034]在一般方面,一種用于存儲指令的非瞬態(tài)計算機(jī)可讀介質(zhì),所述指令使得計算機(jī)系統(tǒng)執(zhí)行以下處理:基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn);基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。
[0035]在一般方面,一種計算系統(tǒng),包括:至少一個處理器,用于:基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn);基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。
[0036]在一般方面,一種計算系統(tǒng),包括:用于基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù)來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn)的部件;用于基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容的部件;以及用于利用所生成的內(nèi)容來填充一個或多個記錄中的各字段的部件。
[0037]在一般方面,一種用于在數(shù)據(jù)處理應(yīng)用程序的開發(fā)期間測試所述數(shù)據(jù)處理應(yīng)用程序的方法,所述方法包括以下步驟:使用所述數(shù)據(jù)處理應(yīng)用程序處理第一數(shù)據(jù)記錄,其中所述數(shù)據(jù)處理應(yīng)用程序?qū)崿F(xiàn)一個或多個規(guī)則,各第一數(shù)據(jù)記錄具有多個字段;將所述第一數(shù)據(jù)記錄的處理期間執(zhí)行所述數(shù)據(jù)處理應(yīng)用程序的各規(guī)則的次數(shù)與該規(guī)則的目標(biāo)值進(jìn)行比較;基于所述比較的結(jié)果,確定表示要使用所述數(shù)據(jù)處理應(yīng)用程序來處理的第二數(shù)據(jù)記錄中的數(shù)據(jù)的目標(biāo)特征的內(nèi)容標(biāo)準(zhǔn);根據(jù)所述第一數(shù)據(jù)記錄的格式并且根據(jù)所述內(nèi)容標(biāo)準(zhǔn)來生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容;使用所述數(shù)據(jù)處理應(yīng)用程序來處理所述第二數(shù)據(jù)記錄;將所述第二數(shù)據(jù)記錄的處理期間執(zhí)行所述數(shù)據(jù)處理應(yīng)用程序的各規(guī)則的次數(shù)與該規(guī)則的目標(biāo)值進(jìn)行比較并且判斷為滿足各規(guī)則的目標(biāo)值;以及使用所述第二數(shù)據(jù)記錄來測試所述數(shù)據(jù)處理應(yīng)用程序。
[0038]實(shí)施例可以包括以下特征中的一個或多個特征。
[0039]所述方法包括在客戶端裝置處接收所述第一數(shù)據(jù)記錄,其中所述數(shù)據(jù)處理應(yīng)用程序是在所述客戶端裝置上執(zhí)行的。所述客戶端裝置包括計算裝置。
[0040]所述方法包括從遠(yuǎn)程服務(wù)器接收所述第一數(shù)據(jù)記錄。所述方法包括在經(jīng)由LAN或WAN連接以通信方式連接至服務(wù)器的客戶端裝置處接收所述第一數(shù)據(jù)記錄。
[0041]所述方法包括確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述第二數(shù)據(jù)記錄中的數(shù)據(jù)使得在所述數(shù)據(jù)處理應(yīng)用程序處理所述第二數(shù)據(jù)記錄的情況下滿足各規(guī)則的目標(biāo)值。
[0042]生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容包括修改所述第一數(shù)據(jù)記錄中的一個或多個字段的內(nèi)容,并且修改后的第一數(shù)據(jù)記錄是所述第二數(shù)據(jù)記錄。
[0043]生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容包括創(chuàng)建新的數(shù)據(jù)記錄。
[0044]所述方法包括將所述第二數(shù)據(jù)記錄存儲在存儲裝置中。
[0045]所述方法包括基于所述測試的結(jié)果來修改所述數(shù)據(jù)處理應(yīng)用程序。
[0046]測試所述數(shù)據(jù)處理應(yīng)用程序包括基于使用所述數(shù)據(jù)處理應(yīng)用程序處理所述第二數(shù)據(jù)記錄的結(jié)果,來修改所述數(shù)據(jù)處理應(yīng)用程序。
[0047]所述方法包括確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述第二數(shù)據(jù)記錄中的數(shù)據(jù)實(shí)質(zhì)上類似于預(yù)期要通過所述數(shù)據(jù)處理應(yīng)用程序在生產(chǎn)環(huán)境中進(jìn)行處理的數(shù)據(jù)。
[0048]方面可以包括以下優(yōu)點(diǎn)中的一個或多個優(yōu)點(diǎn)。例如,經(jīng)由直接的用戶界面,可以根據(jù)任意格式規(guī)格和內(nèi)容標(biāo)準(zhǔn)來生成數(shù)據(jù)。例如,如果現(xiàn)有數(shù)據(jù)集合不具有足夠的記錄或者不具有帶有期望特性的記錄,則可以使用數(shù)據(jù)生成來補(bǔ)充現(xiàn)有數(shù)據(jù)。例如,如果應(yīng)用程序需要不可用的數(shù)據(jù),則可以使用數(shù)據(jù)生成來從零開始生成數(shù)據(jù)。
[0049]在一些示例中,可以生成逼真數(shù)據(jù)以測試數(shù)據(jù)處理應(yīng)用程序。例如,可以生成使得數(shù)據(jù)處理應(yīng)用程序的所有規(guī)則被執(zhí)行至少一次(例如,觸發(fā)數(shù)據(jù)處理應(yīng)用程序中的每個可能動作)的測試數(shù)據(jù)的集合。如果不存在這種數(shù)據(jù),則可以生成這種數(shù)據(jù)。例如,在生成了完整的數(shù)據(jù)集合之后,所生成的數(shù)據(jù)集合可以通過數(shù)據(jù)處理應(yīng)用程序來處理以測試數(shù)據(jù)處理應(yīng)用程序的執(zhí)行。由于所生成的數(shù)據(jù)集合使得要執(zhí)行數(shù)據(jù)處理應(yīng)用程序中的每個可能動作,因此可以全面地測試數(shù)據(jù)處理應(yīng)用程序。如果數(shù)據(jù)處理應(yīng)用程序的性能不如預(yù)期那樣進(jìn)行工作(例如,如果數(shù)據(jù)處理應(yīng)用程序的動作沒有如預(yù)期那樣執(zhí)行),則可以適當(dāng)?shù)匦薷脑摂?shù)據(jù)處理應(yīng)用程序并且對該數(shù)據(jù)處理應(yīng)用程序進(jìn)行測試,直到實(shí)現(xiàn)滿意的結(jié)果為止。
[0050]根據(jù)以下的說明書、以及根據(jù)權(quán)利要求書,本發(fā)明的其它特征和優(yōu)點(diǎn)將變得明顯。
【附圖說明】
[0051]圖1是數(shù)據(jù)生成所用的系統(tǒng)的框圖。
[0052]圖2是數(shù)據(jù)生成模塊的框圖。
[0053]圖3A是示例源文件的一部分。
[0054]圖3B?3D是示例目標(biāo)文件的一部分。
[0055]圖4是源窗口。
[0056]圖5A是源窗口。
[0057]圖5B是數(shù)據(jù)生成窗口。
[0058]圖6是目標(biāo)窗口。
[0059]圖7是輔助源窗口。
[0060]圖8是記錄格式窗口。
[0061 ]圖9是字符串特性窗口。
[0062]圖10是十進(jìn)制數(shù)特性窗口。
[0063]圖11是整數(shù)特性窗口。
[0064]圖12是日期特性窗口。
[0065]圖13是日期時間特性窗口。
[0066]圖14A?14C是規(guī)則創(chuàng)建所用的窗口。
[0067]圖15A?15C是規(guī)則創(chuàng)建所用的窗口。
[0068]圖16是規(guī)則創(chuàng)建所用的窗口。
[0069]圖17A?17B是主題區(qū)域數(shù)據(jù)集所用的窗口。
[0070]圖18是流程圖。
[0071 ]圖19是數(shù)據(jù)處理應(yīng)用程序的框圖。
[0072]圖20是流程圖。
【具體實(shí)施方式】
[0073]這里說明用以根據(jù)各種可配置選項(xiàng)來生成數(shù)據(jù)的一般方式。例如,所生成的數(shù)據(jù)的數(shù)據(jù)類型可以由用戶來指定。數(shù)據(jù)類型可以例如包括字符串、十進(jìn)制數(shù)、整數(shù)、日期和日期時間。所生成的數(shù)據(jù)可以滿足對所生成的該數(shù)據(jù)的特性(例如,所生成的十進(jìn)制數(shù)或整數(shù)數(shù)據(jù)的允許值的范圍、所生成的字符串?dāng)?shù)據(jù)的平均字符串長度、所生成的數(shù)據(jù)中可以使用的值或字符的集合和其它特性等)施加限制的一個或多個可配置的內(nèi)容標(biāo)準(zhǔn)。數(shù)據(jù)生成可以包括修改現(xiàn)有源記錄的一個或多個字段的值、通過在記錄中創(chuàng)建并填充新字段來增加源記錄或者創(chuàng)建全新的記錄。在一些示例中,可配置選項(xiàng)可以由用戶經(jīng)由用戶界面來指定。
[0074]在一些示例中,數(shù)據(jù)處理應(yīng)用程序可以對記錄集合進(jìn)行處理。數(shù)據(jù)處理應(yīng)用程序可以實(shí)現(xiàn)規(guī)則,其中這些規(guī)則的執(zhí)行依賴于一個或多個變量的值,諸如依賴于輸入記錄等。在一些情況下,可以針對記錄集合生成數(shù)據(jù)以在數(shù)據(jù)處理應(yīng)用程序?qū)τ涗浖线M(jìn)行處理的情況下得到期望執(zhí)行結(jié)果。例如,可以針對數(shù)據(jù)集合生成將使得執(zhí)行數(shù)據(jù)處理應(yīng)用程序中的特定規(guī)則、使得特定規(guī)則被執(zhí)行更多次或更少次或者得到其它期望執(zhí)行結(jié)果的數(shù)據(jù)?;趫?zhí)行該程序的結(jié)果,可以針對要生成何種數(shù)據(jù)進(jìn)行確定,以例如更好地實(shí)現(xiàn)期望執(zhí)行結(jié)果。例如,可以生成與預(yù)期要通過數(shù)據(jù)處理應(yīng)用程序來處理的生產(chǎn)數(shù)據(jù)基本類似的逼真數(shù)據(jù)的集合。可以使用所生成的逼真數(shù)據(jù)的集合來測試數(shù)據(jù)處理應(yīng)用程序,以例如確保該數(shù)據(jù)處理應(yīng)用程序的所有方面均正確地工作。基于該測試的結(jié)果,可以在數(shù)據(jù)處理應(yīng)用程序用在生產(chǎn)環(huán)境中之前在適當(dāng)?shù)那闆r下對該數(shù)據(jù)處理應(yīng)用程序進(jìn)行修改。
[0075]圖1示出可以使用數(shù)據(jù)生成技術(shù)的示例性數(shù)據(jù)處理系統(tǒng)100。該系統(tǒng)100包括源102,其中該源102可以包括諸如存儲裝置或者至線上數(shù)據(jù)流的連接等的一個或多個數(shù)據(jù)的源,其中該一個或多個數(shù)據(jù)的源各自可以以各種格式(例如,數(shù)據(jù)庫表、電子表格文件、非結(jié)構(gòu)文本(flat text)文件或大型機(jī)所使用的原本格式)中的任何格式來存儲或提供數(shù)據(jù)。執(zhí)行環(huán)境104包括執(zhí)行模塊112。執(zhí)行環(huán)境104例如可以在諸如某個版本的UNIX操作系統(tǒng)等的適當(dāng)?shù)牟僮飨到y(tǒng)的控制下安裝在一個或多個通用計算機(jī)上。例如,執(zhí)行環(huán)境104可以包括包含使用多個中央處理單元(CPU)或多個處理器內(nèi)核的計算機(jī)系統(tǒng)的結(jié)構(gòu)的多節(jié)點(diǎn)并行計算環(huán)境,可以是本地的(例如,諸如對稱多處理(SMP)計算機(jī)等的多處理器系統(tǒng))或本地分布式的(例如,作為集群所連接的多個處理器或大規(guī)模并行處理(MPP)系統(tǒng))、或者遠(yuǎn)程或遠(yuǎn)程分布式的(例如,經(jīng)由局域網(wǎng)(LAN)和/或廣域網(wǎng)(WAN)連接的多個處理器)、或者它們的任何組入口 ο
[0076]源102包括存儲裝置,這些存儲裝置相對于執(zhí)行環(huán)境104可以是本地的,例如,可以是連接至安裝有執(zhí)行環(huán)境104的計算機(jī)的存儲介質(zhì)(例如,硬盤驅(qū)動器108),或者相對于執(zhí)行環(huán)境104可以是遠(yuǎn)程的,例如,安裝在經(jīng)由(例如,云計算基礎(chǔ)設(shè)施所提供的)遠(yuǎn)程連接與安裝有執(zhí)行環(huán)境104的計算機(jī)進(jìn)行通信的遠(yuǎn)程系統(tǒng)(例如,大型機(jī)110)上。
[0077]執(zhí)行模塊112進(jìn)行讀取并處理從源102讀取到的數(shù)據(jù)。執(zhí)行模塊112包括對數(shù)據(jù)進(jìn)行諸如計算等的處理的一個或多個數(shù)據(jù)處理應(yīng)用程序。輸出數(shù)據(jù)114可以存儲回源102或者存儲在執(zhí)行環(huán)境104可訪問的數(shù)據(jù)存儲系統(tǒng)116中,或者被使用。
[0078]開發(fā)環(huán)境118也可以訪問數(shù)據(jù)存儲系統(tǒng)116,其中在開發(fā)環(huán)境118中,開發(fā)者120能夠?qū)?shù)據(jù)處理應(yīng)用程序、源或者這兩者進(jìn)行配置。在一些實(shí)現(xiàn)中,開發(fā)環(huán)境118是用于開發(fā)作為數(shù)據(jù)流圖的應(yīng)用程序的系統(tǒng),其中該數(shù)據(jù)流圖包括頂點(diǎn)(表示數(shù)據(jù)處理組件或數(shù)據(jù)集),并且這些頂點(diǎn)通過頂點(diǎn)之間的有向鏈接(directed link)(表示工作元素(S卩,數(shù)據(jù))的流)相連接。例如,在通過引用包含于此的標(biāo)題為“Managing Parameters for Graph-BasedApplicat1ns”的美國專利公開號2007/0011668中更詳細(xì)地說明了這種環(huán)境。在標(biāo)題為“EXECUTING COMPUTAT1NS EXPRESSED AS GRAPHS” 的美國專利5,966,072中說明了用于執(zhí)行這種基于圖的計算的系統(tǒng)。根據(jù)該系統(tǒng)100所制作的數(shù)據(jù)流圖提供用于將信息輸入至圖組件所表示的個別處理或從圖組件所表示的個別處理獲得信息的方法、用于在處理之間移動信息的方法以及用于定義處理的運(yùn)行順序的方法。該系統(tǒng)100包括用于從任何可用方法中選取處理間通信方法的算法(例如,與圖的鏈接相對應(yīng)的通信路徑可以使用TCP/1P或UNIX域套接字或者使用共享存儲器在處理之間傳遞數(shù)據(jù))。
[0079]數(shù)據(jù)生成模塊150可以生成數(shù)據(jù)以通過執(zhí)行模塊來處理。數(shù)據(jù)生成模塊150可以修改或增加諸如來自源102的數(shù)據(jù)等的現(xiàn)有數(shù)據(jù)。例如,數(shù)據(jù)生成模塊150可以修改源數(shù)據(jù)記錄中的一個或多個字段的值,或者可以在源數(shù)據(jù)記錄中創(chuàng)建并填充一個或多個新字段。數(shù)據(jù)生成模塊150還可以例如基于源數(shù)據(jù)記錄的格式或者基于指定格式來生成全新的數(shù)據(jù)記錄。
[0080]參考圖2,數(shù)據(jù)生成模塊150包括用于生成要存儲在目標(biāo)24中的數(shù)據(jù)生成引擎20。在一些示例中,數(shù)據(jù)生成引擎20可以基于數(shù)據(jù)源22中的數(shù)據(jù)來生成數(shù)據(jù)。在一些示例中,數(shù)據(jù)生成引擎20可以從零開始(from scratch)生成數(shù)據(jù),S卩,無需源數(shù)據(jù)。數(shù)據(jù)源22可以是文件、數(shù)據(jù)庫、參數(shù)集合或數(shù)據(jù)的其它源。數(shù)據(jù)源22可以包括各自具有數(shù)據(jù)的一個或多個字段的一個或多個記錄。例如,示例數(shù)據(jù)源可以是存儲零售商店的客戶的客戶記錄的數(shù)據(jù)庫(這里稱為“客戶數(shù)據(jù)庫”)。該數(shù)據(jù)庫中的各記錄代表獨(dú)立的客戶。各記錄可以具有多個字段。數(shù)據(jù)源22可以具有用于指定記錄的格式的記錄格式,諸如字段的數(shù)量、各字段中的數(shù)據(jù)的類型(例如,字符串、整數(shù)、十進(jìn)制數(shù)、日期或日期時間)以及各字段中的數(shù)據(jù)的特性(例如,值的允許范圍、最大允許值、允許字符的列表或其它限制)等。在一些示例中,數(shù)據(jù)是從零開始生成的并且不提供數(shù)據(jù)源。
[0081 ] 例如,參考圖3A,示例源文件200的一部分包括6個記錄202,其中各記錄具有以下字段:cust_ID(客戶ID)字段204、1^1^(名字)字段206、(:118丨_386(客戶年齡)字段208和state(州)字段 210。
[0082]再參考圖2,在一些示例中,用戶26可以識別數(shù)據(jù)源22。例如,數(shù)據(jù)生成模塊150的用戶界面引擎28可以使得能夠例如在諸如個人計算機(jī)或移動計算裝置等的計算裝置32的顯示界面上向用戶26顯示用戶界面30。用戶26可以經(jīng)由用戶界面30來識別數(shù)據(jù)源22。所生成的數(shù)據(jù)可以存儲在諸如文件、數(shù)據(jù)庫、參數(shù)集或其它數(shù)據(jù)結(jié)構(gòu)等的目標(biāo)24中。在一些示例中,用戶26可以例如經(jīng)由用戶界面30來識別目標(biāo)文件24。在一些情況下,目標(biāo)的記錄格式可以與源的記錄格式一致。也就是說,針對目標(biāo)所指定的記錄格式可以與源中的現(xiàn)有記錄的記錄格式相同。在一些情況下,目標(biāo)的記錄格式不同于源的記錄格式,并且源的記錄格式的一部分或全部可以映射至目標(biāo)。例如,目標(biāo)的記錄格式中可以包括源的一個或多個字段的格式。
[0083]數(shù)據(jù)生成模塊150可以基于例如數(shù)據(jù)庫36、文件或其它數(shù)據(jù)結(jié)構(gòu)中所存儲的配置數(shù)據(jù)34來針對目標(biāo)24生成數(shù)據(jù)。配置數(shù)據(jù)34可以指定要針對目標(biāo)24使用的數(shù)據(jù)生成方式、目標(biāo)24所用的內(nèi)容生成模式、要針對目標(biāo)24生成的數(shù)據(jù)的數(shù)據(jù)類型、要針對目標(biāo)生成的數(shù)據(jù)所用的內(nèi)容標(biāo)準(zhǔn)以及要針對目標(biāo)24生成的數(shù)據(jù)所用的其它配置信息。以下更詳細(xì)地論述這些配置數(shù)據(jù)34。在一些情況下,用戶26可以例如經(jīng)由用戶界面30來指定針對目標(biāo)24生成數(shù)據(jù)所使用的配置數(shù)據(jù)34的一部分或全部。在一些示例中,可以通過配置引擎39例如基于數(shù)據(jù)源22的分析或者基于與目標(biāo)的期望屬性有關(guān)的信息來確定配置數(shù)據(jù)34的一部分或全部。
[0084]在一些示例中,數(shù)據(jù)生成引擎20可以通過根據(jù)配置數(shù)據(jù)34修改數(shù)據(jù)源22中的現(xiàn)有源記錄的一個或多個字段的值來針對目標(biāo)24生成數(shù)據(jù)。修改后的記錄可以存儲在目標(biāo)24中。在一些情況下,可以修改給定字段的全部的值。例如,可以針對各記錄向給定字段分配值,以使得遍及所有記錄的給定字段的值的分布與如配置數(shù)據(jù)34所指示的目標(biāo)分布一致。例如,該分布可以由用戶26來指定或者通過配置引擎39來確定。在一些情況下,可以修改比給定字段的全部的值少的值,諸如僅修改不滿足如配置數(shù)據(jù)34所指示的指定標(biāo)準(zhǔn)的值等。例如,可以修改給定字段的、落在該字段的允許值的特定范圍以外的任意值。
[0085]例如,參考圖3B,示例目標(biāo)文件220的一部分包括基于源文件200所生成的記錄222。在本示例中,配置數(shù)據(jù)34(圖2)指示CUSt_age字段208的最大值可以是40。為了滿足配置數(shù)據(jù)34所指定的標(biāo)準(zhǔn),數(shù)據(jù)生成引擎20修改源文件200中的CUSt_age字段208的值,以使得cust_age字段的最大值為40。也就是說,將特定記錄222a的cust_age字段208的值從(源文件200中的)45修改為(目標(biāo)文件220中的)25。目標(biāo)文件中的所生成的記錄222的其它字段的值對應(yīng)于源記錄202的值。
[0086]再參考圖2,在一些示例中,數(shù)據(jù)生成引擎20可以通過根據(jù)配置數(shù)據(jù)34利用一個或多個新字段增加數(shù)據(jù)源22的現(xiàn)有源記錄來生成數(shù)據(jù)。增加的記錄(S卩,具有一個或多個新字段的記錄)可以存儲在目標(biāo)24中。配置數(shù)據(jù)34可以提供用于確定新字段的數(shù)量、新字段的數(shù)據(jù)類型和值以及新字段的其它特性的指示。在一些情況下,配置數(shù)據(jù)34可以指定:要基于數(shù)據(jù)源22的源數(shù)據(jù)中的現(xiàn)有字段的數(shù)據(jù)來生成新字段的值。在一些情況下,配置數(shù)據(jù)34可以指定:要從零開始(例如,根據(jù)指定的特性(例如,配置數(shù)據(jù)34所指定的特性)而不基于任何現(xiàn)有源數(shù)據(jù))來生成新字段的值。
[0087]例如,參考圖3C,示例目標(biāo)文件230的一部分包括基于源文件200所生成的記錄232。在本示例中,配置數(shù)據(jù)34(圖2)指定創(chuàng)建新的age_range(年齡范圍)字段234,該新的age_range字段234具有通過將cust_age字段208的值分類成5個可用age_range桶其中之一所生成的值。配置數(shù)據(jù)34還指定創(chuàng)建新的cust_income (客戶收入)字段236,其中該cust_income字段236具有受限于指定的最大值和最小值但與源文件200中的數(shù)據(jù)沒有任何關(guān)系的值。
[0088]再參考圖2,在一些示例中,數(shù)據(jù)生成引擎可以通過根據(jù)配置數(shù)據(jù)34利用一個或多個新記錄增加數(shù)據(jù)源22的現(xiàn)有源記錄來生成數(shù)據(jù)。增加的記錄(S卩,現(xiàn)有源記錄和新記錄這兩者)可以存儲在目標(biāo)24中。新記錄可以與源記錄具有相同的記錄格式。配置數(shù)據(jù)34可以提供用于確定新記錄的數(shù)量、新記錄的字段的值以及新記錄的其它特性的指示。在一些情況下,配置數(shù)據(jù)34可以指定:要從零開始(例如,根據(jù)指定的特性但不基于數(shù)據(jù)源22的任何現(xiàn)有源數(shù)據(jù))生成新記錄中的一個或多個字段的值。在一些情況下,配置數(shù)據(jù)34可以指定:要生成新記錄中的一個或多個字段的值以滿足配置數(shù)據(jù)34所指定的配置文件。例如,配置文件可以指定:所有記錄中的特定字段的值滿足諸如平均或分布等的特性。例如,在客戶數(shù)據(jù)庫源中,可以生成新記錄,以使得遍及所有記錄的Cust_age字段的值滿足配置數(shù)據(jù)34所指定的特定分布。
[0089]例如,參考圖3D,示例目標(biāo)文件240的一部分包括基于源文件200所生成的記錄202和242。在本示例中,配置數(shù)據(jù)34(圖2)指定生成4個新記錄242,以使得遍及所有記錄的Cust_age字段208的值具有40?45之間的平均值,并且受限于該字段的最大值60。在本示例中,配置數(shù)據(jù)34指定:要隨機(jī)(例如,根據(jù)針對該字段所指定的特性)生成各其它字段的值。原始源記錄202也包括在目標(biāo)文件240中。
[0090]在一些示例中,數(shù)據(jù)生成引擎20可以根據(jù)配置數(shù)據(jù)34針對數(shù)據(jù)生成應(yīng)用多于一個的方式。例如,數(shù)據(jù)生成引擎20可以應(yīng)用以下方式的任意組合:可以修改一個或多個字段的值、可以利用一個或多個新字段來增加源記錄以及可以利用一個或多個新記錄來增加源記錄。[0091 ]在一些示例中,僅將所生成的記錄存儲在諸如文件、數(shù)據(jù)庫或參數(shù)集等的目標(biāo)中,并且源記錄(如果存在)并不存儲在目標(biāo)中。在一些情況下,可以例如由用戶來指定源,并且所生成的記錄可以基于源的記錄格式、源的一個或多個字段的配置文件或源的其它特性,由數(shù)據(jù)生成引擎20模塊生成。在一些情況下,并不指定源,并且記錄是根據(jù)配置數(shù)據(jù)34由數(shù)據(jù)生成引擎20從零開始自動生成的。例如,一個或多個字段的記錄格式和特性可以通過配置數(shù)據(jù)34來指定。
[0092]在一些示例中,源的記錄格式可以映射至目標(biāo)。例如,配置數(shù)據(jù)34可以指示目標(biāo)要采用源的記錄格式。例如,根據(jù)配置數(shù)據(jù)34,源的記錄格式可以應(yīng)用于目標(biāo),并且可以根據(jù)源的記錄格式由數(shù)據(jù)生成引擎20從零開始生成新記錄。在一些情況下,可以從多個源生成數(shù)據(jù),并且各源的記錄格式可以部分或完全地映射至目標(biāo)。例如,來自各源的關(guān)注字段的格式可以映射至目標(biāo)。
[0093]在一些示例中,源的記錄格式可以映射至目標(biāo),并且可以進(jìn)行修改。例如,配置數(shù)據(jù)34可以指定:要將字段的名稱從源改為目標(biāo),或者要移除來自源的字段。
[0094]參考圖4,數(shù)據(jù)生成模塊150提供用戶界面(例如,圖2的用戶界面30),該用戶界面提供源窗口 300以使得用戶能夠識別數(shù)據(jù)源。源窗口 300包括使得用戶能夠指定諸如文件或數(shù)據(jù)庫等的源類型的源類型菜單302。在圖4的示例中,源是文件。源窗口300使得用戶能夠指定源的諸如指向源的路徑等的標(biāo)識符304(例如,指向文件源的路徑或指向數(shù)據(jù)庫源所用的配置文件的路徑)以及源記錄的記錄格式的標(biāo)識符(例如,指向記錄格式文件的路徑)。在一些示例中,在源是數(shù)據(jù)庫的情況下,用戶可以指定從數(shù)據(jù)庫獲得源數(shù)據(jù)所要使用的查詢(例如,SQL查詢)。源窗口 300提供如下選項(xiàng),其中該選項(xiàng)使得用戶能夠指示是否要生成新記錄306,并且如果要生成新記錄,則指示要生成的新記錄的數(shù)量。源窗口 300使得用戶能夠查看與源有關(guān)的其它信息308。例如,用戶可以查看源的記錄格式、查看源數(shù)據(jù)或者查看源數(shù)據(jù)的配置文件。在一些示例中,可以使用諸如數(shù)據(jù)流圖等的可執(zhí)行應(yīng)用程序來生成源數(shù)據(jù)。
[0095]參考圖5A和5B,在一些示例中,用戶界面30的源窗口300使得用戶能夠指定:要在不指定源的情況下從零開始生成數(shù)據(jù)。特別地,源窗口 300使得用戶能夠選擇所生成的數(shù)據(jù)作為源類型菜單302中的源類型。如果用戶選擇所生成的數(shù)據(jù)作為源類型,則將數(shù)據(jù)生成窗口 400顯示在用戶界面30中。數(shù)據(jù)生成窗口 400使得用戶能夠指示生成數(shù)據(jù)所要使用的方法402(以下論述)并且指示要生成的新記錄404的數(shù)量。在一些示例中,除非用戶對默認(rèn)進(jìn)行重寫,否則可以使用諸如默認(rèn)數(shù)據(jù)生成模式或目標(biāo)的記錄格式中所指定的默認(rèn)值等的默認(rèn)數(shù)據(jù)生成特性來從零開始生成數(shù)據(jù)。例如,字段生成重寫選項(xiàng)406使得用戶能夠針對目標(biāo)中的一個或多個字段指定數(shù)據(jù)生成特性。在一些示例中,規(guī)則選項(xiàng)408使得用戶能夠針對個別字段創(chuàng)建更多復(fù)雜的數(shù)據(jù)生成規(guī)則。
[0096]參考圖6,用戶界面30提供使得用戶能夠識別目標(biāo)的目標(biāo)窗口500。目標(biāo)窗口 500中的目標(biāo)類型菜單502使得用戶能夠指定諸如文件或數(shù)據(jù)庫等的目標(biāo)類型。目標(biāo)窗口 500還使得用戶能夠指定目標(biāo)的標(biāo)識符504(例如,指向目標(biāo)文件的路徑或指向目標(biāo)數(shù)據(jù)庫所用的配置文件的路徑)。在一些示例中,除非例如經(jīng)由目標(biāo)窗口500指定不同的記錄格式,否則使用源的記錄格式作為目標(biāo)的記錄格式。例如,如果在無需源的情況下從零開始生成數(shù)據(jù),則可以經(jīng)由用于指定目標(biāo)所用的記錄格式的目標(biāo)窗口來識別記錄格式文件。在一些示例中,可以使用諸如數(shù)據(jù)流圖等的可執(zhí)行應(yīng)用程序來將所生成的數(shù)據(jù)寫入目標(biāo)。目標(biāo)窗口 500提供運(yùn)行按鈕506,該運(yùn)行按鈕506在已識別出源和目標(biāo)之后向用戶提供針對數(shù)據(jù)生成所用的各種可配置選項(xiàng)的訪問。目標(biāo)窗口 500還使得用戶能夠查看與源有關(guān)的其它信息508。例如,用戶可以查看目標(biāo)數(shù)據(jù)集合、查看目標(biāo)數(shù)據(jù)集合的配置文件或者查看目標(biāo)的記錄格式。在一些示例中,目標(biāo)窗口提供針對與目標(biāo)的數(shù)據(jù)的生成相關(guān)聯(lián)的統(tǒng)計數(shù)據(jù)(諸如從源所讀取和/或?qū)懭肽繕?biāo)的記錄的數(shù)量、所生成的記錄的數(shù)量或其它統(tǒng)計數(shù)據(jù)等)的訪問。
[0097]數(shù)據(jù)生成引擎20提供用以生成數(shù)據(jù)的多個方式。用戶界面30的數(shù)據(jù)生成窗口使得用戶能夠指定期望的數(shù)據(jù)生成方式。例如,可以使用字段修改、字段創(chuàng)建、記錄創(chuàng)建、現(xiàn)有源和父數(shù)據(jù)集方式來生成數(shù)據(jù)。
[0098]字段修改:在字段修改方式中,可以修改源記錄的一個或多個字段的值,以使得目標(biāo)數(shù)據(jù)記錄具有與源數(shù)據(jù)記錄相同的格式但不同的內(nèi)容。在一些情況下,可以修改給定字段的全部的值。例如,可以進(jìn)行賦值,以使得遍及所有記錄的給定字段的值的分布與目標(biāo)分布一致。在一些情況下,可以修改比給定字段的全部的值少的值,諸如僅修改不滿足指定標(biāo)準(zhǔn)的值等。例如,可以修改落在特定字段的允許值的特定范圍以外的任意值。
[0099]字段創(chuàng)建:在字段創(chuàng)建方式中,可以針對現(xiàn)有記錄創(chuàng)建一個或多個新字段。在一些情況下,可以基于源數(shù)據(jù)中的現(xiàn)有字段的數(shù)據(jù)來生成新字段的值。在一些情況下,可以從零開始(例如,根據(jù)指定的特性而不基于任何現(xiàn)有源數(shù)據(jù))生成新字段的值。
[0100]記錄創(chuàng)建:在記錄創(chuàng)建方式中,可以生成新記錄。在要生成新記錄的情況下,可以(例如,如圖5B中那樣)指定要生成的記錄的數(shù)量。在一些情況下,可以指定新記錄的記錄格式。例如,如果要利用現(xiàn)有源記錄和新生成的記錄這兩者來填充目標(biāo),則新記錄的記錄格式可以與源記錄的記錄格式相同。如果要僅利用新生成的記錄來填充目標(biāo),則用戶可以指定要應(yīng)用于所生成的記錄的記錄格式,諸如字段的數(shù)量、各字段的數(shù)據(jù)的類型、各字段的數(shù)據(jù)的特性(例如,最大值、最小值、允許字符的集合和其它特性)以及記錄格式的其它特征等。
[0101]現(xiàn)有數(shù)據(jù)集:在現(xiàn)有數(shù)據(jù)集方式中,針對新創(chuàng)建的子數(shù)據(jù)集生成數(shù)據(jù)。例如,基于現(xiàn)有客戶數(shù)據(jù)集,可以生成包括交易記錄的新數(shù)據(jù)集。在現(xiàn)有數(shù)據(jù)集方式中,針對各現(xiàn)有源記錄生成指定數(shù)量的新記錄。例如,參考圖7,現(xiàn)有數(shù)據(jù)集窗口 600使得用戶能夠指定源數(shù)據(jù)集的路徑602或數(shù)據(jù)操縱語言(DML)604、針對現(xiàn)有源數(shù)據(jù)集中的各數(shù)據(jù)記錄所要生成的目標(biāo)記錄的數(shù)量606以及不會用于生成目標(biāo)中的記錄的源記錄的百分比。在一些示例中,輔助源可以包含如下數(shù)據(jù),其中該數(shù)據(jù)用于填充目標(biāo)記錄的特定字段但可以具有與源或目標(biāo)的記錄格式不一致的記錄格式。在這種情況下,來自輔助源的一個或多個關(guān)注字段可以映射至目標(biāo)記錄。
[0102]主題區(qū)域方式:在主題區(qū)域方式中,現(xiàn)有源數(shù)據(jù)集可以是主題區(qū)域?qū)蛹壷械母笖?shù)據(jù)集,并且生成數(shù)據(jù)可以包括生成與該父數(shù)據(jù)集相關(guān)的子數(shù)據(jù)集。例如,父數(shù)據(jù)集(即,源)可以是客戶記錄的集合并且子數(shù)據(jù)集(即,目標(biāo))可以是客戶各自的一個或多個交易記錄的集合。可以指定用于將子數(shù)據(jù)集中的記錄鏈接至父數(shù)據(jù)集中的相應(yīng)記錄的關(guān)鍵字段,并且父數(shù)據(jù)記錄的一個或多個關(guān)鍵字段映射至所生成的子數(shù)據(jù)記錄的相應(yīng)字段。例如,cust_ID字段可以是鏈接客戶記錄和交易記錄的關(guān)鍵字段??梢灾付ㄒ槍Ω麝P(guān)鍵字段生成的子記錄的數(shù)量。在一些情況下,可以指定不會用于生成子記錄的父記錄的百分比。在一些情況下,可以指定子記錄所用的記錄格式。
[0103]在一些示例中,可以根據(jù)格式規(guī)格、內(nèi)容標(biāo)準(zhǔn)或這兩者來生成數(shù)據(jù)。格式規(guī)格是要生成的數(shù)據(jù)的格式的規(guī)格。例如,格式規(guī)格可以指示要生成的數(shù)據(jù)的數(shù)據(jù)類型(例如,字符串、十進(jìn)制數(shù)、整數(shù)、日期或日期時間)。內(nèi)容標(biāo)準(zhǔn)是限制要生成的數(shù)據(jù)的特性的標(biāo)準(zhǔn)。示例內(nèi)容標(biāo)準(zhǔn)可以包括:例如,值的允許范圍、最大允許值、允許字符的列表或其它內(nèi)容標(biāo)準(zhǔn)。在一些示例中,在目標(biāo)記錄的記錄格式中指定格式規(guī)格和內(nèi)容標(biāo)準(zhǔn)。在一些示例中,用戶界面30可以提供使得用戶能夠指定字段的特性(諸如字段的格式規(guī)格或內(nèi)容標(biāo)準(zhǔn)等)的字段窗
□ O
[0104]參考圖8,用戶界面的記錄格式窗口700使得用戶能夠編輯包括目標(biāo)的一個或多個字段的數(shù)據(jù)類型和數(shù)據(jù)特性的目標(biāo)記錄格式。記錄格式窗口 700顯示采用目標(biāo)的記錄格式的字段的列表702。列表702還指示各字段的數(shù)據(jù)類型。在一些示例中,采用目標(biāo)的記錄格式的字段還出現(xiàn)在數(shù)據(jù)源的記錄格式中??梢岳缋眯翘?即,**)在列表702中標(biāo)記出現(xiàn)在目標(biāo)記錄格式和源記錄格式這兩者中的這些字段。例如,在圖8的示例中,字段last_壯31183(31:;[011(最后的交易)和(31181:011161'_8;[1^6(客戶始于)出現(xiàn)在目標(biāo)記錄格式和源記錄格式這兩者中。沒有標(biāo)記的字段僅出現(xiàn)在目標(biāo)記錄格式中。在一些示例中,不在列表702中顯示出現(xiàn)在源記錄格式中而沒有出現(xiàn)在目標(biāo)記錄格式中的字段。
[0105]記錄格式窗口700使得用戶能夠例如通過點(diǎn)擊、輕觸或拖拽期望字段的名稱來選擇指定數(shù)據(jù)生成特性所針對的目標(biāo)記錄格式的一個或多個字段。顯示目標(biāo)記錄格式中的所選擇的字段的列表704。也就是說,列表704中的字段是用戶意圖指定數(shù)據(jù)生成特性所針對的目標(biāo)記錄格式的那些字段。在一些示例中,例如,如果用戶意圖僅針對目標(biāo)記錄格式的字段的一部分指定數(shù)據(jù)生成特性,則列表704可以是目標(biāo)記錄格式中的所有字段的列表702的子集。例如,在圖8的示例中,選擇了字段。1181^(1、;1^1116、1肪1116和1311;[1(1;[呢__11(建筑編號)。
[0106]用戶界面30使得用戶能夠編輯顯示在列表704中的所選擇的各字段所用的記錄格式。例如,針對所選擇的各字段,用戶可以進(jìn)行以下處理的任意組合:指定字段的數(shù)據(jù)類型、向字段分配內(nèi)容生成模式以及指定字段的數(shù)據(jù)特性。用戶界面可以依次針對所選擇的各字段顯示數(shù)據(jù)類型窗口、內(nèi)容生成窗口和數(shù)據(jù)特性窗口中的一個或多個,如此使得用戶能夠針對所選擇的各字段指定各種特征。
[0107]用戶界面30使得用戶能夠指定字段的數(shù)據(jù)類型??梢皂憫?yīng)于用戶從列表704選擇特定字段而將數(shù)據(jù)類型窗口顯示在用戶界面30上以使得用戶能夠針對該字段指定數(shù)據(jù)類型。用戶可以指定數(shù)據(jù)生成模塊150所支持的任何任意數(shù)據(jù)類型,諸如字符串、十進(jìn)制數(shù)、整數(shù)、日期和日期時間(即,日期和時間)等??梢葬槍Ω髯侄沃付ㄒ粋€數(shù)據(jù)類型。在一些情況下,如果沒有針對給定字段指定數(shù)據(jù)類型,則保持該字段所用的記錄格式所指示的數(shù)據(jù)類型。例如,在圖8的示例中,在字段名稱旁的括號內(nèi)示出如各字段所用的記錄格式所指示的該字段的數(shù)據(jù)類型??梢源鎯︶槍δ繕?biāo)記錄格式的各字段所指定的數(shù)據(jù)類型作為配置數(shù)據(jù)34。
[0108]用戶界面30使得用戶能夠向所選擇的一個或多個字段分配內(nèi)容生成模式??梢皂憫?yīng)于用戶從列表704選擇特定字段而將內(nèi)容生成窗口顯示在用戶界面30中以使得用戶能夠向該字段分配內(nèi)容生成模式。字段所用的內(nèi)容生成模式指示要通過數(shù)據(jù)生成弓I擎20針對字段生成數(shù)據(jù)的方式。例如,示例內(nèi)容生成模式可以包括唯一模式、隨機(jī)模式、默認(rèn)模式和列表模式。在唯一模式中,可以針對各記錄中的所選擇的字段生成唯一值。例如,可以生成唯一十進(jìn)制數(shù)、字符串或整數(shù)值的升序集合??梢韵鄬τ谥T如19000101或其它日期基礎(chǔ)等的默認(rèn)或指定的日期基礎(chǔ)以天為升序來生成日期值??梢韵鄬τ谥T如當(dāng)前的日期和時間等的默認(rèn)或指定的日期時間基礎(chǔ)以分鐘為升序來生成日期時間值。在隨機(jī)模式中,可以針對各記錄中的所選擇的字段生成隨機(jī)值。在默認(rèn)模式中,可以使用目標(biāo)的記錄格式中所指定的默認(rèn)特性或默認(rèn)值來生成值。例如,在一些示例中,默認(rèn)數(shù)據(jù)生成模式可以是隨機(jī)模式,并且默認(rèn)的值范圍和特性可以適用于各數(shù)據(jù)類型。在列表模式中,從允許值的列表中選擇值。在一些情況下,如果沒有針對給定字段分配內(nèi)容生成模式,則可以使用默認(rèn)模式來針對該字段生成數(shù)據(jù)或者可以使用(例如,如目標(biāo)記錄的記錄格式中所指定的)默認(rèn)值作為該字段的值。在一些示例中,可以在目標(biāo)記錄的記錄格式中指定一個或多個字段所用的內(nèi)容生成模式??梢源鎯δ繕?biāo)記錄格式的各字段所用的內(nèi)容生成模式作為配置數(shù)據(jù)34。
[0109]如果向字段分配唯一模式、隨機(jī)模式或默認(rèn)模式的數(shù)據(jù)生成,則用戶界面30使得用戶能夠針對所選擇的一個或多個字段指定數(shù)據(jù)特性。數(shù)據(jù)特性可以依賴于字段的數(shù)據(jù)類型并且可以限制針對該字段能夠生成的允許值。例如,諸如十進(jìn)制數(shù)字段或整數(shù)字段等的數(shù)值字段使得數(shù)據(jù)特性可以表示最大允許值、最小允許值、值的允許范圍或者遍及所有記錄的字段的平均值。如以下論述的,還可以應(yīng)用其它數(shù)據(jù)特性。在一些示例中,還可以針對一個或多個字段指定字段錯誤率(即,要包含錯誤的記錄的數(shù)量或百分比)。為了使得能夠針對特定字段指定數(shù)據(jù)特性,響應(yīng)于用戶從列表704選擇了該字段而將該字段的數(shù)據(jù)類型所特有的特性窗口顯示在用戶界面30中。例如,可以在用戶界面30中顯示字符串特性窗口、十進(jìn)制數(shù)特性窗口、整數(shù)特性窗口、日期特性窗口、日期時間特性窗口或其它數(shù)據(jù)類型所用的窗口??梢源鎯δ繕?biāo)記錄格式的各字段的數(shù)據(jù)特性作為配置數(shù)據(jù)34。
[0110]參考圖9,字符串特性窗口800使得用戶能夠針對字符串字段指定數(shù)據(jù)特性。在圖9的示例中,數(shù)據(jù)特性包括特定字符串字段的平均字符串長度802、最大字符串長度804和允許字符的集合806。用戶還可以針對特定字符串字段指定NULL(空)值的百分比808。在一些情況下,還可以指定其它數(shù)據(jù)特性。在一些示例中,如果用戶沒有針對字符串字段指定數(shù)據(jù)特性中的一個或多個,則可以應(yīng)用數(shù)據(jù)特性的默認(rèn)值。例如,默認(rèn)的平均字符串長度802可以是8;默認(rèn)的最大字符串長度804可以是16;默認(rèn)的允許字符串的集合806可以包括字符{a?z,A?Z,0?9和空格};以及默認(rèn)的NULL值的百分比808可以是O。
[0111]在一個特定示例中,用戶針對特定字段將平均字符串長度802指定為4個字符,最大字符串長度804指定為8個字符,允許字符的集合806指定為{a?z,A?Z},以及NULL值的百分比808指定為O。在本示例中,如果用戶向特定字段分配了隨機(jī)模式數(shù)據(jù)生成,則將會從允許字符的集合中針對各記錄的該字段生成隨機(jī)字符串,并且該隨機(jī)字符串受限于指定的平均長度和最大長度。如果用戶向特定字段分配了唯一模式數(shù)據(jù)生成,則將會針對各記錄的該字段生成唯一字符串(即,以使得任何兩個記錄的針對該特定字段所生成的字符串將不會相同)。
[0112]參考圖10,十進(jìn)制數(shù)特性窗口900使得用戶能夠針對十進(jìn)制數(shù)字段指定數(shù)據(jù)特性。在圖10的示例中,數(shù)據(jù)特性包括特定十進(jìn)制數(shù)字段的允許值的范圍902和NULL值的百分比904。在一些示例中,還可以指定諸如允許十進(jìn)制數(shù)位的最大數(shù)量、所生成的所有記錄的十進(jìn)制數(shù)字段的平均值或其它特性等的其它數(shù)據(jù)特性。在一些示例中,如果用戶沒有指定數(shù)據(jù)特性中的一個或多個,則可以應(yīng)用默認(rèn)值。例如,默認(rèn)的范圍902可以是O?1000,以及默認(rèn)的NULL值的百分比904可以是O。
[0113]在一個特定示例中,用戶針對特定字段將允許值的范圍902指定為O?10并且將NULL值的百分比904指定為10%。在本示例中,如果用戶向特定字段分配了隨機(jī)模式數(shù)據(jù)生成,則將會針對各記錄的該字段生成落入允許值的范圍902以內(nèi)的隨機(jī)十進(jìn)制數(shù)。百分之十的記錄將會被賦予NULL值。如果用戶向特定字段分配了唯一模式數(shù)據(jù)生成,則將會針對各記錄的該字段生成落入允許值的范圍902以內(nèi)的唯一十進(jìn)制數(shù)(S卩,以使得任何兩個記錄的該特定字段的值將不會相同)。
[0114]參考圖11,整數(shù)特性窗口180使得用戶能夠針對整數(shù)字段指定數(shù)據(jù)特性。在圖11的示例中,數(shù)據(jù)特性包括允許值的范圍182。在一些示例中,還可以指定諸如特定整數(shù)字段的NULL值的百分比184或者所生成的所有記錄的整數(shù)字段的平均值等的其它數(shù)據(jù)特性。在一些示例中,如果用戶沒有指定數(shù)據(jù)特性中的一個或多個,則可以應(yīng)用默認(rèn)值。例如,默認(rèn)的范圍182可以是O?127。
[0115]參考圖12,日期特性窗口190使得用戶能夠針對日期字段指定數(shù)據(jù)特性。在圖12的示例中,數(shù)據(jù)特性包括諸如年、月或日等的日期范圍度量192。數(shù)據(jù)特性還包括作為要用作基礎(chǔ)的日期的日期基礎(chǔ)194(例如,寫成YYY麗DD),其中要相對于該基礎(chǔ)來計算日期范圍,YYYY是指年,MM是指月,并且DD是指日。數(shù)據(jù)特性還包括特定日期字段的相對于日期基礎(chǔ)194的允許日期的范圍196以及NULL值或空白值的百分比198。在一些情況下,還可以指定其它數(shù)據(jù)特性。在一些示例中,如果用戶沒有指定數(shù)據(jù)特性中的一個或多個,則可以應(yīng)用默認(rèn)值。例如,默認(rèn)的日期范圍度量192可以是年,默認(rèn)的日期基礎(chǔ)194可以是今天,允許日期的范圍196可以是(相對于默認(rèn)的日期基礎(chǔ)的)-7?O年,以及默認(rèn)的NULL值的百分比198可以是I %。
[0116]在一個特定示例中,用戶針對特定字段將日期范圍度量192指定為日,日期基礎(chǔ)194指定為2013年I月I日,允許日期的范圍196指定為365(即,日期基礎(chǔ)2013年I月I日之后的365天),以及NULL值的百分比198指定為O。在本示例中,如果用戶向該特定字段分配了隨機(jī)模式數(shù)據(jù)生成,則將會向各記錄的該字段分配在2013年I月I日?2014年I月I日之間隨機(jī)選擇的日期。如果用戶向該特定字段分配了唯一模式數(shù)據(jù)生成,則將會向各記錄的該字段分配2013年I月I日?2014年I月I日之間的唯一日期(S卩,以使得任何兩個記錄的該特定字段的日期將不會相同)。
[0117]參考圖13,日期時間特性窗口250使得用戶能夠針對日期時間字段指定數(shù)據(jù)特性。在圖13的示例中,數(shù)據(jù)特性包括諸如年、月或日等的日期時間范圍度量252。數(shù)據(jù)特性還包括作為要用作基礎(chǔ)的日期和時間的日期時間基礎(chǔ)254 (例如,寫成YYYYMMDDHH24MISS.NNN),其中要相對于該基礎(chǔ)來計算日期時間范圍,YYYY是指年,MM是指月,DD是指日,HH24是指24小時制的時鐘上的小時,MI是指分鐘,SS是指秒,并且NNN是指千分之幾秒。數(shù)據(jù)特性還包括特定日期時間字段的相對于日期時間基礎(chǔ)254的允許日期時間的范圍256以及NULL值的百分比258。在一些情況下,還可以指定其它數(shù)據(jù)特性。在一些示例中,如果用戶沒有指定數(shù)據(jù)特性中的一個或多個,則可以應(yīng)用默認(rèn)值。例如,默認(rèn)的日期時間范圍度量252可以是日,默認(rèn)的日期時間基礎(chǔ)254可以是現(xiàn)在,默認(rèn)的允許日期時間的范圍256可以是-7?O天,以及默認(rèn)的NULL值的百分比258可以是O。
[0118]在一些示例中,特性窗口(例如,字符串特性窗口 800、十進(jìn)制數(shù)特性窗口 900、整數(shù)特性窗口 180、日期特性窗口 190或日期時間特性窗口 250)中的一個或多個使得用戶能夠例如通過針對字段選擇或指定字段錯誤率的值來重寫該字段的默認(rèn)錯誤率。例如,用戶可以從以下錯誤率中進(jìn)行選擇:無、二分之一的字段存在錯誤、十分之一的字段存在錯誤、百分之一的字段存在錯誤、千分之一的字段存在錯誤、萬分之一的字段存在錯誤和十萬分之一的字段存在錯誤。在一些示例中,用戶可以選擇或指定百分錯誤率。
[0119]在一些示例中,用戶界面30向用戶提供重寫一個或多個數(shù)據(jù)類型的默認(rèn)數(shù)據(jù)特性的機(jī)制。例如,用戶可以重寫所有字符串?dāng)?shù)據(jù)的平均字符串長度。在用戶重寫特定數(shù)據(jù)類型的默認(rèn)特性的情況下,該重寫特性應(yīng)用于用戶沒有指定數(shù)據(jù)特性的該數(shù)據(jù)類型的所有數(shù)據(jù)生成。
[0120]如果向字段分配列表模式數(shù)據(jù)生成,則可以將使得能夠提供該字段的允許值的列表的列表窗口顯示在用戶界面30中。例如,如果向building_num字段分配列表模式數(shù)據(jù)生成,則用戶可以提供能夠用作building_num字段的值的建筑編號的列表(例如,{10、20、30、40、50})。在通過數(shù)據(jù)生成引擎150針對1311;[1(1;[1^_11111]1字段生成數(shù)據(jù)的情況下,可以從建筑編號的列表中隨機(jī)選擇各記錄的該字段的值。在一些示例中,可以應(yīng)用其它約束。例如,可以從受限于列表中的各項(xiàng)被選擇相等的次數(shù)的約束的列表中選擇字段的值。
[0121]在一些示例中,可以創(chuàng)建針對數(shù)據(jù)生成或源-目標(biāo)格式映射的高級規(guī)則。例如,高級規(guī)則可以包括用于將一個字段中的值映射在其它字段中的規(guī)則、用于使用一個字段中的值來計算其它字段中的值的規(guī)則或者用于使用源中的多于一個字段來創(chuàng)建目標(biāo)中的單個字段的規(guī)則。在一些示例中,高級規(guī)則可以使數(shù)據(jù)源的字段的值與針對目標(biāo)的字段所要生成的值相關(guān)。在一些示例中,高級規(guī)則可以使目標(biāo)的第一字段的值與針對目標(biāo)的第二字段所要生成的值相關(guān)。用戶界面30可以提供諸如圖14A?14C、15A?15C和16所示的配置畫面和規(guī)則編輯器等的使得用戶能夠生成針對一個或多個目標(biāo)字段的生成數(shù)據(jù)所用的高級規(guī)則的規(guī)則編輯器能力。例如,用戶界面30可以提供使得用戶能夠指定與字段相關(guān)聯(lián)的規(guī)則的規(guī)則窗口,其中,可以使用該規(guī)則來生成用以填充該字段的數(shù)據(jù)。用戶界面30可以提供使得用戶能夠定義規(guī)則的規(guī)則編輯器。
[0122]例如,參考圖14A?14C,用戶界面30的規(guī)則編輯器能力使得用戶能夠創(chuàng)建用以將一個字段中的值映射在另一字段中的高級規(guī)則。在本示例中,用戶想要創(chuàng)建使得能夠生成state_cd字段和state_name (州名)字段這兩者的規(guī)則,其中state_cd字段的值是基于值為相應(yīng)的州全名的state_name字段從New England(新英格蘭)州的兩個字母的縮寫的列表中所選擇的。為了創(chuàng)建該規(guī)則,用戶可以經(jīng)由state_cd字段所用的配置窗口350(圖14A)來向state_cd字段分配列表生成模式,并且指定可以選擇state_cd字段的值的列表352(在這種情況下,New England州的兩個字母的縮寫的列表為:MA、CT、R1、VT、ME、NH)。在規(guī)則窗口 354(圖14B)中,用戶可以指示要將state_name字段356與可以用于將數(shù)據(jù)填充在state_name字段356中的規(guī)則“計算state_name” 358相關(guān)聯(lián)。用戶可以在規(guī)則編輯器360(圖14C)中針對state_name字段定義“計算state_name”規(guī)則。在本不例中,“計算state_name”規(guī)則針對state_cd字段的各值指定要向state_name字段分配的值。
[0123]例如,參考圖15A?15C,用戶界面30的規(guī)則編輯器能力使得用戶能夠創(chuàng)建用以使用目標(biāo)中的第一字段的值來計算目標(biāo)中的第二字段的值的高級規(guī)則。在本示例中,用戶想要創(chuàng)建使用income(收入)字段的值來計算tax_rate(稅率)字段的值的規(guī)則。為了創(chuàng)建該規(guī)則,用戶可以經(jīng)由income字段所用的內(nèi)容生成窗口 450(圖15A)來向income字段分配隨機(jī)生成模式,并且針對income字段指定諸如允許值的范圍和空白值的百分比等的數(shù)據(jù)特性452。在規(guī)則窗口454(圖15B)中,用戶可以指示要將tax_rate字段456與可以用于將數(shù)據(jù)填充在tax_rate字段456中的規(guī)則“計算tax_rate” 458相關(guān)聯(lián)。用戶可以在規(guī)則編輯器460(圖15C)中針對tax_rate字段定義規(guī)則。在本示例中,“計算tax_rate”規(guī)則458針對income字段的各值指定要向tax_rate字段分配的值?!坝嬎鉻ax_rate”規(guī)則還指定例如在income字段為空白、NULL或存在錯誤的情況下要向tax_rate字段分配的默認(rèn)值462。
[0124]例如,參考圖16,用戶界面30的規(guī)則編輯器能力使得用戶能夠創(chuàng)建用以將多個源字段映射在單個目標(biāo)字段中的高級規(guī)則。在一些情況下,源字段中的一個或多個的記錄格式可以不同于目標(biāo)字段的記錄格式。在本示例中,用戶想要創(chuàng)建用于指定使用firstname(名)字段和Iastname(姓)字段這兩者的值來生成fullname(全名)字段的數(shù)據(jù)的表達(dá)方式的規(guī)則。為了創(chuàng)建該規(guī)則,在規(guī)則窗口 55O中,用戶可以針對作為來自源的f i r s tname字段556、空格和來自源的 1&81:肪1]16字段558的組合(“f irstname” + “” + “l(fā)astname” )的fuIlname字段554定義規(guī)則552。
[0125]可以基于格式規(guī)格、一個或多個內(nèi)容標(biāo)準(zhǔn)、數(shù)據(jù)生成模式和高級規(guī)則中的一個或多個來生成數(shù)據(jù)。例如,可以修改源記錄中的數(shù)據(jù),可以利用數(shù)據(jù)來創(chuàng)建并填充一個或多個新字段,以及/或者可以利用數(shù)據(jù)來創(chuàng)建并填充新記錄。
[0126]在一些示例中,可以創(chuàng)建主題區(qū)域。主題區(qū)域是經(jīng)由至少一個字段中的關(guān)鍵關(guān)系而在層級中彼此相關(guān)的數(shù)據(jù)集的集合。例如,現(xiàn)有父數(shù)據(jù)集可以是客戶記錄的集合并且子數(shù)據(jù)集可以是針對各現(xiàn)有客戶所生成的一個或多個交易記錄的集合。
[0127]參考圖17A,在一個示例中,聯(lián)合窗口70使得用戶能夠在要生成子數(shù)據(jù)集的情況下指定現(xiàn)有父數(shù)據(jù)集的一個或多個字段用作關(guān)鍵字段。在圖17A的示例中,現(xiàn)有父數(shù)據(jù)集是客戶數(shù)據(jù)集并且要生成交易數(shù)據(jù)集作為具有聯(lián)合關(guān)鍵字段custid的子數(shù)據(jù)集。參考圖17B,聯(lián)合窗口75使得用戶能夠針對該子數(shù)據(jù)集指定一個或多個聯(lián)合關(guān)鍵字段。在本示例中,已經(jīng)從框76處的父數(shù)據(jù)集指定了 custid字段作為聯(lián)合關(guān)鍵字段。在框78處,可以從子數(shù)據(jù)集指定字段作為聯(lián)合關(guān)鍵字段。在一些示例中,可以從主題區(qū)域數(shù)據(jù)集中排除諸如不存在相應(yīng)子記錄的父記錄或不存在相應(yīng)父記錄的子記錄等的非聯(lián)合記錄。在一些示例中,即使是非聯(lián)合記錄也可以包括在主題區(qū)域數(shù)據(jù)集中。
[0128]在一些示例中,可以為了參考完整性而創(chuàng)建主題區(qū)域,這意味著主題區(qū)域?qū)H提供用于確保主題區(qū)域的層級數(shù)據(jù)集的參考完整性的數(shù)據(jù)記錄。參考完整性是指主題區(qū)域的各記錄與主題區(qū)域的至少一個其它記錄聯(lián)合。例如,示例主題區(qū)域可以包括使賬戶標(biāo)識符與各交易記錄相關(guān)聯(lián)的第一數(shù)據(jù)集。在主題區(qū)域的另一數(shù)據(jù)集中,各客戶標(biāo)識符可以與多個賬戶標(biāo)識符相關(guān)聯(lián)并且與多個廣品標(biāo)識符相關(guān)聯(lián)。確保主題區(qū)域的參考完整性意味著確保主題區(qū)域數(shù)據(jù)集中所包括的所有記錄與主題區(qū)域數(shù)據(jù)集中的一個或多個其它記錄有效聯(lián)合。在一些示例中,主題區(qū)域可以被創(chuàng)建為包括根據(jù)任意可適用的子設(shè)置規(guī)則而得到的數(shù)據(jù)記錄以及確保參考完整性的數(shù)據(jù)記錄這兩者。也就是說,例如,即使是不滿足參考完整性標(biāo)準(zhǔn)的記錄也可以包括在主題區(qū)域中以滿足子設(shè)置規(guī)則。在內(nèi)容通過引用包含于此的標(biāo)題為“Data Records Select1n”的美國專利申請13/827,558中提供了子設(shè)置規(guī)則的其它說明。
[0129]在一些示例中,可以基于一個或多個現(xiàn)有數(shù)據(jù)集來創(chuàng)建虛擬數(shù)據(jù)集。例如,基于客戶數(shù)據(jù)集和交易數(shù)據(jù)集,可以生成包括一個或多個字段的新的匯總數(shù)據(jù)集,其中該一個或多個字段具有諸如每個客戶的交易次數(shù)或每個客戶所花費(fèi)的金額等的值。這種匯總數(shù)據(jù)集可以用在例如對大量或少量客戶進(jìn)行操作的數(shù)據(jù)處理應(yīng)用程序中。
[0130]再參考圖2,在一些示例中,分析引擎38可以進(jìn)行自動分析以針對所生成的數(shù)據(jù)實(shí)現(xiàn)格式規(guī)格、一個或多個內(nèi)容標(biāo)準(zhǔn)、數(shù)據(jù)生成模式和高級規(guī)則中的一個或多個。例如,作為基本示例,如果用戶指定2000年5月I日為日期基礎(chǔ)并且將允許日期的范圍指定為10年,則分析引擎38可以識別出2000年5月I日?2010年5月I日為允許日期的范圍而無需用戶指定準(zhǔn)確日期。
[0131]在另一示例中,分析引擎38可以確定將會實(shí)現(xiàn)用戶所指定的平均字符串長度和最大字符串長度的遍及多個記錄的字符串長度的分布。例如,分析引擎可以基于默認(rèn)最大字符串長度和默認(rèn)平均字符串長度之間的默認(rèn)目標(biāo)比來確定字符串長度的分布??梢詫ψ畲笞址L度應(yīng)用默認(rèn)目標(biāo)比以識別諸如高斯分布等的字符串長度分布中的峰值字符串長度。例如,在一個示例中,默認(rèn)最大字符串長度是16并且默認(rèn)平均字符串長度是8,這樣使得默認(rèn)目標(biāo)比是0.5??梢詫ψ址纳?例如,字符串的隨機(jī)生成)應(yīng)用該默認(rèn)目標(biāo)比。例如,在受限于最大字符串長度6的字段中,應(yīng)用默認(rèn)目標(biāo)比以確定峰值字符串長度3。因而,將會在峰值字符串長度3周圍以高斯分布生成字符串。在另一示例中,在受限于最大字符串長度25的字段中,應(yīng)用默認(rèn)目標(biāo)比以確定峰值字符串長度12?13。因而,將會在峰值字符串長度12?13周圍以高斯分布生成字符串。
[0132]在一些示例中,分析引擎38可以例如通過對源記錄進(jìn)行自動分析來自動地確定格式規(guī)格、一個或多個內(nèi)容標(biāo)準(zhǔn)、數(shù)據(jù)生成模式和高級規(guī)則中的一個或多個。例如,分析引擎38可以確定如何針對特定字段修改現(xiàn)有數(shù)據(jù)以及/或者生成新數(shù)據(jù)以實(shí)現(xiàn)該字段的值的目標(biāo)分布。
[0133]參考圖18,在針對數(shù)據(jù)生成的一般方法650中,針對字段接收格式規(guī)格(652)。格式規(guī)格例如可以是諸如字符串、十進(jìn)制數(shù)、整數(shù)、日期或日期時間等的針對該字段所要生成的數(shù)據(jù)的數(shù)據(jù)類型。例如,系統(tǒng)100可以根據(jù)針對數(shù)據(jù)生成的一般方法650來生成數(shù)據(jù)。在一些示例中,可以經(jīng)由諸如用戶界面30(例如,經(jīng)由用戶界面30所提供的數(shù)據(jù)類型窗口)等的用戶界面從用戶接收格式規(guī)格。
[0134]針對字段接收內(nèi)容標(biāo)準(zhǔn)(654)。內(nèi)容標(biāo)準(zhǔn)例如可以是針對該字段所要生成的數(shù)據(jù)的數(shù)據(jù)特性。例如,諸如十進(jìn)制數(shù)字段或整數(shù)字段等的數(shù)值字段的數(shù)據(jù)特性可以表示最大允許值、最小允許值、值的允許范圍或遍及所有記錄的字段的平均值。字符串字段的數(shù)據(jù)特性可以表示字符的最大允許數(shù)量、字符的最小允許數(shù)量、字符的平均數(shù)量或者允許字符的集合。諸如日期字段或日期時間字段等的時間字段的數(shù)據(jù)特性可以表示日期或日期時間度量、日期或日期時間基礎(chǔ)、或者日期或日期時間范圍。在一些示例中,還可以針對一個或多個字段指定字段錯誤率(即,要包含錯誤的記錄的數(shù)量或百分比),在一些示例中,可以經(jīng)由諸如用戶界面30 (例如,字符串特性窗口 800、十進(jìn)制數(shù)特性窗口 900、整數(shù)特性窗口 180、日期特性窗口 190或日期時間特性窗口 250)等的用戶界面從用戶接收內(nèi)容標(biāo)準(zhǔn)。
[0135]接收字段所用的內(nèi)容生成模式的指示(656)。內(nèi)容生成模式是要針對字段生成內(nèi)容所用的模式。例如,內(nèi)容生成模式可以從以下模式中進(jìn)行選擇:唯一模式、隨機(jī)模式、默認(rèn)模式和列表模式。在唯一模式中,可以針對所選擇的字段生成唯一值。在隨機(jī)模式中,可以針對所選擇的字段生成隨機(jī)值。在默認(rèn)模式中,可以使用例如在目標(biāo)的記錄格式中所指定的默認(rèn)特性或默認(rèn)值來生成值。在列表模式中,從允許值的列表中選擇值。在一些情況下,如果沒有針對給定字段分配內(nèi)容生成模式,則可以針對該字段使用默認(rèn)模式來生成數(shù)據(jù)。在一些示例中,經(jīng)由諸如用戶界面30(例如,經(jīng)由用戶界面所提供的內(nèi)容生成窗口)等的用戶界面從用戶接收內(nèi)容生成模式的指示。
[0136]根據(jù)所指示的內(nèi)容生成模式來生成(658)多個記錄各自的字段的內(nèi)容。針對字段所生成的內(nèi)容滿足該字段所用的格式規(guī)格和內(nèi)容標(biāo)準(zhǔn)。在一些示例中,可以針對多個現(xiàn)有記錄各自創(chuàng)建新字段,并且可以根據(jù)所指示的內(nèi)容生成模式針對新字段生成內(nèi)容。在一些示例中,可以創(chuàng)建各自具有一個或多個字段的多個新記錄,其中可以針對該一個或多個字段根據(jù)所指示的內(nèi)容生成模式來生成內(nèi)容。例如,可以基于各現(xiàn)有記錄來創(chuàng)建多個新記錄。
[0137]在一些示例中,可以使用數(shù)據(jù)生成來創(chuàng)建具有一個或多個期望特征的記錄集合。例如,可以使用數(shù)據(jù)生成來創(chuàng)建具有期望數(shù)量的記錄和/或具有期望分布的字段的值的記錄集合,以通過數(shù)據(jù)處理應(yīng)用程序進(jìn)行處理。示例數(shù)據(jù)處理應(yīng)用程序例如包括客戶計費(fèi)所用(例如,電話客戶計費(fèi)所用)的數(shù)據(jù)處理應(yīng)用程序、用于處理客戶記錄(例如,識別客戶購買模式方面的人口統(tǒng)計趨勢)的數(shù)據(jù)處理應(yīng)用程序以及其它類型的數(shù)據(jù)處理應(yīng)用程序。
[0138]數(shù)據(jù)處理應(yīng)用程序通常實(shí)現(xiàn)如下規(guī)則,其中這些規(guī)則的執(zhí)行依賴于一個或多個變量的值(例如,由一個或多個變量的值來觸發(fā))。例如,這些變量可以是與輸入數(shù)據(jù)相對應(yīng)的輸入變量或者依賴于一個或多個輸入變量而得出的變量。為了高效地測試數(shù)據(jù)處理應(yīng)用程序,可以設(shè)置足以使得執(zhí)行該應(yīng)用程序中的每個規(guī)則(例如,以實(shí)現(xiàn)該應(yīng)用程序中的完全代碼覆蓋)的輸入數(shù)據(jù),以使得每個規(guī)則的執(zhí)行次數(shù)至少是相應(yīng)的最小次數(shù),以及/或者以使得每個規(guī)則的執(zhí)行次數(shù)不超過相應(yīng)的最大次數(shù)。
[0139]參考圖19,在一些示例中,輸入數(shù)據(jù)記錄50可以被設(shè)置為至數(shù)據(jù)處理應(yīng)用程序52的輸入數(shù)據(jù)。數(shù)據(jù)處理應(yīng)用程序52實(shí)現(xiàn)一個或多個規(guī)則54。規(guī)則是可以用來例如將數(shù)據(jù)從一個格式轉(zhuǎn)換成另一格式、進(jìn)行與數(shù)據(jù)有關(guān)的判斷或者基于輸入數(shù)據(jù)的集合生成新數(shù)據(jù)的標(biāo)準(zhǔn)的集合。在全部內(nèi)容通過引用包含于此的2007年4月10日提交的美國專利申請11/733,434中可以找到針對規(guī)則的其它說明。
[0140]數(shù)據(jù)處理應(yīng)用程序52所實(shí)現(xiàn)的各規(guī)則54可以在滿足針對規(guī)則的相應(yīng)的條件表達(dá)式的情況下執(zhí)行并且在不滿足該相應(yīng)的條件表達(dá)式的情況下不通過數(shù)據(jù)處理應(yīng)用程序52來執(zhí)行。規(guī)則54可以由至少包括條件表達(dá)式和執(zhí)行表達(dá)式的規(guī)格來指定。在滿足條件表達(dá)式(例如,利用真結(jié)果來評價條件表達(dá)式)的情況下,可以評價執(zhí)行表達(dá)式。條件表達(dá)式可以依賴于一個或多個變量的值(或者由一個或多個變量的值來觸發(fā)),其中該一個或多個變量例如可以是與輸入數(shù)據(jù)50相對應(yīng)的輸入變量或依賴于一個或多個輸入變量而得出的變量。在一些情況下,應(yīng)用程序執(zhí)行受到觸發(fā)的所有規(guī)則54。在一些情況下,應(yīng)用程序執(zhí)行少于受到觸發(fā)的所有規(guī)則54的規(guī)則(諸如規(guī)則54的一部分或者僅規(guī)則54其中之一(例如,所觸發(fā)的第一個規(guī)則54)等)。在內(nèi)容通過引用包含于此的標(biāo)題為“Data Records Select1n”的美國專利申請13/827,558中提供這種數(shù)據(jù)處理應(yīng)用程序的執(zhí)行的其它說明。
[0141]規(guī)則可以是能夠在滿足相應(yīng)的條件表達(dá)式的情況下所執(zhí)行的任何規(guī)則。在一個示例中,用于識別零售商店針對客戶的營銷特惠的數(shù)據(jù)處理應(yīng)用程序中的規(guī)則可以是識別針對收入低于$20,000的客戶的特定營銷特惠的規(guī)則。在一個示例中,用于生成電話公司的客戶帳單的數(shù)據(jù)處理應(yīng)用程序中的規(guī)則可以是向上個月的移動電話分鐘數(shù)超過客戶的服務(wù)套餐的允許移動電話分鐘數(shù)的任何客戶的賬單加收額外費(fèi)用的規(guī)則。
[0142]數(shù)據(jù)處理應(yīng)用程序52所生成的執(zhí)行數(shù)據(jù)56可以提供與數(shù)據(jù)處理應(yīng)用程序52的執(zhí)行有關(guān)的信息,諸如已經(jīng)執(zhí)行或沒有執(zhí)行的應(yīng)用程序52中的規(guī)則54、應(yīng)用程序52中的各規(guī)則54的執(zhí)行次數(shù)或其它信息等??梢韵驍?shù)據(jù)生成模塊150提供執(zhí)行數(shù)據(jù)56?;趫?zhí)行數(shù)據(jù)56,數(shù)據(jù)生成模塊150(圖2)中的結(jié)果引擎40可以識別數(shù)據(jù)處理應(yīng)用程序52的期望的輸入數(shù)據(jù)或輸入數(shù)據(jù)標(biāo)準(zhǔn),諸如將會使得執(zhí)行未執(zhí)行的規(guī)則54的輸入數(shù)據(jù)、將會使得特定規(guī)則54被執(zhí)行指定的次數(shù)的輸入數(shù)據(jù)或者將會引起其它期望執(zhí)行結(jié)果的輸入數(shù)據(jù)等。例如,期望執(zhí)行結(jié)果可以由用戶例如經(jīng)由用戶界面30來指定。
[0143]數(shù)據(jù)生成模塊150的數(shù)據(jù)生成引擎20可以生成用以滿足期望輸入數(shù)據(jù)標(biāo)準(zhǔn)的數(shù)據(jù)58。所生成的數(shù)據(jù)58可以被設(shè)置為數(shù)據(jù)處理應(yīng)用程序52的輸入數(shù)據(jù)。也就是說,例如,數(shù)據(jù)生成引擎20可以生成使得執(zhí)行數(shù)據(jù)處理應(yīng)用程序中先前未執(zhí)行的規(guī)則、使得特定規(guī)則被執(zhí)行更多次或更少次或者引起其它期望執(zhí)行結(jié)果的數(shù)據(jù)。在一個示例中,可以生成income字段的值大于$1,00,000的記錄以使得執(zhí)行僅針對incOme>$l,000,000的輸入數(shù)據(jù)而執(zhí)行的規(guī)則。在一個示例中,如果gender(性別)字段的值為“Γ,則執(zhí)行第一規(guī)則,并且如果gender字段的值為“Μ”,則執(zhí)行第二規(guī)則。如果在初始執(zhí)行數(shù)據(jù)處理應(yīng)用程序時,執(zhí)行數(shù)據(jù)56表示第一規(guī)則僅執(zhí)行了 I次而第二規(guī)則執(zhí)行了50次,則數(shù)據(jù)生成引擎20可以生成用以滿足例如用戶所指定的第一規(guī)則和第二規(guī)則的執(zhí)行次數(shù)大致相同的期望執(zhí)行結(jié)果的數(shù)據(jù)。例如,數(shù)據(jù)生成引擎20可以生成gender = “F°’的附加記錄或者修改現(xiàn)有記錄的一部分的gender字段的值。
[0144]參考圖20,數(shù)據(jù)生成模塊150所實(shí)現(xiàn)的一般方式750生成適用于數(shù)據(jù)處理應(yīng)用程序的測試數(shù)據(jù)的集合。例如,該測試數(shù)據(jù)的集合可以由數(shù)據(jù)處理應(yīng)用程序來處理以得到諸如數(shù)據(jù)處理應(yīng)用程序的各規(guī)則被執(zhí)行期望次數(shù)等的期望執(zhí)行結(jié)果。在方式750中,設(shè)置一個或多個記錄以通過實(shí)現(xiàn)一個或多個規(guī)則的數(shù)據(jù)處理應(yīng)用程序來處理(752)。各記錄可以具有一個或多個字段??梢詧?zhí)行數(shù)據(jù)處理應(yīng)用程序(754)。
[0145]基于各規(guī)則由數(shù)據(jù)處理應(yīng)用程序所執(zhí)行的次數(shù),數(shù)據(jù)生成模塊150的結(jié)果引擎40可以針對該一個或多個記錄的特定字段來確定內(nèi)容標(biāo)準(zhǔn)(756)。在一些示例中,可以確定特定字段所用的內(nèi)容標(biāo)準(zhǔn)以使得根據(jù)該內(nèi)容標(biāo)準(zhǔn)所生成的數(shù)據(jù)在由數(shù)據(jù)處理應(yīng)用程序來處理的情況下可以實(shí)現(xiàn)期望執(zhí)行結(jié)果,諸如使得執(zhí)行先前未執(zhí)行的規(guī)則或者使得特定規(guī)則被執(zhí)行更多次或更少次等。內(nèi)容標(biāo)準(zhǔn)例如可以是針對字段所要生成的數(shù)據(jù)的數(shù)據(jù)特性。例如,諸如十進(jìn)制數(shù)字段或整數(shù)字段等的數(shù)值字段的數(shù)據(jù)特性可以表示最大允許值、最小允許值、值的允許范圍或遍及所有記錄的字段的平均值。字符串字段的數(shù)據(jù)特性可以表示字符的最大允許數(shù)量、字符的最小允許數(shù)量、字符的平均數(shù)量或允許字符的集合。諸如日期字段或日期時間字段等的時間字段的數(shù)據(jù)特性可以表示日期或日期時間度量、日期或日期時間基礎(chǔ)、或者日期或日期時間范圍。
[0146]可以基于內(nèi)容標(biāo)準(zhǔn)以及基于特定字段所用的格式規(guī)格來針對特定字段生成內(nèi)容(758)。在一些示例中,可以修改現(xiàn)有記錄中的特定字段的內(nèi)容。在一些示例中,可以創(chuàng)建新記錄并且可以針對這些新記錄的特定字段生成內(nèi)容。
[0147]可以至少使用新生成的內(nèi)容作為輸入數(shù)據(jù)來執(zhí)行數(shù)據(jù)處理應(yīng)用程序(760)。在一些示例中,可以向數(shù)據(jù)處理應(yīng)用程序提供包括特定字段的修改值的現(xiàn)有記錄。在一些示例中,可以將現(xiàn)有記錄與新創(chuàng)建的記錄一起提供給數(shù)據(jù)處理應(yīng)用程序。在一些示例中,僅可以向數(shù)據(jù)處理應(yīng)用程序提供新創(chuàng)建的記錄。
[0148]可以對至少使用新生成的內(nèi)容作為輸入數(shù)據(jù)的數(shù)據(jù)處理應(yīng)用程序的執(zhí)行的結(jié)果進(jìn)行分析(762)。如果實(shí)現(xiàn)了諸如數(shù)據(jù)處理應(yīng)用程序中的規(guī)則被執(zhí)行了期望次數(shù)等的期望執(zhí)行結(jié)果(764),數(shù)據(jù)生成處理完成(766)。如果沒有實(shí)現(xiàn)期望執(zhí)行結(jié)果(764),則可以確定其它內(nèi)容標(biāo)準(zhǔn)并且可以再次生成(758)新內(nèi)容以用作數(shù)據(jù)處理應(yīng)用程序的輸入數(shù)據(jù)。
[0149]在一些示例中,可以實(shí)現(xiàn)方式750,以生成數(shù)據(jù)處理應(yīng)用程序所用的使得該數(shù)據(jù)處理應(yīng)用程序的所有規(guī)則被執(zhí)行至少一次的測試數(shù)據(jù)的集合。也就是,為了全面測試數(shù)據(jù)處理應(yīng)用程序,可以設(shè)置用于觸發(fā)數(shù)據(jù)處理應(yīng)用程序中的每個可能動作的數(shù)據(jù)。如果不存在這種數(shù)據(jù),則可以生成這種數(shù)據(jù)。例如,在完成了數(shù)據(jù)生成處理(766)之后,所生成的數(shù)據(jù)集合可以由數(shù)據(jù)處理應(yīng)用程序來處理以測試數(shù)據(jù)處理應(yīng)用程序的執(zhí)行(768)。由于所生成的數(shù)據(jù)集合使得要執(zhí)行數(shù)據(jù)處理應(yīng)用程序中的每個可能動作,因此可以全面地測試該數(shù)據(jù)處理應(yīng)用程序。如果數(shù)據(jù)處理應(yīng)用程序沒有如預(yù)期那樣進(jìn)行工作(例如,如果數(shù)據(jù)處理應(yīng)用程序的動作沒有如預(yù)期那樣執(zhí)行),則可以適當(dāng)?shù)匦薷脑摂?shù)據(jù)處理應(yīng)用程序(770)并且對該數(shù)據(jù)處理應(yīng)用程序進(jìn)行測試,直到實(shí)現(xiàn)滿意的結(jié)果為止。
[0150]在一些示例中,可以實(shí)現(xiàn)方式750以生成供數(shù)據(jù)處理應(yīng)用程序處理的逼真數(shù)據(jù)的集合。例如,零售公司所用的數(shù)據(jù)處理應(yīng)用程序可以生成表示客戶購買模式的趨勢報告。為了保護(hù)客戶隱私,可以生成逼真但虛構(gòu)的數(shù)據(jù)記錄的集合以供數(shù)據(jù)處理應(yīng)用程序處理。在一些情況下,所生成的數(shù)據(jù)可以與實(shí)際的客戶數(shù)據(jù)共享諸如遍及數(shù)據(jù)集合的記錄的值的分布(例如,客戶的收入分布)等的特性,而不泄露敏感的個人信息。在一些示例中,逼真數(shù)據(jù)的集合可以使表示物理過程的數(shù)據(jù)、表示金融交易的數(shù)據(jù)、表示人或動物行為的數(shù)據(jù)或其它數(shù)據(jù)。
[0151]實(shí)施例1涉及一種方法,所述方法包括以下步驟:基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn);基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。
[0152]實(shí)施例2涉及實(shí)施例1,其中,生成內(nèi)容包括基于各字段所用的格式規(guī)格來生成內(nèi)容。
[0153]實(shí)施例3涉及實(shí)施例1或2,其中,所述格式規(guī)格指示內(nèi)容的類型。
[0154]實(shí)施例4涉及實(shí)施例3,其中,內(nèi)容的類型包括字符串、十進(jìn)制數(shù)、整數(shù)、日期和日期時間中的一個或多個。
[0155]實(shí)施例5涉及實(shí)施例2?4,其中,還包括:經(jīng)由用戶界面來接收所述格式規(guī)格。
[0156]實(shí)施例6涉及前述實(shí)施例中的任一項(xiàng),其中,還包括:創(chuàng)建包括所述一個或多個字段的新記錄;以及填充所述新記錄的字段。
[0157]實(shí)施例7涉及前述實(shí)施例中的任一項(xiàng),其中,利用所生成的內(nèi)容來填充各字段包括針對所述一個或多個字段修改預(yù)先存在的內(nèi)容。
[0158]實(shí)施例8涉及前述實(shí)施例中的任一項(xiàng),其中,填充各字段包括針對一個或多個預(yù)先存在的記錄創(chuàng)建特定字段。
[0159]實(shí)施例9涉及前述實(shí)施例中的任一項(xiàng),其中,所述內(nèi)容標(biāo)準(zhǔn)包括目標(biāo)值、值的目標(biāo)范圍、值的目標(biāo)分布、最大值和最小值中的一個或多個。
[0160]實(shí)施例10涉及前述實(shí)施例中的任一項(xiàng),其中,所述內(nèi)容標(biāo)準(zhǔn)包括所生成的內(nèi)容的特定值。
[0161 ]實(shí)施例11涉及前述實(shí)施例中的任一項(xiàng),其中,所述內(nèi)容標(biāo)準(zhǔn)表示要包括在所述一個或多個字段中的兩個或更多個字段中的內(nèi)容的目標(biāo)組合。
[0162]實(shí)施例12涉及前述實(shí)施例中的任一項(xiàng),其中,還包括:經(jīng)由用戶界面接收所述內(nèi)容標(biāo)準(zhǔn)。
[0163]實(shí)施例13涉及前述實(shí)施例中的任一項(xiàng),其中,生成內(nèi)容包括基于生成模式來生成內(nèi)容。
[0164]實(shí)施例14涉及實(shí)施例13,其中,所述生成模式包括一個或多個以下模式:(i)針對多個記錄各自的一個或多個字段生成隨機(jī)內(nèi)容;(ii)針對多個記錄各自的一個或多個字段生成唯一內(nèi)容;以及(iii)針對多個記錄各自的一個或多個字段從可用內(nèi)容的集合中選擇內(nèi)容。
[0165]實(shí)施例15涉及前述實(shí)施例中的任一項(xiàng),其中,還包括:將包括所生成的內(nèi)容的一個或多個記錄提供給所述數(shù)據(jù)處理應(yīng)用程序。
[0166]實(shí)施例16涉及前述實(shí)施例中的任一項(xiàng),其中,確定所述內(nèi)容標(biāo)準(zhǔn)以使得通過所述數(shù)據(jù)處理應(yīng)用程序來執(zhí)行特定規(guī)則。
[0167]實(shí)施例17涉及前述實(shí)施例中的任一項(xiàng),其中,確定所述內(nèi)容標(biāo)準(zhǔn)包括:識別執(zhí)行次數(shù)少于最小閾值次數(shù)的特定規(guī)則;以及確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述特定規(guī)則的執(zhí)行次數(shù)至少是所述最小閾值次數(shù)。
[0168]實(shí)施例18涉及一種用于存儲指令的非瞬態(tài)計算機(jī)可讀介質(zhì),所述指令使得計算機(jī)系統(tǒng)執(zhí)行以下處理:基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn);基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。
[0169]實(shí)施例19涉及一種計算系統(tǒng),包括:至少一個處理器,用于:基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn);基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。
[0170]實(shí)施例20涉及一種計算系統(tǒng),包括:用于基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù)來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn)的部件;用于基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容的部件;以及用于利用所生成的內(nèi)容來填充一個或多個記錄中的各字段的部件。
[0171]實(shí)施例21涉及一種用于在數(shù)據(jù)處理應(yīng)用程序的開發(fā)期間測試所述數(shù)據(jù)處理應(yīng)用程序的方法,所述方法包括以下步驟:使用所述數(shù)據(jù)處理應(yīng)用程序處理第一數(shù)據(jù)記錄,其中所述數(shù)據(jù)處理應(yīng)用程序?qū)崿F(xiàn)一個或多個規(guī)則,各第一數(shù)據(jù)記錄具有多個字段;將所述第一數(shù)據(jù)記錄的處理期間執(zhí)行所述數(shù)據(jù)處理應(yīng)用程序的各規(guī)則的次數(shù)與該規(guī)則的目標(biāo)值進(jìn)行比較;基于所述比較的結(jié)果,確定表示要使用所述數(shù)據(jù)處理應(yīng)用程序來處理的第二數(shù)據(jù)記錄中的數(shù)據(jù)的目標(biāo)特征的內(nèi)容標(biāo)準(zhǔn);根據(jù)所述第一數(shù)據(jù)記錄的格式并且根據(jù)所述內(nèi)容標(biāo)準(zhǔn)來生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容;使用所述數(shù)據(jù)處理應(yīng)用程序來處理所述第二數(shù)據(jù)記錄;將所述第二數(shù)據(jù)記錄的處理期間執(zhí)行所述數(shù)據(jù)處理應(yīng)用程序的各規(guī)則的次數(shù)與該規(guī)則的目標(biāo)值進(jìn)行比較并且判斷為滿足各規(guī)則的目標(biāo)值;以及使用所述第二數(shù)據(jù)記錄來測試所述數(shù)據(jù)處理應(yīng)用程序。
[0172]實(shí)施例22涉及實(shí)施例21,其中,還包括:在客戶端裝置處接收所述第一數(shù)據(jù)記錄,其中所述數(shù)據(jù)處理應(yīng)用程序是在所述客戶端裝置上執(zhí)行的。
[0173]實(shí)施例23涉及實(shí)施例22,其中,所述客戶端裝置包括計算裝置。
[0174]實(shí)施例24涉及實(shí)施例21或22,其中,還包括:從遠(yuǎn)程服務(wù)器接收所述第一數(shù)據(jù)記錄。
[0175]實(shí)施例25涉及實(shí)施例24,其中,還包括:在經(jīng)由LAN或WAN連接以通信方式連接至服務(wù)器的客戶端裝置處接收所述第一數(shù)據(jù)記錄。
[0176]實(shí)施例26涉及實(shí)施例21?25中的任一項(xiàng),其中,還包括:確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述第二數(shù)據(jù)記錄中的數(shù)據(jù)使得在所述數(shù)據(jù)處理應(yīng)用程序處理所述第二數(shù)據(jù)記錄的情況下滿足各規(guī)則的目標(biāo)值。
[0177]實(shí)施例27涉及實(shí)施例21?26中的任一項(xiàng),其中,生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容包括修改所述第一數(shù)據(jù)記錄中的一個或多個字段的內(nèi)容,并且修改后的第一數(shù)據(jù)記錄是所述第二數(shù)據(jù)記錄。
[0178]實(shí)施例28涉及實(shí)施例21?27中的任一項(xiàng),其中,生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容包括創(chuàng)建新的數(shù)據(jù)記錄。
[0179]實(shí)施例29涉及實(shí)施例21?28中的任一項(xiàng),其中,還包括:將所述第二數(shù)據(jù)記錄存儲在存儲裝置中。
[0180]實(shí)施例30涉及實(shí)施例21?29中的任一項(xiàng),其中,還包括:基于所述測試的結(jié)果來修改所述數(shù)據(jù)處理應(yīng)用程序。
[0181]實(shí)施例31涉及實(shí)施例21?30中的任一項(xiàng),其中,測試所述數(shù)據(jù)處理應(yīng)用程序包括基于使用所述數(shù)據(jù)處理應(yīng)用程序處理所述第二數(shù)據(jù)記錄的結(jié)果,來修改所述數(shù)據(jù)處理應(yīng)用程序。
[0182]實(shí)施例32涉及實(shí)施例21?31中的任一項(xiàng),其中,還包括:確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述第二數(shù)據(jù)記錄中的數(shù)據(jù)實(shí)質(zhì)上類似于預(yù)期要通過所述數(shù)據(jù)處理應(yīng)用程序在生產(chǎn)環(huán)境中進(jìn)行處理的數(shù)據(jù)。
[0183]上述的數(shù)據(jù)生成技術(shù)可以使用執(zhí)行適當(dāng)軟件的計算系統(tǒng)來實(shí)現(xiàn)。例如,該計算系統(tǒng)可以包括:系統(tǒng)100、開發(fā)環(huán)境118、數(shù)據(jù)生成模塊150和其它計算系統(tǒng)。例如,該軟件可以包括在一個或多個編程或可編程計算系統(tǒng)(可以具有諸如分布式、客戶端/服務(wù)器或網(wǎng)格等的各種架構(gòu))上執(zhí)行的一個或多個計算機(jī)程序中的進(jìn)程,其中該一個或多個編程或可編程計算系統(tǒng)各自包括至少一個處理器、至少一個數(shù)據(jù)存儲系統(tǒng)(包括易失性和/或非易失性存儲器和/或存儲元件)、(用于使用至少一個輸入裝置或端口接收輸入、并且用于使用至少一個輸出裝置或端口提供輸出的)至少一個用戶界面。該軟件可以包括例如提供與數(shù)據(jù)流圖的設(shè)計、結(jié)構(gòu)和執(zhí)行相關(guān)的服務(wù)的更大程序的一個或多個模塊。該程序的模塊(例如,數(shù)據(jù)流圖的元素)可以實(shí)現(xiàn)為符合數(shù)據(jù)倉庫中所存儲的數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)或其它有組織的數(shù)據(jù)。
[0184]可以將軟件設(shè)置在諸如CD-ROM或(例如,利用通用或?qū)S糜嬎阆到y(tǒng)或裝置可讀取的)其它計算機(jī)可讀介質(zhì)等的有形非瞬態(tài)介質(zhì)上、或者經(jīng)由網(wǎng)絡(luò)的通信介質(zhì)(例如,以編碼在傳送信號中的形式)傳遞至執(zhí)行該軟件的計算系統(tǒng)的有形非瞬態(tài)介質(zhì)??梢栽趯S糜嬎銠C(jī)上、或者使用諸如協(xié)處理器或現(xiàn)場可編程門陣列(FPGA)或?qū)S眉呻娐?ASIC)等的專用硬件來進(jìn)行該處理的一部分或全部??梢砸岳貌煌挠嬎阍磉M(jìn)行軟件所指定的計算的不同部分的分布式方式來實(shí)現(xiàn)該處理。優(yōu)選將這種計算機(jī)程序各自存儲在通用或?qū)S每删幊逃嬎銠C(jī)可訪問的存儲裝置的計算機(jī)可讀存儲介質(zhì)(例如,固態(tài)存儲器或介質(zhì)、或者磁性或光學(xué)介質(zhì))上或者下載至該計算機(jī)可讀存儲介質(zhì),以在利用計算機(jī)讀取存儲裝置介質(zhì)以進(jìn)行這里所述的處理的情況下配置計算機(jī)并使該計算機(jī)進(jìn)行工作。本發(fā)明的系統(tǒng)還可被視為作為配置有計算機(jī)程序的有形非瞬態(tài)介質(zhì)來實(shí)現(xiàn),其中如此配置成的介質(zhì)使計算機(jī)以特定的預(yù)定義方式進(jìn)行工作,以進(jìn)行這里所述的處理步驟中的一個或多個。
[0185]已經(jīng)說明了多個實(shí)施例。然而,應(yīng)當(dāng)理解,上述說明意圖例示而并非限制由所附權(quán)利要求書的范圍所定義的本發(fā)明的范圍。因此,其它實(shí)施例也在所附權(quán)利要求書的范圍內(nèi)。例如,可以在沒有背離本發(fā)明的范圍的情況下進(jìn)行各種變形。另外,上述步驟中的一部分可以是順序獨(dú)立的,因而可以以與所述順序不同的順序來進(jìn)行。
【主權(quán)項(xiàng)】
1.一種方法,包括以下步驟: 基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn); 基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及 利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。2.根據(jù)權(quán)利要求1所述的方法,其中,生成內(nèi)容包括基于各字段所用的格式規(guī)格來生成內(nèi)容。3.根據(jù)權(quán)利要求1或2所述的方法,其中,所述格式規(guī)格指示內(nèi)容的類型。4.根據(jù)權(quán)利要求3所述的方法,其中,內(nèi)容的類型包括字符串、十進(jìn)制數(shù)、整數(shù)、日期和日期時間中的一個或多個。5.根據(jù)權(quán)利要求2?4中任一項(xiàng)所述的方法,其中,還包括:經(jīng)由用戶界面來接收所述格式規(guī)格。6.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,還包括: 創(chuàng)建包括所述一個或多個字段的新記錄;以及 填充所述新記錄的字段。7.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,利用所生成的內(nèi)容來填充各字段包括針對所述一個或多個字段修改預(yù)先存在的內(nèi)容。8.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,填充各字段包括針對一個或多個預(yù)先存在的記錄創(chuàng)建特定字段。9.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,所述內(nèi)容標(biāo)準(zhǔn)包括目標(biāo)值、值的目標(biāo)范圍、值的目標(biāo)分布、最大值和最小值中的一個或多個。10.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,所述內(nèi)容標(biāo)準(zhǔn)包括所生成的內(nèi)容的特定值。11.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,所述內(nèi)容標(biāo)準(zhǔn)表示要包括在所述一個或多個字段中的兩個或更多個字段中的內(nèi)容的目標(biāo)組合。12.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,還包括:經(jīng)由用戶界面接收所述內(nèi)容標(biāo)準(zhǔn)。13.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,生成內(nèi)容包括基于生成模式來生成內(nèi)容。14.根據(jù)權(quán)利要求13所述的方法,其中,所述生成模式包括一個或多個以下模式:(i)針對多個記錄各自的一個或多個字段生成隨機(jī)內(nèi)容;(ii)針對多個記錄各自的一個或多個字段生成唯一內(nèi)容;以及(iii)針對多個記錄各自的一個或多個字段從可用內(nèi)容的集合中選擇內(nèi)容。15.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,還包括:將包括所生成的內(nèi)容的一個或多個記錄提供給所述數(shù)據(jù)處理應(yīng)用程序。16.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,確定所述內(nèi)容標(biāo)準(zhǔn)以使得通過所述數(shù)據(jù)處理應(yīng)用程序來執(zhí)行特定規(guī)則。17.根據(jù)前述權(quán)利要求中的任一項(xiàng)所述的方法,其中,確定所述內(nèi)容標(biāo)準(zhǔn)包括: 識別執(zhí)行次數(shù)少于最小閾值次數(shù)的特定規(guī)則;以及 確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述特定規(guī)則的執(zhí)行次數(shù)至少是所述最小閾值次數(shù)。18.—種用于存儲指令的非瞬態(tài)計算機(jī)可讀介質(zhì),所述指令使得計算機(jī)系統(tǒng)執(zhí)行以下處理: 基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn); 基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及 利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。19.一種計算系統(tǒng),包括: 至少一個處理器,用于: 基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù),來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn); 基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容;以及 利用所生成的內(nèi)容來填充一個或多個記錄中的各字段。20.—種計算系統(tǒng),包括: 用于基于在一個或多個記錄的處理期間數(shù)據(jù)處理應(yīng)用程序執(zhí)行一個或多個規(guī)則中的各規(guī)則的次數(shù)來確定一個或多個字段中的各字段所用的內(nèi)容標(biāo)準(zhǔn)的部件; 用于基于所述內(nèi)容標(biāo)準(zhǔn)來生成各字段的內(nèi)容的部件;以及 用于利用所生成的內(nèi)容來填充一個或多個記錄中的各字段的部件。21.—種用于在數(shù)據(jù)處理應(yīng)用程序的開發(fā)期間測試所述數(shù)據(jù)處理應(yīng)用程序的方法,所述方法包括以下步驟: 使用所述數(shù)據(jù)處理應(yīng)用程序處理第一數(shù)據(jù)記錄,其中所述數(shù)據(jù)處理應(yīng)用程序?qū)崿F(xiàn)一個或多個規(guī)則,各第一數(shù)據(jù)記錄具有多個字段; 將所述第一數(shù)據(jù)記錄的處理期間執(zhí)行所述數(shù)據(jù)處理應(yīng)用程序的各規(guī)則的次數(shù)與該規(guī)則的目標(biāo)值進(jìn)行比較; 基于所述比較的結(jié)果,確定表示要使用所述數(shù)據(jù)處理應(yīng)用程序來處理的第二數(shù)據(jù)記錄中的數(shù)據(jù)的目標(biāo)特征的內(nèi)容標(biāo)準(zhǔn); 根據(jù)所述第一數(shù)據(jù)記錄的格式并且根據(jù)所述內(nèi)容標(biāo)準(zhǔn)來生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容; 使用所述數(shù)據(jù)處理應(yīng)用程序來處理所述第二數(shù)據(jù)記錄; 將所述第二數(shù)據(jù)記錄的處理期間執(zhí)行所述數(shù)據(jù)處理應(yīng)用程序的各規(guī)則的次數(shù)與該規(guī)則的目標(biāo)值進(jìn)行比較并且判斷為滿足各規(guī)則的目標(biāo)值;以及使用所述第二數(shù)據(jù)記錄來測試所述數(shù)據(jù)處理應(yīng)用程序。22.根據(jù)權(quán)利要求21所述的方法,其中,還包括:在客戶端裝置處接收所述第一數(shù)據(jù)記錄,其中所述數(shù)據(jù)處理應(yīng)用程序是在所述客戶端裝置上執(zhí)行的。23.根據(jù)權(quán)利要求22所述的方法,其中,所述客戶端裝置包括計算裝置。24.根據(jù)權(quán)利要求21或22所述的方法,其中,還包括:從遠(yuǎn)程服務(wù)器接收所述第一數(shù)據(jù)記錄。25.根據(jù)權(quán)利要求24所述的方法,其中,還包括:在經(jīng)由LAN或WAN連接以通信方式連接至服務(wù)器的客戶端裝置處接收所述第一數(shù)據(jù)記錄。26.根據(jù)權(quán)利要求21?25中任一項(xiàng)所述的方法,其中,還包括:確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述第二數(shù)據(jù)記錄中的數(shù)據(jù)使得在所述數(shù)據(jù)處理應(yīng)用程序處理所述第二數(shù)據(jù)記錄的情況下滿足各規(guī)則的目標(biāo)值。27.根據(jù)權(quán)利要求21?26中任一項(xiàng)所述的方法,其中,生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容包括修改所述第一數(shù)據(jù)記錄中的一個或多個字段的內(nèi)容,并且修改后的第一數(shù)據(jù)記錄是所述第二數(shù)據(jù)記錄。28.根據(jù)權(quán)利要求21?27中任一項(xiàng)所述的方法,其中,生成所述第二數(shù)據(jù)記錄的一個或多個字段的內(nèi)容包括創(chuàng)建新的數(shù)據(jù)記錄。29.根據(jù)權(quán)利要求21?28中任一項(xiàng)所述的方法,其中,還包括:將所述第二數(shù)據(jù)記錄存儲在存儲裝置中。30.根據(jù)權(quán)利要求21?29中任一項(xiàng)所述的方法,其中,還包括:基于所述測試的結(jié)果來修改所述數(shù)據(jù)處理應(yīng)用程序。31.根據(jù)權(quán)利要求21?30中任一項(xiàng)所述的方法,其中,測試所述數(shù)據(jù)處理應(yīng)用程序包括基于使用所述數(shù)據(jù)處理應(yīng)用程序來處理所述第二數(shù)據(jù)記錄的結(jié)果,來修改所述數(shù)據(jù)處理應(yīng)用程序。32.根據(jù)權(quán)利要求21?31中任一項(xiàng)所述的方法,其中,還包括:確定所述內(nèi)容標(biāo)準(zhǔn)以使得所述第二數(shù)據(jù)記錄中的數(shù)據(jù)實(shí)質(zhì)上類似于預(yù)期要通過所述數(shù)據(jù)處理應(yīng)用程序在生產(chǎn)環(huán)境中進(jìn)行處理的數(shù)據(jù)。
【文檔編號】G06F11/36GK105917315SQ201480069473
【公開日】2016年8月31日
【申請日】2014年12月17日
【發(fā)明人】馬歇爾·A·伊斯曼, R·A·愛潑斯坦
【申請人】起元技術(shù)有限責(zé)任公司