利用综合操作的聚合数据制造技术

技术编号:2828614 阅读:210 留言:0更新日期:2012-04-11 18:40
聚合数据包括接受第一数据集,该第一数据集包括多个记录,每个记录保存多个字段中每一个字段的值。从该第一数据集产生第二数据集。该第二数据集包括一个或多个聚合记录,每个聚合记录对应于来自该第一数据集的一个或多个记录,来自该第一数据集的一个或多个记录匹配于字段子集中的值。从该第二数据集产生第三数据集。该第三数据集包括一个或多个聚合记录,每个聚合记录对应于该第一数据集的一个或多个聚合记录,该第一数据集的一个或多个聚合记录匹配于字段子集中的值。与该第三数据集中的聚合记录相关联的聚合值表示对与来自该第一数据集的多个记录相关联的值执行不可级联操作的结果。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及利用综合操作的聚合数据
技术介绍
存在多种联机分析处理(OLAP)技术,其允许用户分析存储在数据库 中的多维数据。典型地,该数据库包括具有多个维度(或关键字字段) 和多个属性(或非关键字字段)的事实表,其中维度存储用作进入 多维数据的索引的值、属性存储其它值。用户可以执行涉及计算多维数据聚 合的数据查询。为了增加此种査询的效率,典型的OLAP方案预先计算一些 可能的聚合。
技术实现思路
在总的方面,本专利技术特征在于一种用于聚合数据的方法以及相应的软件 和系统。该方法包括接受第一数据集,该第一数据集包括多个记录,每个记 录保存(holding)多个字段中每一个字段的值。从该第一数据集产生第二数 据集,该第二数据集包括一个或多个聚合记录。该第二数据集的每个聚合记 录对应于来自该第一数据集的一个或多个记录,且上述被该第二数据集的每 个聚合记录所对应的来自该第一数据集的一个或多个记录匹配于与该聚合 记录相关联的字段子集中的值。从该第二数据集产生第三数据集,该第三数 据集包括一个或多个聚合记录。该第三数据集的每个聚合记录对应于该第一 数据集的一个或多个聚合记录,且上述被该第三数据集的每个聚合记录所对 应的该第一数据集的一个或多个聚合记录匹配于与该第三数据集的聚合记 录相关联的字段子集中的值。与第三数据集中的聚合记录相关联的聚合值表 示对与来自该第一数据集的多个记录相关联的值执行不可级联操作的结果。这个方面可包括一个或多个以下特征。对与来自该第一数据集的多个记录相关联的值执行不可级联操作是由以下各项组成的群组中之一确定所述值中不同值(distinctvalue)的个数确 定所述值的中间值,确定所述值的多个极值的和,以及确定所述值的多个和 的极值。该不可级联操作是这样的,对一组操作数执行该不可级联操作的结果不 能分解成以下的操作执行结果对该操作数的第一子集执行该操作的第一结 果,和对该操作数的第二子集执行该操作的第二结果;其中第一子集和第二子集是互斥的和穷举的。所述多个字段中的至少一个字段至少部分地与所述多个字段中的另一 个字段函数相关。与所述多个字段中至少一个字段相关联的至少一些值依赖于与所述多 个字段中另 一个字段相关联的对应值。从该第二数据集产生该第三数据集包括接收该第二数据集的聚合记录流。在另一总的方面,本专利技术特征在于一种用于聚合包括多个记录的数据的 方法,每个记录保存多个字段中每一个字段的值。该方法包括,在考虑所述 字段之间的函数相关性的条件下,利用不可级联操作执行在所述记录内字段 的多级聚合。这个方面可包括一个或多个以下特征。该不可级联操作是由以下各项组成的群组中之一确定所述值中不同值的个数,确定所述值的中间值,确定所述值的多个极值的和,以及确定所述 值的多个和的极值。该不可级联操作是这样的,对一组操作数执行该不可级联操作的结果不能分解成以下的操作执行结果对该操作数的第一子集执行该操作的第一结 果,和对该操作数的第二子集执行该操作的第二个结果;其中第一子集和第二子集是互斥的和穷举的。在另一总的方面,本专利技术特征在于一种用于聚合数据的方法以及相应的 软件和系统。该方法包括接受第一数据集,该第一数据集包括多个记录,每 个记录保存多个字段中每一个字段的值。该方法包括产生该第一数据集的记录与多个第一关键字集(keyset)的笛卡尔积。每个关键字集表示该第一数 据集的字段子集。该方法包括从所产生的笛卡尔积产生第二数据集,该第二数据集包括一个或多个聚合记录,每个聚合记录对应于来自该第一数据集的 一个或多个记录,上述被每个聚合记录所对应的来自该第一数据集的一个或 多个记录匹配于与该聚合记录相关联的字段子集中的值。该方法包括从该第 二数据集产生第三数据集,该第三数据集包括一个或多个聚合记录,该第三 数据集的每个聚合记录对应于该第一数据集的一个或多个聚合记录,上述被 该第三数据集的每个聚合记录所对应的该第一数据集的一个或多个聚合记 录匹配于与该第三数据集的聚合记录相关联的字段子集中的值。 这个方面可包括一个或多个以下特征。产生该第三数据集包括对所产生的笛卡尔积和如下数据集执行连接操 作,该数据集的记录包含表示所述多个第一关键字集中之一的第一值和表示 多个第二关键字集中之一的第二值,所述多个第二关键字集中的每一个表示 该第二数据集的字段子集;其中该连接操作通过匹配关键字集来连接记录。产生该第三数据集包括,对于至少一些已连接的记录,以通配符值替换 至少一个所述字段的值。产生该第二数据集包括,对于所产生的笛卡尔积的至少一些记录,以通 配符值替换至少一个所述字段的值。本专利技术的上述方面可包括一个或多个以下优点。通过利用数据集中字段之间(例如,在关键字字段和将对其操作的字段 之间)的函数相关性,可将聚合计算分解成多级。基于不可级联操作,可将 考虑函数相关性的多级聚合用于聚合数据。通过将聚合计算分解成多级,可 降低聚合计算的量。根据以下描述和权利要求书,本专利技术的其它特征和优点将变得更明显。附图说明图1是数据聚合系统; 图2A是表示多维数据的表;图2B — 2G是表示基于图2A中数据的聚合数据的表; 图3和5是关于单级聚合的数据流图; 图4、 6和7是关于多级聚合的数据流图。具体实施例方式1概述参考图l,数据聚合系统IO包括数据聚合器12,数据聚合器12处 理数据存储器16中输入表14内的信息,以产生关于存储在聚合表18中 的信息。在一些情形下,数据聚合器12基于用户20在用户界面22上提 出的查询来产生聚合表18。在其它情形下,数据聚合器12根据预计算方 案来产生聚合表18。这种聚合在输入表14中提供数据总结,这对用户 20是有用的。参考图2A,表100的行1-7表示多维数据集的记录,从该多维数据 集可产生聚合数据。表100是4维数据集,其包括表示关键字字段产^、 经勞賓、年份和邀点的四列以及表示非关键字字段齢獰^和份谘的两列。 用户查询可询问由年份、产品和地点分开并在经销商上聚合的销售额总 和。这种聚合被称为3维聚合是因为,相对于原始的4个关键字字段, 聚合了一个关键字字段而保留下3个关键字字段。与被该聚合作为基础 的操作相对应,具有相同的保留关键字字段值的记录的组合被称为聚 合操作。在该情形下,聚合操作是对非关键字字段中的值求和。图2B 显示了表示对此实例产生的3维聚合数据集的表110。如另一个实例,用户可查询由产^分开并在年汾、经舒爲和il点上 聚合的^會激或份潜的总和(l维聚合)。在该情形下,聚合涉及组合具 有相同的单独保留关键字字段产^值的列。图2C显示了表示所产生的1 维聚合数据集结果的表120。对所有四个关键字字段上聚合的舒獰^^口/ 或份谘的总和产生由图2D中表130表示的0维聚合(或单一 总聚合 值)。向用户提供聚合数据的一种方式是预计算可用在查询多维数据中的 一些或甚至所有的可能聚合。该预计算可包括会花费相当多时间的大量 计算。例如,从具有14维的多维数据集进行所有具有4维或更少维的聚 合的预计算包括MG + ^3 + MC2 + MC; + MC^1471次聚合。如果该数据集有 107列数据,则该预计算可包括多达L471xl0列数据的处理。用于减少多维聚合的预计算所需的计算量的一种策略包括产本文档来自技高网...

【技术保护点】
一种用于聚合数据的方法,包括:接受第一数据集(502),该第一数据集包括多个记录,每个记录保存多个字段中每一个字段的值;从该第一数据集产生第二数据集(512),该第二数据集包括一个或多个聚合记录,该第二数据集的每个聚合记录对 应于来自该第一数据集的一个或多个记录,上述被该第二数据集的每个聚合记录所对应的来自该第一数据集的一个或多个记录匹配于与该聚合记录相关联的字段子集中的值;以及从该第二数据集产生第三数据集(520),该第三数据集包括一个或多个聚合记录, 该第三数据集的每个聚合记录对应于该第一数据集的一个或多个聚合记录,上述被该第三数据集的每个聚合记录所对应的该第一数据集的一个或多个聚合记录匹配于与该第三数据集的聚合记录相关联的字段子集中的值;其中与该第三数据集中聚合记录相关联的聚合 值表示对与来自该第一数据集的多个记录相关联的值执行不可级联操作的结果。

【技术特征摘要】
【国外来华专利技术】US 2005-6-27 11/169,0731、一种用于聚合数据的方法,包括接受第一数据集(502),该第一数据集包括多个记录,每个记录保存多个字段中每一个字段的值;从该第一数据集产生第二数据集(512),该第二数据集包括一个或多个聚合记录,该第二数据集的每个聚合记录对应于来自该第一数据集的一个或多个记录,上述被该第二数据集的每个聚合记录所对应的来自该第一数据集的一个或多个记录匹配于与该聚合记录相关联的字段子集中的值;以及从该第二数据集产生第三数据集(520),该第三数据集包括一个或多个聚合记录,该第三数据集的每个聚合记录对应于该第一数据集的一个或多个聚合记录,上述被该第三数据集的每个聚合记录所对应的该第一数据集的一个或多个聚合记录匹配于与该第三数据集的聚合记录相关联的字段子集中的值;其中与该第三数据集中聚合记录相关联的聚合值表示对与来自该第一数据集的多个记录相关联的值执行不可级联操作的结果。2、 如权利要求1所述的方法,其中对与来自该第一数据集的多个记录 相关联的值执行不可级联操作是由以下各项组成的群组中之一确定所述值 中不同值的个数,确定所述值的中间值,确定所述值的多个极值的和,以及 确定所述值的多个和的极值。3、 如权利要求1所述的方法,其中该不可级联操作是这样的,对一组 操作数执行该不可级联操作的结果不能分解成以下的操作执行结果对所述 操作数的第一子集执行该操作的第一结果,和对所述操作数的第二子集执行 该操作的第二结果;其中所述第一子集和第二子集是互斥的和穷举的。4、 如权利要求1所述的方法,其中所述多个字段中的至少一个字段至 少部分地与所述多个字段中的另一个字段函数相关。5、 如权利要求4所述的方法,其中与所述多个字段中至少一个字段相 关联的至少一些值依赖于与所述多个字段中另一个字段相关联的对应值。6、 如权利要求1所述的方法,其中从该第二数据集产生该第三数据集 包括接收该第二数据集的聚合记录流。7、 一种存储在计算机可读取介质上的软件,包括用于使计算机系统执 行以下操作的指令接受第一数据集(502),该第一数据集包括多个记录,每个记录保存 多个字段中每一个字段的值;从该第一数据集产生第二数据集(512),该第二数据集包括一个或多 个聚合记录,该第二数据集的每个聚合记录对应于来自该第一数据集的一个 或多个记录,上述被该第二数据集的每个聚合记录所对应的来自该第一数据 集的一个或多个记录匹配于与该聚合记录相关联的字段子集中的值;以及从该第二数据集产生第三数据集(520),该第三数据集包括一个或多 个聚合记录,该第三数据集的每个聚合记录对应于该第一数据集的一个或多 个聚合记录,上述被该第三数据集的每个聚合记录所对应的该第一数据集的 一个或多个聚合记录匹配于与该第三数据集的聚合记录相关联的字段子集 中的值;其中与该第三数据集中聚合记录相关联的聚合值表示对与来自该第一 数据集的多个记录相关联的值执行不可级联操作的结果。8、 一种用于聚合数据的系统,包括用于接受第一数据集(502)的装置,该第一数据集包括多个记录,每 个记录保存多个字段中每一个字段的值;用于从该第一数据集产生第二数据集(512)的装置,该第二数据集包 括一个或多个聚合记录,该第二数据集的每个聚合记录对应于来自该第一数 据集的一个或多个记录,上述被该第二数据集的每个聚合记录所对应的来自 该第一数据集的一个或多个记录匹配于与该聚合记录相关联的字段子集中 的值;以及用于从该第二数据集产生第三数据集(520)的装置,该第三数据集包 括一个或多个聚合记录,该第三数据集的每个聚合记录对应于该第一数据集 的一个或多个聚合记录,上述被该第三数据集的每个聚合记录所对应的该第 一数据集的一个或多个聚合记录匹配于与该第三数据集的聚合记录相关联 的字段子集中的值;其中与该第三数据集中聚合记录相关联的聚合值表示对与来自该第一 数据集的多个记录相关联的值执行不可级联操作的结果。9、 一种用于聚合包括多个记录的数据的方法,每个记录保存多个字段 中每一个字段的值,该方法包括在考虑所述字段之间的函数...

【专利技术属性】
技术研发人员:克雷格W斯坦菲尔马歇尔A伊斯曼
申请(专利权)人:起元软件有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1