System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种系统迁移方法、装置、设备和存储介质制造方法及图纸_技高网

一种系统迁移方法、装置、设备和存储介质制造方法及图纸

技术编号:41255130 阅读:2 留言:0更新日期:2024-05-11 09:15
本申请涉及一种系统迁移方法、装置、设备和存储介质。该方法包括:在启动迁移任务之后,控制旧系统将历史数据同步到新系统;接收来自客户端的写请求;按照预设的梯度迁移规则,确定写请求在新系统和旧系统中命中的系统;控制写请求命中的系统,将增量数据同步给写请求未命中的系统;其中,在确定来自客户端的写请求仅能命中新系统时,将服务主系统从旧系统切换到新系统。通过本申请可以先同步历史数据,再分阶段、分比例的向新系统分流写请求,并在新系统和旧系统之间双向同步增量数据,实现了数据向新系统的平滑迁移,避免停机迁移造成的服务暂停问题,而且实现了数据在旧系统的备份,可以在新系统遇到问题时,迅速切换回旧系统。

【技术实现步骤摘要】

本申请涉及系统重构,尤其涉及一种系统迁移方法、装置、设备和存储介质


技术介绍

1、随着科技的快速发展,数据化时代已经来临,在各个领域都出现了大型系统,以满足人们的生活和工作需求。例如:网约车系统,金融服务系统等。在这些大型系统中包括大量的功能代码数据,配置数据以及数据库数据。

2、大型系统在出现性能瓶颈时,通常需要进行系统重构以适应新的技术要求和市场变化。传统的系统重构方法包括:构建新系统;在新系统构建完毕之后,停用旧系统;在旧系统停用期间,将旧系统中的数据同步到新系统;在数据同步全部完成之后,直接启用新系统。

3、目前,传统的系统重构方法无法实现系统零中断迁移。这是由于在旧系统运行过程中,会不断产生新的数据,即增量数据,所以为了避免在数据同步过程中遗漏增量数据,传统的系统重构方法需要中断服务,停用旧系统,而且中断时间短则一小时,长则一整天,在此期间用户无法使用系统,给用户带来了极大的不便。


技术实现思路

1、本申请提供了一种系统迁移方法、装置、设备和存储介质,以解决传统的系统重构方法无法实现系统零中断迁移的问题。

2、针对上述技术问题,本申请技术方案是通过如下实施例来解决的:

3、本申请实施例提供了一种系统迁移方法,包括:在启动迁移任务之后,控制旧系统将历史数据同步到新系统;其中,所述新系统是针对所述旧系统重新构建的系统;接收来自客户端的写请求;按照预设的梯度迁移规则,确定所述写请求在所述新系统和所述旧系统中命中的系统;其中,所述写请求命中的系统用于处理所述写请求并在其数据库中写入处理所述写请求产生的增量数据;控制所述写请求命中的系统,将所述增量数据同步给所述写请求未命中的系统;其中,在确定来自客户端的写请求仅能命中所述新系统时,将服务主系统从所述旧系统切换到所述新系统。

4、其中,所述按照预设的梯度迁移规则,确定所述写请求在所述新系统和所述旧系统中命中的系统,包括:确定所述新系统和所述旧系统的数据同步状态和系统运行状态;根据所述新系统和所述旧系统的数据同步状态和系统运行状态,确定所述迁移任务所在的梯度迁移阶段;其中,预先配置多个梯度迁移阶段并且为每个所述梯度迁移阶段对应设置一个流量迁移比例;在顺序接收写请求的过程中,根据所述迁移任务所在的梯度迁移阶段对应的流量迁移比例,选择所述流量迁移比例的写请求命中所述新系统,以便将所述流量迁移比例的写请求分流给所述新系统,将其余写请求传递给所述旧系统。

5、其中,所述根据所述新系统和所述旧系统的数据同步状态和系统运行状态,确定所述迁移任务所在的梯度迁移阶段,包括:如果所述新系统和所述旧系统的数据同步状态是从同步历史数据变化为同步增量数据,则确定所述迁移任务进入初始阶段;在所述迁移任务进入所述初始阶段并且达到预设时长后,针对所述新系统和所述旧系统执行数据层比对验证以及接口层比对验证;如果所述数据层比对验证和所述接口层比对验证都通过,并且,所述新系统和所述旧系统的系统运行状态为系统运行正常,则确定所述迁移任务进入第一阶段;在所述迁移任务进入所述第一阶段并且达到所述时长后,针对所述新系统和所述旧系统执行数据层比对验证以及接口层比对验证;如果所述数据层比对验证和所述接口层比对验证都通过,并且,所述新系统和所述旧系统的系统运行状态为系统运行正常,则确定所述迁移任务进入第二阶段;在所述迁移任务进入所述第二阶段并且达到所述时长后,针对所述新系统和所述旧系统执行数据层比对验证以及接口层比对验证;如果所述数据层比对验证和所述接口层比对验证都通过,并且,所述新系统和所述旧系统的系统运行状态为系统运行正常,则确定所述迁移任务进入最终阶段;其中,所述初始阶段、所述第一阶段、所述第二阶段和所述最终阶段按序对应不同的流量迁移比例并且对应的流量迁移比例依次增大;所述最终阶段对应的流量迁移比例为100%,来自客户端的写请求仅能命中所述新系统。

6、其中,针对所述新系统和所述旧系统执行数据层比对验证,包括:在开始执行数据层比对验证之后,每隔预设时间段,比较一次所述新系统中的数据和所述旧系统中的数据;如果每一次比较结果都为所述新系统中的数据和所述旧系统中的数据一致,则确定所述新系统和所述旧系统通过所述数据层比对验证;反之,则确定所述新系统和所述旧系统未通过所述数据层比对验证。

7、其中,针对所述新系统和所述旧系统执行接口层比对验证,包括:在开始执行接口层比对验证之后,获取所述旧系统的第一接口接收到的目标写请求以及所述旧系统针对所述目标写请求返回的第一响应消息;控制所述新系统的第二接口接收所述目标写请求,并且获取所述新系统针对所述目标写请求返回的第二响应消息;其中,所述第一接口和所述第二接口为相同类型的接口;比较所述第一响应消息和所述第二响应消息;如果所述第一响应消息和所述第二响应消息一致,则确定所述新系统和所述旧系统通过所述接口层比对验证;反之,则确定所述新系统和所述旧系统未通过所述接口层比对验证。

8、其中,所述控制所述写请求命中的系统,将所述增量数据同步给所述写请求未命中的系统,包括:分别在所述新系统和所述旧系统中启动同步线程;其中,所述同步线程在被触发之后用于将所在系统的数据同步给另一个系统;如果所述写请求命中的系统为所述新系统,则控制所述新系统根据所述写请求在其数据库中写入增量数据时触发所述同步线程,以便所述新系统通过所述同步线程将所述增量数据同步给所述旧系统;如果所述写请求命中的系统为所述旧系统,则控制所述旧系统根据所述写请求在其数据库中写入增量数据时触发所述同步线程,以便所述旧系统通过所述同步线程将所述增量数据同步给所述新系统。

9、其中,在所述确定来自客户端的写请求仅能命中所述新系统之后,所述方法还包括:如果监测到所述新系统出现系统故障,则将服务主系统从所述新系统切换回所述旧系统。

10、本申请实施例提供了一种系统迁移装置,包括:第一控制模块,用于在启动迁移任务之后,控制旧系统将历史数据同步到新系统;其中,所述新系统是针对所述旧系统重新构建的系统;接收模块,用于接收来自客户端的写请求;确定模块,用于按照预设的梯度迁移规则,确定所述写请求在所述新系统和所述旧系统中命中的系统;其中,所述写请求命中的系统用于处理所述写请求并在其数据库中写入处理所述写请求产生的增量数据;第二控制模块,用于控制所述写请求命中的系统,将所述增量数据同步给所述写请求未命中的系统;其中,在确定来自客户端的写请求仅能命中所述新系统时,将服务主系统从所述旧系统切换到所述新系统。

11、本申请实施例还提供了一种系统迁移设备,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述处理器被配置为:执行所述存储器中存储的系统迁移程序,以实现上述任一项所述的系统迁移方法。

12、本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计本文档来自技高网...

【技术保护点】

1.一种系统迁移方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述按照预设的梯度迁移规则,确定所述写请求在所述新系统和所述旧系统中命中的系统,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述新系统和所述旧系统的数据同步状态和系统运行状态,确定所述迁移任务所在的梯度迁移阶段,包括:

4.根据权利要求3所述的方法,其特征在于,针对所述新系统和所述旧系统执行数据层比对验证,包括:

5.根据权利要求3所述的方法,其特征在于,针对所述新系统和所述旧系统执行接口层比对验证,包括:

6.根据权利要求1所述的发,其特征在于,所述控制所述写请求命中的系统,将所述增量数据同步给所述写请求未命中的系统,包括:

7.根据权利要求1所述的方法,其特征在于,在所述确定来自客户端的写请求仅能命中所述新系统之后,所述方法还包括:

8.一种系统迁移装置,其特征在于,包括:

9.一种系统迁移设备,其特征在于,包括:至少一个通信接口;与所述至少一个通信接口相连接的至少一个总线;与所述至少一个总线相连接的至少一个处理器;与所述至少一个总线相连接的至少一个存储器,其中,所述处理器被配置为:执行所述存储器中存储的系统迁移程序,以实现权利要求1-7中任一项所述的系统迁移方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令被执行,以实现权利要求1-7中任一项所述的系统迁移方法。

...

【技术特征摘要】

1.一种系统迁移方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述按照预设的梯度迁移规则,确定所述写请求在所述新系统和所述旧系统中命中的系统,包括:

3.根据权利要求2所述的方法,其特征在于,所述根据所述新系统和所述旧系统的数据同步状态和系统运行状态,确定所述迁移任务所在的梯度迁移阶段,包括:

4.根据权利要求3所述的方法,其特征在于,针对所述新系统和所述旧系统执行数据层比对验证,包括:

5.根据权利要求3所述的方法,其特征在于,针对所述新系统和所述旧系统执行接口层比对验证,包括:

6.根据权利要求1所述的发,其特征在于,所述控制所述写请求命中的系统,将所述增量数据同步给所述写请求未命中的...

【专利技术属性】
技术研发人员:林建明谭亚文
申请(专利权)人:深圳萨摩耶数字科技有限公司
类型:发明
国别省市:

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

1