CN110597609A - 一种集群迁移与自动恢复方法及系统 - Google Patents
一种集群迁移与自动恢复方法及系统 Download PDFInfo
- Publication number
- CN110597609A CN110597609A CN201910877833.9A CN201910877833A CN110597609A CN 110597609 A CN110597609 A CN 110597609A CN 201910877833 A CN201910877833 A CN 201910877833A CN 110597609 A CN110597609 A CN 110597609A
- Authority
- CN
- China
- Prior art keywords
- migration
- task
- state
- tasks
- cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
Abstract
本发明公开了一种集群迁移与自动恢复方法及系统,所述方法包括如下步骤:选定需要迁移和恢复的集群与任务后发起集群迁移的请求;接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。所述方法具有操作简单、状态可追踪、可打破资源瓶颈且能恢复异常等优点。
Description
技术领域
本发明涉及一种信息检索及其数据库结构技术领域,尤其涉及一种集群迁移与自动恢复方法及系统。
背景技术
随着移动通信与互联网技术的蓬勃发展,越来越多的人开始由信息的接受者开始转变为传播者乃至创造者,每个人每天都在创造大量的数据。现代的互联网公司为了处理这些达到TB甚至PB级别的数据,往往需要使用大量的服务器资源来这些数据进行清洗、提炼。由于单一的高性能服务器价格昂贵,出于成本考虑,企业通常采用在多台一般性能的服务器搭建集群的方式,来进行统一的资源管理。但是集群的使用在简化了资源管理的同时也带来了新的问题与挑战:
资源瓶颈:虽然理论上来说集群拥有的资源可以是没有限制的,但是通常需要在开始创建的时候就需要指定需要使用的资源,但是随着时间的推移,在集群上面运行的任务越来越多,最后往往会出现集群资源不足的情况。如何在集群缺乏资源且无法扩容的情况下去启动新的任务成了必须要面对的问题。
维护成本:集群的使用在很大程度上简化了我们的资源管理,不必关心与底层服务器资源的交互。但是集群本身作为一个应用,依然有着自己的生命周期,我们需要在集群遇到极端异常情况下异常终止时,能够在最短的时间内重新运行并且恢复到重启前的状态。
发明内容
本发明所要解决的技术问题是如何提供一种操作简单、状态可追踪、可打破资源瓶颈且能恢复异常的集群迁移与自动恢复方法。
为解决上述技术问题,本发明所采取的技术方案是:一种集群迁移与自动恢复方法,其特征在于包括如下步骤:
选定需要迁移和恢复的集群与任务后发起集群迁移的请求;
接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;
将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。
进一步的技术方案在于,所述方法还包括:迁移完成以后,通过后台查看所有任务的迁移记录以及最终的迁移状态,如果任务迁移失败,根据需要对任务进行重新迁移或者回滚操作。
进一步的技术方案在于,所述依次根据任务的原状态继续对应处理的方法如下:
如果任务状态为运行中,首先将任务在原集群中进行取消,取消成功则进入下一步操作;取消失败则就此结束,任务归入迁移失败状态;
取消成功以后,任务将与失败状态和未知状态的任务一起开始在新集群中进行启动,启动成功则将状态表更改为迁移启动成功->迁移成功状态;启动失败则进入迁移启动失败->迁移失败状态;
所有处于准备迁移、迁移启动成功、迁移启动失败、迁移取消失败的任务统称为处于迁移中状态,如果迁移时遇到该状态的任务则代表该任务迁移未完成,不进行任何操作。
本发明还公开了一种集群迁移与自动恢复系统,其特征在于包括:
迁移请求模块:用于选定需要迁移和恢复的集群与任务后发起集群迁移的请求;
请求过滤模块:接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;
集群迁移与恢复模块:将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。
进一步的技术方案在于,所述系统还包括:
后台处理模块:用于迁移完成以后,查看所有任务的迁移记录以及最终的迁移状态,如果任务迁移失败,根据需要对任务进行重新迁移或者回滚操作。
进一步的技术方案在于,所述集群迁移与恢复模块包括:
任务取消子模块:用于判断任务状态是否在运行中,如果任务状态为运行中,首先将任务在原集群中进行取消,取消成功则进入下一步操作;取消失败则就此结束,任务归入迁移失败状态;
任务启动子模块:当任务取消成功以后,任务将与失败状态和未知状态的任务一起开始在新集群中进行启动,启动成功则将状态表更改为迁移启动成功->迁移成功状态;启动失败则进入迁移启动失败->迁移失败状态;
任务状态表达子模块:所有处于准备迁移、迁移启动成功、迁移启动失败、迁移取消失败的任务统称为处于迁移中状态,如果迁移时遇到该状态的任务则代表该任务迁移未完成,不进行任何操作。
采用上述技术方案所产生的有益效果在于:1)操作简化:维护人员无需关心每个任务具体的状态,只需要选择相关的任务与状态以后由系统自动进行迁移操作。2)状态可追踪:通过使用状态机,使得可以在迁移结束以后直观的看到每个任务当前的迁移状态,对于异常的任务可以直接进行再次迁移。3)打破资源瓶颈:当原集群资源不足时,可随时启动新的集群,将任务全部转移到新集群中。4)异常恢复:当集群遇到极端异常情况死亡时,可以在最快的时间内将任务在新集群中恢复到原来的状态,把损失降到最低。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1是本发明实施例所述方法的流程图;
图2是本发明实施例所述系统的原理框图;
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
总体的,本发明实施例公开了一种集群迁移与自动恢复方法,所述方法包括如下步骤:
当集群资源不足或者监测到集群状态异常且无法重启时,创建新的集群资源,准备开始将任务迁移到新的集群中。
在页面上选择需要进行迁移的集群或任务以及目标集群,开发人员可通过指定任务状态来筛选出需要迁移的任务。
正式开始迁移以后,系统会首先获取原来的任务状态(已经终止的集群不会获取),对任务进行初始过滤,决定要迁移的任务列表。而后根据任务的不同状态进行相应的迁移操作,比如处于RUNNING状态的任务会首先在原集群中进行取消操作,而后在新集群中进行恢复;而对于已经FAIL或者原集群死亡的任务,会直接在原集群中进行重启。任务取消或者异常终止时,我们会保存任务运行的当前状态,确保任务在新集群中重启时能够恢复。除此之外,集群迁移过程中所有任务的迁移全部由状态机进行管理,保证当任务迁移过程中遇到异常情况时,能够追踪到任务当前状态并且能够进行回滚或重试等操作。
集群迁移结束后,可以查看当前迁移批次迁移的任务列表以及对应的任务状态,对于迁移失败的任务可以根据需求直接进行再次迁移或者将任务状态重置。
系统内部维护了一个当前运行中的集群资源列表,系统会定时去监测每个集群的健康情况,当集群资源即将不足时会进行告警,通知对应维护人员进行处理。当监测到某个集群已死亡,无法进行通信时,系统会即刻开始监测剩余集群的健康情况与资源,当剩余集群满足条件时,会自动开始进行集群迁移动作,将异常集群上运行的所有任务全部迁移到健康的集群上面,确保受影响的任务能够第一时间在新集群中恢复原来的状态并运行。如果剩余集群无法承载恢复任务的需要时,会马上进行告警,通过相关人员手工进行迁移处理。
进一步的,如图1所述,所述方法包括如下步骤:
选定需要迁移和恢复的集群与任务后发起集群迁移的请求;
接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;
所述依次根据任务的原状态继续对应处理的方法如下:
如果任务状态为运行中,首先将任务在原集群中进行取消,取消成功则进入下一步操作;取消失败则就此结束,任务归入迁移失败状态;
取消成功以后,任务将与失败状态和未知状态的任务一起开始在新集群中进行启动,启动成功则将状态表更改为迁移启动成功->迁移成功状态;启动失败则进入迁移启动失败->迁移失败状态;
所有处于准备迁移、迁移启动成功、迁移启动失败、迁移取消失败的任务统称为处于迁移中状态,如果迁移时遇到该状态的任务则代表该任务迁移未完成,不进行任何操作。
将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。
迁移完成以后,通过后台查看所有任务的迁移记录以及最终的迁移状态,如果任务迁移失败,根据需要对任务进行重新迁移或者回滚操作。
如图2所示,本发明实施例还公开了一种集群迁移与自动恢复系统,包括:
迁移请求模块:用于选定需要迁移和恢复的集群与任务后发起集群迁移的请求;
请求过滤模块:接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;
所述集群迁移与恢复模块包括:
任务取消子模块:用于判断任务状态是否在运行中,如果任务状态为运行中,首先将任务在原集群中进行取消,取消成功则进入下一步操作;取消失败则就此结束,任务归入迁移失败状态;
任务启动子模块:当任务取消成功以后,任务将与失败状态和未知状态的任务一起开始在新集群中进行启动,启动成功则将状态表更改为迁移启动成功->迁移成功状态;启动失败则进入迁移启动失败->迁移失败状态;
任务状态表达子模块:所有处于准备迁移、迁移启动成功、迁移启动失败、迁移取消失败的任务统称为处于迁移中状态,如果迁移时遇到该状态的任务则代表该任务迁移未完成,不进行任何操作。
集群迁移与恢复模块:将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。
后台处理模块:用于迁移完成以后,查看所有任务的迁移记录以及最终的迁移状态,如果任务迁移失败,根据需要对任务进行重新迁移或者回滚操作。
所述方法和系统具有如下优点:1)操作简化:维护人员无需关心每个任务具体的状态,只需要选择相关的任务与状态以后由系统自动进行迁移操作。2)状态可追踪:通过使用状态机,使得可以在迁移结束以后直观的看到每个任务当前的迁移状态,对于异常的任务可以直接进行再次迁移。3)打破资源瓶颈:当原集群资源不足时,可随时启动新的集群,将任务全部转移到新集群中。4)异常恢复:当集群遇到极端异常情况死亡时,可以在最快的时间内将任务在新集群中恢复到原来的状态,把损失降到最低。
Claims (6)
1.一种集群迁移与自动恢复方法,其特征在于包括如下步骤:
选定需要迁移和恢复的集群与任务后发起集群迁移的请求;
接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;
将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。
2.如权利要求1所述的集群迁移与自动恢复方法,其特征在于:所述方法还包括:迁移完成以后,通过后台查看所有任务的迁移记录以及最终的迁移状态,如果任务迁移失败,根据需要对任务进行重新迁移或者回滚操作。
3.如权利要求1所述的集群迁移与自动恢复方法,其特征在于:所述依次根据任务的原状态继续对应处理的方法如下:
如果任务状态为运行中,首先将任务在原集群中进行取消,取消成功则进入下一步操作;取消失败则就此结束,任务归入迁移失败状态;
取消成功以后,任务将与失败状态和未知状态的任务一起开始在新集群中进行启动,启动成功则将状态表更改为迁移启动成功->迁移成功状态;启动失败则进入迁移启动失败->迁移失败状态;
所有处于准备迁移、迁移启动成功、迁移启动失败、迁移取消失败的任务统称为处于迁移中状态,如果迁移时遇到该状态的任务则代表该任务迁移未完成,不进行任何操作。
4.一种集群迁移与自动恢复系统,其特征在于包括:
迁移请求模块:用于选定需要迁移和恢复的集群与任务后发起集群迁移的请求;
请求过滤模块:接受到请求以后,首先会汇总出集群里所有的任务,并根据任务状态对任务列表进行过滤,得到本次需要进行迁移的任务列表,并将过滤失败的任务返回;
集群迁移与恢复模块:将所有任务的状态修改为准备迁移中,而后依次根据任务的原状态继续对应处理。
5.如权利要求4所述的集群迁移与自动恢复系统,其特征在于,所述系统还包括:
后台处理模块:用于迁移完成以后,查看所有任务的迁移记录以及最终的迁移状态,如果任务迁移失败,根据需要对任务进行重新迁移或者回滚操作。
6.如权利要求4所述的集群迁移与自动恢复系统,其特征在于,所述集群迁移与恢复模块包括:
任务取消子模块:用于判断任务状态是否在运行中,如果任务状态为运行中,首先将任务在原集群中进行取消,取消成功则进入下一步操作;取消失败则就此结束,任务归入迁移失败状态;
任务启动子模块:当任务取消成功以后,任务将与失败状态和未知状态的任务一起开始在新集群中进行启动,启动成功则将状态表更改为迁移启动成功->迁移成功状态;启动失败则进入迁移启动失败->迁移失败状态;
任务状态表达子模块:所有处于准备迁移、迁移启动成功、迁移启动失败、迁移取消失败的任务统称为处于迁移中状态,如果迁移时遇到该状态的任务则代表该任务迁移未完成,不进行任何操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910877833.9A CN110597609A (zh) | 2019-09-17 | 2019-09-17 | 一种集群迁移与自动恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910877833.9A CN110597609A (zh) | 2019-09-17 | 2019-09-17 | 一种集群迁移与自动恢复方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110597609A true CN110597609A (zh) | 2019-12-20 |
Family
ID=68860296
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910877833.9A Pending CN110597609A (zh) | 2019-09-17 | 2019-09-17 | 一种集群迁移与自动恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597609A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258954A (zh) * | 2020-01-10 | 2020-06-09 | 北京百度网讯科技有限公司 | 数据迁移方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495906A (zh) * | 2011-12-23 | 2012-06-13 | 天津神舟通用数据技术有限公司 | 一种实现断点续传的增量式数据迁移方法 |
CN103677973A (zh) * | 2013-09-01 | 2014-03-26 | 西安重装渭南光电科技有限公司 | 一种分布式多任务调度管理系统 |
US20140173623A1 (en) * | 2012-12-17 | 2014-06-19 | Mediatek Inc. | Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium |
CN107621973A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种跨集群的任务调度方法及装置 |
CN108664496A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
US20190026290A1 (en) * | 2016-03-22 | 2019-01-24 | Alibaba Group Holding Limited | Optimization method, evaluation method, and processing method and apparatuses for data migration |
CN109376010A (zh) * | 2018-09-28 | 2019-02-22 | 上海思询信息科技有限公司 | 一种基于Openstack实现跨集群资源迁移的方法 |
CN109426550A (zh) * | 2017-08-23 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 资源的调度方法及设备 |
-
2019
- 2019-09-17 CN CN201910877833.9A patent/CN110597609A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102495906A (zh) * | 2011-12-23 | 2012-06-13 | 天津神舟通用数据技术有限公司 | 一种实现断点续传的增量式数据迁移方法 |
US20140173623A1 (en) * | 2012-12-17 | 2014-06-19 | Mediatek Inc. | Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium |
CN103677973A (zh) * | 2013-09-01 | 2014-03-26 | 西安重装渭南光电科技有限公司 | 一种分布式多任务调度管理系统 |
US20190026290A1 (en) * | 2016-03-22 | 2019-01-24 | Alibaba Group Holding Limited | Optimization method, evaluation method, and processing method and apparatuses for data migration |
CN107621973A (zh) * | 2016-07-13 | 2018-01-23 | 阿里巴巴集团控股有限公司 | 一种跨集群的任务调度方法及装置 |
CN108664496A (zh) * | 2017-03-29 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 数据迁移方法及装置 |
CN109426550A (zh) * | 2017-08-23 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 资源的调度方法及设备 |
CN109376010A (zh) * | 2018-09-28 | 2019-02-22 | 上海思询信息科技有限公司 | 一种基于Openstack实现跨集群资源迁移的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111258954A (zh) * | 2020-01-10 | 2020-06-09 | 北京百度网讯科技有限公司 | 数据迁移方法、装置、设备及存储介质 |
CN111258954B (zh) * | 2020-01-10 | 2023-12-05 | 北京百度网讯科技有限公司 | 数据迁移方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152382B2 (en) | Method and system for monitoring virtual machine cluster | |
CN102681917B (zh) | 一种操作系统及其修复方法 | |
CN111953566B (zh) | 一种基于分布式故障监控的方法和虚拟机高可用系统 | |
CN109656742B (zh) | 一种节点异常处理方法、装置及存储介质 | |
CN108768758A (zh) | 分布式存储系统在线升级方法、装置、设备及存储介质 | |
WO2022036901A1 (zh) | 一种Redis副本集的实现方法及装置 | |
CN111459770A (zh) | 服务器运行状态的告警方法、装置、服务器及存储介质 | |
CN107480014A (zh) | 一种高可用设备切换方法及装置 | |
CN110618864A (zh) | 一种中断任务恢复方法及装置 | |
CN103092724A (zh) | 用于嵌入式电力终端的系统自恢复方法 | |
CN105589756A (zh) | 批处理集群系统以及方法 | |
US7366949B2 (en) | Distributed software application software component recovery in an ordered sequence | |
CN109558209B (zh) | 一种用于虚拟机的监控方法 | |
CN110597609A (zh) | 一种集群迁移与自动恢复方法及系统 | |
CN107590647A (zh) | 船舶管理系统的伺服监管系统 | |
CN114675998A (zh) | 一种监控定时快照任务的方法、装置、设备及介质 | |
CN104683131A (zh) | 一种应用级虚拟化高可靠性方法及装置 | |
CN112650565A (zh) | 一种应用进程恢复方法及装置 | |
CN105677515A (zh) | 一种数据库联机备份方法及系统 | |
KR100832890B1 (ko) | 정보통신 시스템의 프로세스 장애 감시방법 및 복구방법 | |
CN111258823A (zh) | 一种主从服务器的切换方法及系统 | |
JP5515286B2 (ja) | 分散トランザクション処理システム、サーバ装置及びそれらに用いる分散トランザクションの障害復旧方法 | |
CN111177116B (zh) | 一种数据库智能管理平台及其管理方法 | |
CN114785673B (zh) | 主备倒换时获取异常信息的方法和装置 | |
CN107707402B (zh) | 一种分布式系统中服务仲裁的管理系统及其管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |