从基于云的数据仓库高速缓存加载仪表板的制作方法

专利2023-11-04  99



1.本发明的领域是数据处理,或者更具体地说,是用于从基于云的数据仓库高速缓存加载仪表板的方法、装置和产品。


背景技术:

2.现代企业可以在基于云的数据仓库内的远程数据库中存储大量数据。可以使用数据库查询语言,例如结构化查询语言(sql)来访问该数据。但是,某些查询响应可能包含太多数据而不能在web应用程序中有效呈现。


技术实现要素:

3.在本说明书中公开了用于从基于云的数据仓库高速缓存加载仪表板的方法、系统和产品。从基于云的数据仓库高速缓存加载仪表板可以包括:确定第一查询的结果存储在基于云的数据仓库的高速缓存中;响应存储在高速缓存中的结果,向基于云的数据仓库发送对来自高速缓存的结果的请求;并且基于第一查询的结果提供一个或多个仪表板可视化。
4.本发明的上述和其它目的、特征和优点将从下面对本发明的示例性实施方案的更具体描述中变得显而易见,如附图中所示,其中相同的附图标记通常表示本发明的示例性实施方案的相同部分。
附图说明
5.图1示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置成用于从基于云的数据仓库高速缓存加载仪表板。
6.图2示出了根据本发明的实施方案的示例性系统的框图,该示例性系统被配置成用于从基于云的数据仓库高速缓存加载仪表板。
7.图3示出了根据本发明的实施方案的示例性图形用户界面的图,该示例性图形用户界面被配置成用于从基于云的数据仓库高速缓存加载仪表板。
8.图4示出了根据本发明的实施方案的示例性图形用户界面的图,该示例性图形用户界面被配置成用于从基于云的数据仓库高速缓存来加载仪表板。
9.图5示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
10.图6示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
11.图7示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
12.图8示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
13.图9示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
14.图10示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
15.图11示出了流程图,其说明了根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法。
具体实施方式
16.参考附图,从图1开始,描述了根据本发明的用于从基于云的数据仓库高速缓存加载仪表板的示例性方法、装置和产品。图1示出了根据本发明的实施方案的自动计算机器的框图,该自动计算机器包括被配置成用于从基于云的数据仓库高速缓存加载仪表板的示例性数据访问计算系统(152)。图1的数据访问计算系统(152)包括至少一个计算机处理器(156)或“cpu”,以及通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和数据访问计算系统(152)的其它部件的随机存取存储器(168)(“ram”)。
17.存储在ram(168)中的是操作系统(154)。可以用于根据本发明的实施方案的被配置成用于从基于云的数据仓库高速缓存加载仪表板的计算机中的操作系统包括unixtm、linuxtm、microsoft windowstm、aixtm、ibm的iostm以及本领域技术人员会想到的其它操作系统。图1的实施例中的操作系统(154)在ram(168)中示出,但是这种软件的许多组件通常也存储在非易失性存储器中,例如,存储在数据存储器(170)上,例如磁盘驱动器上。仪表板模块(126)也被存储在ram中,根据本发明的实施方案,该仪表板模块(126)是用于从基于云的数据仓库高速缓存加载仪表板的模块。
18.图1的数据访问计算系统(152)包括通过扩展总线(160)和总线适配器(158)耦合到处理器(156)和数据访问计算系统(152)的其它部件的盘驱动器适配器(172)。盘驱动器适配器(172)以数据存储器(170)的形式将非易失性数据存储器连接到数据访问计算系统(152)。根据本发明的实施方案,可用于被配置成用于从基于云的数据仓库高速缓存加载仪表板的计算机中的盘驱动器适配器包括集成驱动器电子设备(“ide”)适配器,小型计算机系统接口(

scsi’)适配器,以及本领域技术人员将想到的其它适配器。如本领域技术人员所想到的,非易失性计算机存储器也可以实现为光盘驱动器、电可擦除可编程只读存储器(所谓的“eeprom”;或“闪存”存储器)、ram驱动器等。
19.图1的示例性数据访问计算系统(152)包括一个或多个输入/输出(

i/o’)适配器(178)。i/o适配器通过例如软件驱动器和计算机硬件实现面向用户的输入/输出,用于控制对诸如计算机显示屏之类的显示设备的输出,以及来自诸如键盘和鼠标之类的用户输入设备(181)的用户输入。图1的示例性数据访问计算系统(152)包括视频适配器(209),该视频适配器是专门设计用于图形输出到诸如显示屏或计算机监视器之类的显示设备(180)的i/o适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和也是高速总线的前侧总线(162)连接到处理器(156)。
20.图1的示例性数据访问计算系统(152)包括用于与其它计算机进行数据通信以及用于与数据通信网络进行数据通信的通信适配器(167)。这样的数据通信可以通过rs-232连接,通过诸如通用串行总线(“usb”)之类的外部总线,通过诸如ip数据通信网络之类的数
据通信网络,以及以本领域技术人员想到的其它方式串行地执行。通信适配器实现数据通信的硬件级别,一台计算机通过该硬件级别直接或通过数据通信网络发送数据通信至另一台计算机。可用于根据本发明的实施方案的被配置成用于从基于云的数据仓库高速缓存加载仪表板的计算机中的通信适配器的示例包括:用于有线拨号通信的调制解调器、用于有线数据通信的以太网(ieee802.3)适配器、以及用于无线数据通信的802.11适配器。
21.通信适配器(167)通信地耦合到广域网(190),广域网(190)还包括基于云的数据仓库(192)和客户端计算系统(194)。基于云的数据仓库(192)是托管用于通过广域网(190)访问的数据库的计算系统或计算系统组。客户端计算系统(194)是通过数据访问计算系统(152)访问数据库的计算系统。
22.图2示出了根据本发明的实施方案的用于从基于云的数据仓库高速缓存加载仪表板的系统的示例性框图。如图2所示,该系统包括数据访问计算系统(152)、基于云的数据仓库(192)和客户端计算系统(196)。数据访问计算系统(152)包括仪表板模块(126)和高速缓存状态(204)数据结构。基于云的数据仓库(192)包括数据库(206)和高速缓存(208)。客户端计算系统(196)包括客户端应用程序(202)。客户端应用程序(202)可以包括web浏览器、专用软件应用程序、移动应用程序或其他应用程序以使用客户端计算系统(194)访问数据访问计算系统(152)。
23.数据库(206)是存储在基于云的数据仓库(192)和数据的管理系统中的数据的集合。管理系统可以接收诸如结构查询语言(sql)查询之类的数据库查询,并用数据集响应查询。高速缓存(208)是存储器的存储用于快速检索的数据的部分。例如,高速缓存(208)可以存储响应于对数据库(206)的查询而生成的数据集。
24.仪表板模块(126)被配置为向访问数据访问计算系统(152)的用户(例如,经由客户端应用程序(202))提供仪表板用户界面。仪表板可以包括存储在数据库(206)中的数据的一个或多个可视化,例如图形、图表、表格等。因此,为了为给定用户生成仪表板,仪表板模块(126)可以执行用于提交给数据库(206)的一个或多个预定义查询并基于一个或多个查询的结果生成可视化。给定仪表板可以与特定用户帐户(例如,每个用户与相应仪表板相关联)、特定角色或用户组(例如,角色或组中的每个用户与同一仪表板相关联)等相关联。因此,当与特定用户相关联的客户端应用程序(202)访问数据访问计算系统(152)时,仪表板模块(126)可以向数据库(206)提交生成仪表板可视化所需的一个或多个查询。
25.由于用于生成给定仪表板的查询可能在较长时间内保持不变,并且由于多个用户可能访问相同的仪表板(例如,由于属于相同的角色、公司、组等),因此仪表板模块(126)可以重复要求基于相同查询的数据来生成相同的仪表板。如果仪表板的每次加载都需要向数据库(206)提交相同的查询,则数据访问计算系统(152)和基于云的数据仓库(192)都将经历巨大的计算和网络流量负担。此外,这些查询的结果可能会在一段时间内保持不变,需要使用计算资源来生成重复的结果。
26.为了解决这些缺点,仪表板模块(126)确定查询(例如,用于生成仪表板的查询)的结果是否存储在基于云的数据仓库(192)的高速缓存(208)中。例如,用户最近访问了给定仪表板,或者另一个用户最近访问了相同的给定仪表板,用于生成仪表板可视化的查询结果仍可以存储在高速缓存中(208)。为了确定查询结果是否存储在高速缓存(208)中,仪表板模块(126)维护高速缓存状态(204)数据结构。高速缓存状态(204)数据结构可以体现为
数据库或可以理解的其他数据结构。高速缓存状态(204)数据结构可以指示哪些查询具有存储在高速缓存(208)中的结果。高速缓存状态(204)数据结构还可以包括指示查询结果何时生成的时间戳。高速缓存状态(204)数据结构中的每个条目可以由查询的摘要来索引。摘要可以包括查询的md5散列或其他散列。摘要还可以基于查询的规范化形式。换言之,为查询生成摘要可包括对查询进行规范化并将摘要函数应用于规范化查询。
27.确定查询的结果是否存储在高速缓存(208)中可以包括确定查询的条目是否存储在高速缓存状态(204)中。例如,确定查询的结果是否存储在高速缓存(208)中可以包括为查询生成摘要并确定对应于摘要的条目是否存储在高速缓存状态(204)中。在条目被存储在高速缓存状态(204)中的情况下,仪表板模块(126)可以发送对来自高速缓存(208)的结果的请求。
28.仪表板模块(126)可以确定结果在高速缓存(208)中的位置,然后从基于云的数据仓库(192)请求存储在确定位置中的结果。例如,高速缓存状态(204)中的条目可以指示结果在高速缓存(208)中的位置。作为另一示例,高速缓存状态(204)中的条目可以包括查询标识符。查询标识符可以包括当查询被提交到数据库(206)时生成的唯一标识符以及由基于云的数据仓库(192)生成的查询结果。然后可以查询将查询标识符与高速缓存(208)中的位置相关联的另一数据结构,以确定结果在高速缓存(208)中的位置。然后可以将指示高速缓存(208)中的位置的请求提交给基于云的数据仓库(192)。作为另一示例,在高速缓存状态(204)条目包括查询标识符的情况下,查询标识符可以包括在对基于云的数据仓库(192)的请求中。基于云的数据仓库(192)可以维护将查询标识符与高速缓存中的位置相关联的数据结构。然后,基于云的数据仓库(192)可以基于数据结构和来自请求的查询标识符加载来自高速缓存(208)的结果。然后,基于云的数据仓库(192)可以将结果发送到数据访问计算系统(152)。
29.在从基于云的数据仓库的高速缓存(208)接收结果之后,仪表板模块(126)可以基于该结果提供一个或多个仪表板可视化。由于仪表板可视化是基于高速缓存的数据提供的,因此更快地生成仪表板,从而提供了改进的用户体验。此外,基于云的数据仓库(192)由于不必为仪表板的每次加载处理查询,从而减少了计算负担。
30.存储在高速缓存(208)中的查询的结果与年龄相关联。结果的年龄是从数据访问计算系统(152)生成或首次接收结果以来的时间量(例如,响应于向数据库(206)提交查询)。仪表板模块(126)可以确定与结果相关联的年龄超过阈值(例如,一小时)。例如,高速缓存状态(204)中的条目可以指示生成或首次接收结果的时间。在年龄超过阈值的情况下,仪表板模块(126)可以向数据库(206)提交查询以获得查询结果。仪表板模块(126)可以在向高速缓存(208)请求结果的同时或之后提交查询。在从数据库(206)接收到查询的结果之后,仪表板模块(126)可以基于更新的结果来更新或刷新一个或多个仪表板可视化。因此,最初基于高速缓存的结果提供了一个或多个仪表板可视化,然后基于新生成的结果进行更新。仪表板模块(126)可以更新对应于查询的高速缓存状态(204)中的条目以反映更新结果的年龄。
31.仪表板模块(126)还可以将结果的年龄与另一阈值(例如,24小时)进行比较。在高速缓存结果的年龄超过另一阈值的情况下,仪表板模块(126)可以将查询发送到数据库(206)以获得结果,而不是从高速缓存(208)请求结果。因此,当高速缓存的结果超过某个年
龄时,将重新生成结果,而不是从高速缓存中访问。除了加载来自高速缓存(208)的结果之外,用于确定是否从高速缓存(208)中请求结果的阈值也可以代替用于确定是否将查询提交到数据库(206)的阈值或与该阈值组合使用。例如,在高速缓存(208)中的结果小于一小时的情况下,结果可能仅从高速缓存(208)加载以用于仪表板可视化。如果高速缓存(208)中的结果超过1小时但小于24小时,则可以从高速缓存(208)加载结果以在仪表板可视化中初始使用,但查询也会提交到数据库(206)用于更新仪表板可视化。在高速缓存(208)中的结果超过24小时的情况下,查询被提交到数据库(206)并且高速缓存的结果不用于呈现仪表板可视化。
32.图3示出了根据本发明的实施方案的用于从基于云的数据仓库高速缓存加载仪表板的示例性用户界面。显示的是图形用户界面(gui)(302)。gui(302)是向用户呈现数据集和图形元素并从用户接收用户输入的用户界面。gui(302)可以部分地由仪表板模块(126)呈现并显示在客户端计算系统(194)上(例如,在系统显示器或移动触摸屏上)。gui(302)可以由托管在数据访问计算系统(152)上的因特网应用程序编码以供客户端计算系统(194)的客户端应用程序(202)呈现。
33.gui(302)部分地向用户呈现工作表。工作表是来自数据库(306)的数据集的呈现。引用工作表是从另一工作表(称为数据源工作表)链接的工作表。引用工作表继承在数据源工作表中呈现的数据集(即未从呈现中排除的数据)。引用工作表还可以继承应用于其他数据的公式的结果,而不是公式本身。引用工作表可能限于在数据源工作表中呈现或以其他方式提供的数据集(除非生成引用工作表的用户有权访问数据库中的排除数据)。引用工作表可以从任意数量的数据源(包括多个数据源工作表)链接。
34.示例性gui(302)包括电子表格结构(304)和列表结构(306)。电子表格结构(304)包括具有六列(a列(308a)、b列(308b)、c列(308c)、d列(308d)、e列(308e)、f列(308f))的数据集(显示为空行)。
35.电子表格结构(304)是数据集的图形元素和组织机制。电子表格结构(304)将数据集中的数据显示为按列(列a(308a)、列b(308b)、列c(308c)、列d(308d)、列e(308e)、f列(308f))组织的数据行。这些列描述了数据集的每一行中数据的不同类别。这些列也可以是使用数据集中其他列的计算。
36.列表结构(306)是用于定义和组织数据集的列(列a(308a)、列b(308b)、列c(308c)、列d(308d)、列e(308e)、f列(308f))之间的层级关系的图形元素。术语“层级关系”是指列的下级和上级分组。例如,数据库可能包括地址簿的行,以及州、县、城市和街道的列。来自数据库的数据集可以首先按州分组,然后按县分组,然后按城市分组。因此,州列将在层级关系中处于最高级别,县列将在层级关系中处于第二级别,而城市列将在层级关系中处于最低级别。
37.列表结构(306)向用户呈现维度层级。具体地,列表结构(306)呈现跨至少一个维度分层排列的级别。列表结构(306)内的每一级别是列(列a(308a)、列b(308b)、列c(308c)、列d(308d)、列e(308e)、列f(308f))之间的层级关系内的位置。列表结构(306)内的关键字标识作为层级关系中的参与者的一列或多列。每个级别可以有多于一个的关键字。
38.列表结构(306)中的级别之一可以是基本级别。针对基本级别选择的列以最精细的粒度提供数据。列表结构(306)中的级别之一可以是总级别或根级别。针对总级别选择的
列提供最高粒度级别的数据。例如,总级别可以包括字段,该字段计算整个数据集的单个列内的每一行的总和(即,未被任何其他列划分)。
39.gui(302)可以使用户能够将列(列a(308a)、列b(308b)、列c(308c)、列d(308d)、列e(308e)、f列(308f))拖放到列表结构(304)中。列表结构(306)的顺序可以指定列相对于彼此的层级结构。用户可以随时拖放列表结构(306)中的列以重新定义列之间的层级关系。使用选择作为列表结构(306)中的关键字的列定义的层级关系可以在图表中使用,以便向下钻取(例如,在条上双击)使得新的图表能够基于层次结构中较低的级别来生成。
40.图4示出了根据本发明的实施方案的用于从基于云的数据仓库高速缓存加载仪表板的示例性用户界面。显示的是图形用户界面(gui)(400)。gui(400)可以部分地由仪表板模块(126)呈现并显示在客户端计算系统(194)上(例如,在系统显示器或移动触摸屏上)。gui(400)可以由托管在数据访问计算系统(152)上的因特网应用程序编码以供客户端计算系统(194)的客户端应用程序(202)呈现。
41.gui(400)包括多个仪表板可视化(402)。每个仪表板可视化(402)是由仪表板模块(126)提交给数据库(206)的查询结果的视觉表示。仪表板可视化(402)可以基于响应于加载gui(400)而提交给数据库(206)的查询的结果。仪表板可视化(402)还可以基于响应于加载gui(400)的另一个实例(例如,由另一个用户或实体加载)而提交给数据库(206)的查询的高速缓存结果。
42.为了进一步解释,图5阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中。确定(502)第一查询的结果(504)存储在基于云的数据仓库(192)的高速缓存(208)中可以包括:访问指示具有存储在高速缓存(208)中的结果的一个或更多查询的数据结构(例如高速缓存状态(204))。例如,数据结构中的每个条目可以指示由仪表板模块(126)生成或接收相应结果的时间。每个条目可以包括在将相应查询提交到数据库(206)以生成结果时生成的查询标识符。每个条目可以由对应查询的摘要或其他标识符来索引。确定(502)第一查询的结果(504)存储在基于云的数据仓库(192)的高速缓存(208)中可以包括:确定对应于第一查询的条目存储在数据结构中。
43.图5的方法还包括响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508)。发送(506)请求(508)可以包括:调用由基于云的数据仓库(192)公开的应用程序接口(api),以促进对高速缓存结果的访问。因此,api调用或函数可用于访问与用于向基于云的数据仓库(192)中的数据库(206)提交查询的api调用或函数不同的高速缓存数据。请求(508)可以指示高速缓存(208)中的特定位置(例如,地址)以用于检索结果(504)。请求(508)还可以指示第一查询的查询标识符。例如,由仪表板模块(126)维护的指示存储在高速缓存(208)中的结果的数据结构的条目可以包括查询标识符。查询标识符可以从数据结构访问并将其发送到基于云的数据仓库(192),该数据仓库(192)可以维护关联查询标识符和高速缓存(208)中的位置以获得相应结果的数据结构。因此,基于云的数据仓库(192)可以从高速缓存(208)访问结果以包含在对请求(508)的响应中。
44.图5的方法还包括基于第一查询的结果(504)(例如,通过仪表板模块(126))提供
(510)一个或多个仪表板可视化。一个或多个仪表板可视化可以包括图形、表格、图表等。由于一个或多个仪表板可视化基于高速缓存的数据,因此与基于云的数据仓库(192)必须完全处理第一查询的情况相比,可以更快地生成和/或呈现一个或多个仪表板。
45.为了进一步解释,图6阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中;响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508);以及基于第一查询的结果(504)(例如,通过仪表板模块(126))提供(510)一个或多个仪表板可视化。
46.图6的方法与图5的不同之处在于,确定(502)第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中包括:(例如,由仪表板模块(126))生成(602)第一查询的摘要。生成(602)第一查询的摘要可以包括将md5函数、散列函数或其他函数应用于第一查询以生成摘要。生成(602)第一查询的摘要还可以包括规范化第一查询并将函数应用于规范化的第一查询。
47.确定(502)第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中还包括:基于摘要识别(604)数据结构中的跟踪基于云的数据仓库(192)的高速缓存(208)的状态的条目。数据结构可以包括高速缓存状态(204)数据结构。数据结构可以被编码为数据库、表格或可以理解的其他数据结构。数据结构中的每个条目都可以由摘要索引。数据结构中的每个条目可以包括指示相应查询的结果何时生成或接收的时间戳。数据结构中的每个条目还可以包括当查询被提交到数据库(206)时生成的查询标识符。因此,识别(604)数据结构中的对应于第一查询的摘要的条目指示第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中。
48.为了进一步解释,图7阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括通过(例如,由仪表板模块(126))生成(602)第一查询的摘要并且基于摘要识别(604)数据结构中的跟踪基于云的数据仓库(192)的高速缓存(208)的状态的条目,确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中;响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508);以及基于第一查询的结果(504)(例如,通过仪表板模块(126))提供(510)一个或多个仪表板可视化。
49.图7的方法与图6的不同之处在于图7的方法还包括基于条目确定(702)结果在高速缓存(208)中的位置。例如,该条目可以指示结果在高速缓存(208)中的位置。然后该位置可以被包括在请求中(508)。作为另一示例,该条目可以指示当第一查询的实例被提交到数据库(206)以生成高速缓存结果时生成的查询标识符。然后查询标识符可以用于访问将查询标识符和在高速缓存(208)中的位置相关联的另一数据结构。在所述另一数据结构在数据访问计算系统(152)中实现的情况下,仪表板模块(126)可以基于查询标识符访问高速缓存中的识别位置。在由基于云的数据仓库(192)实现将查询标识符和在高速缓存(208)中的位置相关联的所述另一数据结构的情况下,查询标识符可以包括在请求(508)中,使得基于云的数据仓库(192)可以基于查询标识符确定结果在高速缓存(208)中的位置。
50.为了进一步解释,图8阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中;响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508);以及基于第一查询的结果(504)(例如,通过仪表板模块(126))提供(510)一个或多个仪表板可视化。
51.图8的方法与图5的不同之处在于图8的方法还包括(例如,通过仪表板模块(126))确定(802)与结果相关联的年龄超过阈值(例如,一个小时)。给定结果的年龄是自(例如,响应于向基于云的数据仓库(192)的数据库(206)提交查询)生成或接收结果以来的时间。例如,当接收到来自提交查询的结果时,该结果可以包括查询标识符。结果的时间戳可以包含在结果中或响应于接收结果而生成。可以创建或更新对应于查询的数据结构(例如,高速缓存结构(204))条目以指示时间戳。因此,可以通过访问与对应于结果的查询相关联的数据结构条目来确定与结果相关联的年龄。
52.图8的方法还包括用第一查询(806)(例如,通过仪表板模块(126))查询(804)基于云的数据仓库(192)。例如,可以将第一查询(806)提交到基于云的数据仓库(192)的数据库(206)进行处理。图8的方法还包括响应于第一查询(806)接收(808)第一查询(806)的另一结果(810)。当与高速缓存的结果(504)相比时,其他结果(810)对应于第一查询(806)的更新的(more recent)执行。图8的方法还包括基于第一查询(806)的另一结果(810)更新(812)一个或多个仪表板可视化。因此,最初使用高速缓存结果(504)提供一个或多个仪表板可视化以允许快速加载和呈现仪表板。随着高速缓存结果(504)的年龄超过阈值,仪表板可视化随后基于第一查询(806)的新执行而用更新的结果(810)更新。在接收(808)结果(810)之后,仪表板模块(126)可以更新对应于第一查询(806)的数据结构(例如,高速缓存状态(204)数据结构)条目以指示另一结果(810)被生成或接收的时间。仪表板模块(126)可以更新与第一查询(806)相对应的数据结构条目以指示在另一结果(810)中指示的查询标识符或高速缓存(206)中的位置以便于随后加载来自高速缓存(206)的另一结果(810))。
53.为了进一步解释,图9阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中;响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508);以及基于第一查询的结果(504)(例如,通过仪表板模块(126))提供(510)一个或多个仪表板可视化。
54.图9的方法与图5的不同之处在于图9的方法还包括(例如,通过仪表板模块(126))确定(902)第二查询(906)的结果未存储在基于云的数据仓库(192)的高速缓存(208)中。例如,可以生成第二查询(906)的摘要并将其用于访问指示哪些查询具有存储在高速缓存(208)中的结果的数据结构(例如,高速缓存状态(204)数据结构)。数据结构中的对应于第二查询(906)的条目缺少将指示第二查询(906)的结果未存储在高速缓存(208)中。
55.图9的方法还包括用第二查询(906)查询(904)基于云的数据仓库(192)。例如,仪表板模块(126)可以将第二查询(906)提交给基于云的数据仓库(192)的数据库(206)以供处理。图9的方法还包括响应于第二查询(906)接收(908)第二查询(906)的结果(910)。
56.为了进一步解释,图10阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中;响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508);基于第一查询的结果(504)(例如,通过仪表板模块(126))提供(510)一个或多个仪表板可视化;(例如,通过仪表板模块(126))确定(902)第二查询(906)的结果未存储在基于云的数据仓库(192)的高速缓存(208)中;用第二查询(906)查询(904)基于云的数据仓库(192);以及响应于第二查询(906)接收(908)第二查询(906)的结果(910)。
57.图10的方法与图9的不同之处在于图10的方法还包括存储(1002)关于第二查询(906)的结果(910)存储在基于云的数据仓库(192)的高速缓存中的指示。例如,可以将用于第二查询(906)的新条目添加到指示哪些查询具有存储在高速缓存(208)中的结果的数据结构(例如,高速缓存状态(204)数据结构)中。新条目可以包括第二查询(906)的摘要。新条目可以包括与第二查询(906)的结果(910)相关联的时间戳。新条目还可以包括(例如,由基于云的数据仓库(192)生成并且包括在结果(910)中的)查询标识符。
58.为了进一步解释,图11阐述了说明根据本发明的实施方案的用于从基于云的数据仓库高速缓存来加载仪表板的示例性方法的流程图,其包括确定(502)(例如,通过仪表板模块(126))第一查询的结果存储在基于云的数据仓库(192)的高速缓存(208)中;响应于存储在高速缓存(208)中的结果而(例如,由仪表板模块(126))向基于云的数据仓库(192)发送(506)对来自高速缓存(208)的结果的请求(508);以及基于第一查询的结果(504)(例如,通过仪表板模块(126))提供(510)一个或多个仪表板可视化。
59.图11的方法与图5的不同之处在于图11的方法还包括(例如,通过仪表板模块(126))确定(1102)第二查询(1104)的结果存储在基于云的数据仓库(192)的高速缓存(208)中并且与超过阈值(例如,24小时)的年龄相关联。例如,可以生成第二查询(1104)的摘要并将其用于访问指示哪些查询具有存储在高速缓存(208)中的结果的数据结构(例如,高速缓存状态(204)数据结构)。该条目可以包括用于确定高速缓存结果的年龄的时间戳。
60.图11的方法还包括用第二查询(1104)查询(1106)基于云的数据仓库(192)。例如,仪表板模块(126)可以将第二查询(1104)提交到基于云的数据仓库(192)的数据库(206)以供处理。图11的方法还包括响应于第二查询(1104)接收(1108)第二查询(1104)的另一个结果(1108)。因此,尽管存在用于第二查询(1104)的高速缓存结果,但是由于高速缓存结果的年龄超过阈值而产生了新结果(1110)。
61.鉴于上述解释,读者将认识到根据本发明的实施方案从基于云的数据仓库高速缓存加载仪表板的有益效果包括:
·
通过使用高速缓存查询结果提供加速仪表板加载来改进计算系统的操作。
·
通过使用高速缓存查询结果减少基于云的数据仓库的计算负担来改进计算系统的操作。
62.本发明的示例性实施方案主要在用于从基于云的数据仓库高速缓存加载仪表板的全功能计算机系统的情况下描述。然而,本领域的技术人员将认识到,本发明也可以体现在设置在计算机可读存储介质上的计算机程序产品中,以与任何合适的数据处理系统一起
使用。这样的计算机可读存储介质可以是用于机器可读信息的任何存储介质,包括磁性介质、光学介质或其它合适的介质。这样的介质的示例包括硬盘驱动器中的磁盘或软盘,用于光驱的光盘,磁带,以及本领域技术人员所想到的其它介质。本领域技术人员将立即认识到,具有适当编程装置的任何计算机系统将能够执行体现在计算机程序产品中的本发明的方法的步骤。本领域的技术人员还将认识到,尽管本说明书中描述的一些示例性实施方案是针对在计算机硬件上安装和执行的软件,然而,实现为固件或硬件的替代的实施方案也完全在本发明的范围之内。
63.本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或媒介)。
64.计算机可读存储介质可以是有形设备,其可以保留和存储由指令执行设备使用的指令。所述计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或前述设备的任何适当组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用盘(dvd),存储棒、软盘、例如在其上记录有指令的打孔卡或凹槽中的凸起结构之类的机械编码设备、以及上述的任何适当组合。如本文所使用的,计算机可读存储介质,不应被解释为本身是瞬时信号,例如无线电波或其它自由传播的电磁波,通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆的光脉冲),或通过导线传输的电信号。
65.这里描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。该网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
66.用于执行本发明操作的计算机可读程序指令可以是汇编器指令,指令集体系结构(isa)指令,机器指令,机器相关指令,微码,固件指令,状态设置数据,或者用一种或多种编程语言(包括面向对象的编程语言,例如smalltalk,c++等)和常规过程编程语言(例如,“c”编程语言或类似编程语言)的任意组合来编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,作为独立的软件包,部分在用户的计算机上执行,部分在用户的计算机上且部分在远程计算机上执行,或全部在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机,或者可以进行到外部计算机的连接(例如,通过使用互联网服务提供商的互联网)。在一些实施方案中,包括(例如)可编程逻辑电路,现场可编程门阵列(fpga)或可编程逻辑阵列(pla)在内的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使电子电路个性化,从而执行本发明的各个方面。
67.参考根据本发明的实施方案的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图图示和/或框图的每个框,以及流程图图
示和/或框图中的框的组合,可以通过计算机可读程序指令来实现。
68.这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其它可编程数据处理装置,以产生机器,使得经由计算机的处理器或其它可编程数据处理装置执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令也可以被存储在能够引导计算机、可编程数据处理设备和/或以特定方式工作的其它设备的计算机可读存储介质中,使得其中存储有指令的计算机可读存储介质包括制造的产品,该制造的产品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的方面的指令。
69.计算机可读程序指令也可以加载到计算机,其它可编程数据处理装置,或使一系列操作步骤在计算机上执行的其它设备,用于产生计算机实现的过程的其它可编程设备或其它装置上,使得在计算机、其它可编程装置或其它设备上执行的指令实现流程图和/或框图的一或多个框中指定的功能/动作。
70.图中的流程图和框图示出了根据本发明的各种的实施方案的系统、方法和计算机程序产品的可能实现方式的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定逻辑功能的一个或多个可执行指令。在一些替代的实现方式中,框中指出的功能可以不按照图中指出的顺序发生。例如,实际上根据所涉及的功能,连续示出的两个框可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意到,框图和/或流程图图示的每个框,以及框图和/或流程图图示中的框的组合,可以由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
71.从前面的描述中应当理解,在不偏离本发明的真实精神的情况下,可以在本发明的各种实施方案中进行修改和改变。本说明书中的描述仅是为了说明的目的,而不应被解释为限制性的。本发明的范围仅由所附权利要求的语言限定。

技术特征:
1.一种从基于云的数据仓库高速缓存加载仪表板的方法,该方法包括:确定第一查询的结果存储在基于云的数据仓库的高速缓存中;响应于存储在所述高速缓存中的所述结果,向所述基于云的数据仓库发送对来自所述高速缓存的所述结果的请求;以及基于所述第一查询的所述结果,提供一个或多个仪表板可视化。2.根据权利要求1所述的方法,其中确定所述第一查询的所述结果存储在所述基于云的数据仓库的所述高速缓存中包括:为所述第一查询生成摘要;以及基于所述摘要识别跟踪所述基于云的数据仓库的所述高速缓存的状态的数据结构中的条目。3.根据权利要求2所述的方法,其还包括基于所述条目确定所述结果在所述高速缓存中的位置。4.根据权利要求1所述的方法,其还包括:确定与所述结果相关联的年龄超过阈值;使用所述第一查询来查询所述基于云的数据仓库;响应于所述第一查询,接收所述第一查询的另一结果;以及基于所述第一查询的所述另一结果更新所述一个或多个仪表板可视化。5.根据权利要求1所述的方法,其还包括:确定第二查询的结果未存储在所述基于云的数据仓库的所述高速缓存中;使用所述第二查询来查询所述基于云的数据仓库;以及响应于所述第二查询,接收所述第二查询的所述结果。6.根据权利要求5所述的方法,其还包括存储关于所述第二查询的所述结果存储在所述基于云的数据仓库的所述高速缓存中的指示。7.根据权利要求1所述的方法,其还包括:确定第二查询的结果存储在所述基于云的数据仓库的所述高速缓存中并且与超过阈值的年龄相关联;使用所述第二查询来查询所述基于云的数据仓库;以及响应于所述第二查询,接收所述第二查询的另一结果。8.一种用于从基于云的数据仓库高速缓存加载仪表板的装置,所述装置包括计算机处理器,计算机存储器能操作地耦合到所述计算机处理器,所述计算机存储器在其中设置有计算机程序指令,所述计算机程序指令当由该计算机处理器执行时使所述装置执行以下步骤:确定第一查询的结果存储在基于云的数据仓库的高速缓存中;响应于存储在所述高速缓存中的所述结果,向所述基于云的数据仓库发送对来自所述高速缓存的所述结果的请求;以及基于所述第一查询的所述结果,提供一个或多个仪表板可视化。9.根据权利要求8所述的装置,其中确定所述第一查询的所述结果存储在所述基于云的数据仓库的所述高速缓存中包括:为所述第一查询生成摘要;以及
基于所述摘要识别跟踪所述基于云的数据仓库的所述高速缓存的状态的数据结构中的条目。10.根据权利要求9所述的装置,其中所述步骤还包括基于所述条目确定所述结果在所述高速缓存中的位置。11.根据权利要求8所述的装置,其中所述步骤还包括:确定与所述结果相关联的年龄超过阈值;使用所述第一查询来查询所述基于云的数据仓库;响应于所述第一查询,接收所述第一查询的另一结果;以及基于所述第一查询的所述另一结果更新所述一个或多个仪表板可视化。12.根据权利要求8所述的装置,其中所述步骤还包括:确定第二查询的结果未存储在所述基于云的数据仓库的所述高速缓存中;使用所述第二查询来查询所述基于云的数据仓库;以及响应于所述第二查询,接收所述第二查询的所述结果。13.根据权利要求12所述的装置,其中所述步骤还包括存储关于所述第二查询的所述结果存储在所述基于云的数据仓库的所述高速缓存中的指示。14.根据权利要求8所述的装置,其中所述步骤还包括:确定第二查询的结果存储在所述基于云的数据仓库的所述高速缓存中并且与超过阈值的年龄相关联;使用所述第二查询来查询所述基于云的数据仓库;以及响应于所述第二查询,接收所述第二查询的另一结果。15.一种用于从基于云的数据仓库高速缓存加载仪表板的计算机程序产品,所述计算机程序产品设置在计算机可读介质上,所述计算机程序产品包括计算机程序指令,所述计算机程序指令在执行时使计算机执行以下步骤:确定第一查询的结果存储在基于云的数据仓库的高速缓存中;响应于存储在所述高速缓存中的所述结果,向所述基于云的数据仓库发送对来自所述高速缓存的所述结果的请求;以及基于所述第一查询的所述结果,提供一个或多个仪表板可视化。16.根据权利要求15所述的计算机程序产品,其中确定所述第一查询的所述结果存储在所述基于云的数据仓库的所述高速缓存中包括:为所述第一查询生成摘要;以及基于所述摘要识别跟踪所述基于云的数据仓库的所述高速缓存的状态的数据结构中的条目。17.根据权利要求16所述的计算机程序产品,其中所述步骤还包括基于所述条目确定所述结果在所述高速缓存中的位置。18.根据权利要求15所述的计算机程序产品,其中所述步骤还包括:确定与所述结果相关联的年龄超过阈值;使用所述第一查询来查询所述基于云的数据仓库;响应于所述第一查询,接收所述第一查询的另一结果;以及基于所述第一查询的所述另一结果更新所述一个或多个仪表板可视化。
19.根据权利要求15所述的计算机程序产品,其中所述步骤还包括:确定第二查询的结果未存储在所述基于云的数据仓库的所述高速缓存中;使用所述第二查询来查询所述基于云的数据仓库;以及响应于所述第二查询,接收所述第二查询的所述结果。20.根据权利要求15所述的计算机程序产品,其中所述步骤还包括存储关于所述第二查询的所述结果存储在所述基于云的数据仓库的所述高速缓存中的指示。

技术总结
从基于云的数据仓库高速缓存加载仪表板包括:确定第一查询的结果存储在基于云的数据仓库的高速缓存中;响应存储在高速缓存中的结果,向基于云的数据仓库发送对来自高速缓存的结果的请求;并且基于第一查询的结果提供一个或多个仪表板可视化。或多个仪表板可视化。或多个仪表板可视化。


技术研发人员:詹姆斯
受保护的技术使用者:西格玛计算机有限公司
技术研发日:2020.12.28
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-6166.html

最新回复(0)