当前位置: 首页 > 专利查询>清华大学专利>正文

一种流数据处理中乱序纠正方法及系统技术方案

技术编号:18403818 阅读:9 留言:0更新日期:2018-07-08 22:09
本发明专利技术提供一种流数据处理中乱序纠正方法及系统,所述方法包括:S1,对目标流数据进行处理,获取第一处理结果;S2,若所述流数据输出端的扫描窗口中第二处理结果的时间戳与流数据输出端的同步指针指向的时间戳不相同,则判断所述第二处理结果与所述第一处理结果是否相同;S3,若所述第二处理结果与所述第一处理结果不相同,则重复执行对所述目标流数据进行所述处理和所述步骤S2,直到所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,或者所述第二处理结果与所述第一处理结果相同,输出所述第二处理结果。本发明专利技术实现流数据处理结果的连续性和正确性。

A method and system for correcting random order in stream data processing

The present invention provides a chaotic sequence correction method and a system in flow data processing, which includes: S1, processing the target stream data and obtaining the first processing results; S2, if the time stamp of the second processing result in the scan window of the flow data output end is different from the timestamp pointing to the synchronization pointer of the flow data output end. It is determined whether the second processing result is the same as the first processing result; S3, if the second processing result is not the same as the first processing result, repeated execution of the described processing and the step S2 of the target stream data until the time stamp of the second processing result in the scanned window and the number of the flow. The time stamp directed by the synchronization pointer of the output end is the same, or the second processing result is the same as the first processing result, and the second processing result is output. The invention realizes continuity and correctness of the result of stream data processing.

【技术实现步骤摘要】
一种流数据处理中乱序纠正方法及系统
本专利技术属于数据管理领域,更具体地,涉及一种流数据处理中乱序纠正方法及系统。
技术介绍
随着大数据时代的到来,人们开始越来越多关注从大数据中提取有用信息。而其中流数据处理方法逐渐成为研究焦点。流数据是指由大量数据源持续生成的数据,通常以数据记录的形式发送。流数据包括多种数据,如客户使用移动或Web应用程序生成的日志文件、网购数据、游戏内玩家活动、社交网站信息、金融交易大厅或地理空间服务,以及来自数据中心内所连接的设备或仪器的遥测数据等。对流数据的处理,现阶段主要通过大规模的分布式并行计算单元进行处理从而使得流数据处理系统具有高通量、高可用性和水平扩展等性能。其核心思想为假设每次到达的数据包之间不存在任何依赖的前提下,将数据包的处理任务均匀分布到各个计算节点实现,各节点之间不考虑待处理的数据包之间的前后顺序。在大量数据包输入的情况下,各节点之间的处理负荷无法实现平衡,会导致最终处理结果乱序输出的问题。对于这一问题,流数据处理中的乱序纠正通常采用在处理完成以后设置重整窗口对处理结果按到达时间重新排序来进行纠正。但这种方法存在两个局限性,一方面,排序区间依赖于窗口大小,当乱序程度超出窗口大小的极限时无法纠正;另一方面,由于需要在窗口填满后进行缓存和排序然后输出,使得原本连续输出的处理结果的变成离散化批处理输出,无法保证后续处理的连续性。
技术实现思路
为克服上述对流数据处理中的乱序纠正方法对高程度的乱序无法纠正,且使处理结果的输出离散化的问题或者至少部分地解决上述问题,本专利技术提供了一种流数据处理中乱序纠正方法及系统。根据本专利技术的第一方面,提供一种流数据处理中乱序纠正方法,包括:S1,将流数据的输出端的同步指针指向所述目标流数据的时间戳,获取所述目标流数据经过处理后的第一处理结果;S2,若所述流数据输出端的扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳不相同,则判断所述第二处理结果与所述第一处理结果是否相同;其中,所述第二处理结果位于所述扫描窗口的最前方;S3,若所述第二处理结果与所述第一处理结果不相同,则重复执行对所述目标流数据进行所述处理和所述步骤S2,直到所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,或者所述第二处理结果与所述第一处理结果相同,输出所述第二处理结果,同时更新所述流数据输出端的同步指针。具体地,所述步骤S1之前包括:当目标流数据通过预先创建的普通数据通道时,对所述目标流数据进行解析和传输。具体地,所述步骤S3具体包括:若所述第二处理结果与所述第一处理结果不相同,则通过预先创建的信号通道通知数据发送端通过预先创建的重传通道将所述目标流数据重新发送,以对重新发送的所述目标流数据进行处理。具体地,所述重传数据通道的优先级高于所述普通数据通道的优先级;所述信号通道的优先级高于所述重传数据通道的优先级。具体地,所述步骤S3还包括:若在预设时长内没有输出所述第二处理结果,则获知所述第一处理结果丢失。具体地,所述步骤S2还包括:若所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,则直接将所述第二处理结果输出,同时更新流数据输入端和所述流数据输出端的同步指针。具体地,所述步骤S3还包括:若所述第二处理结果与所述第一处理结果相同,则直接将所述第二处理结果输出,同时更新流数据输入端和所述流数据输出端的同步指针。具体地,所述步骤S3中更新流数据输入端和所述流数据输出端的同步指针的步骤具体包括:若下一个流数据的时间戳对应的时间在流数据输入端的同步指针指向的时间戳之前,则获知所述下一个流数据已被处理过;其中,所述流数据输入端的同步指针指向的时间戳为所述目标流数据的时间戳;或者,若下一个流数据的时间戳对应的时间在流数据输入端的同步指针指向的时间戳之后,则将所述流数据输入端和所述流数据输出端的同步指针指向所述下一个流数据的时间戳。根据本专利技术的第二方面,提供一种流数据处理中乱序纠正系统,包括:获取单元,用于将流数据的输出端的同步指针指向所述目标流数据的时间戳,获取所述目标流数据经过处理后的第一处理结果;判断单元,用于在所述流数据输出端的扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳不相同时,判断所述第二处理结果与所述第一处理结果是否相同;其中,所述第二处理结果位于所述扫描窗口的最前方;重复单元,用于在所述第二处理结果与所述第一处理结果不相同时,则重复执行上述处理和判断操作,直到所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,或者所述第二处理结果与所述第一处理结果相同,输出所述第二处理结果,同时更新所述流数据输出端的同步指针。根据本专利技术的第三方面,提供一种非暂态计算机可读存储介质,用于存储如前所述方法的计算机程序。本专利技术提供一种流数据处理中乱序纠正方法及系统,该方法通过在流数据输入端和流数据输出端创建同步指针,所述同步指针指向每次输入的流数据的时间戳,当流数据的处理结果出现乱序时,重新对流数据进行处理直到处理结果正常或乱序的处理结果为正确的处理结果,然后将正确的处理结果输出,从而保证流数据处理结果的连续性和正确性。附图说明图1为本专利技术实施例提供的流数据处理中乱序纠正方法整体流程示意图;图2为本专利技术实施例提供的流数据处理中乱序纠正方法中乱序纠正模型整体结构示意图;图3为本专利技术实施例提供的流数据处理中乱序纠正系统整体结构示意图;图4为本专利技术实施例提供的流数据处理中乱序纠正设备整体结构示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。在本专利技术的一个实施例中提供一种流数据处理中乱序纠正方法,图1为本专利技术实施例提供的流数据处理中乱序纠正方法整体流程示意图,该方法包括:S1,将流数据的输出端的同步指针指向所述目标流数据的时间戳,获取所述目标流数据经过处理后的第一处理结果;S2,若所述流数据输出端的扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳不相同,则判断所述第二处理结果与所述第一处理结果是否相同;其中,所述第二处理结果位于所述扫描窗口的最前方;S3,若所述第二处理结果与所述第一处理结果不相同,则重复执行对所述目标流数据进行所述处理和所述步骤S2,直到所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,或者所述第二处理结果与所述第一处理结果相同,输出所述第二处理结果,同时更新所述流数据输出端的同步指针。具体地,S1中,所述目标流数据为需要进行处理的流数据。使用流处理系统对所述目标流数据进行处理获取第一处理结果。本实施例不限于对所述目标流数据进行处理的方式,即不限于所述流处理系统的种类。在所述流数据输入端和所述流数据输出端建立同步指针。所述流数据输入端为流数据的输入入口,所述流数据输出端为流数据的输出出口。所述同步指针用于保证所述流数据输入端流数据输入顺序与所述流数据输出端所述流数据对应的处理结果的输出顺序相同。将所述流数据输入端和所述流数据输出端的同步指针初始化为首个输入的流数据的时间戳。当新的流数据输入时,所述流数本文档来自技高网...

【技术保护点】
1.一种流数据处理中乱序纠正方法,其特征在于,包括:S1,将流数据的输出端的同步指针指向所述目标流数据的时间戳,获取所述目标流数据经过处理后的第一处理结果;S2,若所述流数据输出端的扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳不相同,则判断所述第二处理结果与所述第一处理结果是否相同;其中,所述第二处理结果位于所述扫描窗口的最前方;S3,若所述第二处理结果与所述第一处理结果不相同,则重复执行对所述目标流数据进行所述处理和所述步骤S2,直到所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,或者所述第二处理结果与所述第一处理结果相同,输出所述第二处理结果,同时更新所述流数据输出端的同步指针。

【技术特征摘要】
1.一种流数据处理中乱序纠正方法,其特征在于,包括:S1,将流数据的输出端的同步指针指向所述目标流数据的时间戳,获取所述目标流数据经过处理后的第一处理结果;S2,若所述流数据输出端的扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳不相同,则判断所述第二处理结果与所述第一处理结果是否相同;其中,所述第二处理结果位于所述扫描窗口的最前方;S3,若所述第二处理结果与所述第一处理结果不相同,则重复执行对所述目标流数据进行所述处理和所述步骤S2,直到所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,或者所述第二处理结果与所述第一处理结果相同,输出所述第二处理结果,同时更新所述流数据输出端的同步指针。2.根据权利要求1所述的方法,其特征在于,所述步骤S1之前包括:当目标流数据通过预先创建的普通数据通道时,对所述目标流数据进行解析和传输。3.根据权利要求2所述的方法,其特征在于,所述步骤S3具体包括:若所述第二处理结果与所述第一处理结果不相同,则通过预先创建的信号通道通知数据发送端通过预先创建的重传通道将所述目标流数据重新发送,以对重新发送的所述目标流数据进行处理。4.根据权利要求3所述的方法,其特征在于,所述重传数据通道的优先级高于所述普通数据通道的优先级;所述信号通道的优先级高于所述重传数据通道的优先级。5.根据权利要求1-4任一所述的方法,其特征在于,所述步骤S3还包括:若在预设时长内没有输出所述第二处理结果,则获知所述第一处理结果丢失。6.根据权利要求1-4任一所述的方法,其特征在于,所述步骤S2还包括:若所述扫描窗口中第二处理结果的时间戳与所述流数据输出端的同步指针指向的时间戳相同,则直接将所述第二处理结果输出,同时更新流...

【专利技术属性】
技术研发人员:王建民刘英博丁雨亭
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1