CN110069511B - 一种数据查询的分配方法及装置 - Google Patents
一种数据查询的分配方法及装置 Download PDFInfo
- Publication number
- CN110069511B CN110069511B CN201710887132.4A CN201710887132A CN110069511B CN 110069511 B CN110069511 B CN 110069511B CN 201710887132 A CN201710887132 A CN 201710887132A CN 110069511 B CN110069511 B CN 110069511B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- data processing
- queried
- processing cluster
- 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/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据查询的分配方法及装置,涉及数据处理技术领域,为解决现有的数据查询时全部数据均统一处理,使得当存在数据量较大查询时占用磁盘带宽而导致数据量较小的查询仍需等待很长时间,造成的数据查询的效率较低的问题。本发明的方法包括:接收数据查询请求;根据所述标识信息,获取与所述待查询数据对应的数据量信息;按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群。本发明适合应用在数据查询的分配中。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据查询的分配方法及装置。
背景技术
随着网络技术的不断发展,企业信息系统产生了大量的业务数据,而从这些海量的业务数据中提取出对企业决策分析有用的信息,这成为企业决策管理人员十分重视和关注的方面。为此,以支持决策管理分析为主要目的的OLAP(On-Line AnalyticalProcessing,联机分析处理)已成为广泛应用的分析处理方法。用户可以通过OLAP从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解。
通常情况下,在进行OLAP线上分析处理时需要读取大量的数据来进行查询和处理,而目前在查询数据时无论数据量大小,均在相同的处理器中进行查询和处理,因此当存在数据量很大的查询时会占据处理器磁盘带宽,使得数据量较小的查询需要的时间很长,导致数据查询效率较低的问题。
发明内容
鉴于上述问题,本发明提供一种数据查询的分配方法及装置,主要目的在于将不同数据量的数据查询分配在不同的数据处理集群中进行查询。
为解决上述技术问题,第一方面,本发明提供了一种数据查询的分配方法,该方法包括:
接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息;
根据所述标识信息,获取与所述待查询数据对应的数据量信息,所述数据量信息用于标识所述待查询数据的数据量;
按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。
可选的,所述方法还包括:
创建多个数据处理集群,其中每个数据处理集群分别用于查询不同数据量范围的数据;
配置与所述各个数据处理集群分别对应的数据量标识符,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。
可选的,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群包括:
根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围;
根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
可选的,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群之后,所述方法还包括:
检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器;
若存在,则触发所述处理器对所述待查询数据进行查询;
若不存在,则将所述数据查询请求添加至等待队列,所述等待队列中保存有按照时间顺序排列的一个或多个数据查询请求。
可选的,所述方法还包括:
按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;
根据检测结果对所述数据处理集群进行更新。
第二方面,本发明还提供了一种数据查询的分配装置,该装置包括:
接收单元,用于接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息;
获取单元,用于根据所述标识信息,获取与所述待查询数据对应的数据量信息,所述数据量信息用于标识所述待查询数据的数据量;
分配单元,用于按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。
可选的,所述装置还包括:
创建单元,用于创建多个数据处理集群,其中每个数据处理集群分别用于查询不同数据量范围的数据;
配置单元,用于配置与所述各个数据处理集群分别对应的数据量标识符,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。
可选的,所述分配单元包括:
确定模块,用于根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围;
分配模块,用于根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
可选的,所述装置还包括:
检测单元,用于检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器;
触发单元,用于若在所述与所述数据查询请求对应的数据处理集群中存在可用处理器,则触发所述处理器对所述待查询数据进行查询;
添加单元,用于若在所述与所述数据查询请求对应的数据处理集群中不存在可用处理器,则将所述数据查询请求添加至等待队列,所述等待队列中保存有按照时间顺序排列的一个或多个数据查询请求。
可选的,所述装置还包括:更新单元,
所述检测单元,还用于按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;
所述更新单元,用于根据检测结果对所述数据处理集群进行更新。
为了实现上述目的,根据本发明的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据查询的分配方法。
为了实现上述目的,根据本发明的第四方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的数据查询的分配方法。
借由上述技术方案,本发明提供的数据查询的分配方法及装置,对于现有技术在通过联机分析处理查询数据时,在读取时将全部数据使用相同的处理器进行查询和处理,当存在数据量很大的查询时会占据处理器的磁盘带宽,使得原本可以很快完成的数据量较小的查询需要等待很长时间,本发明通过根据接收到的数据查询请求中携带的与待查询数据对应的标识信息,首先查询得到待查询数据量的大小,并根据得到的数据量结果分配此次数据查询对应的数据处理集群,因此相比于现有技术,本发明在通过联机分析处理进行数据查询时,将不同数据量的数据查询分配在不同的数据处理集群中进行查询,使得数据量很大的查询和数据量较小的查询分别使用不同的处理器,避免了当存在数据量较大的查询时占用了处理器磁盘带宽而导致原本可以很快查询的较小数据需要等待很长时间,造成的数据查询效率较低的问题,从而提高了数据查询的效率;此外,根据本发明的方法通过按照一定的时间间隔对处理器的数据查询性能进行检测,使得当数据处理集群中存在查询性能下降的处理器时,可以及时的对处理器对应的数据处理集群进行调整,避免了当处理器已无法支持对数据量很大的数据查询时,仍然在用于查询较大数据量的数据处理集群中却无法及时完成对数据的查询,而造成的数据查询效率较低的问题,从而进一步的提高了数据查询的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据查询的分配方法流程图;
图2示出了本发明实施例提供的另一种数据查询的分配方法流程图;
图3示出了本发明实施例提供的一种数据查询流程示意图;
图4示出了本发明实施例提供的一种数据查询的分配装置的组成框图;
图5示出了本发明实施例提供的另一种数据查询的分配装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了提高数据查询的效率,本发明实施例提供了一种数据查询的分配方法,如图1所示,该方法包括:
101、接收数据查询请求。
其中,所述数据查询请求中携带有与待查询数据对应的标识信息。而所述与待查询数据对应的标识信息可以为查询数据所在文件夹名称、数据所述种类名称等,本发明实施例不做具体限定。
需要说明的是,对于本发明实施例的执行主体可以为配置在联机分析数据处理系统中用于查询数据的装置,当该装置接收到用户通过发送的数据查询请求时,说明此刻需要查询数据,触发接收指令,进而实现分配相应的数据处理集群对此次数据查询请求对应的数据进行查询。
102、根据所述标识信息,获取与所述待查询数据对应的数据量信息。
其中,所述数据量信息用于标识所述待查询数据的数据量。应用中,可以从预置数据库中获取与待查询数据对应的数据量信息。所述预置数据库中至少保存有全部用于查询的数据,以及与各条数据分别对应的标识信息和数据量信息。而所述数据量可以为10KB、125GB、3TB等,本发明实施例不做具体限定。
对于本发明实施例,可以预先创建数据库,并将供不同用户查询的数据全部保存在数据库中,而具体地例如可以将数据库划分为多个区域,每个区域用于保存不同类别的数据,每条数据均写入数据表中,而与每条数据同时写入数据表中的还有该条数据对应的标识信息,以及该条数据的数据量值,数据表可以如下表一所示,但不限于此:
表一
因此,当获取到数据标识信息后,可以根据标识信息利用爬虫、正则表达式进行搜索等方式,从数据库中获取到与待查询数据对应的数据量大小。
103、按照所述数据量信息,分配与所述数据查询对应的数据处理集群。
其中,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。而所述数据处理集群可以为2个、5个或10个等,本发明实施例不做具体限定。具体地,所述103可以为根据各个数据查询的数据量划分为多个数据量范围,每个数据量分别对应不同的数据处理集群。在实际应用中,可以根据处理器的处理性能划分,例如将性能较高的处理器分配用来处理数据量较大的数据查询,而相对性能较低的处理器则用来处理数据量较小的数据查询。
例如,在联机分析处理系统中包含有6台处理器,分别为处理器1、处理器2、……、处理器6,根据各个处理器的性能将划分为两个数据处理集群,分别为数据处理集群1{处理器1、处理器2、处理器4、处理器6}和数据处理集群2{处理器3、处理器5},其中数据处理集群1中的各个处理器用来处理数据量低于阈值10GB的数据查询,而数据处理集群2中各个处理器用来处理数据量大于或等于阈值10GB的数据查询。当接收到数据查询请求时,获取到待查询数据的标识信息为数据a,根据标识信息数据a在预置数据库中获取到数据a对应的数据量为6.3GB<10GB,因此将对数据a的查询任务分配给数据处理集群1执行。
本发明实施例提供的数据查询的分配方法,对于现有技术在通过联机分析处理查询数据时,在读取时将全部数据使用相同的处理器进行查询和处理,当存在数据量很大的查询时会占据处理器的磁盘带宽,使得原本可以很快完成的数据量较小的查询需要等待很长时间,本发明通过根据接收到的数据查询请求中携带的与待查询数据对应的标识信息,首先查询得到待查询数据量的大小,并根据得到的数据量结果分配此次数据查询对应的数据处理集群,因此相比于现有技术,本发明在通过联机分析处理进行数据查询时,将不同数据量的数据查询分配在不同的数据处理集群中进行查询,使得数据量很大的查询和数据量较小的查询分别使用不同的处理器,避免了当存在数据量较大的查询时占用了处理器磁盘带宽而导致原本可以很快查询的较小数据需要等待很长时间,造成的数据查询效率较低的问题,从而提高了数据查询的效率。
进一步的,作为对图1所示实施例的细化及扩展,本发明实施例还提供了另一种数据查询的分配方法,如图2所示。
201、创建多个数据处理集群。
其中每个数据处理集群分别用于查询不同数据量范围的数据。所述数据处理集群相关的概念解释和实施方式可以参考所述步骤103中的相应描述,再次不再赘述。
202、配置与所述各个数据处理集群分别对应的数据量标识符。
其中,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。而所述标识符可以为数据处理群集对应的数据量范围,也可以为预先设定的数据量排序级别等,本发明实施例不做具体限定。
例如,当创建了3个数据处理群集,分别为数据处理群集a、数据处理群集a和数据处理群集c,这三个数据处理群集分别用来处理数据量1bit~1GB的数据、数据量1GB~10GB的数据、数据量10GB~100GB的数据,可以将这三个数据处理集群根据能够查询数据量范围进行排序,并将三个数据处理集群分别配置标识符:1级、2级和3级。
对于本发明实施例,通过将联机分析处理系统中包含的处理器划分为多个数据处理集群,并且将各个数据处理集群配置相应的数据量标识符,从而使得不同数据量的数据查询对应着不同的数据处理集群,从而实现了通过将处理器划分查询数据,达到将数据量较大的查询和数据量较小的查询分开查询的目的,进而提高了数据查询的效率。
203、接收数据查询请求。
其中,所述数据查询请求中携带有与待查询数据对应的标识信息。所诉标识信息的概念解释可以参考所述步骤101中的相应描述,在此不再赘述。
204、根据所述标识信息,获取与所述待查询数据对应的数据量信息。
其中,所述数据量信息用于标识所述待查询数据的数据量。具体地,本步骤可以通过调用预置函数根据标识信息获取数据量信息,例如可以根据通过Explain SQL等方式进行获取,本发明实施例不做具体限定。
205、根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围。
对于本发明实施例,可以预先根据一定历史时间段内所查询的全部数据进行统计分析,而后确定多个不同的数据量范围,而此数据量范围与所述步骤202中所述的不同数据处理集群相一致,从而可以确保在得到待查询数据对应的数据量范围时能够准确无误的对应得到相应的数据处理集群,从而提高了数据查询的准确性。
206、根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
需要说明的是,对于本发明实施例,可以预先创建数据表,并将每个数据处理集群对应的查询数据量和数据量标识符一一对应的保存在数据表中,从而根据待查询数据对应的数据量范围在数据表中查询与待查询数据对应的数据处理集群。
进一步地,当待查询数据的数据量为,两个相邻数据处理集群的临界数据量的预设误差范围内的数据量时,则对于此次查询可以根据实际情况交给这两个相邻数据处理集群进行处理即可。例如,数据处理集群M对应的数据量范围是105KB~500KB,数据处理集群N对应的数据量范围是500KB~800KB,当检测到待查询数据的数据量为502KB时,由于数据处理集群M和数据处理集群N的临界值500KB,且该数据值在该临界值的允许误差500KB±10KB内,此时可以将该数据的查询交给数据处理集群M或数据处理集群N,具体可以根据实际情况分配。
对于本发明实施例,通过将数据处理集群按照数据量进行标识,从而在确定了待查询数据对应的数据量范围时,便可以对应得到待查询数据对应的数据处理集群,从而可以准确的将数据查询请求分配到相应的数据处理集群中,提高了数据查询的准确率,并且通过按照数据量划分可以将数据量较大的查询和数据量较小的查询分开查询,避免了无区分查询时大数据查询占用磁盘带宽而导致的小数据查询十分缓慢的问题,提高了数据查询的效率。
207、检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器。
其中,所述可用处理器为在当前没有进行其他数据查询处理的处理器。具体的,可以通过现有技术中的监控方式,对各个数据处理集群中的处理器工作状态进行监督记录,从而可以实时检测到当前在数据处理集群中是否存在可用处理器,本发明对此不做赘述。
208a、若存在,则触发所述处理器对所述待查询数据进行查询。
当检测到存在可用处理器时,可以从可用处理器中任意分配一个处理器用来根据数据查询请求进行数据查询。对于本发明实施例,通过在检测存在可用处理器后再分配相应的处理器进行数据查询,避免了在无可用处理器时仍然将数据查询请求分配到相应的数据处理集群造成的信息丢失的问题,从而可以确保数据查询准确无误的进行,进而提高了数据查询的准确性。
与所述步骤208a并列的步骤208b、若不存在,则将所述数据查询请求添加至等待队列。
其中,所述等待队列中保存有按照时间顺序排列的一个或多个数据查询请求。需要说明的是,当此时不存在可用处理器时,按照数据查询请求的先后顺序添加到队列中,从而当一旦存在可用处理器按照顺序依次对数据查询请求进行相应的处理。对于本发明实施例,通过在不存在可用处理器时,按照不同的数据查询请求对应的先后顺序依次进行等待、处理,可以避免无序插入造成的数据查询请求等待时间很长的问题,确保数据查询过程可以有序、无误的进行,从而提高了数据查询的准确率和效率。
进一步的,对于本发明实施例,所述方法还可以包括:按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;根据检测结果对所述数据处理集群进行更新。所述预置时间间隔可以为3天、两周、一个月等,本发明实施例不做具体限定。例如,当检测到处理器的数据查询性能下降时,可以将其从用于处理较大数据的数据处理集群中调整至用于处理数据量较小的数据处理集群中。对于本发明实施例,通过及时检测处理器的数据查询性能并进行相应的调整,可以避免由于处理器性能下降时造成的数据处理较慢而浪费时间的问题,从而进一步提高了数据查询的效率。
进一步的,根据步骤201-208b所述的方法,结合图3所示的数据查询流程示意图,本发明实施例还可以提供一结合具体的应用场景下数据查询的分配的实施方式,所述实施过程分为四个执行步骤,具体的,如下所述:
第一步、将联机分析处理系统中的处理器划分为两个数据处理集群,分别为数据处理集群A和数据处理集群B,并设定相应的阈值,对于超过该阈值时的数据量确定为大查询,并分配给数据处理集群B进行处理,对未超过阈值的数据量确定为小查询,并分配给数据处理集群A进行处理。
第二步、当用户在后台提交数据查询时,接收数据查询请求,并获取数据查询请求中携带的与用户欲查询数据对应的标识信息。
第三步、利用Explain SQL方式获取到该数据查询对应的数据量,并检测该数据量是否超过预设阈值。
第四步、当超过该阈值时,判断此次查询为大查询,并将此次数据查询分配给数据处理集群B进行处理;当未超过该阈值时,判断此次查询为小查询,并将此次数据查询分配给数据处理集群A进行处理。
但需要说明的是,上述应用场景所述的具体实施方式仅仅是示例性的,并非本发明实施例的唯一具体实施方式,在此仅为符合本发明所述的方法的优化实施方式之一。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供了一种数据查询的分配装置,用于对上述图1所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图4所示,该装置包括:接收单元31、获取单元32、分配单元33,其中
接收单元31,可以用于接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息。
获取单元32,可以用于根据所述接收单元31中接收的数据查询请求中携带的标识信息,获取与所述待查询数据对应的数据量信息,所述数据量信息用于标识所述待查询数据的数据量。
分配单元33,可以用于按照所述获取单元32获取到的数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。
进一步的,作为对上述图2所示方法的实现,本发明实施例还提供了另一种数据查询的分配装置,用于对上述图2所示的方法进行实现。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。如图5所示,该装置包括:接收单元401、获取单元402、分配单元403,其中
接收单元401,可以用于接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息。
获取单元402,可以用于根据所述接收单元401中接收的数据查询请求中携带的标识信息,获取与所述待查询数据对应的数据量信息,所述数据量信息用于标识所述待查询数据的数据量。
分配单元403,可以用于按照所述获取单元402获取到的数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。
进一步的,所述装置还包括:
创建单元404,可以用于创建多个数据处理集群。
配置单元405,可以用于配置与所述各个数据处理集群分别对应的数据量标识符。
进一步的,所述装置还包括:确定单元406,
所述确定单元406,可以用于根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围。
所述分配单元403,具体可以用于根据所述查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
进一步的,所述装置还包括:
检测单元407,可以用于检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器。
触发单元408,可以用于若存在,则触发所述处理器对所述待查询数据进行查询。
添加单元409,可以用于若不存在,则将所述数据查询请求添加至等待队列。
进一步的,所述装置还包括:更新单元410,
所述检测单元407,还可以用于按照预置时间间隔,对所述处理器对应的数据查询性能进行检测。
所述更新单元410,可以用于根据检测结果对所述数据处理集群进行更新。
本发明实施例提供的另一种数据查询的分配装置。所述装置包括:接收单元、获取单元及分配单元。对于现有技术在通过联机分析处理查询数据时,在读取时将全部数据使用相同的处理器进行查询和处理,当存在数据量很大的查询时会占据处理器的磁盘带宽,使得原本可以很快完成的数据量较小的查询需要等待很长时间,本发明通过根据接收到的数据查询请求中携带的与待查询数据对应的标识信息,首先查询得到待查询数据量的大小,并根据得到的数据量结果分配此次数据查询对应的数据处理集群,因此相比于现有技术,本发明在通过联机分析处理进行数据查询时,将不同数据量的数据查询分配在不同的数据处理集群中进行查询,使得数据量很大的查询和数据量较小的查询分别使用不同的处理器,避免了当存在数据量较大的查询时占用了处理器磁盘带宽而导致原本可以很快查询的较小数据需要等待很长时间,造成的数据查询效率较低的问题,从而提高了数据查询的效率;此外,根据本发明的方法通过按照一定的时间间隔对处理器的数据查询性能进行检测,使得当数据处理集群中存在查询性能下降的处理器时,可以及时的对处理器对应的数据处理集群进行调整,避免了当处理器已无法支持对数据量很大的数据查询时,仍然在用于查询较大数据量的数据处理集群中却无法及时完成对数据的查询,而造成的数据查询效率较低的问题,从而进一步的提高了数据查询的效率。
所述文本处理装置包括处理器和存储器,上述接收单元31、获取单元32、分配单元33等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来提高数据查询的效率。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据查询的分配方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据查询的分配方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息;根据所述标识信息,获取与所述待查询数据对应的数据量信息,所述数据量信息用于标识所述待查询数据的数据量;按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。
进一步的,所述方法还包括:
创建多个数据处理集群,其中每个数据处理集群分别用于查询不同数据量范围的数据;
配置与所述各个数据处理集群分别对应的数据量标识符,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。
进一步的,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群包括:
根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围;
根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
进一步的,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群之后,所述方法还包括:
检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器;
若存在,则触发所述处理器对所述待查询数据进行查询;
若不存在,则将所述数据查询请求添加至等待队列,所述等待队列中保存有按照时间顺序排列的一个或多个数据查询请求。
进一步的,所述方法还包括:
按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;
根据检测结果对所述数据处理集群进行更新。
本发明实施例中的设备可以是服务器、PC、PAD、手机等。
本发明实施例还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息;根据所述标识信息,获取与所述待查询数据对应的数据量信息,所述数据量信息用于标识所述待查询数据的数据量;按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器。
进一步的,所述方法还包括:
创建多个数据处理集群,其中每个数据处理集群分别用于查询不同数据量范围的数据;
配置与所述各个数据处理集群分别对应的数据量标识符,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。
进一步的,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群包括:
根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围;
根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
进一步的,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群之后,所述方法还包括:
检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器;
若存在,则触发所述处理器对所述待查询数据进行查询;
若不存在,则将所述数据查询请求添加至等待队列,所述等待队列中保存有按照时间顺序排列的一个或多个数据查询请求。
进一步的,所述方法还包括:
按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;
根据检测结果对所述数据处理集群进行更新。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备
上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种数据查询的分配方法,其特征在于,所述方法包括:
接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息;
根据所述标识信息,从预置数据库中获取与所述待查询数据对应的数据量信息,所述预置数据库中保存有与各条数据分别对应的标识信息和数据量信息,所述数据量信息用于标识所述待查询数据的数据量;
按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器;
按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;
根据检测结果对所述数据处理集群进行更新,具体为:当检测到处理器的数据查询性能下降时,将其从用于处理较大数据的数据处理集群中调整至用于处理数据量较小的数据处理集群中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
创建多个数据处理集群,其中每个数据处理集群分别用于查询不同数据量范围的数据;
配置与所述各个数据处理集群分别对应的数据量标识符,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。
3.根据权利要求2所述的方法,其特征在于,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群包括:
根据所述待查询数据对应的数据量信息确定所述待查询数据对应的数据量范围;
根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群之后,所述方法还包括:
检测在所述与所述数据查询请求对应的数据处理集群中是否存在可用处理器;
若存在,则触发所述处理器对所述待查询数据进行查询;
若不存在,则将所述数据查询请求添加至等待队列,所述等待队列中保存有按照时间顺序排列的一个或多个数据查询请求。
5.一种数据查询的分配装置,其特征在于,所述装置包括:
接收单元,用于接收数据查询请求,所述数据查询请求中携带有与待查询数据对应的标识信息;
获取单元,用于根据所述标识信息,从预置数据库中获取与所述待查询数据对应的数据量信息,所述预置数据库中保存有与各条数据分别对应的标识信息和数据量信息,所述数据量信息用于标识所述待查询数据的数据量;
分配单元,用于按照所述数据量信息,分配与所述数据查询请求对应的数据处理集群,所述数据处理集群中包含有一个或多个能够执行数据查询操作的处理器;
检测单元,用于按照预置时间间隔,对所述处理器对应的数据查询性能进行检测;
更新单元,用于根据检测结果对所述数据处理集群进行更新,具体用于,当检测到处理器的数据查询性能下降时,将其从用于处理较大数据的数据处理集群中调整至用于处理数据量较小的数据处理集群中。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
创建单元,用于创建多个数据处理集群,其中每个数据处理集群分别用于查询不同数据量范围的数据;
配置单元,用于配置与所述各个数据处理集群分别对应的数据量标识符,所述数据量标识符用于标识所述数据处理集群在执行数据查询操作时对应的查询数据量范围。
7.根据权利要求6所述的装置,其特征在于,所述分配单元包括:
检测模块,用于根据所述待查询数据的数据量信息确定所述待查询数据对应的数据量范围;
分配模块,用于根据所述待查询数据对应的数据量范围和所述各个数据处理集群分别对应的数据量标识符,分配与所述数据查询请求对应的数据处理集群。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求4中任意一项所述的数据查询的分配方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求4中任意一项所述的数据查询的分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710887132.4A CN110069511B (zh) | 2017-09-26 | 2017-09-26 | 一种数据查询的分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710887132.4A CN110069511B (zh) | 2017-09-26 | 2017-09-26 | 一种数据查询的分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069511A CN110069511A (zh) | 2019-07-30 |
CN110069511B true CN110069511B (zh) | 2021-10-15 |
Family
ID=67364458
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710887132.4A Active CN110069511B (zh) | 2017-09-26 | 2017-09-26 | 一种数据查询的分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110069511B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959643A (zh) * | 2005-11-03 | 2007-05-09 | 国际商业机器公司 | 用于重新分配客户端的设备、系统和方法 |
US8996464B2 (en) * | 2012-06-11 | 2015-03-31 | Microsoft Technology Licensing, Llc | Efficient partitioning techniques for massively distributed computation |
CN106383864A (zh) * | 2016-09-02 | 2017-02-08 | 北京百度网讯科技有限公司 | 一种时序数据库的查询请求处理方法和装置 |
CN106406987A (zh) * | 2015-07-29 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种集群中的任务执行方法及装置 |
CN107229476B (zh) * | 2017-06-06 | 2020-04-28 | 山西长河科技股份有限公司 | 一种基于数据量的应用程序打包方法及装置 |
-
2017
- 2017-09-26 CN CN201710887132.4A patent/CN110069511B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1959643A (zh) * | 2005-11-03 | 2007-05-09 | 国际商业机器公司 | 用于重新分配客户端的设备、系统和方法 |
US8996464B2 (en) * | 2012-06-11 | 2015-03-31 | Microsoft Technology Licensing, Llc | Efficient partitioning techniques for massively distributed computation |
CN106406987A (zh) * | 2015-07-29 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种集群中的任务执行方法及装置 |
CN106383864A (zh) * | 2016-09-02 | 2017-02-08 | 北京百度网讯科技有限公司 | 一种时序数据库的查询请求处理方法和装置 |
CN107229476B (zh) * | 2017-06-06 | 2020-04-28 | 山西长河科技股份有限公司 | 一种基于数据量的应用程序打包方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110069511A (zh) | 2019-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684065B (zh) | 一种资源调度方法、装置及系统 | |
CN107807796B (zh) | 一种基于超融合存储系统的数据分层方法、终端及系统 | |
CN109472523B (zh) | 用于分拣货物的方法和装置 | |
CN109669776B (zh) | 检测任务的处理方法、装置和系统 | |
CN111813805A (zh) | 一种数据处理方法及装置 | |
CN106202092B (zh) | 数据处理的方法及系统 | |
US20150363229A1 (en) | Resolving task dependencies in task queues for improved resource management | |
CN107844274B (zh) | 基于超融合存储系统的硬件资源管理方法、装置及终端 | |
CN110019298B (zh) | 数据处理方法和装置 | |
CN108932257A (zh) | 多维度数据的查询方法及装置 | |
US20190158367A1 (en) | Selection of cloud service providers to host applications | |
US20200042538A1 (en) | Methods and apparatus to partition a database | |
CN105874426A (zh) | 一种系统调用命令的批处理方法及装置 | |
CN111241122A (zh) | 任务监测方法、装置、电子设备和可读存储介质 | |
CN110737717B (zh) | 一种数据库迁移方法及装置 | |
CN111600771B (zh) | 网络资源探测系统、方法 | |
CN109388644B (zh) | 一种数据更新方法及装置 | |
CN110457182A (zh) | 一种负载均衡集群实例运行指标监控系统 | |
CN102129619A (zh) | 一种基于云存储的业务数据处理方法及系统 | |
CN109977317B (zh) | 数据查询方法及装置 | |
CN110069511B (zh) | 一种数据查询的分配方法及装置 | |
CN116450691A (zh) | 一种数据资源管理方法、装置、设备及介质 | |
CN112866425A (zh) | 一种网络设备地址池分配方法及装置 | |
CN115237960A (zh) | 信息推送方法、装置、存储介质以及电子设备 | |
CN111581389B (zh) | 区域化数据分析方法、装置及云服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |