本技术涉及计算机,特别涉及一种系统升级管理方法、装置、设备及存储介质。
背景技术:
1、系统升级状态管理是软件、硬件开发中至关重要的部分,其主要目的是确保系统在进行软件更新或硬件升级时,能够平稳、安全的更新到最新版本,并在升级过程中实时观测升级进度、升级状态等信息,从而对升级过程进行全面把控,使技术人员能够在升级出现问题后及时介入处理,从而降低对用户产生负面影响。
2、然而,随着系统功能的不断增加以及用户需求的不断增长,系统升级变得越来越频繁且复杂,需要升级的部件也越来越多,如固件、软件、驱动等,另外,随着升级方式的不断增加,升级状态的管理也变得越来越复杂。
3、目前,在升级过程中,需要管理多种升级方式的升级策略,针对不同的升级方式,通常采用单独管理的方式,也即,对每种升级方式均进行单独管理,这就需要处理多个不同的系统或流程,从而增加了系统升级状态管理的复杂性和难度。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种系统升级管理方法、装置、设备及存储介质,能够简化系统升级状态管理流程,降低系统升级状态管理的复杂度,并且可以对多种不同升级类型的部件升级状态进行统一管理,从而提高了升级状态管理的效率。其具体方案如下:
2、第一方面,本技术公开了一种系统升级管理方法,包括:
3、当接收到系统升级指令时,确定待升级部件及所述待升级部件对应的部件升级类型;
4、按照所述部件升级类型对相应的所述待升级部件进行升级,并在升级开始时修改所述部件升级类型对应的第一状态机的输入项,并触发所述输入项中预先添加的订阅函数,以通过所述订阅函数读取所述第一状态机的输入项,并利用所述第一状态机中的逻辑运算组件并基于读取到的所述输入项计算所述第一状态机的输出项对应的升级属性,得到针对所述部件升级类型的所述待升级部件的升级状态信息;所述升级属性包括升级状态和升级进度,所述第一状态机的输出项中包括第一状态机工作字段,用于表示所述第一状态机的工作状态;
5、将所述第一状态机的输出项中的所述升级状态信息输入至第二状态机的输入项,并通过所述第二状态机的输出项对所述升级状态信息进行记录;所述第二状态机的输出项中包括第二状态机工作字段,用于表示所述第二状态机的工作状态,所述第二状态机的输入项用于接收不同升级类型对应的第一状态机的输出项。
6、可选的,所述系统升级管理方法,还包括:
7、分别为不同升级类型的部件创建第一状态机,并为各所述不同升级类型对应的第一状态机配置输入项、输出项和逻辑运算组件;
8、创建第二状态机,并为所述第二状态机配置输入项和输出项,并在所述第二状态机的输出项中注册读函数;
9、分别为所述不同升级类型对应的第一状态机的各输出项和所述第二状态机的各输出项分配地址,并基于分配的所述地址建立所述不同升级类型对应的第一状态机的输出项与所述第二状态机的输出项的关联关系。
10、可选的,所述通过所述第二状态机的输出项对所述升级状态信息进行记录之后,还包括:
11、当接收到系统升级状态获取请求时,执行位于所述第二状态机的输出项中的所述读函数,以从所述第二状态机的输出项中读取所述升级状态信息,并将所述升级状态信息进行前端显示。
12、可选的,所述分别为所述不同升级类型对应的第一状态机的各输出项和所述第二状态机的各输出项分配地址,并基于分配的所述地址建立所述不同升级类型对应的第一状态机的输出项与所述第二状态机的输出项的关联关系,包括:
13、分别为所述不同升级类型对应的第一状态机的各输出项和所述第二状态机的各输出项分配地址,并为所述不同升级类型对应的第一状态机分配指针数组;
14、将各所述不同升级类型对应的所述指针数组作为链表节点保存至预先创建的目标链表中,并将所述不同升级类型对应的第一状态机的输出项对应的所述地址作为索引保存至位于所述目标链表的对应所述指针数组中;
15、分别建立各所述不同升级类型对应的第一状态机的输出项与对应所述指针数组中不同元素的对应关系,以及所述第二状态机的输出项与各所述指针数组中不同元素的对应关系。
16、可选的,所述利用所述第一状态机中的逻辑运算组件并基于读取到的所述输入项计算所述第一状态机的输出项对应的升级属性,得到针对所述部件升级类型的所述待升级部件的升级状态信息之后,还包括:
17、从目标链表中确定当前所述第一状态机对应的目标链表节点,并以指针形式将当前所述第一状态机的各输出项对应的所述升级状态信息保存至所述目标链表节点的指针数组中,并将当前所述第一状态机的输出项中的所述第一状态机工作字段设置为工作状态。
18、可选的,所述将所述第一状态机的输出项中的所述升级状态信息输入至第二状态机的输入项,包括:
19、对所述目标链表中的各链表节点进行遍历,并在遍历到所述第一状态机工作字段为工作状态的所述目标链表节点时,从所述目标链表节点的指针数组中获取与所述第一状态机的输出项对应的所述升级状态信息,并将所述升级状态信息输入至第二状态机的输入项中。
20、可选的,所述当接收到系统升级指令时,确定待升级部件及所述待升级部件对应的部件升级类型,包括:
21、当接收到软件升级指令时,确定待升级软件及所述待升级软件对应的软件升级类型;
22、相应的,所述通过所述第二状态机的输出项对所述升级状态信息进行记录之后,还包括:
23、判断所述待升级软件是否升级完成;
24、若所述待升级软件升级完成,则将所述软件升级类型对应的第一状态机的输出项中的所述第一状态机工作字段设置为空闲状态,并获取当前系统的固件版本,得到当前固件版本;
25、判断所述当前固件版本是否低于预设固件版本;
26、若所述当前固件版本低于所述预设固件版本,则对系统固件进行升级,并在升级开始时修改固件升级类型对应的第一状态机的输入项,并触发所述固件升级类型对应的第一状态机的输入项中预先添加的订阅函数,以读取所述固件升级类型对应的第一状态机的输入项,并利用所述固件升级类型对应的第一状态机中的逻辑运算组件并基于读取到的所述输入项计算所述固件升级类型对应的第一状态机的输出项中的升级属性,得到针对所述固件升级类型的系统固件的新状态信息;
27、将所述固件升级类型对应的第一状态机的输出项中的所述新状态信息输入至所述第二状态机的输入项,并通过所述第二状态机的输出项对所述第二状态机的输入项中的所述新状态信息进行记录。
28、第二方面,本技术公开了一种系统升级管理装置,包括:
29、确定模块,用于当接收到系统升级指令时,确定待升级部件及所述待升级部件对应的部件升级类型;
30、部件升级模块,用于按照所述部件升级类型对相应的所述待升级部件进行升级;
31、添加模块,用于在升级开始时修改所述部件升级类型对应的第一状态机的输入项,并触发所述输入项中预先添加的订阅函数,以通过所述订阅函数读取所述第一状态机的输入项,并利用所述第一状态机中的逻辑运算组件并基于读取到的所述输入项计算所述第一状态机的输出项对应的升级属性,得到针对所述部件升级类型的所述待升级部件的升级状态信息;所述升级属性包括升级状态和升级进度,所述第一状态机的输出项中包括第一状态机工作字段,用于表示所述第一状态机的工作状态;
32、信息输入模块,用于将所述第一状态机的输出项中的所述升级状态信息输入至第二状态机的输入项;
33、记录模块,用于通过所述第二状态机的输出项对所述升级状态信息进行记录;所述第二状态机的输出项中包括第二状态机工作字段,用于表示所述第二状态机的工作状态,所述第二状态机的输入项用于接收不同升级类型对应的第一状态机的输出项。
34、第三方面,本技术公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述的系统升级管理方法。
35、第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述的系统升级管理方法。
36、可见,本技术当接收到系统升级指令时,确定待升级部件及所述待升级部件对应的部件升级类型;按照所述部件升级类型对相应的所述待升级部件进行升级,并在升级开始时修改所述部件升级类型对应的第一状态机的输入项,并触发所述输入项中预先添加的订阅函数,以通过所述订阅函数读取所述第一状态机的输入项,并利用所述第一状态机中的逻辑运算组件并基于读取到的所述输入项计算所述第一状态机的输出项对应的升级属性,得到针对所述部件升级类型的所述待升级部件的升级状态信息;所述升级属性包括升级状态和升级进度,所述第一状态机的输出项中包括第一状态机工作字段,用于表示所述第一状态机的工作状态;将所述第一状态机的输出项中的所述升级状态信息输入至第二状态机的输入项,并通过所述第二状态机的输出项对所述升级状态信息进行记录;所述第二状态机的输出项中包括第二状态机工作字段,用于表示所述第二状态机的工作状态,所述第二状态机的输入项用于接收不同升级类型对应的第一状态机的输出项。本技术在接收到系统升级指令时,先确定待升级部件及对应的部件升级类型,然后按照部件升级类型对待升级部件进行升级,并在升级开始时触发部件升级类型对应的第一状态机的输入项中的订阅函数,从而读取第一状态机的输入项中的内容,并利用逻辑运算组件及读取到的输入项中的内容计算第一状态机的输出项对应的升级属性,如升级状态和升级进度,从而得到当前部件升级过程中的升级状态信息,可见,本技术在监测到系统升级指令时,通过修改状态机的输入并触发订阅函数的方式使第一状态机自动触发对升级状态信息的计算,并通过预先创建的第二状态机来对第一状态机的输出项中的升级状态信息进行接收及保存,从而简化了系统升级状态管理流程,降低了系统升级状态管理的复杂度,另外,由于不同的第一状态机对应不同的部件升级类型,因此可以对多种不同升级类型的部件升级状态进行统一管理,从而提高了升级状态管理的效率。
1.一种系统升级管理方法,其特征在于,包括:
2.根据权利要求1所述的系统升级管理方法,其特征在于,还包括:
3.根据权利要求2所述的系统升级管理方法,其特征在于,所述通过所述第二状态机的输出项对所述升级状态信息进行记录之后,还包括:
4.根据权利要求2所述的系统升级管理方法,其特征在于,所述分别为所述不同升级类型对应的第一状态机的各输出项和所述第二状态机的各输出项分配地址,并基于分配的所述地址建立所述不同升级类型对应的第一状态机的输出项与所述第二状态机的输出项的关联关系,包括:
5.根据权利要求4所述的系统升级管理方法,其特征在于,所述利用所述第一状态机中的逻辑运算组件并基于读取到的所述输入项计算所述第一状态机的输出项对应的升级属性,得到针对所述部件升级类型的所述待升级部件的升级状态信息之后,还包括:
6.根据权利要求5所述的系统升级管理方法,其特征在于,所述将所述第一状态机的输出项中的所述升级状态信息输入至第二状态机的输入项,包括:
7.根据权利要求1至6任一项所述的系统升级管理方法,其特征在于,所述当接收到系统升级指令时,确定待升级部件及所述待升级部件对应的部件升级类型,包括:
8.一种系统升级管理装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的系统升级管理方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的系统升级管理方法。