CN102325163B - 一种路由更新方法、装置及相关设备 - Google Patents
一种路由更新方法、装置及相关设备 Download PDFInfo
- Publication number
- CN102325163B CN102325163B CN201110200671.9A CN201110200671A CN102325163B CN 102325163 B CN102325163 B CN 102325163B CN 201110200671 A CN201110200671 A CN 201110200671A CN 102325163 B CN102325163 B CN 102325163B
- Authority
- CN
- China
- Prior art keywords
- port
- sas
- sas equipment
- equipment
- routing iinformation
- 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.)
- Expired - Fee Related
Links
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路由更新方法、装置及相关设备,用以在SAS网络中,防止Broadcast原语在传输过程中丢失,保证整个SAS网络拓扑信息一致,提高SAS网络的可靠性。其中,所述路由更新方法,包括:第一SAS设备针对自身的每一个端口执行:按照预设的周期查询与该端口连接的第二SAS设备的路由信息;并在确定出当前周期查询到的路由信息中包括至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;当第一SAS设备确定出自身存在至少一个端口路由信息不匹配时,根据自身的设备类型,进行路由信息的更新。
Description
技术领域
本发明涉及存储网络技术领域,尤其涉及一种路由更新方法、装置及相关设备。
背景技术
SAS(Serial Attached Small Computer System Interface,串行小型计算机系统接口)网络主要用于建立一个存储网络,SAS网络中的终端节点一般是安装了SAS适配器的主机设备和SAS终端设备,为了便于描述,将安装了SAS适配器的主机设备称为SAS适配器,SAS终端设备包括SAS硬盘和SATA硬盘。如图1所示,为存储网络的一种结构示意图,SAS适配器与SAS硬盘通常不是直接连接在一起,而是通过扩展器(Expander)连接。当SAS适配器与SAS终端设备通过Expander连接在一起的情况下,当硬盘插入或拔出时,最先感知该事件变化的是与之相连的Expander(插入时,SAS终端设备通过主动发送SAS标准定义的ID Address帧向与其直连的Expander通告自己的SAS地址,从而使得Expander获得对应SAS设备的ID;拔出时Expander通过电气信号可以获得SAS设备移除的事件),当Expander感知到该变化事件后将向所有的、与之相连的Expander上发送广播报文(Broadcast原语),通告与该Expander相连的设备(可能是终端设备,也可能是Expander),而下一级Expander收到该广播事件后同样在其所有端口(除了接收到该广播的端口)上广播该事件,推而广之,最终所有的终端设备都将接收到网络设备发生改变的事件。继而对于关心该事件的SAS适配器将发起对整个网络的遍历,最终获得最新的网络拓扑状态,这样,SAS适配器根据获得的网络拓扑状态,将接收到的数据转发给相应的SAS硬盘或者SATA硬盘。
上述过程称为设备发现,由上述描述可知,通过设备发现使得整个SAS网络中的设备看到的拓扑信息是一致的;另外,通过设备发现,使得Expander能够将自身发现的直连路由通告给与之互联的Expander(进而到整个SAS网络),使得所有的Expander能够建立正确的路由,并将数据转发到正确的目的。
但是,按照现有的协议,由于Expander通告给其它设备(可能是Expander,也可能是终端设备)的Broadcast原语,无需接收方设备发送应答确认,因此,在某些条件下(例如误码等),Broadcast原语在传输过程丢失,导致相关的Expander无法建立正确的路由,使得整个SAS网络中的设备看到的拓扑信息不一致,最终影响了SAS网络的可靠性。
发明内容
本发明实施例提供一种路由更新方法、装置及相关设备,用以在SAS网络中,防止Broadcast原语在传输过程中丢失,保证整个SAS网络拓扑信息一致,提高SAS网络的可靠性。
本发明实施例提供一种路由更新方法,包括:
第一串行小型计算机系统接口SAS设备针对自身的每一个端口执行:
按照预设的周期查询与该端口连接的第二SAS设备的路由信息;
并在确定出当前周期查询到的路由信息中包括至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
当第一SAS设备确定出自身存在至少一个端口路由信息不匹配且为终端设备时,根据当前周期的路由信息更新本地存储的上一周期的路由信息;
当第一SAS设备确定出自身存在至少一个端口路由信息不匹配且为扩展器时,向自身中处于连接状态的端口发送广播Broadcast原语,指示与所述处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息;
其中,在第一SAS设备按照预设的周期查询与该端口连接的第二SAS设备的路由信息之前,还包括:
所述第一SAS设备确认与该端口连接的第二SAS设备能够接收到自身发送的标识地址帧,并且,所述第一SAS设备确认与该端口连接的第二SAS设备能够接收到自身发送的标识地址帧,具体包括:
所述第一SAS设备向与该端口连接的第二SAS设备发送标识地址帧;并
触发超时定时器;
若所述第一SAS设备在预设的所述超时定时器的定时时间到达之前,接收到与该端口连接的第二SAS设备发送的标识地址帧,则与所述第二SAS设备建立连接;
若建立连接成功,或者建立连接异常且返回的异常信息为除指定类型信息以外的异常信息时,所述第一SAS设备确认所述第二SAS设备能够接收到自身发送的标识地址帧;
若建立连接异常,且返回的异常信息为指定类型信息时,所述第一SAS设备确认所述第二SAS设备不能够接收到自身发送的标识地址帧。
本发明实施例提供一种路由更新装置,包括:
查询单元,用于针对本装置的每一个端口,按照预设的周期查询与该端口连接的串行小型计算机系统接口SAS设备的路由信息;
第一确定单元,用于在确定当前周期查询到的路由信息中包括的至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
更新单元,包括第一更新子单元和第二更新子单元,所述第一更新子单元,用于在确定出本装置存在至少一个端口路由信息不匹配且为终端设备时,根据当前周期的路由信息更新本地存储的上一周期的路由信息;所述第二更新子单元,用于在确定出本装置存在至少一个端口路由信息不匹配且为扩展器时,向自身中处于连接状态的端口发送广播Broadcast原语,指示与所述处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息;
其中,所述装置,还包括:
确认单元,用于在按照预设的周期查询与该端口连接的SAS设备的路由信息之前,确认与该端口连接的SAS设备能够接收到所述装置发送的标识地址帧;
并且,所述确认单元,包括:
发送子单元,用于向与该端口连接的SAS设备发送标识地址帧;
触发子单元,用于在所述发送子单元向与该端口连接的SAS设备发送标识地址帧时,触发超时定时器;
连接子单元,用于在预设的所述超时定时器的定时时间到达之前,接收到与该端口连接的SAS设备发送的标识地址帧时,与所述SAS设备建立连接;
第一确认子单元,用于在所述连接子单元建立连接成功,或者建立连接异常且返回指定类型信息以外的异常信息时,确认与该端口连接的SAS设备能够接收到自身发送的标识地址帧;
第二确认子单元,用于在所述连接子单元建立连接异常且返回的异常信息为指定类型信息时,确认与该端口连接的SAS设备不能够接收到自身发送的标识地址帧。
本发明实施例提供一种小型计算机系统接口设备,包括上述路由更新装置。
本发明实施例提供的路由更新方法、装置及相关设备,第一SAS设备按照预设的周期,针对自身包含的每一端口,查询与该端口连接的第二SAS设备的路由信息,若在当前周期查询到的路由信息中的任一表项不存在于上一周期查询到的路由信息中时,则判定该端口路由信息不匹配,依次类推,对自身的每一个端口进行查询,若自身至少存在一个端口路由信息不匹配时,第一SAS设备根据自身的设备类型,进行路由信息的更新。由于,第一SAS设备定时对与自身的各个端口连接的第二SAS设备的路由信息进行查询,并根据查询结果进行更新,这样,即使第二SAS设备发送Broadcast原语丢失,也能够保证第一SAS可以根据定时查询的结果对相关路由信息进行更新,从而保证了整个SAS网络中拓扑信息的一致,提高了SAS网络的可靠性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1为现有技术中,SAS网络的结构示意图;
图2a为本发明实施例中,第一SAS设备在查询完自身的所有端口之后,进行的实施流程示意图;
图2b为本发明实施例中,第一SAS设备确定某一端口路由信息不匹配时,进行路由更新的实施流程示意图;
图3为本发明实施例中,第一SAS设备设备确认第二SAS设备设备能够接收到自身发送的标识地址帧的实施流程示意图;
图4为本发明实施例中,第一SAS设备启动路由查询功能的实施流程示意图;
图5为本发明实施例中,第一SAS设备在当前周期内执行路由查询的实施流程示意图;
图6为本发明实施例中,第一SAS设备根据查询结果进行路由信息更新的实施流程示意图;
图7为本发明实施例中,本发明实施例提供的路由更新装置的结构示意图。
具体实施方式
为了在SAS网络中,防止Broadcast原语在传输过程中丢失,达到保证整个SAS网络拓扑信息一致,提高SAS网络的可靠性的目的,本发明实施例提供了一种路由更新方法、装置及相关设备。
以下结合说明书附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
本发明实施例提供的路由更新方法,包括以下步骤:
步骤1、第一SAS(串行小型计算机系统接口)设备针对自身的每一个端口进行路由查询;
具体的,第一SAS设备按照如下过程对自身任一端口进行路由查询:
步骤11、第一SAS设备按照预设的周期查询与该端口连接的第二SAS设备的路由信息;
步骤12、第一SAS设备在确定出当前周期查询到的路由信息中包括至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
步骤2、当第一SAS设备确定出自身存在至少一个端口路由信息不匹配时,根据自身的设备类型,进行路由信息的更新。
具体实施中,第一SAS设备可以对在查询完自身所有的端口之后,执行步骤2,或者可以针对自身的每一个端口,在判断出该端口路由信息不匹配之后,即执行步骤2。以下针对上述两种情况,分别进行说明。
实施例一
如图2a所示,为第一SAS设备在查询完自身的所有端口之后,进行路由更新的实施流程示意图,可以包括如下步骤:
S201、第一SAS设备选择一个未进行路由信息查询的端口;
S202、第一SAS设备针对当前选择的端口,按照预设的周期查询与该端口连接的第二SAS设备的路由信息;
S203、在确定出当前周期的查询到的路由信息中包括的至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
S204、第一SAS设备判断是否完成对自身中的所有端口的查询,如果是,执行步骤S205,如果否,执行步骤S201;
S205、当第一SAS设备确定出自身存在至少一个端口路由信息不匹配时,根据自身的设备类型,进行路由信息的更新。
实施例二
如图2b所示,为第一SAS设备确定某一端口路由信息不匹配时,进行路由更新的实施流程示意图,包括如下步骤:
S211、第一SAS设备选择一个未进行路由信息查询的端口;
S212、第一SAS设备针对当前选择的端口,按照预设的周期查询与该端口连接的第二SAS设备的路由信息;
S213、在确定出当前周期的查询到的路由信息中包括的至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
S214、第一SAS设备根据自身的设备类型,进行路由信息的更新。
为了便于描述,以下各实施例中,均以第一SAS设备查询完自身所有的端口之后,进行路由更新操作为例进行说明。
实施例三
具体实施中,在第一SAS设备按照预设的周期查询与该端口连接的第二SAS设备的路由信息之前,还可以包括:
第一SAS设备设备确认与该端口连接的第二SAS设备设备能够接收到自身发送的标识地址帧。
具体的,如图3所示,为第一SAS设备设备确认第二SAS设备能够接收到自身发送的标识地址帧的实施流程示意图,可以包括如下步骤:
S301、第一SAS设备向第二SAS设备发送标识地址(ID Address)帧,并触发超时定时器;
具体的,第一SAS设备可以为终端设备或者扩展器,第二SAS设备只能为扩展器。需要说明的是,本发明实施例中,当第一SAS设备为终端设备时,可以但不限于为SAS适配器,SAS硬盘和SATA硬盘。当SAS网中加入新的终端设备时,该终端设备与扩展器之间交互彼此的ID Address帧,同时,双方均触发自身的超时定时器,超时定时器的超时时间可以根据实际需要进行设置,例如,可以设置为2S。
S302、第一SAS设备在超时定时器的超时时间到达之前,接收到第二SAS设备发送的ID Address帧;
具体实施中,在接收到第二SAS设备发送的ID Adress帧之后,第一SAS设备即能够获得第二SAS设备的地址信息。
S303、第一SAS设备判断自身是否触发了超时定时器,如果是,执行步骤S304,如果否,执行步骤S305;
S304、关闭超时定时器;
S305、根据接收到的ID Address与第二SAS设备建立通信连接;
具体的,第一SAS设备可以通过SAS管理协议(SMP,SAS ManagementProtocol)中的Open Address(连接地址)帧与第二SAS设备建立连接。在SAS网络中,SMP协议主要承担管理功能,可以用于查询设备信息、扩展器的路由信息等。
S306、判断第一SAS设备与第二SAS设备建立连接是否成功,如果否,执行步骤S307,如果是,执行步骤S310;
S307、第一SAS设备判断返回的建立连接异常信息是否为指定类型信息,如果是,执行步骤S309,如果否,执行步骤S308;
具体的,指定类型的建立连接异常信息可以为以下三种异常信息中的任一种:目的地址故障(Bad Destination)、目的地址错误(Wrong Destination)以及目的地址不存在(No Destination)。
S308、根据返回的建立连接异常信息进行处理,并执行步骤S310;
具体的,若返回的连接异常信息不为上述指定类型信息中的一种,则说明第二SAS设备已经能够正常处理第一SAS设备发送的连接请求,即第二SAS设备已经能够接收到第一SAS设备发送的ID Address帧,但是由于第二SAS设备自身的一些原因,使得连接异常,此时,按照现有标准中对相应的连接异常信息的处理方法进行处理。
S309、第一SAS设备进行复位操作,并执行步骤S310;
若返回的连接异常信息为上述指定类型信息中的一种,则说明第一SAS设备与第二SAS设备无法建立通信连接,且原因为第二SAS设备不能够接收到第一SAS设备发送的ID Address帧。这时,需要进行连理的复位操作,即触发第一SAS设备与第二SAS设备重新交互彼此的ID Address的流程。
S310、流程结束。
如果第一SAS设备与第二SAS设备之间能够建立通信连接,或者,第SAS与第二SAS设备之间不能够建立通信连接,但是返回的异常信息为指定类型信息以外的其它类型的异常信息,则说明第二SAS设备已经能够接收到自身发送的ID Address帧。
具体实施中,若第一SAS设备在超时定时器的超时时间到达后,未接收到第二SAS设备发送的ID Address帧时,第一SAS设备也需要进行复位操作。
实施例四
在确认了第一SAS设备与第二SAS设备之间的ID Address帧交互正常后,第一SAS设备进入路由查询的流程。由于终端设备不支持路由查询功能,在执行路由查询之前,第一SAS设备需要根据接收到的ID Address帧,确认第二SAS设备为扩展器。
在确认了第二SAS设备为扩展器之后,第一SAS设备可以根据SMP协议中的Report General Function(综合能力查询)功能,查询第二SAS设备的路由信息等相关信息。
具体的,第一SAS设备可以获得第二SAS设备是否启用了自配置功能,若第二SAS设备启用了自配置功能,即可确定第二SAS设备的所有路由信息为SAS设备之间相互学习获得,避免了用户自配置引入的判读错误的问题。具体实施中,本发明实施例提供的路由查询方法,适用于第二SAS设备为支持自配置功能的扩展器。
如图4所示,为本发明实施例中,第一SAS设备启动路由查询功能的实施流程示意图,包括如下步骤:
S401、针对自身的任一端口,第一SAS设备判断与该端口连接的第二SAS设备是否为终端设备,如果是,执行步骤S407,如果否,执行步骤S402;
具体的,第一SAS设备通过与该端口连接的第二SAS设备交互的IDAddress帧,判断与该端口连接的第二SAS设备是否为终端设备。
S402、第一SAS设备通过该端口与第二SAS设备建立通信连接;
S403、第一SAS设备通过该端口向第二SAS设备发送路由查询请求消息;
具体的,第一SAS设备通过该端口向第二SAS设备发送Report GeneralFunction请求消息;
S404、第一SAS设备通过该端口接收第二SAS设备的响应消息;
S405、第一SAS设备判断第二SAS设备是否支持自配置功能,如果是,执行步骤S406,如果否,执行步骤S407;
具体的,第一SAS设备根据接收到的响应消息判断第二SAS设备是否支持自配置功能。
S406、第一SAS设备标识该端口支持路由查询,并执行步骤S408;
具体的,第一SAS设备可以针对自身的每一个端口,设置该端口是否支持路由查询的标识位,如果确定该端口支持路由查询,则将对应的标识位置为1,如果确定该端口不支持路由查询,则将对应的标识位置为0。
S407、第一SAS设备标识该端口不支持路由查询,并执行步骤S411;
S408、第一SAS设备设置该端口的第一次查询状态为真;
具体的,第一SAS设备可以为自身的每一个端口设置第一次查询状态,初始化时,第一SAS设备将与第二SAS设备连接的端口的第一次查询状态置为真(True),第一次查询之后,将各端口的第一次查询状态置为假(False)。
S409、第一SAS设备判断自身是否启动周期性路由查询功能,如果是,执行步骤S411,如果否,执行步骤S410;
S410、启动周期性路由查询功能;
S411、流程结束。
实施例五
如图5所示,为步骤S201中,第一SAS设备在当前周期内执行路由查询的实施流程示意图,包括如下步骤:
S501、判断是否完成对自身所包含的所有端口的路由查询,如果否,执行步骤S502、如果是,执行步骤S509;
S502、选择一个未执行路由查询的端口;
S503、判断该端口是否支持路由查询,如果是,执行步骤S504,如果否,执行步骤S501;
S504、通过该端口与第二SAS设备建立通信连接;
S505、通过该端口向第二SAS设备发送路由查询消息;
具体的,第一SAS设备通过该端口向第二SAS设备发送Report RouteInformation Function(路由信息查询)消息,查询与该端口连接的第二SAS设备的路由信息。
S506、判断该端口的第一次查询状态是否为真,如果是,执行步骤S507,如果否,执行步骤S508;
S507、将该端口的第一次查询状态置为假,并记录当前查询到的路由信息,且设置当前记录的路由信息状态为有效,并执行步骤501;
具体的,由于第一SAS设备第一次查询与该端口连接的第二SAS设备的路由信息,因此,第一SAS设备只需要记录本次查询到的路由信息即可,同时,将当前记录的该端口的路由信息状态设置为有效。
S508、记录当前查询到的路由信息作为当前周期该端口的路由信息,并设置当前周期的路由信息状态为有效;
S509、流程结束。
具体实施中,第一SAS设备将当前周期查询到的与该端口连接的第二SAS设备的路由信息,与上一周期查询到的与端口连接的第二SAS设备的路由信息进行比较,据此来判断与该端口连接的第二SAS设备的路由信息是否发生变化。
具体的,针对当前周期查询到的路由信息中的每一表项,判断该表项是否存在于上一周期查询到的路由信息中,如果当前周期查询到的路由信息中的每一表项,均存在于上一周期查询到的路由信息中,则判定与该端口连接的第二SAS设备在当前周期的路由信息与上一周期的路由信息匹配;如果当前周期查询到的路由信息中的任一表项,未存在于上一周期查询到的路由信息中,则判定与该端口连接的第二SAS设备在当前周期的路由信息与上一周期的路由信息不匹配,为了便于描述,当与该端口连接的第二SAS设备在当前周期的路由信息与上一周期的路由信息不匹配时,本发明实施例中称之为该端口的路由信息不匹配。对于第一SAS设备来说,在确定出自身存在至少一个端口的路由信息不匹配时,第一SAS设备根据自身的设备类型,进行路由信息的更新。
具体实施中,设备类型可以包括终端设备类型和扩展器类型,若第一SAS设备为终端设备时,根据当前周期的路由信息更新本地存储的上一周期的路由信息;若第一SAS设备为扩展器时,向自身处于连接状态的端口发送Broadcast原语,指示这些与处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息。具体的,当第一SAS设备中,存在一个端口路由信息不匹配时,向自身包含的端口中,除路由信息不匹配的端口以外的、处于连接状态的端口,发送Broadcast原语,指示这些与处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息;当第一SAS设备中,存在至少两个端口路由信息不匹配时,向自身包含的端口中,所有处于连接状态的端口发送Broadcast原语,指示这些与处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息。其中,Broadcast原语为SAS原语的一种,SAS原语是SAS通信过程中的一种基本单位,用于收发一些控制信号,按照SAS标准的8b10b编码方式,以4字节(Word)为一个组合表示某种含义,如表1所示,为一种SAS原语的示例:
表1
K28.5 | D04.7 | D01.4 | D24.0 | BROADCAST(EXPANDER) |
K28.5 | D04.7 | D02.0 | D01.4 | BROADCAST(CHANGE) |
其中,部分SAS原语需要交互双方相互应答确认,例如,Open原语(用于建立通信连接)或者Close原语(用于关闭已建立的通信连接)等,而部分原语不需要交互双方的应答确认,例如BROADCAST原语。
实施例六
以下以第一SAS设备根据查询结果进行路由更新为例,对本发明实施例的实施过程进行说明。
如图6所示,为本发明实施例中,第一SAS设备根据查询结果进行路由更新的实施流程示意图,包括如下步骤:
S601、判断是否完成对自身的所有端口进行路由信息匹配,如果否,执行步骤S602,如果是,执行步骤S612;
S602、选择一个未执行路由查询的端口;
S603、判断该端口是否支持路由查询,如果是,执行步骤S604,如果否,执行步骤S601;
S604、判断查询到的与该端口连接的第二SAS设备的上一周期的路由信息是否有效,如果是,执行步骤S605,如果否,执行步骤S601;
S605、判断查询到的与该端口连接的第二SAS设备的当前周期的路由信息是否有效,如果否,执行步骤S606,如果是,执行步骤S607;
S606、用当前周期的路由信息中的各个表项,直接替换该端口的上一周期的路由信息中的各个表项,并设置上一周期的路由信息状态为有效,设置当前周期的路由信息状态为无效,并执行步骤S601;
S607、针对该端口,判断是否完成与该端口连接的第二SAS设备当前周期与上一周期的路由信息中所包含的全部表项的比较,如果是,执行步骤S606,如果否,执行步骤S608;
S608、第一SAS设备从查询到的当前周期的路由信息所包含的表项中,选择一个未进行比较的表项;
S609、第一SAS设备判断该表项的路由属性是否为Subtractive,如果是,执行步骤S607,如果否,执行步骤S610;
具体的,由于路由属性为Subtractive时,表明该路由信息为用户自配置的路由,对于用户自配置的路由,其变化不能反映SAS网络当前的拓扑状态。但是,对于路由属性为非Subtractive的表项,路由信息为SAS路由设备之间相互学习获得,其变化反映了SAS网络当前的拓扑状态。
S610、第一SAS设备判断该表项是否存在于查询到的上一周期的路由信息中,如果是,执行步骤S607,如果否,执行步骤S611;
S611、判定该端口当前周期的路由信息与上一周期的路由信息不匹配,并执行步骤S607;
具体的,对于SAS设备来说,该设备的路由信息的表项中包括标识该表项对应的路由的属性信息,路由的属性可以分为以下三种:
Direct(直连)路由:该类型的路由由SAS设备自动生成,来源于与该SAS设备直连的终端设备,主要用于标识当数据包转发的目的地址为与当前SAS设备直接相连的终端设备时,需要往哪个端口发送;
Table(表项)路由:该类型的路由由SAS设备自动生成,来源于与该SAS设备互联的扩展器的Broadcast通告,主要是扩展器将自身的Direct路由通告给其他的扩展器,主要用于标识当数据包转发的目的地址为与当前SAS设备非直接相连的终端设备时,需要往哪个端口发送;
Subtractive(缺省)路由:由用户自行配置的路由,主要用于标识当数据包转发的目的地址为未知的终端设备时(未体现在Direct路由和Table路由中),需要往哪个端口发送。
S612、第一SAS设备判断该自身是否存在至少一个端口路由信息不匹配,如果是,执行步骤S613,如果否,执行步骤S618;
S613、判断自身是否为终端设备,如果是,执行步骤S614,如果否,执行步骤S615;
S614、根据当前周期的路由信息更新本地存储的上一周期的路由信息,并执行步骤S618;
S615、判断自身路由信息不匹配的端口的数量是否大于等于2,如果是,执行步骤S616,如果否,执行步骤S617;
S616、第一SAS设备向与自身包含的端口中,所有处于连接状态的端口连接的第二SAS设备发送Broadcast原语,并执行步骤S618;
S617、第一SAS设备向与自身包含的端口中,除查询到该路由信息不匹配的端口以外的、处于连接状态的端口连接的第二SAS设备,发送Broadcast原语,并执行步骤S618;
S618、流程结束。
具体实施中,由于SAS设备的加入SAS网络或者从SAS网中移除,都会触发整个SAS网络的拓扑结构发生变化,当发生SAS设备加入或者移除时,首先感知到该变化的是与该SAS设备相连接的SAS设备的某一端口,为了保证感知到该变化的SAS设备在之后进行路由查询以及路由匹配的准确性,需要设置该端口的第一次查询状态为真,同时设置与该端口连接的SAS设备的上一周期的路由信息状态为无效。
基于同一发明构思,本发明实施例中还提供了一种路由更新装置及SAS设备,由于该装置与SAS设备解决问题的原理与上述路由更新方法相似,因此该装置的实施可以参见上述路由更新方法的实施,重复之处不再赘述。
实施例七
如图7所示,为本发明实施例提供的路由更新装置的结构示意图,包括:
查询单元701,用于针对本装置的每一个端口,按照预设的周期查询与该端口连接的SAS设备的路由信息;
第一确定单元702,用于在确定当前周期查询到的路由信息中包括的至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
更新单元703,用于当确定出本装置存在至少一个端口路由信息不匹配时,根据本装置的设备类型,进行路由信息的更新。
具体实施中,更新单元703,可以包括:
第一更新子单元,用于在本装置为终端设备时,根据当前周期的路由信息更新本地存储的上一周期的路由信息;
第二更新子单元,用于在本装置为扩展器时,向自身处于连接状态的端口发送Broadcast原语,指示与处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息。
具体的,第二更新子单元,可以用于在自身存在一个端口路由信息不匹配时,向与自身包含的端口中,除路由信息不匹配的端口以外的、处于连接状态的端口连接的SAS设备,发送Broadcast原语;在自身存在至少两个端口路由信息不匹配时,向与自身包含的端口中,所有处于连接状态的端口连接的SAS设备发送Broadcast原语。
具体实施中,路由更新装置还可以包括:
确认单元,用于在按照预设的周期查询与该端口连接的SAS设备的路由信息之前,确认与该端口连接的SAS设备能够接收到本装置发送的标识地址帧。
具体的,确认单元,可以包括:
发送子单元,用于向与该端口连接的SAS设备发送标识地址帧;
触发子单元,用于在发送子单元向与该端口连接的SAS设备发送标识地址帧时,触发超时定时器;
连接子单元,用于在预设的超时定时器的定时时间到达之前,接收到与该端口连接的SAS设备发送的标识地址帧时,与该SAS设备建立连接;
第一确认子单元,用于在连接子单元建立连接成功,或者建立连接异常且返回指定类型信息以外的异常信息时,确认该SAS设备能够接收到自身发送的标识地址帧;
第二确认子单元,用于在连接子单元建立连接异常且返回的异常信息为指定类型信息时,确认该SAS设备不能够接收到自身发送的标识地址帧。
具体实施中,路由更新装置,还可以包括:
复位单元,用于在确认与该端口连接的SAS设备不能够接收到自身发送的标识地址帧之后,或者在预设的超时定时器的超时时间到达之后,未接收到与该端口连接的SAS设备发送的标识地址帧时,进行复位操作。
具体实施中,路由更新装置,还可以包括:
第二确定单元,用于在针对本装置的每一个端口,按照预设的周期查询与该端口连接的SAS设备的路由信息之前,根据接收到的该SAS设备的标识地址帧,确定该SAS设备为扩展器。
为了描述的方便,以上路由更新装置的各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本发明时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。在本发明实施例中,路由更新装置一般设置在SAS设备中。需要说明的是,将上述路由更新装置设置在SAS设备中只是一种较佳实施方式,具体实施中,可以根据实际的需要将上述路由更新装置设置在其它设备中,例如新增设备中。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
本发明实施例提供的路由更新方法、装置及相关设备,第一SAS设备按照预设的周期,针对自身包含的每一端口,查询与该端口连接的第二SAS设备的路由信息,若在当前周期查询到的路由信息中的任一表项不存在于上一周期查询到的路由信息中时,则判定该端口路由信息不匹配,依次类推,对自身的每一个端口进行查询,若自身至少存在一个端口路由信息不匹配时,第一SAS设备根据自身的设备类型,进行路由信息的更新。由于,第一SAS设备定时对与自身的各个端口连接的第二SAS设备的路由信息进行查询,并根据查询结果进行更新,这样,即使第二SAS设备发送Broadcast原语丢失,也能够保证第一SAS可以根据定时查询的结果对相关路由信息进行更新,从而保证了整个SAS网络中拓扑信息的一致,提高了SAS网络的可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种路由更新方法,其特征在于,包括:
第一串行小型计算机系统接口SAS设备针对自身的每一个端口执行:
按照预设的周期查询与该端口连接的第二SAS设备的路由信息;
并在确定出当前周期查询到的路由信息中包括至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
当第一SAS设备确定出自身存在至少一个端口路由信息不匹配且为终端设备时,根据当前周期的路由信息更新本地存储的上一周期的路由信息;
当第一SAS设备确定出自身存在至少一个端口路由信息不匹配且为扩展器时,向自身中处于连接状态的端口发送广播Broadcast原语,指示与所述处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息;
其中,在第一SAS设备按照预设的周期查询与该端口连接的第二SAS设备的路由信息之前,还包括:
所述第一SAS设备确认与该端口连接的第二SAS设备能够接收到自身发送的标识地址帧,并且,所述第一SAS设备确认与该端口连接的第二SAS设备能够接收到自身发送的标识地址帧,具体包括:
所述第一SAS设备向与该端口连接的第二SAS设备发送标识地址帧;并
触发超时定时器;
若所述第一SAS设备在预设的所述超时定时器的定时时间到达之前,接收到与该端口连接的第二SAS设备发送的标识地址帧,则与所述第二SAS设备建立连接;
若建立连接成功,或者建立连接异常且返回的异常信息为除指定类型信息以外的异常信息时,所述第一SAS设备确认所述第二SAS设备能够接收到自身发送的标识地址帧;
若建立连接异常,且返回的异常信息为指定类型信息时,所述第一SAS设备确认所述第二SAS设备不能够接收到自身发送的标识地址帧。
2.如权利要求1所述的方法,其特征在于,向自身处于连接状态的端口发送广播Broadcast原语,具体包括:
若存在一个端口路由信息不匹配时,向与自身包含的端口中,除路由信息不匹配的端口以外的、处于连接状态的端口连接的第二SAS设备,发送Broadcast原语;
若存在至少两个端口路由信息不匹配时,向与自身包含的端口中,所有处于连接状态的端口连接的第二SAS设备发送Broadcast原语。
3.如权利要求1所述的方法,其特征在于,所述指定类型信息包括:目的地址故障,或者目的地址错误,或者目的地址不存在。
4.如权利要求1所述的方法,其特征在于,所述第一SAS设备确认所述第二SAS设备不能够接收到自身发送的标识地址帧之后,或者所述第一SAS设备在预设的所述超时定时器的超时时间到达之后,未接收到所述第二SAS设备发送的标识地址帧时,还包括:
所述第一SAS设备进行复位操作。
5.如权利要求1所述的方法,其特征在于,在第一SAS设备按照预设的周期查询与该端口连接的第二SAS设备的路由信息之前,还包括:
所述第一SAS设备根据接收到的所述第二SAS设备发送的标识地址帧,确定所述第二SAS设备为扩展器。
6.一种路由更新装置,其特征在于,包括:
查询单元,用于针对本装置的每一个端口,按照预设的周期查询与该端口连接的串行小型计算机系统接口SAS设备的路由信息;
第一确定单元,用于在确定当前周期查询到的路由信息中包括的至少一个路由表项未存在于上一周期查询到的路由信息中时,确定该端口路由信息不匹配;
更新单元,包括第一更新子单元和第二更新子单元,所述第一更新子单元,用于在确定出本装置存在至少一个端口路由信息不匹配且为终端设备时,根据当前周期的路由信息更新本地存储的上一周期的路由信息;所述第二更新子单元,用于在确定出本装置存在至少一个端口路由信息不匹配且为扩展器时,向自身中处于连接状态的端口发送广播Broadcast原语,指示与所述处于连接状态的端口连接的SAS设备,根据当前周期的路由信息更新其存储的上一周期的路由信息;
其中,所述装置,还包括:
确认单元,用于在按照预设的周期查询与该端口连接的SAS设备的路由信息之前,确认与该端口连接的SAS设备能够接收到所述装置发送的标识地址帧;
并且,所述确认单元,包括:
发送子单元,用于向与该端口连接的SAS设备发送标识地址帧;
触发子单元,用于在所述发送子单元向与该端口连接的SAS设备发送标识地址帧时,触发超时定时器;
连接子单元,用于在预设的所述超时定时器的定时时间到达之前,接收到与该端口连接的SAS设备发送的标识地址帧时,与所述SAS设备建立连接;
第一确认子单元,用于在所述连接子单元建立连接成功,或者建立连接异常且返回指定类型信息以外的异常信息时,确认与该端口连接的SAS设备能够接收到自身发送的标识地址帧;
第二确认子单元,用于在所述连接子单元建立连接异常且返回的异常信息为指定类型信息时,确认与该端口连接的SAS设备不能够接收到自身发送的标识地址帧。
7.如权利要求6所述的装置,其特征在于,所述第二更新子单元,具体用于在本装置存在一个端口路由信息不匹配时,向与本装置包含的端口中,除路由信息不匹配的端口以外的、处于连接状态的端口连接的SAS设备,发送Broadcast原语;在本装置存在至少两个端口路由信息不匹配时,向与本装置包含的端口中,所有处于连接状态的端口连接的SAS设备发送Broadcast原语。
8.如权利要求6所述的装置,其特征在于,还包括:
复位单元,用于在确认所述SAS设备不能够接收到自身发送的标识地址帧之后,或者在预设的所述超时定时器的超时时间到达之后,未接收到与该端口连接的SAS设备发送的标识地址帧时,进行复位操作。
9.如权利要求6所述的装置,其特征在于,还包括:
第二确定单元,用于在按照预设的周期查询与该端口连接的SAS设备的路由信息之前,根据接收到的与该端口连接的SAS设备发送的标识地址帧,确定与该端口连接的SAS设备为扩展器。
10.一种串行小型计算机系统接口设备,其特征在于,包括权利要求6~9任一权利要求所述的路由更新装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110200671.9A CN102325163B (zh) | 2011-07-18 | 2011-07-18 | 一种路由更新方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110200671.9A CN102325163B (zh) | 2011-07-18 | 2011-07-18 | 一种路由更新方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102325163A CN102325163A (zh) | 2012-01-18 |
CN102325163B true CN102325163B (zh) | 2014-08-27 |
Family
ID=45452832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110200671.9A Expired - Fee Related CN102325163B (zh) | 2011-07-18 | 2011-07-18 | 一种路由更新方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102325163B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9135198B2 (en) * | 2012-10-31 | 2015-09-15 | Avago Technologies General Ip (Singapore) Pte Ltd | Methods and structure for serial attached SCSI expanders that self-configure by setting routing attributes of their ports based on SMP requests |
CN104391548A (zh) * | 2014-12-16 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种提高服务器Expander板卡芯片FW烧录效率的方法 |
CN107305474B (zh) * | 2016-04-21 | 2020-07-21 | 佛山市顺德区顺达电脑厂有限公司 | 能视觉上指示链接关系的储存系统 |
CN107197502B (zh) * | 2017-06-19 | 2020-03-24 | 深圳市盛路物联通讯技术有限公司 | 一种控制边缘路由节点更新路由信息表的方法及设备 |
CN107197501B (zh) * | 2017-06-19 | 2020-03-24 | 深圳市盛路物联通讯技术有限公司 | 一种基于被监测设备更新路由信息表的方法及设备 |
CN110580235B (zh) * | 2018-06-08 | 2021-04-27 | 杭州宏杉科技股份有限公司 | 一种sas扩展器通信方法及装置 |
CN112579384B (zh) * | 2019-09-27 | 2023-07-04 | 杭州海康威视数字技术股份有限公司 | 一种sas域的节点监控方法、装置、系统及节点 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081386A (zh) * | 2009-11-30 | 2011-06-01 | 英业达股份有限公司 | iSCSI设备的双控制器同步链路系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412631B2 (en) * | 2005-09-13 | 2008-08-12 | Lsi Corporation | Methods and structure for verifying domain functionality |
US7536584B2 (en) * | 2006-06-08 | 2009-05-19 | Dot Hill Systems Corporation | Fault-isolating SAS expander |
-
2011
- 2011-07-18 CN CN201110200671.9A patent/CN102325163B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081386A (zh) * | 2009-11-30 | 2011-06-01 | 英业达股份有限公司 | iSCSI设备的双控制器同步链路系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102325163A (zh) | 2012-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102325163B (zh) | 一种路由更新方法、装置及相关设备 | |
CN101409670B (zh) | 管理组件传输协议互连滤波和路由 | |
CN100450053C (zh) | 检测移动特设网络环境中的重复ip地址的装置和方法 | |
CN101645801B (zh) | 基于集群管理的软件版本升级方法及命令交换机 | |
CN110401568B (zh) | 一种网络拓扑发现方法及设备 | |
CN104093118A (zh) | 一种资源通告的方法、机器对机器节点和系统 | |
CN107959620B (zh) | 综采设备识别方法、装置、系统、网关及存储介质 | |
CN104618312A (zh) | 一种m2m应用的远程注册方法、装置和系统 | |
CN104753697A (zh) | 一种控制网络设备自动开局的方法、设备及系统 | |
JP2005519531A (ja) | Ipネットワーク内でトポロジー認識情報を提供する方法 | |
CN104717081A (zh) | 一种网关功能的实现方法及装置 | |
CN110413845B (zh) | 基于物联网操作系统的资源存储方法及装置 | |
CN110793527B (zh) | 定位测距系统、定位标签、定位同步方法、定位确定方法 | |
CN108259523B (zh) | 一种数据传输方法及物联网系统、网络访问方法 | |
CN106506717A (zh) | 一种自动发现方法及设备 | |
CN114338594A (zh) | 在Kubernetes环境下的ARP代答方法、装置、设备及存储介质 | |
CN107465621B (zh) | 一种路由器发现方法、sdn控制器、路由器和网络系统 | |
CN116566832A (zh) | 网络拓扑信息的生成方法、装置、存储介质和处理器 | |
CN113179215B (zh) | 组网通信方法、系统、节点设备、存储介质和电子设备 | |
CN101345657A (zh) | 基于简单网络管理协议集群管理多个网元的方法及系统 | |
US7050433B2 (en) | Address management apparatus and address management method | |
JP2003078541A (ja) | ネットワーク接続装置、ネットワーク接続システム及びネットワーク接続方法 | |
CN114598605A (zh) | 一种多设备管理方法、第一设备、中心设备和存储介质 | |
CN110233799A (zh) | 一种端口配置的方法和通信设备 | |
CN110769399B (zh) | 一种物联网设备连接组网方法、物联网设备系统及信息接入与传输的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 350002 19 Building, Citrus Industrial Park, 618 Jinshan Road, Cangshan District, Fuzhou, Fujian. Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: 350002 19 Building, Citrus Industrial Park, 618 Jinshan Road, Cangshan District, Fuzhou, Fujian. Patentee before: Fujian Star Network Ruijie Networks Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140827 Termination date: 20210718 |
|
CF01 | Termination of patent right due to non-payment of annual fee |