CN113656434A - 数据查询方法、装置、计算机设备和存储介质 - Google Patents
数据查询方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113656434A CN113656434A CN202110940489.0A CN202110940489A CN113656434A CN 113656434 A CN113656434 A CN 113656434A CN 202110940489 A CN202110940489 A CN 202110940489A CN 113656434 A CN113656434 A CN 113656434A
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- database
- field information
- name
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据查询方法、装置、计算机设备和存储介质。所述方法包括:获取待查询数据的数据名称;查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。采用本方法,能够提高数据查询的效率。
Description
技术领域
本申请涉及数据共享技术领域,特别是涉及一种数据查询方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的不断发展,网络上多种多样的数据格式接踵出现。由于不同用户提供的数据可能来自不同的途径,在进行数据查询时会出现数据内容、数据格式和数据质量千差万别的现象。
传统技术中,在进行数据查询时,拷贝文件是最简单的共享方式,但可能需要各种文件格式间的转换,并编写代码解析文件读取里面的内容;若通过接口获取数据,则需要为不同类型的数据编写不同接口的代码;因此存在数据查询效率低下的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据查询效率的数据查询方法、装置、计算机设备和存储介质。
一种数据查询方法,所述方法包括:
获取待查询的数据名称;
查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;
查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。
在其中一个实施例中,在查询元数据库,得到与所述数据名称对应的元数据之前,还包括:
按照预设的元数据接口格式,连接所述元数据库对应的元数据接口;
所述查询元数据库,得到与所述数据名称对应的元数据,包括:
通过所述元数据接口查询所述元数据库,得到与所述数据名称对应的元数据。
在其中一个实施例中,通过所述元数据接口查询所述元数据库,得到与所述数据名称对应的元数据,包括:
根据所述数据名称,生成元数据库查询语句;
通过所述元数据接口,将所述元数据库查询语句发送至所述元数据库;所述元数据库查询语句用于触发所述元数据库获取与所述数据名称对应的元数据,并将所述元数据返回至所述元数据接口;
接收所述元数据接口返回的所述元数据。
在其中一个实施例中,在查询数据库,得到与所述数据字段信息对应的目标数据之前,还包括:
按照预设的数据接口格式,连接所述数据库对应的数据接口;
所述查询数据库,得到与所述数据字段信息对应的目标数据,包括:
通过所述数据接口查询所述数据库,得到与所述数据字段信息对应的目标数据。
在其中一个实施例中,通过所述数据接口查询所述数据库,得到与所述数据字段信息对应的目标数据,包括:
根据所述数据字段信息,生成数据库查询语句;
通过所述数据接口,将所述数据库查询语句发送至所述数据库;所述数据库查询语句用于触发所述数据库获取与所述数据字段信息对应的目标数据,并将所述目标数据返回至所述数据接口;
接收所述数据接口返回的所述目标数据。
在其中一个实施例中,所述方法还包括:
获取上传的数据文件和所述数据文件的数据描述信息;
解析所述数据文件,得到数据字段信息和所述数据字段信息对应的数据;
将所述数据存储至所述数据库,以及根据所述数据字段信息和所述数据描述信息生成元数据,将所述元数据存储至所述元数据库。
在其中一个实施例中,解析所述数据文件,得到所述数据字段信息和所述数据字段信息对应的数据,包括:
调用与所述数据文件对应的文件解析指令,对所述数据文件进行数据解析,得到所述数据字段信息;
调用与所述数据文件对应的文件读取指令,对所述数据文件进行数据读取,得到与所述数据字段信息对应的数据。
在其中一个实施例中,所述根据所述数据字段信息生成元数据,包括:
获取所述数据的表名;
根据所述数据字段信息、所述表名和所述数据描述信息,生成所述元数据。
一种数据查询装置,所述装置包括:
数据名称获取模块,用于获取待查询的数据名称;
元数据获取模块,用于查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;
数据获取模块,用于查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待查询的数据名称;
查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;
查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待查询的数据名称;
查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;
查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。
上述数据查询方法、装置、计算机设备和存储介质,通过获取的待查询数据名称,能够查询元数据库,进而从元数据库中得到与数据名称对应的元数据,然后通过元数据中的数据字段信息来查询数据库,从而得到与数据字段信息对应的目标数据。采用本方法,无需数据使用方在获取目标数据文件后,通过解析不同类型的数据文件来获取数据,从而减少了数据使用方解析数据文件的工作,并且无需针对不同数据设置不同的接口,能够通过元数据接口直接获取元数据,通过数据接口直接获取数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
附图说明
图1为一个实施例中数据查询方法的应用环境图;
图2为一个实施例中数据查询方法的流程示意图;
图3为一个实施例中得到与数据名称对应的元数据的步骤的流程示意图;
图4为一个实施例中得到与数据字段信息对应的目标数据的步骤的流程示意图;
图5为一个实施例中存储共享的数据和元数据的步骤的流程示意图;
图6为一个实施例中得到数据字段信息和数据字段信息对应的数据的步骤的流程示意图;
图7为一个实施例中根据数据字段信息生成元数据的步骤的流程示意图;
图8为另一个实施例中数据查询方法的流程示意图;
图9为又一个实施例中数据查询方法的流程示意图;
图10为一个实施例中数据查询装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据查询方法,可以应用于如图1所示的应用环境中。其中,数据提供方的终端102和数据使用方的终端104分别通过网络与服务器106进行通信,服务器106还连接有元数据库108和数据库110;元数据库108用于存储多个与数据名称对应的元数据,数据库110用于存储多个与数据字段信息对应的数据。服务器106获取数据使用方的终端104发送的待查询的数据名称,服务器106根据接收到的数据名称查询元数据库108,从元数据108中得到与数据名称对应的元数据,服务器106根据元数据中的数据字段信息查询数据库110,从数据库110中得到与数据字段信息对应的目标数据。其中,数据提供方的终端102和数据使用方的终端104都可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据查询方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S201,获取待查询数据的数据名称。
其中,数据名称是指描述数据和元数据的唯一名称,比如行政区划数据的数据名称为“administrative_division”,数据名称可以用于查询元数据和数据。
具体地,数据使用方需要查询数据,则可以通过数据使用方的终端发送待查询数据的数据名称至服务器,服务器接收该待查询数据的数据名称。由此,服务器接在收到数据名称之后,将数据名称作为元数据查询依据执行后续的数据查询步骤。例如,数据使用方的需要查询行政区划数据,则数据使用方的终端将行政区划数据的数据名称发送至服务器,也就是数据使用方的终端将“administrative_division”发送至服务器。
步骤S202,查询元数据库,得到与数据名称对应的元数据;元数据包括与数据名称对应的数据字段信息;元数据库中存储有多个数据名称对应的元数据。
其中,元数据是指描述数据属性的数据,元数据包括但不限于数据字段信息、表名和数据描述信息。元数据库是存储和管理元数据的数据库。数据字段信息是指数据中的字段,字段也就是数据的列名。
具体地,服务器根据终端发送的待查询数据的数据名称,查询元数据库,元数据库响应该查询,进而服务器获得与数据名称对应的元数据。服务器提取出元数据中的数据字段信息,由此,服务器在获得数据字段信息之后,将数据字段信息作为数据查询依据执行后续的查询步骤。
步骤S203,查询数据库,得到与数据字段信息对应的目标数据;数据库中存储有多个数据字段信息对应的数据。
其中,目标数据是指数据提供方需要查询的数据。数据是指数据字段信息对应的数值。
具体地,服务器根据获得的元数据中的数据字段信息,查询数据库,数据库响应该查询,进而服务器获得与数据字段信息对应的目标数据,服务器将目标数据返回给数据使用方的终端。
上述数据查询方法中,通过获取的待查询数据名称,能够查询元数据库,进而从元数据库中得到与数据名称对应的元数据,然后通过元数据中的数据字段信息来查询数据库,从而得到与数据字段信息对应的目标数据。采用本方法,能够避免数据使用方直接访问数据库,而是通过数据接口提供数据库的访问,提高了数据的安全性,还无需数据使用方在获取目标数据文件后,通过解析不同类型的数据文件来获取数据,从而减少了数据使用方解析数据文件的工作,并且无需针对不同数据设置不同的接口,能够通过元数据接口直接获取元数据,通过数据接口直接获取数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
在一个实施例中,上述步骤S202,在查询元数据库,得到与数据名称对应的元数据之前,包括:按照预设的元数据接口格式,连接元数据库对应的元数据接口。
其中,元数据接口是指与元数据库建立连接、发送操作元数据库的语句并处理对应操作结果的技术。
具体地,服务器在查询元数据之前,先按照预设的元数据接口格式,连接元数据库对应的元数据接口。元数据接口设置的格式可以但不限于是“http://{host}:{port}/{data_name}/metadata”,其中,“{host}”是域名,“{port}”是端口号,“{data_name}”是数据名称,则服务器按照元数据接口格式输入对应的域名、端口号和数据名称,进而服务器与元数据接口相连接。
上述步骤S202,查询元数据库,得到与数据名称对应的元数据,包括:通过元数据接口查询元数据库,得到与数据名称对应的元数据。
具体地,服务器与元数据接口连接之后,服务器通过已连接的元数据接口访问元数据库,根据待查询数据的数据名称,执行元数据库的查询操作,元数据库响应该查询操作,并将与数据名称对应的元数据通过已连接的元数据接口返回至服务器,进而服务器获得该元数据。例如,行政区划数据的域名是“127.0.0.1”,行政区划数据的端口号是“8080”,行政区划数据的数据名称是“administrative_division”,则服务器可以按照预设格式输入行政区划数据的元数据接口地址“http://127.0.0.1:8080/administrative_division/metadata”,进而与元数据接口连接,然后通过已连接的元数据接口访问元数据库,然后执行元数据库的查询操作,元数据库响应该查询操作,并将与“administrative_division”对应的元数据通过已连接的元数据接口返回至服务器。
在本实施例中,根据预设的元数据接口格式,服务器连接元数据库对应的元数据接口,服务器通过已连接的元数据接口来执行元数据库的查询操作,进而获得与数据名称对应的元数据。采用本方法,无需针对不同数据设置不同的接口,能够通过元数据接口直接获取元数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
在一个实施例中,如图3所示,通过元数据接口查询元数据库,得到与数据名称对应的元数据,具体包括如下步骤:
步骤S301,根据数据名称,生成元数据库查询语句。
步骤S302,通过元数据接口,将元数据库查询语句发送至元数据库;元数据库查询语句用于触发元数据库获取与数据名称对应的元数据,并将元数据返回至元数据接口。
步骤S303,接收元数据接口返回的元数据。
其中,元数据库查询语句可以但不限于是SQL的SELECT语句。
具体地,服务器连接元数据接口之后,根据终端发送的数据名称,生成对应的元数据库查询语句,然后服务器通过已连接的元数据接口,将该元数据库查询语句发送至元数据库,元数据库响应该元数据库查询语句得到与数据名称对应的元数据,进而将该元数据按照元数据库查询语句的格式要求发送至已连接的元数据接口,该元数据接口将元数据返回至服务器,服务器接收该元数据接口返回的元数据。
例如,行政区划数据在元数据库的数据名称为“administrative_division”,服务器按照预设格式元数据接口地址连接之后,则可以生成元数据库查询语句,然后服务器将元数据库查询语句发送至已连接的元数据接口,元数据库响应该元数据库查询语句,并得到与数据名称“administrative_division”对应的行政区划数据的元数据,进而将该行政区划数据的元数据按照元数据库查询语句的格式要求返回至已连接的元数据接口,返回行政区划数据的元数据示例如下:
元数据接口将行政区划数据的元数据返回至服务器,服务器接收该元数据接口返回的行政区划数据的元数据。
在本实施例中,服务器根据数据名称生成元数据库查询语句,通过已连接的元数据接口,发送元数据库查询语句来查询元数据库,元数据库响应该元数据库查询语句并执行查询操作,将与数据名称对应的元数据返回至元数据接口,进而服务器获得元数据接口返回的元数据,无需针对不同数据设置不同的接口,能够通过元数据接口直接获取元数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
在一个实施例中,上述步骤S203,在查询数据库,得到与数据字段信息对应的目标数据之前,还包括:按照预设的数据接口格式,连接数据库对应的数据接口。
其中,数据接口是指与数据库建立连接、发送操作数据库的语句并处理对应操作结果的技术。
具体地,服务器在查询数据之前,先按照预设的数据接口格式,连接数据库对应的数据接口。数据接口设置的格式可以但不限于是“http://{host}:{port}/{data_name}?condition={condition}&orderBy={orderBy}&pageNo={pageNo}&pageSize={pageSize}”,其中,“{host}”是域名,“{port}”是端口号,“{data_name}”是数据名称,“{condition}”是查询条件,“{orderBy}”是排序字段,“{pageNo}”是页码,“{pageSize}”是分页大小,则服务器按照数据接口格式输入对应的域名、端口号、数据名称、查询条件、排序字段、页码和分页大小,进而服务器与数据接口相连接。
上述步骤S203,查询数据库,得到与数据字段信息对应的目标数据,包括:通过所述数据接口查询所述数据库,得到与所述数据字段信息对应的目标数据。
具体地,服务器与数据接口连接之后,服务器通过已连接的数据接口访问数据库,根据元数据中的数据字段信息,执行数据库的查询操作,数据库响应该查询操作,并将与数据字段信息对应的数据通过已连接的数据接口返回至服务器,进而服务器获得目标数据。
例如,行政区划数据的域名是“127.0.0.1”,行政区划数据的端口号是“8080”,行政区划数据的数据名称是“administrative_division”,行政区划数据的查询条件是“parent_code=440100000000”,行政区划数据的排序字段是“code”,行政区划数据的页码是“1”,行政区划数据的分页大小是“5”,其中,查询条件“parent_code=440100000000”是指广州市的行政区划代码为440100000000,查询条件“parent_code=440100000000”也属于元数据中的数据字段信息,而“=”在URL(Uniform Resource Locator,统一资源定位器)中会自动转义为“%3D”,则服务器可以按照预设格式输入行政区划数据的数据接口地址:“http://127.0.0.1:8080/administrative_division?condition=parent_code%3D440100000000&orderBy=code&pageNo=1&pageSize=5”,进而与数据接口连接,然后通过已连接的数据接口访问数据库,然后执行数据库的查询操作,数据库响应该查询操作,并将行政区划代码等于440100000000的目标数据通过已连接的数据接口返回至服务器。
在本实施例中,根据预设的数据接口格式,服务器连接数据库对应的数据接口,服务器通过已连接的数据接口来执行数据库的查询操作,进而获得与数据字段信息对应的数据。采用本方法,能够避免数据使用方直接访问数据库,而是通过数据接口提供数据库的访问,提高了数据的安全性,还无需针对不同数据设置不同的接口,能够通过数据接口直接获取数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
在一个实施例中,如图4所示,通过数据接口查询数据库,得到与数据字段信息对应的目标数据,具体包括如下步骤:
步骤S401,根据数据字段信息,生成数据库查询语句。
步骤S402,通过数据接口,将数据库查询语句发送至数据库;数据库查询语句用于触发数据库获取与数据字段信息对应的目标数据,并将目标数据返回至数据接口。
步骤S403,接收所述数据接口返回的所述目标数据。
具体地,服务器连接数据接口之后,根据终端发送的数据字段信息,生成对应的数据库查询语句,然后服务器通过已连接的数据接口,将该数据库查询语句发送至数据库,数据库响应该数据库查询语句得到与数据名称对应的数据,进而将该数据按照数据库查询语句的格式要求发送至已连接的数据接口,该数据接口将数据返回至服务器,服务器接收该数据接口返回的目标数据。
例如,过元数据接口返回的元数据可知,行政区划元数据中包含的数据字段信息有code、parent_code、name、area,行政区划数据在数据库的表名为“administrative_division”,服务器按照预设格式数据接口地址连接之后,则可以生成一条数据库查询语句用于查询目标数据,数据库查询语句如下:“select code,parent_code,name,area fromadministrative_division”,在构建数据库查询语句时,还可以包含条件、排序、分页信息等格式要求,例如,包含条件、排序、分页格式要求的数据库查询语句如下:“select code,parent_code,name,area from administrative_division where parent_code=’440100000000’order by code limit 0,5”。然后服务器将数据库查询语句发送至已连接的数据接口,数据库响应该元数据库查询语句,并得到与表名“administrative_division”对应的行政区划数据的数据,进而将该行政区划数据按照元数据库查询语句的格式要求发送至已连接的数据接口,返回行政区划数据示例如下:
已连接的数据接口将该行政区划数据返回至服务器,服务器接收该数据接口返回的行政区划数据。
在本实施例中,服务器根据数据字段信息生成数据库查询语句,通过已连接的数据接口,发送数据库查询语句来查询数据库,数据库响应该数据库查询语句并执行查询操作,将与数据字段信息对应的数据返回至数据接口,进而服务器获得数据接口返回的数据。采用本方法,能够避免数据使用方直接访问数据库,而是通过数据接口提供数据库的访问,提高了数据的安全性,还无需针对不同数据设置不同的接口,能够通过数据接口直接获取数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
在一个实施例中,如图5所示,存储共享的数据和元数据,具体还包括如下步骤:
步骤S501,获取上传的数据文件和数据文件的数据描述信息。
其中,数据文件是指存储数据的文件,数据文件可以但不限于是Excel、CSV、Access、SQLite、Shapefile类型的文件。数据描述信息用于描述数据的相关信息,数据描述信息可以但不限于是数据标识、数据名称、数据提供方、数据描述、数据最后更新时间。
具体地,数据提供方的终端将需要共享的数据文件和该数据文件的数据描述信息上传到服务器,服务器获取该上传的数据文件和对应的数据描述信息。
步骤S502,解析数据文件,得到数据字段信息和数据字段信息对应的数据。
具体地,服务器根据上传的数据文件的类型,对该数据文件执行对应的解析操作,进而服务器得到数据文件中的数据字段信息和数据字段信息对应的数据。
步骤S503,将数据存储至数据库,以及根据数据字段信息和数据描述信息生成元数据,将元数据存储至元数据库。
具体地,在服务器获取到数据文件中的数据字段信息和数据字段信息对应的数据之后,服务器在数据库中创建一张新表,并将数据存储至该新表中,然后服务器从表中提取出表属性,从数据的数据字段信息中提取出字段属性,服务器根据已获取的信息生成元数据,生成元数据所需的信息包括但不限于是表属性、字段属性和数据描述信息,生成元数据之后,服务器将该元数据存储至元数据库。表属性包括单不限于表名、表的说明信息、表的创建时间。字段属性用于描述字段的相关信息,字段属性可以但不限于是字段类型、字段别名和字段长度。
在本实施例中,服务器获取数据提供方的终端上传的数据文件,然后根据数据文件的类型执行对应的数据解析操作,进而服务器得到数据文件中的数据字段信息和数据字段信息对应的数据,服务器将数据存储至数据库创建的新表中,并从表中提取出表属性,从数据的数据字段信息中提取出字段属性,服务器根据已获取的信息生成元数据,进而将生成的元数据存储至元数据库。采用本方法,无需数据使用方在获取目标数据文件后,通过解析不同类型的数据文件来获取数据,能够直接通过数据接口获取数据库中的数据,过元数据接口直接获取元数据库中的元数据,从而减少了数据使用方解析数据文件的工作,进而提高了数据查询的效率。
在一个实施例中,如图6所示,上述步骤S502,解析数据文件,得到数据字段信息和数据字段信息对应的数据,具体包括如下步骤:
步骤S601,调用与数据文件对应的文件解析指令,对数据文件进行数据解析,得到数据字段信息。
其中,文件解析指令是指指示计算机进行文件解析的指令,文件解析指令可以但不限于是解析数据文件的代码。
具体地,服务器获取数据提供方的终端上传的数据文件之后,根据数据文件的类型,调用对应的文件解析指令,对数据文件执行数据解析操作,进而服务器获取数据文件中的数据字段信息。由此,服务器获取数据字段信息之后,将数据字段信息作为数据查询依据执行后续的查询步骤。
步骤S602,调用与数据文件对应的文件读取指令,对数据文件进行数据读取,得到与数据字段信息对应的数据。
其中,文件读取指令指的是指示计算机进行文件读取的指令,文件解析指令可以但不限于是读取数据文件的代码和第三方类库,例如,JAVA语言的POI库。
具体地,服务器执行完数据解析操作之后,服务器根据数据文件的类型,调用对应的文件读取指令,对数据文件执行数据读取操作,进而服务器获取数据文件中与数据字段信息对应的数据。由此,服务器获取数据之后,将数据存储至数据库中以便于数据使用方查询。
在本实施例中,终端调用与数据文件的类型对应的文件解析指令,对数据文件执行数据解析操作,进而获取数据文件中的数据字段信息,然后调用与数据文件的类型对应的文件读取指令,对数据文件执行数据读取操作,从而获取数据文件中与数据字段信息对应的数据。采用本方法,无需数据使用方在获取目标数据文件后,通过解析不同类型的数据文件来获取数据,能够直接通过数据接口获取数据库中的数据,过元数据接口直接获取元数据库中的元数据,从而减少了数据使用方解析数据文件的工作,进而提高了数据查询的效率。
在一个实施例中,如图7所示,上述步骤S503,根据数据字段信息生成元数据,具体包括如下步骤:
步骤S701,获取数据的表名。
具体地,服务器执行完数据解析和数据读取操作之后,获取数据提供方的终端发送的数据的表名。由此,服务器在获取表名之后,将该表名作为服务器在数据库中创建新表和生成元数据的依据执行后续的步骤。
步骤S702,根据数据字段信息、表名和数据描述信息,生成元数据。
具体地,服务器根据数据相关信息生成元数据,生成元数据所需的数据相关信息包括但不限于数据字段信息、表属性、数据描述信息和字段属性。表属性包括单不限于表名、表的说明信息、表的创建时间。
在本实施例中,服务器获取数据的表名,然后根据数据字段信息、表名、数据描述信息和字段属性等数据相关信息生成元数据。采用本方法,能够让数据使用方在获取数据的同时,也获得数据的元数据,使得数据使用方能够通过元数据来了解数据的相关信息,以便于数据使用方去使用查询的数据,从而提高了数据查询的效率。
在一个实施例中,如图8所示,提供了另一种数据查询方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤S801,获取待查询数据的数据名称。
步骤S802,按照预设的元数据接口格式,连接元数据库对应的元数据接口。
步骤S803,根据数据名称,生成元数据库查询语句。
步骤S804,通过元数据接口,将元数据库查询语句发送至元数据库;元数据库查询语句用于触发元数据库获取与数据名称对应的元数据,并将元数据返回至元数据接口。
步骤S805,接收元数据接口返回的元数据。
步骤S806,按照预设的数据接口格式,连接数据库对应的数据接口。
步骤S807,根据数据字段信息,生成数据库查询语句。
步骤S808,通过数据接口,将数据库查询语句发送至数据库;数据库查询语句用于触发数据库获取与数据字段信息对应的目标数据,并将目标数据返回至数据接口。
步骤S809,接收数据接口返回的目标数据。
上述数据查询方法,能够避免数据使用方直接访问数据库,而是通过数据接口提供数据库的访问,提高了数据的安全性,还无需数据使用方在获取目标数据文件后,通过解析不同类型的数据文件来获取数据,从而减少了数据使用方解析数据文件的工作,并且无需针对不同数据设置不同的接口,能够通过元数据接口直接获取元数据,通过数据接口直接获取数据,使得数据使用方的工作量大大减少了,从而提高了数据查询的效率。
为了更清晰阐明本公开实施例提供的数据查询方法,以下以一个具体的实施例对该数据查询方法进行具体说明。在一个实施例中,如图9所示,本公开还提供了一种数据查询方法,具体包括以下内容:
步骤1,上传数据文件:数据提供方的终端将数据文件(数据文件包括Excel、CSV、Access、SQLite、shapefile等文件)上传到服务器并填写数据名称(数据名称唯一)、数据提供方、数据版本等信息,服务器程序解析该文件并读取数据文件中的数据和数据字段信息,服务器将数据存储至数据库新创建的表中。
步骤2,自动生成元数据:读取该新创建的表的字段属性,并将该表的字段属性和上传数据文件时填写的数据名称、数据提供方、数据版本等信息写入元数据库。
步骤3,连接元数据接口:数据使用方的终端通过服务器连接元数据接口。接口如下:
http://{host}:{port}/{data_name}/metadata,其中{host}是域名,{port}是端口号,{data_name}是数据名称。
步骤4,查询元数据:数据使用方的终端通过服务器调用元数据接口查询元数据库中的元数据,元数据接口将元数据库查询到的元数据返回至服务器,服务器将元数据返回至数据使用方的终端。返回的元数据示例如下:
步骤5,连接数据接口:数据使用方的终端通过服务器连接数据接口。接口如下:
http://{host}:{port}/{data_name}?condition={condition}&orderBy={orderBy}&pageNo={pageNo}&pageSize={pageSize},其中{host}是域名,{port}是端口号,{data_name}是数据名称,{condition}是查询条件,{orderBy}是排序字段,{pageNo}是页码,{pageSize}是分页大小。
步骤6,查询数据:数据使用方的终端根据元数据中的数据字段信息构建SQL(Structured Query Language,结构化查询语言)查询语句,然后通过服务器调用数据接口输入SQL查询语句,进而查询数据库中的数据,数据接口将数据库查询到的数据返回至服务器,服务器将数据返回至数据使用方的终端。返回的数据示例如下:
在本实施例中,数据使用方不需要去解析各种类型的数据文件,减少了数据使用方解析数据文件的工作,数据使用方能够通过元数据接口获取元数据,通过数据接口获取数据,不需要针对某个数据编写接口,提高了数据查询的效率,此外,数据使用方不能直接访问数据库,而是通过数据接口访问数据库来获取数据,从而提高了数据存储的安全性。
应该理解的是,虽然图2-9的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-9中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种数据查询装置1000,包括:数据名称获取模块1001、元数据获取模块1002和数据获取模块003,其中:
数据名称获取模块1001,用于获取待查询的数据名称。
元数据获取模块1002,用于查询元数据库,得到与数据名称对应的元数据;元数据包括与数据名称对应的数据字段信息;元数据库中存储有多个数据名称对应的元数据;
数据获取模块1003,用于查询数据库,得到与数据字段信息对应的目标数据;数据库中存储有多个数据字段信息对应的数据。
在一个实施例中,数据查询装置1000还包括元数据接口连接模块,用于按照预设的元数据接口格式,连接所述元数据库对应的元数据接口;
元数据获取模块1002,还用于通过所述元数据接口查询所述元数据库,得到与所述数据名称对应的元数据。
在一个实施例中,数据查询装置1000还包括元数据查询模块,用于根据数据名称,生成元数据库查询语句;通过元数据接口,将元数据库查询语句发送至元数据库;元数据库查询语句用于触发元数据库获取与数据名称对应的元数据,并将元数据返回至所述元数据接口;接收元数据接口返回的元数据。
在一个实施例中,数据查询装置1000还包括数据接口连接模块,用于按照预设的数据接口格式,连接数据库对应的数据接口;
数据获取模块1003,还用于通过数据接口查询数据库,得到与数据字段信息对应的目标数据。
在一个实施例中,数据查询装置1000还包括数据查询模块,用于根据数据字段信息,生成数据库查询语句;通过数据接口,将数据库查询语句发送至数据库;数据库查询语句用于触发数据库获取与数据字段信息对应的目标数据,并将目标数据返回至数据接口;接收数据接口返回的目标数据。
在一个实施例中,数据查询装置1000还包括数据查询模块,用于获取上传的数据文件和数据文件的数据描述信息;解析数据文件,得到数据字段信息和数据字段信息对应的数据;将数据存储至数据库,以及根据数据字段信息和数据描述信息生成元数据,将元数据存储至元数据库。
在一个实施例中,数据查询装置1000还包括数据文件解析模块,用于调用与数据文件对应的文件解析指令,对数据文件进行数据解析,得到数据字段信息;调用与数据文件对应的文件读取指令,对数据文件进行数据读取,得到与数据字段信息对应的数据。
在一个实施例中,数据查询装置1000还包括元数据生成模块,用于获取数据的表名;根据数据字段信息、表名和数据描述信息,生成元数据。
关于数据查询装置的具体限定可以参见上文中对于数据查询方法的限定,在此不再赘述。上述数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储元数据和数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据查询方法。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种数据查询方法,其特征在于,所述方法包括:
获取待查询数据的数据名称;
查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;
查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。
2.根据权利要求1所述的方法,其特征在于,在查询元数据库,得到与所述数据名称对应的元数据之前,还包括:
按照预设的元数据接口格式,连接所述元数据库对应的元数据接口;
所述查询元数据库,得到与所述数据名称对应的元数据,包括:
通过所述元数据接口查询所述元数据库,得到与所述数据名称对应的元数据。
3.根据权利要求2所述的方法,其特征在于,所述通过所述元数据接口查询所述元数据库,得到与所述数据名称对应的元数据,包括:
根据所述数据名称,生成元数据库查询语句;
通过所述元数据接口,将所述元数据库查询语句发送至所述元数据库;所述元数据库查询语句用于触发所述元数据库获取与所述数据名称对应的元数据,并将所述元数据返回至所述元数据接口;
接收所述元数据接口返回的所述元数据。
4.根据权利要求1所述的方法,其特征在于,在查询数据库,得到与所述数据字段信息对应的目标数据之前,还包括:
按照预设的数据接口格式,连接所述数据库对应的数据接口;
所述查询数据库,得到与所述数据字段信息对应的目标数据,包括:
通过所述数据接口查询所述数据库,得到与所述数据字段信息对应的目标数据。
5.根据权利要求4所述的方法,其特征在于,所述通过所述数据接口查询所述数据库,得到与所述数据字段信息对应的目标数据,包括:
根据所述数据字段信息,生成数据库查询语句;
通过所述数据接口,将所述数据库查询语句发送至所述数据库;所述数据库查询语句用于触发所述数据库获取与所述数据字段信息对应的目标数据,并将所述目标数据返回至所述数据接口;
接收所述数据接口返回的所述目标数据。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
获取上传的数据文件和所述数据文件的数据描述信息;
解析所述数据文件,得到数据字段信息和所述数据字段信息对应的数据;
将所述数据存储至所述数据库,以及根据所述数据字段信息和所述数据描述信息生成元数据,将所述元数据存储至所述元数据库。
7.根据权利要求6所述的方法,其特征在于,所述解析所述数据文件,得到所述数据字段信息和所述数据字段信息对应的数据,包括:
调用与所述数据文件对应的文件解析指令,对所述数据文件进行数据解析,得到所述数据字段信息;
调用与所述数据文件对应的文件读取指令,对所述数据文件进行数据读取,得到与所述数据字段信息对应的数据。
8.根据权利要求6所述的方法,其特征在于,所述根据所述数据字段信息生成元数据,包括:
获取所述数据的表名;
根据所述数据字段信息、所述表名和所述数据描述信息,生成所述元数据。
9.一种数据查询装置,其特征在于,所述装置包括:
数据名称获取模块,用于获取待查询的数据名称;
元数据获取模块,用于查询元数据库,得到与所述数据名称对应的元数据;所述元数据包括与所述数据名称对应的数据字段信息;所述元数据库中存储有多个数据名称对应的元数据;
数据获取模块,用于查询数据库,得到与所述数据字段信息对应的目标数据;所述数据库中存储有多个数据字段信息对应的数据。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940489.0A CN113656434B (zh) | 2021-08-17 | 2021-08-17 | 数据查询方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110940489.0A CN113656434B (zh) | 2021-08-17 | 2021-08-17 | 数据查询方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113656434A true CN113656434A (zh) | 2021-11-16 |
CN113656434B CN113656434B (zh) | 2022-08-23 |
Family
ID=78479371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110940489.0A Active CN113656434B (zh) | 2021-08-17 | 2021-08-17 | 数据查询方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113656434B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208780A1 (en) * | 2006-03-02 | 2007-09-06 | Anglin Matthew J | Apparatus, system, and method for maintaining metadata for offline repositories in online databases for efficient access |
CN101145162A (zh) * | 2007-10-31 | 2008-03-19 | 金蝶软件(中国)有限公司 | 一种数据库动态查询的方法和系统 |
CN105653732A (zh) * | 2016-02-02 | 2016-06-08 | 优品财富管理有限公司 | 一种基于元数据自动建立表方法及系统 |
CN110046163A (zh) * | 2019-04-12 | 2019-07-23 | 网宿科技股份有限公司 | 一种数据检索方法及系统 |
CN111936985A (zh) * | 2018-01-30 | 2020-11-13 | 恩卡普沙科技有限责任公司 | 一种用于封装和存储来自多个不同数据源的信息的方法和系统 |
-
2021
- 2021-08-17 CN CN202110940489.0A patent/CN113656434B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070208780A1 (en) * | 2006-03-02 | 2007-09-06 | Anglin Matthew J | Apparatus, system, and method for maintaining metadata for offline repositories in online databases for efficient access |
CN101145162A (zh) * | 2007-10-31 | 2008-03-19 | 金蝶软件(中国)有限公司 | 一种数据库动态查询的方法和系统 |
CN105653732A (zh) * | 2016-02-02 | 2016-06-08 | 优品财富管理有限公司 | 一种基于元数据自动建立表方法及系统 |
CN111936985A (zh) * | 2018-01-30 | 2020-11-13 | 恩卡普沙科技有限责任公司 | 一种用于封装和存储来自多个不同数据源的信息的方法和系统 |
CN110046163A (zh) * | 2019-04-12 | 2019-07-23 | 网宿科技股份有限公司 | 一种数据检索方法及系统 |
Non-Patent Citations (1)
Title |
---|
李欣: "针对数据库中元数据的采集方法设计与实现", 《信息技术与信息化》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113656434B (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874924B (zh) | 搜索服务的创建方法、装置及计算机可读存储介质 | |
CN106919634B (zh) | 跨应用共享数据的方法及网页浏览器 | |
WO2020232884A1 (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
JP5856139B2 (ja) | 仮想ドキュメントを用いたインデックス付与と検索 | |
CN109871289B (zh) | 一种远程过程调用rpc服务生成方法及装置 | |
US20130104135A1 (en) | Data center operation | |
CN108287894B (zh) | 数据处理方法、装置、计算设备及存储介质 | |
CN111818175B (zh) | 企业服务总线配置文件生成方法、装置、设备和存储介质 | |
US20170339252A1 (en) | Generating a response to a client device in an internet of things domain | |
CN112100152A (zh) | 业务数据处理方法、系统、服务器和可读存储介质 | |
CN114385620A (zh) | 数据处理方法、装置、设备及可读存储介质 | |
CN111083054B (zh) | 路由配置处理方法、装置、计算机设备和存储介质 | |
CN111723245B (zh) | 数据存储系统中建立不同类型存储对象关联关系的方法 | |
CN113656434B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN111431962B (zh) | 基于情景感知计算的跨域资源接入物联网服务发现方法 | |
CN114238334A (zh) | 异构数据编码、解码方法和装置、计算机设备和存储介质 | |
CN110851452B (zh) | 数据表连接处理方法及装置、电子设备和存储介质 | |
CN114840574A (zh) | 数据查询方法、服务器、节点及存储介质 | |
CN112417020A (zh) | 业务扩展的实现方法、装置、计算机设备和存储介质 | |
CN112860567A (zh) | 埋点识别方法、装置、计算机设备和存储介质 | |
CN112597105A (zh) | 文件关联对象的处理方法、服务端设备及存储介质 | |
CN107341263B (zh) | 一种静态页面数据处理的方法及装置 | |
US11301498B2 (en) | Multi-cloud object store access | |
CN111881220A (zh) | 列表存储下的数据操作方法、装置、电子设备和存储介质 | |
CN113467823B (zh) | 一种配置信息的获取方法、装置、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |