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

数据查询方法及装置 Download PDF

Info

Publication number
CN107480268A
CN107480268A CN201710709040.7A CN201710709040A CN107480268A CN 107480268 A CN107480268 A CN 107480268A CN 201710709040 A CN201710709040 A CN 201710709040A CN 107480268 A CN107480268 A CN 107480268A
Authority
CN
China
Prior art keywords
data
query
inquiry
type
checked
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
CN201710709040.7A
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 CN201710709040.7A priority Critical patent/CN107480268A/zh
Publication of CN107480268A publication Critical patent/CN107480268A/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/25Integrating or interfacing systems involving database management systems
    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种数据查询方法及装置,涉及数据处理技术领域,主要目的在于现有崩溃后台***采用mysql进行数据查询时,当数据量量级过大时,从mysql中无法查询到需求数据的问题。主要技术方案包括:当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;若是,则建立与实时数据分析的存储***Druid之间的查询接口;通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。主要用于数据查询。

Description

数据查询方法及装置
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据查询方法及装置。
背景技术
崩溃后台***是指供终端设备使用相关插件或软件产品来查询使***崩溃的bug以及bug详细情况的数据分析***,通过查询每日的bug次数、bug用户数,可以清晰的让开发者了解到当前插件或软件产品的情况,及时修复bug,使用户得到更好的使用体验。
目前,崩溃后台***是使用mysql数据库或者mongodb数据库存储数据,但是,由于新增的数据量过大,如每日新增的bug数据可以达到500万,整个表就有4亿数据,数据在mysql里存储后,查询一次bug就需要几分钟甚至几十分钟的时间,且由于查询数据的人数较多,导致mysql无响应,从而查询不到需要的结果,使得查询效果较差。
发明内容
有鉴于此,本发明提供一种数据查询方法及装置,主要目的在于现有崩溃后台***采用mysql进行数据查询时,当数据量量级过大时,从mysql中无法查询到需求数据的问题。
依据本发明一个方面,提供了一种数据查询方法,包括:
当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
若是,则建立与实时数据分析的存储***Druid之间的查询接口;
通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
进一步地,所述通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容包括:
解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
进一步地,所述查询条件参数包括查询的维度信息以及查询的指标信息。
进一步地,所述判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型之前,所述方法还包括:
当接收到实时传输的数据时,解析所述数据的查询类型;
按照与所述查询类型对应的存储方式存储所述数据。
进一步地,所述查询类型包括统计类型、详情类型。
进一步地,所述按照与所述查询类型对应的存储方式存储所述数据包括:
若所述数据的查询类型为统计类型,则将所述数据存储至Druid中;或,
若所述数据的查询类型为详情类型,则将所述数据存储至关系型数据库管理***mysql、或者分布式文件存储的数据库mongodb中。
进一步地,所述当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型之后,所述方法还包括:
若所述数据查询请求中携带的待查询数据的查询类型为详情类型,则判断预设缓存中是否存在与所述数据查询请求对应的数据,若所述预设缓存中存在与所述数据查询请求对应的数据,则展示所述预设缓存中的查询数据,若所述预设缓存中不存在与所述数据查询请求对应的数据,则展示从mysql或mongodb中获取的查询数据。
进一步地,所述数据包括漏洞bug数据。
依据本发明一个方面,提供了一种数据查询装置,包括:
判断单元,用于当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
建立单元,用于若判断单元所述数据查询请求中携带的待查询数据的查询类型是否为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口;
获取单元,用于通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
进一步地,所述获取单元包括:
解析模块,用于解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
筛选模块,用于通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
进一步地,所述查询条件参数包括查询的维度信息以及查询的指标信息。
进一步地,所述装置还包括:
解析单元,用于当接收到实时传输的数据时,解析所述数据的查询类型;
存储单元,用于按照与所述查询类型对应的存储方式存储所述数据。
进一步地,所述查询类型包括统计类型、详情类型。
进一步地,所述存储单元包括:
第一存储模块,用于若所述数据的查询类型为统计类型,则将所述数据存储至Druid中;或,
第二存储模块,用于若所述数据的查询类型为详情类型,则将所述数据存储至关系型数据库管理***mysql、或者分布式文件存储的数据库mongodb中。
进一步地,所述判断单元之后,所述装置还包括:
展示单元,用于判断单元判断所述数据查询请求中携带的待查询数据的查询类型为详情类型,则判断预设缓存中是否存在与所述数据查询请求对应的数据,若所述预设缓存中存在与所述数据查询请求对应的数据,则展示所述预设缓存中的查询数据,若所述预设缓存中不存在与所述数据查询请求对应的数据,则展示从mysql或mongodb中获取的查询数据。
进一步地,所述数据包括漏洞bug数据。
根据本发明的又一方面,提供了一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述数据查询方法对应的操作。
根据本发明的再一方面,提供了一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述数据查询方法对应的操作。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明提供了一种数据查询方法及装置,首先当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型,若是,则建立与实时数据分析的存储***Druid之间的查询接口,然后通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。与现有崩溃后台***采用mysql进行数据查询时,当数据量量级过大时,从mysql中无法查询到需求数据相比,本发明实施例通过当待查询数据的查询类型为统计类型时,通过建立与Druid之间的查询接口来从所述Druid中获取与所述待查询数据对应的查询内容,实现查询数据的分类查询,对于统计类型的数据从大数据量级的Druid中进行查询,加快了查询的速度,从而提高了查询的效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种数据查询方法流程图;
图2示出了本发明实施例提供的另一种数据查询方法流程图;
图3示出了本发明实施例提供的一种数据查询装置框图;
图4示出了本发明实施例提供的另一种数据查询装置框图。
图5示出了本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据查询方法,如图1所示,所述方法包括:
101、当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型。
其中,所述查询类型包括统计类型、详情类型,所述统计类型是指待查询的数据是需要进行数据统计的,可以为访问量PV(Page View),即页面访问量,是指每打开一次页面计数一次的数据,还可以为访问数UV(Unique Visitor),即独立访客访问数,是指一台电脑终端为一个访客,本发明实施例不做具体限定。所述详情类型是指待查询的数据是需要进行数据详情查询的,可以为具体的时间段所产生的数据、或者访问某个页面所产生的数据等,本发明实施例不做具体限定。一般的,可以根据数据查询请求中携带的待查询数据来确定查询的类型,例如,数据查询请求中携带有待查询的数据为访问页面a时出现***漏洞的数据统计量,则可以确定查询类型为统计类型。
需要说明的是,不同的待查询数据对应的统计量的计算方式不同,一般在数据传入或存储过程中直接进行统计了,例如,PV的数据可以根据IP访问数来计算,即计算是以一个独立的IP在一个计算时段内访问网站计算为1次IP访问数。在同一个计算时段内不管这个IP访问多少次均计算为1次,计算时段有以1天为一个计算时段,也有以1个小时为一个计算时段,本发明实施例不做具体限定。UV的数据的计算可以为利用同一个局域网中对互联网访问时对外的同一个IP,如果该局域网中有10台终端在同一个计算时段内访问同一个网站,对该网站的独立IP访问数贡献为1,而不是10,而此时UV访问数则为10,本发明实施例不做具体限定。
102、若所述数据查询请求中携带的待查询数据的查询类型为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口。
其中,所述实时数据分析的存储***Druid可以为查询提供开源的、海量的存储空间,以便在数据查询时提供海量级的数据空间。所述建立的查询接口用于与Druid之间进行数据连接,便于利用不同的查询语句通过查询接口来查询Druid中的数据。
需要说明的是,在查询数据之前,Druid中需要存储有待查询的统计类型的数据,由于Druid的存储量级可以以万亿级别数据量,所以在查询统计类型的数据时可以秒级单位进行返回查询结果,这样就提高了查询的速度。
103、通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
其中,所述从所述Druid中获取与所述待查询数据对应的查询内容可以为利用需要预先编写对应的查询语句进行查询数据内容,由于Druid是基于联机分析处理OLAP中的,所以可以根据OLAP的多维度性质来编写适合多维度查询的查询方式,本发明实施例不做具体限定。
需要说明的是,由于传统数据库中查询几千万的数据就会出现问题,导致查不出对应的查询结果,而Druid是提供实时分析查询的OLAP数据仓库,具有超强存储能力的数据库,从Druid的结构来看,多维表的存储是描述维度的信息,维是指人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维,如时间维、地理维等。因此可以通过查询接口以OLAP中的查询方式来查询Druid中的数据。
本发明提供了一种数据查询方法,与现有崩溃后台***采用mysql进行数据查询时,当数据量量级过大时,从mysql中无法查询到需求数据相比,本发明实施例通过当待查询数据的查询类型为统计类型时,通过建立与Druid之间的查询接口来从所述Druid中获取与所述待查询数据对应的查询内容,实现查询数据的分类查询,对于统计类型的数据从大数据量级的Druid中进行查询,加快了查询的速度,从而提高了查询的效率。
本发明实施例提供了另一种数据查询方法,如图2所示,所述方法包括:
201、当接收到实时传输的数据时,解析所述数据的查询类型。
其中,所述查询类型包括统计类型、详情类型。所述统计类型是指待查询的数据是需要进行数据统计的,可以为访问量PV(Page View),还可以为访问数UV(UniqueVisitor),本发明实施例不做具体限定。所述详情类型是指待查询的数据是需要进行数据详情查询的,可以为具体的时间段所产生的数据、或者访问某个页面所产生的数据等,本发明实施例不做具体限定。所述数据包括漏洞bug数据,需要查询的bug数据可以包括每日的bug次数、每日bug用户数、访问特定页面出现的bug信息等,同样可以将bug数据解析为bug数据的查询类型为统计类型、详情类型,例如,每日的bug次数、每日bug用户数为统计类型,访问特定页面出现的bug信息为详情类型,本发明实施例不做具体限定。所述实时传输的数据即是指按照实时产生的数据传输至当前崩溃后台***中进行保存,以便对bug数据进行数据分析。所述解析的方法可以为预先为不同的数据进行分类标识,在接收到查询请求时直接判断查询数据对应的标识即可确定查询类型,本发明实施例不做具体限定。通过解析查询数据的查询类型,以便对不同查询类型的数据从不同的存储空间中查询,提高查询速度。
需要说明的是,崩溃后台***是指为终端设备中的安全软件、清理软件等产品查询崩溃bug及提供bug信息的数据分析***,通过查询bug的信息以便清晰的使开发者了解产品的情况,及时修复bug。
202、按照与所述查询类型对应的存储方式存储所述数据。
其中,所述存储方式包括Druid存储以及mysql或mongodb存储,不同的查询类型的数据可以存储在对应的存储空间中,以便按照查询类型来区别查询路径及查询方式等,优化查询的步骤,提高查询效率。
对于本发明实施例,步骤202具体可以包括:若所述数据的查询类型为统计类型,则将所述数据存储至Druid中;或,若所述数据的查询类型为详情类型,则将所述数据存储至关系型数据库管理***mysql、或者分布式文件存储的数据库mongodb中。
需要说明的是,存储至Druid中统计类型的数据是按照列表形式存储,针对不同的数据源可以生成不同的数据列表,并进行编码压缩,以便实现大数量级的数据存储,在查询数据时才可以按照多维度数据查询的方式炒作,增加查询速度,提高查询效率。而对于存储至mysql或mongodb中的详细类型数据由于被查询的概率较低,只有在具体分析bug详细情况的数据时才需要从mysql或mongodb中进行查询,
203、当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型。
本步骤与图1所示的步骤101方法相同,在此不再赘述。
需要说明的是,当前崩溃后台***为了对数据进行分析,可以将存储实时接收到的数据在***底层进行存储,当前崩溃后台***底层可以分别支持不同的存储方式,从而实现不同业务的查询需求。
204a、若所述数据查询请求中携带的待查询数据的查询类型为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口。
本步骤与图1所示的步骤102方法相同,在此不再赘述。
对于本发明实施例,与步骤204a并列的步骤204b、若所述数据查询请求中携带的待查询数据的查询类型为详情类型,则判断预设缓存中是否存在与所述数据查询请求对应的数据,若所述预设缓存中存在与所述数据查询请求对应的数据,则展示所述预设缓存中的查询数据,若所述预设缓存中不存在与所述数据查询请求对应的数据,则展示从mysql或mongodb中获取的查询数据。
需要说明的是,所述预设缓存用于按照预设时间间隔或者预设存储空间限制来存储实时传输来的数据的缓存空间,若达到预设时间间隔或预设存储空间限制,则将预设缓存中的数据存储至mysql或mongodb中,并清空预设缓存中的数据,若没有到达预设时间价格或预设存储空间限制,则继续存储在预设缓存中,从而减少查询时间,并支持快速查询数据,本发明实施例中,具体的预设时间间隔与预设存储空间限制本发明实施例不做具体限定。
另外,与存储数据对应的查询步骤可以与存储数据相对应,例如,当待查询的数据为访问页面a时出现的bug详情,则可以解析出查询类型为详细类型,则判断预设缓存ll中是否存在访问页面a时出现的bug详情,若存在,则展示预设缓存ll中的访问页面a时出现的bug详情,若所述预设缓存ll中不存,则展示从mysql或mongodb中获取的访问页面a时出现的bug详情。
对于本发明实施例,步骤204a之后的步骤205、解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型。
其中,所述查询条件参数包括查询的维度信息以及查询的指标信息,所述维度信息为对数据进行描述不同角度的属性,可以包括时间维、地理维等,所述指标信息为对维度信息中某个维度的具体描述,例如,维度为时间维度,指标信息可以为日期、月份、季度、年等,本发明实施例不做具体限定。所述多维数据模型是根据查询条件参数中的多种维度来编辑的查询语句,以便进行快速准确的数据查询。
需要说明的是,当前崩溃后台***是由OLAP进行支撑的,因此,多维数据模型的生成可以根据OLAP中的多维查询方式进行组建,以便支持当前崩溃后台***在OLAP中运行,从而进行bug数据的查询,提高数据的查询效率。
206、通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
其中,所述查询接口用于与Druid之间进行数据连接,便于根据多维数据模型通过查询接口来查询Druid中的数据。所述筛选的过程即是指通过查询接口通过多维数据模型来找出维度信息与指标信息对应的查询数据,从而加快查询的速度,实现查询的高效性。
本发明提供了另一种数据查询方法,通过根据数据的查询类型分别分配存储方式,分别按照详细类型与统计类型存储至mysql或mongodb存储及Druid中,在根据数据请求中携带的数据查询类型来判断查询数据的方式,若是需要从Druid中进行查询,则建立与Druid之间的查询接口来从所述Druid中获取与所述待查询数据对应的查询内容,实现查询数据的分类查询,对于统计类型的数据从大数据量级的Druid中进行查询,对于详细类型的数据从mysql或mongodb中进行查询,支持不同业务的需求,大大的降低了mysql或mongodb的使用频次,加快了查询的速度,从而提高了查询的效率。
进一步的,作为对上述图1所示方法的实现,本发明实施例提供了一种数据查询装置,如图3所示,该装置包括:判断单元31、建立单元32、获取单元33。
判断单元31,用于当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
建立单元32,用于若判断单元31所述数据查询请求中携带的待查询数据的查询类型是否为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口;
获取单元33,用于通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
本发明提供了一种数据查询装置,与现有崩溃后台***采用mysql进行数据查询时,当数据量量级过大时,从mysql中无法查询到需求数据相比,本发明实施例通过当待查询数据的查询类型为统计类型时,通过建立与Druid之间的查询接口来从所述Druid中获取与所述待查询数据对应的查询内容,实现查询数据的分类查询,对于统计类型的数据从大数据量级的Druid中进行查询,加快了查询的速度,从而提高了查询的效率。
进一步的,作为对上述图2所示方法的实现,本发明实施例提供了另一种数据查询装置,如图4所示,该装置包括:判断单元41、建立单元42、获取单元43、解析单元44、存储单元45、展示单元46。
判断单元41,用于当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
建立单元42,用于若判断单元所述数据查询请求中携带的待查询数据的查询类型是否为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口;
获取单元43,用于通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
具体的,所述获取单元43包括:
解析模块4301,用于解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
筛选模块4302,用于通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
具体的,所述查询条件参数包括查询的维度信息以及查询的指标信息。
进一步地,所述装置还包括:
解析单元44,用于当接收到实时传输的数据时,解析所述数据的查询类型;
存储单元45,用于按照与所述查询类型对应的存储方式存储所述数据。
具体的,所述查询类型包括统计类型、详情类型。
具体的,所述存储单元包45括:
第一存储模块4501,用于若所述数据的查询类型为统计类型,则将所述数据存储至Druid中;或,
第二存储模块4502,用于若所述数据的查询类型为详情类型,则将所述数据存储至关系型数据库管理***mysql、或者分布式文件存储的数据库mongodb中。
进一步地,所述装置还包括:
展示单元46,用于判断单元41判断所述数据查询请求中携带的待查询数据的查询类型为详情类型,则判断预设缓存中是否存在与所述数据查询请求对应的数据,若所述预设缓存中存在与所述数据查询请求对应的数据,则展示所述预设缓存中的查询数据,若所述预设缓存中不存在与所述数据查询请求对应的数据,则展示从mysql或mongodb中获取的查询数据。
具体的,所述数据包括漏洞bug数据。
本发明提供了另一种数据查询装置,通过根据数据的查询类型分别分配存储方式,分别按照详细类型与统计类型存储至mysql或mongodb存储及Druid中,在根据数据请求中携带的数据查询类型来判断查询数据的方式,若是需要从Druid中进行查询,则建立与Druid之间的查询接口来从所述Druid中获取与所述待查询数据对应的查询内容,实现查询数据的分类查询,对于统计类型的数据从大数据量级的Druid中进行查询,对于详细类型的数据从mysql或mongodb中进行查询,支持不同业务的需求,大大的降低了mysql或mongodb的使用频次,加快了查询的速度,从而提高了查询的效率。
根据本发明一个实施例提供了一种存储介质,所述存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据查询方法。
图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执行以下操作:
当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
若是,则建立与实时数据分析的存储***Druid之间的查询接口;
通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的数据查询方法及装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明的实施例公开了:
A1、一种数据查询方法,包括:
当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
若是,则建立与实时数据分析的存储***Druid之间的查询接口;
通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
A2、根据A1所述的方法,所述通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容包括:
解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
A3、根据A2所述的方法,所述查询条件参数包括查询的维度信息以及查询的指标信息。
A4、根据A1-A3任一项所述的方法,所述判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型之前,所述方法还包括:
当接收到实时传输的数据时,解析所述数据的查询类型;
按照与所述查询类型对应的存储方式存储所述数据。
A5、根据4所述的方法,所述查询类型包括统计类型、详情类型。
A6、根据A5所述的方法,所述按照与所述查询类型对应的存储方式存储所述数据包括:
若所述数据的查询类型为统计类型,则将所述数据存储至Druid中;或,
若所述数据的查询类型为详情类型,则将所述数据存储至关系型数据库管理***mysql、或者分布式文件存储的数据库mongodb中。
A7、根据A6所述的方法,所述当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型之后,所述方法还包括:
若所述数据查询请求中携带的待查询数据的查询类型为详情类型,则判断预设缓存中是否存在与所述数据查询请求对应的数据,若所述预设缓存中存在与所述数据查询请求对应的数据,则展示所述预设缓存中的查询数据,若所述预设缓存中不存在与所述数据查询请求对应的数据,则展示从mysql或mongodb中获取的查询数据。
A8、根据A1-A6任一项所述的方法,所述数据包括漏洞bug数据。
B9、一种数据查询装置,包括:
判断单元,用于当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
建立单元,用于若判断单元所述数据查询请求中携带的待查询数据的查询类型是否为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口;
获取单元,用于通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
B10、根据B9所述的装置,所述获取单元包括:
解析模块,用于解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
筛选模块,用于通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
B11、根据B10所述的装置,所述查询条件参数包括查询的维度信息以及查询的指标信息。
B12、根据B9-B11任一项所述的装置,所述装置还包括:
解析单元,用于当接收到实时传输的数据时,解析所述数据的查询类型;
存储单元,用于按照与所述查询类型对应的存储方式存储所述数据。
B13、根据B12所述的装置,所述查询类型包括统计类型、详情类型。
B14、根据B13所述的装置,所述存储单元包括:
第一存储模块,用于若所述数据的查询类型为统计类型,则将所述数据存储至Druid中;或,
第二存储模块,用于若所述数据的查询类型为详情类型,则将所述数据存储至关系型数据库管理***mysql、或者分布式文件存储的数据库mongodb中。
B15、根据B14所述的装置,所述装置还包括:
展示单元,用于判断单元判断所述数据查询请求中携带的待查询数据的查询类型为详情类型,则判断预设缓存中是否存在与所述数据查询请求对应的数据,若所述预设缓存中存在与所述数据查询请求对应的数据,则展示所述预设缓存中的查询数据,若所述预设缓存中不存在与所述数据查询请求对应的数据,则展示从mysql或mongodb中获取的查询数据。
B16、根据B9-B15任一项所述的装置,所述数据包括漏洞bug数据。
C17、一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A8中任一项所述的数据查询方法对应的操作。
D18、一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A8中任一项所述的数据查询方法对应的操作。

