一种查询处理方法、装置及系统制造方法及图纸

技术编号:11690296 阅读:96 留言:0更新日期:2015-07-08 00:36
本发明专利技术公开了一种查询处理方法、装置及系统,包括:查询路由器将待处理的查询请求发送给多个查询引擎;接收每个查询引擎发送的对该查询请求进行处理的预判响应时间,该预判响应时间为查询引擎根据自身对应的存储引擎中存储的数据表的属性信息,预判的通过扫描该数据表对该查询请求进行处理所需的时间;向预判响应时间最小的查询引擎发送对该查询请求的处理指令。采用本发明专利技术实施例提供的方案,相比现有技术,提高了对查询的处理效率。

【技术实现步骤摘要】

本专利技术涉及数据库
,尤其涉及一种查询处理方法、装置及系统
技术介绍
目前,数据库在提供查询时,一般通过单一的查询引擎入口处理用户的查询请求。数据库将资源划分为多个队列,每个队列被分配了一定比例的计算或存储资源。当数据库接收查询请求时,根据查询请求的查询类型,将该查询请求提交到该查询请求的查询类型对应的资源队列中,由查询引擎使用该资源队列的资源对该查询请求进行处理,例如,可以根据执行查询的时间将资源队列进行划分:执行时间短暂的交互类查询或者交易类操作被指定使用第一个资源队列中的资源执行查询;执行时间较长,资源占用较多的复杂批处理任务被指定使用第二个资源队列中的资源执行查询;剩余的其他任务被指定使用第三个资源队列中的资源执行查询。上述现有的在数据库中对查询请求进行处理的方法,由于采用固定的查询规则对处理查询请求的资源进行资源调度,当某一类查询请求需要的资源较多时,可能由于对该类查询进行处理的资源队列的资源不足,无法对该查询请求进行高效处理,导致对该类查询的处理效率低。
技术实现思路
本专利技术实施例提供一种查询处理方法、装置及系统,用以解决现有技术中存在的在数据库中对查询进行处理的效率低的问题。本专利技术实施例提供一种查询处理方法,包括:查询路由器将待处理的查询请求发送给多个查询引擎;接收每个所述查询引擎发送的对所述查询请求进行处理的预判响应时间,所述预判响应时间为查询引擎根据自身对应的存储引擎中存储的数据表的属性信息,预判的通过扫描所述数据表对所述查询请求进行处理所需的时间;向预判响应时间最小的查询引擎发送对所述查询请求的处理指令。采用本专利技术实施例提供的方法,由于采用数据库中多个查询引擎中执行查询请求的预判响应时间最小的查询引擎中的资源对查询请求进行处理,可以动态的为查询请求分配查询引擎,采用所分配的查询引擎中的资源对查询请求进行处理,不需要使用查询引擎中固定的资源队列中的资源对查询请求进行处理,提高了对查询的处理效率。进一步的,将待处理的查询请求发送给多个查询引擎,具体为:通过待处理的查询请求的查询类型与每个查询引擎可处理查询的类型进行比对,将所述查询请求发送给可处理该查询请求的多个查询引擎。进一步的,将待处理的查询请求发送给多个查询引擎,具体为:将根据预设查询请求优先策略确定的优先级最高的待处理查询请求发送给多个查询引擎。进一步的,上述方法,还包括:在向预判响应时间最小的查询引擎发送对所述查询请求的处理指令之后,记录所述查询请求与处理该查询请求的查询引擎的对应关系。进一步的,上述方法,还包括:在向预判响应时间最小的查询引擎发送对所述查询请求的处理指令之后,当接收到该查询引擎发送的表征该查询引擎处理所述查询请求的资源不足的消息时,按照预判响应时间从小到大的顺序,从所述多个查询引擎中除该查询引擎之外的查询引擎中,向预判响应时间最小的查询引擎发送对所述查询请求的处理指令。本专利技术实施例提供一种查询处理方法,包括:查询引擎接收查询路由器发送的查询请求;根据自身对应的存储引擎中存储的数据表的属性信息,预判通过扫描所述数据表对所述查询请求进行处理所需的时间,作为自身对所述查询请求进行处理的预判响应时间;将所述预判响应时间发送给所述查询路由器;当接收到所述查询路由器发送的对所述查询请求的处理指令时,采用自身的资源对所述查询请求进行处理。采用本专利技术实施例提供的方法,由于采用数据库中多个查询引擎中执行查询请求的预判响应时间最小的查询引擎中的资源对查询请求进行处理,可以动态的为查询请求分配查询引擎,采用所分配的查询引擎中的资源对查询请求进行处理,不需要使用查询引擎中固定的资源队列中的资源对查询请求进行处理,提高了对查询的处理效率。进一步的,当接收到所述查询路由器发送的对所述查询请求的处理指令时,采用自身的资源对所述查询请求进行处理,具体包括:当接收到所述查询路由器发送的对所述查询请求的处理指令时,根据与自身对应的存储引擎中存储的数据表的属性信息,确定通过扫描所述数据表对所述查询请求进行处理所需的资源;当确定自身的空闲资源不小于对所述查询请求进行处理所需的资源时,采用自身的空闲资源对所述查询请求进行处理。进一步的,采用自身的空闲资源对所述查询请求进行处理,具体包括:在自身的多个资源队列中,根据预设资源队列选择策略选择一个资源队列对所述查询请求进行处理。进一步的,上述方法,还包括:当确定自身的空闲资源小于对所述查询请求进行处理所需的资源时,向所述查询路由器发送表征自身处理所述查询请求的资源不足的消息。本专利技术实施例还提供了一种查询处理装置,包括:查询请求发送单元,用于将待处理的查询请求发送给多个查询引擎;接收单元,用于接收每个所述查询引擎发送的对所述查询请求进行处理的预判响应时间,所述预判响应时间为查询引擎根据自身对应的存储引擎中存储的数据表的属性信息,预判的通过扫描所述数据表对所述查询请求进行处理所需的时间;第一处理指令发送单元,用于向预判响应时间最小的查询引擎发送对所述查询请求的处理指令。采用本专利技术实施例提供的装置,由于采用数据库中多个查询引擎中执行查询请求的预判响应时间最小的查询引擎中的资源对查询请求进行处理,可以动态的为查询请求分配查询引擎,采用所分配的查询引擎中的资源对查询请求进行处理,不需要使用查询引擎中固定的资源队列中的资源对查询请求进行处理,提高了对查询的处理效率。进一步的,所述查询请求发送单元,具体用于通过待处理的查询请求的查询类型与每个查询引擎可处理查询的类型进行比对,将所述查询请求发送给可处理该查询请求的多个查询引擎。进一步的,所述查询请求发送单元,具体用于将根据预设查询请求优先策略确定的优先级最高的待处理查询请求发送给多个查询引擎。进一步的,上述装置,还包括:记录单元,用于在向预判响应时间最小的查询引擎发送对所述查询请求的处理指令之后,记录所述查询请求与处理该查询请求的查询引擎的对应关系。进一步的,上述装置,还包括: 第二处理指令发送单元,用于当接收到该查询引擎发送的表征该查询引擎处理所述查询请求的资源不足的消息时,按照预判响应时间从小到大的顺序,从所述多个查询引擎中除该查询引擎之外的查询引擎中,向预判响应时间最小的查询引擎发送对所述查询请求的处理指令。本专利技术实施例还提供了一种查询处理装置,包括:接收单元,用于接收查询路由器发送的查询请求;响应时间预判单元,用于根据自身对应的存储引擎中存储的数据表的属性信息,预判通过扫描所述数据表对所述查询请求进行处理所需的时间,作为自身对所述查询请求进行处理的预判响应时间;第一发送单元,用于将所述预判响应时间发送给所述查询路由器;处理单元,用于当接收到所述查询路由器发送的对所述查询请求的处理指令时,采用自身的资源对所述查询请求进行处理。采用本专利技术实施例提供的装置,由于采用数据库中多个查询引擎中执行查询请求的预判响应时间最小的查询引擎中的资源对查询请求进行处理,可以动态的为查询请求分配查询引擎,采用所分配的查询引擎中的资源对查询请求进行处理,不需要使用查询引擎中固定的资源队列中的资源对查询请求进行处理,提高了对查询的处理效率。进一步的,所述处理单元,具体用于当接收到所述查询路由器发送的对所述查询请求的处理指令时,根据与自身对应的存储引擎中存储的数本文档来自技高网...
一种查询处理方法、装置及系统

【技术保护点】
一种查询处理方法,其特征在于,包括:查询路由器将待处理的查询请求发送给多个查询引擎;接收每个所述查询引擎发送的对所述查询请求进行处理的预判响应时间,所述预判响应时间为查询引擎根据自身对应的存储引擎中存储的数据表的属性信息,预判的通过扫描所述数据表对所述查询请求进行处理所需的时间;向预判响应时间最小的查询引擎发送对所述查询请求的处理指令。

【技术特征摘要】

【专利技术属性】
技术研发人员:齐骥钱岭高丹邓展成李光瑞
申请(专利权)人:中国移动通信集团公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1