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

数据查询方法、装置、设备及介质

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


数据查询方法、装置、设备及介质

技术领域

本发明实施例涉及数据库技术领域,尤其涉及一种数据查询方法、装置、设备及介质。

背景技术

随着电网建设的不断发展,电网中包括的应用系统越来越多,在各类系统运作中产生的配用电相关数据也成指数型增长。

供电服务中心是营销业务与服务质量的监督机构,负责对营销系统业务办理情况及现场服务情况进行稽查。目前,关于营销档案异常数据的查询,主要依靠于各省公司统一规划开发的营销系统在线稽查模块,其中涉及的稽查规则可能无法满足某些地区的个性化业务需求,并且可能由于电网政策或业务的变化导致省级营销系统中的稽查规则未能及时更新,使查询到的异常数据的数量过多,从而增加了数据查询工作量,降低供电局的稽查工作效率。因此,如何实现个性化数据查询规则的制定,提高数据查询效率是亟待解决的问题。

发明内容

本发明实施例提供一种数据查询方法、装置、设备及介质,以实现个性化数据查询规则的制定,提高数据查询效率。

第一方面,本发明实施例提供了一种数据查询方法,包括:

获取用户输入的目标查询式,并在所述目标查询式中确定至少一个查询对象,以及关联查询条件;

获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足所述关联查询条件的关联数据表;

根据搜索结果,生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段;

根据各联合查询字段,生成与目标查询式对应的目标查询规则,并查询得到与所述目标查询规则匹配的查询结果数据。

第二方面,本发明实施例还提供了一种数据查询装置,包括:

目标查询式获取模块,用于获取用户输入的目标查询式,并在所述目标查询式中确定至少一个查询对象,以及关联查询条件;

关联数据表确定模块,用于获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足所述关联查询条件的关联数据表;

联合查询字段确定模块,用于根据搜索结果,生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段;

目标查询规则生成及数据查询模块,用于根据各联合查询字段,生成与目标查询式对应的目标查询规则,并查询得到与所述目标查询规则匹配的查询结果数据。

第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任意实施例所述的数据查询方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的数据查询方法。

本发明实施例提供的技术方案中,在用户输入的目标查询式中确定至少一个查询对象及关联查询条件,获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表,然后根据搜索结果生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段,再根据各联合查询字段生成与目标查询式对应的目标查询规则,并查询得到与之匹配的查询结果数据,通过用户输入的目标查询式自动生成与之对应的目标查询规则,实现了个性化数据查询规则的制定,提高了数据查询效率。

附图说明

图1是本发明实施例一中的一种数据查询方法的流程示意图;

图2是本发明实施例二中的一种数据查询方法的流程示意图;

图3是本发明实施例三中的一种数据查询装置的结构示意图;

图4是本发明实施例四中的一种计算机设备的硬件结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

实施例一

图1是本发明实施例一提供的一种数据查询方法的流程图,本发明实施例可适用于根据用户输入的查询式自动确定查表字段并生成查询规则的情况,该方法可以由本发明实施例提供的数据查询装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。

如图1所示,本实施例提供的一种数据查询方法,具体包括:

S110、获取用户输入的目标查询式,并在目标查询式中确定至少一个查询对象,以及关联查询条件。

目标查询式,指的是用户输入的查询条件,

查询对象,指的是目标查询式中的关键字段。

关联查询条件,指的是与查询对象之间的判断关系。

在用户输入的目标查询式中确定至少一个查询对象及关联查询条件。例如,用户输入的目标查询表达式可以是“计量点大于10kW”,其中,“计量点”即为查询对象,“大于10kW”即为关联查询条件。

S120、获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表。

原始查询数据表,指的是包含查询对象的数据表,例如,当用户查询外部电网的营销业务系统中的数据时,若用户输入的目标查询表达式为“计量点大于10kW”,则可以在外部电网的营销业务系统中获取到所有包含“计量点”(即查询对象)关键字段的数据表。当与查询对象匹配的原始查询数据表超过一个时,可以将所有的原始查询数据表存放至一数据列表中,得到原始查询数据表清单。

数据表关联关系知识库,用于记录一个或多个数据表与其他数据表之间关系的集合。其中,数据表关联关系知识库与目标业务系统(即用户查询数据时对应的系统,如营销业务系统、物资业务系统或财务系统等)一一对应。

关联查询条件,用于确定与原始查询数据表存在关联关系的关联数据表。在本发明实施例中,关联查询条件可以是原始查询数据表与关联数据表之间是否具有关联可行性。

关联数据表,指的是满足与原始查询数据表之间的关联查询条件的数据表。

在获取用户输入的目标查询式后,可以在与查询数据对应的目标业务系统中得到与查询对象匹配的至少一个原始查询数据表,并在该目标业务系统对应的数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表,如果存在满足关联查询条件的数据表,则将其作为原始查询数据表的关联数据表。

考虑到用户在查询数据时,可能只知道与期望得到的查询结果对应的查询字段,但是并不清楚该查询字段所对应的数据表与其他数据表之间的关联关系,也就是说,当用户输入目标查询式后,可能无法直接根据该目标查询式进行数据查询并得到与目标查询式匹配的查询结果。例如,当用户输入的目标查询表达式为“计量点大于10kW”时,包含“计量点”关键字段的计量点数据表所对应的程序代码无法对计量点大小关系进行判断,也就是说,用户不能根据“计量点大于10kW”的目标查询表达式得到与之匹配的查询结果,而是需要通过电价代码表中的电价代码去查询字典表后,才能得到符合“计量点大于10kW”的查询结果。因此,在本发明实施例中,当获取到与查询对象匹配的至少一个原始查询数据表时,在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表,即可以在获取到计量点数据表时,在数据表关联关系知识库中搜索与其满足关联查询条件的电价代码表。

可选的,在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表之前,还可以包括:若原始查询数据表中的数据存在异常,则舍弃该原始查询数据表。

在搜索关联数据表之前,还可以先对原始数据表的准确性及完整性进行判断,例如,当某个原始查询数据表中的数据丢失,则可以将该原始查询数据表舍弃后再进行搜索,以保证数据查询结果的准确性,并且提高数据查询效率。

S130、根据搜索结果,生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段。

数据表关联结构对,指的是一个包括原始查询数据表,以及与其满足关联查询条件的关联数据表的数据表集合。

数据表结构知识库,用于记录所有数据表结构的集合。其中,数据表结构知识库中包含各字段的字段名称、类型、与主关键字段(即主键)的关系、字段宽度及在数据表中的存储顺序等。数据表结构知识库与目标业务系统一一对应。

联合查询字段,指的是与数据表关联结构对对应的字段。通过联合查询字段可以查询到与原始查询数据表满足关联查询条件的关联数据表,确定能够与原始查询数据表进行关联的数据表。

根据在数据表关联关系知识库中搜索到的与各原始查询数据表满足关联查询条件的关联数据表,生成至少一个数据表关联结构对,并在数据表结构知识库中查询与每个数据表关联结构对分别对应的联合查询字段。

示例性的,在数据表关联关系知识库中搜索与计量点表满足关联查询条件的关联数据表,至少可以生成一个包括计量点表和电价代码表的数据表关联结构对,在数据表结构知识库中查询与该数据表关联结构对对应的联合查询字段,得到的联合查询字段为“地区编码”和“计量点电价”,即可以通过“地区编码”和“计量点电价”两个字段查询到电价代码表并获得对应的电价代码,实现了可以根据用户输入的目标查询式自动确定可以与原始查询数据表构成关联的关联数据表。

S140、根据各联合查询字段,生成与目标查询式对应的目标查询规则,并查询得到与目标查询规则匹配的查询结果数据。

目标查询规则,指的是根据联合查询字段生成的与目标查询式对应且可以获得匹配的查询结果数据的查询规则。

查询结果数据,指的是根据目标查询规则查询到的数据结果。

根据各联合查询字段生成与目标查询式对应的目标查询规则,并利用目标查询规则查询数据,即可得到满足用户输入的目标查询式的查询结果数据。

可选的,根据各联合查询字段,生成与目标查询式对应的目标查询规则,可以包括:根据各联合查询字段,对各联合查询字段的查询顺序及连接方式进行配置,生成与目标查询式对应的目标查询规则。

各联合查询字段的查询顺序,用于确定生成的目标查询规则中各联合查询字段在查询数据时应用的先后顺序。

各联合查询字段的连接方式,用于确定生成的目标查询规则中各联合查询字段的连接方式。其中,连接方式至少可以包括与或非、包含、左半连接(Left Semi Join)、左反连接(Left Anti Join)。

需要指出的是,在生成与目标查询式对应的目标查询规则时,如果存在用户指定的字段,则可以根据各联合查询字段和/或用户的指定字段,生成与目标查询式对应的目标查询规则。进一步的,还可以根据各联合查询字段和/或用户的指定字段,配置用户所关注的回显字段,其中,回显字段用于确定查询结果数据的反馈形式以及校验目标查询规则的准确度。

作为一种可选的实施方式,在查询得到与目标查询规则匹配的查询结果数据之后,还可以包括:对查询结果数据进行统计分析,并对数据表结构知识库和数据表关联关系知识库进行运维。

其中,对查询结果数据进行统计分析时可以采用列表查询或图表统计等任一分析方式,本发明实施例对此不做具体限定。

知识库运维,指的是对数据表结构知识库和数据表关联关系知识库进行完善和更新,以提高数据表结构知识库和数据表关联关系知识库的准确度。

在根据目标查询规则查询到与之匹配的查询结果数据后,可以对查询到的结果进行分析,为用户对目标查询规则及查询结果数据的理解和优化提供了参考依据,并且可以运维数据表结构知识库和数据表关联关系知识库,以保障数据表结构及数据表关联关系的一致性,提高生成的目标查询规则的准确度。

本发明实施例提供的技术方案,在用户输入的目标查询式中确定至少一个查询对象及关联查询条件,获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表,然后根据搜索结果生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段,再根据各联合查询字段生成与目标查询式对应的目标查询规则,并查询得到与之匹配的查询结果数据,通过用户输入的目标查询式自动生成与之对应的且能够得到查询数据结果的目标查询规则,实现了个性化数据查询规则的制定,提高了数据查询效率。

实施例二

图2是本发明实施例二提供的一种数据查询方法的流程图。本实施例在上述实施例的基础上进行具体化,其中,可以将在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表,具体为:

依次获取一个原始查询数据表作为当前处理数据表;

在数据表关联关系知识库中,获取与当前处理数据表具有直连关系,和/或,具有至少一级级联关系的备选关联数据表;

在数据表关联关系知识库中,获取各备选关联数据表与当前处理数据表之间的标准查询条件;

将各标准查询条件与关联查询条件进行相似度计算,获取相似度计算结果满足门限阈值的备选关联数据表,作为原始查询数据表的关联数据表;

返回执行依次获取一个原始查询数据表作为当前处理数据表的操作,直至完成对全部原始查询数据表的处理。

进一步的,查询得到与目标查询规则匹配的查询结果数据,可以包括:

根据目标查询规则,利用预先创建的脚本生成模板,生成与目标查询规则对应的目标查询脚本;

执行目标查询脚本,查询得到与目标查询规则匹配的查询结果数据。

如图2所示,本实施例提供的一种数据查询方法,具体包括:

S210、获取用户输入的目标查询式,并在目标查询式中确定至少一个查询对象,以及关联查询条件。

S220、获取与查询对象匹配的至少一个原始查询数据表。

S230、依次获取一个原始查询数据表作为当前处理数据表。

其中,当前处理数据表指的是当前需要判断表间关联可行性及数据表准确性的原始查询数据表。

S240、在数据表关联关系知识库中,获取与当前处理数据表具有直连关系,和/或,具有至少一级级联关系的备选关联数据表。

直连关系,指的是当前处理数据表具有可以直接根据表示允许数据表连接的字段与备选关联数据表进行连接的关系。

级联关系,指的是当前处理数据表需要通过中间数据表与备选关联数据表进行连接的关系。例如,一级级联关系对应的数据表连接关系为“当前处理数据表-中间数据表1-备选关联数据表”,二级级联关系对应的数据表连接关系为“当前处理数据表-中间数据表1-中间数据表2-备选关联数据表”等。在本发明实施例中,为了提高数据查询效率,可以预先设定备选关联数据表允许具有的最大级联关系级数,例如,可以是二级级联关系,也即当前处理数据表最多可以通过两张中间表与备选关联数据表相连。

备选关联数据表,指的是在数据表关联关系知识库中,与当前处理数据表具有映射关系的所有数据表,备选关联数据表可以为一个,也可以为多个。

根据数据表关联关系知识库,确定与当前处理数据表具有直连关系,和/或,具有至少一级级联关系的备选关联数据表。

需要指出的是,在数据表关联关系知识库中,若无法获取与当前处理数据表具有直连关系,以及具有至少一级级联关系的备选关联数据表时,则可以在系统前端的显示界面中反馈当前处理数据表无法进行连接,以提示用户无法根据当前处理数据表进行数据查询操作。

S250、在数据表关联关系知识库中,获取各备选关联数据表与当前处理数据表之间的标准查询条件。

其中,标准查询条件用于确定各备选关联数据表与当前处理数据表之间的关联关系。

S260、将各标准查询条件与关联查询条件进行相似度计算,获取相似度计算结果满足门限阈值的备选关联数据表,作为原始查询数据表的关联数据表。

相似度计算,用于确定各标准查询条件与关联查询条件间的相似情况。

相似度计算结果,指的是对各标准查询条件与关联查询条件进行相似度计算后得到的结果。

门限阈值,指的是一个用于衡量相似度结果的标准值。当某个备选关联数据表对应的相似度计算结果满足门限阈值时,可以将该备选关联数据表作为原始查询数据表的关联数据表。

需要指出的是,在将各标准查询条件与关联查询条件进行相似度计算时,可以根据预先设定的关联查询条件的类型与各标准查询条件间的映射关系确定,也可以采用现有技术中的任一种相似度计算方式进行查询条件的相似度计算,本发明实施例对此不做具体限定。

考虑到当前处理数据表可能与多个备选关联数据表具有直接关系和/或至少一级级联关系,不同的备选关联数据表可能对应不同的标准查询条件,为了确定与用户输入的目标查询式中的关联查询条件相关的关联数据表,可以对各标准查询条件与关联查询条件进行相似度计算,根据相似度计算结果与门限阈值的关系确定原始查询数据表的关联数据表。

S270、判断是否完成对全部原始查询数据表的处理,若否,则返回执行S230,若是,则执行S280。

如果已完成对全部原始查询数据表的处理,则根据搜索结果,生成数据表关联结构对,并确定联合查询字段;如果未完成对全部原始查询数据表的处理,则可以返回执行依次获取一个原始查询数据表作为当前处理数据表的操作,直至完成对全部原始查询数据表的处理。

S280、根据搜索结果,生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段。

在对营销系统业务办理情况及现场服务情况进行稽查时,主要是为了发现系统中的业务问题、流程问题或程序问题等,在复杂的业务和多系统联动的背景下,通常无法确认每个数据表的结构和数据表中的数据是否都合理准确,但是一些关键数据表中的关键字段,可以作为数据准确性和一致性校验的基准。例如,假设数据表在需要获取用户信息时,都必须以用电客户表(即关联数据表)中的“用户编号”字段进行连接,其中,“用户编号”字段即为关键字段,但是并不是所有的数据表都包括“用户编号”字段,因此需要根据数据表关联关系知识库和数据表结构知识库,确定各原始查询数据表中非同名字段在允许与用电客户表进行数据表直连时对应的字段(即联合查询字段),如果不含有允许进行数据表直连的字段,则在获取用户信息时,可以通过中间表进行数据表的连接,从而保证生成的目标查询规则中能够包括“用户编号”这个关键字段,确保生成的目标查询规则的精准度。

S290、根据各联合查询字段,生成与目标查询式对应的目标查询规则。

S2100、根据目标查询规则,利用预先创建的脚本生成模板,生成与目标查询规则对应的目标查询脚本。

脚本生成模板,用于生成与目标查询规则对应的脚本文件。考虑到电网大数据平台中通常采用的是Hadoop(一种分布式系统基础架构)、Hive(基于Hadoop的一个数据仓库工具)和Spark(一种大数据处理计算引擎)的大数据技术体系,因此在本发明实施例中,预先创建的脚本生成模板可以是基于Yarn(分布式集群的资源管理器,负责资源的管理和分配)运行的Spark计算框架和Spark SQL(Spark计算框架中用于处理结构化数据的一个模块),预先创建的一个Velocity(一个基于Java的模板引擎)模板。脚本生成模板可以进行在线运维,解耦合的同时也能够保证在对脚本生成模板进行改动时,减少运维人员的工作量。

目标查询脚本,指的是与目标查询规则对应的可被执行的程序代码。脚本的部署方式可以采用Spark OnYarn的提交方式。

利用预先创建的脚本生成模板,对目标查询脚本进行定制,生成与目标查询规则对应的目标查询脚本,确保可以在大数据平台中正常执行与目标查询规则对应的目标查询脚本,并得到预期的查询结果数据。

需要指出的是,在生成与目标查询规则对应的目标查询脚本时,可以指定目标查询脚本的版本,并且可以根据大数据平台的实际部署工作情况,对指定的目标查询脚本的版本进行启用或禁用等操作进行配置。一个与目标查询规则对应的目标查询脚本可以对应多个版本,实际执行哪一个版本对应的目标查询脚本可以以大数据平台所部署的版本为主,例如,在数据查询时只使用最新版本的目标查询脚本进行数据查询,其他的历史版本仅用于目标查询脚本的备份,以供用户能够对各个版本的目标查询脚本所对应的目标查询规则进行对比分析。

可选的,利用预先创建的脚本生成模板,生成与目标查询规则对应的目标查询脚本,可以包括:根据数据表关联关系知识库,确定与目标查询规则对应的目标联表路径,并生成目标联表语句;利用预先创建的脚本生成模板,根据目标查询规则及目标联表语句,生成与目标查询规则对应的目标查询脚本。

目标联表路径,指的是目标查询规则中涉及的所有数据表之间的联表方式。

目标联表语句,指的是根据目标查询规则,将其中涉及的所有数据表通过语法进行连接得到的与目标查询规则对应的查表语句。

对于不同的联表方式,可能使最终得到的数据查询结果有一定的偏差,因此可以根据数据表关联关系知识库,确定一条与目标查询规则对应的最准确、最高效的目标联表路径,并生成目标联表语句,然后利用预先创建的脚本生成模板,根据目标查询规则及目标联表语句,生成与目标查询规则对应的目标查询脚本,提高生成的目标查询脚本的准确率以及查询得到的查询结果数据的精准度。

