线上业务迁移校验方法及存储介质与流程

文档序号:36317955发布日期:2023-12-08 10:12阅读:49来源:国知局
线上业务迁移校验方法及存储介质与流程

本技术主要涉及大数据领域,具体涉及一种线上业务迁移校验方法及存储介质。


背景技术:

1、随着企业内部业务的不断拓展,离线计算任务对于计算资源的需求量剧烈的增加;与此同时,新技术不断更新迭代,计算引擎的切换与优化无可避免,缺乏一种行之有效的手段来对比评估线上业务实际数据计算准确性、性能变化的方法。

2、当前,业内普遍采用标准数据集来对性能及结果进行验证,最常用的是数据分析型基准测试(tpc-h)及tpc-ds测试;这些类型的测试方法基于ansi、db2、sqlserver等一系列标准以及模板,构建测试数据集、结果集以及测试sql,可以很好的进行静态数据对比、性能对比。

3、在大数据领域,使用的计算引擎如hive、spark、flink等均有特定于自身的语法特征,并不完全符合标准sql语法。对于线上灵活多变的实际业务而言,传统方法无法精准的验证计算引擎升级迭代后是否会影响业务的准确性;线上业务无法中断,且不能直接使用业务sql进行论证,否则潜在的异常可能导致业务数据被破坏。对于灵活的线上业务来说,传统测试方法便显得捉襟见肘。


技术实现思路

1、本技术提供一种线上业务迁移校验方法及存储介质,旨在解决现有技术下的线上业务迁移校验不准确、容易对业务数据造成损坏的问题。

2、第一方面,本技术提供一种线上业务迁移校验方法,应用于线上业务迁移校验系统,所述线上业务迁移校验系统包括测试系统,所述测试系统中包括多个不同的业务执行引擎;所述方法包括:

3、接收目标业务迁移的任务命令,所述业务迁移的任务命令中包括任务标识参数;

4、获取与所述任务标识参数对应的原始业务命令,所述原始业务命令中包括与所述任务标识参数对应的任务信息;

5、对所述原始业务命令进行处理,生成多个等价的第一业务命令,所述多个等价的第一业务命令执行的计算逻辑相同,且所述多个等价的第一业务命令对应的多个业务执行结果写入的目标库表不同;

6、控制预置的多个不同的业务执行引擎分别执行所述多个等价的第一业务命令,得到多个业务执行结果;

7、根据所述多个业务执行结果,对所述目标业务的迁移进行校验。

8、在一些可能的实施例中,所述线上业务迁移校验系统还包括调度中心;所述获取与所述任务标识参数对应的原始业务命令,所述原始业务命令中包括所述任务标识参数对应的任务信息,包括:

9、发送所述任务标识参数至所述调度中心;

10、在所述调度中心对所述任务标识参数校验成功后,接收来自所述调度中心的与所述任务标识参数对应的原始业务命令;

11、其中,所述原始业务命令中包括任务对应的任务信息。

12、在一些可能的实施例中,所述对所述原始业务命令进行处理,生成多个等价的第一业务命令,包括:

13、对所述原始业务命令进行常量替换和调度周期替换,生成第二业务命令;

14、对所述第二业务命令进行语法替换,生成多个等价的第一业务命令;

15、其中,所述多个等价的第一业务命令执行的计算逻辑相同,且所述多个等价的第一业务命令对应的多个业务执行结果写入的目标库表不同。

16、在一些可能的实施例中,所述原始业务命令中包括用户自定义的业务常量参数和业务调度周期;

17、所述对所述原始业务命令进行常量替换和调度周期替换,生成第二业务命令,包括:

18、将所述原始业务命令中,执行结果写入的初始存储位置替换为目标存储位置,得到第三业务命令;

19、根据所述业务常量参数和所述业务调度周期,对所述第三业务命令进行业务常量替换和业务调度周期替换,得到所述第二业务命令。

20、在一些可能的实施例中,所述控制预置的多个不同的业务执行引擎分别执行所述多个等价的第一业务命令,得到多个业务执行结果,包括:

21、对所述多个等价的第一业务命令进行封装,生成多个待执行任务;

22、控制预置的多个不同的业务执行引擎分别执行所述多个待执行任务,得到多个业务执行结果。

23、在一些可能的实施例中,所述对所述多个等价的第一业务命令进行封装,生成多个待执行任务,包括:

24、确定所述多个业务执行引擎中每个业务执行引擎对应的封装标准,得到多个封装标准;

25、利用所述多个封装标准,对所述多个等价的第一业务命令进行封装,得到多个执行参数,所述多个执行参数中的每个执行参数对应一个待执行任务;

26、其中,一个业务执行引擎对应一个执行参数,所述业务执行引擎利用所述执行参数执行任务;且所述多个执行参数以列表形式存在。

27、在一些可能的实施例中,所述控制预置的多个不同的业务执行引擎分别执行所述多个待执行任务,得到多个业务执行结果,包括:

28、以所述多个业务执行引擎中任意业务执行引擎为目标业务执行引擎,以所述多个执行参数中任意执行参数为目标执行参数,判断所述目标业务执行引擎与所述目标执行参数是否匹配;

29、若所述目标业务执行引擎与所述目标执行参数匹配,则利用所述目标业务执行引擎执行所述目标执行参数,得到所述目标执行参数对应的业务执行结果;

30、判断是否接收到与所述多个执行参数的数量对应的多个业务执行结果;

31、若接收到与所述多个执行参数的数量对应的多个业务执行结果,则确定所述多个待执行任务均被执行,得到所述多个业务执行结果。

32、在一些可能的实施例中,根据所述多个业务执行结果,对所述目标业务的迁移进行校验。包括:

33、判断所述任务标识参数中是否包括校验参数;

34、若所述任务标识参数中包括所述校验参数且所述校验参数为校验,则对所述多个业务执行结果进行对比,得到对比结果;

35、根据所述对比结果对目标业务的迁移进行校验。

36、在一些可能的实施例中,所述方法还包括:

37、若所述任务标识参数中包括所述校验参数且所述校验参数为不校验,则不对比所述多个业务执行结果;

38、若所述任务标识参数中不包括所述校验参数,则获取测试系统的配置文件,以根据所述测试系统的配置文件判断是否需要对比所述多个业务执行结果。

39、第二方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行如上任一项所述的线上业务迁移校验方法中的步骤。

40、本技术提供一种线上业务迁移校验方法及存储介质,利用任务标识参数识别并获取包括原始业务命令的任务信息,对任务信息进行处理以生成多个等价的第一业务命令,多个等价的第一业务命令执行的计算逻辑相同,且多个等价的第一业务命令对应的执行结果写入的目标库表不同;而多个不同的业务执行引擎分别执行不同的第一业务命令,得到多个业务执行结果;最终对比多个业务执行结果以对线上业务的迁移进行校验。本技术对初始的业务命令进行处理,得到多个适用于不同业务执行引擎的等价的第一业务命令,避免直接对初始业务命令的执行结果进行验证,以避免业务数据被损坏的可能性;而由于等价的第一业务命令执行计算逻辑相同,可以保证不同业务执行引擎计算过程的一致性。同时由于执行模块中可以包括多个不同的业务执行引擎,因此本技术提供的线上业务迁移校验方法可以拓展到更多的业务执行引擎。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1