[发明专利]一种Linux下自动加载插件的系统和方法有效
申请号: | 202010056905.6 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111273957B | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 赵媛;霍文 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F21/51;G06F21/64 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王敏 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 自动 加载 插件 系统 方法 | ||
本发明实施例公开了一种Linux下自动加载插件的系统和方法,系统包括插件数据采集模块、插件解析模块、插件执行模块和插件响应模块,插件数据采集模块用于采集系统配置文件中的插件信息,插件数据采集模块用于将插件信息存储到数据库中,插件解析模块用于解析数据库中的插件信息,插件运行模块用于运行插件,插件响应模块用于汇总插件运行结果;方法包括采集系统配置文件中的插件信息,将插件信息存储到数据库中,解析数据库中的插件信息,运行插件,汇总插件运行结果。本发明将插件统一集成到系统中,实现了在不修改源码的情况下,达到自动加载插件的目的,扩展性极强。
技术领域
本发明涉及计算机技术领域,具体涉及一种Linux下自动加载插件的系统和方法。
背景技术
Linux操作系统由于其良好的可定制性与扩展性,使其在各种应用环境中都能够满足多样化的需求。大型的超级计算机、嵌入式设备、日常办公设备,以及移动计算终端设备,Linux操作系统都能够部署在这些应用环境中。
目前存在的大多数的系统实现方案中,均使用巨内核+插件的形式实现,即大部分功能由系统运行的框架来实现,而有极少的功能是由插件来实现的。
基于这种设计的系统实现方案,扩展性很差,甚至没有扩展性。如在某些特定的业务中,这种系统实现方案能够满足业务需求,但是对于其他一些需要经常或频繁增加业务场景的情况,这种系统实现方案展现出不可扩展的弊端,不能满足业务的需要。
发明内容
本发明实施例中提供了一种Linux下自动加载插件的系统和方法,以解决现有方案扩展性差的问题。
本发明实施例公开了如下技术方案:
本发明第一方面提供了一种Linux下自动加载插件的系统,包括:
插件数据采集模块、插件解析模块、插件执行模块和插件响应模块,所述插件数据采集模块用于采集系统配置文件中的插件信息,所述插件数据采集模块用于将所述插件信息存储到数据库中,所述插件解析模块用于解析数据库中的插件信息,所述插件运行模块用于运行插件,所述插件响应模块用于汇总插件运行结果。
进一步地,所述系统配置文件包括所述系统版本、执行结果输出类型、日志配置参数和插件接入点,所述执行结果输出类型用于定义插件执行结果的文件类型、所述日志配置参数用于定义日志模块记录的日志文件容量、日志文件存储路径和日志级别,所述插件接入点包括一个或多个插件列表,所述插件接入点用于提供插件列表的文件路径,所述插件列表包括一个或多个插件。
进一步地,所述插件解析模块解析数据库中的插件信息具体为:
获取插件列表中的插件级别,并依据插件级别对插件进行降序排列;
获取插件列表中插件的第一hash值,根据插件列表中插件信息求取第二hash值;
若第一hash值和第二hash值相同,则获取插件列表中插件的运行场景;
若运行场景为远程执行,则获取插件列表中插件的类型;
根据插件类型,进行插件的拉起操作。
进一步地,所述根据插件类型,进行插件的拉起操作具体为:
若插件类型为可执行文件,则所述系统使用管道执行指令进行插件的拉起操作;
若插件类型为脚本,则所述系统调用check()函数进行插件的拉起操作。
进一步地,所述系统还包括日志模块,所述日志模块用于记录所述插件数据采集模块、插件解析模块和插件运行模块的执行过程日志,所述日志模块用于记录所述插件响应模块的运行结果日志。
本发明第二方面提供了一种Linux下自动加载插件的方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010056905.6/2.html,转载请声明来源钻瓜专利网。