CN107515916A - 数据查询的性能优化方法及装置 - Google Patents

数据查询的性能优化方法及装置 Download PDF

Info

Publication number
CN107515916A
CN107515916A CN201710712329.4A CN201710712329A CN107515916A CN 107515916 A CN107515916 A CN 107515916A CN 201710712329 A CN201710712329 A CN 201710712329A CN 107515916 A CN107515916 A CN 107515916A
Authority
CN
China
Prior art keywords
data
data list
list
target data
query
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
CN201710712329.4A
Other languages
English (en)
Other versions
CN107515916B (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.)
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 CN201710712329.4A priority Critical patent/CN107515916B/zh
Publication of CN107515916A publication Critical patent/CN107515916A/zh
Application granted granted Critical
Publication of CN107515916B publication Critical patent/CN107515916B/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/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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据查询的性能优化方法及装置,涉及数据处理技术领域,主要目的在于现有需要对不同表中的数据进行关联查询时,Druid无法支持跨表之间的数据查询的问题。主要技术方案包括:接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。主要用于数据查询的性能优化。

Description

数据查询的性能优化方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据查询的性能优化方法及装置。
背景技术
在大数据时代,由于数据的不断的迭代更新,用户通常会根据不同的需求对以表形式存储在系统中的数据进行数据查询,通过对海量数据的查询,便于用户做出更明智的业务决策。
目前,为了能够快速聚合、灵活过滤、毫秒级查询以及低延迟数据导入,使用实时数据分析的存储系统Druid来进行数据查询,但是,由于Druid只对本身的表内数据进行查询,导致Druid无法支持跨表之间的查询,尤其是在需要对不同表中的数据进行关联查询时,Druid无法支持跨表之间的数据查询。
发明内容
有鉴于此,本发明提供一种数据查询的性能优化方法及装置,主要目的在于现有需要对不同表中的数据进行关联查询时,Druid无法支持跨表之间的数据查询的问题。
依据本发明一个方面,提供了一种数据查询的性能优化方法,包括:
接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
进一步地,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容包括:
按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
进一步地,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容之前,所述方法还包括:
筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
进一步地,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容包括:
将过滤后的目标数据列表、关联数据列表中的数据通过预设的估算算法计算留存率,并将计算后的留存率按照所述维度信息进行交集叠加,作为查询内容向用户进行展示。
进一步地,所述根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表之后,所述方法还包括:
接收维度信息,所述维度信息用于指示计算留存率;
根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
进一步地,所述将过滤后的目标数据列表、关联数据列表中的数据按照预设叠加方式进行合并之前,所述方法还包括:
接收过滤指标,按照所述过滤指标对所述目标数据列表与所述关联数据列表中的数据进行数据过滤,所述过滤指标用于筛选符合所述过滤指标条件的数据。
进一步地,所述方法还包括:
将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
依据本发明一个方面,提供了一种数据查询的性能优化装置,包括:
第一接收单元,用于接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
第一提取单元,用于根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
生成单元,用于将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
进一步地,所述生成单元,具体用于按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
进一步地,所述生成单元还包括:
筛选单元,用于筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
进一步地,所述装置还包括:
第二接收单元,用于接收维度信息,所述维度信息用于指示计算留存率;
第二提取单元,用于根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
进一步地,所述装置还包括:
过滤单元,用于接收过滤指标,按照所述过滤指标对所述目标数据列表与所述关联数据列表中的数据进行数据过滤,所述过滤指标用于筛选符合所述过滤指标条件的数据。
进一步地,所述生成单元,具体还用于将过滤后的目标数据列表、关联数据列表中的数据通过预设的估算算法计算留存率,并将计算后的留存率按照所述维度信息进行交集叠加,作为查询内容向用户进行展示。
进一步地,所述装置还包括:
压缩单元,用于将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据查询的性能优化方法对应的操作。
根据本发明的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述数据查询的性能优化方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种数据查询的性能优化方法及装置,首先接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系,然后根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表,再将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。与现有需要对不同表中的数据进行关联查询时,Druid无法支持跨表之间的数据查询相比,本发明实施例通过将目标数据列表与关联数据列表进行合并,通过合并后的数据列表查询关联数据,实现在Druid中进行不同数据列表之间的数据查询,优化Druid中数据查询的性能。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据查询的性能优化方法流程图;
图2示出了本发明实施例提供的另一种数据查询的性能优化方法流程图;
图3示出了本发明实施例提供的又一种数据查询的性能优化方法流程图;
图4示出了本发明实施例提供的一种数据查询的性能优化装置框图;
图5示出了本发明实施例提供的另一种数据查询的性能优化装置框图;
图6示出了本发明实施例提供的又一种数据查询的性能优化装置框图;
图7示出了本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据查询的性能优化方法,如图1所示,所述方法包括:
101、接收数据关联查询指令。
其中,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系,所述关联查询指令用于指示当前的系统查询与目标数据存在关联的关联数据,所述目标数据为待查询的数据,所述关联数据为通过关联关系与目标数据存在关联的数据,例如,目标数据为用户访问a页面的留存率,关联关系为通过a页面可以跳转到的页面,则关联数据则为用户访问b页面的留存率、用户访问c页面的留存率等,b页面与c页面均可以通过访问a页面进行跳转,本发明实施例不做具体限定。
需要说明的是,当前的数据查询是基于实时数据分析的存储系统Druid下支持的,对于实时传来的数据,Druid根据不同的数据来源可以生成不同的数据列表,每个数据列表中都可以存储有大数量级别的数据,例如千万级别的数据。
102、根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表。
其中,所述目标数据列表为存储有所有目标数据的列表,所述关联关系列表为存储有所有关联数据的列表,一般的,目标数据列表与关联数据列表存储在Druid中,并且每个列表都是相互独立存在的。
103、将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
其中,所述合并为将目标数据列表中的数据与关联数据列表中的数据进行合并,合并的方法可以为并集合并,例如利用结构化查询SQL语句中的merge语法来实现。
需要说明的是,由于Druid可以兼容使用SQL语句进行数据查询语句的编译,通过merge语句,根据目标数据列表对关联数据列表进行结合查询,merge语句仅需要一次全表扫描就完成了全部工作,执行效率较高,从而实现表与表之间的跨表查询。
本发明提供了一种数据查询的性能优化方法,与现有需要对不同表中的数据进行关联查询时,Druid无法支持跨表之间的数据查询相比,本发明实施例通过将目标数据列表与关联数据列表进行合并,通过合并后的数据列表查询关联数据,实现在Druid中进行不同数据列表之间的数据查询,优化Druid中数据查询的性能。
本发明实施例提供了另一种数据查询的性能优化方法,如图2所示,所述方法包括:
201、将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
其中,为了加大存储数据的量级,所述Druid为查询提供开源的、海量的存储空间,以便在数据查询时提供海量级的数据空间。所述不同数据源传输来的数据生成数据列表分别单独存储,一般的,数据列表与数据列表之间并不关联。
需要说明的是,由于Druid是基于联机分析处理OLAP的数据仓库,所以可以根据OLAP的多维度性质来对数据进行多维度的列表存储。所述维度为用户在实际业务中对数据的分析角度,如地域维度为以地域角度对数据进行的划分,时间维度为以时间角度对数据进行的划分,IP维度为以IP角度对数据进行的划分等,本发明实施例不做具体限定。例如,按照时间维度、用户IP维度等,对访问页面a的用户数量进行多维度的列表存储。
202、接收数据关联查询指令。
本步骤与图1所示的步骤101方法相同,在此不再赘述。
需要说明的是,关联数据是指与目标数据存在关联的数据,不限定于具体的列表个数,可以为多个列表存储的数据都为与目标数据列表相关联的关联数据列表。
203、根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表。
本步骤与图1所示的步骤102方法相同,在此不再赘述。
204、筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
对于本发明实施例,为了降低查询的消耗时间,提高查询的速度,需要对目标数据列表及关联数据列表中的数据进行筛选。所述预设量级阈值为技术人员预先设定的千万级别的数量级,本发明实施例不做具体限定。所述筛选即为保留小于预设量级阈值的数据,以便减少查询数据的查询工作量。
205、按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
其中,所述预设叠加方式为将目标数据列表与关联数据列表中的数据以数据相加方式进行叠加合并,可以包括交集叠加、并集叠加,具体的预设叠加方式可以根据查询的数据来确定,例如,需要查询留存率的关联数据时就可以按照交集预设叠加方式进行合并,若需要查询访问量的关联数据时就可以按照并集预设叠加方式进行合并,本发明实施例不做具体限定。例如,对于查询关联留存率时,目标数据列表中的多维度数据为a、b、c、d,关联数据列表中的多维度数据为a、c、f、g,则进行预设交集叠加方式合并后的数据为a、c。通过按照预设叠加方式将目标数据列表与关联数据列表进行合并,进一步将目标数据列表与关联数据列表关联起来,提高关联查询的效率。
需要说明的是,对于不同的叠加方式可以选择不同的合并语句,由于Druid支持结构化查询语句SQL语句,因此,交集叠加可以适用aggregations、INTERSECT以及可以自由编译的去重算法等,并集叠加可以适用merge语句等,本发明实施例不做具体限定。预设的压缩方式可以通过使用bitmap算法,bloom过滤器等进行,本发明实施例不做具体限定。
本发明提供了另一种数据查询的性能优化方法,本发明实施例通过在Druid中不同的数据源数据生成不同的数据列表,在接收到关联查询指令时,筛选出小于预设量级阈值的数据进行数据列表之间的叠加合并,实现在Druid中进行不同数据列表之间的数据查询,降低查询的消耗时间,提高查询的速度,优化Druid中数据查询的性能。
本发明实施例提供了又一种数据查询的性能优化方法,如图3所示,所述方法包括:
301、将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
本步骤与图2所示的步骤201方法相同,在此不再赘述。
需要说明的是,从不同的数据源得到的数据存储在Druid内的数据列表中,可以实现表内的留存率计算的,由于OLAP支持多维度数据的存储及查询,因此留存率可以通过多维度进行展示,而传统的留存率在不同表之间是很难查看的。
302、接收数据关联查询指令。
其中,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系,所述目标数据可以为待计算留存率的数据,留存率可以包括新增留存率、活跃留存率等,本发明实施例不做具体限定。所述关联数据为通过关联关系与待计算留存率的目标数据存在关联的待计算留存率的数据,关联关系可以为留存的计算形式,如新增留存或活跃留存,本发明实施例不做具体限定。例如,目标数据为待计算网页a的新增留存率的数据,则关联关系为新增留存,关联数据可以为待计算其他b、c、d网页的新增留存率的数据。
需要说明的是,留存为在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存,而传统的留存率的计算可以仅仅是通过登陆用户数/新增用户数进行计算,无法实现留存率之间的比较查询。
303、根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表。
本步骤与图2所示的步骤203方法相同,在此不再赘述。
需要说明的是,本发明实施例中的目标数据列表即为待计算留存率的数据列表,所述关联数据列表即为待计算存在关联关系的留存率的数据列表。一般的,各个列表中的数据以不同维度形式进行存储,因此在计算留存率时,也可以以多维度的形式计算留存率。
304、接收维度信息。
其中,为了对不同留存率之间进行多维度的比较,便于用户查询,所述维度信息用于指示计算留存率,所述维度信息可以包括时间维度、IP维度、产品维度、地域维度等,本发明实施例不做具体限定。所述维度信息是由技术人员进行输入的,不同的维度信息可以计算出不同的留存率,技术人员只需要根据待查询的留存率来确定维度即可。例如,观看视频q的新增留存率的计算需要根据时间维度及IP维度,即数据列表中的数据需要存储有用户观看视频q的时间信息、以及观看视频q的用户的IP信息。
305、根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
对于本发明实施例,为了更快速的计算需要查询的留存率,提高查询效率,所述预期计算留存率所需的数据即为维度信息中对应的数据,例如维度信息中包括了时间维度与IP维度,则预计计算留存率所需的数据就包括了计算留存率的时间信息,如2012-12-1716:00:32、2012-12-1815:00:00,以及计算留存率的IP信息,如124.172.156.135等,本发明实施例不做具体限定。
需要说明的是,提取出的预期计算留存率所述的数据仍要保存有原始数据列表中的行列形式,以便在计算留存率过程中可以进行对比计算,保证了计算留存率的准确性。
306、接收过滤指标,按照所述过滤指标对所述目标数据列表与所述关联数据列表中的数据进行数据过滤。
对于本发明实施例,为了使计算留存率的数据精确化,所述过滤指标用于筛选符合所述过滤指标条件的数据,所述过滤指标为维度信息中的具体内容,例如维度为时间维度,过滤指标可以为3月份、5月份,一般的,过滤指标以mid标识来标记,这样可以直接过滤掉除了mid标识之外的数据。
需要说明的是,过滤可以通过接收的过滤指标来设置filter条件,通过filter来执行过滤,一般的filter条件可以在aggregations中进行设置,本发明实施例不做具体限定。
307、将过滤后的目标数据列表、关联数据列表中的数据通过预设的估算算法计算留存率,并将计算后的留存率按照所述维度信息进行交集叠加,作为查询内容向用户进行展示。
其中,所述交集叠加即为在叠加后,使目标数据列表中的数据与关联数据列表中的数据即属于目标数据列表又属于关联数据列表,所述预设的估算算法可以为通过thetaSketchEstimate来进行估算,一般的,通过thetaSketchEstimate进行留存率计算得到的结果的误差在2%以内,并支持多维度的留存率的技术,以便对业务层面进行留存率的查询。例如,需要计算数据列表中时间维度与产品维度下的新增留存率,目标数据列表中1号与2号的用户数据经过过滤指标mid1-固定时段1、mid2-产品1、mid3-产品2过滤后,通过thetaSketchEstimate进行估算,即可以得到用户的新增留存率,按照相同的方法处理关联数据列表,得到关联数据列表中的新增留存率,然后按照时间维度与产品维度将新增留存率进行交集叠加,就可以得到相同时间、相同产品对应不同数据来源的新增留存率之间的关联查询内容。通过维度信息及过滤指标计算的留存率,使得留存的计算更加多维化,提高查询效率,便于不同列表之间的关联查询,为用户提供多元的查询结果。
需要说明的是,为了支持不同列表之间多维度留存率的比较,当前的数据存储及查询都是基于OLAP的。另外,对于留存率的计算,可以计算一个列表中的留存率,然后再将目标数据列表、关联数据列表分别计算的留存率进行展示。
本发明提供了又一种数据查询的性能优化方法,本发明实施例通过在Druid中不同的数据源数据生成不同的数据列表,在接收到留存率的关联查询指令时,根据维度信息及过滤指标计算数据列表中的留存率,然后按照维度信息将目标留存率及关联留存率进行交集叠加,实现在Druid中不同数据列表之间留存率的关联查询,使得留存的计算更加多维化,提高查询效率,便于不同列表之间的关联查询,为用户提供多元的查询结果,优化Druid中数据查询的性能。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种数据查询的性能优化装置,如图4所示,该装置包括:第一接收单元41、第一提取单元42、生成单元43。
第一接收单元41,用于接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;所述第一接收单元41为数据查询的性能优化装置执行接收数据关联查询指令的功能模块。
第一提取单元42,用于根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;所述第一提取单元42为数据查询的性能优化装置执行根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表的功能模块。
生成单元43,用于将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。所述生成单元43为数据查询的性能优化装置执行将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容的功能模块。
本发明提供了一种数据查询的性能优化装置,与现有需要对不同表中的数据进行关联查询时,Druid无法支持跨表之间的数据查询相比,本发明实施例通过将目标数据列表与关联数据列表进行合并,通过合并后的数据列表查询关联数据,实现在Druid中进行不同数据列表之间的数据查询,优化Druid中数据查询的性能。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种数据查询的性能优化装置,如图5所示,该装置包括:第一接收单元51、第一提取单元52、生成单元53、筛选单元54、存储单元55。
第一接收单元51,用于接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
第一提取单元52,用于根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
生成单元53,用于将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
具体的,为了进一步将目标数据列表与关联数据列表关联起来,提高关联查询的效率,所述生成单元53,具体用于按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
进一步地,为了降低查询的消耗时间,提高查询的速度,所述装置还包括:
筛选单元54,用于筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
进一步地,为了加大存储数据的量级,所述装置还包括:
存储单元55,用于将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
本发明提供了另一种数据查询的性能优化装置,本发明实施例通过在Druid中不同的数据源数据生成不同的数据列表,在接收到关联查询指令时,筛选出小于预设量级阈值的数据进行数据列表之间的叠加合并,实现在Druid中进行不同数据列表之间的数据查询,降低查询的消耗时间,提高查询的速度,优化Druid中数据查询的性能。
进一步的,作为对上述图3所示方法的实现,本发明实施例提供了又一种数据查询的性能优化装置,如图6所示,该装置包括:第一接收单元61、第一提取单元62、生成单元63、第二接收单元64、第二提取单元65、过滤单元66、存储单元67。
第一接收单元61,用于接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
第一提取单元62,用于根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
生成单元63,用于将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
进一步地,为了对不同留存率之间进行多维度的比较,便于用户查询,所述装置还包括:
第二接收单元64,用于接收维度信息,所述维度信息用于指示计算留存率;
第二提取单元65,用于根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
进一步地,为了使计算留存率的数据精确化,所述装置还包括:
过滤单元66,用于接收过滤指标,按照所述过滤指标对所述目标数据列表与所述关联数据列表中的数据进行数据过滤,所述过滤指标用于筛选符合所述过滤指标条件的数据。
具体的,为了使得留存的计算更加多维化,提高查询效率,便于不同列表之间的关联查询,为用户提供多元的查询结果,所述生成单元63,具体还用于将过滤后的目标数据列表、关联数据列表中的数据通过预设的估算算法计算留存率,并将计算后的留存率按照所述维度信息进行交集叠加,作为查询内容向用户进行展示。
进一步地,为了加大存储数据的量级,所述装置还包括:
存储单元67,用于将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
本发明提供了又一种数据查询的性能优化装置,本发明实施例通过在Druid中不同的数据源数据生成不同的数据列表,在接收到留存率的关联查询指令时,根据维度信息及过滤指标计算数据列表中的留存率,然后按照维度信息将目标留存率及关联留存率进行交集叠加,实现在Druid中不同数据列表之间留存率的关联查询,使得留存的计算更加多维化,提高查询效率,便于不同列表之间的关联查询,为用户提供多元的查询结果,优化Druid中数据查询的性能。
根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据查询的性能优化方法。
图7示出了根据本发明一个实施例提供的一种终端的结构示意图,本发明具体实施例并不对终端的具体实现做限定。
如图7所示,该终端可以包括:处理器(processor)702、通信接口(CommunicationsInterface)704、存储器(memory)706、以及通信总线708。
其中:处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器702,用于执行程序710,具体可以执行上述数据查询的性能优化方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。终端包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行以下操作:
接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据查询的性能优化方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了:
A1、一种数据查询的性能优化方法,包括:
接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
A2、根据A1所述的方法,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容包括:
按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
A3、根据A1或A2所述的方法,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容之前,所述方法还包括:
筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
A4、根据A1所述的方法,所述根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表之后,所述方法还包括:
接收维度信息,所述维度信息用于指示计算留存率;
根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
A5、根据A4所述的方法,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容之前,所述方法还包括:
接收过滤指标,按照所述过滤指标对所述目标数据列表与所述关联数据列表中的数据进行数据过滤,所述过滤指标用于筛选符合所述过滤指标条件的数据。
A6、根据A5所述的方法,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容包括:
将过滤后的目标数据列表、关联数据列表中的数据通过预设的估算算法计算留存率,并将计算后的留存率按照所述维度信息进行交集叠加,作为查询内容向用户进行展示。
A7、根据A1-A6任一项所述的方法,所述方法还包括:
将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
B8、一种数据查询的性能优化装置,包括:
第一接收单元,用于接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
第一提取单元,用于根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
生成单元,用于将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
B9、根据B8所述的装置,
所述生成单元,具体用于按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
B10、根据B8或B9所述的装置,所述装置还包括:
筛选单元,用于筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
B11、根据B8所述的装置,所述装置还包括:
第二接收单元,用于接收维度信息,所述维度信息用于指示计算留存率;
第二提取单元,用于根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
B12、根据B11所述的装置,所述装置还包括:
过滤单元,用于接收过滤指标,按照所述过滤指标对所述目标数据列表与所述关联数据列表中的数据进行数据过滤,所述过滤指标用于筛选符合所述过滤指标条件的数据。
B13、根据B12所述的装置,
所述生成单元,具体还用于将过滤后的目标数据列表、关联数据列表中的数据通过预设的估算算法计算留存率,并将计算后的留存率按照所述维度信息进行交集叠加,作为查询内容向用户进行展示。
B14、根据B8-B13任一项所述的装置,所述装置还包括:
存储单元,用于将接收到的不同数据源的数据存储至实时数据分析的存储系统Druid中,生成不同数据源分别对应的数据列表,并对所述数据列表进行存储。
C15、一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求A1-A7中任一项所述的数据查询方法对应的操作。
D16、一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求A1-A7中任一项所述的数据查询方法对应的操作。

