写请求处理方法和装置、读请求处理方法和装置与流程

文档序号:12550261阅读:177来源:国知局
写请求处理方法和装置、读请求处理方法和装置与流程

本发明涉及互联网技术领域,特别涉及一种写请求处理方法和装置、读请求处理方法和装置。



背景技术:

网络存储被定义为一种特殊的专用数据存储服务器,包括:存储器件(例如:磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。

网络存储通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,网络存储集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,有效降低了总拥有成本,保护了用户投资。

然而,现有的网络存储普遍性能不高,读写延迟较大。

针对上述问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种写请求处理方法,以达到减少网络存储写延迟的目的,该方法包括:

响应于写请求,获取所述写请求所请求写入的数据;

缓存所述请求写入的数据;

向所述写请求的发送端发送请求完成指令,并将缓存的所述请求写入的数据写入后端的网络存储器中。

进一步的,缓存所述请求写入的数据,包括:

通过高速缓存设备缓存所述请求写入的数据。

进一步的,所述高速缓存设备设置在IP存储的网络链路上。

进一步的,所述高速缓存设备通过旁路的方式设置在IP存储的网络链路上。

进一步的,在向所述写请求的发送端请求完成指令的过程中,所述方法还包括:将所述请求写入的数据的状态设置为未完成;

相应的,在将缓存的所述请求写入的数据写入后端的网络存储器中之后,所述方法还包括:

确定是否接收到所述后端的网络存储器返回的请求完成指令;

如果收到,则将所述请求写入的数据的状态设置为已完成。

本发明实施例还提供了一种读请求处理方法,以达到减少网络存储读延迟的目的,该方法包括:

响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据;

如果有,则向所述读请求的发送端发送请求完成指令,并将缓存的数据发送至所述读请求的发送端。

所述请求写入的数据写入后端的网络存储器中。

进一步的,确定缓存设备中是否缓存有所述读请求所请求读取的数据,包括:

确定高速缓存设备中是否缓存有所述读请求所请求读取的数据。

进一步的,所述高速缓存设备设置在IP存储的网络链路上。

进一步的,所述高速缓存设备通过旁路的方式设置在IP存储的网络链路上。

进一步的,在响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据之后,还包括:

如果没有,则从后端的网络存储器中获取所述读请求所请求的数据;

将获取的数据和请求完成指令,发送至所述读请求的发送端。

本发明实施例还提供了一种写请求处理装置,以达到减少网络存储读延迟的目的,该装置包括:

获取模块,用于响应于写请求,获取所述写请求所请求写入的数据;

缓存模块,用于缓存所述请求写入的数据;

发送模块,用于向所述写请求的发送端发送请求完成指令,并将缓存的所述请求写入的数据写入后端的网络存储器中。

本发明实施例还提供了一种读请求处理装置,以达到减少网络存储读延迟的目的,该方法包括:

确定模块,用于响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据;

发送模块,用于在确定有的情况下,向所述读请求的发送端发送请求完成指令,并将缓存的数据发送至所述读请求的发送端。

在本发明实施例中,通过引入缓存的方式,使得可以将写请求的数据先写入缓存,将读请求的数据从缓存中获取,并在写入缓存或者从缓存中读取时,就发送指令完成指令,从而达到有效减少读写延迟的目的。

附图说明

图1是根据本发明实施例的写请求处理方法的方法流程图;

图2是根据本发明实施例的读请求处理方法的方法流程图;

图3是根据本发明实施例的写请求处理方法的另一方法流程图;

图4是根据本发明实施例的读请求处理方法的另一方法流程图;

图5是根据本发明实施例的写请求处理装置的结构框图;

图6是根据本发明实施例的读请求处理装置的结构框图。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

本发明实施例提供了一种写请求处理方法,如图1所示,可以包括以下步骤:

步骤101:响应于写请求,获取所述写请求所请求写入的数据;

步骤102:缓存所述请求写入的数据;

为了使得缓存速度较为迅速,以减少写延迟,可以通过高速缓存设备缓存所述请求写入的数据。

即,在捕获到写请求中请求写入的数据之后,不是直接将数据写入后端的网络存储器中,而是先将数据缓存到连接的高速缓存设备中。

该高速缓存设备可以设置在IP存储的网络链路上,具体的,可以在靠近网络存储的使用端的网络上架设一个高速缓冲设备,可以将该设备以旁路的形式接入链路中。

步骤103:向所述写请求的发送端发送请求完成指令,并将缓存的所述请求写入的数据写入后端的网络存储器中。

即,在侦听到链路上的存储服务请求,当收到一个写请求时,直接捕获写请求的数据,并存入高速缓存中,并伪造一个写IO完成的回复,并将该回复发送给写请求发送端,同时将数据设定为:未完成。只有在后端的网络存储器完成数据写入后,并接收到真实的后端返回的写请求成功的回复,则将所缓存的数据设置为:已完成。

具体的,在向所述写请求的发送端请求完成指令的过程中,上述方法还可以包括:将所述请求写入的数据的状态设置为未完成;相应的,在将缓存的所述请求写入的数据写入后端的网络存储器中之后,上述方法还可以包括:确定是否接收到所述后端的网络存储器返回的请求完成指令;如果收到,则将所述请求写入的数据的状态设置为已完成。

本发明实施例还提供了一种读请求处理方法,如图2所示,可以包括以下步骤:

步骤201:响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据;

为了使得缓存速度较为迅速,以减少读延迟,可以通过高速缓存设备缓存数据。即,在接收到读请求时,不是直接从后端的网络存储器中获取要读取的数据,而是先在缓冲设备中查找是否有要读取的数据。

该高速缓存设备可以设置在IP存储的网络链路上,具体的,可以在靠近网络存储的使用端的网络上架设一个高速缓冲设备,可以将该设备以旁路的形式接入链路中。

步骤202:如果有,则向所述读请求的发送端发送请求完成指令,并将缓存的数据发送至所述读请求的发送端。

进一步的,在响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据之后,还可以包括:如果没有,则从后端的网络存储器中获取所述读请求所请求的数据;将获取的数据和请求完成指令,发送至所述读请求的发送端。

下面结合一具体实施例对上述写请求处理方法和读请求处理方法进行说明,然而值得注意的是,该具体实施例仅是为了更好地说明本发明,并不构成对本发明的不当限定。

现有的网络存储普遍性能不高,读写延迟较大,以便为网络存储进行读写加速。下面分别对写请求加速和读请求加速进行说明:

1)写请求加速:

如图3所示,可以包括:

S1:在靠近网络存储的使用端的网络上架设一个高速缓冲设备,并将该设备以旁路的形式接入到链路中。

S2:缓冲设备侦听链路上的存储服务请求,当收到一个写请求时,直接捕获写请求的数据,并将数据写入到自己的高速缓存中。

S3:缓存完成后,伪造一个写IO完成的回复,并将这个回复发送给使用者,同时将所缓存的数据设定为:未完成。

S4:如果捕获到真实的后端返回的写请求成功的回复,则将所缓存的数据设置为:已完成。

上述的缓冲设备可以使用串接的方式连接在使用者和服务端的网络中,这个时候存储担当一个代理的角色,在收到使用者的IO请求时,缓存数据,伪造回复,并将IO请求转发到后端存储设备,后端存储设备完成后,将数据设定为已完成。

2)读请求加速:

如图4所示,可以包括:

S1:在IP存储的网络链路上放置一个高速缓冲设备;

S2:该缓冲设备以旁路的设备接入到链路中,并窃听所有的IP存储的网络报文

S3:如果捕获一个读请求,则查找本地缓冲中是否有该数据,有则伪造一个请求成功的回复,并发送数据给请求端。

即,通过在存储链路上加入高速缓冲设备的方式来实现网络存储的加速,从而加速网络存储的IO性能。

基于同一发明构思,本发明实施例中还提供了一种写请求处理装置,如下面的实施例所述。由于写请求处理装置解决问题的原理与写请求处理方法相似,因此写请求处理装置的实施可以参见写请求处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图5是本发明实施例的写请求处理装置的一种结构框图,如图5所示,可以包括:获取模块501、缓存模块502和发送模块503,下面对该结构进行说明。

获取模块501,用于响应于写请求,获取所述写请求所请求写入的数据;

缓存模块502,用于缓存所述请求写入的数据;

发送模块503,用于向所述写请求的发送端发送请求完成指令,并将缓存的所述请求写入的数据写入后端的网络存储器中。

在一个实施方式中,缓存模块502具体用于通过高速缓存设备缓存所述请求写入的数据。

在一个实施方式中,所述高速缓存设备设置在IP存储的网络链路上。

在一个实施方式中,上述写请求处理装置还用于在向所述写请求的发送端请求完成指令的过程中,将所述请求写入的数据的状态设置为未完成;相应的,还用于在将缓存的所述请求写入的数据写入后端的网络存储器中之后,确定是否接收到所述后端的网络存储器返回的请求完成指令;如果收到,则将所述请求写入的数据的状态设置为已完成。

基于同一发明构思,本发明实施例中还提供了一种读请求处理装置,如下面的实施例所述。由于读请求处理装置解决问题的原理与读请求处理方法相似,因此读请求处理装置的实施可以参见读请求处理方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图6是本发明实施例的读请求处理装置的一种结构框图,如图6所示,可以包括:确定模块601和发送模块602,下面对该结构进行说明。

确定模块601,用于响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据;

发送模块602,用于在确定有的情况下,向所述读请求的发送端发送请求完成指令,并将缓存的数据发送至所述读请求的发送端。

在一个实施方式中,确定模块601具体可以确定高速缓存设备中是否缓存有所述读请求所请求读取的数据。

在一个实施方式中,上述高速缓存设备可以设置在IP存储的网络链路上。

在一个实施方式中,上述读请求处理装置还可以在在响应于读请求,确定缓存设备中是否缓存有所述读请求所请求读取的数据之后,如果没有,则从后端的网络存储器中获取所述读请求所请求的数据;将获取的数据和请求完成指令,发送至所述读请求的发送端。

在另外一个实施例中,还提供了一种软件,该软件用于执行上述实施例及优选实施方式中描述的技术方案。

在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。

从以上的描述中,可以看出,本发明实施例实现了如下技术效果:通过引入缓存的方式,使得可以将写请求的数据先写入缓存,将读请求的数据从缓存中获取,并在写入缓存或者从缓存中读取时,就发送指令完成指令,从而达到有效减少读写延迟的目的。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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