基于微服务的OTA升级方法、系统、设备及存储介质与流程

文档序号:35348910发布日期:2023-09-07 21:31阅读:26来源:国知局
基于微服务的OTA升级方法、系统、设备及存储介质与流程

本发明涉及ota升级,尤其涉及一种基于微服务的ota升级方法、系统、计算机设备及存储介质。


背景技术:

1、随着互联网技术的发展,为实现企业信息化部署,满足不同企业用户的私有化场景需求,开始引入微服务的架构设计的软件平台,如saas平台。这些软件平台通常为不同企业用户定制不同的软件服务,定制化的软件服务通过单独部署的多个微服务实现,以满足不同的私有化场景需求,而为更好地满足企业用户的需要,需要不断对部署的微服务进行升级。

2、目前传统的升级方法通常是基于升级数据包实现,该升级数据包包括整个软件的完整数据,因此仅通过一个升级数据包就可以完成对软件的版本升级。然而,现有软件平台通常为不同用户部署了很多个适用于不同私有化场景的微服务,传统升级方法无法适用于微服务架构的升级需求,在进行软件平台的服务升级时,基于一个升级数据包升级的方式难以对所有用户的不同微服务进行整体升级,需要对用户的私有化微服务逐一进行现场人工升级,导致升级效率低。


技术实现思路

1、本发明实施例提供一种基于微服务的ota升级方法、系统、计算机设备及存储介质,以解决传统升级方法无法适用于微服务架构的升级需求,需要对用户的私有化微服务逐一进行人工升级,导致升级效率低的问题。

2、一种基于微服务的ota升级方法,所述方法包括:

3、客户端发送心跳信息包到服务端,所述心跳信息包至少包括所述客户端的微服务升级部署信息;

4、所述服务端根据所述心跳信息包中的所述微服务升级部署信息,查询ota升级平台中是否存在指定版本的微服务升级物料包,所述微服务升级物料包中包含用于所述客户端进行版本升级的至少一个微服务升级包;

5、如果所述ota升级平台中存在指定版本的所述微服务升级物料包,所述服务端将所述微服务升级物料包发送到所述客户端;

6、所述客户端根据所述微服务升级物料包中的每个所述微服务升级包分别进行升级部署,以完成所述客户端的版本升级。

7、上述方法,可选的,所述客户端根据所述微服务升级物料包中的每个所述微服务升级包分别进行升级部署,以完成所述客户端的版本升级,包括:

8、所述客户端根据第一密钥对所述微服务升级物料包进行解密,得到微服务镜像文件,所述微服务镜像文件包括多个所述微服务升级包、微服务镜像列表和微服务脚本文件;

9、所述客户端依据所述微服务镜像列表,确定待升级的多个目标微服务;

10、所述客户端执行所述微服务脚本文件,以部署每一所述目标微服务的升级环境和配置信息;

11、所述客户端采用镜像安装部署方式,依据所述微服务升级包对应更新所述目标微服务,遍历所有所述目标微服务以完成所述客户端的版本升级。

12、上述方法,可选的,所述微服务脚本文件包括mysql目录和对应的mysql脚本文件,以及配置目录和对应的配置文件;所述客户端执行所述微服务脚本文件,以部署每一所述目标微服务的升级环境和配置信息,包括:

13、所述客户端对所述微服务脚本文件进行解析,得到mysql目录、配置目录、多个mysql脚本文件和多个配置文件;

14、所述客户端将所述mysql目录、所述配置目录,分别与所述目标微服务进行匹配,得到每一所述目标微服务的mysql脚本文件和配置文件;

15、所述客户端执行每一所述目标微服务的mysql脚本文件,以部署对所述目标微服务的升级环境;

16、所述客户端执行每一所述目标微服务的配置文件,以更新对应所述目标微服务的配置信息。

17、上述方法,可选的,所述根据所述微服务升级物料包中的每个所述微服务升级包分别进行升级部署之后,所述方法包括:

18、所述客户端对升级的目标微服务的状态进行检查,得到微服务状态;

19、若所有所述微服务状态为正常,则所述客户端向所述服务端反馈升级成功消息,以使所述服务端将所述客户端的升级记录状态更新为升级成功状态,并记录所述客户端当前的微服务版本信息;

20、若所述微服务状态为异常,则所述客户端进行回滚操作以取消本次的升级操作,并向所述服务端反馈升级失败消息,以使所述服务端将所述客户端的升级记录状态更新为升级失败状态。

21、上述方法,可选的,所述心跳信息包括客户端id、加密信息包;

22、其中,所述服务端根据所述心跳信息包中的所述微服务升级部署信息,查询ota升级平台中是否存在指定版本的微服务升级物料包,包括:

23、所述服务端根据所述客户端id从所述ota升级平台中查询到的第二密钥;

24、所述服务端根据所述第二密钥对所述加密信息包进行解密,得到微服务升级部署信息;

25、所述服务端根据所述微服务升级部署信息,查询所述ota升级平台中是否存在指定版本的微服务升级物料包。

26、上述方法,可选的,所述客户端发送心跳信息包到服务端,包括:

27、所述客户端根据第一密钥对所述客户端的微服务升级部署信息进行加密,得到加密信息包;

28、所述客户端对所述加密信息包和所述客户端的客户端id进行打包,得到所述心跳信息包;

29、所述客户端将所述心跳信息包发送到所述服务端。

30、上述方法,可选的,所述客户端发送心跳信息包到服务端之前,所述方法还包括:

31、所述ota升级平台接收到所述客户端发送的客户端注册请求;

32、所述ota升级平台响应所述客户端注册请求,注册得到至少包括客户端id和第二密钥的注册参数,所述注册参数至少用于所述客户端启用后的版本升级。

33、一种基于微服务的ota升级系统,所述系统包括服务端、客户端和ota升级平台;其中,

34、所述客户端,用于发送心跳信息包到所述服务端,所述心跳信息包至少包括所述客户端的微服务升级部署信息;

35、所述服务端,用于根据所述心跳信息包中的所述微服务升级部署信息,查询所述ota升级平台中是否存在指定版本的微服务升级物料包,所述微服务升级物料包中包含用于所述服务端进行版本升级的至少一个微服务升级包;

36、如果所述ota升级平台中存在指定版本的所述微服务升级包,所述服务端,用于将所述微服务升级物料包发送到所述客户端;

37、所述客户端,用于根据所述微服务升级物料包中的每个所述微服务升级包分别进行升级部署,以完成所述客户端的版本升级。

38、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述的客户端和服务端执行的各个步骤。

39、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的客户端和服务端执行的各个步骤。

40、本发明公开了一种基于微服务的ota升级方法、系统、计算机设备及存储介质,其中,本发明中的服务端根据客户端发送心跳信息包中的微服务升级部署信息,查询ota升级平台中是否存在指定版本的微服务升级物料包,在ota升级平台中存在指定版本的微服务升级物料包时,服务端将微服务升级物料包发送到客户端,以使客户端根据微服务升级物料包中的每个微服务升级包分别进行升级部署,以完成客户端的版本升级。本发明通过在ota升级平台上更新不同用户客户端的微服务版本信息,以便各客户端及时反馈版本升级需求,在检测到能够对客户端上的微服务进行升级时,通过服务端将对应的微服务升级物料包发送到客户端,以使各客户端对自身的至少一个微服务分别进行升级部署,通过ota升级平台实现了自动化远程升级和管理微服务的功能,无需对不同用户的微服务进行逐一人工升级,有效提高了服务升级的效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1