Claims (10)

1.一种数据查询的性能优化方法,其特征在于,包括:
接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容包括:
按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容之前,所述方法还包括:
筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表之后,所述方法还包括:
接收维度信息,所述维度信息用于指示计算留存率;
根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
5.一种数据查询的性能优化装置,其特征在于,包括:
第一接收单元,用于接收数据关联查询指令,所述数据关联查询指令中携带有目标数据、以及用于查询关联数据的关联关系;
第一提取单元,用于根据所述目标数据、所述关联关系提取目标数据列表以及关联数据列表;
生成单元,用于将所述目标数据列表与所述关联数据列表进行合并,生成关联查询内容。
6.根据权利要求5所述的装置,其特征在于,
所述生成单元,具体用于按照预设叠加方式将所述目标数据列表与所述关联数据列表进行合并,并通过预设的压缩方式对合并后的数据列表进行压缩,生成关联查询内容。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:
筛选单元,用于筛选所述目标数据列表与所述关联数据列表中小于预设量级阈值的数据,并将筛选后的数据作为所述目标数据列表与所述关联数据列表预期合并的数据。
8.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于接收维度信息,所述维度信息用于指示计算留存率;
第二提取单元,用于根据所述维度信息提取所述目标数据列表、所述关联数据列表中预期计算留存率所需的数据。
9.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-4中任一项所述的数据查询的性能优化方法对应的操作。
10.一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-4中任一项所述的数据查询的性能优化方法对应的操作。
CN201710712329.4A 2017-08-18 2017-08-18 数据查询的性能优化方法及装置 Active CN107515916B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710712329.4A CN107515916B (zh) 2017-08-18 2017-08-18 数据查询的性能优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710712329.4A CN107515916B (zh) 2017-08-18 2017-08-18 数据查询的性能优化方法及装置

Publications (2)

Publication Number Publication Date
CN107515916A true CN107515916A (zh) 2017-12-26
CN107515916B CN107515916B (zh) 2020-12-04

Family

ID=60723166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710712329.4A Active CN107515916B (zh) 2017-08-18 2017-08-18 数据查询的性能优化方法及装置

Country Status (1)

Country Link
CN (1) CN107515916B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533450A (zh) * 2019-07-17 2019-12-03 上海数据交易中心有限公司 数据流通方法及装置、存储介质、服务器
CN112307008A (zh) * 2020-12-14 2021-02-02 湖南蚁坊软件股份有限公司 一种Druid压实方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104112008A (zh) * 2014-07-16 2014-10-22 深圳市国泰安信息技术有限公司 一种多表数据关联查询优化方法和装置
US20150120681A1 (en) * 2013-10-27 2015-04-30 Videon Central, Inc. System and method for aggregating media content metadata
CN104778266A (zh) * 2015-04-22 2015-07-15 无锡天脉聚源传媒科技有限公司 一种多数据源搜索的方法及装置
CN106919637A (zh) * 2016-07-04 2017-07-04 阿里巴巴集团控股有限公司 唯一索引创建和唯一性查询方法及装置
CN106933897A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 数据查询方法和装置
CN106997365A (zh) * 2016-01-26 2017-08-01 阿里巴巴集团控股有限公司 一种跨数据源的数据处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150120681A1 (en) * 2013-10-27 2015-04-30 Videon Central, Inc. System and method for aggregating media content metadata
CN104112008A (zh) * 2014-07-16 2014-10-22 深圳市国泰安信息技术有限公司 一种多表数据关联查询优化方法和装置
CN104778266A (zh) * 2015-04-22 2015-07-15 无锡天脉聚源传媒科技有限公司 一种多数据源搜索的方法及装置
CN106933897A (zh) * 2015-12-31 2017-07-07 北京国双科技有限公司 数据查询方法和装置
CN106997365A (zh) * 2016-01-26 2017-08-01 阿里巴巴集团控股有限公司 一种跨数据源的数据处理方法及装置
CN106919637A (zh) * 2016-07-04 2017-07-04 阿里巴巴集团控股有限公司 唯一索引创建和唯一性查询方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533450A (zh) * 2019-07-17 2019-12-03 上海数据交易中心有限公司 数据流通方法及装置、存储介质、服务器
CN112307008A (zh) * 2020-12-14 2021-02-02 湖南蚁坊软件股份有限公司 一种Druid压实方法
CN112307008B (zh) * 2020-12-14 2023-12-08 湖南蚁坊软件股份有限公司 一种Druid压实方法

Also Published As

Publication number Publication date
CN107515916B (zh) 2020-12-04

Similar Documents

Publication Publication Date Title
CA2562281C (en) Partial query caching
CN103810224B (zh) 信息持久化和查询方法及装置
US9256665B2 (en) Creation of inverted index system, and data processing method and apparatus
CN107016019B (zh) 数据库索引创建方法及装置
CN108874982A (zh) 一种基于Spark大数据框架离线实时处理数据的方法
CN107229730A (zh) 数据查询方法及装置
CN109118353B (zh) 风控模型的数据处理方法和装置
CN105389352A (zh) 日志处理方法和装置
CN112287015A (zh) 画像生成系统及其方法、电子设备及存储介质
CN103500185B (zh) 一种基于多平台数据生成数据表的方法和系统
CN108280234B (zh) 数据查询方法及装置
CN105204920B (zh) 一种基于映射聚合的分布式计算作业的实现方法及装置
CN112364024B (zh) 一种表数据批量自动比对的控制方法及装置
CN108062378B (zh) 一种列式存储下多时间序列的连接查询方法及系统
CN106201848A (zh) 一种实时计算平台的日志处理方法和装置
CN107239549A (zh) 数据库术语检索的方法、装置及终端
CN104484392A (zh) 数据库查询语句生成方法及装置
CN107515916A (zh) 数据查询的性能优化方法及装置
CN105426449A (zh) 海量数据查询方法和装置、服务器
CN106599062A (zh) 一种SparkSQL系统中的数据处理方法和装置
CN107085615A (zh) 文本消重系统、方法、服务器及计算机存储介质
CN106126515A (zh) 一种大数据系统构件的自动选型方法
CN108197275A (zh) 一种分布式文件列存储索引方法
CN106933902A (zh) 数据多维度自由剖析的查询方法及装置
CN108712486A (zh) 工作量证明方法及装置

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant