CN111600759A - 拓扑结构中死锁故障的定位方法和装置 - Google Patents
拓扑结构中死锁故障的定位方法和装置 Download PDFInfo
- Publication number
- CN111600759A CN111600759A CN202010445958.7A CN202010445958A CN111600759A CN 111600759 A CN111600759 A CN 111600759A CN 202010445958 A CN202010445958 A CN 202010445958A CN 111600759 A CN111600759 A CN 111600759A
- Authority
- CN
- China
- Prior art keywords
- deadlock
- network
- determining
- abnormal
- network devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0677—Localisation of faults
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种拓扑结构中死锁故障的定位方法和装置。其中,拓扑结构由m个网络设备构成,定位方法包括:响应于m个网络设备中n个网络设备发送的网络异常信息,确定n个网络设备为异常网络设备;获取n个异常网络设备各自的运行信息;以及根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备。其中,m、n均为大于等于3的整数,且m大于等于n。
Description
技术领域
本公开涉及网络技术领域,更具体地,涉及一种拓扑结构中死锁故障的定位方法和装置。
背景技术
随着金融机构IT架构转型的不断推进,及大数据、AI、分布式技术架构的不断推广应用,对金融机构数据中心内部网络提出了高带宽延迟传输的更高挑战。高带宽、低延时、低CPU资源使用率的高性能RDMA(Remote Direct Memory Access,远程直接数据存取)协议越来越多地被金融机构选择。
在实现本公开构思的过程中,发明人发现相关技术中至少存在以下问题:RDMA网络会带来新的网络风险-deadlock(死锁)。在RDMA发生死锁故障时会导致网络停流,业务不可用,从而会导致无法观察网络传输的时延数据,CPU的利用率异常等问题。相关技术中,网络异常监控无法辨别网络异常是否为RDMA死锁,往往需要熟悉RDMA技术的运维人员对死锁故障进行识别判断。这无疑会提高网络异常监控的成本,且需要对运维人员提出高要求。
发明内容
有鉴于此,本公开提供了一种能够自动识别死锁故障的拓扑结构中死锁故障的定位方法和装置,以自动定位得到存在死锁故障的网络设备。
本公开的一个方面提供了一种拓扑结构中死锁故障的定位方法,其中拓扑结构由m个网络设备构成,该处理方法包括:响应于m个网络设备中n个网络设备发送的网络异常信息,确定n个网络设备为异常网络设备;获取n个异常网络设备各自的运行信息;以及根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备。其中,其中,m、n均为大于等于3的整数,且m大于等于n。
根据本公开的实施例,上述运行信息包括日志信息和端口流量信息;上述根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备包括:确定n个异常网络设备各自的运行信息中目标指标的取值;确定目标指标的取值大于预定值的异常网络设备为备选网络设备;以及确定端口流量信息表征端口流量为零的备选网络设备为存在死锁故障的网络设备。
根据本公开的实施例,目标指标包括用于表征基于优先权的流量控制积压程度的指标;目标指标的取值与基于优先级的流量控制积压程度的严重程度正相关。
根据本公开的实施例,上述拓扑结构中死锁故障的定位方法还包括:采用网络遥测技术获取流经m个网络设备的数据包,得到p个数据包;确定p个数据包中跳数异常的数据包,得到q个目标数据包;以及根据q个目标数据包的传输路径及存在死锁故障的网络设备,确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置。其中,至少一个环路中的每个环路包括存在死锁故障的网络设备中的至少三个设备,p、q均为正整数,且p大于等于q。
根据本公开的实施例,上述根据q个目标数据包的传输路径及存在死锁故障的网络设备,确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置包括:采用预定分析器确定q个目标数据包各自传输的有向路径;根据q个目标数据包各自传输的有向路径及拓扑结构,构建数据包有向图;根据数据包有向图,确定拓扑结构中构成死锁的至少一个环路;以及根据每个环路包括的存在死锁故障的网络设备在拓扑结构中的位置,确定每个环路在拓扑结构中的位置。
根据本公开的实施例,上述拓扑结构中死锁故障的定位方法还包括:针对n个异常网络设备中除存在死锁故障的网络设备外的其他网络设备,采用第一预定处理方式处理其他网络设备所存在的异常;以及针对存在死锁故障的网络设备,采用第二预定处理方式处理死锁故障。
本公开的另一方面提供了一种拓扑结构中死锁故障的定位装置,拓扑结构由m个网络设备构成,该定位装置包括:异常设备确定模块,用于响应于m个网络设备中n个网络设备发送的网络异常信息,确定n个网络设备为异常网络设备;运行信息获取模块,用于获取n个异常网络设备各自的运行信息;以及死锁设备确定模块,用于根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备。其中,其中,m、n均为大于等于3的整数,且m大于等于n。
根据本公开的实施例,运行信息包括日志信息和端口流量信息;上述死锁设备确定模块包括:取值确定子模块,用于确定n个异常网络设备各自的运行信息中目标指标的取值;备选设备确定子模块,用于确定目标指标的取值大于预定值的异常网络设备为备选网络设备;以及故障设备确定子模块,用于确定端口流量信息表征端口流量为零的备选网络设备为存在死锁故障的网络设备。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述的拓扑结构中死锁故障的定位方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被处理器执行时用于执行如上所述的拓扑结构中死锁故障的定位方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的拓扑结构中死锁故障的定位方法。
根据本公开的实施例,至少可以部分地解决相关技术中无法识别死锁故障,从而导致网络异常监控需要人为干预、监控成本高的技术问题。本公开实施例通过获取并分析存在异常的网络设备的运行信息,可以定位得到存在死锁故障的网络设备,可以有效辨别死锁故障,从而无需要求熟悉RDMA技术的运维人员对异常进行人工识别判断,在一定程度上降低网络异常监控的成本。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了本公开实施例的拓扑结构中死锁故障的定位方法和装置的应用场景;
图2示意性示出了本公开实施例的拓扑结构中死锁故障的定位方法的流程图;
图3示意性示出了本公开实施例的根据运行信息确定n个异常网络设备中存在死锁故障的网络设备的流程图;
图4示意性示出了本公开另一实施例的拓扑结构中死锁故障的定位方法的流程图;
图5示意性示出了本公开确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置的流程图;
图6示意性示出了本公开适于执行拓扑结构中死锁故障的定位方法的系统架构的示意图;
图7示意性示出了本公开实施例的拓扑结构中死锁故障的定位装置的结构框图;
图8示意性示出了本公开实施例的死锁设备确定模块的结构框图;以及
图9示意性示出了本公开实施例的适于执行拓扑结构中死锁故障的定位方法的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种拓扑结构中死锁故障的定位方法,其中,拓扑结构由m个网络设备构成,该方法包括:响应于m个网络设备中n个网络设备发送的网络异常信息,确定n个网络设备为异常网络设备;获取n个异常网络设备各自的运行信息;以及根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备,其中,m、n均为大于等于3的整数,且m大于等于n。
图1示意性示出了根据本公开实施例的拓扑结构中死锁故障的定位方法和装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该实施例的应用场景100例如可以包括终端设备110、网络120和由m个网络设备构成的拓扑结构130。网络120用以在终端设备110和拓扑结构130中各网络设备之间提供通信链路的介质。网络120可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。其中,m为大于等于3的整数。
终端设备110可以通过网络120与拓扑结构130中的各网络设备进行交互,以接收各网络设备发送的网络异常信息,并对各网络设备的工作进行控制。
终端设备110例如可以是具有处理功能的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、服务器等等。
拓扑结构130例如可以包括多个网络设备,该多个网络设备中的每个网络设备与多个网络设备中的至少一个其他的网络设备通信连接,以进行数据包的传输。例如,在一实施例中,该拓扑结构130可以包括有第一交换机、第一服务器、第二交换机和第二服务器。第一交换机和第二交换机均与第一服务器和第二服务器通信连接。在第一服务器向第二服务器发送数据包时,该数据包可以经由第一交换机转发给第二服务器。在第二服务器向第一服务器发送数据包时,该数据包可以经由第二交换机转发给第一服务器。可以理解的是,上述拓扑结构中包括服务器和交换机仅作为示例以利于理解本公开,根据实现需要,拓扑结构还可以设置有防火墙、F5设备(用于最大限度提升链路性能与可用性的下一代广域网链路流量管理)等。
为了便于解决拓扑结构中存在的RDMA(Remote Direct Memory Access,远程直接数据存取,为了解决网络传输中服务器端数据处理的延迟而产生的)死锁故障,该终端设备110例如还可以根据网络设备发送的网络异常信息来精准的区分RDMA死锁故障与其他普通的网络异常。从而使得运维人员可以直接对RDMA死锁故障进行处理。
需要说明的是,本公开实施例的拓扑结构中死锁故障的定位方法一般可以由该终端设备执行。相应地,本公开实施例的拓扑结构中死锁故障的定位装置一般可以设置于该终端设备中。
应该理解,图1中的终端设备、网络和拓扑结构的类型仅仅是示意性的。根据实现需要,可以具有任意类型的终端设备、网络和拓扑结构。
以下将结合图2~图5对本公开实施例的拓扑结构中死锁故障的定位方法进行详细描述。
图2示意性示出了本公开实施例的拓扑结构中死锁故障的定位方法的流程图。
如图2所示,该拓扑结构中死锁故障的定位方法可以包括操作S210~操作S230。其中,拓扑结构由m个网络设备构成。其中,为了便于形成拓扑结构,并引起RDMA死锁,该m的取值例如可以至少大于3,以使得m个网络设备之间的通信能够形成闭合环路。
在操作S210,响应于m个网络设备中n个网络设备发送的网络异常信息,确定n个网络设备为异常网络设备。
根据本公开的实施例,终端设备110例如可以为网管服务器,用于对网络拓扑结构进行网络管理。拓扑结构130中的各网络设备若发生异常,例如因故障无法正常转发数据包时,会向该终端设备110发送网络异常信息。终端设备110则可以根据接收的网络异常信息,确定发送该网络异常信息的网络设备为异常网络设备。
在一实施例中,网络设备例如可以通过syslog命令将网络异常信息归置到网关服务器上。
根据本公开的实施例,n为大于3的整数,且m大于等于n。即可以是拓扑结构包括的m个网络设备中的全部网络设备发生了异常,也可以是m个网络设备中的部分网络设备发生了异常。
在操作S220,获取n个异常网络设备各自的运行信息。
根据本公开的实施例,在确定了异常网络设备后,终端设备110可以通过网络访问发送网络异常信息的网络设备,以获取异常网络设备的运行信息。在一实施例中,终端设备110例如可以通过网络远程登录异常网络设备,以查看该异常网络设备的运行日志,从而得到运行信息。
在操作S230,根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备。
根据本公开的实施例,为了确定异常网络设备是否存在死锁故障(RDMA死锁故障),该操作S230例如可以是确定运行信息中是否存在死锁故障的特征信息。例如可以根据运行信息判断异常网络设备中是否存在相互等待对方资源,在得到资源继续运行之前,不会释放自己已有资源的多个异常网络设备。若存在,则可以确定该多个异常网络设备为存在死锁故障的网络设备。
根据本公开的实施例,考虑到若拓扑结构中存在物理环路PFC(priority-basedflow control,基于优先级的流量控制)积压,则可能会导致循环依赖反压进而发生停流导致死锁。因此,可以根据运行信息中的PFC积压程度来确定网络设备是否存在死锁故障。
图3示意性示出了本公开实施例的根据运行信息确定n个异常网络设备中存在死锁故障的网络设备的流程图。
如图3所示,确定n个异常网络设备中存在死锁故障的网络设备的操作例如可以包括操作S331~操作S332。其中,运行信息包括日志信息。
在操作S331,确定n个异常网络设备各自的运行信息中目标指标的取值。
根据本公开的实施例,该目标指标包括用于表征基于优先级的流量控制积压(PFC积压)程度的指标。该目标指标的取值与PFC积压程度的严重程度正相关。即若PFC积压程度严重,则目标指标的取值较大。该目标指标及其取值可以从网络设备的运行日志中提取得到。
在操作S332,确定目标指标的取值大于预定值的异常网络设备为备选网络设备。
根据本公开的实施例,考虑到PFC积压程度达到一定程度时,存在死锁故障的可能性较大。因此,可以仅在目标指标的取值大于预定值的情况下才确定异常网络设备为存在死锁故障的备选网络设备。其中,预定值例如可以为千级或万级的取值。可以理解的是,该目标指标的取值与PFC积压程度的对应关系及预定值可以根据实际需求进行设定,本公开对此不作限定。
根据本公开的实施例,考虑到其他异常也可能会导致较严重的PFC积压,因此可以在操作S332的基础上,再从备选网络设备中挑选得到存在死锁故障的网络设备。再者,考虑到若发生死锁故障,则会导致数据包不能转发,因此端口流量为0。可以通过判断端口流量是否为零来进行进一步的挑选。
根据本公开的实施例,如图3所示,根据运行信息确定n个异常网络设备中存在死锁故障的网络设备的操作还可以包括操作S333。在操作S333,确定端口流量信息表征端口流量为零的备选网络设备为存在死锁故障的网络设备。相应地,运行信息中还应包括有端口流量信息,该端口流量信息同样可以从网络设备的运行日志中提取得到。
综上可知,本公开实施例的拓扑结构中死锁故障的定位方法可以准确区分RDMA死锁故障和其他网络异常,从而可以保证运维人员能够辨别死锁故障和其他网络异常,以便于针对性的对RDMA死锁故障进行处理。相较于相关技术中需要运维人员判断是否为RDMA死锁故障的技术方案,可以有效降低网络异常监控的成本,降低对运维人员的技术要求。
根据本公开的实施例,为了便于运维人员能够快速的对发生死锁的网络区域进行处理,在确定存在死锁故障的网络设备后,例如还可以根据网络设备之间的数据包转发规则定位得到构成死锁的网络设备环路,以该网络设备环路的位置作为发生死锁的网络区域。
图4示意性示出了本公开另一实施例的拓扑结构中死锁故障的定位方法的流程图。
如图4所示,该实施例的拓扑结构中死锁故障的定位方法除了操作S210~操作S230外,还可以包括操作S440~操作S460。该操作S440~操作S460例如可以在操作S230之后执行。
在操作S440,采用网络遥测技术获取流经m个网络设备的数据包,得到p个数据包。
根据本公开的实施例,为了便于准确确定网络设备之间数据包转发的规则,可以获取拓扑结构中所有网络设备在预定历史时段内转发的数据包,得到p个数据包。该p为正整数,考虑到每个网络设备可能转发多个数据包,因此,该p例如可以为大于m的正整数。预定历史时段例如可以是当前时刻之前的一天、或一个小时等。
根据本公开的实施例,终端设备110中例如可以安装有集成网络遥测技术的应用程序,以使得终端设备110通过网络遥测技术获取数据包。在一实施例中,该网络遥测技术例如可以为Telemetry,其可以远程的网络设备上高速地采集数据,从而采集得到数据包。
在操作S450,确定p个数据包中跳数异常的数据包,得到q个目标数据包。
根据本公开的实施例,考虑到若数据包的跳数异常,则可以说明该数据包的传输过程存在异常。该传输过程的异常可以在一定程度上反映网络设备的异常。因此,可以先从p个数据包中挑选出跳数异常的数据包。其中,q为正整数,且p大于等于q。
根据本公开的实施例,该操作S450例如可以与操作S440一并由Telemetry网络遥测技术实现。具体地,可以采用Telemetry网络遥测技术直接抓取传输过程中跳数异常的数据包,并获取到该数据包的流量路径IP。
在操作S460,根据q个目标数据包的传输路径及存在死锁故障的网络设备,确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置。
根据本公开的实施例,在确定了跳数异常的q个目标数据包后,由于转发该q个目标数据包的网络设备可能位于构成死锁的环路中。因此可以先获取该q个数据包的传输路径。然后根据传输路径,确定存在死锁故障的网络设备中能够构成环路的网络设备。其中,能够构成环路的网络设备例如可以是具有如下特征:构成环路的网络设备之间能够构成数据包传输路径的环路。例如,对于网络设备A、B、C、D,若数据包需经由A转发给B,经由B转发给C,经由C转发给D,且经由D转发给A,则可以认为该网络设备A、B、C、D能够构成环路。最后,确定构成环路的网络设备在拓扑结构中的位置为其构成的环路在拓扑结构中的位置。
根据本公开的实施例,为了构成环路,则确定的至少一个环路中的每个环路应包括存在死锁故障的网络设备中的至少三个设备。
在一实施例中,为了便于确定环路,例如还可以根据数据包的传输路径及拓扑结构形成有向图,以便捷的根据有向图来确定构成死锁的环路。
图5示意性示出了本公开确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置的流程图。
如图5所示,该确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置的操作例如可以包括操作S561~操作S564。
在操作S561,采用预定分析器确定q个目标数据包各自传输的有向路径。
根据本公开的实施例,预定分析器例如可以为FI(Fabriclnsight)分析器。该预定分析器例如可以为Telemetry中的一个插件,通过该插件可以还原q个目标数据包中每个目标数据包传输的有向路径。其中,FI分析器是基于数据中心领域构筑的网络分析器,以可以通过Telemetry方式进行数据包的实时监控,从而收集真实业务流,得到数据包传输的有向路径。
在操作S562,根据q个目标数据包各自传输的有向路径及拓扑结构,构建数据包有向图。
根据本公开的实施例,该数据包有向图例如可以先根据q个目标数据包各自传输的有向路径中包括的r个网络设备作为节点,形成数据包有向图的基本架构。然后根据该q个目标数据包的有向路径及r个网络设备之间的拓扑连接关系,有向地连接基本架构中的任意两个节点,形成基本架构中的有向边。最终形成由节点和有向边构成的数据包有向图。
在操作S563,根据数据包有向图,确定拓扑结构中构成死锁的至少一个环路。
根据本公开的实施例,该操作可以先根据数据包有向图中各个节点之间的有向边的走向,确定能够形成环路的节点,将能形成一个环路的节点作为一组节点,总共得到s组节点。然后,确定s组节点中包括的节点均存在死锁故障的t组节点。最终确定t组节点构成的环路即为拓扑结构中构成死锁的至少一个环路。其中,s和t均为正整数。
在操作S564,根据每个环路包括的存在死锁故障的网络设备在拓扑结构中的位置,确定每个环路在拓扑结构中的位置。
在确定了至少一个环路后,先确定每个环路包括的一组节点所对应的存在死锁故障的网络设备,在拓扑结构中的位置。然后将该存在死锁故障的网络设备在拓扑结构中的位置作为该每个环路在拓扑结构中的位置。
根据本公开的实施例,在确定了网络设备的异常不是由死锁造成的情况下,例如还可以对异常进行自动处理。相应地,本公开实施例的拓扑结构中死锁故障的定位方法还可以包括:针对n个异常网络设备中除存在死锁故障的网络设备外的其他网络设备,采用第一预定处理方式处理其他网络设备所存在的异常。其中,第一预定处理方式例如可以包括以下至少之一:更换拓扑结构中的硬件、将拓扑结构中存在故障的网络设备的端口隔离、停止异常业务操作等。可以理解的是,前述第一预定处理方式仅作为示例以利于理解本公开,根据实际需求,可以采用任意的处理方式来处理除死锁故障外的其他异常。
根据本公开的实施例,在确定了构成死锁的环路后,例如还可以对死锁故障进行处理。相应地,本公开实施例的拓扑结构中死锁故障的定位方法还可以包括:针对存在死锁故障的网络设备,采用第二预定处理方式处理死锁故障。其中,第二预定处理方式例如可以包括:通过网络设备自带的解死锁工具解除非持续性死锁,通过隔离死锁环路中任意一个拥塞端口来破除持续性死锁的环路等。可以理解的是,上述第二预定处理方式仅作为示例以利于理解本公开,根据实际需求,可以采用任意的处理方式来处理死锁故障。
图6示意性示出了本公开适于执行拓扑结构中死锁故障的定位方法的系统架构的示意图。
如图6所示,该适于执行拓扑结构中死锁故障的定位方法的系统架构600例如可以包括日志监控装置610、遥测数据收集装置620、数据流量分析装置630和异常流量处理装置640。其中,日志监控装置610与遥测数据收集装置620连接,遥测数据收集装置620与数据流量分析装置630连接,日志监控装置610、遥测数据收集装置620和数据流量分析装置630均与异常流量处理装置640连接。
日志监控装置610用于监控并筛选出现PFC积压的异常设备日志,以此判断哪些设备可能发生死锁。在一实施例中,该日志监控装置610例如可以用于执行图2描述的操作S210和操作S220。
遥测数据收集装置620用于通过Telemetry网络遥测技术抓取具备RDMA死锁特征的网络传输数据包中跳数异常的数据包,并获取该跳数异常的数据包的流量路径IP,结合网络拓扑形成有向图。在一实施例中,该遥测数据收集装置620例如可以用于执行图4描述的操作S440~操作S450,并执行图5描述的操作S561~操作S562。
数据流量分析装置630用于分析存在PFC积压的交换机端口流量状况,通过聚类算法将端口流量降为0的情况进行聚类统计。结合有向图定位出RDMA死锁的流量环路位置。在一实施例中,该数据流量分析装置630例如可以用于执行图3描述的操作S333及图5描述的操作S563~操作S564。
异常流量处理装置640用于集中处理RDMA死锁异常和其他网络异常。
图7示意性示出了本公开实施例的拓扑结构中死锁故障的定位装置的结构框图。
如图7所示,该实施例的拓扑结构中死锁故障的定位装置700例如可以包括异常设备确定模块710、运行信息获取模块720和死锁设备确定模块730。其中,拓扑结构由m个网路设备构成。
异常设备确定模块710用于响应于m个网络设备中n个网络设备发送的网络异常信息,确定n个网络设备为异常网络设备。其中,m、n均为大于等于3的整数,且m大于等于n。在一实施例中,该异常设备确定模块710例如可以用于执行图2描述的操作S210,在此不再赘述。
运行信息获取模块720用于获取n个异常网络设备各自的运行信息。在一实施例中,该运行信息获取模块720例如可以用于执行图2描述的操作S220,在此不再赘述。
死锁设备确定模块730用于根据运行信息,确定n个异常网络设备中存在死锁故障的网络设备。在一实施例中,该死锁设备确定模块730例如可以用于执行图2描述的操作S230,在此不再赘述。
在一实施例中,死锁设备确定模块730的框架结构如后续图8所示,在此不再赘述。
根据本公开的实施例,上述拓扑结构中死锁故障的定位装置700例如还可以包括数据包获取模块、目标数据包确定模块和环路位置确定模块。数据包获取模块用于采用网络遥测技术获取流经m个网络设备的数据包,得到p个数据包。目标数据包确定模块用于确定p个数据包中跳数异常的数据包,得到q个目标数据包。环路位置确定模块用于根据q个目标数据包的传输路径及存在死锁故障的网络设备,确定拓扑结构中构成死锁的至少一个环路在拓扑结构中的位置。其中,至少一个环路中的每个环路包括存在死锁故障的网络设备中的至少三个设备,p、q均为正整数,且p大于等于q。在一实施例中,数据包获取模块、目标数据包确定模块和环路位置确定模块例如可以分别用于执行图4描述的操作S440~操作S460,在此不再赘述。
根据本公开的实施例,上述环路位置确定模块例如可以包括路径确定子模块、有向图构建子模块、环路确定子模块和环路位置确定子模块。路径确定子模块用于采用预定分析器确定q个目标数据包各自传输的有向路径。有向图构建子模块用于根据q个目标数据包各自传输的有向路径及拓扑结构,构建数据包有向图。环路确定子模块用于根据数据包有向图,确定拓扑结构中构成死锁的至少一个环路。环路位置确定子模块用于根据每个环路包括的存在死锁故障的网络设备在拓扑结构中的位置,确定每个环路在拓扑结构中的位置。
根据本公开的实施例,上述拓扑结构中死锁故障的定位装置700例如还可以包括异常处理模块和故障处理模块。异常处理模块用于针对n个异常网络设备中除存在死锁故障的网络设备外的其他网络设备,采用第一预定处理方式处理其他网络设备所存在的异常。故障处理模块用于针对存在死锁故障的网络设备,采用第二预定处理方式处理死锁故障。
图8示意性示出了本公开实施例的死锁设备确定模块的结构框图。
如图8所示,图7中的死锁设备确定模块730例如可以包括取值确定子模块831、备选设备确定子模块832和故障设备确定子模块833。运行信息获取模块720获取的运行信息例如可以包括日志信息和端口流量信息。
取值确定子模块831用于确定n个异常网络设备各自的运行信息中目标指标的取值。在一实施例中,该取值确定子模块831例如可以用于执行图3描述的操作S331,在此不再赘述。
在一实施例中,目标指标例如可以包括用于表征基于优先级的流量控制积压程度的指标。目标指标的取值与基于优先级的流量控制积压程度的严重程度正相关。
备选设备确定子模块832用于确定目标指标的取值大于预定值的异常网络设备为备选网络设备。在一实施例中,该备选设备确定子模块832例如可以用于执行图3描述的操作S332,在此不再赘述。
故障设备确定子模块833用于确定端口流量信息表征端口流量为零的备选网络设备为存在死锁故障的网络设备。在一实施例中,该故障设备确定子模块833例如可以用于执行图3描述的操作S333,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的适于执行交易故障的处理方法的电子设备的结构框图。
如图9所示,根据本公开实施例的电子设备900包括处理器901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行各种适当的动作和处理。处理器901例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器901还可以包括用于缓存用途的板载存储器。处理器901可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 903中,存储有电子设备900操作所需的各种程序和数据。处理器901、ROM902以及RAM 903通过总线904彼此相连。处理器901通过执行ROM 902和/或RAM 903中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 902和RAM 903以外的一个或多个存储器中。处理器901也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备900还可以包括输入/输出(I/O)接口905,输入/输出(I/O)接口905也连接至总线904。电子设备900还可以包括连接至I/O接口905的以下部件中的一项或多项:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。在该计算机程序被处理器901执行时,执行本公开实施例的电子设备中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 902和/或RAM 903和/或ROM 902和RAM 903以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种拓扑结构中死锁故障的定位方法,其中,所述拓扑结构由m个网络设备构成,所述方法包括:
响应于所述m个网络设备中n个网络设备发送的网络异常信息,确定所述n个网络设备为异常网络设备;
获取n个异常网络设备各自的运行信息;以及
根据所述运行信息,确定所述n个异常网络设备中存在死锁故障的网络设备,
其中,m、n均为大于等于3的整数,且m大于等于n。
2.根据权利要求1所述的方法,其中:
所述运行信息包括日志信息和端口流量信息;
所述根据所述运行信息,确定所述n个异常网络设备中存在死锁故障的网络设备包括:
确定所述n个异常网络设备各自的运行信息中目标指标的取值;
确定所述目标指标的取值大于预定值的异常网络设备为备选网络设备;以及
确定所述端口流量信息表征端口流量为零的备选网络设备为所述存在死锁故障的网络设备。
3.根据权利要求2所述的方法,其中:
所述目标指标包括用于表征基于优先级的流量控制积压程度的指标;
所述目标指标的取值与所述基于优先级的流量控制积压程度的严重程度正相关。
4.根据权利要求1所述的方法,还包括:
采用网络遥测技术获取流经所述m个网络设备的数据包,得到p个数据包;
确定所述p个数据包中跳数异常的数据包,得到q个目标数据包;以及
根据所述q个目标数据包的传输路径及所述存在死锁故障的网络设备,确定拓扑结构中构成死锁的至少一个环路在所述拓扑结构中的位置,
其中,所述至少一个环路中的每个环路包括所述存在死锁故障的网络设备中的至少三个设备,p、q均为正整数,且p大于等于q。
5.根据权利要求4所述的方法,其中,根据所述q个目标数据包的传输路径及所述存在死锁故障的网络设备,确定拓扑结构中构成死锁的至少一个环路在所述拓扑结构中的位置包括:
采用预定分析器确定所述q个目标数据包各自传输的有向路径;
根据所述q个目标数据包各自传输的有向路径及所述拓扑结构,构建数据包有向图;
根据所述数据包有向图,确定所述拓扑结构中构成死锁的所述至少一个环路;以及
根据所述每个环路包括的所述存在死锁故障的网络设备在所述拓扑结构中的位置,确定所述每个环路在所述拓扑结构中的位置。
6.根据权利要求1所述的方法,还包括:
针对所述n个异常网络设备中除所述存在死锁故障的网络设备外的其他网络设备,采用第一预定处理方式处理所述其他网络设备所存在的异常;以及
针对所述存在死锁故障的网络设备,采用第二预定处理方式处理所述死锁故障。
7.一种拓扑结构中死锁故障的定位装置,其中,所述拓扑结构由m个网络设备构成,所述装置包括:
异常设备确定模块,用于响应于所述m个网络设备中n个网络设备发送的网络异常信息,确定所述n个网络设备为异常网络设备;
运行信息获取模块,用于获取所述n个异常网络设备各自的运行信息;以及
死锁设备确定模块,用于根据所述运行信息,确定所述n个异常网络设备中存在死锁故障的网络设备,
其中,m、n均为大于等于3的整数,且m大于等于n。
8.根据权利要求7所述的装置,其中:
所述运行信息包括日志信息和端口流量信息;
所述死锁设备确定模块包括:
取值确定子模块,用于确定所述n个异常网络设备各自的运行信息中目标指标的取值;
备选设备确定子模块,用于确定所述目标指标的取值大于预定值的异常网络设备为备选网络设备;以及
故障设备确定子模块,用于确定所述端口流量信息表征端口流量为零的备选网络设备为所述存在死锁故障的网络设备。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~6中任一项所述的拓扑结构中死锁故障的定位方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~6中任一项所述的拓扑结构中死锁故障的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445958.7A CN111600759B (zh) | 2020-05-22 | 2020-05-22 | 拓扑结构中死锁故障的定位方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010445958.7A CN111600759B (zh) | 2020-05-22 | 2020-05-22 | 拓扑结构中死锁故障的定位方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600759A true CN111600759A (zh) | 2020-08-28 |
CN111600759B CN111600759B (zh) | 2023-01-06 |
Family
ID=72181333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010445958.7A Active CN111600759B (zh) | 2020-05-22 | 2020-05-22 | 拓扑结构中死锁故障的定位方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600759B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968811A (zh) * | 2021-02-20 | 2021-06-15 | 中国工商银行股份有限公司 | 一种rdma网络的pfc异常处理方法及装置 |
CN114050964A (zh) * | 2021-11-24 | 2022-02-15 | 北京鼎兴达信息科技股份有限公司 | 基于数据网业务路径变化对网络异常进行预判的方法 |
CN114448896A (zh) * | 2022-03-10 | 2022-05-06 | 中国工商银行股份有限公司 | 一种网络优化方法和装置 |
CN114793192A (zh) * | 2022-04-22 | 2022-07-26 | 中国工商银行股份有限公司 | 故障定位方法、装置、设备、介质和程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222016A (zh) * | 2010-04-16 | 2011-10-19 | 国际商业机器公司 | 程序死锁检测方法和系统 |
CN103577379A (zh) * | 2013-10-17 | 2014-02-12 | 中国人民解放军国防科学技术大学 | 一种检测片上网络中死锁的方法 |
CN103580924A (zh) * | 2013-11-12 | 2014-02-12 | 武汉钢铁(集团)公司 | 一种故障定位方法、装置及系统 |
-
2020
- 2020-05-22 CN CN202010445958.7A patent/CN111600759B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102222016A (zh) * | 2010-04-16 | 2011-10-19 | 国际商业机器公司 | 程序死锁检测方法和系统 |
CN103577379A (zh) * | 2013-10-17 | 2014-02-12 | 中国人民解放军国防科学技术大学 | 一种检测片上网络中死锁的方法 |
CN103580924A (zh) * | 2013-11-12 | 2014-02-12 | 武汉钢铁(集团)公司 | 一种故障定位方法、装置及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112968811A (zh) * | 2021-02-20 | 2021-06-15 | 中国工商银行股份有限公司 | 一种rdma网络的pfc异常处理方法及装置 |
CN114050964A (zh) * | 2021-11-24 | 2022-02-15 | 北京鼎兴达信息科技股份有限公司 | 基于数据网业务路径变化对网络异常进行预判的方法 |
CN114050964B (zh) * | 2021-11-24 | 2024-02-23 | 北京鼎兴达信息科技股份有限公司 | 基于数据网业务路径变化对网络异常进行预判的方法 |
CN114448896A (zh) * | 2022-03-10 | 2022-05-06 | 中国工商银行股份有限公司 | 一种网络优化方法和装置 |
CN114448896B (zh) * | 2022-03-10 | 2024-01-30 | 中国工商银行股份有限公司 | 一种网络优化方法和装置 |
CN114793192A (zh) * | 2022-04-22 | 2022-07-26 | 中国工商银行股份有限公司 | 故障定位方法、装置、设备、介质和程序产品 |
CN114793192B (zh) * | 2022-04-22 | 2024-02-02 | 中国工商银行股份有限公司 | 故障定位方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111600759B (zh) | 2023-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111600759B (zh) | 拓扑结构中死锁故障的定位方法和装置 | |
US9413597B2 (en) | Method and system for providing aggregated network alarms | |
US9817742B2 (en) | Detecting hardware and software problems in remote systems | |
CN113162808B (zh) | 存储链路故障处理方法及装置、电子设备和存储介质 | |
CN111884866B (zh) | 网络优化方法、网络优化系统、计算机系统和存储介质 | |
US10708155B2 (en) | Systems and methods for managing network operations | |
CN113328885B (zh) | 网络健康度评估方法、装置、电子设备、介质和程序产品 | |
CN115038088B (zh) | 一种智能网络安全检测预警系统和方法 | |
US20210226853A1 (en) | Automated network monitoring and control | |
CN108512675B (zh) | 一种网络诊断的方法、装置、控制节点和网络节点 | |
US11252066B2 (en) | Automated network monitoring and control | |
CN111884885A (zh) | 访问信息确定方法、装置、系统、电子设备和介质 | |
Nam et al. | Virtual machine failure prediction using log analysis | |
US10044584B1 (en) | Network interface port management | |
CN114172796A (zh) | 通信网络的故障定位方法及相关装置 | |
CN110896545B (zh) | 在线计费漫游故障定位方法及相关装置、存储介质 | |
CN113254313A (zh) | 一种监控指标异常检测方法、装置、电子设备及存储介质 | |
CN111865699A (zh) | 故障识别方法、装置、计算设备和介质 | |
US11329868B2 (en) | Automated network monitoring and control | |
CN116723111B (zh) | 业务请求的处理方法、系统及电子设备 | |
US11637739B2 (en) | Direct memory access (DMA) engine for diagnostic data | |
CN113630284B (zh) | 一种消息中间件的监控方法、装置及设备 | |
CN117527353A (zh) | 日志监控方法、装置、电子设备和存储介质 | |
CN117097601A (zh) | 网络故障自动处理方法、装置、设备及存储介质 | |
CN115484629A (zh) | 一种业务状态确定方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |