CN116775961A - 使用查询过滤器取回查询结果 - Google Patents
使用查询过滤器取回查询结果 Download PDFInfo
- Publication number
- CN116775961A CN116775961A CN202310270549.1A CN202310270549A CN116775961A CN 116775961 A CN116775961 A CN 116775961A CN 202310270549 A CN202310270549 A CN 202310270549A CN 116775961 A CN116775961 A CN 116775961A
- Authority
- CN
- China
- Prior art keywords
- query
- data
- lifetime
- user
- data structure
- 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.)
- Pending
Links
- 230000002829 reductive effect Effects 0.000 claims abstract description 9
- 238000000034 method Methods 0.000 claims description 44
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007423 decrease Effects 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- 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/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及使用查询过滤器取回查询结果。提供了一种查询方案,其中创建查询过滤器数据结构并利用该查询过滤器数据结构来确定从存储服务器获得实时查询数据还是获得相关联的数据集内的老旧数据。可以减小对存储服务器的查询数量并提高查询系统的总体效率。提供了另一种查询方案,其基于包含在后续查询中的用户定义的数据寿命参数指示和/或基于存储服务器查询的频率是否高于预定阈值,调整数据集刷新的频率。从数据集获得查询结果的倾向增加,而对存储服务器的查询的倾向减少,由此提高查询系统效率。
Description
技术领域
本申请的各个实施例一般涉及查询存储的数据。更具体地,各个实施例可以涉及创建查询过滤器数据结构并利用该查询过滤器数据结构来确定从存储服务器取回实时查询结果数据还是从关联的数据集取回老旧的查询结果数据。此外,各个实施例可以涉及基于包含在后续用户查询请求内的数据寿命指示和/或基于存储服务器查询的频率来调整相关数据集的刷新频率。
发明内容
在本发明的一个实施例中,提供了一种查询系统。所述查询系统包括查询服务器,其包括处理器和存储器。所述存储器包括查询模块,所述查询模块在被所述处理器调用时使得所述查询服务器:从查询管理器计算实体接收多个查询过滤器数据结构,每个查询过滤器数据结构包括不同的所分配的查询主题和主题数据寿命期。所述查询模块在被所述处理器调用时还使得所述查询服务器:从查询用户计算实体接收包括对查询结果的请求和用户定义的数据寿命参数的查询。所述查询模块在被所述处理器调用时还使得所述查询服务器:解析所述查询以确定查询主题,以及识别包括与所述查询主题相同的所分配的查询主题的一个查询过滤器数据结构。所述查询模块在被所述处理器调用时还使得所述查询服务器:确定所述用户定义的数据寿命参数是否完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内。所述查询模块在被所述处理器调用时还使得所述查询服务器:如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从与所述一个查询过滤器数据结构相关联的数据集取回查询结果数据。所述查询模块在被所述处理器调用时还使得所述查询服务器:如果所述用户定义的数据寿命参数没有完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从通过网络通信地连接到所述查询服务器的存储服务器取回查询结果数据。
在本发明的另一个实施例中,提供了一种用于取回查询结果数据的计算机程序产品。所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质中包含程序指令。所述程序指令是可读的以使得处理器:从查询管理器计算实体接收多个查询过滤器数据结构,每个查询过滤器数据结构包括不同的所分配的查询主题和主题数据寿命期。所述程序指令是可读的以还使得所述处理器:从查询用户计算实体接收包括对查询结果的请求和用户定义的数据寿命参数的查询。所述程序指令是可读的以还使得所述处理器:解析所述查询以确定查询主题,以及识别包括与所述查询主题相同的所分配的查询主题的一个查询过滤器数据结构。所述程序指令是可读的以还使得所述处理器:确定所述用户定义的数据寿命参数是否完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内。所述程序指令是可读的以还使得所述处理器:如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从与所述一个查询过滤器数据结构相关联的数据集取回查询结果数据。所述程序指令是可读的以还使得所述处理器:如果所述用户定义的数据寿命参数没有完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从通过网络通信地连接到所述查询服务器的存储服务器取回查询结果数据。
在本发明的又一个实施例中,提供了一种用于取回查询结果数据的方法。所述方法包括:从查询管理器计算实体接收多个查询过滤器数据结构,每个查询过滤器数据结构包括不同的所分配的查询主题和主题数据寿命期。所述方法还包括:从查询用户计算实体接收包括对查询结果的请求和用户定义的数据寿命参数的查询。所述方法还包括:解析所述查询以确定查询主题。所述方法还包括:识别包括与所述查询主题相同的所分配的查询主题的一个查询过滤器数据结构。所述方法还包括:确定所述用户定义的数据寿命参数是否完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内。所述方法还包括:如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从与所述一个查询过滤器数据结构相关联的数据集取回查询结果数据。所述方法还包括:如果所述用户定义的数据寿命参数没有完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从通过网络通信地连接到所述查询服务器的存储服务器取回查询结果数据。
参考以下说明书、所附权利要求和附图将更好地理解这些和其他实施例、特征、方面和优点。
附图说明
图1是示出根据一些实施例的数据查询系统的实施方式的框图;
图2是示出根据一些实施例的数据查询管理模块的实施方式的框图;
图3是示出了根据一些实施例的在查询服务器内的存储设备和在存储服务器内的存储设备的实施方式的框图;
图4示出了根据一些实施例的从存储服务器获得实时查询数据或获得相关联的数据集内的老旧数据的方案;
图5A和图5B示出了根据一些实施例的利用查询过滤器数据结构来确定从存储服务器获得实时查询数据还是获得先前创建的数据集内的老旧数据的方案;以及
图6示出了根据一些实施例的基于包含后续用户查询请求的数据寿命指示和/或基于存储服务器查询的频率来调整数据集刷新时间粒度的方法。
根据惯例,附图中所说明的各个特征可能不是按比例绘制的。因此,为了清楚起见,各种特征的尺寸可以任意扩大或减小。此外,一些附图可能未描绘给定系统、方法或设备的所有组件。最后,贯穿说明书和附图,相同的参考标号可以用于表示相同的特征。
具体实施方式
数据驱动的决策制定正在变得越来越重要。通常,用于决策制定过程的数据驻留在一个或多个存储服务器上,当用户执行查询时访问该一个或多个存储服务器。执行对存储服务器的查询的用户越多,存储服务器越可能变得负担过重并且操作效率可能降低。此外,查询用户越来越多地期望数据尽可能快地从存储服务器返回。因此,当存储系统性能降低时,从其取得数据以及与其相关联的用户体验受到不利影响。
存储服务器效率可随实现在多个用户之间共享查询数据的查询数据模型而增大。更具体地,可以通过提前执行查询并获得查询结果来提高性能。随后,当用户进行查询时,查询结果可供返回给这些用户,而无需花费访问存储系统的必要资源。这样的全有或全无方法具有若干限制:难以预测何时或多频繁地需要提前访问存储服务器,难以预测何时或多频繁地需要刷新查询结果等。
这种方法的另一个问题是难以向具有不同数据寿命要求的用户提供特定查询结果。例如,一些用户请求包含实时查询数据的查询结果,而其他用户请求其中较旧数据便已足够的查询。
为了解决这些问题,提供了一种查询方案,其中创建查询过滤器数据结构并利用该查询过滤器数据结构来确定从存储服务器获得实时查询数据还是获得先前创建的数据集内的老旧数据。采用该方案,减少了对存储服务器的查询数量,提高了查询系统的整体效率。此外,提供了一种查询方案以基于包含在后续用户查询请求中的数据寿命指示和/或基于存储服务器查询的频率来调整先前创建的数据集刷新的频率。采用该方案,增加了数据集存在并且包含足够数据来满足用户查询的倾向,这也最终减少了对存储服务器的查询数量并且增加了查询系统效率。
本文描述了许多细节以便提供对附图中示出的示例实施例的透彻理解。然而,一些实施例可在没有许多具体细节的情况下实践,且权利要求书的范围仅受权利要求书中具体陈述的那些特征和方面的限制。此外,公知的方法、组件、电路等没有被详尽地描述,以免不必要地模糊本文描述的实施例的更多相关方面。
图1是根据一些实施例的查询系统10的实施方式的示图。虽然示出了一些示例特征,但是为了简洁起见并且为了不模糊本文所公开的示例实施例的更多相关方面,未示出各种其他特征。
为此,作为非限制性示例,查询系统10包括查询管理器计算机12、查询用户计算机20、与查询管理器计算机12和查询用户计算机20结合使用的查询服务器100、以及与查询服务器100结合使用的存储服务器200。
查询管理器计算机12和查询用户计算机20可分别被统称为物理计算机系统12、20。物理计算机系统12、20是不同或分立的计算实体的示例。术语“计算实体”在本文中被定义为物理计算机或虚拟机(VM)。在一些实施例中,每个计算实体通过已知网络通信地连接到查询服务器100。
物理计算机系统12、20可以是服务器、计算机、膝上型计算机、平板设备、上网本、互联网自助服务终端、个人数字助理、移动电话、智能电话、游戏设备或其他物理计算设备。类似地,计算实体可以是不同的VM 14、16、22、24。每个VM 14、16、22、24是在物理计算机系统12、20上创建其自己的虚拟计算资源的虚拟计算机。通常,软件将物理计算机系统12、20资源分开并且适当地供应它们,使得它们可以分别被每个VM 14、16、22、24使用。在所描绘的示例中,VM 14和VM 16用作在物理计算机系统12、20上创建其自己的虚拟计算资源的离散虚拟计算机。类似地,VM 22和VM 24用作在物理计算机系统20上创建其自己的虚拟计算资源的离散虚拟计算机。
在一些实施例中,每个物理计算机系统12、20包括一个或多个处理器、一种或多种类型的存储器、显示器和/或其他用户接口组件,如键盘、触摸屏显示器、鼠标、跟踪板、数码相机和/或用于添加功能的任何数量的补充设备。
物理计算机系统12、20可以通过一个或多个数据连接101(诸如已知的网络、物理电缆等)耦接到查询服务器100。类似地,物理计算机系统20可通过一个或多个数据连接102(诸如已知的网络、物理电缆等)耦接到查询服务器100。
查询服务器100可包括缓冲器123、存储设备128、管理模块121和/或CPU 122。查询服务器100可以是计算实体(例如,物理计算机、VM等)。存储服务器200可包括缓冲器223、存储设备228、管理模块221和/或CPU 222。存储服务器200可以是计算实体(例如,物理计算机、VM等)。
在一些实施例中,存储设备128、228是单个存储设备,而在其他实施例中,存储设备128、228包括多个存储设备。在一些实施例中,存储设备128、228还可以包括不同类型的存储设备。在一些实施例中,存储设备128、228包括一个或多个NAND型闪存设备、一个或多个NOR型闪存设备。然而,根据各种实施例的方面,可以包括其他类型的存储设备(例如,PCRAM、ReRAM、STT-RAM等)。在一些实施例中,闪存设备包括一个或多个闪存管芯、一个或多个闪存封装、一个或多个闪存通道、一个或多个固态盘(SSD)、一个或多个SSD阵列等。
查询服务器100还可以包括管理模块121、一个或多个输入/输出缓冲器123等。类似地,存储服务器200还可包括管理模块221、一个或多个输入/输出缓冲器223等。查询服务器100和存储服务器200可以包括各种附加特征,为了简洁起见并且为了不模糊本文公开的示例实施例的更多相关特征而未示出这些各种附加特征,并且特征的不同布置可以是可能的。
输入和输出缓冲器123分别通过数据连接101、102提供到物理计算机系统12、20的接口。管理模块121可以包括被配置为执行一个或多个程序或应用(例如,存储在管理模块121中)中的指令的一个或多个处理单元(CPU,有时也称为处理器)122。在一些实施例中,一个或多个CPU 122由在查询服务器100之内并且在一些情况下超出查询服务器100的功能的一个或多个组件所共享。管理模块121耦接到输入/输出缓冲器123和存储设备128以便协调这些组件的操作。
输入和输出缓冲器223通过数据连接201提供到查询服务器100的接口。管理模块221可以包括被配置为执行一个或多个程序或应用(例如,存储在管理模块221中)中的指令的一个或多个CPU 222。在一些实施例中,一个或多个CPU 222由在存储服务器200之内并且在一些情况下超出存储服务器200的功能的一个或多个组件所共享。管理模块221耦接到输入/输出缓冲器223和存储设备228以便协调这些组件的操作。
存储服务器200可以通过连接201耦接到管理模块121。连接101、102、201有时被称为数据连接,但是通常除了数据之外还传送命令,并且可选地除了要存储在存储设备128、228中的数据值和从存储设备128、228中读取的数据值之外还传送元数据、纠错信息和/或其他信息。为了清楚起见,存储设备128和存储设备228被包括在不同的计算实体中,例如,被包括在不同的物理服务器中。
当发出请求的计算实体(例如,经由数据连接102)向查询服务器100发送一个或多个查询请求从而请求与该一个或多个查询请求相关联的数据时,可以发起查询操作。查询服务器100可通过从被本地存储在存储设备128内的数据集取回老旧数据和/或通过从存储服务器200取回实时查询数据来获得与一个或多个查询请求相关联的数据。查询服务器100可将所取回的数据打包或组装成查询结果、数据集等,可以将数据集本地地存储在存储设备128内,和/或可将查询结果提供回发出请求的计算实体。
图2是示出根据一些实施例的示例性管理模块121的框图。管理模块121可以包括:一个或多个处理单元(CPU)122,用于执行被存储在存储器306中的模块、程序、应用和/或指令并且由此执行处理操作;存储器306;以及一个或多个通信总线304,用于互连这些组件。一个或多个通信总线304可选地包括互连并控制由总线304连接的组件之间的通信的电路(有时被称为芯片组)。管理模块121通过一个或多个通信总线304耦接至缓冲器123和存储设备128。
存储器306包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储设备,并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器306可选地包括远离CPU 122的一个或多个存储设备。存储器306或者存储器306内的非易失性存储设备包括计算机可读存储介质。在一些实施例中,存储器306或存储器306的计算机可读存储介质存储以下程序、模块和/或数据结构或者它们的子集或超集:
操作系统308,其是程序、模块和/或数据结构与关联的计算机实体的硬件资源之间的操作接口,使得程序、模块和/或数据结构可以与这样的硬件资源交互;
数据读取模块309,用于从存储设备128和/或从存储服务器300读取数据;
数据写入模块311,用于将数据写入存储设备128、存储服务器300和/或发出请求的计算实体;
一个或多个应用310;以及
查询模块,用于接收和管理查询请求,并将查询结果提供给查询请求,该查询模块可以包括:
a)查询过滤器创建器315,用于创建并存储查询过滤器数据结构317;
b)查询接收器319,用于从查询用户计算实体接收查询;
c)查询解析器321,用于确定与所接收的查询相关联的主题;
d)比较器322,用于将与所接收的查询相关联的数据寿命查询阈值和与所确定的主题相关联的主题数据寿命期进行比较;
e)查询数据取回器323,用于基于比较器322而从存储设备128获得老旧数据或从存储服务器300获得实时查询数据;以及
f)查询结果组装器325,用于将所取回的数据组装成数据集和/或查询结果数据结构327。
以上所识别的元素中的每一个可分别存储在先前提及的存储设备128、228、存储器306等中的一个或多个中,且可对应于用于执行上文所描述的功能的数据结构或指令集。以上所识别的模块或程序(即,指令集)不需要被实施为单独的软件程序、过程或模块,且因此在各个实施例中,可以组合或以其他方式重新布置这些模块的不同子集。在一些实施例中,存储器306可以存储以上所识别的模块和数据结构的子集。此外,存储器306可以存储上文未描述的附加模块和数据结构。在一些实施例中,被存储在存储器306或存储器306的计算机可读存储介质中的程序、模块和数据结构提供用于实现以下参考图5A和图6描述的任何方法的指令。在一些实施例中,这些模块中的一些或全部可以用纳入部分或全部模块功能的专用硬件电路来实现。
尽管图2示出了管理模块121,但是图2更旨在作为对可存在于管理模块中的各种特征的功能描述而不是作为本文描述的实施例的结构示意图。在实践中并且如本领域普通技术人员所认识到的,单独示出的程序、模块和数据结构可以被组合,并且一些程序、模块和数据结构可以被分开。
图3是示出了根据一些实施例的在查询服务器100内的存储设备128和在存储服务器200内的存储设备228的实施方式的框图。在各个实施例中,通常,被描绘为相应的存储设备128.1、128.2和128.3的存储设备128可以存储老旧数据。术语“老旧查询数据”在此被定义为从存储服务器200的查询中获得的被包含在数据集内的数据,该数据集具有数据集创建时间戳和有用时间段指示的估计数据集结束。可存在被存储在存储设备128内的老旧数据的不同时间类别。例如,可存在被存储在存储设备128中的周旧数据、月旧数据、季度旧数据、年旧数据等。
老旧查询数据可以被布置在被存储在查询服务器100内的数据集内。通常,数据集是由查询服务器100执行尚未被任何查询用户计算实体请求但已经被查询服务器100预期地预取的查询而获得的查询结果,以使得这样的相关联的数据被本地地存储在查询服务器100内。以此方式,数据集内的数据可随后由查询数据取回器323取回、由查询结果组装器325打包并被提供给发出请求的计算实体,而无需查询服务器100从存储服务器200获得此类数据。如图3所示,单独的或不同的存储设备128.1、128.2和128.3可以单独地或共同地存储数据集344、数据集346和/或数据集348。
一旦创建数据集,与该数据集相关联的数据一般是静态的。因此,数据集可被称为相关联的老旧数据的快照。此外,在创建时,每个数据集具有相关联的寿命。在一些情况下,数据集可能变得陈旧,或者换言之,数据集的寿命超过预先确定的数据集刷新时间粒度。在这样的情况下,查询服务器100可通过在经过预先确定的数据集刷新时间粒度时执行被用于创建相关联的陈旧数据集的相同查询来刷新该数据集,并获得经刷新的查询结果。这样的经刷新的查询结果也可以是数据集,因为它由查询服务器100获得,而未被任何查询用户计算实体所请求,并且由查询服务器100预期地预取并被本地地存储在查询服务器100内。
在各个实施例中,被描绘为存储设备228.1、228.2和228.3的存储设备228存储实时查询数据。术语“实时查询数据”在本文中被定义为最近的或最新的数据,其中该数据的至少一部分未被包括在查询服务器100内的任何预先存在的数据集中。
图4示出了根据一些实施例的从存储服务器200获得实时查询数据或获得先前创建的数据集内的老旧数据的方案。
在各个实施例中,数据集或一组相关数据集具有在查询过滤器数据结构317内指定并存储的预定义的主题数据寿命期,该预定义的主题数据寿命期与数据集或一组相关数据集的主题相关联。主题数据寿命期可以定义数据集或一组相关数据集内所包含的数据的预期有用性。主题数据寿命期可由计算管理器计算实体初始地设置,并且可在将新的相关数据集添加到该组相关数据集时自动扩展。如果与单个数据集相关联,则主题数据寿命期可以等于预期的数据集寿命。主题数据寿命期可以等于在创建该组相关数据集中的最旧的数据集与该组相关数据集中的最年轻的数据集的预期有用性之间的时间段。
查询A可以由查询接收器319接收。查询A可以包含用户定义的数据寿命参数,该用户定义的数据寿命参数与指定和期望的查询数据结果相关联的适当的时间段的查询相关联。如示例性描绘的,因为查询A的用户定义的数据寿命参数在任何数据集的主题数据寿命期之外或不在任何数据集的主题数据寿命期之内,查询数据取回器323从存储服务器200获得必需的查询(实时)数据。换言之,数据集内的数据不足够旧以满足查询A。
查询B可以由查询接收器319接收。查询B可以包含用户定义的数据寿命参数,该用户定义的数据寿命参数与指定和期望的查询数据结果相关联的适当的时间段的查询相关联。如示例性描绘的,因为查询B的用户定义的数据寿命参数在至少一个数据集的主题数据寿命期内,查询数据取回器323从数据集或从该组相关数据集获得必需的查询(老旧)数据。换言之,数据集内的数据足够旧并足够年轻(即,不太老或陈旧)以满足查询B。
在各个实施例中,通常,假设数据集包含所有足够的数据来组装查询结果并将查询结果返回给发出请求的查询用户计算实体。如本领域中已知的,如果数据集不包含所有足够的数据来组装查询结果并将查询结果返回给发出请求的查询用户计算实体,则查询数据取回器323从存储服务器200获得足够的数据。
查询C可以由查询接收器319接收。查询C可以包含用户定义的数据寿命参数,该用户定义的数据寿命参数与指定和期望的查询数据结果相关联的适当的时间段的查询相关联。如示例性描绘的,因为查询C的用户定义的数据寿命参数在任何数据集的主题数据寿命期之外或不在任何数据集的主题数据寿命期之内,查询数据取回器323从存储服务器200获得必需的查询(实时)数据。换言之,数据集内的数据太老旧或陈旧而不能满足查询C。
图5A和图5B示出了根据一些实施例的利用查询过滤器数据结构317来确定从存储服务器200获得实时查询数据还是获得先前创建的数据集内的老旧数据的方案。
具体地,图5A示出了响应于查询并通过利用查询过滤器数据结构317从存储服务器200取回实时查询数据或取回先前创建的数据集内的老旧数据的方法400。方法400开始于查询接收器319从发出请求的查询用户计算实体接收一个或多个数据查询(方框402)。例如,如图所示,查询服务器100可以从一个或多个发出请求的查询用户计算实体接收四个数据查询。第一数据查询可以指定用户定义的数据寿命参数“A”、用户定义的数据寿命参数“B”、以及相关联的查询主题“M”。第二数据查询可以指定用户定义的数据寿命参数“C”、用户定义的数据寿命参数“D”、以及相关联的查询主题“N”。第三数据查询可以指定用户定义的数据寿命参数“E”、用户定义的数据寿命参数“F”、以及相关联的查询主题“O”。最后,第四数据查询可以指定用户定义的数据寿命参数“G”、用户定义的数据寿命参数“H”、以及相关联的查询主题“P”。
术语“用户定义的数据参数”在本文中被定义为查询用户计算实体在初始化数据查询时指定的通用或以其他方式已知的可定制参数。术语“用户定义的数据寿命参数”在本文中被定义为查询用户计算实体可以指定的指示查询结果数据结构327内的查询数据的期望寿命期、范围等的任何类型的可定制参数。例如,查询可以请求最近季度的客户销售。用于这种查询的用户定义的数据寿命参数将是与“最近完整季度”相关联的时间段。
术语“主题”在本文中被定义为用于取回和打包相关联的查询结果的数据的各个数据源的交集的定义。例如,如果相关联的查询结果是从“客户列表”数据源和“销售”数据源获得的,则“客户销售”主题可以定义查询。
用户定义的数据寿命参数和数据查询的主题可以由用户计算实体指定并且被包含在查询请求内,可以由查询服务器100从所接收的查询请求来确定,等等。
在下面继续的示例中,查询接收器319可接收<客户销售,最近完整季度>的查询。
方法400可以继续,其中查询解析器321解析或以其他方式确定所接收的查询的每个主题(框404)。例如,查询服务器100将主题“M”确定或解析为第一查询的主题、将主题“N”确定或解析为第二查询的主题、将主题“O”确定或解析为第三查询的主题、以及将主题“P”确定或解析为第四查询的主题。
在该示例中,查询解析器321可以将示例性查询的主题解析和确定为<客户销售>。
方法400可以继续,其中查询模块314读取与所解析的主题相关联的每个查询过滤器数据结构317(框406)。例如,查询服务器100读取先前由查询管理器计算实体创建并且被存储在查询服务器100内的指定主题数据寿命期“R”并将主题数据寿命期“R”与主题“M”相关联的第一查询过滤器数据结构317.1(未示出)。类似地,查询服务器100读取先前由查询管理器计算实体创建并且被存储在查询服务器100内的指定主题数据寿命期“S”并将主题数据寿命期“S”与主题“N”相关联的第二查询过滤器数据结构317.2(未示出)。同样地,查询服务器100读取先前由查询管理器计算实体创建并且被存储在查询服务器100内的指定主题数据寿命期“T”并将主题数据寿命期“T”与主题“O”相关联的第三查询过滤器数据结构317.3(未示出)。同样地,查询服务器100读取先前由查询管理器计算实体创建并且被存储在查询服务器100内的指定主题数据寿命期“U”并将主题数据寿命期“U”与主题“P”相关联的第四查询过滤器数据结构317.4(未示出)。
在一个实施例中,单个查询过滤器数据结构317可以与每个数据集、整个相关数据集等相关联。
在该示例中,查询模块314可以读取与主题<客户销售>相关联的查询过滤器数据结构317。
方法400可以继续,其中比较器322将适当的用户定义的数据寿命参数与适当的主题数据寿命期进行比较,并且确定所比较的用户定义的数据寿命参数是否完全在主题数据寿命期之内(方框408,410)。
例如,比较器322比较用户定义的数据寿命参数“B”与主题数据寿命期“R”,比较用户定义的数据寿命参数“D”与主题数据寿命期“S”,比较用户定义的数据寿命参数“F”与主题数据寿命期“T”,以及比较用户定义的数据寿命参数“H”与主题数据寿命期“U”。
在该示例中,比较器322可以将适当的用户定义的数据寿命参数(即,与最近完整季度相关联的时间段)与在和现有数据集或一系列相关数据集的主题<客户销售>相关联的读查询过滤器数据结构317内的适当的主题数据寿命期(例如,相关联的数据集创建日期与一周的预先定义的有用性寿命之间的时间段)进行比较。
方法400可以继续,其中如果适当的用户定义的数据寿命参数不完全在主题数据寿命期内或不完全由主题数据寿命期限定,则查询数据取回器323从存储服务器200取回查询数据(方框412)。如果预先存在的数据集内的数据太旧以至于不能满足相关联的查询或不足够旧以满足相关联的查询,则这将示例性地发生。因为此类数据集中的数据将分别太年轻或太老,所以查询模块314有效地确定应当从存储服务器200取回查询数据。
方法400可以继续,其中如果适当的用户定义的数据寿命参数完全在适当的主题数据寿命期内或完全被限定在适当的主题数据寿命期内,则查询数据取回器323从适当的数据集、一系列相关数据集中的最近数据集、一些或所有相关数据集等取回查询数据(框414)。因为这样的示例性数据集中的数据既不太年轻也不太老,所以查询模块314有效地确定应当从适当的数据集中取回查询数据。
如在图4中示例性示出的,查询数据取回器323可以从存储服务器200取回查询数据以满足第一查询,因为与<主题M>相关联的适当的用户定义的数据寿命参数“B”不完全在主题数据寿命期“R”内或者不完全由主题数据寿命期“R”限定。类似地,查询数据取回器323可以从存储服务器200取回查询数据以满足第二查询,因为与<主题N>相关联的适当的用户定义的数据寿命参数“D”不完全在主题数据寿命期“S”内或不完全由主题数据寿命期“S”限定。类似地,查询数据取回器323可以从相关联的数据集344取回查询数据以满足第三查询,因为与<主题O>相关联的适当的用户定义的数据寿命参数“F”完全在主题数据寿命期“T”之内和完全由主题数据寿命期“T”限定。同样地,查询数据取回器323可以从相关联的数据集346取回查询数据以满足笫四查询,因为与<主题P>相关联的适当的用户定义的数据寿命参数“H”完全在主题数据寿命期“U”之内和完全由主题数据寿命期“U”限定。
方法400可以继续,其中查询结果组装器325将所取回的数据组装或打包成查询结果和/或查询结果数据结构327(框416)。查询结果数据结构327可采取被打包以发送到查询用户请求计算实体的查询结果的形式,或者可以被打包成数据集。例如,查询结果组装器325可以组装和打包用于第一查询的查询结果数据结构327.1(未示出),可以组装和打包用于第二查询的查询结果数据结构327.2(未示出),可以组装和打包用于第三查询的查询结果数据结构327.3(未示出),以及可以组装和打包用于第四查询的查询结果数据结构327.4(未示出)。
最后,方法400可以继续,其中查询模块314向发出请求的查询用户计算实体提供查询结果数据结构327(框418)。例如,查询模块314可以将查询结果数据结构327.1、327.2、327.3和327.4发送到适当的一个或多个发出请求的查询用户计算实体。作为替代或补充,方法400可以继续,其中查询模块314将查询结果数据结构327作为数据集本地地保存在查询服务器100内的存储设备128内。
图6示出了根据一些实施例的基于在后续用户查询请求中指定的用户定义的数据寿命参数和/或基于存储服务器200查询的频率来调整先前设置的数据集刷新粒度的频率的方法500。
方法500可始于查询管理器计算实体创建与现有数据集相关联或将与数据集或一系列相关数据集相关联的查询过滤器数据结构317(框502)。例如,查询管理器计算实体可以经由网络浏览器等创建由查询服务器100接收的查询过滤器数据结构317。
查询过滤器数据结构317可以指定或以其他方式包括定义或将定义查询结果的主题,这些查询结果采取被提供给查询用户请求计算实体的结果的形式或采取数据集的形式。查询过滤器数据结构317还可以包括与查询相关联的主题数据寿命期(框504)。主题数据寿命期可以指定被与或将被与查询结果相关联的数据的数据寿命有用性跨度,如由查询管理器计算实体初始估计的。例如,主题数据寿命期可以指示数据的预期寿命跨度可以是从创建查询结果开始的一小时、一天、一周、一个月、一个季度、一年、十年等。
查询管理器计算实体还可以在查询过滤器数据结构317内指定主题数据寿命期是否可修改。如果不能被修改,查询管理器计算实体可以指示主题数据寿命期是静态的,而如果主题数据寿命期是可修改的,查询管理器计算实体可以指示主题数据寿命期是动态的(块506)。
查询管理器计算实体还可设置初始数据集刷新时间粒度(框508)。例如,查询管理器计算实体可以指示应当每周刷新相关联的数据集。因此,将使用相同的查询来创建一组或一系列相关数据集,并且以所指示的数据集刷新时间粒度将其预取到查询服务器100中。
查询管理器计算实体还可以设置初始存储服务器200频率阈值(框510)。例如,查询管理器计算实体可以指示查询数据取回器323可从存储服务器200取回查询数据的总体最大频率,可以指示查询数据取回器323可从存储服务器200取回与每个数据集、一系列相关数据集相关联的查询数据的最大频率,等等。
方法500可以继续,其中查询服务器100创建并存储数据集和/或每一个在时间上由数据集刷新时间粒度分隔的一系列相关数据集(框514)。此外,方法500可以继续,其中查询用户计算实体向查询服务器100发送查询请求(框512)。
方法500可以继续,其中比较器322比较适当的用户定义的数据寿命参数与适当的主题数据寿命期,并且确定所比较的用户定义的数据寿命参数是否完全在主题数据寿命期内(方框518)。
方法500可以继续,其中如果适当的用户定义的数据寿命参数完全在适当的主题数据寿命期内或者完全被限定在适当的主题数据寿命期内,则查询数据取回器323从适当的数据集取回查询数据(块516)。因为此类示例性数据集中的数据既不太年轻也不太老,查询模块314有效地确定可以从适当的数据集取回查询数据而无需从存储服务器200获得此类数据。
方法500可以继续,其中如果适当的用户定义的数据寿命参数不完全在主题数据寿命期内或不完全由主题数据寿命期限定,则查询数据取回器323从存储服务器200取回查询数据(块520)。如果在与用户查询的主题相关联的预先存在的数据集内的数据太老以至于不满足查询或不足够老以满足查询,则这将示例性地发生。因为此类数据集中的数据将分别太年轻或太老,查询模块314有效地确定相关联的数据集不包含所请求的数据,并且查询数据取回器323应当从存储服务器200取回此类数据。
方法500可以继续,其中查询模块314减小与和用户查询的主题相关联的预先存在的数据集相关联的数据集刷新时间粒度(框521)。此类数据集刷新时间粒度被减小的数量或时间段可被预先定义。例如,如果与和用户查询的主题相关联的预先存在的数据集相关联的初始刷新时间粒度被设置为一周,则查询模块314可以将刷新时间粒度减小到一天等。
方法500可以继续,其中查询服务器100创建并存储后续的相关数据集(现在在时间上以减小后的数据集刷新时间粒度分隔开)(框522)。
方法500可以继续,其中查询模块314确定查询数据取回器323是否正在以高于存储系统200查询的频率阈值的频率从存储服务器200取回查询数据(块524)。如果查询数据取回器323正在以高于存储系统200查询的频率阈值的频率从存储服务器200取回查询数据,则方法500可继续以增大与一个或多个预先存在的数据集(例如,与用户查询的主题相关联的数据集)相关联的数据集刷新时间粒度(框526)。这种数据集刷新时间粒度增大的数量或时间段可被预先定义。例如,如果与预先存在的数据集相关联的当前刷新时间粒度是一天,则查询模块314可以将刷新时间粒度增大到一周等。随后,方法500可返回到块502。
如果查询数据取回器323没有正在以高于存储系统200查询的频率阈值的频率从存储服务器200取回查询数据,则方法500可返回到块512。
实施例可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),这些计算机可读程序指令用于使处理器执行本发明的各方面。计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下项:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言(包括面向对象的编程语言,例如Java、Smalltalk、C++等)和常规过程编程语言(例如“C”编程语言或类似的编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
已经出于说明的目的给出了对本发明的各种实施例的描述,但是这些描述不是穷举性的或者不旨在限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上发现的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。
Claims (20)
1.一种查询系统,包括:
查询服务器,其包括处理器和存储器,所述存储器包括查询模块,所述查询模块在被所述处理器调用时使得所述查询服务器:
从查询管理器计算实体接收多个查询过滤器数据结构,每个查询过滤器数据结构包括不同的所分配的查询主题和主题数据寿命期;
从查询用户计算实体接收包括对查询结果的请求和用户定义的数据寿命参数的查询;
解析所述查询以确定查询主题;
识别所述多个查询过滤器数据结构中的包括与所述查询主题相同的所分配的查询主题的一个查询过滤器数据结构;
确定所述用户定义的数据寿命参数是否完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内;
如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从与所述一个查询过滤器数据结构相关联的数据集取回查询结果数据;以及
如果所述用户定义的数据寿命参数没有完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从通过网络通信地连接到所述查询服务器的存储服务器取回查询结果数据。
2.根据权利要求1所述的查询系统,其中,从所述数据集取回的所述查询结果数据是老旧数据。
3.根据权利要求1所述的查询系统,其中,从所述存储服务器取回的所述查询结果数据是实时数据。
4.根据权利要求1所述的查询系统,其中,如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则所述查询结果数据是从所述数据集和各自与所述一个查询过滤器数据结构相关联的一个或多个其他相关数据集取回的。
5.根据权利要求1所述的查询系统,其中,所述多个查询过滤器数据结构中的每个查询过滤器数据结构包括数据集刷新时间粒度。
6.根据权利要求5所述的查询系统,其中,所述查询模块在被所述处理器调用时还使得所述查询服务器:
如果查询结果数据是从所述存储服务器取回的,则减小所述一个查询过滤器数据结构的所述数据集刷新时间粒度。
7.根据权利要求6所述的查询系统,其中,所述查询模块在被所述处理器调用时还使得所述查询服务器:
以减小的数据集刷新时间粒度来创建与和所述一个查询过滤器数据结构相关联的所述数据集相关的相关数据集。
8.根据权利要求7所述的查询系统,其中,所述查询模块在被所述处理器调用时还使得所述查询服务器:
确定查询结果数据是否是以大于预先确定的频率阈值的频率从所述存储服务器取回的。
9.根据权利要求8所述的查询系统,其中,所述查询模块在被所述处理器调用时还使得所述查询服务器:
如果查询结果数据是以大于所述预先确定的频率阈值的频率从所述存储服务器取回的,则增大所述一个查询过滤器数据结构的所述数据集刷新时间粒度。
10.一种用于取回查询结果数据的计算机程序产品,所述计算机程序产品包括程序指令,其中,所述程序指令可读以使得处理器:
从查询管理器计算实体接收多个查询过滤器数据结构,每个查询过滤器数据结构包括不同的所分配的查询主题和主题数据寿命期;
从查询用户计算实体接收包括对查询结果的请求和用户定义的数据寿命参数的查询;
解析所述查询以确定查询主题;
识别所述多个查询过滤器数据结构中的包括与所述查询主题相同的所分配的查询主题的一个查询过滤器数据结构;
确定所述用户定义的数据寿命参数是否完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内;
如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从与所述一个查询过滤器数据结构相关联的数据集取回查询结果数据;以及
如果所述用户定义的数据寿命参数没有完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从通过网络通信地连接到所述查询服务器的存储服务器取回查询结果数据。
11.根据权利要求10所述的计算机程序产品,其中,从所述数据集取回的所述查询结果数据是老旧数据。
12.根据权利要求10所述的计算机程序产品,其中,从所述存储服务器取回的所述查询结果数据是实时数据。
13.根据权利要求10所述的计算机程序产品,其中,如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则所述查询结果数据是从所述数据集和各自与所述一个查询过滤器数据结构相关联的一个或多个其他相关数据集取回的。
14.根据权利要求10所述的计算机程序产品,其中,所述多个查询过滤器数据结构中的每个查询过滤器数据结构包括数据集刷新时间粒度。
15.根据权利要求14所述的计算机程序产品,其中,所述程序指令可读以还使得所述处理器:
如果查询结果数据是从所述存储服务器取回的,则减小所述一个查询过滤器数据结构的所述数据集刷新时间粒度。
16.根据权利要求15所述的计算机程序产品,其中,所述程序指令可读以还使得所述处理器:
以减小的数据集刷新时间粒度来创建与和所述一个查询过滤器数据结构相关联的所述数据集相关的相关数据集。
17.根据权利要求16所述的计算机程序产品,其中,所述程序指令可读以还使得所述处理器:
确定查询结果数据是否是以大于预先确定的频率阈值的频率从所述存储服务器取回的。
18.根据权利要求17所述的计算机程序产品,其中,所述程序指令可读以还使得所述处理器:
如果查询结果数据是以大于所述预先确定的频率阈值的频率从所述存储服务器取回的,则增大所述一个查询过滤器数据结构的所述数据集刷新时间粒度。
19.一种用于取回查询结果数据的方法,包括:
从查询管理器计算实体接收多个查询过滤器数据结构,每个查询过滤器数据结构包括不同的所分配的查询主题和主题数据寿命期;
从查询用户计算实体接收包括对查询结果的请求和用户定义的数据寿命参数的查询;
解析所述查询以确定查询主题;
识别所述多个查询过滤器数据结构中的包括与所述查询主题相同的所分配的查询主题的一个查询过滤器数据结构;
确定所述用户定义的数据寿命参数是否完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内;
如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从与所述一个查询过滤器数据结构相关联的数据集取回查询结果数据;以及
如果所述用户定义的数据寿命参数没有完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则从通过网络通信地连接到所述查询服务器的存储服务器取回查询结果数据。
20.根据权利要求19所述的用于取回查询结果数据的方法,其中,如果所述用户定义的数据寿命参数完全被限定在所述一个查询过滤器数据结构的所述主题数据寿命期内,则所述查询结果数据是从所述数据集和各自与所述一个查询过滤器数据结构相关联的一个或多个其他相关数据集取回的。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/655471 | 2022-03-18 | ||
US17/655,471 US11941074B2 (en) | 2022-03-18 | 2022-03-18 | Fetching a query result using a query filter |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775961A true CN116775961A (zh) | 2023-09-19 |
Family
ID=87990395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310270549.1A Pending CN116775961A (zh) | 2022-03-18 | 2023-03-16 | 使用查询过滤器取回查询结果 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11941074B2 (zh) |
JP (1) | JP2023138443A (zh) |
CN (1) | CN116775961A (zh) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117359A1 (en) * | 2001-03-01 | 2004-06-17 | Snodgrass Richard Thomas | Adaptable query optimization and evaluation in temporal middleware |
US7895191B2 (en) | 2003-04-09 | 2011-02-22 | International Business Machines Corporation | Improving performance of database queries |
US7552149B2 (en) | 2003-09-06 | 2009-06-23 | Oracle International Corporation | Querying past versions of data in a distributed database |
US7606791B2 (en) * | 2004-06-03 | 2009-10-20 | International Business Machines Corporation | Internal parameters (parameters aging) in an abstract query |
US9639616B2 (en) * | 2011-10-10 | 2017-05-02 | Salesforce.Com, Inc. | Methods and systems for performing time-partitioned collaborative filtering |
US10216631B1 (en) * | 2013-09-05 | 2019-02-26 | United Services Automobile Association (Usaa) | Revising cache expiration |
US9348867B2 (en) | 2014-02-13 | 2016-05-24 | International Business Machines Corporation | Method for using multiple plans to achieve temporal and archive transparency performance |
US10346418B2 (en) * | 2016-12-16 | 2019-07-09 | Sap Se | Optimizing data access based on data aging |
US10565203B1 (en) * | 2017-03-31 | 2020-02-18 | Intuit Inc. | Object relational mapper for non-relational databases |
-
2022
- 2022-03-18 US US17/655,471 patent/US11941074B2/en active Active
-
2023
- 2023-03-14 JP JP2023040031A patent/JP2023138443A/ja active Pending
- 2023-03-16 CN CN202310270549.1A patent/CN116775961A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US11941074B2 (en) | 2024-03-26 |
JP2023138443A (ja) | 2023-10-02 |
US20230297632A1 (en) | 2023-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2811792B1 (en) | A method for operating a mobile telecommunication device | |
US20200257450A1 (en) | Data hierarchical storage and hierarchical query method and apparatus | |
US10649905B2 (en) | Method and apparatus for storing data | |
US20110167239A1 (en) | Methods and apparatuses for usage based allocation block size tuning | |
CN112748863B (zh) | 用于处理数据的方法、电子设备和计算机程序产品 | |
US20090254594A1 (en) | Techniques to enhance database performance | |
CN111124270B (zh) | 缓存管理的方法、设备和计算机程序产品 | |
CN110765036B (zh) | 在控制设备处管理元数据的方法和设备 | |
US11586388B2 (en) | Method, device, and computer program product for managing storage system | |
US11269853B2 (en) | User defined heuristic refresh of a materialized query table | |
US11061727B1 (en) | Preventing performance degradation over time in a cache | |
CN112051970A (zh) | 混合驱动器的脏数据管理 | |
US20140365427A1 (en) | Smart polling frequency | |
US20140344328A1 (en) | Data collection and distribution management | |
CN105808451B (zh) | 一种数据缓存方法以及相关装置 | |
US20130036267A1 (en) | Placement of data in shards on a storage device | |
US11287993B2 (en) | Method, device, and computer program product for storage management | |
CN113297267A (zh) | 数据缓存和任务处理方法、装置、设备以及存储介质 | |
CN116775961A (zh) | 使用查询过滤器取回查询结果 | |
CN114675785A (zh) | 一种分布式存储方法、装置、系统以及介质 | |
US8977814B1 (en) | Information lifecycle management for binding content | |
US9146679B2 (en) | Effectively limitless apparent free space on storage device | |
EP2896185B1 (en) | Reducing network usage of computing device | |
US11922035B2 (en) | Read-disturb-based read temperature adjustment system | |
US11960721B2 (en) | Dynamic storage in key value solid state drive |
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 |