Claims (10)

1.一种数据查询方法,其特征在于,包括:
当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
若是,则建立与实时数据分析的存储***Druid之间的查询接口;
通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
2.根据权利要求1所述的方法,其特征在于,所述通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容包括:
解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
3.根据权利要求2所述的方法,其特征在于,所述查询条件参数包括查询的维度信息以及查询的指标信息。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型之前,所述方法还包括:
当接收到实时传输的数据时,解析所述数据的查询类型;
按照与所述查询类型对应的存储方式存储所述数据。
5.一种数据查询装置,其特征在于,包括:
判断单元,用于当接收到数据查询请求时,判断所述数据查询请求中携带的待查询数据的查询类型是否为统计类型;
建立单元,用于若判断单元所述数据查询请求中携带的待查询数据的查询类型是否为统计类型,则建立与实时数据分析的存储***Druid之间的查询接口;
获取单元,用于通过所述查询接口从所述Druid中获取与所述待查询数据对应的查询内容。
6.根据权利要求5所述的装置,其特征在于,所述获取单元包括:
解析模块,用于解析所述待查询数据的查询条件参数,根据所述查询条件参数建立多维数据模型;
筛选模块,用于通过所述查询接口以及所述多维数据模型筛选出与所述查询条件参数对应的查询内容。
7.根据权利要求6所述的装置,其特征在于,所述查询条件参数包括查询的维度信息以及查询的指标信息。
8.根据权利要求5-7任一项所述的装置,其特征在于,所述装置还包括:
解析单元,用于当接收到实时传输的数据时,解析所述数据的查询类型;
存储单元,用于按照与所述查询类型对应的存储方式存储所述数据。
9.一种存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-4中任一项所述的数据查询方法对应的操作。
10.一种终端,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-4中任一项所述的数据查询方法对应的操作。
CN201710709040.7A 2017-08-17 2017-08-17 数据查询方法及装置 Pending CN107480268A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710709040.7A CN107480268A (zh) 2017-08-17 2017-08-17 数据查询方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710709040.7A CN107480268A (zh) 2017-08-17 2017-08-17 数据查询方法及装置

Publications (1)

Publication Number Publication Date
CN107480268A true CN107480268A (zh) 2017-12-15

Family

ID=60601821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710709040.7A Pending CN107480268A (zh) 2017-08-17 2017-08-17 数据查询方法及装置

Country Status (1)

Country Link
CN (1) CN107480268A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182226A (zh) * 2017-12-26 2018-06-19 福建中金在线信息科技有限公司 一种数据查询的方法以及相关设备
CN109783551A (zh) * 2019-01-08 2019-05-21 上海上湖信息技术有限公司 数据展示方法及***、可读存储介质
CN111858596A (zh) * 2020-07-22 2020-10-30 广东电网有限责任公司 数据获取方法、装置、计算机设备和存储介质
CN112202822A (zh) * 2020-12-07 2021-01-08 中国人民解放军国防科技大学 数据库注入检测方法、装置、电子设备及存储介质
CN112650915A (zh) * 2020-11-30 2021-04-13 中国科学院信息工程研究所 一种基于实时查询的数据交互方法及装置
CN112685443A (zh) * 2021-01-12 2021-04-20 树根互联技术有限公司 数据查询方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991921A (zh) * 2015-06-26 2015-10-21 北京奇虎科技有限公司 一种数据查询方法、客户端和服务器
CN106294826A (zh) * 2016-08-17 2017-01-04 北京北信源软件股份有限公司 一种集群数据实时查询方法及***
CN106557498A (zh) * 2015-09-25 2017-04-05 北京国双科技有限公司 数据存储方法和装置以及数据查询方法和装置
CN106649828A (zh) * 2016-12-29 2017-05-10 ***股份有限公司 一种数据查询方法及***
CN106649363A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据查询方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991921A (zh) * 2015-06-26 2015-10-21 北京奇虎科技有限公司 一种数据查询方法、客户端和服务器
CN106557498A (zh) * 2015-09-25 2017-04-05 北京国双科技有限公司 数据存储方法和装置以及数据查询方法和装置
CN106649363A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据查询方法及装置
CN106294826A (zh) * 2016-08-17 2017-01-04 北京北信源软件股份有限公司 一种集群数据实时查询方法及***
CN106649828A (zh) * 2016-12-29 2017-05-10 ***股份有限公司 一种数据查询方法及***

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108182226A (zh) * 2017-12-26 2018-06-19 福建中金在线信息科技有限公司 一种数据查询的方法以及相关设备
CN109783551A (zh) * 2019-01-08 2019-05-21 上海上湖信息技术有限公司 数据展示方法及***、可读存储介质
CN111858596A (zh) * 2020-07-22 2020-10-30 广东电网有限责任公司 数据获取方法、装置、计算机设备和存储介质
CN112650915A (zh) * 2020-11-30 2021-04-13 中国科学院信息工程研究所 一种基于实时查询的数据交互方法及装置
CN112650915B (zh) * 2020-11-30 2023-03-10 中国科学院信息工程研究所 一种基于实时查询的数据交互方法及装置
CN112202822A (zh) * 2020-12-07 2021-01-08 中国人民解放军国防科技大学 数据库注入检测方法、装置、电子设备及存储介质
CN112685443A (zh) * 2021-01-12 2021-04-20 树根互联技术有限公司 数据查询方法、装置、电子设备和计算机可读存储介质
CN112685443B (zh) * 2021-01-12 2023-11-10 树根互联股份有限公司 数据查询方法、装置、电子设备和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN110199273B (zh) 用于在多维数据库环境中的一次扫描中进行加载、聚合和批量计算的***和方法
CN107480268A (zh) 数据查询方法及装置
CN105718515B (zh) 数据存储***及其方法和数据分析***及其方法
US10585887B2 (en) Multi-system query execution plan
CN112800095B (zh) 一种数据处理方法、装置、设备及存储介质
EP2909745B1 (en) Profiling data with location information
CN107861981A (zh) 一种数据处理方法及装置
US20240070685A1 (en) Graph based processing of multidimensional hierarchical data
CN107168977A (zh) 一种数据查询的优化方法及装置
US9706005B2 (en) Providing automatable units for infrastructure support
CN108228799A (zh) 对象索引信息的存储方法及装置
CN107247777A (zh) 一种基于数据库逆向统计的报表展示方法及***
CN107153702A (zh) 一种数据处理方法及装置
CN109471874A (zh) 数据分析方法、设备及存储介质
CN104462095B (zh) 一种查询语句公共部分的提取方法及装置
CN107391528A (zh) 前端组件依赖信息搜索方法及设备
CN113342843A (zh) 大数据在线分析方法和***
CN112860810A (zh) 域名多重图嵌入表示方法、装置、电子设备及介质
CN112634004A (zh) 征信数据的血缘图谱分析方法与***
US20230153286A1 (en) Method and system for hybrid query based on cloud analysis scene, and storage medium
Yuan et al. Partitioning social networks for fast retrieval of time-dependent queries
CN110032574A (zh) Sql语句的处理方法及装置
CN114328486A (zh) 基于模型的数据质量核查方法及装置
CN107515916A (zh) 数据查询的性能优化方法及装置
CN114138821A (zh) 一种数据库查询方法、***和电子设备

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: 20171215