设备升级方法、装置、电子设备及计算机可读存储介质
文献发布时间:2023-06-19 19:32:07
技术领域
本申请涉及通信设备管理技术领域,具体而言,涉及一种设备升级方法、装置、电子设备及计算机可读存储介质。
背景技术
随着信息产业的飞速发展,广域网上承载的业务种类和业务量在不断增大,规模也不断在扩大,大量的终端接入设备被广泛应用,需要对这些用户侧设备(CPE,CustomerPremise Equipment)进行有效的管理。传统上,用户侧设备在安装、使用、维护过程中,只有派遣维护人员到客户现场进行相应操作,费时费力且效率极低。在这样的背景下,DSL(Digital Subscriber Line,数字用户环路)论坛(现已更名为Broadband论坛)于2004年5月推出TR069协议,通常被称为用户终端设备广域网管理协议(CWMP,CPE WAN ManagementProtocol)。TR069协议和其他相关协议一起定义了一套全新的网管体系结构,包括管理模型、交互接口及基本的管理参数。通过该协议,所有CPE相关的配置、诊断、升级等工作均可以由自动配置服务器(ACS,Auto Configuration Server)来远程操作并完成。
而在TR069组网中,组网内的各设备在日常使用和维护中,设备的版本升级或版本更新是不可避免的。目前,中国专利CN107707406B公开了一种对于TR069组网中设备的升级方案,其通过在组网的master(主)设备中维护一张slave(从)的设备列表,记录slave设备的成员信息和升级状态。在TR069服务器(即ACS服务器)上下发升级设备任务后,由master设备控制激活slave升级任务,将slave设备串行升级(即1个slave设备升级完后才进行下一个)。
但是,在现有方案中,若组网中存在多个设备需要升级相同软件版本,那么ACS服务器需要重复向着多个设备发送该软件版本。假设组网中被管理的设备为N个,那么极限情况下,ACS服务器需要重复下发N次该软件版本,从而造成ACS服务器带宽的浪费。特别是当ACS服务器为商业网络云平台时,由于商业网络云平台是按带宽计费,那么这种重复下发的方式还将造成大量的费用成本。
此外,现有方案还需要在主设备中额外维护一张slave的设备列表。而在实际应用过程中,组网中被管理的设备可能来自不同厂商,从而可能存在部分厂商设备不支持额外维护一张slave的设备列表的情况,从而造成方案适用性较差。
此外,现有方案需要将slave设备串行升级,升级效率低,会造成网络割接/维护耗时长。
发明内容
本申请实施例的目的在于提供一种设备升级方法、装置、电子设备及计算机可读存储介质,用以解决现有方案中存在的上述问题。
本申请实施例提供了一种设备升级方法,包括:获取各待升级设备在组网中的父设备;所述父设备为所述待升级设备的上级等价设备集中的任一设备,所述上级等价设备集为由直接与所述待升级设备相连的上级设备,以及所述上级设备的等价设备构成的设备集合;所述等价设备为所述上级设备所在层级中,与该上级设备具有连接关系的设备;在获取到各所述待升级设备的父设备时,将各所述待升级设备的待升级软件包分别下发至各所述待升级设备的父设备中;向各所述待升级设备下发包含各所述待升级设备的父设备信息的升级指令,以使各所述待升级设备从各自的父设备处获取所述待升级软件包进行升级。
在上述实现过程中,通过将组网中的设备分级,将待升级设备的待升级软件包下发至该待升级设备的上一层级中,与该待升级设备直接相连的上级设备或该上级设备的等价设备中。这就使得在多个待升级设备需要升级相同的待升级软件,且这多个待升级设备直接相连的上级设备相同,或者互为等价设备时,这多个待升级设备就可以设置同一个父设备,从而ACS服务器只需向该父设备下发一次这多个待升级设备对应的待升级软件包接口,从而可以有效节约ACS服务器带宽。当ACS服务器为商业网络云平台时,还可以降低费用成本。
此外,本申请实施例的方案,无需在被管理设备中维护slave的设备列表,从而对于各被管理设备而言,无需作出改造,进而方案具有更强的适用性。
此外,按照本申请实施例的方案,没有串行升级限制,对于位于同一层级的待升级设备,可以并行进行升级,从而可以有效提高升级效率,减少网络割接/维护耗时。
进一步地,所述方法还包括:若所述待升级设备为不存在父设备的网关设备,则将所述待升级设备的待升级软件包下发至所述待升级设备中。
在上述实现过程中,对于不存在父设备的网关设备而言,由于其是直接与ACS服务器连接的门户设备,不具有更上层级的设备,因此可以直接将待升级软件包下发至相应的网关设备中进行升级,以保证不存在父设备的网关设备也可以正常升级。
进一步地,获取各待升级设备在组网中的父设备,包括:针对每一个待升级设备,判断该待升级设备直接连接的上级设备所在的上级等价设备集中,是否存在与该待升级设备的对等待升级设备确定的父设备;所述对等待升级设备为:与该待升级设备需要相同待升级软件包的设备;若存在,确定该待升级设备的父设备为该对等待升级设备的父设备;若不存在,判断所述上级设备的存储空间是否满足预设的软件包存放条件;若满足,确定所述上级设备为该待升级设备的父设备;若不满足,获取所述上级等价设备集内,所述上级设备的等价设备中,满足所述软件包存放条件的目标等价设备;所述目标等价设备为该待升级设备的父设备。
通过上述方式,可以确保在多个待升级设备需要升级相同的待升级软件,且这多个待升级设备直接相连的上级设备相同,或者互为等价设备时,这多个待升级设备可以设置同一个父设备。同时,还可以基于设备的存储空间,实现对于父设备的自动化动态确定,保证方案的顺利执行。
进一步地,所述方法还包括:若所述上级设备的等价设备中,不存在满足所述软件包存放条件的目标等价设备,则监听该上级设备以及该上级设备的等价设备;在监听到该上级设备以及该上级设备的等价设备中的任一设备满足所述软件包存放条件时,将该待升级设备的待升级软件包下发至该满足所述软件包存放条件的设备中。
在上述实现过程中,若上级设备以及其等价设备都不满足软件包存放条件,此时可以将该待升级设备的待升级软件包的下发过程暂缓,通过对该上级设备以及该上级设备的等价设备进行监听,从而在发现存在满足软件包存放条件的设备后,再将该设备作为父设备下发该待升级设备的待升级软件包,从而可以实现对于待升级软件包的及时下发。
进一步地,所述方法还包括:识别所述组网内的网关设备,得到网关层,并根据各所述网关设备之间的连接关系,划分网络拓扑区域;从各所述网络拓扑区域内的网关设备出发,通过LLDP协议算法确定出各所述网络拓扑区域对应的接入层设备与中间层设备;所述接入层设备构成接入层,所述中间层设备构成中间层;所述网关层为最上层,所述接入层为最下层;识别同一层级中各设备之间,在该层级内是否具有连接关系;将层级内具有连接关系的同一层级设备确定为等价设备。
通过上述过程,可以实现组网各层级之间的自动划分,从而便于后续进行父设备的确定,以及待升级软件包的下发,保证方案的正常执行。
进一步地,根据各所述网关设备之间的连接关系,划分网络拓扑区域,包括:若任一所述网关设备与其他网关设备之间不存在网关层内的连接关系,则确定该网关设备以及与该网关设备存在连接关系的设备为一个网络拓扑区域;若任一所述网关设备与其他网关设备之间存在网关层内的连接关系,则确定该网关设备、与该网关设备存在网关层内的连接关系的目标网关设备、与该网关设备存在连接关系的设备、与该目标网关设备存在连接关系的设备为一个网络拓扑区域。
通过上述过程,可以以网关设备为基准,实现对于不同网络区域的划分,从而可以基于区域实现设备升级。
进一步地,所述待升级设备包括位于同一网络拓扑区域的多个不同层级内的设备;向各所述待升级设备下发包含各所述待升级设备的父设备信息的升级指令,包括:向最低层级中的待升级设备下发包含该待升级设备的父设备信息的升级指令,以使所述最低层级中的待升级设备进行升级;在所述最低层级中的待升级设备升级完成后,向上一层级中的待升级设备下发包含该待升级设备的父设备信息的升级指令,以使所述上一层级中的待升级设备进行升级,直至所有层级内的所述待升级设备升级完成。
本申请实施例还提供了一种设备升级装置,包括:获取模块和下发模块;所述获取模块,用于获取各待升级设备在组网中的父设备;所述父设备为所述待升级设备的上级等价设备集中的任一设备,所述上级等价设备集为由直接与所述待升级设备相连的上级设备,以及所述上级设备的等价设备构成的设备集合;所述等价设备为所述上级设备所在层级中,与该上级设备具有连接关系的设备;所述下发模块,用于在获取到各所述待升级设备的父设备时,将各所述待升级设备的待升级软件包分别下发至各所述待升级设备的父设备中;所述下发模块,还用于向各所述待升级设备下发包含各所述待升级设备的父设备信息的升级指令,以使各所述待升级设备从各自的父设备处获取所述待升级软件包进行升级。
本申请实施例还提供了一种电子设备,包括处理器、存储器及通信总线;所述通信总线用于实现处理器和存储器之间的连接通信;所述处理器用于执行存储器中存储的一个或者多个程序,以实现上述任一种的设备升级方法。
本申请实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述任一种的设备升级方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种设备升级方法的流程示意图;
图2为本申请实施例提供的一种组网结构示意图;
图3为本申请实施例提供的另一种组网结构示意图;
图4为本申请实施例提供的第一种等价设备的判断示意图;
图5为本申请实施例提供的第二种等价设备的判断示意图;
图6为本申请实施例提供的第三种等价设备的判断示意图;
图7为本申请实施例提供的第四种等价设备的判断示意图;
图8为本申请实施例提供的一种获取父设备的流程示意图;
图9为本申请实施例提供的一种设备升级装置的结构示意图;
图10为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一:
为了解决现有方案中存在着的ACS服务器带宽浪费率高、方案适用性较差、且升级效率低的问题,本申请实施例中提供了一种设备升级方法。可以参见图1所示,图1为本申请实施例中提供的一种设备升级方法的流程示意图,包括:
S101:获取各待升级设备在组网中的父设备。
需要说明的是,本申请实施例所提供的设备升级方法,应用于组网中的ACS服务器中。
在本申请实施例中,ACS服务器首先需要进行组网层级的划分以及各层级中等价设备的确定。只有在实现组网层级的划分以及各层级中等价设备的确定后,才能执行图1所示的过程。
为此,在本申请实施例中,在ACS服务器完成对组网中各设备的纳管后,可以先识别出组网内的网关设备,得到网关层,然后根据各网关设备之间的连接关系,划分网络拓扑区域。
然后,从各网络拓扑区域内的网关设备出发,通过LLDP协议算法确定出各网络拓扑区域对应的接入层设备与中间层设备。
此时,接入层设备构成接入层,中间层设备构成中间层。其中,网关层为最上层,接入层为最下层。
需要注意的是,在本申请实施例中,可以将网关型号预先内置到ACS服务器中,从而使得网关设备在注册后,ACS服务器即可自动识别到该设备为网关设备。此外,考虑到商业场景下,网关设备上存在特有配置,例如pppoe配置等。因此,在本申请实施例中,ACS服务器也可以通过识别设备中是否存在相关特有配置,从而确定该设备是否为网关设备。此外,为了避免出现识别遗漏或错误,在本申请实施例中,还可以配置工程师权限,以使得工程师可以有权将认为是网关设备的设备,标记为网关设备。
而对于接入层设备,由于接入层设备下联的是终端类型的设备,如个人计算机(PC,personal computer)、服务器、视频监控终端、打印机等设备。为此,在本申请实施例中,可以首先识别终端设备,进而将终端设备直接相连的设备确定为接入层设备。
在本申请实施例中,ACS服务器可以通过识别设备的通用唯一识别码(UUID,Universally Unique Identifier),识别出终端设备。
在本申请实施例中,在识别出组网中的网关设备和接入层设备后,即可得到中间层设备。
需要注意的是,在实际应用过程中,不同运营商之间的业务是相互独立的。而通常不同运营商的网关设备会独立接入ACS服务器,而同一运营商的具有多个网关设备时,这多个网关设备之间会连接。
那么在本申请实施例中,根据各网关设备之间的连接关系,即可有效划分出各运营商各自需独立的网络拓扑区域,从而每个网络拓扑区域得以对应各个运营商进行网络运营和业务处理。
在本申请实施例中,为了可有效划分出各运营商各自需独立的网络拓扑区域,可以在任一网关设备与其他网关设备之间不存在网关层内的连接关系,则确定该网关设备以及与该网关设备存在连接关系的设备为一个网络拓扑区域。若任一网关设备与其他网关设备之间存在网关层内的连接关系,则确定该网关设备、与该网关设备存在网关层内的连接关系的目标网关设备、与该网关设备存在连接关系的设备、与该目标网关设备存在连接关系的设备为一个网络拓扑区域。
示例性的,参见图2所示,设备A1和设备A2为网关层中的设备,设备B1至设备B4为中间层设备,设备C1至C6为接入层设备。设备A1和设备A2之间在网关层内没有连接关系,从而确定出设备A1,以及设备A1后续连接的各设备B1、B2、C1、C2、C3为一个网络拓扑区域;设备A2,以及设备A2后续连接的各设备B3、B4、C4、C5、C6为另一个网络拓扑区域。
需要注意的是,在实际应用过程中,可能存在采用了同一运营商的多个网关设备,或者采用了多个运营商网络来联合运营的情况。此时有可能从组网的网络拓扑图中进行识别,会发现这些网关设备在网关层内没有连接(例如图3所示),但是在实际行为上,这些网关设备应当对应同一网络拓扑区域,以进行统一管控。
为此,在本申请实施例中,可以配置工程师权限,以使得工程师可以有权在被认定是对应同一网络拓扑区域的网关设备之间,在网关层内添加虚拟连接关系。该虚拟连接关系可以在拓扑图中以虚线形式体现。这样,在进行网络拓扑区域划分时,这些网关设备由于虚拟连接关系的存在,即可被识别到同一网络拓扑区域。
需要注意的是,如果中间层设备中存在多级连接关系,那么则还可以对中间层做进一步分层。
此时,可以根据到网关层的最小跳数来实现对于中间层的划分。比如,中间层中,将到网关层的最小跳数只需一跳的设备划分为第一中间层,将到网关层的最小跳数只需两跳的设备划分为第二中间层,…将到网关层的最小跳数需N跳的设备划分为第N中间层。
例如,参见图3所示的组网,设备B1和B2到网关层的最小跳数为1,即构成第一中间层;设备B3至B6到网关层的最小跳数为2,即构成第二中间层。
对于同一层级,可以识别同一层级中各设备之间,在该层级内是否具有连接关系,然后将层级内具有连接关系的同一层级设备确定为等价设备。
需要注意的是,在本申请实施例中,连接关系是指同一层级中具有的直接或间接的连接关系。此外,为了保证方案可靠性,还可以为工程师配置权限,以使工程师可以根据实际业务情况,在各设备之间添加虚拟连接关系。而在本申请实施例中,层级内的连接关系即包括层级内的直接连接关系、间接连接关系和虚拟连接关系。
示例性的,参见图4所示,设备A和设备B在第一层级,设备C和设备D在第二层级,则设备C和设备D之间是通过第一层级实现连接的,在第二层级中,设备C和设备D之间不具有连接关系,因此设备C和设备D不构成等价设备。
示例性的,参见图5所示,设备A和设备B在第一层级,设备C和设备D在第二层级,则由于设备C和设备D之间在第二层级中存在直接连接,因此设备C和设备D构成等价设备。
示例性的,参见图6所示,设备A和设备B在第一层级,设备C、设备D和设备E在第二层级,则由于设备C和设备D之间在第二层级中存在直接连接,设备D和设备E之间在第二层级中存在直接连接,设备C和设备E之间在第二层级中存在间接连接,因此设备C、设备D和设备E构成等价设备。
示例性的,参见图7所示,设备A和设备B在第一层级,设备C、设备D和设备E在第二层级,则由于工程师在设备A和设备B之间设置了虚拟连接关系(即A和B之间的虚线),该虚拟连接关系在第一层级中,因此设备A和设备B构成等价设备。
通过以上方式,即实现了对于组网中设备的层级划分以及每一层级中的等价设备的确定。
在此基础上,在组网中存在具有升级需求的待升级设备时,ACS服务器只需按照所划分的层级,在待升级设备的上级等价设备集中选取出一个父设备来下发待升级软件包即可。
需要注意的是,在本申请实施例中,父设备可以是待升级设备的上级等价设备集中的任一设备。而上级等价设备集为由直接与待升级设备相连的上级设备,以及上级设备的等价设备构成的设备集合。
以图3所示组网结构为例,设备C1的上级设备是设备B3,而设备B3具有等价设备B4。即设备C1的上级等价设备集为设备B3和设备B4构成的集合,父设备可以是设备B3或设备B4。
S102:在获取到各待升级设备的父设备时,将各待升级设备的待升级软件包分别下发至各待升级设备的父设备中。
在本申请实施例中,为了获取各待升级设备在组网中的父设备,可以针对每一个待升级设备,按照图8所示的方式获取父设备,然后向父设备中下发待升级软件包。图8所示的方式包括:
S801:判断该待升级设备直接连接的上级设备所在的上级等价设备集中,是否存在与该待升级设备的对等待升级设备确定的父设备。若存在,转至步骤S802;否则,转至步骤S803。
应理解,本申请实施例中所述的对等待升级设备为:与该待升级设备需要相同待升级软件包的设备。比如,设备A1需要的待升级软件包为K,而设备A2需要的待升级软件包也为K,那么设备A1和设备A2即互为对等待升级设备。
S802:确定该待升级设备的父设备为该对等待升级设备的父设备。
S803:判断上级设备的存储空间是否满足预设的软件包存放条件。若满足,转至步骤S804;若不满足,转至步骤S805。
在本申请实施例中,软件包存放条件可以但不限于是设备的可用存储空间大于该待升级设备的待升级软件包的大小。
S804:确定该上级设备为该待升级设备的父设备。
S805:获取该上级等价设备集内,该上级设备的等价设备中,满足软件包存放条件的目标等价设备。
此时,该满足软件包存放条件的目标等价设备即为该待升级设备的父设备。
需要注意的是,在本申请实施例中,如果某一待升级设备的上级等价设备集中,不存在满足软件包存放条件的目标等价设备(即不存在可以作为父设备的设备),那么ACS服务器可以监听该上级设备以及该上级设备的等价设备,进而在监听到该上级设备以及该上级设备的等价设备中的任一设备满足软件包存放条件时,再将该待升级设备的待升级软件包下发至该满足软件包存放条件的设备中。
示例性的,以图3所示的组网结构为例,假设有升级需求的待升级设备为设备C1、设备C2和设备C3,且设备C1、设备C2和设备C3互为对等待升级设备。
首先针对设备C1进行父设备确定:首先,确定设备B3和设备B4没有被确定为父设备的设备。获取设备C1的上级设备B3的可用存储空间大小。
若设备B3的可用存储空间大小大于待升级软件包的大小,则将设备B3确定为设备C1的父设备。此时继续针对设备C2进行父设备确定,由于设备B3以被确定为父设备,确定设备C2的父设备为设备B3。同理,接着确定设备C3的父设备为设备B3。
若设备B3的可用存储空间大小小于待升级软件包的大小,则判断设备B4的可用存储空间大小是否大于待升级软件包的大小。若是,确定设备B4为设备C1的父设备。此时继续针对设备C2进行父设备确定,由于设备B4以被确定为父设备,确定设备C2的父设备为设备B4。同理,接着确定设备C3的父设备为设备B4。
若设备B4的可用存储空间大小也小于待升级软件包的大小,ACS服务器监测设备B3和设备B4的可用存储空间。当发现设备B3和设备B4中的任一设备的可用存储空间大小是否大于待升级软件包的大小时,确定该设备为设备C1、设备C2和设备C3的父设备。
需要注意的是,对于上述多个对等待升级设备对应同一父设备的情况,下发待升级软件包时,只需下发一次该待升级软件包。也即,在上例中,针对设备C1、设备C2和设备C3,只需向父设备下发一次该待升级软件包,以同时供设备C1、设备C2和设备C3下载。
S103:向各待升级设备下发包含各待升级设备的父设备信息的升级指令,以使各待升级设备从各自的父设备处获取待升级软件包进行升级。
需要注意的是,在本申请实施例中,升级顺序需满足从最低层级向最高层级进行升级。也即,在多个不同层级均存在中待升级设备时,先升级层级最低的待升级设备,再依次升级更高层级中的待升级设备。
示例性的,在待升级设备包括位于同一网络拓扑区域的多个不同层级内的设备时,可以向最低层级中的待升级设备下发包含该待升级设备的父设备信息的升级指令,以使最低层级中的待升级设备进行升级。然后在最低层级中的待升级设备升级完成后,向上一层级中的待升级设备下发包含该待升级设备的父设备信息的升级指令,以使上一层级中的待升级设备进行升级,直至所有层级内的所述待升级设备升级完成。
应理解,对于相同层级的多个待升级设备,其可以并行进行升级。类似的,对于多个网络拓扑区域,也可以并行进行升级,从而提高升级效率,减少网络割接/维护耗时长。
在设备升级完毕后,ACS服务器可以根据用户业务需求,可以在设备升级完成后即下发重启指令,也可以在用户业务闲时时段执行定时重启机制,从而最终完成设备升级。
需要注意的是,本申请实施例中所述的ACS服务器可以是单独的服务器,也可以是服务集群,还可以是云平台。
需要说明的是,本申请实施例中所述的组网可以是TR069组网,但也可以是随着协议版本的更替所产生的可以按照本申请架构进行设备批量升级的其他协议组网,在本申请实施例中并不做限制。
本申请实施例所提供的设备升级方法,通过将组网中的设备分级,将待升级设备的待升级软件包下发至该待升级设备的上一层级中,与该待升级设备直接相连的上级设备或该上级设备的等价设备中。这就使得在多个待升级设备需要升级相同的待升级软件,且这多个待升级设备直接相连的上级设备相同,或者互为等价设备时,这多个待升级设备就可以设置同一个父设备,从而ACS服务器只需向该父设备下发一次这多个待升级设备对应的待升级软件包接口,从而可以有效节约ACS服务器带宽。当ACS服务器为商业网络云平台时,还可以降低费用成本。
此外,本申请实施例的方案,无需在被管理设备中维护slave的设备列表,从而对于各被管理设备而言,无需作出改造,进而方案具有更强的适用性。
此外,按照本申请实施例的方案,没有串行升级限制,对于位于同一层级的待升级设备,可以并行进行升级,从而可以有效提高升级效率,减少网络割接/维护耗时。
实施例二:
本实施例在实施例一的基础上,以一种ACS服务器部署在云平台上的TR069组网中,具体的设备升级过程为例,为本申请做进一步示例说明。
1、网络设备通过TR069(含TR111)自动注册到云平台上,完成设备纳管(云平台即为TR069/TR111的ACS服务器)。
如图3所示的网络拓扑:被纳管的网络设备有:设备A1、设备A2、设备B1至B6、设备C1至C7。
TR069和TR111为现有技术,设备通过TR069/TR111注册到云平台的过程,本实施例中不展开描述。
2、对被纳管的设备进行区域划分。
在本申请实施例中,可以按网关进行区域划分。
网关设备可以通过将网关型号内置到云平台的方式,设备注册后云平台即可以自动识别出设备是否为网关设备。此外,在商业场景下,网关设备上存在特有配置,包含但不限于pppoe配置。云平台通过检测设备内是否存在该特殊配置,从而可以自动识别出设备是否为网关设备。此外,由于自动识别方式无法确保识别结果100%准确,此时管理员可以在云平台上对设备是否为网关设备,进行手动设置。
对于图3所示的网络拓扑:设备A1和设备A2为网关设备。
3、同一区域下,设备层级分析。
设备层级判定原则:
设备间的链路可以通过链路层发现协议(LLDP,Link Layer DiscoveryProtocol)算法进行获取,得到如图3所示的网络拓扑。
由于网关设备可以被确定,从而可以从网关设备出发,分析出设备的层级关系。
分析时,根据终端的厂商UUID,可以识别出终端设备,进而可以确定与终端设备直接连接的设备C1至设备C7为接入层设备,而设备B1至设备B6为中间层设备。
根据设备B1至设备B6到网关层的最小跳数,可以确定出设备B1和设备B2为第一中间层,设备B3至设备B6为第二中间层,得到网络层级表如下:
需要注意的是,在图3中,网关设备A1和A2共同运作,但是网络拓扑中两者在网关层没有直接或间接的连接,为此管理员可手动增加A1和A2之间的虚拟连线,从而将区域进行合并,此时图3所有拓扑均对应同一个网络拓扑区域。
然后对上面每层,进行等价关系分析,判断设备间是否存在同层级内的连接关系。结果如下:
4、在云平台上,下发升级设备任务,同一区域下,按设备层级依次升级在网设备(接入层->第二中间层->第一中间层->网关层),不同区域之间可并行处理。
7、针对接入层和中间层的网络设备升级:
(1)在云平台上,确定待升级设备的软件包(假设软件包有file1、file2、file3、file4)。
(2)判断待升级设备的上级等价设备集中,是否存在与该待升级设备的对等待升级设备确定的父设备。
(3)若存在,将待升级设备的软件包发送至该父设备。
(4)若不存在,判断与该待升级设备直接连接的上级设备的flash(闪存)或磁盘空间利用率是否大于预设利用率阈值。
(5)若上级设备的flash或磁盘空间利用率大于预设利用率阈值,云平台将待升级设备的软件包发送至该上级设备的flash/磁盘上。
(6)若上级设备的flash或磁盘空间利用率不大于预设利用率阈值,判断该上级设备的等价设备的flash或磁盘空间利用率是否大于预设利用率阈值。
(7)若该上级设备的等价设备的flash或磁盘空间利用率大于预设利用率阈值,云平台将待升级设备的软件包发送至该等价设备的flash/磁盘上。
(8)若不存在flash或磁盘空间利用率是否大于预设利用率阈值的等价设备,则云平台的软件包队列中待下载的软件包暂停下载。
在云平台上,下发升级指令至待升级设备(指令中包含了软件包存在的设备位置),待升级设备根据升级指令获取软件包,执行升级操作,升级完成后,设备发送确认消息给云平台,待升级设备之间为并行处理。
已利用完的软件包从设备上删除,执行软件包队列中剩余文件的下载,重复上面步骤(2)~步骤(8)。
针对网关设备,软件包直接从云平台下载到网关设备上。
示例性的,假设需要升级的待升级设备为:设备C1至设备C7,对应的软件包文件有:
管理员设定待升级设备上一层级设备的flash/磁盘空间利用率阈值(可以为全局统一设定一个百分比,也可以按设备精确配置):
此处根据设备进行精确配置各个设备的阈值。
需要升级的设备C1至设备C7的上一层级设备有:设备A1、设备A2、设备B3、设备B4、设备B5和设备B6。
按上面的规则,本次软件包最终下发的位置如下:
根据用户业务,设备升级完成后,云管平台可以立即下发重启指令,也可以在用户业务闲时时段执行定时重启机制。
本申请的方案,相比于现有方案,弱化了用户网络的master和slave限制,设备内不再需要额外维护一张slave的设备列表,具有更强的适用性。且同层级的多个设备需要同一个软件包版本文件的情况下,软件版本仅需要下发一次,多个设备升级时可以并行处理,极大的节约了互联网带宽,提升了设备批量升级割接的时间。此外,由于云平台主要面向商业渠道市场,云平台主要是自运营和代维,客户分散,应用场景数量庞大,接入网络设备少则几万,多则几十万,上百万,云平台成为商业渠道市场的必需品。本申请的方案合理的优化了当前云平台已有的批量设备升级方案,极大降低后续云平台系统的自运营的维护费用。在保障用户业务正常运行的同时,可以节约项目自运营费用,提升割接效率。
实施例三:
基于同一发明构思,本申请实施例中提供了一种设备升级装置900。请参阅图9所示,图9示出了采用图1所示的方法的设备升级装置。应理解,装置900具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。装置900包括至少一个能以软件或固件的形式存储于存储器中或固化在装置900的操作系统中的软件功能模块。具体地:
参见图9所示,装置900应用于ACS服务器上,包括:获取模块901和下发模块902。其中:
所述获取模块901,用于获取各待升级设备在组网中的父设备;所述父设备为所述待升级设备的上级等价设备集中的任一设备,所述上级等价设备集为由直接与所述待升级设备相连的上级设备,以及所述上级设备的等价设备构成的设备集合;所述等价设备为所述上级设备所在层级中,与该上级设备具有连接关系的设备;
所述下发模块902,用于在获取到各所述待升级设备的父设备时,将各所述待升级设备的待升级软件包分别下发至各所述待升级设备的父设备中;
所述下发模块902,还用于向各所述待升级设备下发包含各所述待升级设备的父设备信息的升级指令,以使各所述待升级设备从各自的父设备处获取所述待升级软件包进行升级。
在本申请实施例中,所述下发模块902,还用于若所述待升级设备为不存在父设备的网关设备,则将所述待升级设备的待升级软件包下发至所述待升级设备中。
在本申请实施例的一种可行实施方式中,所述获取模块901具体用于,针对每一个待升级设备,判断该待升级设备直接连接的上级设备所在的上级等价设备集中,是否存在与该待升级设备的对等待升级设备确定的父设备;所述对等待升级设备为:与该待升级设备需要相同待升级软件包的设备;若存在,确定该待升级设备的父设备为该对等待升级设备的父设备;若不存在,判断所述上级设备的存储空间是否满足预设的软件包存放条件;若满足,确定所述上级设备为该待升级设备的父设备;若不满足,获取所述上级等价设备集内,所述上级设备的等价设备中,满足所述软件包存放条件的目标等价设备;所述目标等价设备为该待升级设备的父设备。
在上述可行实施方式中,所述获取模块901具体用于,若所述上级设备的等价设备中,不存在满足所述软件包存放条件的目标等价设备,则监听该上级设备以及该上级设备的等价设备。
所述下发模块902还用于,在监听到该上级设备以及该上级设备的等价设备中的任一设备满足所述软件包存放条件时,将该待升级设备的待升级软件包下发至该满足所述软件包存放条件的设备中。
在本申请实施例中,装置900还包括识别模块、分层模块和确定模块。
所述识别模块用于,识别所述组网内的网关设备,得到网关层,并根据各所述网关设备之间的连接关系,划分网络拓扑区域;
所述分层模块用于,从各所述网络拓扑区域内的网关设备出发,通过LLDP协议算法确定出各所述网络拓扑区域对应的接入层设备与中间层设备;所述接入层设备构成接入层,所述中间层设备构成中间层;所述网关层为最上层,所述接入层为最下层;
所述识别模块还用于,识别同一层级中各设备之间,在该层级内是否具有连接关系;
所述确定模块用于,将层级内具有连接关系的同一层级设备确定为等价设备。
在本申请实施例中,所述识别模块具体用于,若任一所述网关设备与其他网关设备之间不存在网关层内的连接关系,则确定该网关设备以及与该网关设备存在连接关系的设备为一个网络拓扑区域;若任一所述网关设备与其他网关设备之间存在网关层内的连接关系,则确定该网关设备、与该网关设备存在网关层内的连接关系的目标网关设备、与该网关设备存在连接关系的设备、与该目标网关设备存在连接关系的设备为一个网络拓扑区域。
在本申请实施例中,所述待升级设备包括位于同一网络拓扑区域的多个不同层级内的设备;所述下发模块902具体用于,向最低层级中的待升级设备下发包含该待升级设备的父设备信息的升级指令,以使所述最低层级中的待升级设备进行升级;在所述最低层级中的待升级设备升级完成后,向上一层级中的待升级设备下发包含该待升级设备的父设备信息的升级指令,以使所述上一层级中的待升级设备进行升级,直至所有层级内的所述待升级设备升级完成。
需要理解的是,出于描述简洁的考量,部分实施例一中描述过的内容在本实施例中不再赘述。
实施例四:
本实施例提供了一种电子设备,参见图10所示,其包括处理器1001、存储器1002以及通信总线1003。其中:
通信总线1003用于实现处理器1001和存储器1002之间的连接通信。
处理器1001用于执行存储器1002中存储的一个或多个程序,以实现上述实施例一和/或实施例二中的设备升级方法。
可以理解,图10所示的结构仅为示意,电子设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
还可以理解,本实施例所述的电子设备可以为ACS服务器。
本实施例还提供了一种计算机可读存储介质,如软盘、光盘、硬盘、闪存、U盘、SD(Secure Digital Memory Card,安全数码卡)卡、MMC(Multimedia Card,多媒体卡)卡等,在该计算机可读存储介质中存储有实现上述各个步骤的一个或者多个程序,这一个或者多个程序可被一个或者多个处理器执行,以实现上述实施例一和/或实施例二中的设备升级方法。在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
在本文中,多个是指两个或两个以上。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
- 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
- 模态框构建方法、装置、电子设备、计算机可读存储介质
- 电子设备、音量调节方法及装置、计算机可读存储介质
- 数据库同步恢复方法、装置、计算机可读存储介质和电子设备
- 升级方法、升级装置、电子设备及计算机可读存储介质
- 升级方法、装置、电子设备及计算机可读存储介质