数据查询方法、装置、系统、电子设备和存储介质与流程

1.本技术涉及计算机技术,具体涉及一种数据查询方法、装置、系统、电子设备和存储介质。

背景技术


::2.随着移动互联网、工业互联网和物联网产业的不断发展与渗透,许多拥有大量数据资产的组织均建立了自有的数据仓库。这些数据仓库可进行数据的查询。3.现有数据仓库即席查询方案中,有时候数据仓库内部的数据可能关联到数据仓库外部的数据,这样在对数据仓库外部的数据进行查询时,需要对要查询的外部数据执行数据抽取、转换和加载(extraction-transformation-loading,etl)过程,将外部数据按标准化的管理流程接入到数据仓库中。4.上述数据仓库即席查询方案会造成不方便利用数据仓库进行外部数据的查询,在利用数据仓库对外部数据查询时,过程繁琐。技术实现要素:5.本技术实施例的目的是提供一种数据查询方法、装置、系统、电子设备和存储介质,以实现直接在内部数据库内进行外部数据的查询,不需事先对外部数据进行etl操作,数据查询方便、简单。6.本技术的技术方案如下:7.第一方面,提供了一种数据查询方法,该方法包括:8.接收客户端发送的数据查询指令;9.对所述数据查询指令进行解析,得到解析结果;10.根据所述解析结果,确定所述数据查询指令中的待查询数据的数据标识;11.在确定所述数据标识包括外部数据的情况下,基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中;12.在所述内部数据库中对所述待查询数据进行查询,得到查询结果;13.将所述查询结果反馈至所述客户端。14.第二方面,提供了一种数据查询装置,该装置包括:15.数据查询指令接收模块,用于接收客户端发送的数据查询指令;16.解析模块,用于对所述待查询数据进行解析,得到解析结果;17.数据标识确定模块,用于根据所述解析结果,确定所述数据查询指令中的待查询数据的数据标识;18.数据引入模块,用于在确定所述数据标识包括外部数据的情况下,基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中;19.数据查询模块,用于在所述内部数据库中对所述待查询数据进行查询,得到查询结果;20.查询结果反馈模块,用于将所述查询结果反馈至所述客户端。21.第三方面,本技术实施例提供了一种数据查询系统,该系统包括:客户端、数据协调器和内部数据库;22.所述客户端,用于响应于用户的数据查询操作,生成数据查询指令,并将所述数据查询指令发送至所述数据协调器中;23.所述数据协调器,与所述客户端通信连接,用于执行本技术任意实施例所述的数据查询方法;24.所述客户端,用于接收所述内部数据库反馈的待查询数据。25.第四方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现本技术任意实施例所述的数据查询方法的步骤。26.第五方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现本技术任意实施例所述的数据查询方法的步骤。27.本技术的实施例提供的技术方案至少带来以下有益效果:28.本技术实施例提供的数据查询方法,通过对接收到的客户端发送的数据查询指令进行解析,在确定数据查询指令中的待查询数据的数据标识中包括外部数据的情况下,基于与外部数据对应的配置信息,将外部数据引入内部数据库中,这样利用与外部数据对应的配置信息直接将外部数据引入到内部数据库中,可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到数据仓库中。29.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。附图说明30.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理,并不构成对本技术的不当限定。31.图1是本技术实施例提供的数据查询系统的结构示意图;32.图2是本技术实施例提供的数据查询系统对数据进行查询的查询流程示意图;33.图3是本技术实施例提供的协调处理模块的处理流程示意图;34.图4是本技术实施例提供的获取外部数据的示意图;35.图5是本技术实施例提供的一种数据查询方法的流程示意图一;36.图6是本技术实施例提供的一种数据查询方法的流程示意图二;37.图7是本技术实施例提供的一种数据查询装置的结构示意图;38.图8是本技术实施例提供的一种电子设备的结构示意图。具体实施方式39.为了使本领域普通人员更好地理解本技术的技术方案,下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。应理解,此处所描述的具体实施例仅意在解释本技术,而不是限定本技术。对于本领域技术人员来说,本技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本技术的示例来提供对本技术更好的理解。40.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的例子。41.基于背景知识可知,现有拥有大量数据资产的组织均建立了自有的数据仓库,其目的在于整合分散于不同系统平台(部门机构)间的数据,形成整个组织级别的数据池,实现数据共享,最大限度发挥,挖掘出数据资产的价值。42.现有数据仓库即席查询方案中,只限于数据仓库中已经加装的数据,对于数据仓库外部的数据均无法在数据仓库内实现即席查询,为此在对数据仓库外部的数据进行查询时,需要对要查询的外部数据执行数据抽取、转换和加载(extraction-transformation-loading,etl)过程,将外部数据按标准化的管理流程接入到数据仓库中。这样,上述数据仓库即席查询方案会造成不方便利用数据仓库进行外部数据的查询,在利用数据仓库对外部数据查询时,过程繁琐。43.为了解决上述问题,本技术提供了一种数据查询系统,利用该系统,可直接在数据仓库内对数据仓库内部的数据,以及数据仓库外部的数据进行查询,不需要事先对外部数据进行etl操作,查询过程简单方便。44.本技术提供的数据查询系统,具体的可以参见如下实施例。45.需要说明的是,本技术中以基于大数据处理技术的数据仓库组件hive进行阐述与演示,但本领域技术人员应该知道,本技术仅是以基于大数据处理技术的数据仓库组件hive为例来进行说明,并非只能是基于大数据处理技术的数据仓库组件hive,还可以是其他的数据仓库组件,这里不做限定。46.请参见图1,数据查询系统包括客户端100、数据协调器200和内部数据库300。47.其中,客户端100,用于响应于用户的数据查询操作,生成数据查询指令,并将数据查询指令发送至数据协调器中;数据协调器200,与客户端100通信连接,用于接收客户端发送的数据查询指令;对数据查询指令进行解析,得到解析结果;根据解析结果,确定数据查询指令中的待查询数据的数据标识;在确定数据标识包括外部数据的情况下,基于与外部数据对应的配置信息,将外部数据引入到内部数据库300中;在内部数据库中对待查询数据进行查询,得到查询结果;将查询结果反馈至客户端;客户端100,用于接收内部数据库300反馈的查询结果。48.其中,客户端可以是任意可执行数据查询操作的客户端,例如可以是移动手机客户端、电脑客户端或平板等。49.数据查询操作可以是对数据进行查询的操作,例如,可以是用户通过在客户端输入要查询的数据的名称或者标识等,比如,用户想要在客户端的d盘中查询某一文件,可在d盘中输入该文件的名称或者该文件标识等。客户端的服务器响应于用户的数据查询操作,生成数据查询指令。50.数据查询指令可以是响应于用户的数据查询操作所生成的指令。51.数据协调器可以是一个用于对数据查询指令进行处理的设备,例如,可以是处理器等。52.待查询数据可以是用户想要查询的数据,例如,用户想要获取客户端的d盘中查询某一文件,则该文件即为待查询数据。53.待查询数据的数据标识可以是用于表征待查询数据的标识,例如,用户想要获取客户端的d盘中查询某一文件,则该文件为待查询数据,待查询数据的数据标识可以但不限于是该文件的名称或者该文件的关键字等。54.外部数据可以是不属于内部数据库中的数据。例如,用户想要获取客户端的d盘中查询某一文件,但该文件是基于内部数据库之外的其他文件得到的,则该内部数据库之外的其他文件为外部数据。55.内部数据库可以是存储有用户想要查询的数据的数据库,但在该数据库中并不包括查外部数据。即上述

