CN103559300B - 数据的查询方法和查询装置 - Google Patents

数据的查询方法和查询装置 Download PDF

Info

Publication number
CN103559300B
CN103559300B CN201310566602.9A CN201310566602A CN103559300B CN 103559300 B CN103559300 B CN 103559300B CN 201310566602 A CN201310566602 A CN 201310566602A CN 103559300 B CN103559300 B CN 103559300B
Authority
CN
China
Prior art keywords
query
data
data query
sentence
statement
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.)
Active
Application number
CN201310566602.9A
Other languages
English (en)
Other versions
CN103559300A (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.)
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Beijing Co Ltd
Dawning Information Industry Co Ltd
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 Dawning Information Industry Beijing Co Ltd, Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201310566602.9A priority Critical patent/CN103559300B/zh
Publication of CN103559300A publication Critical patent/CN103559300A/zh
Application granted granted Critical
Publication of CN103559300B publication Critical patent/CN103559300B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据的查询方法和查询装置,其中,该查询方法包括:对预先接收到的至少一个数据查询语句进行整合,得到预查询语句;在预查询时机到达的情况下,执行预查询语句,得到预查询结果;在接收到当前数据查询语句的情况下,执行当前数据查询语句并在预查询结果中进行查询。根据本发明的技术方案,通过整合预先接收到的数据查询语句,得到预查询语句,并在预查询时机到达的情况下,执行该预查询语句,得到预查询结果,接收到新的类似的查询语句时,优先从预查询结果中进行查询,能够对用户行为进行预测,很大程度上提高数据查询的速度。

Description

数据的查询方法和查询装置
技术领域
本发明涉及信息技术领域,并且特别地,涉及一种数据的查询方法和查询装置。
背景技术
大数据是继云计算、物联网之后信息技术领域的又一次技术变革,大数据有四个典型的特征,即4V特点:Variety(多样性)、Volume(体量)、Velocity(速度)和Value(价值)。由于数据量巨大,以至于通过现有技术很难在合理时间内达到对用户需要的数据进行撷取、管理、或处理,无法满足实时性的要求,以MapReduce(一种编程模型,用于大于1TB的大规模数据集的并行运算)+Hive(Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的结构化查询语言(Structured Query Language,简称SQL),查询功能,可以将SQL语句转换为MapReduce任务进行运行)为例,执行一个查询任务常常需要数分钟甚至数小时,而时间对于决策者是至关重要的,比如在金融市场,几分钟就可能让一个小公司破产,因此,缩短响应时间是大数据领域的迫切需求。
当前的大数据处理领域,开源的Hadoop(一种能够对大量数据进行分布式处理的软件框架)生态系统是最常用的技术,其中最常用的是MapReduce+Hive的处理框架,然而Hive的执行速度很慢,因为Hive必须通过MapReduce来访问HDFS(Hadoop DistributedFile System,一种分布式文件系统)上的数据,而MapReduce任务的启动是比较耗时的,Cloudera公司根据Google的Dremel论文,开发了一种开源版的大数据处理系统Impala,查询速度比Hive有了一定程度的提高,但是提速效果并不明显,且仍然无法满足实时性的要求。
目前,许多大数据处理系统采用了结果保留的技术,就是在一个任务执行完后,将执行结果保存起来,如果下次有相同的任务,可以不用查询,直接将之前保存的执行结果返回,这种方法在一定程度上加快了执行速度,但它是一种被动的方法,不会主动预测用户的行为,对于新任务,提速效果不明显。
针对相关技术中,无法预测用户行为、对大数据执行新的查询任务速度慢的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中无法预测用户行为、对大数据执行新的查询任务速度慢的问题,本发明提出一种数据的查询方法和查询装置,能够对用户行为进行预测,很大程度上提高数据查询速度。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种数据的查询方法,该查询方法包括:
对预先接收到的至少一个数据查询语句进行整合,得到预查询语句;
在预查询时机到达的情况下,执行预查询语句,得到预查询结果;
在接收到当前数据查询语句的情况下,执行当前数据查询语句并在预查询结果中进行查询。
其中,对预先接收到的至少一个数据查询语句进行整合包括以下至少之一:
对多个数据查询语句的查询参数进行合并、对至少一个数据查询语句的查询参数进行删除、对至少一个数据查询语句的查询参数进行扩展。
此外,执行预查询语句之前,进一步包括:
确定预先接收到的至少一个数据查询语句中每个数据查询语句被接收到的时机,得到至少一个数据查询语句被接收到的时机的分布规律;
根据分布规律确定得到的预查询语句的预查询时机。
其中,进行整合的至少一个数据查询语句满足以下条件:预先接收到的多个数据查询语句达到预定数量、且该多个数据查询语句的查询参数彼此相符。
其中,查询参数彼此相符是指:多个数据查询语句具有相同的数据查询区域、和/或要查询的数据类型。
此外,执行当前数据查询语句并在预查询结果中进行查询之前,该查询方法进一步包括:
判断当前数据查询语句的数据查询范围是否超出预查询语句的数据查询范围;
在判断结果为否的情况下,执行数据查询语句并在预查询结果中进行查询。
并且,在当前数据查询语句的数据查询范围超出预查询语句的数据查询范围的情况下,根据当前数据查询语句对预查询语句进行更新。
此外,更新了预查询语句之后,该查询方法进一步包括:
在下一预查询时机到达的情况下,执行更新后的预查询语句得到查询结果,并用该查询结果更新预查询结果。
此外,该查询方法进一步包括:
对预查询结果、和/或预查询语句设置生存时间。
根据本发明的另一方面,提供了一种数据的查询装置,该查询装置包括:
获得模块,用于对预先接收到的至少一个数据查询语句进行整合,得到预查询语句;
执行模块,用于在预查询时机到达的情况下,执行预查询语句,得到预查询结果;
查询模块,用于在接收到当前数据查询语句的情况下,执行数据查询语句并在预查询结果中进行查询。
本发明通过整合预先接收到的数据查询语句得到预查询语句,执行该预查询语句得到预查询结果,在接收到新的数据查询语句时,执行该新的数据查询语句并优先在预查询结果中查询,能够实现用户行为进行预测,在很多情况下,大大缩短用户进行数据查询的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的数据的查询方法流程图;
图2是根据本发明一个实施例的数据查询系统的整体结构图;
图3是根据本发明实施例的数据的查询装置框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种数据的查询方法。
如图1所示,该查询方法包括:
步骤S101,对预先接收到的至少一个数据查询语句进行整合,得到预查询语句;
步骤S103,在预查询时机到达的情况下,执行预查询语句,得到预查询结果;
步骤S105,在接收到当前数据查询语句的情况下,执行当前数据查询语句并在预查询结果中进行查询。
其中,对预先接收到的数据查询语句进行整合的方式可以是对多个数据查询语句的查询参数进行合并、或者对至少一个数据查询语句的查询参数进行删除、或者对至少一个数据查询语句的查询参数进行扩展、或者以上三种整合方式的任意组合。
在一个实施例中,实现本发明技术方案的数据查询系统的整体结构如图2所示,现有的数据查询系统(比如XData系统)只有客户端应用和大数据处理平台两部分,用户通过客户端应用向大数据处理平台提交数据查询任务,大数据处理平台接收到该任务以后开始根据该任务进行数据查询,并将查询结果返回给客户端应用。
本实施例是在现有的数据查询系统基础上增加了三个模块:命令收集分析模块、后台任务管理模块、以及预执行结果保存模块。
其中,命令收集分析模块用于收集和分析客户端应用提交的任务,客户端应用提交的每一个任务在发给大数据处理平台的同时还会发给命令收集分析模块,命令收集分析模块在收到一条命令以后,会对该命令进行分析,获得该命令的处理对象、操作类型等信息,同时生成一个预处理任务,并把这个预处理任务发给后台任务管理模块,其中,该预处理任务可以包括一条大数据处理平台可以执行的命令(比如SQL命令),以及执行时间,或者在其他实施例中,该预处理任务也可以包括该命令的执行的时间周期,比如每天执行一次,或每周执行一次等。
例如,每个SQL语句都包含一个from子句,表示查询的对象,通常情况下,依据from子句,对SQL语句进行分组(当然,在一些特殊情况下,也可以根据其他子句对SQL语句进行分组),也就是说,拥有相同的查询对象的SQL语句全部放在同一个分组中,在同一个分组中,再根据SQL的select子句进行划分,比如把含有统计函数(比如sum,count,avg等)的语句放在同一个子分组中,不包含统计函数的语句放在另一个子分组中。当某个分组的任意一个分组保存的SQL语句达到我们预先设定的值(比如3)以后,就开始对这个分组进行分析,如果该分组不包含统计函数,则提取该分组中所有SQL语句的select字段作为预处理语句的select字段,所有SQL语句的where子句取或作为预处理语句的where子句。比如,一种情况下,有如下三条语句:
Select a,b from table1 where a<10;
Select b,c from table1 where b<10;
Select a,c,e from table1 where c>5;
根据这三条语句生成的预处理语句是:
Select a,b,c,e from table1 where a<10or b<10or c>5;
此外,在另一种情况下,以上三条语句中的至少一条的where子句中包括多个参数,例如第一条语句为:Select a,b from table1 where a<10,a>5;此时,可以将where子句中的参数删除其中任意一个之后,再将该三个语句进行合并,得到预处理语句,比如:
经过删除第一条语句中的a<10的参数,得到处理后的语句为
Select a,b from table1 where a>5;
Select b,c from table1 where b<10;
Select a,c,e from table1 where c>5;
根据这三条语句生成的预处理语句是:
Select a,b,c,e from table1 where a>5or b<10or c>5;或者,
将第一条语句中的a>5的参数删除,得到处理后的语句为
Select a,b from table1 where a<10;
Select b,c from table1 where b<10;
Select a,c,e from table1 where c>5;
根据这三条语句生成的预处理语句是:
Select a,b,c,e from table1 where a<10or b<10or c>5;
此时,执行以上任意一条预处理语句或者同时执行以上两条预处理语句所得到的预处理结果,不仅包含了原始三个语句的执行结果,还扩大了预处理结果所包含的数据范围,同样,对于在其他语句包括多个参数的情况,均可以采用相类似的处理方式。
此外,如果有某一条完全一样的语句重复出现了多次,那么可以单独为其生成一条预处理语句,不用和其他语句合并。
此外,执行预查询语句之前,确定预先接收到的至少一个数据查询语句中每个数据查询语句被接收到的时机,得到数据查询语句被接收到的时机的分布规律;
根据分布规律确定得到的预查询语句的预查询时机。
在一个实施例中,得到预查询语句以后,还要确定其预查询时间。例如,可以根据一个分组中所有语句的平均出现间隔确定预查询时间,假设该分组中3条语句分别在一个月的1号、4号、7号出现,那么,可以把预查询时间的周期设置为3天,执行日期设置为从9号开始,也就是说,预计与该分组中的语句相似的语句会在10号再次出现,所以在9号执行该预查询语句,得到预查询结果,9号即为我们所确定的该预查询语句的预查询时间,并且,如果后来接收到的与该分组中的语句具有相同或者相符的语句的时间规律没有发生变化,则可以继续根据该时间周期执行该预查询语句,如果该时间规律发生变化,则根据新的时间规律重新确定预查询时间、或者时间周期。
此外,在生成了预查询语句和预查询时间以后,命令收集分析模块会把该预查询语句发送给后台任务管理模块,后台任务管理模块在收到预查询语句后,会把该语句添加到任务列表中,同时,会定期轮询整个列表,根据预查询时间和大数据处理平台当前的繁忙程度提交任务,并且,执行完一条预查询语句后,结果会保存在预执行结果保存模块中,并且,任务提交会发生在大数据处理平台相对比较空闲的时候,不会影响正常任务的响应时间。
当用户向处理平台提交一个任务后,处理平台会先查看预执行结果保存模块中保存的预执行结果,如果有相关结果,就直接返回;在有些情况下,如果在预执行结果中,不包括该任务对应的全部结果,则按照传统的查询方法进行查询,而在有些情况下,如果有部分结果,则把部分结果取回来,再进行剩余的查询,例如:如果接收到的查询语句对应的查询任务是查询9月7号到9月12号之间被访问过的视频数据,而经预执行结果保存模块中仅保存有9月7号到9月10号之间被访问过的视频数据,此时,会通过生成一条新的查询语句,用于查询9月11号到9月12号之间被访问过的视频数据,通过这种方式,在很多容易获知剩余查询任务的情况下,能够大大缩短数据查询时间。
并且,进行整合的数据查询语句满足以下条件:预先接收到的多个数据查询语句达到预定数量、且该多个数据查询语句的查询参数彼此相符。
例如,命令收集分析模块在收到一条命令以后,首先会把这条命令保存起来,在同类型的命令达到一定数量之后,才开始对命令进行分析。
并且,多个数据查询语句的查询参数彼此相符是指:多个数据查询语句具有相同的数据查询区域、和/或要查询的数据类型。
例如,在一个实施例中,接收到的三个语句为:
Select a,b from table1 where a<10;
Select b,c from table1 where b<10;
Select a,c,e from table1 where c>5;
则该三个语句具有相同的数据查询区域table1,以及满足某些特定条件的具有相同类型的数据a、b、c、e,则将这三个语句分为一组,而由该组语句得到的预查询语句可以是:Select a,b,c,e from table1 where a<10or b<10or c>5;
同样,在另一个实施例中,接收到的三个语句为:
Select videoA from table2;
Select videoB from table2;
Select videoC from table2;
此时,这三个语句同样具有相同的数据查询区域table2,以及具有相同类型的数据videoA、videoB、videoC,则将这三个语句分为一组,而由该组语句得到的预查询语句可以是:Select videoA,videoB,videoC from table2;
容易理解,对于接收到的语句进行的不同分组规则,所得到的分组结果也不相同,进而,所得到的预查询语句也可能不同,也就是说,在使用本方法对查询数据的过程中,用户可以根据自身需求,确定对查询语句的分组规则,不限于一种规则,具有很高的灵活性。
此外,执行当前数据查询语句并在预查询结果中进行查询之前,判断当前数据查询语句的数据查询范围是否超出预查询语句的数据查询范围;
在判断结果为否的情况下,执行数据查询语句并在预查询结果中进行查询。
例如,如果得到的预查询语句可能不能完全对应某条SQL语句,比如字段不同或过滤条件不同等,这样,该条SQL语句不能直接得到返回结果,但是,只要该SQL语句的查询范围没有超出预处理语句的查询范围,就可以在预处理结果中集中查询,大大提高响应速度,因为原始数据量已经减少了很多,而对两条或者多条查询语句的查询范围,是相对容易实现的。
此外,在当前数据查询语句的数据查询范围超出预查询语句的数据查询范围的情况下,按照传统的查询方法执行当前数据查询语句,并返回查询结果,同时,根据当前数据查询语句对预查询语句进行更新。
并且,更新了预查询语句之后,在下一预查询时机到达时,执行更新后的预查询语句得到查询结果,并用该查询结果更新预查询结果。
其中,下一预查询时机的确定方法与上述预查询时机的确定方法相类似,根据查询语句的接收时间的规律得到。
例如,当前预查询语句为:Select a,b,c,e from table1 where a<10or b<10orc>5;而接收到的查询语句为Select a,b from table1 where a<10or b<10orc>3;此时,该查询语句所对应的查询数据查询范围已经超出当前的预查询语句的数据查询范围,则在该传统的查询方法得到查询结果的同时,将当前的预查询语句更新为Select a,b,c,e fromtable1 where a<10or b<10or c>3;并根据与该更新后的预查询语句对应的预查询时间执行该更新后的预查询语句,并用该执行结果更新当前的预执行结果。
此外,预执行结果保存模块还可以保存每个结果的访问命中次数或者访问时间信息,并以预定周期把这些信息反馈给后台任务管理模块,后台任务管理模块会根据反馈信息调整提交任务的时间,可以大大提高执行效率,并且,后台任务管理模块也可以根据接收到的反馈信息调整预执行语句的执行时间,对预执行结果进行实时更新。
此外,还对预查询结果、和/或预查询语句设置生存时间。
例如,在一个实施例中,命令收集分析模块保存用户的查询语句,后台任务管理模块保存预查询语句,预查询结果也保存在相应的模块中,可以设置保存时间,比如只保存一个月以内的信息,如果在一个月时间内,某些预查询语句或者预查询结果没有被访问,则将其自动删除,避免过度占用存储空间。
此外,在另一个实施例中,可以将预查询结果的生存时间定义为一预查询时机结束之后的某个时间长度,比如说,确定某个预查询语句的预查询时机为每天晚上7点,而用于生成该预查询语句的查询语句被接收到的时间都分布于每天晚上的8点到10点之间,那么,在每天晚上的11点将该预查询语句的预查询结果删除,并在下一预查询时机到达时,重新执行该预查询语句,重新生成预查询结果,通过此种方案,不仅能够尽量避免过度占用存储空间,还能很大程度上保证预查询结果的实时性,例如,在下一预查询时机到达之前,可能整个数据库的数据已经发生变化,所以,即使是同一预查询语句所对应的预查询结果也可能会发生变化。
根据本发明的实施例,还提供了一种数据的查询装置。
如图3所示,该查询装置包括:
获得模块31,用于对预先接收到的至少一个数据查询语句进行整合,得到预查询语句;
执行模块32,用于在预查询时机到达的情况下,执行预查询语句,得到预查询结果;
查询模块33,用于在接收到当前数据查询语句的情况下,执行数据查询语句并在预查询结果中进行查询。
通过以上描述不难看出,应用本发明的技术方案提供了数据查询方法和查询装置,并借鉴HPC(高性能计算)领域中数据访问模式的概念,能够预测用户需求,提前进行数据查询,可以节省大量查询时间。其中,数据访问模式是指一个应用对于数据的读写特点,比如,某个应用可能从某个位置开始读取文件,每次读取64k,然后跳过之后的64k再读后面的64k,如此重复,在获得这些信息后,可以重新组织文件,把应用需要的内容提取到一个连续的文件中,使磁盘读写变成连续访问,提高读写速度。相应的,本发明在分析应用特点的基础上,提前进行一些数据查询,并把结果保存,用来提高大数据分析查询的速度。
此外,本发明可以在基本不引入额外时间开销的情况下提高大数据处理平台的访问速度,并且,本方法不针对特定的平台,具有通用性,且通过在现有的数据查询系统中增加相应模块的接口,即可将新增的功能模块添加进来,实现难度不大,易于部署和修改。在充分了解了应用的特点以后,可以根据该应用的特点设置预处理语句,得到预处理结果,可以极大的提高大数据处理的速度,在一些情况下可以实现秒级实时响应,对于重复性的复杂的数据挖掘和批量处理,更能发挥该方法的优势。
在大数据领域,目前查询速度是一个非常难以解决的问题,所以相对于所能达到的技术效果,使用本方法所带来的开销基本可以忽略。
本方法自动分析应用于大数据处理平台的交互,得到应用的特点。如果用户的应用较为单一,且用户对自己的应用特点非常了解的话,可以由用户直接指明应用的特点,不使用本方法的收集和分析工具,也能达到同样或更好的提速效果。
综上所述,借助于本发明的上述技术方案,通过整合预先接收到的数据查询语句,得到预查询语句,并在预查询时机到达的情况下,执行该预查询语句,得到预查询结果,接收到新的类似的查询语句时,优先从预查询结果中进行查询,能够对用户行为进行预测,很大程度上提高数据查询的速度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种数据的查询方法,其特征在于,包括:
对预先接收到的至少一个数据查询语句进行整合,得到预查询语句;
在预查询时机到达的情况下,执行所述预查询语句,得到预查询结果;
在接收到当前数据查询语句的情况下,执行所述当前数据查询语句并在所述预查询结果中进行查询;
其中,对预先接收到的至少一个数据查询语句进行整合包括以下至少之一:
对多个数据查询语句的查询参数进行合并、对所述至少一个数据查询语句的查询参数进行删除、对所述至少一个数据查询语句的查询参数进行扩展;
执行所述预查询语句之前,进一步包括:
确定预先接收到的所述至少一个数据查询语句中每个数据查询语句被接收到的时机,得到所述至少一个数据查询语句被接收到的时机的分布规律;
根据所述分布规律确定所述得到的预查询语句的所述预查询时机;
进行整合的所述至少一个数据查询语句满足以下条件:预先接收到的多个数据查询语句达到预定数量、且该多个数据查询语句的查询参数彼此相符。
2.根据权利要求1所述的查询方法,其特征在于,多个数据查询语句的查询参数彼此相符是指:所述多个数据查询语句具有相同的数据查询区域、和/或要查询的数据类型。
3.根据权利要求1所述的查询方法,其特征在于,执行所述当前数据查询语句并在所述预查询结果中进行查询之前,所述查询方法进一步包括:
判断所述当前数据查询语句的数据查询范围是否超出所述预查询语句的数据查询范围;
在判断结果为否的情况下,执行所述数据查询语句并在所述预查询结果中进行查询。
4.根据权利要求3所述的查询方法,其特征在于,在所述当前数据查询语句的数据查询范围超出所述预查询语句的数据查询范围的情况下,根据所述当前数据查询语句对所述预查询语句进行更新。
5.根据权利要求4所述的查询方法,其特征在于,更新了所述预查询语句之后,所述查询方法进一步包括:
在下一预查询时机到达的情况下,执行更新后的所述预查询语句得到查询结果,并用该查询结果更新所述预查询结果。
6.根据权利要求1所述的查询方法,其特征在于,进一步包括:
对所述预查询结果、和/或所述预查询语句设置生存时间。
7.一种数据的查询装置,其特征在于,包括:
获得模块,用于对预先接收到的至少一个数据查询语句进行整合,得到预查询语句,其中,对预先接收到的至少一个数据查询语句进行整合包括以下至少之一:对多个数据查询语句的查询参数进行合并、对所述至少一个数据查询语句的查询参数进行删除、对所述至少一个数据查询语句的查询参数进行扩展,并且进行整合的所述至少一个数据查询语句满足以下条件:预先接收到的多个数据查询语句达到预定数量、且该多个数据查询语句的查询参数彼此相符;
执行模块,用于在预查询时机到达的情况下,执行所述预查询语句,得到预查询结果;
查询模块,用于在接收到当前数据查询语句的情况下,执行所述数据查询语句并在所述预查询结果中进行查询;
第一确定模块,用于确定预先接收到的所述至少一个数据查询语句中每个数据查询语句被接收到的时机,得到所述至少一个数据查询语句被接收到的时机的分布规律;
第二确定模块,用于根据所述分布规律确定所述得到的预查询语句的所述预查询时机。
CN201310566602.9A 2013-11-13 2013-11-13 数据的查询方法和查询装置 Active CN103559300B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310566602.9A CN103559300B (zh) 2013-11-13 2013-11-13 数据的查询方法和查询装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310566602.9A CN103559300B (zh) 2013-11-13 2013-11-13 数据的查询方法和查询装置

Publications (2)

Publication Number Publication Date
CN103559300A CN103559300A (zh) 2014-02-05
CN103559300B true CN103559300B (zh) 2017-06-13

Family

ID=50013546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310566602.9A Active CN103559300B (zh) 2013-11-13 2013-11-13 数据的查询方法和查询装置

Country Status (1)

Country Link
CN (1) CN103559300B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104699788A (zh) * 2015-03-16 2015-06-10 百度在线网络技术(北京)有限公司 数据库查询方法和装置
CN106202102B (zh) * 2015-05-06 2019-04-05 华为技术有限公司 批量数据查询方法和装置
CN105630997A (zh) * 2015-12-24 2016-06-01 广州精点计算机科技有限公司 一种数据并行处理方法、装置及设备
CN108319722B (zh) * 2018-02-27 2020-12-04 北京小度信息科技有限公司 数据访问方法、装置、电子设备及计算机可读存储介质
CN108509501B (zh) * 2018-02-28 2022-07-26 成都国恒空间技术工程股份有限公司 一种查询处理方法、服务器及计算机可读存储介质
CN110399395B (zh) * 2018-04-18 2022-04-01 福建天泉教育科技有限公司 基于预计算的加速查询方法、存储介质
CN109299129A (zh) * 2018-09-05 2019-02-01 深圳壹账通智能科技有限公司 自然语言的数据查询方法、装置、计算机设备及存储介质
CN110096489A (zh) * 2019-04-30 2019-08-06 阿里巴巴集团控股有限公司 一种数据查询方法、系统、装置及电子设备
CN113297246B (zh) * 2020-06-16 2022-10-21 阿里巴巴集团控股有限公司 一种数据的处理方法、计算设备及存储介质
CN113821530A (zh) * 2021-09-26 2021-12-21 北京慧博科技有限公司 一种利用sql自动化分析客户留存率的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110074A (zh) * 2007-01-30 2008-01-23 浪潮乐金信息系统有限公司 基于文件系统缓存的数据加速查询方法
CN102117309A (zh) * 2010-01-06 2011-07-06 卓望数码技术(深圳)有限公司 一种数据缓存系统和数据查询方法
CN102122285A (zh) * 2010-01-11 2011-07-13 卓望数码技术(深圳)有限公司 一种数据缓存系统和数据查询方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110074A (zh) * 2007-01-30 2008-01-23 浪潮乐金信息系统有限公司 基于文件系统缓存的数据加速查询方法
CN102117309A (zh) * 2010-01-06 2011-07-06 卓望数码技术(深圳)有限公司 一种数据缓存系统和数据查询方法
CN102122285A (zh) * 2010-01-11 2011-07-13 卓望数码技术(深圳)有限公司 一种数据缓存系统和数据查询方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Pattern-Direct and Layout-Aware Replication Scheme for Parallel I/O Systems";Yanlong Yin et al.;《2013 IEEE 27th International Symposiun Parallel and Distributed Processing》;20130524;第345-356页 *
"一种数据库中间件的配置服务的研究和实现";宋怀明等;《小型微型计算机系统》;20070330;第28卷(第3期);第438-442页 *

Also Published As

Publication number Publication date
CN103559300A (zh) 2014-02-05

Similar Documents

Publication Publication Date Title
CN103559300B (zh) 数据的查询方法和查询装置
CN103902646B (zh) 一种分布式任务管理系统与方法
CN106156168B (zh) 在跨分区数据库中查询数据的方法及跨分区查询装置
CN104111958B (zh) 一种数据查询方法及装置
CN103345514B (zh) 大数据环境下的流式数据处理方法
CN105488201B (zh) 一种日志查询方法和系统
KR101870615B1 (ko) 추천 용어들을 제공하기 위한 방법 및 시스템
CN102831122B (zh) 工作流表的数据保存方法、查询方法及装置
CN104516979A (zh) 一种基于二次检索的数据查询方法及系统
CN107103032A (zh) 一种分布式环境下避免全局排序的海量数据分页查询方法
CN103177035A (zh) 一种在数据库中查询数据的装置及方法
US11308066B1 (en) Optimized database partitioning
Gupta et al. Faster as well as early measurements from big data predictive analytics model
CN104270412A (zh) 一种基于Hadoop分布式文件系统的三级缓存方法
CN106502875A (zh) 一种基于云计算的日志生成方法及系统
CN111258978A (zh) 一种数据存储的方法
CA3167981C (en) Offloading statistics collection
CN108664657A (zh) 一种大数据任务调度方法、电子设备、存储介质及平台
US8965879B2 (en) Unique join data caching method
CN109947729A (zh) 一种实时数据分析方法及装置
CN109117426A (zh) 分布式数据库查询方法、装置、设备及存储介质
CN103559307A (zh) 一种查询的缓存方法及装置
CN110781430B (zh) 互联网新型虚拟数据中心系统及其构造方法
CN110019152A (zh) 一种大数据清洗方法
CN110888909B (zh) 一种评估内容的数据统计处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant