CN107229747A - 一种基于流式处理框架的大规模数据处理装置及方法 - Google Patents

一种基于流式处理框架的大规模数据处理装置及方法 Download PDF

Info

Publication number
CN107229747A
CN107229747A CN201710491187.3A CN201710491187A CN107229747A CN 107229747 A CN107229747 A CN 107229747A CN 201710491187 A CN201710491187 A CN 201710491187A CN 107229747 A CN107229747 A CN 107229747A
Authority
CN
China
Prior art keywords
data
logic
data processing
processing
module
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.)
Pending
Application number
CN201710491187.3A
Other languages
English (en)
Inventor
曾琰
陈敏
张圣栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Xinghan Shuzhi Technology Co Ltd
Original Assignee
Hunan Xinghan Shuzhi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Xinghan Shuzhi Technology Co Ltd filed Critical Hunan Xinghan Shuzhi Technology Co Ltd
Priority to CN201710491187.3A priority Critical patent/CN107229747A/zh
Priority to CN201710835168.8A priority patent/CN107506482A/zh
Publication of CN107229747A publication Critical patent/CN107229747A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于流程处理框架的大规模数据处理装置及方法,该装置包括:拓扑构建模块,用于根据XML配置文件构建数据处理拓扑;数据读取模块,用于从数据源读取带有标记的原始数据,并根据标记加载逻辑配置文件,得到附加逻辑配置的数据;数据处理模块,用于接收附加逻辑配置的数据,动态调用处理方法,生成处理结果并进行分流;聚合模块,用于接收分流的处理结果并进行聚合;存储模块,用于接收聚合结果,并将其存储到指定存储介质中。本发明基于流式处理框架,数据处理速度快,能够及时处理新增数据;新增的处理规则在Redis中配置即可动态调用,数据的插入方式多样;在不同场景下只需简单的配置修改即可使用,具有一定的应用前景。

Description

一种基于流式处理框架的大规模数据处理装置及方法
技术领域
本发明涉及计算机技术领域,特别涉及一种基于流式处理框架的大规模数据处理装置及方法。
背景技术
目前,大规模数据一般采用多线程单实例的处理方式,此方式通常运行在一台服务器上,对业务的针对性高,但相应的配置较少。随着数据爆发式的增长,传统的数据处理方式已经不能够满足大规模数据处理对于速度、性能的要求,主要缺陷如下:
1、由于单台服务器存在如网络稳定性差、CPU用量过高等性能瓶颈,因此,数据处理速度不够快,并且不能及时处理新增数据。
2、进行数据处理时,没有配置文件来干预处理过程,处理规则不能动态配置,一旦处理规则发生变化,需要重新启动程序。
3、一次运行中插入的语句(如SQL)是固定的,不能动态修改,数据插入方式单一,不支持多种插入方式。
4、一次数据处理只能使用于一个业务场景,与具体业务的耦合性很高,独立性差,不方便迁移。
因此,亟需一种基于流式处理框架的大规模数据处理装置及方法。
发明内容
发明的目的:为了解决背景技术中存在的技术问题,提供一种基于流式处理框架的大规模数据处理装置及方法。
为达到上述目的,本发明采用的技术方案是:提供了一种基于流式处理框架的大规模数据处理装置,包括:
拓扑构建模块,用于根据XML配置文件构建数据处理拓扑,同时建立数据处理拓扑与数据源、存储介质的连接;
数据读取模块,用于从数据源读取带有标记的原始数据,并根据标记加载对应的逻辑配置文件,得到附加逻辑配置的数据;所述逻辑配置文件包含处理逻辑、处理方法和存储逻辑内容;
数据处理模块,用于接收附加逻辑配置的数据,并根据逻辑配置中的处理逻辑动态调用对应的处理方法,生成处理结果并根据存储逻辑进行分流;
聚合模块,用于接收分流的处理结果并对其进行聚合,得到聚合结果;
存储模块,用于接收聚合结果,并根据存储逻辑将聚合结果存储到指定的存储介质中。
进一步地,所述数据源为消息中间件或持久化存储介质。
进一步地,所述消息中间件包括:用于缓存原始数据的Kafka和用于缓存逻辑配置文件的Redis,所述持久化存储介质包括:关系数据库Mysql和索引Solr。
进一步地,所述存储介质还包括:Mongodb。
进一步地,所述存储逻辑包括:数据库实例、表名、插入方式和插入字段。
本发明还提供了一种基于流式处理框架的大规模数据处理方法,包括以下过程:
步骤1:拓扑构建模块根据XML配置文件构建数据处理拓扑,同时建立数据处理拓扑与数据源、存储介质的连接;
步骤2:数据读取模块从数据源读取带有标记的原始数据,并根据标记加载对应的逻辑配置文件,得到附加逻辑配置的数据并发送给数据处理模块;所述逻辑配置文件包含处理逻辑、处理方法和存储逻辑内容;
步骤3:数据处理模块接收附加逻辑配置的数据,并根据逻辑配置中的处理逻辑动态调用对应的处理方法,生成处理结果并根据存储逻辑进行分流;
步骤4:聚合模块接收分流的处理结果并对其进行聚合,得到聚合结果并发送给存储模块;
步骤5:存储模块接收聚合结果,并根据存储逻辑将聚合结果存储到指定的存储介质中。
进一步地,所述数据源为消息中间件或持久化存储介质。
进一步地,所述消息中间件包括:用于缓存原始数据的Kafka和用于缓存逻辑配置文件的Redis,所述持久化存储介质包括:关系数据库Mysql和索引Solr。
进一步地,所述存储介质还包括:Mongodb。
进一步地,所述存储逻辑包括:数据库实例、表名、插入方式和插入字段。
本发明的有益效果是:本发明基于storm、spark等流式处理框架,可以在多台服务器上部署集群,数据处理速度快,且能够及时处理新增数据;新增的处理规则在Redis中配置即可动态调用,无须重启程序;采用的数据源能横向拓展,数据的插入方式多样;在不同场景下使用本发明只需要进行简单的配置修改即可使用,具有一定的应用前景。
附图说明
图1是本发明实施例1基于流式处理框架的大规模数据处理装置的结构框图。
图2是本发明实施例2基于流式处理框架的大规模数据处理方法的主要流程图。
具体实施方式
为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
实施例1
环境准备:本实施例基于流式处理框架的大规模数据通用处理装置,依赖于流式处理框架,Kafka和Redis消息中间件,还有用于数据存储的介质,本次采用Storm作为底层处理框架。在部署该装置前,需确保这些环境已经准备好。
配置准备:在构建拓扑时,加载XML配置文件以及Redis中的Storm相关配置,确定加载的模块和Storm的运行参数(如:Storm的work数和task数);在建立拓扑与数据源、存储介质的连接时,加载Properties配置文件;在进行数据处理时,动态加载Redis中的配置文件,实时修改运行的阈值(如:批量提交数据量大小、等待超时时间、数据处理规则等)。
参照图1,本实施例基于流式处理框架的大规模数据处理装置,包括:
拓扑构建模块,用于根据XML文件在storm上构建数据处理拓扑,并建立数据处理拓扑与数据源、所有存储介质的连接;该模块是后续几个模块运行的基础;
数据读取模块,用于从数据源读取带有标记的原始数据,并根据标记加载对应的逻辑配置文件,得到附加逻辑配置的数据;所述数据源为消息中间件或持久化存储介质;所述消息中间件包括:用于缓存原始数据的Kafka和用于缓存逻辑配置文件的Redis,所述持久化存储介质包括:关系数据库Mysql和索引Solr;所述标记为自定义的用于区分处理方法的字段,可以是来源数据库的表名、来源网址等;所述逻辑配置文件包含处理逻辑、处理方法和存储逻辑内容;
数据处理模块,用于接收附加逻辑配置的数据,并根据逻辑配置中的处理逻辑动态调用对应的处理方法(如:在配置文件中配置了MongoDB中Student表中的数据对应的处理方法是parseStudent(),则该模块会动态调用该方法处理该条数据),生成处理结果并根据存储逻辑进行分流(如:需要插入同一个Mysql表,且插入的字段相同的数据会被发送到同一个流);由于原始数据类型和解析要求的不确定,具体的处理逻辑需要自行编写,同时在逻辑配置文件中指定不同类型数据对应的不同的处理逻辑;所述存储逻辑内容包括:数据库实例、表名、插入方式和插入字段,前三者需要指定。
聚合模块,用于接收分流的处理结果,并将相同存储逻辑的处理结果聚合到同一个线程,对于有优先标记的数据,直接发送给存储模块,否则将数据缓存,直到满足配置的超时时间或数量再发送;
存储模块,用于按批次接收聚合结果,并根据存储逻辑将聚合结果存储(即插入)到指定的存储介质中;所述存储介质为关系数据库Mysql、分布式文档存储数据库Mongodb和索引Solr。
本实施例基于流式处理框架的大规模数据处理装置,主要分为五大模块,通过Storm的流机制将这些模块串联,形成一个完整的处理流程,在启动时加载一个全局的配置,该配置指定加载的模块、各个模块的线程数以及原始数据的来源。本装置具有以下优点:
(1)数据处理速度快。本装置基于Storm、Spark、Samza或Jstorm流式处理框架,可以在多台服务器上部署集群,能够加快处理速度,充分利用服务器性能,如需要增加处理速度只需要横向增加服务器资源。
(2)确保数据不会丢失。从kafka读取数据,确保数据至少被处理一次。
(3)可拓展性。数据源可以是消息中间件,或是持久化存储数据库等,都可以横向拓展,如存储介质,现有的为Mysql和solr存储,还可以横向增加Mongodb等数据库的插入。
(4)可动态加载处理逻辑。新增的处理逻辑只需要在Redis中配置即可被动态调用到。
(5)可动态加载拓扑结构。处理数据的bolt通过xml的方式加载,在不同数据处理中可以选择性加载,减小服务器压力。
(6)采用数据聚合机制,使数据能够批量插入,减小网络开销。
(7)数据的整个处理流程都由配置文件决定,在不同的业务中,只需要修改配置文件就能满足处理需求。
实施例2
参照图2,本实施例基于流式处理框架的大规模数据处理方法,包括以下过程:
步骤1:拓扑构建模块根据XML配置文件在流式处理框架上构建数据处理拓扑,同时建立数据处理拓扑与数据源、存储介质的连接;
步骤2:数据读取模块从数据源读取带有标记的原始数据,并根据标记加载对应的逻辑配置文件,得到附加逻辑配置的数据并发送给数据处理模块;所述逻辑配置文件包含处理逻辑、处理方法和存储逻辑内容;
步骤3:数据处理模块接收附加逻辑配置的数据,并根据逻辑配置中的处理逻辑动态调用对应的处理方法,生成处理结果并根据存储逻辑进行分流;
步骤4:聚合模块接收分流的处理结果并对其进行聚合,得到聚合结果并发送给存储模块;
步骤5:存储模块接收聚合结果,并根据存储逻辑将聚合结果存储到指定的存储介质中。
优选的,所述数据源为消息中间件或持久化存储介质。
优选的,所述消息中间件包括:用于缓存原始数据的Kafka和用于缓存逻辑配置文件的Redis,所述持久化存储介质包括:关系数据库Mysql、分布式文档存储数据库Mongodb和索引Solr。
优选的,所述存储逻辑包括:数据库实例、表名、插入方式和插入字段。
注意,上述内容仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其它等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种基于流式处理框架的大规模数据处理装置,其特征在于,包括:
拓扑构建模块,用于根据XML配置文件构建数据处理拓扑,同时建立数据处理拓扑与数据源、存储介质的连接;
数据读取模块,用于从数据源读取带有标记的原始数据,并根据标记加载对应的逻辑配置文件,得到附加逻辑配置的数据;所述逻辑配置文件包含处理逻辑、处理方法和存储逻辑内容;
数据处理模块,用于接收附加逻辑配置的数据,并根据逻辑配置中的处理逻辑动态调用对应的处理方法,生成处理结果并根据存储逻辑进行分流;
聚合模块,用于接收分流的处理结果并对其进行聚合,得到聚合结果;
存储模块,用于接收聚合结果,并根据存储逻辑将聚合结果存储到指定的存储介质中。
2.根据权利要求1所述的基于流式处理框架的大规模数据处理装置,其特征在于,所述数据源为消息中间件或持久化存储介质。
3.根据权利要求2所述的基于流式处理框架的大规模数据处理装置,其特征在于,所述消息中间件包括:用于缓存原始数据的Kafka和用于缓存逻辑配置文件的Redis,所述持久化存储介质包括:关系数据库Mysql和索引Solr。
4.根据权利要求1所述的基于流式处理框架的大规模数据处理装置,其特征在于,所述存储介质还包括:Mongodb。
5.根据权利要求1所述的基于流式处理框架的大规模数据处理装置,其特征在于,所述存储逻辑包括:数据库实例、表名、插入方式和插入字段。
6.一种基于流式处理框架的大规模数据处理方法,其特征在于,包括以下过程:
步骤1:拓扑构建模块根据XML配置文件构建数据处理拓扑,同时建立数据处理拓扑与数据源、存储介质的连接;
步骤2:数据读取模块从数据源读取带有标记的原始数据,并根据标记加载对应的逻辑配置文件,得到附加逻辑配置的数据并发送给数据处理模块;所述逻辑配置文件包含处理逻辑、处理方法和存储逻辑内容;
步骤3:数据处理模块接收附加逻辑配置的数据,并根据逻辑配置中的处理逻辑动态调用对应的处理方法,生成处理结果并根据存储逻辑进行分流;
步骤4:聚合模块接收分流的处理结果并对其进行聚合,得到聚合结果并发送给存储模块;
步骤5:存储模块接收聚合结果,并根据存储逻辑将聚合结果存储到指定的存储介质中。
7.根据权利要求6所述的基于流式处理框架的大规模数据处理方法,其特征在于,所述数据源为消息中间件或持久化存储介质。
8.根据权利要求6所述的基于流式处理框架的大规模数据处理方法,其特征在于,所述消息中间件包括:用于缓存原始数据的Kafka和用于缓存逻辑配置文件的Redis,所述持久化存储介质包括:关系数据库Mysql和索引Solr。
9.根据权利要求8所述的基于流式处理框架的大规模数据处理方法,其特征在于,所述存储介质还包括:Mongodb。
10.根据权利要求6所述的基于流式处理框架的大规模数据处理装置,其特征在于,所述存储逻辑包括:数据库实例、表名、插入方式和插入字段。
CN201710491187.3A 2017-06-26 2017-06-26 一种基于流式处理框架的大规模数据处理装置及方法 Pending CN107229747A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710491187.3A CN107229747A (zh) 2017-06-26 2017-06-26 一种基于流式处理框架的大规模数据处理装置及方法
CN201710835168.8A CN107506482A (zh) 2017-06-26 2017-09-15 一种基于流式处理框架的大规模数据处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710491187.3A CN107229747A (zh) 2017-06-26 2017-06-26 一种基于流式处理框架的大规模数据处理装置及方法

Publications (1)

Publication Number Publication Date
CN107229747A true CN107229747A (zh) 2017-10-03

Family

ID=59935281

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710491187.3A Pending CN107229747A (zh) 2017-06-26 2017-06-26 一种基于流式处理框架的大规模数据处理装置及方法
CN201710835168.8A Pending CN107506482A (zh) 2017-06-26 2017-09-15 一种基于流式处理框架的大规模数据处理装置及方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710835168.8A Pending CN107506482A (zh) 2017-06-26 2017-09-15 一种基于流式处理框架的大规模数据处理装置及方法

Country Status (1)

Country Link
CN (2) CN107229747A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678852A (zh) * 2017-10-26 2018-02-09 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、系统、设备及存储介质
CN108334380A (zh) * 2018-01-19 2018-07-27 新智云数据服务有限公司 一种配置项管理方法、装置、终端和计算机可读存储介质
CN108958789A (zh) * 2018-05-20 2018-12-07 湖北九州云仓科技发展有限公司 一种并行流式计算方法、电子设备、存储介质及系统
CN109145023A (zh) * 2018-08-30 2019-01-04 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN110007967A (zh) * 2017-12-29 2019-07-12 杭州海康威视数字技术股份有限公司 一种基于流式框架的数据处理方法、装置及设备
CN112181522A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 数据处理的方法、装置以及电子设备
CN113438124A (zh) * 2021-06-07 2021-09-24 清华大学 基于意图驱动的网络测量方法和装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109857524B (zh) * 2019-01-25 2024-02-27 深圳前海微众银行股份有限公司 流式计算方法、装置、设备及计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050261B (zh) * 2014-06-16 2018-01-05 深圳先进技术研究院 基于Storm的可变逻辑的通用数据处理系统及方法
CN105512162B (zh) * 2015-09-28 2019-04-16 杭州圆橙科技有限公司 一种基于Storm的流数据实时智能化处理框架
CN105574082A (zh) * 2015-12-08 2016-05-11 曙光信息产业(北京)有限公司 基于Storm的流处理方法及系统
CN105959151B (zh) * 2016-06-22 2019-05-07 中国工商银行股份有限公司 一种高可用的流式处理系统及方法
CN106599120A (zh) * 2016-12-01 2017-04-26 中国联合网络通信集团有限公司 基于流处理框架的数据处理方法及装置
CN106789377B (zh) * 2017-03-24 2020-09-29 聚好看科技股份有限公司 网元集群的服务参数更新方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107678852A (zh) * 2017-10-26 2018-02-09 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、系统、设备及存储介质
CN107678852B (zh) * 2017-10-26 2021-06-22 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、系统、设备及存储介质
CN110007967A (zh) * 2017-12-29 2019-07-12 杭州海康威视数字技术股份有限公司 一种基于流式框架的数据处理方法、装置及设备
CN110007967B (zh) * 2017-12-29 2022-05-06 杭州海康威视数字技术股份有限公司 一种基于流式框架的数据处理方法、装置及设备
CN108334380A (zh) * 2018-01-19 2018-07-27 新智云数据服务有限公司 一种配置项管理方法、装置、终端和计算机可读存储介质
CN108958789A (zh) * 2018-05-20 2018-12-07 湖北九州云仓科技发展有限公司 一种并行流式计算方法、电子设备、存储介质及系统
CN108958789B (zh) * 2018-05-20 2021-07-09 湖北九州云仓科技发展有限公司 一种并行流式计算方法、电子设备、存储介质及系统
CN109145023A (zh) * 2018-08-30 2019-01-04 北京百度网讯科技有限公司 用于处理数据的方法和装置
CN112181522A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 数据处理的方法、装置以及电子设备
CN113438124A (zh) * 2021-06-07 2021-09-24 清华大学 基于意图驱动的网络测量方法和装置

