CN116802624A - 在数据处理系统中使用数据实体和继承管理数据的技术 - Google Patents

在数据处理系统中使用数据实体和继承管理数据的技术 Download PDF

Info

Publication number
CN116802624A
CN116802624A CN202280012434.6A CN202280012434A CN116802624A CN 116802624 A CN116802624 A CN 116802624A CN 202280012434 A CN202280012434 A CN 202280012434A CN 116802624 A CN116802624 A CN 116802624A
Authority
CN
China
Prior art keywords
attribute
value
data
instance
inherited
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
CN202280012434.6A
Other languages
English (en)
Inventor
H·I·格里法森
罗伯特·帕克斯
杜桑·拉迪沃杰维克
A·H·韦斯
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
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 CN116802624A publication Critical patent/CN116802624A/zh
Pending legal-status Critical Current

Links

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • 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/22Indexing; Data structures therefor; Storage structures
    • 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/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

在本文描述了用于由数据处理系统存储数据实体的技术。该数据处理系统可以存储使用多个数据实体生成的多个数据实体实例。该多个数据实体实例可以包括使用第一数据实体生成的第一数据实体实例和使用第二数据实体生成的第二数据实体实例。该第一数据实体实例可以包括被配置为从该第二数据实体实例的第二属性继承其值的第一属性。该数据处理系统可以提供该第二数据实体实例的第二属性的所继承值作为该第一数据实体实例的第一属性的值。

Description

