一种数据流处理方法及系统技术方案

技术编号:25438757 阅读:43 留言:0更新日期:2020-08-28 22:27
本发明专利技术实施例公开了一种数据流处理方法及系统,用于解决现有的数据流处理方法中各处理节点之间的互相通讯需要依赖中心化节点,使得部署较笨重且不便扩缩容的问题,该方法包括:各个处理节点获取自身的配置文件,所述配置文件包括拓扑参数;所述各个处理节点根据自身的拓扑参数,组建拓扑架构;当任一处理节点接收到数据流时,该处理节点按照所述拓扑架构对所述数据流进行业务处理,并输出处理结果信息。本发明专利技术实施例通过各个处理节点根据自身的拓扑参数自发组建拓扑架构,每个处理节点相互独立,只关心自身的拓扑参数,不关心其他处理节点的行为,组建拓扑架构不存在中心化的处理节点,使得部署的框架较轻量化,便于扩缩容。

【技术实现步骤摘要】
一种数据流处理方法及系统
本专利技术实施例涉及数据处理
,尤其涉及一种数据流处理方法及系统。
技术介绍
随着互联网大数据的兴起,加速了大数据处理技术的发展。不同数据对处理技术有不同的要求。流处理系统的数据为实时采集的数据,通过实时计算采集来的数据,计算完成后迅速反馈给用户,已达到响应快、延迟低、可靠的目的。可见,流处理系统具有快速、高效、容错率高等特性能,能够将数据信息准确无误的进行处理。在实际应用中,流处理系统可以应用在火灾报警、燃气泄漏报警等场景。常用的流处理框架有Storm分布式实时计算框架,该框架在大数据流式处理的各种平台技术中以实时性好、高性能著称,兼备高可扩展性、稳定性和可靠性等特点受到业界的广泛关注使用。Storm作为流数据处理引擎,采用轮询算法进行任务调度,基于内存进行快速运算,能够保证每个消息都会得到处理,而且响应速度快,很适用于实时流处理。但是,storm通过一个中心化节点实现各处理节点之间互相发现,即各处理节点之间的互相通讯需要依赖中心化节点来实现。如storm的启动需要依赖zookeeper。因此,storm的部署较为笨重,且扩缩容较为不便。
技术实现思路
本专利技术实施例提供一种数据流处理方法及系统,用于解决现有的数据流处理方法中各处理节点之间的互相通讯需要依赖中心化节点,使得部署较笨重且不便扩缩容的问题。本专利技术实施例采用下述技术方案:第一方面,提供了一种数据流处理方法,所述方法包括:各个处理节点获取自身的配置文件,所述配置文件包括拓扑参数;所述各个处理节点根据自身的拓扑参数,组建拓扑架构;当任一处理节点接收到数据流时,该处理节点按照所述拓扑架构对所述数据流进行业务处理,并输出处理结果信息。第二方面,提供了一种数据流处理系统,所述系统包括:若干处理节点,每一个处理节点包括获取模块、组建模块和业务处理模块,其中:所述获取模块,用于获取所属处理节点的配置文件,所述配置文件包括拓扑参数;所述组建模块,用于根据所属处理节点的拓扑参数,组建拓扑架构;所述业务处理模块,用于当所属处理节点接收到数据流时,按照所述拓扑架构对所述数据流进行业务处理,并输出处理结果信息。第三方面,提供了一种数据流处理系统,包括:存储器,存储有计算机程序指令;处理器,当所述计算机程序被所述处理器执行时实现如上述所述的数据流处理方法。第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行时实现如上述所述的数据流处理方法。本专利技术实施例采用的上述至少一个技术方案能够达到以下有益效果:本专利技术实施例通过各个处理节点根据自身的拓扑参数自发组建拓扑架构,每个处理节点相互独立,只关心自身的拓扑参数,不关心其他处理节点的行为,组建拓扑架构不存在中心化的处理节点,使得部署的框架较轻量化,便于扩缩容。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本说明书的一个实施例提供的数据流处理方法流程示意图;图2为本说明书的一个实施例提供的数据流处理方法的实际应用场景示意图之一;图3为本说明书的一个实施例提供的数据流处理方法的实际应用场景示意图之二;图4为本说明书的一个实施例提供的数据流处理方法的实际应用场景示意图之三;图5为本说明书的一个实施例提供的数据流处理方法的实际应用场景示意图之四;图6为本说明书的一个实施例提供的数据流处理方法的实际应用场景示意图之五;图7为本说明书的一个实施例提供的数据流处理方法的实际应用场景示意图之六;图8为本说明书的一个实施例提供的数据流处理系统结构示意图之一;图9为本说明书一个实施例提供的数据流处理系统结构示意图之二。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本专利技术实施例提供一种数据流处理方法及系统,用于解决现有的数据流处理方法中各处理节点之间的互相通讯需要依赖中心化节点,使得部署较笨重且不便扩缩容的问题。本专利技术实施例提供一种数据流处理方法,该方法的执行主体,可以但不限于应用程序或能够被配置为执行本专利技术实施例提供的该方法的系统。图1为本专利技术实施例提供的数据流处理方法的流程图,图1的方法可以由系统执行,如图1所示,该方法可以包括:步骤110,各个处理节点获取自身的配置文件。其中,所述配置文件可以包括拓扑参数。该拓扑参数可以包括:处理节点的标识信息,处理节点的待处理数据和处理结果数据,处理节点读取消息中间件的密钥值和处理节点输出的消息中间件的密钥列表,处理节点读取的消息中间件的类型,处理节点的线程数,控制处理节点执行业务处理的指令等。步骤120,所述各个处理节点根据自身的拓扑参数,组建拓扑架构。示例性的,所述拓扑参数可以包括处理节点的待处理数据和处理结果数据,处理节点读取消息中间件的密钥值和处理节点将数据写入消息中间件的密钥值。本步骤具体可实现为:所述各个处理节点根据待处理处理数据和处理结果数据,确定各个处理节点的关联关系,以生成拓扑图。该拓扑图是一个有向无环图,其用于确定数据流向,及排查处理节点性能压力等。示例性的,如图2所示,假设:处理节点(简称节点)1的处理结果数据是节点3和节点4的待处理处理数据,节点2的处理结果数据是节点4和节点5的待处理处理数据,节点4的处理结果数据是节点6的待处理处理数据,节点4的处理结果数据是节点5和节点7的待处理处理数据,节点7的处理结果数据是节点6的待处理处理数据。则,可确定节点1~节点7之间的关联关系,并根据该关联关系,生成一个有向无环图,即拓扑图。根据所述拓扑图,在所述各个处理节点中,将采用密钥值将数据写入所述消息中间件的第一处理节点,与采用同一密钥值从所述消息中间件中读取数据的第二处理节点建立通讯,组建所述拓扑架构。其中,如图3所示,消息中间件以接口插件的形式嵌入系统中,常用的消息中间件有Kafka,Redis,BlockingQueue(由JavaDevelopmentKit,JDK提供),memcacheq等。通过插件扩展的方式可以在jvm(JavaVirtualMachine,Java虚拟机)内部通讯,也可以跨jvm通讯。具体实施时,本专利技术实施例使用BlockingQueue,在使用BlockingQueue时数据只能在Jvm内传递。本专利技术实施例使用其他消息中间件时数据可以跨机器传递。本文档来自技高网...

【技术保护点】
1.一种数据流处理方法,其特征在于,包括:/n各个处理节点获取自身的配置文件,所述配置文件包括拓扑参数;/n所述各个处理节点根据自身的拓扑参数,组建拓扑架构;/n当任一处理节点接收到数据流时,该处理节点按照所述拓扑架构对所述数据流进行业务处理,并输出处理结果信息。/n

【技术特征摘要】
1.一种数据流处理方法,其特征在于,包括:
各个处理节点获取自身的配置文件,所述配置文件包括拓扑参数;
所述各个处理节点根据自身的拓扑参数,组建拓扑架构;
当任一处理节点接收到数据流时,该处理节点按照所述拓扑架构对所述数据流进行业务处理,并输出处理结果信息。


2.根据权利要求1所述的方法,其特征在于,所述拓扑参数包括处理节点的待处理数据和处理结果数据,处理节点读取消息中间件的密钥值和处理节点将数据写入消息中间件的密钥值;
所述各个处理节点根据自身的拓扑参数,组建拓扑架构,包括:
所述各个处理节点根据待处理数据和处理结果数据,确定各个处理节点的关联关系,生成拓扑图;
根据所述拓扑图,在所述各个处理节点中,将采用密钥值将数据写入所述消息中间件的第一处理节点,与采用同一密钥值从所述消息中间件中读取数据的第二处理节点建立通讯,组建所述拓扑架构。


3.根据权利要求1所述的方法,其特征在于,各个处理节点获取自身的配置文件,包括:
扫描提供处理节点类的包,获取类定义,所述处理节点的类定义的注解被加在处理节点类上;
解析所述类定义的注解,得到所述处理节点类及处理节点类对象;
对所述处理节点类进行实例化处理,具体包括:所述处理节点类通过注解实现依赖的处理节点类对象被注入spring框架。


4.根据权利要求3所述的方法,其特征在于,对所述处理节点类进行实例化处理之前,还包括:根据所述类定义的注解,判定所述处理节点类合法。


5.根据权利要求1所述的方法,其特征在于,所述拓扑参数包括控制处理节点执行业务处理的指令,在任一处理节点按照所述拓扑架构对所述数据流进行业务处理之前,包括:
当任一处理节点接收到数据流时,该处理节点根据所述控制处理节点执行业务处理的指令,执行与所述指令相应的操作。


6.根据权利要求...

【专利技术属性】
技术研发人员:周源贾晓捷冯萌萌王佳佳
申请(专利权)人:微梦创科网络科技中国有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1