一种SCST及其数据处理方法与流程

文档序号:11960384阅读:567来源:国知局
一种SCST及其数据处理方法与流程

本发明涉及网络存储领域,特别是涉及一种SCST及其数据处理方法。



背景技术:

网络存储是目前一种应用广泛的存储方式,在网络存储中,通过SAN(Storage Area Network,存储区域网)来实现客户端(计算机系统)与存储端(例如硬盘或磁盘等)之间的数据传输,而IP技术特点在网络开发性上有强大的优势,故基于IP的SAN,即IPSAN具有广阔的应用前景。在IPSAN中,需要通过SCSI(Small Computer System Interface,小型计算机系统接口)来连接硬盘并进行数据的传输。

SCST(SCSI target subsystem for Linux)为基于Linux系统的SCSI存储端中间层子系统,它为SCSI存储端(即target端)驱动提供了统一的内核访问接口,从而简化target驱动的设计开发。

SCST位于SCSI存储端子系统的中间层之上(可视为位于SCSI存储端子系统中的第二层),SCST通过其上设置的读写接口接收来自客户端的命令以及数据后,可以对其进行简单的读写处理,但是,目前的SCST采用同步串行的方法对接收到的多个数据及命令进行依次处理,处理时间长,进而造成SCST回复客户端的响应时间变长。

因此,如何提供一种能够减少响应时间的SCST及其数据处理方法是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种SCST及其数据处理方法,采用异步方式,减少SCST回复客户端的响应时间。

为解决上述技术问题,本发明提供了一种SCST的数据处理方法,用于存储区域网,包括:

持续接收客户端传输的数据请求,将所述数据请求按预设顺序加入待处理链表内,返回完成响应至所述客户端;

依据所述待处理链表内的处理顺序,从所述待处理链表内获取预设个数的未处理的数据请求,并发送至底层处理模块进行处理;

当所述底层处理模块完成对一个数据请求的处理后,接收所述底层处理模块发送的回调异步响应,其中,所述回调异步响应内包含有处理成功或处理失败的信息;

若接收到的所述回调异步响应内包含处理失败的信息,则发送失败响应至所述客户端。

优选地,所述接收所述底层处理模块发送的回调异步响应后还包括:

将所述回调异步响应对应的数据请求从所述待处理链表内删除。

优选地,所述数据请求为读取请求或写入请求,且当所述数据请求为写入请求时,所述写入请求内携带有待写入的数据。

优选地,所述预设个数大于1。

优选地,所述发送至底层处理模块进行处理的过程具体为:

将所述预设个数的数据请求分别发送至不同的底层处理模块进行处理。

优选地,所述底层处理模块为硬盘或磁盘。

本发明还提供了一种SCST,用于存储区域网,包括:

第一响应模块,用于持续接收客户端传输的数据请求,将所述数据请求按预设顺序加入待处理链表内,返回完成响应至所述客户端;

请求选择模块,用于依据所述待处理链表内的处理顺序,从所述待处理链表内获取预设个数的数据请求,并发送至底层处理模块进行处理;

回调异步响应接收模块,用于当所述底层处理模块完成对一个数据请求的处理后,接收所述底层处理模块发送的回调异步响应,其中,所述回调异步响应内包含有处理成功或处理失败的信息;若接收到的所述回调异步响应内包含处理失败的信息,触发第二响应模块;

所述第二响应模块,用于发送失败响应至所述客户端。

本发明提供了一种SCST的数据处理方法,用于存储区域网,该方法采用异步方式(即不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程),在接收到客户端传输的数据请求后,将数据请求加入待处理链表内即返回完成响应至客户端,而不等待该数据请求处理完成,当后续该数据请求处理完成后,由底层处理模块发送回调异步响应,通知SCST处理完成。可见,与同步方式相比,本方法大大减少了响应时间。本发明还提供了一种SCST,也具有上述优点,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种SCST的数据处理方法的过程的流程图;

图2为本发明提供的一种SCST的结构示意图。

具体实施方式

本发明的核心是提供一种SCST及其数据处理方法,采用异步方式,减少SCST回复客户端的响应时间。

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

本发明提供了一种SCST的数据处理方法,用于存储区域网,参见图1所示,图1为本发明提供的一种SCST的数据处理方法的过程的流程图;该方法包括:

步骤s101:持续接收客户端传输的数据请求,将数据请求按预设顺序加入待处理链表内,返回完成响应至客户端;

可以理解的是,SCST接收到一个数据请求后,即按照预设顺序将该数据请求加入待处理链表内,并返回完成响应;之后再接收下一个数据请求,然后将其加入待处理链表内,并返回完成响应,以此类推,持续以上操作。

其中,这里的预设顺序优选为数据请求加入待处理链表内的顺序,当然本发明对此不作限定。

另外,这里的数据请求为读取请求或写入请求,且当数据请求为写入请求时,写入请求内携带有待写入的数据。

步骤s102:依据待处理链表内的处理顺序,从待处理链表内获取预设个数的未处理的数据请求,并发送至底层处理模块进行处理;

其中,这里的处理顺序,可以为上述预设顺序,也可以为重新定义的其他顺序,本发明对此不作限定。

步骤s103:当底层处理模块完成对一个数据请求的处理后,接收底层处理模块发送的回调异步响应,其中,回调异步响应内包含有处理成功或处理失败的信息;

作为优选地,接收底层处理模块发送的回调异步响应后还包括:

将回调异步响应对应的数据请求从待处理链表内删除。

可以理解的是,通过将处理完成的数据请求删除,能够保证待处理链表内均为未处理的数据请求,能够避免出现重复处理的情况,也便于调整处理顺序即根据处理顺序选择预设个数的未处理的数据请求。当然,也可以不删除数据请求,而是将待处理链表内处理完成的数据请求标记为已完成请求。也可以采用其他方式,本发明对此不作限定。

步骤s104:若接收到的回调异步响应内包含处理失败的信息,则发送失败响应至客户端。

作为优选地,预设个数大于1。

进一步可知,发送至底层处理模块进行处理的过程具体为:

将预设个数的数据请求分别发送至不同的底层处理模块进行处理。

可以理解的是,由多个底层处理模块同时进行处理,即采用并发工作方式,能够极大地减少数据请求的处理时间,其中,以上仅为优选实施例,本发明不限定并发线程的数量,即这里的预设个数与底层处理模块的个数对应关系本发明并不限定,例如,当预设个数为4时,可以将4个数据请求分别发送至4个底层处理模块进行处理,也可以将4个数据请求分别发送至2个底层处理模块进行处理,具体可根据实际选择而定。

其中,这里的底层处理模块为硬盘或磁盘。当然,本发明对此不作限定。

另外,在实际工作时,客户端与SCST之间的信息交互过程具体如下:

由客户端的SCSI适配器发送一个数据请求。

将数据请求封装到TCP/IP包中并送入到以太网络。

SCST从TCP/IP包中抽取出数据请求并执行相关操作后返回相应的响应及数据。

把响应及数据封装到TCP/IP包中,并通过以太网络发送回客户端。

本发明提供了一种SCST的数据处理方法,用于存储区域网,该方法采用异步方式(即不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程),在接收到客户端传输的数据请求后,将数据请求加入待处理链表内即返回完成响应至客户端,而不等待该数据请求处理完成,当后续该数据请求处理完成后,由底层处理模块发送回调异步响应,通知SCST处理完成。可见,与同步方式相比,本方法大大减少了响应时间。

本发明还提供了一种SCST,用于存储区域网,参见图2所示,图2为本发明提供的一种SCST的结构示意图。该SCST包括:

第一响应模块11,用于持续接收客户端传输的数据请求,将数据请求按预设顺序加入待处理链表内,返回完成响应至客户端;

请求选择模块12,用于依据待处理链表内的处理顺序,从待处理链表内获取预设个数的数据请求,并发送至底层处理模块进行处理;

回调异步响应接收模块13,用于当底层处理模块完成对一个数据请求的处理后,接收底层处理模块发送的回调异步响应,其中,回调异步响应内包含有处理成功或处理失败的信息;若接收到的回调异步响应内包含处理失败的信息,触发第二响应模块14;

第二响应模块14,用于发送失败响应至客户端。

本发明提供了一种SCST,用于存储区域网,采用异步方式(即不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程),在接收到客户端传输的数据请求后,将数据请求加入待处理链表内即返回完成响应至客户端,而不等待该数据请求处理完成,当后续该数据请求处理完成后,由底层处理模块发送回调异步响应,通知SCST处理完成。可见,与同步方式相比,本发明大大减少了响应时间。

需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1