本公开关于一种插件调用方法及装置
【技术实现步骤摘要】
插件调用方法及装置、电子设备、计算机可读存储介质
[0001]本公开涉及计算机领域,尤其涉及一种插件调用方法及装置
、
电子设备
、
计算机可读存储介质
。
技术介绍
[0002]插件(
Plug
‑
in
,又称
addin、add
‑
in、addon
或
add
‑
on
,又译外挂)是一种遵循一定规范的应用程序接口编写出来的程序,能够实现特定的功能,从而对既有软件(例如浏览器)进行功能扩展
。
[0003]插件只能运行在程序规定的系统平台下(可能同时支持多个系统平台,典型的系统平台包括一台电脑的硬件体系结构
、
操作系统
、
运行时库等),而不能脱离指定的系统平台单独运行
。
因此,为了便于在不同系统平台,尤其是不同操作系统中使用插件,相关技术中存在专门的插件管理平台
。
[0004]然而现有的插件管理平台(如图1所示),在调用插件时,采用的是在插件管理平台服务端运行插件管理进程,实现一个
Dbus
(消息总线系统)客户端,在插件进程端实现
Dbus
服务
。
插件进程将插件功能全部注册给
Dbus
,插件管理进程通过
Dbus
远程调用插件进程的功能
。
但该方案因为采用了
Dbus
通信,如果移植到不支持
Dbus
的系统平台(例如
windows
平台),则无法正常使用,导致对不同系统平台的兼容性存在局限
。
技术实现思路
[0005]本公开提供一种插件调用方法及装置
、
电子设备
、
计算机可读存储介质,以至少解决相关技术插件管理平台在调用插件时对不同系统平台的兼容性存在局限的问题
。
[0006]根据本公开实施例的第一方面,提供一种插件调用方法,所述插件调用方法包括:通过插件管理进程接收插件调用请求,所述插件调用请求用于调用目标插件实例,由前端基于网络传输协议发送;将所述插件调用请求转换为进程间调用指令;基于进程间通信协议将所述进程间调用指令发送至插件进程;基于进程间通信协议将执行结果返回给所述插件管理进程,所述执行结果通过所述插件进程执行所述目标插件实例得到;通过所述插件管理进程基于网络传输协议将所述执行结果返回给所述前端
。
[0007]可选地,所述将所述插件调用请求转换为进程间调用指令,包括:根据所述插件调用请求,从插件注册信息中确定出所述目标插件实例;生成用于调用所述目标插件实例的进程间调用指令
。
[0008]可选地,所述根据所述插件调用请求,从插件注册信息中确定出所述目标插件实例,包括:校验所述插件调用请求中的插件信息;在所述插件信息通过校验的情况下,根据所述插件调用请求,从所述插件注册信息中确定出所述目标插件实例
。
[0009]可选地,所述插件管理进程配置有远程过程调用客户端,所述插件进程配置有远程过程调用服务端,所述插件调用方法还包括:在所述远程过程调用客户端与所述远程过程调用服务端之间建立双向流,以供所述插件管理进程和所述插件进程通信
。
[0010]可选地,所述插件调用请求由所述前端基于双向长连接网络传输协议发送
。
[0011]可选地,所述插件调用方法还包括:通过所述插件管理进程接收插件实例创建请求,所述插件实例创建请求用于创建所述目标插件实例,由所述前端基于网络传输协议发送;基于所述插件实例创建请求,启动所述插件进程;通过所述插件进程创建所述目标插件实例,得到目标插件实例信息;基于进程间通信协议将所述目标插件实例信息返回给所述插件管理进程;将所述目标插件实例信息添加到插件注册信息中,并生成所述目标插件实例的创建成功信息;基于网络传输协议将所述创建成功信息返回给所述前端
。
[0012]可选地,所述插件调用方法还包括:通过所述插件进程启动远程过程调用服务端,所述远程过程调用服务端用于创建所述目标插件实例并得到所述目标插件实例信息,所述远程过程调用服务端还用于生成握手信息;所述基于进程间通信协议将所述目标插件实例信息返回给所述插件管理进程,包括:将所述握手信息返回给所述插件管理进程;通过所述插件管理进程响应于所述握手信息启动远程过程调用客户端,所述远程过程调用客户端与所述远程过程调用服务端之间建立并保持进程间通信连接;通过所述远程过程调用客户端接收所述远程过程调用服务端发送的所述目标插件实例信息
。
[0013]根据本公开实施例的第二方面,提供一种插件调用装置,所述插件调用装置包括:网络通信单元,被配置为通过插件管理进程接收插件调用请求,所述插件调用请求用于调用目标插件实例,由前端基于网络传输协议发送;转换单元,被配置为将所述插件调用请求转换为进程间调用指令;进程通信单元,被配置为基于进程间通信协议将所述进程间调用指令发送至插件进程;所述进程通信单元还被配置为基于进程间通信协议将执行结果返回给所述插件管理进程,所述执行结果通过所述插件进程执行所述目标插件实例得到;所述网络通信单元还被配置为通过所述插件管理进程基于网络传输协议将所述执行结果返回给所述前端
。
[0014]可选地,所述转换单元还被配置为:根据所述插件调用请求,从插件注册信息中确定出所述目标插件实例;生成用于调用所述目标插件实例的进程间调用指令
。
[0015]可选地,所述转换单元还被配置为:校验所述插件调用请求中的插件信息;在所述插件信息通过校验的情况下,根据所述插件调用请求,从所述插件注册信息中确定出所述目标插件实例
。
[0016]可选地,所述插件管理进程配置有远程过程调用客户端,所述插件进程配置有远程过程调用服务端,所述进程通信单元还被配置为在所述远程过程调用客户端与所述远程过程调用服务端之间建立双向流,以供所述插件管理进程和所述插件进程通信
。
[0017]可选地,所述插件调用请求由所述前端基于双向长连接网络传输协议发送
。
[0018]可选地,所述网络通信单元还被配置为通过所述插件管理进程接收插件实例创建请求,所述插件实例创建请求用于创建所述目标插件实例,由所述前端基于网络传输协议发送;所述插件调用装置还包括进程启动单元,被配置为基于所述插件实例创建请求,启动所述插件进程;所述插件调用装置还包括创建单元,被配置为通过所述插件进程创建所述目标插件实例,得到目标插件实例信息;所述进程通信单元还被配置为基于进程间通信协议将所述目标插件实例信息返回给所述插件管理进程;所述插件调用装置还包括注册单元,被配置为将所述目标插件实例信息添加到插件注册信息中,并生成所述目标插件实例的创建成功信息;所述网络通信单元还被配置为基于网络传输协议将所本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.
一种插件调用方法,其特征在于,包括:通过插件管理进程接收插件调用请求,所述插件调用请求用于调用目标插件实例,由前端基于网络传输协议发送;将所述插件调用请求转换为进程间调用指令;基于进程间通信协议将所述进程间调用指令发送至插件进程;基于进程间通信协议将执行结果返回给所述插件管理进程,所述执行结果通过所述插件进程执行所述目标插件实例得到;通过所述插件管理进程基于网络传输协议将所述执行结果返回给所述前端
。2.
如权利要求1所述的插件调用方法,其特征在于,所述将所述插件调用请求转换为进程间调用指令,包括:根据所述插件调用请求,从插件注册信息中确定出所述目标插件实例;生成用于调用所述目标插件实例的进程间调用指令
。3.
如权利要求2所述的插件调用方法,其特征在于,所述根据所述插件调用请求,从插件注册信息中确定出所述目标插件实例,包括:校验所述插件调用请求中的插件信息;在所述插件信息通过校验的情况下,根据所述插件调用请求,从所述插件注册信息中确定出所述目标插件实例
。4.
如权利要求1所述的插件调用方法,其特征在于,所述插件管理进程配置有远程过程调用客户端,所述插件进程配置有远程过程调用服务端,所述插件调用方法还包括:在所述远程过程调用客户端与所述远程过程调用服务端之间建立双向流,以供所述插件管理进程和所述插件进程通信
。5.
如权利要求1所述的插件调用方法,其特征在于,所述插件调用请求由所述前端基于双向长连接网络传输协议发送
。6.
如权利要求1至5中的任一权利要求所述的插件调用方法,其特征在于,所述插件调用方法还包括:通过所述插件管理进程接收插件实例创建请求,所述插件实例创建请求用于创建所述目标插件实例,由所述前端基于网络传输协议发送;基于所述插件实例创建请求,启动所述插件进程;通过所述插件进程创建所述目标插件实例,得到目标插件实例信息;基于进程间通信协议将所述目标插件实例信息返回给所述插件管理进程;将...
【专利技术属性】
技术研发人员:陈弘唯,
申请(专利权)人:统信软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。