本公开涉及计算机,尤其涉及一种沙箱的重启方法和装置。
背景技术:
1、沙箱是一种提供目标对象隔离运行的机制,为沙箱内的目标对象提供虚拟的存储、网络等资源,可以限制不可信目标对象的执行环境,使不可信目标对象的运行影响仅在沙箱内部,不对整个系统的运行造成伤害。
2、当沙箱由于沙箱进程崩溃和关闭等原因退出后,在沙箱重启时,新的沙箱无法继承上一次沙箱的沙箱配置,导致上一次的个性化的沙箱配置丢失。
技术实现思路
1、为解决上述技术问题,本公开实施例提供了一种沙箱的重启方法和装置。
2、根据本公开实施例的一个方面,本公开实施例提供了一种沙箱的重启方法,所述方法包括:
3、响应于第n次启动沙箱,创建第n次启动沙箱对应的沙箱运行环境;
4、其中,n为大于1的正整数,所述第n次启动沙箱对应的沙箱运行环境包括目标沙箱配置,所述目标沙箱配置中包括配置修改信息,所述配置修改信息包括第n-1次在所述沙箱内运行目标对象时,获取到的针对第n-1次创建的沙箱运行环境中的初始沙箱配置的修改内容;
5、在所述第n次启动沙箱对应的沙箱运行环境中运行沙箱进程,所述沙箱进程用于执行所述目标对象。
6、在本实施例中,在第n次启动沙箱时,对应的沙箱运行环境中的目标配置信息包括第n-1次的配置修改信息,即当前次沙箱重启时,重启的沙箱的沙箱配置可以继承前一次启动的沙箱的沙箱配置,以避免前一次启动的沙箱的沙箱配置丢失的弊端,避免了沙箱配置的重复调整,提高了沙箱重启的有效性和可靠性。
7、在一些实施例中,所述创建第n次启动沙箱对应的沙箱运行环境,包括:
8、获取本地运行所述目标对象的目标本地配置,其中,所述目标本地配置包括所述配置修改信息;
9、将所述目标本地配置挂载至所述沙箱,得到所述目标沙箱配置;
10、基于所述目标沙箱配置创建所述第n次启动沙箱对应的沙箱运行环境。
11、也就是说,在一些可能实现的技术方案中,可以通过对本地配置的修改,使得重启的沙箱的沙箱配置无需再次个性化的调整。
12、在一些实施例中,所述目标本地配置是根据所述配置修改信息,对第n-1次在本地运行所述目标对象的初始本地配置进行修改得到的,所述初始沙箱配置是将所述初始本地配置挂载至第n-1次启动的沙箱得到的。
13、也就是说,在一些可能实现的技术方案中,在前一次沙箱配置被修改时,可以根据该配置修改信息对本地的本地配置进行修改,以使得修改后的本地配置的内容与修改后的沙箱配置的内容相同,以使得在当前次启动沙箱时,将修改后的本地配置挂载至当前次启动的沙箱,得到当前次启动的沙箱的沙箱配置,使得重启的沙箱的沙箱配置无需再次个性化的调整。
14、在一些实施例中,所述目标本地配置是采样用户控件文件系统,将所述配置修改信息同步至所述初始本地配置得到的。
15、示例性的,通过用户控制文件系统,可以实现将配置修改信息在本地配置的同步写入。
16、在一些实施例中,所述创建第n次启动沙箱对应的沙箱运行环境,包括:
17、获取本地运行所述目标对象的本地配置,并将所述本地配置挂载至所述沙箱,得到初始沙箱配置;
18、根据所述初始沙箱配置和本地预存数据生成所述目标沙箱配置,其中,所述本地预存数据中至少包括所述配置修改信息;
19、基于所述目标沙箱配置创建所述第n次启动沙箱对应的沙箱运行环境。
20、也就是说,在一些可能实现的技术方案中,当前一次启动沙箱,沙箱配置被修改时,可以将相应的配置修改信息在本地存储,以便在当前次启动沙箱时,根据本地存储的配置修改信息确定当前次启动的沙箱的沙箱配置,使得重启的沙箱的沙箱配置无需再次个性化的调整。
21、在一些实施例中,若所述本地预存数据为所述配置修改信息,则所述根据所述初始沙箱配置和本地预存数据生成所述目标沙箱配置,包括:
22、根据所述配置修改信息,对所述初始沙箱配置中与所述配置修改信息对应的原数据进行修改,得到所述目标沙箱配置。
23、在一些实施例中,若所述本地预存数据为基于所述配置修改信息对所述初始沙箱配置进行修改得到的数据,则所述根据所述初始沙箱配置和本地预存数据生成所述目标沙箱配置,包括:
24、将所述本地预存数据替换所述初始沙箱配置,得到所述目标沙箱配置。
25、也就是说,在本地存储的可能为配置修改信息,也可以为基于配置修改信息对前一次沙箱启动时的沙箱配置进行修改后的沙箱配置,若本地存储的为配置修改信息,则可以基于配置修改信息对当前次启动沙箱的初始沙箱配置进行修改,若本地存储的为修改后的沙箱配置,则可以基于修改后的沙箱配置对当前次启动沙箱的初始沙箱配置进行替换,以避免对当前次沙箱的沙箱配置重新进行调整。
26、在一些实施例中,所述本地预存数据为至少包括第n-1次在所述沙箱内运行所述目标对象时,在本地存储的对所述初始沙箱配置的修改的所述配置修改信息的数据;
27、其中,所述初始沙箱配置是基于所述初始本地配置挂载至所述沙箱得到的。
28、在一些实施例中,所述本地预存数据为所述配置修改信息;或者,所述本地预存数据为基于获取到所述配置修改信息对所述初始沙箱配置修改后的配置。
29、在一些实施例中,所述本地预存数据为加密后的数据。
30、也就是说,可以对配置修改信息,或者基于配置修改信息得到的修改后的沙箱配置先加密,而后进行存储,以避免配置修改信息和修改后的沙箱配置的泄漏。
31、根据本公开实施例的另一个方面,本公开实施例还提供了一种沙箱的重启装置,所述装置包括:
32、创建单元,用于响应于第n次启动沙箱,创建第n次启动沙箱对应的沙箱运行环境;
33、其中,n为大于1的正整数,所述第n次启动沙箱对应的沙箱运行环境包括目标沙箱配置,所述目标沙箱配置中包括配置修改信息,所述配置修改信息包括第n-1次在所述沙箱内运行目标对象时,获取到的针对第n-1次创建的沙箱运行环境中的初始沙箱配置的修改内容;
34、运行单元,用于在所述第n次启动沙箱对应的沙箱运行环境中运行沙箱进程,所述沙箱进程用于执行所述目标对象。
35、在一些实施例中,所述创建单元,包括:
36、第一获取子单元,用于获取本地运行所述目标对象的目标本地配置,其中,所述目标本地配置包括所述配置修改信息;
37、第一挂载子单元,用于将所述目标本地配置挂载至所述沙箱,得到所述目标沙箱配置;
38、第一创建子单元,用于基于所述目标沙箱配置创建所述第n次启动沙箱对应的沙箱运行环境。
39、在一些实施例中,所述目标本地配置是根据所述配置修改信息,对第n-1次在本地运行所述目标对象的初始本地配置进行修改得到的,所述初始沙箱配置是将所述初始本地配置挂载至第n-1次启动的沙箱得到的。
40、在一些实施例中,所述目标本地配置是采样用户控件文件系统,将所述配置修改信息同步至所述初始本地配置得到的。
41、在一些实施例中,所述创建单元,包括:
42、第二获取子单元,用于获取本地运行所述目标对象的本地配置;
43、第二挂载子单元,用于将所述本地配置挂载至所述沙箱,得到初始沙箱配置;
44、生成子单元,用于根据所述初始沙箱配置和本地预存数据生成所述目标沙箱配置,其中,所述本地预存数据中至少包括所述配置修改信息;
45、第二创建子单元,用于基于所述目标沙箱配置创建所述第n次启动沙箱对应的沙箱运行环境。
46、在一些实施例中,若所述本地预存数据为所述配置修改信息,则所述生成子单元用于,根据所述配置修改信息,对所述初始沙箱配置中与所述配置修改信息对应的原数据进行修改,得到所述目标沙箱配置。
47、在一些实施例中,若所述本地预存数据为基于所述配置修改信息对所述初始沙箱配置进行修改得到的数据,则所述生成子单元用于,将所述本地预存数据替换所述初始沙箱配置,得到所述目标沙箱配置。
48、在一些实施例中,所述本地预存数据为至少包括第n-1次在所述沙箱内运行所述目标对象时,在本地存储的对所述初始沙箱配置的修改的所述配置修改信息的数据;
49、其中,所述初始沙箱配置是基于所述初始本地配置挂载至所述沙箱得到的。
50、在一些实施例中,所述本地预存数据为所述配置修改信息;或者,所述本地预存数据为基于获取到所述配置修改信息对所述初始沙箱配置修改后的配置。
51、在一些实施例中,所述本地预存数据为加密后的数据。
52、根据本公开实施例的另一个方面,本公开实施例还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机指令,当所述计算机指令在被处理器运行时,使得上述任一实施例所述的方法被执行。
53、根据本公开实施例的另一个方面,本公开实施例还提供了一种计算机程序产品,当所述计算机程序产品在处理器上运行时,使得上述任一实施例所述的方法被执行。
54、根据本公开实施例的另一个方面,本公开实施例还提供了一种电子设备,包括:
55、至少一个处理器;以及
56、与所述至少一个处理器通信连接的存储器;其中,
57、所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,使得上述任一实施例所述的方法被执行。
58、本公开实施例提供了一种沙箱的重启方法和装置,包括:响应于第n次启动沙箱,创建第n次启动沙箱对应的沙箱运行环境,其中,n为大于1的正整数,第n次启动沙箱对应的沙箱运行环境包括目标沙箱配置,目标沙箱配置中包括配置修改信息,配置修改信息包括第n-1次在沙箱内运行目标对象时,获取到的针对第n-1次创建的沙箱运行环境中的初始沙箱配置的修改内容,在第n次启动沙箱对应的沙箱运行环境中运行沙箱进程,沙箱进程用于执行目标对象,在本实施例中,通过创建包括配置修改信息的目标沙箱配置的沙箱运行环境,以在该沙箱运行环境中运行执行目标对象的沙箱进程,可以实现重启后的目标沙箱配置继承重启前的对初始沙箱配置的修改内容,可以避免重复配置,提高重启沙箱的有效性和可靠性,提高用户的体验。