CN110377800B - 一种fc芯片数据发送方法及系统 - Google Patents
一种fc芯片数据发送方法及系统 Download PDFInfo
- Publication number
- CN110377800B CN110377800B CN201910574307.5A CN201910574307A CN110377800B CN 110377800 B CN110377800 B CN 110377800B CN 201910574307 A CN201910574307 A CN 201910574307A CN 110377800 B CN110377800 B CN 110377800B
- Authority
- CN
- China
- Prior art keywords
- record
- nport
- array
- handle
- chip
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims abstract description 14
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
Abstract
本发明涉及通信技术领域,提供一种FC芯片数据发送方法及系统,方法包括:当接收到IOCB发送的IOCB请求时,对IOCB请求进行解析,获取IOCB请求所包含的Nport ID以及与其对应的PCB数组记录下标Nport Handle;根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与PCB下标Nport Handle相匹配的记录数组;根据定位到的记录数组,在记录数组中获取目标远端端口的记录数据;根据获取到的目标远端端口的记录数据,将目标数据发送给目标远端端口,从而实现记录数组的快速定位,节省遍历查找所有记录匹配Nport ID的时间,显著提升芯片性能。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种FC芯片数据发送方法及系统。
背景技术
目前,FC芯片大量应用于服务器和存储设备组网中,通常存储设备上的一个端口通过交换机可以与多个服务器端口建立连接,所有端口的记录构成一个记录数组。
当本地端口需要与某个远端端口进行数据交互时,需要首先根据远端端口的Nport ID遍历查找记录数组,找到跟给定的Nport ID匹配的远端端口的记录项,获取到远端端口的所有相关信息才能与远端端口进行通信。在大规模组网中,一个本地端口可能与几千个远端端口建立逻辑连接,对应的记录数组中就有几千项,此时再进行遍历查找会严重影响芯片性能。
发明内容
针对现有技术中的缺陷,本发明提供了一种FC芯片数据发送方法,旨在解决现有技术中在大规模组网中,一个本地端口可能与几千个远端端口建立逻辑连接,对应的记录数组中就有几千项,此时再进行遍历查找会严重影响芯片性能的问题。
本发明所提供的技术方案是:一种FC芯片数据发送方法,所述方法包括下述步骤:
当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析,获取所述IOCB请求所包含的Nport ID以及与其对应的端口控制块PCB数组记录下标Nport Handle;
根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与所述PCB数组记录下标Nport Handle相匹配的记录数组;
根据定位到的记录数组,在所述记录数组中获取目标远端端口的记录数据;
根据获取到的所述目标远端端口的记录数据,将目标数据发送给所述目标远端端口。
作为一种改进的方案,所述当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析的步骤之前还包括下述步骤:
当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组,所述记录数据包括Nport ID和WWPN信息。
作为一种改进的方案,所述当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组的步骤之前还包括下述步骤:
在形成数组记录时,为每一个远端端口分配一个不重复的PCB数组记录下标NportHandle,并在PCB数组记录下标Nport Handle与Nport ID之间建立对应关系,同时将PCB数组记录下标Nport Handle与Nport ID之间的对应关系保存在所述FC芯片中。
作为一种改进的方案,所述方法还包括下述步骤:
在建立所述PCB数组记录下标Nport Handle与Nport ID之间建立对应关系时,在所述IOCB中添加远端端口的所述PCB数组记录下标Nport Handle字段和Nport ID。
本发明的另一目的在于提供一种FC芯片数据发送系统,所述系统包括:
请求解析模块,用于当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析,获取所述IOCB请求所包含的Nport ID以及与其对应的端口控制块PCB数组记录下标NportHandle;
记录数组定位模块,用于根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与所述PCB数组记录下标Nport Handle相匹配的记录数组;
记录数据获取模块,用于根据定位到的记录数组,在所述记录数组中获取目标远端端口的记录数据;
目标数据发送模块,用于根据获取到的所述目标远端端口的记录数据,将目标数据发送给所述目标远端端口。
作为一种改进的方案,所述系统还包括:
记录数组生成模块,用于当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组,所述记录数据包括Nport ID和WWPN信息。
作为一种改进的方案,所述系统还包括:
下标分配模块,用于在形成数组记录时,为每一个远端端口分配一个不重复的PCB数组记录下标Nport Handle;
对应关系建立模块,用于在PCB数组记录下标Nport Handle与Nport ID之间建立对应关系;
对应关系保存模块,用于将PCB数组记录下标Nport Handle与Nport ID之间的对应关系保存在所述FC芯片中。
作为一种改进的方案,所述系统还包括:
字段添加模块,用于在建立所述PCB数组记录下标Nport Handle与Nport ID之间建立对应关系时,在所述IOCB中添加远端端口的所述PCB数组记录下标Nport Handle字段和Nport ID。
在本发明实施例中,当接收到IOCB发送的IOCB请求时,对IOCB请求进行解析,获取IOCB请求所包含的Nport ID以及与其对应的PCB数组记录下标Nport Handle;根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与PCB数组记录下标Nport Handle相匹配的记录数组;根据定位到的记录数组,在记录数组中获取目标远端端口的记录数据;根据获取到的目标远端端口的记录数据,将目标数据发送给目标远端端口,从而实现记录数组的快速定位,节省遍历查找所有记录匹配Nport ID的时间,显著提升芯片性能。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1是本发明提供的FC芯片数据发送方法的实现流程图;
图2是本发明提供的FC芯片数据发送系统的结构框图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的、技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
图1示出了本发明提供的FC芯片数据发送方法的实现流程图,其具体包括下述步骤:
在步骤S101中,当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析,获取所述IOCB请求所包含的Nport ID以及与其对应的端口控制块PCB数组记录下标NportHandle;
在步骤S102中,根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与所述PCB数组记录下标Nport Handle相匹配的记录数组;
在步骤S103中,根据定位到的记录数组,在所述记录数组中获取目标远端端口的记录数据;
在步骤S104中,根据获取到的所述目标远端端口的记录数据,将目标数据发送给所述目标远端端口。
在该实施例中,以Nport Handle定位芯片内部的记录信息,节省遍历查找所有记录匹配Nport ID的时间;可显著提高芯片性能。
在本发明实施例中,在执行上述步骤S101之前还需要执行下述步骤:
当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组,所述记录数据包括Nport ID和WWPN信息;
其中记录数组的内容为:
在该实施例中,在形成数组记录时,为每一个远端端口分配一个不重复的PCB数组记录下标Nport Handle,并在PCB数组记录下标Nport Handle与Nport ID之间建立对应关系,同时将PCB数组记录下标Nport Handle与Nport ID之间的对应关系保存在所述FC芯片中;
在该实施例中,在建立所述PCB数组记录下标Nport Handle与Nport ID之间建立对应关系时,在所述IOCB中添加远端端口的所述PCB数组记录下标Nport Handle字段和Nport ID。
在本发明实施例中,在IOCB中添加Nport Handle字段,Nport Handle由驱动层分配,每发现一个远端端口为其分配一个不重复的Nport Handle。在与远端端口进行交互时,将远端端口的Nport ID和Nport Handle一并填入到IOCB中。芯片执行该IOCB时,从中取出Nport Handle可以直接定位到数组中的记录,无需遍历查找,极大提高性能。
在本发明实施例中,Nport ID的定义为:FC协议规定的24bit端口标识(示例:0x043300),通常由交换机分配;FC网络中传输的任意报文中都带有两个Nport ID:D_ID和S_ID,分别表明该Frame发往哪个端口以及由哪个端口发出。
Nport Handle的定义为:一个FC端口可以通过交换机划ZONE与多个远端端口建立Login,芯片每发现一个远端端口都会在芯片中创建一个PCB(Port Control Block)记录相关信息,所有PCB空间构成一个数组。当需要与远端端口传送数据时,需要首先根据D_ID查找到PCB才能与远端进行通信,远端端口数目较多时查找PCB耗时较多;如果建立PCB数组下标与Nport ID的对应关系,驱动可以直接以该下标请求芯片向指定的远端端口发送数据,无需查找极大提高性能。这种与Nport ID的对应的PCB下标就是Nport Handle;
IOCB的定义为:I/O Control Block,一种驱动与芯片之间进行交互的数据结构,驱动通过向芯片发送IOCB请求芯片进行某些动作,如向外发送数据或者查询芯片参数等。
图2示出了本发明提供的FC芯片数据发送系统的结构框图,为了便于说明,图中仅给出了也本发明实施例想干的部分。
FC芯片数据发送系统包括:
请求解析模块11,用于当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析,获取所述IOCB请求所包含的Nport ID以及与其对应的端口控制块PCB数组记录下标Nport Handle;
记录数组定位模块12,用于根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与所述PCB数组记录下标Nport Handle相匹配的记录数组;
记录数据获取模块13,用于根据定位到的记录数组,在所述记录数组中获取目标远端端口的记录数据;
目标数据发送模块14,用于根据获取到的所述目标远端端口的记录数据,将目标数据发送给所述目标远端端口。
在该实施例中,记录数组生成模块15,用于当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组,所述记录数据包括Nport ID和WWPN信息。
下标分配模块16,用于在形成数组记录时,为每一个远端端口分配一个不重复的PCB数组记录下标Nport Handle;
对应关系建立模块17,用于在PCB数组记录下标Nport Handle与Nport ID之间建立对应关系;
对应关系保存模块18,用于将PCB数组记录下标Nport Handle与Nport ID之间的对应关系保存在所述FC芯片中;
字段添加模块19,用于在建立所述PCB数组记录下标Nport Handle与Nport ID之间建立对应关系时,在所述IOCB中添加远端端口的所述PCB数组记录下标Nport Handle字段和Nport ID。
其中,各个模块的具体功能实现如上述方法实施例所记载,在此不再赘述。
在本发明实施例中,当接收到IOCB发送的IOCB请求时,对IOCB请求进行解析,获取IOCB请求所包含的Nport ID以及与其对应的PCB数组记录下标Nport Handle;根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与PCB下标Nport Handle相匹配的记录数组;根据定位到的记录数组,在记录数组中获取目标远端端口的记录数据;根据获取到的目标远端端口的记录数据,将目标数据发送给目标远端端口,从而实现记录数组的快速定位,节省遍历查找所有记录匹配Nport ID的时间,显著提升芯片性能。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (8)
1.一种FC芯片数据发送方法,其特征在于,所述方法包括下述步骤:
当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析,获取所述IOCB请求所包含的Nport ID以及与其对应的端口控制块PCB数组记录下标Nport Handle;
根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与所述PCB数组记录下标Nport Handle相匹配的记录数组;
根据定位到的记录数组,在所述记录数组中获取目标远端端口的记录数据;
根据获取到的所述目标远端端口的记录数据,将目标数据发送给所述目标远端端口。
2.根据权利要求1所述的FC芯片数据发送方法,其特征在于,所述当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析的步骤之前还包括下述步骤:
当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组,所述记录数据包括Nport ID和WWPN信息。
3.根据权利要求2所述的FC芯片数据发送方法,其特征在于,所述当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组的步骤之前还包括下述步骤:
在形成数组记录时,为每一个远端端口分配一个不重复的PCB数组记录下标NportHandle,并在PCB数组记录下标Nport Handle与Nport ID之间建立对应关系,同时将PCB数组记录下标Nport Handle与Nport ID之间的对应关系保存在所述FC芯片中。
4.根据权利要求3所述的FC芯片数据发送方法,其特征在于,所述方法还包括下述步骤:
在建立所述PCB数组记录下标Nport Handle与Nport ID之间建立对应关系时,在所述IOCB中添加远端端口的所述PCB数组记录下标Nport Handle字段和Nport ID。
5.一种FC芯片数据发送系统,其特征在于,所述系统包括:
请求解析模块,用于当接收到IOCB发送的IOCB请求时,对所述IOCB请求进行解析,获取所述IOCB请求所包含的Nport ID以及与其对应的端口控制块PCB数组记录下标NportHandle;
记录数组定位模块,用于根据获取到的PCB数组记录下标Nport Handle,在FC芯片内部定位与所述PCB数组记录下标Nport Handle相匹配的记录数组;
记录数据获取模块,用于根据定位到的记录数组,在所述记录数组中获取目标远端端口的记录数据;
目标数据发送模块,用于根据获取到的所述目标远端端口的记录数据,将目标数据发送给所述目标远端端口。
6.根据权利要求5所述的FC芯片数据发送系统,其特征在于,所述系统还包括:
记录数组生成模块,用于当存储端口检测到一个远端端口时,在所述FC芯片内生成一项包含记录数据的一组记录,所有远端端口对应的若干个记录形成记录数组,所述记录数据包括Nport ID和WWPN信息。
7.根据权利要求6所述的FC芯片数据发送系统,其特征在于,所述系统还包括:
下标分配模块,用于在形成数组记录时,为每一个远端端口分配一个不重复的PCB数组记录下标Nport Handle;
对应关系建立模块,用于在PCB数组记录下标Nport Handle与Nport ID之间建立对应关系;
对应关系保存模块,用于将PCB数组记录下标Nport Handle与Nport ID之间的对应关系保存在所述FC芯片中。
8.根据权利要求7所述的FC芯片数据发送系统,其特征在于,所述系统还包括:
字段添加模块,用于在建立所述PCB数组记录下标Nport Handle与Nport ID之间建立对应关系时,在所述IOCB中添加远端端口的所述PCB数组记录下标Nport Handle字段和Nport ID。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910574307.5A CN110377800B (zh) | 2019-06-28 | 2019-06-28 | 一种fc芯片数据发送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910574307.5A CN110377800B (zh) | 2019-06-28 | 2019-06-28 | 一种fc芯片数据发送方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110377800A CN110377800A (zh) | 2019-10-25 |
CN110377800B true CN110377800B (zh) | 2022-02-18 |
Family
ID=68251125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910574307.5A Active CN110377800B (zh) | 2019-06-28 | 2019-06-28 | 一种fc芯片数据发送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110377800B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111245794B (zh) * | 2019-12-31 | 2021-01-22 | 中科驭数(北京)科技有限公司 | 数据传输方法和装置 |
CN111200608B (zh) * | 2020-01-02 | 2021-08-03 | 中科驭数(北京)科技有限公司 | 链路信息处理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624613A (zh) * | 2012-02-29 | 2012-08-01 | 福建星网锐捷网络有限公司 | 一种以太网网络设备及其转发FCoE数据方法 |
CN104333469A (zh) * | 2014-11-13 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | 一种存储系统光纤通道fc会话管理方法和系统 |
US8954627B2 (en) * | 2008-06-09 | 2015-02-10 | International Business Machines Corporation | Fibre channel N-port ID virtualization protocol |
-
2019
- 2019-06-28 CN CN201910574307.5A patent/CN110377800B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954627B2 (en) * | 2008-06-09 | 2015-02-10 | International Business Machines Corporation | Fibre channel N-port ID virtualization protocol |
CN102624613A (zh) * | 2012-02-29 | 2012-08-01 | 福建星网锐捷网络有限公司 | 一种以太网网络设备及其转发FCoE数据方法 |
CN104333469A (zh) * | 2014-11-13 | 2015-02-04 | 浪潮(北京)电子信息产业有限公司 | 一种存储系统光纤通道fc会话管理方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110377800A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377800B (zh) | 一种fc芯片数据发送方法及系统 | |
CN101616094B (zh) | 报文转发路径的获取方法和设备 | |
CN109800336B (zh) | 基于键值对存储系统的表格实现方法、装置、设备和介质 | |
US10523753B2 (en) | Broadcast data operations in distributed file systems | |
CN111314450B (zh) | 数据的传输方法、装置、电子设备和计算机存储介质 | |
CN108206788B (zh) | 一种流量的业务识别方法及相关设备 | |
CN109063077A (zh) | 一种基于弹性搜索的数据访问方法及装置 | |
CN104639497A (zh) | 远程访问配置方法、远程访问方法、装置和系统 | |
CN100414936C (zh) | 平衡网络文件系统服务器多网卡间负载的方法 | |
CN114465791B (zh) | 网管设备中白名单的建立方法、装置、存储介质及处理器 | |
CN108616896B (zh) | 运营商识别方法、装置及互联网访问系统 | |
CN100349423C (zh) | 堆叠系统中文件的访问方法 | |
CN111585963A (zh) | 一种数据获取方法、系统及存储介质 | |
CN115913937A (zh) | 一种容器多网卡网络配置方法、装置、设备及存储介质 | |
CN107249050B (zh) | 云平台中资源的管理方法和装置 | |
CN111600929B (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN103106242A (zh) | 一种话单查询方法及查询系统 | |
US7735128B2 (en) | Method of storing pattern matching policy and method of controlling alert message | |
US8464331B2 (en) | Data transmission management server and method | |
EP3534576B1 (en) | Packet transmission | |
CN109634908A (zh) | 数据关联方法、数据处理设备及存储介质 | |
CN107493181B (zh) | 虚拟扩展端口的指示方法和装置 | |
CN115480934A (zh) | 一种分布式数据处理的方法、装置、设备及储存介质 | |
CN112866005B (zh) | 一种用户访问日志的处理方法、装置、设备及存储介质 | |
CN111522510B (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 |