CN110427390B - 数据查询方法及装置、存储介质、电子装置 - Google Patents
数据查询方法及装置、存储介质、电子装置 Download PDFInfo
- Publication number
- CN110427390B CN110427390B CN201910709110.8A CN201910709110A CN110427390B CN 110427390 B CN110427390 B CN 110427390B CN 201910709110 A CN201910709110 A CN 201910709110A CN 110427390 B CN110427390 B CN 110427390B
- Authority
- CN
- China
- Prior art keywords
- task
- query
- data
- fragments
- queried
- 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
Links
Images
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/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/2453—Query optimisation
- G06F16/24532—Query optimisation of parallel 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/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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24535—Query rewriting; Transformation of sub-queries or views
-
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据查询方法及装置、存储介质、电子装置,其中,上述方法包括:将目标任务均匀分割成N个任务分片;所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;确定所述N个任务分片对应的M个查询条件;所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
Description
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种数据查询方法及装置、存储介质、电子装置。
背景技术
知识图谱被用于描述事物之间的关联,其中一种知识图谱的具体描述方式包括图谱中的实体、关系、以及点/边相关的属性。除此之外,某些行业比如公安行业和金融行业,还需要图谱中点的轨迹。下面以公安行业为例子,如图1所示,假定自然人刘某某为知识图谱中的点,那么自然人刘某某与车有人车关系,与自然人李某某配偶关系等等,除了这些看得到的显性关系,自然人还有自己的轨迹,也就是去过哪些地方,做过哪些事情,如下表1所示,刘某某做过三次火车,住过两次酒店。
更新时间 | 时间描述 |
2015-02-21 | K610 北京 邢台 2015-02-21 |
2014-03-31 | K610 北京 邢台 2014-03-31 |
2013-05-08 | K610 北京 邢台 2013-05-08 |
2012-06-15 | 雅斯特酒店(文化广场店)102南宁宾阳县 |
2011-07-24 | 南宁宾阳艾尚主题酒店290南宁宾阳县 |
表1
在这种知识图谱的大数据应用场景中,往往要对大量的图和相应的时空轨迹做查询。对于如此大量的数据,由于计算机资源的限制,以及计算机的性能比较差等原因,会导致查询速度慢。
针对相关技术中,在对大量数据进行查询时,无法快速查询大量数据,导致查询速度慢等问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种数据查询方法及装置、存储介质、电子装置,以至少解决相关技术中,在对大量数据进行查询时,无法快速查询大量数据,导致查询速度慢等问题。
根据本发明的一个实施例,提供了一种数据查询方法,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
在本发明实施例中,所述将目标任务均匀分割成N个任务分片,包括:按照所述目标任务中的时间信息将所述目标任务均匀分割成所述N个任务分片,其中,所述时间信息至少包括以下之一:所述目标任务的开始时间,所述目标任务的结束时间。
在本发明实施例中,所述将目标任务均匀分割成N个任务分片,包括:设置所述N个任务分片中每个任务分片对应的所述预设阈值;在所述N个任务分片中的每个任务分片的所要查询的数据容量均小于所述预设阈值的情况下,将所述目标任务均匀分割成所述N个任务分片。
在本发明实施例中,按照所述M个查询条件并行查询所述N个任务分片所要查询的数据,包括:将所述M个查询条件均匀分配到M个查询执行单元,通过所述M个查询执行单元并行查询所述N个任务分片。
在本发明实施例中,所述目标任务:包括实体型任务、关系型任务、事件型任务。
在本发明实施例中,在按照所述M个查询条件并行查询所述N个任务分片所要查询的数据之后,所述方法还包括:显示按照所述M个查询条件并行查询所述N个任务分片所要查询的数据的查询结果。
根据本发明的另一个实施例,还提供了一种数据查询装置,包括:处理模块,用于将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
确定模块,用于确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
查询模块,用于按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
在本发明实施例中,所述处理模块,还用于按照所述目标任务中的时间信息将所述目标任务均匀分割成所述N个任务分片,其中,所述时间信息至少包括以下之一:所述目标任务的开始时间,所述目标任务的结束时间。
在本发明实施例中,所述处理模块,还用于设置所述N个任务分片中每个任务分片对应的所述预设阈值;在所述N个任务分片中的每个任务分片的所要查询的数据容量均小于所述预设阈值的情况下,将所述目标任务均匀分割成所述N个任务分片。
在本发明实施例中,所述查询模块,还用于将所述M个查询条件均匀分配到M个查询执行单元,通过所述M个查询执行单元并行查询所述N个任务分片。
根据本发明的另一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行以上任一项所述的数据查询方法。
根据本发明的另一个实施例,还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行以上任一项所述的数据查询方法。
通过本发明,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;按照所述M个查询条件并行查询所述N个任务分片所要查询的数据,采用上述技术方案,解决了相关技术中,在对大量数据进行查询时,无法快速查询大量数据,导致查询速度慢等问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中一种某行业的知识图谱的示意图;
图2是根据本发明实施例的一种可选的数据查询方法的流程图;
图3是根据本发明实施例的一种可选的数据查询装置的结构框图;
图4是根据本发明实施例的一种可选的分割目标任务的示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例提供了一种数据查询方法,图2是根据本发明实施例的一种可选的数据查询方法的流程图,如图2所示,包括:
步骤S202,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
步骤S204,确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
步骤S206,按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
通过本发明,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;按照所述M个查询条件并行查询所述N个任务分片所要查询的数据,采用上述技术方案,解决了相关技术中,在对大量数据进行查询时,无法快速查询大量数据,导致查询速度慢等问题。
在本发明实施例中,步骤S202可以通过以下技术方案实现:按照所述目标任务中的时间信息将所述目标任务均匀分割成所述N个任务分片,其中,所述时间信息至少包括以下之一:所述目标任务的开始时间,所述目标任务的结束时间。
在本发明实施例中,步骤S202还可以通过以下技术方案实现:设置所述N个任务分片中每个任务分片对应的所述预设阈值;在所述N个任务分片中的每个任务分片的所要查询的数据容量均小于所述预设阈值的情况下,将所述目标任务均匀分割成所述N个任务分片。
在本发明实施例中,步骤S206可以通过以下技术方案实现:将所述M个查询条件均匀分配到M个查询执行单元,通过所述M个查询执行单元并行查询所述N个任务分片。
在本发明实施例中,所述目标任务:包括实体型任务、关系型任务、事件型任务。
在本发明实施例中,在按照所述M个查询条件并行查询所述N个任务分片所要查询的数据之后,所述方法还包括:
显示按照所述M个查询条件并行查询所述N个任务分片所要查询的数据的查询结果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种数据查询装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本发明实施例的一种可选的数据查询装置的结构框图,如图3所示,该装置包括:
处理模块30,用于将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
确定模块32,用于确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
查询模块34,用于按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
通过本发明,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;按照所述M个查询条件并行查询所述N个任务分片所要查询的数据,采用上述技术方案,解决了相关技术中,在对大量数据进行查询时,无法快速查询大量数据,导致查询速度慢等问题。
在本发明实施例中,如图3所示,所述处理模块30,还用于按照所述目标任务中的时间信息将所述目标任务均匀分割成所述N个任务分片,其中,所述时间信息至少包括以下之一:所述目标任务的开始时间,所述目标任务的结束时间。
在本发明实施例中,如图3所示,所述处理模块30,还用于设置所述N个任务分片中每个任务分片对应的所述预设阈值;在所述N个任务分片中的每个任务分片的所要查询的数据容量均小于所述预设阈值的情况下,将所述目标任务均匀分割成所述N个任务分片。
在本发明实施例中,如图3所示,所述查询模块34,还用于将所述M个查询条件均匀分配到M个查询执行单元,通过所述M个查询执行单元并行查询所述N个任务分片。
以下结合一示例对上述数据查询过程进行进一步说明,但不用于限定本发明实施例的技术方案。
如图4所示,将目标任务均匀分割成N个任务分片,以使通过该N个任务分片同时并行执行该目标任务;
需要说明的是,在附图4中,
1)bucket,即数据查询的桶,每个桶里存放需要查询数据,桶的概念类似于把数据切成很多片,每一片放到一个桶里面,计算的时候从里面获取。可以理解,将目标任务均匀分割成N个任务分片,每个任务分片中都包含了所要查询的数据。也就是说,每个bucket中的数据对应于上述N个任务分片中的其中一个任务分片所要查询的数据。
2)executor,即真正执行查询的执行单元,每个executor执行对一个或多个bucket数据的查询条件。
3)driver,即executor的任务执行的协调和汇总单元,负责前期bucket拆分,下发bucket给各executor执行,并在所有的executor执行任务完成后,对计算结果进行汇总、统计,存储等操作。
4)query result,即每个executor执行完查询任务之后对应的查询结果。
5)result,即对所有的query的查询结果进行汇总之后的总的查询结果。
6)query condition,即查询条件。
其中,分割所述目标任务需要满足以下条件:
首先,需要保证每个并行查询中,每个分片查询的数据是唯一的,如出现多个分片查询重复冗余数据,则会对对查询效率和查询准确率产生影响。
其次,需要保证并行查询中的每个分片的数据平衡问题。由于查询的效率问题往往取决与并行任务的最短板,也就是查询的数据量最大的那个分片,如果每个分片的数据不平衡则会出现数据倾斜的情况,导致查询效率低下。
最后,driver拆分查询条件时,需要保证每个bucket中查询的数据均衡性,即每一个bucket中的数据量不会超过一个自定义的最大值(bucket_size),即需要预判(即count)bucket中数据量大小。
具体的,driver将这些拆分好的bucket查询条件均匀分配到每个executor去支持查询和计算。知识图谱中各类数据,即实体、关系、事件等,在分桶(即上述将目标任务分割成N个任务分片)规则上会有一些细微差别,但总体查询结构不变。
以下结合优选实施例对上述数据查询过程进行进一步说明,但不用于限定本发明实施例的技术方案。
优选实施例1:对于无明显数值意义的任务来说(如实体任务,在查询过程中可以根据特征属性而非时间进行查询),可以创造条件进行数值分桶。以实体任务为例,为每个实体任务添加属性过程中,为每个实体添加一个字段并建立索引,可以以_part_id命名,其中,_part_id的值可以是实体主键的哈希值模取余获取。在进行实体查询时基于_part_id做拆分bucket操作,并加入查询条件,基于_part_id的并行查询过程的具体步骤如下:
步骤1,生成_part_id;其中,_part_id生成过程如下所述:
1)取实体主键key,自定义模空间大小mod_size,如mod_size=10000;
2)取主键hashcode值进行取模操作,_part_id=hash(key)%mod_size
3)为实体添加_part_id字段索引值。
步骤2,基于_part_id的并行查询,具体查询过程如下:
1)生成bucket条件组的函数gen_bucket_condition伪代码如下,此过程在driver中进行,bucket区间内数据量小于bucket_size时,则加入条件组;bucket区间内数据量大于bucket_size的则继续拆分;bucket区间内数据量为0的条件直接丢弃。部分代码如下:
2)在driver中,设置查询的条件为condition,driver设置桶最大容量为bucket_size=100000,bucket空间初始值为low,结束值为top,合并区间后的查询条件为condition`=merge(condition,low,top)。对当前condition`进行计数操作,count=count(condition`)。
3)在driver中设置初始化low值为0,初始化top值为mod_size,将其带入递归函数gen_bucket_condition(condition,low,top)用于生成bucket条件组,只有当其count值小于bucket_size为止。此过程会将bucket不断拆分,直到满足每个bucket中数据请求量符合bucket预期的size。
4)driver将生成的condition_list组平均发送给每个executor,各executor分别并行执行当前容器内的condition。各executor执行完后通过reduce过程进行数据的汇总,如存储或其他图计算操作。
步骤3,分布式查询任务调度,具体过程如下:
1)将基于_part_id或时间拆分后的查询条件组通过SparkContext的方法parallelized()生成并行化数据集RDD1,在集群进行分发,保证查询过程分布式进行。
2)执行transformation算子,父数据集RDD1生成子数据集RDD2,该阶段将查询操作以参数形式延迟加载到转换过程中,并不执行查询操作。
3)执行action算子,触发SparkContext提交job作业,各executor分区执行得到的查询条件,并通过cache()操作将各将RDD2查询结果缓存在内存中,内存不够的节点则将结果持久化到磁盘文件系统。自此分布式查询过程完毕。
4)driver将RDD2计算结果反馈给客户端,整个查询过程完毕。
优选实施例2:对于bucket拆分的依据,时间具有数值属性,可以将时间当做数值型索引进行查询,即可以采用时间作为拆分bucket的条件,例如,事件类任务通常会包含事件发生的起始时间和终止时间。基于时间的并行查询过程的具体步骤如下:
步骤1,基于时间进行并行查询;
1)查询过程类似与上述基于_part_id的并行查询过程,这里的查询区间换成时间区间,start_time和end_time,时间格式转换为TIMESTAMP格式。不存在的时间区间则使用默认区间,如最近一个月的时间段。这里设置low=start_time,top=end_time带入gen_bucket_condition函数,生成bucket分组。
2),参考优选实施例1中步骤2中的2)-4)中所示的具体实现方式,在此不再赘述。
步骤2,分布式查询任务调度,具体过程可以参考上述优选实施例1中步骤3中所示的具体实现方式,在此不再赘述。
表2
举例来说,可以通过时空轨迹(即时间信息)进行索引查询,当查询日期为2019-01-02,姓名为刘三时,可以得到如表2所示的信息:
通过实体人的入住酒店信息,只需要扫描两行就可以查询到想要的信息,查询速度快。
可见,通过上述技术方案以及优选实施例的技术方案,以知识图谱大批量查询为背景,进行大批量查询时为了提高查询速度,需要增加并行度,但是在增加并行度的同时,无法避免数据倾斜的问题,采用本发明中的技术方案,通过使并行的每个分片的查询数据量尽量保持平衡,能够提高查询速度,并保证查询过程中的稳定性。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
S2,确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
S3,按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
S2,确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
S3,按照所述M个查询条件并行查询所述N个任务分片所要查询的数据。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据查询方法,其特征在于,包括:
将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数且M大于1,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
按照所述M个查询条件并行查询所述N个任务分片所要查询的数据;
其中,按照所述M个查询条件并行查询所述N个任务分片所要查询的数据,包括:将所述M个查询条件均匀分配到M个查询执行单元,通过所述M个查询执行单元并行查询所述N个任务分片。
2.根据权利要求1所述的方法,其特征在于,所述将目标任务均匀分割成N个任务分片,包括:
按照所述目标任务中的时间信息将所述目标任务均匀分割成所述N个任务分片,其中,所述时间信息至少包括以下之一:所述目标任务的开始时间,所述目标任务的结束时间。
3.根据权利要求1所述的方法,其特征在于,所述将目标任务均匀分割成N个任务分片,包括:
设置所述N个任务分片中每个任务分片对应的所述预设阈值;
在所述N个任务分片中的每个任务分片的所要查询的数据容量均小于所述预设阈值的情况下,将所述目标任务均匀分割成所述N个任务分片。
4.一种数据查询装置,其特征在于,包括:
处理模块,用于将目标任务均匀分割成N个任务分片;其中,所述N个任务分片中的任意两两任务分片之间的所要查询的数据内容互不相同;所述N个任务分片中的每个任务分片的所要查询的数据容量小于预设阈值,所述预设阈值用于表示所述每个任务分片所要查询的数据的最大数据容量,所述N为大于1的整数;
确定模块,用于确定所述N个任务分片对应的M个查询条件;其中,所述M个查询条件中的每个查询条件对应所述N个任务分片中的一个或多个任务分片;所述M为小于或等于N的整数且M大于1,所述M个查询条件用于查询所述N个任务分片所要查询的数据;
查询模块,用于按照所述M个查询条件并行查询所述N个任务分片所要查询的数据;
所述查询模块,还用于将所述M个查询条件均匀分配到M个查询执行单元,通过所述M个查询执行单元并行查询所述N个任务分片。
5.根据权利要求4所述的装置,其特征在于,所述处理模块,还用于按照所述目标任务中的时间信息将所述目标任务均匀分割成所述N个任务分片,其中,所述时间信息至少包括以下之一:所述目标任务的开始时间,所述目标任务的结束时间。
6.根据权利要求4所述的装置,其特征在于,所述处理模块,还用于设置所述N个任务分片中每个任务分片对应的所述预设阈值;在所述N个任务分片中的每个任务分片的所要查询的数据容量均小于所述预设阈值的情况下,将所述目标任务均匀分割成所述N个任务分片。
7.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至3任一项中所述的方法。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至3任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910709110.8A CN110427390B (zh) | 2019-08-01 | 2019-08-01 | 数据查询方法及装置、存储介质、电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910709110.8A CN110427390B (zh) | 2019-08-01 | 2019-08-01 | 数据查询方法及装置、存储介质、电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110427390A CN110427390A (zh) | 2019-11-08 |
CN110427390B true CN110427390B (zh) | 2022-09-27 |
Family
ID=68413874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910709110.8A Active CN110427390B (zh) | 2019-08-01 | 2019-08-01 | 数据查询方法及装置、存储介质、电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110427390B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111767252A (zh) * | 2020-06-30 | 2020-10-13 | 平安科技(深圳)有限公司 | 日志查询方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407190A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN109241159A (zh) * | 2018-08-07 | 2019-01-18 | 威富通科技有限公司 | 一种数据立方体的分区查询方法、系统及终端设备 |
-
2019
- 2019-08-01 CN CN201910709110.8A patent/CN110427390B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407190A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN107657058A (zh) * | 2017-10-19 | 2018-02-02 | 上海大汉三通数据通信有限公司 | 一种数据的查询方法及相关装置 |
CN109241159A (zh) * | 2018-08-07 | 2019-01-18 | 威富通科技有限公司 | 一种数据立方体的分区查询方法、系统及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110427390A (zh) | 2019-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230141556A1 (en) | Structured cluster execution for data streams | |
US11422853B2 (en) | Dynamic tree determination for data processing | |
US9934276B2 (en) | Systems and methods for fault tolerant, adaptive execution of arbitrary queries at low latency | |
US9996593B1 (en) | Parallel processing framework | |
CN102968498A (zh) | 数据处理方法及装置 | |
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
US20160179836A1 (en) | Method for updating data table of keyvalue database and apparatus for updating table data | |
CN105100050A (zh) | 用户权限管理方法及系统 | |
CN110941602B (zh) | 数据库的配置方法、装置、电子设备及存储介质 | |
US10929362B2 (en) | Adaptive query processor for query systems with limited capabilities | |
CN111324606A (zh) | 数据分片的方法及装置 | |
US10162830B2 (en) | Systems and methods for dynamic partitioning in distributed environments | |
US20210365300A9 (en) | Systems and methods for dynamic partitioning in distributed environments | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
CN110427390B (zh) | 数据查询方法及装置、存储介质、电子装置 | |
US20180293317A1 (en) | Prefix matching using distributed tables for storage services compatibility | |
CN108763381B (zh) | 基于一致性哈希算法的分表方法及设备 | |
CN115525655A (zh) | 一种数据查询切片的方法和系统 | |
JP2011216029A (ja) | 分散メモリデータベースシステム、データベースサーバ、データ処理方法およびそのプログラム | |
CN110929207B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
Golab et al. | Distributed data placement via graph partitioning | |
CN113868267A (zh) | 注入时序数据的方法、查询时序数据的方法及数据库系统 | |
Jenifer et al. | A method of reducing the skew in reducer phase—Block chain algorithm | |
CN110928895A (zh) | 一种数据查询、数据表建立方法、装置及设备 | |
US11442792B2 (en) | Systems and methods for dynamic partitioning in distributed environments |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |