专利名称:一种scsi分布式通信模型的制作方法
技术领域:
本发明涉及一种通信才莫型,尤其是一种SCSI (Small Computer System Interface,小型计算机系统接口 )分布式通信模型。
背景技术:
SCSI是一种高性能计算机外部设备接口 ,它的主要功能是在主机 和存储设备之间传送命令、状态和块数据。SCSI系统是一个分布式系 统,它釆用客户/服务器模型,其分布式通信模型建立在分层技术之上, 如图1所示,模型的每一层都由两个对等的实体组成(一个作为 Initiator端(发起端),则另一个作为Target端(目标端)),采用 特定的协议相互通信。下层协议向上层协议提供服务,上层协议利用 下层服务实现其协议。
SCSI的传输协议服务是利用服务分发子系统实现的,它描述了 SCSI传输协议的外部特征,是SCSI应用层对SCSI传输协议层的需求, 是SCSI传输协议层协议设计与实现的依据。SCSI标准定义了很多不 同的传输协议,用于不同的SCSI设备之间的信息交换。其中,最常用 的三种协i义是FC (Fiber Channel,光纤通道)协i义、iSCSI ( Internet SCSI,互联网SCSI)协议和SAS (Serial Attached SCSI,串行SCSI) 协议。FC协议定义了 SCSI接口到光纤通道的映射;iSCSI协议是一 种在Internet协议网络上,特别是以太网上进行数据块传输的标准,它基于IP (Internet Protocol,互联网协议)的技术标准,实现了 SCSI和TCP/IP( Transmission Control Protocol/Internet Protocol, 传输控制协议/互联网协议)的连接;SAS协议定义了使用串行接口通 讯的SCSI设备之间交换信息的方式。
SCSI协议的工作流程描述如下由Initiator端发起SCSI请求, 该请求可以是SCSI I/O命令或任务管理请求等;Target端接收并处 理这些SCSI请求,并将处理结果返回至Initiator端。从图1中可以 看出,现有的SCSI分布式通信模型中,SCSI传输协议层为上层应用 层提供服务接口,在实际使用中,可以根据不同的传输要求选择不同 的传输协议,但是无论选用何种传输协议,都需要应用层开发者针对 采用协议的不同编写各协议相对应的接口供应用层使用,而应用层开 发者往往对具体协议的理解不够深入,进而影响上层应用程序的开 发。因此,现有的SCSI分布式通信模型下应用层开发者无法专注于 存储产品自我特性的开发,往往会被繁杂的下层传输协议所困扰。
发明内容
本发明要解决的技术问题是提供一种SCSI分布式通信模型,使得 上层应用层的开发独立于传输协议。
本发明解决其技术问题所采用的技术方案是
一种SCSI分布式通信模型,包括应用层、传输协议层以及互连层, 所述SCSI分布式通信模型还包括位于所述应用层及传输协议层之间 的SCA(SCSI Common API, SCSI通用应用编程接口)层,所述SCA层 包括用于实现与所述应用层双向通信的公共接口 ,以及若干用于处理 不同协议的SCSI指令的指令处理模块,各个指令处理模块分别实现所
4述公共接口与所述传输协议层的双向通信。
上述方案中,所述用于处理不同协议的SCSI指令的指令处理模块
具体包括用于处理FC协议的SCSI指令的FC协议指令处理模块、用于 处理iSCSI协议的SCSI指令的iSCSI协议指令处理;漠块以及用于处理 SAS协议的SCSI指令的SAS协议指令处理模块,各个指令处理模块分 别实现所述公共接口与所述传输协议层相应协议模块的双向通信。
上述方案中,所述应用层、传输协议层及互连层均由分别作为 Initiator端及Target端的两个对等的实体组成。
上述方案中,所述SCA层位于Initiator端的应用层及传输协议 层之间时,相应的指令处理才莫块处理所述应用层Initiator端通过所 述公共接口传递的SCSI指令,并将处理结果传递给所述传输协议层 Initiator端相应的协i义才莫块。
上述方案中,所述SCA层位于Target端的应用层及传输协议层之 间时,相应的指令处理模块处理来自所述传输协议层Target端相应协 议模块的SCSI指令,并将处理结果通过所述公共接口传递给所述应用 层Target端。
上述方案中,所述两个对等的实体为不同的设备或者同 一设备上 的不同组成部分。
本发明的有益效果主要表现在本发明提供的技术方案在现有的 SCSI分布式通信模型的传输协议层和应用层之间增加了 一个统一的、 协调的SCSI Common AIP层,即SCA层,使得上层应用层的开发独立 于传输协议,从而达到应用程序开发的简化和便捷,开发者可以更专 注于存储产品自我特性的开发,而不会被繁杂的下层传输协议所困扰。
图1为现有SCSI分布式通信模型; 图2为本发明SCSI分布式通信模型; 图3为本发明SCA层结构示意图。
具体实施例方式
图1已在背景技术中加以描述,此处不再赘述。下面结合图2、
图3对本发明作进一步的描述。
参照图2, —种SCSI分布式通信模型,包括应用层、传输协议层、
互连层以及位于应用层及传输协议层之间的SCA层。SCA层从下层的
不同传输协议中抽象出统一的公共接口 ,使得上层用户在存储项目开
发过程中可以忽略下层协议的具体实现,只需调用SCA层提供的公共
接口,在此基础上实现自己的应用开发;当下层传输协议改变时,只
需在SCA层作相应的修改,对上层应用层的开发不产生任何影响。
图3为本发明SCA层结构示意图,图中一并绘示了上层应用层、 下层的传输协议层及互连层。如图3所示,SCA层具体包括用于实现 与应用层双向通信的公共接口 ,以及若干用于处理不同协议的SCSI 指令的指令处理模块,具体可包括用于处理FC协议的SCSI指令的FC 协议指令处理模块、用于处理iSCSI协议的SCSI指令的iSCSI协议指 令处理模块以及用于处理SAS协议的SCSI指令的SAS协议指令处理模 块,各个指令处理模块分别实现所述公共接口与传输协议层相应协议 模块的双向通信。
SCSI分布式通信模型中的应用层、传输协议层及互连层均由分别 作为Initiator端及Target端的两个对等的实体组成,每层的两个对等实体为不同的设备或者同 一设备上的不同组成部分。
当SCA层位于Initiator端的应用层及传输协议层之间时,相应 的指令处理模块处理应用层Initiator端通过所述公共接口传递的 SCSI指令,并将处理结果传递给传输协议层Initiator端相应的协议 模块。
当SCA层位于Target端的应用层及传输协议层之间时,相应的指 令处理模块处理来自传输协议层Target端相应协议模块的SCSI指令, 并将处理结果通过所述公共接口传递给应用层Target端。
以上所述仅为本发明的实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明 的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含 在本发明的权利要求范围之内。
权利要求
1、一种SCSI分布式通信模型,包括应用层、传输协议层以及互连层,其特征在于所述SCSI分布式通信模型还包括位于所述应用层及传输协议层之间的SCSI通用应用编程接口层,所述SCSI通用应用编程接口层包括用于实现与所述应用层双向通信的公共接口,以及若干用于处理不同协议的SCSI指令的指令处理模块,各个指令处理模块分别实现所述公共接口与所述传输协议层的双向通信。
2、 如权利要求1所述的SCSI分布式通信模型,其特征在于所 述用于处理不同协议的SCSI指令的指令处理模块具体包括用于处理 光纤通道协议的SCSI指令的光纤通道协议指令处理模块、用于处理互 联网SCSI协议的SCSI指令的互联网SCSI协议指令处理模块以及用于 处理串行SCSI协议的SCSI指令的串行SCSI协议指令处理模块,各个指令处理模块分别实现所述公共接口与所述传输协议层相应协议模块 的乂又向通4言。
3、 如权利要求1所述的SCSI分布式通信模型,其特征在于所 述应用层、传输协议层及互连层均由分别作为发起端及目标端的两个 对等的实体组成。
4、 如权利要求3所述的SCSI分布式通信模型,其特征在于所 述SCSI通用应用编程接口层位于发起端的应用层及传输协议层之间 时,相应的指令处理模块处理所述应用层发起端通过所述公共接口传 递的SCSI指令,并将处理结果传递给所述传输协议层发起端相应的协 议模块。
5、 如权利要求3所述的SCSI分布式通信模型,其特征在于所 述SCSI通用应用编程接口层位于目标端的应用层及传输协议层之间 时,相应的指令处理模块处理来自所述传输协议层目标端相应协议模 块的SCSI指令,并将处理结果通过所述公共接口传递给所述应用层目 标端。
6、 如权利要求3所述的SCSI分布式通信模型,其特征在于所 述两个对等的实体为不同的设备或者同 一设备上的不同组成部分。
全文摘要
本发明公开了一种SCSI分布式通信模型,包括应用层、传输协议层以及互连层,所述SCSI分布式通信模型还包括位于所述应用层及传输协议层之间的SCA层,所述SCA层包括用于实现与所述应用层双向通信的公共接口,以及若干用于处理不同协议的SCSI指令的指令处理模块,各个指令处理模块分别实现所述公共接口与所述传输协议层的双向通信。本发明所述技术方案使得上层应用层的开发独立于传输协议。
文档编号H04L29/06GK101605123SQ20081006782
公开日2009年12月16日 申请日期2008年6月11日 优先权日2008年6月11日
发明者婷 刘 申请人:中兴通讯股份有限公司