本申请涉及通信技术领域,尤其涉及一种链路异常检测方法和装置。
背景技术:
随着网络的发展以及网络规模的扩大,越来越多的企业、学校、政府等机构开始注重网络的安全性与可靠性,而当接入运营商网络的链路处于异常状态时,网络的安全性与可靠性都会受到影响。因此,如何及时、准确地检测链路异常成为急需解决的难题。
技术实现要素:
有鉴于此,本申请提供一种链路异常检测方法和装置,以解决相关技术中链路异常检测的及时性、准确性低下的问题。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请提供一种链路异常检测方法,所述方法包括:
在预设的统计周期内,对通过某一链路传输的指定类型的会话数进行统计;
对获取到的所述会话数的统计值进行平均,并检测所述统计值的平均值是否大于最大阈值;
当所述平均值大于所述最大阈值时,确定所述链路异常。
第二方面,本申请提供一种链路异常检测装置,所述装置包括:
第一统计单元,用于在预设的统计周期内,对通过某一链路传输的指定类型的会话数进行统计;
平均单元,用于对获取到的所述会话数的统计值进行平均;
第一检测单元,用于检测所述统计值的平均值是否大于最大阈值;当所述平均值大于所述最大阈值时,确定所述链路异常。
分析上述技术方案可知,链路负载均衡设备可以实时统计通过某一链路传输的会话数,并根据一段时间内该会话数的平均值是否大于最大阈值检测该链路是否处于异常状态。与相关技术相比,本申请链路负载均衡设备针对链路异常的检测结果不具备偶然性和特殊性,出现误判的可能性较小,从而提高了链路异常检测的准确性,同时链路异常检测的及时性也得以提升。另外,由于本申请技术方案与相关技术方案互不影响,因此可以同时采用这两种技术方案,以进一步提高链路异常检测的及时性与准确性。
附图说明
图1是本申请一示例性实施例示出的一种链路异常检测方法的组网图;
图2是本申请一示例性实施例示出的另一种链路异常检测方法的流程图;
图3是本申请一示例性实施例示出的一种链路阈值确定方法的流程图;
图4是本申请一示例性实施例示出的一种链路异常检测装置所在设备的硬件结构图;
图5是本申请一示例性实施例示出的一种链路异常检测装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
相关技术中,可以配置一个或多个用于检测链路异常的IP地址,并基于同一链路定时发送目的地址为所述IP地址的检测报文。根据所述检测报文的响应报文,可以检测出该链路是否处于异常状态,例如:如果所述响应报文的延时大于阈值,则可以确定该链路异常。然而,通过预设IP地址进行抽样检测,检测结果的偶然性较大,可能导致误判。此外,在检测链路异常时可以采用的通信协议有限,例如:可以采用ICMP(Internet Control Message Protocol,互联网控制报文协议)或TCP(Transmission Control Protocol,传输控制协议)进行检测,而无法采用UDP(User Datagram Protocol,用户数据报协议)进行检测,检测结果的全面性较差,也可能导致误判。
参考图1,为本申请一示例性实施例示出的一种链路异常检测方法的流程图,该方法可以应用于链路负载均衡设备,所述链路负载均衡设备可以是防火墙、服务器等网络设备。该方法可以包括以下步骤:
步骤101:在预设的统计周期内,对通过某一链路传输的指定类型的会话数进行统计。
在本实施例中,链路负载均衡设备可以在预先设置的统计周期内,对通过某一链路传输的指定类型的会话数进行统计。通常,链路异常可能导致通过该链路传输的并发会话数或新建会话数异常,因此可以将所述指定类型设置为并发和新建,即可分别对并发会话数和新建会话数进行统计。具体地,针对并发会话数,链路负载均衡设备可以在该统计周期内,基于预设的采样周期对通过所述链路传输的并发会话数进行采样统计;针对新建会话数,链路负载均衡设备可以在该统计周期内,统计通过所述链路传输的新建会话数。所述统计周期和采样周期均可以是用户预设的数值,也可以是默认的缺省值,本申请不作特殊限制。
举例来说,假设用户预先将统计周期设置为3秒,并将采样周期设置为1秒。在0至3秒这一统计周期内,针对并发会话数,链路负载均衡设备可以分别在1秒、2秒、3秒这三个时间点对通过该链路传输的并发会话数进行采样统计,采用这样的方式,可以统计到的三个统计值。而针对新建会话数,链路负载均衡设备可以在0至3秒这一时间段内统计通过该链路传输的新建会话数,采用这样的方式,可以统计到一个统计值;或者,链路负载均衡设备可以分别在0秒至1秒、1秒至2秒、2秒至3秒这三个时间段内统计通过该链路传输的新建会话数,采用这样的方式,也可以统计到三个统计值,这三个统计值分别与1秒、2秒、3秒这三个时间点对应。
在本步骤中,并发会话数与新建会话数的统计周期通常是相同的。然而,在一个可选的实施例中,用户也可以根据自身需要,为通过该链路传输的并发会话数和新建会话数设置不同的统计周期。例如,如果用户认为导致并发会话数异常的故障比导致新建会话数异常的故障更为严重、急需处理,则可以为所述并发会话数设置相对较小的统计周期,为所述新建会话数设置相对较大的统计周期,从而使链路负载均衡设备更为及时地检测出并发会话数异常。
步骤102:对获取到的所述会话数的统计值进行平均,并检测所述统计值的平均值是否大于最大阈值。
在本实施例中,针对一个统计周期,若统计到多个统计值,则可能会出现在某个时间点或某几个时间点对应的会话数突增,之后的时间点对应的会话数又恢复正常的情况。针对这个情况,链路负载均衡设备可以将在前述步骤101中获取到的所述并发会话数或新建会话数的统计值进行平均,以减少会话数突发异常对链路异常检测的影响。
具体地,针对并发会话数,链路负载均衡设备可以先将获取到的所有统计值相加,再用相加得到的和除以所有统计值的个数,即可得到在本次统计周期内所述并发会话数的平均值。针对所述新建会话数,如果在本次统计周期内只获取到一个统计值,则链路负载均衡设备可以用该统计值除以统计周期,即可得到在本次统计周期内所述新建会话数的平均值,此时作为除数的统计周期的计量单位与新建会话数对应的最大阈值的计量单位相同,例如:新建会话数对应的最大阈值为12万/秒,则作为除数的统计周期以秒为计量单位;如果在本次统计周期内获取到多个统计值,则与并发会话数类似,链路负载均衡设备可以用获取到的所有统计值之和除以其个数,即可得到在本次统计周期内所述新建会话数的平均值。
举例来说,假设链路负载均衡设备在1秒、2秒、3秒时记录的通过该链路传输的并发会话数分别为10万、15万、14万,则在0至3秒这一统计周期内,所述并发会话数的平均值为13万。假设链路负载均衡设备在3秒时记录的通过该链路传输的新建会话数为33万,则在0至3秒这一统计周期内,所述新建会话数的平均值为11万。假设链路负载均衡设备在1秒、2秒、3秒时记录的通过该链路传输的新建会话数分别为9万、11万、13万,则在0至3秒这一统计周期内,所述新建会话数的平均值为11万。
链路异常通常伴随有半开连接数突增现象,例如:当采用接口捆绑的方式将两条500M带宽的链路捆绑为一条1G带宽的链路使用时,如果捆绑接口中的某一接口出现故障,则会导致该链路的带宽下降为500M。此时,以TCP连接为例,若通过该链路发送大量用于建立TCP连接的请求报文,则由于带宽不足,可能无法接收到所有响应报文,若没有接收到响应报文,则无法建立TCP连接,这种尚未建立的TCP连接即为TCP半开连接。此时,链路负载均衡设备统计到的通过该链路传输的并发会话数和新建会话数也会突增。链路负载均衡设备在计算出所述并发会话数的平均值后,可以检测该平均值是否大于并发会话数对应的最大阈值;在计算出所述新建会话数的平均值后,可以检测该平均值是否大于新建会话数对应的最大阈值。
步骤103:当所述平均值大于所述最大阈值时,确定所述链路异常。
在本实施例中,基于前述步骤102的检测结果,当出现以下两种情况中至少一种时,链路负载均衡设备可以确定所述链路异常。其中一种情况为:通过该链路传输的并发会话数的平均值大于并发会话数对应的最大阈值。另一种情况为:通过该链路传输的新建会话数的平均值大于新建会话数对应的最大阈值。
在本步骤中,若通过该链路传输的并发会话数的平均值小于等于并发会话数对应的最大阈值,且通过该链路传输的新建会话数的平均值小于等于新建会话数对应的最大阈值,则链路负载均衡设备可以确定所述链路正常。
举例来说,假设用户预先将该链路并发会话数对应的最大阈值设置为10万,新建会话数对应的最大阈值设置为12万,则当链路负载均衡设备检测到通过该链路传输的并发会话数的平均值为13万,大于10万时,虽然此时通过该链路传输的新建会话数的平均值为11万,小于12万,链路负载均衡设备也可以确定该链路异常。
在一个可选的实施例中,结合前述步骤103,链路负载均衡设备在确定某一链路异常后,可以基于用户预先配置的告警规则,针对该链路进行告警。具体地,链路负载均衡设备可以采用邮件、短信等方式针对该链路进行告警。同时,链路负载均衡设备可以将通过该链路传输的会话分配至其他正常链路进行传输,以降低该链路异常对用户业务运行的影响。
由上述实施例可见,链路负载均衡设备可以实时统计通过某一链路传输的会话数,并根据一段时间内该会话数的平均值是否大于最大阈值检测该链路是否处于异常状态。与相关技术相比,本申请链路负载均衡设备针对链路异常的检测结果不具备偶然性和特殊性,出现误判的可能性较小,从而提高了链路异常检测的准确性,同时链路异常检测的及时性也得以提升。另外,由于本申请技术方案与相关技术方案互不影响,因此可以同时采用这两种技术方案,以进一步提高链路异常检测的及时性与准确性。
在用户业务运行的高峰期,理论上通过每条链路传输的会话数都应该较大。如果通过某一链路传输的会话数过小,则该链路也可能处于异常状态,导致该链路异常的原因可能包括链路负载均衡出现问题等。为了提高链路异常检测的准确性,在一个可选的实施例中,链路负载均衡设备还可以检测通过某一链路传输的指定类型的会话数是否小于最小阈值。参考图2,基于图1所示的实施例,所述链路异常检测方法可以进一步包括以下步骤:
步骤201:检测所述平均值是否小于最小阈值。
在本实施例中,参考前述步骤101至102,链路负载均衡设备可以计算出通过该链路传输的并发会话数的平均值和新建会话数的平均值。链路负载均衡设备在计算出所述并发会话数的平均值后,可以检测该平均值是否小于并发会话数对应的最小阈值;在计算出所述新建会话数的平均值后,可以检测该平均值是否小于新建会话数对应的最小阈值。
步骤202:当所述平均值小于所述最小阈值时,确定所述链路异常。
在本实施例中,基于前述步骤201的检测结果,当出现以下两种情况中至少一种时,链路负载均衡设备可以确定所述链路异常。其中一种情况为:通过该链路传输的并发会话数的平均值小于并发会话数对应的最小阈值。另一种情况为:通过该链路传输的新建会话数的平均值小于新建会话数对应的最小阈值。
在本步骤中,若通过该链路传输的并发会话数的平均值大于等于并发会话数对应的最小阈值,且通过该链路传输的新建会话数的平均值大于等于新建会话数对应的最小阈值,则链路负载均衡设备可以确定所述链路正常。
在本实施例中,链路负载均衡设备可以在计算出所述并发会话数或新建会话数的平均值后,既检测所述平均值是否大于对应的最大阈值,又检测所述平均值是否小于对应的最小阈值,这两个检测步骤之间没有明确的时序关系,可以同时执行。当任一类型的会话数的平均值大于对应的最大阈值,或者任一类型的会话数的平均值小于对应的最小阈值时,链路负载均衡设备均可以确定所述链路异常。而当各类型的会话数的平均值均大于等于对应的最小阈值,且均小于等于对应的最大阈值时,链路负载均衡设备可以确定所述链路正常。换言之,当新建会话数的平均值大于等于对应的最小阈值,小于等于对应的最大阈值,且并发会话数的平均值大于等于对应的最小阈值,小于等于对应的最大阈值时,才可确定链路正常。
需要说明的是,会话数过小的链路异常情况通常出现在用户业务运行的高峰期,而当在非高峰期检测到通过某一链路传输的指定类型的会话数小于最小阈值时,如果确认该链路异常,则可能会导致误判。例如,当链路负载均衡设备尚未为该链路分配会话时,通过该链路传输的并发会话数与新建会话数均为0,如果针对该链路设置有大于0的最小阈值,则链路负载均衡设备可以检测出该链路异常,属于误判。因此本申请可以由用户根据用户业务的实际运行状况,为该链路的最小阈值设置生效时间段。然而,会话数过大的链路异常情况既可能出现在高峰期,也可能出现在非高峰期,因此通常将该链路的最大阈值设置为持续生效。在另一个例子中,也可为最小阈值设置较小的生效时长,而为最大阈值设置较大的生效时长,可以避免非高峰期出现会话数过小的误判,提高链路异常检测的准确性。
结合前述处理流程可见,链路负载均衡设备在针对某一链路进行链路异常检测时,通常要先确定作为检测基准的最大阈值和最小阈值,采用一大一小两个阈值可以进一步提高链路异常检测的准确性,有效避免误判。
参考图3,为本申请一示例性实施例示出的一种链路阈值确定方法的流程图,该方法可以应用于链路负载均衡设备,包括以下步骤:
步骤301:在预设的第三统计周期内,对通过所述链路传输的指定类型的会话数进行统计。
在本实施例中,参考前述步骤101,链路负载均衡设备可以在预设的第三统计周期内,对通过所述链路传输的并发会话数或新建会话数进行统计。所述第三统计周期通常设置在执行本申请提供的链路异常检测方法之前,例如:在链路负载均衡设备部署完成后首次上电时,用户可以为链路负载均衡设备设置第三统计周期,以确定最大阈值和最小阈值,用于后续的链路异常检测。
步骤302:基于所述会话数的统计值生成会话数趋势数据并展示给用户。
在本实施例中,链路负载均衡设备在前述步骤301中获取到所述并发会话数的统计值后,可以基于这些统计值生成并发会话数趋势数据,例如:并发会话数折线统计图。同理,链路负载均衡设备可以基于所述新建会话数的统计值生成新建会话数趋势数据。链路负载均衡设备可以将该趋势数据展示给用户。
举例来说,假设用户预先将第三统计周期设置为3秒,并将采样周期设置为1秒。在0至3秒这一统计周期内,链路负载均衡设备分别在0秒至1秒、1秒至2秒、2秒至3秒这三个时间段内统计通过该链路传输的新建会话数的总和,而在1秒、2秒、3秒这三个时间点记录的统计值分别为10万、11万、12万。则链路负载均衡设备可以取横轴为时间,纵轴为新建会话数,利用在三个时间点记录的三个统计值生成新建会话数折线统计图,并将该折线统计图展示给用户以供用户参考。
在一个可选的实施例中,链路负载均衡设备还可以基于预设的阈值生成算法,生成最大阈值的参考值以及最小阈值的参考值,并将所述参考值展示给用户。举例来说,链路负载均衡设备在前述步骤301中获取到所述并发会话数的统计值后,可以将所有统计值按照从大到小的顺序排列,并选取排在第二至六位的五个统计值,取这五个统计值的平均值作为并发会话数对应的最大阈值的参考值。用户可以参考该参考值设置该链路的并发会话数对应的最大阈值。
步骤303:保存用户输入的最大阈值和/或最小阈值。
在本实施例中,用户可以参考会话数趋势数据,并结合自身经验确定该链路的最大阈值和最小阈值。用户可通过设置页面输入各个链路的最大阈值和最小阈值,链路负载均衡设备可以保存该最大阈值和最小阈值,以用于后续链路异常的检测。
在另一个例子中,链路负载均衡设备也可自行确定该链路的最大阈值和最小阈值,例如:可将生成的最大阈值的参考值设置为该链路的最大阈值。然而,在这样的实现方式中,如果在所述第三统计周期内链路出现异常,则可能会导致链路负载均衡设备确定的最大阈值不够准确,后续无法准确地检测出链路异常。因此,本申请允许用户自行设置某一链路的最大阈值和最小阈值。另外,用户还可以根据用户业务的实际运行状况,适当增大所述最大阈值或减小所述最小阈值,以提高该链路的容错范围,减少突发状况造成的误判,提高链路异常检测的准确性。
与前述链路异常检测方法的实施例相对应,本申请还提供了链路异常检测装置的实施例。
本申请链路异常检测装置的实施例可以应用在链路负载均衡设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在链路负载均衡设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请链路异常检测装置所在链路负载均衡设备的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的链路负载均衡设备通常根据该链路异常检测的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图5,为本申请一示例性实施例示出的一种链路异常检测装置的框图,该装置500可以应用于图4所示的链路负载均衡设备,包括:
第一统计单元501,用于在预设的统计周期内,对通过某一链路传输的指定类型的会话数进行统计;
平均单元502,用于对获取到的所述会话数的统计值进行平均;
第一检测单元503,用于检测所述统计值的平均值是否大于最大阈值;当所述平均值大于所述最大阈值时,确定所述链路异常。
在一个可选的实施例中,所述装置还可以包括:
第二检测单元504,用于检测所述平均值是否小于最小阈值;当所述平均值小于所述最小阈值时,确定所述链路异常;其中最小阈值的生效时长小于最大阈值的生效时长。
在一个可选的实施例中,所述装置还可以包括:
第二统计单元505,用于在预设的第三统计周期内,对通过所述链路传输的指定类型的会话数进行统计;
展示单元506,用于基于所述会话数的统计值生成会话数趋势数据并展示给用户;
保存单元507,用于保存用户输入的最大阈值和/或最小阈值。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。