一种中间件安装和更新方法、装置及计算机可读存储介质与流程

文档序号:16811066发布日期:2019-02-10 13:39阅读:278来源:国知局
一种中间件安装和更新方法、装置及计算机可读存储介质与流程

本发明涉及计算机技术领域,特别涉及一种中间件安装和更新方法、装置及计算机可读存储介质。



背景技术:

随着技术的发展,在运维系统中利用中间件进行管理以是普遍现象,中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机/服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件;相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息;通过中间件,应用程序可以工作于多平台或os环境;由于中间件的广泛使用,对中间件的更新和安装成了需要大量人工操作的作业。

现有技术中,根据日常中间件集群部署和补丁安装的需求上,人工在面对大批量中间件的更新和安装的实施时效率很低,无法满足快速交付的目的,若要满足快速交付需要雇佣大量的人工,造成人工成本的提高。

为此需要一种中间件安装和更新方法,以提高工作效率,减少人工成本。



技术实现要素:

有鉴于此,本发明的目的在于提供一种中间件安装和更新方法、装置及计算机可读存储介质,提高工作效率,降低人工成本。其具体方案如下:

一种中间件安装和更新方法,包括:

接收中间件安装包和安装命令;

利用所述安装命令和所述中间件安装包中的安装环境配置工具,配置安装环境,得到安装环境信息;

利用所述安装环境信息,判断本地是否安装中间件;

如果是,则获取本地中间件的版本信息;

利用所述版本信息和所述中间件安装包,更新本地中间件;

如果否,则利用所述中间件安装包,安装中间件。

可选的,所述更新本地中间件之前,还包括:

对本地中间件进行备份。

可选的,所述更新本地中间件之前,还包括:

判断是否有与本地中间件相关的进程正在运行;

如果否,则利用所述版本信息和所述中间件安装包,更新本地中间件;

如果是,则报错。

可选的,所述利用所述版本信息和所述中间件安装包,更新本地中间件的过程,包括:

利用所述版本信息,从所述中间件安装包匹配相应的目标补丁包;

利用所述目标补丁包更新本地中间件。

可选的,所述利用所述目标补丁包更新本地中间件的过程,包括:

判断本地中间件是否安装历史补丁包;

如果是,则卸载所述历史补丁包;

安装所述目标补丁包更新本地中间件;

如果否,则安装所述目标补丁包更新本地中间件。

可选的,还包括:

生成所述中间件安装包的安装日志。

可选的,所述接收中间件安装包和安装命令的过程,包括:

接收用户终端发送的所述中间件安装包和所述安装命令。

可选的,所述接收中间件安装包和安装命令之后,还包括:

验证所述中间件安装包是否有效;

如果是,则利用所述安装命令和所述中间件安装包中的安装环境配置工具,配置安装环境,得到安装环境信息;

如果否,则报错。

本发明还公开了中间件安装和更新装置,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序以实现如权前述的中间件安装和更新方法。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述中间件安装和更新方法的步骤。

本发明中,中间件安装和更新方法,包括:接收中间件安装包和安装命令;利用安装命令和中间件安装包中的安装环境配置工具,配置安装环境,得到安装环境信息;利用安装环境信息,判断本地是否安装中间件;如果是,则获取本地中间件的版本信息;利用版本信息和中间件安装包,更新本地中间件;如果否,则利用中间件安装包,安装中间件。

本发明在接收中间件安装包后,利用中间件安装包中的脚本程序,一键执行中间件在本地设备的安装和更新,无需用户在更新过程中进行多次人工操作,节省了操作时间,提高了工作效率,且降低了人工成本。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例公开的一种中间件安装和更新方法流程示意图;

图2为本发明实施例公开的一种安装环境配置程序图;

图3为本发明实施例公开的一种本地中间件版本信息与中间件安装包的匹配程序图;

图4为本发明实施例公开的一种本地中间件更新程序图;

图5为本发明实施例公开的一种中间件安装程序图;

图6为本发明实施例公开的一种中间件安装包发送程序图;

图7为本发明实施例公开的一种中间件安装包有效验证程序图;

图8为本发明实施例公开的一种本地中间件备份程序图;

图9为本发明实施例公开的一种本地中间件历史补丁包检测程序图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种中间件安装和更新方法,参见图1所示,该方法包括:

s11:接收中间件安装包和安装命令。

具体的,用户可以将中间件安装包存储至存储设备中,通过存储设备和本地设备的通信接口,将中间件安装包转移至本地设备中,例如,用户利用u盘或移动硬盘等存储设备通过usb接口将中间件安装包转移至本地设备中,用户再通过诸如键盘、鼠标或触摸屏等输入设备将安装命令输入至本地,以启动中间件安装包在本地进行安装。

其中,中间件安装包中内可以包括新装中间件所需数据和更新中间件所需的补丁数据,因此,可以利用中间件安装包实现安装中间件和更新中间件的功能;中间件可以为weblogic。

s12:利用安装命令和中间件安装包中的安装环境配置工具,配置安装环境,得到安装环境信息。

具体的,利用用户输入的安装命令,运行中间件安装包,首先针对本地安装环境进行配置,对变量、环境进行初始化,配置变量参数,例如,配置服务器java环境变量,获取安装路径等,得到安装环境信息。

例如,参见图2所示,通过powersheel脚本语言判定来检查系统的环境情况和脚本的执行情况,并且能根据输出的日志来诊断脚本的进度,从而调整服务器环境;检查安装介质进行校验,自动识别配置文件所输入的参数创建的快速自动部署所需的应答文件;通过脚本调用安装命令,使用-responsefile、-invptrloc指定应答文件,并使用-silent参数进行自动化部署。

s13:利用安装环境信息,判断本地是否安装中间件。

具体的,可以利用安装环境信息中是否存在本地中间件安装目录,或注册表信息等方式,判断本地是否已经安装中间件,如果已经安装,则后续可以进入更新模式,如果尚未安装可以后续在本地中安装中间件。

s14:如果是,则获取本地中间件的版本信息。

具体的,在判定本地安装中间件后,则可以获取本地中间件的版本信息,已根据本地中间件的版本信息从中间件安装包中选择相应的更新包进行更新,如果本地中间件的版本信息为最新版本,则可以不再执行后续更新动作,结束运行。

s15:利用版本信息和中间件安装包,更新本地中间件。

具体的,参见图3和图4所示,利用版本信息,从中间件安装包匹配相应的目标补丁包,利用目标补丁包更新本地中间件。

s16:如果否,则利用中间件安装包,安装中间件。

具体的,参见图5所示,如果本地不存在中间件,则可以主动安装中间件,如果安装后的中间件并非最新版本的中间件,则可以再执行s12至s15对新安装的本地中间件进行更新,从而获得最新的中间件。

可见,本发明实施例中在接收中间件安装包后,利用中间件安装包中的脚本程序,一键执行中间件在本地设备的安装和更新,无需用户在更新过程中进行多次人工操作,节省了操作时间,提高了工作效率,且降低了人工成本。

本发明实施例公开了一种具体的中间件安装和更新方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:

具体的,参见图6所示,上述接收中间件安装包和安装命令的过程,可以具体为接收用户终端发送的中间件安装包和安装命令。

需要说明的是,用户可以通过用户终端通过网络远程的向本地设备发送中间件安装包和安装命令,如果需要对多台设备进行安装和更新,则用户可以通过用户终端通过网络批量的远程发送中间件安装包和安装命令至多台设备,已进行更新,不再需要用户对每台设备进行单独的操作。

进一步的,当用户通过网络远程的发送中间件安装包和安装命令后,为防止网络不稳定导致的数据丢失导致的安装或更新错误,还可以验证中间件安装包的有效性,参见图7所示,具体的可以包括s21至s23;其中,

s21:验证中间件安装包是否有效。

具体的,可以通过md5码对中间件安装包和中间件安装包中的opatch工具进行完整性和有效性验证,判断中间件安装包是否可以有效更新和安装,例如,通过md5校验码对中间件安装包传输后的完整性及有效性进行校验,校验通过后利用版本检验算法对当前本地中间件版本、当前本地中间件的补丁版本、待安装中间件的补丁版本和opatch工具版本进行符合度检查,以确保中间件安装包的有效。

s22:如果是,则利用安装命令和中间件安装包中的安装环境配置工具,配置安装环境,得到安装环境信息。

具体的,如果中间件安装包有效,则可以执行后续步骤s12。

s23:如果否,则报错。

具体的,通过报错提示用户中间件安装包失效,报错信息中还可以显示具体的错误原因,以便用户能够快速的进行修复。

其中,报错的方式可以采用弹窗和提示音等方式。

具体的,为防止本地中间件更新失败,在更新本地中间件之前,还可以对本地中间件进行备份,当更新失败后,参见图8所示,可以利用备份后得到的备份中间件进行回滚,恢复至更新前的状态,避免因更新失败导致中间件无法使用。

具体的,为避免更新过程中出现程序占用错误,上述s15利用版本信息和中间件安装包,更新本地中间件之前,还可以包括s31至s33;其中,

s31:判断是否有与本地中间件相关的进程正在运行;

s32:如果否,则利用版本信息和中间件安装包,更新本地中间件;

s33:如果是,则报错。

具体的,为保证对本地中间件的更新过程顺利,需要判断是否有与本地中间件相关的进程正在运行,如果有,则有可能在更新过程中出现错误,则可以进行报警,提示用户当前本地中间件正在被其他进程调用,还可以具体显示是那些进程在调用,以助于用户关闭相关进程;如果否,没有相关进程在运行,则可以继续执行s15利用版本信息和中间件安装包,更新本地中间件。

进一步的,上述s15中在利用版本信息,从中间件安装包匹配相应的目标补丁包,利用目标补丁包更新本地中间件的过程,可以具体包括s41至s44;参见图9所示,其中,

s41:判断本地中间件是否安装历史补丁包;

s42:如果是,则卸载历史补丁包;

s43:安装目标补丁包更新本地中间件;

s44:如果否,则安装目标补丁包更新本地中间件。

具体的,如果本地中间件在过去安装过历史补丁包,会影响当前目标补丁包的安装,因此,需要先判断本地中间件是否安装历史补丁包,如果是,则对历史补丁包进行卸载,在安装目标补丁包更新本地中间件,以保证更新的正常运行,如果未安装历史补丁包,则直接安装目标补丁包进行更新。

进一步的,为便于用户对安装过程的掌握,还可以生成中间件安装包的安装日志,如果安装失败,可以使用户通过安装日志,查找到问题所在,以对中间件安装包进行改进。

进一步的,在本发明实施例的一种中间件安装和更新方法的具体脚本和程序调用,可以包括:

利用中间件安装包中的powersheel脚本语言判定来检查系统的环境情况和脚本的执行情况,并且能根据输出的日志来诊断脚本的进度,从而调整本地服务器的安装环境。

利用中间件安装包检查安装介质进行校验,自动识别配置文件所输入的参数创建的快速自动部署所需的应答文件,通过脚本调用安装命令,使用-responsefile、-invptrloc指定应答文件,并使用-silent参数进行自动化部署。

在补丁安装前,利用中间件安装包通过备份机制对当前存储情况使用不同的备份类型;补丁包校验机制通过md5校验码对补丁包传输后的完整性及补丁包有效性进行校验;校验通过后利用版本检验算法对当前中间件版本、当前补丁版本、待安装补丁版本、opatch工具版本进行符合度检查。

中间件安装包中间件部署和补丁运行信息变更过程包括通过weblogic内置工具wlst(weblogicscripttool,weblogic脚本工具)连接adminserver的mbean中,通过相关的mben接口api属性,调用执行jython文件。

其中,中间件脚本使用weblogic内置的wlst工具通过自有协议接口采集运行状态,相对于从管理控制台界面查看,减少了图形界面的性能开销,且数据采集更为精准和及时。

进一步的,关键指标可以包括如下内容;其中,

wls.rsp应答文件:[engine]部分的responsefileversion参数指定应答文件的版本。[generic]部分的oracle_home参数,指定了中间的安装目录

orainst.loc应答文件:inventory_loc参数指定inventory.loc文件的存放目录,应存在核心目录。该文件存放重要的中间件目录信息,丢失会导致补丁升级等核心功能不可用。

registry.xml信息文件:该文件中间件部署时自动创建,记录了详细的中间件各项信息。记录不正确部署的中间件的中间件版本信息及补丁版本算法无法获取正确的信息,通过读取registry.xml信息文件记录的内容,可以判断中间件是否安装或更新正常,以在中间件不正确部署后保护当前数据不进行任何变更操作并触发退出功能。

inventory.xml信息文件:该文件为补丁的详细信息,特定的算法会对该文件进行各项必备的参数的适配。

补丁md5码:防止补丁包经过多次传输后损害并进行安装导致中间件奔溃。把md5码文件封装到补丁包中,并封装格式使用系统自带的的格式,以适配更多的使用场景。

非阻塞的熵源:

-djava.security.egd=file:/dev/./urandom,在sun/oracle的jdk里,这个算法的提供者在底层依赖到操作系统提供的随机数据,在linux上,与之相关的是/dev/random和/dev/urandom,在读取时,/dev/random设备会返回小于熵池噪声总数的随机字节,/dev/random可生成高随机性的公钥或一次性密码本,若熵池空了,对/dev/random的读操作将会被阻塞,直到收集到了足够的环境噪声为止,dev/random的一个副本是/dev/urandom(”unlocked”,非阻塞的随机数发生器),它会重复使用熵池中的数据以产生伪随机数据,这表示对/dev/urandom的读取操作不会产生阻塞。为了提高部署的速度及成功率添加指定非阻塞的熵源参数。

关键算法项可以包括如下内容;其中,

备份机制执行结果:值为0,代表全备份成功;值为2,代表进行核心组件备份;值为3,代表空间不足不进行备份;其他值代表失败。

md5有效性校验:及补丁有效性校验:值为0,代表md5和补丁有效性校验成功;值为1,代表md5校验通过,但补丁不可用;值代2,md5校验失败。

版本信息算法:值为0,代表中间件与补丁版本匹配,工具补丁准备就绪;值在1,代表中间件与补丁不匹配;值为2,opatch工具版本较低,无法进行下一步;值为3,opatch工具不可用。

补丁版本算法:算法值为0,执行下一步流程;算法值为1,exit更换高版本的补丁已安装,无需安装补丁;值为2,相同版本补丁已安装,无需安装;值为3,获取版本异常。

此外,本发明实施例还公开了一种中间件安装和更新装置,该装置包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序以实现如前述的中间件安装和更新方法。

关于前述的中间件安装和更新方法的具体内容可以参考前述实施例公开的内容,再次不在进行赘述。

另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述中间件安装和更新方法的步骤。

关于前述的中间件安装和更新方法的具体内容可以参考前述实施例公开的内容,再次不在进行赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本发明所提供的一种中间件安装和更新方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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