首页 / 专利库 / 软件 / 在线分析处理 / 用于托管的分析的动态N维立方体

用于托管的分析的动态N维立方体

阅读:731发布:2020-05-11

专利汇可以提供用于托管的分析的动态N维立方体专利检索,专利查询,专利分析的服务。并且一种 在线分析处理 系统可包括使用基于切片的划分构造的n维立方体,其中每个切片包括数据点的一个或多个层级。层级的区域可根据与所述区域相关联的计算需求来分类。扩展或复制机构可基于与该区域相关联的所述计算需求施加到所述区域。,下面是用于托管的分析的动态N维立方体专利的具体信息内容。

1.一种用于执行数据分析的系统,所述系统具有改善的扩展特征,所述系统包括:
多个计算节点,其包括第一一个或多个计算节点和第二一个或多个计算节点,所述多个计算节点在激活时维持n维立方体的切片,所述切片包括数据点层级,所述数据点对应于一个或多个固定维度与一个或多个可变维度的交叉;以及
一个或多个存储器,其具有存储在其上的计算机可读指令,所述计算机可读指令在执行时致使所述系统至少:
将所述数据点层级的第一子集维持在所述第一一个或多个计算节点上,其中至少部分地基于所述层级的与计算需求的第一分类相关联的数据点,将数据点包括在所述第一子集中;
将所述数据点层级的第二子集维持在所述第二一个或多个计算节点上,其中至少部分地基于所述层级的与计算需求的第二分类相关联的数据点,将数据点包括在所述第二子集中;以及
通过处理在所述第一一个或多个计算节点上的第一请求,处理对访问所述层级的数据点的所述第一请求,其中至少部分地基于计算需求的所述第一分类,所述第一一个或多个计算节点被配置有扩展机构。
2.如权利要求1所述的系统,其中所述第一分类基于高写入频率,并且所述扩展机构包括在所述第一一个或多个计算节点之间平划分所述层级的所述第一子集中的数据点。
3.如权利要求1所述的系统,其中所述第一分类基于高读取频率,并且所述扩展机构包括包含可写入分区的至少一个只读副本的所述第一一个或多个计算节点。
4.如权利要求1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在执行时致使所述系统至少:
至少部分地基于与所述层级相关联的维度和与所述维度相关联的一个或多个计算需求之间的映射,将所述层级的区域分类。
5.如权利要求1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在执行时致使所述系统至少:
至少部分地基于路径中的数据点的访问频率,识别所述层级中的所述路径;以及当所述访问频率高于阈值级别时,将与所述路径相关联的所述数据点维持在主存储器中。
6.一种用于维持n维立方体的计算机实现方法,所述方法包括:
识别所述n维立方体中的数据点层级的第一子集,其中至少部分地基于与所述层级的所述第一子集中的数据点相关联的计算需求,识别所述子集;
至少部分地基于与所述数据点相关联的所述计算需求,选择扩展机构;以及将所述层级的所述第一子集维持在至少第一计算节点和第二计算节点上,其中所述层级的所述第一子集基于所述选择的扩展机构至少在所述第一计算节点与所述第二计算节点之间被划分或复制。
7.如权利要求6所述的方法,其中至少部分地基于写入频率是相对于读取频率高的,选择所述扩展机构。
8.如权利要求7所述的方法,所述方法还包括:
在至少所述第一计算节点与所述第二计算节点之间,水平划分所述层级的所述第一子集的数据点。
9.如权利要求6所述的方法,其中至少部分地基于读取频率是相对于所述第一计算节点容量高的,选择所述扩展机构以便响应于读取所述层级的所述第一子集中的数据的请求。
10.如权利要求9所述的方法,其还包括:
将所述层级的所述第一子集的至少一部分复制在所述第二计算节点上,其中所述层级的所述第一子集的所述至少一部分维持在所述第一计算节点上。
11.如权利要求6所述的方法,其还包括:
至少部分地基于与所述层级相关联的维度和与所述维度相关联的计算需求之间的映射,将所述层级的区域分类。
12.如权利要求6所述的方法,其还包括:
至少部分地基于路径中的数据点的访问频率,识别所述层级中的所述路径;以及当所述访问频率高于阈值级别时,将与所述路径相关联的所述数据点维持在主存储器中。
13.如权利要求6所述的方法,其还包括:
至少部分地基于与附加子集中的数据点相关联的计算需求,选择用于所述层级的所述附加子集的第二扩展机构。
14.一种分析处理系统,其包括:
处理器;以及
非暂时性计算机可读存储介质,其具有存储在其上的指令,所述指令在被一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
确定将数据点层级存储在至少第一计算节点和第二计算节点上;
将所述数据点层级的第一子集存储在第一一个或多个计算节点上,其中至少部分地基于所述层级中的与计算需求的第一分类相关联的数据点,将数据点包括在所述第一子集中;以及
将所述数据点层级的第二子集存储在第二一个或多个计算节点上,其中至少部分地基于所述层级中的与计算需求的第二分类相关联的数据点,将数据点包括在所述第二子集中。
15.如权利要求14所述的系统,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
确定将n维立方体的切片存储在包括所述第一计算节点和所述第二计算节点的多个计算节点上,所述切片包括数据点和对应于一个或多个固定维度与一个或多个可变维度的交叉的附加数据点的所述层级。

说明书全文

用于托管的分析的动态N维立方体

