CN116028811A - 数据回溯方法、介质、装置和计算设备 - Google Patents
数据回溯方法、介质、装置和计算设备 Download PDFInfo
- Publication number
- CN116028811A CN116028811A CN202211711755.3A CN202211711755A CN116028811A CN 116028811 A CN116028811 A CN 116028811A CN 202211711755 A CN202211711755 A CN 202211711755A CN 116028811 A CN116028811 A CN 116028811A
- Authority
- CN
- China
- Prior art keywords
- operator
- data
- backtracking
- configuration information
- configuration
- 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
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施方式提供了一种数据回溯方法、介质、装置和计算设备,涉及数据处理技术领域,该数据回溯方法包括:获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记;若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据;根据目标数据,生成用于更新离线模型的样本数据。本公开能够大大提高数据回溯的效率,进而能够提升离线模型在线学习的实时性和可维护性。
Description
技术领域
本公开的实施方式涉及数据处理技术领域,更具体地,本公开的实施方式涉及一种数据回溯方法、介质、装置和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
离线模型是使用历史全量数据进行训练获得的模型。而数据回溯则是在离线模型训练完成后,需要用离线模型训练的词典(用于记录离线模型的准入特征)替换实时词典,同时从离线模型数据的结束点重新消费数据,产生实时样本,根据实时样本更新离线模型,从而达到在离线模型基础上更新模型的效果。
目前,通常通过Flink任务来进行数据回溯。具体地,在对实时样本进行数据回溯时,通过人工重启Flink任务,在重启Flink任务时指定启动模式为时间戳(timestamp)模式,并且指定需要回溯到的时间戳。Flink任务重启后,可以从指定的需要回溯到的时间戳开始,重新消费数据,产生实时样本,根据实时样本更新离线模型。但通过上述人工重启Flink任务的方式进行数据回溯的效率较低。
发明内容
本公开提供一种数据回溯方法、介质、装置和计算设备,以解决通过人工重启Flink任务的方式进行数据回溯的效率较低的问题。
在本公开实施方式的第一方面中,提供了一种数据回溯方法,应用于分布式数据处理系统,分布式数据处理系统中运行有多个Flink算子,多个Flink算子包括数据拉取算子,多个Flink算子流式处理实现Flink任务,该数据回溯方法包括:
获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记;
若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据;
根据目标数据,生成用于更新离线模型的样本数据。
在一种可能的实施方式中,多个Flink算子还包括特征处理算子,配置信息还包含离线模型的离线词表地址,根据目标数据,生成用于更新离线模型的样本数据,包括:特征处理算子提取目标数据的特征,并确定特征是否在特征处理算子的本地词表内,本地词表为根据离线词表地址获取的离线词表;若在,则特征处理算子确定特征为样本数据,将样本数据和配置信息发送给特征处理算子的下游Flink算子,通过下游Flink算子输出样本数据;若不在,则特征处理算子将特征对应的频次进行加1处理,确定频次是否大于阈值;若频次大于阈值,则确定特征为样本数据,将样本数据和配置信息发送给特征处理算子的下游Flink算子,通过下游Flink算子输出样本数据。
在一种可能的实施方式中,多个Flink算子还包括主题筛选算子和输出算子,主题筛选算子包括第一通道和第二通道,配置信息还包含指定通道,通过下游Flink算子输出样本数据,包括:主题筛选算子根据指定通道,确定目标通道,目标通道为第一通道或第二通道,指定通道是在离线模型训练完成时切换的通道;主题筛选算子通过目标通道将样本数据发送给目标通道对应的输出算子;输出算子输出样本数据。
在一种可能的实施方式中,多个Flink算子还包括输入算子,获取离线模型对应的配置信息,包括:响应于Flink任务启动或响应于离线模型训练完成,输入算子获取离线模型对应的配置信息,或者,输入算子定时获取离线模型对应的配置信息。
在一种可能的实施方式中,若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程之前,该数据回溯方法还包括:输入算子确定是否回溯标记是否为回溯;若是,则输入算子广播配置信息,数据拉取算子接收配置信息。
在一种可能的实施方式中,配置信息还包含配置版本,数据拉取算子停止已有的消费线程,并创建新的消费线程之前,该数据回溯方法还包括:数据拉取算子基于配置版本和数据拉取算子的本地配置版本,确定是否更新数据拉取算子的本地配置;若是,则更新数据拉取算子的本地配置;若否,则不更新数据拉取算子的本地配置。
在一种可能的实施方式中,配置信息还包含配置版本,特征处理算子提取目标数据的特征之前,该数据回溯方法还包括:特征处理算子基于配置版本和特征处理算子的本地配置版本,确定是否更新特征处理算子的本地配置;若是,则更新特征处理算子的本地配置,并将特征处理算子的本地词表替换为离线词表;若否,则不更新特征处理算子的本地配置。
在一种可能的实施方式中,配置信息还包含配置版本,主题筛选算子根据指定通道,确定目标通道之前,该数据回溯方法还包括:主题筛选算子基于配置版本和主题筛选算子的本地配置版本,确定是否更新主题筛选算子的本地配置;若是,则更新主题筛选算子的本地配置,并基于配置版本,记录主题筛选算子中更新了本地配置的实例对应的序号;若否,则不更新主题筛选算子的本地配置。
在一种可能的实施方式中,记录主题筛选算子中更新了本地配置的实例对应的序号之后,该数据回溯方法还包括:输入算子在确定序号的数量和主题筛选算子的并行度相同时,更新是否回溯标记为不回溯。
第二方面,本公开实施例提供一种数据回溯装置,应用于分布式数据处理系统,分布式数据处理系统中运行有多个Flink算子,多个Flink算子包括数据拉取算子,多个Flink算子流式处理实现Flink任务,该数据回溯装置包括:
获取模块,用于获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记;
处理模块,用于若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据;
生成模块,用于根据目标数据,生成用于更新离线模型的样本数据。
在一种可能的实施方式中,多个Flink算子还包括特征处理算子,配置信息还包含离线模型的离线词表地址,生成模块具体用于:特征处理算子提取目标数据的特征,并确定特征是否在特征处理算子的本地词表内,本地词表为根据离线词表地址获取的离线词表;若在,则特征处理算子确定特征为样本数据,将样本数据和配置信息发送给特征处理算子的下游Flink算子,通过下游Flink算子输出样本数据;若不在,则特征处理算子将特征对应的频次进行加1处理,确定频次是否大于阈值;若频次大于阈值,则确定特征为样本数据,将样本数据和配置信息发送给特征处理算子的下游Flink算子,通过下游Flink算子输出样本数据。
在一种可能的实施方式中,多个Flink算子还包括主题筛选算子和输出算子,主题筛选算子包括第一通道和第二通道,配置信息还包含指定通道,生成模块在用于通过下游Flink算子输出样本数据时,具体用于:主题筛选算子根据指定通道,确定目标通道,目标通道为第一通道或第二通道,指定通道是在离线模型训练完成时切换的通道;主题筛选算子通过目标通道将样本数据发送给目标通道对应的输出算子;输出算子输出样本数据。
在一种可能的实施方式中,多个Flink算子还包括输入算子,获取模块具体用于:响应于Flink任务启动或响应于离线模型训练完成,输入算子获取离线模型对应的配置信息,或者,输入算子定时获取离线模型对应的配置信息。
在一种可能的实施方式中,处理模块还用于:在若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程之前,输入算子确定是否回溯标记是否为回溯;若是,则输入算子广播配置信息,数据拉取算子接收配置信息。
在一种可能的实施方式中,配置信息还包含配置版本,处理模块还用于:在数据拉取算子停止已有的消费线程,并创建新的消费线程之前,数据拉取算子基于配置版本和数据拉取算子的本地配置版本,确定是否更新数据拉取算子的本地配置;若是,则更新数据拉取算子的本地配置;若否,则不更新数据拉取算子的本地配置。
在一种可能的实施方式中,配置信息还包含配置版本,生成模块还用于:在特征处理算子提取目标数据的特征之前,特征处理算子基于配置版本和特征处理算子的本地配置版本,确定是否更新特征处理算子的本地配置;若是,则更新特征处理算子的本地配置,并将特征处理算子的本地词表替换为离线词表;若否,则不更新特征处理算子的本地配置。
在一种可能的实施方式中,配置信息还包含配置版本,生成模块还用于:在主题筛选算子根据指定通道,确定目标通道之前,主题筛选算子基于配置版本和主题筛选算子的本地配置版本,确定是否更新主题筛选算子的本地配置;若是,则更新主题筛选算子的本地配置,并基于配置版本,记录主题筛选算子中更新了本地配置的实例对应的序号;若否,则不更新主题筛选算子的本地配置。
在一种可能的实施方式中,生成模块还用于:在记录主题筛选算子中更新了本地配置的实例对应的序号之后,输入算子在确定序号的数量和主题筛选算子的并行度相同时,更新是否回溯标记为不回溯。
第三方面,本公开实施例提供一种计算设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如本公开第一方面所述的数据回溯方法。
第四方面,本公开实施例提供一种存储介质,存储介质中存储有计算机程序指令,计算机程序指令被执行时,实现如本公开第一方面所述的数据回溯方法。
第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如本公开第一方面所述的数据回溯方法。
本公开实施例提供的数据回溯方法、介质、装置和计算设备,通过获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记;若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据;根据目标数据,生成用于更新离线模型的样本数据。由于本公开在确定配置信息包含的是否回溯标记为回溯时,通过数据拉取算子停止已有的消费线程,并创建新的消费线程来进行数据回溯,而不需要人工重启Flink任务的方式进行数据回溯,能够大大提高数据回溯的效率,进而能够提升离线模型在线学习的实时性和可维护性。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
图1为本公开实施例提供的一种应用场景示意图;
图2为本公开一实施例提供的数据回溯方法的流程图;
图3为本公开另一实施例提供的数据回溯方法的流程图;
图4为本公开又一实施例提供的数据回溯方法的流程图;
图5为本公开一实施例提供的数据回溯装置的结构示意图;
图6为本公开一实施例提供的存储介质示意图;
图7为本公开一实施例提供的计算设备的结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本公开的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本公开的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本公开的实施方式,提出了一种数据回溯方法、介质、装置和计算设备。
在本文中,需要理解的是,所涉及的术语:
卡夫卡(Kafka),是Apache基金会开源的一个实时消息队列,分为写入端(producer)、服务端(broker)和消费端(consumer);
Kafka主题(Topic),即Kafka中消息的主题,用于唯一标识一个消息队列;
Kafka偏移量(Offset),为长整型的数字,是Kafka中记录一个消息数量的度量,每写入一条消息,Offfset增加1;
Kafka时间索引,是消息写入Kafka的时间与Offset之间关联的索引,可以用于获取指定时间对应的Offset;
Flink,是Apache基金会开源的一个分布式实时数据处理框架;用户可以通过编写不同的数据处理逻辑,作为Flink的算子,提交到Flink集群中,生成具有一定拓扑结构的Flink任务,流式地处理数据,从而得到最终的结果;
Flink中的算子,即Flink中处理数据的逻辑单元,一个算子可以有多个实例,这些实例对数据做相同的处理;不同的算子之间会形成一个有向无环图,共同处理数据;
Flink中的输入算子(即Source算子),是用于从外部系统(例如Kafka)获取数据的算子;
Flink中的输出算子(即Sink算子),是用于将数据输出到外部系统(例如Kafka)的算子;
Flink中的转换算子(即Transform算子),是Flink内部进行数据映射、过滤以及转换处理的算子;
Flink中算子的并行度,Flink中的算子可以设置并行度,用于生成多个实例,并行的处理数据;
Flink算子之间的数据交换策略,上游Flink算子和下游Flink算子之间可以设置数据交换策略,用来决定数据分发到下游算子的哪个实例上;常用的交换策略比如包括广播策略(broadcast),用于上游算子产生的数据广播发送到下游算子所有实例上;再均衡策略(rebalance),用于上游算子产生的数据以轮询的方式发送给下游算子,可以保证下游的负载均衡;
模型训练,即利用已有数据对算法模型的参数进行求解的过程;
离线训练,即使用历史全量数据(通常是历史N天到T-1天,T表示当天)进行训练产生模型的过程;
增量学习,即在离线训练获得的离线模型的基础上,再接收批量新的样本,对离线模型进行更新的过程;
在线学习,是增量学习的特例,每获得一个样本就进行一次离线模型的更新,实时性更高;
特征,是模型的输入变量,比如性别为男或城市为A城市等都是一个特征;
样本,即数据的特定实例,一个样本包含多个特征;
特征准入,即控制特征能否进入到模型的机制,出现次数比较低的特征进入模型训练,会导致模型的训练结果不置信,在模型训练过程中需要过滤掉这些出现次数较低的特征;
词典,用于记录特征次数的统计结果,出现次数较低的特征会过滤掉;
数据回溯,即离线模型训练完成后,需要用离线模型训练的词典替换本地实时词典,同时从离线模型数据的结束点重新消费数据,产生实时样本数据,从而达到在离线模型基础上更新模型的效果;
远程字典服务(Remote Dictionary Server,Redis),是开源的分布式内存缓存,可以高效的存储键值对数据;
Redis的增加(Incr)操作,即将Redis的键(key)中存储的数值增加1;
Hadoop(一个由Apache基金会所开发的分布式系统基础架构)分布式文件系统(Hadoop Distributed File System,HDFS),是开源的分布式文件系统,可以存储海量数据,根据文件路径可以读取文件。
此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
下面参考本公开的若干代表性实施方式,详细阐释本公开的原理和精神。
发明概述
本发明人发现,目前,在对实时样本进行数据回溯时,通常通过人工重启Flink任务,在重启Flink任务时指定启动模式为timestamp模式,并且指定需要回溯到的时间戳。Flink任务重启后,可以从指定的需要回溯到的时间戳开始,重新消费数据,产生实时样本,根据实时样本更新离线模型,从而实现数据回溯的目的。但通过上述人工重启Flink任务的方式进行数据回溯的效率较低,且Flink任务的停止和启动需要的时间较长,并不能保障实时性。另外,回溯的数据没有与回溯之前的数据分隔开,不便于后续消费。
基于上述问题,本公开提供一种数据回溯方法、介质、装置和计算设备,在根据离线模型对应的配置信息确定需要进行数据回溯时,通过多个Flink算子中的数据拉取算子自动停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据,进而生成用于更新离线模型的样本数据,实现了自动化的实时数据回溯,解决了在线学习实时特征准入过程中定期加载离线词表与回溯数据的需要,能够大大提高数据回溯的效率,进而提升离线模型在线学习的实时性和可维护性。
应用场景总览
首先参考图1对本公开提供的方案的应用场景进行示例说明。图1为本公开实施例提供的一种应用场景示意图,如图1所示,该应用场景可以包括:服务器集群11、服务器集群12和终端设备13。其中,服务器集群11包括多个服务器111和存储器112,服务器111通过存储器112存储数据;服务器集群12包括多个服务器121和存储器122,服务器121通过存储器122存储数据;终端设备13可以是平板电脑、笔记本电脑、台式计算机或智能家电等。服务器111用于通过离线训练来获得离线模型,离线模型用于预测在终端设备13上展示的广告的转化率和点击率,离线训练过程中从存储器112中获取数据,将产生的数据存储在存储器112中。此外,在离线训练过程中,服务器111和终端设备13通过无线网络或有线网络进行通信。服务器121上部署有分布式数据处理系统,分布式数据处理系统中运行有多个Flink算子,通过多个Flink算子进行数据回溯,生成用于更新离线模型的样本数据。服务器121和服务器111通过无线网络或有线网络进行通信。服务器111在根据样本数据更新离线模型后,离线模型能够更加准确地预测在终端设备13上展示的广告的转化率和点击率。
需要说明的是,图1仅是本公开实施例提供的一种应用场景的示意图,本公开实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。
示例性方法
下面结合图1的应用场景,参考图2来描述根据本公开示例性实施方式的用于数据回溯方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
首先,通过具体实施例介绍数据回溯方法。
图2为本公开一实施例提供的数据回溯方法的流程图,应用于分布式数据处理系统,该分布式数据处理系统中运行有多个Flink算子,多个Flink算子包括数据拉取算子,多个Flink算子流式处理实现Flink任务。本公开实施例的方法可以应用于计算设备中,该计算设备可以是服务器或服务器集群等。如图2所示,本公开实施例的方法包括:
S201、获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记。
本公开实施例中,对于配置信息的获取方式,比如为在离线模型训练完成时,通过调用配置后台的应用程序编程接口(Application Programming Interface,API)来更新配置信息,进而可以通过监听配置后台的配置信息的更新消息,获取离线模型对应的配置信息;或者,在Flink任务启动时,获取离线模型对应的配置信息;或者,可以定时获取离线模型对应的配置信息。配置信息包含的数据回溯开始时间,用于指定从哪个时间点开始回溯,比如为当天的0点;配置信息包含的是否回溯标记用于标记是否需要回溯,在离线模型刚跑完时,是否回溯标记为回溯(比如用true表示),标识需要回溯,以生成用于更新离线模型的样本数据,该样本数据可以理解为实时样本数据;在回溯完成后,可以通过调用配置后台的API更新为不回溯(比如用false表示),标识不再需要回溯了,以避免重复回溯。配置信息还可以包含其他信息,具体可参考后续实施例。
S202、若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据。
该步骤中,配置信息中的是否回溯标记为回溯,表示需要回溯,则数据拉取算子(比如用KafkaOperator算子表示)停止已有的消费线程,并创建新的消费线程,并从配置信息包含的数据回溯开始时间开始消费数据,即获取目标数据。示例性地,数据拉取算子可以每隔100ms获取预设数量的目标数据。
S203、根据目标数据,生成用于更新离线模型的样本数据。
该步骤中,在获取到目标数据后,比如可以将目标数据和配置信息发送给数据拉取算子下游的Flink算子,通过数据拉取算子下游的Flink算子生成用于更新离线模型的样本数据,该样本数据可以理解为实时样本数据,可以根据实时样本数据更新离线模型。对于具体如何根据目标数据,生成用于更新离线模型的样本数据,可参考后续实施例,此处不再赘述。
本公开实施例提供的数据回溯方法,通过获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记;若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据;根据目标数据,生成用于更新离线模型的样本数据。由于本公开实施例在确定配置信息包含的是否回溯标记为回溯时,通过数据拉取算子停止已有的消费线程,并创建新的消费线程来进行数据回溯,而不需要人工重启Flink任务的方式进行数据回溯,能够大大提高数据回溯的效率,进而提升离线模型在线学习的实时性和可维护性。
图3为本公开另一实施例提供的数据回溯方法的流程图。在上述实施例的基础上,多个Flink算子还可以包括输入算子(即Source算子)、特征处理算子(比如用FeatureOperator算子表示)、主题筛选算子(比如用TopicSwitchOperator算子表示)和输出算子(即Sink算子),本公开实施例基于多个不同的Flink算子,对数据回溯方法进行进一步说明。如图3所示,本公开实施例的方法可以包括:
本公开实施例中,图2中S201步骤可以进一步包括如下的S301步骤:
S301、响应于Flink任务启动或响应于离线模型训练完成,输入算子获取离线模型对应的配置信息,或者,输入算子定时获取离线模型对应的配置信息。
可以理解,在Flink任务启动时,可以通过输入算子获取离线模型对应的配置信息;或者,在Flink任务运行过程中,响应于离线模型训练完成,即监听到配置后台的配置信息的更新消息,可以通过输入算子获取离线模型对应的配置信息;或者,在Flink任务运行过程中,可以通过输入算子定时获取离线模型对应的配置信息,以防止监听消息丢失造成的异常。
S302、输入算子确定是否回溯标记是否为回溯;若是,则输入算子广播配置信息,数据拉取算子接收配置信息。
该步骤中,输入算子获取到配置信息后,可以确定配置信息包含的是否回溯标记是否为回溯。若配置信息包含的是否回溯标记为回溯,则表示需要进行数据回溯,这时输入算子广播配置信息,相应地,数据拉取算子接收到配置信息。若配置信息包含的是否回溯标记为不回溯,则表示不需要进行数据回溯,这时则输入算子不会广播配置信息。
S303、数据拉取算子基于配置信息中的配置版本和数据拉取算子的本地配置版本,确定是否更新本地配置;若确定更新本地配置,则更新本地配置。
可以理解,配置信息中还可以包含配置版本,配置信息中的配置版本比如为一个递增的数字,用来标识配置的新旧程度。示例性地,可以采用离线模型的训练完成日期作为配置版本,例如20221226。假设数据拉取算子的本地配置版本为20221225,通过比较配置信息中的配置版本和数据拉取算子的本地配置版本,确定配置信息中的配置版本较高,因此,可以确定更新本地配置,并更新本地配置,比如将本地配置中的配置版本更新为配置信息中的配置版本;若数据拉取算子确定本地配置版本较高,则不更新本地配置(图3中未示出)。
可选的,数据拉取算子为多个,则每个数据拉取算子在接收到输入算子广播的配置信息时,可以基于配置信息中的配置版本和数据拉取算子的本地配置版本,确定是否更新本地配置。
S304、数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据。
该步骤的具体描述可以参见图2所示实施例中S202的相关描述,此处不再赘述。
S305、数据拉取算子将配置信息和目标数据发送给特征处理算子。
示例性地,特征处理算子为多个,则数据拉取算子可以基于再均衡策略将配置信息和目标数据发送给特征处理算子,以保证特征处理算子的负载均衡。
S306、特征处理算子基于配置信息中的配置版本和特征处理算子的本地配置版本,确定是否更新本地配置;若确定更新本地配置,则更新本地配置。
示例性地,特征处理算子通过比较配置信息中的配置版本和特征处理算子的本地配置版本,确定配置信息中的配置版本较高,则可以确定更新本地配置,并更新本地配置;若特征处理算子确定本地配置版本较高,则不更新本地配置(图3中未示出)。
可选的,特征处理算子为多个,每个特征处理算子通过缓存来存储本地配置版本。示例性地,假设有四个特征处理算子,配置信息中的配置版本较高,数据拉取算子第一次获取了两条目标数据,则数据拉取算子基于再均衡策略将配置信息和目标数据发送给四个特征处理算子中的两个特征处理算子,这两个特征处理算子可以根据配置信息更新本地配置,而剩下的两个特征处理算子均未更新本地配置。在数据拉取算子第二次获取了两条目标数据后,基于再均衡策略将配置信息和第二次获取的两条目标数据发送给四个特征处理算子中剩下的两个特征处理算子,则剩下的两个特征处理算子可以根据配置信息更新本地配置。
配置信息还可以包含指定通道以及离线模型的离线词表地址,特征处理算子的下游Flink算子包括主题筛选算子和输出算子,主题筛选算子包括第一通道和第二通道,因此,本公开实施例中,图2中S203步骤可以进一步包括如下的S307至S312六个步骤:
S307、特征处理算子提取目标数据的特征,并确定特征是否在特征处理算子的本地词表内,本地词表为根据离线词表地址获取的离线词表。
可以理解,特征处理算子在更新完本地配置后,根据离线词表地址获取离线词表,重新加载离线词表,以替换本地词表。然后特征处理算子提取目标数据的特征,并确定特征是否在特征处理算子的本地词表内。
S308、若在,则特征处理算子确定特征为样本数据,将样本数据和配置信息发送给下游的主题筛选算子。
示例性地,特征处理算子在确定目标数据的特征在本地词表内后,可以确定特征为样本数据,将样本数据和配置信息发送给下游的主题筛选算子。示例性地,主题筛选算子为多个,则特征处理算子可以基于再均衡策略将样本数据和配置信息发送给下游的主题筛选算子,以保证主题筛选算子的负载均衡。
S309、若不在,则特征处理算子将特征对应的频次进行加1处理,确定频次是否大于阈值;若频次大于阈值,则确定特征为样本数据,将样本数据和配置信息发送给下游的主题筛选算子,相应地,主题筛选算子接收样本数据和配置信息。
示例性地,阈值用于表示特征出现多少次可以作为样本数据,以发送给下游的主题筛选算子。阈值比如取值为100,表示一个特征出现超过100次,才可以作为样本数据,即用于更新离线模型。阈值比如可以预先配置在配置信息中,或者,使用固定值。若阈值包含在配置信息中,则特征处理算子从配置信息中获取阈值,在确定特征不在本地词表内后,将特征对应的频次进行加1处理,存储至Redis中。通过查询Redis,获取该特征总的实时频次,确定频次是否大于100次;若频次大于100次,则确定特征为样本数据,将样本数据和配置信息发送给下游的主题筛选算子。若频次小于或等于100次,则不将特征作为样本数据,即不将样本数据和配置信息发送给下游的主题筛选算子。
S310、主题筛选算子基于配置信息中的配置版本和主题筛选算子的本地配置版本,确定是否更新本地配置;若确定更新本地配置,则更新本地配置,并基于配置信息中的配置版本,记录主题筛选算子中更新了本地配置的实例对应的序号。
示例性地,主题筛选算子通过比较配置信息中的配置版本和主题筛选算子的本地配置版本,确定配置信息中的配置版本较高,则可以确定更新本地配置。若主题筛选算子确定本地配置版本较高,则不更新本地配置(图3中未示出)。
示例性地,主题筛选算子将本地配置中的配置版本更新为配置信息中的配置版本,并在Redis中记录更新了本地配置的实例对应的序号。具体地,比如将配置版本作为key,值(value)为一个集合,集合中的元素为更新了本地配置的实例对应的序号。可以理解,每个主题筛选算子收到更新的配置信息后,都会在该集合中增加一个元素。
S311、主题筛选算子根据配置信息中的指定通道,确定目标通道,通过目标通道将样本数据发送给目标通道对应的输出算子。
其中,目标通道为第一通道或第二通道,指定通道是在离线模型训练完成时切换的通道。
该步骤中,配置信息中的指定通道用于将数据回溯之前的实时样本数据与回溯后的实时样本数据隔离开,可以设置两个指定通道,即两个输出Topic,分别用主题A(Topic_A)和主题B(Topic_B)表示;每次数据回溯均会切换Topic,保证数据回溯前后的样本数据隔离。主题筛选算子包括第一通道和第二通道,假设第一通道也是用Topic_A表示,第二通道也是用Topic_B表示,配置信息中的指定通道为Topic_A,则主题筛选算子可以将第一通道和第二通道与收到的配置信息中的指定通道进行比较,确定目标通道为Topic_A,即第一通道为目标通道。
主题筛选算子在确定目标通道后,可以通过目标通道将样本数据发送给目标通道对应的输出算子,比如为Topic_A对应的输出算子。
S312、输出算子输出样本数据。
S313、输入算子在确定序号的数量和主题筛选算子的并行度相同时,更新配置信息中的是否回溯标记为不回溯。
示例性地,主题筛选算子的并行度可以按需设置,本公开不对此进行限定。基于S310步骤的示例,输入算子轮询查询Redis,如果集合的元素数量(即序号的数量)和主题筛选算子的并行度一致,则判断本次数据回溯切换已经完成,可以调用API通知配置后台,配置后台将当前次数据回溯设置为已完成,并更新配置信息中的是否回溯标记为不回溯,不再检查Redis,表示不需要再次回溯。
示例性地,假设数据拉取算子每隔100ms获取3条目标数据,主题筛选算子的并行度为10,配置信息中的配置版本较高。数据拉取算子第一获取到3条目标数据后,将这3条目标数据和配置信息发送给下游的特征处理算子(假设共有10个特征处理算子),其中的3个特征处理算子分别根据配置信息更新了本地配置,并分别将提取的目标数据的特征和配置信息发给下游的3个主题筛选算子;假设有5个主题筛选算子包含第一通道Topic_A,有5个主题筛选算子包含第二通道Topic_B,而配置信息中的指定通道为Topic_A,因此,包含Topic_A的3个主题筛选算子分别接收到特征处理算子发送的特征,包含Topic_B的3个主题筛选算子也会分别接收到特征处理算子发送的特征,相应地,Redis集合中包含6个主题筛选算子的实例的序号;这时输入算子轮询查询Redis,判断主题筛选算子的实例的序号数量为6,与主题筛选算子的并行度10不相同,则确定当前次数据回溯切换没有完成。数据拉取算子第二获取到3条目标数据后,基于上述方式,则最终Redis集合中包含10个主题筛选算子的实例的序号,与主题筛选算子的并行度10相同,则输入算子更新配置信息中的是否回溯标记为不回溯,即确定当前次数据回溯切换完成。
需要说明的是,本公开实施例不对S311和S313步骤执行的先后顺序进行限定。
本公开实施例提供的数据回溯方法,在通过输入算子确定配置信息包含的是否回溯标记为回溯时,通过数据拉取算子停止已有的消费线程,并创建新的消费线程基于数据回溯开始时间获取目标数据,进而通过特征处理算子、主题筛选算子以及输出算子输出根据目标数据生成的样本数据,以将样本数据用于更新离线模型,完成数据回溯,而不需要人工重启Flink任务的方式进行数据回溯,能够大大提高数据回溯的效率,进而提升离线模型在线学习的实时性和可维护性;另外,通过主题筛选算子根据配置信息中的指定通道,确定目标通道,能够保证数据回溯前后的样本数据存放在不同的Topic中,便于后续问题追踪以及后续数据消费。
在上述实施例的基础上,图4为本公开又一实施例提供的数据回溯方法的流程图,如图4所示,本公开实施例的方法可以包括:
S401、响应于Flink任务启动,输入算子从配置后台通过API接口获取离线模型对应的配置信息。
可以理解,本公开实施例是以在Flink任务启动时,输入算子获取配置信息为例示出。
S402、输入算子在确定配置信息中的是否回溯标记为回溯时,广播配置信息;相应地,多个数据拉取算子接收配置信息。
S403、数据拉取算子在确定配置信息中的配置版本比本地配置版本更高时,更新本地配置,然后停止已有的消费线程,并创建新的消费线程,新的消费线程基于配置信息中的数据回溯开始时间,从kafka原始样本Topic消费数据,即获取目标数据;
S404、数据拉取算子基于再均衡策略将配置信息和目标数据发送给多个特征处理算子。
S405、特征处理算子在接收到配置信息和目标数据后,在确定配置信息中的配置版本比本地配置版本更高时,更新本地配置,根据配置信息中的离线词表HDFS地址,获取离线词表,并重新加载离线词表,以替换本地词表。
S406、特征处理算子提取目标数据的特征,并确定特征是否在特征处理算子的本地词表内;若在,则特征处理算子确定特征为样本数据;若不在,则特征处理算子将特征对应的频次进行加1处理,即统计特征频次并写入Redis的实时词典中;查询Redis,确定特征总的实时频次是否大于阈值;若总的实时频次大于阈值,则确定特征为样本数据。
S407、特征处理算子基于再均衡策略将样本数据和配置信息发送给下游的主题筛选算子,即将特征输出给主题筛选算子。
S408、主题筛选算子在接收到配置信息和样本数据后,在确定配置信息中的配置版本比本地配置版本更高时,更新本地配置,并基于配置信息中的配置版本,在Redis中记录主题筛选算子中更新了本地配置的实例对应的序号;根据配置信息中的指定通道,确定目标通道;通过目标通道将样本数据发送给目标通道对应的输出算子;输出算子输出样本数据。
S409、输入算子在确定序号的数量和主题筛选算子的并行度相同时,确定本次数据回溯切换已经完成,调用API通知配置后台,配置后台将当前次数据回溯设置为已完成,并更新配置信息中的是否回溯标记为不回溯,不再检查Redis,表示不需要再次回溯。
示例性装置
在介绍了本公开示例性实施方式的介质之后,接下来,参考图5对本公开示例性实施方式的数据回溯装置进行说明。本公开示例性实施方式的装置,可以实现前述数据回溯方法实施例中的各个过程,并达到相同的功能和效果。
图5为本公开一实施例提供的数据回溯装置的结构示意图,应用于分布式数据处理系统,分布式数据处理系统中运行有多个Flink算子,多个Flink算子包括数据拉取算子,多个Flink算子流式处理实现Flink任务。如图5所示,本公开实施例的数据回溯装置500包括:获取模块501、处理模块502和生成模块503。其中:
获取模块501,用于获取离线模型对应的配置信息,配置信息包含数据回溯开始时间和是否回溯标记;
处理模块502,用于若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,新的消费线程基于数据回溯开始时间获取目标数据;
生成模块503,用于根据目标数据,生成用于更新离线模型的样本数据。
在一种可能的实施方式中,多个Flink算子还包括特征处理算子,配置信息还包含离线模型的离线词表地址,生成模块503可以具体用于:特征处理算子提取目标数据的特征,并确定特征是否在特征处理算子的本地词表内,本地词表为根据离线词表地址获取的离线词表;若在,则特征处理算子确定特征为样本数据,将样本数据和配置信息发送给特征处理算子的下游Flink算子,通过下游Flink算子输出样本数据;若不在,则特征处理算子将特征对应的频次进行加1处理,确定频次是否大于阈值;若频次大于阈值,则确定特征为样本数据,将样本数据和配置信息发送给特征处理算子的下游Flink算子,通过下游Flink算子输出样本数据。
在一种可能的实施方式中,多个Flink算子还包括主题筛选算子和输出算子,主题筛选算子包括第一通道和第二通道,配置信息还包含指定通道,生成模块503在用于通过下游Flink算子输出样本数据时,可以具体用于:主题筛选算子根据指定通道,确定目标通道,目标通道为第一通道或第二通道,指定通道是在离线模型训练完成时切换的通道;主题筛选算子通过目标通道将样本数据发送给目标通道对应的输出算子;输出算子输出样本数据。
在一种可能的实施方式中,多个Flink算子还包括输入算子,获取模块501可以具体用于:响应于Flink任务启动或响应于离线模型训练完成,输入算子获取离线模型对应的配置信息,或者,输入算子定时获取离线模型对应的配置信息。
在一种可能的实施方式中,处理模块502还可以用于:在若是否回溯标记为回溯,则数据拉取算子停止已有的消费线程之前,输入算子确定是否回溯标记是否为回溯;若是,则输入算子广播配置信息,数据拉取算子接收配置信息。
在一种可能的实施方式中,配置信息还包含配置版本,处理模块502还可以用于:在数据拉取算子停止已有的消费线程,并创建新的消费线程之前,数据拉取算子基于配置版本和数据拉取算子的本地配置版本,确定是否更新数据拉取算子的本地配置;若是,则更新数据拉取算子的本地配置;若否,则不更新数据拉取算子的本地配置。
在一种可能的实施方式中,配置信息还包含配置版本,生成模块503还可以用于:在特征处理算子提取目标数据的特征之前,特征处理算子基于配置版本和特征处理算子的本地配置版本,确定是否更新特征处理算子的本地配置;若是,则更新特征处理算子的本地配置,并将特征处理算子的本地词表替换为离线词表;若否,则不更新特征处理算子的本地配置。
在一种可能的实施方式中,配置信息还包含配置版本,生成模块503还可以用于:在主题筛选算子根据指定通道,确定目标通道之前,主题筛选算子基于配置版本和主题筛选算子的本地配置版本,确定是否更新主题筛选算子的本地配置;若是,则更新主题筛选算子的本地配置,并基于配置版本,记录主题筛选算子中更新了本地配置的实例对应的序号;若否,则不更新主题筛选算子的本地配置。
在一种可能的实施方式中,生成模块503还可以用于:在记录主题筛选算子中更新了本地配置的实例对应的序号之后,输入算子在确定序号的数量和主题筛选算子的并行度相同时,更新是否回溯标记为不回溯。
本公开实施例的装置,可以用于执行上述任一方法实施例中数据回溯方法的方案,其实现原理和技术效果类似,此处不再赘述。
示例性介质
在介绍了本公开示例性实施方式的方法之后,接下来,参考图6对本公开示例性实施方式的存储介质进行说明。
图6为本公开一实施例提供的存储介质示意图。参考图6所示,存储介质600中存储着根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备。
示例性计算设备
在介绍了本公开示例性实施方式的方法、介质和装置之后,接下来,参考图7对本公开示例性实施方式的计算设备进行说明。
图7显示的计算设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
图7为本公开一实施例提供的计算设备的结构示意图,如图7所示,计算设备700以通用计算设备的形式表现。计算设备700的组件可以包括但不限于:上述至少一个处理单元701、上述至少一个存储单元702,连接不同系统组件(包括处理单元701和存储单元702)的总线703。示例性地,处理单元701可以具体为处理器,存储单元702存储计算机执行指令,处理单元701执行存储单元702存储的计算机执行指令,以实现上述的数据回溯方法。
总线703包括数据总线、控制总线和地址总线。
存储单元702可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)7021和/或高速缓存存储器7022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)7023。
存储单元702还可以包括具有一组(至少一个)程序模块7024的程序/实用工具7025,这样的程序模块7024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备700也可以与一个或多个外部设备704(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口705进行。并且,计算设备700还可以通过网络适配器706与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器706通过总线703与计算设备700的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了数据回溯装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本公开的精神和原理,但是应该理解,本公开并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本公开旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (10)
1.一种数据回溯方法,应用于分布式数据处理系统,所述分布式数据处理系统中运行有多个Flink算子,所述多个Flink算子包括数据拉取算子,所述多个Flink算子流式处理实现Flink任务,所述数据回溯方法包括:
获取离线模型对应的配置信息,所述配置信息包含数据回溯开始时间和是否回溯标记;
若所述是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,所述新的消费线程基于所述数据回溯开始时间获取目标数据;
根据所述目标数据,生成用于更新所述离线模型的样本数据。
2.根据权利要求1所述的数据回溯方法,所述多个Flink算子还包括特征处理算子,所述配置信息还包含所述离线模型的离线词表地址,所述根据所述目标数据,生成用于更新所述离线模型的样本数据,包括:
所述特征处理算子提取所述目标数据的特征,并确定所述特征是否在所述特征处理算子的本地词表内,所述本地词表为根据所述离线词表地址获取的离线词表;
若在,则所述特征处理算子确定所述特征为所述样本数据,将所述样本数据和所述配置信息发送给所述特征处理算子的下游Flink算子,通过所述下游Flink算子输出所述样本数据;
若不在,则所述特征处理算子将所述特征对应的频次进行加1处理,确定所述频次是否大于阈值;若所述频次大于所述阈值,则确定所述特征为所述样本数据,将所述样本数据和所述配置信息发送给所述特征处理算子的下游Flink算子,通过所述下游Flink算子输出所述样本数据。
3.根据权利要求2所述的数据回溯方法,所述多个Flink算子还包括主题筛选算子和输出算子,所述主题筛选算子包括第一通道和第二通道,所述配置信息还包含指定通道,所述通过所述下游Flink算子输出所述样本数据,包括:
所述主题筛选算子根据所述指定通道,确定目标通道,所述目标通道为所述第一通道或所述第二通道,所述指定通道是在所述离线模型训练完成时切换的通道;
所述主题筛选算子通过所述目标通道将所述样本数据发送给所述目标通道对应的输出算子;
所述输出算子输出所述样本数据。
4.根据权利要求3所述的数据回溯方法,所述多个Flink算子还包括输入算子,所述获取离线模型对应的配置信息,包括:
响应于所述Flink任务启动或响应于所述离线模型训练完成,所述输入算子获取所述离线模型对应的配置信息,或者,所述输入算子定时获取所述离线模型对应的配置信息。
5.根据权利要求4所述的数据回溯方法,所述若所述是否回溯标记为回溯,则数据拉取算子停止已有的消费线程之前,还包括:
所述输入算子确定所述是否回溯标记是否为回溯;
若是,则所述输入算子广播所述配置信息,所述数据拉取算子接收所述配置信息。
6.根据权利要求1至5中任一项所述的数据回溯方法,所述配置信息还包含配置版本,所述数据拉取算子停止已有的消费线程,并创建新的消费线程之前,还包括:
所述数据拉取算子基于所述配置版本和所述数据拉取算子的本地配置版本,确定是否更新所述数据拉取算子的本地配置;
若是,则更新所述数据拉取算子的本地配置;
若否,则不更新所述数据拉取算子的本地配置。
7.根据权利要求2所述的数据回溯方法,所述配置信息还包含配置版本,所述特征处理算子提取所述目标数据的特征之前,还包括:
所述特征处理算子基于所述配置版本和所述特征处理算子的本地配置版本,确定是否更新所述特征处理算子的本地配置;
若是,则更新所述特征处理算子的本地配置,并将所述特征处理算子的本地词表替换为所述离线词表;
若否,则不更新所述特征处理算子的本地配置。
8.根据权利要求5所述的数据回溯方法,所述配置信息还包含配置版本,所述主题筛选算子根据所述指定通道,确定目标通道之前,还包括:
所述主题筛选算子基于所述配置版本和所述主题筛选算子的本地配置版本,确定是否更新所述主题筛选算子的本地配置;
若是,则更新所述主题筛选算子的本地配置,并基于所述配置版本,记录所述主题筛选算子中更新了本地配置的实例对应的序号;
若否,则不更新所述主题筛选算子的本地配置。
9.根据权利要求8所述的数据回溯方法,所述记录所述主题筛选算子中更新了本地配置的实例对应的序号之后,还包括:
所述输入算子在确定所述序号的数量和所述主题筛选算子的并行度相同时,更新所述是否回溯标记为不回溯。
10.一种数据回溯装置,应用于分布式数据处理系统,所述分布式数据处理系统中运行有多个Flink算子,所述多个Flink算子包括数据拉取算子,所述多个Flink算子流式处理实现Flink任务,所述数据回溯装置包括:
获取模块,用于获取离线模型对应的配置信息,所述配置信息包含数据回溯开始时间和是否回溯标记;
处理模块,用于若所述是否回溯标记为回溯,则数据拉取算子停止已有的消费线程,并创建新的消费线程,所述新的消费线程基于所述数据回溯开始时间获取目标数据;
生成模块,用于根据所述目标数据,生成用于更新所述离线模型的样本数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211711755.3A CN116028811A (zh) | 2022-12-29 | 2022-12-29 | 数据回溯方法、介质、装置和计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211711755.3A CN116028811A (zh) | 2022-12-29 | 2022-12-29 | 数据回溯方法、介质、装置和计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116028811A true CN116028811A (zh) | 2023-04-28 |
Family
ID=86072550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211711755.3A Pending CN116028811A (zh) | 2022-12-29 | 2022-12-29 | 数据回溯方法、介质、装置和计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116028811A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455956A (zh) * | 2023-06-16 | 2023-07-18 | 中国人民解放军国防科技大学 | 一种基于消息中间件的数据采集和数据回放的方法和系统 |
-
2022
- 2022-12-29 CN CN202211711755.3A patent/CN116028811A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116455956A (zh) * | 2023-06-16 | 2023-07-18 | 中国人民解放军国防科技大学 | 一种基于消息中间件的数据采集和数据回放的方法和系统 |
CN116455956B (zh) * | 2023-06-16 | 2023-08-15 | 中国人民解放军国防科技大学 | 一种基于消息中间件的数据采集和数据回放的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021174694A1 (zh) | 基于数据中心的运维监控方法、装置、设备及存储介质 | |
US20080168122A1 (en) | Publish/subscribe system | |
US20210144076A1 (en) | Optimization of network data analysis device | |
CN112559475B (zh) | 数据实时捕获和传输方法及系统 | |
US20220138074A1 (en) | Method, electronic device and computer program product for processing data | |
CN110177300A (zh) | 程序运行状态的监控方法、装置、电子设备和存储介质 | |
CN110727572A (zh) | 埋点数据处理方法、装置、设备及存储介质 | |
US10372572B1 (en) | Prediction model testing framework | |
US20210036921A1 (en) | Utilizing unstructured data in self-organized networks | |
CN116028811A (zh) | 数据回溯方法、介质、装置和计算设备 | |
CN111782672B (zh) | 多领域数据管理方法及相关装置 | |
CN107566480B (zh) | 移动终端应用的用户活动信息采集方法及装置、存储介质 | |
CN112306887A (zh) | 程序测试分发方法及其相应的装置、设备、介质 | |
CN111552521A (zh) | 应用数据上报方法、装置、服务器及存储介质 | |
CN116069838A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN113138934A (zh) | 自动测试的方法、介质、装置和计算设备 | |
CN117336135A (zh) | 数据传输方法、装置、存储介质以及电子设备 | |
CN113377604B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
US10516767B2 (en) | Unifying realtime and static data for presenting over a web service | |
CN117056175B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN113723800B (zh) | 风险识别模型训练方法及装置、风险识别方法及装置 | |
CN113742197B (zh) | 模型管理装置、方法、数据管理装置、方法及系统 | |
US20230367668A1 (en) | Proactive root cause analysis | |
WO2022257392A1 (zh) | 数据检索预测方法、装置、电子设备及可读介质 | |
CN114490191A (zh) | 数据回放方法、装置、存储介质、电子设备 |
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 |