全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210482972.3 (22)申请日 2022.05.05 (71)申请人 北京达佳互联信息技 术有限公司 地址 100085 北京市海淀区上地西路6号1 幢1层101D1-7 (72)发明人 沈钦华  (74)专利代理 机构 北京中博世 达专利商标代理 有限公司 1 1274 专利代理师 申健 (51)Int.Cl. G06F 9/445(2018.01) G06F 9/448(2018.01) G06F 8/41(2018.01) (54)发明名称 插件编译及调用方法、 装置、 设备及存储介 质 (57)摘要 本公开关于一种插件编译及调用方法、 装 置、 设备及存储介质, 宿主程序接收到插件调用 请求后, 首先确定与目标插件 标识对应的目标插 件对象与目标插件对象对应的插件子类; 再访问 插件子类内部的函数映射, 以确定与目标索引标 识对应的目标函数, 最后调用目标插件对象中的 目标函数。 宿主程序与插件通过这种调用机制, 可以实现插件内部的各种功能, 同时业务插件有 新增或删减函数时, 只需发布编译好的动态库文 件, 宿主程序 自动热加载, 宿主程序无需任何变 动, 实现框架与业务逻辑的解耦。 本公开技术方 案实现了在开发阶段插件与宿主程序解耦, 部署 阶段插件功能与宿主程序的功能融合。 权利要求书2页 说明书16页 附图3页 CN 114942796 A 2022.08.26 CN 114942796 A 1.一种插 件调用方法, 其特 征在于, 包括: 接收插件调用请求, 所述插 件调用请求包括目标插 件标识和目标索引标识; 根据所述目标插件标识, 确定目标插件对象以及预先定义在宿主程序中的与 所述目标 插件对象相对应的插件子类, 所述 目标插件对 象中的函数具有索引标识, 所述插件子类包 括函数映射, 所述函数映射包括所述目标插件对象中的每个函数的索引标识到对应函数的 映射; 从所述插 件子类的所述 函数映射中, 确定与所述目标索引标识对应的目标函数; 对所述目标插 件对象中的所述目标函数进行调用。 2.根据权利要求1所述的插件调用方法, 其特征在于, 所述接收插件调用请求之前, 还 包括: 加载动态库文件, 所述动态库文件与所述目标插件对象对应, 所述动态库文件包括导 出函数和插件代码块, 所述导出函数包括所述插件代码块内的每个函数和每个函数的所述 索引标识; 调用所述导出函数, 以通过所述导出函数, 根据所述插件代码块生成所述目标插件对 象, 并获取所述目标插件对 象的指针, 以及根据所述插件代码块内的每个函数和每个函数 的所述索引标识, 对所述目标插 件对象对应的插 件子类中的函数映射进行 赋值。 3.根据权利要求2所述的插件调用方法, 其特征在于, 所述调用所述导出函数之后, 所 述方法还 包括: 建立所述目标插 件对象的指针与所述目标插 件标识之间的对应关系。 4.根据权利要求2所述的插 件调用方法, 其特 征在于, 所述加载动态库文件, 包括: 监听指定路径下的文件信息; 当监听到新增的动态库文件时, 加载 所述新增的动态库文件。 5.一种插 件编译方法, 其特 征在于, 所述方法包括: 获取与待编译的插件代码块对应的配置信 息, 所述配置信 息包括所述插件代码块内定 义的每个函数和每 个函数的索引标识; 根据所述每个函数和每个函数的索引标识, 生成导出函数代码块, 所述导出函数用于 根据所述插件代码块生成插件对 象, 并返回所述插件对 象的指针给宿主程序, 以及根据所 述每个函数和每个函数的索引标识, 对预先定义在所述宿主程序中的与所述插件对象对应 的插件子类中的函数映射进行 赋值; 对所述导出函数代码块和所述插件代码块进行编译, 得到动态库文件, 并将所述动态 库文件发布到所述宿主程序的指定路径下。 6.一种插 件调用装置, 其特 征在于, 包括: 请求接收模块, 用于接收插件调用请求, 所述插件调用请求包括目标插件标识和目标 索引标识; 插件对象确定模块, 用于根据所述目标插件标识, 确定目标插件对象以及预先定义在 宿主程序中的与所述目标插件对象相对应的插件子类, 所述目标插件对象中的函数具有索 引标识, 所述插件子类包括函数映射, 所述函数映射包括所述 目标插件对 象中的每个函数 的索引标识到对应函数的映射; 函数确定模块, 用于从所述插件子类的所述函数映射中, 确定与所述目标索引标识对权 利 要 求 书 1/2 页 2 CN 114942796 A 2应的目标函数; 函数调用模块, 用于对所述目标插 件对象中的所述目标函数进行调用。 7.一种插 件编译装置, 其特 征在于, 所述装置包括: 配置信息获取模块, 用于获取与待编译的插件代码块对应的配置信息, 所述配置信息 包括所述插 件代码块内定义的每 个函数和每 个函数的索引标识; 函数生成模块, 用于根据 所述每个函数的索引标识, 生成导出函数代码块, 所述导出函 数用于根据所述插件代码块生成插件对 象, 并返回所述插件对 象的指针给宿主程序, 以及 根据所述每个函数的索引标识对预先定义在所述宿主程序中的与所述插件对 象相对应的 插件子类中的函数映射进行 赋值; 编译模块, 用于对所述导出函数代码块和所述插件代码块进行编译, 得到动态库文件, 并将所述动态库文件发布到所述宿主程序的指定路径下。 8.一种电子设备, 其特 征在于, 包括: 处理器和用于存储所述处理器可执行指令的存储器; 其中, 所述处理器被配置为执行 所述可执行指 令, 以实现如权利要求 1至4中任一项 所述的方法, 或者 实现如权利要求5所述 的方法。 9.一种计算机可读存储介质, 其特征在于, 当所述计算机可读存储介质中的指令由装 置执行时, 使得装置能够执行如权利要求1至4中任一项所述的方法或者如权利要求5所述 的方法; 当所述计算机可读存储介质中的指令由电子设备 的处理器执行时, 使得电子设备 的处理器能够执 行如权利要求1至4中任一项所述的方法或者如权利要求5所述的方法。 10.一种计算机程序产品, 包括计算机程序或指令, 其特征在于, 所述计算机程序或指 令被处理器执行时实现如权利要求1至4中任一项所述的方法或者如权利要求5所述的方 法。权 利 要 求 书 2/2 页 3 CN 114942796 A 3

.PDF文档 专利 插件编译及调用方法、装置、设备及存储介质

文档预览
中文文档 22 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 插件编译及调用方法、装置、设备及存储介质 第 1 页 专利 插件编译及调用方法、装置、设备及存储介质 第 2 页 专利 插件编译及调用方法、装置、设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 00:05:43上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。