从数据库提取信息的方法和设备技术

技术编号:4125637 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种从数据库提取信息的方法和设备。使用计算机实现的方法从数据库提取信息,该方法包括一系列主计算,在该一系列主计算中,第一主计算对数据集运行第一选择项以产生第一结果,第二主计算对第一结果运行第二选择项以产生第二结果。将第一结果和第二结果高速缓存在计算机存储器中以在方法的后续迭代中重新使用,由此减少执行用于提取信息的第一主计算和/或第二主计算的需要。该高速缓存过程包括:计算作为至少第一选择项的函数的第一选择标识符值,并且计算作为至少第二选择项和第一结果的函数的第二选择标识符值;以及将第一选择标识符值和第一结果以及第二选择标识符值和第二结果分别作为关联对象存储在数据结构中。

【技术实现步骤摘要】

本专利技术涉及从数据库提取信息的技术,尤其涉及与包括第 一主计算和第二主计算的 一 系列主计算有关的技术,其中第一主计算对表示数据库的数据集运行第 一 选择项以产生第 一 结 果,并且第二主计算对该第一结果运行第二选择项以产生第二结果。
技术介绍
经常期望从数据库提取特定信息,并且具体地,汇总数据 库中的大量数据并以易懂的方式将汇总后的数据呈现给用户。 这种数据处理通常由计算机来执行,并且可能要求计算机的极 大的存储性能和处理能力。该数据处理可以旨在例如通过以数据透视表或以2D和3D图表图形地可视化所选择的数据来创建 通常已知为多维立方体的大型数据结构,反过来用户可以访问 该数据结构从而研究该数据库的数据。根据美国申请7058621 已知用于创建这种多维立方体的高效算法的例子,在此通过引 用而包含该申请。与对数据库中的数据运行的多数其它算法相同,该现有技 术算法涉及一系列主计算,其中, 一个主计算的结果被后续的 主计算用作输入数据。例如,在美国申请7058621的内容中,将 数据库中的数据记录读取至主存储器,因而用户可以选择一个或多个变量,并且可选地选择各个这种变量的值或值的范围, 从而使该算法提取数据库中的数据记录的相应子集。所提取出 的子集形成了中间结果。然后,通过对所提取出的子集计算所 选择的数学函数的值来计算该多维立方体,其中,基于所选择8的计算变量的集合进行数学函数的求值,并且由所选择的分类 变量的集合给出该立方体的维度。尽管现有技术算法是高效的,然而特别地如果要分析大量 数据,则可能仍需要执行大量运算以创建该多维立方体。在这 种情况下,该算法可能对处理硬件设置不期望的高要求,并且/ 或者造成不期望的长的计算时间。
技术实现思路
本专利技术的目的是至少部分克服现有技术的上述限制中的一 个或多个限制。通过根据独立权利要求的方法、计算机可读介质和设备至 少部分实现了将从以下说明得知的目的和其它目的,其中,由 从属权利要求限定本专利技术的实施例。本专利技术的第 一 方面是 一 种计算机实现的方法,用于从数据 库提取信息,所述方法包括一系列主计算,所述一系列主计算 包括第一主计算和第二主计算,所述第一主计算对表示所述数 据库的数据集运行第 一 选择项以产生第 一 结果,并且所述第二 主计算对所述第一结果运行第二选择项以产生第二结果,所述方法还包括通过以下步骤高速緩存所述第一结果和所述第二结果计算步骤,用于计算作为至少所述第一选择项的函数的第 一选择标识符值,并且计算作为至少所述第二选择项和所述第 一结果的函数的第二选择标识符值;以及存储步骤,用于将所 述第一选择标识符值和所述第一结果以及所述第二选择标识符 值和所述第二结果分别作为关联对象存储在数据结构中。所提 取出的信息可以包括数据库中的数据的分组、排序或聚合。因而,在根据第一方面的方法中,第一结果和第二结果被 高速緩存在计算机存储器中并且在所述方法的后续迭代中可重新使用,从而减少了执行用于提取信息的第一主计算和/或第二 主计算的需要。该重新使用可以包括在后续迭代期间计算第一 选择标识符值和/或第二选择标识符值,并且访问数据结构从而 可能检索到第 一结果和/或第二结果。在一个实施例中,所述方法还包括使用步骤,所述使用步 骤用于使用所述数据结构以基于所述第一选择项和所述第二选择项寻找所述第二结果,其中,所述使用步骤包括以下子步骤 (a)计算作为至少所述第 一 选择项的函数的所述第 一 选择标识 符值;(b)基于所述第 一 选择标识符值搜索所述数据结构的对象 以定位所述第一结果;(c)如果在子步骤(b)中找到了所述第一结 果,则计算作为所述第 一 结果和所述第二选择项的函数的所述 第二选择标识符值,并且基于所述第二选择标识符值搜索所述 数据结构的对象以定位所述第二结果;(d)如果在子步骤(b)中未 找到所述第一结果,则执行所述第一主计算以产生所述第一结 果,计算作为所述第 一 结果和所述第二选择项的函数的所述第二选择标识符值,并且基于所述第二选择标识符值搜索所述数 据结构的对象以定位所述第二结果;以及(e)如果在子步骤(c) 或(d)中未找到所述第二结果,则执行所述第二主计算以产生所 述第二结果。在一个实施例中,所述方法还包括计算作为所述第一结果 的函数的第一结果标识符值的步骤,其中,所述存储步骤还包 括以下步骤将所述第 一 选择标识符值和所述第 一 结果标识符 值作为关联对象存储在所述数据结构中;以及将所述第 一 结果 标识符值和所述第 一 结果作为关联对象存储在所述数据结构 中。在一个实施例中,所述方法还包括使用步骤,所述使用步 骤用于使用所述数据结构以基于所述第 一选择项和所述第二选择项寻找所述第二结果,其中,所述使用步骤包括以下子步骤 (a)计算作为至少所述第 一 选择项的函数的所述第 一 选择标识 符值;(b)基于所述第 一 选择标识符值搜索所述数据结构的对象 以定位所述第一结果标识符值,并且基于所述第一结果标识符 值搜索所述数据结构的对象以定位所述第一结杲;(c)如果在子 步骤(b)中找到了所述第一结果,则计算作为所述第一结果和所 述第二选择项的函数的所述第二选择标识符值,并且基于所述 第二选择标识符值搜索所述数据结构的对象以定位所述第二结 果;(d)如果在子步骤(b)中未找到所述第一结果标识符值或所述 第一结果,则执行所述第一主计算以产生所述第一结果,计算 作为所述第一结果和所述第二选择项的函数的所述第二选择标 识符值,并且基于所述第二选择标识符值搜索所述数据结构的 对象以定位所述第二结果;以及(e)如果在子步骤(c)或(d)中未 找到所述第二结果,则执行所述第二主计算以产生所述第二结 果。在一个实施例中,在计算所述第二选择标识符值时,由所 述第一结果标识符值来表示所述第一结果。在一个实施例中,所述方法还包括使用步骤,所述使用步 骤用于使用所述数据结构以基于所述第一选择项和所述第二选 择项寻找所述第二结果,其中,所述使用步骤包括以下子步骤 (a)计算作为至少所述第 一选择项的函数的所述第一选择标识符值;(b)基于所述第 一 选择标识符值搜索所述数据结构的对象 以定位所述第一结果标识符值;(c)如果在子步骤(b)中找到了所 述第 一 结果标识符值,则计算作为所述第 一 结果标识符值和所 述第二选择项的函数的所述第二选择标识符值,并且基于所述 第二选择标识符值搜索所述数据结构的对象以定位所述第二结 果;(d)如果在子步骤(b)中未找到所述第一结果标识符值,则执行所述第一主计算以产生所述第一结果,计算作为所述第一结 果的函数的所述第 一 结果标识符值,计算作为所述第 一 结果标 识符值和所述第二选择项的函数的所述第二选择标识符值,并 且基于所述第二选择标识符值搜索所述数据结构的对象以定位所述第二结果;(e)如果在子步骤(c)中未找到所述第二结果,则 基于所述第 一 结果标识符值搜索所述数据结构的对象以定位所 述第一结果,并且执行所述第二主计算以产生所述第二结果; (f)如果在子步骤(e)中未找到所述第一结果,则执行所述第一主 计算以产生所述第 一 结果,并且执行所述第二主计算以产生所 述第二结果;以及(g)如果在子步骤(d)中未找到所述第二结果,本文档来自技高网
...

【技术保护点】
一种计算机实现的方法,用于从数据库提取信息,所述方法包括一系列主计算,所述一系列主计算包括第一主计算(P1)和第二主计算(P2),所述第一主计算(P1)对表示所述数据库的数据集(R0)运行第一选择项(S1)以产生第一结果(R1),并且所述第二主计算(P2)对所述第一结果(R1)运行第二选择项(S2)以产生第二结果(R2),所述方法还包括通过以下步骤高速缓存所述第一结果(R1)和所述第二结果(R2): 计算步骤,用于计算作为至少所述第一选择项(S1)的函数的第一选择标识符 值(ID1),并且计算作为至少所述第二选择项(S2)和所述第一结果(R1)的函数的第二选择标识符值(ID3);以及 存储步骤,用于将所述第一选择标识符值(ID1)和所述第一结果(R1)以及所述第二选择标识符值(ID3)和所述第二结果( R2)分别作为关联对象存储在数据结构中。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:哈坎沃尔格
申请(专利权)人:QlikTech国际公司
类型:发明
国别省市:SE[瑞典]

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

1