Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种自动化生成eBPF程序的方法和装置 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:西安邮电大学

摘要:本发明公开了一种自动化生成eBPF程序的方法和装置,该方法包括:通过运行自动化脚本程序,生成内核态eBPF程序和用户态程序。具体步骤为,通过人机交互方式,由用户指定需要跟踪的tracepoints子系统及挂载点名称,从而获取对应挂载点下的format文件并提取字段名称和类型,构建该挂载点对应的数据结构,根据用户需要创建map表,在程序中定义内核态eBPF程序和用户态程序所必须的头文件和处理逻辑,自动化生成内核态eBPF程序和用户态程序。通过本发明所设计的方法和装置,解决了eBPF程序严重依赖Android内核版本的问题,允许用户选择需要的挂载点来定制化生成eBPF程序,开销更小,同时降低了编程人员编码和调试工作量。

主权项:1.一种自动化生成eBPF程序的方法,其特征在于,包括以下步骤:S1:由用户指定需要跟踪的tracepoints子系统及挂载点名称,为用户提供人机交互界面,由用户通过参数指定要跟踪的tracepoints子系统及挂载点;S2:根据用户指定要跟踪的tracepoints子系统及挂载点的名称,获取Android系统上该挂载点所处的对应路径;S3:自动生成内核态eBPF程序;S3.1在Android系统上所要跟踪的挂载点所处的对应路径中查找该挂载点的format文件,其中包含了tracepoints挂载点对应的数据结构;S3.2读取format文件内容,提取出每个字段名称和类型,并显示给用户;S3.3根据S3.2所提取的每个字段名称和类型,构建用户需要跟踪的挂载点对应的数据结构;S3.4由用户指定需要创建的map表的key和value值的类型和名称,map表用于存放内核态eBPF程序运行时获取到的内核上下文信息,通过map表的形式,内核态与用户态可以通信;S3.5定义通用业务逻辑和更新map的业务逻辑,通用业务逻辑至少包括内核态eBPF程序所需的头文件、数据结构和通用代码;S3.6将S3.1~S3.5中产生的代码拼接成内核态eBPF程序;S4:自动生成用户态程序;S4.1包含用户态程序所需的头文件、*.skel.h文件;S4.2将S3.3所生成的数据结构引入到用户态程序中;S4.3定义用户空间程序使用的公共函数和变量。至少包括用于打印日志信息函数和异常信号处理函数,打印日志信息函数用于控制libbpf库中的日志输出,信号处理函数用于用户中断用户态程序时的异常处理;S4.4定义用户态程序入口函数;S4.4.1定义通用业务逻辑;S4.4.2打开内核态eBPF程序;S4.4.3加载内核态eBPF程序;S4.4.4将内核态eBPF程序挂载到对应内核挂载点上,当内核运行到这些挂载点时,就会触发执行相应路径上的内核态eBPF程序;S4.4.5读取map表内容,打印map表内容。map存储着挂载点触发时系统的上下文信息;S4.5将S4.1~S4.4中产生的代码拼接成用户态程序。

全文数据:

权利要求:

百度查询: 西安邮电大学 一种自动化生成eBPF程序的方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。