需要指出的是,在根据目标查询规则中的联合查询字段确定目标联表路径时,若有多个数据表具有同一个联合查询字段,则需要确保选择的数据表应为核心数据表(即关联数据表),并根据数据表关联关系知识库中的优先级依次选取字段,利用预先创建的脚本生成模板,生成与目标查询规则对应的目标查询脚本。如果是根据用户指定的查询字段及联表字段的来源确定目标联表路径时,可以不根据数据表关联关系知识库中的优先级选取字段,强制按照用户的指定字段及联表字段,利用预先创建的脚本生成模板,生成与目标查询规则对应的目标查询脚本。

S2110、执行目标查询脚本,查询得到与目标查询规则匹配的查询结果数据。

生成与目标查询规则对应的目标查询脚本后,可以自动将目标查询脚本上传至大数据平台中,执行目标查询脚本对数据进行查询,并得到与目标查询规则匹配的查询结果数据,也即得到满足用户输入的目标查询式的数据。

可选的,执行目标查询脚本,查询得到与目标查询规则匹配的查询结果数据,可以包括:根据预先配置的与目标查询脚本对应的定时器,执行目标查询脚本,查询得到与目标查询规则匹配的查询结果数据。

其中,定时器用于确定目标查询脚本的执行时间及查询结果数据的推送时间。

可以根据预先配置的定时器,自动生成shell命令并开始执行目标查询脚本,根据与目标查询脚本对应的目标查询规则进行数据查询,并且按照定时器中预先配置的查询结果数据的推送时间,将得到的查询结果数据推送至指定位置,例如,可以推送至用于存放与目标查询规则对应的查询结果数据的目标查询规则结果集中。

本实施例未尽详细解释之处请参见前述实施例,在此不再赘述。

上述技术方案,依次获取一个原始查询数据表作为当前处理数据表,在数据表关联关系知识库中获取备选关联数据表,在数据表关联关系知识库中获取标准查询条件,然后根据各标准查询条件与关联查询条件间的相似度确定原始查询数据表的关联数据表,并根据各联合查询字段生成与目标查询式对应的目标查询规则,之后再根据目标查询规则,利用预先创建的脚本生成模板生成目标查询脚本,通过用户输入的目标查询式自动生成与之对应的目标查询规则,实现了个性化数据查询规则的制定,提高了数据查询效率,同时利用脚本生成模板生成目标查询脚本,减少了系统的开发周期,降低了对用户的技术要求。

实施例三

图3是本发明实施例三提供的一种数据查询装置的结构示意图,本发明实施例可适用于根据用户输入的查询式自动确定查表字段并生成查询规则的情况,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。

如图3所示,该数据查询装置具体包括:目标查询式获取模块310、关联数据表确定模块320、联合查询字段确定模块330和目标查询规则生成及数据查询模块340。其中,

目标查询式获取模块310,用于获取用户输入的目标查询式,并在所述目标查询式中确定至少一个查询对象,以及关联查询条件;

关联数据表确定模块320,用于获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足所述关联查询条件的关联数据表;

联合查询字段确定模块330,用于根据搜索结果,生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段;

目标查询规则生成及数据查询模块340,用于根据各联合查询字段,生成与目标查询式对应的目标查询规则,并查询得到与所述目标查询规则匹配的查询结果数据。

本发明实施例提供的技术方案,在用户输入的目标查询式中确定至少一个查询对象及关联查询条件,获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足关联查询条件的关联数据表,然后根据搜索结果生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段,再根据各联合查询字段生成与目标查询式对应的目标查询规则,并查询得到与之匹配的查询结果数据,通过用户输入的目标查询式自动生成与之对应的目标查询规则,实现了个性化数据查询规则的制定,提高了数据查询效率。

可选的,关联数据表确定模块320,具体用于:依次获取一个原始查询数据表作为当前处理数据表;在所述数据表关联关系知识库中,获取与所述当前处理数据表具有直连关系,和/或,具有至少一级级联关系的备选关联数据表;在所述数据表关联关系知识库中,获取各所述备选关联数据表与所述当前处理数据表之间的标准查询条件;将各所述标准查询条件与所述关联查询条件进行相似度计算,获取相似度计算结果满足门限阈值的备选关联数据表,作为所述原始查询数据表的关联数据表;返回执行依次获取一个原始查询数据表作为当前处理数据表的操作,直至完成对全部原始查询数据表的处理。

可选的,目标查询规则生成及数据查询模块340,具体用于根据各联合查询字段,对各联合查询字段的查询顺序及连接方式进行配置,生成与所述目标查询式对应的目标查询规则。

可选的,目标查询规则生成及数据查询模块340,包括:目标查询脚本生成单元和目标查询脚本执行单元,其中,

目标查询脚本生成单元,用于根据所述目标查询规则,利用预先创建的脚本生成模板,生成与所述目标查询规则对应的目标查询脚本;

目标查询脚本执行单元,用于执行所述目标查询脚本,查询得到与所述目标查询规则匹配的查询结果数据。

可选的,目标查询脚本生成单元,具体用于根据所述目标查询规则中涉及的所有数据表,以及所述数据表关联关系知识库,确定与所述目标查询规则对应的目标联表路径,并生成目标联表语句;利用预先创建的脚本生成模板,根据所述目标查询规则及所述目标联表语句,生成与所述目标查询规则对应的目标查询脚本。

可选的,目标查询脚本执行单元,具体用于根据预先配置的与所述目标查询脚本对应的定时器,执行所述目标查询脚本,查询得到与所述目标查询规则匹配的查询结果数据,其中,所述定时器用于确定所述目标查询脚本的执行时间及所述查询结果数据的推送时间。

可选的,上述装置还包括:查询结果数据分析和知识库运维模块,其中,查询结果数据分析和知识库运维模块用于对所述查询结果数据进行统计分析,并对所述数据表结构知识库和所述数据表关联关系知识库进行运维。

上述数据查询装置可执行本发明任意实施例所提供的数据查询方法,具备执行数据查询方法相应的功能模块和有益效果。

实施例四

图4为本发明实施例四提供的一种计算机设备的硬件结构示意图,如图4所示,该计算机设备包括:

一个或多个处理器410,图4中以一个处理器410为例;

存储器420;

所述计算机设备还可以包括:输入装置430和输出装置440。

所述计算机设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或者其他方式连接,图4中以通过总线连接为例。

存储器420作为一种非暂态计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模包,如本发明实施例中的数据查询方法对应的程序指令/模包(例如,附图3所示的目标查询式获取模块310、关联数据表确定模块320、联合查询字段确定模块330和目标查询规则生成及数据查询模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模包,从而执行计算机设备的各种功能应用以及数据处理,即实现上述方法实施例中的数据查询方法。

存储器420可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非暂态性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态性固态存储器件。在一些实施例中,存储器420可选包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。

实施例五

本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的一种数据查询方法:也即,该程序被处理器执行时实现:

获取用户输入的目标查询式,并在所述目标查询式中确定至少一个查询对象,以及关联查询条件;

获取与查询对象匹配的至少一个原始查询数据表,并在数据表关联关系知识库中搜索是否存在与各原始查询数据表满足所述关联查询条件的关联数据表;

根据搜索结果,生成至少一个数据表关联结构对,并在数据表结构知识库中,查询得到与每个数据表关联结构对分别对应的联合查询字段;

根据各联合查询字段,生成与目标查询式对应的目标查询规则,并查询得到与所述目标查询规则匹配的查询结果数据。

可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言(诸如Java、Smalltalk、C++),还包括常规的过程式程序设计语言(诸如“C”语言或类似的程序设计语言)。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN)),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

相关技术
  • 数据存储方法和装置、数据查询方法和装置、数据结构、电子设备及计算机可读存储介质
  • 基于主从数据库的数据查询方法、装置、设备及存储介质
技术分类

06120112941378