[0001] 相关申请的交叉引用
[0002] 本申请要求2014年6月20日提交的、题目为“DYNAMIC CUB ES FOR CLOUD-BASED ANALYTICS”的美国临时专利申请号62/015,312;2014年9月23日提交的、题目为“DYNAMIC N-DIMENSI ONAL CUBES FOR HOSTED ANALYTICS”的美国专利申请号14/494,506;2014年9月23日提交的、题目为“USE OF DEPENDENC Y GRAPHS TO DYNAMICALLY UPDATE N-DIMENSIONAL C UBES”的美国专利申请号14/494,513;以及2014年9月23日提交的、题目为“DATA INTEREST ESTIMATION FOR N-DIMENSION AL CUBE COMPUTATIONS”的美国专利申请号14/494,524的权益,所述专利申请的内容由此通过引用以其整体并入。
[0003] 本申请还涉及2014年6月20日提交的、题目为“EMBEDDABLE CLOUD ANALYTICS”的美国临时专利申请号62/015,302的共同待决申请;以及2014年6月20日提交的、题目为“AUTOMATED HIERARCHY DETECTION FOR CLOUD-BASED ANALYTICS”的美国临时专利申请号62/015,308的共同待决申请;以及2014年6月20日提交的、题目为“REAL-TIME HOSTED SYSTEM ANALYTICS”的美国临时专利申请号62/015,294的共同待决申请;以及2014年6月20日提交的、题目为“CLOUD ANALYTICS MARKETPLACE”的美国临时专利申请号62/015,307的共同待决申请,所述临时专利申请由此通过引用以其整体并入。
[0004] 背景
[0005] 数据仓库在线分析处理(“OLAP”)系统可用于执行与数据挖掘、报告和预测相关的各种功能。OLAP系统可以准许通常从事务系统(诸如关系数据库)获得、并且加载到多维立方体结构中的多维数据分析。可在n维立方体结构内、在其包含的各种维度的每个交叉处计算数据点,诸如各种聚合值。因此,填充多维立方体结构的过程可包含显著量的计算。此外,n维立方体可在周期性基础上更新以便并入新数据。更新n维立方体可包括重新计算在其维度的每个交叉处的数据点。当新维度将添加到n维立方体时,重新计算可以是甚至更繁冗的。因此,这些类型的n维立方体结构不是良好适合于动态数据环境的。
[0006] 附图简述
[0007] 结合附图阅读时,将更好地理解以下详细描述。为了说明的目的,在附图中示出本公开的方面的各种示例;然而本发明不限于所公开的具体方法和工具。
[0008] 图1A为描绘用于维持结合基于的分析(analytics)可用的n维立方体的系统的实施方案的方框图
[0009] 图1B为描绘用于维持结合基于云的分析可用的n维立方体的系统的实施方案的操作的方框图,所述操作有关添加实时数据流中观察的新维度。
[0010] 图2A为描绘用于执行基于云的分析的系统的实施方案的操作的方框图,所述操作包括在将新维度添加到n维立方体之后维持依赖关系图。
[0011] 图2B为描绘用于执行基于云的分析的系统的实施方案的操作的方框图,所述操作包括将属性添加到n维立方体。
[0012] 图2C为描绘用于包含在切片内的层级数据的可扩展存储机构的实施方案的图。
[0013] 图3A为描绘用于维持被适配用于基于云的分析的n维立方体的过程的实施方案的流程图
[0014] 图3B为描绘用于推迟n维立方体中的数据点的计算的实施方案的流程图。
[0015] 图4为描绘用于在被适配用于基于云的分析的n维立方体中执行推迟计算的过程的实施方案的流程图。
[0016] 图5A为描绘用于提供托管的分析服务的系统的实施方案的方框图。
[0017] 图5B描绘用于引入和处理来自实时数据源的数据的过程。
[0018] 图6为描绘可在其中实践本公开的方面的计算环境的实施方案的方框图。
[0019] 图7为描绘可在其上实践本公开的方面的计算系统的实施方案的方框图。
[0020] 详细描述
[0021] 本公开的方面可以被采用以便使用适合于动态数据环境(包括托管的分析平台)的结构来维持n维立方体。实施方案可以被采用以便提供与数据流结合的分析,所述数据流可引入新的属性、维度、或层级,其如果包括在n维立方体中可有助于分析。实施方案可采用使用基于切片的划分方案构成的n维立方体。每个切片可包括数据点,其对应于跨切片固定的一组维度值以及允许变化的一组维度值。属性、维度、或层级可通过添加新切片或修改现有切片来添加到n维立方体。n维立方体的视图可通过形成切片、切片区域与单独数据点之间的依赖关系链路来部分地预先计算。本文描述的方法可以被采用以便实现n维立方体结构,其可关于附加维度和属性扩展或收缩,而不需要n维立方体的大范围的完全重算或重新计算。
[0022] 图1A为描绘用于维持结合基于云的分析可用的n维立方体100的系统的实施方案的方框图。基于云的分析系统的用户可将分析数据看作包含交叉点处的聚合数据和相关属性的多维阵列。多维阵列可以是稀疏的,意味着在这种情况下相对小数目的交叉点与数据相关联。
[0023] 基于云的分析系统可包括n维立方体100,尽管所述n维立方体100可被其用户在概念上看作多维阵列,其可包括多个切片102-106和存储库108。切片102可包括固定到n维立方体的剩余维度的阵列交叉的一维列表的一组聚合数据和属性集。在各种实施方案中,可以采用多维“切片”,也就是说切片也可包括固定到n维立方体的剩余维度的多维结构。
[0024] 存储库108可包括维持有关切片102-106的信息的集合的数据存储库,诸如关系数据库或非关系数据库。可维持在存储库108中的数据的非限制性示例包括切片标识符、固定维度的标识符、可变维度的标识符、依赖关系信息、刷新或过期数据等。
[0025] 切片102-106可以维持在一个或多个分区上,诸如分区110和112。分区可包括服务器或其他计算节点,其托管用于维持切片102-106中的一个或多个的构成数据的数据库管理系统或其他机构。各种划分方案可以被采用以便在分区110与112之间分开工作负载和存储要求。
[0026] 实施方案还可执行分区110和112到副本114和116的复制。实施方案可使用复制,以便改善采用n维立方体100的基于云的分析系统的可靠性和性能。n维立方体的部分(诸如切片、层级、或层级区域)可以被划分或复制,以便供应与维持n维立方体中的数据点相关联的计算需求。例如,n维立方体的承受高读取活动的部分可以横向扩展,以便包括托管可写入分区的计算节点以及托管只读分区的多个附加计算节点。n维立方体的与高写入活动相关联的部分可以另外分成子部分,并且在多个计算节点之间划分。
[0027] 在一个实施方案中,可基于访问模式在节点之间分配数据。分配可包括识别和实现划分方案,启用复制(如果需要),配置负载平衡机构等。如本文所描述的,划分和复制可以在各种级别上发生,诸如通过切片、通过层级、通过层级区域等。访问模式可包括由n维立方体或在特定切片上执行的查询倾向和模式。有关访问模式的各种统计和其他度量可以被收集和用于分配。这些包括记录以下的度量:更新操作的频率和比例、需要计算的操作的频率和比例、包括数据移动的操作的频率和比例等。
[0028] 在一个实施方案中,与切片部分相关的计算需求可以与分区主机的性能特征进行比较,并且因此可在分区主机之间分配数据。例如,参与高度数据移动的切片可以排列在相同计算节点上,放置在连接到相同网络支路的计算节点上,或放置在通过更高速网络连接的计算节点上。另一个示例包括分配涉及在计算节点上的高度计算的数据,所述计算节点的性能特征包括CPU能和/或存储器的优化量。
[0029] 在一个实施方案中,可基于安全顾虑在节点之间分配数据。它可以是以下情况:层级的某些维度或级别用于计算,但对于n维立方体的用户不是可见的。可基于与每个计算节点相关联的安全属性在计算节点之间分配数据。例如,计算节点可以被配置来处理由托管n维立方体的部分的计算节点发起的请求(以使得可执行计算),并且另外被预先配置来不响应于由其他方发出的请求,诸如从n维立方体的顾客发起的请求。此计算节点可能被分配计算所需但用户不可见的数据。未这样配置的另一个计算节点可托管用户可见的数据。
[0030] 图1B为描绘用于维持结合基于云的分析可用的n维立方体的系统的实施方案的操作的方框图,所述操作有关添加实时数据流中观察的新维度。数据流160可包括事务数据、实时数据,日志信息等。到达数据流160中的数据可包括在数据到达之前未包括在n维立方体150中的属性和维度。
[0031] 实施方案可通过启用反映新维度162的分析而不用对现有n维立方体执行破坏操作,响应于新维度162的到达。n维立方体的现有技术实施方案可能不能够在不执行n维立方体内的现有数据点的大量重新计算(诸如每个交叉处的聚合、或各种导出值)的情况下并入新维度。
[0032] 如在图1B中所描绘的,n维立方体150可包括切片152-156,其中每个切片固定到n维立方体的维度子集并且在剩余维度上可变。存储库158可维持有关切片152-156的信息,诸如位置、最后刷新时间、依赖关系信息等。
[0033] 新切片164可响应于新维度162通过数据流160的到达,添加到n维立方体150。新切片164可在包括新维度162的一个或多个维度中变化。描述新切片164的条目可添加到存储库158。现有切片152-156可保持在使用中,而无需在使用那些切片之前发生大量重新计算。实施方案可将指示新切片164的信息添加到存储库158。实施方案还可添加指示新切片164与现有切片152-156中的数据之间的依赖关系的信息。依赖关系信息可包括维持在切片中的数据的依赖关系图。依赖关系图可以指示在切片、维度、切片区域、数据点等之间的依赖关系。实施方案还可将指示切片、切片区域、切片内的数据点等的计算优选级的信息添加到存储库158。优先级可基于各种因素,包括对数据点感兴趣的估计可能性、其他数据取决于计算的程度等。
[0034] 图2A为描绘用于执行基于云的分析的系统的实施方案的操作的方框图,所述操作包括在将新维度添加到n维立方体之后维持依赖关系图。图2A描绘包括初始包含国维度和州维度的n维立方体的示例。一个或多个测量值或其他值或属性可在这些维度的每个交叉处相关联。切片218可固定到国维度中的“A”,如由固定维度(“国A”)222指示的。切片218还可包含沿非-固定维度的一个或多个条目,如在图2A中由可变维度条目224-230指示的。各种数据点可与维度条目224-230相关联。例如,可变维度条目226可与数据点238相关联。数据点238可表示各种测量值,诸如“国A”的“州B”中的总销售。尽管仅数据点238在图2A中具体引出,其他可变维度条目224、228和230中的每一个可具有类似的数据点。类似地,切片220可固定到国维度中的国“B”,如由固定维度(“国B”)240所指出的,并且可具有可变维度条目232-236,其中的每一个可具有相关联的数据点。
[0035] 实施方案可处理数据流200以便将新数据并入到n维立方体中。输入数据可以与现有维度相关,并且可通过将相关切片、切片区域、数据点等标记成过时的或过期的来并入。数据字典可用于维持各种切片、切片区域和数据点的过期数据。实施方案也可通过处理数据流200,确定新维度202已经遇到并且可并入到n维立方体中。例如,图2A描绘新维度202(“区域”维度)的添加。新切片212可添加到已经包含切片218和220的n维立方体。新切片212可在区域维度中对于固定维度(“区域R”)204保持恒定,并且可在诸如州维度(如由可变维度条目208和210所描绘的)的一个或多个其他维度中是可变的。
[0036] 实施方案可在新切片212与现有切片218和220之间建立依赖关系。例如,依赖关系信息214可指示与可变维度条目208相关联的数据点对切片220中的信息、或更精确地可变维度条目232的依赖关系。类似地,依赖关系信息216可指示与可变维度条目210相关联的数据点对切片218或可变维度条目226的依赖关系。实施方案可在建立依赖关系中利用各种级别的粒度和方向性。例如,依赖关系可在切片、可变维度条目、固定数据点等之间形成,并且可在现有切片与新切片之间、或现有切片之间的任一方向上形成。实施方案可利用依赖关系来将切片、切片区域、数据点等标记成过期的。实施方案还可利用依赖关系来定位预先计算的聚合、或计算的另外聚合的其他分量、各种导出值等。注意可变维度条目208和210可在空的或过期的状态中形成,以使得可推迟相关值的计算。
[0037] 图2B为描绘用于执行基于云的分析的系统的实施方案的操作的方框图,所述操作包括将属性添加到n维立方体。实施方案可处理数据流250并且确定与切片258的现有要素相关联的新属性的存在,切片258与固定维度(“国B”)260和可变维度条目262-264相关联。在概念级上,属性可以被认为是与n维立方体中的维度交叉相关联的值。实施方案可使用图
2B所描绘的机构存储属性,其中切片条目通过链表或其他结构与一个或多个属性(诸如属性条目256)相关联。在检测与“州A”相关联的新属性252之后,实施方案可定位可变维度条目(“州A”)262,并且将新属性254添加到关联属性的列表。实施方案可针对属性将与其相关联的附加切片和固定维度条目,多次重复此操作。
[0038] 可识别和存储针对属性的依赖关系信息。例如,图2B描绘依赖关系信息266。所描绘的依赖关系信息266可指示新属性条目254与层级268之间的依赖关系。还可维持现有属性与层级之间的依赖关系。
[0039] 层级和各种导出值或计算值可取决于各种属性值或属性类型。例如,层级可包括通过属性(诸如色彩)过滤的产品的销售的聚合值。对属性值的改变可需要层级的重新计算。因此,在产品色彩属性与层级之间可存在依赖关系。针对其他导出值或计算值可存在类似关系。新添加的属性也可与层级具有关系。一个示例可在新添加的属性与现有属性在本质上类似、或具有相同类时发生。在现有属性是现有层级的组成物的情况下,新属性可以是与现有层级并行的新层级的组成物。并非立即计算新层级,可存储依赖关系信息以便指示新属性与新层级之间的关系,这可进而允许新层级的推迟的或按需的计算。
[0040] 图2C为描绘用于包含在切片内的层级数据的可扩展存储机构的实施方案的图。在一些情况和实施方案中,n维立方体的划分可以在切片之间,以使得每个数据切片可维持在独立计算节点上。在一些情况下,可扩展性可以通过执行切片之间的复制和负荷平衡来实现。在其他实施方案中,划分可在切片内进行,代替或除了基于切片的划分之外。
[0041] 在一些实施方案中,包含在切片内的数据点的层级可以通过区域再分,并且存储在多个计算节点上。数据点层级的区域可以被称为层级子集。可基于与包含在区域内的一个数据点或多个数据点相关联的计算需求,选择用于层级的每个区域(或子集)的扩展机构。
[0042] n维立方体的切片可包括维度数据的各种层级。例如,切片可包括通过时间聚合的销售数据。为说明目的,将关于时间维度和销售维度描述图2C。然而,应当理解,使用时间和销售来示出图2C的各种方面不应被视为限制本公开的范围。
[0043] 在图2C中,层级281可包括层级节点286-298。层级中的每个节点可以是存储的值总和的表示。使用时间维度和销售维度作为示例,层级节点292、294、296和298可各自包含6小时的时间段的销售数字的总和。层级节点288和290可各自包含6小时数字的聚合。例如,层级节点288可表示12小时的时段,并且包含与层级节点292和294相关联的值的聚合。类似地,层级节点290可表示第二12小时的时段,并且包含与层级节点296和298相关联的值的聚合。层级节点286可包含24小时的时段的聚合,其包括层级节点288和290。实施方案可从层级中包括时间维度,推断更多的当前时间段将更可能包括频繁写入。实施方案可利用从时间维度到预测的更新级别的映射,由此估计可能将包括在层级区域内维持的数据点中的计算需求。
[0044] n维立方体的可扩展性可使用基于树的存储机构来增加。在一个实施方案中,基于树的存储机构可以使层级树并行,诸如图2C中的层级281。在一些实施方案中,对层级的更新可如下行进:1)可将新数据存储在叶节点中,并且调整叶中的任何聚合值;2)可调整叶节点的父节点的聚合值;并且3)可调整叶节点的父节点的父节点的聚合值等。
[0045] 使用时间和销售作为示例,可频繁更新表示当前时间段的节点。由于对聚合值的调整通过继承链向上流动,这可进而致使其在n维立方体中的祖先频繁更新。例如,层级节点298可表示当前6小时的窗口。当收集当前窗口的销售数据时,可频繁调整与层级节点298相关联的值。这进而可致使将调整层级节点290和286。一些实施方案可推迟层级的各种级别处的聚合计算。
[0046] 用于层级数据的扩展机构可基于层级中的区域的分类。分类可包括因素,诸如强加在托管一些或所有层级的计算节点上的计算需求。分类可包括活动频率和活动类型。例如,与高写入活动284相关联的区域可与层级节点298相关联,虽然在各种情况和实施方案中,当然多于一个层级节点可能以此方式来分类。高数目的写入可以是包含在层级中的数据类型的结果,诸如包含来自当前时间段的数据的层级节点298。层级281的另一个区域可以被分类作为与高计算负载280相关联的区域。此区域280可与更大需求相关联,所述更大需求与计算聚合值相关联。例如,如果层级节点298更新以便包括附加数据,那么其祖先节点290和286可能涉及聚合或其他导出值的相对频繁重新计算。另一个分类可识别与低写入活动282相关联的区域。另外的分类可包括牵涉频繁的查询操作和检索操作的区域,诸如与高读取活动283相关联的区域。分类也可包括具有相对少的活动的那些区域。
[0047] 用于维持层级的扩展机构可基于计算需求的一个或多个上述分类。在一个实施方案中,与高计算负载280相关联的区域中的层级节点可通过另外再分与所述区域中的节点相关联的计算来划分。例如,可以对与有关层级节点290的计算节点分开的计算节点,执行与层级节点286相关的计算。与层级节点286相关的计算可以另外在多个计算节点中划分。例如,可以对与有关始于层级节点290的分支的计算节点分开的计算节点,执行与始于层级节点288的层级分支相关的计算。
[0048] 与高写入活动相关联的区域中的层级节点可以平划分,以便跨多个计算节点分配写入负载。对于具有低写入活动但高读取活动的区域,复制可用于跨多个计算节点分配读取负载。
[0049] 实施方案也可基于上述分类着重使用某些资源类型。例如,维持与频繁计算或写入相关联的层级的计算节点可维持存储器中的数据,而与低活动相关联的那些可利用常规存储装置。
[0050] 在各种情况和实施方案中,层级区域可由通过层级的路径组成。例如,区域可由第一节点、第一节点的父节点等组成。层级中的路径可维持在主系统存储器中,或另一个相对低-延迟存储装置上,同时访问路径中的数据的频率(也可以被维持)。对路径中的较低-级别节点执行的写入操作可触发级联更新。实施方案可在主系统存储器中维持频繁写入节点的父节点,以便有效地处理这些和类似类型的更新。当访问频率(具体来说,写入频率)高于阈值级别时,路径可维持在主存储器中。当访问频率下降低于某个级别时,路径可维持在具有相对高延迟的装置中。
[0051] 在各种实施方案中,层级区域可基于计算节点的分类映射到计算节点。层级可被托管在具有潜在可变配置的多个计算节点上。计算节点中的一些例如可以被配置成计算密集节点,其可指示计算节点被配置来在执行计算中提供改善的效率。其他计算节点可以被配置以便提供关于存储数据的改善效率。
[0052] 图3A为描绘用于维持被适配用于基于云的分析的n维立方体的过程的实施方案的流程图。尽管被描绘成操作序列,本领域那些普通技术人员将理解所描绘的顺序不应当解释为限制本公开的范围,并且所描绘的操作中的至少一些可以更改、省略、重新排序、增补附加操作、或并行执行。所描绘的过程的实施方案可使用由计算系统(诸如本文所描述的计算系统)执行的计算机可执行指令的各种组合来实现。
[0053] 操作300描绘识别新维度、属性、测量值、或可并入到n维立方体中的其他值。实施方案可处理新数据的数据流,其指示添加新维度、属性、测量值、或其他值。数据流可对应于实时数据源,日志文件、或通常与连续或半连续数据流相关联的其他数据源。这些数据源可以通常被描述成在增量基础上提供数据。
[0054] 数据流还可与历史数据、事务数据等相关联,所述历史数据、事务数据等可周期性地,而不是在连续基础上更新或并入到n维立方体中。此类型的数据源可通常被描述成提供大量负载数据。
[0055] 识别用于并入到n维立方体中的新数据的过程可对于增量加载的数据和大量负载数据两者类似地操作。操作302描绘基于新发现的维度将新切片添加到n维立方体。参考图1A,添加新切片可包括分配分区以便托管切片(诸如图1A中的分区110),将切片复制到副本(诸如副本114),以及更新存储库108。在各种实施方案中,可在这些步骤完成之前执行并入新维度的分析。
[0056] 操作304描绘基于新属性、测量值、或从数据流输入的数据中识别的其他值更新一个或多个切片。实施方案可更新维持在分区上的切片数据并且触发数据的复制。
[0057] 实施方案还可致使数据字典更新以便反映更新数据的存在,包括如果切片、切片区域和数据点由于新到达的数据将呈现过时的,将所述切片、切片区域和数据点标记为过期的。操作306描绘维持依赖关系信息以及切片、切片区域和数据点的刷新状态。实施方案可采用关于依赖关系信息的不同级别的粒度。例如,实施方案可仅在数据切片级别维持粗(course)粒度。
[0058] 操作308描绘以增量方式填充新添加的切片以及以增量方式刷新现有切片。实施方案可在发现新维度的存在之后添加新切片,在发现新维度的存在时相对少量的相关数据(仅一个或甚至零个数据点)可以是可用的。因此,切片可在基本上空态下创建,并且随着与切片相关的数据通过数据流到达而填充。
[0059] 如操作310所描绘的,各种实施方案可通过形成从新切片、或从新切片内的切片区域或数据点到现有切片、切片区域、或数据点的依赖关系链路,使新添加的切片中的视图部分具体化。因为链路可用性可允许新切片内的数据点的响应计算(在需要其时),新切片可被认为是部分具体化的。
[0060] 如操作312所描绘的,实施方案可基于计算的优先级部分地计算添加的切片中的数据点。实施方案可利用各种因素来确定优先级。在一个实施方案中,可通过各种因素来估计用户兴趣,以便确定计算的优先级。可例如通过监测鼠标移动(诸如在数据点上的悬停)来估计用户兴趣。客户端应用可监测鼠标移动,并且将对应信息传输到基于云的分析平台。信息可指示用户使用鼠标在其上悬停的切片数据区域,这可指示希望向下钻取到数据中。
实施方案可随后触发向下钻取所需的数据计算。实施方案也可通过将待区分优先次序的数据归类、以及使类别与每个类别的估计感兴趣级别相关来估计兴趣。可采用各种附加技术以便确定优先级,诸如与其他数据的依赖关系的程度。
[0061] 操作314描绘通过重新使用聚合数据来优化切片的计算。切片内的各种数据点的计算可包括聚合值,所述聚合值可组合以便形成更大数目的值的聚合,或分开以便形成更小数目的值的聚合。实施方案可维持依赖关系图信息以便与聚合重新使用结合使用。
[0062] 操作316描绘基于映象优化切片计算。在此,术语映象可以指以下技术:包括处理相关维度之间形成的对轴线上的n维立方体矩阵(其可投射到一个或多个切片上),并且使用对角线的一半上的完成的计算来完成另一半上的计算。例如,包括型号-年-销售的计算可以被重新用于执行包括年-型号-销售的计算。可响应于存在遍布于其数目高于阈值的属性分布的单个关键绩效指标(诸如销售)来施加此技术。
[0063] 在各种实施方案中,可将新维度添加到n维立方体。可响应于各种事件或情况添加新维度,所述各种事件或情况诸如接收添加新维度的请求,从对应于在n维立方体中还未表示的维度的数据流接收数据等。实施方案可通过形成数据切片并且将其添加到组成n维立方体的多个附加数据切片来添加新维度。可将描述新数据切片的信息添加到包含有关n维立方体的信息的存储库,所述新数据切片可包括有关切片被托管在其上的计算节点的信息。存储库可包括切片间依赖关系信息。
[0064] 数据切片可包括多个数据点,其对应于新维度与在n维立方体中已经表示的一个或多个其他维度的交叉。诸如聚合值和其他导出值的值可与数据点相关联。
[0065] 形成新数据切片可包括使数据点层级在n维立方体中部分具体化。部分具体化的层级可包括计算与层级中的数据点相关联的零个或更多个值。这些数据点的计算可推迟直到需要它们。代替预先计算每个数据点,实施方案可预先计算数据点的依赖关系信息。例如,与第一数据点相关联的值可用于计算与第二数据点相关联的值。实施方案可在将新维度添加到n维立方体之后识别此依赖关系,并且还存储描述依赖关系的信息。描述依赖关系的信息可存储在数据切片内,或外部存储在存储库中。在一些情况下,可存在切片间依赖关系。在此类情况下,实施方案可将依赖关系信息存储在中央存储库中,而不是存储在托管数据切片的计算节点上。
[0066] 实施方案可基于确定的优先级计算与数据点相关联的值。计算的优先级可指示用于计算与数据点相关联的值的相对顺序,并且还可指示不应当计算值,除非或直到需要值来响应于读取值的请求。
[0067] 实施方案可基于各种因素来调整推迟的计算的优先级。这可包括立即执行计算。实施方案可基于以下因素来调整优先级:包括但不限于用户动作、相同数据上或类似数据上的先前访问模式,诸如可概念上类似于包含待计算数据点的层级的层级中的数据等。例如,实施方案可确定某些类型的向下钻取、向上钻取或旋转操作被通常执行并且高度区分相关计算的优先次序或立即执行相关计算。
[0068] 可以被利用来确定计算优先级的另一个因素是安全。实施方案可例如基于各种安全属性(诸如与维度、层级、或n维立方体相关联的安全属性)确定用于计算数据点的优先级。
[0069] 实施方案可基于指示计算的确定优先级的排序值确定计算或另外运算数据点。例如,实施方案可将优先级分数分配到数据点(或分配到与数据点相关联的切片或层级的区域),并且因此将数据点排序。可采用各种技术来创建紧凑、可排序的结构,所述结构表示与数据点相关联的优先级值。
[0070] 实施方案可采用依赖关系信息来识别数据点层级中的路径,所述数据点可能在对路径基础处的值的改变之后需要重新计算。例如,当层级基础处的值更新时,其祖先可需要重新计算。实施方案可识别与改变值相关联的数据点和祖先之间的路径,并且将沿该路径的数据点标记成相对于后代过时的。可随后使用本文所公开的各种技术区分祖先数据点计算的优先次序。
[0071] 在一些情况下,数据点可取决于不完全的数据集。例如,当前24小时的时段的聚合值可能是不完全的直到24小时的时段已经过。实施方案可追踪与不完全数据集相关联的数据点,并且至少部分地基于数据集何时可被认为是完全的来调整计算优先级。例如,在数据集是不完全的时,取决于不完全数据集的数据点的祖先可以被标记为低优先级的以用于重新计算。当数据集变成完全的时,可随后向上调整优先级。
[0072] 在一个实施方案中,可基于外推与待计算数据点的后代相关联的值来计算数据点。例如,当前星期的销售数字的聚合值在所述星期的最后一天之前可能是不完全的。然而,可例如基于先前星期中的对应日来外推缺失数据点的值。
[0073] 图3B为描绘用于推迟n维立方体中的数据点的计算的实施方案的流程图。尽管被描绘成操作序列,本领域那些普通技术人员将理解所描绘的顺序不应当解释为限制本公开的范围,并且所描绘的操作中的至少一些可以更改、省略、重新排序、增补附加操作、或并行执行。所描绘的过程的实施方案可使用由计算系统(诸如本文所描述的计算系统)执行的计算机可执行指令的各种组合来实现。
[0074] 操作350描绘识别第一数据点与第二数据点之间的依赖关系的实施方案。依赖关系可反映两个值之间的关系,诸如第一数据点用作用于导出第二数据点的值的计算的输入。当第一数据点改变时,可能需要重新计算第二数据点以便保持准确。然而,实施方案可使用如本文所呈现的各种技术和机构,推迟第二数据点的计算并且调度计算。
[0075] 操作352描绘确定将访问第二数据点的概率。数据点的访问可包括其在与另一个数据点相关的计算中的使用。各种实施方案可使用依赖关系图或类似结构计算为此目的访问的概率。各种实施方案可利用各种其他因素来确定将访问第二数据点的概率。
[0076] 在一个实施方案中,可至少部分地基于接收指示与接口的用户交互的信息,确定可访问第二数据点的概率,所述用户交互指示或暗示目前或未来的向下钻取、向上钻取或旋转操作。更概括地说,用户可能以指示将访问数据点的增加概率或必然性的方式,与用户接口交互。这些动作可包括鼠标在数据字段上悬停,在指示应当执行向下钻取、向上钻取或旋转的按钮上点击或悬停等。
[0077] 实施方案也可考虑已经向客户端应用传输以用于向用户显示的数据。例如,如果处于层级级别“N”的数据在客户端应用中显示,那么处于级别“N-1”和“N+1”的数据点可具有增加的访问可能性。
[0078] 实施方案可利用计算数据点的成本与计算数据点中可能经过的时间的比较。在一些情况下,托管的数据分析服务的顾客可指示对性能超过成本的偏好。在这种情况下,实施方案可激进地区分计算的优先次序以便最小化延迟。在其他情况下,顾客可能希望减少利用数据分析服务的成本,并且可指示对成本节约的偏好。在一些情形下,成本节约可以实现作为可能由推迟计算引起的减少性能的折中。
[0079] 实施方案可利用n维立方体或与n维立方体相关的事务数据源的访问模式。例如,针对n维立方体或针对事务数据源执行的先前查询可指示具有比其他值更大的重要性的某些聚合或其他值。与此类聚合或其他值相关的数据点可具有增加的被访问可能性。这些数据点可因此被分配比其他数据点更高的计算优先级。
[0080] 图4为描绘用于在被适配用于基于云的分析的n维立方体中执行推迟计算的过程的实施方案的流程图。尽管被描绘成操作序列,本领域那些普通技术人员将理解所描绘的顺序不应当解释为限制本公开的范围,并且所描绘的操作中的至少一些可以更改、省略、重新排序、增补附加操作、或并行执行。所描绘的过程的实施方案可使用由计算系统(诸如本文所描述的计算系统)执行的计算机可执行指令的各种组合来实现。
[0081] 如操作400所描绘的,实施方案可通过将数据附加到现有存储器结构,将新识别的属性和相关聚合坐标添加到n维立方体。实施方案可将切片数据结构维持在系统存储器中,诸如随机访问存储器(“RAM”)。实施方案还可将切片数据结构的备份维持在支持分区上,所述备份可复制到附加分区。
[0082] 在各种实施方案中,可使得新维度是终端用户可自动发现的。实施方案可将指示新维度的信息传输到操作可嵌入分析模的客户端装置,所述客户端装置可向终端用户显示新维度的指示。用户对新维度的反应(诸如鼠标移动或鼠标点击)可用于测量用户对新维度的兴趣,并且调整计算在n维立方体中的数据点的优先级。
[0083] 如操作402所描绘的,实施方案可通过集中式数据字典来附加和替换切片。数据字典可包括数据库管理系统中的一个或多个表格。可以为提供改善的负载平衡能力和增加的可靠性的目的划分和复制数据字典。如操作404所描绘的,实施方案可维持指示n维立方体的区域的各种索引结构,其可以通过术语矩阵来指代。实施方案也可维持用于切片、切片区域和数据点的索引结构。
[0084] 如操作406所描绘的,实施方案可通过构建依赖关系树来将n维立方体的视图部分具体化。可代替直接计算n维立方体中的每个坐标交叉处的数据点,执行构建依赖关系树。可采用各种技术(诸如操作408和操作410所描述的技术)来构建依赖关系树。
[0085] 操作408描绘利用维度属性内的固有层级来构建依赖关系树。实施方案可能以高于最粗颗粒处的聚合的优先级来计算最细颗粒处的聚合。细粒度的聚合可随后被投射以便形成粗粒度聚合。实施方案可推迟粗粒度的聚合的计算直到需要时,诸如响应于用户兴趣的指示。
[0086] 操作410描绘使用推断、估计、分类模型和其他类似技术来识别类似依赖关系树应当施加到的n维立方体结构。新维度、测量值、或属性可具有与现有维数的类似性,以使得可在另外更改或不另外更改的情况下克隆其依赖关系模型。在一些情况下,实施方案可以能够识别新属性之间的独特对应性。例如,新存储可具有与现有存储相同的数据依赖关系。在未发现独特对应性的情况下,可使用诸如分类的技术来发现最近的邻近值。最近邻近值的依赖关系树可以随后被发现并且按需调整以用于施加到新维度、测量值、或属性。
[0087] 分类技术和推断技术可以施加到n维立方体的访问模式,以便识别应当克隆的n维立方体结构。例如,可将n维立方体的用户分类成组。例如通过确定哪些n维立方体结构是最频繁访问的,识别典型的向下钻取深度,识别共同旋转等,可分析组内用户的访问模式。当为落在相同组内的新用户构造n维立方体结构时,此信息可反映在新n维立方体结构的各种方面中(诸如计算优先级)。
[0088] 图5A为描绘用于提供托管的分析服务的系统的实施方案的方框图。托管的分析系统500可以被控制平面502管理,所述控制平面502协调系统的各种模块的活动。
[0089] 图像呈现504模块可为嵌入式用户接口部件提供呈现服务,诸如图表。结果集管理506模块可维持有关执行分析的结果的历史信息、数据高速缓存等。用户接口目录508模块可维持用于嵌入式分析的用户接口要素(诸如图像等)的存储库,所述用户接口要素可插入在包括嵌入式分析特征的应用的用户接口中。报告参数管理510模块可包括将在产生分析报告中使用的参数的存储库,所述参数诸如时间段、地理区域、将包括在报告中的维度、期望向下钻取级别等。
[0090] 聚合512模块可执行操作以便计算各种维度和维度组合中的聚合值。例如,聚合512模块可每月、每周和每日计算特定商店、地理区域和州的销售数据。
[0091] 导出计算514模块可基于聚合数据和其他信息执行第二-级计算。自定义计算516模块可执行报告专用或用户提供的计算。自定义计算可例如由应用发布者提供。
[0092] 情景层518模块可执行与模拟、投射、或其他类型的“假设分析”情景相关的操作。这些可以是例如由应用发布者提供的自定义情景。
[0093] 源和连接参数目录520可维持用于定位各种信息源和连接到各种信息源的信息。用于定位源的信息可包括网络地址、统一资源定位符(“URL”)等。用于连接的信息可包括各种形式的证书、账户、用户名等。
[0094] 元数据管理522模块可维持各种形式的元数据和在与各种数据源对接中使用的其他信息,所述各种数据源诸如关系数据源528、非关系数据源530、基于文件的源532,流式源534、以及基于云的数据源536。实施方案可采用来自与数据转换524模块结合的元数据管理
522模块的元数据。数据转换524模块可对输入数据执行数据转换和数据净化操作。
[0095] 调度器526模块可协调由托管的分析系统500执行的各种活动的时序。协调可包括调度n维立方体重新构建、调度数据检索等。
[0096] 可采用各种数据源。这些包括关系数据源528,诸如基于SQL的关系数据库管理系统,以及非关系数据源530。各种非关系数据源530可包括NoSQL数据库系统、关键值对数据库、对象关系数据库等。可使用各种基于文件的源532,诸如文档存储库、日志文件等。日志文件也可被视为流式数据源534,所述流式数据源534也可包括可在持续基础上更新数据的其他类型的数据源。可归类为其他流式数据源534的另一个示例是从视频游戏(诸如多玩家视频游戏)产生的数据。
[0097] 可使用各种类型的基于云的数据源536。这些可包括由托管的分析服务的提供者、应用公布者、应用用户、或第三方维持的各种网站或数据源。
[0098] 图5B描绘用于引入和处理来自实时数据源的数据的过程。数据源560可以通信方式耦接到适配器556和净化管路552。附加数据源(诸如数据源562)可以通信方式耦接到其他适配器和管路,诸如适配器558和净化管路554。
[0099] 适配器556可将来自数据源560的数据转换为适用于由净化管路552处理的格式。由净化管路552执行的操作可包括对输入数据执行一个或多个翻译或转换。示例包括词干提取、词形还原等。净化管路552可以是多路复用。这可包括沿多个路径执行净化以便产生归一化格式的数据,所述归一化格式匹配在每个目标n维立方体中使用的归一化格式。
[0100] 图5B描绘分析和存储550模块。这可以指用于执行分析的各种组件,诸如图5A中的模块502-526。从净化管路552和554输入的净化数据可由分析和存储550模块处理。所述处理可包括操作,诸如执行聚合、执行自定义计算、情景建模等。来自净化管路552和554的数据、以及任何计算值或导出值可以被路由和存储在适当的n维立方体中。
[0101] 可结合许多类型的数据库管理系统(“DBMS”)采用本公开的实施方案。DBMS是用于维持有组织的数据集合的软件硬件系统,可对所述有组织的数据集合执行存储操作和检索操作。在DBMS中,通常通过键值与附加数据之间的关联来组织数据。关联的性质可基于存在于数据集合中的现实世界关系,或它可以是任意的。可由DBMS执行各种操作,包括数据定义、查询、更新和管理。一些DBMS使用查询语言(诸如结构化查询语言(“SQL”))提供与数据库的交互,而其他DBMS使用包含操作(诸如put和get等)的API。与数据库的交互也可基于各种协议或标准,诸如超文本标记语言(“HTML”)和可扩展标记语言(“XML”)。DBMS可包括各种架构组件,诸如用于将数据存储在一个或多个存储装置(诸如固态硬盘)上的存储引擎。
[0102] 图6为描绘分布式计算环境的示例的图,可在所述分布式计算环境上实践本发明的方面。各种用户600a可与各种客户端应用交互,从而对任何类型的计算装置602a进行操作,以便通过通信网络604与数据中心620内的各种计算节点610a、610b和610c上执行的过程通信。可替代地,客户端应用602b可在无用户干预的情况下通信。通信网络604可包括通信技术的任何组合,包括互联网、有线和无线局域网、光纤网、卫星通信等。可采用任何数目的联网协议。
[0103] 与数据中心620内操作的计算节点610a、610b和610c上执行的过程的通信可通过网关606和路由器608来提供。也可采用许多其他网络配置。尽管在图6中未明确地描绘,可提供各种认证机构、web服务层、商业对象、或其他中间层以便调节与计算节点610a、610b和610c上执行的过程的通信。这些中间层中的一些可自身包括在计算节点中的一个或多个上执行的过程。计算节点610a、610b和610c以及在其上执行的过程也可通过路由器608彼此通信。可替代地,可采用独立通信路径。在一些实施方案中,数据中心620可以被配置来与附加数据中心通信,以使得计算节点和在其上执行的过程可与其他数据中心内操作的计算节点和过程通信。
[0104] 计算节点610a被描绘成驻留在物理硬件上,所述物理硬件包括一个或多个处理器616、一个或多个存储器618、以及一个或多个存储装置614。计算节点610a上的过程可结合操作系统执行,或可替代地可执行作为与物理资源(诸如处理器616、存储器618、或存储装置614)直接交互的裸机过程。
[0105] 计算节点610b和610c被描绘成在虚拟机主机612上操作,所述虚拟机主机612可向各种物理资源(诸如物理处理器、存储器和存储装置)提供共享访问。可采用任何数目的虚拟化机构以便托管计算节点。
[0106] 图6中描绘的各种计算节点可以被配置来托管web服务、数据库管理系统、商业对象、监测和诊断设备等。计算节点可以指各种类型的计算资源,诸如个人计算机、服务器、集群计算装置等。计算节点可例如指各种计算装置,诸如蜂窝电话、智能电话、平板计算机、嵌入式装置等。当以硬件形式实现时,计算节点通常与被配置来存储计算机可读指令的一个或多个存储器、以及被配置来读取和执行指令的一个或多个处理器相关联。基于硬件的计算节点还可包括一个或多个存储装置、网络接口、通信总线、用户接口装置等。计算节点还包括虚拟化计算资源(诸如通过或不通过管理程序实现的虚拟机)、虚拟化裸机环境等。基于虚拟化的计算节点可具有对硬件资源的虚拟化访问以及非虚拟化访问。计算节点可以被配置来执行操作系统以及一个或多个应用程序。在一些实施方案中,计算节点还可包括裸机应用程序。
[0107] 在至少一些实施方案中,实现本文所述技术中的一种或多种的一部分或全部的服务器可包括通用计算机系统,所述通用计算机系统包括一个或多个计算机可访问介质或被配置来访问一个或多个计算机可访问介质。图7描绘包括或被配置来访问一个或多个计算机可访问介质的通用计算机系统。在所示出的实施方案中,计算装置700包括经由输入/输出(I/O)接口730耦接至系统存储器720的一个或多个处理器710a、710b和/或710n(其在本文中以单数形式可被称为处理器710或以复数形式可被称为处理器710)。计算装置700还包括耦接到I/O接口730的网络接口740。
[0108] 在各种实施方案中,计算装置700可为包括一个处理器710的单处理器系统,或包括若干处理器710(例如两个、四个、八个或另一合适数目)的多处理器系统。处理器710可以是能够执行指令的任何合适处理器。例如,在各种实施方案中,处理器610可以是实现各种指令集架构(ISA)中任何一种架构的通用或嵌入式处理器,所述架构诸如x86、PowerPC、SPARC、或MIPS ISA或任何其他合适ISA。在多处理器系统中,每一个处理器610通常可以但不一定实现相同的ISA。
[0109] 在一些实施方案中,图形处理单元(“GPU”)712可参与提供图形呈现和/或物理处理能力。GPU可例如包括专用于图解计算的高度并行处理器架构。在一些实施方案中,处理器710和GPU 712可以被实现为一个或多个相同类型的装置。
[0110] 系统存储器720可被配置来存储可由处理器610访问的指令和数据。在各种实施方案中,系统存储器720可使用任何合适存储器技术来实现,所述存储器技术诸如静态随机存取存储器(“SRAM”)、同步动态RAM(“SDRAM”)、非易失性/ 型存储器或任何其他类型的存储器。在示出的实施方案中,实现一个或多个期望功能的程序指令和数据(如上文所述的那些方法、技术以及数据)被示出作为代码725和数据726存储在系统存储器720内。
[0111] 在一个实施方案中,I/O接口730可被配置来协调处理器710、系统存储器720和装置中的任何外围装置之间的I/O流量,所述外围装置包括网络接口740或其他外围接口。在一些实施方案中,I/O接口730可执行任何必需协议、时序或其他数据转换以将来自一个部件(例如,系统存储器720)的数据信号转变成适合由另一个部件(例如,处理器610)使用的格式。在一些实施方案中,I/O接口730可包括对于通过各种类型的外围总线附接的装置的支持,所述外围总线诸如像外围组件互连(PCI)总线标准或通用串行总线(USB)标准的改变形式。在一些实施方案中,I/O接口730的功能可分到两个或更多个单独的部件中,诸如像北桥和南桥。另外,在一些实施方案中,I/O接口730的一些或所有功能,诸如到系统存储器620的接口,可直接并入处理器710中。
[0112] 网络接口740可被配置来允许数据在计算装置700与附接至一个或多个网络750的其他一个或多个装置760(诸如像其他计算机系统或装置)之间进行交换。在各种实施方案中,网络接口740可以支持经由任何合适的有线或无线通用数据网络(诸如像以太网网络类型)进行通信。另外,网络接口740可以支持通过电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、通过存储区域网络(诸如光纤通道SAN(存储区域网络))或通过任何其他合适类型的网络和/或协议进行通信。
[0113] 在一些实施方案中,系统存储器720可以是计算机可访问介质的一个实施方案,所述计算机可访问介质被配置来存储如上文所述的用于实现对应方法和设备的实施方案的程序指令和数据。然而,在其他实施方案中,可以在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可访问介质可包括非暂时性存储介质或存储器介质,如磁性或光学介质,例如经由I/O接口730耦接至计算装置700的磁盘或DVD/CD。非暂时性计算机可访问存储介质也可包括可作为系统存储器720或另一类型存储器而被包括在计算装置700的一些实施方案中的任何易失性或非易失性介质,诸如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等。此外,计算机可访问介质可以包括传输介质或信号,诸如经由通信介质(诸如网络和/或无线链路)传送的电信号、电磁信号或数字信号,诸如可以经由网络接口740来实现的那些。多个计算装置中的部分或全部(如图7中所示出的那些)可用来实现各种实施方案中的所描述功能;例如,在各种不同的装置和服务器上运行的软件组件可协作来提供功能。在一些实施方案中,除了或者代替使用通用计算机系统来实现,所描述功能的部分可使用存储装置、网络装置或专用计算机系统来实现。如本文所使用,术语“计算装置”至少是指所有这些类型的装置并且不限于这些类型的装置。
[0114] 也可以被称为计算节点(computing node)的计算节点(compute node)可在各种各样的计算环境上实现,所述计算环境诸如平板计算机、个人计算机、智能电话、游戏控制台、商品硬件计算机、虚拟机、web服务、计算集群和计算设备。任何这些计算装置或环境可为方便起见描述成计算节点(compute node)或描述成计算节点(computing node)。
[0115] 由诸如公司或公共部组织的实体建立用于将可经由互联网和/或其他网络访问的一种或多种web服务(诸如各种类型的基于云的计算或存储)提供至一组分布式客户端的网络可称为提供者网络。这种提供者网络可包括托管实现和分布由提供者网络提供的基础设施和web服务所需的各种资源池的许多数据中心,诸如物理和/或虚拟化计算机服务器、存储装置、联网设备等的集合。在一些实施方案中,资源可以被提供到与web服务相关的各种单元中的客户端,诸如用于存储的存储容量的量、用于处理的处理能力、例如相关服务集合等。虚拟计算实例例如可包括具有指定的计算容量(所述计算容量可通过指示CPU的类型和数目、主存储器大小等进行指定)和指定的软件栈(例如,特定版本的操作系统,其进而可在管理程序顶上运行)的一个或多个服务器。
[0116] 许多不同类型的计算装置可单独或组合使用以实现在不同的实施方案中的提供者网络的资源,所述不同类型的计算装置包括通用的或专用的计算机服务器、存储装置、网络装置等。在一些实施方案中,例如可通过给予用户管理员登录名和密码来向客户端或用户提供对资源实例的直接访问。在其他实施方案中,提供者网络操作员可允许客户端指定针对指定的客户端应用的执行要求并且代表客户端安排在适合于应用的执行平台(诸如应用服务器实例、JavaTM虚拟机(JVM)、通用或专用操作系统、支持各种解释的或编译的编程语言(诸如Ruby、Perl、Python、C、C++等)的平台或高性能计算平台)上执行应用,而例如不需要客户端直接访问实例或执行平台。给定的执行平台在一些实现方式中可利用一个或多个资源实例;在其他实现方式中,多个执行平台可被映射到单个资源实例。
[0117] 在许多环境中,实现不同类型的虚拟化计算、存储和/或其他网络可访问功能的提供者网络的操作员可允许客户在各种资源获取模式下预留或购买对资源的访问。计算资源提供者可为客户提供设施来选择和启动所需的计算资源、将应用组件部署到计算资源并且维持在环境中执行应用。另外,由于对应用的需求或应用的容量要求改变,计算资源提供者还可为客户提供设施来手动地或通过自动扩展快速且容易地放大或缩小分配到应用的资源的数目和类型。可以离散单元的形式来获得由计算资源提供者提供的计算资源,所述单元可称为实例。实例可表示物理服务器硬件平台、在服务器上执行的虚拟机实例或这两者的某种组合。可以获得各种类型和配置的实例,包括执行不同操作系统(OS)和/或管理程序且具有各种安装的软件应用、运行时间等的不同大小的资源。实例还可用于特定的可用性区中,所述可用性区表示例如逻辑区域、容错区域、数据中心或基础计算硬件的其他地理位置。实例可在可用性区内或跨可用性区复制,以便改善实例的冗余,并且实例可在特定可用性区内或跨可用性区迁移。作为一个示例,与可用性区中的特定服务器的客户端通信的延迟可小于与不同服务器的客户端通信的延迟。这样,实例可从较高延迟服务器迁移到较低延迟服务器以便改善总体客户端体验。
[0118] 在一些实施方案中,提供者网络可被组织成多个地理区域,并且每个区域可包括一个或多个可用性区。可用性区(其也可称为可用性容器)进而可包括一个或多个不同的位置或数据中心,以这样的方式进行配置使得:给定的可用性区中的资源可与其他可用性区中的故障隔离或绝缘。也就是说,预期一个可用性区中的故障可能不会引起任何其他可用性区中的故障。因此,所意图的是,资源实例的可用性配置文件独立于不同可用性区中的资源实例的可用性配置文件。客户端可能够通过在各自的可用性区中启动多个应用实例来保护其应用免受在单个位置处的故障。同时,在一些实现方式中,可以提供驻留在同一地理区域内的资源实例之间的廉价且低延迟的网络连通性(并且同一可用性区的资源之间的网络传输可以更快)。
[0119] 在前述部分中所述的过程、方法和算法中的每一个可体现在由一个或多个计算机或计算机处理器执行的代码模块中,并且完全或部分地由所述代码模块自动进行。所述代码模块可存储在任何类型的非暂时性计算机可读介质或计算机存储装置(诸如硬盘、固态存储器、光盘和/或类似装置)上。所述过程和算法可部分地或全部地以专用电路实现。所公开的过程和处理步骤的结果可永久地或以其他方式存储在任何类型的非暂时性计算机存储装置(诸如像易失性或非易失性存储装置)中。
[0120] 上文所述的各种特征和过程可彼此独立地使用或可以各种方式进行组合。全部可能的组合和子组合意图落入本公开的范围内。此外,某些方法和过程块可在一些实现方式中省略掉。本文所述的方法和过程也不限于任何特定的顺序,并且与之相关的块或状态可按其他适当的顺序执行。例如,所述的块或状态可按不同于已明确公开的次序的次序执行,或多个块或状态可组合在单个块或状态中。示例性块或状态可串行地、并行地或以其他方式执行。块或状态可被添加至所公开的示例实施方案或可从这些实施方案中移除。本文所述的示例系统和部件可以不同于所述方式的方式被配置。例如,与所公开的示例性实施方案相比,要素可被添加、移除或重新排列。
[0121] 还将理解的是,各种项目被示出为在使用时存储在存储器中或者存储装置上,并且为了存储器管理和数据完整性的目的,可在存储器与其他存储装置之间传递这些项目或其部分。可替代地,在其他实施方案中,软件模块和/或系统中的一些或全部可在另一装置上的存储器中执行,并且通过计算机间的通信来与所示出的计算系统通信。此外,在一些实施方案中,一些或所有系统和/或模块可能以其他方式来实现或提供,诸如至少部分地以固件和/或硬件来实现或提供,包括但不限于一个或多个应用专用集成电路(ASIC)、标准集成电路、控制器(例如,通过执行适当指令,并且包括微型控制器和/或嵌入式控制器)、现场可编程门阵列(FPGA)、复合可编程逻辑装置(CPLD)等。模块、系统和数据结构中的一些或所有也可存储(例如,作为软件指令或结构化数据)在计算机可读介质上,诸如硬盘、存储器、网络、或通过适当的装置或经由适当的连接读取的便携式介质物件。所述系统、模块和数据结构也可作为所生成的数据信号(例如,作为载波或其他模拟或数字传播信号的一部分)在各种计算机可读传输介质(包括基于无线的介质和基于有线/电缆的介质)上传输,并且可采取多种形式(例如,作为单一模拟信号或多路复用的模拟信号的一部分,或作为多个离散的数字分组或)。在其他实施方案中,这种计算机程序产品也可采取其他形式。因此,本发明可使用其他计算机系统配置来实践。
[0122] 鉴于下列条款可更好理解上述说明:
[0123] 1.一种用于执行数据分析的系统,所述系统具有改善的扩展特征,所述系统包括:
[0124] 多个计算节点,其包括第一一个或多个计算节点和第二一个或多个计算节点,所述多个计算节点在激活时维持n维立方体的切片,所述切片包括数据点层级,所述数据点对应于一个或多个固定维度与一个或多个可变维度的交叉;以及
[0125] 一个或多个存储器,其具有存储在其上的计算机可读指令,所述计算机可读指令在执行时致使所述系统至少:
[0126] 将所述数据点层级的第一子集维持在所述第一一个或多个计算节点上,其中至少部分地基于所述层级的与计算需求的第一分类相关联的数据点,将数据点包括在所述第一子集中;
[0127] 将所述数据点层级的第二子集维持在所述第二一个或多个计算节点上,其中至少部分地基于所述层级的与计算需求的第二分类相关联的数据点,将数据点包括在所述第二子集中;以及
[0128] 通过处理在所述第一一个或多个计算节点上的所述请求,处理对访问所述层级的数据点的第一请求,其中至少部分地基于计算需求的所述第一分类,所述第一一个或多个计算节点被配置有扩展机构。
[0129] 2.如条款1所述的系统,其中所述第一分类基于高写入频率,并且所述扩展机构包括在所述第一一个或多个计算节点之间水平划分所述层级的所述第一子集中的数据点。
[0130] 3.如条款1所述的系统,其中所述第一分类基于高读取频率,并且所述扩展机构包括包含可写入分区的至少一个只读副本的所述第一一个或多个计算节点。
[0131] 4.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在执行时致使所述系统至少:
[0132] 至少部分地基于与所述层级相关联的维度和与所述维度相关联的一个或多个计算需求之间的映射,将所述层级的区域分类。
[0133] 5.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在执行时致使所述系统至少:
[0134] 至少部分地基于路径中的数据点的访问频率,识别所述层级中的所述路径;以及[0135] 当所述访问频率高于阈值级别时,将与所述路径相关联的所述数据点维持在主存储器中。
[0136] 6.一种用于维持n维立方体的计算机实现方法,所述方法包括:
[0137] 识别所述n维立方体中的数据点层级的第一子集,其中至少部分地基于与所述层级的所述第一子集中的数据点相关联的计算需求,识别所述子集;
[0138] 至少部分地基于与所述数据点相关联的所述计算需求,选择扩展机构;以及[0139] 将所述层级的所述第一子集维持在至少第一计算节点和第二计算节点上,其中所述层级的所述第一子集基于所述选择的扩展机构至少在所述第一计算节点与所述第二计算节点之间被划分或复制。
[0140] 7.如条款6所述的方法,其中至少部分地基于写入频率是相对于读取频率高的,选择所述扩展机构。
[0141] 8.如条款7所述的方法,其还包括:
[0142] 在至少所述第一计算节点与所述第二计算节点之间,水平划分所述层级的所述第一子集的数据点。
[0143] 9.如条款6所述的方法,其中至少部分地基于读取频率是相对于所述第一计算节点容量高的,选择所述扩展机构以便响应于读取所述层级的所述第一子集中的数据的请求。
[0144] 10.如条款9所述的方法,其还包括:
[0145] 将所述层级的所述第一子集的至少一部分复制在所述第二计算节点上,其中所述层级的所述第一子集的所述至少一部分维持在所述第一计算节点上。
[0146] 11.如条款6所述的方法,其还包括:
[0147] 至少部分地基于与所述层级相关联的维度和与所述维度相关联的计算需求之间的映射,将所述层级的区域分类。
[0148] 12.如条款6所述的方法,其还包括:
[0149] 至少部分地基于路径中的数据点的访问频率,识别所述层级中的所述路径;以及[0150] 当所述访问频率高于阈值级别时,将与所述路径相关联的所述数据点维持在主存储器中。
[0151] 13.如条款6所述的方法,其还包括:
[0152] 至少部分地基于与附加子集中的数据点相关联的计算需求,选择用于所述层级的所述附加子集的第二扩展机构。
[0153] 14.一种非暂时性计算机可读存储介质,其具有存储在其上的指令,所述指令在被一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0154] 确定将数据点层级存储在至少第一计算节点和第二计算节点上;
[0155] 将所述数据点层级的第一子集存储在所述第一一个或多个计算节点上,其中至少部分地基于所述层级中的与计算需求的第一分类相关联的数据点,将数据点包括在所述第一子集中;以及
[0156] 将所述数据点层级的第二子集存储在所述第二一个或多个计算节点上,其中至少部分地基于所述层级中的与计算需求的第二分类相关联的数据点,将数据点包括在所述第二子集中。
[0157] 15.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0158] 确定将n维立方体的切片存储在包括所述第一计算节点和所述第二计算节点的多个计算节点上,所述切片包括数据点和对应于一个或多个固定维度与一个或多个可变维度的交叉的附加数据点的所述层级。
[0159] 16.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0160] 确定重新定位来自所述第一一个或多个计算节点的数据点的所述层级的所述第一子集的一部分,所述确定至少部分地基于监测与所述数据点相关联的计算需求。
[0161] 17.如条款14所述的非暂时性计算机可读存储介质,其中所述第一分类基于高写入频率,并且所述层级的所述第一子集的数据点在所述第一一个或多个计算节点之间水平划分。
[0162] 18.如条款14所述的非暂时性计算机可读存储介质,其中所述第一分类基于高读取频率,并且所述第一一个或多个计算节点包括可写入分区和只读副本。
[0163] 19.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0164] 至少部分地基于与所述层级相关联的维度和与所述维度相关联的一个或多个计算需求之间的映射,将所述层级的区域分类。
[0165] 20.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0166] 至少部分地基于路径中的数据点的访问频率,识别所述层级中的所述路径;以及[0167] 当所述访问频率高于阈值级别时,将与所述路径相关联的所述数据点维持在主存储器中。
[0168] 并且鉴于下列附加组条款可更好理解上述说明:
[0169] 1.一种用于对包括实时数据流的数据执行在线分析处理的系统,所述系统包括:
[0170] 多个计算节点,其维持包括多个维度的n维立方体;以及
[0171] 一个或多个存储器,其具有存储在其上的计算机可读指令,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0172] 接收指示将附加维度添加到所述n维立方体的信息;
[0173] 形成数据切片,所述数据切片包括对应于至少所述附加维度与所述多个维度中的至少一个的交叉的多个数据点;以及
[0174] 将所述多个数据点的层级部分具体化,其中将所述层级部分具体化包括识别所述多个数据点的第一数据点与所述多个数据点的第二数据点之间的依赖关系,其中少于所有的所述多个数据点在部分具体化期间计算。
[0175] 2.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0176] 将指示所述依赖关系的信息存储在维持在所述多个计算节点中的至少一个上的存储库中。
[0177] 3.如条款2所述的系统,其中所述存储库包括指示所述数据切片与所述n维立方体的附加数据切片之间的第二依赖关系的信息。
[0178] 4.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0179] 计算与所述层级的所述第一数据点相关联的值;
[0180] 识别从所述第一数据点到所述层级的附加数据点的路径,所述附加数据点是所述第一数据点的祖先;以及
[0181] 记录所述附加数据点相对于所述第一数据点过时的指示。
[0182] 5.如条款1所述的系统,其中指示将所述附加维度添加到所述n维立方体的所述信息包括对应于所述附加维度的数据。
[0183] 6.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0184] 至少部分地基于附加数据点的与不完全数据集相关联的后代,推迟所述层级的所述附加数据点的计算。
[0185] 7.一种将n维立方体维持在多个计算节点上的计算机实现方法,所述方法包括:
[0186] 通过至少形成所述多个计算节点中的至少一个上的数据切片,将附加维度添加到所述n维立方体,所述数据切片包括对应于至少所述附加维度与所述n维立方体的多个维度中的至少一个的交叉的多个数据点;以及
[0187] 部分形成所述多个数据点的层级,其中部分形成所述层级包括识别所述多个数据点的第一数据点与所述多个数据点的第二数据点之间的依赖关系。
[0188] 8.如条款7所述的计算机实现方法,其还包括:
[0189] 识别所述数据切片与维持在所述多个计算节点中的第二至少一个上的另一个数据切片之间的第二依赖关系;以及
[0190] 将指示所述依赖关系的信息存储在维持在所述多个计算节点中的第三至少一个上的存储库中。
[0191] 9.如条款7所述的计算机实现方法,其还包括:
[0192] 计算所述层级的所述第一数据点的值;
[0193] 识别从所述第一数据点到所述层级的附加数据点的路径,所述附加数据点是所述第一数据点的祖先;以及
[0194] 记录所述附加数据点相对于所述第一数据点过时的指示。
[0195] 10.如条款7所述的计算机实现方法,其还包括:
[0196] 接收指示将所述附加维度添加到所述n维立方体的信息,所述信息包括对应于所述附加维度的数据。
[0197] 11.如条款7所述的计算机实现方法,其还包括:
[0198] 至少部分地基于附加数据点的与不完全数据集相关联的后代,推迟所述层级的所述附加数据点的计算。
[0199] 12.如条款11所述的计算机实现方法,其中所述附加数据点与表示时间段的聚合值相关联。
[0200] 13.如条款11所述的计算机实现方法,其还包括:
[0201] 至少部分地基于所述n维立方体中的数据的先前访问模式,计算所述附加数据点。
[0202] 14.如条款7所述的计算机实现方法,其还包括:
[0203] 至少部分地基于外推与所述附加数据点的后代相关联的值,计算所述层级的附加数据点。
[0204] 15.如条款7所述的计算机实现方法,其还包括:
[0205] 确定所述层级是相对于改变的属性值过时的;
[0206] 区分所述层级的第一级别相对于所述改变的属性值的计算的优先次序;
[0207] 推迟计算所述层级的第二级别,所述第二级别取决于所述第一级别;以及[0208] 响应于向下钻取、向上钻取、或旋转事件中的至少一个,区分所述层级的所述第二级别的计算的优先次序。
[0209] 16.一种非暂时性计算机可读存储介质,其具有存储在其上的指令,所述指令在被一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0210] 通过至少形成所述多个计算节点中的至少一个上的数据切片,将附加维度添加到n维立方体,所述数据切片包括对应于至少所述附加维度与所述n维立方体的多个维度中的至少一个的交叉的多个数据点;以及
[0211] 部分形成所述多个数据点的层级,其中部分形成所述层级包括识别所述多个数据点的第一数据点与所述多个数据点的第二数据点之间的依赖关系。
[0212] 17.如条款16所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0213] 识别所述数据切片与维持在所述多个计算节点中的第二至少一个上的另一个数据切片之间的第二依赖关系;以及
[0214] 将指示所述依赖关系的信息存储在维持在所述多个计算节点中的第三至少一个上的存储库中。
[0215] 18.如条款16所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0216] 计算所述层级的所述第一数据点的值;
[0217] 识别从所述第一数据点到所述层级的附加数据点的路径,所述附加数据点是所述第一数据点的祖先;以及
[0218] 记录与所述附加数据点相关联的附加值相对于所述第一数据点过时的指示。
[0219] 19.如条款16所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0220] 接收指示将所述附加维度添加到所述n维立方体的信息,所述信息包括对应于所述附加维度的数据。
[0221] 20.如条款16所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0222] 至少部分地基于附加数据点的与不完全数据集相关联的后代,推迟与所述层级的所述附加数据点相关联的值的计算。
[0223] 21.如条款16所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0224] 基于不完全数据集计算所述层级的附加数据点的聚合值,所述不完全数据集对应于还未经过的时间段;
[0225] 初始推迟与所述附加数据点的祖先相关联的值的计算;以及
[0226] 响应于所述时间段经过,区分与所述附加数据点的所述祖先相关联的所述值的计算的优先次序。
[0227] 22.如条款16所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0228] 确定所述层级是相对于改变的属性值过时的;
[0229] 区分所述层级的第一级别相对于所述改变的属性值的计算的优先次序;以及[0230] 初始推迟计算所述层级的第二级别,所述第二级别取决于所述第一级别;以及[0231] 响应于向下钻取、向上钻取、或旋转事件中的至少一个,区分所述层级的所述第二级别的计算的优先次序。
[0232] 此外,鉴于这些附加条款可更好理解上述说明:
[0233] 1.一种用于对包括实时数据流的数据执行在线分析处理的系统,所述系统包括:
[0234] 一个或多个计算节点,其维持n维立方体,所述n维立方体包括多个维度和对应于至少所述多个维度的子集的交叉的多个数据点,所述多个数据点包括第一数据点和第二数据点;以及
[0235] 一个或多个存储器,其具有存储在其上的计算机可读指令,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0236] 识别所述第一数据点与所述第二数据点之间的依赖关系,所述依赖关系包括基于所述第一数据点计算所述第二数据点;
[0237] 确定计算所述第二数据点的优先级,所述优先级至少部分地基于指示接收访问所述第二数据点的请求的可能性的信息;以及
[0238] 至少部分地基于所述优先级以及基于对所述第一数据点的改变,调度所述第二数据点的计算。
[0239] 2.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0240] 至少部分地基于接收指示与用户接口的交互的信息,计算接收访问所述第二数据点的所述请求的所述可能性。
[0241] 3.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0242] 至少部分地基于针对所述n维立方体或与所述n维立方体相关的事务数据源中的至少一个执行的查询所暗示的访问模式,计算接收访问所述第二数据点的所述请求的所述可能性。
[0243] 4.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0244] 至少部分地基于执行向下钻取、向上钻取或旋转中的至少一个的请求,计算接收访问所述第二数据点的所述请求的所述可能性。
[0245] 5.如条款1所述的系统,所述系统还包括具有存储在其上的计算机可读指令的一个或多个存储器,所述计算机可读指令在被所述一个或多个计算节点执行时致使所述系统至少:
[0246] 至少部分地基于在计算所述第二数据点时经过的时间,确定计算所述第二值的所述优先级。
[0247] 6.一种用于计算与n维立方体的数据点相关联的值的计算机实现方法,所述方法包括:
[0248] 识别第一数据点与第二数据点之间的依赖关系;
[0249] 确定计算所述第二数据点的优先级,所述优先级至少部分地基于指示接收访问所述第二数据点的请求的可能性的信息;以及
[0250] 至少部分地基于所述优先级以及基于对所述第一数据点的改变,调度所述第二数据点的计算。
[0251] 7.如条款6所述的计算机实现方法,其中调度所述第二数据点的所述计算包括至少部分地基于所述优先级,对所述第一数据点和第二数据点进行排序。
[0252] 8.如条款6所述的计算机实现方法,其还包括:
[0253] 至少部分地基于接收指示与向下钻取、向上钻取、或旋转控制中的至少一个的交互的信息,计算接收访问所述第二数据点的所述请求的所述可能性。
[0254] 9.如条款6所述的计算机实现方法,其还包括:
[0255] 至少部分地基于针对所述n维立方体或与所述n维立方体相关的事务数据源中的至少一个执行的查询所暗示的访问模式,计算接收访问所述第二数据点的所述请求的所述可能性。
[0256] 10.如条款9所述的计算机实现方法,其中所述访问模式包括对聚合值的访问。
[0257] 11.如条款6所述的计算机实现方法,其还包括:
[0258] 至少部分地基于计算所述第二数据点的成本,确定计算所述第二数据点的所述优先级。
[0259] 12.如条款6所述的计算机实现方法,其还包括:
[0260] 至少部分地基于接收访问所述第二数据点的所述请求,计算所述第二数据点。
[0261] 13.如条款6所述的计算机实现方法,其还包括:
[0262] 至少部分地基于传输到计算装置以用于向用户显示的所述第一数据点,确定接收访问所述第二值的所述请求的所述可能性增加。
[0263] 14.一种非暂时性计算机可读存储介质,其具有存储在其上的指令,所述指令在被一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0264] 识别n维立方体的第一数据点与第二数据点之间的依赖关系;
[0265] 确定计算所述第二数据点的优先级,所述优先级至少部分地基于指示接收访问所述第二数据点的请求的可能性的信息;以及
[0266] 至少部分地基于所述优先级以及基于对所述第一数据点的改变,调度所述第二数据点的计算。
[0267] 15.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0268] 至少部分地基于接收指示执行向下钻取、向上钻取、或旋转操作中的至少一个的信息,计算接收访问所述第二数据点的所述请求的所述可能性。
[0269] 16.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0270] 至少部分地基于针对所述n维立方体或与所述n维立方体相关的事务数据源中的至少一个执行的查询所暗示的访问模式,计算接收访问所述第二数据点的所述请求的所述可能性。
[0271] 17.如条款16所述的非暂时性计算机可读存储介质,其中所述访问模式包括由所述n维立方体或与所述n维立方体相关的所述事务数据源中的至少一个处理的查询,所述查询包括聚合子句。
[0272] 18.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0273] 至少部分地基于计算所述第二数据点的成本,确定计算所述第二数据点的所述优先级。
[0274] 19.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0275] 至少部分地基于接收访问所述第二数据点的所述请求,计算所述第二数据点。
[0276] 20.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0277] 至少部分地基于传输到计算装置以用于向用户显示的所述第一值,确定接收访问所述第二数据点的所述请求的所述可能性增加。
[0278] 21.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0279] 至少部分地基于所述优先级确定计算所述第二数据点,所述优先级是相对于计算所述n维立方体中的其他数据点的优先级。
[0280] 22.如条款14所述的非暂时性计算机可读存储介质,其还包括指令,所述指令在被所述一个或多个计算装置执行时,致使所述一个或多个计算装置至少:
[0281] 至少部分地基于与所述第二数据点、维度、层级或所述n维立方体中的至少一个相关联的安全属性,确定计算所述第二数据点。
[0282] 除非另外特别说明,或者在所用上下文中另外加以理解,否则诸如“能够”、“可”、“可能”、“可以”、“例如”等等本文所使用的条件语言通常意图表达:某些实施方案包括某些特征、要素和/或步骤,而其他实施方案不包括这些特征、要素和/或步骤。因此,这种条件语言通常并非意图暗示所述特征、要素和/或步骤无论如何都是一个或多个实施方案所必需的,或者并非暗示一个或多个实施方案必须包括用于在借助和不借助作者输入或者提示的情况下决定是否包括这些特征、要素和/或步骤或是否在任何特定实施方案中实施这些特征、要素和/或步骤的逻辑。术语“包括”、“包含”、“具有”等是同义的,并以开放的方式包含性地使用,而且不排除额外要素、特征、动作、操作等等。另外,术语“或者”以其包含性意义(并且不以其排除性意义)使用,从而使得当(例如)用来连接一列表要素时,术语“或者”意味着所述列表中要素的一个、一些或全部。
[0283] 尽管已经描述某些示例实施方案,但是这些实施方案仅仅通过示例呈现,且并非意图限制本文所公开的发明的范围。因此,在前文描述中没有内容意在暗示任何特定特征、特性、步骤、模块或方框是必须的或不可缺少的。实际上,本文所述的新颖方法和系统可以多种其他形式体现;此外,在不脱离本文所公开的发明的精神的情况下,可以对本文所述的方法和系统做出各种省略、替代和形式变化。所附权利要求书和其等效物意图涵盖将会落在本文所公开的某些发明的范围和精神内的这类形式或修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