一种IPSAN下的T-CDP实现方法及装置与流程

文档序号:14721017发布日期:2018-06-17 14:46阅读:189来源:国知局

本发明涉及网络通信技术领域,尤其涉及一种IPSAN下的T-CDP实现方法及装置。



背景技术:

IPSAN(InternetProtocolStorageAreaNetwork,基于互联网协议的存储局域网)是一种基于IP网络构建的存储网络,相较于传统的FCSAN(FiberChannelStorageAreaNetwork,光纤通道存储局域网),其具有更经济、自由扩展等特点。

CDP(ContinuousDataProtection,连续数据保护)可在数据发生任何变化时将数据有效地保护起来。CDP技术将过去“一次数据镜像或备份、单一数据副本”的传统数据保护技术,推进到着眼于快速恢复、最少数据丢失的数据保护的新阶段,其最大的技术优势就在于保存了历史时间的不同数据副本,可以在最快几分钟到几秒钟的极短时间内,进行任意时间点上的数据恢复。

CDP可以分为真CDP(TrueCDP,简称T-CDP)和准CDP(NearCDP),其中,T-CDP的备份、恢复窗口周期为0,可以恢复任意时刻的数据。

然而,现有技术中并不存在IPSAN下实现T-CDP的技术方案。



技术实现要素:

本发明提供一种IPSAN下的T-CDP实现方法及装置,实现了数据同步写入IPSAN服务端和T-CDP服务端。

根据本发明实施例的第一方面,提供一种IPSAN下的T-CDP实现方法,包括:

当接收到目的端为IPSAN服务端的传输控制协议TCP报文时,对所述TCP报文进行镜像,并将所述TCP报文发送给所述IPSAN服务端;

若镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口,则将镜像报文的目的IP地址修改为T-CDP服务端的IP地址;

将目的IP地址修改后的镜像报文发送给所述T-CDP服务端,以使所述T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理。

根据本发明实施例的第二方面,提供一种IPSAN下的T-CDP实现装置,包括:

镜像单元,用于当所述装置接收到目的端为IPSAN服务端的传输控制协议TCP报文时,对所述TCP报文进行镜像;

发送单元,用于将所述TCP报文发送给所述IPSAN服务端;

修改单元,用于若镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口,则将镜像报文的目的IP地址修改为T-CDP服务端的IP地址;

所述发送单元,还用于将目的IP地址修改后的镜像报文发送给所述T-CDP服务端,由所述T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理。

应用本发明实施例,当接收到目的端为IPSAN服务端的TCP报文时,对该TCP报文进行镜像,进而,一方面将该TCP报文发送给IPSAN服务端,另一方面,在该镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口的情况下,将该镜像报文的目的IP地址修改为T-CDP服务端的IP地址,并将目的IP地址修改后的镜像报文发送给T-CDP服务端,以使T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理,实现了将数据同步写入IPSAN服务端和T-CDP服务端,实现了数据的实时备份,提高了数据的安全性。

附图说明

图1是本发明实施例提供的一种IPSAN下的T-CDP实现的网络架构示意图;

图2是本发明实施例提供的一种IPSAN下的T-CDP实现方法的流程示意图;

图3是本发明实施例提供的一种具体应用场景的架构示意图;

图4是本发明实施例提供的一种IPSAN下的T-CDP实现装置的结构示意图;

图5是本发明实施例提供的另一种IPSAN下的T-CDP实现装置的结构示意图;

图6是本发明实施例提供的一种IPSAN下的T-CDP实现系统的架构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。

请参见图1,图1为本发明实施例提供的一种IPSAN下的T-CDP实现的网络架构示意图。如图1所示,该网络架构示意图可以包括IPSAN服务端、T-CDP服务端、网络设备以及存储客户端(简称为客户端)。其中,客户端可以通过在向网络设备发送的TCP(TransmissionControlProtocol,传输控制协议)报文中携带预设标识的方式实现将写入IPSAN服务端的数据同步写入到T-CDP服务端;网络设备接收到目的端为IPSAN服务端的TCP报文时,可以对该TCP报文进行镜像,然后,一方面将该TCP报文发送给IPSAN服务端,另一方面,判断该镜像报文(即,对该TCP报文进行镜像后得到的报文)中是否携带有预设标识,且镜像报文的目的端口是否为预设端口,并当镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口时,将镜像报文的目的IP地址修改为T-CDP服务端的IP地址后发送给T-CDP服务端,由T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理,从而实现了将数据同步写入IPSAN服务端和T-CDP服务端,实现了数据的实时备份,提高了数据的安全性。

其中,图1所示网络架构中的网络设备可以包括但不限于具有端口镜像及NAT(NetworkAddressTranslation,网络地址转换)功能的路由器或交换机等。

基于图1所示的网络架构,本发明实施例提供了一种IPSAN下的T-CDP实现方法,请参见图2,为本发明实施例提供的一种IPSAN下的T-CDP实现方法的流程示意图,如图2所示,该方法可以包括以下步骤:

需要说明的是,本发明实施例中,步骤201~步骤203的执行主体为图1所示网络架构中的网络设备或网络设备中的处理器,如CPU(CenterProtocolUnit,中央处理单元),为便于描述,以下以步骤201~步骤203的执行主体为网络设备为例进行说明。

步骤201、当接收到目的端为IPSAN服务端的TCP报文时,对该TCP报文进行镜像,并将该TCP报文发送给IPSAN服务端。

本发明实施例中,当客户端需要向IPSAN服务端发起存储访问时,客户端可以发送数据负载为iSCSI(InternetSmallComputerSystemInterface,互联网小型计算机接口)命令的TCP报文(该TCP报文也可以称为iSCSI报文)。

当网络设备接收到目的端为IPSAN服务端的TCP报文时,例如,网络设备通过路由查询确定接收到的TCP报文的出端口为与IPSAN服务端连接的端口,或根据接收到的TCP报文的目的IP地址确定该TCP报文的目的端为IPSAN服务端,网络设备可以对该TCP报文进行镜像,并将该TCP报文发送给IPSAN服务端,以使IPSAN服务端根据该TCP报文进行相应数据处理。

步骤202、若镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口,则将该镜像报文的目的IP地址修改为T-CDP服务端的IP地址。

本发明实施例中,网络设备对接收到的TCP报文进行镜像之后,可以判断该镜像报文中是否携带有预设标识,以及镜像报文的目的端口是否为预设端口,其中,该预设标识可以为预先约定的用于标识需要将写入到IPSAN服务端中的数据也写入到T-CDP服务端中的标识;该预设端口可以iSCSI服务的默认端口,如TCP3260端口。

可选地,可以通过修改iSCSI报文的PDU(ProtocolDataUnit,协议数据单元)中的保留字段的方式使iSCSI报文中携带预设标识。例如,当该PDU中的保留字段为预设的特殊值,如0x7463时,可以认为该报文中携带有预设标识;否则,认为该报文未携带有预设标识。

本发明实施例中,若网络设备确定镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口,则网络设备可以对该镜像报文进行NAT处理,将该镜像报文的目的IP地址修改为T-CDP服务端的IP地址。

本发明实施例中,当网络设备确定镜像报文中未携带有预设标识或/和镜像报文的目的端口不是预设端口时,网络设备可以不对该镜像报文进行特殊处理,例如,网络设备可以丢弃该镜像报文。

步骤203、将目的IP地址修改后的镜像报文发送给T-CDP服务端,以使T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理。

本发明实施例中,网络设备将镜像报文的目的IP地址修改为T-CDP服务端的IP地址后,可以将该目的IP地址修改后的镜像报文发送给T-CDP服务端。TCP服务端接收到该镜像报文后,可以根据该镜像报文中携带的写命令进行数据写入处理。

进一步地,在本发明实施例中,当网络设备接收到目的IP地址为T-CDP服务端的IP地址的TCP报文时,可以将该TCP报文发送给T-CDP服务端,以使T-CDP服务端根据该TCP报文中携带的读命令进行数据读取处理。

并且,网络设备在将该TCP报文发送给T-CDP服务端之后,还可以接收T-CDP服务端发送的所读取的数据,并将该所读取的数据发送给该TCP报文的来源客户端;当接收到携带有该所读取的数据,且目的端为IPSAN服务端的TCP报文时,对此TCP报文进行镜像,并将此TCP报文发送给IPSAN服务端;若镜像报文中未携带有预设标识,则丢弃该镜像报文。此过程是发送目的IP地址为T-CDP服务端的IP地址的TCP报文的来源客户端在发现IPSAN服务端可能因故障等因素导致数据丢失的情况下,通过网络设备实现从T-CDP服务端获取数据并重新写入到IPSAN服务端的过程。

