CN117716352A - 数据资产的元数据继承 - Google Patents

数据资产的元数据继承 Download PDF

Info

Publication number
CN117716352A
CN117716352A CN202280051772.0A CN202280051772A CN117716352A CN 117716352 A CN117716352 A CN 117716352A CN 202280051772 A CN202280051772 A CN 202280051772A CN 117716352 A CN117716352 A CN 117716352A
Authority
CN
China
Prior art keywords
query
metadata
field
response
hierarchical model
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.)
Pending
Application number
CN202280051772.0A
Other languages
English (en)
Inventor
M·M·多德森
T·J-B·多伊尔
E·格里涅夫斯卡贾
D·Y·里亚布科夫
Q·王
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.)
Tableau Software LLC
Original Assignee
Tableau Software 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
Priority claimed from US17/588,161 external-priority patent/US20220382761A1/en
Application filed by Tableau Software LLC filed Critical Tableau Software LLC
Priority claimed from PCT/US2022/031195 external-priority patent/WO2022256235A1/en
Publication of CN117716352A publication Critical patent/CN117716352A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施方案涉及使用网络计算机管理数据。可以生成包括表示字段之间的依赖关系的边的分级结构模型。响应于用于确定与锚字段相关联的元数据的值的查询,执行包括如下的进一步动作:基于查询从锚字段向上遍历分级结构模型,以及响应于访问分级结构模型中的字段节点,收集与所访问字段节点相对应的元数据的值,并且基于查询的类型终止遍历;响应于访问计算节点,终止与所访问计算节点相关联的对分级结构模型的遍历;和响应于访问依赖于两个或更多个其他节点的流节点,终止对分级结构模型的遍历。可以响应于查询而提供所收集的元数据。

Description

