[发明专利]组件加载方法、系统、装置及存储介质在审
申请号: | 202110943725.4 | 申请日: | 2021-08-17 |
公开(公告)号: | CN113590231A | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 蔡乃涛 | 申请(专利权)人: | 上海微盟企业发展有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F8/65 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 温可睿 |
地址: | 200441 上海市宝山*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 组件 加载 方法 系统 装置 存储 介质 | ||
本申请公开了一种组件加载方法、系统、装置及计算机可读存储介质,包括:从服务流程库中调取目标服务流程;利用目标服务流程生成或更新路由信息;利用目标服务流程中的服务接口暴露配置信息生成字节码;利用字节码加载并实例化服务;暴露与服务对应的注册服务访问地址,以便外部系统通过注册服务访问地址查找并调用服务;其中,目标服务流程为预先配置的。本申请获取预先生成的服务流程,并将服务流程中字符串修改为字节码,从而利用字节码将服务加载并实体化,最后暴露服务的注册服务访问地址,以便外部系统访问实现了线上动态对服务的添加和更新。
技术领域
本发明涉及计算机领域,特别涉及一种组件加载方法、系统、装置及计算机可读存储介质。
背景技术
在大中台,小前台架构思路指导下,中台采用领域驱动模块化设计,在其上构建业务能力,持续不断进行迭代演进,根据业务域模块隔离,方便一套系统支撑不同玩法、不同场景的业务类型及灵活的定制化扩展。新的功能在开发测试完成上线时,为了不影响原有系统的稳定性和实时生效性,目前一般采用上传jar包,模块化动态加载,并对外提供服务。如osgi、jarslink、jboss modules等,但这些都是解决模块化整体服务的更新、上线,需要上传jar包动态更新。当只通过现在基础服务的编排、组装为一个新的服务并对外发布时,目前osgi、jarslink、jboss modules等无能为力。
为此,需要一种能够动态加载组件,更为灵活的组件加载方法。
发明内容
有鉴于此,本发明的目的在于提供一种组件加载方法、系统、装置及计算机可读存储介质,能够动态加载组件,更为灵活。其具体方案如下:
一种组件加载方法,包括:
从服务流程库中调取目标服务流程;
利用所述目标服务流程生成或更新路由信息;
利用所述目标服务流程中的所述服务接口暴露配置信息生成字节码;
利用所述字节码加载并实例化服务;
暴露与所述服务对应的注册服务访问地址,以便外部系统通过所述注册服务访问地址查找并调用所述服务;
其中,所述目标服务流程为预先配置的。
可选的,所述目标服务流程的配置过程,包括:
利用服务元数据,配置服务器接口元数据和组装访问其它基础服务,得到所述目标服务流程,并存储至所述服务流程库。
可选的,所述利用服务元数据,配置服务器接口元数据和组装访问其它基础服务,得到所述目标服务流程,并存储至所述服务流程库的过程,包括:
配置服务器接口的接口类名、方法名称、请求参数类型和返回结果类型;
配置组装访问其它基础服务的接口、访问URL和/或Bean名称,得到所述目标服务流程;
存储所述目标服务流程至所述服务流程库。
本发明还公开了一种组件加载系统,包括:
流程调取模块,用于从服务流程库中调取目标服务流程;
路由更新模块,用于利用所述目标服务流程生成或更新路由信息;
字节码转换模块,用于利用所述目标服务流程中的所述服务接口暴露配置信息生成字节码;
服务实例化模块,用于利用所述字节码加载并实例化服务;
服务暴露模块,用于暴露与所述服务对应的注册服务访问地址,以便外部系统通过所述注册服务访问地址查找并调用所述服务;
其中,所述目标服务流程为预先配置的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海微盟企业发展有限公司,未经上海微盟企业发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110943725.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种包装装置
- 下一篇:一种心内科呼吸训练装置