掌桥专利:专业的专利平台
掌桥专利
首页

配置转换方法、平滑升级方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:30:30


配置转换方法、平滑升级方法、装置、设备及存储介质

技术领域

本申请涉及软件升级技术领域,具体而言,涉及一种配置转换方法、平滑升级方法、装置、设备及存储介质。

背景技术

系统升级对于设备进行软件维护、功能扩展等方面有着至关重要的作用。在硬件结构不改变的前提下,可以通过更新软件版本来解决设备软件已有问题、扩充新的软件功能。因此,提供便捷可靠的系统升级方式是设备维护的基本需求。

而在升级过程中,有一个要求是需要尽可能做到平滑升级:即保证原有配置数据不丢失,且能够平滑迁移到新的软件版本中。

目前为了实现平滑升级,业界普遍采用的技术方案为:在设计设备待升级的新软件版本时,在软件中设计对所有原有配置数据做到前向兼容。例如:原有配置数据A在新软件版本中变为了配置数据B,那么设备升级为新软件版本后启动运行时,要自动加载和执行原有配置数据A,并将配置数据A转换为配置数据B后进行存储。

但是,该方式要求,在新软件版本相较老软件版本有配置变化时,需要针对每条变化的配置进行前向兼容处理。而且需要兼容的不仅是前一个旧软件版本,而是所有已发布的旧软件版本。这就导致设计出的设备软件的实现复杂度和冗余度较高。

此外,在一定情况下,无法设计出可以实现对某些原有配置数据前向兼容的设备软件。例如在配置模式变化、配置参数缺省值变化等情况下,难以设计出可以实现对原有配置数据的自动加载执行和转换存储的设备软件。升级时只能人工干预,例如在升级前先人工删除原有配置,然后升级为新软件版本,再按照新软件版本的配置方式人工转换和恢复配置数据。这无疑会增大运维成本,而且在一些用户场景中是不可接受的。

发明内容

本申请实施例的目的在于提供一种配置转换方法、平滑升级方法、装置、设备及存储介质,用以解决相关技术会使得设计出的软件实现复杂度和冗余度高的问题,以及相关技术在一定情况下不能保障完备的平滑升级的问题。

本申请实施例提供了一种配置转换方法,应用于配置服务器中,包括:在接收到待升级设备的配置转换请求时,根据所述配置转换请求中的标识信息,从预设的配置数据转换规则库中,找到所述标识信息对应的目标配置数据转换规则;所述标识信息用于标识所述待升级设备的现有软件版本和待升级软件版本;按照所述目标配置数据转换规则,将所述配置转换请求中的所述现有软件版本所需形式的原始配置数据,转换为所述待升级软件版本所需形式的经转换配置数据;向所述待升级设备发送所述经转换配置数据。

在上述实现过程中,通过在配置服务器中设置好各种软件的配置数据转换规则,从而通过配置服务器来实现待升级设备中的配置数据转换。从而对于待升级软件而言,在设计时就可以无需考虑前向兼容处理的问题,因为通过配置服务器就可以保证待升级软件在待升级设备中进行升级时,配置数据就是该版本的待升级软件所能够识别的形式,不会存在配置数据丢失的问题。而由于在设计时可以无需考虑前向兼容处理的问题,这也就使得设计出的软件的实现复杂度和冗余度得以降低。此外,由于配置数据不再由软件来前向兼容,因此也不再存在无法设计出可以实现对某些原有配置数据前向兼容的软件的问题,进而也就不再存在在一定情况下,不能保障完备的平滑升级的问题。

进一步地,所述标识信息包括:所述待升级设备的产品型号、现有软件版本编号和待升级软件版本编号;

根据所述配置转换请求中的标识信息,从预设的配置数据转换规则库中,找到所述标识信息对应的目标配置数据转换规则,包括:从所述配置数据转换规则库中,确定出所述产品型号的软件版本编号表;从所述软件版本编号表中,确定出从所述现有软件版本编号至所述待升级软件版本编号的所有目标软件版本编号;所述所有目标软件版本编号中包括所述待升级软件版本编号,但不包括所述现有软件版本编号;获取每一个所述目标软件版本编号对应的配置数据转换规则;所述目标配置数据转换规则为获取到的每一个所述目标软件版本编号对应的配置数据转换规则;

