首页> 中国专利> 将数据导入iSCSI目标器的方法和iSCSI启动器

将数据导入iSCSI目标器的方法和iSCSI启动器

摘要

本发明涉及一种将数据导入iSCSI目标器的方法和iSCSI启动器。该方法包括:在预设时间内接收至少一个数据写入请求;将至少一个数据写入请求中携带的磁盘位置相邻的数据写入请求进行组合,得到组合数据写入请求;根据TCP链接最大报文段长度和iSCSI目标器的可用缓存区大小,对组合数据写入请求进行分割处理;将分割后的多个数据写入请求连续地发送至iSCSI目标器,用以iSCSI目标器将分割后的多个数据写入请求中携带的数据写入指定的磁盘位置。本发明实现了对收集到的数据写入请求进行合组合和分割,提高了TCP链接中SCSI数据传输所占比例。

著录项

  • 公开/公告号CN103533075A

    专利类型发明专利

  • 公开/公告日2014-01-22

    原文格式PDF

  • 申请/专利号CN201310504937.8

  • 发明设计人 张武;任静思;王劲林;郭秀岩;

    申请日2013-10-23

  • 分类号H04L29/08(20060101);G06F3/06(20060101);G06F9/445(20060101);

  • 代理机构11309 北京亿腾知识产权代理事务所;

  • 代理人陈霁

  • 地址 100190 北京市海淀区北四环西路21号中国科学院声学研究所

  • 入库时间 2024-02-19 23:15:09

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-05-03

    授权

    授权

  • 2014-02-26

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20131023

    实质审查的生效

  • 2014-01-22

    公开

    公开

说明书

技术领域

本发明涉及网络存储技术领域,尤其涉及一种将数据导入iSCSI目标器 的方法和iSCSI启动器。

背景技术

随着计算机技术的快速发展,信息数据呈几何级别地增长,信息数据的 存储成为急需解决的问题,为了解决这个问题,网络存储技术应用而生。互 联网小型计算机系统接口(Internet Small Computer System Interface, iSCSI)是基于IP协议的技术标准,该技术允许用户通过TCP/IP网络来构建 存储区域网(Storage Area Network,SAN)。iSCSI技术的出现对于以局域网 为网络环境的用户来说,只需少量的投资,就可以方便、快捷地对信息和数 据进行交互式传输和管理,因此构建具有大容量和高吞吐量的iSCSI系统, 对大规模的计算和存储都具有十分重要的意义。

现有的iSCSI存储网络在性能上相对于光纤通道存储网络仍然存在一定 差距。根据实际测试经验,基于1Gb的IP网络搭建IP SAN,采用全双工模式 的交换机,可以达到160MB/s的数据传输速率,相比全双工的光纤通道360MB/s 的传输速率尚有明显差距。因此,在现有网络环境的基础上,iSCSI系统中将 数据导入iSCSI target(目标器)的速率较低,进而导致了iSCSI存储网络 性能不高。

发明内容

本发明实施例提供了一种将数据导入iSCSI目标器的方法和iSCSI启动 器,实现了对收集到的数据写入请求进行合组合和分割,提高了TCP链接中 SCSI数据传输所占比例,并且充分利用了iSCSI目标器的写入数据缓存区, 降低了写数据延迟,提高了数据写入效率。

在第一方面,本发明实施例提供了一种将数据导入iSCSI目标器的方法, 应用于包括iSCSI启动器和iSCSI目标器的iSCSI系统中,所述iSCSI启动 器执行以下步骤:

在预设时间内接收至少一个数据写入请求,所述至少一个数据写入请求 中每个数据写入请求中都携带有目标数据以及所述目标数据要写入的磁盘位 置;

将所述至少一个数据写入请求中携带的磁盘位置相邻的数据写入请求进 行组合,得到组合数据写入请求;

根据TCP链接最大报文段长度和iSCSI目标器的可用缓存区大小,对所 述组合数据写入请求进行分割处理;

