新四季網

通過確定性自然數據的替換擾亂數據結構的方法和系統的製作方法

2023-12-08 20:48:01

專利名稱:通過確定性自然數據的替換擾亂數據結構的方法和系統的製作方法
技術領域:
本發明的實施例涉及數據結構擾亂的領域。更具體但非限制地,本發明的實施例 提供一種新的和有用的方法和系統,用於使用反映了在數據結構中數據值分配的被確定性 生成的偽隨機數據值來代替該數據結構中的數據值。
背景技術:
許多公司都維持有包括了客戶或僱員信息的資料庫。所述信息可包括姓名、地址、 電話號碼、社會保險號碼、公司名稱、薪水和購買歷史。例如一家網際網路銷售公司可以具有 包括了客戶姓名、電話號碼、支付方法和購買歷史的客戶資料庫。在另一個實施例中,財會 部分可具有關於其僱員的薪水信息。由於這些信息中諸如支付方法、社會保險號碼和薪水 等信息的敏感性,對這些信息的訪問只限於公司內相對較小的一組人。正如軟體應用中所普遍的,要求由電腦程式員進行故障診斷就會引發一些問 題。當在具有敏感信息的資料庫上運行的軟體應用程式發生故障時,程式設計師為了故障診斷 需要訪問所述敏感資料庫。這就導致了敏感信息被通常對該信息不具有訪問權限的人看 到。例如在薪水發放的實例中,薪水信息的傳播會在公司內引發關於薪水差異的內部矛盾。 在網際網路銷售的實例中,支付方法和諸如社會保險號碼的其他個人信息的傳播會導致身份 盜用。然而為了有效地調試故障軟體應用程式,程式設計師需要訪問實際數據,尤其要訪問實際 數據的分配(地理分配、姓名分配等等)。本領域內已知可通過隨機數據替代擾亂資料庫,從而生成了測試資料庫。然而隨 機數據替代不會產生在自然資料庫內找到的實際數據分配。所以就需要一種方法和系統來 擾亂至少部分資料庫以產生測試資料庫,該測試資料庫具有反映了在實際資料庫中找到的 分配的數據分配。

發明內容
本發明的實施例提供了一種通過由確定性的自然數據替代的代替來擾亂數據的 方法。此外,本發明的實施例在所述技術領域內可具有若干實際應用,包括但不限於使用外 觀自然的數據確定性地代替機密數據。這些數據反映了就數據分布而言在原始數據中找到 的模式,但不包括原始的機密數據。在一個實施例中,提供一種用於擾亂數據的方法。所述方法包括對期望擾亂的第 一數據結構進行操作並且基於所述第一數據結構的一部分生成數據串。基於所述數據串, 就從第三數據結構中確定性地生成第二數據結構並且所述第二數據結構代替所述第一數 據結構。在另一個實施例中,提供一種用於構造測試數據結構的方法。所述方法包括影響具有若干數據欄位類型的源數據結構,其中每個數據欄位都包括若干行數據並且所述方法 還確定用於每行數據的標識符。接下來所述方法對於每行數據,基於所述標識符生成數據 串,把該數據串的一部分映射到參考數據結構內的值並且把所述參考數據結構內的映射值 裝入測試數據結構。在又一個實施例中,提供一種計算機可讀介質,所述介質具有用於執行生成合成 數據結構的方法的計算機可用指令。所述方法包括首先提供一種參考數據結構和一種源數 據結構,其中每個數據結構都具有若干數據欄位類型並且每個數據欄位類型都包括若干行 數據值。接下來,所述方法包括根據預定的模式為所述源數據結構中的每行數據值分配加 權值並且為所述源數據結構的每行數據值分別導出數據串。為了所述源數據結構的每行數 據值,在所述數據值行內的每個數據值都基於所述加權值、各自的數據串以及數據欄位類 型,被映射到所述參考數據結構內數據值行中的數據值上。最後,用所述參考數據結構的映 射值裝入所述合成的數據結構。另外的特性將在如下詳細討論。


如下將參考附圖詳述本發明的實施例,結合在此作為參考的附圖包括圖IA是示出了一個典型定購過程的系統框圖;圖IB是示出了用於擾亂數據結構的方法的一個實施例的流程圖;圖2是詳細示出了用於生成數據串的過程的一個實施例的流程圖;圖3是一個典型的數據串;圖4是一個期望被擾亂的典型數據結構;圖5是詳細示出了用於擾亂數據結構的過程的一個實施例的流程圖;圖6是從圖4的數據結構中導出的典型的被擾亂的數據結構;圖7是詳細示出了用於擾亂數據結構的過程的另一個實施例的流程圖;圖8是示出了分配有加權值的各種數據欄位類型的示意圖。
具體實施例方式本發明的實施例提供了一種新穎的方法和系統,它們通過為在所述第一數據結構 內的每行數據值確定性地生成唯一的數據串,使用所述數據串將所述第一數據結構的所述 行中的每個數據映射給參考數據結構的數據值並且基於在所述參考數據結構中的映射數 據值來創建第二數據結構,來擾亂第一數據結構內的數據值。確定性的方法和系統能夠實 現可再現的結果使得對於第一數據結構擾亂的每個實例,第一數據結構中的一行數據值都 能夠與第二數據結構中的一行數據值相關。此外,在本發明各個實施例中示出的新穎方法和系統在某些實施例中可以將加權 值分配給所述第一數據結構內特定類型的數據值用於創建大致近似於第一數據結構內數 據值分配的第二數據結構。這樣,隨機出現的所述第二數據結構就在對所述第一數據結構 進行操作的軟體應用程式的測試和故障診斷中十分有效。從隨後通過的詳細描述和本發明各個實施例的附圖中將更好地理解本發明的實 施例。儘管如此,不應將詳細描述和附圖理解為將本發明限制在某些特定實施例上。相反地,提供這些特定的實施例是出於幫助更好的理解本發明的示意性目的。闡述了特定的硬體設備、程式語言、組件、程序以及包括操作環境等等的多種細節 用於提供對本發明的透徹理解。在其他實例中,結構、設備和程序以框圖而非細節的形式示 出以避免模糊本發明的實施例。但是本領域普通技術人員應該理解沒有這些特定細節也可 實現本發明的實施例。計算機系統、伺服器、工作站和其他機器可以通過例如包括一個或多 個網絡的通信介質相互連接。此外示出用於解釋本發明各個實施例的數據結構可以是但不 限於資料庫、電子表格以及其他能夠作為存儲介質的裝置。現在轉到圖1A,示出的是使用在圖IB到圖8中詳細描述的數據擾亂方法的典型定 購系統的過程10的系統框圖。過程10在客戶服務代理接收到客戶定單的步驟14處開始。 可以通過電子商務網站、電話或個人收到所述定單。在步驟16處,過程10從包括了客戶數 據結構12A和庫存可用性數據結構12B的數據結構12中檢索用戶數據。客戶數據結構12A 可以包括轉入地址、電話、公司社會保險號碼以及該客戶過去的支付方法的客戶信息。在步 驟18處,過程10基於來自庫存數據結構12B的可用庫存以及來自客戶數據結構12A的出 貨信息生成一張發票。在步驟20處,出貨給所述客戶的定單是基於在步驟18處生成的發票。在步驟22 處,如果客戶正當地收到該定單就完成了所述過程。然而,如果該定單未被恰當地接收(諸 如在定單出貨錯誤或者合適的定單被送給錯誤的顧客的情況下),就必須調試過程10中使 用的軟體應用程式以用於確定故障的根源。在步驟M處,使用來自客戶數據結構12A和庫 存數據結構12B的測試數據值生成數據結構13。隨後就在步驟沈處使用測試數據結構13 分析過程10使用的軟體應用程式。通常期望包括在客戶數據結構12A內的敏感信息不要 被分發到要求訪問數據結構12A內信息的這些有限的一組人之外的地方。通過使用確定性 的方法擾亂數據結構12A內的數據,就可生成帶有外表自然並且保護客戶機密信息的測試 數據結構13。因為使用確定性的函數生成測試數據結構13內的數據值,所以在測試數據結 構13內的數據錄入項可被追溯到數據結構12A內的數據值從而定位過程10使用的所述軟 件應用程式內的問題根源。轉向圖1B,示出的是用於從期望被擾亂的第一或源數據結構中生成測試或第二數 據結構的方法100的一個實施例。圖4示出了具有列410-420和行422-432的典型數據結 構400。數據結構400包括數據欄位類型的各個列。在典型的數據結構400中,提供的列是 用於指示每行的ID號碼。包括在數據結構400內的各種數據欄位類型包括名、姓、公司、性 別和電話號碼。在某些實施例中的數據結構400還可包括諸如年齡和種族的其他數據欄位 類型。現在回到圖1B,所述擾亂方法100包括了為期望擾亂的數據結構行生成數據串的 步驟110。例如數據結構400的行422包括被操作用於生成數據串的ID號碼「0001」。在 步驟110處生成數據串的過程還參考了圖2進行討論。繼續擾亂方法100,在步驟112處, 確定諸如數據結構400內的地址或姓名欄位數據值的第一數據欄位類型。例如,在行422 中的數據值「Chris」是由列412指定的「名」數據欄位類型。在步驟114處,檢索行422和 列412處的數據值「Chris」。在步驟116處,基於數據類型和使用第三或一個或多個參考 數據結構(未示出)的數據串來擾亂數據值「Chris」並創建相應的測試數據結構。所述測 試數據結構包括對應於數據值「Chris」的來自參考數據結構的被擾亂數據值。在步驟118中,如果期望被擾亂的所述數據結構中存在更多列,諸如數據結構400的「姓」列414、「公 司」列416、「性別」列418和「電話號碼」列420,那麼隨後就重複步驟112到116。在每列 都被擾亂之後,在步驟120處方法100移動到下一行。例如數據結構400的行424。如果存 在更多的行,就在步驟110處生成數據串並且方法100重複步驟112至118。當期望被擾亂 的數據結構中沒有行存在時,就完成方法100。諸如圖IA中測試數據結構13的第二或測試 數據結構已經被創建,並且在所述源數據結構內的機密數據也已被擾亂。現在轉到圖2,示出的是用於生成圖IB步驟110的數據串的詳細過程。步驟110的 過程包括確定所述源數據結構內行數據值的標識符的步驟110A。在數據結構400中,「ID」 列410可用作標識符。在行422內的標識符可以是「0001」。在步驟IlOB處,將標識符應 用到確定性的函數。確定性的函數的一個實例是MD-5(報文摘要算法5)加密算法。MD-5 是一種廣泛使用的帶有1 位散列輸出值的密碼散列函數。使用MD-5函數,即使輸入消息 內很小的變化也能導致完全不同的輸出消息或散列值。所述MD-5算法還在網際網路工程特 別任務(IETF)請求評論(R. F. C. )1321中描述,該文結合在此作為參考。在此使用的所述 MD-5確定性的算法僅用作示意性的目的。本發明的各個實施例也可使用其他確定性的函 數,諸如但不限於SHA-I和RIPEMD-160。繼續參考圖2,在步驟IlOC處,所述數據串的部分或所述確定性函數的輸出被分 配給所述源數據結構內的數據欄位類型。圖4的數據結構400包括若干數據欄位類型,即 「ID」410、「名」412、「姓」414、「公司」416、「性別」418以及「電話號碼」420。參見圖3,示出 的是一個典型的一般數據串300。數據串300包括與數據結構400的五個數據欄位類型相 匹配的五個部分、在步驟IlOC的一個實施例中,數據串300的一個部分312可分配給包括 由「名」數據欄位類型的數據結構400的列412而數據串300的一個部分314可分配給包 括由「姓」數據欄位類型的數據結構400的列414。類似地,部分316可分配給列416、部分 318可分配給列418而部分320可分配給數據結構400的列420、雖然在此實施例中數據串 300的各部分被以分塊方式分配給數據結構400內的數據欄位類型,但是在本發明的其他 實施例,數據串300的各部分能夠以不連續組的形式被分配給數據結構400內的各個數據 欄位類型的列。現在轉到圖5,示出的是用於擾亂在圖IB的步驟116中討論的源數據結構數據值 的詳細過程。在步驟116A處,檢索在圖IB的步驟110處生成並在圖2中被進一步解釋的數 據串的部分。出於示意性的目的,在步驟116A處檢索圖3的數據串300。在步驟116B處, 對應於例如在數據結構400的數據欄位類型的數據串300的一部分被映射給對應於在參考 結構(未示出)中數據欄位類型的數據值。所述參考數據結構例如可以是包括了姓/名、 地址、性別、年齡、電話號碼、社會保險號碼和種族的普查資料。此外在本發明的其他實施例 中,所述參考數據結構可以是單數據結構或者是數據結構的編譯,它們都包括對應於數據 欄位類型的數據值。在步驟116C處,檢索在參考數據結構內的映射數據值以創建合成或測 試數據結構。一典型的合成數據結構由圖6中的數據結構300示出。合成的數據結構600 包括與圖4中的源或被擾亂數據結構400相同的列號和數據類型並且包括與圖4中數據結 構400大致類似的數據。對每一實例都使用所述確定性函數,使得來自源數據結構的一行數據值被映射至 參考數據結構以生成合成數據內的一行數據值。在源數據結構內給定的一行數據值和在合成數據結構內相應的被擾亂的一行數據值之間存在這可再生的關係。換句話說,參考圖4 和圖6,對於源數據結構400的每一擾亂,圖4的行422都對應於圖6的行622。如前關於圖 IA的描述,這一可再生的能力使得能夠多次調試在定單和出貨過程中使用的軟體應用程式 而不丟失在客戶數據結構12A和測試數據結構13的數據值之間的關係。如前所述,圖3中數據串300的一部分被用於將數據結構400中的一個值映射至 參考數據結構(未示出)的一個值。例如,年齡數據類型可以對應於數據串300的第22至 27位,而姓和名可以使用數據串300的11位最低有效位。在選擇姓和名的實例中,可從普 查統計局下載美國最流行的65000個姓和名。為了從普查統計局列出的65000個中選出一 個姓和名,就需要來自數據串300的特定的位數。例如,可從數據串300中選擇16個獨立 位並組合到一起用作姓,而從數據串300中選擇另外12位組合到一起用作名。雖然在此實 例中選擇了 12和16位,但是也可選擇其他的位數。例如,如果用於名的二進位位數合計達 二,則就選擇參考數據結構內的第二輸入項。隨後就把從列出的65000個姓和名中選出的 姓和名插入合成的資料庫結構500。類似地,當使用地址時,數據串300的一部分就用於選 擇一個地址。例如,如果選作地址的數據串300的部分合計達192,則在地址參考資料庫中 的第192個輸入項就被選擇並插入圖6中的合成數據結構600。現在參考圖7,示出的是用於擾亂在圖IB的步驟116中描述的源數據結構的數據 值的另一個實施例。在步驟U6D處,為特定的數據類型分配加權值。例如,以字母「m」開 頭的公司名出現的頻率要高於以字母「ζ」開頭的公司名。則加權算法可連同確定性的函數 一起被用於模擬總體中公司名的實際分布。結合參見圖4和圖6,在數據結構400的「公司」 數據類型欄位中以字母「m」開頭的公司出現的頻率要高於以字母「ζ」開頭的公司。類似地, 在圖6中數據結構600的「公司」數據類型欄位中,名字以字母「m」開頭的公司和名字以字 母「ζ」開頭的公司的出現頻率也與上述相同或類似。如圖8所示,將給予其他的數據欄位 類型類似的加權值。加權值814可被分配給性別810、年齡812、姓和名816以及種族818。再次參見圖7,方法116在步驟116E處繼續,其中檢索數據串300的一部分並在步 驟116F處將其映射給參考數據結構中的值。隨後在步驟116G處,就利用來自參考數據結 構的映射值生成合成數據結構。雖然在一個實施例中的參考數據結構可以包括了包含在期 望被擾亂的數據結構內的所有數據值和數據類型,但是其他實施例可以包括若干參考數據 結構,各自用於包含在期望被擾亂的數據結構內的每一數據類型。本發明的某些實施例可利用加權算法來精確再現總體中的數據類型分布。對加權 算法的使用依賴於在參考數據結構內被擾亂數據的期望精確度或者所述分布的精確度。已參考特定的實施例描述了本發明,這些實施例僅出於示意性而非限制性的目 的。本領域普通技術人員顯而易見的是可選實施例沒有背離本發明的範圍。由於本發明的 特性使得許多可選實施例存在但未包括在本說明中。熟練的程式設計師可以開發用於實現前述 改進的可選方法而不背離本發明的範圍。應該理解的是可以不參考其他的特性和子組合而 利用特定的特性和子組合併仍被認為位於本權利要求的範圍之內。在各附圖中列出的步驟 不必以特定的次序描述。前述流程圖中的步驟並非都是必須的步驟。
權利要求
1.一種數據擾亂的方法,包括對期望其擾亂的第一數據結構進行操作,其中數據擾亂包括用確定性地生成的能夠反 映數據結構中數據值的分布的偽隨機數據值來替換數據結構中的數據值;基於所述第一數據結構的一部分創建數據串,所述第一數據結構包括一行或多行以及 一列或多列的數據值;基於所述數據串,從至少一個第三數據結構中確定性地生成第二數據結構,(1)其中所述第二和至少一個第三數據結構包括一行或多行以及一列或多列的數據 值,並且(2)在所述第二和至少一個第三數據結構的一列或多列中的每一列都對應於在所述第 一數據結構的所述一列或多列的數據值類型;以及用所述第二數據結構代替所述第一數據結構。
2.如權利要求1所述的方法,其特徵在於,所述第一數據結構還包括用於所述一行或 多行數據值的每一行的標識符。
3.如權利要求2所述的方法,其特徵在於,還包括基於所述標識符生成所述數據串。
4.如權利要求2所述的方法,其特徵在於,還包括把加權值分配給所述第一數據結構的所述一行或多行的每一行中的各個數據值類型;以及基於所述第一數據結構的所述分配的加權值,將來自所述至少一個第三數據結構的數 據值裝入所述第二數據結構。
5.如權利要求4所述的方法,其特徵在於,分配加權值還包括根據在所述第一數據結 構的所述一行或多行的每一行中的所述數據值類型的總體中的出現來分配加權值,使得在 所述第二數據結構內相應的數據值與實際總體中所找出的自然模式相匹配。
6.如權利要求5所述的方法,其特徵在於,還包括把所述數據串的一部分分配給所述一種或多種數據欄位類型的每一種;以及 基於所述部分和相應的加權值,在所述至少一個參考數據結構內定位所述映射值。
7.如權利要求6所述的方法,其特徵在於,所述數據欄位類型對應於名和姓、公司名、 性別、種族、支付方法、薪水和年齡。
全文摘要
通過確定性自然數據的替換擾亂數據結構的方法和系統,一種從被擾亂的數據結果創建數據結構的方法和系統。首先,該系統對期望被擾亂的第一數據結構進行操作,並且基於第一數據結構的一部分生成一數據串。接下來就基於該數據串,從第三數據結構確定性地生成第二數據結構,並且用第二數據結構代替第一數據結構。
文檔編號G06F21/00GK102063595SQ20111003888
公開日2011年5月18日 申請日期2006年1月6日 優先權日2005年2月7日
發明者J·E·費 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