书签 分享 收藏 举报 版权申诉 / 13

数据查询方法及装置.pdf

  • 上传人:111****112
  • 文档编号:6037306
  • 上传时间:2019-04-04
  • 格式:PDF
  • 页数:13
  • 大小:922.49KB
  • 摘要
    申请专利号:

    CN201510710825.7

    申请日:

    2015.10.27

    公开号:

    CN106611031A

    公开日:

    2017.05.03

    当前法律状态:

    实审

    有效性:

    审中

    法律详情:

    实质审查的生效IPC(主分类):G06F 17/30申请日:20151027|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    北京国双科技有限公司

    发明人:

    蔡波

    地址:

    100086 北京市海淀区知春路76号翠宫饭店写字楼8层

    优先权:

    专利代理机构:

    北京康信知识产权代理有限责任公司 11240

    代理人:

    韩建伟;李志刚

    PDF完整版下载: PDF下载
    内容摘要

    本发明公开了一种数据查询方法及装置。其中,该方法包括:获取用于指示数据查询方式的数据查询指令;检测获取的用于指示数据查询方式的数据查询指令中是否包含组合过滤条件;在检测结果为获取的用于指示数据查询方式的数据查询指令中包含组合过滤条件的情况下,依据数据查询指令所指示的基于组合过滤条件的数据查询方式进行数据查询。本发明解决了相关技术中由于只能处理无过滤条件以及单一过滤条件的数据查询而造成的过滤条件受限且查询效率低的技术问题。

    权利要求书

    1.一种数据查询方法,其特征在于,包括:
    获取用于指示数据查询方式的数据查询指令;
    检测获取的用于指示数据查询方式的数据查询指令中是否包含组合过滤条件;
    在检测结果为获取的用于指示数据查询方式的数据查询指令中包含所述组合
    过滤条件的情况下,依据所述数据查询指令所指示的基于所述组合过滤条件的数
    据查询方式进行数据查询。
    2.根据权利要求1所述的方法,其特征在于,检测获取的用于指示数据查询方式的
    数据查询指令中是否包含组合过滤条件包括:
    检测获取的用于指示数据查询方式的数据查询指令中是否包含过滤条件;
    在检测结果为获取的用于指示数据查询方式的数据查询指令中包含过滤条件
    的情况下,从获取的用于指示数据查询方式的数据查询指令中提取该过滤条件;
    检测该过滤条件对应的条件表达式中是否存在组合条件运算符;
    在检测结果为该过滤条件对应的条件表达式中存在所述组合条件运算符的情
    况下,确定获取的用于指示数据查询方式的数据查询指令中包含所述组合过滤条
    件。
    3.根据权利要求1所述的方法,其特征在于,所述组合过滤条件的创建步骤包括:
    生成多个不同的单一过滤条件;
    确定所述多个不同的单一过滤条件间的组合逻辑关系;
    选择与确定的所述多个不同的单一过滤条件间的所述组合逻辑关系对应的组
    合条件运算符;
    根据生成的所述多个不同的单一过滤条件,以及选择的与所述多个不同的单
    一过滤条件间的所述组合逻辑关系对应的所述组合条件运算符,创建所述组合过
    滤条件。
    4.根据权利要求3所述的方法,其特征在于,所述组合过滤条件的创建步骤还包括:
    在选择的与所述多个不同的单一过滤条件间的所述组合逻辑关系对应的所述
    组合条件运算符为多个的情况下,根据预设嵌套逻辑,先创建所述组合过滤条件
    的内嵌部分,再创建所述组合过滤条件的外套部分。
    5.根据权利要求3所述的方法,其特征在于,生成所述多个不同的单一过滤条件中
    任一单一过滤条件的步骤包括:
    创建面向所述任一单一过滤条件的对象;
    在创建的面向所述任一单一过滤条件的对象中添加对象信息,所述对象信息
    包括:单一过滤条件的属性名称、操作类型运算符、过滤值;
    根据添加的对象信息生成所述任一单一过滤条件。
    6.一种数据查询装置,其特征在于,包括:
    获取单元,用于获取用于指示数据查询方式的数据查询指令;
    检测单元,用于检测获取的用于指示数据查询方式的数据查询指令中是否包
    含组合过滤条件;
    查询单元,用于在检测结果为获取的用于指示数据查询方式的数据查询指令
    中包含所述组合过滤条件的情况下,依据所述数据查询指令所指示的基于所述组
    合过滤条件的数据查询方式进行数据查询。
    7.根据权利要求6所述的装置,其特征在于,所述检测单元包括:
    第一检测模块,用于检测获取的用于指示数据查询方式的数据查询指令中是
    否包含过滤条件;
    提取模块,用于在检测结果为获取的用于指示数据查询方式的数据查询指令
    中包含过滤条件的情况下,从获取的用于指示数据查询方式的数据查询指令中提
    取该过滤条件;
    第二检测模块,用于检测该过滤条件对应的条件表达式中是否存在组合条件
    运算符;
    第一确定模块,用于在检测结果为该过滤条件对应的条件表达式中存在所述
    组合条件运算符的情况下,确定获取的用于指示数据查询方式的数据查询指令中
    包含所述组合过滤条件。
    8.根据权利要求6所述的装置,其特征在于,所述装置还包括:创建单元,用于创
    建所述组合过滤条件,其中,所述创建单元包括:
    生成模块,用于生成多个不同的单一过滤条件;
    第二确定模块,用于确定所述多个不同的单一过滤条件间的组合逻辑关系;
    选择模块,用于选择与确定的所述多个不同的单一过滤条件间的所述组合逻
    辑关系对应的组合条件运算符;
    创建模块,用于根据生成的所述多个不同的单一过滤条件,以及选择的与所
    述多个不同的单一过滤条件间的所述组合逻辑关系对应的所述组合条件运算符,
    创建所述组合过滤条件。
    9.根据权利要求8所述的装置,其特征在于,所述创建模块还用于在选择的与所述
    多个不同的单一过滤条件间的所述组合逻辑关系对应的所述组合条件运算符为多
    个的情况下,根据预设嵌套逻辑,先创建所述组合过滤条件的内嵌部分,再创建
    所述组合过滤条件的外套部分。
    10.根据权利要求8所述的装置,其特征在于,所述生成模块在生成所述多个不同的
    单一过滤条件中任一单一过滤条件时,包括:
    创建子模块,用于创建面向所述任一单一过滤条件的对象;
    添加子模块,用于在创建的面向所述任一单一过滤条件的对象中添加对象信
    息,所述对象信息包括:单一过滤条件的属性名称、操作类型运算符、过滤值;
    生成子模块,用于根据添加的对象信息生成所述任一单一过滤条件。

    说明书

    数据查询方法及装置

    技术领域

    本发明涉及互联网领域,具体而言,涉及一种数据查询方法及装置。

    背景技术

    软件信息系统都离不开数据查询(即数据检索)。一般的数据查询不需要任何的过
    滤条件,只是简单的数据查询,但是如果是复杂的数据查询,就需要过滤条件。比如,
    有一个人事方面的数据表,如表1所示:

    表1

    姓名
    籍贯
    性别
    年龄
    身高
    张三
    湖南

    34
    170
    李四
    北京

    27
    179
    王五
    上海

    23
    168
    赵六
    黑龙江

    28
    175

    在这个数据表里,存储了某公司人员的员工信息,包括姓名、籍贯、性别、年龄、
    身高等信息。对于该数据表而言,一般的数据查询是将这个表中的数据全部查询出来;
    稍微复杂点的数据查询则会加一个过滤条件,如““性别是男”,其中,“性别是男”转
    换成表达式就是“性别=男”。而单一条件是由属性名称+运算符+过滤值组成的,因此
    性别(属性名称)=(运算符)男(过滤值)只是一个简单的单一过滤条件。复杂点的
    条件表达式如“(条件1)并且(条件2)”,具体的如“(性别=男)并且(年龄<25)”,
    是由具体的单一过滤条件构成的组合条件,含有组合条件的运算关系“并且”;更复杂
    些的条件表达式是层级无限制的嵌套条件表达式,如“((条件1)或(条件2))并且
    (条件3)。

    在相关技术中,实际查询数据表时,系统只能处理无过滤条件以及单一过滤条件
    的数据查询,如“年龄>23”,无法处理复杂的过滤条件的数据查询。

    针对上述的问题,目前尚未提出有效的解决方案。

    发明内容

    本发明实施例提供了一种数据查询方法及装置,以至少解决相关技术中由于只能
    处理无过滤条件以及单一过滤条件的数据查询而造成的过滤条件受限且查询效率低的
    技术问题。

    根据本发明实施例的一个方面,提供了一种数据查询方法,包括:获取用于指示
    数据查询方式的数据查询指令;检测获取的用于指示数据查询方式的数据查询指令中
    是否包含组合过滤条件;在检测结果为获取的用于指示数据查询方式的数据查询指令
    中包含上述组合过滤条件的情况下,依据上述数据查询指令所指示的基于上述组合过
    滤条件的数据查询方式进行数据查询。

    进一步地,检测获取的用于指示数据查询方式的数据查询指令中是否包含组合过
    滤条件包括:检测获取的用于指示数据查询方式的数据查询指令中是否包含过滤条件;
    在检测结果为获取的用于指示数据查询方式的数据查询指令中包含过滤条件的情况下,
    从获取的用于指示数据查询方式的数据查询指令中提取该过滤条件;检测该过滤条件
    对应的条件表达式中是否存在组合条件运算符;在检测结果为该过滤条件对应的条件
    表达式中存在上述组合条件运算符的情况下,确定获取的用于指示数据查询方式的数
    据查询指令中包含上述组合过滤条件。

    进一步地,上述组合过滤条件的创建步骤包括:生成多个不同的单一过滤条件;
    确定上述多个不同的单一过滤条件间的组合逻辑关系;选择与确定的上述多个不同的
    单一过滤条件间的上述组合逻辑关系对应的组合条件运算符;根据生成的上述多个不
    同的单一过滤条件,以及选择的与上述多个不同的单一过滤条件间的上述组合逻辑关
    系对应的上述组合条件运算符,创建上述组合过滤条件。

    进一步地,上述组合过滤条件的创建步骤还包括:在选择的与上述多个不同的单
    一过滤条件间的上述组合逻辑关系对应的上述组合条件运算符为多个的情况下,根据
    预设嵌套逻辑,先创建上述组合过滤条件的内嵌部分,再创建上述组合过滤条件的外
    套部分。

    进一步地,生成上述多个不同的单一过滤条件中任一单一过滤条件的步骤包括:
    创建面向上述任一单一过滤条件的对象;在创建的面向上述任一单一过滤条件的对象
    中添加对象信息,上述对象信息包括:单一过滤条件的属性名称、操作类型运算符、
    过滤值;根据添加的对象信息生成上述任一单一过滤条件。

    根据本发明实施例的另一方面,还提供了一种数据查询装置,包括:获取单元,
    用于获取用于指示数据查询方式的数据查询指令;检测单元,用于检测获取的用于指
    示数据查询方式的数据查询指令中是否包含组合过滤条件;查询单元,用于在检测结
    果为获取的用于指示数据查询方式的数据查询指令中包含上述组合过滤条件的情况下,
    依据上述数据查询指令所指示的基于上述组合过滤条件的数据查询方式进行数据查询。

    进一步地,上述检测单元包括:第一检测模块,用于检测获取的用于指示数据查
    询方式的数据查询指令中是否包含过滤条件;提取模块,用于在检测结果为获取的用
    于指示数据查询方式的数据查询指令中包含过滤条件的情况下,从获取的用于指示数
    据查询方式的数据查询指令中提取该过滤条件;第二检测模块,用于检测该过滤条件
    对应的条件表达式中是否存在组合条件运算符;第一确定模块,用于在检测结果为该
    过滤条件对应的条件表达式中存在上述组合条件运算符的情况下,确定获取的用于指
    示数据查询方式的数据查询指令中包含上述组合过滤条件。

    进一步地,上述装置还包括:创建单元,用于创建上述组合过滤条件,其中,上
    述创建单元包括:生成模块,用于生成多个不同的单一过滤条件;第二确定模块,用
    于确定上述多个不同的单一过滤条件间的组合逻辑关系;选择模块,用于选择与确定
    的上述多个不同的单一过滤条件间的上述组合逻辑关系对应的组合条件运算符;创建
    模块,用于根据生成的上述多个不同的单一过滤条件,以及选择的与上述多个不同的
    单一过滤条件间的上述组合逻辑关系对应的上述组合条件运算符,创建上述组合过滤
    条件。

    进一步地,上述创建模块还用于在选择的与上述多个不同的单一过滤条件间的上
    述组合逻辑关系对应的上述组合条件运算符为多个的情况下,根据预设嵌套逻辑,先
    创建上述组合过滤条件的内嵌部分,再创建上述组合过滤条件的外套部分。

    进一步地,上述生成模块在生成上述多个不同的单一过滤条件中任一单一过滤条
    件时,包括:创建子模块,用于创建面向上述任一单一过滤条件的对象;添加子模块,
    用于在创建的面向上述任一单一过滤条件的对象中添加对象信息,上述对象信息包括:
    单一过滤条件的属性名称、操作类型运算符、过滤值;生成子模块,用于根据添加的
    对象信息生成上述任一单一过滤条件。

    在本发明实施例中,采用无过滤条件结合单一过滤条件以及组合过滤条件的方式,
    通过获取用于指示数据查询方式的数据查询指令;检测获取的用于指示数据查询方式
    的数据查询指令中是否包含组合过滤条件;在检测结果为获取的用于指示数据查询方
    式的数据查询指令中包含组合过滤条件的情况下,依据数据查询指令所指示的基于组
    合过滤条件的数据查询方式进行数据查询,达到了不仅可以处理无过滤条件以及单一
    过滤条件的数据查询,而且可以处理组合过滤条件的数据查询的目的,克服了过滤条
    件受限的缺陷,从而实现了提高数据查询效率的技术效果,进而解决了相关技术中由
    于只能处理无过滤条件以及单一过滤条件的数据查询而造成的过滤条件受限且查询效
    率低的技术问题。

    附图说明

    此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发
    明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图
    中:

    图1是根据本发明实施例的一种可选的数据查询方法的流程图;

    图2是根据本发明实施例的一种可选的数据查询装置的示意图。

    具体实施方式

    为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的
    附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例
    仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领
    域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于
    本发明保护的范围。

    需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第
    二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这
    样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在
    这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的
    任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方
    法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚
    地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

    实施例1

    根据本发明实施例,提供了一种数据查询方法的方法实施例,需要说明的是,在
    附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并
    且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序
    执行所示出或描述的步骤。

    图1是根据本发明实施例的一种可选的数据查询方法的流程图,如图1所示,该
    方法包括如下步骤:

    步骤S102,获取用于指示数据查询方式的数据查询指令;

    步骤S104,检测获取的用于指示数据查询方式的数据查询指令中是否包含组合过
    滤条件;

    步骤S106,在检测结果为获取的用于指示数据查询方式的数据查询指令中包含组
    合过滤条件的情况下,依据数据查询指令所指示的基于组合过滤条件的数据查询方式
    进行数据查询。

    其中,数据查询方式包括:无过滤条件查询方式和有过滤条件查询方式,有过滤
    条件查询方式又包括:单一过滤条件查询方式和组合过滤条件查询方式,而组合过滤
    条件是由多个单一过滤条件按照一定的组合逻辑构成的。执行数据查询操作时,需要
    依据数据查询指令所指示的数据查询方式进行数据查询。

    实施时,系统接收用户输入查询条件,当该查询条件中包含组合过滤条件时,系
    统就会进行条件表达式序列化处理,生成一串完整的字符作为组合过滤条件表达式,
    同时生成用于指示基于该条件表达式对应的组合过滤条件的数据查询方式的数据查询
    指令。这样,在查询数据时,根据上述组合过滤条件表达式进行数据查询。

    另外,在检测结果为获取的用于指示数据查询方式的数据查询指令中并未包含组
    合过滤条件的情况下,可以进一步检测其是否包含单一过滤条件或者根本就没有包含
    过滤条件。其中,在没有包含过滤条件的情况下,需要遍历数据表,查询所有的数据;
    在包含单一过滤条件的情况下,需要根据具体的单一过滤条件进行数据查询。

    通过本发明实施例,采用无过滤条件结合单一过滤条件以及组合过滤条件的方式,
    达到了不仅可以处理无过滤条件以及单一过滤条件的数据查询,而且可以处理组合过
    滤条件的数据查询的目的,克服了过滤条件受限的缺陷,从而实现了提高数据查询效
    率的技术效果。

    可选地,检测获取的用于指示数据查询方式的数据查询指令中是否包含组合过滤
    条件包括:

    S2,检测获取的用于指示数据查询方式的数据查询指令中是否包含过滤条件;

    S4,在检测结果为获取的用于指示数据查询方式的数据查询指令中包含过滤条件
    的情况下,从获取的用于指示数据查询方式的数据查询指令中提取该过滤条件;

    S6,检测该过滤条件对应的条件表达式中是否存在组合条件运算符;

    S8,在检测结果为该过滤条件对应的条件表达式中存在组合条件运算符的情况下,
    确定获取的用于指示数据查询方式的数据查询指令中包含组合过滤条件。

    由于组合过滤条件是由多个单一过滤条件和一定的组合条件运算符构成的,因此,
    在确定数据查询指令中是否包含组合过滤条件的过程中,可以先检测数据查询指令中
    是否包含过滤条件,在包含过滤条件的情况下,从数据查询指令中提取该过滤条件,
    并分析该过滤条件中是否包含“并且”和/或“或者”等组合条件运算符,在包含这些
    组合条件运算符的情况下,确定上述数据查询指令中包含组合过滤条件。

    另外,在包含过滤条件的情况下,且该过滤条件中并未包含“并且”和/或“或者”
    等组合条件运算符中的任意一个时,确定上述数据查询指令中并未包含组合过滤条件,
    而仅仅包含单一过滤条件,此时,可以基于该单一过滤条件进行数据查询。

    通过本发明实施例,采用基于过滤条件中是否含有组合条件运算符的方式来确定
    数据查询指令中是否包含组合过滤条件,达到了快速、准确的确定判断结果的目的。

    可选地,组合过滤条件可以结合单一过滤条件和相应的组合逻辑关系进行创建。
    具体地,创建组合过滤条件的步骤包括:

    S10,生成多个不同的单一过滤条件(也即单一过滤条件表达式);

    S12,确定多个不同的单一过滤条件间的组合逻辑关系;

    S14,选择与确定的多个不同的单一过滤条件间的组合逻辑关系对应的组合条件运
    算符(如,“并且”、“或者”等);

    S16,根据生成的多个不同的单一过滤条件,以及选择的与多个不同的单一过滤条
    件间的组合逻辑关系对应的组合条件运算符,创建组合过滤条件。也即,使用选出的
    组合条件运算符连接多个不同的单一过滤条件。

    为了更好地说明上述实现过程,以下以表1为例进行详细阐述:

    例如,现在用户想要查询的信息需要进行过滤,过滤条件为:年龄大于25或身高
    超过170。该过滤条件对应的过滤条件表达式为:(年龄>25)或者(身高>170),
    简化为(A或者B),其中,A表示年龄>25,B表示身高>170,创建组合过滤条件的
    步骤如下:先生成单一过滤条件A、B,再选择“或者”组合条件运算符,然后使用“或
    者”连接A、B以创建(A或者B),其中(A或者B)就是想要创建的组合过滤条件。

    通过本发明实施例,在创建组合过滤条件之后,系统不仅可以执行基于无过滤条
    件和单一过滤条件的数据查询,而且还可以支持基于组合过滤条件的数据查询,丰富
    了数据查询方式,提高了数据查询效率。

    进一步可选地,由于组合过滤条件可以包括无嵌套逻辑的组合过滤条件和有嵌套
    逻辑的组合过滤条件。其中,无嵌套逻辑的组合过滤条件只有两个单一过滤条件和一
    个组合条件运算符构成;有嵌套逻辑的组合过滤条件有两个以上的单一过滤条件和两
    个及两个以上的组合条件运算符构成。基于此,上述创建组合过滤条件的步骤还包括:

    S18,在选择的与多个不同的单一过滤条件间的组合逻辑关系对应的组合条件运算
    符为多个(即两个及两个以上)的情况下,根据预设嵌套逻辑,先创建组合过滤条件
    的内嵌部分,再创建组合过滤条件的外套部分。

    基于上述实施方式中的例子,现在用户想要查询的信息需要进行过滤,过滤条件
    为:年龄大于25或身高超过170,同时性别为女。该过滤条件对应的过滤条件表达式
    为:((年龄>25)或者(身高>170))并且(性别=女),简化为(A或者B)并且C,
    其中,A表示年龄>25,B表示身高>170,C表示性别=女,创建组合过滤条件的步
    骤如下:先生成单一过滤条件A、B,再选择“或者”组合条件运算符,然后使用“或
    者”连接A、B以创建(A或者B),其中(*)或者(*)就是整个组合过滤条件的内嵌
    部分,即内层逻辑;再生成单一过滤条件C,并选择“并且”组合条件运算符,进而
    使用“并且”连接(A或者B)和C以创建(A或者B)并且C,其中(*)并且(*)
    就是整个组合过滤条件的外套部分,即外层逻辑,(A或者B)并且C就是最终需要创
    建的有嵌套逻辑的组合过滤条件。

    通过本发明实施例,在创建有嵌套逻辑的组合过滤条件之后,系统不仅可以执行
    基于无过滤条件和单一过滤条件以及简单的无嵌套逻辑的组合过滤条件的数据查询,
    而且还可以支持基于无限层嵌套逻辑的组合过滤条件的数据查询,进一步丰富了数据
    查询方式,提高了数据查询效率。

    可选地,生成多个不同的单一过滤条件中任一单一过滤条件的步骤包括:

    S20,创建面向任一单一过滤条件的对象;

    S22,在创建的面向任一单一过滤条件的对象中添加对象信息,对象信息包括:单
    一过滤条件的属性名称、操作类型运算符、过滤值,其中,属性名称可以由数据表的
    列名充当,如表1中的姓名、年龄、性别等,操作类型运算符包括但不限于以下中的
    任一种:大于、小于、等于、包含、不包含、开始于、结束于,过滤值可以由数据表
    的列中的数值充当,如表1中年龄列中的23、28等;

    S24,根据添加的对象信息生成任一单一过滤条件。

    通过本发明实施例,在创建单一过滤条件之后,可以为组合过滤条件提供创建基
    础,提高组合过滤条件的创建效率。

    实施例2

    根据本发明实施例,提供了一种数据查询方装置的装置实施例。

    图2是根据本发明实施例的一种可选的数据查询装置的示意图,如图2所示,该
    装置:获取单元202,用于获取用于指示数据查询方式的数据查询指令;检测单元204,
    用于检测获取的用于指示数据查询方式的数据查询指令中是否包含组合过滤条件;查
    询单元206,用于在检测结果为获取的用于指示数据查询方式的数据查询指令中包含
    组合过滤条件的情况下,依据数据查询指令所指示的基于组合过滤条件的数据查询方
    式进行数据查询。

    其中,数据查询方式包括:无过滤条件查询方式和有过滤条件查询方式,有过滤
    条件查询方式又包括:单一过滤条件查询方式和组合过滤条件查询方式,而组合过滤
    条件是由多个单一过滤条件按照一定的组合逻辑构成的。执行数据查询操作时,需要
    依据数据查询指令所指示的数据查询方式进行数据查询。

    实施时,系统接收用户输入查询条件,当该查询条件中包含组合过滤条件时,系
    统就会进行条件表达式序列化处理,生成一串完整的字符作为组合过滤条件表达式,
    同时生成用于指示基于该条件表达式对应的组合过滤条件的数据查询方式的数据查询
    指令。这样,在查询数据时,根据上述组合过滤条件表达式进行数据查询。

    另外,在检测结果为获取的用于指示数据查询方式的数据查询指令中并未包含组
    合过滤条件的情况下,可以进一步检测其是否包含单一过滤条件或者根本就没有包含
    过滤条件。其中,在没有包含过滤条件的情况下,需要遍历数据表,查询所有的数据;
    在包含单一过滤条件的情况下,需要根据具体的单一过滤条件进行数据查询。

    通过本发明实施例,采用无过滤条件结合单一过滤条件以及组合过滤条件的方式,
    达到了不仅可以处理无过滤条件以及单一过滤条件的数据查询,而且可以处理组合过
    滤条件的数据查询的目的,克服了过滤条件受限的缺陷,从而实现了提高数据查询效
    率的技术效果。

    可选地,上述检测单元包括:第一检测模块,用于检测获取的用于指示数据查询
    方式的数据查询指令中是否包含过滤条件;提取模块,用于在检测结果为获取的用于
    指示数据查询方式的数据查询指令中包含过滤条件的情况下,从获取的用于指示数据
    查询方式的数据查询指令中提取该过滤条件;第二检测模块,用于检测该过滤条件对
    应的条件表达式中是否存在组合条件运算符;第一确定模块,用于在检测结果为该过
    滤条件对应的条件表达式中存在组合条件运算符的情况下,确定获取的用于指示数据
    查询方式的数据查询指令中包含组合过滤条件。

    由于组合过滤条件是由多个单一过滤条件和一定的组合条件运算符构成的,因此,
    在确定数据查询指令中是否包含组合过滤条件的过程中,可以先检测数据查询指令中
    是否包含过滤条件,在包含过滤条件的情况下,从数据查询指令中提取该过滤条件,
    并分析该过滤条件中是否包含“并且”和/或“或者”等组合条件运算符,在包含这些
    组合条件运算符的情况下,确定上述数据查询指令中包含组合过滤条件。

    另外,在包含过滤条件的情况下,且该过滤条件中并未包含“并且”和/或“或者”
    等组合条件运算符中的任意一个时,确定上述数据查询指令中并未包含组合过滤条件,
    而仅仅包含单一过滤条件,此时,可以基于该单一过滤条件进行数据查询。

    通过本发明实施例,采用基于过滤条件中是否含有组合条件运算符的方式来确定
    数据查询指令中是否包含组合过滤条件,达到了快速、准确的确定判断结果的目的。

    可选地,组合过滤条件可以结合单一过滤条件和相应的组合逻辑关系进行创建。
    具体地,上述装置还包括:创建单元,用于创建组合过滤条件,其中,创建单元包括:
    生成模块,用于生成多个不同的单一过滤条件(也即单一过滤条件表达式);第二确定
    模块,用于确定多个不同的单一过滤条件间的组合逻辑关系;选择模块,用于选择与
    确定的多个不同的单一过滤条件间的组合逻辑关系对应的组合条件运算符(如,“并且”、
    “或者”等);创建模块,用于根据生成的多个不同的单一过滤条件,以及选择的与多
    个不同的单一过滤条件间的组合逻辑关系对应的组合条件运算符,创建组合过滤条件。
    也即,使用选出的组合条件运算符连接多个不同的单一过滤条件

    为了更好地说明上述实现过程,以下以表1为例进行详细阐述:

    例如,现在用户想要查询的信息需要进行过滤,过滤条件为:年龄大于25或身高
    超过170。该过滤条件对应的过滤条件表达式为:(年龄>25)或者(身高>170),
    简化为(A或者B),其中,A表示年龄>25,B表示身高>170,创建组合过滤条件的
    步骤如下:先生成单一过滤条件A、B,再选择“或者”组合条件运算符,然后使用“或
    者”连接A、B以创建(A或者B),其中(A或者B)就是想要创建的组合过滤条件。

    通过本发明实施例,在创建组合过滤条件之后,系统不仅可以执行基于无过滤条
    件和单一过滤条件的数据查询,而且还可以支持基于组合过滤条件的数据查询,丰富
    了数据查询方式,提高了数据查询效率。

    进一步可选地,由于组合过滤条件可以包括无嵌套逻辑的组合过滤条件和有嵌套
    逻辑的组合过滤条件。其中,无嵌套逻辑的组合过滤条件只有两个单一过滤条件和一
    个组合条件运算符构成;有嵌套逻辑的组合过滤条件有两个以上的单一过滤条件和两
    个及两个以上的组合条件运算符构成。基于此,上述创建模块还用于在选择的与多个
    不同的单一过滤条件间的组合逻辑关系对应的组合条件运算符为多个的情况下,根据
    预设嵌套逻辑,先创建组合过滤条件的内嵌部分,再创建组合过滤条件的外套部分。

    基于上述实施方式中的例子,现在用户想要查询的信息需要进行过滤,过滤条件
    为:年龄大于25或身高超过170,同时性别为女。该过滤条件对应的过滤条件表达式
    为:((年龄>25)或者(身高>170))并且(性别=女),简化为(A或者B)并且C,
    其中,A表示年龄>25,B表示身高>170,C表示性别=女,创建组合过滤条件的步
    骤如下:先生成单一过滤条件A、B,再选择“或者”组合条件运算符,然后使用“或
    者”连接A、B以创建(A或者B),其中(*)或者(*)就是整个组合过滤条件的内嵌
    部分,即内层逻辑;再生成单一过滤条件C,并选择“并且”组合条件运算符,进而
    使用“并且”连接(A或者B)和C以创建(A或者B)并且C,其中(*)并且(*)
    就是整个组合过滤条件的外套部分,即外层逻辑,(A或者B)并且C就是最终需要创
    建的有嵌套逻辑的组合过滤条件。

    通过本发明实施例,在创建有嵌套逻辑的组合过滤条件之后,系统不仅可以执行
    基于无过滤条件和单一过滤条件以及简单的无嵌套逻辑的组合过滤条件的数据查询,
    而且还可以支持基于无限层嵌套逻辑的组合过滤条件的数据查询,进一步丰富了数据
    查询方式,提高了数据查询效率。

    可选地,上述生成模块在生成多个不同的单一过滤条件中任一单一过滤条件时,
    包括:创建子模块,用于创建面向任一单一过滤条件的对象;添加子模块,用于在创
    建的面向任一单一过滤条件的对象中添加对象信息,对象信息包括:单一过滤条件的
    属性名称、操作类型运算符、过滤值,其中,属性名称可以由数据表的列名充当,如
    表1中的姓名、年龄、性别等,操作类型运算符包括但不限于以下中的任一种:大于、
    小于、等于、包含、不包含、开始于、结束于,过滤值可以由数据表的列中的数值充
    当,如表1中年龄列中的23、28等;生成子模块,用于根据添加的对象信息生成任一
    单一过滤条件。

    通过本发明实施例,在创建单一过滤条件之后,可以为组合过滤条件提供创建基
    础,提高组合过滤条件的创建效率。

    上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

    在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有
    详述的部分,可以参见其他实施例的相关描述。

    在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它
    的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,
    可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件
    可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所
    显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模
    块的间接耦合或通信连接,可以是电性或其它的形式。

    所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显
    示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到
    多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案
    的目的。

    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以
    是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成
    的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

    所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,
    可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质
    上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的
    形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一
    台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所
    述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only
    Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘
    等各种可以存储程序代码的介质。

    以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人
    员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润
    饰也应视为本发明的保护范围。

    关 键  词:
    数据 查询 方法 装置
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:数据查询方法及装置.pdf
    链接地址:https://www.zhuanlichaxun.net/p-6037306.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1