在数据处理系统中使用数据实体和继承管理数据的技术
相关申请的交叉引用
本申请依据35U.S.C.119(e)要求于2021年1月31日提交的名称为“Techniquesfor Managing Data in a Data Processing System Using Data Entities andInheritance[在数据处理系统中使用数据实体和继承管理数据的技术]”的美国临时专利申请号63/143,894的优先权权益,该美国临时专利申请特此通过援引以其全文并入本文。
技术领域
本披露内容的各方面涉及在数据处理系统中使用数据实体和数据实体实例管理数据的技术。特别地,本披露内容的各方面涉及使用继承高效地存储并访问数据实体实例。
背景技术
现代数据处理系统管理大量数据(例如,数百万、数十亿、或数万亿的数据记录)并且管理可以如何访问(例如,创建、更新、读取或删除)这些数据。由数据处理系统管理的数据可以是任何合适的类型。例如,由数据处理系统管理的数据可以包括事务、文档、表、文件、或任何其他合适类型的数据。作为另一示例,由数据处理系统管理的数据可以包括“元数据”,该元数据是包含关于其他数据(例如,存储在同一数据处理系统和/或另一数据处理系统中)的信息的数据。例如,数据处理系统可以存储关于存储在信用卡公司的数据库的表中的信用卡交易数据的元数据。这种元数据的非限制性示例包括指示以下各项的信息:存储器中的表的大小、创建表的时间、最后更新表的时间、表中的行和/或列的数量、存储表的位置、谁有权限对数据表进行读取、更新、删除或执行任何其他(多个)合适的动作。
发明内容
一些实施例提供了一种由数据处理系统执行以根据数据实体的属性之间的继承关系访问数据的方法,其中,这种继承可以被覆盖。该方法包括:使用该数据处理系统的至少一个计算机硬件处理器来执行以下操作:接收访问第一数据实体的特定实例的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性,该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值,并且该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值;当确定该第一属性被配置为覆盖从该第二属性继承的值时:访问用于覆盖从该第二属性继承的值的覆盖值;生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且输出该第一响应;以及当确定该第一属性未被配置为覆盖从该第二属性继承的值时:访问从该第二属性继承的值;生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且输出该第二响应。
一些实施例提供了一种存储指令的非暂态暂态计算机可读介质,这些指令在由数据处理系统执行时使该数据处理系统执行用于根据数据实体的属性之间的继承关系访问数据的方法,其中,这种继承能够被覆盖。该方法包括:由该数据处理系统接收访问第一数据实体的特定实例的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性,该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值,并且该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值;当确定该第一属性被配置为覆盖从该第二属性继承的值时:访问用于覆盖从该第二属性继承的值的覆盖值;生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且输出该第一响应;以及当确定该第一属性未被配置为覆盖从该第二属性继承的值时:访问从该第二属性继承的值;生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且输出该第二响应。
一些实施例提供了一种用于根据数据实体的属性之间的继承关系访问数据的数据处理系统,其中,这种继承可以被覆盖。该数据处理系统包括:至少一个计算机硬件处理器;以及至少一个存储指令的非暂态计算机可读介质,这些指令在由该至少一个计算机硬件处理器执行时使该至少一个计算机硬件处理器执行包括以下操作的方法:接收访问第一数据实体的特定实例的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性,该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值,并且该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值;当确定该第一属性被配置为覆盖从该第二属性继承的值时:访问用于覆盖从该第二属性继承的值的覆盖值;生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且输出该第一响应;以及当确定该第一属性未被配置为覆盖从该第二属性继承的值时:访问从该第二属性继承的值;生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且输出该第二响应。
在一些实施例中,该第一数据实体包括指示如下内容的信息:(i)该第一属性从该第二属性继承其值;以及(ii)该第一属性是否可配置为覆盖其所继承值。
在一些实施例中,该数据处理系统包括被配置为存储这些数据实体的实例的至少一个数据存储,这些数据实体的实例包括该特定实例和该另一实例;并且该请求包括可执行查询。在一些实施例中,该可执行查询包括可执行结构化查询语言(SQL)查询。
在一些实施例中,该特定实例包括多个属性值,其中,该多个属性值中的至少一些属性值中的每一个是从不同数据实体的相应实例继承的。
在一些实施例中,该另一实例的第二属性被配置为从不同于该第二数据实体和该第一数据实体的第三数据实体的实例的第三属性继承其值。
在一些实施例中,访问从该第二属性继承的值包括:确定该另一实例的第二属性是否被配置为覆盖从该第三属性继承的值;以及当确定该另一实例的第二属性被配置为覆盖从该第三属性继承的值时:访问用于将从该第三属性继承的值覆盖为从该第二属性继承的值的另一覆盖值;以及当确定该另一实例的第二属性未被配置为覆盖从该第三属性继承的值时:访问该第二属性从该第三属性继承的值。
在一些实施例中,该输出包括:生成图形用户界面(GUI),该图形用户界面显示:该第一属性值;以及指示是否继承该第一属性值的信息。
在一些实施例中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:将该第一多个属性分组为单个组;以及根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
在一些实施例中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。在一些实施例中,该分组标准是将从公共实例继承值的属性分组为该单个组。
在一些实施例中,该数据处理系统包括被配置为存储定义多个数据实体实例之间的关系的信息的至少一个数据存储。
在一些实施例中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。在一些实施例中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
在一些实施例中,该方法进一步包括:生成指示该第一属性值的图形用户界面(GUI)的第一部分;将由该GUI指示的该第一属性值设置为第二属性值;以及显示该GUI。
在一些实施例中,该方法进一步包括:确定该第一属性是否可配置为覆盖其所继承值;以及当确定该第一属性可配置为覆盖其所继承值时生成指示该第一属性可配置为覆盖其所继承值的该GUI的第二部分。在一些实施例中,生成该GUI的第二部分包括:使用户能够通过该GUI的第二部分指定用于覆盖从该第二属性继承的值的覆盖值。在一些实施例中,该方法进一步包括:当确定该第一属性不可配置为覆盖其所继承值时生成指示该第一属性不可配置为覆盖其所继承值的该GUI的第二部分。
在一些实施例中,该方法进一步包括:防止覆盖从该另一实例的第二属性继承的值。
在一些实施例中,该方法进一步包括:生成GUI,该GUI允许用户配置该第一数据实体使得该第一属性从该第二属性继承其值。
在一些实施例中,该方法进一步包括生成GUI,该GUI显示指示该第一属性值的来源的信息。在一些实施例中,该GUI被配置为响应于鼠标悬停事件而显示指示该第一属性值的来源的信息。在一些实施例中,指示该第一属性值的来源的信息指示了该来源是该另一实例的第二属性或该来源是覆盖值。
一些实施例提供了一种由数据处理系统执行以根据数据实体的属性之间的继承关系访问数据的方法。该方法包括:使用该数据处理系统的至少一个计算机硬件处理器来执行以下操作:接收访问第一数据实体的特定实例中的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性;并且该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值;确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;访问从该第二属性继承的值;生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;以及输出该生成的响应。
一些实施例提供了一种存储指令的非暂态计算机可读介质,这些指令在由数据处理系统执行时使该数据处理系统执行用于根据数据实体的属性之间的继承关系访问数据的方法。该方法包括:由该数据处理系统接收访问第一数据实体的特定实例中的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性;并且该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值;确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;访问从该第二属性继承的值;生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;以及输出该生成的响应。
一些实施例提供了一种用于根据数据实体的属性之间的继承关系访问数据的数据处理系统。该数据处理系统包括:至少一个计算机硬件处理器;以及至少一个存储指令的非暂态计算机可读介质,这些指令在由该至少一个计算机硬件处理器执行时使该至少一个计算机硬件处理器执行包括以下操作的方法:接收访问第一数据实体的特定实例中的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性;并且该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值;确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;访问从该第二属性继承的值;生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;以及输出该生成的响应。
在一些实施例中,确定该特定实例的第一属性被配置为从该第二属性继承包括使用该第一数据实体来确定该第一属性被配置为从该第二属性继承其值。
在一些实施例中,该方法进一步包括:由该数据处理系统接收访问该特定实例中的第三属性值的请求;确定该特定实例的第三属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第四属性继承其值;访问从该第四属性继承的值;生成对该请求的响应,该响应包括指示从该第四属性继承的值作为该第三属性值的信息;以及输出该生成的响应。
在一些实施例中,访问从该第二属性继承的值包括:确定该第二数据实体实例的第二属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第三属性继承其值;以及访问该第二属性从该第三属性继承的值。
在一些实施例中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:将该第一多个属性分组为单个组;以及根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
在一些实施例中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。在一些实施例中,该分组标准是将从公共实例继承值的属性分组为该单个组。
在一些实施例中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
在一些实施例中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
一些实施例提供了一种用于从数据处理系统获得关于数据实体实例的信息的方法。该数据处理系统被配置为存储多个数据实体实例,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该方法包括:使用至少一个计算机硬件处理器执行以下操作:获得对获得关于该第一数据实体实例的信息的请求,该信息包括该第一数据实体实例的第一属性的第一值,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二属性继承其值;生成对该请求的响应,该响应包括该第一属性的第一值,该生成包括:确定该第一数据实体实例的第一属性是否被配置为覆盖该第二数据实体实例的第二属性的第二值;当确定该第一属性被配置为覆盖该第二属性的第二值时,访问覆盖值并且生成包括该覆盖值作为该第一属性的第一值的响应,以及当确定该第一属性未被配置为覆盖该第二属性的第二值时,访问该第二属性的第二值并且生成包括该第二值作为该第一属性的第一值的响应;以及输出该生成的响应。
一些实施例提供了一种被配置为存储多个数据实体实例的数据处理系统,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该数据处理系统包括:至少一个处理器;以及至少一个存储指令的非暂态计算机可读存储介质,这些指令在由该至少一个处理器执行时使该至少一个处理器执行包括以下操作的方法:获得对获得关于该第一数据实体实例的信息的请求,该信息包括该第一数据实体实例的第一属性的第一值,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二属性继承其值;生成对该请求的响应,该响应包括该第一属性的第一值,该生成包括:确定该第一数据实体实例的第一属性是否被配置为覆盖该第二数据实体实例的第二属性的第二值;当确定该第一属性被配置为覆盖该第二属性的第二值时,访问覆盖值并且生成包括该覆盖值作为该第一属性的第一值的响应,以及当确定该第一属性未被配置为覆盖该第二属性的第二值时,访问该第二属性的第二值并且生成包括该第二值作为该第一属性的第一值的响应;以及输出该生成的响应。
一些实施例提供了一种存储指令的非暂态计算机可读存储介质。当由被配置为存储多个数据实体实例的数据处理系统的至少一个处理器执行时,该多个数据实体实例(包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例)使该至少一个处理器执行包括以下操作的方法:获得对获得关于该第一数据实体实例的信息的请求,该信息包括该第一数据实体实例的第一属性的第一值,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二属性继承其值;生成对该请求的响应,该响应包括该第一属性的第一值,该生成包括:确定该第一数据实体实例的第一属性是否被配置为覆盖该第二数据实体实例的第二属性的第二值;当确定该第一属性被配置为覆盖该第二属性的第二值时,访问覆盖值并且生成包括该覆盖值作为该第一属性的第一值的响应,以及当确定该第一属性未被配置为覆盖该第二属性的第二值时,访问该第二属性的第二值并且生成包括该第二值作为该第一属性的第一值的响应;以及输出该生成的响应。
一些实施例提供了一种用于从数据处理系统获得关于数据实体实例的信息的方法。该数据处理系统被配置为存储多个数据实体实例,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该方法包括:使用至少一个计算机硬件处理器执行以下操作:获得对该第一数据实体实例的第一属性的第一值的请求,该第一数据实体的第一属性被配置为从该第二数据实体实例的第二属性继承其值;生成对该请求的响应,该响应包括该第一属性的第一值,该生成包括:访问该第二属性的第二值;以及生成包括该第二属性的第二值作为该第一属性的第一值的响应;以及输出该生成的响应。
一些实施例提供了一种被配置为存储多个数据实体实例的数据处理系统,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该数据处理系统包括:至少一个处理器;以及至少一个存储指令的非暂态计算机可读存储介质,这些指令在由该至少一个处理器执行时使该至少一个处理器执行以下操作:获得对该第一数据实体实例的第一属性的第一值的请求,该第一数据实体的第一属性被配置为从该第二数据实体实例的第二属性继承其值;生成对该请求的响应,该响应包括该第一属性的第一值,该生成包括:访问该第二属性的第二值;以及生成包括该第二属性的第二值作为该第一属性的第一值的响应;以及输出该生成的响应。
一些实施例提供了一种存储指令的非暂态计算机可读存储介质。当由被配置为存储多个数据实体实例的数据处理系统的至少一个处理器执行时,该多个数据实体实例(包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例)使该至少一个处理器执行以下操作:获得对获得关于该第一数据实体实例的信息的请求,该信息包括该第一数据实体实例的第一属性的第一值,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二属性继承其值;生成对该请求的响应,该响应包括该第一属性的第一值,该生成包括:确定该第一数据实体实例的第一属性是否被配置为覆盖该第二数据实体实例的第二属性的第二值;当确定该第一属性被配置为覆盖该第二属性的第二值时,访问覆盖值并且生成包括该覆盖值作为该第一属性的第一值的响应,以及当确定该第一属性未被配置为覆盖该第二属性的第二值时,访问该第二属性的第二值并且生成包括该第二值作为该第一属性的第一值的响应;以及输出该生成的响应。
一些实施例提供了一种用于从数据处理系统获得关于数据实体实例的信息的方法。该数据处理系统被配置为存储多个数据实体实例,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该方法包括:使用至少一个硬件处理器执行以下操作:生成包含关于该第一数据实体实例的信息的图形用户界面(GUI),该生成包括:生成指示该第一数据实体实例的第一属性的第一值的第一GUI部分,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二值继承其值,该生成包括:访问该第二属性的第二值,并且将该第一属性的第一值设置为该第二值;生成第二GUI部分以指示该第一属性是否可配置为覆盖其所继承值;以及显示该GUI。
一些实施例提供了一种数据处理系统。该数据处理系统被配置为存储多个数据实体实例,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该数据处理系统包括:至少一个处理器;以及至少一个存储指令的非暂态计算机可读存储介质,这些指令在由该至少一个处理器执行时使该至少一个处理器执行以下操作:生成包含关于该第一数据实体实例的信息的图形用户界面(GUI),该生成包括:生成指示该第一数据实体实例的第一属性的第一值的第一GUI部分,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二值继承其值,该生成包括:访问该第二属性的第二值,并且将该第一属性的第一值设置为该第二值;生成第二GUI部分以指示该第一属性是否可配置为覆盖其所继承值;以及显示该GUI。
一些实施例提供了一种存储指令的非暂态计算机可读存储介质。当这些指令由被配置为存储多个数据实体实例的数据处理系统的至少一个处理器执行时,该多个数据实体实例(包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例)使该至少一个处理器执行以下操作:生成包含关于该第一数据实体实例的信息的图形用户界面(GUI),该生成包括:生成指示该第一数据实体实例的第一属性的第一值的第一GUI部分,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二值继承其值,该生成包括:访问该第二属性的第二值,并且将该第一属性的第一值设置为该第二值;生成第二GUI部分以指示该第一属性是否可配置为覆盖其所继承值;以及显示该GUI。
前述内容为本发明的非限制性发明内容,其由所附权利要求限定。
附图说明
将参照以下附图描述各个方面和实施例。应当理解,附图不一定按比例绘制。出现在多个附图中的项在其出现的所有附图中由相同或相似的附图标记指示。
图1A是根据本文描述的技术的一些实施例的展示了可以使用数据处理系统105的示例企业系统环境的简图。
图1B是根据本文描述的技术的一些实施例的展示了数据处理系统105的示例实施方式的简图。
图1C是根据本文描述的技术的一些实施例的展示了示例实例“信用评分”158的图形用户界面(GUI)。
图1D是根据本文描述的技术的一些实施例的展示了可以由数据处理系统105使用的数据实体170的简图。
图1E是根据本文描述的技术的一些实施例的展示了存储在数据处理系统105的数据持久层150中的示例数据的简图。
图1F是根据本文描述的技术的一些实施例的展示了数据实体实例158和161A从数据实体实例159A继承属性值的简图。
图1G是根据本文描述的技术的一些实施例的展示了覆盖数据实体实例161B从数据实体实例159A继承的属性值的简图。
图1H是根据本文描述的技术的一些实施例的展示了数据处理系统105的各方面的框图。
图2A是根据本文描述的技术的一些实施例的展示了具有被配置为从数据实体220继承值的属性的数据实体210的简图。
图2B是根据本文描述的技术的一些实施例的展示了覆盖由图2A的数据实体210的属性继承的值的简图。
图2C是根据本文描述的技术的一些实施例的展示了具有被配置为从另一数据实体实例“信用风险”270继承值的属性的数据实体实例“信用评分”158的示例的简图。
图2D是根据本文描述的技术的一些实施例的展示了覆盖由数据实体实例“信用评分”158的属性继承的值的简图。
图3A是根据本文描述的技术的一些实施例的用于生成对获得关于数据实体实例的信息的请求的响应的说明性过程300的流程图。
图3B是根据本文描述的技术的一些实施例的用于生成显示关于数据实体实例的信息的图形用户界面(GUI)的说明性过程350的流程图。
图3C是根据本文描述的技术的一些实施例的用于生成对针对从另一数据实体实例继承的数据实体实例的属性值的请求的响应的说明性过程370的流程图。
图4A是根据本文描述的技术的一些实施例的显示关于数据实体“业务项”404的实例“信用评分”402的信息的GUI的展示。
图4B是根据本文描述的技术的一些实施例的显示关于数据实体实例“信用风险”412的信息的GUI的展示,图4A的数据实体实例“信用评分”402的属性从该数据实体实例“信用风险”继承值。
图4C是根据本文描述的技术的一些实施例的用于配置数据实体“业务项”404的属性的GUI的展示,“信用评分”402是该数据实体的实例。
图4D是根据本文描述的技术的一些实施例的具有部分422的图4A的GUI 400的展示,该部分指示关于数据实体实例“信用评分”402的继承其值的属性的信息。
图4E是根据本文描述的技术的一些实施例的指示图4A的数据实体实例“信用评分”402的属性是否可配置为覆盖它们继承的值的GUI部分430的展示。
图4F是根据本文描述的技术的一些实施例的指示图4A的数据实体实例“信用评分”402的属性是否可配置为覆盖它们继承的值的GUI部分440的另一展示。
图4G是根据本文描述的技术的一些实施例的指示关于来源的信息的GUI部分450的展示,图4A的数据实体实例“信用评分”402的属性被配置为从该来源继承其值。
图5A是根据本文描述的技术的一些实施例的展示了一组三个数据实体实例500、158、520之间的属性值继承路径的简图。
图5B是根据本文描述的技术的一些实施例的展示了覆盖由图5A的数据实体实例500的属性继承的值的简图。
图5C是根据本文描述的技术的一些实施例的展示了覆盖由图5A的数据实体实例158的属性继承的值的简图。
图6A是根据本文描述的技术的一些实施例的显示关于“业务数据元素”数据实体的实例“客户信用评分”602的信息的GUI 600的展示。
图6B是根据本文描述的技术的一些实施例的显示关于图6A的“业务数据元素”数据实体的属性配置的信息的GUI 620的展示。
图6C是根据本文描述的技术的一些实施例的显示关于图6A的数据实体实例“客户信用评分”602的第一属性的信息的GUI 630的展示,该第一属性从数据实体实例“信用评分”继承其值。
图6D是根据本文描述的技术的一些实施例的显示关于图6A的数据实体实例“客户信用评分”602的第二属性的信息的GUI 640的展示,该第二属性从数据实体实例“信用风险”继承其值。
图7A是根据本文描述的技术的一些实施例的展示了数据实体的不同属性可以从不同数据实体的相应属性继承它们的值的简图。
图7B是根据本文描述的技术的一些实施例的展示了用于访问共享公共继承路径的所继承属性的值的示例查询的简图。
图8是可以用于实施本文所描述的技术的一些实施例的说明性计算系统环境的框图。
具体实施方式
发明人已开发了允许高效地存储并访问(例如,查询、创建、更新和删除)由数据处理系统使用数据实体和其实例管理的数据的新技术。如本文所描述的,在一些实施例中,数据处理系统可以使用数据实体来管理数据,这些数据实体可以用于使用面向对象范式来组织数据。数据实体可以指定属性,这些属性在被实例化时可以取不同的值,比如数字、字符串或对其他数据实体的引用。一个或多个数据实体实例可以从数据实体实例化,并且用于存储数据。例如,银行的数据处理系统可以包括用于存储关于客户信用评分的信息的信用评分数据实体。在这个示例中,该信用评分数据实体可以指定比如信用评分值、信用评分机构、信用评分定义和/或其他属性等属性。该数据处理系统可以将该信用评分数据实体的多个(例如,数百个、数千个或数百万个)实例进行实例化以将它们的客户的信用评分信息存储为由该信用评分数据实体指定的属性的值。因此,与面向对象编程涉及类和其实例的方式类似,该数据处理系统可以配置有数据实体的定义并且使用这些数据实体的实例来管理数据。发明人开发的一些技术允许在数据实体实例中高效地存储属性值并且高效地检索属性值(例如,以提供关于数据实体实例所请求的信息)。
数据实体实例可能不需要将所有其属性值存储在一起。在一些实施例中,可以使用一个或多个数据结构来存储数据实体实例的属性值。例如,可以使用一个或多个表、记录、列表或任何其他合适的数据结构来存储属性值,因为本文描述的技术的各方面不需要使用存储器中的相同基础数据结构来存储特定数据实体实例的值。
如本文所描述的,数据处理系统可以用于管理许多不同类型的数据。例如,在一些应用中,数据处理系统可以用于元数据管理。在这样的应用中,从相应数据实体实例化的数据实体实例可以存储关于其他数据的信息(“元数据”)。例如,这些数据实体实例可以存储关于(例如,比如信用卡公司、电话公司、银行等大型跨国公司的)企业系统的数据的元数据。在这样的应用中,该企业系统的数据可以包括部署在多个数据库、数据仓库、数据湖等上的数百万或数十亿数据集(例如,表、文档、记录等)。因此,该数据处理系统可以管理包含关于数据集的元数据的大量(例如,数百万或数十亿)数据实体实例。尽管本文描述的示例可以是指元数据管理,但应理解,发明人开发并且在本文描述的技术不限于应用于任何特定类型的数据并且可以在任何数据处理系统内使用数据实体和从数据实体实例化的数据实体实例用于管理数据而不管所管理的数据是元数据还是任何其他类型的数据(例如,事务、文件、数据记录、表等)。
发明人已认识到,考虑到在一些应用中要由数据处理系统管理(例如,创建、存储、更新等)的大量(例如,数百万)数据实体实例,高效地存储并访问数据是重要的。将数据写入到每一个数据实体实例(无论是手动地还是以编程方式进行)是低效的。常规数据处理系统可以通过要求将相同信息重复写入到每个数据实体实例中来填充每个数据实体实例。此外,为了从数据实体实例检索相同的共享信息,常规数据处理系统可能需要单独地访问每个数据实体实例。因此,常规数据处理系统可能低效地将数据存储在数据实体实例中,并且低效地检索关于数据实体实例的信息。例如,常规数据处理系统可以低效地执行用于将数据存储在数据实体实例中和/或用于从数据实体实例读取数据的查询。
发明人已进一步认识到,由数据处理系统管理的许多数据实体实例可以存储类似的信息。例如,在数据处理系统管理信用评分数据实体(存储关于来自不同相应信用机构的信用评分的元数据)的实例的情况下,数据实体实例可以各自存储管理存储有信用评分的数据集的用户的身份。除存储在另一数据实体的实例中的信用评分信息之外,数据集还可以包括其他信息。因此,信用评分数据实体实例和另一数据实体的实例都可以存储用户身份属性的相同值。在另一示例中,在数据处理系统管理存储关于来自特定地理区域的客户信息的元数据的数据实体实例的情况下,数据实体实例可以各自存储标识地理区域(例如,“USA”或“欧洲”)的字符串。存储与相同地理区域相关联的信息的另一数据实体的实例也可以存储地理区域属性的相同字符串。
为了解决高效地存储并检索关于从一个或多个数据实体实例化的数据实体实例的信息的上述挑战,发明人已开发了用于允许数据实体实例的属性取或继承其他数据实体实例的属性的值的技术。为此,该数据处理系统可以将数据实体的一个或多个属性配置为从另一数据实体的实例继承该数据实体的实例中的值。因此,该数据处理系统可以:(1)使用存储在第一数据实体实例中的值来设置由该数据处理系统管理的一个或多个其他数据实体实例的属性的值;以及(2)从该第一数据实体实例检索针对关于(多个)其他数据实体实例的信息的请求的值。以这种方式,继承允许该数据处理系统高效地存储并检索大量(例如,数千个、数百万或数十亿)数据实体实例的属性值。例如,继承允许该数据处理系统更高效地执行用于存储和/或检索属性值的查询。此外,继承允许该数据处理系统通过将由多个数据实体实例共享的信息存储在单个数据实体实例中并且在其他数据实体实例中引用该信息来更高效地使用存储器。以这种方式,本文描述的技术通过以下方式来改进常规数据处理系统:(1)减少将信息写入到数据实体实例中并且检索关于数据实体实例的信息所需的计算资源(例如,处理器资源、网络带宽等);以及(2)减少用于将信息存储在数据实体实例中的内存量。
发明人开发的在数据处理系统中使用的继承技术允许数据处理系统迅速地访问关于由数据处理系统管理的数据实体实例的信息。因此,一些实施例提供了用于获得关于数据处理系统的数据实体实例的信息的技术。这些数据实体实例可以包括具有包括第一属性(例如,信用评分数据的责任方)的第一多个属性的第一数据实体实例(例如,“信用评分”)以及具有包括第二属性(例如,存储在客户数据中的数据的责任方)的第二多个属性的第二数据实体实例(例如,“客户信息”)。该数据处理系统可以被配置为根据数据实体的属性之间的继承关系访问数据。该数据处理系统可以被配置为接收访问第一数据实体的特定实例中的第一属性值的请求,其中:该第一数据实体包括包含该第一属性的多个属性;并且该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值。该数据处理系统可以被配置为:(1)确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;(2)访问从该第二属性继承的值;(3)生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且(4)输出该生成的响应。
在一些实施例中,该数据处理系统可以被配置为:(1)接收访问该特定实例中的第三属性值的请求;(2)确定该特定实例的第三属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第四属性继承其值;(3)访问从该第四属性继承的值;(4)生成对该请求的响应,该响应包括指示从该第四属性继承的值作为该第三属性值的信息;并且(5)输出该生成的响应。在一些实施例中,访问从该第二属性继承的值包括:(1)确定该第二数据实体实例的第二属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第三属性继承其值;以及(2)访问该第二属性从该第三属性继承的值。
在一些实施例中,确定该特定实例的第一属性被配置为从该第二属性继承包括使用该第一数据实体来确定该第一属性被配置为从该第二属性继承其值。
在一些实施例中,该数据处理系统可以被配置为:(1)获得对该第一数据实体实例的第一属性的第一值的请求,该第一属性被配置为从该第二数据实体的第二属性继承其值;(2)生成对该请求的响应,该响应包括该第一属性的第一值;并且(3)输出该响应。该数据处理系统可以被配置为通过以下方式生成对该请求的响应:(1)访问该第二属性的第二值;以及(2)生成包括该第二属性的第二值作为该第一属性的第一值的响应。例如,数据处理系统可以访问存储在“客户信息”数据实体实例中的责任方的名称并且生成响应以将名称包括为“信用评分”数据实体实例的责任方的值。
在一些实施例中,该数据处理系统可以被配置为将来自第一数据实体的第一数据实体实例(例如,“信用评分”)和来自第二数据实体的第二数据实体实例(例如,“客户信息”)实例化。该第一数据实体可以指定在该第一数据实体的实例中取值的第一属性,并且该第二数据实体可以指定在该第二数据实体的实例中取值的第二属性。该数据处理系统可以被配置为将该第一数据实体配置成指定该第一数据实体的第一属性从该第二数据实体的第二属性的继承(例如,通过将引用该第二数据实体的第二属性的配置信息存储在该第一数据实体中)。基于该第一数据实体中的配置信息,该数据处理系统可以将该第一数据实体实例(例如,“信用评分”)配置成从该第二数据实体实例(例如,“客户信息”)的第二属性继承该第一属性的值。在一些实施例中,该数据处理系统可以被配置为将对该第二数据实体实例的第二属性的引用存储在该第一数据实体实例中。因此,该第一数据实体实例可以不将该第一属性的值存储在该第一数据实体实例中,而是存储对该第二数据实体实例的第二属性的引用。
在一些实施例中,该数据处理系统可以包括被配置为存储该多个数据实体实例和相关联值(例如,属性值)的至少一个数据存储。该请求可以是可执行查询,该可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。在一些实施例中,该可执行查询可以是结构化查询语言(SQL)查询或任何其他类型的可执行查询。在一些实施例中,该请求可以是程序化请求,通过由该数据处理系统执行的计算机程序发出该程序化请求,以访问该第一属性的第一值。
在一些实施例中,该多个数据实体实例可以包括具有包括第三属性的第三多个属性的第三数据实体实例。该第二数据实体实例的第二属性可以被配置为从该第三数据实体实例的第三属性继承其值。因此,该第一数据实体实例可以被配置为通过该第二数据实体实例的第二属性从该第三数据实体实例的第三属性继承该第一属性的第一值。
在一些实施例中,该数据处理系统可以被配置为生成图形用户界面(GUI)显示器,该显示器显示该第一数据实体实例的第一属性的第一值、以及指示是否继承该第一值的信息。例如,该信息可以包括该第二数据实体实例的指示,从该第二数据实体实例继承该第一属性的第一值。指示是否继承该第一值的信息可以向该用户通知该第一属性的第一值的来源。该信息可以允许该用户确定该第一数据实体实例与该第二数据实体实例之间的关系。
发明人已进一步认识到,尽管数据处理系统中的继承提供了更高效的数据存储以及对关于数据实体实例的信息的访问,但有时,数据实体实例的属性可能需要取与它被配置为从另一数据实体实例继承的值不同的值。例如,在美国存储信用评分的验证规则的数据实体实例可能需要存储与从在欧洲存储信用评分的验证规则的数据实体实例继承的规则不同的规则。因此,继承架构可能限制设置数据实体实例中的属性值的灵活性。
为了解决关于属性值的属性继承的上述挑战,发明人已开发了允许数据实体实例的属性被配置为覆盖其所继承值的技术。因此,该数据处理系统可以提供继承的效率提高以及在需要时覆盖所继承值的灵活性。继续上述示例,属性被配置为从另一数据实体实例的属性继承信用评分验证规则的数据实体实例可以可配置为覆盖所继承的验证规则(例如,针对不同地理区域)。
因此,一些实施例提供了用于根据数据实体的属性之间的继承关系访问数据的技术,其中,这种继承可以被覆盖。该数据处理系统可以被配置为接收访问第一数据实体的特定实例的第一属性值的请求。该第一数据实体包括包含该第一属性的多个属性。该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值。该特定实例的第一属性可以被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值。该数据处理系统可以被配置为确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值。当确定该第一属性被配置为覆盖从该第二属性继承的值时,该数据处理系统可以:(1)访问用于覆盖从该第二属性继承的值的覆盖值;(2)生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且(3)输出该第一响应。当确定该第一属性未被配置为覆盖从该第二属性继承的值时,该数据处理系统可以:(1)访问从该第二属性继承的值;(2)生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且(3)输出该第二响应。
在一些实施例中,该第一数据实体包括指示如下内容的信息:(i)该第一属性从该第二属性继承其值;以及(ii)该第一属性是否可配置为覆盖其所继承值。在一些实施例中,数据处理系统包括被配置为存储这些数据实体的实例的至少一个数据存储,这些数据实体的实例包括该特定实例和该另一实例。在一些实施例中,该请求包括可执行查询(例如,结构化查询语言(SQL)查询)。在一些实施例中,该特定实例可以包括多个属性值,其中,该多个属性值中的至少一些属性值中的每一个是从不同数据实体的相应实例继承的。
在一些实施例中,该另一实例的第二属性可以被配置为从不同于该第二数据实体和该第一数据实体的第三数据实体的实例的第三属性继承其值。在一些实施例中,访问从该第二属性继承的值包括:确定该另一实例的第二属性是否被配置为覆盖从该第三属性继承的值。当确定该另一实例的第二属性被配置为覆盖从该第三属性继承的值时,该数据处理系统可以访问另一覆盖值以将从该第三属性继承的值覆盖为从该第二属性继承的值。当确定该另一实例的第二属性未被配置为覆盖从该第三属性继承的值时,该数据处理系统可以访问该第二属性从该第三属性继承的值。
在一些实施例中,该输出包括:生成图形用户界面(GUI),该图形用户界面显示:(1)该第一属性值;以及(2)指示是否继承该第一属性值的信息。
在一些实施例中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求。该数据处理系统可以被配置为:(1)将该第一多个属性分组为单个组;以及(2)根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。在一些实施例中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。在一些实施例中,该分组标准是将从公共实例继承值的属性分组为该单个组。
在一些实施例中,该数据处理系统包括被配置为存储定义多个数据实体实例之间的关系的信息的至少一个数据存储。在一些实施例中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。在一些实施例中,该数据处理系统可以被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
在一些实施例中,该数据处理系统可以被配置为:(1)生成图形用户界面(GUI)的第一部分,该第一部分指示该第一属性值;(2)将由该GUI指示的该第一属性值设置为第二属性值;以及(3)显示该GUI。在一些实施例中,该数据处理系统可以被配置为:(1)确定该第一属性是否可配置为覆盖其所继承值;并且(2)当确定该第一属性可配置为覆盖其所继承值时生成该GUI的第二部分,该第二部分指示该第一属性可配置为覆盖其所继承值。在一些实施例中,生成该GUI的第二部分包括:使用户能够通过该GUI的第二部分指定用于覆盖从该第二属性继承的值的覆盖值。在一些实施例中,该数据处理系统可以被配置为当确定该第一属性不可配置为覆盖其所继承值时生成该GUI的第二部分,该第二部分指示该第一属性不可配置为覆盖其所继承值。
在一些实施例中,该数据处理系统可以被配置为防止覆盖从该另一实例的第二属性继承的值。在一些实施例中,该数据处理系统可以被配置为生成GUI,该GUI允许用户配置该第一数据实体使得该第一属性从该第二属性继承其值。在一些实施例中,该数据处理系统可以被配置为生成GUI,该GUI显示指示该第一属性值的来源的信息。在一些实施例中,该GUI可以被配置为响应于鼠标悬停事件而显示指示该第一属性值的来源的信息。在一些实施例中,指示该第一属性值的来源的信息指示了该来源是该另一实例的第二属性或该来源是覆盖值。
一些实施例提供了用于从数据处理系统获得关于数据实体实例的信息的技术。该数据处理系统可以被配置为存储包括以下各项的多个数据实体实例:(1)第一数据实体实例,具有包括第一属性的第一多个属性;以及(2)第二数据实体实例,具有包括第二属性的第二多个属性。该数据处理系统可以被配置为获得对获得关于该第一数据实体实例的信息的请求,该信息包括该第一数据实体实例的第一属性的第一值,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二属性继承其值。该第一属性可以可配置为覆盖其所继承值(这样的属性可以被称为“可覆盖的”)。当然,即使数据实体实例属性的值是可覆盖的,该值将被覆盖的情况也是没有必要的。
在一些实施例中,存在可以覆盖由数据实体实例的属性继承的值的多种不同方式。例如,可以通过如本文参考图4E至图4G所描述的GUI覆盖该值。在另一示例中,可以通过应用程序接口(API)覆盖由属性继承的值。在另一示例中,由属性继承的值可以被配置文件覆盖。无论如何提出请求,数据处理可以被配置为通过访问覆盖值来对针对关于属性的信息的请求(例如,包括在对关于数据实体实例的信息的请求中)做出响应。
在一些实施例中,该数据处理系统可以被配置为通过确定该第一数据实体实例的第一属性是否被配置为覆盖该第二数据实体实例的第二属性的第二值来生成对该请求的响应,该响应包括该第一属性的第一值。当确定该第一属性被配置为覆盖该第二属性的第二值时,该数据处理系统可以访问该覆盖值并且生成包括该覆盖值作为该第一属性的第一值的响应。当确定该第一属性未被配置为覆盖该第二属性的第二值时,该数据处理系统可以访问该第二属性的第二值并且生成包括该第二值作为该第一属性的第一值的响应。
在一些实施例中,该数据处理系统包括被配置为存储该多个数据实体实例和相关联值的至少一个数据存储,并且该请求包括可执行查询(例如,可执行SQL查询),该可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。在一些实施例中,该请求是响应于程式化请求而生成的,通过由该数据处理系统执行的计算机程序发出该程式化请求,以访问该第一属性的第一值。在一些实施例中,该请求是响应于程式化请求而生成的,通过在该数据处理系统外部执行的计算机程序发出该程式化请求,以访问该第一属性的第一值。
在一些实施例中,该多个数据实体实例包括具有包括第三属性的第三多个属性的第三数据实体实例,并且该第二数据实体实例的第二属性被配置为从该第三数据实体实例的第三属性继承其值。在一些实施例中,访问该第二属性的第二值包括:(1)确定该第二数据实体实例的第二属性是否被配置为覆盖该第三数据实体实例的第三属性的第三值;(2)当确定该第二数据实体实例的第二属性被配置为覆盖该第三属性的第三值时,访问该第二属性的第二覆盖值;以及(3)当确定该第二数据实体实例的第二属性未被配置为覆盖该第三属性的第三值时,访问该第三属性的第三值。在一些实施例中,访问该第二属性的第二值包括访问该第三属性的第三值。
在一些实施例中,该第一数据实体实例与第一数据实体相关联并且该第二数据实体实例与第二数据实体相关联,其中,该第一数据实体包括指示如下内容的信息:(i)该第一属性从该第二属性继承其值;以及(ii)该第一属性是否被配置为覆盖其所继承值,并且使用该第一数据实体来执行确定该第一数据实体实例的第一属性是否被配置为覆盖该第二数据实体实例的第二属性的第二值。在一些实施例中,确定该第一数据实体实例的第一属性被配置为使用该第一数据实体从该第二数据实体实例的第二属性的值继承其值。
在一些实施例中,该输出包括:生成图形用户界面(GUI),该图形用户界面显示:(1)该第一数据实体实例的第一属性的第一值,以及(2)指示是否继承该第一值的信息。在一些实施例中,访问该第二属性的第二值包括递归地访问一个或多个数据实体实例的一个或多个属性的值以确定该第二属性的第二值。在一些实施例中,多个属性中的每个属性(包括该第一数据实体实例的第一多个属性中的第一属性)被配置为从另一数据实体实例的一个或多个属性继承其值,并且其中,该信息包括多个属性的相应值,该方法包括:(1)由该数据处理系统将该第一多个属性中的多个属性分组为单个组;以及(2)根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
在一些实施例中,该数据处理系统可以被配置为:(1)使用分组标准将该第一多个属性中的多个属性分组为一个或多个组,其中,该信息包括该多个属性的相应值;以及(2)为这些组中的每一个生成可执行查询以获得多个可执行查询,该多个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。在一些实施例中,该分组标准是将共享公共继承路径的该多个属性中的属性分组为单个组,使得该多个可执行查询之一用于访问所分组的属性的所继承值。
在一些实施例中,数据处理系统包括被配置为存储多个数据实体实例和定义不同数据实体实例之间的关系的信息的至少一个数据存储,其中,该至少一个数据存储被配置为使用多个数据实体实例来存储描述存储在分布式计算系统网络的分布式数据库中的数据的信息。在一些实施例中,该至少一个数据存储被配置为针对由分布式计算系统的分布式数据库存储的多个数据集中的每一个、针对被配置为由分布式计算系统执行的多个软件应用程序中的每一个或针对分布式计算系统的多个系统部分中的每一个存储该多个数据实体实例中的数据实体实例。
一些实施例提供了用于从数据处理系统获得关于数据实体实例的信息的技术。该数据处理系统可以被配置为存储多个数据实体实例,该多个数据实体实例包括具有包括第一属性的第一多个属性的第一数据实体实例以及具有包括第二属性的第二多个属性的第二数据实体实例。该数据处理系统可以被配置为生成包含关于该第一数据实体实例的信息的图形用户界面(GUI)。该数据处理系统可以被配置为通过生成指示该第一数据实体实例的第一属性的第一值的第一GUI部分来生成该GUI,该第一数据实体实例的第一属性被配置为从该第二数据实体实例的第二值继承其值。该数据处理系统可以被配置为通过以下方式生成该第一GUI部分:(1)访问该第二属性的第二值,并且(2)将该第一属性的第一值设置为该第二值。该数据处理系统可以被配置为生成第二GUI部分以指示该第一属性是否可配置为覆盖其所继承值。该数据处理系统可以被配置为显示该GUI。
在一些实施例中,生成该第二GUI部分包括:确定该第一属性是否可配置为覆盖其所继承值。在一些实施例中,生成该第二GUI部分包括确定该第一属性是否可配置为覆盖其所继承值。在一些实施例中,该第二GUI部分被配置为显示指示该第一属性的第一值的来源的信息。在一些实施例中,该第二GUI部分被配置为响应于鼠标悬停事件而显示指示该第一属性的第一值的来源的信息。在一些实施例中,指示该第一属性的第一值的来源的信息指示了该来源是该第二属性或该来源是覆盖值。
应理解,如本文描述的继承概念不同于在面向对象编程的情况下使用的术语“继承”。在面向对象编程中,继承是指从基类继承性质(例如,变量、函数定义、函数实施)的子类。这允许经由公共类和接口对软件进行代码重用和扩展。
相比之下,如本文描述的继承是指数据实体的属性可以被配置为从另一数据实体的属性取或“继承”其值的情形。配置将指示属性将从中继承数据的数据实体——它不会像面向对象设置中的基类那样固定。例如,数据实体“D1”可以具有两个属性“A1”和“A2”,并且属性“A2”的值可以识别要从中继承属性“A1”的值的另一数据实体“D2”。将属性“A2”的值改变为不同数据实体“D3”将改变属性“A1”从中继承其值的数据实体。
由于配置处于属性级别,因此同一基础数据实体的不同属性可以被配置为从多个其他数据实体的不同属性取或“继承”它们的值。这为可以如何设置属性值提供了很大的灵活性,并且提供了在面向对象编程中不可用的间接级别。实际上,单个数据实体可以被配置为不仅从多个其他数据实体继承属性值,而且可以在单个数据实体的实例级别上改变该配置,如上文所描述的。
如从以下描述中可以理解,可以在属性级别配置数据实体的继承。为此,在一些实施例中,数据处理系统可以针对数据实体的至少一些(例如,所有)属性中的每一个存储“继承配置”。“继承配置”可以指示属性是否从另一数据实体属性继承其值,并且如果是,则指示从哪个数据实体属性继承其值。附加地,继承配置可以指示属性是否是可覆盖的。在属性是可覆盖的情况下,继承配置可以进一步包括指示被准许覆盖值的(多个)用户的权限信息。
相比之下,常规的面向对象系统不具有本文描述的属性级别继承配置。如上文所描述的,常规的面向对象系统不支持继承在数据实体实例的属性级别的值。相反,面向对象继承是在类级别,使得所有对象实例从单个父对象继承所有它们的值。
可以以多种方式中的任何方式来实施本文描述的技术,因为这些技术不限于任何特定实施方式。本文仅出于说明性目的提供了实施方式细节的示例。此外,由于本文所描述的技术的方面不限于使用任何特定技术或技术组合,因此本文所披露的技术可以单独使用或以任何合适的组合使用。
如上文所描述的,发明人已认识到,数据处理系统可以被配置为管理数百万或数十亿个数据实体实例。例如,在一些实施例中,本文描述的技术可以用于企业设置中的元数据管理,由此,数据实体实例存储关于跨全球分布式企业系统(包括许多数据库、数据仓库、数据湖等)存储的各个数据集(例如,表、事务、文档、数据记录等)的信息。如上文所描述的,在该上下文中,数据实体实例可以存储关于对应数据集的信息,比如何时创建数据集、在何处存储该数据集、其大小、被允许编辑数据集的(多个)用户的身份、识别哪些应用程序使用数据集的信息、识别数据的敏感度级别等的信息。由于大型组织(例如,比如银行或信用卡公司等金融机构、比如电话或电力公司等公共事业等)通常将管理数百万或数十亿这样的数据集,因此可以存在存储关于将由数据处理系统管理的这样的数据集的信息的数百万或数十亿的数据实体实例。
图1A是根据本文描述的技术的一些实施例的展示了可以使用数据处理系统105的示例环境的简图。图1A的示例是数据处理系统105用于元数据管理的实施方式。应理解,本文描述的技术不限于应用于任何特定类型的数据并且可以在使用数据实体和数据实体实例的任何数据处理系统内用于管理数据而不管所管理的数据是元数据还是任何其他类型的数据(例如,事务、文件、数据记录、表等)。
图1A展示了包括跨多个地理位置(例如,不同城市、国家、大洲等)分布的系统160、162、164的企业系统。系统160、162、164中的每一个可以存储大量数据(例如,在一个或多个数据库系统、数据仓库、数据湖等中)。例如,系统160、162、164可以是全球银行的企业系统的部件,其中,系统160位于美国,系统162位于巴西,并且系统164位于欧洲。
如图1A的示例实施例中所示出的,系统160、162、164中的每一个包括相应组计算设备。系统160包括服务器160A和数据库160B。系统162包括服务器162A和数据库162B。系统164包括服务器164A和数据库164B。在企业系统的操作期间,系统160、162、164中的每一个可以生成和/或存储大量数据(例如,数太字节的数据)。例如,企业系统可以用于信用卡公司,其中,系统160、162、164中的每一个生成和/或存储交易数据、信用评分和/或任何其他合适的数据。在另一示例中,企业系统可以用于银行,其中,系统160、162、164中的每一个生成和/或存储关于银行记录、贷款、账户持有人的数据和/或任何其他合适的数据。在另一示例中,企业系统可以用于电话公司,其中,系统160、162、164中的每一个生成和/或存储关于电话呼叫、文本消息、数据使用的数据和/或任何其他合适的数据。
在一些实施例中,数据库系统160B、162B、164B可以被配置为存储(例如,企业系统的)数据。数据库系统160B、162B、164B中的每一个可以包括数据库、数据仓库、数据湖、和/或任何其他数据库系统。数据库系统160B、162B、164B可以是(多个)任何合适的类型,相同类型或不同类型。例如,这些系统中的每一个可以包括一个或多个关系数据库系统(例如,ORACLE、SQL SERVER等)。作为另一示例,在一些实施例中,这些系统中的每一个可以包括一个或多个其他类型的数据库系统(例如,非关系(例如,NoSQL)数据库系统、多文件系统、或任何其他合适类型的数据库系统)。
在图1A的示例实施例中,数据处理系统105存储描述存储在系统160、162、164中的数据的信息107。在这个意义上,信息107可以被视为元数据。元数据可以包括关于存储在企业系统160、162、164中的数据的多种类型的信息中的任一种。例如,元数据可以包括关于处理数据的系统(例如,服务器160A、162A、164A)的信息、在企业系统上执行的用于处理数据的软件应用程序、和/或在存储数据时应用程序的规则。在另一示例中,元数据可以包括关于整个企业软件系统中的数据的信息,比如如何生成数据、数据的大小、数据的描述、准许哪个(哪些)用户针对数据进行读取、更新、创建、删除或执行任何其他动作、和/或关于数据的任何其他合适的信息。
在一些实施例中,数据处理系统可以被配置为使用数据实体实例和数据实体定义管理元数据。例如,数据处理系统105可以针对由企业系统存储的多个数据集(例如,表)中的每一个存储数据实体实例。每个这样的数据实体实例可以存储关于数据集的信息(例如,何时创建或更新数据集、在何处存储数据集、数据集的大小、被允许针对数据集进行读取、编辑、删除或执行任何其他合适的动作的(多个)用户的身份、识别哪些软件应用程序使用数据集的信息、识别数据集中的数据的敏感度级别的信息、和/或任何其他合适的元数据)。作为另一示例,数据处理系统105可以针对企业系统中的表的相应列存储数据实体实例。每个这样的数据实体实例可以存储关于列的信息(例如,列中的值的含义、谁被授权对列中的值进行读取、写入、更新和/或删除、列中条目的容许值的范围、和/或任何其他合适的元数据)。作为又一示例,数据处理系统105可以针对被配置为由企业系统的某一系统或设备部分执行的多个软件应用程序中的每一个存储数据实体实例。这样的数据实体实例可以存储关于软件应用程序的信息(例如,软件应用程序处理哪些数据集、应用程序将其输出置于何处、对应用程序的功能的描述、应用程序的版本、应用程序对数据和/或其他应用程序的依赖性、可以在何处找到应用程序的可执行文件、和/或任何其他合适的元数据)。作为又一示例,数据处理系统105可以针对企业系统的多个系统部分中的每一个存储数据实体实例。
如从前文中可以容易理解的,在这样的元数据管理情景中,数据处理系统105可以管理数百万或数十亿这样的数据实体实例,这就是为什么尽可能高效地执行针对数据实体实例进行查询、创建、更新、删除或执行任何其他合适的动作是重要的。
在一些实施例中,数据处理系统105可以被配置为从各种系统160、162、164获得关于数据的信息107。例如,数据处理系统105可以查询数据库160B、162B、164B以获取各种系统160、162、164的元数据。在一些实施例中,数据处理系统105可以被配置为使用从系统160、162、164获得(例如,通过查询数据库系统160B、162B、164B以获取元数据)的信息生成元数据。在一些实施例中,数据处理系统105可以被配置为存储关于存储在系统160、162、164中的数据的元数据。例如,系统160、162、164可以各自是数据湖、数据仓库、数据库系统或其他类型的系统。元数据可以存储在数据实体的实例中,如本文描述的。在一些实施例中,数据实体实例的一个或多个属性可以被配置为从其他数据实体实例的属性继承值。在一些实施例中,数据处理系统105可以被配置为允许数据处理系统105的用户覆盖由(多个)属性继承的(多个)值。
如图1A中所示出的,一个或多个用户102可以通过与数据处理系统105进行交互来访问关于企业系统中的数据的信息107。例如,(多个)用户105可以使用一个或多个计算设备通过由数据处理系统105提供的一个或多个接口(例如,(多个)用户接口)与数据处理系统105进行交互。在本文参考图1H描述(多个)用户102可以通过其与数据处理系统105交互的示例接口。
图1B是根据本文描述的技术的一些实施例的展示了图1A的数据处理系统105的示例实施方式的简图。如图1B的示例实施例中所示出的,数据处理系统105通信地耦合到:(1)图1A的相应系统160、162、164的数据库160B、162B、164B;以及(2)(例如,(多个)用户102所使用的)设备。数据处理系统105包括接口110、数据实体访问系统120和数据持久层150。
在一些实施例中,接口110可以被配置为包括(多个)用户102可以通过其访问来自数据处理系统105的信息(例如,使用(多个)计算设备)的用户接口。接口110可以被配置为生成图形用户界面(GUI),用户可以通过这些图形用户界面访问来自关于存储在系统160、162、164中的数据的信息107的数据。GUI可以允许用户进行以下操作:(1)请求由数据处理系统存储的关于数据实体实例的信息;以及(2)查看由数据处理系统存储的关于数据实体实例的信息。在一些实施例中,GUI可以允许用户访问关于由系统160、162、164存储的数据所存储的信息107(例如,元数据)。例如,GUI可以允许(多个)用户102跟踪在企业系统中生成的数据(例如,质量度量和数据的其他特性)。在另一示例中,GUI可以允许(多个)用户102可视化描述过程流的部件的信息,包括:输入数据、对输入数据执行的过程的描述、以及输出数据。在另一示例中,接口110可以包括脚本接口,脚本可以通过这些脚本接口来接收以由数据处理系统105执行。在另一示例中,接口110可以包括(多个)基于图的计算机程序116、(多个)第三方应用程序和/或其他接口。在本文参考图1H描述接口110的各种示例。
在元数据管理的上下文中,在一些实施例中,接口110可以被配置为生成图形用户界面(GUI),用户可以通过这些图形用户界面访问来自关于存储在系统160、162、164中的数据的信息107的数据。GUI可以允许用户进行以下操作:(1)请求由数据处理系统存储的关于数据实体实例的信息;以及(2)查看由数据处理系统存储的关于数据实体实例的信息。在一些实施例中,GUI可以允许用户访问关于由系统160、162、164存储的数据所存储的信息107(例如,元数据)。例如,GUI可以允许(多个)用户102跟踪在企业软件系统中生成的数据(例如,质量度量和数据的其他特性)。在另一示例中,GUI可以允许(多个)用户102可视化沿袭信息。沿袭信息可以包括关于不同数据实体实例之间的关系的信息。在名称为“SYSTEMSAND METHODS FOR DETERMINING RELATIONSHIPS AMONG DATA ELEMENTS[用于确定数据元素之间的关系的系统和方法]”的美国专利号10,489,384中描述了沿袭信息的各方面,该美国专利通过援引以其全文并入本文。
在一些实施例中,数据实体访问系统120可以被配置为管理对数据实体的访问。数据实体访问系统120可以被配置为允许数据实体被配置。数据实体访问系统120可以被配置为允许新数据实体的定义并且配置数据实体的属性的性质。例如,数据实体访问系统120可以允许将数据实体的(多个)属性配置为从另一数据实体的属性继承其值。作为另一示例,数据实体访问系统120可以允许将数据实体的多个属性配置为从多个其他数据实体的多个属性继承。作为另一示例,数据实体访问系统120可以允许将数据实体的(多个)属性配置为可覆盖的。
在一些实施例中,数据实体访问系统120可以被配置为管理来自由数据处理系统105存储的数据实体实例的信息的组织、存储和访问。例如,数据处理系统105可以执行查询以获得由数据处理系统105存储的关于数据实体实例的信息。在一些实施例中,数据实体访问系统120可以被配置为生成对针对由数据处理系统105存储的关于数据实体实例的信息的请求的响应。例如,数据处理系统105可以生成针对由数据处理系统105存储的关于元数据的信息的响应。
在一些实施例中,数据持久层150可以被配置为存储关于数据实体和其实例的信息。该信息可以包括定义数据实体的信息、数据实体的实例、以及数据实体和其实例之间的关系。在一些实施例中,数据持久层150可以为系统(例如,企业系统)的所有元数据提供中央存储库。例如,数据持久层150可以存储关于存储在数据库160B、162B和164B中的数据的信息107。例如,数据库160B、162B、164B中的每一个可以是数据湖、数据仓库、数据库系统或其他类型的数据存储。
图1B中示出的表166展示了存储在数据库164C中的示例数据。表166存储关于(例如,银行的)客户的信息集。表166的列包括“标识符”、“名称”、“信用评分”和“评分日期”。数据持久层150存储“数据集”数据实体实例156,该数据实体实例存储关于表166的数据的元数据。数据实体实例156存储包括以下各项的属性的值:数据实体实例156的“类型”、“业务管理者”、“条目号”、“私有”、“存储大小”和“数据ID”。在一些实施例中,除了或代替图1B中示出的属性的值,“数据集”数据实体实例156还可以存储其他属性的值。
在数据实体实例包含关于数据的元数据(例如,关于表的信息)的应用中,在一些实施例中,数据实体实例可以包括可以用于识别和/或访问数据的信息。如图1B的示例中所示出的,“数据ID”属性识别“数据集”数据实体实例156中的信息所描述的数据(例如,表)。例如,“数据ID”的值可以是表166的标识符。在一些实施例中,“数据ID”的值可以允许用户导航到表166。例如,“数据ID”的值可以是导航到数据库164B中的表166的超链接。在一些实施例中,数据实体实例本身可以不存储关于数据的信息,尽管数据处理系统可以存储使数据实体实例与可以用于识别和/或访问数据本身的信息相关联的信息。例如,数据处理系统可以在一个或多个表(例如,在数据持久层150内)中或以任何其他合适的方式存储这样的信息。
如图1B的示例实施例中所示出的,数据持久层150进一步存储“信用评分”数据实体实例158。“信用评分”数据实体实例158可以是图1D的“业务项”数据实体180的实例。“信用评分”数据实体实例158包括属性“类型”、“描述”、“业务所有者”、“有效下限”、“有效上限”、“私有”和“数据ID”的值。如由“数据ID”属性与表166的“信用评分”列之间的箭头所指示的,“信用评分”数据实体实例158描述了表166的“信用评分”列中的数据。如图1B的示例中所示出的,“数据ID”属性指示“数据集”数据实体实例158中的信息所描述的数据。例如,“数据ID”的值可以是表166中的“信用评分”列的标识符。在一些实施例中,“数据ID”的值可以允许用户导航到表166的“信用评分”列。例如,“数据ID”的值可以是向用户提供来自“信用评分”列的信息的超链接。
图1C是根据本文描述的技术的一些实施例的展示了图1B的数据实体实例158的图形用户界面(GUI)。在这个示例中,数据实体实例被称为“信用评分”。数据实体实例158具有许多静态属性(例如,“名称”、“定义”和“类型”)和动态属性。在这个示例中,动态属性被划分成用于存储与银行应用程序中的数据管控有关的各种类型的信息的属性组。例如,数据实体实例158具有与管控相关的动态属性,这些动态属性包括:“业务所有者”、“管控组”、“风险数据域”、“业务范围”、“监管员”、“主题专家”等。作为另一示例,数据实体实例158具有与隐私和安全相关的属性,这些属性包括:“敏感度”、“PII分类”和“安全范围”。图1C的屏幕截图展示了显示在GUI中的数据实体实例158的这些属性中的一些属性的示例值。
如可以从前述示例理解的,属性可以被视为是不同类型的,这取决于它们所取的值的类型。通过举例而非限制,下文描述了不同类型的属性的示例。例如,属性可以取标量值,比如数字、字符串、日期、时间或日期-时间。在本文描述的一些示例中,这个类型的属性可以被称为“扩展属性”。在一些实施例中,属性可以是多值的并且取一组值,这些值中的每一个可以是数字、字符串、日期、时间或日期-时间。
作为另一示例,属性可以是离散的,由此,该数据取从离散值集中选择的值。这样的集合可以被称为“枚举”。例如,属性可以是类型“分类”,由此,该属性的值是从一组标签中选择的标签。这允许用期望的标签来标记数据。作为一个特定示例,某些数据可以被分配为是或包含个人身份信息(PII),例如,具有比如“是”或“否”等值。在图1C的示例中,PII分类动态属性可以是类型“分类”,属性“管控组”也是一样的。作为另一示例,属性可以取表示相应用户或用户组的值。在图1C的示例中,“业务所有者”属性可以是类型“责任方”,并且其值可以表示用户或用户组。在图1C的示例中,“业务所有者”取值“Bob Owen”。在一些实施例中,离散值集中的一个或多个(例如,所有)值可以是对另一数据实体实例的引用。所有这些示例属性是离散的。
作为离散属性的另一示例,属性可以取有序值集中的值。例如,可以根据层次结构对有序集中的值进行排序。作为一个特定示例,属性可以存储与地理区域有关的值,该值可以选自分层值列表(例如,“美国”、“特拉华州”或“威明顿市”)。取有序值集中的值的属性可以是类型“层次结构”。在图1C的示例中,“风险数据域”、“业务范围”和“区域”属性是类型“层次结构”的动态属性。当访问类型“层次结构”的属性的值时,在一些实施例中,变量所取的特定值可以与其他相关值一起被返回。例如,如图1C中所示出的,“峰值数据域”的值是“信用风险”并且该值与相关值“公司风险”一起显示在图1C中,该相关值是与“风险数据域”的值层次结构中的“信用风险”相关的值,因为“信用风险”是“公司风险”的类型。在一些实施例中,有序值集中的一个或多个(例如,所有)值可以是对另一数据实体实例的引用。
作为另一示例,属性可以是引用属性并且其值可以是对另一数据实体的引用(例如,对另一数据实体的实例的引用)。在一些实施例中,属性可以是多值的并且取一组值,这些值中的每一个可以是对数据实体的引用。
作为另一示例,在一些实施例中,属性可以是类型“文件附件”并且其值可以识别所关注的文件(例如,文档、报告、配置文件、电子表格等)。在图1C的示例中,“设计文档”属性是“附件”类型。
在一些实施例中,数据处理系统105可以被配置为将信息107存储在数据实体的实例中。如本文所描述的,在一些实施例中,数据实体属性可以是静态的或动态的,这意味着使用如下文描述的不同机制存储它们的值。例如,图1D示出了具有多个静态属性172(包括静态属性173a和173b)和多个动态属性174(包括动态属性175a和175b)的数据实体170的说明性简图。如图1D中所示出的,数据实体170包括属性S1 173a的配置信息173c、属性S2173b的配置信息173d、属性D1 175a的配置信息175c和属性D2 175b的配置信息175d。相应属性的配置信息可以指示该属性是否被配置为继承其值、属性从中继承其值的数据实体(如果属性被配置为继承其值)、属性继承的值是否可覆盖、在数据实体170的实例中是否需要该属性、属性显示在GUI中的序列、属性是否可以具有多个值、属性的描述和其他信息。数据实体170的实例的属性可以根据数据实体170中的属性的配置信息来配置。
在一些实施例中,数据实体可以指定数据实体的属性中的一个或多个的附加信息。例如,数据实体可以指定属性类型。作为另一示例,数据实体可以指定数据处理系统存储属性的值的方式(例如,属性值存储在行还是列中)。作为又一示例,数据实体可以指定数据实体的属性是否继承其值(例如,从另一数据实体的属性)。在一些实施方式中,数据实体可以指定特定属性的特定值,在该情况下,数据实体的所有实例将具有被设置为特定值的特定属性。否则,数据实体实例属性的值可能因数据实体的实例而异。
作为另一示例,图1D示出了被称为“业务项”的数据实体180的说明性简图,该数据实体具有多个静态属性182(包括静态属性“类型”182a和“描述”182b)和动态属性184(包括动态属性“业务所有者”184a、“有效上限”184b、“有效下限”184c和“数据ID”184d)。数据实体可以具有任何合适数量的静态属性(包括0)和任何合适数量的动态属性(包括0),因为本文描述的技术的各方面在这方面不受限制。在一些实施例中,数据处理系统105可以被配置为以不同方式存储静态和动态属性。因此,可以使用一个或多个表的行和/或列将单个数据实体实例存储在数据库系统(例如,关系数据库系统)中。(多个)表可以存储在一个或多个计算机可读存储介质上。另一方面,在一些实施例中,可以使用名称-值对来存储动态属性值。特别地,每个数据库记录可以存储特定实体实例的属性值。
如图1D中所示出的,“信用评分”数据实体实例158是数据实体“业务项”180的实例。数据实体实例158具有数据实体“业务项”180的相应属性的值。例如,数据实体实例158具有“类型”属性182a的值“业务项”、“业务所有者”属性184a的值“Bob Owen”、“有效上限”属性184b的值“800”和“有效下限”属性184c的值“300”。如由虚线所指示的,数据实体实例158可以具有图1D中未示出的其他属性的值。
图1E是根据本文描述的技术的一些实施例的展示了存储在数据处理系统105的数据持久层150中的示例数据107的简图。如图1E的示例实施例中所示出的,在一些实施例中,数据持久层150存储大量(例如,数千个、数百万个、数十亿个)数据实体实例,这些数据实体示例存储关于图1A的企业系统的相应部件(例如,数据集、软件应用程序、系统或企业系统的任何其他部件)的信息。从图1E的每个数据实体实例的箭头指示数据实体实例中的信息所描述的部件。部件可以是数据集、应用程序(例如,一个或多个计算机程序)、系统(例如,数据库系统)、和/或企业系统的其他部件。例如,数据实体实例可以存储关于企业系统中的数据(例如,表)的信息。在另一示例中,数据实体实例可以存储关于企业系统的应用程序的信息。在又一示例中,数据实体实例可以存储关于企业系统的用户的信息。如图1E中所示出的,数据持久层150存储本文参考图1B所描述的数据实体实例156、158。
在一些实施例中,数据持久层150可以被配置为支持数十个、数百个、数千个或数万个数据实体。并且在企业系统环境中,数据持久层150可以被配置为存储数千个、数百万个或数十亿个数据实体实例。例如,数据持久层150可以存储至少10,000个数据实体实例、至少50,000个数据实体实例、至少100,000个数据实体实例、至少500,000个数据实体实例、至少1,000,000个数据实体实例、至少5百万个数据实体实例、至少1千万个数据实体实例、至少5千万个数据实体实例、至少1亿个数据实体实例、至少5亿个数据实体实例、至少10亿数据实体实例、至少50亿个数据实体实例、在10万与500万之间的数据实体实例、在100万与5亿之间的数据、在100万与50亿之间的数据实体实例或这些范围内的任何其他范围。
如图1E的示例实施例中所示出的,由数据持久层150存储的数据可以用于在设置在(多个)设备上的图形用户界面(GUI)中向(多个)用户102提供可视化109。在一些实施例中,数据处理系统105的接口110可以被配置为提供由数据处理系统105存储的关于数据实体实例的信息。例如,用户可能希望访问数据实体实例的一个或多个属性的(多个)值。在另一示例中,用户可能希望访问多个数据实体实例的多个属性的值。在另一示例中,用户可能希望查看沿袭信息,比如图1E中示出的沿袭信息109。沿袭信息可以包括关于不同数据实体实例之间的关系的信息。在名称为“SYSTEMS AND METHODS FOR DETERMININGRELATIONSHIPS AMONG DATA ELEMENTS[用于确定数据元素之间的关系的系统和方法]”的美国专利号10,489,384中描述了沿袭信息的各方面,该美国专利通过援引以其全文并入本文。
图1F是根据本文描述的技术的一些实施例的展示了数据实体实例158、数据实体实例161A和数据实体实例161B从数据实体实例159A继承属性值的简图。图1F示出了“信用风险”数据实体实例159A、存储关于美国(USA)客户的EXPERIAN信用评分的信息的“信用评分”数据实体实例158(信用评分本身存储在表163A中)、存储关于巴西客户的EQUIFAX信用评分的信息的“信用评分”数据实体实例161A(信用评分本身存储在表163B中)和存储关于欧洲客户的TransUnion信用评分的信息的“信用评分”数据实体实例161B(信用评分本身存储在表163C中)。“信用评分”数据实体实例158、161A和161B中的每一个包括属性“业务所有者”、“地区”和“机构”。在图1F的示例中,在“信用评分”数据实体实例158、161A和161B中的每一个中,“业务所有者”属性被配置为从“业务所有者”数据实体实例159A的责任方属性继承其值。数据实体实例158、161A、161B中的每一个继承“Bob Owen”作为其相应“责任方”属性的值。如由点所指示的,可以存在存储关于相应信用评分的信息(例如,存储在企业系统中)的更多“信用评分”数据实体实例。
图1G是根据本文描述的技术的一些实施例的展示了覆盖“信用评分”数据实体实例161B从“信用风险”数据实体实例159A继承的属性值的简图。“信用评分”数据实体实例161B包括属性“业务所有者”、“地区”和“机构”。尽管“信用评分”数据实体实例161B的“业务所有者”属性最初可能被配置为从“信用风险”数据实体实例159A继承其值,但在图1G的示例中该值已被覆盖。如图1G中所示出的,替代从“信用风险”数据实体实例159A继承值“BobOwen”,“业务所有者”属性具有“Bernadette Ouvier”的覆盖值。
图1H是根据本文描述的技术的一些实施例的展示了示例数据处理系统105的各方面的框图100。数据处理系统105包括接口110、数据实体访问系统120和数据持久层150。
在一些实施例中,接口110可以允许(多个)用户102与数据处理系统105交互。接口110包括一个或多个图形用户界面((多个)GUI)112、脚本接口114、基于图的计算机程序116和第三方应用程序116。如由点所指示的,替代或除了图1H中示出的接口,接口110还可以包括一个或多个其他类型的接口。
在一些实施例中,(多个)GUI 112可以包括允许配置数据实体的图形用户界面(GUI)。GUI可以被配置为允许定义数据实体。GUI可以被配置为允许(多个)用户102配置数据实体的属性。在一些实施例中,GUI可以被配置为允许(多个)用户102将数据实体的属性配置为从另一数据实体的属性继承其值。例如,GUI可以允许用户指示属性要从中继承其值的另一数据实体(例如,通过指定其他数据实体的标识符)。在一些实施例中,GUI可以被配置为允许(多个)用户102使属性可配置为覆盖属性继承的值。例如,GUI可以允许用户启用或禁用属性的覆盖。通过启用属性的覆盖,对于数据实体的实例,用户可以:(1)命令所继承值的覆盖;并且(2)输入覆盖值作为属性的值。
在一些实施例中,(多个)GUI 112可以包括显示关于数据实体实例的信息的GUI。GUI可以被配置为显示数据实体实例的属性值。在本文参考图1H描述显示关于数据实体实例的信息的示例GUI。在一些实施例中,GUI可以被配置为指示从中继承属性值的来源。GUI可以被配置为指示数据实体实例的属性从中继承其值的数据实体和/或数据实体实例。例如,GUI可以生成显示从中继承属性值的数据实体和/或数据实体实例的名称的GUI的一部分(例如,当用户将光标悬停在属性名称上时)。在本文参考图4D至图4G和图6C至图6D描述示例GUI部分。
在一些实施例中,(多个)GUI 112可以包括被配置为指示数据实体实例的属性是否可配置为覆盖其所继承值的GUI。GUI可以包括指示属性是否可配置为覆盖其所继承值的部分。例如,GUI可以被配置为显示指示属性是否可配置为覆盖其所继承值的图形元素(例如,图标)。在一些实施例中,第一图形元素(例如,铅笔图标)可以指示属性可配置为覆盖其所继承值并且第二图形元素(例如,锁图标)可以指示属性不可配置为覆盖其所继承值。在本文参考图4D至图4G和图6C至图6D描述示例GUI部分。
在一些实施例中,(多个)GUI 112可以包括被配置为允许(多个)用户102设置数据实体实例的属性值的GUI。GUI可以被配置为允许用户输入属性值。例如,GUI可以包括允许用户输入字符串作为属性值的一个或多个文本输入栏。在另一示例中,GUI可以提供用户可以从中选择一个或多个属性值的选项列表。
在一些实施例中,(多个)GUI 112可以包括允许用户提交对关于一个或多个数据实体实例的信息的请求的GUI。在一些实施例中,GUI可以被配置为包括允许用户生成并提交对关于(多个)数据实体实例的信息的查询的查询生成器。在一些实施例中,GUI可以被配置为提供搜索栏,用户可以在该搜索栏中输入搜索词以检索由数据处理系统105存储的关于一个或多个数据实体实例的信息。在一些实施例中,GUI可以提供过滤界面,用户可以在该过滤界面中提供指定数据处理系统105可以过滤数据实体实例所基于的标准的输入。
在一些实施例中,脚本接口114可以允许(多个)用户102使用脚本访问关于数据实体实例的信息。在一些实施例中,脚本接口可以是使用脚本语言编写的程序。例如,脚本接口可以是使用JAVASCRIPT编写的网站的JAVASCRIPT程序。脚本接口可以允许用户请求关于数据实体实例的信息。例如,脚本接口可以允许用户提交对关于一个或多个数据实体实例的信息的查询。
在一些实施例中,一个或多个用户102可以使用基于图的计算机程序116以使用数据处理系统105执行数据处理。在一些实施例中,基于图的计算机程序可以是数据流图。数据流图可以包括被称为“节点”或“顶点”的部件,表示要对数据执行的数据处理操作以及表示数据流的部件之间的链接。在名称为“EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS[执行表示为图形的计算]”的美国专利号5,966,072中描述了用于执行由数据流图编码的计算的技术,该美国专利通过援引以其全文并入本文。在名称为“Managing Parametersfor Graph-Based Applications[管理基于图的应用程序的参数]”的美国专利公开号:2007/0011668中描述了用于开发计算机程序作为数据流图的环境,该美国专利公开通过援引以其全文并入本文。
在一些实施例中,一个或多个第三方应用程序116可以提供(多个)用户102可以通过其与数据处理系统105交互的接口。在一些实施例中,第三方应用程序可以是(多个)用户102可以通过其与数据处理系统105交互的网络应用程序。例如,第三方应用程序可以是(多个)用户102可以通过其请求关于数据实体和/或其实例的信息的网站。在另一示例中,第三方应用程序可以是(多个)用户102可以通过其请求和观看关于数据实体的信息的移动应用程序。
在一些实施例中,数据实体访问系统120可以被配置为管理由系统105存储的数据实体和数据实体实例。数据实体访问系统120包括继承模块122、覆盖模块124、图形用户界面模块126、沿袭模块128、权限模块130、报告生成模块132和数据访问模块140。在一些实施例中,模块122、124、126、128、130、132中的每一个可以包括在由数据处理系统执行时使该数据处理系统执行模块的所描述功能的一组处理器可执行指令。在一些实施例中,替代或除了图1H中示出的模块,数据实体访问系统120可以包括一个或多个模块。
在一些实施例中,继承模块122可以被配置为管理属性在数据实体和其实例之间的继承。继承模块122可以被配置为将数据实体的一个或多个属性配置为从另一数据实体继承值。例如,继承模块122可以被配置为存储将数据实体的(多个)属性映射到另一数据实体的要继承的一个或多个属性的信息。映射可以指示通过其继承(多个)属性的一个或多个继承路径。继承路径可以是一个、两个或更多个步骤的序列,每个步骤与数据实体实例相关联,其中,每个步骤包括与该步骤相关联的数据实体实例的属性被配置为从与后续步骤相关联的另一数据实体实例的属性继承其值的指示(例如,引用或指针)。在本文参考图2A至图2D和图5A至图5C描述示例继承路径。
在一些实施例中,继承模块122可以被配置为存储数据实体的(多个)所继承属性的来源的指示。该来源可以是要从中继承(多个)属性的数据实体的指示(例如,名称或其他标识符)。在一些实施例中,继承模块122可以被配置为允许用户指定要从中继承属性的数据实体(例如,在用于定义数据实体的GUI中)。在本文参考图2A描述继承模块122如何管理数据实体之间的继承的示例。
在一些实施例中,继承模块122可以被配置为将数据实体的属性配置为继承值。例如,继承模块122可以改变属性的配置信息中的值以将该属性配置为继承其值。在一些实施例中,继承模块122可以被配置为确定属性是否从另一属性继承(例如,使用属性的配置信息)。继承模块122可以被配置为识别属性从哪里继承其值。继承模块122可以被配置为使用指示(多个)继承路径的信息来确定(多个)所继承的属性值。例如,继承模块122可以:(1)确定第一数据实体实例的第一属性被配置为从第二数据实体实例的第二属性继承其值;并且(2)通过使用存储在第一数据实体实例中的引用确定第二属性的值来确定第一属性的值。在本文参考图2C和图5A描述了继承模块122如何管理数据实体实例之间的继承的示例。由图4A至图4G和图6A至图6D的图形用户界面(GUI)展示继承模块122如何管理数据实体实例之间的继承的示例。
在一些实施例中,继承模块122可以被配置为存储指示是否继承数据实体实例的属性值的信息。例如,继承模块122可以存储识别数据实体实例的一个或多个属性被配置为从中继承(多个)值的数据实体和/或数据实体实例的信息。在一些实施例中,继承模块200可以被配置为将信息存储在数据实体实例内。例如,继承模块200可以将一个或多个属性存储在数据实体实例中,该一个或多个属性指示数据实体实例从中继承属性值的一个或多个其他数据实体实例。在一些实施例中,继承模块200可以被配置为存储与数据实体实例分开的信息。例如,继承模块200可以将信息存储在与数据实体实例相关联的单独数据对象(例如,文件)中。
在一些实施例中,继承模块122可以被配置为确定数据实体实例的一个或多个所继承属性值的值。例如,继承模块122可以响应于对关于第一数据实体实例的信息的请求来确定值,该请求即请求(多个)所继承属性值的值。继承模块122可以被配置为通过访问来自第二数据实体实例的第二属性的值来确定第一数据实例的第一属性的值,第一属性被配置为从该第二属性继承其值。继承模块122可以被配置为输出所确定的值(例如,生成对针对关于第一数据实体实例的信息的请求的响应)。
在一些实施例中,覆盖模块124可以被配置为管理数据实体的所继承属性的覆盖。在一些实施例中,覆盖模块124可以被配置为设置属性是否可配置为覆盖所继承值(例如,通过设置属性的配置信息中的值)。例如,覆盖模块124可以在数据实体中为属性设置指示该属性是否可配置为覆盖所继承值的变量(例如,布尔值或整数值)。在一些实施例中,覆盖模块124可以被配置为允许用户指定属性是否可配置为覆盖所继承值(例如,在用于定义数据实体的GUI中)。覆盖模块124可以被配置为允许根据数据实体的规范覆盖数据实体的实例中的属性值。在本文参考图2B描述覆盖模块124如何管理数据实体的属性覆盖的示例。
在一些实施例中,覆盖模块124可以被配置为覆盖数据实体实例的所继承属性值。覆盖模块124可以被配置为通过将属性值替换为覆盖值来覆盖所继承属性值。例如,覆盖模块124可以将所继承属性值替换为覆盖值,该覆盖值在数据处理系统105的GUI中作为用户输入被提供。在一些实施例中,覆盖模块124可以被配置为输出覆盖值作为属性值(例如,以提供对针对属性值的请求的响应)。在本文参考图2D描述覆盖模块124如何管理数据实体实例中的所继承属性的覆盖的示例。
在一些实施例中,覆盖模块124可以被配置为确定数据实体实例的属性是否可配置为覆盖所继承值。在一些实施例中,覆盖模块124可以被配置为基于从中生成数据实体实例的数据实体来确定数据实体实例的属性是否可配置为覆盖所继承值。例如,覆盖模块124可以确定数据实体是否指定属性可配置为覆盖所继承值。在一些实施例中,覆盖模块124可以被配置为在数据实体实例中存储指示属性是否可配置为覆盖所继承值的值(例如,布尔值或整数值)。
在一些实施例中,图形用户界面模块126可以被配置为生成(多个)用户102可以通过其与数据处理系统105交互的(多个)GUI 112。在一些实施例中,图形用户界面模块126可以被配置为生成显示关于数据实体实例的信息的GUI。GUI可以被配置为显示关于数据实体实例的属性的信息(例如,属性值)。在一些实施例中,图形用户界面模块126可以被配置为生成GUI的指示所继承属性值的来源的一部分。例如,图形用户界面模块126可以生成在GUI上指示从中继承属性值的来源数据实体和/或数据实体实例的叠加部分。
在一些实施例中,图形用户界面模块126可以被配置为生成GUI的指示所继承属性是否可配置为覆盖所继承值的一部分。例如,图形用户界面模块126可以生成指示属性可配置为覆盖所继承值的第一图标(例如,铅笔图标)以及指示属性不可配置为覆盖所继承值的第二图标(例如,锁图标)。在一些实施例中,图形用户界面模块126可以被配置为生成GUI的说明属性是否可配置为覆盖所继承值的一部分。例如,响应于用户将光标悬停在第一图标上,模块126可以生成指示所继承属性值可以被覆盖的消息。
在一些实施例中,图形用户界面模块126可以被配置为生成允许用户定义数据实体的GUI。GUI可以允许用户定义属性的继承并且指示属性是否可配置为覆盖所继承值。图形用户界面模块126可以向继承模块122和覆盖模块124提供对GUI的用户输入。
在一些实施例中,沿袭模块128可以被配置为管理由数据处理系统105管理的数据的沿袭信息。沿袭模块128可以被配置为管理存储在数据持久层150中的实体关系。在一些实施例中,沿袭模块128可以被配置为确定数据实体实例之间的关系。在一些实施例中,沿袭模块128可以被配置为基于属性值在数据实体实例之间的继承来确定数据实体实例之间的关系。在一些实施例中,沿袭模块128可以被配置为基于替代或除了属性值的继承以外的其他因素来确定数据实体实例之间的关系。例如,沿袭模块128可以被配置为基于如何获得数据(例如,(多个)数据实体实例)、数据如何随时间变化和/或如何使用数据来确定关系。在一些实施例中,沿袭模块128可以被配置为自动生成沿袭信息。在名称为“SYSTEMS ANDMETHODS FOR DETERMINING RELATIONSHIPS AMONG DATA ELEMENTS[用于确定数据元素之间的关系的系统和方法]”的美国专利号10,489,384中描述了生成沿袭信息的各方面,该美国专利通过援引以其全文并入本文中。
在一些实施例中,权限模块130可以被配置为使用数据处理系统105管理用户的权限。权限模块105可以被配置为确定用户是否可以编辑数据实体实例中的属性值。权限模块130可以被配置为确定用户是否可以覆盖所继承属性值(例如,使用覆盖模块124)。在一些实施例中,权限模块130可以管理对数据的访问。例如,权限模块130可以根据用户的角色(例如,管理员或管理者)来确定用户可以请求对哪些数据实体实例的访问。在一些实施例中,权限模块130可以根据角色向用户提供访问。例如,权限模型130可以被配置为基于用户角色来确定、读取、更新、创建和/或删除权限。
在一些实施例中,报告生成模块132可以被配置为生成由数据处理系统105存储的关于数据实体和/或其实例的信息。在一些实施例中,报告生成模块132可以被配置为响应于由用户提交的请求来输出信息。请求可以是对关于一个或多个数据实体实例的信息的查询。例如,查询可以是可执行结构化查询语言(SQL)查询。报告生成模块132可以被配置为输出用户所请求的数据实体实例的属性值。在本文参考图3A至图3C描述用于生成对请求的响应的示例过程。
在一些实施例中,数据访问模块140可以由数据处理系统使用以访问由系统存储(例如,在数据持久层150中)的数据。如图1H中所示出的,数据访问模块140可以被配置为向数据持久层150提交数据请求142并且响应于数据请求142而接收数据。在一些实施例中,数据访问模块140可以被配置为提交对数据的查询。例如,数据访问模块140可以提交对数据的SQL查询。在一些实施例中,数据144可以是由请求指定的数据。例如,数据144可以是在查询中请求的一个或多个值。数据访问模块140可以由数据实体访问系统120的其他模块使用以获得并存储数据。在一些实施例中,数据访问模块140可以被配置为提交多个查询(例如,SQL查询)。
在一些实施例中,可以以供应商特定的方式来定制查询。例如,不同供应商(例如,MICROSOFT、ORACLE、IBM、POSTGRESQL等)可以实施SQL的不同方言和/或提供对SQL标准的扩展。在这样的情形中,可以使用由目标数据库系统实施的语法和/或命令(例如,使用由ORACLE实施的任何特殊语法和/或命令)为目标数据库系统(例如,ORACLE)生成可执行查询。附加地或替代性地,查询可以包括使用目标数据库系统可以支持的对查询的优化。因此,在一些实施例中,对一个类型的数据库的查询(例如,对MICROSOFT SQL SERVER数据库的可执行SQL查询)可以不同于对另一类型的数据库的查询(例如,对IBM DB2的可执行SQL查询),甚至在两个查询都将从同一底层中间表示生成的情况下。
在一些实施例中,数据访问模块140可以被配置为请求数据实体实例的一个属性的一个值、数据实体实例的多个属性的多个值、以及多个数据实体实例的一个或多个属性的一个或多个值。在一些实施例中,数据访问模块140可以被配置为请求1至10、5至20、10至30、50至100、100至500、500至1000个属性或在这些范围内的任何其他合适的范围的值。在一些实施例中,数据访问模块140可以被配置为请求一个、数十个、数百个、数千个、数百万个、数千万个和/或数亿个数据实体实例。例如,数据访问模块140可以请求1至10个、10至100个、100至1000个、1000至10,000个、10,000至100,000个、100,000至1,000,000个、1,000,000至10,000,000个、10,000,000至100,000,000个、100,000,000至1,000,000,000个数据实体实例或在这些范围内的任何其他合适的范围。
更一般地,当检索多个不同属性的值时,在一些实施例中,数据处理系统可以被配置为生成单独查询(例如,SQL查询)以获得每个属性的值。如下文由图7A至图7B的示例所指示的,在一些实施例中,不是为每个属性生成单独查询,数据处理系统可以将属性分组成一个或多个组(使用任何合适的标准,本文中提供该标准的示例)并且为每个组生成查询。通过为属性的不同分组生成单独查询,数据实体访问模块140可以减少所生成和执行的查询总数。这反过来可以减少数据处理系统在检索属性值时的计算负担。如下文所描述的,用于将属性分组的标准的一个示例是将共享公共继承路径的属性分组成单个组。用于将属性分组的标准的其他示例包括数据类型(例如,整数、字符串或其他数据类型)、其值存储在同一表中的属性、其值被覆盖的属性、和/或用于将属性分组的任何其他合适的标准。
在一些实施例中,被配置为共享公共继承路径的多个属性可以在查询中分组在一起。接下来参考图7A和图7B对此进行更详细的描述。
在一些实施例中,数据实体的属性可以被配置为从另一数据实体的对应属性继承其值。例如,如图7A中所示出的,数据实体730可以包括静态属性732和动态属性734。在动态属性734之间,属性“A、B、C”736被配置为从数据实体710的对应属性712继承它们的值,如由公共继承路径714所指示的。也就是说,如果属性被配置为从相同数据实体或数据实体实例的属性继承它们的值,则数据实体或数据实体实例的属性共享公共继承路径。属性“X”、“Y”、“Z”738被配置为针对数据实体720的对应属性722继承它们的值,如由公共继承路径724所指示的。因此,响应于对数据实体730的实例的属性734的值的请求或查询,需要获得属性736和属性738的值。由于属性A、B和C被配置为沿着公共继承路径714(例如,从数据实体710的同一实例)继承它们的值,因此单个查询(例如,SQL查询)可以用于访问这些属性的所继承值。图7B中的查询740是这样的查询的示例。类似地,由于属性X、Y和Z被配置为沿着公共继承路径724(例如,从数据实体720的同一实例)继承它们的值,因此单个查询可以用于访问这些变量的所继承值。图7B中的查询742是这样的查询的示例。
在一些实施例中,数据访问模块140可以被配置为访问关于数据实体实例的信息,其中,该信息包括数据实体实例的一个或多个属性的一个或多个值。数据访问模块140可以被配置为通过以下方式来访问属性的值:确定该属性是否被配置为从另一数据实体实例继承其值。在一些实施例中,数据访问模块140可以被配置为:(1)当确定属性被配置为继承其值时使用第一机制来访问属性的值;并且(2)当确定属性被配置为不继承其值时使用第二机制来访问属性的值。例如,数据访问模块140可以在属性被配置为继承其值时使用第一查询(例如,第一SQL查询)来访问值并且在属性未被配置为继承其值时使用第二类型的查询(例如,第二SQL查询)。
在一些实施例中,数据访问模块140可以被配置为通过以下方式来访问被配置为继承其值的属性的值:(1)确定属性是否被配置为覆盖其所继承值;以及(2)基于属性是否被配置为覆盖其所继承值来访问属性的值。数据访问模块140可以被配置为在确定属性被配置为覆盖其所继承值时通过访问覆盖值来访问属性的值。例如,数据访问模块140可以在属性被配置为覆盖其所继承值时向数据持久层150提交第一查询(例如,第一SQL查询)并且在属性未被配置为覆盖其所继承值时提交第二查询(例如,第二SQL查询)。
在一些实施例中,数据访问模块140可以被配置为提供可以通过其定义数据实体的功能。例如,数据实体访问系统120可以使用数据访问模块140来配置新数据实体、修改现有数据实体或删除数据实体。在一些实施例中,数据访问模块140可以被配置为为数据实体访问系统120提供创建、更新、删除和/或查询数据实体实例的功能。例如,数据访问模块140可以提供可以通过其执行功能的应用程序接口(API)。
如图1H的示例实施例中所示出的,数据持久层150包括用于存储数据实体152、数据实体实例153和数据实体关系154的数据存储。在一些实施例中,数据存储可以包括关系数据库系统,使得数据可以存储在该关系数据库系统的表中。然而,数据存储不限于是关系数据库系统,因为数据存储可以被配置为以任何合适的方式存储数据。例如,数据存储可以包括面向对象数据库、分布式数据库、NoSQL数据库和/或任何其他合适的数据库。
在一些实施例中,每个数据存储可以包括任何合适类型的以一个或多个格式存储数据的一个或多个存储设备。例如,数据存储的(多个)存储设备部分可以使用一个或多个数据库表、电子表格文件、平面文本文件和/或任何其他合适格式(例如,主机的本机格式)的文件来存储数据。(多个)存储设备可以是任何合适的类型,并且可以包括一个或多个服务器、一个或多个数据库系统、一个或多个便携式存储设备、一个或多个非易失性存储设备、一个或多个易失性存储设备、和/或被配置为电子地存储数据的任何其他(多个)设备。在数据存储包括多个存储设备的实施例中,存储设备可以共同位于一个物理位置中(例如,在一个建筑物中)或分布在多个物理位置(例如,在多个建筑物中,在不同的城市、州或国家)。存储设备可以被配置为使用任何合适类型的一个或多个网络彼此进行通信,因为本文描述的技术的各方面在这方面不受限制。
如图1H的示例实施例中所示出的,数据持久层150存储数据实体。数据持久层150可以被配置为存储定义数据实体的信息。例如,数据实体可以指定数据实体的标识符、数据实体中的属性、属性的值类型、数据实体的属性继承、和/或所继承属性的覆盖设置。数据持久层150可以被配置为存储关于该数据实体从中继承属性的数据实体的信息。例如,数据持久层150可以存储从中继承属性的数据实体的名称。
如图1H的示例实施例中所示出的,数据持久层150将数据实体实例153存储在数据存储中。数据存储可以被配置为存储数据实体实例的属性值、属性值继承的继承路径、数据实体实例的标识符、数据实体实例的权限、以及关于数据实体实例的其他信息。数据存储被配置为存储数据实体实例之间的关系154。数据存储可以被配置为存储由沿袭模块128确定的数据实体实例之间的关系。例如,数据存储可以基于由沿袭模块128确定的沿袭信息来存储映射数据实体实例的信息。
图2A是根据本文描述的技术的一些实施例的展示了数据实体A 200的简图,该数据实体A具有被配置为在数据处理系统中从数据实体B 210和数据实体220C继承值的属性。例如,数据实体200、210、220可以是配置在本文参考图1A至图1I所描述的数据处理系统105中的数据实体。
如图2A中所示出的,数据实体200、210、220中的每一个包括相应属性集。数据实体A 200包括:(1)静态属性,包括属性202A1 203和A2 204;以及(2)动态属性205,包括属性A3206和A4 207。数据实体B 210包括:(1)静态属性212,包括属性B1 213和B2 214;以及(2)动态属性215,包括属性B3 216和B4 217。数据实体C包括:(1)静态属性222,包括属性C1 223和C2 224;以及(2)动态属性225,包括属性C3 226和C4 227。数据实体200、210、220中的每一个可以包括图2A中未示出的其他属性。
在一些实施例中,数据实体的一个或多个属性可以被配置为从一个或多个其他数据实体继承值。如图2A的示例中所示出的:(1)数据实体A 200的属性A3206被配置为通过继承路径219从数据实体B 210继承其值;并且(2)数据实体A 200的属性A4 207被配置为通过继承路径229从数据实体C 220继承其值。因此,在数据实体A 200的实例中:(1)属性A3 206的值是根据数据实体B 210的实例中的属性B3 216的值来确定的;并且(2)属性A4 207的值是根据数据实体C 220的实例中的属性C4 227的值来确定的。当设置(例如,输入和/或修改)数据实体B 210的实例中的属性B3 216的值时,可以将该值传播至数据实体A 200的实例的属性A3 206。当设置数据实体C 220的实例中的属性C3 226的值时,可以将该值传播至数据实体A200的实例的属性A4 207。
在一些实施例中,数据处理系统可以被配置为允许数据实体实例的属性从另一数据实体实例的属性继承其值。如图2A中所示出的,用户230可以使用计算设备232访问数据处理系统。数据处理系统可以被配置为允许用户230定义数据实体A 200中的属性的继承。例如,数据处理系统可以生成允许用户230定义数据实体A200的图形用户界面(GUI)。在另一示例中,软件应用程序可以以编程方式定义数据实体A 200。在另一示例中,数据处理系统可以允许通过配置文件、应用程序接口(API)调用、或任何其他合适的方式定义数据实体A 200。如表235中所示出的,数据实体A 200指定属性A3 206的值的来源是数据实体B 210的属性并且属性A4 207的值的来源是数据实体C 220。因此,数据实体A 200指定从数据实体B 210继承属性A3 206的值并且从数据实体C 220继承属性A4 207的值。
在一些实施例中,数据处理系统可以被配置为允许覆盖所继承属性值。如图2A中所示出的,数据处理系统可以提供允许用户230覆盖所继承属性值的配置选项。如图2A的表235中所示出的,数据实体A 200的属性可以被配置为是可覆盖的。属性A3 206被设置为是可覆盖的,如由“覆盖?”列中的第一条目“编辑?”所指示的,并且属性A4 207被设置为是不可覆盖的,如由“覆盖?”列中的第二条目“锁定”所指示的。应理解,属性被配置为可覆盖的并不需要属性所继承的值必须被覆盖。相反,被配置为可覆盖的属性具有被覆盖(例如,由用户通过GUI、配置文件、API调用或任何其他合适的方式)的选项。
图2B是根据本文描述的技术的一些实施例的展示了覆盖由图2A中示出的数据实体A 200的属性继承的值的简图。在图2A中,继承路径219指示数据实体A 200的属性A3被配置为从数据实体210的属性B3继承其值。在图2B中,属性A3 206从属性B3 216的继承被覆盖,如由继承路径219中的“X”所指示的。作为覆盖的结果,属性A3 206可以被确定为是覆盖值(例如,用户输入覆盖值)而不是属性B3 216的值。例如,作为覆盖的结果,数据处理系统可以将数据实体A 200的实例中的属性A3 206的值设置为覆盖值而非从数据实体B 210的实例的属性B3 216继承值。
在一些实施例中,数据处理系统可以被配置为当用户230使用计算设备232来覆盖所继承属性值时覆盖数据实体中的属性的所继承值。在一些实施例中,数据处理系统可以被配置为提供允许用户覆盖所继承值并且输入覆盖值的图形用户界面(GUI)。在本文参考图4A至图4G描述允许用户覆盖所继承属性的示例GUI。在一些实施例中,数据处理系统可以被配置为允许通过配置文件、API调用、通过软件应用程序以编程方式或任何其他合适的方式用覆盖值覆盖所继承值。在覆盖之前,属性A3 206被配置为从数据实体B 210继承其值,如图A中示出的表235的第一行中所指示的。当属性A3 206的所继承值已被覆盖时,数据处理系统可以被配置为改变属性A3 206的值的来源,如图2B中示出的表235的突出强调部分中所示出的。如表235中所示出的,属性A3 206的来源已从“数据实体B”更新到“数据实体A”,这指示属性A3 206不再被配置为从数据实体B 210继承其值。
在一些实施例中,数据实体的一个或多个属性可以被配置为防止覆盖由(多个)属性继承的值。在图2B的示例中,由数据实体A 200的属性A4 207继承的值无法被覆盖,如由图2B的“覆盖?”列中的“锁定”设置所指示的。因此,数据处理系统可能不允许覆盖从数据实体220的属性C4 227继承的属性A4 207的值。因此,数据处理系统可能不允许覆盖数据实体A 200的实例中的属性A4 207的值。在一些实施例中,数据实体A 200可以被配置为存储指示属性A4 207不可配置为被覆盖的配置信息。因此,数据实体A 200的实例可能不具有覆盖由实例中的属性A4 207继承的值的选项。在一些实施例中,数据处理系统可以被配置为向GUI提供所继承值,属性可以通过该GUI被配置为可覆盖的。在本文参考图4C和图6B描述示例GUI,属性可以通过该示例GUI被配置为可覆盖的。在一些实施例中,属性可以被配置为可通过API、配置文件、通过软件应用程序以编程方式或以任何其他合适的方式来覆盖。
图2C示出了根据本文描述的技术的一些实施例的具有被配置为从数据实体实例“信用风险”270继承值的属性的数据实体实例“信用评分”158的简图。例如,数据实体实例158、270可以是由本文参考图1A至图1I所描述的数据处理系统105管理的数据实体实例。
如图2C的示例中所示出的,“信用评分”158具有一组静态属性252和动态属性255。静态属性252包括“名称”253和“定义”254。动态属性255包括数据管控属性256和数据所有权属性260。数据管控属性256包括“功能区”257和“数据域”258。数据所有权属性260包括“业务数据所有者”261、“业务数据监管员”262和“主题专家”263。如由虚线所指示的,除了或替代图2C中示出的属性,数据实体实例“信用评分”158还可以具有其他属性。
如图2C的示例中所示出的,数据实体实例“信用风险”270具有包括一组数据所有权属性274的属性272。数据所有权属性274包括“业务数据所有者”275、“业务数据监管员”276和“主题专家”277。数据实体实例“信用评分”158的数据所有权属性260被配置为从数据实体实例“信用风险”270的数据所有权属性274继承值。“业务数据所有者”261被配置为通过继承路径265a从“业务数据所有者”275继承值“Bob Owen”,“业务数据监管员”262被配置为通过继承路径265b从“业务数据监管员”276继承值“Bill Smith”,并且“主题专家”263被配置为通过继承路径265c从“主题专家”277继承值“Sam Elk”。
如图2C的示例实施例中所示出的,由数据实体实例“信用评分”158的属性继承的值未存储在数据实体实例“信用评分”158中。当要检索值(例如,以对针对关于数据实体实例158的信息的请求做出响应)时,可以从数据实体实例“信用风险”270检索这些值。在一些实施例中,所继承值可以以编程方式从数据实体实例“信用风险”270复制到数据实体实例“信用评分”158的属性。在一些实施例中,数据实体实例“信用评分”158可以被配置为存储指示要从数据实体实例“信用风险”270继承的值的信息。例如,数据实体实例“信用评分”158可以包括一个或多个属性,这些属性的(多个)值是对要从中继承值的数据实体实例“信用风险”270的属性的(多个)引用。在一些实施例中,指示要从数据实体实例“信用风险”270继承的属性值的信息可以与数据实体实例“信用评分”158分开地存储。例如,单独数据实体实例可以存储指示数据实体实例“信用风险”270的属性的信息,数据实体实例“信用评分”158的属性被配置为从该数据实体实例“信用风险”的属性继承值。
图2C的表284示出了“信用评分”158的属性的示例配置(例如,用户280使用计算设备282在数据处理系统中定义的)。例如,可以在显示关于数据实体实例“信用评分”158的信息的GUI中示出表284。如表284的“来源”列中所指示的,“业务数据所有者”261、“业务数据监管员”262和“主题专家”263的属性全部被配置为从数据实体实例“信用风险”270继承值。如表284的“所继承值”列中所指示的,“业务数据所有者”261被配置为继承“Bob Owen”的值,“业务数据监管员”262被配置为继承“Bill Smith”的值,并且“主题专家”263被配置为继承“Sam Elk”的值。如表284的“覆盖”列中所指示的,“业务数据所有者”261和“业务数据监管员”262可以被覆盖,而“主题专家”263无法被覆盖(例如,它是“锁定的”)。在一些实施例中,“信用评分”158的属性可以通过GUI来配置(例如,如本文参考图4A至图4G所描述的)。在一些实施例中,“信用评分”158的属性可以通过软件应用程序以编程方式来配置。在一些实施例中,“信用评分”158的属性可以通过API调用、配置文件或任何其他合适的方式来配置。
图2D是根据本文描述的技术的一些实施例的展示了覆盖由数据实体实例“信用评分”158的属性继承的值的简图。如由继承路径265a中的“X”所指示的,数据实体实例“信用评分”158的属性“业务数据所有者”261被配置为覆盖从数据实体实例“信用风险”270的属性“业务数据所有者”275继承的值。如表284中所示出的,在指示“业务数据所有者”261的配置的行中,“来源”下面的条目已从“信用风险”改变为“信用评分”并且“覆盖?”下面的条目已改变为“是”。数据实体实例“信用评分”158中的“业务数据所有者”261的值是“BenOscar”的覆盖值(例如,用户280使用计算设备282指定的)。
如图2D的示例实施例中所示出的,数据实体实例“信用评分”158可以被配置为存储属性“业务数据所有者”261的覆盖值。在一些实施例中,属性“业务数据所有者”261的覆盖值可以存储在单独的数据实体实例中。在一些实施例中,属性“业务数据所有者”261的覆盖值可以存储在覆盖值的单独类型的数据结构(例如,表或其他数据结构)中。
图3A是根据本文描述的技术的一些实施例的用于生成对获得关于数据实体实例的信息的请求的响应的说明性过程300的流程图。过程300可以由(多个)任何合适的计算设备执行。例如,过程300可以由本文参考图1A至图1I所描述的数据处理系统105执行。在一个示例中,过程300可以由数据处理系统105的数据实体访问系统120执行。
过程300在框302处开始,其中,系统接收访问第一数据实体的特定实例的第一属性值的请求。第一属性被配置为从第二数据实体的另一实例的第二属性继承其值。例如,请求可以包括对图2C的数据实体实例“信用评分”158中的“业务数据所有者”属性261的值的请求。在一些实施例中,用户可以提交该请求。例如,用户可以提交在图形用户界面(GUI)中查看信息的请求。在一些实施例中,请求可以通过软件应用程序以编程方式提交。例如,银行的软件应用程序可以生成请求以便访问关于信用评分数据的元数据。在一些实施例中,系统(例如,数据处理系统105或其模块)可以被配置为生成请求。
接下来,过程300继续进行到框304,其中,系统生成对请求的响应。在框304内的框306处,系统确定特定实例的第一属性是否被配置为覆盖从第二属性继承的值。换句话说,系统确定第一属性是否被配置为覆盖从另一实例的第二属性继承的值。在一些实施例中,系统可以被配置为通过确定是否已设置特定实例中的第一属性的所存储覆盖设置来确定第一属性是否被配置为覆盖所继承值。例如,系统可以确定指示第一属性是否被配置为覆盖从另一实例的第二属性继承的值的布尔值。
如果在框306处系统确定特定实例的第一属性被配置为覆盖从第二属性(例如,图2D中的“信用评分”158的“业务数据所有者”261)继承的值,则过程300继续进行到框308,其中,系统访问覆盖值。在一些实施例中,系统可以被配置为传输查询(例如,向数据持久层)以获得覆盖值。在一些实施例中,覆盖值可以存储在特定实例中。例如,覆盖值可以被存储为第一属性的值。在另一示例中,覆盖值可以被存储为特定实例中的单独属性。在一些实施例中,覆盖值可以与特定实例分开地存储。在框308处访问覆盖值之后,过程300继续进行到框310,其中,系统生成对请求的响应,以包括覆盖值作为第一属性的第一值。在一些实施例中,系统可以被配置为通过生成指示覆盖值作为第一属性的第一值的数据(例如,向量、阵列或其他数据结构)来生成响应。
如果在框306处系统确定特定实例的第一属性未被配置为覆盖从第二属性(例如,图2D中的“信用评分”158的“业务数据监管员”属性262)继承的值,则过程300继续进行到框307,其中,系统确定第二属性是否被配置为继承其值。例如,第二属性可以被配置为从不同于第一数据实体和第二数据实体的第三数据实体的实例的第三属性继承其值。在一些实施例中,系统可以被配置为通过确定第二属性是否被配置为从第三数据实体的实例的第三属性继承其值来做出确定。例如,系统可以访问第二数据实体以确定其是否指定第二属性被配置为从第三数据实体的第三属性继承其值。在一些实施例中,系统可以被配置为通过检查另一实例是否存储指示第二属性被配置为从中继承其值的第三数据实体的实例的第三属性的信息(例如,属性值)来做出确定。
如果在框307处系统确定第二属性被配置为继承其值,则过程300返回到框306,其中,系统确定第二属性是否被配置为覆盖从第三数据实体的实例的第三属性继承的值。如果是这样,则数据处理系统将进一步检查第三数据实体的实例的第三属性是否被配置为从又一数据实体的实例继承其值,以此类推直到系统识别出值。以这种方式,系统可以被配置为递归地遵循继承路径以获得第一属性值。
如果在框307处系统确定第二属性未被配置为继承其值,则过程300继续进行到框312,其中,系统访问从第二属性继承的值。在一些实施例中,系统可以被配置为通过读取存储在另一实例中的第二属性的值来访问从第二属性继承的值。例如,系统可以定位来自系统的存储器的另一实例,并且读取另一实例中的第二属性的值。在一些实施例中,系统可以被配置为提交查询(例如,向数据持久层)以读取另一实例中的第二属性的值。在框312处访问从第二属性继承的值之后,过程300继续进行到框314,其中,系统生成对请求的响应,包括从第二属性继承的值作为第一属性值。在一些实施例中,系统可以被配置为通过生成指示从第二属性继承的值作为第一属性值的数据(例如,向量、阵列或其他数据结构)来生成响应。
在框304处生成对请求的响应之后,过程300继续进行到框316,其中,系统输出所生成的对请求的响应。在一些实施例中,系统可以被配置为在显示在计算设备的显示器上的图形用户界面(GUI)中输出响应。在一些实施例中,系统可以被配置为向提交过请求的软件应用程序输出响应。例如,系统可以通过应用程序接口(API)向软件应用程序输出响应。
图3B是根据本文描述的技术的一些实施例的用于生成显示数据实体实例的图形用户界面(GUI)的说明性过程350的流程图。过程350可以由任何合适的计算设备执行。例如,过程350可以由本文参考图1A至图1I所描述的数据处理系统105执行。在一个示例中,过程350可以使用数据处理系统105的接口110来执行。
过程350包括第一框352,在该第一框中系统生成GUI。在框352中,过程350在框354处开始,其中,系统生成指示第一数据实体的特定实例的第一属性值的第一GUI部分。第一属性被配置为从第二数据实体的另一实例的第二属性继承其值。在框356处,系统访问从第二属性继承的值。在一些实施例中,系统可以被配置为通过以下方式访问从第二属性继承的值:(1)定位存储器中的另一实例;以及(2)从另一实例读取第二属性的值。在访问从第二属性继承的值之后,过程350继续进行到框358,其中,系统将第一属性值设置为从第二属性继承的值。
在框354处生成第一GUI部分之后,过程350继续进行到框360,其中,系统生成第二GUI部分以指示第一属性是否可配置为覆盖其所继承值。在一些实施例中,系统可以被配置为生成与所显示的第一属性值相邻(例如,在第一GUI部分中)的GUI元素,该GUI元素指示第一属性是否可配置为覆盖其所继承值。例如,系统可以生成:(1)指示第一属性可配置为覆盖其所继承值的第一图标(例如,铅笔图标);以及(2)指示第一属性不可配置为覆盖其所继承值的第二图标(例如,锁图标)。
在框352中生成GUI之后,过程350继续进行到框362,其中,系统显示所生成的GUI。在一些实施例中,系统可以被配置为在计算设备的显示器(例如,监视器)中显示GUI。计算设备的用户可以能够从所显示的GUI识别:(1)第一属性是否从另一数据实体实例继承其值;以及(2)第一属性是否可配置为覆盖其所继承值。在本文参考图4A至图4G描述示例GUI。
图3C是根据本文描述的技术的一些实施例的用于生成对获得关于数据实体实例的信息的请求的说明性过程370的流程图。过程370可以由任何合适的计算设备执行。例如,过程370可以由本文参考图1A至图1I所描述的数据处理系统105执行。在一个示例中,过程370可以由数据处理系统105的数据实体访问系统120执行。
过程370在框372处开始,其中,系统获得访问第一数据实体的特定实例的第一属性值的请求。例如,请求可以包括对图2C的数据实体实例“信用评分”158中的“业务数据所有者”属性261的值的请求。在一些实施例中,请求可以是数据库查询(例如,SQL查询)。例如,用户可以输入指示对获得信息的请求的查询。在一些实施例中,请求可以通过软件应用程序以编程方式提交。例如,银行的软件应用程序可以生成请求以便访问与个人的信用评分相关的信息。在一些实施例中,系统(例如,数据处理系统105或其模块)可以被配置为生成请求。
接下来,过程370继续进行到框374,其中,系统生成对请求的响应。在框374中,系统继续进行到框376,其中,系统确定第一属性是否被配置为从不同于第一数据实体的第二数据实体的另一实例的第二属性继承其值。在一些实施例中,系统可以被配置为通过以下方式来做出确定:确定第一数据实体是否被配置成使得第一属性被配置为从第二数据实体的第二属性继承其值。例如,系统可以访问第一数据实体(例如,第一数据实体中的配置信息)以确定第一属性是否被配置为从第二属性继承其值。在一些实施例中,系统可以被配置为通过以下方式来做出确定:确定特定实例是否存储指示第一属性从另一实例的第二属性继承其值的信息(例如,引用)。
如果在框376处,系统确定第一属性被配置为从另一实例的第二属性继承其值,则过程370继续进行到框377,其中,系统确定第二属性是否被配置为继承其值。例如,第二属性可以被配置为从不同于第一数据实体和第二数据实体的第三数据实体的实例的第三属性继承其值。在一些实施例中,系统可以被配置为通过以下方式来做出确定:确定第二属性是否被配置为从第三数据实体的实例的第三属性继承其值。例如,系统可以访问第二数据实体以确定其是否指定第二属性被配置为从第三数据实体的第三属性继承其值。在一些实施例中,系统可以被配置为通过检查另一实例是否存储指示第二属性被配置为从中继承其值的第三数据实体的实例的第三属性的信息(例如,属性值)来做出确定。
如果在框377处,系统确定第二属性被配置为从第三数据实体的实例的第三属性继承其值,则过程370继续进行到框376,其中,系统访问从第三属性继承的值。如果是这样,则在框377处数据处理系统将进一步检查第三数据实体实例的第三属性是否被配置为从第四数据实体实例继承其值,以此类推,直到系统识别出值为止。以这种方式,系统可以被配置为递归地遵循继承路径以获得第一属性值。
如果在框377处,系统确定第二属性未被配置为继承其值,则过程370继续进行到框378,其中,系统访问从另一实例的第二属性继承的值。在一些实施例中,系统可以被配置为通过以下方式访问第二属性的值:(1)定位特定实例从中继承其第一属性值的另一实例;以及(2)访问另一实例中的第二属性的值。例如,系统可以定位系统的存储器中的另一实例,并且访问第二属性的值。在框378处访问从第二属性继承的值之后,过程370继续进行到框380,其中,系统生成对请求的响应,以包括指示从第二属性继承的值作为第一属性值的信息。在一些实施例中,系统可以被配置为通过生成指示从第二属性继承的值作为第一属性值的数据(例如,向量、阵列或其他数据结构)来生成响应。
如果在框376处,系统确定第一属性未被配置为继承其值,则过程370继续进行到框382,其中,系统访问来自特定实例的第一属性的值。例如,特定实例可以存储第一属性的值(例如,数字、字符串或其他类型的值)。系统可以访问由特定实例针对第一属性存储的值。在访问存储在特定实例中的值之后,过程370继续进行到框384,其中,系统生成包括该值作为第一属性值的响应。
在框374处生成对请求的响应之后,过程370继续进行到框386,其中,系统输出所生成的对请求的响应。在一些实施例中,系统可以被配置为在显示在计算设备的显示器上的图形用户界面(GUI)中输出响应。在一些实施例中,系统可以被配置为向提交过请求的软件应用程序输出响应。例如,系统可以通过应用程序接口(API)向软件应用程序输出响应。
图4A是根据本文描述的技术的一些实施例的显示关于数据实体“业务项”404的实例“信用评分”402的信息的GUI的展示。“信用评分”402是如由标签404指示的“业务项”数据实体的实例。GUI 400指示“信用评分”402从中获得数据的数据域406。在图4A的示例中,“信用评分”402从数据域“信用风险”获得数据。GUI 400显示“信用评分”402的属性值。属性值包括数据所有权属性408的值。数据所有权属性包括“业务数据所有者”、“业务数据监管员”和“主题专家”。数据所有权属性中的每一个可以具有一个或多个相应值。在图4A的示例中,在“信用评分”402中,“业务数据所有者”属性的值是“Wade L.Register”,“业务数据监管员”属性的值是“Kaitlyn C.Ogawa”,并且“主题专家”属性的值是“Hugo J.Poiter”和“Donald D.Mace”。
图4B是根据本文描述的技术的一些实施例的显示关于数据实体实例“信用风险”412的信息的GUI的展示,图4A的数据实体实例“信用评分”402的属性从该数据实体实例“信用风险”继承值。GUI 410显示“信用风险”412的属性值。属性值包括数据所有权属性414的值。数据所有权属性414包括:“业务数据所有者”、“业务数据监管员”和“主题专家”。“信用风险”412的数据所有权属性414具有以下值:“业务数据所有者”的值是“WadeL.Register”,“业务数据监管员”的值是“Kaitlyn C.Ogawa”,并且“主题专家”的值是“Donald D.Mace”和“Hugo J.Potter”。“信用评分”402的数据所有权属性408被配置为从“信用风险”412的数据所有权属性414继承它们的值。因此,“信用评分”402的数据所有权属性408具有与“信用风险”412的数据所有权属性414相同的值。
图4C是根据本文描述的技术的一些实施例的用于配置数据实体“业务项”404的属性的GUI的展示,“信用评分”402是该数据实体的实例。GUI 420允许将数据实体的属性配置为从另一数据实体继承值。在图4C的示例中,GUI 420示出了“业务项”数据实体422的属性“业务数据所有者”424、“业务数据监管员”425和“主题专家”426被配置为从数据实体“数据域”继承它们的值,如列427中所指示的。例如,图4A的“信用评分”402是“业务项”422的实例。数据所有权属性408被配置为从“数据域”数据实体的实例继承它们的值。在这个示例中,在“信用评分”402中,数据所有权属性408被配置为从“信用风险”412继承它们的值,该“信用风险”是数据实体“数据域”的实例。
图4D是根据本文描述的技术的一些实施例的具有部分422的图4A的GUI 400的展示,该部分指示关于被配置为继承其值的数据实体实例“信用评分”402的属性的信息。如图4D中所示出的,GUI 400包括指示关于“业务数据所有者”属性的信息的叠加GUI部分422。GUI部分422指示从“信用风险”412继承属性“业务数据所有者”的值,该“信用风险”是数据域数据实体的实例。在一些实施例中,GUI 400可以被配置为响应于用户输入而生成部分422。例如,当用户将鼠标悬停在所显示的属性名称上时,GUI 400可以生成部分422。
图4E是根据本文描述的技术的一些实施例的指示图4A的数据实体实例“信用评分”402的属性是否可配置为覆盖它们继承的值的GUI部分430的展示。可以生成GUI 430作为图4A的GUI 400的一部分(例如,当用户选择图4A中的数据所有权属性的“编辑”选项时)。GUI 430显示所继承属性值是否可以被覆盖的指示。在图4E的示例中,GUI 430显示属性“业务数据所有者”、“业务数据监管员”和“主题专家”的值的指示。与“业务数据所有者”属性的值相邻的锁定图标432指示值无法被覆盖。紧挨着“业务数据监管员”属性的值的铅笔图标432指示值可以被覆盖。GUI 430还显示紧挨着“主题专家”属性的值的铅笔图标。如图4E中所示出的,当用户将光标悬停在铅笔图标上时,GUI 430显示值被继承并且该值可以被覆盖的指示434。指示434说明了用户可以点击覆盖所继承值。例如,响应于点击铅笔图标,GUI430可以生成允许用户覆盖属性“主题专家”的所继承值的菜单。
图4F是根据本文描述的技术的一些实施例的指示图4A的数据实体实例“信用评分”402的属性是否可配置为覆盖它们继承的值的GUI部分440的另一展示。可以生成GUI440作为图4A的GUI 400的一部分(例如,当用户选择图4A中的数据所有权属性的“编辑”选项时)。如图4F中所示出的,当用户将光标悬停在与“业务数据所有者”属性的值相邻的锁图标上时,GUI 440显示属性不可配置为覆盖所继承值的指示。
图4G是根据本文描述的技术的一些实施例的指示关于来源的信息的GUI部分450的展示,图4A的数据实体实例“信用评分”402的属性被配置为从该来源继承其值。可以生成GUI 450作为图4A的GUI 400的一部分(例如,当用户将光标悬停在属性的名称上时)。GUI450包括指示属性从中继承其值的数据实体实例“信用风险”的部分452。部分452指示数据实体“数据域”,“信用风险”是该数据实体“数据域”的实例。
图5A是根据本文描述的技术的一些实施例的展示了一组三个数据实体实例500、158、520之间的属性值继承路径的简图。图5A的数据实体实例可以是由本文参考图1A至图1I所描述的数据处理系统105管理的数据实体实例。图5A示出了数据实体实例“客户信用评分”500、数据实体实例“信用评分”158和数据实体实例“信用风险”520。
如图5A中所示出的,数据实体实例500、158、520中的每一个包括相应的一组属性。数据实体实例“客户信用评分”500包括一组静态属性502和一组动态属性505。静态属性502包括属性“名称”503和“定义”504。动态属性505包括“业务数据监管员”506和“主题专家”507。数据实体实例“信用评分”158包括一组静态属性252和一组动态属性255。静态属性252包括“名称”253和“定义”254。动态属性255包括“业务数据监管员”262和“主题专家”263。数据实体实例“信用风险”520包括一组静态属性522和一组动态属性525。静态属性522包括“名称”523和“描述”524。动态属性525包括“业务数据监管员”526和“主题专家”527。
在图5A的示例实施例中,数据实体实例“客户信用评分”500的属性“业务数据监管员”506被配置为通过继承路径508a从数据实体实例“信用评分”158的属性“业务数据监管员”262继承其值。属性“业务数据监管员”262被配置为通过继承路径518a从数据实体实例“信用风险”520的属性“业务数据监管员”526继承其值。数据实体实例“客户信用评分”500的属性“主题专家”507被配置为通过继承路径508b从数据实体实例“信用评分”158的属性“主题专家”263继承其值。属性“主题专家”263被配置为通过继承路径518b从数据实体实例“信用风险”520的属性“主题专家”527继承其值。在图5A的示例配置中,数据实体实例“信用风险”520的属性“业务数据监管员”526和“主题专家”527可以确定:(1)数据实体实例“信用评分”158的属性“业务数据监管员”262和“主题专家”263的值;以及(2)数据实体实例“客户信用评分”500的属性“业务数据监管员”506和“主题专家”507的值。因此,“业务数据监管员”526和“主题专家”527是最高继承水平,而属性“业务数据监管员”506和“主题专家”507处于最低继承水平。
图5A示出了计算设备535,用户530可以通过该计算设备访问关于数据实体实例500、158、520的信息。例如,用户530可以访问关于数据实体实例“客户信用评分”500的信息。表535示出了数据实体实例“客户信用评分”500的属性“业务数据监管员”506和“主题专家”507的配置。表535的“来源”列指示属性“业务数据监管员”506被配置为从数据实体实例“信用风险”520继承值“Bill Smith”,并且属性“主题专家”507被配置为从数据实体实例“信用风险”520继承值“Sam Elk”。如表535的“覆盖”列中所指示的,属性“业务数据监管员”506可配置为覆盖所继承值,而属性“主题专家”507不可配置为覆盖所继承值。
图5B是根据本文描述的技术的一些实施例的展示了由图5A的数据实体实例“客户信用评分”500的属性继承的值的覆盖的简图。继承路径508a中的“X”指示覆盖由数据实体实例“客户信用评分”500的属性“业务数据监管员”506继承的数据实体实例“信用评分”158的属性“业务数据监管员”262的值。如表535的突出强调部分中所示出的,属性“业务数据监管员”506被覆盖并且现在具有“客户信用评分”的来源。因此,数据实体实例“信用风险”520的属性“业务数据监管员”526可以不确定数据实体实例“客户信用评分”500中的属性“业务数据监管员”506的值,其中,执行图5B中所展示的覆盖。如图5B中所示出的,在数据实体实例“客户信用评分”500内,数据实体实例“客户信用评分”506的属性“业务数据监管员”506现在充填有值“Bob Stewart”。
图5C是根据本文描述的技术的一些实施例的展示了由图5A的数据实体实例“信用评分”158的属性继承的值的覆盖的简图。继承路径518a中的“X”指示由数据实体实例“信用评分”158的属性“业务数据监管员”262继承的数据实体实例“信用风险”520的属性“业务数据监管员”526的值的覆盖。当属性“业务数据监管员”262已被配置为覆盖从属性“业务数据监管员”526继承的值时,覆盖修改数据实体实例“客户信用评分”500的属性“业务数据监管员”506从中继承其值的来源。如表535的突出强调部分中所示出的,作为覆盖的结果,属性“业务数据监管员”506的来源已从“信用风险”(如图5A中所示出的)改变为“信用评分”。在图5C中展示的配置中,属性“业务数据监管员”506从数据实体实例“信用评分”158的属性“业务数据监管员”262继承“Ben Samuel”的覆盖值。
图6A是根据本文描述的技术的一些实施例的显示关于“业务数据元素”数据实体的实例“客户信用评分”602的信息的GUI 600的展示。“客户信用评分”602包括各种属性。属性包括值为“信用评分”604的业务项属性。“信用评分”604是“客户信用评分”602的属性被配置为从中继承值的另一数据实体实例。在图6A的示例中,“客户信用评分”602的数据所有权属性608被配置为从“信用评分”604继承值。数据所有权属性608包括“业务数据所有者”、“业务数据监管员”、“主题专家”和“技术数据监管员”。“客户信用评分”602还包括“数据域”属性606。“数据域”属性606的值可以指示“客户信用评分”602所属的类别。“客户信用评分”602在隶属于公司风险层次结构的信用风险类别内。
图6B是根据本文描述的技术的一些实施例的显示关于图6A的数据实体实例“客户信用评分”602的属性配置的信息的GUI 620的展示。在行622、624和626中,“业务数据所有者”、“业务数据监管员”和“主题专家”属性中的每一个被配置为从“业务项”数据实体的实例继承其值。“业务项”数据实体的示例实例是本文参考图4A所描述的“信用评分”402。客户“信用评分”602的属性可以被配置为从“信用评分”402继承数据所有权属性608的值。“信用评分”402的数据所有权属性408可以被配置为从本文参考图4B所描述的“信用风险”412的数据所有权属性414继承值。当不存在处于适当位置的覆盖时,数据所有权属性608的值可以被配置为继承“信用风险”412的数据所有权属性414的值。
图6C是根据本文描述的技术的一些实施例的显示关于“客户信用评分”602的属性的信息的GUI 630的展示。如图6C中所示出的,GUI 630包括显示关于“业务数据监管员”属性的信息的叠加部分632。叠加部分632指示从数据实体实例“信用评分”继承属性值,该数据实体实例是业务项数据实体的实例。例如,由“信用评分”402从“信用风险”412继承的“业务数据监管员”属性值可以被覆盖(例如,由于用户覆盖)。因此,在这个示例中,叠加部分632指示属性值的来源是“信用评分”。在一些实施例中,GUI 630可以被配置为响应于GUI中的用户输入而生成叠加部分632。例如,当用户将光标悬停在GUI 430中的属性的名称上时,GUI 630可以生成叠加部分632。
图6D是根据本文描述的技术的一些实施例的显示关于“客户信用评分”602的属性的信息的GUI 640的展示。如图6D中所示出的,GUI 640包括显示关于“主题专家”属性的信息的叠加部分642。叠加部分642指示从“信用风险”继承属性值,该“信用风险”是数据域数据实体的实体。例如,“主题专家”属性可以被配置为从数据实体实例“信用评分”继承其值,该数据实体实例被配置为从数据实体实例“信用风险”继承其值。在这个示例中,不存在覆盖并且因此叠加部分642指示属性值的来源是数据实体实例“信用风险”。
在一些实施例中,GUI 640可以被配置为响应于GUI中的用户输入而生成叠加部分642。例如,当用户将光标悬停在GUI 440中的属性的名称上时,GUI 640可以生成叠加部分642。
示例计算机系统
图8展示了可以在其上实施本文所描述的技术的合适计算系统环境800的示例。计算系统环境800仅是合适的计算环境的一个示例,并且不旨在对本文所描述的技术的使用或功能的范围提出任何限制。也不应当将计算环境800解释为具有与示例性操作环境800中展示的部件中的任何一个或组合相关的任何依赖性或要求。
本文所描述的技术与许多其他通用或专用计算系统环境或配置一起操作。可以适合与本文所描述的技术一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述系统或设备中任一个的分布式计算环境等。
计算环境可以执行计算机可执行指令,比如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。本文所描述的技术还可以在分布式计算环境中实践,其中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参照图8,用于实施本文所描述的技术的示例性系统包括呈计算机800形式的通用计算设备。计算机810的部件可以包括但不限于处理单元820、系统存储器830、以及将包括系统存储器的各种系统部件耦合到处理单元820的系统总线821。系统总线821可以是包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任何架构的本地总线的若干类型的总线结构中的任何总线结构。通过举例而非限制,此类架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线、以及外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是可由计算机810访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。通过举例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实施的用于存储比如计算机可读指令、数据结构、程序模块、或其他数据等信息的易失性和非易失性介质、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可用于存储期望信息并且可以由计算机810访问的任何其他介质。通信介质通常以比如载波或其他传输机制等已调制数据信号来实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“已调制数据信号”是指以对信号中的信息进行编码的这种方式设置或改变其特性中的一个或多个特性的信号。通过举例而非限制,通信介质包括有线介质(比如有线网络或直接有线连接)以及无线介质(比如声学、RF、红外线及其他无线介质)。上述中的任一个的组合也应包括在计算机可读介质的范围内。
系统存储器830包括呈易失性和/或非易失性存储器形式的计算机存储介质,比如只读存储器(ROM)831和随机存取存储器(RAM)832。包含比如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM 831中。RAM 832通常包含可由处理单元820立即访问和/或当前正在操作的数据和/或程序模块。通过举例而非限制,图8展示了操作系统834、应用程序835、其他程序模块836和程序数据837。
计算机810还可以包括其他可移除/不可移除、易失性/非易失性计算机存储介质。仅通过举例,图8展示了从不可移除的非易失性磁介质的硬盘驱动器841读取或对其进行写入、从可移除的非易失性存储器852(比如闪存存储器)的闪存驱动器851读取或对其进行写入、以及从可移除的非易失性光盘856(比如CD ROM或其他光学介质)读取或对其进行写入的光盘驱动器855。可以用于示例性操作环境中的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过比如接口840等不可移除存储器接口连接至系统总线821,并且磁盘驱动器851和光盘驱动器855通常由比如接口850等可移除存储器接口连接到系统总线821。
上文描述并且在图8中展示的驱动器及其相关联的计算机存储介质为计算机810提供了计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图8中,硬盘驱动器841被展示为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意,这些部件与操作系统834、应用程序835、其他程序模块836和程序数据837可以是相同或不同的。这里给予了操作系统844、应用程序845、其他程序模块846和程序数据847不同的编号,以说明至少它们是不同的副本。行动者可以通过比如键盘862和定点设备861(通常称为鼠标、轨迹球或触摸板)等输入设备将命令和信息输入到计算机810中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但可以由比如并行端口、游戏端口或通用串行总线(USB)等其他接口和总线结构来连接。监视器891或其他类型的显示设备也经由比如视频接口890等接口连接到系统总线821。除了监视器之外,计算机还可以包括可通过输出外围接口895连接的其他外围输出设备,比如扬声器897和打印机896。
计算机810可以使用与一个或多个远程计算机(比如远程计算机880)的逻辑连接在联网环境中操作。远程计算机880可以是个人计算机、服务器、路由器、网络PC、对等设备、或其他常见网络节点,并且通常包括上文关于计算机810描述的元件中的许多或全部元件,但是在图8中仅展示了存储器存储设备881。图8中描绘的逻辑连接包括局域网(LAN)881和广域网(WAN)883,但还可以包括其他网络。这种联网环境在办公室、企业范围计算机网络、内联网和互联网中是普遍的。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器880连接到LAN881。当在WAN联网环境中使用时,计算机810通常包括调制解调器882或用于通过比如互联网等WAN 883建立通信的其他装置。调制解调器882可以是内置的或外置的,其可以经由行动者输入接口860或其他适当的机制连接到系统总线821。在联网环境中,关于计算机810描绘的程序模块或其部分可以存储在远程存储器存储设备中。通过举例而非限制,图8展示了远程应用程序885驻留在存储器设备881上。应当理解,所示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
如此描述了本文描述的技术的至少一个实施例的若干方面之后,应当理解,本领域技术人员会容易想到各种更改、修改和改进。
这种更改、修改和改进旨在是本披露内容的一部分,并且旨在落入本发明的精神和范围内。此外,尽管指示了本文描述的技术的优点,但应当理解,并非本文所描述的技术的每个实施例都将包括每个描述的优点。一些实施例可以不实施在本文中描述为有利的任何特征,并且在一些情况下,可以实施描述的特征中的一个或多个以实现进一步的实施例。因此,前述描述和附图仅是通过举例的方式。
本文所描述的技术的上述实施例可以以多种方式中的任一种来实施。例如,可以使用硬件、软件或其组合来实施这些实施例。当在软件中实施时,可以在任何合适的处理器或处理器集合上执行软件代码,无论该处理器或处理器集合是设置在单个计算机中还是分布在多个计算机中。此类处理器可以被实施为集成电路(其中,一个集成电路部件中具有一个或多个处理器),包括名称为比如CPU芯片、GPU芯片、微处理器、微控制器或协处理器等本领域已知的商用集成电路部件。替代性地,处理器可以以定制电路系统(比如ASIC)或者通过配置可编程逻辑设备产生的半定制电路系统来实施。作为又一替代方案,处理器可以是较大电路或半导体器件的一部分,无论是商用的、半定制的还是定制的。作为具体示例,一些商用微处理器具有多个核,使得这些核中的一个或子集可以构成处理器。然而,处理器可以使用呈任何合适格式的电路系统来实施。
进一步地,应当理解,计算机可以体现为多种形式中的任何形式,比如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以嵌入在通常不被认为是计算机但具有合适的处理能力的设备中,该设备包括个人数字助理(PDA)、智能手机或任何其他合适的便携式或固定式电子设备。
而且,计算机可以具有一个或多个输入设备和输出设备。这些设备可以尤其用于呈现用户接口。可以用于提供用户接口的输出设备的示例包括用于对输出进行视觉呈现的打印机或显示屏,以及用于对输出进行听觉呈现的扬声器或其他声音生成设备。可以用于用户接口的输入设备的示例包括键盘和定点设备,比如鼠标、触摸板和数字化平板。作为另一个示例,计算机可以通过语音识别或以其他可听格式接收输入信息。
这种计算机可以由呈任何合适的形式的一个或多个网络来互连,该一个或多个网络包括局域网或广域网,比如企业网或互联网。这种网络可以基于任何合适的技术并且可以根据任何合适的协议来运行,并且可以包括无线网络、有线网络或光纤网络。
而且,本文中概括的各种方法或过程可以被编码为在采用各种操作系统或平台中的任一种的一个或多个处理器上可执行的软件。另外,这种软件可以使用多种合适的编程语言和/或编程或脚本工具中的任一种来编写,并且还可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
在这方面,本文描述的技术的各方面可以体现为用一个或多个程序进行编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩光盘(CD)、光盘、数字视频盘(DVD)、磁带、闪速存储器、现场可编程门阵列或其他半导体器件中的电路配置、或其他有形计算机存储介质),该一个或多个程序在一个或多个计算机或其他处理器上执行时执行实施上文描述的各种实施例的方法。如从前述示例将清楚明白,计算机可读存储介质可以将信息保留足够的时间,以便提供呈非暂态形式的计算机可执行指令。这种计算机可读存储介质可以是可运送的,使得其上存储的一个或多个程序可以加载到一个或多个不同的计算机或其他处理器上,以实施如上文描述的技术的各个方面。如本文使用的,术语“计算机可读存储介质”仅涵盖可被看作是制品(即,制造物品)或机器的非暂态计算机可读介质。替代性地或附加地,本文描述的技术的各方面可以体现为除了计算机可读存储介质之外的计算机可读介质,比如传播信号。
术语“程序”或“软件”在本文中在一般意义上使用,以指代任何类型的计算机代码或计算机可执行指令集,这些计算机代码或计算机可执行指令集可以被用来对计算机或其他处理器进行编程以实施如上文描述的技术的各个方面。附加地,应该理解,根据这个实施例的一个方面,当被执行时执行本文描述的技术的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以用模块化的方式分布在多个不同的计算机或处理器中以实施本文描述的技术的各个方面。
计算机可执行指令可以呈由一个或多个计算机或其他设备执行的许多形式,比如程序模块。通常,程序模块包括执行特定任务或实施特定抽象数据类型的例程、程序、对象、部件、数据结构等。通常,程序模块的功能可以如各个实施例所期望的而组合或分布。
而且,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,可以将数据结构示出为具有通过数据结构中的位置而相关的字段。这种关系同样可以通过为针对字段的存储指派传达字段之间关系的计算机可读介质中的位置来实现。然而,可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签、或建立数据元素之间的关系的其他机制。
本文描述的技术的各个方面可以单独使用、组合使用、或以前文所述的实施例中未具体描述的各种布置使用,并且因此在其应用方面不局限于在前述描述中所阐述或附图中所展示的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面组合。
而且,本文描述的技术可以体现为一种方法,本文(包括参考图3和图7)提供了该方法的示例。作为这些方法中的任何方法的一部分执行的动作可以以任何合适的方式进行排序。因此,可以构造实施例,在这些实施例中,动作以与所展示的顺序不同的顺序执行,这可以包括同时执行一些动作,即使这些动作在说明性实施例中被示出为顺序动作。
进一步地,一些动作被描述为由“行动者”或“用户”做出。应当理解,“行动者”或“用户”不必是单个个人,并且在一些实施例中,可归因于“行动者”或“用户”的动作可以由个人团队和/或个人与计算机辅助工具或其他机构的组合来执行。
在权利要求书中使用比如“第一”、“第二”、“第三”等序数词来修饰权利要求要素本身并不意味着一个权利要求要素相对于另一权利要求要素的任何优先级、优先顺序或顺序或者执行方法的动作的时间顺序,但仅用作区分具有特定名称的一个权利要求要素与具有相同名称(但对于使用序数词)的另一要素的标签以将权利要求要素区分开。
而且,在本文中使用的措辞和术语是用于描述的目的,而不应当被视为是限制性的。本文使用的“包括(including)”、“包括(comprising)”或“具有(having)”、“包含(containing)”、“涉及(involving)”和其变化形式旨在涵盖其后所列的项和其等效形式以及附加项。

Claims (96)

1.一种由数据处理系统执行以根据数据实体的属性之间的继承关系以计算高效的方式访问数据的方法,其中,这种继承能够被覆盖,该方法包括:
使用该数据处理系统的至少一个计算机硬件处理器来执行以下操作:
接收访问第一数据实体的特定实例的第一属性值的请求,其中:
该第一数据实体包括包含该第一属性的多个属性,
该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值,并且
该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值,
确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值;以及
当确定该第一属性被配置为覆盖从该第二属性继承的值时:
访问用于覆盖从该第二属性继承的值的覆盖值;
生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且
输出该第一响应;以及
当确定该第一属性未被配置为覆盖从该第二属性继承的值时:
访问从该第二属性继承的值;
生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且
输出该第二响应。
2.如权利要求1所述的方法,其中,该第一数据实体包括指示如下内容的信息:(i)该第一属性从该第二属性继承其值;以及(ii)该第一属性是否可配置为覆盖其所继承值。
3.如权利要求1或任何其他前述权利要求所述的方法,其中:
该数据处理系统包括被配置为存储这些数据实体的实例的至少一个数据存储,这些数据实体的实例包括该特定实例和该另一实例;并且
该请求包括可执行查询。
4.如权利要求3或任何其他前述权利要求所述的方法,其中,该可执行查询包括可执行结构化查询语言(SQL)查询。
5.如权利要求1或任何其他前述权利要求所述的方法,其中,该特定实例包括多个属性值,其中,该多个属性值中的至少一些属性值中的每一个是从不同数据实体的相应实例继承的。
6.如权利要求1或任何其他前述权利要求所述的方法,其中,该另一实例的第二属性被配置为从不同于该第二数据实体和该第一数据实体的第三数据实体的实例的第三属性继承其值。
7.如权利要求6或任何其他前述权利要求所述的方法,其中,访问从该第二属性继承的值包括:
确定该另一实例的第二属性是否被配置为覆盖从该第三属性继承的值;以及
当确定该另一实例的第二属性被配置为覆盖从该第三属性继承的值时:
访问用于将从该第三属性继承的值覆盖为从该第二属性继承的值的另一覆盖值;以及
当确定该另一实例的第二属性未被配置为覆盖从该第三属性继承的值时:
访问该第二属性从该第三属性继承的值。
8.如权利要求1或任何其他前述权利要求所述的方法,其中,该输出包括:
生成图形用户界面(GUI),该图形用户界面显示:
该第一属性值;以及
指示是否继承该第一属性值的信息。
9.如权利要求1或任何其他前述权利要求所述的方法,其中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:
将该第一多个属性分组为单个组;以及
根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
10.如权利要求9或任何其他前述权利要求所述的方法,其中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。
11.如权利要求9或任何其他前述权利要求所述的方法,其中,该分组标准是将从公共实例继承值的属性分组为该单个组。
12.如权利要求1或任何其他前述权利要求所述的方法,其中,该数据处理系统包括被配置为存储定义多个数据实体实例之间的关系的信息的至少一个数据存储。
13.如权利要求1或任何其他前述权利要求所述的方法,其中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
14.如权利要求13或任何其他前述权利要求所述的方法,其中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
15.如权利要求1或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
生成指示该第一属性值的图形用户界面(GUI)的第一部分;
将由该GUI指示的该第一属性值设置为该第二属性值;以及
显示该GUI。
16.如权利要求15或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
确定该第一属性是否可配置为覆盖其所继承值;以及
当确定该第一属性可配置为覆盖其所继承值时生成指示该第一属性可配置为覆盖其所继承值的该GUI的第二部分。
17.如权利要求16或任何其他前述权利要求所述的方法,其中,生成该GUI的第二部分包括:
使用户能够通过该GUI的第二部分指定用于覆盖从该第二属性继承的值的覆盖值。
18.如权利要求16或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
当确定该第一属性不可配置为覆盖其所继承值时生成指示该第一属性不可配置为覆盖其所继承值的该GUI的第二部分。
19.如权利要求1或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
防止覆盖从该另一实例的第二属性继承的值。
20.如权利要求1或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
生成GUI,该GUI允许用户配置该第一数据实体使得该第一属性从该第二属性继承其值。
21.如权利要求1或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
生成GUI,该GUI显示指示该第一属性值的来源的信息。
22.如权利要求21或任何其他前述权利要求所述的方法,其中,该GUI被配置为响应于鼠标悬停事件而显示指示该第一属性值的来源的信息。
23.如权利要求21或任何其他前述权利要求所述的方法,其中,指示该第一属性值的来源的信息指示了该来源是该另一实例的第二属性或该来源是覆盖值。
24.至少一个非暂态计算机可读介质,存储指令,这些指令在由数据处理系统执行时使该数据处理系统执行用于根据数据实体的属性之间的继承关系访问数据的方法,其中,这种继承能够被覆盖,该方法包括:
由该数据处理系统接收访问第一数据实体的特定实例的第一属性值的请求,其中:
该第一数据实体包括包含该第一属性的多个属性,
该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值,并且
该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;
确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值;
当确定该第一属性被配置为覆盖从该第二属性继承的值时:
访问用于覆盖从该第二属性继承的值的覆盖值;
生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且
输出该第一响应;以及
当确定该第一属性未被配置为覆盖从该第二属性继承的值时:
访问从该第二属性继承的值;
生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且
输出该第二响应。
25.如权利要求24所述的至少一个非暂态计算机可读存储介质,其中,该第一数据实体包括指示如下内容的信息:(i)该第一属性从该第二属性继承其值;以及(ii)该第一属性是否可配置为覆盖其所继承值。
26.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读介质,其中:
该数据处理系统包括被配置为存储这些数据实体的实例的至少一个数据存储,这些数据实体的实例包括该特定实例和该另一实例;并且
该请求包括可执行查询。
27.如权利要求26或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该可执行查询包括可执行结构化查询语言(SQL)查询。
28.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该特定实例包括多个属性值,其中,该多个属性值中的至少一些属性值中的每一个是从不同数据实体的相应实例继承的。
29.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该另一实例的第二属性被配置为从不同于该第二数据实体和该第一数据实体的第三数据实体的实例的第三属性继承其值。
30.如权利要求29或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,访问从该第二属性继承的值包括:
确定该另一实例的第二属性是否被配置为覆盖从该第三属性继承的值;以及
当确定该另一实例的第二属性被配置为覆盖从该第三属性继承的值时:
访问用于将从该第三属性继承的值覆盖为从该第二属性继承的值的另一覆盖值;以及
当确定该另一实例的第二属性未被配置为覆盖从该第三属性继承的值时:
访问该第二属性从该第三属性继承的值。
31.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该输出包括:
生成图形用户界面(GUI),该图形用户界面显示:
该第一属性值;以及
指示是否继承该第一属性值的信息。
32.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:
将该第一多个属性分组为单个组;以及
根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
33.如权利要求32或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。
34.如权利要求32或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该分组标准是将从公共实例继承值的属性分组为该单个组。
35.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该数据处理系统包括被配置为存储定义多个数据实体实例之间的关系的信息的至少一个数据存储。
36.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
37.如权利要求36或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
38.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
生成指示该第一属性值的图形用户界面(GUI)的第一部分;
将由该GUI指示的该第一属性值设置为该第二属性值;以及
显示该GUI。
39.如权利要求38或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
确定该第一属性是否可配置为覆盖其所继承值;以及
当确定该第一属性可配置为覆盖其所继承值时生成指示该第一属性可配置为覆盖其所继承值的该GUI的第二部分。
40.如权利要求39或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,生成该GUI的第二部分包括:
使用户能够通过该GUI的第二部分指定用于覆盖从该第二属性继承的值的覆盖值。
41.如权利要求39或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
当确定该第一属性不可配置为覆盖其所继承值时生成指示该第一属性不可配置为覆盖其所继承值的该GUI的第二部分。
42.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
防止覆盖从该另一实例的第二属性继承的值。
43.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
生成GUI,该GUI允许用户配置该第一数据实体使得该第一属性从该第二属性继承其值。
44.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
生成GUI,该GUI显示指示该第一属性值的来源的信息。
45.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该GUI被配置为响应于鼠标悬停事件而显示指示该第一属性值的来源的信息。
46.如权利要求24或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,指示该第一属性值的来源的信息指示了该来源是该另一实例的第二属性或该来源是覆盖值。
47.一种用于根据数据实体的属性之间的继承关系访问数据的数据处理系统,其中,这种继承能够被覆盖,该数据处理系统包括:
至少一个计算机硬件处理器;以及
至少一个存储指令的非暂态计算机可读介质,这些指令在由该至少一个计算机硬件处理器执行时使该至少一个计算机硬件处理器执行包括以下操作的方法:
接收访问第一数据实体的特定实例的第一属性值的请求,其中:
该第一数据实体包括包含该第一属性的多个属性,
该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值,并且
该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值,
确定该特定实例的第一属性是否被配置为覆盖从该第二属性继承的值;以及
当确定该第一属性被配置为覆盖从该第二属性继承的值时:
访问用于覆盖从该第二属性继承的值的覆盖值;
生成对该请求的第一响应,该第一响应包括指示该覆盖值作为该第一属性值的信息;并且
输出该第一响应;以及
当确定该第一属性未被配置为覆盖从该第二属性继承的值时:
访问从该第二属性继承的值;
生成对该请求的第二响应,该第二响应包括指示从该第二属性继承的值作为该第一属性值的信息;并且
输出该第二响应。
48.如权利要求47所述的数据处理系统,其中,该第一数据实体包括指示如下内容的信息:(i)该第一属性从该第二属性继承其值;以及(ii)该第一属性是否可配置为覆盖其所继承值。
49.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中:
该数据处理系统包括被配置为存储这些数据实体的实例的至少一个数据存储,这些数据实体的实例包括该特定实例和该另一实例;并且
该请求包括可执行查询。
50.如权利要求49或任何其他前述权利要求所述的数据处理系统,其中,该可执行查询包括可执行结构化查询语言(SQL)查询。
51.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该特定实例包括多个属性值,其中,该多个属性值中的至少一些属性值中的每一个是从不同数据实体的相应实例继承的。
52.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该另一实例的第二属性被配置为从不同于该第二数据实体和该第一数据实体的第三数据实体的实例的第三属性继承其值。
53.如权利要求52或任何其他前述权利要求所述的数据处理系统,其中,访问从该第二属性继承的值包括:
确定该另一实例的第二属性是否被配置为覆盖从该第三属性继承的值;以及
当确定该另一实例的第二属性被配置为覆盖从该第三属性继承的值时:
访问用于将从该第三属性继承的值覆盖为从该第二属性继承的值的另一覆盖值;以及
当确定该另一实例的第二属性未被配置为覆盖从该第三属性继承的值时:
访问该第二属性从该第三属性继承的值。
54.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该输出包括:
生成图形用户界面(GUI),该图形用户界面显示:
该第一属性值;以及
指示是否继承该第一属性值的信息。
55.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:
将该第一多个属性分组为单个组;以及
根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
56.如权利要求55或任何其他前述权利要求所述的数据处理系统,其中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。
57.如权利要求55或任何其他前述权利要求所述的数据处理系统,其中,该分组标准是将从公共实例继承值的属性分组为该单个组。
58.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该数据处理系统包括被配置为存储定义多个数据实体实例之间的关系的信息的至少一个数据存储。
59.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
60.如权利要求59或任何其他前述权利要求所述的数据处理系统,其中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
61.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
生成指示该第一属性值的图形用户界面(GUI)的第一部分;
将由该GUI指示的该第一属性值设置为该第二属性值;以及
显示该GUI。
62.如权利要求61或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
确定该第一属性是否可配置为覆盖其所继承值;以及
当确定该第一属性可配置为覆盖其所继承值时生成指示该第一属性可配置为覆盖其所继承值的该GUI的第二部分。
63.如权利要求62或任何其他前述权利要求所述的数据处理系统,其中,生成该GUI的第二部分包括:
使用户能够通过该GUI的第二部分指定用于覆盖从该第二属性继承的值的覆盖值。
64.如权利要求62或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
当确定该第一属性不可配置为覆盖其所继承值时生成指示该第一属性不可配置为覆盖其所继承值的该GUI的第二部分。
65.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
防止覆盖从该另一实例的第二属性继承的值。
66.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
生成GUI,该GUI允许用户配置该第一数据实体使得该第一属性从该第二属性继承其值。
67.如权利要求47或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
生成GUI,该GUI显示指示该第一属性值的来源的信息。
68.如权利要求67或任何其他前述权利要求所述的数据处理系统,其中,该GUI被配置为响应于鼠标悬停事件而显示指示该第一属性值的来源的信息。
69.如权利要求67或任何其他前述权利要求所述的数据处理系统,其中,指示该第一属性值的来源的信息指示了该来源是该另一实例的第二属性或该来源是覆盖值。
70.一种由数据处理系统执行以根据数据实体的属性之间的继承关系访问数据的方法,该方法包括:
使用该数据处理系统的至少一个计算机硬件处理器来执行以下操作:
接收访问第一数据实体的特定实例中的第一属性值的请求,其中:
该第一数据实体包括包含该第一属性的多个属性;并且
该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值;
确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;
访问从该第二属性继承的值;
生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;以及
输出该生成的响应。
71.如权利要求70所述的方法,其中,确定该特定实例的第一属性被配置为从该第二属性继承包括使用该第一数据实体来确定该第一属性被配置为从该第二属性继承其值。
72.如权利要求70或任何其他前述权利要求所述的方法,其中,该方法进一步包括:
由该数据处理系统接收访问该特定实例中的第三属性值的请求;
确定该特定实例的第三属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第四属性继承其值;
访问从该第四属性继承的值;
生成对该请求的响应,该响应包括指示从该第四属性继承的值作为该第三属性值的信息;以及
输出该生成的响应。
73.如权利要求70或任何其他前述权利要求所述的方法,其中,访问从该第二属性继承的值包括:
确定该第二数据实体实例的第二属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第三属性继承其值;以及
访问该第二属性从该第三属性继承的值。
74.如权利要求70或任何其他前述权利要求所述的方法,其中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:
将该第一多个属性分组为单个组;以及
根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
75.如权利要求74或任何其他前述权利要求所述的方法,其中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。
76.如权利要求74或任何其他前述权利要求所述的方法,其中,该分组标准是将从公共实例继承值的属性分组为该单个组。
77.如权利要求70或任何其他前述权利要求所述的方法,其中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
78.如权利要求77或任何其他前述权利要求所述的方法,其中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
79.至少一个非暂态计算机可读介质,存储指令,这些指令在由数据处理系统执行时使该数据处理系统执行用于根据数据实体的属性之间的继承关系访问数据的方法,该方法包括:
由该数据处理系统接收访问第一数据实体的特定实例中的第一属性值的请求,其中:
该第一数据实体包括包含该第一属性的多个属性;以及
该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值;
确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;
访问从该第二属性继承的值;
生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;以及
输出该生成的响应。
80.如权利要求79所述的至少一个非暂态计算机可读存储介质,其中,确定该特定实例的第一属性被配置为从该第二属性继承包括使用该第一数据实体来确定该第一属性被配置为从该第二属性继承其值。
81.如权利要求79或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该方法进一步包括:
由该数据处理系统接收访问该特定实例中的第三属性值的请求;
确定该特定实例的第三属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第四属性继承其值;
访问从该第四属性继承的值;
生成对该请求的响应,该响应包括指示从该第四属性继承的值作为该第三属性值的信息;以及
输出该生成的响应。
82.如权利要求79或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,访问从该第二属性继承的值包括:
确定该第二数据实体实例的第二属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第三属性继承其值;以及
访问该第二属性从该第三属性继承的值。
83.如权利要求79或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:
将该第一多个属性分组为单个组;以及
根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
84.如权利要求83或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。
85.如权利要求83或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该分组标准是将从公共实例继承值的属性分组为该单个组。
86.如权利要求79或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
87.如权利要求86或任何其他前述权利要求所述的至少一个非暂态计算机可读存储介质,其中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
88.一种用于根据数据实体的属性之间的继承关系访问数据的数据处理系统,该数据处理系统包括:
至少一个计算机硬件处理器;以及
至少一个存储指令的非暂态计算机可读介质,这些指令在由该至少一个计算机硬件处理器执行时使该至少一个计算机硬件处理器执行包括以下操作的方法:
接收访问第一数据实体的特定实例中的第一属性值的请求,其中:
该第一数据实体包括包含该第一属性的多个属性;以及
该特定实例包括该第一数据实体的多个属性中的零个、一个或更多个属性的值;
确定该特定实例的第一属性被配置为从不同于该第一数据实体的第二数据实体的另一实例的第二属性继承其值;
访问从该第二属性继承的值;
生成对该请求的响应,该响应包括指示从该第二属性继承的值作为该第一属性值的信息;以及
输出该生成的响应。
89.如权利要求88所述的数据处理系统,其中,确定该特定实例的第一属性被配置为从该第二属性继承包括使用该第一数据实体来确定该第一属性被配置为从该第二属性继承其值。
90.如权利要求88或任何其他前述权利要求所述的数据处理系统,其中,该方法进一步包括:
由该数据处理系统接收访问该特定实例中的第三属性值的请求;
确定该特定实例的第三属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第四属性继承其值;
访问从该第四属性继承的值;
生成对该请求的响应,该响应包括指示从该第四属性继承的值作为该第三属性值的信息;以及
输出该生成的响应。
91.如权利要求88或任何其他前述权利要求所述的数据处理系统,其中,访问从该第二属性继承的值包括:
确定该第二数据实体实例的第二属性被配置为从不同于该第一数据实体和该第二数据实体的第三数据实体的实例的第三属性继承其值;以及
访问该第二属性从该第三属性继承的值。
92.如权利要求88或任何其他前述权利要求所述的数据处理系统,其中,该特定实例包括包含该第一属性的第一多个属性的相应值,该第一多个属性被配置为从该另一实例的相应第二多个属性继承它们的值,其中,该请求包括访问该第一多个属性的值的请求,并且其中,该方法进一步包括:
将该第一多个属性分组为单个组;以及
根据该请求为该单个组生成单个可执行查询,其中,该单个可执行查询在由该数据处理系统执行时使该数据处理系统生成对该请求的响应。
93.如权利要求92或任何其他前述权利要求所述的数据处理系统,其中,将该第一多个属性分组为该单个组包括使用分组标准将该第一多个属性分组为该单个组。
94.如权利要求92或任何其他前述权利要求所述的数据处理系统,其中,该分组标准是将从公共实例继承值的属性分组为该单个组。
95.如权利要求88或任何其他前述权利要求所述的数据处理系统,其中,该数据处理系统管理该数据,其中,由该数据处理系统管理的该数据包括描述存储在分布式计算系统网络的分布式数据库中的数据的信息。
96.如权利要求95或任何其他前述权利要求所述的数据处理系统,其中,该数据处理系统被配置为针对由该分布式计算系统的分布式数据库存储的多个数据集中的每一个和/或针对被配置为由这些分布式计算系统执行的多个软件应用程序中的每一个存储一个实例。
CN202280012434.6A 2021-01-31 2022-01-28 在数据处理系统中使用数据实体和继承管理数据的技术 Pending CN116802624A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163143894P 2021-01-31 2021-01-31
US63/143,894 2021-01-31
PCT/US2022/014232 WO2022165123A1 (en) 2021-01-31 2022-01-28 Techniques for managing data in a data processing system using data entities and inheritance

Publications (1)

Publication Number Publication Date
CN116802624A true CN116802624A (zh) 2023-09-22

Family

ID=80786794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280012434.6A Pending CN116802624A (zh) 2021-01-31 2022-01-28 在数据处理系统中使用数据实体和继承管理数据的技术

Country Status (8)

Country Link
US (1) US20220245154A1 (zh)
EP (1) EP4285233A1 (zh)
JP (1) JP2024504564A (zh)
CN (1) CN116802624A (zh)
AU (1) AU2022212038A1 (zh)
CA (1) CA3206016A1 (zh)
DE (1) DE112022000876T5 (zh)
WO (1) WO2022165123A1 (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6704743B1 (en) * 1999-09-13 2004-03-09 Copernus, Inc. Selective inheritance of object parameters in object-oriented computer environment
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7934194B2 (en) * 2006-10-17 2011-04-26 The Mathworks, Inc. User-defined hierarchies of user-defined classes of graphical objects in a graphical modeling environment
US20080222129A1 (en) * 2007-03-05 2008-09-11 Komatsu Jeffrey G Inheritance of attribute values in relational database queries
US8682936B2 (en) * 2010-12-15 2014-03-25 Microsoft Corporation Inherited entity storage model
CN110140118B (zh) * 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的系统和方法
US10496737B1 (en) * 2017-01-05 2019-12-03 Massachusetts Mutual Life Insurance Company Systems, devices, and methods for software coding
US11256604B2 (en) * 2020-01-24 2022-02-22 Splunk Inc. Multiple modes of data collection and analysis in a microservices-based architecture

Also Published As

Publication number Publication date
AU2022212038A9 (en) 2024-02-08
AU2022212038A1 (en) 2023-06-29
WO2022165123A8 (en) 2022-09-01
JP2024504564A (ja) 2024-02-01
WO2022165123A1 (en) 2022-08-04
WO2022165123A9 (en) 2022-10-13
CA3206016A1 (en) 2022-08-04
EP4285233A1 (en) 2023-12-06
US20220245154A1 (en) 2022-08-04
DE112022000876T5 (de) 2023-12-21

Similar Documents

Publication Publication Date Title
US10878358B2 (en) Techniques for semantic business policy composition
US8180758B1 (en) Data management system utilizing predicate logic
US7743071B2 (en) Efficient data handling representations
US20040093559A1 (en) Web client for viewing and interrogating enterprise data semantically
US20110153578A1 (en) Method And Apparatus For Propagation Of File Plans From Enterprise Retention Management Applications To Records Management Systems
WO2011118003A1 (ja) ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体
US20220245125A1 (en) Dataset multiplexer for data processing system
US8726336B2 (en) Authorizations for analytical reports
US20220398337A1 (en) Data governance systems and methods
US11971909B2 (en) Data processing system with manipulation of logical dataset groups
US20220245154A1 (en) Techniques for managing data in a data processing system using data entities and inheritance
CN116917882A (zh) 用于访问由数据处理系统管理的数据实体的系统和方法
US20240146769A1 (en) Systems and methods for managing privileges in a data processing system
US20240086409A1 (en) Techniques for pre-assignment validation of data managed by a data processing system
CN116868182A (zh) 可操纵逻辑数据集组的数据处理系统
CN117677942A (zh) 数据治理系统和方法
CN117033452A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40101119

Country of ref document: HK