[发明专利]一种流任务实现方法、装置及电子设备有效
申请号: | 201810010283.6 | 申请日: | 2018-01-05 |
公开(公告)号: | CN108228328B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 顾亮亮 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;马敬 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 任务 实现 方法 装置 电子设备 | ||
本发明实施例提供了一种流任务实现方法、装置及电子设备,所述方法包括:在多个机房预先部署的逻辑相同的多个流任务中选择一个流任务作为master流任务,并将所述多个流任务中除所述master流任务之外的其他流任务作为follower流任务;控制所述master流任务对应的机房执行所述master流任务;当检测到所述master流任务在执行过程中出现异常时,在所述follower流任务中选择一个流任务作为当前master流任务;并控制所述当前master流任务对应的机房执行所述当前master流任务。本发明实施例可以在运行流任务的集群出现故障时,保证流任务的正常运行。
技术领域
本发明涉及计算机技术领域,特别是涉及一种流任务实现方法、装置及电子设备。
背景技术
分布式实时流任务框架,例如Spark Streaming、Flink、Storm等均可实现大规模的实时流数据处理。在实现实时流数据处理时,当某台机器或者某几台机器出现错误宕机后,分布式实时流任务框架会将出现错误的机器上的任务重新调度到正常的机器上运行,以保证流任务的正常运行。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:现有的分布式实时流任务框架无法处理运行流任务的整个集群不可用的情况,例如:1、运行流任务的集群出现异常或者需要停机维护;2.流任务框本身错误导致运行流任务的集群不可用;3.运行流任务的集群所在的机房网络异常等。当运行流任务的集群出现这些问题时,分布式实时流任务框架是不可用的。
发明内容
本发明实施例的目的在于提供一种流任务实现方法、装置及电子设备,以在运行流任务的集群出现故障时,保证流任务的正常运行。具体技术方案如下:
为达到上述目的,第一方面,本发明实施例公开了一种流任务实现方法,该方法包括:
在多个机房预先部署的逻辑相同的多个流任务中选择一个流任务作为master流任务,并将所述多个流任务中除所述master流任务之外的其他流任务作为follower流任务;
控制所述master流任务对应的机房执行所述master流任务;
当检测到所述master流任务在执行过程中出现异常时,在所述follower流任务中选择一个流任务作为当前master流任务;
控制所述当前master流任务对应的机房执行所述当前master流任务。
可选地,上述方法还包括:
在所述master流任务对应的机房执行所述master流任务过程中,控制所述master流任务对应的机房按照预设时间间隔将所述master流任务的执行状态存储至外部数据库或文件系统;
所述控制所述当前master流任务对应的机房执行所述当前master流任务,包括:
控制所述当前master流任务对应的机房从所述外部数据库或文件系统读取所述master流任务的执行状态,并将所述当前master流任务的状态恢复至所述执行状态,执行状态恢复后的所述当前master流任务。
可选地,上述方法还包括:
在所述当前master流任务对应的机房执行所述当前master流任务过程中,控制所述当前master流任务对应的机房按照预设时间间隔将所述当前master流任务的执行状态存储至外部数据库或文件系统。
可选地,所述在所述follower流任务中选择一个流任务作为当前master流任务的步骤之后,上述方法还包括:
当检测到所述master流任务恢复正常后,将恢复正常的所述master流任务作为follower流任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810010283.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种任务的处理方法和装置
- 下一篇:一种分组调度系统