一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于调度配置生成血缘关系实现自动跑批的测试方法与流程

2021-10-24 05:32:00 来源:中国专利 TAG:测试 软件 调度 血缘关系 生成

1.本发明属于软件开发和软件测试领域,尤其涉及一种基于调度配置生成血缘关系实现自 动跑批的测试方法。


背景技术:

2.企业建立大数据系统,利用大数据用以分析决策。需先搭建数据仓库,用以汇总多个数 据源数据,并进行分层etl加工处理,最终获得目标数据,用于各个业务场景中。
3.其中etl加工处理常常涉及依赖关系,数据加工过程中依赖的输入即为对应血缘,通过 层层之间依赖,或同层依赖形成全部血缘关系。
4.由于涉及血缘依赖复杂,故程序执行需要按依赖顺序执行,故需要调度系统统一进行任 务配置,通过调度系统统一调配任务执行。
5.而现有调度系统底层任务执行方式大部分是时间触发,在测试过程会因时间触发受限, 不能在任何时间支持测试,若临时测试,需要手工修改所有任务触发时间。造成测试过程执 行跑批时间长,操作繁琐,效率低。


技术实现要素:

6.本发明提供了一种基于调度配置生成血缘关系实现自动跑批的测试方法,拟解决现有技 术中提到的测试过程执行跑批时间长,操作繁琐,效率低的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.一种基于调度配置生成血缘关系实现自动跑批的测试方法,包括以下步骤:
9.步骤1:获取当前生产环境实际调度配置内容;
10.步骤2:根据线上频率获取配置变更频率;并根据配置变更频率确定同步频率;
11.步骤3:根据配置同步频率将生产调度配置内容同步至测试环境;
12.步骤4:根据步骤3同步后的调度配置内容生成血缘关系;
13.步骤5:根据血缘关系封装自动跑批程序;
14.步骤6:调用端程序调起自动跑批程序执行;
15.步骤7:对跑批后的结果执行测试检核;
16.步骤8:对步骤7的执行结果及问题修复结果汇总,编写质量报告。
17.与现有技术相比本发明的有益效果是:1.通过将生产调度配置同步至测试环境,保证了 调度配置更新及时并且保证了调度配置的完整有效性。
18.2.通过配置生成血缘关系,可面向目标文件按需获得最小最全跑批程序集,既不会漏缺, 也不会重复。
19.3.通过对跑批程序的封装调用,可支持随时调用,去除触发时间限制。并且调用方式简 单唯一,降低跑批执行复杂度,最终实现灵活跑批,且最小时间完成跑批。
20.4.通过对跑批程序的封装调用,可灵活调整并发数,充分利用cpu,提高跑批执行效率。
21.5.通过调用端程序同一调用,可简化跑批执行过程,降低跑批繁琐度。
具体实施方式
22.下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅 仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术 人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.下面对本发明的最优实施例作详细的描述。
24.一种基于调度配置生成血缘关系实现自动跑批的测试方法,包括以下步骤:
25.步骤1:获取当前生产环境实际调度配置内容;并根据实际调度配置内容的存储形式选 择数据同步方式;
26.步骤2:根据线上频率获取配置变更频率;并根据配置变更频率确定同步频率;所述同 步变更频率高于配置变更频率,以保证配置的变更能够及时被同步至检测环境;同步时间应 当晚于变更时间,避免提前同步时变更还未发生;例如:变更配置频率为每周星期一、三变 更,则同步配置频率可为每周二、四。
27.步骤3:根据配置同步频率将生产调度配置内容同步至测试环境;
28.所述步骤3包括,步骤3.1:确定测试环境调度配置存储位置;
29.步骤3.2:根据同步频率配置定时同步任务;
30.步骤3.3:定时同步任务运行到点执行,同步动作到点被触发执行;
31.步骤3.4:检测测试环境与生成环境的配置内容是否相同,若不相同则继续执行步骤3 中的同步操作;若相同则执行步骤4。
32.步骤4:根据步骤3同步后的调度配置内容生成血缘关系;
33.步骤4中所述血缘关系的生成包括以下步骤:
34.步骤4.1:读取全部调度配置的内容;读取全部配置内容,指的是在调度系统中,读取 最新同步过的所有配置,包括新调度配置的内容和旧的调度配置内容;
35.步骤4.2:确定任务的唯一属性;
36.步骤4.3:确定被测程序的全部目标任务唯一属性;
37.步骤4.4:按每个目标任务的唯一属性提取前置任务唯一属性;
38.步骤4.5:继续提取步骤4.4中的前置任务唯一属性的前置任务唯一属性;
39.步骤4.6:循环执行步骤4.5;直至提取到最底层的全部任务唯一属性;
40.步骤4.7:将所有提取的任务唯一属性,按照提取顺序倒序排列,即可获得每个目标任 务的血缘关系;
41.步骤4.8:遍历步骤4.3中全部目标任务唯一属性,依次执行步骤4.4到步骤4.7;即可 获得所有目标任务的血缘关系;
42.步骤4.9:针对所有目标任务的血缘关系,若存在相同的依赖关系,则进行合并,合并 后进行保留;若存在同层依赖的关系,则需对同层依赖分离执行。
43.步骤5:根据血缘关系封装自动跑批程序;
44.所述步骤5包括以下步骤:步骤5.1:根据不同任务属性之间的一一映射关系,获得所 需要执行的跑批程序;所述不同任务属性包括任务编号、任务名称以及任务执行程序;
故步 骤5.1中根据任务属性之间的一一映射关系,可以理解为是根据任务编号、任务名称以及任 务执行程序之间的一一映射关系。
45.步骤5.2:基于步骤5.1中获取的所需要执行的跑批程序的程序名后缀确定程序语言, 进而确定跑批程序执行命令;
46.步骤5.3:按照血缘依赖关系顺序,将每个跑批程序执行命令分层封装到不同文件中。
47.步骤6:调用端程序调起自动跑批程序执行;
48.所述步骤6包括以下步骤:步骤6.1:确定调用端程序代码语言;
49.步骤6.2:基于步骤5.3封装的文件内容,确定调用端程序需要实现的功能;所述步骤 5.3封装的文件内容是跑批命令;所述调用端程序支持调起跑批命令;同时为了实现个性化 跑批功能,还可在跑批命令中设计其他配置参数,如并发数参数用于调整cpu利用率、如日 期参数用于确定跑批日期。
50.根据步骤4.9可知,对同层依赖关系的需要对同层依赖分离执行;根据步骤5.3按照血 缘依赖关系顺序,将每个跑批程序执行命令分层封装到不同文件中;优选的,步骤6.2中就 会涉及属于同层但无依赖关系的跑批程序的处理;本发明针对同层且相互之间无依赖关系的 跑批程序,可通过并发执行,以减少执行时间,提升效率。
51.步骤6.3:根据步骤6.2确定的调用端程序,按照调用端程序的运行方式执行跑批程序;
52.步骤6.4:若跑批过程执行出错,则定位错误原因并修正;
53.步骤6.5:根据资源和耗费时间评估并发数并调整并发数;使cpu的利用率达到最高, 用最少的时间,跑完最多的批量。
54.步骤7:对跑批后的结果执行测试检核;
55.所述步骤7包括以下步骤:步骤7.1:编写测试用例;
56.步骤7.2:待步骤6完成跑批后,对跑批后的结果,按照测试用例编写内容执行测试核 检,标记测试用例是否通过;
57.步骤7.3:步骤7.2中测试核检未通过的则定位问题原因,根据问题影响范围及重要性 进行bug分类处理。
58.步骤8:对步骤7的执行结果及问题修复结果汇总,编写质量报告。
59.关于步骤4中唯一属性的解释如下:所述唯一属性表示不产生重复的属性;例如唯一属 性采用任务编号,对应的步骤4中血缘关系的生成包括以下步骤:
60.步骤4.1:读取全部调度配置的内容;
61.步骤4.2:确定任务的唯一属性为任务编号;
62.步骤4.3:确定被测程序的全部目标任务编号;
63.步骤4.4:按每个目标任务编号提取前置任务编号;
64.步骤4.5:继续提取步骤4.4中的前置任务编号的前置任务编号;
65.步骤4.6:循环执行步骤4.5;直至提取到最底层的全部任务编号;
66.步骤4.7:将所有提取的任务编号,按照提取顺序倒序排列,即可获得每个目标任务的 血缘关系;
67.步骤4.8:遍历步骤4.3中全部目标任务编号,依次执行步骤4.4到步骤4.7;即可获
得 所有目标任务的血缘关系;
68.步骤4.9:针对所有目标任务的血缘关系,若存在相同的依赖关系,则进行合并,合并 后进行保留;若存在同层依赖的关系,则需对同层依赖分离执行。
69.当然采用任务编号作为唯一属性并非是对本发明的限定,本发明也可以采用其他非重复 的属性作为唯一属性。
70.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离 本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一 点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求 而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括 在本发明内。
71.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一 个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解 的其他实施方式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