CN101329686A - 一种实现网络查询缓存的系统和查询方法 - Google Patents

一种实现网络查询缓存的系统和查询方法 Download PDF

Info

Publication number
CN101329686A
CN101329686A CNA2008101175154A CN200810117515A CN101329686A CN 101329686 A CN101329686 A CN 101329686A CN A2008101175154 A CNA2008101175154 A CN A2008101175154A CN 200810117515 A CN200810117515 A CN 200810117515A CN 101329686 A CN101329686 A CN 101329686A
Authority
CN
China
Prior art keywords
query
inquiry
virtual view
node
requests example
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.)
Granted
Application number
CNA2008101175154A
Other languages
English (en)
Other versions
CN100594497C (zh
Inventor
李晓林
徐志伟
谢毅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hainan Nanhai cloud Information Technology Co., Ltd.
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN200810117515A priority Critical patent/CN100594497C/zh
Publication of CN101329686A publication Critical patent/CN101329686A/zh
Application granted granted Critical
Publication of CN100594497C publication Critical patent/CN100594497C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种实现网络查询缓存的系统,包括:查询绑定器,用于绑定与查询请求实例相关的虚拟视图元信息到系统内存中,并从下层至上层依次设置虚拟视图的写操作时间标志;查询解析器,用于根据查询请求实例的有效性将虚拟视图解析成查询树;查询描述符管理器,用于存储施加在虚拟视图上的查询请求实例的队列,确定查询请求实例进出所述队列,并判断查询请求实例的有效性;查询调度器,用于调度查询树的查询节点执行查询;查询缓存器,用于创建和删除临时表,管理临时表中的数据集,并更新查询描述符中查询请求实例的时间特性标识,输出查询结果。本发明基于增量进行缓存,提高了查询的性能和吞吐率,同时对查询请求执行过程提供透明性支持。

Description

一种实现网络查询缓存的系统和查询方法
技术领域
本发明涉及计算机应用技术领域,特别涉及网络环境中数据库应用的一种实现网络查询缓存的系统和查询方法。
背景技术
随着网络应用层业务逻辑的处理和计算变得越来越复杂,一个查询请求可能涉及到对网络上多个分布数据源的即时访问,这种大量基于分布数据源上的联合查询,由于受网络带宽、请求负载、数据量等因素的影响,访问性能常常是这类应用的瓶颈,因此,针对这类应用模式的性能优化技术研究一直是热点。
从技术方法层面,到目前为止,主要有两种思路实现这类分布式查询的缓存机制来提高访问的性能。
思路一是在内存中做cache,将查询请求需要的数据结果集预先(或者第一次请求时)读取到内存中,以后的请求就是基于内存访问的。
例如开源项目memcache,其是一种高性能的分布式对象缓存,安装位置介于应用程序与数据存储之间,它把对象保存在RAM中。访问对象时,如果已经缓存,只需检索该对象并继续进行处理,否则,转至数据库、获取必需的数据、将其映射到对象中并把它添加到缓存中。这样,memcache将最小化或消除针对先前处理过的信息的数据库查询开销。这种做法的缺点是:1)数据对象是缓存在内存中,因此,受内存大小的约束,不可能支持大量数据查询结果集的缓存需要;2)memcache内存数据组织是以内存对象模式,不是以关系数据模式,因此,为应用开发提供的是专用的访问接口,不接受标准的SQL语句。
又例如MySQL数据库的缓存机制,也是利用内存缓存数据表,如果运行相同的SQL,服务器直接从缓存中取到结果,而不需要再去解析和执行SQL。如果表更改了,那么使用这个表的所有缓冲查询将不再有效,查询缓存值的相关条目被清空。更改包括表中任何数据或是结构的改变,也包括那些映射到已改变的表的使用MERGE表的查询。显然,这对于频繁更新的表,查询缓存是不适合的,而对于一些不常改变数据且有大量相同SQL查询的表,查询缓存会节约很大的性能。这种做法的缺点是:1)同样受内存大小的约束;2)缓存数据的替换策略是以整个数据表为单元,而不是以更细粒度的查询请求为单元;3)查询必须是逐字节相同才能够被认为是相同的,而条件相同但访问的字段集不同的被认为是不同的请求;4)缓存数据只存在数据库所在的服务器上,目前还不支持分布式网络环境的多节点服务器间的缓存。
思路二是通过建立临时存储的数据表机制,将部分中间结果存储在临时表中,部分查询访问是针对临时表进行的。这种模式不受内存大小的约束,能支持大量数据的访问,各种应用程序会有不同的解决方案,关键在于如何确定临时表的创建、删除、有效性检查机制。其中的核心问题是要解决好两个因素的权衡:一是尽可能少的数据访问,特别是网络数据访问,避免大量数据在网络上的传输;二是在保证时效性要求下尽可能的提高cache的利用率。联邦数据库系统和数据仓库系统用到了一些类似的技术。
如图1所示,联邦数据库系统(FDBS)由半自治数据库系统构成,相互之间分享数据,联盟各数据源之间相互提供访问接口,同时联邦数据库系统可以是集中数据库系统或分布式数据库系统。应用程序可以向联邦服务器提交用SQL编写的查询。联邦服务器优化该查询,产生一个执行方案,其中这条查询被分解为可以在各个数据源上执行的片段。对这条查询可能存在多种分解,优化器根据最少资源总耗估计值从多种可能中做出选择。一旦选定一个方案,联邦数据库就开始执行,调用相应的底层数据源包装器来执行分配给它们的片段。为了执行某个代码段,包装器会执行任何所需的数据源操作,这些操作也许是一系列函数调用,或者是提交给数据源用其本机查询语句执行的查询。生成的数据流被返回给联邦服务器,由联邦服务器来组合它们,执行任何其它的由数据源无法完成的处理,然后将最终结果返回给应用程序。为了提高性能,联邦数据库常常采用自动摘要表(AST)机制实现了某种形式的高速缓存,它使管理员可以定义一组底层表中数据的物化的视图。对于某些类型的查询,数据库可以自动地确定是否使用AST回答查询,而不用访问基本表。这种做法的缺点是:1)物化的视图的替换策略是以整个数据表为单元,而不是以更细粒度的查询请求为单元;2)难以在网络环境确保相对较高的物化视图的时效性。
如图2所示,数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的和不可修改的数据集合,由底层数据库管理系统(DBMS)提供数据资源和软件支持。其中,数据被归类为广义的、功能上独立的、没有重叠的主题。全局数据缓冲器缓存数据库页和数据仓库的导出数据,将需要访问的数据预先全部读取到数据仓库的本地数据库中,并进行周期性的更新,为查询操作提供工作空间,应用程序请求都是基于本地库表或者视图访问的,同时,全局数据缓冲器需要为多查询生成有效的缓冲分配方案和替换策略。这种做法可以提高数据查询处理的效率,但不便于解决下列需求:1)多用户查询请求之间结果数据集的共享;2)难于在分布式网络环境确保相对较高的缓冲时效性,同时容易导致网络周期性的高负载现象。
要解决上面的问题需要将请求相对数据访问的时间和空间特征与相应的缓存机制相互结合,提供一种基于增量的透明化的查询缓存机制。
发明内容
本发明是针对网络环境大量数据源的分布式查询需求,提供一种实现网络查询缓存的系统和查询方法,以提高查询的性能和吞吐率,同时对查询请求执行过程提供透明性支持。
为实现上述目的,根据本发明的一个方面,提供了一种实现网络查询缓存的系统,包括查询绑定器、查询解析器、查询描述符管理器、查询调度器和查询缓存器,其中:
所述查询绑定器,用于绑定与查询请求实例相关的虚拟视图元信息到系统内存中,并从下层至上层依次设置所述虚拟视图的写操作时间标志;
所述查询解析器,用于根据所述查询请求实例的有效性将所述虚拟视图解析成为由查询节点构成的查询树;
所述查询描述符管理器,用于存储施加在所述虚拟视图上的查询请求实例的队列,确定所述查询请求实例进出所述队列,并根据所述虚拟视图的写操作时间标志和所述查询请求实例的时间特性标识判断所述查询请求实例的有效性;
所述查询调度器,用于按照所述查询树的下层到上层的顺序逐层调度所述查询解析器生成的所述查询树的查询节点执行查询;
所述查询缓存器,用于创建和删除临时表,并根据所述查询请求实例进出所述队列来管理所述临时表中的数据集,并更新查询描述符中查询请求实例的时间特性标识,输出查询结果。
上述系统中,所述查询描述符管理器包含查询锁,用于控制对所述查询描述符的写操作和所述查询描述符中查询请求实例的时间特性标识的更新。
上述系统中,所述查询解析器利用查询合并和查询下推技术,将多个虚拟视图解析成所述查询树的一个子查询节点。
上述系统中,所述查询调度器进行并发调度。
根据本发明的另一个方面,还提供了一种网络查询方法,包括下列步骤:
1)绑定与查询请求实例相关的虚拟视图元信息到系统内存中,并从下层至上层依次设置所述虚拟视图的写操作时间标志;
2)根据所述虚拟视图的写操作时间标志和所述查询请求实例的时间特性标识判断所述查询请求实例的有效性,并根据所述查询请求实例的有效性将所述虚拟视图解析成为由查询节点构成的查询树;
3)按照所述查询树的下层到上层的顺序逐层调度所述查询树的所有查询节点执行查询,将所述每个查询节点查询得到的数据集导入临时表,并更新查询描述符中查询请求实例的时间特性标识;
4)输出所述临时表中所述请求实例对应的根查询节点的数据集。
上述方法中,所述步骤2)进一步包括:
21)创建或获得当前要解析的虚拟视图对应的查询描述符;
22)根据所述虚拟视图的写操作时间标志和所述查询请求实例的时间特性标识判断所述查询请求实例的有效性,如果有效则执行步骤3);
23)判断所述查询请求实例对应的虚拟视图是否未访问其他虚拟视图,如果是则执行步骤3);
24)根据虚拟视图的映射关系,将所述查询请求实例解析成对应所述虚拟视图的下层虚拟视图的子查询节点;
25)将当前解析的针对该虚拟视图的查询请求实例放入所述查询描述符的查询请求实例队列中;然后再依次进行步骤21)、22)、23)和24)直到形成由查询节点构成的查询树。
上述方法中,所述步骤22)包括下列步骤:
221)判断所述查询请求实例是否在所述查询描述符的请求队列中,如果不在则所述查询请求实例缓存无效;
222)判断所述查询请求实例的时间特性标识是否过期,如果过期,则所述查询请求实例缓存无效;否则,有效。
上述方法中,所述步骤3)包括下列步骤:
31)调度当前最下层查询节点执行查询;
32)将查询的数据集导入临时表,并更新所述查询请求实例的时间特性标识;
33)基于下层的查询节点的执行结果,执行所述下层查询节点的上层查询节点,实现数据的汇聚查询;
34)判断是否已经是根查询节点,如果不是,则依次进行步骤31)、32)和33),获得所述根查询节点查询的数据集。
上述方法中,
所述步骤2)还包括步骤:获得所述查询描述符的查询锁;
所述步骤3)还包括步骤:将所述每个查询节点查询得到的数据集导入临时表后,释放对应所述查询节点的查询描述符的查询锁;
所述步骤4)还包括步骤:释放根查询节点的查询锁。
本发明的效果在于:借助虚拟化技术和视图技术,实现分布式查询请求的统一管理和表示;执行过程中,不需要一次性的将所有数据搬迁到临时表中,临时表数据的建立是在执行过程中逐渐通过增量累加建立的;同时对数据的有效性检查、管理和更新不是基于表的粒度,而是以请求实例为粒度单位进行的,请求实例的结果集数据量的大小是不确定的,查询描述符中一个请求实例对应标识一个数据集(请求实例条件所标识的数据集之间有可能存在交叉,但物理数据记录只有一份);同时,这种增量缓存机制对应用程序是完全透明的。
使用本发明的方法,可以实现分布式多数据源查询中,利用请求存在对数据访问的时间局部性和空间局部性,通过对请求实例的有效性检查、管理和调度,在请求实例间实现数据访问结果集的细粒度共享,在保证较高时效性前提下,充分提高系统中的宏观吞吐率和性能。
附图说明
图1是联邦数据库体系结构示意图;
图2是数据仓库体系结构示意图;
图3是根据本发明一个实施例的实现网络分布式查询增量缓存的系统结构图;
图4是根据本发明一个实施例的虚拟视图形成的访问和映射关系图,以及由查询解析器优化解析后形成的对应查询树结构图;
图5是根据本发明一个实施例的网络查询方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步详细的说明。
如图3所示,根据本发明一个实施例,提供了一种实现网络环境分布式查询的增量缓存的系统,包括查询绑定器(query binder)、查询解析器(query parser)、查询描述符管理器(query descriptor)、查询调度器(queryscheduler)、查询缓存器(query cacher)五个主要功能模块。各部件的功能和实现具体如下:
查询绑定器:分布的多数据源的查询请求,需要首先利用虚拟化的方法和视图技术,将应用程序需要的数据表示成虚拟视图。由于虚拟视图通过关系的连接、联合等操作可以形成新的虚拟视图,因此可以构建复杂应用程序所需要的虚拟视图。根据本发明一个实施例,建立一个具有层次结构的应用程序最终需要的虚拟视图,通过虚拟视图之间的访问关系来表示对数据源的联合查询。应用程序的访问是基于这些虚拟视图提交查询请求的,系统在接收到一个查询请求实例时,查询绑定器根据虚拟视图的访问关系,绑定与该查询请求实例相关的虚拟视图元信息到系统内存中,形成与该查询请求实例相对应的虚拟视图。由于对下层虚拟视图的写操作导致的数据变化可能导致上层虚拟视图的临时数据无效,所以在绑定的时候,还需要从下至上依次设置虚拟视图的写操作时间标志为该虚拟视图和其所有下层虚拟视图中的最近一次写操作时间,为查询解析时检查有效性提供依据。
查询解析器:应用程序提交的查询请求实例是针对虚拟视图的,需要依据绑定的虚拟视图元信息做查询请求实例的分解解析,根据该查询请求实例的有效性将其解析成针对虚拟视图的具有一定偏序关系的由查询节点构成的查询树,其中每个子查询节点代表施加在该虚拟视图上的查询请求实例。优选的,适当利用查询合并、查询下推等优化技术,将对几个视图的查询联合形成一个查询节点,这不影响本发明的方法。
如图4(a)所示,通过连接(join)、联合(union)等关系操作,形成一种层次结构的虚拟视图访问和映射关系,其中,虚拟视图4,5通过连接操作形成虚拟视图2;虚拟视图6,7通过联合操作形成虚拟视图3;而虚拟视图2和3再通过连接操作形成虚拟视图1。在解析时,查询解析器从顶层(根)开始,依据虚拟视图模式映射关系,对依次施加在每层虚拟视图上的查询请求实例进行解析,形成如图4(b)所示的最终查询树。注意到查询树与虚拟视图访问关系并不是一一对应的,在图4(a)中,虚拟视图2对虚拟视图4和5有访问关系,当虚拟视图4和5分别映射到同一个物理数据源中的两个数据表时,通过解析的优化机制,查询树中的查询2直接映射到这两个数据表模式上,执行时就可以直接施加该连接查询请求实例到这个数据源上。如图4(b)所示,查询2,查询4,查询5是子查询节点,而查询1是根查询节点。
在解析一个具体的查询请求实例时,需要获得代表所有下层视图的查询描述符的查询锁,避免多个用户同时访问一个虚拟视图时,对相应的临时表临界资源读写操作的冲突。
查询描述符管理器:施加在虚拟视图上的查询请求实例由查询描述符管理器进行管理,虚拟视图与查询描述符一一对应,由于多个用户会话并发性的存在,存在多个查询请求实例同时访问一个视图的情形,但是每个查询请求实例具体施加到该虚拟视图上的查询条件、时间不尽相同,这样为查询请求实例之间共享部分数据集创造了条件。所以,一个查询描述符中有一个专门存储管理查询请求实例的队列,至于队列的大小设置可以根据服务器配置以及请求特征设定。施加在该虚拟视图上的每个查询请求实例是该队列的一个对象元素。描述一个查询请求实例有三个重要属性:请求条件,用于标识该查询请求实例的数据集的条件;查询请求实例发生的时间特性标识——读操作时间标志;表示查询请求实例的会话的所有者属性。这样便于确定查询请求实例之间具有集合性质的关系,例如,某个查询请求实例请求条件标识的数据集是另一个查询请求实例请求条件所标识的数据集的子集。该队列大小有限,因此需要有一种进出的替换计算方法。查询描述符与物理存在的临时表也一一对应,上述计算方法也就直接对应到临时表中数据集的进出替换更新策略,也即具有检查当前请求的数据集是否缓存有效的判断标准。策略描述如下:
如果当前查询请求实例不在查询描述符的请求队列中,表示缓存无效。是否在请求队列中的判断标准是:当前查询条件与某个查询请求实例的条件相等;或者当前查询条件是某个查询请求实例条件所代表数据集的子集。如果满足在其中,则判断查询请求实例的时间特性标识的读操作时间标志是否过期,具体为,如果对应的虚拟视图的写操作时间标志标识的写操作时间是在查询请求实例的最近一次读操作后发生,则该查询请求实例的时间标识过期。如果时间特性标识过期,表示该查询请求实例对应的缓存无效,否则有效。无效时该虚拟视图将继续向下进一步解析;有效时,针对该查询就不会被查询解析器继续向下分解形成新的子查询节点,可直接由查询调度器调度该子查询节点执行。当执行一个新的查询请求实例时,如果队列已满,需要将某个查询请求实例替换出队列,被替换的对象是最后一次访问时间最早的查询请求实例。
每个查询描述符管理器还有一个对应的锁控制,叫查询锁,只有获得了查询锁,才能对查询描述符做写操作和查询请求实例时间特性标识的变更操作,从而控制对临时表内数据集的读写操作。
查询调度器:查询解析器生成查询树后,需要通过查询调度器调度查询节点执行查询。调度可以直接将查询施加到对应的数据库服务器上,也可以将查询分发到其他协同执行的服务器上,再在这个服务器上继续执行访问请求的一个完整过程,这实际上是优化机制尽量确保网络间传递的中间数据结果最少。
因为生成的查询树具有偏序依赖关系,也即时间关系,和查询缓存,也即空间关系,所以查询调度可以是并发调度,但需要满足查询节点之间的关系。当下层的子查询全部执行结束时,包含数据结果的数据集都存储到对应的物理存在的临时表中,此时再针对临时表中数据执行上层查询节点,实现数据在多层的汇集,进而形成每个查询节点的临时数据集。一旦执行上层查询节点后,就可以完全释放其下层查询节点对应的查询锁。依次类推,直到执行最顶层的查询节点,而获得最终数据结果。在返回给应用程序请求最终结果同时,释放顶层查询节点的查询锁。
查询缓存器:如上所述一个查询描述符对应一个物理存在的临时表,查询缓存器将包括每个查询描述符的所有查询请求实例的数据集累加导入到对应的临时表中,其中已经在临时表中的有效数据集不再导入。查询缓存器对临时表中的数据集作细粒度管理,主要包括:临时表创建/删除、数据集的调入/调出。当查询描述符的某个查询请求实例被替换后,该查询请求实例的条件对应的数据集有可能仍然被其他查询请求实例所共享访问,也即,查询请求实例条件所标识的数据集之间可能有交叉,查询缓存器在做调出时,不允许将这部分数据调出。因此,在调出数据时,需要获得和检查查询请求实例队列,并计算调出数据的条件约束语句。假设查询请求实例队列长度是n,对应的查询请求实例条件分别为cond1,cond2,...,condn。如果要替换m(1≤m≤n)查询请求实例出对列,那么导出数据表示的条件理论上应该是condm and not(cond1 or cond2...or condm-1 orcondm+1...or condn)。实际操作时候,需要进行约束条件的等效优化处理。查询缓存器还用于设置和更新查询描述符中对应查询请求实例的时间特性标识;而且在执行完顶层查询节点后,向应用程序输出临时表中该请求实例对应的根查询节点的数据集。
图5是根据本发明一个实施例的网络查询方法流程图,具体包括下列步骤:
步骤S1,应用程序针对虚拟视图提交的一个查询请求实例。
步骤S2,绑定与该查询请求实例相关的虚拟视图元信息到系统内存中,并从下至上依次设置虚拟视图的写操作时间标志为该虚拟视图和其下层虚拟视图的最近一次写操作时间标志。
根据所述虚拟视图的写操作时间标志和查询请求实例的时间特性标识判断查询请求实例的有效性,根据查询请求实例的有效性解析虚拟视图成为由查询节点构成的查询树,其中查询节点代表查询请求实例。具体操作为:
步骤S3,创建或获取当前要解析的虚拟视图对应的查询描述符,并获得该查询描述符的查询锁,实现对临时表内数据集的读写控制;步骤S4,判断查询请求实例的缓存有效性,即检查该查询请求实例所需数据是否在临时表中存在且其时间特性标识未过期,如果是则执行步骤S8;步骤S5,判断该查询请求实例对应的虚拟视图是否未访问其他虚拟视图,如果是则执行步骤S8;步骤S6,查询解析器根据该虚拟视图的映射关系,将该查询请求实例解析成对应该虚拟视图的下层虚拟视图的子查询节点;步骤S7,将当前解析的针对该虚拟视图的查询请求实例放入对应的查询描述符的查询请求实例队列中,如果请求实例队列已满,则将最后一次访问时间最早的查询请求实例替换出队列,并调出其在临时表中的数据集;然后再依次进行步骤S3、S4、S5、S6、S7,直到形成一个由查询节点构成的查询树;
按照从所述查询树的下层到上层的顺序逐层调度所述查询树的所有查询节点执行查询,将所述每个查询节点查询得到的数据集导入临时表,并更新查询描述符中查询请求实例的时间特性标识。具体操作为:
步骤S8,查询调度器在满足查询之间形成的偏序依赖情况下,调度当前最下层查询节点执行查询;步骤S9,每个子查询节点的查询执行完后,将查询的数据集导入临时表,并更新对应查询请求实例的时间特性标识;步骤S10,当下层的查询节点都执行完后,基于下层查询节点的查询结果执行该下层查询节点的上层查询节点,实现数据的汇聚查询,并释放下层所有节点的查询锁;步骤S11,判断是否已经是根查询节点,如果不是,依次进行步骤S8、S9、S10,获得调度根查询节点查询的数据集。
步骤S12,输出所述根查询节点查询的数据集作为结果返回给应用程序,释放顶层查询锁。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (9)

1.一种实现网络查询缓存的系统,包括查询绑定器、查询解析器、查询描述符管理器、查询调度器和查询缓存器,其中:
所述查询绑定器,用于绑定与查询请求实例相关的虚拟视图元信息到系统内存中,并从下层至上层依次设置所述虚拟视图的写操作时间标志;
所述查询解析器,用于根据所述查询请求实例的有效性将所述虚拟视图解析成为由查询节点构成的查询树;
所述查询描述符管理器,用于存储施加在所述虚拟视图上的查询请求实例的队列,确定所述查询请求实例进出所述队列,并根据所述虚拟视图的写操作时间标志和所述查询请求实例的时间特性标识判断所述查询请求实例的有效性;
所述查询调度器,用于按照所述查询树的下层到上层的顺序逐层调度所述查询解析器生成的所述查询树的查询节点执行查询;
所述查询缓存器,用于创建和删除临时表,并根据所述查询请求实例进出所述队列来管理所述临时表中的数据集,并更新查询描述符中查询请求实例的时间特性标识,输出查询结果。
2.根据权利要求1所述的系统,其特征在于,所述查询描述符管理器包含查询锁,用于控制对所述查询描述符的写操作和所述查询描述符中查询请求实例的时间特性标识的更新。
3.根据权利要求1所述的系统,其特征在于,所述查询解析器利用查询合并和查询下推技术,将多个虚拟视图解析成所述查询树的一个子查询节点。
4.根据权利要求1所述的系统,其特征在于,所述查询调度器进行并发调度。
5.一种网络查询方法,包括下列步骤:
1)绑定与查询请求实例相关的虚拟视图元信息到系统内存中,并从下层至上层依次设置所述虚拟视图的写操作时间标志;
2)根据所述虚拟视图的写操作时间标志和所述查询请求实例的时间特性标识判断所述查询请求实例的有效性,并根据所述查询请求实例的有效性将所述虚拟视图解析成为由查询节点构成的查询树;
3)按照所述查询树的下层到上层的顺序逐层调度所述查询树的所有查询节点执行查询,将所述每个查询节点查询得到的数据集导入临时表,并更新查询描述符中查询请求实例的时间特性标识;
4)输出所述临时表中所述请求实例对应的根查询节点的数据集。
6.根据权利要求5所述的方法,其特征在于,所述步骤2)进一步包括:
21)创建或获得当前要解析的虚拟视图对应的查询描述符;
22)根据所述虚拟视图的写操作时间标志和所述查询请求实例的时间特性标识判断所述查询请求实例的有效性,如果有效则执行步骤3);
23)判断所述查询请求实例对应的虚拟视图是否未访问其他虚拟视图,如果是则执行步骤3);
24)根据虚拟视图的映射关系,将所述查询请求实例解析成对应所述虚拟视图的下层虚拟视图的子查询节点;
25)将当前解析的针对该虚拟视图的查询请求实例放入所述查询描述符的查询请求实例队列中;然后再依次进行步骤21)、22)、23)和24)直到形成由查询节点构成的查询树。
7.根据权利要求6所述的方法,其特征在于,所述步骤22)包括下列步骤:
221)判断所述查询请求实例是否在所述查询描述符的请求队列中,如果不在则所述查询请求实例缓存无效;
222)判断所述查询请求实例的时间特性标识是否过期,如果过期,则所述查询请求实例缓存无效;否则,有效。
8.根据权利要求5所述的方法,其特征在于,所述步骤3)包括下列步骤:
31)调度当前最下层查询节点执行查询;
32)将查询的数据集导入临时表,并更新所述查询请求实例的时间特性标识;
33)基于下层的查询节点的执行结果,执行所述下层查询节点的上层查询节点,实现数据的汇聚查询;
34)判断是否已经是根查询节点,如果不是,则依次进行步骤31)、32)和33),获得所述根查询节点查询的数据集。
9.根据权利要求5所述的方法,其特征在于,
所述步骤2)还包括步骤:获得所述查询描述符的查询锁;
所述步骤3)还包括步骤:将所述每个查询节点查询得到的数据集导入临时表后,释放对应所述查询节点的查询描述符的查询锁;
所述步骤4)还包括步骤:释放根查询节点的查询锁。
CN200810117515A 2008-07-31 2008-07-31 一种实现网络查询缓存的系统和查询方法 Expired - Fee Related CN100594497C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200810117515A CN100594497C (zh) 2008-07-31 2008-07-31 一种实现网络查询缓存的系统和查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810117515A CN100594497C (zh) 2008-07-31 2008-07-31 一种实现网络查询缓存的系统和查询方法

Publications (2)

Publication Number Publication Date
CN101329686A true CN101329686A (zh) 2008-12-24
CN100594497C CN100594497C (zh) 2010-03-17

Family

ID=40205496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810117515A Expired - Fee Related CN100594497C (zh) 2008-07-31 2008-07-31 一种实现网络查询缓存的系统和查询方法

Country Status (1)

Country Link
CN (1) CN100594497C (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571827A (zh) * 2010-12-08 2012-07-11 上海遥薇(集团)有限公司 一种大量实时数据存储分发及查询信息处理方法
WO2012149723A1 (zh) * 2011-09-02 2012-11-08 华为技术有限公司 虚拟内存区域的查询、遍历方法及装置
CN105164674A (zh) * 2013-08-29 2015-12-16 惠普发展公司,有限责任合伙企业 涉及多个数据库和执行引擎的查询
CN107004013A (zh) * 2014-11-26 2017-08-01 微软技术许可有限责任公司 用于使用基于硬件的处理来提供分布式树遍历的系统和方法
CN107133332A (zh) * 2017-05-11 2017-09-05 广州视源电子科技股份有限公司 一种查询任务的分配方法及装置
CN109918382A (zh) * 2019-03-18 2019-06-21 Oppo广东移动通信有限公司 数据处理方法、装置、终端及存储介质
CN110019215A (zh) * 2017-10-26 2019-07-16 Sap欧洲公司 多重租赁数据库系统中的键模式管理
CN110321355A (zh) * 2019-07-12 2019-10-11 杭州美巴科技有限公司 一种自适应部分查询字段系统及执行方法
CN110413679A (zh) * 2019-07-31 2019-11-05 深圳前海微众银行股份有限公司 数据库信息处理方法、装置、设备及可读存储介质
CN110858204A (zh) * 2018-08-16 2020-03-03 中国移动通信集团重庆有限公司 查询请求的处理方法、设备和介质
CN111178408A (zh) * 2019-12-19 2020-05-19 中国科学院计算技术研究所 基于联邦随机森林学习的健康监护模型构建方法、系统
CN113296872A (zh) * 2020-04-13 2021-08-24 阿里巴巴集团控股有限公司 容器状态查询方法、装置、设备、存储介质和系统
CN116991882A (zh) * 2023-09-28 2023-11-03 成都新希望金融信息有限公司 基于业务优先级的查询优化方法、装置和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697826B1 (en) * 1996-03-20 2004-02-24 International Business Machines Corporation Information-handling system, method, and article of manufacture including and object search mechanism that provides constraint-based filtering in a distributed object system
US6684204B1 (en) * 2000-06-19 2004-01-27 International Business Machines Corporation Method for conducting a search on a network which includes documents having a plurality of tags
CN100485688C (zh) * 2007-06-11 2009-05-06 周广宇 在网络环境下进行结构化信息发布与搜索的方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571827A (zh) * 2010-12-08 2012-07-11 上海遥薇(集团)有限公司 一种大量实时数据存储分发及查询信息处理方法
CN102571827B (zh) * 2010-12-08 2015-04-22 上海遥薇(集团)有限公司 一种大量实时数据存储分发及查询信息处理方法
WO2012149723A1 (zh) * 2011-09-02 2012-11-08 华为技术有限公司 虚拟内存区域的查询、遍历方法及装置
US9003120B2 (en) 2011-09-02 2015-04-07 Huawei Technologies Co., Ltd. Method and apparatus for querying for and traversing virtual memory area
CN105164674A (zh) * 2013-08-29 2015-12-16 惠普发展公司,有限责任合伙企业 涉及多个数据库和执行引擎的查询
CN107004013A (zh) * 2014-11-26 2017-08-01 微软技术许可有限责任公司 用于使用基于硬件的处理来提供分布式树遍历的系统和方法
CN107004013B (zh) * 2014-11-26 2020-12-25 微软技术许可有限责任公司 用于使用基于硬件的处理来提供分布式树遍历的系统和方法
CN107133332A (zh) * 2017-05-11 2017-09-05 广州视源电子科技股份有限公司 一种查询任务的分配方法及装置
CN107133332B (zh) * 2017-05-11 2020-10-16 广州视源电子科技股份有限公司 一种查询任务的分配方法及装置
CN110019215A (zh) * 2017-10-26 2019-07-16 Sap欧洲公司 多重租赁数据库系统中的键模式管理
CN110019215B (zh) * 2017-10-26 2023-10-20 Sap欧洲公司 多重租赁数据库系统中的键模式管理
CN110858204B (zh) * 2018-08-16 2023-09-19 中国移动通信集团重庆有限公司 查询请求的处理方法、设备和介质
CN110858204A (zh) * 2018-08-16 2020-03-03 中国移动通信集团重庆有限公司 查询请求的处理方法、设备和介质
CN109918382B (zh) * 2019-03-18 2021-06-01 Oppo广东移动通信有限公司 数据处理方法、装置、终端及存储介质
CN109918382A (zh) * 2019-03-18 2019-06-21 Oppo广东移动通信有限公司 数据处理方法、装置、终端及存储介质
CN110321355A (zh) * 2019-07-12 2019-10-11 杭州美巴科技有限公司 一种自适应部分查询字段系统及执行方法
CN110413679A (zh) * 2019-07-31 2019-11-05 深圳前海微众银行股份有限公司 数据库信息处理方法、装置、设备及可读存储介质
CN111178408A (zh) * 2019-12-19 2020-05-19 中国科学院计算技术研究所 基于联邦随机森林学习的健康监护模型构建方法、系统
CN113296872A (zh) * 2020-04-13 2021-08-24 阿里巴巴集团控股有限公司 容器状态查询方法、装置、设备、存储介质和系统
CN116991882A (zh) * 2023-09-28 2023-11-03 成都新希望金融信息有限公司 基于业务优先级的查询优化方法、装置和电子设备
CN116991882B (zh) * 2023-09-28 2023-12-01 成都新希望金融信息有限公司 基于业务优先级的查询优化方法、装置和电子设备

Also Published As

Publication number Publication date
CN100594497C (zh) 2010-03-17

Similar Documents

Publication Publication Date Title
CN100594497C (zh) 一种实现网络查询缓存的系统和查询方法
US10831753B2 (en) Query plan generation and execution in a relational database management system with a temporal-relational database
CN103177056B (zh) 存储为行存储和列存储二者的混合数据库表
CN104160381B (zh) 多租户环境中租户特定数据集的管理方法及其系统
CN103930875B (zh) 用于加速业务数据处理的软件虚拟机
CN103177058B (zh) 存储为行存储和列存储二者的混合数据库表
US7698348B2 (en) Extended database engine providing versioning and embedded analytics
CN101819596B (zh) 一种基于内存的xml脚本缓存容器
US20100293135A1 (en) Highconcurrency query operator and method
CN103177055A (zh) 存储为行存储和列存储二者的混合数据库表
US6917943B2 (en) Sheaf data model
US20160267155A1 (en) Virtualization method for large-scale distributed heterogeneous data
CN101901242A (zh) 联合的配置数据管理
CN106716409A (zh) 基于查询需求从行存储数据库自适应地构建和更新列存储数据库的方法和系统
CN101510209A (zh) 实现实时检索的方法、系统和服务器
CN105930428A (zh) 用于执行多租户存储中的交叉存储连接的方法和系统
CN101546325A (zh) 基于soa的网格异构数据集成方法
KR101400214B1 (ko) Hybrid C 인터페이스를 지원하는 장치
US20080276237A1 (en) Method For Processing Work Items Of a Workflow System
Durner et al. Crystal: a unified cache storage system for analytical databases
Mukherjee Synthesis of non-replicated dynamic fragment allocation algorithm in distributed database systems
CN100485640C (zh) 用于企业软件系统的高速缓存
WO1996021190A1 (en) A system and method for processing parallel data queries
Ryeng et al. Site-autonomous distributed semantic caching
Zubi On distributed database security aspects

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: G-CLOUD TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCE

Effective date: 20120327

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100190 HAIDIAN, BEIJING TO: 523808 DONGGUAN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20120327

Address after: 523808 Guangdong province Dongguan City Songshan Lake Science and Technology Industrial Park Building No. 14 Keyuan pine

Patentee after: G-Cloud Technology Co., Ltd.

Address before: 100190 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

ASS Succession or assignment of patent right

Owner name: HAINAN NANHAI CLOUD INFORMATION TECHNOLOGY CO., LT

Free format text: FORMER OWNER: G-CLOUD TECHNOLOGY CO., LTD.

Effective date: 20131104

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 523808 DONGGUAN, GUANGDONG PROVINCE TO: 571924 CHENGMAI, HAINAN PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20131104

Address after: 571924 Hainan eco tech software park, old town, Chengmai County, Hainan province B-07 building

Patentee after: Hainan Nanhai cloud Information Technology Co., Ltd.

Address before: 523808 Guangdong province Dongguan City Songshan Lake Science and Technology Industrial Park Building No. 14 Keyuan pine

Patentee before: G-Cloud Technology Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100317

Termination date: 20170731

CF01 Termination of patent right due to non-payment of annual fee