将分割后的多个数据写入请求连续地发送至iSCSI目标器,用以所述 iSCSI目标器将所述分割后的多个数据写入请求中携带的数据写入指定的磁 盘位置。

在第二方面,本发明实施例提供了一种将数据导入iSCSI目标器的iSCSI 启动器,应用于包括iSCSI启动器和iSCSI目标器的iSCSI系统中,所述iSCSI 启动器包括:

接收单元,用于在预设时间内接收至少一个数据写入请求,所述至少一 个数据写入请求中每个数据写入请求中都携带有目标数据以及所述目标数据 要写入的磁盘位置;

组合单元,用于将所述至少一个数据写入请求中携带的磁盘位置相邻的 数据写入请求进行组合,得到组合数据写入请求;

分割单元,用于根据TCP链接最大报文段长度和iSCSI目标器的可用缓 存区大小,对所述组合数据写入请求进行分割处理;

发送单元,用于将分割后的多个数据写入请求连续地发送至iSCSI目标 器,用以所述iSCSI目标器将所述分割后的多个数据写入请求中携带的数据 写入指定的磁盘位置。

因此,通过应用本发明实施例提供的将数据导入iSCSI目标器的方法和 iSCSI启动器,在预设时间内接收至少一个数据写入请求;将至少一个数据写 入请求中携带的磁盘位置相邻的数据写入请求进行组合,得到组合数据写入 请求;根据TCP链接最大报文段长度和iSCSI目标器的可用缓存区大小,对 组合数据写入请求进行分割处理;将分割后的多个数据写入请求连续地发送 至iSCSI目标器,用以iSCSI目标器将分割后的多个数据写入请求中携带的 数据写入指定的磁盘位置。解决了现有技术中将数据导入iSCSI目标器的速 率较低,进而导致了iSCSI存储网络性能不高的问题,实现了对收集到的数 据写入请求进行合组合和分割,提高了TCP链接中SCSI数据传输所占比例, 并且充分利用了iSCSI目标器的写入数据缓存区,降低了写数据延迟,提高 了数据写入效率。

附图说明

图1为本发明实施例一提供的将数据导入iSCSI目标器的方法流程图;

图2为本发明实施例一提供的将数据导入iSCSI目标器的示意图;

图3为本发明实施例二提供的将数据导入iSCSI目标器的iSCSI启动器 示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。

为便于对本发明技术方案的理解,下面将结合附图以具体实施例做进一 步的解释说明,实施例并不构成对本发明实施例的限定。

实施例一

下面以图1为例详细说明本发明实施例一提供的将数据导入iSCSI目标 器的方法,图1为本发明实施例一提供的将数据导入iSCSI目标器的方法流 程图,在本发明实施例中,执行下述步骤的实施主体可以为iSCSI initiator (启动器),但并不限制于此,下面以iSCSI启动器为实施主体详细说明。 如图1所示,该实施例具体包括以下步骤:

步骤101,在预设时间内接收至少一个数据写入请求,所述至少一个数据 写入请求中每个数据写入请求中都携带有目标数据以及所述目标数据要写入 的磁盘位置。

在接收数据写入请求之前,iSCSI系统首先进行初始化登录,在初始化登 录阶段,iSCSI启动器和iSCSI目标器进行协商,通过设置关键字立即数据 ImmediateData=Yes,写过程模型参数InitialR2T=No,用以iSCSI启动器可 以在发送写请求时携带要写的目标数据,并且允许非请求数据的发送。

在系统初始化完成后,iSCSI系统开启时间窗口计时器,启动后,开始接 收数据写入请求,在计时器计时到预设时间长度后,结束计时。在这个预设 时间内,iSCSI启动器可以接收到至少一个数据写入请求。

其中,每一个数据写入请求中都携带有要写入的目标数据,以及数据要 写入的磁盘阵列位置。

步骤102,将所述至少一个数据写入请求中携带的磁盘位置相邻的数据写 入请求进行组合,得到组合数据写入请求。

解析在预设时间内接收的数据写入请求,可以得到其中携带的磁盘阵列 位置以及也写入的目标数据,将磁盘阵列位置相邻的数据写入请求可以组合 成一个数据写入请求,即组合数据写入请求。

可选地,如果某个数据写入请求中携带的磁盘阵列位置与其他的任一数 据写入请求携带的磁盘阵列位置都不相邻,则对该单独的数据写入请求不做 任何处理。

步骤103,根据TCP链接最大报文段长度和iSCSI目标器的可用缓存区大 小,对所述组合数据写入请求进行分割处理。

在执行步骤103之前,即在时间窗口计时器结束计时时,iSCSI启动器可 以获取到当前TCP链接的最大报文段长度,在iSCSI系统初始化阶段,可以 获取到iSCSI目标器的可用缓存区大小。

可以将组合后的组合数据写入请求进行分割,得到多个既可以完全填充 TCP链接最大报文段长度的数据,又可以完全填充iSCSI目标器的可用缓存区 的数据写入请求。

步骤104,将分割后的多个数据写入请求连续地发送至iSCSI目标器,用 以所述iSCSI目标器将所述分割后的多个数据写入请求中携带的数据写入指 定的磁盘位置。

通过组合分割得到多个可以完全填充TCP最大报文段长度的数据写入请 求后,可以将分割后的多个数据写入请求使用Socket函数连续无间隔地提交 至TCP/IP协议栈,使得所述TCP/IP协议栈将所述分割后的多个数据写入请 求进行封装后发送至iSCSI目标器。

可选地,在将分割后的多个数据写入请求连续地发送至iSCSI目标器之 后,还可接收iSCSI目标器接收到分割后的每个数据写入请求之后发送的响 应消息,响应消息中携带有iSCSI目标器的可用缓存区大小;根据响应消息, 更新iSCSI启动器所记录的iSCSI目标器的可用缓存区大小。

当向iSCSI目标器发送的数据写入请求可以完全填充其缓存区大小时, 则暂时停止向iSCSI目标器发送数据写入请求,而是执行步骤101至步骤103, 等待iSCSI目标器清空缓存区时,再继续向iSCSI目标器发送数据写入请求。

因此,通过应用本发明实施例提供的将数据导入iSCSI目标器的方法, 在预设时间内接收至少一个数据写入请求;将至少一个数据写入请求中携带 的磁盘位置相邻的数据写入请求进行组合,得到组合数据写入请求;根据TCP 链接最大报文段长度和iSCSI目标器的可用缓存区大小,对组合数据写入请 求进行分割处理;将分割后的多个数据写入请求连续地发送至iSCSI目标器, 用以iSCSI目标器将分割后的多个数据写入请求中携带的数据写入指定的磁 盘位置。解决了现有技术中将数据导入iSCSI目标器的速率较低,进而导致 了iSCSI存储网络性能不高的问题,实现了对收集到的数据写入请求进行合 组合和分割,提高了TCP链接中SCSI数据传输所占比例,并且充分利用了 iSCSI目标器的写入数据缓存区,降低了写数据延迟,提高了数据写入效率。

下面给出采用本发明技术方案的一种将数据导入iSCSI目标器的一个示 例。本发明实施例作为示例而不是限定,给出了图2所示的将数据导入iSCSI 目标器的示意图,其中,iSCSI启动器在预设时间215内接收到了A、B、C三 个数据写入请求,通过分析这三个写入请求,确定数据写入请求A和C要访 问的磁盘阵列位置相邻,因此组合数据写入请求A和C,得到组合数据写入请 求AC,按照获取到的TCP链接最大报文段长度,可以将数据写入请求B以及 组合数据写入请求AC进行分割,得到数据写入请求B1、B2、B3、B4,A1、A2、 C1、C2、C3、C4、C5。最后,可以将B1、B2、B3、B4,A1、A2、C1、C2、C3、 C4、C5连续无间隔地发送至iSCSI目标器。由此,本发明实施例提供的iSCSI 启动器通过对接收到的数据写入请求进行组合分割,可以提高TCP链接中SCSI 数据传输所占比例,并且充分利用iSCSI目标器的写入数据缓存区,降低写 数据延迟,提高数据写入效率。

实施例二

本发明实施例二还提供了一种将数据导入iSCSI目标器的iSCSI启动器, 用以实现前述本发明实施例中的将数据导入iSCSI目标器的方法,如图3所 示,iSCSI启动器应用于包括iSCSI启动器和iSCSI目标器的iSCSI系统中, 主要包括以下功能单元:

接收单元301,用于在预设时间内接收至少一个数据写入请求,所述至少 一个数据写入请求中每个数据写入请求中都携带有目标数据以及所述目标数 据要写入的磁盘位置。

iSCSI系统在初始化完成后,开启时间窗口计时器,开始接收数据写入请 求,在计时器计时到预设时间长度后,结束计时。在这个预设时间内,iSCSI 启动器可以接收到至少一个数据写入请求。

组合单元302,用于将所述至少一个数据写入请求中携带的磁盘位置相邻 的数据写入请求进行组合,得到组合数据写入请求。

解析在预设时间内接收的数据写入请求,可以得到其中携带的磁盘阵列 位置以及也写入的目标数据,将磁盘阵列位置相邻的数据写入请求可以组合 成一个数据写入请求,即组合数据写入请求。

分割单元303,用于根据TCP链接最大报文段长度和iSCSI目标器的可用 缓存区大小,对所述组合数据写入请求进行分割处理。

可以将组合后的组合数据写入请求进行分割,得到多个既可以完全填充 TCP链接最大报文段长度的数据,又可以完全填充iSCSI目标器的可用缓存区 的数据写入请求。

发送单元304,用于将分割后的多个数据写入请求连续地发送至iSCSI 目标器,用以所述iSCSI目标器将所述分割后的多个数据写入请求中携带的 数据写入指定的磁盘位置。

发送单元304具体用于:将所述分割后的多个数据写入请求使用套接字 Socket函数连续无间隔地提交至TCP/IP协议栈,使得所述TCP/IP协议栈将 所述分割后的多个数据写入请求进行封装后发送至所述iSCSI目标器。

可选地,所述iSCSI启动器还包括:获取单元305,用于获取所述TCP 链接最大报文段长度。

可选地,所述iSCSI启动器还包括更新单元306,其中,接收单元301, 还用于接收所述iSCSI目标器接收到分割后的每个数据写入请求之后发送的 响应消息,所述响应消息中携带有iSCSI目标器的可用缓存区大小;更新单 元306,用于根据所述响应消息,更新所述iSCSI启动器所记录的所述iSCSI 目标器的可用缓存区大小。

可选地,iSCSI启动器还包括:协商单元307,用于与所述iSCSI目标器 进行协商,获取并记录所述iSCSI目标器的可用缓存区大小的初始值。

在接收数据写入请求之前,iSCSI系统首先进行初始化登录,在初始化登 录阶段,iSCSI启动器和iSCSI目标器进行协商,通过设置关键字立即数据 ImmediateData=Yes,写过程模型参数InitialR2T=No,用以iSCSI启动器可 以在发送写请求时携带要写的目标数据,并且允许非请求数据的发送。

因此,通过应用本发明实施例提供的将数据导入iSCSI目标器的iSCSI 启动器,解决了现有技术中将数据导入iSCSI目标器的速率较低,进而导致 了iSCSI存储网络性能不高的问题,实现了对收集到的数据写入请求进行合 组合和分割,提高了TCP链接中SCSI数据传输所占比例,并且充分利用了 iSCSI目标器的写入数据缓存区,降低了写数据延迟,提高了数据写入效率。

专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的 各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来 实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能 一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来 执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为 超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理 器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器 (RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、 寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式 的存储介质中。

以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而 已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做 的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号