Also Published As

Publication number Publication date
CN107506482A (zh) 2017-12-22

Similar Documents

Publication Publication Date Title
CN107229747A (zh) 一种基于流式处理框架的大规模数据处理装置及方法
US9721116B2 (en) Test sandbox in production systems during productive use
US10360199B2 (en) Partitioning and rebalancing data storage
US9195599B2 (en) Multi-level aggregation techniques for memory hierarchies
US10831747B2 (en) Multi stage aggregation using digest order after a first stage of aggregation
CN104881466B (zh) 数据分片的处理以及垃圾文件的删除方法和装置
US9996597B2 (en) Unified mapreduce framework for large-scale data processing
CN112860695B (zh) 监控数据查询方法、装置、设备、存储介质及程序产品
CN106250226B (zh) 基于一致性哈希算法的任务调度方法及系统
TW201530328A (zh) 爲半結構化資料構建NoSQL資料庫索引的方法及裝置
US20140156586A1 (en) Big-fast data connector between in-memory database system and data warehouse system
US9128967B2 (en) Storing graph data in a column-oriented data store
WO2017028394A1 (zh) 一种基于实例的分布式数据恢复方法和装置
JP7313382B2 (ja) 分散システムの頻繁パターン分析
CN106599091B (zh) 基于键值存储的rdf图结构存储和索引方法
US9734178B2 (en) Searching entity-key associations using in-memory objects
CN107562804A (zh) 数据缓存服务系统及方法、终端
US11048756B2 (en) Inserting datasets into database systems utilizing hierarchical value lists
CN106897450A (zh) 一种基于HDFS海量数据快速导入HBase的方法
US10114864B1 (en) List element query support and processing
US9256634B2 (en) Resuming big data transformations
US20240086225A1 (en) Container group scheduling methods and apparatuses
CN113032402B (zh) 存储数据和获取数据的方法、装置、设备和存储介质
JP5266420B2 (ja) データウェアハウスのための効率的なデータ逆流処理
Chen et al. A balanced partitioning mechanism using collapsed-condensed trie in mapreduce

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20171003