本申请涉及电子,涉及但不限于一种程序管理方法、装置及存储介质。
背景技术:
1、扩展的伯克利数据包过滤器(extended berkeley packet filter,ebpf)是一种数据包过滤技术,提供了一种在内核事件和用户程序事件发生时安全注入代码的机制,使得非内核开发人员也可以对内核进行控制。
2、随着基于ebpf的项目越来越大,如何高效管理这些ebpf程序就成了重要的问题。然而,现有的解决方案对管理多个ebpf程序的效率较低。
技术实现思路
1、有鉴于此,本申请实施例提供一种程序管理方法、装置和存储介质。
2、本申请实施例的技术方案是这样实现的:
3、第一方面,本申请实施例提供一种程序管理方法,应用于云端,所述方法包括:
4、收集至少一个节点端发送的系统信息;
5、接收待管理扩展伯克利数据包过滤器ebpf程序的程序类型和程序源码;
6、基于所述程序类型和至少一个所述系统信息对所述程序源码进行编译,得到至少一个ebpf程序模板;
7、将所述ebpf程序模板分发至所述节点端;其中,所述ebpf程序模板与所述系统信息匹配。
8、第二方面,本申请实施例提供一种程序管理装置,应用于云端,所述装置包括:
9、第一收集模块,用于收集至少一个节点端发送的系统信息;
10、第一接收模块,用于接收待管理扩展伯克利数据包过滤器ebpf程序的程序类型和程序源码;
11、第一编译模块,用于基于所述程序类型和至少一个所述系统信息对所述程序源码进行编译,得到至少一个ebpf程序模板;
12、第一分发模块,用于将所述ebpf程序模板分发至所述节点端;其中,所述ebpf程序模板与所述系统信息匹配。
13、第三方面,本申请实施例提供一种程序管理方法,应用于节点端,所述方法包括:
14、接收云端发送的扩展伯克利数据包过滤器ebpf程序模板;其中,所述ebpf程序模板是所述云端基于所述节点端的系统信息和待管理ebpf程序的程序类型对所述待管理ebpf程序的程序源码进行编译得到的;
15、基于所述程序类型装载所述ebpf程序模板,得到目标程序。
16、第四方面,本申请实施例提供一种程序管理装置,应用于节点端,所述装置包括:
17、第二接收模块,用于接收云端发送的扩展伯克利数据包过滤器ebpf程序模板;其中,所述ebpf程序模板是所述云端基于所述节点端的系统信息和待管理ebpf程序的程序类型对所述待管理ebpf程序的程序源码进行编译得到的;
18、第一装载模块,用于基于所述程序类型装载所述ebpf程序模板,得到目标程序。
19、第五方面,本申请实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序;所述处理器执行程序时,实现权利要求上述程序管理方法。
20、第六方面,本申请实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时,实现上述程序管理方法。
21、第七方面,本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现上述程序管理方法的步骤。
22、本申请实施例中,首先收集至少一个节点端发送的系统信息;接收待管理扩展伯克利数据包过滤器ebpf程序的程序类型和程序源码;然后基于所述程序类型和至少一个所述系统信息对所述程序源码进行编译,得到至少一个ebpf程序模板;最后将所述ebpf程序模板分发至所述节点端;其中,所述ebpf程序模板与所述系统信息匹配。这样云端可以对待管理的ebpf程序进行统一管理,并能够实时动态分发ebpf程序模板至节点端,完成ebpf程序的更新,实现了云端和节点端协同,从而提高了管理多个ebpf程序的效率。
1.一种程序管理方法,应用于云端,所述方法包括:
2.根据权利要求1所述的方法,所述系统信息包括所述节点端的架构信息和内核信息;
3.根据权利要求1所述的方法,所述方法还包括:
4.根据权利要求1至3任一项所述的方法,所述方法还包括:
5.根据权利要求1至3任一项所述的方法,所述ebpf程序模板至少包括以下至少之一信息:所述系统信息、待管理ebpf程序的字节码、所述程序类型、程序名称、所述待管理ebpf程序的执行方法以及所述待管理ebpf程序的数据结构。
6.一种程序管理方法,应用于节点端,所述方法包括:
7.根据权利要求6所述的方法,所述接收云端发送的扩展伯克利数据包过滤器ebpf程序模板之前,所述方法包括:
8.根据权利要求6所述的方法,所述基于所述程序类型装载所述ebpf程序模板,得到目标程序,包括:
9.一种程序管理装置,应用于云端,所述装置包括:
10.一种程序管理装置,应用于节点端,所述装置包括: