CN102054000B - 数据查询方法、装置及*** - Google Patents
数据查询方法、装置及*** Download PDFInfo
- Publication number
- CN102054000B CN102054000B CN2009102367423A CN200910236742A CN102054000B CN 102054000 B CN102054000 B CN 102054000B CN 2009102367423 A CN2009102367423 A CN 2009102367423A CN 200910236742 A CN200910236742 A CN 200910236742A CN 102054000 B CN102054000 B CN 102054000B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- server
- management
- sampled
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种数据查询方法、装置及***,用以满足用户在对数据进行查询时对数据范围和查询频率的需求。该方法包括步骤:数据查询服务器获得用户提供的数据查询条件,并根据所述数据查询条件,确定对应的数据信息;根据所述确定的数据信息、按照预设的采样规则预先从数据管理***的各区服务器管理的数据中采样得到的采样数据,确定数据查询策略,其中,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;所述数据查询服务器根据所述确定的数据查询策略,查询与所述数据信息相对应的数据。
Description
技术领域
本发明涉及计算机与通信技术领域,尤其涉及一种数据查询方法、装置及***。
背景技术
目前,在当前许多行业中,待管理和分析的数据量特别巨大,甚至达到几百TB或者PB级,例如通信行业中的话单数据,网络流量数据等,针对此类数据,可以采用分布式文件***,或者分布式半结构化存储***等数据管理***(例如Hive、Pig、CloudBase等)对数据进行管理,此类***可部署于通用PC组成的集群,每个节点管理一部分数据,***中存在唯一的主节点对各节点管理的数据进行分配,不同于传统关系数据库,此类***的优点在于通过特有的三层索引架构,可以实现基于主关键字操作对数据进行高速处理,例如,对某主关键字对应的一行数据进行增加、删除、修改,以及扫描某两个主关键字范围之内的一段数据等。
上述***中保存的数据的特点是随着时间推移,数据量不断增大,一方面,用户对***保存的最近一段时间所生成的数据的查询最为频繁,生成时间距离当前时间越近的数据,用户对其进行查询的次数往往越多,而另一方面,用户对***中保存的历史数据也会有一定的查询需要,总的来说,用户对上述***中的数据进行查询时,对最近生成的数据和历史数据都会有查询需求,并且,针对在不同时段生成的数据,用户对其进行查询的频率也存在较大差异。
目前,现有技术中提供的基于采样数据的数据查询方案往往只针对某一数据段时间内数据进行采样,比如,只针对最近生成数据进行采样,或者只针对历史数据进行采样,并且,现有技术提供的数据查询方案在对数据进行采样时,也并没有考虑用户对不同时段生成的数据会有不同的查询频率,从而现有技术提供的数据查询方案难以满足用户在对数据进行查询时对数据范围和查询频率的需求。
发明内容
本发明实施例提供一种数据查询方法、装置及***,用以满足用户在对数据进行查询时对数据范围和查询频率的需求。
本发明实施例采用以下技术方案:
一种数据查询方法,包括:数据查询服务器获得用户提供的数据查询条件;所述数据查询服务器根据所述数据查询条件,确定所述数据查询条件对应的数据信息;根据所述确定的数据信息、按照预设的采样规则预先从数据管理***的各区服务器管理的数据中采样得到的采样数据,确定对所述管理的数据进行查询时所根据的数据查询策略,其中,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;所述数据查询服务器根据所述确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据。
较佳地,在上述方法中,所述采样率的设定方式可以为:对应于所述时间差由小至大的顺序或对应于预先设定的用户对不同时间点生成的数据的查询频率由高至低的顺序,所述数据查询服务器将预设的用于存储所述采样数据的存储空间划分为由大至小的存储子空间;以及针对在同一时间点生成的数据,将对应于该同一时间点生成的数据的存储子空间的大小除以所述各区服务器管理的该同一时间点生成的数据的总量所得的计算结果,设为对所述各区服务器管理的该同一时间点生成的数据进行采样所用的采样率。
较佳地,所述数据查询服务器根据所述数据信息以及所述采样数据,确定所述数据查询策略具体可以包括:所述数据查询服务器根据所述数据信息,从所述采样数据中,确定与所述各数据信息相关的数据,并针对每一数据信息,确定与该数据信息相关的数据的个数;按照所述确定的个数由少至多的顺序,对应确定对所述管理的数据进行查询时所采用的由先至后的数据查询顺序,并将依据所述确定的数据查询顺序对数据进行查询的方式确定为所述数据查询策略。
较佳地,所述数据查询服务器根据所述确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据具体可以为:所述数据查询服务根据所述确定的数据查询策略,分别针对所述各区服务器管理的数据,同步查询与所述数据信息相对应的数据。
一种数据查询装置,包括:获得单元,用于获得用户提供的数据查询条件;数据信息确定单元,用于根据获得单元获得的数据查询条件,确定所述数据查询条件对应的数据信息;查询策略确定单元,用于根据数据信息确定单元确定的数据信息、按照预设的采样规则预先从数据管理***的各区服务器管理的数据中采样得到的采样数据,确定对所述管理的数据进行查询时所根据的数据查询策略,其中,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;查询单元,用于根据查询策略确定单元确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据。
一种数据查询***,包括计划编制服务器和执行服务器,其中:所述计划编制服务器,用于按照预设的采样规则,从数据管理***的各区服务器管理的数据中进行采样,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;所述执行服务器,用于获得用户提供的数据查询条件,并根据所述数据查询条件,确定所述数据查询条件对应的数据信息,以及根据所述确定的数据信息、所述采样数据,确定对所述管理的数据进行查询时所根据的数据查询策略,并根据所述确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据。
本发明实施例通过数据查询服务器根据用户提供的数据查询条件,以及按照预设的采样规则预先从数据管理***的各区服务器管理的数据中采样得到的采样数据,来确定所述数据查询条件对应的数据信息以及对所述管理的数据进行查询时所根据的数据查询策略,并根据确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据,其中,由于本发明实施例中所使用的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样,因此,本发明实施例提供的该方法在对最近生成的数据进行采样的同时,还能够对历史数据进行采样,并且,由于本发明实施例提供的该方法所用的采样规则考虑到了用户对不同时期生成的数据的查询频率,对最近生成的数据采用较大的采样率,对历史数据采用较小的采样率,从而本发明实施例提供的该方法能够满足用户在对数据进行查询时对数据范围和查询频率的需求。
附图说明
图1为本发明实施例提供的一种数据查询方法的具体流程示意图;
图2a为本发明实施例提供的数据查询方法在实际中的应用流程示意图;
图2b为本发明实施例中数据生成时间与年龄段相对应的示意图;
图3为本发明实施例提供的一种数据查询装置的具体结构示意图;
图4为本发明实施例提供的一种数据查询***的具体结构示意图。
具体实施方式
本发明实施例提供一种数据查询方案,用以满足用户在对数据进行查询时对数据范围和查询频率的需求,该方案的主要思想在于,考虑到用户在对数据进行查询时,不仅需要对最近生成的数据进行查询,还需要对历史数据进行查询,并且,用户对最近生成的数据的查询频率较高,对历史数据的查询频率较低,因此,本发明实施例在预先对数据进行采样时,采用了按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样的采样规则,从而采样数据中不仅包含有最近生成的数据,也包含有历史数据,并且,由于采样率的不同,最近生成的数据占采样数据的比例大于历史数据占采样数据的比例,从而利用本发明提供的方案得到的采样数据能够满足用户对数据的查询需求。
具体地,下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
本发明实施例首先提供一种数据查询方法,其具体流程示意图如图1所示,包括以下步骤:
步骤11,数据查询服务器获得用户提供的数据查询条件;
步骤12,数据查询服务器根据获得的用户提供的数据查询条件,确定与该条件对应的数据信息,比如,数据查询服务器可以通过对数据查询条件的解析,来获得与该数据查询条件对应的数据信息,但若用户输入的数据查询条件直接就是数据信息,则无需对数据查询条件进行解析;
步骤13,数据查询服务器根据确定的数据信息、按照预设的采样规则预先从数据管理***的各区服务器(RegionServer)管理的数据中采样得到的采样数据,来确定对管理的数据进行查询时所根据的数据查询策略,其中,预设的采样规则为按照对RegionServer管理的数据进行采样的时间点与生成RegionServer管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对各RegionServer管理的数据进行采样;
步骤14,数据查询服务器根据确定的数据查询策略,在RegionServer管理的数据中,查询与确定的数据信息相对应的数据,由于数据管理***中的一般有多个RegionServer,各个RegionServer分别管理有大量的数据,因此,为了提高查询效率,本发明实施例的该步骤14中,可以通过数据查询服务根据确定的数据查询策略,分别针对各区服务器管理器管理的数据,同步查询与确定的数据信息相对应的数据。
在本发明实施例中,可以在数据查询服务器中预设用于存储采样数据的存储空间,并可以按照下述方式,计算对不同生成时间的数据进行采样的采样率:
首先,对应于步骤13中所述的时间差由小至大的顺序或对应于预先设定的用户对不同时间点生成的数据的查询频率由高至低的顺序,数据查询服务器将预设的用于存储采样数据的存储空间划分为由大至小的存储子空间,比如,若当前时间为2009年8月1日,而RegionServer管理的数据包括:2009年1季度生成的数据、2009年2季度生成的数据、2009年7月生成的数据,而预设的存储空间为100M,那么,按照本发明实施例提供的对存储空间进行划分的方案,数据查询服务器就可以将存储空间划分为3个部分,并将用于存储2009年第1季度生成的数据的存储子空间设为20M,将用于存储2009年2季度生成的数据的存储子空间设为30M,而将用于存储2009年7月生成的数据的存储子空间设为50M,或者,若预先设定了用户对不同时时间点生成的数据的查询频率,比如,用户对2009年1季度生成的数据的查询频率较低,对2009年2季度生成的数据的查询频率一般,而对2009年7月生成的数据的查询频率较高,则也可以类似地将存储空间划分为如上的三个部分;
在对存储空间进行划分后,针对在同一时间点生成的数据,将对应于该同一时间点生成的数据的存储子空间的大小除以各RegionServer管理的该同一时间点生成的数据的总量所得的计算结果,设为对各RegionServer管理的该同一时间点生成的数据进行采样所用的采样率,比如,若RegionServer管理的2009年2季度生成的数据总量为3G,而按照上述假设,当前划分出的用于存储2009年2季度生成的数据的存储子空间为30M,则按照本发明实施例提供的采样率计算方案,可计算得到对RegionServer管理的2009年2季度生成的数据进行采样的采样率应该为
此外,在本发明实施例的步骤13中,数据查询服务器根据确定的数据信息以及采样数据,来确定对管理的数据进行查询时所根据的数据查询策略具体可以采用以下步骤实现:
首先,数据查询服务器从采样数据中,确定与各数据信息相关的数据,并针对每一数据信息,确定与该数据信息相关的数据的个数,比如,当用户提供的数据查询条件为对手机号码为139****0000的用户在2008年8月8日访问www.chinamobile.com的记录进行查询,则根据步骤12,根据该查询条件,数据查询服务器可以确定与该条件对应的数据信息为“2008年8月8日、13910620000”、“2008年8月8日、www.chinamobile.com”,因此,数据查询服务器可以从采样数据中,确定与该三个数据信息相关的数据,并针对每一数据信息,统计出与该数据信息相关的数据的个数,比如,可以统计出在2008年8月8日,与号码段1391062****相关的数据个数为100个,在2008年8月8日,与访问“www.chinamobile.com”相关的数据个数为10个;
然后,按照上述确定的数据个数由少至多的顺序,对应确定对RegionServer管理的数据进行查询时所采用的由先至后的数据查询顺序,在本发明实施例中,可以将利用确定的数据查询顺序对数据进行查询的方式确定为所述数据查询策略,此外,本发明实施例中,还可以根据对采样数据的分析,确定对数据进行查询时所用的查询树结构等,并将利用查询树结构等对数据进行查询的方式确定为所述数据查询策略,比如,依据上述统计的在2008年8月8日与号码段1391062****相关的数据个数为100个,以及在2008年8月8日与访问“www.chinamobile.com”相关的数据个数为10个,可以确定在对RegionServer管理的数据进行查询时,相应的查询顺序应该是先对2008年8月8日与访问“www.chinamobile.com”相关的数据进行查询,然后在对在2008年8月8日与号码段1391062****相关的数据进行查询,从而确定出优化的查询方案。
由于采样得到的采样数据是对RegionServer管理的海量数据的真实反映,因此,根据对采样数据进行分析得到的数据查询顺序,在对RegionServer管理的数据进行查询时,该数据查询顺序应该是最能够体现出RegionServer管理的数据的分布情况最佳查询方式,可见,按照本发明实施例提供的上述数据查询方案,能够以较高的查找效率查询到用户需要的数据。
在本发明实施例中,当数据信息有多个时,确定的数据个数由多至少的顺序与对RegionServer管理的数据进行查询时所采用的由先至后的数据查询顺序也可以不用严格地对应,比如,当与某一数据信息相关的数据个数为100个,而与另一数据信息相关的数据个数为105个时,此时也可以先对与该“另一数据信息”相关的数据进行查询,然后再对与该“某一数据信息”相关的数据进行查询。
以下针对本发明实施例提供的数据查询方法在分布式半结构化存储***中的应用为例,详细说明该方法的具体实施流程,在对该流程进行说明前,为了便于理解本发明实施例提供的方法的应用环境,有必要对分布式半结构化存储***在数据存储方面的特点进行介绍。首先,分布式半结构化存储***保存的数据具有以下一些特点:
分布式半结构化存储***中保存的数据会被冗余备份,即同样的数据在多个存储节点备有副本;
分布式半结构化存储***中的数据被存储在基于列或者列簇的结构中,所有的数据都具有行属性,即任一数据与某一个行标识(也称行关键字)相关联;
数据以一定的命名规则存储于相应的路径中;
分布式半结构化存储***中一般对数据进行分区(Region)存储,一个Region中的数据具有相邻的行关键字,***中所有的Region一般具有相同或相近的大小,例如可以都为128M,多个Region可同时存在于***中的同一的物理节点之上,由专门的管理单元对他们进行管理,该管理单元被称为区服务器(RegionServer)。
其次,分布式半结构化存储***保存数据的过程具有以下一些特点:
当数据被加载到分布式半结构化存储***时,每个逻辑行都被分配了全局唯一的行关键字(rowkey),rowkey按数据生成的时间增长,每个region负责管理一定范围的rowkey对应的数据,且在region内部,各rowkey对应的行按一定的顺序存放,一般的,若rowkey为字符串类型,则region内部rowkey的存放顺序为字典序,此外,不同region涵盖rowkey的范围不相重叠;
分布式半结构化存储***中存在一个用于为各RegionServer分配region的Master节点,在***启动或新生成region时,由Master节点负责将region分配给合适的RegionServer,Master对region的分配原则是需确保各RegionServer管理的region个数尽量均衡。
此外,对具有上述特点的分布式半结构化存储***进行数据查询相关的功能单元有计划编制服务器(PlanningServer)和执行服务器(ExecutionServer),具体如下:
PlanningServer用于根据不同的应用,采用不同的采样方法从分布式半结构化存储***的各个RegionServer管理的数据中对数据进行采样,并保存采样得到的采样数据,本发明实施例采用的采样方法将在下文的具体步骤介绍中详述,这里不再赘述,在本发明实施例中,由于PlanningServer所实现的功能是整个方案的关键,因此,应该为PlanningServer的硬件配置较高,尤其是应该为PlanningServer配置较大的内存;
ExecutionServer用于解析客户端发来的数据查询条件,获得数据信息,并对PlanningServer存储的采样数据进行分析,确定对RegionServer管理的数据进行查询的顺序,并进一步按照获得的数据信息和确定的查询顺序,生成分布式数据查询程序,以及在各RegionServer上同步启动分布式数据查询程序,并将查询到的结果返回给客户端。
在本发明实施例中,可以将PlanningServer和ExecutionServer完成的功能统一到一个服务器中,并将该服务器命名为数据查询服务器。
基于以上介绍,本发明实施例提供的数据查询方法在实际中的应用流程如图2a所示,为了便于描述,先从对数据进行采样的步骤进行介绍:
步骤21,在本步骤21中,为了对RegionServer管理的数据进行采样,首先需计算采样率,对应于分布式半结构化存储***中存储的所有数据的生成时间,为数据设置N+1个年龄段,按照这样的设置方式,生成时间在TN之后的数据,属于年龄段AN,TN-1到TN之间的属于年龄段AN-1,以此类推,生成时间在T1到T2之间的数据属于年龄段A1,而在T1之前的所有数据则属于年龄段A0,本发明实施例中数据生成时间与年龄段相对应的示意图如图2b所示。假设为采样数据设置的存储空间大小为M,根据预设的用户对不同生成时间的数据的查询频率由高至低的顺序,对不同生成时间的数据在存储空间中所占的比例进行分配,比如,针对用户查询频率最高的数据,为其分配的存储空间比例可以为P0,则该查询频率最高的数据所占的存储空间的大小为M*P0,类似的,根据查询频率由高至低的顺序,可以为其他数据对应分配由大至小的存储空间比例P1,P2......PN,则其他数据所占存储子空间大小依次为M*P1,M*P2......M*PN,在本发明实施例中,针对同一时间点生成的数据,根据RegionServer管理的在该同一时间点生成的数据的总量与为该同一时间点生成的数据分配的存储空间大小,即可以计算得到对该同一时间点生成的数据进行采样所用的采样率,比如,针对被分配的存储子空间大小为M*P0的数据,若分布式半结构化存储***的RegionServer管理的该数据的总量为R0,则对该数据进行采样所用的采样率计算公式应为具体地,本发明实施例中PlanningServer根据计算出的采样率对数据进行采样的方案可以按照如下方式实现:
公式1:对真实数据集R中的每条数据r(以rowkey标识),有函数F:R->{true,false}:若F(r)=true,则r应纳入采样数据集;若F(r)=false,则r不应纳入采样数据集。 |
构造如下F:如果|A*r2+B*r+C|mod 2128在0与f*2128之间,则F(r)=true,否则为false。其中,f为分配的数据存储子空间大小与RegionServer管理的该数据的总量的比例。 |
步骤22,ExecutionServer获得用户提供的数据查询条件,并对获得的数据查询条件进行解析,确定与该数据查询条件相对应的数据信息;
步骤23,ExecutionServer根据确定的数据信息,从步骤21获得的采样数据中,确定与各数据信息相关的数据,并针对每一数据信息,确定与该数据信息相关的数据的个数;
步骤24,按照步骤23中确定的个数由少至多的顺序,ExecutionServer对应确定对RegionServer管理的数据进行查询时所采用的由先至后的数据查询顺序,比如,如上文的例子,当统计出在2008年8月8日与号码段1391062****相关的数据个数为100个,而统计出在2008年8月8日与访问“www.chinamobile.com”相关的数据个数为10个时,可以确定在对RegionServer管理的数据进行查询时,所用的查询方案应该是先对2008年8月8日与访问“www.chinamobile.com”相关的数据进行查询,然后针对查询到的2008年8月8日与访问“www.chinamobile.com”相关的数据所在的行,再对这些行中2008年8月8日与号码段1391062****相关的数据进行查询;
步骤25,ExecutionServer根据确定的数据查询顺序,分别针对各RegionServer管理的数据,同步查询与数据信息相对应的数据。
需要说明的是,本发明实施例考虑的应用场景中,会定期地往数据分布式半结构化存储***中批量地导入大量数据(为了便于描述,以下将该批量导入的数据称为新导入数据),当批量导入数据时,可以根据新导入数据的生成时间点所在时间段与采样数据中最年轻一代采样数据的生成时间点所在时间段的比例,来确定新导入数据在用于存储最年轻一代采样数据的子存储空间中被分配的存储空间的大小,在确定出该存储空间的大小后,,根据RegionServer管理的新导入数据的总量以及该确定的存储空间大小,确定对新导入数据进行采样所用的采样率,当确定了采样率,并按照公式1的方法对新导入数据采样后,将新的采样数据置入采样数据存储空间中原用于存储最年轻一代采样数据的子存储空间中,并对最年轻一代采样数据中生成时间点相对较早的一部分数据进行覆盖,在对数据进行覆盖前,需要对当前存储在该存储空间中的最年轻一代数据中生成时间点相对较早的一部分数据重新进行采样后,将采样得到的数据转移到用于存储数据生成时间较最年轻一代采样数据(称为次年轻一代采样数据)早的子存储空间中,并将次年轻一代采样数据中生成时间点相对较早的一部分数据进行覆盖,而在对次年轻一代采用数据中的数据进行覆盖前,还需要将上述次年轻一代采样数据中生成时间点相对较早的一部分数据进行采样,并将采样得到的数据转移到用于存储数据生成时间较次年轻一代采样数据早的子存储空间中......以此类推,直至对所有采样数据都完成以上类似操作。假设新导入数据为第0代数据,第N代数据覆盖的数据所在年龄段为AN,从第N代数据中采样得到的采样数据大小为SN,则对新导入数据的采样更新流程可用下表中伪代码表示:
for(i=0;i<n;i++){ //对所有代的数据,i为第i代数据u=Ai-batch/Ai+1; //第i代数据中需要采样的数据相对于i+1代数据的比例sub=Si+1*u; //计算从第i代数据中采样得到的用于替换i+1代数据的数据量SPrate=sub/Si-batch; //计算对第i代数据进行采样的采样率R(i+1)-batch=Sampling(Ri-batch,SPrate);//利用公式1对第i代数据进行采样,并用采样得到的数据作为第i+1代采样数据} |
为了更清楚的说明采样算法的全部流程,现举例说明。假设应用场景为运营商话单数据,用户经常查询的是当前一个月(30天)之内的话单信息,占总查询量的75%。***保存的真实数据包括一年内(360天-30天=330天)所有话单数据,***每天进行一次数据导入,设PlanningServer可用内存容量为8G,将采样数据按照年龄分成两个时间段,最近一个月的采样数据占6G,其余采样数据占2G,这样平均每天的数据在年轻一代采样空间中占据0.2G,如果当天产生的数据为20G,则这天对这批数据的采样率为1%,为了将新采样的0.2G数据置入年轻一代采样区,需要利用新采样的数据对该区域中最老的数据(即30天之前生成的采样数据)进行替换,在年老一代采样区中,每天的数据大约占据6M空间,因此对年轻一代中替换出的数据的采样率为6M/0.2G=3%。
相应地,本发明实施例还提供一种数据查询装置,用以满足用户在对数据进行查询时对数据范围和查询频率的需求,该装置的具体结构示意图如图3所示,包括以下功能单元:
获得单元31,用于获得用户提供的数据查询条件;
数据信息确定单元32,用于根据获得单元31获得的数据查询条件,确定与该数据查询条件对应的数据信息;
查询策略确定单元33,用于根据数据信息确定单元32确定的数据信息、按照预设的采样规则预先从数据管理***的各RegionServer管理的数据中采样得到的采样数据,确定对RegionServer管理的数据进行查询时所根据的数据查询策略,其中,所述预设的采样规则为按照对RegionServer管理的数据进行采样的时间点与生成RegionServer管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对RegionServer管理的数据进行采样,这里的采样率的设定方式可以与方法实施例中提供的采样率设定方式一致,在此不再赘述;
查询单元34,用于根据查询策略确定单元33确定的数据查询策略,在RegionServer管理的数据中,查询与数据信息确定单元32确定的数据信息相对应的数据,较佳地,为了提高数据查询效率,查询单元34可以根据查询策略确定单元33确定的数据查询策略,分别针对各RegionServer管理的数据,同步查询与数据信息相对应的数据。
对应于查询顺序单元33功能的一种实现方式,可以将查询顺序单元33具体划分为以下功能模块:
个数确定模块331,用于根据数据信息,从采样数据中,确定与各数据信息相关的数据,并针对每一数据信息,确定与该数据信息相关的数据的个数;
查询策略确定模块332,用于按照个数确定模块331确定的个数由少至多的顺序,对应确定对RegionServer管理的数据进行查询时所采用的由先至后的数据查询顺序,并将依据所述确定的数据查询顺序对数据进行查询的方式确定为所述数据查询策略。
本发明实施例还提供一种数据查询***,同样用以满足用户在对数据进行查询时对数据范围和查询频率的需求,该***的具体结构示意图如图4所示,包括计划编制服务器PlanningServer 41和执行服务器ExecutionServer 42,其中:PlanningServer 41用于按照预设的采样规则,从数据管理***的各区服务器RegionServer管理的数据中进行采样,这里预设的采样规则为按照对RegionServer管理的数据进行采样的时间点与生成RegionServer管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对各RegionServer管理的数据进行采样;
ExecutionServer 42则用于获得用户提供的数据查询条件,并根据该数据查询条件,确定该数据查询条件对应的数据信息,以及根据确定的数据信息、以及PlanningServer 41采样得到的采样数据,确定对RegionServer管理的数据进行查询时所根据的数据查询策略,并根据确定的数据查询策略,在RegionServer管理的数据中,查询与该数据信息相对应的数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种数据查询方法,其特征在于,包括:
数据查询服务器获得用户提供的数据查询条件;
所述数据查询服务器根据所述数据查询条件,确定所述数据查询条件对应的数据信息,所述数据信息是数据查询服务器通过对数据查询条件的解析获得的,或者根据数据查询条件直接获得的;
根据所述确定的数据信息、按照预设的采样规则预先从数据管理***的各区服务器管理的数据中采样得到的采样数据,确定对所述管理的数据进行查询时所根据的数据查询策略,其中,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;
所述数据查询服务器根据所述确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据。
2.如权利要求1所述的方法,其特征在于,所述采样率的设定方式为:
对应于所述时间差由小至大的顺序或对应于预先设定的用户对不同时间点生成的数据的查询频率由高至低的顺序,所述数据查询服务器将预设的用于存储所述采样数据的存储空间划分为由大至小的存储子空间;以及
针对在同一时间点生成的数据,将对应于该同一时间点生成的数据的存储子空间的大小除以所述各区服务器管理的该同一时间点生成的数据的总量所得的计算结果,设为对所述各区服务器管理的该同一时间点生成的数据进行采样所用的采样率。
3.如权利要求1所述的方法,其特征在于,所述数据查询服务器根据所述数据信息以及所述采样数据,确定所述数据查询策略具体包括:
所述数据查询服务器根据所述数据信息,从所述采样数据中,确定与所述各数据信息相关的数据,并针对每一数据信息,确定与该数据信息相关的数据的个数;
按照所述确定的个数由少至多的顺序,对应确定对所述管理的数据进行查询时所采用的由先至后的数据查询顺序,并将依据所述确定的数据查询顺序对数据进行查询的方式确定为所述数据查询策略。
4.如权利要求1所述的方法,其特征在于,所述数据查询服务器根据所述确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据具体为:
所述数据查询服务根据所述确定的数据查询策略,分别针对所述各区服务器管理的数据,同步查询与所述数据信息相对应的数据。
5.一种数据查询装置,其特征在于,包括:
获得单元,用于获得用户提供的数据查询条件;
数据信息确定单元,用于根据获得单元获得的数据查询条件,确定所述数据查询条件对应的数据信息,所述数据信息是数据查询服务器通过对数据查询条件的解析获得的,或者根据数据查询条件直接获得的;
查询策略确定单元,用于根据数据信息确定单元确定的数据信息、按照预设的采样规则预先从数据管理***的各区服务器管理的数据中采样得到的采样数据,确定对所述管理的数据进行查询时所根据的数据查询策略,其中,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;
查询单元,用于根据查询策略确定单元确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据。
6.如权利要求5所述的装置,其特征在于,所述采样率的设定方式为:
对应于所述时间差由小至大的顺序或对应于预先设定的用户对不同时间点生成的数据的查询频率由高至低的顺序,所述数据查询服务器将预设的用于存储所述采样数据的存储空间划分为由大至小的存储子空间;以及
针对在同一时间点生成的数据,将对应于该同一时间点生成的数据的存储子空间的大小除以所述各区服务器管理的该同一时间点生成的数据的总量所得的计算结果,设为对所述各区服务器管理的该同一时间点生成的数据进行采样所用的采样率。
7.如权利要求5所述的装置,其特征在于,所述查询策略确定单元具体包括:
个数确定模块,用于根据所述数据信息,从所述采样数据中,确定与所述各数据信息相关的数据,并针对每一数据信息,确定与该数据信息相关的数据的个数;
查询策略确定模块,用于按照个数确定模块确定的个数由少至多的顺序,对应确定对所述管理的数据进行查询时所采用的由先至后的数据查询顺序,并将依据所述确定的数据查询顺序对数据进行查询的方式确定为所述数据查询策略。
8.如权利要求5所述的装置,其特征在于,所述查询单元根据查询策略确定单元确定的数据查询策略,分别针对所述各区服务器管理的数据,同步查询与所述数据信息相对应的数据。
9.一种数据查询***,其特征在于,包括计划编制服务器和执行服务器,其中:
所述计划编制服务器,用于按照预设的采样规则,从数据管理***的各区服务器管理的数据中进行采样,所述预设的采样规则为按照对所述管理的数据进行采样的时间点与生成所述管理的数据的时间点的时间差由大至小的顺序,对应采用由小至大的预设采样率,对所述各区服务器管理的数据进行采样;
所述执行服务器,用于获得用户提供的数据查询条件,并根据所述数据查询条件,确定所述数据查询条件对应的数据信息,所述数据信息是数据查询服务器通过对数据查询条件的解析获得的,或者根据数据查询条件直接获得的,以及根据所述确定的数据信息、所述计划编制服务器采样得到的采样数据,确定对所述管理的数据进行查询时所根据的数据查询策略,并根据所述确定的数据查询策略,在所述管理的数据中,查询与所述数据信息相对应的数据。
10.如权利要求9所述的***,其特征在于,所述采样率的设定方式为:
对应于所述时间差由小至大的顺序或对应于预先设定的用户对不同时间点生成的数据的查询频率由高至低的顺序,所述数据查询服务器将预设的用于存储所述采样数据的存储空间划分为由大至小的存储子空间;以及
针对在同一时间点生成的数据,将对应于该同一时间点生成的数据的存储子空间的大小除以所述各区服务器管理的该同一时间点生成的数据的总量所得的计算结果,设为对所述各区服务器管理的该同一时间点生成的数据进行采样所用的采样率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102367423A CN102054000B (zh) | 2009-10-28 | 2009-10-28 | 数据查询方法、装置及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102367423A CN102054000B (zh) | 2009-10-28 | 2009-10-28 | 数据查询方法、装置及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102054000A CN102054000A (zh) | 2011-05-11 |
CN102054000B true CN102054000B (zh) | 2012-07-25 |
Family
ID=43958334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102367423A Active CN102054000B (zh) | 2009-10-28 | 2009-10-28 | 数据查询方法、装置及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102054000B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102510568A (zh) * | 2011-11-22 | 2012-06-20 | 联通宽带业务应用国家工程实验室有限公司 | 移动终端上网数据的处理***和方法 |
CN102799634B (zh) * | 2012-06-26 | 2014-11-12 | 中国农业银行股份有限公司 | 数据存储方法及装置 |
CN104636347B (zh) * | 2013-11-08 | 2018-02-23 | ***股份有限公司 | 数据处理***中均衡负载的方法及*** |
CN103617275A (zh) * | 2013-12-06 | 2014-03-05 | 中国联合网络通信集团有限公司 | 一种移动终端上网详细记录查询方法和*** |
CN105468728B (zh) * | 2015-11-20 | 2019-03-19 | 北京先进数通信息技术股份公司 | 一种获取截面数据的方法和*** |
CN107168977B (zh) * | 2016-03-08 | 2020-07-28 | 阿里巴巴集团控股有限公司 | 一种数据查询的优化方法及装置 |
CN105912274A (zh) * | 2016-04-21 | 2016-08-31 | 乐视控股(北京)有限公司 | 流式数据定位方法及装置 |
CN105976188A (zh) * | 2016-05-05 | 2016-09-28 | 北京思特奇信息技术股份有限公司 | 一种多渠道客户信息处理***及处理方法 |
CN108156006B (zh) * | 2016-12-05 | 2021-10-12 | 阿里巴巴集团控股有限公司 | 一种埋点数据上报方法、装置及电子设备 |
CN110019339B (zh) * | 2017-11-20 | 2021-11-30 | 北京京东尚科信息技术有限公司 | 一种数据查询方法和*** |
CN110737679B (zh) * | 2018-07-03 | 2022-06-14 | 百度在线网络技术(北京)有限公司 | 数据资源的查询方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859505A (zh) * | 2006-03-10 | 2006-11-08 | 华为技术有限公司 | 话单查询***及查询方法 |
CN101087203A (zh) * | 2006-06-11 | 2007-12-12 | 上海全成通信技术有限公司 | 一种海量数据统计方法 |
CN101216821A (zh) * | 2007-01-05 | 2008-07-09 | 中兴通讯股份有限公司 | 数据采集***的存储管理方法 |
CN101478608A (zh) * | 2009-01-09 | 2009-07-08 | 南京联创科技股份有限公司 | 基于二维散列的海量数据的快速操作方法 |
-
2009
- 2009-10-28 CN CN2009102367423A patent/CN102054000B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859505A (zh) * | 2006-03-10 | 2006-11-08 | 华为技术有限公司 | 话单查询***及查询方法 |
CN101087203A (zh) * | 2006-06-11 | 2007-12-12 | 上海全成通信技术有限公司 | 一种海量数据统计方法 |
CN101216821A (zh) * | 2007-01-05 | 2008-07-09 | 中兴通讯股份有限公司 | 数据采集***的存储管理方法 |
CN101478608A (zh) * | 2009-01-09 | 2009-07-08 | 南京联创科技股份有限公司 | 基于二维散列的海量数据的快速操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102054000A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102054000B (zh) | 数据查询方法、装置及*** | |
CN104424229B (zh) | 一种多维度拆分的计算方法及*** | |
CN106156168B (zh) | 在跨分区数据库中查询数据的方法及跨分区查询装置 | |
CN105989129B (zh) | 实时数据统计方法和装置 | |
US10223437B2 (en) | Adaptive data repartitioning and adaptive data replication | |
EP2924594A1 (en) | Data encoding and corresponding data structure in a column-store database | |
CN102193917A (zh) | 一种数据处理和查询方法和装置 | |
CN110727727B (zh) | 一种数据库的统计方法及装置 | |
Gupta et al. | Faster as well as early measurements from big data predictive analytics model | |
CN110737663B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN101202966A (zh) | 一种用户信息的收集方法、***及设备 | |
US11159387B1 (en) | Systems and methods for visualization based on historical network traffic and future projection of infrastructure assets | |
CN111489201A (zh) | 一种客户价值分析的方法、设备、存储介质 | |
CN111258978A (zh) | 一种数据存储的方法 | |
US20200084121A1 (en) | Node of a Network and a Method of Operating the Same for Resource Distribution | |
CN108647266A (zh) | 一种异构数据快速分布存储、交互方法 | |
CN109903050A (zh) | 交易去重方法、交易构造方法、设备和存储介质 | |
CN107818114A (zh) | 一种数据处理方法、装置及数据库 | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
CN102724290B (zh) | 一种获取目标客户群的方法、设备及*** | |
CN106789147A (zh) | 一种流量分析方法及装置 | |
CN113806466A (zh) | 路径时间查询方法、装置、电子设备和可读存储介质 | |
US10003492B2 (en) | Systems and methods for managing data related to network elements from multiple sources | |
CN105930104A (zh) | 数据存储方法和装置 | |
CN115794861A (zh) | 基于特征摘要的离线数据查询复用方法及其应用 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20170109 Address after: Kolding road high tech Zone of Suzhou City, Jiangsu Province, No. 78 215163 Patentee after: CHINA MOBILE (SUZHOU) SOFTWARE TECHNOLOGY CO., LTD. Patentee after: China Mobile Communications Co., Ltd. Patentee after: China Mobile Communications Corp. Address before: 100032 Beijing Finance Street, No. 29, Xicheng District Patentee before: China Mobile Communications Corp. |