CN107203645A - 一种并发查询多个数据库的方法及Eclipse平台 - Google Patents

一种并发查询多个数据库的方法及Eclipse平台 Download PDF

Info

Publication number
CN107203645A
CN107203645A CN201710500236.5A CN201710500236A CN107203645A CN 107203645 A CN107203645 A CN 107203645A CN 201710500236 A CN201710500236 A CN 201710500236A CN 107203645 A CN107203645 A CN 107203645A
Authority
CN
China
Prior art keywords
database
checked
inquiry
source code
application
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
Application number
CN201710500236.5A
Other languages
English (en)
Inventor
逯新
颜朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201710500236.5A priority Critical patent/CN107203645A/zh
Publication of CN107203645A publication Critical patent/CN107203645A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种并发查询多个数据库的方法及Eclipse平台,该方法应用于Eclipse平台,预先接收预先设置的源码;包括:接收外部输入的查询申请;根据接收到的所述查询申请,确定至少一个待查询数据库;利用所述源码连接所述至少一个待查询数据库;利用所述源码建立多个线程;利用所述源码多个线程并行查询所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。本发明提供了一种并发查询多个数据库的方法及Eclipse平台,能够提高查询数据的效率。

Description

一种并发查询多个数据库的方法及Eclipse平台
技术领域
本发明涉及计算机技术领域,特别涉及一种并发查询多个数据库的方法及Eclipse平台。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库,也是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,更是进行科学研究和决策管理的重要技术手段。
目前,在部级,省级,地市级垂直管理的烟草行业中,省级单位有省集中的行业数据库,但部级单位没有行业集中的数据库,当部级单位需要对某个省的业务数据进行分析时,需要工作人员从该省的行业数据库中查询相关的数据,当还需要查询某天各省的业务数据情况时,需要工作人员从各省行业数据库中查询相关数据。
通过上述描述可见,对于实时多变的业务数据分析和管理需求,增加了工作人员查询数据的时间,从而降低了查询数据的效率。
发明内容
本发明实施例提供了一种并发查询多个数据库的方法及Eclipse平台,能够提高查询数据的效率。
第一方面,本发明实施例提供了一种并发查询多个数据库的方法,应用于Eclipse平台,预先接收预先设置的源码;
包括:
接收外部输入的查询申请;
根据接收到的所述查询申请,确定至少一个待查询数据库;
利用所述源码连接所述至少一个待查询数据库;
利用所述源码建立多个线程;
利用所述源码多个线程并行查询所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。
优选地,所述查询申请包括:sql查询语句和所述sql查询语句所对应的DoMain.java;
所述接收外部输入的查询申请,包括:
接收外部输入的所述sql查询语句和所述sql查询语句对应的DoMain.java;
所述根据接收到的所述查询申请,确定至少一个待查询数据库,包括:
根据接收到的所述sql查询语句,确定所述至少一个待查询数据库;
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
执行所述DoMain.java,利用所述DoMain.java调用所述源码;
所述从所述至少一个待查询数据库中查询符合所述查询申请的初始数据,包括:
从所述至少一个待查询数据库中查询符合所述sql查询语句的所述初始数据。
优选地,在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
接收外部输入的数据源文件,其中,所述数据源文件中包括至少一个待查询数据库的连接信息;
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
从所述数据源文件中确定所述至少一个待查询数据库的连接信息;
所述利用所述源码连接所述至少一个待查询数据库,包括:
利用所述源码根据所述至少一个待查询数据库的连接信息,连接所述至少一个待查询数据库。
优选地,所述从所述至少一个待查询数据库中查询符合所述查询申请的初始数据,包括:
针对每个所述待查询数据库,执行:利用所述源码将所述查询申请拆分为至少两个子查询申请,针对每个所述子查询申请,从当前待查询数据库中查询符合当前子查询申请的子初始数据,其中,所述初始数据中包括:所述子初始数据。
优选地,所述根据接收到的所述查询申请,确定至少一个待查询数据库,包括:
根据所述查询申请,确定至少一个待查询的省;
确定每个所述待查询的省对应的所述待查询数据库。
第二方面,本发明实施例提供了一种Eclipse平台,包括:
源码接收单元,用于预先接收预先设置的源码;
查询申请接收单元,用于接收外部输入的查询申请;
数据库确定单元,用于根据所述查询申请接收单元接收到的所述查询申请,确定至少一个待查询数据库;
数据库连接单元,用于利用所述源码接收单元接收的所述源码连接所述数据库确定单元确定的所述至少一个待查询数据库;
线程创建单元,用于利用所述源码接收单元接收的所述源码建立多个线程;
初始数据查询单元,用于利用所述创建单元建立的多个线程并行查询所述数据库确定单元确定的所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。
优选地,所述Eclipse平台,包括:
所述查询申请接收单元,用于接收外部输入的所述sql查询语句和所述sql查询语句对应的DoMain.java;
所述数据库确定单元,用于根据所述查询申请接收单元接收到的所述sql查询语句,确定所述至少一个待查询数据库;
所述Eclipse平台,进一步包括:调用单元;
所述调用单元,用于执行所述查询数据接收单元接收的所述DoMain.java,利用所述DoMain.java调用所述源码接收单元接收的所述源码;
所述初始数据查询单元,用于从所述数据库确定单元确定的所述至少一个待查询数据库中查询符合所述sql查询语句的所述初始数据。
优选地,进一步包括:文件接收单元;
所述文件接收单元,用于接收外部输入的数据源文件,其中,所述数据源文件中包括至少一个待查询数据库的连接信息;
所述Eclipse平台,进一步包括:连接信息确定单元;
所述连接信息确定单元,用于从所述文件接收单元接收到的所述数据源文件中确定所述至少一个待查询数据库的连接信息;
所述数据库连接单元,用于利用所述源码根据所述连接信息确定单元的所述至少一个待查询数据库的连接信息,连接所述至少一个待查询数据库。
优选地,所述Eclipse平台包括:
所述初始数据查询单元,用于针对每个所述待查询数据库,执行:利用所述源码将所述查询申请拆分为至少两个子查询申请,针对每个所述子查询申请,从数据库确定单元确定的当前待查询数据库中查询符合当前子查询申请的子初始数据,其中,所述初始数据中包括:所述子初始数据。
优选地,所述数据库确定单元,包括:查询申请确定子单元和数据库确定子单元;
所述查询申请确定子单元,用于根据所述查询申请接收单元接收到的所述查询申请,确定至少一个待查询的省;
所述数据库确定子单元,用于确定所述查询申请确定子单元确定的每个所述待查询的省对应的所述待查询数据库。
在本发明实施例中,通过Eclipse平台从至少一个待查询数据库中查询初始数据,需要先接收预先设置的源码,再接收外部输入的查询申请,根据查询申请可以确定至少一个待查询数据库,而利用源码不仅可以连接至少一个待查询数据库,还可以建立多线程并行查询至少一个待查询数据库中的符合查询申请的初始数据。综上可见,对于多变的业务数据分析和管理需求,接收预先设置源码和外部输入的查询申请,即可快速的从至少一个待查询数据库中查询符合查询申请的初始数据,能够降低工作人员查询数据的时间,提高查询数据的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种并发查询多个数据库的方法的流程示意图;
图2是本发明一实施例提供的另一种并发查询多个数据库的方法的流程示意图;
图3是本发明一实施例提供的一种Eclipse平台的结构示意图;
图4是本发明一实施例提供的另一种Eclipse平台的结构示意图;
图5是本发明一实施例提供的又一种Eclipse平台的结构示意图;
图6是本发明一实施例提供的再一种Eclipse平台的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种并发查询多个数据库的方法,该方法可以包括以下步骤:
步骤101:预先接收预先设置的源码;
步骤102:接收外部输入的查询申请;
步骤103:根据接收到的所述查询申请,确定至少一个待查询数据库;
步骤104:利用所述源码连接所述至少一个待查询数据库;
步骤105:利用所述源码建立多个线程;
步骤106:利用所述源码多个线程并行查询所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。
在本发明实施例中,通过Eclipse平台从至少一个待查询数据库中查询初始数据,需要先接收预先设置的源码,再接收外部输入的查询申请,根据查询申请可以确定至少一个待查询数据库,而利用源码不仅可以连接至少一个待查询数据库,还可以建立多线程并行查询至少一个待查询数据库中的符合查询申请的初始数据。综上可见,对于多变的业务数据分析和管理需求,接收预先设置源码和外部输入的查询申请,即可快速的从至少一个待查询数据库中查询符合查询申请的初始数据,能够降低工作人员查询数据的时间,提高查询数据的效率。
在本发明一实施例中,所述查询申请包括:sql查询语句和所述sql查询语句所对应的DoMain.java;
所述接收外部输入的查询申请,包括:
接收外部输入的所述sql查询语句和所述sql查询语句对应的DoMain.java;
所述根据接收到的所述查询申请,确定至少一个待查询数据库,包括:
根据接收到的所述sql查询语句,确定所述至少一个待查询数据库;
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
执行所述DoMain.java,利用所述DoMain.java调用所述源码;
所述从所述至少一个待查询数据库中查询符合所述查询申请的初始数据,包括:
从所述至少一个待查询数据库中查询符合所述sql查询语句的所述初始数据。
在本发明实施例中,对于实时多变的业务数据分析和管理需求,只需要在接收预先设置的源码后,接收外部输入的用于表述查询申请的sql查询语句(用于表述查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量的sql查询语句)和sql查询语句所对应的DoMain.java,再通过执行该DoMain.java,即可从至少一个待查询数据库中查询符合sql查询语句的初始数据,降低了工作人员查询数据的时间,从而提高了查询数据的效率。
举例来说,在Eclipse平台中,接收创建的SQL类、继承ISqlQuery、创建getSql()方法和填写用于表述查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量的sql查询语句X1,在接收sql查询语句X1之后,接收用于执行sql查询语句X1的DoMain.javaW1中设置的ISqlQuery参数1为默认不循环、参数2为按照日期循环、参数3为按照品牌循环、参数4为按照日期品牌循环,再接收根据sql查询语句X1中查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量,接收DoMain.javaW1中的ISqlQuery的实现类为参数1默认不循环,sql查询语句X1中查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量,可以确定待查询数据库为山东省的数据库,执行DoMain.javaW1,利用DoMain.javaW1调用预先接收预先设置的源码Z来连接山东省数据库,并从已连接的山东省数据库中查询sql查询语句中的济南市2016年第一季度烟草品牌为中华和芙蓉王销量。
在本发明一实施例中,在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
接收外部输入的数据源文件,其中,所述数据源文件中包括至少一个待查询数据库的连接信息;
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
从所述数据源文件中确定所述至少一个待查询数据库的连接信息;
所述利用所述源码连接所述至少一个待查询数据库,包括:
利用所述源码根据所述至少一个待查询数据库的连接信息,连接所述至少一个待查询数据库。
在本发明实施例中,在利用源码连接至少一个待查询数据库之前,需要先接收外部输入的带有至少一个待查询数据库连接信息的数据源文件(例如,带有连接信息a1的数据源文件Y),利用源码不仅可以从数据源文件中确定出至少一个待查询数据库的连接信息,还可以连接至少一个待查询数据库,并在已连接的待查询数据库中查询符合查询申请的初始数据。因为确定待查询数据库的连接信息并连接该待查询数据库的过程很快,所以可以减少工作人员查询数据的时间,从而可以提高查询数据的效率。
举例来说,接收到的查询申请为查询济南市的2016年第一季度的烟草销量,接收带有连接信息a1和连接信息a2的数据源文件Y,利用预先接收预先设置的源码Z可以确定连接信息a1为山东省数据库的连接信息,连接信息a2为吉林省数据库的连接信息,通过源码Z连接山东省数据库,并在已连接的山东省数据库中查找济南市2016年第一季度的烟草销量。
在本发明一实施例中,所述从所述至少一个待查询数据库中查询符合所述查询申请的初始数据,包括:
针对每个所述待查询数据库,执行:利用所述源码将所述查询申请拆分为至少两个子查询申请,针对每个所述子查询申请,从当前待查询数据库中查询符合当前子查询申请的子初始数据,其中,所述初始数据中包括:所述子初始数据。
在本发明实施例中,在接收到外部输入的查询申请后,不是直接从待查询数据库中查询,而是利用源码将查询申请拆分为至少两个子查询申请(例如,将山东和北京去年第一季度烟草的销量的查询申请,拆分为北京去年1月、2月和3月烟草的销量的子查询申请和山东去年1月、2月和3月烟草的销量的子查询申请),针对每个子查询申请,再从待校验数据库中查询符合每个子查询申请的子初始数据。将查询申请拆分为子查询申请,可以避免根据查询申请查询到初始数据之后,因为初始数据太大而导致的反馈回的速度较慢的情况,还可以将返回的每个子初始数据形成excel文件。
举例来说,利用预先接收预先设置的源码Z将接收到的查询申请为查询济南市2016年第一季度烟草的销量拆分为,济南市2016年1月烟草的销量、济南市2016年2月烟草的销量和济南市2016年3月烟草的销量,并从待校验数据库为山东省数据库中查询济南市2016年1月烟草的销量、济南市2016年2月烟草的销量和济南市2016年3月烟草的销量,查询完毕后,生成带有济南市2016年1月烟草的销量、济南市2016年2月烟草的销量和济南市2016年3月烟草的销量的excel。
在本发明一实施例中,所述根据接收到的所述查询申请,确定至少一个待查询数据库,包括:
根据所述查询申请,确定至少一个待查询的省;
确定每个所述待查询的省对应的所述待查询数据库;
在本发明实施例中,在接收到查询申请之后,从待查询数据库查询符合查询申请的初始数据之前,需要根据查询申请,先确定待查询的省,再确定该省所对应的待查询数据库,这样可以快速的从多个待查询数据库中找到符合查询申请的待查询数据库,减少了工作人员查询数据的时间,从而提高了查询数据的效率。
举例来说,根据接收到的查询申请为济南市2016年第一季度烟草的销量,可以确定待查询的省为山东省,还可以确定待查询数据库为山东省数据库。
如图2所示,为了更加清楚的说明本发明的技术方案及优点,对本发明实施例提供了一种并发查询多个数据库的方法进行详细说明:
步骤201:预先接收预先设置的源码。
具体地,通过Eclipse平台完成查询数据的工作,需在接收外部输入的查询申请之前,预先接收预先设置的能够连接至少一个待查询数据库、建立多个线程并行查询待查询数据库中数据的源码。
举例来说,在Eclipse平台中,预先接收将在查询多个数据库中重复的动作封装(待查询数据库连接、数据查询和创建多线程)起来的源码Z。
步骤202:接收外部输入的数据源文件。
具体地,接收外部输入的带有至少一个待查询数据库的连接信息(例如,山东省数据库的连接信息、吉林省数据库的连接信息)的数据源文件,根据该文件中的连接信息可以连接至少一个待查询数据库。
举例来说,接收外部输入的带有连接信息a1和连接信息a2的数据源文件Y。
步骤203:接收外部输入的sql查询语句和sql查询语句对应的DoMain.java。
具体地,在接收预先设置的源码之后,接收外部输入的用于表述查询申请的sql查询语句(例如,用于表述查找济南市2016年第一季度烟草销量的sql查询语句),还接收用于执行sql查询语句的DoMain.java。
举例来说,在Eclipse平台中,接收创建的SQL类、继承ISqlQuery、创建getSql()方法和填写用于表述查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量的sql查询语句X1,在接收sql查询语句X1之后,接收用于执行sql查询语句X1的DoMain.javaW1中设置的ISqlQuery参数1为默认不循环、参数2为按照日期循环、参数3为按照品牌循环、参数4为按照日期品牌循环,再接收根据sql查询语句X1中查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量,接收DoMain.javaW1中的ISqlQuery的实现类为参数1默认不循环。
如果在Eclipse平台中,接收创建的SQL类、继承ISqlQuery、创建getSql()方法和填写用于表述查找济南市烟草品牌为中华和芙蓉王销量的sql查询语句X2,再接收根据sql查询语句X2中查找济南市烟草品牌为中华和芙蓉王销量,接收DoMain.javaW2中的ISqlQuery的实现类为参数2按照日期循环。
步骤204:根据接收到的sql查询语句,确定至少一个待查询的省,确定每个待查询的省对应的待查询数据库。
具体地,在接收到用于表述查询申请sql查询语句后,可以根据sql查询语句确定需要查询的省,再确定该省所对应的数据库。
举例来说,根据用于表述查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量的sql查询语句X1,可以确定待查询的省为山东省,还可以确定待查询数据库为山东省数据库。
步骤205:执行DoMain.java,利用DoMain.java调用源码,从数据源文件中确定至少一个待查询数据库的连接信息。
具体地,在确定每个待查询的省对应的待查询数据库后,执行sql查询语句所对应的DoMain.java,利用该DoMain.java调用源码来连接数据源文件,并从数据源文件中确定待查询的省所对应的待查询数据库的连接信息(例如,山东省数据库的链接)。
举例来说,根据sql查询语句中查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量,执行DoMain.javaW1,利用DoMain.javaW1调用源码Z来连接数据源文件Y,在已连接的数据源文件Y中确定连接信息a1为山东省数据库的连接信息,连接信息a2为吉林省数据库的连接信息。
步骤206:利用源码根据至少一个待查询数据库的连接信息,连接至少一个待查询数据库。
具体地,在根据接收到的数据源文件中已确定的待查询数据库的连接信息之后,利用源码连接已确定的连接信息所对应的待查询数据库。
举例来说,利用源码Z,根据数据源文件Y中的连接信息a1连接山东省数据库。
步骤207:利用源码将用于表述查询申请的sql查询语句中的语句拆分为至少两个子查询申请,针对每个子查询申请,从根据sql查询语句确定的待查询数据库中查询符合当前子查询申请的子初始数据。
具体地,在执行从待查询数据库中查询符合查询申请的初始数据之前,先将用于表述查询申请的sql查询语句拆分为子查询申请(例如,将济南市2016年第一季度的烟草销量拆分为,济南市2016年1月的烟草销量、2月的烟草销量和3月的烟草销量),并从待查询数据库中查询符合子查询申请的子初始数据。
举例来说,将用于表述济南市2016年第一季度烟草品牌为中华和芙蓉王销量的sql查询语句X1,拆分为济南市2016年1月烟草品牌为中华的销量、2月烟草品牌为中华的销量和3月烟草品牌为中华的销量,济南市2016年1月烟草品牌为芙蓉王的销量、2月烟草品牌为芙蓉王的销量和3月烟草品牌为芙蓉王的销量,并从山东省数据库中分别查询济南市2016年1月烟草品牌为中华的销量、2月烟草品牌为中华的销量和3月烟草品牌为中华的销量,济南市2016年1月烟草品牌为芙蓉王的销量、2月烟草品牌为芙蓉王的销量和3月烟草品牌为芙蓉王的销量。
如图3所示,本发明实施例提供了一种Eclipse平台,包括:
源码接收单元301,用于预先接收预先设置的源码;
查询申请接收单元302,用于接收外部输入的查询申请;
数据库确定单元303,用于根据所述查询申请接收单元302接收到的所述查询申请,确定至少一个待查询数据库;
数据库连接单元304,用于利用所述源码接收单元301接收的所述源码连接所述数据库确定单元303确定的所述至少一个待查询数据库;
线程创建单元305,用于利用所述源码接收单元301接收的所述源码建立多个线程;
初始数据查询单元306,用于利用所述创建单元305建立的多个线程并行查询所述数据库确定单元303确定的所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。
在本发明实施例中,通过Eclipse平台从至少一个待查询数据库中查询初始数据,需要先通过源码接收单元接收预先设置的源码,再通过查询申请接收单元接收外部输入的查询申请,数据库确定单元可以根据查询申请单元接收到的查询申请可以确定至少一个待查询数据库,而数据库连接单元利用源码接收单元接收的源码可以连接至少一个待查询数据库,初始数据查询单元还可以根据线程创建单元建立的多线程并行查询至少一个待查询数据库中的符合查询申请的初始数据。综上可见,对于多变的业务数据分析和管理需求,接收预先设置源码和外部输入的查询申请,即可快速的从至少一个待查询数据库中查询符合查询申请的初始数据,能够降低工作人员查询数据的时间,提高查询数据的效率。
基于图3所示的一种Eclipse平台,本发明一实施例中,如图4所示,
所述查询申请接收单元302,用于接收外部输入的所述sql查询语句和所述sql查询语句对应的DoMain.java;
所述数据库确定单元303,用于根据所述查询申请接收单元302接收到的所述sql查询语句,确定所述至少一个待查询数据库;
所述Eclipse平台,进一步包括:调用单元401;
所述调用单元401,用于执行所述查询数据接收单元302接收的所述DoMain.java,利用所述DoMain.java调用所述源码接收单元301接收的所述源码;
所述初始数据查询单元306,用于从所述数据库确定单元303确定的所述至少一个待查询数据库中查询符合所述sql查询语句的所述初始数据。
基于图4所示的一种Eclipse平台,本发明一实施例中,如图5所示,该Eclipse平台,进一步包括:文件接收单元501;
所述文件接收单元501,用于接收外部输入的数据源文件,其中,所述数据源文件中包括至少一个待查询数据库的连接信息;
所述Eclipse平台,进一步包括:连接信息确定单元502;
所述连接信息确定单元502,用于从所述文件接收单元501接收到的所述数据源文件中确定所述至少一个待查询数据库的连接信息;
所述数据库连接单元304,用于利用所述源码根据所述连接信息确定单元502的所述至少一个待查询数据库的连接信息,连接所述至少一个待查询数据库。
本发明一实施例中,所述初始数据查询单元306,用于针对每个所述待查询数据库,执行:利用所述源码将所述查询申请拆分为至少两个子查询申请,针对每个所述子查询申请,从数据库确定单元303确定的当前待查询数据库中查询符合当前子查询申请的子初始数据,其中,所述初始数据中包括:所述子初始数据。
基于图5所示的Eclipse平台,在本发明一实施例中,如图6所示,所述数据库确定单元303,包括:查询申请确定子单元3031和数据库确定子单元3032;
所述查询申请确定子单元3031,用于根据所述查询申请接收单元302接收到的所述查询申请,确定至少一个待查询的省;
所述数据库确定子单元3032,用于确定所述查询申请确定子单元3031确定的每个所述待查询的省对应的所述待查询数据库;
本发明各个实施例至少具有如下有益效果:
1、在本发明一实施例中,通过Eclipse平台从至少一个待查询数据库中查询初始数据,需要先接收预先设置的源码,再接收外部输入的查询申请,根据查询申请可以确定至少一个待查询数据库,而利用源码不仅可以连接至少一个待查询数据库,还可以建立多线程并行查询至少一个待查询数据库中的符合查询申请的初始数据。综上可见,对于多变的业务数据分析和管理需求,接收预先设置源码和外部输入的查询申请,即可快速的从至少一个待查询数据库中查询符合查询申请的初始数据,能够降低工作人员查询数据的时间,提高查询数据的效率。
2、在本发明一实施例中,对于实时多变的业务数据分析和管理需求,只需要在接收预先设置的源码后,接收外部输入的用于表述查询申请的sql查询语句(用于表述查找济南市2016年第一季度烟草品牌为中华和芙蓉王销量的sql查询语句)和sql查询语句所对应的DoMain.java,再通过执行该DoMain.java,即可从至少一个待查询数据库中查询符合sql查询语句的初始数据,降低了工作人员查询数据的时间,从而提高了查询数据的效率。
3、在本发明一实施例中,在利用源码连接至少一个待查询数据库之前,需要先接收外部输入的带有至少一个待查询数据库连接信息的数据源文件(例如,带有连接信息a1的数据源文件Y),利用源码不仅可以从数据源文件中确定出至少一个待查询数据库的连接信息,还可以连接至少一个待查询数据库,并在已连接的待查询数据库中查询符合查询申请的初始数据。因为确定待查询数据库的连接信息并连接该待查询数据库的过程很快,所以可以减少工作人员查询数据的时间,从而可以提高查询数据的效率。
4、在本发明一实施例中,在接收到外部输入的查询申请后,不是直接从待查询数据库中查询,而是利用源码将查询申请拆分为至少两个子查询申请(例如,将山东和北京去年第一季度烟草的销量的查询申请,拆分为北京去年1月、2月和3月烟草的销量的子查询申请和山东去年1月、2月和3月烟草的销量的子查询申请),针对每个子查询申请,再从待校验数据库中查询符合每个子查询申请的子初始数据。将查询申请拆分为子查询申请,可以避免根据查询申请查询到初始数据之后,因为初始数据太大而导致的反馈回的速度较慢的情况,还可以将返回的每个子初始数据形成excel文件。
5、在本发明一实施例中,在接收到查询申请之后,从待查询数据库查询符合查询申请的初始数据之前,需要根据查询申请,先确定待查询的省,再确定该省所对应的待查询数据库,这样可以快速的从多个待查询数据库中找到符合查询申请的待查询数据库,减少了工作人员查询数据的时间,从而提高了查询数据的效率。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种并发查询多个数据库的方法,其特征在于,应用于Eclipse平台,预先接收预先设置的源码;
包括:
接收外部输入的查询申请;
根据接收到的所述查询申请,确定至少一个待查询数据库;
利用所述源码连接所述至少一个待查询数据库;
利用所述源码建立多个线程;
利用所述源码多个线程并行查询所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。
2.根据权利要求1所述的装置,其特征在于,
所述查询申请包括:sql查询语句和所述sql查询语句所对应的DoMain.java;
所述接收外部输入的查询申请,包括:
接收外部输入的所述sql查询语句和所述sql查询语句对应的DoMain.java;
所述根据接收到的所述查询申请,确定至少一个待查询数据库,包括:
根据接收到的所述sql查询语句,确定所述至少一个待查询数据库;
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
执行所述DoMain.java,利用所述DoMain.java调用所述源码;
所述从所述至少一个待查询数据库中查询符合所述查询申请的初始数据,包括:
从所述至少一个待查询数据库中查询符合所述sql查询语句的所述初始数据。
3.根据权利要求1所述的方法,其特征在于,
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
接收外部输入的数据源文件,其中,所述数据源文件中包括至少一个待查询数据库的连接信息;
在所述利用所述源码连接所述至少一个待查询数据库之前,进一步包括:
从所述数据源文件中确定所述至少一个待查询数据库的连接信息;
所述利用所述源码连接所述至少一个待查询数据库,包括:
利用所述源码根据所述至少一个待查询数据库的连接信息,连接所述至少一个待查询数据库。
4.根据权利要求1所述的方法,其特征在于,
所述从所述至少一个待查询数据库中查询符合所述查询申请的初始数据,包括:
针对每个所述待查询数据库,执行:利用所述源码将所述查询申请拆分为至少两个子查询申请,针对每个所述子查询申请,从当前待查询数据库中查询符合当前子查询申请的子初始数据,其中,所述初始数据中包括:所述子初始数据。
5.根据权利要求1至4中任一所述的方法,其特征在于,
所述根据接收到的所述查询申请,确定至少一个待查询数据库,包括:
根据所述查询申请,确定至少一个待查询的省;
确定每个所述待查询的省对应的所述待查询数据库。
6.一种Eclipse平台,其特征在于,包括:
源码接收单元,用于预先接收预先设置的源码;
查询申请接收单元,用于接收外部输入的查询申请;
数据库确定单元,用于根据所述查询申请接收单元接收到的所述查询申请,确定至少一个待查询数据库;
数据库连接单元,用于利用所述源码接收单元接收的所述源码连接所述数据库确定单元确定的所述至少一个待查询数据库;
线程创建单元,用于利用所述源码接收单元接收的所述源码建立多个线程;
初始数据查询单元,用于利用所述创建单元建立的多个线程并行查询所述数据库确定单元确定的所述至少一个待查询数据库,从所述至少一个待查询数据库中查询符合所述查询申请的初始数据。
7.根据权利要求6所述的Eclipse平台,其特征在于,包括:
所述查询申请接收单元,用于接收外部输入的所述sql查询语句和所述sql查询语句对应的DoMain.java;
所述数据库确定单元,用于根据所述查询申请接收单元接收到的所述sql查询语句,确定所述至少一个待查询数据库;
所述Eclipse平台,进一步包括:调用单元;
所述调用单元,用于执行所述查询数据接收单元接收的所述DoMain.java,利用所述DoMain.java调用所述源码接收单元接收的所述源码;
所述初始数据查询单元,用于从所述数据库确定单元确定的所述至少一个待查询数据库中查询符合所述sql查询语句的所述初始数据。
8.根据权利要求6所述的Eclipse平台,其特征在于,进一步包括:文件接收单元;
所述文件接收单元,用于接收外部输入的数据源文件,其中,所述数据源文件中包括至少一个待查询数据库的连接信息;
所述Eclipse平台,进一步包括:连接信息确定单元;
所述连接信息确定单元,用于从所述文件接收单元接收到的所述数据源文件中确定所述至少一个待查询数据库的连接信息;
所述数据库连接单元,用于利用所述源码根据所述连接信息确定单元的所述至少一个待查询数据库的连接信息,连接所述至少一个待查询数据库。
9.根据权利要求6所述的Eclipse平台,其特征在于,包括:
所述初始数据查询单元,用于针对每个所述待查询数据库,执行:利用所述源码将所述查询申请拆分为至少两个子查询申请,针对每个所述子查询申请,从数据库确定单元确定的当前待查询数据库中查询符合当前子查询申请的子初始数据,其中,所述初始数据中包括:所述子初始数据。
10.根据权利要求6至9中任一所述的Eclipse平台,其特征在于,所述数据库确定单元,包括:查询申请确定子单元和数据库确定子单元;
所述查询申请确定子单元,用于根据所述查询申请接收单元接收到的所述查询申请,确定至少一个待查询的省;
所述数据库确定子单元,用于确定所述查询申请确定子单元确定的每个所述待查询的省对应的所述待查询数据库。
CN201710500236.5A 2017-06-27 2017-06-27 一种并发查询多个数据库的方法及Eclipse平台 Pending CN107203645A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710500236.5A CN107203645A (zh) 2017-06-27 2017-06-27 一种并发查询多个数据库的方法及Eclipse平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710500236.5A CN107203645A (zh) 2017-06-27 2017-06-27 一种并发查询多个数据库的方法及Eclipse平台

Publications (1)

Publication Number Publication Date
CN107203645A true CN107203645A (zh) 2017-09-26

Family

ID=59907117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710500236.5A Pending CN107203645A (zh) 2017-06-27 2017-06-27 一种并发查询多个数据库的方法及Eclipse平台

Country Status (1)

Country Link
CN (1) CN107203645A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407565A (zh) * 2021-06-29 2021-09-17 中国民生银行股份有限公司 跨库数据查询方法、装置和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942098A (zh) * 2014-04-29 2014-07-23 国家电网公司 一种任务处理系统和方法
CN104462269A (zh) * 2014-11-24 2015-03-25 中国联合网络通信集团有限公司 一种异构数据库数据交换方法及系统
CN105912624A (zh) * 2016-04-07 2016-08-31 北京中安智达科技有限公司 分布式部署的异构数据库的查询方法
CN106599310A (zh) * 2016-12-29 2017-04-26 中国建设银行股份有限公司 基于多数据源场景的并发查询方法和装置
CN106649363A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据查询方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942098A (zh) * 2014-04-29 2014-07-23 国家电网公司 一种任务处理系统和方法
CN104462269A (zh) * 2014-11-24 2015-03-25 中国联合网络通信集团有限公司 一种异构数据库数据交换方法及系统
CN106649363A (zh) * 2015-10-30 2017-05-10 北京国双科技有限公司 数据查询方法及装置
CN105912624A (zh) * 2016-04-07 2016-08-31 北京中安智达科技有限公司 分布式部署的异构数据库的查询方法
CN106599310A (zh) * 2016-12-29 2017-04-26 中国建设银行股份有限公司 基于多数据源场景的并发查询方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113407565A (zh) * 2021-06-29 2021-09-17 中国民生银行股份有限公司 跨库数据查询方法、装置和设备
CN113407565B (zh) * 2021-06-29 2024-01-30 中国民生银行股份有限公司 跨库数据查询方法、装置和设备

Similar Documents

Publication Publication Date Title
US9037549B2 (en) System and method for testing data at a data warehouse
CN103678447B (zh) 多变量交易分类
CN105335821A (zh) 基于融合多个系统流程集中处理的方法
CN107609130A (zh) 一种选择数据查询引擎的方法及服务器
CN103310315A (zh) 一种基于工作流的流程自动审批工具
CN110119393A (zh) 代码版本管理系统及方法
CN107016019A (zh) 数据库索引创建方法及装置
CN110019314B (zh) 基于数据项分析的动态数据封装方法、客户端和服务端
CN104077407A (zh) 一种智能数据搜索系统及方法
CN108280082A (zh) 一种统计数据的即席查询方法及系统
WO2024060725A1 (zh) 一种飞机工装变更方法、装置、设备及存储介质
CN110796416A (zh) 一种基于工业联网订单处理方法及计算机存储介质
CN108255852B (zh) Sql执行方法及装置
CN107464083B (zh) 一种物料清单的生成方法、装置及设备
CN107203645A (zh) 一种并发查询多个数据库的方法及Eclipse平台
CN108804685B (zh) 一种资产托管监督任务的处理方法及装置
CN107229628A (zh) 分布式数据库预处理的方法及装置
CN104765787B (zh) 软件系统内要素文件关联关系分析方法及系统
CN109376546A (zh) 基于全局规则的数据包审计方法、系统、装置及存储介质
CN112685620A (zh) 一种招投标信息处理方法、系统、可读存储介质及设备
CN112214521A (zh) 规则查询方法、装置、设备及计算机存储介质
US9135302B2 (en) Query rewrite with a nested materialized view
CN105630997A (zh) 一种数据并行处理方法、装置及设备
CN107463663B (zh) 一种轻量级多数据源访问方法
CN110096514A (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: 20170926

RJ01 Rejection of invention patent application after publication