按照所述目标配置数据转换规则,将所述配置转换请求中的所述现有软件版本所需形式的原始配置数据,转换为所述待升级软件版本所需形式的经转换配置数据,包括:按照各所述目标软件版本编号在所述软件版本编号表中的顺序,依次采用各目标软件版本编号对应的配置数据转换规则对所述原始配置数据进行转换,得到所述经转换配置数据。

在实际应用过程中,存在针对同一型号的产品中的单一软件或系统进行升级管理的情况。为此,在上述实现过程中,通过产品型号可以快速找到对应的软件版本编号表,进而可以得到从待升级设备中,从现有软件版本至待升级软件版本之间的所有软件版本编号。而由于每一次发布新版本时,转换规则中至少会记载从上一版本的配置数据形式到当前版本的配置数据形式的转换方式,因此通过按照各目标软件版本编号在软件版本编号表中的顺序,依次采用各目标软件版本编号对应的配置数据转换规则对原始配置数据进行转换,就可以一步一步的得到待升级软件版本所需形式的经转换配置数据,从而保证转换可靠性。

进一步地,向所述待升级设备发送所述经转换配置数据,包括:将所述标识信息和所述经转换配置数据打包为配置数据转换回应消息;向所述待升级设备发送所述配置数据转换回应消息。

在上述实现过程中,通过将标识信息和经转换配置数据打包为配置数据转换回应消息一并发送给待升级设备,这就使得待升级设备可以根据标识信息进行合法性检测,确定返回的经转换配置数据是否可靠,从而提高升级过程中的安全性。

进一步地,所述配置数据转换回应消息中还包括表征转换成功的结果信息。

应理解,在实际应用过程中,无论转换成功还是失败,都应向待升级设备返回相应的配置数据转换回应消息。在上述实现过程中,通过在具有经转换配置数据的配置数据转换回应消息中,携带表征转换成功的结果信息,这就使得待升级设备可以根据该表征转换成功的结果信息,确定配置数据转换回应消息中是存在经转换配置数据的,从而可以正常进行后续升级操作。

本申请实施例还提供了一种平滑升级方法,应用于待升级设备中,包括:在接收到待升级软件后,向配置服务器发送携带标识信息和原始配置数据的配置转换请求,以使所述配置服务器按照上述任一种的配置转换方法进行配置转换;所述标识信息用于标识所述待升级设备的现有软件版本和待升级软件版本;在接收到所述配置服务器返回的经转换配置数据后,使用所述经转换配置数据替换所述原始配置数据;安装所述待升级软件,并加载与执行所述经转换配置数据。

在上述实现过程中,待升级设备在升级前,先将原始配置数据发送至配置服务器中进行配置转换,然后再基于符合待升级软件版本所需形式的经转换配置数据进行升级,这就使得待升级软件在设计时就可以无需考虑配置数据的前向兼容处理,从而使得设计出的软件的实现复杂度和冗余度得以降低。此外,由于配置数据不再由软件来前向兼容,因此也不再存在无法设计出可以实现对某些原有配置数据前向兼容的软件的问题,进而也就不再存在在一定情况下,不能保障完备的平滑升级的问题。

进一步地,所述经转换配置数据被携带于配置数据转换回应消息中;在接收到所述配置服务器返回的经转换配置数据后,使用所述经转换配置数据替换所述原始配置数据之前,所述方法还包括:确定所述配置数据转换回应消息中携带的标识信息,与所述配置转换请求中的标识信息一致。

在上述实现过程中,通过对配置服务器返回的标识信息进行检测,即可有效确定返回的经转换配置数据是否可靠,从而提高升级过程中的安全性。

本申请实施例还提供了一种配置转换装置,应用于配置服务器中,包括:查找模块、转换模块和第一发送模块;所述查找模块,用于在接收到待升级设备的配置转换请求时,根据所述配置转换请求中的标识信息,从预设的配置数据转换规则库中,找到所述标识信息对应的目标配置数据转换规则;所述标识信息用于标识所述待升级设备的现有软件版本和待升级软件版本;所述转换模块,用于按照所述目标配置数据转换规则,将所述配置转换请求中的所述现有软件版本所需形式的原始配置数据,转换为所述待升级软件版本所需形式的经转换配置数据;所述第一发送模块,用于向所述待升级设备发送所述经转换配置数据。

本申请实施例还提供了一种平滑升级装置,应用于待升级设备中,包括:第二发送模块、替换模块和升级执行模块;所述第二发送模块,用于在接收到待升级软件后,向配置服务器发送携带标识信息和原始配置数据的配置转换请求,以使所述配置服务器按照上述任一种的配置转换方法进行配置转换;所述标识信息用于标识所述待升级设备的现有软件版本和待升级软件版本;所述替换模块,用于在接收到所述配置服务器返回的经转换配置数据后,使用所述经转换配置数据替换所述原始配置数据;所述升级执行模块,用于安装所述待升级软件,并加载与执行所述经转换配置数据。

本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的配置转换方法,或实现上述任一种的平滑升级方法。

本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的配置转换方法,或实现上述任一种的平滑升级方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种平滑升级方法的流程示意图;

图2为本申请实施例提供的一种配置转换方法的流程示意图;

图3为本申请实施例提供的一种配置转换系统的结构示意图;

图4为本申请实施例提供的一种可行的转换规则表示意图;

图5为本申请实施例提供的另一种可行的转换规则表示意图;

图6为本申请实施例提供的一种配置转换装置的结构示意图;

图7为本申请实施例提供的一种平滑升级装置的结构示意图;

图8为本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

实施例一:

为了解决相关技术会使得设计出的软件实现复杂度和冗余度高的问题,以及相关技术在一定情况下不能保障完备的平滑升级的问题,本申请实施例中提供了一种应用于配置服务器中的配置转换方法,和一种应用于待升级设备中的平滑升级方法。可以参见图1所示,图1为本申请实施例中提供的一种平滑升级方法,包括:

S101:在接收到待升级软件后,向配置服务器发送携带标识信息和原始配置数据的配置转换请求。

在本申请实施例中,如图3所示,网络中预先部署一台配置服务器,并可以预先在网络内的各设备中写入该配置服务器的网络地址以及端口号,以便各设备在存在升级需求时(存在升级需求的设备即为本申请实施例中的待升级设备)进行访问。

或者,在本申请实施例中,也可以在下发待升级软件时,一并向各待升级设备下发该配置服务器的网络地址以及端口号,以便各待升级设备进行访问。

需要注意的是,在本申请实施例中,配置服务器的端口号应该采用知名端口号范围外的端口号,以免对其他业务造成干扰。

还需要注意的是,在本申请实施例中,待升级设备在收到待升级软件后,可以生成用于标识待升级设备的现有软件版本和待升级软件版本的标识信息,并将该标识信息和待升级设备内当前已有的配置数据(即原始配置数据,需要注意的是,虽然目前已收到待升级软件,但是当前还未升级,原始配置数据的形式是现有软件版本所需的形式)打包成配置转换请求发送给配置服务器。

在本申请实施例中,配置服务器在接收到待升级设备的配置转换请求时,可以参见图2所示,可以按照图2示出的配置转换方法进行配置转换。该配置转换方法包括:

S201:根据配置转换请求中的标识信息,从预设的配置数据转换规则库中,找到标识信息对应的目标配置数据转换规则。

在本申请实施例中,标识信息可以包括待升级设备中现有软件版本编号(即现有软件版本的编号)和待升级软件版本编号(即待升级软件版本的编号)。考虑到配置服务器中会管理各设备内软件版本间的配置数据转换规则,那么为了能够准确找到对应的待升级软件,在标识信息还可以包括待升级软件的软件唯一编号,从而便于进行目标配置数据转换规则的查找。

此外,考虑到在实际应用中,存在针对同一型号的产品中的单一软件或系统进行升级管理的情况。为此,在本申请实施例中,标识信息中包含的也可以是待升级设备的产品型号、现有软件版本编号和待升级软件版本编号,从而便于进行目标配置数据转换规则的查找。

在本申请实施例中,对于标识信息内所具有的具体内容不做限制,只要能基于标识信息成功从配置数据转换规则库中,找到对应的目标配置数据转换规则即可。

需要说明的是,本申请实施例中所述的配置数据转换规则,可以由开发各软件版本的工程师进行设计,然后保存至配置服务器中。

S202:按照目标配置数据转换规则,将配置转换请求中的现有软件版本所需形式的原始配置数据,转换为待升级软件版本所需形式的经转换配置数据。

在本申请实施例的一种可行实施方式中,比如,可以依据标识信息中的软件唯一编号或产品型号,从配置数据转换规则库中,确定出该软件唯一编号或该产品型号对应的软件版本编号表;进而从该软件版本编号表中,确定出从现有软件版本编号至待升级软件版本编号的所有目标软件版本编号(所有目标软件版本编号中包括待升级软件版本编号,但不包括现有软件版本编号)。而每一个目标软件版本编号,都具有一个配置数据转换规则表,该配置数据转换规则表中记载着从上一版本的配置数据形式到当前版本的配置数据形式的转换方式,例如图4所示。

这样,在进行转换时,只需按照各目标软件版本编号在软件版本编号表中的顺序,依次采用各目标软件版本编号对应的配置数据转换规则表中记录的配置数据转换规则,对原始配置数据进行转换,即可得到待升级软件版本所需形式的经转换配置数据。

以图4所示的情况为例,假设现有软件版本编号为V1.0,待升级软件版本编号为V1.3,那么目标软件版本编号即为V1.1、V1.2和V1.3。首先,根据V1.1对应的配置数据转换规则表中的配置数据转换规则对原始配置数据进行转换,得到转换后的第一配置数据;然后,V1.2不具有对应的配置数据转换规则表,即表明V1.2版本所需的配置数据形式与V1.1版本一致,不进行转换。然后,V1.3对应有配置数据转换规则表,按照V1.3对应的配置数据转换规则表中的配置数据转换规则对第一配置数据进行转换,得到第二配置数据。由于V1.3为待升级软件版本编号,此时第二配置数据即为经转换配置数据。

需要理解的,对于不需要进行配置数据转换的版本,在软件版本编号表中也可以不进行记录。此时,若待升级软件版本编号在软件版本编号表中不存在,即表明该待升级软件版本编号所需形式,与软件版本编号表中存在的小于该待升级软件版本编号的所有软件版本编号中,编号值最大的那一个软件版本编号的所需形式相同。转换时,将原始配置数据转换至该编号值最大的那一个软件版本编号的所需形式即可。

在本申请实施例的另一种可行实施方式中,每一个软件版本编号可以对应有多个配置数据转换规则表,分别记录从在先的各版本对应的配置数据形式到当前版本的配置数据形式的转换方式,例如图5所示。

在查找目标配置数据转换规则时,可以依据标识信息中的软件唯一编号或产品型号,从配置数据转换规则库中,确定出该软件唯一编号或该产品型号对应的软件版本编号表。进而在软件版本编号表中,找到待升级软件版本编号,进而得到该待升级软件版本编号对应的多个配置数据转换规则表。然后基于现有软件版本编号,确定出记录从现有软件版本的配置数据形式到该待升级软件版本的配置数据形式的转换方式的目标配置数据转换规则表,然后按照该目标配置数据转换规则表中的目标配置数据转换规则,对原始配置数据进行转换,得到经转换配置数据。

需要说明的是,一个配置数据转换规则表中,可以有一条或多条配置数据转换规则。例如图4中的V1.1对应的配置数据转换规则表中只有一条配置数据转换规则,而V1.3对应的配置数据转换规则表中有两条配置数据转换规则。

S203:向待升级设备发送经转换配置数据。

在本申请实施例的一种可行实施方式中,可以仅向待升级设备发送经转换配置数据。

但是在本申请实施例的另一种可行实施方式,可以将前述配置转换请求中的标识信息和经转换配置数据一起打包为配置数据转换回应消息,将配置数据转换回应消息发送给待升级设备。这样,通过配置数据转换回应消息中的标识信息,待升级设备即可以根据标识信息进行合法性检测,确定返回的经转换配置数据是否可靠,从而提高升级过程中的安全性。

此外,考虑到在实际应用过程中,可能存在无需进行配置数据转换的情况。比如图4中,从版本V1.1到V1.2即无需进行配置数据转换,此时配置服务器默认转换成功。此时配置服务器返回的经转换配置数据可以为空(即不返回配置数据)。

那么为了便于待升级设备知晓返回的经转换配置数据为空时是无需转换,还是转换失败,在本申请实施例中,无论转换成功还是失败,都应向待升级设备返回相应的配置数据转换回应消息。

为此,在本申请实施例中,在配置数据转换回应消息中还可以携带表征转换成功的结果信息,或表征转换失败的结果信息。

这样,当待升级设备接收到配置数据转换回应消息后,在不存在经转换配置数据时,根据其内携带的结果信息,即可确定出是无需转换,还是转换失败。此外,在发现配置数据转换回应消息中携带的是表征转换失败的结果信息时,待升级设备还可以快速转入失败处理流程,如向工程师或用户上报升级失败消息,并向工程师上报失败原因为配置数据转换失败,以便工程师进行维护。

应理解,在本申请实施例的一种可选实施方式中,对于无需进行配置数据转换的情况,也可以将原始配置数据作为经转换配置数据返回给待升级设备。此时,返回的配置数据转换回应消息中可以不携带表征转换成功的结果信息,以及表征转换失败的结果信息。

S102:在接收到配置服务器返回的经转换配置数据后,使用该经转换配置数据替换原始配置数据。

在本申请实施例中,若配置服务器在返回检测配置数据转换回应消息时,检测配置数据转换回应消息中除了包含经转换配置数据外,还包含标识信息,则在使用该经转换配置数据替换原始配置数据之前,可以检测配置数据转换回应消息中携带的标识信息,是否与自身的标识信息一致。若一致,才使用该经转换配置数据替换原始配置数据。若不一致,则不进行替换,可以重新请求进行配置数据的转换,或者上报升级失败。

S103:安装待升级软件,并加载与执行该经转换配置数据。

需要说明的是,在本申请实施例中,待升级设备在向配置服务器发送携带标识信息和原始配置数据的配置转换请求时,还可以启动一个回应消息接收超时定时器。如果在该定时器计时时长内没有收到配置服务器返回的配置数据转换回应消息,则可以结束流程,进行升级失败时的后续流程,比如上报升级失败信息等,以避免待升级设备一直停滞在同一环节无法退出。

此外,在本申请实施例中,在接收到待升级软件后,若发现待升级软件版本比现有软件版本低,此时本质是一种版本还原过程。对于该情况,若工程师在配置服务器中写入有从高版本到低版本的配置数据转换规则,那么可以采用本申请实施例的上述方案执行。若未进行从高版本到低版本的配置数据转换规则的配置,那么可以直接安装该待升级软件。

本申请实施例所提供的配置转换方法,通过在配置服务器中设置好各种软件的配置数据转换规则,从而通过配置服务器来实现待升级设备中的配置数据转换。从而对于待升级软件而言,在设计时就可以无需考虑前向兼容处理的问题,因为通过配置服务器就可以保证待升级软件在待升级设备中进行升级时,配置数据就是该版本的待升级软件所能够识别的形式,不会存在配置数据丢失的问题。而由于在设计时可以无需考虑前向兼容处理的问题,这也就使得设计出的软件的实现复杂度和冗余度得以降低。此外,由于配置数据不再由软件来前向兼容,因此也不再存在无法设计出可以实现对某些原有配置数据前向兼容的软件的问题,进而也就不再存在在一定情况下,不能保障完备的平滑升级的问题。

实施例二:

本实施例在实施例一的基础上,以一种具体的配置数据转换以及升级过程为例,为本申请做进一步示例说明。

参见图3所示,网络中设置有一台配置服务器。假设配置服务器的IPv4地址为194.1.1.1,使用TCP(Transmission Control Protocol,传输控制协议)端口号49177提供服务,配置服务器启动时将开启监听该TCP端口。各个设备通过网络和配置服务器相连,并在各设备上预先配置了该配置服务器的IPv4地址和TCP端口号。

配置服务器中预先存储有每种设备产品型号不同软件版本之间的配置数据转换规则,如图4所示。配置数据转换规则通过三级表项来组织,第一级为产品型号表。第二级为软件版本编号表,在该表中无需为初始版本V1.0创建表项,只需从第一个更新版本V1.1开始。第三级为配置数据转换规则表。每一条规则包含原配置命令行、新配置命令行、配置参数变化、配置模式变化、转换动作等内容。

本实施例选取FTP(File Transfer Protocol,文件传输协议)模块在不同软件版本中的配置变化进行举例说明:

软件版本V1.1:在V1.0的版本中,ftp source ipv4-address命令用于“配置设备作为FTP客户端与服务器时使用的IPv4源地址”。在V1.1的版本中,由于有需求要将客户端与服务器的配置区分开来,因此需要将原有配置命令拆分为ftp client source ipv4-address和ftp server source ipv4-address两条配置命令。

软件版本V1.2:在该版本中FTP模块没有配置变化。

软件版本V1.3:在该版本中,新增支持了“配置设备作为FTP客户端与服务器时使用的源接口”的功能,添加了ftp client source-interface if-name和ftp serversource-interface if-name两条配置命令,并将原有ftp client source ipv4-address和ftp server source ipv4-address两条配置命令修改为ftp client source-addressipv4-address和ftp server source-address ipv4-address。

软件版本V2.0:在该版本中新增支持了FTP IPv6功能,为更好地区分FTP IPv4/IPv6的配置,新增了“FTP IPv4地址族配置模式”和“FTP IPv6地址族配置模式”,原有FTPIPv4的相关配置从原有“FTP配置模式”变为“FTP IPv4地址族配置模式”,而新增的FTPIPv6的相关配置将在“FTP IPv6地址族配置模式”下进行配置。

软件版本V6.4:在该版本中,将原有用于配置FTP连接超时时间的ftp timeouttimeout-value配置命令的参数缺省值进行了调整,由600秒调整为了300秒。为了保证升级版本后不对原有的FTP应用产生影响,不能自动更改原有FTP连接超时时间的配置。因此,如果原有配置中没有ftp timeout timeout-value配置(说明使用缺省值600秒),则需要新增ftp timeout 600配置;反之,如果原有配置中有ftp timeout 300配置,则需要删除该配置(使用新版本中的缺省值300秒)。

图4中省略号表征的其他版本与版本V1.2一样,不存在对应的配置数据转换规则。

假设设备1通过网络从版本服务器下载到需要升级的新软件程序并存储至设备1中,并取得新软件版本编号(即待升级软件版本编号)V6.4。且假设设备1中现有软件版本为V1.0。

那么,由于新软件版本编号V6.4大于现有软件版本编号V1.0,设备1基于预先配置的用于连接配置服务器的IPv4地址194.1.1.1和TCP端口号49177,尝试和配置服务器建立TCP连接。

如果TCP连接建立失败,设备1进行指定次数的重试,如果重试次数达到指定值后仍未成功建立TCP连接,则结束本次软件升级流程,升级失败。

如果TCP连接建立成功,设备1向配置服务器发送配置转换请求,配置转换请求中包含设备1的产品型号、现有软件版本编号、新软件版本编号、现有配置数据(即原始配置数据)。

在本申请实施例中,配置转换请求的格式可以采用如下格式实现:

其中,产品型号的字段、现有软件版本编号的字段、新软件版本编号的字段均为4字节,现有配置数据的字段为变长字段,其长度取决于配置数据实际的大小。

为便于说明,本实施例仅列举出设备1现有配置数据中,FTP相关配置如下:

设备1向配置服务器发送配置转换请求后,启动一个回应消息接收超时定时器。如果在定时器指定时间内未收到配置服务器的回应消息,则断开TCP连接,结束本次软件升级流程,升级失败。

配置服务器接收到设备1的配置转换请求后,从配置转换请求中解析出设备1的产品型号A、现有软件版本编号V1.0、新软件版本编号V6.4、现有配置数据,然后基于这些信息在配置数据转换规则中进行查询。

如果查询不到相应的配置转换规则,配置服务器向设备发送表征转换失败的配置数据转换回应消息。

需要说明的是,本申请实施例中,配置数据转换回应消息的格式可以为以下格式:

对于表征转换失败的配置数据转换回应消息,在上述格式中,转换结果一栏即为“1”,而经转换配置数据一栏为空。(应理解,由于经转换配置数据可能为空,为空是消息中不存在经转换配置数据,故该栏用虚线表示,表明消息中可能存在,也可能不存在。)

如果查询到相应转换规则,则根据查询到的规则完成配置数据的转换,具体过程为:

1)从产品型号表中查找到产品型号A的表项。

2)从产品型号A的软件版本编号表中找到现有软件版本编号V1.0后的第一个表项,即软件版本编号V1.1。

3)从产品型号A的软件版本编号V1.1的转换规则表中找到第一条配置数据转换规则,根据该配置数据转换规则进行配置数据转换,转换后的配置数据为:

4)产品型号A的软件版本编号V1.1的转换规则表访问完毕,继续从产品型号A的软件版本编号表中找到下一个表项,即软件版本编号V1.2。

5)产品型号A的软件版本编号V1.2的转换规则表中没有表项,因此无需进行配置转换。继续从产品型号A的软件版本编号表中找到下一个表项,即软件版本编号V1.3。

6)从产品型号A的软件版本编号V1.3的转换规则表中找到第一条配置数据转换规则,根据该配置数据转换规则进行配置数据转换,转换后的配置数据为:

7)从产品型号A的软件版本编号V1.3的转换规则表中找到第二条配置数据转换规则,根据该配置数据转换规则进行配置数据转换,转换后的配置数据为:

8)产品型号A的软件版本编号V1.3的转换规则表访问完毕,继续从产品型号A的软件版本编号表中找到下一个表项。

由于图4中,在软件版本编号V1.3后的各省略号表征版本均没有表项,因此无需进行配置转换。继续从产品型号A的软件版本编号表中找到下一个表项,即软件版本编号V2.0。

9)从产品型号A的软件版本编号V2.0的转换规则表中找到第一条配置数据转换规则,根据该配置数据转换规则进行配置数据转换,转换后的配置数据为:

10)从产品型号A的软件版本编号V2.0的转换规则表中找到第二条配置数据转换规则,根据该配置数据转换规则进行配置数据转换,转换后的配置数据为:

11)产品型号A的软件版本编号V2.0的转换规则表访问完毕,继续从产品型号A的软件版本编号表中找到下一个表项。

由于图4中,在软件版本编号V2.0后的各省略号表征版本均没有表项,因此无需进行配置转换。继续从产品型号A的软件版本编号表中找到下一个表项,即软件版本编号V6.4。

12)从产品型号A的软件版本编号V6.4的转换规则表中找到第一条配置数据转换规则,根据该配置数据转换规则进行配置数据转换,转换后的配置数据为:

至此,配置数据转换完毕,得到经转换配置数据device1-config-V6.4。配置服务器向设备1发送配置数据转换回应消息,格式如上表所示,其中“转换结果”字段为“0”,经转换配置数据为device1-config-V6.4。

应理解,如果某个设备的现有软件版本和所要升级的软件版本之间的转换规则表中都没有表项,比如V1.1到V1.2的这种情况,则配置数据无需进行任何转换。此时,为了避免浪费网络资源,配置服务器会向设备发送“转换结果”字段为“0”,但经转换配置数据为空的配置数据转换回应消息。

设备1接收到配置服务器的配置数据转换回应消息后,取消回应消息接收超时定时器,然后从配置数据转换回应消息中解析出产品型号A、现有软件版本编号V1.0、新软件版本编号V6.4、转换结果0(成功)、经转换配置数据device1-config-V6.4。

然后对消息中的产品型号、现有软件版本编号、新软件版本编号和设备本地信息进行匹配检查,如果检查不通过,则断开TCP连接,结束本次软件升级流程,升级失败。

如果检查通过,进一步判断转换结果,如果转换结果值为“1”,确定转换失败,同样断开TCP连接,结束本次软件升级流程,升级失败。

如果转换结果值为“0”,确定转换成功,设备断开TCP连接。此时,如果配置数据转换回应消息中的经转换配置数据不为空,则将经转换配置数据存储至本地,替换原有配置数据。如果新配置数据为空,设备仍保留原有配置数据。对于本示例而言,设备1会将经转换配置数据device1-config-V6.4存储至本地,替换原有的配置数据device1-config-V1.0。

最后设备1执行新软件版本升级,新软件版本V6.4启动后将加载并执行经转换配置数据device1-config-V6.4。

通过上述步骤,设备1即成功完成了软件平滑升级。

通过上述方案,可以将原有在设备软件中为保证平滑升级而实现的复杂的配置数据转换规则和转换逻辑,集中到了配置服务器进行管理和处理,设备和配置服务器之间通过配置数据转换规则自动完成配置数据转换,大大降低了设备软件的实现复杂度和冗余度,减少了设备软件的维护投入。同时,还避免了一定情况下设备软件无法实现对某些原有配置数据进行前向兼容的缺陷,增强了设备软件平滑升级的可靠性。

实施例三:

基于同一发明构思,本申请实施例中还提供配置转换装置600和平滑升级装置700。请参阅图6和图7所示,图6示出了采用图2所示的方法的配置转换装置,图7示出了采用图1所示的方法的平滑升级装置。应理解,装置600和装置700具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置600和装置700包括至少一个能以软件或固件的形式存储于存储器中或固化在装置600、装置700的操作系统中的软件功能模块。具体地:

参见图6所示,装置600应用于配置服务器中,包括:查找模块601、转换模块602和第一发送模块603。其中:

所述查找模块601,用于在接收到待升级设备的配置转换请求时,根据所述配置转换请求中的标识信息,从预设的配置数据转换规则库中,找到所述标识信息对应的目标配置数据转换规则;所述标识信息用于标识所述待升级设备的现有软件版本和待升级软件版本;

所述转换模块602,用于按照所述目标配置数据转换规则,将所述配置转换请求中的所述现有软件版本所需形式的原始配置数据,转换为所述待升级软件版本所需形式的经转换配置数据;

所述第一发送模块603,用于向所述待升级设备发送所述经转换配置数据。

在本申请实施例中,所述标识信息包括:所述待升级设备的产品型号、现有软件版本编号和待升级软件版本编号;

所述查找模块601具体用于,从所述配置数据转换规则库中,确定出所述产品型号的软件版本编号表;从所述软件版本编号表中,确定出从所述现有软件版本编号至所述待升级软件版本编号的所有目标软件版本编号;所述所有目标软件版本编号中包括所述待升级软件版本编号,但不包括所述现有软件版本编号;获取每一个所述目标软件版本编号对应的配置数据转换规则;所述目标配置数据转换规则为获取到的每一个所述目标软件版本编号对应的配置数据转换规则;

所述转换模块602具体用于,按照各所述目标软件版本编号在所述软件版本编号表中的顺序,依次采用各目标软件版本编号对应的配置数据转换规则对所述原始配置数据进行转换,得到所述经转换配置数据。

在本申请实施例的一种可行实施方式中,所述第一发送模块603具体用于,将所述标识信息和所述经转换配置数据打包为配置数据转换回应消息;向所述待升级设备发送所述配置数据转换回应消息。

在上述可行实施方式中,所述配置数据转换回应消息中还包括表征转换成功的结果信息。

参见图7所示,装置700应用于待升级设备中,包括:第二发送模块701、替换模块702和升级执行模块703。其中:

所述第二发送模块701,用于在接收到待升级软件后,向配置服务器发送携带标识信息和原始配置数据的配置转换请求,以使所述配置服务器按照上述实施例一和/或实施例二中所述的配置转换方法进行配置转换;所述标识信息用于标识所述待升级设备的现有软件版本和待升级软件版本;

所述替换模块702,用于在接收到所述配置服务器返回的经转换配置数据后,使用所述经转换配置数据替换所述原始配置数据;

所述升级执行模块703,用于安装所述待升级软件,并加载与执行所述经转换配置数据。

在本申请实施例中,所述经转换配置数据被携带于配置数据转换回应消息中;所述替换模块702还用于,在接收到所述配置服务器返回的经转换配置数据后,使用所述经转换配置数据替换所述原始配置数据之前,确定所述配置数据转换回应消息中携带的标识信息,与所述配置转换请求中的标识信息一致。

需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。

实施例四:

本实施例提供了一种电子设备,参见图8所示,其包括处理器801、存储器802以及通信总线803。其中:

通信总线803用于实现处理器801和存储器802之间的连接通信。

处理器801用于执行存储器802中存储的一个或多个程序,以实现上述实施例一和/或实施例二中配置服务器所执行的配置转换方法,或实现上述实施例一和/或实施例二中待升级设备所执行的平滑升级方法。

可以理解,图8所示的结构仅为示意,电子设备还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。

本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中业务分配设备所执行的配置转换方法的各步骤,或实现上述实施例一和/或实施例二中处理节点所执行的配置转换方法的各步骤。在此不再赘述。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

在本文中,多个是指两个或两个以上。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

相关技术
  • 时间转换方法及装置、设备、存储介质、处理器
  • 一种代码转换方法、装置及设备、存储介质
  • 脚本转换方法、装置、计算机设备及存储介质
  • 图像转换方法、装置、电子设备及存储介质
  • 一种语言转换方法、装置、设备及存储介质
  • 一种平滑升级数据库方法、装置、设备及可读存储介质
  • 防火墙配置转换方法、装置、设备、存储介质和程序产品
技术分类

06120115936957