可操纵逻辑数据集组的数据处理系统
相关申请的交叉引用
1.本技术根据35u.s.c.119(e)要求于2021年3月19日提交的、名称为“data processing system with manipulation of logical dataset groups[可操纵逻辑数据集组的数据处理系统]”的美国临时专利申请序列号63/163,699以及于2021年1月31日提交的、名称为“data processing system with manipulation of logical dataset groups[可操纵逻辑数据集组的数据处理系统]”的美国临时专利申请序列号63/143,924的优先权权益,这些专利申请的全部内容通过援引并入本文。
技术领域
[0002]
本披露内容的各方面涉及用于高效操作具有大量数据集的数据处理系统的技术,这些数据集可以存储在大量数据存储设备中的任何一个中。
背景技术:
[0003]
现代数据处理系统管理企业内的大量数据。例如,大型机构可能有数百万个数据集。该数据可以支持企业运营的多个方面,因此拥有如此大量的数据集对企业来说是无价的。例如,一些数据集可能支持例行过程,比如跟踪客户账户余额或向客户发送账户对账单。在其他情况下,处理来自一个或多个数据集的数据可以产生业务见解,比如得出以下结论:所请求的交易是欺诈性的或者作为特定地理区域中的总体交易的结果,企业面临特定级别的金融风险。在另外其他情况下,处理来自一个或多个数据集的数据可以产生技术见解,比如得出企业由于不正确的技术过程而面临技术失败的风险的结论。
[0004]
数据集可以由数据处理系统执行的应用程序访问或者通过数据处理系统的用户调用的工具访问。程序员可以开发应用程序来执行重复的过程,比如跟踪客户账户余额或向客户发送账户对账单。程序员可以将数据集指定为该过程的数据输入源,或者指定为通过执行该过程生成的结果的目的地。工具也可以使用数据集执行操作。例如,数据处理系统可以包括使得用户能够处理数据集以移除无效记录或生成数据集的指标(比如包含无效值的记录或字段的数量)的工具。
[0005]
为了帮助用户,可以提供数据集搜索能力来帮助用户在企业内的数据集中找到适当的数据集。例如,应用程序开发环境可以包括数据集搜索界面,应用程序程序员可以通过该界面指定期望数据集的特性。程序员然后可以从搜索结果中选择输入数据集或输出数据集。类似的搜索可以使得用户能够将数据集识别为工具的输入或输出。
[0006]
搜索可以基于为数据集存储的元数据。例如,数据处理系统可以存储数据集的元数据,该元数据指示表征数据集的一个或多个参数的值。该元数据可以包括例如数据集中的字段或数据集本身的名称或描述。作为另一个示例,元数据可以指示企业内创建数据集的组织、生成数据集的程序、数据集的创建日期。这些或其他类型的元数据可以用于搜索数据集。
技术实现要素:
[0007]
根据一些方面,提供了一种用于通过形成数据集组并结合配置访问一个或多个数据集的操作来呈现数据集组以供选择,从而实现数据处理系统在具有多个数据集的环境中的高效操作的方法。该方法包括通过一个或多个第一用户界面从第一用户接收输入,该输入选择多个数据集中的一个或多个数据集用于与多个数据集组中的组相关联;存储该多个数据集组的表示;呈现第二用户界面,该第二用户界面被配置用于由第二用户选择一个或多个数据集以与访问一个或多个数据集的该操作结合使用,其中,第二用户具有人物角色并且数据集具有至少部分地基于用户的人物角色的范围,其中,呈现该第二用户界面包括:自动识别一个或多个数据集组,这至少部分地基于与该数据处理系统的第二用户相关联的人物角色与同一个或多个自动识别的数据集组相关联的范围之间的对应关系;以及在该第二用户界面中渲染该一个或多个自动识别的数据集组的指示。
[0008]
根据一个方面,存储该多个组的表示包括对于该多个数据集组中的每个组,存储关于被授权访问该组的一个或多个用户的信息。
[0009]
根据一个方面,该一个或多个第一用户界面包括数据集搜索界面,该数据集搜索界面包括分面搜索界面;并且该分面搜索界面中的分面是基于与该多个数据集相关联的元数据的值。
[0010]
根据一个方面,该一个或多个第一用户界面包括显示数据集的谱系的用户界面。
[0011]
根据一个方面,该一个或多个第一用户界面包括显示与该多个数据集中的数据集相关的元数据的用户界面。
[0012]
根据一个方面,该方法进一步包括通过该第二用户界面从第二用户接收指定该一个或多个自动识别的组中的组的输入;以及基于从第二用户接收的该输入,针对该所选组内的多个数据集中的每一个执行该操作。
[0013]
根据一个方面,该操作包括配置应用程序以供该数据处理系统执行。
[0014]
根据一个方面,自动识别一个或多个数据集组包括选择该数据处理系统的第二用户有权访问的一个或多个数据集组,自动识别一个或多个数据集组至少部分地基于与第二用户相关联的人物角色与同该一个或多个自动识别的数据集组相关联的范围之间的对应关系。
[0015]
根据一个方面,渲染该一个或多个自动识别的组的该指示包括针对该一个或多个自动识别的组中的每一个渲染指示数据集组的图形用户界面元素;并且该方法进一步包括经由该第二用户界面接收对所渲染的指示数据集组的图形用户界面元素的选择以及基于该选择在该第二用户界面上渲染该组中的多个数据集。
[0016]
根据一些方面,提供了一种用于通过呈现数据集组以供数据处理系统的用户在配置访问一个或多个数据集的操作时进行选择,从而实现该数据处理系统在具有多个数据集的环境中的高效操作的方法。该方法包括呈现用户界面,该用户界面被配置用于由该用户选择一个或多个数据集以与访问一个或多个数据集的该操作结合使用,其中,该用户具有人物角色并且数据集具有至少部分地基于用户的人物角色的范围,其中,呈现该用户界面包括:自动识别一个或多个数据集组,这至少部分地基于与该数据处理系统的该用户相关联的人物角色与同一个或多个自动识别的数据集组相关联的范围之间的对应关系;以及在该用户界面中渲染该一个或多个自动识别的一个或多个数据集组的指示。
[0017]
根据一个方面,该方法进一步包括通过该用户界面接收指定该一个或多个组中的组的用户输入;以及基于所接收的输入,渲染该所选组内的数据集的指示。
[0018]
根据一个方面,该方法进一步包括通过该用户界面接收指定该一个或多个组中的组的用户输入;以及基于所接收的输入,针对该所选组内的多个数据集中的每一个执行该操作。
[0019]
根据一个方面,自动识别一个或多个数据集组进一步包括:经由该用户界面接收对数据集的搜索查询;以及基于该搜索查询执行搜索以生成搜索结果。
[0020]
根据一个方面,该操作包括配置应用程序以供该数据处理系统执行。
[0021]
根据一个方面,自动识别一个或多个数据集组包括选择该数据处理系统的用户有权访问的一个或多个数据集组,自动识别一个或多个数据集组至少部分地基于与该用户相关联的人物角色与同该一个或多个自动识别的数据集组相关联的范围之间的对应关系。
[0022]
根据一个方面,渲染该一个或多个自动识别的组的该指示包括针对该一个或多个自动识别的组中的每一个渲染指示数据集组的图形用户界面元素;并且该方法进一步包括接收对所渲染的指示数据集组的图形用户界面元素的选择,并且基于该选择,在该用户界面上渲染该组中的多个数据集。
[0023]
根据一些方面,提供了一种通过使得能够选择数据集组以对该组中的多个数据集中的每一个执行操作来实现数据处理系统在具有多个数据集的环境中的高效操作的方法。该方法包括经由用户界面接收搜索查询以搜索与同该数据处理系统的数据访问相关的操作结合使用的数据集;在该用户界面中呈现基于该搜索查询的搜索结果,其中,呈现这些结果包括呈现一个或多个数据集组,这些数据集组中的至少一些各自包括这些搜索的数据集中的一个或多个;经由该用户界面接收对呈现在该用户界面中的该一个或多个数据集组中的第一数据集组的操纵,其中,该用户界面被配置为提供用于经由该用户界面选择该第一数据集组作为与数据访问相关的该操作的目标的选项;以及在选择了呈现在该用户界面中的该一个或多个数据集组中的该第一数据集组后,对包括在该第一数据集组中的一个或多个数据集中的每一个执行该操作。
[0024]
根据一个方面,对一个或多个数据集中的每一个执行该操作包括对该一个或多个数据集中的每一个执行数据质量规则。
[0025]
根据一个方面,该用户界面提供用于将该第一数据集组展开的选项,以使得能够经由该用户界面选择该第一数据集组的一个或多个数据集作为与数据访问相关的该操作的目标,并且在选择了该第一数据集组的该一个或多个数据集后,对该第一数据集组的该一个或多个数据集中的每一个执行该操作。
[0026]
根据一个方面,在该用户界面中呈现的该一个或多个数据集组中的每一个在与经由该用户界面输入该搜索查询的用户相关联的人物角色与同该一个或多个数据集组相关联的范围之间具有对应关系。
[0027]
根据一个方面,这些搜索结果排除不具有与该用户的该人物角色相关联的元数据的数据集。
[0028]
根据一些方面,提供了一种通过形成数据集组来实现数据处理系统在具有多个数据集的环境中的高效操作的方法。该方法包括渲染其中识别了多个数据集的一个或多个第一用户界面;通过该一个或多个第一用户界面接收用户输入,该用户输入选择一个或多个
识别的数据集用于与多个数据集组中的组相关联;以及存储该多个数据集组的表示。
[0029]
根据一个方面,存储该多个组的表示包括:对于该多个数据集组中的每个组,存储关于被授权访问该组的一个或多个用户的信息。
[0030]
根据一个方面,该方法进一步包括渲染与该数据处理系统的用户配置相关联的第二用户界面以执行与数据访问相关的操作,其中,该第二用户界面包括数据集选择部分;并且渲染该第二用户界面包括在该数据集选择部分中呈现该多个数据集组中的一个或多个组的表示。
[0031]
根据一个方面,该方法进一步包括基于用户的人物角色选择该多个数据集组中的该一个或多个组以在该第二用户界面中呈现。
[0032]
根据一个方面,该第二用户界面包括程序开发环境中的用户界面;并且与数据访问相关的该操作包括配置正在开发的程序中的组件以访问数据集或数据集组。
[0033]
根据一个方面,该一个或多个第一用户界面包括数据集搜索界面。
[0034]
根据一个方面,该数据集搜索界面包括分面搜索界面;并且该分面搜索界面中的分面是基于与该多个数据集相关联的元数据的值。
[0035]
根据一个方面,该一个或多个第一用户界面包括显示数据集的谱系的用户界面。
[0036]
根据一个方面,该一个或多个第一用户界面包括显示与该多个数据集中的数据集相关的元数据的用户界面。
[0037]
根据一些方面,提供了一种用于实现数据处理系统在具有多个数据集的环境中的高效操作的方法。该方法包括用于渲染其中识别了数据集的一个或多个第一用户界面的手段;用于通过该一个或多个第一用户界面接收用户输入的手段,该用户输入选择一个或多个识别的数据集用于与多个数据集组中的组相关联;以及用于存储该多个数据集组的表示的手段。
[0038]
根据一个方面,该方法进一步包括用于渲染与该数据处理系统的用户配置相关联的第二用户界面以执行与数据访问相关的操作的手段,其中,该第二用户界面包括数据集选择部分;并且用于渲染该第二用户界面的手段包括在该数据集选择部分中呈现该多个数据集组中的一个或多个组的表示。
[0039]
根据一个方面,该方法进一步包括用于基于用户的人物角色选择该多个数据集组中的该一个或多个组以在该第二用户界面中呈现的手段。
[0040]
根据一些方面,提供了一种用于在可与多个数据集一起操作的数据处理系统中创建数据集组的方法。该方法包括识别可用于由该数据处理系统执行操作的一组数据集,该操作与该数据处理系统的数据访问相关;在第一用户界面中呈现所识别的该组数据集;经由该第一用户界面接收对来自所呈现的所识别的该组数据集的一个或多个数据集的用户选择;以及存储包括所选择的一个或多个数据集的组的表示。
[0041]
根据一个方面,识别可用于执行与该数据处理系统的数据访问相关的操作的该组数据集包括:经由用户界面接收指定描述在该数据处理系统中定义的该多个数据集的分面的一个或多个值的搜索查询;以及基于该搜索查询执行搜索以生成搜索结果,这些搜索结果包括可用于执行该操作的该组数据集。
[0042]
根据一个方面,该搜索查询包括分面搜索查询,该分面搜索查询包括用于过滤这些搜索结果的一个或多个分面。
[0043]
根据一个方面,该一个或多个分面包括指示数据集是否在将用于访问物理数据集的信息与逻辑数据集相关联的目录表中登记的分面。
[0044]
根据一个方面,用于接收该搜索查询的该用户界面包括用于接收识别该一个或多个分面的值的用户输入的多个字段;并且该多个字段包括用于接收与该多个数据集相关联的逻辑元数据、物理元数据和/或操作元数据的值的字段。
[0045]
根据一个方面,与数据访问相关的该操作包括配置由该数据处理系统执行的应用程序的组件。
[0046]
根据一个方面,经由第二用户界面接收用于更新该组的命令,该命令包括用于向该组添加一个或多个数据集的请求或用于从该组删除一个或多个数据集的请求。
[0047]
根据一个方面,响应于请求与所识别的该组数据集中的数据集相关的元数据的用户输入而经由该第一用户界面呈现关于该数据集的元数据。
[0048]
根据一个方面,该组是第二组;并且接收对一个或多个数据集的该用户选择包括接收对先前定义的第一数据集组的选择,使得该第二组包括分层的数据集分组。
[0049]
根据一个方面,存储该组的表示包括存储该组的范围信息。
[0050]
根据一个方面,该范围信息包括被授权访问该组的一个或多个用户的标识。
[0051]
根据一个方面,该范围信息包括被授权访问该组的一个或多个角色的标识。
[0052]
根据一个方面,该方法进一步包括渲染与该数据处理系统的用户配置相关联的第二用户界面以执行与数据访问相关的该操作,其中,该第二用户界面包括数据集选择部分并且渲染该第二用户界面包括在该数据集选择部分中呈现包括所选择的一个或多个数据集的组的表示。
[0053]
上文描述的各个方面可以可替代地或附加地与本文描述的任何系统、方法和/或过程中的方面一起使用。进一步地,数据处理系统可以被配置为根据具有前述方面中的一个或多个方面的方法来操作。这样的数据处理系统可以包括至少一个计算机硬件处理器,以及存储处理器可执行指令的至少一个非暂态计算机可读介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时使该至少一个计算机硬件处理器执行这样的方法。进一步地,一种非暂态计算机可读介质可以包括处理器可执行指令,这些处理器可执行指令在由数据处理系统的至少一个计算机硬件处理器执行时使该至少一个计算机硬件处理器执行具有前述方面中的一个或多个方面的方法。因此,前文内容为本发明的非限制性发明内容,其由所附权利要求限定。
附图说明
[0054]
将参考以下附图描述各个方面。应当理解,附图不一定按比例绘制。出现在多个附图中的项在其出现的所有附图中由相同或相似的附图标记指示。
[0055]
图1a是示出了根据本文描述的技术的方面的示例性企业it系统的不同用户创建和使用数据集组(比如数据集推车)的图;
[0056]
图1b是示出根据本文描述的技术的方面的示例性企业it系统的用户为了创建和/或管理数据集组而执行与数据集相关的各种动作的图;
[0057]
图1c是根据本文描述的技术的方面的具有数据处理系统的示例性企业it系统的框图,该数据处理系统具有维护关于数据集组的信息的数据集目录表;
[0058]
图2a是由数据处理系统渲染的简化的示例性图形用户界面的图示,通过该图形用户界面,用户可以指定可执行数据流图的组件和组件之间的互连;
[0059]
图2b是处于操作状态的图2a的示例性图形用户界面的图示,在该操作状态下,作为配置可执行数据流图的组件以访问数据集的过程中的步骤,用户已经访问了数据集选择工具以选择数据集;
[0060]
图2c是具有所描绘的用户界面的附加元素的图2a的示例性图形用户界面的图示;
[0061]
图2d是由数据处理系统渲染的简化的示例性图形用户界面,通过该图形用户界面,用户可以指定可执行数据流图的组件和组件之间的互连;
[0062]
图2e是处于操作状态的示例性图形用户界面的图示,在该操作状态下,作为配置可执行数据流图的组件的过程中的步骤,用户已经访问了数据集选择工具以选择数据集推车;
[0063]
图3是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面选择逻辑数据集,其中用户已经输入了请求查看与可供选择的逻辑数据集相对应的物理数据集中的数据的输入;
[0064]
图4a是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面选择数据集,其中,作为限制搜索的第一机制,用户已经通过数据集的目录导航,并且然后作为搜索查询文本输入以出现在数据集的描述中,作为限制搜索的第二机制;
[0065]
图4b是由数据处理系统渲染的图4a的示例性图形用户界面在已经执行搜索查询并且呈现与搜索查询相匹配的数据集列表以供用户选择一个或多个数据集作为操作的目标之后的操作状态下的图示,用户可以通过该图形用户界面选择数据集;
[0066]
图5是由数据处理系统渲染的示例性图形用户界面在执行将数据集列表限制为包括存储电子邮件的字段的数据集的搜索查询之后的操作状态下的图示,用户可以通过该图形用户界面选择数据集;
[0067]
图6是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面查看或改变与数据集相关的信息;
[0068]
图7是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面查看或改变与数据集推车相关的信息;
[0069]
图8a是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面定义数据集推车;
[0070]
图8b是处于不同操作状态的图8a的示例性图形用户界面的图示,其中用户可以选择数据集以包括在数据集推车中;
[0071]
图9是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面指定数据集以包括在数据集推车中;
[0072]
图10a是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面搜索数据集;
[0073]
图10b是处于操作状态的图10a的示例性图形用户界面的图示,在该操作状态下,用户已经指定了附加的搜索准则以将搜索结果限制为向数据集目录表登记的数据集;
[0074]
图10c是处于操作状态的图10a的示例性图形用户界面的图示,在该操作状态下,用户已经指示了数据集以包括在数据集组中,该数据集组在这里被指示为数据集推车;
[0075]
图11是由数据处理系统渲染的示例性图形用户界面的图示,用户可以通过该图形用户界面查看或改变与数据集组相关的信息,这些数据集组在这里被标识为技术组;
[0076]
图12是根据数据处理系统的方面的保存关于数据集组的信息的说明性数据结构的框图;
[0077]
图13是根据本文描述的技术的方面操作可与多个数据集一起操作的数据处理系统的示例性方法的流程图;
[0078]
图14是根据本文描述的技术的方面的用于操作被配置为执行访问数据集的操作的数据处理系统的示例性方法的流程图;
[0079]
图15是根据本文描述的技术的方面的用于操作被配置为执行用于访问数据集的程序的数据处理系统的示例性方法的流程图;以及
[0080]
图16是可以用于实施本文描述的技术的一些方面的说明性计算系统环境的框图。
具体实施方式
[0081]
发明人已经认识到并了解到,当数据处理系统支持对可以用作该数据处理系统执行的操作的目标的数据集组进行操纵时,该数据处理系统可以更高效地运行并且可以是更有效的数据分析工具。代替单个数据集或除了单个数据集之外,可以在用户界面中呈现组,用户通过这些用户界面选择一个或多个数据集作为操作的目标。然后,用户可以操纵该组,比如通过将该组展开以使得能够选择其任何构成元素作为操作的目标,或者在一些情况下,选择该组作为操作的目标,使得对该组中的所有数据集执行操作。由于要经由操作处理的数据集可以由用户直接通过操纵用户界面中呈现的组来选择,因此不再需要定位单个数据集并设置对单个数据集的操纵。换句话说,本文描述的技术提供了图形快捷方式,用于经由用户发起的动作来发起对一个或者甚至多个数据集的处理,而不必循环遍历数据集并为需要处理的每个单独的数据集设置菜单。
[0082]
数据集组可以被限定范围,使得特定组将仅作为在该组的范围内的搜索结果而出现。通过对数据集组进行范围限定,数据处理系统可以在进行数据集搜索时自动呈现相关的数据集组。在实际上可能有数百万个数据集的企业中,搜索结果可以排除与用户和/或该用户正在执行的任务不相关的数据集。因此,除了提供更相关的搜索结果外,搜索适当的数据集可以更快并且消耗更少的处理资源。也就是说,本文描述的数据集组有助于执行存储和取得数据的技术任务,以便比如在数据库管理系统中对数据进行高效的管理。换句话说,数据集组有助于以高效的方式访问数据。
[0083]
在维护关于数据集的丰富元数据集的数据处理系统中,对数据集组进行操纵可以是有利的。元数据可以用于搜索或以其他方式指定数据集以用作与数据处理系统中的数据访问相关的操作的目标。虽然丰富的元数据集在指定搜索查询以识别用于特定数据访问操作的数据集方面提供了很大的灵活性,但是这种灵活性可能导致复杂的用户界面、长的搜索时间或对计算机资源的大量使用,这些中的任何一个或全部都可能降低数据处理系统的有效性。搜索用户范围内的数据集组可以使得更简单的搜索界面能够在更少的时间和/或用更少的计算机资源返回同等相关或更相关的搜索结果。元数据可以涉及数据集的多个方面,比如数据集的逻辑方面、物理方面和/或操作方面。
[0084]
逻辑方面可以指数据集中的数据或数据集中的字段对企业或企业内的人的重要
性。逻辑方面可适用于数据集,而不管该数据集的物理存储如何。例如,可以定义数据集来保存客户数据。该数据集可以具有指定字段的模式,这些字段保存在企业内有意义的特定类型的数据,比如客户姓名、客户标识符、电子邮件、物理地址和电话号码。字段可以被指定为与这种逻辑实体相关,而与表示这些实体的数据的底层物理存储无关。
[0085]
相比之下,物理方面可以与数据集中数据的存储方式相关。例如,数据集可以存储在用特定存储硬件和软件实施的特定数据存储设备中。例如,该软件可以将存储的数据集组织成具有多行单元格的表格。与逻辑实体相对应的数据可以存储在每行的一个或多个特定单元格中。例如,构成电子邮件地址的数据可以存储在三个字段中,一个字段标识为用户名,另一个字段标识为域名,并且另一个字段标识为tld。关于数据集的物理方面的元数据可以涉及物理数据存储设备的方面,比如物理存储中的存储模式、用于组织数据集中的数据的软件和/或保存数据集的数据的硬件。可替代地或附加地,物理元数据可以指示数据的特性,包括例如数据的量或质量。与数据量相关的元数据可以指示例如数据集中的数据总量,比如数据集中的记录数量。与量相关的其他元数据可以指示在特定字段中具有特定值的记录的数量。与数据质量相关的元数据可以指示例如某些字段缺失或某些字段包含无效值的记录的数量。
[0086]
操作方面可以与对数据集执行的操作相关。例如,可以为数据处理系统所执行的每个作业记录操作元数据。该元数据可以指示在作业期间访问的数据集,以及关于作业的其他信息,比如输入到作业的参数值、作业执行的日期或时间、或请求执行作业的用户。
[0087]
数据处理系统中的元数据存储库可以存储关于数据集的其他元数据项。这种元数据可以包括定义数据集的归属的项,比如哪个用户定义了数据集的模式或者从哪个系统导入了物理数据集中的数据。作为另一个示例,可以记录数据集或字段的文本描述。
[0088]
不管可以在数据处理系统中维护的元数据的具体项如何,元数据可以用于从企业内的大量数据集中对一个或多个数据集进行分组和/或搜索以用作数据处理系统的操作的目标。关于各个方面的元数据可以由数据处理系统以它们可以彼此相关的方式存储。因此,搜索可以寻找满足元数据的各方面的组合的数据集。数据处理系统可以提供具有用户界面的数据集选择工具,通过该用户界面,用户可以搜索符合关于数据集元数据的多个准则的数据集。用户然后可以从通过搜索识别的数据集中选择数据集作为目标。在数据集组被限定范围的实施例中,数据集选择工具可以将搜索限制为仅返回包含范围内的数据集的数据集组和/或仅返回范围内的数据集组。
[0089]
例如,在开发环境中开发应用程序的用户可以选择数据集作为应用程序的输入。数据集选择工具可以呈现用户界面,该用户界面使得用户能够选择数据集,该数据集随后被开发环境识别为开发环境内的将应用程序连接到所识别的数据集的操作的目标。为了做出选择,用户可以输入搜索查询,该搜索查询指定逻辑元数据方面、物理元数据方面和/或操作元数据方面中的一些的值的组合。作为具体示例,搜索查询可以指定包括电子邮件的数据集,该电子邮件对于电子邮件字段具有高于指定阈值量的数据质量并且在上周内的作业中使用过。分面搜索界面可以用于此目的,其中数据集元数据的不同方面为搜索提供分面。用户然后可以从由数据处理系统返回的结果集中进行选择,作为针对系统中的数据集元数据存储库执行该查询的结果。如果结果集包括一个或多个数据集组,则用户可以提供输入,用作用于展开数据集组并显示它包含的数据集的命令。然后可以从展开的数据集组
中选择数据集。用户选择的数据集可以被返回到开发环境以用作正在开发的应用程序的输入数据集。
[0090]
作为另一个示例,数据集选择工具可以用于选择可能对其执行维护的数据集。例如,用户可能希望选择对其运行数据质量规则的数据集。在该示例中,数据集选择工具可以用于识别数据集,该数据集被提供作为对数据集执行一组数据质量规则的工具的目标。用户可能经由选择工具搜索在作业中经常使用的数据集,以满足其他逻辑要求、物理要求和/或操作要求,并且然后从该结果集中选择这些数据集中的一个或多个数据集进行数据质量分析。如果结果集包括一个或多个数据集组,则用户可以提供输入,用作用于展开数据集组并显示它包含的数据集的命令。然后可以从展开的数据集组中选择数据集。在一些实施例中,用户可以选择数据集组,而不是选择单个数据集。在这种情况下,可以选择数据集组并将其提供作为目标,而不是呈现数据集组的内容供用户选择单个数据集。当组被提供作为对数据集执行操作的工具的目标时,可以对该组内的每个数据集执行该操作。
[0091]
为了帮助选择,数据集选择工具可以使得用户能够访问关于响应于搜索查询而返回的数据集的附加信息。附加信息可以包括例如为搜索集合中包括的数据集存储的元数据中的一些或全部。可替代地或附加地,附加信息可以包括关于所选数据集中的数据的信息。例如,附加信息可以包括所选数据集中的几行或数据的视图。例如,可以响应于用户与用户界面元素的交互来呈现该附加信息。
[0092]
在拥有大量数据集的企业中,支持成组操纵数据集可以增强数据集搜索功能。在本文的示例性实施例中被表示为数据集推车(dataset cart)的组可以被预定义,并且像数据集一样,可以具有相关联的元数据,该元数据可以定义哪些数据集是组的成员。相关联的数据集推车元数据可以包括逻辑元数据、物理元数据和/或操作元数据。代替返回单个数据集或除了返回单个数据集之外,数据集搜索能力还可以返回数据集组,比如数据集推车。数据集推车可以由视觉上独特的图标表示,以便看起来与单个数据集的表示不同。例如,该图标可以显示为购物车。在本说明书中,数据集推车上下文中的特征描述不限于数据集推车,而是适用于数据集组的任何表示。
[0093]
对数据集的搜索可以被限制为返回数据集推车,其中数据集推车中的一些或全部数据集符合指定的搜索准则。可替代地,搜索界面可以包括例如作为搜索的分面的选项,供用户指定响应于搜索查询仅返回数据集推车,而不是单个数据集。
[0094]
数据集推车可以使得用户能够限制在选择数据集作为数据处理系统中的操作的目标时所考虑的数据集的数量。在具有数百万数据集的企业中,即使严格指定的搜索准则也可能返回如此多的数据集,使得用户在没有显著的额外努力的情况下很难识别最适当的数据集或者甚至适当的数据集,比如用于进一步处理。例如,数据集推车可以被预定义为容纳适用于特定任务的数据集,使得限制从推车中选择数据集减少了选择适当数据集所需的时间。而且,可以为该用户产生更大数量的实际相关的搜索结果。
[0095]
数据集推车可以由正在执行数据集搜索的同一用户预定义。然后,用户可能只考虑从他们自己的数据集推车中选择数据集。可替代地或附加地,数据集推车可以由数据处理系统的其他用户策划。例如,负责维护关于在客户忠诚度计划(customer loyalty program)中登记的客户的数据的用户可以策划数据集推车,以便包括表示关于忠诚度计划的最权威信息源的数据集。然后,其他用户可以将用于涉及客户忠诚度计划的数据分析的
数据集的选择限制为推车中的数据集。数据处理系统可以将对数据集的搜索结果限制为仅数据集推车或请求搜索的用户可访问的数据集推车中的数据集。
[0096]
支持数据集推车的数据处理系统可以在企业内提供多种好处中的任何一种。例如,数据处理系统可以自动执行导致更高效率的处理流程。图1a展示了it系统100的不同用户可以如何在企业内创建和使用数据集推车。如图1a所示,it系统100的数据处理系统的第一用户(比如用户111a和那些了解例如数据集、其谱系以及其个别优点和缺点的人)可以从多个数据集(比如数据集1至n)定义或创建适合于某些类型的数据分析的数据集推车(比如数据集推车1、2、3、4)。数据处理系统的第二用户(比如用户112a、113a和那些了解数据分析的人)可以从这些数据集推车中快速选择与特定分析任务相关的一个或多个这些数据集推车或数据集。另一个好处是,当数据集被指派到数据集推车时,在企业中的大量数据集中搜索数据集的人力和计算机工作就可以完成了。此后,搜索用于与数据访问相关的操作的数据集的人力和计算机工作都可以简化。作为具体示例,用于选择在与数据访问相关的操作中使用的数据集的搜索界面可以仅包含搜索分面的子集或用于选择数据集以包括在数据集推车中的搜索界面的其他选项,因为如果搜索结果限于具有相关范围的数据集推车,则可能需要更少的搜索分面来找到相关数据集。
[0097]
图1b展示了第一用户(比如用户111a)可以出于定义、创建和/或管理数据集推车的目的而执行的各种动作(例如,动作115a、115b、115c、115d、115e)。例如,用户111a可以经由关于图6、图7和图11描述的界面查看或改变关于数据集和/或数据集组/推车的信息。作为另一个示例,用户111a可以经由关于图8a和图8b描述的界面来定义或创建数据集推车。作为又一个示例,用户111a可以经由关于图9和图10c描述的界面选择或指定数据集以包括在一个或多个数据集推车中。作为另一个示例,用户111a可以经由关于图10a和图10b描述的界面搜索数据集。
[0098]
执行这些或其他操作可能需要用户111a具有关于数据集dataset 1
…
dataset n中的一些或全部的专业知识,或者可能需要用户111a在大量这样的数据集中进行耗时的搜索。然而,如图1b所示,创建较少数量的数据集推车可以避免这些操作给用户112a和113a以及企业it系统带来的负担。例如,可以减少用户112a或113a进行这样的选择所需的处理能力和网络带宽。此外,这种计算资源的减少可能是复合的,因为比如112a和113a等用户可能频繁地搜索相关数据集。
[0099]
数据集的分组可以是分层的。除了数据集之外,数据集组还可以包括数据集子组。层次结构可以延续到任何数量的层级,子组又包含进一步的子组。在组被表示为数据集推车的示例中,代替数据集或除了数据集之外,数据集推车可以包括数据集子组。该子组可以被识别为推车内的数据集推车,或者数据集推车可以识别顶层分组,其中子组以不同的方式表示。
[0100]
数据集选择工具可以有条件地对搜索中返回的数据集组执行操作,这至少部分地取决于数据集选择工具已被调用的操作。例如,如果操作需要单个数据集作为其目标,则在执行搜索查询之后用户对组的选择,无论该组是数据集推车还是子组,都可以导致数据集选择工具展开该组以使得用户能够选择单个数据集。相反,如果操作可以应用于多个数据集,则可以提示用户或者以其他方式向用户提供一种机制,以选择组中的所有数据集作为目标,或让系统呈现组中的多个数据集,然后用户可以从中进行选择。这样的选择工具可以
例如通过提供单独的导航控件和选择控件来实施。通过导航控件,用户可以遍历数据集分组的层次结构。通过选择控件,用户可以根据需要选择单个数据集或数据集组。在一些情况下,选择控件可能是上下文相关的。例如,可以对选择控件进行配置,以便在仅单个数据集是适当目标的情况下排除对数据集组的选择。
[0101]
组可以被限定范围,使得响应于搜索查询而返回的组基于范围而受到限制。例如,可以基于用户的人物角色来对数据集推车进行范围限定。例如,人物角色可以指示特定的个人或多个个人。个人可以基于其身份(例如可以通过凭证建立)来指定,或者可以基于一个或多个组的成员资格(比如部门或企业内特定项目团队的成员资格)来指定。可替代地或附加地,可以基于企业内的角色(比如数据分析师、应用程序开发人员、测试工程师或数据库程序员)来建立人物角色。其他准则可以可替代地或附加地用于识别被授权使用数据集推车的用户并且可以用于指定人物角色。
[0102]
范围数据集推车可以限制响应于通过数据集选择工具对数据集的搜索而返回给任何特定用户的数据量。例如,该工具可以检查请求搜索数据集的用户的个人特性并且然后将结果集限制为仅范围包含该用户的个人特性的数据集推车和/或数据集。以这种方式,可以从对数据集的搜索中返回更少和更多的相关结果。
[0103]
这样的选择方法可以由例如创建包含与项目相关的数据集的数据集推车的数据分析师使用。数据集选择工具可以用于为数据处理系统内的多个操作选择目标数据集。以这种方式,可用的数据集就会跟随数据分析师的整个工作过程,从而确保快速且一致地选择适当的数据集。
[0104]
不需要执行完全相同的计算机可执行指令来为选择一个或多个数据集作为目标的每个操作实施数据集选择工具。在一些实施例中,可以实施通用工具来支持该操作。然而,在其他实施例中,数据集选择方法可以由执行上述选择功能的不同计算机可执行指令来实施。当使用不同的计算机可执行指令来支持由数据处理系统执行的不同操作的数据集选择时,计算机可执行指令的每个副本可以为了一致性或易用性而渲染相似的界面。然而,用于为不同操作选择数据集的相同界面不是必需的。
[0105]
可以实施数据处理系统的各方面以实现任何一个或多个前述目的和优点。这些目的和优点可以单独使用或者以任何合适的组合一起使用。支持数据集推车的代表性数据处理系统
[0106]
数据集组(比如本文描述的数据集推车)可以在提供搜索界面的数据处理系统中使用,通过这些搜索界面,用户可以搜索数据集作为操作的目标。这些搜索界面可以进行搜索,代替数据集或除数据集之外,这些搜索返回数据集组/推车。其他界面可以使得用户能够创建或修改数据集组/推车。这样的数据处理系统可以包括维护关于数据集推车的信息(包括它们的范围)的存储库的一个或多个组件。
[0107]
示例性数据处理系统可以对逻辑数据集以及物理数据集进行操作。例如,可以基于包括对企业的业务有意义但与所存储数据的物理表示无关的元素的模式来定义逻辑数据集。逻辑数据集可以与物理数据集相对应。
[0108]
代理人案卷号为a1041.70066us02、名称为“dataset multiplexer for data processing system[用于数据处理系统的数据集多路复用器]”的共同未决申请描述了一种数据处理系统,该系统使得能够在逻辑数据集上指定操作,同时确保这些操作被应用于
适当的物理数据集,该申请的全部内容通过援引并入本文。本技术描述了响应于影响与逻辑数据集相关联的数据的存储的事件来更新数据集目录表。本文描述的用于选择数据集的技术可以应用程序于该共同未决申请中描述的数据处理系统中。
[0109]
与数据集选择相关的操作可以应用于逻辑数据集和/或物理数据集。例如,可以选择逻辑数据集。尽管如此,选择可以涉及或基于对应的物理数据集。这样的结果可以通过在搜索要选择的数据集时,数据集选择工具访问数据集目录表以识别与逻辑数据集相对应的物理数据集从而可以获得逻辑数据集的物理信息并将其用于数据集选择过程来实现。
[0110]
图1c是it系统100的框图,该it系统包括说明性数据处理系统104和与数据处理系统104集成的数据集多路复用器105。例如,it系统100可以是企业(比如金融公司)的it系统。为了简单起见,没有明确示出企业it系统的元素,比如网络、云存储和用户装置。
[0111]
数据处理系统104被配置为访问数据存储设备102-1、102-3、102-3、
…
、和102-n(例如,从其读取数据和/或向其写入数据)。数据存储设备102-1、102-3、102-3、
…
、和102-n中的每一个可以存储一个或多个物理数据集。数据存储设备可以以任何合适的方式存储任何合适类型的数据。数据存储设备可以使用例如数据库系统(例如,关系数据库系统)将数据存储为平面文本文件、电子表格。此外,这些数据存储设备可以在企业内部,也可以在企业外部。例如,外部数据存储设备可以位于“云中”,或以其他方式在由第三方管理的存储硬件中。因此,数据存储设备可以提供联合环境,其中企业使用的不同数据存储设备可以位于不同的位置和/或由企业内部或外部的不同实体管理。
[0112]
在一些情况下,数据存储设备可以存储交易数据。例如,数据存储设备可以存储信用卡交易、电话记录数据或银行交易数据。应当理解,数据处理系统104可以被配置为访问任何合适数量的任何合适类型的数据存储设备,因为本文描述的技术的方面在这方面不受限制。数据处理系统104可以被配置为从中读取数据的数据存储设备可以被称为数据源。数据处理系统104可以被配置为向其写入数据的数据存储设备可以被称为数据宿。然而,本文描述的技术可以应用于保存企业中使用的其他类型的数据的数据存储设备。
[0113]
每个数据存储设备可以用一个或多个存储装置来实施并且可以包括数据管理软件或其他控制机制以支持以任何合适类型的一种或多种格式存储物理数据集。(多个)存储装置可以是任何合适的类型,并且可以包括例如一个或多个服务器、一个或多个磁盘阵列、一个或多个磁盘阵列集群、一个或多个便携式存储装置、一个或多个非易失性存储装置、一个或多个易失性存储装置、和/或被配置为电子地存储数据的任何其他(多个)装置。在数据存储设备包括多个存储装置的实施例中,这些存储装置可以共同位于一个物理位置中(例如,在一个建筑物中)或分布在多个物理位置(例如,在多个建筑物中,在不同的城市、州或国家)。这些存储装置可以被配置为使用任何合适类型的一个或多个网络来彼此通信,因为本文描述的技术的各方面在这方面不受限制。
[0114]
数据管理软件可以组织物理存储中的数据并提供用于访问数据的机制以便可以将数据写入物理存储或从物理存储中读取数据。数据管理软件可以是例如数据库系统或文件管理系统。取决于数据管理软件的类型,(多个)存储装置可以使用一种或多种格式来存储物理数据集,比如数据库表、电子表格文件、平面文本文件和/或任何其他合适格式(例如,大型机的本地格式)的文件。在一些实施例中,数据存储设备102-1、102-2、102-3、
…
、和102-n可以是相同的类型(例如,都可以是关系数据库)或不同的类型(例如,一个可以是关
系数据库,而另一个可以是以平面文件存储数据的数据存储设备)。当数据存储设备是不同类型时,存储环境可以被称为异构或联合数据环境102。数据存储设备可以是例如sql服务器数据库、oracle数据库、teradata数据库、平面文件、多文件数据存储设备、hadoop分布式数据库、db2数据存储设备、microsoft sql server数据存储设备、informix数据存储设备、表、表集合、或数据库的其他子部分,和/或任何其他合适类型的数据存储设备,因为本文描述的技术的各方面在这方面不受限制。
[0115]
数据处理系统104支持各种各样的应用程序106来执行访问(例如,读取访问和/或写入访问)存储在数据存储设备102-1、102-3、102-3、
…
、和102-n中的物理数据集的功能。应用程序106然后可以基于数据存储设备中的数据来执行操作。数据处理系统104可以支持可以是相同类型或不同类型的应用程序106-1、106-2、162-3、
…
、和106-n。在一些情况下,应用程序在被执行时可以从数据存储设备中的一个或多个物理数据集读取交易数据或向其写入交易数据。在其他情况下,应用程序在被执行时可以从存储在不同数据存储设备中的物理数据集读取数据或向其写入数据并分析数据以便从数据集中提取业务见解。
[0116]
应用程序106可以被开发为数据流图。数据流图可以包括表示要对数据执行的数据处理操作的组成部分(称为“节点”或“顶点”)、以及组成部分之间的表示数据流的链路。用于执行由数据流图编码的计算的技术在名称为“executing computations expressed as graphs[执行表示为图的计算]”的美国专利号5,966,072中进行了描述,该美国专利的全部内容通过援引并入本文。用于开发作为数据流图的应用程序(例如,计算机程序)的环境在名称为“managing parameters for graph-based applications[管理基于图的应用程序的参数]”的美国专利公开号2007/0011668中进行了描述,该美国专利的全部内容通过援引并入本文。数据流图可以包括数据源和数据宿。数据源和数据宿由流中的终端节点表示,这些终端节点预示着对数据存储设备102-1、102-3、102-3、
…
、或102-n的访问。
[0117]
然而,应用程序本身不需要使用应用程序中包括的特定数据存储设备进行编程。应用程序106可以根据逻辑数据集来编程,而不是被硬编码以访问单个物理数据集。逻辑数据集可以指一个或多个数据集的逻辑表示。数据处理系统104可以存储多个逻辑数据集的定义以及关于这些逻辑数据集的其他元数据。该信息可以由数据多路复用器105管理。与数据处理系统104一起使用的工具可以访问关于逻辑数据集的元数据并基于该元数据执行功能。例如,程序开发环境可以提供用户界面,通过该用户界面可以选择可用的逻辑数据集并将其用于应用程序编程。
[0118]
逻辑数据集可以具有独立于物理数据存储设备中的对应数据的格式来定义数据的模式。例如,逻辑数据集可以具有定义逻辑数据集中的逻辑实体的模式。逻辑实体可以是人类用户可识别和/或可理解的。例如,逻辑数据集可以包括比如客户姓名等逻辑实体。在与该逻辑数据集相对应的物理数据集中,客户姓名可能存储为数据表的一行中的三个字段,分别保存与客户的名、中间名首字母和姓相对应的数据。然而,逻辑数据集可以简单地包括逻辑实体customer_name,而不考虑物理存储中的数据格式。
[0119]
数据处理系统104可以包括界面(未示出),通过该界面可以定义逻辑数据集的模式。例如,该界面可以是用户界面,通过该用户界面,用户可以通过指定逻辑数据集的模式来指定逻辑数据集或以其他方式引入系统。数据处理系统104可以存储企业业务中常用的一组逻辑实体。常用逻辑实体的示例可以包括姓名、标识号、电话号码、地址、国籍、账户余
额、交易金额或日期中的一个或多个。这些业务术语可以用于至少部分地指定逻辑数据集的模式。然而,代替预定义的逻辑实体或除了预定义的逻辑实体之外,模式可被定义为包括其他逻辑实体。
[0120]
实现根据逻辑数据集来对应用程序进行编程使创建应用程序的程序员无需理解存储对应的物理数据集的数据存储设备的格式。因此,数据分析师可能会使用逻辑数据集开发应用程序,即使该数据分析师不理解保存物理数据集的数据存储设备内的数据格式。
[0121]
作为更详细的示例,在企业内,程序员可以定义存储新客户的逻辑数据集。逻辑数据集的模式可以包括逻辑实体,比如客户姓名、客户地址、客户标识符和客户获取日期。数据分析师可以根据逻辑数据集和这些逻辑实体编写应用程序,而不管与逻辑数据集相对应的物理数据集的存储格式如何。因此,数据分析师可以在不了解应用程序要访问的存储数据的物理数据集的情况下编写应用程序。
[0122]
在执行应用程序时,与逻辑数据集相对应的物理数据集中的数据可以存储在数据存储设备102-1、102-3、102-3、
…
、和102-n中的一个或多个中。为了执行应用程序,指定访问逻辑数据集的每个操作可以由数据处理系统104从存储在数据存储设备102-1、102-3、102-3、
…
、和102-n之一中的对应物理数据集中读取或写入数据来执行。数据集多路复用器105可以通过自动访问对应的物理数据集并在存储在物理数据存储设备中的数据的格式与在逻辑数据集的模式中指定的格式之间进行转换来实现这种操作的自动执行。
[0123]
如图1c所示,数据处理系统104包括数据集多路复用器105,用于自动化对对应物理数据集的访问以及逻辑数据集的格式与物理数据集的格式之间的转换。数据集多路复用器105可以维护数据集107的目录表,其中,目录表中的每个条目与逻辑数据集相对应并且提供用于访问一个或多个物理数据集的信息。例如,目录表条目可以标识与逻辑数据集相对应的数据存储设备102-1、102-3、102-3、
…
、或102-n中的数据集。目录表条目可以可替代地或附加地包括用于将存储在物理数据集中的数据转换为逻辑数据集的格式的信息。该信息可以是或者可以包括可执行程序。例如,目录表信息可以标识用于将物理数据集中的多个字段中的数据转换为逻辑数据集中的对应逻辑实体的格式的程序。其他信息可以可替代地或附加地被存储为或反映在用于访问该一个或多个物理数据集的目录表信息中。
[0124]
数据集多路复用器105使得应用程序106能够使用数据集目录表中的信息基于编程的(多个)逻辑数据集无缝地访问(多个)物理数据集。在应用程序(例如,应用程序106-3)中执行访问(例如,读取和/或写入)逻辑数据集的操作时,数据处理系统104的数据集多路复用器105可以使得能够访问数据存储设备(例如,数据存储设备102-1)中的对应物理数据集。例如,当为逻辑数据集存储的目录表信息是或包括访问控制程序时,可以执行该程序。因此,即使应用程序106-3是根据逻辑数据集编程的,当执行数据访问操作时,也会访问存储在数据存储设备102-1中的物理数据集。
[0125]
数据集多路复用器105可以访问其数据集目录表以选择与应用程序106-3中引用的逻辑数据集相关联的条目。用于标识存储在适当的数据存储设备102-1中的物理数据集和/或将数据存储设备102-1的格式的数据转换为逻辑数据集的格式的信息然后可以用于数据访问。
[0126]
该访问可以是动态的。可以在应用程序中执行需要数据访问的操作时使用目录表信息。数据集目录表中与逻辑数据集相关联的条目可以响应于指示与逻辑数据集相关联的
信息的存储的改变的事件而被更新。经由目录表信息对物理数据存储设备的访问可以确保应用程序继续执行,尽管在整个it系统100的任何点可能做出改变,即使编写应用程序106-3的数据分析师或其他用户不知道这些改变。
[0127]
例如,物理数据集可以从数据存储设备102-1迁移到数据存储设备102-n。应用程序被编程的逻辑数据集不需要被修改来考虑这一改变。通过更新逻辑数据集的目录表条目,数据集多路复用器105可以自动利用更新的目录表信息来为应用106-3提供对正确的物理数据集的访问,而不管它所驻留的数据存储设备如何。
[0128]
不管作为与访问数据集相关的操作的一部分访问特定数据存储设备的方式如何,用户都可以提供指定哪些数据集是特定操作的目标的输入。在具有大量数据集的企业中的数据处理系统中,可以提供一个或多个搜索界面以使得能够指定适当的数据集。例如,数据集选择工具可以提供用户界面,该用户界面提供被配置为接收指定数据集搜索和选择命令的输入的界面元素。
[0129]
使得能够搜索数据集和对数据集组进行操作的信息可以存储在it系统100内。在该示例中,该信息可以存储在数据集多路复用器105内,该数据集多路复用器可以包含一个或多个元数据存储库。元数据存储库可以存储关于逻辑数据集和/或物理数据集的信息,其中不同类型的元数据为要对数据集执行的搜索提供分面。该元数据可以使用手动或自动技术来收集,包括本领域已知的技术。
[0130]
另外,一个或多个存储库可以存储关于数据集组的信息。例如,在图1c中示出了保存这样的信息的数据集组存储库120。该信息可以以关联多种类型的信息的方式存储在非易失性计算机可读介质中。例如,相关信息可以存储在相同的数据结构中或者例如可以通过链接相关。
[0131]
该信息可以在数据处理系统的多个用户之间共享。因此,不同的用户可以创建、修改和/或访问关于数据集组的信息。信息可以被限定范围,使得关于每个数据集组的信息可以仅向具有在该数据集组范围内的人物角色的用户公开。可替代地或附加地,存储关于数据集组的信息的存储库可以实施访问限制,从而限制哪些用户可以创建、修改和/或访问数据集组中的一些或全部。
[0132]
对存储库中信息访问的限制可以与对数据集组访问的范围限制并行。可以向用户授予访问权以创建或修改具有用户个人范围的数据集组。可替代地或附加地,可以向组中的用户授予访问权,这些用户具有角色和/或具有其他特性,作为在数据集组的范围内的其人物角色的一部分。然而,在一些实施例中,创建和修改数据集组的权限可以与那些数据集组的使用范围分开设置。用于管理和使用数据集组的不同访问控制可以使得能够捕获企业中员工子集的专业知识并通过数据处理系统自动公布该专业知识。例如,具有关于在特定操作中使用的适当数据集的专业知识的用户可以被赋予访问权限以创建或修改数据集组,这些数据集组范围被限定为由具体列出的用户、具有特定角色的用户或执行这些操作的企业内组中的用户使用。当其他用户通过从他们的人物角色在范围内的数据集组中选择数据集来执行这些操作时,系统可以自动地将他们对数据集的选择限制为具有数据专业知识的用户先前指定的数据集。
[0133]
不管如何实施访问,数据处理系统104可以提供用户界面,通过这些用户界面创建或修改数据集组,进行返回数据集组的搜索,和/或从数据集组中选择数据集。以下各部分
提供了这种用户界面的示例。用于基于组选择逻辑数据集的代表性用户界面
[0134]
数据集组可以用于选择一个或多个数据集来执行与数据访问相关的操作。例如,结合选择用于执行操作的数据集,可以呈现搜索界面,并且数据集组可以在搜索结果中。
[0135]
作为一个示例,数据处理系统执行的应用程序可以基于用户输入来配置以访问特定数据集。数据集推车可以用于简化这一选择过程。在应用程序被配置为数据流图的实施例中,数据流图的数据集组件可以被配置为执行读取操作的数据源。配置可能需要搜索数据集并选择适当的数据集。在搜索结果中包含数据集推车可以简化搜索。例如,数据集推车内的与搜索查询相匹配的数据集不会作为搜索结果单独呈现。而是,搜索结果可以通过呈现数据集推车来加以限制。
[0136]
图2a展示了编程环境中的gui 800,其中数据集推车可以用于帮助用户选择数据集以配置应用程序。在该示例中,用户(比如图1a的用户112a或113a)可以通过gui 800指定可执行数据流图的组件和组件之间的互连。这些组件可以表示一个或多个输入源、一个或多个输出源以及对来自输入的数据执行以生成输出的一个或多个操作。表示输入源和/或输出源的组件可以由用户配置。配置可能需要指定用于输入或输出的数据集。这些组件的配置可能需要用户输入,该用户输入首先选择数据集推车并且然后选择所选数据集推车内的数据集。
[0137]
图2a展示了简单的图,为了简化说明,省略了可以显示的一些信息和与显示的组件相关联的界面元素。在该示例中,用户已经指定了组件804来处理输入数据集。组件804可以表示例如将数据质量规则应用于所选输入数据集的操作。
[0138]
组件802表示包含输入数据集的数据源。组件802具有界面元素,用户可以访问这些界面元素来配置该组件,包括首先选择数据集推车并且然后选择该推车内的数据集以用作输入数据源。组件806表示输出组件,用户可能对其进行配置以指定例如可以被创建以保存在组件804所表示的操作中创建的数据的输出数据集。
[0139]
如图2a所示,组件802包括用户界面元素,用户可以通过这些用户界面元素与用于选择数据集的选择工具交互。这些界面元素可以包括字段812,其在这里被示为下拉菜单框。在图2a所示的状态中,用户已经在字段812内选择了指示用户希望选择数据集目录表中的数据集的值。链接810是另一个用户界面元素,用户可以通过该用户界面元素输入命令以前进到从用户可用的数据集目录表中的选项中选择数据集的选择过程中的下一步骤。
[0140]
响应于用户对链接810的选择,数据处理系统可以生成并向用户呈现图2b的gui 890。图2b展示了用于选择数据集的选择工具的界面,在这种情况下,该界面作为选择数据集以配置图2a的数据流图的组件802的过程的一部分被调用。在gui 890内,呈现与用户对该源类型的选择(如上文结合图2a所描述的)一致的可用目录表数据集。
[0141]
gui 890在部分855中呈现包含可供选择的数据集的数据集推车。如果不在数据集推车内的数据集可供选择,则这些数据集也可能出现在列表895中。gui 890中的列表895包括例如通过图8a的gui 400创建的数据集推车(例如,“bestcartever”)以及其他数据集推车。
[0142]
在该示例中,搜索结果的呈现保留了数据集的层次结构。列表895中元素旁边呈现的图标指示元素是数据集推车还是数据集。例如,旁边描绘有“文件夹”图标897的元素可以
是数据集推车,而具有不同图标898的元素(这里示为文件图标)可以是数据集。提供导航图形用户界面元素以使得用户能够遍历层次结构,比如通过显示或隐藏由“文件夹”图标表示的数据集组的内容。在图2b的示例中,gui 890包括导航图形用户界面元素896。对元素896的选择使gui 890在呈现和隐藏包含在数据集推车中的数据集(例如,逻辑数据集)之间切换。以这种方式,用户可以在层次结构的适当层级识别和选择图标。
[0143]
尽管图2b展示了只有两级的层次结构,但在一些情况下,组可以包含进一步的组,并且如果包含进一步的数据集推车的数据集推车被展开,则可以向用户呈现具有与用户界面元素相关联的内部组的界面,该用户界面元素也向用户提供在内部组中展开的选项。以这种方式,可以公开多级层次结构。无论呈现给用户的层次结构的层级的数量如何,用户都可以导航通过层次结构的层级以显现可供选择的数据集并且然后选择期望的数据集。
[0144]
另外,用户可以提供输入以获得关于经由界面显示的数据集或数据集组的附加信息。例如,图3的gui 900描绘了一种操作状态,在该状态下,用户已经操纵用户界面元素来控制数据集选择工具以展开某些数据集推车,包括“loyalty data(忠诚度数据)”数据集推车920,从而显现包含在该数据集推车中的一组逻辑数据集。gui 900使得用户能够通过选择gui 900中的逻辑数据集930来获得关于特定逻辑数据集的附加信息。例如,可以响应于用户查看关于逻辑数据集的附加信息的请求而呈现弹出式gui 910。
[0145]
gui 910提供了附加的用户界面元素,用户可以操纵这些元素来获得关于数据集的附加信息。选择gui 910中的“info”选项卡使关于逻辑数据集的基本信息被呈现,比如与逻辑数据集相关的数据存储设备、数据存储设备或存储装置的类型、到数据存储设备和/或数据存储设备中的物理数据集的路径、指向数据集目录表中的对应条目的链接、和/或其他信息。选择gui 910中的“查看”选项卡使与逻辑数据集相关的物理数据(比如与逻辑数据集相对应的物理数据集中的数据)被呈现。选择gui 910中的“记录格式”选项卡使关于数据集的记录格式信息(例如,关于逻辑数据集和/或逻辑数据集的逻辑实体的记录格式信息)被呈现。选择gui 910中的“简档”选项卡使简档信息(比如与系统中定义的其他数据集推车和/或逻辑数据集的关系)被呈现。用户可以查看该信息中的任何一个或全部以评估数据集是否适合期望的用途。
[0146]
其他机制(比如搜索界面)可以用于限制作为候选项呈现给用户以供选择的数据集推车和/或数据集的数量。返回参考图2b,gui 890可以使得用户能够输入搜索查询。gui 890可以包括供用户输入搜索查询的图形用户元素892。在该示例中,搜索查询被指定为文本。用户可以指定在存储库中输入的描述数据集或包括在数据集内的字段的名称和/或为数据集存储的其他元数据的单词。例如,图4a描绘了搜索查询“loy”的搜索结果。数据处理系统可以基于该查询执行搜索并且生成包括由数据处理系统基于该查询选择的数据集推车和/或逻辑数据集的列表的搜索结果。在该示例中,搜索查询与两个数据集推车内的数据集的标题相匹配,并且可用于通过gui 1000选择的数据集列表限于包含这两个匹配数据集的数据集推车。
[0147]
无论列表895(图2a)是如何指定的,选择工具可以呈现用户界面,用户可以通过该用户界面从列表中进行选择。在该示例中,用于选择的用户界面元素与导航用户界面元素是分开的。这样的配置使得列表895中的条目选择能够在数据集组的层次结构中具有与上下文相适应的层级。在要为其进行选择的操作对单个数据集进行操作的情况下,选择用户
界面元素只有在用户已经指示选择单个数据集时才可操作。在选择数据集组是适当的情况下,当用户已经指示数据集推车时,选择用户界面元素可以是可操作的。如果组或单个数据集对于操作是适当的,则当指示组或单个数据集元素时,选择用户界面元素可以是可操作的。在图2a的示例中,其中用户正在选择单个数据集来配置图的组件,选择工具可以将选择限制到示出各个数据集的层次结构的层级。
[0148]
如图2b所示,“loyalty(忠诚度)”数据集已被指定为选择。这可以通过选择gui元素898然后选择gui元素845来实现,这使“loyalty”数据集被呈现在gui 810的部分899中。选择gui元素870使在部分899中识别的数据集由选择工具返回,作为在执行数据访问操作中使用的用户选择。例如,用户可以指定出现在部分899中的数据集。从那里,用户可以调用关于该数据集的信息,如上所述,并最终确定是否应该选择指定的数据集。其他用户界面元素可以使得用户能够在选择工具返回选择之前修改指定的数据集,包括移除在部分899中指定的任何数据集的标记为“清除”的界面元素或结束选择过程而不进行选择的“取消”界面元素。
[0149]
在该示例中,搜索界面明显比图10a中的搜索界面简单,呈现了更少的用于指定搜索准则的字段。即使使用更简单的搜索界面,结果也可能与用户可能通过图10a的界面找到的结果同等相关或更相关,因为结果可以限于具有包含用户和/或搜索的其他上下文的范围的数据集推车内的那些。
[0150]
结合图2c可以看出简化选择过程的价值,该图示出了可能存在的更多信息和用户界面元素,即时对于图2a的简单示例也是如此。图2c展示了在其中可以进行数据集选择的编程环境中的gui 875。在该示例中,用户(比如图1a的用户112a或113a)可以通过gui 875指定可执行数据流图的组件和组件之间的互连。例如,用户可以指定组件来执行验证或将数据质量规则应用于数据。数据流图可以包括指示要使用数据集的组件882。该组件可以被配置为识别哪个数据集将被用于与该组件相关联的数据访问操作。
[0151]
图2c展示了其中(多个)操作884包括对所选数据源执行数据质量规则的情景。数据流图的组件886可以表示(多个)验证操作的输出。
[0152]
如图2c所示,可以通过与组件882相关联的用户界面元素来选择其内容将被验证的数据集,比如loyalty.dat。这些界面元素可以包括字段888,其在这里示出用户已经选择了指示要选择的数据源被限制为在数据集目录表107(图1c)中登记的数据源的值。链接889是另一个用户界面元素,用户可以调用该用户界面元素来输入进一步的搜索准则。
[0153]
选择链接889可以触发选择工具来呈现用户界面(比如上文结合图2b描述的gui 890),用户可以通过该用户界面选择数据集。在该示例中,“loyalty”数据集被描绘为图2c的组件882中的所选数据集。尽管图2c的界面相对于图2a的界面具有额外的复杂性,但该数据集可能是通过数据集选择工具选择的,选择该数据集的过程很简单。
[0154]
可以使用类似的简单过程来指定要对其执行相同操作的多个数据集。例如,如图2a所示的应用验证规则的图可以被配置为将这些验证规则应用于多个数据集。图2d展示了处于操作状态的gui 800,在该状态下,组件802已被配置为表示多个数据集。在该示例中,该配置是通过字段812’中的用户输入实现的,该字段指示选择目录表数据集推车作为源类型。
[0155]
不管用于配置表示数据输入或数据输出的组件的源类型如何,数据选择工具可以
用于接收选择数据集或数据集组的用户输入。在可能对多个数据集执行操作的上下文中选择数据集的情况下,数据选择工具可以允许选择整个数据集推车。对数据集推车的选择可以如上文结合图2b所述来执行,但是用户界面元素845可以在列表855中指示数据集组时操作。图2e提供了用于选择数据集组的示例用户界面。
[0156]
选择数据集组作为操作的目标可以用作数据处理系统对所选数据集推车中的每个数据集执行操作的命令。例如,操作可以包括对包括在数据集推车中的每个数据集执行数据质量规则或者对每个数据集的内容执行其他类型的处理。
[0157]
在图2e的示例中,gui 811在部分850中列出了可供选择的数据集推车。gui 811中的列表815包括通过图8a的gui 400创建的数据集推车(例如,“bestcartever”)以及其他数据集推车。用户可以从列表中进行选择。如图2e所示,“bestcartever”数据集已被指定为选择。这可以通过选择gui元素820然后选择gui元素840来实现,这使“bestcartever”数据集推车被呈现在gui 811的部分860中。选择gui元素861使“bestcartever”数据集推车被选择用于执行数据访问操作。
[0158]
因此,这些示例中描述的选择工具提供了信息和用户界面元素,这些信息和用户界面元素使得用户能够高效地从无数选择中做出选择。
[0159]
选择界面可以包括其他用户界面元素以识别用于选择的数据集或数据集组。例如,用户界面可以接受其他搜索准则作为输入以使得用户能够为涉及访问一个或多个数据集或数据集推车的操作识别相关数据集。呈现给用户的选项,无论是数据集还是数据集推车,都可以限于与指定搜索准则匹配的选项。在数据集推车的情况下,所呈现的选项可以限于包含与搜索准则匹配的数据集和/或与指定准则匹配的推车的选项。图4a是由数据处理系统渲染的示例性图形用户界面1000的图示,用户可以通过该图形用户界面选择数据集,其中,作为限制搜索的第一机制,用户已经通过数据集目录导航,并且然后作为搜索查询文本(比如“loy”)输入以出现在数据集的描述中,作为搜索的第二限制。用户然后可以从过滤的搜索结果中选择数据集推车和/或数据集用于执行操作。
[0160]
在该示例中,即使在指定搜索对象时提供了额外的灵活性,搜索界面也明显比图10a中的搜索界面简单,呈现了更少的用于指定搜索准则的字段。即使使用更简单的搜索界面,结果也可能与用户可能通过图10a的界面找到的结果同等相关或更相关,因为结果可以限于具有包含用户和/或搜索的其他上下文的范围的数据集推车内的那些。
[0161]
图4b是由数据处理系统渲染的图4a的示例性图形用户界面在已经执行搜索查询并且呈现与搜索查询(例如,搜索查询“loy”)相匹配的数据集列表以供用户选择一个或多个数据集作为操作的目标之后的操作状态下的图示,用户可以通过该图形用户界面选择数据集。基于推车的范围和执行搜索的用户,搜索结果可以被限制到数据集。
[0162]
图5是由数据处理系统渲染的示例性图形用户界面1100在执行将数据集列表限制为包括存储电子邮件的字段的数据集的搜索查询之后的操作状态下的图示,用户可以通过该图形用户界面选择数据集。基于推车的范围和执行搜索的用户,搜索结果可以被限制到数据集。例如,搜索结果可以限于数据集推车中的数据集,针对这些数据集推车执行搜索的用户在这些推车的范围内。
[0163]
可以使用各种形式的用户输入来确定使用数据处理系统创建数据集推车、执行搜索和/或使用或选择数据集/推车作为操作的目标的用户的身份。例如,用户输入,比如使用
键盘、手写笔或其他书写工具的文本输入(例如,用户标识符和/或密码)、使用麦克风或其他装置的语音输入、生物测定输入(例如,指纹、面部模式、语音模式等)和/或其他形式的输入,可以用于确定用户的身份。身份信息可以用于为用户指示人物角色。用于分组逻辑数据集的代表性用户界面
[0164]
数据处理系统可以提供一种或多种机制,通过这些机制,用户可以比如通过创建、修改或删除组来管理数据集组。该机制可以是包含在数据处理系统内的专用工具或者可以通过与工具或其他界面相关联的附加用户界面选项来提供,通过这些工具和界面,用户可以访问以其他方式存在于数据处理系统中的数据集信息。例如,用户可以通过其搜索满足指定准则的数据集的界面可以包括用户界面元素,用户可以通过这些用户界面元素提供将搜索结果中包括的数据集与数据集组相关联的输入。同样,其他界面(比如谱系信息被呈现的界面)可以用用户可以通过其管理数据集组的用户界面元素来扩充。这些用户界面元素可以链接到访问和/或修改关于数据集组的存储信息的计算机可执行代码。
[0165]
图6展示了响应于查看关于数据集和/或数据集组的信息的请求而生成的图形用户界面(gui)200,在该示例中,数据集组被描绘为数据集推车。例如,该界面可以是用户提供作为数据集搜索查询的输入并且然后从结果中选择特定数据集的结果。gui 200呈现关于数据集202的信息。如图6所示,呈现了关于数据集“loyalty.dat”的信息。关于数据集202的信息可以包括关于数据集的类型(例如,文件、目录、表格等)的信息、数据集所属的目录、数据集所属的数据集层次结构、和/或其他信息。例如,gui 200描绘了数据集202是文件,属于目录“main”,并且属于至少三个数据集层次结构,比如“loyalty program”、“retail”和“main”。层次结构可以由数据处理系统104的用户定义或指定。
[0166]
该界面还可以包括可以通过其管理数据集组的界面元素。在该示例中,gui 200还包括包含数据集202的数据集推车204的列表。例如,用户界面200描绘了数据集推车“loyalty data”和“admin data”包含数据集202。查看关于数据集推车的信息的请求可以导致生成另一个gui。例如,选择表示“loyalty data”数据集推车的图形用户元素206可以导致生成gui 300。
[0167]
图7展示了响应于查看和/或改变关于数据集推车302的信息的请求而生成的示例gui 300。然而,应当理解,数据处理系统可以提供替代的或附加的机制,通过这些机制,用户可以调用如图所示的用于管理数据集推车的界面。在该示例中,gui 300呈现关于“loyalty data”数据集推车的信息340。关于数据集推车302的信息包括数据集推车的名称、描述数据集推车的信息、数据集推车的所有者(例如,创建数据集推车的用户)、被授予修改数据集推车的许可(例如,编辑或删除数据集推车的许可)的用户、数据集推车的内容(例如,关于包括在数据集推车中的数据集的信息)、与数据集推车相关联(例如,与数据集推车具有关系)的其他数据集推车、逻辑数据集或逻辑实体、和/或其他信息。可以通过用户选择用户界面元素304来输入关于被授予查看数据集推车(无论是在查看存储库120中的信息时,还是在该用户进行搜索的结果中出现数据集推车时)的许可的用户的信息。例如,gui 300描绘了数据集推车302包括逻辑数据集“loyalty.dat”202和关于与该逻辑数据集相对应的物理数据集的信息206。如gui 300所示,数据集推车302可以包括关于与数据集推车中包括的其他逻辑数据集相对应的物理数据集的信息。例如,数据集推车302包含逻辑数据集310、312和关于与这些逻辑数据集相对应的物理数据集的信息314、316。
[0168]
gui 300包括被配置为接收改变数据集推车的输入的界面元素。例如,界面元素330在被用户选择时可以呈现附加屏幕,通过该附加屏幕,用户可以按照角色、组成员资格或用户人物角色的其他特性以个人列表的形式指定用户,这些用户可以读取、编辑、删除等数据集推车。可以为数据集推车指派当前所有者。当前所有者可以完全访问数据集推车的所有方面。当前所有者最初可能是创建数据集推车的用户。数据集推车的当前所有者此后可以通过选择图形用户元素355并指示所有权将被委托给的用户或角色来将所有权委托给另一个用户。
[0169]
在一些实施例中,数据集推车的范围可以与被授权读取和/或编辑数据集推车的用户相称。在其他实施例中,可以单独指定数据集推车的范围,该范围指定数据集推车可以出现在对数据集执行的搜索的结果中的用户。可以在界面(比如gui 300)中提供单独的机制来设置数据集推车的范围。例如,用户界面元素304在被有权编辑数据集的用户选择时可以渲染另一个显示屏幕,用户可以在其中输入范围,比如标识特定用户、组、角色等。
[0170]
附加地或可替代地,可以使用其他参数来定义数据集推车的范围。例如,时间参数(例如,一天中的时间、星期几、一年中的月份)可以用于定义范围。在这样的情况下,数据处理系统可以通过将对用于呈现给搜索数据集的用户的数据集和/或数据集推车的选择限制为仅在搜索启动时已获准使用的数据集或数据集推车来实施范围的时间参数。
[0171]
可以经由gui 300更新数据集推车302。例如,选择图形用户元素320可以使得具有编辑许可的用户能够从数据集推车302添加或删除数据集。
[0172]
在一些情况下,用户(比如图1a的用户111a)可以请求经由界面200、300查看和/或改变关于数据集或数据集推车的信息以便定义或创建数据集推车。
[0173]
图8a展示了处于可以创建新数据集推车的状态的gui 400。例如,当查看其中显示了关于数据集的信息的用户界面时,用户(比如图1a的用户111a)可以指定要创建数据集推车。在该示例中,用户可能正在查看关于“loyalty.dat”数据集的信息并且然后想要创建包含“loyalty.dat”数据集的新数据集推车。用户可以选择图形用户元素402来创建新的数据集推车。选择图形用户元素402可以使系统生成弹出对话框404,用户可以在该对话框中为推车命名(例如,“bestcartever”),指示正在创建的实体的类型(例如,数据集推车),并提供对数据集推车的描述。
[0174]
选择图形用户元素406可以使系统生成包含“loyalty.dat”数据集的新数据集推车。系统可以存储新创建的数据集推车的表示。例如,条目可以被添加到存储库120(图1c)以表示数据集推车。在一些情况下,数据集推车的一些或全部特性最初可能被指派默认值。例如,数据集推车最初可能基于创建它的用户的人物角色被指派范围。例如,这可以通过最初设置范围以允许数据集推车仅对其创建者可见来实现。无论特性的初始值最初是如何指派的,一个或多个用户随后都可以对其进行更改。一旦创建了数据集推车的记录,就可以对其进行编辑,比如通过如图6或图7所示的用户界面进行编辑。
[0175]
可替代地,数据集推车一旦创建,也可以通过其他方式进行更新。例如,用户可能希望将数据集添加到现有的数据集推车,而不是创建新的数据集推车来保存数据集。图8b展示了gui 400的一部分450,其中用户(比如图1a的用户111a)可以选择将“loyalty.dat”数据集添加到现有的数据集推车。例如,下拉菜单455是在被用户选择时呈现在数据处理系统中定义的现有数据集推车的列表的用户界面元素。在数据集推车具有范围的实施例中,
列表可以限于具有包括当时用户的范围的数据集推车。从列表中选择特定的数据集推车可以使数据集被添加到所选的数据集推车。系统可以相应地更新所选数据集推车的存储表示。
[0176]
图12展示了保存数据集推车的存储表示(即,存储关于数据集推车的信息)的示例数据结构。对于每个数据集推车,可以存储各种信息。例如,存储库120(图1c)可以针对每个数据集推车具有这样的数据结构。如图12所示,数据集推车的数据结构1202可以包括包含信息的多个字段,比如:数据集推车的名称字段1222、包含在数据集推车中的数据集列表1224的标识符、以及与数据集推车相关联的一个或多个参数1226。这里,参数1226指示可以被存储的其他信息,比如描述数据集推车的文本、一个或多个标签的值、或者如本文所描述的或者以其他方式结合数据集推车使用的其他类型的信息。在数据集的分组可以是分层的实施例中,代替其他数据集或除了其他数据集之外,列表1224可以包含进一步的数据集组。
[0177]
访问信息1240也可以与关于数据集推车的信息一起存储。该访问信息可以指示有权访问关于数据集推车的存储信息的用户。该信息可以包括数据集推车的所有者1228、被授权读取关于数据集推车的信息的用户列表1230或者被授权修改关于数据集推车的信息的用户列表1232。这些授权信息中的一些或全部可以由数据处理系统的其他组件来处理以确定数据集推车的范围。可替代地或附加地,可以包括其他信息以确定范围。例如,列表1234可以定义数据集推车范围内的组。列表1236可以定义被授权访问数据集推车的用户的角色。
[0178]
数据处理系统可以提供多个用户界面,其中指示数据集和/或数据集组。这些界面中的每一个都可以被配置为使得用户能够管理数据集组,比如通过创建新的数据集组或将数据集添加到数据集组。这些界面的用户操作可以改变数据处理系统中可用的数据集组的集合,这可以比如通过添加、删除或改变数据结构(比如1202)来实施。
[0179]
图9展示了gui 500,通过该gui,用户(比如图1a的用户111a)可以指定数据集以包括在数据集推车中。gui 500显示与数据集相关联的谱系信息。数据处理系统可以出于不需要与数据集组的管理相关的多个原因中的任何一个来呈现这种信息。例如,显示技术谱系可以使得用户能够探索在数据集中的数据中识别的错误的可能来源。显示业务谱系可以使得用户能够识别企业内可能受数据集的改变影响的组。不管为什么显示谱系信息,查看这种信息的用户可以识别管理一个或多个数据集组的需要,这样,将实现数据集组管理的用户界面元素与谱系用户界面集成在一起可以促进高效操作。
[0180]
例如,gui 500被示为显示“loyalty.dat”数据集的谱系信息502。可以选择并操纵表示所显示的谱系信息中的数据集的一个或多个组件以指定将这些组件所表示的数据集包括在数据集推车中。在该示例中,选择组件510可以导致显示窗口512,用户可以通过该窗口选择图形用户界面元素514,该图形用户界面元素在被调用时将数据集“loyalty_filtered”添加到现有的数据集推车(如图8b所示)或新创建的数据集推车(如图8a所示)。
[0181]
用于包括在数据集推车中的数据集可以由用户(比如图1a的用户111a)经由搜索gui(比如图10a
…
10c中所示的gui 600)来选择。数据处理系统可以包括数据集搜索界面,该数据集搜索界面包括丰富的搜索准则组合。该用户界面可以响应于创建新的数据集推车的请求而呈现,或者在通过这样的搜索识别一个或多个数据集之后,用户可以指定将搜索结果中返回的某些数据集用于管理数据集推车。
[0182]
通过搜索界面,系统可以识别可用于执行与数据处理系统104的数据访问相关的操作的数据集。在一些实施方式中,搜索gui 600可以包括供用户输入搜索查询的图形用户界面元素602、604、606、608。例如,用户界面元素602可以是文本字段,其中的搜索结果限于具有包括输入的文本的名称、字段和/或其他相关联元数据的数据集。
[0183]
用户可以通过其他用户界面元素输入其他输入来定义分面查询。在这样的查询中,用户可以指定描述在数据处理系统中定义的数据集的分面的一个或多个值。可以为每个分面提供用户界面元素,用户可以通过该用户界面元素指示存储在与数据处理系统中定义的数据集相关联的元数据中的值。值的范围可以限于满足搜索界面中已经指定的准则的数据集的值。用户界面元素604、606和608是用户可以通过其指定分面的值的用户界面元素的示例。例如,一个或多个分面可以对应于数据集的属性,比如类型、所有者、层次结构、数据集是否在将用于访问物理数据集的信息与逻辑数据集相关联的目录表中登记、和/或其他属性。
[0184]
可替代地或附加地,可以通过这样的用户界面输入其他信息来定义搜索查询。
[0185]
数据处理系统可以基于该查询执行搜索并且生成包括由数据处理系统基于该查询选择的数据集的列表610的搜索结果。分面查询可以包括一个或多个分面,基于这些分面可以过滤搜索结果。在所示示例中,gui 600中呈现的数据集列表610包括在名称、字段名称或数据集描述中包括“loyalty”的所有数据集。示出了已指定附加分面以进一步过滤搜索结果。对分面的选择可以使搜索结果根据该分面被过滤。
[0186]
例如,如果选择了指示数据集是否在将用于访问物理数据集的信息与逻辑数据集相关联的目录表中登记的分面606,则过滤搜索结果,使得只有在目录表中登记的数据集在gui中呈现给用户,如图10b的示例所示。如图10b所示,gui 600呈现数据集615的更新列表,该列表不包括一些项,比如来自列表610的项620、625。
[0187]
然后,用户可以选择所呈现的数据集中的一个或多个以包括在数据集推车中。可以基于所选数据集创建数据集推车。例如,如图10c所示,用户可以从数据集列表615中选择数据集“loyalty.dat”以包括在数据集推车中。在该示例中,指示包括在数据集推车中的输入是在多个步骤中进行的。例如,列表615中的数据集名称可以形成用户界面元素630。选择用户界面元素630可以打开具有关于与元素630相关联的数据集的信息的窗口632。窗口632可以包括进一步的“添加到推车”用户界面元素,选择该元素可以打开包含进一步的用户界面元素的窗口634。窗口634中的用户界面元素可以使得用户能够指定现有的数据集推车,类似于结合图8b描述的选择,或者创建新的数据集推车,所选数据集被添加到该数据集推车,类似于结合图8a描述的过程。
[0188]
在数据集是逻辑数据集的情况下,数据处理系统可以识别与逻辑数据集相对应的物理数据集并且将关于该物理数据集的信息包括在数据集推车中。
[0189]
创建的数据集推车可以在程序中使用。在一些情况下,程序可以是由数据处理系统执行的应用程序。在其他情况下,程序可以是数据处理系统的实用程序,比如被配置为执行数据质量分析的数据分析实用程序。
[0190]
图11是由数据处理系统渲染的示例性图形用户界面700的图示,用户(比如图1a的用户111a)可以通过该图形用户界面查看或改变与数据集组相关的信息,这些数据集组在这里被标识为技术组。在数据集的分组是分层的系统中,顶层分组可以由不同于在较低层
分组中使用的名称来标识。例如,顶层分组可以被称为数据集推车。较低层级的分组可以具有不同的名称,比如技术组。例如,图11展示了“rewards”目录702是名为“spending_trends”、“tpc_customer”、“tpc_date_dim”和“web_sales”的技术组704的成员。可以执行本文描述的用于管理数据集推车的操作中的一些或全部来管理技术分组。通过这种二分法,技术组可以包括在数据集推车中,但反之则不然。然而,并不要求分层系统有这样的限制。支持逻辑数据集组的数据处理系统的代表性操作方法
[0191]
图13是用于操作可与多个数据集一起操作的数据处理系统的说明性过程1300的流程图。过程1300可以由参考图1c描述的数据处理系统104执行。可替代地或附加地,过程1300可以包括其他动作,包括如本文别处结合其他实施例描述的动作。
[0192]
在动作1302处,过程1300可以识别可用于执行与数据处理系统104的数据访问相关的操作的数据集。例如,可以通过基于经由如图10a所示的gui 600指定的搜索查询执行搜索来识别数据集。
[0193]
过程1300可以前进到动作1304,在该动作期间,所识别的数据集可以呈现在用户界面(比如图10b的gui 600)中。例如,图10b描绘了响应于搜索查询的执行而生成的搜索结果中的一些,该搜索查询包括关键字“loyalty”和指示数据集是否在将用于访问物理数据集的信息与逻辑数据集相关联的目录表中登记的分面。
[0194]
过程1300可以前进到动作1306,在该动作期间,可以接收对来自所识别的数据集的一个或多个数据集的选择。用户可以选择所识别的数据集中的一个或多个以包括在组(比如数据集推车)中。例如,如图10c所示,用户可以从所识别的数据集中选择数据集“loyalty.dat”以包括在数据集推车中。数据集可以被选择以包括在新的数据集推车或现有的数据集推车中。
[0195]
过程1300可以前进到动作1308,在该动作期间,可以生成并存储包括所选择的一个或多个数据集的组的表示。这样的表示在图12中描绘,并且包括各种信息,比如组的名称、关于组中包含的数据集的信息、与组中的数据集相关联的参数、组的所有者、和/或与组相关联的范围信息。
[0196]
过程1300可以前进到动作1310,在该动作期间,可以做出关于是否执行数据集的进一步识别的确定。例如,用户可以为搜索查询指定附加的或不同的分面。作为响应,例如,可以在动作1302处识别一组不同的数据集。可以从该组不同的数据集中选择数据集,从而生成组的新表示或更新组的现有表示。
[0197]
图14是用于操作被配置为执行访问数据集的操作的数据处理系统的说明性过程1400的流程图。过程1400可以由参考图1c描述的数据处理系统104执行。可替代地或附加地,过程1400可以包括其他动作,包括如本文别处结合其他实施例描述的动作。
[0198]
在动作1402处,过程1400可以呈现用户界面,该用户界面被配置用于由用户选择一个或多个数据集或数据集推车以结合与数据处理系统的数据访问相关的操作使用。这种用户界面的示例在图2b和图2e中示出。
[0199]
过程1400可以前进到动作1404,在该动作期间,可以识别与数据处理系统的用户(例如,请求搜索数据集的用户)相关联的人物角色并且可以识别与数据集和/或数据集组(例如,数据集推车)相关联的范围信息。与数据集和/或数据集组相关联的范围信息可以基
于数据处理系统的用户的人物角色和/或其他参数来定义。
[0200]
过程可以前进到动作1406,在该动作期间,可以自动识别一个或多个数据集组,这至少部分地基于用户的人物角色与同自动识别的数据集组相关联的范围信息之间的对应关系。例如,图2b和图2e描绘了可以通过检查请求搜索数据集的用户的个人特性(例如,许可)来生成的数据集和/或数据集推车的列表815、895,并且结果集可以仅限于具有包含该用户的个人特性的范围的数据集推车和/或数据集。
[0201]
过程可以前进到动作1408,在该动作期间,可以经由用户界面渲染自动识别的数据集组的指示。例如,当用户选择图8e中的特定数据集推车时,可以在用户界面的第二部分860中渲染所选数据集推车的指示。
[0202]
图15是用于操作被配置为执行用于访问数据集的程序的数据处理系统的说明性过程1500的流程图。过程1500可以由参考图1c描述的数据处理系统104执行。可替代地或附加地,过程1500可以包括其他动作,包括如本文别处结合其他实施例描述的动作。
[0203]
在动作1502处,过程1500可以经由用户界面接收搜索查询以搜索数据集以结合与数据处理系统的数据访问相关的操作使用。这样的用户界面的示例如图4a所示。
[0204]
过程1500可以前进到动作1504,在该动作期间,可以基于搜索查询来执行搜索以生成搜索结果。搜索结果可以呈现在用户界面中并且包括一个或多个数据集推车。这些数据集推车中的至少一些可以各自包括一个或多个搜索的数据集。可以通过检查请求搜索数据集的用户的个人特性(例如,许可)来识别用户界面中呈现的数据集和/或数据集推车,并且结果集可以仅限于具有包含该用户的个人特性的范围的数据集推车和/或数据集。
[0205]
过程1500可以前进到动作1506,在该动作期间,在用户界面中选择数据集推车时,可以对包括在数据集推车中的每个数据集执行操作。用户界面可以提供用于选择数据集推车作为操作的目标的选项。附加实施方式细节
[0206]
图16展示了可以在其上实施本文描述的技术的合适计算系统环境1600的示例。计算系统环境1600仅是合适的计算环境的一个示例,并且不旨在对本文描述的技术的使用或功能的范围提出任何限制。也不应当将计算环境900解释为具有与示例性操作环境900中展示的组件中的任何一个或组合相关的任何依赖性或要求。
[0207]
本文描述的技术与许多其他通用或专用计算系统环境或配置一起操作。可以适合与本文描述的技术一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络pc、小型计算机、大型计算机、包括上述系统或装置中任一个的分布式计算环境等。
[0208]
计算环境可以执行计算机可执行指令,比如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文描述的技术还可以在分布式计算环境中实践,其中任务由通过通信网络联接的远程处理装置执行。在分布式计算环境中,程序模块可以位于包括存储器存储装置的本地和远程计算机存储介质中。
[0209]
参考图16,用于实施本文描述的技术的示例性系统包括计算机1610形式的通用计算装置。计算机1610的组件可以包括但不限于处理单元1620、系统存储器1630、以及将包括
系统存储器的各种系统组件耦接到处理单元1620的系统总线1621。系统总线1621可以是包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任何架构的本地总线的若干类型的总线结构中的任何总线结构。通过举例而非限制,这样的架构包括工业标准架构(isa)总线、微通道架构(mca)总线、增强isa(eisa)总线、视频电子标准协会(vesa)本地总线、以及外围组件互连(pci)总线(也称为夹层(mezzanine)总线)。
[0210]
计算机1610通常包括各种计算机可读介质。计算机可读介质可以是可由计算机1610访问的任何可用介质,并且包括易失性和非易失性、可移除和不可移除介质。通过举例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实施的用于存储比如计算机可读指令、数据结构、程序模块、或其他数据等信息的易失性和非易失性介质、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存存储器或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储装置、或者可用于存储期望信息并可由计算机1610访问的任何其他介质。通信介质通常以比如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“已调制数据信号”是指以编码信号中的信息的这种方式使其特性中的一个或多个被设置或改变的信号。通过举例而非限制,通信介质包括有线介质(比如有线网络或直接有线连接)以及无线介质(比如声学、rf、红外线及其他无线介质)。上述中的任一个的组合也应包括在计算机可读介质的范围内。
[0211]
系统存储器1630包括呈易失性和/或非易失性存储器形式的计算机存储介质,比如只读存储器(rom)1631和随机存取存储器(ram)1632。包含比如在启动期间帮助在计算机1610内的元件之间传输信息的基本例程的基本输入/输出系统1633(bios)通常存储在rom 1631中。ram 1632通常包含可由处理单元1620立即访问和/或当前操作的数据和/或程序模块。作为示例且非限制,图16示出了操作系统1634、应用程序1635、其他程序模块1636和程序数据1637。
[0212]
计算机1610还可以包括其他可移除/不可移除、易失性/非易失性计算机存储介质。仅作为示例,图16展示了读取或写入不可移除的非易失性磁介质的硬盘驱动器1641、读取或写入可移除非易失性存储器1652(比如闪存存储器)的闪存驱动器1651、以及读取或写入可移除的非易失性光盘1656(比如cd rom或其他光学介质)的光盘驱动器1655。可以用于示例性操作环境中的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存存储器卡、数字多功能盘、数字录像带、固态ram、固态rom等。硬盘驱动器1641通常通过不可移除存储器接口(比如接口1640)连接到系统总线1621,并且磁盘驱动器1651和光盘驱动器1655通常由可移除存储器接口(比如接口1650)连接到系统总线1621。
[0213]
上面描述并在图16中展示的驱动器及其相关联的计算机存储介质为计算机1610提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图16中,硬盘驱动器1641被示为存储操作系统1644、应用程序1645、其他程序模块1646和程序数据1647。注意,这些组件与操作系统1634、应用程序1635、其他程序模块1636以及程序数据1637可以是相同或不同的。这里给予了操作系统1644、应用程序1645、其他程序模块1646和程序数据1647不同的附图标记,以展示至少它们是不同的副本。行动者可以通过比如键盘1662和指向装置1661等输入装置(通常指鼠标、轨迹球或触摸板)将命令和信息输入到计算机1610
中。其他输入装置(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入装置通常通过耦接到系统总线的用户输入接口1660连接到处理单元1620,但是可以通过其他接口和总线结构(比如并行端口、游戏端口或通用串行总线(usb))连接。监视器1691或其他类型的显示装置也经由接口(比如视频接口1690)连接到系统总线1621。除了监视器之外,计算机还可以包括可以通过输出外围接口1695连接的其他外围输出装置,比如扬声器1697和打印机1696。
[0214]
计算机1610可以使用与一个或多个远程计算机(比如远程计算机1680)的逻辑连接在联网环境中操作。远程计算机1680可以是个人计算机、服务器、路由器、网络pc、对等装置或其他公共网络节点,并且通常包括上面关于计算机1610描述的许多或所有元件,尽管在图16中仅展示了存储器存储装置1681。图16中描绘的逻辑连接包括局域网(lan)1671和广域网(wan)1673,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是普遍的。
[0215]
当在lan联网环境中使用时,计算机1610通过网络接口或适配器1670连接到lan 1671。当在wan联网环境中使用时,计算机1610通常包括调制解调器1672或用于通过wan 1673(比如因特网)建立通信的其他装置。调制解调器1672可以是内置的或外置的,其可以经由行动者输入接口1660或其他适当的机制连接到系统总线1621。在联网环境中,相对于计算机1610描绘的程序模块或是其部分可以存储在远程存储器存储装置中。作为示例而非限制,图16将远程应用程序1685展示为驻留在存储器装置1681上。应当理解,所示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
[0216]
本文描述的技术可以以多种方式中的任何一种来实施,因为这些技术不限于任何特定的实施方式。本文提供的实施方式细节的示例仅用于说明目的。此外,本文披露的技术可以单独使用或以任何合适的组合使用,因为本文描述的技术的方面不限于使用任何特定的技术或技术组合。
[0217]
因此,已经描述了本文描述的技术的几个方面,应当理解,各种变更、修改和改进是可能的。
[0218]
例如,提供了其中数据集组包含多个数据集的示例。本文描述的数据处理系统可以被实施为在一些情况下支持具有单个数据集的组和/或在其他情况下支持没有数据集的空组。
[0219]
作为另一个示例,提供了其中数据集组被包括在用户可以从中进行选择的结果集中的示例。用户可以选择数据集组,随后数据集组的内容可以呈现给用户以供进一步选择。描述了用户选择包含在该数据集组中的数据集的情况。在一些情况下,数据集组可能包含其他数据集组。选择包含在组内的数据集组可以使该过程重复,在该过程中,所选数据集组的内容被呈现给用户以便从该数据集组的内容中进行选择。这样的递归过程可以递归地重复到任意数量的层级。
[0220]
进一步地,提供了这样的示例,其中数据集选择工具接收用户输入以通过步进通过用户界面的一个或多个屏幕直到用户到达呈现期望数据集的屏幕来仅指定单个数据集。在本文描述的数据处理系统的变型中,用户可以通过用户界面屏幕导航并选择多个数据集,其中选择工具用于指定多个数据集的操作中。
[0221]
进一步地,数据集推车被描述为具有基于用户的人物角色的范围。在使用时可能
评估的其他特性可能用于定义范围。例如,时间可能用于范围。例如,基于一周中的某一天来限定数据集组的范围可能会使得对在一周中的特定日期更新的数据集的访问会在搜索时返回最新日期的数据集。
[0222]
作为又一个示例,范围被描述为限制响应于搜索查询而返回的数据集组的数量并提高其相关性。在一些实施例中,范围可以单独地附加到数据集,使得响应于搜索查询而返回的数据集基于搜索时的范围而受到限制。
[0223]
作为又一个示例,数据集组被描述为具有范围。范围可以通过存储和访问与数据集组相关联的范围信息来实施。在数据处理系统中,不一定限于数据集组的组件可以被赋予范围。例如,某些工具被限定了范围,从而将其使用限制在具有在范围内的人物角色的用户。在这样的实施例中,数据集组的范围信息可以以与其他组件的范围信息相同的方式来设置和使用。
[0224]
作为又一个变型,对数据集的搜索结果可以限于本身与搜索查询匹配或包含与搜索准则匹配的数据集的数据集推车。在一些实施例中,搜索结果可以包括包含与准则匹配的数据集的数据集推车以及与搜索准则匹配并且没有被指派给任何数据集推车的数据集。虽然可以呈现单独的数据集,但搜索结果可以通过分层呈现数据集来加以限制,使得归入数据集推车或其他分组内的数据集不会单独地示出。
[0225]
进一步地,提供了其中用户输入指定源类型的示例,这可以在选择应该是单个数据集的上下文与选择应该是数据集组的上下文之间进行区分。该上下文可以以其他方式确定,包括自动确定。如果上下文是自动确定的,则它可以基于对要对所选的一个或多个数据集执行的操作的计算机化分析。
[0226]
作为所披露的实施例的可能变型的进一步示例,描述了用户编写指定对逻辑数据集的访问的应用程序。在一些实施例中,用户可以是人类用户。在其他实施例中,用户可以是具有人工智能(ai)的程序。例如,ai可以通过处理数据集来导出数据处理算法,该数据集然后可以应用程序于其他数据集。
[0227]
这种改变、修改以及改进旨在是本披露内容的一部分,并且旨在落入本披露内容的精神和范围之内。进一步地,尽管指示了本文描述的技术的优点,但应当理解,并非本文描述的技术的每个实施例都将包括每个描述的优点。一些实施例可以不实施本文中描述为有利的任何特征,并且在一些情况下,可以实施所描述的特征中的一个或多个以实现进一步的实施例。因此,前文描述和附图仅是通过举例的方式。
[0228]
本文描述的技术的上述方面可以以多种方式中的任一种来实施。例如,这些方面可以使用硬件、软件或其组合实施。当以软件实施时,可以在任何合适的处理器或处理器的集合上执行软件代码,无论该软件代码是提供在单个计算机中还是分布在多个计算机当中。这种处理器可以被实施为集成电路(其中集成电路组件中具有一个或多个处理器),包括名称为比如cpu芯片、gpu芯片、微处理器、微控制器或协处理器的本领域已知的市售集成电路组件。可替代地,处理器可以以定制电路系统(比如asic)或通过配置可编程逻辑装置产生的半定制电路系统来实施。作为又一替代方案,处理器可以是较大电路或半导体装置的一部分,无论是市售的、半定制的还是定制的。作为具体示例,一些市售微处理器具有多个核,使得这些核中的一个或子集可以构成处理器。然而,处理器可以使用任何合适形式的电路系统来实施。
[0229]
进一步地,应当理解,计算机可以以多种形式中的任何一种体现,比如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以嵌入在通常不被认为是计算机但具有合适的处理能力的装置中,该装置包括个人数字助理(pda)、智能手机或任何其他合适的便携式或固定式电子装置。
[0230]
而且,计算机可以具有一个或多个输入装置和输出装置。这些装置可以尤其用于呈现用户界面。可以用于提供用户界面的输出装置的示例包括用于输出的视觉呈现的打印机或显示屏,以及用于输出的听觉呈现的扬声器或其他声音生成装置。可以用于用户界面的输入装置的示例包括键盘和指向装置,比如鼠标、触摸板和数字化平板。作为另一示例,计算机可以通过语音识别或以其他可听格式接收输入信息。
[0231]
这种计算机可以由采用任何合适的形式的一个或多个网络来互连,该一个或多个网络包括局域网或广域网,比如企业网或因特网。这种网络可以基于任何合适的技术并且可以根据任何合适的协议来操作,并且可以包括无线网络、有线网络或光纤网络。
[0232]
而且,本文概述的各种方法或过程可以被编码为可在一个或多个处理器上执行的软件,该一个或多个处理器采用各种操作系统或平台中的任何一种。另外,这样的软件可以使用多种合适的编程语言和/或编程或脚本工具中的任何一种来编写,并且还可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
[0233]
在这方面,本文描述的技术的方面可以体现为用一个或多个程序进行编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩光盘(cd)、光盘、数字视频盘(dvd)、磁带、闪存存储器、现场可编程门阵列或其他半导体装置中的电路配置、或其他有形计算机存储介质),该一个或多个程序在一个或多个计算机或其他处理器上执行时执行实施上述各种实施例的方法。如从前文示例将清楚明白,计算机可读存储介质可以将信息保留足够的时间,以便提供采用非暂态形式的计算机可执行指令。这样的计算机可读存储介质可以是可运送的,使得其上存储的一个或多个程序可以加载到一个或多个不同的计算机或其他处理器上,以实施如上所述的技术的各个方面。如本文所使用的,术语“计算机可读存储介质”仅涵盖可被看作是制品(即,制造物品)或机器的非暂态计算机可读介质。可替代地或另外,本文描述的技术的方面可以体现为计算机可读存储介质以外的计算机可读介质,比如传播信号。
[0234]
术语“程序”或“软件”在本文中以一般意义使用,以指代可以用于对计算机或其他处理器进行编程以实施如上所述的技术的各个方面的任何类型的计算机代码或计算机可执行指令集或处理器可执行指令。另外,应当理解,根据该实施例的一个方面,当被执行时执行本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,但可以按照模块的方式分布在多个不同的计算机或处理器中以实施本文所描述的技术的各个方面。
[0235]
计算机可执行指令可以呈由一个或多个计算机或其他装置执行的许多形式,比如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。典型地,程序模块的功能在不同实施例中可以根据需要进行组合或分配。
[0236]
而且,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,可以将数据结构示出为具有通过数据结构中的位置而相关的字段。这样的关系同样可以通过为用于字段的存储指派传达字段之间关系的计算机可读介质中的位置来实现。然而,可
以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签、或建立数据元素之间的关系的其他机制。
[0237]
本文描述的技术的各个方面可以单独使用、组合使用、或以前文所述的实施例中未确切描述的多种布置使用,并且因此在其应用中不局限于其在前文描述中所阐述或附图中所展示的组件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面组合。
[0238]
而且,本文描述的技术可以体现为方法,本文提供了该方法的示例,包括参考图13至图15。作为这些方法中的任何一种方法的一部分执行的动作可以以任何合适的方式排序。因此,可以构造实施例,在这些实施例中,动作以与所示的顺序不同的顺序执行,这些动作可以包括同时执行一些动作,即使这些动作在说明性实施例中被示出为连续动作。
[0239]
进一步地,一些动作被描述为由“行动者”或“用户”做出。应当理解,“行动者”或“用户”不必是单个个人,并且在一些实施例中,可归因于“行动者”或“用户”的动作可以由个人团队和/或个人与计算机辅助工具或其他机构的组合来执行。
[0240]
在权利要求中使用比如“第一”、“第二”、“第三”等序数术语来修饰权利要求要素本身并不意味着一个权利要求要素相对于另一个权利要求要素的任何优先权、优越性或顺序、或方法的动作执行的时间顺序,而是仅用作标签以将具有特定名称的一个权利要求要素与具有相同名称(但使用了序数术语)的另一个要素区分开来以区分权利要求要素。
[0241]
而且,在本文中使用的措辞和术语是用于描述的目的,而不应当被视为是限制性的。本文使用的“包括(including)”、“包括(comprising)”或“具有(having)”、“包含(containing)”、“涉及(involving)”及其变型旨在涵盖其后所列的多项及其等效形式、以及附加项。