流式计算系统中计算节点的故障处理技术方案

技术编号:15690726 阅读:146 留言:0更新日期:2017-06-24 03:21
本发明专利技术的目的是提供一种用于流式计算系统中的故障处理的方法、装置、计算节点和计算机程序产品。其中,在一个计算节点,记录来自上游计算节点的各原始数据的到达顺序;将所述各原始数据按照预定的周期进行持久化操作;当发生故障而重启后,按照所记录的到达顺序从经持久化操作的原始数据和/或所述上游计算节点恢复内存中的待计算数据,并将所恢复的待计算数据按照其之前的到达顺序进行重放和计算;将每条计算完毕的结果数据按照故障前上一持久化操作周期的结果数据的偏移量继续编码并发送至下一节点。与现有技术相比,本发明专利技术提供了一种在框架层实现的流式计算输出结果不重不丢的容错机制,可应对各种软硬件故障,保证输出结果的高准确性。

Fault handling of computing nodes in a streaming computing system

The object of the present invention is to provide a method, an apparatus, a computing node, and a computer program product for troubleshooting in a streaming computing system. Among them, the compute nodes in a, the original data records from the upstream of the compute nodes of the arrival order; the original data according to a predetermined period of persistent operation; when the failure and recovery after the restart, in accordance with the memory of the data to be calculated from the persistence operation of the original data and / or the upstream nodes arrival order records, and the recovery of data to be calculated and calculated according to the playback before arrival order; each calculated results according to the data before the failure of a persistent operating cycle and the number of results to offset according to the encoding and sent to the next node. Compared with the prior art, the invention provides a fault-tolerant mechanism for realizing the flow calculation in the frame layer without losing weight without output, and can cope with various hardware and software faults and guarantee the high accuracy of the output results.

【技术实现步骤摘要】
流式计算系统中计算节点的故障处理
本专利技术涉及流式计算
,尤其涉及一种用于流式计算系统中的故障处理技术。
技术介绍
目前而言,常见流式计算系统提供计算结果到传输系统三种可选语义:1)至多一次(atmostonce):保证计算结果在计算过程中遇到节点故障后,计算恢复前后结算结果至多发送到传输系统一次。2)至少一次(atleastonce):保证计算结果在计算过程中遇到节点故障后,计算恢复前后结算结果至少发送到传输系统一次。例如Strom。3)受限的严格一次(exactlyonce):依赖计算结果发布的存储支持update幂等功能,且update依据的key一般由业务方指定,实现计算结果直接记入存储,不再支持结果继续进行流式计算。例如Flink使用Cassandra作为存储。至多一次(atmostonce)或者至少一次(atleastonce)只是严格一次(exactlyonce)某一个方面的实现保证。用户使用中,只能选择不重或者不丢来折中业务计算需求。受限的严格一次(exactlyonce)语义支持计算结果发布update幂等存储,但是不支持后续计算结果继续流式计算分析等复杂a本文档来自技高网...
流式计算系统中计算节点的故障处理

【技术保护点】
一种用于流式计算系统中的故障处理方法,其中,在一个计算节点,该方法包括以下步骤:‑记录来自上游计算节点的各原始数据的到达顺序;‑将所述各原始数据按照预定的周期进行持久化操作;‑当发生故障而重启后,按照所记录的到达顺序从经持久化操作的原始数据和/或所述上游计算节点恢复内存中的待计算数据,并将所恢复的待计算数据按照其之前的到达顺序进行重放和计算;‑将每条计算完毕的结果数据按照故障前上一持久化操作周期的结果数据的偏移量继续编码并发送至下一节点。

【技术特征摘要】
1.一种用于流式计算系统中的故障处理方法,其中,在一个计算节点,该方法包括以下步骤:-记录来自上游计算节点的各原始数据的到达顺序;-将所述各原始数据按照预定的周期进行持久化操作;-当发生故障而重启后,按照所记录的到达顺序从经持久化操作的原始数据和/或所述上游计算节点恢复内存中的待计算数据,并将所恢复的待计算数据按照其之前的到达顺序进行重放和计算;-将每条计算完毕的结果数据按照故障前上一持久化操作周期的结果数据的偏移量继续编码并发送至下一节点。2.根据权利要求1所述的方法,其中,当发生故障而重启后,首先获取上一持久化操作周期的原始数据,并比较所获取的原始数据的到达顺序与所记录的所述各原始数据的到达顺序,以确定是否尚有丢失数据,如是,从所述丢失数据所来自的上游计算节点获取所述丢失数据,从而恢复故障前内存中的待计算数据。3.根据权利要求1所述的方法,其中,根据故障前上一持久化操作周期的结果数据的偏移量进度信息,确定重启后第一条计算完毕的结果数据的编码偏移量。4.根据权利要求1至3中任一项所述的方法,其中,所述各原始数据的持久化操作通过checkpoint机制来按照预定的周期执行。5.根据权利要求4所述的方法,其中,所述各原始数据通过checkpoint机制被存储于外部的分布式存储系统,从而实现持久化操作。6.根据权利要求4所述的方法,其中,当发生故障而重启后,首先从checkpoint点恢复上一周期的原始数据,并比较所获取的原始数据的到达顺序与所记录的所述各原始数据的到达顺序,以确定是否尚有丢失数据,如是,从所述丢失数据所来自的上游计算节点获取所述丢失数据,从而恢复故障前内存中的待计算数据。7.根据权利要求4所述的方法,其中,当发生故障而重启后,从checkpoint点恢复上一周期的结果数据的偏移量进度信息。8.根据权利要求1所述的方法,其中,所述下一节点包括当前计算节点的下级计算节点或外部传输系统。9.一种用于流式计算系统中的故障处理装置,其中,故障处理装置被布置于所述流式计算系统中的一个计算节点中,该故障处理装置包括:用于记录来自上游计算节点的各原始数据的到达顺序的装置;用于将所述各原始数据按照预定的周期进行持久化操作的装置;用于当发生故障而重启后,按照所记录的到达顺序...

【专利技术属性】
技术研发人员:石然程怡张建伟高伟康
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1