CN110825767A - 数据查询方法、平台、设备及存储介质 - Google Patents
数据查询方法、平台、设备及存储介质 Download PDFInfo
- Publication number
- CN110825767A CN110825767A CN201911120481.9A CN201911120481A CN110825767A CN 110825767 A CN110825767 A CN 110825767A CN 201911120481 A CN201911120481 A CN 201911120481A CN 110825767 A CN110825767 A CN 110825767A
- Authority
- CN
- China
- Prior art keywords
- query
- execution
- user
- data
- exception
- 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/2425—Iterative querying; Query formulation based on the results of a preceding query
-
- 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
-
- 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/2462—Approximate or statistical queries
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据查询方法、平台、设备及存储介质,该方法包括:接收到用户的数据查询请求;从所述数据查询请求中解析得到用户的查询语句和执行引擎类型;将所述用户的查询语句提交至所对应的执行引擎执行;从所述执行引擎中获取查询结果并推送至用户。通过采用本发明的方案,基于多种执行引擎实现数据查询,为用户提供更多种引擎选择,进一步地,由于提供了多种执行查询任务的计算引擎,在执行失败时可以选择其他引擎执行,提高了数据查询成功率。
Description
技术领域
本发明涉及大数据处理技术领域,尤其涉及一种数据查询方法、平台、设备及存储介质。
背景技术
近年来随着大家对数据价值的重视,特别是互联网公司,保存了各种数据,这些数据都会在大数据中持久保存。存在数据库中的结构化数据包含了譬如交易、订单、货源、用户等维度的信息,以抽取的方式存储在大数据系统;和用户交互的前端埋点数据则以日志形式存放在消息队列中,被消费到大数据系统;各个业务程序系统输出日志信息也会流入大数据。为了发掘海量数据中隐藏的价值,提升数据的利用率,为业务增能,数据分析师付出了辛苦的劳动,为了提升数据分析师的工作效率,降低数据分析师的工作强度,需要提供一种ad-hoc(点对点模式)查询平台。
现有技术中已有的ad-hoc查询平台,包括一种查询引擎,其通常是针对一种计算引擎而开发,功能比较单薄,在查询失败时没有其他可选方案,数据分析师必须修改SQL语句或排查失败原因,导致完成需求耗时过长,数据分析师的工作压力和强度增大,可能会导致更多工作上的失误发生。在一些场景下,数据分析师只能通过改变需求功能来绕过查询平台出现的失败问题,使得数据分析师无法及时地获取真正满足自己需求的查询结果。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种数据查询方法、平台、设备及存储介质,基于多种执行引擎实现,为用户提供更多种引擎选择,并且由多种执行引擎来提高查询成功率。
本发明实施例提供一种数据查询方法,所述方法包括如下步骤:
接收到用户的数据查询请求;
从所述数据查询请求中解析得到用户的查询语句和执行引擎类型;
将所述用户的查询语句提交至所对应的执行引擎执行;
从所述执行引擎中获取查询结果并推送至用户。
可选地,所述从所述执行引擎中获取查询结果,还包括如下步骤:
判断所述执行引擎是否返回查询结果;
如果是,则执行成功,将所述查询结果推送至用户;
如果否,则执行异常,判断执行异常类型,将执行异常通知和执行异常类型推送至用户。
可选地,所述判断执行异常类型之后,还包括如下步骤:
如果所述执行异常类型为库表使用异常,则从库表信息库中查询异常库表的库表信息,将执行异常通知、库表使用异常类型和库表信息推送至用户;
如果所述执行异常类型为语句语法异常,则从语法信息库中查询异常语法所对应的语法含义,将执行异常通知、语句语法异常类型和语法含义推送至用户。
可选地,所述判断执行异常类型之后,还包括如下步骤:
如果所述执行异常类型为函数解析异常,则根据异常函数的类型选择匹配的执行引擎,将所述查询语句提交至新选择的执行引擎执行。
可选地,所述判断所述执行引擎是否返回查询结果之后,还包括如下步骤:
如果是,则将此次查询所对应的用户信息、查询语句和查询过程数据作为此次查询的执行数据,存储于执行数据库;
如果否,则将此次查询所对应的用户信息和执行异常类型作为此次查询的执行数据,并存储于执行数据库。
可选地,所述方法还包括如下步骤:
接收到用户的个人统计查询请求,解析得到用户信息和统计类型;
从所述执行数据库查询与所述用户信息相关联的执行数据;
根据所述统计类型所对应的统计规则,采用所述执行数据计算得到所述统计类型所对应的统计数据;
将计算得到的统计数据推送至用户。
可选地,所述方法还包括如下步骤:
接收到用户的查询语句查看请求;
从所述执行数据库中获取执行成功的查询语句,并将获取到的查询语句展示给用户。
可选地,所述从所述数据查询请求中解析得到用户的查询语句和执行引擎类型,包括如下步骤:
从所述数据查询请求中解析得到用户的查询语句;
判断所述数据查询请求中是否存在用户选择的执行引擎类型;
如果是,则从所述数据查询请求中解析得到执行引擎类型;
如果否,则根据预设的引擎匹配规则,选择与所述查询语句相匹配的执行引擎类型。
本发明实施例还提供一种数据查询平台,应用于所述的数据查询方法,所述平台包括:
用户交互模块,用于接收用户的数据查询请求,以及在查询完成后将查询结果推送至用户;
任务执行模块,用于从所述数据查询请求中解析得到用户的查询语句和执行引擎类型,并将所述用户的查询语句提交至所对应的执行引擎执行,以及从所述执行引擎中获取查询结果。
本发明实施例还提供一种数据查询设备,包括:
处理器;
存储器,其中存在所述处理器的可进行指令;
其中,所述处理器配置为经由进行所述可进行指令来进行所述的数据查询方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被进行时实现所述的数据查询方法的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
本发明所提供的数据查询方法、平台、设备及存储介质具有下列优点:
本发明解决了现有技术中的问题,基于多种执行引擎实现数据查询,为用户提供更多种引擎选择,进一步地,由于提供了多种执行查询任务的计算引擎,在执行失败时可以选择其他引擎执行,提高了数据查询成功率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的数据查询方法的流程图;
图2是本发明一实施例的从所述执行引擎中获取查询结果的流程图;
图3是本发明一实施例的个人统计查询的流程图;
图4是本发明一实施例的执行引擎匹配的流程图;
图5是本发明一实施例的数据查询平台的结构示意图;
图6是本发明一实施例的数据查询平台功能实现的示意图;
图7是本发明一实施例的数据查询设备的示意图;
图8是本发明一实施例的计算机可读存储介质的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
为了解决现有技术中的技术问题,本发明实施例提供一种数据查询方法和平台,用于提供一种友好的、交互式的ad-hoc数据查询方案,将数据查询功能整合进数据查询平台中,减少数据查询人员的重复劳动,提供便利,提升数据查询分析的工作效率。
如图1所示,在本发明一实施例中,所述数据查询方法包括如下步骤:
S100:接收到用户的数据查询请求;
S200:从所述数据查询请求中解析得到用户的查询语句和执行引擎类型;
S300:将所述用户的SQL查询语句提交至所对应的执行引擎执行;
S400:从所述执行引擎中获取查询结果并推送至用户。
本发明通过步骤S100与数据查询用户交互而获取用户的数据查询请求,通过步骤S200和S300,基于多种执行引擎实现数据查询,为用户提供更多种引擎选择,并通过步骤S400自动获取查询结果并推送给用户。进一步地,由于提供了多种执行查询任务的计算引擎,在执行失败时可以选择其他引擎执行,提高了数据查询成功率。
在该实施例中,所述数据查询方法采用BS(浏览器/服务器)架构,并分为三层:前端展示层、业务逻辑层和数据交互层。前端采用 angularJS+ace开发与用户交互的界面,用于接收用户请求,即执行步骤 S100。AngularJS是一个JavaScript框架,它是一个以JavaScript编写的库。Ace编辑器是一个嵌入web的代码编辑器,支持语法高亮,自动补全等功能,如果想在页面展示或编辑代码,使用该工具是很合适的。业务逻辑层采用java开发,处理前端接收到的用户请求,将其转换为程序逻辑运行,即执行步骤S200,数据交互层根据需求类型决策是和哪个执行引擎交互,或者与所述数据查询平台的数据库交互,即执行步骤S300和步骤S400。
在该实施例中,执行引擎可以包括Spark计算引擎、Impala计算引擎和Hive计算引擎,但本发明不限于此。其中,Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎;Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS 和HBase中的PB级大数据;Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。
在用户需要执行查询任务时,首先打开浏览器,输入数据查询平台的地址,在数据查询平台的数据查询页面中输入需要查询的SQL语句,并且可以选择执行引擎类型,然后点击提交按钮。前端即接收到数据查询请求。Spark计算引擎、Impala计算引擎和Hive计算引擎这三个引擎各有优缺点,用户可以在输入请求时根据各个计算引擎所对应的资源情况、运行时间预估、语法熟悉程度和语法特点来决策自己选择哪一种计算引擎,从而给用户提供了更多的查询语句执行引擎的选择。
如图2所示,在该实施例中,所述从所述执行引擎中获取查询结果,还包括如下步骤:
S410:判断所述执行引擎是否返回查询结果;
S420:如果是,则执行成功,将所述查询结果推送至用户,可以直接通过前端展示在浏览器上,或采用其他数据推送方法;
S430:如果否,则执行异常,判断执行异常类型;
S440:将执行异常通知和执行异常类型推送至用户,用户可以根据执行异常类型快速修改数据查询请求,快速排除异常。
具体地,在该实施例中,所述执行异常类型可以包括库表使用异常、语句语法异常和函数解析异常。所述步骤S430:判断执行异常类型之后,还包括如下步骤:
S431:如果所述执行异常类型为库表使用异常,为了方便用户对库表的拼写错误、权限错误等错误快速纠正,通过数据交互层与本地的数据库交互,从库表信息库中查询异常库表的库表信息,将执行异常通知、库表使用异常类型和库表信息通过所述前端展示层推送给用户,用户在看到相关的库表信息后可以快速进行纠错,再次提交正确的SQL查询语句。
所述库表信息可以包括库表位置、库表名称、库表字段、库表权限等信息。在从库表信息库中查询异常库表的库表信息时,不仅可以查询与 SQL查询语句中库表名称一致的库表信息,为防止用户的拼写错误,也可以查询与SQL查询语句中库表名称相似的库表信息,例如查询与SQL查询语句中库表名称相似度达到一定值的所有库表的库表信息,一并推送给用户,方便用户进行纠错。
S432:如果所述执行异常类型为语句语法异常,则通过数据交互层与本地的数据库交互,从语法信息库中查询异常语法所对应的语法含义,将执行异常通知、语句语法异常类型和语法含义通过所述前端展示层推送至用户;用户在看到对应的语句语法异常类型和语法含义之后,可以快速纠正自己的语句语法用法;
从语法信息库中查询异常语法时,可以查询与异常语法名称相同的语法的语法含义,为了避免用户的语法拼写错误,也可以进一步查询与异常语法名称相近似的语法的语法含义,具体地,可以查询与异常语法名称的相似度大于一定值的语法的语法含义,一并推送给用户,方便用户及时进行纠错。
本发明通过对语法含义的查询和库表信息的查询,也避免了用户在多个系统间切换,大大降低了用户的工作强度。
S433:如果所述执行异常类型为函数解析异常,即所述SQL查询语句中出现了执行引擎无法解析函数的情况,则根据异常函数的类型选择匹配的执行引擎,将所述查询语句提交至新选择的执行引擎执行。
因此,该实施例中,由于提供了多种执行引擎,在一个执行引擎执行失败时,可以自动更换至其他执行引擎执行该SQL语句,提高数据查询成功率。
如图2所示,在该实施例中,所述S410:判断所述执行引擎是否返回查询结果之后,还包括如下步骤:
S450:如果是,则将此次查询所对应的用户信息、查询语句和查询过程数据作为此次查询的执行数据,并通过数据交互层与本地数据库的交互,将所述执行数据存储于执行数据库;其中,查询过程数据可以包括此次查询所占用的资源量、查询的库表名称、查询耗时等等;
其中,由于此次查询成功,说明该SQL查询语句是正确的、能够正常执行的,以后重复利用的概率比较高,可以将该查询语句收藏起来,以方便后续直接使用,因此该实施例进一步提供了查询语句收藏功能,方便用户以后直接使用该SQL查询语句,而无需重复编写。
S460:如果否,则将此次查询所对应的用户信息和执行异常类型作为此次查询的执行数据,并通过数据交互层与本地数据库的交互,将所述执行数据存储于执行数据库。
对于采用步骤S433选择其他执行引擎重新执行查询语句之后,如果执行成功,则可以将执行成功时所对应的用户信息、查询语句和查询过程数据进行存储,如果仍然执行失败,则可以将此次查询所对应的用户信息和执行异常类型作为此次查询的执行数据进行存储。
如图3所示,在该实施例中,所述数据查询方法还可以包括S500:通过数据交互层与本地数据库的交互,进行个人统计查询,具体的,所述步骤S500中,个人统计查询如下步骤:
S510:通过前端展示层接收到用户的个人统计查询请求,解析得到用户信息和统计类型,统计类型可以包括用户在一定时间内的查询量、查询次数、占用的资源量、查询的失败率、查询的成功率、查询的库表信息等;
S520:从所述执行数据库查询与所述用户信息相关联的执行数据;
S530:根据所述统计类型所对应的统计规则,采用所述执行数据计算得到所述统计类型所对应的统计数据;
例如,统计类型为用户的查询失败率时,计算用户查询异常的次数与查询总次数的比值,统计类型为查询占用的资源量时,统计用户在一定时间内所有查询占用的资源量等等;
S540:将计算得到的统计数据通过所述前端展示层推送至用户。在推送时,可以以报表的形式进行展示,对用户的工作强度以报表的形式展现,为合理地优化人员结构提供帮助。
在该实施例中,所述数据查询方法还包括S600:通过数据交互层与本地数据库的交互,进行查询语句查询,即对于用户来说,可以查询之前已经收藏的成功执行的查询语句,具体地,所述查询语句查询包括如下步骤:
S610:接收到用户的查询语句查看请求;
S620:从所述执行数据库中获取执行成功的查询语句,并将获取到的查询语句通过所述前端展示层展示给用户。在展示时,可以以列表的形式展示所有收藏的查询语句,方便用户进行查看和选择,避免重复编程,提高用户数据查询效率。
如图4所示,在该实施例中,所述S200:从所述数据查询请求中解析得到用户的查询语句和执行引擎类型,包括如下步骤:
S210:从所述数据查询请求中解析得到用户的查询语句;
S220:判断所述数据查询请求中是否存在用户选择的执行引擎类型;
S230:如果是,即用户根据SQL语法特性、查询时效、集群资源情况选择了合适的执行引擎类型,则从所述数据查询请求中解析得到执行引擎类型;
用户在选择执行引擎类型时,可以选择自己熟悉的语法所对应的引擎类型,也可以查看各个计算引擎所对应的集群资源情况和计算速度,根据自己对时效的要求选择合适的引擎。
S240:如果否,则根据预设的引擎匹配规则,选择与所述查询语句相匹配的执行引擎类型。
其中,预设的引擎匹配规则可以是用户预先定义的执行引擎选择的规则。例如,可以根据资源占用量进行匹配,如果所述查询语句的资源占用量大于预设阈值,则选择当前集群剩余资源最多的执行引擎;又例如,可以对SQL查询语句中的语法和函数进行分析,确定语法和函数所匹配的执行引擎;又例如,当用户对查询时效要求很高时,即要求查询时间小于预设时间阈值时,选择当前任务列表中剩余任务最少的执行引擎。
如图5所示,本发明实施例还提供一种数据查询平台,应用于所述的数据查询方法,所述平台包括:
用户交互模块M100,用于接收用户的数据查询请求,以及在查询完成后将查询结果推送至用户,其对应于上述的前端展示层;
任务执行模块M200,用于从所述数据查询请求中解析得到用户的查询语句和执行引擎类型,并将所述用户的查询语句提交至所对应的执行引擎执行,以及从所述执行引擎中获取查询结果,其对应于上述的业务逻辑层和数据交互层。
本发明通过用户交互模块M100与数据查询用户交互而获取用户的数据查询请求,通过任务执行模块M200,基于多种执行引擎实现数据查询,为用户提供更多种引擎选择,并自动获取查询结果后通过用户交互模块 M100推送给用户。进一步地,由于提供了多种执行查询任务的计算引擎,在执行失败时可以选择其他引擎执行,提高了数据查询成功率。
如图6所示,为本发明一实施例的数据查询平台功能实现的示意图。其中,本发明进一步提供了数据存储模块M700,用于存储各种元数据。对应于上述步骤S500,该数据查询平台进一步提供了个人统计查询模块 M300,其对应于上述的数据交互层,与本地的数据存储模块M700中执行数据库进行交互。在实现个人统计查询功能时,用户在浏览器中提交个人统计查询请求,所述数据查询平台通过用户交互模块M100接收到用户的个人统计查询请求之后,所述个人统计查询模块M300解析所述个人统计查询请求得到用户信息和统计类型,然后从执行数据库中查询与用户信息相关联的执行数据,根据统计类型所对应的统计规则,采用执行数据计算得到统计类型所对应的统计数据,然后通过用户交互模块M100将计算得到的统计数据推送至用户。
对应于步骤S600查询语句查看,该数据查询平台进一步包括查询语句查看模块M400,其对应于上述的数据交互层,在实现查询语句查看功能时,用户在浏览器中提交查询语句查看请求,所述数据查询平台通过用户交互模块M100接收到查询语句查看请求时,所述查询语句查看模块 M400用于从所述数据存储模块M700的执行数据库中获取执行成功的查询语句,并将获取到的查询语句通过所述用户交互模块M100展示给用户。
对应于步骤S432中的语句语法查询,该数据查询平台进一步包括语法查询模块M500,其对应于上述的数据交互层,在实现语句语法查询功能时,所述语法查询模块M500根据异常查询中异常语法,从数据存储模块M700的语句语法库中查询到语法含义,并通过所述用户交互模块M100 展示给用户。
对应于步骤S431中的库表查询该数据查询平台进一步包括库表查询模块M600,其对应于上述的数据交互层,在实现语句语法查询功能时,所述库表查询模块M600根据异常查询中库表名称,从数据存储模块M700 的库表信息库中查询到库表信息,并通过所述用户交互模块M100展示给用户。
数据查询平台的后端主要使用Spring Boot+Mybatis技术进行业务逻辑开发,Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain OrdinaryJava Object,普通的Java对象)映射成数据库中的记录。后端大体上分为三个模块:common模块、job模块、 web模块。Web模块主要是跟前端展示层交互提供用户交互模块,通过前端界面进行的点击和输入事件获得用户的请求信息。Common模块主要是一些通用的工具类、项目中使用的常量及配置信息等。Job模块则主要根据用户提交的任务信息,最终在拼接程相应的.properties配置文件以及.sh 的执行脚本,并通过jdk自带的ProcessBuilder启动相应的线程,执行任务。
本发明实施例还提供一种数据查询设备,包括处理器;存储器,其中存在所述处理器的可进行指令;其中,所述处理器配置为经由进行所述可进行指令来进行所述的数据查询方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为平台、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“平台”。
下面参照图7来描述根据本发明的这种实施方式的电子设备600。图 7显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备600以通用计算设备的形式表现。电子设备 600的组合可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组合(包括存储单元620和处理单元610)的总线 630、显示单元640等。
其中,所述存储单元存在程序代码,所述程序代码可以被所述处理单元610进行,使得所述处理单元610进行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以进行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205 的程序/实用工具6204,这样的程序模块6205包括但不限于:操作平台、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备 600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID平台、磁带驱动器以及数据备份存储平台等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被进行时实现所述的数据查询方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备进行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令进行平台、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的平台、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令进行平台、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于进行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上进行、部分地在用户设备上进行、作为一个独立的软件包进行、部分在用户计算设备上部分在远程计算设备上进行、或者完全在远程计算设备或服务器上进行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,与现有技术相比,本发明所提供的数据查询方法、平台、设备及存储介质具有下列优点:
本发明解决了现有技术中的问题,基于多种执行引擎实现数据查询,为用户提供更多种引擎选择,进一步地,由于提供了多种执行查询任务的计算引擎,在执行失败时可以选择其他引擎执行,提高了数据查询成功率。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种数据查询方法,其特征在于,所述方法包括如下步骤:
接收到用户的数据查询请求;
从所述数据查询请求中解析得到用户的查询语句和执行引擎类型;
将所述用户的查询语句提交至所对应的执行引擎执行;
从所述执行引擎中获取查询结果并推送至用户。
2.根据权利要求1所述的数据查询方法,其特征在于,所述从所述执行引擎中获取查询结果,还包括如下步骤:
判断所述执行引擎是否返回查询结果;
如果是,则执行成功,将所述查询结果推送至用户;
如果否,则执行异常,判断执行异常类型,将执行异常通知和执行异常类型推送至用户。
3.根据权利要求2所述的数据查询方法,其特征在于,所述判断执行异常类型之后,还包括如下步骤:
如果所述执行异常类型为库表使用异常,则从库表信息库中查询异常库表的库表信息,将执行异常通知、库表使用异常类型和库表信息推送至用户;
如果所述执行异常类型为语句语法异常,则从语法信息库中查询异常语法所对应的语法含义,将执行异常通知、语句语法异常类型和语法含义推送至用户。
4.根据权利要求2所述的数据查询方法,其特征在于,所述判断执行异常类型之后,还包括如下步骤:
如果所述执行异常类型为函数解析异常,则根据异常函数的类型选择匹配的执行引擎,将所述查询语句提交至新选择的执行引擎执行。
5.根据权利要求2所述的数据查询方法,其特征在于,所述判断所述执行引擎是否返回查询结果之后,还包括如下步骤:
如果是,则将此次查询所对应的用户信息、查询语句和查询过程数据作为此次查询的执行数据,存储于执行数据库;
如果否,则将此次查询所对应的用户信息和执行异常类型作为此次查询的执行数据,并存储于执行数据库。
6.根据权利要求5所述的数据查询方法,其特征在于,所述方法还包括如下步骤:
接收到用户的个人统计查询请求,解析得到用户信息和统计类型;
从所述执行数据库查询与所述用户信息相关联的执行数据;
根据所述统计类型所对应的统计规则,采用所述执行数据计算得到所述统计类型所对应的统计数据;
将计算得到的统计数据推送至用户。
7.根据权利要求5所述的数据查询方法,其特征在于,所述方法还包括如下步骤:
接收到用户的查询语句查看请求;
从所述执行数据库中获取执行成功的查询语句,并将获取到的查询语句展示给用户。
8.根据权利要求1所述的数据查询方法,其特征在于,所述从所述数据查询请求中解析得到用户的查询语句和执行引擎类型,包括如下步骤:
从所述数据查询请求中解析得到用户的查询语句;
判断所述数据查询请求中是否存在用户选择的执行引擎类型;
如果是,则从所述数据查询请求中解析得到执行引擎类型;
如果否,则根据预设的引擎匹配规则,选择与所述查询语句相匹配的执行引擎类型。
9.一种数据查询平台,其特征在于,应用于权利要求1至8中任一项所述的数据查询方法,所述平台包括:
用户交互模块,用于接收用户的数据查询请求,以及在查询完成后将查询结果推送至用户;
任务执行模块,用于从所述数据查询请求中解析得到用户的查询语句和执行引擎类型,并将所述用户的查询语句提交至所对应的执行引擎执行,以及从所述执行引擎中获取查询结果。
10.一种数据查询设备,其特征在于,包括:
处理器;
存储器,其中存在所述处理器的可进行指令;
其中,所述处理器配置为经由进行所述可进行指令来进行权利要求1至8中任一项所述的数据查询方法的步骤。
11.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被进行时实现权利要求1至8中任一项所述的数据查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120481.9A CN110825767A (zh) | 2019-11-15 | 2019-11-15 | 数据查询方法、平台、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120481.9A CN110825767A (zh) | 2019-11-15 | 2019-11-15 | 数据查询方法、平台、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825767A true CN110825767A (zh) | 2020-02-21 |
Family
ID=69555951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120481.9A Pending CN110825767A (zh) | 2019-11-15 | 2019-11-15 | 数据查询方法、平台、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825767A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416964A (zh) * | 2020-11-17 | 2021-02-26 | 深圳依时货拉拉科技有限公司 | 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质 |
CN112463796A (zh) * | 2020-11-26 | 2021-03-09 | 重庆回形针信息技术有限公司 | 一种数据库接口转换系统 |
CN112463867A (zh) * | 2020-11-26 | 2021-03-09 | 重庆回形针信息技术有限公司 | 一种数据库接口可视化协议配置方法 |
CN112612556A (zh) * | 2020-12-24 | 2021-04-06 | 江苏满运物流信息有限公司 | 中台执行链路生成方法、系统、设备及存储介质 |
CN113568927A (zh) * | 2021-06-24 | 2021-10-29 | 华控清交信息科技(北京)有限公司 | 数据处理系统、方法、数据库引擎及用于数据处理的装置 |
CN113568931A (zh) * | 2020-04-29 | 2021-10-29 | 盛趣信息技术(上海)有限公司 | 一种数据访问请求的路由解析系统及方法 |
CN113641487A (zh) * | 2021-07-06 | 2021-11-12 | 多点生活(成都)科技有限公司 | 一种大数据平台sql任务执行引擎智能自动切换的方法 |
CN113704286A (zh) * | 2020-05-20 | 2021-11-26 | 中国移动通信集团重庆有限公司 | 引擎选择方法、装置及计算设备 |
CN114357276A (zh) * | 2021-12-23 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
CN114416601A (zh) * | 2022-03-30 | 2022-04-29 | 南京赛宁信息技术有限公司 | 一种网络安全信息采集引擎和任务管理系统与方法 |
CN114610746A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 一种多关系型数据引擎的sql合并执行系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160098448A1 (en) * | 2014-10-06 | 2016-04-07 | Alan McShane | Dynamic database query efficiency improvement |
CN105956139A (zh) * | 2016-05-12 | 2016-09-21 | 国电南瑞科技股份有限公司 | 一种数据库双机同步的方法 |
CN108549683A (zh) * | 2018-04-03 | 2018-09-18 | 联想(北京)有限公司 | 数据查询方法以及系统 |
CN109033123A (zh) * | 2018-05-31 | 2018-12-18 | 康键信息技术(深圳)有限公司 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
CN110222072A (zh) * | 2019-06-06 | 2019-09-10 | 江苏满运软件科技有限公司 | 数据查询平台、方法、设备和存储介质 |
-
2019
- 2019-11-15 CN CN201911120481.9A patent/CN110825767A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160098448A1 (en) * | 2014-10-06 | 2016-04-07 | Alan McShane | Dynamic database query efficiency improvement |
CN105956139A (zh) * | 2016-05-12 | 2016-09-21 | 国电南瑞科技股份有限公司 | 一种数据库双机同步的方法 |
CN108549683A (zh) * | 2018-04-03 | 2018-09-18 | 联想(北京)有限公司 | 数据查询方法以及系统 |
CN109033123A (zh) * | 2018-05-31 | 2018-12-18 | 康键信息技术(深圳)有限公司 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
CN110222072A (zh) * | 2019-06-06 | 2019-09-10 | 江苏满运软件科技有限公司 | 数据查询平台、方法、设备和存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568931A (zh) * | 2020-04-29 | 2021-10-29 | 盛趣信息技术(上海)有限公司 | 一种数据访问请求的路由解析系统及方法 |
CN113704286A (zh) * | 2020-05-20 | 2021-11-26 | 中国移动通信集团重庆有限公司 | 引擎选择方法、装置及计算设备 |
CN112416964A (zh) * | 2020-11-17 | 2021-02-26 | 深圳依时货拉拉科技有限公司 | 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质 |
CN112463796A (zh) * | 2020-11-26 | 2021-03-09 | 重庆回形针信息技术有限公司 | 一种数据库接口转换系统 |
CN112463867A (zh) * | 2020-11-26 | 2021-03-09 | 重庆回形针信息技术有限公司 | 一种数据库接口可视化协议配置方法 |
CN112612556B (zh) * | 2020-12-24 | 2022-07-15 | 江苏满运物流信息有限公司 | 中台执行链路生成方法、系统、设备及存储介质 |
CN112612556A (zh) * | 2020-12-24 | 2021-04-06 | 江苏满运物流信息有限公司 | 中台执行链路生成方法、系统、设备及存储介质 |
CN113568927A (zh) * | 2021-06-24 | 2021-10-29 | 华控清交信息科技(北京)有限公司 | 数据处理系统、方法、数据库引擎及用于数据处理的装置 |
CN113568927B (zh) * | 2021-06-24 | 2024-03-29 | 华控清交信息科技(北京)有限公司 | 数据处理系统、方法、数据库引擎及用于数据处理的装置 |
CN113641487A (zh) * | 2021-07-06 | 2021-11-12 | 多点生活(成都)科技有限公司 | 一种大数据平台sql任务执行引擎智能自动切换的方法 |
CN114357276B (zh) * | 2021-12-23 | 2023-08-22 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
CN114357276A (zh) * | 2021-12-23 | 2022-04-15 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及存储介质 |
CN114610746A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 一种多关系型数据引擎的sql合并执行系统及方法 |
CN114416601A (zh) * | 2022-03-30 | 2022-04-29 | 南京赛宁信息技术有限公司 | 一种网络安全信息采集引擎和任务管理系统与方法 |
CN114416601B (zh) * | 2022-03-30 | 2022-07-19 | 南京赛宁信息技术有限公司 | 一种网络安全信息采集引擎和任务管理系统与方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825767A (zh) | 数据查询方法、平台、设备及存储介质 | |
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
US10394925B2 (en) | Automating web tasks based on web browsing histories and user actions | |
US9930113B2 (en) | Data retrieval via a telecommunication network | |
CN108694221B (zh) | 数据实时分析方法、模块、设备和装置 | |
CN113312377A (zh) | 一种自动关联的sql查询语句处理方法、装置和电子设备 | |
JP2012113706A (ja) | データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム | |
CN111221871A (zh) | 实时查询任务发布方法、平台、设备及存储介质 | |
CN113051514A (zh) | 元素的定位方法、装置、电子设备及存储介质 | |
CN110851514B (zh) | 基于flink的etl处理方法 | |
CN113297057A (zh) | 内存分析方法、装置及系统 | |
CN113609008A (zh) | 测试结果分析方法、装置和电子设备 | |
CN113326261A (zh) | 数据血缘关系提取方法、装置及电子设备 | |
CN112818070A (zh) | 基于全域数据字典的数据查询方法、装置及电子设备 | |
CN111753164A (zh) | 链路事件引导方法、装置、电子设备及存储介质 | |
CN113792138B (zh) | 报表生成方法、装置、电子设备及存储介质 | |
CN115292313A (zh) | 一种伪列实现方法、装置、电子设备及存储介质 | |
US8880586B2 (en) | Metadata subscription registry | |
CN114090514A (zh) | 分布式系统的日志检索方法及装置 | |
CN114238391A (zh) | 数据分页查询方法、装置、电子设备及存储介质 | |
EP2990960A1 (en) | Data retrieval via a telecommunication network | |
CN110716949A (zh) | 结构化查询语句自动优化方法、装置、介质及电子设备 | |
CN110750569A (zh) | 数据提取方法、装置、设备及存储介质 | |
CN111222918A (zh) | 关键词挖掘方法、装置、电子设备及存储介质 | |
CN112527880B (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: 20200221 |
|
RJ01 | Rejection of invention patent application after publication |