CN109062512B - 一种分布式存储集群、数据读写方法、系统及相关装置 - Google Patents
一种分布式存储集群、数据读写方法、系统及相关装置 Download PDFInfo
- Publication number
- CN109062512B CN109062512B CN201810836347.8A CN201810836347A CN109062512B CN 109062512 B CN109062512 B CN 109062512B CN 201810836347 A CN201810836347 A CN 201810836347A CN 109062512 B CN109062512 B CN 109062512B
- Authority
- CN
- China
- Prior art keywords
- data
- write
- node
- nodes
- subsection
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式存储集群、一种数据读写方法、系统及一种电子设备和计算机可读存储介质,该分布式存储集群包括N个节点,每个所述节点运行一个存储服务;其中,N为正整数;N个所述节点被划分为M个子部分,每个所述子部分存储完整的写入数据;其中,M为大于1的正整数。本申请提供的分布式存储集群,在客户端需要写入数据时,将完整的写入数据划分为多个待写入数据,分别发送至子部分的各个节点,保证同一子部分的节点共同存储完整的写入数据即可。客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。
Description
技术领域
本申请涉及存储技术领域,更具体地说,涉及一种分布式存储集群、一种数据读写方法、系统及一种电子设备和一种计算机可读存储介质。
背景技术
随着大数据时代的到来,互联网领域每天产生的数据量越来越大,由此产生了分布式集群的技术。通过分布式集群技术,可以使得多台节点上的服务对外同时提供服务,一台服务宕机不影响正常的业务,同时还可以随时增加节点实现扩容。为了保证数据的安全,必须保证保证数据在写入后存储多个副本,以便节点或者硬盘发生故障时可以仍然可以提供正常的数据读写服务。
在现有技术中,客户端将数据写入到一个存储服务,然后由主存储服务将数据转发到多个从存储服务,在整个过程中,客户端一直等待,直到最后一个从服务写入成功,然后主存储服务回复客户端写入成功。由于此种方式严重依赖于主存储服务的正常状态,当主存储服务异常时,客户端需要长时间等待,直到新的主存储服务产生,由此带来了较长的故障切换时间,无法适用于时间敏感的客户业务。
因此,如何在写入数据时,减少客户端的等待时间是本领域技术人员需要解决的问题。
发明内容
本申请的目的在于提供一种分布式存储集群、一种数据读写方法、系统及一种电子设备和一种计算机可读存储介质,在写入数据时,减少了客户端的等待时间。
为实现上述目的,本申请提供了一种分布式存储集群,包括N个节点,每个所述节点运行一个存储服务;其中,N为正整数;
N个所述节点被划分为M个子部分,每个所述子部分存储完整的写入数据;其中,M为大于1的正整数。
其中,若所述N为3,则所述M为2。
为实现上述目的,本申请提供了一种数据读写方法,应用于如上述分布式存储集群,包括:
确定写入数据;
根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据。
其中,若所述分布式集群包括3个节点,则所述分布式集群中所有的节点全部接收到写请求之后,还包括:
接收所述节点返回的所述写请求对应的版本号,并对比所有所述版本号;
当存在大于等于两个所述版本号相同时,向相同的版本号对应的目标节点发送提交消息,以便所述目标节点将所述写请求中的待写入数据写入磁盘。
其中,接收所述节点返回的所述写请求对应的版本号之前,还包括:
所述节点将所述写请求存储至自身的请求队列中,当所述节点上运行的存储服务处理所述写请求后,将所述写请求从所述请求队列中删除;
判断所述请求队列中是否存在未提交的请求;若是,则向所述客户端返回错误码;若否,则向所述客户端返回所述写请求对应的所述版本号。
为实现上述目的,本申请提供了一种数据读写系统,应用于如上述分布式存储集群,包括:
确定模块,用于确定写入数据;
划分模块,用于根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
发送模块,用于将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据。
其中,若所述分布式集群包括3个节点,则还包括:
对比模块,用于接收所述节点返回的所述写请求对应的版本号,并对比所有所述版本号;
提交模块,用于当存在大于等于两个所述版本号相同时,向相同的版本号对应的目标节点发送提交消息,以便所述目标节点将所述写请求中的待写入数据写入磁盘。
其中,所述节点包括:
存储模块,用于将所述写请求存储至自身的请求队列中,当所述节点上运行的存储服务处理所述写请求后,将所述写请求从所述请求队列中删除;
判断模块,用于判断所述请求队列中是否存在未提交的请求;若是,则向所述客户端返回错误码;若否,则向所述客户端返回所述写请求对应的所述版本号。
为实现上述目的,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述数据读写方法的步骤。
为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述数据读写方法的步骤。
通过以上方案可知,本申请提供的一种分布式存储集群,包括N个节点,每个所述节点运行一个存储服务;其中,N为正整数;N个所述节点被划分为M个子部分,每个所述子部分存储完整的写入数据;其中,M为大于1的正整数。
本申请提供的分布式存储集群,在客户端需要写入数据时,将完整的写入数据划分为多个待写入数据,分别发送至子部分的各个节点,保证同一子部分的节点共同存储完整的写入数据即可。客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。另外,分布式存储集群包括多个子部分,可以保证宕掉任意一个节点都不影响分布式存储集群的可用性和数据一致性。本申请还公开了一种数据读写方法、系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种数据读写方法的流程图;
图2为本申请实施例公开的另一种数据读写方法的流程图;
图3为本申请实施例公开的另一种数据读写方法的数据流图;
图4为本申请实施例公开的一种数据读写系统的结构图;
图5为本申请实施例公开的一种电子设备的结构图;
图6为本申请实施例公开的另一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种分布式存储集群,包括N个节点,每个所述节点运行一个存储服务;其中,N为正整数;
N个所述节点被划分为M个子部分,每个所述子部分存储完整的写入数据;其中,M为大于1的正整数。
在具体实施中,分布式存储集群包括多个节点,每个节点上运行一个存储服务。这些节点被划分为若干个子部分,每个子部分中的节点存储完整的写入数据,分布式集群中存在多个子部分,可以保证宕掉任意一个节点都不影响文件系统的可用性和数据一致性。每个子部分中的节点数量可以相同也可以不同,且至少为一。例如,分布式集群中包括3个节点:节点A、节点B和节点C,节点A和节点B共同存储完整的写入数据,与节点C互为冗余。
本申请实施例提供的分布式存储集群,在客户端需要写入数据时,将完整的写入数据划分为多个待写入数据,分别发送至子部分的各个节点,保证同一子部分的节点共同存储完整的写入数据即可。客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。另外,分布式存储集群包括多个子部分,可以保证宕掉任意一个节点都不影响分布式存储集群的可用性和数据一致性。
本申请实施例公开了一种数据读写方法,应用于上述实施例介绍的分布式存储集群,在写入数据时,减少客户端的等待时间。
参见图1,本申请实施例公开的一种数据读写方法的流程图,如图1所示,包括:
S101:确定写入数据;
S102:根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
在具体实施中,客户端需要根据各子部分中节点的数量,将完整的写入数据划分为对应数量的待写入数据,即保证分布式存储集群中的每个子部分都存储有完整的写入数据。
S103:将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据。
在具体实施中,采用并行发送的方式将Q个待写入数据分别发送至目标子部分的Q个节点,客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。
本申请实施例提供的数据读写方法,在客户端需要写入数据时,将完整的写入数据划分为多个待写入数据,分别发送至子部分的各个节点,保证同一子部分的节点共同存储完整的写入数据即可。客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。另外,分布式存储集群包括多个子部分,可以保证宕掉任意一个节点都不影响分布式存储集群的可用性和数据一致性。
本申请实施例公开了一种数据读写方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
参见图2,本申请实施例提供的另一种数据读写方法的流程图,如图2所示,包括:
S201:确定写入数据;
S202:根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
S203:将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据。
如图3所示,本实施例的分布式存储集群包括3个节点,运行有3个存储服务,例如存储服务0和存储服务1存储一套完整的写入数据,存储服务2存储一套完整的写入数据。客户端将完整的写入数据划分为两部分分别同时发送至存储服务0和存储服务1,同时发送完整的写入数据至存储服务2。
S204:接收所述节点返回的所述写请求对应的版本号,并对比所有所述版本号;
在具体实施中,由于网络等原因可能会出现多个存储服务处理请求乱序的情况,因此,本实施例提供了一种版本号机制以解决上述问题。具体的,各节点接收到客户端的写请求后进行如下操作:
步骤一:将所述写请求存储至自身的请求队列中,当所述节点上运行的存储服务处理所述写请求后,将所述写请求从所述请求队列中删除;
步骤二:判断所述请求队列中是否存在未提交的请求;若是,则向所述客户端返回错误码;若否,则向所述客户端返回所述写请求对应的版本号。
需要说明的是,分布式存储集群中的每个节点都有其自身的请求队列,用于暂存客户端发送的写请求
S205:当存在大于等于两个所述版本号相同时,向相同的版本号对应的目标节点发送提交消息,以便所述目标节点将所述写请求中的待写入数据写入磁盘。
在具体实施中,由于分布式存储集群至存在3个节点,因此任意两个节点返回的版本号相同时,说明可以写入完整的写入数据,客户端向返回版本号相同的节点发送提交请求,接收到提交请求的节点将写请求中的待写入数据写入磁盘。
下面对本申请实施例提供的一种数据读写系统进行介绍,下文描述的一种数据读写系统与上文描述的一种数据读写方法可以相互参照。
参见图4,本申请实施例提供的一种数据读写系统的结构图,如图4所示,包括:
确定模块401,用于确定写入数据;
划分模块402,用于根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
发送模块403,用于将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据。
本申请实施例提供的数据读写系统,在客户端需要写入数据时,将完整的写入数据划分为多个待写入数据,分别发送至子部分的各个节点,保证同一子部分的节点共同存储完整的写入数据即可。客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。另外,分布式存储集群包括多个子部分,可以保证宕掉任意一个节点都不影响分布式存储集群的可用性和数据一致性。
在上述实施例的基础上,作为一种优选实施方式,若所述分布式集群包括3个节点,则还包括:
对比模块,用于接收所述节点返回的所述写请求对应的版本号,并对比所有所述版本号;
提交模块,用于当存在大于等于两个所述版本号相同时,向相同的版本号对应的目标节点发送提交消息,以便所述目标节点将所述写请求中的待写入数据写入磁盘。
在上述实施例的基础上,作为一种优选实施方式,所述节点包括:
存储模块,用于将所述写请求存储至自身的请求队列中,当所述节点上运行的存储服务处理所述写请求后,将所述写请求从所述请求队列中删除;
判断模块,用于判断所述请求队列中是否存在未提交的请求;若是,则向所述客户端返回错误码;若否,则向所述客户端返回所述写请求对应的所述版本号。
本申请还提供了一种电子设备,参见图5,本申请实施例提供的一种电子设备的结构图,如图5所示,包括:
存储器100,用于存储计算机程序;
处理器200,用于执行所述计算机程序时可以实现上述任一实施例所提供数据读写方法的步骤。
具体的,存储器100包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器200为电子设备提供计算和控制能力,执行所述存储器100中保存的计算机程序时,可以实现上述任一实施例所提供数据读写方法的步骤。
本申请实施例提供的电子设备,在客户端需要写入数据时,将完整的写入数据划分为多个待写入数据,分别发送至子部分的各个节点,保证同一子部分的节点共同存储完整的写入数据即可。客户端只需等待一个子部分的节点存储完成即可,由于同一子部分的不同节点对应的待写入数据为并行发送的,因此,减少了客户端的等待数据写入的时间。另外,分布式存储集群包括多个子部分,可以保证宕掉任意一个节点都不影响分布式存储集群的可用性和数据一致性。
在上述实施例的基础上,作为优选实施方式,参见图6,所述电子设备还包括:
输入接口300,与处理器200相连,用于获取外部导入的计算机程序、参数和指令,经处理器200控制保存至存储器100中。该输入接口300可以与输入装置相连,接收用户手动输入的参数或指令。该输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是键盘、触控板或鼠标等。
显示单元400,与处理器200相连,用于显示处理器200发送的数据。该显示单元400可以为PC机上的显示屏、液晶显示屏或者电子墨水显示屏等。具体的,在本实施例中,可以通过显示单元400显示数据写入结果等。
网络端口500,与处理器200相连,用于与外部各终端设备进行通信连接。该通信连接所采用的通信技术可以为有线通信技术或无线通信技术,如移动高清链接技术(MHL)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术等。具体的,在本实施例中,可以通过网络端口500获取写入数据等。
本申请还提供了一种计算机可读存储介质,该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。该存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例所提供数据读写方法的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (6)
1.一种数据读写方法,其特征在于,应用于分布式存储集群,所述分布式存储集群包括N个节点,每个所述节点运行一个存储服务;其中,N为正整数;N个所述节点被划分为M个子部分,每个所述子部分存储完整的写入数据;其中,M为大于1的正整数;
所述方法包括:
确定写入数据;
根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据;
其中,若所述分布式集群包括3个节点,被划分为2个子部分,则将所述待写入数据作为写请求分别发送至所述子部分的各节点之后,还包括:
接收所述节点返回的所述写请求对应的版本号,并对比所有所述版本号;
当存在大于等于两个所述版本号相同时,向相同的版本号对应的目标节点发送提交消息,以便所述目标节点将所述写请求中的待写入数据写入磁盘。
2.根据权利要求1所述数据读写方法,其特征在于,接收所述节点返回的所述写请求对应的版本号之前,还包括:
所述节点将所述写请求存储至自身的请求队列中,当所述节点上运行的存储服务处理所述写请求后,将所述写请求从所述请求队列中删除;
判断所述请求队列中是否存在未提交的请求;若是,则向客户端返回错误码;若否,则向所述客户端返回所述写请求对应的所述版本号。
3.一种数据读写系统,其特征在于,应用于分布式存储集群,所述分布式存储集群包括N个节点,每个所述节点运行一个存储服务;其中,N为正整数;N个所述节点被划分为M个子部分,每个所述子部分存储完整的写入数据;其中,M为大于1的正整数;
所述系统包括:
确定模块,用于确定写入数据;
划分模块,用于根据所述分布式存储集群中各子部分的节点数量,将所述写入数据划分为Q个待写入数据;其中,Q为所述子部分的节点数量;
发送模块,用于将所述待写入数据加入写请求中,并将所述写请求分别发送至所述子部分的各节点;其中,每个所述子部分中的所有节点接收到的待写入数据组成完整的所述写入数据;
其中,若所述分布式集群包括3个节点,被划分为2个子部分,则还包括:
对比模块,用于接收所述节点返回的所述写请求对应的版本号,并对比所有所述版本号;
提交模块,用于当存在大于等于两个所述版本号相同时,向相同的版本号对应的目标节点发送提交消息,以便所述目标节点将所述写请求中的待写入数据写入磁盘。
4.根据权利要求3所述数据读写系统,其特征在于,所述节点包括:
存储模块,用于将所述写请求存储至自身的请求队列中,当所述节点上运行的存储服务处理所述写请求后,将所述写请求从所述请求队列中删除;
判断模块,用于判断所述请求队列中是否存在未提交的请求;若是,则向客户端返回错误码;若否,则向所述客户端返回所述写请求对应的所述版本号。
5.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1或2所述数据读写方法的步骤。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1或2所述数据读写方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836347.8A CN109062512B (zh) | 2018-07-26 | 2018-07-26 | 一种分布式存储集群、数据读写方法、系统及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810836347.8A CN109062512B (zh) | 2018-07-26 | 2018-07-26 | 一种分布式存储集群、数据读写方法、系统及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062512A CN109062512A (zh) | 2018-12-21 |
CN109062512B true CN109062512B (zh) | 2022-02-18 |
Family
ID=64835730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810836347.8A Active CN109062512B (zh) | 2018-07-26 | 2018-07-26 | 一种分布式存储集群、数据读写方法、系统及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062512B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109547574A (zh) * | 2019-01-04 | 2019-03-29 | 平安科技(深圳)有限公司 | 一种数据传输方法及相关装置 |
CN110134332B (zh) * | 2019-04-28 | 2022-03-08 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
CN111782135A (zh) * | 2019-06-14 | 2020-10-16 | 北京京东尚科信息技术有限公司 | 数据存储方法、系统、数据节点和计算机可读存储介质 |
CN110401701A (zh) * | 2019-07-05 | 2019-11-01 | 苏州浪潮智能科技有限公司 | 一种分布式数据传输方法、系统、设备及计算机存储介质 |
CN111147554A (zh) * | 2019-12-12 | 2020-05-12 | 苏宁云计算有限公司 | 一种数据的存储方法、装置及计算机系统 |
CN111142799A (zh) * | 2019-12-26 | 2020-05-12 | 深圳市网心科技有限公司 | 分布式存储方法及装置、网络节点及存储介质 |
CN111209263A (zh) * | 2020-01-14 | 2020-05-29 | 中国建设银行股份有限公司 | 数据存储方法、装置、设备及存储介质 |
CN111737221B (zh) * | 2020-06-19 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 集群文件系统的数据读写方法、装置及设备和存储介质 |
CN111857603B (zh) * | 2020-07-31 | 2022-12-02 | 重庆紫光华山智安科技有限公司 | 数据处理方法及相关装置 |
CN112000285A (zh) * | 2020-08-12 | 2020-11-27 | 广州市百果园信息技术有限公司 | 强一致存储系统、数据强一致存储方法、服务器及介质 |
CN112068997B (zh) * | 2020-09-09 | 2023-12-19 | 恒生电子股份有限公司 | 数据备份方法、装置、设备及存储介质 |
CN112506434A (zh) * | 2020-12-11 | 2021-03-16 | 杭州安恒信息技术股份有限公司 | 一种web微服务集群中数据的读写方法及相关装置 |
CN113641756A (zh) * | 2021-07-26 | 2021-11-12 | 浪潮卓数大数据产业发展有限公司 | 一种分布式高并发的数据存储方法 |
CN114185485B (zh) * | 2021-11-04 | 2024-06-14 | 浙江华忆芯科技有限公司 | 静态电压表的节点处理方法、装置、计算机设备和存储介质 |
CN114202850B (zh) * | 2021-11-25 | 2023-08-15 | 中国建设银行股份有限公司 | 基于云数据传输的智能卡缴费方法及装置 |
CN114594914B (zh) * | 2022-03-17 | 2024-04-02 | 阿里巴巴(中国)有限公司 | 用于分布式存储系统的控制方法及系统 |
CN116301670B (zh) * | 2023-05-25 | 2023-09-05 | 极限数据(北京)科技有限公司 | 一种数据分区方法及数据处理方法 |
CN116996516B (zh) * | 2023-09-22 | 2023-12-05 | 新华三技术有限公司 | 一种集群通信方法及装置、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201338A (zh) * | 2016-06-28 | 2016-12-07 | 华为技术有限公司 | 数据存储方法及装置 |
CN106383665A (zh) * | 2016-09-05 | 2017-02-08 | 华为技术有限公司 | 数据存储系统中的数据存储方法及协调存储节点 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793425B (zh) * | 2012-10-31 | 2017-07-14 | 国际商业机器公司 | 用于分布式系统的数据处理方法及装置 |
US10635316B2 (en) * | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
-
2018
- 2018-07-26 CN CN201810836347.8A patent/CN109062512B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201338A (zh) * | 2016-06-28 | 2016-12-07 | 华为技术有限公司 | 数据存储方法及装置 |
CN106383665A (zh) * | 2016-09-05 | 2017-02-08 | 华为技术有限公司 | 数据存储系统中的数据存储方法及协调存储节点 |
Also Published As
Publication number | Publication date |
---|---|
CN109062512A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109062512B (zh) | 一种分布式存储集群、数据读写方法、系统及相关装置 | |
US20180081565A1 (en) | Data Access Method and Related Apparatus and System | |
CN105786405A (zh) | 一种在线升级方法、装置及系统 | |
CN111865831B (zh) | 数据处理的方法、网络设备、计算节点和系统 | |
EP3103018A1 (en) | Method for debugging computer program | |
CN107861691B (zh) | 一种多控存储系统的负载均衡方法和装置 | |
CN111124280A (zh) | 一种数据追加写入方法、装置及电子设备和存储介质 | |
US20210132860A1 (en) | Management of multiple physical function non-volatile memory devices | |
US9910808B2 (en) | Reflective memory bridge for external computing nodes | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
US10901914B2 (en) | Method for writing multiple copies into storage device, and storage device | |
CN111857545B (zh) | 一种读写锁冲突判断方法、系统、设备及计算机介质 | |
CN110545313B (zh) | 消息推送控制方法、装置及电子设备 | |
CN110045929B (zh) | 一种挂载点管理方法及相关装置 | |
CN114415981A (zh) | 一种多控存储系统的io处理方法、系统及相关组件 | |
CN107707620B (zh) | 处理io请求的方法及装置 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
US10866756B2 (en) | Control device and computer readable recording medium storing control program | |
CN115774621B (zh) | 一种请求处理方法、系统、设备及计算机可读存储介质 | |
US11816088B2 (en) | Method and system for managing cross data source data access requests | |
CN112363674B (zh) | 一种数据写入方法和装置 | |
CN113986134B (zh) | 存储数据的方法、读取数据的方法和装置 | |
US11609894B2 (en) | Data storage system conflict management | |
CN110022348B (zh) | 用于动态备份会话的系统和方法 | |
CN113722393A (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 |