CN113315845A - 数据传输方法、装置及分布式存储*** - Google Patents
数据传输方法、装置及分布式存储*** Download PDFInfo
- Publication number
- CN113315845A CN113315845A CN202110855428.4A CN202110855428A CN113315845A CN 113315845 A CN113315845 A CN 113315845A CN 202110855428 A CN202110855428 A CN 202110855428A CN 113315845 A CN113315845 A CN 113315845A
- Authority
- CN
- China
- Prior art keywords
- storage
- data packet
- protocol data
- request
- preset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例提供数据传输方法、装置及分布式存储***,其中,应用于交换机的数据传输方法包括:响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及数据传输方法。本说明书一个或者多个实施例同时涉及数据传输装置、分布式存储***、计算设备,以及计算机可读存储介质。
背景技术
在分布式存储***中,一般会基于某种策略将数据的访问服务分散到不同的存储节点。基于分布式存储***需要根据分散策略,将I/O发送到相应的存储节点上,目前通常在用户***安装配套的专用客户端或定制多路径软件,在用户***源头直接选择存储节点后下发数据包到相应的存储节点上。
但是,由于需要侵入用户***,对用户***的操作***类型、版本、***资源都有要求,不仅实施难度大,还会造成额外的数据传输开销,影响存储集群整体性能。
发明内容
有鉴于此,本说明书实施例提供了数据传输方法。本说明书一个或者多个实施例同时涉及数据传输装置,计算设备,以及计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据传输方法,应用于分布式存储***中的交换机,所述分布式存储***包括至少两个存储节点,所述方法包括:响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
可选地,所述分布式存储***为分布式块存储***,所述预设的I/O请求路由规则中包含设备ID、数据段范围、与目标存储节点IP的对应关系。所述利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,包括:通过解析所述存储协议数据包,获得设备ID信息及数据长度信息;利用所述设备ID信息及数据长度信息,在所述预设的I/O请求路由格则中,查询出对应的目标存储节点IP。
可选地,还包括:定时查询所述分布式存储***中数据的最新分布情况,和/或,响应于所述分布式存储***中存储节点负责的数据范围的更新,获取所述分布式存储***中数据的最新分布情况;根据所述最新分布情况更新所述预设的I/O请求路由规则。
可选地,还包括:如果所述数据包不是存储协议数据包,利用所述数据包的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则中包含虚拟IP与目标存储节点物理IP的对应关系;将所述数据包下发给所述目标存储节点。
可选地,还包括:响应于接收到请求端发送的连接请求,判断所述连接请求的目的端口是否为存储协议端口;如果是,利用所述连接请求的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则包括虚拟IP与目标存储节点物理IP的对应关系;将所述连接请求下发给所述目标存储节点,以使所述目标存储节点处理所述连接请求,并将所述连接请求相关的连接信息同步给所述分布式存储***的其他存储节点。
可选地,所述连接请求相关的连接信息,包括:鉴权和参数协商信息;所述存储协议数据包的控制信息,包括:Session控制信息。
根据本说明书实施例的第二方面,提供了一种数据传输装置,配置于分布式存储***中的交换机,所述分布式存储***包括至少两个存储节点,所述装置包括:存储协议过滤模块,被配置为响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包。存储路由模块,被配置为如果所述存储协议过滤模块判定为是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系。交换模块,被配置为将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
根据本说明书实施例的第三方面,提供了一种数据传输方法,应用于分布式存储***中的存储节点,所述分布式存储***还包括交换机以及其他存储节点,所述方法包括:接收所述交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
根据本说明书实施例的第四方面,提供了一种数据传输装置,配置于分布式存储***中的存储节点,所述分布式存储***还包括交换机以及其他存储节点,所述装置包括:接收模块,被配置为接收所述交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;处理模块,被配置为处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
根据本说明书实施例的第五方面,提供了一种分布式存储***,包括:交换机以及至少两个存储节点。所述交换机,被配置为响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;将所述存储协议数据包下发给所述目标存储节点。所述存储节点,被配置为接收所述交换机下发的存储协议数据包;处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给分布式存储***的其他存储节点;所述目标存储节点为所述分布式存储***中的存储节点,所述分布式存储***包括至少两个存储节点。
根据本说明书实施例的第七方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:接收交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,所述目标存储节点为分布式存储***中的存储节点,所述分布式存储***包括交换机以及至少两个存储节点;处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
根据本说明书实施例的第八方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本说明书任意实施例所述数据传输方法的步骤。
根据本说明书实施例的第九方面,提供了一种计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任意实施例所述数据传输方法的步骤。
本说明书一个实施例实现了数据传输方法,由于该方法中交换机预设了I/O请求路由规则,I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,因此,交换机响应于接收到请求端发送的数据包,能够针对存储协议数据包,利用存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,将所述存储协议数据包下发给目标存储节点,使目标存储节点处理所述存储协议数据包并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点,从而其他存储节点可以利用所述控制信息与请求端继续进行合法交互。可见,根据该方法,在不侵入请求端***的前提下,交换机基于预设的I/O请求路由规则,大流量的数据可通过交换机直接进行存储数据包的转发,小流量的控制可在存储节点间转发,交换机无需感知/维护复杂逻辑,基于数据包的头部信息解析出指定偏移的字段进行路由查询即可基于交换机的硬件芯片处理数据包的发送,数据传输开销小,传输效率高,有效提升存储集群整体性能。
附图说明
图1是本说明书一个实施例提供的一种数据传输方法的流程图;
图2是本说明书一个实施例提供的一种I/O请求路由规则示意图;
图3是本说明书一个实施例提供的一种非I/O请求路由规则示意图;
图4是本说明书一个实施例提供的一种数据传输方法的信息交互示意图;
图5是本说明书一个实施例提供的一种分布式存储***架构示意图;
图6是本说明书另一个实施例提供的一种数据传输方法的信息交互示意图;
图7是本说明书一个实施例提供的一种数据传输装置的结构示意图;
图8是本说明书另一个实施例提供的一种数据传输装置的结构示意图;
图9是本说明书另一个实施例提供的一种数据传输方法的流程图;
图10是本说明书又一个实施例提供的一种数据传输装置的结构示意图;
图11是本说明书一个实施例提供的一种分布式存储***的结构示意图;
图12是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
块设备:I/O设备中的一类,是将信息存储在固定大小的块中,每个块都有自己的地址,还可以在设备的任意位置读取一定长度的数据,例如硬盘。
NVMe:或称非易失性内存主机控制器接口规范(Non-Volatile Memory express),是一个逻辑设备接口规范。是基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用于访问通过PCI-Express(PCIe)总线附加的非易失性内存介质,此规范目的在于充分利用PCI-E通道的低延时以及并行性,还有当代处理器、平台与应用的并行性,在可控制的存储成本下,极大的提升固态硬盘的读写性能,降低由于AHCI接口带来的高延时,解放SATA时代固态硬盘的性能。
NoF:NVMe over Fabric,使用RDMA、TCP或光纤通道(FC)架构等Fabric技术取代PCIe进行NVMe协议传输,使计算机能够远距离访问高速存储设备。
iSCSI:Internet Small Computer System Interface,Internet小型计算机***接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准,iSCSI利用了TCP/IP作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网来访问存储***。
I/O请求:读/写磁盘的请求。例如,用户使用云磁盘时基本的操作就是读取磁盘的数据,往磁盘写入数据。每一个读、写的请求即称为I/O请求(简称I/O)。
在本说明书中,提供了数据传输方法,本说明书同时涉及数据传输装置,分布式存储***,计算设备,以及计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种数据传输方法的流程图。该方法应用于分布式存储***中的交换机,所述分布式存储***包括至少两个存储节点。该方法包括步骤102至步骤106。
步骤102:响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包。
其中,所述存储协议数据包是指基于分布式存储***的存储协议的数据包。发送存储协议数据包的请求即为I/O请求。例如,可以利用所述数据包的目的端口信息,判断所述数据包是否为存储协议数据包。例如,根据目的端口信息,可以识别的存储协议包括不限于iSCSI、NVMe over TCP、NVMe over RDMA等。
步骤104:如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系。
其中,所述数据的存储特征信息与目标存储节点信息的对应关系,可以根据分布式存储***中数据的分布情况进行配置。
其中,所述存储报文特征,是所述数据包中基于存储协议的报文的特征信息。例如,所述分布式存储***为分布式块存储***,所述预设的I/O请求路由规则中可以包含设备ID、数据段范围、与目标存储节点IP的对应关系。在该实施例中,存储报文特征包括设备ID、数据段范围的信息(例如,可以包括不限于设备I/O请求起始地址、I/O请求长度等信息)。所述利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,可以包括:通过解析所述存储协议数据包,获得设备ID信息及数据长度信息;利用所述设备ID信息及数据长度信息,在所述预设的I/O请求路由格则中,查询出对应的目标存储节点IP。在实际应用中,可以根据分散策略形成的数据的分布情况,来设置I/O请求路由规则中数据的存储特征信息与目标存储节点信息的对应关系。例如,可以包括设备ID、数据段范围、与目标存储节点IP的对应关系。例如,一个分散策略中,块设备对象按颗粒进行分散,不同存储节点可以提供不同块设备的数据访问。例如,另一个分散策略中,按照I/O请求的LBA(逻辑块地址)进行分散,同一个块设备的不同的LBA地址区间由不同存储节点提供数据访问服务,等。
又例如,所述分布式存储***为分布式文件存储***,所述预设的I/O请求路由规则中可以包含设备ID、文件特征、与目标存储节点IP的对应关系。在该实施例中,存储报文特征包括设备ID、文件特征的信息。可以理解的是,分布式文件存储***可以按文件特征对数据进行分散,具体分散策略本说明书实施例提供的方法并不进行限制,实际应用中,可以根据实际应用场景中的分散策略,对路由规则进行设置,在此不再详细赘述。
步骤106:将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
其中,其他存储节点中的至少一个存储节点可以利用所述控制信息与所述请求端继续交互。控制信息可以是用于存储节点与请求端继续进行合法交互的控制信息。例如,所述控制信息可以包括用于描述数据传输情况的状态信息。在实际应用中,可以根据实施场景下交互协议的具体规定,在存储节点间同步对应的控制信息。例如,所述控制信息,可以包括:I/O相关的session控制信息,如CmdSN、AckSN等信息。
由于该方法中交换机预设了I/O请求路由规则,I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,因此,交换机响应于接收到请求端发送的数据包,能够针对存储协议数据包,利用存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,将所述存储协议数据包下发给目标存储节点,使目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点,从而其他存储节点可以利用所述控制信息与请求端继续交互。可见,根据该方法,在不侵入请求端***的前提下,交换机基于预设的I/O请求路由规则,根据I/O请求的特征动态均衡地转发数据包,在基本交换能力的基础上扩展支持应用层负载均衡能力,大流量的数据可通过交换机直接进行存储数据包的转发,小流量的控制可在存储节点间转发,交换机无需感知/维护复杂逻辑,基于数据包的头部信息解析出指定偏移的字段进行路由查询,即可基于交换机的硬件芯片处理数据包的发送,有效减小存储节点之间的转发流量和转发时延,传输效率高,有效提升存储集群整体性能。
例如,在一些云定义存储项目中,需要将云块存储输出到客户的IDC(互联网数据中心,Internet Data Center)环境,为了避免分布式存储***的数据分布机制在和标准协议客户端对接时存在的额外的数据传输开销,可以在IDC环境中的网络交换机上应用本说明书实施例提供的方法,从而在不侵入用户主机***的前提下,通过交换机直接进行数据包的转发,有效减小存储节点之间的转发流量和转发时延,提升存储集群整体性能。
为了使本说明书实施例提供的方法更加易于理解,下面再从交换机初始配置、建立连接、请求下发等几个环节对本说明书实施例提供的方法进行示例性说明。
在初始配置阶段,交换机可以通过与存储集群协商,感知分布式存储***中数据的分布情况,进而在交换机预设I/O请求路由规则。例如,交换机可以从存储集群中用于负责管理数据分布的节点获取数据的分布情况。一个实施例中,如图2所示,交换机上预设的I/O请求路由规则可以包含设备ID、数据段起始地址、数据段长度、目标存储节点IP之间的对应关系。需要说明的是,图2所示的I/O请求路由规则仅用于对本说明书实施例提供的方法进行说明,在实际应用中,路由规则包含的内容和形式可以根据实际场景需要进行设置。
可以理解的是,在实际应用场景中,请求端除了发送存储协议数据包,还可能发送非存储协议数据包。为了便于转发非存储协议数据包,可以为不同的请求端配置对应的虚拟IP,请求端通过该虚拟IP访问存储集群,不感知各存储节点的物理IP地址。对于非存储协议数据包,也即非I/O请求类的协议包例如用于控制协商的数据包(如iSCSI协议的login包),可预设非I/O请求路由规则,其中包含虚拟IP与目标存储节点物理IP的对应关系。例如,如图3所示的非I/O请求路由规则,非I/O请求路由规则中可以包含虚拟IP、目的协议端口与目标存储节点物理IP的对应关系,对应关系可以是固定的。在所述数据包不是存储协议数据包的情况下,交换机利用所述数据包的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,将所述数据包下发给所述目标存储节点。
在建立连接阶段,交换机可以响应于接收到请求端发送的连接请求,判断所述连接请求的目的端口是否为存储协议端口;如果是,利用所述连接请求的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则包括虚拟IP与目标存储节点物理IP的对应关系,将所述连接请求下发给所述目标存储节点,以使所述目标存储节点处理所述连接请求,并将所述连接请求的连接信息同步给所述分布式存储***的其他存储节点。在该实施例中,通过将连接请求的连接信息同步给其他存储节点,使其他存储节点可以利用所述连接信息与请求端连接以继续与其交互。例如,在请求端发起连接协议端口请求(如iSCSI的3260端口)的情况下,交换机识别目的端口是存储协议端口,根据非I/O请求路由规则选择预配置的目标存储节点物理IP,将连接请求转发给预配置目标存储节点,目标存储节点处理连接请求,并将连接信息,例如包括但不限于鉴权和参数协商信息,如请求端ID(鉴权用类似token)、协商的各传输参数(如最大并发命令、单次最大传输数据长度等等)等同步到其他相关存储节点。
需要说明的是,存储节点与请求端之间的连接,可以是根据上述实施例通过连接信息在存储节点间的同步建立的,也可以是通过其他方式建立的,本说明书实施例提供的方法并不进行限制。可以理解的是,通过连接信息在存储节点间同步,更加便于不同存储节点与请求端在请求端无感的情况下继续交互,有助于提升存储***的整体性能。
在请求下发阶段,请求端下发数据包,交换机识别目的端口是存储协议端口,确定数据包是存储协议数据包的情况下,根据I/O请求路由规则查询出对应的目标存储节点,将存储协议数据包转发给对应的目标存储节点。目标节点处理存储协议数据包并将控制信息,例如包括但不限于session(会话)等控制信息中的CmdSN、AckSN等信息,同步到其他相关存储节点。由于控制信息数据量很小,因此对存储节点间网络带宽占用很小,对性能不造成影响。
下面,结合图4所示本说明书一个实施例提供的一种数据传输方法的信息交互示意图,对请求下发的过程进行示意性说明。在该实施例中,交换机按功能划分,包含基础交换模块、存储协议过滤模块、存储路由模块。例如,具体步骤包括步骤402至步骤416。
步骤402:请求端向交换机下发数据包。
步骤404:基础交换模块将数据包交给存储协议过滤模块,由存储协议过滤模块判断数据包目的端口是否为存储协议端口。
步骤406:在判定是存储协议端口的情况下,存储协议过滤模块向存储路由模块请求处理数据包。在数据包目的端口是存储协议端口的情况下,该数据包即为存储协议数据包。
步骤408:存储路由模块根据数据包的存储报文特征,查询出对应的目标存储节点。
步骤410:存储路由模块修改数据包的目的地址为所述目标存储节点的地址。
步骤412:基础交换模块下发数据包给存储集群中的目标存储节点。
步骤414:目标存储节点处理数据包,同步控制信息给其他存储节点。
步骤416:在判定不是存储协议端口的情况下,将数据包交给基础交换模块根据基本交换规则转发数据包。
根据图4所示的信息交互示意图,本实施例的***架构如图5所示,包括:定制存储网络交换机、存储集群。定制存储网络交换机可以预先设置路由规则。当主机通过标准协议发送I/O请求给定制存储网络交换机时,定制存储网络交换机中的存储协议过滤模块向存储路由模块请求处理数据包。存储路由模块根据数据包的存储报文特征,在预设的路由规则中查询出对应的目标存储节点。基础交换模块下发数据包给目标存储节点。其中,交换机与存储集群中各个存储节点之间可以通过标准或私有协议发送I/O请求。图5中,定制存储网络交换机与存储节点之间可以包括:控制网络及数据网络。控制网络,用于传输路由规则等控制交换机的信息。数据网络,用于传输存储数据。存储路由模块控制模块可以与存储集群协商,感知数据服务的分布,并将存储路由规则通过控制网络配置到存储网络交换机中的存储路由模块。
需要说明的是,请求端和存储节点之间的传输通道是有状态的,例如在初次建立连接时会进行鉴权和参数协商,在之后的数据交互过程可以维护单调递增的命令序列号用于检测丢包、乱序等异常并进行重传。由于存储交换机将请求端下发的数据包可能路由给了不同的存储节点,因此需要收到请求端数据包的存储节点将相关控制信息同步给其他节点,使其他节点可以无缝和请求端继续交互。为了说明同步控制信息的作用,下面,再结合图6所示本说明书另一个实施例提供的一种数据传输方法的信息交互示意图,以控制信息命令序列号为例,对存储节点同步控制信息及利用控制信息的过程进行示意性说明。例如,具体步骤包括步骤602至步骤624。
步骤602:请求端发送I/O请求,也即存储协议数据包,该存储协议数据包的控制信息包括“CmdSN=1”。
步骤604:交换机根据本说明书实施例提供的方法将存储协议数据包下发给目标存储节点A。
步骤606:存储节点A处理I/O请求,并根据CmdSN=1更新ExpCmdSN=2,AckSN=2。
步骤608:存储节点A将ExpCmdSN=2,AckSN=2同步给存储节点B。
步骤610:存储节点A向请求端返回AckSN=1的控制信息。
步骤612:请求端根据AckSN=1更新ExpAckSN=2。
步骤614:请求端发送下一I/O请求,也即下一存储协议数据包,该存储协议数据包的控制信息包括“CmdSN=2”。
步骤616:交换机根据本说明书实施例提供的方法将I/O请求携带“CmdSN=2”下发给目标存储节点B。
步骤618:存储节点B根据接收到的CmdSN与ExpCmdSN一致,判定合法,处理数据包,更新ExpCmdSN=3,AckSN=3。
步骤620:存储节点B将ExpCmdSN=3,AckSN=3同步给存储节点A。
步骤622:存储节点B向请求端返回AckSN=2的控制信息。
步骤624:请求端根据AckSN与ExpAckSN一致,判定合法。
通过该实施例可见,收到请求端数据包的存储节点将相关控制信息同步给其他节点,使其他节点可以无缝和请求端继续交互,交换机无需感知/维护控制信息的复杂逻辑,只需要基于数据包的头部信息解析出指定偏移的字段进行路由查询转发数据包即可,有效提升存储集群性能。
另外,为了使交换机及时更新路由规则,准确地转发数据包,本说明书一个或多个实施例中,该方法还包括:定时查询所述分布式存储***中数据的最新分布情况,和/或,响应于所述分布式存储***中存储节点负责的数据范围的更新,获取所述分布式存储***中数据的最新分布情况;根据所述最新分布情况更新所述预设的I/O请求路由规则。例如,当分布式存储***中由于节点增删、或节点负载重均衡等原因更新了各存储节点负责的数据段范围时,可以相应更新交换机中的路由表内的路由规则。
与上述方法实施例相对应,本说明书还提供了数据传输装置实施例,图7示出了本说明书一个实施例提供的一种数据传输装置的结构示意图。该装置配置于分布式存储***中的交换机,所述分布式存储***包括至少两个存储节点。如图7所示,该装置包括:存储协议过滤模块702、存储路由模块704及交换模块706。
该存储协议过滤模块702,可以被配置为响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包。
该存储路由模块704,可以被配置为如果所述存储协议过滤模块702判定为是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系。
该交换模块706,可以被配置为将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
由于该装置中交换机预设了I/O请求路由规则,I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,因此,交换机响应于接收到请求端发送的数据包,能够针对存储协议数据包,利用存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,将所述存储协议数据包下发给目标存储节点,使目标存储节点处理所述存储协议数据包并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点,从而其他存储节点可以利用所述控制信息与请求端继续交互。可见,根据该装置,在不侵入请求端***的前提下,交换机基于预设的I/O请求路由规则,在基本交换能力的基础上扩展支持应用层负载均衡能力,大流量的数据可通过交换机直接进行存储数据包的转发,小流量的控制可在存储节点间转发,交换机无需感知/维护复杂逻辑,基于数据包的头部信息解析出指定偏移的字段进行路由查询即可基于交换机的硬件芯片处理数据包的发送,数据传输开销小,传输效率高,有效提升存储集群整体性能。
图8示出了本说明书另一个实施例提供的一种数据传输装置的结构示意图。在该实施例中,所述分布式存储***为分布式块存储***,所述预设的I/O请求路由规则中包含设备ID、数据段范围、与目标存储节点IP的对应关系。所述存储路由模块704包括:解析子模块7042、查询子模块7044。
该解析子模块7042,可以被配置为通过解析所述存储协议数据包,获得设备ID信息及数据长度信息。
该查询子模块7044,可以被配置为利用所述设备ID信息及数据长度信息,在所述预设的I/O请求路由格则中,查询出对应的目标存储节点IP。
为了使交换机及时更新路由规则,准确地转发数据包,本说明书一个或多个实施例中,如图8所示,所述装置还可以包括:数据分布获取模块708,可以被配置为定时查询所述分布式存储***中数据的最新分布情况,和/或,响应于所述分布式存储***中存储节点负责的数据范围的更新,获取所述分布式存储***中数据的最新分布情况。路由规则更新模块710,可以被配置为根据所述最新分布情况更新所述预设的I/O请求路由规则。
可以理解的是,在实际应用场景中,请求端除了发送存储协议数据包,还可能发送非存储协议数据包。为了便于转发非存储协议数据包,可以为不同的请求端配置对应的虚拟IP,请求端通过该虚拟IP访问存储集群,不感知各存储节点的物理IP地址。本说明书一个或多个实施例中,如图8所示,所述存储路由模块704,还可以被配置为如果所述数据包不是存储协议数据包,利用所述数据包的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则中包含虚拟IP与目标存储节点物理IP的对应关系。相应地,所述交换模块706,可以被配置为将所述数据包下发给所述目标存储节点。
本说明书一个或多个实施例中,如图8所示,所述存储协议过滤模块702,还可以被配置为响应于接收到请求端发送的连接请求,判断所述连接请求的目的端口是否为存储协议端口。所述存储路由模块704,还可以被配置为如果所述存储协议过滤模块702判定为是,利用所述连接请求的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则包括虚拟IP与目标存储节点物理IP的对应关系。所述交换模块706,还可以被配置为将所述连接请求下发给所述目标存储节点,以使所述目标存储节点处理所述连接请求,并将所述连接请求相关的连接信息同步给所述分布式存储***的其他存储节点。在该实施例中,通过将连接请求的连接信息同步给其他存储节点,使其他存储节点可以利用所述连接信息与请求端连接以继续与其交互。
上述为本实施例的一种数据传输装置的示意性方案。需要说明的是,该数据传输装置的技术方案与上述的数据传输方法的技术方案属于同一构思,数据传输装置的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
图9示出了根据本说明书另一个实施例提供的一种数据传输方法的流程图。该方法应用于分布式存储***中的存储节点,所述分布式存储***还包括交换机以及其他存储节点。该方法包括步骤902至步骤904。
步骤902:接收所述交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系。
步骤904:处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
由于该方法中目标存储节点处理存储协议数据包并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点,从而其他存储节点可以利用所述控制信息与请求端继续交互。可见,根据该方法,在不侵入请求端***的前提下,交换机基于预设的I/O请求路由规则,根据I/O请求的特征动态均衡地转发数据包,在基本交换能力的基础上扩展支持应用层负载均衡能力,大流量的数据可通过交换机直接进行存储数据包的转发,小流量的控制可在存储节点间转发,交换机无需感知/维护复杂逻辑,基于数据包的头部信息解析出指定偏移的字段进行路由查询即可基于交换机的硬件芯片处理数据包的发送,传输效率高,有效提升存储集群整体性能。
上述为本实施例的应用于存储节点的数据传输方法的示意性方案。需要说明的是,该数据传输方法的技术方案与上述应用于交换机的数据传输方法的技术方案属于同一构思,未详细描述的细节内容,均可以参见上述应用于交换机的数据传输方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了数据传输装置实施例,图10示出了本说明书又一个实施例提供的一种数据传输装置的结构示意图。该装置配置于分布式存储***中的存储节点,所述分布式存储***还包括交换机以及其他存储节点。如图10所示,该装置包括:接收模块1002及处理模块1004。
该接收模块1002,可以被配置为接收所述交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系。
该处理模块1004,可以被配置为处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
上述为本实施例的配置于存储节点的数据传输装置的示意性方案。需要说明的是,该数据传输装置的技术方案与上述应用于交换机的数据传输方法的技术方案属于同一构思,未详细描述的细节内容,均可以参见上述应用于交换机的数据传输方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了分布式存储***实施例。图11示出了本说明书一个实施例提供的一种分布式存储***的结构示意图。如图11所示,该***包括:交换机1102以及至少两个存储节点如存储节点1104及存储节点1106。
所述交换机,被配置为响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;将所述存储协议数据包下发给所述目标存储节点。
所述存储节点,被配置为接收所述交换机下发的存储协议数据包;处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
上述为本实施例的分布式存储***的示意性方案。需要说明的是,该分布式存储***的技术方案与上述应用于交换机的数据传输方法的技术方案属于同一构思,未详细描述的细节内容,均可以参见上述应用于交换机的数据传输方法的技术方案的描述。
图12示出了根据本说明书一个实施例提供的一种计算设备1200的结构框图。该计算设备1200的部件包括但不限于存储器1210和处理器1220。处理器1220与存储器1210通过总线1230相连接,数据库1250用于保存数据。
计算设备1200还包括接入设备1240,接入设备1240使得计算设备1200能够经由一个或多个网络1260通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备1240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备1200的上述部件以及图12中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图12所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备1200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备1200还可以是移动式或静止式的服务器。
其中,处理器1220用于执行如下计算机可执行指令:
响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;
响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;
如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给分布式存储***的其他存储节点;所述目标存储节点为所述分布式存储***中的存储节点,所述分布式存储***包括至少两个存储节点。
或者,处理器1220用于执行如下计算机可执行指令:
接收交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,所述目标存储节点为分布式存储***中的存储节点,所述分布式存储***包括交换机以及至少两个存储节点;
处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据传输方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;
如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给分布式存储***的其他存储节点;所述目标存储节点为所述分布式存储***中的存储节点,所述分布式存储***包括至少两个存储节点。
或者,该指令被处理器执行时以用于:
接收交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,所述目标存储节点为分布式存储***中的存储节点,所述分布式存储***包括交换机以及至少两个存储节点;
处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据传输方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,当所述计算机程序在计算机中执行时,令计算机执行本说明书任意实施例所述数据传输方法的步骤。
需要说明的是,该计算机程序的技术方案与上述的数据传输方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据传输方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种数据传输方法,应用于分布式存储***中的交换机,所述分布式存储***包括至少两个存储节点,所述方法包括:
响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;
如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
2.根据权利要求1所述的方法,所述分布式存储***为分布式块存储***,所述预设的I/O请求路由规则中包含设备ID、数据段范围、与目标存储节点IP的对应关系;
所述利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,包括:
通过解析所述存储协议数据包,获得设备ID信息及数据长度信息;
利用所述设备ID信息及数据长度信息,在所述预设的I/O请求路由格则中,查询出对应的目标存储节点IP。
3.根据权利要求1所述的方法,还包括:
定时查询所述分布式存储***中数据的最新分布情况,和/或,响应于所述分布式存储***中存储节点负责的数据范围的更新,获取所述分布式存储***中数据的最新分布情况;
根据所述最新分布情况更新所述预设的I/O请求路由规则。
4.根据权利要求1所述的方法,还包括:
如果所述数据包不是存储协议数据包,利用所述数据包的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则中包含虚拟IP与目标存储节点物理IP的对应关系;
将所述数据包下发给所述目标存储节点。
5.根据权利要求1所述的方法,还包括:
响应于接收到请求端发送的连接请求,判断所述连接请求的目的端口是否为存储协议端口;
如果是,利用所述连接请求的目标虚拟IP,在预设的非I/O请求路由规则中查询出对应的目标存储节点,所述预设的非I/O请求路由规则包括虚拟IP与目标存储节点物理IP的对应关系;
将所述连接请求下发给所述目标存储节点,以使所述目标存储节点处理所述连接请求,并将所述连接请求相关的连接信息同步给所述分布式存储***的其他存储节点。
6.根据权利要求5所述的方法,所述连接请求相关的连接信息,包括:鉴权和参数协商信息;所述存储协议数据包的控制信息,包括:Session控制信息。
7.一种数据传输装置,配置于分布式存储***中的交换机,所述分布式存储***包括至少两个存储节点,所述装置包括:
存储协议过滤模块,被配置为响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;
存储路由模块,被配置为如果所述存储协议过滤模块判定为是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
交换模块,被配置为将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
8.一种数据传输方法,应用于分布式存储***中的存储节点,所述分布式存储***还包括交换机以及其他存储节点,所述方法包括:
接收所述交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
9.一种数据传输装置,配置于分布式存储***中的存储节点,所述分布式存储***还包括交换机以及其他存储节点,所述装置包括:
接收模块,被配置为接收所述交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
处理模块,被配置为处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
10.一种分布式存储***,包括:交换机以及至少两个存储节点;
所述交换机,被配置为响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;将所述存储协议数据包下发给所述目标存储节点;
所述存储节点,被配置为接收所述交换机下发的存储协议数据包;处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
响应于接收到请求端发送的数据包,判断所述数据包是否为存储协议数据包;
如果是,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系;
将所述存储协议数据包下发给所述目标存储节点,以使所述目标存储节点处理所述存储协议数据包,并将所述存储协议数据包的控制信息同步给分布式存储***的其他存储节点;所述目标存储节点为所述分布式存储***中的存储节点。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
接收交换机下发的存储协议数据包,所述存储协议数据包,是所述交换机响应于接收到请求端发送的数据包,确定所述数据包是存储协议数据包的情况下,利用所述存储协议数据包的存储报文特征,在预设的I/O请求路由规则中查询出对应的目标存储节点之后下发的,所述预设的I/O请求路由规则中包含数据的存储特征信息与目标存储节点信息的对应关系,所述目标存储节点为分布式存储***中的存储节点,所述分布式存储***包括交换机以及至少两个存储节点;
处理所述存储协议数据包,以及,将所述存储协议数据包的控制信息同步给所述分布式存储***的其他存储节点。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至6或权利要求8任意一项所述数据传输方法的步骤。
14.一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1至6或权利要求8任意一项所述数据传输方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110855428.4A CN113315845B (zh) | 2021-07-28 | 2021-07-28 | 数据传输方法、装置及分布式存储*** |
PCT/CN2022/106557 WO2023005747A1 (zh) | 2021-07-28 | 2022-07-19 | 数据传输方法、装置及分布式存储*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110855428.4A CN113315845B (zh) | 2021-07-28 | 2021-07-28 | 数据传输方法、装置及分布式存储*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315845A true CN113315845A (zh) | 2021-08-27 |
CN113315845B CN113315845B (zh) | 2022-01-04 |
Family
ID=77381814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110855428.4A Active CN113315845B (zh) | 2021-07-28 | 2021-07-28 | 数据传输方法、装置及分布式存储*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113315845B (zh) |
WO (1) | WO2023005747A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189445A (zh) * | 2021-12-03 | 2022-03-15 | 威创集团股份有限公司 | 一种usb信号透传处理方法、装置、终端及存储介质 |
CN114338526A (zh) * | 2022-01-06 | 2022-04-12 | 上海幻电信息科技有限公司 | 数据传输方法及装置 |
CN114676166A (zh) * | 2022-05-26 | 2022-06-28 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
CN115665178A (zh) * | 2022-10-21 | 2023-01-31 | 济南浪潮数据技术有限公司 | 一种分布式存储***的管理方法、***、设备及存储介质 |
WO2023005747A1 (zh) * | 2021-07-28 | 2023-02-02 | 阿里云计算有限公司 | 数据传输方法、装置及分布式存储*** |
WO2023030256A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 处理i/o请求的方法、装置、***、设备及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118175206B (zh) * | 2024-05-15 | 2024-07-19 | 北京卓讯科信技术有限公司 | 双单向数据处理方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012164625A1 (en) * | 2011-06-01 | 2012-12-06 | Hitachi, Ltd. | Load distribution storage system and method therefor |
CN105490999A (zh) * | 2014-12-23 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种基于xmpp协议的分布式存储*** |
CN107025072A (zh) * | 2017-04-11 | 2017-08-08 | 广东浪潮大数据研究有限公司 | 一种基于iscsi协议的数据读写的方法、相关装置与*** |
US20180205613A1 (en) * | 2017-01-17 | 2018-07-19 | Electronics And Telecommunications Research Institute | Method for automatically allocating ip address for distributed storage system in large-scale torus network and apparatus using the same |
CN110224988A (zh) * | 2019-05-10 | 2019-09-10 | 视联动力信息技术股份有限公司 | 一种图像数据的处理方法、***及装置和存储介质 |
CN110868336A (zh) * | 2019-11-11 | 2020-03-06 | 北京明略软件***有限公司 | 数据管理方法、装置和计算机可读存储介质 |
CN111124299A (zh) * | 2019-12-17 | 2020-05-08 | 网易传媒科技(北京)有限公司 | 数据存储管理方法、装置、设备、***及存储介质 |
CN111385208A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 路由选择方法、装置、计算机设备及存储介质 |
CN112235266A (zh) * | 2020-09-29 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6011786B2 (ja) * | 2012-08-06 | 2016-10-19 | 日本電気株式会社 | 分散ストレージシステム、分散ストレージデータ配置制御方法及び分散ストレージデータ配置制御用プログラム |
KR20150088442A (ko) * | 2014-01-24 | 2015-08-03 | 한국전자통신연구원 | 정보 중심 네트워크 기반 분산파일 관리 방법 및 장치 |
CN113315845B (zh) * | 2021-07-28 | 2022-01-04 | 阿里云计算有限公司 | 数据传输方法、装置及分布式存储*** |
-
2021
- 2021-07-28 CN CN202110855428.4A patent/CN113315845B/zh active Active
-
2022
- 2022-07-19 WO PCT/CN2022/106557 patent/WO2023005747A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012164625A1 (en) * | 2011-06-01 | 2012-12-06 | Hitachi, Ltd. | Load distribution storage system and method therefor |
CN105490999A (zh) * | 2014-12-23 | 2016-04-13 | 哈尔滨安天科技股份有限公司 | 一种基于xmpp协议的分布式存储*** |
US20180205613A1 (en) * | 2017-01-17 | 2018-07-19 | Electronics And Telecommunications Research Institute | Method for automatically allocating ip address for distributed storage system in large-scale torus network and apparatus using the same |
CN107025072A (zh) * | 2017-04-11 | 2017-08-08 | 广东浪潮大数据研究有限公司 | 一种基于iscsi协议的数据读写的方法、相关装置与*** |
CN111385208A (zh) * | 2018-12-29 | 2020-07-07 | 广州市百果园信息技术有限公司 | 路由选择方法、装置、计算机设备及存储介质 |
CN110224988A (zh) * | 2019-05-10 | 2019-09-10 | 视联动力信息技术股份有限公司 | 一种图像数据的处理方法、***及装置和存储介质 |
CN110868336A (zh) * | 2019-11-11 | 2020-03-06 | 北京明略软件***有限公司 | 数据管理方法、装置和计算机可读存储介质 |
CN111124299A (zh) * | 2019-12-17 | 2020-05-08 | 网易传媒科技(北京)有限公司 | 数据存储管理方法、装置、设备、***及存储介质 |
CN112235266A (zh) * | 2020-09-29 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023005747A1 (zh) * | 2021-07-28 | 2023-02-02 | 阿里云计算有限公司 | 数据传输方法、装置及分布式存储*** |
WO2023030256A1 (zh) * | 2021-08-31 | 2023-03-09 | 华为技术有限公司 | 处理i/o请求的方法、装置、***、设备及存储介质 |
CN114189445A (zh) * | 2021-12-03 | 2022-03-15 | 威创集团股份有限公司 | 一种usb信号透传处理方法、装置、终端及存储介质 |
CN114189445B (zh) * | 2021-12-03 | 2023-03-10 | 威创集团股份有限公司 | 一种usb信号透传处理方法、装置、终端及存储介质 |
CN114338526A (zh) * | 2022-01-06 | 2022-04-12 | 上海幻电信息科技有限公司 | 数据传输方法及装置 |
CN114676166A (zh) * | 2022-05-26 | 2022-06-28 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
CN115665178A (zh) * | 2022-10-21 | 2023-01-31 | 济南浪潮数据技术有限公司 | 一种分布式存储***的管理方法、***、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023005747A1 (zh) | 2023-02-02 |
CN113315845B (zh) | 2022-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113315845B (zh) | 数据传输方法、装置及分布式存储*** | |
WO2020259509A1 (zh) | 一种应用迁移方法及装置 | |
EP3275162B1 (en) | Systems and techniques for web communication | |
JP6551547B2 (ja) | マルチグループp2pネットワークにおけるトラフィック認識型グループ再構成 | |
CN113596191B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
US9392081B2 (en) | Method and device for sending requests | |
US8396009B2 (en) | Method and apparatus for an adapter in a network device to discover its adapter name in a network system | |
JP2022541085A (ja) | ネットワークアクセス装置に接続する方法、端末及びコンピュータ読み取り可能な記憶媒体 | |
CN111918273A (zh) | 一种网络切片的选择方法及装置 | |
WO2021047515A1 (zh) | 一种服务路由方法及装置 | |
EP1244262B1 (en) | Redirection of client requests | |
EP2343867B1 (en) | System and method of reducing intranet traffic on bottleneck links in a telecommunications network | |
JP6752141B2 (ja) | パケットを処理するための方法およびフォワーダ | |
US11343225B2 (en) | Sharing media among remote access clients in a universal plug and play environment | |
EP3817308A1 (en) | Method, device and system for responding to request and applied to bt system | |
CN105657571A (zh) | 一种局域网内视频传输节省带宽的方法 | |
CN104660550A (zh) | 一种在多服务器之间进行会话迁移的方法 | |
JPWO2014061314A1 (ja) | コンテンツ配信方法 | |
CN111386749A (zh) | 用于在基础设施链路上建立点对点服务会话的方法 | |
WO2023186109A1 (zh) | 节点访问方法以及数据传输*** | |
WO2018192241A1 (zh) | 实现网间互通的服务器部署结构及方法 | |
CN115134395B (zh) | 数据处理方法以及装置 | |
WO2022148364A1 (zh) | 数据发送方法及装置、建立p2p连接的方法及*** | |
JP2003258859A (ja) | 通信システム、通信方法、転送装置及びネットワーク管理装置 | |
CN113377530A (zh) | 负载均衡方法、***及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40059791 Country of ref document: HK |