CN107229730A - 数据查询方法及装置 - Google Patents

数据查询方法及装置 Download PDF

Info

Publication number
CN107229730A
CN107229730A CN201710426265.1A CN201710426265A CN107229730A CN 107229730 A CN107229730 A CN 107229730A CN 201710426265 A CN201710426265 A CN 201710426265A CN 107229730 A CN107229730 A CN 107229730A
Authority
CN
China
Prior art keywords
dimension
data
query
precomputation
information
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.)
Pending
Application number
CN201710426265.1A
Other languages
English (en)
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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201710426265.1A priority Critical patent/CN107229730A/zh
Publication of CN107229730A publication Critical patent/CN107229730A/zh
Pending legal-status Critical Current

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • 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/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24545Selectivity estimation or determination

Landscapes

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

Abstract

本发明公开了一种数据查询方法及装置,其中,方法包括:获取接收到的维度设置请求中包含的维度设置信息;根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果;接收到数据查询请求时,获取数据查询请求中包含的维度查询信息;根据预计算结果确定与维度查询信息相匹配的查询内容。本方案可以实现海量数据的多维度的快速查询、统计等功能,大幅缩短了操作时延。

Description

数据查询方法及装置
技术领域
本发明涉及通信技术领域,具体涉及一种数据查询方法及装置。
背景技术
如今,随着信息产业的不断发展,数据已成为企业和社会关注的重要战略资源,通过对海量数据的查询、统计,可以使用户做出更明智的业务决策。
但是,发明人在实现本发明的过程中发现,现有技术中的上述方式至少存在下述缺陷:用户在查询、统计海量数据时,往往效率较低,操作时延长。例如,用户要从海量日志数据中获取北京市各个***超市在1月份的销售额,则先需遍历所有日志将北京市筛选出后再进一步判断超市类别是否是***,并在筛选出北京市的***超市后进一步根据月份筛选出1月份的销售额,由此可见,在数据量较多时,其查找效率较低,操作时延较长,无法实现对海量数据的快速查询及统计等。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据查询方法及装置。
根据本发明的一个方面,提供了一种数据查询方法,包括:
获取接收到的维度设置请求中包含的维度设置信息;
根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果;
接收到数据查询请求时,获取数据查询请求中包含的维度查询信息;
根据预计算结果确定与维度查询信息相匹配的查询内容。
根据本发明的另一方面,提供了一种数据查询装置,包括:
维度设置获取模块,适于获取接收到的维度设置请求中包含的维度设置信息;
预计算模块,适于根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果;
维度查询获取模块,接收到数据查询请求时,获取数据查询请求中包含的维度查询信息;
确定模块,适于根据预计算结果确定与维度查询信息相匹配的查询内容。
根据本发明的又一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述数据查询方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据查询方法对应的操作。
根据本发明的数据查询方法及装置,通过将数据进行多维度划分存储,并对多个维度的不同组合的结果进行预计算,从而在接收到查询请求时可以根据查询请求中的维度查询信息在预计算结果中直接查询结果,或根据预计算结果通过少量计算得到最终的结果,从而实现海量数据的多维度的快速查询、统计等功能,大幅缩短了操作时延。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例提供的一种数据查询方法的流程图;
图2示出了根据本发明另一个实施例提供的一种数据查询方法的流程图;
图3示出了根据本发明一个实施例提供的一种数据查询装置的结构框图;
图4示出了根据本发明另一个实施例提供的一种数据查询装置的结构框图;
图5示出了根据本发明一个实施例提供的一种终端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例提供的一种数据查询方法的流程图。如图1所示,该方法包括以下步骤:
步骤S110,获取接收到的维度设置请求中包含的维度设置信息。
其中,本发明中的维度为用户在实际业务中对数据的分析角度,如地域维度为以地域角度对数据进行的划分,时间维度为以时间角度对数据进行的划分。
维度设置请求可以由用户根据实际业务需求而发出,维度设置请求中包含维度设置信息。维度设置信息具体包括对维度以及指标的增加、删除、修改、以及重置等信息。其中,指标为对数据的分析目标类别,其个数可以为一个或多个。例如,用户处于销售行业,其实际业务中经常涉及的维度为时间、地域等维度,涉及的指标通常为销售额,当***在冷启动时维度及指标设置默认为空,则用户可增加时间、地域等维度,并将指标设置为销售额。或者,也可以对现有维度和指标进行删除或修改。
步骤S120,根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果。
具体地,在存储数据过程中,可以根据维度设置信息对源数据进行多维度划分后存储。例如,当源数据为日志数据时,可以通过对日志数据进行解析,从日志数据中提取出与维度相关的字段,并进行存储。例如,若维度设置有时间维度、IP维度,指标为缓存时间,一条日志数据data1为:
“2012-12-17 16:00:32W3SVC19VHOST156135 124.172.156.135GET/upload/img_Share/2012-10-15/129947 651135007500.png–80-112.94.144.100http://www.3api.com/resource/150.html www.3api.com 200 0 121 12288 35380593”。
通过解析后得出与设置的维度相关的信息:“2012-12-17 16:00:32”,“124.172.156.135”,以及“80593”,其中“2012-12-17 16:00:32”属于时间信息,“124.172.156.135”属于IP信息,“80593”属于缓存时间信息,从而可将data1按照“2012-12-17 16:00:32”,“124.172.156.135”以及“80593”进行存储,即按照时间维度、IP维度、以及缓存时间指标来进行存储,具体存储格式本领域人员可自行设置。
在对源数据进行多维度划分存储后,根据维度设置信息对数据进行预计算。具体地,可计算各个维度组合的指标值。例如,可以对各个维度组合的指标值进行简单的汇总,以上例为例,可以对上例中各个IP每一天的缓存时间总和进行汇总;也可以对数据按照一定的规则计算各个维度组合的指标值,例如,可以对上例中进行无效IP过滤后,统计各个IP每一天的缓存时间总和。总之,本发明对具体的预计算方法不做限定,本领域人员可以自行设置。
通过预计算后会生成与数据相对应的预计算结果,则将预计算结果进行存储,例如,可以将计算得到的指标值与其对应的维度组合进行关联存储。
由此可见,用户的维度设置请求中包含的信息可传达至数据存储层,并进一步影响数据的存储方式和存储内容,实现用户和底层数据的交互。
步骤S130,接收到数据查询请求时,获取数据查询请求中包含的维度查询信息。
数据查询请求可在用户触发相应的查询操作后发出,也可在达到用户自定义设定的查询周期后发出。
数据查询请求中包含的维度查询信息具体包括查询维度以及查询指标,维度查询信息可以由用户自定义设置。举例来说,查询请求可以为“北京市各个***超市生鲜的销售额”,则其中包含地域维度信息“北京市”、超市维度信息“***”、和产品维度信息“生鲜”,以及查询指标“销售额”。
步骤S140,根据预计算结果确定与维度查询信息相匹配的查询内容。
由于步骤S120中存储有各个维度组合的预计算结果,所以本步骤中可根据步骤S130中的维度查询信息,在步骤S120中的预计算结果中进行查找。其中,与维度查询信息相匹配的查询内容可以直接在预计算结果中查询得到,例如:预计算结果中包括所有的地域维度、时间维度、以及产品维度的组合所对应的销售额,当维度查询信息为“北京市1月份手机的销售额”,则可直接在预计算结果中查找到地域维度取值为“北京”,时间维度取值为“1月”,并且产品维度取值为“手机”的组合所对应的销售额;或者,与维度查询信息相匹配的查询内容可以以预计算结果为基础经过一定的计算后得到,例如:预计算结果中包括所有的地域维度、时间维度、以及产品维度的组合所对应的销售额,维度查询信息为“各个省份7月份电脑的销售额的排名”,则可从预计算结果中查询到地域维度中各个省份与时间维度为“7月”以及产品维度为“电脑”的销售额,并根据销售额进行排序,进而得到各个省份7月份电脑的销售额的排名。
其中,维度查询信息可以通过多种形式输入,在上述举例中,用户直接以自然语句的形式输入维度查询信息,相应地,该方法的执行主体在接收到自然语句形式的维度查询信息后,首先要对维度查询信息进行分词处理,并利用预设的维度词库对该维度查询信息进行智能语义解析,从而得到用户欲查询的各个维度的维度名称。该种方式通过预先训练维度词库并利用分词处理等方式实现了智能化语义解析,从而为用户的输入提供了便利,使用户能够灵活组织查询信息的内容。或者,在另外的方式中,可以预先设置多个维度输入入口,每个维度输入入口对应设置有多个候选维度名称,例如,在上例中,用户首先从地域维度输入入口提供的多个候选维度名称中选择“北京”,然后从时间维度输入入口提供的多个候选维度名称中选择“1月”,并从产品维度输入入口提供的多个候选维度名称中选择“手机”,最后从属性维度输入入口提供的多个候选维度名称中选择“销售额”,从而完成维度查询信息的输入。该种方式预先设置了多种维度输入入口,并预设了每种维度输入入口的取值范围,从而使用户仅能选择取值范围内的维度取值,避免了用户输入无效的错误维度的情况,提升了维度输入的准确性。
在确定出与维度查询信息相匹配的查询内容后可将查询内容返回给用户。
由此可见,本实施例通过将数据进行多维度划分存储,并对多个维度的不同组合的结果进行预计算,从而可以使在接收到查询请求时可以直接根据查询请求中的维度查询信息在预计算结果中直接查询结果,或根据预计算结果通过少量计算得到最终的结果,从而可以实现海量数据的多维度的快速查询、统计等功能,大幅缩短了操作时延;同时,用户可以与底层数据进行交互,避免了现有技术中用户需通过数据开发维护人员与底层数据交互而增加的沟通成本。
图2示出了根据本发明另一个实施例提供的一种数据查询方法的流程图。如图2所示,该方法包括:
步骤S210,通过预设的维度设置入口接收维度设置请求,并获取接收到的维度设置请求中包含的维度设置信息。
维度设置请求可以由用户根据实际业务需求而发出,通过预设的维度设置入口接收维度设置请求,并通过预设的通信协议进行传输,使用户和底层数据可以进行交互,也保证了维度设置信息传递的准确性。
维度设置请求中包含维度设置信息。维度设置信息具体包括对维度以及指标的增加、删除、修改、和/或重置等信息。其中,指标为对数据的分析目标类别,其个数可以为一个或多个。例如,用户处于销售行业,其实际业务中经常涉及的维度为时间、地域等维度,涉及的指标通常为销售额,当***在冷启动时维度及指标设置默认为空,则用户可增加时间、地域等维度,并将指标设置为销售额。或者,也可以对现有维度和指标进行删除或修改。
维度设置信息还包括维度的总数量、各个维度的维度名称。其中,维度的总数量为新增维度与现有维度的总和;各个维度的维度名称用户可自定义设置。
维度设置信息还包括各个维度的取值范围。其中,维度的取值范围为维度的各个可取值的范围,例如“人类身高”维度的取值范围为“0-3米”,维度具体的取值范围用户可通过预设的维度取值设置接口进行设置。进一步地,对于同一维度,从不同的粒度划分,其维度取值不同,所以维度的取值范围具体为与多种粒度相对应的粒度值,粒度值也是维度的取值。例如,对于“地域”维度,与省份粒度相对应的粒度值可以为“湖北”、“湖南”等,与城市粒度相对应的粒度值可以为“长沙”、“武汉”等。
本实施例中可以实现对维度的细粒度的划分,例如“时间”维度可以以细粒度的天或小时或分钟等为粒度,“地域”维度可以以细粒度的区、县、村等为粒度。具体维度的粒度可由用户自定义设置,例如,在销售行业中,通常需要查询的是每个月或每个季度的销售额,则时间维度的粒度可以选取为月,则相应的粒度值为1月至12月;若时间维度的粒度选取为季,则相应的粒度值为1季度至4季度。
可选的,不同粒度对应的粒度值之间的关系对等,不存在上下级或父子关系,例如,城市粒度值“长沙”与省份粒度值“湖南省”的关系为对等关系,在以城市为粒度设置或查询维度时,可直接设置或查询“长沙”,而非在选择了“湖南省”后进一步在下级类别中选择“长沙”。
步骤S220,根据维度的总数量确定维度组合的类型和数量。
可根据维度的总数量确定维度组合的类型和数量,维度组合的类型包括所有维度的各种组合情况,若维度的总数量为n,则维度组合的数量可达2n-1。举例来说,若设置有时间维度、地域维度、和产品维度3个维度,则共有“时间+地域+产品”、“时间+地域”、“时间+产品”、“地域+时间”、“时间”、“地域”、“产品”共7种维度组合类型。
步骤S230,分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果。
具体地,在存储数据过程中,可以根据维度设置信息对源数据进行多维度划分后存储。本实施例中的数据包括日志数据。所以在存储日志数据时,可以根据维度设置信息对日志数据进行解析,从数据中提取出与维度相关的字段,并进行存储。例如,若维度设置有时间维度、IP维度、指标为缓存时间,一条日志数据data1为:
“2012-12-17 16:00:32W3SVC19VHOST156135 124.172.156.135GET/upload/img_Share/2012-10-15/129947 651135007500.png–80-112.94.144.100http://www.3api.com/resource/150.html www.3api.com 200 0 121 12288 35380593”。
通过解析字段拆分得出与设置的维度相关的信息:“2012-12-17 16:00:32”,“124.172.156.135”,以及“80593”,其中“2012-12-17 16:00:32”属于时间信息,“124.172.156.135”属于IP信息,“80593”属于缓存时间信息,从而使将该data1按照“2012-12-17 16:00:32”,“124.172.156.135”以及“80593”进行存储,即按照时间、IP、以及缓存时间进行存储,具体存储格式本领域人员可自行设置。
在对源数据进行多维度划分存储后,分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果。具体地,分别针对每种类型的维度组合,计算每种类型的维度组合中各个取值相匹配的中间计算结果,如计算每种类型的维度组合中各个取值相对应的指标值。预计算过程中,可以对各个粒度值组合指标值进行简单的汇总;也可以对数据按照一定的规则计算各个维度组合的指标值,如,可以对上例中进行无效IP过滤后,汇总各个IP在每一天的缓存时间。总之,本发明对具体的预计算方法不做限定,本领域人员可以自行设置该类型的维度组合所对应的各种取值相匹配的中间计算结果。
需要注意的是,由于对于不同的粒度划分,维度的取值不同,所以在预计算过程中,若用户的维度设置请求中包含对维度粒度的设定,则以用户指定的维度粒度为准,计算各个维度组合类型在指定的维度粒度下的指标值;若用户未指定维度粒度,则可计算各个维度组合类型在不同的维度粒度下的指标值,但采用该种方案数据存储量将大大增加;而本实施例可优选地计算各个维度组合类型在细粒度下的指标值,在之后的查询过程中可以通过对细粒度的聚合操作得到各个维度组合类型在粗粒度下的指标值。
以下以一具体事例来展现本步骤中的一种预计算效果:
表1为对5条日志数据进行解析、字段拆分后,以多维度划分存储的数据表。设置的维度为“IP”、“点击时间”、“机型”、“版本号”,指标为“点击数”。对于“IP+点击时间+机型+版本号”的维度组合,其中点击时间的粒度为天,则该维度组合对应的预计算结果为如表2所示的结果,即将“IP+点击时间+机型+版本号”相同的粒度组合的点击数进行汇总;对于“IP+点击时间+机型”的维度组合,其中点击时间的粒度为天,则该维度组合对应的预计算结果为如表3所示的结果,即“IP+点击时间+机型”相同粒度组合的点击数进行汇总。
通过预计算后会生成与数据相对应的预计算结果,则将预计算结果进行存储,例如,可以将计算得到的指标值与其对应的维度组合进行关联存储。
表1
IP 点击时间 机型 版本号 点击数
24.172.156.135 2012-12-17 16:00:32 华为 284.26.2 2
24.172.156.136 2012-12-17 16:00:32 小米 284.26.2 3
24.172.156.136 2012-12-17 16:00:32 小米 284.26.1 25
24.172.156.135 2012-12-17 16:00:32 苹果 284.26.2 14
24.172.156.135 2012-12-17 17:00:32 华为 284.26.2 2
表2
IP 点击时间 机型 版本号 点击数
24.172.156.135 2012-12-17 华为 284.26.2 4
24.172.156.136 2012-12-17 小米 284.26.2 3
24.172.156.136 2012-12-17 小米 284.26.1 25
24.172.156.135 2012-12-17 苹果 284.26.2 14
表3
IP 点击时间 机型 点击数
24.172.156.135 2012-12-17 华为 4
24.172.156.136 2012-12-17 小米 28
24.172.156.135 2012-12-17 苹果 14
步骤S240,接收到数据查询请求时,获取数据查询请求中包含的维度查询信息。
具体地,接收通过预设的数据查询入口实时发送的数据查询请求;和/或,接收通过预设的周期设置入口设置并周期性发送的数据查询请求。用户可随时通过预设的数据查询入口发送数据查询请求,或者用户也可通过预设的周期设置入口设置数据查询的周期,并通过该入口周期性地发送数据查询请求。
数据查询请求中包含的维度查询信息具体包括待查询的维度数量以及各个维度的取值。可选的,维度查询信息还可以包括待查询的各个维度的名称,并且数据查询请求中还可包括待查询的指标信息。举例来说,查询请求可以为“北京市各个超市生鲜的销售额”,则其中包含的维度数量为3个,即地域维度、超市维度、以及产品维度,其中地域维度的取值为“北京”,超市维度的取值为该维度取值范围内的所有取值,产品维度取值为“生鲜”,以及指标为“销售额”。
步骤S250,根据预计算结果确定与维度查询信息相匹配的查询内容。
由于步骤S230中存储有各个维度组合的预计算结果,所以本步骤中可根据步骤S240中的维度查询信息,在步骤S230中的预计算结果中进行查找。
在一种情形中,与维度查询信息相匹配的查询内容可以直接在预计算结果中查询得到,例如:预计算结果中包括所有的粒度为城市的地域维度、粒度为月的时间维度、以及产品维度的组合所对应的销售额,当维度查询信息为“北京市1月1日手机的销售额”,则可直接在预计算结果中查找到地域维度取值为“北京”,时间维度取值为“1月1日”,并且产品维度取值为“手机”的组合所对应的销售额。
在另一种情形中,与维度查询信息相匹配的查询内容可以以预计算结果为基础经过一定的计算后得到,例如:预计算结果中包括所有的粒度为城市的地域维度、粒度为天的时间维度、以及产品维度的组合所对应的销售额,维度查询信息为“各个城市7月份电脑的销售额的排名”,则可以以预计算结果中的各个城市每天的电脑的销售额的数据为基础,以月份对数据进行聚合,从而得到各个城市各个月电脑的销售额,并进一步删选出月份为7月份时各个省份电脑的销售额,并在此基础上以销售额进行排序,从而得出与维度查询信息相匹配的查询内容。
由此可见,当预计算结果中维度中的粒度较细时,若要对数据进行细粒度分析可以直接在预计算结果中查找得到;而若对数据进行分析的粒度较粗时,则可通过对细粒度的预计算结果的聚合满足数据查询的需求。
步骤S260,输出与维度查询信息相匹配的查询内容。
在确定了与维度查询信息相匹配的查询内容后,通过预设的通信协议,将该查询内容反馈给用户。可选的,可以以报表形式输出与维度查询信息相匹配的查询内容,使查询结果直观化、***化,便于用户进一步对数据进行分析。
由此可见,本实施例通过将数据进行多维度划分存储,并可以对多个维度细粒度的组合进行预计算,从而可以使在接收到查询请求时可以根据查询请求中的维度查询信息在预计算结果中直接查询结果,或根据预计算结果通过少量计算得到最终的查询结果,满足用户对数据的细粒度分析,并可实现海量数据的多维度的快速查询、统计等功能,大幅缩短了操作时延(例如,可以实现针对百亿级别数据的秒级查询);同时,通过预设的维度设置入口和维度查询入口等,使用户可以与底层数据进行交互,避免了现有技术中用户需通过数据开发维护人员与底层数据交互而增加的沟通成本。
总而言之,本发明中的方式所适用的数据量级更高、且查询速度更快(可以做到近似实时查询的效果),并且支持更多维度、更细粒度的查询,且查询时更为灵活便利。为了便于理解本发明提供的方式的诸多技术优势,下面再对上述实施例中的部分可选的处理流程进行详细描述:
首先,本发明中的数据查询方法能够对多个维度对应的查询内容进行统计。相应地,在上述实施例中,当接收到数据查询请求时,获取数据查询请求中包含的维度查询信息之后,进一步获取数据查询请求中包含的统计项信息;并且,根据预计算结果确定与维度查询信息相匹配的查询内容的步骤之后,进一步根据统计项信息中包含的统计项目,对上述查询内容进行统计,并输出统计结果。其中,维度查询信息中包含多个维度,且查询内容为与多个维度相匹配的查询内容;并且,统计项目至少包括:排行类统计项目。
例如,在实际项目中,可能包含数十个维度,且有些维度下对应着十几万个筛选项(即维度的取值),查询人员不仅需要查询多个维度所对应的查询内容,还需要对多个维度所对应的查询内容同时进行统计,比如统计三个维度下的排行情况等。传统的数据查询方法仅支持对单维度的统计功能,而无法支持对多维度的统计功能,本实施例中的方式在查询到多个维度对应的查询信息的基础上进一步实现了对查询信息的统计功能,从而能够同时得到多个维度下的统计项目,为查询人员提供了便利。具体实现时,可以设置用于输入统计项信息的统计项输入入口。上述的统计项目不仅包括排行类统计项目,还可以包括取最大/小值类统计项目等各类统计项目。该方式能够应用于各种数据分析场景中,例如,在APP推广过程中,需要从多个维度统计推广渠道的推广效果,从而确定优质渠道,通过本方式能够直接得到各个渠道在多个维度下的排名、留存率的占比情况等指标,从而为优质渠道的确定提供基础。
其次,本发明中的数据查询方法还能够实现与数据查询请求相对应的反向查询,从而实现ABtest(AB测试,主要用于完成对比测试)查询,快速完成两个或更多个方案之间的对比。相应地,在上述实施例中,根据预计算结果确定与维度查询信息相匹配的查询内容的步骤之后进一步包括:当接收到与数据查询请求相对应的反向查询请求时,获取与数据查询请求中包含的维度查询信息相对应的反向查询信息;并根据预计算结果确定与反向查询信息相匹配的查询内容。
例如,在商业化广告等技术领域中,往往需要进行策略对比,通过对比新广告与旧广告在各个维度下的转换率来决定广告的投放。在传统的查询方式中,需要通过多次筛选的方式才能实现两个广告之间的对比。而在本发明中,进一步设置了反向查询入口,当用户输入一次数据查询请求后,对本次接收到的数据查询请求中包含的维度查询信息进行缓存,若后续接收到用户通过反向查询入口触发的反向查询请求,则直接根据缓存的维度查询信息确定对应的反向查询信息。其中,反向查询信息通常是指根据维度查询信息进行反向选择后得到的信息。例如,假设维度查询信息中包含两个维度:地域维度的取值为“北京”,日期维度的取值为“上半年”,则对应的反向查询信息即为:地域维度中取值不为“北京”的其他取值(例如“上海”和/或“广州”,具体取决于地域维度的取值范围)、并且日期维度的取值为“下半年”。另外,当反向查询信息中包含的维度取值情况较多时,还可以根据需要进一步将反向查询信息细分为多种细化查询信息,并分别给出每种细化查询信息对应的查询结果。总之,反向查询信息的具体内涵可由本领域技术人员灵活设置,只要能够实现对比查询的目的即可。
最后,本发明中的数据查询方法还能够实现实时查询的效果,从而满足用户的实时查询需求。相应地,在上述实施例中,数据查询请求为实时流数据,则所述接收到数据查询请求时,获取所述数据查询请求中包含的维度查询信息的步骤具体包括:通过实时数据管道接收并存储所述实时流数据;且所述根据所述预计算结果确定与所述维度查询信息相匹配的查询内容的步骤具体包括:根据所述预计算结果实时确定与所述维度查询信息相匹配的查询内容。
例如,可以先通过第一实时数据管道读取上述的实时流数据,然后,将读取到的实时流数据写入第二实时数据管道,由两个实时数据管道分别负责实时流数据的读取和写入操作,从而能够并发地处理更多的实时流数据,便于实现实时流数据的管理。然后,根据预计算结果对实时流数据进行处理,并把处理后得到的查询结果实时转化为图形、曲线等形式的查询结果,以便于用户查看。具体实施时,可以按分钟级(甚至秒级)实现图表化输出。
图3示出了根据本发明一个实施例提供的一种数据查询装置的功能框图。如图3所示,该装置包括:维度设置获取模块31、预计算模块32、维度查询获取模块33、以及确定模块34。
维度设置获取模块31,适于获取接收到的维度设置请求中包含的维度设置信息。
其中,本发明中的维度为用户在实际业务中对数据的分析角度,如地域维度为以地域角度对数据进行的划分,时间维度为以时间角度对数据进行的划分。
维度设置请求可以由用户根据实际业务需求而发出,维度设置请求中包含维度设置信息。维度设置信息具体包括对维度以及指标的增加、删除、修改、以及重置等信息。其中,指标为对数据的分析目标类别,其个数可以为一个或多个。例如,用户处于销售行业,其实际业务中经常涉及的维度为时间、地域等维度,涉及的指标通常为销售额,当***在冷启动时维度及指标设置默认为空,则用户可增加时间、地域等维度,并将指标设置为销售额。或者,也可以对现有维度和指标进行删除或修改。
预计算模块32,适于根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果。
具体地,在存储数据过程中,可以根据维度设置信息对源数据进行多维度划分后存储。例如,当源数据为日志数据时,可以通过对日志数据进行解析,从日志数据中提取出与维度相关的字段,并进行存储。例如,若维度设置有时间维度、IP维度,指标为缓存时间,一条日志数据data1为:
“2012-12-17 16:00:32W3SVC19VHOST156135 124.172.156.135GET/upload/img_Share/2012-10-15/129947 651135007500.png–80-112.94.144.100http://www.3api.com/resource/150.html www.3api.com 200 0 121 12288 35380593”。
通过解析后得出与设置的维度相关的信息:“2012-12-17 16:00:32”,“124.172.156.135”,以及“80593”,其中“2012-12-17 16:00:32”属于时间信息,“124.172.156.135”属于IP信息,“80593”属于缓存时间信息,从而可将data1按照“2012-12-17 16:00:32”,“124.172.156.135”以及“80593”进行存储,即按照时间维度、IP维度、以及缓存时间指标来进行存储,具体存储格式本领域人员可自行设置。
在对源数据进行多维度划分存储后,根据维度设置信息对数据进行预计算。具体地,可计算各个维度组合的指标值。例如,可以对各个维度组合的指标值进行简单的汇总,以上例为例,可以对上例中各个IP每一天的缓存时间总和进行汇总;也可以对数据按照一定的规则计算各个维度组合的指标值,例如,可以对上例中进行无效IP过滤后,统计各个IP每一天的缓存时间总和。总之,本发明对具体的预计算方法不做限定,本领域人员可以自行设置。
通过预计算后会生成与数据相对应的预计算结果,则将预计算结果进行存储,例如,可以将计算得到的指标值与其对应的维度组合进行关联存储。
由此可见,用户的维度设置请求中包含的信息可传达至数据存储层,并进一步影响数据的存储方式和存储内容,实现用户和底层数据的交互。
维度查询获取模块33,适于接收到数据查询请求时,获取数据查询请求中包含的维度查询信息。
数据查询请求可在用户触发相应的查询操作后发出,也可在达到用户自定义设定的查询周期后发出。
数据查询请求中包含的维度查询信息具体包括查询维度以及查询指标,维度查询信息可以由用户自定义设置。举例来说,查询请求可以为“北京市各个***超市生鲜的销售额”,则其中包含地域维度信息“北京市”、超市维度信息“***”、和产品维度信息“生鲜”,以及查询指标“销售额”。
确定模块34,适于根据预计算结果确定与维度查询信息相匹配的查询内容。
由于预计算模块32中存储有各个维度组合的预计算结果,所以可以根据维度查询获取模块33中的维度查询信息,在预计算结果中进行查找。其中,与维度查询信息相匹配的查询内容可以直接在预计算结果中查询得到,例如:预计算结果中包括所有的地域维度、时间维度、以及产品维度的组合所对应的销售额,当维度查询信息为“北京市1月份手机的销售额”,则可直接在预计算结果中查找到地域维度取值为“北京”,时间维度取值为“1月”,并且产品维度取值为“手机”的组合所对应的销售额;或者,与维度查询信息相匹配的查询内容可以以预计算结果为基础经过一定的计算后得到,例如:预计算结果中包括所有的地域维度、时间维度、以及产品维度的组合所对应的销售额,维度查询信息为“各个省份7月份电脑的销售额的排名”,则可从预计算结果中查询到地域维度中各个省份与时间维度为“7月”以及产品维度为“电脑”的销售额,并根据销售额进行排序,进而得到各个省份7月份电脑的销售额的排名。
在确定出与维度查询信息相匹配的查询内容后可将查询内容返回给用户。
由此可见,本实施例通过将数据进行多维度划分存储,并对多个维度的不同组合的结果进行预计算,从而可以使在接收到查询请求时可以直接根据查询请求中的维度查询信息在预计算结果中直接查询结果,或根据预计算结果通过少量计算得到最终的结果,从而可以实现海量数据的多维度的快速查询、统计等功能,大幅缩短了操作时延;同时,用户可以与底层数据进行交互,避免了现有技术中用户需通过数据开发维护人员与底层数据交互而增加的沟通成本。
图4示出了根据本发明另一个实施例提供的一种数据查询装置的功能框图。如图4所示,在图3所示装置的基础上,该装置还包括:输出模块41。
其中,维度设置获取模块31进一步适于通过预设的维度设置入口接收维度设置请求。
维度设置请求可以由用户根据实际业务需求而发出,通过预设的维度设置入口接收维度设置请求,并通过预设的通信协议进行传输,使用户和底层数据可以进行交互,也保证了维度设置信息传递的准确性。
维度设置请求中包含维度设置信息。维度设置信息具体包括对维度以及指标的增加、删除、修改、和/或重置等信息。其中,指标为对数据的分析目标类别,其个数可以为一个或多个。例如,用户处于销售行业,其实际业务中经常涉及的维度为时间、地域等维度,涉及的指标通常为销售额,当***在冷启动时维度及指标设置默认为空,则用户可增加时间、地域等维度,并将指标设置为销售额。或者,也可以对现有维度和指标进行删除或修改。
维度设置信息还包括维度的总数量、各个维度的维度名称。其中,维度的总数量为新增维度与现有维度的总和;各个维度的维度名称用户可自定义设置。
维度设置信息还包括各个维度的取值范围。其中,维度的取值范围为维度的各个可取值的范围,例如“人类身高”维度的取值范围为“0-3米”,维度具体的取值范围用户可通过预设的维度取值设置接口进行设置。进一步地,对于同一维度,从不同的粒度划分,其维度取值不同,所以维度的取值范围具体为与多种粒度相对应的粒度值,粒度值也是维度的取值。例如,对于“地域”维度,与省份粒度相对应的粒度值可以为“湖北”、“湖南”等,与城市粒度相对应的粒度值可以为“长沙”、“武汉”等。
本实施例中可以实现对维度的细粒度的划分,例如“时间”维度可以以细粒度的天或小时或分钟等为粒度,“地域”维度可以以细粒度的区、县、村等为粒度。具体维度的粒度可由用户自定义设置,例如,在销售行业中,通常需要查询的是每个月或每个季度的销售额,则时间维度的粒度可以选取为月,则相应的粒度值为1月至12月;若时间维度的粒度选取为季,则相应的粒度值为1季度至4季度。
可选的,不同粒度对应的粒度值之间的关系对等,不存在上下级或父子关系,例如,城市粒度值“长沙”与省份粒度值“湖南省”的关系为对等关系,在以城市为粒度设置或查询维度时,可直接设置或查询“长沙”,而非在选择了“湖南省”后进一步在下级类别中选择“长沙”。
预计算模块32进一步适于:根据维度的总数量确定维度组合的类型和数量;
分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果;其中,每种类型的维度组合所对应的预计算结果包括:与该类型的维度组合所对应的各种取值相匹配的中间计算结果。
可根据维度的总数量确定维度组合的类型和数量,维度组合的类型包括所有维度的各种组合情况,若维度的总数量为n,则维度组合的数量可达2n-1。举例来说,若设置有时间维度、地域维度、和产品维度3个维度,则共有“时间+地域+产品”、“时间+地域”、“时间+产品”、“地域+时间”、“时间”、“地域”、“产品”共7种维度组合类型。
在存储数据过程中,可以根据维度设置信息对源数据进行多维度划分后存储。本实施例中的数据包括日志数据。所以在存储日志数据时,可以根据维度设置信息对日志数据进行解析,从数据中提取出与维度相关的字段,并进行存储。例如,若维度设置有时间维度、IP维度、指标为缓存时间,一条日志数据data1为:
“2012-12-17 16:00:32W3SVC19VHOST156135 124.172.156.135GET/upload/img_Share/2012-10-15/129947 651135007500.png–80-112.94.144.100http://www.3api.com/resource/150.html www.3api.com 200 0 121 12288 35380593”。
通过解析字段拆分得出与设置的维度相关的信息:“2012-12-17 16:00:32”,“124.172.156.135”,以及“80593”,其中“2012-12-17 16:00:32”属于时间信息,“124.172.156.135”属于IP信息,“80593”属于缓存时间信息,从而使将该data1按照“2012-12-17 16:00:32”,“124.172.156.135”以及“80593”进行存储,即按照时间、IP、以及缓存时间进行存储,具体存储格式本领域人员可自行设置。
在对源数据进行多维度划分存储后,分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果。具体地,分别针对每种类型的维度组合,计算每种类型的维度组合中各个取值相匹配的中间计算结果,如计算每种类型的维度组合中各个取值相对应的指标值。预计算过程中,可以对各个粒度值组合指标值进行简单的汇总;也可以对数据按照一定的规则计算各个维度组合的指标值,如,可以对上例中进行无效IP过滤后,汇总各个IP在每一天的缓存时间。总之,本发明对具体的预计算方法不做限定,本领域人员可以自行设置。
需要注意的是,由于对于不同的粒度划分,维度的取值不同,所以在预计算过程中,若用户的维度设置请求中包含对维度粒度的设定,则以用户指定的维度粒度为准,计算各个维度组合类型在指定的维度粒度下的指标值;若用户未指定维度粒度,则可计算各个维度组合类型在不同的维度粒度下的指标值,但采用该种方案数据存储量将大大增加;而本实施例可优选地计算各个维度组合类型在细粒度下的指标值,在之后的查询过程中可以通过对细粒度的聚合操作得到各个维度组合类型在粗粒度下的指标值。
通过预计算后会生成与数据相对应的预计算结果,则将预计算结果进行存储,例如,可以将计算得到的指标值与其对应的维度组合进行关联存储。
维度查询获取模块33进一步适于:接收通过预设的数据查询入口实时发送的数据查询请求;和/或,接收通过预设的周期设置入口设置并周期性发送的数据查询请求。
用户可随时通过预设的数据查询入口发送数据查询请求,或者用户也可通过预设的周期设置入口设置数据查询的周期,并通过该入口周期性地发送数据查询请求。
数据查询请求中包含的维度查询信息具体包括待查询的维度数量以及各个维度的取值。可选的,维度查询信息还可以包括待查询的各个维度的名称,并且数据查询请求中还可包括待查询的指标信息。举例来说,查询请求可以为“北京市各个超市生鲜的销售额”,则其中包含的维度数量为3个,即地域维度、超市维度、以及产品维度,其中地域维度的取值为“北京”,超市维度的取值为该维度取值范围内的所有取值,产品维度取值为“生鲜”,以及指标为“销售额”。
输出模块41,适于以报表形式输出与维度查询信息相匹配的查询内容。
在确定了与维度查询信息相匹配的查询内容后,通过预设的通信协议,将该查询内容反馈给用户。本实施例中可以以报表形式输出与维度查询信息相匹配的查询内容,从而使查询结果直观化、***化,便于用户进一步对数据进行分析。
由此可见,本实施例通过将数据进行多维度划分存储,并可以对多个维度细粒度的组合进行预计算,从而可以使在接收到查询请求时可以根据查询请求中的维度查询信息在预计算结果中直接查询结果,或根据预计算结果通过少量计算得到最终的查询结果,满足用户对数据的细粒度分析,并可实现海量数据的多维度的快速查询、统计等功能,大幅缩短了操作时延;同时,通过预设的维度设置入口和维度查询入口等,使用户可以与底层数据进行交互,避免了现有技术中用户需通过数据开发维护人员与底层数据交互而增加的沟通成本。
可选的,维度查询获取模块进一步适于:获取所述数据查询请求中包含的统计项信息,则所述确定模块进一步适于:根据所述统计项信息中包含的统计项目,对所述查询内容进行统计,并输出统计结果;其中,所述维度查询信息中包含多个维度,且所述查询内容为与多个维度相匹配的查询内容;并且,所述统计项目包括:排行类统计项目。
可选的,所述维度查询获取模块进一步适于:当接收到与所述数据查询请求相对应的反向查询请求时,获取与所述数据查询请求中包含的维度查询信息相对应的反向查询信息;则所述确定模块进一步适于:根据所述预计算结果确定与所述反向查询信息相匹配的查询内容。
可选的,所述数据查询请求为实时流数据,则所述维度查询获取模块具体适于:通过实时数据管道接收并存储所述实时流数据,且所述确定模块具体适于:根据所述预计算结果实时确定与所述维度查询信息相匹配的查询内容。
关于上述各个模块的具体工作原理可参照方法实施例中相应部分的描述,此处不再赘述。
根据本发明一个实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据查询方法。
图5示出了根据本发明一个实施例提供的一种终端的结构示意图,本发明具体实施例并不对终端的具体实现做限定。
如图5所示,该终端可以包括:处理器(processor)502、通信接口(CommunicationsInterface)504、存储器(memory)506、以及通信总线508。
其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。
通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述数据查询方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器506,用于存放程序510。存储器506可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行以下操作:
获取接收到的维度设置请求中包含的维度设置信息;
根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果;
接收到数据查询请求时,获取数据查询请求中包含的维度查询信息;
根据预计算结果确定与维度查询信息相匹配的查询内容。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据查询设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种数据查询方法,包括:
获取接收到的维度设置请求中包含的维度设置信息;
根据所述维度设置信息对所述数据进行预计算,生成与所述数据对应的预计算结果;
接收到数据查询请求时,获取所述数据查询请求中包含的维度查询信息;
根据所述预计算结果确定与所述维度查询信息相匹配的查询内容。
A2.根据A1所述的方法,其中,所述维度设置信息包括:维度的总数量、各个维度的维度名称以及各个维度的取值范围;
则所述根据所述维度设置信息对所述数据进行预计算,生成与所述数据对应的预计算结果的步骤具体包括:
根据所述维度的总数量确定维度组合的类型和数量;
分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果;其中,每种类型的维度组合所对应的预计算结果包括:与该类型的维度组合所对应的各种取值相匹配的中间计算结果。
A3.根据A1或A2所述的方法,其中,所述维度查询信息中包含待查询的维度数量以及待查询的各个维度的取值。
A4.根据A1-A3任一所述的方法,其中,所述维度设置信息中各个维度的取值范围包括:与多种粒度相对应的粒度值。
A5.根据A1-A4任一所述的方法,其中,所述根据所述预计算结果确定与所述维度查询信息相匹配的查询内容的步骤之后,进一步包括:
以报表形式输出所述与所述维度查询信息相匹配的查询内容。
A6.根据A1-A5任一所述的方法,其中,所述获取接收到的维度设置请求中包含的维度设置信息的步骤具体包括:通过预设的维度设置入口接收所述维度设置请求。
A7.根据A1-A6任一所述的方法,其中,所述接收到数据查询请求的步骤具体包括:接收通过预设的数据查询入口实时发送的数据查询请求;和/或,接收通过预设的周期设置入口设置并周期性发送的数据查询请求。
A8.根据A1-A7任一所述的方法,其中,接收到数据查询请求时,获取所述数据查询请求中包含的维度查询信息的步骤之后,进一步包括:获取所述数据查询请求中包含的统计项信息;
则所述根据所述预计算结果确定与所述维度查询信息相匹配的查询内容的步骤之后,进一步包括步骤:根据所述统计项信息中包含的统计项目,对所述查询内容进行统计,并输出统计结果;
其中,所述维度查询信息中包含多个维度,且所述查询内容为与多个维度相匹配的查询内容;并且,所述统计项目包括:排行类统计项目。
A9.根据A1-A8任一所述的方法,其中,所述根据所述预计算结果确定与所述维度查询信息相匹配的查询内容的步骤之后进一步包括:
当接收到与所述数据查询请求相对应的反向查询请求时,获取与所述数据查询请求中包含的维度查询信息相对应的反向查询信息;并根据所述预计算结果确定与所述反向查询信息相匹配的查询内容。
A10.根据A1-A9任一所述的方法,其中,所述数据查询请求为实时流数据,则所述接收到数据查询请求时,获取所述数据查询请求中包含的维度查询信息的步骤具体包括:通过实时数据管道接收并存储所述实时流数据,
且所述根据所述预计算结果确定与所述维度查询信息相匹配的查询内容的步骤具体包括:根据所述预计算结果实时确定与所述维度查询信息相匹配的查询内容。
A11.根据A1-A10任一所述的方法,其中,所述数据包括:日志数据。
本发明还公开了:B12.一种数据查询装置,包括:
维度设置获取模块,适于获取接收到的维度设置请求中包含的维度设置信息;
预计算模块,适于根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果;
维度查询获取模块,适于接收到数据查询请求时,获取数据查询请求中包含的维度查询信息;
确定模块,适于根据预计算结果确定与维度查询信息相匹配的查询内容。
B13.根据B12所述的装置,其中,所述维度设置信息包括:维度的总数量、各个维度的维度名称以及各个维度的取值范围;
所述预计算模块进一步适于:根据所述维度的总数量确定维度组合的类型和数量;
分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果;其中,每种类型的维度组合所对应的预计算结果包括:与该类型的维度组合所对应的各种取值相匹配的中间计算结果。
B14.根据B12或B13所述的装置,其中,所述维度查询信息中包含待查询的维度数量以及待查询的各个维度的取值。
B15.根据B12-B14任一所述的装置,其中,所述维度设置信息中各个维度的取值范围包括:与多种粒度相对应的粒度值。
B16.根据B12-B15任一所述的装置,其中,所述装置还包括:
输出模块,适于以报表形式输出所述与所述维度查询信息相匹配的查询内容。
B17.根据B12-B16任一所述的装置,其中,所述维度设置获取模块进一步适于:通过预设的维度设置入口接收所述维度设置请求。
B18.根据B12-B17任一所述的装置,其中,所述维度查询获取模块进一步适于:接收通过预设的数据查询入口实时发送的数据查询请求;和/或,接收通过预设的周期设置入口设置并周期性发送的数据查询请求。
B19.根据B12-B18任一所述的装置,其中,所述维度查询获取模块进一步适于:获取所述数据查询请求中包含的统计项信息,
则所述确定模块进一步适于:根据所述统计项信息中包含的统计项目,对所述查询内容进行统计,并输出统计结果;
其中,所述维度查询信息中包含多个维度,且所述查询内容为与多个维度相匹配的查询内容;并且,所述统计项目包括:排行类统计项目。
B20.根据B12-B19任一所述的装置,其中,所述维度查询获取模块进一步适于:当接收到与所述数据查询请求相对应的反向查询请求时,获取与所述数据查询请求中包含的维度查询信息相对应的反向查询信息;
则所述确定模块进一步适于:根据所述预计算结果确定与所述反向查询信息相匹配的查询内容。
B21.根据B12-B20任一所述的装置,其中,所述数据查询请求为实时流数据,则所述维度查询获取模块具体适于:通过实时数据管道接收并存储所述实时流数据,
且所述确定模块具体适于:根据所述预计算结果实时确定与所述维度查询信息相匹配的查询内容。
B22.根据B12-B21任一所述的装置,其中,所述数据包括:日志数据。
本发明还公开了:C23.一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A11中任一项所述的数据查询方法对应的操作。
本发明还公开了:D24.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A11中任一项所述的数据查询方法对应的操作。

Claims (10)

1.一种数据查询方法,包括:
获取接收到的维度设置请求中包含的维度设置信息;
根据所述维度设置信息对所述数据进行预计算,生成与所述数据对应的预计算结果;
接收到数据查询请求时,获取所述数据查询请求中包含的维度查询信息;
根据所述预计算结果确定与所述维度查询信息相匹配的查询内容。
2.根据权利要求1所述的方法,其中,所述维度设置信息包括:维度的总数量、各个维度的维度名称以及各个维度的取值范围;
则所述根据所述维度设置信息对所述数据进行预计算,生成与所述数据对应的预计算结果的步骤具体包括:
根据所述维度的总数量确定维度组合的类型和数量;
分别针对每种类型的维度组合,确定该类型的维度组合所对应的预计算结果;其中,每种类型的维度组合所对应的预计算结果包括:与该类型的维度组合所对应的各种取值相匹配的中间计算结果。
3.根据权利要求1或2所述的方法,其中,所述维度查询信息中包含待查询的维度数量以及待查询的各个维度的取值。
4.根据权利要求1-3任一所述的方法,其中,所述维度设置信息中各个维度的取值范围包括:与多种粒度相对应的粒度值。
5.根据权利要求1-4任一所述的方法,其中,所述根据所述预计算结果确定与所述维度查询信息相匹配的查询内容的步骤之后,进一步包括:
以报表形式输出所述与所述维度查询信息相匹配的查询内容。
6.根据权利要求1-5任一所述的方法,其中,所述获取接收到的维度设置请求中包含的维度设置信息的步骤具体包括:通过预设的维度设置入口接收所述维度设置请求。
7.根据权利要求1-6任一所述的方法,其中,所述接收到数据查询请求的步骤具体包括:接收通过预设的数据查询入口实时发送的数据查询请求;和/或,接收通过预设的周期设置入口设置并周期性发送的数据查询请求。
8.一种数据查询装置,包括:
维度设置获取模块,适于获取接收到的维度设置请求中包含的维度设置信息;
预计算模块,适于根据维度设置信息对数据进行预计算,生成与所述数据对应的预计算结果;
维度查询获取模块,适于接收到数据查询请求时,获取数据查询请求中包含的维度查询信息;
确定模块,适于根据预计算结果确定与维度查询信息相匹配的查询内容。
9.一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7中任一项所述的数据查询方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-7中任一项所述的数据查询方法对应的操作。
CN201710426265.1A 2017-06-08 2017-06-08 数据查询方法及装置 Pending CN107229730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710426265.1A CN107229730A (zh) 2017-06-08 2017-06-08 数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710426265.1A CN107229730A (zh) 2017-06-08 2017-06-08 数据查询方法及装置

Publications (1)

Publication Number Publication Date
CN107229730A true CN107229730A (zh) 2017-10-03

Family

ID=59935822

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710426265.1A Pending CN107229730A (zh) 2017-06-08 2017-06-08 数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN107229730A (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107748792A (zh) * 2017-11-01 2018-03-02 上海数据交易中心有限公司 数据检索方法及装置、终端
CN108198083A (zh) * 2018-01-12 2018-06-22 平安科技(深圳)有限公司 保单多维度分析实现方法、装置、终端设备及存储介质
CN108280046A (zh) * 2017-11-30 2018-07-13 深圳市科列技术股份有限公司 一种电池数据处理的方法、电池数据服务器及用户终端
CN108364197A (zh) * 2018-02-12 2018-08-03 广州虎牙信息科技有限公司 确定应用的用户留存率的方法、应用推广方法及电子设备
CN108536826A (zh) * 2018-04-10 2018-09-14 口口相传(北京)网络技术有限公司 数据分析方法及装置
CN109189777A (zh) * 2018-06-28 2019-01-11 微梦创科网络科技(中国)有限公司 一种存储及查询多维信息的方法、装置及设备
CN109344138A (zh) * 2018-10-09 2019-02-15 广东网安科技有限公司 一种日志解析方法及***
CN110008211A (zh) * 2019-02-21 2019-07-12 北京奇艺世纪科技有限公司 数据查询方法、装置、电子设备及存储介质
CN110032582A (zh) * 2019-03-07 2019-07-19 阿里巴巴集团控股有限公司 一种数据处理方法、装置、设备及***
CN110209686A (zh) * 2018-02-22 2019-09-06 北京嘀嘀无限科技发展有限公司 数据的存储、查询方法及装置
CN110322688A (zh) * 2019-05-20 2019-10-11 华为技术有限公司 一种数据处理的方法、数据查询的方法及相关设备
CN110825825A (zh) * 2019-10-24 2020-02-21 华中科技大学 一种多维度技术体系透视查询方法及其应用
CN111523062A (zh) * 2020-04-24 2020-08-11 浙江口碑网络技术有限公司 多维度信息展示方法及装置
CN112506926A (zh) * 2020-12-03 2021-03-16 广州华多网络科技有限公司 监控数据存储、查询方法及其相应的装置、设备、介质
CN113535771A (zh) * 2021-06-21 2021-10-22 跬云(上海)信息科技有限公司 持续迭代优化的预计算方法和装置
CN113805852A (zh) * 2021-09-24 2021-12-17 北京连山科技股份有限公司 一种粒子化算法的快速实现方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678590A (zh) * 2013-12-12 2014-03-26 用友软件股份有限公司 基于olap的报表采集装置和报表采集方法
CN103853818A (zh) * 2014-02-12 2014-06-11 博易智软(北京)技术股份有限公司 多维数据的处理方法和装置
CN104424229A (zh) * 2013-08-26 2015-03-18 腾讯科技(深圳)有限公司 一种多维度拆分的计算方法及***
CN104462434A (zh) * 2014-12-15 2015-03-25 北京国双科技有限公司 数据查询方法及装置
CN105159895A (zh) * 2014-05-28 2015-12-16 国际商业机器公司 用于存储和查询数据的方法和***
US9495437B1 (en) * 2013-11-06 2016-11-15 Dell Software Inc. System and method for accessing dimensional databases
CN106372114A (zh) * 2016-08-23 2017-02-01 电子科技大学 一种基于大数据的联机分析处理***和方法
CN106484875A (zh) * 2016-10-13 2017-03-08 广州视源电子科技股份有限公司 基于molap的数据处理方法及装置
CN106557498A (zh) * 2015-09-25 2017-04-05 北京国双科技有限公司 数据存储方法和装置以及数据查询方法和装置
CN106600067A (zh) * 2016-12-19 2017-04-26 广州视源电子科技股份有限公司 多维立方体模型的优化方法和装置

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104424229A (zh) * 2013-08-26 2015-03-18 腾讯科技(深圳)有限公司 一种多维度拆分的计算方法及***
US9495437B1 (en) * 2013-11-06 2016-11-15 Dell Software Inc. System and method for accessing dimensional databases
CN103678590A (zh) * 2013-12-12 2014-03-26 用友软件股份有限公司 基于olap的报表采集装置和报表采集方法
CN103853818A (zh) * 2014-02-12 2014-06-11 博易智软(北京)技术股份有限公司 多维数据的处理方法和装置
CN105159895A (zh) * 2014-05-28 2015-12-16 国际商业机器公司 用于存储和查询数据的方法和***
CN104462434A (zh) * 2014-12-15 2015-03-25 北京国双科技有限公司 数据查询方法及装置
CN106557498A (zh) * 2015-09-25 2017-04-05 北京国双科技有限公司 数据存储方法和装置以及数据查询方法和装置
CN106372114A (zh) * 2016-08-23 2017-02-01 电子科技大学 一种基于大数据的联机分析处理***和方法
CN106484875A (zh) * 2016-10-13 2017-03-08 广州视源电子科技股份有限公司 基于molap的数据处理方法及装置
CN106600067A (zh) * 2016-12-19 2017-04-26 广州视源电子科技股份有限公司 多维立方体模型的优化方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
启典文化: "《Excel 财务与会计应用高手真经》", 31 March 2014 *
邱林: "《灌区水资源管理及应用》", 31 December 2006 *

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107748792A (zh) * 2017-11-01 2018-03-02 上海数据交易中心有限公司 数据检索方法及装置、终端
CN108280046A (zh) * 2017-11-30 2018-07-13 深圳市科列技术股份有限公司 一种电池数据处理的方法、电池数据服务器及用户终端
CN108198083A (zh) * 2018-01-12 2018-06-22 平安科技(深圳)有限公司 保单多维度分析实现方法、装置、终端设备及存储介质
WO2019136855A1 (zh) * 2018-01-12 2019-07-18 平安科技(深圳)有限公司 保单多维度分析实现方法、装置、终端设备及存储介质
CN108364197A (zh) * 2018-02-12 2018-08-03 广州虎牙信息科技有限公司 确定应用的用户留存率的方法、应用推广方法及电子设备
CN110209686A (zh) * 2018-02-22 2019-09-06 北京嘀嘀无限科技发展有限公司 数据的存储、查询方法及装置
CN111742308A (zh) * 2018-02-22 2020-10-02 北京嘀嘀无限科技发展有限公司 一种用于数据存储和查询的***和方法
CN108536826A (zh) * 2018-04-10 2018-09-14 口口相传(北京)网络技术有限公司 数据分析方法及装置
CN109189777A (zh) * 2018-06-28 2019-01-11 微梦创科网络科技(中国)有限公司 一种存储及查询多维信息的方法、装置及设备
CN109344138A (zh) * 2018-10-09 2019-02-15 广东网安科技有限公司 一种日志解析方法及***
CN110008211A (zh) * 2019-02-21 2019-07-12 北京奇艺世纪科技有限公司 数据查询方法、装置、电子设备及存储介质
CN110008211B (zh) * 2019-02-21 2021-07-06 北京奇艺世纪科技有限公司 数据查询方法、装置、电子设备及存储介质
CN110032582A (zh) * 2019-03-07 2019-07-19 阿里巴巴集团控股有限公司 一种数据处理方法、装置、设备及***
CN110032582B (zh) * 2019-03-07 2023-10-27 创新先进技术有限公司 一种数据处理方法、装置、设备及***
CN110322688A (zh) * 2019-05-20 2019-10-11 华为技术有限公司 一种数据处理的方法、数据查询的方法及相关设备
CN110825825A (zh) * 2019-10-24 2020-02-21 华中科技大学 一种多维度技术体系透视查询方法及其应用
CN111523062A (zh) * 2020-04-24 2020-08-11 浙江口碑网络技术有限公司 多维度信息展示方法及装置
CN111523062B (zh) * 2020-04-24 2024-02-27 浙江口碑网络技术有限公司 多维度信息展示方法及装置
CN112506926A (zh) * 2020-12-03 2021-03-16 广州华多网络科技有限公司 监控数据存储、查询方法及其相应的装置、设备、介质
CN113535771A (zh) * 2021-06-21 2021-10-22 跬云(上海)信息科技有限公司 持续迭代优化的预计算方法和装置
WO2022267182A1 (zh) * 2021-06-21 2022-12-29 跬云(上海)信息科技有限公司 持续迭代优化的预计算方法和装置
CN113535771B (zh) * 2021-06-21 2023-11-28 跬云(上海)信息科技有限公司 持续迭代优化的预计算方法和装置
CN113805852A (zh) * 2021-09-24 2021-12-17 北京连山科技股份有限公司 一种粒子化算法的快速实现方法
CN113805852B (zh) * 2021-09-24 2022-05-27 北京连山科技股份有限公司 一种提高数据安全性的方法

Similar Documents

Publication Publication Date Title
CN107229730A (zh) 数据查询方法及装置
US10789311B2 (en) Method and device for selecting data content to be pushed to terminal, and non-transitory computer storage medium
CN105718515B (zh) 数据存储***及其方法和数据分析***及其方法
US10528970B2 (en) Systems, methods, and devices for pipelined processing of online advertising performance data
WO2016101628A1 (zh) 一种数据建模中的数据处理方法及装置
CN104838377A (zh) 利用映射缩减集成事件处理
CN110418200A (zh) 一种视频推荐方法、装置及终端设备
JP2020053051A (ja) 分散システムにわたる統合エンティティビュー
CN108415964A (zh) 数据表查询方法、装置、终端设备及存储介质
CN109711887A (zh) 商城推荐列表的生成方法、装置、电子设备及计算机介质
CN111523072A (zh) 页面访问数据统计方法、装置、电子设备及存储介质
US10579589B2 (en) Data filtering
CN108090759A (zh) 一种支付渠道智能路由算法
CN104778237A (zh) 一种基于关键用户的个性化推荐方法和***
CN112116426A (zh) 一种推送物品信息的方法和装置
US10963963B2 (en) Rule based hierarchical configuration
CN111414410A (zh) 数据处理方法、装置、设备和存储介质
CN110009796B (zh) ***类别识别方法、装置、电子设备及可读存储介质
US10055469B2 (en) Method and software for retrieving information from big data systems and analyzing the retrieved data
CN108304591A (zh) 一种标签的定制方法、***及终端设备
CN108537635A (zh) 一种产品的推荐方法及装置
WO2019169990A1 (zh) 一种为用户提供优惠券的方法和装置
CN107481117A (zh) 异常行为的检测方法、电子设备及计算机存储介质
Do et al. Mining revenue-maximizing bundling configuration
JP7300684B2 (ja) 目的データ選別方法およびシステム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20171003