CN115599316B - 分布式数据处理方法、装置、设备、介质和计算机程序产品 - Google Patents
分布式数据处理方法、装置、设备、介质和计算机程序产品 Download PDFInfo
- Publication number
- CN115599316B CN115599316B CN202211609020.XA CN202211609020A CN115599316B CN 115599316 B CN115599316 B CN 115599316B CN 202211609020 A CN202211609020 A CN 202211609020A CN 115599316 B CN115599316 B CN 115599316B
- Authority
- CN
- China
- Prior art keywords
- segment unit
- data
- segment
- message
- unit
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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]
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
本发明涉及分布式数据处理方法,用于分布式存储系统中的电子设备,分布式存储系统还包括多个段单元,段单元包括主段单元、非主段单元,其中:响应于接收到数据读请求,将相应的读请求数据发送给所有主段单元,将第一消息发送给所有非主段单元;其中,主段单元响应于接收到读请求数据,返回相应的读出数据,非主段单元响应于接收到第一消息,返回第二消息;接收来自主段单元的读出数据和来自非主段单元的第二消息,基于接收到的读出数据和第二消息,根据第一预定规则,确定数据读是否成功。本发明还涉及分布式数据处理装置、设备、介质和计算机程序产品。
Description
技术领域
本发明涉及计算机技术领域,特别涉及分布式数据处理方法、装置、设备、介质和计算机程序产品。
背景技术
一套大规模的分布式存储系统往往由大量的段(segment)构成,每个段由来自不同机器的段单元(segment unit)组成,每个段单元可以是不同机器上的不同设备,比如存储介质上某一段存储空间,这些机器通过网络连接,形成一个分布式集群。多个段单元可以位于同一节点中。而随着大数据时代的到来,分布式存储系统集群规模也随之显著增长,涉及节点数量越来越多,组网连接也越来越复杂。
分布式集群在网络正常的情况下,段可以顺利地选举出其主段单元(Leader)。但当集群内部的网络通信出现异常时,会形成多个不能互相通信的网络分区,段就有可能在不同的网络分区中选举出各自的主段单元,也就是造成“脑裂”问题。当脑裂出现时会影响一个或多个段,受影响的段轻则无法正常进行IO操作,影响业务数据写入和读取,重则导致数据不一致,甚至导致数据损坏出现。同时,在用户业务数据并发情况下,出现同一时间通过多个数据驱动向同一个段发送数据请求情况。因此,亟需正确处理多个数据驱动并发操作时,段中段单元脑裂的问题的方案,以保障分布式系统的正常运行。
另外,在分布式存储系统中,为了保证数据的高可靠性,一份数据通常由多个段单元持有,通常不同的段单元会存放在不同的服务器上的不同的存储介质上,当一份段单元丢失或者下线,还有其他段单元可以提供数据。段单元数越多,数据的可靠性便越高。
一定规模的分布式集群在一段时间运行后可能会出现节点之间的网络异常、单个节点内部的设备异常,例如主板、网卡、存储介质等的异常。当这些异常出现时会导致一个或多个段单元无法正常支持数据操作。在这样的情况下,为了防止段单元被分成两个或多个孤立的组,即,导致脑裂,进而导致数据不一致的问题。对于用户写操作,分布式存储系统需要确认一定数量的段单元接收到数据并写入数据才能返回写成功。例如,在某些分布式存储系统中,对于用户写操作,需要大多数段单元接收到这个写操作才能算成功。这种大多数段单元写成功才返回用户成功的方式,可以防止出现上述数据不一致的问题。然而,这样做的缺陷在于空间资源的浪费和系统可靠性不高。
发明内容
本发明的目的在于提供分布式数据处理方法、装置、设备、介质和计算机程序产品,解决分布式存储系统中的脑裂问题,并且对仅剩单个段单元存在时进行写支持,扩大分布式系统处理异常的范围,增强系统健壮性。
本发明的第一实施方式公开了一种分布式数据处理方法,用于分布式存储系统中的电子设备,所述分布式存储系统还包括多个段单元,所述段单元包括主段单元、非主段单元,其中:
响应于接收到数据读请求,将相应的读请求数据发送给所有所述主段单元,将第一消息发送给所有所述非主段单元;其中,所述主段单元响应于接收到所述读请求数据,返回相应的读出数据,所述非主段单元响应于接收到所述第一消息,返回第二消息;
接收来自所述主段单元的所述读出数据和来自所述非主段单元的所述第二消息,基于接收到的所述读出数据和所述第二消息,根据第一预定规则,确定数据读是否成功。
可选地,所述第一预定规则包括:
接收到来自所述主段单元的所述读出数据,并且接收到来自所述主段单元的所述读出数据的数量、加上接收到来自所述非主段单元的所述第二消息的数量超过第一预定阈值的情况下,则确定数据读成功。
可选地,所述第一预定阈值为所述段单元的总数量的一半。
可选地,所述非主段单元包括从段单元和空白段单元。
可选地,所述方法还包括:
响应于接收到数据写请求,将相应的写请求数据发送给所述空白段单元以外的所有非空白段单元,将第三消息发送给所有所述空白段单元;其中,所述非空白段单元响应于接收到所述写请求数据,进行相应的数据写操作并返回相应的写操作结果,所述空白段单元响应于接收到所述第三消息,返回第四消息;
接收来自所述非空白段单元的所述写操作结果和来自所述空白段单元的所述第四消息,基于接收到的所述写操作结果和所述第四消息,根据第二预定规则,确定数据写是否成功。
可选地,所述第二预定规则包括:
接收到至少一个来自所述非空白段单元的正常的所述写操作结果,并且接收到来自所述非空白段单元的正常的所述写操作结果的数量、加上接收到来自所述空白段单元的所述第四消息的数量超过第二预定阈值的情况下,则确定数据写成功。
可选地,所述第二预定阈值为所述段单元的总数量的一半。
可选地,所述第一消息和所述第三消息包括所有所述段单元的段单元信息。
可选地,所述非主段单元响应于接收到所述第一消息,返回第二消息,包括:
所述非主段单元响应于接收到所述段单元信息,对所述段单元信息进行确认,并返回确认结果,其中,确认所述段单元信息正确的所述确认结果为所述第二消息。
可选地,所述空白段单元响应于接收到所述第三消息,返回第四消息,包括:
所述空白段单元响应于接收到所述段单元信息,对所述段单元信息进行确认,并返回确认结果,其中,确认所述段单元信息正确的所述确认结果为所述第四消息。
本发明的第二实施方式公开了一种分布式数据处理装置,用于分布式存储系统,所述分布式存储系统包括多个段单元,所述段单元包括主段单元、非主段单元;
所述分布式数据处理装置包括第一接收模块、发送模块、第二接收模块、确定模块,其中:
所述第一接收模块接收到数据读请求;
所述发送模块将相应的读请求数据发送给所有所述主段单元,将第一消息发送给所有所述非主段单元;其中,所述主段单元响应于接收到所述读请求数据,返回相应的读出数据,所述非主段单元响应于接收到所述第一消息,返回第二消息;
所述第二接收模块接收来自所述主段单元的所述读出数据和来自所述非主段单元的所述第二消息;
所述确定模块基于接收到的所述读出数据和所述第二消息,根据第一预定规则,确定数据读是否成功。
本发明的第三实施方式公开了一种电子设备,所述电子设备包括存储有计算机可执行指令的存储器和处理器,当所述指令被所述处理器执行时,使得所述电子设备实施根据本发明第一实施方式的分布式数据处理方法。
本发明的第四实施方式公开了一种计算机存储介质,在所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行根据本发明第一实施方式的分布式数据处理方法。
本发明的第五实施方式公开了一种计算机程序产品,包括计算机可执行指令,所述指令被处理器执行以实施根据本发明第一实施方式的分布式数据处理方法。
本发明实施方式与现有技术相比,主要区别及其效果在于:
在本发明中,在分布式存储系统中,在多个运行于电子设备的数据驱动并发操作时,每个数据驱动的每个数据读请求都要获得段中大多数段单元支持,从根本上杜绝脑裂情况发生,防止数据不一致、损坏情况出现。可以第一时间在段中找出可以继续进行数据操作的大多数段单元,对其发送数据操作请求并快速响应用户,以保证用户业务准确性与连续性。
在本发明中,非主段单元包括空白段单元,空白段单元不保存任何数据,但是空白段单元参与到用户数据写操作是否成功的判断中。另外,段中段单元的总数包括空白段单元的个数,在线段单元的个数包括在线空白段单元的个数,离线段单元的个数包括离线空白段单元的个数等。即使在只有单个非空白段单元存活情况下,也可以支持正常数据写操作,最大限度地保障业务连续性,提高数据可用性,提升分布式存储系统健壮性、可用性,可以更好地服务于用户业务系统。
附图说明
图1示出根据本申请的实施例的分布式存储系统的示意图。
图2示出根据本申请的实施例的分布式数据处理方法的流程图。
图3示出根据本申请的实施例的网络发生故障的情况下分布式存储系统的示意图。
图4示出根据本申请的实施例的另一分布式存储系统的示意图。
图5示出根据本申请的实施例的另一分布式存储系统的示意图。
图6示出根据本申请的实施例的分布式数据处理方法的流程图。
图7示出根据本申请的实施例的在发生异常的情况下分布式存储系统的示意图。
图8示出根据本申请的实施例的分布式数据处理装置的框图。
图9示出实施根据本申请的实施例的分布式数据处理的电子设备的硬件结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
为了便于理解,下面先对本申请实施例可能涉及的相关术语和概念进行介绍。
卷:分布式存储系统中的存储区域。
段:组成卷的基本逻辑单元,一个卷有n个段(n≥1),一个卷内段的数量=卷的大小/段的大小。
段单元:组成段的基本单元或物理单元。有多种分工不同的段单元,包含主段单元和从段单元。段单元对应于物理磁盘上的某一段连续空间,可以存放用户数据。
存储介质:用于存储数据的存储介质,如物理磁盘。
存储节点:一个存储节点可包含多个存储介质,一个存储介质只能属于一个存储节点。
可以理解的是,存储节点和物理磁盘都属于物理上的概念,存储节点用于管理若干个物理磁盘(即,数据磁盘),在同一时刻,同一物理磁盘只由某一个存储节点管理。卷是逻辑上的概念,在某一物理磁盘上可以划分不同的存储块空间组成不同的卷,即,同一个卷的段单元可以分布在不同的物理磁盘上。
图1示出根据本申请实施例的分布式存储系统100的示意图。如图1所示,分布式存储系统100可以包括多个数据驱动和多个卷(图未示),每个卷包括多个段,每个段包括多个段单元。图1中示出数据驱动C11和数据驱动C12和位于一个卷中的段101,段101例如包括一个主段单元P11、非主段单元S11和非主段单元S12。
图2示出根据本申请的实施例的分布式数据处理方法的流程图,用于分布式存储系统中的电子设备,例如,用于运行于电子设备中的数据驱动,如图2所示,该方法包括:
接收数据读请求;
将相应的读请求数据发送给所有主段单元,将第一消息发送给所有非主段单元;
其中,主段单元响应于接收到读请求数据,返回相应的读出数据,非主段单元响应于接收到第一消息,返回第二消息;
根据本申请的一些实施例,第一消息包括所有段单元的段单元信息;非主段单元响应于接收到第一消息,返回第二消息包括:非主段单元响应于接收到段单元信息,对段单元信息进行确认,并返回确认结果,其中,确认段单元信息正确的确认结果为第二消息;
接收来自主段单元的读出数据和来自非主段单元的第二消息;
基于接收到的读出数据和第二消息,根据第一预定规则,确定数据读是否成功。
例如,在网络正常的情形中:数据驱动C11或数据驱动C12接收到来自用户的数据读请求后,将正常的数据读请求发送给段101中所有段单元,段单元接收到数据读请求后,对数据进行处理,接着把处理结果返回给数据驱动,数据驱动收集到段单元数据处理结果后进行处理,最后返回读数据响应给用户。
作为示例,用户的数据读请求发送到数据驱动C11后,数据驱动C11将数据读请求及携带的相应的读请求数据发送到主段单元P11,同时将检测读请求(第一消息)发送给非主段单元S11和非主段单元S12。其中,正常情况下,主段单元P11响应于接收到读请求数据,将存储的相应数据(读出数据)发送给相应的数据驱动C11。该检测读请求不会请求读取任何数据,仅用于握手验证。正常情况下,非主段单元S11和/或非主段单元S12响应于接收到第一消息,将第二消息发送给相应的数据驱动C11。例如,该检测读请求可以携带当前段101的信息,包括其中所有段单元的段单元信息,非主段单元S11和/或非主段单元S12接收到该检测读请求后,作为响应,确认该检测读请求携带的段单元信息是否正确,并将确认结果发送给相应的数据驱动C11,其中,确认段单元信息正确的确认结果即为第二消息。
本领域技术人员可以理解,本申请中的第一消息和第二消息可以是数据驱动和非主段单元之间收发的任何用于对当次数据读请求进行确认的合适的消息。
然后,数据驱动C11会收集主段单元P11、非主段单元S11、非主段单元S12返回的响应,包括以下可能情形:
1)数据驱动C11确认主段单元P11读数据响应成功,即,接收到来自主段单元P11的读出的数据;非主段单元S11检测读数据响应成功,即,接收到来自非主段单元S11的第二消息;非主段单元S12检测读数据响应失败,即,未接收到来自非主段单元S12的第二消息,包括:接收到来自非主段单元S12的确认检测读请求携带的段单元信息错误的消息,或达到第一预定时长未接收到来自非主段单元S12的第二消息。
2)数据驱动C11确认主段单元P11读数据响应成功,即,接收到来自主段单元P11的读出的数据;非主段单元S12检测读数据响应成功,即,接收到来自非主段单元S12的第二消息;非主段单元S11检测读数据响应失败,即,未接收到来自非主段单元S11的第二消息,包括:接收到来自非主段单元S11的确认检测读请求携带的段单元信息错误的消息,或达到第一预定时长未接收到来自非主段单元S11的第二消息。
3)数据驱动C11确认主段单元P11读数据响应成功,即,接收到来自主段单元P11的读出的数据;非主段单元S11、非主段单元S12检测读数据响应成功,即,接收到来自非主段单元S11、非主段单元S12的第二消息。
4)数据驱动C11确认主段单元P11读数据响应成功,即,接收到来自主段单元P11的读出的数据;非主段单元S11、非主段单元S12检测读数据响应失败,即,未接收到来自非主段单元S11、非主段单元S12的第二消息,包括:接收到来自非主段单元S11、非主段单元S12的确认检测读请求携带的段单元信息错误的消息,或达到第一预定时长未接收到来自非主段单元S11、非主段单元S12的第二消息。
5) 数据驱动C11确认主段单元P11读数据响应失败,即,接收到来自主段单元P11的读出数据失败的消息,或达到第二预定时长未接收到来自主段单元P11的读出的数据;非主段单元S11检测读数据响应成功/失败、非主段单元S12检测读数据响应成功/失败。
然后,数据驱动C11根据第一预定规则,确定本次数据读成功或失败。
根据本申请的一些实施例,第一预定规则包括:接收到来自主段单元的读出数据,并且接收到来自主段单元的读出数据的数量、加上接收到来自非主段单元的第二消息的数量超过第一预定阈值的情况下,则确定数据读成功。可选地,第一预定阈值为段单元的总数量的一半。例如,对于一个段,设其具有的段单元的总数量为N,则第一预定阈值为N/2,则第一预定规则为:接收到来自主段单元的读出数据的数量、加上接收到来自非主段单元的第二消息的数量≥N/2+1,则确定数据读成功,否则确定数据读失败。
例如,在上述实施例中,根据上述第一预定规则,如果是情形1)、2)、3),则数据驱动C11判定数据读请求成功,如果是情形4)、5),则数据驱动C11判定数据读请求失败。
当环境出现异常时,例如,存储介质、节点或网络故障等,会导致段单元无法正常提供服务,并且可能使得多个数据驱动和多个段单元分布在多个不能互相通信的网络分区的情况下。例如,如图3所示,在网络发生故障的情况下, 主段单元P11和数据驱动C11在一个网络分区A, 非主段单元S11、非主段单元S12和数据驱动C12在另外一个网络分区B,其中,网络分区A与网络分区B之间无法通信。然后,由于此时在网络分区B没有主段单元,则基于选举机制,在网络分区B会选举出新的主段单元,例如,原来的非主段单元S11被选举为新的主段单元P12。
在这样的情况下,在网络分区A中:当数据驱动C11接收到用户的数据读请求,数据驱动C11尝试将该数据读请求及携带的相应的读请求数据发送到段101的所有主段单元,同时将检测读请求(第一消息)发送给段101的所有非主段单元。然而,由于网络故障,数据驱动C11只能将数据读请求及携带的相应的读请求数据发送到网络分区A中的主段单元P11。然后,数据驱动C11会收集主段单元P11返回的响应,包括以下可能情形:
1)数据驱动C11确认主段单元P11读数据响应成功,即,接收到来自主段单元P11的读出的数据;
2) 数据驱动C11确认主段单元P11读数据响应失败,即,接收到来自主段单元P11的读出数据失败的消息,或达到第二预定时长未接收到来自主段单元P11的读出的数据。
依据前述第一预定规则,该两种情形中数据驱动C11都判定数据读请求失败。
在网络分区B中:当数据驱动C12接收到用户的数据读请求,数据驱动C12尝试将该数据读请求及携带的相应的读请求数据发送到段101的所有主段单元,同时将检测读请求(第一消息)发送给段101的所有非主段单元。然而,由于网络故障,数据驱动C12只能将数据读请求及携带的相应的读请求数据发送到网络分区B中的主段单元P12(即网络故障之前的非主段单元S11),同时将检测读请求(第一消息)发送给网络分区B中的非主段单元S12。然后,数据驱动C11会收集主段单元P11返回的响应,包括以下可能情形:
1)数据驱动C12确认主段单元P12读数据响应成功,即,接收到来自主段单元P12的读出的数据;非主段单元S12检测读数据响应成功,即,接收到来自非主段单元S12的第二消息;
2)数据驱动C12确认主段单元P12读数据响应成功,即,接收到来自主段单元P12的读出的数据;非主段单元S12检测读数据响应失败,即,未接收到来自非主段单元S12的第二消息,包括:接收到来自非主段单元S12的确认检测读请求携带的段单元信息错误的消息,或达到第一预定时长未接收到来自非主段单元S12的第二消息。
3) 数据驱动C12确认主段单元P12读数据响应失败,即,接收到来自主段单元P12的读出数据失败的消息,或达到第二预定时长未接收到来自主段单元P12的读出的数据;非主段单元S12检测读数据响应成功/失败。
依据前述第一预定规则,情形1)中数据驱动C12判定数据读请求成功,情形2)和3)中数据驱动C12判定数据读请求失败。
由此可见,网络分区A不可进行读操作,网络分区B可以进行读操作,避免了在网络故障后网络分区A、网络分区B都可以进行读操作的脑裂现象。
可以理解,对于任意段,设其具有的段单元的总数量为N,则第一预定阈值为N/2,第一预定规则为:接收到来自主段单元的读出数据的数量、加上接收到来自非主段单元的第二消息的数量≥N/2+1,则确定数据读成功,否则确定数据读失败。而在由于网络故障而使得多个数据驱动和多个段单元分布在多个不能互相通信的网络分区的情况下,最多只有一个网络分区具有的段单元的数量能够达到N/2+1,因此,最多只有在一个网络分区中,数据读请求的相应第一预定规则有可能被满足,也就从根本上避免了脑裂。
根据本申请的一些实施例,非主段单元包括从段单元。
图4示出根据本申请实施例的另一分布式存储系统400的示意图。如图4所示,分布式存储系统400可以包括多个数据驱动和多个卷(图未示),每个卷包括多个段,每个段包括多个段单元。图4中示出数据驱动C41和位于一个卷中的段401,段401例如包括主段单元P41、从段单元S41、从段单元S42、从段单元S43、从段单元S44,总共5个段单元。在网络正常的情形中:数据驱动C41接收到来自用户的数据写请求后,将正常的数据写请求发送给段401中所有段单元,段单元接收到数据写请求后写入相应的数据,接着把处理结果返回给数据驱动。数据驱动C41接收到至少一个段单元的正常的写操作结果,即,确认该段单元接收到数据并写入了相应的这份数据,并且接收到来自段单元的正常的写操作结果的数量超过该段中段单元总数量的一半的情况下,则确定本次数据写成功,最后返回写数据响应给用户。
然而,这样的方案的缺陷是空间资源的浪费和系统可靠性不高。例如,在上述示例中,5个段单元中,如果有3个段单元不可用,则由于只剩2个段单元,数据驱动C41接收到来自段单元的正常的写操作结果的数量就不可能超过该段中段单元总数量的一半。因此系统便无法接受并处理用户的数据写请求。而其实还有2个段单元可用,实际上,当分布式存储系统只有1个段单元可用的情况,才是该系统能够确保数据不丢失的极限情况。
针对上述技术问题,根据本申请的一些实施例,非主段单元还包括空白段单元。空白段单元不保存任何数据,但是可以保存和数据相关的元数据,例如,元数据可以用于记录这个空白段单元是哪份数据的第几个段单元等信息。空白段单元和非空白段单元一样会计入段单元个数的计算。例如,一个段中段单元的总数包括空白段单元的个数,在线段单元的个数包括在线空白段单元的个数,离线段单元的个数包括离线空白段单元的个数等。
基于以上描述,本领域技术人员可以理解,非空白段单元包括主段单元和从段单元。
例如,如图5所示,分布式存储系统500可以包括多个数据驱动和多个卷(图未示),每个卷包括多个段,每个段包括多个段单元。图5中示出数据驱动C51和位于一个卷中的段501,段501例如包括主段单元P41、从段单元S41、从段单元S42,以及空白段单元B51、空白段单元B52,其中,主段单元P41、从段单元S41和从段单元S42称为非空白段单元,总共5个段单元。
如图6所示,根据本申请的一些实施例,分布式数据处理方法还包括:
接收数据写请求;
将相应的写请求数据发送给空白段单元以外的所有非空白段单元,将第三消息发送给所有空白段单元;
其中,非空白段单元响应于接收到写请求数据,进行相应的数据写操作并返回相应的写操作结果,空白段单元响应于接收到第三消息,返回第四消息;
根据本申请的一些实施例,第三消息包括所有段单元的段单元信息;空白段单元响应于接收到第三消息,返回第四消息还包括:空白段单元响应于接收到段单元信息,对段单元信息进行确认,并返回确认结果,其中,确认段单元信息正确的确认结果为第四消息。
接收来自非空白段单元的写操作结果和来自空白段单元的第四消息;
基于接收到的写操作结果和第四消息,根据第二预定规则,确定数据写是否成功。
例如,在网络正常的情形中:数据驱动C51接收到来自用户的数据写请求后,将正常的数据写请求发送给段501中所有段单元,段单元接收到数据写请求后,对数据进行处理,接着把处理结果返回给数据驱动,数据驱动C51收集到段单元数据处理结果后进行处理,最后返回写数据响应给用户。
作为示例,用户的数据写请求发送到数据驱动C51后,数据驱动C51将数据写请求及携带的相应的写请求数据发送到非空白段单元,即,主段单元P41、从段单元S41、从段单元S42,同时将检测写请求(第三消息)发送给空白段单元B51、空白段单元B52。其中,正常情况下,主段单元P41、从段单元S41、从段单元S42响应于接收到写请求数据,则写入相应的数据,并向数据驱动C51返回相应的写操作结果。该检测写请求不会请求写入任何数据,仅用于验证。正常情况下,空白段单元B51、空白段单元B52响应于接收到第三消息,将第四消息发送给相应的数据驱动C51。例如,该检测写请求可以携带当前段501的信息,包括其中所有段单元的段单元信息,空白段单元B51、空白段单元B52接收到该检测写请求后,作为响应,确认该检测写请求携带的段单元信息是否正确,例如,空白段单元B51、空白段单元B52基于自身携带的元数据等信息对接收到的段单元信息进行确认。并将确认结果发送给相应的数据驱动C51,其中,确认段单元信息正确的确认结果即为第四消息。
本领域技术人员可以理解,本申请中的第三消息和第四消息可以是数据驱动和空白段单元之间收发的任何用于对当次数据写请求进行确认的合适的消息。
然后,数据驱动C51会收集主段单元P41、从段单元S41、从段单元S42、空白段单元B51、空白段单元B52返回的响应,例如,考虑以下可能情形:
1)数据驱动C51确认主段单元P41、从段单元S41、从段单元S42写数据响应成功,即,接收到来自主段单元P41、从段单元S41、从段单元S42的写入数据后返回的写操作结果;空白段单元B51、空白段单元B52检测写数据响应成功,即,接收到来自空白段单元B51、空白段单元B52的第四消息。
2)数据驱动C51确认主段单元P41写数据响应成功,即,接收到来自主段单元P41的写入数据后返回的写操作结果;从段单元S41、从段单元S42写数据响应失败,即,接收到来自从段单元S41、从段单元S42的写入数据失败的消息,或达到第四预定时长未接收到来自从段单元S41、从段单元S42的写入数据后返回的写操作结果;空白段单元B51、空白段单元B52检测写数据响应成功,即,接收到来自空白段单元B51、空白段单元B52的第四消息。
3)数据驱动C51确认主段单元P41写数据响应成功,即,接收到来自主段单元P41的写入数据后返回的写操作结果;从段单元S41、从段单元S42写数据响应失败,即,接收到来自从段单元S41、从段单元S42的写入数据失败的消息,或达到第四预定时长未接收到来自从段单元S41、从段单元S42的写入数据后返回的写操作结果;空白段单元B51检测写数据响应成功,即,接收到来自空白段单元B51的第四消息;空白段单元B52检测写数据响应失败,即,未接收到来自空白段单元B52的第四消息,包括:接收到来自空白段单元B52的确认检测写请求携带的段单元信息错误的消息,或达到第三预定时长未接收到来自空白段单元B52的第四消息。
4)数据驱动C51确认主段单元P41、从段单元S41、从段单元S42写数据响应失败,即,接收到来自主段单元P41、从段单元S41、从段单元S42的写入数据失败的消息,或达到第四预定时长未接收到来自主段单元P41、从段单元S41、从段单元S42的写入数据后返回的写操作结果;空白段单元B51、空白段单元B52检测写数据响应成功,即,接收到来自空白段单元B51、空白段单元B52的第四消息。
然后,数据驱动C51根据第二预定规则,确定本次数据写成功或失败。
根据本申请的一些实施例,第二预定规则包括:接收到至少一个来自非空白段单元的正常的写操作结果,并且接收到来自非空白段单元的正常的写操作结果的数量、加上接收到来自空白段单元的第四消息的数量超过第二预定阈值的情况下,则确定数据写成功。可选地,第二预定阈值为段单元的总数量的一半。需要强调的是,空白段单元的个数也计入段单元的总数量。例如,对于一个段,设其具有的段单元的总数量为N,则第二预定阈值为N/2,则第二预定规则为:接收到至少一个来自非空白段单元的正常的写操作结果,并且接收到来自非空白段单元的正常的写操作结果的数量、加上接收到来自空白段单元的第四消息的数量≥N/2+1,则确定数据写成功,否则确定数据写失败。
例如,在上述实施例中,根据上述第二预定规则,如果是情形1)、2),则数据驱动C51判定数据写请求成功,如果是情形3)、4),则数据驱动C51判定数据写请求失败。
当节点之间的网络异常、单个节点内部的设备例如,主板、网卡、存储介质等异常出现时,例如,如图7所示,在发生异常的情况下,从段单元S41、从段单元S42不可用。
在这样的情况下,当数据驱动C51接收到用户的数据写请求,数据驱动C51只能将该数据写请求及携带的相应的写请求数据发送到段501的主段单元P41,同时将检测写请求(第三消息)发送给段501的空白段单元B51、空白段单元B52。然后,数据驱动C51会收集主段单元P41、空白段单元B51、空白段单元B52返回的响应,例如,考虑以下情形:
1)数据驱动C51确认主段单元P41写数据响应成功,即,接收到来自主段单元P41的写入数据后返回的写操作结果;空白段单元B51、空白段单元B52检测写数据响应成功,即,接收到来自空白段单元B51、空白段单元B52的第四消息。
2)数据驱动C51确认主段单元P41写数据响应成功,即,接收到来自主段单元P41的写入数据后返回的写操作结果;空白段单元B51检测写数据响应成功,即,接收到来自空白段单元B51的第四消息;空白段单元B52检测写数据响应失败,即,未接收到来自空白段单元B52的第四消息,包括:接收到来自空白段单元B52的确认检测写请求携带的段单元信息错误的消息,或达到第三预定时长未接收到来自空白段单元B52的第四消息。
3)数据驱动C51确认主段单元P41写数据响应失败,即,接收到来自主段单元P41的写入数据失败的消息,或达到第四预定时长未接收到来自主段单元P41的写入数据后返回的写操作结果;空白段单元B51、空白段单元B52检测写数据响应成功,即,接收到来自空白段单元B51、空白段单元B52的第四消息。
依据前述第二预定规则,情形1)中数据驱动C51判定数据写请求成功,情形2)和3)中数据驱动C51判定数据写请求失败。可以理解的是,这里虽然从段单元S41、从段单元S42不可用,但是段501中段单元的总数量仍然是5。
由此可见,即便段501中只有一个段单元,即主段单元P41可以进行数据写操作,由于空白段单元B51、空白段单元B52还能够参与到用户数据写操作是否成功的判断中,用户的数据写请求仍然可以成功。
另外,可以理解的是,采用多个数据驱动并发操作时,对于任意段,设其具有的段单元的总数量为N,则第二预定阈值为N/2,第二预定规则为:接收到至少一个来自非空白段单元的正常的写操作结果,并且接收到来自非空白段单元的正常的写操作结果的数量、加上接收到来自空白段单元的第四消息的数量≥N/2+1,则确定数据写成功,否则确定数据写失败。
在本发明中,段单元包括空白段单元,空白段单元不保存任何数据,但是空白段单元参与到用户数据写操作是否成功的判断中。另外,段中段单元的总数包括空白段单元的个数,在线段单元的个数包括在线空白段单元的个数,离线段单元的个数包括离线空白段单元的个数等。即使在只有单个非空白段单元存活情况下,只要包括空白段单元在内的存活段单元的个数占段中段单元总数的大多数,也仍然可以支持正常数据写操作,最大限度地保障业务连续性,提高数据可用性,提升分布式存储系统健壮性、可用性,可以更好地服务于用户业务系统,同时还可以防止脑裂。
图8示出根据本申请的实施例的分布式数据处理装置的框图,如图8所示,数据读装置800用于分布式存储系统,所述分布式存储系统还包括多个段单元,所述段单元包括主段单元和非主段单元;
所述数据读装置800包括第一接收模块802、发送模块804、第二接收模块806和确定模块808;其中,
所述第一接收模块802接收数据读请求;
所述发送模块804将相应的读请求数据发送给所有所述主段单元,将第一消息发送给所有所述非主段单元;其中,所述主段单元响应于接收到所述读请求数据,返回相应的读出数据,所述非主段单元响应于接收到所述第一消息,返回第二消息;
所述第二接收模块806接收来自所述主段单元的所述读出数据和来自所述非主段单元的所述第二消息;
所述确定模块808基于接收到的所述读出数据和所述第二消息,根据第一预定规则,确定数据读是否成功。
图9是实施根据本发明实施例的分布式数据处理的电子设备的硬件结构框图。
如图9所示,电子设备900可以包括一个或多个处理器902、与处理器902中的至少一个连接的系统主板908、与系统主板908连接的系统内存904、与系统主板908连接的非易失性存储器(NVM)906、以及与系统主板908连接的网络接口910。
处理器902可以包括一个或多个单核或多核处理器。处理器902可以包括通用处理器和专用处理器(例如,图形处理器、应用处理器、基带处理器等)的任何组合。在本发明的实施例中,处理器902可以被配置为执行根据如图1-图8所示的各种实施例的一个或多个实施例。
在一些实施例中,系统主板908可以包括任意合适的接口控制器,以向处理器902中的至少一个和/或与系统主板908通信的任意合适的设备或组件提供任意合适的接口。
在一些实施例中,系统主板908可以包括一个或多个存储器控制器,以提供连接到系统内存904的接口。系统内存904可以用于加载以及存储数据和/或指令。在一些实施例中电子设备900的系统内存904可以包括任意合适的易失性存储器,例如合适的动态随机存取存储器(DRAM)。
NVM 906可以包括用于存储数据和/或指令的一个或多个有形的、非暂时性的计算机可读介质。在一些实施例中,NVM 906可以包括闪存等任意合适的非易失性存储器和/或任意合适的非易失性存储设备,例如HDD(Hard Disk Drive,硬盘驱动器)、CD(CompactDisc,光盘)驱动器、DVD(Digital Versatile Disc,数字通用光盘)驱动器中的至少一个。
NVM 906可以包括安装在电子设备900的装置上的一部分存储资源,或者它可以由设备访问,但不一定是设备的一部分。例如,可以经由网络接口910通过网络访问NVM 906。
特别地,系统内存904和NVM 906可以分别包括:指令920的暂时副本和永久副本。指令920可以包括:由处理器902中的至少一个执行时导致电子设备900实施如图1-图8所示的方法的指令。在一些实施例中,指令920、硬件、固件和/或其软件组件可另外地/替代地置于系统主板908、网络接口910和/或处理器902中。
网络接口910可以包括收发器,用于为电子设备900提供无线电接口,进而通过一个或多个网络与任意其他合适的设备(例如,前端模块、天线等)进行通信。在一些实施例中,网络接口910可以集成于电子设备900的其他组件。例如,网络接口910可以集成于处理器902、系统内存904、NVM 906、和具有指令的固件设备(未示出)中的至少一种,当处理器902中的至少一个执行所述指令时,电子设备900实现图1-图8所示的各种实施例的一个或多个实施例。
网络接口910可以进一步包括任意合适的硬件和/或固件,以提供多输入多输出无线电接口。例如,网络接口910可以是网络适配器、无线网络适配器、电话调制解调器和/或无线调制解调器。
在一个实施例中,处理器902中的至少一个可以与用于系统主板908的一个或多个控制器封装在一起,以形成系统封装(SiP)。在一个实施例中,处理器902中的至少一个可以与用于系统主板908的一个或多个控制器集成在同一管芯上,以形成片上系统(SoC)。
电子设备900可以进一步包括:输入/输出(I/O)设备912,与系统主板908连接。I/O设备912可以包括用户界面,使得用户能够与电子设备900进行交互;外围组件接口的设计使得外围组件也能够与电子设备900交互。在一些实施例中,电子设备900还包括传感器,用于确定与电子设备900相关的环境条件和位置信息的至少一种。
在一些实施例中,I/O设备912可包括但不限于显示器(例如,液晶显示器、触摸屏显示器等)、扬声器、麦克风、一个或多个相机(例如,静止图像照相机和/或摄像机)、手电筒(例如,发光二极管闪光灯)和键盘。
在一些实施例中,外围组件接口可以包括但不限于非易失性存储器端口、音频插孔和电源接口。
在一些实施例中,传感器可包括但不限于陀螺仪传感器、加速度计、近程传感器、环境光线传感器和定位单元。定位单元还可以是网络接口910的一部分或与网络接口910交互,以与定位网络的组件(例如,全球定位系统(GPS)卫星)进行通信。
可以理解的是,本发明实施例示意的结构并不构成对电子设备900的具体限定。在本申请另一些实施例中,电子设备900可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件、或软件和硬件的组合实现。
可将程序代码应用于输入指令,以执行本发明描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,包括处理器902的用于处理指令的系统包括具有诸如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本发明中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
至少一个实施例的一个或多个方面可以由存储在计算机可读存储介质上的指令来实现,指令在被处理器读取并执行时使得电子设备能够实现本发明中所描述的实施例的方法。
根据本申请的一些实施例,公开了一种计算机存储介质,在该计算机存储介质上存储有指令,当该指令在计算机上运行时,使得该计算机执行上述实施例的任意一种可能的方法。
根据本申请的一些实施例,公开了一种计算机程序产品,包括计算机可执行指令,该指令被处理器执行以实施上述实施例的任意一种可能的方法。
可以理解的是,此处描述的具体实施例仅仅是为了解释本申请,而非对本申请的限定。此外,为了便于描述,附图中仅示出了与本申请相关的部分而非全部的结构或过程。应注意的是,在本说明书中,相似的标号和字母在附图中表示类似项。
应当理解的是,虽然在本文中可能使用了术语“第一”、“第二”等等来描述各个特征,但是这些特征不应当受这些术语限制。使用这些术语仅仅是为了进行区分,而不能理解为指示或暗示相对重要性。举例来说,在不背离示例性实施例的范围的情况下,第一特征可以被称为第二特征,并且类似地第二特征可以被称为第一特征。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语 “连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本实施例中的具体含义。
本申请的说明性实施例包括但不限于分布式数据处理方法、装置、设备、介质和计算机程序产品。
使用本领域技术人员通常采用的术语来描述说明性实施例的各个方面,以将他们工作的实质传达给本领域其他技术人员。然而,对于本领域技术人员来说,使用部分所描述的特征来施行一些替代性实施例是显而易见的。出于解释的目的,阐述了具体的数字和配置,以便对说明性实施例进行更加透彻的理解。然而,对于本领域技术人员来说显而易见的是,可以在没有具体细节的情况下实施替代实施例。在一些其他情况下,本文省略或简化了一些众所周知的特征,以避免使本申请的说明性实施例模糊不清。
此外,各种操作将以最有助于理解说明性实施例的方式被描述为多个彼此分离的操作;然而,描述的顺序不应被解释为暗示这些操作必须依赖描述的顺序,其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序也可以被重新安排。当所描述的操作完成时,所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用表示所描述的实施例可以包括特定特征、结构或性质,但是每个实施例也可能或不是必需包括特定的特征、结构或性质。而且,这些短语不一定是针对同一实施例。此外,当结合具体实施例描述特定特征,本领域技术人员的知识能够影响到这些特征与其他实施例的结合,无论这些实施例是否被明确描述。
除非上下文另有规定,否则术语“包含”、“具有”和“包括”是同义词。短语“A和/或B”表示“(A)、(B)或(A和B)”。
如本文所使用的,术语“模块”可以指代,作为其中的一部分,或者包括:用于运行一个或多个软件或固件程序的存储器(共享、专用或组)、专用集成电路(ASIC)、电子电路和/或处理器(共享、专用或组)、组合逻辑电路、和/或提供所述功能的其他合适组件。
在附图中,可能以特定布置和/或顺序示出了一些结构或方法特征。然而,应当理解的是,这样的特定布置和/或排序不是必需的。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来进行说明。另外,特定附图中所包含得结构或方法特征并不意味着所有实施例都需要包含这样的特征,在一些实施例中,可以不包含这些特征或者可以与将这些特征与其他特征进行组合。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合形式来实现。所公开的实施例还可以以承载或储存在一个或多个瞬态或非瞬态的机器可读(例如,计算机可读)存储介质上的指令或程序形式实现,其可以由一个或多个处理器等读取和执行。当指令或程序被机器运行时,机器可以执行前述的各种方法。例如,指令可以通过网络或其他计算机可读介质分发。因此,机器可读介质可以包括但不限于,用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,例如,软盘,光盘,光盘只读存储器(CD-ROMs),磁光盘,只读存储器(ROM),随机存取存储器(RAM),可擦除可编程只读存储器(EPROM),电子式可清除程序化只读存储器(EEPROM),磁卡或光卡,或者用于通过电、光、声或其他形式信号(例如,载波、红外信号、数字信号等)传输网络信息的闪存或有形的机器可读存储器。因此,机器可读介质包括任何形式的适合于存储或传输电子指令或机器(例如,计算机)可读信息的机器可读介质。
上面结合附图对本申请的实施例做了详细说明,但本申请技术方案的使用不仅仅局限于本申请实施例中提及的各种应用,各种结构和变型都可以参考本申请技术方案轻易地实施,以达到本文中提及的各种有益效果。在本领域普通技术人员所具备的知识范围内,在不脱离本申请宗旨的前提下做出的各种变化,均应归属于本申请专利涵盖范围。
Claims (13)
1.一种分布式数据处理方法,用于分布式存储系统中的电子设备,其特征在于,所述分布式存储系统还包括多个段单元,所述段单元包括主段单元、非主段单元,其中:
响应于接收到数据读请求,将相应的读请求数据发送给所有所述主段单元,将第一消息发送给所有所述非主段单元;其中,所述主段单元响应于接收到所述读请求数据,返回相应的读出数据,所述非主段单元响应于接收到所述第一消息,返回第二消息;
接收来自所述主段单元的所述读出数据和来自所述非主段单元的所述第二消息,基于接收到的所述读出数据和所述第二消息,根据第一预定规则,确定数据读是否成功。
2.根据权利要求1所述的方法,其特征在于,所述第一预定规则包括:
接收到来自所述主段单元的所述读出数据,并且接收到来自所述主段单元的所述读出数据的数量、加上接收到来自所述非主段单元的所述第二消息的数量超过第一预定阈值的情况下,则确定数据读成功。
3.根据权利要求2所述的方法,其特征在于,所述第一预定阈值为所述段单元的总数量的一半。
4.根据权利要求1所述的方法,其特征在于,所述非主段单元包括从段单元和空白段单元。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于接收到数据写请求,将相应的写请求数据发送给所述空白段单元以外的所有非空白段单元,将第三消息发送给所有所述空白段单元;其中,所述非空白段单元响应于接收到所述写请求数据,进行相应的数据写操作并返回相应的写操作结果,所述空白段单元响应于接收到所述第三消息,返回第四消息;
接收来自所述非空白段单元的所述写操作结果和来自所述空白段单元的所述第四消息,基于接收到的所述写操作结果和所述第四消息,根据第二预定规则,确定数据写是否成功。
6.根据权利要求5所述的方法,其特征在于,所述第二预定规则包括:
接收到至少一个来自所述非空白段单元的正常的所述写操作结果,并且接收到来自所述非空白段单元的正常的所述写操作结果的数量、加上接收到来自所述空白段单元的所述第四消息的数量超过第二预定阈值的情况下,则确定数据写成功。
7.根据权利要求6所述的方法,其特征在于,所述第二预定阈值为所述段单元的总数量的一半。
8.根据权利要求5所述的方法,其特征在于,所述第一消息和所述第三消息包括所有所述段单元的段单元信息。
9.根据权利要求8所述的方法,其特征在于,所述非主段单元响应于接收到所述第一消息,返回第二消息,包括:
所述非主段单元响应于接收到所述段单元信息,对所述段单元信息进行确认,并返回确认结果,其中,确认所述段单元信息正确的所述确认结果为所述第二消息。
10.根据权利要求8所述的方法,其特征在于,所述空白段单元响应于接收到所述第三消息,返回第四消息,包括:
所述空白段单元响应于接收到所述段单元信息,对所述段单元信息进行确认,并返回确认结果,其中,确认所述段单元信息正确的所述确认结果为所述第四消息。
11.一种分布式数据处理装置,用于分布式存储系统,其特征在于,所述分布式存储系统包括多个段单元,所述段单元包括主段单元、非主段单元;
所述分布式数据处理装置包括第一接收模块、发送模块、第二接收模块、确定模块,其中:
所述第一接收模块接收到数据读请求;
所述发送模块将相应的读请求数据发送给所有所述主段单元,将第一消息发送给所有所述非主段单元;其中,所述主段单元响应于接收到所述读请求数据,返回相应的读出数据,所述非主段单元响应于接收到所述第一消息,返回第二消息;
所述第二接收模块接收来自所述主段单元的所述读出数据和来自所述非主段单元的所述第二消息;
所述确定模块基于接收到的所述读出数据和所述第二消息,根据第一预定规则,确定数据读是否成功。
12.一种电子设备,其特征在于,所述电子设备包括存储有计算机可执行指令的存储器和处理器,当所述指令被所述处理器执行时,使得所述电子设备实施根据权利要求1-10中任一项所述的分布式数据处理方法。
13.一种计算机存储介质,其特征在于,在所述计算机存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行根据权利要求1-10中任一项所述的分布式数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211609020.XA CN115599316B (zh) | 2022-12-15 | 2022-12-15 | 分布式数据处理方法、装置、设备、介质和计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211609020.XA CN115599316B (zh) | 2022-12-15 | 2022-12-15 | 分布式数据处理方法、装置、设备、介质和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115599316A CN115599316A (zh) | 2023-01-13 |
CN115599316B true CN115599316B (zh) | 2023-03-21 |
Family
ID=84853989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211609020.XA Active CN115599316B (zh) | 2022-12-15 | 2022-12-15 | 分布式数据处理方法、装置、设备、介质和计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115599316B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992219A (zh) * | 2019-04-11 | 2019-07-09 | 深信服科技股份有限公司 | 分布式存储方法、装置、设备及计算机可读存储介质 |
CN111708494A (zh) * | 2020-06-17 | 2020-09-25 | 浪潮云信息技术股份公司 | 一种分布式存储qos的实现方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5500257B2 (ja) * | 2010-09-30 | 2014-05-21 | 日本電気株式会社 | ストレージシステム |
CN102799394B (zh) * | 2012-06-29 | 2015-02-25 | 华为技术有限公司 | 一种实现高可用集群的心跳服务的方法及装置 |
CN105528202B (zh) * | 2014-10-22 | 2021-01-26 | 中兴通讯股份有限公司 | 多控制器系统的资源处理方法及装置 |
CN105893176B (zh) * | 2016-03-28 | 2019-02-26 | 杭州宏杉科技股份有限公司 | 一种网络存储系统的管理方法和装置 |
US10503427B2 (en) * | 2017-03-10 | 2019-12-10 | Pure Storage, Inc. | Synchronously replicating datasets and other managed objects to cloud-based storage systems |
US11128578B2 (en) * | 2018-05-21 | 2021-09-21 | Pure Storage, Inc. | Switching between mediator services for a storage system |
CN111596868B (zh) * | 2020-07-24 | 2020-10-09 | 南京鹏云网络科技有限公司 | 基于段单元的分布式存储系统的负载均衡方法和系统 |
CN112256202B (zh) * | 2020-10-23 | 2023-09-26 | 南京鹏云网络科技有限公司 | 一种分布式存储系统和分布式存储系统中卷的删除方法 |
-
2022
- 2022-12-15 CN CN202211609020.XA patent/CN115599316B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992219A (zh) * | 2019-04-11 | 2019-07-09 | 深信服科技股份有限公司 | 分布式存储方法、装置、设备及计算机可读存储介质 |
CN111708494A (zh) * | 2020-06-17 | 2020-09-25 | 浪潮云信息技术股份公司 | 一种分布式存储qos的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115599316A (zh) | 2023-01-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11614867B2 (en) | Distributed storage system-based data processing method and storage device | |
US8156376B2 (en) | Method, device and system for storing data in cache in case of power failure | |
US8856585B2 (en) | Hardware failure mitigation | |
CN107861691B (zh) | 一种多控存储系统的负载均衡方法和装置 | |
CN102355369A (zh) | 虚拟化集群系统及其处理方法和设备 | |
CN105573872B (zh) | 数据存储系统的硬盘维护方法和装置 | |
US20190317861A1 (en) | High availability state machine and recovery | |
CN115599316B (zh) | 分布式数据处理方法、装置、设备、介质和计算机程序产品 | |
US9547497B2 (en) | Sharing embedded hardware resources | |
CN116185571B (zh) | 数据迁移方法、设备、存储介质及装置 | |
CN105205160A (zh) | 一种数据写入方法及装置 | |
CN115686922A (zh) | 用于分布式存储系统的异常检测方法和装置 | |
CN115378799B (zh) | 基于PaxosLease算法的设备集群中的选举方法及装置 | |
CN114064343B (zh) | 一种区块链的异常处置方法及装置 | |
CN108845772B (zh) | 一种硬盘故障处理方法、系统、设备及计算机存储介质 | |
CN113596195B (zh) | 公共ip地址管理方法、装置、主节点及存储介质 | |
CN108268210B (zh) | 一种信息处理方法、计算节点及存储节点 | |
CN116382839A (zh) | 虚拟机的状态检测方法、装置、电子设备及存储介质 | |
US20160147458A1 (en) | Computing system with heterogeneous storage and method of operation thereof | |
CN113051143A (zh) | 服务负载均衡服务器的探测方法、装置、设备和存储介质 | |
CN109086179B (zh) | 一种程序异常情况下的处理方法和装置 | |
CN114489464A (zh) | 数据写入方法、装置和电子设备 | |
JP5464449B2 (ja) | 障害によるリブートを考慮した処理部間の不整合検出方法並びに共有装置及びクラスタシステム | |
CN111367885A (zh) | 数据库管理系统、方法、存储介质及电子设备 | |
CN110825487B (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 |