查询方法、装置、计算机设备和存储介质与流程

文档序号:21630890发布日期:2020-07-29 02:40阅读:205来源:国知局
查询方法、装置、计算机设备和存储介质与流程

本申请涉及计算机技术领域,特别是涉及一种查询方法、装置、计算机设备和存储介质。



背景技术:

目前,查询功能的应用非常广泛,能够使用户方便快捷地找到自己想要的数据,所以大部分软件存在查询功能。

随着数据规模增大,查询功能都有其共同的局限性,就是在查询条件上,都是先固定好查询字段或者是查询的全局字段,然后使用键值对对应的关系数据去查询。此方式的扩展性不强,不能够很好地动态扩展查询条件的键值,所以不能完全按照用户的想法去组合查询条件。若查询条件局限性大,则不能灵活的方便用户查询,提供一种支持动态扩展查询条件,且方便用户使用的查询方法尤为重要。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种查询方法、装置、计算机设备和存储介质,支持查询数据的动态扩展,只需要修改配置的数据,就能达到修改查询结构的目的,提高了查询的可扩展性和便利性。

一种查询方法,所述方法包括:

获取查询字符串,所述查询字符串包括自定义的查询表达式;

解析所述查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取所述基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据所述子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果;

当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到所述查询字符串对应的目标查询结果;

当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果。

在其中一个实施例中,所述获取查询字符串之后,还包括:

对所述查询字符串进行检测,当所述查询字符串存在错误时,进行修复得到修复后的查询字符串,所述修复包括以下方式中的至少一种:

当所述查询字符串存在错误字段时,获取所述错误字段对应的当前条件语句,删除所述错误字段对应的错误字段语句和当前条件语句;

当所述查询字符串存在多余字段时,将所述多余字段对应的字段语句进行删除;

当所述查询字符串存在语法错误时,将错误的语法连接符进行修正。

在其中一个实施例中,所述根据所述子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果包括:

当所述第一类型子查询单元对应的目标查询方式为精准查询时,确定所述第一类型子查询单元对应的目标查询数据库为关系型数据库,当所述第二类型子查询单元对应的目标查询方式为模糊查询时,确定所述第二类型子查询单元对应的目标查询数据库为检索型数据库,根据所述第二类型子查询单元在检索型数据库中查询得到对应的第二查询结果;

所述当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果包括:

将所述第二查询结果写入所述第一类型子查询单元对应的关系型数据库,将各个子查询单元组合形成完整查询单元,根据所述完整查询单元在关系型数据库中查询得到所述目标查询结果。

在其中一个实施例中,所述方法还包括:

获取新增数据表,将所述查询数据库的原始候选字段与所述新增数据表中的字段进行对比,当所述新增数据表中存在新增字段时,将所述新增字段作为新增候选字段,为所述新增候选字段匹配对应的配置信息。

在其中一个实施例中,所述将所述查询数据库的原始候选字段与所述新增数据表中的字段进行对比包括:

当所述新增数据表中存在新增字段时,计算新增字段与各个原始候选字段的相似度;

获取与新增字段的相似度超过预设阈值的目标原始候选字段,建立新增字段与目标原始候选字段的关联关系,将目标原始候选字段对应的配置信息作为所述新增字段对应的配置信息。

一种查询装置,所述装置包括:

获取模块,用于获取查询字符串,所述查询字符串包括自定义的查询表达式;

子查询结果确定模块,用于解析所述查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取所述基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据所述子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果;

第一目标查询结果确定模块,用于当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到所述查询字符串对应的目标查询结果;

第二目标查询结果确定模块,用于当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果。

在其中一个实施例中,所述装置还包括:

处理模块,用于对所述查询字符串进行检测,当所述查询字符串存在错误时,进行修复得到修复后的查询字符串,所述修复包括以下方式中的至少一种:当所述查询字符串存在错误字段时,获取所述错误字段对应的当前条件语句,删除所述错误字段对应的错误字段语句和当前条件语句;当所述查询字符串存在多余字段时,将所述多余字段对应的字段语句进行删除;当所述查询字符串存在语法错误时,将错误的语法连接符进行修正。

在其中一个实施例中,所述子查询结果确定模块还用于当所述第一类型子查询单元对应的目标查询方式为精准查询时,确定所述第一类型子查询单元对应的目标查询数据库为关系型数据库,当所述第二类型子查询单元对应的目标查询方式为模糊查询时,确定所述第二类型子查询单元对应的目标查询数据库为检索型数据库,根据所述第二类型子查询单元在检索型数据库中查询得到对应的第二查询结果;

所述第二目标查询结果确定模块还用于将所述第二查询结果写入所述第一类型子查询单元对应的关系型数据库,将各个子查询单元组合形成完整查询单元,根据所述完整查询单元在关系型数据库中查询得到所述目标查询结果。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取查询字符串,所述查询字符串包括自定义的查询表达式;

解析所述查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取所述基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据所述子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果;

当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到所述查询字符串对应的目标查询结果;

当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

获取查询字符串,所述查询字符串包括自定义的查询表达式;

解析所述查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取所述基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据所述子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果;

当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到所述查询字符串对应的目标查询结果;

当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果。

上述查询方法、装置、计算机设备和存储介质,通过获取查询字符串,查询字符串包括自定义的查询表达式,解析查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果;当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到查询字符串对应的目标查询结果;当各个子查询单元对应的子查询结果为二次型查询结果时,子查询单元包括第一类型子查询单元和第二类型子查询单元,第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到查询字符串对应的目标查询结果。通过自定义的查询表达式查询条件和查询字段都由用户自主控制,自由组合,支持查询数据的动态扩展,且通过配置信息将各个基本查询单元形成对应的子查询单元,不同的子查询单元具有不同的目标查询方式,通过目标查询方式得到各个子查询单对应的子查询结果,再整合得到目标查询结果,只需要修改配置数据,从而修改基本查询单元对应的配置信息,就能达到修改查询结构的目的,灵活方便,提高了查询的可扩展性和便利性。

附图说明

图1为一个实施例中查询方法的应用环境图;

图2为一个实施例中查询方法的流程示意图;

图3为一个实施例中查询装置的结构框图;

图4为一个实施例中计算机设备的内部结构图;

图5为另一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的查询方法,可以应用于如图1所示的应用环境中。图1为一个实施例中查询方法运行的应用环境图。如图1所示,该应用环境包括终端110、服务器120。终端、服务器之间通过网络进行通信,通信网络可以是无线或者有线通信网络,例如ip网络、蜂窝移动通信网络等,其中终端和服务器的个数不限。

其中,终端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。查询方法可以应用于终端也可以应用于服务器。当应用于服务器时,可以由终端接收输入的查询字符串,将携带查询字符串的查询请求发送至服务器,服务器根据查询字符串确定对应的目标查询结果。终端或服务器上可以存在多个不同类型的查询数据库供不同配置信息的基本查询单元进行查询。

在一个实施例中,如图2所示,提供了一种查询方法,以该方法应用于图1中的终端110或服务器120为例进行说明,包括以下步骤:

步骤210,获取查询字符串,查询字符串包括自定义的查询表达式。

其中,查询字符串用于描述查询条件,可根据查询的内容自定义。

具体地,查询字符串包括自定义的查询表达式,从而用户可以很灵活的组合查询条件。例如:“男[性别]and湖南[地址]or肝癌[电子病历]”,其中,以空格作为条件和连接符的分割,中括号左边的数据是查询条件语句,中括号里面的数据是需要查询的字段,and和or是各条件之间的连接符,可通过专门的解析工具对自定义的查询表达式进行解析,所有的查询条件和查询字段都由用户自主控制,自由组合,极大地提高了查询的灵活性。

可通过统一的输入入口接收查询字符串,查询字符串的字段可根据查询的内容自定义,如对于医药数据的查询,字段语句可包括病种名称、药品名称等。对于多媒体数据的查询,字段语句可包括电影名称、歌曲名称等。对于交通信息的查询,字段语句可包括路段名称,地名等。当查询方法应用于终端时,通过查询界面接收查询字符串,当查询方法应用于服务器时,可接收终端发送的查询请求,查询请求中包括查询字符串。

在一个实施例中,在查询页面包括字段提示信息,字段提示信息包括候选查询字段,便于用户从候选查询字段选择目标查询字段,确定目标查询字段确定对应的查询条件语句,从而组成自定义的查询表达式。

步骤220,解析查询表达式,根据查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,配置信息用于确定子查询单元对应的目标查询方式,根据所述子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果。

具体地,解析查询表达式时可自定义解析算法,如从左向右依次解析,识别分割符,得到各个基本查询单元,基本查询单元包括字段语句,可预先对不同类型的字段语句配置不同类型的配置信息,配置信息用于确定目标查询方式,目标查询方式包括查询数据源、查询数据表、查询数据库等。如性别,名字这种具有准确信息的字段配置第一类型数据库,病种由于在不同的国家和地区可能具有多个不同的相似的名称,所以对于病种字段则配置第二类型数据库。还可对不同的字段配置不同的查询数据表,预存字段名称与查询数据表标识、查询数据源标识、查询数据库标识的匹配关系。

从而根据匹配关系将基本查询单元进行组合,可根据基本查询单元的配置,具有相同配置的基本查询单元,组合时注意各个基本查询单元的顺序,即连续出现且具有相同目标查询方式的基本查询单元组合形成一个子查询单元,如第一基本查询单元和第二基本查询单元是相邻的基本查询单元,且具有相同的查询数据库,则第一基本查询单元和第二基本查询单元形成第一子查询单元。

通过将相同配置信息的基本查询单元形成子查询单元,由于子查询单元具有相同的目标查询方式,如相同的查询数据库,相同的查询方式,从而将多个基本查询单元的查询转换为通过子查询单元进行一次查询,提高了查询效率。

步骤230,当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到查询字符串对应的目标查询结果。

具体地,当子查询单元包括多个时,对应多个子查询结果,可通过自定义的算法对各个子查询结果进行处理得到查询字符串对应的目标查询结果。处理的方式不限定,当各个子查询单元对应的子查询结果为组合型查询结果时,直接将各个子查询结果进行组合得到查询字符串对应的目标查询结果。

步骤240,当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到查询字符串对应的目标查询结果。

具体地,二次型查询结果表示需要根据子查询结果再次查询确定对应的目标查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,更新操作可自定义,包括修改,写入等,将查询字符串在更新后的第一类型子查询单元对应的查询数据库中进行查询得到查询字符串对应的目标查询结果。

本实施例中,通过获取查询字符串,查询字符串包括自定义的查询表达式,解析查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,配置信息用于确定子查询单元对应的目标查询方式,根据子查询单元对应的目标查询方式得到子查询单元对应的子查询结果;当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到所述查询字符串对应的目标查询结果;当各个子查询单元对应的子查询结果为二次型查询结果时,所述子查询单元包括第一类型子查询单元和第二类型子查询单元,第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到查询字符串对应的目标查询结果,通过自定义的查询表达式查询条件和查询字段都由用户自主控制,自由组合,支持查询数据的动态扩展,且通过配置信息将各个基本查询单元形成对应的子查询单元,不同的子查询单元具有不同的目标查询方式,通过目标查询方式得到各个子查询单对应的子查询结果,再整合得到目标查询结果,只需要修改配置数据,从而修改基本查询单元对应的配置信息,就能达到修改查询结构的目的,灵活方便,提高了查询的可扩展性和便利性。

在一个实施例中,获取查询字符串之后,方法还包括:对查询字符串进行检测,当查询字符串存在错误时,进行修复得到修复后的查询字符串,修复包括以下方式中的至少一种:当查询字符串存在错误字段时,获取错误字段对应的当前条件语句,删除错误字段对应的错误字段语句和当前条件语句;当查询字符串存在多余字段时,将多余字段对应的字段语句进行删除;当查询字符串存在语法错误时,将错误的语法连接符进行修正。

