CN111949856B - 基于web的对象存储查询方法及装置 - Google Patents
基于web的对象存储查询方法及装置 Download PDFInfo
- Publication number
- CN111949856B CN111949856B CN202010804599.XA CN202010804599A CN111949856B CN 111949856 B CN111949856 B CN 111949856B CN 202010804599 A CN202010804599 A CN 202010804599A CN 111949856 B CN111949856 B CN 111949856B
- Authority
- CN
- China
- Prior art keywords
- queried
- query
- target
- target object
- address corresponding
- 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
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000002776 aggregation Effects 0.000 claims abstract description 22
- 238000004220 aggregation Methods 0.000 claims abstract description 22
- 230000015654 memory Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 230000004931 aggregating effect Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 22
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012795 verification Methods 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- 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)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于web的对象存储查询方法及装置,涉及计算机技术领域,包括接收web客户端发送的针对目标对象存储查询请求;基于预先确定的目标对象存储的Hive元数据,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;基于待查询对象对应的存储地址以及待查询的表字段,从目标对象存储中获取目标内容,并对目标内容进行聚合操作,得到查询结果;将查询结果发送至web客户端。以此可以实现快速,高效的对对象存储进行查询,并且用户可以得到更清晰的查询结果,提升了查询效率。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种基于web的对象存储查询方法及装置。
背景技术
随着云计算的快速发展,对象存储作为一个价格低廉、稳定、高效的存储存统被广泛应用,有格式化文件,比如网民的访问行为日志,还有非格式化文件,如视频文件等。当格式化存在对象存储后如何快捷使用是大家面临的一个问题,如何做到低成本且高效的使用是一个较大的挑战。
当前分析数据存储数据的方案如下:通过调用对象存储接口,使用curl、wget或sdk编写程序将对象下载到本地,然后使用shell、Python等开发语言编程实现。或者,搭建hadoop集群,使用hadoop访问对象存储数据,通过编写MapReduce、Spark程序进行统计分析,也可以通过hive访问对象存储数据。
但是,对于上述方案,对资源需求量大、成本高,每次需要将数据从对象存储拉取到本地,对本地磁盘的存储空间需求量比较大,同时也会带来带宽成本;耗时长,从对象拉取数据耗时长,由于是单机计算效率低。不易上手,需要有一定的开发能力,需要了解对象存储接口和脚本编程。
发明内容
本发明的目的在于提供一种基于web的对象存储查询方法及装置,以缓解了现有技术中存在的查询效率低的技术问题。
第一方面,本发明实施例提供一种基于web的对象存储查询方法,包括:
接收web客户端发送的针对目标对象存储查询请求,所述查询请求包括结构化查询语言(Structured Query Language,SQL)语句;
基于预先确定的所述目标对象存储的Hive元数据,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;
基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容,并对所述目标内容进行聚合操作,得到查询结果;
将所述查询结果发送至所述web客户端。
在可选的实施方式中,基于预先确定的所述目标对象存储的Hive元数据,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段的步骤,包括:
基于预先确定的配置数据库中的预设要求,对所述SQL语句的格式进行变更;
基于预先确定的所述目标对象存储的Hive元数据以及变更后的所述SQL语句,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段。
在可选的实施方式中,在接收web客户端发送的针对目标对象存储查询请求的步骤之后,所述方法还包括:
向权限管理系统申请所述目标对象存储的访问许可;
在接收到所述权限管理系统发送的许可指示后,执行基于预先确定的所述目标对象存储的Hive元数据以及变更后的所述SQL语句,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段的步骤。
在可选的实施方式中,在向权限管理系统申请所述目标对象存储的访问许可的步骤之前,所述方法还包括:
向权限管理系统请求判断所述web客户端是否具有操作所述目标对象存储的权限;
如果存在则执行向权限管理系统申请所述目标对象存储的访问许可的步骤。
在可选的实施方式中,基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容的步骤,包括:
基于所述待查询对象对应的存储地址以及待查询的表字段生成多个子任务;
并行执行所述子任务分别得到目标内容。
在可选的实施方式中,对所述目标内容进行聚合操作,得到查询结果的步骤,包括:
分别对目标内容进行第一次聚合得到子结果;
对所述子结果进行第二次聚合得到所述查询结果。
在可选的实施方式中,基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容,并对所述目标内容进行聚合操作,得到查询结果的步骤基于MPP架构实现。
第二方面,本发明实施例提供一种基于web的对象存储查询装置,包括:
接收模块,用于接收web客户端发送的针对目标对象存储查询请求,所述查询请求包括结构化查询语言SQL语句;
确定模块,用于基于预先确定的所述目标对象存储的Hive元数据,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;
获取模块,用于基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容,并对所述目标内容进行聚合操作,得到查询结果;
发送模块,用于将所述查询结果发送至所述web客户端。
第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述前述实施方式任一项所述的方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述前述实施方式任一项所述的方法。
本发明提供的一种基于web的对象存储查询方法及装置,通过接收web客户端发送的针对目标对象存储查询请求;基于预先确定的目标对象存储的Hive元数据,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;基于待查询对象对应的存储地址以及待查询的表字段,从目标对象存储中获取目标内容,并对目标内容进行聚合操作,得到查询结果;将查询结果发送至web客户端。以此可以实现快速,高效的对对象存储进行查询,并且用户可以得到更清晰的查询结果,提升了查询效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种基于web的对象存储查询方法流程示意图;
图2为本申请实施例提供的一种基于web的对象存储查询系统的结构示例;
图3为本申请实施例提供的一种基于web的对象存储查询方法的一个示例;
图4为本申请实施例提供的一种基于web的对象存储查询装置结构示意图;
图5为本申请实施例提供的一种计算机设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
图1为本发明实施例提供的一种基于web的对象存储查询方法流程示意图。该方法适用于web服务器。如图1所示,该方法具体可以包括如下步骤:
S110,接收web客户端发送的针对目标对象存储查询请求,该查询请求包括SQL语句。
对象存储(Object Storage)是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。就像文件一样,对象包含数据,但是和文件不同的是,对象在一个层结构中不会再有层级结构。
用户可以在web客户端创建数据库和表相关操作。例如,用户创建表时可以指定数据所在对象存储的bucket,可以支持多种数据类型,如文本、ORC、JSON、GZ、PARQUET、AVRO等格式,在表创建成功后,可以将相关元信息保存在Hive的metastore中。web客户端可以通过http接口进行任务提交,任务提交成功后数据保存到数据库做状态记录,同时将任务发给查询引擎进行数据查询分析。该任务可以为查询请求,该查询请求可以包括用户创建的SQL语句。例如,该SQL语句可以为“SELECT name,score,area;FROM sample-database.person-score;WHERE name like‘A%’AND area in(‘LA’,‘CN’)”。
作为一个示例,可以在云服务商的官网控制台通过web页面发起查询请求,该查询请求中的SQL语句可以为基于web页面编辑得到;作为另一个示例,可以通过接口调用进行发送查询请求,接口调用可以包括通过http或jdbc调用等等。
S120,基于预先确定的目标对象存储的Hive元数据,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段。
其中,Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
S130,基于待查询对象对应的存储地址以及待查询的表字段,从目标对象存储中获取目标内容,并对目标内容进行聚合操作,得到查询结果。
该目标内容可以为基于待查询对象对应的存储地址以及待查询的表字段查询到的内容。对目标内容进行聚合操作,可以是指,按照SQL语句的格式要求,对目标内容进行运算,例如,进行叠加。
S140,将查询结果发送至web客户端。
web客户端在接收到查询结果后,可以显示在用户界面。
本发明实施例通过接收web客户端发送的针对目标对象存储查询请求;基于预先确定的目标对象存储的Hive元数据,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;基于待查询对象对应的存储地址以及待查询的表字段,从目标对象存储中获取目标内容,并对目标内容进行聚合操作,得到查询结果;将查询结果发送至web客户端。以此可以实现快速,高效的对对象存储进行查询,并且用户可以得到更清晰的查询结果,提升了查询效率。
在一些实施例中,还可对SQL语句的格式进行变更,以适应查询要求。其中,该格式进行变更的信息可以存储在数据库中。基于此,上述步骤S120具体可以包括如下步骤:
步骤1.1),基于预先确定的配置数据库中的预设要求,对SQL语句的格式进行变更;
步骤1.2),基于预先确定的目标对象存储的Hive元数据以及变更后的SQL语句,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段。
在一些实施例中,该方法还可以包括权限管理系统,在得到权限管理系统的授权后,才可以对目标对象进行访问,作为一个示例,在步骤S110之后,该方法还可以包括:
步骤2.1),向权限管理系统申请目标对象存储的访问许可;
步骤2.2),在接收到权限管理系统发送的许可指示后,执行基于预先确定的目标对象存储的Hive元数据以及变更后的SQL语句,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段的步骤。
另外,该权限管理系统还可以对用户的权限进行鉴权。作为一个示例,在步骤2.1)之前,该方法还可以包括:
步骤3.1),向权限管理系统请求判断web客户端是否具有操作目标对象存储的权限;
步骤3.2),如果存在则执行向权限管理系统申请目标对象存储的访问许可的步骤。
在一些实施例中,还可以对查询任务进行并行处理,例如,上述步骤S130可以基于MPP(Massively Parallel Processing)架构实现并行处理。
作为一个示例,上述步骤S120具体可以包括:
步骤4.1),基于待查询对象对应的存储地址以及待查询的表字段生成多个子任务;
其中,基于MPP架构实现查询任务的并行处理,可以是指多个数据节点(还可以称为处理节点或子节点)处理同一任务的不同部分时该任务的协调过程。数据节点可以通过互相通信以完成该任务,但各数据节点可以运用自身的资源(例如,内存资源、算力资源等等)。在该MPP架构中,目标对象存储被划分为段并分发给多个数据节点用于并行处理。由于每个数据节点仅并行存储一部分目标对象存储,因此与顺序处理系统中可能的数据库操作相比,该方案可以更快地执行。
步骤4.2),并行执行子任务分别得到目标内容。
基于上述对查询任务划分子任务,并并行执行子任务的情况下,上述步骤S130中对目标内容进行聚合操作,得到查询结果的步骤具体可以包括:
步骤5.1),分别对目标内容进行第一次聚合得到子结果;其中,该第一次聚合可以指对每个子任务查询到的内容分别进行聚合,得到子结果的过程。
步骤5.2),对子结果进行第二次聚合得到查询结果。其中,该第二次聚合可以指将每个子任务得到的子结果进行聚合,得到最终查询结果的过程。
其中,该MPP即为大规模并行处理,可以通过多个计算节点同时进行协同计算,形成一个集群作为一个整体提供数据计算分析服务。有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。
本发明实施例提供了一种基于web数据查询系统,用于实现上述方法,用户可以该系统可以实现数据管理、使用SQL语句进行快速数据查询分析,可以实现任务毫级启动,通过MPP多任务处理实现秒级返回结果,该系统可以采用B-S架构。如图2所示,该系统可以包括用户层、任务管理(层)、执行层以及对象存储。其中,该用户层可以包括控制台和接口,基于该用户层,用户可以创建数据库、表等相关操作,在创建表时根据用户选择的文件类型不同,如:text、parquet、orc、json、avro、gz等格式,会自动读取文件的前几行,根据这几行数据格式自动识别字段类型,如:String、int、bigint等,提升用户开通效率。该用户层可以通过控制台接收用户的查询请求。该任务管理层用于:在控制台或接口鉴权通过后,将任务派发给查询引擎,查询引擎根据系统任务队列进行并发任务执行。该执行层用于:查询引擎负责跟对象存储进行交互,采用MPP架构进行多机并行处理,每个执行机分别取读取对象存储的内容,并进行计算,执行完成后将结果返回给调用端。
作为一个示例,如图3所示,该方法可以包括:前端作为用户使用该系统的入口,当服务开通后,用户可以进行数据库、表、提交任务查询等一系列操作。任务接收模块接收请求后会请求权限管理系统,判断该用户是否有操作该对象的权限,比如修改表、删除表、查询数据等,权限校验通过后会调用任务分发模块。任务分发模块会访问数据库,根据数据库相关配置对查询请求做出变更,使其符合查询引擎的格式要求,同时请求权限管理系统进行临时数据访问授权获得一个临时token,然后将查询请求和token信息发送给查询引擎。查询引擎调用Hive元数据,得到对象存储地址、表字段等信息,然后每个工作节点向对象存储发起http调用信息,并发访问对象存储数据,支持分片查询请求,待数据返回经过一系列运算后交付给管理节点,管理节点进行二次聚合后返回给调用端,这样就完成了一次通过SQL语句查询对象存储的过程。
图4为本发明实施例提供的一种基于web的对象存储查询装置结构示意图。如图4所示,该装置包括:
接收模块401,用于接收web客户端发送的针对目标对象存储查询请求,查询请求包括结构化查询语言SQL语句;
确定模块402,用于基于预先确定的目标对象存储的Hive元数据,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;
获取模块403,用于基于待查询对象对应的存储地址以及待查询的表字段,从目标对象存储中获取目标内容,并对目标内容进行聚合操作,得到查询结果;
发送模块404,用于将查询结果发送至web客户端。
在一些实施例中,确定模块402具体用于:
基于预先确定的配置数据库中的预设要求,对SQL语句的格式进行变更;
基于预先确定的目标对象存储的Hive元数据以及变更后的SQL语句,确定SQL语句对应的待查询对象对应的存储地址以及待查询的表字段。
在一些实施例中,还包括权限模块,用于向权限管理系统申请目标对象存储的访问许可;以及接收权限管理系统发送的许可指示。
在一些实施例中,权限模块还用于:向权限管理系统请求判断web客户端是否具有操作目标对象存储的权限;如果存在则执行向权限管理系统申请目标对象存储的访问许可的步骤。
在一些实施例中,获取模块403具体用于:基于待查询对象对应的存储地址以及待查询的表字段生成多个子任务;并行执行子任务分别得到目标内容。
在一些实施例中,获取模块403具体用于:
分别对目标内容进行第一次聚合得到子结果;
对子结果进行第二次聚合得到查询结果。
本申请实施例提供的基于web的对象存储查询装置,与上述实施例提供的基于web的对象存储查询方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
如图5所示,本申请实施例提供的一种计算机设备700,包括:处理器701、存储器702和总线,所述存储器702存储有所述处理器701可执行的机器可读指令,当电子设备运行时,所述处理器701与所述存储器702之间通过总线通信,所述处理器701执行所述机器可读指令,以执行如上述基于web的对象存储查询方法的步骤。
具体地,上述存储器702和处理器701能够为通用的存储器和处理器,这里不做具体限定,当处理器701运行存储器702存储的计算机程序时,能够执行上述基于web的对象存储查询方法。
对应于上述基于web的对象存储查询方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行上述基于web的对象存储查询方法的步骤。
本申请实施例所提供的基于web的对象存储查询装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本申请实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述移动控制方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的范围。都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种基于web的对象存储查询方法,其特征在于,包括:
接收web客户端发送的针对目标对象存储查询请求,所述查询请求包括结构化查询语言SQL语句;
基于预先确定的所述目标对象存储的Hive元数据,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;
基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容,并对所述目标内容进行聚合操作,得到查询结果;
将所述查询结果发送至所述web客户端。
2.根据权利要求1所述的方法,其特征在于,基于预先确定的所述目标对象存储的Hive元数据,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段的步骤,包括:
基于预先确定的配置数据库中的预设要求,对所述SQL语句的格式进行变更;
基于预先确定的所述目标对象存储的Hive元数据以及变更后的所述SQL语句,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段。
3.根据权利要求2所述的方法,其特征在于,在接收web客户端发送的针对目标对象存储查询请求的步骤之后,所述方法还包括:
向权限管理系统申请所述目标对象存储的访问许可;
在接收到所述权限管理系统发送的许可指示后,执行基于预先确定的所述目标对象存储的Hive元数据以及变更后的所述SQL语句,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段的步骤。
4.根据权利要求3所述的方法,其特征在于,在向权限管理系统申请所述目标对象存储的访问许可的步骤之前,所述方法还包括:
向权限管理系统请求判断所述web客户端是否具有操作所述目标对象存储的权限;
如果存在则执行向权限管理系统申请所述目标对象存储的访问许可的步骤。
5.根据权利要求1所述的方法,其特征在于,基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容的步骤,包括:
基于所述待查询对象对应的存储地址以及待查询的表字段生成多个子任务;
并行执行所述子任务分别得到目标内容。
6.根据权利要求5所述的方法,其特征在于,对所述目标内容进行聚合操作,得到查询结果的步骤,包括:
分别对目标内容进行第一次聚合得到子结果;
对所述子结果进行第二次聚合得到所述查询结果。
7.根据权利要求1所述的方法,其特征在于,基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容,并对所述目标内容进行聚合操作,得到查询结果的步骤基于MPP架构实现。
8.一种基于web的对象存储查询装置,其特征在于,包括:
接收模块,用于接收web客户端发送的针对目标对象存储查询请求,所述查询请求包括结构化查询语言SQL语句;
确定模块,用于基于预先确定的所述目标对象存储的Hive元数据,确定所述SQL语句对应的待查询对象对应的存储地址以及待查询的表字段;
获取模块,用于基于所述待查询对象对应的存储地址以及待查询的表字段,从所述目标对象存储中获取目标内容,并对所述目标内容进行聚合操作,得到查询结果;
发送模块,用于将所述查询结果发送至所述web客户端。
9.一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有机器可运行指令,所述计算机可运行指令在被处理器调用和运行时,所述计算机可运行指令促使所述处理器运行所述权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010804599.XA CN111949856B (zh) | 2020-08-11 | 2020-08-11 | 基于web的对象存储查询方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010804599.XA CN111949856B (zh) | 2020-08-11 | 2020-08-11 | 基于web的对象存储查询方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949856A CN111949856A (zh) | 2020-11-17 |
CN111949856B true CN111949856B (zh) | 2023-12-22 |
Family
ID=73332684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010804599.XA Active CN111949856B (zh) | 2020-08-11 | 2020-08-11 | 基于web的对象存储查询方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949856B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112580319A (zh) * | 2020-12-14 | 2021-03-30 | 京东数字科技控股股份有限公司 | 数据处理的方法、装置、设备及计算机可读存储介质 |
CN113032430B (zh) * | 2021-03-25 | 2023-12-19 | 杭州网易数之帆科技有限公司 | 一种数据处理方法、装置、介质和计算设备 |
CN113177062B (zh) * | 2021-05-25 | 2023-06-09 | 深圳前海微众银行股份有限公司 | 一种数据查询方法及装置 |
CN113780789A (zh) * | 2021-09-02 | 2021-12-10 | 科大国创云网科技有限公司 | 一种统一数据访问服务型的细粒度权限控制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110997B1 (en) * | 2003-05-15 | 2006-09-19 | Oracle International Corporation | Enhanced ad-hoc query aggregation |
CN108984631A (zh) * | 2018-06-20 | 2018-12-11 | 深圳市牛鼎丰科技有限公司 | 一种大数据的生成及调用方法和装置 |
CN111414407A (zh) * | 2020-02-13 | 2020-07-14 | 中国平安人寿保险股份有限公司 | 数据库的数据查询方法、装置、计算机设备及存储介质 |
-
2020
- 2020-08-11 CN CN202010804599.XA patent/CN111949856B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7110997B1 (en) * | 2003-05-15 | 2006-09-19 | Oracle International Corporation | Enhanced ad-hoc query aggregation |
CN108984631A (zh) * | 2018-06-20 | 2018-12-11 | 深圳市牛鼎丰科技有限公司 | 一种大数据的生成及调用方法和装置 |
CN111414407A (zh) * | 2020-02-13 | 2020-07-14 | 中国平安人寿保险股份有限公司 | 数据库的数据查询方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于字符串解析的智能查询方法及其应用;史国友, 范中洲, 贾润东;大连海事大学学报(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111949856A (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111949856B (zh) | 基于web的对象存储查询方法及装置 | |
US11711420B2 (en) | Automated management of resource attributes across network-based services | |
KR101621137B1 (ko) | 아파치 하둡을 위한 로우 레이턴시 쿼리 엔진 | |
CN111901294A (zh) | 一种构建在线机器学习项目的方法及机器学习系统 | |
US20090204593A1 (en) | System and method for parallel retrieval of data from a distributed database | |
CN111597148A (zh) | 用于分布式文件系统的分布式元数据管理方法 | |
US20150220524A1 (en) | Verifying file versions in a networked computing environment | |
Wilkinson et al. | QMachine: commodity supercomputing in web browsers | |
CN110781159B (zh) | Ceph目录文件信息读取方法、装置、服务器及存储介质 | |
US10048991B2 (en) | System and method for parallel processing data blocks containing sequential label ranges of series data | |
Costa et al. | Large-scale volunteer computing over the Internet | |
US7313786B2 (en) | Grid-enabled ANT compatible with both stand-alone and grid-based computing systems | |
US20130282654A1 (en) | Query engine communication | |
CN113868249A (zh) | 一种数据存储方法、装置、计算机设备以及存储介质 | |
Sudarsan et al. | Building a distributed K‐Means model for Weka using remote method invocation (RMI) feature of Java | |
CN113626383A (zh) | 一种数据处理方法、装置及设备 | |
CN107832124B (zh) | 一种在文件处理系统中处理任务的方法和装置 | |
Teregowda et al. | Scaling seersuite in the cloud | |
CN111651531A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN114896211B (zh) | 一种基于云渲染应用的共享资产文件方法及系统 | |
US10133758B2 (en) | Cell-based database management system | |
US11914637B2 (en) | Image scaling cloud database | |
CN113051329B (zh) | 基于接口的数据采集方法、装置、设备及存储介质 | |
Fariz et al. | Improving MapReduce process by mobile agents | |
CN118733672A (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 |