首页> 中国专利> 数据查询处理装置和数据查询处理方法

数据查询处理装置和数据查询处理方法

摘要

本发明提供了一种数据查询处理装置,包括:配置信息解析模块,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据类型;查询条件设置模块,将所述多种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件;数据查询模块,根据所述查询条件,从所述业务系统的数据源中查询所需数据。相应地,本发明还提供了一种数据查询处理方法。通过本发明的技术方案,可以快速构建一个灵活可靠并可任意扩展的,对于异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增加和变化的要求。

著录项

  • 公开/公告号CN102819557A

    专利类型发明专利

  • 公开/公告日2012-12-12

    原文格式PDF

  • 申请/专利权人 用友软件股份有限公司;

    申请/专利号CN201210224486.8

  • 发明设计人 吕亚明;丰伟;孙鹏;

    申请日2012-06-28

  • 分类号

  • 代理机构北京友联知识产权代理事务所(普通合伙);

  • 代理人尚志峰

  • 地址 100094 北京市海淀区北清路68号用友软件园

  • 入库时间 2023-12-18 07:36:17

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-01-13

    授权

    授权

  • 2015-11-25

    著录事项变更 IPC(主分类):G06F17/30 变更前: 变更后: 申请日:20120628

    著录事项变更

  • 2013-01-30

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20120628

    实质审查的生效

  • 2012-12-12

    公开

    公开

说明书

技术领域

本发明涉及数据查询技术领域,具体而言,涉及一种数据查询处理装 置和一种数据查询处理方法。

背景技术

在计算机软件领域,特别是企业级应用领域,将数据组织成树形是很 常见的。当这种树形数据组织,其中的数据均为同种类型时,对其进行检 索也是很简单的。但是,如果是多种类型的数据共同构建成一个树形结 构,并且随着业务需求的变动,数据类型还需要新增、变更或者删除,在 这种情况下,传统的查询检索方案在实现时就会显得过于复杂、僵硬并 且缺乏效率。

因此,需要一种新的技术方案,可以快速构建一个灵活可靠并可任意 扩展的,对于异构数据构成的树形结构的查询方案,满足企业级应用中由 于大数据量和数据类型多样化而产生的不断增加和变化的要求。

发明内容

本发明所要解决的技术问题在于,提供一种新的技术方案,可以快速 构建一个灵活可靠并可任意扩展的,对于异构数据构成的树形结构的查询 方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增 加和变化的要求。

有鉴于此,本发明提供了一种数据查询处理装置,包括配置信息解析 模块,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统 相关的多种数据类型;查询条件设置模块,将所述多种数据类型提供给用 户,并根据所述用户选择的数据类型生成查询条件;数据查询模块,根据 所述查询条件,从所述业务系统的数据源中查询所需数据。在本技术方案 中,所述数据查询模块,可以将所述查询中涉及的数据类型和由所述查询 条件设置模块生成的查询条件等组织成可以被特定解释器理解的语法分析 树,并通过解析该语法分析树来将其在所述业务系统的数据源中查询出的 异构的查询结果组织成为用户所需的树形结构。可以随时根据不同业务系 统的配置信息,提取该业务系统的数据类型和属性,并根据数据类型和属 性完成对业务系统的数据源的查询,大大提高了所述数据查询处理装置的 灵活性和可扩展性。

在上述技术方案中,优选地,所述配置信息解析模块从所述配置信息 中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具 有的非共享属性,所述查询条件设置模块为所述用户提供所述多个数据类 型以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选 中数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性 和非共享属性,生成查询条件。通过将所述配置信息所具有的属性进行共 享属性和非共享属性的区分,使得所述数据查询处理装置在数据查询、生 成查询条件和将查询结果组装为树形结构时,能够更加准确和高效。

在上述技术方案中,优选地,所述查询条件设置模块在图形界面展现 所述多个数据类型以及所述共享属性、所述非共享属性,供所述用户选 择。通过图形界面来展示所述的各种数据,能够清楚形象地表达出所述数 据类型之间、所述数据类型和其相关属性之间,以及各种所述属性之间的 关系,使得所述数据查询处理装置对用户显得更加友好。

在上述技术方案中,优选地,所述查询条件设置模块在所述用户选择 的数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条 件,或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述 多个查询条件对应的查询顺序,所述数据查询模块根据所述单个查询条件 执行一次查询(简称单次查询),或根据所述多个查询条件执行多次查询 (简称多次查询),其中,根据所述数据源进行首次查询,以及根据前次 查询的结果进行当前查询。在本技术方案中,所述数据查询处理装置可以 根据实际情况对上述两种查询方式进行取舍,比如,当数据来源在数据库 或者远端,由于和当前的查询程序不在同一个进程中,进程间通讯将可能 导致多次查询的效率在某些极端情况不理想,此时,便可以选择采用所述 单次查询的查询方式以提高查询效率;当所述用户的查询任务需要更高的 灵活性时,则可以选择采用所述多次查询的查询方式,以避免单次查询因 使多个子查询形成统一的整体而不可避免地产生耦合性的问题。

在上述技术方案中,优选地,还包括:历史记录保存模块,根据所述 数据源、查询条件,保存历史记录。通过在所述数据查询处理装置中引入 历史记录模块,不仅可以提高用户在进行多次重复查询时的效率,同时也 可以为整个装置的修理与维护提供必要的数据支持,进而保证所述数据查 询处理装置可靠性。

本发明还提供了一种数据查询处理方法,包括:步骤202,获取业务 系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据 类型;步骤204,将所述多种数据类型提供给用户,并根据所述用户选择 的数据类型生成查询条件;步骤206,根据所述查询条件,从所述业务系 统的数据源中查询所需数据。在本技术方案中,所述步骤206在进行数据 查询过程中,可以将所述查询中涉及的数据类型和由所述步骤204生成的 查询条件等组织成可以被特定解释器理解的语法分析树,并通过解析该语 法分析树来将其在所述业务系统的数据源中查询出的异构的查询结果组织 成为用户所需的树形结构。可以随时根据不同业务系统的配置信息,提取 该业务系统的数据类型和属性,并根据数据类型和属性完成对业务系统的 数据源的查询,大大提高了所述数据查询处理装置的灵活性和可扩展性。

在上述技术方案中,优选地,所述步骤202还包括:从所述配置信息 中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具 有的非共享属性;所述步骤204包括:为所述用户提供所述多个数据类型 以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选中 数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性和 非共享属性,生成查询条件。通过将所述配置信息所具有的属性进行共享 属性和非共享属性的区分,使得在使用所述数据查询处理方法进行数据查 询、生成查询条件和将查询结果组装为树形结构时,能够更加准确和高 效。

在上述技术方案中,优选地,所述步骤204包括:在图形界面展现所 述多个数据类型以及所述共享数据、所述非共享属性,供所述用户选择。 通过图形界面来展示所述的各种数据,能够清楚形象地表达出所述数据类 型之间、所述数据类型和其相关属性之间,以及各种所述属性之间的关 系,使用户能够对于其所需查询的信息进行更清晰明确地描述。

在上述技术方案中,优选地,所述步骤204包括:在所述用户选择的 数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条件, 或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述多个 查询条件对应的查询顺序;所述步骤206包括:根据所述单个查询条件执 行一次查询(简称单次查询),或根据所述多个查询条件执行多次查询 (简称多次查询),其中,根据所述数据源进行首次查询,以及根据前次 查询的结果进行当前查询。在本技术方案中,在所述数据查询处理方法中 可以根据实际情况对上述两种查询方式进行取舍,比如,当数据来源在数 据库或者远端,由于和当前的查询程序不在同一个进程中,进程间通讯将 可能导致多次查询的效率在某些极端情况不理想,此时,便可以选择采用 所述单次查询的查询方式以提高查询效率;当所述用户的查询任务需要更 高的灵活性时,则可以选择采用所述多次查询的查询方式,以避免单次查 询因使多个子查询形成统一的整体而不可避免地产生耦合性的问题。

在上述技术方案中,优选地,还包括:根据所述数据源、查询条件, 保存历史记录。通过进行历史记录,不仅可以提高用户在进行多次重复查 询时的效率,同时也可以为对于整个查询过程的检查核对提供必要的数据 支持,进而保证通过所述数据查询处理方法的到的查询结果的可靠性。

通过以上技术方案,可以快速构建一个灵活可靠并可任意扩展的,对 于异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量 和数据类型多样化而产生的不断增加和变化的要求。

附图说明

图1示出了根据本发明的实施例的数据查询处理装置的框图;

图2示出了根据本发明的实施例的数据查询处理方法的流程图;

图3示出了根据本发明的实施例的数据查询处理装置的运行流程示意 图;

图4示出了根据本发明的实施例的数据查询处理装置的类图结构示意 图;

图5A至图5B示出了根据本发明的实施例的数据查询处理方法的应 用实例界面示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附 图和具体实施方式对本发明进行进一步的详细描述。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明 并不限于下面公开的具体实施例的限制。

图1示出了根据本发明的实施例的数据查询处理装置的框图。

如图1所示,根据本发明的实施例的数据查询处理装置100,包括配 置信息解析模块102,获取业务系统的配置信息,从所述配置信息中解析 出所述业务系统相关的多种数据类型;查询条件设置模块104,将所述多 种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件; 数据查询模块106,根据所述查询条件,从所述业务系统的数据源中查询 所需数据。在本技术方案中,所述数据查询模块106,可以将所述查询中 涉及的数据类型和由所述查询条件设置模块104生成的查询条件等组织成 可以被特定解释器理解的语法分析树,并通过解析该语法分析树来将其在 所述业务系统的数据源中查询出的异构的查询结果组织成为用户所需的树 形结构。可以随时根据不同业务系统的配置信息,提取该业务系统的数据 类型和属性,并根据数据类型和属性完成对业务系统的数据源的查询,大 大提高了所述数据查询处理装置的灵活性和可扩展性。

在上述技术方案中,优选地,所述配置信息解析模块102从所述配置 信息中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各 自具有的非共享属性,所述查询条件设置模块104为所述用户提供所述多 个数据类型以及所述共享属性,并根据用户选择的数据类型,为所述用户 提供被选中数据类型的非共享属性,以及根据所述用户选择的数据类型、 共享属性和非共享属性,生成查询条件。通过将所述配置信息所具有的属 性进行共享属性和非共享属性的区分,使得所述数据查询处理装置100在 数据查询、生成查询条件和将查询结果组装为树形结构时,能够更加准确 和高效。

在上述技术方案中,优选地,所述查询条件设置模块104在图形界面 展现所述多个数据类型以及所述共享属性、所述非共享属性,供所述用户 选择。通过图形界面来展示所述的各种数据,能够清楚形象地表达出所述 数据类型之间、所述数据类型和其相关属性之间,以及各种所述属性之间 的关系,使得所述数据查询处理装置100对用户显得更加友好。

在上述技术方案中,优选地,所述查询条件设置模块104在所述用户 选择的数据类型为多个时,为所述用户选择的数据类型统一生成单个查询 条件,或为所述用户选择的数据类型生成对应的多个查询条件,并设置所 述多个查询条件对应的查询顺序,所述数据查询模块106根据所述单个查 询条件执行一次查询(简称单次查询),或根据所述多个查询条件执行多 次查询(简称多次查询),其中,根据所述数据源进行首次查询,以及根 据前次查询的结果进行当前查询。在本技术方案中,所述数据查询处理装 置100可以根据实际情况对上述两种查询方式进行取舍,比如,当数据来 源在数据库或者远端,由于和当前的查询程序不在同一个进程中,进程间 通讯将可能导致多次查询的效率在某些极端情况不理想,此时,便可以选 择采用所述单次查询的查询方式以提高查询效率;当所述用户的查询任务 需要更高的灵活性时,则可以选择采用所述多次查询的查询方式,以避免 单次查询因使多个子查询形成统一的整体而不可避免地产生耦合性的问 题。

在上述技术方案中,优选地,还包括:历史记录保存模块106,根据 所述数据源、查询条件,保存历史记录。通过在所述数据查询处理装置 100中引入历史记录模块106,不仅可以提高用户在进行多次重复查询时 的效率,同时也可以为整个装置100的修理与维护提供必要的数据支持, 进而保证所述数据查询处理装置100可靠性。

图2示出了根据本发明的实施例的数据查询处理方法的流程图。