具体地,错误字段是指在查询数据库中不存在的字段,在一个实施例中,当字段语句对应的当前字段在查询数据库中不存在时,获取当前字段对应的相似字段,当相似字段在查询数据库中不存在时,判定当前字段为错误字段。从而对用户自主输入的字段进行相似字段的修正,提高了检索的灵活性。当存在错误字段时,由于无法查询得到匹配的结果,则需要将错误字段对应的错误字段语句和当前条件语句进行删除。其中,未知字段可以为错误字段的一种。多余字段是指查询字符串中多出的字段,如一个条件语句对应多个字段语句,则不知条件语句具体对应哪个字段,需要将多出的字段进行删除。如男[性别]30[年龄][金额],其中[年龄][金额]中需要删除一个,删除时可将与条件语句距离较远的字段删除或将多余字段与上下文字段进行匹配,匹配成功的保留,不成功的删除。如上下文字段为娱乐类字段,多余字段为医学类字段,则明显匹配不成功。语法错误包括少写了关联词and\or,如男[性别]30[年龄],或者多个and\or直接相连如男[性别]andorand30[年龄]等连接符使用错误。

本实施例中,通过对查询字符串进行检测修复,提高了查询的容错能力。

在一个实施例中,步骤220包括:当第一类型子查询单元对应的目标查询方式为精准查询时,确定第一类型子查询单元对应的目标查询数据库为关系型数据库,当第二类型子查询单元对应的目标查询方式为模糊查询时,确定第二类型子查询单元对应的目标查询数据库为检索型数据库,根据第二类型子查询单元在检索型数据库中查询得到对应的第二查询结果。

具体地,关系型数据库查询比较固定,适用于姓名手机号等固定查询,如orcle数据库,检索型数据库用于模糊查询,类似于百度搜索,如solr数据库。当配置为精准查询方式时,适合在关系型数据库中进行查询,当配置为模糊查询时,适合在检索型数据库中进行查询,得到第二查询结果。如男[性别]and湖南[地址]or肝癌[电子病历]可配置为‘肝癌[电子病历]’去solr数据库查询,其余条件去oracle中查询。

步骤240包括:将第二查询结果写入第一类型子查询单元对应的关系型数据库,将各个子查询单元组合形成完整查询单元,根据完整查询单元在关系型数据库中查询得到目标查询结果。

具体地,将第二查询结果写入关系型数据库,如可以将solr数据库中查询得到的第二查询结果转换为oracle数据库可识别的数据写入oracle数据库,再用男[性别]and湖南[地址]or肝癌[电子病历]完整的字符串,用oracle方式去查询得到目标查询结果。

本实施例中,查询表达式能够通过解析,把数据拆解成各种子查询单元,然后根据配置到不同类型的数据库中查询数据,最后把查询的数据整合在一起,将不同的字段配置不同的数据库,提高了查询的准确度,能自适应地进行查询。

在一个实施例中,方法还包括:获取新增数据表,将查询数据库的原始候选字段与新增数据表中的字段进行对比,当新增数据表中存在新增字段时,将新增字段作为新增候选字段,为新增候选字段匹配对应的配置信息。

具体地,原始候选字段可以为数据库的初始默认候选字段,也可以为历史候选字段。因为不同的用户数据不同,初始默认候选字段可能无法满足用户的数据中的字段要求,则当用户的新增数据表中存在查询数据库的原始候选字段中不存在的字段时,需要将新增字段添加为新增候选字段。并为新增候选字段匹配对应的配置信息,配置信息包括查询方式,查询数据库等。从而在后续查询时,对于新增字段采用与配置信息匹配的目标查询方式进行查询。候选字段可显示在查询页面中作为字段提示信息,便于用户从候选字段选择目标查询字段。

本实施例中,当存在新增字段时,为新增候选字段匹配对应的配置信息,使得查询数据库不断的扩展,查询的可选字段不断地增加。

在一个实施例中,将查询数据库的原始候选字段与新增数据表中的字段进行对比包括:当新增数据表中存在新增字段时,计算新增字段与各个原始候选字段的相似度,获取与新增字段的相似度超过预设阈值的目标原始候选字段,建立新增字段与目标原始候选字段的关联关系,将目标原始候选字段对应的配置信息作为新增字段对应的配置信息。

具体地,当新增字段与原始候选字段的相似度超过预设阈值时,说明新增字段与原始候选字段为近义词,则将相似度超过预设阈值的原始候选字段作为目标原始候选字段,只需建立新增字段与目标原始候选字段的关联关系,后续在查询时,查询一个当前字段时可根据关联关系获取与其相似的字段,从而根据相似字段的配置信息为当前字段确定目标查询方式,进而查询得到对应的查询结果。通过相似字段的匹配,减少了无意义的新增字段,提高了查询的配置效率。

应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图3所示,提供了一种查询装置,包括:获取模块310、子查询结果确定模块320、第一目标查询结果确定模块330,第二目标查询结果确定模块340,其中:

获取模块310,用于获取查询字符串,查询字符串包括自定义的查询表达式。

子查询结果确定模块320,用于解析查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据子查询单元对应的目标查询方式得到子查询单元对应的子查询结果。

第一目标查询结果确定模块330,用于当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到查询字符串对应的目标查询结果。

第二目标查询结果确定模块340,用于当各个子查询单元对应的子查询结果为二次型查询结果时,子查询单元包括第一类型子查询单元和第二类型子查询单元,第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果。

在一个实施例中,装置还包括:

处理模块350,用于对查询字符串进行检测,当查询字符串存在错误时,进行修复得到修复后的查询字符串,修复包括以下方式中的至少一种:当查询字符串存在错误字段时,获取错误字段对应的当前条件语句,删除错误字段对应的错误字段语句和当前条件语句;当查询字符串存在多余字段时,将多余字段对应的字段语句进行删除;当查询字符串存在语法错误时,将错误的语法连接符进行修正。

在一个实施例中,子查询结果确定模块320还用于当第一类型子查询单元对应的目标查询方式为精准查询时,确定第一类型子查询单元对应的目标查询数据库为关系型数据库,当第二类型子查询单元对应的目标查询方式为模糊查询时,确定第二类型子查询单元对应的目标查询数据库为检索型数据库,根据第二类型子查询单元在检索型数据库中查询得到对应的第二查询结果。

第二目标查询结果确定模块340还用于将第二查询结果写入第一类型子查询单元对应的关系型数据库,将各个子查询单元组合形成完整查询单元,根据完整查询单元在关系型数据库中查询得到目标查询结果。

在一个实施例中,装置还包括:

新增字段模块360,用于获取新增数据表,将查询数据库的原始候选字段与新增数据表中的字段进行对比,当新增数据表中存在新增字段时,将新增字段作为新增候选字段,为新增候选字段匹配对应的配置信息。

在一个实施例中,新增字段模块360还用于当新增数据表中存在新增字段时,计算新增字段与各个原始候选字段的相似度,获取与新增字段的相似度超过预设阈值的目标原始候选字段,建立新增字段与目标原始候选字段的关联关系,将目标原始候选字段对应的配置信息作为新增字段对应的配置信息。

关于查询装置的具体限定可以参见上文中对于查询方法的限定,在此不再赘述。上述查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器执行一种查询方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据表。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种查询方法。

本领域技术人员可以理解,图4、图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取查询字符串,查询字符串包括自定义的查询表达式;解析查询表达式,根据所述查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取所述基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据子查询单元对应的目标查询方式查询得到子查询单元对应的子查询结果;当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到查询字符串对应的目标查询结果;当各个子查询单元对应的子查询结果为二次型查询结果时,子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到查询字符串对应的目标查询结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:对查询字符串进行检测,当查询字符串存在错误时,进行修复得到修复后的查询字符串,修复包括以下方式中的至少一种:当查询字符串存在错误字段时,获取错误字段对应的当前条件语句,删除错误字段对应的错误字段语句和当前条件语句;当查询字符串存在多余字段时,将多余字段对应的字段语句进行删除;当查询字符串存在语法错误时,将错误的语法连接符进行修正。

在一个实施例中,根据子查询单元对应的目标查询方式查询得到子查询单元对应的子查询结果包括:当第一类型子查询单元对应的目标查询方式为精准查询时,确定第一类型子查询单元对应的目标查询数据库为关系型数据库,当第二类型子查询单元对应的目标查询方式为模糊查询时,确定第二类型子查询单元对应的目标查询数据库为检索型数据库,根据第二类型子查询单元在检索型数据库中查询得到对应的第二查询结果。所述当各个子查询单元对应的子查询结果为二次型查询结果时,子查询单元包括第一类型子查询单元和第二类型子查询单元,第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果包括:将第二查询结果写入第一类型子查询单元对应的关系型数据库,将各个子查询单元组合形成完整查询单元,根据完整查询单元在关系型数据库中查询得到目标查询结果。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取新增数据表,将查询数据库的原始候选字段与所述新增数据表中的字段进行对比,当新增数据表中存在新增字段时,将新增字段作为新增候选字段,为新增候选字段匹配对应的配置信息。

在一个实施例中,所述将查询数据库的原始候选字段与新增数据表中的字段进行对比包括:当新增数据表中存在新增字段时,计算新增字段与各个原始候选字段的相似度;获取与新增字段的相似度超过预设阈值的目标原始候选字段,建立新增字段与目标原始候选字段的关联关系,将目标原始候选字段对应的配置信息作为新增字段对应的配置信息。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取查询字符串,查询字符串包括自定义的查询表达式;解析查询表达式,根据查询表达式中的连接符将查询表达式进行分割得到对应的基本查询单元,所述基本查询单元包括条件语句和字段语句,获取所述基本查询单元对应的配置信息,根据基本查询单元的顺序将相同配置信息的基本查询单元形成子查询单元,所述配置信息用于确定子查询单元对应的目标查询方式,根据子查询单元对应的目标查询方式查询得到所述子查询单元对应的子查询结果;当各个子查询单元对应的子查询结果为组合型查询结果时,将各个子查询结果组合得到查询字符串对应的目标查询结果;当各个子查询单元对应的子查询结果为二次型查询结果时,子查询单元包括第一类型子查询单元和第二类型子查询单元,所述第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到查询字符串对应的目标查询结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对查询字符串进行检测,当查询字符串存在错误时,进行修复得到修复后的查询字符串,修复包括以下方式中的至少一种:当查询字符串存在错误字段时,获取错误字段对应的当前条件语句,删除错误字段对应的错误字段语句和当前条件语句;当查询字符串存在多余字段时,将多余字段对应的字段语句进行删除;当查询字符串存在语法错误时,将错误的语法连接符进行修正。

在一个实施例中,所述根据子查询单元对应的目标查询方式查询得到子查询单元对应的子查询结果:当第一类型子查询单元对应的目标查询方式为精准查询时,确定第一类型子查询单元对应的目标查询数据库为关系型数据库,当第二类型子查询单元对应的目标查询方式为模糊查询时,确定第二类型子查询单元对应的目标查询数据库为检索型数据库,根据第二类型子查询单元在检索型数据库中查询得到对应的第二查询结果。所述当各个子查询单元对应的子查询结果为二次型查询结果时,子查询单元包括第一类型子查询单元和第二类型子查询单元,第二类型子查询单元存在对应的第二查询结果,通过第二查询结果更新第一类型子查询单元对应的查询数据库,根据更新的查询数据库检索得到所述查询字符串对应的目标查询结果包括:将第二查询结果写入第一类型子查询单元对应的关系型数据库,将各个子查询单元组合形成完整查询单元,根据完整查询单元在关系型数据库中查询得到目标查询结果。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取新增数据表,将查询数据库的原始候选字段与所述新增数据表中的字段进行对比,当新增数据表中存在新增字段时,将新增字段作为新增候选字段,为新增候选字段匹配对应的配置信息。

在一个实施例中,所述将查询数据库的原始候选字段与新增数据表中的字段进行对比包括:当新增数据表中存在新增字段时,计算新增字段与各个原始候选字段的相似度;获取与新增字段的相似度超过预设阈值的目标原始候选字段,建立新增字段与目标原始候选字段的关联关系,将目标原始候选字段对应的配置信息作为新增字段对应的配置信息。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1