CN112578996A - 一种存储系统的元数据的发送方法及存储系统 - Google Patents
一种存储系统的元数据的发送方法及存储系统 Download PDFInfo
- Publication number
- CN112578996A CN112578996A CN201910944349.3A CN201910944349A CN112578996A CN 112578996 A CN112578996 A CN 112578996A CN 201910944349 A CN201910944349 A CN 201910944349A CN 112578996 A CN112578996 A CN 112578996A
- Authority
- CN
- China
- Prior art keywords
- metadata
- storage system
- updated
- partition
- updated metadata
- 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
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 24
- 238000005192 partition Methods 0.000 claims description 194
- 238000004891 communication Methods 0.000 claims description 19
- 238000004321 preservation Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013461 design Methods 0.000 description 28
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 206010021703 Indifference Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 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/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
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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
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
技术领域
本申请涉及存储技术领域,尤其涉及一种存储系统的元数据的发送方法及存储系统。
背景技术
在存储系统中,可以通过访问存储系统的元数据,来为用户提供各种业务功能。例如,可以扫描目录下所有的元数据,实现统计该目录的剩余容量的业务功能,或者,也可以通过获取的目录下所有的元数据,对该目录下存储的数据分析,实现文件分类或者模糊搜索的业务功能等,在此不一一举例。
在现有的存储系统中,主要通过存储系统提供的列举接口来访问元数据,然而,当存储系统中元数据的数据量不断增大,在这种情况下,严重影响存储系统的元数据处理效率。
发明内容
本申请实施例提供一种存储系统的元数据的发送方法及存储系统,用以提高存储系统的元数据处理效率。
第一方面,本申请提供了一种存储系统的元数据的发送方法,在该方法中,首先获取存储系统中根据操作请求更新的元数据,即更新的元数据,然后发送该更新的元数据。
在上述技术方案中,存储系统可以只提供存储系统中发生更新的元数据,相对于现有技术中列举元数据的方式,可以提高元数据处理效率。
且,由于不用提供未发生更新的元数据,从而可以减少元数据的传输量,可以节省带宽资源。
在一种可能的设计中,若存储系统包括多个元数据分区,则获取存储系统更新的元数据,可以是获取该多个元数据分区中的其中一个元数据分区,例如,第一元数据分区,更新的元数据。
在上述技术方案中,由于可以只获取该第一元数据分区中发生更新的元数据,而不用获取存储系统中所有发生变更的元数据,可以进一步减少元数据传输量,可以节省带宽资源。
在一种可能的设计中,可以使用写前日志记录存储系统中的元数据,每一个元数据对应一个元数据记录项,每个元数据记录项包含与操作请求对应的操作以及发生更新的元数据,则获取存储系统更新的元数据,可以是获取该存储系统的写前日志中更新的元数据记录项。
在上述技术方案中,提供一种通过写前日志来提供更新的元数据的方式,可以增加存储系统的灵活性。
在一种可能的设计中,获取存储系统更新的元数据可以包括但不限于如下两种方式:
第一种方式,实时获取该存储系统更新的元数据。
这样,只要存储系统中存在更新的元数据,则存储系统可以第一时间发送该更新的元数据,可以保证用户使用的元数据与存储系统中的元数据的一致性。
第二种方式,存储系统先接收用于获取该存储系统中更新的元数据的获取请求,然后再发送该更新的元数据。
这样,存储系统可以根据用户的需求来发送更新的元数据。
在一种可能的设计中,存储系统可以以消息的形式发送该更新的元数据。
在一种可能的设计中,存储系统包括多个元数据分区,该多个元数据分区可能会发生变化,例如,两个元数据分区合并,或者一个元数据分区分裂成两个新的元数据分区,在这种情况下,当该多个元数据分区中的某一个元数据分区,例如,第二元数据分区,发生变化后,存储系统可以发送用于指示取消对该第二元数据分区中更新的元数据的保序的第一指示消息。
在上述技术方案中,当元数据分区发生变化时,发生变化前的元数据分区中可能还存在未发送的更新的元数据,则当元数据分区发生变化后,可以继续发送该未发送的更新的元数据,然后在发送完成后,发送该第一指示消息。
在一种可能的设计中,当存储系统获取发生变化后的元数据分区中更新的元数据后,先发送用于指示对该发生变化后的元数据分区中更新的元数据进行保序的第二指示消息,然后,再发送该发生变化后的元数据分区中更新的元数据。
在上述技术方案中,当元数据分区发生变化时,可以通过第一指示消息和第二指示消息来实现对元数据分区中更新的元数据进行保序,例如,当用户在接收到该第二指示消息之前已经接收该第一指示消息,则说明发生变化前的元数据分区中所有更新的元数据发送成功,然后再接收发生变化后的元数据分区中的更新的元数据,从而可以实现保序。
第二方面,提供一种存储系统的元数据的发送方法,在该方法中,存储系统使用写前日志记录存储系统中的元数据,每一个元数据对应一个元数据记录项,每个元数据记录项包含与操作请求对应的操作以及发生更新的元数据,则存储系统首先获取该存储系统的写前日志中更新的元数据记录项,然后发送该更新的元数据记录项。
在上述技术方案中,存储系统可以只提供存储系统中发生更新的元数据的记录项,相对于现有技术中列举元数据的方式,可以提高元数据处理效率。
在一种可能的设计中,若存储系统包括多个元数据分区,则获取存储系统更新的元数据记录项,可以是获取该多个元数据分区中的其中一个元数据分区,例如,第一元数据分区,更新的元数据记录项。
在一种可能的设计中,获取存储系统更新的元数据记录项可以包括但不限于如下两种方式:
第一种方式,实时获取该存储系统更新的元数据记录项。
第二种方式,存储系统先接收用于获取该存储系统中更新的元数据记录项的获取请求,然后再发送该更新的元数据记录项。
在一种可能的设计中,存储系统可以以消息的形式发送该更新的元数据记录项。
在一种可能的设计中,存储系统包括多个元数据分区,该多个元数据分区可能会发生变化,在这种情况下,当该多个元数据分区中的某一个元数据分区,例如,第二元数据分区,发生变化后,存储系统可以发送用于指示取消对该第二元数据分区中更新的元数据的保序的第一指示消息。
在一种可能的设计中,当存储系统获取发生变化后的元数据分区中更新的元数据记录项后,先发送用于指示对该发生变化后的元数据分区中更新的元数据进行保序的第二指示消息,然后,再发送该发生变化后的元数据分区中更新的元数据记录项。
第三方面,提供一种存储系统,该存储系统可以是存储节点或者存储服务端,也可以是存储节点或者存储服务端中的装置。该存储空间的管理装置包括处理器,用于实现上述第一方面描述的方法。该存储空间的管理装置还可以包括存储器,用于存储程序指令和数据。该存储器与该处理器耦合,该处理器可以调用并执行该存储器中存储的程序指令,用于实现上述第一方面描述的方法中的任意一种方法。该存储系统还可以包括通信接口,该通信接口与处理器进行通信。
在一种可能的设计中,存储系统包括通信接口和处理器,其中:
所述处理器,用于获取存储系统更新的元数据,所述更新的元数据用于指示所述存储系统中根据操作请求更新的元数据;
所述通信接口,用于发送所述更新的元数据。
在一种可能的设计中,所述存储系统包括多个元数据分区;所述处理器具体用于:
获取所述多个元数据分区中的第一元数据分区更新的元数据。
在一种可能的设计中,所述处理器具体用于:
获取所述存储系统的写前日志中更新的元数据记录项;所述更新的元数据记录项包含所述操作请求对应的操作以及所述发生更新的元数据。
在一种可能的设计中,所述处理器具体用于:
实时获取所述存储系统更新的元数据。
在一种可能的设计中,所述通信接口具体用于:
以消息的形式发送所述更新的元数据。
在一种可能的设计中,所述通信接口还用于:
接收获取请求,所述获取请求用于获取所述存储系统中更新的元数据。
在一种可能的设计中,所述通信接口还用于:
在所述多个元数据分区中的第二元数据分区发生变化后,发送第一指示消息,所述第一指示消息用于指示取消对所述第二元数据分区中更新的元数据的保序。
在一种可能的设计中,所述处理器还用于:
获取发生变化后的元数据分区中更新的元数据;
所述通信接口还用于:
发送第二指示消息,所述第二指示消息用于指示对所述发生变化后的元数据分区中更新的元数据进行保序;
发送所述发生变化后的元数据分区中更新的元数据。
第四方面,提供一种存储系统,该存储系统可以是存储节点或者存储服务端,也可以是存储节点或者存储服务端中的装置。该存储系统可以包括处理单元和收发单元,这些单元可以执行上述第一方面任一种设计示例中的所执行的相应功能,具体的:
所述处理单元,用于获取存储系统更新的元数据,所述更新的元数据用于指示所述存储系统中根据操作请求更新的元数据;
所述收发单元,用于发送所述更新的元数据。
在一种可能的设计中,所述存储系统包括多个元数据分区;所述处理单元具体用于:
获取所述多个元数据分区中的第一元数据分区更新的元数据。
在一种可能的设计中,所述处理单元具体用于:
获取所述存储系统的写前日志中更新的元数据记录项;所述更新的元数据记录项包含所述操作请求对应的操作以及所述发生更新的元数据。
在一种可能的设计中,所述处理单元具体用于:
实时获取所述存储系统更新的元数据。
在一种可能的设计中,所述收发单元具体用于:
以消息的形式发送所述更新的元数据。
在一种可能的设计中,所述收发单元还用于:
接收获取请求,所述获取请求用于获取所述存储系统中更新的元数据。
在一种可能的设计中,所述收发单元还用于:
在所述多个元数据分区中的第二元数据分区发生变化后,发送第一指示消息,所述第一指示消息用于指示取消对所述第二元数据分区中更新的元数据的保序。
在一种可能的设计中,所述处理单元还用于:
获取发生变化后的元数据分区中更新的元数据;
所述收发单元还用于:
发送第二指示消息,所述第二指示消息用于指示对所述发生变化后的元数据分区中更新的元数据进行保序;
发送所述发生变化后的元数据分区中更新的元数据。
第五方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。
第六方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。
第七方面,本申请提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现第一方面所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
上述第二方面至第七方面及其实现方式的有益效果可以参考对第一方面的方法及其实现方式的有益效果的描述。
附图说明
图1为现有技术中的存储系统的一种示例的架构图;
图2为向存储系统写入数据的过程的示意图;
图3为本申请实施例提供的存储系统的一种示例的架构图;
图4为本申请实施例中的元数据的发送方法的流程图;
图5为本申请实施例中的多个元数据分区的一种示例的示意图;
图6为本申请实施例中的元数据分区发生变化的示例的示意图;
图7为本申请实施例中元数据分区动态变化的一种示例的示意图;
图8为本申请实施例中元数据分区分裂的一种示例的示意图;
图9为本申请实施例中采用发布/订阅系统实现的存储系统的一种示例的架构图;
图10为本申请实施例中采用发布/订阅系统实现的存储系统发送元数据的示意图;
图11为本申请实施例中存储系统的一种示例的示意图;
图12为本申请实施例中存储系统的另一种示例的示意图。
具体实施方式
为了使本申请实施例的目的、技术方案和优点更加清楚,下面将结合说明书附图以及具体的实施方式对本申请实施例中的技术方案进行详细的说明。
本申请实施例中“多个”是指两个或两个以上,鉴于此,本申请实施例中也可以将“多个”理解为“至少两个”。“至少一个”,可理解为一个或多个,例如理解为一个、两个或更多个。例如,包括至少一个,是指包括一个、两个或更多个,而且不限制包括的是哪几个,例如,包括A、B和C中的至少一个,那么包括的可以是A、B、C、A和B、A和C、B和C、或A和B和C。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。
本申请实施例中的方法可以应用于存储系统中,该存储系统可以为集中式存储系统或者分布式存储系统,具体来讲,可以是数据库存储系统、文件存储系统、块存储系统、对象存储系统、列式存储系统等,也可以是云存储系统,或者也可以是上述存储系统的组合等,在此不对存储系统的形态进行限制。
请参考图1,存储系统100包括接入节点110和一个或多个存储节点120,在图1中,以存储系统100包括一个接入节点110和两个存储节点120(分别为存储节点1和存储节点2)为例。
需要说明的是,接入节点110和存储节点120可以为独立的服务器,也可以为虚拟设备。当一个接入节点110和存储节点120为虚拟设备时,该多个虚拟设备可以分别运行在多个服务器上,也可以运行在同一服务器,本领域技术人员可以根据实际的运行环境确定。
请参考图2,存储系统100写入数据时,首先接入节点110接收写入操作请求,该写入操作请求中包括待写入数据,生成与该待写入数据对应的元数据,然后将生成的元数据存储到存储节点中,例如存储到存储节点2中。一种实现方式,存储系统100使用写前日志(Write-ahead Logging,WAL)方式记录该操作请求和元数据。
本申请实施例提供一种存储系统的元数据的发送方法及装置,用以提高存储系统的元数据的处理效率。
下面,将结合附图对本申请实施例中提供的数据存储方法进行说明。为实现本申请实施例中的方法,首先对如图1所示的存储系统进行改进。具体改进点如下:
请参考图3,为本申请实施例提供的存储系统的一种示例的架构图。与图1所示的存储系统不同的是,在图3的接入节点110中新增一个接口,该接口用于提供发生更新的元数据,为方便说明,在本申请实施例中,简称该接口为更新元数据接口,在此不对该接口的名称进行限制。
存储系统100能够获取发生变化的元数据,例如,当客户端向存储系统100中写入新数据,则与该新数据对应的元数据则为发生变化的元数据;或者,当客户端对存储系统100中已经存储的数据A进行修改,则与该修改后的数据对应的元数据即为发生变化的元数据;或者,当客户端删除存储系统100中已经存储的数据B,则该数据B对应的元数据即为发生变化的元数据,也就是说,发生更新的元数据是根据用于更新该存储系统中的数据的操作请求(例如,修改数据操作请求,删除数据操作请求或者写入新数据操作请求)得到的。该更新元数据接口可以提供存储系统100中发生变化的元数据。
需要说明的是,在图3所示的存储系统中,是将该新增接口设置在存储系统100内为例,在另一些实施例中,也可以将该新增接口设置在存储系统100外,在此不作限制。
下面,以图3所示的存储系统为例,介绍本申请实施例中的元数据的发送方法,请参考图4,为该方法的流程图,该流程图的描述如下:
S401、接入节点接收操作请求。
该操作请求用于更新存储系统中的数据,例如,该操作请求可以为向存储系统写入新数据的操作请求,或者,可以是删除存储系统中已经存储的数据的操作请求,也可以是对存储系统中存储的数据进行修改的操作请求等。
S402、接入节点生成与操作请求对应的元数据。
当接入节点接收到该操作请求后,则根据操作请求,更新存储节点1中的数据,在更新数据后,则可以生成与该更新后的数据对应的元数据。具体过程与图2所示的过程相似,在此不再赘述。
S403、接入节点将生成的元数据发送给元数据存储节点,元数据存储节点存储该元数据。
在本申请实施例中,元数据存储节点可以为图3所述存储节点2,为方便说明,下文中以元数据存储节点为存储节点2为例。存储节点2存储该个元数据可以包括但不限于如下方式。
第一种存储方式,存储节点2可以以异地更新方式,即按照接入节点生成元数据的先后顺序,依次将元数据写入到存储节点2中。例如,存储节点2先后接收到第一元数据和第二元数据,则存储节点2将第一元数据写入到存储节点2中的第一个元数据条目中,然后将第二元数据写入到存储节点2的第二个元数据条目中。
第二种存储方式,存储节点2中包括多个元数据分区,例如,可以采用范围分区(range partition)方式对存储节点2所能存储的所有的元数据按照键(Key)(或者理解为元数据的索引号)划分分区。如图5所示,存储节点2所能存储的元数据的Key的范围为{0~100},然后,按照预设的步长,将该元数据分为5个元数据分区,在边界点上的元数据,可以固定采用左闭右开或者左开右闭的原则,以保证其归属的无二义性。例如,在图5所示的第一个元数据分区的元数据的Key的范围为0~19,第二个元数据分区的元数据的Key的范围为20~39,以此类推。这样,当存储节点2接收到该至少一个元数据后,则可以根据元数据的Key确定元数据所属的分区。另一种实现方式,不同的元数据分区存储到不同的存储节点。本发明实施例对此不作限定。
在本申请实施例中,该多个元数据分区可以有如下形式。
第一种形式,该多个元数据分区是固定不变的,例如,存储系统预先设置好如图5所示的5个元数据分区,在后续使用过程中始终保持该5个元数据分区。
第二种形式,该多个元数据分区是可以根据使用需求动态合并或分裂的。例如,由于各个元数据分区中的元数据的数据量可能不同,则为了保证业务均衡,当某一个元数据分区中的元数据的数据量超过阈值后,则可以将该元数据分区进行分裂,从而生成新的元数据分区。当某一个或多个元数据分区中元数据量减少,可以进行元数据分区的合并。例如,将图5所示的第二个元数据分区分裂为{20~30}和{31~39}两个元数据分区,从而得到6(a)所示的6个元数据分区。或者,可以将图5所示的第一个元数据分区和第二元数据分区合并,从而得到如图6(b)所示的4个元数据分区。
在这种情况下,由于元数据分区是动态变化的,则在不同的时间段,由于元数据分区不同,同一个Key的元数据可能位于不用的元数据分区中。例如,请参考图7,针对Key为8的元数据,在t1~t2时间段,该元数据位于元数据分区{0~19}中,其中,{0~19}表示该元数据分区中元数据Key的范围;因此,用元数据Key来表示一个分区。在t3~t4时间段,由于发生了元数据分区分裂,将元数据分区{0~19}分裂为元数据分区{0~9}和元数据分区{10~19},从而该Key为8的元数据位于元数据分区{0~9}中;在t5~t6时间段,元数据分区{0~9}分裂为元数据分区{0~5}和元数据分区{6~9},则该Key为8的元数据位于元数据分区{6~9}中。
本发明实施例中,一种实现方式,每一个元数据分区使用WAL记录该元数据分区中的元数据。例如以日志记录项的方式记录该操作请求以及该操作请求的元数据。
S404、接入节点接收获取请求,所述获取请求用于获取存储系统100发生更新的元数据,接入节点向存储节点2发送该获取请求。
作为一种示例,当客户端需要获取当前时刻所有的元数据时,则客户端可以通过调用该更新元数据接口,向接入节点发送该获取请求。另一种实现方式,本发明实施例中可以是其他应用或系统发送该获取请求,用于获取存储系统100发生更新的元数据。
S405、存储节点2获取存储系统中发生更新的元数据。
在本申请实施例中,存储节点2获取发生更新的元数据的方式可以包括但不限于如下方式。
第一种获取方式,存储节点2可以通过快照获取发生更新的元数据。例如,存储节点2在第一时刻获取存储节点2中存储的元数据的第一快照,然后在预设时长后再次获取存储的元数据的第二快照,通过比较第一快照和第二快照,则可以获取存储节点2中发生更新的元数据。
第二种获取方式,存储节点2在存储元数据时,可以为每个元数据增加一个标识信息,该标识信息用来表示该元数据未发送,若该元数据已经被发送,则可以删掉该标识信息。这样,存储节点2可以通过搜索包括标识信息的元数据来获取发生更新的元数据。
第三种获取方式,存储节点2中存储的元数据都是按照顺序依次存储的。因此存储的元数据有序列号。存储节点2可以记录每次发送的元数据的序列号,例如,在存储系统的初始状态时,存储系统未发送任何元数据,则发送的元数据的序列号初始值为0,则存储节点2确定序列号大于0的元数据为发生更新的元数据。其中,元数据的序列号可以理解为该元数据所存储的元数据条目对应的编号。
本发明实施例中,元数据可以按照元数据分区进行存储,在这种情况下,则本发明实施例中获取存储系统100中发生更新的元数据,具体可以为存储系统中某一元数据分区(例如,第一元数据分区)中发生更新的元数据。作为一种示例,该获取请求用于获取与某一个业务相关的所有元数据,而该业务相关的所有的元数据均存储在第一元数据分区中,则存储节点2可以只获取该第一元数据分区中发生更新的元数据,而不用获取存储系统中所有发生变更的元数据,可以减少元数据传输量,从而节省带宽资源。
本发明实施例中,每个元数据分区可以使用WAL记录元数据分区中的元数据,在这种情况下,本发明实施例中获取存储系统100中发生更新的元数据,具体可以为获取所述存储系统的写前日志中更新的元数据记录项。
S406、存储节点2将获取的发生更新的元数据发送给接入节点,接入节点向客户端发送发生更新的元数据。
本发明实施例中,存储系统可以只提供发生更新的元数据,相对于现有技术列举元数据的处理方式,提高了元数据处理效率,减少了元数据传输量,进而节省了带宽资源。
其中一种实现,存储节点2按照发生更新的元数据的顺序,发送发生更新的元数据,从而,可以保证客户端获取的元数据也是有序的。
另一种实现,元数据是按照元数据分区存储的,当获取存储系统100中发生的更新的元数据是获取某一元数据分区中发生更新的元数据,则存储节点将该元数据分区中发生更新的元数据发送接入节点,从而接入节点向客户端发生该元数据分区中发生更新的元数据,从而可以减少元数据传输量,进而节省了带宽资源。
另一种实现方式,若元数据是按照元数据分区存储的,当获取存储系统100中发生的更新的元数据是获取多个元数据分区中发生更新的元数据,则存储节点并行发送该多个元数据分区中发生更新的元数据发送接入节点,从而可以减少发送时延。
另一种实现方式,在基于WAL记录元数据的情况下,可以通过发送WAL记录项的方式发送元数据。
另一种实现方式,在基于WAL记录元数据的情况下,也可以发送WAL记录的发生更新的元数据的位置信息,由客户端或其他应用根据位置信息读取WAL记录的发生更新的元数据。该位置信息可以包括每个WAL记录项的标识和/或WAL记录项的偏移位置等。若要发送的WAL记录项有多个,由于该多个WAL记录项是顺序存储的在这种情况下,该位置信息可以包括WAL记录项的标识、WAL记录项的偏移位置以及该多个WAL记录项所占用的单位存储空间的长度,可以通过该位置信息批量获取WAL记录项。
S407、元数据存储节点中的第二元数据分区变化,产生新的元数据分区。
本发明实施例中,第二元数据分区发生变化可以包括第二元数据分区分裂或者第二元数据分区与其他元数据分区合并。为方便说明,下文中以第二元数据分区分裂为例进行说明。
随着元数据存储节点中存储的元数据的数量越来越多,当达到了分裂的条件时,元数据存储节点中的第二元数据分区分裂成多个元数据分区。该第二元数据分区为元数据存储节点中的多个元数据分区中的任意一个元数据分区。
作为一种示例,如图8所示,元数据分区1的元数据的分区key的范围为A~C,元数据分区1在Key为B的位置,分裂为元数据分区2(Key的范围为A至小于B)和元数据分区3(Key的范围为从B至C)。
S408、元数据存储节点向接入节点发送第一指示消息,所述第一指示消息用于指示取消对所述第二元数据分区中更新的元数据的保序。
如图8所示,在元数据分区1发生分裂时,元数据分区1中发生更新的元数据的最大序列号为102,而发生分裂时,元数据存储节点只向接入节点发送了元数据序列号为100的元数据,在这种情况下,元数据存储节点要保证序列号为101的元数据和序列号为102的元数据保序发送,则在发生分裂后,继续发送序列号为101的元数据和序列号为102的元数据,在发送完序列号为102的元数据后,向接入节点发送用于指示取消对所述第二元数据分区中更新的元数据的保序的消息。本发明实施例中,元数据的序列号是指元数据存储的序列号。例如以WAL方式记录元数据为例,序列号是指WAL的记录项的顺序。
S409、接入节点生成取消第二元数据分区保序关系的标记。
S410、元数据存储节点获取发生分裂后的元数据分区中更新的元数据。
S411、元数据存储节点向接入节点发送第二指示消息,接入节点向客户端发送该第二指示消息。
该第二指示消息用于指示对所述发生分裂后的元数据分区中更新的元数据进行保序。
S412、客户端向接入节点发送对第二指示消息的确认应答消息,接入节点向元数据存储节点发送该确认应答消息。
当客户端接收该第二指示消息后,查询接入节点中是否存在取消第二元数据分区保序关系的标记,如果有该标记存在,则客户端向接入节点反馈确认应答,接入节点接收该确认应答消息后,清除该标记。如果客户端在接收该分区保序关系建立消息之后,确认该接入节点中不存在该标记,则客户端不会向接入节点发送确认应答(或者,向接入节点发送否认应答)。
由于该第一指示消息的发送时间是在将分裂前的元数据分区中更新的元数据发送完成之后,因此,当客户端确认在接收到该第二指示消息之前已经接收该第一指示消息,则说明分裂前的元数据分区中所有更新的元数据发送成功,然后再根据分裂后的元数据分区接收更新的元数据,从而可以实现保序。
若元数据存储节点未接收到该确认应答消息,则元数据存储节点可以一直发送该第二指示消息,直至接收到该确认应答消息。
S413、元数据存储节点将发生分裂后的元数据分区中更新的元数据发送给接入节点,接入节点向客户端发送该更新的元数据。
在接收到该确认应答消息后,元数据存储节点则向接入节点发送发生分裂后的元数据分区中更新的元数据。
需要说明的是,当有元数据分区发生合并时,处理过程上述方式相同,在此不再赘述。
另外,接入节点还可以记录已经发送的更新的元数据的序列号,当接入节点确定接收到的更新的元数据的序列号小于记录的序列号时,则认为该更新的元数据为重复数据,从而可以直接丢弃,避免重复处理。
S414、元数据存储节点向接入节点发送元数据删除消息,接入节点根据该元数据删除消息删除元数据。
在元数据存储节点发送更新后的元数据后,可以周期性触发对已经发送的元数据的删除操作,从而向接入节点发送元数据删除消息。由于本申请实施例中的元数据消息是保序发送的,因此,当接入节点接收到该元数据删除消息后,一定能够保证与该元数据分区对应的元数据已经被消费过了,从而可以删除其接收到的更新的元数据,节省存储系统的存储资源。
需要说明的是,步骤S404为可选步骤,即不是必须要执行的,例如,存储节点2可以实时获取存储系统中更新的元数据,然后主动发送该发生更新的元数据,作为一种示例,可以在存储节点2中设置监控事件来检测存储节点中的元数据是否发生变化,这样,只要存储节点2中有元数据发生变化,就会触发该监控事件,从而主动将该发生更新的元数据发送给接入节点。因此,在图4中,以步骤S404为虚线来表示该步骤为可选步骤。
本发明实施例另一种实现方式,图4所示的实施方式可以均由存储节点或接入节点实现。在集中式存储系统中,本发明实施例可以由阵列控制器来实现,对此本发明实施例对此不作限定。存储系统获取到发生更新的元数据,向客户端或第三方系统/应用发送更新的元数据。在本发明实施例中,将以上各种实现方式称统为由存储系统实现。另外,本发明实施例还可以支持由独立于存储系统的第三方设备来实现,对此不再赘述。
下面将以发布/订阅系统(pub/sub system)来实现为例,对本申请实施例中的元数据发送方法进行详细说明。
请参考图9,为采用发布/订阅系统实现的存储系统的一种示例的架构图。与图1所述的存储系统不同的是,在图9中增加了一个发布/订阅系统130,发布/订阅系统130分别与接入节点和存储节点120通信,该发布/订阅系统130用于以消息的形式发送更新的元数据。该发布/订阅系统130还可以与第三方应用通信。
为方便本领域技术人员的理解,首先对发布/订阅系统进行说明。
发布/订阅系统包括两个参与者,消息发布者(producer)和消息订阅者(consumer),消息发布者用于在发布/订阅系统中创建主题(topic),然后向该主题中发送消息,发布/订阅系统会为消息订阅者保留主题中的消息,并将该主题中的消息转发给每一个消息订阅者。当消息订阅者从主题中接收消息,并向发布/订阅系统确认接收该消息后,发布/订阅系统将该消息将从主题中移除。
当将发布/订阅系统应用在存储系统时,可以将存储节点120作为发布/订阅系统的消息发布者,然后,将存储系统接入节点、客户端或者第三方的应用作为消息订阅者,存储节点120在发布/订阅系统中发布元数据,存储系统的接入节点110、客户端或者第三方的应用实时消费该元数据,从而使得存储系统的接入节点110、客户端或者第三方的应用能够根据获取的元数据提供相应的服务。
下面,以图9所示的存储系统为例,介绍本申请实施例中的元数据的发送方法。
存储系统初次启动时,在发布/订阅系统中创建主题,在存储节点中创建消息发布者以及在接入节点中创建消息订阅者。
存储系统初次启动时,首先在发布/订阅系统中创建主题,该主题中可以包括一个默认主题分区(TPartition)。使用主题来发送消息,必须创建消息发布者来生产消息以及创建消息订阅者来消费消息,因此,还需要在存储节点中创建消息发布者,以及在接入节点中创建消息订阅者,在初次启动时,该消息发布者只包括一个默认消息发布者(TProducer),该消息订阅者只包括一个默认消息订阅者(TConsumer),该默认主题与该默认消息发布者和该默认消息订阅者关联,当默认消息发布者产生消息后,会发送给默认主题,而默认主题中的消息会推送给默认消息订阅者进行处理。
需要说明的是,在本申请实施例中,当存储系统是以元数据分区的方式存储元数据时,相应地,该主题也可以采用分区方式,每个元数据分区包括唯一的标识,通过元数据分区的唯一标识可以将一个元数据分区与一个主题分区映射。在存储系统初次启动时,该元数据存储节点中只包括一个元数据分区,随着新的元数据的产生,该元数据分区会发生分裂,从而产生新的元数据分区,例如,从默认元数据分区分裂为元数据分区1和元数据分区2。
作为一种示例,以消息发布者发送WAL记录项为例进行说明。请参考图10,元数据存储节点获取元数据分区2中发生更新的元数据后,则生成与该发生更新的元数据的对应的新的WAL记录项,并将该新的WAL记录项写入到分区更新队列中。默认消息发布者根据该新的WAL记录项确定不包括该元数据分区2对应的消息发布者,则在消息发布者中创建与元数据分区2对应的消息发布者,标记为消息发布者2。然后,消息发布者2从该分区更新队列中获取该新的WAL记录项,发送到该主题中。默认主题分区接收到该新的WAL记录项后,确定该主题中不包括与该新的WAL记录项对应的主题分区,从而在该主题中创建与元数据分区2对应的主题分区2,通过该主题分区2接收该新的WAL记录项。同时,默认主题分区向默认消息订阅者发送产生新的元数据分区的事件消息,默认消息订阅者接收该事件消息后则在消息订阅者中创建与该元数据分区2对应的消息订阅者2,从而通过该消息订阅者2从主题分区2获取该新的WAL记录项。
在另一种实现方式中,存储系统的接入节点作为消息的发布者,客户端或者第三方的应用作为消息订阅者。在另一种实现方式中,存储系统作为消息的发布者,客户端或第三方应用作为消息订阅者。
上述本申请提供的实施例中,为了实现上述本申请实施例提供的方法中的各功能,存储系统可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
图11示出了一种存储系统1100的结构示意图。其中,存储系统1100可以用于实现存储系统的存储节点或者存储阵列的阵列控制器的功能。存储系统1100可以是硬件结构、软件模块、或硬件结构加软件模块。存储系统1100可以由芯片系统实现。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
存储系统1100可以包括处理单元1101和收发单元1102。
收发单元1102可以用于执行图4所示的实施例中的步骤S403、步骤S404、步骤S406、步骤S408、步骤S411~步骤S414,和/或用于支持本文所描述的技术的其它过程。一种可能的实现方式,收发单元1102可以用于与处理单元1101通信,或者,收发单元1102可以用于存储系统1100和其它模块进行通信,其可以是电路、器件、接口、总线、软件模块、收发器或者其它任意可以实现通信的装置。
处理单元1101可以用于执行图4所示的实施例中的步骤S405、步骤S407以及步骤S410,和/或用于支持本文所描述的技术的其它过程。
其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图11所示的实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
如图12所示为本申请实施例提供的存储系统1200,其中,存储系统1200可以用于实现存储系统的存储节点或者存储阵列的阵列控制器的功能。其中,该存储系统1200可以为芯片系统。本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
存储系统1200包括至少一个处理器1220,用于实现或用于支持存储系统1200实现本申请实施例提供的方法中存储节点或者存储阵列的阵列控制器的功能。示例性地,处理器1220可以获取存储系统中更新的元数据,具体参见方法示例中的详细描述,此处不做赘述。
存储系统1200还可以包括至少一个存储器1230,用于存储程序指令和/或数据。存储器1230和处理器1220耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器1220可能和存储器1230协同操作。处理器1220可能执行存储器1230中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
存储系统1200还可以包括接口1210,用于与处理器1220通信,或者用于通过传输介质和其它设备进行通信,从而用于存储空间的管理装置1200可以和其它设备进行通信。示例性地,该其它设备可以是客户端。处理器1220可以利用接口1210收发数据。
本申请实施例中不限定上述接口1210、处理器1220以及存储器1230之间的具体连接介质。本申请实施例在图12中以存储器1230、处理器1220以及接口1210之间通过总线1240连接,总线在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,处理器1220可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
在本申请实施例中,存储器1230可以是非易失性存储器,比如硬盘(hard diskdrive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatilememory),例如随机存取存储器(random-access memory,RAM)。存储器是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
本申请实施例中还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行图4所示的实施例中存储节点或阵列控制器执行的方法。
本申请实施例中还提供一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行图4所示的实施例中存储节点或阵列控制器执行的方法。
本申请实施例提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现前述方法中存储节点或阵列控制器的功能。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
本申请实施例提供了一种存储系统,该存储系统包括存储设备以及图4所示的实施例中存储节点或阵列控制器。
本申请实施例提供的方法中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,简称DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机可以存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digital video disc,简称DVD))、或者半导体介质(例如,SSD)等。
Claims (26)
1.一种存储系统的元数据的发送方法,其特征在于,包括:
获取存储系统更新的元数据,所述更新的元数据用于指示所述存储系统中根据操作请求更新的元数据;
发送所述更新的元数据。
2.根据权利要求1所述的方法,其特征在于,所述存储系统包括多个元数据分区;所述获取存储系统更新的元数据,包括:
获取所述多个元数据分区中的第一元数据分区更新的元数据。
3.根据权利要求1或2所述的方法,其特征在于,所述获取存储系统更新的元数据,包括:
获取所述存储系统的写前日志中更新的元数据记录项;所述更新的元数据记录项包含所述操作请求对应的操作以及所述发生更新的元数据。
4.根据权利要求1-3任一所述的方法,其特征在于,所述获取存储系统更新的元数据,包括:
实时获取所述存储系统更新的元数据。
5.根据权利要求1-4任一所述的方法,其特征在于,所述发送所述更新的元数据,具体包括:
以消息的形式发送所述更新的元数据。
6.根据权利要求1-3任一项所述的方法,其特征在于,在发送所述更新的元数据之前,所述方法还包括:
接收获取请求,所述获取请求用于获取所述存储系统中更新的元数据。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述方法还包括:
在所述多个元数据分区中的第二元数据分区发生变化后,发送第一指示消息,所述第一指示消息用于指示取消对所述第二元数据分区中更新的元数据的保序。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
获取发生变化后的元数据分区中更新的元数据;
发送第二指示消息,所述第二指示消息用于指示对所述发生变化后的元数据分区中更新的元数据进行保序;
发送所述发生变化后的元数据分区中更新的元数据。
9.一种存储系统,其特征在于,包括通信接口和处理器,其中:
所述处理器,用于获取存储系统更新的元数据,所述更新的元数据用于指示所述存储系统中根据操作请求更新的元数据;
所述通信接口,用于发送所述更新的元数据。
10.根据权利要求9所述的存储系统,其特征在于,所述存储系统包括多个元数据分区;所述处理器具体用于:
获取所述多个元数据分区中的第一元数据分区更新的元数据。
11.根据权利要求9或10所述的存储系统,其特征在于,所述处理器具体用于:
获取所述存储系统的写前日志中更新的元数据记录项;所述更新的元数据记录项包含所述操作请求对应的操作以及所述发生更新的元数据。
12.根据权利要求9-11任一所述的存储系统,其特征在于,所述处理器具体用于:
实时获取所述存储系统更新的元数据。
13.根据权利要求9-12任一所述的存储系统,其特征在于,所述通信接口具体用于:
以消息的形式发送所述更新的元数据。
14.根据权利要求9-13任一项所述的存储系统,其特征在于,所述通信接口还用于:
接收获取请求,所述获取请求用于获取所述存储系统中更新的元数据。
15.根据权利要求10-14任一项所述的存储系统,其特征在于,所述通信接口还用于:
在所述多个元数据分区中的第二元数据分区发生变化后,发送第一指示消息,所述第一指示消息用于指示取消对所述第二元数据分区中更新的元数据的保序。
16.根据权利要求15所述的存储系统,其特征在于,所述处理器还用于:
获取发生变化后的元数据分区中更新的元数据;
所述通信接口还用于:
发送第二指示消息,所述第二指示消息用于指示对所述发生变化后的元数据分区中更新的元数据进行保序;
发送所述发生变化后的元数据分区中更新的元数据。
17.一种存储系统,其特征在于,包括处理单元和收发单元,其中:
所述处理单元,用于获取存储系统更新的元数据,所述更新的元数据用于指示所述存储系统中根据操作请求更新的元数据;
所述收发单元,用于发送所述更新的元数据。
18.根据权利要求17所述的存储系统,其特征在于,所述存储系统包括多个元数据分区;所述处理单元具体用于:
获取所述多个元数据分区中的第一元数据分区更新的元数据。
19.根据权利要求17或18所述的存储系统,其特征在于,所述处理单元具体用于:
获取所述存储系统的写前日志中更新的元数据记录项;所述更新的元数据记录项包含所述操作请求对应的操作以及所述发生更新的元数据。
20.根据权利要求17-19任一所述的存储系统,其特征在于,所述处理单元具体用于:
实时获取所述存储系统更新的元数据。
21.根据权利要求17-20任一所述的存储系统,其特征在于,所述收发单元具体用于:
以消息的形式发送所述更新的元数据。
22.根据权利要求17-21任一项所述的存储系统,其特征在于,所述收发单元还用于:
接收获取请求,所述获取请求用于获取所述存储系统中更新的元数据。
23.根据权利要求17-22任一项所述的存储系统,其特征在于,所述收发单元还用于:
在所述多个元数据分区中的第二元数据分区发生变化后,发送第一指示消息,所述第一指示消息用于指示取消对所述第二元数据分区中更新的元数据的保序。
24.根据权利要求23所述的存储系统,其特征在于,所述处理单元还用于:
获取发生变化后的元数据分区中更新的元数据;
所述收发单元还用于:
发送第二指示消息,所述第二指示消息用于指示对所述发生变化后的元数据分区中更新的元数据进行保序;
发送所述发生变化后的元数据分区中更新的元数据。
25.一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的方法。
26.一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-8任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910944349.3A CN112578996A (zh) | 2019-09-30 | 2019-09-30 | 一种存储系统的元数据的发送方法及存储系统 |
PCT/CN2020/117416 WO2021063242A1 (zh) | 2019-09-30 | 2020-09-24 | 一种存储系统的元数据的发送方法及存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910944349.3A CN112578996A (zh) | 2019-09-30 | 2019-09-30 | 一种存储系统的元数据的发送方法及存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112578996A true CN112578996A (zh) | 2021-03-30 |
Family
ID=75116633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910944349.3A Pending CN112578996A (zh) | 2019-09-30 | 2019-09-30 | 一种存储系统的元数据的发送方法及存储系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112578996A (zh) |
WO (1) | WO2021063242A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128470A1 (en) * | 2002-12-27 | 2004-07-01 | Hetzler Steven Robert | Log-structured write cache for data storage devices and systems |
CN105487500A (zh) * | 2014-10-06 | 2016-04-13 | 费希尔-罗斯蒙特系统公司 | 在过程控制系统中流式传输用于分析的数据 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
US20170277453A1 (en) * | 2016-03-24 | 2017-09-28 | Microsoft Technology Licensing, Llc | Distributed metadata management in a distributed storage system |
CN108347455A (zh) * | 2017-01-24 | 2018-07-31 | 阿里巴巴集团控股有限公司 | 元数据交互方法及系统 |
CN110018796A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种存储系统处理数据请求的方法、装置 |
CN110019267A (zh) * | 2017-11-21 | 2019-07-16 | 中国移动通信有限公司研究院 | 一种元数据更新方法、装置、系统、电子设备及存储介质 |
CN110134340A (zh) * | 2019-05-23 | 2019-08-16 | 苏州浪潮智能科技有限公司 | 一种元数据更新的方法、装置、设备以及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7827192B2 (en) * | 2006-12-29 | 2010-11-02 | Network Appliance, Inc. | Method and system for caching metadata of a storage system |
-
2019
- 2019-09-30 CN CN201910944349.3A patent/CN112578996A/zh active Pending
-
2020
- 2020-09-24 WO PCT/CN2020/117416 patent/WO2021063242A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128470A1 (en) * | 2002-12-27 | 2004-07-01 | Hetzler Steven Robert | Log-structured write cache for data storage devices and systems |
CN105487500A (zh) * | 2014-10-06 | 2016-04-13 | 费希尔-罗斯蒙特系统公司 | 在过程控制系统中流式传输用于分析的数据 |
CN105718484A (zh) * | 2014-12-04 | 2016-06-29 | 中兴通讯股份有限公司 | 写文件、读文件、删除文件、查询文件的方法及客户端 |
US20170277453A1 (en) * | 2016-03-24 | 2017-09-28 | Microsoft Technology Licensing, Llc | Distributed metadata management in a distributed storage system |
CN108347455A (zh) * | 2017-01-24 | 2018-07-31 | 阿里巴巴集团控股有限公司 | 元数据交互方法及系统 |
CN110019267A (zh) * | 2017-11-21 | 2019-07-16 | 中国移动通信有限公司研究院 | 一种元数据更新方法、装置、系统、电子设备及存储介质 |
CN110018796A (zh) * | 2019-04-11 | 2019-07-16 | 苏州浪潮智能科技有限公司 | 一种存储系统处理数据请求的方法、装置 |
CN110134340A (zh) * | 2019-05-23 | 2019-08-16 | 苏州浪潮智能科技有限公司 | 一种元数据更新的方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021063242A1 (zh) | 2021-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10235047B2 (en) | Memory management method, apparatus, and system | |
US10831612B2 (en) | Primary node-standby node data transmission method, control node, and database system | |
KR101871383B1 (ko) | 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템 | |
CN105740048A (zh) | 一种镜像管理方法、装置及系统 | |
CN111309732B (zh) | 数据处理方法、装置、介质和计算设备 | |
CN103338243A (zh) | Web节点的缓存数据更新方法和系统 | |
US20190220443A1 (en) | Method, apparatus, and computer program product for indexing a file | |
US10873552B2 (en) | Large data management in communication applications through multiple mailboxes | |
CN113961510B (zh) | 一种文件处理方法、装置、设备及存储介质 | |
CN110781149A (zh) | 管理直播间信息的方法、装置、设备及存储介质 | |
US11231964B2 (en) | Computing device shared resource lock allocation | |
CN114741335A (zh) | 缓存管理方法、装置、介质及设备 | |
CN108509150B (zh) | 数据处理方法及装置 | |
US10545667B1 (en) | Dynamic data partitioning for stateless request routing | |
CN113853778B (zh) | 一种文件系统的克隆方法及装置 | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
US20140025630A1 (en) | Data-store management apparatus, data providing system, and data providing method | |
CN109445966B (zh) | 事件处理方法、装置、介质和计算设备 | |
CN113051244B (zh) | 数据访问方法和装置、数据获取方法和装置 | |
CN112578996A (zh) | 一种存储系统的元数据的发送方法及存储系统 | |
CN115426375A (zh) | 一种数据处理方法和数据处理系统 | |
CN109343928B (zh) | 虚拟化集群中虚拟机的虚拟内存文件重定向方法及其系统 | |
CN114254035A (zh) | 数据库系统、数据处理方法及设备 | |
CN111399753A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220223 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right |