[发明专利]一种Java软件热更新的方法和装置在审
申请号: | 202010221271.5 | 申请日: | 2020-03-26 |
公开(公告)号: | CN111381856A | 公开(公告)日: | 2020-07-07 |
发明(设计)人: | 陈益玲;何本强 | 申请(专利权)人: | 北京东方国信科技股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/60;G06F9/455 |
代理公司: | 北京纽乐康知识产权代理事务所(普通合伙) 11210 | 代理人: | 唐忠庆 |
地址: | 100102 北京市朝*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 java 软件 更新 方法 装置 | ||
1.一种Java软件热更新的方法,其特征在于,包括如下步骤:
S1:应用部署,在Java运行虚拟机中部署应用框架,导入已包含所需组件库及其它运行资源包类库的应用运行包,在应用运行后,不再加载新的运行类库,此时的应用只有一个基础内核;
S2:应用部署完成以后,增加新服务实例,通过在服务实例中在组件库模块中调用2个组件,发布服务编排资源文件到应用资源目录;
S3:通过客户端测试,查看S2中的新服务实例是否生效,若新服务实例未生效,则重新发布服务编排资源文件到应用资源目录,直至新服务实例生效;否则,继续下一步;
S4:更新S2中的服务实例,通过调整在组件库模块中调用组件的个数为3个,更新服务编排资源文件到应用资源目录;
S5:通过客户端测试,查看S4中的服务实例是否更新,若服务实例未更新,则重新更新服务编排资源文件到应用资源目录,否则,继续下一步;
S6:卸载S4中的服务实例,从应用资源目录删除服务实例的服务编排资源文件;
S7:通过客户端测试,查看S6中的服务实例是否存在,若服务不存在,则重新从应用资源目录删除服务 A的服务编排资源文件,否则忽略。
2.根据权利要求1所述的一种Java软件热更新的方法,其特征在于,对于步骤S2和步骤S4,所述组件库中的组件均由java class实现,提供独立的输入及输出的功能。
3.一种Java软件热更新的装置,其特征在于,包括数据栈模块、组件库模块、服务编排模块和资源装卸模块四大模块;
所述数据栈模块用于软件更新方法中,在接收数据请求时产生数据,在请求处理完成后清理数据;
所述组件库模块根据应用场景需要进行选配组件,将组件预置到应用中,所述组件库模块中组件通过接口与所述数据栈模块连接,组件从数据栈中获取数据,组件处理完成后,将结果输出到数据栈;
所述服务编排模块提供表达式来简化所述数据栈模块中值的存取,通过服务编排文件来表达服务处理流程、控制所述组件库模块中组件实例的执行顺序、设置所述组件库模块中各组件实例执行的依赖参数,实现业务场景的表达;
所述资源装卸模块包括服务实例池,所有的服务实例集中存储在服务实例池中,在接收到请求后,根据服务标记,从服务实例池中取出对应的服务实例,再通过该服务实例进行业务处理。
4.根据权利要求3所述的一种Java软件热更新的装置,其特征在于,所述数据栈模块中的服务采用Map结构为数据栈,Map对象增减属性为动态增减。
5.根据权利要求4所述的一种Java软件热更新的装置,其特征在于,所述Map数据栈中(“键”,值)的数据要求为,键为字符串,值为任意类型。
6.根据权利要求3所述的一种Java软件热更新的装置,其特征在于,所述组件库模块中组件只与所述数据栈模块进行交互,组件与组件之间不生成直接关系。
7.根据权利要求3所述的一种Java软件热更新的装置,其特征在于,所述服务编排模块包括顺序处理、条件处理、循环处理、Finally处理、子流程嵌套、事务处理功能。
8.根据权利要求3所述的一种Java软件热更新的装置,其特征在于,所述资源装卸模块中服务实例采用键值MAP方式存储在服务实例池中,键为服务标记,值为服务实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东方国信科技股份有限公司,未经北京东方国信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010221271.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种适用于高转速滑油泵的密封装置
- 下一篇:一种自动灌胶装置及其灌胶方法