一种网络链路流控异常监控方法、系统及主机总线适配器与流程

文档序号:16198699发布日期:2018-12-08 06:23阅读:201来源:国知局
一种网络链路流控异常监控方法、系统及主机总线适配器与流程

本发明涉及数据存储领域,特别涉及一种网络链路流控异常监控方法、系统及主机总线适配器。

背景技术

目前数据中心碰到最头疼的问题是应用系统慢或者不稳定,这类问题有的时候出现时间不固定,很难定位并且排除问题。当然,数据中心的网络以及系统运维团队通过厂商或者自身经验,在npm/apm(npm,networkperformancemanagement,网络性能管理,apm,applicationperformancemanagement,应用性能管理)等性能管理工具的帮助下,有时候也可以直接或者间接追踪到应用系统慢与某些sql(sql,structuredquerylanguage,结构化查询语言)数据库访问或者虚拟机访问磁盘慢有关系,但是分析后台fcsan(fcsan,fibrechannelstorageareanetwork,采用光纤通道的存储局域网络)存储性能问题并不是一个轻松的工作。

如果发现读/写性能不好那么大部分情况下是fcsan存储系统确实有问题,但如果出现异常流控的情况,导致读/写性能下降,则难以检测出来。

因此,本发明的目的在于提供一种能够对网络链路流控异常进行监控的方法。



技术实现要素:

有鉴于此,本发明的目的在于提供一种网络链路流控异常监控方法、系统及主机总线适配器,能够对网络链路流控异常进行监测。其具体方案如下:

一种网络链路流控异常监控方法,应用于fcsan存储网络,包括:

获取发送端与接收端之间的回复延迟;

判断所述回复延迟是否超过预设的延迟阈值;

如果超过,则发送流控异常信息至用户终端。

可选的,所述获取发送端与接收端之间的回复延迟之后,还包括:

将所述回复延迟保存至数据库。

可选的,所述获取发送端与接收端之间的回复延迟的过程,包括:

获取所述发送端发送至所述接收端的数据包,并记录所述数据包的发送时间;

获取所述接收端回复至所述发送端的确认信息,并记录所述确认信息的接收时间;

利用所述发送时间和所述接收时间,得到所述回复延迟。

可选的,所述利用所述发送时间和所述接收时间,得到所述回复延迟的过程,包括:

利用所述接收时间减去所述发送时间,得到所述回复延迟。

可选的,当判定所述回复延迟超过所述延迟阈值之后,还包括:

修改所述发送端和/或所述接收端的流控性能参数。

本发明还公开了一种主机总线适配器,包括:

回复延迟获取模块,用于获取发送端与接收端之间的回复延迟;

流控异常判断模块,用于判断所述回复延迟是否超过预设的延迟阈值;

异常信息发送模块,用于当所述判断模块判定所述回复延迟超过所述延迟阈值,则发送流控异常信息至用户终端。

可选的,所述回复延迟获取模块,包括:

发送时间获取单元,用于获取所述发送端发送至所述接收端的数据包,并记录所述数据包的发送时间;

接收时间获取单元,用于获取所述接收端回复至所述发送端的确认信息,并记录所述确认信息的接收时间;

回复延迟计算单元,用于利用所述发送时间和所述接收时间,得到回复延迟。

可选的,还包括:

数据保存模块,用于将所述回复延迟保存至数据库。

可选的,还包括:

流控修改模块,用于当所述流控异常判断模块判定所述回复延迟超过所述延迟阈值,修改所述发送端和/或所述接收端的流控性能参数。

本发明还公开了一种网络链路流控异常检测系统,包括主机、fc交换机、san存储系统、分光器、用户终端和如权前述的主机总线适配器;

所述主机、所述fc交换机和所述san存储系统依次相连;

所述分光器,用于获取所述主机、所述fc交换机和所述san存储系统之间通讯链路中的数据包和确认信息,并将数据包和确认信息发送至所述主机总线适配器;

所述用户终端,用于读取所述主机总线适配器中的数据。

本发明中,网络链路流控异常监控方法,应用于fcsan存储网络,包括:获取发送端与接收端之间的回复延迟;判断回复延迟是否超过预设的延迟阈值;如果超过,则发送流控异常信息至用户终端;本发明获取发送端与接收端之间的回复延迟,利用回复延迟的大小与预先设定的延迟阈值进行判断,当回复延迟超过延迟阈值,则表明回复延迟过大,因此,可以判断出发生流控异常,从而解决无法对fc链路网络流控异常进行监测的问题,且对发送端和接收端之间链路单独进行检测,能够确定出是那段链路出现问题,实现精准定位。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种网络链路流控异常监控方法流程示意图;

图2为本发明实施例提供的另一种网络链路流控异常监控方法流程示意图;

图3为本发明实施例提供的一种主机总线适配器结构示意图;

图4为本发明实施例提供的一种网络链路流控异常检测系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种网络链路流控异常监控方法,参见图1所示,应用于fcsan存储网络,该方法包括:

s11:获取发送端与接收端之间的回复延迟。

具体的,发送端需要向接收端发送数据包,发送端可以为主机端,当然也可以为fc交换机(fc,fibrechannel,光纤通道)或san存储系统(san,storageareanetwork,存储局域网络),只要作为数据包发送的设备即为发送端;为避免发送端将大量数据发送至接收端,导致接收端超出处理能力,接收端在接收到发送端发送的数据包后,需要向发送端回复一个与接收的数据包一一对应的确认信息,以告知发送端收到数据包,同时,也令发送端得知接收端已做好接收下一个数据包的准备,若发送端仍有数据包需要向接收端发送,则发送端在接收到确认信息后,再次向接收端发送数据包,同理,接收端也可以为主机端、fc交换机或san存储系统,即接收端是作为接收数据包的设备。

例如,主机需要向san存储系统发送数据包,而fc交换机作为中间接收设备,此时,主机与fc交换机,则分别为发送端和接收端,主机作为发送端向fc交换机发送数据包,fc交换机则作为接收端接收数据包,同时向主机返回确认信息。

具体的,从发送端发送数据包到接收到接收端发送的确认信息这段时间便为回复延迟;回复延迟为实时获取。

s12:判断回复延迟是否超过预设的延迟阈值;

s13:如果超过,则发送流控异常信息至用户终端。

具体的,在正常的情况下,接收端在接收到发送端发送的数据包后,在一定时间内便会回复确认信息,而当接收端在接收到过多的数据包,导致数据处理能力饱和,一时间无法接收到更多数据包时,为防止发送端继续将数据包发送至接收端,造成数据丢包,接收端将暂停向发送端回复确认信息,以阻止发送端利用确认信息继续向接收端发送数据包,此种状况即流控异常,例如,回复延迟应在5ms至60ms之间,因此,设定时间大于正常情况下回复延迟的延迟阈值,例如,延迟阈值为100ms,因此,当回复延迟超过延迟阈值,则表明回复延迟过大,接收端未能及时回复确认信息,导致发送端未能及时接收确认信息,进而无法发送下一个数据包至接收端,出现数据堵塞,发生流控异常,因此,可以生成流控异常信息发送至用户终端,以提示用户发生流控异常,流控异常信息可以为短信、邮件和/或提示音等形式。

可以理解是,如果未超过则继续监测。

可见,本发明实施例获取发送端与接收端之间的回复延迟,利用回复延迟的大小与预先设定的延迟阈值进行判断,当回复延迟超过延迟阈值,则表明回复延迟过大,因此,可以判断出发生流控异常,从而解决无法对fc链路网络流控异常进行监测的问题,且对发送端和接收端之间链路单独进行检测,能够确定出是那段链路出现问题,实现精准定位。

需要说明的是,由于应用在fcsan存储网络,存在fc交换机,因此,一台fc交换机可以对应多台主机或多台san存储系统,与此同时相应的监控每个主机或san存储系统与fc交换机之间的链路的流控状态,可以精确地监控出那台主机或san存储系统与fc交换机之间的链路发生流控异常。

本发明实施例公开了一种具体的网络链路流控异常监控方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:

s21:获取发送端发送至接收端的数据包,并记录数据包的发送时间。

具体的,发送端在发送数据包时,数据包中均记录有该数据包的发送时间,因此,通过获取到数据包后,可以通过读取其中记录的发送时间,从而得到数据包从发送端发送的发送时间。

可以理解的是,由于仅是获取数据包的发送时间,因此,在获取到数据包的发送时间后,便可删除数据包本身,节省存储空间,从而保证能够持续接收数据包,而不会发生存储空间不足的情况;当然,存储的发送时间也可以定时或在存储到一定数量后进行清理,从而保证系统能够正常运行。

s22:获取接收端回复至发送端的确认信息,并记录确认信息的接收时间。

具体的,与获取数据包的发送时间同理,在获取确认信息后,利用确认信息中的记录的接收时间,得到确认信息的接收时间。

同理,对于确认信息的存储也可以类似于数据包的存储方式,并非永久存储,而是会定时或定量清理,保证系统的长时间运行。

s23:利用发送时间和接收时间,得到回复延迟。

具体的,利用接收时间减去发送时间,得到发送时间与接收时间的时间间隔差,即,回复延迟,得到回复延迟后,用户便可以根据回复延迟的大小判断是否发生流控异常。

可以理解的是,数据包中的发送时间可以由时间戳记载;

需要说明的是,获取数据包和确认信息均为实时获取。

s24:判断回复延迟是否超过预设的延迟阈值;

s25:如果超过,则发送流控异常信息至用户终端。

进一步的,为综合统计发生流控异常的次数和频率,在得到回复延迟之后,还包括将回复延迟保存至数据库,在数据库中记录各个链路各个时间段的回复延迟,从而用户可以通过用户终端调取数据库中的数据,进行查看,统计和观察出那条链路经常性出现流控异常需要调整;当然,回复延迟保存在数据库后,也可以由系统自动通过判断历史回复延迟是否大于延迟阈值,自动统计数据库中各链路回复延迟超过延迟阈值的次数和频率,得到统计结果,保存至数据库中,用户可以通过用户终端查看统计结果。

其中,数据库可以为webserver(网页服务器)数据库。

进一步的,当判定回复延迟超过延迟阈值之后,还可以包括修改发送端和/或接收端的流控性能参数。

例如,发送端的流控性能参数buffercredit值为16,接收端的buffercredit值为8,发送端发送的数据包数量超过了接收端能够连续处理的8个数据包的数量,因此,可以将接收端的buffercredit值调整为16,或将发送端的buffercredit值调整为8,进而解决因流控出现的数据堵塞。

具体的,还可以利用数据库中的历史回复延迟和预设的用于判断历史回复延迟是否过长的延迟阈值,统计出每个链路的历史回复延迟超过延迟阈值的次数和/或频率,再利用预设的上限阈值,判断每个链路的历史回复延迟超过延迟阈值的次数是否超过上限阈值,如果超过,则可以相应的对发送端和/或接收端的流控性能参数进行调整。

相应的,本发明实施例还公开了一种主机总线适配器,参见图3所示,包括:

回复延迟获取模块11,用于获取发送端与接收端之间的回复延迟;

流控异常判断模块12,用于判断回复延迟是否超过预设的延迟阈值;

异常信息发送模块13,用于当判断模块判定回复延迟超过延迟阈值,则发送流控异常信息至用户终端。

可见,本发明实施例获取发送端与接收端之间的回复延迟,利用回复延迟的大小与预先设定的延迟阈值进行判断,当回复延迟超过延迟阈值,则表明回复延迟过大,因此,可以判断出发生流控异常,从而解决无法对fc链路网络流控异常进行监测的问题,且对发送端和接收端之间链路单独进行检测,能够确定出是那段链路出现问题,实现精准定位。

具体的,上述回复延迟获取模块11,可以具体包括发送时间获取单元、接收时间获取单元和回复延迟计算单元;

发送时间获取单元,用于获取发送端发送至接收端的数据包,并记录数据包的发送时间;

接收时间获取单元,用于获取接收端回复至发送端的确认信息,并记录确认信息的接收时间;

回复延迟计算单元,用于利用发送时间和接收时间,得到回复延迟。

具体的,上述回复延迟计算单元,可以具体用于利用接收时间减去发送时间,得到回复延迟。

本发明实施例中,还可以包括数据保存模块和流控修改模块;其中,

数据保存模块,用于将回复延迟保存至数据库。

流控修改模块,用于当流控异常判断模块判定回复延迟超过延迟阈值,修改发送端和/或接收端的流控性能参数。

此外,本发明实施例还公开了一种网络链路流控异常检测系统,参见图4所示,包括主机21、fc交换机22、san存储系统23、分光器24、用户终端25和如前述的主机21总线适配器26;

主机21、fc交换机22和san存储系统23依次相连;

分光器24,用于获取主机21、fc交换机22和san存储系统23之间通讯链路中的数据包和确认信息,并将数据包和确认信息发送至主机21总线适配器26;

用户终端25,用于读取主机21总线适配器26中的数据。

可以理解的是,分光器24也可以利用fc光纤交换机的端口镜像功能来代替,当采用fc光纤交换机的端口镜像功能时,将光纤链路的两个方向的数据分别导出到主机21总线适配器26的两个监控口的rx口即可实时获取链路中的通信数据。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

以上对本发明所提供的一种网络链路流控异常监控方法、系统及主机总线适配器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1