CN103368854B - 一种rscn报文的通知方法和设备 - Google Patents

一种rscn报文的通知方法和设备 Download PDF

Info

Publication number
CN103368854B
CN103368854B CN201310289614.1A CN201310289614A CN103368854B CN 103368854 B CN103368854 B CN 103368854B CN 201310289614 A CN201310289614 A CN 201310289614A CN 103368854 B CN103368854 B CN 103368854B
Authority
CN
China
Prior art keywords
storage device
service information
name service
rscn message
switch
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.)
Active
Application number
CN201310289614.1A
Other languages
English (en)
Other versions
CN103368854A (zh
Inventor
王珏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Information Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310289614.1A priority Critical patent/CN103368854B/zh
Publication of CN103368854A publication Critical patent/CN103368854A/zh
Application granted granted Critical
Publication of CN103368854B publication Critical patent/CN103368854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种RSCN报文的通知方法和设备,该方法包括:交换机在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有所述存储设备的FC_ID对应的RSCN报文;如果否,则利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并记录所述存储设备的FC_ID与RSCN报文之间的对应关系,为所述对应关系设置老化定时器;如果是,则维护所述存储设备的FC_ID对应的RSCN报文,并更新所述存储设备的老化定时器;所述交换机在所述老化定时器超时之后,将所述老化定时器对应的RSCN报文发送给其它交换机。本发明实施例中,可以减少网络中的流量负担,并减轻各交换机的处理负担。

Description

一种RSCN报文的通知方法和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种RSCN报文的通知方法和设备。
背景技术
随着Internet应用的不断增长,服务器需要存储的信息越来越多,这就导致服务器的存储容量不断增长。当服务器内部存储容量无法满足信息增长需求时,需要将服务器的存储“外部化”。为此,通过SAN(StorageAreaNetworks,存储网络)为服务器提供专用外部存储环境,以满足对大容量高可靠信息的存储、访问和备份等需求。FC(FibreChannel,光纤通道)是SAN中应用广泛的一种协议,且FC网络能够传输上层协议数据,包括SCSI(SmallComputerSystemInterface,小型计算机系统接口)、IP、VIA(集群虚拟接口)、HIPPI(高性能并行接口)、FICON(光纤连接)等,且FC网络目前主要用于承载SCSI。
名字服务属于FC协议提供的通用服务,是FC协议承载上层应用协议的基础。如图1所示,为FC协议名字服务的应用场景示意图,存储设备(在FC网络中可以称为N端口,包括图1中的服务器和磁盘阵列)在注册到FC网络后,向其就近的交换机发送名字服务注册请求,由交换机记录与该存储设备相关的FC_ID和名字服务信息,该名字服务信息包括WWN(WorldWideName,全球唯一名字)名字、FC地址、FC-4特性(如端口类型、FC-4协议类型、FC-4协议特征等)、硬件地址、描述性名字(通常为字符串)等;当存储设备需要查询其它存储设备的名字服务信息时,通过其它存储设备的FC_ID向其就近的交换机发送名字服务查询请求,以获得其它存储设备的名字服务信息。
在图1所示的FC网络中,各交换机作为一个整体维护相同的名字服务数据库,该名字服务数据库中记录了各存储设备对应的FC_ID和名字服务信息。其中,各交换机之间通过交互RSCN(RegisteredStateChangeNotification,注册状态变化通知)报文在各交换机中维护相同的名字服务数据库。例如,当服务器A向交换机1发送名字服务注册请求后,交换机1在本地名字服务数据库中记录服务器A的FC_ID和名字服务信息,并向交换机2和交换机3发送RSCN报文;交换机2在收到RSCN报文后,向交换机1发送用于获取名字服务信息的GE_ID(GetEntrybasedonPortIdentifer)报文(用于根据FC_ID获取表项最新数据),从交换机1上获得服务器A的FC_ID和名字服务信息,在本地名字服务数据库中记录服务器A的FC_ID和名字服务信息;交换机3在收到RSCN报文后,向交换机1发送GE_ID报文,从交换机1上获得服务器A的FC_ID和名字服务信息,在本地名字服务数据库中记录服务器A的FC_ID和名字服务信息。
现有技术中,存储设备的名字服务信息并不是一次性注册到交换机上,而是需要通过多次名字服务注册请求过程注册到交换机上,从而导致各交换机之间频繁交互RSCN报文和GE_ID报文,增加了网络中的流量负担,并且存在频繁操作同一条数据表项所带来的冗余更新,而且使得各交换机需要频繁进行名字服务信息的处理过程,增大各交换机的处理负担。
发明内容
本发明实施例提供一种RSCN报文的通知方法和设备,以减少网络中的流量负担,并减轻各交换机的处理负担。
为了达到上述目的,本发明实施例提供一种注册状态变化通知RSCN报文的通知方法,应用于包括存储设备和多个交换机的光纤通道FC网络中,该方法包括以下步骤:
交换机在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有所述存储设备的FC_ID对应的RSCN报文;如果否,则利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并记录所述存储设备的FC_ID与RSCN报文之间的对应关系,为所述对应关系设置老化定时器;如果是,则利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,并更新所述存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器;
所述交换机在所述老化定时器超时之后,将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,由所述其它交换机利用收到的所述RSCN报文对所述存储设备的名字服务信息进行更新。
存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述交换机利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,具体包括:
当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备更新本存储设备的名字服务信息时,所述交换机保留所述存储设备的FC_ID对应的RSCN报文;
当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息时,所述交换机利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文;
当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息时,所述交换机利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文。
所述交换机将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,具体包括:
所述交换机以预设第一时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现所述对应关系的老化定时器超时,则将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机;
其中,所述预设第一时间小于所述老化定时器的超时时间。
所述方法还包括:所述交换机以预设第二时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现有多个对应关系的老化定时器超时,则将该多个老化定时器对应的RSCN报文合并为一个RSCN报文,并将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机;合并后的RSCN报文中携带合并前的每个RSCN报文对应的FC_ID以及名字服务信息发生变化的原因,且所述预设第二时间大于所述老化定时器的超时时间。
存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;所述交换机将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机之后,所述方法还包括:
所述交换机接收来自所述其它交换机的用于批量获取多个存储设备的名字服务信息的GE_MID报文;其中,所述GE_MID报文中携带了多个存储设备的FC_ID,且所述多个存储设备的FC_ID为注册本存储设备的名字服务信息或更新本存储设备的名字服务信息的存储设备的FC_ID;
所述交换机利用所述多个存储设备的FC_ID获得所述多个存储设备的名字服务信息,并将所述多个存储设备的名字服务信息发送给所述其它交换机。
本发明实施例提供一种注册状态变化通知RSCN报文的通知设备,作为交换机应用于包括存储设备和多个交换机的FC网络中,该交换机包括:
确定模块,用于确定存储设备的名字服务信息发生变化;
查询模块,用于在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有所述存储设备的FC_ID对应的RSCN报文;
管理模块,用于当查询结果为否时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并记录所述存储设备的FC_ID与RSCN报文之间的对应关系,为所述对应关系设置老化定时器;当查询结果为是时,利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,并更新所述存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器;
发送模块,用于在所述老化定时器超时之后,将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,由所述其它交换机利用收到的所述RSCN报文对所述存储设备的名字服务信息进行更新。
存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述管理模块在维护所述存储设备的FC_ID对应的RSCN报文时,具体用于当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备更新本存储设备的名字服务信息时,保留所述存储设备的FC_ID对应的RSCN报文;当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文;当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文。
所述发送模块,具体用于以预设第一时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现所述对应关系的老化定时器超时,则将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机;
其中,所述预设第一时间小于所述老化定时器的超时时间。
所述发送模块,还用于以预设第二时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现有多个对应关系的老化定时器超时,则将该多个老化定时器对应的RSCN报文合并为一个RSCN报文,并将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机;其中,合并后的RSCN报文中携带合并前的每个RSCN报文对应的FC_ID以及名字服务信息发生变化的原因,且所述预设第二时间大于所述老化定时器的超时时间。
存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述发送模块,还用于在将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机之后,接收来自所述其它交换机的用于批量获取多个存储设备的名字服务信息的GE_MID报文;其中,所述GE_MID报文中携带了多个存储设备的FC_ID,且所述多个存储设备的FC_ID为注册本存储设备的名字服务信息或更新本存储设备的名字服务信息的存储设备的FC_ID;
利用所述多个存储设备的FC_ID获得所述多个存储设备的名字服务信息,并将所述多个存储设备的名字服务信息发送给所述其它交换机。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,交换机在确定存储设备的名字服务信息发生变化时,维护存储设备的FC_ID对应的RSCN报文,并更新存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器,从而在老化定时器超时之后,只需要向其它交换机通知一次RSCN报文,继而可以减少单一表项频繁变化所引起的冗余RSCN报文传输,并减少网络中的流量负担,减轻各交换机的处理负担。
附图说明
图1是现有技术中FC协议名字服务的应用场景示意图;
图2是本发明实施例提供的一种RSCN报文的通知方法流程示意图;
图3是本发明实施例提供的一种交换机的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种RSCN报文的通知方法,该方法可以应用于包括存储设备(如:服务器和磁盘阵列)和多个交换机的FC网络中,如图2所示,该方法包括以下步骤:
步骤201,交换机确定存储设备的名字服务信息发生变化。其中,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息(如通过名字服务注册请求进行注册)、或存储设备更新本存储设备的名字服务信息(如通过名字服务注册请求进行更新)、或存储设备注销本存储设备的名字服务信息(如交换机确定本交换机与存储设备的链路出现故障)。
步骤202,交换机在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有存储设备的FC_ID对应的RSCN报文(即:缓存有相应的RSCN报文);如果否,则执行步骤203;如果是,则执行步骤204。
步骤203,交换机利用存储设备当前名字服务信息发生变化的原因生成存储设备的RSCN报文,并记录存储设备的FC_ID与RSCN报文之间的对应关系,为该对应关系设置老化定时器。其中,在生成的RSCN报文中,携带有存储设备当前名字服务信息发生变化的原因以及存储设备的FC_ID。存储设备当前名字服务信息发生变化的原因在RSCN报文中可以体现为表项更新(存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息)或者表项删除(存储设备注销本存储设备的名字服务信息)。
在图2所示的RSCN报文的通知流程中,本步骤203之后,在老化定时器超时之前,继续执行步骤202;在老化定时器超时之后,执行步骤205。
步骤204,交换机利用存储设备当前名字服务信息发生变化的原因以及存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护存储设备的FC_ID对应的RSCN报文,并更新存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器,即对该老化定时器重新计时。
在图2所示的RSCN报文的通知流程中,本步骤204之后,在老化定时器超时之前,继续执行步骤202;在老化定时器超时之后,执行步骤205。
本发明实施例中,交换机利用存储设备当前名字服务信息发生变化的原因以及存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护存储设备的FC_ID对应的RSCN报文,具体包括但不限于:
情况一、当存储设备的FC_ID对应的RSCN报文(即当前缓存的RSCN报文)中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且存储设备当前名字服务信息发生变化的原因为存储设备更新本存储设备的名字服务信息时,交换机保留存储设备的FC_ID对应的RSCN报文。
情况二、当存储设备的FC_ID对应的RSCN报文(即当前缓存的RSCN报文)中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且存储设备当前名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息时,交换机利用存储设备当前名字服务信息发生变化的原因(存储设备注销本存储设备的名字服务信息)生成存储设备的RSCN报文(该RSCN报文中携带有存储设备当前名字服务信息发生变化的原因以及存储设备的FC_ID),并通过重新生成的RSCN报文替换存储设备的FC_ID对应的RSCN报文。
情况三、当存储设备的FC_ID对应的RSCN报文(即当前缓存的RSCN报文)中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息,且存储设备当前名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息时,交换机利用存储设备当前名字服务信息发生变化的原因(存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息)生成存储设备的RSCN报文(该RSCN报文中携带有存储设备当前名字服务信息发生变化的原因以及存储设备的FC_ID),并通过重新生成的RSCN报文替换存储设备的FC_ID对应的RSCN报文。
步骤205,交换机在老化定时器超时后,将该老化定时器对应的RSCN报文发送给FC网络中的其它交换机,由其它交换机利用收到的RSCN报文对存储设备的名字服务信息进行更新,如获取名字服务信息或删除名字服务信息。
例如,当老化定时器1超时后,交换机1将老化定时器1对应的RSCN报文发送给FC网络中的交换机2。交换机2在收到RSCN报文后,如果RSCN报文中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息(在RSCN报文中可以体现为表项删除),则交换机2利用RSCN报文中携带的FC_ID删除本交换机2上相应的名字服务信息;如果RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息或存储设备更新本存储设备的名字服务信息(在RSCN报文中可以体现为表项更新),则交换机2利用RSCN报文中携带的FC_ID从上述交换机1中获得相应的名字服务信息,并在本交换机2记录获得的名字服务信息。
本发明实施例中,交换机将老化定时器对应的RSCN报文发送给FC网络中的其它交换机,具体包括:交换机以预设第一时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现对应关系的老化定时器超时,则将该老化定时器对应的RSCN报文发送给FC网络中的其它交换机。
其中,预设第一时间小于老化定时器的超时时间,且可以设置老化定时器的超时时间为T1,预设第一时间为T2;基于此,交换机需要以T2进行轮询(T2<T1),每次遍历当前所有缓存的RSCN报文;如果该RSCN报文对应的老化定时器超时(即T1时间内未发生存储设备的名字服务信息发生变化的情况),则交换机将该RSCN报文发送给FC网络中的其它交换机。
综上所述,交换机在确定存储设备的名字服务信息发生变化时,维护存储设备的FC_ID对应的RSCN报文,并更新存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器,在老化定时器超时后,只需要向其它交换机通知一次RSCN报文,继而可以减少单一表项频繁变化所引起的冗余RSCN报文传输,减少RSCN报文的发送数量,减少网络中的流量负担和网络流量压力,减轻各交换机的处理负担,提高整个FC网络的性能和稳定性。
本发明实施例中,当交换机下有多个存储设备的名字服务信息均发生变化时,每个RSCN报文对应的老化定时器超时后,不需要将每个RSCN报文发送给FC网络中的其它交换机,而是由交换机以预设第二时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现有多个对应关系的老化定时器超时,则将该多个老化定时器对应的RSCN报文合并为一个RSCN报文,并将合并后的一个RSCN报文发送给FC网络中的其它交换机。
其中,预设第二时间大于老化定时器的超时时间,且可以设置老化定时器的超时时间为T1,预设第二时间为T3;基于此,交换机需要以T3进行轮询(T3>T1),每次遍历当前所有缓存的RSCN报文;如果有多个RSCN报文对应的老化定时器均超时(即T1时间内未发生存储设备的名字服务信息发生变化的情况),则交换机将该多个RSCN报文合并为一个RSCN报文,并将合并后的一个RSCN报文发送给FC网络中的其它交换机。
本发明实施例中,合并后的RSCN报文中携带合并前的每个RSCN报文对应的FC_ID以及名字服务信息发生变化的原因。进一步的,合并后的RSCN报文中携带有多个DeviceEntry(设备项)字段,且每个DeviceEntry字段中可以携带一个RSCN报文所对应的FC_ID以及名字服务信息发生变化的原因;在DeviceEntry字段的PortState(端口状态)字段中,可以携带名字服务信息发生变化的原因(体现为表项更新事件online或者表项删除事件offline),且每个PortState字段中可能携带不同的名字服务信息发生变化的原因。
其它交换机在收到合并后的RSCN报文后,对于名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息(在RSCN报文中可以体现为表项删除)的PortState字段,则其它交换机需要利用相应的DeviceEntry字段中携带的FC_ID删除相应的名字服务信息;对于名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息或存储设备更新本存储设备的名字服务信息(在RSCN报文中可以体现为表项更新)的PortState字段,则其它交换机需要利用相应的DeviceEntry字段中携带的FC_ID从交换机中获得相应的名字服务信息,并在本其它交换机记录获得的名字服务信息。
为了同时从交换机中获得多个名字服务信息,本发明实施例中,新增用于批量获取多个存储设备的名字服务信息的GE_MID(GetEntrybasedonMultiplePortIdentifiers)报文,以一次获取多个名字服务信息。基于RSCN报文中携带的FC_ID以及名字服务信息发生变化的原因,其它交换机可以在GE_MID报文中携带需要获取名字服务信息(即进行表项更新的名字服务信息)的各存储设备的FC_ID,以最终获得这些FC_ID对应的名字服务信息。
在一种具体的实现方式中,GE_MID报文的格式如表1所示,NumberofEntries(表项数量)字段填写获取的名字服务信息数量,PortIdentifierEntry(端口标识项)字段依次填写请求的多个存储设备的FC_ID。进一步的,PortIdentifierEntry字段的格式如表2所示,PortIdentifier即为存储设备的FC_ID。
表1
Item(条目) Size(大小,其单位为Bytes)
FC-CT Header(头) 16
Number of Entries(表项数量) 1
Port Identifier Entry(端口标识项) 4
........
Port Identifier Entry(端口标识项) 4
表2
Item(条目) Size(大小,其单位为Bytes)
Reserved(预留) 1
Port Identifier(端口标识) 3
交换机在接收到来自其它交换机的用于批量获取多个存储设备的名字服务信息的GE_MID报文(其中携带了多个存储设备的FC_ID,且多个存储设备的FC_ID为注册本存储设备的名字服务信息或更新本存储设备的名字服务信息的存储设备的FC_ID)后,利用多个存储设备的FC_ID获得多个存储设备的名字服务信息,并将多个存储设备的名字服务信息发送给其它交换机。
为了将多个存储设备的名字服务信息发送给其它交换机,在一种具体的实现方式中,通过GE_MIDACC(GetEntriesbasedonPortIdentifierAccept)回应报文将多个存储设备的名字服务信息发送给其它交换机。GE_MIDACC回应报文的格式如表3所示,其中的NPortEntry用于携带存储设备的名字服务信息,且每个NPortEntry携带一个存储设备的名字服务信息。
表3
Item(条目) Size(大小,其单位为Bytes)
FC-CT Header(头) 16
Number of Entries(表项数量) 1
N Port Entry(N端口项) n
........
N Port Entry(N端口项) n
综上所述,交换机将多个RSCN报文按照一定规则进行合并发送,一定周期内对同一方向仅发送一个包含多个变化FC_ID的RSCN报文,同时新增GE_MID报文一次获取多条名字服务表项,以此减少短时间内大量存储设备同时更新产生的RSCN报文和对应Get表项报文(GE_MID报文)数目。减少网络中RSCN报文和对应Get表项报文的数量,减轻网络流量压力,优化RSCN报文通知和数据同步的处理流程,提高整个FC网络性能和稳定性。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种注册状态变化通知RSCN报文的通知设备,作为交换机应用于包括存储设备和多个交换机的光纤通道FC网络中,如图3所示,该交换机包括:
确定模块11,用于确定存储设备的名字服务信息发生变化;
查询模块12,用于在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有所述存储设备的FC_ID对应的RSCN报文;
管理模块13,用于当查询结果为否时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并记录所述存储设备的FC_ID与RSCN报文之间的对应关系,为所述对应关系设置老化定时器;当查询结果为是时,利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,并更新所述存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器;
发送模块14,用于在所述老化定时器超时之后,将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,由所述其它交换机利用收到的所述RSCN报文对所述存储设备的名字服务信息进行更新。
本发明实施例中,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述管理模块13在维护所述存储设备的FC_ID对应的RSCN报文时,具体用于当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备更新本存储设备的名字服务信息时,保留所述存储设备的FC_ID对应的RSCN报文;当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文;当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文。
所述发送模块14,具体用于以预设第一时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现所述对应关系的老化定时器超时,则将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机;其中,所述预设第一时间小于所述老化定时器的超时时间。
所述发送模块14,还用于以预设第二时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现有多个对应关系的老化定时器超时,则将该多个老化定时器对应的RSCN报文合并为一个RSCN报文,并将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机;其中,合并后的RSCN报文中携带合并前的每个RSCN报文对应的FC_ID以及名字服务信息发生变化的原因,且所述预设第二时间大于所述老化定时器的超时时间。
本发明实施例中,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;所述发送模块14,还用于在将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机之后,接收来自所述其它交换机的用于批量获取多个存储设备的名字服务信息的GE_MID报文;其中,所述GE_MID报文中携带了多个存储设备的FC_ID,且所述多个存储设备的FC_ID为注册本存储设备的名字服务信息或更新本存储设备的名字服务信息的存储设备的FC_ID;
利用所述多个存储设备的FC_ID获得所述多个存储设备的名字服务信息,并将所述多个存储设备的名字服务信息发送给所述其它交换机。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (10)

1.一种注册状态变化通知RSCN报文的通知方法,应用于包括存储设备和多个交换机的光纤通道FC网络中,其特征在于,该方法包括以下步骤:
交换机在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有所述存储设备的FC_ID对应的RSCN报文;如果否,则利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并记录所述存储设备的FC_ID与RSCN报文之间的对应关系,为所述对应关系设置老化定时器;如果是,则利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,并更新所述存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器;
所述交换机在所述老化定时器超时之后,将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,由所述其它交换机利用收到的所述RSCN报文对所述存储设备的名字服务信息进行更新。
2.如权利要求1所述的方法,其特征在于,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述交换机利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,具体包括:
当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备更新本存储设备的名字服务信息时,所述交换机保留所述存储设备的FC_ID对应的RSCN报文;
当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息时,所述交换机利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文;
当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息时,所述交换机利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文。
3.如权利要求1所述的方法,其特征在于,所述交换机将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,具体包括:
所述交换机以预设第一时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现所述对应关系的老化定时器超时,则将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机;
其中,所述预设第一时间小于所述老化定时器的超时时间。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述交换机以预设第二时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现有多个对应关系的老化定时器超时,则将该多个老化定时器对应的RSCN报文合并为一个RSCN报文,并将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机;其中,合并后的RSCN报文中携带合并前的每个RSCN报文对应的FC_ID以及名字服务信息发生变化的原因,且所述预设第二时间大于所述老化定时器的超时时间。
5.如权利要求4所述的方法,其特征在于,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述交换机将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机之后,所述方法还包括:
所述交换机接收来自所述其它交换机的用于批量获取多个存储设备的名字服务信息的GE_MID报文;其中,所述GE_MID报文中携带了多个存储设备的FC_ID,且所述多个存储设备的FC_ID为注册本存储设备的名字服务信息或更新本存储设备的名字服务信息的存储设备的FC_ID;
所述交换机利用所述多个存储设备的FC_ID获得所述多个存储设备的名字服务信息,并将所述多个存储设备的名字服务信息发送给所述其它交换机。
6.一种注册状态变化通知RSCN报文的通知设备,作为交换机应用于包括存储设备和多个所述交换机的光纤通道FC网络中,其特征在于,所述交换机包括:
确定模块,用于确定存储设备的名字服务信息发生变化;
查询模块,用于在确定存储设备的名字服务信息发生变化时,查询本交换机上是否记录有所述存储设备的FC_ID对应的RSCN报文;
管理模块,用于当查询结果为否时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并记录所述存储设备的FC_ID与RSCN报文之间的对应关系,为所述对应关系设置老化定时器;当查询结果为是时,利用所述存储设备当前名字服务信息发生变化的原因以及所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因维护所述存储设备的FC_ID对应的RSCN报文,并更新所述存储设备的FC_ID与RSCN报文之间的对应关系所对应的老化定时器;
发送模块,用于在所述老化定时器超时之后,将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机,由所述其它交换机利用收到的所述RSCN报文对所述存储设备的名字服务信息进行更新。
7.如权利要求6所述的设备,其特征在于,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述管理模块在维护所述存储设备的FC_ID对应的RSCN报文时,具体用于当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备更新本存储设备的名字服务信息时,保留所述存储设备的FC_ID对应的RSCN报文;当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文;当所述存储设备的FC_ID对应的RSCN报文中携带的名字服务信息发生变化的原因为存储设备注销本存储设备的名字服务信息,且所述存储设备当前名字服务信息发生变化的原因为存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息时,利用所述存储设备当前名字服务信息发生变化的原因生成所述存储设备的RSCN报文,并通过重新生成的RSCN报文替换所述存储设备的FC_ID对应的RSCN报文。
8.如权利要求6所述的设备,其特征在于,
所述发送模块,具体用于以预设第一时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现所述对应关系的老化定时器超时,则将所述老化定时器对应的RSCN报文发送给所述FC网络中的其它交换机;
其中,所述预设第一时间小于所述老化定时器的超时时间。
9.如权利要求6所述的设备,其特征在于,
所述发送模块,还用于以预设第二时间对各存储设备的FC_ID与RSCN报文之间的对应关系进行轮询,如果发现有多个对应关系的老化定时器超时,则将该多个老化定时器对应的RSCN报文合并为一个RSCN报文,并将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机;其中,合并后的RSCN报文中携带合并前的每个RSCN报文对应的FC_ID以及名字服务信息发生变化的原因,且所述预设第二时间大于所述老化定时器的超时时间。
10.如权利要求9所述的设备,其特征在于,存储设备的名字服务信息发生变化具体为:存储设备注册本存储设备的名字服务信息、或存储设备更新本存储设备的名字服务信息、或存储设备注销本存储设备的名字服务信息;
所述发送模块,还用于在将合并后的所述一个RSCN报文发送给所述FC网络中的其它交换机之后,接收来自所述其它交换机的用于批量获取多个存储设备的名字服务信息的GE_MID报文;其中,所述GE_MID报文中携带了多个存储设备的FC_ID,且所述多个存储设备的FC_ID为注册本存储设备的名字服务信息或更新本存储设备的名字服务信息的存储设备的FC_ID;
利用所述多个存储设备的FC_ID获得所述多个存储设备的名字服务信息,并将所述多个存储设备的名字服务信息发送给所述其它交换机。
CN201310289614.1A 2013-07-10 2013-07-10 一种rscn报文的通知方法和设备 Active CN103368854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310289614.1A CN103368854B (zh) 2013-07-10 2013-07-10 一种rscn报文的通知方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310289614.1A CN103368854B (zh) 2013-07-10 2013-07-10 一种rscn报文的通知方法和设备

Publications (2)

Publication Number Publication Date
CN103368854A CN103368854A (zh) 2013-10-23
CN103368854B true CN103368854B (zh) 2016-06-29

Family

ID=49369418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310289614.1A Active CN103368854B (zh) 2013-07-10 2013-07-10 一种rscn报文的通知方法和设备

Country Status (1)

Country Link
CN (1) CN103368854B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105337869B (zh) 2014-08-08 2019-12-13 中兴通讯股份有限公司 一种rscn通知方法、系统及相关装置
CN109558107B (zh) * 2018-12-04 2023-06-30 中国航空工业集团公司西安航空计算技术研究所 一种共享缓冲区的fc消息接收管理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102316134B (zh) * 2010-07-05 2013-11-27 杭州华三通信技术有限公司 Fc名称服务信息的本地查询方法及装置
CN102891811B (zh) * 2012-09-21 2015-06-17 杭州华三通信技术有限公司 名字服务数据库的锁定方法和交换机

Also Published As

Publication number Publication date
CN103368854A (zh) 2013-10-23

Similar Documents

Publication Publication Date Title
US10929435B2 (en) Content delivery network analytics management via edge stage collectors
US9560093B2 (en) Higher efficiency storage replication using compression
CN109547512B (zh) 一种基于NoSQL的分布式Session管理的方法及装置
CN103067433B (zh) 一种分布式存储系统的数据迁移方法、设备和系统
CN101263494B (zh) 用于监控与存储网络中的对象相关的事务的方法和装置
US20150201036A1 (en) Gateway device, file server system, and file distribution method
CN108053863A (zh) 适合大小文件的海量医疗数据存储系统及数据存储方法
CN108183961A (zh) 一种基于Redis的分布式缓存方法
CN106534328A (zh) 节点连接方法及分布式计算系统
CN102971732A (zh) 键/值存储器的集成分级查询处理的系统结构
CN102739720A (zh) 分布式缓存服务器系统及其应用方法、缓存客户端、缓存服务端
CN109299056B (zh) 一种基于分布式文件系统的数据同步方法和装置
WO2014183708A1 (zh) 一种实现分布式文件系统块存储的方法及系统
CN102104617A (zh) 一种网站运营系统存储海量图片数据的方法
CN105159845A (zh) 存储器读取方法
CN107368608A (zh) 基于arc替换算法的hdfs小文件缓存管理方法
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
CN104410531B (zh) 冗余的系统架构方法
CN106713391A (zh) 一种session信息的共享方法和共享系统
CN103501319A (zh) 一种低延迟的面向小文件的分布式存储系统
CN111901705A (zh) 一种olt设备的omci功能虚拟化系统
CN109597903A (zh) 图像文件处理装置和方法、文件存储系统及存储介质
CN113703917B (zh) 一种多集群资源数据处理系统与方法、非暂态存储介质
CN109165112A (zh) 一种元数据集群的故障恢复方法、系统及相关组件
CN103368854B (zh) 一种rscn报文的通知方法和设备

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: NEW H3C TECHNOLOGIES Co.,Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: HANGZHOU H3C TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230609

Address after: 310052 11th Floor, 466 Changhe Road, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: H3C INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 310052 Changhe Road, Binjiang District, Hangzhou, Zhejiang Province, No. 466

Patentee before: NEW H3C TECHNOLOGIES Co.,Ltd.