作为一种可选地实施方式,在本发明实施例中,除了可以为T-CDP服务端配置上述唯一的IP地址外,还可以为T-CDP服务端分配配置读服务IP地址和写服务IP地址,以实现T-CDP服务端侧的读写分离,避免T-CDP服务端在过滤TCP报文中的非读或非写命令时过滤不干净的问题。

相应地,在该实施例中,上述步骤202中,将镜像报文的目的IP地址修改为T-CDP服务端的IP地址,可以包括:

将镜像报文的目的地址修改为T-CDP服务端的写服务IP地址,以使TCP服务端接收到镜像报文时,对镜像报文中携带的非写命令进行过滤。

具体的,在该实施方式中,当网络设备确定镜像报文中携带有预设标识,且镜像报文的目的端口是预设端口时,网络设备可以将该镜像报文的目的IP地址修改为T-CDP服务端的写服务IP地址,从而,当T-CDP服务端接收到该镜像报文时,可以对该镜像报文中的非写命令进行过滤,而仅对该镜像报文中的写命令进行响应,提高数据写入的效率。

进一步地,在本发明实施例中,当网络设备接收到目的IP地址为T-CDP服务端的读服务IP地址的TCP报文时,将该TCP报文发送给T-CDP服务端,以使T-CDP服务端对该TCP报文中的非读命令进行过滤,并根据读命令进行数据读取处理。

具体的,当客户端需要向T-CDP服务端发起读访问时,例如IPSAN服务端中出现数据故障时,客户端可以向网络设备发送目的IP地址为T-CDP服务端的读服务IP地址,且携带有读命令的TCP报文,由网络设备将该TCP报文转发给T-CDP服务端;T-CDP服务端接收到该TCP报文之后,可以对该TCP报文中携带的非读命令进行过滤,仅对报文中携带的读命令进行响应,提高数据读取的效率。

进一步地,在本发明实施例中,客户端从T-CDP服务端中读取到相关数据后,可以通过普通写的方式,将读取到的数据写入到IPSAN服务端中。

相应地,在本发明实施例中,上述将TCP报文发送给T-CDP服务端之后,还可以包括:

接收T-CDP服务端发送的所读取的数据,并将该所读取的数据发送给客户端;

当接收到携带有该所读取的数据,且目的端为IPSAN服务端的TCP报文时,对该TCP报文进行镜像,并将该TCP报文发送给IPSAN服务端;

若镜像报文中未携带有预设标识,则丢弃该镜像报文。

具体的,T-CDP服务端根据接收到的TCP报文中的读命令进行相应数据读取处理之后,可以将所读取的数据通过网络设备发送给客户端;客户端可以向网络设备发送目的端为IPSAN服务端,且不携带预设标识的TCP报文,该TCP报文中携带有需要写入的数据(即上述所读取的数据)以及写入命令。网络设备接收到该TCP报文后,仍然会对该TCP报文进行镜像,然后,一方面将该TCP报文发送给IPSAN服务端,由IPSAN服务端进行相应的数据写入处理;另一方面,判断镜像报文中是否携带有预设标识,并当该TCP报文中未携带有预设标识时,可以直接丢弃该镜像报文,从而实现了在进行数据恢复时,写入的数据仅写入到IPSAN服务端中,而不会再次写入到T-CDP服务端中。

可见,在图2所示的方法流程中,通过在需要将数据写入到IPSAN服务端和T-CDP服务端时,在携带有针对待写入的数据的写命令的TCP报文(此TCP报文的目的端口是预设端口)中添加预设标识,从而网络设备可以将发送到IPSAN服务端的TCP报文进行镜像后,将镜像报文的目的IP地址修改为T-CDP服务端的IP地址,并将目的IP地址修改后的镜像报文发送给T-CDP服务端,实现了将数据同步写入IPSAN服务端和T-CDP服务端,实现了数据的实时备份,提高了数据的安全性。

为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体的应用场景对本发明实施例提供的技术方案进行描述。

请参见图3,为本发明实施例提供的一种具体应用场景的架构示意图。在该实施例中,假设IPSAN服务端的存储服务IP地址为192.168.1.100,端口为3260;T-CDP服务端的写服务IP地址为:192.168.1.101,读服务IP地址为:192.168.1.102;网络设备通过端口A与IPSAN服务端连接,通过端口B与T-CDP服务端连接。

在该实施例中,客户端进行数据写入时,发送的TCP报文中包括的预设标识可以分为两种:

普通写:仅将数据写入IPSAN服务端,iSCSIPDU的保留字段的值默认为0;

连同T-CDP写:将数据写入IPSAN服务端时,也要求将数据写入T-CDP服务端,iSCSIPDU的保留字段的值为0x7463。

同时,网络设备需要做如下配置:

将网络设备端口A的流量镜像到端口C;

对端口C的流量做NAT变换,NAT规则为:

目的IP地址为192.168.1.100,且目的端口为3260,且Data[2,3]=0x7463(即iSCSIPDU中的保留字段的值为0x7463)的流量;

NAT动作:目的IP地址修改为192.168.1.101。

在该实施例中,当客户端需要对IP-SAN服务端进行数据写入,并希望将数据也写入到T-CDP服务端时,客户端可以向网络设备发送携带有iSCSI写命令,目的IP地址为192.168.1.100,目的端口为3260的TCP报文,且将iSCSIPDU的保留字段的值置为0x7463。

网络设备接收到该TCP报文后,发现该TCP报文的出接口为端口A,因而,网络设备对该TCP报文进行镜像,镜像到端口C上,然后,一方面,将TCP报文发送给IPSAN服务端;另一方面,将端口C处的镜像报文匹配NAT规则,并在匹配成功后,将镜像报文的目的IP地址修改为192.168.1.101,并从端口B转发该目的IP地址修改后的镜像报文。

T-CDP服务端接收到镜像报文后,发现收到的镜像报文的目的IP地址为192.168.1.101,即为写服务IP地址,因而,T-CDP服务端可以将收到的镜像报文中的非iSCSI写命令过滤掉,而仅对写命令进行响应。其中,T-CDP服务端响应写命令的具体处理方式可以如下:

记录报文的接收时间t1,从iSCSI写命令中解析出lba(LogicalBlockAddress,逻辑区块地址)地址(假设为lba1);T-CDP服务端可以根据该接收时间以及lba地址确定map索引,例如,通过Hash(t1,lba1)=p1的方式确定该map索引(即p1),并分配实际物理空间(假设实际写入的磁盘空间地址为P1),则p1处节点内容为t1,lab1,P1,head(null),tail(null);其中,head(null)表明该数据为lab1对应的逻辑区块中存储的第一个数据,tail(null)表明lab1中该数据之后还未存储其它数据。

同理,当T-CDP服务端在时间t2接收到另一个iSCSI写命令中的lab地址也为lab1时,T-CDP服务端可以通过Hash(t2,lba1)=p2的方式确定对应的map索引(p2),并分配实际物理空间(假设实际写入的磁盘空间地址为P1),则p2处节点内容为t2,lab1,P2,head(p1),tail(null);而p1处结点内容为t1,lba1,P1,head(null),tail(p2);其中,head(p1)或tail(p2)表明lab1中与p2对应的数据位于与p1对应的数据之后。

进一步地,当客户端需要向T-CDP发起读访问,要求获取t时刻的最新数据时,可以发送目的IP地址为192.168.1.102,且携带有iSCSI读命令的TCP报文;网络设备接收到该TCP报文后,将其转发给T-CDP服务端。

T-CDP服务端接收到该TCP报文后,发现该TCP报文的目的IP地址为192.168.1.102,即为读服务IP地址,因而,T-CDP服务端可以将该TCP报文中携带的非iSCSI读命令全部过滤掉,而仅对读命令进行响应。其中,T-CDP服务端响应读命令的具体处理方式可以如下:

从iSCSI读命令中解析出lba地址(假设为lba1),索引lba1的所有时间结点,按时间排序,找出小于或等于t,且与t最接近的时间对应的结点pn,假设pn处结点内容为tn,lba1,Pn,head,tail,则T-CDP服务端可以从Pn处读出数据,并返回给客户端。

客户端从T-CDP服务端读取到相关数据后,可以采用普通写的方式,将数据写入到IPSAN服务端(这种情况适用于IPSAN服务端侧的相应数据丢失),由于是普通写,网络设备在进行NAT规则匹配时会匹配失败,因而数据只会写入到IPSAN服务端,而不会写入到T-CDP服务端,从而,实现了IPSAN服务端中的数据恢复。

