一种cmc版本更新方法及装置与流程

文档序号:13331926阅读:245来源:国知局
一种cmc版本更新方法及装置与流程

本发明涉及存储领域,更具体地说,涉及一种cmc版本更新方法及装置。



背景技术:

随着传统的存储的蓬勃发展,对于网络通信和网络管理也越来越受到关注,一台存储器是否更加利于网络管理也成为了评价一个存储器好坏的标志之一。

为了存储产品的使用更加方便,同时保证存储的高可用性,一般情况下采用双cmc模式,即工作时一主一从的思想,主cmc负责所有的工作,而从cmc作为备用,当主cmc发生故障的时候,从cmc接替服务,而之前的主cmc进行重启,试图恢复故障,变成从cmc,进而保证一直是双cmc在位。

由于cmc版本的兼用性问题,存储软件版本上也会出现不兼容的情况,那么对于存储软件来说,会出现很多不可预知的错误,严重影响存储产品的可靠性和可用性。

因此,如何对cmc的版本进行更新,提高存储软件的可靠性和可用性是本领域技术人员需要解决的问题。



技术实现要素:

本发明的目的在于提供一种cmc版本更新方法及装置,实现cmc的版本更新,提高存储软件的可靠性和可用性。

为实现上述目的,本发明实施例提供了一种cmc版本更新方法,包括:

在存储软件启动后,获取cmc的当前版本信息;

判断所述存储软件中的兼容列表中是否存在所述当前版本信息;

若否,则将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息。

其中,将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息之后,还包括:

重新判断所述存储软件中的兼容列表中是否存在所述当前版本信息;

若否,则执行将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息的步骤。

其中,向所述cmc写入所述兼容列表中包含的标准版本信息之前,还包括:

判断更新次数是否超过预定次数;

若否,则执行将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息的步骤,并将所述更新次数加一;

若是,则向管理员发出告警。

其中,获取cmc的当前版本信息之前,还包括:

判断所述cmc的状态属性是否为正在更新;

若否,则将所述状态属性设置为正在更新,并执行获取cmc的当前版本信息的步骤;

若是,则等待间隔时间后,执行判断所述cmc的状态属性是否为正在更新的步骤。

其中,若所述当前版本信息包括主cmc的主版本信息和从cmc的从版本信息,则判断所述存储软件中的兼容列表中是否存在所述当前版本信息;若否,则将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息包括:

s321:判断所述存储软件中的兼容列表中是否存在所述从版本信息,若是,则进入s323,若否则进入s322;

s322:将所述从版本信息替换为所述兼容列表中包含的一个标准版本信息,并进入s323;

s323:判断所述存储软件中的兼容列表中是否存在所述主版本信息,若否则进入s324;

s324:将所述从cmc切换为主cmc,并将所述主版本信息替换为所述兼容列表中包含的一个标准版本信息。

为实现上述目的,本发明实施例提供了一种cmc版本更新装置,包括:

获取模块,用于在存储软件启动后,获取cmc的当前版本信息;

第一判断模块,用于判断所述存储软件中的兼容列表中是否存在所述当前版本信息;

更新模块,用在所述存储软件中的兼容列表中不存在所述当前版本信息时,将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息。

其中,还包括:

复查模块,用于重新判断所述存储软件中的兼容列表中是否存在所述当前版本信息,若否,则触发所述更新模块。

其中,还包括:

第二判断模块,用于判断更新次数是否超过预定次数;

触发模块,用于在更新次数不超过预定次数时,触发所述更新模块,并将所述更新次数加一;

告警模块,用于在更新次数超过预定次数时,向管理员发出告警。

其中,还包括:

第三判断模块,用于判断所述cmc的状态属性是否为正在更新;

第一设置模块,用于在所述cmc的状态属性不为正在更新时,将所述状态属性设置为正在更新,并触发所述获取模块;

等待模块,用于在所述cmc的状态属性为正在更新时,等待间隔时间后,触发第三判断模块。

其中,若所述版本信息包括主cmc的主版本信息和从cmc的从版本信息,所述第一判断模块包括:

第一判断单元,用于判断所述存储软件中的兼容列表中是否存在所述从版本信息,若是,则触发第二判断单元,若否,则触发第一更新单元;

所述第二判断单元,用于判断所述存储软件中的兼容列表中是否存在所述主版本信息,若否,则触发第二更新单元;

所述第一更新模块包括:

所述第一更新单元,用于将所述从版本信息替换为所述兼容列表中包含的一个标准版本信息;

所述第二更新单元,用于所述从cmc切换为主cmc,并将所述主版本信息替换为所述兼容列表中包含的一个标准版本信息。

通过以上方案可知,本发明实施例提供的一种cmc版本更新方法包括:在存储软件启动后,获取cmc的当前版本信息;判断所述存储软件中的兼容列表中是否存在所述当前版本信息;若否,则将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息。

由此可见,本发明实施例提供的cmc版本更新方法,通过存储软件中的兼容列表判断所述版本信息是否符合兼容性要求,在不符合兼容性要求时,根据存储软件中的标准cmc版本信息自动更新版本信息,实现cmc的版本更新,提高存储软件的可靠性和可用性。本发明还公开了一种cmc版本更新装置,同样能实现上述技术效果。

附图说明

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

图1为本发明实施例公开的一种cmc版本更新方法的流程图;

图2为本发明实施例公开的另一种cmc版本更新方法的流程图;

图3为本发明实施例公开的又一种cmc版本更新方法的流程图;

图4为本发明实施例公开的一种cmc版本更新装置的结构图;

图5为本发明实施例公开的另一种cmc版本更新装置的结构图。

具体实施方式

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

本发明实施例公开了一种cmc版本更新方法,实现cmc的版本更新,提高存储软件的可靠性和可用性。

参见图1,本发明实施例公开的一种cmc版本更新方法的流程图,如图1所示,包括:

s101:在存储软件启动后,获取cmc的当前版本信息;

在每次存储软件启动后,节点会主动获取cmc的当前版本信息,为后续判断所述cmc的当前版本信息是否满足兼容性要求做准备。

需要说明的是,一般存储设备存在两个cmc,一个主cmc,一个从cmc,所以在获取cmc的当前版本信息时,要同时获取两个cmc的当前版本信息,当其中一个当前版本信息不符合兼容性要求时,就要进行更新操作,此处的更新操作是一个广义的概念,即包含版本的从低到高、从高到低、版本级别不变三种情况。

s102:判断所述存储软件中的兼容列表中是否存在所述当前版本信息,若否,则进入s103,若是,则结束流程。

在具体实施中,节点根据存储软件中的兼容列表中是否存在所述当前版本信息,判断所述cmc的当前版本信息是否满足兼容性要求,若是,则结束流程,若否,则进入下一步骤。

s103:将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息。

在所述cmc的当前版本信息不满足兼容性要求时,节点从兼容性列表中包含的版本信息中选择一个作为标准版本信息,替换所述当前版本信息。

需要说明的是,可以为兼容性列表中的版本信息增加一个优先级属性,节点每次从兼容性列表中选取优先级属性最高的版本信息作为标准版本信息,当然节点也可以从兼容性列表中随机选取一个版本信息作为标准版本信息,在此不作具体限定。

本发明实施例提供的cmc版本更新方法,通过存储软件中的兼容列表判断所述版本信息是否符合兼容性要求,在不符合兼容性要求时,根据存储软件中的标准cmc版本信息自动更新版本信息,实现cmc的版本更新,提高存储软件的可靠性和可用性。

在上述实施例的基础上,作为优选实施方式,获取cmc的当前版本信息之前,还包括:

判断所述cmc的状态属性是否为正在更新;

若否,则将所述状态属性设置为正在更新,并执行获取cmc的当前版本信息的步骤;

若是,则等待间隔时间后,执行判断所述cmc的状态属性是否为正在更新的步骤。

存储设备为保证高可用性和可靠性,一般会采用两个节点同时控制cmc,为避免两个节点同时对cmc进行更新操作,造成资源的浪费,在获取cmc的当前版本信息之前,还需要判断所述cmc的状态属性是否为正在更新。若否,则将所述状态属性设置为正在更新,并执行获取cmc的当前版本信息的步骤,若是,则等待间隔时间后,执行判断所述cmc的状态属性是否为正在更新的步骤,具体的间隔时间可以根据更新cmc的时间设置。

在具体实施中,可以通过升级标志位判断所述cmc是否处于更新状态,即升级标志位为0x11表示正在更新,0x00表示没有更新。

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

参见图2,本发明实施例提供的另一种cmc版本更新方法的流程图,如图2所示,包括:

s201:在存储软件启动后,获取cmc的当前版本信息;

s202:判断所述存储软件中的兼容列表中是否存在所述当前版本信息,若否,则进入s203,若是,则结束流程;

s203:判断更新次数是否超过预定次数,若否,则进入s204,并将所述更新次数加一,若是,则向管理员发出告警;

s204:将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息;

s205:重新判断所述存储软件中的兼容列表中是否存在所述当前版本信息,若否,则进入s203,若是,则结束流程。

在具体实施中,替换完成后,需要复查所述当前版本信息是否满足兼容性要求,若满足则结束流程,若不满足,则判断更新次数是否超过预定次数,若否,则重新进行替换操作,若是,则将所述更新次数值零,结束流程,并打印日志信息,向管理员发出告警。

为保证存储设备的可用性和可靠性,一般存储设备设有两个cmc,主cmc工作,从cmc备用,当主cmc发生故障时,从cmc切换为主cmc,完成交接工作后接替主cmc继续工作。本发明实施例公开的cmc版本更新方法,在更新两个cmc的版本信息时,保证存储设备的服务不会中断。具体的:

参见图3,本发明实施例提供的又一种cmc版本更新方法的流程图,如图3所示,包括:

s301:在存储软件启动后,获取cmc的当前版本信息;

s321:判断所述存储软件中的兼容列表中是否存在所述从版本信息,若是,则进入s322,若否则进入s331;

s331:将所述从版本信息替换为所述兼容列表中包含的一个标准版本信息,并进入s322;

在获取主cmc和从cmc的当前版本信息后,由于主cmc正在工作,首先判断所述存储软件中的兼容列表中是否存在所述从版本信息,即所述从版本信息是否满足兼容性要求,若是,则进入s322,若否,则进入s331。

s322:判断所述存储软件中的兼容列表中是否存在所述主版本信息,若否,则进入s332,若是,则结束流程;

s332:将所述从cmc切换为主cmc,并将所述主版本信息替换为所述兼容列表中包含的一个标准版本信息。

在更新从版本信息之后,判断主版本信息是否满足兼容性要求,若是,则结束流程,若否,则需要更新所述主版本信息。在更新所述主版本信息之前,还需要将所述从cmc切换为主cmc,以保证存储设备的服务不会中断。

下面对本发明实施例提供的一种cmc版本更新装置进行介绍,下文描述的一种cmc版本更新装置与上文描述的一种cmc版本更新方法可以相互参照。

参见图4,本发明实施例提供的一种cmc版本更新装置的结构图,如图4所示,包括:

获取模块401,用于在存储软件启动后,获取cmc的当前版本信息;

第一判断模块402,用于判断所述存储软件中的兼容列表中是否存在所述当前版本信息;

更新模块403,用在所述存储软件中的兼容列表中不存在所述当前版本信息时,将所述当前版本信息替换为所述兼容列表中包含的一个标准版本信息。

本发明实施例提供的cmc版本更新装置,通过存储软件中的兼容列表判断所述版本信息是否符合兼容性要求,在不符合兼容性要求时,根据存储软件中的标准cmc版本信息自动更新版本信息,实现cmc的版本更新,提高存储软件的可靠性和可用性。

在上述实施例的基础上,作为优选实施方式,还包括:

复查模块,用于重新判断所述存储软件中的兼容列表中是否存在所述当前版本信息,若否,则触发所述更新模块。

在上述实施例的基础上,作为优选实施方式,还包括:

第二判断模块,用于判断更新次数是否超过预定次数;

触发模块,用于在更新次数不超过预定次数时,触发所述更新模块,并将所述更新次数加一;

告警模块,用于在更新次数超过预定次数时,向管理员发出告警。

在上述实施例的基础上,作为优选实施方式,还包括:

第三判断模块,用于判断所述cmc的状态属性是否为正在更新;

第一设置模块,用于在所述cmc的状态属性不为正在更新时,将所述状态属性设置为正在更新,并触发所述获取模块;

等待模块,用于在所述cmc的状态属性为正在更新时,等待间隔时间后,触发第三判断模块。

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

参见图5,本发明实施例提供的另一种cmc版本更新装置的结构图,如图5所示,包括:

获取模块501,用于在存储软件启动后,获取cmc的当前版本信息;

第一判断单元521,用于判断所述存储软件中的兼容列表中是否存在所述从版本信息,若是,则触发第二判断单元,若否,则触发第一更新单元;

所述第二判断单元522,用于判断所述存储软件中的兼容列表中是否存在所述主版本信息,若否,则触发第二更新单元;

所述第一更新单元531,用于将所述从版本信息替换为所述兼容列表中包含的一个标准版本信息;

所述第二更新单元532,用于所述从cmc切换为主cmc,并将所述主版本信息替换为所述兼容列表中包含的一个标准版本信息。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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