本技术涉及数据处理,特别是一种自动检测任务最差执行时间的方法、装置及介质。
背景技术:
1、在嵌入式软件时间性能测试中,最关键的检测参数为最差执行时间(worst-caseexecution time,wcet)。但是现有技术中进行最差执行时间检测时,只能对单个任务的最差执行时间进行检测,当存在多个需要进行最差执行时间检测的任务时,检测效率较低。因此,如何提高在存在多个待检测任务时,最差执行时间的检测效率,成为当前所需解决的技术问题。
技术实现思路
1、鉴于上述问题,本发明的目的在于提供一种自动检测任务最差执行时间的方法、装置及介质,以提高在存在多个待检测任务时,最差执行时间的检测效率,具体方案如下:
2、第一方面,本技术实施例提供了一种自动检测任务最差执行时间的方法,所述方法包括:
3、获取待检测任务集;所述待检测任务集至少包括一个待检测任务,以及每个所述待检测任务的起始检测点和结束检测点;所述起始检测点为所述待检测任务开始执行时的位置点,所述结束检测点为所述待检测任务执行结束时的位置点;
4、在所述待检测任务集中的每个所述待检测任务的起始检测点和结束检测点分别插入桩函数,得到每个所述待检测任务的起始桩函数和结束桩函数;所述起始桩函数用于标记每次执行所述待检测任务的起始执行时间数据;所述结束桩函数用于标记每次执行所述待检测任务的结束执行时间数据;
5、根据所述起始桩函数获取每次执行所述待检测任务的起始执行时间数据;根据所述结束桩函数获取每次执行所述待检测任务的结束执行时间数据;
6、根据所述每次执行所述待检测任务的起始执行时间数据,以及所述每次执行所述待检测任务的结束执行时间数据,确定每个所述待检测任务的最大执行时间数据;所述最大执行时间数据为预设时间内,执行所述待检测任务所花费的最长时间;
7、对所述每个所述待检测任务的最大执行时间数据进行数据分析,得到每个所述待检测任务的最差执行时间数据。
8、可选的,在所述根据所述每次执行所述待检测任务的起始执行时间数据,以及所述每次执行所述待检测任务的结束执行时间数据,确定每个所述待检测任务的最大执行时间数据之前,所述方法还包括:
9、根据所述起始桩函数在所述待检测任务中的位置,为所述起始桩函数设置唯一标识符;
10、根据所述结束桩函数在所述待检测任务中的位置,为所述结束桩函数设置唯一标识符;
11、在执行所述待检测任务时,验证所述起始桩函数的唯一标识符,以及所述结束桩函数的唯一标识符的有效性;
12、若所述起始桩函数的唯一标识符,或所述结束桩函数的唯一标识符为无效标识符,则停止执行所述待检测任务。
13、可选的,所述在执行所述待检测任务时,验证所述起始桩函数的唯一标识符,以及所述结束桩函数的唯一标识符的有效性,包括:
14、在执行所述待检测任务时,若所述起始桩函数的唯一标识符所对应的位置信息与所述起始检测点的位置信息不同,则所述起始桩函数的唯一标识符不具备有效性;
15、若所述结束桩函数的唯一标识符所对应的位置信息与所述结束检测点的位置信息不同,或在执行所述结束桩函数之前并未执行与所述结束桩函数对应的起始桩函数时,则所述结束桩函数的唯一标识符不具备有效性。
16、可选的,所述根据所述每次执行所述待检测任务的起始执行时间数据,以及所述每次执行所述待检测任务的结束执行时间数据,确定每个所述待检测任务的最大执行时间数据,包括:
17、根据当前执行所述待检测任务的起始执行时间数据,以及当前执行所述待检测任务的结束执行时间数据,确定第一执行时间数据;
18、根据所述起始桩函数的自身执行时间数据、所述结束桩函数的自身执行时间数据,以及所述第一执行时间数据,确定第二执行时间数据;
19、当预设存储空间中不存在与所述待检测任务对应的历史执行时间数据时,将所述第二执行时间数据存储至所述预设存储空间中;所述历史执行时间数据为在当前轮次之前,执行所述待检测任务所花费的最长执行时间;
20、当所述预设存储空间中存在与所述待检测任务对应的历史执行时间数据时,将所述第二执行时间数据与所述历史执行时间数据进行比对;若所述第二执行时间数据大于所述历史执行时间数据,则根据所述第二执行时间数据对所述历史执行时间数据进行更新;
21、在到达所述预设时间后,将所述预设存储空间中与所述待检测任务对应的历史执行时间数据,作为所述待检测任务的最大执行时间数据。
22、可选的,所述对所述每个所述待检测任务的最大执行时间数据进行数据分析,得到每个所述待检测任务的最差执行时间数据包括:
23、根据每个所述待检测任务的最大执行时间数据、芯片gpt时钟源频率和分频比,确定每个所述待检测任务的最差执行时间数据。
24、第二方面,本技术实施例提供了一种自动检测任务最差执行时间的装置,所述装置包括:
25、获取模块,用于标记待检测任务集;所述待检测任务集至少包括一个待检测任务,以及每个所述待检测任务的起始检测点和结束检测点;所述起始检测点为所述待检测任务开始执行时的位置点,所述结束检测点为所述待检测任务执行结束时的位置点;
26、插入模块,用于在所述待检测任务集中的每个所述待检测任务的起始检测点和结束检测点分别插入桩函数,得到每个所述待检测任务的起始桩函数和结束桩函数;所述起始桩函数用于标记每次执行所述待检测任务的起始执行时间数据;所述结束桩函数用于标记每次执行所述待检测任务的结束执行时间数据;
27、所述获取模块,还用于根据所述起始桩函数获取每次执行所述待检测任务的起始执行时间数据;根据所述结束桩函数获取每次执行所述待检测任务的结束执行时间数据;
28、所述确定模块,还用于根据所述每次执行所述待检测任务的起始执行时间数据,以及所述每次执行所述待检测任务的结束执行时间数据,确定每个所述待检测任务的最大执行时间数据;所述最大执行时间数据为预设时间内,执行所述待检测任务所花费的最长时间;
29、分析模块,用于对所述每个所述待检测任务的最大执行时间数据进行数据分析,得到每个所述待检测任务的最差执行时间数据。
30、可选的,所述装置还包括:
31、设置模块,用于根据所述起始桩函数在所述待检测任务中的位置,为所述起始桩函数设置唯一标识符;
32、所述设置模块,还用于根据所述结束桩函数在所述待检测任务中的位置,为所述结束桩函数设置唯一标识符;
33、验证模块,用于在执行所述待检测任务时,验证所述起始桩函数的唯一标识符,以及所述结束桩函数的唯一标识符的有效性;
34、停止模块,用于若所述起始桩函数的唯一标识符,或所述结束桩函数的唯一标识符为无效标识符,则停止执行所述待检测任务。
35、可选的,所述验证模块,具体用于:
36、在执行所述待检测任务时,若所述起始桩函数的唯一标识符所对应的位置信息与所述起始检测点的位置信息不同,则所述起始桩函数的唯一标识符不具备有效性;
37、若所述结束桩函数的唯一标识符所对应的位置信息与所述结束检测点的位置信息不同,或在执行所述结束桩函数之前并未执行与所述结束桩函数对应的起始桩函数时,则所述结束桩函数的唯一标识符不具备有效性。可选的,所述确定模块,具体用于:
38、根据当前执行所述待检测任务的起始执行时间数据,以及当前执行所述待检测任务的结束执行时间数据,确定第一执行时间数据;
39、根据所述起始桩函数的自身执行时间数据、所述结束桩函数的自身执行时间数据,以及所述第一执行时间数据,确定第二执行时间数据;
40、当预设存储空间中不存在与所述待检测任务对应的历史执行时间数据时,将所述第二执行时间数据存储至所述预设存储空间中;所述历史执行时间数据为在当前轮次之前,执行所述待检测任务所花费的最长执行时间;
41、当所述预设存储空间中存在与所述待检测任务对应的历史执行时间数据时,将所述第二执行时间数据与所述历史执行时间数据进行比对;若所述第二执行时间数据大于所述历史执行时间数据,
42、则根据所述第二执行时间数据对所述历史执行时间数据进行更新;
43、在到达所述预设时间后,将所述预设存储空间中与所述待检测任务对应的历史执行时间数据,作为所述待检测任务的最大执行时间数据。
44、第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任意一种自动检测任务最差执行时间的方法。
45、相对于现有技术,本技术具有以下有益效果:
46、通过获取待检测任务集,在待检测任务集中的每个待检测任务的起始检测点和结束检测点分别插入桩函数,得到每个待检测任务的起始桩函数和结束桩函数。通过起始桩函数标记每次执行待检测任务的起始执行时间数据,通过结束桩函数标记每次执行待检测任务的结束执行时间数据。根据每次执行待检测任务的起始执行时间数据,以及每次执行待检测任务的结束执行时间数据,确定每个待检测任务的最大执行时间数据。对每个待检测任务的最大执行时间数据进行数据分析,得到每个待检测任务的最差执行时间数据。从而通过在每个待检测任务中插入的桩函数,实现在存在多个待检测任务时,能够同时采集每个待检测任务的起始执行时间数据,以及结束执行时间数据,并计算生成每个待检测任务的最差执行时间数据,提高在存在多个待检测任务时,最差执行时间的检测效率。
1.一种自动检测任务最差执行时间的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在所述根据所述每次执行所述待检测任务的起始执行时间数据,以及所述每次执行所述待检测任务的结束执行时间数据,确定每个所述待检测任务的最大执行时间数据之前,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,所述在执行所述待检测任务时,验证所述起始桩函数的唯一标识符,以及所述结束桩函数的唯一标识符的有效性,包括:
4.根据权利要求1所述的方法,其特征在于,所述根据所述每次执行所述待检测任务的起始执行时间数据,以及所述每次执行所述待检测任务的结束执行时间数据,确定每个所述待检测任务的最大执行时间数据,包括:
5.根据权利要求1所述的方法,其特征在于,所述对所述每个所述待检测任务的最大执行时间数据进行数据分析,得到每个所述待检测任务的最差执行时间数据包括:
6.一种自动检测任务最差执行时间的装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
8.根据权利要求7所述的装置,其特征在于,所述验证模块,具体用于:
9.根据权利要求1所述的装置,其特征在于,所述确定模块,具体用于:
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至5中任意一种自动检测任务最差执行时间的方法。