The object of the present invention is to provide a fault-tolerant method and device in distributed processing. The method opens data persistence for jobs of error-prone type, that is, jobs satisfying the error-prone type are restored from the backup database, and jobs of the error-prone type are not satisfied, so that the whole job can run again, thereby minimizing the additional cost of fault-tolerance. In addition, the present invention only makes Instance fault-tolerant for jobs whose running time exceeds threshold T, and if jobs whose running time does not exceed threshold T, runs the whole job again, thereby further minimizing the additional cost of fault-tolerance.
【技术实现步骤摘要】
分布式处理中的容错方法及设备
本专利技术涉及计算机领域,尤其涉及一种分布式处理中的容错方法及设备。
技术介绍
在分布式系统中的在线服务(OnlineJob),负责处理用户提交的作业(Job)。在线服务(OnlineJob)是指为作业(Job)运行加速的实时计算框架,在线服务以服务的形态启动于生产集群,服务的进程常驻在服务器上,采用网络数据洗牌(NetworkShuffle)和纯内存计算。一个作业(Job)包含多个子任务(Task),一个Task包含若干个实例(Instance),每个Instance运行在一个节点上。Instance是作业(Job)中的最小划分单元。作业(Job)执行过程中,每一个实例(Instance)都需要将其运行产生的数据通过网络发送到其下游的所有实例(Instance),然后下游实例根据从上游实例接收的数据进一步得到该下游实例运行产生的数据,并将该下游实例运行产生的数据再通过网络发送到其再下游实例,这个过程即为网络数据洗牌(NetworkShuffle)。在进行网络数据洗牌(NetworkShuffle)时,每一个Instance相对于其上游Instance都是读端(Reader)的角色;在进行网络数据洗牌(NetworkShuffle)时,每一个Instance相对于其下游Instance都是写端(Writer)的角色。分布式系统的在线服务上所运行的Instance,在运行时数据都保持在内存中,各个Instance间的网络数据洗牌(NetworkShuffle)都通过内存直接在网络上传输,然而,由于系统宕机、网络不通、内存出错等等 ...
【技术保护点】
1.一种分布式系统中的容错处理方法,其中,该方法包括:确定分布式系统中的实例所属的作业的类型为预设的易出错类型;将所述实例运行产生的数据块发送到所述实例的下游实例,以及将所述数据块发送到备份数据库中。
【技术特征摘要】
1.一种分布式系统中的容错处理方法,其中,该方法包括:确定分布式系统中的实例所属的作业的类型为预设的易出错类型;将所述实例运行产生的数据块发送到所述实例的下游实例,以及将所述数据块发送到备份数据库中。2.根据权利要求1所述的方法,其中,还包括:所述实例出错时,从所述备份数据库恢复所述实例。3.根据权利要求2所述的方法,其中,所述实例出错时,从所述备份数据库恢复所述实例,包括:所述实例出错时,判断所述实例所属的作业已经运行的时间是否大于作业运行时间阈值,若大于作业运行时间阈值,则从所述备份数据库恢复所述实例。4.根据权利要求3所述的方法,其中,所述作业运行时间阈值根据重新运行所述实例所属的作业与从所述备份数据库恢复所述实例的所浪费的资源值之和的最小值确定。5.根据权利要求3所述的方法,其中,所述实例出错时,判断所述实例所属的作业已经运行的时间是否大于作业运行时间阈值之后,还包括:若小于等于作业运行时间阈值,重新运行所述实例所属的作业。6.根据权利要求3所述的方法,其中,当所述实例作为下游实例时,所述实例出错时,从所述备份数据库恢复所述实例,包括:所述实例出错时,重启所述实例,将重启后的实例的更新地址发送至其上游实例;判断所述实例已经运行的时间是否大于实例运行时间阈值,若小于等于实例运行时间阈值,则阻塞所述实例的上游实例基于所述更新地址并通过网络发送数据块,并阻塞所述实例的上游实例将所述数据块存储到备份数据库中;所述重启后的实例从所述备份数据库中拉取其上游实例的数据块,拉取完毕后停止所述阻塞。7.根据权利要求6所述的方法,其中,判断所述实例已经运行的时间是否大于实例运行时间阈值之后,还包括:若大于实例运行时间阈值,所述实例不断从所述备份数据库中拉取其上游实例的数据块,直到满足结束条件,所述结束条件包括拉取完毕所述备份数据库中的所有数据块,或所述实例收到其上游实例发送的数据块在顺序上为当前已经从所述备份数据库中拉取的最后一个数据块的下一个数据块;同时所述实例从网络接收其上游实例发送来的数据块,并判断接收到的数据块在顺序上,是否是当前已经从所述备份数据库中拉取的最后一个数据块的下一个数据块,若否,则将该接收到的数据块丢弃,若是,则接受该数据块,并停止从所述备份数据库中拉取其上游实例的数据块。8.根据权利要求7所述的方法,其中,当所述实例作为上游实例时,所述实例出错时,从所述备份数据库恢复所述实例,包括:所述实例查询由其发送的数据块中,其下游实例已经接受的最后一个数据块;所述实例同时作为下游实...
【专利技术属性】
技术研发人员:王博,陶阳宇,陆一峰,吕志强,李超,吴永军,李治,刘耀莉,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。