CN110837515A - 一种基于数据库的数据处理方法及电子设备 - Google Patents
一种基于数据库的数据处理方法及电子设备 Download PDFInfo
- Publication number
- CN110837515A CN110837515A CN201911074893.3A CN201911074893A CN110837515A CN 110837515 A CN110837515 A CN 110837515A CN 201911074893 A CN201911074893 A CN 201911074893A CN 110837515 A CN110837515 A CN 110837515A
- Authority
- CN
- China
- Prior art keywords
- query
- database
- query command
- data
- command
- 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
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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于数据库的数据处理方法及电子设备,该方法包括:获取第一查询命令,对所述第一查询命令进行解析以获取所述第一查询命令的数据结构;根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息;基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询,以获取所述第一查询命令对应的查询结果。该方法能够分析用户的查询目的,并根据用户的查询目的而选择相应类型和/或地域的目标数据库进行查询,并且还可以基于确定目标数据库的类型或地域进行相应的并发查询手段,有效提高查询效率。
Description
技术领域
本申请涉及数据库领域,特别涉及一种基于数据库的数据处理方法及电子设备。
背景技术
数据查询通常是通过配置向导生成查询语句(如sql语句),再将查询语句发送到服务器端进行单一类型的数据源的数据查询。即使用户想要对多种不同类型的数据库(多数据源)进行查询也只能够相对独立的实施不同步骤的查询。但往往用户对不同类型的数据库进行查询(即针对多个不同场景的查询)的机会较多,而上述数据查询方式通用性较低,配置过程局限性较大,导致不能对多数据源进行查询或者对多数据源的查询效率极低。
发明内容
本申请实施例的目的在于提供一种基于数据库的数据处理方法及电子设备,该方法能够分析用户的查询目的,并根据用户的查询目的而选择相应类型和/或地域的目标数据库进行查询,有效提高查询效率。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种基于数据库的数据处理方法,包括:
获取第一查询命令,对所述第一查询命令进行解析以获取所述第一查询命令的数据结构;
根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息;
基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询,以获取所述第一查询命令对应的查询结果。
作为优选,所述的对所述第一查询命令进行解析以获取所述第一查询命令的数据结构包括:
对所述第一查询命令进行预处理,以提高所述第一查询命令的数据完整程度使其符合第一预设标准;
基于预设解析规则对所述第一查询命令进行解析,获取所述数据结构中至少一个特定字段的内容。
作为优选,所述的根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息包括:
根据所述特定字段的内容,判断所述第一查询命令对应的至少一个所述目标数据库的类型和/或地域信息;
当确定所述第一查询命令对应了多个具有不同类型和/或地域的所述目标数据库时,分别生成多个与各个所述目标数据库相对应的查询请求。
作为优选,所述的基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询包括:
当所述第一查询命令对应多个目标数据库,且至少两个所述目标数据库处于不同地域时,根据地域信息并通过分布式的方式分别向处于不同地域的所述目标数据库进行查询;
将从不同地域的所述目标数据库中获取的结果数据,抓取到同一预设存储空间,以将所述结果数据返回给所述第一查询命令对应的请求方。
作为优选,所述的将从不同地域的所述目标数据库中获取的结果数据,抓取到同一预设存储空间包括:
将所述结果数据存储在预设文件中,以对所述结果数据进行本地化处理;
从所述预设文件中将所述结果数据转存在预设数据库中;
基于所述预设数据库对所述结果数据进行去重处理,形成所述查询结果。
作为优选,所述的利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询包括:
利用具有第一框架的所述预设查询引擎,对所述目标数据库进行并发的多线程查询,其中所述第一框架包括akka框架。
作为优选,所述数据处理方法还包括:
将从所述目标数据库中获取的初始查询结果进行翻译,得到符合预设数据表达要求的所述查询结果;
生成表征查询过程的日志信息,其中所述日志信息至少包括查询过程中积压和/或丢失数据的信息。
作为优选,所述第一查询命令为基于SQL查询语句的查询命令,所述方法还包括:
根据登陆信息生成单一场景的向导配置界面;
基于针对所述向导配置界面的输入信息生成相应的SQL查询语句。
作为优选,所述目标数据库至少包括以下之一:Hive集群数据库、关系型数据库和Elasticsearch数据库。
本申请实施例还一种电子设备,包括:
解析模块,其配置为获取第一查询命令,对所述第一查询命令进行解析以获取所述第一查询命令的数据结构;
处理模块,其配置为根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息;基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询,以获取所述第一查询命令对应的查询结果。
本申请实施例的有益效果在于:该方法能够分析用户的查询目的,并根据用户的查询目的而选择相应类型和/或地域的目标数据库进行查询,并且还可以基于确定目标数据库的类型或地域进行相应的并发查询手段,有效提高查询效率。
附图说明
图1为本申请实施例的基于数据库的数据处理方法的流程图;
图2为本申请实施例的图1中步骤S1的流程图;
图3为本申请实施例的图1中步骤S2的流程图;
图4为本申请实施例的图1中步骤S3的流程图;
图5为本申请实施例的图4中步骤S32的流程图;
图6为本申请实施例的基于数据库的数据处理方法的一个实施例的流程图;
图7为本申请实施例的基于数据库的数据处理方法的另一个实施例的流程图;
图8为本申请实施例的基于数据库的数据处理方法的又一个具体实施例的流程图;
图9为本申请实施例的电子设备的结构示意框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
本申请实施例的一种基于数据库的数据处理方法包括:获取第一查询命令,对所述第一查询命令进行解析以获取所述第一查询命令的数据结构;根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息;基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询,以获取所述第一查询命令对应的查询结果。该方法能够实现用户对多种不同类型或者处于不同地域的数据库进行数据查询,如Hive集群数据库、关系型数据库和Elasticsearch数据库等。
图1为本申请实施例的基于数据库的数据处理方法的流程图,如图1所示并结合图8,本申请一个实施例中基于数据库的数据处理方法包括以下步骤:
S1,获取第一查询命令,对第一查询命令进行解析以获取第一查询命令的数据结构。当用户需要进行数据查询时,可以根据用户意愿形成第一查询命令。在一个实施例中,用户可以登录电子设备来进行数据的查询,电子设备可以根据用户的意愿,如在给出的交互信息中根据用户对参数的选择来确定用户意愿,并根据用户意愿形成第一查询命令,而用户也可以通过交互信息而直观的看到该第一查询密令,当然随着用户对交互信息给出的参数的修改,该第一查询命令也会做出相应的调整。该交互信息中适用于用户对不同类型或不同地域的目标数据库的信息交互。在获取到该第一查询命令后,对第一查询命令进行解析,由于该第一查询命令可以是多种不同的查询语句的一种,其具有相应的数据结构,如第一查询命令是SQL语句时其具有以下数据结构:“select*from表名:bj,sh where条件”,当然,如果第一查询命令较为复杂,则其具有的数据结构也会随之复杂。
S2,根据第一查询命令的数据结构,确定第一查询命令对应的至少一个目标数据库的类型和/或地域信息。第一查询命令的数据结构中具有关键信息(特定字段),该关键信息(特定字段)能够表征第一查询命令对应的目标数据库的类型和目标数据库所处的地域。如sql语句“select字段1、字段2、…from数据库.表名where条件”中的“数据库.表名”能够表征该第一查询密令是对Hive集群数据库的查询,当然第一查询密令中还可能具有其他的关键信息能够表征目标数据库的类型和所处的地域。根据所述第一查询命令的数据结构,特别是其中的关键信息能够直接而准确的确定该第一查询命令对应的一个或多个目标数据库的类型和/或地域信息。
S3,基于目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对目标数据库进行查询,以获取第一查询命令对应的查询结果。具体来说,预设查询引擎具有并发查询能力,能够并发的查询多个不同类型的目标数据库,也能够并发查询处于不同地域的多个目标数据库,从而能够有效的提高查询效率。本实施例中,由于确定了目标数据库的类型和/或地域,从而结合目标数据库的实际情况来设置预设查询引擎,以使预设查询引擎基于目标数据库的类型和/或地域,采用具体的方式向一个或多个目标数据库发出相对应的查询请求,如确定了目标数据库的类型为Hive集群数据库,预设查询引擎可以通过jdbc连接的方式进行数据的查询等,在此不做限定。
该方法能够分析用户的查询目的,并根据用户的查询目的而选择相应类型和/或地域的目标数据库进行查询,并且还可以基于确定目标数据库的类型或地域进行相应的并发查询手段,有效提高查询效率。
在本申请的一个实施例中,如图2所示并结合图8,所述的对第一查询命令进行解析以获取第一查询命令的数据结构包括以下步骤:
S11,对第一查询命令进行预处理,以提高第一查询命令的数据完整程度使其符合第一预设标准。预处理可以是对第一查询命令的补全操作,也可以是对第一查询命令的除错操作。电子设备根据用户意愿生成了第一查询命令后可能该第一查询命令并不是完整的命令,或者可能部分内容并不规范,因此可以对其进行预处理操作,即对第一查询命令的内容进行补全操作,并对其内容进行除错操作,从而提高第一查询命令的数据完成程度使其符合第一预设标准,第一预设标准可以根据用户实际使用情况、数据库本身的性能以及友好程度等方面而综合设置,当然也可以根据实际命令来进行修改。
S12,基于预设解析规则对第一查询命令进行解析,获取数据结构中至少一个特定字段的内容。预设解析规则可以根据第一查询命令的结构组成进行解析,该数据结构中具有特定字段,特定字段能够表征该第一查询命令对应的目标数据库的类型和/或所处的地域。
在本申请的一个实施例中,如图3所示,所述的根据第一查询命令的数据结构,确定第一查询命令对应的至少一个目标数据库的类型和/或地域信息包括:
S21,根据特定字段的内容,判断第一查询命令对应的至少一个目标数据库的类型和/或地域信息。特定字段可以是由一个或多个字符串构成,特定的字符串代表了具体的信息。举例说明,在进行基于Sql的查询之前会对相应的sql语句进行查询,转换为完整的sql语句,通过预设解析规则解析sql语句对应的目标数据库的类型,如:
对Hive集群数据库查询的sql语句为:select字段1、字段2、…from数据库.表名where条件;对Elasticsearch数据库查询的sql语句为:select字段1、字段2、…from索引where条件;对跨域目标数据库查询的sql语句为:select字段1、字段2、…from表名:bj,shwhere条件。
S22,当确定第一查询命令对应了多个具有不同类型和/或地域的目标数据库时,分别生成多个与各个目标数据库相对应的查询请求。对于不同类型的目标数据库其对应的查询请求或查询方式可以不同,这样能够使发出的查询请求更加适用于该类型的目标数据库,当然如果第一查询命令是针对多个不同类型的目标数据库进行查询则可以分别对各个目标数据库发出与之相对应的查询请求。例如,对Hive集群数据库查询时,解析部分sql语句,根据form和where之间的语句确定目标数据库为Hive集群数据库,并设定了相应的具体查询请求,并通过jdbc连接方式对Hive集群数据库查询数据。
在本申请的一个实施例中,如图4所示,所述的基于目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对目标数据库进行查询包括:
S31,当第一查询命令对应多个目标数据库,且至少两个目标数据库处于不同地域时,根据地域信息并通过分布式的方式分别向处于不同地域的目标数据库进行查询。具体来说,不同的多个目标数据库分别设置在不同的地域,如一个设置在北京,一个设置在上海,则可以根据地域的具体相关信息通过分布式的方式分别向分布在两地的目标数据库进行查询。分布式查询可以访问来自多种异类数据源的数据,而这些数据可存储在相同或不同的计算机上。分布式查询支持SQL Server用户访问,对存储在多个SQL Server实例中的分布式数据进行查询。
S32,将从不同地域的目标数据库中获取的结果数据,抓取到同一预设存储空间,以将结果数据返回给第一查询命令对应的请求方。预设存储空间,可以用户便于访问的存储空间,如设置在本地的存储空间,或者设置在便于访问的云端等。如果多个目标数据库处于不同地域,则可以将从各个地域的目标数据库获取的结果数据均存储在该预设存储空间,然后再对所有的结果数据进行整合以及其他处理后,再将结果数据返回给所述第一查询命令对应的请求方。
举例说明,用户需要每天定时查询北京(bj)、上海(sh)两地的目标数据库,并写入预设文件(预设存储空间)中供用户综合分析使用。电子设备的交互信息以页面表示,该页面展示由xml方式配置多种数据库及表等多种信息,选择不同的查询方式动态切换关系型数据库(hive集群数据库查询、跨域查询)或者对Elasticsearch搜索引擎服务查询,根据选定的信息跨域查询北京(bj)、上海(sh)的目标数据库,配置sql语句(第一查询命令)进行跨地域查询bj、sh:设置相应的查询语句为:select*from表名:bj,sh where条件。解析sql语句的语法结构是否为跨域查询,若为跨域查询将sql解析为具体sql语句,根据解析到的地域节点以分布式处理方式分别向bj、sh所在的目标数据库执行查询操作,从而提高多个数据源的查询效率。从多地域查询的结果数据可以首先存储在预设存储空间(如先存储在预设文件中再存储到本地的数据库中),再按照sql语法进行再次筛选查询,获得第一查询命令对应的查询结果并返回给用户。
在本申请的一个实施例中,如图5所示,所述的将从不同地域的目标数据库中获取的结果数据,抓取到同一预设存储空间包括以下步骤:
S321,将结果数据存储在预设文件中,以对结果数据进行本地化处理。本地化处理可以是为了适用于本地用户的需要而做出的转化处理,如将查询结果的形式做出相应的变化,以适用于本地用户。而先将结果数据存储在预设文件(如电子设备的某一文件)中可以先对该结果数据进行主要参数(如数据量等)的检测以做出相应的调整,例如如果数据量过大则可以分步存储到数据库中等,从而避免了大数据量的存储会对数据库造成的损坏。
S322,从预设文件中将结果数据转存在预设数据库中。预设文件和预设数据库均可以是设置在本地,从而便于从预设文件中将结果数据转存在预设数据库中,实现了数据流转的递进,提高了流转效率。
S323,基于预设数据库对结果数据进行去重处理,形成查询结果。去重处理是将结果数据中重复的数据进行删除或分离等操作,例如在北京的目标数据库中获取了第一数据,而在上海的目标数据库中也获取了同样的第一数据,在进行数据查询时可能会将两个相同的数据同时存储在了预设数据库中,而去重操作可以删除冗余的数据,从而节省了存储空间,精简了查询结果。
在本申请的一个实施例中,所述的利用具有并发查询能力的预设查询引擎对目标数据库进行查询包括:
利用具有第一框架的预设查询引擎,对目标数据库进行并发的多线程查询,其中第一框架包括akka框架。
具有akka框架的预设查询引擎具有并发查询能力,能够并发的查询多个不同类型的目标数据库,也能够并发查询处于不同地域的多个目标数据库,而多线程的处理方式,能够使预设查询引擎在同一时间执行多个线程,进而提升整体处理性能,从而进一步提高了查询效率。其中的akka框架也可以叫做akka库,适用于并发的多线程查询处理。
在本申请的一个实施例中,如图6所示并结合图8,该数据处理方法还包括以下步骤:
S4,将从目标数据库中获取的初始查询结果进行翻译,得到符合预设数据表达要求的查询结果。预设数据表达要求可以根据当前使用环境而设置,如具体用户需要看到的数据形式,对初始查询结果进行翻译后可以使得初始查询结果符合用户需要的数据形式。
S5,生成表征查询过程的日志信息,其中日志信息至少包括查询过程中积压和/或丢失数据的信息。日志信息可以作为对电子设备以及目标数据库进行维护的基础。例如在进行大数据量的流转的过程中,会导致数据的积压和/或丢失的情况,而日志信息可以记录相关情况,从而能够基于此进行相应处理,进而保证随后的数据查询可以避免或减少上述情况的再次发生。
在本申请的一个实施例中,如图7所示并结合图8,第一查询命令为基于SQL查询语句的查询命令,该数据处理方法还包括以下步骤:
S6,根据登陆信息生成单一场景的向导配置界面;
S7,基于针对向导配置界面的输入信息生成相应的SQL查询语句。
具体来说,用户登录电子设备的系统后会生成登陆信息,电子设备可以根据登陆信息生成单一场景的向导配置界面,该单一场景的向导配置界面可以在一个场景中对用户的查询意愿进行引导和配置,在用户在向导配置界面的输入信息的同时,该向导配置界面中会显示出相应的SQL查询语句,而如果用户对向导配置界面中示出的参数进行调整时该SQL查询语句也会做出相应的调整,从而实现了使用一套通用的向导配置方案便能够满足用户的不同需求,特别是满足了用户对不同类型或地域的目标数据库的向导配置。
在本申请的一个实施例中,目标数据库至少包括以下之一:Hive集群数据库、关系型数据库和Elasticsearch数据库。
本申请实施例还提供了一种电子设备,如图9所示并结合图8,包括:
解析模块,其配置为获取第一查询命令,对第一查询命令进行解析以获取第一查询命令的数据结构。
具体来说,当用户需要进行数据查询时,可以根据用户意愿形成第一查询命令。在一个实施例中,用户可以登录电子设备来进行数据的查询,电子设备可以根据用户的意愿,如在给出的交互信息中根据用户对参数的选择来确定用户意愿,并根据用户意愿形成第一查询命令,而用户也可以通过交互信息而直观的看到该第一查询密令,当然随着用户对交互信息给出的参数的修改,该第一查询命令也会做出相应的调整。该交互信息中适用于用户对不同类型或不同地域的目标数据库的信息交互。解析模块在获取到该第一查询命令后,对第一查询命令进行解析,由于该第一查询命令可以是多种不同的查询语句的一种,其具有相应的数据结构,如第一查询命令是SQL语句时其具有以下数据结构:“select*from表名:bj,sh where条件”,当然,如果第一查询命令较为复杂,则其具有的数据结构也会随之复杂。
处理模块,其配置为根据第一查询命令的数据结构,确定第一查询命令对应的至少一个目标数据库的类型和/或地域信息;基于目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对目标数据库进行查询,以获取第一查询命令对应的查询结果。
具体来说,第一查询命令的数据结构中具有关键信息(特定字段),该关键信息(特定字段)能够表征第一查询命令对应的目标数据库的类型和目标数据库所处的地域。如sql语句“select字段1、字段2、…from数据库.表名where条件”中的“数据库.表名”能够表征该第一查询密令是对Hive集群数据库的查询,当然第一查询密令中还可能具有其他的关键信息能够表征目标数据库的类型和所处的地域。处理模块根据所述第一查询命令的数据结构,特别是其中的关键信息能够直接而准确的确定该第一查询命令对应的一个或多个目标数据库的类型和/或地域信息。
预设查询引擎具有并发查询能力,能够并发的查询多个不同类型的目标数据库,也能够并发查询处于不同地域的多个目标数据库,从而能够有效的提高查询效率。本实施例中,由于确定了目标数据库的类型和/或地域,从而处理模块可以结合目标数据库的实际情况来设置预设查询引擎,以使预设查询引擎基于目标数据库的类型和/或地域,采用具体的方式向一个或多个目标数据库发出相对应的查询请求,如确定了目标数据库的类型为Hive集群数据库,利用预设查询引擎可以通过jdbc连接的方式进行数据的查询等,在此不做限定。
该电子设备能够分析用户的查询目的,并根据用户的查询目的而选择相应类型和/或地域的目标数据库进行查询,并且还可以基于确定目标数据库的类型或地域进行相应的并发查询手段,有效提高查询效率。
在本申请的一个实施例中,结合图8,解析模块进一步配置为:对第一查询命令进行预处理,以提高第一查询命令的数据完整程度使其符合第一预设标准;基于预设解析规则对第一查询命令进行解析,获取数据结构中至少一个特定字段的内容。
具体来说,预处理可以是对第一查询命令的补全操作,也可以是对第一查询命令的除错操作。电子设备根据用户意愿生成了第一查询命令后可能该第一查询命令并不是完整的命令,或者可能部分内容并不规范,因此解析模块可以对其进行预处理操作,即对第一查询命令的内容进行补全操作,并对其内容进行除错操作,从而提高第一查询命令的数据完成程度使其符合第一预设标准,第一预设标准可以根据用户实际使用情况、数据库本身的性能以及友好程度等方面而综合设置,当然也可以根据实际命令来进行修改。
预设解析规则可以根据第一查询命令的结构组成进行解析,该数据结构中具有特定字段,特定字段能够表征该第一查询命令对应的目标数据库的类型和/或所处的地域。
在本申请的一个实施例中,处理模块进一步配置为:根据特定字段的内容,判断第一查询命令对应的至少一个目标数据库的类型和/或地域信息。特定字段可以是由一个或多个字符串构成,特定的字符串代表了具体的信息;当确定第一查询命令对应了多个具有不同类型和/或地域的目标数据库时,分别生成多个与各个目标数据库相对应的查询请求。
举例说明,在进行基于Sql的查询之前会对相应的sql语句进行查询,转换为完整的sql语句,通过预设解析规则解析sql语句对应的目标数据库的类型,如:
对Hive集群数据库查询的sql语句为:select字段1、字段2、…from数据库.表名where条件;对Elasticsearch数据库查询的sql语句为:select字段1、字段2、…from索引where条件;对跨域目标数据库查询的sql语句为:select字段1、字段2、…from表名:bj,shwhere条件。
对于不同类型的目标数据库其对应的查询请求或查询方式可以不同,这样能够使处理模块发出的查询请求更加适用于该类型的目标数据库,当然如果第一查询命令是针对多个不同类型的目标数据库进行查询则可以分别对各个目标数据库发出与之相对应的查询请求。例如,处理模块对Hive集群数据库查询时,解析部分sql语句,根据form和where之间的语句确定目标数据库为Hive集群数据库,并设定了相应的具体查询请求,并通过jdbc连接方式对Hive集群数据库查询数据。
在本申请的一个实施例中,处理模块进一步配置为:当第一查询命令对应多个目标数据库,且至少两个目标数据库处于不同地域时,根据地域信息并通过分布式的方式分别向处于不同地域的目标数据库进行查询;将从不同地域的目标数据库中获取的结果数据,抓取到同一预设存储空间,以将结果数据返回给第一查询命令对应的请求方。
具体来说,不同的多个目标数据库分别设置在不同的地域,如一个设置在北京,一个设置在上海,则可以根据地域的具体相关信息通过分布式的方式分别向分布在两地的目标数据库进行查询。分布式查询可以访问来自多种异类数据源的数据,而这些数据可存储在相同或不同的计算机上。分布式查询支持SQL Server用户访问,对存储在多个SQLServer实例中的分布式数据进行查询。
预设存储空间,可以用户便于访问的存储空间,如设置在本地的存储空间,或者设置在便于访问的云端等。如果多个目标数据库处于不同地域,则处理模块可以将从各个地域的目标数据库获取的结果数据均存储在该预设存储空间,然后再对所有的结果数据进行整合以及其他处理后,再将结果数据返回给所述第一查询命令对应的请求方。
举例说明,用户需要每天定时查询北京(bj)、上海(sh)两地的目标数据库,并写入预设文件(预设存储空间)中供用户综合分析使用。电子设备的交互信息以页面表示,该页面展示由xml方式配置多种数据库及表等多种信息,处理模块选择不同的查询方式动态切换关系型数据库(hive集群数据库查询、跨域查询)或者对Elasticsearch搜索引擎服务查询,根据选定的信息跨域查询北京(bj)、上海(sh)的目标数据库,配置sql语句(第一查询命令)进行跨地域查询bj、sh:设置相应的查询语句为:select*from表名:bj,sh where条件。解析sql语句的语法结构是否为跨域查询,若为跨域查询将sql解析为具体sql语句,根据解析到的地域节点以分布式处理方式分别向bj、sh所在的目标数据库执行查询操作,从而提高多个数据源的查询效率。处理模块从多地域查询的结果数据可以首先存储在预设存储空间(如先存储在预设文件中再存储到本地的数据库中),再按照sql语法进行再次筛选查询,获得第一查询命令对应的查询结果并返回给用户。
在本申请的一个实施例中,处理模块进一步配置为:将结果数据存储在预设文件中,以对结果数据进行本地化处理;从预设文件中将结果数据转存在预设数据库中;基于预设数据库对结果数据进行去重处理,形成查询结果。
具体来说,本地化处理可以是为了适用于本地用户的需要而做出的转化处理,如将查询结果的形式做出相应的变化,以适用于本地用户。而处理模块先将结果数据存储在预设文件(如电子设备的某一文件)中可以先对该结果数据进行主要参数(如数据量等)的检测以做出相应的调整,例如如果数据量过大则可以分步存储到数据库中等,从而避免了大数据量的存储会对数据库造成的损坏。
预设文件和预设数据库均可以是设置在本地,从而便于从预设文件中将结果数据转存在预设数据库中,实现了数据流转的递进,提高了流转效率。
去重处理是将结果数据中重复的数据进行删除或分离等操作,例如在北京的目标数据库中获取了第一数据,而在上海的目标数据库中也获取了同样的第一数据,在进行数据查询时可能会将两个相同的数据同时存储在了预设数据库中,而去重操作可以删除冗余的数据,从而节省了存储空间,精简了查询结果。
在本申请的一个实施例中,处理模块进一步配置为:利用具有第一框架的预设查询引擎,对目标数据库进行并发的多线程查询,其中第一框架包括akka框架。
具有akka框架的预设查询引擎具有并发查询能力,能够并发的查询多个不同类型的目标数据库,也能够并发查询处于不同地域的多个目标数据库,而多线程的处理方式,能够使预设查询引擎在同一时间执行多个线程,进而提升整体处理性能,从而进一步提高了查询效率。其中的akka框架也可以叫做akka库,适用于并发的多线程查询处理。
在本申请的一个实施例中,结合图8,处理模块进一步配置为:将从目标数据库中获取的初始查询结果进行翻译,得到符合预设数据表达要求的查询结果;生成表征查询过程的日志信息,其中日志信息至少包括查询过程中积压和/或丢失数据的信息。
具体来说,预设数据表达要求可以根据当前使用环境而设置,如具体用户需要看到的数据形式,对初始查询结果进行翻译后可以使得初始查询结果符合用户需要的数据形式。
日志信息可以作为对电子设备以及目标数据库进行维护的基础。例如在进行大数据量的流转的过程中,会导致数据的积压和/或丢失的情况,而日志信息可以记录相关情况,从而能够基于此进行相应处理,进而保证随后的数据查询可以避免或减少上述情况的再次发生。
在本申请的一个实施例中,结合图8,第一查询命令为基于SQL查询语句的查询命令,电子设备还包括配置模块,配置模块配置为:根据登陆信息生成单一场景的向导配置界面;基于针对向导配置界面的输入信息生成相应的SQL查询语句。
具体来说,用户登录电子设备的系统后会生成登陆信息,配置模块可以根据登陆信息生成单一场景的向导配置界面,该单一场景的向导配置界面可以在一个场景中对用户的查询意愿进行引导和配置,在用户在向导配置界面的输入信息的同时,配置模块通过向导配置界面显示出相应的SQL查询语句,而如果用户对向导配置界面中示出的参数进行调整时该SQL查询语句也会做出相应的调整,从而实现了使用一套通用的向导配置方案便能够满足用户的不同需求,特别是满足了用户对不同类型或地域的目标数据库的向导配置。
在本申请的一个实施例中,目标数据库至少包括以下之一:Hive集群数据库、关系型数据库和Elasticsearch数据库。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (10)
1.一种基于数据库的数据处理方法,其特征在于,包括:
获取第一查询命令,对所述第一查询命令进行解析以获取所述第一查询命令的数据结构;
根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息;
基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询,以获取所述第一查询命令对应的查询结果。
2.根据权利要求1所述的数据处理方法,其特征在于,所述的对所述第一查询命令进行解析以获取所述第一查询命令的数据结构包括:
对所述第一查询命令进行预处理,以提高所述第一查询命令的数据完整程度使其符合第一预设标准;
基于预设解析规则对所述第一查询命令进行解析,获取所述数据结构中至少一个特定字段的内容。
3.根据权利要求2所述的数据处理方法,其特征在于,所述的根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息包括:
根据所述特定字段的内容,判断所述第一查询命令对应的至少一个所述目标数据库的类型和/或地域信息;
当确定所述第一查询命令对应了多个具有不同类型和/或地域的所述目标数据库时,分别生成多个与各个所述目标数据库相对应的查询请求。
4.根据权利要求1所述的数据处理方法,其特征在于,所述的基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询包括:
当所述第一查询命令对应多个目标数据库,且至少两个所述目标数据库处于不同地域时,根据地域信息并通过分布式的方式分别向处于不同地域的所述目标数据库进行查询;
将从不同地域的所述目标数据库中获取的结果数据,抓取到同一预设存储空间,以将所述结果数据返回给所述第一查询命令对应的请求方。
5.根据权利要求4所述的数据处理方法,其特征在于,所述的将从不同地域的所述目标数据库中获取的结果数据,抓取到同一预设存储空间包括:
将所述结果数据存储在预设文件中,以对所述结果数据进行本地化处理;
从所述预设文件中将所述结果数据转存在预设数据库中;
基于所述预设数据库对所述结果数据进行去重处理,形成所述查询结果。
6.根据权利要求1所述的数据处理方法,其特征在于,所述的利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询包括:
利用具有第一框架的所述预设查询引擎,对所述目标数据库进行并发的多线程查询,其中所述第一框架包括akka框架。
7.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:
将从所述目标数据库中获取的初始查询结果进行翻译,得到符合预设数据表达要求的所述查询结果;
生成表征查询过程的日志信息,其中所述日志信息至少包括查询过程中积压和/或丢失数据的信息。
8.根据权利要求1所述的数据处理方法,其特征在于,所述第一查询命令为基于SQL查询语句的查询命令,所述方法还包括:
根据登陆信息生成单一场景的向导配置界面;
基于针对所述向导配置界面的输入信息生成相应的SQL查询语句。
9.根据权利要求1所述的数据处理方法,其特征在于,所述目标数据库至少包括以下之一:Hive集群数据库、关系型数据库和Elasticsearch数据库。
10.一种电子设备,其特征在于,包括:
解析模块,其配置为获取第一查询命令,对所述第一查询命令进行解析以获取所述第一查询命令的数据结构;
处理模块,其配置为根据所述第一查询命令的数据结构,确定所述第一查询命令对应的至少一个目标数据库的类型和/或地域信息;基于所述目标数据库的类型和/或地域信息,利用具有并发查询能力的预设查询引擎对所述目标数据库进行查询,以获取所述第一查询命令对应的查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911074893.3A CN110837515A (zh) | 2019-11-06 | 2019-11-06 | 一种基于数据库的数据处理方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911074893.3A CN110837515A (zh) | 2019-11-06 | 2019-11-06 | 一种基于数据库的数据处理方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110837515A true CN110837515A (zh) | 2020-02-25 |
Family
ID=69574711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911074893.3A Pending CN110837515A (zh) | 2019-11-06 | 2019-11-06 | 一种基于数据库的数据处理方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837515A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111756752A (zh) * | 2020-06-24 | 2020-10-09 | 北京金山云网络技术有限公司 | 对数据库的访问权限的控制方法、装置及电子设备 |
CN112035508A (zh) * | 2020-08-27 | 2020-12-04 | 深圳天源迪科信息技术股份有限公司 | 基于sql在线元数据解析的方法及系统、设备 |
CN112506965A (zh) * | 2020-12-03 | 2021-03-16 | 北京天融信网络安全技术有限公司 | 一种数据库管理装置及方法 |
CN113535843A (zh) * | 2021-09-15 | 2021-10-22 | 北京交研智慧科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN113568931A (zh) * | 2020-04-29 | 2021-10-29 | 盛趣信息技术(上海)有限公司 | 一种数据访问请求的路由解析系统及方法 |
CN115481187A (zh) * | 2022-09-28 | 2022-12-16 | 北京亚控科技发展有限公司 | 一种数据读写方法、装置及存储介质 |
WO2023087673A1 (zh) * | 2021-11-19 | 2023-05-25 | 天翼数字生活科技有限公司 | 一种层次数据检索方法、装置和设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271473A (zh) * | 2008-04-29 | 2008-09-24 | 华为技术有限公司 | 数据查询方法、装置及系统 |
US20170032003A1 (en) * | 2013-10-01 | 2017-02-02 | Cloudera, Inc. | Background format optimization for enhanced sql-like queries in hadoop |
CN106407244A (zh) * | 2016-06-21 | 2017-02-15 | 平安科技(深圳)有限公司 | 基于多数据库的数据查询方法、系统和装置 |
CN106445413A (zh) * | 2012-12-12 | 2017-02-22 | 华为技术有限公司 | 集群系统中数据处理方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
CN109471872A (zh) * | 2017-08-30 | 2019-03-15 | 北京国双科技有限公司 | 处理高并发查询请求的方法及装置 |
-
2019
- 2019-11-06 CN CN201911074893.3A patent/CN110837515A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271473A (zh) * | 2008-04-29 | 2008-09-24 | 华为技术有限公司 | 数据查询方法、装置及系统 |
CN106445413A (zh) * | 2012-12-12 | 2017-02-22 | 华为技术有限公司 | 集群系统中数据处理方法及装置 |
US20170032003A1 (en) * | 2013-10-01 | 2017-02-02 | Cloudera, Inc. | Background format optimization for enhanced sql-like queries in hadoop |
CN106407244A (zh) * | 2016-06-21 | 2017-02-15 | 平安科技(深圳)有限公司 | 基于多数据库的数据查询方法、系统和装置 |
CN109471872A (zh) * | 2017-08-30 | 2019-03-15 | 北京国双科技有限公司 | 处理高并发查询请求的方法及装置 |
CN108009236A (zh) * | 2017-11-29 | 2018-05-08 | 北京锐安科技有限公司 | 一种大数据查询方法、系统、计算机及存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568931A (zh) * | 2020-04-29 | 2021-10-29 | 盛趣信息技术(上海)有限公司 | 一种数据访问请求的路由解析系统及方法 |
CN111756752A (zh) * | 2020-06-24 | 2020-10-09 | 北京金山云网络技术有限公司 | 对数据库的访问权限的控制方法、装置及电子设备 |
CN112035508A (zh) * | 2020-08-27 | 2020-12-04 | 深圳天源迪科信息技术股份有限公司 | 基于sql在线元数据解析的方法及系统、设备 |
CN112506965A (zh) * | 2020-12-03 | 2021-03-16 | 北京天融信网络安全技术有限公司 | 一种数据库管理装置及方法 |
CN113535843A (zh) * | 2021-09-15 | 2021-10-22 | 北京交研智慧科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN113535843B (zh) * | 2021-09-15 | 2022-07-29 | 北京交研智慧科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
WO2023087673A1 (zh) * | 2021-11-19 | 2023-05-25 | 天翼数字生活科技有限公司 | 一种层次数据检索方法、装置和设备 |
CN115481187A (zh) * | 2022-09-28 | 2022-12-16 | 北京亚控科技发展有限公司 | 一种数据读写方法、装置及存储介质 |
CN115481187B (zh) * | 2022-09-28 | 2023-11-21 | 北京亚控科技发展有限公司 | 一种数据读写方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837515A (zh) | 一种基于数据库的数据处理方法及电子设备 | |
US9639567B2 (en) | For all entries processing | |
US9298775B2 (en) | Changing the compression level of query plans | |
US8965918B2 (en) | Decomposed query conditions | |
US8332389B2 (en) | Join order for a database query | |
US8732163B2 (en) | Query optimization with memory I/O awareness | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
US8417690B2 (en) | Automatically avoiding unconstrained cartesian product joins | |
CN112988782B (zh) | Hive支持交互式查询的方法、装置及存储介质 | |
US20140201192A1 (en) | Automatic data index establishment method | |
US8046352B2 (en) | Expression replacement in virtual columns | |
US10261950B2 (en) | Table as query language parameter | |
CN114756569B (zh) | 结构化查询语句的多层解析方法、计算机设备及存储介质 | |
CN112162983A (zh) | 数据库索引建议处理方法、装置、介质和电子设备 | |
WO2022134363A1 (zh) | 整合业务报表的方法、装置、设备以及存储介质 | |
CN109241100B (zh) | 一种查询方法、装置、设备及存储介质 | |
KR101255639B1 (ko) | 컬럼 기반 데이터베이스 시스템 및 데이터베이스 시스템의 조인 인덱스를 이용한 조인 처리 방법 | |
WO2018107942A1 (en) | System and method of adaptively partitioning data to speed up join queries on distributed and parallel database systems | |
US10997170B2 (en) | Local database cache | |
CN107729428A (zh) | 一种基于Presto和Elasticsearch的SQL查询方法 | |
US8200673B2 (en) | System and method for on-demand indexing | |
US20070033178A1 (en) | Quality of service feedback for technology-neutral data reporting | |
CN115114325B (zh) | 数据查询方法、装置、电子设备以及存储介质 | |
US12086161B2 (en) | Transforming relational statements into hierarchical data space operations | |
CN110413642B (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: 20200225 |
|
RJ01 | Rejection of invention patent application after publication |