背景技术


:中所提到的数据仓库。56.配置信息可以是基于外部数据,对外部数据进行配置的信息,例如,可以是外部数据的获取信息,具体的可以是获取外部数据的方式和接口等。57.查询结果可以是对待查询数据进行查询后所得到的数据,即用户想要查询的数据,也就是说查询结果为待查询数据。58.当用户在客户端进行数据查询的操作后,客户端的服务器响应于用户执行的数据查询操作,生成数据查询指令,并将该数据查询指令发送给数据协调器,以使数据协调其对数据查询指令进行处理,得到解析结果,在确定待查询指令中的待查询数据的数据标识中包括外部数据的情况下,根据与外部数据对应的配置信息,将外部数据引入到内部数据库中,这样可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到内部数据库中。59.本技术实施例的技术方案,提供一种数据查询系统,通过数据查询系统中的客户端响应于用户执行的数据查询操作,生成数据查询指令,并将该数据查询指令发送给数据协调器,以使数据协调其对数据查询指令进行处理,得到解析结果,在确定待查询指令中的待查询数据的数据标识中包括外部数据的情况下,根据与外部数据对应的配置信息,将外部数据引入到内部数据库中,这样可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到内部数据库中。60.为了详细介绍本技术提供的数据查询系统中的数据协调器的具体工作方式,本技术提供了数据查询系统的另一种实现方式,具体的可以是数据协调器的具体工作方式,具体可参见如下实施例。61.由于数据协调器的作用是对内部数据库进行访问,因此,在利用数据协调器进行工作之前,首先要对内部数据库提供标准的接口,以对内部数据库进行访问。由于本技术中是基于大数据处理技术的数据仓库组件hive进行阐述与演示的,因此,基于hive来对内部数据库进行语法定义。62.hive为内部数据库提供对应的接口,即结构化查询语言(structuredquerylanguage,sql)接口,但sql只能查询内部数据库中的数据。利用通用语法表达外部数据,定义如下:63.datasource_id[.namespace][…][.namespace].dataobject[0064]下表1为对上述语法中的各标识的解释。[0065]表1通用语法解释[0066][0067][0068]在一个示例中,namespace可以是一个数据源中的命名空间,其可以是没有的,即一个数据可直接存储在该数据源中,也可以是嵌套多层。例如,一个数据b可以存储在一个数据源q下,也可以在该数据源q下设置多个嵌套存储空间,将数据b存储在嵌套的存储空间中。namespace的数量可根据用户需求自行设置,这里不做限定。[0069]示例性的,假设内部数据库中已有数据a,某个基于mysql数据库的外部数据源mysql实例中存储有想要和数据a直接关联使用的临时性数据tmp,该数据所在的数据库为db,同时在主机host上的用户user主目录home下存有需要文件tmpfile,三者关联的分析任务,可直接抽象表达为:[0070]select《columns》froma[0071]joinmysql.db.tmpon《join-condition》[0072]joinhost.user.tmpon《join-condition》[0073]本技术中实施例的技术方案,通过对数据查询系统的语法进行定义,可以使数据查询系统根据设置的语法进行工作,避免在使用该数据查询系统时,各种程序语法混乱,造成数据查询系统的不兼容,影响数据查询。[0074]上述实施例介绍了对数据查询系统的语法定义,在对语法进行定义完成后,可利用该数据查询系统进行工作,以实现在内部数据库中对内部数据库之外的外部数据的查询,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到内部数据库中。[0075]下面详细介绍数据协调器的详细工作流程。[0076]请参见图2,利用本技术提供的数据查询系统对数据进行查询的查询流程图。[0077]在图2中,数据协调器包括接口模块201、命令分析模块202、配置模块203和协调处理模块204和数据适配模块205。[0078]客户端生成数据查询指令后并不直接发送至hive内部数据库,以及外部数据源处理,而是发送至数据协调器中的接口模块201中。[0079]接口模块201,用于接收所述数据查询指令,并将所述数据查询指令发送至命令分析模块。[0080]命令分析模块202,与接口模块电连接,用于接收所述数据查询指令,并对数据查询指令进行解析,确定要查询的数据对应的数据标识,数据源,以及各数据之间的依赖关系,形成解析结果。[0081]数据适配模块205,与命令分析模块电连接,用于接收解析结果,在确定解析结果中具有外部数据的情况下,基于与外部数据对应的外部数据源400,生成访问外部数据的访问命令。[0082]配置模块203,与数据适配模块电连接,用于接收数据适配模块发送的访问命令,基于访问命令,对外部数据的访问进行配置,形成配置信息。[0083]协调处理模块204,分别与数据适配模块、配置模块、接口模块和命令分析模块电连接,用于基于命令分析模块输出的解析结果,以及各数据之间的依赖关系,协调调度各个外部数据源与内部数据库之间的操作,完备内部数据库完成最终分析需要的各种条件,向数据适配模块发送访问外部数据的请求。[0084]数据适配模块结合配置模块中对外部数据源的配置信息,依据协调处理模块发送的数据访问请求,获取外部数据源中的数据,将其引入到内部数据库中。[0085]然后在内部数据库中对要查询的内部数据和外部数据进行查询,得到待查询数据,通过接口模块将待查询数据发送至客户端。[0086]本技术实施例的技术方案,通过数据协调器中各个模块之间的相互配合作用,实现了将外部数据引入到内部数据库中,这样可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到内部数据库中。[0087]上述实施例介绍了数据协调器中各个模块之间的相互配合作用,下面介绍各个模块的具体工作流程,请参见如下实施例。[0088]1、接口模块201[0089]接口模块用于接收客户端发送的数据解析指令,并将查询结果反馈至客户端。[0090]2、命令分析模块202[0091]命令分析模块在接收到数据查询指令后,对数据查询指令进行词法分析和语法分析,形成解析结果。[0092]在一个示例中,解析结果可以是以表格形式进行展示,例如,可以是如下表2所示:[0093]表2数据查询指令解析结果[0094][0095]命令分析模块还用于根据解析结果,确定要查询的数据对应的数据标识,数据源,以及各数据之间的依赖关系。[0096]在一个示例中,根据解析结果,确定要查询的数据对应的数据标识,具体的可以是:从解析结果中识别数据标识,在数据标识中存在与外部数据源的标识一致的数据标识的情况下,确定解析结果中包括外部数据。[0097]示例性的,识别上述表2中的数据标识,在上述表2中的数据标识中存在与外部数据源的标识一致的数据标识的情况下,确定解析结果中包括外部数据。例如,上述表2中的数据标识mysql_db_tmp和user_host_home_tmp与外部数据源的标识一致,则确定解析结果中包括有外部数据。[0098]同样的,还可以根据从解析结果中识别数据标识,在数据标识中存在与内部数据库的标识一致的数据标识的情况下,确定解析结果中包括内部数据。[0099]示例性的,识别上述表2中的数据标识,在上述表2中的数据标识中存在与内部数据库的标识一致的数据标识的情况下,确定解析结果中包括内部数据。例如,上述表2中的数据标识dw_result与内部数据库hive的标识一致,则确定解析结果中包括有内部数据。[0100]在一个示例中,命令分析模块在对数据查询这里进行解析时,根据获取到的数据标识,可确定数据标识所对应的数据之间的依赖关系,即表2中的依赖关系字段。[0101]这样将要查询的数据分为内部数据库中的内部数据,以及外部数据源中的外部数据,将大的查询分析认为转化为多个小任务,把原始的数据查询指令分解为多个更小的针对不同数据源的子操作,以便后续针对不同的数据源中的数据,执行不同的操作,节省计算资源。[0102]3、数据适配模块205[0103]数据适配模块接收命令分析模块发送的数据查询指令的解析结果,在确定解析结果中具有外部数据的情况下,根据外部数据源的标识,确定外部数据的数据源,基于与外部数据对应的外部数据源,生成访问外部数据的访问命令。[0104]在一个示例中,可将数据适配模块生成的访问外部数据的访问命令也同命令分析模块得到的解析结果一起设置,即将访问外部数据的访问命令也添加到解析结果中,得到表2中的子命令栏中数据标识mysql_db_tmp和user_host_home_tmp所对应的子命令。[0105]在另一个示例中,在确定解析结果中具有内部数据时,还可以根据内部数据库的接口,生成访问内部数据的子命令,将该子命令与访问外部数据的子命令一起添加到解析结果中,得到表2中的子命令中数据标识dw_result所对应的子命令。[0106]在一个示例中,访问外部数据的子命令可以是依据数据适配模块提供的接口生成的。[0107]在一个示例中,数据适配模块可以为对接外部数据源的接口组件。一般而言,一类数据源有一个专属的数据适配模块,比如适配远程文件系统访问的模块,适配关系型数据库访问的模块。即在外部数据源有几个,就会有对应数量的与其对应的数据适配模块。如图2,外部数据源分别有nosql数据源、远程文件系统和关系数据库等,那与其对应的数据适配模块就分别有nosql数据源适配模块、远程文件系统适配模块和关系数据库适配模块等。[0108]需要说明的是,由于本技术中是以基于大数据处理技术的数据仓库组件hive进行阐述与演示的,故本技术中所列举的外部数据源为图2中所示的外部数据源,本领域技术人员应该知道,本技术中并非只能是hive数据库,对应的,本技术的外部数据源也并非只能是上述提及的外部数据源。[0109]4、配置模块203[0110]配置模块接收数据适配模块发送的访问外部数据的访问命令,根据该访问命令,可对外部数据的访问进行配置,形成访问外部数据的配置信息。[0111]在一个示例中,配置信息可以是对外部数据进行访问的配置信息,例如可是获取外部数据的适配接口(即获取外部数据的数据配置模块的接口),以及获取外部数据的获取方式。[0112]在一个示例中,可以是根据外部数据的数据标识,以及外部数据所对应的外部数据源,确定获取外部数据的适配接口。[0113]需要说明的是,配置模块具体配置何种类型的外部源,是由数据适配模块来决定的,只有数据适配模块实现了对某一类外部数据的处理,与之对应的配置才有意义。[0114]在一个示例中,客户端中还可以具有管理员,管理员可根据访问命令进行配置。[0115]5、协调处理模块204[0116]协调处理模块基于命令分析模块输出的解析结果,以及各数据之间的依赖关系,协调调度各个外部数据源与内部数据库之间的操作,完备内部数据库完成最终分析需要的各种条件,向数据适配模块发送访问外部数据的请求,完成数据查询指令所要表达的语义。[0117]参见图3,协调处理模块的处理流程示意图,协调处理模块向外部数据源请求对应的外部数据,外部数据源可返回请求的外部数据,协调处理模块还可以向内部数据库请求解决内部数据与各外部数据之间的依赖关系,以使内部数据库完成内部数据与各外部数据之间的依赖准备。在内部数据与外部数据之间的依赖解决完毕后,协调处理模块向内部数据库发送获取最终的待查询数据(内部数据,以及引入到内部数据库中的外部数据)的请求,内部数据库依据该请求,返回待查询数据。[0118]在一个示例中,在图3中,步骤1和步骤2,可以是同时进行,也可以是具有先后顺序,但是步骤1和步骤2的先后顺序不限定,可根据用户需求自行设定。同样,各外部数据源返回外部数据(即步骤3和步骤4)可以是同时进行,也可以是有先后顺序的,先后顺序不限定。另外,步骤2和步骤3的顺序也可以调换,只要确保步骤3在步骤1之后,步骤4在步骤2之后即可。[0119]在一个示例中,在图3中,步骤5和步骤6中,请求内部数据库解决内部数据与各外部数据之间的依赖关系,可以是同时进行,也可以是具有先后顺序的,但是步骤5和步骤6的先后顺序不限定,可根据用户需求自行设定。同样,内部数据库反馈的依赖准备完毕的信息(即步骤7和步骤8)可以是同时进行,也可以是有先后顺序的,先后顺序不限定。另外,步骤6和步骤7的顺序也可以调换,只要确保步骤7在步骤5之后,步骤8在步骤6之后即可。[0120]在一个示例中,参考图4,各外部数据源返回请求的外部数据时,是通过与外部数据源对应的数据适配模块的接口来实现的。具体的可以是根据与外部数据源对应的数据适配模块的接口,基于外部数据的获取方式(基于子命令确定)从外部数据源中获取外部数据。[0121]在一个示例中,各外部数据源返回请求的外部数据给协调处理模块后,协调处理模块还可以将返回的外部数据发送至内部数据库中,这样即可实现将外部数据引入到内部数据库中。[0122]在一个示例中,本技术中基于hive搭建的内部数据库可以采用“temporarytable”的能力,引入外部数据源的外部数据提供数据处理任务所需的临时数据,同时在会话结束后,自动清理这些临时数据,全程不需要人工介入,对数据分析者透明无感知,实现底层的自动处理。[0123]本技术实施例的技术方案,通过各模块之间的相互工作,实现了将外部数据引入到内部数据库中,这样可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到内部数据库中,实现了对内部数据库之外的外部数据实现内部数据库内的即席查询,保留了原有的内部数据库的使用方式,不需额外的步骤与操作的引入。[0124]基于上述提供的数据查询系统,相对应的,本技术还提供了数据查询方法的具体实现方式,请参见如下实施例。[0125]本技术实施例是以数据协调器为执行主体进行描述的。[0126]请参见图5,本技术提供的数据查询方法可以具体包括如下步骤:[0127]s510、接收客户端发送的数据查询指令。[0128]s520、对数据查询指令进行解析,得到解析结果。[0129]s530、根据解析结果,确定数据查询指令中的待查询数据的数据标识。[0130]其中,步骤s530具体可以包括步骤s5301和步骤s5302。[0131]s5301、从解析结果中识别数据标识;在数据标识中存在与外部数据源的标识一致的数据标识的情况下,确定解析结果中包括外部数据。[0132]s5302、从解析结果中识别数据标识;在数据标识中存在与内部数据库的标识一致的数据标识的情况下,确定解析结果中包括内部数据。[0133]在一个示例中,内部数据和外部数据具有依赖关系。[0134]需要说明的是,上述步骤s5301和s5302可以同时执行,也可以先执行s5301,再执行s5302,还可以先执行s5302,再执行s5301。具体的可以根据用户需求自行设置,这里不做限定。[0135]s540、在确定数据标识包括外部数据的情况下,基于与外部数据对应的配置信息,将外部数据引入到内部数据库中。[0136]s550、在内部数据库中对待查询数据进行查询,得到查询结果。[0137]s560、将查询结果反馈至客户端。[0138]本技术实施例的技术方案,通过对接收到的客户端发送的数据查询指令进行解析,在确定数据查询指令中的待查询数据的数据标识中包括外部数据的情况下,基于与外部数据对应的配置信息,将外部数据引入内部数据库中,这样利用与外部数据对应的配置信息直接将外部数据引入到内部数据库中,可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到数据仓库中。[0139]本技术实施例提供的数据查询方法,基于上述各系统实施例中的数据协调器来实现,其实现原理和技术效果类似,为简介起见,在此不再赘述。[0140]在根据与外部数据对应的配置信息,将外部数据引入到内部数据库中时,需要提前对外部数据进行配置,形成配置信息,为了详细介绍如何形成配置信息,作为本技术的另一种实现方式,本技术提供了数据查询方法的另一种实现方式,具体参见以下实施例。[0141]请参见图6,本技术提供的数据查询方法的另一种实现方法包括如下步骤:[0142]s610、接收客户端发送的数据查询指令。[0143]s620、对数据查询指令进行解析,得到解析结果。[0144]s630、根据解析结果,确定数据查询指令中的待查询数据的数据标识。[0145]步骤s610-s630与上述实施例中的s510-s530相同,为了简洁起见,在此不做详细描述。[0146]s640、基于外部数据的数据标识,以及数据标识与外部数据源的对应关系,确定数据源标识所对应的外部数据源;基于外部数据源,以及与外部数据源对应的适配接口,确定访问外部数据的访问命令;根据访问命令,对外部数据的访问进行配置,形成配置信息。[0147]在得到外部数据的数据标识后,根据外部数据的数据标识,以及数据标识与外部数据源的对应关系,可确定外部数据所在的外部数据源,根据外部数据源,以及与外部数据源对应的适配接口(即与外部数据所在的外部数据源对应的数据适配模块的接口),可确定访问外部数据的访问命令,根据该访问命令,可对外部数据的访问进行配置,形成配置信息。[0148]在一个示例中,配置信息可以包括:获取外部数据的适配接口和获取外部数据的获取方式。[0149]对应的,上述实施例中的步骤s540可以具体为以下步骤s650。[0150]s650、基于外部数据的数据标识和外部数据的数据源,确定获取外部数据的适配接口;基于适配接口,从外部数据的数据源中基于外部数据的获取方式获取外部数据;将外部数据引入到内部数据库中。[0151]根据外部数据的数据标识和外部数据的数据源,可确定获取外部数据的适配接口,根据该适配接口,基于外部数据的获取方式,可从外部数据所在的数据源中获取外部数据,以此将外部数据引入到内部数据库中。[0152]s660、在内部数据库中对待查询数据进行查询,得到查询结果。[0153]s670、将查询结果反馈至客户端。[0154]步骤s660-s670与上述实施例中的s550-s560相同,为了简洁起见,在此不做详细描述。[0155]本技术实施例的技术方案,通过对外部数据的访问进行配置,形成配置信息,根据该配置信息,将外部数据引入到内部数据库中,这样可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到数据仓库中。[0156]同样的,本技术实施例提供的数据查询方法,基于上述各系统实施例中的数据协调器来实现,其实现原理和技术效果类似,为简介起见,在此不再赘述。[0157]基于上述提供的数据查询方法,相对应的,本技术还提供了数据查询装置的具体实现方式,请参见如下实施例。[0158]请参见图7,本技术提供的数据查询装置可以具体包括如下模块:[0159]数据查询指令接收模块710,用于接收客户端发送的数据查询指令;[0160]解析模块720,用于对所述待查询数据进行解析,得到解析结果;[0161]数据标识确定模块730,用于根据所述解析结果,确定所述数据查询指令中的待查询数据的数据标识;[0162]数据引入模块740,用于在确定所述数据标识包括外部数据的情况下,基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中;[0163]数据查询模块750,用于在所述内部数据库中对所述待查询数据进行查询,得到查询结果;[0164]查询结果反馈模块760,用于将所述查询结果反馈至所述客户端。[0165]本技术实施例的技术方案,通过解析模块对数据查询指令接收模块接收到的客户端发送的数据查询指令进行解析,根据数据标识确定模块根据解析结果,确定数据查询指令中的待查询数据的数据标识,基于数据引入模块在确定数据查询指令中的待查询数据的数据标识中包括外部数据的情况下,基于与外部数据对应的配置信息,将外部数据引入内部数据库中,这样利用与外部数据对应的配置信息直接将外部数据引入到内部数据库中,可直接在内部数据库中查询外部数据和内部数据库内的内部数据,操作简单,不需事先对外部数据执行数据抽取、转换和加载的过程,将外部数据按标准化的管理流程接入到数据仓库中。[0166]在一个示例中,为了详细介绍如何确定数据标识,上述数据标识确定模块730可以包括如下单元:[0167]第一数据标识确定单元,用于从所述解析结果中识别所述数据标识;在所述数据标识中存在与外部数据源的标识一致的数据标识的情况下,确定所述解析结果中包括外部数据。[0168]在一个示例中,解析结果中还包括内部数据,所述内部数据和外部数据具有依赖关系。[0169]对应的,上述数据标识确定模块730还可以包括如下单元:[0170]第二数据标识确定单元,用于从所述解析结果中识别所述数据标识;在所述数据标识中存在与内部数据库的标识一致的数据标识的情况下,确定所述解析结果中包括内部数据。[0171]为了形成与外部数据对应的配置信息,上述装置还可以包括:[0172]配置信息确定模块,用于基于所述外部数据的数据标识,以及所述数据标识与外部数据源的对应关系,确定所述数据源标识所对应的外部数据源;基于所述外部数据源,以及与所述外部数据源对应的适配接口,确定访问所述外部数据的访问命令;根据所述访问命令,对所述外部数据的访问进行配置,形成所述配置信息。[0173]在一个示例中,所述配置信息包括:获取所述外部数据的适配接口和获取所述外部数据的获取方式。[0174]为了详细描述将外部数据引入内部数据库中,上述数据引入模块740具体可以用于:[0175]基于所述外部数据的数据标识和所述外部数据的数据源,确定获取所述外部数据的适配接口;基于所述适配接口,从所述外部数据的数据源中基于所述外部数据的获取方式获取所述外部数据;将所述外部数据引入到内部数据库中。[0176]为了详细描述如何对数据查询指令进行解析,上述解析模块720可以具体用于:[0177]对所述数据查询指令进行词法分析和语法分析,得到解析结果;[0178]其中,所述解析结果包括:所述数据标识、所述外部数据源、所述内部数据库、访问所述外部数据的访问命令,以及所述内部数据和所述外部数据之间的依赖关系。[0179]本技术实施例提供的数据查询装置,可以用于执行上述各方法实施例提供的数据查询方法,其实现原理和技术效果类似,为简介起见,在此不再赘述。[0180]基于同一发明构思,本技术实施例还提供了一种电子设备。[0181]图8是本技术实施例提供的一种电子设备的结构示意图。如图8所示,电子设备可以包括处理器801以及存储有计算机程序或指令的存储器802。[0182]具体地,上述处理器801可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。[0183]存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在综合网关容灾设备的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。[0184]处理器801通过读取并执行存储器802中存储的计算机程序指令,以实现上述实施例中的任意一种数据查询方法。[0185]在一个示例中,电子设备还可包括通信接口803和总线810。其中,如图8示,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。[0186]通信接口803,主要用于实现本发明实施例中各模块、设备、单元和/或设备之间的通信。[0187]总线810包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。[0188]该电子设备可以执行本发明实施例中的数据查询方法,从而实现图5或图6描述的数据查询方法。[0189]另外,结合上述实施例中的数据查询方法,本发明实施例可提供一种可读存储介质来实现。该可读存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种数据查询方法。[0190]需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。[0191]以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。[0192]还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。[0193]以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本

技术领域


:的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。当前第1页12当前第1页12

技术特征:


1.一种数据查询方法,其特征在于,所述方法包括:接收客户端发送的数据查询指令;对所述数据查询指令进行解析,得到解析结果;根据所述解析结果,确定所述数据查询指令中的待查询数据的数据标识;在确定所述数据标识包括外部数据的情况下,基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中;在所述内部数据库中对所述待查询数据进行查询,得到查询结果;将所述查询结果反馈至所述客户端。2.根据权利要求1所述的方法,其特征在于,所述根据所述解析结果确定所述数据查询指令中的待查询数据的数据标识,具体包括:从所述解析结果中识别所述数据标识;在所述数据标识中存在与外部数据源的标识一致的数据标识的情况下,确定所述解析结果中包括外部数据。3.根据权利要求2所述的方法,其特征在于,所述解析结果中还包括:内部数据,所述内部数据与所述外部数据具有依赖关系;所述根据所述解析结果确定所述数据查询指令中的待查询数据的数据标识,还包括:在所述数据标识中存在与内部数据库的标识一致的数据标识的情况下,确定所述待查询数据中包括内部数据。4.根据权利要求2所述的方法,其特征在于,在所述基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中之前,所述方法还包括:基于所述外部数据的数据标识,以及所述数据标识与外部数据源的对应关系,确定所述数据源标识所对应的外部数据源;基于所述外部数据源,以及与所述外部数据源对应的适配接口,确定访问所述外部数据的访问命令;根据所述访问命令,对所述外部数据的访问进行配置,形成所述配置信息。5.根据权利要求4所述的方法,其特征在于,所述配置信息包括:获取所述外部数据的适配接口和获取所述外部数据的获取方式;所述基于与所述外部数据对应的配置信息,将所述外部数据引入内部数据库中,包括:基于所述外部数据的数据标识和所述外部数据的数据源,确定获取所述外部数据的适配接口;基于所述适配接口,从所述外部数据的数据源中基于所述外部数据的获取方式获取所述外部数据;将所述外部数据引入到内部数据库中。6.根据权利要求4所述的方法,其特征在于,所述对所述数据查询指令进行解析,包括:对所述数据查询指令进行词法分析和语法分析,得到解析结果;其中,所述解析结果包括:所述数据标识、所述外部数据源、所述内部数据库、访问所述外部数据的访问命令,以及所述内部数据和所述外部数据之间的依赖关系。7.一种数据查询装置,其特征在于,所述装置包括:数据查询指令接收模块,用于接收客户端发送的数据查询指令;
解析模块,用于对所述待查询数据进行解析,得到解析结果;数据标识确定模块,用于根据所述解析结果,确定所述数据查询指令中的待查询数据的数据标识;数据引入模块,用于在确定所述数据标识包括外部数据的情况下,基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中;数据查询模块,用于在所述内部数据库中对所述待查询数据进行查询,得到查询结果;查询结果反馈模块,用于将所述查询结果反馈至所述客户端。8.一种数据查询系统,其特征在于,所述系统包括:客户端、数据协调器和内部数据库;所述客户端,用于响应于用户的数据查询操作,生成数据查询指令,并将所述数据查询指令发送至所述数据协调器中;所述数据协调器,与所述客户端通信连接,用于执行权利要求1-6任意所述的数据查询方法;所述客户端,用于接收所述内部数据库反馈的待查询数据。9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-6任一所述的数据查询方法的步骤。10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-6任一所述的数据查询方法的步骤。

技术总结


本申请公开了一种数据查询方法、装置、系统、电子设备和存储介质。该数据查询方法包括:接收客户端发送的数据查询指令;对所述数据查询指令进行解析,得到解析结果;根据所述解析结果,确定所述数据查询指令中的待查询数据的数据标识;在确定所述数据标识包括外部数据的情况下,基于与所述外部数据对应的配置信息,将所述外部数据引入到内部数据库中;在所述内部数据库中对所述待查询数据进行查询,得到查询结果;将所述查询结果反馈至所述客户端。采用本申请提供的数据查询方法,可以实现直接在内部数据库内进行外部数据的查询,不需事先对外部数据进行ETL操作,数据查询方便、简单。简单。简单。


技术研发人员:

孙铖然 钟全龙 赵奇勇 王凡 杨冰 林星锦

受保护的技术使用者:

中国移动通信集团有限公司

技术研发日:

2021.06.07

技术公布日:

2022/12/22

本文发布于:2024-09-21 12:40:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/45349.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   所述   数据查询   标识
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议