一种固件更新方法及控制器与流程

文档序号:15817665发布日期:2018-11-02 22:48阅读:160来源:国知局
一种固件更新方法及控制器与流程

本发明涉及通信技术领域。

背景技术

在网络架构中,有时固件升级可能会导致该网络架构中的部分网络装置宕机,从而导致整个网络架构无法正常运作。为修复这些网络装置,往往需要花费大量的时间和成本。



技术实现要素:

有鉴于此,本发明实施例提供了一种固件更新方法,藉由分批更新以降低由于更新失败而宕机所造成的影响。

有鉴于此,本发明实施例还提供了一种控制器,藉由分批更新以降低由于更新失败而宕机所造成的影响。

本发明实施例提供的一种固件更新方法,应用于控制器中。所述控制器与网络集群连接。所述网络集群包括第一网络集群和第二网络集群。所述第一网络集群包括多个第一网络装置,所述第二网络集群包括多个第二网络装置。收集所述多个第一网络装置所对应的多个第一流量使用信息和所述多个第二网络装置所对应的多个第二流量使用信息。根据所述多个第一流量使用信息计算所述第一网络集群的第一总流量以及所述多个第一网络装置之间的第一流量使用差异值。根据所述多个第二流量使用信息计算所述第二网络集群的第二总流量以及所述多个第二网络装置之间的第二流量使用差异值。根据所述第一总流量以及所述多个第一网络装置之间的第一流量使用差异值计算所述第一网络集群的第一优先更新值。根据所述第二总流量以及所述多个第二网络装置之间的第二流量使用差异值计算所述第二网络集群的第二优先更新值。比较所述第一优先更新值和所述第二优先更新值。当所述第一优先更新值大于所述第二优先更新值时,更新所述第一网络集群中的所述多个第一网络装置。

本发明实施例提供的一种控制器,所述控制器与网络集群连接。所述网络集群包括第一网络集群和第二网络集群,所述第一网络集群包括多个第一网络装置,所述第二网络集群包括多个第二网络装置。所述系统还包括收集模块、第一计算模块、第二计算模块、比较模块以及第一更新模块。收集模块用于收集所述多个第一网络装置所对应的多个第一流量使用信息和所述多个第二网络装置所对应的多个第二流量使用信息。第一计算模块用于根据所述多个第一流量使用信息计算所述第一网络集群的第一总流量以及所述多个第一网络装置之间的第一流量使用差异值,根据所述多个第二流量使用信息计算所述第二网络集群的第二总流量以及所述多个第二网络装置之间的第二流量使用差异值。第二计算模块用于根据所述第一总流量以及所述多个第一网络装置之间的第一流量使用差异值计算所述第一网络集群的第一优先更新值,根据所述第二总流量以及所述多个第二网络装置之间的第二流量使用差异值计算所述第二网络集群的第二优先更新值。比较模块用于比较所述第一优先更新值和所述第二优先更新值。第一更新模块用于当所述第一优先更新值大于所述第二优先更新值时,更新所述第一网络集群中的所述多个第一网络装置。

上述固件更新方法及控制器,通过将优先更新值高的网络集群中的网络装置优先更新,降低了因为更新失败而宕机所造成的影响。

以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1是本发明实施例之控制器控制固件更新的网络架构图。

图2是本发明实施例之控制器的功能模块图。

图3是本发明实施例之固件更新方法的步骤流程图。

主要元件符号说明

第一网络集群a

第二网络集群b

第一群组a

第二群组b

控制器i、ii、iii

第一网络装置1、2、3、4、5、6、7

第二网络装置8、9、10、11、12、13、14、15、16

更新系统100

收集模块101

第一计算模块102

第二计算模块103

比较模块104

第一更新模块105

分群模块106

第二更新模块107

记录模块108

第三更新模块109

存储器110

处理器120

如下具体实施例将结合上述附图进一步说明本发明。

具体实施方式

如图1,是本发明实施例之控制器控制固件更新的网络架构图。该网络架构包括控制器i和多个网络集群(至少包括第一网络集群a和第二网络集群b)。所述第一网络集群a与所述第二网络集群b分别与控制器i以有线或无线的方式连接,并根据控制器i的控制指令执行相应的操作,如对这些网络集群内的网络装置实施升级操作。

在一实施例中,每个网络集群内分别设有一个子控制器,其中第一网络集群a内设有子控制器ii,第二网络集群b内设有子控制器iii。子控制器ii、iii和控制器i连接,接收控制器i的控制指令并对其集群内的网络装置实施升级等操作。

在另一实施例中,每个网络集群内的所有网络装置均直接与控制器i连接,所有网络装置均根据控制器i的控制指令实施升级等操作。可以理解,在该实施例中,控制器i内部应该对所有网络装置进行标记,以区分每个网络装置所属的网络集群。

为了使得本发明更加清晰明白,本实施例将以第一网络集群a和第二网络集群b为例进行说明。第一网络集群a包括多个第一网络装置(如,1~7),第二网络集群b包括多个第二网络装置(如,8~16)。下面将以第一网络集群a以及第二网络集群b由控制器i直接控制为例进行详细介绍。

结合图2,是本发明实施例之控制器i的功能模块图。控制器i包括更新系统100、处理器110和存储器120。更新系统100包括收集模块101、第一计算模块102、第二计算模块103、比较模块104、第一更新模块105、分群模块106以及第二更新模块107。所述模块101-107被配置成由一个或多个处理器执行,以完成本发明实施例。本发明实施例所称的模块是完成一特定功能的计算机程序段。存储器110用于存储更新系统100的程序代码等资料。当然,更新系统100的程序代码等资料也可以存储于其它存储器中,这里仅以存储于存储器110中为例进行说明。

收集模块101收集与第一网络装置1~7对应的多个第一总流量使用信息和与第二网络装置8~16对应的多个第二流量使用信息。

根据所述多个第一流量使用信息,第一计算模块102计算第一网络集群a的第一总流量以及第一网络装置1~7之间的第一流量使用差异值。

本实施例中,根据所述多个第二流量使用信息,第一计算模块102还计算第二网络集群b的第二总流量以及第二网络装置8~16之间的第二流量使用差异值。需要说明的是,计算所述第一总流量与第二流量的公式相同,计算所述第一流量使用差异值与所述第二流量使用差异值的公式相同。下面以所述第一总流量与所述第一流量使用差异值为例具体介绍。

所述第一总流量通过公式和公式计算得到,其中ui表示单个第一网络装置在预设时间t内使用的流量,ut表示所述单个第一网络装置在单位时间内使用的流量,u表示所述第一总流量,n表示第一网络集群a中第一网络装置的数量(本实施例中n=7)。

所述第一流量使用差异值通过公式计算得到,其中d表示所述第一流量使用差异值,μ表示n个第一网络装置在所述预设时间t内使用的平均流量。

根据所述第一总流量以及第一网络装置1~7之间的第一流量使用差异值,第二计算模块103计算第一网络集群a的第一优先更新值p1。具体实施例中,所述第一优先更新值计算公式为:其中,p1表示所述第一优先更新值,w1、w2均为常数。当第一总流量越小且第一流量使用差异值越大时,所述第一优先更新值p1越大。

本实施例中,根据所述第二总流量以及第二网络装置8~16之间的第二流量使用差异值,第二计算模块103计算第二网络集群b的第二优先更新值p2。需要说明的是,计算第二优先更新值p2的公式与计算第一优先更新值p1的公式相同。

比较模块104比较第一优先更新值p1和第二优先更新值p2。

当第一优先更新值p1大于第二优先更新值p2时,第一更新模块105优先更新第一网络集群a中的第一网络装置1~7。

具体实施例中,当第一优先更新值p1小于第二优先更新值p2时,第一更新模块105优先更新第二网络集群b中的第二网络装置8~16。当第一优先更新值p1等于第二优先更新值p2时,第一更新模块105随机选择第一网络集群a和第二网络集群b中的一个网络集群相应的网络装置进行更新。

在本实施例中,第一优先更新值p1大于第二优先更新值p2,因此,优先更新第一网络集群a中的第一网络装置1~7。

具体实施例中,当确认优先更新值高的网络集群之后,分群模块106会对所述优先更新值高的网络集群中的多个网络装置进行分群。在本实施例中,第一更新模块105根据比较模块104的比较结果优先更新第一网路集群a中的第一网络装置1~7。故,分群模块106对第一网路集群a进行分群,具体如下。

分群模块106根据更新失败风险系数将第一网络装置1~7分为多个群组a-c。第一群组a中包括第一网络装置1~2,第二群组b中包括第一网络装置3~5,第三群组c中包括第一网络装置6~7。每个第一网络装置的更新失败风险系数由其硬件或软件的配置来决定。所述硬件或软件的配置表示为:x=(x1,x2,x3,x4,x5,x6)。x表示所述硬件或软件的配置参数,x1表示cpu晶振频率参数,x2表示cpu核心数,x3表示内存大小,x4表示硬盘容量,x5表示软件版本差值的倒数以及x6表示运行时间的倒数。所述硬件或软件的配置越低,所述第一网络装置的更新失败风险系数越高。本实施例中,以第一群组a的更新风险系数最高为例进行说明。

第二更新模块107将更新失败风险系数高的第一群组a中所有的第一网络装置1~2优先更新。

记录模块108记录第一群组a的更新失败率。具体实施例中,当第一群组a中所有第一网络装置1~2更新完成(包括更新失败以及更新成功)之后,记录模块才开始记录第一群组a的更新失败率。

当所述更新失败率大于预设值时,第三更新模块109停止更新第一网络集群a中的第一网络装置3~7以及第二网络集群b中的第二网络装置8~16。当所述更新失败率小于或等于所述预设值时,第三更新模块109继续将更新失败风险系数低的第二群组b中所有的第一网络装置3~5更新。

具体实施例中,若第一网络集群a中分为第一群组a(包括第一网络装置1~2)、第二群组b(包括第一网络装置3~5)以及第三群组c(包括第一网络装置6~7),且该些群组的更新失败风险系数大小关系为:所述第一群组>所述第二群组>所述第三群组。故,该些群组的更新顺序为:第一群组a→第二群组b→第三群组c。

当更新开始时,开始更新第一群组a。当第一群组a的第一网络装置1更新失败时,继续更新第一网络装置2。若第一网络装置2更新成功,所述第一群组a更新完成,这时记录模块108记录第一网络集群a的更新失败率为1/16。然后,将第一网络集群a的更新失败率1/16与预设值1/8进行比较,显然1/16小于1/8,此时继续更新第二群组b。

当第二群组b更新完成,其中第一网络装置3以及第一网络装置5更新失败,第一网络装置4更新成功。此时,记录模块108记录的第一网络集群a的更新失败率为3/16,显然3/16大于1/8,则第三更新模块109停止更新第一网络集群a中的第一网络装置3~7以及第二网络装置b中的第二网络集群8~16。

如图3,是本发明实施例之固件更新方法的步骤流程图。所述固件更新方法应用于控制器中。所述控制器与网络集群连接,所述网络集群包括第一网络集群a和第二网络集群b。第一网络集群a包括第一网络装置1~7,第二网络集群b包括第二网络装置8~16。以下介绍详细方法流程。

步骤s01,收集第一网络装置1~7所对应的多个第一流量使用信息和第二网络装置8~16所对应的多个第二流量使用信息。

步骤s02,根据所述多个第一流量使用信息计算第一网络集群a的第一总流量以及第一网络装置1~7之间的第一流量使用差异值。

步骤s03,根据所述多个第二流量使用信息计算第二网络集群b的第二总流量以及第二网络装置8~16之间的第二流量使用差异值。

步骤s04,根据所述第一总流量以及第一流量使用差异值计算第一网络集群a的第一优先更新值。

步骤s05,根据所述第二总流量以及第二流量使用差异值计算第二网络集群b的第二优先更新值。

步骤s06,判断所述第一优先更新值是否大于所述第二优先更新值。

步骤s07,当所述第一优先更新值大于所述第二优先更新值时,优先更新第一网络集群a中的第一网络装置1~7。

步骤s08,根据更新失败风险系数将第一网络装置1~7分为3个群组a-c。

步骤s09,将更新失败风险系数高的第一群组a中所有第一网络装置1~2优先更新。

步骤s10,记录第一群组a的更新失败率。

步骤s11,判断所述更新失败率是否大于预设值,当所述更新失败率大于所述预设值时,执行步骤s12,否则执行步骤s13。

步骤s12,停止更新所述第一网络集群a中的第一网络装置3~7以及第二网络集群b中的所有第二网络装置8~16。

步骤s13,将更新失败风险系数低的第二群组b中所有第一网络装置3~5更新。

本发明实施例提供的固件更新方法及控制器,通过将优先更新值大且风险系数高的群组中的网络装置优先更新,降低了由于更新失败而宕机所造成的影响。

以上实施例仅用以说明本发明的技术方案而非限制,尽管参照实施例对本发明进行了详细的说明,本领域的普通技术人员应该理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

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