[发明专利]一种支持插件接口同步异步统一调用的方法及微内核系统有效
申请号: | 201810829640.1 | 申请日: | 2018-07-25 |
公开(公告)号: | CN109240758B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 刘银森;郜鹏 | 申请(专利权)人: | 武汉精测电子集团股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 赵伟 |
地址: | 430070 湖北省武汉市洪*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 插件 接口 同步 异步 统一 调用 方法 内核 系统 | ||
本发明公开了一种支持插件接口同步异步统一调用的方法及微内核系统,该架构包括应用定位表、消息队列、线程池和映射结构表;应用定位表用于存储使用同一微内核系统的多个应用程序的定位信息;映射结构表用于对应存储一个应用程序中的插件名、插件接口名、插件接口地址之间的映射关系;消息队列按序存储插件接收的远程调用请求;线程池中的每个线程对应绑定一个插件以拉取该插件接收的远程调用请求,提取插件名并根据映射结构表查找插件名对应的插件接口地址,匹配并进行接口调用;本发明支持应用进程内及进程间的插件接口的同步或异步交互调用,使微内核系统既可作为单一应用的软件架构,也可以扩展为分布式应用的软件架构,提升了微内核系统的延展性。
技术领域
本发明属于软件架构及应用程序插件技术领域,更具体地,涉及一种支持插件接口同步异步统一调用的方法及微内核系统。
背景技术
微内核架构有时也被成为插件架构模式(plug-in architecture pattern),见图1,其是一种通用的软件架构模式,与所使用的软件开发语言没有强制关联关系。微内核架构包含两部分组件:核心系统(core system)和插件模块(plug-in modules)。应用逻辑被分割为独立的插件模块和核心系统,提供了可扩展性、灵活性、功能隔离和自定义处理逻辑的特性。微内核架构的使用范围很广泛,比较著名的插件架构产品为Eclipse和Firefox。
插件模块连接核心系统的方法可以有很多种,包含OSGi(开放服务网关协议)、消息队列、网络服务、甚至是直接的点对点绑定(对象实例化)。选用的连接方式取决于设计的应用程序类型(小产品或大型企业产品)和一些特定需求(如单一部署或分布式部署)。架构模式本身不指定任何一种实施方式,只要求插件模块必须保持相互独立。插件模块连接核心系统的方式在一定程度上决定了插件接口被交互调用的方式,如图2所示,不同插件内接口的交互场景可能包括在同一应用进程内或不同应用进程间两种情况,且接口调用方式应至少具备同步、异步两种调用形式;
但是现行一些已实现的微内核架构通常对以上场景的支持并不完全,例如CPPMicroservice,将插件实现的类型或接口注册为服务的形式,只支持同一应用进程内插件接口的交互调用,且在使用过程中只能以同步方式构造插件对象并使用其接口,导致无法实现使用该微内核架构的应用与其它应用之间的互操作,不利于提升微内核架构的应用扩展性。
发明内容
针对现有技术的至少一个缺陷或改进需求,本发明提供了一种支持插件接口同步异步统一调用的方法及微内核系统,其目的在于解决现有的微内核架构系统无法完全支持在应用进程内和应用进程间的同步、异步调用插件接口的问题。
为实现上述目的,按照本发明的一个方面,提供了一种支持插件接口同步异步统一调用的方法,包括以下步骤:
S1:应用程序中的微内核系统创建该应用的应用定位表,用于存储使用同一框架的其它应用程序的定位信息,该定位信息包括应用名及其对应的网络位置信息;并创建对应的映射结构表以存储该应用中的插件名、插件接口名和插件接口地址的映射关系;
S2:通过所述应用定位表查找待调用的应用程序是本地应用或外部应用;所述应用定位表中存储有使用同一微内核系统的多个应用程序的定位信息;若是本地应用,则进入步骤S3;若是外部应用,则进入步骤S6;
S3:根据不同的调用接口区分本次调用为本地应用内的同步调用或异步调用,所述调用接口包括同步调用接口和异步调用接口;若是同步调用,则进入步骤S4;若是异步调用,进入步骤S5;
S4:通过本地应用的映射结构表查找待调用的插件接口地址并直接进行接口调用;
S5:构造远程调用消息并插入到待调用插件的消息队列中;待调用插件通过本地应用的映射结构表查找待调用的插件接口地址并进行接口调用;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉精测电子集团股份有限公司,未经武汉精测电子集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810829640.1/2.html,转载请声明来源钻瓜专利网。