The invention discloses a data disorderly arrival processing method and a system. The method comprises the following steps: extracting the current time window field, processing time window into field date type data; judging user data stream if there is a specified time window field, and do the corresponding processing; time window field marking time slice field where, before the time window and extract the field data sets from the Redis repository in the time window; the field judgment marker time slice data are concentrated in the extracted data, and do the corresponding processing; storage of user data stream to the Redis repository, update the Redis repository; the system comprises a data processing module, a first judging module, a judging module and a second marking module, Redis storage module. The invention solves the problem of the random arrival of the real-time stream data, and is especially suitable for solving the scenario that the data source is not serialized, thereby improving the validity and timing of the data.
【技术实现步骤摘要】
一种数据乱序到达处理方法和系统
本专利技术涉及大数据分析处理
,具体是一种数据乱序到达处理方法和系统。
技术介绍
目前大数据产业背景下,实时流技术是一种将批次化、有序、整齐的序列化数据,固定地往分析器中推送的数据处理技术。由于分析器对数据格式要求严格,这直接导致大多数情况下,数据格式单一,序列化要求严格。然而,在实时流数据源中,数据往往并非都是来自高度序列化的场景,因数据乱序到达导致数据清洗结果与原数据结果经常呈现不一致,数据时序性差,数据质量低。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种数据乱序到达处理方法和系统,本专利技术通过对实时流数据时间分片分批分配的原理,使Spark处理节点上在存储Redis过程中进行逻辑分配,从而解决了实时流数据的乱序到达问题,提升了数据的有效性和时序性。本专利技术的目的是通过以下技术方案来实现的:一种数据乱序到达处理方法,它包括以下步骤:S103:提取当前时间窗口字段,将时间窗口字段处理成日期类型数据;S104:判断用户流数据是否存在指定时间窗口字段,(1)如果用户流数据没有指定时间窗口字段,则使用当前时间作为时间分片字段;(2)如果用户流数据有指定时间窗口字段,且指定的时间窗口字段不在合法窗口内,则丢弃该字段并记录日志,将日志作为时间分片字段;(3)如果用户流数据有指定时间窗口字段,且指定的时间窗口字段在合法窗口内,则使用该字段作为该条用户数据的时间分片字段;S105:标记步骤S4中得到的时间分片字段所在的时间窗口字段,并从Redis存储库中提取在该时间窗口字段之前的数据集;S106:判断标记的时间 ...
【技术保护点】
一种数据乱序到达处理方法,其特征在于,它包括以下步骤:S103:提取当前时间窗口字段,将时间窗口字段处理成日期类型数据;S104:判断用户流数据是否存在指定时间窗口字段,(1)如果用户流数据没有指定时间窗口字段,则使用当前时间作为时间分片字段;(2)如果用户流数据有指定时间窗口字段,且指定的时间窗口字段不在合法窗口内,则丢弃该字段并记录日志,将日志作为时间分片字段;(3)如果用户流数据有指定时间窗口字段,且指定的时间窗口字段在合法窗口内,则使用该字段作为该条用户数据的时间分片字段;S105:标记步骤S4中得到的时间分片字段所在的时间窗口字段,并从Redis存储库中提取在该时间窗口字段之前的数据集;S106:判断标记的时间窗口字段的时间分片数据是否在步骤S5中提取的数据集中,(1)如果所述的时间分片数据在数据集中,则将所述的时间分片数据与数据集合并,并将合并后的数据重新存储到Redis存储库中;(2)如果所述的时间分片数据不在数据集中,则对所述的时间分片数据新建数据表单,并将新建数据表单添加到Redis存储库中;S107:存储该条用户流数据到Redis存储库中,更新Redis存储库。
【技术特征摘要】
1.一种数据乱序到达处理方法,其特征在于,它包括以下步骤:S103:提取当前时间窗口字段,将时间窗口字段处理成日期类型数据;S104:判断用户流数据是否存在指定时间窗口字段,(1)如果用户流数据没有指定时间窗口字段,则使用当前时间作为时间分片字段;(2)如果用户流数据有指定时间窗口字段,且指定的时间窗口字段不在合法窗口内,则丢弃该字段并记录日志,将日志作为时间分片字段;(3)如果用户流数据有指定时间窗口字段,且指定的时间窗口字段在合法窗口内,则使用该字段作为该条用户数据的时间分片字段;S105:标记步骤S4中得到的时间分片字段所在的时间窗口字段,并从Redis存储库中提取在该时间窗口字段之前的数据集;S106:判断标记的时间窗口字段的时间分片数据是否在步骤S5中提取的数据集中,(1)如果所述的时间分片数据在数据集中,则将所述的时间分片数据与数据集合并,并将合并后的数据重新存储到Redis存储库中;(2)如果所述的时间分片数据不在数据集中,则对所述的时间分片数据新建数据表单,并将新建数据表单添加到Redis存储库中;S107:存储该条用户流数据到Redis存储库中,更新Redis存储库。2.根据权利要求1所...
【专利技术属性】
技术研发人员:李广,王纯斌,曹洹太,覃进学,刘旻哲,
申请(专利权)人:成都四方伟业软件股份有限公司,
类型:发明
国别省市:四川,51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。