CN107533569A - 用于多维数据库环境中的沙箱支持的系统和方法 - Google Patents
用于多维数据库环境中的沙箱支持的系统和方法 Download PDFInfo
- Publication number
- CN107533569A CN107533569A CN201680025680.XA CN201680025680A CN107533569A CN 107533569 A CN107533569 A CN 107533569A CN 201680025680 A CN201680025680 A CN 201680025680A CN 107533569 A CN107533569 A CN 107533569A
- Authority
- CN
- China
- Prior art keywords
- sandbox
- data
- inquiry
- user
- base
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2468—Fuzzy queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
根据实施例,本文描述了用于在多维数据库环境中提供沙箱支持的系统和方法。可以在多维数据库服务器中提供多个沙箱和基线数据,其中每个沙箱是针对特定的“假设”分析而创建的,并且被配置成存储对基线数据的一个或多个改变。当从客户端/用户接收到对于关于特定“假设”分析的报告的请求时,多维数据库服务器可以将该请求拆分成第一查询和第二查询,其中第一查询被指向与客户端/用户相关联的沙箱,并且第二查询被指向基线数据。多维数据库服务器可以合并来自第一查询和第二查询的结果,并且在将经合并的数据发送到客户端之前对经合并的数据执行聚合和计算。
Description
版权声明
本专利文档的公开内容的一部分包含受版权保护的素材。版权拥有者不反对任何人对专利文档或专利公开内容按照在专利商标局的专利文件或记录中出现的那样进行传真复制,但是除此之外在任何情况下都保留所有版权。
优先权要求
本申请要求于2015年10月23日提交的标题目为“SYSTEM AND METHOD FORSANDBOXING SUPPORT IN A MULTIDEMENSIONAL DATABASE”的美国临时申请No.62/245,889的优先权,该申请通过引用并入本文。
技术领域
本发明的实施例一般而言涉及数据库和数据仓储,并且具体而言涉及用于多维数据库环境中的沙箱支持的系统和方法。
背景技术
通过及早识别即将到来的机遇和威胁并及时将其集成到战略规划中,场景管理可以帮助企业保持竞争力。场景管理要求使用假设分析(what-if analysis)。在假设分析中,可以改变存储在多维数据库中的数据集合中的一个或多个数据值,以查看这些改变将如何影响基于该数据集合的公式或预测模型的结果。场景管理要求底层多维数据库在隔离空间中为每个假设分析存储不同的数据集合,使得数据集合不影响基线数据。
发明内容
根据一个实施例,本文描述的是用于在多维数据库环境中提供沙箱支持的系统和方法。可以在多维数据库服务器中提供多个沙箱以及基线数据,每个沙箱针对特定的假设分析被创建,并且被配置成存储对基线数据的一个或多个改变。当从用户接收到对于关于特定假设分析的报告的请求时,多维数据库服务器可以将请求拆分成第一查询和第二查询,其中第一查询被指向与用户相关联的沙箱,而第二查询被指向基线数据。多维数据库服务器可以合并来自第一查询和第二查询的结果,并在将经合并的数据发送到客户端之前对经合并的数据执行聚合和计算。
附图说明
图1示出根据实施例的多维数据库环境的示例。
图2示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
图3进一步示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
图4进一步示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
图5进一步示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
图6示出根据实施例的用于多维数据库环境中的沙箱支持的方法。
具体实施方式
参考所附的说明书、权利要求书和附图,以上内容连同其它特征一起将变得清楚。具体细节被阐述以便提供对各种实施例的理解。然而,将清楚的是,各种实施例可以在没有这些具体细节的情况下实践。所附的说明书和附图不旨在是限制性的。
多维数据库环境(其示例包括Oracle Essbase)可以被用来以解决终端用户的特定要求的方式集成大量数据(在一些情况下,这些数据来自多个数据源)并将过滤后的信息分发到那些用户。
图1示出根据实施例的多维数据库环境100的示例。
如图1中所示,根据实施例,作为数据库层操作的多维数据库环境可以包括一个或多个多维数据库服务器系统102,其中的每个多维数据库服务器系统可以包括物理计算机资源或部件104(例如,微处理器/CPU、物理存储器、网络部件)、操作系统106以及一个或多个多维数据库服务器110(例如,Essbase服务器)。
根据实施例,中间层120可以包括一个或多个服务,诸如例如提供者服务122(例如,Hyperion提供者服务)、管理服务124(例如,Essbase管理服务)或工作室/集成服务126(例如,Essbase工作室服务/Essbase集成服务)。中间层可以提供经由ODBC/JDBC 127、128或其它类型的接口的到元数据目录129和/或一个或多个数据源130(例如,关系数据库)的访问,以供与多维数据库环境一起使用。
根据实施例,一个或多个数据源也可以由一个或多个多维数据库服务器经由ODBC/JDBC 132或其它类型的接口来访问,以用于在提供多维数据库时使用。
根据实施例,客户端层140可以包括启用对多维数据库的访问的一个或多个多维数据库客户端142(例如,Essbase服务器客户端)(诸如例如智能视图、电子表格加载项、智能搜索、管理服务、MaxL、XMLA、CAPI或VB API应用、Oracle商业智能企业版Plus或其它类型的多维数据库客户端)。客户端层还可以包括用于与中间层中的服务一起使用的控制台,诸如例如管理服务控制台144或者工作室/集成服务控制台146。
根据实施例,客户端层、中间层和数据库层之间的通信可以按照TCP/IP、HTTP或其它类型的网络通信协议中的一个或多个来提供。
根据实施例,多维数据库服务器可以集成来自一个或多个数据源的数据,以提供多维数据库、数据结构或(一个或多个)立方体150,然后可以访问它们以向终端用户提供经过滤的信息。
一般而言,多维数据库中的每个数据值存储在立方体的一个单元中;并且可以通过指定特定数据值沿着立方体的维度的坐标来引用该特定数据值。来自一个维度的成员与来自一个或多个其它维度中的每一个维度的成员的相交(intersection)表示数据值。
例如,如图1中所示,该图示出可以在面向销售的业务应用中使用的立方体162,当查询指示“销售额”(Sales)时,系统可以将这个查询解释为数据库内包含所有“销售额”数据值的数据值分片或者说数据值层164,其中“销售额”与“实际”(Actual)和“预算”(Budget)相交。为了指代多维数据库中的具体数据值166,查询可以例如通过指定“销售额,实际,一月”来指定每个维度上的成员。以不同的方式对数据库进行分片提供数据的不同视角;例如,针对“二月”的数据值分片168检查时间/年度维度被固定到“二月”的那些数据值中的全部数据值。
数据库概要
根据实施例,多维数据库的开发开始于创建数据库概要,数据库概要定义数据库中的成员之间的结构关系;在数据库中组织数据;以及定义整合(consolidation)和数学关系。在数据库概要的分层树或数据结构内,每个维度包括一个或多个成员,这一个或多个成员又可以包括其它成员。维度的规范指示系统如何整合其各个成员的值。整合是树的分支内的成员分组。
维度和成员
根据实施例,维度表示数据库概要中最高的整合级别。可以选择标准维度来表示与部门功能有关的业务计划的组成部分(例如,时间、帐户、产品线、市场、分部)。与标准维度相关联的特性维度使得用户能够基于成员特性或特点对标准维度的成员进行分组和分析。成员(例如,产品A、产品B、产品C)是维度的各个组成部分。
维度和成员关系
根据实施例,多维数据库使用家族(父代、子代、同辈;后代和祖先)以及层次(代和层级;根和叶子)术语来描述数据库概要内的成员的角色和关系。
根据实施例,父代是在其下方具有分支的成员。例如,“利润率”(Margin)可以是“销售额”和“销货成本”(Cost of Goods Sold,COGS)的父代。子代是在其上方具有父代的成员。在上述示例中,“销售额”和“销货成本”是父代“利润率”的子代。同辈是同一直接父代的在同一代内的子代。
根据实施例,后代是在父代下方的分支中的成员。例如,“利润”(Profit)、“库存”(Inventory)和“比例”(Ratios)可以是“度量”(Measures)的后代;在这种情况下,“利润”、“库存”和“比例”的子代也是“度量”的后代。祖先是在成员上方的分支中的成员。在上述示例中,“利润率”、“利润”和“度量”可以是“销售额”的祖先。
根据实施例,根是分支中的顶部成员。例如,“度量”可以是“利润”、“库存”和“比例”的根;并且对于“利润”、“库存”和“比例”的子代也是如此。叶子(层级0)成员没有子代。例如,打开“库存”、添加以及结束“库存”可以是叶子成员。
根据实施例,代是指维度内的整合级别。树的根分支被认为是“代1”,并且代数从根朝向叶子成员增加。层级是指维度内的分支;并且与用于代的编号顺序相反地编号,层级数从叶子成员朝向其根减小。
根据实施例,用户可以向代或层级指派名称,并使用该名称作为该代或该层级中所有成员的简写。
稀疏维度和密集维度
多维数据库中的数据集合常常共享两个特点:数据不是平滑且均匀地分布的;并且对于大多数成员组合不存在数据。
根据实施例,为了解决这个问题,系统可以识别两种类型的标准维度:稀疏维度和密集维度。稀疏维度是相对低百分比的可用数据位置被填充的维度;而密集维度是其中有相对高的概率一个或多个单元在每种维度组合中都被占用的维度。许多多维数据库固有地是稀疏的,因为它们对于大多数成员组合缺少数据值。
数据块和索引系统
根据实施例,多维数据库使用数据块和索引来存储和访问数据。系统可以为每个唯一的稀疏标准维度成员组合创建多维数组或数据块,其中每个数据块表示用于其稀疏维度成员组合的密集维度成员。为每个数据块创建索引,其中索引表示稀疏标准维度成员组合,并且包括用于存在至少一个数据值的每个唯一的稀疏标准维度成员组合的条目或指针。
根据实施例,当多维数据库服务器搜索数据值时,它可以使用由索引提供的指针来定位适当的数据块;并且在该数据块内,定位包含该数据值的单元。
管理服务
根据实施例,管理服务(例如,Essbase管理服务)提供使得用户能够设计、开发、维护和管理服务器、应用和数据库的单点访问。
工作室
根据实施例,工作室(例如,Essbase工作室)提供向导驱动的用户界面,以用于执行与数据建模、立方体设计和分析应用程序构造相关的任务。
电子表格加载项
根据实施例,电子表格加载项将多维数据库与电子表格集成,这提供对于增强命令(诸如连接(Connect)、枢转(Pivot)、向下钻取(Drill-down)和计算(Calculate))的支持。
集成服务
根据实施例,集成服务(例如,Essbase集成服务)提供元数据驱动的环境,以用于在存储于多维数据库中的数据与存储于关系数据库中的数据之间进行集成时使用。
提供者服务
根据实施例,提供者服务(例如,Hyperion提供者服务)操作作为用于Java API、智能视图和XMLA客户端的数据源提供者。
智能视图
根据实施例,智能视图为例如Hyperion财务管理、Hyperion规划和Hyperion企业绩效管理工作空间数据提供公共接口。
开发者产品
根据实施例,开发者产品启用定制企业分析应用的快速创建、管理和部署。
生命周期管理
根据实施例,生命周期管理(例如,Hyperion企业绩效管理工作空间系统生命周期管理)提供用于使企业绩效管理产品能够跨产品环境迁移应用、存储库或单个工件的手段。
OLAP
根据实施例,在线分析处理(OLAP)提供使用户能够分析企业数据的环境。例如,财务部门可以使用OLAP以用于诸如预算、基于活动的成本核算、财务绩效分析以及财务建模等的应用,从而提供“刚好及时的”(just-in-time)信息。
沙箱支持(5693US1)
根据实施例,本文所述的系统和方法可以在多维数据库服务器中提供沙箱支持,以支持假设分析。多维数据库服务器可以包括多个沙箱和基线数据。每个沙箱是针对特定的假设分析而创建的,并且被配置成存储对基线数据的一个或多个改变。通过图形用户界面,沙箱和基准数据中的每一个可以从它们的相应视图被访问。
用于执行假设场景分析的现有方案要求终端用户提供定制的多维数据库客户端以存储基线数据集合的不同副本。对于可以包括数千个行的大型基线数据集合,现有方案在系统性能和存储器消耗方面都会是低效的。
本发明的实施例可以通过提供服务器侧特征来克服现有方案的低效性,这些服务器侧特征可以开箱即用(used out-of-box)而不需要来自终端用户的附加工作。本发明的附加优点包括通过仅将对基线数据的数据改变存储在每个沙箱中来节省盘空间;以及通过减少系统中的存储器占用以及多维数据库客户端和多维数据库服务器之间的数据流量来改进系统性能。
根据实施例,当接收到对于关于特定假设分析的报告的请求时,多维数据库服务器可以将该请求拆分成来自用户的第一查询和第二查询,其中第一查询被指向与用户相关联的沙箱,并且第二查询被指向基线数据。多维数据库服务器可以合并来自第一查询和第二查询的结果,并在将经合并的数据发送到客户端之前对经合并的数据执行聚合和计算。
根据实施例,基线数据可以表示事务数据,并且可以用作各种假设分析的基础。可以基于来自基线数据的数据集合为不同的假设分析创建单独的沙箱。当假设分析完成时,可以修改该数据集合中的一个或多个单元,以生成预期的结果。经修改的单元值可以被保存到沙箱,而未修改的单元值保留在基线数据中。
根据实施例,系统可以包括基线数据以及用于多个用户中的每一个用户的一个或多个沙箱,基线数据可以是由该多个用户共享的数据库立方体。为用户创建的沙箱中的数据改变仅可用于该用户,并且不可用于能够访问基线数据的每个其他用户。用户可以发布特定沙箱中的数据改变,例如,当用户确定使用该数据改变的假设场景分析产生预期的结果时。来自沙箱的经发布的数据改变对其他用户是可用的。
根据实施例,每个沙箱和基线数据可以由多维数据库服务器的数据库概要中的沙箱维度中的成员来表示。当用户在图形用户界面处创建沙箱时,系统可以在数据库概要的沙箱维度中自动创建表示该新创建的沙箱的对应成员。
根据实施例,每个沙箱可以是为特定用户创建的私有虚拟空间。新创建的沙箱不包括任何数据。当该特定用户在沙箱的视图中工作时,系统可以触发查询处理器,以使用多维表达式(MDX)查询来检索由用户指定的特定数据集合,并在沙箱视图中显示检索出的数据。用户随后可以修改检索出的数据,并仅将修改保存到沙箱。
系统使得用户能够使用数据库/立方体中的一个或多个私有空间对不同的业务场景进行建模,其中用户可以修改用于每个业务场景的一个或多个单元以查看修改的影响。
根据实施例,用户可以与多个沙箱相关联,并且每个沙箱可以与不同的场景相关联。
图2示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
如图2中所示,系统可以包括多维数据库服务器中的多个立方体223和定义这多个立方体的数据库概要225。当创建多维数据库应用时,用户(例如,数据库用户或系统管理员)可以启用对沙箱的支持。
根据实施例,多个立方体可以包括基线数据立方体235和多个沙箱(例如,沙箱A237和沙箱B 239)。多个沙箱中的每一个可以存储表示对基线数据立方体中的单元值的一个或多个更新的经修改的数据。
根据实施例,每个沙箱可以是针对特定用户而创建的,并且沙箱中的经修改的数据仅对用户A是可访问的。
根据实施例,用户A可以通过在多维数据库客户端230中的图形用户界面(例如,用于Office的Oracle智能视图)中显示的对应沙箱视图来访问沙箱A中的数据。
例如,为用户A 201创建沙箱A,并且为用户B 203创建沙箱B。用户A可以在沙箱视图A 211中访问沙箱A中的经修改的数据,并且用户B可以在沙箱视图B 213中访问沙箱B中的经修改的数据。
根据实施例,每个沙箱可以是针对特定的假设分析而创建的。
例如,基线数据可以包括在美国湾区的不同城市拥有多家商店的饮料分销公司的销售数据。如果用户A在检查从基线数据检索出的数据集合时需要执行五年时段内在Cupertino销售的瓶装饮料的数量对公司的盈利的影响的分析,那么用户可以通过图形用户界面创建沙箱(例如,沙箱A)。
根据实施例,初始地显示在沙箱视图(例如,沙箱视图A)中的数据可以是来自基线数据的数据集合,用户可以基于特定的假设分析的需要来修改该数据集合。经修改的数据可以被保存到对应的沙箱。
根据实施例,用户可以请求描述假设分析的报告。如图2中所示,多维数据库服务器上的查询处理器217可以接收对于关于与沙箱A相关联的假设分析的报告的请求。查询拆分器219可以将该请求拆分成第一查询和第二查询,其中第一查询被指向沙箱A,而第二查询被指向基线数据。
根据实施例,第一查询和第二查询可以包括请求相同数据集合的相同句法(syntax)。例如,两个查询都可以请求表示2015年在Cupertino销售的瓶装饮料的数量以及同一时段内公司每年的盈利值的数据。
如上所述,由于沙箱仅将经更新的值存储到基线数据,因此指向沙箱的查询可以检索出包含缺失值(例如,对于特定假设分析未被更新的单元中的值)的结果。
根据实施例,查询结果处理器221可以包括多个功能,以基于预定义的规则集合来合并来自第一查询和第二查询的结果。
根据实施例,如果所请求的单元存在于沙箱中,那么查询处理器可以使用沙箱中的单元值。如果所请求的单元不存在于沙箱中,那么查询处理器可以使用来自基线数据的单元值。当查询处理器计算动态层次结构或者为经合并的数据对所存储的层次结构进行聚合时,适用上述规则。
如图2中进一步示出的,已经对其执行了聚合和计算的经合并的数据可以显示在沙箱视图A中。
图3进一步示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
如图3中所示,当多维数据库客户端处的用户A在基线视图311中对来自基线数据的基线数据集合313进行工作时,可以由用户A创建沙箱A。
根据一个实施例,用户A可以随后切换到沙箱视图A视图,以对初始地显示在用户A视图中的基线数据执行假设分析。对基线数据集合的任何改变都可以作为一个或多个经更新的单元值314被保存到多维数据库服务器中的沙箱A。
根据实施例,用户A对沙箱视图A的任何改变都不能被另一个用户查看。多维数据库服务器可以实施多个沙箱所有权和安全规则,以仅向授权用户授予对特定沙箱的访问。
根据实施例,保存到沙箱A的改变可以被发布。来自沙箱的经发布的数据可以合并到基线中。在将沙箱A中的改变施加到基线数据之后,沙箱A可以被删除。
根据实施例,沙箱中的数据可以与基线数据或与其它沙箱中的数据进行比较。可以提供仪表板,以显示不同沙箱之间或沙箱与基线数据之间的并排比较。可替代地,可以提供自组网(ad-hoc)网格,以显示来自特定沙箱或来自基线数据的不同版本的数据。
图4进一步示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
更具体而言,图4示出定义多维数据库服务器中的多个立方体的结构的数据库概要,以用于在存储上述基线数据和多个沙箱时使用。
根据实施例,数据库概要可以包括度量411、时间维度413和单元属性维度415以及沙箱维度433。
根据实施例,沙箱维度可以包括表示多维数据库服务器中的多个立方体的多个成员。如图4中所示,沙箱维度包括基线数据成员435和多个沙箱成员(例如,沙箱A 437和沙箱B 439)。
根据实施例,每个沙箱可以针对特定用户而创建,并且沙箱中的经修改的数据仅可由用户A访问。
根据实施例,为了在多维数据库服务器中启用沙箱,数据库概要中的第一稀疏维度需要被标记为沙箱维度,沙箱维度可以具有“沙箱”维度类型并且是平坦的。此外,沙箱维度中的每个成员(例如,基线数据成员、沙箱A和沙箱B)都可以与作为整合运算符的波浪号(~)相关联。
根据实施例,与沙箱维度中的每个成员相关联的整合运算符波浪号(~)可以表示整合属性,该整合属性指示在该维度内子代不汇总(roll up)到父代。
根据实施例,沙箱维度中的第一成员可以是基线数据成员,并且其余成员可以是沙箱成员。
如图4中所示,单元属性维度可以是包括值成员417、状态成员419和事务标识符(TID)成员421的特性维度,以在描述沙箱维度中的数据时使用。
例如,值成员可以与多个属性相关联,以描述沙箱维度中每个单元中的值。单元状态成员可以被用来跟踪沙箱维度中的特定单元何时被填充以及如何被填充。单元状态成员的示例性值是INPUT(输入)、LOAD(加载)、CALC(计算)、MANUAL ENTRY(人工输入)和DYNAMIC(动态)。事务标识符成员可以指定修改了单元的最新事务。
图5进一步示出根据实施例的用于多维数据库环境中的沙箱支持的系统。
如图5中所示,用户的沙箱中的数据可以被合并到基线数据或用户的另一个沙箱中。合并过程可以在多维数据库客户端处被触发,并且由驻留在多维数据库服务器上的沙箱合并处理器511执行。
例如,在用户A的请求下,沙箱A中的数据可以被发布并被合并到基线数据中。在与沙箱B以及沙箱N 513相关联的用户B的请求下,两个沙箱中的数据都可以被合并到基线数据中。此外,用户B可以请求将沙箱B中的数据合并到沙箱N中,或将沙箱N中的数据合并到沙箱B中。
根据实施例,当将来自源沙箱的数据合并到目标沙箱或基线数据时,沙箱合并处理器可以对沙箱分片或整个沙箱执行合并。
根据实施例,沙箱合并处理器可以使用具有以下示例性句法的命令来执行合并过程:
DATAMERGE scrMbrName trgMbrName[NOCAL][SOURCE|TARGET]
在上面的命令中,scrMbrName是单个沙箱成员或成员组合,并且trgMbrName是单个沙箱成员。如上所述,沙箱维度的成员可以包括基线数据和多个沙箱。NOCALC指示只有具有INPUT或LOAD状态的单元才能在合并过程中被复制。SOURCE|TARGET(源|目标)的值缺省地是SOURCE,这指示当源和目标具有不同的值时使用源值。用户可以选择TARGET,这指示当目标值缺失或者目标状态具有相关联的MERGED(经合并)标志时用来自源的值来覆写单元;否则,单元被忽略。
根据实施例,沙箱合并处理器可以迭代源沙箱中的每个非缺失单元,并且根据SOURCE|TARGET修饰符的值确定该单元是否应当被复制到目标(即,目标沙箱或基线数据)中。如果确定来自源沙箱的单元要被合并到目标中,那么沙箱合并处理器可以将该单元的值、状态和事务标识符复制到目标。合并处理器可以附加地向单元状态添加MERGED标志。
图6示出根据实施例的用于多维数据库环境中的沙箱支持的方法。
如图6中所示,在步骤613处,提供在一个或多个微处理器上执行的多维数据库服务器,其中多维数据库服务器包括基线数据和多个沙箱,其中每个沙箱与用户相关联并存储对基线数据的一个或多个改变。
在步骤615处,在多维数据库服务器中的查询处理器处接收来自用户的查询。
在步骤617处,从用户接收的查询被拆分成第一查询和第二查询。
在步骤619处,查询处理器将第一查询指向基线数据,并将第二查询指向与用户相关联的沙箱。
在步骤621处,查询处理器合并来自第一查询和第二查询的结果。
在步骤623处,查询处理器将经合并的数据返回给用户。
本发明可以利用一个或多个常规的通用或专用计算机、计算设备、机器或微处理器来方便地实现,包括根据本公开内容的教导进行编程的一个或多个处理器、存储器和/或计算机可读存储介质。如对软件领域的技术人员将清楚的,基于本公开内容的教导,熟练的程序员可以容易地准备适当的软件编码。
在一些实施例中,本发明包括计算机程序产品,该计算机程序产品是具有存储在其上/其中的指令的非暂态存储介质或(一个或多个)计算机可读介质,其中指令可被用来对计算机进行编程,以执行本发明的任何过程。存储介质可以包括但不限于任何类型的盘(包括软盘、光盘、DVD、CD-ROM、微型驱动器和磁光盘)、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪存存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC)或适于存储指令和/或数据的任何类型的介质或设备。
出于说明和描述的目的,提供了对本发明的前述描述。它并不意在是详尽的或者将本发明限制到所公开的精确形式。许多修改和变化对本领域技术人员将是清楚的。这些修改和变化包括所公开特征的任何相关组合。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其它技术人员能够理解本发明的各种实施例以及适于预期特定用途的各种修改。本发明的范围旨在由以下权利要求及其等同物定义。
Claims (23)
1.一种用于在多维数据库环境中提供沙箱支持的系统,包括:
计算机,包括一个或多个微处理器;
在所述计算机上执行的多维数据库服务器,其中所述多维数据库服务器包括基线数据以及多个沙箱,其中每个沙箱与用户相关联并且存储对所述基线数据的一个或多个改变;
所述多维数据库服务器中的查询处理器,其中所述查询处理器被配置成
将从用户接收的所述查询拆分成第一查询和第二查询,
将所述第一查询指向所述基线数据,并将所述第二查询指向与所述用户相关联的沙箱,
合并来自所述第一查询和所述第二查询的结果,以及
将经合并的数据返回给所述用户。
2.如权利要求1所述的系统,其中所述多个沙箱中的每个沙箱是针对特定的假设分析而创建的。
3.如前述权利要求中任一项所述的系统,其中所述基线数据是所述多维数据库服务器中的立方体中的数据。
4.如前述权利要求中任一项所述的系统,其中,如果所请求的单元存在于沙箱中,那么所述查询处理器使用所述沙箱中的单元值;否则,所述查询处理器从所述基线数据中检索所述单元值。
5.如前述权利要求中任一项所述的系统,其中每个沙箱中的数据改变仅对与该沙箱相关联的用户可用。
6.如前述权利要求中任一项所述的系统,其中每个沙箱中的数据改变被合并到所述基线数据中,并且变得对每个用户可用。
7.如前述权利要求中任一项所述的系统,其中所述多个沙箱中的每个沙箱以及所述基线数据被定义为所述多维数据库服务器的数据库概要中的沙箱维度中的成员。
8.如前述权利要求中任一项所述的系统,其中所述数据库概要还包括用于描述所述沙箱维度中的数据的单元属性维度。
9.如前述权利要求中任一项所述的系统,其中所述单元属性维度包括用于跟踪所述沙箱维度中的每个单元如何被填充的状态成员,以及用于指定修改每个单元的最新事务的事务标识符。
10.一种用于在多维数据库环境中提供沙箱支持的方法,包括:
提供在一个或多个微处理器上执行的多维数据库服务器,其中所述多维数据库服务器包括基线数据和多个沙箱,其中每个沙箱与用户相关联并且存储对所述基线数据的一个或多个改变;
在所述多维数据库服务器中的查询处理器处接收来自用户的查询;
将从用户接收的所述查询拆分成第一查询和第二查询;
将所述第一查询指向所述基线数据,并将所述第二查询指向与所述用户相关联的沙箱;
合并来自所述第一查询和所述第二查询的结果;以及
将经合并的数据返回给所述用户。
11.如权利要求10所述的方法,其中所述多个沙箱中的每个沙箱是针对特定的假设分析而创建的。
12.如权利要求10或11所述的方法,其中所述基线数据是所述多维数据库服务器中的立方体中的数据。
13.如权利要求10至12中任一项所述的方法,其中,如果所请求的单元存在于沙箱中,那么所述查询处理器使用所述沙箱中的单元值;否则,所述查询处理器从所述基线数据中检索所述单元值。
14.如权利要求10至13中任一项所述的方法,其中每个沙箱中的数据改变仅对与该沙箱相关联的用户可用。
15.如权利要求10至14中任一项所述的方法,其中每个沙箱中的数据改变被合并到所述基线数据中,并且变得对每个用户可用。
16.如权利要求10至15中任一项所述的方法,其中所述多个沙箱中的每个沙箱以及所述基线数据被定义为所述多维数据库服务器的数据库概要中的沙箱维度中的成员。
17.如权利要求16所述的方法,其中所述数据库概要还包括用于描述所述沙箱维度中的数据的单元属性维度。
18.如权利要求17所述的方法,其中所述单元属性维度包括用于跟踪所述沙箱维度中的每个单元如何被填充的状态成员,以及用于指定修改每个单元的最新事务的事务标识符。
19.一种非暂态计算机可读存储介质,包括存储在其上的指令,所述指令在由一个或多个计算机读取和执行时,使得所述一个或多个计算机执行步骤,所述步骤包括:
提供在一个或多个微处理器上执行的多维数据库服务器,其中所述多维数据库服务器包括基线数据和多个沙箱,其中每个沙箱与用户相关联并且存储对所述基线数据的一个或多个改变;
在所述多维数据库服务器中的查询处理器处接收来自用户的查询;
将从用户接收的所述查询拆分成第一查询和第二查询;
将所述第一查询指向所述基线数据,并将所述第二查询指向与所述用户相关联的沙箱;
合并来自所述第一查询和所述第二查询的结果;以及
将经合并的数据返回给所述用户。
20.如权利要求19所述的非暂态计算机可读存储介质,其中所述多个沙箱中的每个沙箱是针对特定的假设分析而创建的。
21.一种非暂态计算机可读存储介质,包括存储在其上的指令,所述指令在由一个或多个计算机读取和执行时,使得所述一个或多个计算机执行如权利要求10至18中任一项所述的方法。
22.一种计算机程序,包括机器可读格式的程序指令,所述程序指令在由计算机系统执行时,使得所述计算机系统执行如权利要求10至18中任一项所述的方法。
23.一种计算机程序产品,包括存储在非暂态机器可读数据存储介质中的如权利要求22所述的计算机程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562245889P | 2015-10-23 | 2015-10-23 | |
US62/245,889 | 2015-10-23 | ||
PCT/US2016/057968 WO2017070385A1 (en) | 2015-10-23 | 2016-10-20 | System and method for sandboxing support in a multidimensional database environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107533569A true CN107533569A (zh) | 2018-01-02 |
CN107533569B CN107533569B (zh) | 2022-04-05 |
Family
ID=57219049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680025680.XA Active CN107533569B (zh) | 2015-10-23 | 2016-10-20 | 用于多维数据库环境中的沙箱支持的系统和方法 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11256721B2 (zh) |
EP (1) | EP3365809B1 (zh) |
JP (1) | JP6832292B2 (zh) |
CN (1) | CN107533569B (zh) |
WO (1) | WO2017070385A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109995776A (zh) * | 2019-03-26 | 2019-07-09 | 西安纸贵互联网科技有限公司 | 一种互联网数据验证方法及系统 |
CN110135127A (zh) * | 2019-04-11 | 2019-08-16 | 北京亿赛通科技发展有限责任公司 | 一种基于沙箱的文档分布式基线化系统及导入和分发方法 |
CN111026817A (zh) * | 2019-12-09 | 2020-04-17 | 北京中电普华信息技术有限公司 | 一种多维计算方法及装置 |
CN112084491A (zh) * | 2020-08-26 | 2020-12-15 | 天津七一二通信广播股份有限公司 | 一种基于沙箱机制的集群虚拟用户系统实现方法 |
CN112912872A (zh) * | 2018-10-18 | 2021-06-04 | 甲骨文国际公司 | 用于多维数据库环境中的依赖性分析的系统和方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10855794B2 (en) | 2018-04-12 | 2020-12-01 | Pearson Management Services Limited | Systems and method for automated package-data asset generation |
US11188554B2 (en) | 2018-07-19 | 2021-11-30 | Oracle International Corporation | System and method for real time data aggregation in a virtual cube in a multidimensional database environment |
US20200210906A1 (en) * | 2018-12-27 | 2020-07-02 | At&T Intellectual Property I, L.P. | Event-based service engine and system |
US20220325188A1 (en) * | 2021-04-13 | 2022-10-13 | T.En Processs Technology, Inc. | Crude oil stabilization |
US20220358135A1 (en) * | 2021-05-06 | 2022-11-10 | Hitachi, Ltd. | System and method for data and data processing management |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1354860A (zh) * | 1999-05-26 | 2002-06-19 | 无线谷通讯有限公司 | 管理实时材料清单的方法和系统 |
US6766325B1 (en) * | 1999-12-02 | 2004-07-20 | Microsoft Corporation | System and method for maintaining data for performing “what if” analysis |
US20050262108A1 (en) * | 2004-05-07 | 2005-11-24 | Interlace Systems, Inc. | Methods and apparatus for facilitating analysis of large data sets |
CN101556602A (zh) * | 2009-04-08 | 2009-10-14 | 王珊 | 一种基于差分表的内存OLAP What-if分析方法 |
CN103136350A (zh) * | 2013-02-01 | 2013-06-05 | 江苏易合大成网络科技有限公司 | 一种在系统平台上运行多个应用的方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7698348B2 (en) * | 2003-12-19 | 2010-04-13 | Kinaxis Holdings Inc. | Extended database engine providing versioning and embedded analytics |
US7571192B2 (en) | 2005-06-15 | 2009-08-04 | Oracle International Corporation | Methods and apparatus for maintaining consistency during analysis of large data sets |
US20070022120A1 (en) * | 2005-07-25 | 2007-01-25 | Microsoft Corporation | Caching and modifying portions of a multi-dimensional database on a user device |
US20080046369A1 (en) * | 2006-07-27 | 2008-02-21 | Wood Charles B | Password Management for RSS Interfaces |
US8024288B2 (en) * | 2008-08-27 | 2011-09-20 | Oracle International Corporation | Block compression using a value-bit format for storing block-cell values |
US20100241893A1 (en) * | 2009-03-18 | 2010-09-23 | Eric Friedman | Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment |
US8271426B2 (en) * | 2009-10-01 | 2012-09-18 | Oracle International Corporation | Change application for datasets using frozen and delta values |
US10838957B2 (en) * | 2010-06-17 | 2020-11-17 | Microsoft Technology Licensing, Llc | Slicing relational queries using spool operators |
US9003231B1 (en) * | 2012-04-16 | 2015-04-07 | Google Inc. | System for instantiating service instances for testing in a known state |
US20130318095A1 (en) * | 2012-05-14 | 2013-11-28 | WaLa! Inc. | Distributed computing environment for data capture, search and analytics |
US9665621B1 (en) * | 2013-03-14 | 2017-05-30 | EMC IP Holding Company LLC | Accelerated query execution within a storage array |
US9292525B2 (en) * | 2013-06-19 | 2016-03-22 | BlackBerry Limited; 2236008 Ontario Inc. | Searching data using pre-prepared search data |
US10133797B1 (en) * | 2013-08-16 | 2018-11-20 | Amazon Technologies, Inc. | Distributed heterogeneous system for data warehouse management |
JP6204753B2 (ja) * | 2013-08-28 | 2017-09-27 | Kddi株式会社 | 分散クエリ処理装置、処理方法及び処理プログラム |
US11023105B2 (en) * | 2013-10-02 | 2021-06-01 | Massachusetts Institute Of Technology | Systems and methods for composable analytics |
US10109085B2 (en) * | 2014-01-08 | 2018-10-23 | Walmart Apollo, Llc | Data perspective analysis system and method |
US8751466B1 (en) * | 2014-01-12 | 2014-06-10 | Machine Intelligence Services, Inc. | Customizable answer engine implemented by user-defined plug-ins |
US9633200B2 (en) * | 2014-09-26 | 2017-04-25 | Oracle International Corporation | Multidimensional sandboxing for financial planning |
US10055470B1 (en) * | 2015-04-26 | 2018-08-21 | Ims Health Incorporated | Real-time query transformation and data retrieval |
US10217053B2 (en) * | 2015-06-23 | 2019-02-26 | International Business Machines Corporation | Provisioning service requests in a computer system |
-
2016
- 2016-10-20 WO PCT/US2016/057968 patent/WO2017070385A1/en active Application Filing
- 2016-10-20 CN CN201680025680.XA patent/CN107533569B/zh active Active
- 2016-10-20 EP EP16788912.0A patent/EP3365809B1/en active Active
- 2016-10-20 JP JP2017558691A patent/JP6832292B2/ja active Active
- 2016-10-24 US US15/332,776 patent/US11256721B2/en active Active
-
2022
- 2022-01-19 US US17/579,280 patent/US20220138226A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1354860A (zh) * | 1999-05-26 | 2002-06-19 | 无线谷通讯有限公司 | 管理实时材料清单的方法和系统 |
US6766325B1 (en) * | 1999-12-02 | 2004-07-20 | Microsoft Corporation | System and method for maintaining data for performing “what if” analysis |
US20050262108A1 (en) * | 2004-05-07 | 2005-11-24 | Interlace Systems, Inc. | Methods and apparatus for facilitating analysis of large data sets |
CN101556602A (zh) * | 2009-04-08 | 2009-10-14 | 王珊 | 一种基于差分表的内存OLAP What-if分析方法 |
CN103136350A (zh) * | 2013-02-01 | 2013-06-05 | 江苏易合大成网络科技有限公司 | 一种在系统平台上运行多个应用的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112912872A (zh) * | 2018-10-18 | 2021-06-04 | 甲骨文国际公司 | 用于多维数据库环境中的依赖性分析的系统和方法 |
CN109995776A (zh) * | 2019-03-26 | 2019-07-09 | 西安纸贵互联网科技有限公司 | 一种互联网数据验证方法及系统 |
CN110135127A (zh) * | 2019-04-11 | 2019-08-16 | 北京亿赛通科技发展有限责任公司 | 一种基于沙箱的文档分布式基线化系统及导入和分发方法 |
CN111026817A (zh) * | 2019-12-09 | 2020-04-17 | 北京中电普华信息技术有限公司 | 一种多维计算方法及装置 |
CN111026817B (zh) * | 2019-12-09 | 2023-11-28 | 北京中电普华信息技术有限公司 | 一种多维计算方法及装置 |
CN112084491A (zh) * | 2020-08-26 | 2020-12-15 | 天津七一二通信广播股份有限公司 | 一种基于沙箱机制的集群虚拟用户系统实现方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2018533090A (ja) | 2018-11-08 |
EP3365809B1 (en) | 2020-12-09 |
US11256721B2 (en) | 2022-02-22 |
WO2017070385A1 (en) | 2017-04-27 |
US20220138226A1 (en) | 2022-05-05 |
JP6832292B2 (ja) | 2021-02-24 |
US20170116411A1 (en) | 2017-04-27 |
CN107533569B (zh) | 2022-04-05 |
EP3365809A1 (en) | 2018-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107533569A (zh) | 用于多维数据库环境中的沙箱支持的系统和方法 | |
US11704294B2 (en) | System and method for slowly changing dimension and metadata versioning in a multidimensional database environment | |
Solihin et al. | A simplified relational database schema for transformation of BIM data into a query-efficient and spatially enabled database | |
US20230084389A1 (en) | System and method for providing bottom-up aggregation in a multidimensional database environment | |
US20210073188A1 (en) | System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment | |
CN101167048B (zh) | 多维企业软件系统内的可聚集维度信息的生成 | |
US7571182B1 (en) | Emulation of a balanced hierarchy from a nonbalanced hierarchy | |
CN111542813A (zh) | 使用异构数据的对象模型来便于建立数据可视化 | |
CN110199273A (zh) | 用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的系统和方法 | |
CN104866513A (zh) | 用于跨租户数据访问的系统和方法 | |
WO2015041735A1 (en) | Systems and methods for interest-driven business intelligence systems including geo-spatial data | |
AU2005201996A1 (en) | Combining multidimensional expressions and data mining extensions to mine OLAP cubes | |
CN102918530A (zh) | 数据集市自动化 | |
US7167873B2 (en) | Visual-modeling technique for use in implementing a database system | |
Weber et al. | Database Systems | |
Milosevic et al. | Big data management processes in business intelligence systems | |
Taylor | SQL All-in-one for Dummies | |
Hoppen et al. | A new nD Temporal Geodata Management Approach using GML | |
EP2458532A1 (en) | Detection and display of semantic errors in a reporting tool | |
Firestone et al. | Knowledge base management systems and the knowledge warehouse: a" Strawman | |
van der Lans | InfiniteGraph: Extending Business, Social and Government Intelligence with Graph Analytics | |
da Silva et al. | SOLAP_Frame: A Framework for SOLAP using Heterogeneous Data Sources | |
Langit | OLAP Modeling | |
Nagy | Automation prototype for the development of data warehousing data structures | |
Schemas—Stars | OLAP Modeling |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |