一种流计算中数据持久化的方法和系统技术方案

技术编号:18458738 阅读:25 留言:0更新日期:2018-07-18 12:41
本发明专利技术公开了一种流计算中数据持久化的方法和系统,本发明专利技术属于数据存储技术领域。所述方法包括:管理模块发起一个任务;根据任务向数据源提取任务对应的key;根据key向数据源提取key对应的value,并进行数据处理由此生成中间数据和第一信号,存储中间数据和第一信号;检测第一信号是否完成存储,并将检测信息发送给管理模块。采用本发明专利技术,可以有效地对中间数据持久化结果进行反馈,从而保证中间数据持久化的事务性。

A method and system for data persistence in flow computation

The invention discloses a method and a system for data persistence in flow calculation, and belongs to the field of data storage technology. The methods include: the management module initiates a task; extracts the corresponding key to the data source according to the task; extracts the corresponding value to the data source according to the data source, and processes the data processing to generate the intermediate data and the first signal, stores the intermediate data and the first signal; checks the first signal to complete the storage, and will check the detection of the first signal; and the detection of the first signal is stored, and the detection will be checked. The measurement information is sent to the management module. The invention can effectively feedback the result of intermediate data persistence, thereby ensuring the continuity of intermediate data.

【技术实现步骤摘要】
一种流计算中数据持久化的方法和系统
本专利技术涉及数据存储
,特别涉及一种流计算中数据持久化的方法和系统。
技术介绍
流计算可以很好的对大规模流动的数据进行实时的分析处理,因此,流计算可以广泛应用在社交网站、博客、电子邮件、视频、新闻、电话记录、传输数据、电子感应器之中。在利用流计算进行数据的分析处理时会产生大量的需要持久化的中间数据。目前,流计算中数据持久化的方法主要包括同步方式和异步方式,其中,同步方式在持久化中间数据时要等待操作的执行结果来保证数据持久化的事务性,该过程使得处理处于等待状态,因此影响数据分析处理的速度。现有技术中,流计算中数据持久化的方法中的异步方式的步骤包括:管理模块发起一个任务;处理模块,向所述数据源提取该任务对应的数据,并进行数据处理,生成中间数据和结果数据,两个存储模块分别对中间数据和结果数据进行存储。之后,管理模块再次发起新任务,这样,异步方式可以使得数据处理的速度不受影响,数据分析处理很快。在实施本专利技术实施例的过程中,专利技术人发现现有技术中至少存在以下问题:现有技术中,无法对中间数据持久化结果进行反馈,从而难以保证中间数据持久化的事务性。
技术实现思路
为了解决现有技术中的问题,本专利技术实施例提供了一种流计算中数据持久化的方法和系统。所述技术方案如下:第一方面,本专利技术实施例提供的一种流计算中数据持久化的方法,包括:管理模块发起一个任务;根据任务向数据源提取任务对应的key;根据key向数据源提取key对应的value,并进行数据处理由此生成中间数据和第一信号,存储中间数据和第一信号;检测第一信号是否完成存储,并将检测信息发送给管理模块。可选地,在生成中间数据和第一信号时,将第一信号插入到中间数据的尾部。可选地,检测第一信号是否完成存储,并将检测信息发送给管理模块,包括:通过轮询方式检测第一信号是否完成存储,当检测到第一信号完成存储时,则向管理模块发送第一成功应答。可选地,检测第一信号是否完成存储,并将检测信息发送给管理模块,还包括:当无法检测到第一信号时,判断检测的次数是否达到预设阈值;当检测的次数达到预设阈值时,则向管理模块发送失败应答,或者当检测的次数未达到预设阈值时,则继续检测第一信号是否完成存储。可选地,在根据任务向数据源提取任务对应的key之后,所述方法还包括:将执行列表中与任务对应的key进行比较,当key不包含在执行列表中时,将key加入执行列表中,并且根据执行列表中key向数据源提取执行列表中key对应的value,并进行数据处理由此生成中间数据和第一信号。可选地,所述方法还包括:当管理模块接收到第一成功应答或者失败应答,生成删除信号;根据删除信号移除第一信号以及执行列表中对应任务的key。可选地,所述方法还包括:将执行列表中与任务对应的key进行比较,当任务对应的key包含在执行列表中时,将key加入等待列表中;将等待列表中key与执行列表进行比较,当等待列表中key不包含在执行列表中时,将等待列表中key加入执行列表中。可选地,所述方法还包括:对key对应的value进行数据处理时,还生成结果数据;对结果数据进行存储,并向管理模块发送第二成功应答;管理模块根据第二成功应答生成跟踪任务,并下发跟踪任务;根据跟踪任务开始通过轮询方式检测第一信号是否完成存储。可选地,所述方法还包括:数据源根据业务类型将key存放在不同数据桶中;在根据任务向数据源提取任务对应的key时,根据key的业务类型向对应的数据桶中提取key。可选地,所述方法还包括:管理模块根据数据源中各个业务类型的key的数量生成任务策略,并根据任务策略发起任务。第二方面,本专利技术实施例提供的一种流计算中数据持久化的系统,包括:数据源,用于存储多个key以及每个key对应的value;管理模块,用于发起一个任务;协调模块,用于根据任务向数据源提取任务对应的key;处理模块,用于根据key向数据源提取key对应的value,并进行数据处理由此生成中间数据和第一信号;第一存储模块,用于存储中间数据和第一信号;检测模块,用于检测第一信号是否完成存储,并将检测信息发送给管理模块。可选地,所述处理模块,还用于:在生成中间数据和第一信号时,将第一信号插入到中间数据的尾部。可选地,检测模块,用于:通过轮询方式检测第一信号是否完成存储,当检测到第一信号完成存储时,则向管理模块发送第一成功应答。可选地,检测模块,还用于:当无法检测到第一信号时,判断检测的次数是否达到预设阈值;当检测的次数达到预设阈值时,则向管理模块发送失败应答,或者当检测的次数未达到预设阈值时,则继续检测第一信号是否完成存储。可选地,协调模块,还用于将执行列表中与任务对应的key进行比较,当key不包含在执行列表中时,将key加入执行列表中;处理模块,用于根据执行列表中key向数据源提取执行列表中key对应的value,并进行数据处理由此生成中间数据和第一信号。可选地,管理模块,用于接收到第一成功应答或者失败应答,并生成删除信号;第一存储模块,还用于根据删除信号移除第一信号;协调模块,还用于根据删除信号移除执行列表中对应任务的key。可选地,协调模块,还用于:将执行列表中与任务对应的key进行比较,当任务对应的key包含在执行列表中时,将key加入等待列表中;将等待列表中key与执行列表进行比较,当等待列表中key不包含在执行列表中时,将等待列表中key加入执行列表中。可选地,所述系统还包括第二存储模块;处理模块,还用于对key对应的value进行数据处理时,生成结果数据;第二存储模块,用于存储结果数据,并向管理模块发送第二成功应答;管理模块,还用于根据第二成功应答生成跟踪任务,并下发跟踪任务;检测模块,用于根据跟踪任务开始通过轮询方式检测第一信号是否完成存储。可选地,数据源,用于根据业务类型将key存放在不同数据桶中;协调模块,用于根据key的业务类型向对应的数据桶中提取key。可选地,管理模块,用于:根据数据源中各个业务类型的key的数量生成任务策略,并根据任务策略发起任务。本专利技术实施例提供的技术方案带来的有益效果是:本专利技术实施例提供的流计算中数据持久化的方法,通过管理模块发起一个任务;根据任务向数据源提取任务对应的key;根据key向数据源提取key对应的value,并进行数据处理由此生成中间数据和第一信号,存储中间数据和第一信号;检测第一信号是否完成存储,并将检测信息发送给管理模块。这样,可以有效地对中间数据持久化结果进行反馈,从而保证中间数据持久化的事务性。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术用户来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种流计算中数据持久化的方法的流程图;图2是本专利技术实施例提供的步骤400的流程图;图3是本专利技术实施例提供的另一种流计算中数据持久化的方法流程图;图4是本专利技术实施例提供的另一种流计算中数据持久化的方法流程图;图5是本专利技术实施例提供的另一种流计算中数据持久化的方法流程图;图6是本专利技术实施例提供的一种流计算中数据持久化的本文档来自技高网...

【技术保护点】
1.一种流计算中数据持久化的方法,其特征在于,所述方法包括:管理模块发起一个任务;根据所述任务向数据源提取所述任务对应的key;根据所述key向所述数据源提取所述key对应的value,并进行数据处理由此生成中间数据和第一信号,存储所述中间数据和所述第一信号;检测所述第一信号是否完成存储,并将所述检测信息发送给所述管理模块。

【技术特征摘要】
1.一种流计算中数据持久化的方法,其特征在于,所述方法包括:管理模块发起一个任务;根据所述任务向数据源提取所述任务对应的key;根据所述key向所述数据源提取所述key对应的value,并进行数据处理由此生成中间数据和第一信号,存储所述中间数据和所述第一信号;检测所述第一信号是否完成存储,并将所述检测信息发送给所述管理模块。2.根据权利要求1所述的方法,其特征在于,在生成中间数据和第一信号时,将所述第一信号插入到所述中间数据的尾部。3.根据权利要求1所述的方法,其特征在于,所述检测所述第一信号是否完成存储,并将所述检测信息发送给所述管理模块,包括:通过轮询方式检测所述第一信号是否完成存储,当检测到所述第一信号完成存储时,则向所述管理模块发送第一成功应答。4.根据权利要求3所述的方法,其特征在于,所述检测所述第一信号是否完成存储,并将所述检测信息发送给所述管理模块,还包括:当无法检测到所述第一信号时,判断检测的次数是否达到预设阈值;当检测的次数达到预设阈值时,则向所述管理模块发送失败应答,或者当检测的次数未达到预设阈值时,则继续检测所述第一信号是否完成存储。5.根据权利要求4所述的方法,其特征在于,在所述根据所述任务向数据源提取所述任务对应的key之后,所述方法还包括:将执行列表中与所述任务对应的key进行比较,当所述key不包含在所述执行列表中时,将所述key加入所述执行列表中,并且根据所述执行列表中key向所述数据源提取所述执行列表中key对应的value,并进行数据处理由此生成中间数据和第一信号。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:当所述管理模块接收到所述第一成功应答或者所述失败应答,生成删除信号;根据所述删除信号移除所述第一信号以及所述执行列表中对应所述任务的key。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:将执行列表中与所述任务对应的key进行比较,当所述任务对应的key包含在所述执行列表中时,将所述key加入等待列表中;将所述等待列表中key与执行列表进行比较,当所述等待列表中key不包含在所述执行列表中时,将所述等待列表中key加入所述执行列表中。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:对所述key对应的value进行数据处理时,还生成结果数据;对所述结果数据进行存储,并向所述管理模块发送第二成功应答;所述管理模块根据所述第二成功应答生成跟踪任务,并下发跟踪任务;根据所述跟踪任务开始通过轮询方式检测所述第一信号是否完成存储。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述数据源根据业务类型将key存放在不同数据桶中;在根据所述任务向所述数据源提取所述任务对应的key时,根据所述key的业务类型向对应的数据桶中提取所述key。10.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述管理模块根据所述数据源中各个业务类型的key的数量生成任务策略,并根据所述任务策略发起所述任务。11.一种流计算中数据持久化的系统,其特征在于,所述系统包...

【专利技术属性】
技术研发人员:俞智福刘华明
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

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

1