数据资产的元数据继承
相关申请的交叉引用
本申请是基于2021年6月1日提交的先前提交的美国临时专利申请号63/195,568的实用专利申请,本申请根据35U.S.C.§119(e)在此要求该美国临时专利申请的提交日期权益,并且该美国临时专利申请全文以引用方式进一步并入本申请中。
技术领域
本发明整体涉及数据可视化,并且更具体地但非排他地涉及管理与可视化中所包括的对象相关联的数据。
背景技术
组织正在生成和收集数量不断增长的数据。数据可以与组织的不同部分相关联,诸如消费者活动、制造活动、客户服务、服务器日志等。由于各种原因,对于这种组织而言,可能不方便高效地利用其巨大数据集合。在一些情况下,数据量可能使得难以高效地利用所收集的数据来改进商业实践。因此,在一些情况下,组织可以采用各种应用或工具来基于其数据中的一些或全部生成可视化。采用可视化来表示数据可以使得组织能够改进其对商业运作、销售、客户信息、雇员信息、关键业绩指标等的理解。在一些情况下,复杂的可视化可以并入或以其他方式依赖于来自组织内的各种源(包括不同数据库)的数据。在一些情况下,可以存在许多不同的可视化,这些不同的可视化可以取决于这些变化的或不同的数据源。通常,在不同数据源中限定的数据可以包括元数据,包括描述、标签、标记等。数据源的作者/设计者可以将元数据与各种数据相关联以传达可视化作者或可视化用户可能感兴趣的信息。然而,由可视化作者或可视化用户访问的数据对象可能在逻辑上远离数据源中的数据。因此,确定元数据何时或是否可以被传播到由可视化作者或可视化用户使用的数据对象可能是困难的。因此,本发明正是针对这些及其他考虑而作出的。
附图说明
参考以下附图描述本创新的非限制性和非详尽的实施方案。在附图中,在各个附图中,相似的附图标记表示相似的部件,除非另有说明。为了更好地理解所描述的创新,将参考将联系附图进行阅读的以下具体实施方式,其中:
图1示出了其中可以实现各种实施方案的系统环境;
图2示出了客户端计算机的示意性实施方案;
图3示出了网络计算机的示意性实施方案;
图4示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的系统的逻辑架构;
图5示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的系统的一部分的逻辑表示;
图6示出了根据各种实施方案中的一个或多个实施方案的示出数据模型中的依赖的系统的一部分的逻辑示意图;
图7示出了根据各种实施方案中的一个或多个实施方案的依赖分级结构的一部分的逻辑示意图,其示出了依赖分级结构中的逻辑节点的至少一部分;
图8示出了根据各种实施方案中的一个或多个实施方案的包括元数据信息的数据对象的逻辑示意图;
图9示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程的概述流程图;
图10示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程的流程图;
图11示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程的流程图;
图12示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程的流程图;
图13示出了根据各种实施方案中的一个或多个实施方案的用于与数据资产的元数据继承相关联的信息安全性的过程的流程图;
图14示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的查询的逻辑表示;
图15示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的查询的逻辑表示;
图16示出了根据各种实施方案中的一个或多个实施方案的用于元数据继承的元数据查询结果的逻辑表示。
具体实施方式
现在将参考附图在下文中更全面地描述各种实施方案,附图形成了本发明的一部分并且通过图示示出了可以实践本发明的具体示例性实施方案。然而,实施方案可以以许多不同的形式实施,并且不应被解释为限于本文阐述的实施方案;相反,提供这些实施方案是为了使公开文本透彻且完整,并且这些实施方案将向本领域技术人员充分传达实施方案的范围。除了其他方面外,各种实施方案可以是方法、系统、介质或设备。因此,各种实施方案可以采取完全硬件实施方案、完全软件实施方案、或组合软件和硬件方面的实施方案的形式。因此,以下详细描述不应被理解为限制性的。
在整个说明书和权利要求中,以下术语采取与本文明确关联的含义,除非上下文另有明确规定。如本文所用的短语“在一个实施方案中”不一定指代相同的实施方案,尽管其可以指代相同的实施方案。此外,如本文所用的短语“在另一实施方案中”不一定指代不同的实施方案,尽管其可以指代不同的实施方案。因此,如下所述,在不脱离本发明的范围或精神的情况下,可以容易地组合各种实施方案。
另外,如本文所用,术语“或”是包含性的“或”运算符,并且等同于术语“和/或”,除非上下文另有明确规定。术语“基于”并非排他性的,并且允许基于未描述的附加因素,除非上下文另有明确规定。另外,在整个说明书中,“一种”、“一个”和“该”的含义包括复数引用。“中”的含义包括“中”和“上”。
对于示例性实施方案,以下术语也根据对应的含义在本文中使用,除非上下文另有明确规定。
如本文所用,术语“引擎”指代以硬件或软件指令实施的逻辑,其可以用编程语言编写,诸如C、C++、Objective-C、COBOL、JavaTM、Kotlin、PHP、Perl、JavaScript、Ruby、VBScript,或者用Microsoft.NETTM语言编写,诸如C#等。引擎可以被编译成可执行程序或用解释性编程语言编写。软件引擎可以能够从其他引擎或从其自身调用。本文描述的引擎指代可以与其他引擎或应用合并或者可以被划分成子引擎的一个或多个逻辑模块。引擎可以存储在非暂态计算机可读介质或计算机存储设备中,并且可以存储在一个或多个通用计算机上并由其执行,从而创建被配置为提供引擎的专用计算机。此外,在一些实施方案中,引擎的一个或多个部分可以是执行一个或多个动作以支持引擎或作为引擎的一部分的硬件设备、ASIC、FPGA等。
如本文所用,术语“数据模型”指代表示与由组织收集或维护的数据相关联的一个或多个实体的一个或多个数据结构。数据模型通常被布置成对与组织相关联的各种操作或活动进行建模。在一些情况下,数据模型被布置成提供或促进各种数据集中的动作,诸如高效存储、查询、索引、搜索、更新等。通常,数据模型可以被布置成提供与数据操纵或数据管理相关的特征,而不是提供对数据的易于理解的呈现或可视化。
如本文所用,术语“数据对象”指代包括数据模型的一个或多个实体或数据结构。在一些情况下,数据对象可以被认为是数据模型的部分。数据对象可以表示项目的类或种类,诸如数据库、数据源、表、工作簿、可视化、工作流等。
如本文所用,术语“数据对象类”或“对象类”指代表示数据对象的类、种类或类型的一个或多个实体或数据结构。
如本文所用,术语“显示模型”指代表示数据模型的一个或多个表示的一个或多个数据结构,数据模型的一个或多个表示可以适合于在一个或多个硬件显示器上显示的可视化中使用。显示模型可以限定可供非创作用户使用的样式或用户界面特征。
如本文所用,术语“依赖分级结构”指代表示用于表示对应数据模型的沿袭信息的专用模型的一个或多个数据结构。依赖分级结构通常包括用于存储/表示数据对象属性的值的字段节点、表示可以改变数据的语义含义的所应用数据变换的计算节点、或表示不实质改变经变换数据的语义含义的数据变换的流节点。节点之间的边表示来自依赖分级结构中较高节点的数据或信息可以被传播到依赖分级结构中更靠下的节点。可以经由依赖分级结构来跟踪数据模型中的数据对象之间的数据依赖。
如本文所用,术语“元数据查询”指代表示针对一个或多个数据对象的元数据信息的请求的查询信息。在一些情况下,可以使用对应于数据模型的依赖分级结构来解决元数据查询。
如本文所用,术语“显示对象”指代包括显示模型的一个或多个数据结构。在一些情况下,显示对象可以被认为是显示模型的部分。显示对象可以表示可以在可视化中显示的项目的个体实例或项目的整个类或种类。在一些实施方案中,显示对象可以被认为是视图或称为视图,因为其提供数据模型的某个部分的视图。
如本文所用,术语“锚字段”指代依赖分级结构中已经被选择作为用于确定元数据继承的开始点的字段节点。元数据查询可以限定锚字段,锚字段通常可以是元数据查询的焦点。
如本文所用,术语“面板”指代图形用户界面(GUI)内的区域,其在GUI内具有限定的几何形状(例如,x、y、z顺序)。面板可以被布置成向用户显示信息或者托管一个或多个交互式控件。可以使用配置信息(包括动态规则)来限定与面板相关联的几何形状或样式。此外,在一些情况下,可以使得用户能够在一个或多个面板上执行动作,诸如移动、显示、隐藏、调整大小、重新排序等。
如本文所用,术语“配置信息”指代可以包括基于规则的策略、模式匹配、脚本(例如,计算机可读指令)等的信息,信息可以从各种源提供,各种源包括配置文件、数据库、用户输入、内置默认值等或其组合。
以下简要描述本发明的实施方案,以便提供对本发明的一些方面的基本理解。简要描述并不旨在作为广泛概述。其并不旨在标识关键或重要元素,也并不旨在描绘或以其他方式缩小范围。其目的仅在于以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
简而言之,各种实施方案涉及使用网络计算机来管理数据。在各种实施方案中的一个或多个实施方案中,可以生成包括一个或多个边的分级结构模型,一个或多个边表示一个或多个字段节点、一个或多个计算节点或一个或多个流节点之间的依赖关系。
在各种实施方案中的一个或多个实施方案中,响应于用于确定与作为分级结构模型中的字段节点的锚字段相关联的元数据的一个或多个值的查询,执行包括如下的进一步动作:基于查询和分级结构模型从锚字段向上遍历分级结构模型,并且执行包括如下的进一步动作:响应于访问分级结构模型中的一个或多个字段节点,收集与所访问字段节点相对应的元数据的一个或多个值,其中基于查询的类型终止遍历;响应于访问计算节点,终止与所访问计算节点相关联的对分级结构模型的遍历;以及响应于访问依赖于分级结构模型中的两个或更多个其他节点的流节点,终止与所访问流节点相关联的对分级结构模型的遍历。
在各种实施方案中的一个或多个实施方案中,可以提供对查询的响应,响应包括能够继承到锚字段的元数据的一个或多个收集值。
在各种实施方案中的一个或多个实施方案中,基于查询的类型终止遍历可以包括:响应于查询是第一查询类型,响应于访问锚字段的可以与元数据的值相关联的第一祖先字段节点而终止对分级结构模型的遍历,使得从第一祖先字段节点收集的元数据的值可以被提供作为用于锚字段的元数据。
在各种实施方案中的一个或多个实施方案中,基于查询的类型终止遍历还可以包括:响应于查询是第二查询类型,可以执行包括如下的进一步动作:访问分级结构模型中作为锚字段的祖先的每个字段节点,使得访问中间计算节点或中间多输入流节点终止对分级结构模型的遍历;以及收集用于作为锚字段的祖先的每个所访问字段节点的元数据的一个或多个值,使得可以基于分级结构模型中可以与锚字段和一个或多个所访问祖先字段节点相对应的一个或多个依赖关系来对元数据的一个或多个值进行排序。
在各种实施方案中的一个或多个实施方案中,遍历分级结构模型可以包括:基于查询和提供查询的客户端来确定与分级结构模型相关联的一个或多个安全性策略;将一个或多个所访问字段节点和客户端与一个或多个安全性策略进行比较;基于比较确定分级结构模型中的一个或多个受约束字段节点,使得一个或多个安全性策略阻止客户端访问与一个或多个受约束字段节点相关联的信息;以及从对查询的响应中排除可以与一个或多个受约束字段节点相关联的元数据的一个或多个值,使得与一个或多个受约束字段节点相关联的标识符或数据类型中的一项或多项可以被包括在对查询的响应中。
在各种实施方案中的一个或多个实施方案中,可以基于查询类型或查询中的一项或多项来确定超时值或节点访问限制值中的一项或多项。在一些实施方案中,响应于提供对查询的响应的时间超过超时值,终止对分级结构模型的遍历并提供对查询的包括元数据的一个或多个收集值的部分响应。或者,响应于在分级结构模型中访问的节点数量超过节点访问限制值,终止对分级结构模型的遍历并提供包括元数据的一个或多个收集值的部分响应。
在各种实施方案中的一个或多个实施方案中,可以基于与查询一起提供的信息来确定查询的类型。在一些实施方案中,可以基于查询的类型来确定用于终止遍历的一个或多个条件。在一些实施方案中,可以基于查询的类型来确定要包括在对查询的响应中的响应信息,使得响应信息可以包括以下一项或多项:元数据的一个或多个值、基于元数据的一个或多个值的一个或多个聚合值、或由查询的类型限定的一个或多个其他动作的执行。
在各种实施方案中的一个或多个实施方案中,响应于锚字段与元数据的值相关联,可以将与锚字段相关联的元数据的值包括在对查询的响应中。并且,在一些实施方案中,响应于锚字段中不存在元数据的值,在对查询的响应中提供与分级结构模型中最接近锚字段的祖先字段节点相关联的元数据的值。
示出的操作环境
图1示出了可以在其中实践本发明的实施方案的环境的一个实施方案的部件。并非所有部件都是实践本发明所必需的,并且在不脱离本发明的精神或范围的情况下,可以对部件的布置和类型进行改变。如图所示,图1的系统100包括局域网(LAN)/广域网(WAN)—(网络)110、无线网络108、客户端计算机102至105、可视化服务器计算机116等。
下面结合图2更详细地描述客户端计算机102至105的至少一个实施方案。在一个实施方案中,客户端计算机102至105中的至少一些客户端计算机可以在一个或多个有线或无线网络(诸如网络108或110)上操作。通常,客户端计算机102至105可以包括能够通过网络进行通信以发送和接收信息,执行各种在线活动、离线动作等的几乎任何计算机。在一个实施方案中,客户端计算机102至105中的一个或多个客户端计算机可以被配置为在企业或其他实体内操作,以执行用于企业或其他实体的各种服务。例如,客户端计算机102至105可以被配置为作为web服务器、防火墙、客户端应用、媒体播放器、移动电话、游戏控制台、台式计算机等进行操作。然而,客户端计算机102至105不限于这些服务,并且在其他实施方案中,还可以例如用于终端用户计算。应当认识到,可以在诸如本文所述的系统内包括更多或更少的客户端计算机(如图1所示),并且因此实施方案不受所采用的客户端计算机的数量或类型的约束。
可以作为客户端计算机102操作的计算机可以包括通常使用有线或无线通信介质连接的计算机,诸如个人计算机、多处理器系统、基于微处理器的或可编程的电子设备、网络PC等。在一些实施方案中,客户端计算机102至105可以包括能够连接到另一计算机并接收信息的几乎任何便携式计算机,诸如膝上型计算机103、移动计算机104、平板电脑105等。然而,便携式计算机不限于此,并且还可以包括其他便携式计算机,诸如蜂窝电话、显示寻呼机、射频(RF)设备、红外(IR)设备、个人数字助理(PDA)、手持式计算机、可穿戴计算机、组合前述计算机中的一项或多项的集成设备等。因此,客户端计算机102至105通常在能力和特征方面范围很广。此外,客户端计算机102至105可以访问各种计算应用,包括浏览器或其他基于web的应用。
Web使能的客户端计算机可以包括被配置为通过web发送请求和接收响应的浏览器应用。浏览器应用可以被配置为接收和显示采用几乎任何基于web的语言的图形、文本、多媒体等。在一个实施方案中,浏览器应用被使得能够采用JavaScript、超文本标记语言(HTML)、可扩展标记语言(XML)、JavaScript对象表示法(JSON)、层叠样式表(CSS)等或其组合来显示和发送消息。在一个实施方案中,客户端计算机的用户可以采用浏览器应用来通过网络(在线)执行各种活动。然而,也可以使用另一应用来执行各种在线活动。
客户端计算机102至105还可以包括被配置为与另一计算机之间接收或发送内容的至少一个其他客户端应用。客户端应用可以包括发送或接收内容等的能力。客户端应用还可以提供标识其自身的信息,包括类型、能力、名称等。在一个实施方案中,客户端计算机102至105可以通过各种机制中的任何机制来唯一地标识其自身,各种机制包括互联网协议(IP)地址、电话号码、移动标识号(MIN)、电子序列号(ESN)、客户端证书或其他设备标识符。这种信息可以在一个或多个网络分组等中提供,在其他客户端计算机、可视化服务器计算机116或其他计算机之间发送。
客户端计算机102至105可以被进一步配置为包括使得终端用户能够登录到可以由另一计算机(诸如可视化服务器计算机116等)管理的终端用户账户的客户端应用。在一个非限制性示例中,这种终端用户账户可以被配置为使得终端用户能够管理一个或多个在线活动,在一个非限制性示例中,一个或多个在线活动包括项目管理、软件开发、系统管理、配置管理、搜索活动、社交网络活动、浏览各种网站、与其他用户通信等。此外,客户端计算机可以被布置成使得用户能够显示报告、交互式用户界面或由可视化服务器计算机116提供的结果。
无线网络108被配置为将客户端计算机103至105及其部件与网络110联接。无线网络108可以包括各种无线子网络(其还可以覆盖独立的自组织网络等)中的任何子网络,以为客户端计算机103至105提供面向基础设施的连接。这种子网络可以包括网状网络、无线LAN(WLAN)网络、蜂窝网络等。在一个实施方案中,系统可以包括多于一个无线网络。
无线网络108还可以包括通过无线电链路等连接的终端、网关、路由器等的自治系统。这些连接器可以被配置为自由地和随机地移动并且任意地组织其自身,使得无线网络108的拓扑可以快速地改变。
无线网络108还可以采用多种接入技术,包括用于蜂窝系统、WLAN、无线路由器(WR)网状网络等的第2代(2G)、第3代(3G)、第4代(4G)、第5代(5G)无线电接入。接入技术(诸如2G、3G、4G、5G)以及未来的接入网络可以实现对具有各种程度的移动性的移动计算机(诸如客户端计算机103至105)的广域覆盖。在一个非限制性示例中,无线网络108可以通过无线电网络接入来实现无线电连接,无线电网络接入诸如为全球移动通信系统(GSM)、通用分组无线电服务(GPRS)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、宽带码分多址(WCDMA)、高速下行链路分组接入(HSDPA)、长期演进(LTE)等。本质上,无线网络108可以包括信息可以在客户端计算机103至105与另一计算机、网络、基于云的网络、云实例等之间行进所通过的几乎任何无线通信机制。
网络110被配置为通过无线网络108等将网络计算机与其他计算机联接,其他计算机包括可视化服务器计算机116、客户端计算机102和客户端计算机103至105。网络110被使得能够采用任何形式的计算机可读介质,以用于将信息从一个电子设备传送到另一电子设备。此外,除了局域网(LAN)、广域网(WAN)、直接连接(诸如通过通用串行总线(USB)端口、以太网端口、其他形式的计算机可读介质或其任何组合)之外,网络110还可以包括互联网。在LAN(包括基于不同架构和协议的那些LAN)的互连集合上,路由器充当LAN之间的链路,从而使得消息能够从一个LAN发送到另一LAN。另外,LAN内的通信链路通常包括双绞线或同轴电缆,而网络之间的通信链路可以利用模拟电话线,包括T1、T2、T3和T4的全部或部分专用数字线,或包括例如E载波、综合服务数字网络(ISDN)、数字订户线(DSL)的其他载波机制,包括卫星链路的无线链路,或本领域技术人员公知的其他通信链路。此外,通信链路还可以采用各种数字信令技术中的任何数字信令技术,包括但不限于例如DS-0、DS-1、DS-2、DS-3、DS-4、OC-3、OC-12、OC-48等。此外,远程计算机和其他相关电子设备可以经由调制解调器和临时电话链路远程连接到LAN或WAN。在一个实施方案中,网络110可以被配置为传输互联网协议(IP)的信息。
另外,通信介质通常实施计算机可读指令、数据结构、程序模块或其他传输机制,并且包括任何信息非暂态递送介质或暂态递送介质。以举例的方式,通信介质包括有线介质诸如双绞线、同轴电缆、光纤、波导和其他有线介质,以及无线介质诸如声学、RF、红外和其他无线介质。
此外,下面结合图3更详细地描述可视化服务器计算机116的一个实施方案。尽管图1将可视化服务器计算机116示出为单个计算机,但是创新或实施方案不限于此。例如,可视化服务器计算机116等的一个或多个功能可以分布在一个或多个不同的网络计算机上。此外,在一个或多个实施方案中,可视化服务器计算机116可以使用多个网络计算机来实现。此外,在各种实施方案中的一个或多个实施方案中,可视化服务器计算机116等可以使用一个或多个云网络中的一个或多个云实例来实现。因此,这些创新和实施方案不应被解释为限于单个环境,并且还设想了其他配置和其他架构。
例示性客户端计算机
图2示出了可以包括比所示部件更多或更少的许多部件的客户端计算机200的一个实施方案。客户端计算机200可以表示例如图1中示出的移动计算机或客户端计算机的一个或多个实施方案。
客户端计算机200可以包括经由总线228与存储器204通信的处理器202。客户端计算机200还可以包括电源230、网络接口232、音频接口256、显示器250、小键盘252、照明器254、视频接口242、输入/输出接口238、触觉接口264、全球定位系统(GPS)接收器258、凌空手势接口260、温度接口262、相机240、投影仪246、指向设备接口266、处理器可读固定存储设备234、和处理器可读可移除存储设备236。客户端计算机200可以可选地与基站(未示出)通信,或者直接与另一计算机通信。并且,在一个实施方案中,尽管未示出,但是可以在客户端计算机200内采用陀螺仪来测量或维护客户端计算机200的取向。
电源230可以向客户端计算机200提供电力。可以使用可充电或不可充电电池来提供电力。电力也可以由外部电源提供,诸如对电池进行补充或充电的AC适配器或供电对接托架。
网络接口232包括用于将客户端计算机200联接到一个或多个网络的电路,并且被构造为与一个或多个通信协议和技术一起使用,一个或多个通信协议和技术包括但不限于实现用于移动通信(GSM)的OSI模型、CDMA、时分多址(TDMA)、UDP、TCP/IP、SMS、MMS、GPRS、WAP、UWB、WiMax、SIP/RTP、GPRS、EDGE、WCDMA、LTE、UMTS、OFDM、CDMA2000、EV-DO、HSDPA或各种其他无线通信协议中的任何协议的任何部分的协议和技术。网络接口232有时称为收发器、收发设备或网络接口卡(NIC)。
音频接口256可以被布置成产生和接收音频信号,诸如人类语音的声音。例如,音频接口256可以联接到扬声器和麦克风(未示出),以使得能够与其他人通信或生成针对某个动作的音频确认。音频接口256中的麦克风也可以用于对客户端计算机200的输入或控制,例如,使用语音识别、基于声音来检测触摸等。
显示器250可以是液晶显示器(LCD)、气体等离子体、电子墨水、发光二极管(LED)、有机LED(OLED)或可以与计算机一起使用的任何其他类型的光反射或光透射显示器。显示器250还可以包括被布置成从对象(诸如触笔或来自人手的手指)接收输入的触摸接口244,并且可以使用电阻、电容、表面声波(SAW)、红外、雷达或其他技术来感测触摸或手势。
投影仪246可以是能够在远程墙壁或任何其他反射对象(诸如远程屏幕)上投影图像的远程手持式投影仪或集成投影仪。
视频接口242可以被布置成捕获视频图像,诸如静态照片、视频片段、红外视频等。例如,视频接口242可以联接到数字摄像机、web相机等。视频接口242可以包括透镜、图像传感器和其他电子器件。图像传感器可以包括互补金属氧化物半导体(CMOS)集成电路、电荷联接器件(CCD)或用于感测光的任何其他集成电路。
小键盘252可以包括被布置成接收来自用户的输入的任何输入设备。例如,小键盘252可以包括按钮数字拨号盘或键盘。小键盘252还可以包括与选择和发送图像相关联的命令按钮。
照明器254可以提供状态指示或提供光。照明器254可以在特定时间段内或响应于事件消息而保持活跃。例如,当照明器254活跃时,其可以从背后照亮小键盘252上的按钮,并且在客户端计算机被供电时保持开启。此外,当执行特定动作时,诸如拨打另一客户端计算机时,照明器254可以按各种模式从背后照亮这些按钮。照明器254还可以使位于客户端计算机的透明或半透明外壳内的光源响应于动作而照明。
此外,客户端计算机200还可以包括硬件安全模块(HSM)268,HSM用于提供附加的防篡改保护措施,以用于生成、存储或使用安全性/密码信息,诸如密钥、数字证书、密码、双因素认证信息等。在一些实施方案中,硬件安全模块可以用于支持一个或多个标准公钥基础设施(PKI),并且可以用于生成、管理或存储密钥对等。在一些实施方案中,HSM 268可以是独立的计算机,在其他情况下,HSM 268可以被布置作为可以被添加到客户端计算机的硬件卡。
客户端计算机200还可以包括用于与外部外围设备或其他计算机(诸如其他客户端计算机和网络计算机)通信的输入/输出接口238。外围设备可以包括音频头戴式耳机、虚拟现实头戴式耳机、显示屏眼镜、远程扬声器系统、远程扬声器和麦克风系统等。输入/输出接口238可以利用一种或多种技术,诸如通用串行总线(USB)、红外、WiFi、WiMax、BluetoothTM等。
输入/输出接口238还可以包括一个或多个传感器,一个或多个传感器用于确定地理位置信息(例如,GPS)、监测电力状况(例如,电压传感器、电流传感器、频率传感器等)、监测天气(例如,恒温器、气压计、风速计、湿度检测器、降水量表等)等。传感器可以是收集或测量客户端计算机200外部的数据的一个或多个硬件传感器。
触觉接口264可以被布置成向客户端计算机的用户提供触觉反馈。例如,触觉接口264可以用于当另一计算机用户正在呼叫时以特定方式振动客户端计算机200。温度接口262可以用于向客户端计算机200的用户提供温度测量输入或温度改变输出。凌空手势接口260可以例如通过使用单个或立体摄像机、雷达、用户持有或穿戴的计算机内的陀螺传感器等来感测客户端计算机200的用户的物理手势。相机240可以用于跟踪客户端计算机200的用户的物理眼睛移动。
GPS收发器258可以确定客户端计算机200在地球表面上的物理坐标,其通常将位置输出为纬度值和经度值。GPS收发器258还可以采用其他地理定位机制来进一步确定客户端计算机200在地球表面上的物理位置,包括但不限于三角测量、辅助GPS(AGPS)、增强观测时间差(E-OTD)、小区标识符(CI)、服务区域标识符(SAI)、增强定时提前(ETA)、基站子系统(BSS)等。应当理解,在不同的条件下,GPS收发器258可以确定客户端计算机200的物理位置。然而,在一个或多个实施方案中,客户端计算机200可以通过其他部件提供可以用于确定客户端计算机的物理位置的其他信息,包括例如媒体访问控制(MAC)地址、IP地址等。
在各种实施方案中的至少一个实施方案中,应用诸如操作系统206、客户端显示引擎222、其他客户端应用224、web浏览器226等可以被布置成采用地理位置信息来选择一个或多个本地化特征,诸如时区、语言、货币、日历格式化等。本地化特征可以用于文档、可视化、显示对象、显示模型、动作对象、用户界面、报告以及内部过程或数据库中。在各种实施方案中的至少一个实施方案中,用于选择本地化信息的地理位置信息可以由GPS258提供。此外,在一些实施方案中,地理位置信息可以包括使用网络(诸如无线网络108或网络111)上的一个或多个地理位置协议提供的信息。
人机接口部件可以是与客户端计算机200在物理上分开的外围设备,从而允许到客户端计算机200的远程输入或输出。例如,如在此通过人机接口部件(诸如显示器250或键盘252)路由的信息可以替代地通过网络接口232路由到远程定位的适当的人机接口部件。可以位于远程的人机接口外围部件的示例包括但不限于音频设备、指向设备、小键盘、显示器、相机、投影仪等。这些外围部件可以通过微微网络通信,诸如BluetoothTM、ZigbeeTM等。具有这种外围人机接口部件的客户端计算机的一个非限制性示例是可穿戴计算机,其可以包括远程微微投影仪以及一个或多个相机,一个或多个相机与单独定位的客户端计算机远程通信以感测用户朝向由微微投影仪投影到反射表面(诸如墙壁或用户的手)上的图像的部分的手势。
客户端计算机可以包括被配置为接收和发送网页、基于web的消息、图形、文本、多媒体等的web浏览器应用226。客户端计算机的浏览器应用可以采用几乎任何编程语言,包括无线应用协议消息(WAP)等。在一个或多个实施方案中,浏览器应用被使得能够采用手持式设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SGML)、超文本标记语言(HTML)、可扩展标记语言(XML)、HTML5等。
存储器204可以包括RAM、ROM或其他类型的存储器。存储器204示出了用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的计算机可读存储介质(设备)的示例。存储器204可以存储用于控制客户端计算机200的低级操作的BIOS208。存储器还可以存储用于控制客户端计算机200的操作的操作系统206。应当理解,部件可以包括通用操作系统诸如一个版本的UNIX或LinuxTM,或专用客户端计算机通信操作系统诸如WindowsPhoneTM、AndriodTM或IOS操作系统。操作系统可以包括Java虚拟机模块或与Java虚拟机模块交互,Java虚拟机模块使得能够经由Java应用程序控制硬件部件或操作系统操作。
存储器204还可以包括一个或多个数据存储210,一个或多个数据存储可以由客户端计算机200用于存储应用220或其他数据等。例如,数据存储210也可以用于存储描述客户端计算机200的各种能力的信息。然后,可以基于各种方法中的任何方法将信息提供给另一设备或计算机,包括在通信期间作为报头的一部分发送、在请求时发送等。数据存储210还可以用于存储社交网络信息,包括地址簿、好友列表、别名、用户配置文件信息等。数据存储210还可以包括程序代码、数据、算法等,以供处理器(诸如处理器202)用于实施和执行动作。在一个实施方案中,数据存储210中的至少一些也可以被存储在客户端计算机200的另一部件上,包括但不限于非暂态处理器可读可移除存储设备236、处理器可读固定存储设备234,或甚至存储在客户端计算机外部。
应用220可以包括计算机可实施指令,这些计算机可实施指令当由客户端计算机200执行时传输、接收或以其他方式处理指令和数据。应用220可以包括例如客户端显示引擎222、其他客户端应用224、web浏览器226等。客户端计算机可以被布置成与可视化服务器计算机交换通信,诸如查询、搜索、消息、通知消息、事件消息、警示、性能度量、日志数据、API调用等或其组合。
应用程序的其他示例包括日历、搜索程序、电子邮件客户端应用、IM应用、SMS应用、互联网协议语音(VOIP)应用、联系人管理器、任务管理器、代码转换器、数据库程序、字词处理程序、安全性应用、电子表格程序、游戏、搜索程序等。
另外,在一个或多个实施方案中(图中未示出),客户端计算机200可以包括嵌入式逻辑硬件设备而不是CPU,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)等或其组合。嵌入式逻辑硬件设备可以直接执行其嵌入式逻辑以执行动作。此外,在一个或多个实施方案中(图中未示出),客户端计算机200可以包括一个或多个硬件微控制器而不是CPU。在一个或多个实施方案中,一个或多个微控制器可以直接执行其自身的嵌入式逻辑以执行动作,并访问其自身的内部存储器和其自身的外部输入和输出接口(例如,硬件引脚或无线收发器)以执行动作,诸如片上系统(SOC)等。
例示性网络计算机
图3示出了可以包括在实现各种实施方案中的一个或多个实施方案的系统中的网络计算机300的一个实施方案。网络计算机300可以包括比图3所示部件更多或更少的许多部件。然而,所示部件足以公开用于实践这些创新的例示性实施方案。网络计算机300可以表示例如图1的一个或多个可视化服务器计算机116的一个实施方案。
网络计算机(诸如网络计算机300)可以包括可以经由总线328与存储器304通信的处理器302。在一些实施方案中,处理器302可以包括一个或多个硬件处理器,或者一个或多个处理器核。在一些情况下,一个或多个处理器中的一个或多个处理器可以是被设计成执行一个或多个专用动作(诸如本文描述的那些动作)的专用处理器。网络计算机300还包括电源330、网络接口332、音频接口356、显示器350、键盘352、输入/输出接口338、处理器可读固定存储设备334和处理器可读可移除存储设备336。电源330向网络计算机300提供电力。
网络接口332包括用于将网络计算机300联接到一个或多个网络的电路,并且被构造为与一个或多个通信协议和技术一起使用,一个或多个通信协议和技术包括但不限于实现开放系统互连模型(OSI模型)、全球移动通信系统(GSM)、码分多址(CDMA)、时分多址(TDMA)、用户数据报协议(UDP)、传输控制协议/互联网协议(TCP/IP)、短消息服务(SMS)、多媒体消息服务(MMS)、通用分组无线电服务(GPRS)、WAP、超宽带(UWB)、IEEE 802.16全球微波接入互操作(WiMax)、会话发起协议/实时传输协议(SIP/RTP)或各种其他有线和无线通信协议中的任何协议的任何部分的协议和技术。网络接口332有时称为收发器、收发设备或网络接口卡(NIC)。网络计算机300可以可选地与基站(未示出)通信,或者直接与另一计算机通信。
音频接口356被布置成产生和接收音频信号,诸如人类语音的声音。例如,音频接口356可以联接到扬声器和麦克风(未示出),以使得能够与其他人通信或生成针对某个动作的音频确认。音频接口356中的麦克风也可以用于对网络计算机300的输入或控制,例如,使用语音识别。
显示器350可以是液晶显示器(LCD)、气体等离子体、电子墨水、发光二极管(LED)、有机LED(OLED)或可以与计算机一起使用的任何其他类型的光反射或光透射显示器。在一些实施方案中,显示器350可以是能够在墙壁或其他对象上投影图像的手持式投影仪或微微投影仪。
网络计算机300还可以包括用于与图3中未示出的外部设备或计算机通信的输入/输出接口338。输入/输出接口338可以利用一个或多个有线或无线通信技术,诸如USBTM、FirewireTM、WiFi、WiMax、ThunderboltTM、红外、BluetoothTM、ZigbeeTM、串行端口、并行端口等。
此外,输入/输出接口338还可以包括一个或多个传感器,一个或多个传感器用于确定地理位置信息(例如,GPS)、监测电力状况(例如,电压传感器、电流传感器、频率传感器等)、监测天气(例如,恒温器、气压计、风速计、湿度检测器、降水量表等)等。传感器可以是收集或测量网络计算机300外部的数据的一个或多个硬件传感器。人机接口部件可以与网络计算机300在物理上分开,从而允许到网络计算机300的远程输入或输出。例如,如在此所述通过人机接口部件(诸如显示器350或键盘352)路由的信息可以替代地通过网络接口332路由到位于网络上其他地方的适当的人机接口部件。人机接口部件包括允许计算机从计算机的人类用户取得输入或向其发送输出的任何部件。因此,指向设备(诸如鼠标、触笔、轨迹球等)可以通过指向设备接口358通信以接收用户输入。
GPS收发器340可以确定网络计算机300在地球表面上的物理坐标,其通常将位置输出为纬度值和经度值。GPS收发器340还可以采用其他地理定位机制来进一步确定网络计算机300在地球表面上的物理位置,包括但不限于三角测量、辅助GPS(AGPS)、增强观测时间差(E-OTD)、小区标识符(CI)、服务区域标识符(SAI)、增强定时提前(ETA)、基站子系统(BSS)等。应当理解,在不同的条件下,GPS收发器340可以确定网络计算机300的物理位置。然而,在一个或多个实施方案中,网络计算机300可以通过其他部件提供可以用于确定客户端计算机的物理位置的其他信息,包括例如媒体访问控制(MAC)地址、IP地址等。
在各种实施方案中的至少一个实施方案中,应用诸如操作系统306、数据管理引擎322、显示引擎324、沿袭引擎326、web服务329等可以被布置成采用地理位置信息来选择一个或多个本地化特征,诸如时区、语言、货币格式化、日历格式化等。本地化特征可以用于文档、文件系统、用户界面、报告、显示对象、显示模型、可视化以及内部过程或数据库中。在各种实施方案中的至少一个实施方案中,用于选择本地化信息的地理位置信息可以由GPS340提供。此外,在一些实施方案中,地理位置信息可以包括使用网络(诸如无线网络108或网络111)上的一个或多个地理位置协议提供的信息。
存储器304可以包括随机存取存储器(RAM)、只读存储器(ROM)或其他类型的存储器。存储器304示出了用于存储信息诸如计算机可读指令、数据结构、程序模块或其他数据的计算机可读存储介质(设备)的示例。存储器304存储用于控制网络计算机300的低级操作的基本输入/输出系统(BIOS)308。存储器还存储用于控制网络计算机300的操作的操作系统306。应当理解,部件可以包括通用操作系统诸如一个版本的UNIX或或专用操作系统诸如Microsoft公司的/>操作系统,或者Apple公司的/>操作系统。操作系统可以包括一个或多个虚拟机模块或与一个或多个虚拟机模块交互,一个或多个虚拟机模块诸如为Java虚拟机模块,Java虚拟机模块使得能够经由Java应用程序控制硬件部件或操作系统操作。同样地,可以包括其他运行环境。
存储器304还可以包括一个或多个数据存储310,一个或多个数据存储可以由网络计算机300用于存储应用320或其他数据等。例如,数据存储310也可以用于存储描述网络计算机300的各种能力的信息。然后,可以基于各种方法中的任何方法将信息提供给另一设备或计算机,包括在通信期间作为报头的一部分发送、在请求时发送等。数据存储310还可以用于存储社交网络信息,包括地址簿、好友列表、别名、用户配置文件信息等。数据存储310还可以包括程序代码、数据、算法等,以供处理器(诸如处理器302)用于实施和执行动作,诸如下面描述的那些动作。在一个实施方案中,数据存储310中的至少一些也可以被存储在网络计算机300的另一部件上,包括但不限于处理器可读可移除存储设备336、处理器可读固定存储设备334、或网络计算机300内的任何其他计算机可读存储设备内的非暂态介质,或甚至存储在网络计算机300外部。数据存储310可以包括例如数据模型314、显示模型316、源数据318等。数据模型314可以存储表示一个或多个数据模型的一个或多个部分的文件、文档、版本、性质、元数据、数据结构等。显示模型316可以存储显示模型。源数据318可以表示用于存储数据库或贡献作为数据模型、显示模型等的基础的数据的其他数据源的存储器。
应用320可以包括计算机可实施指令,这些计算机可实施指令当由网络计算机300执行时传输、接收或以其他方式处理消息(例如,SMS、多媒体消息服务(MMS)、即时消息(IM)、电子邮件或其他消息)、音频、视频,并且使得能够与另一移动计算机的另一用户通信。应用程序的其他示例包括日历、搜索程序、电子邮件客户端应用、IM应用、SMS应用、互联网协议语音(VOIP)应用、联系人管理器、任务管理器、代码转换器、数据库程序、字词处理程序、安全性应用、电子表格程序、游戏、搜索程序等。应用320可以包括可以被布置成执行用于下面描述的实施方案的动作的数据管理引擎322、显示引擎324、沿袭引擎326、web服务329等。在各种实施方案中的一个或多个实施方案中,应用中的一个或多个应用可以被实现为另一应用的模块或部件。此外,在各种实施方案中的一个或多个实施方案中,应用可以被实现为操作系统扩展、模块、插件等。
此外,在各种实施方案中的一个或多个实施方案中,数据管理引擎322、显示引擎324、沿袭引擎326、web服务329等可以在基于云的计算环境中操作。在各种实施方案中的一个或多个实施方案中,包括管理平台的这些应用及其他应用可以在基于云的计算环境中管理的虚拟机或虚拟服务器内执行。在各种实施方案中的一个或多个实施方案中,在此上下文中,应用可以根据由云计算环境自动管理的性能和缩放考虑而从基于云的环境内的一个物理网络计算机流向另一物理网络计算机。同样地,在各种实施方案中的一个或多个实施方案中,可以自动地调配和停用专用于数据管理引擎322、显示引擎324、web服务329等的虚拟机或虚拟服务器。
此外,在各种实施方案中的一个或多个实施方案中,数据管理引擎322、显示引擎324、沿袭引擎326、web服务329等可以位于在基于云的计算环境中运行的虚拟服务器中,而不是被绑定到一个或多个特定的物理网络计算机。
此外,网络计算机300还可以包括硬件安全模块(HSM)360,HSM用于提供附加的防篡改保护措施,以用于生成、存储或使用安全性/密码信息,诸如密钥、数字证书、密码、双因素认证信息等。在一些实施方案中,硬件安全模块可以用于支持一个或多个标准公钥基础设施(PKI),并且可以用于生成、管理或存储密钥对等。在一些实施方案中,HSM 360可以是独立的网络计算机,在其他情况下,HSM 360可以被布置成可以安装在网络计算机中的硬件卡。
另外,在一个或多个实施方案中(图中未示出),网络计算机300可以包括嵌入式逻辑硬件设备而不是CPU,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)等或其组合。嵌入式逻辑硬件设备可以直接执行其嵌入式逻辑以执行动作。此外,在一个或多个实施方案中(图中未示出),网络计算机可以包括一个或多个硬件微控制器而不是CPU。在一个或多个实施方案中,一个或多个微控制器可以直接执行其自身的嵌入式逻辑以执行动作,并访问其自身的内部存储器和其自身的外部输入和输出接口(例如,硬件引脚或无线收发器)以执行动作,诸如片上系统(SOC)等。
例示性逻辑系统架构
图4示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的系统400的逻辑架构。在各种实施方案中的一个或多个实施方案中,系统400可以包括各种部件,诸如数据模型402,其可以包括范围从一个或多个数据库对象到一个或多个可视化的各种数据对象。在示例中,数据模型402包括数据库对象404、数据库对象406、表对象408、表对象410、表对象412、工作流对象414、数据源对象416、数据源对象418、工作簿对象420、表单对象422和表单对象424。
在各种实施方案中的一个或多个实施方案中,可视化服务器计算机(诸如可视化服务器计算机116)可以被布置成采用数据模型(诸如数据模型402)来表示可以用于生成可视化的信息。此外,在一些实施方案中,数据模型可以用于管理可视化系统中的其他行为者,包括用户、作者等。
在示例中,数据模型402可以具有一个或多个根级数据对象,诸如数据对象404和数据对象406。数据对象404和数据对象406表示可以是驱动数据模型的信息的源的数据库。例如,数据对象404可以表示与组织的一部分相关联的SQL RDBMS,同时数据对象406可以表示到另一信息提供者或其他数据库的API网关。
在各种实施方案中的一个或多个实施方案中,数据对象408、数据对象410、数据对象412等表示可以由一个或多个数据库提供的表或表状对象。在数据模型的该级别下,数据对象可以被认为包裹从数据库提供的实体或以其他方式接近地对其进行建模。因此,在一些实施方案中,表或数据库对象的性质或属性可以接近地反映其原生表示,包括属性名称、数据类型、表名称、列名称等。例如,数据管理员可以被使得能够将数据库或表“导入”到数据模型中,使得所导入的对象保留以原生形式可用的特征或属性中的一些或全部特征或属性。在一些情况下,在一些实施方案中,一个或多个所导入数据对象可以包括也可以导入的元数据信息。
在各种实施方案中的一个或多个实施方案中,在所导入表对象可以用于可视化之前,数据管理员可能必须执行或实施一个或多个动作以准备供可视化或可视化作者消耗的信息。在示例中,提取-转换-加载(ETL)对象414表示在使表对象410和表对象412中的信息可用于可视化之前对信息进行一些处理的ETL过程。
在各种实施方案中的一个或多个实施方案中,数据源对象(诸如数据源416或数据源418)表示可视化作者可用于并入可视化或其他显示模型中的数据对象。在一些实施方案中,数据源对象可以向数据管理员提供控制以管理或以其他方式整形来自数据库(例如,数据库404或数据库406)的可以供可视化或可视化作者使用的信息。例如,数据库404中的一个或多个表可以包括组织希望从可视化中排除的敏感信息。因此,在一些实施方案中,通过选择从表对象到数据源对象的映射属性,数据管理员可以控制从底层数据库展示数据的方式。在一些实施方案中,数据管理员可以被使得能够从表对象中选择特定的列或属性以包括在数据源中。此外,在一些实施方案中,表对象中的属性名称(例如,列名称)可以被映射到数据源中的不同名称。例如,表对象中名称为“客户_标识符”的表列可以被映射到数据源中名称为“账号”的属性。此外,在一些实施方案中,可以执行其他映射变换,诸如数据类型转换、聚合、过滤、组合等。在一些实施方案中,广泛或复杂的变换可以被封装在ETL对象等中,而更简单或更常见的变换可以在不使用单独的ETL对象的情况下启用。
在各种实施方案中的一个或多个实施方案中,边448表示从表对象到数据源的映射。在示例中,边448可以表示将表对象408的一个或多个属性(例如,列)映射到数据源416的一个或多个数据结构。因此,在一些实施方案中,边448提供一个或多个映射规则或指令或与之相关联,一个或多个映射规则或指令限定来自表对象408的哪些信息在数据源416中可用,以及可以向可视化作者呈现来自表对象408的信息的方式。
在各种实施方案中的一个或多个实施方案中,工作簿对象420表示可以与一个或多个用户级数据对象(诸如表单对象422或表单对象424)相关联的数据对象。在一些实施方案中,可视化作者可以被使得能够基于由一个或多个数据源(诸如数据源416或数据源418)提供的信息来设计工作簿(诸如工作簿对象420)。在一些实施方案中,可视化作者可以设计包括一个或多个表单(例如,表单对象422或表单对象424)的工作簿。在一些实施方案中,表单对象可以包括一个或多个可视化等。
在各种实施方案中的一个或多个实施方案中,表单对象422或表单对象424可以表示可以提供给可视化引擎等的信息中的一些或全部信息,可视化引擎提供可以由用户采用的一个或多个交互式可视化应用或报告。在示例中,表单对象422或表单对象424可以被认为包括或引用可以用于渲染可以由一个或多个数据库提供的信息的一个或多个可视化的数据、元数据、数据结构等中的一项或多项。在一些实施方案中,表单可以被布置成包括一个或多个显示模型、样式信息、文本描述、叙述信息、样式化图形、到其他表单的链接等。
因此,在一些实施方案中,用户(诸如用户426或用户428)可以被使得能够访问表单。表单中的内容或可视化可以取决于其设计和其所基于的信息(例如,来自数据库404或数据库406的信息)。通常,表单或所包括的可视化可以依赖于来自一个或多个数据库的一个或多个属性、列等。同样地,在一些实施方案中,可以与数据库相关联的依赖可以通过其他数据对象(诸如表、数据源、工作簿等)传播。在一些情况下,插置在表单与其底层数据库之间的其他数据对象可以引入附加的依赖,这些附加的依赖可以传播到表单或可视化。
在各种实施方案中的一个或多个实施方案中,将可以与数据对象相关联的相关或有资格的元数据传播到一个或多个依赖数据对象可以是有利的。然而,在一些情况下,中间数据对象或数据变换可以使与祖先对象相关联的元数据相对于一个或多个后代/依赖数据对象或数据对象属性而言毫无意义或混淆不清。因此,在一些实施方案中,沿袭引擎可以被布置成采用各种策略(以查询类型的形式)来确定元数据是否有资格传播到依赖对象。
图5示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的系统500的一部分的逻辑表示。在示例中,对于一些实施方案,数据模型502可以被认为与上述数据模型402类似。然而,示例示出了数据模型中的数据对象的一部分可以相关或依赖的方式。
在示例中,数据对象506表示可以与元数据信息相关联的数据对象。因此,在示例中,与数据对象506相关联的元数据中的一些或全部元数据可以符合条件以传播到各种依赖数据对象,诸如数据对象508、数据对象510、数据对象512、数据对象514等。此外,在示例中,用户516或用户518可以是依赖于或拥有数据对象512或数据对象514的用户。
图6示出了根据各种实施方案中的一个或多个实施方案的示出数据模型中的依赖的系统600的一部分的逻辑示意图。在示例中,系统600包括数据对象602、数据对象604、数据对象606、数据对象608等。
如上所述,在各种实施方案中的一个或多个实施方案中,数据模型中的数据对象可以依赖于同一数据模型中的其他数据对象。在示例中,数据对象604、数据对象606和数据对象608依赖于数据对象602。因此,在示例中,数据对象608依赖于数据对象606,以此类推。需注意,虽然在示例中的所有数据对象都是具有数据对象602作为其根的同一依赖树的一部分,但是在同一数据模型中可以存在具有不同或单独依赖的其他数据对象。
在各种实施方案中的一个或多个实施方案中,数据模型中的数据对象可以依赖于一个或多个其他数据对象,因为它们依赖于其他数据对象的一个或多个属性。在图6中,将数据对象中的列连接到其他数据对象中的其他列的线表示数据对象之间在属性级别下的依赖。因此,在示例中,数据对象602具有五个列,这五个列可以被认为是五个属性。在示例中,将数据对象602连接到数据对象604的线表示数据对象604依赖于数据对象602的四个属性。类似地,在示例中,数据对象606直接依赖于数据对象604的三个属性,并且间接依赖于数据对象602的三个属性。此外,类似地,在示例中,数据对象608直接依赖于来自数据对象606的一个属性,并且间接依赖于数据对象606、数据对象604和数据对象602的一个属性。因此,在示例中,所有数据对象依赖于其父对象中的一项或多项,然而,数据对象之间的依赖可以基于少于所有属性。例如,线618表示数据对象608依赖于数据对象606的一个属性。
在一些实施方案中,属性或数据对象之间的依赖通常可以取决于一个或多个函数、过滤器、变换等,当属性值被向下传递到后代数据对象时,一个或多个函数、过滤器、变换等可以被应用于属性值。例如,表数据对象可以包括存储为Unix纪元时间戳的时间戳属性。但是,在示例中,依赖数据源可以具有被标记为日期的属性,属性期望传统日期表示而不是Unix纪元时间戳。因此,在示例中,依赖数据源的日期属性可以与将由父表提供的Unix纪元时间戳值转换为满足数据源的要求的传统日期值的变换动作相关联。
图7示出了根据各种实施方案中的一个或多个实施方案的依赖分级结构700的一部分的逻辑示意图,其示出了依赖分级结构中的逻辑节点的至少一部分。如上所述,数据模型中的数据对象的依赖可以基于对依赖关系做出贡献的所涉及数据对象的属性而表示为依赖分级结构。因此,数据对象的在依赖分级结构中表示的属性可以称为字段,以将它们与一般属性区分开。在一些实施方案中,依赖分级结构可以包括一个或多个节点,诸如字段节点、流节点、计算节点等。
在各种实施方案中的一个或多个实施方案中,字段节点(例如,字段)可以表示数据对象的属性的值。例如,在一些实施方案中,对应于属性(诸如来自源/始发数据库的表的列)的字段可以提供字段的原始值。而依赖字段节点可以被认为保存从在依赖分级结构中可以较高的一个或多个节点传播的值。
此外,在一些实施方案中,依赖分级结构中的一个或多个节点可以表示在字段值可以被传播到后代字段之前可以应用于字段值的计算(例如,计算节点)。在一些情况下,对于一些实施方案,计算节点可以从一个或多个字段值产生值,该值可以具有新的或与输入字段不同的语义含义。例如,在一些实施方案中,被配置为计算两个其他字段值的差以产生用于另一字段的新值的计算节点可以被认为是计算节点。因此,在一些实施方案中,计算节点可以由用户或可视化作者配置为对来自一个或多个输入字段的值执行任意运算以生成可以传播到其他字段的值。
此外,在一些实施方案中,流节点可以表示在字段值可以被传播到其他字段之前可以应用于字段值的变换操作。在各种实施方案中的一个或多个实施方案中,流节点可以用于声明可以对字段值执行而不改变字段值的语义含义的变换操作。例如,对应于操作(诸如文本格式化、日期格式化、截断/舍入数值等)的流节点可以被认为是流节点。此外,虽然在此未示出,但是流节点可以被配置为从多于一个字段节点接收输入值。
在示例中,对于一些实施方案,依赖分级结构700包括字段节点702、字段节点704、字段节点706、字段节点708、字段节点710、字段节点712、字段节点714、字段节点716、字段节点718和字段节点720。此外,在示例中,依赖分级结构700包括计算节点714和流节点720。
因此,在一些实施方案中,沿袭引擎可以被布置成将字段节点702的值传播到字段节点706、字段节点708、字段节点710和字段节点712而不修改值。相比之下,在示例中,沿袭引擎可以被布置成将来自字段节点702和字段节点704的值作为输入提供给计算节点714。因此,在示例中,对于一些实施方案,计算节点714可以将新的或经修改的值传播到字段节点716。在一些实施方案中,由计算节点714执行的特定运算可以被认为是可能偏离字段节点704或字段节点702的语义含义的有效运算或变换。此外,在示例中,字段节点716的值可以被传播到字段节点718。此外,在示例中,对于一些实施方案,来自字段节点704的值可以被提供给流节点720。因此,在一些实施方案中,流节点720可以被配置为对来自字段节点704的值执行一个或多个变换。如上所述,由流节点执行的变换可以被认为保持字段节点704的值的语义含义完整。最后,在示例中,由流节点720生成的值可以被传播到字段节点722。
在各种实施方案中的一个或多个实施方案中,数据管理引擎或沿袭引擎可以被布置成自动实施在数据模型或依赖模型中限定的规则或配置。因此,在一些实施方案中,用户或其他客户端可以采用数据对象或可视化中的一个或多个字段。
需注意,本领域普通技术人员应当理解,生产依赖分级结构可以包括比在此示出的更多的许多字段节点、计算节点、流节点等。然而,本领域普通技术人员应当理解,依赖分级结构700至少足以公开本文所包括的创新。
此外,在一些情况下,为了简洁或清楚起见,字段节点、计算节点、流节点等在依赖分级结构的上下文中可以称为字段、计算或流。
此外,在一些实施方案中,依赖分级结构可以是数据模型的固有部分。例如,在一些实施方案中,沿袭引擎可以被布置成生成包括依赖分级结构信息的数据模型,而不是生成用于数据模型和依赖分级结构的单独数据结构。然而,为了简洁或清楚起见,在本文中,依赖分级结构可以被描述为与其对应数据模型分开。
图8示出了根据各种实施方案中的一个或多个实施方案的包括元数据信息的数据对象800的逻辑示意图。如本文所述,在一些实施方案中,数据模型可以被配置为包括或表示各种数据对象。在一些实施方案中,一个或多个数据对象可以基于一个或多个原始数据源,诸如数据库、电子表格、文件、档案等。此外,在一些实施方案中,数据对象可以包括一个或多个合成对象,合成对象包括数据对象或来自其他数据对象的数据属性。例如,在一些实施方案中,数据源、工作簿、工作表单等可以是可以包括来自其他数据对象的一个或多个属性的数据对象。如上所述,数据对象或数据对象属性可以与元数据相关联。例如,数据库可以被配置为提供数据库对象,诸如具有一个或多个列的表,其中每个表被命名并且每个列被命名。因此,在示例中,表名称和列名称通常可以用作数据模型中的数据对象名称和数据对象属性名称。然而,在一些情况下,对于一些实施方案,数据库对象可以与元数据相关联,元数据可以提供对数据库对象的含义、上下文或目的的洞察而不是表示数据对象属性的值。
在示例中,对于一些实施方案,数据对象属性800可以被认为表示一个或多个数据结构,一个或多个数据结构可以被布置成表示数据模型中的数据对象属性。在示例中,数据对象属性800可以包括在此由特征802表示的一个或多个固有特征。在示例中,对于一些实施方案,特征表示属性800的对于表示属性可以是必需的或优选的各种特性,诸如身份/标签、值、数据类型等。本领域普通技术人员应当理解,属性可以包括更多或更少的固有特征,这取决于数据对象的种类或属性的类型。然而,本领域普通技术人员应当理解,特征802旨在在逻辑上表示可以是表示数据对象属性的值所必需的信息。在示例中,标签、值和类型表示数据对象800的固有特征。因此,标签、值和类型可以被认为是使得属性能够用于可视化、报告、用户界面等中的必要特征。
相比之下,在示例中,元数据804表示与数据对象属性800相关联的元数据。在示例中,描述元数据被表示为提供对数据对象属性800的目的的更详细描述。并且,在示例中,元数据注释包括描述引入数据对象属性的应用/模式的版本的叙述。显然,在示例中,特征802使得显示引擎等能够高效地显示与数据对象属性相关联的值。然而,元数据804使得用户或可视化作者能够获得对上下文、目的或关于数据对象属性的目的的含义的改进理解。因此,在示例中,显示引擎可以使得用户或可视化作者能够查看元数据信息以帮助在设计可以包括数据对象属性800的可视化、报告、用户界面等时进行通知。
在一些实施方案中,元数据可以包括以下一项或多项:标签、数据质量警告、个人身份信息(PII)检测(例如,其是包含敏感信息的字段)、数据新鲜度、分级结构提示/信息(例如,各种字段节点和计算节点之间的距离等)、证明/验证信息(例如,字段可信吗?)等。
此外,本领域普通技术人员应当理解,数据对象或数据对象属性可以根据数据的类型、数据的源等支持各种不同类型的元数据。因此,在一些实施方案中,沿袭引擎可以被布置成采用经由配置信息提供的规则、指令、库等来处理或识别不同类型的元数据。因此,在一些实施方案中,由于可以针对各种数据对象或数据对象属性引入新的元数据类型,因此沿袭引擎可以采用配置信息以考虑新的元数据类型或其他的本地要求或本地境况。
一般化操作
图9至图13表示根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的一般化操作。在各种实施方案中的一个或多个实施方案中,结合图9至图13描述的过程900、1000、1100、1200和1300可以由单个网络计算机(诸如图3的网络计算机300)上的一个或多个处理器来实现或执行。在其他实施方案中,这些过程或其部分可以由多个网络计算机(诸如图3的网络计算机300)实现或在其上执行。在其他实施方案中,这些过程或其部分可以由一个或多个虚拟化计算机(诸如在基于云的环境中的那些虚拟化计算机)实现或在其上执行。然而,实施方案不限于此,并且可以利用网络计算机、客户端计算机等的各种组合。此外,在各种实施方案中的一个或多个实施方案中,结合图9至图13描述的过程可以用于根据各种实施方案或架构(诸如结合图4至图8描述的那些实施方案或架构)中的至少一者的数据资产的元数据继承。此外,在各种实施方案中的一个或多个实施方案中,由过程900、1000、1100、1200和1300执行的动作中的一些或全部动作可以部分地由在一个或多个网络计算机的一个或多个处理器上运行的数据管理引擎322、显示引擎324或沿袭引擎326执行。
图9示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程900的概述流程图。在开始框之后,在开始框902处,在各种实施方案中的一个或多个实施方案中,可以向沿袭引擎提供数据模型。如上所述,数据管理引擎、显示引擎等可以被布置成生成可以由可视化作者或数据管理员用于创建可以与数据模型中的各种数据模型层或数据对象类型相关联的数据对象的数据模型。
在决策框904处,在各种实施方案中的一个或多个实施方案中,如果可以向沿袭引擎提供元数据查询,则控制可以流向框906;否则,控制可以循环回到决策框904。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成与可以提供元数据查询的各种客户端或客户端应用集成。例如,如果客户端应用(诸如可视化创作系统)试图向可视化作者显示数据对象的元数据,则客户端应用可以向沿袭引擎提供元数据查询,以提供有资格的元数据(如果有的话)。
此外,在一些实施方案中,元数据查询信息可以根据查询的类型而变化。此外,在一些实施方案中,沿袭引擎可以被布置成支持元数据查询,元数据查询可以使用各种公知的或定制的查询语言来提供,诸如SQL、GraphQL、JSON、XML、Javascript、正则表达式等或其组合。
在框906处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于数据模型来确定依赖分级结构。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成按需或提前生成数据模型的依赖分级结构。例如,在一些实施方案中,如果沿袭引擎可以被激活或与数据模型相关联,则沿袭引擎可以被配置为自动生成对应于数据模型的依赖分级结构。在一些实施方案中,依赖分级结构可以固有地是数据模型的一部分。然而,为了简洁或清楚起见,在本文中,依赖分级结构与其对应数据模型分开描述。
在框908处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于查询遍历依赖分级结构。在各种实施方案中的一个或多个实施方案中,元数据查询信息可以包括标识依赖分级结构的可以与元数据查询相关的一个或多个字段或部分的信息。例如,如果元数据查询是请求一个字段的元数据,则元数据查询将标识该字段为元数据查询的锚字段。
在框910处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于对依赖分级结构的遍历来确定元数据信息。在各种实施方案中的一个或多个实施方案中,元数据查询类型和查询本身可以向沿袭引擎通知确定回答查询的有资格元数据的方式。在一些实施方案中,确定有资格元数据信息(例如,可继承元数据)可以包括遍历或另外评估依赖分级结构中的节点。为了简洁或清楚起见,与评估由依赖分级结构表示的关系或节点相关的动作可以称为遍历依赖分级结构。
在框912处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成在查询结果中提供元数据信息。在各种实施方案中的一个或多个实施方案中,不同的元数据查询或元数据查询类型可以产生不同类型的结果。一些元数据查询类型可以基于从依赖分级结构确定的第一有资格(如由查询限定的)元数据来提供元数据信息。相比之下,在一些实施方案中,其他元数据查询或元数据查询类型可以提供多于一个字段的元数据。例如,可以提供对所链接元数据的查询。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
图10示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程1000的流程图。在开始框之后,在开始框1002处,在各种实施方案中的一个或多个实施方案中,可以向沿袭引擎提供元数据查询。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成提供使得客户端应用能够提供一个或多个元数据查询的一个或多个API。在各种实施方案中的一个或多个实施方案中,元数据查询信息可以经由一个或多个API被提供作为一个或多个参数。在一些实施方案中,元数据查询信息可以被提供作为沿袭引擎可以解析以确定元数据查询信息的JSON对象。
在各种实施方案中的一个或多个实施方案中,一个或多个API可以使得客户端能够声明查询类型、依赖分级结构中的一个或多个锚字段等。在一些实施方案中,沿袭引擎可以被布置成提供使得客户端能够提供附加参数的API,这些附加参数诸如为过滤器、安全性/授权凭证等。
在框1004处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成解析元数据查询以确定元数据查询的类型。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成支持一个或多个元数据查询类型。因此,在一些实施方案中,元数据查询信息可以包括使得沿袭引擎能够确定查询类型的直接指示符(例如,标签)、提示等。
在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成采用经由配置信息提供的指令、规则、库等来标识不同的查询类型。因此,在一些实施方案中,沿袭引擎可以被布置成支持添加如经由配置信息提供的新的或不同的查询类型。
在框1006处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成解析元数据查询以确定依赖分级结构中的一个或多个锚字段。
在各种实施方案中的一个或多个实施方案中,锚字段可以是依赖分级结构中元数据查询可以涉及的字段。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成在锚字段处发起对所请求元数据的搜索。在一些实施方案中,沿袭引擎可以被布置成支持具有一个或多个锚字段的元数据查询。因此,在各种实施方案中的一个或多个实施方案中,包括多于一个锚字段的查询可以执行对包括在查询中的每个锚字段的查询。
在一些实施方案中,可以经由可以与查询本身不同的查询API将锚字段标识符传递到沿袭引擎。
在框1008处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于查询类型遍历依赖分级结构。如上所述,沿袭引擎可以被布置成基于数据模型中的数据对象的关系来生成依赖分级结构。
在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成回答对一个或多个锚字段的元数据查询。因此,在一些实施方案中,沿袭引擎可以被布置成遍历依赖分级结构以标识可继承元数据值。需注意,在一些实施方案中,锚字段可以具有所请求元数据的其自身版本。因此,在一些情况下,根据查询类型,沿袭引擎可以省略遍历依赖分级结构,因为所请求元数据值可以与锚字段相关联。相比之下,如果锚字段不与所请求元数据相关联,则沿袭引擎可以遍历依赖分级结构以确定是否存在可以回答查询的可继承元数据值。
在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成根据查询类型执行一个或多个动作。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于由配置信息提供的规则、指令、库等来确定一个或多个动作以考虑本地要求或本地境况。
例如,在一些实施方案中,一些查询类型可以被布置成提供可以被限制为可以回答问题的第一元数据值的响应。此外,例如,在一些实施方案中,其他查询类型可以涉及更多信息,诸如标识依赖分级结构中可以与可继承元数据值相关联的每个字段的报告。例如,在一些实施方案中,类型为“第一”的查询可以返回如遍历依赖分级结构所确定的元数据的第一有效值。同样地,在一些实施方案中,类型为“链接”的查询可以返回依赖分级结构的在遍历中被访问的整个部分的所请求元数据值。
在框1010处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于对依赖分级结构的遍历和查询类型来确定元数据信息。如上简述,信息的类型可以根据查询类型和查询信息而变化。一些查询可以返回一个字段的元数据值,而其他元数据查询可以返回一个或多个字段的元数据值。类似地,在一些实施方案中,一些查询可以返回聚合值、计数、真/假(例如,存在)等。此外,在一些实施方案中,如果无法解决所请求查询,则沿袭引擎可以被布置成报告空值或错误。在一些情况下,沿袭引擎可能无法获得字段的元数据值,因为与查询相关联的继承规则可能不提供有效回答。例如,在一些实施方案中,如果字段依赖于两个字段,则沿袭引擎可以被禁止自动确定传播元数据的方式。因此,在示例中,可以报告空值。但是,在示例中,一些查询类型可以提供每个替代结果而不是未能提供一个结果。
此外,在一些实施方案中,依赖分级结构中的一个或多个数据对象或对应字段可以与一个或多个许可或特权指定相关联。因此,在一些实施方案中,沿袭引擎可以被布置成验证提交元数据查询的用户或客户端可以被授权查看或访问与元数据或可继承元数据相关联的字段。在一些实施方案中,沿袭引擎可以被布置成根据与查询结果相关联的元数据查询、元数据查询类型、数据模型/对象等来应用一个或多个信息安全性策略。在一些实施方案中,沿袭引擎可以被布置成采用由配置信息提供的规则、指令等来确定与元数据查询结果相关的许可评估或用户授权。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
图11示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程1100的流程图。在开始框之后,在开始框1102处,在各种实施方案中的一个或多个实施方案中,可以向沿袭引擎提供针对第一元数据值的元数据查询。如上所述,在一些实施方案中,沿袭引擎可以被布置成支持各种查询类型。在各种实施方案中的一个或多个实施方案中,可用/授权查询类型以及用于声明对特定查询类型的查询的规则、指令、语法等可以根据查询类型而变化。例如,在一些实施方案中,沿袭引擎可以被布置成使得客户端应用能够提供指示查询类型的名称或符号。在其他实施方案中,沿袭引擎可以被布置成从查询信息推断查询类型。例如,如果元数据查询可以使用SQL或GraphQL来提供,则沿袭引擎可以被布置成解析SQL或GraphQL以确定查询类型。
因此,在一些实施方案中,沿袭引擎可以被布置成确定元数据查询是否可以是请求沿袭引擎确定一个或多个锚字段的第一元数据值。例如,在一些实施方案中,查询信息可以包括指示客户端正在请求锚字段的第一有资格元数据值(如果有的话)的值,诸如“第一”。在示例中,“第一”查询类型可以被布置成返回所指定元数据的第一有资格/有效值。例如,如果查询是请求锚字段的元数据“描述”的值,则沿袭引擎可以执行查询以基于依赖分级结构来寻找锚对象的“描述”的第一值。因此,如果锚字段具有与锚字段相关联的描述元数据,则描述信息可以满足查询。相比之下,如果锚字段不具有描述元数据,则沿袭引擎可以被布置成遍历依赖分级结构以确定是否存在与其他字段相关联的可以满足查询的可继承元数据。
在框1104处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于查询确定锚字段。在各种实施方案中的一个或多个实施方案中,锚字段可以被认为是查询的主要主题。因此,在一些实施方案中,查询信息可以明确地限定锚字段。在一些实施方案中,如果可以在“第一”查询类型的查询信息中包括多个锚字段,则沿袭引擎可以被布置成寻找每个锚字段的第一有资格元数据值。
在框1106处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成访问依赖分级结构中的每个下一更高节点。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成从锚字段开始向上遍历依赖分级结构。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成继续遍历,直到查询已到达结果或产生错误为止。
在一些实施方案中,沿袭引擎可以在元数据查询中声明的一个或多个锚字段处开始对依赖分级结构的遍历。
在决策框1108处,在各种实施方案中的一个或多个实施方案中,如果所访问节点可以是计算节点,则控制可以流向框1120;否则,控制可以流向决策框1110。如上所述,在一些情况下,对于一些实施方案,依赖分级结构中的字段节点可以依赖于一个或多个计算节点。如上所述,计算节点可以表示可以对一个或多个其他字段值执行以产生新的或经修改的值的一个或多个运算(例如,计算)。
在一些情况下,针对计算节点执行的动作可以产生具有可以与源/输入字段的语义含义不同的语义含义的值。因此,在一些实施方案中,与馈送到计算节点的字段相关联的元数据的含义或上下文可以与计算节点产生的值不相关。因此,在一些实施方案中,将这种元数据传播到依赖分级结构中更靠下的字段/节点可以是不利的,因为元数据的语义含义可能不再与字段值一致。
因此,在一些实施方案中,如果在对依赖分级结构的遍历期间在可以发现其他有资格元数据之前遇到计算节点,则可以不回答针对第一元数据值的查询。
在决策框1110处,在各种实施方案中的一个或多个实施方案中,如果所访问节点可以是流节点,则控制可以流向决策框1112;否则,控制可以流向框1120。如上所述,对于一些实施方案,流节点可以类似于计算节点,因为其可以表示对字段值的变换,变换可以被执行以便值可以向下传递到后代字段。然而,与计算节点形成对比,可以假设与流节点相关联的变换保留经变换字段的语义含义。因此,在一些实施方案中,在对依赖分级结构的遍历中访问流节点可以不像计算节点那样终止查询。
在决策框1112处,在各种实施方案中的一个或多个实施方案中,如果所访问流节点可以具有一个输入,则控制可以流向决策框1114;否则,控制可以流向框1120。如上所述,在一些实施方案中,流节点可以被配置为具有多于一个输入节点。在一些实施方案中,如果流节点具有多于一个输入节点,则沿袭引擎可以被禁止确定哪些元数据向下传播到锚字段,因为沿袭引擎无法从一个或多个字段中进行选择。因此,在一些实施方案中,访问具有多于一个输入节点的流节点可以终止对查询的遍历和执行。
在决策框1114处,在各种实施方案中的一个或多个实施方案中,如果所访问节点具有与查询匹配的元数据信息,则控制可以流向框1118;否则,控制可以流向决策框1116。例如,如果查询是请求锚字段的第一“描述”元数据,如果所访问字段节点具有“描述”的值,则可以满足查询。相比之下,对于一些实施方案,如果所访问字段不具有所请求元数据的值,则可以继续向上遍历依赖分级结构。
在决策框1116处,在各种实施方案中的一个或多个实施方案中,如果可以继续对依赖分级结构的遍历,则控制可以循环回到1106;否则,控制可以流向框1120。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成继续向上遍历依赖分级结构,直到锚字段的所有祖先节点都可以被访问,除非查询因遇到有资格元数据、计算节点或多输入流节点而以其他方式终止。需注意,遍历终止条件可以根据元数据查询或元数据查询类型而变化。
此外,在一些实施方案中,沿袭引擎可以被布置成采用各种安全/性能度量来约束执行查询所消耗的时间或资源的量。因此,在一些实施方案中,沿袭引擎可以被布置成在查询花费太长时间的情况下终止查询。因此,在一些实施方案中,沿袭引擎可以被布置成从配置信息或查询本身确定超时值。此外,在一些实施方案中,沿袭引擎可以被布置成通过约束在查询期间依赖分级结构中可以被访问的节点的总数来限制查询。例如,在一些实施方案中,沿袭引擎可以被配置为通过将可以被访问的节点的数量约束为20,000个节点等来限制对依赖分级结构的遍历。需注意,在一些实施方案中,沿袭引擎可以被布置成基于配置信息来确定超时值或遍历/节点计数约束以考虑本地要求或本地境况。此外,在一些实施方案中,不同类型的查询可以具有不同的超时或节点访问限制。
在框1118处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成确定所访问节点的元数据信息。在各种实施方案中的一个或多个实施方案中,可以从可以与所请求元数据信息相关联的第一所访问字段节点确定查询所请求的元数据。在一些实施方案中,如果锚字段具有所请求元数据信息,则这可以是锚字段。否则,在一些实施方案中,可以从依赖分级结构中可以是锚字段的祖先的字段节点确定元数据信息。需注意,对于在此描述的“第一”查询类型,可以从具有查询所请求的元数据的值的第一字段节点获得元数据值。
在框1120处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成返回查询结果。在各种实施方案中的一个或多个实施方案中,如果可以确定所请求元数据的值,则沿袭引擎可以被布置成返回包括所请求元数据的值的结果信息。否则,在一些实施方案中,可以提供指示无法确定所请求元数据的结果。在一些实施方案中,结果信息可以指示所请求元数据值未被确定的原因。因此,在一些实施方案中,结果信息可以指示是否遇到了计算节点或多输入流节点。此外,在一些实施方案中,结果信息可以指示依赖分级结构中的字段节点都不包括所请求元数据。
此外,如上面提及并且在下面更详细地描述的,沿袭引擎可以被布置成基于信息安全性考虑(诸如字段/数据访问约束、用户角色、客户端类型、客户端源等)来修改元数据查询结果。
在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成同步地或异步地向提供查询的客户端提供结果信息。在一些实施方案中,结果信息可以在API参数或返回值中返回。在一些实施方案中,结果信息可以包括与所采用的API一致的各种数据结构中的一个或多个个体参数。例如,在一些情况下,结果信息可以被提供作为一个或多个JSON对象、XML文件、HTTP响应等。在一些实施方案中,沿袭引擎可以被布置成支持用于向提供查询信息的客户端返回查询结果信息的多于一个协议或格式。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
图12示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的过程1200的流程图。在开始框之后,在开始框1202处,在各种实施方案中的一个或多个实施方案中,可以向沿袭引擎提供针对所链接元数据信息的元数据查询。在示例中,所链接元数据信息元数据查询请求锚字段可以依赖的祖先中的一些或全部祖先的元数据信息。否则,提供针对所链接元数据查询的查询信息可以被认为与针对框1102所描述的类似。
此外,在各种实施方案中的一个或多个实施方案中,针对所链接元数据的查询可以被认为是查询类型。因此,在一些实施方案中,确定与查询相关联的有资格元数据或其他结果可以不同于其他查询类型。
在框1204处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成基于查询确定锚字段。参见针对框1104的描述。
在框1206处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成访问依赖分级结构中的下一更高节点。参见针对框1106的描述。
在决策框1208处,在各种实施方案中的一个或多个实施方案中,如果所访问节点可以是计算节点,则控制可以流向决策框1218;否则,控制可以流向决策框1210。出于与针对图11示出的“第一”查询类型所描述的类似原因,遇到计算节点可以终止向上遍历依赖分级结构。然而,在一些实施方案中,所链接元数据查询可以遍历依赖分级结构中的多个分支。因此,在一些情况下,对于一些实施方案,在执行所链接元数据查询时遇到计算节点可以不结束查询执行,如上面针对“第一”元数据查询所描述的。
在决策框1210处,在各种实施方案中的一个或多个实施方案中,如果所访问节点可以是流节点,则控制可以流向决策框1212;否则,控制可以流向决策框1214。在向上遍历依赖分级结构期间遇到流节点可以被认为与针对图11示出的“第一”查询类型所描述的类似。
在决策框1212处,在各种实施方案中的一个或多个实施方案中,如果所访问流节点可以具有一个输入,则控制可以流向决策框1114;否则,控制可以流向决策框1218。出于与针对图11示出的“第一”查询类型所描述的类似原因,沿袭引擎可以被布置成在遍历期间可能遇到多输入流节点的情况下终止向上遍历依赖分级结构。然而,在一些实施方案中,所链接元数据查询可以遍历依赖分级结构中的多个分支。因此,在一些情况下,对于一些实施方案,在执行所链接元数据查询时遇到多输入流节点可以不结束查询执行,如上面针对“第一”元数据查询所描述的。
在决策框1214处,在各种实施方案中的一个或多个实施方案中,如果所访问节点具有所请求元数据信息,则控制可以流向框1216;否则,控制可以流向决策框1218。类似地,如上面针对过程1100所描述的,沿袭引擎可以被布置成确定与所访问字段相关联的元数据信息是否包括可以响应于查询的元数据值。
在框1216处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成确定所访问框的元数据信息。与上面针对过程1100所描述的类似,沿袭引擎可以被布置成从所访问字段节点收集可以响应于查询的元数据值。然而,与过程1100形成对比,沿袭引擎可以被布置成从每个所访问字段节点收集元数据值,而不是在找到与元数据相关联的满足查询的第一字段节点之后终止查询。因此,在一些实施方案中,沿袭引擎可以被布置成从在向上遍历依赖分级结构期间遇到的多于一个字段节点收集有资格元数据值。
在决策框1218处,在各种实施方案中的一个或多个实施方案中,如果应当继续对依赖分级结构的遍历,则控制可以循环回到框1206;否则,控制可以流向框1220。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成根据依赖分级结构的配置沿着多于一个分支或路径继续向上遍历依赖分级结构。此外,与过程1100类似,沿袭引擎可以被布置成实施一个或多个安全/性能保护,诸如超时或节点计数限制。参见针对过程1100的以上描述。
在框1220处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成返回查询结果。在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成提供在遍历依赖分级结构期间可能已遇到的所链接元数据信息。在一些实施方案中,针对所链接元数据查询的结果可以向客户端提供关于锚字段以及依赖分级结构中其祖先中的一些或全部祖先的信息。否则,在一些实施方案中,提供查询结果信息可以被认为与上面针对框1120所描述的类似,包括基于信息安全性考虑(诸如字段/数据访问约束、用户角色、客户端类型、客户端源等)来修改元数据查询结果。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
图13示出了根据各种实施方案中的一个或多个实施方案的用于与数据资产的元数据继承相关联的信息安全性的过程1300的流程图。在开始框之后,在开始框1302处,在各种实施方案中的一个或多个实施方案中,如上所述,沿袭引擎可以被布置成基于元数据查询的执行来生成元数据查询结果。
在框1304处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成确定与元数据查询结果相关联的相关安全性策略。
在各种实施方案中的一个或多个实施方案中,依赖分级结构中的一个或多个字段或对应的数据对象可以与由沿袭引擎实施的许可或访问规则相关联。
在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成应用可以与一个或多个用户、客户端、数据源、数据对象等相关联的一个或多个安全性策略,以防止对受保护/敏感信息的未授权访问。
在一些实施方案中,沿袭引擎可以被布置成确定与元数据查询或元数据查询结果相关联的安全性策略。在一些实施方案中,沿袭引擎可以被布置成基于配置信息来确定安全性策略,从而使得不同组织或数据拥有者能够建立针对本地要求或本地境况定制的全局或本地安全性策略。例如,在一些实施方案中,安全性策略可以根据各种因素而被不同地配置,各种因素包括查询类型、数据源、数据对象、客户端、客户端类型、用户等。因此,在一些实施方案中,沿袭引擎可以被布置成基于规则、地图、指令等确定安全性策略,以用于基于配置信息选择安全性策略以考虑本地境况或本地要求。
在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成执行/评估可以在安全性策略中限定的一个或多个规则、条件、指令等。
在框1306处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成鉴于所确定的安全性策略来评估元数据查询结果。
在决策框1308处,在各种实施方案中的一个或多个实施方案中,如果可以确定安全性策略问题,则控制可以流向决策框1310;否则,控制可以流向框1314。
在决策框1310处,在各种实施方案中的一个或多个实施方案中,如果应当中止元数据查询,则控制可以返回到调用过程;否则,控制可以流向框1312。
在一些情况下,对于一些实施方案,安全性策略可以指示应当立即中止或拒绝元数据查询,使得没有信息或元数据查询结果可以返回到提供查询的客户端。例如,如果安全性违规被确定为与恶意行为者相关联,则安全性策略可以像请求已被忽略那样行动,而不是以任何结果作出响应。
在框1312处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成按照所确定的安全性策略修改元数据查询结果。在一些实施方案中,沿袭引擎可以被配置为隐藏/遮蔽元数据查询结果的一个或多个部分,诸如元数据值、字段名称、数据源等。
例如,在一些实施方案中,沿袭引擎可以被配置为移除与受约束/受保护字段相关联的结果,并在结果中留下可访问字段。在一些情况下,可以在元数据查询结果中包括非敏感信息(诸如数据类型、数据源、分级结构信息等),同时移除受约束信息。
在各种实施方案中的一个或多个实施方案中,对初始元数据查询结果的特定过滤或模糊可以取决于在被实施的所确定的安全性策略中声明的规则、条件、指令等。
在框1314处,在各种实施方案中的一个或多个实施方案中,沿袭引擎可以被布置成向提供元数据查询的客户端/用户提供经修改的元数据查询结果。
接下来,在各种实施方案中的一个或多个实施方案中,控制可以返回到调用过程。
应当理解,可以由计算机程序指令实现每个流程图图示中的每个框以及每个流程图图示中的框的组合。这些程序指令可以被提供给处理器以产生机器,使得在处理器上执行的指令创建用于实现在每个流程图框或多个框中指定的动作的装置。计算机程序指令可以由处理器执行以使得由处理器执行一系列操作步骤以产生计算机实现的过程,使得在处理器上执行的指令提供用于实现在每个流程图框或多个框中指定的动作的步骤。计算机程序指令还可以使得在每个流程图的框中示出的操作步骤中的至少一些操作步骤被并行地执行。此外,这些步骤中的一些步骤还可以在多于一个处理器上执行,诸如可以在多处理器计算机系统中出现。另外,在不脱离本发明的范围或精神的情况下,每个流程图图示中的一个或多个框或框的组合也可以与其他框或框的组合被同时执行,或者甚至以与所示不同的序列执行。
因此,每个流程图图示中的每个框支持用于执行指定动作的装置的组合、用于执行指定动作的步骤的组合、以及用于执行指定动作的程序指令装置。还应当理解,可以由执行指定动作或步骤、或专用硬件和计算机指令的组合的基于硬件的专用系统来实现每个流程图图示中的每个框以及每个流程图图示中的框的组合。前述示例不应被解释为限制性的或详尽的,而是例示性用例,以示出本发明的各种实施方案中的至少一个实施方案的实现方式。
此外,在一个或多个实施方案中(图中未示出),可以使用嵌入式逻辑硬件设备而不是CPU来执行例示性流程图中的逻辑,诸如专用集成电路(ASIC)、字段可编程门阵列(FPGA)、可编程阵列逻辑(PAL)等或其组合。嵌入式逻辑硬件设备可以直接执行其嵌入式逻辑以执行动作。在一个或多个实施方案中,微控制器可以被布置成直接执行其自身的嵌入式逻辑以执行动作,并访问其自身的内部存储器和其自身的外部输入和输出接口(例如,硬件引脚或无线收发器)以执行动作,诸如片上系统(SOC)等。
例示性用例
图14示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的查询1400的逻辑表示。在示例中,查询1400包括元数据查询1402和元数据查询结果1404。
在示例中,在元数据查询1402中声明查询类型为“第一”。在示例中,这种类型的查询可以被认为是被布置成返回与查询匹配的第一可继承元数据。在示例中,元数据查询是请求锚字段“字段C”的名称为“描述”的元数据属性。
因此,在示例中,结果1404指示字段C的元数据描述可以从字段B继承。其示出与“字段C”直接相关联的元数据“描述”为空(因为没有针对字段限定“描述”)。因此,在示例中,元数据继承自具有值“BBBBB”的“字段B”。
图15示出了根据各种实施方案中的一个或多个实施方案的用于数据资产的元数据继承的查询1500的逻辑表示。在示例中,查询1500包括元数据查询1502和元数据查询结果1504。
在示例中,在元数据查询1402中声明查询类型为“链接”。在示例中,这种类型的查询可以被认为是被布置成返回依赖分级结构的包括可以是锚字段“字段C”的祖先字段的字段的元数据的部分(例如,子树)。因此,返回两个元数据值,依赖分级结构中可以被确定为锚字段(字段C)的祖先的每个字段对应一个值。
图16示出了根据各种实施方案中的一个或多个实施方案的用于元数据继承的元数据查询结果1600的逻辑表示。在示例中,元数据查询结果1600表示确实发现可继承元数据的结果。因此,在示例中,元数据属性“描述”被报告为空(例如,空白)。在上述示例(例如,过程1100)中,如果在依赖分级结构中可能遇到计算节点或多输入流节点,则可以产生空结果,诸如元数据查询结果1600。

Claims (20)

1.一种使用一个或多个处理器管理数据的方法,所述一个或多个处理器被配置为实施指令,其中所述指令的实施执行包括如下的动作:
生成包括一个或多个边的分级结构模型,所述一个或多个边表示一个或多个字段节点、一个或多个计算节点或一个或多个流节点之间的依赖关系;
响应于用于确定与作为所述分级结构模型中的字段节点的锚字段相关联的元数据的一个或多个值的查询,执行包括如下的进一步动作:基于所述查询和所述分级结构模型,从所述锚字段向上遍历所述分级结构模型,以及执行包括如下的进一步动作:
响应于访问所述分级结构模型中的一个或多个字段节点,收集与所访问字段节点相对应的所述元数据的所述一个或多个值,其中基于所述查询的类型终止所述遍历;
响应于访问计算节点,终止与所访问计算节点相关联的对所述分级结构模型的所述遍历;和
响应于访问依赖于所述分级结构模型中的两个或更多个其他节点的流节点,终止与所访问流节点相关联的对所述分级结构模型的所述遍历;和
提供对所述查询的响应,所述响应包括能够继承到所述锚字段的所述元数据的一个或多个收集值。
2.根据权利要求1所述的方法,其中基于所述查询的类型终止所述遍历还包括:
响应于所述查询是第一查询类型,响应于访问所述锚字段的与所述元数据的值相关联的第一祖先字段节点而终止对所述分级结构模型的所述遍历,其中从所述第一祖先字段节点收集的所述元数据的所述值被提供作为用于所述锚字段的所述元数据。
3.根据权利要求1所述的方法,其中基于所述查询的类型终止所述遍历还包括:
响应于所述查询是第二查询类型,执行进一步动作:
访问所述分级结构模型中作为所述锚字段的祖先的每个字段节点,其中访问中间计算节点或中间多输入流节点终止对所述分级结构模型的所述遍历;和
收集用于作为所述锚字段的祖先的每个所访问字段节点的所述元数据的所述一个或多个值,其中基于所述分级结构模型中与所述锚字段和所述一个或多个所访问祖先字段节点相对应的所述一个或多个依赖关系,对所述元数据的所述一个或多个值进行排序。
4.根据权利要求1所述的方法,其中遍历所述分级结构模型还包括:
基于所述查询和提供所述查询的客户端,确定与所述分级结构模型相关联的一个或多个安全性策略;
将所述一个或多个所访问字段节点和所述客户端与所述一个或多个安全性策略进行比较;
基于所述比较,确定所述分级结构模型中的一个或多个受约束字段节点,其中所述一个或多个安全性策略阻止所述客户端访问与所述一个或多个受约束字段节点相关联的信息;和
从对所述查询的所述响应中排除与所述一个或多个受约束字段节点相关联的所述元数据的所述一个或多个值,其中与所述一个或多个受约束字段节点相关联的标识符或数据类型中的一项或多项被包括在对所述查询的所述响应中。
5.根据权利要求1所述的方法,还包括:
基于查询类型或所述查询中的一项或多项,确定超时值或节点访问限制值中的一项或多项;
响应于提供对所述查询的所述响应的时间超过所述超时值,终止对所述分级结构模型的所述遍历以及提供对所述查询的包括所述元数据的所述一个或多个收集值的部分响应;和
响应于在所述分级结构模型中访问的节点的数量超过所述节点访问限制值,终止对所述分级结构模型的所述遍历以及提供包括所述元数据的所述一个或多个收集值的部分响应。
6.根据权利要求1所述的方法,还包括:
基于与查询一起提供的信息,确定查询的类型;
基于查询的类型,确定用于终止所述遍历的一个或多个条件;
基于查询的类型,确定要包括在对所述查询的所述响应中的响应信息,其中所述响应信息能够包括以下一项或多项:所述元数据的所述一个或多个值、基于所述元数据的所述一个或多个值的一个或多个聚合值或由查询的类型限定的一个或多个其他动作的执行。
7.根据权利要求1所述的方法,还包括:
响应于所述锚字段与所述元数据的值相关联,将与所述锚字段相关联的所述元数据的所述值包括在对所述查询的所述响应中;和
响应于所述锚字段中不存在所述元数据的所述值,在对所述查询的所述响应中提供与所述分级结构模型中最接近所述锚字段的祖先字段节点相关联的所述元数据的所述值。
8.一种用于管理数据的系统:
网络计算机,所述网络计算机包括:
存储器,其至少存储指令;和
一个或多个处理器,其实施指令,所述指令执行包括如下的动作:
生成包括一个或多个边的分级结构模型,所述一个或多个边表示一个或多个字段节点、一个或多个计算节点或一个或多个流节点之间的依赖关系;
响应于用于确定与作为所述分级结构模型中的字段节点的锚字段相关联的元数据的一个或多个值的查询,执行包括如下的进一步动作:
基于所述查询和所述分级结构模型,从所述锚字段向上遍历所述分级结构模型,以及执行包括如下的进一步动作:
响应于访问所述分级结构模型中的一个或多个字段节点,收集与所访问字段节点相对应的所述元数据的所述一个或多个值,其中基于所述查询的类型终止所述遍历;
响应于访问计算节点,终止与所访问计算节点相关联的对所述分级结构模型的所述遍历;和
响应于访问所述分级结构模型中依赖于两个或更多个其他节点的流节点,终止与所访问流节点相关联的对所述分级结构模型的所述遍历;和
提供对所述查询的响应,所述响应包括能够继承到所述锚字段的所述元数据的所述一个或多个收集值;和
客户端计算机,所述客户端计算机包括:
存储器,其至少存储指令;和
一个或多个处理器,其实施指令,所述指令执行动作,所述动作包括提供所述查询。
9.根据权利要求8所述的系统,其中基于所述查询的类型终止所述遍历还包括:
响应于所述查询是第一查询类型,响应于访问所述锚字段的与所述元数据的值相关联的第一祖先字段节点,终止对所述分级结构模型的所述遍历,其中从所述第一祖先字段节点收集的所述元数据的所述值被提供作为用于所述锚字段的所述元数据。
10.根据权利要求8所述的系统,其中基于所述查询的类型终止所述遍历还包括:
响应于所述查询是第二查询类型,执行进一步动作:
访问所述分级结构模型中作为所述锚字段的祖先的每个字段节点,其中访问中间计算节点或中间多输入流节点终止对所述分级结构模型的所述遍历;和
收集用于作为所述锚字段的祖先的每个所访问字段节点的所述元数据的所述一个或多个值,其中基于所述分级结构模型中与所述锚字段和所述一个或多个所访问祖先字段节点相对应的所述一个或多个依赖关系,对所述元数据的所述一个或多个值进行排序。
11.根据权利要求8所述的系统,其中遍历所述分级结构模型还包括:
基于所述查询和提供所述查询的客户端,确定与所述分级结构模型相关联的一个或多个安全性策略;
将所述一个或多个所访问字段节点和所述客户端与所述一个或多个安全性策略进行比较;
基于所述比较,确定所述分级结构模型中的一个或多个受约束字段节点,其中所述一个或多个安全性策略阻止所述客户端访问与所述一个或多个受约束字段节点相关联的信息;和
从对所述查询的所述响应中排除与所述一个或多个受约束字段节点相关联的所述元数据的所述一个或多个值,其中与所述一个或多个受约束字段节点相关联的标识符或数据类型中的一项或多项被包括在对所述查询的所述响应中。
12.根据权利要求8所述的系统,其中所述一个或多个网络计算机处理器实施指令,所述指令执行包括如下的动作:
基于查询类型或所述查询中的一项或多项,确定超时值或节点访问限制值中的一项或多项;
响应于提供对所述查询的所述响应的时间超过所述超时值,终止对所述分级结构模型的所述遍历,以及提供对所述查询的包括所述元数据的所述一个或多个收集值的部分响应;和
响应于在所述分级结构模型中访问的节点数量超过所述节点访问限制值,终止对所述分级结构模型的所述遍历,以及提供包括所述元数据的所述一个或多个收集值的部分响应。
13.根据权利要求8所述的系统,其中所述一个或多个网络计算机处理器实施指令,所述指令执行包括如下的动作:
基于与查询一起提供的信息,确定查询的类型;
基于查询的类型,确定用于终止所述遍历的一个或多个条件;
基于查询的类型,确定要包括在对所述查询的所述响应中的响应信息,其中所述响应信息可以包括以下一项或多项:所述元数据的所述一个或多个值、基于所述元数据的所述一个或多个值的一个或多个聚合值或由查询的所述类型限定的一个或多个其他动作的执行。
14.根据权利要求8所述的系统,其中所述一个或多个网络计算机处理器实施指令,所述指令执行包括如下的动作:
响应于所述锚字段与所述元数据的值相关联,将与所述锚字段相关联的所述元数据的所述值包括在对所述查询的所述响应中;和
响应于所述锚字段中不存在所述元数据的所述值,在对所述查询的所述响应中提供与所述分级结构模型中最接近所述锚字段的祖先字段节点相关联的所述元数据的所述值。
15.一种包括用于管理数据的指令的处理器可读非暂态存储介质,其中由一个或多个处理器实施所述指令执行包括如下的动作:
生成包括一个或多个边的分级结构模型,所述一个或多个边表示一个或多个字段节点、一个或多个计算节点或一个或多个流节点之间的依赖关系;
响应于用于确定与作为所述分级结构模型中的字段节点的锚字段相关联的元数据的一个或多个值的查询,执行包括如下的进一步动作:基于所述查询和所述分级结构模型,从所述锚字段向上遍历所述分级结构模型,以及执行包括如下的进一步动作:
响应于访问所述分级结构模型中的一个或多个字段节点,收集与所访问字段节点相对应的所述元数据的所述一个或多个值,其中基于所述查询的类型终止所述遍历;
响应于访问计算节点,终止与所访问计算节点相关联的对所述分级结构模型的所述遍历;和
响应于访问所述分级结构模型中依赖于两个或更多个其他节点的流节点,终止与所访问流节点相关联的对所述分级结构模型的所述遍历;和
提供对所述查询的响应,所述响应包括能够继承到所述锚字段的所述元数据的所述一个或多个收集值。
16.根据权利要求15所述的介质,其中基于所述查询的类型终止所述遍历还包括:
响应于所述查询是第一查询类型,响应于访问所述锚字段的与所述元数据的值相关联的第一祖先字段节点,终止对所述分级结构模型的所述遍历,其中从所述第一祖先字段节点收集的所述元数据的所述值被提供作为用于所述锚字段的所述元数据。
17.根据权利要求15所述的介质,其中基于所述查询的类型终止所述遍历还包括:
响应于所述查询是第二查询类型,执行进一步动作:
访问所述分级结构模型中作为所述锚字段的祖先的每个字段节点,其中访问中间计算节点或中间多输入流节点终止对所述分级结构模型的所述遍历;和
收集用于作为所述锚字段的祖先的每个所访问字段节点的所述元数据的所述一个或多个值,其中基于所述分级结构模型中与所述锚字段和所述一个或多个所访问祖先字段节点相对应的所述一个或多个依赖关系,对所述元数据的所述一个或多个值进行排序。
18.根据权利要求15所述的介质,其中遍历所述分级结构模型还包括:
基于所述查询和提供所述查询的客户端,确定与所述分级结构模型相关联的一个或多个安全性策略;
将所述一个或多个所访问字段节点和所述客户端与所述一个或多个安全性策略进行比较;
基于所述比较,确定所述分级结构模型中的一个或多个受约束字段节点,其中所述一个或多个安全性策略阻止所述客户端访问与所述一个或多个受约束字段节点相关联的信息;和
从对所述查询的所述响应中排除与所述一个或多个受约束字段节点相关联的所述元数据的所述一个或多个值,其中与所述一个或多个受约束字段节点相关联的标识符或数据类型中的一项或多项被包括在对所述查询的所述响应中。
19.根据权利要求15所述的介质,还包括:
基于查询类型或所述查询中的一项或多项,确定超时值或节点访问限制值中的一项或多项;
响应于提供对所述查询的所述响应的时间超过所述超时值,终止对所述分级结构模型的所述遍历,以及提供对所述查询的包括所述元数据的所述一个或多个收集值的部分响应;和
响应于在所述分级结构模型中访问的节点数量超过所述节点访问限制值,终止对所述分级结构模型的所述遍历,以及提供包括所述元数据的所述一个或多个收集值的部分响应。
20.根据权利要求15所述的介质,还包括:
基于与查询一起提供的信息来确定查询的类型;
基于查询的类型,确定用于终止所述遍历的一个或多个条件;
基于查询的类型,确定要包括在对所述查询的所述响应中的响应信息,其中所述响应信息可以包括以下一项或多项:所述元数据的所述一个或多个值、基于所述元数据的所述一个或多个值的一个或多个聚合值或由查询的所述类型限定的一个或多个其他动作的执行。
CN202280051772.0A 2021-06-01 2022-05-26 数据资产的元数据继承 Pending CN117716352A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/195,568 2021-06-01
US17/588,161 2022-01-28
US17/588,161 US20220382761A1 (en) 2021-06-01 2022-01-28 Metadata inheritance for data assets
PCT/US2022/031195 WO2022256235A1 (en) 2021-06-01 2022-05-26 Metadata inheritance for data assets

Publications (1)

Publication Number Publication Date
CN117716352A true CN117716352A (zh) 2024-03-15

Family

ID=90150213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280051772.0A Pending CN117716352A (zh) 2021-06-01 2022-05-26 数据资产的元数据继承

Country Status (1)

Country Link
CN (1) CN117716352A (zh)

Similar Documents

Publication Publication Date Title
US11687571B2 (en) Interactive lineage analyzer for data assets
US11893039B2 (en) Interactive interface for data analysis and report generation
US20240111791A1 (en) Generating shortcut paths between related objects
US20240095285A1 (en) Dynamic graph generation for interactive data analysis
JP2023541584A (ja) 自動データモデル生成
CN116745786A (zh) 基于内容的相关视图推荐
US20210117487A1 (en) Conditional filters with applications to join processing
US20220382761A1 (en) Metadata inheritance for data assets
US11651003B2 (en) Interactive data visualization interface for data and graph models
US20210390483A1 (en) Interactive forecast modeling based on visualizations
CN117716352A (zh) 数据资产的元数据继承
EP4348435A1 (en) Metadata inheritance for data assets
US20230008999A1 (en) Data processing for visualizing hierarchical data
US11188558B2 (en) Parenting computed fields with data objects
US20230065227A1 (en) Providing data flow directions for data objects
US11537490B2 (en) Event sequence analysis
JP7313553B2 (ja) パーソナライズされた推奨に基づいたデータ可視化の提供
CN117940913A (zh) 用于可视化分级数据的数据处理

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination