掌桥专利:专业的专利平台
掌桥专利
首页

基于结构化查询语言的数据查询方法、装置、设备及存储介质

文献发布时间:2023-06-19 13:29:16


基于结构化查询语言的数据查询方法、装置、设备及存储介质

技术领域

本发明涉及计算机技术领域,具体涉及一种基于结构化查询语言的数据查询方法、一种基于结构化查询语言的数据查询装置、一种基于结构化查询语言的数据查询设备以及一种计算机存储介质。

背景技术

随着现代互联网技术的快速发展,存储在数据库内的数据量也越来越多。

目前,为了提高用户从数据库中获取数据的效率,通常使用搜索工具在数据库中搜索所需的数据。

现有的搜索工具通常都是向用户展示一个交互界面,交互界面上设置有多个搜索条件不同的搜索栏,按照搜索侧重点的要求在不同的搜索栏内输入相应的搜索词来查询用户所需的数据。

在现有技术中,现有搜索工具展示给用户的交互界面都是固定的,用户只能按照交互界面上固定的搜索条件搜索所需的数据,搜索方式极为的不灵活。

发明内容

本发明提供一种基于结构化查询语言的数据查询,能够解决现有搜索工具的搜索方式极为的不灵活的技术问题。

本发明解决上述技术问题的技术方案如下:

根据本发明的第一方面,提供了一种基于结构化查询语言的数据查询方法,包括:

接收用户在文本文档内输入的数据查询语句;

根据所述数据查询语句,生成携带有查询关键词的树形结构数据;

针对每个待查询的数据库,根据该数据库的查询类型和所述树形结构数据,生成该数据库对应的检索式,并根据所述检索式检索该数据库,获得所述数据查询语句对应的查询数据;

将所述数据查询语句对应的查询数据返回给所述用户。

可选地,其中,所述数据查询语句包括:查询数据源的名称、显示的字段名称、过滤条件、排序规则或跳过最初的数据条数中的至少一个。

可选地,其中,根据所述数据查询语句,生成携带有查询关键词的树形结构数据,包括:

对所述数据查询语句进行语义分析,确定所述数据查询语句的查询关键词;

将所述数据查询语句的查询关键词添加到树形结构中,生成携带有查询关键词的树形结构数据。

可选地,其中,对所述数据查询语句进行语义分析,确定所述数据查询语句的查询关键词,包括:

根据预设的词语列表,确定并提取所述数据查询语句内的关键词,得到所述数据查询语句对应的关键词列表,其中,所述关键词列表内包括关键词的名称、关键词的位置信息以及关键词对应的原始文本;

根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词。

可选地,其中,对所述数据查询语句进行语义分析,确定所述数据查询语句的查询关键词,包括:

对所述数据查询语句进行切词处理,得到词语序列;

获取所述词语序列中指定词性的词语;

将获取到的词语作为关键词,得到所述数据查询语句对应的关键词列表,其中,所述关键词列表内包括关键词的名称、关键词的位置信息以及关键词对应的原始文本;

根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词。

可选地,其中,根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词,包括:

对所述数据查询语句对应的关键词列表内的每个关键词进行语法分析,确定每个关键词是否符合语法结构;

将符合语法结构的关键词确定为所述数据查询语句的查询关键词。

可选地,其中,所述查询关键词的词性为谓词词性。

根据本发明的第二方面,提供了一种基于结构化查询语言的数据查询装置,包括:

接收模块,用于接收用户在文本文档内输入的数据查询语句;

生成模块,用于根据所述数据查询语句,生成携带有查询关键词的树形结构数据;

查询模块,用于针对每个待查询的数据库,根据该数据库的查询类型和所述树形结构数据,生成该数据库对应的检索式,并根据所述检索式检索该数据库,获得所述数据查询语句对应的查询数据;

返回模块,用于将所述数据查询语句对应的查询数据返回给所述用户。

根据本发明的第三方面,提供了一种基于结构化查询语言的数据查询设备,包括基于结构化查询语言的数据查询装置;或者,

所述设备包括:处理器和存储器;

所述存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据第一方面中任一项所述的方法。

根据本发明的第三方面,提供了一种计算机存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如第一方面中任一项所述的方法。

本发明的有益效果是:通过结构化查询语言构建的搜索方式,可以使用户能够在文本文档内根据自己的搜索需求,灵活设计复杂的数据查询语句,大大提高了搜索方式的灵活性。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1为本发明实施例提供的一种基于结构化查询语言的数据查询方法的流程图;

图2为本发明实施例提供的一种基于结构化查询语言的数据查询装置的结构示意图;

图3为本发明实施例提供的一种基于结构化查询语言的数据查询设备的结构示意图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<方法实施例>

本发明实施例提供一种基于结构化查询语言的数据查询方法,如图1所示,具体步骤如下:

S101:接收用户在文本文档内输入的数据查询语句。

在本发明实施例中,用户在数据库内查询所需数据的过程中,不再使用设置有多个搜索条件不同的搜索栏的交互界面,而是直接打开空白的文本文档,并在文本文档内输入数据查询语句。

在此需要说明的是,数据查询语句所包括的数据字段是预先设计好的,可以是查询数据源的名称、显示的字段名称、过滤条件、排序规则或跳过最初的数据条数中的至少一个,另外,还可以根据实际情况在数据查询语句内添加其他数据字段。

在此还需要说明的是,查询数据源的名称的字段名称为FROM;显示的字段名称的字段名称为SELECT;过滤条件的字段名称为WHERE;排序规则的字段名称为ORDERBY;跳过最初的数据条数的字段名称为SKIP。

S102:根据所述数据查询语句,生成携带有查询关键词的树形结构数据。

进一步的,由于在数据库查询所需数据时需要使用到查询关键词,因此,在本发明实施例中,在接收到用户输入的数据查询语句之后,需要根据所述数据查询语句,生成携带有查询关键词的树形结构数据。

进一步的,由于查询关键词是基于数据查询语句而来的,因此,在本发明实施例中,根据所述数据查询语句,生成携带有查询关键词的树形结构数据的实施方式,具体可以对所述数据查询语句进行语义分析,确定所述数据查询语句的查询关键词;将所述数据查询语句的查询关键词添加到树形结构中,生成携带有查询关键词的树形结构数据。

在此需要说明的是,针对对所述数据查询语句进行语义分析,确定所述数据查询语句的查询关键词,本发明实施例提供了两种具体实施方式,如下所示:

第一种实施方式:根据预设的词语列表,确定并提取所述数据查询语句内的关键词,得到所述数据查询语句对应的关键词列表,其中,所述关键词列表内包括关键词的名称、关键词的位置信息以及关键词对应的原始文本,根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词。

在此需要说明的是,词语列表是预先设定的,如,词语列表包括:FROM、SELECT、WHERE、ORDERBY和SKIP;根据预设的词语列表,确定并提取所述数据查询语句内的关键词具体是针对词语列表内记载的每个词语,在数据查询语句内逐一匹配,如果在数据查询语句内匹配到词语列表内的词语,则将该词语作为关键词,并记录下关键词的位置信息(即,关键词在数据查询语句内的位置)以及关键词对应的原始文本,如,假设数据查询语句为FROM:A-SELECT:B,词语列表包括:FROM和SELECT,针对词语列表内的FROM匹配到数据查询语句内的FROM,则记录下关键词的名称FROM,关键词的位置信息第0字节,关键词对应的原始文本A;针对词语列表内的SELECT匹配到数据查询语句内的SELECT,则记录下关键词的名称SELECT,关键词的位置信息第7字节,关键词对应的原始文本B,根据确定出的关键词的名称FROM,关键词的位置信息第0字节,关键词对应的原始文本A、关键词的名称SELECT,关键词的位置信息第7字节,关键词对应的原始文本B,生成关键词列表。

第二种实施方式:获取所述词语序列中指定词性的词语;将获取到的词语作为关键词,得到所述数据查询语句对应的关键词列表,其中,所述关键词列表内包括关键词的名称、关键词的位置信息以及关键词对应的原始文本;根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词。

在此需要说明的是,指定词性可以是谓词词性,也可以是名词词性,还可以是形容词词性。

例如,假设指定的词性为谓词词性,数据查询语句为FROM:A-SELECT:B,获取词语序列中谓词词性的词语为FROM和SELECT,则将为FROM均作为关键词,记录下关键词的名称FROM,关键词的位置信息第0字节,关键词对应的原始文本A;将SELECT作为关键词,记录下关键词的名称SELECT,关键词的位置信息第7字节,关键词对应的原始文本B,根据确定出的关键词的名称FROM,关键词的位置信息第0字节,关键词对应的原始文本A、关键词的名称SELECT,关键词的位置信息第7字节,关键词对应的原始文本B,生成关键词列表。

在此还需要说明的是,无论第一种实施方式还是第二种实施方式,只要是无法识别的关键词,可以均返回错误信息并终止此次操作。

另外,由于关键词是要输入到数据库内进行查询的,也就是说关键词列表内的关键词必须要符合数据库的语法结构,因此,在本发明实施例中,上述两种实施方式提到的根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词具体可以是,对所述数据查询语句对应的关键词列表内的每个关键词进行语法分析,确定每个关键词是否符合语法结构;将符合语法结构的关键词确定为所述数据查询语句的查询关键词。

在此需要说明的是,对于关键词列表内不符合语法结构的关键词,可以返回错误信息并终止此次操作。

S103:针对每个待查询的数据库,根据该数据库的查询类型和所述树形结构数据,生成该数据库对应的检索式,并根据所述检索式检索该数据库,获得所述数据查询语句对应的查询数据。

进一步的,由于虽然树形结构数据内的查询关键词均符合语法结构,但是不同类型的数据库的检索方式存在差异,也就是不同类型的数据库所使用的检索式存在差异,因此,在本发明实施例中,需要针对每个待查询的数据库,根据该数据库的查询类型和所述树形结构数据,生成该数据库对应的检索式,并根据所述检索式检索该数据库,获得所述数据查询语句对应的查询数据,这样每种类型的数据库都会按照该数据库的查询类型和树形结构数据生成符合自己数据库查询规则的检索式,从而查询到用户所需的数据。

在此需要说明的是,所生成的检索式仅包含在此阶段能够确定的数据,对于一部分在查询执行的时候才能确定的数据,可以保留对这些数据的获取方式,等待查询运行的阶段填充。

S104:将所述数据查询语句对应的查询数据返回给所述用户。

进一步的,将每个数据库内查询到的数据查询语句对应的查询数据均返回给用户。

通过上述方法,通过结构化查询语言构建的搜索方式,可以使用户能够在文本文档内根据自己的搜索需求,灵活设计复杂的数据查询语句,大大提高了搜索方式的灵活性。

<装置实施例>

如图2所示,本发明实施例还提供了一种基于结构化查询语言的数据查询装置,包括:

接收模块201,用于接收用户在文本文档内输入的数据查询语句;

生成模块202,用于根据所述数据查询语句,生成携带有查询关键词的树形结构数据;

查询模块203,用于针对每个待查询的数据库,根据该数据库的查询类型和所述树形结构数据,生成该数据库对应的检索式,并根据所述检索式检索该数据库,获得所述数据查询语句对应的查询数据;

返回模块204,用于将所述数据查询语句对应的查询数据返回给所述用户。

所述数据查询语句包括:查询数据源的名称、显示的字段名称、过滤条件、排序规则或跳过最初的数据条数中的至少一个。

所述生成模块202具体用于,对所述数据查询语句进行语义分析,确定所述数据查询语句的查询关键词;将所述数据查询语句的查询关键词添加到树形结构中,生成携带有查询关键词的树形结构数据。

所述生成模块202还用于,根据预设的词语列表,确定并提取所述数据查询语句内的关键词,得到所述数据查询语句对应的关键词列表,其中,所述关键词列表内包括关键词的名称、关键词的位置信息以及关键词对应的原始文本;根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词。

所述生成模块202还用于,对所述数据查询语句进行切词处理,得到词语序列;获取所述词语序列中指定词性的词语;将获取到的词语作为关键词,得到所述数据查询语句对应的关键词列表,其中,所述关键词列表内包括关键词的名称、关键词的位置信息以及关键词对应的原始文本;根据所述数据查询语句对应的关键词列表,确定所述数据查询语句的查询关键词。

所述生成模块202还用于,对所述数据查询语句对应的关键词列表内的每个关键词进行语法分析,确定每个关键词是否符合语法结构;将符合语法结构的关键词确定为所述数据查询语句的查询关键词。

所述查询关键词的词性为谓词词性。

<设备实施例>

本发明实施例还提供了一种基于结构化查询语言的数据查询设备,如图3所示,该基于结构化查询语言的数据查询设备包括上述装置实施例中的基于结构化查询语言的数据查询装置。

或者,该基于结构化查询语言的数据查询设备包括存储器301和处理器302。其中,存储器用于存储可执行的指令,所述指令用于控制所述处理器执行根据上述方法实施例中任一项所述的方法。

<计算机存储介质>

本发明还提供一种计算机存储介质,所述存储介质存储有计算机指令,当所述存储介质中的计算机指令由处理器执行时,实现如上述方法实施例中任一项所述的方法。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

相关技术
  • 基于结构化查询语言的数据查询方法、装置、设备及存储介质
  • 基于结构化查询语言的数据查询方法、装置和系统
技术分类

06120113693457