用于网络运维的方法、计算设备和存储介质与流程



1.本公开的实施例总体涉及网络通信技术领域,并且更具体地涉及一种用于网络运维的方法、计算设备和存储介质。


背景技术:



2.传统的运维工具通常以面向网络设备的方式运行,这类传统运维方法或者工具通常对各个网络设备单独进行配置,其在处理接入层交换机等型号简单的设备、或者在配置单一的场景下,能够获得非常良好的效果。
3.然而,随着互联网应用技术、通信技术以及数据处理技术的飞速发展,网络访问需求呈爆发式增长。日益增长的访问需求,使得数据中心的运维面临巨大挑战。在数据中心的运维场景下,网络访问关系的开通是十分重要的一环。一条访问关系的开通可能会涉及多台设备的配置修改,而对于数据中心而言每天可能要开通成百上千条访问关系。由于单个网络设备缺乏对于全局拓扑信息的感知,在访问关系的开通任务下,面向设备的运维工具就无法满足日益复杂的东西向(即数据中心内部设备之间的流量)设备自动化运维的需求。
4.综上,传统的网络运维的方式存在的不足之处在于:难以满足多设备、复杂场景下的自动化运维需求。


技术实现要素:



5.针对上述问题,本公开提供了一种用于网络运维的方法、计算设备和存储介质,能够提高网络配置效率,满足多设备、复杂场景下的自动化运维需求。
6.根据本公开的第一方面,提供了一种用于网络运维的方法,包括:响应于检索到运维需求指令,获取全网拓扑信息和访问关系信息,所述访问关系信息包括关于至少一条访问关系的访问关系信息,所述访问关系信息至少指示所述访问关系对应的访问路径中的起点和终点;基于所述访问关系信息,生成每一条访问关系的拓扑信息,一条访问关系的拓扑信息至少指示所述一条访问关系对应的访问路径以及访问路径中的所有设备的设备信息;基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务;并行执行每一条访问关系对应的配置任务;以及获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态。
7.根据本公开的第二方面,提供了一种计算设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开的第一方面的方法。
8.在本公开的第三方面中,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中计算机指令用于使计算机执行本公开的第一方面的方法。
9.在一些实施例中,并行执行每一条访问关系对应的配置任务包括:基于每一条访问关系对应的配置任务,获取每一条访问关系对应的访问路径中的每个设备对应的子配置任务;并行执行所述至少一条访问关系中的任一条访问关系的所有子配置任务。
10.在一些实施例中,获取每一条访问关系对应的访问路径中的每个设备对应的子配置任务包括:基于预先录入的任务库和设备的设备信息,调用对应于访问路径中的设备的任务模板,以便生成访问路径中的每个设备对应的子配置任务;以及所述子配置任务至少包括信息采集任务、配置备份任务和配置下发任务。
11.在一些实施例中,获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态包括:获取每一个子配置任务的执行结果;基于每一个子配置任务的执行结果,将每一个子配置任务执行结果与访问关系进行关联;基于每一个子配置任务执行结果与访问关系的关联,将同一设备执行过的所有子配置任务的执行结果进行聚合,以便基于聚合后的执行结果指示网络的配置状态。
12.在一些实施例中,用于网络运维的方法还包括:获取执行结果为失败的子配置任务对应的设备反馈的错误代码;将设备反馈的错误代码与对应的子配置任务进行关联并聚合至执行结果;以及响应于检测到设备的错误代码,根据预定错误处理规则对错误代码对应的设备重新执行子配置任务。
13.在一些实施例中,基于所述访问关系信息,生成每一条访问关系的拓扑信息包括:基于每一条访问关系信息中所包括的节点,确定每一条访问关系对应的访问路径;基于每一条访问关系对应的访问路径,确定每一条访问关系涉及的所有设备;以及获取每一条访问关系涉及的所有设备的设备信息,所述设备信息至少包括当前设备的设备型号、位置信息、接口信息、以及与其他设备的连接信息。
14.在一些实施例中,基于每一条访问关系信息中所包括的节点,确定每一条访问关系对应的访问路径包括:如果基于一条访问关系中的节点确定仅存在一条访问路径,将所述仅存在的一条访问路径确定为所述一条访问关系对应的访问路径;如果基于一条访问关系中的节点确定存在至少两条访问路径,根据预定路径确定规则,从所确定存在的至少两条访问路径中确定一条访问路径作为所述一条访问关系对应的访问路径;以及如果基于一条访问关系中的节点确定不存在访问路径,返回用于指示路径确认失败的指示信息。
15.在一些实施例中,用于网络运维的方法还包括:确定同一设备是否需要执行多个子配置任务;响应于确定同一设备需要执行多个子配置任务,按预定执行顺序规则执行同一设备的多个子配置任务。
16.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
17.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标注表示相同或相似的元素。
18.图1示出了用于实现根据本发明的实施例的用于网络运维的方法的系统的示意图。
19.图2示出了根据本公开的实施例的用于网络运维的方法200的流程图。
20.图3示出了根据本公开的实施例的用于子配置任务并行执行的方法300的流程图。
21.图4示出了根据本公开的实施例的用于配置任务执行结果指示的方法400的流程图。
22.图5示出了根据本公开的实施例的用于子配置任务重新执行的方法500的流程图。
23.图6示出了根据本公开的实施例的用于确定访问关系拓扑信息的方法600的流程图。
24.图7示出了根据本公开的实施例的用于确定访问路径的方法700的流程图。
25.图8示出了根据本公开的实施例的网络配置并发原理的示意图。
26.图9示出了根据本公开的实施例的网络配置状态指示的示意图。
27.图10示出了根据本公开的实施例的电子设备的框图。
具体实施方式
28.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
29.在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
30.如前文所描述,日益增长的访问需求使得在数据中心的运维场景下,同时会涉及多条访问关系的开通,每条访问关系的开通又可能会涉及多台设备的配置修改,传统的运维工具通常以面向网络设备的方式运行,这类传统运维方法或者工具通常对各个网络设备单独进行配置,这种配置方式导致设备缺乏对于全局拓扑信息的感知,因而在数据中心运维场景下,传统的网络运维方法难以满足多设备、复杂场景的配置需求。综上,传统的网络运维的方法的不足之处在于:难以满足多设备、复杂场景下的自动化运维需求。
31.为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本公开的示例实施例提出了一种用于网络运维的方案,在本公开方案中,通过响应于检索到运维需求指令,获取全网拓扑信息和访问关系信息,所述访问关系信息包括关于至少一条访问关系的访问关系信息,所述访问关系信息至少指示所述访问关系对应的访问路径中的起点和终点;基于所述访问关系信息,生成每一条访问关系的拓扑信息,一条访问关系的拓扑信息至少指示所述一条访问关系对应的访问路径以及访问路径中的所有设备的设备信息;基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务;并行执行每一条访问关系对应的配置任务;本公开可以根据全网的访问关系,仅通过每条访问关系对应的访问路径中的起点和终点,就可以生成每一条访问关系的拓扑信息,从而实现以访问关系为对象获取且并行执行访问关系对应的访问路径上的所有设备对应的配置任务,有效的提高了网络配置效率。另外,本公开还可以获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态;实现对配置任务执行结果的集中展示,给提高配置效率提供良好的指导。因此,本公开能够提高网络配置效率,从而满足多设备、复杂场景下的自动化运维需求。
32.图1示出了用于实现根据本发明的实施例的用于网络运维的方法的系统100的示
意图。如图1中所示,系统100包括计算设备110和访问关系信息提供设备130和网络140。计算设备110、访问关系信息提供设备130可以通过网络140(例如,因特网)进行数据交互。
33.访问关系信息提供设备130,其例如可以存储有多类不同的访问关系信息数据,例如访问关系对应的访问路径信息、访问关系对应的访问路径上的设备信息、访问关系对应的拓扑信息等;并且访问关系信息提供设备130可以根据其存储的多类不同的访问关系信息数据源生成关于访问关系信息的特定格式的数字文件,如数据表,这些访问关系信息数据源的格式不限于xls、xlsx、accdb、txt、csv、word、dat、mdf、mdb、db、dbf、wdb等可以呈现访问关系信息的数字文件和/或可以应用于访问关系信息提供设备的数字文件,访问关系信息提供设备130将以上等格式数字文件中的数据转化为特定格式,以便于对接访问关系信息提供设备130中的访问关系信息数据库,或者对接计算设备110;也可以根据实际场景的设备条件和使用需求,确定需要转化的特定格式的类型。此外,具体的数据源格式可以根据用户需要的访问关系信息进行动态调整。访问关系信息提供设备130还可以将访问关系信息提供至计算设备110。
34.关于计算设备110,其例如用于响应于检索到运维需求指令,获取全网拓扑信息和获取来自访问关系信息提供设备130的访问关系信息,所述访问关系信息包括关于至少一条访问关系的访问关系信息,所述访问关系信息至少指示所述访问关系对应的访问路径中的起点和终点;基于所述访问关系信息,生成每一条访问关系的拓扑信息,一条访问关系的拓扑信息至少指示所述一条访问关系对应的访问路径以及访问路径中的所有设备的设备信息;基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务;并行执行每一条访问关系对应的配置任务。所述计算设备110还可以获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态。计算设备110可以具有一个或多个处理单元,包括诸如gpu、fpga和asic等的专用处理单元以及诸如cpu的通用处理单元。另外,在每个计算设备110上也可以运行着一个或多个虚拟机。在一些实施例中,计算设备110与访问关系信息提供设备130可以集成在一起,也可以是彼此分立设置。在一些实施例中,计算设备110例如包括信息获取模块112、拓扑信息生成模块114、配置任务获取模块116、配置任务执行模块118、配置结果分析模块120。
35.关于信息获取模块112,其用于确认是否检索到运维需求指令;如果检索到运维需求指令,获取全网拓扑信息和访问关系信息,所述访问关系信息包括关于至少一条访问关系的访问关系信息,所述访问关系信息至少指示所述访问关系对应的访问路径中的起点和终点。
36.关于拓扑信息生成模块114,其用于基于所述访问关系信息,生成每一条访问关系的拓扑信息,一条访问关系的拓扑信息至少指示所述一条访问关系对应的访问路径以及访问路径中的所有设备的设备信息。
37.关于配置任务获取模块116,其用于基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务。
38.关于配置任务执行模块118,其用于并行执行每一条访问关系对应的配置任务。
39.关于配置结果分析模块120,其用于获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态。
40.图2示出了根据本公开的实施例的用于网络运维的方法200的流程图。图8示出了
网络配置并发原理的示意图。以下结合图2和图8对方法200进行说明。方法200可由如图1所示的计算设备110执行,也可以在图10所示的电子设备1000处执行。应当理解的是,方法200还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
41.在步骤202,如果计算设备110检索到运维需求指令,获取全网拓扑信息和访问关系信息,所述访问关系信息包括关于至少一条访问关系的访问关系信息,所述访问关系信息至少指示所述访问关系对应的访问路径中的起点和终点。
42.关于运维需求指令,其至少包括预先根据运维需求设置的定时任务指令、运维人员导入的运维需求指令、运维人员实时输入的运维需求指令;这些运维需求指令可根据网络的信息和状态,以及实际配置需求进行预先设置和调整。
43.在获取全网拓扑信息和访问关系信息之前,计算设备110可调用配置文件对全网拓扑信息数据源进行初始化,以便于将全网拓扑信息数据转化为特定的结构化格式,以便于对这些拓扑信息数据进行存储、读取、调用与处理等;与此同时,访问关系信息提供设备130也可以调用配置文件对访问关系信息数据源进行初始化,将访问关系信息数据转化为特定的结构化格式,以便于对这些访问关系信息数据的存储、读取、调用与处理等。
44.关于访问关系信息,例如可以用数据表的形式存储至少一条访问关系的访问关系信息,关于每条访问关系信息可包括对应的访问路径信息(如访问路径中的节点、节点设备信息等)、与其他访问关系之间的关联信息等;需要注意的是,一条访问关系的访问关系信息需要至少包括指示所述访问关系对应的访问路径中的起点和终点,才可能使得计算设备110根据访问关系对应的访问路径的节点信息得到所述访问关系对应的访问路径,以及对应的访问路径中全部节点的信息。
45.关于访问路径中的起点和终点,起点和终点只是一条访问路径需要至少包括的两个节点,每个节点都对应于一个设备,网络配置执行的配置任务也都针对于各个节点的设备;在数据中心场景下,访问路径通常会包含至少3个节点,起点、终点和防火墙节点。
46.关于全网拓扑信息,需要预先进行定义,如对全网中每一个设备、设备之间的关系和每种传输介质等进行定义。全网拓扑信息至少包括全网的拓扑结构、所有设备的设备信息、设备与设备之间的连接关系、传输介质、数据传输线路信息和配置任务筛选条件、执行条件信息等。
47.在步骤204,计算设备110基于所述访问关系信息,生成每一条访问关系的拓扑信息,一条访问关系的拓扑信息至少指示所述一条访问关系对应的访问路径以及访问路径中的所有设备的设备信息。
48.关于一条访问关系的拓扑信息,还可以包括:所述一条访问关系对应的访问路径中的所有传输介质、连接线路信息、节点位置信息、以及每个设备的配置任务筛选条件、执行条件信息等。
49.关于设备信息,至少可以包括当前设备的设备型号、位置信息、接口信息、以及与其他设备的连接信息和关联关系等。
50.关于基于所述访问关系信息,生成每一条访问关系的拓扑信息,例如,请参考图8,获取到的访问关系信息a中包含了访问关系a1,访问关系a2,访问关系a3这三条访问关系,分别生成访问关系a1的拓扑关系p1,访问关系a2的拓扑关系p2,访问关系a3的拓扑关系p3;
上述方案实现了基于访问关系的并发,以便于对网络设备实现基于访问关系的并发配置。
51.在步骤206,计算设备110基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务。
52.关于配置任务,其可以是预先根据各个设备的情况和需求录入的,一条访问关系对应的配置任务至少包括告知该访问关系对应的访问路径上的各设备分别需要执行的操作,执行的操作都可以是自定义的,只需要知道对应设备的地址信息就可以将触发设备进行操作的配置任务发送给这些设备。需要执行的操作至少包括执行一些筛选条件,如筛选多台设备的最短路径、路径是否包含某个设备、判断两台设备是否连接、返回连接两台设备的路径信息等。
53.在步骤208,计算设备110并行执行每一条访问关系对应的配置任务。
54.关于获取一条访问关系对应的配置任务,并行执行一条访问关系对应的配置任务,例如,请参考图8,基于拓扑关系p1、p2和p3分别生成对应于访问关系a1、a2和a3的配置任务t
a1
,配置任务t
a2
,配置任务t
a3
,并行执行访问关系a1-a3对应的配置任务t
a1
、t
a2
和t
a3
;上述方案实现了对运维需求涉及的各设备以访问关系为对象对每条访问关系对应的访问路径上的设备进行并行配置,而非单独的以单个设备为单位进行配置,极大的提高了设备之间的关联性,使得配置的兼容性更好,且配置效率更高。
55.在步骤210,计算设备110获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态。
56.关于执行结果,一条访问关系对应的配置任务的执行结果,包括所述一条访问关系对应的访问路径上每个节点的设备的配置状态,如配置成功、配置失败、当前配置状态等。
57.在上述方案中,可以针对访问关系信息,能够仅通过每条访问关系对应的访问路径中的起点和终点,就可以生成每一条访问关系的拓扑信息,并获取每条访问关系对应访问路径上的所有节点设备的信息,从而实现以访问关系为对象进行网络配置,有效的提高了网络配置效率。此外,还可以获取所有配置任务的执行结果,以便对执行结果进行聚合从而实现对网络的配置状态的指示;能够给运维人员提供良好的指导。因此,本公开实施例提供的用于网络运维的方法200能够提高网络配置效率,从而满足多设备、复杂场景下的自动化运维需求。
58.图3示出了根据本公开的实施例的用于子配置任务并行执行的方法300的流程图。以下将结合图3和图8对方法进行说明。方法300可由如图1所示的计算设备110执行,也可以在图10所示的电子设备1000处执行。应当理解的是,方法300还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
59.在步骤302,计算设备110基于每一条访问关系对应的配置任务,获取每一条访问关系对应的访问路径中的每个设备对应的子配置任务。
60.关于子配置任务,请参考图8,例如获取到的访问关系信息a中包含了访问关系a1,访问关系a2,访问关系a3这三条访问关系,根据这三条访问关系的拓扑信息p1-p3分别生成了配置任务t
a1
、配置任务t
a2
、配置任务t
a3
;其中,访问关系a1对应的访问路径中的节点设备有z0、z1、z2和z3,根据访问关系a1分别生成设备z0-z3关于访问关系a1的子配置任务,例如生成子配置任务t
a1-z0
、t
a1-z1
、t
a1-z2
和t
a1-z3
;访问关系a2对应的访问路径中的节点设备有z1、
z3和z5,根据访问关系a2分别生成设备z1、z3和z5关于访问关系a2的子配置任务;访问关系a3对应的访问路径中的节点设备有z0、z3、z4、z5和z6,根据访问关系a3分别生成设备z0、z3 z4、z5和z6关于访问关系a3的子配置任务;需要注意的是,同一设备可能会涉及多个访问关系,即不同的访问路径中可能包含同一个设备,如在上述访问路径a1、a2和a3都包含节点设备z3;因此,针对同一设备可能会有多个子配置任务。
61.在步骤304,计算设备110并行执行所述至少一条访问关系中的任一条访问关系的所有子配置任务。
62.关于并行执行任一条访问关系的所有子配置任务,请参考图8,例如,在上述访问关系信息a中,并行执行访问关系a1,访问关系a2和访问关系a3对应的配置任务t
a1
,配置任务t
a2
,配置任务t
a3
;而这些配置任务又分别有多个子配置任务;例如,并行执行访问关系a1、a2和a3中的所有子配置任务,即并行执行设备z0、z1、z2、z3、z4、z5和z6的所有子配置任务;上述方法实现了子配置任务的并发生成,以及子配置任务的并发执行。
63.在步骤306,计算设备110确定同一设备是否需要执行多个子配置任务。
64.例如,请参考图8,设备z3同时涉及a1、a2和a3三条访问关系,因此设备z3同时是访问关系a1、a2和a3对应的三条访问路径上的节点,关于设备z3就会生成3个子配置任务。当每个节点设备都只有一个子配置任务时,所有的子配置任务在实际执行过程中都可以完成并行执行;然而当同一节点设备有多个子配置任务时,在实际配置的过程中,同一个设备可能无法同时进行多个配置任务的执行,此时就需要确定同一设备是否要执行多个子配置任务,以及配置任务的实际执行过程中同一设备的多个子配置任务的执行顺序。
65.在步骤308,如果计算设备110确定同一设备需要执行多个子配置任务,按预定执行顺序规则执行同一设备的多个子配置任务。
66.在步骤310,如果计算设备110确定同一设备不需要执行多个子配置任务,则并行执行子配置任务。
67.关于预定的顺序规则,例如可以是按同一设备实际接收到子配置任务的时间,先到先执行;也可以是根据访问关系之间的关联顺序,例如访问关系a1、a2和a3关于同一节点设备任务的执行顺序规则,执行的优先级是a1>a2>a3;可以根据实际场景下运维任务需求,预先对同一节点处理多个子配置任务的顺序规则进行确定。
68.在一些实施例中,计算设备110还可以基于预先录入的任务库和设备的设备信息,调用对应于访问路径中的设备的任务模板,以便生成访问路径中的每个设备对应的子配置任务;以及
69.所述子配置任务至少包括信息采集任务、配置备份任务和配置下发任务。
70.关于任务模板,访问路径中可能会涉及多个节点,每个节点设备的型号、生产商等信息可能都不相同,这就导致不同的节点设备兼容的配置任务文件格式不同;关于预先录入的任务库,任务库中至少包括任务的模板、节点类型和/或节点设备对应的任务参数等信息,能够实现多台设备的自动化差异配置,从而提高配置效率。
71.上述方案实现了运维需求任务的并发,首先根据访问关系信息,并行获取每一条访问关系的访问关系信息;然后基于全网拓扑信息,以访问关系为对象,根据每条访问关系的访问关系信息并行生成各访问关系的拓扑关系;基于每个访问关系的拓扑关系并行生成各访问关系对应的配置任务;之后基于访问路径节点信息,以访问关系对应的访问路径上
的所有节点设备为对象,并行生成每一条访问关系中的所有节点设备的子配置任务;最后,并行执行至少一条访问关系中的任一条访问关系的子配置任务;上述用于网络运维的方法在基于访问关系信息进行配置任务生成的各个环节中,分别以访问关系以及访问关系对应的路径中的节点设备为对象进行了多次并发,极大的提高了网络配置的效率,并且能够考虑到需要进行配置的设备之间的关联性,从而使得在应对网络运维需求时,实现高效高质量的网络配置。
72.图4示出了根据本公开的实施例的用于配置任务执行结果指示的方法400的流程图,图9示出了根据本公开的实施例的网络配置状态指示的示意图,下文结合图4、图8和图9对方法400进行说明。方法400可由如图1所示的计算设备110执行,也可以在图10所示的电子设备1000处执行。应当理解的是,方法400还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
73.在步骤402,计算设备110获取每一个子配置任务的执行结果。
74.例如,请参考图8和图9,获取访问关系a1、a2和a3的所有子配置任务的执行结果。
75.在步骤404,计算设备110基于每一个子配置任务的执行结果,将每一个子配置任务执行结果与访问关系进行关联。
76.在步骤406,计算设备110基于每一个子配置任务执行结果与访问关系的关联,将同一设备执行过的所有子配置任务的执行结果进行聚合,以便基于聚合后的执行结果指示网络的配置状态。
77.关于每一个子配置任务执行结果与访问关系进行关联、以及将同一设备执行过的所有子配置任务的执行结果进行聚合,例如,请参考图9,在图9中,以上述图8中示意的访问关系a1、a2和a3对应的配置任务执行结果为例,以节点设备为集合,将配置任务执行结果与访问关系相关联,展现出各个子配置任务的执行结果,实现对网络配置状态的指示;如设备z0,关于访问关系a1——配置成功,关于访问关系a2——配置失败;应当注意的是,图9中只示意了对应于访问关系a1、a2和a3的部分节点设备的子配置任务执行结果,也仅指示了一种执行结果与访问关系的关联方式,实际使用过程中也可以采用其他方式进行结果关联与配置状态指示,也可以采用其他的聚合方式对子配置任务的执行结果进行聚合。
78.上述方案能够将配置任务执行的情况与进行配置的设备,以及访问关系多方进行关联,清晰的指示出每个设备在各个访问关系中的配置结果,以便于运维人员能够获知配置任务执行的情况、各设备、各访问路径的配置情况。
79.图5示出了根据本公开的实施例的用于子配置任务重新执行的方法500的流程图。方法500可由如图1所示的计算设备110执行,也可以在图10所示的电子设备1000处执行。应当理解的是,方法500还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
80.在步骤502,计算设备110获取执行结果为失败的子配置任务对应的设备反馈的错误代码。
81.在步骤504,计算设备110将设备反馈的错误代码与对应的子配置任务进行关联并聚合至执行结果。
82.关于错误代码,例如,图9中设备z0关于访问关系3的子配置任务“访问关系a3——配置失败”,其错误代码为“xxxz0a3xxx”,该错误代码用于指示设备z0的配置失败的原因。
83.在步骤506,计算设备110确定是否检测到设备的错误代码。如果计算设备110未检测到设备的错误代码,调转至步骤502。
84.在步骤508,如果计算设备110检测到设备的错误代码,根据预定错误处理规则对错误代码对应的设备重新执行子配置任务。
85.关于预定错误处理规则,可以根据各个错误代码对应的错误原因,预先录入各种错误代码的处理规则,以便于计算设备110响应于错误代码对发生错误的节点设备自动调试,或者根据错误代码调试配置参数自动生成新的子配置任务,实现对配置失败的节点设备进行子配置任务的重新执行。
86.通过上述方案能够实现获取子配置任务发生失败的节点设备的错误原因,便于及时调试后对失败的子配置任务进行重新执行,提高配置效率。
87.图6示出了根据本公开的实施例的用于确定访问关系拓扑信息的方法600的流程图。方法600可由如图1所示的计算设备110执行,也可以在图10所示的电子设备1000处执行。应当理解的是,方法600还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
88.在步骤602,计算设备110基于每一条访问关系信息中所包括的节点,确定每一条访问关系对应的访问路径。
89.关于每一条访问关系信息中所包括的节点,至少包括节点的编号、或者节点设备的编号,以便于获取节点设备的设备信息;例如,访问关系a1的访问关系信息包括节点z0和z3,访问关系a3的访问关系信息包括节点z0、z5和z6。需要注意的是,通常至少需要包括访问关系对应的访问路径的起点和终点,才能确定一条访问路径,当然也可以包括更多的节点。
90.在步骤604,计算设备110基于每一条访问关系对应的访问路径,确定每一条访问关系涉及的所有设备。
91.在确定访问路径后,能够获得访问路径的所有节点,因此确定一条访问路径后就可以确定对应于所述一条访问路径的访问关系涉及的所有设备;例如,确定访问路径“z0

z1

z2

z3”,就可以确定访问关系a1涉及的所有设备为“z0、z1、z2和z3”这四个设备。
92.步骤606,计算设备110获取每一条访问关系涉及的所有设备的设备信息,所述设备信息至少包括当前设备的设备型号、位置信息、接口信息、以及与其他设备的连接信息。
93.关于与其他设备的连接信息,至少包括设备之间的连接关系、具体的连接方式、连接的接口信息、传输介质信息;需要注意的是,这里的与其他设备的连接信息不限于连接全网中的设备,也可以是连接到外部网络的设备。
94.关于传输线路,当内网拓扑边缘的设备需要连接外部设备时,通常会使用到外部的传输介质,如外部线路;对此,本方案提供了一个额外的专线信息,以便于在进行全网拓扑初始化时外部线路与其他内部的设备及线路进行区分;由此,当配置任务失败时,错误原因在于外部专线时,显然内网运维是无法解决这些问题的,只能对此告警提示,以便于运维人员提醒外部网络专线的运营商解决相关的问题。
95.例如,专线信息的存储可以通过数据表的形式进行,其可以包括专线编号、专线运营商、vlan号、专线类型、专线带宽、本端名称、本端专线端口、本端专线端口地址、对端名称、对端专线端口地址等信息;其中,专线编号、专线运营商、vlan编号、专线类型、专线带宽
为必选项,以“本端”和“对端”开头的标题会被初始化为一个中心和一个分支的专线一端的类,其中专线一端的名称、专线端口地址为必填项、可以根据实际情况扩充专线接口等信息;可以通过配置任务对外部线路进行筛选和判断,如根据关键字段、线路编号、判断是否有冲突的vlan号、判断冲突ip等。
96.上述方案能够针对每条访问关系信息中包括的路径节点,确定每条访问关系对应的完整的访问路径,以及获取所有节点设备的设备信息,并且提供了外部线路的单独管理与处理,以便于运维人员及时确认配置失败的原因,将非内部原因导致的问题及时排除,提高运维效率。
97.图7示出了根据本公开的实施例的用于确定访问路径的方法700的流程图。方法700可由如图1所示的计算设备110执行,也可以在图10所示的电子设备1000处执行。应当理解的是,方法700还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的范围在此方面不受限制。
98.在步骤702,计算设备110用于基于一条访问关系中的节点确定存在的访问路径数量。
99.在步骤704,如果基于一条访问关系中的节点,计算设备110确定仅存在一条访问路径,将所述仅存在的一条访问路径确定为所述一条访问关系对应的访问路径。
100.在步骤706,如果基于一条访问关系中的节点,计算设备110确定存在至少两条访问路径,根据预定路径确定规则,从所确定存在的至少两条访问路径中确定一条访问路径作为所述一条访问关系对应的访问路径。
101.关于预定路径确定规则,可以根据需求预先录入关于当一条访问关系存在至少两条访问路径时,如何确定访问路径的规则,例如可以设置节点的优先级规则,选择路径中节点优先级高的路径确定为访问路径;节点的优先级可以根据如网络状态、设备硬件状态、节点关联关系、访问关系类型等因素来确定或者调整,也可以根据子配置任务的执行成功率来对节点优先级进行动态调整;上述节点优先级规则都可以设置于拓扑信息中。
102.在步骤708,如果基于一条访问关系中的节点,计算设备110确定不存在访问路径,返回用于指示路径确认失败的指示信息。
103.关于当确定不存在访问路径时,也可以返回告警信息,以提示运维人员访问路径不存在,需要对访问关系信息进行调整,这种情况可能是访问关系信息中提供的节点信息出现问题,比如数量太少、关键节点缺失等原因,导致不存在路径。
104.通过上述方案,能够对访问关系信息中路径节点信息并不完整的访问关系进行路径节点的补全,从而得到其对应的完整的访问路径,获得访问路径上所有的节点,以及所有节点所在设备的信息,并且对于不存在访问路径的访问关系信息,能够及时反馈,提示运维人员访问关系出现的问题,提高运维效率。
105.上述方案可以通过一些数据库和运维管理工具来实现,结合图8,例如通过access数据库、设置task配置任务模块、controller控制器结合运维工具的方式来实现,具体实现方式可以是:通过调用配置文件如initcontroller函数对全网拓扑信息进行初始化、具体的如初始化路径信息、设备信息、专线信息等,初始化后返回包含上述全网拓扑信息的controller对象;通过access对象存储访问关系信息,通过调用如load_access函数初始化access对象,access对象可以是一个类list对象,每个access对象是一个访问关系,在每个
访问关系进行初始化时即对全网拓扑信息的controller对象进行筛选分别生成每个访问关系对应的全网拓扑信息;通过task配置任务模块根据每个访问关系的全网拓扑关系,调用任务函数生成每个访问关系的配置任务,以及对应的访问路径中各设备的子配置任务;在进行配置时,可以通过同处于同一访问路径中,前节点输出的数据包与后节点输入的数据包是否一致来确定配置是否正确,例如,参考图8中示意的访问关系a2,涉及节点z1、z3和z5,其访问路径为“z1

z3

z5”,经过z1节点后输出的数据包和输入z3节点的数据包相同,经过z3节点后输出的数据包和输入z5节点的数据包相同,可以通过核验数据包的相似度来确认某条访问关系中的某个设备是否配置成功;关于进行配置任务中会遇到的数据包信息,可预先录入对应的访问关系信息中。
106.最后,返回所有的配置任务执行结果。应当知晓的是,在实际执行本公开提供的运维方法时候,可以根据实际的全网数据库状态、设备型号、系统类型等因素确定用于部署运维方法200-700的数据库、运维工具、插件等。
107.图10示出了可以用来实施本公开内容的实施例的示例电子设备1000的示意性步骤图。例如,如图1所示的计算设备110可以由电子设备1000来实施。如图所示,电子设备1000包括中央处理单元(cpu)1001,其可以根据存储在只读存储器(rom)1002中的计算机程序指令或者从存储单元1008加载到随机存取存储器(ram)1003中的计算机程序指令,来执行各种适当的动作和处理。在随机存取存储器1003中,还可存储电子设备1000操作所需的各种程序和数据。中央处理单元1001、只读存储器1002以及随机存取存储器1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
108.电子设备1000中的多个部件连接至输入/输出接口1005,包括:输入单元1006,例如键盘、鼠标、麦克风等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
109.上文所描述的各个过程和处理,例如方法200至700,可由中央处理单元1001执行。例如,在一些实施例中,方法200至700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由只读存储器1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序被加载到随机存取存储器1003并由中央处理单元1001执行时,可以执行上文描述的方法200至700的一个或多个动作。
110.本公开涉及方法、装置、系统、电子设备、计算机可读存储介质和/或计算机程序产品。计算机程序产品可以包括用于执行本公开的各个方面的计算机可读程序指令。
111.计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算
机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
112.这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘计算设备。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
113.用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
114.这里参照根据本公开实施例的方法、装置(系统)和计算机程序产品的流程图和/或步骤图描述了本公开的各个方面。应当理解,流程图和/或步骤图的每个方步骤以及流程图和/或步骤图中各方步骤的组合,都可以由计算机可读程序指令实现。
115.这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或步骤图中的一个或多个方步骤中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或步骤图中的一个或多个方步骤中规定的功能/动作的各个方面的指令。
116.也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或步骤图中的一个或多个方步骤中规定的功能/动作。
117.附图中的流程图和步骤图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或步骤图中的每个方步骤可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方步骤中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方步骤实际上可以基本并
行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,步骤图和/或流程图中的每个方步骤、以及步骤图和/或流程图中的方步骤的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
118.以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

技术特征:


1.一种用于网络运维的方法,包括:响应于检索到运维需求指令,获取全网拓扑信息和访问关系信息,所述访问关系信息包括关于至少一条访问关系的访问关系信息,所述访问关系信息至少指示所述访问关系对应的访问路径中的起点和终点;基于所述访问关系信息,生成每一条访问关系的拓扑信息,一条访问关系的拓扑信息至少指示所述一条访问关系对应的访问路径以及访问路径中的所有设备的设备信息;基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务;并行执行每一条访问关系对应的配置任务;以及获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态。2.根据权利要求1所述的方法,其中并行执行每一条访问关系对应的配置任务包括:基于每一条访问关系对应的配置任务,获取每一条访问关系对应的访问路径中的每个设备对应的子配置任务;并行执行所述至少一条访问关系中的任一条访问关系的所有子配置任务。3.根据权利要求2所述的方法,其中获取每一条访问关系对应的访问路径中的每个设备对应的子配置任务包括:基于预先录入的任务库和设备的设备信息,调用对应于访问路径中的设备的任务模板,以便生成访问路径中的每个设备对应的子配置任务;以及所述子配置任务至少包括信息采集任务、配置备份任务和配置下发任务。4.根据权利要求2所述的方法,其中获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态包括:获取每一个子配置任务的执行结果;基于每一个子配置任务的执行结果,将每一个子配置任务执行结果与访问关系进行关联;基于每一个子配置任务执行结果与访问关系的关联,将同一设备执行过的所有子配置任务的执行结果进行聚合,以便基于聚合后的执行结果指示网络的配置状态。5.根据权利要求4所述的方法,还包括:获取执行结果为失败的子配置任务对应的设备反馈的错误代码;将设备反馈的错误代码与对应的子配置任务进行关联并聚合至执行结果;以及响应于检测到设备的错误代码,根据预定错误处理规则对错误代码对应的设备重新执行子配置任务。6.根据权利要求1所述的方法,其中基于所述访问关系信息,生成每一条访问关系的拓扑信息包括:基于每一条访问关系信息中所包括的节点,确定每一条访问关系对应的访问路径;基于每一条访问关系对应的访问路径,确定每一条访问关系涉及的所有设备;以及获取每一条访问关系涉及的所有设备的设备信息,所述设备信息至少包括当前设备的设备型号、位置信息、接口信息、以及与其他设备的连接信息。7.根据权利要求6所述的方法,其中基于每一条访问关系信息中所包括的节点,确定每一条访问关系对应的访问路径包括:
如果基于一条访问关系中的节点确定仅存在一条访问路径,将所述仅存在的一条访问路径确定为所述一条访问关系对应的访问路径;如果基于一条访问关系中的节点确定存在至少两条访问路径,根据预定路径确定规则,从所确定存在的至少两条访问路径中确定一条访问路径作为所述一条访问关系对应的访问路径;以及如果基于一条访问关系中的节点确定不存在访问路径,返回用于指示路径确认失败的指示信息。8.根据权利要求2所述的方法,还包括:确定同一设备是否需要执行多个子配置任务;响应于确定同一设备需要执行多个子配置任务,按预定执行顺序规则执行同一设备的多个子配置任务。9.一种计算设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。

技术总结


本公开的实施例涉及一种用于网络运维的方法、计算设备和存储介质。该方法包括响应于检索到运维需求指令,获取全网拓扑信息和访问关系信息;访问关系信息包括关于至少一条访问关系的访问关系信息且至少指示访问关系对应的访问路径中起点和终点;基于访问关系信息,生成每一条访问关系的拓扑信息;一条拓扑信息至少指示一条访问关系对应的访问路径及路径中所有设备的设备信息;基于每一条访问关系的拓扑信息,获取每一条访问关系对应的配置任务;并行执行每一条访问关系对应的配置任务;获取所有配置任务的执行结果,以便对执行结果进行聚合以用于指示网络的配置状态。由此,本公开能够提高网络配置效率,满足多设备、复杂场景下的自动化运维需求。场景下的自动化运维需求。场景下的自动化运维需求。


技术研发人员:

王永韬

受保护的技术使用者:

中国建设银行股份有限公司上海市分行

技术研发日:

2022.10.27

技术公布日:

2023/2/23

本文发布于:2024-09-22 23:14:56,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/55981.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:关系   设备   信息   路径
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议