WO2022257337A1 - 一种实时恢复主元数据的方法、系统、设备及介质 - Google Patents
一种实时恢复主元数据的方法、系统、设备及介质 Download PDFInfo
- Publication number
- WO2022257337A1 WO2022257337A1 PCT/CN2021/127407 CN2021127407W WO2022257337A1 WO 2022257337 A1 WO2022257337 A1 WO 2022257337A1 CN 2021127407 W CN2021127407 W CN 2021127407W WO 2022257337 A1 WO2022257337 A1 WO 2022257337A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- linked list
- data block
- block
- metadata
- free
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 operations
- 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 OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Definitions
- the present application relates to the field of data centers, and more specifically refers to a method, system, computer equipment and readable medium for real-time recovery of master metadata.
- the real-time compression storage system compresses the data before it is written into the storage device, which not only reduces the storage space occupation, but also further reduces the access to the storage device (such as a disk), thereby improving the performance of the storage system.
- the main metadata block is first read from the physical storage space, and then according to the address of the first segment metadata block recorded in the main metadata, the segment metadata block is read from the physical
- the storage space is read into the memory, and according to the storage location of the user data recorded in the segment metadata block, the required user data can be read from the physical storage space into the memory.
- the real-time compression storage system When the real-time compression storage system receives the data written by the user, it first compresses the data written by the user in the memory, and when the length of multiple compressed data can make up the length of a data block, the system allocates an idle data in the physical storage space block, then write the compressed data from the memory to the free data block, and update the main metadata at the same time, mark the state of the free data block just allocated as "allocate user data", and update the segment metadata, recording the compressed user data in The storage location of the physical storage space.
- the purpose of the embodiments of the present application is to propose a method, system, computer equipment, and computer-readable storage medium for real-time recovery of main metadata.
- This application reads the newly added data block linked list and traverses the segment metadata Blocks instead of all data blocks, so that the main metadata can be recovered quickly and the performance of the real-time compressed storage system can be improved.
- an aspect of the embodiment of the present application provides a method for real-time recovery of primary metadata, including the following steps: creating a first free data block linked list, a first data block allocation linked list, and a first segment first data block linked list; In response to damage to any of the read primary metadata blocks, read the linked list of user data blocks and the linked list of segment metadata blocks of each segment, and save the data of the read user data blocks and segment metadata blocks to the The first data block allocation linked list and the first section of the first data block linked list; each data block recorded in the main metadata block linked list is marked as free, and each data block recorded in the main metadata block linked list is saved to The first free data block linked list and the second free data block linked list corresponding to the main metadata block; and selecting a free data block from the intersection of the first free data block linked list and the second free data block linked list to allocate to newly generated master metadata, and record the identifier of the free data block into the master metadata block linked list.
- the selecting a free data block from the intersection of the first free data block linked list and the second free data block linked list to allocate to the newly generated primary metadata includes: reading the first free data block data block linked list, and assign the read data to the second free data block linked list.
- the saving the data of the read user data block and segment metadata block to the first data block allocation linked list and the first segment header data block linked list includes: storing the read user data The identification of the block and the segment metadata block and the corresponding allocation status are stored in the first data block allocation linked list; and the identification of the first segment metadata block stored in the segment metadata block linked list of each segment is stored in The first segment header data block linked list.
- the recording the identifier of the free data block into the main metadata block list includes: recording the identifier of the free data block from the first free data block list and the second free data block list. Data block linked list is deleted.
- the recording the identifier of the free data block into the main metadata block linked list includes: adding the identifier and allocation status of the free data block to the second data corresponding to the main metadata block Block allocation linked list.
- the method further includes: in response to newly added user data or segment metadata, selecting a second free data block or a third free data block from the first free data block linked list to allocate to the user data or The segment metadata.
- the method further includes: recording the identifiers of the second free data block and the third free data block into the user data block linked list and the segment metadata block linked list of the segment to which they belong, respectively.
- a creation module configured to create a first free data block linked list, a first data block allocation linked list, and a first section header data block Linked list
- the first linked list module is configured to read the linked list of user data blocks and the linked list of segment metadata blocks of each segment to which the read user data block and the data of the segment metadata block are saved to the first data block allocation linked list and the first segment first data block linked list
- the second linked list module is configured to mark each data block recorded in the main metadata block linked list as Idle, and save each data block recorded in the main metadata block linked list to the first free data block linked list and the second free data block linked list corresponding to the main metadata block
- the execution module is configured to start from the first free data block linked list An idle data block is selected from the intersection of a free data block linked list and the second free data block linked list to be allocated to the newly generated primary metadata, and an identifier of the free data block is recorded in the primary metadata block linked list.
- a computer device including: at least one processor; and a memory, the memory stores computer instructions that can be run on the processor, and the instructions are executed by the The steps of the above method are realized when the processor executes.
- a computer-readable storage medium stores a computer program for implementing the above method steps when executed by a processor.
- the application has the following beneficial technical effects: the linked list of free data blocks, the linked list of data block allocation and the linked list of segment header data required for restoring the main metadata are added, and not only the main metadata and the segment metadata are updated during the user data writing process , and update the above linked list added.
- the main metadata block is damaged and the main metadata needs to be restored, read the added free data block linked list, main metadata block linked list, segment metadata block linked list and each segment corresponding user data block linked list, etc., so as to rebuild the main metadata.
- the main metadata can be recovered quickly, improving the performance of the real-time compression storage system.
- FIG. 1 is a schematic diagram of an embodiment of a method for real-time recovery of primary metadata provided by the present application
- FIG. 2 is a schematic diagram of the hardware structure of an embodiment of a computer device for real-time recovery of master metadata provided by the present application;
- FIG. 3 is a schematic diagram of an embodiment of a computer storage medium for real-time recovery of master metadata provided by the present application.
- FIG. 1 is a schematic diagram of an embodiment of a method for real-time restoration of primary metadata provided by the present application. As shown in Figure 1, the embodiment of the present application includes the following steps:
- the entire physical storage space can be divided into several fixed-length data blocks.
- the data blocks are divided into several segments, and each segment contains the same number of data blocks.
- the data block is divided into main metadata block, segment metadata block and user data block.
- the main metadata block records the main metadata, and the main metadata is used to record the state of each data block (free or storage, store user data, segment metadata or main metadata) and the first segment metadata block of each segment
- the segment metadata block is used to record the segment metadata
- the segment metadata is used to record the storage location of the compressed user data in the physical storage space, and the user data block is used to record the compressed user data.
- the first free data block linked list is used to record the identification (block ID) of the free data block
- the first data block allocation linked list is used to record the identification and status of the allocated data block
- the first segment first data block linked list is used to record each segment The identifier of the first segment metadata block for .
- the first free data block linked list is Free_Block_List
- the first data block allocation linked list is Allocated_Block_List
- the first section header data block linked list is First_Meta_Block_List.
- the linked list corresponding to the main metadata includes: the second free data block linked list Master_Free_Block_List, the second data block allocation linked list Master_Allocated_Block_List, the second first data block linked list Master_First_Meta_Block_List, and the main metadata block linked list Master_Block_List.
- the linked list corresponding to the segment metadata includes: the user data block linked list User_Block_List and the segment metadata block linked list Segment_Block_List constituting the segment.
- the method further includes: in response to newly added user data or segment metadata, selecting a second free data block or a third free data block from the first free data block linked list to allocate to the user data or The segment metadata.
- Different free data blocks can be allocated for different types of data, and new data can be written in the allocated free data blocks.
- the method further includes: recording the identifiers of the second free data block and the third free data block into the user data block linked list and the segment metadata block linked list of the segment to which they belong, respectively.
- the identification of the corresponding free data block can be recorded in the corresponding linked list of the segment, so as to know the situation of recording data in the data block.
- the identification and status of the data block in which data is written may also be recorded in the first data block allocation linked list and the second data block allocation linked list.
- the identifier of the data block is deleted from the first free data block linked list and the second free data block linked list. If the data block is used to store user data, record the block ID of the allocated data block in the User_Block_List of the segment to which it belongs; if the data block is used to store segment metadata, record the block ID of the allocated data block in the User_Block_List of the segment to which it belongs On Segment_Block_List; if the data block is used to store master metadata, record the block ID of the allocated data block on Master_Block_List.
- the saving the data of the read user data block and segment metadata block to the first data block allocation linked list and the first segment header data block linked list includes: storing the read user data The identification of the block and the segment metadata block and the corresponding allocation status are stored in the first data block allocation linked list; and the identification of the first segment metadata block stored in the segment metadata block linked list of each segment is stored in The first segment header data block linked list.
- the block ID of the stored first segment metadata block is stored on the linked list of the first segment metadata block.
- the recording the identifier of the free data block into the main metadata block list includes: recording the identifier of the free data block from the first free data block list and the second free data block list. Data block linked list is deleted.
- the recording the identifier of the free data block into the main metadata block linked list includes: adding the identifier and allocation status of the free data block to the second data corresponding to the main metadata block Block allocation linked list.
- the selecting a free data block from the intersection of the first free data block linked list and the second free data block linked list to allocate to the newly generated primary metadata includes: reading the first free data block data block linked list, and assign the read data to the second free data block linked list. Read the free data block linked list Free_Block_List and assign it to Master_Free_Block_List.
- This embodiment adds the free data block linked list, data block allocation linked list, and segment header data block linked list needed to restore the main metadata.
- main metadata and segment metadata are updated, but also the added the above linked list.
- main metadata block is damaged and the main metadata needs to be restored, read the added free data block linked list, main metadata block linked list, segment metadata block linked list and each segment corresponding user data block linked list, etc., so as to rebuild the main metadata.
- the main metadata By traversing the segment metadata blocks, the main metadata can be recovered quickly, improving the performance of the real-time compression storage system.
- the second aspect of the embodiment of the present application proposes a system for real-time recovery of master metadata, including: a creation module configured to create the first free data block linked list, the first data block allocation linked list and the second A linked list of first data blocks; the first linked list module is configured to read the linked list of user data blocks and the linked list of segment metadata blocks of each segment to which it belongs in response to the damage of any main metadata block read, and read the The data of the fetched user data block and segment metadata block is saved to the first data block allocation linked list and the first segment header data block linked list; the second linked list module is configured to record each item in the main metadata block linked list data blocks are marked as free, and each data block recorded in the main metadata block linked list is saved to the first free data block linked list and the second free data block linked list corresponding to the main metadata block; the execution module is used for configuration. selecting a free data block from the intersection of the first free data block linked list and the second free data block linked list and assigning it to the newly generated master metadata, and recording the
- the execution module is configured to: read the first linked list of free data blocks, and assign the read data to the second linked list of free data blocks.
- the first linked list module is configured to: save the identifiers and corresponding allocation statuses of the read user data blocks and segment metadata blocks to the first data block allocation linked list;
- the identifier of the first segment metadata block stored in the segment metadata block linked list is stored in the first segment header data block linked list.
- the execution module is configured to: delete the identifier of the free data block from the first linked list of free data blocks and the second linked list of free data blocks.
- the execution module is configured to: add the identification and allocation status of the free data block to the second data block allocation linked list corresponding to the primary metadata block.
- system further includes an allocation module configured to: select a second free data block or a third free data block from the first free data block linked list for allocation in response to newly added user data or segment metadata to the user data or the segment metadata.
- system further includes a recording module configured to: record the identifiers of the second free data block and the third free data block into the user data block linked list and the segment metadata block linked list of the segment to which they belong, respectively middle.
- the third aspect of the embodiments of the present application proposes a computer device, including: at least one processor; and a memory, the memory stores computer instructions that can run on the processor, and the instructions are executed by the processor to The following steps are implemented: S1. Create the first free data block linked list, the first data block allocation linked list and the first segment first data block linked list; S2. In response to any damage of the read primary metadata block, read each belonging The user data block linked list and the segment metadata block linked list of the segment, and save the data of the read user data block and the segment metadata block to the first data block allocation linked list and the first section header data block linked list; S3 1.
- the selecting a free data block from the intersection of the first free data block linked list and the second free data block linked list to allocate to the newly generated primary metadata includes: reading the first free data block data block linked list, and assign the read data to the second free data block linked list.
- the saving the data of the read user data block and segment metadata block to the first data block allocation linked list and the first segment header data block linked list includes: storing the read user data The identification of the block and the segment metadata block and the corresponding allocation status are stored in the first data block allocation linked list; and the identification of the first segment metadata block stored in the segment metadata block linked list of each segment is stored in The first segment header data block linked list.
- the recording the identifier of the free data block into the main metadata block list includes: recording the identifier of the free data block from the first free data block list and the second free data block list. Data block linked list is deleted.
- the recording the identifier of the free data block into the main metadata block linked list includes: adding the identifier and allocation status of the free data block to the second data corresponding to the main metadata block Block allocation linked list.
- the step further includes: in response to newly added user data or segment metadata, selecting a second free data block or a third free data block from the first free data block linked list to allocate to the user data or The segment metadata.
- the step further includes: recording the identifiers of the second free data block and the third free data block into the user data block linked list and the segment metadata block linked list of the segment to which they belong, respectively.
- FIG. 2 it is a schematic diagram of the hardware structure of an embodiment of the computer device for real-time recovery of main metadata provided by the present application.
- the device includes a processor 201 and a memory 202 , and may further include: an input device 203 and an output device 204 .
- the processor 201, the memory 202, the input device 203, and the output device 204 may be connected via a bus or in other ways. In FIG. 2, connection via a bus is taken as an example.
- the memory 202 can be used to store non-volatile software programs, non-volatile computer-executable programs and modules, such as the method for real-time recovery of main metadata in the embodiment of the present application Corresponding program instruction/module.
- the processor 201 executes various functional applications and data processing of the server by running non-volatile software programs, instructions and modules stored in the memory 202, that is, implements the method for real-time recovery of primary metadata in the above method embodiment.
- the memory 202 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the method of real-time recovery of master metadata Wait.
- the memory 202 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage devices.
- the memory 202 may optionally include memories that are remotely located relative to the processor 201, and these remote memories may be connected to the local module through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
- the input device 203 can receive input information such as user name and password.
- the output device 204 may include a display device such as a display screen.
- One or more program instructions/modules corresponding to the method for real-time recovery of main metadata are stored in the memory 202, and when executed by the processor 201, the method for real-time recovery of main metadata in any of the above method embodiments is executed.
- Any embodiment of the computer device that executes the above method for restoring master metadata in real time can achieve the same or similar effects as any of the foregoing method embodiments corresponding thereto.
- the present application also provides a computer-readable storage medium, and the computer-readable storage medium stores a computer program for executing the above method when executed by a processor.
- FIG. 3 it is a schematic diagram of an embodiment of the computer storage medium for real-time recovery of master metadata provided by the present application.
- the computer readable storage medium 3 stores a computer program 31 for executing the above method when executed by a processor.
- the storage medium may be a read-only memory, a magnetic disk or an optical disk, and the like.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种实时恢复主元数据的方法、系统、设备和存储介质,方法包括:创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到第一数据块分配链表和第一段首数据块链表;将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;以及从第一空闲数据块链表和第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将空闲数据块的标识记录到主元数据块链表。
Description
本申请要求在2021年6月10日提交中国专利局、申请号为202110646471.X、发明名称为“一种实时恢复主元数据的方法、系统、设备及介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及数据中心领域,更具体地,特别是指一种实时恢复主元数据的方法、系统、计算机设备及可读介质。
当今时代,随着数据的指数级增长,对存储容量的要求越来越高。通常有两种途径来应对存储容量的增长,一个是扩展存储容量,但这会带来成本的增加;另一个是对数据进行压缩,减少存储容量的消耗,节省成本。实时压缩存储系统在数据写入存储设备之前对数据进行压缩,不仅减少了存储空间的占用,更能进一步减少对存储设备(比如磁盘)的访问,从而提高存储系统的性能。
现有技术中,当实时压缩存储系统启动时,先从物理存储空间读取主元数据块,然后根据主元数据记录的段的首个段元数据块的地址,将段元数据块从物理存储空间读入内存,根据段元数据块记录的用户数据的存储位置,可以将所需的用户数据从物理存储空间读入内存。当实时压缩存储系统接收到用户写数据时,先将用户写数据在内存中压缩,当多个压缩数据的长度能够凑够一个数据块的长度时,由系统在物理存储空间中分配一个空闲数据块,然后将压缩的数据由内存写入该空闲数据块,同时更新主元数据,将刚分配的空闲数据块状态标记为“分配用户数据”,并更新段元数据,记录压缩的用户数据在物理存储空间的存储位置。
当前的实时压缩存储系统,当主元数据块损坏时,无法找到所有段的段元数据块,从而导致无法读取用户数据,且无法得知物理存储空间中每个数据块的状态,例如是空闲还是存储,是存储用户数据、段元数据还是主元数据,这样就需要遍历物理存储空间中每个数据块,根据每个数据块中记录的数据块状态、用户数据的存储位置、数据长度等信息重建段元数据和主元数据,严重影响了实时压缩存储系统的性能。
发明内容
有鉴于此,本申请实施例的目的在于提出一种实时恢复主元数据的方法、系统、计算机设备及计算机可读存储介质,本申请通过读取新增加的数据块链表,并遍历段元数据块而不是全部的数据块,从而能够迅速将主元数据恢复出来,提高实时压缩存储系统的性能。
基于上述目的,本申请实施例的一方面提供了一种实时恢复主元数据的方法,包括如下步骤:创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;以及从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。
在一些实施方式中,所述从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据包括:读取所述第一空闲数据块链表,并将读取到的数据赋给所述第二空闲数据块链表。
在一些实施方式中,所述将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表包括:将读取的 用户数据块和段元数据块的标识及相应分配状态保存到所述第一数据块分配链表;以及将每个所属段的所述段元数据块链表存储的第一个段元数据块的标识存储到所述第一段首数据块链表。
在一些实施方式中,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识从所述第一空闲数据块链表和所述第二空闲数据块链表中删除。
在一些实施方式中,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识和分配状态加入所述主元数据块对应的第二数据块分配链表。
在一些实施方式中,方法还包括:响应于新增用户数据或段元数据,从所述第一空闲数据块链表中选择第二空闲数据块或第三空闲数据块分配给所述用户数据或所述段元数据。
在一些实施方式中,方法还包括:将所述第二空闲数据块和所述第三空闲数据块的标识分别记录到所属段的用户数据块链表和段元数据块链表中。
本申请实施例的另一方面,提供了一种实时恢复主元数据的系统,包括:创建模块,配置用于创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;第一链表模块,配置用于响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;第二链表模块,配置用于将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;执行模块,配置用于从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。
本申请实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指 令,所述指令由所述处理器执行时实现如上方法的步骤。
本申请实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本申请具有以下有益技术效果:增加了恢复主元数据所需的空闲数据块链表、数据块分配链表和段首数据块链表,在用户数据写入过程中,不仅更新主元数据、段元数据,而且更新增加的上述链表。当主元数据块发生损坏,需要恢复主元数据时,依次读取增加的空闲数据块链表、主元数据块链表、段元数据块链表和每个段相应的用户数据块链表等,从而重建主元数据。通过遍历段元数据块,从而能够迅速将主元数据恢复出来,提高实时压缩存储系统的性能。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本申请提供的实时恢复主元数据的方法的实施例的示意图;
图2为本申请提供的实时恢复主元数据的计算机设备的实施例的硬件结构示意图;
图3为本申请提供的实时恢复主元数据的计算机存储介质的实施例的示意图。
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请实施例进一步详细说明。
需要说明的是,本申请实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第 二”仅为了表述的方便,不应理解为对本申请实施例的限定,后续实施例对此不再一一说明。
本申请实施例的第一个方面,提出了一种实时恢复主元数据的方法的实施例。图1示出的是本申请提供的实时恢复主元数据的方法的实施例的示意图。如图1所示,本申请实施例包括如下步骤:
S1、创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;
S2、响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;
S3、将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;以及
S4、从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。
可以将整个物理存储空间划分为若干个固定长度的数据块,当物理存储空间较大,数据块较多时,为便于管理,将数据块组成若干个段,每个段包含相同数量的数据块。根据用途,将数据块分为主元数据块、段元数据块和用户数据块。主元数据块记录主元数据,主元数据用于记录每个数据块的状态(空闲还是存储,存储用户数据、段元数据还是主元数据)和每个段的第一个段元数据块的首地址;段元数据块用于记录段元数据,段元数据用于记录压缩后的用户数据在物理存储空间的存储位置,用户数据块用于记录压缩后的用户数据。
创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表。第一空闲数据块链表用于记录空闲数据块的标识(block ID),第一数据块分配链表用于记录已分配数据块的标识及状态,第一段首数据块链表 用于记录每个段的首个段元数据块的标识。本申请实施例中,第一空闲数据块链表为Free_Block_List,第一数据块分配链表为Allocated_Block_List,第一段首数据块链表为First_Meta_Block_List。
另外,主元数据对应的链表包括:第二空闲数据块链表Master_Free_Block_List,第二数据块分配链表Master_Allocated_Block_List,第二段首数据块链表Master_First_Meta_Block_List,以及主元数据块链表Master_Block_List。段元数据对应的链表包括:组成该段的用户数据块链表User_Block_List和段元数据块链表Segment_Block_List。
在一些实施方式中,方法还包括:响应于新增用户数据或段元数据,从所述第一空闲数据块链表中选择第二空闲数据块或第三空闲数据块分配给所述用户数据或所述段元数据。对于不同类型的数据可以分配不同的空闲数据块,并用分配的空闲数据块写入新增的数据。
在一些实施方式中,方法还包括:将所述第二空闲数据块和所述第三空闲数据块的标识分别记录到所属段的用户数据块链表和段元数据块链表中。当空闲数据块中写入对应的数据后,可以在所属段的对应链表中记录对应空闲数据块的标识,以明了数据块中记录数据的情况。同时,也可以将写入了数据的数据块的标识和状态记录到第一数据块分配链表和第二数据块分配链表。
当空闲数据块被分配后,将该数据块的标识从第一空闲数据块链表和第二空闲数据块链表中删除。若该数据块用于存储用户数据,将分配的数据块的block ID记录在所属段的User_Block_List上;若该数据块用于存储段元数据,将分配的数据块的block ID记录在所属段的Segment_Block_List上;若该数据块用于存储主元数据,将分配的数据块的block ID记录在Master_Block_List上。
响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表。
在一些实施方式中,所述将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表包括:将读取的用户数据块和段元数据块的标识及相应分配状态保存到所述第一数据块分配链表;以及将每个所属段的所述段元数据块链表存储的第一个段元数据块的标识存储到所述第一段首数据块链表。对于每个段,依次读取其User_Block_List和Segment_Block_List,将其记录的用户数据块和段元数据块的block ID及相应的分配状态保存到第一数据块分配链表中;依次将每个段的Segment_Block_List存储的第一个段元数据块的block ID存储在第一段首数据块链表上。
将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表。将Master_Block_List记录的每个数据块标记为空闲,并将其分别保存到Free_Block_List和Master_Free_Block_List上。只有将数据块标记为空闲才可以给该数据块分配新的数据,才可以记录主元数据,本申请实施例中为了恢复主元数据块,需要让主元数据块链表中原来记录数据的数据块都可以去记录新生成的主元数据,所以,将主元数据块链表记录的每个数据块标记为空闲。
从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。为新生成的主元数据分配新的空闲数据块并将数据写入,将这些数据块的block ID记录在Master_Block_List上,并更新Free_Block_List、Master_Free_Block_List和Master_Allocated_Block_List。从第一空闲数据块链表和第二空闲数据块链表的交集中选择一个或多个空闲数据块作为主元数据块来接收新生成的主元数据以替换损坏的主元数据块。
在一些实施方式中,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识从所述第一空闲数据块链表和所述第二空闲数据块链表中删除。
在一些实施方式中,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识和分配状态加入所述主元数据块对应的第二数据块分配链表。
在一些实施方式中,所述从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据包括:读取所述第一空闲数据块链表,并将读取到的数据赋给所述第二空闲数据块链表。读取空闲数据块链表Free_Block_List,将其赋值给Master_Free_Block_List。
本实施例增加了恢复主元数据所需的空闲数据块链表、数据块分配链表和段首数据块链表,在用户数据写入过程中,不仅更新主元数据、段元数据,而且更新增加的上述链表。当主元数据块发生损坏,需要恢复主元数据时,依次读取增加的空闲数据块链表、主元数据块链表、段元数据块链表和每个段相应的用户数据块链表等,从而重建主元数据。通过遍历段元数据块,从而能够迅速将主元数据恢复出来,提高实时压缩存储系统的性能。
需要特别指出的是,上述实时恢复主元数据的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于实时恢复主元数据的方法也应当属于本申请的保护范围,并且不应将本申请的保护范围局限在实施例之上。
基于上述目的,本申请实施例的第二个方面,提出了一种实时恢复主元数据的系统,包括:创建模块,配置用于创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;第一链表模块,配置用于响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;第二链表模块,配置用于将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;执行模块,配置用于从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据, 并将所述空闲数据块的标识记录到所述主元数据块链表。
在一些实施方式中,所述执行模块配置用于:读取所述第一空闲数据块链表,并将读取到的数据赋给所述第二空闲数据块链表。
在一些实施方式中,所述第一链表模块配置用于:将读取的用户数据块和段元数据块的标识及相应分配状态保存到所述第一数据块分配链表;以及将每个所属段的所述段元数据块链表存储的第一个段元数据块的标识存储到所述第一段首数据块链表。
在一些实施方式中,所述执行模块配置用于:将所述空闲数据块的标识从所述第一空闲数据块链表和所述第二空闲数据块链表中删除。
在一些实施方式中,所述执行模块配置用于:将所述空闲数据块的标识和分配状态加入所述主元数据块对应的第二数据块分配链表。
在一些实施方式中,系统还包括分配模块,配置用于:响应于新增用户数据或段元数据,从所述第一空闲数据块链表中选择第二空闲数据块或第三空闲数据块分配给所述用户数据或所述段元数据。
在一些实施方式中,系统还包括记录模块,配置用于:将所述第二空闲数据块和所述第三空闲数据块的标识分别记录到所属段的用户数据块链表和段元数据块链表中。
基于上述目的,本申请实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;S2、响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;S3、将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;以及S4、从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲 数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。
在一些实施方式中,所述从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据包括:读取所述第一空闲数据块链表,并将读取到的数据赋给所述第二空闲数据块链表。
在一些实施方式中,所述将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表包括:将读取的用户数据块和段元数据块的标识及相应分配状态保存到所述第一数据块分配链表;以及将每个所属段的所述段元数据块链表存储的第一个段元数据块的标识存储到所述第一段首数据块链表。
在一些实施方式中,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识从所述第一空闲数据块链表和所述第二空闲数据块链表中删除。
在一些实施方式中,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识和分配状态加入所述主元数据块对应的第二数据块分配链表。
在一些实施方式中,步骤还包括:响应于新增用户数据或段元数据,从所述第一空闲数据块链表中选择第二空闲数据块或第三空闲数据块分配给所述用户数据或所述段元数据。
在一些实施方式中,步骤还包括:将所述第二空闲数据块和所述第三空闲数据块的标识分别记录到所属段的用户数据块链表和段元数据块链表中。
如图2所示,为本申请提供的上述实时恢复主元数据的计算机设备的一个实施例的硬件结构示意图。
以如图2所示的装置为例,在该装置中包括一个处理器201以及一个存储器202,并还可以包括:输入装置203和输出装置204。
处理器201、存储器202、输入装置203和输出装置204可以通过总线 或者其他方式连接,图2中以通过总线连接为例。
存储器202作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的实时恢复主元数据的方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的实时恢复主元数据的方法。
存储器202可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实时恢复主元数据的方法的使用所创建的数据等。此外,存储器202可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器202可选包括相对于处理器201远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置203可接收输入的用户名和密码等信息。输出装置204可包括显示屏等显示设备。
一个或者多个实时恢复主元数据的方法对应的程序指令/模块存储在存储器202中,当被处理器201执行时,执行上述任意方法实施例中的实时恢复主元数据的方法。
执行上述实时恢复主元数据的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行如上方法的计算机程序。
如图3所示,为本申请提供的上述实时恢复主元数据的计算机存储介质的一个实施例的示意图。以如图3所示的计算机存储介质为例,计算机可读存储介质3存储有被处理器执行时执行如上方法的计算机程序31。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,实时恢复主元数据的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本申请公开的示例性实施例,但是应当注意,在不背离权利要求限定的本申请实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本申请实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本申请实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请实施例公开的范围(包括权利要求)被限于这些例子;在本申请实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请 实施例的保护范围之内。
Claims (10)
- 一种实时恢复主元数据的方法,其特征在于,包括以下步骤:创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;以及从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。
- 根据权利要求1所述的方法,其特征在于,所述从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据包括:读取所述第一空闲数据块链表,并将读取到的数据赋给所述第二空闲数据块链表。
- 根据权利要求1所述的方法,其特征在于,所述将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表包括:将读取的用户数据块和段元数据块的标识及相应分配状态保存到所述第一数据块分配链表;以及将每个所属段的所述段元数据块链表存储的第一个段元数据块的标识存储到所述第一段首数据块链表。
- 根据权利要求1所述的方法,其特征在于,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识从所述第一空闲数据块链表和所述第二空闲数据块链表中删除。
- 根据权利要求1所述的方法,其特征在于,所述将所述空闲数据块的标识记录到所述主元数据块链表包括:将所述空闲数据块的标识和分配状态加入所述主元数据块对应的第二数据块分配链表。
- 根据权利要求1所述的方法,其特征在于,方法还包括:响应于新增用户数据或段元数据,从所述第一空闲数据块链表中选择第二空闲数据块或第三空闲数据块分配给所述用户数据或所述段元数据。
- 根据权利要求6所述的方法,其特征在于,方法还包括:将所述第二空闲数据块和所述第三空闲数据块的标识分别记录到所属段的用户数据块链表和段元数据块链表中。
- 一种实时恢复主元数据的系统,其特征在于,包括:创建模块,配置用于创建第一空闲数据块链表、第一数据块分配链表和第一段首数据块链表;第一链表模块,配置用于响应于读取的任意一个主元数据块出现损坏,读取每个所属段的用户数据块链表和段元数据块链表,并将读取的用户数据块和段元数据块的数据保存到所述第一数据块分配链表和所述第一段首数据块链表;第二链表模块,配置用于将主元数据块链表记录的每个数据块标记为空闲,并将主元数据块链表记录的每个数据块分别保存到所述第一空闲数据块链表和主元数据块对应的第二空闲数据块链表;执行模块,配置用于从所述第一空闲数据块链表和所述第二空闲数据块链表的交集中选择空闲数据块分配给新生成的主元数据,并将所述空闲数据块的标识记录到所述主元数据块链表。
- 一种计算机设备,其特征在于,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-7任意一项所述方法的步骤。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7任意一项所述方法的步骤。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110646471.X | 2021-06-10 | ||
| CN202110646471.XA CN113254273A (zh) | 2021-06-10 | 2021-06-10 | 一种实时恢复主元数据的方法、系统、设备及介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022257337A1 true WO2022257337A1 (zh) | 2022-12-15 |
Family
ID=77187423
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/127407 Ceased WO2022257337A1 (zh) | 2021-06-10 | 2021-10-29 | 一种实时恢复主元数据的方法、系统、设备及介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN113254273A (zh) |
| WO (1) | WO2022257337A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113254273A (zh) * | 2021-06-10 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 一种实时恢复主元数据的方法、系统、设备及介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020062422A1 (en) * | 2000-11-18 | 2002-05-23 | International Business Machines Corporation | Method for rebuilding meta-data in a data storage system and a data storage system |
| CN103488710A (zh) * | 2013-09-10 | 2014-01-01 | 广州巨杉软件开发有限公司 | 大数据页中高效存储非定常数据结构 |
| CN109683825A (zh) * | 2018-12-24 | 2019-04-26 | 广东浪潮大数据研究有限公司 | 一种存储系统在线数据压缩方法、装置及设备 |
| CN113254273A (zh) * | 2021-06-10 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 一种实时恢复主元数据的方法、系统、设备及介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106708665A (zh) * | 2016-12-20 | 2017-05-24 | 华为技术有限公司 | 一种元数据修复方法和装置 |
| US10970172B2 (en) * | 2019-04-29 | 2021-04-06 | EMC IP Holding Company LLC | Method to recover metadata in a content aware storage system |
| CN111274295B (zh) * | 2020-01-12 | 2022-07-08 | 苏州浪潮智能科技有限公司 | 一种数据库快速加载数据的方法、装置、设备和介质 |
| CN112799592A (zh) * | 2021-01-29 | 2021-05-14 | 苏州浪潮智能科技有限公司 | 一种多命名空间的分配方法、装置、设备及可读介质 |
-
2021
- 2021-06-10 CN CN202110646471.XA patent/CN113254273A/zh not_active Withdrawn
- 2021-10-29 WO PCT/CN2021/127407 patent/WO2022257337A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020062422A1 (en) * | 2000-11-18 | 2002-05-23 | International Business Machines Corporation | Method for rebuilding meta-data in a data storage system and a data storage system |
| CN103488710A (zh) * | 2013-09-10 | 2014-01-01 | 广州巨杉软件开发有限公司 | 大数据页中高效存储非定常数据结构 |
| CN109683825A (zh) * | 2018-12-24 | 2019-04-26 | 广东浪潮大数据研究有限公司 | 一种存储系统在线数据压缩方法、装置及设备 |
| CN113254273A (zh) * | 2021-06-10 | 2021-08-13 | 苏州浪潮智能科技有限公司 | 一种实时恢复主元数据的方法、系统、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113254273A (zh) | 2021-08-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109428913B (zh) | 一种存储扩容方法及装置 | |
| CN111177143B (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
| CN106446044B (zh) | 存储空间回收方法及装置 | |
| CN110555001A (zh) | 数据处理方法、装置、终端及介质 | |
| WO2019091085A1 (zh) | 一种快照比对的方法和装置 | |
| CN109918352B (zh) | 存储器系统和存储数据的方法 | |
| CN112711564B (zh) | 合并处理方法以及相关设备 | |
| WO2020199760A1 (zh) | 数据存储方法、存储器和服务器 | |
| CN114168540A (zh) | 文件索引信息处理方法、装置、电子设备及存储介质 | |
| CN112099908A (zh) | 虚拟机热迁移方法、装置和计算机设备 | |
| CN111966652A (zh) | 共享存储同步数据的方法、装置、设备、系统和存储介质 | |
| CN108089825A (zh) | 一种基于分布式集群的存储系统 | |
| WO2025073238A1 (zh) | 数据处理方法、装置、电子设备及存储介质 | |
| CN105915595B (zh) | 一种集群存储系统存取数据的方法以及集群存储系统 | |
| CN117032596B (zh) | 数据访问方法及装置、存储介质及电子设备 | |
| WO2022257337A1 (zh) | 一种实时恢复主元数据的方法、系统、设备及介质 | |
| CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
| CN111984375A (zh) | 一种裸设备容灾方法、系统、设备以及介质 | |
| CN112052110B (zh) | 一种存储方法及装置 | |
| CN111309255A (zh) | 一种卷类型转换的方法、系统、设备及介质 | |
| US11163642B2 (en) | Methods, devices and computer readable medium for managing a redundant array of independent disks | |
| CN106383664A (zh) | 数据存储方法及装置 | |
| CN115016733B (zh) | 一种脏数据删除方法、装置及电子设备 | |
| CN111966533A (zh) | 电子文件管理方法、装置、计算机设备和存储介质 | |
| CN105095197A (zh) | 一种处理数据的方法及装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21944836 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21944836 Country of ref document: EP Kind code of ref document: A1 |