本发明专利技术公开了一种乱序数据处理方法、装置、设备及可读存储介质,该方法包括:基于预设流处理框架从消息队列中读取待处理数据,并判断与待处理数据的生成时间匹配的时间窗口是否处于清除状态;若处于清除状态,则判定待处理数据为乱序数据,基于预设流处理框架重新形成时间窗口,并读取与时间窗口对应的历史清除数据,将所述清除数据恢复到所述时间窗口;基于预设流处理框架将待处理数据分配到时间窗口,与恢复到时间窗口内的历史清除数据进行聚合,完成对乱序数据的处理。本发明专利技术通过将历史清除数据恢复到时间窗口,并将确定为乱序数据的待处理数据分配到时间窗口,与恢复的历史清除数据进行聚合,确保了实时计算过程中数据的全面准确统计。
【技术实现步骤摘要】
乱序数据处理方法、装置、设备及可读存储介质
本专利技术涉及金融科技(Fintech)
,尤其涉及一种乱序数据处理方法、装置、设备及可读存储介质。
技术介绍
随着金融科技(Fintech),尤其是互联网科技金融的不断发展,越来越多的技术(如人工智能、大数据、云存储等)应用在金融领域,但金融领域也对各类技术提出了更高的要求,如要求实时计算过程中对大量数据的准确统计等。当前实时计算的场景中,数据乱序是很常见的问题,乱序数据的处理准确,对数据统计的准确性有重大影响。而Flink框架因高效的处理特性而广泛应用于实时计算场景中,其将数据分配到窗口,通过窗口的状态管理来实现数据统计。但是Flink框架对于乱序数据,会进行丢弃,如此一来,导致所统计的数据具有不准确性。因此,如何依赖Flink框架对实时计算过程中的乱序数据进行准确统计是当前亟待解决的技术问题。
技术实现思路
本专利技术的主要目的在于提供一种乱序数据处理方法、装置、设备及可读存储介质,旨在解决现有技术中如何依赖Flink框架对实时计算过程中的乱序数据进行准确统计的技术问题。为实现上述目的,本专利技术提供一种乱序数据处理方法,所述乱序数据处理方法包括以下步骤:基于预设流处理框架从消息队列中读取待处理数据,并判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态;若处于清除状态,则判定所述待处理数据为乱序数据,基于所述预设流处理框架重新形成所述时间窗口,并读取与所述时间窗口对应的历史清除数据,将所述历史清除数据恢复到所述时间窗口;基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,与恢复到所述时间窗口内的所述历史清除数据进行聚合,完成对乱序数据的处理。可选地,所述基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,与恢复到所述时间窗口内的所述历史清除数据进行聚合的步骤包括:基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,并对所述时间窗口添加延时时长;判断所述延时时长内是否读取到目标待处理数据,其中,所述目标待处理数据的生成时间与所述时间窗口匹配;若读取到所述目标待处理数据,将所述目标待处理数据分配到所述时间窗口,并在所述延时时长结束后,对所述时间窗口内的各个数据进行聚合。可选地,所述判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态的步骤之后,所述方法还包括:若与所述待处理数据的生成时间匹配的时间窗口处于未清除状态,则将所述待处理数据分配到所述时间窗口,并判断所述待处理数据的生成时间是否达到所述时间窗口的水位线;若达到所述时间窗口的水位线,则对所述时间窗口内的各个数据进行聚合处理,生成处理结果存储到预设数据库。可选地,所述生成处理结果存储到预设数据库的步骤之后,所述方法还包括:将所述时间窗口内的所有数据传输到所述预设数据库缓存,并在缓存成功后,清除所述时间窗口内的所有数据;调整所述时间窗口的水位线,以读取所述消息队列中新的待处理数据进行聚合处理。可选地,所述将所述时间窗口内的所有数据传输到所述预设数据库缓存的步骤之后,所述方法还包括:当检测到达所述预设数据库的清理时间时,查找所述预设数据库缓存的各项数据中的待删除数据,并对所述待删除数据进行删除操作。可选地,所述判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态的步骤包括:读取处于激活状态的当前时间窗口的窗口时间区间,并判断所述待处理数据的生成时间是否位于所述窗口时间区间内;若位于所述窗口时间区间内,则判定与所述待处理数据的生成时间匹配的时间窗口处于未清除状态;若不位于所述窗口时间区间内,则判定与所述待处理数据的生成时间匹配的时间窗口处于清除状态。可选地,所述基于预设流处理框架从消息队列中读取待处理数据的步骤包括:基于预设流处理框架从消息队列中读取单条数据,并调用预设函数从所述单条数据中提取出与预设字段对应的数据;将与预设字段对应的数据确定为所述待处理数据。进一步地,为实现上述目的,本专利技术还提供一种乱序数据处理装置,所述乱序数据处理装置包括:判断模块,用于基于预设流处理框架从消息队列中读取待处理数据,并判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态;恢复模块,用于若处于清除状态,则判定所述待处理数据为乱序数据,基于所述预设流处理框架重新形成所述时间窗口,并读取与所述时间窗口对应的历史清除数据,将所述历史清除数据恢复到所述时间窗口;聚合模块,用于基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,与恢复到所述时间窗口内的所述历史清除数据进行聚合,完成对乱序数据的处理。进一步地,为实现上述目的,本专利技术还提供一种乱序数据处理设备,所述乱序数据处理设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的乱序数据处理程序,所述乱序数据处理程序被所述处理器执行时实现如上述所述的乱序数据处理方法的步骤。进一步地,为实现上述目的,本专利技术还提供一种可读存储介质,所述可读存储介质上存储有乱序数据处理程序,所述乱序数据处理程序被处理器执行时实现如上所述的乱序数据处理方法的步骤。本专利技术的乱序数据处理方法、装置、设备及可读存储介质,先基于预设流处理框架从消息队列中读取出待处理数据,并判断与该待处理数据生成时间匹配的时间窗口是否处于清除状态;若经判定处于清除状态,则说明待处理数据为乱序数据,基于预设流处理框架重新形成时间窗口,并读取与时间窗口对应的历史清除数据,将历史清除数据恢复到时间窗口;进而基于预设流处理框架将待处理数据分配到时间窗口,与恢复到时间窗口内的历史清除数据一并聚合,完成乱序数据的处理。本专利技术在由时间窗口的清除状态判定出待处理数据为乱序数据后,重新形成时间窗口,并读取经处理后从时间窗口清除的历史清除数据再次恢复到时间窗口,进而将待处理数据分配到时间窗口,与恢复的历史清除数据进行聚合,避免对乱序数据的丢弃而导致数据统计的不准确性,确保了实时计算过程中数据的全面准确统计。附图说明图1为本专利技术乱序数据处理设备实施例方案涉及的设备硬件运行环境的结构示意图;图2为本专利技术乱序数据处理方法第一实施例的流程示意图;图3为本专利技术乱序数据处理装置较佳实施例的功能模块示意图;图4为本专利技术乱序数据处理方法一具体实施例中基于flink框架对乱序数据处理的流程示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种乱序数据处理设备,参照图1,图1为本专利技术乱序数据处理设备实施例方案涉及的设备硬件运行环境的结构示意图。如图1所示,该乱序数据处理设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器100本文档来自技高网...
【技术保护点】
1.一种乱序数据处理方法,其特征在于,所述乱序数据处理方法包括以下步骤:/n基于预设流处理框架从消息队列中读取待处理数据,并判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态;/n若处于清除状态,则判定所述待处理数据为乱序数据,基于所述预设流处理框架重新形成所述时间窗口,并读取与所述时间窗口对应的历史清除数据,将所述历史清除数据恢复到所述时间窗口;/n基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,与恢复到所述时间窗口内的所述历史清除数据进行聚合,完成对乱序数据的处理。/n
【技术特征摘要】
1.一种乱序数据处理方法,其特征在于,所述乱序数据处理方法包括以下步骤:
基于预设流处理框架从消息队列中读取待处理数据,并判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态;
若处于清除状态,则判定所述待处理数据为乱序数据,基于所述预设流处理框架重新形成所述时间窗口,并读取与所述时间窗口对应的历史清除数据,将所述历史清除数据恢复到所述时间窗口;
基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,与恢复到所述时间窗口内的所述历史清除数据进行聚合,完成对乱序数据的处理。
2.如权利要求1所述的乱序数据处理方法,其特征在于,所述基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,与恢复到所述时间窗口内的所述历史清除数据进行聚合的步骤包括:
基于所述预设流处理框架将所述待处理数据分配到所述时间窗口,并对所述时间窗口添加延时时长;
判断所述延时时长内是否读取到目标待处理数据,其中,所述目标待处理数据的生成时间与所述时间窗口匹配;
若读取到所述目标待处理数据,将所述目标待处理数据分配到所述时间窗口,并在所述延时时长结束后,对所述时间窗口内的各个数据进行聚合。
3.如权利要求1所述的乱序数据处理方法,其特征在于,所述判断与所述待处理数据的生成时间匹配的时间窗口是否处于清除状态的步骤之后,所述方法还包括:
若与所述待处理数据的生成时间匹配的时间窗口处于未清除状态,则将所述待处理数据分配到所述时间窗口,并判断所述待处理数据的生成时间是否达到所述时间窗口的水位线;
若达到所述时间窗口的水位线,则对所述时间窗口内的各个数据进行聚合处理,生成处理结果存储到预设数据库。
4.如权利要求3所述的乱序数据处理方法,其特征在于,所述生成处理结果存储到预设数据库的步骤之后,所述方法还包括:
将所述时间窗口内的所有数据传输到所述预设数据库缓存,并在缓存成功后,清除所述时间窗口内的所有数据;
调整所述时间窗口的水位线,以读取所述消息队列中新的待处理数据进行聚合处理。
5.如权利要求4所述的乱序数据处理方法,其特征在于,所述将所述时间窗口内的所有数据传输到所述预设数据库缓存的步...
【专利技术属性】
技术研发人员:卢子杰,王亮,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。