一种多设备软件升级管理方法及系统与流程

文档序号:24305202发布日期:2021-03-17 00:57阅读:81来源:国知局
一种多设备软件升级管理方法及系统与流程

本发明属于软件升级管理技术领域,涉及一种多设备软件升级管理方法及系统。



背景技术:

一个复杂系统往往由多个设备构成,为便于这些设备升级、维护,系统往往预留统一的升级维护接口。这个接口虽然为系统维护提供了诸多便利,但由于系统内设备通常由不同厂家生产、不同人员负责,涉及人员多、管理复杂,因此存在非法升级风险,为系统运行带来了故障和安全隐患。

为了避免未经授权的设备软件升级,现有的做法往往是通过纸质文件批准方式,即设备负责人向系统管理员提交纸质申请,经批准后进行相应设备升级。该方式虽然在管理流程上保证了软件升级申请的合法性,但由于无法在技术上确保申请升级文件与实际升级文件的一致性,因此仍然无法完全避免非法升级问题。



技术实现要素:

(一)发明目的

针对现有多设备软件升级管理方法无法完全避免非法升级的问题,提供一种多设备软件升级管理方法及系统。

(二)技术方案

为了解决上述技术问题,本发明多设备软件升级管理方法包括如下步骤:

步骤1,建立索引,分配随机种子;建立索引,即为系统内支持软件升级的各设备编号;分配随机种子,即为系统内支持软件升级的各设备分配一个随机数生成种子,不同设备的种子值应不同;索引和种子值记录在升级管理设备内的数据管理模块中,除索引值和种子值外,数据管理模块同时记录各设备的已成功升级次数和升级失败次数;索引值、种子值和各设备的已成功升级次数同时记录在管理员设备的数据存取模块中,其中种子值加密存储。

步骤2,提交软件升级原始数据;即当设备需要进行软件升级时,该设备负责人向系统管理员提交软件升级原始数据。

步骤3,添加索引和授权码,生成软件升级包;即当系统管理员收到设备软件升级原始数据后,首先根据该设备的随机数种子和已成功升级次数生成第一随机数,然后将该随机数添加到软件升级原始数据中并计算散列值,得到的散列值即为第一授权码;将未添加随机数的软件升级原始数据添加设备索引值和第一授权码,即得到软件升级包。生成第一授权码的过程由系统管理员操作完成,当生成第一授权码时,管理员设备内数据存取模块中记录的已成功升级次数默认加1,如果最终升级失败,需要系统管理员将成功升级次数恢复为原数值。

步骤4,软件升级包校验;即通过升级维护接口传输软件升级包,升级管理设备内的升级管理模块在得到软件升级包后发送给升级包校验模块,升级包校验模块首先拆包得到设备索引值、第一授权码和软件升级原始数据,然后根据该设备索引值获取已记录的设备随机数生成种子和已成功升级次数,然后根据该种子和成功升级次数生成第二随机数,之后将第二随机数添加到软件升级原始数据中并计算散列值,得到的散列值为第二授权码,判断第二授权码与拆包得到的第一授权码是否一致,如果一致,则校验成功,进行步骤5设备软件升级,否则校验失败,跳过步骤5,直接进行步骤6。

步骤5,设备软件升级;即升级管理设备内的升级管理模块根据步骤4得到的设备索引值和软件升级原始数据通过设备升级模块为相应设备进行软件升级。

步骤6,数据更新;即升级管理设备内的数据管理模块对已记录数据进行更新;如果步骤5顺利完成,则更新该升级设备的已成功升级次数;如果步骤4校验失败,则更新设备索引值对应设备的升级失败次数,升级失败次数可通过升级维护接口进行读取,供系统维护参考。

本发明还提供一种多设备软件升级管理系统,由管理员设备、升级管理设备和待升级设备构成,其中:

所述管理员设备由设备索引分配模块、随机种子分配模块、数据存取模块、软件升级包生成模块构成;

设备索引分配模块,用于为系统内支持软件升级的各设备编号,设备编号作为设备的索引值;

随机种子分配模块,用于为系统内支持软件升级的各设备分配一个随机数生成种子,不同设备的随机数种子值不同;

数据存取模块,用于存取各设备的索引值、种子值和已成功升级次数,其中种子值加密存储。

软件升级包生成模块,用于当设备需要进行软件升级时,该设备的负责人向系统管理员提交软件升级原始数据,当系统管理员收到设备软件升级原始数据后,软件升级包生成模块根据该设备的随机数种子值和已成功升级次数生成第一随机数,并根据第一随机数和软件升级原始数据计算散列值,得到的散列值即为第一授权码;将该设备索引值和第一授权码添加到软件升级原始数据中,生成软件升级包;

所述的升级管理设备由升级维护接口、升级管理模块、升级包校验模块、数据管理模块、设备升级模块构成;

升级维护接口与升级管理模块相连,为软件升级包发送和升级失败次数等系统信息读取提供数据传输通道;

升级管理模块提供系统内设备的升级管理功能,通过与升级维护接口、升级包校验模块、数据管理模块、设备升级模块的数据交互完成设备软件升级、系统信息读取等功能;

软件升级包校验模块,用于完成软件升级包校验,当校验成功时由设备升级模块完成设备软件升级;

数据管理模块,用于记录各设备的索引值、种子值、已成功升级次数和升级失败次数等数据,同时提供数据更新功能,如果设备软件升级成功,则更新该升级设备的已成功升级次数;如果软件升级包校验失败,则更新设备索引值对应设备的升级失败次数;

设备升级模块,用于根据设备索引值和软件升级原始数据对相应设备进行软件升级,该模块通过网口、串口或jtag接口与待升级设备相连。

所述的待升级设备为系统内支持通过升级维护接口进行软件升级的所有设备。

(三)有益效果

上述技术方案所提供多设备软件升级管理方法及系统,在技术上确保申请升级文件与实际升级文件的一致性,避免了多设备软件升级管理中的非法升级问题,具有很高的实用价值。

附图说明

图1是本发明一种多设备软件升级管理方法及系统的方法流程图。

图2是本发明一种多设备软件升级管理方法及系统的系统组成框图。

图3是本发明一种多设备软件升级管理方法及系统的管理员设备组成框图。

图4是本发明一种多设备软件升级管理方法及系统的升级管理设备组成框图。

具体实施方式

为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

本实施例系统中支持软件升级的设备数目为n。

参照图1,本发明多设备软件升级管理方法的具体实施步骤如下:

步骤1,建立索引,分配随机种子;建立索引,即为系统内支持软件升级的各设备编号i,i=0,1,2,…,n-1;分配随机种子,即为系统内支持软件升级的各设备分配一个随机数生成种子si,不同设备的种子值si不同;索引i和种子值si记录在升级管理设备内的数据管理模块中,除索引值i和种子值si外,数据管理模块同时记录各设备的已成功升级次数ti和升级失败次数fi;索引值i、种子值si和各设备的已成功升级次数ti同时记录在管理员设备的数据存取模块中,其中种子值si加密存储。

步骤2,提交软件升级原始数据;即当设备需要进行软件升级时,该设备负责人向系统管理员提交软件升级原始数据di。

步骤3,添加索引和授权码,生成软件升级包;即当系统管理员收到设备软件升级原始数据di后,首先根据该设备的随机数种子si和已成功升级次数ti生成第一随机数r,然后将该随机数r添加到软件升级原始数据di中并计算md5值,得到的md5值m即为第一授权码;将未添加随机数r的软件升级原始数据di添加设备索引值i和第一授权码m,即得到软件升级包pi。生成第一授权码的过程由系统管理员操作完成,当生成第一授权码时,管理员设备内数据存取模块中记录的已成功升级次数ti默认加1,如果最终升级失败,需要系统管理员将成功升级次数恢复为原数值。

步骤4,软件升级包校验;即通过升级维护接口传输软件升级包pi,升级管理设备内的升级管理模块在得到软件升级包pi后发送给升级包校验模块,升级包校验模块首先拆包得到设备索引值i、第一授权码m和软件升级原始数据di,然后根据该设备索引值i获取记录的设备随机数生成种子si和已成功升级次数ti,然后根据该种子si和成功升级次数ti生成第二随机数rc,之后将该随机数rc添加到软件升级原始数据di中并计算md5值mc,得到的散列值mc即为第二授权码,判断第二授权码mc与拆包得到的第一授权码m是否一致,如果一致,则校验成功,进行步骤5设备软件升级,否则校验失败,跳过步骤5,直接进行步骤6。

步骤5,设备软件升级;即系统内的升级管理模块根据步骤4得到的设备索引值i和软件升级原始数据di通过设备升级模块为相应设备进行软件升级。

步骤6,数据更新;即升级管理设备内的数据管理模块对已记录数据进行更新;如果步骤5顺利完成,则更新该升级设备的已成功升级次数ti;如果步骤4校验失败,则更新设备索引值对应设备的升级失败次数fi,升级失败次数fi可通过升级维护接口进行读取,供系统维护参考。

参照图2~图4,本发明多设备软件升级管理系统由管理员设备、升级管理设备和待升级设备构成,其中:

所述管理员设备由设备索引分配模块、随机种子分配模块、数据存取模块、软件升级包生成模块构成;

设备索引分配模块,用于为系统内支持软件升级的各设备编号i,i=0,1,2,…,n-1,设备编号作为设备的索引值i;

随机种子分配模块,用于为系统内支持软件升级的各设备分配一个随机数生成种子si,不同设备的随机数种子值不同si;

数据存取模块,用于存取各设备的索引值i、种子值si和已成功升级次数ti,其中种子值si加密存储。

软件升级包生成模块,用于当设备需要进行软件升级时,该设备的负责人向系统管理员提交软件升级原始数据di,当系统管理员收到设备软件升级原始数据di后,软件升级包生成模块根据该设备的随机数种子值si和已成功升级次数ti生成第一随机数r,并根据第一随机数r和软件升级原始数据di计算md5值,得到的md5值m即为第一授权码;将该设备索引值i和第一授权码m添加到软件升级原始数据di中,生成软件升级包pi;

所述的升级管理设备由升级维护接口、升级管理模块、升级包校验模块、数据管理模块、设备升级模块构成;

升级维护接口与升级管理模块相连,为软件升级包发送和升级失败次数fi等系统信息读取提供数据传输通道;

升级管理模块提供系统内设备的升级管理功能,通过与升级维护接口、升级包校验模块、数据管理模块、设备升级模块的数据交互完成设备软件升级、系统信息读取等功能;

软件升级包校验模块,用于完成软件升级包校验,当校验成功时由设备升级模块完成设备软件升级;

数据管理模块,用于记录各设备的索引值i、种子值si、已成功升级次数ti和升级失败次数fi等数据,同时提供数据更新功能,如果设备软件升级成功,则更新该升级设备的已成功升级次数ti;如果软件升级包校验失败,则更新设备索引值对应设备的升级失败次数fi;

设备升级模块,用于根据设备索引值i和软件升级原始数据di对相应设备进行软件升级,该模块通过网口、串口或jtag接口与待升级设备相连。

所述的待升级设备为系统内支持通过升级维护接口进行软件升级的n个设备。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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