本申请涉及数据处理领域,具体涉及一种容错方法、装置及设备。
背景技术:
智能网点管理设备(英文:intelligentnetworkmanagementsystem;简称:inm),又称为集控,是一种集管理、监控和业务配置等功能一体化的业务平台,分布在各个地点的设备可以通过加入集控实现集中化的管理。实际应用中,集控可以向设备下发各种设备文件,以便设备根据集控下发的设备文件进行设备更新。例如,集控可以向设备下发配置文件,设备基于集控下发的配置文件进行配置信息的修改。
但是,随着加入集控的设备数量越来越多,集控向设备下发的设备文件难免出现错误,一旦设备基于集控下发的错误的设备文件进行设备更新后,可能导致设备退出集控等问题的发生。而目前并没有有效的容错方式,而是需要运维人员到退出集控的设备所在地人工进行维护,显然运维成本较高。
技术实现要素:
有鉴于此,本申请提供了一种容错方法、装置及设备,对于因基于集控下发的错误的设备文件进行更新导致的设备退出集控的情况,设备可以基于备用文件进行回滚,以保持与集控的网络连接,不需要运维人员的实地维护,大大节省运维成本。
第一方面,为实现上述发明目的,本申请提供了一种容错方法,所述方法包括:
接收集控下发的设备文件;
基于所述设备文件进行设备更新;
在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚。
可选的,所述设备文件包括配置文件;
所述在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚之前,还包括:
将当前配置信息存储为备用文件。
可选的,所述在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚,包括:
在向所述集控发送预设报文后,如果未接收到来自所述集控的响应报文,则基于所述备用文件进行回滚。
可选的,所述设备文件包括软件版本文件;
所述在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚之前,还包括:
将当前版本软件存储为备用文件。
可选的,所述在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚,包括:
在确定基于所述软件版本文件的设备重启失败后,基于所述备用文件进行回滚。
第二方面,本申请还提供了一种容错装置,所述装置包括:
接收模块,用于接收集控下发的设备文件;
第一更新模块,用于基于所述设备文件进行设备更新;
回滚模块,用于在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚。
可选的,所述设备文件包括配置文件;
所述装置还包括:
第一存储模块,用于将当前配置信息存储为备用文件。
可选的,所述设备文件包括软件版本文件;
所述装置还包括:
第二存储模块,用于将当前版本软件存储为备用文件。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述任一项所述的方法。
第四方面,本申请还提供了一种容错设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述任一项所述的方法。
本申请提供的的容错方法中,设备在确定基于集控下发的设备文件进行设备更新失败时,基于预先存储的备用文件进行回滚,由于预先存储的备用文件并不会导致设备退出集控,因此,基于备用文件进行回滚后的设备能够与集控建立网络连接,无需运维人员实地维护,节省了运维成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种设备管理系统的结构示意图;
图2为本申请实施例提供的一种容错方法的流程图;
图3为本申请实施例提供的一种针对配置文件下发的容错方法的流程图;
图4为本申请实施例提供的一种针对配置文件下发的容错方法的数据交互图;
图5为本申请实施例提供的一种针对软件升级的容错方法的流程图;
图6为本申请实施例提供的一种针对软件升级的容错方法的数据交互图;
图7为本申请实施例提供的一种容错装置的结构示意图;
图8为本申请实施例提供的一种容错设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在对本申请的具体技术方案进行介绍之前,首先需要理解的是,所涉及的几个概念的含义,如下:
容错,是指设备在运行时有错误被激活的情况下,仍能保证不间断提供服务的方法和技术。
在本方案中,容错具体指设备因基于集控下发的错误的设备文件进行设备更新失败时,仍能保持与集控之间的网络连接的方法和技术。
集控,又称为智能网点管理设备(英文:intelligentnetworkmanagementsystem;简称:inm),是一种集管理、监控和业务配置等功能一体化的业务平台。设备加入集控之后,集控能监控设备的运行状态,包括cpu使用率、内存使用率、隧道连接数和隧道连接状态等,同时能够对设备实现业务配置下发。集控的物理形态可以为基于windowsx86_64运行的软件产品。
在本方案中,分布在各个地点的设备可以通过加入集控实现集中化的管理。
回滚,(英文:rollback)指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。回滚包括程序回滚和数据回滚等类型。
以上概念均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
目前,对于加入集控的设备而言,可能因基于集控下发的错误设备文件进行设备更新导致退出集控,而目前并没有有效的容错方式,因此需要运维人员到设备所在地人工进行维护,从而实现设备重新加入集控,显然运维成本较高。
本申请提供了一种容错方法,能够在基于集控下发的设备文件进行设备更新失败后,基于预先存储的备用文件进行回滚,以保持设备与集控之间的网络连接,不需要运维人员进行实地维护,节省了运维成本。
参考图1,为本申请提供的一种设备管理系统的结构示意图,本申请提供的容错方法可以应用于图1的设备管理系统中。具体的,设备管理系统100包括集控110和设备120;集控110,用于对加入集控的各个设备120进行管理,具体包括向各个设备120下发设备文件。设备120,用于接收集控110下发的设备文件后,基于该设备文件进行设备更新,并在更新失败后,基于预先存储的备用设备文件进行回滚,以保持与集控110之间的网络连接。
其中,集控110,又称为智能网点管理设备(英文:intelligentnetworkmanagementsystem;简称:inm),可以由服务器等设备实现。设备120可以包括各种类型的终端设备,如台式计算机等。
基于上述实施方式,本申请提供了一种容错方法,参考图2,为本申请实施例提供的一种容错方法的流程图。具体的,该容错方法可以应用于各种类型的已加入集控的设备中,该容错方法包括:
s201:接收集控下发的设备文件。
设备文件是指集控对设备进行管理的过程中需要下发至设备的文件,例如包含设备的配置修改信息的配置文件,或者,包含最新版本软件的软件版本文件等。
实际应用中,设备在加入集控后,可以通过发送心跳报文的方式保持与集控之间的网络连接。同时,设备还可以基于与集控之间的网络连接,检测集控中是否存在需要下发至自身的设备文件,如果设备检测到集控中存在需要下发至自身的设备文件后,可以向集控发送下发请求,以便集控向设备下发设备文件。
s202:基于所述设备文件进行设备更新。
本申请实施例中,设备在接收到集控下发的设备文件后,基于该设备文件进行设备更新。例如,基于集控下发的配置文件进行设备配置信息的更新,或者,基于集控下发的软件版本文件进行设备软件版本的更新等。
s203:在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚。
实际应用中,如果集控向设备下发的设备文件存在错误,而设备基于该错误的设备文件进行设备更新导致更新失败,则该设备可能会退出集控,无法与集控建立网络连接。基于此,本申请实施例在确定设备基于集控下发的设备文件进行设备更新失败时,基于预先存储的备用文件进行回滚,由于预先存储的备用文件并不会导致设备退出集控,因此,基于备用文件进行回滚后的设备能够与集控建立网络连接。
一种可选的实施方式中,预先存储的备用文件可以在上述s202执行之前得到。例如,在上述s202执行之前,保存设备的当前配置信息,作为备用文件,用于设备的回滚;或者,在上述s202执行之前,保存设备正在使用的当前版本软件,作为备用文件,用于设备的回滚。
另一种可选的实施方式中,预先存储的备用文件可以为任一版本的不会导致设备退出集控的设备文件。例如,预先存储的备用文件可以包括设备与集控之间的网络连接正常的任一场景下的设备配置信息;或者,预先存储的备用文件可以包括设备的任一版本软件。
本申请实施例提供的容错方法中,设备在确定基于集控下发的设备文件进行设备更新失败时,基于预先存储的备用文件进行回滚,由于预先存储的备用文件并不会导致设备退出集控,因此,基于备用文件进行回滚后的设备能够与集控建立网络连接,无需运维人员实地维护,节省了运维成本。
针对上述实施例提供的容错方法,本申请还提供了两种具体的实施方式。其中之一,参考图3,为本申请实施例提供的一种针对配置文件下发的容错方法的流程图。该方法包括:
s301:接收集控下发的配置文件。
配置文件,用于存储设备的配置信息,例如设备外网的接口ip等。当需要对设备进行配置信息的修改时,可以通过集控向设备下发配置文件。
s302:将当前配置信息存储为备用文件。
为了避免因基于集控下发的配置文件进行设备配置信息的修改后导致设备退出集控,本申请实施例在基于集控下发的配置文件进行设备更新之前,首先将设备的当前配置信息进行存储,作为备用文件。
s303:基于所述配置文件对设备的当前配置信息进行修改,以实现设备更新。
为了实现对设备的配置信息的修改,本申请实施例在接收到集控下发的配置文件后,基于该配置文件对设备的当前配置信息进行修改,以实现对设备的配置信息的更新。
s304:在向所述集控发送预设报文后,如果未接收到来自所述集控的响应报文,则基于所述备用文件进行回滚。
由于设备基于集控下发的配置文件进行配置信息的修改后,可能导致设备退出集控,因此,本申请实施例需要在配置信息修改完成后,进一步确定设备是否退出集控,如果确定设备退出集控,则说明设备的本次配置信息修改失败。
一种可选的实施方式中,设备可以通过向集控发送预设报文的方式确定设备是否退出集控。具体的,设备可以向集控发送配置成功通知报文,如果一定时间内未接收到来自集控的响应报文,则可以说明设备已退出集控。
为了进一步保证通过设备向集控发送预设报文的方式,确定设备是否退出集控的准确性,本申请实施例还可以通过向集控多次发送配置成功通知报文的方式,确定设备是否退出集控。例如,设备可以至少三次向集控发送配置成功通知报文,如果设备仍未收到来自集控的响应报文,则可以更准确的说明设备已退出集控。
本申请实施例中,在确定设备退出集控后,基于备用文件进行回滚,以使得完成回滚后的设备能够重新加入集控。具体的,由于备用文件中保存有本次设备更新之前的设备配置信息,而该配置信息不会导致设备退出集控,因此,基于备用文件对设备的配置信息进行回滚,能够保证完成回滚的设备可以重新加入集控。
实际应用中,设备在基于备用文件进行回滚之后,可以通过心跳报文等方式重新加入集控,因此,设备可以基于设备和集控之间重新建立的网络连接,向集控发送配置失败通知报文,以便通知集控本次配置下发失败。集控在接收到配置失败通知报文后,可以对下发的配置文件进行查验,以得到正确的配置文件,进而再次向设备下发配置文件,最终完成设备的配置信息的更新。对于后续的处理方式,本申请实施例不再赘述。
为了便于对本申请实施例更清楚的理解,本申请实施例还提供了一种针对配置文件下发的容错方法的具体实施方式,参考图4,为本申请实施例提供的一种针对配置文件下发的容错方法的数据交互图。该方法包括:
s401:设备检测集控是否存在配置文件的下发需求,如果确定存在,则执行s402。
s402:向集控发送配置文件下发请求报文。
s403:集控向设备下发配置文件。
s404:设备将当前配置信息存储为备用文件。
s405:设备基于集控下发的配置文件进行配置信息的修改。
s406:在完成配置信息的修改后,向集控发送配置成功通知报文。
s407:如果未收到来自集控的响应报文,则基于备份文件进行回滚。
s408:设备重新加入集控后,向集控发送配置失败通知报文。
本申请实施例提供的针对配置文件下发的容错方法中,设备在确定基于集控下发的配置文件进行设备更新失败时,基于预先存储的备用文件进行回滚,由于预先存储的备用文件并不会导致设备退出集控,因此,基于备用文件进行回滚后的设备能够与集控建立网络连接,无需运维人员实地维护,节省了运维成本。
另一种具体的实施方式中,本申请实施例还提供了一种针对软件升级的容错方法,参考图5,为本申请实施例提供的一种针对软件升级的容错方法的流程图。
s501:接收集控下发的软件版本文件。
软件版本文件可以包括任一版本的软件,例如可以为最新版本的软件。当需要对设备的软件进行升级时,可以通过集控向设备下发软件版本文件。
s502:将当前版本软件设置为备版本。
为了避免因基于集控下发的软件版本文件中的软件无法重启设备,进而导致设备无法与集控连接等问题,本申请实施例在基于集控下发的软件重启设备之前,首先将当前版本软件设置为备版本。
s503:将集控下发的软件版本文件中的软件设置为主版本,并引导设备加载主版本对设备进行重启。
为了实现对软件版本的升级,本申请实施例在接收到集控下发的软件版本文件后,将该软件版本文件中的软件设置为主版本,并引导设备的加载程序对主版本进行加载,从而实现设备的重启。
s504:在确定基于所述软件版本文件的设备重启失败后,引导设备加载备版本对设备进行重启。
由于设备基于主版本进行设备重启可能存在重启失败的问题,进而导致设备无法与集控连接,因此,本申请实施例需要确定基于主版本进行设备重启是否失败,如果确定设备重启失败,则说明设备的本次软件升级失败。
一种可选的实施方式中,设备可以通过统计重启失败次数的方式,确定设备重启是否失败。具体的,设备可以在重启失败次数达到预设阈值时,确定设备因软件升级问题导致重启失败,进而引导设备的加载程序对备版本进行加载,从而实现设备的重启。
由于设备在基于集控下发的软件重启设备之前,基于备版本的软件运行能够保证设备与集控之间的网络连接,因此,本申请实施例通过基于备版本的软件重启设备的方式进行回滚,能够保证设备重启成功后,可以重新加入集控。
实际应用中,设备在基于备版本进行设备重启之后,可以通过心跳报文等方式重新加入集控,因此,设备可以基于设备和集控之间重新建立的网络连接,向集控发送升级失败通知报文,以便通知集控本次软件升级失败。集控在接收到升级失败通知报文后,可以对下发的软件版本文件进行查验,以得到正确的软件版本文件,进而再次向设备下发软件版本文件,最终完成设备的软件升级。对于后续的处理方式,本申请实施例不再赘述。
为了便于对本申请实施例更清楚的理解,本申请实施例还提供了一种针对软件升级的容错方法的具体实施方式,参考图6,为本申请实施例提供的一种针对软件升级的容错方法的数据交互图。该方法包括:
s601:设备检测集控中是否存在最新版本软件,如果确定存在,则执行s602。
s602:向集控发送最新版本软件的下发请求报文。
s603:集控向设备下发包含最新版本软件的软件版本文件。
s604:设备将当前版本软件设置为备版本。
s605:设备将集控下发的软件版本文件中的最新版本软件设置为主版本,并引导设备加载主版本对设备进行重启。
s606:统计设备重启失败次数,并在设备重启失败次数到达预设阈值时,引导设备加载备版本对设备进行重启。
s607:在确定设备重启成功后,设备重新加入集控,向集控发送升级失败通知报文。
本申请实施例提供的针对软件升级的容错方法中,设备在确定基于集控下发的软件版本文件进行设备重启失败时,基于备版本的软件进行设备重启,保证重启成功后的设备能够与集控建立网络连接,无需运维人员实地维护,节省了运维成本。
基于上述方法实施例的描述,本申请还提供了一种容错装置,参考图7,为本申请实施例提供的一种容错装置的结构示意图,所述装置包括:
接收模块701,用于接收集控下发的设备文件;
第一更新模块702,用于基于所述设备文件进行设备更新;
回滚模块703,用于在确定基于所述设备文件的设备更新失败后,基于预先存储的备用文件进行回滚。
一种可选的实施方式中,所述设备文件包括配置文件;
所述装置还包括:
第一存储模块,用于将当前配置信息存储为备用文件。
具体的,所述回滚模块,具体用于:
在向所述集控发送预设报文后,如果未接收到来自所述集控的响应报文,则基于所述备用文件进行回滚。
另一种可选的实施方式中,所述设备文件包括软件版本文件;
所述装置还包括:
第二存储模块,用于将当前版本软件存储为备用文件。
具体的,所述回滚模块,具体用于:
在确定基于所述软件版本文件的设备重启失败后,基于所述备用文件进行回滚。
本申请实施例提供的容错装置中,在确定基于集控下发的设备文件进行设备更新失败时,基于预先存储的备用文件进行回滚,由于预先存储的备用文件并不会导致设备退出集控,因此,基于备用文件进行回滚后的设备能够与集控建立网络连接,无需运维人员实地维护,节省了运维成本。
另外,本申请实施例还提供了一种容错设备,参见图8所示,可以包括:
处理器801、存储器802、输入装置803和输出装置804。容错设备中的处理器601的数量可以一个或多个,图8中以一个处理器为例。在本发明的一些实施例中,处理器801、存储器802、输入装置803和输出装置804可通过总线或其它方式连接,其中,图8中以通过总线连接为例。
存储器802可用于存储软件程序以及模块,处理器801通过运行存储在存储器802的软件程序以及模块,从而执行容错设备的各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置803可用于接收输入的数字或字符信息,以及产生与容错设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器801会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器801来运行存储在存储器802中的应用程序,从而实现上述容错方法中的各种功能。
另外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述的容错方法。
可以理解的是,对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请实施例所提供的一种容错方法、装置及设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。