CN109032643A - 软件更新的方法和装置 - Google Patents
软件更新的方法和装置 Download PDFInfo
- Publication number
- CN109032643A CN109032643A CN201810837430.7A CN201810837430A CN109032643A CN 109032643 A CN109032643 A CN 109032643A CN 201810837430 A CN201810837430 A CN 201810837430A CN 109032643 A CN109032643 A CN 109032643A
- Authority
- CN
- China
- Prior art keywords
- server
- software
- business
- sent
- edition number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种软件更新的方法和装置,该方法包括:将第二版本号的软件发送至第二服务器,以使第二服务器将安装的第一版本号的软件更新为第二版本号的软件;将与该软件的类型相对应的测试用例发送至第二服务器,以使第二服务器采用所述测试用例测试第二版本号的软件;从第二服务器获取测试结果;若所述测试结果指示测试通过,确定第二服务器是否能够正常进行业务,若是,则将第二版本号的软件发送至各第三服务器,以使各第三服务器将安装的第一版本号的软件更新为第二版本号的软件;第二服务器和各所述第三服务器为同一个数据中心硬件***中的服务器。本申请降低了软件更新影响整个数据中心硬件***提供基础服务的风险。
Description
技术领域
本申请实施例涉及计算机技术,尤其涉及一种软件更新的方法和装置。
背景技术
数据中心硬件***的变更多表现为复制型操作,即数据中心硬件***包括的部分或全部服务器做相同的变更操作,比如BIOS升级变更、BMC固件升级变更、操作***内核版本或者驱动程序的升级变更等等。
目前,当数据中心硬件***某一软件或硬件的变更时,需要变更的软件或硬件的新的版本在数据中心硬件***的一台服务器上进行线下测试成功后,就对所有的需要变更的服务器进行变更,存在数据中心硬件***的基础服务不能够正常进行的风险。
发明内容
本申请实施例提供一种软件更新的方法和装置,降低了软件变更影响整个数据中心硬件***提供基础服务的风险。
第一方面,本申请实施例提供一种软件更新的方法,应用于第一服务器,包括:
将第二版本号的软件发送至第二服务器,以使所述第二服务器将安装的第一版本号的软件更新为第二版本号的软件;
将与所述软件的类型相对应的测试用例发送至所述第二服务器,以使所述第二服务器采用所述测试用例测试所述第二版本号的软件;
从所述第二服务器获取测试结果;
若所述测试结果指示测试通过,确定所述第二服务器是否能够正常进行业务,若是,则将第二版本号的软件发送至各第三服务器,以使各所述第三服务器将安装的所述第一版本号的软件更新为所述第二版本号的软件;所述第二服务器和各所述第三服务器为同一个数据中心硬件***中的服务器。
在一种可能的设计中,在将第二版本号的软件的发送至第二服务器之前,还包括:
获取所述数据中心硬件***包括的各服务器各自的机器信息;所述机器信息包括服务器内安装的各软件的版本号,以及服务器内安装的各软件对应的厂商;
确定所述数据中心硬件***中安装有所述第一版本号的软件且所述软件对应的厂商为预设生产厂商的任一服务器为所述第二服务器。
在一种可能的设计中,在确定所述第二服务器之后,还包括:
向所述第二服务器发送请求信息;所述请求信息用于指示所述第二服务器停止正在进行的各业务。
在一种可能的设计中,还包括:在所述第二服务器停止正在进行的各业务后,从所述第二服务器获取并保存所述第二服务器的配置信息和各所述业务各自的业务数据;
若所述测试结果指示测试通过,所述方法还包括:
将所述第二服务器的配置信息和各所述业务的业务数据发送至所述第二服务器,以使所述第二服务器在根据所述配置信息恢复配置,以及根据所述各所述业务数据恢复各所述业务。
在一种可能的设计中,所述确定所述第二服务器是否能够正常进行业务,包括:
若在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定所述第二服务器能够正常进行业务;所述第一反馈信息指示所述第二服务器能够正常进行业务;
或者,
若在第三预设时长内未接收到第二反馈信息,则确定所述第二服务器能够正常进行业务;所述第二反馈信息指示所述第二服务器不能够正常进行业务。
在一种可能的设计中,若所述测试结果指示测试不通过,则向所述第二服务器发送第一控制信息;所述第一控制信息指示所述第二服务器根据所述配置信息和各所述业务数据,回滚至所述软件更新前的状态。
在一种可能的设计中,若确定所述第二服务器不能够正常进行业务,则向所述第二服务器发送第二控制信息;所述第二控制信息指示所述第二服务器根据所述配置信息和各所述业务数据,回滚至所述软件更新前的状态。
第二方面,本申请实施例提供一种软件更新的方法,应用于第二服务器,包括:
从第一服务器获取第二版本号的软件,并将安装的第一版本号的所述软件更新为所述第二版本号的软件;
从第一服务器获取与所述软件的类型相对应的测试用例,并采用所述测试用例测试所述第二版本号的软件;
向所述第一服务器发送测试结果;
若所述测试结果指示测试通过,则检测第二服务器是否能够正常进行业务。
第三方面,本申请实施例提供一种软件更新的装置,包括:
发送模块,用于将第二版本号的软件发送至第二服务器,以使所述第二服务器将安装的第一版本号的软件更新为第二版本号的软件;
所述发送模块,用于将与所述软件的类型相对应的测试用例发送至所述第二服务器,以使所述第二服务器采用所述测试用例测试所述第二版本号的软件;
获取模块,用于从所述第二服务器获取测试结果;
确定模块,用于若所述测试结果指示测试通过,确定所述第二服务器是否能够正常进行业务;
所述发送模块,还用于若确定所述第二服务器能够正常进行业务,则将第二版本号的软件发送至各第三服务器,以使各所述第三服务器将安装的所述第一版本号的软件更新为所述第二版本号的软件;所述第二服务器和所述第二服务器为同一个数据中心硬件***中的服务器。
在一种可能的设计中,所述获取模块,还用于:在将第二版本号的软件发送至第二服务器之前,获取所述数据中心硬件***包括的各服务器各自的机器信息;所述机器信息包括服务器内安装的各软件的版本号,以及服务器内安装的各软件对应的厂商;
确定所述数据中心硬件***中安装有所述第一版本号的软件且所述软件对应的厂商为预设生产厂商的任一服务器为所述第二服务器。
在一种可能的设计中,所述发送模块,还用于:
在确定所述第二服务器之后,向所述第二服务器发送请求信息;所述请求信息用于指示所述第二服务器停止正在进行的各业务。
在一种可能的设计中,所述获取模块,还用于:在所述第二服务器停止正在进行的各业务后,从所述第二服务器获取并保存所述第二服务器的配置信息和各所述业务各自的业务数据;
若所述测试结果指示测试通过,所述发送模块,还用于:
将所述第二服务器的配置信息和各所述业务的业务数据发送至所述第二服务器,以使所述第二服务器在根据所述配置信息恢复配置,以及根据所述各所述业务数据恢复各所述业务。
在一种可能的设计中,所述确定模块,具体用于:
若在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定所述第二服务器能够正常进行业务;所述第一反馈信息指示所述第二服务器能够正常进行业务;
或者,
若在第三预设时长内未接收到第二反馈信息,则确定所述第二服务器能够正常进行业务;所述第二反馈信息指示所述第二服务器不能够正常进行业务。
第四方面,本申请实施例提供一种软件更新的装置,包括:
获取模块,用于从第一服务器获取第二版本号的软件,并将安装的第一版本号的所述软件更新为所述第二版本号的软件;
所述获取模块,用于从第一服务器获取与所述软件的类型相对应的测试用例,并采用所述测试用例测试所述第二版本号的软件;
发送模块,用于向所述第一服务器发送测试结果;
检测模块,用于若所述测试结果指示测试通过,则检测所述软件更新的装置是否能够正常进行业务。
第五方面,本申请实施例提供一种服务器,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,调用所述存储器中存储的计算机程序,以实现第一方面以及第一方面任一可能的设计中所述的方法。
第六方面,本申请实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,第一方面以及第一方面任一可能的设计中所述的方法被执行。
第七方面,本申请实施例提供一种服务器,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,调用所述存储器中存储的计算机程序,以实现第二方面以及第二方面任一可能的设计中所述的方法。
第八方面,本申请实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,第二方面以及第二方面任一可能的设计中所述的方法被执行。
本实施例的软件更新的方法,需要对更新的软件在数据中心硬件***中一个服务器上进行线下测试以及线上测试,且当线下测试以及线上测试均测试通过后,才在其它的需要更新的数据中心硬件***中的服务器上进行该软件的更新,降低了软件更新影响整个数据中心硬件***提供基础服务的风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的***架构图;
图2为本申请实施例提供的软件更新的方法的交互图;
图3为本申请实施例提供的软件更新的装置的结构示意图一;
图4为本申请实施例提供的软件更新的装置的结构示意图二;
图5为本申请实施例提供的服务器的结构示意图一
图6为本申请实施例提供的服务器的结构示意图二。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的***架构图;参见图1,该***架构包括:用于软件更新的服务器11和数据中心硬件***12;
其中,数据中心硬件***12包括多个服务器,用于为业务提供基础服务。
下面采用具体的实施例说明本申请提供的软件更新的方法。在下述实施例中,用于软件更新的服务器称为第一服务器。
图2为本申请实施例提供的软件更新的方法的交互图,如图2所示,本实施例的方法可以包括:
步骤S101、第一服务器将第二版本号的软件发送至第二服务器;
步骤S102、第二服务器将安装的第一版本号的软件更新为第二版本号的软件;
步骤S103、第一服务器将与该软件的类型相对应的测试用例发送至第二服务器;
步骤S104、第二服务器根据测试用例测试第二版本号的软件;
步骤S105、第二服务器将测试结果发送至第一服务器;
若测试结果指示测试不通过,则执行步骤106~步骤S107,若测试结果指示测试通过,则执行步骤S108;
步骤S106、第一服务器向第二服务器发送第一控制信息;第一控制信息指示第二服务器根据配置信息和各业务数据,回滚至该软件变更前的状态;
步骤S107、第二服务器回滚至该软件更新前的状态;
步骤S108、第一服务器确定第二服务器是否能够正常进行业务;
若第二服务器能够正常进行业务,则执行步骤S109~步骤S110,若第二服务器不能够正常进行业务,则执行步骤S111~步骤S112;
步骤S109、第一服务器将第二版本号的软件发送至各第三服务器;
步骤S110、第三服务器将安装的第一版本号的软件更新为第二版本号的软件;
步骤S111、第一服务器向第二服务器发送第二控制信息;第二控制信息指示第二服务器根据配置信息和各业务数据,回滚至该软件变更前的状态;
步骤S112、第二服务器控制第二服务器回滚至该软件变更前的状态。
具体地,本实施例中的第二服务器和各第三服务器均属于同一数据中心硬件***中的服务器。
比如,某一软件出现了问题,需要更新成更高版本的软件,则用户可通过辅助设备的用户界面输入测试指令,测试指令中包括待更新的软件的版本号以及待更新的软件对应的厂商;辅助设备获取到测试指令后,生成测试请求,测试请中包括待更新的软件的版本号以及待更新的软件对应的厂商;辅助设备将测试请求发送至第一服务器。
第一服务器接收测试请求,根据测试请求获取数据中心硬件***包括的各服务器各自的机器信息,机器信息如表1所示:
表1
在获取到数据中心硬件***包括的各服务器各自的机器信息后,第一服务器根据各机器信息,从数据中心硬件***包括的各服务器中确定第二服务器。
具体地,数据中心硬件***包括的每个服务器的机器信息,机器信息中的软件配置信息包括相应服务器内安装的各软件的版本号,以及服务器内安装的各软件对应的厂商;则根据各机器信息,从数据中心硬件***包括的各服务器中确定第二服务器,包括:
确定数据中心硬件***中安装有第一版本号的软件且软件对应的厂商为预设生产厂商的任一服务器为第二服务器。此处的软件即为待更新的软件,第一版本号即为测试请中包括的待更新的软件的版本号。其中,预设生产厂商为第一版本号的软件的生产厂商,也是第二版本号的软件的生产厂商;或者说,预设生产厂商为待更新软件的生产厂商。
第一服务器根据获取的各机器信息,从安装有待更新软件且待更新软件的版本号为第一版本号(也就是测试请求中包括的待更新的软件的版本号)的至少一个服务器中随机选取一个服务器作为第二服务器。至少一个服务器为数据中心硬件***中的服务器。
第一服务器确定第二服务器后,向第二服务器发送请求信息;请求信息指示第二服务器停止正在进行的各业务;第二服务器接收到请求信息后,停止正在进行的各业务,并向第一服务器发送请求成功的消息。若第二服务器接收到请求信息后,并未停止正在进行的各业务的过程,则第二服务器向第一服务器发送请求失败的消息。
若第一服务器接收到请求成功的消息,则第一服务器从第二服务器获取并保存第二服务器的配置信息和上述各业务的业务数据。其中,配置信息包括第二服务器的CPU信息(比如CPU型号)、硬盘信息、固件版本号等等。
第一服务器在保存第二服务器的配置信息和各业务的业务数据后,将第二版本号的软件发送至第二服务器;第二服务器将安装的第一版本号的软件更新为第二版本号的软件。此处的第二版本号高于第一版本号,第一版本号的软件和第二版本号的软件为同一种软件,且生产厂商相同,只是版本号不同。
第二服务器将安装的第一版本号的软件变更为第二版本号的软件后,可向第一服务器发送更新成功的消息,第一服务器在接收到更新成功的消息后,根据第二版本号的软件的类型,确定采用的测试用例。比如若第二版本号的软件的类型为功能型软件,则确定采用功能测试用例,若第二版本号的软件的类型为性能型软件,则确定采用性能测试用例等等。
第一服务器将确定好的与第二版本号的软件的类型相对应的测试用例发送至第二服务器,第二服务器接收测试用例,并根据测试用例测试第二版本号的软件。该过程属于第二版本号的软件的线下测试过程。
第二服务器采用测试用例对第二版本号的软件测试完毕后,将测试结果发送至第一服务器;若测试结果指示第二版本号的软件测试通过,则第一服务器确定第二服务器是否能够正常进行业务。若测试结果指示测试不通过,则第一服务器向第二服务器发送第一控制信息;第一控制信息指示第二服务器根据配置信息和各业务数据,回滚至待更新软件更新前的状态。
具体地,若测试结果指示测试通过,则第一服务器将之前存储的第二服务器的配置信息和各业务的业务数据发送至第二服务器;第二服务器接收到后,根据配置信息恢复第二服务器的配置,以及根据各业务的业务数据恢复停止业务前正在进行的各业务。此处的恢复第二服务器的配置是指除了第二版本号的软件,其它的配置全部恢复成该软件更新前的配置。可以理解的是,若第二服务器将安装的第一版本号的软件更新为第二版本号的软件的过程中,并没有影响其它的配置,则不用恢复第二服务器的配置,若第二服务器将安装的第一版本号的软件更新为第二版本号的软件的过程中,影响到了其它的配置,则需要恢复第二服务器的配置。
其中,确定第二服务器是否能够正常进行业务,包括:
若在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定第二服务器能够正常进行业务;第一反馈信息指示第二服务器能够正常进行业务;其中,第一预设时长可为24h,还可为48h等等,第二预设时长可为1h,2h等等。
或者,
若在第三预设时长内未接收到第二反馈信息,则确定第二服务器能够正常进行业务;第二反馈信息指示第二服务器不能够正常进行业务。其中,第三预设时长可为24h,还可为48h等等。
上述的第二反馈信息和第三反馈信息可以是第二服务器发送的,也可以是其它的设备发送的。具体可为:第二服务器对第二版本号的软件测试通过后,第二服务器会检测自身是否能够正常进行业务,若检测到能够正常进行业务,可每间隔预设时长向第一服务器发送第二反馈信息,相应地,若第一服务器在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定第二服务器能够正常进行业务。或者说,第二服务器在检测到自身不能能够正常进行业务时,才向服务器发送第二反馈信息,相应地,若第一服务器在第三预设时长内未接收到第二反馈信息,则确定第二服务器能够正常进行业务。
即在第二服务器恢复配置,以恢复各业务后,第二服务器重新开始跑业务,也就是第二服务器将第一版本号的软件更新为第二版本号的软件后,进入对该软件的线上测试步骤,通过第二服务器能否在第一版本号的软件更新为第二版本号的软件后正常进行业务,来确定第二版本号的软件在线上运行时是否会影响第二服务器正常进行业务;若第二服务器能在第一版本号的软件更新为第二版本号的软件后正常进行业务,说明第二版本号的软件不影响第二服务器正常进行业务,解决了第一版本号的软件的bug,也可以说第二版本号的软件真正通过测试。若第二服务器在第一版本号的软件更新为第二版本号的软件后不能正常进行业务,说明第二版本号的软件影响第二服务器正常进行业务,并未解决第二版本号的软件的bug或者说存在新的bug,也可以说第二版本号的软件没有通过测试。
即若第二服务器不能够正常进行业务,则向第二服务器发送第二控制信息;第二控制信息指示第二服务器根据配置信息和各业务数据,回滚至待更新软件更新前的状态。
进一步地,若第一服务器确定第二服务器在待更新软件从第一版本号更新为第二版本号后,正常进行业务,开始对各第三服务器内安装的第一版本号的软件进行更新;第三服务器为安装有第一版本号的软件的服务器,或者说第三服务器为数据中心硬件***中安装有待更新软件的但不为第二服务器的服务器;也就是说本实施例中在从需要更新目标软件的服务器中任选一个服务器对高版本号的目标软件进行线下测试以及线上测试,当线下测试以及线上测试均测试通过后,才在其它的需要更新目标软件的服务器上进行目标软件的更新,降低了软件更新影响整个数据中心硬件***提供基础服务的风险。
而在现有技术中,在对高版本号的目标软件线下测试成功后,便直接在其它需要更新目标软件的服务器上进行目标软件的更新,若高版本号的目标软件线上场景下对服务器的业务具有影响(未消除第一版本号的软件的bug或者引入了新的bug),则所有的需要更新目标软件的服务器在目标软件更新后,均不能正常进行业务,因此会影响整个数据中心硬件***提供基础服务。
具体地,各第三服务器内安装的第一版本号的软件进行更新的过程可为如下两种过程。
一种可实现的过程为:第一服务器在确定第二服务器在软件更新后能够正常进行业务后,根据上述过程中获取的机器信息,确定数据中心硬件***中安装有第一版本号的软件且该软件对应的厂商为预设生产厂商的服务器为第三服务器。第三服务器可能具有多个,也可能具有1个,还可能不存在。
第一服务器确定各第三服务器后,向各第三服务器发送请求信息;请求信息指示第三服务器停止正在进行的各业务;各第三服务器接收到请求信息后,停止正在进行的各业务,并向第一服务器发送请求成功的消息。若第三服务器接收到请求信息后,并未停止正在进行的各业务的过程,则各第三服务器向第一服务器发送请求失败的消息。
若第三服务器接收到请求成功的消息,则第一服务器从各第三服务器获取并保存各第三服务器的配置信息和上述各业务的业务数据。其中,配置信息包括第三服务器的CPU信息(比如CPU型号)、硬盘信息、固件版本号等等。
第一服务器在保存各第三服务器的配置信息和各业务的业务数据后,将第二版本号的软件发送至各第三服务器;各第三服务器将安装的第一版本号的软件更新为第二版本号的软件。此处的第二版本号高于第一版本号,第一版本号的软件和第二版本号的软件为同一种软件,只是版本号不同。
各第三服务器将安装的第一版本号的软件更新为第二版本号的软件后,可向第一服务器发送更新成功的消息,第一服务器在接收到更新成功的消息后,第一服务器将之前存储的各第三服务器的配置信息和各业务的业务数据发送至各第三服务器;各第三服务器接收到后,根据配置信息恢复各自的配置,以及根据各业务的业务数据恢复停止业务前正在进行的各业务。此处的恢复第三服务器的配置是指除了第二版本号的软件,其它的配置全部恢复成该软件更新前的配置。可以理解的是,若第三服务器将安装的第一版本号的软件更新为第二版本号的软件的过程中,并没有影响其它的配置,则不用恢复第三服务器的配置,若第三服务器将安装的第一版本号的软件更新为第二版本号的软件的过程中,影响到了其它的配置,则需要恢复第三服务器的配置。
另一种可实现的过程为:用户可通过辅助设备的用户界面输入部署指令,部署指令中包括待更新的软件的版本号(上述的第一版本号)以及待更新的软件对应的厂商(上述第一版本号的软件对应的厂商或者第二版本号的软件对应的厂商);辅助设备获取到部署指令后,生成部署请求,部署请中包括待更新的软件的版本号以及待更新的软件对应的厂商;辅助设备将部署请求发送至第一服务器。
第一服务器接收部署请求,根据部署请求获取数据中心硬件***包括的各服务器各自的机器信息。后续的过程同上一中可实现的过程,此处不再赘述。
本实施例的软件更新的方法,需要对更新的软件在数据中心硬件***中一个服务器上进行线下测试以及线上测试,且当线下测试以及线上测试均测试通过后,才在其它的需要更新的数据中心硬件***中的服务器上进行该软件的更新,降低了软件更新影响整个数据中心硬件***提供基础服务的风险。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图3为本申请实施例提供的软件更新的装置的结构示意图一,如图3所示,本实施例的装置可以包括:发送模块31、获取模块32和确定模块33。
发送模块31,用于将第二版本号的软件发送至第二服务器,以使所述第二服务器将安装的第一版本号的软件更新为第二版本号的软件;
所述发送模块31,用于将与所述软件的类型相对应的测试用例发送至所述第二服务器,以使所述第二服务器采用所述测试用例测试所述第二版本号的软件;
获取模块32,用于从所述第二服务器获取测试结果;
确定模块33,用于若所述测试结果指示测试通过,确定所述第二服务器是否能够正常进行业务;
所述发送模块31,还用于若确定所述第二服务器能够正常进行业务,则将第二版本号的软件发送至各第三服务器,以使各所述第三服务器将安装的所述第一版本号的软件更新为所述第二版本号的软件;所述第二服务器和各所述第三服务器为同一个数据中心硬件***中的服务器。
本实施例的装置,可以用于执行上述方法实施例中第一服务器的技术方案,其实现原理和技术效果类似,此处不再赘述。
在一种可能的设计中,所述获取模块32,还用于:在将第二版本号的软件的发送至第二服务器之前,获取所述数据中心硬件***包括的各服务器各自的机器信息;所述机器信息包括服务器内安装的各软件的版本号,以及服务器内安装的各软件对应的厂商;
确定所述数据中心硬件***中安装有所述第一版本号的软件且所述软件对应的厂商为预设生产厂商的任一服务器为所述第二服务器。
在一种可能的设计中,所述发送模块31,还用于:
在确定所述第二服务器之后,向所述第二服务器发送请求信息;所述请求信息用于指示所述第二服务器停止正在进行的各业务。
在一种可能的设计中,所述获取模块31,还用于:在所述第二服务器停止正在进行的各业务后,从所述第二服务器获取并保存所述第二服务器的配置信息和各所述业务各自的业务数据;
若所述测试结果指示测试通过,所述发送模块31,还用于:
将所述第二服务器的配置信息和各所述业务的业务数据发送至所述第二服务器,以使所述第二服务器在根据所述配置信息恢复配置,以及根据所述各所述业务数据恢复各所述业务。
在一种可能的设计中,所述确定模块33,具体用于:
若在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定所述第二服务器能够正常进行业务;所述第一反馈信息指示所述第二服务器能够正常进行业务;
或者,
若在第三预设时长内未接收到第二反馈信息,则确定所述第二服务器能够正常进行业务;所述第二反馈信息指示所述第二服务器不能够正常进行业务。
在一种可能的设计中,所述发送模块31,还用于:若所述测试结果指示测试不通过,则向所述第二服务器发送第一控制信息;所述第一控制信息指示所述第二服务器根据所述配置信息和各所述业务数据,回滚至所述软件更新前的状态。
在一种可能的设计中,所述发送模块31,还用于:若确定所述第二服务器不能够正常进行业务,则向所述第二服务器发送第二控制信息;所述第二控制信息指示所述第二服务器根据所述配置信息和各所述业务数据,回滚至所述软件更新前的状态。
本实施例的装置,可以用于执行上述方法实施例中第一服务器的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本申请实施例提供的软件更新的装置的结构示意图二,如图3所示,本实施例的装置可以包括:获取模块41、发送模块42和检测模块43。
获取模块41,用于从第一服务器获取第二版本号的软件,并将安装的第一版本号的所述软件更新为所述第二版本号的软件;
所述获取模块41,用于从第一服务器获取与所述软件的类型相对应的测试用例,并采用所述测试用例测试所述第二版本号的软件;
发送模块42,用于向所述第一服务器发送测试结果;
检测模块43,用于若所述测试结果指示测试通过,则检测所述软件更新的装置是否能够正常进行业务。
本实施例的装置,可以用于执行上述方法实施例中第二服务器的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本申请实施例提供的服务器的结构示意图一,包括:包括处理器51、存储器52和通信总线53,通信总线53用于各电子器件的连接,其中,
所述存储器52用于,存储计算机程序;
所述处理器53用于,调用所述存储器中存储的计算机程序,以实现上述方法实施例中第一服务器对应的方法。
本申请实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,上述方法实施例中第一服务器对应的方法被执行。
图6为本申请实施例提供的服务器的结构示意图二,包括:包括处理器61、存储器62和通信总线63,通信总线63用于各电子器件的连接;其中,
所述存储器62用于,存储计算机程序;
所述处理器61用于,调用所述存储器中存储的计算机程序,以实现上述方法实施例中第二服务器对应的方法。
本申请实施例提供一种可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,上述方法实施例中第二服务器对应的方法被执行。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (18)
1.一种软件更新的方法,其特征在于,应用于第一服务器,包括:
将第二版本号的软件发送至第二服务器,以使所述第二服务器将安装的第一版本号的软件更新为第二版本号的软件;
将与所述软件的类型相对应的测试用例发送至所述第二服务器,以使所述第二服务器采用所述测试用例测试所述第二版本号的软件;
从所述第二服务器获取测试结果;
若所述测试结果指示测试通过,确定所述第二服务器是否能够正常进行业务,若是,则将第二版本号的软件发送至各第三服务器,以使各所述第三服务器将安装的所述第一版本号的软件更新为所述第二版本号的软件;所述第二服务器和各所述第三服务器为同一个数据中心硬件***中的服务器。
2.根据权利要求1所述的方法,其特征在于,在将第二版本号的软件发送至第二服务器之前,还包括:
获取所述数据中心硬件***包括的各服务器各自的机器信息;所述机器信息包括服务器内安装的各软件的版本号,以及服务器内安装的各软件对应的厂商;
确定所述数据中心硬件***中安装有所述第一版本号的软件且所述软件对应的厂商为预设生产厂商的任一服务器为所述第二服务器。
3.根据权利要求2所述的方法,其特征在于,在确定所述第二服务器之后,还包括:
向所述第二服务器发送请求信息;所述请求信息用于指示所述第二服务器停止正在进行的各业务。
4.根据权利要求3所述的方法,其特征在于,还包括:
在所述第二服务器停止正在进行的各业务后,从所述第二服务器获取并保存所述第二服务器的配置信息和各所述业务各自的业务数据;
若所述测试结果指示测试通过,所述方法还包括:
将所述第二服务器的配置信息和各所述业务的业务数据发送至所述第二服务器,以使所述第二服务器根据所述配置信息恢复配置,以及根据所述各所述业务数据恢复各所述业务。
5.根据权利要求4所述的方法,其特征在于,所述确定所述第二服务器是否能够正常进行业务,包括:
若在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定所述第二服务器能够正常进行业务;所述第一反馈信息指示所述第二服务器能够正常进行业务;
或者,
若在第三预设时长内未接收到第二反馈信息,则确定所述第二服务器能够正常进行业务;所述第二反馈信息指示所述第二服务器不能够正常进行业务。
6.根据权利要求4所述的方法,其特征在于,若所述测试结果指示测试不通过,则向所述第二服务器发送第一控制信息;所述第一控制信息指示所述第二服务器根据所述配置信息和各所述业务数据,回滚至所述软件更新前的状态。
7.根据权利要求4所述的方法,其特征在于,若确定所述第二服务器不能够正常进行业务,则向所述第二服务器发送第二控制信息;所述第二控制信息指示所述第二服务器根据所述配置信息和各所述业务数据,回滚至所述软件更新前的状态。
8.一种软件更新的方法,其特征在于,应用于第二服务器,包括:
从第一服务器获取第二版本号的软件,并将安装的第一版本号的所述软件更新为所述第二版本号的软件;
从第一服务器获取与所述软件的类型相对应的测试用例,并采用所述测试用例测试所述第二版本号的软件;
向所述第一服务器发送测试结果;
若所述测试结果指示测试通过,则检测第二服务器是否能够正常进行业务。
9.一种软件更新的装置,其特征在于,包括:
发送模块,用于将第二版本号的软件发送至第二服务器,以使所述第二服务器将安装的第一版本号的软件更新为第二版本号的软件;
所述发送模块,用于将与所述软件的类型相对应的测试用例发送至所述第二服务器,以使所述第二服务器采用所述测试用例测试所述第二版本号的软件;
获取模块,用于从所述第二服务器获取测试结果;
确定模块,用于若所述测试结果指示测试通过,确定所述第二服务器是否能够正常进行业务;
所述发送模块,还用于若确定所述第二服务器能够正常进行业务,则将第二版本号的软件发送至各第三服务器,以使各所述第三服务器将安装的所述第一版本号的软件更新为所述第二版本号的软件;所述第二服务器和所述第二服务器为同一个数据中心硬件***中的服务器。
10.根据权利要求9所述的装置,其特征在于,所述获取模块,还用于:
在将第二版本号的软件发送至第二服务器之前,获取所述数据中心硬件***包括的各服务器各自的机器信息;所述机器信息包括服务器内安装的各软件的版本号,以及服务器内安装的各软件对应的厂商;
确定所述数据中心硬件***中安装有所述第一版本号的软件且所述软件对应的厂商为预设生产厂商的任一服务器为所述第二服务器。
11.根据权利要求10所述的装置,所述发送模块,还用于:
在确定所述第二服务器之后,向所述第二服务器发送请求信息;所述请求信息用于指示所述第二服务器停止正在进行的各业务。
12.根据权利要求11所述的装置,其特征在于,所述获取模块,还用于:
在所述第二服务器停止正在进行的各业务后,从所述第二服务器获取并保存所述第二服务器的配置信息和各所述业务各自的业务数据;
若所述测试结果指示测试通过,所述发送模块,还用于:
将所述第二服务器的配置信息和各所述业务的业务数据发送至所述第二服务器,以使所述第二服务器在根据所述配置信息恢复配置,以及根据所述各所述业务数据恢复各所述业务。
13.根据权利要求12所述的装置,其特征在于,所述确定模块,具体用于:
若在第一预设时长内每间隔第二预设时长均能接收到第一反馈信息,则确定所述第二服务器能够正常进行业务;所述第一反馈信息指示所述第二服务器能够正常进行业务;
或者,
若在第三预设时长内未接收到第二反馈信息,则确定所述第二服务器能够正常进行业务;所述第二反馈信息指示所述第二服务器不能够正常进行业务。
14.一种软件更新的装置,其特征在于,包括:
获取模块,用于从第一服务器获取第二版本号的软件,并将安装的第一版本号的所述软件更新为所述第二版本号的软件;
所述获取模块,用于从第一服务器获取与所述软件的类型相对应的测试用例,并采用所述测试用例测试所述第二版本号的软件;
发送模块,用于向所述第一服务器发送测试结果;
检测模块,用于若所述测试结果指示测试通过,则检测所述软件更新的装置是否能够正常进行业务。
15.一种服务器,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,调用所述存储器中存储的计算机程序,以实现权利要求1~7任一所述的方法。
16.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,权利要求1~7任一所述的方法被执行。
17.一种服务器,其特征在于,包括:处理器,所述处理器与存储器耦合;
所述存储器用于,存储计算机程序;
所述处理器用于,调用所述存储器中存储的计算机程序,以实现权利要求8所述的方法。
18.一种可读存储介质,其特征在于,包括程序或指令,当所述程序或指令在计算机上运行时,权利要求8所述的方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810837430.7A CN109032643A (zh) | 2018-07-26 | 2018-07-26 | 软件更新的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810837430.7A CN109032643A (zh) | 2018-07-26 | 2018-07-26 | 软件更新的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109032643A true CN109032643A (zh) | 2018-12-18 |
Family
ID=64645781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810837430.7A Pending CN109032643A (zh) | 2018-07-26 | 2018-07-26 | 软件更新的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032643A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685287A (zh) * | 2020-11-30 | 2021-04-20 | 青岛海尔科技有限公司 | 产品数据的测试方法、装置、存储介质及电子装置 |
CN115378809A (zh) * | 2022-08-18 | 2022-11-22 | 中国建设银行股份有限公司 | 一种软件版本升级方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978191A (zh) * | 2015-06-24 | 2015-10-14 | 小米科技有限责任公司 | 应用部署方法和服务器 |
CN105607936A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 服务器版本更新方法及装置 |
CN107391156A (zh) * | 2017-07-31 | 2017-11-24 | 成都华为技术有限公司 | 用于分布式***传输业务的方法、管理节点和服务节点 |
CN108268266A (zh) * | 2016-12-29 | 2018-07-10 | 中移(苏州)软件技术有限公司 | 一种升级方法和装置 |
-
2018
- 2018-07-26 CN CN201810837430.7A patent/CN109032643A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978191A (zh) * | 2015-06-24 | 2015-10-14 | 小米科技有限责任公司 | 应用部署方法和服务器 |
CN105607936A (zh) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | 服务器版本更新方法及装置 |
CN108268266A (zh) * | 2016-12-29 | 2018-07-10 | 中移(苏州)软件技术有限公司 | 一种升级方法和装置 |
CN107391156A (zh) * | 2017-07-31 | 2017-11-24 | 成都华为技术有限公司 | 用于分布式***传输业务的方法、管理节点和服务节点 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685287A (zh) * | 2020-11-30 | 2021-04-20 | 青岛海尔科技有限公司 | 产品数据的测试方法、装置、存储介质及电子装置 |
CN112685287B (zh) * | 2020-11-30 | 2023-11-28 | 青岛海尔科技有限公司 | 产品数据的测试方法、装置、存储介质及电子装置 |
CN115378809A (zh) * | 2022-08-18 | 2022-11-22 | 中国建设银行股份有限公司 | 一种软件版本升级方法及装置 |
CN115378809B (zh) * | 2022-08-18 | 2024-04-26 | 中国建设银行股份有限公司 | 一种软件版本升级方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3076641B1 (en) | Method for detecting whether hardware of intelligent terminal is running abnormally and intelligent terminal | |
JP2004334869A (ja) | プログラムによるコンピュータ問題の診断、解決、およびその自動的な報告ならびに更新 | |
CN105094895B (zh) | 一种安装多显卡驱动的方法及装置 | |
CN109243425A (zh) | 语音识别测试方法、装置、***、计算机设备及存储介质 | |
US7734956B2 (en) | Process management system | |
CN105760247A (zh) | 一种硬盘故障处理***和方法 | |
CN104737134A (zh) | 用于操作***无关的硬件验证的***和方法 | |
CN103677870A (zh) | ***升级方法及采用该方法升级的*** | |
CN106095621A (zh) | 一种安卓***中Launcher运行异常的恢复方法及*** | |
CN109032643A (zh) | 软件更新的方法和装置 | |
US8949588B1 (en) | Mobile telephone as bootstrap device | |
CN106021024B (zh) | 一种用户终端停止响应提示方法及用户终端 | |
US7734902B2 (en) | Addition of a hardware component to a running system | |
US7627789B2 (en) | Polymorphic management of embedded devices using web interfaces | |
US7475164B2 (en) | Apparatus, system, and method for automated device configuration and testing | |
CN104298618B (zh) | 一种智能终端的命令处理方法及装置 | |
CN105824649A (zh) | 确定驱动应用程序安装是否成功的方法、装置及电子设备 | |
US7996707B2 (en) | Method to recover from ungrouped logical path failures | |
CN104407808A (zh) | 写入数据的方法和装置 | |
CN109634782B (zh) | 一种***健壮性的检测方法、装置、存储介质及终端 | |
CN114647531B (zh) | 故障解决方法、故障解决***、电子设备及存储介质 | |
CN103235728B (zh) | Android终端中预置第三方应用的安装方法和装置 | |
CN113190491B (zh) | 一种串口信息显示方法、***及介质 | |
CN101158920B (zh) | 一种检测操作***故障的方法和装置 | |
US10599412B2 (en) | Operating system installation on a computing device with multiple redundant drives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181218 |