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

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

Info

Publication number
CN104424258A
CN104424258A CN201310382416.XA CN201310382416A CN104424258A CN 104424258 A CN104424258 A CN 104424258A CN 201310382416 A CN201310382416 A CN 201310382416A CN 104424258 A CN104424258 A CN 104424258A
Authority
CN
China
Prior art keywords
result data
inquiry form
querying
server
row storage
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.)
Granted
Application number
CN201310382416.XA
Other languages
English (en)
Other versions
CN104424258B (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

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(JavaScript Object Notation)格式为例,用户输入的查询条件如表1所示,包括指标量(measure)集合和查询参数。指标量用于描述待查询的统计量,查询参数用于对待查询的统计量进行限定。例如:指标量(measure)集合:登录次数、登录时长。查询参数包括属性(attribute)集合和或限制条件(condition)集合,其中属性(attribute)集合:性别属性值、城市属性值、年龄段属性值,限制条件(condition)集合:时间为2013.5.1。
表1
步骤102、对查询条件进行转换,得到预设格式的查询报表。
具体的,根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号(ID);
构造由所述查询参数和所述指标量组成的查询报表。
根据预设对一个关系表将用户输入的各个查询条件转换为与列存储时需要的ID号。查询报表的格式为<key,value>形式,其中,key表示查询参数和限制条件,value表示指标量。在对查询条件进行转换时,需要下述几个层级的对应关系表,如表2所示,用于记录属性、指标量分别对应的ID号。
表2
对于每个属性的属性值也通过对应关系表进行预设如表3所示,包括:城市属性、性别属性、年龄属性的对应关系表。
表3
如果用户输入城市的查询条件为表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 (21)

1.一种多维数据查询的方法,其特征在于,所述方法包括:
接收用户输入的查询条件;
对所述查询条件进行转换,得到预设格式的查询报表;
向列存储服务器发送所述查询报表;
接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户。
2.根据权利要求1所述的方法,其特征在于,所述接收用户输入的查询调教的步骤,包括:
接收用户输入的指标量(measure)集合以及下述至少一种查询参数:属性(attribute)集合和限制条件(condition)集合。
3.根据权利要求2所述的方法,其特征在于,所述对所述查询条件进行转换,得到查询报表的步骤,包括:
根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号(ID);
构造由所述查询参数和所述指标量组成的查询报表。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
向缓冲服务器发送所述查询报表,用于所述缓冲服务器判断是否已存储所述查询报表相对应的结果数据,返回结果数据;
接收所述缓冲服务器返回的结果数据;
如果所述结果数据为非空,则将所述结果数据返回给用户;
如果所述结果数据为空,则向列存储服务器发送所述查询报表。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在缓冲存储器中查找所述查询报表相对应的结果数据;
如果查找到所述查询报表对应的结果数据,则将结果数据返回给用户;
如果未查找到所述查询报表对应的结果数据,则向列存储服务器发送查询报表。
6.根据权利要求5所述的方法,其特征在于,在所述接收所述列存储服务器发送的结果数据的步骤之后,所述方法还包括:
将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器中;
当再次接受到与所述查询报表相同的查询条件时,从所述缓冲存储器中读取所述结果数据。
7.根据权利要求6所述的方法,其特征在于,所述将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器中的步骤,包括:
判断缓冲存储器的是否存在剩余存储空间;
如果存在剩余存储空间,则将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器;
如果不存在剩余存储空间,则根据预设算法删除已存储的结果数据,将所述查询报表对应的结果数据保存到缓冲存储器。
8.一种多维数据查询的方法,其特征在于,所述方法包括:
接收查询服务器发送的查询报表;
根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
如果所述结果数据存在,则向所述查询服务器发送所述结果数据。
9.根据权利要求8所述的方法,其特征在于,所述根据所述查询条件从已存储的列表数据中查找与所述查询条件相对应的结果数据的步骤,包括:
根据所述查询条件中的查询参数对已存储的列表数据进行正则过滤,得到与所述查询条件相对应的结果数据。
10.根据权利要求9所述的方法,其特征在于,在根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据的步骤之后,所述方法还包括:
如果所述与所述查询条件相对应的结果数据包括多个列表数据,则将所述多个列表数据进行合并,得到结果数据。
11.一种查询服务器,其特征在于,所述查询服务器包括:
接收单元,用于接收用户输入的查询条件;
转换单元,用于对所述接收单元接收的所述查询条件进行转换,得到查询报表;
发送单元,用于向列存储服务器发送所述转换单元转换的所述查询报表;
所述接收单元还用于,接收所述列存储服务器发送的结果数据;
返回单元,用于将所述接收单元接收的所述结果数据返回给用户。
12.根据权利要求11所述的查询服务器,其特征在于,所述接收单元还用于:接收用户输入的指标量(measure)集合以及下述至少一种查询参数:属性(attribute)集合和限制条件(condition)集合。
13.根据权利要求12所述的查询服务器,其特征在于,所述转换单元还用于:
根据预设对应关系表确定所述指标量、属性集合以及限制条件分别对应的标识号(ID);
构造由所述查询参数和所述指标量组成的所述查询报表。
14.根据权利要求13所述的查询服务器,其特征在于,
所述发送单元还用于,向缓冲服务器发送所述查询报表,用于所述缓冲服务器判断是否已存储所述查询报表相对应的结果数据,返回结果数据;
所述接收单元还用于,接收所述缓冲服务器返回的结果数据;
所述返回单元还用于,当所述结果数据为非空时,将所述结果数据返回给用户;
所述发送单元还用于,当所述结果数据为空时,向列存储服务器发送所述查询报表。
15.根据权利要求13所述的查询服务器,其特征在于,所述查询服务器还包括:
查找单元,用于在缓冲存储器中查找所述查询报表相对应的结果数据;
所述返回单元还用于,当所述查找单元查找到所述查询报表对应的结果数据时,将结果数据返回给用户;
所述发送单元还用于,当所述查找单元未查找到所述查询报表对应的结果数据时,向列存储服务器发送查询报表。
16.根据权利要求15所述的查询服务器,其特征在于,所述查询服务器还包括:
存储单元,用于将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器中;
所述返回单元还用于,当再次接收到与所述查询报表相同的查询条件时,从所述缓冲存储器中读取所述结果数据。
17.根据权利要求16所述的查询服务器,其特征在于,所述存储单元还用于:
判断缓冲存储器的是否存在剩余存储空间;
如果存在剩余存储空间,则将查询报表和与所述查询报表对应的结果数据保存到缓冲存储器;
如果不存在剩余存储空间,则根据预设算法删除已存储的结果数据,将所述查询报表对应的结果数据保存到缓冲存储器。
18.一种列存储服务器,其特征在于,所述列存储服务器包括:
接收单元,用于接收查询服务器发送的查询报表;
查询单元,用于根据所述接收单元接收的所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
发送单元,用于当所述结果数据存在时,向所述查询服务器发送所述结果数据。
19.根据权利要求18所述的列存储服务器,其特征在于,所述查询单元还用于:
根据所述查询条件对已存储的列表数据进行正则过滤,得到与所述查询条件相对应的结果数据。
20.根据权利要求19所述的列存储服务器,其特征在于,所述列存储服务器还包括:
合并单元,用于当所述与所述查询条件相对应的结果数据包括多个列表数据时,将所述多个列表数据进行合并,得到结果数据。
21.一种多维数据查询的***,其特征在于,包括查询服务器和列存储服务器,
所述查询服务器用于接收用户输入的查询条件;
对所述查询条件进行转换,得到预设格式的查询报表;
向列存储服务器发送所述查询报表;
所述列存储服务器用于:
接收查询服务器发送的查询报表;
根据所述查询条件在已存储的列表数据中查找与所述查询条件相对应的结果数据,所述列表数据用于表示对属性组合进行多维拆分得得到的拆分结果;
如果所述结果数据存在,则向所述查询服务器发送所述结果数据;
所述查询服务器还用于接收所述列存储服务器发送的结果数据,将所述结果数据返回给用户。
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 true CN104424258A (zh) 2015-03-18
CN104424258B 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)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105824876A (zh) * 2016-03-01 2016-08-03 乐视网信息技术(北京)股份有限公司 一种数据查询方法及装置
CN106294353A (zh) * 2015-05-14 2017-01-04 ***通信集团福建有限公司 信息处理方法及装置
CN106708826A (zh) * 2015-07-30 2017-05-24 中兴通讯股份有限公司 数据处理及查询方法、装置
CN106844541A (zh) * 2016-12-30 2017-06-13 晶赞广告(上海)有限公司 一种联机分析处理方法及装置
CN107092529A (zh) * 2017-02-10 2017-08-25 北京小度信息科技有限公司 Olap服务方法、装置及***
WO2018059430A1 (zh) * 2016-09-27 2018-04-05 新华三技术有限公司 数据库搜索
CN108182258A (zh) * 2018-01-02 2018-06-19 福建中金在线信息科技有限公司 分布式的数据分析***及方法
CN108701153A (zh) * 2016-02-25 2018-10-23 微软技术许可有限责任公司 使用到参数化报告的映射的查询响应
CN109189810A (zh) * 2018-08-28 2019-01-11 拉扎斯网络科技(上海)有限公司 查询方法、装置、电子设备及计算机可读存储介质
CN109189777A (zh) * 2018-06-28 2019-01-11 微梦创科网络科技(中国)有限公司 一种存储及查询多维信息的方法、装置及设备
CN109241143A (zh) * 2018-09-13 2019-01-18 中国建设银行股份有限公司 一种数据查询方法及***
CN109241195A (zh) * 2017-07-03 2019-01-18 北京国双科技有限公司 排名的计算方法及装置
CN109739876A (zh) * 2019-01-10 2019-05-10 中化石化销售有限公司 基于Sqltoy-orm框架的数据库的数据查询方法和装置
CN109800247A (zh) * 2018-12-14 2019-05-24 深圳壹账通智能科技有限公司 数据查找方法、装置、计算机设备以及存储介质
CN110716965A (zh) * 2019-09-25 2020-01-21 支付宝(杭州)信息技术有限公司 一种块链式账本中的查询方法、装置及设备
CN112527868A (zh) * 2020-12-23 2021-03-19 东莞市盟大塑化科技有限公司 一种数据获取方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1151586A (zh) * 1995-07-18 1997-06-11 索尼公司 多数据流搜索方法和装置
US20080189251A1 (en) * 2006-08-25 2008-08-07 Jeremy Branscome Processing elements of a hardware accelerated reconfigurable processor for accelerating database operations and queries
CN101706819A (zh) * 2009-12-14 2010-05-12 金蝶软件(中国)有限公司 数据库的查询方法和***,客户端、服务器及数据库
CN102081625A (zh) * 2009-11-30 2011-06-01 ***通信集团北京有限公司 一种数据查询的方法及查询服务器
CN102129469A (zh) * 2011-03-23 2011-07-20 华中科技大学 一种面向虚拟实验的非结构化数据访问方法
CN102609493A (zh) * 2012-01-20 2012-07-25 东华大学 一种基于列存储模型的连接顺序查询优化方法
CN102663114A (zh) * 2012-04-17 2012-09-12 中国人民大学 面向并发olap的数据库查询处理方法
CN102663116A (zh) * 2012-04-11 2012-09-12 中国人民大学 面向列存储数据仓库的多维olap查询处理方法
CN102129458B (zh) * 2011-03-09 2012-12-12 北京翰云时代科技有限公司 关系型数据库的存储方法及装置
CN102831120A (zh) * 2011-06-15 2012-12-19 腾讯科技(深圳)有限公司 一种数据处理方法及***

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1151586A (zh) * 1995-07-18 1997-06-11 索尼公司 多数据流搜索方法和装置
US20080189251A1 (en) * 2006-08-25 2008-08-07 Jeremy Branscome Processing elements of a hardware accelerated reconfigurable processor for accelerating database operations and queries
CN102081625A (zh) * 2009-11-30 2011-06-01 ***通信集团北京有限公司 一种数据查询的方法及查询服务器
CN101706819A (zh) * 2009-12-14 2010-05-12 金蝶软件(中国)有限公司 数据库的查询方法和***,客户端、服务器及数据库
CN102129458B (zh) * 2011-03-09 2012-12-12 北京翰云时代科技有限公司 关系型数据库的存储方法及装置
CN102129469A (zh) * 2011-03-23 2011-07-20 华中科技大学 一种面向虚拟实验的非结构化数据访问方法
CN102831120A (zh) * 2011-06-15 2012-12-19 腾讯科技(深圳)有限公司 一种数据处理方法及***
CN102609493A (zh) * 2012-01-20 2012-07-25 东华大学 一种基于列存储模型的连接顺序查询优化方法
CN102663116A (zh) * 2012-04-11 2012-09-12 中国人民大学 面向列存储数据仓库的多维olap查询处理方法
CN102663114A (zh) * 2012-04-17 2012-09-12 中国人民大学 面向并发olap的数据库查询处理方法

Cited By (21)

* 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 中兴通讯股份有限公司 数据处理及查询方法、装置
CN108701153A (zh) * 2016-02-25 2018-10-23 微软技术许可有限责任公司 使用到参数化报告的映射的查询响应
CN108701153B (zh) * 2016-02-25 2022-04-26 微软技术许可有限责任公司 响应自然语言查询的方法、***和计算机可读存储介质
CN105824876A (zh) * 2016-03-01 2016-08-03 乐视网信息技术(北京)股份有限公司 一种数据查询方法及装置
WO2018059430A1 (zh) * 2016-09-27 2018-04-05 新华三技术有限公司 数据库搜索
CN106844541B (zh) * 2016-12-30 2020-05-29 晶赞广告(上海)有限公司 一种联机分析处理方法及装置
CN106844541A (zh) * 2016-12-30 2017-06-13 晶赞广告(上海)有限公司 一种联机分析处理方法及装置
CN107092529A (zh) * 2017-02-10 2017-08-25 北京小度信息科技有限公司 Olap服务方法、装置及***
CN109241195A (zh) * 2017-07-03 2019-01-18 北京国双科技有限公司 排名的计算方法及装置
CN109241195B (zh) * 2017-07-03 2022-03-18 北京国双科技有限公司 排名的计算方法及装置
CN108182258B (zh) * 2018-01-02 2021-04-27 福建中金在线信息科技有限公司 分布式的数据分析***及方法
CN108182258A (zh) * 2018-01-02 2018-06-19 福建中金在线信息科技有限公司 分布式的数据分析***及方法
CN109189777A (zh) * 2018-06-28 2019-01-11 微梦创科网络科技(中国)有限公司 一种存储及查询多维信息的方法、装置及设备
CN109189810A (zh) * 2018-08-28 2019-01-11 拉扎斯网络科技(上海)有限公司 查询方法、装置、电子设备及计算机可读存储介质
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框架的数据库的数据查询方法和装置
CN109739876A (zh) * 2019-01-10 2019-05-10 中化石化销售有限公司 基于Sqltoy-orm框架的数据库的数据查询方法和装置
CN110716965A (zh) * 2019-09-25 2020-01-21 支付宝(杭州)信息技术有限公司 一种块链式账本中的查询方法、装置及设备
CN112527868A (zh) * 2020-12-23 2021-03-19 东莞市盟大塑化科技有限公司 一种数据获取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN104424258B (zh) 2020-06-16

Similar Documents

Publication Publication Date Title
CN104424258A (zh) 多维数据查询的方法、查询服务器、列存储服务器及***
CN102521405B (zh) 支持高速加载的海量结构化数据存储、查询方法和***
CN102521406B (zh) 海量结构化数据复杂查询任务的分布式查询方法和***
CN104516979B (zh) 一种基于二次检索的数据查询方法及***
CN104252536B (zh) 一种基于hbase的上网日志数据查询方法及装置
US9430559B2 (en) Document retrieval using internal dictionary-hierarchies to adjust per-subject match results
US20140310302A1 (en) Storing and querying graph data in a key-value store
CN107291807B (zh) 一种基于图遍历的sparql查询优化方法
CN105045932B (zh) 一种基于降序存储的数据分页查询方法
CN103488704B (zh) 一种数据存储方法及装置
CN109947796B (zh) 一种分布式数据库***查询中间结果集的缓存方法
CN104750681A (zh) 一种海量数据的处理方法及装置
JP2017188137A (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
CN108509437A (zh) 一种ElasticSearch查询加速方法
CN103744913A (zh) 一种基于搜索引擎技术的数据库检索方法
CN101963999A (zh) 音乐分类搜索引擎***及音乐分类搜索方法
JP6159908B6 (ja) 異種データソース混在環境におけるフィールド間の関係性の自動的発見のための方法、プログラム、および、システム
CN109597829B (zh) 一种实现可搜索加密关系型数据库缓存的中间件方法
CN111258978A (zh) 一种数据存储的方法
CN103823846A (zh) 一种基于图论的大数据存储及查询方法
CN106484815B (zh) 一种基于海量数据类sql检索场景的自动识别优化方法
Von der Weth et al. Multiterm keyword search in NoSQL systems
US11507555B2 (en) Multi-layered key-value storage
Ghotiya et al. Migration from relational to NoSQL database
CN105138686A (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