软件自动更新并自重启的方法、系统、设备及存储介质与流程

文档序号:36178499发布日期:2023-11-29 08:46阅读:86来源:国知局
软件自动更新并自重启的方法与流程

本发明涉及服务器技术、计算机软件技术,网络通信技术,尤其涉及在终端上软件自动更新并自重启的方法、系统、设备及存储介质。


背景技术:

1、对于有服务后台和终端的系统,随着系统服务功能增多,以及已知问题的解决,在发布新版本时,都需要对终端上的软件进行升级,而终端数量众多,在现实中不可能一个个手动去升级终端上的软件,也不可能手动去重启升级后的软件,因此有必要实现一种在终端上软件自动更新升级并自重启的技术。

2、目前在终端上软件的升级普遍采用仅“比较版本号”的方式进行升级;而且升级时,普遍需要将该软件的所有组成部分打包成一个整体进行下载,而本次需要升级的部分可能就是某个配置文件、或者某个库文件等,所以没有必要下载该软件的所有组成部分,软件整体下载的这种方式浪费带宽,影响升级速度,对时效性要求高的系统影响很大。

3、同时在终端上软件升级后,在不重启终端、在不影响运行在终端上的其他软件的情况下,当前的技术很难做到软件自动升级后自动重启该软件,或者实现该软件自动重起的方式十分复杂。

4、为了解决以上问题,本发明提供一种在终端上软件自动更新升级并自重启的方法、系统、设备及存储介质。


技术实现思路

1、发明目的:本发明的目的是解决在终端上的软件如何自动更新升级,同时在下载升级文件时,如何只需下载有变动的文件;以及在软件自动升级后,如何自动重启该软件的技术问题。

2、技术方案:为实现以上目的,本发明公开了一种软件自动更新升级并自重启的方法,包括如下步骤:

3、首先,将需要发布的最新软件放到升级服务器上,该软件按功能划分为多个部分,包含:配置文件、库文件、功能文件、自启动文件,这些文件将放在不同的目录下。这些文件的文件名称、文件位置、文件的md5值以及本次软件的版本号构成该软件的最新版本信息serverinfo。配置文件是软件相关配置;库文件是软件运行时所需要的相关库;功能文件是软件相关功能模块以及需变化修改的模块;自启动文件独立于该软件并可以单独运行。

4、为了便于说明,本发明将终端上的软件划分为两部分:客户端软件和其他软件。客户端软件从升级服务器上下载获取,客户端软件又可以细分为业务模块和重启模块。重启模块对应升级服务器上最新版本的自启动文件。业务模块对应升级服务器上除自启动文件外的其他文件,业务模块和重启模块都可以单独运行。其他软件表示在终端上的其他功能的软件。

5、接着,业务模块向升级服务器获取最新的版本信息serverinfo,然后获取本地终端上客户端软件的版本信息clientinfo,clientinfo与serverinfo的内容相对应,包含客户端软件的文件名称、文件位置、文件的md5值,同时也包含客户端软件的版本号。

6、进一步,业务模块判断serverinfo与clientinfo中的版本号是否相等,如果相等则表示终端软件是最新的版本,不用升级,结束本次任务。

7、如果serverinfo与clientinfo中的版本号不相等,则遍历serverinfo和clientinfo中的文件列表信息,比较serverinfo与clientinfo中的文件名。

8、进一步,如果文件名在serverinfo与clientinfo中都存在,则比较该文件名对应文件的md5值是否一样,如果一样,则表示文件没有变动,则将该文件拷贝到临时目录tmp下;如果md5值不一样,则表示升级服务器上该文件已修改过,则从升级服务器下载该文件并存于临时目录tmp下。

9、进一步,如果文件名在serverinfo与clientinfo中有一方不存在。进一步如果文件名在serverinfo中存在,在clientinfo中不存在,则表示该文件为新增的文件,需要从升级服务器下载到临时目录tmp;如果文件名在serverinfo中不存在,在clientinfo中存在,则表示该文件为过时文件,则不用从升级服务器下载,也不用拷贝至临时目录tmp。

10、serverinfo和clientinfo中的文件列表信息遍历完毕后,通过以上操作,保证了临时目录tmp下的文件就是最新的版本文件,与升级服务器的版本一致。

11、进一步,为了保证本次终端软件正常升级,首先kill掉可能存在的重启进程,然后休眠5秒,保证重启模块此时处于终止状态。接着以独立进程的方式运行重启模块,最后终止业务模块的进程,结束业务模块的服务。

12、重启模块运行时是个独立的进程,不包含在业务模块的进程组中,不随业务模块的终止而终止,重启进程的执行过程如下。

13、首先,执行业务模块的停止命令,保证业务模块此时没有在终端上运行。

14、进一步,将客户端软件在终端上的目录a重命名为b,临时目录tmp重命名为a,临时目录tmp就是上面下载和拷贝的目录。

15、接着,通过脚本/命令以独立进程方式启动业务模块,使业务模块在终端上可以正常工作。

16、最后,删除目录b。或者将目录b上传到回退服务器后删除本地终端的目录b,可实现回退功能。

17、以上就是本发明的软件自动更新升级并自重启的方法。

18、本发明公开了一种软件自动更新升级并自重启的系统,包括:

19、升级服务模块,用于将最新的软件存放到升级服务器,并提供该软件的版本信息serverinfo,serverinfo包含软件的文件名称、文件位置、文件的md5值以及本次软件的版本号;

20、业务模块,用于将需要从升级服务器下载的文件下载到临时目录tmp;需要拷贝的本地文件拷贝到临时目录tmp;业务模块也提供业务功能。

21、重启模块,用于保证业务模块正常重启;

22、回退模块,将终端旧版本软件上传到回退服务器实现回退功能

23、本发明公开了一种电子设备,包括处理器和存储器。

24、存储器,用于存储计算机程序,该计算机程序被处理器运行,执行一种软件自动更新升级并自重启的的方法。

25、本发明公开了一种计算机存储介质,计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行一种软件自动更新升级并自重启的的方法。

26、有益效果:与现有技术相比,本发明具有以下显著优点:

27、(1)本发明实现了按需下载变动的文件,节约了带宽、提高了升级效率;

28、(2)本发明通过重启模块,不用重启终端、不会影响运行在终端上的其他软件,简单有效地解决了终端软件自动更新升级后难以自动重启的问题。



技术特征:

1.软件自动更新并自重启的方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的软件自动更新并自重启的方法,其特征在于:升级服务器上的软件相关文件包括:配置文件、库文件、功能文件、自启动文件,将上述文件放在不同的目录下;配置文件是软件相关配置;库文件是软件运行时所需要的相关库;功能文件是软件相关功能模块以及需变化修改的模块;自启动文件独立于该软件并可以单独运行。

3.根据权利要求2所述的软件自动更新并自重启的方法,其特征在于:所述最新版本信息serverinfo由所述升级服务器上的软件相关文件的文件名称、文件位置、文件的md5值以及软件的最新版本号构成。

4.根据权利要求1所述的软件自动更新并自重启的方法,其特征在于:所述终端将终端上的软件划分为两部分:客户端软件和其他软件;客户端软件从升级服务器上下载获取,客户端软件包括业务模块和重启模块;重启模块对应升级服务器上最新版本的自启动文件;业务模块对应升级服务器上除自启动文件外的其他文件,业务模块和重启模块都可以单独运行;其他软件表示在终端上的其他功能的软件。

5.根据权利要求1所述的软件自动更新并自重启的方法,其特征在于:所述本地终端上客户端软件的版本信息clientinfo与serverinfo的内容相对应,包括客户端软件的文件名称、文件位置、文件的md5值和客户端软件的版本号。

6.根据权利要求1所述的软件自动更新并自重启的方法,其特征在于:所述业务模块比较serverinfo和clientinfo中的信息,根据不同的状况下载或者拷贝或者不处理相应的文件至临时目录tmp步骤如下:

7.根据权利要求1所述的软件自动更新并自重启的方法,其特征在于:所述业务模块,首先关闭可能存在的重启进程,然后休眠n秒,保证重启模块此时处于终止状态;接着以独立进程的方式运行重启模块,最后发出业务模块的停止命令终止业务模块的进程;

8.软件自动更新并自重启的系统,其特征在于,包括:

9.一种电子设备,其特征在于,包括处理器和存储器;存储器,用于存储计算机程序,该计算机程序被处理器运行,执行权利要求1-8任一项所述的方法。

10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,该计算机程序被处理器运行,执行权利要求1-8任一项所述的方法。


技术总结
本发明公开了软件自动更新并自重启的方法、系统、设备及存储介质,包括将最新的软件放到升级服务器,并产生最新版本信息ServerInfo;终端上的业务模块向升级服务器请求最新软件的版本信息ServerInfo,同时获取本地终端上客户端软件的版本信息ClientInfo;业务模块比较ServerInfo和ClientInfo中的信息,根据不同的状况下载或者拷贝或者不处理相应的文件至临时目录,以此完成本地终端上的客户端软件升级,接着以独立进程的方式运行重启模块,实现客户端软件升级后业务模块的自动重启功能。本发明实现了按需下载变动的文件,节约带宽、提高了升级效率;同时通过重启模块,不用重启终端、不会影响运行在终端上的其他软件,简单有效地解决了终端软件自动更新升级后难以自动重启的问题。

技术研发人员:高继传,洪浩,罗川,费洋,张昆,吴永城,王仙华
受保护的技术使用者:南京南瑞智慧交通科技有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1