CN112000350A - 一种动态规则更新方法、装置及存储介质 - Google Patents
一种动态规则更新方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112000350A CN112000350A CN202010743874.1A CN202010743874A CN112000350A CN 112000350 A CN112000350 A CN 112000350A CN 202010743874 A CN202010743874 A CN 202010743874A CN 112000350 A CN112000350 A CN 112000350A
- Authority
- CN
- China
- Prior art keywords
- rule
- updated
- updating
- operator
- job
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种动态规则更新方法、装置及存储介质。本公开对大数据集群中作业所用到的CEP算子进行了扩展,使其能够通过分布式应用协调组件感知到规则的更新,当感知到作业规则更新后,扩展CEP算子自动获取更新的规则信息并重新编译生成新的NFA属性,作业***通过扩展CEP算子中的更新规则标识感知到规则的更新后,自动实现规则的切换,从而避免的大数据作业因规则变化需要上下线及规则打包处理而长时间的中断,提高了大数据作业***的智能性、易维护性、数据处理效率和健壮性。
Description
技术领域
本公开涉及大数据技术领域,尤其涉及一种动态规则更新方法、装置及存储介质。
背景技术
Flink是一种开源流处理框架,其核心是用Java和Scala编写的分布式流数据引擎。Flink以数据并行和流水线方式执行任意的流数据处理程序,Flink的流水线运行时***可以执行批处理和流处理程序。
复杂事件处理(Complex Event Processing,CEP)技术是一种基于动态环境中事件流的分析技术,事件在这里通常是有意义的状态变化,通过分析事件间的关系,利用过滤、关联、聚合等技术,根据事件间的时序关系和聚合关系制定检测规则,持续地从事件流中查询出符合要求的事件序列。例如股票交易数据流可以看做是随时间产生的股票交易事件产生一笔笔交易数据构成的数据流,检测规则可以是提取单笔成交量大于设定阈值的交易事件等。
CEP技术可以理解为是用来检测无尽数据流中的复杂模式的技术,拥有从不同的数据行中辨识查找模式的能力。随着网络的普及,智能设备持续收集着越来越多的数据,分析近乎实时,不断增长的数据流对CEP技术提出了一个巨大的挑战。
在一些实时计算流式作业中,由于业务的多样性,导致事件检测规则常常更新,实时作业需要及时感知这种规则变化,重新加载检测规则。以流式计算框架Flink为例,为了实现规则的动态更新,一种解决方案是:将正在运行的作业的状态保存后停止该作业,将用户修改过的作业重新打包,从保存的位置开始运行更改规则后的作业。具体流程如下:
1)由用户更新规则,新规则被翻译成Java源码,编译并打包成可执行jar。
2)***在发现有新的规则jar包后,会触发Flink的savepoint方法,保存当前操作operator的状态。
3)取消当前运行的Flink Job作业,把新生成的jar发布到Flink上去,同时读取operator状态,恢复整个***的运行。
这种方案会造成对数据流处理的延迟增加,尤其在营销或者风控这种对实时性要求比较高的场景,如果规则窗口过长(一两个星期),状态数据过大,就会导致重启时间延长,期间就会造成一些想要处理的异常事件不能及时被发现。
另一种解决方案是利用Flink的广播状态(Broadcast Stream),在匹配事件的过程中需要同时处理数据流和控制流,当读取到控制流中匹配模式发生变化时,更新匹配规则,然后再对数据流进行处理。该方案中,规则表也需要作为一个数据流,在匹配事件的时候需要读取控制流和事件流两种,并且对于每一条数据都要去读取控制流中的数据进行对比。如果控制流的数据量较大,因为控制流是按照广播的形式分发给每一个算子的每一个并发,会造成整个作业实际处理的数据量激增,增加处理数据成本或损失原有的***性能。目前Flink的Broadcast Stream从效果上实现了控制流的作业状态更新,不过在编程模型上Broadcast Stream的使用方式与普通的DataStream差别比较大,且Flink对该算子的支持只能进行一些常规的应用,对于这种复杂的应用,实用性不佳。
公开内容
有鉴于此,本公开提供一种动态规则更新方法、装置及存储介质,用于解决流处理框架中作业规则不能自动更新的技术问题。
基于本公开一实施例,本公开提供了一种动态规则更新方法,该方法应用于流处理框架中,该方法包括:
读取提交到集群进行处理的第一作业的作业状态;所述第一作业使用第一扩展CEP算子进行数据处理,所述第一扩展CEP算子包括由第一规则生成的第一非确定有限状态自动机NFA属性以及负责编译更新第一NFA属性的规则更新方法;
当第一作业进入运行状态后,在分布式应用协调组件中为第一作业建立第一监听节点,第一监听节点用于监听规则的更新;
当第一监听节点监听到第一规则更新时,使所述第一扩展CEP算子中的规则更新方法获知更新的规则信息,以使其根据更新的规则信息重新编译生成新的第一NFA属性后指示第一作业切换NFA属性。
基于本公开另一实施例,本公开还提供了一种动态规则更新装置,该装置应用于流处理框架中,该装置包括:
作业提交模块,用于向大数据集群提交作业并建立监听模块。
监听模块,用于读取提交到集群进行处理的第一作业的作业状态;当第一作业进入运行状态后,还用于在分布式应用协调组件中为第一作业建立第一监听节点,第一监听节点用于监听规则的更新;当第一监听节点监听到第一规则更新时,还用于使所述第一扩展CEP算子中的规则更新方法获知更新的规则信息,以使其根据更新的规则信息重新编译生成新的第一NFA属性后指示第一作业切换NFA属性。
规则更新模块,用于更新第一作业所使用的第一规则,并通过分布式应用协调组件提供的接口将更新的第一规则的信息写入所述第一监听节点。
所述第一作业使用第一扩展CEP算子进行数据处理,所述第一扩展CEP算子包括由第一规则生成的第一非确定有限状态自动机NFA属性以及负责编译更新第一NFA属性的规则更新方法。
本公开对大数据集群中作业所用到的CEP算子进行了扩展,使其能够通过分布式应用协调组件感知到规则的更新,当感知到作业规则更新后,扩展CEP算子自动获取更新的规则信息并重新编译生成新的NFA属性,作业***通过扩展CEP算子中的更新规则标识感知到规则的更新后,自动实现规则的切换,从而避免的大数据作业因规则变化需要上下线及规则打包处理而长时间的中断,提高了大数据作业***的智能性、易维护性、数据处理效率和健壮性。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1为本公开一实施例提供的流处理框架中动态规则更新方法的步骤流程图;
图2为本公开一实施例中针对业务场景实现动态规则更新的步骤示意图;
图3为本公开一实施例提供的一种动态规则更新装置结构示意图;
图4为本公开一实施例提供的一种动态规则更新设备结构示意图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开实施例。本公开实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本公开中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着通信技术、人工智能、物联网等技术的飞速发展,接入网络的智能终端设备会越来越多,这些终端设备会持续不断地收集着越来越多的数据,要实时分析这些不断增长的数据流,对大数据复杂事件处理***构成了一个巨大的挑战。
本公开的目的之一是提供一种流处理框架中动态规则更新方法,用来在基于流处理框架的复杂事件处理业务中,实现运行中的作业能够动态的感知匹配规则变化,及时的让新的事件匹配规则生效,降低处理数据的延时。
图1为本公开一实施例提供的流处理框架中动态规则更新方法的步骤流程图,该方法应用于基于流处理框架的大数据集群中,服务器集群对大数据作业任务(简称作业)进行实时高效的处理,本公开的方案即是为了降低作业所使用的数据匹配规则(简称规则)的更新对大数据处理***的处理效率的影响而提出的。
大数据处理业务可分解为多个作业,各作业任务可并行处理。作业的基本信息可包括如运行模式、运行的内存大小、数据源信息等。作业会使用规则对数据进行匹配和处理。作业被提交给集群进行处理后,作业所使用的规则会被编译成CEP算子,作业运行后加载CEP算子对数据进行处理。作业和规则信息分别存储在作业表和规则表中,作业表中包括所使用的规则的字段。该方法包括:
步骤101.读取提交到集群进行处理的第一作业的作业状态;所述第一作业使用第一扩展CEP算子进行数据处理,所述第一扩展CEP算子包括由第一规则生成的第一非确定有限状态自动机(Nondeterministic Finite Automata,NFA)属性即第一NFA属性以及负责编译更新第一NFA属性的规则更新方法。
在该步骤执行之前,需要先配置好作业表和规则表,每个作业都有作业标识,每个规则都有规则标识。
作业被提交给集群进行处理后,会同时为被递交的作业建立监听模块,或向预先建立的监听模块中添加监听进程用于监听被提交的作业的作业状态。通常,作业会首先被提交到集群中的作业队列,在队列中等待被调度运行,当作业被调度运行起来后,作业状态变为“运行状态”。
监听模块可使用作业标识通过轮询方式查询作业的作业状态。
步骤102.当第一作业进入运行状态后,在分布式应用协调组件中为第一作业建立第一监听节点,第一监听节点用于监听规则的更新。
当作业进入运行状态后,监听模块会在分布式应用协调组件中以作业标识为作业建立监听节点,监听节点用于监听作业所使用的规则的更新。
步骤103.当第一监听节点监听到第一规则更新时,使所述第一扩展CEP算子中的规则更新方法获知所述更新的规则信息,以使其根据更新的规则信息重新编译生成新的第一NFA属性后指示第一作业切换NFA属性。
在本公开一实施例中,规则的更新信息采用向作业主动推送的方式通知给集群中的扩展CEP算子。当用户更新第一作业所使用的第一规则后,通过分布式应用协调组件提供的接口将更新的第一规则的信息写入分布式应用协调组件中第一作业对应的第一监听节点,第一监听节点的变化触发监听模块的规则更新事件,监听模块在规则更新事件中通过消息通知第一扩展CEP算子规则发生了更新,第一扩展CEP算子根据消息从第一监听节点中获取更新的第一规则的信息。
在本公开一实施例中,规则的更新采用作业主动拉去的方式获知规则的更新信息。当用户更新第一作业所使用的第一规则后,通过分布式应用协调组件提供的接口将更新的第一规则的信息写入分布式应用协调组件中第一作业对应的第一监听节点,第一作业中的第一扩展CEP算子通过轮询的方式从第一监听节点中读取更新的第一规则的信息。
在本公开一实施中,所述第一扩展CEP算子中还包括更新规则标识属性,当第一扩展CEP算子获知所述更新的规则信息后,根据更新的规则信息从规则表中读取更新后的规则,重新编译生成新的第一NFA属性,将所述更新规则标识置位;当更新规则标识被置位后,集群自动暂停当前作业,切换第一作业当前使用的第一NFA为新的第一NFA属性值。
至此,通过上述步骤,本公开能够实现大数据集群对作业规则变化的动态感知,本公开使用Zookeeper,Redis,Kafka,MQ等类似具有分布式应用协调功能的组件监听规则变化,使大数据集群能够动态感知作业规则的变化,当感知变化时,能够自动将新规则编译成新NFA并自动实现规则的切换,从而避免的大数据作业因规则变化需要上下线及规则打包处理而长时间的中断,提高了大数据作业***的智能性、易维护性、数据处理效率和健壮性。
为更加清楚地理解本公开,以下结合一具体业务实例对本公开的方案进行说明。假设大数据***采集到的数据是某支股票的价格数据,用户首先建立如下规则1,但随着需求的变化,用户又将规则1修改为规则2:
规则1:当股票价格连续下降时,输出连续下降区间中这支股票的最低价格。
规则2:在股票价格连续下跌的区间中,当最低价格低于某个阈值时给出提醒。
图2为本公开一实施例针对该业务场景,在流处理框架中实现动态规则更新的方法步骤示意图。该实施例中,分布式流处理框架采用Flink,分布式应用协调组件采用Zookeeper,以下结合附图2对处理过程进行详细描述。
步骤1、用户通过管理平台提供的接口在作业表和规则表中创建作业1和作业1所使用的规则1的记录。
该实施例中,将基于Flink的CEP作业拆解为两个部分:1)Flink作业的基本信息,比如运行模式,运行的内存大小,数据源信息等;2)Flink CEP作业使用到的规则信息。这两部分信息分别存放在作业表和规则表中,作业表中记录作业1所使用的规则1。将规则1录入规则表,并设置作业1的基本信息。
步骤2、用户将配置好的作业1提交到作业提交模块。
步骤3、作业提交模块将作业1提交给大数据集群进行处理。
作业提交模块内部实现中需要将作业中涉及到的规则和作业表中的作业基本信息编译生成Flink的作业执行图,将其提交给集群。
步骤4、作业提交模块在将作业1提交成功后启动监听模块对作业1进行状态监听;
步骤5、监听模块从集群上读取该作业1的状态,当作业1的状态变为RUNING(运行状态)时,执行步骤6。
步骤6、监听模块在Zookeeper上为作业1建立监听节点。
监听模块可通过如下方式建立监听节点:监听模块提前建立永久节点如(/cep)目录,监听模块在该目录下以作业1的作业标识jobid为作业1建立子目录1作为作业1的监听节点。
当作业1下线或完成(变为非RUNNING状态)时,监听模块还负责删除为作业1建立的监听节点,以停止监听作业1的监听节点。
步骤7、作业1使用的由规则1生成的扩展CEP算子中的感知单元监听Zookeeper上建立的作业1的监听节点,监听规则1是否发生了更新。
该实施例采用主动拉去的方式感知规则的更新。扩展CEP算子中的规则更新方法通过轮询的方式从Zookeeper中读取作业1对应的子目录1,当子目录1中被写入更新的规则1的信息后,感知单元即可判定规则1发生了更新。
步骤8、用户可在作业运行过程中通过规则更新接口更新规则表中的规则1。
步骤9、用户提交更新后的规则1后,规则更新接口会将规则1的更新信息写入Zookeeper的作业1的监控节点目录中。
当用户通过更新规则接口更新规则1时,需要到作业表中查找处于RUNNING运行状态并且使用规则1的所有作业的jobId,并向这些作业在Zookeeper上的监控节点(/cep/jobId)写入规则更新信息,规则更新信息可包括作业标识、存储作业表的数据块连接信息(例如规则表名,数据库地址,用户名,密码)等。
步骤10、作业1的扩展CEP算子在感知到Zookeeper中规则1的节点有规则1的更新信息后,从规则表中读取更新后的规则1,然后执行新的规则1编译为新的NFA及自动切换NFA的步骤。
运行的作业中,当扩展CEP算子中规则更新方法感知到监控节点中的作业更新信息后,会从规则表中加载新的规则1,然后将新的规则1编译成新的NFA,更换运行作业中CEP算子的NFA,并对更换前的CEP算子状态进行处理。
该实施例中对现有CepOperator(简称CEP算子)进行了扩展,扩展CEP算子中加入了负责感知规则变化、重新编译更新的规则为新NFA以及执行NFA切换的方法和属性。
当用户修改作业规则时,扩展CEP算子在感知到规则更新后,根据规则更新信息中的规则标识,从规则表加载用户更新的规则,将规则表中的信息转换为flink接口可以识别的规则,以便使用flink提供的接口转换为CEP算子用到的NFA。将一条规则分为排序字段、输出字段、匹配规则的条件存储到规则表中。扩展CEP算子读取到该记录后将规则根据结构查询语言SQL语法将规则转换成CEP对应的SQL语句,应用Flink planner提供的接口将SQL语句编译成CEP算子用到的NFA。
集群服务器在基于扩展CEP算子处理数据时,会读取扩展CEP算子中的更新规则标识属性值,当更新规则标识指示规则发生变化(例如为True)时,代表作业需要重新编译规则并加载新的NFA,在重新加载新的NFA之前需要清理当前的作业数据(使用旧的规则匹配到的数据的临时结果),完成后需将更新规则标识设置为False(该标识加锁,避免监听同时修改)。
本公开主要目的是实现大数据作业任务动态加载规则。在监听模块监听到规则变化时用到Zookeeper的节点数据同步功能来做消息推送,因此将Zookeeper换成其他拥有消息推送功能的组件也可实现。例如Redis(一个进程一个channel)、Kafka(一个进程一个topic)、MQ(订阅模式每一个消费者都有自己的一个队列)等。
通过本公开提供的在流处理框架中实现动态规则更新的方法,可以满足用户对于规则进行动态变化的需求,方便用户对于实时复杂事件匹配作业业务规则的修改。通过利用分布式应用协调组件的节点数据同步功能,能够实现规则修改后及时感知规则的变化,不需要用户对已运行的作业进行操作,方便将计算和业务分离,业务人员只需要对规则修改不需要掌握实时计算的专业知识,降低了维护难度提高了***的可维护性,同时还提高了复杂事件匹配的实时性,缩短了由于规则改变带来的业务延迟。
图3为本公开一实施例提供的一种动态规则更新装置结构示意图,该装置中的各功能模块可以采用软件模块形式实现,也可以采用硬件单元方式实现。该装置的各模块的功能与本公开实施提供的方法中的各步骤具有对应关系。该装置中的各模块可以在一个硬件设备上执行,也可以由不同的硬件设备分别实施本公开提供的方法中的一个或多个步骤或模块功能。该装置300应用于流处理框架中,该装置包括:
作业提交模块310,用于向大数据集群提交作业并建立监听模块;
监听模块320,用于读取提交到集群进行处理的第一作业的作业状态;当第一作业进入运行状态后,还用于在分布式应用协调组件中为第一作业建立第一监听节点,第一监听节点用于监听规则的更新;当第一监听节点监听到第一规则更新时,还用于使所述第一扩展CEP算子中的规则更新方法获知更新的规则信息,以使其根据更新的规则信息重新编译生成新的第一NFA属性后指示第一作业切换NFA属性;
规则更新模块330,用于更新第一作业所使用的第一规则,并通过分布式应用协调组件提供的接口将更新的第一规则的信息写入所述第一监听节点;
第一作业使用第一扩展CEP算子进行数据处理,第一扩展CEP算子包括由第一规则生成的第一非确定有限状态自动机NFA属性以及负责编译更新第一NFA属性的规则更新方法。
在本公开一实施例中,装置300还包括:作业规则更新模块340,用于维护第一扩展CEP算子,并为第一作业动态更新所使用的第一规则。
第一扩展CEP算子中还包括更新规则标识属性;当第一扩展CEP算子获知所述更新的规则信息后,根据更新的规则信息从规则表中读取更新后的规则,重新编译生成新的第一NFA属性,将所述更新规则标识置位;
当所述更新规则标识被置位后,作业规则更新模块340还用于自动切换第一作业当前使用的第一NFA为新的第一NFA属性值。
在本公开一实施例中,当第一作业所使用的第一规则更新后,第一监听节点的变化触发所述监听模块320的规则更新事件,在规则更新事件中所述监听模块320通过更新消息通知第一扩展CEP算子规则发生了更新,第一扩展CEP算子根据更新消息从第一监听节点中获取更新的第一规则的信息。
在本公开一实施例中,当第一作业所使用的第一规则更新后,第一扩展CEP算子通过轮询的方式从第一监听节点中读取更新的第一规则的信息。
在本公开一实施例中,流处理框架可以为Flink;和/或分布式应用协调组件可以为Zookeeper、Redis、Kafka或MQ。
图4为本公开一实施例提供的一种动态规则更新设备结构示意图,该设备400包括:诸如中央处理单元(CPU)的处理器410、内部总线420、网络接口440以及计算机可读存储介质430。其中,处理器410与计算机可读存储介质430可以通过内部总线420相互通信。计算机可读存储介质430内可存储本公开提供的用于实施动态规则更新方法的计算机程序,当计算机程序被处理器410执行时即可实现本公开提供的动态规则更新方法的各步骤功能。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (11)
1.一种动态规则更新方法,其特征在于,该方法应用于流处理框架中,所述方法包括:
读取提交到集群进行处理的第一作业的作业状态;所述第一作业使用第一扩展复杂事件处理CEP算子进行数据处理,所述第一扩展CEP算子包括由第一规则生成的第一非确定有限状态自动机NFA属性以及负责编译更新第一NFA属性的规则更新方法;
当第一作业进入运行状态后,在分布式应用协调组件中为第一作业建立第一监听节点,第一监听节点用于监听规则的更新;
当第一监听节点监听到第一规则更新时,使所述第一扩展CEP算子中的规则更新方法获知更新的规则信息,以使其根据更新的规则信息重新编译生成新的第一NFA属性后指示第一作业切换NFA属性。
2.根据权利要求1所述的方法,其特征在于,
所述第一扩展CEP算子中还包括更新规则标识属性,当第一扩展CEP算子获知所述更新的规则信息后,根据更新的规则信息从规则表中读取更新后的规则,重新编译生成新的第一NFA属性,将所述更新规则标识置位;
当所述更新规则标识被置位后,自动切换第一作业当前使用的第一NFA为新的第一NFA属性值。
3.根据权利要求1所述的方法,其特征在于,
当第一作业所使用的第一规则更新后,通过分布式应用协调组件提供的接口将更新的第一规则的信息写入所述第一监听节点,第一监听节点的变化触发规则更新事件,在规则更新事件中通过更新消息通知第一扩展CEP算子规则发生了更新,第一扩展CEP算子根据更新消息从第一监听节点中获取更新的第一规则的信息。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当第一作业所使用的第一规则更新后,通过分布式应用协调组件提供的接口将更新的第一规则的信息写入分布式应用协调组件中第一作业对应的第一监听节点,第一作业中的第一扩展CEP算子通过轮询的方式从第一监听节点中读取更新的第一规则的信息。
5.根据权利要求1所述的方法,其特征在于,
所述流处理框架为Flink;和/或
所述的分布式应用协调组件为Zookeeper、Redis、Kafka或消息队列MQ。
6.一种动态规则更新装置,其特征在于,该装置应用于流处理框架中,该装置包括:
作业提交模块,用于向大数据集群提交作业并建立监听模块;
监听模块,用于读取提交到集群进行处理的第一作业的作业状态;当第一作业进入运行状态后,还用于在分布式应用协调组件中为第一作业建立第一监听节点,第一监听节点用于监听规则的更新;当第一监听节点监听到第一规则更新时,还用于使所述第一扩展CEP算子中的规则更新方法获知更新的规则信息,以使其根据更新的规则信息重新编译生成新的第一NFA属性后指示第一作业切换NFA属性;
规则更新模块,用于更新第一作业所使用的第一规则,并通过分布式应用协调组件提供的接口将更新的第一规则的信息写入所述第一监听节点;
所述第一作业使用第一扩展CEP算子进行数据处理,所述第一扩展CEP算子包括由第一规则生成的第一非确定有限状态自动机NFA属性以及负责编译更新第一NFA属性的规则更新方法。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
作业规则更新模块,用于维护所述第一扩展CEP算子,并为第一作业动态更新所使用的第一规则;
所述第一扩展CEP算子中还包括更新规则标识属性;当第一扩展CEP算子获知所述更新的规则信息后,根据更新的规则信息从规则表中读取更新后的规则,重新编译生成新的第一NFA属性,将所述更新规则标识置位;
当所述更新规则标识被置位后,所述作业规则更新模块还用于自动切换第一作业当前使用的第一NFA为新的第一NFA属性值。
8.根据权利要求6所述的装置,其特征在于,
当第一作业所使用的第一规则更新后,所述第一监听节点的变化触发所述监听模块的规则更新事件,在规则更新事件中所述监听模块通过更新消息通知第一扩展CEP算子规则发生了更新,第一扩展CEP算子根据更新消息从第一监听节点中获取更新的第一规则的信息。
9.根据权利要求6所述的装置,其特征在于,
当第一作业所使用的第一规则更新后,所述第一扩展CEP算子通过轮询的方式从第一监听节点中读取更新的第一规则的信息。
10.根据权利要求6所述的装置,其特征在于,
所述流处理框架为Flink;和/或
所述的分布式应用协调组件为Zookeeper、Redis、Kafka或消息队列MQ。
11.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序当被处理器执行时实现如权利要求1至5中任一项的方法步骤功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743874.1A CN112000350B (zh) | 2020-07-29 | 2020-07-29 | 一种动态规则更新方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010743874.1A CN112000350B (zh) | 2020-07-29 | 2020-07-29 | 一种动态规则更新方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112000350A true CN112000350A (zh) | 2020-11-27 |
CN112000350B CN112000350B (zh) | 2023-06-13 |
Family
ID=73463985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010743874.1A Active CN112000350B (zh) | 2020-07-29 | 2020-07-29 | 一种动态规则更新方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112000350B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506939A (zh) * | 2020-12-08 | 2021-03-16 | 福建省海峡信息技术有限公司 | 一种基于Flink流式引擎的CEP规则更新方法 |
CN112650607A (zh) * | 2020-12-30 | 2021-04-13 | 中国农业银行股份有限公司 | 一种动态cep模式实现方法及装置 |
CN113791889A (zh) * | 2021-11-18 | 2021-12-14 | 中国科学院成都文献情报中心 | 一种基于多级轮询队列控制器部署学习模型的方法 |
CN115454450A (zh) * | 2022-09-15 | 2022-12-09 | 北京火山引擎科技有限公司 | 一种针对数据作业的资源管理的方法、装置、电子设备和存储介质 |
CN116881610A (zh) * | 2023-09-08 | 2023-10-13 | 国网信息通信产业集团有限公司 | 能源设备量测项数据流式计算方法、装置、设备及介质 |
CN112650607B (zh) * | 2020-12-30 | 2024-08-02 | 中国农业银行股份有限公司 | 一种动态cep模式实现方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408142A (zh) * | 2014-11-28 | 2015-03-11 | 广东工业大学 | 一种面向制造物联网海量乱序数据流复杂事件检测方法 |
US20160110645A1 (en) * | 2014-10-17 | 2016-04-21 | Korea Institute Of Science And Technology Information | System and method for dynamically updating event configuration rule for processing complex event |
CN106407017A (zh) * | 2016-10-31 | 2017-02-15 | 华南理工大学 | 面向rfid的复杂事件规则动态调度与数据恢复方法 |
US20170083396A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Recovery strategy for a stream processing system |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的***、方法、装置和计算机存储介质 |
CN110297620A (zh) * | 2019-05-17 | 2019-10-01 | 苏宁易购集团股份有限公司 | 一种基于Drools的动态规则维护和生成的方法 |
CN110851159A (zh) * | 2019-10-31 | 2020-02-28 | 浙江大搜车软件技术有限公司 | 业务规则更新方法、装置、计算机设备和存储介质 |
CN111427915A (zh) * | 2020-03-25 | 2020-07-17 | 京东数字科技控股有限公司 | 信息处理方法及装置、存储介质、电子设备 |
CN111444291A (zh) * | 2020-03-27 | 2020-07-24 | 上海爱数信息技术股份有限公司 | 一种基于流处理引擎和规则引擎的实时数据告警方法 |
-
2020
- 2020-07-29 CN CN202010743874.1A patent/CN112000350B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160110645A1 (en) * | 2014-10-17 | 2016-04-21 | Korea Institute Of Science And Technology Information | System and method for dynamically updating event configuration rule for processing complex event |
CN104408142A (zh) * | 2014-11-28 | 2015-03-11 | 广东工业大学 | 一种面向制造物联网海量乱序数据流复杂事件检测方法 |
US20170083396A1 (en) * | 2015-09-18 | 2017-03-23 | Salesforce.Com, Inc. | Recovery strategy for a stream processing system |
CN106407017A (zh) * | 2016-10-31 | 2017-02-15 | 华南理工大学 | 面向rfid的复杂事件规则动态调度与数据恢复方法 |
CN109815028A (zh) * | 2018-12-27 | 2019-05-28 | 北京摩拜科技有限公司 | 数据同步的***、方法、装置和计算机存储介质 |
CN110297620A (zh) * | 2019-05-17 | 2019-10-01 | 苏宁易购集团股份有限公司 | 一种基于Drools的动态规则维护和生成的方法 |
CN110851159A (zh) * | 2019-10-31 | 2020-02-28 | 浙江大搜车软件技术有限公司 | 业务规则更新方法、装置、计算机设备和存储介质 |
CN111427915A (zh) * | 2020-03-25 | 2020-07-17 | 京东数字科技控股有限公司 | 信息处理方法及装置、存储介质、电子设备 |
CN111444291A (zh) * | 2020-03-27 | 2020-07-24 | 上海爱数信息技术股份有限公司 | 一种基于流处理引擎和规则引擎的实时数据告警方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112506939A (zh) * | 2020-12-08 | 2021-03-16 | 福建省海峡信息技术有限公司 | 一种基于Flink流式引擎的CEP规则更新方法 |
CN112650607A (zh) * | 2020-12-30 | 2021-04-13 | 中国农业银行股份有限公司 | 一种动态cep模式实现方法及装置 |
CN112650607B (zh) * | 2020-12-30 | 2024-08-02 | 中国农业银行股份有限公司 | 一种动态cep模式实现方法及装置 |
CN113791889A (zh) * | 2021-11-18 | 2021-12-14 | 中国科学院成都文献情报中心 | 一种基于多级轮询队列控制器部署学习模型的方法 |
CN115454450A (zh) * | 2022-09-15 | 2022-12-09 | 北京火山引擎科技有限公司 | 一种针对数据作业的资源管理的方法、装置、电子设备和存储介质 |
CN115454450B (zh) * | 2022-09-15 | 2024-04-30 | 北京火山引擎科技有限公司 | 一种针对数据作业的资源管理的方法、装置、电子设备和存储介质 |
CN116881610A (zh) * | 2023-09-08 | 2023-10-13 | 国网信息通信产业集团有限公司 | 能源设备量测项数据流式计算方法、装置、设备及介质 |
CN116881610B (zh) * | 2023-09-08 | 2024-01-09 | 国网信息通信产业集团有限公司 | 能源设备量测项数据流式计算方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112000350B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000350B (zh) | 一种动态规则更新方法、装置及存储介质 | |
US20170279687A1 (en) | Context graph generation | |
CN112549029B (zh) | 一种基于行为树的机器人行为控制方法及装置 | |
CN107016480B (zh) | 任务调度方法、装置及*** | |
CN110908641B (zh) | 基于可视化的流计算平台、方法、设备和存储介质 | |
JP2017515180A (ja) | ビッグ・データ・リポジトリにおけるデータ・セットの処理 | |
WO2020238597A1 (zh) | 基于Hadoop的数据更新方法、装置、***及介质 | |
CN102467412B (zh) | 一种处理操作请求的方法、装置及业务*** | |
CN111309550A (zh) | 应用程序的数据采集方法、***、设备和存储介质 | |
US20170279660A1 (en) | Context graph augmentation | |
CN111930589B (zh) | 流式任务自动化监控***及方法 | |
CN112148810A (zh) | 一种支持自定义标签的用户画像分析*** | |
CN105069029B (zh) | 一种实时etl***及方法 | |
CN108399095B (zh) | 支持动态管理定时任务的方法、***、设备和存储介质 | |
EP3422186B1 (en) | Method, device and system for preventing memory data loss | |
CN107944004A (zh) | Spark‑SQL调度的方法、***、设备及存储介质 | |
CN106446289B (zh) | 基于Pinpoint的信息查询方法和装置 | |
CN114385551B (zh) | 日志分时管理方法、装置、设备及存储介质 | |
CN109725916B (zh) | 流处理的拓扑结构更新***和方法 | |
CN111930561B (zh) | 流式任务自动化监控告警重启***及方法 | |
EP3011456B1 (en) | Sorted event monitoring by context partition | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
CN112579552A (zh) | 日志存储及调用方法、装置及*** | |
CN111435356A (zh) | 数据特征提取方法、装置、计算机设备以及存储介质 | |
WO2023113847A1 (en) | Application programming interface (api) server for correlation engine and policy manager (cpe), method and computer program product |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |