一种配置下发方法及装置与流程

文档序号:33033547发布日期:2023-01-20 22:05阅读:48来源:国知局
一种配置下发方法及装置与流程

1.本技术涉及通信技术领域,尤其涉及一种配置下发方法及装置。


背景技术:

2.防火墙在网络安全中处于重要的地位,尤其是在数据中心网络中,防火墙承担了整个数据中心服务器的安全任务。为了提高防火墙的高可靠性,以2台设备为例进行说明,则可以将两台设备堆叠到一起来使用。使用了堆叠技术的防火墙对外提供一个管理平面,即,从控制器纳管的角度,堆叠的两台设备像一台设备一样,使用一个管理ip就可以将堆叠的两台设备纳管起来。两台设备堆叠后,对外用于用户管理和维护,对内可以使用业务负载功能,从而提高设备资源的利用率。但是堆叠在一起的防火墙也有很多弊端,管理平面故障后,控制器无法给两台设备下发配置;堆叠设备的升级也是很复杂,需要将两台设备拆堆叠后,分别升级后再堆叠到一起。
3.为了解决堆叠技术的缺陷,推出了双机热备方案,将两台堆叠设备中一台配置为主设备,另一台配置为从设备。由主设备将控制器下发的配置同步到从设备中。该方法控制器只能通过主设备下发配置,当主设备故障后,控制器无法下发新的业务配置。此外,主设备正常工作时,从设备只做配置和数据的热备,不处理业务,从而无法有效的利用设备资源。
4.因此,如何实现配置数据的在堆叠设备中的正常下发是值得考虑的技术问题之一。


技术实现要素:

5.有鉴于此,本技术提供一种配置下发方法及装置,用以实现配置数据的在堆叠设备中的正常下发。
6.具体地,本技术是通过如下技术方案实现的:
7.根据本技术的第一方面,提供一种配置下发方法,应用于控制器中,所述控制器用于向堆叠设备中的主设备和从设备下发配置,主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;所述方法包括:
8.在需要下发配置时,分别向主设备和从设备发送通知消息;
9.接收主虚拟设备发送的配置数据获取请求,所述主虚拟设备为对应虚拟设备组中处于主用状态的虚拟设备;
10.将所请求的配置数据下发给所述主虚拟设备。
11.根据本技术的第二方面,提供另一种配置下发方法,应用于堆叠设备中的网络设备中,所述网络设备为主设备或从设备,所述主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;所述方法,包括:
12.接收控制器发送的通知消息;
13.确定所述网络设备中所述通知消息所指示的配置数据对应的虚拟设备;
14.若确定出的虚拟设备为主虚拟设备,则向控制器发送数据获取请求;
15.接收所述控制器发送的配置数据;并将所述配置数据通过同步通道进行数据同步;
16.根据所述配置数据进行配置。
17.根据本技术的第三方面,提供一种配置下发装置,设置于控制器中,所述控制器用于向堆叠设备中的主设备和从设备下发配置,主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;所述装置包括:
18.发送模块,用于在需要下发配置时,分别向主设备和从设备发送通知消息;
19.接收模块,用于接收主虚拟设备发送的配置数据获取请求,所述主虚拟设备为对应虚拟设备组中处于主用状态的虚拟设备;
20.所述发送模块,还用于将所请求的配置数据下发给所述主虚拟设备。
21.根据本技术的第四方面,提供另一种配置下发装置,设置于堆叠设备中的网络设备中,所述网络设备为主设备或从设备,所述主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;所述装置,包括:
22.接收模块,用于接收控制器发送的通知消息;
23.确定模块,用于确定所述网络设备中所述通知消息所指示的配置数据对应的虚拟设备;
24.发送模块,用于若确定出的虚拟设备为主虚拟设备,则向控制器发送数据获取请求;
25.所述接收模块,还用于接收所述控制器发送的配置数据;并将所述配置数据通过同步通道进行数据同步;
26.配置模块,用于根据所述配置数据进行配置。
27.根据本技术的第五方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本技术实施例第一方面所提供的方法。
28.本技术实施例的有益效果:
29.本技术实施例提供的配置下发方法及装置中,在需要下发配置时,分别向主设备和从设备发送通知消息;接收主虚拟设备发送的配置数据获取请求,所述主虚拟设备为对应虚拟设备组中处于主用状态的虚拟设备;将所请求的配置数据下发给所述主虚拟设备。本技术中,控制器可以分别向主设备和从设备下发通知消息,然后由处于主用状态的主虚拟设备从控制器中获取配置数据,由于每个虚拟设备组中主虚拟设备可以属于主设备,也可以属于从设备,因此,即使主设备或从设备发生故障时,由于主虚拟设备可能是在另一个设备中,因此主虚拟设备依然可以从控制器中获取配置数据,从而实现配置数据在堆叠设备中的正常下发,进而保证基于配置数据进行相关配置后业务的正常处理。
附图说明
30.图1是本技术实施例提供的一种配置下发方法的流程示意图;
31.图2是本技术实施例提供的另一种配置下发方法的流程示意图;
32.图3是本技术实施例提供的一种配置下发装置的结构示意图;
33.图4是本技术实施例提供的另一种配置下发装置的结构示意图;
34.图5是本技术实施例提供的一种实施配置下发方法的电子设备的硬件结构示意图。
具体实施方式
35.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如本技术的一些方面相一致的装置和方法的例子。
36.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
37.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
38.下面对本技术提供的配置下发方法进行详细地说明。
39.参见图1,图1是本技术提供的一种配置下发方法的流程图,该方法可以应用于控制器中,该控制器用于向堆叠设备中的主设备和从设备下发配置,主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组。控制器在执行该方法时,可包括如下所示步骤:
40.s101、在需要下发配置时,分别向主设备和从设备发送通知消息。
41.本步骤中,本实施例中,为了充分提升主设备和从设备的设备利用率,主设备和从设备中分别会创建至少一个虚拟设备,同时为了保证主从设备之间的配置等信息的备份,主设备中的一个虚拟设备会与从设备中的一个虚拟设备构成一组虚拟设备组,然后每个虚拟设备组中的2个虚拟设备的角色分别为主虚拟设备和从虚拟设备,主虚拟设备与从虚拟设备之间对配置、会话等信息进行相互备份。
42.此外,当该虚拟设备组中的主虚拟设备属于主设备,则从虚拟设备属于从设备;当该虚拟设备组中的主虚拟设备属于从设备,则从虚拟设备属于主设备。
43.基于此,由于主虚拟设备可能是主设备的,也可能是从设备的。因此,控制器在需要下发配置时,可以分别向主设备和从设备发送通知消息,以使主设备或从设备执行配置数据的获取操作。
44.s102、接收主虚拟设备发送的配置数据获取请求,所述主虚拟设备为对应虚拟设
备组中处于主用状态的虚拟设备。
45.本步骤中,主设备和从设备分别在接收到控制器发送的通知消息后,可以分别确定出自身设备中用于获取对应配置数据的虚拟设备组,然后再确定该虚拟设备组中虚拟设备的角色。以主设备为例进行说明,当主设备确定出该虚拟设备组中属于该主设备的虚拟设备的角色为主虚拟设备,则由该主虚拟设备向控制器发送数据获取请求;若确认虚拟设备组中属于该主设备的虚拟设备的角色为从虚拟设备,则表明主虚拟设备属于从设备,则由从设备中该虚拟设备组中属于从设备的主虚拟设备向控制器发送数据获取请求。
46.s103、将所请求的配置数据下发给所述主虚拟设备。
47.本步骤中,控制器在接收到数据获取请求后,就可以将对应的配置数据下发给该主虚拟设备。这样,主虚拟设备就可以基于获取到的配置数据进行相关的配置。同时,主虚拟设备还可以通过其与从虚拟设备之间的同步通道,将获取到的配置数据同步给从虚拟设备。
48.通过实施本技术提供的配置下发方法,在需要下发配置时,分别向主设备和从设备发送通知消息;接收主虚拟设备发送的配置数据获取请求,所述主虚拟设备为对应虚拟设备组中处于主用状态的虚拟设备;将所请求的配置数据下发给所述主虚拟设备。本技术中,控制器可以分别向主设备和从设备下发通知消息,然后由处于主用状态的主虚拟设备从控制器中获取配置数据,由于每个虚拟设备组中主虚拟设备可以属于主设备,也可以属于从设备,因此,即使主设备或从设备发生故障时,由于主虚拟设备可能是在另一个设备中,因此主虚拟设备依然可以从控制器中获取配置数据,从而实现配置数据在堆叠设备中的正常下发,进而保证基于配置数据进行相关配置后业务的正常处理。
49.需要说明的是,主设备和从设备中分别可以创建多个虚拟设备,相应地,可以构成多个虚拟设备组,每个虚拟设备组可以处理对应的业务,例如,一个业务可以与多个虚拟设备组相对应;或者,一个虚拟设备组可以处理多个种业务。而且,虚拟设备的创建可以是在控制器的控制下执行的。
50.具体来说,控制器针对每个业务可以为其分配对应的虚拟设备组。然后一个示例中,在控制器中记录每个业务的业务标识与虚拟设备组的组标识之间的对应关系。这样,控制器在有配置数据需要下发时,可以将该配置数据所属的业务的业务标识对应的组标识携带在通知消息中发送给主设备和从设备。这样,主设备在接收到通知消息后,可以从通知消息中解析出组标识;主设备和从设备中可以记录每个虚拟设备组中的虚拟设备的虚拟设备标识。然后,就可以基于组标识确定出对应的虚拟设备组中的虚拟设备。
51.另一个示例中,控制器在向主设备和从设备发送创建消息后,主设备和从设备创建出虚拟设备后,可以将虚拟设备的虚拟设备标识上送给控制器。这样,控制器中就可以将需要该虚拟设备处理的业务的业务标识发送给主设备和从设备,以使主设备和从设备中分别维护业务标识与虚拟设备的虚拟设备标识之间的对应关系。这样,在控制器在有配置数据需要下发时,可以确定该配置数据所属的业务的业务标识。然后将该业务标识携带在通知消息中发送给主设备和从设备。由于主设备和从设备中分别存储有自身的虚拟设备的虚拟设备标识与业务标识之间的对应关系,这样,主设备或从设备在从通知消息中解析出业务标识后,就可以基于自身存储的对应关系确定出对应的虚拟设备。
52.或者,控制器在为每个业务分配虚拟设备后,可以将在控制器中记录各业务的业
务标识与用于处理该业务的虚拟设备的虚拟设备标识之间的对应关系。这样,在控制器在有配置数据需要下发时,可以确定该配置数据所属的业务的业务标识。然后基于本地存储的前述对应关系确定出用于处理该业务的虚拟设备的虚拟设备标识。然后将虚拟设备标识携带在通知消息中发送给主设备和从设备中。这样,主设备和从设备在接收到通知消息后,就可以从通知消息中解析出虚拟设备标识,进而确定出对应的虚拟设备。
53.需要说明的是,每个虚拟设备组中的2个虚拟设备的虚拟设备标识相同,然后同一时间仅有一个为主虚拟设备,则另一个为从虚拟设备。可选地,在此基础上,可以将虚拟设备标识作为上述组标识。
54.在此基础上,当主设备或从设备确定出自身的虚拟设备后,可以查询虚拟设备的角色是否为主虚拟设备,从而确定出用于处理对应业务的主虚拟设备。然后由主虚拟设备向控制器发送数据获取请求。
55.此外,当各个虚拟设备上处理的业务负担比较大时,控制器在有新业务需要虚拟设备处理时,也可以先向主设备和从设备发送虚拟设备创建消息,这样,主设备和从设备在接收到虚拟设备创建消息后,就可以分别在主设备和从设备中创建虚拟设备,而且创建的虚拟设备构成一组新的虚拟设备组。
56.可选地,基于上述任一实施例,本实施例中,可以按照下述方法确定需要下发配置:查询数据等待数据队列中是否有配置数据;若存在,则确定需要下发配置。
57.具体地,控制器中维护了一个等待数据队列。当任一业务的配置数据需要更新时,都可以将配置数据写入等待数据队列中。然后控制器发现该等待数据队列中存在配置数据时,就可以确认当前需要下发配置。需要说明的是,控制器中可以由多个线程,其中,等待数据队列可以由代理线程proxy来维护,然后该代理线程会定时或周期性地查询等待数据队列中是否存在配置数据,当存在时,则确认需要下发配置。
58.在此基础上,本实施例提供的配置下发方法,还可以包括下述过程:根据所述等待数据队列中的配置数据生成配置消息,所述配置消息包括所述配置数据;将所述配置消息写入运行消息队列中。
59.具体地,控制器中还维护了运行消息队列,该队列中用于缓存当前正在下发的包含配置数据的配置消息。具体来说,代理线程会从等待数据队列中读取出配置数据,然后根据该配置数据生成配置消息,然后将该配置消息写入到运行消息队列中,以等待下发。
60.进一步地,可以按照下述过程执行步骤s103:从所述运行消息队列中读取所请求的配置消息,将所述配置消息发送给所述主虚拟设备。
61.具体地,当控制器接收到主虚拟设备发送的数据获取请求后,就可以从运行消息队列中读取对应的配置消息,然后将包含了配置数据的配置消息发送给该主虚拟设备。
62.这样一来,通过维护等待数据队列和运行消息队列,既保证了配置数据的正常处理,也不会造成配置数据的堆积。
63.可选地,基于上述实施例,本实施例中提供的配置下发方法,还可以包括下述过程:若接收到针对所述配置消息中的配置数据的配置失败的配置结果,则从所述运行消息队列中读出所述配置消息,并写入到配置失败消息队列中。
64.具体地,代理线程会监控是否接收到主虚拟设备反馈的处理结果,当接收到成功的配置结果时,则代理线程会将对应的配置消息从运行消息队列中删除,从而避免运行消
息队列缓存空间不足的情况发生。若代理线程未接收到配置结果或者接收到配置失败的配置结果,则代理线程会从运行消息队列中读出配置消息后,将其进行标记然后写入到配置失败消息队列中。后续代理线程会将配置失败消息队列中的消息批量写入数据库中,以供管理员后续审计原因,同时也避免配置失败消息队列中缓存空间不足的情况发生。
65.可选地,基于上述任一实施例,本实施例中的配置下发方法还可以包括下述过程:接收主设备或从设备上报的设备运行状态和主设备与从设备之间的同步通道的通道状态;接收从设备发送的查询请求;根据所述查询请求查询主设备的设备运行状态及通道状态,并发送给所述从设备,以使所述从设备若确定接收到的设备运行状态为离线状态,则将从设备切换为主设备;若确定所述主设备的设备运行状态为离线状态,和/或,所述同步通道的通道状态异常,则输出告警信号。
66.具体地,主设备和从设备可以定时或周期性地向控制器上报各自运行时的状态,记为上述设备运行状态。同时,还可以上报主设备与从设备之间的同步通道的通道状态,且主设备与从设备之间通过同步通道发送心跳报文来检测对方设备的状态。以从设备为例进行说明,当从设备在设定时间内未通过同步通道接收到主设备的心跳报文时,则为了避免错误认为主设备离线而将自身切换为主设备而导致正常的原始主设备无法执行业务的情况发生,本实施例提出,从设备可以向控制器发送查询请求,以确认主设备的状态。当从设备接收到控制器发送的查询结果后,若确定主设备的设备运行状态为离线状态,则此时可以确定主设备已离线,为了保证业务的正常处理,从设备可以将自己的角色切换为主设备。若确认主设备的设备运行状态为正常状态时,则保持从设备的角色不变。此外,控制器若确认其与主设备的同步通道的通道状态异常时,则可以输出告警信号,以使运维人员根据该告警信号对同步通道进行维护。此外,控制器若确认主设备的设备运行状态为离线,则主设备可能存在异常,则此时控制器同样可以输出告警信号,以便运维人员对主设备进行维护。
67.需要说明的是,在输出告警信号时,可以但不限于采用邮件或短信的方式。
68.可选地,上述同步通道可以但不限于为高可用ha通道等等。
69.可选地,基于上述任一实施例,本实施例中,控制器可以通过netconf方式与主设备和从设备进行通信及管理主设备和从设备。相应地,主设备或从设备也可以通过netconf方式上报自身的设备运行状态及通道状态;同时通过netconf方式向控制器查询从设备或主设备的设备运行状态和/或通道状态。
70.此外,控制器在负责纳管主设备、从设备的同时,还用于给设备下发用户业务配置。主设备和从设备可以但不限于理解为物理防火墙设备,而内部的虚拟设备可以理解为防火墙虚拟化的实现,具体可以采用vsystem方式实现,属于轻量级的虚拟防火墙。虚拟设备通过vrf方式将用户业务的流量进行隔离,相应地,配置层可以按照虚拟设备标识进行隔离,当虚拟设备为vsystem时,虚拟设备标识可以为vsystem id。
71.可选地,控制器在与主设备或从设备进行交互时,每个消息的消息字段可以包括如下内容:消息标识,虚拟设备标识、消息体和错误信息等,具体内容可以参考表1所示
72.表1
[0073][0074]
基于同一发明构思,本实施例还提供了一种配置下发方法,应用于堆叠设备中的网络设备中,该网络设备可以为主设备或从设备。主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;网络设备在实施上述方法时可以按照图2所示的流程执行:
[0075]
s201、接收控制器发送的通知消息。
[0076]
本步骤中,在需要下发配置时,控制器会向堆叠设备中的网络设备发送通知消息。
[0077]
s202、确定所述网络设备中所述通知消息所指示的配置数据对应的虚拟设备。
[0078]
本步骤中,由于网络设备的角色可以是主设备,也可以是从设备。为了方面描述,可以以主设备为例进行说明,主设备接收到通知消息后,可以按照下述任一方式确定虚拟设备:
[0079]
一种示例中,主设备和从设备中可以记录每个虚拟设备组中的虚拟设备的虚拟设备标识。然后,控制器中记录每个业务的业务标识与虚拟设备组的组标识之间的对应关系。这样,控制器在有配置数据需要下发时,可以将该配置数据所属的业务的业务标识对应的组标识携带在通知消息中发送给主设备和从设备。使得,主设备和从设备分别从该通知消息中解析出组标识,然后就可以基于组标识确定出对应的虚拟设备组中的虚拟设备。
[0080]
另一种示例中,当控制器向主设备和从设备下发的通知消息包括业务标识时,主设备和从设备中分别存储有自身的虚拟设备的虚拟设备标识与业务标识之间的对应关系,这样,主设备或从设备在从通知消息中解析出业务标识后,就可以基于自身存储的对应关系确定出对应的虚拟设备。
[0081]
再一种示例中,当控制器下发的通知消息中包括虚拟设备标识时,这样,主设备和从设备在接收到通知消息后,就可以从通知消息中解析出虚拟设备标识,进而确定出对应的虚拟设备。
[0082]
需要说明的是,每个虚拟设备组中的2个虚拟设备的虚拟设备标识相同,然后同一时间仅有一个为主虚拟设备,则另一个为从虚拟设备。可选地,在此基础上,可以将虚拟设备标识作为上述组标识。值得注意的是,主虚拟设备用于业务处理,而从虚拟设备只需备份配置和会话。以便当主设备故障时,故障的设备上的主虚拟设备全部切换到从设备上。
[0083]
s203、若确定出的虚拟设备为主虚拟设备,则向控制器发送数据获取请求。
[0084]
本步骤中,当主设备或从设备确定出自身的虚拟设备后,可以查询虚拟设备的角色是否为主虚拟设备,从而确定出用于处理对应业务的主虚拟设备。然后由主虚拟设备向控制器发送数据获取请求。
[0085]
s204、接收所述控制器发送的配置数据;并将所述配置数据通过同步通道进行数据同步。
[0086]
本步骤中,主虚拟设备接收到配置数据后,就可以通过同步通道向属于同一虚拟设备组的从虚拟设备同步配置数据。
[0087]
s205、根据所述配置数据进行配置。
[0088]
本步骤中,主虚拟设备在接收到配置数据后,就可以对主虚拟设备中配置数据对应的业务处理流程进行相关配置,使得基于配置后的业务处理流程处理后续该业务的流量。
[0089]
通过实施本实施例提供的配置下发方法,接收控制器发送的通知消息;确定所述网络设备中所述通知消息所指示的配置数据对应的虚拟设备;若确定出的虚拟设备为主虚拟设备,则向控制器发送数据获取请求;接收所述控制器发送的配置数据;并将所述配置数据通过同步通道进行数据同步;根据所述配置数据进行配置。本实施例中,控制器可以分别向主设备和从设备下发通知消息,然后由处于主用状态的主虚拟设备从控制器中获取配置数据,由于每个虚拟设备组中主虚拟设备可以属于主设备,也可以属于从设备,因此,即使主设备或从设备发生故障时,由于主虚拟设备可能是在另一个设备中,因此主虚拟设备依然可以从控制器中获取配置数据,从而实现配置数据在堆叠设备中的正常下发,进而保证基于配置数据进行相关配置后业务的正常处理。
[0090]
可选地,基于上述实施例,本实施例中提供的配置下发方法,还可以包括下述流程:接收控制器发送的虚拟设备创建消息;根据所述创建消息,在所述网络设备中创建虚拟设备。
[0091]
具体地,当各个虚拟设备上处理的业务负担比较大时,控制器在有新业务需要虚拟设备处理时,也可以先向主设备和从设备发送虚拟设备创建消息,这样,主设备和从设备在接收到虚拟设备创建消息后,就可以分别在主设备和从设备中创建虚拟设备,而且创建的虚拟设备构成一组新的虚拟设备组。
[0092]
可选地,基于上述任一实施例,本实施例中的每个虚拟设备组包括一个主虚拟设备和一个从虚拟设备;当所述主虚拟设备属于主设备,则所述从虚拟设备属于从设备;当所述主虚拟设备属于从设备,则所述从虚拟设备属于主设备。
[0093]
可选地,基于上述任一实施例,本实施例中可以按照下述方法执行步骤s201:接收配置消息;从所述配置消息的消息体中解析出所述配置数据。
[0094]
具体地,控制器在向主设备和从设备下发配置数据时,可以将上述配置数据携带在配置消息中下发给主设备和从设备。该配置消息的格式可以参考表1所示。这样,主设备和从设备接收到配置消息中,就可以从消息体message body中解析出配置数据。
[0095]
可选地,基于上述任一实施例,本实施例中提供的配置下发方法,还可以包括下述流程:向控制器上报自身的设备运行状态及同步通道的通道状态;当所述网络设备为从设备时,若设定时间内未收到主设备发送的心跳报文,则向控制器发送查询请求;接收控制器反馈的主设备的设备运行状态;若确认所述主设备的设备运行状态为离线状态,则将从设备切换为主设备。
[0096]
至此,解决了主备切换过程中配置的下发失败的问题,从而提高了配置下发的可靠性。此外,本技术中的网络设备提供了一种以虚拟设备为单位的负载和配置同步方案,提高了网络设备资源的利用率。再者,还改善了同步通道发生故障的设备出现双主不可用的情况,通过控制器的告警机制使得故障能够得到及时的处理。
[0097]
基于同一发明构思,本技术还提供了与上述控制器侧的配置下发方法对应的配置下发装置。该配置下发装置的实施具体可以参考上述控制器对配置下发方法的描述,此处
不再一一论述。
[0098]
参见图3,图3是本技术一示例性实施例提供的一种配置下发装置,设置于控制器中,所述控制器用于向堆叠设备中的主设备和从设备下发配置,主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;所述装置包括:
[0099]
发送模块301,用于在需要下发配置时,分别向主设备和从设备发送通知消息;
[0100]
接收模块302,用于接收主虚拟设备发送的配置数据获取请求,所述主虚拟设备为对应虚拟设备组中处于主用状态的虚拟设备;
[0101]
所述发送模块301,还用于将所请求的配置数据下发给所述主虚拟设备。
[0102]
可选地,基于上述实施例,本实施例提供的配置下发装置,还可以包括:
[0103]
判断模块(图中未示出),用于按照下述方法确定需要下发配置:查询数据等待数据队列中是否有配置数据;若存在,则确定需要下发配置。
[0104]
可选地,基于上述实施例,本实施例中提供的配置下发装置,还可以包括:
[0105]
生成模块(图中未示出),用于根据所述等待数据队列中的配置数据生成配置消息,所述配置消息包括所述配置数据;
[0106]
队列处理模块(图中未示出),用于将所述配置消息写入运行消息队列中;
[0107]
在此基础上,上述发送模块301,具体用于从所述运行消息队列中读取所请求的配置消息,将所述配置消息发送给所述主虚拟设备。
[0108]
进一步地,上述队列处理模块(图中未示出),还用于若接收到针对所述配置消息中的配置数据的配置失败的配置结果,则从所述运行消息队列中读出所述配置消息,并写入到配置失败消息队列中。
[0109]
可选地,基于上述任一实施例,本实施例的接收模块302,还用于接收主设备或从设备上报的设备运行状态和主设备与从设备之间的同步通道的通道状态;接收从设备发送的查询请求;
[0110]
在此基础上,本实施例提供的配置下发装置,还可以包括:
[0111]
查询模块(图中未示出),用于根据所述查询请求查询主设备的设备运行状态及通道状态,并发送给所述从设备,以使所述从设备若确定接收到的设备运行状态为离线状态,则将从设备切换为主设备;
[0112]
输出模块(图中未示出),用于若确定所述主设备的设备运行状态为离线状态,和/或,所述同步通道的通道状态异常,则输出告警信号。
[0113]
基于同一发明构思,本技术还提供了与上述网络设备侧的配置下发方法对应的配置下发装置。该配置下发装置的实施具体可以参考上述网络设备对配置下发方法的描述,此处不再一一论述。
[0114]
参见图4,图4是本技术一示例性实施例提供的一种配置下发装置,设置于堆叠设备中的网络设备中,所述网络设备为主设备或从设备,所述主设备集成了至少一个虚拟设备,从设备集成了至少一个虚拟设备,主设备的一个虚拟设备和从设备中的一个虚拟设备构成一组虚拟设备组;所述装置,包括:
[0115]
接收模块401,用于接收控制器发送的通知消息;
[0116]
确定模块402,用于确定所述网络设备中所述通知消息所指示的配置数据对应的
虚拟设备;
[0117]
发送模块403,用于若确定出的虚拟设备为主虚拟设备,则向控制器发送数据获取请求;
[0118]
所述接收模块401,还用于接收所述控制器发送的配置数据;并将所述配置数据通过同步通道进行数据同步;
[0119]
配置模块404,用于根据所述配置数据进行配置。
[0120]
可选地,基于上述实施例,本实施例中的接收模块401,还用于接收控制器发送的虚拟设备创建消息;
[0121]
在此基础上,本实施例提供的配置下发装置,还可以包括:
[0122]
创建模块(图中未示出),用于根据所述创建消息,在所述网络设备中创建虚拟设备。
[0123]
可选地,基于上述任一实施例,本实施例中的每个虚拟设备组包括一个主虚拟设备和一个从虚拟设备;当所述主虚拟设备属于主设备,则所述从虚拟设备属于从设备;当所述主虚拟设备属于从设备,则所述从虚拟设备属于主设备。
[0124]
可选地,基于上述任一实施例,本实施例中的接收模块401,还用于接收配置消息;从所述配置消息的消息体中解析出所述配置数据。
[0125]
可选地,基于上述任一实施例,本实施例中的发送模块403,还用于向控制器上报自身的设备运行状态及同步通道的通道状态;
[0126]
在此基础之上,本实施例提供的配置下发装置,还可以包括:
[0127]
检测模块(图中未示出),用于当所述网络设备为从设备时,检测设定时间内是否接收到主设备发送的心跳报文;
[0128]
所述发送模块403,还用于若未接收到所述心跳报文,则向控制器发送查询请求;
[0129]
所述接收模块401,还用于接收控制器反馈的主设备的设备运行状态;
[0130]
切换模块(图中未示出),用于若确认所述主设备的设备运行状态为离线状态,则将从设备切换为主设备。
[0131]
基于同一发明构思,本技术实施例提供了一种电子设备,该电子设备可以但不限于为上述控制器或网络设备。如图5所示,该电子设备包括处理器501和机器可读存储介质502,机器可读存储介质502存储有能够被处理器501执行的计算机程序,处理器501被计算机程序促使执行本技术任一实施例所提供的配置下发方法。此外,该电子设备还包括通信接口503和通信总线504,其中,处理器501,通信接口503,机器可读存储介质502通过通信总线504完成相互间的通信。
[0132]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0133]
通信接口用于上述电子设备与其他设备之间的通信。
[0134]
上述机器可读存储介质502可以为存储器,该存储器可以包括随机存取存储器(random access memory,ram)、ddr sram(double data rate synchronous dynamic random access memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器
(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0135]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0136]
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0137]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0138]
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0139]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0140]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1