CN112434189A - 数据查询方法、装置及设备 - Google Patents
数据查询方法、装置及设备 Download PDFInfo
- Publication number
- CN112434189A CN112434189A CN202011404960.6A CN202011404960A CN112434189A CN 112434189 A CN112434189 A CN 112434189A CN 202011404960 A CN202011404960 A CN 202011404960A CN 112434189 A CN112434189 A CN 112434189A
- Authority
- CN
- China
- Prior art keywords
- data
- data source
- source
- name
- type
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000001914 filtration Methods 0.000 claims abstract description 43
- 238000013523 data management Methods 0.000 claims description 97
- 238000013508 migration Methods 0.000 claims description 28
- 230000005012 migration Effects 0.000 claims description 28
- 238000013507 mapping Methods 0.000 claims description 20
- 230000001052 transient effect Effects 0.000 claims description 8
- 230000002123 temporal effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 9
- 238000011161 development Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000004458 analytical method Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9035—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/908—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Library & Information Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据查询方法、装置及设备,该方法包括:接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;从数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,从元数据中查找与所述数据源名称对应的连接信息;从多个数据源中选取与所述数据源名称对应的目标数据源,基于所述连接信息与目标数据源建立连接,通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;通过所述连接接收所述目标数据,将所述目标数据发送给客户端。通过本申请的技术方案,提高数据访问效率,降低数据访问难度。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种数据查询方法、装置及设备。
背景技术
GeoMesa是开源的进行时空数据处理的工具包,支持大规模地理空间数据的查询和分析,提供数据存储和时空索引的管理接口,也提供了数据查询的API(ApplicationProgramming Interface,应用程序接口)。在实际开发中,可以使用GeoMesa在分布式数据存储上进行数据表定义,从而实现数据管理和索引管理,提供给上层服务进行数据查询和分析。GeoMesa可以实现大数据场景下的对时空数据的管理和查询,极大地降低时空数据的开发门槛,提升开发效率。
GeoMesa能够实现多种数据源的适配对接,可以在HBase(分布式面向列的开源数据库),Accumulo(可靠可伸缩高性能的排序分布式数据库),Cassandra(开源分布式的NoSQL数据库),Kafka(高吞吐量的分布式发布订阅消息数据库),Redis(RemoteDictionary Server,远程字典服务)等多种数据源上,对时空数据进行管理,并对时空数据进行时空索引,以提高数据查询效率。
但是,对于访问GeoMesa的用户来说,需要获知所有数据源的信息,才可以创建数据访问连接,以访问各种类型的数据源,降低了数据访问的效率,增加了数据访问的难度。比如说,若需要访问HBase数据源,则用户需要获知HBase数据源的信息,才可以访问HBase数据源,若需要访问Accumulo数据源,则用户需要获知Accumulo数据源的信息,才可以访问Accumulo数据源,以此类推。显然,用户需要获知所有数据源的信息,数据访问的难度比较大。
发明内容
本申请提供一种数据查询方法,应用于数据管理***中的数据管理设备,所述数据管理***还包括多个数据源,所述方法包括:
接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;
从多个数据源中选取与所述数据源名称对应的目标数据源,基于所述连接信息与目标数据源建立连接,并通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
通过所述连接接收所述目标数据,并将所述目标数据发送给客户端。
在一种可能的实施方式中,所述从预先配置的元数据中查找与所述数据源名称对应的连接信息,包括:确定与所述数据源名称对应的数据源类型;
从所述元数据中查找与所述数据源类型对应的连接信息。
示例性的,若所述数据源类型为HBase类型,所述连接信息包括zookeeper连接地址及端口,认证信息;若所述数据源类型为HDFS类型,所述连接信息包括文件***地址及端口、认证信息;若所述数据源类型为Kafka类型,所述连接信息包括bootstrap服务地址及端口,zookeeper连接地址及端口;若所述数据源类型为Redis类型,所述连接信息包括Redis集群地址及端口,访问密码。
在一种可能的实施方式中,所述从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称之前,所述方法还包括:
获取预先配置的数据目录,将所述数据目录存储在所述数据管理设备的数据库中,所述数据目录包括业务分类、数据表名称和数据源名称的映射关系;
获取预先配置的元数据,并将所述元数据存储在所述数据管理设备的所述数据库中,所述元数据包括数据源类型与连接信息的映射关系。
在一种可能的实施方式中,所述方法还包括:
在接收到待存储数据后,确定所述待存储数据的类型;
若所述类型为实时数据,则将所述待存储数据存储到Kafka类型的数据源;
若所述类型为历史数据,则将所述待存储数据存储到HBase类型的数据源,或者,将所述待存储数据存储到HDFS类型的数据源;
若所述类型为暂态数据,则将所述待存储数据存储到Redis类型的数据源。
在一种可能的实施方式中,所述方法还包括:
获取数据迁移任务;其中,所述数据迁移任务包括源业务分类,源数据表名称,目标业务分类,目标数据表名称,待迁移数据的属性信息;
从所述数据目录中查找与所述源业务分类和源数据表名称对应的第一数据源名称,与所述目标业务分类和目标数据表名称对应的第二数据源名称;
从所述元数据中查找与所述第一数据源名称对应的第一连接信息,与所述第二数据源名称对应的第二连接信息;基于所述第一连接信息与第一数据源建立第一连接,并基于所述第二连接信息与第二数据源建立第二连接;
基于所述属性信息将第一数据源中的待迁移数据迁移到第二数据源。
在一种可能的实施方式中,所述属性信息包括源数据表中的第一字段与目标数据表中的第二字段之间的字段映射关系,所述基于所述属性信息将第一数据源中的待迁移数据迁移到第二数据源,包括:
基于所述属性信息,将所述第一数据源中所述源数据表中的第一字段的待迁移数据,迁移到所述第二数据源中所述目标数据表中的第二字段。
在一种可能的实施方式中,所述多个数据源均用于存储时空数据;其中,所述时空数据包括时间维度、空间维度和属性维度。
本申请提出一种数据查询装置,应用于数据管理***中的数据管理设备,所述数据管理***还包括多个数据源,所述装置包括:接收模块,用于接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
获取模块,用于从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;从多个数据源中选取与所述数据源名称对应的目标数据源;
建立模块,用于基于所述连接信息与目标数据源建立连接;
发送模块,用于通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
所述接收模块,还用于通过所述连接接收所述目标数据;
所述发送模块,还用于将所述目标数据发送给客户端。
本申请提出一种数据管理设备,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;
从多个数据源中选取与所述数据源名称对应的目标数据源,基于所述连接信息与目标数据源建立连接,并通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
通过所述连接接收所述目标数据,并将所述目标数据发送给客户端。
基于上述技术方案,本申请实施例中,查询请求只需要携带业务分类和数据表名称,而不需要携带数据源名称,数据管理设备可以查找与该业务分类和该数据表名称对应的数据源名称,继而获知数据源的信息,从而屏蔽数据源的信息,用户不需要获知数据源的信息,即不会感知数据是从哪个数据源查询,不会感知连接建立过程,使得用户可以访问各种类型的数据源,可以快速访问数据源中的数据,可以使用统一的访问接口实现数据的访问和查询,提高了数据访问的效率,降低了数据访问的难度,提高了上层应用的开发效率。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的GeoMesa的功能示意图;
图2是本申请一种实施方式中的数据管理***的结构示意图;
图3是本申请一种实施方式中的数据目录的结构示意图;
图4是本申请一种实施方式中的数据查询方法的流程图;
图5是本申请一种实施方式中的时空数据的示意图;
图6是本申请一种实施方式中的数据查询装置的结构图;
图7是本申请一种实施方式中的数据管理设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
GeoMesa是开源的进行时空数据处理的工具包,参见图1所示,GeoMesa支持数据管理API,支持时空数据的查询分析API,GeoMesa提供分布式数据的时空索引,并支持分布式数据的查询引擎。GeoMesa可以采用时空数据存储***来存储时空数据,从而实现时空数据的数据管理和索引管理,提供给上层服务进行数据查询和分析。时空数据存储***是用于存储时空数据的数据库,本文将时空数据存储***称为数据源,即数据源是用于存储时空数据的数据库。
参见图2所示,为本申请实施例的数据管理***的***结构示意图,该数据管理***可以是采用GeoMesa实现数据查询的***,也可以是其它类型的***,对此不做限制。该数据管理***可以包括数据管理设备,多个客户端(如终端设备的浏览器或者APP等)和多个数据源,这些数据源可以是相同类型的数据源,也可以是不同类型的数据源,本实施例中以这些数据源是不同类型的数据源为例。
参见图2所示,这些数据源可以包括HBase类型的数据源(称为HBase数据源)、HDFS(Hadoop Distributed File System,Hadoop分布式文件***)类型的数据源(HDFS数据源)、Kafka类型的数据源(Kafka数据源)、Redis类型的数据源(Redis数据源)。当然,上述只是数据源类型的几个示例,对此数据源类型不做限制,如Accumulo数据源、Cassandra数据源等。通过多个数据源在不同场景下对时空数据进行存储并响应查询请求,共同构成时空数据仓库。
在相关技术中,对于访问数据源的用户来说,需要获知所有数据源的信息,才可以创建数据访问连接,以访问各种类型的数据源,降低了数据访问效率,增加了数据访问难度。比如说,若需要访问HBase数据源,则用户需要获知HBase数据源的信息,才可以访问HBase数据源,若需要访问HDFS数据源,则用户需要获知HDFS数据源的信息,才可以访问HDFS数据源,以此类推。
针对上述问题,本申请实施例中,参见图2所示,在数据管理***中额外部署数据管理设备(即时空数据管理***),该数据管理设备可以是一个独立设备,也可以是一个功能模块集成在数据管理***的已有设备,对此不做限制。通过部署数据管理设备,使得查询请求只需要携带业务分类和数据表名称,而不需要携带数据源名称,数据管理设备可以查找与该业务分类和该数据表名称对应的数据源名称,继而获知数据源的信息,从而屏蔽数据源的信息,用户不需要获知数据源的信息,即不会感知数据是从哪个数据源查询,不会感知连接建立过程。
以下结合具体实施例,对本申请实施例的技术方案进行说明。
在一种可能的实施方式中,数据管理设备可以获取预先配置的元数据,并将该元数据存储在数据管理设备的数据库中,该元数据可以包括数据源类型与连接信息的映射关系,该连接信息表示数据管理设备需要通过该连接信息才能够与该数据源类型的数据源建立连接,继而通过该连接访问该数据源。
示例性的,可以预先配置元数据,且数据管理设备可以包括一个数据库(如PostgreSQL数据库,对此数据库的类型不做限制),数据管理设备可以获取预先配置的元数据,并将该元数据存储在数据管理设备的数据库中。
示例性的,若数据源的数据源类型为HBase类型,则该连接信息可以包括但不限于zookeeper连接地址及端口,认证信息。若数据源的数据源类型为HDFS类型,则该连接信息可以包括但不限于文件***地址及端口、认证信息。若数据源的数据源类型为Kafka类型,则该连接信息可以包括但不限于bootstrap服务地址及端口,zookeeper连接地址及端口。若数据源的数据源类型为Redis类型,则该连接信息可以包括但不限于Redis集群地址及端口,访问密码。
比如说,可以对每个类型的数据源进行统一管理,统一定义各数据源的元数据,不同类型的数据源的连接信息存在差异,可以根据数据源的类型区分数据源的连接信息。参见表1所示,可以在数据库中记录各数据源的元数据。
表1
属性名 | 含义 | 规则说明 | 是否必填 | 默认值 |
name | 数据源名称 | 字母&数字,全局唯一 | 必填 | 无 |
type | 数据源类型 | 枚举:Kafka、HBase、HDFS、Redis | 必填 | 无 |
description | 描述信息 | 无限制 | 可选 | 无 |
params | 连接信息 | 数据源连接参数,各数据源限制不同 | 必填 | 无 |
针对HBase数据源,在表1所示的元数据中,name是HBase数据源的名称,该数据源的名称具有唯一性,即全局唯一。type是HBase数据源的类型,即Hbase。description是HBase数据源的描述信息,对此描述信息不做限制。params是HBase数据源的连接信息,如zookeeper连接地址及端口,Kerberos认证信息等。当然,该连接信息还可以包括其它类型的连接信息,对此连接信息不做限制。
针对HDFS数据源,在表1所示的元数据中,name是HDFS数据源的名称,type是HDFS数据源的类型,即HDFS,description是HDFS数据源的描述信息。params是HDFS数据源的连接信息,如文件***地址及端口、Kerberos认证信息等,该连接信息还可以包括其它类型的连接信息,对此连接信息不做限制。
针对Kafka数据源,在表1所示的元数据中,name是Kafka数据源的名称,type是Kafka数据源的类型,即Kafka,description是Kafka数据源的描述信息。params是Kafka数据源的连接信息,如bootstrap服务地址及端口,zookeeper连接地址及端口等,该连接信息还可以包括其它类型的连接信息,对此不做限制。
针对Redis数据源,在表1所示的元数据中,name是Redis数据源的名称,type是Redis数据源的类型,即Redis,description是Redis数据源的描述信息。params是Redis数据源的连接信息,如Redis集群地址及端口,访问密码等,该连接信息还可以包括其它类型的连接信息,对此连接信息不做限制。
综上所述,参见表1所示,数据管理设备可以在数据库中存储表1所示的元数据,该元数据可以包括数据源名称、数据源类型与连接信息的映射关系。
在一种可能的实施方式中,数据管理设备还可以获取预先配置的数据目录,并将该数据目录存储在数据管理设备的数据库中,该数据目录可以包括业务分类、数据表名称和数据源名称的映射关系。比如说,可以预先配置数据目录,且数据管理设备可以包括数据库(如PostgreSQL数据库),数据管理设备可以获取预先配置的数据目录,并将该数据目录存储在数据管理设备的数据库中。
示例性的,数据管理设备可以采用三层数据目录的方式,记录数据源名称、业务分类和数据表名称的映射关系,参见图3所示,为数据目录的结构示意图。
数据目录的第一层为数据源名称,该数据源名称是数据源的唯一标识,如HBase数据源的名称,HDFS数据源的名称等,第一层用于确定具体数据源,即通过第一层可以查找到数据源,继而在访问数据时创建与该数据源的连接。
数据目录的第二层为业务分类(也可以称为数据分类),该业务分类是对数据进行类目的划分,与数据源的类型无关,表示数据表中的数据属于哪个业务分类,方便第三层数据表定义能够在逻辑上归类。比如说,该业务分类可以为交通类型,兴趣点类型,位置定位类型等,对此业务分类不做限制。交通类型表示该业务分类下的所有数据表中的数据均是交通类型的数据,兴趣点类型表示该业务分类下的所有数据表中的数据均是兴趣点类型的数据,以此类推。
数据目录的第三层为数据表名称,该数据表名称可以是数据表的唯一标识,如HBase数据源中数据表a1的名称,HBase数据源中数据表a2的名称,HDFS数据源中数据表b1的名称等,第三层用于确定具体数据表,即,通过第三层可以查找到数据源中的某个数据表,表示需要访问该数据表中的数据。
示例性的,关于数据目录中的数据源名称,可以使用datastore表示,关于数据目录中的业务分类,可以使用catalog表示,关于数据目录中的数据表名称,可以使用schema表示,数据目录的三层结构可以表示为datastore.catalog.schema。
综上所述,参见图3所示,数据目录可以为树形结构,第一层的数据源名称全局唯一,在某数据源名称下,第二层的业务分类在该数据源名称下唯一,在某业务分类下,第三层的数据表名称在该业务分类下唯一。通过业务分类和数据表名称的组合确定了数据源名称的唯一性,不再需要感知数据源差异,只通过业务分类和数据表名称可以确定完整的三层结构datastore.catalog.schema。
示例性的,关于数据目录中的业务分类catalog的定义,可以参见表2所示,关于数据目录中的数据表名称schema的定义,可以参见表3所示。
表2
属性名 | 含义 | 规则说明 | 是否必填 | 默认值 |
name | 业务分类名称 | 字母&数字,全局唯一 | 必填 | 无 |
description | 描述信息 | 无限制 | 可选 | 无 |
表3
属性名 | 含义 | 规则说明 | 是否必填 | 默认值 |
name | 数据表名称 | 字母&数字,业务分类范围下唯一 | 必填 | 无 |
comment | 描述信息 | 无限制 | 可选 | 无 |
在一种可能的实施方式中,数据管理设备还可以获取预先配置的数据表结构,并将该数据表结构存储在数据管理设备的数据库中,该数据表结构定义中数据表中某数据字段的信息。比如说,可以预先配置数据表结构,且数据管理设备可以包括数据库(如PostgreSQL数据库),数据管理设备可以获取预先配置的数据表结构,并将该数据表结构存储在数据管理设备的数据库中。
参见表4所示,为该数据表结构的一个示例,对此数据表结构的内容不做限制。数据源在创建数据表时,可以参考该数据表结构,也就是说,基于该数据表结构创建数据表。比如说,针对某个数据字段(数据管理设备的数据库中可以记录多个数据字段的数据表结构),若该数据字段是主键,则在创建数据表时,需要将该数据字段作为主键;若该数据字段是索引字段,则在创建数据表时,需要将该数据字段作为索引字段;若该数据字段是对象标识,则在创建数据表时,需要将该数据字段作为对象标识。此外,数据管理设备还可以将该数据表结构提供给用户,以使用户能够获知该数据表结构,继而获知哪个数据字段是主键,哪个数据字段是索引字段,哪个数据字段是对象标识。
表4
属性名 | 含义 | 规则说明 | 是否必填 | 默认值 |
name | 数据字段名称 | 字母&数字,全表唯一 | 必填 | 无 |
type | 数据类型 | 时空数据类型 | 必填 | 无 |
pk | 是否主键 | 布尔类型 | 必填 | false |
index | 是否索引字段 | 布尔类型 | 必填 | fasle |
uid | 是否对象标识 | 布尔类型 | 必填 | fasle |
comment | 描述信息 | 无限制 | 可选 | 无 |
在上述应用场景下,本申请实施例中提出一种数据查询方法,该方法可以应用于数据管理***中的数据管理设备,该数据管理***还可以包括客户端和多个数据源,参见图4所示,为该方法的流程示意图,该方法可以包括:
步骤401,接收查询请求,该查询请求包括业务分类,数据表名称和数据过滤条件,比如说,数据管理设备接收客户端发送的查询请求。
示例性的,数据管理设备在实现数据目录管理和元数据管理的基础上,还需要实现数据的查询分析,在查询分析过程中,对不同数据源统一对外提供数据访问API,可以对数据访问进行REST(Representational State Transfer,表述性状态转移)接口的封装,屏蔽不同数据源的差异,即屏蔽数据源信息,使得数据访问操作不涉及数据源信息,接口只涉及业务分类(catalog),数据表名称(schema)和数据过滤条件。因此,客户端在向数据管理设备发送查询请求时,该查询请求包括业务分类,数据表名称和数据过滤条件,而不包括数据源信息。
综上所述,数据管理设备在接收到查询请求后,可以从该查询请求中解析出业务分类,数据表名称和数据过滤条件,但是该查询请求不包括数据源信息。
在一种可能的实施方式中,该查询请求的一个示例可以为:
URL:/spatiotemporal/catalogs/${catalog}/schemas/${schema}/features
其中,该查询请求的相关含义可以参见表5所示,spatiotemporal表示待查询数据的类型是时空数据,catalogs表示业务分类,${catalog}表示具体的业务分类值,schemas表示数据表名称,${schema}表示具体的数据表名称值。此外,features表示数据过滤条件,且数据过滤条件可以包括但不限于HEADERS(主题)字段和REQUEST BODY(请求正文),HEADERS字段的相关含义可以参见表6所示,REQUEST BODY字段的相关含义可以参见表7所示。
表5
参数名 | 含义 | 规则说明 | 是否必填 | 默认值 |
catalog | 业务分类名称 | 字母&数字 | 必填 | 无 |
schema | 数据表名称 | 字母&数字 | 必填 | 无 |
表6
参数名 | 含义 | 规则说明 | 是否必填 | 默认值 |
Content-Type | 内容类型 | 此接口只能使用application/json | 必填 | application/json |
表7
参数名 | 含义 | 数据类型 | 规则说明 | 是否必填 | 默认值 |
cql | 通用查询语句 | String | 通用查询语句 | 必填 | INCLUDE |
limit | 返回值数量限制 | Int | 查询数据量限制 | 可选 | 1000 |
attributes | 导出属性名称 | JsonArray<String> | 查询属性集合 | 可选 | 无 |
综上可以看出,该查询请求中包括业务分类,数据表名称和数据过滤条件,但是该查询请求不包括数据源信息,这样,用户可以使用业务分类和数据表名称进行访问,不感知数据源的类型,不需要配置数据源的连接信息,就可以直接对数据进行访问,并且,该查询请求中使用了统一的数据查询语句。
该数据查询语句可以是该查询请求中的数据过滤条件,该数据过滤条件可以使用CQL(Common Query Language,通用查询语言)查询语句,实现时空数据的过滤查询,也可以是其它类型的查询语句,对此不做限制。
步骤402,从预先配置的数据目录中查找与该业务分类和该数据表名称对应的数据源名称,并从预先配置的元数据中查找与该数据源名称对应的连接信息。
比如说,数据管理设备可以从数据库中获取预先配置的数据目录,该数据目录记录数据源名称、业务分类和数据表名称的映射关系,因此,数据管理设备从查询请求中解析出业务分类和数据表名称后,可以通过该业务分类和该数据表名称查询数据目录,得到与该业务分类和该数据表名称对应的数据源名称。
数据管理设备可以从数据库中获取预先配置的元数据,由于该元数据记录数据源名称、数据源类型与连接信息的映射关系,因此,在得到数据源名称后,可以通过该数据源名称查询该元数据,得到与该数据源名称对应的连接信息。
在一种可能的实施方式中,从元数据中查找与该数据源名称对应的连接信息,可以包括:先确定与该数据源名称对应的数据源类型,然后,从元数据中查找与该数据源类型对应的连接信息。比如说,若数据源类型为HBase类型,则连接信息包括zookeeper连接地址及端口,认证信息;若数据源类型为HDFS类型,则连接信息包括文件***地址及端口、认证信息;若数据源类型为Kafka类型,则连接信息包括bootstrap服务地址及端口,zookeeper连接地址及端口;若数据源类型为Redis类型,则连接信息包括Redis集群地址及端口,访问密码。
比如说,参见表1所示,可以确定与数据源名称对应的数据源类型,相同数据源类型的数据源具有相同的连接信息,不同数据源类型的数据源具有不同的连接信息,因此,在得到数据源类型后,可以确定与该数据源类型对应的连接信息,如HBase类型的连接信息包括zookeeper连接地址及端口,认证信息等。
步骤403,从多个数据源中选取与该数据源名称对应的目标数据源,并基于该连接信息与该目标数据源建立连接,并通过该连接向目标数据源发送该数据过滤条件,以使目标数据源查询与该数据过滤条件对应的目标数据。
比如说,在得到数据源名称后,数据管理设备可以从所有数据源中选取与该数据源名称对应的目标数据源,如HBase数据源、或HDFS数据源、或Kafka数据源、或Redis数据源,为了方便描述,以目标数据源是HBase数据源为例。
然后,数据管理设备基于HBase数据源的连接信息与HBase数据源建立连接,对此连接建立过程不做限制,比如说,数据管理设备可以基于HBase数据源的zookeeper连接地址及端口,认证信息,与HBase数据源建立连接。
在数据管理设备与HBase数据源建立连接后,数据管理设备可以通过该连接向HBase数据源发送该数据过滤条件,参见表6和表7所示。
HBase数据源在接收到该数据过滤条件后,可以查询与该数据过滤条件对应的目标数据,对此目标数据的查询过程不做限制。HBase数据源在得到与该数据过滤条件对应的目标数据后,可以将该目标数据返回给数据管理设备。
步骤404,通过该连接接收目标数据,并将该目标数据发送给客户端。
具体的,数据管理设备可以通过该连接,接收HBase数据源返回的目标数据(即查询结果),并将该目标数据发送给客户端。比如说,可以通过标准的GeoJSON数据格式将目标数据发送给客户端,对此发送方式不做限制。
在上述实施例中,多个数据源(如HBase数据源、HDFS数据源、Kafka数据源、Redis数据源等)均用于存储时空数据,该时空数据可以包括但不限于时间维度、空间维度和属性维度。综上所述,上述数据过滤条件可以是时空数据的数据过滤条件,上述目标数据可以是时空数据,当然,时空数据只是示例。
参见图5所示,为时空数据的示意图,时空数据可以包括时间、空间、属性等三大维度,在数据表达上,可以使用ID作为数据唯一标识,使用UID(用户标识)作为对象唯一标识,数据本身是由特定对象产生或者用来表达某一特定对象的时空状态,从数据维度上,属性数据中包含了数据标识和对象标识。
示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,查询请求只需要携带业务分类和数据表名称,而不需要携带数据源名称,数据管理设备可以查找与该业务分类和该数据表名称对应的数据源名称,继而获知数据源的信息,从而屏蔽数据源的信息,用户不需要获知数据源的信息,即不会感知数据是从哪个数据源查询,不会感知连接建立过程,使得用户可以访问各种类型的数据源,可以快速访问数据源中的数据,可以使用统一的访问接口实现数据的访问和查询,提高了数据访问的效率,降低了数据访问的难度,提高了上层应用的开发效率。查询请求可以兼容CQL查询语法,可以实现大数据场景下对时空数据的管理和查询,极大地降低时空数据开发门槛和提升开发效率。提供统一轻量级数据访问接口,使用统一的数据访问规则进行数据访问,支持不同开发语言进行数据对接。
在一种可能的实施方式中,还可以采用如下方式实现待存储数据的存储:
在接收到待存储数据后,确定待存储数据的类型;若该类型为实时数据,则将待存储数据存储到Kafka类型的数据源;若该类型为历史数据,则将待存储数据存储到HBase类型的数据源,或者,将待存储数据存储到HDFS类型的数据源;若该类型为暂态数据,则将待存储数据存储到Redis类型的数据源。
示例性的,可以根据不同数据源的性能特征,将所有数据的存储需求划分为实时数据的存储需求、历史数据(即海量历史数据)的存储需求、暂态数据的存储需求,基于此,使用Kafka类型的数据源作为实时数据的数据库,使用Hbase类型的数据源和HDFS类型的数据源,作为历史数据的数据库,使用Redis类型的数据源作为暂态数据的数据库,从而形成完整的数据存储模式。
在此基础上,数据管理设备在得到待存储数据后,若该待存储数据为实时数据,则将待存储数据存储到Kafka类型的数据源;若该待存储数据为历史数据,则将待存储数据存储到HBase类型的数据源或者HDFS类型的数据源;若该待存储数据为暂态数据,则将待存储数据存储到Redis类型的数据源。
在一种可能的实施方式中,还可以采用如下方式实现数据迁移/数据同步:
步骤a1、获取数据迁移任务,该数据迁移任务包括源业务分类,源数据表名称,目标业务分类,目标数据表名称,待迁移数据的属性信息,该属性信息包括源数据表中的第一字段与目标数据表中的第二字段之间的字段映射关系。
示例性的,源业务分类和源数据表名称唯一对应一个数据源,该数据源是数据迁移前的数据源,将该数据源记为第一数据源,即需要将第一数据源中的数据迁移出去。目标业务分类和目标数据表名称唯一对应一个数据源,该数据源是数据迁移后的数据源,将该数据源记为第二数据源,即需要将数据迁移到第二数据源。综上所述,需要将第一数据源中的数据迁移到第二数据源。
示例性的,待迁移数据的属性信息包括源数据表中的第一字段与目标数据表中的第二字段之间的字段映射关系,该源数据表是位于第一数据源中的数据表,该目标数据表是位于第二数据源中的数据表,基于该待迁移数据的属性信息,获知需要将源数据表中的第一字段的数据迁移到目标数据表中的第二字段。
示例性的,数据迁移任务的一个示例可以参见表8所示,该数据迁移任务可以包括源业务分类,源数据表名称,目标业务分类,目标数据表名称,待迁移数据的属性信息,并行度等内容,该并行度表示分布式运行的任务数量。
表8
步骤a2、从数据目录中查找与源业务分类和源数据表名称对应的第一数据源名称,与目标业务分类和目标数据表名称对应的第二数据源名称。
示例性的,由于数据目录包括数据源名称、业务分类和数据表名称的映射关系,因此,数据管理设备可以从该数据目录中查找与该源业务分类和该源数据表名称对应的第一数据源名称,并从该数据目录中查找与该目标业务分类和该目标数据表名称对应的第二数据源名称,对此查找过程不再赘述。
步骤a3、从元数据中查找与该第一数据源名称对应的第一连接信息,与该第二数据源名称对应的第二连接信息;基于该第一连接信息与第一数据源建立第一连接,并基于该第二连接信息与第二数据源建立第二连接。
示例性的,由于元数据包括数据源名称、数据源类型与连接信息的映射关系,因此,数据管理设备可以从该元数据中查找与第一数据源名称对应的第一连接信息,与第二数据源名称对应的第二连接信息,对此查找过程不再赘述。
在得到第一连接信息后,数据管理设备可以基于该第一连接信息与第一数据源(迁移前的数据源)建立第一连接。在得到第二连接信息后,数据管理设备可以基于该第二连接信息与第二数据源(迁移后的数据源)建立第二连接。
步骤a4、基于该属性信息将第一数据源中的待迁移数据迁移到第二数据源。
示例性的,由于数据管理设备与第一数据源之间建立有第一连接,因此,数据管理设备与第一数据源之间能够进行通信,数据管理设备可以通知第一数据源将待迁移数据迁移到第二数据源,使得第一数据源将待迁移数据迁移到第二数据源。此外,由于数据管理设备与第二数据源之间建立有第二连接,因此,数据管理设备与第二数据源之间能够进行通信,数据管理设备可以通知第二数据源接收来自于第一数据源的待迁移数据,使得第二数据源接收待迁移数据。
在一种可能的实施方式中,该属性信息可以包括但不限于源数据表中的第一字段与目标数据表中的第二字段之间的字段映射关系,基于此,在步骤a4中,数据管理设备基于该属性信息,可以将第一数据源中源数据表中的第一字段的待迁移数据,迁移到第二数据源中目标数据表中的第二字段。
比如说,数据管理设备可以将源数据表中的第一字段的信息,及第二数据源的信息通知给第一数据源。基于源数据表中的第一字段的信息,第一数据源可以从源数据表的第一字段中获取待迁移数据。基于第二数据源的信息,第一数据源可以将第一字段中的待迁移数据发送给第二数据源。
数据管理设备可以将目标数据表中的第二字段的信息,及第一数据源的信息通知给第二数据源。基于第一数据源的信息,第二数据源可以接收第一数据源发送的待迁移数据。基于目标数据表中的第二字段的信息,第二数据源可以将待迁移数据写入到目标数据表中的第二字段,从而完成数据迁移。
在上述实施例中,第一字段可以是源数据表中的任意字段,且第一字段的数量可以为多个。第二字段可以是目标数据表中的任意字段,且第二字段的数量可以为多个。第一字段的数量与第二字段的数量可以相同,即二者一一对应。
综上所述,可以将第一数据源中的待迁移数据迁移到第二数据源。
示例性的,在将第一数据源中的待迁移数据迁移到第二数据源后,若从第一数据源中删除待迁移数据,就表示实现待迁移数据的迁移,此时,只在第二数据源中保留待迁移数据。在将第一数据源中的待迁移数据迁移到第二数据源后,若不从第一数据源中删除待迁移数据,就表示实现待迁移数据的同步,此时,在第一数据源和第二数据源中同时保留待迁移数据,即数据存储两份。
示例性的,为了实现上述数据迁移,可以采用Flink(分布式实时计算框架)实现,比如说,数据管理设备将数据迁移任务发送给Flink,由Flink实现第一数据源中源数据表到第二数据源中目标数据表之间的数据迁移,将第一数据源中源数据表中的第一字段的待迁移数据,迁移到第二数据源中目标数据表中的第二字段。Flink进行数据迁移时,支持分布式运行,即同时迁移多个数据,可以通过数据迁移任务中的并行度确定同时迁移的数量,并行度约束为大于等于1,表示同一个数据迁移任务会运行多少进程,并行度越大,数据同步速率越高。
示例性的,HBase数据源和HDFS数据源可以存储历史数据,主要用于查询和离线分析,可以根据数据ID作为主键进行数据迁移(也即数据同步),保证所有数据能够持久化存储。Redis数据源采用内存存储方式,具有非常好的查询性能,可以根据对象标识UID作为主键进行数据迁移,保证Redis数据源中存储的一直是对象最新的时空状态数据,而不保存历史时空数据。
基于上述技术方案,为时空数据提供完整的存储方案,满足实时数据存储,历史数据存储,暂态数据存储等存储需求。可以实现不同数据源之间的数据迁移(或数据同步),实现数据的统一管理,实现分布式时空大数据存储方案,极大降低了海量时空数据维护的成本,提高了时空数据上层应用的开发效率。
基于与上述方法同样的构思,本申请实施例提出一种数据查询装置,应用于数据管理***中的数据管理设备,所述数据管理***还包括多个数据源,参见图6所示,为所述装置的结构示意图,所述装置包括:接收模块61,用于接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
获取模块62,用于从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;从多个数据源中选取与所述数据源名称对应的目标数据源;
建立模块63,用于基于所述连接信息与目标数据源建立连接;
发送模块64,用于通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
所述接收模块61,还用于通过所述连接接收所述目标数据;
所述发送模块64,还用于将所述目标数据发送给客户端。
在一种可能的实施方式中,所述获取模块62从预先配置的元数据中查找与所述数据源名称对应的连接信息时具体用于:确定与所述数据源名称对应的数据源类型;从所述元数据中查找与所述数据源类型对应的连接信息。
其中,若所述数据源类型为HBase类型,所述连接信息包括zookeeper连接地址及端口,认证信息;若所述数据源类型为HDFS类型,所述连接信息包括文件***地址及端口、认证信息;若所述数据源类型为Kafka类型,所述连接信息包括bootstrap服务地址及端口,zookeeper连接地址及端口;若所述数据源类型为Redis类型,所述连接信息包括Redis集群地址及端口,访问密码。
在一种可能的实施方式中,所述获取模块62还用于:
获取预先配置的数据目录,将所述数据目录存储在所述数据管理设备的数据库中,所述数据目录包括业务分类、数据表名称和数据源名称的映射关系;
获取预先配置的元数据,并将所述元数据存储在所述数据管理设备的所述数据库中,所述元数据包括数据源类型与连接信息的映射关系。
在一种可能的实施方式中,所述装置还可以包括(在图中未示出):
存储模块,用于在接收到待存储数据后,确定所述待存储数据的类型;
若所述类型为实时数据,则将所述待存储数据存储到Kafka类型的数据源;
若所述类型为历史数据,则将所述待存储数据存储到HBase类型的数据源,或者,将所述待存储数据存储到HDFS类型的数据源;
若所述类型为暂态数据,则将所述待存储数据存储到Redis类型的数据源。
在一种可能的实施方式中,所述装置还可以包括(在图中未示出):
迁移模块,用于获取数据迁移任务;其中,所述数据迁移任务包括源业务分类,源数据表名称,目标业务分类,目标数据表名称,待迁移数据的属性信息;从所述数据目录中查找与所述源业务分类和源数据表名称对应的第一数据源名称,与所述目标业务分类和目标数据表名称对应的第二数据源名称;
从所述元数据中查找与所述第一数据源名称对应的第一连接信息,与所述第二数据源名称对应的第二连接信息;基于所述第一连接信息与第一数据源建立第一连接,并基于所述第二连接信息与第二数据源建立第二连接;
基于所述属性信息将第一数据源中的待迁移数据迁移到第二数据源。
在一种可能的实施方式中,所述属性信息包括源数据表中的第一字段与目标数据表中的第二字段之间的字段映射关系,所述迁移模块基于所述属性信息将第一数据源中的待迁移数据迁移到第二数据源时具体用于:
基于所述属性信息,将所述第一数据源中所述源数据表中的第一字段的待迁移数据,迁移到所述第二数据源中所述目标数据表中的第二字段。
基于与上述方法同样的申请构思,本申请实施例中提出一种数据管理设备,参见图7所示,所述数据管理设备包括:处理器71和机器可读存储介质72,所述机器可读存储介质72存储有能够被所述处理器71执行的机器可执行指令;所述处理器71用于执行机器可执行指令,以实现如下步骤:
接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;
从多个数据源中选取与所述数据源名称对应的目标数据源,基于所述连接信息与目标数据源建立连接,并通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
通过所述连接接收所述目标数据,并将所述目标数据发送给客户端。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的数据查询方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种数据查询方法,其特征在于,应用于数据管理***中的数据管理设备,所述数据管理***还包括多个数据源,所述方法包括:
接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;
从多个数据源中选取与所述数据源名称对应的目标数据源,基于所述连接信息与目标数据源建立连接,并通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
通过所述连接接收所述目标数据,并将所述目标数据发送给客户端。
2.根据权利要求1所述的方法,其特征在于,
所述从预先配置的元数据中查找与所述数据源名称对应的连接信息,包括:
确定与所述数据源名称对应的数据源类型;
从所述元数据中查找与所述数据源类型对应的连接信息。
3.根据权利要求2所述的方法,其特征在于,
若所述数据源类型为HBase类型,所述连接信息包括zookeeper连接地址及端口,认证信息;若所述数据源类型为HDFS类型,所述连接信息包括文件***地址及端口、认证信息;若所述数据源类型为Kafka类型,所述连接信息包括bootstrap服务地址及端口,zookeeper连接地址及端口;若所述数据源类型为Redis类型,所述连接信息包括Redis集群地址及端口,访问密码。
4.根据权利要求1所述的方法,其特征在于,所述从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称之前,还包括:
获取预先配置的数据目录,将所述数据目录存储在所述数据管理设备的数据库中,所述数据目录包括业务分类、数据表名称和数据源名称的映射关系;
获取预先配置的元数据,并将所述元数据存储在所述数据管理设备的所述数据库中,所述元数据包括数据源类型与连接信息的映射关系。
5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
在接收到待存储数据后,确定所述待存储数据的类型;
若所述类型为实时数据,则将所述待存储数据存储到Kafka类型的数据源;
若所述类型为历史数据,则将所述待存储数据存储到HBase类型的数据源,或者,将所述待存储数据存储到HDFS类型的数据源;
若所述类型为暂态数据,则将所述待存储数据存储到Redis类型的数据源。
6.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括:
获取数据迁移任务;其中,所述数据迁移任务包括源业务分类,源数据表名称,目标业务分类,目标数据表名称,待迁移数据的属性信息;
从所述数据目录中查找与所述源业务分类和源数据表名称对应的第一数据源名称,与所述目标业务分类和目标数据表名称对应的第二数据源名称;
从所述元数据中查找与所述第一数据源名称对应的第一连接信息,与所述第二数据源名称对应的第二连接信息;基于所述第一连接信息与第一数据源建立第一连接,并基于所述第二连接信息与第二数据源建立第二连接;
基于所述属性信息将第一数据源中的待迁移数据迁移到第二数据源。
7.根据权利要求6所述的方法,其特征在于,所述属性信息包括源数据表中的第一字段与目标数据表中的第二字段之间的字段映射关系,所述基于所述属性信息将第一数据源中的待迁移数据迁移到第二数据源,包括:
基于所述属性信息,将所述第一数据源中所述源数据表中的第一字段的待迁移数据,迁移到所述第二数据源中所述目标数据表中的第二字段。
8.根据权利要求1-4任一所述的方法,其特征在于,所述多个数据源均用于存储时空数据;其中,所述时空数据包括时间维度、空间维度和属性维度。
9.一种数据查询装置,其特征在于,应用于数据管理***中的数据管理设备,所述数据管理***还包括多个数据源,所述装置包括:
接收模块,用于接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
获取模块,用于从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;从多个数据源中选取与所述数据源名称对应的目标数据源;
建立模块,用于基于所述连接信息与目标数据源建立连接;
发送模块,用于通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
所述接收模块,还用于通过所述连接接收所述目标数据;
所述发送模块,还用于将所述目标数据发送给客户端。
10.一种数据管理设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
所述处理器用于执行机器可执行指令,以实现如下步骤:
接收查询请求,所述查询请求包括业务分类,数据表名称和数据过滤条件;
从预先配置的数据目录中查找与所述业务分类和所述数据表名称对应的数据源名称,并从预先配置的元数据中查找与所述数据源名称对应的连接信息;
从多个数据源中选取与所述数据源名称对应的目标数据源,基于所述连接信息与目标数据源建立连接,并通过所述连接向所述目标数据源发送所述数据过滤条件,以使所述目标数据源查询与所述数据过滤条件对应的目标数据;
通过所述连接接收所述目标数据,并将所述目标数据发送给客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011404960.6A CN112434189A (zh) | 2020-12-02 | 2020-12-02 | 数据查询方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011404960.6A CN112434189A (zh) | 2020-12-02 | 2020-12-02 | 数据查询方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112434189A true CN112434189A (zh) | 2021-03-02 |
Family
ID=74692255
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011404960.6A Pending CN112434189A (zh) | 2020-12-02 | 2020-12-02 | 数据查询方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112434189A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741870A (zh) * | 2021-08-20 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 一种获取Spring框架中数据的方法、***、设备和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555027A (zh) * | 2003-12-29 | 2004-12-15 | 北京北大方正电子有限公司 | 一种在计算机屏幕上显示图形的新方法 |
US20090228527A1 (en) * | 2008-03-05 | 2009-09-10 | Jinhu Wang | System and method for providing data migration services |
US20150370897A1 (en) * | 2014-06-18 | 2015-12-24 | Alibaba Group Holding Limited | Data query method and apparatus |
CN107480252A (zh) * | 2017-08-14 | 2017-12-15 | 浪潮软件股份有限公司 | 一种数据查询方法、客户端、服务端及*** |
CN108304473A (zh) * | 2017-12-28 | 2018-07-20 | 石化盈科信息技术有限责任公司 | 数据源之间的数据传输方法和*** |
CN109189785A (zh) * | 2018-08-10 | 2019-01-11 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN109657128A (zh) * | 2018-12-20 | 2019-04-19 | 北京小米移动软件有限公司 | 数据查询方法、装置及存储介质 |
CN110032575A (zh) * | 2019-04-15 | 2019-07-19 | 网易(杭州)网络有限公司 | 数据查询方法、装置、设备和存储介质 |
CN110928895A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种数据查询、数据表建立方法、装置及设备 |
CN111078702A (zh) * | 2019-12-17 | 2020-04-28 | 南京南瑞继保工程技术有限公司 | 一种sql语句分类管理及统一查询方法和装置 |
CN111460019A (zh) * | 2020-04-02 | 2020-07-28 | 中电工业互联网有限公司 | 一种异构数据源的数据转换方法及中间件 |
-
2020
- 2020-12-02 CN CN202011404960.6A patent/CN112434189A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1555027A (zh) * | 2003-12-29 | 2004-12-15 | 北京北大方正电子有限公司 | 一种在计算机屏幕上显示图形的新方法 |
US20090228527A1 (en) * | 2008-03-05 | 2009-09-10 | Jinhu Wang | System and method for providing data migration services |
US20150370897A1 (en) * | 2014-06-18 | 2015-12-24 | Alibaba Group Holding Limited | Data query method and apparatus |
CN107480252A (zh) * | 2017-08-14 | 2017-12-15 | 浪潮软件股份有限公司 | 一种数据查询方法、客户端、服务端及*** |
CN108304473A (zh) * | 2017-12-28 | 2018-07-20 | 石化盈科信息技术有限责任公司 | 数据源之间的数据传输方法和*** |
CN109189785A (zh) * | 2018-08-10 | 2019-01-11 | 平安科技(深圳)有限公司 | 数据存储方法、装置、计算机设备及存储介质 |
CN110928895A (zh) * | 2018-09-19 | 2020-03-27 | 阿里巴巴集团控股有限公司 | 一种数据查询、数据表建立方法、装置及设备 |
CN109657128A (zh) * | 2018-12-20 | 2019-04-19 | 北京小米移动软件有限公司 | 数据查询方法、装置及存储介质 |
CN110032575A (zh) * | 2019-04-15 | 2019-07-19 | 网易(杭州)网络有限公司 | 数据查询方法、装置、设备和存储介质 |
CN111078702A (zh) * | 2019-12-17 | 2020-04-28 | 南京南瑞继保工程技术有限公司 | 一种sql语句分类管理及统一查询方法和装置 |
CN111460019A (zh) * | 2020-04-02 | 2020-07-28 | 中电工业互联网有限公司 | 一种异构数据源的数据转换方法及中间件 |
Non-Patent Citations (3)
Title |
---|
何宗耀, 北京邮电大学出版社 * |
王战英 等: "基于元数据的分布式通用查询***研究与实现", 《微型电脑应用》 * |
陈伟 等: "ERP发展进程中的数据迁移研究", 《机械科学与技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113741870A (zh) * | 2021-08-20 | 2021-12-03 | 苏州浪潮智能科技有限公司 | 一种获取Spring框架中数据的方法、***、设备和存储介质 |
CN113741870B (zh) * | 2021-08-20 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种获取Spring框架中数据的方法、***、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
US9870382B2 (en) | Data encoding and corresponding data structure | |
CN101727465B (zh) | 分布式列存储数据库索引建立、查询方法及装置与*** | |
US8396883B2 (en) | Spatial querying in a data warehouse | |
EP3236365A1 (en) | Data query method and device | |
US9753960B1 (en) | System, method, and computer program for dynamically generating a visual representation of a subset of a graph for display, based on search criteria | |
CN111221791A (zh) | 一种多源异构数据导入数据湖的方法 | |
US10394805B2 (en) | Database management for mobile devices | |
CN111258978A (zh) | 一种数据存储的方法 | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN110704476A (zh) | 数据处理方法、装置、设备及存储介质 | |
US20150120697A1 (en) | System and method for analysis of a database proxy | |
EP3311313B1 (en) | Network server, methods and computer program product for providing data as a service (daas) in real-time | |
CN115729951B (zh) | 数据查询方法、***、设备及计算机可读存储介质 | |
CN113094387A (zh) | 一种数据查询方法、装置、电子设备及机器可读存储介质 | |
CN113220659A (zh) | 一种数据迁移的方法、***、电子装置和存储介质 | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
CN104408084A (zh) | 一种大数据筛选方法及装置 | |
CN112434189A (zh) | 数据查询方法、装置及设备 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
US11531706B2 (en) | Graph search using index vertices | |
CN102955808A (zh) | 一种数据获取方法和分布式文件*** | |
CN112199463A (zh) | 数据查询方法、装置及设备 | |
CN105740251B (zh) | 一种总线式整合不同内容源的方法和*** | |
CN115658680A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210302 |