CN111897693A - 一种流式处理方法及装置 - Google Patents
一种流式处理方法及装置 Download PDFInfo
- Publication number
- CN111897693A CN111897693A CN202010676621.7A CN202010676621A CN111897693A CN 111897693 A CN111897693 A CN 111897693A CN 202010676621 A CN202010676621 A CN 202010676621A CN 111897693 A CN111897693 A CN 111897693A
- Authority
- CN
- China
- Prior art keywords
- operator
- processing
- dag graph
- graph
- initial
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
- G06F11/3093—Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种流式处理方法及装置,其中,该方法包括:根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;通过所述目标DAG图对所述流处理任务的进度进行监控,可以解决相关技术中将流式计算中的SQL计算部分抽象成DAG,SQL的变化导致的DAG变化,用户无法感知,给调试和问题定位带来不便的问题,采用图形化的流处理配置,用户不需要编码和学习成本即可上手完成流处理任务的配置,在运维上可监控流处理过程中DAG图上各节点的状态及进度。
Description
技术领域
本发明涉及数据处理领域,具体而言,涉及一种流式处理方法及装置。
背景技术
随着大数据技术在各行各业的广泛应用,要求能对海量数据进行实时处理的需求越来越多,同时数据处理的业务逻辑也越来越复杂,传统的批处理方式和早期的流式处理框架也越来越难以在延迟性、吞吐量、容错能力以及使用便捷性等方面满足业务日益苛刻的要求。
大数据流式计算的应用场景较多,按照数据产生方式、数据规模大小以及技术成熟度高低这3个不同维度,金融银行业应用、互联网应用以及物联网应用。目前,业界成熟的实时流式处理系统有很多。有成熟的商业产品,也有公司、组织或个人开源出来的产品,这些产品有的已经经过生产验证,有些只是原型产品,并且开放出来供调用的接口过多。这种产品现状导致,面对如此众多的、令人眼花缭乱的产品,身为一线的代码开发人员,在前期产品选型、试用,后期产品学习、使用等方面面临诸多困难和压力,增加了开发人员的学习曲线,并且调用过程过于复杂。因此,业界又面临着如何简化现有的流式处理产品的问题
流式处理:业务系统实时操作生成事件(消息/调用),经过一系列的处理分析,这个过程是分散在多台计算机上并行完成的,看上去就像事件连续不断的流经多个计算节点处理,形成一个流式计算过程。
相关技术中提出一种数据处理方法,将数据处理的SQL处理抽象成DAG,随着SQL变化修正DAG图完成满足流式计算应用可能会随时间不断变化的计算需求。将流式计算中的SQL计算部分抽象成DAG,SQL的变化导致的DAG变化,用户无法感知,给调试和问题定位带来不便。
针对相关技术中将流式计算中的SQL计算部分抽象成DAG,SQL的变化导致的DAG变化,用户无法感知,给调试和问题定位带来不便的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种流式处理方法及装置,以至少解决相关技术中将流式计算中的SQL计算部分抽象成DAG,SQL的变化导致的DAG变化,用户无法感知,给调试和问题定位带来不便的问题。
根据本发明的一个实施例,提供了一种流式处理方法,包括:
根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
通过所述目标DAG图对所述流处理任务的进度进行监控。
可选地,通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图包括:
将所述初始DAG图中的节点抽象为基本算子;
通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图;或者
通过所述图形化界面中获取到的高阶算子或自定义算子对所述初始DAG图进行优化处理,得到所述目标DAG图。
可选地,通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图包括:
通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图;
通过将所述基本算子上的扩展功能抽象为日志处理算子、远程调用算子和/或信令算子对所述初始DAG图进行优化处理,得到所述目标DAG图,其中,所述信令算子用于控制所述流处理任务的起始和停止。
可选地,在通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图之后,所述方法还包括:
对所述目标DAG图中的每个节点进行计算,得到计算结果;
根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果;和/或
根据所述统计算子进行信息统计。
可选地,在根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果之后,所述方法还包括:
确定所述处理结果的消息类型;
根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理;
对所述处理结果进行上报。
可选地,根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理包括:
若所述处理结果为可恢复错误的消息,将所述处理结果投递到所述目标DAG图的首节点进行重新流转计算;
若所述处理结果为不可恢复错误的消息,存储所述处理结果的消息日志,其中,所述消息日志包括消息内容、错误信息、错误算子以及时间信息。
根据本发明的又一个实施例,还提供了一种流式处理装置,包括:
配置模块,用于根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
优化模块,用于通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
监控模块,用于通过所述目标DAG图对所述流处理任务的进度进行监控。
可选地,所述优化模块包括:
抽象子模块,用于将所述初始DAG图中的节点抽象为基本算子;
第一优化子模块,用于通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图;或者
第二优化子模块,用于通过所述图形化界面中获取到的高阶算子或自定义算子对所述初始DAG图进行优化处理,得到所述目标DAG图。
可选地,所述第一优化子模块包括:
抽象单元,用于通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图;
优化单元,用于通过将所述基本算子上的扩展功能抽象为日志处理算子、远程调用算子和/或信令算子对所述初始DAG图进行优化处理,得到所述目标DAG图,其中,所述信令算子用于控制所述流处理任务的起始和停止。
可选地,所述装置还包括:
计算单元,用于对所述目标DAG图中的每个节点进行计算,得到计算结果;
错误处理单元,用于根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果;和/或
统计单元,用于根据所述统计算子进行信息统计。
可选地,所述装置还包括:
确定单元,用于确定所述处理结果的消息类型;
分类单元,用于根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理;
上报单元,用于对所述处理结果进行上报。
可选地,所述分类单元,还用于
若所述处理结果为可恢复错误的消息,将所述处理结果投递到所述目标DAG图的首节点进行重新流转计算;
若所述处理结果为不可恢复错误的消息,存储所述处理结果的消息日志,其中,所述消息日志包括消息内容、错误信息、错误算子以及时间信息。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;通过所述目标DAG图对所述流处理任务的进度进行监控,可以解决相关技术中将流式计算中的SQL计算部分抽象成DAG,SQL的变化导致的DAG变化,用户无法感知,给调试和问题定位带来不便的问题,采用图形化的流处理配置,用户不需要编码和学习成本即可上手完成流处理任务的配置,在运维上可监控流处理过程中DAG图上各节点的状态及进度。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的流式处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的流式处理方法的流程图;
图3是根据本发明实施例的DAG变换的示意图;
图4是根据本发明实施例的流式处理装置的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的流式处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的流式处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的流式处理方法,图2是根据本发明实施例的流式处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
步骤S204,通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
步骤S206,通过所述目标DAG图对所述流处理任务的进度进行监控。
通过上述步骤S202至S206,可以解决相关技术中将流式计算中的SQL计算部分抽象成DAG,SQL的变化导致的DAG变化,用户无法感知,给调试和问题定位带来不便的问题,采用图形化的流处理配置,用户不需要编码和学习成本即可上手完成流处理任务的配置,在运维上可监控流处理过程中DAG图上各节点的状态及进度。
可选地,上述步骤S204具体可以包括:
将所述初始DAG图中的节点抽象为基本算子;通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图,进一步的,通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图;通过将所述基本算子上的扩展功能抽象为日志处理算子、远程调用算子和/或信令算子对所述初始DAG图进行优化处理,得到所述目标DAG图,其中,所述信令算子用于控制所述流处理任务的起始和停止,进一步的,对所述目标DAG图中的每个节点进行计算,得到计算结果;根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果,具体的,若所述处理结果为可恢复错误的消息,将所述处理结果投递到所述目标DAG图的首节点进行重新流转计算,若所述处理结果为不可恢复错误的消息,存储所述处理结果的消息日志,其中,所述消息日志包括消息内容、错误信息、错误算子以及时间信息;和/或根据所述统计算子进行信息统计;或者
通过所述图形化界面中获取到的高阶算子或自定义算子对所述初始DAG图进行优化处理,得到所述目标DAG图。
在一可选的实施例中,在根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果之后,确定所述处理结果的消息类型;根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理;对所述处理结果进行上报。
本实施例采用范畴论的方式对原始的DAG进行同态映射,变换后用户输入DAG连接关系不变,相对图变换算法这种同态映射实现简单,且与图变换算法完全正交;更利于用户理解系统内的流处理逻辑,在调试及任务处理阶段能更快速的定位问题。相对于完全用户定义DAG,通过叠加方式优化DAG的方式更加灵活、版本间兼容性更易保证;采用信令的方式控制算子的启停运行,算子运行过程中无中心管理节点,避免单点故障;信令消息的流转和普通消息流转一致,完全复用普通消息的处理逻辑,减少了代码开发量。将流处理过程各个不同功能抽象成算子,新功能开发即对应一个独立算子开发,开发相对独立,扩展性强,版本兼容性可控。用户通过配置选择不同扩展功能(系统内或者自定义)的灵活组合、同时可根据需要快速开发特定算子,完成复杂场景下的流处理任务,具体包括:
支持任务配置、运维订阅、自定义算子开发上传。用户通过图形界面配置任务的数据流向DAG图,并选择需要的高阶算子及叠加顺序,以此完成任务流处理逻辑。运维订阅,用户可根据需要选择订阅单个或者多个任务运维信息,通过http/https/rmq/kafka等方式推送给用户。自定义算子开发,这是为了满足复杂场景下的用户的特定需求,上传后可在任务配置中使用。
用户只需要在图形界面上配置流处理的DAG图,即可定义自己的流处理任务,学习成本低,修改方便。系统内根据用户的配置对DAG变化,变换后的DAG连接关系不变,在运维上用户可实时监控DAG各节点的运行状态,了解实时流处理任务的进度。为了满足特定场景需求,系统还未用户提供了自定义算子模板,用户通过修改算子模板,开速开发自定义的高阶算子,以此满特定场景的需求。
算子管理,包括内部算子和外部算子。
系统内将各个独立的功能抽象成算子,包括基本算子、高阶算子、信令算子。基本算子有输入输出、SQL处理算子;高阶算子有错误处理、统计处理、重试处理、日志处理、远程调用RPC、信令算子等。换个方式理解就是将DAG图中节点抽象为基本算子,算子上的扩展功能抽象为高阶算子;信令算子控制任务的起停。普通算子作为流处理的骨架完成基础功能,用户根据需要可选择不同的高阶算子丰富优化整条流处理链路。
错误处理算子:(1)错误消息分类处理:可恢复错误的消息投递到首算子进行重新流转计算,不可恢复的错误存储详细的消息日志(消息内容、错误信息、错误算子、时间等信息);(2)错误上报:推送处理失败的消息内容及重试次数。
统计算子,用于汇总消息的统计信息(到达时间、处理时间、时间热点、处理结果)、消费进度、任务处理重新信息等。
重试处理(可选择不同的重试策略)、日志处理(推送消息处理日志等)。
外部算子,用于满足复杂场景下的用户需求。当系统内的算子不满足用户需求时,用户可按照系统的模板定义特性的高级算子。系统提供基本的调试验证接口,调试上传后,系统就包含该高阶算子,用户在任务配置时就可选择该高阶算子完成特定的流处理逻辑。
将独立功能抽象成算子,算子之间相互独立,用户可根据需求选择不同的高阶算子进行组合。扩展功能抽象成算子,保证各算子上的共性处理逻辑一致,并大大减少开发工作量。
任务解析及DAG变换,接收任务配置(json格式),对任务的有效性进行检查,并转为内部数据结构。根据用户配置的高阶算子及叠加顺序,采用范畴论的方式对DAG图进行变换,下面以错误处理算子、统计算子为例说明DAG的变换过程。
图3是根据本发明实施例的DAG变换的示意图,如图3所示,变换过程先叠加了错误处理、再叠加了统计处理,即DAG图中每个节点计算完成后先对结果进行错误处理(处理逻辑见算子说明)、再进行信息统计(逻辑见算子说明)。变换后整个流处理过程中就增加了消息错误处理功能及统计功能。
采用范畴论的方式对原始的DAG进行变化,变换后用户输入DAG连接关系不变,相对图变换算法这种同态映射实现简单,且与图变换算法完全正交;DAG的同态映射,更利于用户理解系统内的流处理逻辑,在调试及任务处理阶段能更快速的定位问题;相对于完全用户定义DAG,通过叠加方式优化DAG的方式更加灵活、版本间兼容性更易保证。
任务处理,包括任务启动和任务停止。
任务启动,启动任务时调用信令算子向DAG的首节点发送启动的信令消息,驱动所有算子开始运行;
任务停止,包括用户主动停止或者由于内部逻辑导致的停止,都调用信令算子向首节点发送停止的信令消息,驱动所有算子停止运行
整个任务处理过程中无中心节点,在单个节点上逐层解析调用算子的封箱方法,最终投递到下一个节点,节点上收到消息后,逐层进行解箱动作。每个节点上的处理逻辑一直,封箱解箱过程中也不需关注具体是哪个算子、只需要调用对应的方法即可。此种方式将逻辑下放给具体的算子,复杂逻辑集中,算子调用逻辑简单,可测性强。
用户配置简单,采用图形化的流处理配置,用户不需要编码和学习成本即可上手完成流处理任务的配置;在运维上可监控流处理过程中DAG上各节点的状态及实时消费进度;采用同态映射的方式,保持原始DAG图的连接关系不变,便于用户更好的理解整条链路上的处理逻辑,在调试和日志分析中能快速定位出错算子的位置;任务处理过程中,采用信令的方式对算子进行控制,算子运行过程中无中心管理节点,避免单点故障;信令消息的流转和普通消息流转一致,完全服务普通消息的处理逻辑,减少了代码开发量;将单个功能抽象成算子,算子间不耦合,功能可灵活组合,可扩展性强。将错误处理、统计、重试等抽象成算子,使得所有节点的处理逻辑一致。
实施例2
根据本发明的又一个实施例,还提供了一种流式处理装置,图4是根据本发明实施例的流式处理装置的框图,如图4所示,包括:
配置模块42,用于根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
优化模块44,用于通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
监控模块46,用于通过所述目标DAG图对所述流处理任务的进度进行监控。
可选地,所述优化模块44包括:
抽象子模块,用于将所述初始DAG图中的节点抽象为基本算子;
第一优化子模块,用于通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图;或者
第二优化子模块,用于通过所述图形化界面中获取到的高阶算子或自定义算子对所述初始DAG图进行优化处理,得到所述目标DAG图。
可选地,所述第一优化子模块包括:
抽象单元,用于通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图;
优化单元,用于通过将所述基本算子上的扩展功能抽象为日志处理算子、远程调用算子和/或信令算子对所述初始DAG图进行优化处理,得到所述目标DAG图,其中,所述信令算子用于控制所述流处理任务的起始和停止。
可选地,所述装置还包括:
计算单元,用于对所述目标DAG图中的每个节点进行计算,得到计算结果;
错误处理单元,用于根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果;和/或
统计单元,用于根据所述统计算子进行信息统计。
可选地,所述装置还包括:
确定单元,用于确定所述处理结果的消息类型;
分类单元,用于根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理;
上报单元,用于对所述处理结果进行上报。
可选地,所述分类单元,还用于
若所述处理结果为可恢复错误的消息,将所述处理结果投递到所述目标DAG图的首节点进行重新流转计算;
若所述处理结果为不可恢复错误的消息,存储所述处理结果的消息日志,其中,所述消息日志包括消息内容、错误信息、错误算子以及时间信息。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
S2,通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
S3,通过所述目标DAG图对所述流处理任务的进度进行监控。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
S2,通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
S3,通过所述目标DAG图对所述流处理任务的进度进行监控。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种流式处理方法,其特征在于,包括:
根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
通过所述目标DAG图对所述流处理任务的进度进行监控。
2.根据权利要求1所述的方法,其特征在于,通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图包括:
将所述初始DAG图中的节点抽象为基本算子;
通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图;或者
通过所述图形化界面中获取到的高阶算子或自定义算子对所述初始DAG图进行优化处理,得到所述目标DAG图。
3.根据权利要求2所述的方法,其特征在于,通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图包括:
通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图;
通过将所述基本算子上的扩展功能抽象为日志处理算子、远程调用算子和/或信令算子对所述初始DAG图进行优化处理,得到所述目标DAG图,其中,所述信令算子用于控制所述流处理任务的起始和停止。
4.根据权利要求3所述的方法,其特征在于,在通过将所述基本算子上的扩展功能抽象为错误处理算子和/或统计算子对所述初始DAG图进行优化处理,得到所述目标DAG图之后,所述方法还包括:
对所述目标DAG图中的每个节点进行计算,得到计算结果;
根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果;和/或
根据所述统计算子进行信息统计。
5.根据权利要求4所述的方法,其特征在于,在根据所述错误处理算子对所述计算结果进行错误处理,得到处理结果之后,所述方法还包括:
确定所述处理结果的消息类型;
根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理;
对所述处理结果进行上报。
6.根据权利要求5所述的方法,其特征在于,根据所述处理结果的消息类型对所述处理结果进行错误消息分类处理包括:
若所述处理结果为可恢复错误的消息,将所述处理结果投递到所述目标DAG图的首节点进行重新流转计算;
若所述处理结果为不可恢复错误的消息,存储所述处理结果的消息日志,其中,所述消息日志包括消息内容、错误信息、错误算子以及时间信息。
7.一种流式处理装置,其特征在于,包括:
配置模块,用于根据在图形化界面中接收到的配置流处理任务的配置指令配置初始有向无环图DAG图;
优化模块,用于通过匹配高阶算子的方式对所述初始DAG图进行优化处理,得到目标DAG图,其中,所述目标DAG图与所述初始DAG图的连接关系相同;
监控模块,用于通过所述目标DAG图对所述流处理任务的进度进行监控。
8.根据权利要求7所述的装置,其特征在于,所述优化模块包括:
抽象子模块,用于将所述初始DAG图中的节点抽象为基本算子;
第一优化子模块,用于通过将所述图形化界面中获取到的所述基本算子上的扩展功能抽象为高阶算子的方式,对所述初始DAG图进行优化处理,得到所述目标DAG图;或者
第二优化子模块,用于通过所述图形化界面中获取到的高阶算子或自定义算子对所述初始DAG图进行优化处理,得到所述目标DAG图。
9.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010676621.7A CN111897693A (zh) | 2020-07-14 | 2020-07-14 | 一种流式处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010676621.7A CN111897693A (zh) | 2020-07-14 | 2020-07-14 | 一种流式处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111897693A true CN111897693A (zh) | 2020-11-06 |
Family
ID=73192713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010676621.7A Pending CN111897693A (zh) | 2020-07-14 | 2020-07-14 | 一种流式处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897693A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691241A (zh) * | 2022-04-19 | 2022-07-01 | 中煤航测遥感集团有限公司 | 任务执行方法、装置、电子设备及存储介质 |
-
2020
- 2020-07-14 CN CN202010676621.7A patent/CN111897693A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114691241A (zh) * | 2022-04-19 | 2022-07-01 | 中煤航测遥感集团有限公司 | 任务执行方法、装置、电子设备及存储介质 |
CN114691241B (zh) * | 2022-04-19 | 2024-01-19 | 中煤航测遥感集团有限公司 | 任务执行方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110716744A (zh) | 一种数据流处理方法、系统和计算机可读存储介质 | |
US11483218B2 (en) | Automating 5G slices using real-time analytics | |
CN105975351A (zh) | 一种用户行为消息上报方法和装置 | |
EP3975481B1 (en) | Data acquisition method and apparatus, computer device, and computer-readable medium | |
CN108306804A (zh) | 一种Ethercat主站控制器及其通信方法和系统 | |
CN109460396B (zh) | 模型处理方法及装置、存储介质和电子设备 | |
CN109445323B (zh) | 一种基于web的分布式智能测控软件平台设计方法 | |
US11687536B2 (en) | Pipeline-based system for configuration checking and reporting associated with an information processing system | |
CN113867600A (zh) | 处理流式数据的开发方法、装置和计算机设备 | |
CN114666407B (zh) | 一种rpa跨端通信方法及设备 | |
Zeydan et al. | Recent advances in data engineering for networking | |
CN111897693A (zh) | 一种流式处理方法及装置 | |
CN113094235B (zh) | 一种尾延迟异常云审计系统及方法 | |
CN116400987B (zh) | 持续集成方法、装置、电子设备及存储介质 | |
CN110297748A (zh) | 一种定位调用出错的方法、装置和计算机可读存储介质 | |
JP2022546131A (ja) | 複数の管理領域のための通信方法及び装置 | |
CN116755799A (zh) | 一种服务编排系统和方法 | |
CN110825538A (zh) | 一种基于mq可自定义数据类型动态进行数据交互的方法 | |
CN115442266A (zh) | 网关性能测试方法、装置、存储介质及电子装置 | |
CN115174711A (zh) | 基于全栈可编程网络的数据处理方法、设备及介质 | |
WO2024109882A1 (zh) | 一种数据处理方法、装置及设备 | |
US11971809B2 (en) | Systems and methods for testing components or scenarios with execution history | |
CN117591104B (zh) | 模型的生成方法、装置、电子设备及存储介质 | |
CN115861775B (zh) | 一种视频分析方法及系统 | |
Abu-Jassar | Mathematical tools for SDN formalisation and verification |
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 |