(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210906110.9
(22)申请日 2022.07.29
(71)申请人 四川科瑞软件 有限责任公司
地址 621000 四川省绵阳市科创园区
(72)发明人 赵家兴 张亮 李汶隆 黄卫东
白洪斌 严义兵 徐海滨 牛小龙
李小卫
(74)专利代理 机构 成都行之智 信知识产权代理
有限公司 5125 6
专利代理师 宋海霞
(51)Int.Cl.
G06F 9/54(2006.01)
G06F 9/445(2018.01)
(54)发明名称
一种基于数据共享插件的易扩展式数据共
享系统及方法
(57)摘要
本发明公开了一种基于数据共享插件的易
扩展式数据共享系统及方法, 该系统包括数据共
享系统和插件基础服务模块; 插件基础服务模块
作为一个单独的模块被插件实现以及被数据共
享系统依赖; 插件基础服务模块, 用于根据新增
的一个数据共享需求, 在不影 响原数据共享系统
正常运行的基础上, 通过自定义插件注解及插件
接口, 依赖插件基础服务模块把数据共享需求以
插件形式形成规则, 并把数据共享需求插件 载入
至数据共享系统; 数据共享系统, 用于根据加载
进来的数据共享需求插件, 实现数据共享需求插
件的管理、 应用配置和运行; 并把运行后得到的
数据结果以接口形式对外共享数据。 本发明解决
数据共享系统灵活扩展, 快速响应以及资源加
载; 维护成本低、 效率高。
权利要求书3页 说明书10页 附图5页
CN 115237631 A
2022.10.25
CN 115237631 A
1.一种基于数据共享插件的易扩展式数据共享系统, 其特征在于, 该系统包括数据共
享系统和插 件基础服 务模块;
所述插件基础服务模块独立于所述数据共享系统, 所述插件基础服务模块作为一个单
独的模块被插件实现以及被所述数据共享系统依赖; 所述插件基础服务模块, 用于根据新
增的一个数据共享需求, 在不影响原数据共享系统正常运行 的基础上, 通过自定义插件注
解及插件接口, 依赖插件基础服务模块把所述数据共享需求以插件形式形成规则, 并把数
据共享需求插 件载入至所述数据共享系统;
所述数据共享系统, 用于根据从所述插件基础服务模块加载进来的数据共享需求插
件, 具体实现数据共享需求插件的管理、 数据共享需求插件的应用配置和数据共享需求插
件的运行; 并把 运行后得到的数据结果以接口形式对外共享数据。
2.根据权利要求1所述的一种基于数据共享插件的易扩展式数据共享系统, 其特征在
于, 所述插 件基础服 务模块包括插 件注解单 元、 插件信息参数 单元和插件接口单 元;
所述插件注解单 元, 用于根据获取的一个数据共享需求, 进行定义插 件注解;
所述插件信息参数单元, 用于根据所述插件注解, 在所述插件注解中添加描述插件基
础信息; 所述插件基础信息包括插件名称、 插件版本、 插件类型、 插件描述、 插件参数说明、
插件功能及使用的详细说明;
所述插件接口单元, 用于通过定义插件接口或者抽象类实现插件初始化和执行数据处
理的功能。
3.根据权利要求1所述的一种基于数据共享插件的易扩展式数据共享系统, 其特征在
于, 所述数据共享系统包括插件加载模块、 插件管理模块和插件执行模块; 所述插件管理模
块依赖所述插 件加载模块, 所述插 件执行模块依赖所述插 件加载模块;
所述插件加载模块是通过自定义类加载器实现所述数据共享需求插件的加载, 其中,
所述自定义类加载器是一个破坏双亲委派机制的插 件类加载器。
4.根据权利要求3所述的一种基于数据共享插件的易扩展式数据共享系统, 其特征在
于, 所述插件管理模块包括数据共享需求插件的注册单元和数据共享需求插件的卸载单
元;
所述数据共享需求插 件的注册单元的执行过程为:
获取用户上传的数据共享需求插件jar文件, 并将所述jar文件保存至数据共享系统固
定的插件文件夹内;
采用自定义类加载器对所述jar文件进行加载, 加载成功后将数据共享需求插件的jar
全路径以及当前类加载器存 入插件类加载器缓存;
根据加载成功后的jar文件, 扫描所述jar文件内的资源文件, 寻找所述插件基础服务
模块中定义的插 件接口或者抽象类的类;
采用插件基础信 息校准规则判断法, 对插件参数进行逐一校验; 若全部校验通过, 则数
据共享需求插件加载成功, 返回注册结果, 并保存插件实现类全类名、 插件基础信息以及数
据共享需求插件jar全路径到插件基础信息缓存; 若 校验未通过, 则数据共享需求插件加载
失败, 删除对应的插 件类加载器缓存, 返回注 册结果。
5.根据权利要求4所述的一种基于数据共享插件的易扩展式数据共享系统, 其特征在
于, 所述数据共享需求插 件的卸载 单元的执行过程为:权 利 要 求 书 1/3 页
2
CN 115237631 A
2根据选择的待卸载插件, 在插件对象缓存中判断是否存在所述待卸载插件, 若存在, 则
在插件对象缓存中删除该对象; 若不存在, 则表示所述待卸载插 件已卸载完成;
在插件基础信 息缓存中获取所述待卸载插件的jar全路径并删除所述待卸载插件的插
件基础信息缓存, 如果所述待卸载插件的插件基础信息缓存不存在, 则表示所述待卸 载插
件已卸载完成;
在插件基础信息缓存中判断是否存在所述待卸载插件的jar全路径 的插件对象; 若存
在, 则表示所述待卸载插件已卸载完成; 若不存在, 则 在插件类加载器缓存中删除所述待卸
载插件的jar全路径对应的缓存, 并关闭对应的类加载器。
6.根据权利要求3所述的一种基于数据共享插件的易扩展式数据共享系统, 其特征在
于, 所述插 件执行模块包括插 件应用配置单 元和插件运行单元;
所述插件应用配置单 元的执行过程为:
前端用户获取 可用插件列表, 后端系统查询插 件基础信息缓存返回结果给 前端用户;
前端用户选择使用的插 件, 并根据插 件要求填写插件参数, 并保存配置信息;
所述插件运行单元的执行过程为:
数据共享系统准备需要输出的数据;
获取数据共享需求的共享数据的插 件配置信息;
针对插件配置信息中的每个插件, 从插件对象缓存中获取插件对象, 如果插件对象存
在, 则直接调用插件对象执行数据处理方法进行数据处理; 如果插件对象不存在, 根据共享
数据的插件配置信息从插件基础信息缓存中获取数据共享需求插件的j ar全路径, 通过插
件类加载器缓存获取插件类加载器, 并使用该类加载器实例化插件, 并执行插件初始化方
法, 及调用插 件对象执行数据处理方法进行 数据处理;
获取数据处理结果, 判断所有插件是否都已经执行完成, 若否, 则继续执行上述过程;
否是, 则数据共享系统输出 数据处理结果, 作为数据共享需求对外的共享数据。
7.一种基于数据共享插件的易扩展式数据共享方法, 其特征在于, 该方法应用于如权
利要求1至 6中任一所述的一种基于数据共享插 件的易扩展式数据共享系统; 该 方法包括:
获取一个数据共享需求, 根据所述数据共享需求, 在不影响原数据共享系统正常运行
的基础上, 插件基础服务模块通过自定义插件注解及插件接口, 依赖插件基础服务模块把
所述数据共享需求以插件形式形成规则, 并把数据共享需求插件载入至所述数据共享系
统;
根据从所述插件基础服务模块加载进来的数据共享需求插件, 具体实现数据共享需求
插件的管理、 数据共享需求插件的应用配置和数据共享需求插件的运行; 并把运行后得到
的数据结果以接口形式对外共享数据。
8.根据权利要求7所述的一种基于数据共享插件的易扩展式数据共享方法, 其特征在
于, 所述插件基础服务模块独立于所述数据共享系统, 所述插件基础服务模块作为一个单
独的模块被插 件实现以及被所述数据共享系统依赖 。
9.根据权利要求7所述的一种基于数据共享插件的易扩展式数据共享方法, 其特征在
于, 实现数据共享需求插 件的管理, 具体包括:
获取用户上传的数据共享需求插件jar文件, 并将所述jar文件保存至数据共享系统固
定的插件文件夹内;权 利 要 求 书 2/3 页
3
CN 115237631 A
3
专利 一种基于数据共享插件的易扩展式数据共享系统及方法
文档预览
中文文档
19 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共19页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 16:32:29上传分享