[发明专利]一种支持插件接口同步异步统一调用的方法及微内核系统有效
申请号: | 201810829640.1 | 申请日: | 2018-07-25 |
公开(公告)号: | CN109240758B | 公开(公告)日: | 2021-10-29 |
发明(设计)人: | 刘银森;郜鹏 | 申请(专利权)人: | 武汉精测电子集团股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 武汉东喻专利代理事务所(普通合伙) 42224 | 代理人: | 赵伟 |
地址: | 430070 湖北省武汉市洪*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 插件 接口 同步 异步 统一 调用 方法 内核 系统 | ||
1.一种支持插件接口同步异步统一调用的方法,其特征在于,包括以下步骤:
S1:各应用程序中的框架分别为其应用创建应用定位表以存储使用同一框架的其它应用程序的定位信息,并分别创建映射结构表以存储应用中的插件名、插件接口名和插件接口地址的映射关系;
分别为各插件创建消息队列以按序存储插件接收的远程调用请求,并将所述远程调用请求的处理任务附加到插件的绑定线程中;
S2:通过所述应用定位表和映射结构表查找待调用的插件接口属于本地应用或外部应用;若是本地应用,则进入步骤S3;若是外部应用,则进入步骤S6;
S3:根据不同的调用接口区分本次调用为本地应用内的同步调用或异步调用,所述调用接口包括同步调用接口和异步调用接口;若是同步调用,则进入步骤S4;若是异步调用,进入步骤S5;
S4:待调用插件通过本地应用的映射结构表查找待调用的插件接口地址并直接进行接口调用;
S5:构造远程调用消息并插入到待调用插件的消息队列中;待调用插件通过本地应用的映射结构表查找待调用的插件接口地址并进行接口调用;
S6:构造远程调用消息并发送到外部应用,外部应用通过其对应的映射结构表查找待调用的插件接口地址并进行接口调用;若为同步调用,则本地应用同步等待外部应用对接口调用结果的回复消息。
2.如权利要求1所述的支持插件接口同步异步统一调用的方法,其特征在于,步骤S1中,所述映射结构表的创建过程包括以下子步骤:
S11:加载插件的初始化接口并注册插件内的所有插件接口;
S12:以插件为单位创建插件接口表,枚举插件内所有的插件接口并分别为所述插件接口生成插件接口名、接口ID和接口地址;
S13:将插件名与插件接口表地址绑定以建立两者的对应关系,生成插件接口表地址表。
3.如权利要求2所述的支持插件接口同步异步统一调用的方法,其特征在于,步骤S4具体包括:在所述插件接口表地址表中查找待调用插件对应的插件接口表地址;根据所述插件接口表地址访问对应的插件接口表,匹配插件接口地址并直接进行接口调用。
4.如权利要求2所述的支持插件接口同步异步统一调用的方法,其特征在于,所述步骤S5中接口调用的过程包括以下步骤:
S51:待调用插件的绑定线程访问其消息队列以获取远程调用消息;
S52:从所述远程调用消息中提取出待调用的插件名,根据所述插件名在插件接口表地址表中查找对应的插件接口表地址;
S53:根据所述插件接口表地址访问插件接口表,传递接口参数并直接进行接口调用。
5.如权利要求2所述的支持插件接口同步异步统一调用的方法,其特征在于,所述步骤S6中接口调用的过程包括以下步骤:
S61:外部应用接收远程调用消息并将其插入到待调用插件的消息队列中;
S62:待调用插件的绑定线程访问其消息队列以获取远程调用消息;
S63:从所述远程调用消息中提取出待调用的插件名,根据所述插件名在插件接口表地址表中查找对应的插件接口表地址;
S64:根据所述插件接口表地址访问插件接口表,传递接口参数并直接进行接口调用。
6.如权利要求1所述的支持插件接口同步异步统一调用的方法,其特征在于,所述远程调用消息包括消息ID、目的应用名、目的插件名、接口名、接口参数、源端应用名、源端插件名和请求标识。
7.如权利要求6所述的支持插件接口同步异步统一调用的方法,其特征在于,步骤S6中同步调用过程具体包括:外部应用根据所述请求标识构造接口调用结果的回复消息;本地应用不断拉取其消息队列中的所述回复消息并检查其是否与请求标识相匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉精测电子集团股份有限公司,未经武汉精测电子集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810829640.1/1.html,转载请声明来源钻瓜专利网。