本技术涉及网络安全,特别是涉及一种应用程序安全运行方法、装置、设备和存储介质。
背景技术:
1、目前,应用程序在虚拟机上运行时,首先将高级编程语言编写的应用程序执行码转变为硬件资源可执行的字节码,然后为字节码分配硬件资源,以通过硬件资源执行字节码,之后才可以得到可供用户看到和使用的应用程序。
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、经由上述的技术方案可知,本技术提供的应用程序安全运行方法,在应用程序需要在生成环境下的虚拟机上运行时,获取应用程序包含的各功能模块的过渡功能类型和应用程序的执行码,然后通过虚拟机中的隔离层将应用程序的执行码处理为应用程序的字节码。为了避免不健全的应用程序在运行过程中占用过多的硬件资源,本技术可以通过虚拟机中的隔离层为应用程序的字节码添加限制条件,该限制条件用于限定应用程序的字节码运行时使用的硬件资源的范围,接着通过虚拟机中的交互层为应用程序的字节码分配符合限制条件的目标硬件资源,以得到各功能模块分别对应的目标硬件资源,最后通过虚拟机中的过渡层按照优先运行资源占用率低的功能模块的运行规则,根据各功能模块的过渡功能类型,通过各功能模块分别对应的目标硬件资源依次运行各功能模块。由此可见,本技术通过限定应用程序的字节码运行时使用的硬件资源的范围,可以避免应用程序占用过多的硬件资源,进而确保了虚拟机的安全稳定。