1.一种分布式的模块升级方法,应用于电子装置,其特征在于,包括:
A、根据功能分类从系统中解耦出与各目标功能模块分别对应的基础功能模块,并设置各目标功能模块与主机的通信参数,其中,目标功能模块的解耦过程包括根据预设的数据通信规则设置基础功能模块的通信接口,各目标功能模块之间通过基础功能模块的所述通信接口通信;
B、将基础功能模块部署在预设的节点上,并使得各节点通过目标功能模块的通信参数建立节点与主机之间的通信;
C、主机接收到针对某一目标功能模块的升级请求,主机按照预设的测试规则测试升级JAR包,其中,升级请求包括目标功能模块的升级JAR包及该升级JAR包的参数信息,且升级JAR包的参数信息包括JAR包的版本参数;
D、主机根据各个节点的实时运行参数、历史运行参数及测试结果从所有节点中选出该目标功能模块的最优升级节点;
E、主机向最优升级节点发送针对目标功能模块的JAR包更替请求,其中,该JAR包更替请求包括升级JAR包的版本号,以及升级JAR包的下载路径;
F、最优升级节点根据下载路径下载升级JAR包,并更替目标功能模块的旧JAR包,完成目标功能模块的升级。
2.根据权利要求1所述的分布式的模块升级方法,其特征在于,主机接收到升级请求时,主机按照预设的测试规则测试升级JAR包的步骤包括:将升级JAR包放入虚拟测试环境中进行测试,其中,虚拟测试环境包括多个测试指令,且多个测试指令至少包括试加载测试指令、版本测试指令、卸载测试指令、多个功能测试指令;
虚拟测试环境依次按照试加载测试、版本测试、卸载测试、功能测试的顺序对升级JAR包进行测试。
3.根据权利要求2所述的分布式的模块升级方法,其特征在于,虚拟测试环境执行试加载测试的过程包括:调用实时测试用例运行升级JAR包并实时获取主机的CPU的实时状态信息和内存的实时装置信息;
根据CPU的实时状态信息和内存的实时装置信息判断该升级JAR包是否会导致某个节点出现过载,若是,则停止测试输出测试报告,若不是,则触发版本测试程序;
版本测试的步骤包括:判断JAR包的版本号是否满足预设版本号迭代规则,若是,则执行版本的安全性测试,若不是则停止测试,其中,版本的安全性测试步骤包括:从该升级JAR包的参数信息获取该升级JAR的加密认证密钥,接着,按照加密规则解析该加密认证密钥,最后,根据该加密认证密钥的解析结果判断该升级JAR包是否具有安全性,即若该加密认证密钥能够被解析正确,则确定该升级JAR包具有安全性;
卸载测试的过程为:将升级JAR包卸载并保存该升级JAR包的运行数据;接者,读取原始运行数据并将该升级JAR包的运行数据与原始运行数据进行比对并判断指定数据项的数值是否一致,若是,则确定当该升级JAR包满足兼容性要求,即该升级JAR包 卸载后,并不会影响默认版本JAR包的运行;
功能测试包括如下步骤:调用测试用例执行功能函数并获取执行结果;接着,将该执行结果与函数名对应的值域进行比较,若执行结果没有在该值域内,则确定该功能函数测试失败。
4.根据权利要求3所述的分布式的模块升级方法,其特征在于,执行试加载测试过程中,根据CPU的实时状态信息和内存的实时占用信息判断升级JAR包是否会导致某个节点出现过载的判断过程是:依次判断CPU的负载率是否大于预设负载阈值、内存的使用量是否大于预设使用量阈值,若两次判断的结果均为是,则确定该升级JAR包会导致某个节点出现过载。
5.根据权利要求3所述的分布式的模块升级方法,其特征在于,执行试加载测试过程中,使用nnbench类调用实时测试用例来测试升级JAR包的节点负载。
6.根据权利要求1所述的分布式的模块升级方法,其特征在于,主机确定目标功能模块的最优升级节点的步骤包括:从升级JAR包的测试结果提取该升级JAR包的环境依赖数据,其中,环境依赖数据至少包括节点负载数据、节点接口数据、节点操作系统数据;
根据节点负载数据从多个节点中筛选出多个负载满足该升级JAR包运行的节点作为备用节点;
将每个备用节点的节点接口数据、操作系统参数与该升级JAR包的节点接口要求、节点操作系统要求进行比对,从而确定满足升级JAR包的要求的最优升级节点。
7.根据权利要求1所述的分布式的模块升级方法,其特征在于,当主机判断没有最优节点时,主机接收节点增加请求,其中,节点增加请求包括节点增加数量、节点的操作系统类型、节点的环境参数;
主机使用虚拟器并根据节点增加数量创建虚拟机;
主机根据节点的操作系统类型设置虚拟机的操作系统;
主机根据节点的环境参设置虚拟机的部署参数。
8.一种分布式的模块升级装置,其特征在于,包括:
解耦模块,用于根据功能分类从系统中解耦出与各目标功能模块对应的多个基础功能模块,其中,目标功能模块的解耦过程包括根据预设的数据通信规则设置基础功能模块的通信接口,各基础功能模块之间通过所述通信接口通信;
节点部署模块,用于将基础功能模块部署在预设的节点上,并使得各节点通过目标功能模块的通信参数建立节点与主机之间的通信;
测试模块,用于使在主机接收到针对某一目标功能模块的升级请求后,按照预设的测试规则测试升级JAR包,以测试该升级JAR包;
最优升级节点确定模块,用于使主机根据各个节点的实时运行参数、历史运行参数及测试结果从所有节点中选出该目标功能模块的最优升级节点;
升级模块,用于使主机向最优升级节点发送针对目标功能模块的JAR包更替请求,该JAR包更替请求包括升级JAR包的版本号,以及升级JAR包的下载路径,最优升级节点根据下载路径下载升级JAR包,并更替目标功能模块的旧JAR包,完成目标功能模块的升级。
9.一种电子装置,其特征在于,该电子装置包括:存储器和处理器,所述存储器中存储有分布式的模块升级程序,所述分布式的模块升级程序被所述处理器执行时实现如下步骤:A、根据功能分类从系统中解耦出与各目标功能模块分别对应的基础功能模块,并设置各目标功能模块与主机的通信参数,其中,目标功能模块的解耦过程包括根据预设的数据通信规则设置基础功能模块的通信接口,各目标功能模块之间通过基础功能模块的所述通信接口通信;
B、将基础功能模块部署在预设的节点上,并使得各节点通过目标功能模块的通信参数建立节点与主机之间的通信;
C、主机接收到针对某一目标功能模块的升级请求,主机按照预设的测试规则测试升级JAR包其中,升级请求包括目标功能模块的升级JAR包及该升级JAR包的参数信息,且升级JAR包的参数信息包括JAR包的版本参数;
D、主机根据各个节点的实时运行参数、历史运行参数及测试结果从所有节点中选出该目标功能模块的最优升级节点;
E、主机向最优升级节点发送针对目标功能模块的JAR包更替请求,其中,该JAR包更替请求包括升级JAR包的版本号,以及升级JAR包的下载路径;
F、最优升级节点根据下载路径下载升级JAR包,并更替目标功能模块的旧JAR包,完成目标功能模块的升级。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,实现如权利要求1‑7任一项所述的分布式的模块升级方法。