CN104424258B - 多维数据查询的方法、查询服务器、列存储服务器及*** - Google Patents

多维数据查询的方法、查询服务器、列存储服务器及*** Download PDF

Info

Publication number
CN104424258B
CN104424258B CN201310382416.XA CN201310382416A CN104424258B CN 104424258 B CN104424258 B CN 104424258B CN 201310382416 A CN201310382416 A CN 201310382416A CN 104424258 B CN104424258 B CN 104424258B
Authority
CN
China
Prior art keywords
query
server
result data
report
data corresponding
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
Application number
CN201310382416.XA
Other languages
English (en)
Other versions
CN104424258A (zh
Inventor
武磊
李�浩
曾伟纪
蔡馥晗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cloud Computing Changsha Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310382416.XA priority Critical patent/CN104424258B/zh
Publication of CN104424258A publication Critical patent/CN104424258A/zh
Application granted granted Critical
Publication of CN104424258B publication Critical patent/CN104424258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种多维数据查询的方法、查询服务器、列存储服务器及***,涉及数据处理技术领域,能够解决关系型数据库在大数据量查询的情况下,数据查询速度慢的问题。所述方法包括:接收用户输入的查询条件;对所述查询条件进行转换,得到预设格式的查询报表;向列存储服务器发送所述查询报表;接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户。本发明主要应用于多维数据分析的过程中。

Description

多维数据查询的方法、查询服务器、列存储服务器及***
技术领域
本发明涉及数据处理技术领域,尤其涉及一种多维数据查询的方法、查询服务器、列存储服务器及***。
背景技术
随着数据库技术的发展和应用,数据库存储的数据量从20世纪80年代的兆(M)字节及千兆(G)字节过渡到现在的兆兆(T)字节和千兆兆(P)字节,同时,用户的查询需求也越来越复杂,涉及的已不仅是查询或操纵一张关系表中的一条或几条记录,而且要对多张表中千万条记录的数据进行数据分析和信息综合,关系数据库***已不能全部满足这一要求,由此促成了联机分析处理(OLAP)的诞生。OLAP是数据仓库***的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的结果数据。在进行多维数据查询时,用户可输入多个维度的查询条件进行查询,查询条件由多个属性(attribute)组成,又称属性组合(view)。
现有的数据查询软件大多基于SQL的关系型数据库,在对多维数据进行查询之前,建立各关系列表的索引,定义并根据关系表建立维。查询时,根据用户输入的属性组合,通过索引在各关系表的维中进行联合查询。
在实现上述多维数据查询的过程中,发明人发现现有技术中至少存在如下问题:查询时,通过索引在各关系表的维中进行查询。需要通过索引来连接各关系表,因此通过索引进行联合查询的计算代价较高,仅适用于小数据样本。在查询涉及到兆兆(T)字节和千兆兆(P)字节的数据量时,由于索引被同时访问的次数右下,因此通过索引查找进行查询存在瓶颈,使得在多维大数据量的情况下,数据查询速度慢。
发明内容
本发明提供的一种多维数据查询的方法、查询服务器、列存储服务器及***,能够解决关系型数据库在大数据量查询的情况下,数据查询速度慢的问题。
第一方面,本发明提供了一种多维数据查询的方法,其特征在于,所述方法包括:
接收用户输入的查询条件;
对所述查询条件进行转换,得到预设格式的查询报表;
向列存储服务器发送所述查询报表;
接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户。
第二方面,本发明还提供了一种多维数据查询的方法,其特征在于,所述方法包括:
接收查询服务器发送的查询报表;
根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
如果所述结果数据存在,则向所述查询服务器发送所述结果数据。
第三方面,本发明还提供了一种查询服务器,其特征在于,所述查询服务器包括:
接收单元,用于接收用户输入的查询条件;
转换单元,用于对所述接收单元接收的所述查询条件进行转换,得到查询报表;
发送单元,用于向列存储服务器发送所述转换单元转换的所述查询报表;
所述接收单元还用于,接收所述列存储服务器发送的结果数据;
所述返回单元还用于,将所述接收单元接收的所述结果数据返回给用户。
第四方面,本发明还提供了一种列存储服务器,其特征在于,所述列存储服务器包括:
接收单元,用于接收查询服务器发送的查询报表;
查询单元,用于根据所述接收单元接收的所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
发送单元,用于当所述结果数据存在时,向所述查询服务器发送所述结果数据。
第五方面,本发明还提供了一种多维数据查询的***,其特征在于,包括查询服务器和列存储服务器,
所述查询服务器用于接收用户输入的查询条件;
对所述查询条件进行转换,得到预设格式的查询报表;
向列存储服务器发送所述查询报表;
所述列存储服务器用于:
接收查询服务器发送的查询报表;
根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
如果所述结果数据存在,则向所述查询服务器发送所述结果数据;
所述查询服务器还用于接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户。
本发明提供的多维数据查询的方法、查询服务器、列存储服务器及***,能够将用户输入的查询条件进行转换,得到预设格式的查询报表,再根据报表从列存储服务器中获取查询报表对应的结果数据,并将结果数据返回给用户。现有技术通过对关系数据库进行访问,通过索引进行查询,在大数据量的查询操作时,数据查询速度慢。本发明中,在对用户输入的查询条件进行转码之后,向列存储服务器请求结果数据,由于列存储器的存储方式适用于大数据量的查询,因此能够提高数据查询的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中第一个多维数据查询的方法的流程图;
图2为本发明实施例中第二个多维数据查询的方法的流程图;
图3为本发明实施例中第三个多维数据查询的方法的流程图;
图4为本发明实施例中第四个多维数据查询的方法的流程图;
图5为本发明实施例中第五个多维数据查询的方法的流程图;
图6为本发明实施例中第六个多维数据查询的方法的流程图;
图7为本发明实施例中一个查询服务器的结构示意图;
图8为本发明实施例中另一个查询服务器的结构示意图;
图9为本发明实施例中一个列存储服务器的结构示意图;
图10为本发明实施例中另一个列存储服务器的结构示意图;
图11为本发明实施例中一个多维数据查询的***的示意图;
图12为本发明实施例中另一个多维数据查询的***的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种多维数据查询的方法,如图1所示,所述方法应用于查询服务器中,所述方法包括:
步骤101、接收用户输入的查询条件。
具体的,接收用户输入的指标量(measure)集合以及下述至少一种查询参数:属性(attribute)集合和限制条件(condition)集合。
查询条件的输入语言不嫌,只要能够准确表示查询条件即可。以json(JavaScriptObject Notation)格式为例,用户输入的查询条件如表1所示,包括指标量(measure)集合和查询参数。指标量用于描述待查询的统计量,查询参数用于对待查询的统计量进行限定。例如:指标量(measure)集合:登录次数、登录时长。查询参数包括属性(attribute)集合和或限制条件(condition)集合,其中属性(attribute)集合:性别属性值、城市属性值、年龄段属性值,限制条件(condition)集合:时间为2013.5.1。
表1
Figure BDA00003735894800051
步骤102、对查询条件进行转换,得到预设格式的查询报表。
具体的,根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号(ID);
构造由所述查询参数和所述指标量组成的查询报表。
根据预设对一个关系表将用户输入的各个查询条件转换为与列存储时需要的ID号。查询报表的格式为<key,value>形式,其中,key表示查询参数和限制条件,value表示指标量。在对查询条件进行转换时,需要下述几个层级的对应关系表,如表2所示,用于记录属性、指标量分别对应的ID号。
表2
Figure BDA00003735894800052
对于每个属性的属性值也通过对应关系表进行预设如表3所示,包括:城市属性、性别属性、年龄属性的对应关系表。
表3
Figure BDA00003735894800061
如果用户输入城市的查询条件为表1所示,则经转换得到的查询报表为<“11-1、12-2、31:2013.5.1”,“21、22”>。该查询报表用于表示查询2013年5月1日,在天津上网的男性的累积登录次数以及累计登录时长。
步骤103、向列存储服务器发送查询报表。
列存储服务器中保存有对多维数据拆分得到的固化属性组合。固化属性组用于记录属性组合和属性组合对应的数据。列存储服务器中通过表的形式对固化属性组合进行存储。
步骤104、接收列存储服务器发送的结果数据,将结果数据返回给用户。
该结果数据用于表示指标量的数量值。其格式为<key,value>,其中的value为指标量的数量值。例如:<“男、天津、31:2013.5.1”,“登录次数12000次、登录时长50000小时”>
本发明提供的多维数据查询的方法,能够将用户输入的查询条件进行转换,得到预设格式的查询报表,再根据报表从列存储服务器中获取查询报表对应的结果数据,并将结果数据返回给用户。现有技术通过对关系数据库进行访问,通过索引进行查询,在大数据量的查询操作时,数据查询速度慢。本发明中,在对用户输入的查询条件进行转码之后,向列存储服务器请求结果数据,由于列存储器的存储方式适用于大数据量的查询,因此能够提高数据查询的速度。
进一步的,作为对图1所示方法的进一步说明,本发明实施例还提供了一种多维数据查询的方法,如图2所示,所述方法还包括:
步骤201、向缓冲服务器发送查询报表,用于缓冲服务器判断是否已存储查询报表相对应的结果数据,返回结果数据。
步骤202、接收缓冲服务器返回的结果数据。
步骤203a、如果结果数据为非空,则将结果数据返回给用户。
步骤203b、如果结果数据为空,则向列存储服务器发送查询报表。
本发明实施例提供了的种多维数据查询的方法,能够从缓冲服务器中获取结果数据。由于多维数据的数据量大,需要预加载大量的查询报表和与之对应的结果数据,因此通过独立的缓冲服务器对使用频率较高的结果数据进行保存,进而提高多维数据查询的查询速度。
进一步的,作为对图1所示方法的进一步说明,本发明实施例还提供了一种多维数据查询的方法,如图3所示,所述方法还包括:
步骤301、在缓冲存储器中查找查询报表相对应的结果数据。
步骤302a、如果查找到查询报表对应的结果数据,则将结果数据返回给用户。
步骤302b、如果未查找到查询报表对应的结果数据,则向列存储服务器发送查询报表。
本发明实施例提供了的多维数据查询的方法,能够从缓冲存储器中获取结果数据。当多维数据的查询量有限时,可通过在本地的缓存中存储结果数据,进一步加快多维数据查询的速度。
需要说明的是,缓冲存储器位于查询服务器内部,作为查询服务器的缓存。缓冲服务器与缓冲存储器的作用相同,均用于保存使用率较高的查询报表和与查询报表对应的结果数据。如果用缓冲服务器替换缓存存储器,则在将查询报表和与查询报表对应的结果数据保存到缓冲存储器中之前,还包括:向缓存服务器发送存储请求,所述存储请求携带有查询报表和与查询报表对应的结果数据,用于向缓存服务器存储所述有查询报表和与查询报表对应的结果数据。缓存服务器接收到存储请求之后,执行下述步骤:
步骤301’、在缓冲服务器中查找查询报表相对应的结果数据。
步骤302a’、如果查找到查询报表对应的结果数据,则将结果数据返回给查询服务器。
步骤302b’、如果未查找到查询报表对应的结果数据,则将空数据返回给查询服务器。
查询服务器在接收到缓存服务器返回的信息之后,对返回的信息进行分析,如果为结果数据,则将结果数据返回给用户。如果是空数据,则向列存储服务器发出请求,以便从列存储服务器中获取结果数据。
进一步的,作为对图1所示方法的进一步说明,本发明实施例还提供了一种多维数据查询的方法,如图4所示,所述方法还包括:
步骤401、将查询报表和与查询报表对应的结果数据保存到缓冲存储器中。
具体的,如图5所示,步骤401包括如下步骤:
步骤501、判断缓冲存储器的是否存在剩余存储空间。
步骤502a、如果存在剩余存储空间,则将查询报表和与查询报表对应的结果数据保存到缓冲存储器。
步骤502b、如果不存在剩余存储空间,则根据预设算法删除已存储的结果数据,将查询报表对应的结果数据保存到缓冲存储器。
所述预设算法为近期最少使用算法(Least Recently Used,简称LRU)。根据该算法能够将最久未使用的结果数据进行删除,并将新的结果数据进行保存。
步骤402、当再次接受到与查询报表相同的查询条件时,从缓冲存储器中读取结果数据。
本发明实施例提供了的多维数据查询的方法,能够在从列存储服务器中接收到查询报表和与查询报表对应的结果数据之后,将查询报表和与查询报表对应的结果数据保存到缓冲存储器中,能够在二次查询时,从缓冲存储器中直接获取到结果数据,进一步提高多维数据查询的查询速度。此外,在对查询报表和与查询报表对应的结果数据进行保存时,判断是否存在剩余存储空间,如果不存在则根据近期最少使用算法将将最久未使用的结果数据进行删除,并将新的结果数据进行保存,进而保证缓存存储器中保存的结果数据的有效性。
本发明实施例还提供了一种多维数据查询的方法,如图6所示,所述方法应用于列存储服务器中,所述方法包括:
步骤601、接收查询服务器发送的查询报表。
步骤602、根据查询条件在已存储的列表数据中查找与查询条件相对应的结果数据,列表数据用于表示对属性组合进行多维拆分得得到的拆分结果。
列存储服务器中保存的列表数据与查询报表的格式相同,均为<key,value>格式。
步骤603a、如果结果数据存在,则向查询服务器发送结果数据。
步骤603b、如果结果数据不存在,则向查询服务器发送空数据。
本发明实施例提供的多维数据查询的方法,能够根据查询服务器发送的查询报表(<key,value>格式)在已存储的列表数据中查找与查询条件相对应的结果数据,将查询结果发送给查询服务器。在列表数据中进行查询,比通过索引在关系表之间进行查询的查找效率低,进而提高多维数据查询的查询速度。
需要说明的是,本发明实施例中提及的列存储服务器可以是一个列存储服务器,也可是列存储服务器集群。所述列存储服务器集群中通过集群管理服务器进行负载均衡,其中列存储服务器集群中的每个列存储服务器所采用的处理方法均为图6所示的方法。此外,查询服务器也可采用与列存储服务器相同的集群式设置方式,进而提高整体运算效率,提高多维数据查询的查询速度。
本发明实施例还提供一种多维数据查询的方法,作为对图6所示方法的具体说明,步骤603、根据所述查询条件从已存储的列表数据中查找与所述查询条件相对应的结果数据的步骤,可通过下述方式进行实施:
根据所述查询条件中的查询参数对已存储的列表数据进行正则过滤,得到与所述查询条件相对应的结果数据。
根据查询参数构造正则表达式,根据该正则表达式从列表数据中提取与查询参数匹配的数据。例如:查询参数为“男,天津,20-30岁”,则从性别列表中找出性别为性别属性为“男”的记录集合A,在记录集合A中查找城市属性为“天津”的记录集合B,记录集合B为记录集合A的子集,再在记录集合B中国查找年龄属性值为20-30的记录集合C。对C中的登录次数和登录时长进行累计,得到用户查询的指标量。
进一步的,在根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据的步骤之后,所述方法还包括:
如果所述与所述查询条件相对应的结果数据包括多个列表数据,则将所述多个列表数据进行合并,得到结果数据。
对于查询的指标量多于一个时,可分别对指标量进行统计。或者查找已固化的查询条件与指标量之间的固化组合。将多个指标量中的各个指标量的统计结果进行和合并统计,能够得到用于查询多个指标量的结果数据。
本发明实施例提供的多维数据查询的方法,能够将已有的结果数据和新的记过数据合并为用户查询到指标量集合,进而减少已有的结果数据的查询代价,降低计算量,提高查询速度。
本发明实施例还提供了一种查询服务器,如图7所示,所述查询服务器71包括:
接收单元711,用于接收用户输入的查询条件;
转换单元712,用于对所述接收单元711接收的所述查询条件进行转换,得到查询报表;
发送单元713,用于向列存储服务器发送所述转换单元712转换的所述查询报表;
所述接收单元711还用于,接收所述列存储服务器发送的结果数据;
返回单元714,用于将所述接收单元711接收的所述结果数据返回给用户。
本发明提供的查询服务器71,能够将用户输入的查询条件进行转换,得到预设格式的查询报表,再根据报表从列存储服务器中获取查询报表对应的结果数据,并将结果数据返回给用户。现有技术通过对关系数据库进行访问,通过索引进行查询,在大数据量的查询操作时,数据查询速度慢。本发明中,在对用户输入的查询条件进行转码之后,向列存储服务器请求结果数据,由于列存储器的存储方式适用于大数据量的查询,因此能够提高数据查询的速度。
进一步的,所述接收单元711还用于:接收用户输入的指标量(measure)集合以及下述至少一种查询参数:属性(attribute)集合和限制条件(condition)集合。
进一步的,所述转换单元712还用于:
根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号(ID);
构造由所述查询参数和所述指标量组成的所述查询报表。
进一步的,所述发送单元713还用于,向缓冲服务器发送所述查询报表,用于所述缓冲服务器判断是否已存储所述查询报表相对应的结果数据,返回结果数据;
所述接收单元711还用于,接收所述缓冲服务器返回的结果数据;
所述返回单元714还用于,当所述结果数据为非空时,将所述结果数据返回给用户;
所述发送单元713还用于,当所述结果数据为空时,向列存储服务器发送所述查询报表。
本发明实施例提供了的查询服务器71,能够从缓冲服务器中获取结果数据。由于多维数据的数据量大,需要预加载大量的查询报表和与之对应的结果数据,因此通过独立的缓冲服务器对使用频率较高的结果数据进行保存,进而提高多维数据查询的查询速度。
进一步的,如图8所示,所述查询服务器71还包括:查找单元81、存储单元82、
查找单元81,用于在缓冲存储器中查找所述查询报表相对应的结果数据;
所述返回单元还用于,当所述查找单元81查找到所述查询报表对应的结果数据时,将结果数据返回给用户;
所述发送单元还用于,当所述查找单元81未查找到所述查询报表对应的结果数据时,向列存储服务器发送查询报表。
本发明实施例提供了的查询服务器71,能够从缓冲存储器中获取结果数据。当多维数据的查询量有限时,可通过在本地的缓存中存储结果数据,进一步加快多维数据查询的速度。
进一步的,所述查询服务器71还包括:
存储单元82,用于将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器中;
所述返回单元714还用于,当再次接收到与所述查询报表相同的查询条件时,从所述缓冲存储器中读取所述结果数据。
进一步的,所述存储单元82还用于:
判断缓冲存储器的是否存在剩余存储空间;
如果存在剩余存储空间,则将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器;
如果不存在剩余存储空间,则根据预设算法删除已存储的结果数据,将所述查询报表对应的结果数据保存到缓冲存储器。
本发明实施例提供了的查询服务器71,能够在从列存储服务器中接收到查询报表和与查询报表对应的结果数据之后,将查询报表和与查询报表对应的结果数据保存到缓冲存储器中,能够在二次查询时,从缓冲存储器中直接获取到结果数据,进一步提高多维数据查询的查询速度。此外,在对查询报表和与查询报表对应的结果数据进行保存时,判断是否存在剩余存储空间,如果不存在则根据近期最少使用算法将将最久未使用的结果数据进行删除,并将新的结果数据进行保存,进而保证缓存存储器中保存的结果数据的有效性。
一种列存储服务器91,如图9所示,所述列存储服务器91包括:
接收单元911,用于接收查询服务器发送的查询报表;
查询单元912,用于根据所述接收单元911接收的所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
发送单元913,用于当所述结果数据存在时,向所述查询服务器发送所述结果数据。
本发明实施例提供的列存储服务器91,能够根据查询服务器发送的查询报表(<key,value>格式)在已存储的列表数据中查找与查询条件相对应的结果数据,将查询结果发送给查询服务器。在列表数据中进行查询,比通过索引在关系表之间进行查询的查找效率低,进而提高多维数据查询的查询速度。
进一步的,所述查询单元912还用于:
根据所述查询条件对已存储的列表数据进行正则过滤,得到与所述查询条件相对应的结果数据。
进一步的,如图10所示,所述列存储服务器91还包括:
合并单元1001,用于当所述与所述查询条件相对应的结果数据包括多个列表数据时,将所述多个列表数据进行合并,得到结果数据。
本发明实施例提供的列存储服务器91,能够将已有的结果数据和新的记过数据合并为用户查询到指标量集合,进而减少已有的结果数据的查询代价,降低计算量,提高查询速度。
本发明实施例还提供了一种多维数据查询的***,如图11所示,包括如图7或图8所示的查询服务器1101和如图9或图10所示的列存储服务器1102,
所述查询服务器1101用于接收用户输入的查询条件;
对所述查询条件进行转换,得到预设格式的查询报表;
向列存储服务器1102发送所述查询报表;
所述列存储服务器1102用于:
接收查询服务器1101发送的查询报表;
根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
如果所述结果数据存在,则向所述查询服务器1101发送所述结果数据;
所述查询服务器1101还用于接收所述列存储服务器1102发送的结果数据,将所述结果数据返回给用户。
本发明提供的多维数据查询的***,查询服务器1101能够将用户输入的查询条件进行转换,得到预设格式的查询报表,再根据报表从列存储服务器中获取查询报表对应的结果数据,并将结果数据返回给用户。现有技术通过对关系数据库进行访问,通过索引进行查询,在大数据量的查询操作时,数据查询速度慢。本发明中,在对用户输入的查询条件进行转码之后,向列存储服务器请求结果数据,由于列存储器的存储方式适用于大数据量的查询,因此能够提高数据查询的速度。列存储服务器1102,能够根据查询服务器发送的查询报表(<key,value>格式)在已存储的列表数据中查找与查询条件相对应的结果数据,将查询结果发送给查询服务器。在列表数据中进行查询,比通过索引在关系表之间进行查询的查找效率低,进而提高多维数据查询的查询速度。
进一步的,本发明实施例还提供了一种多维数据查询的***,如图12所示,作为对图11所示***的进一步说明,所述***包括如图7或图8所示的查询服务器1101和如图9或图10所示的列存储服务器1102,以及缓存服务器1203。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (19)

1.一种多维数据查询的方法,其特征在于,所述方法包括:
接收用户输入的查询条件,其中所述查询条件包括指标量集合以及查询参数,所述查询参数包括属性集合;
对所述查询条件进行转换,得到由查询参数和指标量组成的键-值对格式的查询报表;
向独立缓冲服务器发送所述查询报表,以使所述独立缓冲服务器判断是否已存储所述查询报表相对应的结果数据,返回结果数据;
接收所述独立缓冲服务器返回的结果数据;
如果所述独立缓冲服务器返回的结果数据为空,向列存储服务器发送所述查询报表,其中,所述列存储服务器保存有对多维数据拆分得到的固化属性组合,所述固化属性组合用于记录属性组合和属性组合对应的数据;
接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户;
向缓冲服务器发送存储请求,所述存储请求携带有查询报表和与查询报表对应的结果数据,用于向缓冲服务器存储所述有查询报表和与查询报表对应的结果数据;
其中,所述列存储服务器存储有列表数据,所述列表数据包括对应所述查询报表的结果数据;所述独立缓冲服务器存储的结果数据的使用频率,高于所述列存储服务器中存储的结果数据中,区别于所述独立缓冲服务器存储的结果数据的数据。
2.根据权利要求1所述的方法,其特征在于,所述对所述查询条件进行转换,得到由查询参数和指标量组成的键-值对格式的查询报表,包括:
根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号ID;
构造由所述查询参数和所述指标量组成的键-值对格式的查询报表。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述独立缓冲服务器返回的结果数据为非空,则将所述独立缓冲服务器返回的所述结果数据返回给用户。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在位于查询服务器内部的缓冲存储器中查找所述查询报表相对应的结果数据;
如果查找到所述查询报表对应的结果数据,则将结果数据返回给用户;
如果未查找到所述查询报表对应的结果数据,则向列存储服务器发送查询报表。
5.根据权利要求4所述的方法,其特征在于,在所述接收所述列存储服务器发送的结果数据的步骤之后,所述方法还包括:
将查询报表和与所述查询报表对应的结果数据保存到所述位于查询服务器内部的缓冲存储器中;
当再次接受到与所述查询报表相同的查询条件时,从所述位于查询服务器内部的缓冲存储器中读取所述结果数据。
6.根据权利要求5所述的方法,其特征在于,所述将查询报表和与所述查询报表对应的结果数据保存到所述位于查询服务器内部的缓冲存储器中的步骤,包括:
判断所述位于查询服务器内部的缓冲存储器的是否存在剩余存储空间;
如果存在剩余存储空间,则将查询报表和与所述查询报表对应的结果数据保存到所述位于查询服务器内部的缓冲存储器;
如果不存在剩余存储空间,则根据预设算法删除已存储的结果数据,将所述查询报表对应的结果数据保存到位于查询服务器内部的缓冲存储器。
7.一种多维数据查询的方法,其特征在于,所述方法包括:
接收查询服务器发送的查询报表;所述查询报表为对查询条件进行转换得到,由查询参数和指标量组成,并采用键-值对格式,其中所述查询条件包括指标量集合以及查询参数,所述查询参数包括属性集合;
所述查询报表为,所述查询服务器在接收到独立缓冲服务器反馈的结果数据为空的情况下发送,所述独立缓冲服务器基于接收到的所述查询报表,查询自身存储的结果数据后反馈;
根据所述查询报表在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得到的拆分结果,是用于记录属性组合和属性组合对应的数据;
如果所述结果数据存在,则向所述查询服务器发送所述结果数据,以使查询服务器将结果数据返回给用户,并向缓冲服务器发送存储请求,所述存储请求携带有查询报表和与查询报表对应的结果数据,用于向缓冲服务器存储所述有查询报表和与查询报表对应的结果数据;
其中,所述列表数据包括对应所述查询报表的结果数据;所述独立缓冲服务器存储的结果数据的使用频率,高于所述列表数据包括的结果数据中,区别于所述独立缓冲服务器存储的结果数据的数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述查询报表从已存储的列表数据中查找与所述查询条件相对应的结果数据,包括:
根据所述查询报表中的查询参数对已存储的列表数据进行正则过滤,得到与所述查询条件相对应的结果数据。
9.根据权利要求8所述的方法,其特征在于,在根据所述查询报表在已存储的列表数据中查找与所述查询条件相对应的结果数据的步骤之后,所述方法还包括:
如果所述与所述查询条件相对应的结果数据包括多个列表数据,则将所述多个列表数据进行合并,得到结果数据。
10.一种查询服务器,其特征在于,所述查询服务器包括:
接收单元,用于接收用户输入的查询条件,其中所述查询条件包括指标量集合以及查询参数,所述查询参数包括属性集合;
转换单元,用于对所述接收单元接收的所述查询条件进行转换,得到由查询参数和指标量组成的键-值对格式的查询报表;
发送单元,用于向独立缓冲服务器发送所述查询报表,以使所述独立缓冲服务器判断是否已存储所述查询报表相对应的结果数据,返回结果数据;
所述接收单元还用于,接收所述独立缓冲服务器返回的结果数据;
所述发送单元,还用于在所述独立缓冲服务器返回的结果数据为空时,向列存储服务器发送所述转换单元转换的所述查询报表,其中,所述列存储服务器保存有对多维数据拆分得到的固化属性组合,所述固化属性组合用于记录属性组合和属性组合对应的数据;
所述接收单元还用于,接收所述列存储服务器发送的结果数据;所述发送单元,还用于向缓冲服务器发送存储请求,所述存储请求携带有查询报表和与查询报表对应的结果数据,用于向缓冲服务器存储所述有查询报表和与查询报表对应的结果数据;
返回单元,用于将所述接收单元接收的所述结果数据返回给用户;
其中,所述列存储服务器存储有列表数据,所述列表数据包括对应所述查询报表的结果数据;所述独立缓冲服务器存储的结果数据的使用频率,高于所述列存储服务器中存储的结果数据中,区别于所述独立缓冲服务器存储的结果数据的数据。
11.根据权利要求10所述的查询服务器,其特征在于,所述转换单元还用于:
根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号ID;
构造由所述查询参数和所述指标量组成的所述查询报表。
12.根据权利要求11所述的查询服务器,其特征在于,
所述返回单元还用于,当所述独立缓冲服务器返回的结果数据为非空时,将所述独立缓冲服务器返回的结果数据返回给用户。
13.根据权利要求11所述的查询服务器,其特征在于,所述查询服务器还包括:
查找单元,用于在位于查询服务器内部的缓冲存储器中查找所述查询报表相对应的结果数据;
所述返回单元还用于,当所述查找单元查找到所述查询报表对应的结果数据时,将结果数据返回给用户;
所述发送单元还用于,当所述查找单元未查找到所述查询报表对应的结果数据时,向列存储服务器发送查询报表。
14.根据权利要求13所述的查询服务器,其特征在于,所述查询服务器还包括:
存储单元,用于将查询报表和与所述查询报表对应的结果数据保存到位于查询服务器内部的缓冲存储器中;
所述返回单元还用于,当再次接收到与所述查询报表相同的查询条件时,从所述位于查询服务器内部的缓冲存储器中读取所述结果数据。
15.根据权利要求14所述的查询服务器,其特征在于,所述存储单元还用于:
判断位于查询服务器内部的缓冲存储器的是否存在剩余存储空间;
如果存在剩余存储空间,则将查询报表和与所述查询报表对应的结果数据保存到位于查询服务器内部的缓冲存储器;
如果不存在剩余存储空间,则根据预设算法删除已存储的结果数据,将所述查询报表对应的结果数据保存到位于查询服务器内部的缓冲存储器。
16.一种列存储服务器,其特征在于,所述列存储服务器包括:
接收单元,用于接收查询服务器发送的查询报表;所述查询报表为对查询条件进行转换得到,由查询参数和指标量组成,并采用键-值对格式,其中所述查询条件包括指标量集合以及查询参数,所述查询参数包括属性集合;
所述查询报表为,所述查询服务器在接收到独立缓冲服务器反馈的结果数据为空的情况下发送,所述独立缓冲服务器基于接收到的所述查询报表,查询自身存储的结果数据后反馈;
查询单元,用于根据所述接收单元接收的所述查询报表在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果,是用于记录属性组合和属性组合对应的数据;
发送单元,用于当所述结果数据存在时,向所述查询服务器发送所述结果数据,以使查询服务器将结果数据返回给用户,并向缓冲服务器发送存储请求,所述存储请求携带有查询报表和与查询报表对应的结果数据,用于向缓冲服务器存储所述有查询报表和与查询报表对应的结果数据;
其中,所述列存储服务器存储有列表数据,所述列表数据包括对应所述查询报表的结果数据;所述独立缓冲服务器存储的结果数据的使用频率,高于所述列存储服务器中存储的结果数据中,区别于所述独立缓冲服务器存储的结果数据的数据。
17.根据权利要求16所述的列存储服务器,其特征在于,所述查询单元还用于:
根据所述查询报表对已存储的列表数据进行正则过滤,得到与所述查询条件相对应的结果数据。
18.根据权利要求17所述的列存储服务器,其特征在于,所述列存储服务器还包括:
合并单元,用于当与所述查询条件相对应的结果数据包括多个列表数据时,将所述多个列表数据进行合并,得到结果数据。
19.一种多维数据查询的***,其特征在于,包括查询服务器和列存储服务器,
所述查询服务器用于接收用户输入的查询条件,其中所述查询条件包括指标量集合以及查询参数,所述查询参数包括属性集合;
对所述查询条件进行转换,得到由查询参数和指标量组成的键-值对格式的查询报表;
向独立缓冲服务器发送所述查询报表,以使所述独立缓冲服务器判断是否已存储所述查询报表相对应的结果数据,返回结果数据;
接收所述独立缓冲服务器返回的结果数据;
如果所述独立缓冲服务器返回的结果数据为空,向列存储服务器发送所述查询报表,其中,所述列存储服务器保存有对多维数据拆分得到的固化属性组合,所述固化属性组合用于记录属性组合和属性组合对应的数据;
所述列存储服务器用于:
接收查询服务器发送的查询报表;
根据所述查询报表在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
如果所述结果数据存在,则向所述查询服务器发送所述结果数据;
所述查询服务器还用于接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户,并向缓冲服务器发送存储请求,所述存储请求携带有查询报表和与查询报表对应的结果数据,用于向缓冲服务器存储所述有查询报表和与查询报表对应的结果数据;
其中,所述列存储服务器存储有列表数据,所述列表数据包括对应所述查询报表的结果数据;所述独立缓冲服务器存储的结果数据的使用频率,高于所述列存储服务器中存储的结果数据中,区别于所述独立缓冲服务器存储的结果数据的数据。
CN201310382416.XA 2013-08-28 2013-08-28 多维数据查询的方法、查询服务器、列存储服务器及*** Active CN104424258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310382416.XA CN104424258B (zh) 2013-08-28 2013-08-28 多维数据查询的方法、查询服务器、列存储服务器及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310382416.XA CN104424258B (zh) 2013-08-28 2013-08-28 多维数据查询的方法、查询服务器、列存储服务器及***

Publications (2)

Publication Number Publication Date
CN104424258A CN104424258A (zh) 2015-03-18
CN104424258B true CN104424258B (zh) 2020-06-16

Family

ID=52973243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310382416.XA Active CN104424258B (zh) 2013-08-28 2013-08-28 多维数据查询的方法、查询服务器、列存储服务器及***

Country Status (1)

Country Link
CN (1) CN104424258B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294353A (zh) * 2015-05-14 2017-01-04 ***通信集团福建有限公司 信息处理方法及装置
CN106708826A (zh) * 2015-07-30 2017-05-24 中兴通讯股份有限公司 数据处理及查询方法、装置
US10318528B2 (en) * 2016-02-25 2019-06-11 Microsoft Technology Licensing, Llc Query response using mapping to parameterized report
CN105824876A (zh) * 2016-03-01 2016-08-03 乐视网信息技术(北京)股份有限公司 一种数据查询方法及装置
CN107870935A (zh) * 2016-09-27 2018-04-03 新华三技术有限公司 一种搜索方法及装置
CN106844541B (zh) * 2016-12-30 2020-05-29 晶赞广告(上海)有限公司 一种联机分析处理方法及装置
CN107092529B (zh) * 2017-02-10 2021-01-01 北京星选科技有限公司 Olap服务方法、装置及***
CN109241195B (zh) * 2017-07-03 2022-03-18 北京国双科技有限公司 排名的计算方法及装置
CN108182258B (zh) * 2018-01-02 2021-04-27 福建中金在线信息科技有限公司 分布式的数据分析***及方法
CN109189777A (zh) * 2018-06-28 2019-01-11 微梦创科网络科技(中国)有限公司 一种存储及查询多维信息的方法、装置及设备
CN109189810B (zh) * 2018-08-28 2021-07-02 拉扎斯网络科技(上海)有限公司 查询方法、装置、电子设备及计算机可读存储介质
CN109241143A (zh) * 2018-09-13 2019-01-18 中国建设银行股份有限公司 一种数据查询方法及***
CN109800247A (zh) * 2018-12-14 2019-05-24 深圳壹账通智能科技有限公司 数据查找方法、装置、计算机设备以及存储介质
CN109739876B (zh) * 2019-01-10 2021-01-12 中化石化销售有限公司 基于Sqltoy-orm框架的数据库的数据查询方法和装置
CN110716965B (zh) * 2019-09-25 2022-02-25 蚂蚁区块链科技(上海)有限公司 一种块链式账本中的查询方法、装置及设备
CN112527868A (zh) * 2020-12-23 2021-03-19 东莞市盟大塑化科技有限公司 一种数据获取方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081625A (zh) * 2009-11-30 2011-06-01 ***通信集团北京有限公司 一种数据查询的方法及查询服务器
CN102129469A (zh) * 2011-03-23 2011-07-20 华中科技大学 一种面向虚拟实验的非结构化数据访问方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3577794B2 (ja) * 1995-07-18 2004-10-13 ソニー株式会社 データ復号化装置
US7908259B2 (en) * 2006-08-25 2011-03-15 Teradata Us, Inc. Hardware accelerated reconfigurable processor for accelerating database operations and queries
CN101706819A (zh) * 2009-12-14 2010-05-12 金蝶软件(中国)有限公司 数据库的查询方法和***,客户端、服务器及数据库
CN102129458B (zh) * 2011-03-09 2012-12-12 北京翰云时代科技有限公司 关系型数据库的存储方法及装置
CN102831120B (zh) * 2011-06-15 2017-07-21 腾讯科技(深圳)有限公司 一种数据处理方法及***
CN102609493B (zh) * 2012-01-20 2014-07-02 东华大学 一种基于列存储模型的连接顺序查询优化方法
CN102663116B (zh) * 2012-04-11 2014-04-23 中国人民大学 面向列存储数据仓库的多维olap查询处理方法
CN102663114B (zh) * 2012-04-17 2013-09-11 中国人民大学 面向并发olap的数据库查询处理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102081625A (zh) * 2009-11-30 2011-06-01 ***通信集团北京有限公司 一种数据查询的方法及查询服务器
CN102129469A (zh) * 2011-03-23 2011-07-20 华中科技大学 一种面向虚拟实验的非结构化数据访问方法

Also Published As

Publication number Publication date
CN104424258A (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
CN104424258B (zh) 多维数据查询的方法、查询服务器、列存储服务器及***
US11567978B2 (en) Hybrid structured/unstructured search and query system
US9798772B2 (en) Using persistent data samples and query-time statistics for query optimization
Zheng et al. Reference-based framework for spatio-temporal trajectory compression and query processing
CN102479223B (zh) 数据查询方法及***
CN104252536B (zh) 一种基于hbase的上网日志数据查询方法及装置
CN109947796B (zh) 一种分布式数据库***查询中间结果集的缓存方法
US20190317938A1 (en) Method, program, and system for automatic discovery of relationship between fields in environment where different types of data sources coexist
CN103020054B (zh) 模糊查询方法及***
CN110334290B (zh) 一种基于MF-Octree的时空数据快速检索方法
WO2015096609A1 (zh) 视频资源的倒排索引文件建立方法及其***
US20140032568A1 (en) System and Method for Indexing Streams Containing Unstructured Text Data
US20220358178A1 (en) Data query method, electronic device, and storage medium
CN103034650B (zh) 一种数据处理***和方法
US10019483B2 (en) Search system and search method
US9405846B2 (en) Publish-subscribe based methods and apparatuses for associating data files
WO2022068348A1 (zh) 关系图谱构建方法、装置、电子设备及存储介质
CN111680072B (zh) 基于社交信息数据的划分***及方法
CN103995869A (zh) 一种基于Apriori算法的数据缓存方法
CN111045987B (zh) 一种基于Ceph分布式文件***加速元数据访问的方法和***
CN110678854B (zh) 数据查询的方法和装置
US20240078234A1 (en) Apparatus, method and storage medium for database pagination
CN113889199A (zh) 一种基于化合物的搜索引擎和搜索方法
WO2017014744A1 (en) Processing time-varying data using a graph data structure
CN117573741A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20201010

Address after: Room 2012, building 12, 13, 15, fangmaoyuan (phase II), 1177 Huanhu Road, Tianding street, Yuelu District, Changsha City, Hunan Province

Patentee after: Tencent cloud computing (Changsha) Co., Ltd

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TR01 Transfer of patent right