专利名称:存储局域网络中处理外部服务请求的方法
技术领域:
本发明涉及一种存储局域网络数据处理方法,特别是涉及一种存储局域网 络中处理外部服务请求的方法。
背景技术:
随着因特网技术发展,存储局域网络(Storage Area Network, SAN)被提出 用于连接因特网中多个存储装置为虚拟的大型存储设备。使用者存取SAN中 的数据档案如同存取本地端的硬盘装置。相较于单一服务器的磁盘冗余阵列 (RAID),通过SAN技术建立的档案服务器更有者无限制扩充联机服务主机数 量以及相当程度的异地备援(可分散的设置服务主机)的优点。目前多通过 iSCSI技术来建立SAN, 一般而言, 一个SAN包含一个发起端(Initiator)以及 至少一个目标端(Target)。所谓目标端,可以当成提供档案存储空间的服务器。 当外部网络的发起端传送服务请求封包(以下简称为请求封包)给目标端时,目 标端执行请求封包对应的动作以询访提供存取服务的磁盘,或将档案数据存储 于对应的磁盘。
上述目标端亦可称为服务控制器(以下简称为控制器), 一个SAN中可包 括不只一个控制器,以图1为例说明现有的存储局域网络处理外部服务请求。 请参照图1, SAN中包括一个第一控制器120以及一个第二控制器130,当外 部网络110的一个请求发起端传送一个请求封包要求进行数据存取时,第一控 制器120上的第一网络卡124接收此请求封包。第一请求处理模块122判断此 请求封包所欲存取的存储装置(例如磁盘)是否存在,若不存在则通过第二网络 卡126将此请求封包转传送至其它控制器,在本例中例如将此请求封包转传送 至第二控制器130。第二控制器130通过第三网络卡134接收此请求封包,并 执行对应此请求封包的操作指令,以通过磁盘冗余阵列控制器138对磁盘140 进行存取数据档案。数据档案或响应封包(acknowledge packet)则基于TCP/IP 通讯协议依据原传送路径传送到第一控制器120后,再传送回外部网络110的请求发起端。然而,实际使用环境往往包含多个服务请求及数量庞大的传输 数据,再回传数据或响应封包的过程中,往往对控制器(例如第一控制器120) 的请求处理模块及对外网络卡造成相当传输压力,而影响整体传输速度。
发明内容
本发明所要解决的技术问题在于提供一种存储局域网络中处理外部服务 请求的方法,用于解决控制器的传输瓶颈问题。
鉴于上述存储局域网络(SAN)服务控制器(以下简称为控制器)传输压力影 响整体传输速度等问题,本发明的目的在于通过在转传送请求封包过程中,记 录请求发起端的来源地址,并依来源地址将响应封包及数据封包直接回传到请 求发起端,而不通过原传输路径回传,以解决控制器的传输瓶颈问题。
为了实现上述目的,本发明提供了一种存储局域网络中处理外部服务请求 的方法,适用于具有多控制器的一存储局域网络,其特征在于,该方法包括以
下步骤
该存储局域网络的一第一控制器接收外部网络的一请求封包; 该第一控制器将该请求封包传送至该存储局域网络中实际提供服务的一 第二控制器;
该第二控制器接收该请求封包,并解析该请求封包的一来源地址而加以记
录;
该第二控制器执行对应于该请求封包的操作指令,并在执行该操作指令后 产生一响应封包;以及
该第二控制器以该来源地址为该响应封包的目的地地址,直接传送该响应 封包至原始的一请求发起端。
所述的存储局域网络中处理外部服务请求的方法,其中,该第一控制器包 括 一第一请求处理模块,用于判断该请求封包需传送到该第二控制器,并将 一转传送通知附加在该请求封包而传送至该第二控制器。
所述的存储局域网络中处理外部服务请求的方法,其中,该第一控制器还 包括
一第一网络卡,接收该请求封包,并将该请求封包传送至该第一请求处理 模块;以及一第二网络卡,通过该第二网络卡传送该请求封包到该第二控制器。
所述的存储局域网络中处理外部服务请求的方法,其中,该第二控制器包 括 一第二请求处理模块,用于解析该请求封包的该来源地址、执行对应于该 请求封包的操作指令、以及判断该请求封包包含该转传送通知时,直接以该来 源地址为该响应封包的目的地地址。
所述的存储局域网络中处理外部服务请求的方法,其中,该请求封包的操 作指令包括査询逻辑巻、询访逻辑巻、读取档案数据、以及写入档案数据。
所述的存储局域网络中处理外部服务请求的方法,其中,该来源地址记录 于该第二控制器内建的一传送对照表,该传送对照表的字段选自于由来源地 址、第一控制器地址、第二控制器地址、以及执行的操作指令所组成的集合。
所述的存储局域网络中处理外部服务请求的方法,其中,该第二控制器还 包括
一第三网络卡,接收自该第一控制器传送的该请求封包,并将该请求封包 传送至该第二请求处理模块;以及
一第四网络卡,通过该第四网络卡传送该响应封包到该请求发起端。 由上所述,本发明的存储局域网络中处理外部服务请求的方法,在转传送 请求封包给第二控制器时,由第二控制器记录请求封包中的来源地址。此来源 地址为请求发起端的地址,当第二控制器执行存取动作后,第二控制器再进一 步改写响应封包或回传的数据封包中的目的地地址,以直接将响应封包或回传 的数据封包直接传送回外部网络中的请求发起端,用于避免依原传输路径通过 第一控制器回传庞大数量的响应封包所造成的传输流量瓶颈。
本发明针对上述存储局域网络(SAN)服务控制器(以下简称为控制器)传输 压力影响整体传输速度等问题,通过在转传送请求封包过程中,记录请求发起 端的来源地址,并依来源地址将响应封包及数据封包直接回传到请求发起端, 而不通过原传输路径回传,以解决控制器的传输瓶颈问题。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的 限定。
图1为现有的存储局域网络处理外部服务请求的示意图;图2为本发明的存储局域网络中处理外部服务请求的方法流程图3为本发明较佳实施例的存储局域网络中处理外部服务请求的示意图。
g中,附图标记
110外部网络
120第一控制器
122第一请求处理模块
124第一网络卡
126第二网络卡
130第二控制器
132第二请求处理模块
134第三网络卡
136第四网络卡
138磁盘冗余阵列控制器
140磁盘
具体实施例方式
下面结合附图和具体实施方式
对本发明的技术方案作进一步更详细的描述。
图2为本发明的存储局域网络(Storage Area Network, SAN)中处理外部服 务请求的方法流程图。请参照图2,本实施例中,存储局域网络具有多控制器 以控制磁盘存取动作,所述的存储局域网络中处理外部服务请求的方法,包括 以下步骤
首先,步骤S210,存储局域网络的第--控制器接收外部网络的请求封包。 接着,步骤S220,第一控制器将请求封包传送至存储局域网络中实际提供服 务的第二控制器。之后,步骤S230,第二控制器接收请求封包,并解析请求 封包的来源地址而加以记录。然后,步骤S240,第二控制器执行对应于请求 封包的操作指令,并在执行操作指令后产生响应封包。最后,步骤S250,第 二控制器以来源地址为响应封包的目的地地址,并直接传送响应封包至原始的 请求发起端。
其中,第一控制器内部的第一请求处理模块判断本地端(第一控制器端)所
7提供的服务是否满足由外部网络请求发起端(Initiator)发送的请求封包,若不可满足则将服务请求转传送到邻近的第二控制器,并预先在请求封包中附加一则转传送通知在传送至此第二控制器,以通知第二控制器"若可满足服务请求,则于执行该服务请求后直接将响应封包或回传的数据封包直接传送到外部网络的请求发起端"。
当第二控制器接收到请求封包后若发现封包中包含转传送通知,则先解析请求封包的来源地址并加以记录于本地内存或存储空间。之后,解析请求封包所请求的操作指令,并检查第二控制器所提供的服务是否满足请求封包的相应服务。其中,操作指令包括查询逻辑巻、询访逻辑巻、读取档案数据、以及
写入档案数据。若第二控制器可实际提供服务,则执行对应请求封包的操作指令,并于执行后产生响应封包,并回传至请求发起端。此时,第二控制器在回传响应封包(或数据封包)之前,先将封包的目的地地址改为先前记录的来源地址后,再传送这些修改后的响应封包(或数据封包),以达到直接将响应封包(或数据封包)直接传送到外部网络的目的,避免因传送数量庞大的响应封包(或数据封包),造成第一控制器的传输瓶颈,影响整体的传输数据速度。
接着,进一步以图3详细说明本发明。图3为本发明较佳实施例的存储局域网络中处理外部服务请求的示意图。请参照图3,外部网络110的一个请求发起端(Initiator)传送一则请求封包给第一控制器120以要求对某一存储设备进行数据存取动作。第一控制器120包含一个第一请求处理模块122、 一张第一网络卡124、以及一张第二网络卡126。当通过第一网络卡124接收此请求封包时,第一网络卡124将此请求封包交由第一请求处理模块122,并剖析此请求封包对应的服务请求对象。当判别第一控制器120不包含此服务请求对象时,即表示此请求封包需转传送至第二控制器130。此时第一请求处理模块122将转传送通知附加在此请求封包中,以通过第二网络卡126传送到第二控制器130。在一些实施例中,也可仅通过一张网络卡处理对外部网络UO及对内部网络的传输封包,并不限制对内与对外传输封包必须为不同张网络卡。
第二控制器130包括第二请求处理模块132、第三网络卡134、第四网络卡136以及控制多个磁盘140的磁盘冗余阵列控制器138。当第二控制器130通过第三网络卡134接收到请求封包时,将此请求封包传送到第二请求处理模块132剖析,以取出封包的来源地址,并解析请求封包所包含的请求服务项目
8及对应的操作指令。由于第二请求处理模块132发现在请求封包中包含转传送通知,便将来源地址记录于内建的传送对照表,同时并将请求封包中的前一转
传的控制器(第一控制器120)地址、目的地控制器(第二控制器130)地址,以及执行的操作指令等项目一并记录于传送对照表。当第二请求处理模块132判断可提供该请求封包所请求的服务项目时,通过第二请求处理模块132执行对应的操作指令,并控制磁盘冗余阵列控制器138存取磁盘140。
第二控制器130于执行上述的操作指令后,由第二请求处理模块132处理回传的响应封包(或数据封包),而直接传送给外部网络110的请求发起端。基于TCP/IP通讯协议,响应封包(或数据封包)的目的地地址应该为前一转传的控制器地址。本实施例中的第二请求处理模块132特在传送响应封包(或数据封包)之前,自传送对照表取出来源地址以取代原响应封包(或数据封包)的目的地地址,之后,这些响应封包(或数据封包)即直接通过第四网络卡136传送至外部网络110的请求发起端,而无须再经由第一控制器120。在本实施例中仅举例以两个控制器控制处理外部服务请求,然并不限制为两个控制器,多个控制器或任何以主从架构而产生传输瓶颈的系统架构皆可通过本发明的方法消弭传输瓶颈,用于避免传送庞大数量的响应封包所造成的传输瓶颈对整体传输速率的影响。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种存储局域网络中处理外部服务请求的方法,适用于具有多控制器的一存储局域网络,其特征在于,该方法包括以下步骤该存储局域网络的一第一控制器接收外部网络的一请求封包;该第一控制器将该请求封包传送至该存储局域网络中实际提供服务的一第二控制器;该第二控制器接收该请求封包,并解析该请求封包的一来源地址而加以记录;该第二控制器执行对应于该请求封包的操作指令,并在执行该操作指令后产生一响应封包;以及该第二控制器以该来源地址为该响应封包的目的地地址,直接传送该响应封包至原始的一请求发起端。
2、 根据权利要求1所述的存储局域网络中处理外部服务请求的方法,其特征在于,该第一控制器包括 一第一请求处理模块,用于判断该请求封包需传送到该第二控制器,并将一转传送通知附加在该请求封包而传送至该第二控制器。
3、 根据权利要求2所述的存储局域网络中处理外部服务请求的方法,其特征在于,该第一控制器还包括一第一网络卡,接收该请求封包,并将该请求封包传送至该第一请求处理模块;以及一第二网络卡,通过该第二网络卡传送该请求封包到该第二控制器。
4、 根据权利要求2所述的存储局域网络中处理外部服务请求的方法,其特征在于,该第二控制器包括 一第二请求处理模块,用于解析该请求封包的该来源地址、执行对应于该请求封包的操作指令、以及判断该请求封包包含该转传送通知时,直接以该来源地址为该响应封包的目的地地址。
5、 根据权利要求4所述的存储局域网络中处理外部服务请求的方法,其特征在于,该请求封包的操作指令包括查询逻辑巻、询访逻辑巻、读取档案数据、以及写入档案数据。
6、 根据权利要求1所述的存储局域网络中处理外部服务请求的方法,其特征在于,该来源地址记录于该第二控制器内建的一传送对照表,该传送对照表的字段选自于由来源地址、第一控制器地址、第二控制器地址、以及执行的操作指令所组成的集合。
7、根据权利要求4所述的存储局域网络中处理外部服务请求的方法,其特征在于,该第二控制器还包括一第三网络卡,接收自该第-一控制器传送的该请求封包,并将该请求封包传送至该第二请求处理模块;以及一第四网络卡,通过该第四网络卡传送该响应封包到该请求发起端。
全文摘要
本发明公开了一种存储局域网络中处理外部服务请求的方法。在具有多控制器的存储局域网络响应一服务请求,包括以存储局域网络的第一控制器接收外部网络的请求封包;第一控制器判断请求封包必需传送到内网中实际提供服务的第二控制器时,传送请求封包至第二控制器;第二控制器接收请求封包,并解析包含其中的来源地址而加以记录;第二控制器执行对应于请求封包的操作指令,并于执行此操作指令后产生响应封包;以及第二控制器以来源地址为响应封包的目的地址,直接传送响应封包至原始的请求发起端。
文档编号H04L29/08GK101471949SQ20071016068
公开日2009年7月1日 申请日期2007年12月29日 优先权日2007年12月29日
发明者刘庆彪, 刘文涵, 陈玄同, 高晓斌 申请人:英业达股份有限公司