首页> 中国专利> 用于在分析应用环境中进行定制的系统和方法

用于在分析应用环境中进行定制的系统和方法

摘要

根据实施例,本文描述了一种用于在分析应用环境中提供对可扩展性和定制的支持的系统和方法。由分析应用环境提供的提取、变换、加载(ETL)或其它数据流水线或处理可以根据分析应用模式和/或与客户(租户)相关联的客户模式进行操作,以从客户的企业软件应用或数据环境接收数据,用于加载到数据仓库实例中。语义层使得能够使用自定义语义扩展来扩展语义模型,并在表示层提供自定义内容。扩展向导或开发环境可以通过定义分支和步骤,然后将扩展的或定制的语义模型推广到生产环境来引导用户使用自定义语义扩展来扩展或定制语义模型。

著录项

说明书

优先权要求:

本申请要求于2019年5月6日提交的题为“SYSTEM AND METHOD FORCUSTOMIZATION IN AN APPLICATION ANALYTICS ENVIRONMENT”、申请号为62/844,004的美国临时专利申请的优先权权益;该申请通过引用包含本文。

技术领域

本文描述的实施例一般而言涉及计算机数据分析以及提供商业智能数据的基于计算机的方法,并且尤其涉及用于在分析应用环境中提供对可扩展性和定制的支持的系统和方法。

背景技术

一般而言,在组织内,数据分析使得能够对大量数据进行基于计算机的检查或分析,以便从该数据中得出结论或其它信息;而商业智能工具则为组织的商业用户提供描述其企业数据的信息,这些信息采用的格式使得这些商业用户能够做出战略性商业决策。

越来越有兴趣开发在组织的企业软件应用或数据环境(诸如,例如Oracle融合应用(Oracle Fusion Applications)环境或其它类型企业软件应用或数据环境)的上下文中;或在软件即服务(SaaS)或云环境(诸如,例如Oracle分析云(Oracle Analytics Cloud)或Oracle云基础设施(Oracle Cloud Infrastructure)环境或其它类型的云环境)的上下文中利用数据分析的使用的软件应用。

但是,出于提供数据分析或商业智能数据或开发软件分析应用的目的,数据分析环境的不同客户可能对其数据如何被分类、聚合或变换有不同要求。

发明内容

根据实施例,本文描述了一种用于在分析应用环境中提供对可扩展性和定制的支持的系统和方法。由分析应用环境提供的提取、变换、加载(ETL)或其它数据流水线或处理可以根据分析应用模式和/或与客户(租户)相关联的客户模式进行操作,以从客户的企业软件应用或数据环境接收数据,用于加载到数据仓库实例中。语义层使得能够使用自定义语义扩展来扩展语义模型,并在表示层提供自定义内容。扩展向导或开发环境可以通过定义分支和步骤,然后将扩展的或定制的语义模型推广到生产环境来引导用户使用自定义语义扩展来扩展或定制语义模型。

附图说明

图1图示了根据实施例的用于提供分析应用环境的系统。

图2进一步图示了根据实施例的用于提供分析应用环境的系统。

图3进一步图示了根据实施例的用于提供分析应用环境的系统。

图4进一步图示了根据实施例的用于提供分析应用环境的系统。

图5进一步图示了根据实施例的用于提供分析应用环境的系统。

图6进一步图示了根据实施例的用于提供分析应用环境的系统。

图7进一步图示了根据实施例的用于提供分析应用环境的系统。

图8进一步图示了根据实施例的用于提供分析应用环境的系统。

图9进一步图示了根据实施例的用于提供分析应用环境的系统。

图10图示了根据实施例的用于提供分析应用环境的方法的流程图。

图11图示了根据实施例的启用扩展性和定制的分析应用环境。

图12进一步图示了根据实施例的在分析应用环境中的可扩展性和定制。

图13进一步图示了根据实施例的在分析应用环境中的可扩展性和定制。

图14进一步图示了根据实施例的在分析应用环境中的可扩展性和定制。

图15图示了根据实施例的在定制或扩展分析应用环境中对多个用户的支持。

图16进一步图示了根据实施例的在定制或扩展分析应用环境中对多个用户的支持。

图17进一步图示了根据实施例的在定制或扩展分析应用环境中对多个用户的支持。

图18图示了根据实施例的在分析应用环境中推广自定义语义扩展。

图19图示了根据实施例的自服务(self-service)数据模型。

图20图示了根据实施例的策划的(curated)数据模型。

具体实施方式

如上所述,在组织内,数据分析使得能够对大量数据进行基于计算机的检查或分析,以便从该数据中得出结论或其它信息;而商业智能工具则为组织的商业用户提供描述其企业数据的信息,这些信息采用的格式可以使得这些商业用户能够做出战略性商业决策。

越来越有兴趣开发在组织的企业软件应用或数据环境(诸如,例如Oracle融合应用环境或其它类型企业软件应用或数据环境)的上下文中;或在软件即服务(SaaS)或云环境(诸如,例如Oracle分析云或Oracle云基础设施环境或其它类型的云环境)的上下文中利用数据分析的使用的软件应用。

根据实施例,分析应用环境使得能够在组织的企业软件应用或数据环境,或软件即服务或其它类型的云环境的上下文中进行数据分析;并支持开发计算机可执行的软件分析应用。

根据实施例,数据流水线或处理(诸如例如提取、变换、加载处理)可以根据适于解决特定分析用例或最佳实践的分析应用模式来操作,以从客户(租户)的企业软件应用或数据环境接收数据,用于加载到数据仓库实例中。

根据实施例,每个客户(租户)可以另外与客户租赁和客户模式相关联。数据流水线或处理使用如从其企业软件应用或数据环境接收到的、如由分析应用模式及其客户模式的组合所定义的数据填充其数据仓库实例和数据库表。

根据实施例,所描述的系统和方法的技术优势包括使用在分析应用环境(云)租赁内维护的系统范围或共享的分析应用模式或数据模型;以及在客户租赁内维护的特定于租户的客户模式;使得每个客户(租户)的数据仓库实例或数据库表能够被自动或定期(例如,每小时/每天/每周或基于其它方式)用如从其企业软件应用或数据环境接收到的实时数据(实时表)进行填充或以其它方式相关联,并反映特定分析用例的最佳实践。此类分析用例的示例可以包括企业资源计划(ERP)、人力资本管理(HCM)、客户体验(CX)、供应链管理(SCM)、企业绩效管理(EPM)或其它类型的分析用例。然后,可以使用填充的数据仓库实例或数据库表来创建计算机可执行的软件分析应用,或确定与数据相关联的数据分析或其它信息。

根据实施例,计算机可执行软件分析应用可以与由数据集成组件(诸如,例如,Oracle数据集成器(ODI)环境或其它类型的数据集成组件)维护的数据流水线或处理(诸如例如提取、变换、加载(ETL)处理、或提取、加载、变换(ELT)处理)相关联。

根据实施例,分析应用环境可以与数据仓库环境或组件(诸如,例如,Oracle自治数据仓库(ADW)、Oracle自治数据仓库云(ADWC),或其它类型的数据仓库环境或适合存储大量数据的组件)一起操作;这些数据仓库环境或组件可以经由源自企业软件应用或数据环境(诸如,例如Oracle融合应用或其它类型的企业软件应用或数据环境)的星型模式进行填充。可以在与该客户(租户)相关联且只能该客户(租户)访问的例如ADWC租赁中供给对分析应用环境的每个客户(租户)可用的数据;同时提供对共享基础设施的其它特征的访问。

例如,根据实施例,分析应用环境可以包括数据流水线或处理层,该数据流水线或处理层使得客户(租户)能够摄取从其Oracle融合应用环境中提取的、要加载到其ADWC租赁内的数据仓库实例内中的数据,包括支持诸如多个数据仓库模式、数据提取和目标模式的特征以及监视数据流水线或处理阶段;伴随着提供通用变换图或储存库的共享数据流水线或处理基础设施。

介绍

根据实施例,数据仓库环境或组件(诸如,例如,Oracle自治数据仓库(ADW)、Oracle自治数据仓库云(ADWC),或适于存储大量数据的其它类型的数据仓库环境或组件)可以提供用于存储由一个或多个业务应用收集的数据的中央储存库。

例如,根据实施例,可以将数据仓库环境或组件提供为采用在线分析处理(OLAP)或其它技术以从多个不同数据源生成与业务相关的数据的多维数据库。组织可以从一个或多个垂直和/或水平业务应用中提取此类与业务相关的数据,并将提取的数据注入到与该组织相关联的数据仓库实例中,

水平业务应用的示例可以包括如上所述的ERP、HCM、CX、SCM和EPM,并跨各种企业组织提供广泛的功能范围。

垂直业务应用的范围通常比水平业务应用窄,但是提供对在定义的范围或行业内的数据链中进一步上下游的数据的访问。垂直业务应用的示例可以包括用于在特定组织内使用的医疗软件或银行软件。

虽然软件供应商越来越多地供应企业软件产品或组件作为SaaS或面向云的产品,诸如,例如,Oracle融合应用;但是其它企业软件产品或组件(诸如,例如,Oracle ADWC)可以作为SaaS、平台即服务(PaaS)或混合订阅中的一种或多种供应;常规商业智能(BI)应用和处理的企业用户通常面临从其水平和垂直业务应用中提取数据并将提取的数据引入到数据仓库中的任务–这是可能既耗时又耗费资源的处理。

根据实施例,分析应用环境允许客户(租户)开发用于与BI组件(诸如,例如Oracle商业智能应用(OBIA)环境或适于检查源自客户(租户)本身或源自多个第三方实体的大量数据的其它类型的BI组件)一起使用的计算机可执行软件分析应用。

例如,根据实施例,当与包括数据仓库组件的SaaS业务生产力软件产品套件一起使用时,分析应用环境可以用于用来自套件的业务生产力软件应用的数据填充数据仓库组件。预定义的数据集成流可以使业务生产力软件应用和数据仓库之间的ETL数据处理自动化,该处理原本可能按常规方式或由那些服务的用户手动执行。

作为另一个示例,根据实施例,分析应用环境可以用数据库模式来预先配置,该数据库模式用于存储源自SaaS产品套件的各种业务生产力软件应用的合并数据。这种预先配置的数据库模式可以用于在SaaS产品套件中供应的生产力软件应用和对应的事务数据库之间提供统一性;同时允许用户放弃手动设计、调整和建模所提供的数据仓库的处理。

作为另一个示例,根据实施例,分析应用环境可以用于在各种业务生产力软件应用的上下文中用描述与业务相关的数据对象的相关元数据来预填充数据仓库实例的报告界面,例如,以包括预定义的仪表盘(dashboards)、关键绩效指标(KPI)或其它类型的报告。

分析应用环境

图1图示了根据实施例的用于提供分析应用环境的系统。

如图1中所示,根据实施例,分析应用环境100可以由计算机系统提供,或以其它方式在计算机系统处操作,该计算机系统具有计算机硬件(例如,处理器、存储器)101,并且包括作为控制平面102和数据平面104操作的一个或多个软件组件,并且提供对数据仓库或数据仓库实例160的访问。

根据实施例,图1中所示的以及如本文关于各种其它实施例进一步描述的组件和处理可以被提供为可由计算机系统或其它类型的处理设备执行的软件或程序代码。

例如,根据实施例,本文描述的组件和处理可以由云计算系统或其它适当编程的计算机系统来提供。

根据实施例,控制平面进行操作以提供对在SaaS或云环境(诸如,例如,Oracle分析云或Oracle云基础设施环境或其它类型的云环境)的上下文中供应的云或其它软件产品的控制。

例如,根据实施例,控制平面可以包括控制台界面110,该控制台界面110使得具有设备硬件12、管理应用14和用户界面16的客户端计算机设备10能够在客户(租户)20和/或具有供给组件111的云环境的控制下进行访问。

根据实施例,控制台界面可以使得操作图形用户界面(GUI)和/或命令行界面(CLI)或其它界面的客户(租户)能够进行访问;和/或可以包括供SaaS或云环境的提供者及其客户(租户)使用的界面。

例如,根据实施例,控制台界面可以提供允许客户供给用于在其SaaS环境内使用的服务以及配置已供给的那些服务的界面。

根据实施例,供给组件可以包括用于供给由供给命令指定的服务的各种功能。

例如,根据实施例,客户(租户)可以经由控制台界面访问和利用供给组件,以购买一套业务生产力软件应用中的一个或多个以及与这些软件应用一起使用的数据仓库实例。

根据实施例,客户(租户)可以请求在数据仓库内供给客户模式164。客户还可以经由控制台界面供应与数据仓库实例相关联的多个属性,包括所需属性(例如,登录凭据)和可选属性(例如,大小或速度)。然后,供给组件可以供给所请求的数据仓库实例,包括数据仓库的客户模式;并使用由客户供应的适当信息来填充数据仓库实例。

根据实施例,供给组件还可以用于例如通过改变或更新针对特定客户(租户)的ETL处理运行(ETL process run)的请求频率来更新或编辑数据仓库实例和/或在数据平面处操作的ETL处理。

根据实施例,供给组件还可以包括供给应用编程接口(API)112、多个工作者115、计量管理器116和数据平面API 118,如下面进一步描述的。当在控制台界面处接收到命令、指令或其它输入时,控制台界面可以例如通过进行API调用来与供给API通信,以在SaaS环境中供给服务,或对供给的服务进行配置更改。

根据实施例,数据平面API可以与数据平面通信。

例如,根据实施例,可以经由数据平面API将针对由数据平面提供的服务的供给和配置更改传送到数据平面。

根据实施例,计量管理器可以包括计量通过控制平面供给的服务和服务的使用的各种功能。

例如,根据实施例,出于计费目的,计量管理器可以记录针对特定客户(租户)经由控制平面供给的处理器随时间的使用情况。同样,出于计费目的,计量管理器可以记录被分区以供SaaS环境的客户使用的数据仓库的存储空间量。

根据实施例,数据平面可以包括数据流水线或处理层120和数据变换层134,它们一起处理来自组织的企业软件应用或数据环境(诸如,例如,在客户(租户)的SaaS环境中供给的业务生产力软件应用)的操作或事务数据。数据流水线或处理可以包括各种功能,这些功能可以从SaaS环境中供给的业务应用和数据库中提取事务数据,并且然后将变换的数据加载到数据仓库中。

根据实施例,数据变换层可以包括系统用来将从SaaS环境中供给的业务应用和对应的事务数据库接收到的事务数据变换成被分析应用环境理解的模型格式的数据模型,诸如,例如,知识模型(KM)或其它类型的数据模型。可以以适合于存储在数据仓库中的任何数据格式来提供模型格式。

根据实施例,由数据平面提供的数据流水线或处理可以包括监视组件122、数据暂存(staging)组件124、数据质量组件126和数据投影组件128,如下面进一步描述的。

根据实施例,数据变换层可以包括维度生成组件136、事实生成组件138和聚合生成组件140,如下面进一步描述的。数据平面还可以包括数据和配置用户界面130,以及映射和配置数据库132。

根据实施例,数据仓库可以包括默认分析应用模式(根据一些实施例在本文中称为分析仓库模式)162,并且对于系统的每个客户(租户),包括客户模式,如上所述。

根据实施例,数据平面负责执行提取、变换和加载(ETL)操作,包括从组织的企业软件应用或数据环境(诸如,例如,SaaS环境中供应的业务生产力软件应用和对应的事务数据库)中提取事务数据、将提取的数据变换成模型格式,并将变换的数据加载到数据仓库的客户模式中。

例如,根据实施例,环境的每个客户(租户)可以与数据仓库内其自己的客户租赁相关联,该数据仓库与其自己的客户模式相关联;并且可以被附加地提供对分析应用模式的只读访问权限,该只读访问权限可以由数据流水线或处理(例如,ETL处理)定期或基于其它方式进行更新。

根据实施例,为了支持多个租户,系统可以使得能够使用多个数据仓库或数据仓库实例。

例如,根据实施例,用于第一租户的第一仓库客户租赁可以包括第一数据库实例、第一暂存区域和多个数据仓库或数据仓库实例中的第一数据仓库实例;而用于第二租户的第二客户租赁可以包括第二数据库实例、第二暂存区域和多个数据仓库或数据仓库实例中的第二数据仓库实例。

根据实施例,可以调度数据流水线或处理以一定间隔(例如,每小时/每天/每周)执行以从企业软件应用或数据环境(诸如,例如,在SaaS环境中供给的业务生产力软件应用和对应的事务数据库106)中提取事务数据。

根据实施例,提取处理108可以提取事务数据,从而提取数据流水线或处理可以将提取的数据插入到数据暂存区域中,该数据暂存区域可以充当提取的数据的临时暂存区域。数据质量组件和数据保护组件可以用于确保提取的数据的完整性。

例如,根据实施例,当数据被临时保持在数据暂存区域中时,数据质量组件可以对提取的数据执行验证。

根据实施例,当提取处理已完成其提取时,数据变换层可以用于开始变换处理,以将提取的数据变换成模型格式以加载到数据仓库的客户模式中。

如上所述,根据实施例,数据流水线或处理可以与数据变换层结合操作以将数据变换成模型格式。映射和配置数据库可以存储元数据和数据映射,这些元数据和数据映射定义由数据变换使用的数据模型。数据和配置用户界面(UI)可以促进对映射和配置数据库的访问和更改。

根据实施例,基于在映射和配置数据库中定义的数据模型,监视组件可以确定要变换的几个不同数据集的依赖性。基于确定的依赖性,监视组件可以确定应首先将几个不同数据集中的哪个变换成模型格式。

例如,根据实施例,如果第一模型数据集不包括对任何其它模型数据集的依赖性;并且第二模型数据集包括对第一模型数据集的依赖性;那么监视组件可以确定在变换第二数据集之前变换第一数据集,以适合第二数据集对第一数据集的依赖性。

根据实施例,数据变换层可以例如根据如上所述的数据模型将提取的数据变换成适合于加载到数据仓库的客户模式中的格式。在变换期间,数据变换可以适当地执行维度生成、事实生成和聚合生成。维度生成可以包括生成用于加载到数据仓库实例中的维度或字段。

例如,根据实施例,维度可以包括诸如例如“名称”、“地址”或“年龄”之类的数据类别。事实生成包括数据可以采用的值或“度量”的生成。事实与数据仓库实例中的适当维度相关联。聚合生成包括创建数据映射,该数据映射计算变换的数据到数据仓库实例的客户模式164中的现有数据的聚合。

根据实施例,一旦任何变换就位(如数据模型所定义的),数据流水线或处理就可以读取源数据、应用变换,然后将数据推送到数据仓库实例。

根据实施例,数据变换可以用规则表达,并且一旦发生变换,就可以在暂存区域处中间保持值,在该暂存区域处,数据质量组件和数据投影组件可以在数据被上传到数据仓库实例处的客户模式之前验证和检查变换的数据的完整性。可以在提取、变换、加载处理运行时例如在许多计算实例或虚拟机处提供监视。在提取、变换、加载处理期间也可以维持依赖性,并且数据流水线或处理可以参与此类排序决策。

根据实施例,在变换提取的数据之后,数据流水线或处理可以执行仓库加载过程150,以将变换的数据加载到数据仓库实例的客户模式中。将变换的数据加载到客户模式之后,可以分析变换的数据并将其用于各种附加的商业智能处理中。

水平和垂直集成的业务软件应用通常涉及实时捕获数据。这是水平和垂直集成的业务软件应用通常用于日常工作流,并将数据存储在事务数据库中的结果,这意味着通常只有最新数据被存储在此类数据库中。

例如,虽然当员工调任办公室时HCM应用可能会更新与该员工相关联的记录,但是这种HCM应用通常不会维护该员工在公司任职期间曾工作的每个办公室的记录。由此,试图确定公司内员工流动性的与BI相关的查询在事务数据库中将没有足够的记录来完成这种查询。

根据实施例,在BI应用易于理解的上下文中,通过存储除水平和垂直集成的业务软件应用生成的当前数据之外的历史数据,如使用上述技术填充的数据仓库实例为BI应用提供了使用例如由业务生产力和分析产品套件或由客户选择的SQL工具提供的界面来处理此类查询的资源。

数据流水线处理

图2进一步图示了根据实施例的用于提供分析应用环境的系统。

如图2中所示,根据实施例,使用如上所述的数据流水线处理,数据可以源自例如客户(租户)的企业软件应用或数据环境(106);或作为源自一个或多个特定于客户的应用107的自定义数据109;并加载到数据仓库实例,在一些示例中包括使用对象存储装置105来存储数据。

根据实施例,数据流水线或处理为每个客户(租户)维护分析应用模式,例如作为星型模式,该分析应用模式由系统根据特定分析用例(例如人力资本管理(HCM)分析或企业资源计划(ERP)分析)的最佳实践定期或基于其它方式进行更新。

根据实施例,对于每个客户(租户),系统在分析应用环境(云)租赁114内使用由系统维护和更新的分析应用模式基于对该客户的企业应用环境内以及客户租赁117内的数据的分析来预填充客户的数据仓库实例。由此,系统维护的分析应用模式使得数据能够通过数据流水线或处理从客户的环境中检索到,并以“实时”方式加载到客户的数据仓库实例中。

根据实施例,分析应用环境还为环境的每个客户提供易于被客户修改并允许客户补充和利用其自己的数据仓库实例内的数据的客户模式。对于分析应用环境的每个客户,其结果数据仓库实例作为数据库操作,该数据库的内容部分由客户控制;并且部分由分析应用环境(系统)控制;包括其数据库表现为用已经从其企业应用环境中检索到的适当数据预填充,以解决各种分析用例,例如HCM分析或ERP分析。

例如,根据实施例,数据仓库(例如,Oracle自治数据仓库、ADWC)可以包括分析应用模式,并且对于每个客户/租户,包括源自其企业软件应用或数据环境的客户模式。数据仓库租赁中供给的数据(例如,ADWC租赁)仅该租户可访问;而同时允许访问共享分析应用环境的各种特征,例如,与ETL相关的特征或其它特征。

根据实施例,为了支持多个客户/租户,该系统使得能够使用多个数据仓库实例;其中例如第一客户租赁可以包括第一数据库实例、第一暂存区域和第一数据仓库实例;并且第二客户租赁可以包括第二数据库实例、第二暂存区域和第二数据仓库实例。

根据实施例,对于特定的客户/租户,在提取其数据时,数据流水线或处理可以将提取的数据插入到租户的数据暂存区域中,该数据暂存区域可以充当用于提取的数据的临时暂存区域。可以使用数据质量组件和数据保护组件来确保提取的数据的完整性;例如,通过对提取的数据执行验证,同时将数据临时保持在数据暂存区域中。当提取处理完成其提取时,可以使用数据变换层开始变换处理、将提取的数据变换成模型格式,以加载到数据仓库的客户模式中。

提取、变换、加载/发布

图3进一步图示了根据实施例的用于提供分析应用环境的系统。

如图3中所示,根据实施例,使用如上所述的数据流水线处理从例如客户(租户)的企业软件应用或数据环境中提取数据的处理;或作为源自一个或多个特定于客户的应用的自定义数据;以及将数据加载到数据仓库实例或刷新数据仓库中的数据通常涉及由ETP服务160或处理(包括由一个或多个计算实例170执行的一个或多个提取服务163;变换服务165;加载/发布服务167)执行的三个主要阶段。

提取:根据实施例,用于提取的视图对象的列表可以例如经由ReST调用被提交给例如Oracle BI云连接器(BICC)组件。提取的文件可以被上传到对象存储组件,诸如,例如,Oracle存储服务(OSS)组件,用于存储数据。

变换:根据实施例,变换处理从对象存储组件(例如,OSS)中获取数据文件,并在将其加载到位于数据流水线或处理的内部并且不暴露给客户(租户)的目标数据仓库(例如,ADWC数据库)的同时应用业务逻辑。

加载/发布:根据实施例,加载/发布服务或处理从例如ADWC数据库或仓库获取数据,并将其发布到客户(租户)可访问的数据仓库实例。

多个客户(租户)

图4进一步图示了根据实施例的用于提供分析应用环境的系统。

如图示了根据实施例的具有多个租户(客户)的系统的操作的图4中所示,数据可以源自例如多个客户(租户的)企业软件应用或数据环境中的每一个,使用如上所述的数据流水线处理;并加载到数据仓库实例。

根据实施例,数据流水线或处理由系统根据特定分析用例的最佳实践为多个客户(租户)(例如客户A 180、客户B 182)中的每一个维护定期或基于其它方式更新的分析应用模式。

根据实施例,对于多个客户(例如,客户A、B)中的每一个,系统使用由系统维护和更新的分析应用模式162A、162B基于对该客户的企业应用环境106A、106B中以及每个客户的租赁(例如,客户A租赁181、客户B租赁183)中的数据的分析来预填充客户的数据仓库实例;使得通过数据流水线或处理从客户的环境中检索数据,并将其加载到客户的数据仓库实例160A、160B。

根据实施例,分析应用环境还为环境的多个客户中的每个客户提供易于被客户修改并允许客户补充和利用其自己的数据仓库实例中的数据的客户模式(例如,客户A模式164A、客户B模式164B)。

如上所述,根据实施例,对于分析应用环境的多个客户中的每个客户,其结果数据仓库实例作为数据库操作,该数据库的内容部分由客户控制;并且部分由分析应用环境(系统)控制;包括其数据库表现为用已经从其企业应用环境中检索到的适当数据预填充,以解决各种分析用例。当针对特定客户的提取处理108A、108B完成其提取之后,可以使用数据变换层开始变换处理,以将提取的数据变换成模型格式,以加载到数据仓库的客户模式中。

激活计划

图5进一步图示了根据实施例的用于提供分析应用环境的系统。

根据实施例,激活计划186可以用于控制针对特定功能区域的客户的数据流水线或处理服务的操作,以解决该客户(租户)的特定需求。

例如,根据实施例,激活计划可以定义以特定顺序、在一天中的特定时间,以及在特定时间窗口内运行的多个提取、变换和加载(发布)服务或步骤。

根据实施例,每个客户可以与其自己的(一个或多个)激活计划相关联。例如,第一个客户A的激活计划可以确定要从该客户的企业软件应用环境(例如,其融合应用环境)中检索的表,或者确定如何按顺序运行服务及其处理;而第二个客户B的激活计划可以同样确定要从该客户的企业软件应用环境中检索的表,或者确定如何按顺序运行服务及其处理。

根据实施例,激活计划可以被存储在映射和配置数据库中,并且可由客户经由数据和配置UI进行定制。每个客户可以有多个激活计划。根据其激活计划为各种客户执行ETL处理的计算实例/服务(虚拟机)可以专用于特定服务以使用激活计划,并且然后释放以供其它服务和激活计划使用。

根据实施例,基于对一段时间内记录的历史性能数据的确定,系统可以例如针对与特定租户相关联的一个或多个功能区域,或者跨与多个租户相关联的一系列激活计划来优化激活计划的执行,以解决这些租户对VM和服务级别协议(SLA)的利用。这样的历史数据可以包括加载量和加载时间的统计。

例如,根据实施例,历史数据可以包括提取大小、提取计数、提取时间、仓库大小、变换时间、发布(加载)时间、查看对象提取大小、查看对象提取记录计数、查看对象提取时间、仓库表计数、为表处理的记录计数、仓库表变换时间、发布表计数和发布时间。这样的历史数据可以用于估计和计划当前和将来的激活计划,以便组织各种任务,诸如,例如,以顺序或并行运行,以达到最小时间来运行激活计划。此外,收集的历史数据可以用于跨租户的多个激活计划进行优化。在一些实施例中,基于历史数据的激活计划(即,特定的作业序列,诸如ETL)的优化可以是自动的。

ETL处理流程

图6进一步图示了根据实施例的用于提供分析应用环境的系统。

如图6中所示,根据实施例,该系统使得由(例如,Oracle)管理的租赁内的数据配置/管理/ETL//状态服务190控制的数据能够从每个客户的企业软件应用环境(例如,其融合应用环境)(在这个示例中,包括BICC组件)经由存储云服务192(例如,OSS)流动,并且从那里流到数据仓库实例。

如上所述,根据实施例,数据流可以由一个或多个服务来管理,包括例如如上所述的提取服务和变换服务,并且参考ETL储存库193,从存储云服务中获取数据,并将数据加载到在数据流水线或处理内部并且不暴露给客户的内部目标数据仓库(例如,ADWC数据库)194中。

根据实施例,将数据分阶段移动到数据仓库中,然后移动到数据库表更改日志195中,从那里,加载/发布服务可以将客户数据加载到在其客户租赁内与客户相关联并可由客户访问的目标数据仓库实例中。

ETL阶段

图7进一步图示了根据实施例的用于提供分析应用环境的系统。

根据实施例,从企业应用提取、变换和加载数据到数据仓库实例涉及多个阶段,并且每个阶段可以具有若干个顺序或并行作业;并且在不同的空间/硬件上运行,包括用于每个客户的不同的暂存区域196、198。

分析应用环境度量

图8进一步图示了根据实施例的用于提供分析应用环境的系统。

如图8中所示,根据实施例,计量管理器可以包括计量通过控制平面供给的服务以及服务的使用并提供供给的度量142的功能。

例如,出于计费目的,计量管理器可以记录经由控制平面针对特定客户供给的处理器在一段时间内的使用情况。同样,出于计费目的,计量管理器可以记录分区的数据仓库的存储空间量,以供SaaS环境的客户使用。

分析应用环境定制

图9进一步图示了根据实施例的用于提供分析应用环境的系统。

如图9中所示,根据实施例,除了可以使用如上所述的数据流水线处理源自例如客户的企业软件应用或数据环境的数据之外,源自一个或多个特定于客户的应用107A、107B的一个或多个附加自定义数据109A、109B也可以使用以下任一种被提取、变换和加载到数据仓库实例:如上所述的数据流水线处理,在一些示例中包括使用对象存储装置来存储数据;和/或从客户的角度可变的自定义ETL或其它处理144。一旦数据被加载到其数据仓库实例中,客户就可以创建将来自其客户模式和软件分析应用模式的表进行合并的业务数据库视图;并且可以使用例如由业务生产力和分析产品套件或由客户选择的SQL工具提供的界面来查询其数据仓库实例。

解析应用环境方法

图10图示了根据实施例的用于提供分析应用环境的方法的流程图。

如图10中所示,根据实施例,在步骤200处,分析应用环境提供对数据仓库的访问,以供多个租户存储数据,其中该数据仓库与分析应用模式相关联。

在步骤202处,多个租户中的每个租户与客户租赁以及与该租户在填充数据仓库实例时使用的客户模式相关联。

在步骤204处,用从企业软件应用或数据环境接收的数据填充数据仓库的实例,其中与分析应用环境的特定租户相关联的数据根据分析应用模式和与该特定租户相关联的客户模式在与该特定租户相关联并可由该特定租户访问的数据仓库实例中被供给。

可扩展性和定制

出于提供数据分析或商业智能数据或开发软件分析应用的目的,数据分析环境的不同客户在如何分类、聚合或变换其数据方面可能有不同的要求。

根据实施例,为了支持这样的不同要求,系统可以包括语义层,该语义层使得能够使用自定义语义扩展来扩展语义数据模型(语义模型),并在表示层提供自定义内容。扩展向导或开发环境可以通过定义分支和步骤,然后将扩展的或定制的语义模型推广到生产环境来引导用户使用自定义的语义扩展来扩展或定制语义模型。

根据各种实施例,所描述的方法的技术优点包括对附加类型的数据源的支持。例如,用户可以基于源自第一供应商产品的ERP数据和源自第二不同供应商产品的HCM数据的组合;或基于从具有不同监管要求的多个数据源接收到的数据的组合来执行数据分析。用户定义的扩展或定制可以承受对基础系统的修补、更新或其它更改。

图11图示了根据实施例的用于在分析应用环境中支持可扩展性和定制的系统。

根据实施例,语义层可以包括定义客户数据的语义模型的数据;这在使用通常被理解的业务术语帮助用户理解和访问该数据时是有用的。语义层可以包括映射到物理数据模型或数据平面的物理层;作为其中可以定义计算的映射或变换层进行操作的逻辑层;以及使得用户能够访问作为内容的数据的表示层。

如图11中所示,根据实施例,语义层230可以包括可以用于提供打包内容234的打包(开箱即用(out-of-the-box)、初始的)语义模型232。例如,系统可以使用如上所述的ETL或其它数据流水线或处理将数据从客户的企业软件应用或数据环境加载到数据仓库实例中,其中打包的语义模型可以用于将打包的内容提供给表示层。

根据实施例,语义层还可以与一个或多个语义扩展236相关联,该语义扩展可以用于扩展打包的语义模型,并向表示层240提供自定义内容238。

根据实施例,表示层可以使得能够使用例如软件分析应用、用户界面、仪表盘、关键绩效指标(KPI)242;或如可能由诸如例如Oracle分析云或Oracle应用分析(OracleAnalytics for Applications)之类的产品提供的其它类型的报告或界面来访问数据内容。

分支和步骤

图12进一步图示了根据实施例的在分析应用环境中的可扩展性和定制。

如图12中所示,根据实施例,用户可以使用一个或多个自定义语义扩展来扩展或定制语义模型250,然后系统可以使用该自定义语义扩展来向表示层提供自定义内容。

例如,根据实施例,用户可以使用具有设备硬件254和用户界面256的客户端(计算机)设备252与引导用户通过自定义语义扩展的定制和使用的扩展向导258或软件开发组件进行交互或以其它方式进行操作。

根据实施例,用户可以编辑或创建新的定制分支260,以扩展或定制语义模型。分支的选择为用户提供语义模型的实例以与其特定定制或扩展一起工作并且包含其特定定制或扩展。每个分支均作为原子工作单元操作,并且可以包括与定制类型和对应扩展相关联的一个或多个定制步骤。扩展向导可以是数据感知的,并在定制分支时提供底层数据的预览。例如,当用户指定要定制的特定分支时,扩展向导可以呈现示例数据表供用户审查;并且此后通过定制(例如,针对使用数据进行定义或聚合)来引导用户。不同类型的分支可以与不同的扩展向导相关联。

图13进一步图示了根据实施例的在分析应用环境中的可扩展性和定制。

如图13中所示,根据实施例,扩展向导可以引导用户通过动作261以编辑/添加一个或多个定制步骤262、选择定制类型263以及完成/填充适当的扩展向导264。在每个步骤处,扩展向导可以向用户呈现一个或多个向导屏幕,以供审查或完成;取决于扩展的类型向导屏幕可能不同。在成功完成一个步骤后,用户可以测试其对分支的定制、添加更多步骤,或应用265其更改。然后可以将定制的分支合并266到(主)语义模型中。

图14进一步图示了根据实施例的在分析应用环境中的可扩展性和定制。

如图14中所示,根据实施例,系统可以发布(267)和/或促进(268)对语义模型的更改,例如,作为Oracle BI Repository(RPD)文件或其它类型的文件或元数据。

多用户开发环境

在典型的企业组织内,可能有许多用户负责开发软件分析应用或生成数据分析或商业智能数据。为了支持这方面,根据实施例,该系统使得多个用户能够同时工作以开发对语义模型的扩展或定制,并且更改最终被合并到(主)语义模型中。

图15图示了根据实施例的在定制或扩展分析应用环境中对多个用户的支持。

如图15中所示,根据实施例,多个用户A-D中的每一个可以使用如上所述的一个或多个自定义语义扩展在语义模型的实例上工作,以提供修改284-288作为对语义模型的扩展或定制。

根据实施例,随着每个用户完成,他们可以将其定制合并到(主)语义模型中。例如,第一用户A可能希望创建与定制金融应用总分类账(GL)获利能力相关的新分支,包括添加区域维度(步骤1);扩展成本中心维度(步骤2);定义地域层次结构(步骤3);以及添加差旅费用计算(步骤4)。然后,用户A的定制可以被应用并合并到(主)语义模型中。

图16进一步图示了根据实施例的在定制或扩展分析应用环境中对多个用户的支持。

如图16中所示,根据实施例,第二用户B可能希望创建与定制GL明细事务相关的新分支,包括添加地域维度(步骤1);以及添加开仓量计算(步骤2);而第三用户C可能希望创建与定制GL资产负债表相关的新分支,包括添加位置维度(步骤1);添加库存现金计算(步骤2);以及创建GL汇总主题区域(布置3)。由用户B和C中的每个用户提供的定制可以类似地被应用并合并到(主)语义模型中。

图17进一步图示了根据实施例的在定制或扩展分析应用环境中对多个用户的支持。

如图17中所示,根据实施例,系统可以支持语义模型的不同版本,包括确定对语义模型的id更改需要重新分支,或者确定语义模型是否准备好推广到生产环境。

例如,当每个上述用户针对语义模型的初始版本(v1.0)开发定制时,第四用户D可以开始在语义模型的新版本(v1.1)的新分支上工作,包括例如添加战略供应商维度(步骤1)或扩展区域维度(步骤2)。系统还可以确定对语义模型的特定版本的更改是否需要重新分支特定的一组定制,诸如例如由用户B提供的那些定制。

推广到生产环境

根据实施例,系统可以控制在创建报告时使用的对语义模型的定义更改(例如,收入定义中的更改),以确保准确生成商务智能数据。

例如,根据实施例,系统可以确保语义模型扩展最初仅在开发/测试环境中被允许,并且在生产环境中不被允许,直到管理员可以审查任何定制的分支并将这些定制以可控的方式推广到生产环境。

图18图示了根据实施例的在分析应用环境中推广定制语义扩展。

如图18中所示,根据实施例,管理员可以使用具有管理员界面290的客户端(计算机)设备来控制将对语义模型的任何用户开发的定制推广到生产环境,包括例如,审查由多个用户开发的任何分支,并合并或确定要推广的更改的优先级。

所描述方法的优点包括用户定义的扩展或定制可以承受对底层系统的修补、更新或其它更改。如果语义模型的不可变方面被修补或更新;那么已作为语义扩展被提供的定制被保留。在修补或更新后,系统可以自动重播扩展。如果扩展由于对语义模型的底层更改而失败,那么管理员可以评估更改并初排(walk through)可能的修正。潜在的冲突可以被妥善处理,并且在不可能完全应用所有扩展的情况下,可以相应地通知管理员。

数据层可扩展性和定制

根据实施例,除了使用上述ETL或其它数据流水线或处理的源自客户环境的数据之外,可以使用各种数据模型或提供进一步扩展和定制的机会的场景将客户数据加载到数据仓库实例。

图19图示了根据实施例的自服务数据模型。

如图19中所示,根据实施例,自服务数据模型或场景使得客户能够使用由系统提供的ETL或其它数据流水线或处理将外部或自定义数据加载为自定义数据集292,这提供了维度一致性。客户可以定义由系统填充的一个或多个“实时”数据集;并结合“实时”数据集和外部数据集来创建可以被查询的组合数据集。在这种场景中,客户责任通常包括手动刷新其数据集;并加强数据集的安全性。

图20图示了根据实施例的策划的数据模型。

如图20中所示,根据实施例,策划的数据模型或场景提供集中式或受管理的分析环境,其中由系统提供的ETL或其它数据流水线或处理将客户数据发布到不可变的分析应用模式;而客户使用自定义ETL(144)或其它数据流水线或处理将外部或自定义数据装载到其客户模式。客户可以创建合并了系统管理的表和自定义表的业务数据库视图,并使用他们选择的工具查询合并后的数据。在这种场景中,客户责任通常包括使用自定义ETL或其它数据流水线或处理来管理将数据加载和刷新到其客户模式中。

通过示例的方式提供了策划的和自服务数据模型或场景的以上示例。根据各种实施例,系统可以支持其它类型的数据模型或场景。

根据各种实施例,可以使用一个或多个常规的通用或专用计算机、计算设备、机器或微处理器(包括一个或多个处理器、存储器和/或根据本公开的教导编程的计算机可读存储介质)方便地实现本文的教导。如对软件领域的技术人员将显而易见的,熟练的程序员可以基于本公开的教导容易地准备适当的软件编码。

在一些实施例中,本文的教导可以包括计算机程序产品,该计算机程序产品是其上/其中存储有指令的(一个或多个)非暂态计算机可读存储介质,该指令可以用于对计算机进行编程以执行本教导的任何处理。这种存储介质的示例可以包括但不限于硬盘驱动器、硬盘、硬驱动器、固定盘或其它机电数据存储设备、软盘、光碟、DVD、CD-ROM、微驱动器和磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存设备、磁卡或光卡、纳米系统或其它类型的存储介质或适用于指令和/或数据的非临时存储的设备。

出于说明和描述的目的已经提供了前述描述。并不旨在穷举或将保护范围限制为所公开的精确形式。许多修改和变化对于本领域技术人员将是显而易见的。

例如,虽然本文提供的几个示例说明了具有企业软件应用或数据环境(诸如,例如,Oracle融合应用环境);或在软件即服务(SaaS)或云环境(诸如,例如,Oracle分析云或Oracle云基础设施环境)的上下文中的分析应用环境的操作,但是根据各种实施例,本文描述的系统和方法可以与其它类型的企业软件应用或数据环境、云环境、云服务、云计算或其它计算环境一起使用。

选择和描述实施例是为了最佳地解释本教导的原理及其实际应用,从而使本领域的其它技术人员能够理解各种实施例以及具有适合于预期的特定用途的各种修改。预期范围由所附权利要求及其等同形式限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号