(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210794556.7
(22)申请日 2022.07.07
(71)申请人 浪潮软件集团有限公司
地址 250100 山东省济南市高新区科航路
2877号
(72)发明人 苏爽 侯卫峰 张庆鑫 阚宝丽
(74)专利代理 机构 济南信达专利事务所有限公
司 37100
专利代理师 潘悦梅
(51)Int.Cl.
G06F 9/50(2006.01)
G06F 11/36(2006.01)
(54)发明名称
基于gocron的定时巡 检任务系统及方法
(57)摘要
本发明公开了基于gocron的定时巡检任务
系统及方法, 属于自动化巡检技术领域, 要解决
的技术问题为如何协调设备和执行器实现定时
巡检并发送执行结果邮件报告。 包括定时任务管
理器、 远程主机、 执行设备、 定时任务调度器、 定
时任务调度中心、 任务执行器和任务日志数据
库; 定时任务调度器用于对任务命令和执行设备
进行任务调度; 任务执行器用于将每个测试用例
的执行结果写入对应的执行报告、 并聚合所有测
试用例对应的执行报告 得到聚合报告; 定时任务
调度中心将每个测试用例的执行结果、 聚合报告
的存储路径以及任务命令的执行时间作为任务
日志数据存储至任务日志数据库, 并用于通过邮
件的形式向用户发送任务执 行结果通知。
权利要求书3页 说明书9页 附图4页
CN 115202875 A
2022.10.18
CN 115202875 A
1.一种基于gocron的定时巡检任务系统, 其特征在于包括定时任务管理系统、 、 远程主
机、 执行设备、 定时任务调度器、 定时任务调度中心、 任务执 行器和任务日志数据库;
所述远程主机至少一个, 每个远程主机均配置有airtest框架以及多个测试用例, 所述
airtest框架用于基于执 行测试用例;
所述执行设备共多个, 每 个执行设备通过ADB和对应的远程主机交 互;
所述定时任务管理系 统为基于gocron的定时任务管理系 统, 用于配置任务命令, 并将
任务命令发送至 定时任务调度器;
所述定时任务调度器用于对任务命令和执行设备进行任务调度, 将添加有对应执行设
备的设备号的任务命令发送至定时任务调 度中心, 通过定时任务调 度中心将任务命令发送
至远程主机, 并用于追踪任务执 行结果;
所述任务执行器配置于远程主机, 用于解析任务命令得到对应执行设备的设备号; 对
于每个任务命令, 用于开启一个线程并调用airtest框架循环执行任务命令中指定的测试
用例, 用于将每个测试用例的执行结果写入对应的执行报告、 并聚合所有测试用例对应的
执行报告得到聚合报告, 用于将聚合报告存储于 以对应执行设备的设备号命名的文件夹
中, 并将聚合报告的存 储路径返回定时任务调度中心;
对于每个任务命令, 所述定时任务调度中心用于从远程主机获取每个测试用例的执行
结果、 以及聚合报告的存储路径, 并将每个测试用例的执行结果、 聚合报告的存储路径以及
任务命令的执行时间作为任务日志数据存储至任务日志数据库, 并用于通过邮件的形式 向
用户发送任务执 行结果通知;
所述定时任务管理器用于从任务日志数据库读取查看任务日志数据。
2.根据权利要求1所述的基于gocron的定时巡检任务系统, 其特征在于所述定时任务
调度器用于通过如下步骤基于用户发送的任务命令对执 行设备进行任务调度:
区分所述任务命令是否为需要执 行设备执行的任务,
如果所述任务命令为 需要执行设备执行的任务, 通过Macaron.context管理任务流程,
对执行设备的当前状态进行轮询, 判断对应的执 行设备是否为空 闲状态;
如果对应的执行设备为空闲状态, 将对应的任务加入执行队列、 并在任务日志数据库
中创建对执行设备对应的log日志空间, 并通过context.context控制执行进程, 在执行过
程中, 开启多线程、 通过定时任务调度中心与远程主机交互以执行任务命令, 并追踪任务执
行结果, 基于执 行结果释放执 行设备;
如果对应的执 行设备被占用, 等待所述对应的执 行设备被释放;
当对应的执行设备被释放、 任务执行结束或者任务执行超时, 将所述执行设备加入黑
名单以禁止其他任务命令调用, 将对应的任务加入执行队列、 并在任务日志数据库中创建
对执行设备对应的log日志空间, 并通过context.context控制执行进程, 在执行过程中, 开
启多线程、 通过定时任务调 度中心与远程主机交互以执行任务命令, 并追踪任务执行结果,
基于执行结果释放执 行设备;
所述定时任务调度中心用于将每个测试用例的执行结果、 聚合报告的存储路径以及任
务命令的执 行时间作为任务日志数据更新至对应的l og日志空间。
3.根据权利要求2所述的基于gocron的定时巡检任务系统, 其特征在于如果所述任务
命令为需要执行设备执行 的任务, 判断所述任务命令是否指定有对应执行设备 的设备号,权 利 要 求 书 1/3 页
2
CN 115202875 A
2如果是, 判断对应的执行设备是否为空闲状态; 如果否, 将一个空闲状态的执行设备作为所
述任务命令的执行设备, 并将所述执行设备的设备号添加至任务命令后发送至定时任务调
度中心。
4.根据权利要求1所述的基于gocron的定时巡检任务系统, 其特征在于所述任务执行
器用于基于预配值的template页面模板将每个测试用例的执行结果数据写入单个测试用
例的执行报告, 存 入使用‘log’+设备号命名的文件夹中;
所述任务命令对应的所有测试用例执行完毕后, 用于基于预配值的聚合报告模板将所
有测试用例的执行报告写入聚合报告, 并将聚合报告存储于以 ‘log’+设备号命名的文件夹
中;
用于将测试用例执 行详情链接配置为 ‘log’+设备号的路径。
5.根据权利要求1所述的基于gocron的定时巡检任务系统, 其特征在于对于任务命令
的每个测试用例, 所述任务执行器用于通过如下步骤调用airtest框架循环执行任务命令
中指定的测试用例:
调用airtest框架执行所述测试用例, 如果执行成功, 将执行成功次数加一, 并将当前
执行结果作为所述测试用例的执 行结果;
如果执行失败, 将执行失败次数加一, 并在预定的重 复次数内调用airtest框架执行所
述测试用例, 直至执行成功, 将执行成功的执行结果作为所述测试用例的执行结果, 且每次
执行测试用例时对执 行成功和执 行失败的次数进行计数;
如果在预定的重 复次数内调用airtest框架执行所述测试用例, 每次均执行失败, 将所
述执行结果作为测试用例的执行结果, 且每次执行测试用例时对执行成功和执行失败的次
数进行计数。
6.一种基于gocron的定时巡检任务方法, 其特征在于用于通过如权利要求1 ‑5任一项
所述的基于gocro n的定时巡检任务系统进行巡检, 所述方法包括如下步骤:
通过定时任务管理系统配置任务命令, 并将任务命令发送至 定时任务调度器;
通过定时任务调度器接对任务命令和执行设备进行任务调度, 将添加有对应执行设备
的设备号的任务命令发送至定时任务调 度中心, 通过定时任务调度中心将任务命令发送至
远程主机, 并通过定时任务调度器追踪任务执 行结果;
通过任务执 行器解析任务命令得到对应执 行设备的设备号;
对于每个任务命令, 通过任务执行器开启一个线程并调用airtest框架循环执行任务
命令中指定的测试用例, 将每个测试用例的执行结果写入对应的执行报告、 并聚合所有测
试用例对应的执行报告得到聚合报告, 将聚合报告存储于以对应执行设备的设备号命名的
文件夹中, 并将聚合报告的存 储路径返回定时任务调度中心;
通过定时任务调度中心从远程主机获取每个测试用例的执行结果、 以及聚合报告的存
储路径, 并将每个测试用例的执行结果、 聚合报告的存储路径以及任务命令的执行时间作
为任务日志数据存 储至任务日志数据库, 并以邮件的形式向用户发送任务执 行结果通知;
通过定时任务管理系统查看任务日志数据。
7.根据权利要求6所述的基于gocron的定时巡检任务方法, 其特征在于对任务命令和
执行设备进行任务调度, 包括如下步骤:
区分所述任务命令是否为需要执 行设备执行的任务,权 利 要 求 书 2/3 页
3
CN 115202875 A
3
专利 基于gocron的定时巡检任务系统及方法
文档预览
中文文档
17 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共17页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:31:00上传分享