如图2所示,根据本发明的实施例的数据查询处理方法,包括:步骤 202,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统 相关的多种数据类型;步骤204,将所述多种数据类型提供给用户,并根 据所述用户选择的数据类型生成查询条件;步骤206,根据所述查询条 件,从所述业务系统的数据源中查询所需数据。在本技术方案中,所述步 骤206在进行数据查询过程中,可以将所述查询中涉及的数据类型和由所 述步骤204生成的查询条件等组织成可以被特定解释器理解的语法分析 树,并通过解析该语法分析树来将其在所述业务系统的数据源中查询出的 异构的查询结果组织成为用户所需的树形结构。可以随时根据不同业务系 统的配置信息,提取该业务系统的数据类型和属性,并根据数据类型和属 性完成对业务系统的数据源的查询,大大提高了所述数据查询处理装置的 灵活性和可扩展性。

在上述技术方案中,优选地,所述步骤202还包括:从所述配置信息 中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具 有的非共享属性;所述步骤204包括:为所述用户提供所述多个数据类型 以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选中 数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性和 非共享属性,生成查询条件。通过将所述配置信息所具有的属性进行共享 属性和非共享属性的区分,使得在使用所述数据查询处理方法进行数据查 询、生成查询条件和将查询结果组装为树形结构时,能够更加准确和高 效。

在上述技术方案中,优选地,所述步骤204包括:在图形界面展现所 述多个数据类型以及所述共享数据、所述非共享属性,供所述用户选择。 通过图形界面来展示所述的各种数据,能够清楚形象地表达出所述数据类 型之间、所述数据类型和其相关属性之间,以及各种所述属性之间的关 系,使用户能够对于其所需查询的信息进行更清晰明确地描述。

在上述技术方案中,优选地,所述步骤204包括:在所述用户选择的 数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条件, 或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述多个 查询条件对应的查询顺序;所述步骤206包括:根据所述单个查询条件执 行一次查询(简称单次查询),或根据所述多个查询条件执行多次查询 (简称多次查询),其中,根据所述数据源进行首次查询,以及根据前次 查询的结果进行当前查询。在本技术方案中,在所述数据查询处理方法中 可以根据实际情况对上述两种查询方式进行取舍,比如,当数据来源在数 据库或者远端,由于和当前的查询程序不在同一个进程中,进程间通讯将 可能导致多次查询的效率在某些极端情况不理想,此时,便可以选择采用 所述单次查询的查询方式以提高查询效率;当所述用户的查询任务需要更 高的灵活性时,则可以选择采用所述多次查询的查询方式,以避免单次查 询因使多个子查询形成统一的整体而不可避免地产生耦合性的问题。

在上述技术方案中,优选地,还包括:根据所述数据源、查询条件, 保存历史记录。通过进行历史记录,不仅可以提高用户在进行多次重复查 询时的效率,同时也可以为对于整个查询过程的检查核对提供必要的数据 支持,进而保证通过所述数据查询处理方法的到的查询结果的可靠性。

图3示出了根据本发明的实施例的数据查询处理装置的运行流程示意 图。

如图3所示,根据本发明的实施例的数据查询处理装置的运行流程包 括以下部分:

查询发起端302:查询发起端302是查询的发起者也是最贴近用户的 部分,它会根据用户配置和查询策略306进行查询操作,并将查询结果进 行组装。

查询策略306:所述查询策略306是事先根据用户查询中涉及的数据 种类和查询条件等组成的可以被特定解释器理解的语法分析树,以及可以 通过解析语法分析树来将异构的查询结果组装成为树形结构的解释器的集 合;通过该查询策略306将所述查询发起端302和查询单元308之间进行 关联;查询策略306,具体而言,包括“查询单元生成策略306A”与“查 询单元组合策略306B”。

查询单元生成策略306A:所述查询单元生成策略306A将查询中涉及 的数据种类和查询条件等组织成可以被特定解释器理解的语法分析树,并 传递给查询单元生成装置304。查询单元生成装置304根据此策略生成查 询单元308。

查询单元组合策略306B:查询单元组合策略306B定义了每个具体的 查询单元308(n)和返回的查询结果之间的组合关系,所述查询发起端 302在接收到查询返回的查询结果后会根据此策略组织出用户要求的树形 结构。

查询单元生成装置304:查询单元生成装置304有2个作用,其一是 调用查询单元生成策略306A来初始化查询单元308集合;其二是作为多 个查询间的隔离点,即查询单元308是被配置成无状态的方式,每个查询 都会重新实例化一批新的查询单元308(n),这样才能保证在并发环境 中结果不会产生混乱。

查询单元(以接口形式实现)308:查询单元308(n)是最终查询的 执行者,其所执行的查询可以有以下两种实现方法,即多次查询和单次查 询。

1、多次查询,即对于每种数据类型使用单独的查询单元308(n), 因此查询单元的划分非常简单。对于某一个查询单元的设计而言,不需要 去考虑其他查询单元的设计方法,只需要考虑构建它与它前一级查询单元 暴露出来的结果的上下级关系的方法即可。这种方法的缺点在于,如果数 据的来源是在数据库或者远端,由于和当前的查询程序不在同一个进程 中,进程间通讯将可能导致多次查询的效率在某些极端情况不理想。

2、单次查询:单次查询是首先构建出一次查询出所有结果所需构建 的条件,比如在关系数据库查询上就是构建出一个可以查询出所有数据的 SQL(Structured Query Language,即结构化查询语言),而在其他类似的 耗时跨进程调用中可能是构建出所有的调用参数。这样通过一个粗粒度的 调用来减少时间消耗,达到效率优化的目的。这种方法的缺点在于,单次 查询使多个子查询形成统一的整体,同时也带来了耦合性的问题,损失了 一定的灵活性。

因此,上述的两种查询方法可以根据实际的需要进行取舍。对与不同 类型的数据向树形结构的整合上,两种查询方法所对应的构建策略也各有 不同:多次查询的方法需要知道前一级查询单元暴露出来的接口来确定当 前查询元获得的数据如何与上一级拼接;而单次查询主要是通过构造器模 式来拼接数据的,在这里,上述查询单元组合策略306B可以充当“指导 人”的角色来“指导”查询单元308拼接数据。

图4示出了根据本发明的实施例的数据查询处理装置的类图结构示意 图。

如图4所示,根据本发明的实施例的数据查询处理装置的类图结构包 括以下部分:

列表视图类402:查询单元308和数据单元410以在XML配置的形 式实现实例化,它是构建策略的中心类,它的职责主要是获取当前的数据 类型和查询单元308生成一套对应的查询策略。

视图模型类404:其作用是把当前生成的查询策略拷贝一份保存,以 便下次在客户端数据单元410不变的情况下重新查询,可直接应用此策 略。同时,所述视图模型类404还是一个数据的主要载体,用来组装策 略。

配置参数406:主要是获取客户端各种配置项(属性)的值。

解析类408:这个类是查询策略的核心类,其解析步骤如下:

1、分析数据,拿到配置参数406的值,判断各配置项是否是可配置 项,是,则更新查询策略的属性,否,则不更新。

2、根据配置信息更新查询策略:根据配置参数406、更新可配置属 性的值,这是策略的最后更新,根据这次更新的结果,来查询最终数据。

初始化:查询单元308和数据单元410,都是通过配置文件注入的。 这样设计,可根据不同的业务需求定义不同的查询单元308和相关业务单 元,所以灵活可靠,也容易扩展和维护。

图5A至图5B示出了根据本发明的实施例的数据查询处理方法的应 用实例界面示意图。

如图5A和图5B所示,根据本发明的实施例的数据查询处理方法在 对于人力资源管理的组织机构图的查询中的应用实例界面包括如下部分:

如图5A所示,以组织机构中的行政体系为例,行政体系拥有三种数 据类型,分别是组织、部门、岗位。组织含有“是否包含下级组织”、 “显示部门”、“显示撤销部门”、“显示虚拟部门”、“显示岗位”等 可选属性(即非共享属性),同时如图5B所示,还有四个大的可配置项 选择框(即共享属性),分别为生成选项、显示选项、节点属性、连接线 属性。这每一个选项中含有多个可配置元。那么查询时就是将组织、部 门、岗位和所选的属性和数据项组装成树结构去执行查询。

以上结合附图详细说明了本发明的技术方案。通过本技术方案的应 用,能够快速构建一个灵活可靠并可任意扩展的,对于异构数据构成的树 形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而 产生的不断增加和变化的要求。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号