当前位置: 首页 > 专利查询>微软公司专利>正文

通过确定性自然数据的替换扰乱数据结构的方法和系统技术方案

技术编号:4881577 阅读:279 留言:0更新日期:2012-04-11 18:40
一种从被扰乱的数据结果创建数据结构的方法和系统。首先,该系统对期望被扰乱的第一数据结构进行操作,并且基于第一数据结构的一部分生成一数据串。接下来就基于该数据串,从第三数据结构确定性地生成第二数据结构,并且用第二数据结构代替第一数据结构。

【技术实现步骤摘要】

本专利技术的实施例涉及数据结构扰乱的领域。更具体但非限制地,本专利技术的实施例提供一种新的和有用的方法和系统,用于使用反映了在数据结构中数据值分配的被确定性生成的伪随机数据值来代替该数据结构中的数据值。
技术介绍
许多公司都维持有包括了客户或雇员信息的数据库。所述信息可包括姓名、地址、电话号码、社会保险号码、公司名称、薪水和购买历史。例如一家互联网销售公司可以具有包括了客户姓名、电话号码、支付方法和购买历史的客户数据库。在另一个实施例中,财会部分可具有关于其雇员的薪水信息。由于这些信息中诸如支付方法、社会保险号码和薪水等信息的敏感性,对这些信息的访问只限于公司内相对较小的一组人。正如软件应用中所普遍的,要求由计算机程序员进行故障诊断就会引发一些问题。当在具有敏感信息的数据库上运行的软件应用程序发生故障时,程序员为了故障诊断需要访问所述敏感数据库。这就导致了敏感信息被通常对该信息不具有访问权限的人看到。例如在薪水发放的实例中,薪水信息的传播会在公司内引发关于薪水差异的内部矛盾。在互联网销售的实例中,支付方法和诸如社会保险号码的其他个人信息的传播会导致身份盗用。然而为了有效地调试故障软件应用程序,程序员需要访问实际数据,尤其要访问实际数据的分配(地理分配、姓名分配等等)。本领域内已知可通过随机数据替代扰乱数据库,从而生成了测试数据库。然而随机数据替代不会产生在自然数据库内找到的实际数据分配。所以就需要一种方法和系统来扰乱至少部分数据库以产生测试数据库,该测试数据库具有反映了在实际数据库中找到的分配的数据分配。
技术实现思路
本专利技术的实施例提供了一种通过由确定性的自然数据替代的代替来扰乱数据的方法。此外,本专利技术的实施例在所述
内可具有若干实际应用,包括但不限于使用外观自然的数据确定性地代替机密数据。这些数据反映了就数据分布而言在原始数据中找到的模式,但不包括原始的机密数据。在一个实施例中,提供一种用于扰乱数据的方法。所述方法包括对期望扰乱的第一数据结构进行操作并且基于所述第一数据结构的一部分生成数据串。基于所述数据串,就从第三数据结构中确定性地生成第二数据结构并且所述第二数据结构代替所述第一数据结构。在另一个实施例中,提供一种用于构造测试数据结构的方法。所述方法包括影响具有若干数据字段类型的源数据结构,其中每个数据字段都包括若干行数据并且所述方法还确定用于每行数据的标识符。接下来所述方法对于每行数据,基于所述标识符生成数据串,把该数据串的一部分映射到参考数据结构内的值并且把所述参考数据结构内的映射值装入测试数据结构。在又一个实施例中,提供一种计算机可读介质,所述介质具有用于执行生成合成数据结构的方法的计算机可用指令。所述方法包括首先提供一种参考数据结构和一种源数据结构,其中每个数据结构都具有若干数据字段类型并且每个数据字段类型都包括若干行数据值。接下来,所述方法包括根据预定的模式为所述源数据结构中的每行数据值分配加权值并且为所述源数据结构的每行数据值分别导出数据串。为了所述源数据结构的每行数据值,在所述数据值行内的每个数据值都基于所述加权值、各自的数据串以及数据字段类型,被映射到所述参考数据结构内数据值行中的数据值上。最后,用所述参考数据结构的映射值装入所述合成的数据结构。另外的特性将在如下详细讨论。附图说明如下将参考附图详述本专利技术的实施例,结合在此作为参考的附图包括图1A是示出了一个典型定购过程的系统框图;图1B是示出了用于扰乱数据结构的方法的一个实施例的流程图;图2是详细示出了用于生成数据串的过程的一个实施例的流程图;图3是一个典型的数据串; 图4是一个期望被扰乱的典型数据结构;图5是详细示出了用于扰乱数据结构的过程的一个实施例的流程图;图6是从图4的数据结构中导出的典型的被扰乱的数据结构;图7是详细示出了用于扰乱数据结构的过程的另一个实施例的流程图;图8是示出了分配有加权值的各种数据字段类型的示意图。具体实施例方式本专利技术的实施例提供了一种新颖的方法和系统,它们通过为在所述第一数据结构内的每行数据值确定性地生成唯一的数据串,使用所述数据串将所述第一数据结构的所述行中的每个数据映射给参考数据结构的数据值并且基于在所述参考数据结构中的映射数据值来创建第二数据结构,来扰乱第一数据结构内的数据值。确定性的方法和系统能够实现可再现的结果使得对于第一数据结构扰乱的每个实例,第一数据结构中的一行数据值都能够与第二数据结构中的一行数据值相关。此外,在本专利技术各个实施例中示出的新颖方法和系统在某些实施例中可以将加权值分配给所述第一数据结构内特定类型的数据值用于创建大致近似于第一数据结构内数据值分配的第二数据结构。这样,随机出现的所述第二数据结构就在对所述第一数据结构进行操作的软件应用程序的测试和故障诊断中十分有效。从随后通过的详细描述和本专利技术各个实施例的附图中将更好地理解本专利技术的实施例。尽管如此,不应将详细描述和附图理解为将本专利技术限制在某些特定实施例上。相反地,提供这些特定的实施例是出于帮助更好的理解本专利技术的示意性目的。阐述了特定的硬件设备、编程语言、组件、程序以及包括操作环境等等的多种细节用于提供对本专利技术的透彻理解。在其他实例中,结构、设备和程序以框图而非细节的形式示出以避免模糊本专利技术的实施例。但是本领域普通技术人员应该理解没有这些特定细节也可实现本专利技术的实施例。计算机系统、服务器、工作站和其他机器可以通过例如包括一个或多个网络的通信介质相互连接。此外示出用于解释本专利技术各个实施例的数据结构可以是但不限于数据库、电子表格以及其他能够作为存储介质的装置。现在转到图1A,示出的是使用在图1B到图8中详细描述的数据扰乱方法的典型定购系统的过程10的系统框图。过程10在客户服务代理接收到客户定单的步骤14处开始。可以通过电子商务网站、电话或个人收到所述定单。在步骤16处,过程10从包括了客户数据结构12A和库存可用性数据结构12B的数据结构12中检索用户数据。客户数据结构12A可以包括转入地址、电话、公司社会保险号码以及该客户过去的支付方法的客户信息。在步骤18处,过程10基于来自库存数据结构12B的可用库存以及来自客户数据结构12A的出货信息生成一张发票。在步骤20处,出货给所述客户的定单是基于在步骤18处生成的发票。在步骤22处,如果客户正当地收到该定单就完成了所述过程。然而,如果该定单未被恰当地接收(诸如在定单出货错误或者合适的定单被送给错误的顾客的情况下),就必须调试过程10中使用的软件应用程序以用于确定故障的根源。在步骤24处,使用来自客户数据结构12A和库存数据结构12B的测试数据值生成数据结构13。随后就在步骤26处使用测试数据结构13分析过程10使用的软件应用程序。通常期望包括在客户数据结构12A内的敏感信息不要被分发到要求访问数据结构12A内信息的这些有限的一组人之外的地方。通过使用确定性的方法扰乱数据结构12A内的数据,就可生成带有外表自然并且保护客户机密信息的测试数据结构13。因为使用确定性的函数生成测试数据结构13内的数据值,所以在测试数据结构13内的数据录入项可被追溯到数据结构12A内的数据值从而定位过程10使用的所述软件应用程序内的问题根源。转向图1B,示出的是用于从期望被扰乱的第一或源数本文档来自技高网
...

【技术保护点】
一种数据扰乱的方法,包括:    对期望其扰乱的第一数据结构进行操作;    基于所述第一数据结构的一部分创建数据串;以及    基于所述数据串,从至少一个第三数据结构中确定性地生成第二数据结构;并且    用所述第二数据结构代替所述第一数据结构。

【技术特征摘要】
US 2005-2-7 11/052,2411.一种数据扰乱的方法,包括对期望其扰乱的第一数据结构进行操作;基于所述第一数据结构的一部分创建数据串;以及基于所述数据串,从至少一个第三数据结构中确定性地生成第二数据结构;并且用所述第二数据结构代替所述第一数据结构。2.如权利要求1所述的方法,其特征在于,所述第一数据结构包括一行或多行和一列或多列的数据值,并且还可包括用于所述一行或多行数据值的每一行的标识符。3.如权利要求2所述的方法,其特征在于,还包括基于所述标识符生成所述数据串,所述数据串是确定性函数的输出。4.如权利要求2所述的方法,其特征在于,所述第二和至少一个第三数据结构包括一行或多行和一列或多列的数据值,并且在所述第二和至少一个第三数据结构的一列或多列中的每一列都对应于在所述第一数据结构的所述一列或多列的数据值类型。5.如权利要求2所述的方法,其特征在于,还包括把加权值分配给所述第一数据结构的所述一行或多行的每一行中的各个数据值类型;以及基于所述第一数据结构的所述分配的加权值,将来自所述至少一个第三数据结构的数据值装入所述第二数据结构。6.如权利要求2所述的方法,其特征在于,分配加权值还包括根据在所述第一数据结构的所述一行或多行的每一行中的所述数据值类型的总体中的出现来分配加权值,使得在所述第二数据结构内相应的数据值与实际总体中所找出的自然模式相匹配。7.一种计算机可读介质,它具有用于执行如权利要求1所述的方法的计算机可执行指令。8.一种计算机软件产品,它包括用于执行如权利要求1所定义方法的代码。9.一种用于构造测试数据结构的方法,包括对具有一个或多个数据字段类型的源数据结构进行操作,其中所述一个或多个数据字段的每一个都包括一行或多行数据;为所述一行或多行数据的每一行确定一个标识符;为了所述一行或多行数据的每一行,执行如下a)基于所述标识符生成数据串;b)基于所述数据字段的类型,把所述数据串的一部分映射到至少一个参考数据结构内的数据值;并且c)把所述至少一个参考数据结构内的所述映射值装入所述测试数据结构。10.如权利要求9所述的方法,其特征在于,所述数据串是一确定性函数的输出。11.如权利要求9所述的方法,其特征在于,还包括把加权值分配给在所述源数据...

【专利技术属性】
技术研发人员:JE费
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1