CN111026709A - 基于集群访问的数据处理方法及装置 - Google Patents
基于集群访问的数据处理方法及装置 Download PDFInfo
- Publication number
- CN111026709A CN111026709A CN201911258658.1A CN201911258658A CN111026709A CN 111026709 A CN111026709 A CN 111026709A CN 201911258658 A CN201911258658 A CN 201911258658A CN 111026709 A CN111026709 A CN 111026709A
- Authority
- CN
- China
- Prior art keywords
- cluster
- data
- access
- cluster system
- index information
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 102
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000026676 system process Effects 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 7
- 238000010276 construction Methods 0.000 claims description 4
- 238000007405 data analysis Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 description 13
- 230000000875 corresponding effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 230000002596 correlated effect Effects 0.000 description 9
- 238000001914 filtration Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 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
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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
Abstract
本发明公开了一种基于集群访问的数据处理方法及装置,该方法包括:接收来自客户端的数据请求;基于预先构建的用于索引各个集群系统的第一索引信息,确定数据请求的集群访问类型,集群访问类型包括:单集群访问和跨集群访问;当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成多个子数据请求,使得每个子数据请求用于请求访问一个集群系统上存储的数据;将各个子数据请求发送至各个集群系统,接收各个集群系统基于第二索引信息对各个子数据请求所请求的数据进行处理并返回的数据处理结果,将各个集群系统返回的数据处理结果合并,并返回客户端。本发明将各个集群系统的数据关联后返回客户端,能够避免客户端主机性能受到影响。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于集群访问的数据处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
众所周知,对于大数据领域的应用来说,由于数据量级很大,一个项目环境中往往存在多个集群系统(例如,Hadoop集群系统),分别用于存储不同系统的数据,或者分离冷热数据,而在一些数据统计、检索、分析的场景中,则经常会需要同时对多个集群系统中的数据进行关联查询。例如,一个网管项目环境中,城域网、无线接入网、有线接入网、CDN等分别都有各自的集群系统(例如,Hadoop平台),但在对网络质量或故障定段分析的时候,经常需要进行跨集群访问的数据关联查询。
当需要对多个集群系统(例如,Hadoop集群系统)上存储的数据进行关联处理的时候,现有技术采用的方案是,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种基于集群访问的数据处理方法,用以解决现有技术在对多个集群系统上存储的数据进行关联处理的时候,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大的技术问题,该方法包括:接收来自客户端的数据请求,其中,数据请求用于请求访问一个或多个集群系统上存储的数据;基于预先构建的第一索引信息,确定数据请求的集群访问类型,其中,集群访问类型包括:单集群访问和跨集群访问,第一索引信息用于索引各个集群系统;当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成多个子数据请求,其中,每个子数据请求用于请求访问一个集群系统上存储的数据;将各个子数据请求发送至各个集群系统,并接收各个集群系统返回的数据处理结果,其中,各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,每个集群系统的第二索引信息用于索引每个集群系统上存储的数据;将各个集群系统返回的数据处理结果合并,并返回客户端。
本发明实施例还提供一种基于集群访问的数据处理装置,用以解决现有技术在对多个集群系统上存储的数据进行关联处理的时候,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大的技术问题,该装置包括:数据请求接收模块,用于接收来自客户端的数据请求,其中,数据请求用于请求访问一个或多个集群系统上存储的数据;集群访问类型判断模块,用于基于预先构建的第一索引信息,确定数据请求的集群访问类型,其中,集群访问类型包括:单集群访问和跨集群访问,第一索引信息用于索引各个集群系统;数据请求处理模块,用于当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成多个子数据请求,其中,每个子数据请求用于请求访问一个集群系统上存储的数据;数据处理模块,用于将各个子数据请求发送至各个集群系统,并接收各个集群系统返回的数据处理结果,其中,各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,每个集群系统的第二索引信息用于索引每个集群系统上存储的数据;第一数据响应模块,用于将各个集群系统返回的数据处理结果合并,并返回客户端。
本发明实施例还提供一种计算机设备,用以解决现有技术在对多个集群系统上存储的数据进行关联处理的时候,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于集群访问的数据处理方法。
本发明实施例还提供一种计算机可读存储介质,用以解决现有技术在对多个集群系统上存储的数据进行关联处理的时候,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大的技术问题,该计算机可读存储介质存储有执行上述基于集群访问的数据处理方法的计算机程序。
本发明实施例中,通过预先构建索引各个集群系统的第一索引信息以及每个集群系统内部用于索引索引每个集群系统上存储数据的第二索引信息,在接收到来自客户端的数据请求后,基于第一索引信息,确定数据请求的集群访问类型是单集群访问还是跨集群访问,当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成用于请求访问各个集群系统上存储数据的各个子数据请求,并将各个子数据请求发送至各个集群系统,由各个集群系统基于各自内部第二索引信息对各个子数据请求所请求的数据进行处理得到的数据处理结果,在接收到各个集群系统返回的数据处理结果后,将各个集群系统返回的数据处理结果合并,并返回客户端。
通过本发明实施例,在多个集群系统上构建中间层,并预先在中间层和各个集群系统内部构建索引信息,将各个集群系统上存储的数据进行字段关联,当中间层接收来自客户端的数据请求,根据中间层的索引信息确定数据请求的集群访问类型是否为跨集群访问,并在数据请求的集群访问类型为跨集群访问的情况下,由中间层对各个集群系统的数据处理结果进行关联,无需客户端对各个集群系统的数据处理结果关联,可以避免对客户端主机性能的影响。另外,在中间层对各个集群系统的数据处理结果进行关联之前,由各个集群系统基于各个集群系统内部的索引信息对数据进行筛选过滤,能够大大减少中间层的性能压力和数据传输时的网络带宽压力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中提供的一种基于集群访问的数据处理系统示意图;
图2为本发明实施例中提供的一种基于集群访问的数据处理方法流程图;
图3为本发明实施例中提供的一种基于集群访问的数据处理装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本申请的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
本发明实施例中提供了一种基于集群访问的数据处理系统,图1为本发明实施例中提供的一种基于集群访问的数据处理系统示意图,如图1所示,该系统可以包括:客户端101、中间层服务器102和多个集群系统(图1中示出了两个,即第一集群系统103A和第二集群系统103B)。
其中,客户端101,用于发送数据请求,其中,数据请求用于请求访问一个或多个集群系统上存储的数据;中间层服务器102,连接于客户端101与各个集群系统(例如,第一集群系统103A和第二集群系统103B)之间,用于接收来自客户端的数据请求,基于预先构建的第一索引信息,确定数据请求的集群访问类型,当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成多个子数据请求,将各个子数据请求发送至各个集群系统;各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,并将各个子数据请求的数据处理结果返回至中间层服务器102;中间层服务器102将各个集群系统返回的数据处理结果合并,并返回客户端。需要注意的是,中间层服务器102可以基于第一索引信息对各个集群系统返回的数据处理结果进行合并。
需要说明的是,本发明实施例提供的基于集群访问的数据处理系统中,中间层服务器102可以同时连接多个集群系统(Hadoop集群系统),并访问各个集群系统上存储的数据,调用计算资源进行数据筛选或关联,还可以将中间层服务器或其他集群系统上的数据回写至各个集群系统中。通过中间层服务器对各个集群系统的数据处理结果(数据查询或计算结果)进行关联,关联后返回客户端,避免影响客户端关联数据导致主机性能受到影响。
基于同一发明构思,本发明实施例中还提供了一种基于集群访问的数据处理方法,可以应用但不限于图1所示的中间层服务器。
图2为本发明实施例中提供的一种基于集群访问的数据处理方法流程图,如图2所示,该方法可以包括如下步骤:
S201,接收来自客户端的数据请求,其中,数据请求用于请求访问一个或多个集群系统上存储的数据。
需要说明的是,本发明实施例中的客户端可以是任意一种能够访问网络的设备,包括但不限于:手机、笔记本电脑、计算机等;上述S201中的数据请求可以是基于集群访问的数据查询请求或数据计算请求,优选地,可以是对大数据查询或计算的数据请求。
S202,基于预先构建的第一索引信息,确定数据请求的集群访问类型,其中,集群访问类型包括:单集群访问和跨集群访问,第一索引信息用于索引各个集群系统。
可选地,当数据请求的集群访问类型为单集群访问的情况下,将数据请求发送到相应的集群系统,接收相应集群系统返回的数据处理结果,并返回至客户端。
本发明实施例中第一索引信息可以是预先构建的用于索引各个集群系统上存储的数据的索引信息,作为一种可选的实施方式,可以通过如下步骤来构建第一索引信息:采集各个集群系统上存储的数据的数据标识与字段信息;根据各个集群系统上存储的数据的数据标识与字段信息,生成索引每个集群系统上存储数据的第二索引信息;根据各个集群系统上的集群标识,以及各个集群系统内部的第二索引信息,生成索引各个集群系统第一索引信息。
具体地,上述S202可以通过如下步骤来确定数据请求的集群访问类型:解析数据请求,得到待请求数据的字段信息;基于预先构建的第一索引信息,筛选出满足待请求数据字段信息的一个或多个数据标识;如果筛选出的每个数据标识在第一索引信息中对应多个集群标识,则确定数据请求的集群访问类型为跨集群访问;如果筛选出的每个数据标识在第一索引信息中对应一个集群标识,则确定数据请求的集群访问类型为单集群访问。
S203,当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成多个子数据请求,其中,每个子数据请求用于请求访问一个集群系统上存储的数据。
需要说明的是,对于在跨集群访问的数据请求,请求访问的数据存储在多个集群系统上,因而,在确定数据请求的集群访问类型为跨集群访问的情况下,可以将数据请求根据需要从不同集群系统上查询的数据,拆分为不同的子数据请求,以便将每个集群系统对应的子数据请求发送到相应的集群系统上,每个集群系统仅需要对其子数据请求进行数据查询和处理即可。
S204,将各个子数据请求发送至各个集群系统,并接收各个集群系统返回的数据处理结果,其中,各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,每个集群系统的第二索引信息用于索引每个集群系统上存储的数据。
需要注意的是,如果将各个子数据请求发送到各个集群系统上后,将各个集群系统查询到的数据返回到中间层处理,不仅需要很大的网络传输带宽,而且会占用过多中间层主机的系统资源,从而影响中间层主机的系统性能。本发明实施例通过上述S204将各个子数据请求发送至各个集群系统,由各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,能够减轻中间层的数据处理压力。关于第二索引信息的构建,可以参考上文,此处不再赘述。
S205,将各个集群系统返回的数据处理结果合并,并返回客户端。
需要说明的是,当中间层主机接收到各个集群系统返回的各个子数据请求的数据处理结果后,将各个子数据请求的数据处理结果进行合并后返回客户端,能够避免客户端关联各个集群系统的数据处理结果,导致客户端性能受到影响的问题。
以数据查询请求为例,客户端发送的数据查询请求不直接访问各个集群系统,而是通过中间层接收来自客户端的数据请求,并由中间层解析查询逻辑,判断是否需要进行跨集群访问;如果是单集群访问,则将查询逻辑直接透传给对应的集群系统(例如,Hadoop集群系统),申请资源(CPU或内存等系统资源)进行计算或直接进行查询,将结果返回给中间层,再透传给客户端;如果是跨集群访问,则分别查询相关的各个集群,检索是否存在对应的二级索引(第二索引信息),当存在二级索引时,先通过索引进行数据条数的过滤,再筛选数据,否则直接对相关全量文件进行数据筛选。当各个集群系统对数据处理后,将将各个集群系统的数据处理结果返回中间层,先关联一级索引(第一索引信息)进行数据过滤,然后再将过滤结果关联合并。
如图1所示,假设第一集群系统103A和第二集群系统103B均存储了自然人的相关数据,其中,第一集群系统103A存储的是某个地市的就业数据,第二集群系统103B存储的是某个地市的户籍数据,如果想要对第一集群系统103A和第二集群系统103B中的数据进行关联查询,查询在该地工作且落户的人群信息,并对一些其他条件(如收入达到XXXX,落户时间超过N年等)进行筛选。一种可能的场景是,第一集群系统103A中有自然人a、b、c,第二集群系统103B中有自然人c、d、e,采用本发明实施例提供的基于集群访问的数据处理方案,可以由中间层对自然人ID进行索引关联,关联后发现只有自然人c在两个集群系统中都有存储,因而,可以将查询条件修改为分别从两个集群系统中查询自然人c的信息,并进行条件筛选,等查询完毕后,在中间层再将两个集群的查询结果进行关联合并。
可见,现有的跨集群数据查询方案,对于一个自然人的查询,需要在每个集群对所有自然人进行扫描,例如,对于上述第一集群系统103A中的自然人a、b、c,至少要扫描三条记录,而对于第二集群系统103B中的自然人c、d、e,也需要至少要扫描三条记录,但本发明实施例在通过索引信息进行预关联后,实际在各集群中只需要扫描一条记录。
由上可知,本发明实施例提供的基于集群访问的数据处理方法,通过预先构建索引各个集群系统的第一索引信息以及每个集群系统内部用于索引索引每个集群系统上存储数据的第二索引信息,在接收到来自客户端的数据请求后,基于第一索引信息,确定数据请求的集群访问类型是单集群访问还是跨集群访问,当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成用于请求访问各个集群系统上存储数据的各个子数据请求,并将各个子数据请求发送至各个集群系统,由各个集群系统基于各自内部第二索引信息对各个子数据请求所请求的数据进行处理得到的数据处理结果,在接收到各个集群系统返回的数据处理结果后,将各个集群系统返回的数据处理结果合并,并返回客户端。
通过本发明实施例提供的基于集群访问的数据处理方法,在多个集群系统上构建中间层,并预先在中间层和各个集群系统内部构建索引信息,将各个集群系统上存储的数据进行字段关联,当中间层接收来自客户端的数据请求,根据中间层的索引信息确定数据请求的集群访问类型是否为跨集群访问,并在数据请求的集群访问类型为跨集群访问的情况下,由中间层对各个集群系统的数据处理结果进行关联,无需客户端对各个集群系统的数据处理结果关联,可以避免对客户端主机性能的影响。另外,在中间层对各个集群系统的数据处理结果进行关联之前,由各个集群系统基于各个集群系统内部的索引信息对数据进行筛选过滤,能够大大减少中间层的性能压力和数据传输时的网络带宽压力。
作为一种可选的实施方式,以Hadoop集群系统为例,本发明实施例中构建和维护索引信息的方法如下:
(1)通过手工维护或根据配置信息自动连接并检索Hadoop集群上数据目录的方式,收集各集群上的目录结构、文件类型和数据样本.
(2)通过手工配置或对带Schema信息的文件类型(如xml、ison、orc)进行自动解析的方式,获取文件的字段含义。由于这些文件本身包含schema信息,即从文件中能解析出每一列的列名甚至字段格式,解析时完整加载或者部分加载文件,从加载对象里提取Schema信息。
(3)在根据可能参与数据关联的文件核心字段构建中间层的第一层索引信息(即第一索引信息):
①相互间会进行关联的字段集中索引;
②索引使用支持主键/_id/Rowkey的数据存储(rdb/es/hbase等),或者key-value型的数据存储(TiKV、Redis等),或直接使用哈希表缓存的方式存储;
③存储时,以文件内每行数据中带唯一性标识的字段取值为key值/主键,以Hadoop集群标识、文件位置、文件名、文件内行号等信息为value,因为同一个取值在各数据源会有多份存储,不同的存储位置以集合/数据/散列等形式进行管理;
④索引的key值排序后在中间层单独进行存储。
(4)在各个Hadoop集群系统内构建第二层索引信息(即第二索引信息):
①在中间层遍历首层索引,当某个索引管理的记录量级达到预配置的阈值时,该索引推送到数据相关的各个集群上;
②二层索引的key值与首层索引相同,value为该key值相关的Hadoop集群标识;
③在中间层登记二层索引相关信息,至少包括涉及的集群标识、相关目录、相关数据量级等。
假设只有两个集群,在构建某项索引的时候,如果两个集群中的数据量比较接近,且数据量都比较大,那么索引建在中间层是比较合适的,数据关联查询的时候,将双方数据都推送到中间层进行关联筛选。但如果两个集群对应的数据量存在数据倾斜,将数据都推送到中间层去过滤,就不如将数据量少的那个集群对应索引直接推送到数据量多的那个集群中去,直接在集群内本地关联筛选效率更高了。
本发明实施例中,在多个集群系统(例如,Hadoop集群系统)之上构建中间层,并在中间层维护第一层索引信息,在每个集群系统内部维护第二层索引信息;且索引维护支持幂等,通过以索引值为Key/主键/唯一键的方式,在注册索引的同时进行数据关联。
需要注意的是,第一层索引信息用于将各个hadoop集群的数据源中的数据的唯一标识进行索引,在索引的同时对数据进行关联。例如,多个集群中都存储了某个自然人的若干信息,存储主键是自然人的身份证号,则在第一层索引中,以身份证号为key,这个自然人各项数据在各个集群中的存储地址信息为对应的value值。第二层索引信息的结构与第一层索引信息一致,区别在于第一层索引过滤数据时,需要把数据推送到中间层再进行关联后的过滤筛选,而第二层索引可以直接在某一个集群内部直接进行数据的预关联与筛选过滤。
基于同一发明构思,本发明实施例中还提供了一种基于集群访问的数据处理装置,如下面的实施例所述。由于该装置实施例解决问题的原理与基于集群访问的数据处理方法相似,因此该装置实施例的实施可以参见方法的实施,重复之处不再赘述。
图3为本发明实施例中提供的一种基于集群访问的数据处理装置示意图,如图3所示,该装置可以包括:数据请求接收模块31、集群访问类型判断模块32、数据请求处理模块33、数据处理模块34和第一数据响应模块35。
其中,数据请求接收模块31,用于接收来自客户端的数据请求,其中,数据请求用于请求访问一个或多个集群系统上存储的数据;集群访问类型判断模块32,用于基于预先构建的第一索引信息,确定数据请求的集群访问类型,其中,集群访问类型包括:单集群访问和跨集群访问,第一索引信息用于索引各个集群系统;数据请求处理模块33,用于当数据请求的集群访问类型为跨集群访问的情况下,根据数据请求,生成多个子数据请求,其中,每个子数据请求用于请求访问一个集群系统上存储的数据;数据处理模块34,用于将各个子数据请求发送至各个集群系统,并接收各个集群系统返回的数据处理结果,其中,各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,每个集群系统的第二索引信息用于索引每个集群系统上存储的数据;第一数据响应模块35,用于将各个集群系统返回的数据处理结果合并,并返回客户端。
由上可知,本发明实施例提供的基于集群访问的数据处理装置,通过预先构建索引各个集群系统的第一索引信息以及每个集群系统内部用于索引索引每个集群系统上存储数据的第二索引信息,在通过数据请求接收模块31接收到来自客户端的数据请求后,通过集群访问类型判断模块32基于第一索引信息,确定数据请求的集群访问类型是单集群访问还是跨集群访问,当数据请求的集群访问类型为跨集群访问的情况下,通过数据请求处理模块33根据数据请求,生成用于请求访问各个集群系统上存储数据的各个子数据请求,并通过数据处理模块34将各个子数据请求发送至各个集群系统,并接收各个集群系统基于各自内部第二索引信息对各个子数据请求所请求的数据进行处理得到的数据处理结果,通过第一数据响应模块35将各个集群系统返回的数据处理结果合并,并返回客户端。
通过本发明实施例提供的基于集群访问的数据处理装置,在多个集群系统上构建中间层,并预先在中间层和各个集群系统内部构建索引信息,将各个集群系统上存储的数据进行字段关联,当中间层接收来自客户端的数据请求,根据中间层的索引信息确定数据请求的集群访问类型是否为跨集群访问,并在数据请求的集群访问类型为跨集群访问的情况下,由中间层对各个集群系统的数据处理结果进行关联,无需客户端对各个集群系统的数据处理结果关联,可以避免对客户端主机性能的影响。另外,在中间层对各个集群系统的数据处理结果进行关联之前,由各个集群系统基于各个集群系统内部的索引信息对数据进行筛选过滤,能够大大减少中间层的性能压力和数据传输时的网络带宽压力。
在一种可选的实施例中,本发明实施例提供的基于集群访问的数据处理装置还可以包括:第二数据响应模块36,用于当数据请求的集群访问类型为单集群访问的情况下,将数据请求发送到相应的集群系统,接收相应集群系统返回的数据处理结果,并返回至客户端。
在一种可选的实施例中,本发明实施例提供的基于集群访问的数据处理装置还可以包括:数据信息采集模块37,用于采集各个集群系统上存储的数据的数据标识与字段信息;第二索引信息构建模块38,用于根据各个集群系统上存储的数据的数据标识与字段信息,生成索引每个集群系统上存储数据的第二索引信息;第一索引信息构建模块39,用于根据各个集群系统上的集群标识,以及各个集群系统内部的第二索引信息,生成索引各个集群系统第一索引信息。
如图3所示,在一种可选的实施例中,本发明实施例提供的基于集群访问的数据处理装置中,集群访问类型判断模块32包括:数据解析模块321,用于解析数据请求,得到待请求数据的字段信息;数据筛选模块322,用于基于预先构建的第一索引信息,筛选出满足待请求数据字段信息的一个或多个数据标识;第一执行模块323,用于如果筛选出的每个数据标识在第一索引信息中对应多个集群标识,则确定数据请求的集群访问类型为跨集群访问;第二执行模块324,用于如果筛选出的每个数据标识在第一索引信息中对应一个集群标识,则确定数据请求的集群访问类型为单集群访问。
基于同一发明构思,本发明实施例还提供一种计算机设备,用以解决现有技术在对多个集群系统上存储的数据进行关联处理的时候,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大的技术问题,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于集群访问的数据处理方法。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,用以解决现有技术在对多个集群系统上存储的数据进行关联处理的时候,由各个集群系统对数据进行处理后,在客户端对各个集群系统的数据处理结果进行关联,导致客户端主机性能受到影响且网络传输带宽压力比较大的技术问题,该计算机可读存储介质存储有执行上述基于集群访问的数据处理方法的计算机程序。
综上所述,本发明实施例提供了一种基于集群访问的数据处理方法、装置、计算机设备及计算机可读存储介质,通过在多个集群系统之上构建中间层,预先在各集群内部和中间层内构建索引,其中,在中间层维护第一索引信息,在每个集群系统内部维护第二索引信息,以索引值为Key/主键/唯一键的方式,在注册索引的同时进行数据关联。在接收到来自客户端的数据请求后,由中间层解析数据处理逻辑,判断是否需要进行跨集群访问,如果是单集群访问,将处理逻辑直接透传给相应的集群系统,申请资源进行计算或直接进行处理,将集群系统的数据处理结果通过中间层透传给客户端;如果是跨集群访问,则在各集群内部通过二级索引进行部分数据筛选过滤,再到中间层进行关联,大大减少中间层的性能压力和数据传输时的网络带宽压力。本发明实施例通过中间层实现各个集群系统的数据关联,不会增加对客户端主机性能的压力,以及数据传输时的网络带宽压力。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于集群访问的数据处理方法,其特征在于,包括:
接收来自客户端的数据请求,其中,所述数据请求用于请求访问一个或多个集群系统上存储的数据;
基于预先构建的第一索引信息,确定所述数据请求的集群访问类型,其中,所述集群访问类型包括:单集群访问和跨集群访问,所述第一索引信息用于索引各个集群系统;
当所述数据请求的集群访问类型为跨集群访问的情况下,根据所述数据请求,生成多个子数据请求,其中,每个子数据请求用于请求访问一个集群系统上存储的数据;
将各个子数据请求发送至各个集群系统,并接收各个集群系统返回的数据处理结果,其中,各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,每个集群系统的第二索引信息用于索引每个集群系统上存储的数据;
将各个集群系统返回的数据处理结果合并,并返回所述客户端。
2.如权利要求1所述的方法,其特征在于,在基于预先构建的第一索引信息,根据所述数据请求包含的字段信息,确定所述数据请求的集群访问类型之后,所述方法还包括:
当所述数据请求的集群访问类型为单集群访问的情况下,将所述数据请求发送到相应的集群系统,接收相应集群系统返回的数据处理结果,并返回至所述客户端。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
采集各个集群系统上存储的数据的数据标识与字段信息;
根据各个集群系统上存储的数据的数据标识与字段信息,生成索引每个集群系统上存储数据的第二索引信息;
根据各个集群系统上的集群标识,以及各个集群系统内部的第二索引信息,生成索引各个集群系统第一索引信息。
4.如权利要求1至3任一项所述的方法,其特征在于,基于预先构建的第一索引信息,确定所述数据请求的集群访问类型,包括:
解析所述数据请求,得到待请求数据的字段信息;
基于预先构建的第一索引信息,筛选出满足待请求数据字段信息的一个或多个数据标识;
如果筛选出的每个数据标识在所述第一索引信息中对应多个集群标识,则确定所述数据请求的集群访问类型为跨集群访问;
如果筛选出的每个数据标识在所述第一索引信息中对应一个集群标识,则确定所述数据请求的集群访问类型为单集群访问。
5.一种基于集群访问的数据处理装置,其特征在于,包括:
数据请求接收模块,用于接收来自客户端的数据请求,其中,所述数据请求用于请求访问一个或多个集群系统上存储的数据;
集群访问类型判断模块,用于基于预先构建的第一索引信息,确定所述数据请求的集群访问类型,其中,所述集群访问类型包括:单集群访问和跨集群访问,所述第一索引信息用于索引各个集群系统;
数据请求处理模块,用于当所述数据请求的集群访问类型为跨集群访问的情况下,根据所述数据请求,生成多个子数据请求,其中,每个子数据请求用于请求访问一个集群系统上存储的数据;
数据处理模块,用于将各个子数据请求发送至各个集群系统,并接收各个集群系统返回的数据处理结果,其中,各个集群系统基于各自内部预先构建的第二索引信息,对各个子数据请求所请求的数据进行处理,每个集群系统的第二索引信息用于索引每个集群系统上存储的数据;
第一数据响应模块,用于将各个集群系统返回的数据处理结果合并,并返回所述客户端。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
第二数据响应模块,用于当所述数据请求的集群访问类型为单集群访问的情况下,将所述数据请求发送到相应的集群系统,接收相应集群系统返回的数据处理结果,并返回至所述客户端。
7.如权利要求5所述的装置,其特征在于,所述装置还包括:
数据信息采集模块,用于采集各个集群系统上存储的数据的数据标识与字段信息;
第二索引信息构建模块,用于根据各个集群系统上存储的数据的数据标识与字段信息,生成索引每个集群系统上存储数据的第二索引信息;
第一索引信息构建模块,用于根据各个集群系统上的集群标识,以及各个集群系统内部的第二索引信息,生成索引各个集群系统第一索引信息。
8.如权利要求5至7任一项所述的装置,其特征在于,所述集群访问类型判断模块包括:
数据解析模块,用于解析所述数据请求,得到待请求数据的字段信息;
数据筛选模块,用于基于预先构建的第一索引信息,筛选出满足待请求数据字段信息的一个或多个数据标识;
第一执行模块,用于如果筛选出的每个数据标识在所述第一索引信息中对应多个集群标识,则确定所述数据请求的集群访问类型为跨集群访问;
第二执行模块,用于如果筛选出的每个数据标识在所述第一索引信息中对应一个集群标识,则确定所述数据请求的集群访问类型为单集群访问。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4任一项所述基于集群访问的数据处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至4任一项所述基于集群访问的数据处理方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258658.1A CN111026709B (zh) | 2019-12-10 | 2019-12-10 | 基于集群访问的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911258658.1A CN111026709B (zh) | 2019-12-10 | 2019-12-10 | 基于集群访问的数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026709A true CN111026709A (zh) | 2020-04-17 |
CN111026709B CN111026709B (zh) | 2024-03-12 |
Family
ID=70205293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911258658.1A Active CN111026709B (zh) | 2019-12-10 | 2019-12-10 | 基于集群访问的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026709B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112463755A (zh) * | 2020-12-11 | 2021-03-09 | 同济大学 | 基于hdfs的异构物联网大数据的存储与读取系统及方法 |
CN113726827A (zh) * | 2020-05-25 | 2021-11-30 | 北京同邦卓益科技有限公司 | 基于分布式集群的数据包处理方法和装置 |
CN114610719A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 跨集群数据处理方法、装置、电子设备以及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182264A1 (en) * | 2002-03-20 | 2003-09-25 | Wilding Mark F. | Dynamic cluster database architecture |
US20050050028A1 (en) * | 2003-06-13 | 2005-03-03 | Anthony Rose | Methods and systems for searching content in distributed computing networks |
CN107508795A (zh) * | 2017-07-26 | 2017-12-22 | 中国联合网络通信集团有限公司 | 跨容器集群的访问处理装置及方法 |
CN107818268A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 大数据平台的访问控制方法及服务器 |
CN108573063A (zh) * | 2018-04-27 | 2018-09-25 | 宁波银行股份有限公司 | 一种数据查询方法及系统 |
CN109063077A (zh) * | 2018-07-24 | 2018-12-21 | 新华三大数据技术有限公司 | 一种基于弹性搜索的数据访问方法及装置 |
CN109726191A (zh) * | 2018-12-12 | 2019-05-07 | 中国联合网络通信集团有限公司 | 一种跨集群数据的处理方法和系统、存储介质 |
US20190146681A1 (en) * | 2016-05-25 | 2019-05-16 | Hangzhou Hikvision Digital Technology Co., Ltd. | Data writing and reading method and apparatus, and distributed object storage cluster |
CN110019080A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
WO2019179026A1 (zh) * | 2018-03-21 | 2019-09-26 | 平安科技(深圳)有限公司 | 电子装置、集群访问域名自动生成方法及存储介质 |
US20190303373A1 (en) * | 2012-05-15 | 2019-10-03 | Splunk, Inc. | Using an electron process to determine a primary indexer for responding to search queries including generation identifiers |
-
2019
- 2019-12-10 CN CN201911258658.1A patent/CN111026709B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030182264A1 (en) * | 2002-03-20 | 2003-09-25 | Wilding Mark F. | Dynamic cluster database architecture |
US20050050028A1 (en) * | 2003-06-13 | 2005-03-03 | Anthony Rose | Methods and systems for searching content in distributed computing networks |
US20190303373A1 (en) * | 2012-05-15 | 2019-10-03 | Splunk, Inc. | Using an electron process to determine a primary indexer for responding to search queries including generation identifiers |
US20190146681A1 (en) * | 2016-05-25 | 2019-05-16 | Hangzhou Hikvision Digital Technology Co., Ltd. | Data writing and reading method and apparatus, and distributed object storage cluster |
CN110019080A (zh) * | 2017-07-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据访问方法和装置 |
CN107508795A (zh) * | 2017-07-26 | 2017-12-22 | 中国联合网络通信集团有限公司 | 跨容器集群的访问处理装置及方法 |
CN107818268A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 大数据平台的访问控制方法及服务器 |
WO2019179026A1 (zh) * | 2018-03-21 | 2019-09-26 | 平安科技(深圳)有限公司 | 电子装置、集群访问域名自动生成方法及存储介质 |
CN108573063A (zh) * | 2018-04-27 | 2018-09-25 | 宁波银行股份有限公司 | 一种数据查询方法及系统 |
CN109063077A (zh) * | 2018-07-24 | 2018-12-21 | 新华三大数据技术有限公司 | 一种基于弹性搜索的数据访问方法及装置 |
CN109726191A (zh) * | 2018-12-12 | 2019-05-07 | 中国联合网络通信集团有限公司 | 一种跨集群数据的处理方法和系统、存储介质 |
Non-Patent Citations (2)
Title |
---|
瞿龙俊;李星毅;: "一种基于TwemProxy的HBase索引缓存方案", 信息技术 * |
苟丽美;张锋叶;林国华;: "基于Zookeeper的GIS集群实现", 计算机工程与设计 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726827A (zh) * | 2020-05-25 | 2021-11-30 | 北京同邦卓益科技有限公司 | 基于分布式集群的数据包处理方法和装置 |
CN112463755A (zh) * | 2020-12-11 | 2021-03-09 | 同济大学 | 基于hdfs的异构物联网大数据的存储与读取系统及方法 |
CN114610719A (zh) * | 2022-03-15 | 2022-06-10 | 云粒智慧科技有限公司 | 跨集群数据处理方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111026709B (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5298117B2 (ja) | 分散コンピューティングにおけるデータマージング | |
US9507807B1 (en) | Meta file system for big data | |
CN111026709B (zh) | 基于集群访问的数据处理方法及装置 | |
JP2017512338A (ja) | 第一クラスデータベース要素としての半構造データの実装 | |
CN107038161B (zh) | 一种用于过滤数据的设备及方法 | |
CN104239377A (zh) | 跨平台的数据检索方法及装置 | |
US9430525B2 (en) | Access plan for a database query | |
CN107515879B (zh) | 用于文档检索的方法和电子设备 | |
US20140244606A1 (en) | Method, apparatus and system for storing, reading the directory index | |
WO2022083436A1 (zh) | 数据处理方法、装置、设备及可读存储介质 | |
US10152510B2 (en) | Query hint learning in a database management system | |
US20140019454A1 (en) | Systems and Methods for Caching Data Object Identifiers | |
CN103455335A (zh) | 一种多级分类的Web实现方法 | |
CN108268468B (zh) | 一种大数据的分析方法及系统 | |
US10262024B1 (en) | Providing consistent access to data objects transcending storage limitations in a non-relational data store | |
CN111723161A (zh) | 一种数据处理方法、装置及设备 | |
CN110597852A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN112162707A (zh) | 用于分布式存储系统的存储方法、电子设备及存储介质 | |
CN103248511B (zh) | 一种单点业务性能的分析方法、装置和系统 | |
US11567969B2 (en) | Unbalanced partitioning of database for application data | |
CN117171108A (zh) | 一种虚拟模型映射方法和系统 | |
CN110909072B (zh) | 一种数据表建立方法、装置及设备 | |
CN107291875B (zh) | 一种基于元数据图的元数据组织管理方法和系统 | |
CN116226250A (zh) | 针对发电领域海量时序数据管理的汇聚式管理方法及系统 | |
CN108932258A (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 |