CN103838632B - 数据查询方法及装置 - Google Patents
数据查询方法及装置 Download PDFInfo
- Publication number
- CN103838632B CN103838632B CN201210477543.3A CN201210477543A CN103838632B CN 103838632 B CN103838632 B CN 103838632B CN 201210477543 A CN201210477543 A CN 201210477543A CN 103838632 B CN103838632 B CN 103838632B
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- expected
- mark
- input
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据查询方法及装置。包括:获取查询请求,其中,查询请求包括任务的标识以及任务预计需要的资源的数量N;判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定;在任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的情况下,对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M;使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。通过本申请的数据查询方法及装置,解决了现有技术中由于系统在处理任务时分配任务资源不准确,导致任务的处理速度缓慢且浪费资源的问题,实现了合理分配执行任务的资源,从而加快系统处理任务的速度的效果。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种数据查询方法及装置。
背景技术
在现有技术中,用户提交计算请求至数据仓库计算平台,提交至数据仓库平台的类SQL语句会转换为映射化简命令来执行,执行过程中,映射化简命令会为映射计算和化简计算分配计算资源,其中,数据仓库估算化简任务数(即任务预计需要的资源的数量)以便为化简计算分配计算资源的方法如下:
(1)判断任务是否需要进行化简操作,如不需要化简操作,将化简任务数设置为0,然后跳出;如需要进行化简操作则执行步骤(2);
(2)判断是否在编译时确定化简的任务数为1(即化简任务数,也即化简任务的数量),如果在编译时确定化简任务数为1,则将化简任务数设置为1,然后跳出;如果不是在编译时确定化简任务数为1,则执行步骤(3),其中,
(3)判断任务是否已经手动设置化简任务数,如果已经手动设置化简任务数,则将化简任务数设置为此手动设置的值,跳出;如果没有手动设置化简任务数,则执行步骤(4);
(4)根据映射的输入大小(即map_input_bytes,映射任务时所输入的输入值)估算化简任务数,默认为将映射的输入的1G Bytes估算为1个化简任务数,根据映射的输入大小估算的化简任务数设置此任务的化简任务数。
对于上述数据仓库估算化简任务数方法的步骤(4),数据仓库计算平台根据映射的输入大小估算映射化简任务的化简任务数,这种方法估算出的化简任务数不准确,导致任务运行缓慢或者资源浪费,为了解决此问题,现有技术中的化简任务数自动优化系统可以对数据仓库计算平台估算的化简任务数进行自动优化。
图1是根据本申请现有技术的化简优化方法的流程图。如图1所示,该方法包括如下步骤:
步骤A:根据HQL语句进行计算,以获取HQL的指纹信息;
步骤B:对HQL语句进行解析,获取任务数据集;
步骤C:根据指纹信息获取任务历史日志数据,估算并设置任务数据集中的化简任务数,以获取处理后的任务;
步骤D:提交并执行处理后的任务数据集中的映射化简任务;
步骤E:解析映射化简任务的执行日志并将执行日志保存在数据库中。
由上述数据仓库计算平台估算化简任务数的方法可知,上述方法步骤C中,对于化简任务数不为1的映射化简任务的化简任务数重新估算并设置,而对于数据仓库计算平台估算的化简任务数为1的映射化简任务不进行重新估算和设置,这样化简自动优化系统对化简任务数优化的结果就不准确,从而使得系统分配给执行该任务的资源不准确,从而导致任务的处理速度缓慢。
针对现有技术中由于系统在处理任务时分配任务资源不准确,导致任务的处理速度缓慢且浪费资源的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术由于数据仓库计算平台在处理任务时估算化简任务数不准确,导致任务的处理速度缓慢且浪费资源的问题,目前尚未提出有效的解决方案,为此,本申请的主要目的在于提供一种数据查询方法及装置,以解决上述问题。
为了实现上述目的,本申请提供了一种数据查询方法,包括:获取查询请求,其中,查询请求包括任务的标识以及任务预计需要的资源的数量N;判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定;在任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的情况下,对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M;使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
进一步地,在判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定之后,方法还包括:在任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的情况下,为任务分配N个资源,并使用N个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
进一步地,判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定的步骤包括:获取任务的标识;检测任务的标识中是否设置有标签,其中,标签用于指示任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定的;在任务的标识中设置有标签的情况下,得到任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的判断结果;在任务的标识中没有设置标签的情况下,得到任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的判断结果。
进一步地,在判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定之前,方法还包括:获取任务预计需要的资源的数量N;根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识。
进一步地,根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识的步骤包括:判断任务预计需要的资源的数量N是否为1;在任务预计需要的资源的数量N为1的情况下,获取任务的当前标识,并将标签设置在当前标识中,其中,将设置有标签的当前标识作为处理后的任务的标识。
进一步地,获取任务预计需要的资源的数量N的步骤包括:获取任务集,其中任务集包括查询请求中的所有任务的标识;判断任务集是否为空;在任务集不为空的情况下,提取任务集中的任务的标识,并根据任务的标识判断任务是否为化简任务,在任务为化简任务的情况下,从查询请求中提取任务预计需要的资源的数量N。
进一步地,在任务预计所需要的资源的数量N是由映射任务所输入的输入值确定的情况下,对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M的步骤包括:根据查询请求提取任务的指纹信息,并根据指纹信息从数据库中提取计算当前为任务分配的资源的数量M所需要的历史数据;根据历史数据对任务预计所需要的资源的数量N进行更新得到当前为任务分配的资源的数量M。
为了实现上述目的,本申请提供了一种数据查询装置,包括:第一获取模块,用于获取查询请求,其中,查询请求包括任务的标识以及任务预计需要的资源的数量N;第一判断模块,用于判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定;第一处理模块,用于在任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的情况下,对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M;第一执行模块,用于使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
进一步地,在执行第一判断模块之后,装置还包括:第二处理模块,用于在任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的情况下,为任务分配N个资源,并使用N个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
进一步地,第一判断模块包括:第二获取模块,用于获取任务的标识;第一检测模块,用于检测任务的标识中是否设置有标签,其中,标签用于指示任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定的;第三处理模块,用于在任务的标识中设置有标签的情况下,得到任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的判断结果;第四处理模块,用于在任务的标识中没有设置标签的情况下,得到任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的判断结果。
进一步地,在执行第一判断模块之前,装置还包括:第三获取模块,用于获取任务预计需要的资源的数量N;第五处理模块,用于根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识。
进一步地,第五处理模块包括:第二判断模块,用于判断任务预计需要的资源的数量N是否为1;第六处理模块,用于在任务预计需要的资源的数量N为1的情况下,获取任务的当前标识,并将标签设置在当前标识中,其中,将设置有标签的当前标识作为处理后的任务的标识。
进一步地,第三获取模块包括:第一子获取模块,用于获取任务集,其中任务集包括查询请求中的所有任务的标识;第三判断模块,用于判断任务集是否为空;第四判断模块,用于在任务集不为空的情况下,提取任务集中的任务的标识,并根据任务的标识判断任务是否为化简任务,在任务为化简任务的情况下,从查询请求中提取任务预计需要的资源的数量N。
进一步地,第一处理模块包括:第一提取模块,用于根据查询请求提取任务的指纹信息,并根据指纹信息从数据库中提取与计算当前为任务分配的资源的数量M所需要的历史数据;第一计算模块,用于根据历史数据对任务预计所需要的资源的数量N进行更新得到当前为任务分配的资源的数量M。
通过本申请的数据查询方法及装置,在对任务预计需要的资源的数量进行更新之前,判断任务预计需要的资源的数量是否根据映射任务所输入的输入值确定,使得系统可以分辨出任务预计需要的资源的数量N为1是不是编译时确定的,从而在任务预计需要的资源的数量N为1是根据映射任务所输入的输入值确定的情况下,才对任务预计需要的资源的数量为1的任务进行更新,从而解决了现有技术中由于系统在处理任务时分配任务资源不准确,导致任务的处理速度缓慢且浪费资源的问题,实现了合理分配执行任务的资源,从而加快系统处理任务的速度的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请现有技术的化简优化方法的流程图;
图2是根据本申请实施例的数据查询装置的结构示意图;
图3是根据本申请实施例的数据查询方法的流程图;
图4是根据图3所示的数据查询方法的详细流程图;以及
图5是根据图4所示的数据查询方法的详细流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图2是根据本申请实施例的数据处理装置的结构示意图。如图2所示,该装置包括:第一获取模块10、第一判断模块30、第一处理模块50以及第一执行模块70,其中,第一获取模块10,用于获取查询请求,其中,查询请求包括任务的标识以及任务预计需要的资源的数量N;第一判断模块30,用于判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定;第一处理模块50,用于在任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的情况下,对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M;第一执行模块70,用于使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
其中,上述实施例中的映射任务为Map任务,任务为化简任务,化简任务为Reduce任务,任务预计所需要的资源的数量N可以是Reduce任务的任务数量,系统根据Reduce任务的数量为Reduce任务分配计算资源,映射任务所输入的输入值为系统在执行Map任务根据查询请求读取的输入文件的大小,可以根据映射任务所输入的输入文件的大小进行估算得到任务预计所需的资源的数量N,然后系统根据数量N为Reduce任务分配计算资源。
采用本申请的数据查询装置,在第一获取模块获取用户的查询请求之后,第一判断模块判断查询请求包括的任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定,然后第一处理模块在任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的情况下,对任务预计所需的资源的数量N进行更新得到当前为任务分配的资源的数量M,之后第一执行模块使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。由于任务预计需要的资源的数量N为1可以是在编译时确定的,也可以是根据映射的输入大小确定的,但是现有的化简优化系统对任务预计需要的资源的数量N进行优化时,无法确定任务预计需要的资源的数量是编译时确定还是根据映射任务所输入的输入值确定,而不对任务预计需要的资源的数量为1的化简任务进行优化,而通过本申请的数据查询装置,在对任务预计需要的资源的数量进行更新之前,判断任务预计需要的资源的数量是否根据映射任务所输入的输入值确定,使得系统可以分辨出任务预计需要的资源的数量N为1是不是编译时确定的,从而在任务预计需要的资源的数量N为1是根据映射任务所输入的输入值确定的情况下,才对任务预计需要的资源的数量为1的任务进行更新,从而解决了现有技术中由于系统在处理任务时分配任务资源不准确,导致任务的处理速度缓慢且浪费资源的问题,实现了合理分配执行任务的资源,从而加快系统处理任务的速度的效果。
具体地,上述查询方法可以应用于数据仓库计算平台,查询请求可以包括用户查询分析数据的请求,例如,用户查询电子商务网站销售量、分析交易额、查询买家(在电子商务网站上购买商品的用户)购买商品的数量或类型等等对电子商务网站中的数据进行各个纬度的数据的分析处理请求。数据仓库计算平台在获取到用户输入的查询请求之后,将获取到的查询请求转换为映射化简任务(即MapReduce任务)来执行,MapReduce任务包括Map任务和Reduce任务,数据仓库计算平台会分别为Map任务和Reduce任务分配计算资源(也即处理该Reduce任务所需要的计算资源),在执行Map任务时,系统根据查询请求从数据库中读取处理该请求所需要的文件,并将文件中的数据进行初步处理以获取初始值,然后执行Reduce任务对上述初始值进行计算,获取处理该查询请求的最终结果。其中,从数据库中读取处理该请求所需要的文件即为输入文件,输入文件的大小即为上述的映射任务所输入的输入值,另外,任务预计所需要的资源的数量N除了可以根据映射任务所输入的输入值确定,还可以是编译时确定,编译时确定即为上述将提交到数据仓库计算平台的类SQL语言转换为MapReduce任务时确定,在编译时确定的任务预计所需要的资源的数量N是该任务固有的信息,也即与该查询请求的属性相关的信息。
例如,用户查询电子商务网站某天的总交易额,则该查询请求所需要获取的结果为当天所有交易额的总和,数据仓库计算平台获取到该请求之后,首先将该请求转换为MapReduce任务,该任务的Reduce任务的任务预计所需要的资源的数量N(即任务数)在转换的过程中确定为1,由于用户需要获取的是当天的总交易额,最终获取的只能是一个数据,这个任务数即为编译时确定的,是与该查询请求属性相关的,是不可以进行更新的。
又如,用户查询电子商务网站某天的A、B、C、D四个地区的交易额,数据仓库计算平台获取到该请求之后,将该请求转换为MapReduce任务,该任务中可以包括100个Map任务和3个Reduce任务,根据查询请求获取执行Map任务所需要的文件为X和Y(其中,X和Y中存储有A、B、C、D四个地区某天当天的交易记录),这两个文件即为输入文件,假设这两个文件的大小为10T字节,则10T即为输入文件的大小,也即映射任务输入的输入值,系统可以根据10T对Reduce任务的任务数量进行估算,估算结果为1,在本申请的上述实施例中,数据仓库计算平台判断确定任务预计所需要的资源的数量N(也可以是Reduce任务的任务数量)是根据映射任务所输入的输入值确定,则对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M,其中,假设X包括A和B地区的交易额,大小为5T字节,Y包括C和D地区的交易额,大小为5T字节,则可以将Reduce任务的任务数量更新为2个,并分别计算获取A、B、C、D四个地区的交易额。
具体地,将上述实施例应用于数据仓库计算平台时,数据仓库计算平台通过第一获取模块10获取用户输入的查询请求之后,将该查询请求转换为计算平台可识别的MapReduce任务,在转换的过程中为Reduce任务分配计算资源,这里的资源可以用任务预计需要的资源的数量N来表示,在平台的第一执行模块70使用N个资源执行上述任务之前,通过第一判断模块30判断该任务预计需要的资源的数量N是否根据Map任务所输入的输入值确定,然后第一处理模块50在任务预计所需要的资源的数量N是根据Map任务所输入的输入值确定的情况下,对任务预计所需的资源的数量N进行更新得到当前为任务分配的资源的数量M,然后根据更新后的当前为任务分配的资源的数量M,为该任务分配资源,并通过第一执行模块70使用M个资源执行任务,以得到与查询请求对应的查询结果。在数据仓库计算平台获取到的查询请求中可能包括一个或多个Reduce任务,在为Reduce任务分配资源之前,都通过上述方法判断Reduce任务预计需要的资源的数量N是否根据Map任务所输入的输入值确定,然后根据判断结果对任务预计需要的资源的数量N进行优化,并根据优化结果为Reduce任务分配资源,并执行该任务,获取查询结果。通过上述方法,数据仓库计算平台可以对所有根据Map任务所输入的输入值确定的任务预计需要的资源的数量N进行优化,以便于为Reduce任务分配更合理的资源,从而加快处理请求的速度。
在本申请的上述实施例中,在执行第一判断模块30之后,该装置还可以包括:第二处理模块,用于在任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的情况下,为任务分配N个资源,并使用N个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
具体地,在执行第一判断模块30判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定之后,第二处理模块在任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的情况下,为任务分配N个资源,并使用N个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
在本申请的上述实施例中,第一判断模块30可以包括:第二获取模块,用于获取任务的标识;第一检测模块,用于检测任务的标识中是否设置有标签,其中,标签用于指示任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定的;第三处理模块,用于在任务的标识中设置有标签的情况下,得到任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的判断结果;第四处理模块,用于在任务的标识中没有设置标签的情况下,得到任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的判断结果。
具体地,在第一获取模块10获取到查询请求之后,第一判断模块30判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定,该执行过程可以通过第二获取模块获取任务的标识,之后第一检测模块对任务的标识中是否设置有标签,这个标签可以用来指示任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的,第三处理模块在任务的标识中设置有标签的情况下,得到任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的判断结果,第四处理模块,在任务的标识中没有设置标签的情况下,得到任务预计所需要的资源的数量N是根据Map任务所输入的输入值确定的判断结果。然后第一处理模块50根据第一判断模块30的判断结果,对根据Map任务所输入的输入值确定的任务预计所需要的资源的数量N进行更新处理,得到当前为任务分配的资源的数量M,第一执行模块70使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。通过上述实施例,第一处理模块50不会对设置标签的任务的标识进行更新处理,也即只会对根据Map任务所输入的输入值确定的任务预计所需要的资源的数量N进行更新处理,从而大大缩短了处理查询请求的时间,进而加快了对用户请求的处理速度。
根据本申请的上述实施例,在执行第一判断模块10之前,装置还可以包括:第三获取模块,用于获取任务预计需要的资源的数量N;第五处理模块,用于根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识。
具体地,在执行第一判断模块30之前,装置还可以通过第三获取模块获取查询请求中包括的任务预计需要的资源的数量N,然后第五处理模块根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识。根据上述实施例,第一检测模块就可以根据第五处理模块处理之后的任务的标识,检测出任务的标识中是否设置有标签,然后第三处理模块和第四处理模块根据第一检测模块检测的结果得出任务预计需要的资源的数量N是否根据Map任务所输入的输入值确定的判断结果,以便于第一处理模块50根据该判断结果对请求进行后续的处理。通过上述实施例,第一处理模块50不会对设置标签的任务的标识进行更新处理,只对没有设置标签的任务的标识进行更新处理,从而大大缩短了处理查询请求的时间,进而加快了对用户请求的处理速度。
在本申请的上述实施例中,第五处理模块可以包括:第二判断模块,用于判断任务预计需要的资源的数量N是否为1;第六处理模块,用于在任务预计需要的资源的数量N为1的情况下,获取任务的当前标识,并将标签设置在当前标识中,其中,将设置有标签的当前标识作为处理后的任务的标识。
具体地,第五处理模块的第二判断模块判断第三获取模块获取到的任务预计需要的资源的数量N是否为1,然后第六处理模块在任务预计需要的资源的数量N为1的情况下,获取任务的当前标识,并将标签设置在当前标识中,并将设置有标签的当前标识作为处理后的任务的标识。将上述实施例应用在数据仓库计算平台时,当用户输入查询请求时,数据仓库计算平台将该输入的请求进行编译,将该任务转换为MapReduce任务,在编译完成之后的查询请求中包括了Reduce任务的标识和任务预计需要的资源的数量N的信息,第三获取模块获取该任务预计需要的资源的数量N的信息,之后第二判断模块判断该任务预计需要的资源的数量N是否为1,然后第六处理模块在该任务预计需要的资源的数量N为1的情况下,获取任务的当前标识,在当前标识中设置标签,并将设置有标签的当前标识作为处理后的任务的标识,再由第一处理模块10对上述处理后的任务的标识进行更新处理,得到当前为任务分配的资源的数量M,最后通过第一执行模块70使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
例如,用户在数据仓库计算平台输入了查询所有品牌A的MP3销量的查询请求,数据仓库计算平台将该请求进行编译(即上述的转换过程),编译之后的任务需要Reduce操作且编译确定的Reduce数(即Reduce任务预计需要的资源的数量N)不为1,而根据Map输入文件的大小估算的Reduce数为1,此时可对该Reduce数进行优化,以便于为处理该任务分配更合理的资源。具体到本实施例中,在编译之后的Reduce任务预计需要的资源的数量N不为1的情况下,通过第六处理模块对该Reduce任务打标签(即可以在Reduce任务的标识中设置标签),这样即使估算后的Reduce数为1,第一处理模块50也要对该Reduce任务预计需要的资源的个数N(此时N=1)进行资源优化,优化后可能将当前为任务分配的资源的数量M确定为8,这样就实现了第一处理模块50可以对根据任务读取的输入文件的大小确定的Reduce任务预计所需的资源的个数N(在该实施例中N=1)进行更新处理,然后使用更新处理后的M个(此处M=8)资源执行该任务,从而合理的分配计算资源,缩短了处理时间,加快了处理请求的速度。
在本申请的上述实施中,第三获取模块可以包括:第一子获取模块,用于获取任务集,其中任务集包括查询请求中的所有任务的标识;第三判断模块,用于判断任务集是否为空;第四判断模块,用于在任务集不为空的情况下,提取任务集中的任务的标识,并根据任务的标识判断任务是否为化简任务,在任务为化简任务的情况下,从查询请求中提取任务预计需要的资源的数量N。
具体地,第一子获取模块获取任务集,然后第三判断模块判断任务集是否为空,第四判断模块在该任务数据集不为空的情况下,提取任务集中的任务的标识,并根据任务的标识判断任务是否为Reduce任务,在任务为Reduce任务的情况下,从查询请求中提取任务预计需要的资源的数量N。其中,提取任务的标识可以采用递归的方法:首先提取其中的根任务,并根据任务的标识判断该任务是否为Reduce任务,如果是,则从查询请求中提取预计需要的资源的数量N;如果不是,则采用同样的方法提取子任务及叶子任务的标识,并进行后续的处理,直至获取所有任务预计需要的资源的数量N,并通过第五处理模块完成对每个任务的标识进行设置标签处理。通过执行上述模块可以对用户请求中的所有需要进行化简操作的任务进行设置,并且第一处理模块50对编译确定的任务的Reduce数(即Reduce任务预计需要的资源的数量N)不为1,且根据Map输入文件的大小估算的Reduce数为1的Reduce数进行优化,大大缩短第一处理模块50的处理时间,且第一执行模块70能够根据第一处理模块50处理的结果合理分配处理Reduce任务的资源,从而加快处理速度。
根据本申请的上述实施例,第一处理模块50可以包括:第一提取模块,用于根据查询请求提取任务的指纹信息,并根据指纹信息从数据库中提取计算当前为任务分配的资源的数量M所需要的历史数据;第一计算模块,用于根据历史数据对任务预计所需要的资源的数量N进行更新得到当前为任务分配的资源的数量M。
其中,指纹信息包括MD5值信息,历史信息包括计算当前为任务分配的资源的数量M所需要的历史任务的日志信息。具体地,第一提取模块根据查询请求进行去噪处理,获取查询请求中的指纹信息,并根据指纹信息中的MD5值从数据库中提取计算当前为任务分配的资源的数量M所需要的历史任务的日志信息,之后第一计算模块根据该任务的历史任务的日志信息对任务预计所需要的资源的数量N进行估算处理,获取当前为任务分配的资源的数量M,在执行上述模块的过程中,通过查询请求的指纹信息获取历史处理该任务的计算资源,并根据上述历史处理该任务的计算资源计算当前为任务分配的资源的数量M,从而可以准确根据M值为该任务分配计算资源,从而加快处理该请求的速度。
根据本申请的上述实施例,在第一执行模块70获得查询结果之后,该装置还可以包括:解析模块,用于解析执行查询请求的执行日志;存储模块,用于将执行日志保存在数据库中。
具体地,解析模块解析执行查询请求的执行日志,然后存储模块将执行日志保存在数据库中,在子提取模块进行提取时作为历史数据参与到下次的任务估算处理中,从而可以在下次进行估算处理时更准确的估算Reduce任务数据的Reduce任务数,进而使得数据仓库计算平台更合理的分配计算资源,加快处理速度。
图3是根据本申请实施例的数据查询方法的流程图。图4是根据图3所示的数据查询方法的详细流程图。图5是根据图4所示的数据查询方法的详细流程图。如图3和图4所示,该方法包括如下步骤:
步骤S101,通过图2中的第一获取模块10来执行获取查询请求,其中,查询请求包括任务的标识以及任务预计需要的资源的数量N。
步骤S103,图2中的第一判断模块30可以用来执行判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定的步骤。
步骤S105,在任务预计所需要的资源的数量N是根据映射任务所输入的输入值确定的情况下,对任务预计所需的资源的数量N进行更新得到当前为任务分配的资源的数量M,该步骤可以通过图2中的第一处理模块50执行。
步骤S107,可以通过图2中的第一执行模块70来执行使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
其中,上述实施例中的映射任务为Map任务,化简任务为Reduce任务,映射化简任务为MapReduce任务,映射任务所输入的输入值为系统根据查询请求读取的输入文件,则可以根据映射任务所读取的输入文件的大小进行估算得到任务预计所需的资源的个数N。
采用本申请的数据查询方法,在获取用户的查询请求之后,判断查询请求包括的任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定,在任务预计所需要的资源的数量N是根据Map任务所输入的输入值确定的情况下,对任务预计所需的资源的数量N进行更新得到当前为任务分配的资源的数量M,并使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。由于任务预计需要的资源的数量N为1可以是在编译时确定的,也可以是根据映射的输入大小确定的,但是现有的化简优化系统对任务预计需要的资源的数量进行优化时,无法确定任务预计需要的资源的数量是编译时确定还是根据Map任务所输入的输入值确定,而不对值为1的任务预计需要的资源的个数N进行优化,而通过本申请的数据查询方法,在对任务预计需要的资源的数量进行更新之前,判断任务预计需要的资源的数量是否根据映射任务所输入的输入值确定,使得系统可以分辨出任务预计需要的资源的数量N为1是不是编译时确定的,从而在任务预计需要的资源的数量N为1是根据映射任务所输入的输入值确定的情况下,才对任务预计需要的资源的数量为1的任务进行更新,从而解决了现有技术中由于系统在处理任务时分配任务资源不准确,导致任务的处理速度缓慢且浪费资源的问题,实现了合理分配执行任务的资源,从而加快系统处理任务的速度的效果。
其中,上述实施例中的Map任务所输入的输入值是在对查询请求进行解析的过程中,执行Map任务对Map任务的赋值。具体地,上述查询方法可以应用于数据仓库计算平台,如图4所示,图3中的步骤S101可以通过图4中的步骤S201实现,获取查询请求,数据仓库计算平台在获取到用户输入的查询请求之后,对该请求进行解析以获取计算平台可以识别的查询请求,一般地说,数据仓库计算平台将该请求转换为MapReduce任务(即MapReduce任务)来执行,首先将查询请求做映射处理,将该请求分解为一个或多个子请求,然后再根据上述一个或多个子请求进行化简处理,每个Reduce任务对应一个或多个子请求。数据仓库计算平台在对MapReduce任务分配计算资源的过程中,计算平台会分别对Map任务和Reduce任务进行资源估算,以便为执行该任务分配资源,上述实施例中的Map任务所输入的输入值即为系统(在本实施例中为数据仓库计算平台)根据查询请求读取的输入文件,Reduce任务预计所需要的资源的数量N根据Map任务所读取的输入文件的大小确定,是通过如下步骤实现的:根据Map任务所输入的输入值进行估算得到的结果确定任务预计所需要的资源的数量N。
具体地,将上述实施例应用于数据仓库计算平台时,数据仓库计算平台获取用户输入的查询请求之后,将该查询请求转换为计算平添可识别的MapReduce任务,在转换的过程中为Reduce任务的执行分配资源,这里的资源可以通过任务预计需要的资源的数量N来表示,在平台使用N个资源执行上述任务之前,判断该任务预计需要的资源的数量N是否根据Map任务所输入的输入值确定,如图4的步骤S207所示,在获得判断结果之后,根据判断结果更新MapReduce任务的Reduce任务数,即在任务预计所需要的资源的数量N是根据Map任务所输入的输入值确定的情况下,对任务预计所需的资源的数量N进行优化得到当前为任务分配的资源的数量M,然后根据优化后的当前为任务分配的资源的数量M,为该任务分配资源,并使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果,上述步骤可以通过图4中的步骤S209实现。在数据仓库计算平台获取到的查询请求中可能包括一个或多个Reduce任务,在为Reduce任务分配资源之前,都通过上述方法判断Reduce任务预计需要的资源的数量N是否根据Map任务所输入的输入值确定,然后根据判断结果对任务预计需要的资源的数量N进行优化,并根据优化结果为Reduce任务分配资源,并执行该任务,获取查询结果。通过上述方法,数据仓库计算平台可以对所有根据Map任务所输入的输入值确定的任务预计需要的资源的数量N进行优化,以为Reduce任务分配更合理的资源,从而加快处理请求的速度。
在本申请的上述实施例中,在判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定之后,方法还可以包括如下步骤:在任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的情况下,为任务分配N个资源,并使用N个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。其中,任务为上述的化简任务。
具体地,在判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定之后,在任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的情况下,为任务分配N个资源,并使用N个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
根据本申请的上述实施例,判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定的步骤包括:获取任务的标识;检测任务的标识中是否设置有标签,其中,标签用于指示任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定的;在任务的标识中设置有标签的情况下,得到任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的判断结果;在任务的标识中没有设置标签的情况下,得到任务预计所需要的资源的数量N是根据Map任务所输入的输入值确定的判断结果。
具体地,如图4所示,在执行步骤S201获取查询请求之后,通过步骤S103判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定,该步骤具体地可以通过检测任务的标识中是否设置有标签来完成:在任务的标识中设置有标签的情况下,得到任务预计所需要的资源的数量N不是根据Map任务所输入的输入值确定的判断结果;在任务的标识中没有设置标签的情况下,得到任务预计所需要的资源的数量N是根据Map任务所输入的输入值确定的判断结果。然后通过步骤S105根据判断结果,对根据Map任务所输入的输入值确定的任务预计所需要的资源的数量N进行更新处理,得到当前为任务分配的资源的数量M,最后执行步骤S107,使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。通过上述实施例,处理数据查询请求的过程中,不会对设置标签的任务的标识进行更新处理,也即只会对根据Map任务所输入的输入值确定的任务预计所需要的资源的数量N进行更新处理,从而大大缩短了处理查询请求的时间,进而加快了对用户请求的处理速度。
根据本申请的上述实施例,在判断任务预计所需要的资源的数量N是否根据Map任务所输入的输入值确定之前,方法还可以包括:获取任务预计需要的资源的数量N;根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识。
具体地,如图4所示,在执行步骤S103之前,上述方法还包括如下步骤:步骤S203,根据任务的标识进行设置标签处理,在本实施例中,首先获取任务预计需要的资源的数量N,然后根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识。根据上述实施例,该方法可以根据经过执行步骤S203之后的任务的标识,执行检测出任务的标识中是否设置有标签,然后根据检测的结果得出任务预计需要的资源的数量N是否根据Map任务所输入的输入值确定的判断结果,以便于根据该判断结果对请求进行后续的处理。通过上述实施例,该方法不会对设置标签的任务的标识进行更新处理,只对没有设置标签的任务的标识进行更新处理,从而大大缩短了处理查询请求的时间,进而加快了对用户请求的处理速度。
根据本申请的上述实施例,根据任务预计需要的资源的数量N对任务的标识进行设置标签处理,以获取处理后的任务的标识的步骤包括:判断任务预计需要的资源的数量N是否为1;在任务预计需要的资源的数量N为1的情况下,获取任务的当前标识,并将标签设置在当前标识中,其中,将设置有标签的当前标识作为处理后的任务的标识。
具体地,如图5中的步骤S307至步骤S309所示,判断任务预计需要的资源的数量N是否为1,其中,在任务预计需要的资源的数量N为1的情况下,执行步骤S309,根据任务的标识进行设置标签处理;在任务预计需要的资源的数量N不为1的情况下,不对该任务的标识进行标签设置处理。更具体地,可以通过如下方法执行步骤S309:获取任务的当前标识,并将标签设置在当前标识中,然后将设置有标签的当前标识作为处理后的任务的标识。将上述实施例应用在数据仓库计算平台时,当用户输入计算请求时,数据仓库计算平台将该输入的请求进行编译,将该任务转换为MapReduce任务,在编译完成之后的查询请求中包括了Reduce任务的标识和任务预计需要的资源的数量N的信息,然后获取该任务预计需要的资源的数量N的信息,之后判断该任务预计需要的资源的数量N是否为1,在该任务预计需要的资源的数量N为1的情况下,在该任务的当前标识中打标签,并将打标签的当前标识作为处理后的任务的标识,再执行步骤S105对上述处理后的任务的标识进行更新处理,得到当前为任务分配的资源的数量M,最后执行步骤S107使用M个为任务分配的资源执行任务,以得到与查询请求对应的查询结果。
例如,用户在数据仓库计算平台输入了查询所有品牌A的MP3销量的查询请求,数据仓库计算平台在将该请求进行编译,编译之后的任务需要Reduce操作且编译确定的Reduce数(即Reduce任务预计需要的资源的数量N)不为1,而根据Map输入文件的大小估算的Reduce数为1,此时可对该Reduce数进行优化,以便于为处理该任务分配更合理的资源。具体到本实施例中,在编译之后的Reduce任务预计需要的资源的数量N不为1的情况下,通过第六处理模块对该Reduce任务打标签(即可以在Reduce任务的标识中设置标签),这样即使估算后的Reduce数为1,第一处理模块50也要对该Reduce任务预计需要的资源的个数N(此时N=1)进行资源优化,优化后可能将当前为任务分配的资源的数量M确定为8,这样就实现了第一处理模块50可以对根据任务读取的输入文件的大小确定的Reduce任务预计所需的资源的个数N(在该实施例中N=1)进行更新处理,然后使用更新处理后的M个(此处M=8)资源执行该任务,从而合理的分配计算资源,缩短了处理时间,加快了处理请求的速度。
在本申请的上述实施例中,获取任务预计需要的资源的数量N的步骤包括:获取任务集,其中,任务集包括查询请求中的所有任务的标识;判断任务集是否为空;在任务集不为空的情况下,提取任务集中的任务的标识,并根据任务的标识判断任务是否为Reduce任务,在任务为Reduce任务的情况下,从查询请求中提取任务预计需要的资源的数量N。
具体地,获取任务集,然后判断任务集是否为空,其中,在任务集不为空的情况下,提取任务集中的任务的标识,并根据任务的标识判断任务是否为Reduce任务,在任务为Reduce任务的情况下,从查询请求中提取任务预计需要的资源的数量N。其中,提取任务的标识可以采用递归的方法:首先提取其中的根任务,并根据任务的标识判断该任务是否为Reduce任务,如果是,则从查询请求中提取任务预计需要的资源的数量N;如果不是,则采用同样的方法提取子任务及叶子任务的标识,并进行后续的处理,直至获取所有任务预计需要的资源的数量N,并执行步骤S203,以完成对每个任务的标识进行设置标签处理。
如图5所示,在执行步骤S301之前,获取任务集,该任务集包括查询请求中的所有任务的标识,然后通过执行如下步骤以实现上述实施例:
步骤S301,判断任务集是否为空,在任务集为空的情况下,退出,在任务集不为空的情况下,执行步骤S303。
步骤S303,提取任务集的根任务。
步骤S305,判断任务是否为Reduce任务,在该任务为Reduce任务的情况下执行步骤S307,在是的情况下,执行步骤S307,在否的情况下,执行步骤S311。
步骤S307,判断任务预计需要的资源的数量N是否为1,在任务预计需要的资源的数量N为1的情况下,执行步骤S309,在任务预计需要的资源的数量N不为1的情况下,结束提取任务预计需要的资源的数量N。
步骤S309,根据任务的标识进行设置标签处理。
步骤S311,获取任务集的子任务。
通过执行上述步骤可以对用户请求中的所有需要进行化简操作的任务进行设置,并且不需要对编译时确定的Reduce任务预计需要的资源的数量N为1的Reduce任务进行更新,大大缩短执行步骤S105的时间,且在执行请求时能够根据合理分配的资源处理请求,从而加快处理速度。
根据本申请的上述实施例,在任务预计所需要的资源的数量N是由Map任务所输入的输入值确定的情况下,对任务预计所需的资源的个数N进行更新得到当前为任务分配的资源的数量M的步骤包括:根据查询请求提取任务的指纹信息,并根据指纹信息从数据库中提取计算当前为任务分配的资源的数量M所需要的历史数据;根据历史数据对任务预计所需要的资源的数量N进行更新得到当前为任务分配的资源的数量M。
其中,指纹信息包括MD5值信息,历史信息包括计算当前为任务分配的资源的数量M所需要的历史任务的日志信息。具体地,可以根据图4所示的方法实现:步骤S205,获取查询请求的指纹信息,具体根据查询请求进行去噪处理,获取查询请求的指纹信息,并根据指纹信息中的MD5值从数据库中提取计算当前为任务分配的资源的数量M所需要的历史任务的日志信息,然后执行步骤S207更新任务预计所需要的资源的数量N,根据该历史处理该任务使用的计算资源对任务预计所需要的资源的数量N进行估算处理,获取当前为任务分配的资源的数量M,然后执行步骤S209,提交与执行更新后的任务,在执行上述模块的过程中,通过查询请求的指纹信息获取历史处理该任务的计算资源,并根据上述历史处理该任务的计算资源计算当前为任务分配的资源的数量M,从而可以准确根据M值为该任务分配计算资源,从而加快处理该请求的速度。
在本申请的上述实施例中,如图4所示的方法,执行步骤S211可以解析执行任务的执行日志,然后将该执行日志保存在数据库中,在执行下次任务进行估算时,作为历史数据参与到下次的任务估算处理中。具体地,将执行图4中步骤S207之后的当前为任务分配的资源的数量M提交至数据仓库计算平台,并由数据仓库计算平台使用M个资源执行该任务,然后解析Reduce任务数据的执行日志,并将解析后的执行日志作为历史数据存入数据库,从而可以在下次进行估算处理时使用该数据更准确对任务预计所需要的资源的数量N进行估算,进而使得数据仓库计算平台更合理的分配计算资源,加快处理速度。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
从以上的描述中,可以看出,本申请实现了如下技术效果:通过本申请的数据查询方法及装置,在执行查询请求之前,系统对查询请求中包含的任务进行估算处理,以便分配合理的资源来执行上述任务的过程中,首先判断任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定,然后对所有根据映射任务所输入的输入值确定的任务预计所需的资源的数量N进行更新,并根据更新后的当前为任务分配的资源的数量M执行上述任务,从而解决了现有技术中由于系统在处理任务时分配任务资源不准确,从而导致任务的处理速度缓慢且浪费资源的问题,实现了合理分配执行任务的资源,从而加快系统处理任务的速度的效果。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种数据查询方法,其特征在于,包括:
获取查询请求,其中,所述查询请求包括任务的标识以及所述任务预计需要的资源的数量N;
判断所述任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定;
在所述任务预计所需要的资源的数量N是根据所述映射任务所输入的输入值确定的情况下,对所述任务预计所需的资源的个数N进行更新得到当前为所述任务分配的资源的数量M;
使用所述M个为所述任务分配的资源执行所述任务,以得到与所述查询请求对应的查询结果。
2.根据权利要求1所述的方法,其特征在于,在判断所述任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定之后,所述方法还包括:
在所述任务预计所需要的资源的数量N不是根据映射任务所输入的输入值确定的情况下,为所述任务分配所述N个资源,并使用所述N个为所述任务分配的资源执行所述任务,以得到与所述查询请求对应的查询结果。
3.根据权利要求1所述的方法,其特征在于,判断所述任务预计所需要的资源的数量N是否根据映射任务所输入的输入值确定的步骤包括:
获取所述任务的标识;
检测所述任务的标识中是否设置有标签,其中,所述标签用于指示所述任务预计所需要的资源的数量N是否根据所述映射任务所输入的输入值确定的;
在所述任务的标识中设置有标签的情况下,得到所述任务预计所需要的资源的数量N不是根据所述映射任务所输入的输入值确定的判断结果;
在所述任务的标识中没有设置标签的情况下,得到所述任务预计所需要的资源的数量N是根据所述映射任务所输入的输入值确定的判断结果。
4.根据权利要求3所述的方法,其特征在于,在判断所述任务预计所需要的资源的数量N是否根据所述映射任务所输入的输入值确定之前,所述方法还包括:
获取所述任务预计需要的资源的数量N;
根据所述任务预计需要的资源的数量N对所述任务的标识进行设置标签处理,以获取处理后的任务的标识。
5.根据权利要求4所述的方法,其特征在于,根据所述任务预计需要的资源的数量N对所述任务的标识进行设置标签处理,以获取处理后的任务的标识的步骤包括:
判断所述任务预计需要的资源的数量N是否为1;
在所述任务预计需要的资源的数量N为1的情况下,获取所述任务的当前标识,并将所述标签设置在所述当前标识中,其中,将设置有所述标签的当前标识作为处理后的所述任务的标识。
6.根据权利要求4所述的方法,其特征在于,获取所述任务预计需要的资源的数量N的步骤包括:
获取任务集,其中所述任务集包括所述查询请求中的所有所述任务的标识;
判断所述任务集是否为空;
在所述任务集不为空的情况下,提取所述任务集中的所述任务的标识,并根据所述任务的标识判断所述任务是否为化简任务,在所述任务为所述化简任务的情况下,从所述查询请求中提取所述任务预计需要的资源的数量N。
7.根据权利要求1所述的方法,其特征在于,在所述任务预计所需要的资源的数量N是由所述映射任务所输入的输入值确定的情况下,对所述任务预计所需的资源的个数N进行更新得到当前为所述任务分配的资源的数量M的步骤包括:
根据所述查询请求提取所述任务的指纹信息,并根据所述指纹信息从数据库中提取计算所述当前为所述任务分配的资源的数量M所需要的历史数据;
根据所述历史数据对所述任务预计所需要的资源的数量N进行更新得到当前为所述任务分配的资源的数量M。
8.一种数据查询装置,其特征在于,包括:
第一获取模块,用于获取查询请求,其中,所述查询请求包括任务的标识以及所述任务预计需要的资源的数量N;
第一判断模块,用于判断所述任务预计所需要的资源的数量N是否根据映射所述任务所输入的输入值确定;
第一处理模块,用于在所述任务预计所需要的资源的数量N是根据所述映射任务所输入的输入值确定的情况下,对所述任务预计所需的资源的个数N进行更新得到当前为所述任务分配的资源的数量M;
第一执行模块,用于使用所述M个为所述任务分配的资源执行所述任务,以得到与所述查询请求对应的查询结果。
9.根据权利要求8所述的装置,其特征在于,在执行所述第一判断模块之后,所述装置还包括:
第二处理模块,用于在所述任务预计所需要的资源的数量N不是根据所述映射任务所输入的输入值确定的情况下,为所述任务分配所述N个资源,并使用所述N个为所述任务分配的资源执行所述任务,以得到与所述查询请求对应的查询结果。
10.根据权利要求8所述的装置,其特征在于,所述第一判断模块包括:
第二获取模块,用于获取所述任务的标识;
第一检测模块,用于检测所述任务的标识中是否设置有标签,其中,所述标签用于指示所述任务预计所需要的资源的数量N是否根据所述映射任务所输入的输入值确定的;
第三处理模块,用于在所述任务的标识中设置有标签的情况下,得到所述任务预计所需要的资源的数量N不是根据所述映射任务所输入的输入值确定的判断结果;
第四处理模块,用于在所述任务的标识中没有设置标签的情况下,得到所述任务预计所需要的资源的数量N是根据所述映射任务所输入的输入值确定的判断结果。
11.根据权利要求10所述的装置,其特征在于,在执行所述第一判断模块之前,所述装置还包括:
第三获取模块,用于获取所述任务预计需要的资源的数量N;
第五处理模块,用于根据所述任务预计需要的资源的数量N对所述任务的标识进行设置标签处理,以获取处理后的任务的标识。
12.根据权利要求11所述的装置,其特征在于,所述第五处理模块包括:
第二判断模块,用于判断所述任务预计需要的资源的数量N是否为1;
第六处理模块,用于在所述任务预计需要的资源的数量N为1的情况下,获取所述任务的当前标识,并将所述标签设置在所述当前标识中,其中,将设置有所述标签的当前标识作为处理后的所述任务的标识。
13.根据权利要求11所述的装置,其特征在于,所述第三获取模块包括:
第一子获取模块,用于获取任务集,其中所述任务集包括所述查询请求中的所有所述任务的标识;
第三判断模块,用于判断所述任务集是否为空;
第四判断模块,用于在所述任务集不为空的情况下,提取所述任务集中的所述任务的标识,并根据所述任务的标识判断所述任务是否为化简任务,在所述任务为所述化简任务的情况下,从所述查询请求中提取所述任务预计需要的资源的数量N。
14.根据权利要求8所述的装置,其特征在于,所述第一处理模块包括:
第一提取模块,用于根据所述查询请求提取所述任务的指纹信息,并根据所述指纹信息从数据库中提取与计算所述当前为所述任务分配的资源的数量M所需要的历史数据;
第一计算模块,用于根据所述历史数据对所述任务预计所需要的资源的数量N进行更新得到当前为所述任务分配的资源的数量M。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210477543.3A CN103838632B (zh) | 2012-11-21 | 2012-11-21 | 数据查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210477543.3A CN103838632B (zh) | 2012-11-21 | 2012-11-21 | 数据查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103838632A CN103838632A (zh) | 2014-06-04 |
CN103838632B true CN103838632B (zh) | 2017-04-12 |
Family
ID=50802163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210477543.3A Active CN103838632B (zh) | 2012-11-21 | 2012-11-21 | 数据查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103838632B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106407190B (zh) * | 2015-07-27 | 2020-01-14 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN106534242B (zh) * | 2015-09-14 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 一种分布式系统中请求的处理方法以及装置 |
CN106790529B (zh) * | 2016-12-20 | 2019-07-02 | 北京并行科技股份有限公司 | 计算资源的调度方法、调度中心及调度系统 |
CN110232048B (zh) * | 2019-06-12 | 2023-07-07 | 腾讯科技(成都)有限公司 | 日志文件的获取方法、装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770402A (zh) * | 2008-12-29 | 2010-07-07 | 中国移动通信集团公司 | MapReduce系统中的Map任务调度方法、设备及系统 |
CN102708006A (zh) * | 2011-03-28 | 2012-10-03 | 微软公司 | 处理优化负载调整 |
CN102725753A (zh) * | 2011-11-28 | 2012-10-10 | 华为技术有限公司 | 优化数据访问的方法及装置、优化数据存储的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9141433B2 (en) * | 2009-12-18 | 2015-09-22 | International Business Machines Corporation | Automated cloud workload management in a map-reduce environment |
US9367359B2 (en) * | 2010-06-30 | 2016-06-14 | International Business Machines Corporation | Optimized resource management for map/reduce computing |
WO2012144985A1 (en) * | 2011-04-19 | 2012-10-26 | Hewlett-Packard Development Company, L.P. | Scheduling map and reduce tasks of jobs for execution according to performance goals |
-
2012
- 2012-11-21 CN CN201210477543.3A patent/CN103838632B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770402A (zh) * | 2008-12-29 | 2010-07-07 | 中国移动通信集团公司 | MapReduce系统中的Map任务调度方法、设备及系统 |
CN102708006A (zh) * | 2011-03-28 | 2012-10-03 | 微软公司 | 处理优化负载调整 |
CN102725753A (zh) * | 2011-11-28 | 2012-10-10 | 华为技术有限公司 | 优化数据访问的方法及装置、优化数据存储的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103838632A (zh) | 2014-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108764674B (zh) | 一种基于规则引擎的风险控制方法和装置 | |
JP6894534B2 (ja) | 情報処理方法及び端末、コンピュータ記憶媒体 | |
US9323520B2 (en) | Component discovery from source code | |
CN103838632B (zh) | 数据查询方法及装置 | |
CN108932625B (zh) | 用户行为数据的分析方法、装置、介质和电子设备 | |
CN105653647B (zh) | Sql语句的信息采集方法及系统 | |
CN108053322A (zh) | 车辆的用户投资回报估算方法及系统 | |
CN110659985A (zh) | 一种捞回误拒潜在用户的方法、装置和电子设备 | |
CN107798030A (zh) | 数据表的拆分方法和装置 | |
CN110795697A (zh) | 逻辑表达式的获取方法、装置、存储介质以及电子装置 | |
CN110866029A (zh) | sql语句构建方法、装置、服务器及可读存储介质 | |
CN113268500A (zh) | 业务处理方法、装置及电子设备 | |
CN116341523A (zh) | 文本纠错方法、装置、计算机设备及存储介质 | |
CN109062947A (zh) | 用户画像标签查询方法、设备及计算机可读存储介质 | |
CN107368500B (zh) | 数据抽取方法及系统 | |
CN112199715B (zh) | 基于区块链和云计算的对象生成方法及数字金融服务中心 | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
CN114841165B (zh) | 用户数据分析及展示方法、装置、电子设备及存储介质 | |
CN114881313A (zh) | 基于人工智能的行为预测方法、装置及相关设备 | |
CN114662005A (zh) | 用户行为轨迹的消息推送方法、装置、设备及存储介质 | |
CN110866156B (zh) | 基于社交数据的功能园区识别方法、装置、设备及介质 | |
CN109754159A (zh) | 一种电网运行日志的信息提取方法及系统 | |
CN111859985A (zh) | Ai客服模型测试方法、装置、电子设备及存储介质 | |
CN110427562A (zh) | 语义标签划分方法、装置和电子设备 | |
CN117875908B (zh) | 一种基于企业管理软件saas的工单处理方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211110 Address after: Floor 8, building 2, Xincheng science and technology park complex, No. 8, Bailongjiang East Street, Jianye District, Nanjing, Jiangsu Province Patentee after: Alibaba East China Co., Ltd Address before: P.O. Box 847, 4th floor, Grand Cayman capital building, British Cayman Islands Patentee before: Alibaba Group Holdings Limited |
|
TR01 | Transfer of patent right |