CN111143399B - 数据处理方法、装置、存储介质和计算机设备 - Google Patents
数据处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN111143399B CN111143399B CN201911314975.0A CN201911314975A CN111143399B CN 111143399 B CN111143399 B CN 111143399B CN 201911314975 A CN201911314975 A CN 201911314975A CN 111143399 B CN111143399 B CN 111143399B
- Authority
- CN
- China
- Prior art keywords
- structured query
- query statement
- category
- target
- statement
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000011144 upstream manufacturing Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000013475 authorization Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000003442 weekly effect Effects 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/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/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理方法、装置、存储介质和计算机设备,方法包括:接收结构化查询语句;识别结构化查询语句的类别;根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。本申请提供的方案提高了数据处理的效率。
Description
技术领域
本申请涉及计算机互联网技术领域,特别是涉及一种数据处理方法、装置、存储介质和计算机设备。
背景技术
数据仓库是一个面向主题的、集成的、随时间变化的、但信息本身相对稳定的数据集合,其主要用于数据挖掘、分析。在传统的数据仓库的处理过程中,开发人员编写shell文件,完成SQL(Structured Query Language,结构化查询语言)任务执行提交。但是,每个SQL的执行都需要shell文件,且当部分功能需要统一增加时,需要更改每个相关的shell文件,这导致数据处理的效率低下。
发明内容
基于此,有必要针对传统的数据处理方法存在效率低下的技术问题,提供一种数据处理方法、装置、存储介质和计算机设备。
一种数据处理方法,包括:
接收结构化查询语句;
识别结构化查询语句的类别;
根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;
调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。
一种数据处理装置,包括:
接收模块,用于接收结构化查询语句;
识别模块,用于识别结构化查询语句的类别;
处理模块,用于根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;
执行模块,用于调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。
一种存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据处理方法的步骤。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行数据处理方法的步骤。
上述数据处理方法、装置、存储介质和计算机设备,接收结构化查询语句,识别结构化查询语句的类别,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。这样,自动识别结构化查询语句的类别,调用与类别对应的引擎来执行,并且,同时调度不同类别的结构化查询语句进行处理,提高了数据处理的效率。
附图说明
图1为一个实施例中用于实现数据处理方法的应用环境图;
图2为一个实施例中数据处理方法的流程示意图;
图3为另一个实施例中数据处理方法的流程示意图;
图4为一个实施例中执行第一目标结构化查询语句的细化流程示意图;
图5为另一个实施例中执行第一目标结构化查询语句的细化流程示意图;
图6为又一个实施例中数据处理方法的流程示意图;
图7为一个实施例中数据处理方法的应用环境图;
图8为另一个实施例中数据处理装置的结构框图;
图9为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中数据处理方法的应用环境图,该数据处理方法可应用于数据处理系统,该数据处理系统可包括数据仓库110。数据仓库110接收开发人员编写的结构化查询语句,识别结构化查询语句的类别,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句,并将执行结果通过日志或者提示信息返回给开发人员。
在一个实施例中,如图2所示,提供了一种数据处理方法。参照图2,该数据处理方法具体包括如下步骤:
步骤202,接收结构化查询语句。
其中,结构化查询语句可为SQL(Structured Query Language)语句、Python脚本等等。
具体地,开发人员编写结构化查询语句,将结构化查询语句提交至预设目录,该预设目录专门用于存储结构化查询语句文件。可选地,该预设目录为数据仓库中的目录。数据仓库中包含大量的表,每个表可能由多个结构化查询语句生成,通过目录的形式组织管理数据仓库中的结构化查询语句文件,实现数据仓库中数据的有序管理。
步骤204,识别结构化查询语句的类别。
结构化查询语句的类别是指,结构化查询语句对应的对象的类别。该结构化查询语句的类别可以是数据仓库工具类别,比如Hive类别、Presto类别等,也可以是数据库类别,比如MySQL类别、Oracle类别等。
可根据结构化查询语句的标识信息识别结构化查询语句的类别,该标识信息可为结构化查询语句的名称。比如结构化查询语句的名称的固定前缀用于表征该结构化查询语句的类别,因此可根据结构化查询语句的名称的固定前缀来确定结构化查询语句的类别。
步骤206,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句。
其中,第一目标结构化查询语句是指,根据结构化查询语句所属的类别进行处理得到的结构化查询语句。
具体地,可针对结构化查询语句所属的类别,对结构化查询语句进行处理。可选地,当结构化查询语句所属的类别为Hive类别时,可对结构化查询语句进行分组处理;当结构化查询语句所属的类别为Presto类别、MySQL类别时,可对结构化查询语句不做操作。
步骤208,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。
其中,引擎用于执行结构化查询语句,引擎与结构化查询语句的类别相对应,即若结构化查询语句的类别为Hive,对应的,需要调用Hive引擎来执行该结构化查询语句;若结构化查询语句的类别为Presto,对应的,需要调用Presto引擎来执行该结构化查询语句;若结构化查询语句的类别为MySQL,对应的,需要调用MySQL引擎来执行该结构化查询语句。
上述数据处理方法,接收结构化查询语句,识别结构化查询语句的类别,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。这样,自动识别结构化查询语句的类别,调用与类别对应的引擎来执行,并且,同时调度不同类别的结构化查询语句进行处理,提高了数据处理的效率。
在一个实施例中,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句,包括:当结构化查询语句所属的类别为Hive,且Hive为预设属性时,对结构化查询语句进行分组处理,得到第一目标结构化查询语句。
其中,Hive有一些属性,这些属性的设定只在一个连接内生效,如果连接断开需要重新设定;并且,这些属性只有在创建连接时才可以设定,连接一旦创建了,就没有办法修改。预设属性即具备上述特质。
在一个结构化查询语句文件中,多个结构化查询语句穿插着不同的设定,可将相同设定的结构化查询语句划分至一组进行处理,以实现设定生效。
比如,Hive有一个属性为set mapreduce.job.name,结构化查询语句文件中的结构化查询语句分别为:a、b、c;需要执行的效果是:执行结构化查询语句a、b的时候,要求job名称为abc,执行结构化查询语句c的时候,要求job名称为ccc。可将结构化查询语句a、b作为一组,结构化查询语句c作为一组,通过Hive引擎执行,过程如下:对于分组a、b,建立一个新连接,给连接设置:set mapreduce.job.name=abc,用这个连接执行结构化查询语句a、b,执行完成后关闭这个连接;对于分组c,建立一个新连接,给连接设置:setmapreduce.job.name=ccc,用这个连接执行结构化查询语句c,执行完成后关闭这个连接。
上述数据处理方法,当结构化查询语句所属的类别为Hive,且Hive为预设属性时,对结构化查询语句进行分组处理,实现针对Hive的预设属性,通过分组处理,实现该属性的设定生效。
在一个实施例中,如图3所示,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句之前,方法还包括:
步骤302,识别第一目标结构化查询语句的变量参数。
其中,变量参数是指结构化查询语句中动态的查询条件。以结构化查询语句是查询一定时间范围的报表为例,该时间范围可为一天、一个月、两个月等,该时间范围即为变量参数。变量参数可为一些业务指标,比如时间、日、周、月等。
变量参数可包括自定义参数和固定可选参数。自定义参数是指开发人员自主定制的参数,固定可选参数是指平台提供的可选的参数。比如,查询两个月的报表,该项可为固定可选参数,而查询本年内周数为单数的报表,平台默认没有该项需求,需要开发人员进行定制,可为自定义参数。
步骤304,当第一目标结构化查询语句的变量参数为自定义参数时,将自定义参数转换为结构化查询语句,得到第二目标结构化查询语句。其中,第二目标结构化查询语句是指,根据结构化查询语句的变量参数进行处理得到的结构化查询语句。
其中,自定义参数可包括两种:一种是关键字(比如{xxx});另一种是基于Python脚本的关键字(比如{func_xxx})。由于引擎可能不能识别Python脚本,因此需要将自定义参数转换为结构化查询语句。
在一个实施例中,获取自定义参数的参数值,根据参数值更新第一目标结构化查询语句,得到第二目标结构化查询语句。针对关键字,需要在引擎执行结构化查询语句时传入这个关键字的值;针对基于Python脚本的关键字,需要执行该脚本,得到该关键字的值,并在引擎执行结构化查询语句时传入这个关键字的值。该关键字的值可以是字符串。这样,获取自定义参数中的关键字的值,通过变量替换的方式,将关键字的值和SQL语句结合使用,提高了系统的兼容性。
步骤306,调用与结构化查询语句的类别对应的引擎,执行第二目标结构化查询语句。
本实施例中,识别结构化查询语句的类别的步骤,与识别第一目标结构化查询语句的变量参数的步骤,其先后顺序不做限定,即也可在接收结构化查询语句时,先识别结构化查询语句的变量参数,当结构化查询语句的变量参数为自定义参数时,将自定义参数转换为结构化查询语句;再识别结构化查询语句的类别,根据结构化查询语句所属的类别进行处理;最后调用与结构化查询语句的类别对应的引擎进行执行。
上述数据处理方法,识别第一目标结构化查询语句的变量参数,当第一目标结构化查询语句的变量参数为自定义参数时,将自定义参数转换为结构化查询语句,得到第二目标结构化查询语句,这样,通过变量替换的方式,将关键字的值和SQL语句结合使用,提高了系统的兼容性。
在一个实施例中,识别结构化查询语句的类别之前,还包括:接收结构化查询语句的认证令牌,认证令牌用于对结构化查询语句进行鉴权操作。
其中,认证令牌可由计算机网络授权协议中心来颁发,比如Kerberos。
具体地,通过认证信息向计算机网络授权协议中心发起请求;计算机网络授权协议中心生成认证令牌;接收认证令牌,当调用与结构化查询语句的类别对应的引擎时,检测认证令牌是否失效、是否合法,当鉴权通过时,执行第一目标结构化查询语句。
在一个实施例中,以认证令牌为例,简述验证过程:
首先,通过认证信息向计算机网络授权协议中心发起请求,该认证信息可包括输入该结构化查询语句的客户端标识(比如开发人员的用户名),以及该结构化查询语句对应的对象标识(比如Hive、Presto、MySQL等);计算机网络授权协议中心生成授权密码,并且生成两个票据——第一票据和第二票据,第一票据的票据内容(票据内容中包括授权密码)利用客户端密码进行加密,第二票据的票据内容(票据内容中包括授权密码)利用对象密码进行加密,该第一票据和第二票据即为认证令牌。
然后,接收认证令牌,利用客户端密码解密第一票据,得到授权密码,根据授权密码生成认证因子,该认证因子包括当前时间的时间戳以及第二票据的验证码,该认证因子用授权密码进行加密。
进一步地,当调用引擎执行时,将认证因子和第二票据发送给引擎,引擎利用对象密码解密第二票据,得到授权密码,利用授权密码解密认证因子,并做如下检查:检查时间戳是否过期、检查第二票据的验证码是否正确等。若正确,则鉴权通过。
上述数据处理方法,接收结构化查询语句的认证令牌,以在执行该结构化查询语句时,对结构化查询语句的合法性进行校验。
在一个实施例中,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句之前,还包括:对第一目标结构化查询语句进行鉴权操作,当鉴权通过时,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。
其中,鉴权操作可通过多种方式实现,比如:检测认证令牌和/或核对账号密码等。可选地,结构化查询语句对应的对象不同,鉴权操作也可以不同。比如,针对Hive,可采用认证令牌的方式进行鉴权,针对Presto,可采用账号密码的方式进行鉴权。
针对同一个客户端标识,不同的进程可以共享鉴权结果。比如,同一客户端标识上传的结构化查询语句文件,其中一结构化查询语句鉴权通过,该结构化查询语句文件中其它的结构化查询语句也视为鉴权通过。
上述数据处理方法,在执行第一目标结构化查询语句之前,对第一目标结构化查询语句进行鉴权操作,当鉴权通过时,执行第一目标结构化查询语句,保证了执行操作的合法性。
在一个实施例中,如图4所示,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句,包括:
步骤402,调用与结构化查询语句的类别对应的引擎,获取第一目标结构化查询语句的操作类型以及操作对象;
其中,操作类型包括查询和创建更新,创建更新又可包括增加、删除、更改等。操作类型可通过第一目标结构化查询语句的关键字符信息确定,比如结构化查询语句中,select-查询,create table-创建,insert-插入,alter-修改。可按行识别第一目标结构化查询语句的关键字符信息。
其中,操作对象是指来源表标识、目标表标识等。
步骤404,按照操作类型对操作对象进行操作。
如果是查询操作,可根据第一目标结构化查询语句的变量参数确定操作内容,比如{yester_day}、{this_week}等确定日报、周报、月报等,进行查询操作。如果是创建更新,需要检测操作对象的前置数据是否执行完成,若执行完成,则按照操作类型对操作对象进行操作。
在调用引擎执行第一目标结构化查询语句的过程中,创建引擎的远程连接,对执行过程进行健康检查,比如监控执行是否超时、执行结果是否存在等。Hive结构化查询语句被分组后,同一组共享一个连接。
上述数据处理方法,调用与结构化查询语句的类别对应的引擎,获取第一目标结构化查询语句的操作类型以及操作对象,按照操作类型对操作对象进行操作,这样,调度不同类别的结构化查询语句进行处理,提高了数据处理的效率。
在一个实施例中,如图5所示,按照操作类型对操作对象进行操作之前,包括:
步骤502,获取第一目标结构化查询语句的上游信息以及上游信息的操作类型;
在串联执行过程中,数据的产出是相互依赖的,例如A、B、C三张表,A为数据源,SQL语句1通过读取A里面的数据生成表B,SQL语句2通过读取表B里面的数据生成表C,那么SQL语句1、SQL语句2为上下游依赖关系,SQL语句1为SQL语句2的上游信息,SQL语句2为SQL语句1的下游信息。
步骤504,根据上游信息以及上游信息的操作类型,检测第一目标结构化查询语句的前置数据是否可执行;
其中,前置数据是指,第一目标结构化查询语句的上游信息所对应的操作对象。
当上游信息的操作类型为创建更新操作时,那么需要等到上游信息执行完成,前置数据才可执行;当上游信息的操作类型为查询时,那么不用等到上游信息执行完成,前置信息均可执行。
步骤506,若前置数据可执行,按照第一目标结构化查询语句的操作类型对操作对象进行操作。
具体地,不仅可对前置数据进行检测,也可对下游信息、后置数据进行检测。比如,若下游信息出现异常,上游信息可停止执行。
上述数据处理方法,获取第一目标结构化查询语句的上游信息以及上游信息的操作类型,根据上游信息以及上游信息的操作类型,判断第一目标结构化查询语句的前置数据是否可执行,若前置数据可执行,按照第一目标结构化查询语句的操作类型对操作对象进行操作,在执行过程中进行上下游依赖检查,实现数据处理的有序性。
在一个实施例中,如图6所示,方法还包括:
步骤602,检测执行结果是否满足告警条件;
执行结果可包括执行成功和执行失败,当执行结果为失败时,判定执行结果满足告警条件。
当执行成功时,开发人员可通过日志获取执行结果。
步骤604,若执行结果满足告警条件,输出提示信息至发起结构化查询语句的终端。
执行失败可包括多种情况,比如:该结构化查询语句的前置数据阻塞执行,该结构化查询语句的下游信息检测失败,该结构化查询语句的执行中断等。
提示信息可为文字或者语音的形式。提示信息中可包括执行失败的原因、时间等信息。可选地,将提示信息发送至企业微信。
上述数据处理方法,检测执行结果是否满足告警条件,若执行结果满足告警条件,输出提示信息至发起结构化查询语句的终端,实现及时将执行失败的情况告知开发人员。
在一个实施例中,如图7所示,提供了一种数据处理方法,该数据处理方法应用于数据仓库,包括:
首先,接收结构化查询语句,接收结构化查询语句的认证令牌,认证令牌用于对结构化查询语句进行鉴权操作;
接着,识别结构化查询语句的类别,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;
接着,识别第一目标结构化查询语句的变量参数,当第一目标结构化查询语句的变量参数为自定义参数时,将自定义参数转换为结构化查询语句,得到第二目标结构化查询语句;
进一步地,对第一目标结构化查询语句进行鉴权操作,当鉴权通过时,调用与结构化查询语句的类别对应的引擎,执行第二目标结构化查询语句;
可选地,在执行过程中进行健康检查、上下游依赖检查;
进一步地,检测执行结果是否满足告警条件,若执行结果满足告警条件,输出提示信息至发起结构化查询语句的终端。
图2-图6为一个实施例中数据处理方法的流程示意图。应该理解的是,虽然图2-图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据处理装置800,包括:接收模块802、识别模块804、处理模块806和执行模块808。其中,
接收模块802,用于接收结构化查询语句;
识别模块804,用于识别结构化查询语句的类别;
处理模块806,用于根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;
执行模块808,用于调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。
上述数据处理装置800,接收结构化查询语句,识别结构化查询语句的类别,根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句,调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句。这样,自动识别结构化查询语句的类别,调用与类别对应的引擎来执行,并且,同时调度不同类别的结构化查询语句进行处理,提高了数据处理的效率。
在一个实施例中,处理模块806,还用于:当结构化查询语句所属的类别为Hive,且Hive为预设属性时,对结构化查询语句进行分组处理,得到第一目标结构化查询语句。
上述数据处理装置800,当结构化查询语句所属的类别为Hive,且Hive为预设属性时,对结构化查询语句进行分组处理,实现针对Hive的预设属性,通过分组处理,实现该属性的设定生效。
在一个实施例中,数据处理装置800还包括转换模块,识别模块804,还用于:识别第一目标结构化查询语句的变量参数;转换模块,用于:当第一目标结构化查询语句的变量参数为自定义参数时,将自定义参数转换为结构化查询语句,得到第二目标结构化查询语句;执行模块808,还用于:调用与结构化查询语句的类别对应的引擎,执行第二目标结构化查询语句。
上述数据处理装置800,识别第一目标结构化查询语句的变量参数,当第一目标结构化查询语句的变量参数为自定义参数时,将自定义参数转换为结构化查询语句,得到第二目标结构化查询语句,这样,通过变量替换的方式,将关键字的值和SQL语句结合使用,提高了系统的兼容性。
转换模块,还用于:获取自定义参数的参数值;根据参数值更新第一目标结构化查询语句,得到第二目标结构化查询语句。
上述数据处理装置800,获取自定义参数中的关键字的值,通过变量替换的方式,将关键字的值和SQL语句结合使用,提高了系统的兼容性。
在一个实施例中,接收模块802,还用于:接收结构化查询语句的认证令牌,认证令牌用于对结构化查询语句进行鉴权操作。
上述数据处理装置800,接收结构化查询语句的认证令牌,以在执行该结构化查询语句时,对结构化查询语句的合法性进行校验。
在一个实施例中,数据处理装置800还包括鉴权模块,鉴权模块,用于:对第一目标结构化查询语句进行鉴权操作;执行模块808,还用于:当鉴权通过时,执行调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句的步骤。
上述数据处理装置800,在执行第一目标结构化查询语句之前,对第一目标结构化查询语句进行鉴权操作,当鉴权通过时,执行第一目标结构化查询语句,保证了执行操作的合法性。
在一个实施例中,执行模块808,还用于:调用与结构化查询语句的类别对应的引擎,获取第一目标结构化查询语句的操作类型以及操作对象;按照操作类型对操作对象进行操作。
上述数据处理装置800,调用与结构化查询语句的类别对应的引擎,获取第一目标结构化查询语句的操作类型以及操作对象,按照操作类型对操作对象进行操作,这样,调度不同类别的结构化查询语句进行处理,提高了数据处理的效率。
在一个实施例中,数据处理装置800还包括获取模块和判断模块,获取模块,用于:获取第一目标结构化查询语句的上游信息以及上游信息的操作类型;判断模块,用于:根据上游信息以及上游信息的操作类型,判断第一目标结构化查询语句的前置数据是否可执行;执行模块808,还用于:若前置数据可执行,执行按照操作类型对操作对象进行操作的步骤。
上述数据处理装置800,获取第一目标结构化查询语句的上游信息以及上游信息的操作类型,根据上游信息以及上游信息的操作类型,判断第一目标结构化查询语句的前置数据是否可执行,若前置数据可执行,按照第一目标结构化查询语句的操作类型对操作对象进行操作,在执行过程中进行上下游依赖检查,实现数据处理的有序性。
在一个实施例中,数据处理装置800还包括检测模块和输出模块,检测模块,用于:检测执行结果是否满足告警条件;输出模块,用于:若执行结果满足告警条件,输出提示信息至发起结构化查询语句的终端。
上述数据处理装置800,检测执行结果是否满足告警条件,若执行结果满足告警条件,输出提示信息至发起结构化查询语句的终端,实现及时将执行失败的情况告知开发人员。
图9示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的数据仓库110。如图9所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据处理方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的数据处理装置可以实现为一种计算机程序的形式,计算机程序可在如图9所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据处理装置的各个程序模块,比如,图9所示的接收模块902、识别模块904、处理模块906和执行模块909。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据处理方法中的步骤。
例如,图9所示的计算机设备可以通过如图9所示的数据处理装置中的接收模块902执行接收结构化查询语句的步骤。计算机设备可通过识别模块904执行识别结构化查询语句的类别的步骤。计算机设备可通过处理模块806执行根据结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句的步骤。计算机设备可通过执行模块808执行调用与结构化查询语句的类别对应的引擎,执行第一目标结构化查询语句的步骤。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据处理方法的步骤。此处数据处理方法的步骤可以是上述各个实施例的数据处理方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述数据处理方法的步骤。此处数据处理方法的步骤可以是上述各个实施例的数据处理方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种数据处理方法,包括:
接收结构化查询语句;
识别所述结构化查询语句的类别;所述类别为数据仓库工具类别;
根据所述结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;所述第一目标结构化查询语句是指,根据结构化查询语句所属的类别进行处理得到的结构化查询语句;
识别所述第一目标结构化查询语句的变量参数;当所述第一目标结构化查询语句的变量参数为自定义参数时,将所述自定义参数转换为结构化查询语句,得到第二目标结构化查询语句;
调用与所述结构化查询语句的类别对应的引擎,执行所述第二目标结构化查询语句。
2.根据权利要求1所述的方法,其特征在于,所述根据所述结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句,包括:
当所述结构化查询语句所属的类别为Hive,且Hive为预设属性时,对所述结构化查询语句进行分组处理,得到所述第一目标结构化查询语句。
3.根据权利要求1所述的方法,其特征在于,所述识别所述结构化查询语句的类别,包括:
根据所述结构化查询语句的名称的固定前缀来确定所述结构化查询语句的类别。
4.根据权利要求1所述的方法,其特征在于,所述将所述自定义参数转换为结构化查询语句,得到第二目标结构化查询语句,包括:
获取所述自定义参数的参数值;
根据所述参数值更新所述第一目标结构化查询语句,得到所述第二目标结构化查询语句。
5.根据权利要求1所述的方法,其特征在于,所述识别所述结构化查询语句的类别之前,还包括:
接收所述结构化查询语句的认证令牌,所述认证令牌用于对所述结构化查询语句进行鉴权操作。
6.根据权利要求1所述的方法,其特征在于,所述调用与所述结构化查询语句的类别对应的引擎,执行所述第二目标结构化查询语句之前,还包括:
对所述第二目标结构化查询语句进行鉴权操作,当鉴权通过时,执行所述调用与所述结构化查询语句的类别对应的引擎,执行所述第二目标结构化查询语句的步骤。
7.根据权利要求1所述的方法,其特征在于,所述调用与所述结构化查询语句的类别对应的引擎,执行所述第二目标结构化查询语句,包括:
调用与所述结构化查询语句的类别对应的引擎,获取所述第二目标结构化查询语句的操作类型以及操作对象;
按照所述操作类型对所述操作对象进行操作。
8.根据权利要求7所述的方法,其特征在于,所述按照所述操作类型对所述操作对象进行操作之前,包括:
获取所述第二目标结构化查询语句的上游信息以及所述上游信息的操作类型;
根据所述上游信息以及所述上游信息的操作类型,判断所述第二目标结构化查询语句的前置数据是否可执行;
若所述前置数据可执行,执行所述按照所述操作类型对所述操作对象进行操作的步骤。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
检测执行结果是否满足告警条件;
若所述执行结果满足所述告警条件,输出提示信息至发起所述结构化查询语句的终端。
10.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收结构化查询语句;
识别模块,用于识别所述结构化查询语句的类别;所述类别为数据仓库工具类别;
处理模块,用于根据所述结构化查询语句所属的类别进行处理,得到第一目标结构化查询语句;所述第一目标结构化查询语句是指,根据结构化查询语句所属的类别进行处理得到的结构化查询语句;识别所述第一目标结构化查询语句的变量参数;当所述第一目标结构化查询语句的变量参数为自定义参数时,将所述自定义参数转换为结构化查询语句,得到第二目标结构化查询语句;
执行模块,用于调用与所述结构化查询语句的类别对应的引擎,执行所述第二目标结构化查询语句。
11.一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
12.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911314975.0A CN111143399B (zh) | 2019-12-19 | 2019-12-19 | 数据处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911314975.0A CN111143399B (zh) | 2019-12-19 | 2019-12-19 | 数据处理方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111143399A CN111143399A (zh) | 2020-05-12 |
CN111143399B true CN111143399B (zh) | 2024-04-02 |
Family
ID=70518904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911314975.0A Active CN111143399B (zh) | 2019-12-19 | 2019-12-19 | 数据处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111143399B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918594A (zh) * | 2021-09-27 | 2022-01-11 | 苏宁易购集团股份有限公司 | 结构化查询语句的生成方法、装置和计算机设备 |
CN114219446A (zh) * | 2021-12-17 | 2022-03-22 | 中国建设银行股份有限公司 | 信息处理方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750384A (zh) * | 2012-06-28 | 2012-10-24 | 用友软件股份有限公司 | 从多数据库引擎获取数据的装置和方法 |
CN104090901A (zh) * | 2013-12-31 | 2014-10-08 | 腾讯数码(天津)有限公司 | 一种对数据进行处理的方法、装置及服务器 |
CN104462161A (zh) * | 2013-10-18 | 2015-03-25 | 上海宝信软件股份有限公司 | 基于分布式数据库的结构化数据查询方法 |
CN108549683A (zh) * | 2018-04-03 | 2018-09-18 | 联想(北京)有限公司 | 数据查询方法以及系统 |
US20190026335A1 (en) * | 2017-07-23 | 2019-01-24 | AtScale, Inc. | Query engine selection |
CN110019291A (zh) * | 2017-09-04 | 2019-07-16 | 中国移动通信集团浙江有限公司 | 一种sql解析方法和sql解析器 |
-
2019
- 2019-12-19 CN CN201911314975.0A patent/CN111143399B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750384A (zh) * | 2012-06-28 | 2012-10-24 | 用友软件股份有限公司 | 从多数据库引擎获取数据的装置和方法 |
CN104462161A (zh) * | 2013-10-18 | 2015-03-25 | 上海宝信软件股份有限公司 | 基于分布式数据库的结构化数据查询方法 |
CN104090901A (zh) * | 2013-12-31 | 2014-10-08 | 腾讯数码(天津)有限公司 | 一种对数据进行处理的方法、装置及服务器 |
US20190026335A1 (en) * | 2017-07-23 | 2019-01-24 | AtScale, Inc. | Query engine selection |
CN110019291A (zh) * | 2017-09-04 | 2019-07-16 | 中国移动通信集团浙江有限公司 | 一种sql解析方法和sql解析器 |
CN108549683A (zh) * | 2018-04-03 | 2018-09-18 | 联想(北京)有限公司 | 数据查询方法以及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111143399A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110495132B (zh) | 用于在分布式网络节点内生成、上传和执行代码区块的系统和方法 | |
US11936789B1 (en) | Biometric reference template record | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN107423632B (zh) | 可定制的敏感数据脱敏方法和系统 | |
CN111314306A (zh) | 接口访问方法及装置、电子设备、存储介质 | |
US10754634B1 (en) | Customized application package with context specific token | |
CN110569658B (zh) | 基于区块链网络的用户信息处理方法、装置、电子设备及存储介质 | |
CN103618717B (zh) | 多账户客户信息的动态认证方法、装置和系统 | |
CN112861496A (zh) | 报表生成显示方法、装置、计算机设备和可读存储介质 | |
CN109308285A (zh) | 数据库脚本管理方法、装置、计算机设备及存储介质 | |
CN111767095A (zh) | 微服务生成方法、装置、终端设备及存储介质 | |
CN109493048B (zh) | 基于区块链的财务记账方法、装置、设备及存储介质 | |
CN112860778B (zh) | 桌面应用程序的数据库管理方法、装置、设备和介质 | |
CN112949275B (zh) | 将电子表格导入数据库的方法、装置、设备及存储介质 | |
US11621851B2 (en) | Block chain proof for identification | |
CN111143399B (zh) | 数据处理方法、装置、存储介质和计算机设备 | |
CN112528201A (zh) | 调用第三方平台的方法、装置、计算机设备和存储介质 | |
CN112100142A (zh) | 基于区块链的数字资产处理方法及系统 | |
US9853817B2 (en) | Generating enhanced digital signatures for artifacts | |
CN111817859A (zh) | 基于零知识证明的数据共享方法、装置、设备及存储介质 | |
KR102258700B1 (ko) | 블록체인 기반의 스마트 전자계약 체결방법 및 시스템 | |
CN114003432A (zh) | 参数校验方法、装置、计算机设备和存储介质 | |
CN112632946A (zh) | 自动建表的方法、装置、计算机设备和存储介质 | |
US11567856B2 (en) | Secured code assignment and review engine | |
US11609975B1 (en) | Identity verification |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |