CN113672781A - 数据查询方法、装置、电子设备及存储介质 - Google Patents
数据查询方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113672781A CN113672781A CN202110960725.5A CN202110960725A CN113672781A CN 113672781 A CN113672781 A CN 113672781A CN 202110960725 A CN202110960725 A CN 202110960725A CN 113672781 A CN113672781 A CN 113672781A
- Authority
- CN
- China
- Prior art keywords
- query
- information
- data table
- statement
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims description 16
- 238000001914 filtration Methods 0.000 claims abstract description 45
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 230000006870 function Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims 1
- 230000001131 transforming effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- 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
-
- 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/24553—Query execution of query operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据技术,揭露一种数据查询方法,包括:获取预设格式的查询语句,并利用解析引擎将所述查询语句转化为目标查询语句;从所述目标查询语句中解析得到查询指标信息,利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;根据所述数据表信息及过滤信息,生成目标数据表信息;根据所述目标数据表信息,在包含所述查询指标信息的预设数据库中查询得到初始查询结果;利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。此外,本发明还涉及区块链技术,所述数据库可以是区块链节点。本发明还提出一种数据查询装置、设备以及介质。本发明可以解决数据查询方法效率低的问题。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据查询方法、装置、电子设备及计算机可读存储介质。
背景技术
当今数字信息时代,一项专业性的数据统计工作往往涉及多个平台、多个数据库之间数据的查询,例如,政府机关、医疗组织等针对某类指标数据进行跨区域、跨平台的各种视角的数据查询。但是由于不同平台、不同数据库间的数据结构不同、查询语法标准不同,同时数据查询操作界面也不统一,导致用户需要花费很长时间重新构建新的查询系统,且需经过长时间的学习才能掌握复杂的查询语法,因此当前数据查询方法的效率及准确性有待提升。
发明内容
本发明提供一种数据查询方法、装置及计算机可读存储介质,其主要目的在于提升数据查询方法的效率。
为实现上述目的,本发明提供的一种数据查询方法,包括:
获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;
若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;
若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;
利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
可选地,所述获取预设格式的查询语句,包括:
将用户输入查询语句解析为解析树;;
将所述解析树节点对应的词语映射到JSON组件;
重构所述解析树,生成查询树;
根据所述JSON组件,翻译所述查询树,得到预设格式查询语句。
可选地,所述利用预设的解析引擎将所述查询语句转化为目标查询语句,包括:
解析所述预设格式的查询语句,得到查询指标信息,查询范围以及查询条件;
匹配SQL既定的逻辑规则及所述查询条件,生成组合查询条件;
根据SQL语法规则,将所述查询指标信息、所述查询范围及所述组合查询条件填充到SQL结构语句中,得到对应的目标查询语句。
可选地,所述利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则,包括:
通过预构建的词法分析器将所述目标查询语句的字符串信息转化为符号流;
通过预构建的语法分析器根据所述符号流生成语法树;
通过编译器对所述语法树进行解析得抽象语法树;
从所述抽象语法树中提取元数据,得到元数据信息;
根据所述元数据中的表头信息、文件字段、过滤条件信息、筛选条件信息、查询条件信息,得到数据表信息、过滤信息和匹配规则。
可选地,所述根据所述数据表信息及过滤信息,生成目标数据表信息,包括:
提取所述数据表信息中的文件信息,并根据所述文件信息获取关联数据表信息;
将所述关联数据表信息与所述过滤信息进行组合,生成目标数据信息。
可选地,所述根据所述目标数据表信息,查询预设数据库,得到初始查询结果,包括:
解析所述目标数据表信息得到查询树;
遍历所述查询树得到查询计划;
利用所述查询计划在预设数据库读取数据内容,得到初步查询结果。
可选地,所述利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果,包括:
利用所述匹配规则中的计算函数对所述初始查询结果进行运算,得到运算结果;
对所述运算结果进行排序;
对所述排序后的运算结果进行展示限定,得到所述查询语句的查询结果。
为了解决上述问题,本发明还提供一种数据查询装置,所述装置包括:
查询语句转化模块,用于获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
解析模块,用于从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
查询匹配模块,用于根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现上述所述的数据查询方法。
为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据查询方法。
本发明实施例所述数据查询方法利用预设的解析引擎将用户输入的查询语句转化为统一的预设格式的查询语句,所述预设格式的查询语句结构简单与统计业务强关联,并且语法高度统一,不受系统和使用环境的影响降低业务人员的学习成本,并通过将过滤条件及筛选条件加入到查询语句中,减少了数据查询的范围,从而提升数据查询方法的效率,进一步地,从所述目标查询语句中解析得到查询指标信息、数据表信息、过滤信息及匹配规则,根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,实现了初始查询;并利用所述匹配规则对所述初始查询结果进行匹配运算,得到更精确的查询结果。因此,本发明实施例所述所述数据查询方法可以提高数据查询的效率及准确性。
附图说明
图1为本发明一实施例提供的数据查询方法的流程示意图;
图2为图1所示数据查询方法中其中一个步骤的详细实施流程示意图;
图3为图1所示数据查询方法中其中一个步骤的详细实施流程示意图;
图4为本发明一实施例提供的数据查询装置的功能模块图;
图5为本发明一实施例提供的实现所述数据查询方法的电子设备的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本申请实施例提供一种数据查询方法。所述数据查询方法的执行主体包括但不限于服务端、终端等能够被配置为执行本申请实施例提供的该方法的电子设备中的至少一种。换言之,所述数据查询方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是数据处理平台。所述服务端可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
参照图1所示,为本发明一实施例提供的数据查询方法的流程示意图。
在本实施例中,所述数据查询方法包括:
S1、获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
本发明实施例中,所述预设格式的查询语句可以为JSON(JavaScript ObjectNotation)格式查询语句。所述JSON是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。
具体地,所述JSON格式查询语句的语法结构,例如:select生产总值from省[广东].市[深圳].区[罗湖区,福田区].企业time年[2020]where生产总值>2000000order by生产总值desc limit 1,10。该查询语句代表查询查询2020年深圳市罗湖区和福田区生产总值大于200万的企业,并且按照他们的生产总值从多到少排名并且只查询出前10名。其中,在所述JSON格式查询语句中,包括查询指标信息、查询范围、查询条件等。其中,所述查询标信息通常是具有某一类特性的现象名称,例如:CPI消费者物价指数(Consumer PriceIndex),GDP国内生产总值(Gross Domestic Product)。
例如,所述select“GDP”为查询指标信息;所述from省[广东].市[深圳].区[罗湖区,福田区].企业为查询范围;time年[2020]为时间范围条件;所述where生产总值>2000000为过滤条件;所述order by生产总值desc为排序条件;所述limit1,10为取值范围条件。
本发明实施例中,所述SQL为一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。详细地,参阅图2所示,S1中所述获取预设格式的查询语句,包括:
S11、将用户输入查询语句解析为解析树;
S12、将所述解析树节点对应的词语映射到JSON组件;
S13、重构所述解析树,生成查询树;
S14、根据所述JSON组件,翻译所述查询树,得到JSON格式的查询语句;
进一步地,S1中所述利用预设的解析引擎将所述查询语句转化为目标查询语句,包括:
S15、解析所述JSON格式的查询语句,得到查询指标信息,查询范围以及查询条件;
S16、匹配SQL既定的逻辑规则及所述查询条件,生成组合查询条件;
S17、根据SQL语法规则,将所述查询指标信息、所述查询范围及所述组合查询条件填充到SQL结构语句中,得到对应的SQL查询语句。
具体地,本发明实施例中,可以通过Shanford Parser语言处理工具,使用相关的解析接口将用户输入的查询语句解析为解析树。其中,所述解析树的每个节点为用户输入的单词或短语,每条边为单词之间的语义依赖关系。进一步地,所述解析树节点包含选择节点、操作符节点、聚合函数节点、名字节点、值节点、逻辑节点等,且与所述JSON组件存在对应关系。
所述查询树的树结构包含SClause子树、ComplexCondition子树、条件子树等,与JSON查询语句语法结构存在对应关系,分别对应JSON查询语句的SELECT子句、from子句、where子句、以及各个逻辑条件子句等。
本发明实施例以JSON格式构建查询语句,所述JSON格式查询语句结构简单与统计业务强关联,并且语法高度统一,不受系统和使用环境的影响,降低业务人员的学习成本。进一步地,本发明实施例中,所述预设的解析引擎可以是语法解析器,例如Sparser解析器,包含编译器、提取器、解释器等,用于将所述JSON格式查询语言解析成能够对数据库执行查询的SQL查询语句。
本发明实施例将所述查询语句转化为SQL查询语句,方便在预设数据库中进行查询,得到查询结果。本发明另一个实施例中,在所述利用预设的解析引擎将所述查询语句转化为SQL查询语句之前,还可以包括:
对所述查询语句的语法正确性进行校验;
当所述查询语句语法校验失败时,发送校验失败信息并返回上述获取预设格式的查询语句的步骤;
当所述查询语句语法校验通过时,利用预设的解析引擎将所述查询语句转化为SQL查询语句。
S2、从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;
本实施案例,利用SQL解析引擎从所述SQL查询语句中解析得到查询指标信息,例如:所述查询语句中“select XXX”,其中“XXX”为查询指标信息,例如:GDP、生产总值等信息。进一步地,本发明实施例判断预设的数据库中是否存在与所述查询指标信息匹配的指标。其中,所述预设数据库可以为开发人员提前整合的数据库,包含各种数据表,例如:指标表、企业数据表、宏观数据表、业务维度表、地区维度表、时间维度表等,并支持导入excel表或者MQ同步更新数据库信息。其中,所述指标表可以存储所述查询指标信息。
本发明实施例中,利用SQL解析引擎查询预设数据库的指标表中是否存在所述查询指标信息,例如:判断所述指标表中是否存在“GDP”。
通过判断预设数据库中是否存在与所述查询指标信息匹配的指标,提前判断指标的有效性,减少查询过程中资源浪费,提升了查询效率。
若不存在与所述查询指标信息匹配的指标,则S3、发送更新查询语句的提示信息,并返回上述的S1;
本发明实施例中,若所述数据库指标表中不存在与所述查询指标信息匹配的指标,发送提示信息更新查询语句,如:所述数据库指标表中不存在GDP字段时,发送“请更新查询语句”的提示信息,并返回上述S1的步骤。
若存在与所述查询指标信息匹配的指标,则S4、利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则。
本发明实施例中,所述数据表信息为所要查询结果的所述查询范围所对应数据表信息,包含:如数据表名、以及数据表对应的字段信息。
进一步地,所述过滤信息是指查询语句中对待查询文件进行限定的过滤条件以及筛选条件。利用所述过滤信息可以对日期、业务数据等进行筛选,减少数据扫描范围,进而提高查询效率。例如:查询语句:select生产总值from省[广东].市[深圳].区[罗湖区,福田区].企业time年[2020]where生产总值>2000000order by生产总值desc limit 1,10,中“where生产总值>2000000”为过滤条件,表示年生产总值大于2000000的企业;time年[2020]为筛选条件,表示查询2020年的数据。
进一步地,所述匹配规则为所述查询条件组合得到的匹配运算规则,所述查询条件包含不仅限于计算函数、排序条件、限定范围,可对所述数据表信息进行逻辑运算,得到所述查询语句查询结果。例如:查询语句:select生产总值from省[广东].市[深圳].区[罗湖区,福田区].企业time年[2020]where生产总值>2000000order by生产总值desc limit1,10,其中所述order by生产总值desc表示按照生产总值从多到少排名,其中所述limit1,10表示只查出前10名。
详细地,参阅图3所示,所述S4,包括:
S41、通过预构建的词法分析器将所述SQL查询语句的字符串信息转化为符号流;
S42、利用预构建的语法分析器根据所述符号流生成语法树;
S43、利用编译器对所述语法树进行解析得抽象语法树;
S44、从所述抽象语法树中提取元数据,得到元数据信息;
S45、根据所述元数据中的表头信息、文件字段、过滤条件信息、筛选条件信息、查询条件信息,得到数据表信息、过滤信息和匹配规则。
本发明实施例中,所述词法分析器(lexical analysis)是计算机科学中将字符序列转换为单词(Token)序列的一种程序。分析量化毫无意义的字符流,将其翻译成离散的单词序列,包括关键字、标识符等。
进一步地,本发明实施例中,所述语法分析器(Syntactic analysis,也叫Parsing)是根据某种给定的形式文法对由单词序列构成的输入文本进行分析并确定其语法结构的一种程序。它的作用是对所述单词序列进行语法检查、并构建由输入的单词序列组成的语法树。
进一步地,本发明实施例中,所述语法分析器将词法分析器生成的关键字、标识符等单词序列进行语法搭建,并转化为语法树。其中所述语法搭建指通过语法分析器将关键字、标识符等单词序列,按照序列本身的语法意义及上下文之间的关系,进行组织搭建,最终生成语法树。
本发明实施例中,所述元数据又称中介数据、中继数据,为描述数据的数据(dataabout data),元数据是潜在信息,是关于数据的更高层次抽象,是对数据的描述,包含表头信息、字段信息、注释信息、文件信息和表上下文关系信息等。其中所述表头信息是指数据表中的第一个单元格信息,通过表头信息能够获取到对应的数据表;其中所述文件信息是指部分待扫描文件的对应字段信息。所述文件信息指向与待查询范围对应数据表存在关联关系的外部存储数据表。
本发明实施例通过对SQL查询语句进行解析,获取到SQL查询语句对应的元数据信息,该元数据信息包含中表头信息、文件字段、过滤条件信息、筛选条件信息、查询条件信息,提取该元数据信息得到数据表信息、过滤信息及匹配规则。
S5、根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果。
本发明实施例所述数据表信息包括:表头信息、文件信息;其中所述文件信息指向与查询范围对应数据表存在关联关系的外部存储的数据表。
详细地,根据所述数据表信息及过滤信息,生成目标数据表信息,包括:
提取所述数据表信息中的文件信息,并根据所述文件信息获取关联数据表信息;
将所述关联数据表信息与所述过滤信息进行组合,生成目标数据信息。
详细地,根据所述目标数据表信息,查询预设数据库,得到初始查询结果,包含:
解析所述目标数据表信息得到查询树;
遍历所述查询树得到查询计划;
利用所述查询计划在预设数据库读取数据内容,得到初步查询结果。
进一步地,本发明实施例通过提取数据表信息中的文件信息,并根据文件信息获取关联所述查询范围对应的数据表信息,将关联所述数据库中数据表信息和过滤信息组合,生成目标数据表信息,可以进一步缩小查询时扫描数据表范围,有利于提高查询效率。
S6、利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。本发明实施例中,所述匹配运算包含但不限于计算、排序、取值范围限定。
可选地,本发明实施例利用所述匹配规则中的计算函数对所述初始查询结果进行运算,得到运算结果,对所述运算结果进行排序,对所述排序后的运算结果进行展示限定,得到所述查询语句的查询结果。
其中,所述计算函数,例如:预设查询语句:select GDP,人口,AVG(月[2020.1:2020.6,2020.10].GDP)月平均GDP from省[广东].市[深圳].区time月[2020]order byAVG(月[2020].GDP)desc6.其中“AVG([2020.1:2020.6,2020.10].GDP”表示计算月平均GDP值。不仅支持平均计算函数,还支持MED()计算中位数、SUM()计算总和、VAR()计算方差值、STA()计算标准差、CL()自动显示环比、CP()自动显示同比、CLV()显示环比值、CPV()显示同比值等计算函数。
进一步地,所述排序条件为根据时间或指标值对查询结果进行排序,可从大到小排序、也可从小到大排序。如:预设查询语句select GDP,人口,AVG(月[2020.1:2020.6,2020.10].GDP)月平均GDP from省[广东].市[深圳].区time月[2020]order by AVG(月[2020].GDP)desc6.其中“order by AVG(月[2020].GDP)desc6”.表示:按照各月平均GDP从多到少进行排名。
可选地,所述取值范围限定为对查询出来的数据限制只展示其中一部分,可以取前几名、最后几名或中间几名。例如:预设查询语句select GDP from省[广东].市[深圳].区,直辖市.上海.区order by GDP desc limit last[3:5],其中“limit last[3:5]”表示:显示倒数第三名到倒数第五名。
本发明实施例所述数据查询方法利用预设的解析引擎将用户输入的查询语句转化为统一的预设格式的查询语句,所述预设格式的查询语句结构简单与统计业务强关联,并且语法高度统一,不受系统和使用环境的影响降低业务人员的学习成本,并通过将过滤条件及筛选条件加入到查询语句中,减少了数据查询的范围,从而提升数据查询方法的效率,进一步地,从所述目标查询语句中解析得到查询指标信息、数据表信息、过滤信息及匹配规则,根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,实现了初始查询;并利用所述匹配规则对所述初始查询结果进行匹配运算,得到更精确的查询结果。因此,本发明实施例所述所述数据查询方法可以提高数据查询的效率及准确性。
如图4所示,是本发明一实施例提供的数据查询装置的功能模块图。
本发明所述数据查询装置100可以安装于电子设备中。根据实现的功能,所述数据查询装置100可以包括查询语句转化模块101、解析模块102及查询匹配模块103。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
在本实施例中,关于各模块/单元的功能如下:
查询语句转化模块101,用于获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
解析模块102,用于从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
查询匹配模块103,用于根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
详细地,本发明实施例中所述数据查询装置100中的各个模块在使用时采用与上述的图1至图3中所述的数据查询方法一样的技术手段,并能够产生相同的技术效果,这里不再赘述。
如图5所示,是本发明一实施例提供的实现数据查询方法的电子设备的结构示意图。
所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如数据查询程序。
其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(SecureDigital,SD)卡、闪存卡(Flash Card)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据查询程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(Control Unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如数据查询程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。
所述总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。
可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(Display)、输入单元(比如键盘(Keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
所述电子设备1中的所述存储器11存储的数据查询程序是多个指令的组合,在所述处理器10中运行时,可以实现:
获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;
若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;
若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;
利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)。
本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;
若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;
若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;
利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种数据查询方法,其特征在于,所述方法包括:
获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;
若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;
若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;
利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
2.如权利要求1所述的数据查询方法,其特征在于,所述获取预设格式的查询语句,包括:
将用户输入查询语句解析为解析树;
将所述解析树节点对应的词语映射到JSON组件;
重构所述解析树,生成查询树;
根据所述JSON组件,翻译所述查询树,得到预设格式的查询语句。
3.如权利要求1所述的数据查询方法,其特征在于,所述利用预设的解析引擎将所述查询语句转化为目标查询语句,包括:
解析所述预设格式的查询语句,得到查询指标信息,查询范围以及查询条件;
匹配SQL既定的逻辑规则及所述查询条件,生成组合查询条件;
根据SQL语法规则,将所述查询指标信息、所述查询范围及所述组合查询条件填充到SQL结构语句中,得到对应的目标查询语句。
4.如权利要求3所述的数据查询方法,其特征在于,所述利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则,包括:
通过预构建的词法分析器将所述目标查询语句的字符串信息转化为符号流;
通过预构建的语法分析器根据所述符号流生成语法树;
通过编译器对所述语法树进行解析得抽象语法树;
从所述抽象语法树中提取元数据,得到元数据信息;
根据所述元数据中的表头信息、文件字段、过滤条件信息、筛选条件信息、查询条件信息,得到数据表信息、过滤信息和匹配规则。
5.如权利要求4所述的数据查询方法,其特征在于,所述根据所述数据表信息及过滤信息,生成目标数据表信息,包括:
提取所述数据表信息中的文件信息,并根据所述文件信息获取关联数据表信息;
将所述关联数据表信息与所述过滤信息进行组合,生成目标数据信息。
6.如权利要求2所述的数据查询方法,其特征在于,所述根据所述目标数据表信息,查询预设数据库,得到初始查询结果,包括:
解析所述目标数据表信息得到查询树;
遍历所述查询树得到查询计划;
利用所述查询计划在预设数据库读取数据内容,得到初步查询结果。
7.如权利要求1至6中任一项所述的数据查询方法,其特征在于,所述利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果,包括:
利用所述匹配规则中的计算函数对所述初始查询结果进行运算,得到运算结果;
对所述运算结果进行排序;
对所述排序后的运算结果进行展示限定,得到所述查询语句的查询结果。
8.一种数据查询装置,其特征在于,所述装置包括:
查询语句转化模块,用于获取预设格式的查询语句,并利用预设的解析引擎将所述查询语句转化为目标查询语句;
解析模块,用于从所述目标查询语句中解析得到查询指标信息,并判断预设的数据库中是否存在与所述查询指标信息匹配的指标;若不存在与所述查询指标信息匹配的指标,则发送更新查询语句的提示信息;若存在与所述查询指标信息匹配的指标,则利用SQL解析引擎从所述目标查询语句中解析得到数据表信息、过滤信息及匹配规则;
查询匹配模块,用于根据所述数据表信息及过滤信息,生成目标数据表信息,并根据所述目标数据表信息,查询预设数据库,得到初始查询结果;利用所述匹配规则对所述初始查询结果进行匹配运算,得到所述查询语句的查询结果。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任意一项所述的数据查询方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任意一项所述的数据查询方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960725.5A CN113672781A (zh) | 2021-08-20 | 2021-08-20 | 数据查询方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110960725.5A CN113672781A (zh) | 2021-08-20 | 2021-08-20 | 数据查询方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113672781A true CN113672781A (zh) | 2021-11-19 |
Family
ID=78544525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110960725.5A Pending CN113672781A (zh) | 2021-08-20 | 2021-08-20 | 数据查询方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672781A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114357276A (zh) * | 2021-12-23 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
CN114416774A (zh) * | 2022-01-05 | 2022-04-29 | 深圳萨摩耶数字科技有限公司 | 跨平台多数据源取数方法、装置、电子设备及存储介质 |
CN114496140A (zh) * | 2021-12-31 | 2022-05-13 | 医渡云(北京)技术有限公司 | 查询条件的数据匹配方法、装置、设备及介质 |
CN115168399A (zh) * | 2022-09-06 | 2022-10-11 | 北京永洪商智科技有限公司 | 基于图形化界面的数据处理方法、装置、设备及存储介质 |
CN115168408A (zh) * | 2022-08-16 | 2022-10-11 | 北京永洪商智科技有限公司 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
CN115994152A (zh) * | 2023-03-24 | 2023-04-21 | 云账户技术(天津)有限公司 | MySQL查询语句的校验方法、装置、设备及存储介质 |
CN115168408B (zh) * | 2022-08-16 | 2024-05-28 | 北京永洪商智科技有限公司 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260403A (zh) * | 2015-09-22 | 2016-01-20 | 广东同望科技股份有限公司 | 通用跨数据库访问方法 |
CN110968601A (zh) * | 2019-11-28 | 2020-04-07 | 中国银行股份有限公司 | 一种数据查询处理方法及装置 |
WO2020233367A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 区块链数据存储和查询方法、装置、设备及存储介质 |
CN112860727A (zh) * | 2021-02-20 | 2021-05-28 | 平安科技(深圳)有限公司 | 基于大数据查询引擎的数据查询方法、装置、设备及介质 |
-
2021
- 2021-08-20 CN CN202110960725.5A patent/CN113672781A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260403A (zh) * | 2015-09-22 | 2016-01-20 | 广东同望科技股份有限公司 | 通用跨数据库访问方法 |
WO2020233367A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 区块链数据存储和查询方法、装置、设备及存储介质 |
CN110968601A (zh) * | 2019-11-28 | 2020-04-07 | 中国银行股份有限公司 | 一种数据查询处理方法及装置 |
CN112860727A (zh) * | 2021-02-20 | 2021-05-28 | 平安科技(深圳)有限公司 | 基于大数据查询引擎的数据查询方法、装置、设备及介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114357276A (zh) * | 2021-12-23 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
CN114357276B (zh) * | 2021-12-23 | 2023-08-22 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
CN114496140A (zh) * | 2021-12-31 | 2022-05-13 | 医渡云(北京)技术有限公司 | 查询条件的数据匹配方法、装置、设备及介质 |
CN114496140B (zh) * | 2021-12-31 | 2022-12-30 | 医渡云(北京)技术有限公司 | 查询条件的数据匹配方法、装置、设备及介质 |
CN114416774A (zh) * | 2022-01-05 | 2022-04-29 | 深圳萨摩耶数字科技有限公司 | 跨平台多数据源取数方法、装置、电子设备及存储介质 |
CN115168408A (zh) * | 2022-08-16 | 2022-10-11 | 北京永洪商智科技有限公司 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
CN115168408B (zh) * | 2022-08-16 | 2024-05-28 | 北京永洪商智科技有限公司 | 基于强化学习的查询优化方法、装置、设备及存储介质 |
CN115168399A (zh) * | 2022-09-06 | 2022-10-11 | 北京永洪商智科技有限公司 | 基于图形化界面的数据处理方法、装置、设备及存储介质 |
CN115994152A (zh) * | 2023-03-24 | 2023-04-21 | 云账户技术(天津)有限公司 | MySQL查询语句的校验方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113672781A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN111813963B (zh) | 知识图谱构建方法、装置、电子设备及存储介质 | |
CN112052242A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN111428458A (zh) | 通用报表生成方法、装置及计算机可读存储介质 | |
CN112541338A (zh) | 相似文本匹配方法、装置、电子设备及计算机存储介质 | |
CN114979120B (zh) | 数据上传方法、装置、设备及存储介质 | |
CN112395251A (zh) | 数据文件的智能解析方法、装置、电子设备及存储介质 | |
CN111897831A (zh) | 业务报文的生成方法、装置、电子设备及存储介质 | |
CN113961584A (zh) | 字段血缘分析方法、装置、电子设备及存储介质 | |
CN112231417A (zh) | 数据分类方法、装置、电子设备及存储介质 | |
CN115408399A (zh) | 基于sql脚本的血缘关系分析方法、装置、设备及存储介质 | |
CN113887941A (zh) | 业务流程生成方法、装置、电子设备及介质 | |
CN114491047A (zh) | 多标签文本分类方法、装置、电子设备及存储介质 | |
CN114637811A (zh) | 数据表实体关系图生成方法、装置、设备及存储介质 | |
CN113806492A (zh) | 基于语义识别的记录生成方法、装置、设备及存储介质 | |
CN112597171A (zh) | 表格关系可视化方法、装置、电子设备及存储介质 | |
CN115438048A (zh) | 表搜索方法、装置、设备及存储介质 | |
CN115390936A (zh) | 统一校验方法、装置、设备和存储介质 | |
CN115062023A (zh) | 宽表优化方法、装置、电子设备及计算机可读存储介质 | |
CN114490666A (zh) | 基于数据需求的图表生成方法、装置、设备及存储介质 | |
CN112506931A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
CN111553133A (zh) | 报表生成方法、装置、电子设备及存储介质 | |
CN115481145A (zh) | 基于搜索引擎的数据查询方法、装置、设备及介质 | |
CN114840531B (zh) | 基于血缘关系的数据模型重构方法、装置、设备及介质 | |
CN112528112A (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 |