通过以上描述可以看出,在本发明实施例提供的技术方案中,当接收到目的端为IPSAN服务端的TCP报文时,对该TCP报文进行镜像,进而,一方面将该TCP报文发送给IPSAN服务端,另一方面,在该镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口的情况下,将该镜像报文的目的IP地址修改为T-CDP服务端的IP地址,并将目的IP地址修改后的镜像报文发送给T-CDP服务端,以使T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理,实现了将数据同步写入IPSAN服务端和T-CDP服务端,实现了数据的实时备份,提高了数据的安全性。

请参见图4,为本发明实施例提供一种IPSAN下的T-CDP实现装置的结构示意图,其中,该装置可以应用于图1所示网络架构中的网络设备,如图4所示,该装置可以包括:

镜像单元410,用于当所述装置接收到目的端为IPSAN服务端的传输控制协议TCP报文时,对所述TCP报文进行镜像;

发送单元420,用于将所述TCP报文发送给所述IPSAN服务端;

修改单元430,用于若镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口,则将镜像报文的目的IP地址修改为T-CDP服务端的IP地址;

所述发送单元420,还用于将目的IP地址修改后的镜像报文发送给所述T-CDP服务端,由所述T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理。

在可选实施例中,所述修改单元430,可以具体用于将所述镜像报文的目的地址修改为T-CDP服务端的写服务IP地址,以使所述T-CDP服务端接收到镜像报文时,对收到的镜像报文中携带的非写命令进行过滤。

在可选实施例中,所述发送单元420,还可以用于当所述装置接收到目的IP地址为T-CDP服务端的读服务IP地址的TCP报文时,将所述TCP报文发送给所述T-CDP服务端,以使所述T-CDP服务端对所述TCP报文中的非读命令进行过滤,并根据读命令进行数据读取处理。

在可选实施例中,所述发送单元420,还可以用于当所述装置接收到目的IP地址为T-CDP服务端的IP地址的TCP报文时,将该TCP报文发送给所述T-CDP服务端,以使所述T-CDP服务端根据该TCP报文中携带的读命令进行数据读取处理。

请一并参阅图5,为本发明实施例提供的另一种IPSAN下的T-CDP实现装置的结构示意图,在图4所示实施例的基础上,图5所示的装置还可以包括:

接收单元440,用于接收所述T-CDP服务端发送的所读取的数据;

所述发送单元420,还用于将所述所读取的数据发送给该TCP报文的来源客户端;

所述镜像单元410,还用于当所述装置接收到携带有所述所读取的数据,且目的端为IPSAN服务端的TCP报文时,对该TCP报文进行镜像;

所述发送单元420,还用于将该TCP报文发送给所述IPSAN服务端;

丢弃单元450,用于若镜像报文中未携带有预设标识,则丢弃该镜像报文。

请参见图6,为本发明实施例提供的一种IPSAN下的T-CDP实现系统的架构示意图,如图6所示,该系统可以包括网络设备610和T-CDP服务端620,其中:

所述网络设备610,用于当接收到目的端为IPSAN服务端的传输控制协议TCP报文时,对所述TCP报文进行镜像,并将所述TCP报文发送给所述IPSAN服务端;

所述网络设备610,还用于若镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口,则将镜像报文的目的IP地址修改为T-CDP服务端的IP地址;

所述网络设备610,还用于将目的IP地址修改后的镜像报文发送给所述T-CDP服务端;

所述T-CDP服务端620,用于根据收到的镜像报文中携带的写命令进行数据写入处理。

在可选实施例中,所述T-CDP服务端配置有写服务IP地址和读服务IP地址。

在可选实施例中,网络设备610可以包括上述图4或图5任一所示的IPSAN下的T-CDP实现装置。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

由上述实施例可见,当接收到目的端为IPSAN服务端的TCP报文时,对该TCP报文进行镜像,进而,一方面将该TCP报文发送给IPSAN服务端,另一方面,在该镜像报文中携带有预设标识,且镜像报文的目的端口为预设端口的情况下,将该镜像报文的目的IP地址修改为T-CDP服务端的IP地址,并将目的IP地址修改后的镜像报文发送给T-CDP服务端,以使T-CDP服务端根据收到的镜像报文中携带的写命令进行数据写入处理,实现了将数据同步写入IPSAN服务端和T-CDP服务端,实现了数据的实时备份,提高了数据的安全性。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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