CN111355689A - 一种流数据处理方法及装置 - Google Patents
一种流数据处理方法及装置 Download PDFInfo
- Publication number
- CN111355689A CN111355689A CN201811573256.6A CN201811573256A CN111355689A CN 111355689 A CN111355689 A CN 111355689A CN 201811573256 A CN201811573256 A CN 201811573256A CN 111355689 A CN111355689 A CN 111355689A
- Authority
- CN
- China
- Prior art keywords
- stream data
- computing
- data
- processing
- sub
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种流数据处理方法,包括:将多个相同的流数据并行接入计算集群中,多个流数据与计算集群中的多个计算节点组一一对应;对多个流数据中的各流数据分别进行分流处理,得到与流数据相对应的多个子流数据;将与流数据相对应的多个计算过程划分为多个计算过程组,多个计算过程组与多个流数据一一对应;将多个子流数据分别输入到计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个流数据的并行处理。采用本申请实施例,能够降低对流数据进行处理的耗时,从而提高对流数据进行处理的效率。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种流数据处理方法及装置。
背景技术
目前,对于具有流数据量大、计算过程规模大、计算实时性要求高等特点的流数据处理情景,通常需要采用分布式计算处理的方式对流数据进行处理。
在对流数据进行分布式计算处理的过程中,可以流数据的一个规模较小的计算过程为基础,依次在分布式计算系统中的各个节点上进行计算,且在每一个节点上全量的参与另一个节点的计算。
但是,在流数据量增大、流数据的计算过程规模变大的情况下,上述处理机制的计算耗时会增加,同时分布式计算系统中的节点的数据处理能力可能会无法满足处理需求,从而降低对流数据处理的效率。
因此,需要一种流数据处理方法,以能够降低对流数据进行处理的耗时,从而提高对流数据处理的效率。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种流数据处理方法及装置,以能够降低对流数据进行处理的耗时,从而提高对流数据进行处理的效率。
有鉴于此,第一方面,本发明实施例提供了一种流数据处理方法,包括:
将多个相同的流数据并行接入计算集群中,多个所述流数据与所述计算集群中的多个计算节点组一一对应;
对多个所述流数据中的各所述流数据分别进行分流处理,得到与所述流数据相对应的多个子流数据;
将与所述流数据相对应的多个计算过程划分为多个计算过程组,所述多个计算过程组与多个所述流数据一一对应;
将所述多个子流数据分别输入到所述计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个所述流数据的并行处理。
第二方面,本发明实施例提供了一种流数据处理装置,包括:
接入模块,用于将多个相同的流数据并行接入计算集群中,多个所述流数据与所述计算集群中的多个计算节点组一一对应;
分流模块,用于对多个所述流数据中的各所述流数据分别进行分流处理,得到与所述流数据相对应的多个子流数据;
划分模块,用于将与所述流数据相对应的多个计算过程划分为多个计算过程组,所述多个计算过程组与多个所述流数据一一对应;
处理模块,将所述多个子流数据分别输入到所述计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个所述流数据的并行处理。
第三方面,本发明实施例还提了一种流数据处理装置,包括:
至少一个处理器、存储器、至少一个网络接口和用户接口;
所述至少一个处理器、存储器、至少一个网络接口和用户接口通过总线系统耦合在一起;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如第一方面所述方法的步骤。
第四方面,本发明实施例还提出一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述方法的步骤。
本发明实施例提供的上述技术方案与现有技术相比具有如下优点:
本发明实施例提供的该方法,在对流数据进行处理时,将同一流数据并行多次输入计算集群中,并对每个流数据进行分流,对流数据对应的全部计算过程进行分组,以及为每个流数据分配唯一对应的计算节点组,以对每个流数据分流得到的多个子流数据中每个子流数据,在与流数据对应的计算节点组的计算节点上,执行分组得到的计算过程组所对应的数据处理过程,从而完成对多个相同的流数据的并行处理。如此,通过将流数据多次并行接入计算集群中,实现对流数据及流数据对应的全部计算过程中的双向分布式处理,可以缩短流数据的单个数据项的全部计算过程的耗时,并避免流数据在计算过程之间经I/O进行传输,达到降低计算耗时的目的,以及通过多计算节点分布式处理流数据来分担计算任务,可以线性的提升整个计算集群的流数据处理能力,进而提高对流数据进行处理的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中一个实施例提供的对流数据进行分布式处理的流程示意图;
图2为相关技术中另一个实施例提供的对流数据进行分布式处理的流程示意图;
图3为本发明实施例提供的流数据处理方法的流程示意图;
图4为本发明一个实施例提供的对流数据进行分布式处理的流程示意图;
图5为本发明一个实施例提供的分布式处理系统的示意框图;
图6为本发明另一个实施例提供的分布式处理系统的示意框图;
图7为本发明另一个实施例提供的对流数据进行分布式处理的流程示意图;
图8为本发明又一个实施例提供的对流数据进行分布式处理的流程示意图;
图9为本发明又一个实施例提供的分布式处理系统的示意框图;
图10为本发明一个实施例提供的一种流数据处理装置的框图;
图11为本发明一个实施例提供的一种流数据处理装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,对于具有流数据量大、计算过程规模大、计算实时性要求高等特点的流数据处理情景,通常需要采用分布式计算处理的方式对流数据进行处理。
在对流数据进行分布式计算处理的过程中,可以流数据的一个规模较小的计算过程为基础,依次在分布式计算系统中的各个节点上进行计算,且在每一个节点上全量的参与另一个节点的计算。
但是,在流数据量增大、流数据的计算过程规模变大的情况下,会带来以下问题:
(1)流数据在计算过程之间需要经过很多次的网络I/O传输,极大的增加了计算耗时;
(2)单一节点无法保存全部的计算过程,极大的限制了框架的应用场景。
具体而言,在流数据量增大、流数据的计算过程规模变大的情况下,通常采用以下两种方案实现对流数据的分布式计算处理:
(一)计算过程分布式。如图1所示,将计算过程分成n组,分置于多个节点上。流数据的某条数据项经过第一组计算过程的计算后,经过跨节点的网络I/O(Input/Output,输入/输出)端口,传输给第二组计算过程进行计算。如此重复,一直到经过第n组计算过程的计算后,这条数据项完成所有的计算。
(二)流数据分流。如图2所示,将流数据分成m份分流数据,分别接入到不同的节点上,每个节点放置一份全量的计算过程。每份分流数据的每条数据项都只在一个节点上完成所有的计算。
但是,上述解决方案存在以下缺陷:
(一)采用计算过程分布式进行处理的方案,如果计算过程非常多,受单节点的资源限制,计算过程需要分成很多组。数据项需要在网络节点中流进流出很多次,增加了I/O的时间消耗,使得每条数据项的全部计算过程变得很耗时,无法满足实时性要求。
(二)采用流数据分流的方式进行处理的方案,虽然相较于计算过程分布式的处理方案,能够避免流数据的数据项在网络节点中传输的I/O时间消耗,但是当计算过程非常多时,单个节点内存就有可能无法保存全部的计算过程。导致此方案在很多业务场景中无法使用。而且,流数据应用领域的其它组件,也都难以兼顾带有大量计算过程的流数据计算的应用场景。因此在实践中,需要将流数据和计算过程都进行分布式。
因此,需要一种流数据处理方法,以能够降低对流数据进行处理的耗时,从而提高对流数据处理的效率。
以下结合附图,详细说明对本发明各实施例提供的技术方案。
图3为本发明实施例提供的一种流数据处理方法,包括以下步骤:
步骤301:将多个相同的流数据并行接入计算集群中,多个流数据与计算集群中的多个计算节点组一一对应。
步骤302:对多个流数据中的各流数据分别进行分流处理,得到与流数据相对应的多个子流数据。
步骤303:将与流数据相对应的多个计算过程划分为多个计算过程组,多个计算过程组与多个流数据一一对应;
步骤304:将多个子流数据分别输入到计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个流数据的并行处理。
本发明实施例,在对流数据进行处理时,将同一流数据并行多次输入计算集群中,并对每个流数据进行分流,对流数据对应的全部计算过程进行分组,以及为每个流数据分配唯一对应的计算节点组,以对每个流数据分流得到的多个子流数据中每个子流数据,在与流数据对应的计算节点组的计算节点上,执行分组得到的计算过程组所对应的数据处理过程,从而完成对多个相同的流数据的并行处理。如此,通过将流数据多次并行接入计算集群中,实现对流数据及流数据对应的全部计算过程中的双向分布式处理,可以缩短流数据的单个数据项的全部计算过程的耗时,并避免流数据在计算过程之间经I/O进行传输,达到降低计算耗时的目的,以及通过多计算节点分布式处理流数据来分担计算任务,可以线性的提升整个计算集群的流数据处理能力,进而提高对流数据进行处理的效率。
可选的,在上述步骤302中,可以基于不同的分流标准对各流数据进行分流。
在本发明的一个具体实施例中,上述步骤302可以执行为:将流数据按预设维度分流处理为多个子流数据。
可选的,预设维度可以包括时序维度;考虑到流数据是一组顺序、大量、快速、连续到达的数据序列,则对其分流时,可以按照数据序列到达的时序进行分流。
在本发明的另一个具体实施例中,上述步骤302可以执行为:基于计算集群中的计算节点的属性参数,将流数据分流处理为多个子流数据,属性参数用于指示计算节点的计算能力。
可选的,计算集群中的计算节点的属性参数可以包括并行度、资源使用率等,如此,可以为计算能力强的计算节点组匹配数据量大的子流数据,以提高流数据的处理效率。
可选的,在计算节点组中的至少一个计算节点为多个计算节点的情况下,多个子流数据与多个计算节点一一对应。
可以理解,每个计算节点组可以包括与流数据分流后的子流数据的数量相同的计算节点,避免因采用单一节点无法保存过多的计算过程。
可选的,本发明实施例的流数据处理方法,在完成对多个流数据的处理后,还可以包括以下内容:将与多个流数据相对应的处理结果输出计算集群。
进一步的,输出处理结果的过程可以采用不同的方式实现,即将与多个流数据相对应的处理结果输出计算集群,包括以下其中一项:
将与各子流数据相对应的处理结果分别输出计算集群;
将所有子流数据对应的处理结果进行整合,以将整合后的处理结果输出计算集群。
可选的,本发明实施例的流数据处理流程可以参见图4,具体实施时,可以根据计算集群的规模大小,合理的将每份接入的流数据分成m份分流数据,将大量的计算过程分成n组计算过程组,组合成m×n份计算任务;然后,将这些任务平均的分配到各计算节点上,实现流数据和计算过程的双向分布式。通过将流数据接入n次,来避免流数据在计算过程组之间的跨网络节点的I/O传输,以缩短单个数据项的全部计算过程的耗时,提升流数据处理的实时性;同时,也能够避免由于计算过程过多,单节点无法支持全部计算过程的困扰,并可以通过增加工作节点来分担计算任务,线性的提升整个计算集群的流数据处理能力。
由上可知,本发明实施例,基于分布式并行计算,通过合理增加同一数据流的并行接入,来实现流数据和计算过程的双向分布式,避免了流数据在多个计算过程之间的I/O传输,与现有技术相比,能够支持带有大量计算过程的流数据计算的业务应用场景,提升流数据计算集群的扩展能力。
可选的,本发明实施例中流数据处理方法对应的系统框架,可以参见图5。如图5所示,本发明实施例的基于并行处理的流数据分布式计算框架可以包括以下几部分:
(1)管理节点:集群中的主节点,运行管理器、元数据组件等。
(2)主管理器:运行主控程序,负责接收客户端提交的数据处理请求,管理各工作管理器,并完成计算任务规划、分发、撤销等功能。
(3)元数据组件:管理元数据信息,具体包括元数据信息、元数据访问接口、元数据同步模块,其中,元数据信息存放在元数据库中,包括各数据源信息、计算过程信息、工作节点信息、任务信息、统计信息等。
(4)客户端:负责发送数据处理请求到主管理器。
(5)工作节点:集群中的工作节点(即计算节点),运行工作管理器、任务执行器等。
(6)工作管理器:运行工作节点上的守护进程,负责管理本工作节点的资源,定期向主管理器汇报心跳,接收主管理器的命令,启动任务执行器等。
(7)任务执行器:执行计算任务的主体。
本发明实施例的系统框架,主要具有以下优点:
(1)支持带有大量计算过程的流数据计算的业务应用场景。
(2)较好的支持了通过增加集群规模,线性的提升对流数据的计算能力。
(3)有效的缩短了流数据的单个数据项的全部计算过程的耗时,提升了流数据处理的实时性。
可选的,本发明实施例的流数据可以包括车辆实时监控产生的流数据,具体的数据处理流程可以参见图6。
如图6所示,交管系统的智能监控摄像头,将解析好的车辆通行信息传输回流数据管理平台中,进行统一的分析处理。流数据处理平台接入这些车辆通行信息流数据,进行号牌遮挡监控、重点号牌重点区域监控等分析计算,其中,号牌遮挡监控和重点号牌重点区域监控可以分别包括多个计算过程。
在具体执行时,客户端提交监控作业给主管理器;主管理器通过元数据组件,获取流平台连接信息、结果输出源连接信息、计算过程信息、工作节点信息等;主管理器将作业进行规划,拆分成多个任务,并将任务分发到各工作管理器上;工作管理器启动任务执行器,并将任务下发给任务执行器;任务执行器按照任务信息,去连接流平台获取车辆通行信息流数据,并用各计算过程对这些数据进行号牌遮挡、重点号牌重点区域监控等运算;任务执行器将计算结果写入结果数据源,供其他系统使用。
可选的,本发明实施例的流数据处理方法,还可以包括以下内容:
监测计算集群的数据接入速率是否大于计算集群的数据处理速率;在监测到数据接入速率大于数据处理速率的情况下,确定数据接入速率与数据处理速率间的速率差值;基于速率差值,确定目标计算节点个数,目标计算节点个数为计算集群中待增加的计算节点个数。
可以理解,通过对接入计算集群的流数据的数据量的监控,可以及时调整计算集群的配置,也就是说,在必要的时候,及时扩展集群,保证流数据处理的实时性。
举例来说,如图7所示的车辆实时监控的计算集群,原有4台工作节点,上线了约2000个的计算过程(重点号牌重点区域监控)。将计算过程分为两组,每组1000个,每组保存在两台工作节点上。保存相同计算过程组的两台工作节点,共享流数据的一个接入,处理一半的流数据。测算结果是每台工作节点在1000个计算过程的条件下,每秒能处理约2000条数据项,则4台节点的处理能力为8000条/秒。
若在使用了一段时间后,发现高峰期集群每秒接收约11000条车辆通行信息,超出了集群8000条/秒的处理能力,会出现数据处理延迟的情况,从而达不到流数据的实时性要求。
通过估算,可以再增加2台工作节点,用于提升高峰期集群处理车辆通行信息流数据的实时性,如图8所示。然后,通过将流数据再次分流的方式,提升集群的处理能力,其中,扩展集群的过程可以包括:将2台新工作节点接入集群;两台新工作节点分别存储计算过程组1和2;将“接入1”分成3份分流,将“接入2”分成3份分流;将两个分流3接入对应的新工作节点,完成集群的扩展。如此,经集群扩展,可以使集群的处理能力提升为12000条/秒,满足了高峰期处理11000条/秒的需求,数据处理不再出现延迟,提升了流数据处理的实时性。
可选的,本发明实施例的流数据处理方法,还可以包括以下内容:
基于接收到的计算过程处理请求,在多个计算过程组中确定目标计算过程组;对目标计算过程组执行与计算过程处理请求相对应的编辑操作。
可以理解,根据不同的流数据处理需求,灵活地调整对应的计算过程分组情况,实现对流数据的计算过程的维护,以使计算过程的分组情况与具体待处理的流数据相适配。
在一个计算过程维护的具体实施例中,车辆实时监控系统在运行过程中,经常会需要新增或删除某个重点号牌重点区域的监控的需求。每一个重点号牌重点区域的监控,都会有一个独立的计算过程去实现。系统要做的就是新增或者删除一个计算过程。
如图9所示的系统,其新增计算过程的流程可以包括:客户端向主管理器发起新增计算过程的作业;主管理器通过元数据组件获取集群任务分布及运行情况,选择一个负载最小的工作节点上面的过程组(假设是过程组1)用来加入新增的计算过程;主管理器将新增计算过程的任务分发给所有保存有计算过程组1的工作管理器;接收到任务的工作管理器将任务下发到各自节点的任务执行器上;任务执行器将新的计算过程加入到计算过程组队列中,开始执行数据项的运算。
相类似的,删除计算过程的流程可以包括:客户端向主管理器发起删除的计算过程的作业;主管理器通过元数据组件获取集群任务分布情况,找出要删除的计算过程所在的过程组(假设是过程组1);主管理器将删除计算过程的任务分发给所有保存有计算过程组1的工作管理器;接收到任务的工作管理器将任务下发到各自节点的任务执行器上;任务执行器将要删除的计算过程从计算过程组队列中删除。
通过提供本发明提供的计算框架,应用业务开发人员可以为流数据开发大量的计算过程,实现各类业务需求,而不需要关注计算过程数量过多的问题,实现了基于并行处理的流数据分布式计算方案,有效解决目前对流数据业务应用方案的缺陷及局限性,在提供对流数据和计算过程的双向分布式功能的基础上,使得框架能适应更多的应用场景。
图10是本发明一个实施例提供的流数据处理装置的框图。
如图10所示的流数据处理装置400包括:
接入模块401,用于将多个相同的流数据并行接入计算集群中,多个流数据与计算集群中的多个计算节点组一一对应;
分流模块402,用于对多个流数据中的各流数据分别进行分流处理,得到与流数据相对应的多个子流数据;
划分模块403,用于将与所述流数据相对应的多个计算过程划分为多个计算过程组,所述多个计算过程组与多个所述流数据一一对应;
处理模块404,用于将多个子流数据分别输入到计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个流数据的并行处理。
可选的,本发明实施例提供的流数据处理装置400中,上述分流模块402可以用于:
将流数据按预设维度分流处理为多个子流数据。
可选的,本发明实施例提供的流数据处理装置400中,上述分流模块402可以用于:
基于计算集群中的计算节点的属性参数,将流数据分流处理为多个子流数据,属性参数用于指示计算节点的计算能力。
可选的,本发明实施例提供的流数据处理装置400中,在计算节点组中的至少一个计算节点为多个计算节点的情况下,多个子流数据与多个计算节点一一对应。
可选的,本发明实施例提供的流数据处理装置400中,还包括:
第一确定模块,用于基于接收到的计算过程处理请求,在多个计算过程组中确定目标计算过程组;
编辑模块,用于对目标计算过程组执行与计算过程处理请求相对应的编辑操作。
可选的,本发明实施例提供的流数据处理装置400中,还包括:
监测模块,用于监测计算集群的数据接入速率是否大于计算集群的数据处理速率;
第二确定模块,用于在监测到数据接入速率大于数据处理速率的情况下,确定数据接入速率与数据处理速率间的速率差值;
第三确定模块,用于基于速率差值,确定目标计算节点个数,目标计算节点个数为计算集群中待增加的计算节点个数。
可选的,本发明实施例提供的流数据处理装置400中,还包括:
输出模块,用于将与多个流数据相对应的处理结果输出计算集群。
可选的,本发明实施例提供的流数据处理装置400中,上述输出模块可以用于执行以下的其中一项:
将与各子流数据相对应的处理结果分别输出计算集群;
将所有子流数据对应的处理结果进行整合,以将整合后的处理结果输出计算集群。
能够理解,本发明实施例提供的终端设备,能够实现前述由终端设备执行的控件树生成方法的各个过程,关于流数据处理方法的相关阐述均适用于终端设备,此处不再赘述。
本发明实施例,在对流数据进行处理时,将同一流数据并行多次输入计算集群中,并对每个流数据进行分流,对流数据对应的全部计算过程进行分组,以及为每个流数据分配唯一对应的计算节点组,以对每个流数据分流得到的多个子流数据中每个子流数据,在与流数据对应的计算节点组的计算节点上,执行分组得到的计算过程组所对应的数据处理过程,从而完成对多个相同的流数据的并行处理。如此,通过将流数据多次并行接入计算集群中,实现对流数据及流数据对应的全部计算过程中的双向分布式处理,可以缩短流数据的单个数据项的全部计算过程的耗时,并避免流数据在计算过程之间经I/O进行传输,达到降低计算耗时的目的,以及通过多计算节点分布式处理流数据来分担计算任务,可以线性的提升整个计算集群的流数据处理能力,进而提高对流数据进行处理的效率。
图11是本发明另一个实施例提供的流数据处理装置的结构示意图。图11所示的流数据处理装置500包括:至少一个处理器501、存储器502、至少一个网络接口504和其他用户接口503。移动终端500中的各个组件通过总线系统505耦合在一起。
可以理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图11中将各种总线都标为总线系统505。
其中,用户接口503可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和应用程序5022。
其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5022中。
在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是应用程序5022中存储的程序或指令,处理器501用于执行各方法实施例所提供的方法步骤,例如包括:
将多个相同的流数据并行接入计算集群中,多个流数据与计算集群中的多个计算节点组一一对应;
对多个流数据中的各流数据分别进行分流处理,得到与流数据相对应的多个子流数据;
将与流数据相对应的多个计算过程划分为多个计算过程组,多个计算过程组与多个流数据一一对应;
将多个子流数据分别输入到计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个流数据的并行处理。
本发明实施例,在对流数据进行处理时,将同一流数据并行多次输入计算集群中,并对每个流数据进行分流,对流数据对应的全部计算过程进行分组,以及为每个流数据分配唯一对应的计算节点组,以对每个流数据分流得到的多个子流数据中每个子流数据,在与流数据对应的计算节点组的计算节点上,执行分组得到的计算过程组所对应的数据处理过程,从而完成对多个相同的流数据的并行处理。如此,通过将流数据多次并行接入计算集群中,实现对流数据及流数据对应的全部计算过程中的双向分布式处理,可以缩短流数据的单个数据项的全部计算过程的耗时,并避免流数据在计算过程之间经I/O进行传输,达到降低计算耗时的目的,以及通过多计算节点分布式处理流数据来分担计算任务,可以线性的提升整个计算集群的流数据处理能力,进而提高对流数据进行处理的效率。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行各方法实施例所提供的方法,例如包括:
将多个相同的流数据并行接入计算集群中,多个流数据与计算集群中的多个计算节点组一一对应;
对多个流数据中的各流数据分别进行分流处理,得到与流数据相对应的多个子流数据;
将与流数据相对应的多个计算过程划分为多个计算过程组,多个计算过程组与多个流数据一一对应;
将多个子流数据分别输入到计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个流数据的并行处理。
而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种流数据处理方法,包括:
将多个相同的流数据并行接入计算集群中,多个所述流数据与所述计算集群中的多个计算节点组一一对应;
对多个所述流数据中的各所述流数据分别进行分流处理,得到与所述流数据相对应的多个子流数据;
将与所述流数据相对应的多个计算过程划分为多个计算过程组,所述多个计算过程组与多个所述流数据一一对应;
将所述多个子流数据分别输入到所述计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个所述流数据的并行处理。
2.根据权利要求1所述方法,所述对多个所述流数据中的各所述流数据分别进行分流处理,得到与所述流数据相对应的多个子流数据,包括:
将所述流数据按预设维度分流处理为所述多个子流数据。
3.根据权利要求1所述方法,所述对多个所述流数据中的各所述流数据分别进行分流处理,得到与所述流数据相对应的多个子流数据,包括:
基于所述计算集群中的计算节点的属性参数,将所述流数据分流处理为所述多个子流数据,所述属性参数用于指示所述计算节点的计算能力。
4.根据权利要求1所述方法,在所述计算节点组中的至少一个计算节点为多个计算节点的情况下,所述多个子流数据与所述多个计算节点一一对应。
5.根据权利要求1所述方法,还包括:
基于接收到的计算过程处理请求,在所述多个计算过程组中确定目标计算过程组;
对所述目标计算过程组执行与所述计算过程处理请求相对应的编辑操作。
6.根据权利要求1所述方法,还包括:
监测所述计算集群的数据接入速率是否大于所述计算集群的数据处理速率;
在监测到所述数据接入速率大于所述数据处理速率的情况下,确定所述数据接入速率与所述数据处理速率间的速率差值;
基于所述速率差值,确定目标计算节点个数,所述目标计算节点个数为所述计算集群中待增加的计算节点个数。
7.根据权利要求1~6中任一项所述方法,在完成对多个所述流数据的处理后,所述方法还包括:
将与多个所述流数据相对应的处理结果输出所述计算集群。
8.根据权利要求7所述方法,所述将与多个所述流数据相对应的处理结果输出所述计算集群,包括以下其中一项:
将与各所述子流数据相对应的处理结果分别输出所述计算集群;
将所有所述子流数据对应的处理结果进行整合,以将整合后的处理结果输出所述计算集群。
9.一种流数据处理装置,包括:
接入模块,用于将多个相同的流数据并行接入计算集群中,多个所述流数据与所述计算集群中的多个计算节点组一一对应;
分流模块,用于对多个所述流数据中的各所述流数据分别进行分流处理,得到与所述流数据相对应的多个子流数据;
划分模块,用于将与所述流数据相对应的多个计算过程划分为多个计算过程组,所述多个计算过程组与多个所述流数据一一对应;
处理模块,将所述多个子流数据分别输入到所述计算节点组中的至少一个计算节点上,以在计算节点上对子流数据执行计算过程组对应的数据处理过程,完成对多个所述流数据的并行处理。
10.一种流数据处理装置,包括:
至少一个处理器、存储器、至少一个网络接口和用户接口;
所述至少一个处理器、存储器、至少一个网络接口和用户接口通过总线系统耦合在一起;
所述处理器通过调用所述存储器存储的程序或指令,用于执行权利要求1~8中任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811573256.6A CN111355689B (zh) | 2018-12-21 | 2018-12-21 | 一种流数据处理方法及装置 |
PCT/CN2019/127106 WO2020125767A1 (zh) | 2018-12-21 | 2019-12-20 | 一种流数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811573256.6A CN111355689B (zh) | 2018-12-21 | 2018-12-21 | 一种流数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111355689A true CN111355689A (zh) | 2020-06-30 |
CN111355689B CN111355689B (zh) | 2022-04-22 |
Family
ID=71102525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811573256.6A Active CN111355689B (zh) | 2018-12-21 | 2018-12-21 | 一种流数据处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111355689B (zh) |
WO (1) | WO2020125767A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364063A (zh) * | 2021-01-12 | 2021-02-12 | 北京智慧星光信息技术有限公司 | 流计算系统及其数据处理方法、电子设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282404A (zh) * | 2021-04-07 | 2021-08-20 | 广州汇通国信科技有限公司 | 基于分布式调度的数据关联整合方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136722A1 (en) * | 2012-11-09 | 2014-05-15 | International Business Machines Corporation | Streaming data on data processes |
CN104915247A (zh) * | 2015-04-29 | 2015-09-16 | 上海瀚银信息技术有限公司 | 一种实时数据计算方法及系统 |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
CN106844483A (zh) * | 2016-12-23 | 2017-06-13 | 航天星图科技(北京)有限公司 | 一种日志数据流处理方法 |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
CN107851101A (zh) * | 2015-04-17 | 2018-03-27 | 中兴飞流信息科技有限公司 | 具有键/值存储检查点的基于流簇的处理 |
US20180225158A1 (en) * | 2015-08-06 | 2018-08-09 | Hewlett Packard Enterprise Development Pl | Distributed event processing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795230B (zh) * | 2010-02-23 | 2012-05-23 | 西安交通大学 | 一种网络流量还原方法 |
US10038968B2 (en) * | 2013-07-17 | 2018-07-31 | PlaceIQ, Inc. | Branching mobile-device to system-namespace identifier mappings |
CN105227601A (zh) * | 2014-06-17 | 2016-01-06 | 华为技术有限公司 | 流处理系统中的数据处理方法、装置和系统 |
-
2018
- 2018-12-21 CN CN201811573256.6A patent/CN111355689B/zh active Active
-
2019
- 2019-12-20 WO PCT/CN2019/127106 patent/WO2020125767A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136722A1 (en) * | 2012-11-09 | 2014-05-15 | International Business Machines Corporation | Streaming data on data processes |
CN107851101A (zh) * | 2015-04-17 | 2018-03-27 | 中兴飞流信息科技有限公司 | 具有键/值存储检查点的基于流簇的处理 |
CN104915247A (zh) * | 2015-04-29 | 2015-09-16 | 上海瀚银信息技术有限公司 | 一种实时数据计算方法及系统 |
US20180225158A1 (en) * | 2015-08-06 | 2018-08-09 | Hewlett Packard Enterprise Development Pl | Distributed event processing |
CN106844483A (zh) * | 2016-12-23 | 2017-06-13 | 航天星图科技(北京)有限公司 | 一种日志数据流处理方法 |
CN106713944A (zh) * | 2016-12-30 | 2017-05-24 | 北京奇虎科技有限公司 | 一种流数据任务的处理方法和装置 |
CN107391719A (zh) * | 2017-07-31 | 2017-11-24 | 南京邮电大学 | 一种云环境中分布式流数据处理方法及系统 |
Non-Patent Citations (2)
Title |
---|
寇月: "基于spark streaming的视频并行化处理平台的设计与实现", 《信息科技》 * |
陈文竹等: "一种多路海量视频流数据并行化处理方法研究", 《电视技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112364063A (zh) * | 2021-01-12 | 2021-02-12 | 北京智慧星光信息技术有限公司 | 流计算系统及其数据处理方法、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111355689B (zh) | 2022-04-22 |
WO2020125767A1 (zh) | 2020-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431794B2 (en) | Service deployment method and function management platform under serverless architecture | |
US20200364608A1 (en) | Communicating in a federated learning environment | |
US9916183B2 (en) | Scheduling mapreduce jobs in a cluster of dynamically available servers | |
WO2018141242A1 (zh) | 资源调度的方法、系统、服务器和存储介质 | |
US10380103B2 (en) | Object data updating method and apparatus in an object storage system | |
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
US10430218B2 (en) | Management of demand for virtual computing resources | |
US20150074216A1 (en) | Distributed and parallel data processing systems including redistribution of data and methods of operating the same | |
US9910821B2 (en) | Data processing method, distributed processing system, and program | |
US20160179836A1 (en) | Method for updating data table of keyvalue database and apparatus for updating table data | |
CN110308984B (zh) | 一种用于处理地理分布式数据的跨集群计算系统 | |
US10565085B2 (en) | Two-stage distributed estimation system | |
CN110941602B (zh) | 数据库的配置方法、装置、电子设备及存储介质 | |
CN111355689B (zh) | 一种流数据处理方法及装置 | |
WO2016101799A1 (zh) | 一种基于分布式系统的业务分配方法及装置 | |
US11036889B2 (en) | Efficient auditing of data in object storage | |
CN111124644B (zh) | 任务调度资源的确定方法、装置及系统 | |
US10334028B2 (en) | Apparatus and method for processing data | |
US10083121B2 (en) | Storage system and storage method | |
Lin et al. | Impact of MapReduce policies on job completion reliability and job energy consumption | |
CN114020745A (zh) | 一种索引构建方法、装置、电子设备和存储介质 | |
CN110795151A (zh) | 算子并发度调整方法、装置和设备 | |
CN110795215A (zh) | 一种数据处理方法、计算机设备、存储介质 | |
US11157481B2 (en) | Method and system for performing computations in a distributed system |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220112 Address after: 100176 602, floor 6, building 6, courtyard 10, KEGU 1st Street, Beijing Economic and Technological Development Zone, Daxing District, Beijing (Yizhuang group, high-end industrial area of Beijing Pilot Free Trade Zone) Applicant after: Jinzhuan Xinke Co.,Ltd. Address before: 518000 Zhongnan communication tower, South China Road, Nanshan District high tech Industrial Park, Shenzhen, Guangdong Applicant before: ZTE Corp. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |