本说明书涉及计算机应用,具体地说,涉及计算机应用下的轮询技术,更具体地说,涉及一种轮询方法、装置、计算设备及计算机可读存储介质。
背景技术:
1、安全元件(secure element,se)子系统通过安全芯片技术,与典型安全计算处理器架构相融合,一同构建安全增强的处理器安全计算架构,保证重要资源的安全性。
2、目前,安全元件子系统的运行效率有待优化。
技术实现思路
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、在一个实施方式中,所述轮询方法还包括:
41、统计目标类型的第一指令的连续按时执行次数,所述连续按时执行次数表征在第一次轮询操作中,获得所述安全元件子系统执行所述第一指令的结果的连续次数;
42、在所述目标类型的第一指令的所述连续按时执行次数大于预设次数时,调低所述历史第一指令报告的所述安全元件子系统的当前负载。
43、在一个实施方式中,还包括:
44、若第一次轮询操作未获得所述安全元件子系统执行所述第一指令的结果,则将后续轮询操作的轮询周期设置为第二预设周期,所述第二预设周期小于所述第一预设周期;
45、统计多次轮询操作的共计用时,在所述共计用时超过设定用时阈值时,停止对所述第一指令的轮询操作。
46、在一个实施方式中,所述安全元件子系统中构建有可信服务平台;所述可信服务平台包括可信密码模块tcm和可信平台模块tpm中的至少一者;
47、所述第一指令包括针对所述tcm的可信计算指令和/或针对所述tpm的可信计算指令。
48、第二方面,本说明书的一个实施方式提供了一种轮询装置,应用于计算设备,所述计算设备包括第一处理器核,所述第一处理器核搭载有安全元件子系统,所述轮询装置包括:
49、指令发送模块,用于响应于针对所述安全元件子系统的请求,向所述安全元件子系统发送第一指令;
50、第一轮询模块,用于将对所述安全元件子系统的第一次轮询操作的周期设置为第一预设周期,所述第一预设周期与周期参数对应;所述周期参数包括所述安全元件子系统的当前负载以及第一指令的类型;所述轮询操作用于查询所述安全元件子系统执行所述第一指令的结果。
51、在一个实施方式中,所述第一轮询模块将对所述安全元件子系统的第一次轮询操作的周期设置为第一预设周期具体用于:
52、根据历史第一指令报告的所述周期参数,查询关联关系表,以获得与所述第一指令对应的预估耗时;所述预估耗时用于表征预估所述安全元件子系统执行所述第一指令所需的时间,所述第一指令的预估信息包括所述第一指令的类型以及与所述第一指令对应的预估耗时;
53、将所述预估耗时作为所述第一预设周期;
54、所述关联关系表存储有所述第一指令的预估信息与所述安全元件子系统的负载的对应关系。
55、在一个实施方式中,所述第一轮询模块还用于获取历史第一指令报告的所述安全元件子系统的当前负载;
56、历史第一指令报告所述安全元件子系统的当前负载的过程包括:
57、获取所述安全元件子系统执行所述历史第一指令的实际耗时;
58、根据所述历史第一指令的实际信息,查询所述关联关系表,以获得与所述历史第一指令的实际信息相匹配的所述第一指令的预估信息;
59、将与查询获得的所述第一指令的预估信息对应的所述安全元件子系统的负载,作为所述安全元件子系统的当前负载;
60、所述历史第一指令的实际信息包括所述安全元件子系统执行所述历史第一指令的实际耗时以及所述历史第一指令的类型。
61、在一个实施方式中,还包括:时间判断模块;其中,
62、所述时间判断模块,用于若报告时间在有效时间内,则触发所述第一轮询模块;所述报告时间包括所述历史第一指令报告所述安全元件子系统的当前负载的时间;
63、若所述报告时间在所述有效时间之外,则将预设负载作为所述安全元件子系统的当前负载,根据所述安全元件子系统的当前负载以及所述第一指令的类型,查询关联关系表,以获得与所述第一指令对应的预估耗时,并触发所述第一轮询模块执行将所述预估耗时作为所述第一预设周期的步骤。
64、在一个实施方式中,在所述报告时间在所述有效时间之外的情况下,所述轮询装置还包括:
65、负载更新模块,用于记录所述安全元件子系统执行所述第一指令的实际耗时,根据所述第一指令的实际信息,查询所述关联关系表,以获得与所述第一指令的实际信息对应的所述安全元件子系统的负载;所述第一指令的实际信息包括所述安全元件子系统执行所述第一指令的实际耗时以及所述第一指令的类型;
66、利用查询获得的所述安全元件子系统的负载,更新所述历史第一指令报告的所述安全元件子系统的当前负载;
67、利用所述安全元件子系统执行完毕所述第一指令的时间更新所述报告时间。
68、在一个实施方式中,所述第一轮询模块根据历史第一指令报告的所述周期参数,查询关联关系表之前还用于:
69、若多条历史第一指令的报告时间在有效时间内,且多条不同类型的所述历史第一指令报告的所述安全元件子系统的当前负载的差值小于预设差值,则将与所述第一指令的类型相同的所述历史第一指令的实际耗时作为与所述第一指令对应的预估耗时,并执行将所述预估耗时作为所述第一预设周期的步骤。
70、在一个实施方式中,所述轮询装置还包括:
71、表格更新模块,用于获取多条所述第一指令的执行信息,所述第一指令的执行信息包括所述安全元件子系统执行所述第一指令的实际耗时、与所述第一指令对应的预估耗时以及与所述预估耗时对应的所述安全元件子系统的负载;
72、根据多条所述第一指令的执行信息,更新所述关联关系表。
73、在一个实施方式中,所述第一指令包括非密码运算部分;所述关联关系表包括第一关系表;其中,所述第一关系表中存储有所述第一指令的非密码预估信息与所述安全元件子系统的负载的对应关系;所述第一指令的非密码预估信息包括所述第一指令的类型以及所述第一指令的非密码运算部分的预估耗时;
74、所述第一轮询模块,根据历史第一指令报告的所述周期参数,查询关联关系表,以获得与所述第一指令对应的预估耗时具体用于:
75、根据历史第一指令报告的所述安全元件子系统的当前负载以及所述第一指令的类型,查询所述第一关系表,以获得与所述第一指令的类型以及历史第一指令报告的所述安全元件子系统的当前负载均对应的所述第一指令的非密码运算部分的预估耗时;
76、将所述第一指令的非密码运算部分的预估耗时作为与所述第一指令对应的预估耗时。
77、在一个实施方式中,所述第一指令还包括密码运算部分;所述关联关系表还包括第二关系表,所述第二关系表中存储有所述第一指令的密码运算部分与所述第一指令的密码运算部分的预估耗时的对应关系;
78、所述第一轮询模块根据历史第一指令报告的所述周期参数,查询关联关系表,以获得与所述第一指令对应的预估耗时具体用于:
79、根据历史第一指令报告的所述安全元件子系统的当前负载以及所述第一指令的类型,查询所述第一关系表,以获得与所述第一指令的类型以及历史第一指令报告的所述安全元件子系统的当前负载均对应的所述第一指令的非密码运算部分的预估耗时;
80、根据所述第一指令的密码运算部分查询所述第二关系表,以获得所述第一指令的密码运算部分的预估耗时;
81、将所述第一指令的非密码运算部分的预估耗时和所述第一指令的密码运算部分的预估耗时之和作为与所述第一指令对应的预估耗时。
82、在一个实施方式中,还包括:
83、谨慎调优模块,用于统计目标类型的第一指令的连续按时执行次数,所述连续按时执行次数表征在第一次轮询操作中,获得所述安全元件子系统执行所述第一指令的结果的连续次数;
84、在所述目标类型的第一指令的所述连续按时执行次数大于预设次数时,调低所述历史第一指令报告的所述安全元件子系统的当前负载。
85、在一个实施方式中,所述轮询装置还包括:
86、第二轮询模块,用于若第一次轮询操作未获得所述安全元件子系统执行所述第一指令的结果,则将后续轮询操作的轮询周期设置为第二预设周期,所述第二预设周期小于所述第一预设周期;
87、统计多次轮询操作的共计用时,在所述共计用时超过设定用时阈值时,停止对所述第一指令的轮询操作。
88、在一个实施方式中,所述安全元件子系统中构建有可信服务平台;所述可信服务平台包括可信密码模块tcm和可信平台模块tpm中的至少一者;
89、所述第一指令包括针对所述tcm的可信计算指令和/或针对所述tpm的可信计算指令。
90、第三方面,本说明书的一个实施方式还提供了一种计算设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的轮询方法。
91、第四方面,本说明书的一个实施方式还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的轮询方法。
92、第五方面,本说明书实施例提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机程序,所述处理器执行所述计算机程序时实现上述的轮询方法的步骤。
93、从上述技术方案可以看出,本说明书实施例提供的轮询方法在向安全元件子系统发送第一指令后,将对所述安全元件子系统的第一次轮询操作的周期设置为第一预设周期,且所述第一预设周期与周期参数对应,所述周期参数包括所述安全元件子系统的当前负载以及第一指令的类型,使得针对所述安全元件子系统的第一次轮询操作的周期可以与安全元件子系统的当前负载以及第一指令的类型相匹配,则可使得第一次轮询操作的轮询周期与安全元件子系统基于当前负载执行第一指令得到运算结果的耗时相对应。如此,可以提高通过第一次轮询操作即可获得所述安全元件子系统执行所述第一指令的结果的概率,有利于减少对安全元件子系统的轮询次数,避免了安全元件子系统为了回应轮询操作而占用过多运算资源的问题,使得安全元件子系统的运算资源可以主要用于处理所述第一指令,从而实现提升安全元件子系统的运行效率的目的。