一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据处理方法及系统与流程

2022-06-29 17:27:45 来源:中国专利 TAG:


1.本发明涉及大数据处理及查询技术领域,具体涉及一种数据处理方法及系统。


背景技术:

2.如果要方便的在目标系统中实现全文检索的功能,目前首选的大多是elasticsearch全文检索引擎(亦可称为全文搜索引擎),elasticsearch的底层是开源库lucene(lucene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,以及部分文本分析引擎)。
3.elasticsearch全文检索引擎,是一种实时检索(搜索)和分析引擎,可提供多用户的、分布式可扩展的全文搜索。
4.在elasticsearch的应用过程中,在大数据领域,常常需要和hbase数据库等联合使用,所述hbase数据库为分布式nosql的非关系数据库,通常elasticsearch和hbase均采用集群应用的形式。其中:
5.elasticsearch用于提供全文检索功能,适用于大数据查询;
6.hbase用于提供分布式存储,具有高可靠性、高性能、面向列、可伸缩等优秀特性,尤其适用于大数据(tb级数据)存储。
7.hbase的优点在于可以实现高性能的并发读写操作,同时hbase还会自动对数据进行透明的切分,这样就使得存储本身具有了水平伸缩性。同样hbase也存在缺点,它不能支持条件查询,只支持按照rowkey(行主键)来查询,暂时不能支持master server(主服务器)的故障切换。为解决快速检索的功能,普遍使用elasticsearch同步hbase数据解决数据查询问题。
8.现有技术中,基于hbase和elasticsearch的存储和查询已经具有较为成熟的方案,但这些方案依然存在着一些缺点。
9.方案一、如图1所示,hbase(集群)读取(接收)来自数据发送端kafka的数据,然后直接落地到hbase存储,之后数据同步调用系统查询hbase中存储的数据,最后查询结果落地到elasticsearch存储。
10.方案一存在以下缺点:
11.1、数据同步调用系统一般是单机运行,无法保证高可用性。当数据同步调用系统出现故障,会导致elasticsearch接收不到数据;
12.2、数据同步调用系统采用周期性同步数据,导致数据实时性差。
13.方案二、如图2所示,hbase(集群)读取(接收)来自数据发送端kafka的数据,然后直接落地到hbase存储,之后使用hbase-scanner表扫描器进行扫描数据并转存elasticsearch。
14.使用hbase-scanner表扫描器对hbase进行扫描数据,通常是全表扫描。
15.方案二存在以下缺点:
16.1、hbase-scanner表扫描器性能较差,大量数据扫描耗时较长;
17.2、数据聚合分组实现困难。
18.公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。


技术实现要素:

19.针对现有技术中存在的缺陷,本发明的目的在于提供一种数据处理方法及系统,通过构建大数据处理框架,确保数据从hbase转存elasticsearch具有高可用性,降低数据转存elasticsearch的延迟,提高数据准确度,降低冗余数据,优化了磁盘空间。
20.为达到以上目的,本发明提供一种数据处理方法,适用于大数据处理框架,所述框架包括:处理引擎、hbase和elasticsearch,所述方法包括如下步骤:
21.处理引擎接收数据发送端的数据流,对数据流进行处理,将数据流包含的明细数据录入到hbase中;
22.处理引擎对录入hbase中的明细数据进行实时汇总,并周期性对hbase中数据进行查询;hbase向处理引擎返回数据结果集,所述数据结果集为hbase数据检索信息;
23.处理引擎将查询到的hbase数据检索信息,存储在elasticsearch;生成并维护hbase数据检索信息和elasticsearch数据的映射关系。
24.本发明还提供一种数据处理系统,所述系统包括处理引擎、hbase和elasticsearch;
25.所述处理引擎用于接收数据发送端的数据流,对数据流进行处理,将数据流包含的明细数据录入到hbase中;
26.所述处理引擎还用于对录入hbase中的明细数据进行实时汇总,并周期性对hbase中数据进行查询;
27.所述hbase用于向处理引擎返回数据结果集,所述数据结果集为hbase数据检索信息;
28.处理引擎还用于将查询到的hbase数据检索信息,存储在elasticsearch;生成并维护hbase数据检索信息和elasticsearch数据的映射关系。
29.本发明提供的数据处理方法及系统,具有以下有益效果:
30.1、基于flink、hbase及elasticsearch集群,构建了大数据处理框架,该处理框架具有高可用性,可高效存储和检索。
31.2、采用elasticsearch存储聚合数据,降低数据转存elasticsearch的延迟;
32.3、提高了数据检索准确度,提升数据查询效率,降低冗余数据。
附图说明
33.本发明有如下附图:
34.附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
35.图1现有的基于hbase和elasticsearch的存储和查询方案一的流程图。
36.图2现有的基于hbase和elasticsearch的存储和查询方案二的流程图。
37.图3本发明所述的数据处理方法系统架构示意图。
38.图4hbase中存储内容示意。
39.图5elasticsearch中存储内容示意。
具体实施方式
40.以下结合附图对本发明作进一步详细说明。所述详细说明,为结合本发明的示范性实施例做出的说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
41.如图3所示,本发明所述的数据处理方法,适用于大数据处理框架,所述框架包括:处理引擎、hbase和elasticsearch,包括如下步骤:
42.处理引擎接收数据发送端的数据流,对数据流进行处理,将数据流包含的明细数据录入到hbase中;
43.处理引擎对录入hbase中的明细数据进行实时汇总,并周期性对hbase中数据进行查询;hbase向处理引擎返回数据结果集,所述数据结果集为hbase数据检索信息;
44.处理引擎将查询到的hbase数据检索信息,存储在elasticsearch;生成并维护hbase数据检索信息和elasticsearch数据的映射关系。
45.本发明通过在elasticsearch中存储hbase数据检索信息的方式,elasticsearch不再保存明细数据,只存在少量检索信息,hbase提供结果明细的数据支撑,参见图4、图5。
46.本发明中,兼顾了elasticsearch检索功能和hbase存储功能,而数据并非是备份关系,这样减少了数据量存储,节约磁盘使用,同时也提高数据写入性能。elasticsearch中存储汇总信息,补充hbase不能汇总数据的短板。
47.在上述技术方案的基础上,所述处理引擎为flink分布式处理引擎。
48.在上述技术方案的基础上,处理引擎对数据流进行处理具体为处理引擎负责对数据进行逻辑处理,所述逻辑处理包括但不限于:数据聚合、数据重构。
49.处理引擎将数据流包含的明细数据录入到hbase中,包括:数据发送端的数据流作为数据输入,当处理引擎接收到数据输入时,将其中包含的明细数据先进行分桶处理,再录入hbase中;
50.所述分桶处理默认桶的数量为一可调预设值。
51.处理引擎对录入hbase中的明细数据进行汇总生成汇总数据,并周期性将汇总数据转存在elasticsearch。
52.在上述技术方案的基础上,处理引擎接收数据发送端的数据流,并落地到hbase存储中;
53.数据发送端的数据流作为数据输入,当处理引擎接收到数据输入时,将其中包含的明细数据先进行分桶处理,再录入hbase中;
54.所述分桶处理默认桶的数量为一可调预设值,图4所示实施例中桶的数量为8个,分桶标识从00到07。
55.在上述技术方案的基础上,hbase集群响应处理引擎转发的、来自数据发送端的数据流,并将数据落地存储到hbase中时,hbase的行主键rowkey采用如下格式:分桶标识 时
间颗粒度 时间序列 唯一标识;即:
56.所述hbase的行主键rowkey采用时间序列,并以分桶标识作为rowkey的前缀,以一个唯一标识作为rowkey的后缀,在时间序列和前缀间进一步添加时间颗粒度,所述时间颗粒度是指:数据汇总的时间单位,时间颗粒度亦称为时间粒度;
57.其中:
58.分桶标识用于多线程并行处理,
59.时间序列的值从明细数据包含的数据时间获得,用于数据排序,用于按时间范围查找,
60.时间颗粒度与elasticsearch中颗粒度匹配,通过elasticsearch查询时,映射到hbase中的该值,时间颗粒度是动态生成的,需根据实际情况具体定义,定义方式不属于本发明内容,不再详述,
61.唯一标识用于避免数据重复,
62.则:所述行主键rowkey的格式为:分桶标记 时间颗粒度 明细数据包含的数据时间 唯一标识;例如:行主键rowkey:00_01020100_1578668912000_joulgtkuxiotx,其中,分桶标记为00,时间颗粒度为01020100,数据时间为1578668912000,唯一标识为joulgtkuxiotx;hbase中通过rowkey查询数据,这是hbase的设计的基础查询方式;
63.更进一步,处理引擎对录入hbase中的明细数据进行实时计算,得到汇总数据,在完成一个时间颗粒度数据之后,查询hbase中的明细数据,根据设定可选择的执行数据清洗,执行数据清洗目的是保证后续数据的一致性和有效性。
64.在上述技术方案的基础上,所述数据发送端,为采用kafka消息队列或mq消息队列的消息系统,基于消息队列完成对消息的区分,形成包含topic话题信息的流式数据,数据发送端将包含topic话题信息的流式数据,以数据流的形式输出。
65.在上述技术方案的基础上,向查询hbase请求返回数据结果集时,
66.返回给查询hbase请求的数据发送端,
67.或者返回给查询hbase请求中指定的数据接收端,
68.或者返回给查询hbase请求中指定的数据源。
69.在上述技术方案的基础上,hbase集群响应处理引擎发起的查询hbase数据。
70.在上述技术方案的基础上,如图5所示,所述处理引擎在elasticsearch中存储hbase数据检索信息,是指:在elasticsearch中以数据主体的形式存储hbase数据检索信息,所述数据主体为汇总数据;且所述elasticsearch以如下格式存储hbase的行主键rowkey:时间颗粒度 数据汇总时间 汇总数据量 数据汇总标识;
71.所述处理引擎生成并维护hbase数据检索信息和elasticsearch数据的映射关系,是指:建立hbase的行主键rowkey和elasticsearch的数据关联;例如:
72.映射关系为:01020100_1578668912000_10000_joulgt4723hu2,其中,时间颗粒度为01020100,数据汇总时间为1578668912000,汇总数据量为10000,数据汇总标识为joulgt4723hu2。
73.在上述技术方案的基础上,在需要数据检索时:
74.如果检索数据的时间颗粒度在当前汇总周期内,可直接查询处理引擎中缓存数据;
75.如果检索历史数据,则可以直接检索elasticsearch数据;
76.如果需时间颗粒度更大数据时,利用elasticsearch的汇总能力直接检索elasticsearch数据;
77.如果需要查看明细数据,可根据映射关系及检索数据查询hbase中明细数据,即:根据elasticsearch对应的rowkey映射信息,组装hbase的行主键rowkey起始值(所有hbase分桶标识 时间颗粒度 时间序列),然后查询对应数据条数即可,避免了全表扫描,而且多个分桶可以并行检索。
78.本发明还公开一种数据处理系统,所述系统包括处理引擎、hbase和elasticsearch;用于执行上述方法实施例中的各个步骤;
79.所述处理引擎用于接收数据发送端的数据流,对数据流进行处理,将数据流包含的明细数据录入到hbase中;
80.所述处理引擎还用于对录入hbase中的明细数据进行实时汇总,并周期性对hbase中数据进行查询;
81.所述hbase用于向处理引擎返回数据结果集,所述数据结果集为hbase数据检索信息;
82.处理引擎还用于将查询到的hbase数据检索信息,存储在elasticsearch;生成并维护hbase数据检索信息和elasticsearch数据的映射关系。所述处理引擎为flink分布式处理引擎;
83.elasticsearch用于存储hbase数据的检索信息。
84.本实施例提供的系统,使用flnk集群作为数据流接收器。flink集群可以保证接收数据的稳定性即flink集群高可用,不会因为flink主节点故障导致整套架构不可用。实现ha方式:flink集成zookeeper配置备用主节点,当主节点故障是备用节点替代主节点。flink读取时开启exactly-once减少冗余数据,异步io写入elasticsearch降低延迟,启动ha高可用性,数据发送端,将数据发送给flink集群,flink集群进行数据接收,将数据存储到hbase,hbase存储成功后,查询hbase数据进行聚合序列化等业务操作存储到elasticsearch。提高数据转储的高可用性、提高数据准确度,降低冗余数据达到优化磁盘空间目的,同时降低数据存储elasticsearch的延迟。
85.本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
86.以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献