CN116319623A - 元数据处理方法、装置、电子设备及存储介质 - Google Patents
元数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116319623A CN116319623A CN202310274483.3A CN202310274483A CN116319623A CN 116319623 A CN116319623 A CN 116319623A CN 202310274483 A CN202310274483 A CN 202310274483A CN 116319623 A CN116319623 A CN 116319623A
- Authority
- CN
- China
- Prior art keywords
- metadata
- server cluster
- preset
- processing method
- cluster
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 8
- 238000013508 migration Methods 0.000 claims description 7
- 230000005012 migration Effects 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 36
- 238000012217 deletion Methods 0.000 description 14
- 230000037430 deletion Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 6
- 238000011084 recovery Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000009792 diffusion process Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 235000019580 granularity Nutrition 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- 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/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- 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
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种元数据处理方法、装置、电子设备及存储介质,涉及人工智能技术领域,尤其涉及云计算领域、云存储领域和云数据库技术领域。具体实现方案为:获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;响应于第一元数据写入第二服务器集群,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及云计算领域、云存储领域和云数据库技术领域中的一种元数据处理方法、装置、电子设备及存储介质。
背景技术
随着云计算的普及,数据存储云端化成为主流选择。目前,为了提升云端对象存储系统存储元数据时的写容错能力,一般采用两种方法,一种是将在集群故障期间写入的数据转写入消息队列中,但存在写入的数据长时间读不到以及消息队列数据滞后的问题。另一种是在数据单机写入出现故障时通过冗余硬件实现数据写入,但存在硬件资源浪费和无法实现分布式系统下的数据一致性的问题。
发明内容
本公开提供了一种元数据处理方法、装置、电子设备及存储介质,以至少解决对象存储系统写容错能力低、硬件成本高以及分布式系统下数据不统一的技术问题。
根据本公开的一方面,提供了一种元数据处理方法,包括:获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;响应于第一元数据写入第二服务器集群,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
根据本公开的又一方面,提供了一种元数据处理装置,包括:获取模块,用于获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;写入模块,用于响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;处理模块,用于响应于第一元数据写入第二服务器集群,按照预设重试方式将所述第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
根据本公开的又一方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提出的元数据处理方法。
根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提出的元数据处理方法。
根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行本公开提出的元数据处理方法。
在本公开中,通过使分布式系统下的集群互为主备集群,在主集群故障时将数据写入至备集群中进行存储,并在将数据写入至备集群后,不断尝试将写入至备集群中的数据搬迁回主集群,直至搬迁成功的方案,达到了高效处理大规模分布式集群中元数据写失败的目的,支持不同资源粒度的元数据写容错,确保元数据的可用性和安全性,实现了集群故障自动恢复,分布式系统的数据统一的技术效果,并且无硬件定制成本,不需要单独建设备用集群,降低了额外的硬件成本,进而解决了对象存储系统写容错能力低、硬件成本高以及分布式系统下数据不统一技术问题。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开实施例的一种用于实现元数据处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本公开实施例的一种元数据处理方法流程图;
图3是根据本公开实施例的另一种元数据处理方法流程图;
图4是根据本公开实施例的服务器集群的关系示意图;
图5是根据本公开实施例的另一种元数据处理方法流程图;
图6是根据本公开实施例的一种元数据处理装置的结构框图。
具体实施方式
为了便于理解,示例性地给出了部分与本公开实施例相关概念的说明以供参考。如下所示:
对象存储(Object Storage Service,OSS):也称为基于对象(Object)的存储,是一种解决和处理离散单元的方法,可提供基于分布式系统之上的对象形式的数据存储服务。其中,所有Object都必须属于某个桶(Bucket),Bucket是存放数据的容器,可以当成是存储桶。Bucket具有区域属性,只能位于一个区域,且Bucket名称具有全局唯一性,每个Bucket中存放的Object的数量和大小总和没有限制。在本公开实施例中,主用服务器和备用服务器集群共用同一个Bucket。
元数据(Metadata):用于描述数据的数据,对数据及信息资源的描述性信息,可以理解为描述信息资源或数据等对象的数据。
服务器集群(Cluster):可以理解为将多台服务器通过快速通信链路连接到一起,使多台服务器能够像一台机器那样工作或者看起来好像一台机器,从而提高系统的稳定性以及数据处理能力。
一致性哈希:指将存储节点和数据都映射到一个首尾相连的哈希环上,如果增加或者移除一个节点,仅影响该节点在哈希环上顺时针相邻的后继节点,其它数据不会受到影响。
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对象存储系统可以保存任意数量和形式的非结构化数据,支持标准、低频、冷和归档存储等多种存储类型,已经成为了解决企业数据存储规模扩容问题的主流选择。由于海量数据的上云需求以及急速膨胀的元数据存储压力,对象存储系统中的节点数量在不断扩大,进而对象存储系统的硬件故障概率也在不断增加。面对元数据的高频读写压力,如何确保对象存储系统的稳定性和可用性是云存储领域中的一个重要研究方向。
目前,云端对象存储系统存储元数据时的写容错方案包括两种,一种是基于消息队列的异步容错方案,将在集群故障期间写入的数据转写入消息队列中,但是在高读写压力下发生故障时,该方案存在消息队列资源扩容不可控,写入的数据长时间读不到,消息同步时延高以及消息队列数据滞后性大等问题。另一种是基于硬件定制的方案,在数据单机写入出现故障时通过冗余硬件实现数据写入,但该方案只适用于单机级别的数据写入,若在分布式系统集群中多点故障场景下,则会无法实现数据一致性,且成本较高的问题。
针对上述技术问题,本公开采用分布式对象存储系统,设置多个服务器集群存储元数据,将不同集群互为主备集群。在主集群存储元数据发生故障时,将元数据存储至备集群中,并通过不断尝试将备集群中数据搬迁至主集群的方式将主备集群中的数据进行合并,从而保证数据一致性。本公开的方案可以应用在智能云场景下,相比于目前存在的两种写容错方案,本公开的方案具有成本低且通用性高的优点,能够有效提高对象存储系统的写容错能力,保证分布式系统下数据的一致性,确保元数据的可用性,且提高了故障容错速度以及故障恢复速度。
根据本公开实施例,提供了一种元数据处理方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本公开实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的电子设备中执行。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。图1示出了一种用于实现元数据处理方法的计算机终端(或移动设备)的硬件结构框图。
如图1所示,计算机终端100包括计算单元101,其可以根据存储在只读存储器(ROM)102中的计算机程序或者从存储单元108加载到随机访问存储器(RAM)103中的计算机程序,来执行各种适当的动作和处理。在RAM 103中,还可存储计算机终端100操作所需的各种程序和数据。计算单元101、ROM 102以及RAM 103通过总线104彼此相连。输入/输出(I/O)接口105也连接至总线104。
计算机终端100中的多个部件连接至I/O接口105,包括:输入单元106,例如键盘、鼠标等;输出单元107,例如各种类型的显示器、扬声器等;存储单元108,例如磁盘、光盘等;以及通信单元109,例如网卡、调制解调器、无线通信收发机等。通信单元109允许计算机终端100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元101的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元101执行本文所描述的元数据处理方法。例如,在一些实施例中,元数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元108。在一些实施例中,计算机程序的部分或者全部可以经由ROM102和/或通信单元109而被载入和/或安装到计算机终端100上。当计算机程序加载到RAM103并由计算单元101执行时,可以执行本文描述的元数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行元数据处理方法。
本文中描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
此处需要说明的是,在一些可选实施例中,上述图1所示的电子设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述电子设备中的部件的类型。
在上述运行环境下,本公开提供了如图2所示的元数据处理方法,该方法可以由图1所示的计算机终端或者类似的电子设备执行。图2是根据本公开实施例提供的一种元数据处理方法流程图。如图2所示,该方法可以包括如下步骤:
步骤S20,获取第一元数据。
其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群。
在步骤S20中,预先设置了用于存储对象元数据的主用服务器集群,即第一服务器集群,并获取待存储至该第一服务器集群中的第一元数据。
在本公开实施例中,第一服务器集群为用于存储对象元数据的主用服务器集群,可以理解为对元数据进行存储时,会优先选择存储至第一服务器集群中。目标对象可以理解为对象存储中待进行存储的对象,即待写入至第一服务器集群中的对象,目标对象可以为数据或其他,本公开不予限制。第一元数据为目标对象的元数据,即用于描述目标对象的数据。
本公开实施例可以应用在智能云场景下,通过预先设置用于存储对象元数据的主用服务器集群,即第一服务器集群,在进行对象存储时,先获取待写入至该第一服务器集群中的目标对象的第一元数据,之后可以将该第一元数据写入至第一服务器集群,从而使第一元数据存储至第一服务器集群。
步骤S21,响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群。
其中,第二服务器集群为存储对象元数据的备用服务器集群。
获取第一元数据之后,可以将第一元数据写入至第一服务器集群进行存储。若在元数据写入过程中第一服务器集群发生故障,则可以将第一元数据写入至预先设置的用于存储对象元数据的备用服务器集群,即第二服务器集群。
服务器集群发生故障会导致数据写入服务器集群时出现写失败的情况,即数据无法成功写入至服务器集群,进而可能会导致数据丢失或数据出错,无法保证数据的安全性。因此,在本公开实施例中,会预先设置用于存储对象元数据的备用服务器集群,当确定用于存储对象元数据的主用服务器集群发生故障,出现写失败的情况时,将元数据写入至备用服务器集群进行存储,从而避免数据丢失,确保数据安全,提高写容错能力。
在本公开实施例中,可以预先设置多个服务器集群,多个服务器集群彼此之间互为主用服务器集群和备用服务器集群。在主用服务器集群出现故障时,将元数据写入至备用服务器集群,由备用服务器集群存储该主用服务器集群中待写入的元数据,从而避免数据丢失,确保数据安全。
可以理解的是,备用服务器集群可以为一个或多个。若主用服务器集群A出现了写失败的情况,则将元数据写入备用服务器集群B中,若备用服务器集群B也出现了写失败的情况,则可以将元数据写入备用服务器集群C中,以此确保元数据的安全性。
步骤S22,响应于第一元数据写入第二服务器集群,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群。
其中,预设重试方式用于确定搬迁第一元数据的重试延时。
在确定第一元数据写入至第二服务器集群后,按照预设重试的方式将第一元数据尝试从第二服务器集群中搬迁至第一服务器集群中,直到成功将第一元数据搬迁至第一服务器集群。也即,在确定第一元数据写入至备用服务器集群后,就立刻尝试将备用服务器集群中的第一元数据搬迁回主用服务器集群中,直到将第一元数据成功搬迁至主用服务器集群。
在本公开实施例中,预设重试方式可以为指数级退避重试方式,即对于连续错误响应,重试等待时间间隔越长,从而防止在重试过程中持续不断的发生冲突。示例性地,在尝试将第一元数据搬迁至第一服务器集群的过程中,若第一次尝试搬迁失败,则间隔0.1秒进行第二次尝试搬迁,若第二次尝试搬迁失败,则间隔0.2秒进行第三次尝试搬迁,以此类推,直至搬迁成功,从而可以防止在搬迁过程中持续出现错误。可以理解的是,预设重试方式还可以为其他重试方式,例如根据预设时间间隔重试,本公开不予限制。
重试延时可以理解为进行第一元数据搬迁的搬迁时间间隔,即相邻两次搬迁之间的时间间隔。可以看出,根据预设重试方式能够确定出搬迁第一元数据的重试延时,从而根据重试延时确定第一元数据的搬迁时间并进行第一元数据的搬迁。
在本公开实施例中,通过尝试将第一元数据搬迁至主用服务器集群,可以判断该主用服务器集群是否恢复正常,即是否能够将元数据成功写入至主用服务器集群。示例性地,在确定第一元数据写入至备用服务器集群后,可以立刻开始搬迁操作,尝试将第一元数据搬迁至主用服务器集群,从而能够及时确定主用服务器恢复正常。
第一元数据成功搬迁至主用服务器集群即表示主用服务器集群已恢复正常,同时将第一元数据成功搬迁至主用服务器集群也能够确保数据的一致性,进而提高写容错能力,提高数据的安全性,实现集群故障自动恢复的技术效果。
可以理解的是,第一元数据从第二服务器集群成功搬迁至第一服务器集群后,即第一服务器集群恢复正常后,后续元数据的写入操作就会正常写入至主用服务器集群,无需写入至第二服务器集群。此时,第二服务器集群中存储的第一元数据可读,且等待执行第一元数据的搬迁操作。
图3是根据本公开实施例的另一种元数据处理方法流程图,如图3所示,该方案可应用在智能云场景下,基于分布式对象存储系统,不同服务器集群互为主用服务器集群和备用服务器集群。图3中以第一服务器集群为主用服务器集群,第二服务器集群为备用服务器集群为例,在对第一元数据进行存储时,可以将第一元数据写入至第一服务器集群,在第一服务器集群中存储第一元数据。当第一服务器集群发生故障时,为了避免数据丢失,可以将第一元数据写入至第二服务器集群,在第二服务器集群中存储第一元数据。同时在确定第一元数据写入至第二服务器集群后,即确定第二服务器集群中包括第一元数据后,将第一元数据尝试搬迁至第一服务器集群,直至搬迁成功,以此及时确定第一服务器集群恢复正常,实现集群故障自动恢复的技术效果。同时还能确保分布式系统的数据一致,提高数据的安全性,提高了分布式对象存储系统的写容错能力和鲁棒性。
根据本公开上述步骤S20至步骤S22,步骤S20至步骤S22可由服务端执行。通过使分布式系统下的集群互为主备集群,在主集群故障时将数据写入至备集群中进行存储,并在将数据写入至备集群后,不断尝试将写入至备集群中的数据搬迁回主集群,直至搬迁成功的方案,达到了高效处理大规模分布式集群中元数据写失败的目的,支持不同资源粒度的元数据写容错,确保元数据的可用性和安全性,实现了集群故障自动恢复,分布式系统的数据统一的技术效果,并且无硬件定制成本,不需要单独建设备用集群,降低了额外的硬件成本,进而解决了对象存储系统写容错能力低、硬件成本高以及分布式系统下数据不统一技术问题。
下面对该实施例的上述方法进行进一步地详细介绍。
作为一种可选的实施方式,确定第一服务器集群发生故障可以包括以下执行步骤:重复尝试将第一元数据写入第一服务器集群,并记录尝试次数;响应于尝试次数达到预设阈值,确定第一服务器集群发生故障。
在确定第一服务器发生故障时,可以通过重复尝试将第一元数据写入至第一服务器,在连续预设次数尝试将第一元数据写入至第一服务器均出现写失败的情况时,可以认为第一服务器发生故障。
在本公开实施例中,在尝试将第一元数据写入第一服务器集群时,可以通过记录尝试次数,当尝试次数达到预设阈值时即确定第一服务器发生故障。示例性地,预设阈值可以设置为三次,即连续三次重复尝试将第一元数据写入第一服务器集群均出现写失败的情况,即确定该第一服务器集群发生故障。
在本公开实施例中,考虑到存在其他因素导致主用服务器集群(即第一服务器集群)暂时出现故障的情况,在该情况下主用服务器集群能够快速恢复,无需将数据写入至备用服务器集群。因此通过设置预设阈值,当尝试次数达到预设阈值才确定主用服务器集群发生故障,进而将数据写入至备用服务器集群进行存储,可以避免对主用服务器的故障判断失误的情况。
作为一种可选的实施方式,该方法还包括:响应于第一元数据成功写入至第二服务器集群,将预设存储空间的工作状态由正常状态调整为容错状态,其中,预设存储空间用于承载多个对象,多个对象包括:目标对象。
在第一服务器集群出现故障,第一元数据成功写入至第二服务器集群后,对用于承载目标对象的预设存储空间的工作状态进行更新,将预设存储空间的工作状态由正常状态调整为容错状态,用来表示当前预设存储空间用于承载的目标对象的元数据被写入至备用的第二服务器集群中。
预设存储空间可以为桶(Bucket),Bucket为用于存放Object的容器,Bucket能够承载的Object的数量不予限制,Bucket承载的Object中即包括上述目标对象。可以理解的是,将第一元数据写入至第一服务器集群或第二服务器集群本质上都是由Bucket对第一元数据进行存储,即由Bucket存储目标对象的元数据。
本公开实施例中,第一服务器集群和第二服务器集群共用同一个Bucket。当第一服务器集群发生故障,将第一元数据成功写入至第二服务器集群后,通过对Bucket的工作状态进行更新,将Bucket的工作状态由正常状态调整为容错状态,从而表示第一服务器集群发生故障,此时的第一元数据被写入至第二服务器集群。
本公开实施例中,通过更新预设存储空间的工作状态,从而能够确定主用服务器集群是否出现故障,以及能够确定元数据当前被写入至哪个服务器集群中。示例性地,当预设存储空间的工作状态处于正常状态时,可以确定出当前主用服务器集群正常,元数据正常写入至主用服务器集群。当预设存储空间的工作状态处于容错状态时,可以确定出当前主用服务器集群出现故障,元数据被写入至备用服务器集群。
作为一种可选的实施方式,该方法还包括:响应于第一元数据从第二服务器集群成功搬迁至第一服务器集群,按照预设更新策略对第一元数据与第二元数据进行合并更新,其中,第二元数据为第一服务器集群本地已经存储的目标对象的元数据;响应于第一元数据与第二元数据完成合并更新,将预设存储空间的工作状态由容错状态调整为正常状态。
在第一服务器集群恢复正常,第一元数据从第二服务器集群成功搬迁至第一服务器集群后,可以根据预设更新策略对第一元数据与第一服务器集群中已经存储的目标对象的第二元数据进行合并更新。在完成元数据的合并更新后,将预设存储空间的工作状态由容错状态调整为正常状态。
第二元数据可以理解为在第一服务器集群出现故障前已经写入至第一服务器集群的目标对象的元数据,由于在第一服务器集群出现故障期间,待写入至第一服务器集群的第一元数据可能会对第二元数据进行更新,因此在将第一元数据搬迁至第一服务器集群后,还需要按照预设更新策略对第一元数据与第二元数据进行合并更新,从而确保元数据的准确性以及数据一致性。
可选地,对数据进行合并更新可以包括对已有数据的数值进行更新,或对已有数据进行删除,又或者增加数据,本公开不予限制。
可选地,预设更新策略可以根据元数据的写入时间确定,例如按照最新写入时间对元数据进行合并更新。示例性地,若在第一时刻写入第二元数据时(写入至主用服务器集群)对A执行了+1操作,使得A=3,在第二时刻写入第一元数据时(写入至备用服务器集群)又对A执行了+1操作,使得A=4,且第二时刻晚于第一时刻。根据元数据的写入时间可以确定出第二时刻为最新写入时间,则在对第一元数据与第二元数据进行合并更新时,将A的值确定更新为4。此外,预设更新策略还可以根据不同的场景进行更改,例如在某些特殊场景下,预设更新策略可以根据元数据的数值大小进行确定,本公开不予限制。
在将第一元数据与第二元数据进行合并更新后,第一服务器集群中存储的元数据已完成更新,为最新值,且第一服务器集群已恢复正常,因此还需要对预设存储空间的工作状态进行更新,将预设存储空间的工作状态由容错状态调整为正常状态,以表示第一服务器集群已恢复正常,第一服务器集群能够正常进行读写删操作。
由此,通过将第一服务器集群已存储的第二元数据与搬迁至第一服务器集群的第一元数据进行合并更新,使得第一服务器集群中存储的元数据为最新值,确保了元数据的准确性,同时确保了数据一致性。此外,通过更新预设存储空间的工作状态,将预设存储空间的工作状态调整为正常状态,能够确定出当前主用服务器集群恢复正常。
作为一种可选的实施方式,该方法还包括:采用预设数据传输协议将预设存储空间的工作状态扩散至整个服务器集群,其中,整个服务器集群包括:第一服务器集群和第二服务器集群。
在对预设存储空间的工作状态进行更新调整后,还可以采用预设数据传输协议将预设存储空间的工作状态扩散至整个服务器集群,从而进一步确保整个服务器集群的数据一致性。
预设数据传输协议可以为一致性协议,例如Gossip协议,用于将预设存储空间的工作状态快速扩散至整个服务器集群,使整个服务器集群同步知晓预设存储空间的工作状态,确保数据一致性。
图4是根据本公开实施例的服务器集群的关系示意图,如图4所示,整个服务器集群中包括多个服务器集群,例如第一服务器集群、第二服务器集群和第N服务器集群等,该多个服务器集群共用同一个预设存储空间,可以理解为预设存储空间中的不同对象可能承载在不同服务器集群中。此外,整个服务器集群中还包括协议扩散模块,用于将预设存储空间的工作状态扩散至整个服务器集群。在对预设存储空间的工作状态进行调整后,即预设存储空间的工作状态出现变化后,协议扩散模块会根据预设数据传输协议将预设存储空间的工作状态扩散至整个服务器集群,使得整个服务器集群同步知晓预设存储空间的工作状态,确保数据一致性。
作为一种可选的实施方式,在步骤S22中,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群包括:按照预设重试方式,先将第一元数据从第二服务器集群搬迁至第三服务器集群,再将第一元数据从第三服务器集群搬迁至第一服务器集群,其中,第三服务器集群为采用预设负载均衡方式部署的失效转移服务器集群。
在按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群时,可以预先设置一个采用预设负载均衡方式部署的失效转移服务器集群,在进行数据搬迁时,按照预设重试方式,先将第一元数据从第二服务器集群搬迁至第三服务器集群,即该失效转移服务器集群,再将第一元数据从第三服务器集群搬迁至第一服务器集群,以此完成搬迁操作。
预设负载均衡方式可以为一致性哈希方式,即第三服务器集群为采用一致性哈希方式部署的用于进行失效转移的服务器集群。由于基于一致性哈希方式部署时,服务器集群中的多个服务器会以存储节点的形式映射在哈希环上,而对象元数据也会以数据的形式映射在哈希环上,即使出现部分服务器异常导致服务器数量发生变化的情况,也只会影响变化的节点在哈希环上顺时针相邻的后继节点以及部分元数据,不会导致大范围数据失效。因此,采用基于预设负载均衡方式部署的第三服务器集群作为失效转移服务器集群,能够在进行元数据搬迁操作时有效确保元数据的安全,提高元数据的可用性,即使在元数据搬迁过程中出现服务器故障的情况,也仅会影响部分元数据的存储,使得第三服务器集群有较好的容错性和可扩展性。
可以理解的是,由于整个服务器集群共用同一个预设存储空间,因此采用预设负载均衡方式部署的第三服务器集群用于承载整个服务器集群的元数据搬迁任务,以确保整个服务器集群在执行数据搬迁操作过程中的元数据的安全性。
示例性地,按照预设重试方式进行元数据搬迁时,先将第一元数据从备用服务器集群(即第二服务器集群)搬迁至失效转移服务器集群(即第三服务器集群),在失效转移服务器集群中第一元数据被映射在哈希环上,从而确保第一元数据的安全性,而后再将第一元数据从失效转移服务器集群搬迁至主用服务器集群(即第一服务器集群)。由此能够有效确保元数据的安全,提高元数据的可用性。
作为一种可选的实施方式,该方法还包括:在预设存储空间处于容错状态下,基于元数据读取请求从第一服务器集群读取第三元数据,以及从第二服务器集群读取第四元数据,其中,第三元数据与第四元数据为分别在第一服务器集群与第二服务器集群中对应存储的元数据;采用预设筛选策略从第三元数据与第四元数据中选取元数据读取请求对应的目标元数据。
在预设存储空间处于容错状态下,对元数据进行读操作时,可以从第一服务器集群读取第一服务器集群所存储的第三元数据,并从第二服务器集群读取第二服务器集群所存储的第四元数据,也即分别从主用服务器集群和备用服务器集群中读取两个服务器集群存储的待读取的元数据。之后,采用预设筛选策略从第三元数据与第四元数据中进行筛选,选取元数据读取请求对应的目标元数据。可选地,第三元数据和第四元数据可以为相同的目标对象的元数据,第三元数据和第四元数据的参数值可能存在不同。
由于元数据读取请求所要读取的元数据可能在第一服务器集群和第二服务器集群中均有存储,因此需要将两个服务器集群中存储的元数据都读取出来,按照一定规则选取需要的元数据,也即需要按照预设筛选策略选取目标元数据。
示例性地,以元数据读取请求要求读取元数据B的值为例,预设筛选策略可以包括三种策略,第一种是当主用服务器集群(即第一服务器集群)中存储有元数据B(即第三元数据),而备用服务器集群(即第二服务器集群)中未存储元数据B(即第四元数据)时,直接选取主用服务器集群中的元数据B作为目标元数据。第二种是当主用服务器集群未存储元数据B,而备用服务器集群中存储有元数据B时,直接选取备用服务器集群中的元数据B作为目标元数据。第三种是当主用服务器集群中存储有元数据B,且备用服务器集群中也存储有元数据B时,根据两个服务器集群中元数据B的写入时间确定目标元数据,例如可以将两个服务器集群中最新写入的元数据B作为目标元数据。此外,在第三种情况下也可以根据其他标准确定目标元数据,本公开不予限制。
可以看出,在预设存储空间处于容错状态下读取元数据时,也即在主用服务器集群发生故障时读取元数据,需要根据预设筛选策略选取主用服务器集群和备用服务器集群中该待读取的元数据的最新值进行读取,从而确保元数据的准确性。
可以理解的是,在预设存储空间处于正常状态下读取元数据时,也即在主用服务器集群恢复正常后读取元数据,仅需要读取主用服务器集群中对应的数据即可,因为恢复正常的主用服务器集群中的元数据已进行合并更新,为最新值。
作为一种可选的实施方式,该方法还包括:在预设存储空间处于容错状态下,基于元数据删除请求从第一服务器集群删除第五元数据,以及从第二服务器集群对第六元数据的属性信息进行更新,其中,第五元数据与第六元数据为分别在第一服务器集群与第二服务器集群中对应存储的元数据。
在预设存储空间处于容错状态下,对元数据进行删除操作时,可以从第一服务器集群删除待删除的第五元数据,以及从第二服务器集群对待删除的第六元数据的属性信息进行更新,也即删除主用服务器集群中待删除的数据,以及更新备用服务器集群中待删除的数据的属性信息。可选地,第五元数据和第六元数据可以为相同的目标对象的元数据,第五元数据和第六元数据的参数值可能存在不同。
每个服务器集群都对应一个表,该表用于记录元数据的读写删等操作,可以理解是,对服务器集群中存储的元数据进行的读写删等操作都会被记录在表中。可选地,表中的字段可以包括"bucket":,"bucket_id","object","type","content_type","etag","sha256","content_length","create_time","content_md5","cache_control","storage_class","modif ied_time",本公开不予限制。
当第一服务器集群出现故障时,元数据会被写入至第二服务器集群,此时若想对已写入至第二服务器集群中的元数据进行删除操作,则需要对第一服务器集群和第二服务器集群都执行相应的删除操作,以确保数据一致性。
不同的是,在对第一服务器集群执行删除操作时,需要将第一服务器集群中存储的待删除的元数据本身进行删除,而在对第二服务器集群执行删除操作时,则并不对待删除的元数据本身进行删除,仅需要在第二服务器集群对应的表中记录该删除操作以及删除时间,并更新该待删除的元数据的状态(status),将状态更新为已被删除即可。由此可以既能确保数据一致性,又能在后续通过表确定出数据的最新值,确保数据的安全性。
可选地,在基于元数据删除请求进行删除操作时,可以先更新备用服务器集群(即第二服务器集群)中的备表,再删除主用服务器集群(即第一服务器集群)中的数据,两边都执行成功才可返回该待删除的元数据成功删除的响应,由此确保数据一致性。
示例性地,在预设存储空间处于容错状态下,若对元数据C有删除请求,则可以先更新备用服务器集群中的备表,具体为在备表中记录对元数据C(即第六元数据)执行的删除操作以及删除时间,并更新元数据C(即第六元数据)的状态为已被删除。之后再删除主用服务器集群中的元数据C(即第五元数据),两边都执行成功后确定元数据C删除成功。
图5是根据本公开实施例的另一种元数据处理方法流程图,如图5所示,该方法可以应用在智能云场景下的分布式对象存储系统。用户通过内容分发网络(ContentDelivery Network,CDN)、域名系统(Domain Name System,DNS)服务以及多应用服务器(Multi application servers)对对象执行相应操作,其中,对象的数据可以存储在与多应用服务器对应的数据集群中,对象的元数据可以存储在多应用服务器对应的多个元服务器中。具体地,每个元服务器中都包括多个服务器集群,每个服务器集群共用同一个Bucket,每个服务器集群可以分布在不同的数据中心,且互为主用服务器集群和备用服务器集群,使得任一服务器集群出现故障时不影响其他服务器集群的工作,有效利用资源。
用户存在元数据写入请求时,用户通过CDN、DNS服务以及多应用服务器将元数据写入请求发送至元服务器,将元数据写入至主用服务器集群。若主用服务器集群连续多次出现写失败,则将元数据写入至备用服务器集群,并将Bucket的工作状态调整为容错状态,表示主用服务器集群故障。搬迁模块再确定备用服务器集群中写入元数据后,会基于一致性哈希方式对备用服务器集群中的元数据尝试搬迁至主用服务器集群,直至搬迁成功。元数据搬迁成功后,会对主用服务器集群中已存储的元数据和搬迁的元数据进行合并更新,并将Bucket的工作状态调整为正常状态,表示主用服务器集群恢复正常。同时,搬迁模块中可以集成有协议扩散模块,用于在确定Bucket的工作状态进行调整后向整个服务器集群更新Bucket的工作状态。
用户存在元数据读取请求时,用户通过CDN、DNS服务以及多应用服务器将元数据读取请求发送至元服务器,读取已存储的元数据。当Bucket为正常状态,即主用服务器集群正常工作时,直接从主用服务器集群中读取元数据作为目标元数据返回至用户端。当Bucket为容错状态,即主用服务器集群出现故障时,则分别将主用服务器集群和备用服务器集群中的元数据读取并确定最新值,从而选取最新值作为目标元数据返回至用户端。
用户存在元数据删除请求时,用户通过CDN、DNS服务以及多应用服务器将元数据删除请求发送至元服务器,删除已存储的元数据。当Bucket为正常状态,即主用服务器集群正常工作时,直接从主用服务器集群中删除元数据。当Bucket为容错状态,即主用服务器集群出现故障时,在备用服务器集群的表中记录元数据的删除操作以及删除的时间戳,并将待删除的元数据更新为已删除状态,同时在主用服务器集群中删除元数据,从而完成对元数据的删除操作。
由此,本公开的技术方案能高效处理大规模分布式集群中元数据的写入故障,通过维护Bucket粒度的容错状态,面对部分单机故障时能针对性的优化读写删流程,确保元数据可用性,并且不影响其他用户的Bucket。因此能够实现精准地定位和处理写入容错,加快故障容错速度的技术效果。且通过搬迁模块和协议扩散模块能够实现软件层面的自动化容错和自动化恢复,提升了系统可用性和可维护性。此外,该方案无硬件定制成本,也不需要单独建设备用服务器集群,成本低。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。
在本公开中还提供了一种元数据处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本公开其中一实施例的一种元数据处理装置的结构框图,如图6所示,元数据处理装置600包括:获取模块601、写入模块602和处理模块603。
获取模块601,用于获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;
写入模块602,用于响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;
处理模块603,用于响应于第一元数据写入第二服务器集群,按照重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
可选地,该装置还包括:确定模块,用于重复尝试将第一元数据写入第一服务器集群,并记录尝试次数;响应于尝试次数达到预设阈值,确定第一服务器集群发生故障。
可选地,该装置还包括:调整模块,用于响应于第一元数据成功写入至第二服务器集群,将预设存储空间的工作状态由正常状态调整为容错状态,其中,预设存储空间用于承载多个对象,多个对象包括:目标对象。
可选地,该装置还包括:合并模块,用于响应于第一元数据从第二服务器集群成功搬迁至第一服务器集群,按照预设更新策略对第一元数据与第二元数据进行合并更新,其中,第二元数据为第一服务器集群本地已经存储的目标对象的元数据;响应于第一元数据与第二元数据完成合并更新,将预设存储空间的工作状态由容错状态调整为正常状态。
可选地,该装置还包括:扩散模块,用于采用预设数据传输协议将预设存储空间的工作状态扩散至整个服务器集群,其中,整个服务器集群包括:第一服务器集群和第二服务器集群。
可选地,处理模块603还用于:按照预设重试方式,先将第一元数据从第二服务器集群搬迁至第三服务器集群,再将第一元数据从第三服务器集群搬迁至第一服务器集群,其中,第三服务器集群为采用预设负载均衡方式部署的失效转移服务器集群。
可选地,该装置还包括:读取模块,用于在预设存储空间处于容错状态下,基于元数据读取请求从第一服务器集群读取第三元数据,以及从第二服务器集群读取第四元数据,其中,第三元数据与第四元数据为分别在第一服务器集群与第二服务器集群中对应存储的元数据;采用预设筛选策略从第三元数据与第四元数据中选取元数据读取请求对应的目标元数据。
可选地,该装置还包括:更新模块,用于在预设存储空间处于容错状态下,基于元数据删除请求从第一服务器集群删除第五元数据,以及从第二服务器集群对第六元数据的属性信息进行更新,其中,第五元数据与第六元数据为分别在第一服务器集群与第二服务器集群中对应存储的元数据。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
根据本公开的实施例,本公开还提供了一种电子设备,包括存储器和至少一个处理器,该存储器中存储有计算机指令,该处理器被设置为运行计算机指令以执行上述方法实施例中的步骤。
可选地,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本公开中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;
S2,响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;
S3,响应于第一元数据写入第二服务器集群,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
根据本公开的实施例,本公开还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该非瞬时计算机可读存储介质中存储有计算机指令,其中,该计算机指令被设置为运行时执行上述方法实施例中的步骤。
可选地,在本实施例中,上述非瞬时计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;
S2,响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;
S3,响应于第一元数据写入第二服务器集群,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
可选地,在本实施例中,上述非瞬时计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的实施例,本公开还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现以下步骤:
S1,获取第一元数据,其中,第一元数据为待写入第一服务器集群的目标对象的元数据,第一服务器集群为存储对象元数据的主用服务器集群;
S2,响应于第一服务器集群发生故障,将第一元数据写入至第二服务器集群,其中,第二服务器集群为存储对象元数据的备用服务器集群;
S3,响应于第一元数据写入第二服务器集群,按照预设重试方式将第一元数据从第二服务器集群搬迁至第一服务器集群,直至第一元数据成功搬迁至第一服务器集群,其中,预设重试方式用于确定搬迁第一元数据的重试延时。
在本公开的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本公开所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM)、随机存取存储器(RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本公开的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本公开原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本公开的保护范围。
Claims (12)
1.一种元数据处理方法,包括:
获取第一元数据,其中,所述第一元数据为待写入第一服务器集群的目标对象的元数据,所述第一服务器集群为存储对象元数据的主用服务器集群;
响应于所述第一服务器集群发生故障,将所述第一元数据写入至第二服务器集群,其中,所述第二服务器集群为存储对象元数据的备用服务器集群;
响应于所述第一元数据写入所述第二服务器集群,按照预设重试方式将所述第一元数据从所述第二服务器集群搬迁至所述第一服务器集群,直至所述第一元数据成功搬迁至所述第一服务器集群,其中,所述预设重试方式用于确定搬迁所述第一元数据的重试延时。
2.根据权利要求1所述的元数据处理方法,其中,确定所述第一服务器集群发生故障包括:
重复尝试将所述第一元数据写入所述第一服务器集群,并记录尝试次数;
响应于所述尝试次数达到预设阈值,确定所述第一服务器集群发生故障。
3.根据权利要求1所述的元数据处理方法,其中,所述元数据处理方法还包括:
响应于所述第一元数据成功写入至所述第二服务器集群,将预设存储空间的工作状态由正常状态调整为容错状态,其中,所述预设存储空间用于承载多个对象,所述多个对象包括:所述目标对象。
4.根据权利要求3所述的元数据处理方法,其中,所述元数据处理方法还包括:
响应于所述第一元数据从所述第二服务器集群成功搬迁至所述第一服务器集群,按照预设更新策略对所述第一元数据与第二元数据进行合并更新,其中,所述第二元数据为所述第一服务器集群本地已经存储的所述目标对象的元数据;
响应于所述第一元数据与第二元数据完成合并更新,将所述预设存储空间的工作状态由所述容错状态调整为所述正常状态。
5.根据权利要求3或4所述的元数据处理方法,其中,所述元数据处理方法还包括:
采用预设数据传输协议将所述预设存储空间的工作状态扩散至整个服务器集群,其中,所述整个服务器集群包括:所述第一服务器集群和所述第二服务器集群。
6.根据权利要求1所述的元数据处理方法,其中,按照所述预设重试方式将所述第一元数据从所述第二服务器集群搬迁至所述第一服务器集群包括:
按照所述预设重试方式,先将所述第一元数据从所述第二服务器集群搬迁至第三服务器集群,再将所述第一元数据从所述第三服务器集群搬迁至所述第一服务器集群,其中,所述第三服务器集群为采用预设负载均衡方式部署的失效转移服务器集群。
7.根据权利要求3所述的元数据处理方法,其中,所述元数据处理方法还包括:
在所述预设存储空间处于所述容错状态下,基于元数据读取请求从所述第一服务器集群读取第三元数据,以及从所述第二服务器集群读取第四元数据,其中,所述第三元数据与所述第四元数据为分别在所述第一服务器集群与所述第二服务器集群中对应存储的元数据;
采用预设筛选策略从所述第三元数据与所述第四元数据中选取所述元数据读取请求对应的目标元数据。
8.根据权利要求3所述的元数据处理方法,其中,所述元数据处理方法还包括:
在所述预设存储空间处于所述容错状态下,基于元数据删除请求从所述第一服务器集群删除第五元数据,以及从所述第二服务器集群对第六元数据的属性信息进行更新,其中,所述第五元数据与所述第六元数据为分别在所述第一服务器集群与所述第二服务器集群中对应存储的元数据。
9.一种元数据处理装置,包括:
获取模块,用于获取第一元数据,其中,所述第一元数据为待写入第一服务器集群的目标对象的元数据,所述第一服务器集群为存储对象元数据的主用服务器集群;
写入模块,用于响应于所述第一服务器集群发生故障,将所述第一元数据写入至第二服务器集群,其中,所述第二服务器集群为存储对象元数据的备用服务器集群;
处理模块,用于响应于所述第一元数据写入所述第二服务器集群,按照预设重试方式将所述第一元数据从所述第二服务器集群搬迁至所述第一服务器集群,直至所述第一元数据成功搬迁至所述第一服务器集群,其中,所述预设重试方式用于确定搬迁所述第一元数据的重试延时。
10.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的元数据处理方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-8中任一项所述的元数据处理方法。
12.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的元数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310274483.3A CN116319623A (zh) | 2023-03-17 | 2023-03-17 | 元数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310274483.3A CN116319623A (zh) | 2023-03-17 | 2023-03-17 | 元数据处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116319623A true CN116319623A (zh) | 2023-06-23 |
Family
ID=86801062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310274483.3A Pending CN116319623A (zh) | 2023-03-17 | 2023-03-17 | 元数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116319623A (zh) |
-
2023
- 2023-03-17 CN CN202310274483.3A patent/CN116319623A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360854B2 (en) | Storage cluster configuration change method, storage cluster, and computer system | |
CN108664496B (zh) | 数据迁移方法及装置 | |
US8301600B1 (en) | Failover recovery in a distributed data store | |
US20100023564A1 (en) | Synchronous replication for fault tolerance | |
US9286298B1 (en) | Methods for enhancing management of backup data sets and devices thereof | |
GB2484086A (en) | Reliability and performance modes in a distributed storage system | |
CN110597910A (zh) | 一种异地数据同步方法、装置和系统 | |
CN105069152B (zh) | 数据处理方法及装置 | |
CN111125261B (zh) | 基于分布式缓存的数据传输方法 | |
CN111049928B (zh) | 数据同步方法、系统、电子设备及计算机可读存储介质 | |
CN111400112A (zh) | 分布式集群的存储系统的写入方法、装置及可读存储介质 | |
US10824641B1 (en) | Deterministic query-based replication | |
CN111158949A (zh) | 容灾架构的配置方法、切换方法及装置、设备和存储介质 | |
CN110377664B (zh) | 数据同步方法、装置、服务器及存储介质 | |
CN111400041A (zh) | 服务器配置文件的管理方法、装置及计算机可读存储介质 | |
CN112256433A (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN107943615B (zh) | 基于分布式集群的数据处理方法与系统 | |
US8621260B1 (en) | Site-level sub-cluster dependencies | |
WO2015196692A1 (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
US10728326B2 (en) | Method and system for high availability topology for master-slave data systems with low write traffic | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN109992447B (zh) | 数据复制方法、装置及存储介质 | |
CN115470041A (zh) | 一种数据灾备管理方法及装置 | |
CN111752892A (zh) | 分布式文件系统及其实现方法、管理系统、设备及介质 | |
CN116319623A (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 |