CN110489427A - 一种数据查询方法、装置、计算机设备和存储介质 - Google Patents
一种数据查询方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN110489427A CN110489427A CN201910792349.6A CN201910792349A CN110489427A CN 110489427 A CN110489427 A CN 110489427A CN 201910792349 A CN201910792349 A CN 201910792349A CN 110489427 A CN110489427 A CN 110489427A
- Authority
- CN
- China
- Prior art keywords
- model
- inquiry
- address
- query result
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于计算机领域,提供了一种数据查询方法、装置、计算机设备及存储介质。一种数据查询方法,包括:获取用户输入的查询指令,并根据所述查询指令确定待查询模型;判断预存的路由表中是否存在与所述待查询模型相同的查询模型;当判断结果为是时,获取与所述查询模型对应的查询地址;根据查询地址在缓存数据库中获得对应的查询结果。该方法通过直接搜索预存有多个查询模型和查询地址的路由表,当路由表中存在查询指令对应的查询模型时,获得查询地址,并根据查询地址直接获得查询结果,使得数据查询过程能够达到亚秒级响应,并且通过将查询模型和查询地址存储至路由表中,查询结果缓存至缓存数据库中,节约了存储空间。
Description
技术领域
本发明适用于计算机领域,提供了一种数据查询方法、装置、计算机设备及存储介质。
背景技术
随着移动互联网、物联网等技术的发展,近些年人类所积累的数据正在呈爆炸式的增长,大数据时代已经来临。
数据的收集只是大数据技术的第一步,对数据库中数据的存储方式很大程度上影响着数据使用如数据查询过程,首先出现的很多OLAP引擎,包括Hive、Presto、SparkSQL等,对所有数据以原数据存储,查询灵活但随着数据量和计算复杂度的增长,响应时间长;之后对数据库中的数据进行提前计算,再将算好后的结果存储在MySQL等关系型数据库中,提供给用户进行查询,当业务复杂度和数据量逐渐升高后,其开发成本和维护成本都显著上升;现在出现的如Apache Kylin,采用“预计算”的模式,用户只需要提前定义好查询维度,Kylin进行计算并将结果存储到HBase中,为海量数据的查询和分析提供亚秒级返回,但Apache Kylin的是根据用户配置好模型后,将所有涉及到的所有维度组合都会运算出来,结果所占用的空间是爆发式的,所需空间是元数据的10几倍甚至几十倍,很多结果用户不会查询到,这样的数据长期存储就会造成空间的严重浪费,且配置过于繁琐。
综上所述,现有技术数据存储方法对数据查询过程存在响应时间长,占用空间大造成空间的浪费,配制过程繁琐的技术问题。
发明内容
本发明实施例的目的在于提供一种数据查询方法,旨在解决现有技术数据存储方法对数据查询过程存在响应时间长,占用空间大造成空间的浪费,配制过程繁琐的技术问题。
本发明实施例是这样实现的,一种数据查询方法,所述方法包括:
获取用户输入的查询指令,并根据所述查询指令确定待查询模型;
判断预存的路由表中是否存在与所述待查询模型相同或包含所述待查询模型的查询模型;
当判断结果为是时,获取与所述查询模型对应的查询地址;
根据所述查询地址在缓存数据库中获得对应的查询结果;
其中,所述路由表包括多个查询模型以及与所述多个查询模型一一对应的查询地址。
本发明实施例的另一目的在于提供了一种数据查询装置,所述装置具体包括:
查询模型确定模块,用于获取用户输入的查询指令,并根据所述查询指令确定待查询模型;
判定模块,用于判断预存的路由表中是否存在与所述待查询模型相同或包含所述待查询模型的查询模型;
查询地址获取模块,用于当判断结果为是时,获取与所述查询模型对应的查询地址;以及
查询结果获取模块,用于根据所述查询地址在缓存数据库中获得对应的查询结果。
本发明实施例的另一目的在于提供了一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述数据查询方法的步骤。
本发明实施例的另一目的在于提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述数据查询方法的步骤。
本发明实施例提供的数据查询方法通过预先存储在路由表中的多个查询模型和与之相对应的查询地址,在接收到查询指令时,直接搜索路由表,当路由表中存在查询指令对应的查询模型时,获得查询地址,并根据查询地址直接获得查询结果,使得数据查询过程能够达到亚秒级响应,并且通过将查询模型和查询地址存储至路由表中,查询结果缓存至缓存数据库中,节约了存储空间。
附图说明
图1为本发明实施例一提供的数据查询方法的流程图;
图2为本发明实施例二提供的数据查询方法的流程图;
图3为本发明实施例三提供的数据查询方法的流程图;
图4为本发明实施例四提供的数据查询方法的流程图;
图5为本发明实施例五提供的数据查询方法的流程图;
图6为本发明实施例六提供的数据查询方法的流程图;
图7为本发明实施例七提供的数据查询方法的流程图;
图8为本发明实施例八提供的数据查询装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。
如图1所示,在一个实施例中,提出了一种数据查询方法,具体可以包括以下步骤:
步骤S101,获取用户输入的查询指令,并根据所述查询指令确定待查询模型。
在本发明实施例中,查询指令为用户根据具体需求输入的相关信息,该相关信息包括查询参数,其是用于查询语言执行时具体参数;通过获取查询参数后即可确定待查询模型。
步骤S102,判断预存的路由表中是否存在与所述待查询模型相同的查询模型。
在本发明实施例中,所述路由表为是一个存储在路由器或者联网计算机中的电子表格或类数据库,其存储着指向特定网络地址的路径,在本发明中该路由表中预先存储有多个查询模型以及与所述多个查询模型一一对应的查询地址;将待查询模型与路由表的多个查询模型进行对比分析,找出路由表中是否存在与带查询模型相同的查询模型。
步骤S103,当判断结果为是时,获取与所述查询模型对应的查询地址。
在本发明实施例中,当路由表中存在与待查询模型相同的模型时,同时获取与之对应的查询地址,所述查询地址为查询模型对应的查询结果存储的具体地址,可以通过该地址直接索引到查询结果。
步骤S104,根据所述查询地址在缓存数据库中获得对应的查询结果。
在本发明实施例中,所述的缓存数据库是用于存储路由表中多个查询模型的对应多个查询结果,并且可以直接与各查询地址直接链接,在获得查询地址时,可以迅速返回对应查询结果。
本发明实施例提供的数据查询方法通过预先存储在路由表中的多个查询模型和与之相对应的查询地址,在接收到查询指令时,直接搜索路由表,当路由表中存在查询指令对应的查询模型时,获得查询地址,并根据查询地址直接获得查询结果,使得数据查询过程能够达到亚秒级响应,并且通过将查询模型和查询地址存储至路由表中,查询结果缓存至缓存数据库中,节约了存储空间。
在一个实施例中,如图2所示,当在步骤S103时,判断结果为否时,所述数据查询方法包括以下步骤:
步骤S201,将所述待查询模型进行算法解析获得待查询语言。
在本发明实施例中,当路由表中不存在与待查询模型相同的查询模型时,将待查询模型进行算法解析,具体通过关系模型获取基本数据,在基本数据基础上通过选择的维度字段进行group by(分组),对选择的指标通过聚合函数求值,通过选择的筛选条件进行过滤数据从而获得待查询语言(SQL),所述查询语言是一种程序设计语言,待查询语言中包含有相关的查询参数,可以用于数据查询。
步骤S202,根据所述待查询语言在原数据库进行查询获得查询结果。
在本发明实施例中,所述原数据库为存储有直接收集获得原始数据,未对其进行相应的处理,包含有众多数据表格,比如事实表和维表;当获得查询语言后,在原数据库中执行该查询语言,对原数据库中数据按照该语言中的指定参数进行重新组织,获得与查询语言对应的查询结果。
该发明实施提供的是当路由表中不存在带查询模型时获得查询结果的方法,主要通过查询模型解析获得查询语言,通过查询语言在原数据库中进行查询,获得查询结果,为未预先存储的查询模型的数据查询提供了具体的方法,快速获得查询结果。
在一个实施例中,如图3所示,一种数据查询方法,其与图2所示的方法相比,区别在于,还包括以下步骤:
步骤S301,将所述查询结果存储至缓存数据库中,并获取所述查询结果的查询地址。
在本发明实施例中,该步骤执行的前提是路由表和缓存数据库中未存储有该查询模型、查询地址和查询结果,当通过步骤S201和S202获得查询结果后,将该查询结果缓存至缓存数据库中,所述缓存数据库与原数据库不同,并单独存在,至存储与路由表多个模型相对应的查询结果,且每个查询结果均有特定的地址,当将查询结果存储至缓存数据库后,并获取与所述查询结果对应的查询地址,以便于后续的查询工作。
步骤S302,将所述待查询模型和查询地址对应的存储至所述路由表。
在本发明实施例中,将不存在与路由表中的待查询模型和通过查询语言查询后存储后获得的查询地址对应的存储至路由表中。该方法将第一次查询的查询模型进行查询后并该查询模型和查询地址存储至路由表中,为后续相同查询模型查询提供了更加快捷的查询方法,加快了查询响应时间。
在一个实施例中,如图3所示,提供了数据查询方法中对于获得预先存储在路由表中多个查询模型和对应查询地址,以及缓存数据库中查询结果的具体包括以下步骤:
步骤S401,获取原数据库中的事实表和多个维表,并建立所述事实表和多个维表的关系模型。
在本发明实施例中,所述的事实表包含有数字数据,包含有多个部分组成的索引,该索引包含作为外键相关性维表的主键,维表包含有事实记录的特性,通过事实表中的外键与多个维表联系,建立事实表和维表的关系模型,通过页面配置一个模型形成模型数据结构或直接编写模型数据结构,数据结构中包含一个事实表和多个维表;还包含每个维表中的主键字段与事实表中的外键字段的关联关系。
步骤S402,根据所述多个关系模型确定多个查询模型。
在本发明实施例中,根据关系模型中的事实表和多个维表,选择指标和分析维度,进行多维分析,获得多个查询模型,其获取方法主要通过页面配置形成查询模型数据结构或直接编写查询模型数据结构,数据结构中包含关系模型名,选择的指标,维度和过滤条件;然后发送请求到服务器,返回数据到页面展示。
步骤S403,将所述多个查询模型进行算法解析获得对应的多个查询语言,并根据所述多个查询语言在所述原数据库进行查询获得多个查询结果。
在本发明实施例中,将上述获得的多个查询模型先进行算法解析,具体通过模型名字获取关系模型,提取出事实表和维表,并获取关联字段,从而获取基础数据;提取查询模型中的维度进行group by,指标进行聚合函数运算,过滤条件进行where条件过滤,获得与查询模型对应的查询语言,将上述查询语言依次或同时在原数据库中执行查询操作,从而获得与之对应的查询结果。
步骤S404,按照预设的存储方法将所述多个查询结果存储至所述缓存数据库,并获取所述多个查询结果的查询地址。
在本发明实施例中,所述预设的存储方法为将查询结果进行分区存储,将查询次数多或者用户标识的查询结果存储在特定的存储区,而将另一部分数据存储在另一分区,该分区可以根据存储时间或者查询次数对相应的查询结果进行删除,以防缓存数据库中的查询结果太多,占用存储空间。将首次获得的多个查询结果按照上述存储方法缓存,并获得相应的查询地址。
步骤S405,将所述多个查询模型和对应的所述查询地址存储至所述路由表。
在本发明实施例中,将上述过程获得多个查询模型和对应的查询地址相对应的存储至路由表中,以便于查询过程中查询模型的搜索。
该方法通过原数据库中事实表和多个维表建立关系模型,并确定查询模型,再通过算法解析获得查询语言在原数据库中执行,查询获得多个查询结果及其查询地址,最后将多个查询模型和查询地址存储至路由表,查询结果缓存至缓存数据库,该方法在查询响应体验和存储空间使用上进行折中,再第一次查询的时候由于需要缓存,会有所延迟,缓存之后查询能达到亚秒级的相应,存储空间上只会对用户经常查询的数据进行持久化保存,不经常使用的数据只是暂时缓存,这样能按需缓存数据,节省空间。
如图5所示,在一个实施例中,提供了数据查询方法中缓存数据库中数据缓存的具体步骤,包括:
步骤S501,将所述多个查询结果缓存至所述第一缓存模块,并分别记录所述多个查询结果的权重值。
在本发明实施例中,所述的缓存数据库分为两个模块,第一缓存模块和第二缓存模块,其中第一缓存模块设有缓存数阈值,该缓存数阈值可以根据数据库管理人员的经验设定,也可以根据不同数据库的查询记录分析获得,当缓存数据两超过该设定的阈值时,对第一缓存数据库中的查询结果进行删除,该删除方法可以根据查询结果的存储时间的先后顺序,将最先存储在第一缓存数据库中查询结果进行删除,也可以根据查询结果被查询的次数多少,将查询次数最少的数据进行删除,同时也可以结合存储时间和查询数据的次数,将存储时间长且查询次数少的查询结果进行删除,应当理解的是,该删除方法可以依据其他的原则,只要能够实现第一缓存数据库中的缓存数据小于等于缓存数阈值,以防出现数据量过大,造成空间浪费的情况即可。
在本发明实施例中,将首次获得的多个查询结果缓存至第一缓存数据库,并分别记录每个查询结果的初始权重值和首次存储的时间,可以按照数据库管理人员根据查询结果的特性进行设定,比如0-5中的任意一个值,其值越大说明该查询结果被查询概率越大,值越小说明该查询结果被查询的概率越小。
步骤S502,当所述多个查询结果中的任一查询结果被获取一次,所述被获取的查询结果的权重值进行相应的增加。
在本发明的实施例中,在查询过程中当第一缓存模块中的任意查询结果被获取一次,将该获取的查询结果的权重值进行相应的增加,权重值增加的数值可以是1,也可以是用户设定的其他数值,只要能够体现查询结果获取一次,权重值进行相应增加即可。
步骤S503,当所述权重值超过预设的阈值时,将所述权重值超过阈值的查询结果存储至所述第二缓存模块。
在本发明实施例中,所述阈值为第一缓存模块中查询结果的权重值,该权重数阈值可以系统管理人员进行设定,当某个查询结果的权重值超过该阈值时,将对应的查询结果存储至第二缓存模块,所述第二缓存模块存储的数据量不受限制。
该方法通过将查询结果按照其权重值进行分区进行缓存,并将第一缓存模块设为临时缓存模块,按照一定原则对该模块的缓存的查询结果进行存储或者删除,实现智能缓存,按需缓存数据,节省存储空间。
在一个实施例中,如图6所示,当原数据库中的数据更新时,数据查询方法具体还包括:
步骤S601;当原数据库中的数据更新时,将所述多个查询模型进行算法解析获得多个查询语言,并在所述更新后的数据库中进行查询获得多个新查询结果。
在本发明实施例中,原数据库中数据随着时间的变化,该数据会发生变化,比如数据的增加,数据的删除或替换等更新,当该更新过程发生后,可以通过用户的发出的数据库更新指令或者其他方式进行相关数据的更新,该更新过程的实施时间可以是收到指令即可进行,也可以在预先设定的时间内进行完成,调用存储在路由表中的多个查询模型,将查询模型进行算法解析获得查询语言,并在更新后的数据库中执行查询语言,获得新查询结果。
步骤S602,将所述多个新查询结果存储至与所述多个查询模型对应的查询地址,并删除更新前的所述多个查询结果。
在本发明实施例中,将上述新查询结果通过路由表中对应存储的查询地址直接获得更新前查询结果的存储地址,并将新查询结果存储值对应的查询地址,同时删除更新前的查询结果。
该方法具体限定了数据更新时查询数据的更新过程,通过查询模型获得相应的查询语言,再通过查询语言获得新查询结果,直接通过查询地址信息将查询结果进行替换,能够快速实现数据的更新,实现过程简单且不会造成数据混乱。
应当理解的是,可以通过数据更新数据的指标和维度,确定数据更新的查询模型,在后续的处理过程中只将数据更新的查询模型进行进一步处理,获得新的查询结果,同时对相应的查询结果进行相应的更新,该方法能够有针对性的实施数据的更新,使得处理过程更加简单,处理时间更短。
在一个实施例中,如图7所示,步骤402具体可以包括以下步骤:
步骤S701,根据所述关系模型获取所述事实表的第一字段和聚合方式,并获取维表中第二字段。
在本发明实施例中,根据页面配置形成的查询模型的数据结构或者直接编写的查询模型数据结构,其中包含了事实表和维表,并从事实表中获得第一字段和相应的聚合方式,从维表中获得第二字段。
步骤S702,以所述第一字段和聚合方式为指标,所述第二字段为维度,获得查询模型。
在本发明实施例中,将上述获得的第一字段和聚合方式作为指标,第二字段作为维度,并根据用户需求设定过滤条件,从而获得查询模型。
如图8所示,在一个实施例中,提供了一种数据查询装置,该数据查询装置具体可以包括查询模型确定模块810、判定模块820、查询地址获取模块830、查询结果获取模块840。
查询模型确定模块810,用于获取用户输入的查询指令,并根据所述查询指令确定待查询模型。
在本发明实施例中,查询模型确定模块先向用户展示查询指令输入界面,通过该界面,用户根据需求输入查询指令的相关信息,该信息包括查询参数,其是用于查询语言执行时具体参数;通过获取查询参数后即可确定待查询模型。
判定模块820,用于判断预存的路由表中是否存在与所述待查询模型相同的查询模型。
在本发明实施例中,判定模块主要通过待查询模型与预存的多个查询模型进行对比,具体包括路由表,该路由表为是一个存储在路由器或者联网计算机中的电子表格或类数据库,其存储着指向特定网络地址的路径,在本发明中该路由表中预先存储有多个查询模型以及与所述多个查询模型一一对应的查询地址,通过对比分析确定是否存在与带查询模型相同的查询模型,并将判定结果发送给查询地址获取模块。
查询地址获取模块830,用于当判断结果为是时,获取与所述查询模型对应的查询地址。
在本发明实施例中,当路由表中存在与待查询模型相同的模型时,获得的判定结果为是,获取与之对应的查询地址,所述查询地址为查询模型对应的查询结果存储的具体地址,可以通过该地址直接索引到查询结果。
查询结果获取模块840,用于根据所述查询地址在缓存数据库中获得对应的查询结果。
在本发明实施例中,查询结果获取模块是通过地址信息从缓存数据库中直接获得查询结果,所述的缓存数据库是用于存储路由表中多个查询模型的多个查询结果,并且可以直接与各查询地址直接链接,在获得查询地址时,可以迅速返回对应查询结果。
该装置通过预先存储在路由表中的多个查询模型和与之相对应的查询地址,在接收到查询指令时,直接搜索路由表,当路由表中存在查询指令对应的查询模型时,获得查询地址,并根据查询地址直接获得查询结果,使得数据查询过程能够达到亚秒级响应,并且通过将查询模型和查询地址存储至路由表中,查询结果缓存至缓存数据库中,节约了存储空间。
在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例所给出的数据查询的步骤。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述实施例所给出的数据查询的步骤。
应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
获取用户输入的查询指令,并根据所述查询指令确定待查询模型;
判断预存的路由表中是否存在与所述待查询模型相同或包含所述待查询模型的查询模型;
当判断结果为是时,获取与所述查询模型对应的查询地址;
根据所述查询地址在缓存数据库中获得对应的查询结果;
其中,所述路由表包括多个查询模型以及与所述多个查询模型一一对应的查询地址。
2.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:
当所述判断结果为否时,将所述待查询模型进行算法解析获得待查询语言;
根据所述待查询语言在原数据库进行查询获得查询结果。
3.根据权利要求2所述的数据查询方法,其特征在于,所述方法还包括:
将所述查询结果存储至缓存数据库中,并获取所述查询结果的查询地址;
将所述待查询模型和查询地址对应的存储至所述路由表。
4.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:
获取原数据库中的事实表和多个维表,并建立所述事实表和多个维表的关系模型;
根据所述关系模型确定多个查询模型;
将所述多个查询模型进行算法解析获得对应的多个查询语言,并根据所述多个查询语言在所述原数据库进行查询获得多个查询结果;
按照预设的存储方法将所述多个查询结果存储至所述缓存数据库,并获取所述多个查询结果的查询地址;
将所述多个查询模型和对应的所述查询地址存储至所述路由表。
5.根据权利要求4所述的数据查询方法,其特征在于,所述缓存数据库包括第一缓存模块和第二缓存模块,所述方法还包括:
将所述多个查询结果缓存至所述第一缓存模块,并分别记录所述多个查询结果的权重值;
当所述多个查询结果中的任一查询结果被获取一次,所述被获取的查询结果的权重值进行相应的增加;
当所述权重值超过预设的阈值时,将所述权重值超过阈值的查询结果存储至所述第二缓存模块;
其中所述第一缓存模块设有缓存数阈值,当缓存数量超过所述缓存数阈值时,按照预设的删除方法对所述第一缓存模块中查询结果进行删除。
6.根据权利要求1所述的数据查询方法,其特征在于,所述方法还包括:
当原数据库中的数据更新时,将所述多个查询模型进行算法解析获得多个查询语言,并在所述更新后的数据库中进行查询获得多个新查询结果;
将所述多个新查询结果存储至与所述多个查询模型对应的查询地址,并删除更新前的所述多个查询结果。
7.根据权利要求4所述的数据查询方法,其特征在于,所述根据所述关系模型确定查询模型的方法具体包括:
根据所述关系模型获取所述事实表的第一字段和聚合方式,并获取维表中第二字段;
以所述字段和聚合方式为指标,所述字段为维度,获得查询模型。
8.一种数据查询装置,其特征在于,所述装置具体包括:
查询模型确定模块,用于获取用户输入的查询指令,并根据所述查询指令确定待查询模型;
判定模块,用于判断预存的路由表中是否存在与所述待查询模型相同或包含所述待查询模型的查询模型;
查询地址获取模块,用于当判断结果为是时,获取与所述查询模型对应的查询地址;以及
查询结果获取模块,用于根据所述查询地址在缓存数据库中获得对应的查询结果。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至7中任一项权利要求所述数据查询方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至7中任一项权利要求所述数据查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910792349.6A CN110489427A (zh) | 2019-08-26 | 2019-08-26 | 一种数据查询方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910792349.6A CN110489427A (zh) | 2019-08-26 | 2019-08-26 | 一种数据查询方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110489427A true CN110489427A (zh) | 2019-11-22 |
Family
ID=68554294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910792349.6A Pending CN110489427A (zh) | 2019-08-26 | 2019-08-26 | 一种数据查询方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110489427A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143464A (zh) * | 2019-12-10 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 数据获取方法、装置和电子设备 |
CN112269830A (zh) * | 2020-10-20 | 2021-01-26 | 苏州莱锦机电自动化有限公司 | 大数据分析方法、系统、计算机设备及其存储介质 |
CN112732751A (zh) * | 2020-12-30 | 2021-04-30 | 北京懿医云科技有限公司 | 一种医学数据处理方法、装置、存储介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163195A (zh) * | 2010-02-22 | 2011-08-24 | 北京东方通科技股份有限公司 | 一种基于分布式、异构数据库统一视图的查询优化方法 |
CN103020115A (zh) * | 2012-11-13 | 2013-04-03 | 深圳市同洲电子股份有限公司 | 一种数据缓存的方法、缓存服务器及系统 |
CN105205085A (zh) * | 2014-06-30 | 2015-12-30 | 中兴通讯股份有限公司 | 一种海量数据的多维分析方法及装置 |
CN105740445A (zh) * | 2016-02-02 | 2016-07-06 | 贵州大学 | 一种数据库查询方法及装置 |
CN107016001A (zh) * | 2016-01-28 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
US20170337232A1 (en) * | 2016-05-19 | 2017-11-23 | Fifth Dimension Holdings Ltd. | Methods of storing and querying data, and systems thereof |
-
2019
- 2019-08-26 CN CN201910792349.6A patent/CN110489427A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102163195A (zh) * | 2010-02-22 | 2011-08-24 | 北京东方通科技股份有限公司 | 一种基于分布式、异构数据库统一视图的查询优化方法 |
CN103020115A (zh) * | 2012-11-13 | 2013-04-03 | 深圳市同洲电子股份有限公司 | 一种数据缓存的方法、缓存服务器及系统 |
CN105205085A (zh) * | 2014-06-30 | 2015-12-30 | 中兴通讯股份有限公司 | 一种海量数据的多维分析方法及装置 |
CN107016001A (zh) * | 2016-01-28 | 2017-08-04 | 阿里巴巴集团控股有限公司 | 一种数据查询方法及装置 |
CN105740445A (zh) * | 2016-02-02 | 2016-07-06 | 贵州大学 | 一种数据库查询方法及装置 |
US20170337232A1 (en) * | 2016-05-19 | 2017-11-23 | Fifth Dimension Holdings Ltd. | Methods of storing and querying data, and systems thereof |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111143464A (zh) * | 2019-12-10 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 数据获取方法、装置和电子设备 |
CN111143464B (zh) * | 2019-12-10 | 2023-07-18 | 北京字节跳动网络技术有限公司 | 数据获取方法、装置和电子设备 |
CN112269830A (zh) * | 2020-10-20 | 2021-01-26 | 苏州莱锦机电自动化有限公司 | 大数据分析方法、系统、计算机设备及其存储介质 |
WO2022082892A1 (zh) * | 2020-10-20 | 2022-04-28 | 苏州莱锦机电自动化有限公司 | 大数据分析方法、系统、计算机设备及其存储介质 |
CN112732751A (zh) * | 2020-12-30 | 2021-04-30 | 北京懿医云科技有限公司 | 一种医学数据处理方法、装置、存储介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489427A (zh) | 一种数据查询方法、装置、计算机设备和存储介质 | |
CN104301360B (zh) | 一种日志数据记录的方法、日志服务器及系统 | |
Nelson et al. | Security and privacy for big data: A systematic literature review | |
CN105528367B (zh) | 基于开源大数据对时间敏感数据的存储和近实时查询方法 | |
CN107491523B (zh) | 存储数据对象的方法及装置 | |
CN106294772B (zh) | 分布式内存列式数据库的缓存管理方法 | |
Zhang et al. | Trajspark: A scalable and efficient in-memory management system for big trajectory data | |
CN107533551A (zh) | 数据块级别的大数据统计 | |
CN110321408A (zh) | 基于知识图谱的搜索方法、装置、计算机设备和存储介质 | |
Olken et al. | Sampling from spatial databases | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
CN104424219B (zh) | 一种数据文件的管理方法及装置 | |
US20160034505A1 (en) | Systems and methods for large-scale link analysis | |
CN107103032A (zh) | 一种分布式环境下避免全局排序的海量数据分页查询方法 | |
CN104951464B (zh) | 数据存储方法及系统 | |
US20240129332A1 (en) | Systems and methods for rapidly generating security ratings | |
Shangguan et al. | Big spatial data processing with Apache Spark | |
CN107220287A (zh) | 用于日志查询的索引管理方法、装置、存储介质及设备 | |
Bhushan et al. | Recommendation of optimized web pages to users using Web Log mining techniques | |
CN105989140A (zh) | 一种数据块处理方法和设备 | |
CN113934713A (zh) | 一种订单数据索引方法、系统、计算机设备以及存储介质 | |
CN113377789A (zh) | 数据库变更数据的处理方法、装置、计算机设备和介质 | |
CN106649530A (zh) | 云详单查询管理系统及方法 | |
CN113641681A (zh) | 一种空间自适应的海量数据查询方法 | |
CN116450607A (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: 20191122 |