CN103559155B - 一种数据传输方法、相关装置及数据传输系统 - Google Patents
一种数据传输方法、相关装置及数据传输系统 Download PDFInfo
- Publication number
- CN103559155B CN103559155B CN201310511619.4A CN201310511619A CN103559155B CN 103559155 B CN103559155 B CN 103559155B CN 201310511619 A CN201310511619 A CN 201310511619A CN 103559155 B CN103559155 B CN 103559155B
- Authority
- CN
- China
- Prior art keywords
- host bus
- bus adapter
- hba card
- adapter hba
- data transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 32
- 239000000835 fiber Substances 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000006855 networking Effects 0.000 description 7
- 241001522296 Erithacus rubecula Species 0.000 description 6
- 230000006870 function Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了数据传输方法,包括:获取系统中所有HBA卡的硬件配置信息;根据硬件配置信息,分析每个HBA卡的硬件性能参考信息;根据每个HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中HBA卡对应的路径进行数据传输。相应地,本发明还公开了一种数据传输装置、网络设备和数据传输系统,采用本发明,通过获取所有HBA卡的硬件配置信息,分析每个HBA卡的硬件性能参考信息,选择高性能的路径下发I/O,解决了现有技术中未能充分考虑实际使用环境中各路径的HBA卡硬件差异,导致I/O的处理效率不高,硬件利用率较低的问题,而且能有效的预防I/O拥塞发生。
Description
技术领域
本发明涉及通信领域,尤其涉及一种数据传输方法、相关装置及数据传输系统。
背景技术
为了提高数据传输的可靠性,避免单点故障,应用服务器与存储系统之间往往采用多条链路(称为路径)相连的方式来进行数据传输。多路径软件负责管理多条路径,并选取优选路径下发输入/输出(Input/Output,I/O)以保证业务性能,并负责路径故障时I/O能切换到备用路径下发:
当前的选路算法中,如图1,有些是在选择路径时仅考虑选择优选控制器中的路径,发送所有I/O到该单条路径(即图1中的路径2),在该算法中,若某条路径发生故障,那么选择备用路径来发送所有的I/O;如图2,还有些是将I/O平均分布于所有可用的优选控制器路径上(即图2中的路径1和路径2平分进行数据传输)。
然而,上述选路方法未充分考虑实际使用环境中各路径的主机总线适配器(Host Bus Adapter,HBA)卡硬件差异,存在所选择路径未在高性能HBA卡最优的路径上下发的可能,或者未能合理利用高性能HBA卡的性能优势,导致I/O的处理效率不高,硬件利用率较低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据传输方法、数据传输方法装置、网络设备以及数据传输系统,可保证I/O的处理效率,提高硬件利用率,并能有效的预防I/O拥塞发生。
第一方面,本发明实施例提供了一种数据传输方法,包括:
获取系统中所有主机总线适配器HBA卡的硬件配置信息;
根据所述硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;
根据所述每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输。
结合第一方面,在第一种可能的实现方式中,所述获取系统中所有主机总线适配器HBA卡的硬件配置信息的步骤包括:
向系统发送查询主机总线适配器HBA卡列表的请求信息;
接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;
根据所述主机总线适配器HBA卡列表信息,向系统查询列表中每个主机总线适配器HBA卡的硬件配置信息;
获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
结合第一方面,或者第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述选择系统中主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,
按比例分配路径进行数据传输。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;
所述分析每个主机总线适配器HBA卡的硬件性能参考信息的步骤包括:
选取其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;
分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
所述按比例分配路径进行数据传输的步骤包括:
以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
第二方面,本发明实施例提供了一种数据传输装置,包括:
获取模块,用于获取系统中所有主机总线适配器HBA卡的硬件配置信息;
硬件性能分析模块,用于根据所述获取模块获取的硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;
调用选择模块,用于根据所述硬件性能分析模块分析出的每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输。
结合第二方面,在第一种可能的实现方式中,所述获取模块包括:
查询列表请求发送单元,用于向系统发送查询主机总线适配器HBA卡列表的请求信息;
列表接收单元,用于接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;
查询配置请求发送单元,用于根据所述列表接收单元接收的主机总线适配器HBA卡列表信息,向系统发送查询列表中每个主机总线适配器HBA卡的硬件配置信息的请求信息;
配置信息获取单元,用于获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
结合第二方面,或者第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述调用选择模块包括:
数据传输选取单元,用于选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,
数据传输分配单元,用于按比例分配路径进行数据传输。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;
所述硬件性能分析模块包括:
参考值选取单元,用于选取其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;
比值计算单元,用于分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述数据传输选取单元,具体用于确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
所述数据传输分配单元,具体用于以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
第三方面,本发明实施例提供了一种网络设备,包括:输入装置、输出装置、存储器和处理器;
其中,所述处理器执行如下步骤:
获取系统中所有主机总线适配器HBA卡的硬件配置信息;根据所述硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;根据所述每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输。
结合第三方面,在第一种可能的实现方式中,所述处理器获取系统中所有主机总线适配器HBA卡的硬件配置信息的步骤包括:
向系统发送查询主机总线适配器HBA卡列表的请求信息;接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;根据所述主机总线适配器HBA卡列表信息,向系统查询列表中每个主机总线适配器HBA卡的硬件配置信息;获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
结合第三方面,或者第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器选择系统中主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,按比例分配路径进行数据传输。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;
所述处理器分析每个主机总线适配器HBA卡的硬件性能参考信息的步骤包括:
选取其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述处理器选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
所述处理器按比例分配路径进行数据传输的步骤包括:
以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
第四方面,本发明实施例提供了一种数据传输系统,包括应用服务器和存储系统,所述应用服务器包括结合第三方面、或者第三方面的第一种可能的实现方式,或者第三方面的第二种可能的实现方式,或者第三方面的第三种可能的实现方式,或者第三方面的第四种可能的实现方式中的网络设备,并通过所述网络设备控制应用服务器与所述存储系统之间的数据传输。
通过实施本发明实施例,获取所有HBA卡的硬件配置信息,分析每个HBA卡的硬件性能参考信息,选择高性能的路径下发I/O,解决了现有技术中未能充分考虑实际使用环境中各路径的HBA卡硬件差异,导致I/O的处理效率不高,硬件利用率较低的问题,不仅能保证I/O的处理效率,提高硬件利用率,而且能有效的预防I/O拥塞发生。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中数据传输第一实施例的组网示意图;
图2是现有技术中数据传输第二实施例的组网示意图;
图3是本发明提供的数据传输方法的流程示意图;
图4是本发明获取硬件配置信息的流程示意图;
图5是本发明中数据传输第一实施例的组网示意图;
图6是本发明中数据传输第二实施例的组网示意图;
图7是本发明实施例的数据传输装置的结构示意图;
图8是本发明实施例的获取模块的结构示意图;
图9是本发明实施例的网络设备的结构示意图;
图10是本发明实施例的数据传输系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图3,是本发明提供的数据传输方法的流程示意图,该方法包括:
步骤S300:获取系统中所有HBA卡的硬件配置信息;
步骤S302:根据所述硬件配置信息,分析每个HBA卡的硬件性能参考信息;
步骤S304:根据所述每个HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中HBA卡对应的路径进行数据传输。
具体地,通过预设不同的路径选择算法,可以选取硬件性能最好的HBA卡对应的路径进行数据传输;或者,可以按比例分配路径进行数据传输。
进一步地,如图4示出的本发明获取硬件配置信息的流程示意图,步骤S300可以包括:
步骤S3000:向系统发送查询HBA卡列表的请求信息;
具体地,路径控制软件向操作系统发送请求信息,以查询HBA卡列表信息;详细地,可以通过HBA_GetAdapterAttributes接口查询当前的HBA卡设备数目,通过HBA_GetAdapterName查询HBA卡的名称;
步骤S3002:接收系统根据所述查询HBA卡列表的请求信息返回的HBA卡列表信息;
步骤S3004:根据所述HBA卡列表信息,向系统查询列表中每个HBA卡的硬件配置信息;
具体地,路径控制软件分别向操作系统发送查询各个HBA卡硬件配置信息的请求,操作系统接收到每个请求后,查询出每个HBA卡的硬件配置信息,并向路径控制软件返回;详细地,可以使用hbaGetAdaptersInfo接口查询每个HBA卡对应的硬件配置信息。
步骤S3006:获取系统返回的每个HBA卡的硬件配置信息。
本发明实施例中的硬件配置信息包括光纤通道(Fiber Channel,FC)链路速率a、队列深度b和直接存储器访问(Direct Memory Access,DMA)大小c;
再进一步地,步骤S302可以包括:根据所述硬件配置信息,选取其中任意一个HBA卡的硬件配置信息为参考值,所述参考值为所述选取的HBA卡对应的a、b与c的乘积;分别计算每个HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个HBA卡的硬件性能参考信息。
具体地,该比值可以作为硬件性能影响因子x:
其中:
公式1中的a′、b′和c′分别为任意选取的一个HBA卡对应的FC链路速率、队列深度和DMA大小,即,a′*b′*c′作为参考值;
公式1中a、b和c分别为当前要计算的HBA卡对应的FC链路速率、队列深度和DMA大小;
那么,计算出的硬件性能影响因子x可以为HBA卡的硬件性能参考信息;
再进一步地,步骤S304中,根据所述每个HBA卡的硬件性能参考信息,调用预设的路径选择算法,可以选取硬件性能最好的HBA卡对应的路径进行数据传输;具体地:
根据计算出的每个HBA卡对应的硬件性能影响因子x,可以调用failover算法,假设原路径优先级为p,则优化后的路径优先级为:p′=p/x,然后每个重新优化后的路径优先级来进行选路;即,计算出的哪个HBA卡对应的硬件性能影响因子x越高,该路径优先级将越高,并最终选取优先级最高的路径进行数据传输。
为了更好地理解本发明实施例提供的技术方案,下面结合一个具体场景下的实施方式为例进行介绍。参考图5示出的本发明基于HBA卡的数据传输第一实施例的组网示意图进行说明,假设4G HBA卡的队列深度、DMA大小都比2GHBA卡大,FC链路速率一样;那么根据计算出的每个HBA卡对应的硬件性能影响因子x,调用failover算法进行路径,4G HBA卡的硬件性能影响因子x比GHBA卡硬件性能影响因子x大,最后选取了路径2作为优选路径进行数据传输,路径4作为备用路径。
再进一步地,步骤S304中,还可以根据所述每个HBA卡的硬件性能参考信息,调用预设的路径选择算法,按比例分配路径进行数据传输;具体地:
可以根据计算出的每个HBA卡对应的硬件性能影响因子x,可以调用round_robin算法,根据计算出的每个HBA卡对应的硬件性能影响因子x,调用failover算法,使用各个HBA卡硬件性能影响因子x作为发送到各路径上I/O的比例;即,假设某个HBA卡的硬件性能影响因子x为2,那么在该HBA卡对应的路径上发送2个I/O后,才会在选取为参考值的HBA卡对应的路径上发送1个I/O。
为了更好地理解本发明实施例提供的技术方案,下面结合一个具体场景下的实施方式为例进行介绍。参考图6示出的本发明基于HBA卡的数据传输第二实施例的组网示意图进行说明,假设4G HBA卡的队列深度、DMA大小都比2GHBA卡大,FC链路速率一样;那么根据计算出的每个HBA卡对应的硬件性能影响因子x,调用round_robin算法进行路径,假设4G HBA卡的硬件性能影响因子x比G HBA卡硬件性能影响因子x大两倍,那么最后通过4G HBA卡的路径2下发的I/O比通过2G HBA卡的路径1下发的I/O高两倍,路径3和路径4作为备用路径。
需要说明的是,本发明实施例中的HBA卡的硬件性能参考信息不限于比值x(即硬件性能影响因子x),还可以其他反映HBA卡硬件性能参考信息的数值,本领域技术人员应知晓,这里不再赘述;另外,本发明实施例不限于调用failover算法,或者round_robin算法来进行路径选取,本领域技术人员应知晓,这里不再赘述。
实施本发明实施例的数据传输方法,通过获取所有HBA卡的硬件配置信息,分析每个HBA卡的硬件性能参考信息,具体可以在各基本选路算法的基础上增加HBA卡硬件性能作为路径优先级的影响因子,代入每个HBA卡的硬件性能影响因子后重新计算各路径的优先级或I/O分发比重,实现了选择高性能的路径下发I/O,解决了现有技术中未能充分考虑实际使用环境中各路径的HBA卡硬件差异,导致I/O的处理效率不高,硬件利用率较低的问题,不仅能保证I/O的处理效率,提高硬件利用率,而且能有效的预防I/O拥塞发生。
上述详细阐述了本发明实施例的数据传输方法,下面为了便于更好地实施本发明实施例的上述方案,相应地,下面还提供用于配合实施上述方案的相关装置。
如图7示出的本发明实施例的数据传输装置的结构示意图,包括:获取模块70、硬件性能分析模块72和调用选择模块74,其中
获取模块70用于获取系统中所有HBA卡的硬件配置信息;
硬件性能分析模块72用于根据获取模块70获取的硬件配置信息,分析每个HBA卡的硬件性能参考信息;
调用选择模块74用于根据硬件性能分析模块72分析出的每个HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中HBA卡对应的路径进行数据传输。
具体地,通过预设不同的路径选择算法,可以选取硬件性能最好的HBA卡对应的路径进行数据传输;或者,可以按比例分配路径进行数据传输。即调用选择模块74可以包括:数据传输选取单元740,用于选取硬件性能最好的HBA卡对应的路径进行数据传输;或者,数据传输分配单元742,用于按比例分配路径进行数据传输。
进一步地,如图8示出的本发明实施例的获取模块的结构示意图,进一步说明本发明实施例中数据传输装置,获取模块70包括:查询列表请求发送单元700、列表接收单元702、查询配置请求发送单元704和配置信息获取单元706,其中
查询列表请求发送单元700用于向系统发送查询HBA卡列表的请求信息;
具体地,查询列表请求发送单元700向操作系统发送请求信息,以查询HBA卡列表信息;详细地,可以通过HBA_GetAdapterAttributes接口查询当前的HBA卡设备数目,通过HBA_GetAdapterName查询HBA卡的名称;
列表接收单元702用于接收系统根据所述查询HBA卡列表的请求信息返回的HBA卡列表信息;
查询配置请求发送单元704用于根据列表接收单元702接收的HBA卡列表信息,向系统发送查询列表中每个HBA卡的硬件配置信息的请求信息;
具体地,查询配置请求发送单元704分别向操作系统发送查询各个HBA卡硬件配置信息的请求,操作系统接收到每个请求后,查询出每个HBA卡的硬件配置信息,并向路径控制软件返回;详细地,可以使用hbaGetAdaptersInfo接口查询每个HBA卡对应的硬件配置信息。
配置信息获取单元706用于获取系统返回的每个HBA卡的硬件配置信息。
本发明实施例中的硬件配置信息包括光纤通道(Fiber Channel,FC)链路速率a、队列深度b和直接存储器访问(Direct Memory Access,DMA)大小c;
再进一步地,硬件性能分析模块72可以包括:参考值选取单元和比值计算单元,其中
参考值选取单元用于选取其中任意一个HBA卡的硬件配置信息为参考值,所述参考值为所述选取的HBA卡对应的a、b与c的乘积;
比值计算单元用于分别计算每个HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个HBA卡的硬件性能参考信息。
具体地,该比值可以作为硬件性能影响因子x:
其中:
公式1中的a′、b′和c′分别为任意选取的一个HBA卡对应的FC链路速率、队列深度和DMA大小,即,a′*b′*c′作为参考值;
公式1中a、b和c分别为当前要计算的HBA卡对应的FC链路速率、队列深度和DMA大小;
那么,计算出的硬件性能影响因子x可以为HBA卡的硬件性能参考信息;
再进一步地,数据传输选取单元740可以根据计算出的每个HBA卡对应的硬件性能影响因子x,可以调用failover算法,假设原路径优先级为p,则优化后的路径优先级为:p′=p/x,然后每个重新优化后的路径优先级来进行选路;即,计算出的哪个HBA卡对应的硬件性能影响因子x越高,该路径优先级将越高,并最终选取优先级最高的路径进行数据传输。
为了更好地理解本发明实施例提供的技术方案,下面结合一个具体场景下的实施方式为例进行介绍。参考图5示出的本发明基于HBA卡的数据传输第一实施例的组网示意图进行说明,假设4G HBA卡的队列深度、DMA大小都比2GHBA卡大,FC链路速率一样;那么硬件性能分析模块72根据计算出的每个HBA卡对应的硬件性能影响因子x,调用failover算法进行路径,4G HBA卡的硬件性能影响因子x比G HBA卡硬件性能影响因子x大,数据传输选取单元740最后选取了路径2作为优选路径进行数据传输,路径4作为备用路径。
再进一步地,数据传输分配单元742可以根据计算出的每个HBA卡对应的硬件性能影响因子x,可以调用round_robin算法,根据计算出的每个HBA卡对应的硬件性能影响因子x,调用failover算法,使用各个HBA卡硬件性能影响因子x作为发送到各路径上I/O的比例;即,假设某个HBA卡的硬件性能影响因子x为2,那么在该HBA卡对应的路径上发送2个I/O后,才会在选取为参考值的HBA卡对应的路径上发送1个I/O。
为了更好地理解本发明实施例提供的技术方案,下面结合一个具体场景下的实施方式为例进行介绍。参考图6示出的本发明基于HBA卡的数据传输第二实施例的组网示意图进行说明,假设4G HBA卡的队列深度、DMA大小都比2GHBA卡大,FC链路速率一样;那么硬件性能分析模块72根据计算出的每个HBA卡对应的硬件性能影响因子x,调用round_robin算法进行路径,假设4G HBA卡的硬件性能影响因子x比G HBA卡硬件性能影响因子x大两倍,那么数据传输分配单元742控制最后通过4G HBA卡的路径2下发的I/O比通过2G HBA卡的路径1下发的I/O高两倍,路径3和路径4作为备用路径。
需要说明的是,本发明实施例中的HBA卡的硬件性能参考信息不限于比值x(即硬件性能影响因子x),还可以其他反映HBA卡硬件性能参考信息的数值,本领域技术人员应知晓,这里不再赘述;另外,本发明实施例不限于调用failover算法,或者round_robin算法来进行路径选取,本领域技术人员应知晓,这里不再赘述。
相应地,本发明实施例还公开了一种网络设备,如图9示出的本发明实施例的一种网络设备的结构示意图,网络设备9可以包括:
输入装置90、输出装置92、存储器94和处理器96(网络设备中的处理器96的数量可以一个或多个,图9中以一个处理器为例)。在本发明的一些实施例中,输入装置91、输出装置92、存储器94和处理器96可通过总线或者其它方式连接,其中,图9中以通过总线连接为例。
其中,处理器96执行如下步骤:获取系统中所有主机总线适配器HBA卡的硬件配置信息;根据所述硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;根据所述每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输。
在本发明的一些实施例中,处理器96获取系统中所有主机总线适配器HBA卡的硬件配置信息的步骤包括:向系统发送查询主机总线适配器HBA卡列表的请求信息;接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;根据所述主机总线适配器HBA卡列表信息,向系统查询列表中每个主机总线适配器HBA卡的硬件配置信息;获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
在本发明的一些实施例中,处理器96选择系统中主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,按比例分配路径进行数据传输。
在本发明的一些实施例中,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;处理器96分析每个主机总线适配器HBA卡的硬件性能参考信息的步骤包括:
选取其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
在本发明的一些实施例中,处理器96选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
处理器96按比例分配路径进行数据传输的步骤包括:以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
本发明实施例的网络设备96例如可以是应用服务器,或者是应用服务器中的某一个硬件结构,或其它网络设备。
可以理解的是,本实施例的网络设备96的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
相应地,本发明实施例还公开了一种数据传输系统,如图10所示,本发明的数据传输系统包括应用服务器10和存储系统20,其中应用服务器10上述的网络设备90,并通过数据传输装置90控制应用服务器10与存储系统20之间的数据传输。
可以理解的是,本实施例的数据传输系统的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
综上所述,实施本发明实施例,通过获取所有HBA卡的硬件配置信息,分析每个HBA卡的硬件性能参考信息,具体可以在各基本选路算法的基础上增加HBA卡硬件性能作为路径优先级的影响因子,代入每个HBA卡的硬件性能影响因子后重新计算各路径的优先级或I/O分发比重,实现了选择高性能的路径下发I/O,解决了现有技术中未能充分考虑实际使用环境中各路径的HBA卡硬件差异,导致I/O的处理效率不高,硬件利用率较低的问题,不仅能保证I/O的处理效率,提高硬件利用率,而且能有效的预防I/O拥塞发生。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (16)
1.一种数据传输方法,其特征在于,包括:
获取系统中所有主机总线适配器HBA卡的硬件配置信息;
根据所述硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;
根据所述每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输;
其中,分析每个主机总线适配器HBA卡的硬件性能参考信息包括:选取其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,根据该参考值和每个主机总线适配器HBA卡的配置信息,计算得到每个主机总线适配器HBA卡的硬件性能参考信息。
2.根据权利要求1所述的方法,其特征在于,所述获取系统中所有主机总线适配器HBA卡的硬件配置信息的步骤包括:
向系统发送查询主机总线适配器HBA卡列表的请求信息;
接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;
根据所述主机总线适配器HBA卡列表信息,向系统查询列表中每个主机总线适配器HBA卡的硬件配置信息;
获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
3.根据权利要求1或2所述的方法,其特征在于,所述选择系统中主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
从系统的所有主机总线适配器HBA卡中选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,
按比例分配路径进行数据传输。
4.根据权利要求3所述的方法,其特征在于,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;
所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;
所述根据该参考值和每个主机总线适配器HBA卡的配置信息,计算得到每个主机总线适配器HBA卡的硬件性能参考信息包括:分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
5.根据权利要求4所述的方法,其特征在于,所述选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
所述按比例分配路径进行数据传输的步骤包括:
以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
6.一种数据传输装置,其特征在于,包括:
获取模块,用于获取系统中所有主机总线适配器HBA卡的硬件配置信息;
硬件性能分析模块,用于根据所述获取模块获取的硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;
调用选择模块,用于根据所述硬件性能分析模块分析出的每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输;
其中,所述硬件性能分析模块,具体用于将其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,根据该参考值和每个主机总线适配器HBA卡的配置信息,计算得到每个主机总线适配器HBA卡的硬件性能参考信息。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
查询列表请求发送单元,用于向系统发送查询主机总线适配器HBA卡列表的请求信息;
列表接收单元,用于接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;
查询配置请求发送单元,用于根据所述列表接收单元接收的主机总线适配器HBA卡列表信息,向系统发送查询列表中每个主机总线适配器HBA卡的硬件配置信息的请求信息;
配置信息获取单元,用于获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
8.根据权利要求6或7所述的装置,其特征在于,所述调用选择模块包括:
数据传输选取单元,用于从系统的所有主机总线适配器HBA卡中选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,
数据传输分配单元,用于按比例分配路径进行数据传输。
9.根据权利要求8所述的装置,其特征在于,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;
所述硬件性能分析模块包括:
参考值选取单元,用于选取其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;
比值计算单元,用于分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
10.根据权利要求9所述的装置,其特征在于,所述数据传输选取单元,具体用于确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
所述数据传输分配单元,具体用于以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
11.一种网络设备,其特征在于,包括:输入装置、输出装置、存储器和处理器;
其中,所述处理器执行如下步骤:
获取系统中所有主机总线适配器HBA卡的硬件配置信息;根据所述硬件配置信息,分析每个主机总线适配器HBA卡的硬件性能参考信息;根据所述每个主机总线适配器HBA卡的硬件性能参考信息,调用预设的路径选择算法,选择系统中主机总线适配器HBA卡对应的路径进行数据传输;
其中,所述处理器分析每个主机总线适配器HBA卡的硬件性能参考信息包括:将其中任意一个主机总线适配器HBA卡的硬件配置信息为参考值,根据该参考值和每个主机总线适配器HBA卡的配置信息,计算得到每个主机总线适配器HBA卡的硬件性能参考信息。
12.根据权利要求11所述的网络设备,其特征在于,所述处理器获取系统中所有主机总线适配器HBA卡的硬件配置信息的步骤包括:
向系统发送查询主机总线适配器HBA卡列表的请求信息;接收系统根据所述查询主机总线适配器HBA卡列表的请求信息返回的主机总线适配器HBA卡列表信息;根据所述主机总线适配器HBA卡列表信息,向系统查询列表中每个主机总线适配器HBA卡的硬件配置信息;获取系统返回的每个主机总线适配器HBA卡的硬件配置信息。
13.根据权利要求11或12所述的网络设备,其特征在于,所述处理器选择系统中主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
从系统的所有主机总线适配器HBA卡中选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输;或者,按比例分配路径进行数据传输。
14.根据权利要求13所述的网络设备,其特征在于,所述硬件配置信息包括光纤通道链路速率a、队列深度b和直接存储器访问大小c;
所述参考值为所述选取的主机总线适配器HBA卡对应的a、b与c的乘积;
所述处理器根据该参考值和每个主机总线适配器HBA卡的配置信息,计算得到每个主机总线适配器HBA卡的硬件性能参考信息的步骤包括:分别计算每个主机总线适配器HBA卡对应的a、b与c的乘积与所述参考值的比值,得出每个主机总线适配器HBA卡的硬件性能参考信息。
15.根据权利要求14所述的网络设备,其特征在于,所述处理器选取硬件性能最好的主机总线适配器HBA卡对应的路径进行数据传输的步骤包括:
确定所述比值中最高的主机总线适配器HBA卡作为硬件性能最好的主机总线适配器HBA卡,选取所述确定的主机总线适配器HBA卡对应的路径进行数据传输;
所述处理器按比例分配路径进行数据传输的步骤包括:
以每个主机总线适配器HBA卡对应的比值作为比例大小,分配路径进行数据传输。
16.一种数据传输系统,其特征在于,包括应用服务器和存储系统,所述应用服务器包括如权利要求11-15任一项所述的网络设备,通过所述网络设备控制应用服务器与所述存储系统之间的数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310511619.4A CN103559155B (zh) | 2013-10-25 | 2013-10-25 | 一种数据传输方法、相关装置及数据传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310511619.4A CN103559155B (zh) | 2013-10-25 | 2013-10-25 | 一种数据传输方法、相关装置及数据传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103559155A CN103559155A (zh) | 2014-02-05 |
CN103559155B true CN103559155B (zh) | 2016-09-14 |
Family
ID=50013405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310511619.4A Active CN103559155B (zh) | 2013-10-25 | 2013-10-25 | 一种数据传输方法、相关装置及数据传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103559155B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105739911B (zh) * | 2014-12-12 | 2018-11-06 | 华为技术有限公司 | 存储数据的分配方法、装置以及存储系统 |
CN113535525A (zh) * | 2020-04-15 | 2021-10-22 | 哲库科技(北京)有限公司 | 追踪消息的传输方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5522050A (en) * | 1993-05-28 | 1996-05-28 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
CN101258725A (zh) * | 2005-09-08 | 2008-09-03 | 国际商业机器公司 | 存储区域网络中的负载分布 |
CN101741831A (zh) * | 2008-11-10 | 2010-06-16 | 国际商业机器公司 | 动态物理和虚拟多路径输入/输出的方法、系统和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4845982B2 (ja) * | 2009-03-05 | 2011-12-28 | 株式会社日立製作所 | 情報処理装置、及びストレージシステムから取得した構成情報の管理方法 |
-
2013
- 2013-10-25 CN CN201310511619.4A patent/CN103559155B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5522050A (en) * | 1993-05-28 | 1996-05-28 | International Business Machines Corporation | Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus |
CN101258725A (zh) * | 2005-09-08 | 2008-09-03 | 国际商业机器公司 | 存储区域网络中的负载分布 |
CN101741831A (zh) * | 2008-11-10 | 2010-06-16 | 国际商业机器公司 | 动态物理和虚拟多路径输入/输出的方法、系统和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103559155A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109218355B (zh) | 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法 | |
CN106899680B (zh) | 多区块链的分片处理方法和装置 | |
US9904566B2 (en) | Selecting virtual machine placement by computing network link utilization and link variance | |
CN106471779B (zh) | 一种虚拟网络的保护方法和装置 | |
CN103179217A (zh) | 一种用于web应用服务器群组的负载均衡方法和装置 | |
US20160196073A1 (en) | Memory Module Access Method and Apparatus | |
CN102984085A (zh) | 映射方法及装置 | |
CN110069337A (zh) | 一种容灾降级的方法和装置 | |
CN114979024A (zh) | 算力网络交易方法、装置、计算机可读介质及电子设备 | |
CN114301980A (zh) | 容器集群的调度方法、装置、系统及计算机可读介质 | |
CN106375102A (zh) | 一种服务注册方法、使用方法及相关装置 | |
CN113452758A (zh) | 一种业务访问方法及装置 | |
CN103559155B (zh) | 一种数据传输方法、相关装置及数据传输系统 | |
CN109587068A (zh) | 流量切换方法、装置、设备及计算机可读存储介质 | |
CN109831467B (zh) | 数据传输方法、设备及系统 | |
CN114064288B (zh) | 用于分布式存储系统的数据链路分配方法、装置和设备 | |
CN114285889B (zh) | 应用服务的配置信息的处理方法、装置和设备 | |
CN110493040A (zh) | 航空机载网络的设计方法和装置 | |
CN116974748A (zh) | 资源调度方法、节点、设备、介质和程序产品 | |
CN104468337A (zh) | 消息传输方法及装置、消息管理中心设备及数据中心 | |
CN110247847A (zh) | 节点之间回源选路的方法和装置 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN113630327A (zh) | 流量控制方法、装置、电子设备和计算机可读介质 | |
CN115114009A (zh) | 数据查询方法、主节点及从节点 | |
CN112486876B (zh) | 一种分布式总线架构方法、装置和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |