CN109033123B - 基于大数据的查询方法、装置、计算机设备和存储介质 - Google Patents
基于大数据的查询方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN109033123B CN109033123B CN201810544748.6A CN201810544748A CN109033123B CN 109033123 B CN109033123 B CN 109033123B CN 201810544748 A CN201810544748 A CN 201810544748A CN 109033123 B CN109033123 B CN 109033123B
- Authority
- CN
- China
- Prior art keywords
- query
- data
- engine
- condition
- target data
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于大数据的查询方法、装置、计算机设备和存储介质。所述方法包括:接收终端上传的查询请求;查询请求携带了查询条件,查询条件所针对的查询数据存储于计算机节点集群;响应于查询请求,确定查询条件的复杂度;当复杂度低于预设阈值时,调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据;当复杂度高于预设阈值时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据;获取查询到的目标数据,将目标数据发送至终端进行展示。采用本方法能够在大数据查询过程中自适应选择相应查询引擎。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种基于大数据的查询方法、装置、计算机设备和存储介质。
背景技术
随着大数据技术的发展,出现了多种基于大数据的查询引擎。比如,查询引擎Hive和查询引擎Presto。在传统方式中,只采用单一的查询引擎。而单一的查询引擎存在各自的弊端。查询引擎Hive在查询过程中需要执行多次磁盘的读写,每次对磁盘的读写都会产生延时。而查询引擎Presto是基于内存的分布式实时查询引擎,无法执行需要对多个数据表进行连接操作的查询。由此使得大数据查询的过程中存在查询延时长或查询数据量受限的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在大数据查询过程中能够自适应选择相应查询引擎的基于大数据的查询方法、装置、计算机设备和存储介质。
一种基于大数据的查询方法,所述方法包括:接收终端上传的查询请求;所述查询请求携带了查询条件,所述查询条件所针对的查询数据存储于计算机节点集群;响应于所述查询请求,确定所述查询条件的复杂度;当所述复杂度低于预设阈值时,调用查询引擎Presto,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;当所述复杂度高于预设阈值时,调用查询引擎Hive,根据所述查询条件在所述计算机节点集群中查询到所述相应的目标数据;获取查询到的所述目标数据,将所述目标数据发送至所述终端进行展示。
在其中一个实施例中,所述查询请求还携带了用户账号,在所述确定所述查询条件的复杂度之前,还包括:确定所述用户账号在分布式文件系统中所属的集群账号;所述分布式文件系统与所述计算机节点集群相对应;确定与所述集群账号对应的用户角色;获取与所述用户角色对应的角色权限;所述角色权限与可访问数据相对应;当检测到所述可访问数据包含所述查询数据时,执行所述确定所述查询条件的复杂度的步骤。
在其中一个实施例中,所述确定所述查询条件的复杂度,包括:统计所述查询条件所针对的查询数据的数据量;提取所述查询条件中的起始时间和截止时间;根据所述起始时间和所述截止时间进行计算,得到所述查询条件所针对的查询数据对应的时间区间;根据所述数据量和所述时间区间,计算所述查询条件的复杂度。
在其中一个实施例中,在所述响应于所述查询请求,确定所述查询条件的复杂度之前,所述方法还包括:检测所述查询条件中是否包含用户自定义函数;当所述查询条件中包含用户自定义函数时,提取所述用户自定义函数的自定义函数名;拉取所述查询引擎Presto支持的第一函数名列表,和所述查询引擎Hive支持的第二函数名列表;将所述自定义函数名分别与所述第一函数名列表和所述第二函数名列表进行匹配;当所述自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据所述查询条件在所述计算机节点集群中查询相应的目标数据。
在其中一个实施例中,所述调用查询引擎Presto,根据所述查询条件在所述计算机节点集群中查询相应的目标数据,包括:调用查询引擎Presto将所述查询条件进行解析,得到逻辑查询计划;将所述逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;将分布式逻辑查询计划转化为多个查询子任务,并将所述多个查询子任务分发至多个工作线程;通过所述多个工作线程在所述计算机节点集群中执行相应的查询子任务,分别得到相应的目标子数据;汇总多个所述目标子数据,得到所述查询数据中的目标数据。
在其中一个实施例中,在所述获取查询到的所述目标数据之后,还包括:将所述目标数据存储至所述计算机节点集群;根据所述用户账号和所述查询条件生成历史查询记录,并构建所述历史查询记录与所述目标数据的关联关系;接收终端上传的针对所述历史查询记录的查看请求;响应于所述查看请求,根据所述关联关系从所述计算机节点集群中获取所述目标数据,将所述目标数据发送至所述终端进行展示。
一种基于大数据的查询装置,所述装置包括:接收模块,用于接收终端上传的查询请求;所述查询请求携带了查询条件,所述查询条件所针对的查询数据存储于计算机节点集群;确定模块,用于响应于所述查询请求,确定所述查询条件的复杂度;查询模块,用于当所述复杂度低于预设阈值时,调用查询引擎Presto,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;当所述复杂度高于预设阈值时,调用查询引擎Hive,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;获取模块,用于获取查询到的所述目标数据,将所述目标数据发送至所述终端进行展示。
在其中一个实施例中,所述装置还包括校验模块,用于确定所述用户账号在分布式文件系统中所属的集群账号;所述分布式文件系统与所述计算机节点集群相对应;确定与所述集群账号对应的用户角色;获取与所述用户角色对应的角色权限;所述角色权限与可访问数据相对应;所述确定模块还用于当检测到所述可访问数据包含所述查询数据时,执行所述确定所述查询条件的复杂度的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述各个实施例中所述的基于大数据的查询方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述各个实施例中所述的基于大数据的查询方法的步骤。
上述基于大数据的查询方法、装置、计算机设备和存储介质,服务器在接收到终端上传的基于大数据的查询请求之后,根据查询请求携带的查询条件确定其复杂度。根据查询条件的复杂度,自适应调用合适的查询引擎进行查询。当复杂度低于预设阈值时,调用查询引擎Presto;当复杂度高于预设阈值时,调用查询引擎Hive。查询引擎根据查询条件在计算机节点集群中查询到查询数据中的目标数据之后,可获取查询到的目标数据并发送至终端进行展示。通过根据查询条件的复杂度调用合适的查询引擎进行查询,能够避免单一查询引擎的弊端,综合利用查询引擎Hive查询数据量不受限制的优势及查询引擎Presto查询延时短的优势。从而实现了通过自适应选择相应查询引擎的方式进行大数据查询。
附图说明
图1为一个实施例中基于大数据的查询方法的应用场景图;
图2为一个实施例中基于大数据的查询方法的流程示意图;
图3为一个实施例中查询引擎Presto的工作原理示意图;
图4为另一个实施例中基于大数据的查询方法的流程示意图;
图5为一个实施例中基于大数据的查询装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的基于大数据的查询方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104与计算机节点集群106通过网络进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,计算机节点集群106中的计算机节点可为终端也可为服务器。终端102在获取到用户触发的查询指令之后,可生成查询请求,并将查询请求上传至服务器104。服务器104响应于查询请求,确定查询请求携带的查询条件的复杂度。服务器104将根据复杂度自适应选择查询引擎Presto或查询引擎Hive,根据查询条件在计算机节点集群106中查询到查询数据中的目标数据。服务器104从计算机节点集群106中获取查询到的目标数据之后,将目标数据发送至终端102进行展示。
在一个实施例中,如图2所示,提供了一种基于大数据的查询方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤202,接收终端上传的查询请求;查询请求携带了查询条件,查询条件所针对的查询数据存储于计算机节点集群。
查询请求是指基于大数据用于查询的请求。查询条件是指将所需的目标的数据从大数据中筛选出来的逻辑。查询条件可以由SQL(Structured Query Language,结构化查询语言)、HQL(Hibernate Query Language,一种查询语言)等查询语言体现。大数据是指存储于计算机节点集群中的海量数据、可以是结构化的数据库表、半结构化的文本数据及非结构化的语音、图片、视频等数据。查询条件所针对的查询数据是指计算机节点集群中存储的大数据中的全部或部分数据。计算机节点集群可以是通过计算机网络连接的计算机节点实现的集群。计算机节点集群上可部署有分布式文件系统,比如HDFS(Hadoop DistributedFile System,Hadoop分布式文件系统)、NFS(Network File System,网络文件系统)等,但不限于此。
在一个实施例中,查询请求可根据查询操作生成。终端可提供查询界面,查询操作包括但不限于用户通过查询界面输入查询条件。该查询条件可由用户直接输入查询语句而生成。终端界面上还可以提供查询语句组件,查询语句组件是指封装了的查询语句组件,可用于重复使用。用户可以通过拖拽查询界面上的至少一个查询语句组件,拼装成完整的查询条件。查询界面上还可包含查询控件,当终端检测到作用于查询控件的点击操作时,根据用户输入的查询条件生成查询请求,并将查询条件上传至服务器。
步骤204,响应于查询请求,确定查询条件的复杂度。
不同的大数据查询引擎在查询过程中性能各有优劣。比如查询引擎Hive在查询过程中需要执行多次磁盘的读写,每次对磁盘的读写都会产生延时,但是查询引擎Hive适用于数据量较大、查询条件复杂的查询过程。而查询引擎Presto是基于内存的分布式实时查询引擎,无法执行需要对多个数据表进行连接操作的查询,查询引擎Presto所能查询的查询数据的数据量存在限制。但是查询引擎Presto在查询过程中不存在磁盘读写产生的延时问题,适用于查询条件复杂度较低的快速查询过程。
在一个实施例中,确定查询条件的复杂度,包括:统计查询条件所针对的查询数据的数据量;提取查询条件中的起始时间和截止时间;根据起始时间和截止时间进行计算,得到查询条件所针对的查询数据对应的时间区间;根据数据量和时间区间,计算查询条件的复杂度。
可直接获取查询数据的数据量。还可以根据查询数据的数据类型预估查询数据的数据量。比如说,打点表是指用于存储用户对页面进行操作所得到的埋点数据的数据库表,日志表是指用于存储系统日志的数据库表。当查询请求所针对的查询数据为打点表和日志表时,数据量通常较大,超出查询引擎Presto可查询的数据量限制。
查询数据在存储至计算机节点集群时,可记录相应的存储时间。用户在进行条件查询的时候,还可以在查询条件中携带时间条件,包括查询数据的起始时间和截止时间。比如说查询存储时间处于2017年1月1日至2018年1月1日之间的数据,则2017年1月1日为起始时间,2018年1月1日为截止时间,时间区间长度为一年。而查询数据对应的时间区间越长,查询数据的数据量通常也将更大。
根据查询引擎Presto和查询引擎Hive各自的特性,通过查询数据的数据量和查询数据对应的时间区间计算查询条件的复杂度,从而能够根据查询条件的复杂度精准地定位合适的查询引擎。
步骤206,当复杂度低于预设阈值时,调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据。
查询引擎Presto是一个开源的分布式sql查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。如图3所示,为查询引擎Presto的工作原理示意图。查询引擎Presto300包含一个调度节点302和多个工作节点304。调度节点302用于在接收到查询请求之后解析sql语句、生成逻辑查询计划、分发执行任务给所有的工作节点304。工作节点304负责实际执行查询任务,多个工作节点304之间可进行数据传输,且每个工作节点304都可与分布式文件系统306进行交互,读取分布式文件系统306对应的计算机节点集群上存储的数据。工作节点304计算完成后通知调度节点302结束查询,并将查询结果发送给调度节点302。
在一个实施例中,调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据,包括:调用查询引擎Presto将查询条件进行解析,得到逻辑查询计划;将逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;将分布式逻辑查询计划转化为多个查询子任务,并将多个查询子任务分发至多个工作线程;通过多个工作线程在计算机节点集群中执行相应的查询子任务,分别得到相应的目标子数据;汇总多个目标子数据,得到查询数据中的目标数据。
针对查询引擎Presto,可预先构建一个线程池,并在线程池中预置多个工作线程。在查询引擎Presto接收到查询请求之后,可调用SqlParser(一种sql解析器)解析sql语句,得到抽象语法树AST(Abstract Syntax Tree)。通过逻辑查询计划组件将抽象语法树AST转化为逻辑查询计划。通过分布式计划组件对逻辑查询计划进行分布式解析,得到多个查询子计划,并将每个查询子计划转化为相应的查询子任务。可通过随机算法、轮询调度算法、加权轮询算法等方式将多个查询子任务分法至多个工作线程等待执行。目标子数据是指每个工作线程执行每个查询子任务从计算机节点集群中所筛选出的数据。汇总得到的目标数据是指最终查询得到的、与查询条件对应的完整数据。通过多工作线程提高查询任务执行的高并发性,从而缩短执行查询任务的时间。
在一个实施例中,当查询数据的数据量小于预设数据量阈值或当查询条件所针对的查询数据对应的时间区间小于预设时间长度时,判定复杂度小于预设阈值,并调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据。
步骤208,当复杂度高于预设阈值时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
查询引擎Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce(一种编程模型)任务进行运行。在查询引擎Hive接收到查询请求之后,可调用SqlParser(一种sql解析器)解析sql语句,得到抽象语法树AST(Abstract Syntax Tree)。通过逻辑查询计划组件将抽象语法树AST转化为逻辑查询计划。通过分布式计划组件对逻辑查询计划进行分布式解析,得到多个查询子计划,并将每个查询子计划转化为相应的Map任务。每一个MapReduce任务写入从磁盘上读取输入数据进行处理之后,将中间结果再输出到磁盘上。由于查询引擎Hive的查询过程需要执行多次磁盘读写,导致查询过程的会有较长的延时。但正也是因为查询引擎Hive在查询过程会将中间结果写入磁盘,因此查询引擎Hive对查询数据的数据量没有太多限制。
在一个实施例中,当查询数据的数据量大于预设数据量阈值或当查询条件所针对的查询数据对应的时间区间大于预设时间长度时,判定复杂度高于预设阈值,并调用查询引擎Hive进行查询。
在一个实施例中,还可对查询数据的数据量S预设第一权重W1,对查询条件所针对的查询数据对应的时间区间T预设第二权重W2,通过以下公式加权求和综合计算查询条件的复杂度F:F=S×W1+T×W2。当复杂度F高于预设阈值时,调用查询引擎Hive进行查询。
步骤210,获取查询到的目标数据,将目标数据发送至终端进行展示。
目标数据是指最终查询得到的、与查询条件对应的数据。可通过监控查询引擎的执行状态判断查询过程是否结束。当查询引擎已完成查询过程时,从计算机节点集群中获取所查询到的目标数据,可将目标数据转化为文本、数据表等形式的数据发送至终端进行展示。
在一个实施例中,查询引擎Presto通过多个工作线程执行查询子任务时,可记录每个工作线程的执行状态。可通过“0”代表未执行,“1”代表正在执行,“2”代表已执行完毕。当监测到统计的已执行完毕的状态数量等于所有工作线程的数量,说明所有的工作线程都已完成了各自的查询子任务,则可获取所查询到的目标数据。通过数量的判断,防止由遗漏未执行完成的查询子任务所导致的目标数据不完整的情况。
上述基于大数据的查询方法中,服务器在接收到终端上传的基于大数据的查询请求之后,根据查询请求携带的查询条件确定其复杂度。根据查询条件的复杂度,自适应调用合适的查询引擎进行查询。当复杂度低于预设阈值时,调用查询引擎Presto;当复杂度高于预设阈值时,调用查询引擎Hive。查询引擎根据查询条件在计算机节点集群中查询到查询数据中的目标数据之后,可获取查询到的目标数据并发送至终端进行展示。通过根据查询条件的复杂度调用合适的查询引擎进行查询,能够避免单一查询引擎的弊端,综合利用查询引擎Hive查询数据量不受限制的优势及查询引擎Presto查询延时短的优势。从而实现了通过自适应选择相应查询引擎的方式进行大数据查询。
在一个实施例中,查询请求还携带了用户账号,在确定查询条件的复杂度之前,还包括:确定用户账号在分布式文件系统中所属的集群账号;分布式文件系统与计算机节点集群相对应;确定与集群账号对应的用户角色;获取与用户角色对应的角色权限;角色权限与可访问数据相对应;当检测到可访问数据包含查询数据时,执行确定查询条件的复杂度的步骤。
用户账号是指发出查询请求的用户所使用的账号。一个用户账号可由至少一个用户使用。比如说,同一个业务团队的多个用户可共用一个用户账号。分布式文件系统是指部署在计算机节点集群上的系统,用于管理计算机节点集群上所存储的大数据。分布式文件系统中可针对不同的用户角色设置相应的集群账号。用户角色包括但不先普通用户角色、区域管理员角色、高级管理员角色等。每个用户角色会根据相应用户在实际业务中的职权具有相应的角色权限,不同的角色权限可以有不同的可访问数据。当检测到可访问数据包含查询数据时,说明该查询请求对应的用户账号符合角色权限,则可执行进一步的查询步骤。通过对查询用户进行角色权限判断,能够避免敏感数据泄露,提高计算机节点集群中大数据的安全性,对基于大数据的查询过程预先进行操作合法性的判断,还可以避免由于用户的输入错误等问题所导致的不必要查询过程。
在一个实施例中,可根据ldap(Lightweight Directory Access Protocol,一种轻量目录访问协议)的映射关系确定用户账号在分布式文件系统中所属的集群账号。还可以根据Kerberos(一种安全数据传输认证)对用户账号进行认证,若认证通过则说明该用户账号在分布式文件系统符合相应的集群账号所对应的角色权限,该相应的角色权限可从Acl(Access Control List,访问控制列表)中进行查找确定。
在一个实施例中,在响应于查询请求,确定查询条件的复杂度之前,该方法还包括:检测查询条件中是否包含用户自定义函数;当查询条件中包含用户自定义函数时,提取用户自定义函数的自定义函数名;拉取查询引擎Presto支持的第一函数名列表,和查询引擎Hive支持的第二函数名列表;将自定义函数名分别与第一函数名列表和第二函数名列表进行匹配;当自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
用户自定义函数(UDF,user defined function)是指用户依据自身需求创建的函数。自定义函数名是指用户自定义函数的命名。第一函数名列表是指查询引擎Presto支持的用户自定义函数的自定义函数名所构成的列表。第二函数名列表是指查询引擎Hive支持的用户自定义函数的自定义函数名所构成的列表。第一函数名列表和第二函数名列表可通过爬虫从查询引擎Presto和查询引擎Hive对应的官网上爬取。也可以在下载第一函数名列表和第二函数名列表后存入本地数据库中,在检测到查询条件中包含用户自定义函数时,直接从数据库中调用。
查询引擎Hive所支持的用户自定义函数通常多于查询引擎Presto支持的用户自定义函数。当自定义函数名仅与第二函数名列表匹配时,则调用查询引擎Hive。而当自定义函数名与第一函数名列表匹配时,则该自定义函数名通常都与第二函数名列表匹配。通过对查询条件中包含的用户自定义函数进行检测和判断,能够防止查询请求被分配至不能对查询请求进行正常解析的查询引擎。
在一个实施例中,还可以在服务器将通过认证的大量查询请求分发到查询引擎Hive或者查询引擎presto时,通过追踪字段记录每个查询请求具体对应的查询引擎,从而在查询引擎Hive或者查询引擎presto出现状态异常时,能够筛选出异常查询引擎对应的查询请求,并对筛选出的查询请求通过正常的查询引擎进行处理。通过追踪字段,能够快速筛选出异常查询引擎对应的查询请求,避免由于查询引擎的异常导致异常查询引擎对应的查询请求被搁置。
在一个实施例中,在获取查询到的目标数据之后,还包括:将目标数据存储至计算机节点集群;根据用户账号和查询条件生成历史查询记录,并构建历史查询记录与目标数据的关联关系;接收终端上传的针对历史查询记录的查看请求;响应于查看请求,根据关联关系从计算机节点集群中获取目标数据,将目标数据发送至终端进行展示。
用户可通过终端查看到历史查询记录构成的列表,并对列表中的历史查询记录进行选择。当终端检测到作用于历史查询记录的查看操作时,则触发生成针对相应历史查询记录的查看请求,查看请求可携带历史查询记录标识,并将查看请求发送至服务器。服务器可根据历史查询记录标识从计算机节点集群中获取相应的目标数据。通过将查询过的目标数据存储至计算机节点集群,能够方便用户进行重新查询,重新下载,避免计算机节点集群进行重复的查询过程。
在一个实施例中,如图4所示,提供了另一种基于大数据的查询方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤402,接收终端上传的查询请求;查询请求携带了查询条件,查询条件所针对的查询数据存储于计算机节点集群。
步骤404,确定用户账号在分布式文件系统中所属的集群账号;分布式文件系统与计算机节点集群相对应。
步骤406,确定与集群账号对应的用户角色;
步骤408,获取与用户角色对应的角色权限;角色权限与可访问数据相对应。
步骤410,当检测到可访问数据包含查询数据时,检测查询条件中是否包含用户自定义函数。
步骤412,当查询条件中包含用户自定义函数时,提取用户自定义函数的自定义函数名。
步骤414,拉取查询引擎Presto支持的第一函数名列表,和查询引擎Hive支持的第二函数名列表。
步骤416,将自定义函数名分别与第一函数名列表和第二函数名列表进行匹配。
步骤418,当自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
步骤420,当查询条件中不包含用户自定义函数或当自定义函数名与第一函数名列表和第二函数名列表匹配时,统计查询条件所针对的查询数据的数据量。
步骤422,提取查询条件中的起始时间和截止时间。
步骤424,根据起始时间和截止时间进行计算,得到查询条件所针对的查询数据对应的时间区间。
步骤426,根据数据量和时间区间,计算查询条件的复杂度。
步骤428,当复杂度低于预设阈值时,调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据。
步骤430,当复杂度高于预设阈值时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
步骤432,获取查询到的目标数据,将目标数据发送至终端进行展示。
上述基于大数据的查询方法中,服务器在接收到终端上传的基于大数据的查询请求,且对用户账号进行角色权限校验通过之后,根据查询请求携带的查询条件确定其复杂度。根据查询条件的复杂度,自适应调用合适的查询引擎进行查询。当检测到可访问数据包含查询数据时,且自定义函数名仅与查询引擎Hive支持的第二函数名列表匹配时,调用查询引擎Hive;当查询条件中不包含用户自定义函数,或当自定义函数名与第一函数名列表和第二函数名列表匹配时,根据数据量和时间区间计算查询条件的复杂度。当复杂度低于预设阈值时,调用查询引擎Presto;当复杂度高于预设阈值时,调用查询引擎Hive。查询引擎根据查询条件在计算机节点集群中查询到查询数据中的目标数据之后,可获取查询到的目标数据并发送至终端进行展示。根据查询条件将查询过程划分为多种情况,并针对每种情况精确定位适用的查询引擎,能够避免单一查询引擎的弊端,提供了一种更加安全、高效的基于大数据的查询方法。从而实现了通过自适应选择相应查询引擎的方式进行大数据查询。
应该理解的是,虽然图2和4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种基于大数据的查询装置500,包括:接收模块502,用于接收终端上传的查询请求;查询请求携带了查询条件,查询条件所针对的查询数据存储于计算机节点集群;确定模块504,用于响应于查询请求,确定查询条件的复杂度;查询模块506,用于当复杂度低于预设阈值时,调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据;当复杂度高于预设阈值时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据;获取模块508,用于获取查询到的目标数据,将目标数据发送至终端进行展示。
在一个实施例中,该装置还包括校验模块,用于确定用户账号在分布式文件系统中所属的集群账号;分布式文件系统与计算机节点集群相对应;确定与集群账号对应的用户角色;获取与用户角色对应的角色权限;角色权限与可访问数据相对应;确定模块504还用于当检测到可访问数据包含查询数据时,执行确定查询条件的复杂度的步骤。
在一个实施例中,确定模块504还用于统计查询条件所针对的查询数据的数据量;提取查询条件中的起始时间和截止时间;根据起始时间和截止时间进行计算,得到查询条件所针对的查询数据对应的时间区间;根据数据量和时间区间,计算查询条件的复杂度。
在一个实施例中,查询模块506还用于检测查询条件中是否包含用户自定义函数;当查询条件中包含用户自定义函数时,提取用户自定义函数的自定义函数名;拉取查询引擎Presto支持的第一函数名列表,和查询引擎Hive支持的第二函数名列表;将自定义函数名分别与第一函数名列表和第二函数名列表进行匹配;当自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
在一个实施例中,查询模块506还用于调用查询引擎Presto将查询条件进行解析,得到逻辑查询计划;将逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;将分布式逻辑查询计划转化为多个查询子任务,并将多个查询子任务分发至多个工作线程;通过多个工作线程在计算机节点集群中执行相应的查询子任务,分别得到相应的目标子数据;汇总多个目标子数据,得到查询数据中的目标数据。
在一个实施例中,获取模块508还用于将目标数据存储至计算机节点集群;根据用户账号和查询条件生成历史查询记录,并构建历史查询记录与目标数据的关联关系;接收终端上传的针对历史查询记录的查看请求;响应于查看请求,根据关联关系从计算机节点集群中获取目标数据,将目标数据发送至终端进行展示。
关于基于大数据的查询装置的具体限定可以参见上文中对于基于大数据的查询方法的限定,在此不再赘述。上述基于大数据的查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储目标数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于大数据的查询方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收终端上传的查询请求;查询请求携带了查询条件,查询条件所针对的查询数据存储于计算机节点集群;响应于查询请求,确定查询条件的复杂度;当复杂度低于预设阈值时,调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据;当复杂度高于预设阈值时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据;获取查询到的目标数据,将目标数据发送至终端进行展示。
在一个实施例中,查询请求还携带了用户账号,处理器执行计算机程序时,在所实现的确定查询条件的复杂度的步骤之前,还包括:确定用户账号在分布式文件系统中所属的集群账号;分布式文件系统与计算机节点集群相对应;确定与集群账号对应的用户角色;获取与用户角色对应的角色权限;角色权限与可访问数据相对应;当检测到可访问数据包含查询数据时,执行确定查询条件的复杂度的步骤。
在一个实施例中,处理器执行计算机程序时,所实现的确定查询条件的复杂度的步骤,包括以下步骤:统计查询条件所针对的查询数据的数据量;提取查询条件中的起始时间和截止时间;根据起始时间和截止时间进行计算,得到查询条件所针对的查询数据对应的时间区间;根据数据量和时间区间,计算查询条件的复杂度。
在一个实施例中,处理器执行计算机程序时,在所实现的在响应于查询请求,确定查询条件的复杂度的步骤之前,还实现以下步骤:检测查询条件中是否包含用户自定义函数;当查询条件中包含用户自定义函数时,提取用户自定义函数的自定义函数名;拉取查询引擎Presto支持的第一函数名列表,和查询引擎Hive支持的第二函数名列表;将自定义函数名分别与第一函数名列表和第二函数名列表进行匹配;当自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
在一个实施例中,处理器执行计算机程序时,所实现的调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据的步骤,包括以下步骤:调用查询引擎Presto将查询条件进行解析,得到逻辑查询计划;将逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;将分布式逻辑查询计划转化为多个查询子任务,并将多个查询子任务分发至多个工作线程;通过多个工作线程在计算机节点集群中执行相应的查询子任务,分别得到相应的目标子数据;汇总多个目标子数据,得到查询数据中的目标数据。
在一个实施例中,处理器执行计算机程序时,在所实现的获取查询到的目标数据的步骤之后,还包括以下步骤:将目标数据存储至计算机节点集群;根据用户账号和查询条件生成历史查询记录,并构建历史查询记录与目标数据的关联关系;接收终端上传的针对历史查询记录的查看请求;响应于查看请求,根据关联关系从计算机节点集群中获取目标数据,将目标数据发送至终端进行展示。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:确定用户账号在分布式文件系统中所属的集群账号;分布式文件系统与计算机节点集群相对应;确定与集群账号对应的用户角色;获取与用户角色对应的角色权限;角色权限与可访问数据相对应;当检测到可访问数据包含查询数据时,执行确定查询条件的复杂度的步骤。
在一个实施例中,计算机程序被处理器执行时,所实现的确定查询条件的复杂度的步骤,包括以下步骤:统计查询条件所针对的查询数据的数据量;提取查询条件中的起始时间和截止时间;根据起始时间和截止时间进行计算,得到查询条件所针对的查询数据对应的时间区间;根据数据量和时间区间,计算查询条件的复杂度。
在一个实施例中,计算机程序被处理器执行时,在所实现的在响应于查询请求,确定查询条件的复杂度的步骤之前,还实现以下步骤:检测查询条件中是否包含用户自定义函数;当查询条件中包含用户自定义函数时,提取用户自定义函数的自定义函数名;拉取查询引擎Presto支持的第一函数名列表,和查询引擎Hive支持的第二函数名列表;将自定义函数名分别与第一函数名列表和第二函数名列表进行匹配;当自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据查询条件在计算机节点集群中查询相应的目标数据。
在一个实施例中,计算机程序被处理器执行时,所实现的调用查询引擎Presto,根据查询条件在计算机节点集群中查询相应的目标数据的步骤,包括以下步骤:调用查询引擎Presto将查询条件进行解析,得到逻辑查询计划;将逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;将分布式逻辑查询计划转化为多个查询子任务,并将多个查询子任务分发至多个工作线程;通过多个工作线程在计算机节点集群中执行相应的查询子任务,分别得到相应的目标子数据;汇总多个目标子数据,得到查询数据中的目标数据。
在一个实施例中,计算机程序被处理器执行时,在所实现的获取查询到的目标数据的步骤之后,还包括以下步骤:将目标数据存储至计算机节点集群;根据用户账号和查询条件生成历史查询记录,并构建历史查询记录与目标数据的关联关系;接收终端上传的针对历史查询记录的查看请求;响应于查看请求,根据关联关系从计算机节点集群中获取目标数据,将目标数据发送至终端进行展示。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (10)
1.一种基于大数据的查询方法,所述方法包括:
接收终端上传的查询请求;所述查询请求携带了查询条件,所述查询条件所针对的查询数据存储于计算机节点集群;
响应于所述查询请求,确定所述查询条件的复杂度;
当所述复杂度低于预设阈值时,调用查询引擎Presto,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;
当所述复杂度高于预设阈值时,调用查询引擎Hive,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;
获取查询到的所述目标数据,将所述目标数据发送至所述终端进行展示;
通过追踪字段记录每个所述查询请求调用的查询引擎,当所述查询引擎Hive或所述查询引擎presto出现状态异常时,筛选出状态异常的查询引擎对应的查询请求,调用状态正常的查询引擎处理筛选出的查询请求。
2.根据权利要求1所述的方法,其特征在于,所述查询请求还携带了用户账号,在所述确定所述查询条件的复杂度之前,还包括:
确定所述用户账号在分布式文件系统中所属的集群账号;所述分布式文件系统与所述计算机节点集群相对应;
确定与所述集群账号对应的用户角色;
获取与所述用户角色对应的角色权限;所述角色权限与可访问数据相对应;
当检测到所述可访问数据包含所述查询数据时,执行所述确定所述查询条件的复杂度的步骤。
3.根据权利要求1所述的方法,其特征在于,所述确定所述查询条件的复杂度,包括:
统计所述查询条件所针对的查询数据的数据量;
提取所述查询条件中的起始时间和截止时间;
根据所述起始时间和所述截止时间进行计算,得到所述查询条件所针对的查询数据对应的时间区间;
根据所述数据量和所述时间区间,计算所述查询条件的复杂度。
4.根据权利要求1所述的方法,其特征在于,在所述响应于所述查询请求,确定所述查询条件的复杂度之前,所述方法还包括:
检测所述查询条件中是否包含用户自定义函数;
当所述查询条件中包含用户自定义函数时,提取所述用户自定义函数的自定义函数名;
拉取所述查询引擎Presto支持的第一函数名列表,和所述查询引擎Hive支持的第二函数名列表;
将所述自定义函数名分别与所述第一函数名列表和所述第二函数名列表进行匹配;
当所述自定义函数名仅与第二函数名列表匹配时,调用查询引擎Hive,根据所述查询条件在所述计算机节点集群中查询相应的目标数据。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述调用查询引擎Presto,根据所述查询条件在所述计算机节点集群中查询相应的目标数据,包括:
调用查询引擎Presto将所述查询条件进行解析,得到逻辑查询计划;
将所述逻辑查询计划进行分布式处理,得到分布式逻辑查询计划;
将分布式逻辑查询计划转化为多个查询子任务,并将所述多个查询子任务分发至多个工作线程;
通过所述多个工作线程在所述计算机节点集群中执行相应的查询子任务,分别得到相应的目标子数据;
汇总多个所述目标子数据,得到所述查询数据中的目标数据。
6.根据权利要求1至4任意一项所述的方法,其特征在于,所述查询请求还携带了用户账号,在所述获取查询到的所述目标数据之后,还包括:
将所述目标数据存储至所述计算机节点集群;
根据所述用户账号和所述查询条件生成历史查询记录,并构建所述历史查询记录与所述目标数据的关联关系;
接收终端上传的针对所述历史查询记录的查看请求;
响应于所述查看请求,根据所述关联关系从所述计算机节点集群中获取所述目标数据,将所述目标数据发送至所述终端进行展示。
7.一种基于大数据的查询装置,其特征在于,所述装置包括:
接收模块,用于接收终端上传的查询请求;所述查询请求携带了查询条件,所述查询条件所针对的查询数据存储于计算机节点集群;
确定模块,用于响应于所述查询请求,确定所述查询条件的复杂度;
查询模块,用于当所述复杂度低于预设阈值时,调用查询引擎Presto,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;当所述复杂度高于预设阈值时,调用查询引擎Hive,根据所述查询条件在所述计算机节点集群中查询相应的目标数据;通过追踪字段记录每个所述查询请求调用的查询引擎,当所述查询引擎Hive或所述查询引擎presto出现状态异常时,筛选出状态异常的查询引擎对应的查询请求,调用状态正常的查询引擎处理筛选出的查询请求;
获取模块,用于获取查询到的所述目标数据,将所述目标数据发送至所述终端进行展示。
8.根据权利要求7所述的装置,其特征在于,所述查询请求还携带了用户账号,所述装置还包括:
校验模块,用于确定所述用户账号在分布式文件系统中所属的集群账号;所述分布式文件系统与所述计算机节点集群相对应;确定与所述集群账号对应的用户角色;获取与所述用户角色对应的角色权限;所述角色权限与可访问数据相对应;
所述确定模块还用于当检测到所述可访问数据包含所述查询数据时,执行所述确定所述查询条件的复杂度的步骤。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810544748.6A CN109033123B (zh) | 2018-05-31 | 2018-05-31 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810544748.6A CN109033123B (zh) | 2018-05-31 | 2018-05-31 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109033123A CN109033123A (zh) | 2018-12-18 |
CN109033123B true CN109033123B (zh) | 2023-09-22 |
Family
ID=64611700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810544748.6A Active CN109033123B (zh) | 2018-05-31 | 2018-05-31 | 基于大数据的查询方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109033123B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109862072B (zh) * | 2018-12-25 | 2020-03-31 | 鼎信信息科技有限责任公司 | 申请任务的响应方法和装置 |
CN110083655A (zh) * | 2018-12-29 | 2019-08-02 | 广东益萃网络科技有限公司 | 商户数据的查询方法、装置、计算机设备及存储介质 |
CN109902114B (zh) * | 2019-01-24 | 2024-04-23 | 中国平安人寿保险股份有限公司 | Es集群数据复用方法、系统、计算机装置及存储介质 |
CN110008257B (zh) * | 2019-04-10 | 2024-04-16 | 深圳市腾讯计算机系统有限公司 | 数据处理方法、装置、系统、计算机设备和存储介质 |
CN110399386B (zh) * | 2019-07-15 | 2022-05-10 | 南威软件股份有限公司 | 一种基于Presto的SQL UPDATE方法及控制系统 |
CN110502339A (zh) * | 2019-07-23 | 2019-11-26 | 苏宁云计算有限公司 | 数据服务资源分配方法、装置、系统和存储介质 |
CN110675236A (zh) * | 2019-08-27 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 基于分布式的税费计算方法以及装置 |
CN110825953B (zh) * | 2019-11-12 | 2024-03-22 | 上海德启信息科技有限公司 | 数据查询方法、装置和设备 |
CN110825767A (zh) * | 2019-11-15 | 2020-02-21 | 江苏满运软件科技有限公司 | 数据查询方法、平台、设备及存储介质 |
CN110851465B (zh) * | 2019-11-15 | 2022-02-11 | 腾讯科技(深圳)有限公司 | 数据查询方法及系统 |
CN111143427B (zh) * | 2019-11-25 | 2023-09-12 | 中国科学院计算技术研究所 | 基于在网计算的分布式信息检索方法、系统与装置 |
CN111104419A (zh) * | 2019-12-24 | 2020-05-05 | 上海众源网络有限公司 | 一种数据查询方法及装置 |
CN111159229B (zh) * | 2019-12-31 | 2024-04-26 | 北京奇艺世纪科技有限公司 | 一种数据查询方法及装置 |
CN111488377A (zh) * | 2020-04-08 | 2020-08-04 | 北京奇艺世纪科技有限公司 | 数据查询方法、装置、电子设备及存储介质 |
CN113568931A (zh) * | 2020-04-29 | 2021-10-29 | 盛趣信息技术(上海)有限公司 | 一种数据访问请求的路由解析系统及方法 |
CN111639078A (zh) * | 2020-05-25 | 2020-09-08 | 北京百度网讯科技有限公司 | 数据查询方法、装置、电子设备以及可读存储介质 |
CN113836175B (zh) * | 2020-06-24 | 2024-08-09 | 浙江宇视科技有限公司 | 数据访问方法、装置、设备及存储介质 |
CN111767252A (zh) * | 2020-06-30 | 2020-10-13 | 平安科技(深圳)有限公司 | 日志查询方法、装置、计算机设备和存储介质 |
CN111858681A (zh) * | 2020-08-01 | 2020-10-30 | 生态环境部南京环境科学研究所 | 一种基于soa的大数据综合管理数据查询系统 |
CN112506987B (zh) * | 2020-11-19 | 2022-05-20 | 杭州趣链科技有限公司 | 基于区块链的查询方法、装置、设备及存储介质 |
CN112328663B (zh) * | 2020-11-24 | 2024-09-17 | 深圳市鹰硕技术有限公司 | 一种应用于大数据的数据发现方法及系统 |
CN113064925A (zh) * | 2021-03-15 | 2021-07-02 | 深圳依时货拉拉科技有限公司 | 一种大数据查询方法、系统及计算机可读存储介质 |
CN113254994A (zh) * | 2021-05-27 | 2021-08-13 | 平安普惠企业管理有限公司 | 数据库访问方法、装置、存储介质和计算机设备 |
CN113204589A (zh) * | 2021-05-28 | 2021-08-03 | 平安科技(深圳)有限公司 | 存储对象处理系统、请求处理方法、网关和存储介质 |
CN113420099B (zh) * | 2021-07-06 | 2022-11-04 | 广州方硅信息技术有限公司 | 埋点数据访问控制方法、装置以及计算机设备、存储介质 |
CN113590217B (zh) * | 2021-07-26 | 2022-12-02 | 北京百度网讯科技有限公司 | 基于引擎的函数管理方法、装置、电子设备及存储介质 |
CN113901074A (zh) * | 2021-09-26 | 2022-01-07 | 广州虎牙科技有限公司 | 即席查询的异常确定方法、装置、电子设备及介质 |
CN113971192A (zh) * | 2021-10-22 | 2022-01-25 | 北京火山引擎科技有限公司 | 数据处理方法、装置、可读介质及电子设备 |
CN113918305B (zh) * | 2021-10-29 | 2024-06-25 | 平安银行股份有限公司 | 节点调度方法、装置、电子设备及可读存储介质 |
CN113918996B (zh) * | 2021-11-24 | 2024-03-26 | 企查查科技股份有限公司 | 分布式数据处理方法、装置、计算机设备和存储介质 |
CN114297322A (zh) * | 2021-12-31 | 2022-04-08 | 深圳Tcl新技术有限公司 | 数据处理方法、装置、终端和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787119A (zh) * | 2016-03-25 | 2016-07-20 | 盛趣信息技术(上海)有限公司 | 基于混合引擎的大数据处理方法及系统 |
CN106649503A (zh) * | 2016-10-11 | 2017-05-10 | 北京集奥聚合科技有限公司 | 一种基于sql的查询方法及系统 |
CN106649828A (zh) * | 2016-12-29 | 2017-05-10 | 中国银联股份有限公司 | 一种数据查询方法及系统 |
CN107609130A (zh) * | 2017-09-18 | 2018-01-19 | 链家网(北京)科技有限公司 | 一种选择数据查询引擎的方法及服务器 |
-
2018
- 2018-05-31 CN CN201810544748.6A patent/CN109033123B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787119A (zh) * | 2016-03-25 | 2016-07-20 | 盛趣信息技术(上海)有限公司 | 基于混合引擎的大数据处理方法及系统 |
CN106649503A (zh) * | 2016-10-11 | 2017-05-10 | 北京集奥聚合科技有限公司 | 一种基于sql的查询方法及系统 |
CN106649828A (zh) * | 2016-12-29 | 2017-05-10 | 中国银联股份有限公司 | 一种数据查询方法及系统 |
CN107609130A (zh) * | 2017-09-18 | 2018-01-19 | 链家网(北京)科技有限公司 | 一种选择数据查询引擎的方法及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN109033123A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109033123B (zh) | 基于大数据的查询方法、装置、计算机设备和存储介质 | |
US11481408B2 (en) | Event driven extract, transform, load (ETL) processing | |
US9563426B1 (en) | Partitioned key-value store with atomic memory operations | |
CN112910945A (zh) | 请求链路跟踪方法和业务请求处理方法 | |
CN105447046A (zh) | 一种分布式系统数据一致性处理方法、装置和系统 | |
US11074238B2 (en) | Real-time anonymization | |
US20130024442A1 (en) | System load query governor | |
US9684689B2 (en) | Distributed parallel processing system having jobs processed by nodes based on authentication using unique identification of data | |
US11501000B2 (en) | Auto-injection of security protocols | |
WO2020000716A1 (zh) | 大数据分析系统、服务器、数据处理方法、程序和存储介质 | |
US8260761B2 (en) | Detecting performance degrading design and algorithm issues in database applications | |
CN106469087A (zh) | 元数据输出方法、客户端和元数据服务器 | |
US8635682B2 (en) | Propagating security identity information to components of a composite application | |
CN112235396B (zh) | 内容处理链路调整方法、装置、计算机设备和存储介质 | |
US20210049267A1 (en) | Automated dynamic security testing | |
CN113836237A (zh) | 对数据库的数据操作进行审计的方法及装置 | |
US20190347345A1 (en) | Database independent detection of data changes | |
CN110297849B (zh) | 员工不相容权限筛选方法、装置、计算机设备及存储介质 | |
CN112579705A (zh) | 元数据采集方法、装置、计算机设备和存储介质 | |
US9747193B1 (en) | System and method for automatic root cause detection | |
CN116991675A (zh) | 一种异常访问监控方法、装置、计算机设备及存储介质 | |
CN115658794A (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
CN112583890B (zh) | 基于企业办公系统的消息推送方法、装置和计算机设备 | |
CN113961586A (zh) | 一种sql语句的控制方法及装置 | |
CN112286876A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |