CN106980699B - 一种数据处理平台和*** - Google Patents
一种数据处理平台和*** Download PDFInfo
- Publication number
- CN106980699B CN106980699B CN201710245078.3A CN201710245078A CN106980699B CN 106980699 B CN106980699 B CN 106980699B CN 201710245078 A CN201710245078 A CN 201710245078A CN 106980699 B CN106980699 B CN 106980699B
- Authority
- CN
- China
- Prior art keywords
- data
- incremental
- cluster
- elasticsearch
- recovery
- 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
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理平台和***,其中,所述数据处理平台,包括:相互交互的Spark集群、ElasticSearch集群和HBase集群;Spark集群,用于监测数据库产生的增量数据,对数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群和HBase集群;HBase集群,用于存储Spark集群处理后的增量数据;ElasticSearch集群,用于将处理后的增量数据与快速查询数据合并。通过本发明实施例提供的数据处理平台和***,可以减轻Spark集群的存储压力。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据处理平台和***。
背景技术
目前,随着大数据时代的到来,大数据的存储与查询成为大数据领域的热点之一。大数据就是巨量数据集合,通过分布式的方式存储到大数据存储***中。大数据存储***会在已存储存量数据的基础上,对后来得到的增量数据继续进行存储。而对增量数据的处理可以实时动态的根据数据源的改变,对数据及时处理并将处理结果增量导入数据库以备后续利用。
相关技术中,对增量数据进行处理时,Spark集群会抽取增量数据并做同步分析和存储,完成后Spark集群将同步分析处理后的增量数据导入HBase;HBase对同步分析处理后的增量数据进行抽取,并将抽取的数据导入ElasticSearch,ElasticSearch建立导入的增量数据的索引,从而完成对增量数据的处理。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
随着时间的推移,Spark集群中存储的数据越来越多,存储压力越来越大。
发明内容
有鉴于此,本发明实施例的目的在于提供一种数据处理平台和***,以减轻Spark集群的存储压力。
第一方面,本发明实施例提供了一种数据处理平台,包括:相互交互的Spark集群、ElasticSearch集群和HBase集群;
所述Spark集群,用于监测数据库产生的增量数据,对所述数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群和HBase集群,其中,所述增量数据包括:数据类型标识;
所述HBase集群,用于存储所述Spark集群处理后的所述增量数据;
所述ElasticSearch集群,用于将处理后的所述增量数据与快速查询数据合并。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中:所述ElasticSearch集群,包括:多个ElasticSearch节点;
所述多个ElasticSearch节点分别与所述Spark集群和所述HBase集***互;
所述多个ElasticSearch节点均用于将处理后的所述增量数据与快速查询数据合并;
当所述多个ElasticSearch节点中有ElasticSearch节点出现故障时,故障ElasticSearch节点获取所述HBase集群中存储的所述增量数据进行增量数据恢复。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中:所述故障ElasticSearch节点获取所述HBase集群中存储的所述增量数据进行增量数据恢复,包括:
所述故障ElasticSearch节点向所述ElasticSearch集群中其他ElasticSearch节点发送第一增量数据恢复指令,所述第一增量数据恢复指令中携带有数据恢复时间段;
当在预设的恢复数据获取时长内收到其他ElasticSearch节点返回的所述数据恢复时间段内增量数据的恢复数据时,所述故障ElasticSearch节点通过增量数据的恢复数据进行增量数据恢复;
当在预设的恢复数据获取时长内未收到其他ElasticSearch节点返回的所述数据恢复时间段内的增量数据恢复数据时,向所述HBase集群发送第二增量数据恢复指令,所述第二增量数据恢复指令中携带有数据恢复时间段和所述故障ElasticSearch节点的标识;
所述故障ElasticSearch节点获取所述HBase集群返回的增量恢复数据,并通过所述增量恢复数据进行增量数据恢复。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中:所述故障ElasticSearch节点获取所述HBase集群返回的增量恢复数据,并通过所述增量恢复数据进行增量数据恢复,包括:
所述故障ElasticSearch节点获取所述HBase集群返回的增量恢复数据,所述增量恢复数据携带有数据类型标识;
所述故障ElasticSearch节点将所述数据恢复时间段内的增量数据删除;
所述故障ElasticSearch节点获取预存的不同类型数据的索引文件,所述索引文件包括:索引标识;
当具有未查询的索引标识时,所述故障ElasticSearch节点根据索引文件中的索引标识,查询出具有与所述索引标识相同的数据类型标识的增量恢复数据;
所述故障ElasticSearch节点根据所述索引标识对应的索引文件,确定查询出的增量恢复数据对应类型数据的存储文件;
所述故障ElasticSearch节点将查询出的增量恢复数据合并到确定出的存储文件中。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中:当获取到第二增量数据恢复指令时,所述HBase集群,具体用于:
查询出所述第二增量数据恢复指令中携带的所述数据恢复时间段内的增量数据,将所述数据恢复时间段内的增量数据确定为所述增量恢复数据;
向所述故障ElasticSearch节点的标识指示的故障ElasticSearch节点返回所述增量恢复数据。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中:所述多个ElasticSearch节点均用于将处理后的所述增量数据与快速查询数据合并,包括:
所述ElasticSearch节点获取预存的不同类型数据的索引文件,所述索引文件包括:索引标识;
当具有未查询的索引标识时,所述ElasticSearch节点根据索引文件中的索引标识,查询出具有与所述索引标识相同的数据类型标识的增量数据;
所述ElasticSearch节点根据所述索引标识对应的索引文件,确定查询出的增量数据对应类型数据的存储文件;
所述ElasticSearch节点将查询出的增量数据合并到确定出的存储文件中,将处理后的所述增量数据与快速查询数据合并。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中:所述Spark集群,监测数据库产生的增量数据,对所述数据库产生的增量数据进行处理包括:
监测所述数据库产生的增量数据;
当所述数据库产生的增量数据满足预设的数据抽取条件时,从所述数据库获取增量数据;
对获取到的所述增量数据进行提取、转换和加载(Extraction-Transformation-Loading,ETL)处理;
针对不同的数据类型对提取、转换和加载处理后的增量数据做简单数据分析、数理统计和数据挖掘;
其中,所述数据抽取条件,包括以下条件中的至少一个:所述数据库产生的增量数据数量达到预设数量阈值;所述数据库产生的增量数据占用的存储空间达到预设存储空间阈值;距离上次获取增量数据的时长达到预设数据获取周期。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中:所述HBase集群,包括:多个HBase节点;
所述多个HBase节点分别与所述Spark集群和所述ElasticSearch集***互;
所述多个HBase节点均用于存储所述Spark集群处理后的所述增量数据;
当所述多个HBase节点中有HBase节点出现故障时,故障HBase节点从正常工作HBase节点中获取所述增量数据进行数据恢复操作。
第二方面,本发明实施例还提供一种数据处理***,包括上述的数据处理平台和数据库;
所述数据处理平台,包括:相互连接的Spark集群、ElasticSearch集群和HBase集群;
所述数据库与所述Spark集群连接;
所述数据库,用于产生增量数据。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中:还包括:商业智能平台;
所述商业智能平台,与所述Spark集群连接;
所述商业智能平台,用于获取所述Spark集群处理后的增量数据,并对所述Spark集群处理后的增量数据进行商业分析。
本发明实施例提供的数据处理平台和***,通过数据处理平台中的Spark集群对数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群和HBase集群,与相关技术中Spark集群会存储增量数据相比,Spark集群仅对增量数据进行分析,无需对数据库产生的增量数据进行存储,减轻了Spark集群的存储压力。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例所提供的一种数据处理平台和***中,应用的服务器的结构示意图;
图2示出了本发明实施例1所提供的数据处理平台的结构示意图;
图3示出了本发明实施例1所提供的数据处理平台中,对增量数据进行合并操作的流程;
图4示出了本发明实施例2所提供的一种数据处理***的结构示意图。
图标:100-Spark集群;102-ElasticSearch集群;104-HBase集群;200-服务器;201-存储器;202-处理器;203-网络模块;221-操作***;222-服务模块;400-数据处理平台;402-数据库;404-商业智能平台;4000-Spark集群;4002-ElasticSearch集群;4004-HBase集群。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例所提供的数据处理平台和***可应用于如图1所示的服务器中。图1示出了一种可应用于本发明实施例中的服务器的结构框图。如图1所示,服务器200包括:存储器201、处理器202以及网络模块203。该服务器可以用作本实施例中提到的Spark节点、HBase节点、ElasticSearch节点、数据库和商业智能平台。
存储器201可用于存储软件程序以及模块,如本发明实施例中的增量数据处理时使用的程序指令/模块,处理器202通过运行存储在存储器201内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现本发明实施例中的数据处理方法。存储器201可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。进一步地,上述软件程序以及模块还可包括:操作***221以及服务模块222。其中操作***221,例如可为LINUX、UNIX、WINDOWS,其可包括各种用于管理***任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。服务模块222运行在操作***221的基础上,并通过操作***221的网络服务监听来自网络的请求,根据请求完成相应的数据处理,并返回处理结果给客户端。也就是说,服务模块222用于向客户端提供网络服务。
网络模块203用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
可以理解,图1所示的结构仅为示意,服务器200还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。另外,本发明实施例中的服务器还可以包括多个具体不同功能的服务器。
在一个实现方式中,服务器的硬件配置如下:
中央处理器CPU:
型号:Xeon E5-2670v3-12Core;
数量:2个。
内存:
配置参数:DDR4RDIMM-16GB-2133000KHz-1.2V-ECC-2Rank(1G*4bit);
数量:16个。
硬盘
配置参数:1200GB-SAS 12Gb/s-10000rpm-2.5inch-热插拔;
数量:8个。
磁盘阵列RAID卡
配置参数:SR320BC 1GB Cache,支持-RAID0,1,5,6,10,50,60-支持超级电容+850mm MiniSAS模块(8盘规格);
数量:1个。
目前,对增量数据进行处理时,Spark集群会抽取增量数据并做同步分析和存储,完成后Spark集群将同步分析处理后的增量数据导入HBase;HBase对同步分析处理后的增量数据进行抽取,并将抽取的数据导入ElasticSearch,ElasticSearch建立导入的增量数据的索引,从而完成对增量数据的处理。随着时间的推移,Spark集群中存储的数据越来越多,存储压力越来越大。基于此,本申请提供的一种数据处理平台和***。
需要注意的是,在本发明的描述中,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
另外,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参见图2所示的流程示意图,本实施例提供一种数据处理平台,包括:相互交互的Spark集群100、ElasticSearch集群102和HBase集群104;
上述Spark集群100,用于监测数据库产生的增量数据,对上述数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群102和HBase集群104,其中,上述增量数据包括:数据类型标识;
上述HBase集群104,用于存储上述Spark集群100处理后的上述增量数据;
上述ElasticSearch集群102,用于将处理后的上述增量数据与快速查询数据合并。
其中,上述增量数据,是指在存量数据基础上,符合预设的数据抽取条件的、由数据库产生的源数据。增量数据除了具有数据类型标识和数据本身之外,还携带有生成时间信息。
上述数据抽取条件,包括以下条件中的至少一个:上述数据库产生的增量数据数量达到预设数量阈值;上述数据库产生的增量数据占用的存储空间达到预设存储空间阈值;距离上次获取增量数据的时长达到预设数据获取周期。
源数据,是指数据库生成的数据。
数据类型标识,用于ElasticSearch集群102和HBase集群104对增量数据进行识别,从而根据数据类型标识对应的数据类型,对增量数据进行分类存储和索引。
数据库可以根据不同数据类型,产生针对不同类型应用或者不同应用场景的源数据。
数据类型标识,是数据库在生成源数据时,根据所生成源数据的数据名称进行哈希计算得到的。不同类型的源数据都具有唯一的数据名称,所以通过哈希计算得到的数据类型标识也是唯一的。
上述HBase集群104,除了对增量数据均进行存储外,还存储有存量数据。上述存量数据,就是HBase集群104在获取本次增量数据之前获取并存储的数据。
上述ElasticSearch集群102,主要的作用是使用户对HBase集群104中存储的数据进行检索。所以,ElasticSearch集群102预先建立有索引文件,并存储有与索引文件对应的快速查询数据。从而在用户搜索一些搜索频率较高的数据时,无需ElasticSearch集群102到HBase集群104中进行遍历查询,就可以在确定数据的索引文件后,根据索引文件的指示直接把存储的快速查询数据返回给用户,提高了查询效率。
在ElasticSearch集群102中,一个索引文件对应一个类型的快速查询数据。用户可以根据应用场景的不同,在ElasticSearch集群102中预先设置该应用场景下应用的不同类型数据的索引文件。而且,用户还可以对ElasticSearch集群102中设置的索引文件进行增加和删除,使用户可以根据自己的需求,对快速查询数据进行更改,进一步提高了查询效率。
上述快速查询数据,为用户经常搜索的数据。快速查询数据的设置,使得ElasticSearch集群102在确定用户搜索这些数据时,无需到HBase集群104中进行遍历查询,根据索引文件的指示把相应的快速查询数据返回给用户,提高了查询效率。
具体地,上述Spark集群100,用于监测数据库产生的增量数据,对上述数据库产生的增量数据进行处理包括以下步骤(1)至步骤(4):
(1)监测上述数据库产生的增量数据;
(2)当上述数据库产生的增量数据满足预设的数据抽取条件时,从上述数据库获取增量数据;
(3)对获取到的上述增量数据进行提取、转换和加载处理;
(4)针对实际需求对提取、转换和加载处理后的增量数据做简单数据分析、数理统计和数据挖掘。
其中,上述数据抽取条件,包括以下条件中的至少一个:上述数据库产生的增量数据数量达到预设数量阈值;上述数据库产生的增量数据占用的存储空间达到预设存储空间阈值;距离上次获取增量数据的时长达到预设数据获取周期。
在上述步骤(2)中,上述Spark集群100可以分批从数据库获取增量数据。
在上述步骤(3)中,上述Spark集群100对获取的增量数据进行ETL处理,主要为清理增量数据中的无用信息,保证增量数据的正确性、完整性、一致性、有效性和时效性。
在上述步骤(4)中,可以采用现有任何简单数据分析、数理统计和数据挖掘的操作对增量数据进行处理,这里不再一一赘述。
综上所述,本实施例提供的数据处理平台,通过平台中的Spark集群对数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群和HBase集群,与相关技术中Spark集群会存储增量数据相比,Spark集群仅对增量数据进行分析,无需对数据库产生的增量数据进行存储,减轻了Spark集群的存储压力。
相关技术中,若ElasticSearch在运行过程中出现故障,由于目前的大数据存储***没有对故障ElasticSearch中的增量数据提供容错和校验机制,造成无法对故障ElasticSearch中的增量数据进行恢复的问题。所以,为了对故障ElasticSearch中的增量数据进行恢复,本实施例提出的数据处理平台中的上述ElasticSearch集群,包括:多个ElasticSearch节点;
上述多个ElasticSearch节点分别与上述Spark集群和上述HBase集***互;
上述多个ElasticSearch节点均用于将处理后的上述增量数据与快速查询数据合并;
当上述多个ElasticSearch节点中有ElasticSearch节点出现故障时,故障ElasticSearch节点获取上述HBase集群中存储的上述增量数据进行增量数据恢复。
其中,多个ElasticSearch节点分别用于合并以及存储不同业务类型的增量数据。ElasticSearch节点相当于数据处理平台的快速查找机构,可以在用户查询时向用户快速反馈查询结果。
ElasticSearch是一个即时的分布式查询和分析引擎,用轻微的延迟去处理增量数据。可以实现分布式文件存储,并将每一个字段都编入索引,使其可以被查询;可以实现全文搜索、结构化搜索以及实时分析;可以扩展到上百台服务器,处理PB级别的结构化或者非结构化数据。
具体地,上述故障ElasticSearch节点获取上述HBase集群中存储的上述增量数据进行增量数据恢复,包括以下步骤(1)至步骤(4):
(1)上述故障ElasticSearch节点向上述ElasticSearch集群中其他ElasticSearch节点发送第一增量数据恢复指令,上述第一增量数据恢复指令中携带有数据恢复时间段;
(2)当在预设的恢复数据获取时长内收到其他ElasticSearch节点返回的上述数据恢复时间段内增量数据的恢复数据时,上述故障ElasticSearch节点通过增量数据的恢复数据进行增量数据恢复;
(3)当在预设的恢复数据获取时长内未收到其他ElasticSearch节点返回的上述数据恢复时间段内的增量数据恢复数据时,向上述HBase集群发送第二增量数据恢复指令,上述第二增量数据恢复指令中携带有数据恢复时间段和上述故障ElasticSearch节点的标识;
(4)上述故障ElasticSearch节点获取上述HBase集群返回的增量恢复数据,并通过上述增量恢复数据进行增量数据恢复。
在上述步骤(1)中,数据恢复时间段包括数据恢复起始时间点和终止时间点。该数据恢复时间段由故障ElasticSearch节点根据需要恢复的增量信息的生成时间信息确定。
在上述步骤(2)中,故障ElasticSearch节点在获取到其他ElasticSearch节点的增量数据恢复数据时,直接通过获取到的增量数据恢复数据对故障ElasticSearch节点中需要恢复的增量数据进行更新,就可以完成增量数据恢复操作。
上述步骤(4)中,具体包括以下步骤(41)至步骤(46):
(41)上述故障ElasticSearch节点获取上述HBase集群返回的增量恢复数据,上述增量恢复数据携带有数据类型标识;
(42)上述故障ElasticSearch节点将上述数据恢复时间段内的增量数据删除;
(43)上述故障ElasticSearch节点获取预存的不同类型数据的索引文件,上述索引文件包括:索引标识;
(44)当具有未查询的索引标识时,上述故障ElasticSearch节点根据索引文件中的索引标识,查询出具有与上述索引标识相同的数据类型标识的增量恢复数据;
(45)上述故障ElasticSearch节点根据上述索引标识对应的索引文件,确定查询出的增量恢复数据对应类型数据的存储文件;
(46)上述故障ElasticSearch节点将查询出的增量恢复数据合并到确定出的存储文件中。
在上述步骤(41)中,HBase集群返回的增量恢复数据,是由HBase集群中的任一HBase集群节点所确定的增量恢复数据。
在上述步骤(43)中,可以根据应用场景的不同,在ElasticSearch集群的各个节点中设置针对不同应用场景的数据类型的索引文件。
不同类型数据的索引文件,用于预设在ElasticSearch集群中,使ElasticSearch集群对存储的不同类型数据进行分类索引。
上述索引标识,由ElasticSearch集群对用户预设的数据名称进行哈希算法得到的,存储在索引文件中,可以用于查询使用。
当用户查询时,上述ElasticSearch集群执行以下具体步骤(431)至步骤(435):
(431)ElasticSearch集群获取用户输入的想要查询的数据名称;
(432)ElasticSearch集群对用户输入的数据名称进行哈希计算,得到数据名称哈希值;
(433)ElasticSearch集群通过数据名称哈希值查询出与数据名称哈希值相同的索引标识,并得到具有该哈希值的索引文件;
(434)ElasticSearch集群将该索引文件指示的存储文件打开并取出存储文件中的数据;
(435)ElasticSearch集群将取出的数据返回给用户。
通过以上步骤(431)至步骤(435)的描述,在索引文件设置索引标识,使得查询的过程中可以通过查询条件就可以确定用户想要查询的数据的索引文件,相当于建立了查询条件到具体查询内容的映射,方便用户对数据的查询。
在上述步骤(44)中,ElasticSearch节点通过遍历的方式,查询出具有与上述索引标识相同的数据类型标识的增量恢复数据。
在上述步骤(46)中,ElasticSearch节点采用现有的任何字符串拼接技术将查询出的增量恢复数据合并到确定出的存储文件中,这里不再赘述。
相应的,当获取到第二增量数据恢复指令时,上述HBase集群,具体执行以下步骤(1)至步骤(2):
(1)查询出上述第二增量数据恢复指令中携带的上述数据恢复时间段内的增量数据,将上述数据恢复时间段内的增量数据确定为上述增量恢复数据;
(2)向上述故障ElasticSearch节点的标识指示的故障ElasticSearch节点返回上述增量恢复数据。
在上述步骤(1)中,上述HBase集群通过设置的协处理器调用预设的增量数据过滤器,将上述数据恢复时间段内的增量数据查询出来。
上述步骤(1)至步骤(2),可以通过HBase集群中的任意HBase节点执行。
通过以上的描述可以看出,在ElasticSearch出现故障时,数据处理平台对故障ElasticSearch中的增量数据提供容错和校验机制,无需Spark集群再次从数据库中获取需要恢复的增量数据,使故障ElasticSearch节点获取HBase集群中存储的增量数据就可以进行增量数据恢复,数据恢复效率高。
具体地,参见图3所示的ElasticSearch节点对增量数据进行合并操作的流程,多个ElasticSearch节点均用于将处理后的上述增量数据与快速查询数据合并,包括以下具体步骤:
步骤300、ElasticSearch节点获取预存的不同类型数据的索引文件,上述索引文件包括:索引标识;
步骤302、当具有未查询的索引标识时,上述ElasticSearch节点根据索引文件中的索引标识,查询出具有与上述索引标识相同的数据类型标识的增量数据;
步骤304、上述ElasticSearch节点根据上述索引标识对应的索引文件,确定查询出的增量数据对应类型数据的存储文件;
步骤306、上述ElasticSearch节点将查询出的增量数据合并到确定出的存储文件中,将处理后的上述增量数据与快速查询数据合并。
在上述步骤306中,ElasticSearch节点将查询出的增量恢复数据合并到确定出的存储文件中的过程与上述步骤(46)类似,这里不再赘述。
在一个实施方式中,HBase集群不仅可以对故障ElasticSearch中的增量数据进行恢复,还可以对自身节点出现的故障进行数据恢复。上述HBase集群,包括:多个HBase节点;
上述多个HBase节点分别与上述Spark集群和上述ElasticSearch集***互;
上述多个HBase节点均用于存储上述Spark集群处理后的上述增量数据;
当上述多个HBase节点中有HBase节点出现故障时,故障HBase节点从正常工作HBase节点中获取上述增量数据进行数据恢复操作。
HBase节点作为高性能、列存储、可伸缩、实时读写的分布式数据库,可支持集群存储海量数据,极大的弥补了传统数据库的不足。HBase节点在主键上建立了类B+树索引,可以高效的实现基于主键的快速查询。然而由于HBase缺少非主键索引能力,在接受以非主键查询请求时,需要对全表进行扫描,导致查询速度较慢,难以适应大数据时空数据存储和高效率的增量数据***在速度上对应的即时查询。所以目前的大数据存储***,需要将HBase与ElasticSearch配合使用。以体现出HBase和ElasticSearch两种不同检索方法的优势。
多个HBase节点均存储上述Spark集群处理后的上述增量数据的过程包括:在多个HBase节点中的每个HBase节点建表,接下来需要设计相应的rowkey从而满足相应的业务需求。大数据平台处理后的增量数据同一rowkey可能存在多条记录,所以需要将相同rowkey下的数据合并后将结果flush到每个HBase节点中。
上述故障HBase节点从正常工作HBase节点中获取上述增量数据进行数据恢复操作的过程可以采用现有的任何数据恢复方法进行数据恢复,这里不再一一赘述。
通过以上的描述可以看出,HBase节点发生故障时,无需Spark集群再次从数据库中获取需要恢复的增量数据,HBase其他节点可以保护数据,在保证数据安全性、容灾性的同时对故障HBase节点的数据进行恢复,进一步提高了数据恢复效率。
实施例2
参见图4,本实施例提供一种数据处理***,包括上述实施例1中描述的数据处理平台400和数据库402;
上述数据处理平台400,包括:相互交互的Spark集群4000、ElasticSearch集群4002和HBase集群4004;
上述数据库402与上述Spark集群4000连接;
上述数据库402,用于产生增量数据。
在一个实施方式中,上述数据处理***,还包括商业智能(BusinessIntelligence,BI)平台404;
上述BI平台404,与上述Spark集群4000连接;
上述BI平台404,用于获取上述Spark集群4000处理后的增量数据,并对获取到的增量数据进行商业分析。
上述BI平台404,可以采用现有的任何使企业迅速收集、管理和分析数据,并将这些数据转化为有用的信息,然后分发到企业各处的平台技术,这里不再赘述。
综上所述,本实施例提供的数据处理***,通过数据处理平台中的Spark集群对数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群和HBase集群,与相关技术中Spark集群会存储增量数据相比,Spark集群仅对增量数据进行分析,无需对数据库产生的增量数据进行存储,减轻了Spark集群的存储压力。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (8)
1.一种数据处理平台,其特征在于,包括:相互交互的Spark集群、ElasticSearch集群和HBase集群;
所述Spark集群,用于监测数据库产生的增量数据,对所述数据库产生的增量数据进行处理,并把处理后的增量数据导入ElasticSearch集群和HBase集群,其中,所述增量数据包括:数据类型标识;
所述HBase集群,用于存储所述Spark集群处理后的所述增量数据;
所述ElasticSearch集群,用于将处理后的所述增量数据与快速查询数据合并;
所述ElasticSearch集群,包括:多个ElasticSearch节点;
所述多个ElasticSearch节点分别与所述Spark集群和所述HBase集***互;
所述多个ElasticSearch节点均用于将处理后的所述增量数据与快速查询数据合并;
当所述多个ElasticSearch节点中有ElasticSearch节点出现故障时,故障ElasticSearch节点获取所述HBase集群中存储的所述增量数据进行增量数据恢复;
所述故障ElasticSearch节点获取所述HBase集群中存储的所述增量数据进行增量数据恢复,包括:
所述故障ElasticSearch节点向所述ElasticSearch集群中其他ElasticSearch节点发送第一增量数据恢复指令,所述第一增量数据恢复指令中携带有数据恢复时间段;
当在预设的恢复数据获取时长内收到其他ElasticSearch节点返回的所述数据恢复时间段内增量数据的恢复数据时,所述故障ElasticSearch节点通过增量数据的恢复数据进行增量数据恢复;
当在预设的恢复数据获取时长内未收到其他ElasticSearch节点返回的所述数据恢复时间段内的增量数据恢复数据时,向所述HBase集群发送第二增量数据恢复指令,所述第二增量数据恢复指令中携带有数据恢复时间段和所述故障ElasticSearch节点的标识;
所述故障ElasticSearch节点获取所述HBase集群返回的增量恢复数据,并通过所述增量恢复数据进行增量数据恢复。
2.根据权利要求1所述的数据处理平台,其特征在于,所述故障ElasticSearch节点获取所述HBase集群返回的增量恢复数据,并通过所述增量恢复数据进行增量数据恢复,包括:
所述故障ElasticSearch节点获取所述HBase集群返回的增量恢复数据,所述增量恢复数据携带有数据类型标识;
所述故障ElasticSearch节点将所述数据恢复时间段内的增量数据删除;
所述故障ElasticSearch节点获取预存的不同类型数据的索引文件,所述索引文件包括:索引标识;
当具有未查询的索引标识时,所述故障ElasticSearch节点根据索引文件中的索引标识,查询出具有与所述索引标识相同的数据类型标识的增量恢复数据;
所述故障ElasticSearch节点根据所述索引标识对应的索引文件,确定查询出的增量恢复数据对应类型数据的存储文件;
所述故障ElasticSearch节点将查询出的增量恢复数据合并到确定出的存储文件中。
3.根据权利要求1所述的数据处理平台,其特征在于,当获取到第二增量数据恢复指令时,所述HBase集群,具体用于:
查询出所述第二增量数据恢复指令中携带的所述数据恢复时间段内的增量数据,将所述数据恢复时间段内的增量数据确定为所述增量恢复数据;
向所述故障ElasticSearch节点的标识指示的故障ElasticSearch节点返回所述增量恢复数据。
4.根据权利要求1所述的数据处理平台,其特征在于,所述多个ElasticSearch节点均用于将处理后的所述增量数据与快速查询数据合并,包括:
所述ElasticSearch节点获取预存的不同类型数据的索引文件,所述索引文件包括:索引标识;
当具有未查询的索引标识时,所述ElasticSearch节点根据索引文件中的索引标识,查询出具有与所述索引标识相同的数据类型标识的增量数据;
所述ElasticSearch节点根据所述索引标识对应的索引文件,确定查询出的增量数据对应类型数据的存储文件;
所述ElasticSearch节点将查询出的增量数据合并到确定出的存储文件中,将处理后的所述增量数据与快速查询数据合并。
5.根据权利要求1所述的数据处理平台,其特征在于,所述Spark集群,监测数据库产生的增量数据,对所述数据库产生的增量数据进行处理包括:
监测所述数据库产生的增量数据;
当所述数据库产生的增量数据满足预设的数据抽取条件时,从所述数据库获取增量数据;
对获取到的所述增量数据进行提取、转换和加载处理;
针对不同的数据类型对提取、转换和加载处理后的增量数据做简单数据分析、数理统计和数据挖掘;
其中,所述数据抽取条件,包括以下条件中的至少一个:所述数据库产生的增量数据数量达到预设数量阈值;所述数据库产生的增量数据占用的存储空间达到预设存储空间阈值;距离上次获取增量数据的时长达到预设数据获取周期。
6.根据权利要求1所述的数据处理平台,其特征在于,所述HBase集群,包括:多个HBase节点;
所述多个HBase节点分别与所述Spark集群和所述ElasticSearch集***互;
所述多个HBase节点均用于存储所述Spark集群处理后的所述增量数据;
当所述多个HBase节点中有HBase节点出现故障时,故障HBase节点从正常工作HBase节点中获取所述增量数据进行数据恢复操作。
7.一种数据处理***,其特征在于,包括权利要求1-6任一项所述的数据处理平台和数据库;
所述数据处理平台,包括:相互连接的Spark集群、ElasticSearch集群和HBase集群;
所述数据库与所述Spark集群连接;
所述数据库,用于产生增量数据。
8.根据权利要求7所述的数据处理***,其特征在于,还包括:商业智能平台;
所述商业智能平台,与所述Spark集群连接;
所述商业智能平台,用于获取所述Spark集群处理后的增量数据,并对所述Spark集群处理后的增量数据进行商业分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710245078.3A CN106980699B (zh) | 2017-04-14 | 2017-04-14 | 一种数据处理平台和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710245078.3A CN106980699B (zh) | 2017-04-14 | 2017-04-14 | 一种数据处理平台和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106980699A CN106980699A (zh) | 2017-07-25 |
CN106980699B true CN106980699B (zh) | 2020-02-14 |
Family
ID=59345747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710245078.3A Active CN106980699B (zh) | 2017-04-14 | 2017-04-14 | 一种数据处理平台和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106980699B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107678856B (zh) * | 2017-09-20 | 2022-04-05 | 苏宁易购集团股份有限公司 | 一种处理业务实体中增量信息的方法及装置 |
CN108509524A (zh) * | 2018-03-12 | 2018-09-07 | 上海哔哩哔哩科技有限公司 | 数据处理的方法、服务器及数据处理的*** |
CN108959337A (zh) * | 2018-03-22 | 2018-12-07 | 中国平安人寿保险股份有限公司 | 大数据获取方法、装置、设备及存储介质 |
CN110543512B (zh) * | 2018-05-29 | 2022-10-04 | 优信拍(北京)信息科技有限公司 | 一种信息同步方法,装置及*** |
CN108804697A (zh) * | 2018-06-15 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 基于Spark的数据同步方法、装置、计算机设备和存储介质 |
CN110262881A (zh) * | 2019-06-12 | 2019-09-20 | 深圳前海微众银行股份有限公司 | 一种Spark作业的提交方法及装置 |
CN110688412A (zh) * | 2019-09-27 | 2020-01-14 | 杭州有赞科技有限公司 | 一种基于es的海量数据统计方法及海量数据统计*** |
CN112507227B (zh) * | 2020-12-15 | 2024-03-01 | 北京中科智营科技发展有限公司 | 一种智能感知搜索平台 |
CN112749162B (zh) * | 2020-12-31 | 2021-08-17 | 浙江省方大标准信息有限公司 | 一种基于es的检验检测机构快速检索排序方法 |
CN113239117A (zh) * | 2021-05-28 | 2021-08-10 | 江苏警官学院 | 一种基于云存储的数字警用三维地理信息*** |
CN113778764B (zh) * | 2021-08-24 | 2023-10-27 | 百融至信(北京)科技有限公司 | 一种hbase数据双活***及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984745A (zh) * | 2014-05-23 | 2014-08-13 | 何震宇 | 分布式视频垂直搜索方法及*** |
-
2017
- 2017-04-14 CN CN201710245078.3A patent/CN106980699B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984745A (zh) * | 2014-05-23 | 2014-08-13 | 何震宇 | 分布式视频垂直搜索方法及*** |
Non-Patent Citations (1)
Title |
---|
面对百亿用户数据,日均亿次请求,携程应用架构如何涅槃?;董锐;《https://www.infoq.cn/article/ctrip-big-data-high-concurrency-applications-architecture》;20161007;1-8 * |
Also Published As
Publication number | Publication date |
---|---|
CN106980699A (zh) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980699B (zh) | 一种数据处理平台和*** | |
US11455217B2 (en) | Transaction consistency query support for replicated data from recovery log to external data stores | |
US11347787B2 (en) | Image retrieval method and apparatus, system, server, and storage medium | |
CN104699718B (zh) | 用于快速引入业务数据的方法和装置 | |
CN110569214B (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
CN109522290B (zh) | 一种HBase数据块恢复及数据记录提取方法 | |
CN105447046A (zh) | 一种分布式***数据一致性处理方法、装置和*** | |
CN111881011A (zh) | 日志管理方法、平台、服务器及存储介质 | |
JP6996812B2 (ja) | 分散データベースにおけるデータブロックを処理する方法、プログラム、およびデバイス | |
CN111046036A (zh) | 数据同步方法、装置、***及存储介质 | |
CN109947729B (zh) | 一种实时数据分析方法及装置 | |
CN112084249B (zh) | 一种访问记录提取方法及装置 | |
CN110674101B (zh) | 文件***的数据处理方法、装置和云服务器 | |
CN103034650B (zh) | 一种数据处理***和方法 | |
CN111046041A (zh) | 数据处理方法和装置、存储介质及处理器 | |
CN111026709A (zh) | 基于集群访问的数据处理方法及装置 | |
CN108154024B (zh) | 一种数据检索方法、装置及电子设备 | |
CN110245037B (zh) | 一种基于日志的Hive用户操作行为还原方法 | |
CN113434506B (zh) | 数据管理及检索方法、装置、计算机设备及可读存储介质 | |
CN114398520A (zh) | 数据检索方法、***、装置、电子设备及存储介质 | |
CN105843809B (zh) | 数据处理方法和装置 | |
CN113721856A (zh) | 一种数字化社区管理数据存储*** | |
CN114020752A (zh) | 基于Hbase的数据存储方法、获取方法、装置、设备和介质 | |
JP2009282563A (ja) | データ保存システム、プログラム及び方法、並びに監視装置 | |
CN104298692B (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 |