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

数据获取方法、装置、电子设备及可读存储介质与流程

2023-02-19 06:33:32 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,尤其涉及一种数据获取方法、装置、电子设备及可读存储介质。


背景技术:

2.开发软件应用于各类项目开发时,可以通过分析各任务的构建信息生成数据报告,从而展示产品的构建交付效率,提升编译效率。使用开发软件执行任务时,相关任务数据以文件的方式存储在软件服务器中,并且没有提供固定的命令提取数据,若需要提取数据需要登录软件页面上依赖人工查找获取数据,效率较低。


技术实现要素:

3.本技术提供一种数据获取方法、装置、电子设备及可读存储介质,以解决数据获取效率较低的问题。
4.第一方面,本技术实施例提供了一种数据获取方法,包括:
5.获取任务执行文件以及所述任务执行文件的第一任务和存储路径,所述任务执行文件包括所述第一任务的最新执行序号;
6.基于所述存储路径获取所述第一任务的任务地址;
7.基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,其中,所述参考执行序号小于或等于所述最新执行序号。
8.第二方面,本技术实施例还提供一种数据获取装置,包括:
9.第一获取模块,用于获取任务执行文件以及所述任务执行文件的第一任务和存储路径,所述任务执行文件包括所述第一任务的最新执行序号;
10.第二获取模块,用于基于所述存储路径获取所述第一任务的任务地址;
11.第三获取模块,用于基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,其中,所述参考执行序号小于或等于所述最新执行序号。
12.第三方面,本技术实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如前述第一方面所述方法中的步骤。
13.第四方面,本技术实施例还提供一种计算机可读存储介质,用于存储程序,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述第一方面所述方法中的步骤。
14.本技术实施例中,获取任务执行文件以及所述任务执行文件的第一任务和存储路径,并基于所述存储路径获取所述第一任务的任务地址,基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,通过所述任务地址和执行序号可以快速获取任务的构建数据,提高所述构建数据的获取效率。
附图说明
15.为了更清楚地说明本技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
16.图1是本技术实施例提供的数据获取方法的流程示意图;
17.图2是本技术实施例提供的jenkins任务执行次数动态更新的示意图;
18.图3是本技术实施例提供的构建日志获取方法的流程示意图之一;
19.图4是本技术实施例提供的构建日志获取方法的流程示意图之二;
20.图5是本技术实施例提供的数据获取装置的结构示意图之一;
21.图6是本技术实施例提供的数据获取装置的结构示意图之二;
22.图7是本技术实施例提供的数据获取装置的结构示意图之三;
23.图8是本技术实施例提供的数据获取装置的结构示意图之四;
24.图9是本技术实施例提供的数据获取装置的结构示意图之五;
25.图10是本技术实施例提供的电子设备的结构示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.本技术实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本技术中使用“和/或”表示所连接对象的至少其中之一,例如a和/或b和/或c,表示包含单独a,单独b,单独c,以及a和b都存在,b和c都存在,a和c都存在,以及a、b和c都存在的7种情况。
28.请参阅图1,图1是本技术实施例提供的一种数据获取方法的流程示意图,如图1所示,包括以下步骤:
29.步骤101、获取任务执行文件以及所述任务执行文件的第一任务和存储路径,所述任务执行文件包括所述第一任务的最新执行序号。
30.其中,上述任务执行文件可以与上述第一任务一一对应,例如:获取多个任务执行文件时,可以获取每个任务执行文件的第一任务和存储路径,不同任务的存储路径不同,并且每个任务执行文件中包含对应第一任务的最新执行序号。
31.具体的,不论上述第一任务的创建方式和创建时间,上述第一任务的每次执行都会更新上述任务执行文件中的最新执行序号,以使上述任务执行文件中记录的是上述第一任务的最新执行次数对应的最新执行序号。
32.步骤102、基于所述存储路径获取所述第一任务的任务地址。
33.步骤103、基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,其中,所述参考执行序号小于或等于所述最新执行序号。
34.其中,每个任务的一个执行序号对应一个该任务的构建数据,因此基于上述任务地址和执行序号即可确定上述第一任务的每个执行序号对应的构建数据。
35.其中,上述参考执行序号可以根据上述任务执行文件获取的次数确定,例如:若上述任务执行文件为第一次获取,可以将上述参考执行序号设置为最小执行序号1,从而获取上述第一任务的所有执行序号对应的构建数据,即可以获取上述第一任务到目前为止所有的历史构建数据;若上述任务执行文件不是第一次获取,可以查询上一次获取的任务执行文件中的最新执行序号,那么本次参考执行序号可以是上一次获取的任务执行文件中的最新执行序号的下一个执行序号。假设对应任务a的任务执行文件是第二次获取,并且本次获取的任务a的最新执行序号为4,上一次获取的任务a的最新执行序号为2,那么,参考执行序号即为3,本次获取的构建数据即为本次的最新执行序号4和执行序号3对应的构建数据。另外,若上一次获取上述构建数据失败可以认为上一次不存在,再以上述任务a为例,若上一次获取任务a的构建数据失败,本次获取构建数据可以理解为第一次获取,即参考执行序号为1,本次获取的构建数据包括本次的最新执行序号4、执行序号3、执行序号2和执行序号1对应的构建数据。
36.本技术实施例中,获取任务执行文件以及所述任务执行文件的第一任务和存储路径,并基于所述存储路径获取所述第一任务的任务地址,基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,通过所述任务地址和执行序号可以快速获取任务的构建数据,提高所述构建数据的获取效率。
37.并且,基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,可以直接获取所述最新执行序号到参考执行序号之间的一段执行序号对应的构建数据,即通过所述任务执行文件可以获取所有第一任务每次执行的历史构建数据,提高所述构建数据获取的完整性。
38.可选的,所述参考执行序号为数据库服务器中存储的所述第一任务的最大执行序号的下一个执行序号;
39.步骤103中所述基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据之后,所述方法还可以包括以下步骤:
40.将构建日志发送给所述数据库服务器,所述构建日志包括所述任务地址、所述构建数据以及所述构建数据的执行序号。
41.现有技术中在需要对构建数据统计的情况下,可以在每一次新增任务的同时实时采集每次任务执行的构建数据,但对于在统计前已创建并执行多次的任务的历史构建数据难以实时统计。
42.其中,上述数据库服务器可以用于存储上述构建日志,上述最新执行序号到上述参考执行序号之间的每个执行序号对应的构建数据可以理解为新增的历史构建数据,将上述新增的历史构建数据发送给上述数据库服务器,即可实现对历史构建数据的存储和统计。
43.其中,上述步骤101至步骤103可以按照预设时间间隔重复执行,这样,即使出现数据获取失败的情况,可以在下一次执行时获取上述构建数据。并且,上述步骤103可以获取
最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,即获取所有新增的构建数据。上述预设时间间隔可以根据自定义为每小时、每天、每周等,例如:若需要提高上述构建数据获取的实时性,可以将上述预设时间间隔缩短。
44.该实施方式中,将构建日志发送给所述数据库服务器,可以通过所述数据库服务器存储所述构建日志,便于对所述构建日志的采集、统计等。
45.可选的,所述将构建日志发送给所述数据库服务器,具体可以包括:
46.基于所述任务地址和所述构建数据的执行序号,确定所述数据库服务器不存在所述构建日志的情况下,将所述构建日志发送给所述数据库服务器。
47.可以理解,上述任务地址和构建数据的执行序号结合,可以确定到某一任务的某一执行次数,即通过上述构建日志的任务地址和构建数据的执行序号,可以确定该构建日志是否已存储在上述数据库服务器中,若上述数据库服务器中已存储有上述构建日志,可以避免数据重复;若上述数据库服务器中不存在上述构建日志,可以存储新增的上述构建日志。
48.该实施方式中,基于所述任务地址和所述构建数据的执行序号,可以确定所述构建日志对应的任务及其执行次数,从而确定所述数据库服务器中是否已存在所述构建日志,确定所述数据库服务器不存在所述构建日志的情况下,将所述构建日志发送给所述数据库服务器,从而可以在存储所有新增构建数据的同时,避免所述数据库服务器存储的数据重复。
49.可选的,步骤103中所述基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,具体可以包括:
50.获取所述参考执行序号;
51.依次对比所述最新执行序号到最小执行序号之间的每个执行序号与所述参考执行序号的大小;
52.基于所述任务地址依次获取大于或等于所述参考执行序号的所述每个执行序号对应的构建数据。
53.其中,上述最小执行序号可以理解为上述第一任务首次执行时的执行序号,依次获取上述最新执行序号到上述最小执行序号之间的每个执行序号对应的构建数据,即构建数据可以按照执行序号的从后往前依次获取,若已获取到上述参考执行序号对应的构建数据表明本次第一任务的所有新增构建数据均已获取到,无需再获取上述参考执行序号前的执行序号对应的构建数据,也无需一一对比小于上述参考执行序号的执行序号对应的构建数据是否存储在上述数据库服务器中,便于对上述新增构建数据的获取。
54.该实施方式中,依次对比所述最新执行序号到最小执行序号之间的每个执行序号与所述参考执行序号的大小,可以获取所述第一任务新增的每个执行序号对应的构建数据,这样可以直接获取所述第一任务相对于上一次新增的构建数据,减少因某次数据获取失败导致的构建数据遗漏。
55.可选的,所述将所述构建日志发送给数据库服务器之后,所述方法还可以包括以下步骤:
56.接收数据展示指令;
57.基于所述数据展示指令获取所述数据库服务器中存储的构建日志,并展示所述构
建日志。
58.该实施方式中,基于所述数据展示指令获取所述数据库服务器中存储的构建日志,并展示所述构建日志,可以根据展示需要随时拉取数据库中的数据,并生成相应展示报告展示。
59.本技术实施例中介绍的多种可选的实施方式,在彼此不冲突的情况下可以相互结合实现,也可以单独实现,对此本技术实施例不作限定。
60.为方便理解,具体示例如下:
61.jenkins作为软件行业比较流行的持续集成/持续发布(continuous integration/,continuous delivery ci/cd)通用工具,被广泛应用于各类项目,通过分析jenkins各任务的构建信息生成数据报告,可以很好的展示产品的构建交付速率,提升编译效率,推理出ci/cd过程中潜在的问题环节等。
62.本技术实施例提供一种构建日志获取方法,如图2至图4所示,可以基于jenkins服务器中存储的“nextbuildnumber”文件获取所有jenkins任务的任务地址和每个任务的所有执行序号,并通过jenkins接口可以解析所有任务对应执行序号的构建日志信息。
63.如图3和图4所示,首先,在jenkins创建一个数据定时采集任务(jenkins_job_statistic),这个定时区间可以自定义为每小时、每天、每周等等,图3为首次执行定时数据采集任务(jenkins_job_statistic)的流程示意图,图4是经过定时区间后再次启动定时数据采集任务(jenkins_job_statistic)的流程示意图。该定时数据采集任务(jenkins_job_statistic)的执行具体可以包括以下步骤:
64.步骤1、在jenkins服务器的jenkins_home目录下遍历搜索“nextbuildnumber”文件,得到的每个“nextbuildnumber”文件的文件路径,经过统一的字符串裁剪、替换和jenkins主地址拼接,可以获取所有jenkins任务的任务地址。
65.其中,在jenkins每个任务首次执行后会自动生成“nextbuildnumber”文件,“nextbuildnumber”文件与jenkins任务一一对应,用来记录下次执行任务时需要用到的执行序号,该文件内容会随着jenkins任务的执行次数动态更新,即“nextbuildnumber”文件记录的执行序号为对应的jenkins任务的最新执行次数加1。
66.步骤2、以某个jenkins任务a为例,对应任务a的“nextbuildnumber”文件记录的执行序号减一得到任务a的最新执行序号;
67.步骤3、将参数:任务a的任务地址及对应的最新执行序号,传给jenkins的api接口(application programming interface,应用程序接口),通过api接口可以解析得到任务a最新一次执行的构建日志信息,包括但不限于:任务执行的结果、执行持续时间、执行开始时间等。将这些构建日志信息、任务a的任务地址和最新执行序号作为任务a的构建日志插入数据库存储。
68.步骤4、循环执行步骤3,并且每次将执行序号减一,直至序号为1,可以获取任务a到目前为止所有历史构建信息,并将所有历史构建信息插入数据库存储。
69.步骤5、如图4所示,当定时数据采集任务(jenkins_job_statistic)再次启动时,这时候任务a在定时区间内可能又执行了多次,对应的“nextbuildnumber”文件内容自动更新为本次的最新执行序号加一,此时按步骤3从本次的最新执行序号对应的构建日志信息开始解析,同时通过数据库查询本次构建日志信息判断本次构建日志信息是否已经插入过
数据库(每个构建日志信息的任务地址 执行序号唯一),如果没有则将本次构建信息插入,序号减一后继续执行步骤3;如果有,则结束插入。这样就可以将任务a新执行的构建信息插入到数据库。
70.步骤6、根据步骤1和步骤2获取的其他任务地址及对应任务的最新执行序号,同样以任务a的方式一一遍历执行,可以采集到jenkins每一个任务的所有历史构建信息。
71.其中,经过定时区间后所有任务可能会被再次执行,那么对应的“nextbuildnumber”文件中的下次执行序号会自动更新。本次最新执行序号与“nextbuildnumber”文件中的下次执行序号之间的执行序号对应的构建日志即为新增的构建日志。这样,每次定时数据采集任务(jenkins_job_statistic)执行后,所有任务的所有新增构建日志信息都会被插入到数据库。即便在定时任务执行时网络或数据库连接有问题,按步骤5的执行方法,在下次定时数据采集任务(jenkins_job_statistic)执行后也会将全部新增构建信息更新到数据库。
72.本技术实施例中,还可以按效能平台前端展示需要,随时从数据库拉取构建日志信息的数据生成展示报告并展示。
73.这样,本技术实施例中,通过遍历搜索“nextbuildnumber”文件,并对“nextbuildnumber”文件处理后可以获取jenkins所有任务的任务地址以及每个任务对应的所有执行序号,根据任务地址和执行序号即可获取对应任务的所有构建日志。
74.另外,本技术实施例中的定时采集数据方式不依赖于jenkins任务的创建方式或创建时间,即使在定时采集数据任务(jenkins_job_statistic)创建前的任务构建日志,可以通过定时采集数据的方式获取每个任务最新执行序号与上一次成功插入数据库的执行序号之间的所有新增构建数据,并将本次所有新增构建数据插入数据库,非实时逐条插入,即不限于采集数据开始的时间也可以统计到所有任务的所有构建数据,可以有效避免实时采集数据时因网络或数据库连接问题导致的个别数据丢失情况,通过定时采集数据任务的执行将所有任务的历史构建日志插入数据库。
75.请参阅图5,图5是本技术实施例提供的语音唤醒装置的结构示意图之一,如图5所示,数据获取装置500包括:
76.第一获取模块501,用于获取任务执行文件以及所述任务执行文件的第一任务和存储路径,所述任务执行文件包括所述第一任务的最新执行序号;
77.第二获取模块502,用于基于所述存储路径获取所述第一任务的任务地址;
78.第三获取模块503,用于基于所述任务地址获取所述最新执行序号到参考执行序号之间的每个执行序号对应的构建数据,其中,所述参考执行序号小于或等于所述最新执行序号。
79.可选的,如图6所示,所述参考执行序号为数据库服务器中存储的所述第一任务的最大执行序号的下一个执行序号;
80.数据获取装置500还可以包括:
81.发送模块504,用于将构建日志发送给所述数据库服务器,所述构建日志包括所述任务地址、所述构建数据以及所述构建数据的执行序号。
82.可选的,如图7所示,所述发送模块504具体可以包括:
83.发送单元5041,用于基于所述任务地址和所述构建数据的执行序号,确定所述数
据库服务器不存在所述构建日志的情况下,将所述构建日志发送给所述数据库服务器。
84.可选的,如图8所示,所述第三获取模块503具体可以包括:
85.第一获取单元5031,用于获取所述参考执行序号;
86.对比单元5032,用于依次对比所述最新执行序号到最小执行序号之间的每个执行序号与所述参考执行序号的大小;
87.第二获取单元5032,用于基于所述任务地址依次获取大于或等于所述参考执行序号的所述每个执行序号对应的构建数据。
88.可选的,如图9所示,数据获取装置500还可以包括:
89.接收模块505,用于接收数据展示指令;
90.展示模块506,用于基于所述数据展示指令获取所述数据库服务器中存储的构建日志,并展示所述构建日志。
91.数据获取装置500能够实现本技术实施例中图1方法实施例的各个过程,以及达到相同的有益效果,为避免重复,这里不再赘述。
92.本技术实施例还提供一种电子设备。请参见图10,该电子设备1000包括处理器1001,存储器1002,存储在存储器1002上并可在处理器1001上运行的程序或指令,该程序或指令被处理器1001执行时实现上述图像识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
93.本领域普通技术人员可以理解实现上述实施例方法的全部或者部分步骤是可以通过程序指令相关的硬件来完成,所述的程序可以存储于一可读取介质中。
94.本技术实施例还提供一种计算机可读存储介质,用于存储程序,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时可实现上述图1对应的方法实施例中的任意步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
95.所述的存储介质,如只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
96.以上所述是本技术实施例的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献