[发明专利]一种基于微内核架构的插件调用方法及装置有效

专利信息
申请号: 201910044541.7 申请日: 2019-01-17
公开(公告)号: CN109828796B 公开(公告)日: 2022-04-15
发明(设计)人: 郭治军;刘银森;郜鹏;肖威 申请(专利权)人: 武汉精立电子技术有限公司;武汉精测电子集团股份有限公司
主分类号: G06F9/445 分类号: G06F9/445
代理公司: 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 代理人: 罗飞
地址: 430205 湖北省武*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 内核 架构 插件 调用 方法 装置
【说明书】:

发明提供了一种基于微内核架构的插件调用方法及装置,其中的方法包括:首先将插件模块中的所有插件继承预设父类,并在预设父类中设置类型判断方法,然后分析所有插件的源代码,获得插件之间的继承关系,接着根据插件之间的继承关系,生成与每个插件对应的类型判断方法的实现代码;当进行插件调用时,通过核心系统调用与目标插件对应的类型判断方法进行安全判断,如果安全,则进行父类到子类的转换,再基于转换的结果,进行目标插件的调用。本发明实现了不依赖于RTTI的通用插件调用以及提高调用效率的技术效果。

技术领域

本发明涉及计算机技术领域,具体涉及一种基于微内核架构的插件调用方法及装置。

背景技术

微内核架构有时也被称为插件架构模式(plug-in architecture pattern),微内核架构包含两部分组件:核心系统(core system)和插件模块(plug-in modules)。应用逻辑被分割为独立的插件模块和核心系统,提供了可扩展性、灵活性、功能隔离和自定义处理逻辑的特性。微内核架构的使用范围很广泛,比较著名的插件架构产品为Eclipse和Firefox。

软件开发过程中,一个插件不可避免地需要调用另外一个插件的功能,则需要要获取另外一个插件的对象。例如,如图1所示,为插件之间的继承关系示意图,IPlugin为CameraPlugin和PGPlugin的父类,PGPlugin为PowerPGPlugin和HyPgPlugin的父类。某个插件APlugin需要调用PowerPgPlugin的接口,则需要获得PowerPgPlugin的接口指针。但此时在核心系统中PowerPgPlugin对象是以IPlugin指针的方式存储的,要从IPlugin指针得到PowerPgPlugin的指针则需要进行从父类到子类的类型转换机制。

本发明申请人在实施本发明的过程中,发现现有技术中至少存在如下技术问题:

现有方法中,如果存在某个BPlugin错误的将PowerPgPlugin转换成HyPgPlugin。并且调用HyPgPlugin的方法,那么程序将会出现无法预料的后果(绝大多数情况下会崩溃)。有些编程语言会提供这种类型安全的转换接口,比如c++的dynamic_cast。但是dynamic_cast依赖于C++的RTTI(Runtime Type Information,通常称为运行时类型信息)机制,一方面不通用,因为有的情况下会要求程序必须关闭RTTI;另一方面dynamic_cast需要在运行时遍历RTTI继承树,每次进行转换都需要遍历继承树,效率比较低。

发明内容

有鉴于此,本发明实施例提供了一种基于微内核架构的插件调用方法及装置,用以解决或者至少部分解决现有技术存在的通用性较差的技术问题。

为了解决上述技术问题,本发明第一方面提供了一种基于微内核架构的插件调用方法,所述微内核架构包括插件模块和核心系统,包括:

将插件模块中的所有插件继承预设父类,并在预设父类中设置类型判断方法,所述类型判断方法用以判断一个具体的对象是否为某一个类的对象;

分析所有插件的源代码,获得插件之间的继承关系;

根据插件之间的继承关系,生成与每个插件对应的类型判断方法的实现代码;

当进行插件调用时,通过核心系统调用与目标插件对应的类型判断方法进行安全判断,如果安全,则进行父类到子类的转换;

基于转换的结果,进行目标插件的调用。

在一种实施方式中,分析所有插件的源代码,获得插件之间的继承关系,具体包括:

采用源代码分析工具,通过遍历源代码的语法树的方式,获得每个插件的继承关系。

在一种实施方式中,预先存储预设父类的对象指针,通过核心系统调用与目标插件对应的类型判断方法进行安全判断,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉精立电子技术有限公司;武汉精测电子集团股份有限公司,未经武汉精立电子技术有限公司;武汉精测电子集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910044541.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top