CN103329130A - 管理数据集合的更改 - Google Patents

管理数据集合的更改 Download PDF

Info

Publication number
CN103329130A
CN103329130A CN2012800051464A CN201280005146A CN103329130A CN 103329130 A CN103329130 A CN 103329130A CN 2012800051464 A CN2012800051464 A CN 2012800051464A CN 201280005146 A CN201280005146 A CN 201280005146A CN 103329130 A CN103329130 A CN 103329130A
Authority
CN
China
Prior art keywords
change
record
result
proposal
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012800051464A
Other languages
English (en)
Other versions
CN103329130B (zh
Inventor
J·古尔德
T·珀金斯
A·维斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ab Initio Technology LLC
Ab Initio Software LLC
Original Assignee
Ab Initio Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN103329130A publication Critical patent/CN103329130A/zh
Application granted granted Critical
Publication of CN103329130B publication Critical patent/CN103329130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

管理对记录的集合的更改包括:在数据存储系统中存储第一记录组(116),所述第一记录组表示记录的集合的第一版本,以及验证对记录的集合的提议更改(104),所述提议更改由通过用户界面(102)接收的输入指定。基于与提议更改相关联的验证标准(110)查询数据存储系统,并且响应于所述查询的接收第一结果。处理表示更改(114)还未应用到记录的集合的第二记录组以生成第二结果。基于第二结果更新第一结果以生成第三结果。处理第三结果以根据所述验证规则确定所述提议更改是否是有效的。

Description

管理数据集合的更改
对相关申请的交叉引用
本申请要求2011年1月14日提交的序列号为61/433,082的美国专利申请的优先权,其通过引用合并在此。
背景技术
本发明涉及管理数据的集合的更改。
诸如数据库系统的计算系统,提供了管理数据的集合的更改的各种机制。在某些情况下,用户提出并实施对存储在数据库中的数据的更改。一般地,数据库包括定义所存储的数据可以如何被改变的规则。
发明内容
一方面,一般地,一种用于管理对记录的集合的更改的方法,包括:在数据存储系统中存储第一记录组,所述第一记录组表示记录的集合的第一版本。该方法进一步包括:验证对记录的集合的提议更改,所述提议更改由通过用户界面接收的输入指定。所述验证包括:基于与提议更改相关联的验证标准查询数据存储系统并且响应于所述查询接收第一结果,处理表示更改还未应用到记录的集合的第二记录组以生成第二结果,基于第二结果更新第一结果以生成第三结果,并且处理第三结果以根据所述验证规则确定所述提议更改是否是有效的。
另一方面,一般地,一种计算机可读存储介质存储用于管理对记录的集合的更改的计算机程序。所述计算机程序包括指令,用于使计算机执行:在数据存储系统中存储第一记录组,所述第一记录组表示记录的集合的第一版本;以及验证对记录的集合的提议更改,所述提议更改由通过用户界面接收的输入指定。所述验证包括:基于与提议更改相关联的验证标准查询数据存储系统并且响应于所述查询接收第一结果,处理表示更改还未应用到记录的集合的第二记录组以生成第二结果,基于第二结果更新第一结果以生成第三结果,并且处理第三结果以确定根据所述验证规则所述提议更改是否是有效的。
另一方面,一般地,一种用于管理对记录的集合的更改的计算系统,包括:存储第一记录组的数据存储系统,所述第一记录组表示记录的集合的第一版本;以及至少一个处理器,经配置来验证对记录的集合的提议更改,所述提议更改由通过用户界面接收的输入指定。所述验证包括:基于与提议更改相关联的验证标准查询数据存储系统并且响应于所述查询接收第一结果,处理表示更改还未应用到记录的集合的第二记录组以生成第二结果,基于第二结果更新第一结果以生成第三结果,并且处理第三结果以确定根据所述验证规则所述提议更改是否是有效的。
另一方面,一般地,一种用于管理对记录的集合的更改的计算系统,包括:用于存储第一记录组的装置,所述第一记录组表示记录的集合的第一版本;以及用于验证对记录的集合的提议更改的装置,所述提议更改由通过用户界面接收的输入指定。所述验证包括:基于与提议更改相关联的验证标准查询数据存储系统并且响应于所述查询接收第一结果,处理表示更改还未应用到记录的集合的第二记录组以生成第二结果,基于第二结果更新第一结果以生成第三结果,并且处理第三结果以确定根据所述验证规则所述提议更改是否是有效的。
各方面可以包括以下特征中的一个或多个。第一记录组包括将一个或者多个源值映射到各自的目标值的元数据映射。如果一个或者多个源值之一被映射到两个不同的目标值,那么提议更改是无效的。处理所述第三结果包括识别应用所提议更改是否会引起一个或者多个重复的记录的生成。识别应用所提议更改是否会引起一个或者多个重复的记录的生成包括识别一个或者多个重复的行。通过使用作为验证标准的一个或者多个源值来识别所述一个或者多个重复的行。第二记录组包括表示已被输入到用户界面的、对第一记录组的提议更改的一个或者多个更改组。所述输入包括应用与先前保存的更改组相关联的更改到第一记录组的指令。验证对所述记录的集合的提议更改包括对比在用户界面中由输入指定的其它的提议更改,验证所述提议更改。用户界面包括选择性地显示记录组的一个或者多个子集的一个或者多个过滤器。如果提议更改不是有效的,则生成通知。该通知识别违反验证标准的提议更改的部分。
各方面可以包括一个或多个以下的优点。例如,本文描述的技术可以用来保持各种数据库和文件的完整性和准确性。本文描述的技术也可以让管理员有效地维护一个或多个记录系统。
从以下的说明以及从权利要求中,本发明的其它特征和优点将变得显而易见。
附图说明
图1是用于执行基于图形的计算的系统的框图。
图2是管理对记录集合的更改的示例性过程的流程图。
图3是示例性的计算环境的屏幕截图。
图4A和图4B是示例性的计算环境的屏幕截图。
具体实施方式
图1示出了示例性的计算环境100,其中可以使用用于管理数据的集合(例如,被构建为记录的数据)的更改的技术。系统100包括数据存储系统112,所述数据存储系统112可以包括一个或多个数据源,诸如存储设备或者到在线数据流的连接,其中每个可以以各种格式中的任何格式(例如,数据库表、电子表格文件、纯文本文件或大型机所使用的本机格式)存储数据。
处理环境106包括处理引擎108和验证引擎110。在合适的操作系统(诸如UNIX操作系统)的控制下,处理环境106可以被托管在一个或者多个通用计算机上。例如,处理环境106可以包括多节点并行的计算环境,所述多节点并行的计算环境包括使用多个中央处理单元(CPU)的计算机系统的配置,其可以为或者本地的(例如,诸如SMP计算机的多处理器系统)或者本地分布的(例如,耦合为群集或MPP的多个处理器)、或者远程的、或者远程分布的(例如,经由局域网(LAN)和/或广域网(WAN)耦合的多个处理器)或者其任何组合。
提供数据存储系统112的存储设备可以是处理环境106的本地的存储设备,例如,被存储在连接到运行处理环境106的计算机的存储介质(例如,硬盘驱动器)中,或者可以远离处理环境106,例如,被托管在通过远程连接与运行处理环境106的计算机通信的远程系统(例如,大型机)上。
处理环境106(和/或它的相关联的组件,诸如处理引擎108)可以从包括不同形式的数据库系统的多种类型的系统接收数据。该数据可以被组织成具有各自字段(也被称为“属性”或“列”)的值的记录,其包括可能的空值。当第一次从数据源读取数据时,处理环境106通常以关于数据源中的记录的一些初始的格式信息开始。在某些情况下,最初数据源的记录结构可能不是已知的,并且可以在对数据源的分析后被确定。关于记录的初始信息可以包括表示特定值(distinct value)的位数、记录内的字段的顺序以及由位表示的值的类型(例如,字符串、符号/无符号型整数)
计算环境100还包括配置为将来自用户101的命令向处理环境106通信的用户界面102。在一些示例中,如在下面进一步详细描述的,用户101可以使用用户界面102输入提议的记录更改104。例如,用户101可以通过输入提议的记录更改104来试图改变存储在数据存储系统112中的记录组116中的一个或多个记录,所述提议的记录更改104包括添加和/或删除记录组116中的表的行或列,或者表的一个或者多个字段中的值的更改。用户界面102还可以通过使用诸如计算机显示器、扬声器等的各种输出设备从处理环境106向用户101通信信息。例如,用户界面102可以包括图形显示器,所述图形显示器能够以图形方式表示存储在数据存储系统112中的信息(例如,通过显示表示数据库表的列和行的网格)。
处理引擎108和验证引擎110使用提议的记录更改104和从数据存储系统112检索的信息来验证和/或实施对数据存储系统112中存储的记录组116的更改。从数据存储系统112检索的信息可以包括与一个或多个未决的记录更改114(例如,尚未付诸实施的记录组116的更改,但可能已经被验证和/或保存)相关的信息。在一些示例中,未决的记录更改被称为“更改组”。一般地,处理引擎108接收并处理记录数据,所述记录数据包括表示用于改变一组或多组记录的指令的数据。处理引擎108可以使用来自提议的记录更改104、未决的记录更改114以及记录组116的数据以生成或者执行用于更改存储在数据存储系统112中的记录组116的指令。在一些示例中,在执行改变记录的集合的指令之前(例如,通过处理引擎108),验证引擎110验证用于更改记录的集合的指令。尽管处理环境106包含处理引擎108和验证引擎110,但处理环境106可以将其任务在任意数量的单独的任务引擎之间划分。例如,单一的任务引擎可以执行处理引擎108和验证引擎110二者的功能。同样,由处理引擎108和验证引擎110所执行的任务可以在多个子任务引擎之间划分。
处理环境106可以访问在数据存储系统112中存储的数据。用户界面102也可以直接或间接地访问数据存储系统112,在所述用户界面102开发者能够提出并实施对数据存储系统112中存储的数据的更改。在一些示例中,用户界面102与用于开发应用的开发环境相关联,所述应用诸如包括由顶点之间的定向链接(表示工作元素流程)连接的顶点(表示组件或数据集)的数据流图。例如,在美国公开号为2007/0011668,题为“管理基于图形的应用的参数”中更详细地描述这样的环境,其通过引用并入本文。在美国专利第5566072号“执行表示为图形的计算”中描述用于执行这样的基于图形的计算的系统,其通过引用并入本文。根据这个系统做出的数据流图形提供了使信息进出由图形组件表示的单独过程(process)、在过程之间移动信息以及定义过程的运行顺序的方法。该系统包括选择过程间通信方法的算法(例如,根据图形的链接的通信路径可以使用TCP/IP或UNIX域套接字,或者使用共享内存来在过程之间传递数据)。
图2示出了用于管理记录集合的更改的示例过程200的流程图。过程200可以由计算环境100中的一个或多个模块(例如,处理引擎108)执行。
第一记录组被存储(202)在数据存储系统中,第一记录组表示记录的集合的第一版本。在一些示例中,记录的集合表示要被精确地保持和更新以在处理数据中使用的信息的集合,诸如元数据映射。一般地,元数据映射可以指定在两个不同的系统之间的值的转变(translation)。例如,如果第一系统使用值M(男)和F(女)来定义“性别”字段,第二系统使用值0(男)和1(女)来定义性别字段,可以使用元数据映射来将值从第一(“源”)系统向第二(“目标”)系统转变(例如,M→0,F→1)。可以在单个字段之间或者字段组之间做映射(例如,从第一系统到第二系统映射多个列)。例如,考虑存储包含用于表示人的性别的第一列和表示这个人生活的状态的第二列的记录的第一系统。在这个示例中,性别代码可以取决于状态,其中第一性别代码映射用于一个状态,第二性别代码映射用于另一个状态。具有状态MA的记录可以将值1映射到男性,但是具有状态NY的记录可以将值3映射到男性。在这个示例中,组合MA/0映射到男性,组合MA/1映射到女性,并且组合NY/3映射到男性。
在一些示例中,元数据映射提供了从一个(并且只有一个)源值向目标值的转变。在这些示例中,元数据映射不能提供M→0和F→0的转变,这是因为这样的转变可能引起错误。这种转变方式将本质上破坏“M”和“F”之间的区别,这是因为两个不同的源值将被映射到相同的目标值。因此,在许多情况下,每个目标值可能只能与一个源值相关联。在其他实施方式中,如果目标系统保持两个不同的源值(例如,M和F)之间的区别不是必要的,那么多个源值可以被映射到相同的目标值。
验证(204)对由输入指定的记录集合的提议更改。在一些示例中,验证(204)所提议更改包括验证过程205,所述验证过程205包括程序(procedure)206、208、210和212。即,在验证(204)提议更改中,基于与提议更改相关联的验证标准来查询数据存储系统,并且响应于查询(206)接收第一结果。例如,在接收关于提议的记录更改104的信息后,处理引擎108查询数据存储系统112。在一些示例中,查询数据存储系统112使得数据存储系统112返回第一结果,所述第一结果识别与提议更改104影响的行和/或列相关的行和/或列。查询所基于的验证标准表示特定行的源或目标列的一组值。例如,源列验证标准可用于验证实施提议更改104不会导致记录组116中重复的行,而目标列的值可以用来验证源和目标值之间的映射是可逆的(例如,以确认各组目标值是唯一的)。处理引擎108可以存储供以后用来验证提议的记录更改104的第一结果(例如,在本地内存)。
处理表示还未应用到记录的集合的更改的第二记录组(“更改组”)以生成第二结果(208)。例如,处理引擎108可以处理存储在数据存储系统112中的未决的记录更改114,以便生成表示可能与提议的记录更改104冲突的第二结果。例如,如果提议的记录更改104包含修改行X的值的指令,处理引擎可以从未决的记录更改114中提取与行X相关的任何指令。从未决的记录更改114提取的信息被存储(例如,在本地存储器)为第二结果。在一些实施方式中,处理引擎108可以将第一结果传递到验证引擎110以验证提议的记录更改104而不考虑未决的记录更改114。同样,处理引擎108可以将第二结果传递给验证引擎110,以便验证未决的记录更改114而不考虑提议的记录更改104。在一些示例中,可以使用图4A、4B中示出的环境和技术中的一个或者多个生成更改组(在下面更详细地描述)。
基于第二结果更新第一结果以生成第三结果(210)。例如,在以上讨论的方式生成第一和第二结果之后,处理引擎108可以用来自第二结果的信息更新第一结果以生成第三结果。在一些示例中,第三结果包括第一和第二结果中识别的行和/或列。可以根据验证标准处理第三结果以确定提议更改是否是有效的(212)。例如,处理引擎108可以将第三结果和提议的记录更改104传递到验证引擎110。验证引擎110然后可以比较提议的记录更改104(例如,使用提议的记录更改104中识别的验证标准)以确定提议的记录更改(104)是否是有效的(214)。确定对记录集的提议更改是否有效可以包括对重复源值的检查、核实每组源值映射到唯一的目标值组,并且核实任何范围(例如,日期范围)不重叠。
如果提议更改被确定是无效的(NO),那么拒绝提议更改(218)。也可以生成一个或多个用户通知(220)。在一些示例中,通知可以识别提议更改为何无效的一个或多个原因。例如,如果因为提议更改包括修改已在未决的记录更改114中被删除的行的指令所以验证引擎110拒绝提议更改,那么可以在用户界面102生成识别提议的记录更改104和未决的记录更改114之间的冲突的通知。
如果提议更改被确定是有效的(YES),那么提议更改可应用于记录的集合。例如,如果验证引擎110根据验证标准确定提议更改104是有效的,那么处理引擎106(或其他合适的实体)可以根据提议更改104中所提供的指令修改记录组116。例如,如果提议的记录更改104包含修改记录组116中的行的指令,并且验证引擎110根据验证标准确定提议的记录更改104是有效的,那么处理引擎108可以修改在提议的记录更改104中识别的记录组116中的行。
在一些示例中,验证过程基于验证标准查询来自外部表的行,其可以是一组源值或者一组目标值。然后可以针对关于当前更改组的所保存的行查询数据存储系统(例如,元数据存储库),所述当前更改组表示外部行的更新或者删除。在一些示例中,对数据存储系统的这种查询可以不使用验证标准,这是因为覆写(override)的本质可能意味着结果行不再符合验证标准。基于被保存的覆写,不再匹配验证标准的外部行可以从数据存储系统中被移除。然后可以查询数据存储系统中符合验证标准的行。与已在验证组中的外部行的唯一标识符匹配的结果行中的一些或者全部可以替换相应的外部行。匹配验证标准的其它行然后可以被添加到组中。最后,基于最新的更改是否匹配验证标准,来自用户界面的任何未保存的更改可以从验证组中替换或移除具有相同的唯一标识符的现有行。匹配验证标准并且表示新的行(例如,插入外部表)的未保存的行可以被添加到验证组。然后可以使用最终的行组来应用验证。
图3是可以显示在例如用户界面102上的环境300的示例性屏幕截图。用户(例如,用户101)可以使用环境300来查看并与一个或多个记录交互。环境300提供了文件浏览器312,其使用一个或多个组织系统显示文件的布置。在这个示例中,文件被组织为层次结构(例如,父“映射”包含子节点“映射”),其又包含若干亚子节点文件。用户可以导航文件浏览器来选择并显示一个或多个文件,诸如选择的文件303。
文件已被选择之后,一个或多个过滤器314可以被应用到与所选择的文件303相关联的数据。过滤器314的应用可以改变在环境300中将要显示的数据的类型或量。例如,过滤器314可以被应用到选定的文件303以抑制目标值尚未被输入的行的显示。
在这个示例中,所选择的文件303是元数据映射。正如上面所讨论的,一般地,元数据映射可以是两个不同的系统之间的值的转变。在图3中,元数据映射包括五行302,所述五行302包括第一行304。元数据映射还包括两列306,所述两列306包括第一列308和第二列310。参见第一行304,第一列308表示一条元数据的源值(P001)。第二列310表示同一条元数据的目标值(Y)。因此,在这个示例中,第一列308和第二列310定义了选定的文件303的第一行304的元数据映射,将源值P001映射到目标值“Y”。
图4A和4B是展示一种技术的示例性环境400A、400B,其中与无效的提议更改相关联的行会在观看环境中被自动地提供,使得用户可以看到规则违反的可视化表示。图4A是类似于上述的环境300(图3)的环境400A的示例性屏幕截图。环境400A显示与选定的文件相关联的元数据,并包括第一行404。在此示例中,过滤器402使环境400A只显示源值具有值“P002”的行,其包括第一行404。第一行404的第一列包括源值406P002,所述源值406P002被映射到第一行404的第二列中的目标值408“N”。因此,第一行404表示源值406P002的元数据映射。
图4B示出了环境400B,在所述环境400B中用户(或其他实体)添加了表示无效的更改的第二行410。如上所述,即使存在通常会抑制通知所表示的类型的行的过滤器,无效的更改也可以导致通知用户规则违反(例如,验证规则的违反)的通知被生成。例如,如在图4A中,过滤器402保持有效,其通常可以将显示的行限制为其中的源值具有P002的值的行。然而,在这个示例中,第二行410已被添加(例如,作为提议更改104),其提议将源值412“P003”映射到目标值414“X”。在分析提议更改时,相对于第一结果(例如与记录组116相关联的第一结果)和第二结果(例如,与未决的记录更改114相关联的第二结果)中的任一个或者两者,提议更改被无效。在这个示例中,因为验证标准指定单个源值不能被映射到一个以上的目标值,所以从源值412P003到目标值X414的提议的映射是无效的,这是因为它与源值412P003到目标值407“Y”的预先存在的映射相冲突,由冲突行409表示。
使用各种技术可以激活验证过程。例如,用户可以激活“验证更改”控制,所述“验证更改”控制指示验证引擎110(图1)验证对记录的集合的提议更改。在更改被输入到用户界面(例如,环境400A、400B)之后,也可以激活验证过程。在一些示例中,验证过程可以实时地发生,并且在用户将更改输入(例如,打字)到用户界面时可以验证对记录的集合的更改。因此,验证过程可以针对存储的(例如,外部存储的)记录的集合、存储的未决的记录更改组(例如,更改组)以及出现在用户界面但是还未被保存为更改组或者还未被应用到记录的集合的更改来验证提议更改(例如,用户界面中的第一更改可以相对于未被实施或者保存为更改组的用户界面中的其它更改来被验证)。
尽管应用了将抑制具有与P002不同的源值的行的过滤器402,但提议更改被无效后,可以在环境400B中呈现冲突行409。在这种情况下,与表示无效的提议更改的违反行(行410)相邻地呈现冲突行409。此外,可以生成一个或者多个通知414、416来将用户的注意力吸引到无效的提议更改。为了纠正无效的提议更改,用户可以删除提议更改或者可以修改提议更改和/或任何冲突值,以满足被违反的验证规则。
环境400B还包括可以由用户激活的保存控制418以及保存并提交控制420。在一些示例中,保存控制418的激活将保存用户输入的任何提议更改,但是将不会将提议更改应用到记录组(例如,与记录组相关联的数据将不会响应于激活保存控制418而被改变)。替代地,对保存控制418的激活可以引起文件(例如,更改组)的生成,所述文件包含还未被应用到记录组的保存的提议更改(例如,图1中示出的未决的记录更改114)。保存并提交控制420可以被用户激活以保存提议更改并且将它们应用到记录组。因此,如果提议更改被确定为是有效的(例如,通过图2所描述的过程200),记录组将根据提议更改被改变。在一些示例中,用户可以访问更改组以进一步编辑更改组或者实施更改组表示的更改。对记录的集合实施更改组可以是类似于过程200(图2)的验证过程。当实施更改组(例如,将更改组中的提议更改应用到记录的集合),更改组可以表示提议更改104,并且未决的记录更改114可以是与被验证的更改组不同的一个或者多个更改组。
上述管理对记录集合的更改的技术可以通过使用在计算机上执行的软件来实施。例如,软件形成一个或者多个计算机程序中的过程,所述计算机程序在一个或者多个编程的或者可编程的计算机系统(其可以是各种架构,诸如分布的、客户端/服务器或者网格)上执行,所述每个计算机系统至少包括一个处理器、至少一个数据存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备或端口和至少一个输出设备或端口。该软件可以形成更大的程序的一个或多个模块,所述程序例如提供关于数据流图的设计和结构的其他服务。图形的节点和元素可被实施为存储在计算机可读介质或符合存储在数据存储库中的数据模型的其他有组织的数据的数据结构。
该软件可以被提供在由通用或者专用目的可编程计算机可读的存储介质上,诸如CD-ROM,或者通过网络的通信介质被传递(被编码为传播信号)到其被执行的计算机。所有的功能可以在专用目的计算机上被执行,或者使用诸如协处理器的专用目的硬件。软件可以以分布的方式被实施,在所述分布方式中软件所指定的计算的不同部分由不同的计算机执行。每个这种计算机程序优选地被存储在或者被下载到通用或者专用目的可编程的计算机可读的存储介质或者设备(例如,固态存储器或者介质、或者磁性或光学介质),以当存储介质或者设备由计算机读取时配置和操作计算机来执行本文表述的过程。本发明的系统也可以被考虑为实施为计算机可读存储介质,配置有计算机程序,其中如此配置的存储介质使得计算机系统以特定的、预定义的方式执行本文所述的功能。
已经描述了本发明的一些实施例。然而,将会被理解的是,可以作出各种修改而不脱离本发明的精神和范围。例如,上面描述的步骤中的一些可以是独立的步骤,并因此可以以与所描述的顺序不同的顺序被执行。
应当理解的是,前面的描述是意图说明而非限制本发明的范围,本发明的范围由所附的权利要求书的范围限定。例如,上面描述的多个功能步骤可以以不同的顺序进行,而基本上不影响整体的处理。其它的实施例在下面的权利要求的范围之内。

Claims (15)

1.一种管理对记录的集合的更改的方法,所述方法包括:
在数据存储系统中存储第一记录组,所述第一记录组表示记录的集合的第一版本;以及
验证对所述记录的集合的提议更改,所述提议更改由通过用户界面接收的输入指定,所述验证包括:
基于与所述提议更改相关联的验证标准查询所述数据存储系统并且响应于所述查询接收第一结果,
处理表示更改还未应用到所述记录的集合的第二记录组以生成第二结果,
基于所述第二结果更新所述第一结果以生成第三结果,以及
处理所述第三结果以根据所述验证规则确定所述提议更改是否是有效的。
2.如权利要求1所述的方法,其中所述第一记录组包括将一个或者多个源值映射到各自目标值的元数据映射。
3.如权利要求2所述的方法,进一步包括:如果一个或者多个源值之一被映射到两个或者多个不同的目标值,则使所述提议更改无效。
4.如权利要求1所述的方法,其中处理所述第三结果包括识别应用所提议更改是否会导致一个或者多个重复的记录的生成。
5.如权利要求4所述的方法,其中识别应用所提议更改是否会导致一个或者多个重复的记录的生成包括识别一个或者多个重复的行。
6.如权利要求4所述的方法,其中通过使用作为所述验证标准的一个或者多个源值来识别所述一个或者多个重复的行。
7.如权利要求1所述的方法,其中所述第二记录组包括表示已被输入到用户界面的、对所述第一记录组的提议更改的一个或者多个更改组。
8.如权利要求1所述的方法,其中所述输入包括将与先前保存的更改组相关联的更改应用到所述第一记录组的指令。
9.如权利要求1所述的方法,其中验证对所述记录的集合的提议更改包括对比由用户界面中输入的其它的提议更改来验证所述提议更改。
10.如权利要求1所述的方法,其中所述用户界面包括选择性地显示记录组的一个或者多个子集的一个或者多个过滤器。
11.如权利要求1所述的方法,进一步包括:如果所述提议更改不是有效的则生成通知。
12.如权利要求11所述的方法,其中所述通知识别违反验证标准的提议更改的部分。
13.一种计算机可读存储介质存储用于管理对记录的集合的更改的计算机程序,所述计算机程序包括指令,所述指令使计算系统来:
在数据存储系统中存储第一记录组,所述第一记录组表示记录的集合的第一版本;以及
验证对所述记录的集合的提议更改,所述提议更改由通过用户界面接收的输入指定,所述验证包括:
基于与所述提议更改相关联的验证标准查询所述数据存储系统并且响应于所述查询接收第一结果,
处理表示更改还未应用到所述记录的集合的第二记录组以生成第二结果,
基于所述第二结果更新所述第一结果以生成第三结果,以及
处理所述第三结果以根据所述验证规则确定所述提议更改是否是有效的。
14.一种用于管理对记录的集合的更改的计算系统,所述计算系统包括:
存储第一记录组的数据存储系统,所述第一记录组表示记录的集合的第一版本;以及
至少一个处理器,经配置来验证对所述记录的集合的提议更改,所述提议更改由通过用户界面接收的输入指定。所述验证包括:
基于与所述提议更改相关联的验证标准查询所述数据存储系统并且响应于所述查询接收第一结果,
处理表示更改还未应用到所述记录的集合的第二记录组以生成第二结果,
基于所述第二结果更新所述第一结果以生成第三结果,以及
处理所述第三结果以根据所述验证规则确定所述提议更改是否是有效的。
15.一种用于管理对记录的集合的更改的计算系统,所述计算系统包括:
存储第一记录组的装置,所述第一记录组表示所述记录的集合的第一版本;以及
验证对所述记录的集合的提议更改的装置,所述提议更改由通过用户界面接收的输入指定,所述验证包括:
基于与所述提议更改相关联的验证标准查询所述数据存储系统并且响应于所述查询接收第一结果,
处理表示更改还未应用到所述记录的集合的第二记录组以生成第二结果,
基于所述第二结果更新所述第一结果以生成第三结果,以及
处理所述第三结果以根据所述验证规则确定所述提议更改是否是有效的。
CN201280005146.4A 2011-01-14 2012-01-13 管理数据集合的更改 Active CN103329130B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161433082P 2011-01-14 2011-01-14
US61/433,082 2011-01-14
PCT/US2012/021286 WO2012097278A1 (en) 2011-01-14 2012-01-13 Managing changes to collections of data

Publications (2)

Publication Number Publication Date
CN103329130A true CN103329130A (zh) 2013-09-25
CN103329130B CN103329130B (zh) 2016-12-07

Family

ID=45615045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280005146.4A Active CN103329130B (zh) 2011-01-14 2012-01-13 管理数据集合的更改

Country Status (8)

Country Link
US (1) US9418095B2 (zh)
EP (1) EP2663937B1 (zh)
JP (1) JP5940560B2 (zh)
KR (1) KR101872748B1 (zh)
CN (1) CN103329130B (zh)
AU (1) AU2012205339B2 (zh)
CA (1) CA2824282C (zh)
WO (1) WO2012097278A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2009322602B2 (en) * 2008-12-02 2015-06-25 Ab Initio Technology Llc Mapping instances of a dataset within a data management system
EP2478433A4 (en) * 2009-09-16 2016-09-21 Ab Initio Technology Llc MAPPING DATA SET ELEMENTS
CN103180826B (zh) 2010-10-25 2017-04-05 起元技术有限责任公司 在代表计算机程序的数据流图中管理数据集对象
KR101872748B1 (ko) 2011-01-14 2018-06-29 아브 이니티오 테크놀로지 엘엘시 데이터 콜렉션에 대한 변경 관리 방법
US9165035B2 (en) * 2012-05-10 2015-10-20 Microsoft Technology Licensing, Llc Differential dataflow
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9832068B2 (en) 2012-12-17 2017-11-28 Microsoft Technology Licensing, Llc Reachability-based coordination for cyclic dataflow
US10140269B2 (en) * 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
CN104598374B (zh) 2013-10-30 2017-12-01 国际商业机器公司 校正失效脚本的方法和设备
US20150242389A1 (en) * 2014-02-27 2015-08-27 Netapp, Inc. Techniques to identify user interface elements associated with model violation events
US9910883B2 (en) 2014-04-07 2018-03-06 International Business Machines Corporation Enhanced batch updates on records and related records system and method
EP3191962B1 (en) 2014-07-18 2019-12-11 AB Initio Technology LLC Managing parameter sets
US10204134B2 (en) 2014-08-14 2019-02-12 International Business Machines Corporation Automatic detection of problems in a large-scale multi-record update system and method
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10176234B2 (en) 2014-11-05 2019-01-08 Ab Initio Technology Llc Impact analysis
US9942091B2 (en) * 2015-02-27 2018-04-10 Roche Diabetes Care, Inc. Pump configuration software wizard for configuring parameters of a handheld insulin pump
US11514448B1 (en) * 2016-07-11 2022-11-29 Chicago Mercantile Exchange Inc. Hierarchical consensus protocol framework for implementing electronic transaction processing systems
US11521242B2 (en) * 2016-08-31 2022-12-06 Meta Platforms, Inc. Asynchronous execution of tasks and ordering of task execution
US11507571B2 (en) * 2019-04-16 2022-11-22 Snowflake Inc. Materialized views over external tables in database systems
US20240004935A1 (en) * 2020-12-03 2024-01-04 Merck Sharp & Dohme Llc Chemistry, Manufacturing, and Controls Change Assessment System

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1643514A (zh) * 2002-03-26 2005-07-20 汤姆森许可贸易公司 使用来自不同源的元数据的方法和设备
US20060020570A1 (en) * 2004-07-23 2006-01-26 Yuh-Cherng Wu Conflict resolution engine
CN1783072A (zh) * 2004-09-30 2006-06-07 微软公司 便于使用的数据上下文过滤
US20090094291A1 (en) * 2007-09-14 2009-04-09 Oracle International Corporation Support for compensation aware data types in relational database systems
US20100138383A1 (en) * 2008-12-02 2010-06-03 Ab Initio Software Llc Data Maintenance System

Family Cites Families (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758351A (en) 1995-03-01 1998-05-26 Sterling Software, Inc. System and method for the creation and use of surrogate information system objects
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
JPH10133920A (ja) * 1996-09-03 1998-05-22 Fujitsu Ltd データベース管理装置及びデータベース管理制御プログラムを記録したコンピュータ読取可能な記録媒体
US6216140B1 (en) 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US6240414B1 (en) * 1997-09-28 2001-05-29 Eisolutions, Inc. Method of resolving data conflicts in a shared data environment
US6216131B1 (en) 1998-02-06 2001-04-10 Starfish Software, Inc. Methods for mapping data fields from one data set to another in a data processing environment
JP2000029896A (ja) * 1998-07-13 2000-01-28 Nec Corp 未検証データを分離したデータベースシステムおよびその管理方法
JP2000267909A (ja) * 1999-03-19 2000-09-29 Hitachi Software Eng Co Ltd データベースシステム
US6948154B1 (en) 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US7120638B1 (en) 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
US6633875B2 (en) * 1999-12-30 2003-10-14 Shaun Michael Brady Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
GB2358072B (en) 2000-01-07 2004-01-28 Mitel Corp Tabular range editing mechanism
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7143076B2 (en) * 2000-12-12 2006-11-28 Sap Aktiengesellschaft Method and apparatus for transforming data
US7117430B2 (en) 2001-02-27 2006-10-03 Microsoft Corporation Spreadsheet error checker
US7614036B2 (en) 2001-03-22 2009-11-03 Robert D Bjornson Method and system for dataflow creation and execution
US7853553B2 (en) 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
US6494159B2 (en) 2001-05-11 2002-12-17 The United States Of America As Represented By The Secretary Of The Navy Submarine launched unmanned combat vehicle replenishment
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6868526B2 (en) 2001-07-18 2005-03-15 The Mathworks, Inc. Graphical subclassing
AUPR966001A0 (en) 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
US7080088B1 (en) 2002-01-30 2006-07-18 Oracle International Corporation Automatic reconciliation of bindable objects
US7185317B2 (en) * 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
US7110924B2 (en) 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US20050144189A1 (en) 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
JP4502305B2 (ja) * 2003-02-10 2010-07-14 共同印刷株式会社 データベース問合せ文作成装置及びその方法並びにプログラム
US7257603B2 (en) * 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
US20050060317A1 (en) 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
CN102982065B (zh) 2003-09-15 2016-09-21 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US7840949B2 (en) 2003-11-03 2010-11-23 Ramal Acquisition Corp. System and method for data transformation using dataflow graphs
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US8165853B2 (en) 2004-04-16 2012-04-24 Knowledgebase Marketing, Inc. Dimension reduction in predictive model development
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
JP2006085224A (ja) * 2004-09-14 2006-03-30 Canon Inc データメンテナンスシステム
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US8768877B2 (en) 2005-03-07 2014-07-01 Ca, Inc. System and method for data manipulation
JP4550641B2 (ja) 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8255363B2 (en) * 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
US8630917B2 (en) 2005-06-09 2014-01-14 At&T Intellectual Property Ii, L.P. Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7464105B2 (en) 2005-07-06 2008-12-09 International Business Machines Corporation Method for performing semi-automatic dataset maintenance
US7870162B2 (en) 2005-07-29 2011-01-11 Sap Ag Method for generating properly formed expressions
US20070050750A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Extensible data-driven setup application for operating system
WO2007048229A1 (en) 2005-10-25 2007-05-03 Angoss Software Corporation Strategy trees for data mining
US8060821B2 (en) 2005-12-09 2011-11-15 Apple Inc. Enhanced visual feedback of interactions with user interface
US20070179956A1 (en) * 2006-01-18 2007-08-02 Whitmyer Wesley W Jr Record protection system for networked databases
US7761586B2 (en) 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US7661067B2 (en) 2006-02-21 2010-02-09 International Business Machines Corporation Method for providing quick responses in instant messaging conversations
US7647298B2 (en) 2006-03-23 2010-01-12 Microsoft Corporation Generation of query and update views for object relational mapping
US20070294119A1 (en) 2006-03-30 2007-12-20 Adaptive Alpha, Llc System, method and computer program product for evaluating and rating an asset management business and associate investment funds using experiential business process and performance data, and applications thereof
US8868577B2 (en) 2006-03-31 2014-10-21 Sap Se Generic database manipulator
US7797319B2 (en) 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US7970746B2 (en) 2006-06-13 2011-06-28 Microsoft Corporation Declarative management framework
US7689565B1 (en) * 2006-06-28 2010-03-30 Emc Corporation Methods and apparatus for synchronizing network management data
EP2527983A3 (en) 2006-08-10 2013-06-12 Ab Initio Technology LLC Distributing services in graph-based computations
US8423564B1 (en) * 2006-10-31 2013-04-16 Ncr Corporation Methods and apparatus for managing and updating stored information
US8538918B1 (en) 2006-12-05 2013-09-17 Corelogic Solutions, Llc Systems and methods for tracking parcel data acquisition
GB0700450D0 (en) 2007-01-10 2007-02-21 Radiation Watch Ltd The RWL threat engine
US9430552B2 (en) 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
US20080243765A1 (en) 2007-03-29 2008-10-02 Ariel Fuxman Method for generating nested mapping specifications in a schema mapping formalism
US7603368B2 (en) 2007-03-30 2009-10-13 Fmr Llc Mapping data on a network
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US8694518B2 (en) 2007-06-14 2014-04-08 Colorquick, L.L.C. Method and apparatus for database mapping
US8103704B2 (en) * 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
CA2698265C (en) 2007-09-20 2017-08-29 Craig W. Stanfill Managing data flows in graph-based computations
JP2009211599A (ja) * 2008-03-06 2009-09-17 Hitachi Ltd マッピング定義作成システムおよびマッピング定義作成プログラム
JP4224126B1 (ja) * 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CN102138139B (zh) 2008-06-30 2014-12-17 起元技术有限责任公司 基于图的计算中的数据日志记录
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
CN102272752B (zh) 2008-11-12 2015-07-08 起元技术有限责任公司 管理和自动链接数据对象
AU2009322602B2 (en) 2008-12-02 2015-06-25 Ab Initio Technology Llc Mapping instances of a dataset within a data management system
EP2391938A4 (en) 2009-01-30 2016-06-08 Ab Initio Technology Llc DATA PROCESSING WITH VECTOR FIELDS
EP2221733A1 (en) * 2009-02-17 2010-08-25 AMADEUS sas Method allowing validation in a production database of new entered data prior to their release
US8935702B2 (en) 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
EP2478433A4 (en) 2009-09-16 2016-09-21 Ab Initio Technology Llc MAPPING DATA SET ELEMENTS
US8583664B2 (en) * 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8732143B2 (en) * 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
CN103180826B (zh) 2010-10-25 2017-04-05 起元技术有限责任公司 在代表计算机程序的数据流图中管理数据集对象
US8949166B2 (en) 2010-12-16 2015-02-03 International Business Machines Corporation Creating and processing a data rule for data quality
KR101872748B1 (ko) 2011-01-14 2018-06-29 아브 이니티오 테크놀로지 엘엘시 데이터 콜렉션에 대한 변경 관리 방법
US20130166515A1 (en) 2011-12-22 2013-06-27 David Kung Generating validation rules for a data report based on profiling the data report in a data processing tool
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1643514A (zh) * 2002-03-26 2005-07-20 汤姆森许可贸易公司 使用来自不同源的元数据的方法和设备
US20060020570A1 (en) * 2004-07-23 2006-01-26 Yuh-Cherng Wu Conflict resolution engine
CN1783072A (zh) * 2004-09-30 2006-06-07 微软公司 便于使用的数据上下文过滤
US20090094291A1 (en) * 2007-09-14 2009-04-09 Oracle International Corporation Support for compensation aware data types in relational database systems
US20100138383A1 (en) * 2008-12-02 2010-06-03 Ab Initio Software Llc Data Maintenance System

Also Published As

Publication number Publication date
WO2012097278A1 (en) 2012-07-19
EP2663937B1 (en) 2018-08-29
AU2012205339A1 (en) 2013-05-02
US20120185449A1 (en) 2012-07-19
CA2824282C (en) 2019-05-21
JP5940560B2 (ja) 2016-06-29
KR101872748B1 (ko) 2018-06-29
CN103329130B (zh) 2016-12-07
EP2663937A1 (en) 2013-11-20
CA2824282A1 (en) 2012-07-19
KR20140051819A (ko) 2014-05-02
JP2014507713A (ja) 2014-03-27
US9418095B2 (en) 2016-08-16
AU2012205339B2 (en) 2015-12-03

Similar Documents

Publication Publication Date Title
CN103329130A (zh) 管理数据集合的更改
CN105144080B (zh) 用于元数据管理的系统
CN1790324B (zh) 复杂数据访问
US20070198586A1 (en) Methods and apparatus for providing a configurable geospatial data provisioning framework
US7743071B2 (en) Efficient data handling representations
CN110023923A (zh) 生成数据变换工作流
CN107111722B (zh) 数据库安全
Schintler et al. Encyclopedia of big data
CN102656554A (zh) 映射数据集元素
Southerton Datafication
CN102239468A (zh) 可视化数据元素之间的关系以及数据元数据属性的图形表示
CN102460076A (zh) 生成测试数据
CN107016047A (zh) 文档查询、文档存储方法及装置
US11947567B2 (en) System and method for computing and managing datasets using hierarchical analytics
JP2021532483A (ja) グラフ計算技術に基づく請求不正防止方法、装置、機器及び記憶媒体
Huang Data processing
CN112364021B (zh) 业务数据处理方法、装置及存储介质
US20050108294A1 (en) Delta-mechanism for integration of OLAP-based planning and reporting
CN109542432A (zh) 风控规则编辑方法及终端设备
CN107636644B (zh) 用于在全局分布式环境中保持相互依赖的公司数据一致性的系统和方法
US20230214424A1 (en) Dynamic determination of data
GB2493963A (en) Database record repair
US20100145748A1 (en) Information technology planning based on enterprise architecture
KR102588900B1 (ko) 행동 정보의 처리 방법 및 그 장치
US8856946B2 (en) Security filter for context-based data gravity wells

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant