CN114625732A - 基于结构化查询语言sql的查询方法和系统 - Google Patents
基于结构化查询语言sql的查询方法和系统 Download PDFInfo
- Publication number
- CN114625732A CN114625732A CN202210121511.3A CN202210121511A CN114625732A CN 114625732 A CN114625732 A CN 114625732A CN 202210121511 A CN202210121511 A CN 202210121511A CN 114625732 A CN114625732 A CN 114625732A
- Authority
- CN
- China
- Prior art keywords
- name
- logic
- data
- packaging
- database
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000004806 packaging method and process Methods 0.000 claims abstract description 73
- 238000013507 mapping Methods 0.000 claims abstract description 69
- 238000005538 encapsulation Methods 0.000 claims description 48
- 238000012549 training Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000013506 data mapping Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 5
- 238000010801 machine learning Methods 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 238000005215 recombination Methods 0.000 claims description 3
- 230000006798 recombination Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000344 soap Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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/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
-
- 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/248—Presentation of 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了基于结构化查询语言SQL的查询方法和系统,通过解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;若不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;根据列名查询样表数据,返回样表查询结果并展示。可以快速查询多种异构数据源中的数据。
Description
技术领域
本申请实施例涉及数据查询技术领域,具体涉及基于结构化查询语言SQL的查询方法和系统。
背景技术
随着信息技术的飞速发展,政府、企业、医疗等众多领域的数据管理逐渐趋于信息化、网络化和数字化。数据已经被政府、企业视为一种重要的战略资源,正在被新一代的信息技术不断挖掘着其重要价值。但目前企业的数据均以每天TB、PB的量级不断累积,这将带来以下三个重要的问题:1、如何以较低的代价、较高的效率来联通并操作多源异构数据;2、如何让用户用简单的查询语言(如标准的SQL),就可以跨库、跨源、跨域访问数据。3、如何让用户以高效率、高安全性的查询多源异构数据。
发明内容
为此,本申请实施例提供基于结构化查询语言SQL的查询方法和系统,可以快速查询多种异构数据源中的数据。
为了实现上述目的,本申请实施例提供如下技术方案:
根据本申请实施例的第一方面,提供了基于结构化查询语言SQL的查询方法,所述方法包括:
解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;
若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;
若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;若不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;
根据列名查询样表数据,返回样表查询结果并展示。
可选地,在解析用户输入的SQL语句之前,所述方法还包括:
获取异构数据源的数据库表、文件和数据接口;
根据设置参数、注册模式和自定义SQL规则配置接入注册模块;
基于数据库表根据封装模型和智能模型构造封装表;
根据封装表映射逻辑表;
根据所述封装表和逻辑表生成应用程序接口API。
可选地,所述基于数据库表根据封装模型和智能模型构造封装表,包括:
基于数据库表根据封装模型获取第一元数据信息,对所述第一元数据信息拆分和封装,形成第一封装表;所述第一元数据信息包括数据库信息和数据表结构信息;
基于数据库表根据智能模型获取第二元数据信息,对所述第二元数据信息进行解析,得到数据表业务相关信息和业务标签信息,再对解析后的信息进行拆分和封装,形成第二封装表;所述第二元数据信息包括源文件位置信息、数据接口位置信息、权限信息和源文件结构信息;
将所述第一封装表和第二封装表根据预设的封装表合并,形成一个封装表。
可选地,所述智能模型的训练方法包括:
获取行业公开数据集;
基于所述行业数据集根据行业规则算法提取数据特征;以及根据机器学习模型提取字符串和文本统计特征;以及根据语义模型提取文本语义特征;
针对数据特征、字符串和文本统计特征和文本语义特征进行特征重组、重编码和标准向量化,构建训练集和测试集;
基于智能模型学习网络进行模型训练,训练出智能模型。
可选地,所述根据封装表映射逻辑表,包括:
根据预设数据映射规则,将封装表的物理表概述元数据信息写入第一逻辑表,所述物理表概述元数据信息包括数据库表位置信息、源文件位置信息、表行数和表列数;
根据预设数据映射规则,将封装表的物理表详细元数据写入第二逻辑表,所述物理表详细元数据包括列名、相关表和表主题。
可选地,所述根据所述待查询表名和映射条件构造封装表和逻辑表,包括:
基于所述待查询表名和映射条件根据封装模型和智能模型构造封装表;
根据封装表映射逻辑表。
根据本申请实施例的第二方面,提供了基于结构化查询语言SQL的查询系统,所述系统包括:
解析SQL模块,用于解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;
逻辑表查询模块,用于若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;
匹配模块,用于若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;
构建模块,用于若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表的表名、相关表和列名不匹配,或者所述映射条件不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;
所述逻辑表查询模块,还用于根据列名查询样表数据,返回样表查询结果并展示。
可选地,所述系统还包括:
接入注册模块,用于获取异构数据源的数据库表、文件和数据接口;根据设置参数、注册模式和自定义SQL规则配置接入注册模块;
所述构建模块,用于基于数据库表根据封装模型和智能模型构造封装表;根据封装表映射逻辑表;
统一API模块,用于根据所述封装表和逻辑表生成API。
根据本申请实施例的第三方面,提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行以实现上述第一方面所述的方法。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现上述第一方面所述的方法。
综上所述,本申请实施例提供了基于结构化查询语言SQL的查询方法和系统,解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;若不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;根据列名查询样表数据,返回样表查询结果并展示。可以快速查询多种异构数据源中的数据。
附图说明
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
图1为本申请实施例提供的基于结构化查询语言SQL的查询方法;
图2为本申请实施例提供的智能多源异构数据注册与封装方法功能图;
图3为本申请实施例提供的查询机制流程示意图;
图4为本申请实施例提供的基于结构化查询语言SQL的查询系统框图;
图5示出了本申请实施例提供的一种电子设备的结构示意图;
图6示出了本申请实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为解决“数据孤岛”,并实现数据便捷访问和高效查询的问题,首先需要解决以下问题:1、降低企业自主二次开发难度,支持同一行业的物理表到逻辑表智能映射,实现自动/半自动映射构建;2、支持元数据的自动采集与整理,尤其是支持本地文件/文件夹、数据接口等元数据的自动采集、智能分析及整理;3、提供常用关系型数据库、非关系型数据库、文件系统、数据接口等统一接入并自动注册方法,并支持统一标准SQL查询。
图1示出了本申请实施例提供的基于结构化查询语言SQL的查询方法,所述方法包括如下步骤:
步骤101:解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;
步骤102:若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;
步骤103:若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;若不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;
步骤104:根据列名查询样表数据,返回样表查询结果并展示。
在一种可能的实施方式中,在所述步骤101之前,所述方法还包括:
获取异构数据源的数据库表、文件和数据接口;根据设置参数、注册模式和自定义SQL规则配置接入注册模块;基于数据库表根据封装模型和智能模型构造封装表;根据封装表映射逻辑表;根据所述封装表和逻辑表生成应用程序接口API。
在一种可能的实施方式中,所述基于数据库表根据封装模型和智能模型构造封装表,包括:
基于数据库表根据封装模型获取第一元数据信息,对所述第一元数据信息拆分和封装,形成第一封装表;所述第一元数据信息包括数据库信息和数据表结构信息等;
基于数据库表根据智能模型获取第二元数据信息,对所述第二元数据信息进行解析,得到数据表业务相关信息和业务标签信息,再对解析后的信息进行拆分和封装,形成第二封装表;所述第二元数据信息包括源文件位置信息、数据接口位置信息、权限信息和源文件结构信息等;
将所述第一封装表和第二封装表根据预设的封装表合并,形成一个封装表。
在一种可能的实施方式中,所述智能模型的训练方法包括:
获取行业公开数据集;基于所述行业数据集根据行业规则算法提取数据特征;以及根据机器学习模型提取字符串和文本统计特征;以及根据语义模型提取文本语义特征;针对数据特征、字符串和文本统计特征和文本语义特征进行特征重组、重编码和标准向量化,构建训练集和测试集;基于智能模型学习网络进行模型训练,训练出智能模型。
在一种可能的实施方式中,所述根据封装表映射逻辑表,包括:
根据预设数据映射规则,将封装表的物理表概述元数据信息写入第一逻辑表,所述物理表概述元数据信息包括数据库表位置信息、源文件位置信息、表行数和表列数等;根据预设数据映射规则,将封装表的物理表详细元数据写入第二逻辑表,所述物理表详细元数据包括列名、相关表和表主题等。
在一种可能的实施方式中,所述根据所述待查询表名和映射条件构造封装表和逻辑表,包括:
基于所述待查询表名和映射条件根据封装模型和智能模型构造封装表;根据封装表映射逻辑表。
可以看出,本申请实施例提供的基于结构化查询语言SQL的查询方法,有以下几个特点:
第一方面,通过封装表和逻辑表设计及映射方法,实现物理表到逻辑表映射的自动化/半自动化构建。可由智能模型产生行业统一的业务标签数据,能够智能解析企业数据信息,形成统一的业务数据标准。完成逻辑表的自适应封装。这极大减少了企业进行数据转换、复制的工作,实现了数据管理与数据开发的隔离与安全防护,降低了企业因大量数据复制造成的资源浪费,提高了数据使用的安全性。
第二方面,提供可适配各种行业的预训练智能模型,解决常用关系型数据库、非关系型数据库、数据接口(如restful接口等)、文件系统(如本地文件、文件夹等)等元数据的自动采集、智能分析及整理等问题,可以在同一行业的不同企业数据库使用,只需具备基础算法能力的数据开发人员,对预训练的智能模型进行微调,即可使用。
第三方面,提供界面化的统一异构数据源接入并自动/半自动完成注册;可以实现多种数据源在统一界面进行注册,支持多种异构数据源接入注册,尤其是数据接口、本地文件/文件夹作为一种异构数据源,能更友好的方便中小型企业使用。
第四方面,提供统一的标准SQL查询界面,自动完成标准SQL对异构数据源查询的解析。不仅提供了统一标准SQL的数据访问查询界面,极大降低了用户的使用门槛,可以有效地提高工作效率,降低企业使用成本,并且隔离了用户与数据库的直接联系,也在一定程度上提高了企业数据的安全性,而且支持跨库查询、聚合查询等场景。
图2为本申请实施例提供的方法适用的系统功能图,用于注册和封装。主要包括物理数据空间、接入注册模块、视图模块和统一的数据访问接口API模块。物理数据空间包括结构清晰的数据库、未知结构的数据库和文件系统;视图模块包括封装功能(规则模型采集、智能模型采集、生成封装表)和映射功能(逻辑表1和逻辑表2的生成)。封装功能中的智能模型采集,设计了封装表单、采集分析算法;映射功能中,设计了封装表到逻辑表的映射规则。
下面对本申请实施例提供的多源异构数据的注册和封装过程进行详细描述。
第一方面,获取异构数据源的数据库表、文件和数据接口。按照Web端界面引导,用户填写数据库或表文件相关信息,连接数据库或表文件。通过WEB端数据库、表注册界面,完成数据库或表的连接。
第二方面,构建接入注册模块。具体地,进行参数化接入设置、自动注册设置和自定义SQL。其中,参数化接入设置包括数据源地址、数据源模式schema和文件数据字段位置等。自动注册设置包括接入信息的写入和权限设置等。自定义SQL包括自定义多表关联融合规则等。
第三方面,视图模块,由封装功能和映射功能组成。
3.1封装功能,用于构建封装表。
3.1.1规则模型封装。规则模型是利用预先设计的规则方法获取元数据信息。
步骤1:连接数据源,数据源包括关系型数据库和非关系型数据库等。
步骤2:按照预设规则从数据库的日志中获取元数据信息,所述元数据信息包括数据库信息和数据表结构信息。
步骤3:对获取到的元数据信息进行拆分和分类,按照预设的规则模型封装表进行填表,形成第一封装表。
3.1.2智能模型封装。智能模型是利用智能算法获取上述封装功能的元数据读取过程没有读取的元数据信息,再按照预设的智能模型封装表进行填表,形成封装表。
步骤1:连接数据源,所述数据源包括文件、文件夹和数据接口等。
步骤2:按照预设规则获取元数据信息,所述元数据信息包括源文件、数据接口等位置信息,以及权限信息、源文件结构信息等。
步骤3:根据元数据信息进行数据预测,智能模型将解析得到数据表业务相关信息以及业务标签信息。这些业务相关信息,预测的业务标签信息等,将分别写在数据字段备注、数据字段类型、数据字段含义和表业务表别等这些地方。
步骤4:对预测得到的元数据信息进行拆分和分类,按照预设的规则模型封装表进行填表,形成第二封装表。
将上述的两个封装表根据预设的封装表结构格式,合并形成一个封装表。
封装表是有预设格式的数据表,其格式可以人工设置,封装表封装物理表对应的所有元数据信息,当封装表数据记录到逻辑表中后,封装表将清空数据。本申请实施例提供的封装表的格式示例如表1所示:
表1
其中,智能模型的训练方法,可以包括如下步骤:
步骤1:获取某一行业公开数据集,如知识服务平台、开源数据平台等。
步骤2:a、构建行业规则算法,提取数据特征;b、构建机器学习模型,提取字符串、文本统计等特征;c、利用诸如Bert之类的模型,提取文本语义特征。
步骤3:特征重组、重编码并进行标准向量化,并构训练集和测试集。
步骤4:构建学习网络,包括但不限于深度学习网络、机器学习网络,构建结果评价指标,使用步骤3的训练集和测试集,训练模型,并达到预设评价指标,即可获得一套可适配的预设智能映射中的智能模型。
3.2映射功能,用于构建逻辑表。根据字段分拆规则,分拆封装表,构建第一逻辑表和第二逻辑表,并保存样表数据。
步骤1:根据预设数据映射规则,将物理表概述元数据信息写入第一逻辑表,所述物理表概述元数据信息包括数据库表位置信息、源文件位置信息、表行数和表列数等。
步骤2:根据预设数据映射规则,将物理表详细元数据写入第二逻辑表,所述物理表详细元数据包括列名、相关表、表主题等。
逻辑表是有预设格式的数据表,其格式可以根据封装表的格式进行自动或者半自动的编辑,数据来源于封装表。自动编辑指按照封装表预设好的字段,在修改逻辑表时,自动对照并增删字段;半自动编辑是指先修改逻辑表中的字段,待到封装表映射到逻辑表的时候,再自动填充字段数据。
逻辑表按照物理表的元数据的唯一性分为两类,第一逻辑表用于记录物理表概述元数据,如表2所示。第二逻辑表用于记录物理表详细元数据,如表3所示。
表2
表3
Relevance_table相关表是指构造目标表的物理表集合。
将解析完所有在Web端注册的数据库/表文件,构建虚拟数据库,使得用户可以纵观企业所有数据资源,帮助用户快速查询所需数据。
第四方面,统一数据访问接口模块。用于进行统一API(Application ProgrammingInterface,应用程序接口)输入和统一标准API查询。上述第一逻辑表、第二逻辑表和样表自动生成API,可通过统一访问接口API进行机制查询。样表是目标表的样本数据表。
统一API输入可以基于Restful、SOAP架构进行。统一标准SQL查询指用户只需要输入标准的SQL语句,就能查询到数据结果,这个数据结果可以来源于不同数据库的不同表,例如MySQL、MongoDB等数据库。统一标准SQL查询的步骤可以包括:用户输入的标准的SQL语句按照limit、group by、join等关键词进行拆分,再根据实际数据库或文件进行查询,将查询返回的数据按照关键词进行聚合,最后按照前端形式组装和展示。
“统一访问接口API”有多种API类型,其中一种就是标准SQL查询,图3示出了本申请实施例提供的基于SQL的统一标准API查询流程示意图。
步骤1:在查询入口,由用户输入标准SQL语句,select*from a,b[映射条件]。
步骤2:解析目标表获取待查询表名。目标表指封装的目标,它由业务或用户定义,可能由单/多张表构成。
步骤3:判断待查询表名是否为数据库中的逻辑表的表名,若是,执行步骤4;若不是,执行步骤5;
步骤4:从SQL语句中获取列名(*表示)和映射条件,解析得到逻辑表查询结果,并展示。
步骤5:根据映射条件判断所述待查询表名与逻辑表中记录的表名、相关表和列名是否匹配;具体来说,判断逻辑表中按表ID分组的相关表的表名是否与步骤2获取的待查询表名一致,若一致,判断该组的字段名是否包含查询待返回的列名,若包含,则执行步骤6;否则,执行步骤7。
步骤6:再判断映射条件是否匹配,若匹配,返回STable_site样表地址API,并执行步骤8;若不匹配,执行步骤7;
步骤7:根据待查询表名和映射条件构造封装表和映射逻辑表,并根据表ID覆盖原数据,即新增的替换掉原来的表。
步骤8:获取列名,根据列名查询样表数据;
步骤9:根据查询到的样表数据封装API。
综上所述,本申请实施例提供了基于结构化查询语言SQL的查询方法,通过解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;若不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;根据列名查询样表数据,返回样表查询结果并展示。可以快速查询多种异构数据源中的数据。
基于相同的技术构思,本申请实施例还提供了基于结构化查询语言SQL的查询系统,如图4所述,所述系统包括:
解析SQL模块401,用于解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;
逻辑表查询模块402,用于若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;
匹配模块403,用于若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;
构建模块404,用于若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名不匹配,或者所述映射条件不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;
所述逻辑表查询模块402,还用于根据列名查询样表数据,返回样表查询结果并展示。
在一种可能的实施方式中,所述系统还包括:
接入注册模块,用于获取异构数据源的数据库表、文件和数据接口;根据设置参数、注册模式和自定义SQL规则配置接入注册模块;
所述构建模块,用于基于数据库表根据封装模型和智能模型构造封装表;根据封装表映射逻辑表;
统一API模块,用于根据所述封装表和逻辑表生成API。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的电子设备。请参考图5,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。所述电子设备20可以包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个物理端口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的方法对应的计算机可读存储介质,请参考图6,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备有固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.基于结构化查询语言SQL的查询方法,其特征在于,所述方法包括:
解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;
若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;
若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;若不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;
根据列名查询样表数据,返回样表查询结果并展示。
2.如权利要求1所述的方法,其特征在于,在解析用户输入的SQL语句之前,所述方法还包括:
获取异构数据源的数据库表、文件和数据接口;
根据设置参数、注册模式和自定义SQL规则配置接入注册模块;
基于数据库表根据封装模型和智能模型构造封装表;
根据封装表映射逻辑表;
根据所述封装表和逻辑表生成应用程序接口API。
3.如权利要求2所述的方法,其特征在于,所述基于数据库表根据封装模型和智能模型构造封装表,包括:
基于数据库表根据封装模型获取第一元数据信息,对所述第一元数据信息拆分和封装,形成第一封装表;所述第一元数据信息包括数据库信息和数据表结构信息;
基于数据库表根据智能模型获取第二元数据信息,对所述第二元数据信息进行解析,得到数据表业务相关信息和业务标签信息,再对解析后的信息进行拆分和封装,形成第二封装表;所述第二元数据信息包括源文件位置信息、数据接口位置信息、权限信息和源文件结构信息;
将所述第一封装表和第二封装表根据预设的封装表合并,形成一个封装表。
4.如权利要求3所述的方法,其特征在于,所述智能模型的训练方法包括:
获取行业公开数据集;
基于所述行业数据集根据行业规则算法提取数据特征;以及根据机器学习模型提取字符串和文本统计特征;以及根据语义模型提取文本语义特征;
针对数据特征、字符串和文本统计特征和文本语义特征进行特征重组、重编码和标准向量化,构建训练集和测试集;
基于智能模型学习网络进行模型训练,训练出智能模型。
5.如权利要求2所述的方法,其特征在于,所述根据封装表映射逻辑表,包括:
根据预设数据映射规则,将封装表的物理表概述元数据信息写入第一逻辑表,所述物理表概述元数据信息包括数据库表位置信息、源文件位置信息、表行数和表列数;
根据预设数据映射规则,将封装表的物理表详细元数据写入第二逻辑表,所述物理表详细元数据包括列名、相关表和表主题。
6.如权利要求1所述的方法,其特征在于,所述根据所述待查询表名和映射条件构造封装表和逻辑表,包括:
基于所述待查询表名和映射条件根据封装模型和智能模型构造封装表;
根据封装表映射逻辑表。
7.基于结构化查询语言SQL的查询系统,其特征在于,所述系统包括:
解析SQL模块,用于解析用户输入的SQL语句,得到SQL语句中的待查询表名、列名和映射条件;
逻辑表查询模块,用于若所述待查询表名在数据库中为逻辑表的表名,则根据所述待查询表名和映射条件查询逻辑表,得到逻辑表查询结果并展示;
匹配模块,用于若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名匹配,且所述映射条件匹配,则返回样表地址;
构建模块,用于若所述待查询表名在数据库中不是逻辑表的表名,以及所述待查询表名与逻辑表中记录的表名、相关表和列名不匹配,或者所述映射条件不匹配,则根据所述待查询表名和映射条件构造封装表和逻辑表,并根据表ID覆盖原表数据;
所述逻辑表查询模块,还用于根据列名查询样表数据,返回样表查询结果并展示。
8.如权利要求1所述的系统,其特征在于,所述系统还包括:
接入注册模块,用于获取异构数据源的数据库表、文件和数据接口;根据设置参数、注册模式和自定义SQL规则配置接入注册模块;
所述构建模块,用于基于数据库表根据封装模型和智能模型构造封装表;根据封装表映射逻辑表;
统一API模块,用于根据所述封装表和逻辑表生成API。
9.一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1-6任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210121511.3A CN114625732B (zh) | 2022-02-09 | 2022-02-09 | 基于结构化查询语言sql的查询方法和系统 |
PCT/CN2023/074683 WO2023151543A1 (zh) | 2022-02-09 | 2023-02-07 | 基于结构化查询语言sql的查询方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210121511.3A CN114625732B (zh) | 2022-02-09 | 2022-02-09 | 基于结构化查询语言sql的查询方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114625732A true CN114625732A (zh) | 2022-06-14 |
CN114625732B CN114625732B (zh) | 2023-06-20 |
Family
ID=81898455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210121511.3A Active CN114625732B (zh) | 2022-02-09 | 2022-02-09 | 基于结构化查询语言sql的查询方法和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114625732B (zh) |
WO (1) | WO2023151543A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541752A (zh) * | 2023-07-06 | 2023-08-04 | 杭州美创科技股份有限公司 | 元数据管理方法、装置、计算机设备及存储介质 |
WO2023151543A1 (zh) * | 2022-02-09 | 2023-08-17 | 杭州未名信科科技有限公司 | 基于结构化查询语言sql的查询方法和系统 |
CN116955366A (zh) * | 2023-09-21 | 2023-10-27 | 宝略科技(浙江)有限公司 | 一种数据导入处理方法、系统、装置及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149888B (zh) * | 2023-11-01 | 2024-02-13 | 建信金融科技有限责任公司 | 数据处理的方法、装置、设备和计算机可读介质 |
CN117610506B (zh) * | 2023-11-24 | 2024-04-30 | 中国人民解放军军事科学院系统工程研究院 | 一种文本信息提取方法及装置 |
CN117331926B (zh) * | 2023-12-01 | 2024-03-01 | 太平金融科技服务(上海)有限公司 | 一种数据稽核方法、装置、电子设备和存储介质 |
CN117349267B (zh) * | 2023-12-04 | 2024-03-22 | 和元达信息科技有限公司 | 一种数据库迁移处理方法及系统 |
CN118210818B (zh) * | 2024-05-16 | 2024-08-20 | 武汉人工智能研究院 | Sql语句生成方法、装置、电子设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682147A (zh) * | 2016-12-22 | 2017-05-17 | 北京锐安科技有限公司 | 一种基于海量数据的查询方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868411B (zh) * | 2016-04-27 | 2019-07-19 | 国网上海市电力公司 | 一种非关系型与关系型数据库一体化数据查询方法与系统 |
CN106372176B (zh) * | 2016-08-30 | 2019-07-23 | 东华大学 | 一种支持对嵌套文档进行统一sql查询的方法 |
CN108363746B (zh) * | 2018-01-26 | 2022-07-26 | 福建星瑞格软件有限公司 | 一种支持多源异构数据的统一sql查询系统 |
CN112527876A (zh) * | 2020-12-08 | 2021-03-19 | 国网四川省电力公司信息通信公司 | 基于多源异构数据分析的统一数据库访问系统 |
CN113297250A (zh) * | 2021-05-28 | 2021-08-24 | 北京思特奇信息技术股份有限公司 | 一种分布式数据库多表关联查询的方法及系统 |
CN114625732B (zh) * | 2022-02-09 | 2023-06-20 | 杭州未名信科科技有限公司 | 基于结构化查询语言sql的查询方法和系统 |
-
2022
- 2022-02-09 CN CN202210121511.3A patent/CN114625732B/zh active Active
-
2023
- 2023-02-07 WO PCT/CN2023/074683 patent/WO2023151543A1/zh unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106682147A (zh) * | 2016-12-22 | 2017-05-17 | 北京锐安科技有限公司 | 一种基于海量数据的查询方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023151543A1 (zh) * | 2022-02-09 | 2023-08-17 | 杭州未名信科科技有限公司 | 基于结构化查询语言sql的查询方法和系统 |
CN116541752A (zh) * | 2023-07-06 | 2023-08-04 | 杭州美创科技股份有限公司 | 元数据管理方法、装置、计算机设备及存储介质 |
CN116541752B (zh) * | 2023-07-06 | 2023-09-15 | 杭州美创科技股份有限公司 | 元数据管理方法、装置、计算机设备及存储介质 |
CN116955366A (zh) * | 2023-09-21 | 2023-10-27 | 宝略科技(浙江)有限公司 | 一种数据导入处理方法、系统、装置及存储介质 |
CN116955366B (zh) * | 2023-09-21 | 2023-12-22 | 宝略科技(浙江)有限公司 | 一种数据导入处理方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023151543A1 (zh) | 2023-08-17 |
CN114625732B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114625732B (zh) | 基于结构化查询语言sql的查询方法和系统 | |
US9146994B2 (en) | Pivot facets for text mining and search | |
EP1383056A2 (en) | Querying an object-relational database system | |
US11334549B2 (en) | Semantic, single-column identifiers for data entries | |
KR20170019352A (ko) | 데이터 질의 방법 및 장치 | |
CN103425780A (zh) | 一种数据的查询方法和装置 | |
CN108984155A (zh) | 数据处理流程设定方法和装置 | |
CN110555035A (zh) | 一种对查询语句进行优化的方法、装置 | |
CN112182045B (zh) | 元数据管理方法、装置、计算机设备及存储介质 | |
CN111198898B (zh) | 大数据查询方法及大数据查询装置 | |
Chaves-Fraga et al. | Enhancing virtual ontology based access over tabular data with Morph-CSV | |
Reniers et al. | Object to NoSQL Database Mappers (ONDM): A systematic survey and comparison of frameworks | |
CN113434533A (zh) | 一种数据溯源工具构建方法、数据处理方法、装置及设备 | |
Stravoskoufos et al. | SOWL QL: Querying spatio-temporal ontologies in OWL | |
CN116795859A (zh) | 数据分析方法、装置、计算机设备和存储介质 | |
CN114116767A (zh) | 数据库sql查询语句转换方法及装置 | |
CN114297204A (zh) | 一种异构数据源的数据存储、检索方法及装置 | |
CN117492756A (zh) | 一种低代码平台可拖拽表单与列表的前端设计方法、装置 | |
CN115952203B (zh) | 数据查询方法、设备、系统及存储介质 | |
Chacko et al. | Capturing provenance for big data analytics done using SQL interface | |
CN116610700A (zh) | 查询语句检测方法及装置、存储介质 | |
Hrubaru et al. | A basic testbed for json data processing in sql data servers | |
KR20010109206A (ko) | 네트워크 정보 통합 질의 인터페이스를 위한 방법 및장치 | |
CN112463814A (zh) | 一种数据查询方法及装置 | |
Fletcher et al. | A methodology for coupling fragments of XPath with structural indexes for XML documents |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |