查询处理方法和装置制造方法

文档序号:6488831阅读:175来源:国知局
查询处理方法和装置制造方法【专利摘要】本发明实施例提供一种查询处理方法和装置。方法包括:向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;接收至少一个数据节点发送的失败消息,失败消息用于表示执行第一步骤失败或异常;根据预先设定的可恢复信息,确定执行查询请求的第二步骤,第二步骤为重新执行查询请求的起始步骤,可恢复信息中包括重新执行查询请求时无需重复执行的步骤;向各个数据节点发送第二步骤信息。本发明实施例提供的查询处理方法和装置,可以提高并行数据库查询处理的效率。【专利说明】查询处理方法和装置【
技术领域
】[0001]本发明实施例涉及数据库技术,尤其涉及一种查询处理方法和装置。【
背景技术
】[0002]并行数据库是通过将数据均衡分布在多个数据节点上,查询时在多个数据节点上并行执行,从而加速数据查询处理的数据管理技术。并行数据库主要应用于海量数据存储,随着数据节点个数的增多,查询处理过程中出现异常的概率就越高。[0003]现有技术中,并行数据库在执行用户的查询请求处理过程中,如果出现异常,则控制各个数据节点执行查询操作的控制节点放弃数据库正在执行的查询处理,待纠错处理结束后,控制节点重新控制各数据节点执行用户的查询请求。[0004]但是,由于并行数据库的存储容量通常都比较大,数据库重新执行用户的查询请求,导致查询请求的处理效率低,系统资源浪费。【
发明内容】[0005]本发明实施例提供一种查询处理方法和装置,用以提高并行数据库查询处理的效率。[0006]一方面,本发明实施例提供一种查询处理方法,包括:[0007]向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;[0008]接收至少一个所述数据节点发送的失败消息,所述失败消息用于表示执行所述第一步骤失败或异常;[0009]根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,所述第二步骤为重新执行所述查询请求的起始步骤,所述可恢复信息中包括重新执行所述查询请求时无需重复执行的步骤;[0010]向所述各个数据节点发送所述第二步骤信息。[0011]结合第一方面,所述向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还包括:[0012]根据所述数据节点执行所述查询请求的各个步骤对应的资源消耗,生成所述可恢复信息。[0013]结合第一方面,所述可恢复信息中包括至少一个可恢复点信息,所述可恢复点后续距离最近的下一步骤作为重新执行所述查询请求的起始步骤。结合第一方面,所述向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还包括:[0014]向所述各个数据节点发送执行所述查询请求的第三步骤信息;[0015]接收所述各个数据节点发送的第一成功消息,所述第一成功消息用于表示执行所述第三步骤成功;[0016]记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息。[0017]结合第一方面,所述根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:[0018]将所述第一可恢复点后续距离最近的下一步骤作为所述第二步骤。[0019]结合第一方面,所述记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息之后,所述向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还包括:[0020]向所述各个数据节点发送执行所述查询请求的第四步骤信息;[0021]接收所述各个数据节点发送的第二成功消息,所述第二成功消息用于表示执行所述第四步骤成功;[0022]记录位于所述第四步骤之前且距所述第四步骤最近的第二可恢复点信息。[0023]结合第一方面,所述根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:[0024]将所述第二可恢复点后续距离最近的下一步骤作为所述第二步骤。[0025]另一方面,本发明实施例提供一种控制节点,包括:[0026]第一发送模块,用于向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;[0027]接收模块,用于接收至少一个所述数据节点发送的失败消息,所述失败消息用于表示执行所述第一步骤失败或异常;[0028]处理模块,用于根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,所述第二步骤为重新执行所述查询请求的起始步骤,所述可恢复信息中包括重新执行所述查询请求时无需重复执行的步骤;[0029]第二发送模块,用于向所述各个数据节点发送所述第二步骤信息。[0030]结合第二方面,所述处理模块,还用于根据所述数据节点执行所述查询请求的各个步骤对应的资源消耗,生成所述可恢复信息。[0031]结合第二方面,所述控制节点还包括:存储模块,用于存储所述可恢复信息,所述可恢复信息中至少一个可恢复点信息,所述可恢复点后续距离最近的下一步骤作为重新执行所述查询请求的起始步骤。[0032]结合第二方面,所述第一发送模块,还用于向所述各个数据节点发送执行所述查询请求的第二步骤信息;[0033]所述接收模块,还用于接收所述各个数据节点发送的第一成功消息,所述第一成功消息用于表示执行所述第三步骤成功;[0034]所述存储模块,还用于记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息。[0035]结合第二方面,所述处理模块,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第一可恢复点后续距离最近的下一步骤作为所述第二步骤。[0036]结合第二方面,所述第一发送模块,还用于向所述各个数据节点发送执行所述查询请求的第四步骤信息;[0037]所述接收模块,还用于接收所述各个数据节点发送的第二成功消息,所述第二成功消息用于表示执行所述第四步骤成功;[0038]所述存储模块,还用于记录位于所述第四步骤之前且距所述第四步骤最近的第二可恢复点信息。[0039]结合第二方面,所述处理模块,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第二可恢复点后续距离最近的下一步骤作为所述第二步骤。[0040]再一方面,本发明实施例提供一种控制节点,包括:[0041]发送器,用于向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;[0042]接收器,用于接收至少一个所述数据节点发送的失败消息,所述失败消息用于表示执行所述第一步骤失败或异常;[0043]处理器,用于根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,所述第二步骤为重新执行所述查询请求的起始步骤,所述可恢复信息中包括重新执行所述查询请求时无需重复执行的步骤;[0044]所述发送器,还用于向所述各个数据节点发送所述第二步骤信息。[0045]结合第三方面,所述处理器,还用于根据所述数据节点执行所述查询请求的各个步骤对应的资源消耗,生成所述可恢复信息。[0046]结合第三方面,所述控制节点还包括:存储器,用于存储所述可恢复信息,所述可恢复信息中至少一个可恢复点信息,所述可恢复点后续距离最近的下一步骤作为重新执行所述查询请求的起始步骤。[0047]结合第三方面,所述发送器,还用于向所述各个数据节点发送执行所述查询请求的第二步骤息;[0048]所述接收器,还用于接收所述各个数据节点发送的第一成功消息,所述第一成功消息用于表示执行所述第三步骤成功;[0049]所述存储器,还用于记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息。[0050]结合第三方面,所述处理器,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第一可恢复点后续距离最近的下一步骤作为所述第二步骤。[0051]结合第三方面,所述发送器,还用于向所述各个数据节点发送执行所述查询请求的第四步骤信息;[0052]所述接收器,还用于接收所述各个数据节点发送的第二成功消息,所述第二成功消息用于表示执行所述第四步骤成功;[0053]所述存储器,还用于记录位于所述第四步骤之前且距所述第四步骤最近的第二可恢复点信息。[0054]结合第三方面,所述处理器,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第二可恢复点后续距离最近的下一步骤作为所述第二步骤。[0055]本发明实施例提供的技术方案,控制节点控制系统中各数据节点进行执行查询处理过程中,当某步骤执行失败时,通过对错误信息进行分析,控制节点可以根据当前保存的可恢复信息,确定重新执行查询请求的起始步骤,实现查询过程中的某一步骤执行失败后无需从头执行,提高了并行数据库查询处理的效率。【专利附图】【附图说明】[0056]为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0057]图1为本发明查询处理方法实施例一的流程图;[0058]图2为本发明查询处理方法实施例二的流程图;[0059]图3为本发明查询处理方法实施例三的流程图;[0060]图4为本发明查询处理方法实施例四的流程图;[0061]图5为本发明查询处理方法实施例五的原理图;[0062]图6为本发明查询处理方法实施例五的流程图;[0063]图7为本发明控制节点实施例一的结构示意图;[0064]图8为本发明控制节点实施例二的结构示意图;[0065]图9为本发明控制节点实施例三的结构示意图;[0066]图10为本发明控制节点实施例四的结构示意图。【具体实施方式】[0067]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0068]图1为本发明查询处理方法实施例一的流程图。如图1所示,本实施例的方法可以包括:[0069]S101、向系统中各个数据节点发送执行客户端查询请求的第一步骤信息。[0070]具体的,控制节点可以根据客户端的查询请求生成执行计划步骤,在执行每一步骤前,控制节点将该步骤信息发送给系统中的各个数据节点。上述第一步骤指在执行查询任务过程中,控制节点向数据节点发送的任一步骤。[0071]S102、接收至少一个数据节点发送的失败消息。[0072]失败消息可以用于表示执行第一步骤失败或异常。具体的,控制节点下发任一执行步骤任务到系统中的各个数据节点,数据节点执行控制节点下发的执行步骤任务,执行成功后,将执行结果发送给控制节点;当出现执行异常时,发送失败消息给控制节点。当控制节点收到任一数据节点发送的失败消息时,即表示该步任务步骤执行失败。[0073]S103、根据预先设定的可恢复信息,确定执行查询请求的第二步骤。[0074]具体的,控制节点收到数据节点发送的失败消息后,分析错误信息,并根据当前保存的可恢复信息,确定重新执行查询请求的起始步骤。上述第二步骤即为重新执行查询请求的起始步骤,可恢复信息中包括重新执行查询请求时无需重复执行的步骤。[0075]S104、向各个数据节点发送第二步骤信息。[0076]控制节点确定重新执行查询请求的起始步骤为第二步骤后,向系统中各个数据节点发送第二步骤信息。[0077]本实施例中,控制节点收到任一数据节点发送的失败消息后,通过对错误信息进行分析,控制节点可以根据当前保存的可恢复信息,确定重新执行查询请求的起始步骤,实现查询过程中的某一步骤执行失败后无需从头执行,提高了并行数据库查询处理的效率。[0078]图2为本发明查询处理方法实施例二的流程图。如图2所示,在图1所示本发明方法实施例一的基础上,控制节点根据查询请求步骤,评估执行查询处理任务的成本,生成可恢复信息,因此,在控制节点向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还可以包括下述操作:[0079]S201、根据数据节点执行查询请求的各个步骤对应的资源消耗,生成可恢复信息。[0080]具体的,控制节点根据客户端的查询请求生成执行计划步骤,每一步骤描述了特定的数据库操作,如对数据表的扫描、连接等,控制节点评估执行查询请求各个步骤对应的资源消耗,如根据检索数据时的系统资源消耗,检索条件的数据集大小等,并依据一定的算法,决策生成可恢复信息,其中,可恢复信息可以包括可恢复点的数量、位置等信息。[0081]本实施例中,控制节点通过评估数据节点执行查询请求的各个计划步骤对系统的资源消耗,生成执行步骤的可恢复点数量、位置等可恢复信息,控制节点控制系统中各数据节点在执行查询请求任务的过程中,当出现某一执行步骤失败时,通过分析错误信息,并根据当前保存的可恢复信息,确定重新执行查询请求的起始步骤,实现执行失败后无需从头执行,提高了并行数据库查询处理的效率。[0082]如上的查询处理方法,其中,可恢复信息中可以包括至少一个可恢复点信息,可恢复点后续距离最近的下一步骤作为重新执行查询请求的起始步骤。[0083]具体的,控制节点评估执行查询请求各个步骤对应的资源消耗,至少设置一个可恢复点,当执行某个步骤失败时,控制节点分析错误信息,从已保存有执行结果的可恢复点中,查找出离该执行步骤最近的可恢复点,并选择该可恢复点的下一步骤作为重新执行查询请求的起始步骤。[0084]本实施例中,通过设置可恢复点,实现在执行某个步骤失败时,从已保存有执行结果的可恢复点中,查找出离该执行步骤最近的可恢复点,并选择该可恢复点的下一步骤作为重新执行查询请求的起始步骤,避免了执行失败后从头执行的过程,提高了并行数据库查询处理的效率。[0085]图3为本发明查询处理方法实施例三的流程图。如图3所示,在图2所示本发明方法实施例二的基础上,在执行第一步骤失败或异常之前,还可以存在其它执行步骤,因此,向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还可以包括下述操作:[0086]S301、向各个数据节点发送执行查询请求的第三步骤信息。[0087]具体的,第三步骤为第一步骤之前的任一步骤,控制节点向系统中各个数据节点发送执行查询请求的步骤信息,并等待数据节点发送执行结果信息。[0088]S302、接收各个数据节点发送的第一成功消息。[0089]具体的,第一成功消息用于表示执行第三步骤成功,系统中各个数据节点将执行结果发送给控制节点。[0090]S303、记录位于第三步骤之前且距第三步骤最近的第一可恢复点信息。[0091]具体的,在第三步骤执行成功后,控制节点记录位于第三步骤之前且距第三步骤最近的第一可恢复点信息,该可恢复点信息包含其已执行步骤的具体结果,从而在后续步骤执行失败时,可以选择该可恢复点的下一步骤作为重新执行查询请求的起始步骤。[0092]本实施例中,通过在第一步骤之前设置第一可恢复点,实现在第一可恢复点的后续步骤执行失败时,可以根据第一可恢复点信息,选择第一可恢复点的下一步骤作为重新执行查询请求的起始步骤,避免了执行失败后从头执行的过程,提高了并行数据库查询处理的效率。[0093]如上的查询处理方法,其中,根据预先设定的可恢复信息,确定执行查询请求的第二步骤,包括:将第一可恢复点后续距离最近的下一步骤作为第二步骤。[0094]具体的,第一可恢复点信息为位于第三步骤之前且距第三步骤最近的可恢复点信息,第三步骤为第一步骤之前的任一步骤,因此,当第一步骤执行失败时,可以选择第一可恢复点的下一步骤作为第二步骤,即选择第一可恢复点的下一步骤作为重新执行查询请求的起始步骤。[0095]本实施例中,通过在第一步骤之前设置第一可恢复点,实现在第一步骤执行失败时,可以选择第一可恢复点的下一步骤作为第二步骤,即选择第一可恢复点的下一步骤作为重新执行查询请求的起始步骤,避免了执行失败后从头执行的过程,提高了并行数据库查询处理的效率。[0096]图4为本发明查询处理方法实施例四的流程图。如图4所示,在图3所示本发明方法实施例三的基础上,在第一可恢复点之后,在第一步骤之前,还可以更新记录第二可恢复点,因此,记录位于第三步骤之前且距第三步骤最近的第一可恢复点信息之后,向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还可以包括下述操作:[0097]S401、向各个数据节点发送执行查询请求的第四步骤信息。[0098]具体的,第四步骤为第一步骤之前,且位于第一可恢复点之后的步骤,控制节点向系统中各个数据节点发送执行查询请求的步骤信息,并等待数据节点发送执行结果信息。[0099]S402、接收各个数据节点发送的第二成功消息。[0100]具体的,第二成功消息用于表示执行第四步骤成功,系统中各个数据节点将执行结果发送给控制节点。[0101]S403、记录位于第四步骤之前且距第四步骤最近的第二可恢复点信息。[0102]具体的,在第四步骤执行成功后,控制节点记录位于第四步骤之前且距第四步骤最近的第二可恢复点信息,该可恢复点信息包含其已执行步骤的具体结果,从而在后续步骤执行失败时,可以选择该可恢复点的下一步骤作为重新执行查询请求的起始步骤。[0103]由于第二可恢复点位于第一可恢复点之后,第二可恢复点信息包括第一可恢复点信息中记录的执行步骤的具体结果,因此,可以用第二可恢复点信息覆盖第一可恢复点信肩、O[0104]本实施例中,通过在第一可恢复点之后更新记录第二可恢复点,实现在第二可恢复点的后续步骤执行失败时,可以根据第二可恢复点信息,选择第二可恢复点的下一步骤作为重新执行查询请求的起始步骤,避免了执行失败后重新执行一些查询处理步骤,提高了并行数据库查询处理的效率。[0105]如上的查询处理方法,其中,根据预先设定的可恢复信息,确定执行查询请求的第二步骤,包括:将第二可恢复点后续距离最近的下一步骤作为第二步骤。[0106]具体的,第二可恢复点信息为位于第四步骤之前且距第四步骤最近的可恢复点信息,第四步骤为第一步骤之前,且位于第一可恢复点之后的步骤,因此,当第一步骤执行失败时,可以选择第二可恢复点的下一步骤作为第二步骤,即选择第二可恢复点的下一步骤作为重新执行查询请求的起始步骤。[0107]本实施例中,通过在第一可恢复点之后设置第二可恢复点,实现在第一步骤执行失败时,可以选择第二可恢复点的下一步骤作为第二步骤,即选择第二可恢复点的下一步骤作为重新执行查询请求的起始步骤,避免了执行失败后重新执行一些查询处理步骤,提高了并行数据库查询处理的效率。[0108]图5为本发明查询处理方法实施例五的原理图。如图5所示,控制节点500根据客户端的查询请求生成执行计划步骤503,并通过评估各个步骤对应的资源消耗,生成可恢复点信息,其中第I可恢复点501和第2可恢复点502分别对应步骤B和步骤D。具体执行步骤504如下:[0109]I)控制节点先下发步骤A任务到每个数据节点,如果每个数据节点执行步骤A都成功,控制节点下发步骤B任务;[0110]2)如果每个数据节点执行步骤B成功,则控制节点先记录第I可恢复点501的信息,并下发步骤C任务到每个节点;[0111]3)如果数据节点在执行步骤C的过程中出现异常或失败,则控制节点通过分析错误信息,以及根据当前保存的第I可恢复点501的信息,重新下发步骤C任务到每个数据节点,而不是从步骤A开始从头执行;[0112]4)控制节点下发步骤D任务到每个数据节点,如果执行成功,则控制节点先记录第2可恢复点502的信息,并将第2可恢复点502的信息覆盖;而如果执行失败,则从步骤C开始再次执行;[0113]5)当数据节点执行步骤E出现异常时,控制节点根据当前最新记录的第2可恢复点502的信息,再次执行步骤E,而不是从步骤C开始执行,也不是从步骤A开始执行。[0114]图6为本发明查询处理方法实施例五的流程图。如图6所示,本实施例中,控制节点上存储了执行计划的可恢复点信息和当前执行任务的可恢复点状态,其中,第I可恢复点501和第2可恢复点502分别对应步骤B和步骤D。假定执行步骤E失败,客户端,控制节点,数据节点之间的交互流程如下:[0115]S601、客户端向控制节点发送查询请求消息。[0116]S602、控制节点生成执行计划步骤和可恢复点信息。[0117]控制节点根据客户端的查询请求生成执行计划步骤,并通过评估各个步骤对应的资源消耗生成可恢复信息,其中,可恢复信息包括可恢复点的数量、位置等。[0118]S603、控制节点发送步骤A信息到每个数据节点。[0119]控制节点发送执行步骤A的任务消息到每个数据节点。[0120]S604、数据节点执行步骤A。[0121]各个数据节点执行任务步骤A。[0122]S605、数据节点发送步骤A的执行结果到控制节点。[0123]各个数据节点发送执行结果到控制节点。[0124]S606、控制节点发送步骤B信息到每个数据节点。[0125]控制节点发送执行步骤B的任务消息到每个数据节点。[0126]S607、数据节点执行步骤B。[0127]各个数据节点执行任务步骤B。[0128]S608、数据节点发送执行结果到控制节点。[0129]各个数据节点发送步骤B的执行结果到控制节点。[0130]S609、控制节点记录可恢复点状态=B。[0131]控制节点记录第I可恢复点执行成功,并存储执行步骤的具体结果数据。[0132]S610、控制节点发送步骤C信息到每个数据节点。[0133]控制节点发送执行步骤C的任务消息到每个数据节点。[0134]S611、数据节点执行步骤C。[0135]各个数据节点执行任务步骤C。[0136]S612、数据节点发送执行结果到控制节点。[0137]各个数据节点发送步骤C的执行结果到控制节点。[0138]S613、控制节点发送步骤D信息到每个数据节点。[0139]控制节点发送执行步骤D的任务消息到每个数据节点。[0140]S614、数据节点执行步骤D。[0141]各个数据节点执行任务步骤D。[0142]S615、数据节点发送执行结果到控制节点。[0143]各个数据节点发送步骤D的执行结果到控制节点。[0144]S616、控制节点更新可恢复点状态=D。[0145]控制节点更新可恢复点信息,记录第2可恢复点的信息,并将第I可恢复点的信息覆盖。[0146]S617、控制节点发送步骤E信息到每个数据节点。[0147]控制节点发送执行步骤E的任务消息到每个数据节点。[0148]S618、数据节点执行步骤E。[0149]各个数据节点执行任务步骤E。[0150]S619、数据节点执行步骤E失败,返回控制节点失败信息。[0151]各个数据节点发送执行结果到控制节点,控制节点收到任何一个数据节点发送的步骤E执行失败消息,即判定步骤E执行失败。[0152]S620、控制节点根据记录的可恢复点状态D,分析错误原因后,从D开始重新执行步骤E。[0153]当某个步骤执行失败或出现异常时,数据节点根据最新可恢复点状态信息,决策距离最近的步骤开始执行,因此,在步骤E执行失败时,控制节点根据记录的可恢复点状态D,分析错误原因后,从D开始重新执行步骤E,而不是从B开始执行步骤C,也不是从头开始执行步骤A。[0154]S621、控制节点重新发送步骤E信息到每个数据节点。[0155]控制节点重新发送执行步骤E的任务消息到每个数据节点。[0156]S622、数据节点重新执行步骤E。[0157]各个数据节点重新执行任务步骤E。[0158]S623、数据节点发送执行结果到控制节点。[0159]各个数据节点发送步骤E的执行结果到控制节点。[0160]S624、控制节点将结果返回给客户端。[0161]控制节点将最终查询处理结果返回给客户端。[0162]本实施例中,控制节点在生成执行计划的同时,生成执行步骤的可恢复点信息,并记录管理可恢复点状态。在出现执行失败时,控制节点根据可恢复点状态信息,决策最近的可恢复点,以这个恢复点开始执行,避免海量数据的重复执行,提高了并行数据库查询处理的效率。[0163]为了更清楚地说明本发明实施例的技术方案,下面给出并行数据库查询处理的样例。[0164]假定有两个表:student表和sc表。student表有sid,name,sex三个字段,sc表有sid,cn,score三个字段,表定义可以参照如下语句:[0165]createtablestudent(sidint,namevarchar(20),sexvarchar(20))partitioningkeysidonall;[0166]createtablesc(sidint,cnvarchar(20),scorefloat)partitioningkeycnonall;[0167]表1为student表,具体表数据如表1所不;表2为sc表,具体表数据如表2所示。表数据存储在三个数据节点上,查询语句可以参照如下语句:[0168]Selectstudent,name,sc.cn,sc.scorefromstudent,scwherestudent.sid=sc.sid;[0169]表Istudent表[0170]【权利要求】1.一种查询处理方法,其特征在于,包括:向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;接收至少一个所述数据节点发送的失败消息,所述失败消息用于表示执行所述第一步骤失败或异常;根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,所述第二步骤为重新执行所述查询请求的起始步骤,所述可恢复信息中包括重新执行所述查询请求时无需重复执行的步骤;向所述各个数据节点发送所述第二步骤信息。2.根据权利要求1所述的方法,其特征在于,所述向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还包括:根据所述数据节点执行所述查询请求的各个步骤对应的资源消耗,生成所述可恢复信息O3.根据权利要求1或2所述的方法,其特征在于,所述可恢复信息中包括至少一个可恢复点信息,所述可恢复点后续距离最近的下一步骤作为重新执行所述查询请求的起始步骤。4.根据权利要求3所述的方法,其特征在于,所述向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还包括:向所述各个数据节点发送执行所述查询请求的第三步骤信息;接收所述各个数据节点发送的第一成功消息,所述第一成功消息用于表示执行所述第三步骤成功;记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息。5.根据权利要求4所述的方法,其特征在于,所述根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第一可恢复点后续距离最近的下一步骤作为所述第二步骤。6.根据权利要求4所述的方法,其特征在于,所述记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息之后,所述向系统中各个数据节点发送执行客户端查询请求的第一步骤信息之前,还包括:向所述各个数据节点发送执行所述查询请求的第四步骤信息;接收所述各个数据节点发送的第二成功消息,所述第二成功消息用于表示执行所述第四步骤成功;记录位于所述第四步骤之前且距所述第四步骤最近的第二可恢复点信息。7.根据权利要求6所述的方法,其特征在于,所述根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第二可恢复点后续距离最近的下一步骤作为所述第二步骤。8.—种控制节点,其特征在于,包括:第一发送模块,用于向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;接收模块,用于接收至少一个所述数据节点发送的失败消息,所述失败消息用于表示执行所述第一步骤失败或异常;处理模块,用于根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,所述第二步骤为重新执行所述查询请求的起始步骤,所述可恢复信息中包括重新执行所述查询请求时无需重复执行的步骤;第二发送模块,用于向所述各个数据节点发送所述第二步骤信息。9.根据权利要求8所述的控制节点,其特征在于,所述处理模块,还用于根据所述数据节点执行所述查询请求的各个步骤对应的资源消耗,生成所述可恢复信息。10.根据权利要求8或9所述的控制节点,其特征在于,所述控制节点还包括:存储模块,用于存储所述可恢复信息,所述可恢复信息中至少一个可恢复点信息,所述可恢复点后续距离最近的下一步骤作为重新执行所述查询请求的起始步骤。11.根据权利要求10所述的控制节点,其特征在于,所述第一发送模块,还用于向所述各个数据节点发送执行所述查询请求的第三步骤信息;所述接收模块,还用于接收所述各个数据节点发送的第一成功消息,所述第一成功消息用于表示执行所述第三步骤成功;所述存储模块,还用于记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息。12.根据权利要求11所述的控制节点,其特征在于,所述处理模块,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第一可恢复点后续距离最近的下一步骤作为所述第二步骤。13.根据权利要求11所述的控制节点,其特征在于,所述第一发送模块,还用于向所述各个数据节点发送执行所述查询请求的第四步骤信息;所述接收模块,还用于接收所述各个数据节点发送的第二成功消息,所述第二成功消息用于表示执行所述第四步骤成功;所述存储模块,还用于记录位于所述第四步骤之前且距所述第四步骤最近的第二可恢复点信息。14.根据权利要求13所述的控制节点,其特征在于,所述处理模块,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第二可恢复点后续距离最近的下一步骤作为所述第二步骤。15.一种控制节点,其特征在于,包括:发送器,用于向系统中各个数据节点发送执行客户端查询请求的第一步骤信息;接收器,用于接收至少一个所述数据节点发送的失败消息,所述失败消息用于表示执行所述第一步骤失败或异常;处理器,用于根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,所述第二步骤为重新执行所述查询请求的起始步骤,所述可恢复信息中包括重新执行所述查询请求时无需重复执行的步骤;所述发送器,还用于向所述各个数据节点发送所述第二步骤信息。16.根据权利要求15所述的控制节点,其特征在于,所述处理器,还用于根据所述数据节点执行所述查询请求的各个步骤对应的资源消耗,生成所述可恢复信息。17.根据权利要求15或16所述的控制节点,其特征在于,所述控制节点还包括:存储器,用于存储所述可恢复信息,所述可恢复信息中至少一个可恢复点信息,所述可恢复点后续距离最近的下一步骤作为重新执行所述查询请求的起始步骤。18.根据权利要求17所述的控制节点,其特征在于,所述发送器,还用于向所述各个数据节点发送执行所述查询请求的第三步骤信息;所述接收器,还用于接收所述各个数据节点发送的第一成功消息,所述第一成功消息用于表示执行所述第三步骤成功;所述存储器,还用于记录位于所述第三步骤之前且距所述第三步骤最近的第一可恢复点信息。19.根据权利要求18所述的控制节点,其特征在于,所述处理器,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第一可恢复点后续距离最近的下一步骤作为所述第二步骤。20.根据权利要求18所述的控制节点,其特征在于,所述发送器,还用于向所述各个数据节点发送执行所述查询请求的第四步骤信息;所述接收器,还用于接收所述各个数据节点发送的第二成功消息,所述第二成功消息用于表示执行所述第四步骤成功;所述存储器,还用于记录位于所述第四步骤之前且距所述第四步骤最近的第二可恢复点信息。21.根据权利要求20所述的控制节点,其特征在于,所述处理器,根据预先设定的可恢复信息,确定执行所述查询请求的第二步骤,包括:将所述第二可恢复点后续距离最近的下一步骤作为所述第二步骤。【文档编号】G06F17/30GK103678368SQ201210341682【公开日】2014年3月26日申请日期:2012年9月14日优先权日:2012年9月14日【发明者】曹莉,吴向阳申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1