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

文档序号:6372509阅读:148来源:国知局
专利名称:数据查询处理装置和数据查询处理方法
技术领域
本发明涉及数据查询技术领域,具体而言,涉及一种数据查询处理装置和一种数据查询处理方法。
背景技术
在计算机软件领域,特别是企业级应用领域,将数据组织成树形是很常见的。当这种树形数据组织,其中的数据均为同种类型时,对其进行检索也是很简单的。但是,如果是多种类型的数据共同构建成一个树形结构,并且随着业务需求的变动,数据类型还需要新增、变更或者删除,在这种情况下,传统的查询检索方案在实现时就会显得过于复杂、僵硬并且缺乏效率。
因此,需要一种新的技术方案,可以快速构建一个灵活可靠并可任意扩展的,对于 异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增加和变化的要求。

发明内容
本发明所要解决的技术问题在于,提供一种新的技术方案,可以快速构建一个灵活可靠并可任意扩展的,对于异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增加和变化的要求。有鉴于此,本发明提供了一种数据查询处理装置,包括配置信息解析模块,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据类型;查询条件设置模块,将所述多种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件;数据查询模块,根据所述查询条件,从所述业务系统的数据源中查询所需数据。在本技术方案中,所述数据查询模块,可以将所述查询中涉及的数据类型和由所述查询条件设置模块生成的查询条件等组织成可以被特定解释器理解的语法分析树,并通过解析该语法分析树来将其在所述业务系统的数据源中查询出的异构的查询结果组织成为用户所需的树形结构。可以随时根据不同业务系统的配置信息,提取该业务系统的数据类型和属性,并根据数据类型和属性完成对业务系统的数据源的查询,大大提高了所述数据查询处理装置的灵活性和可扩展性。在上述技术方案中,优选地,所述配置信息解析模块从所述配置信息中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具有的非共享属性,所述查询条件设置模块为所述用户提供所述多个数据类型以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选中数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性和非共享属性,生成查询条件。通过将所述配置信息所具有的属性进行共享属性和非共享属性的区分,使得所述数据查询处理装置在数据查询、生成查询条件和将查询结果组装为树形结构时,能够更加准确和高效。在上述技术方案中,优选地,所述查询条件设置模块在图形界面展现所述多个数据类型以及所述共享属性、所述非共享属性,供所述用户选择。通过图形界面来展示所述的各种数据,能够清楚形象地表达出所述数据类型之间、所述数据类型和其相关属性之间,以及各种所述属性之间的关系,使得所述数据查询处理装置对用户显得更加友好。在上述技术方案中,优选地,所述查询条件设置模块在所述用户选择的数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条件,或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述多个查询条件对应的查询顺序,所述数据查询模块根据所述单个查询条件执行一次查询(简称单次查询),或根据所述多个查询条件执行多次查询(简称多次查询),其中,根据所述数据源进行首次查询,以及根据前次查询的结果进行当前查询。在本技术方案中,所述数据查询处理装置可以根据实际情况对上述两种查询方式进行取舍,比如,当数据来源在数据库或者远端,由于和当前的查询程序不在同一个进程中,进程间通讯将可能导致多次查询的效率在某些极端情况不理想,此时,便可以选择采用所述单次查询的查询方式以提高查询效率;当所述用户的查询任务需要更高的灵活性时,则可以选择采用所述多次查询的查询方式,以避免单次查询因使多个子查询形成统一的整体而不可避免地产生耦合性的问题。在上述技术方案中,优选地,还包括历史记录保存模块,根据所述数据源、查询条 件,保存历史记录。通过在所述数据查询处理装置中引入历史记录模块,不仅可以提高用户在进行多次重复查询时的效率,同时也可以为整个装置的修理与维护提供必要的数据支持,进而保证所述数据查询处理装置可靠性。本发明还提供了一种数据查询处理方法,包括步骤202,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据类型;步骤204,将所述多种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件;步骤206,根据所述查询条件,从所述业务系统的数据源中查询所需数据。在本技术方案中,所述步骤206在进行数据查询过程中,可以将所述查询中涉及的数据类型和由所述步骤204生成的查询条件等组织成可以被特定解释器理解的语法分析树,并通过解析该语法分析树来将其在所述业务系统的数据源中查询出的异构的查询结果组织成为用户所需的树形结构。可以随时根据不同业务系统的配置信息,提取该业务系统的数据类型和属性,并根据数据类型和属性完成对业务系统的数据源的查询,大大提高了所述数据查询处理装置的灵活性和可扩展性。在上述技术方案中,优选地,所述步骤202还包括从所述配置信息中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具有的非共享属性;所述步骤204包括为所述用户提供所述多个数据类型以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选中数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性和非共享属性,生成查询条件。通过将所述配置信息所具有的属性进行共享属性和非共享属性的区分,使得在使用所述数据查询处理方法进行数据查询、生成查询条件和将查询结果组装为树形结构时,能够更加准确和高效。在上述技术方案中,优选地,所述步骤204包括在图形界面展现所述多个数据类型以及所述共享数据、所述非共享属性,供所述用户选择。通过图形界面来展示所述的各种数据,能够清楚形象地表达出所述数据类型之间、所述数据类型和其相关属性之间,以及各种所述属性之间的关系,使用户能够对于其所需查询的信息进行更清晰明确地描述。在上述技术方案中,优选地,所述步骤204包括在所述用户选择的数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条件,或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述多个查询条件对应的查询顺序;所述步骤206包括根据所述单个查询条件执行一次查询(简称单次查询),或根据所述多个查询条件执行多次查询(简称多次查询),其中,根据所述数据源进行首次查询,以及根据前次查询的结果进行当前查询。在本技术方案中,在所述数据查询处理方法中可以根据实际情况对上述两种查询方式进行取舍,比如,当数据来源在数据库或者远端,由于和当前的查询程序不在同一个进程中,进程间通讯将可能导致多次查询的效率在某些极端情况不理想,此时,便可以选择采用所述单次查询的查询方式以提高查询效率;当所述用户的查询任务需要更高的灵活性时,则可以选择采用所述多次查询的查询方式,以避免单次查询因使多个子查询形成统一的整体而不可避免地产生耦合性的问题。在上述技术方案中,优选地,还包括根据所述数据源、查询条件,保存历史记录。通过进行历史记录,不仅可以提高用户在进行多次重复查询时的效率,同时也可以为对于整个查询过程的检查核对提供必要的数据支持,进而保证通过所述数据查询处理方法的到的查询结果的可靠性。
通过以上技术方案,可以快速构建一个灵活可靠并可任意扩展的,对于异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增加和变化的要求。


图I示出了根据本发明的实施例的数据查询处理装置的框图;图2示出了根据本发明的实施例的数据查询处理方法的流程图;图3示出了根据本发明的实施例的数据查询处理装置的运行流程示意图;图4示出了根据本发明的实施例的数据查询处理装置的类图结构示意图;图5A至图5B示出了根据本发明的实施例的数据查询处理方法的应用实例界面示意图。
具体实施例方式为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式
对本发明进行进一步的详细描述。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。图I示出了根据本发明的实施例的数据查询处理装置的框图。如图I所示,根据本发明的实施例的数据查询处理装置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(η)和返回的查询结果之间的组合关系,所述查询发起端302在接收到查询返回的查询结果后会根据此策略组织出用户要求的树形结构。查询单元生成装置304 :查询单元生成装置304有2个作用,其一是调用查询单元生成策略306Α来初始化查询单元308集合;其二是作为多个查询间的隔离点,即查询单元308是被配置成无状态的方式,每个查询都会重新实例化一批新的查询单元308 (η),这样才能保证在并发环境中结果不会产生混乱。查询单元(以接口形式实现)308 :查询单元308 (η)是最终查询的执行者,其所执行的查询可以有以下两种实现方法,即多次查询和单次查询。I、多次查询,即对于每种数据类型使用单独的查询单元308 (η),因此查询单元的 划分非常简单。对于某一个查询单元的设计而言,不需要去考虑其他查询单元的设计方法,只需要考虑构建它与它前一级查询单元暴露出来的结果的上下级关系的方法即可。这种方法的缺点在于,如果数据的来源是在数据库或者远端,由于和当前的查询程序不在同一个进程中,进程间通讯将可能导致多次查询的效率在某些极端情况不理想。2、单次查询单次查询是首先构建出一次查询出所有结果所需构建的条件,比如在关系数据库查询上就是构建出一个可以查询出所有数据的SQL (Structured QueryLanguage,即结构化查询语言),而在其他类似的耗时跨进程调用中可能是构建出所有的调用参数。这样通过一个粗粒度的调用来减少时间消耗,达到效率优化的目的。这种方法的缺点在于,单次查询使多个子查询形成统一的整体,同时也带来了耦合性的问题,损失了一定的灵活性。因此,上述的两种查询方法可以根据实际的需要进行取舍。对与不同类型的数据向树形结构的整合上,两种查询方法所对应的构建策略也各有不同多次查询的方法需要知道前一级查询单元暴露出来的接口来确定当前查询元获得的数据如何与上一级拼接;而单次查询主要是通过构造器模式来拼接数据的,在这里,上述查询单元组合策略306B可以充当“指导人”的角色来“指导”查询单元308拼接数据。图4示出了根据本发明的实施例的数据查询处理装置的类图结构示意图。如图4所示,根据本发明的实施例的数据查询处理装置的类图结构包括以下部分列表视图类402 :查询单元308和数据单元410以在XML配置的形式实现实例化,它是构建策略的中心类,它的职责主要是获取当前的数据类型和查询单元308生成一套对应的查询策略。视图模型类404 :其作用是把当前生成的查询策略拷贝一份保存,以便下次在客户端数据单元410不变的情况下重新查询,可直接应用此策略。同时,所述视图模型类404还是一个数据的主要载体,用来组装策略。配置参数406 :主要是获取客户端各种配置项(属性)的值。解析类408 :这个类是查询策略的核心类,其解析步骤如下I、分析数据,拿到配置参数406的值,判断各配置项是否是可配置项,是,则更新查询策略的属性,否,则不更新。2、根据配置信息更新查询策略根据配置参数406、更新可配置属性的值,这是策略的最后更新,根据这次更新的结果,来查询最终数据。初始化查询单元308和数据单元410,都是通过配置文件注入的。这样设计,可根据不同的业务需求定义不同的查询单元308和相关业务单元,所以灵活可靠,也容易扩展和维护。图5A至图5B示出了根据本发明的实施例的数据查询处理方法的应用实例界面示意图。如图5A和图5B所示,根据本发明的实施例的数据查询处理方法在对于人力资源管理的组织机构图的查询中的应用实例界面包括如下部分如图5A所示,以组织机构中的行政体系为例,行政体系拥有三种数据类型,分别 是组织、部门、岗位。组织含有“是否包含下级组织”、“显示部门”、“显示撤销部门”、“显示虚拟部门”、“显示岗位”等可选属性(即非共享属性),同时如图5B所示,还有四个大的可配置项选择框(即共享属性),分别为生成选项、显示选项、节点属性、连接线属性。这每一个选项中含有多个可配置元。那么查询时就是将组织、部门、岗位和所选的属性和数据项组装成树结构去执行查询。以上结合附图详细说明了本发明的技术方案。通过本技术方案的应用,能够快速构建一个灵活可靠并可任意扩展的,对于异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增加和变化的要求。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据查询处理装置,其特征在于,包括 配置信息解析模块,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据类型; 查询条件设置模块,将所述多种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件; 数据查询模块,根据所述查询条件,从所述业务系统的数据源中查询所需数据。
2.根据权利要求I所述的数据查询处理装置,其特征在于,所述配置信息解析模块从所述配置信息中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具有的非共享属性,所述查询条件设置模块为所述用户提供所述多个数据类型以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选中数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性和非共享属性,生成查询条件。
3.根据权利要求2所述的数据查询处理装置,其特征在于,所述查询条件设置模块在图形界面展现所述多个数据类型以及所述共享属性、所述非共享属性,供所述用户选择。
4.根据权利要求I所述的数据查询处理装置,其特征在于,所述查询条件设置模块在所述用户选择的数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条件,或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述多个查询条件对应的查询顺序,所述数据查询模块根据所述单个查询条件执行一次查询,或根据所述多个查询条件执行多次查询,其中,根据所述数据源进行首次查询,以及根据前次查询的结果进行当前查询。
5.根据权利要求I至4中任一项所述的数据查询处理装置,其特征在于,还包括 历史记录保存模块,根据所述数据源、查询条件,保存历史记录。
6.一种数据查询处理方法,其特征在于,包括 步骤202,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据类型; 步骤204,将所述多种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件; 步骤206,根据所述查询条件,从所述业务系统的数据源中查询所需数据。
7.根据权利要求6所述的数据查询处理方法,其特征在于,所述步骤202还包括从所述配置信息中解析出所述多种数据类型均具有的共享属性,以及所述数据类型各自具有的非共享属性; 所述步骤204包括为所述用户提供所述多个数据类型以及所述共享属性,并根据用户选择的数据类型,为所述用户提供被选中数据类型的非共享属性,以及根据所述用户选择的数据类型、共享属性和非共享属性,生成查询条件。
8.根据权利要求7所述的数据查询处理方法,其特征在于,所述步骤204包括在图形界面展现所述多个数据类型以及所述共享数据、所述非共享属性,供所述用户选择。
9.根据权利要求6所述的数据查询处理方法,其特征在于,所述步骤204包括在所述用户选择的数据类型为多个时,为所述用户选择的数据类型统一生成单个查询条件,或为所述用户选择的数据类型生成对应的多个查询条件,并设置所述多个查询条件对应的查询顺序;所述步骤206包括根据所述单个查询条件执行一次查询,或根据所述多个查询条件执行多次查询,其中,根据所述数据源进行首次查询,以及根据前次查询的结果进行当前查询。
10.根据权利要求6至9中任一项所述的数据查询处理方法,其特征在于,还包括 根据所述数据源、查询条件,保存历史记录。
全文摘要
本发明提供了一种数据查询处理装置,包括配置信息解析模块,获取业务系统的配置信息,从所述配置信息中解析出所述业务系统相关的多种数据类型;查询条件设置模块,将所述多种数据类型提供给用户,并根据所述用户选择的数据类型生成查询条件;数据查询模块,根据所述查询条件,从所述业务系统的数据源中查询所需数据。相应地,本发明还提供了一种数据查询处理方法。通过本发明的技术方案,可以快速构建一个灵活可靠并可任意扩展的,对于异构数据构成的树形结构的查询方案,满足企业级应用中由于大数据量和数据类型多样化而产生的不断增加和变化的要求。
文档编号G06F17/30GK102819557SQ20121022448
公开日2012年12月12日 申请日期2012年6月28日 优先权日2012年6月28日
发明者吕亚明, 丰伟, 孙鹏 申请人:用友软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1