CN105574082A - 基于Storm的流处理方法及*** - Google Patents

基于Storm的流处理方法及*** Download PDF

Info

Publication number
CN105574082A
CN105574082A CN201510896623.6A CN201510896623A CN105574082A CN 105574082 A CN105574082 A CN 105574082A CN 201510896623 A CN201510896623 A CN 201510896623A CN 105574082 A CN105574082 A CN 105574082A
Authority
CN
China
Prior art keywords
data
topological
parameter
module
configuration file
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
CN201510896623.6A
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.)
Dawning Information Industry Beijing Co Ltd
Original Assignee
Dawning Information Industry Beijing 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 Dawning Information Industry Beijing Co Ltd filed Critical Dawning Information Industry Beijing Co Ltd
Priority to CN201510896623.6A priority Critical patent/CN105574082A/zh
Publication of CN105574082A publication Critical patent/CN105574082A/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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24568Data stream processing; Continuous queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining

Landscapes

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

Abstract

本发明提供了一种基于Storm的流处理方法及***,属于数据处理技术领域。方法包括:提取数据;获取配置文件,解析配置文件中的拓扑参数,拓扑参数用于构建拓扑作业;根据拓扑参数、数据构建拓扑作业;将拓扑作业进行Storm流处理。***包括:数据接入通用模块,用于提取数据;配置文件解析模块,用于获取配置文件,解析配置文件中的拓扑参数;Storm流处理模块,用于根据拓扑参数、数据库构建拓扑作业,将拓扑作业提交至Storm集群进行流处理。本发明提供的基于Storm的流处理***,可自动获取用户存储的数据及用户提供的配置文件,生成拓扑作业提交至Storm集群进行流处理,实现整个流处理框架中的通用组件及作业配置组装,简化、加速流处理作业开发过程。

Description

基于Storm的流处理方法及***
技术领域
本发明涉及数据处理技术领域,尤其涉及基于Storm的流处理方法及***。
背景技术
数据挖掘可以通过对海量数据的整合、分析、统计,充分利用数据中蕴含的价值,挖掘出对企业管理、业务改进、商机捕捉等更为有用的信息。随着大数据时代的到来,数据挖掘的数据量随之增长。流处理技术可以对大数据进行实时的分析,具有很强的时间价值。
由于流式计算的开发过程复杂,Storm提供了Spout、Bolt、Toplogy以及数据序列化的接口,可方便数据挖掘人员基于Storm开发相应的流处理***。
但Storm入门比较困难,对于只想使用Storm处理自己业务相关数据而不想去对Storm有深入了解的数据服务人员,Storm的开发工作成为其使用流处理技术的主要障碍。
发明内容
为解决上述问题,本发明实施例提出了一种基于Storm的流处理方法及***。
一方面,本发明实施例提供了一种基于Storm的流处理方法,所述方法包括:
提取数据;
获取配置文件,解析所述配置文件中的拓扑参数,所述拓扑参数用于构建拓扑作业;
根据所述拓扑参数、所述数据构建拓扑作业;
将所述拓扑作业进行Storm流处理。
可选地,所述提取数据之前,还包括:
获取各第一数据源的参数,根据所述参数封装各第一数据源;
所述提取数据,包括:
获取用户存储数据的第二数据源,所述第二数据源为所述第一数据源中的一个;
根据封装的第二数据源提取所述数据。
可选地,所述所述第二数据源为Hadoop分布式文件***HDFS数据源。
可选地,所述提取数据之后,还包括:
将所述数据存入存储介质中,以将所述数据封装持久化。
可选地,所述将所述数据存入存储介质中,包括:
将所述数据存入HBase和/或Redis。
可选地,所述获取配置文件,解析所述配置文件中的拓扑参数,包括:
获取用户提供的配置文件,解析所述配置文件中的组件默认参数和作业私有参数,根据所述组件默认参数和作业私有参数形成拓扑参数。
可选地,所述根据所述拓扑参数、所述数据构建拓扑作业,包括:
解析用户自定义业务;
根据所述拓扑参数、所述数据、所述自定义业务,构建拓扑作业。
另一方面,本发明实施例提供了一种基于Storm的流处理***,所述***包括:数据接入通用模块、配置文件解析模块和Storm流处理模块;
所述数据接入通用模块,用于提取数据;
所述配置文件解析模块,用于获取配置文件,解析所述配置文件中的拓扑参数,所述拓扑参数用于构建拓扑作业;
所述Storm流处理模块,用于根据所述配置文件解析模块得到的拓扑参数、所述数据接入通用模块提取的数据构建拓扑作业,将所述拓扑作业提交至Storm集群进行流处理。
可选地,所述数据接入通用模块,还用于,获取各第一数据源的参数,根据所述参数封装各第一数据源;获取用户存储数据的第二数据源,所述第二数据源为所述第一数据源中的一个;根据封装的第二数据源提取所述数据。
可选地,所述数据接入通用模块,包括:Kafka-Spout通用组件和HDFS-Spout通用组件;
所述HDFS-Spout通用组件,用于当获取用户存储数据的第二数据源为Hadoop分布式文件***HDFS数据源时,根据封装的HDFS数据源提取所述数据。
可选地,所述HDFS-Spout通用组件,还用于通过ZooKeeper实现断点续传;
和/或通过ZooKeeper实现失败重发。
可选地,所述***,还包括:
数据存储通用模块,用于将所述数据存入存储介质中,以将所述数据封装持久化。
可选地,所述数据存储通用模块,包括:HBase-Bolt通用组件和/或Redis-Bolt通用组件;
所述HBase-Bolt通用组件,用于将数据存入HBase;
所述Redis-Bolt通用组件,用于将数据存入Redis。
可选地,所述配置文件解析模块,具体用于获取用户提供的配置文件,解析所述配置文件中的组件默认参数和作业私有参数,根据所述组件默认参数和作业私有参数形成拓扑参数。
可选地,所述Storm流处理模块,包括:拓扑作业组装组件、作业提交组件和Storm集群;
所述拓扑作业组装组件,用于根据所述拓扑参数、所述数据构建拓扑作业;
所述作业提交组件,用于将所述拓扑作业组装组件构建的拓扑作业提交至Storm集群;
所述Storm集群,用于将所述作业提交组件提交的拓扑作业分配至处理节点,进行流处理。
可选地,所述Storm流处理模块,还包括:自定义解析业务组件;
所述自定义解析业务组件,用于解析用户自定义业务;
所述拓扑作业组装组件,用于根据所述拓扑参数、所述数据、所述自定义解析业务组件得到的自定义业务,构建拓扑作业。
有益效果如下:
用户仅需存储数据并提供配置文件,本实施例提供的由数据接入通用模块、数据存储通用模块、配置文件解析模块和Storm流处理模块组成的基于Storm的流处理***,即可自动根据数据及配置文件,生成拓扑作业提交至Storm集群进行流处理,降低了用户使用通过Storm进行流处理的技术难度,实现整个流处理框架中的通用组件及作业配置组装,简化、加速流处理作业开发过程。
附图说明
下面将参照附图描述本发明的具体实施例,其中:
图1示出了本发明一种实施例中提供的第一种基于Storm的流处理方法的流程图;
图2示出了本发明一种实施例中提供的第一种基于Storm的流处理***的结构示意图;
图3示出了本发明另一种实施例中提供的第二种基于Storm的流处理***的结构示意图;
图4示出了本发明另一种实施例中提供的一种DFS-Spout通用组件处理流程示意图;
图5示出了本发明另一种实施例中提供的第三种基于Storm的流处理***的结构示意图;
图6示出了本发明另一种实施例中提供的第四种基于Storm的流处理***的结构示意图;
图7示出了本发明另一种实施例中提供的一种HBase-Bolt通用组件处理流程示意图;
图8示出了本发明另一种实施例中提供的一种Redis-Bolt通用组件处理流程示意图;
图9示出了本发明另一种实施例中提供的第五种基于Storm的流处理***的结构示意图;
图10示出了本发明另一种实施例中提供的第六种基于Storm的流处理***的结构示意图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图对本发明的示例性实施例进行进一步详细的说明,显然,所描述的实施例仅是本发明的一部分实施例,而不是所有实施例的穷举。并且在不冲突的情况下,本说明中的实施例及实施例中的特征可以互相结合。
Storm提供了Spout、Bolt、Toplogy以及数据序列化的接口,可方便数据挖掘人员基于Storm开发相应的流处理***,但Storm入门比较困难,对于只想使用Storm处理自己业务相关数据而不想去对Storm有深入了解的数据服务人员,Storm的开发工作成为其使用流处理技术的主要障碍,本发明提出了一种基于Storm的流处理方法,该方法应用于一种***,该基于Storm的流处理如下述图2至图9任一图所示的实施例所述的基于Storm的流处理***。该***用户仅需存储数据并提供配置文件,即可自动根据数据及配置文件,生成拓扑作业提交至Storm集群进行流处理,降低用户使用通过Storm进行流处理的技术难度。
结合上述实施环境,参见图1所示的实施例,本实施例提供了一种双副本并行存储介质的查询方法,本实施例提供的方法流程具体如下:
101:提取数据;
102:获取配置文件,解析配置文件中的拓扑参数,拓扑参数用于构建拓扑作业;
可选地,获取配置文件,解析配置文件中的拓扑参数,包括:
获取用户提供的配置文件,解析配置文件中的组件默认参数和作业私有参数,根据组件默认参数和作业私有参数形成拓扑参数。
103:根据拓扑参数、数据构建拓扑作业;
可选地,根据拓扑参数、数据构建拓扑作业,包括:
解析用户自定义业务;
根据拓扑参数、数据、自定义业务,构建拓扑作业。
104:将拓扑作业进行Storm流处理。
可选地,提取数据之前,还包括:
获取各第一数据源的参数,根据参数封装各第一数据源;
提取数据,包括:
获取用户存储数据的第二数据源,第二数据源为第一数据源中的一个;
根据封装的第二数据源提取数据。
可选地,第二数据源为HDFS(HadoopDistributedFileSystem,Hadoop分布式文件***)数据源。
可选地,提取数据之后,还包括:
将数据存入存储介质中,以将数据封装持久化。
可选地,将数据存入存储介质中,包括:
将数据存入HBase和/或Redis。
有益效果如下:
用户仅需存储数据并提供配置文件,本实施例提供的由数据接入通用模块、数据存储通用模块、配置文件解析模块和Storm流处理模块组成的基于Storm的流处理***,即可自动根据数据及配置文件,生成拓扑作业提交至Storm集群进行流处理,降低了用户使用通过Storm进行流处理的技术难度,实现整个流处理框架中的通用组件及作业配置组装,简化、加速流处理作业开发过程。
结合上述实施环境,参见图2所示的实施例,本实施例提供了一种基于Storm的流处理***:
该***包括:数据接入通用模块201、配置文件解析模块202和Storm流处理模块203;
●数据接入通用模块201,用于提取数据;
实际应用中,数据接入通用模块201,在提取数据之前,还用于获取各第一数据源的参数,根据所述参数封装各第一数据源;
例如,获取各第一数据源的接入参数,根据所述参数封装各第一数据源的接入。
需要说明的是,获取各第一数据源的参数,根据所述参数封装各第一数据源的过程并非每次均执行的过程,仅在第一次通过本实施例提供的***进行流处理是执行该过程,或者,当有新数据源出现时执行该过程,以将所有数据源进行封装,简化过本实施例提供的***进行流处理时的数据接入流程。本实施例不对执行该过程的触发条件进行具体限定。
具体的,数据接入通用模块201获取用户存储数据的第二数据源,该第二数据源为第一数据源中的一个;根据封装的第二数据源提取数据。
另外,用户可以以文件的形式将数据存储于数据源中,例如:将所有数据按某一标准分类,同一标准的数据存储于同一文件中,将所有文件存储于同一或不同数据源中。数据接入通用模块201,可以获取用户存储数据的第二数据源;根据封装的第二数据源读取文件,从文件中提取数据。
为了方便描述,本实施例若无特殊说明,均以用户以文件的形式存储数据为例进行说明。
如图3所示,数据接入通用模块201,包括:Kafka-Spout通用组件2011和HDFS-Spout通用组件2012;
Kafka-Spout通用组件2011与现有的Kafka-Spout组件功能相同,此处不进行详细描述。
HDFS-Spout通用组件2012,用于当获取用户存储数据的第二数据源为Hadoop分布式文件***HDFS数据源时,根据封装的HDFS数据源提取数据。
具体的,在nextTuple中从文件队列中取出一个文件,根据文件后缀识别文件的压缩格式,然后建立相应的输入流通道,以给定的字符串分隔数据记录,读取记录并输出。
另外,数据在各模块间传输时,可能存在中断的现象,例如,网络中断,或者人为中断。为了避免中断后数据重新传输而造成的资源浪费,HDFS-Spout通用组件2012,还通过ZooKeeper实现断点续传。
下面,以传输的所有文件会形成文件目录为例,详细描述断点续传的具体实现方式。
1)在Open中进行Spout初始化,从zookeeper获得发送某个文件目录的历史记录,(即数据存储通用模块202读取该文件目录的历史记录),生成一个待处理的文件队列。
2)检查HDFS的存储位置下是否有新增文件,把该文件信息<filePath,position,ended>,记录入zookeeper中。
其中,filePath为文件的存储位置,position为传输的起始位置,ended为传输的终止位置。
此外,在数据实际传输过程中可能存在数据传输失败的现象,例如,传输过程中受到干扰。为了避免数据传输失败而造成数据不完成,HDFS-Spout通用组件2012,还用于在将提取的数据发送至数据存储通用模块202时,通过ZooKeeper实现失败重发。
下面,详细描述失败重发的具体实现方式:每个文件读完后,关闭输入流,更新其在zookeeper中的信息。同时启动一个定时任务,每隔一定得时间去检查是否有新文件产生,如果有就加入文件队列,具体流程如图4所示。
HDFS-Spout通用组件2012,从HDFS某路径下提取Text类型的数据,以使之流入Storm集群的计算单元中。HDFS-Spout通用组件2012实现对指定目录下的文件接入,通过ZooKeeper的协同机制保证文件的所有记录都被发送到Storm流上,支持断点续传,支持数据在整个tupletree中的失败重发机制。
另外,为了将数据持久化,需要将数据封装在不同的存储介质上,可选地,参见图5,本实施例提供的***,还包括:
●数据存储通用模块204,用于将数据接入通用模块201提取的数据存入存储介质中,以将数据封装持久化;
其中,存储介质包括但不限于数据库。
数据存储通用模块204,包括:HBase-Bolt通用组件2041和/或Redis-Bolt通用组件2042,图6示出数据存储通用模块204,包括:HBase-Bolt通用组件2041和Redis-Bolt通用组件2042的情况;
1)HBase-Bolt通用组件2041,用于将数据存入HBase;
HBase-Bolt通用组件2041提供向HBase写入数据的功能。每个Bolt只对一个数据表写入数据,并检测HBase存储介质是否出现异常,如果异常将数据安全的传入下一个Bolt进行后续处理。
输入数据是可转化为Put的数据,该Bolt的前一个Bolt/Spout需要把数据组装成可以转化为Put的数据格式。
具体的,向HBase写入数据的主要流程分为三部分:参数的赋值;资源的初始化;接收Tuple写入HBase。
其中,参数初始化是在Topology的生成阶段,参数变量必须是基本类型,Storm流处理模块203会把该参数序列化文件传输到各个work节点。
HBase资源的初始化在每个节点上执行,即执行prepare方法,Tuple的实际处理是在execute方法中,具体流程如图7所示。
2)Redis-Bolt通用组件2042,用于将数据存入Redis。
Redis-Bolt通用组件2042提供向Redis写入基本类型数据的功能。该数据的value值类型包括:字符串、散列值、集合、有序集合、列表。
具体实施时,包括但不限于:输入的Tuple格式为(key,value,value的类型,使用函数),支持的主要函数为:
具体的,向Redis写入基本类型数据的主要流程分为三部分:参数的赋值;Redis资源的初始化;接收Tuple,调用相应的函数,写入Redis。
其中,参数初始化是在Topology的生成阶段,参数变量必须是基本类型,Storm平台会把这些参数序列化文件传输到各个work节点。参数包括但不限于:redis.dbID、redis.master.ip、redis.master.port、redis.maxActive、redis.maxIdle、redis.maxWait、redis.testOnBorrow。
Redis资源的初始化在prepare中实现,包括根据参数生成Redis连接池、生成客户端连接对象。
向Redis写入基本类型数据的主要处理逻辑是在Execute方法中经行的,首先接受tuple,获得记录数据、数据类型、使用的操作函数;然后调用相应的操作函数将数据记录写入redis。具体流程如图8所示。
●配置文件解析模块202,用于获取配置文件,解析配置文件中的拓扑参数,拓扑参数用于构建拓扑作业;
配置文件解析模块202,具体用于获取用户提供的配置文件,解析配置文件中的组件默认参数和作业私有参数,根据组件默认参数和作业私有参数形成拓扑参数。
配置文件解析模块202的功能是将用户配置的配置文件(例如:topology-x.xml)解析,生成topology(拓扑)的信息载体,即拓扑参数。
配置文件解析模块202的解析过程主要分成两步:解析组件默认参数;解析作业私有参数。
其中,作业私有参数也叫topology作业特有参数,会覆盖共有参数。
解析组件默认参数生成Topology-storm的默认配置包括但不限于:kafka-spout、text-hdfs-spout、avro-hdfs-spout、text-hdfs-bolt、avro-hdfs-bolt、hbase-bolt、redis-bolt、custom-bolt。这些配置中只有组件信息,无结构信息。
作业私有参数解析时需要覆盖组件默认参数,生成可以用于构建拓扑作业的参数对象,即拓扑参数。该拓扑参数在组装topology时使用。
●Storm流处理模块203,用于根据配置文件解析模块202得到的拓扑参数、数据接入通用模块201提取的数据构建拓扑作业,将拓扑作业提交至Storm集群进行流处理。
参见图9,Storm流处理模块203,包括:拓扑作业组装组件2031、作业提交组件2032和Storm集群2033;
拓扑作业组装组件2031,用于根据配置文件解析模块202得到的拓扑参数、数据接入通用模块201提取的数据构建拓扑作业;
作业提交组件2032,用于将拓扑作业组装组件2031构建的拓扑作业提交至Storm集群2033;
Storm集群2033,用于将作业提交组件2032提交的拓扑作业分配至处理节点,进行流处理。
另外,为了进一步降低用户的使用门槛,提升本实施例提供的***的通用性,***除了可以处理配置文件中设置的业务,也可以处理用户自定义业务。用户自定义业务具体可以由图10所示的Storm流处理模块203中还包括的自定义解析业务组件2034实现。
其中,自定义解析业务组件2034,用于解析用户自定义业务;
拓扑作业组装组件2031,用于根据配置文件解析模块202得到的拓扑参数、数据接入通用模块201提取的数据、自定义解析业务组件2034得到的自定义业务,构建拓扑作业。
有益效果:
用户仅需存储数据并提供配置文件,本实施例提供的由数据接入通用模块、数据存储通用模块、配置文件解析模块和Storm流处理模块组成的基于Storm的流处理***,即可自动根据数据及配置文件,生成拓扑作业提交至Storm集群进行流处理,降低了用户使用通过Storm进行流处理的技术难度,实现整个流处理框架中的通用组件及作业配置组装,简化、加速流处理作业开发过程。
另外,本实施例提供的***在数据传输过程中,还提供断点续传和/或失败重发功能,有效的提高了数据传输质量,减少数据传输所耗资源。
上述实施例中,均可以采用现有的功能元器件模块来实施。例如,处理模块可以采用现有的数据处理元器件,至少,现有定位技术中采用的定位服务器上便具备实现该功能元器件;至于接收模块,则是任意一个具备信号传输功能的设备都具备的元器件;同时,处理模块进行的A、n参数计算、强度调整等采用的都是现有的技术手段,本领域技术人员经过相应的设计开发即可实现。
为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

Claims (16)

1.一种基于Storm的流处理方法,其特征在于,所述方法包括:
提取数据;
获取配置文件,解析所述配置文件中的拓扑参数,所述拓扑参数用于构建拓扑作业;
根据所述拓扑参数、所述数据构建拓扑作业;
将所述拓扑作业进行Storm流处理。
2.根据权利要求1所述的方法,其特征在于,所述提取数据之前,还包括:
获取各第一数据源的参数,根据所述参数封装各第一数据源;
所述提取数据,包括:
获取用户存储数据的第二数据源,所述第二数据源为所述第一数据源中的一个;
根据封装的第二数据源提取所述数据。
3.根据权利要求2所述的方法,其特征在于,所述第二数据源为Hadoop分布式文件***HDFS数据源。
4.根据权利要求1至3任一权利要求所述的方法,其特征在于,所述提取数据之后,还包括:
将所述数据存入存储介质中,以将所述数据封装持久化。
5.根据权利要求4所述的方法,其特征在于,所述将所述数据存入存储介质中,包括:
将所述数据存入HBase和/或Redis。
6.根据权利要求1所述的方法,其特征在于,所述获取配置文件,解析所述配置文件中的拓扑参数,包括:
获取用户提供的配置文件,解析所述配置文件中的组件默认参数和作业私有参数,根据所述组件默认参数和作业私有参数形成拓扑参数。
7.根据权利要求1所述的方法,其特征在于,所述根据所述拓扑参数、所述数据构建拓扑作业,包括:
解析用户自定义业务;
根据所述拓扑参数、所述数据、所述自定义业务,构建拓扑作业。
8.一种基于Storm的流处理***,其特征在于,所述***包括:数据接入通用模块、配置文件解析模块和Storm流处理模块;
所述数据接入通用模块,用于提取数据;
所述配置文件解析模块,用于获取配置文件,解析所述配置文件中的拓扑参数,所述拓扑参数用于构建拓扑作业;
所述Storm流处理模块,用于根据所述配置文件解析模块得到的拓扑参数、所述数据接入通用模块提取的数据构建拓扑作业,将所述拓扑作业提交至Storm集群进行流处理。
9.根据权利要求8所述的***,其特征在于,所述数据接入通用模块,还用于,获取各第一数据源的参数,根据所述参数封装各第一数据源;获取用户存储数据的第二数据源,所述第二数据源为所述第一数据源中的一个;根据封装的第二数据源提取所述数据。
10.根据权利要求9所述的***,其特征在于,所述数据接入通用模块,包括:Kafka-Spout通用组件和HDFS-Spout通用组件;
所述HDFS-Spout通用组件,用于当获取用户存储数据的第二数据源为Hadoop分布式文件***HDFS数据源时,根据封装的HDFS数据源提取所述数据。
11.根据权利要求10所述的***,其特征在于,所述HDFS-Spout通用组件,还用于通过ZooKeeper实现断点续传;
和/或通过ZooKeeper实现失败重发。
12.根据权利要求8至11任一权利要求所述的***,所述***,还包括:
数据存储通用模块,用于将所述数据存入存储介质中,以将所述数据封装持久化。
13.根据权利要求12所述的***,其特征在于,所述数据存储通用模块,包括:HBase-Bolt通用组件和/或Redis-Bolt通用组件;
所述HBase-Bolt通用组件,用于将数据存入HBase;
所述Redis-Bolt通用组件,用于将数据存入Redis。
14.根据权利要求8所述的***,其特征在于,所述配置文件解析模块,具体用于获取用户提供的配置文件,解析所述配置文件中的组件默认参数和作业私有参数,根据所述组件默认参数和作业私有参数形成拓扑参数。
15.根据权利要求8所述的***,其特征在于,所述Storm流处理模块,包括:拓扑作业组装组件、作业提交组件和Storm集群;
所述拓扑作业组装组件,用于根据所述拓扑参数、所述数据构建拓扑作业;
所述作业提交组件,用于将所述拓扑作业组装组件构建的拓扑作业提交至Storm集群;
所述Storm集群,用于将所述作业提交组件提交的拓扑作业分配至处理节点,进行流处理。
16.根据权利要求15所述的***,其特征在于,所述Storm流处理模块,还包括:自定义解析业务组件;
所述自定义解析业务组件,用于解析用户自定义业务;
所述拓扑作业组装组件,用于根据所述拓扑参数、所述数据、所述自定义解析业务组件得到的自定义业务,构建拓扑作业。
CN201510896623.6A 2015-12-08 2015-12-08 基于Storm的流处理方法及*** Pending CN105574082A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510896623.6A CN105574082A (zh) 2015-12-08 2015-12-08 基于Storm的流处理方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510896623.6A CN105574082A (zh) 2015-12-08 2015-12-08 基于Storm的流处理方法及***

Publications (1)

Publication Number Publication Date
CN105574082A true CN105574082A (zh) 2016-05-11

Family

ID=55884213

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510896623.6A Pending CN105574082A (zh) 2015-12-08 2015-12-08 基于Storm的流处理方法及***

Country Status (1)

Country Link
CN (1) CN105574082A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202503A (zh) * 2016-07-19 2016-12-07 北京百分点信息科技有限公司 数据处理方法及装置
CN106250571A (zh) * 2016-10-11 2016-12-21 北京集奥聚合科技有限公司 一种etl数据处理的方法及***
CN106649119A (zh) * 2016-12-28 2017-05-10 深圳市华傲数据技术有限公司 流计算引擎的测试方法及装置
CN107506482A (zh) * 2017-06-26 2017-12-22 湖南星汉数智科技有限公司 一种基于流式处理框架的大规模数据处理装置及方法
CN107678852A (zh) * 2017-10-26 2018-02-09 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、***、设备及存储介质
CN107885881A (zh) * 2017-11-29 2018-04-06 顺丰科技有限公司 业务数据实时上报、获取方法、装置、设备及其存储介质
CN107944293A (zh) * 2017-11-20 2018-04-20 上海携程商务有限公司 虚拟资产保护方法、***、设备及存储介质
CN107958049A (zh) * 2017-11-28 2018-04-24 航天科工智慧产业发展有限公司 一种数据质量稽查管理***
CN108156009A (zh) * 2016-12-06 2018-06-12 北京金山云网络技术有限公司 一种服务调用方法及装置
CN108255628A (zh) * 2016-12-29 2018-07-06 北京国双科技有限公司 一种数据处理方法及装置
CN108287854A (zh) * 2017-01-10 2018-07-17 网宿科技股份有限公司 一种流计算中数据持久化的方法和***
CN108494600A (zh) * 2018-03-30 2018-09-04 努比亚技术有限公司 拓扑创建管控的方法、装置及存储介质
CN109359109A (zh) * 2018-08-23 2019-02-19 阿里巴巴集团控股有限公司 一种基于分布式流计算的数据处理方法及***
CN109726004A (zh) * 2017-10-27 2019-05-07 中移(苏州)软件技术有限公司 一种数据处理方法及装置
CN110019369A (zh) * 2017-12-31 2019-07-16 ***通信集团福建有限公司 共用数据流处理拓扑的方法、装置、设备及介质
CN111522637A (zh) * 2020-04-14 2020-08-11 重庆邮电大学 一种基于成本效益的storm任务调度方法
CN111597058A (zh) * 2020-04-17 2020-08-28 微梦创科网络科技(中国)有限公司 一种数据流处理方法及***
CN112363774A (zh) * 2020-11-06 2021-02-12 苏宁云计算有限公司 Storm实时任务的配置方法及装置
CN114116065A (zh) * 2021-11-29 2022-03-01 中电金信软件有限公司 获取拓扑图数据对象的方法、装置、及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256549A1 (en) * 2007-04-10 2008-10-16 International Business Machines Corporation System and Method of Planning for Cooperative Information Processing
CN104052804A (zh) * 2014-06-09 2014-09-17 深圳先进技术研究院 一种不同任务拓扑间共享数据流的方法、装置及集群
CN104050261A (zh) * 2014-06-16 2014-09-17 深圳先进技术研究院 基于Storm的可变逻辑的通用数据处理***及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080256549A1 (en) * 2007-04-10 2008-10-16 International Business Machines Corporation System and Method of Planning for Cooperative Information Processing
CN104052804A (zh) * 2014-06-09 2014-09-17 深圳先进技术研究院 一种不同任务拓扑间共享数据流的方法、装置及集群
CN104050261A (zh) * 2014-06-16 2014-09-17 深圳先进技术研究院 基于Storm的可变逻辑的通用数据处理***及方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周小勇 等: "基于数据流的实时网络流量分析***设计与实现", 《计算机应用研究》 *
孙朝华: "基于Storm的数据分析***设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106202503B (zh) * 2016-07-19 2019-08-16 北京百分点信息科技有限公司 数据处理方法及装置
CN106202503A (zh) * 2016-07-19 2016-12-07 北京百分点信息科技有限公司 数据处理方法及装置
CN106250571A (zh) * 2016-10-11 2016-12-21 北京集奥聚合科技有限公司 一种etl数据处理的方法及***
CN108156009B (zh) * 2016-12-06 2021-03-26 北京金山云网络技术有限公司 一种服务调用方法及装置
CN108156009A (zh) * 2016-12-06 2018-06-12 北京金山云网络技术有限公司 一种服务调用方法及装置
CN106649119A (zh) * 2016-12-28 2017-05-10 深圳市华傲数据技术有限公司 流计算引擎的测试方法及装置
CN106649119B (zh) * 2016-12-28 2019-09-20 深圳市华傲数据技术有限公司 流计算引擎的测试方法及装置
CN108255628A (zh) * 2016-12-29 2018-07-06 北京国双科技有限公司 一种数据处理方法及装置
CN108287854B (zh) * 2017-01-10 2021-06-22 网宿科技股份有限公司 一种流计算中数据持久化的方法和***
CN108287854A (zh) * 2017-01-10 2018-07-17 网宿科技股份有限公司 一种流计算中数据持久化的方法和***
CN107506482A (zh) * 2017-06-26 2017-12-22 湖南星汉数智科技有限公司 一种基于流式处理框架的大规模数据处理装置及方法
CN107678852A (zh) * 2017-10-26 2018-02-09 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、***、设备及存储介质
CN107678852B (zh) * 2017-10-26 2021-06-22 携程旅游网络技术(上海)有限公司 基于流数据实时计算的方法、***、设备及存储介质
CN109726004A (zh) * 2017-10-27 2019-05-07 中移(苏州)软件技术有限公司 一种数据处理方法及装置
CN109726004B (zh) * 2017-10-27 2021-12-03 中移(苏州)软件技术有限公司 一种数据处理方法及装置
CN107944293A (zh) * 2017-11-20 2018-04-20 上海携程商务有限公司 虚拟资产保护方法、***、设备及存储介质
CN107944293B (zh) * 2017-11-20 2019-09-24 上海携程商务有限公司 虚拟资产保护方法、***、设备及存储介质
CN107958049A (zh) * 2017-11-28 2018-04-24 航天科工智慧产业发展有限公司 一种数据质量稽查管理***
CN107885881A (zh) * 2017-11-29 2018-04-06 顺丰科技有限公司 业务数据实时上报、获取方法、装置、设备及其存储介质
CN110019369A (zh) * 2017-12-31 2019-07-16 ***通信集团福建有限公司 共用数据流处理拓扑的方法、装置、设备及介质
CN110019369B (zh) * 2017-12-31 2022-06-07 ***通信集团福建有限公司 共用数据流处理拓扑的方法、装置、设备及介质
CN108494600A (zh) * 2018-03-30 2018-09-04 努比亚技术有限公司 拓扑创建管控的方法、装置及存储介质
CN108494600B (zh) * 2018-03-30 2022-12-23 大唐丘北风电有限责任公司 拓扑创建管控的方法、装置及存储介质
CN109359109A (zh) * 2018-08-23 2019-02-19 阿里巴巴集团控股有限公司 一种基于分布式流计算的数据处理方法及***
CN109359109B (zh) * 2018-08-23 2022-05-27 创新先进技术有限公司 一种基于分布式流计算的数据处理方法及***
CN111522637A (zh) * 2020-04-14 2020-08-11 重庆邮电大学 一种基于成本效益的storm任务调度方法
CN111522637B (zh) * 2020-04-14 2024-03-29 深圳市凌晨知识产权运营有限公司 一种基于成本效益的storm任务调度方法
CN111597058A (zh) * 2020-04-17 2020-08-28 微梦创科网络科技(中国)有限公司 一种数据流处理方法及***
CN111597058B (zh) * 2020-04-17 2023-10-17 微梦创科网络科技(中国)有限公司 一种数据流处理方法及***
CN112363774A (zh) * 2020-11-06 2021-02-12 苏宁云计算有限公司 Storm实时任务的配置方法及装置
CN114116065A (zh) * 2021-11-29 2022-03-01 中电金信软件有限公司 获取拓扑图数据对象的方法、装置、及电子设备

Similar Documents

Publication Publication Date Title
CN105574082A (zh) 基于Storm的流处理方法及***
US11442942B2 (en) Modified representational state transfer (REST) application programming interface (API) including a customized GraphQL framework
US10353913B2 (en) Automating extract, transform, and load job testing
CN110134674B (zh) 一种货币信贷大数据监测分析***
CN110716744A (zh) 一种数据流处理方法、***和计算机可读存储介质
US9992269B1 (en) Distributed complex event processing
CN107133231B (zh) 一种数据获取方法和装置
CN106210124B (zh) 一种统一的云数据中心监控***
CN105653425A (zh) 基于复杂事件处理引擎的监控***
US11461288B2 (en) Systems and methods for database management system (DBMS) discovery
CN105930417B (zh) 一种基于云计算的大数据etl交互式处理平台
CN103618762A (zh) 一种基于aop的企业服务总线状态预处理***及方法
US20210382775A1 (en) Systems and methods for classifying and predicting the cause of information technology incidents using machine learning
CN104239508A (zh) 数据查询方法和装置
CN104660435A (zh) 面向智能管道的事务型网管引擎及其网管事务处理方法
KR20130140508A (ko) 로그 정보 수집 장치
EP3567804B1 (en) Advanced insights explorer
CN113515267A (zh) 一种基于工业物联网的PaaS平台
CN116755799A (zh) 一种服务编排***和方法
CN109902118B (zh) 一种用于政府数据开放的数据资源跨网交换***及方法
CN108282347A (zh) 一种服务器数据在线管理方法和***
CN110209722A (zh) 一种用于数据交换的数据接口
US10824432B2 (en) Systems and methods for providing multiple console sessions that enable line-by-line execution of scripts on a server application
CN115348325B (zh) 一种多通道实时传输优先级管控方法和***
CN104199979A (zh) 一种模型化的数据源管理***及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160511