[发明专利]智能更新程序逻辑的方法、装置、设备及存储介质有效
申请号: | 202110823645.5 | 申请日: | 2021-07-21 |
公开(公告)号: | CN113419766B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 林斌;施建安;庄一波;赵友平;孙志伟 | 申请(专利权)人: | 厦门市易联众易惠科技有限公司 |
主分类号: | G06F8/656 | 分类号: | G06F8/656;G06F8/71 |
代理公司: | 厦门智慧呈睿知识产权代理事务所(普通合伙) 35222 | 代理人: | 陈晓思 |
地址: | 361000 福建省厦*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 更新 程序逻辑 方法 装置 设备 存储 介质 | ||
本发明提供了一种智能更新程序逻辑的方法、装置、设备及存储介质,方法包括:检测当前是否存在版本更新;在检测到有新版本后,创建一个下载与校验任务,以实现新版本的源文件下载;在下载完成源文件后,根据自定义类加载器,优先从该源文件的Jar包中寻找相关依赖,以完成新接口实现对象的实例化;退出原有的供上层业务调用的旧接口,启用新接口供上层业务调用。本发明可以在业务逻辑无感知的情况下替换接口实现,从而实现不停机更新,提高了用户的使用体验。
技术领域
本发明涉及计算机技术领域,特别涉及一种智能更新程序逻辑的方法、装置、设备及存储介质。
背景技术
在程序运行的过程中,随着业务的变更,往往需要进行需求的更迭,反映在程序逻辑上,就是程序逻辑的变化。而运行中的程序,是将编码的逻辑固化打包后的可执行文件。如果需要升级新的功能,往往需要将程序的可执行文件进行升级。而对于Java领域的WEB应用,可执行文件往往是一个单体的Jar包。在这种情况下,需要对执行文件进行升级,就必须要停止对外提供的服务,将可执行文件替换,然后重新启动。这种升级方式,称之为停机升级。显然,在停机升级期间,原来对外提供的服务就被中断,服务中断可以表现为网站无响应,或者网站显示维护中,或者404错误页面等,这导致用户的体验感很差。
发明内容
有鉴于此,本发明的目的在于提供一种智能更新程序逻辑的方法、装置、设备及存储介质,以实现在不停机的前提下实现热更新。
本发明实施例提供了一种智能更新程序逻辑的方法,其包括:
检测当前是否存在版本更新;
在检测到有新版本后,创建一个下载与校验任务,以实现新版本的源文件下载;
在下载完成源文件后,根据自定义类加载器,优先从该源文件的Jar包中寻找相关依赖,以完成新接口实现对象的实例化;
退出原有的供上层业务调用的旧接口,启用新接口供上层业务调用。
优选地,检测当前是否存在版本更新具体包括:
以心跳的形式将自身注册为一个后台运行的线程,在客户端启动后,静默开启自身;
调用version方法,获取当前接口实现的版本数字;
使用当前接口实现的版本数字作为参数,查询远端接口实现版本库;
获得查询得到的远端接口实现的最新版本号;
在实例中查询是否存在与所述最新版本号对应的下载标识;
若存在,则判断下载任务已经启动,结束流程;
若不存在,则为所述最新版本号创建下载标识,启动下载任务。
优选地,所述启动下载任务包括:
创建下载元文件,在元文件中写入整个下载任务的相关的文件信息、大小信息、分段信息、分段进度、校验信息;
根据下载元文件,执行对应的下载任务;其中,下载任务以分段文件的形式下载;
在分段文件全部下载完成后,对每一个分段文件执行完整性校验;
在完整性校验通过后,将分段文件合并为源文件。
优选地,对于每个分段文件的下载以及完整性校验,包括:
根据元文件中对该分段文件设置的偏移量和长度信息,从服务端下载对应的字节内容;
将从网络上下载的内容写入到分段文件中;
将本次写入的进度更新到元文件;
判断是否完成对应长度的内容写入;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市易联众易惠科技有限公司,未经厦门市易联众易惠科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110823645.5/2.html,转载请声明来源钻瓜专利网。