CN115904253B - 一种数据传输方法、装置、一种存储系统及设备和介质 - Google Patents

一种数据传输方法、装置、一种存储系统及设备和介质 Download PDF

Info

Publication number
CN115904253B
CN115904253B CN202310024492.7A CN202310024492A CN115904253B CN 115904253 B CN115904253 B CN 115904253B CN 202310024492 A CN202310024492 A CN 202310024492A CN 115904253 B CN115904253 B CN 115904253B
Authority
CN
China
Prior art keywords
data
storage node
storage system
transmission request
distributed storage
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.)
Active
Application number
CN202310024492.7A
Other languages
English (en)
Other versions
CN115904253A (zh
Inventor
于鲁宪
张在贵
李雪生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202310024492.7A priority Critical patent/CN115904253B/zh
Publication of CN115904253A publication Critical patent/CN115904253A/zh
Application granted granted Critical
Publication of CN115904253B publication Critical patent/CN115904253B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请公开了一种数据传输方法、装置、一种存储系统及设备和介质,该方法包括:接收传输请求;确定所述传输请求对应的数据流;将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点。本申请消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。

Description

一种数据传输方法、装置、一种存储系统及设备和介质
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种数据传输方法、装置、一种存储系统及一种电子设备和一种计算机可读存储介质。
背景技术
分布式存储系统为了保证数据安全,通常需要在集群内部节点间做数据冗余,一份数据通过冗余计算以后,最终集群内部存储的数据实际上会超过原始的一份数据量。在现有技术中,存储架构一般采用主从机制,数据由集群关网接入后先发送到主本,再由主本计算冗余数据转发到从本,冗余数据由主本发送到从本的过程,就是集群内部节点间东西向数据拷贝的过程。在高速存储介质,例如全闪环境下,集群读写性能很高,但伴随高IO(输入/输出,Input/Output)的同时,也产生了大量的集群内部节点间的东西向数据拷贝,极大的消耗网络和CPU(中央处理器,central processing unit)资源。
因此,如何减少分布式存储系统中数据拷贝所消耗的资源是本领域技术人员需要解决的技术问题。
发明内容
本申请的目的在于提供一种数据传输方法、装置、一种存储系统及一种电子设备和一种计算机可读存储介质,减少了分布式存储系统中数据拷贝所消耗的资源。
为实现上述目的,本申请提供了一种数据传输方法,应用于网关设备,包括:
接收传输请求;
确定所述传输请求对应的数据流;
将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点。
其中,将所述数据流分别发送至分布式存储系统中的多个存储节点之前,还包括:
对所述数据流进行冗余计算。
其中,将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:
将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
其中,所述确定所述传输请求对应的数据流,包括:
将所述传输请求拆分为数据流和控制流消息。
其中,将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:
通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点。
其中,所述通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:
通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。
其中,所述接收传输请求之后,还包括:
确定所述传输请求对应的控制流消息。
其中,所述确定所述传输请求对应的控制流消息,包括:
将所述传输请求拆分为数据流和控制流消息。
其中,所述确定所述传输请求对应的控制流消息之后,还包括:
将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
为实现上述目的,本申请提供了一种数据传输方法,应用于分布式存储系统中的主存储节点,包括:
从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息;
从所述网关设备获取所述控制流消息,并将所述控制流消息转发至所述分布式存储系统中的从存储节点。
其中,所述从网关设备拉取数据流,包括:
通过远程直接数据存取的单边协议从网关设备拉取数据流。
为实现上述目的,本申请提供了一种数据传输方法,应用于分布式存储系统中的从存储节点,包括:
从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息,并将所述控制流消息发送至所述分布式存储系统中的主存储节点;
接收所述分布式存储系统中的主存储节点发送的所述控制流消息。
其中,所述从网关设备拉取数据流,包括:
通过远程直接数据存取的单边协议从网关设备拉取数据流。
为实现上述目的,本申请提供了一种数据传输装置,应用于网关设备,包括:
第一接收模块,用于接收传输请求;
第一确定模块,用于确定所述传输请求对应的数据流;
第一发送模块,用于将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点。
其中,还包括:
计算模块,用于对所述数据流进行冗余计算。
其中,所述第一发送模块具体用于:将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
其中,所述第一确定模块具体用于:将所述传输请求拆分为数据流和控制流消息。
其中,所述第一发送模块具体用于:通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点。
其中,所述第一发送模块具体用于:通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。
其中,还包括:
第二确定模块,用于确定所述传输请求对应的控制流消息。
其中,所述第二确定模块具体用于:将所述传输请求拆分为数据流和控制流消息。
其中,还包括:
第二发送模块,用于将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
为实现上述目的,本申请提供了一种数据传输装置,应用于分布式存储系统中的主存储节点,包括:
第一拉取模块,用于从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息;
转发模块,用于从所述网关设备获取所述控制流消息,并将所述控制流消息转发至所述分布式存储系统中的从存储节点。
其中,所述第一拉取模块具体用于:通过远程直接数据存取的单边协议从网关设备拉取数据流。
为实现上述目的,本申请提供了一种数据传输装置,应用于分布式存储系统中的从存储节点,包括:
第二拉取模块,用于从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息,并将所述控制流消息发送至所述分布式存储系统中的主存储节点;
第二接收模块,用于接收所述分布式存储系统中的主存储节点发送的所述控制流消息。
其中,所述第二拉取模块具体用于:通过远程直接数据存取的单边协议从网关设备拉取数据流。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述数据传输方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据传输方法的步骤。
为实现上述目的,本申请提供了一种存储系统,包括网关设备、主存储节点、一个或多个从存储节点;
所述网关设备,用于接收传输请求,并将所述传输请求对应的数据流分别发送至所述主存储节点、一个或多个所述从存储节点。
其中,所述网关设备还用于:将所述传输请求对应的控制流消息发送至所述主存储节点;
所述主存储节点还用于:将所述控制流消息转发至所述分布式存储系统中的从存储节点。
通过以上方案可知,本申请提供的一种数据传输方法,包括:接收传输请求;确定所述传输请求对应的数据流;将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点。
本申请提供的数据传输方法,将传输请求中的数据部分封装成数据流,直接发送到分布式存储系统中的多个存储节点,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。本申请还公开了一种数据传输装置、一种存储系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1为现有技术中数据流的传输示意图;
图2为根据一示例性实施例示出的一种存储系统的结构图;
图3为根据一示例性实施例示出的一种数据流的传输示意图;
图4为根据一示例性实施例示出的一种并行IO的传输示意图;
图5为根据一示例性实施例示出的第一种数据传输方法的流程图;
图6为根据一示例性实施例示出的第二种数据传输方法的流程图;
图7为根据一示例性实施例示出的第三种数据传输方法的流程图;
图8为根据一示例性实施例示出的第四种数据传输方法的流程图;
图9为根据一示例性实施例示出的第一种数据传输装置的结构图;
图10为根据一示例性实施例示出的第二种数据传输装置的结构图;
图11为根据一示例性实施例示出的第三种数据传输装置的结构图;
图12为根据一示例性实施例示出的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,在本申请实施例中,“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
对于分布式存储系统来说,在现有技术中,采用主从转发模式:数据先发送到主存储节点,主存储节点计算冗余然后转发到从存储节点,极大的消耗节点间的CPU和网络资源,数据流带宽计算公式:
集群的纠删比为k+m,集群为k+m个存储节点,聚合带宽为A(A1+…+Ai…+An)。每个存储节点均衡负载,k+m个存储节点流量S(S1,…Si,…Sk+m。存储节点业务带宽Si=A/(k+m),冗余内部发Si’=(k+m-1)/k *Si=(k+m-1)/k*A/(k+m),其他节点转发来Si”=1/(k+m)(S1’+…+Sk+m’)=(k+m-1)/(k+m)*A/(k+m)。
如图1所示,以10存储节点,8+2纠删冗余为例,总带宽为100GB推算,每个存储节点,接收客户端数据为10GB,转发流为11.25,包括数据块10、冗余块2.5,扣除本地1.25,接收其他9台存储节点转发的数据为11.25,其他9个节点概率均衡,这样计算下来接收带宽100GB+112.5GB,内部转发送112.5GB。
因此,本申请提供了一种存储系统,需要在网关侧直接将数据发送到后端存储单元,不再经过主到从的转发流程,省去节点间东西向数据拷贝。
参见图2,根据一示例性实施例示出的一种存储系统的结构图,如图2所示,包括网关设备10、主存储节点20、一个或多个从存储节点30;
所述网关设备10,用于接收传输请求,并将所述传输请求对应的数据流分别发送至所述主存储节点20、一个或多个所述从存储节点30。
在具体实施中,网关设备接收客户端的传输请求,也即IO请求,将传输请求拆分为数据流和控制流,数据流在网关进行冗余计算,一份数据通过计算后会产生超过原始的一份数据实现数据冗余。数据流的传输示意图如图3所示,数据流通过RDMA(Remote DirectMemory Access,远程直接数据存取)的单边协议直接发送到后端存储池对应的存储节点,不再需要主存储节点到从存储节点的转发过程,同时单边协议可以直接在两端的用户态内存进行数据传输,降低传统socket方式在内核态和用户态之间的内存拷贝。
进一步的,分布式存储具有操作一致性的要求,例如常见的并行IO,如图4所示,多客户端同时进行读、写,由于网络消息达到的不确定,造成IO(a)和IO (b)的多个子请求到达存储节点的顺序是不确定的,可能导致两个请求乱序处理。除了客户的并行IO,存储系统自动恢复、扩容、缩容等IO自愈也存在IO,这些IO也要和客户IO进行并行处理。
因此,需要主存储节点来控制整个IO流程以及故障后数据恢复流程控制。作为一种优选实施方式,所述网关设备还用于:将所述传输请求对应的控制流消息发送至所述主存储节点;所述主存储节点还用于:将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,控制流消息沿用主从方式,网关设备先将控制流消息发送到主存储节点,由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制。
本申请实施例公开了一种数据传输方法,减少了分布式存储系统中数据拷贝所消耗的资源。
参见图5,根据一示例性实施例示出的第一种数据传输方法的流程图,如图5所示,包括:
S101:接收传输请求;
S102:确定所述传输请求对应的数据流;
S103:将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点。
本实施例的执行主体为网关设备,在具体实施中,网关设备接收客户端的传输请求,也即IO请求,确定所述传输请求对应的数据流。作为一种可行的实施方式,所述确定所述传输请求对应的数据流,包括:将所述传输请求拆分为数据流和控制流消息。
进一步的,对所述数据流进行冗余计算,然后将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
优选的,将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点。在具体实施中,可以通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。可以理解的是远程直接数据存取的,单边协议可以在两端的用户态内存直接传输,减少传统socket传输内核态与用户态之间的内存拷贝。
在上述实施例的基础上,所述接收传输请求之后,还包括:确定所述传输请求对应的控制流消息。作为一种可行的实施方式,所述确定所述传输请求对应的控制流消息,包括:将所述传输请求拆分为数据流和控制流消息。
进一步的,将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,控制流消息沿用主从方式,网关设备先将控制流消息发送到主存储节点,主存储节点将转发至其他从存储节点,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例提供的数据传输方法,将传输请求中的数据部分封装成数据流,直接发送到分布式存储系统中的多个存储节点,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。
本申请实施例公开了一种数据传输方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图6,根据一示例性实施例示出的第二种数据传输方法的流程图,如图6所示,包括:
S201:接收传输请求;
S202:将所述传输请求拆分为数据流和控制流消息;
S203:将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点;
本实施例的执行主体为网关设备,在具体实施中,网关设备接收客户端的传输请求,也即IO请求,确定所述传输请求对应的数据流。作为一种可行的实施方式,所述确定所述传输请求对应的数据流,包括:将所述传输请求拆分为数据流和控制流消息。
进一步的,对所述数据流进行冗余计算,然后将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
优选的,将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点。在具体实施中,可以通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。可以理解的是远程直接数据存取的,单边协议可以在两端的用户态内存直接传输,减少传统socket传输内核态与用户态之间的内存拷贝。
在上述实施例的基础上,所述接收传输请求之后,还包括:确定所述传输请求对应的控制流消息。作为一种可行的实施方式,所述确定所述传输请求对应的控制流消息,包括:将所述传输请求拆分为数据流和控制流消息。
进一步的,将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,控制流消息沿用主从方式,网关设备先将控制流消息发送到主存储节点,主存储节点将转发至其他从存储节点,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
S204:将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,控制流消息沿用主从方式,网关设备先将控制流消息发送到主存储节点,主存储节点将转发至其他从存储节点,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例提供的数据传输方法,将传输请求中的数据部分封装成数据流,直接发送到分布式存储系统中的多个存储节点,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例公开了一种数据传输方法,参见图7,根据一示例性实施例示出的第三种数据传输方法的流程图,如图7所示,包括:
S301:从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息;
本实施例的执行主体为分布式存储系统中的主存储节点,主存储节点从网关设备拉取数据流。
作为一种可行的实施方式,所述从网关设备拉取数据流,包括:通过远程直接数据存取的单边协议从网关设备拉取数据流。在具体实施中,主存储节点可以通过RDMA的单边协议网关设备拉取数据流。单边协议可以直接在两端的用户态内存进行数据传输,降低传统socket方式在内核态和用户态之间的内存拷贝。
S302:从所述网关设备获取所述控制流消息,并将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,主存储节点从网关设备获取控制流消息,并将其转发至其他从存储节点,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例提供的数据传输方法,主存储节点和从存储节点直接从网关设备拉去数据流,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例公开了一种数据传输方法,参见图8,根据一示例性实施例示出的第四种数据传输方法的流程图,如图8所示,包括:
S401:从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息,并将所述控制流消息发送至所述分布式存储系统中的主存储节点;
本实施例的执行主体为分布式存储系统中的从存储节点,从存储节点从网关设备拉取数据流。
作为一种可行的实施方式,所述从网关设备拉取数据流,包括:通过远程直接数据存取的单边协议从网关设备拉取数据流。在具体实施中,从存储节点可以通过RDMA的单边协议网关设备拉取数据流。单边协议可以直接在两端的用户态内存进行数据传输,降低传统socket方式在内核态和用户态之间的内存拷贝。
S402:接收所述分布式存储系统中的主存储节点发送的所述控制流消息。
在具体实施中,从存储节点从主存储节点处接收控制流消息,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例提供的数据传输方法,主存储节点和从存储节点直接从网关设备拉去数据流,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
下面介绍本申请提供的一种应用实施例,具体包括以下步骤:
步骤1:网关侧接收到IO请求,将数据部分计算冗余,同时拆分成数据流和控制流消息。
集群网关接收到IO请求后,在网关侧将IO请求拆分成数据流和控制流,数据流在网关进行冗余计算,一份数据通过计算后会产生超过原始的一份数据实现数据冗余。
步骤2:在所有从本上,通过RDMA单边协议到网关拉取数据,省去原有节点间东西向的数据拷贝。同时单边协议可以减少内核态与用户态之间的内存拷贝,降低CPU资源消耗。
数据流通过RDMA的单边协议直接发送到后端存储池对应的存储单元,不再需要主本到从本的转发过程,同时单边协议可以直接在两端的用户态内存进行数据传输,降低传统socket方式在内核态和用户态之间的内存拷贝。
步骤3:控制流消息使用主从机制,发送到主本,主本再转发到从本。控制流消息控制读写业务逻辑和分布式一致性。由主本来控制读写业务逻辑,可以有效降低系统复杂度。
控制流消息采用主从方式,先发送到主本,由主本来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制。
由此可见,在本实施例中,将IO请求拆分成控制流和数据流,数控分离。IO请求的数据部分在网关与后端存储单元直接交互,省去节点间东西向数据拷贝。数据传输使用RDMA单边协议,可以直接在两端的用户态内存传输,省去传统socket传输在内核态与用户态之间内存拷贝,降低cpu消耗。控制流采用主从机制,由主存储节点控制读写业务逻辑和数据恢复等流程,实现分布式系统一致性协议,降低实现的复杂度。
下面对本申请实施例提供的一种数据传输装置进行介绍,执行主体为网关设备,下文描述的一种数据传输装置与上文描述的网关设备侧的数据传输方法可以相互参照。
参见图9,根据一示例性实施例示出的第一种数据传输装置的结构图,如图9所示,包括:
第一接收模块101,用于接收传输请求;
第一确定模块102,用于确定所述传输请求对应的数据流;
第一发送模块103,用于将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括主存储节点、一个或多个从存储节点。
本实施例的执行主体为网关设备,在具体实施中,网关设备接收客户端的传输请求,也即IO请求,确定所述传输请求对应的数据流。作为一种可行的实施方式,所述第一确定模块102具体用于:将所述传输请求拆分为数据流和控制流消息。
进一步的,所述装置还包括:计算模块,用于对所述数据流进行冗余计算。所述第一发送模块103具体用于:将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
优选的,所述第一发送模块103具体用于:通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点。在具体实施中,第一发送模块103可以通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。可以理解的是远程直接数据存取的,单边协议可以在两端的用户态内存直接传输,减少传统socket传输内核态与用户态之间的内存拷贝。
在上述实施例的基础上,还包括:第二确定模块,用于确定所述传输请求对应的控制流消息。作为一种可行的实施方式,所述第二确定模块具体用于:将所述传输请求拆分为数据流和控制流消息。
进一步的,所述装置还包括:第二发送模块,用于将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,控制流消息沿用主从方式,网关设备先将控制流消息发送到主存储节点,主存储节点将转发至其他从存储节点,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
本申请实施例提供的数据传输装置,将传输请求中的数据部分封装成数据流,直接发送到分布式存储系统中的多个存储节点,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。
在上述实施例的基础上,作为一种优选实施方式,还包括:
计算模块,用于对所述数据流进行冗余计算。
在上述实施例的基础上,作为一种优选实施方式,所述第一发送模块103具体用于:将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
在上述实施例的基础上,作为一种优选实施方式,所述第一确定模块102具体用于:将所述传输请求拆分为数据流和控制流消息。
在上述实施例的基础上,作为一种优选实施方式,所述第一发送模块103具体用于:通过远程直接数据存取将所述数据流分别发送至分布式存储系统中的多个存储节点。
在上述实施例的基础上,作为一种优选实施方式,所述第一发送模块103具体用于:通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第二确定模块,用于确定所述传输请求对应的控制流消息。
在上述实施例的基础上,作为一种优选实施方式,所述第二确定模块具体用于:将所述传输请求拆分为数据流和控制流消息。
在上述实施例的基础上,作为一种优选实施方式,还包括:
第二发送模块,用于将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点。
在具体实施中,控制流消息沿用主从方式,网关设备先将控制流消息发送到主存储节点,主存储节点将转发至其他从存储节点,控制流消息用于控制集群扩容、缩容、数据恢复、读写等业务逻辑以及保证分布式数据一致性,业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
下面对本申请实施例提供的一种数据传输装置进行介绍,执行主体为主存储节点,下文描述的一种数据传输装置与上文描述的主存储节点侧的数据传输方法可以相互参照。
参见图10,根据一示例性实施例示出的第二种数据传输装置的结构图,如图10所示,包括:
第一拉取模块201,用于从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息;
转发模块202,用于从所述网关设备获取所述控制流消息,并将所述控制流消息转发至所述分布式存储系统中的从存储节点。
作为一种优选实施方式,所述第一拉取模块201具体用于:通过远程直接数据存取的单边协议从网关设备拉取数据流。
本申请实施例提供的数据传输装置,主存储节点和从存储节点直接从网关设备拉去数据流,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
下面对本申请实施例提供的一种数据传输装置进行介绍,执行主体为从存储节点,下文描述的一种数据传输装置与上文描述的从存储节点侧的数据传输方法可以相互参照。
参见图11,根据一示例性实施例示出的第三种数据传输装置的结构图,如图11所示,包括:
第二拉取模块301,用于从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息,并将所述控制流消息发送至所述分布式存储系统中的主存储节点;
第二接收模块302,用于接收所述分布式存储系统中的主存储节点发送的所述控制流消息。
作为一种优选实施方式,所述第二拉取模块301具体用于:通过远程直接数据存取的单边协议从网关设备拉取数据流。
本申请实施例提供的数据传输装置,主存储节点和从存储节点直接从网关设备拉去数据流,不再需要主存储节点到从存储节点的转发过程,消除了原存储节点间东西向数据拷贝,减少了分布式存储系统中数据拷贝所消耗的资源。业务控制逻辑继续由主存储节点控制,降低逻辑控制复杂度。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种电子设备,图12为根据一示例性实施例示出的一种电子设备的结构图,如图12所示,电子设备包括:
通信接口1,能够与其它设备比如网络设备等进行信息交互;
处理器2,与通信接口1连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的数据传输方法。而所述计算机程序存储在存储器3上。
当然,实际应用时,电子设备中的各个组件通过总线系统4耦合在一起。可理解,总线系统4用于实现这些组件之间的连接通信。总线系统4除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线系统4。
本申请实施例中的存储器3用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。
可以理解,存储器3可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器3旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器2中,或者由处理器2实现。处理器2可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器2中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器2可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器2可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器3,处理器2读取存储器3中的程序,结合其硬件完成前述方法的步骤。
处理器2执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器3,上述计算机程序可由处理器2执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种数据传输方法,其特征在于,应用于网关设备,包括:
接收传输请求;
将所述传输请求拆分为数据流和控制流消息;
将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括一个主存储节点、一个或多个从存储节点;
将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点,由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制;
其中,将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:
通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。
2.根据权利要求1所述数据传输方法,其特征在于,将所述数据流分别发送至分布式存储系统中的多个存储节点之前,还包括:
对所述数据流进行冗余计算。
3.根据权利要求1所述数据传输方法,其特征在于,将所述数据流分别发送至分布式存储系统中的多个存储节点,包括:
将冗余计算后的数据流分别发送至分布式存储系统中的多个存储节点。
4.一种数据传输方法,其特征在于,应用于分布式存储系统中的主存储节点,包括:
从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息;
从所述网关设备获取所述控制流消息,并将所述控制流消息转发至所述分布式存储系统中的从存储节点;由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制;
其中,所述从网关设备拉取数据流,包括:
通过远程直接数据存取的单边协议从网关设备拉取数据流。
5.一种数据传输方法,其特征在于,应用于分布式存储系统中的从存储节点,包括:
从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息,并将所述控制流消息发送至所述分布式存储系统中的主存储节点,由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制;
接收所述分布式存储系统中的主存储节点发送的所述控制流消息;
其中,所述从网关设备拉取数据流,包括:
通过远程直接数据存取的单边协议从网关设备拉取数据流。
6.一种数据传输装置,其特征在于,应用于网关设备,包括:
第一接收模块,用于接收传输请求;
第一确定模块,用于将所述传输请求拆分为数据流和控制流消息;
第一发送模块,用于将所述数据流分别发送至分布式存储系统中的多个存储节点;其中,所述分布式存储系统包括一个主存储节点、一个或多个从存储节点;
第二发送模块,用于将所述控制流消息发送至所述分布式存储系统中的主存储节点,以便所述主存储节点将所述控制流消息转发至所述分布式存储系统中的从存储节点,由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制;
其中,所述第一发送模块具体用于:通过远程直接数据存取的单边协议将所述数据流分别发送至分布式存储系统中的多个存储节点。
7.一种数据传输装置,其特征在于,应用于分布式存储系统中的主存储节点,包括:
第一拉取模块,用于从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息;
转发模块,用于从所述网关设备获取所述控制流消息,并将所述控制流消息转发至所述分布式存储系统中的从存储节点;由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制;
其中,所述第一拉取模块,用于通过远程直接数据存取的单边协议从网关设备拉取数据流。
8.一种数据传输装置,其特征在于,应用于分布式存储系统中的从存储节点,包括:
第二拉取模块,用于从网关设备拉取数据流;其中,所述网关设备当接收到传输请求时,将所述传输请求拆分为数据流和控制流消息,并将所述控制流消息发送至所述分布式存储系统中的主存储节点,由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制;
第二接收模块,用于接收所述分布式存储系统中的主存储节点发送的所述控制流消息;
其中,所述第二拉取模块具体用于:通过远程直接数据存取的单边协议从网关设备拉取数据流。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述数据传输方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据传输方法的步骤。
11.一种存储系统,其特征在于,包括网关设备、一个主存储节点、一个或多个从存储节点;
所述网关设备,用于接收传输请求,并通过远程直接数据存取的单边协议将所述传输请求对应的数据流分别发送至所述主存储节点、一个或多个所述从存储节点;
所述网关设备还用于:将所述传输请求对应的控制流消息发送至所述主存储节点;
所述主存储节点还用于:将所述控制流消息转发至分布式存储系统中的从存储节点,由主存储节点来控制读写的业务逻辑,以及故障后数据恢复的业务逻辑控制。
CN202310024492.7A 2023-01-09 2023-01-09 一种数据传输方法、装置、一种存储系统及设备和介质 Active CN115904253B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310024492.7A CN115904253B (zh) 2023-01-09 2023-01-09 一种数据传输方法、装置、一种存储系统及设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310024492.7A CN115904253B (zh) 2023-01-09 2023-01-09 一种数据传输方法、装置、一种存储系统及设备和介质

Publications (2)

Publication Number Publication Date
CN115904253A CN115904253A (zh) 2023-04-04
CN115904253B true CN115904253B (zh) 2023-06-13

Family

ID=86471310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310024492.7A Active CN115904253B (zh) 2023-01-09 2023-01-09 一种数据传输方法、装置、一种存储系统及设备和介质

Country Status (1)

Country Link
CN (1) CN115904253B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112153013A (zh) * 2020-09-02 2020-12-29 杭州安恒信息技术股份有限公司 一种Socket数据转发方法、装置、电子设备和存储介质
WO2022105884A1 (zh) * 2020-11-23 2022-05-27 中兴通讯股份有限公司 数据传输方法、装置、网络设备、存储介质
CN114637475A (zh) * 2022-04-13 2022-06-17 苏州浪潮智能科技有限公司 一种分布式存储系统控制方法、装置及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102937964B (zh) * 2012-09-28 2015-02-11 无锡江南计算技术研究所 基于分布式系统的智能数据服务方法
CN104580428B (zh) * 2014-12-27 2018-09-04 北京奇虎科技有限公司 一种数据路由方法、数据管理装置和分布式存储系统
US9886210B2 (en) * 2015-06-09 2018-02-06 Ultrata, Llc Infinite memory fabric hardware implementation with router
CN106941522B (zh) * 2017-03-13 2019-12-10 广州五舟科技股份有限公司 轻量级分布式计算平台及其数据处理方法
US20220404980A1 (en) * 2021-06-19 2022-12-22 Netapp, Inc. Cross-site high-availability distributed cloud storage system to provide multiple virtual channels between storage nodes
CN114827178A (zh) * 2022-04-29 2022-07-29 济南浪潮数据技术有限公司 一种数据处理方法、装置、设备及可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112153013A (zh) * 2020-09-02 2020-12-29 杭州安恒信息技术股份有限公司 一种Socket数据转发方法、装置、电子设备和存储介质
WO2022105884A1 (zh) * 2020-11-23 2022-05-27 中兴通讯股份有限公司 数据传输方法、装置、网络设备、存储介质
CN114637475A (zh) * 2022-04-13 2022-06-17 苏州浪潮智能科技有限公司 一种分布式存储系统控制方法、装置及可读存储介质

Also Published As

Publication number Publication date
CN115904253A (zh) 2023-04-04

Similar Documents

Publication Publication Date Title
WO2022105884A1 (zh) 数据传输方法、装置、网络设备、存储介质
CN109960671B (zh) 一种数据传输系统、方法及计算机设备
US20110238938A1 (en) Efficient mirroring of data across storage controllers
CN101635679B (zh) 路由表的动态更新
CN106878382B (zh) 一种分布式仲裁集群中动态改变集群规模的方法及装置
JP2016529575A (ja) ハードディスクおよびデータ処理方法
US9967360B2 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
KR20140141053A (ko) 맵리듀스 연산 가속 시스템 및 방법
JP2008140142A (ja) 情報処理システム
US11231983B2 (en) Fault tolerance processing method, apparatus, and server
EP2845110A1 (en) Reflective memory bridge for external computing nodes
CN115904253B (zh) 一种数据传输方法、装置、一种存储系统及设备和介质
CN111104060B (zh) 互连系统和用于操作互连系统的方法
EP3896931B1 (en) Spark shuffle-based remote direct memory access system and method
CN116302605A (zh) 一种基于消息引擎的消息传输方法
JP4997784B2 (ja) データ記憶システム、データ記憶方法、データ記憶プログラム
CN114157529B (zh) 一种分布式数据传输系统及方法
CN113434290A (zh) 基于raft协议的数据处理方法和设备,及计算机存储介质
CN113778331A (zh) 一种数据处理方法、主节点及存储介质
KR20220135562A (ko) 메모리 액세스를 위한 직렬 통신 방법 및 시스템
WO2017005009A1 (zh) 外部设备扩展卡及输入输出外部设备的数据处理方法
CN111611068A (zh) 分布式系统中的数据写方法、服务器及客户端
US10666727B2 (en) Distributed processing network operations
CN107566481B (zh) 一种远程数据复制控制信息传输实现方法
CN113608686B (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