CN112130758A - 一种数据读请求的处理方法、系统、电子设备及存储介质 - Google Patents
一种数据读请求的处理方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112130758A CN112130758A CN202010922864.4A CN202010922864A CN112130758A CN 112130758 A CN112130758 A CN 112130758A CN 202010922864 A CN202010922864 A CN 202010922864A CN 112130758 A CN112130758 A CN 112130758A
- Authority
- CN
- China
- Prior art keywords
- read
- copy
- storage node
- data
- request
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 8
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000005457 optimization Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据读请求的处理方法,应用于Ceph集群中的目标存储节点,所述处理方法包括:接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;若是,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;若否,则向所述客户端返回所述备份副本中的数据。本申请能够提高Ceph集群的读数据效率。本申请还公开了一种数据读请求的处理系统、一种电子设备及一种存储介质,具有以上有益效果。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据读请求的处理方法、系统、一种电子设备及一种存储介质。
背景技术
Ceph是一种高扩展性、高可靠性、高性能的分布式存储系统。分布式存储的可靠性是通过数据冗余策略实现,Ceph集群通常使用副本冗余策略实现数据的高可靠性。副本冗余策略是将一个文件复制成多个副本,然后存储到系统的不同节点,一旦发生数据丢失,只要一个节点有副本就可以得到完整数据。
相关技术中,Ceph在副本冗余策略下,客户端的读请求需要从主副本读取数据,这就出现如下情况:当读请求发送到备份副本节点上时,需要将读请求转发到主副本所在的节点然后再读取数据,上述数据读取方法需要额外的网络消耗和读转发的时延,从而影响了Ceph集群的读性能。
因此,如何提高Ceph集群的读数据效率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种数据读请求的处理方法、系统、一种电子设备及一种存储介质,能够提高Ceph集群的读数据效率。
为解决上述技术问题,本申请提供一种数据读请求的处理方法,应用于Ceph集群中的目标存储节点,该数据读请求的处理方法包括:
接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;
若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;
若是,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;
若否,则向所述客户端返回所述备份副本中的数据。
可选的,在确定所述数据读请求对应的待读对象之后,还包括:
若所述目标存储节点包括所述待读对象的主副本,则向所述客户端返回所述主副本中的数据。
可选的,在确定所述数据读请求对应的待读对象之后,还包括:
若所述目标存储节点不包括所述待读对象的主副本和备份副本,则将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点。
可选的,将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点,包括:
若所述Ceph集群未出现故障且不处于重构状态,则根据业务压力将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点;
若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求发送至所述待读对象的主副本所在的存储节点。
可选的,根据业务压力将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点,包括:
将所述待读对象的主副本和备份副本所在的存储节点中业务压力最小的存储节点作为备选存储节点;
将所述数据读请求发送至所述备选存储节点。
可选的,将所述数据读请求转发至所述待读对象的主副本所在的存储节点,包括:
通过集群网络将所述数据读请求转发至所述待读对象的主副本所在的存储节点。
可选的,在确定所述数据读请求对应的待读对象之后,还包括:
查询待读对象的副本存储信息;其中,所述副本存储信息包括主副本存储位置和备份副本存储位置;
根据所述副本存储信息判断所述待读对象的主副本或备份副本是否存储在所述目标存储节点。
本申请还提供了一种数据读请求的处理系统,应用于Ceph集群中的目标存储节点,该处理系统包括:
待读对象确定模块,应用于接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;
判断模块,用于若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;
转发模块,用于若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;
数据返回模块,用于若所述Ceph集群未出现故障且不处于重构状态,则向所述客户端返回所述备份副本中的数据。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据读请求的处理方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据读请求的处理方法执行的步骤。
本申请提供了一种数据读请求的处理方法,包括接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;若是,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;若否,则向所述客户端返回所述备份副本中的数据。
本申请在接收到客户端发送的数据读请求之后,确定数据读请求对应的待读对象,并分析目标存储节点中是否包括待读对象的备份副本。若目标存储节点包括所述待读对象的备份副本,且在Ceph集群不出现故障且不处于重构状态时,直接利用目标存储节点中的备份副本向客户端返回数据。通过上述方法能够直接利用备份副本进行数据读取,减少了需要将数据读请求转发至主副本所在节点的过程,提高了Ceph集群的读数据效率。本申请还在若目标存储节点包括所述待读对象的备份副本,且在Ceph集群出现故障或处于重构状态时,将所述数据读请求转发至所述待读对象的主副本所在的存储节点,通过主副本向客户端返回数据,提高了数据读取的可靠性。本申请同时还提供了一种数据读请求的处理系统、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据读请求的处理方法的流程图;
图2为本申请实施例所提供的一种基于副本冗余规则的读优化机制的原理示意图;
图3为本申请实施例所提供的一种数据读请求的处理系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种数据读请求的处理方法的流程图。
具体步骤可以包括:
S101:接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;
其中,本实施例可以应用于Ceph集群中的目标存储节点,Ceph集群中可以包括多个存储节点。在目标存储节点接收到客户端发送的数据读请求之后,可以对数据读请求执行解析操作并根据解析结果确定数据读请求对应的待读对象。待读对象指客户端需要读取的对象,待读对象可以为Ceph集群中存储的文件。待读对象在Ceph集群中可以包括一个主副本和至少一个备份副本。
S102:若目标存储节点包括待读对象的备份副本,则判断Ceph集群是否出现故障或处于重构状态;若是,则进入S103;若否,则进入S104;
其中,在本步骤之前可以存在判断目标存储节点是否包括待读对象的备份副本的操作;若目标存储节点不包括待读对象的备份副本,则判断目标存储节点是否包括待读对象的主副本,若目标存储节点包括所述待读对象的主副本则向所述客户端返回所述主副本中的数据;若目标存储节点不包括所述待读对象的主副本和备份副本,则将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点。
进一步,本实施例还可以查询待读对象的副本存储信息;所述副本存储信息包括主副本存储位置和备份副本存储位置,进而根据所述副本存储信息判断所述待读对象的主副本或备份副本是否存储在所述目标存储节点。
在Ceph集群中同一对象的多个副本分别存储在不同的存储节点中,因此在判定目标存储节点包括所述待读对象的备份副本的情况下,可以认为目标存储节点不包括待读对象的主副本。在确定目标存储节点包括所述待读对象的备份副本的基础上,本实施例进一步判断Ceph集群是否出现故障或Ceph集群处于重构状态,若Ceph集群出现故障或Ceph集群处于重构状态,从备份副本中读取的数据的可靠性较低,因此可以执行S103的数据读请求转发操作。若Ceph集群未出现故障且不处于重构状态,备份副本和主副本均具有较高的可靠性,因此可以执行S104的从备份副本中读取数据的操作。
S103:将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;
其中,本步骤建立在目标存储节点中包括待读对象的备份副本,且Ceph集群出现故障或处于重构状态的基础上,此时若直接从目标存储节点中的备份副本中读取数据将无法保证数据读取的可靠性,因此可以将数据读请求转发至待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述待读对象的主副本中的数据。作为一种可行的实施方式,本实施例可以通过集群网络将所述数据读请求转发至所述待读对象的主副本所在的存储节点。
S104:向所述客户端返回所述备份副本中的数据。
其中,本步骤建立在目标存储节点中包括待读对象的备份副本,且Ceph集群为出现故障也未处于重构状态的基础上,可以直接利用目标存储节点的备份副本向客户端返回待读对象的数据。在本步骤中,减少了将数据读请求转发至主副本所在的存储节点的操作,避免了转发过程带来的网络消耗和时延,提高了Ceph集群读数据的性能。
本实施例在接收到客户端发送的数据读请求之后,确定数据读请求对应的待读对象,并分析目标存储节点中是否包括待读对象的备份副本。若目标存储节点包括所述待读对象的备份副本,且在Ceph集群不出现故障且不处于重构状态时,直接利用目标存储节点中的备份副本向客户端返回数据。通过上述方法能够直接利用备份副本进行数据读取,减少了需要将数据读请求转发至主副本所在节点的过程,提高了Ceph集群的读数据效率。本实施例还在若目标存储节点包括所述待读对象的备份副本,且在Ceph集群出现故障或处于重构状态时,将所述数据读请求转发至所述待读对象的主副本所在的存储节点,通过主副本向客户端返回数据,提高了数据读取的可靠性。
作为对于图1对应实施例的进一步介绍,可以通过以下方式判断目标存储节点是否包括待读对象的主副本或备份副本:在确定所述数据读请求对应的待读对象之后,查询待读对象的副本存储信息;根据副本存储信息确定待读对象的主副本存储位置和备份副本存储位置。判断目标存储节点是否为主副本存储位置,得到第一判断结果;判断目标存储节点是否为备份副本存储位置,得到第二判断结果。若第一判断结果为是、第二判断结果为否,则判定目标存储节点存储待读对象的主副本;若第一判断结果为否、第二判断结果为是,则判定目标存储节点存储待读对象的备份副本;若第一判断结果和第二判断结果均为否,则判定目标存储节点未存储待读对象的主副本或备份副本。
作为对于图1对应实施例的进一步介绍,在确定所述数据读请求对应的待读对象之后,若所述目标存储节点不包括所述待读对象的主副本和备份副本,则可以将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点。具体的,本实施例可以根据Ceph集群的状态将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点,具体的,若所述Ceph集群未出现故障且不处于重构状态,则根据业务压力将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点;若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求发送至所述待读对象的主副本所在的存储节点。
具体的,上述根据业务压力发送数据读请求的过程可以包括:将所述待读对象的主副本和备份副本所在的存储节点中业务压力最小的存储节点作为备选存储节点;将所述数据读请求发送至所述备选存储节点。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
在传统的Ceph集群数据读取方案中,客户端的读请求在存储节点有以下三种情况:
1.接收到读请求的存储节点上有主副本对象,读取数据,直接返回。
2.接收到读请求的存储节点上没有主副本对象,但有备份副本对象,读请求通过集群cluster网络转发到主副本的存储节点上读取对象,然后返回。
3.接收到读请求的存储节点上既没有主副本对象,也没有备份副本对象,读请求通过cluster网络转发到主副本的存储节点上读取数据,然后返回。
上述三种情况中,第一种情况的读性能最高;第二种情况和第三种情况读请求需要cluster网络转发再读取,增加网络开销,并增加时延,读性能低。第三种情况,存储节点上即没有主副本对象、也没有备份副本对象,必须转发才能读取数据。
本实施例可以对第二种情况的读请求处理方法进行改进,存储节点上存在备份副本对象,集群正常状态下从备份副本数据中读取,然后返回数据,减少了读转发的网络开销,提升读性能。在集群故障时,将读请求转发至主副本所在的存储节点,以便从主副本中读取数据。因此本实施例提供了一种基于副本冗余规则的读优化及异常处理机制,用于提升上述第二种情况的读性能,从存储节点的备份副本对象上读取数据。请参见图2,图2为本申请实施例所提供的一种基于副本冗余规则的读优化机制的原理示意图,图2中Librbd为Ceph集群对外提供的块存储接口,客户端可以通过Librbd发送读请求,OSD(ObjectStorage Devices)为对象存储设备,本实施例可以通过以下技术方案实现的:
1.客户端读请求通过public网络发送到存储节点;
2.在rbd(RADOS Block Device,块存储)层开启读优化控制策略;
其中,读优化控制策略包括:
若本存储节点包括所述待读对象的备份副本,则向所述客户端返回所述备份副本中的数据。
若本存储节点包括所述待读对象的主副本,则向所述客户端返回所述主副本中的数据。
若本存储节点不包括所述待读对象的主副本和备份副本,则将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点。
3.在OSDC(Object Storage Devices Client,对象存储设备客户端)层计算待读对象的osdmap(即上文提到的副本存储信息),判断主副本或备份副本是否在本存储节点上;
4.在Objecter层控制读优化及异常处理;
若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;若是,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;若否,则向所述客户端返回所述备份副本中的数据。
5.从主副本或备份副本上读取对象。
本实施例在集群正常状态(即待读对象的主副本数据与备份副本数据一致)时,客户端的读请求从备份副本数据中读取。优化了Ceph只能在主副本中读取数据不再进行读转发,避免了此情况下的cluster网络开销及时延的增加,提升了读的性能。本实施例在rbd层开启读优化控制,在OSDC层计算待读对象的osdmap,判断主副本或备份副本是否在此节点上,在Objecter层控制读优化的应用场景。本实施例在中在OSDC层计算待读对象的osdmap,判断主副本或备份副本是否在此节点上,当主副本在本存储节点上时可以进行Ceph读取数据的原有机制;当备份副本在本存储节点上可以从备份副本上读取数据。本实施例在Objecter层控制读优化及异常处理,即在集群正常状态时,从主副本或备份副本读取对象;集群故障或处于重构状态时,不从备份副本上读取对象,此场景是异常处理机制,异常处理机制保证了读取的数据的正确性。
请参见图3,图3为本申请实施例所提供的一种数据读请求的处理系统的结构示意图;该系统可以应用于Ceph集群中的目标存储节点,具体包括:
待读对象确定模块100,应用于接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;
判断模块200,用于若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;
转发模块300,用于若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;
数据返回模块400,用于若所述Ceph集群未出现故障且不处于重构状态,则向所述客户端返回所述备份副本中的数据。
本实施例在接收到客户端发送的数据读请求之后,确定数据读请求对应的待读对象,并分析目标存储节点中是否包括待读对象的备份副本。若目标存储节点包括所述待读对象的备份副本,且在Ceph集群不出现故障且不处于重构状态时,直接利用目标存储节点中的备份副本向客户端返回数据。通过上述方法能够直接利用备份副本进行数据读取,减少了需要将数据读请求转发至主副本所在节点的过程,提高了Ceph集群的读数据效率。本实施例还在若目标存储节点包括所述待读对象的备份副本,且在Ceph集群出现故障或处于重构状态时,将所述数据读请求转发至所述待读对象的主副本所在的存储节点,通过主副本向客户端返回数据,提高了数据读取的可靠性。
进一步的,还包括:
主副本读取模块,用于在确定所述数据读请求对应的待读对象之后,若所述目标存储节点包括所述待读对象的主副本,则向所述客户端返回所述主副本中的数据。
进一步的,转发模块300还用于在确定所述数据读请求对应的待读对象之后,若所述目标存储节点不包括所述待读对象的主副本和备份副本,则将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点。
进一步的,转发模块300包括:
第一请求发送单元,用于若所述Ceph集群未出现故障且不处于重构状态,则根据业务压力将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点;
第二请求发送单元,用于若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求发送至所述待读对象的主副本所在的存储节点;
进一步的,第一请求发送单元用于将所述待读对象的主副本和备份副本所在的存储节点中业务压力最小的存储节点作为备选存储节点;还用于将所述数据读请求发送至所述备选存储节点。
进一步的,所述转发模块300用于通过集群网络将所述数据读请求转发至所述待读对象的主副本所在的存储节点
进一步的,还包括:
存储信息查询模块,用于在确定所述数据读请求对应的待读对象之后,查询待读对象的副本存储信息;其中,所述副本存储信息包括主副本存储位置和备份副本存储位置;
副本位置判断模块,用于根据所述副本存储信息判断所述待读对象的主副本或备份副本是否存储在所述目标存储节点。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种数据读请求的处理方法,其特征在于,应用于Ceph集群中的目标存储节点,所述处理方法包括:
接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;
若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;
若是,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;
若否,则向所述客户端返回所述备份副本中的数据。
2.根据权利要求1所述处理方法,其特征在于,在确定所述数据读请求对应的待读对象之后,还包括:
若所述目标存储节点包括所述待读对象的主副本,则向所述客户端返回所述主副本中的数据。
3.根据权利要求1所述处理方法,其特征在于,在确定所述数据读请求对应的待读对象之后,还包括:
若所述目标存储节点不包括所述待读对象的主副本和备份副本,则将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点。
4.根据权利要求3所述处理方法,其特征在于,将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点,包括:
若所述Ceph集群未出现故障且不处于重构状态,则根据业务压力将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点;
若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求发送至所述待读对象的主副本所在的存储节点。
5.根据权利要求4所述处理方法,其特征在于,所述根据业务压力将所述数据读请求发送至所述待读对象的主副本或备份副本所在的存储节点,包括:
将所述待读对象的主副本和备份副本所在的存储节点中业务压力最小的存储节点作为备选存储节点;
将所述数据读请求发送至所述备选存储节点。
6.根据权利要求1所述处理方法,其特征在于,将所述数据读请求转发至所述待读对象的主副本所在的存储节点,包括:
通过集群网络将所述数据读请求转发至所述待读对象的主副本所在的存储节点。
7.根据权利要求1至6任一项所述处理方法,其特征在于,在确定所述数据读请求对应的待读对象之后,还包括:
查询待读对象的副本存储信息;其中,所述副本存储信息包括主副本存储位置和备份副本存储位置;
根据所述副本存储信息判断所述待读对象的主副本或备份副本是否存储在所述目标存储节点。
8.一种数据读请求的处理系统,其特征在于,应用于Ceph集群中的目标存储节点,所述处理系统包括:
待读对象确定模块,应用于接收客户端发送的数据读请求,并确定所述数据读请求对应的待读对象;
判断模块,用于若所述目标存储节点包括所述待读对象的备份副本,则判断所述Ceph集群是否出现故障或处于重构状态;
转发模块,用于若所述Ceph集群出现故障或处于重构状态,则将所述数据读请求转发至所述待读对象的主副本所在的存储节点,以便主副本所在的存储节点向所述客户端返回所述主副本中的数据;
数据返回模块,用于若所述Ceph集群未出现故障且不处于重构状态,则向所述客户端返回所述备份副本中的数据。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项所述数据读请求的处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述数据读请求的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010922864.4A CN112130758B (zh) | 2020-09-04 | 2020-09-04 | 一种数据读请求的处理方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010922864.4A CN112130758B (zh) | 2020-09-04 | 2020-09-04 | 一种数据读请求的处理方法、系统、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112130758A true CN112130758A (zh) | 2020-12-25 |
CN112130758B CN112130758B (zh) | 2023-01-10 |
Family
ID=73848015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010922864.4A Active CN112130758B (zh) | 2020-09-04 | 2020-09-04 | 一种数据读请求的处理方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112130758B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346667A (zh) * | 2021-01-07 | 2021-02-09 | 广东睿江云计算股份有限公司 | 一种ceph存储osd读均衡方法及其系统 |
CN113254415A (zh) * | 2021-05-19 | 2021-08-13 | 浪潮商用机器有限公司 | 一种分布式文件系统读请求处理方法及装置 |
CN114697353A (zh) * | 2022-05-27 | 2022-07-01 | 邹平市供电有限公司 | 一种分布式存储集群电网数据存储控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600430A (zh) * | 2018-11-29 | 2019-04-09 | 深圳市网心科技有限公司 | 一种数据管理方法、系统及电子设备和存储介质 |
CN109783522A (zh) * | 2019-01-08 | 2019-05-21 | 郑州云海信息技术有限公司 | 一种数据分布式缓存方法、系统、设备及计算机存储介质 |
-
2020
- 2020-09-04 CN CN202010922864.4A patent/CN112130758B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600430A (zh) * | 2018-11-29 | 2019-04-09 | 深圳市网心科技有限公司 | 一种数据管理方法、系统及电子设备和存储介质 |
CN109783522A (zh) * | 2019-01-08 | 2019-05-21 | 郑州云海信息技术有限公司 | 一种数据分布式缓存方法、系统、设备及计算机存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112346667A (zh) * | 2021-01-07 | 2021-02-09 | 广东睿江云计算股份有限公司 | 一种ceph存储osd读均衡方法及其系统 |
CN113254415A (zh) * | 2021-05-19 | 2021-08-13 | 浪潮商用机器有限公司 | 一种分布式文件系统读请求处理方法及装置 |
CN113254415B (zh) * | 2021-05-19 | 2022-11-04 | 浪潮商用机器有限公司 | 一种分布式文件系统读请求处理方法及装置 |
CN114697353A (zh) * | 2022-05-27 | 2022-07-01 | 邹平市供电有限公司 | 一种分布式存储集群电网数据存储控制方法 |
CN114697353B (zh) * | 2022-05-27 | 2022-09-06 | 邹平市供电有限公司 | 一种分布式存储集群电网数据存储控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112130758B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11614867B2 (en) | Distributed storage system-based data processing method and storage device | |
CN112130758B (zh) | 一种数据读请求的处理方法、系统、电子设备及存储介质 | |
CN101562543B (zh) | 一种缓存数据的处理方法、处理系统和装置 | |
CN106776130B (zh) | 一种日志恢复方法、存储装置和存储节点 | |
US11307776B2 (en) | Method for accessing distributed storage system, related apparatus, and related system | |
EP2418824B1 (en) | Method for resource information backup operation based on peer to peer network and peer to peer network thereof | |
CN106708653B (zh) | 一种基于纠删码与多副本的混合税务大数据安全保护方法 | |
CN104935654A (zh) | 一种服务器集群系统中的缓存方法、写入点客户端和读客户端 | |
CN109165112B (zh) | 一种元数据集群的故障恢复方法、系统及相关组件 | |
US10558547B2 (en) | Methods for proactive prediction of disk failure in a RAID group and devices thereof | |
CN107508700B (zh) | 容灾方法、装置、设备及存储介质 | |
CN116257186A (zh) | 一种数据对象纠删码存储方法、装置、设备及介质 | |
CN112130761A (zh) | 一种存储系统的扩容方法、系统及相关装置 | |
CN115277727A (zh) | 一种数据灾备方法、系统、装置及存储介质 | |
CN111506254B (zh) | 分布式存储系统及其管理方法、装置 | |
CN113301173A (zh) | 域名更新系统及方法、消息转发方法、服务器 | |
CN114978871B (zh) | 业务系统的节点切换方法及节点切换装置、电子设备 | |
CN107045426B (zh) | 一种多副本读取方法和系统 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN112783688B (zh) | 一种基于可用分区级的纠删码数据恢复方法及装置 | |
US7058773B1 (en) | System and method for managing data in a distributed system | |
CN114003612A (zh) | 针对数据库异常状况的处理方法及处理系统 | |
CN113536034A (zh) | 一种基于布隆过滤器的数据写入方法和数据读取方法 | |
CN113630317A (zh) | 一种数据传输方法、装置、非易失性存储介质及电子装置 | |
JP2005208697A (ja) | デフラグ方法 |
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 |