CN110309174A - 一种数据查询方法、装置和服务器 - Google Patents
一种数据查询方法、装置和服务器 Download PDFInfo
- Publication number
- CN110309174A CN110309174A CN201810175083.6A CN201810175083A CN110309174A CN 110309174 A CN110309174 A CN 110309174A CN 201810175083 A CN201810175083 A CN 201810175083A CN 110309174 A CN110309174 A CN 110309174A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- target
- source data
- database
- 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 55
- 239000011159 matrix material Substances 0.000 claims abstract description 138
- 241001269238 Data Species 0.000 claims abstract description 26
- 230000001360 synchronised effect Effects 0.000 claims description 30
- 238000013507 mapping Methods 0.000 claims description 29
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 241000270708 Testudinidae Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
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/22—Indexing; Data structures therefor; Storage structures
-
- 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
- G06F16/24558—Binary matching operations
- G06F16/2456—Join operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据查询方法、装置和服务器,该方法包括:接收多表查询请求,确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;从目标数据库中获取所述多个源数据表对应的多个目标数据表;其中,所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;从所述多个目标数据表中查询所述多表查询请求对应的数据。通过本申请的技术方案,可以基于一个多表查询请求,从目标数据库的多个目标数据表中查询数据,可以实现多表查询。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种数据查询方法、装置和服务器。
背景技术
多表查询是数据库系统的一种典型应用,例如,在接收到SQL(Structured QueryLanguage,结构化查询语言)请求后,若该SQL请求是一个多表查询请求,且该SQL请求用于从数据表1、数据表2和数据表3中查询数据,则可以从数据表1、数据表2和数据表3中查询该SQL请求对应的数据。这样,基于一个SQL请求,就可以从多个数据表中查询数据,从而实现多表查询过程。
但是,如果数据表1、数据表2和数据表3分散在异构数据源的数据库中,则传统方式无法实现多表查询。例如,若数据表1存储在MySQL(即关系型数据库)数据源的数据库1中,数据表2存储在Oracle(甲骨文)数据源的数据库2中,数据表3存储在ODPS(Open DataProcessing Service,开放数据处理服务)数据源的数据库3中,由于数据表1、数据表2和数据表3不在同一个数据源的数据库中,因此,无法基于一个SQL请求,从多个数据表中查询数据。
发明内容
本申请提供一种数据查询方法,所述方法包括:
接收多表查询请求,确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
从目标数据库中获取所述多个源数据表对应的多个目标数据表;其中,所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
从所述多个目标数据表中查询所述多表查询请求对应的数据。
本申请提供一种数据查询装置,所述装置包括:
接收模块,用于接收多表查询请求;
确定模块,用于确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
获取模块,用于从目标数据库中获取所述多个源数据表对应的多个目标数据表;所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
查询模块,用于从所述多个目标数据表中查询多表查询请求对应的数据。
本申请提供一种数据查询服务器,所述数据查询服务器包括:
接收器,用于接收多表查询请求;
处理器,用于确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
从目标数据库中获取所述多个源数据表对应的多个目标数据表;所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
从所述多个目标数据表中查询所述多表查询请求对应的数据。
基于上述技术方案,本申请实施例中,可以将源数据库的源数据表中的数据,同步到目标数据库的目标数据表中,即将不同数据源的数据均同步到目标数据库中。这样,在接收到多表查询请求后,可以先确定与多表查询请求对应的多个源数据表,并从目标数据库中获取多个源数据表对应的多个目标数据表,并从多个目标数据表中查询多表查询请求对应的数据,也就是说,可以从一个目标数据库中获取到多个目标数据表,并使用这些目标数据表查询数据,而不是从多个数据源的源数据库的数据表中查询数据,从而可以基于一个多表查询请求,从目标数据库的多个目标数据表中查询数据,可以实现多表查询。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1A和图1B是本申请一种实施方式中的应用场景示意图;
图2是本申请一种实施方式中的数据查询方法的流程图;
图3是本申请另一种实施方式中的数据查询方法的流程图;
图4是本申请一种实施方式中的数据查询装置的结构图。
具体实施方式
在本申请使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种数据查询方法,该方法可以应用于包括源数据库和目标数据库的系统,源数据库的数量可以为多个,对此数量不做限制,目标数据库的数量可以为一个,对此数量也不做限制。其中,可以将源数据库中的数据表称为源数据表,并可以将目标数据库中的数据表称为目标数据表。
在一个例子中,对于多个源数据库来说,不同源数据库的数据源可以相同或者不同。例如,若系统包括源数据库11、源数据库12、源数据库13,则源数据库11的数据源与源数据库12的数据源相同,源数据库11的数据源与源数据库13的数据源不同,源数据库12的数据源与源数据库13的数据源不同。
参见图1A所示,为本申请实施例的一个应用场景示意图,源数据库11的数据源是MySQL数据源,且源数据库11中包括源数据表111和源数据表112,源数据库12的数据源是Oracle数据源,且源数据库12中包括源数据表121,源数据库13的数据源是ODPS数据源,且源数据库13中包括源数据表131。
在上述应用场景下,在接收到SQL请求后,若该SQL请求用于从源数据表111、源数据表121、源数据表131中查询数据,由于源数据表111、源数据表121、源数据表131分散在异构数据源的多个数据库中,因此,无法基于上述SQL请求,从多个数据表中查询数据,即无法实现多表查询,影响用户使用体验。
针对上述发现,本申请实施例中,可以选择目标数据库,目标数据库的数据源可以与某个源数据库的数据源相同,也可以与所有源数据库的数据源不同。例如,目标数据库的数据源为ODPS数据源,与源数据库13的数据源相同,或者,目标数据库的数据源为Sybase数据源,与所有源数据库的数据源均不同。
其中,目标数据库可以是与源数据库不同的新数据库,例如,建立目标数据库14,该目标数据库14的数据源为ODPS数据源或者Sybase数据源。或者,目标数据库也可以与某个源数据库相同,例如,将源数据库13作为目标数据库,即源数据库13也是目标数据库,该目标数据库14的数据源为ODPS数据源。
在一个例子中,目标数据库用于对多个源数据库的源数据表中的数据进行融合。例如,目标数据库用于存储源数据库中的源数据表对应的目标数据表,这个目标数据表用于记录该源数据表中的数据。而且,目标数据库可以用于存储不同或者相同数据源的源数据库中的源数据表对应的目标数据表。
参见图1B所示,为本申请实施例的另一个应用场景示意图,目标数据库14用于存储目标数据表141、目标数据表142、目标数据表143和目标数据表144,目标数据表141与源数据库11中的源数据表111对应,目标数据表142与源数据库11中的源数据表112对应,目标数据表143与源数据库12中的源数据表121对应,目标数据表144与源数据库13中的源数据表131对应。
综上可以看出,在接收到SQL请求后,假设该SQL请求用于从源数据表111、源数据表121、源数据表131中查询数据,虽然源数据表111、源数据表121、源数据表131分散在异构数据源的多个数据库中,但是,与源数据表111对应的目标数据表141、与源数据表121对应的目标数据表143、与源数据表131对应的目标数据表144,存储在同一个目标数据库14中,因此,基于上述SQL请求,可以从源数据表111对应的目标数据表141、源数据表121对应的目标数据表143、源数据表131对应的目标数据表144中查询数据,实现多表查询。
以下结合具体实施例,对上述过程进行说明。参见图2所示,为数据查询方法的一个示例,该方法用于在目标数据库建立目标数据表,该方法可以包括:
步骤201,针对源数据库中的源数据表(即每个源数据表,可以位于相同或者不同的源数据库中),在目标数据库中为该源数据表建立目标数据表。
步骤202,将该源数据表中的数据同步到该目标数据表中。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
针对步骤201,在一个例子中,针对“在目标数据库中为该源数据表建立目标数据表”的过程,可以包括:接收数据表建立请求,该数据表建立请求携带源数据表的信息;在目标数据库中为该信息对应的源数据表建立目标数据表。
例如,若需要为源数据库11中的源数据表111建立目标数据表,则可以接收到数据表建立请求,该数据表建立请求可以携带源数据表111的信息,如源数据表111的标识(即数据表标识)等,对此信息不做限制。然后,在目标数据库14中为该信息对应的源数据表111建立目标数据表,如目标数据表141。
同理,还可以在目标数据库14中为源数据表112建立目标数据表142,并在目标数据库14中为源数据表121建立目标数据表143,并在目标数据库14中源数据表131建立目标数据表144,以此类推,对目标数据表建立过程不做限制。
针对步骤202,在一个例子中,针对“将该源数据表中的数据同步到该目标数据表中”的过程,可以包括:采用数据同步工具,将源数据表中的数据同步到目标数据表中,对此同步过程不做限制,只要能够将源数据表中的数据同步到目标数据表即可。其中,数据同步工具包括但不限于:CDP(Continuous Data Protection,持续数据保护)、GoodSync、DBSync,对此数据同步工具不做限制。
在一个例子中,针对“将该源数据表中的数据同步到该目标数据表中”的过程,可以包括但不限于:获取该源数据表中的第一数据的第一字段;从配置文件中获取该第一字段对应的第二字段,并将该第一数据同步到目标数据表中该第二字段对应的位置。其中,该配置文件用于记录源数据表中的第一字段与目标数据表中的第二字段的对应关系,且该配置文件是根据经验预先配置的。
例如,参见表1所示,为源数据表111的一个示例,参见表2所示,为目标数据表141的一个示例,表2是目标数据表141的初始状态。在此基础上,需要将源数据表111中的数据“主键1、张三、100000000000000000、杭州、主键2、李四、200000000000000000、上海”等,同步到目标数据表141中。
表1
主键 | 姓名 | 身份证 | 城市 |
1 | 张三 | 100000000000000000 | 杭州 |
2 | 李四 | 200000000000000000 | 上海 |
表2
主键 | 用户名 | 唯一标识 | 住址 |
从表1和表2中可以看出,由于源数据表111所在的源数据库11的数据源为MySQL数据源,目标数据表141所在的目标数据库14的数据源为ODPS数据源,因此,源数据表111中的字段名称(为了区分方便,后续将其称为第一字段)与目标数据表141中的字段名称(为了区分方便,后续将其称为第二字段)可以相同或者不同,但是,第一字段与第二字段需要具有对应关系,如上述的第一字段“主键”与第二字段“主键”具有对应关系,第一字段“姓名”与第二字段“用户名”具有对应关系,第一字段“身份证”与第二字段“唯一标识”具有对应关系,第一字段“城市”与第二字段“住址”具有对应关系。
为了获知第一字段与第二字段的对应关系,可以预先设置配置文件,该配置文件用于记录源数据表中的第一字段与目标数据表中的第二字段的对应关系。例如,参见表3所示,为针对源数据表111的配置文件的一个示例。
表3
源数据表111 | 目标数据表141 |
主键 | 主键 |
姓名 | 用户名 |
身份证 | 唯一标识 |
城市 | 住址 |
在实际应用中,由于存在多个源数据表,因此,可以针对每个源数据表设置一个配置文件,或者,所有源数据表共用同一个配置文件,对此不做限制。
综上所述,针对源数据表111中的第一数据“张三”,为了区分方便,可以将源数据表111中的每个数据称为第一数据,可以先获取第一数据“张三”的第一字段“姓名”,并从表3中查询到第一字段“姓名”对应的第二字段“用户名”,然后,将第一数据“张三”同步到目标数据表141中该第二字段“用户名”对应的位置,参见表4所示,以此类推,最终同步结果可以如表4所示。
表4
主键 | 用户名 | 唯一标识 | 住址 |
1 | 张三 | 100000000000000000 | 杭州 |
2 | 李四 | 200000000000000000 | 上海 |
在一个例子中,针对“将该源数据表中的数据同步到该目标数据表中”的过程,可以包括但不限于:获取该源数据表中的第二数据的第一类型;从配置文件中获取该第一类型对应的第二类型,并将该第二数据的数据类型转换为第二类型,得到第三数据,并将该第三数据同步到目标数据表中。其中,该配置文件用于记录源数据表中的第一类型与目标数据表中的第二类型的对应关系。
例如,由于源数据表111所在源数据库11的数据源为MySQL数据源,目标数据表141所在的目标数据库14的数据源为ODPS数据源,因此,源数据表111中数据的类型(为了区分方便,后续将其称为第一类型)与目标数据表141中数据的类型(为了区分方便,后续将其称为第二类型)可以相同或者不同。
若第一类型与第二类型相同,则获取到源数据表中的第二数据(为了区分方便,可以将源数据表111中的每个数据称为第二数据)后,不需要对第二数据的类型进行转换,直接将第二数据存储到目标数据表,对此过程不再赘述。
若第一类型与第二类型不同,则获取到源数据表中的第二数据(对应第一类型)后,需要对第二数据的类型进行转换,得到修改后的第三数据(对应第二类型),将第三数据存储到目标数据表。在此情况下,第一类型与第二类型需要具有对应关系,而为了获知第一类型与第二类型的对应关系,可以预先设置配置文件,该配置文件用于记录源数据表中的第一类型与目标数据表中的第二类型的对应关系。例如,源数据表111中的第一类型为类型A,目标数据表141中的第二类型为类型B,则配置文件用于记录类型A与类型B的对应关系。
在实际应用中,由于存在多个源数据表,因此,可以针对每个源数据表设置一个配置文件,或者,所有源数据表共用同一个配置文件,对此不做限制。
综上所述,针对源数据表111中的第二数据“100000000000000000”,获取该第二数据的类型A,并从配置文件中获取到类型A对应的类型B,并将类型A的第二数据转换为类型B的数据,该数据即第三数据,然后,将转换后的第三数据同步到目标数据表141中,以此类推,针对源数据表111中的每个第二数据进行上述处理后,同步到目标数据表141中的第三数据均为类型B。
在上述实施例中,第一类型、第二类型均为数据类型,可以包括但不限于:数字型、字节型、文本型等,数字型可以包括Integer(整型)、Long(长整型)、Single(单精度浮点型)、Double(双精度浮点型)和Currency(货币型)等。
在一个例子中,在目标数据库中为源数据表建立目标数据表之后,还可以在映射表中记录源数据表的标识与目标数据表的标识之间的映射关系。
例如,在目标数据库14中为源数据表111建立目标数据表141之后,还可以在映射表中记录源数据表111的标识与目标数据表141的标识的映射关系,同理,还可以在映射表中记录源数据表112的标识与目标数据表142的标识的映射关系、源数据表121的标识与目标数据表143的标识的映射关系、源数据表131的标识与目标数据表144的标识的映射关系,对此不做限制。
参见图3所示,为数据查询方法的一个示例,该方法用于从目标数据库的目标数据表中查询数据,从而实现多表查询功能,该方法可以包括以下步骤:
步骤301,接收多表查询请求,确定与该多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表。
步骤302,从目标数据库中获取所述多个源数据表对应的多个目标数据表;其中,所述目标数据库用于存储源数据库中的源数据表对应的目标数据表。
步骤303,从所述多个目标数据表中查询该多表查询请求对应的数据。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
针对步骤301,在一个例子中,多表查询请求可以携带多个源数据表的标识,表示该多表查询请求用于请求这些标识对应的源数据表中的数据,因此,在接收到多表查询请求后,可以从多表查询请求中解析出多个源数据表的标识,这些标识对应的源数据表,也就是与多表查询请求对应的多个源数据表。
例如,多表查询请求用于从源数据表111、源数据表121、源数据表131中查询数据时,则该多表查询请求可以携带源数据表111的标识A、源数据表121的标识B、源数据表131的标识C。因此,在接收到该多表查询请求后,可以从该多表查询请求中解析出标识A、标识B、标识C,并确定与标识A对应的源数据表111、与标识B对应的源数据表121、与标识C对应的源数据表131。
针对步骤302,在一个例子中,针对“从目标数据库中获取所述多个源数据表对应的多个目标数据表”的过程,可以包括但不限于如下方式:利用所述多个源数据表的标识查询映射表,得到多个目标数据表的标识;其中,该映射表用于记录源数据表的标识与目标数据表的标识之间的映射关系;然后,可以从目标数据库中获取所述多个目标数据表的标识对应的多个目标数据表。
例如,在上述实施例中,已经在映射表中记录源数据表111的标识与目标数据表141的标识的映射关系、源数据表112的标识与目标数据表142的标识的映射关系、源数据表121的标识与目标数据表143的标识的映射关系、源数据表131的标识与目标数据表144的标识的映射关系。因此,通过源数据表111的标识、源数据表121的标识、源数据表131的标识查询映射表,可以得到目标数据表141的标识、目标数据表143的标识、目标数据表144的标识,因此,从目标数据库中获取到目标数据表141、目标数据表143和目标数据表144。
针对步骤303,在一个例子中,可以从目标数据表141、目标数据表143和目标数据表144中查询多表查询请求对应的数据,对此查询过程不做限制。由于目标数据表141中的数据与源数据表111中的数据相同,目标数据表143中的数据与源数据表121中的数据相同,目标数据表144中的数据与源数据表131中的数据相同,因此,从目标数据表141、目标数据表143和目标数据表144中查询数据,相当于从源数据表111、源数据表121、源数据表131中查询数据。
由于目标数据表141、目标数据表143、目标数据表144存储在同一个目标数据库14中,因此,可以从目标数据表141、目标数据表143和目标数据表144中查询多表查询请求对应的数据,从而实现多表查询,提高用户使用感受。
在上述实施例中,多表查询请求可以包括但不限于:基于SQL类型的多表查询请求,对此多表查询请求的类型不做限制。而且,多表查询可以包括内连接(join或者innerjoin)、外连接和交叉连接(Cross join)。外连接进一步划分为左连接(left join或者leftouter join)、右连接(right join或者right outer join)、完整外部连接(full join或者full outer join),对此多表查询请求不做限制。
在一个例子中,可以从目标数据表141、目标数据表143和目标数据表144中查询多表查询请求对应的数据,得到查询结果,并根据查询结果进行后续分析,或者,使用可视化工具对查询结果进行展示,对此过程不再赘述。
基于上述技术方案,本申请实施例中,可以将源数据库的源数据表中的数据,同步到目标数据库的目标数据表中,即将不同数据源的数据均同步到目标数据库中。这样,在接收到多表查询请求后,可以先确定与多表查询请求对应的多个源数据表,并从目标数据库中获取多个源数据表对应的多个目标数据表,并从多个目标数据表中查询多表查询请求对应的数据,也就是说,可以从一个目标数据库中获取到多个目标数据表,并使用这些目标数据表查询数据,而不是从多个数据源的源数据库的数据表中查询数据,从而可以基于一个多表查询请求,从目标数据库的多个目标数据表中查询数据,可以实现多表查询。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据查询装置,如图4所示,为本申请提出的数据查询装置的结构图,所述装置包括:
接收模块401,用于接收多表查询请求;
确定模块402,用于确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
获取模块403,用于从目标数据库中获取所述多个源数据表对应的多个目标数据表;所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
查询模块404,用于从多个目标数据表中查询多表查询请求对应的数据。
在一个例子中,所述数据查询装置还包括(在图中未视出):
同步模块,用于针对源数据库中的源数据表,在目标数据库中为所述源数据表建立目标数据表,并将所述源数据表中的数据同步到所述目标数据表中。
在一个例子中,在将所述源数据表中的数据同步到所述目标数据表中的过程中,所述同步模块,具体用于:获取源数据表中的第一数据的第一字段;从配置文件中获取所述第一字段对应的第二字段;所述配置文件用于记录源数据表中的第一字段与目标数据表中的第二字段的对应关系;将所述第一数据同步到所述目标数据表中所述第二字段对应的位置;和/或,
获取源数据表中的第二数据的第一类型;从配置文件中获取所述第一类型对应的第二类型;所述配置文件用于记录源数据表中的第一类型与目标数据表中的第二类型的对应关系;将所述第二数据的数据类型转换为第二类型,得到第三数据;将所述第三数据同步到所述目标数据表中。
在一个例子中,所述数据查询装置还包括(在图中未视出):
记录模块,用于在目标数据库中为所述源数据表建立目标数据表之后,在映射表中记录所述源数据表的标识与所述目标数据表的标识之间的映射关系。
在一个例子中,所述获取模块403,具体用于利用多个源数据表的标识查询映射表,得到多个目标数据表的标识;其中,所述映射表用于记录源数据表的标识与目标数据表的标识之间的映射关系;从目标数据库中获取所述多个目标数据表的标识对应的多个目标数据表。
基于与上述方法同样的申请构思,本申请实施例还提供一种数据查询服务器,该数据查询服务器可以是PC(Personal Computer,个人计算机)、笔记本电脑、移动终端等,对此不做限制。其中,所述数据查询服务器包括:
接收器,用于接收多表查询请求;
处理器,用于确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
从目标数据库中获取所述多个源数据表对应的多个目标数据表;所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
从所述多个目标数据表中查询所述多表查询请求对应的数据。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:接收多表查询请求;确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;从目标数据库中获取所述多个源数据表对应的多个目标数据表;其中,所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;从所述多个目标数据表中查询所述多表查询请求对应的数据。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (15)
1.一种数据查询方法,其特征在于,所述方法包括:
接收多表查询请求,确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
从目标数据库中获取所述多个源数据表对应的多个目标数据表;其中,所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
从所述多个目标数据表中查询所述多表查询请求对应的数据。
2.根据权利要求1所述的方法,其特征在于,所述目标数据库用于存储不同或者相同数据源的源数据表对应的目标数据表。
3.根据权利要求1所述的方法,其特征在于,所述从目标数据库中获取所述多个源数据表对应的多个目标数据表之前,所述方法还包括:
针对源数据库中的源数据表,在目标数据库中为所述源数据表建立目标数据表,并将所述源数据表中的数据同步到所述目标数据表中。
4.根据权利要求3所述的方法,其特征在于,
所述将所述源数据表中的数据同步到所述目标数据表中,包括:
获取源数据表中的第一数据的第一字段;
从配置文件中获取所述第一字段对应的第二字段;其中,所述配置文件用于记录源数据表中的第一字段与目标数据表中的第二字段的对应关系;
将所述第一数据同步到所述目标数据表中所述第二字段对应的位置。
5.根据权利要求3所述的方法,其特征在于,
所述将所述源数据表中的数据同步到所述目标数据表中,包括:
获取源数据表中的第二数据的第一类型;
从配置文件中获取所述第一类型对应的第二类型;其中,所述配置文件用于记录源数据表中的第一类型与目标数据表中的第二类型的对应关系;
将所述第二数据的数据类型转换为第二类型,得到第三数据;
将所述第三数据同步到所述目标数据表中。
6.根据权利要求3所述的方法,其特征在于,
所述在所述目标数据库中为所述源数据表建立目标数据表,包括:
接收数据表建立请求,所述数据表建立请求携带源数据表的信息;
在所述目标数据库中为所述信息对应的源数据表建立目标数据表。
7.根据权利要求3所述的方法,其特征在于,所述在所述目标数据库中为所述源数据表建立目标数据表之后,所述方法还包括:在映射表中记录所述源数据表的标识与所述目标数据表的标识之间的映射关系。
8.根据权利要求1所述的方法,其特征在于,
所述从目标数据库中获取所述多个源数据表对应的多个目标数据表,包括:
利用多个源数据表的标识查询映射表,得到多个目标数据表的标识;其中,所述映射表用于记录源数据表的标识与目标数据表的标识之间的映射关系;
从目标数据库中获取所述多个目标数据表的标识对应的多个目标数据表。
9.根据权利要求1所述的方法,其特征在于,
所述多表查询请求包括:基于结构化查询语言SQL类型的多表查询请求。
10.一种数据查询装置,其特征在于,所述装置包括:
接收模块,用于接收多表查询请求;
确定模块,用于确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
获取模块,用于从目标数据库中获取所述多个源数据表对应的多个目标数据表;所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
查询模块,用于从所述多个目标数据表中查询多表查询请求对应的数据。
11.根据权利要求10所述的装置,其特征在于,还包括:
同步模块,用于针对源数据库中的源数据表,在目标数据库中为所述源数据表建立目标数据表,并将所述源数据表中的数据同步到所述目标数据表中。
12.根据权利要求11所述的装置,其特征在于,在将所述源数据表中的数据同步到所述目标数据表中的过程中,所述同步模块,具体用于:
获取源数据表中的第一数据的第一字段;从配置文件中获取所述第一字段对应的第二字段;所述配置文件用于记录源数据表中的第一字段与目标数据表中的第二字段的对应关系;将所述第一数据同步到所述目标数据表中所述第二字段对应的位置;和/或,获取源数据表中的第二数据的第一类型;从配置文件中获取所述第一类型对应的第二类型;所述配置文件用于记录源数据表中的第一类型与目标数据表中的第二类型的对应关系;将所述第二数据的数据类型转换为第二类型,得到第三数据;将所述第三数据同步到所述目标数据表中。
13.根据权利要求11所述的装置,其特征在于,还包括:
记录模块,用于在目标数据库中为所述源数据表建立目标数据表之后,在映射表中记录所述源数据表的标识与所述目标数据表的标识之间的映射关系。
14.根据权利要求10所述的装置,其特征在于,所述获取模块,具体用于利用多个源数据表的标识查询映射表,得到多个目标数据表的标识;其中,所述映射表用于记录源数据表的标识与目标数据表的标识之间的映射关系;从目标数据库中获取所述多个目标数据表的标识对应的多个目标数据表。
15.一种数据查询服务器,其特征在于,所述数据查询服务器包括:
接收器,用于接收多表查询请求;
处理器,用于确定与所述多表查询请求对应的多个源数据表;其中,所述多个源数据表包括不同数据源的源数据表;
从目标数据库中获取所述多个源数据表对应的多个目标数据表;所述目标数据库用于存储源数据库中的源数据表对应的目标数据表;
从所述多个目标数据表中查询所述多表查询请求对应的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810175083.6A CN110309174A (zh) | 2018-03-02 | 2018-03-02 | 一种数据查询方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810175083.6A CN110309174A (zh) | 2018-03-02 | 2018-03-02 | 一种数据查询方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110309174A true CN110309174A (zh) | 2019-10-08 |
Family
ID=68073278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810175083.6A Pending CN110309174A (zh) | 2018-03-02 | 2018-03-02 | 一种数据查询方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309174A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888931A (zh) * | 2019-10-30 | 2020-03-17 | 南京领行科技股份有限公司 | 数据展示方法、装置、服务器、终端设备及可读存储介质 |
CN110955661A (zh) * | 2019-11-29 | 2020-04-03 | 北京明略软件系统有限公司 | 数据融合方法、装置、可读存储介质及电子设备 |
CN111708848A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 一种数据查询方法、系统及电子设备 |
CN111930823A (zh) * | 2020-09-27 | 2020-11-13 | 武汉中科通达高新技术股份有限公司 | 一种数据查询方法、装置、数据中台和存储介质 |
CN112612797A (zh) * | 2020-12-30 | 2021-04-06 | 杭州拼便宜网络科技有限公司 | 多源同表数据加载方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720838B1 (en) * | 2006-06-21 | 2010-05-18 | Actuate Corporation | Methods and apparatus for joining tables from different data sources |
US20120323947A1 (en) * | 2011-06-14 | 2012-12-20 | Microsoft Corporation | Enriching Database Query Responses using Data from External Data Sources |
US8631034B1 (en) * | 2012-08-13 | 2014-01-14 | Aria Solutions Inc. | High performance real-time relational database system and methods for using same |
CN105205117A (zh) * | 2015-09-09 | 2015-12-30 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
CN107480252A (zh) * | 2017-08-14 | 2017-12-15 | 浪潮软件股份有限公司 | 一种数据查询方法、客户端、服务端及系统 |
-
2018
- 2018-03-02 CN CN201810175083.6A patent/CN110309174A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720838B1 (en) * | 2006-06-21 | 2010-05-18 | Actuate Corporation | Methods and apparatus for joining tables from different data sources |
US20120323947A1 (en) * | 2011-06-14 | 2012-12-20 | Microsoft Corporation | Enriching Database Query Responses using Data from External Data Sources |
US8631034B1 (en) * | 2012-08-13 | 2014-01-14 | Aria Solutions Inc. | High performance real-time relational database system and methods for using same |
CN105205117A (zh) * | 2015-09-09 | 2015-12-30 | 郑州悉知信息科技股份有限公司 | 一种数据表迁移方法和装置 |
CN107480252A (zh) * | 2017-08-14 | 2017-12-15 | 浪潮软件股份有限公司 | 一种数据查询方法、客户端、服务端及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110888931A (zh) * | 2019-10-30 | 2020-03-17 | 南京领行科技股份有限公司 | 数据展示方法、装置、服务器、终端设备及可读存储介质 |
CN110888931B (zh) * | 2019-10-30 | 2022-05-20 | 南京领行科技股份有限公司 | 数据展示方法、装置、服务器、终端设备及可读存储介质 |
CN110955661A (zh) * | 2019-11-29 | 2020-04-03 | 北京明略软件系统有限公司 | 数据融合方法、装置、可读存储介质及电子设备 |
CN110955661B (zh) * | 2019-11-29 | 2023-03-21 | 北京明略软件系统有限公司 | 数据融合方法、装置、可读存储介质及电子设备 |
CN111708848A (zh) * | 2020-06-12 | 2020-09-25 | 北京思特奇信息技术股份有限公司 | 一种数据查询方法、系统及电子设备 |
CN111708848B (zh) * | 2020-06-12 | 2024-02-23 | 北京思特奇信息技术股份有限公司 | 一种数据查询方法、系统及电子设备 |
CN111930823A (zh) * | 2020-09-27 | 2020-11-13 | 武汉中科通达高新技术股份有限公司 | 一种数据查询方法、装置、数据中台和存储介质 |
CN112612797A (zh) * | 2020-12-30 | 2021-04-06 | 杭州拼便宜网络科技有限公司 | 多源同表数据加载方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110309174A (zh) | 一种数据查询方法、装置和服务器 | |
CN107729383B (zh) | 一种索引库生成方法、数据验证方法、装置及平台 | |
CN103714073B (zh) | 数据查询的方法和装置 | |
CN109101516B (zh) | 一种数据查询方法和服务器 | |
CN106649828B (zh) | 一种数据查询方法及系统 | |
KR20080085142A (ko) | 사용자 대 사용자 추천자 | |
US11100073B2 (en) | Method and system for data assignment in a distributed system | |
CN106455056B (zh) | 定位方法和装置 | |
CN109716321B (zh) | N路散列连接 | |
CN110060153B (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN110457544A (zh) | 一种数据获取方法、系统、电子设备及存储介质 | |
WO2017206591A1 (zh) | 数据处理系统和数据处理方法 | |
CN110209714A (zh) | 报表生成方法、装置、计算机设备及计算机可读存储介质 | |
CN111400301B (zh) | 一种数据查询方法、装置及设备 | |
CN110110017B (zh) | 一种兴趣点数据关联方法、装置及服务器 | |
CN109783504A (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN102932416B (zh) | 一种信息流任务的中间数据存储方法、处理方法及装置 | |
CN104408183B (zh) | 数据系统的数据导入方法和装置 | |
CN108874871B (zh) | 实时pnt服务数据溯源方法及装置 | |
CN111641924B (zh) | 位置数据生成方法、装置和电子设备 | |
CN110266834B (zh) | 基于互联网协议地址的地区查找方法及装置 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN110928895B (zh) | 一种数据查询、数据表建立方法、装置及设备 | |
CN111814020A (zh) | 一种数据的获取方法和装置 | |
CN110765238A (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 |
Application publication date: 20191008 |
|
RJ01 | Rejection of invention patent application after publication |