WO2024045545A1 - 一种域地址变更方法、装置、设备及可读存储介质 - Google Patents
一种域地址变更方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- WO2024045545A1 WO2024045545A1 PCT/CN2023/080872 CN2023080872W WO2024045545A1 WO 2024045545 A1 WO2024045545 A1 WO 2024045545A1 CN 2023080872 W CN2023080872 W CN 2023080872W WO 2024045545 A1 WO2024045545 A1 WO 2024045545A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- domain
- address
- changed
- raid
- raid stripe
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Definitions
- the present application relates to the field of storage technology, and in particular, to a domain address changing method, device, equipment and readable storage medium.
- the four-control storage system is currently the mainstream controller architecture for unified storage.
- the four-control system uses four controllers for separate backups to achieve the performance superposition of the four controllers.
- it can be easily expanded to an eight-control storage system or reduced to a dual-control storage system based on demand.
- the four-control system divides the address space into four domains, and the space is isolated to avoid information crossover between domains.
- the domain division of space is performed by the user layer.
- the virtual space structure ensures independent controller access to the domain.
- the scheme of domain division space eliminates access to address space outside the domain, avoids resource preemption problems, and improves storage system performance.
- RAID Redundant Arrays of Independent Disks
- RAID using a four-control system follows the four-domain division rule, and the RAID internal address space is divided into four domains accordingly. Since these four domains must be consistent with the domain division of the four-control system, RAID needs to query the domains corresponding to the address space in real time when running.
- the RAID address space is usually managed in units of stripes, and RAID internally implements correspondence between domains and stripes to implement address space conversion.
- this application provides a method for changing a domain address, including:
- the cache layer includes: domain cache pool and domain calculation module.
- the domain cache pool includes: domain structure linked list.
- the domain structure linked list is composed of domain structure. Concatenated, the domain structure includes: RAID stripe number, domain address information corresponding to the RAID stripe number, and the number of references used to represent the domain structure being acquired or released; and
- obtaining domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer includes:
- domain address information corresponding to the RAID stripe number is returned.
- querying the domain cache pool for the RAID stripe number of the address to be changed includes:
- calculating the hash node number corresponding to the RAID stripe number of the address to be changed includes:
- H represents the hash node number
- N represents the RAID stripe number of the address to be changed
- L represents the hash table length
- domain address information corresponding to the RAID stripe number of the address to be changed is obtained through domain calculation.
- the domain address information corresponding to the RAID stripe number of the address to be changed through domain calculation it also includes:
- the domain address information corresponding to the RAID stripe number of the address to be changed information establish the corresponding new domain structure
- caching the newly created domain structure into the domain cache pool includes:
- caching the newly created domain structure into the domain cache pool also includes:
- updating the RAID domain address information of the address to be changed includes:
- the stripe number array includes the RAID stripe numbers of the address to be changed in sequence;
- initiating a change task to update the original domain address corresponding to the RAID stripe number of the address to be changed in the stripe number array to a new domain address includes:
- the callback function in response to the result of determining whether the number of references is greater than zero, monitoring the RAID stripe number whose number of references is greater than zero in the array of stripe numbers, in response to the number of references corresponding to the RAID stripe number becoming Zero, the callback function is called to indicate the number of RAID strip numbers with a non-zero reference count;
- the original domain address is immediately updated with the new domain address, completing the domain address change method.
- calling the callback function to indicate the number of RAID strip numbers with a non-zero reference count includes:
- the number of RAID stripe numbers with non-zero reference times is reduced by one to determine the current number of RAID stripe numbers with non-zero reference times.
- this application provides a domain address changing device, including: a strip calculation module, and a domain address acquisition module. Module, domain address update module;
- the stripe calculation module is used to respond to the domain address change request and calculate the RAID stripe number corresponding to the address to be changed in the address space based on the RAID stripe length;
- the domain address acquisition module is used to obtain the domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the cache layer includes: a domain cache pool and a domain calculation module.
- the domain cache pool includes: a domain structure linked list. , the domain structure linked list is formed by cascading domain structures.
- the domain structure includes: RAID stripe number, domain address information corresponding to the RAID stripe number, and the number of references used to represent the domain structure being acquired or released; and
- the domain address update module is used to update the domain address information of the address to be changed.
- the present application provides a computer device, including one or more memories, one or more processors, and a computer-readable program stored on the one or more memories and capable of running on the one or more processors. Instructions. When the one or more processors execute the computer-readable instructions, the steps of the method described in the first aspect are implemented.
- the present application provides a non-volatile computer-readable storage medium on which computer-readable instructions are stored.
- the computer-readable instructions are executed by one or more processors, the method described in the first aspect is implemented. A step of.
- Figure 1 is a schematic diagram of a domain address changing method provided in one or more embodiments of the present application.
- Figure 2 is a schematic diagram of obtaining a domain address from a RAID address space provided in one or more embodiments of the present application;
- Figure 3 is a schematic diagram of a RAID address space obtaining a domain address provided in one or more embodiments of the present application;
- Figure 4 is a schematic diagram of a domain cache pool provided in one or more embodiments of the present application.
- Figure 5 is a schematic structural diagram of a domain cache pool provided in one or more embodiments of the present application.
- Figure 6 is a schematic diagram of an LRU chain update method provided in one or more embodiments of the present application.
- Figure 7 is a schematic diagram of a domain address changing device provided in one or more embodiments of the present application.
- Figure 8 is an internal structure diagram of a computer device provided in one or more embodiments of the present application.
- Words such as “connected” or “connected” are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect. "Up”, “down”, “left”, “right”, etc. are only used to express relative positional relationships. When the absolute position of the described object changes, the relative positional relationship may also change accordingly.
- Embodiments of the present application disclose a domain address change method, device, equipment and readable storage medium, which ensures the domain change environment without suspending all RAID services and improves the overall performance of RAID during the domain change process.
- a domain address changing method includes:
- Step S1 When obtaining a domain address change request, calculate the RAID stripe number corresponding to the address to be changed in the address space based on the RAID stripe length.
- Step S2 Obtain domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the cache layer includes: domain cache pool and domain computing module.
- the domain cache pool includes: domain structure linked list.
- the domain structure linked list is formed by cascading domain structures.
- the domain structure includes: RAID stripe number, which corresponds to the RAID stripe number. Domain address information, and the number of references used to represent the domain structure being acquired or released.
- Step S3 Update the domain address information of the address to be changed.
- step S2 Obtain domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the domain address is obtained by requesting the domain address from the domain calculation module, and then having the domain calculation module return the domain address.
- the domain calculation module repeats calculations, which increases IO latency and therefore reduces the overall RAID performance.
- the cache layer includes: domain cache pool and domain computing module.
- the domain cache pool is used to cache commonly used domain addresses (as shown in Figure 4), so that when the RAID address space maps domain addresses to the logical layer, the common domain address query function is provided to shorten the calculation time of commonly used domain addresses.
- the domain address is calculated through the domain calculation module.
- the structure includes a domain structure concatenated by hash nodes and a domain structure concatenated by LRU chains (Least Recently Used, least recently used), as shown in Figure 5.
- Step S21 Query the RAID stripe number of the address to be changed in the domain cache pool.
- Step S211 Calculate the hash node number corresponding to the RAID stripe number of the address to be changed
- H represents the hash node number
- N represents the RAID stripe number of the address to be changed
- L represents the hash table length
- Step S212 Poll the RAID stripe number in the domain structure that is concatenated with the hash node number, and compare it with the RAID stripe number of the address to be changed.
- step S22 return the domain address information corresponding to the RAID stripe number
- step S22' is executed: obtain the domain address information corresponding to the RAID stripe number of the address to be changed through domain calculation.
- domain address information corresponding to the RAID stripe number of the address to be changed through domain calculation it also includes:
- Step S23′ Establish a corresponding new domain structure according to the RAID stripe number of the address to be changed and the domain address information corresponding to the RAID stripe number of the address to be changed;
- Step S24′ Cache the newly created domain structure into the domain cache pool.
- step S241′ delete a domain structure at the end of the domain structure linked list
- Step S242' Translate the entire domain structure linked list with the tail domain structure deleted to the tail of the domain structure linked list by one domain structure unit;
- Step S243′ Add the newly created domain structure to the head of the domain structure linked list.
- the original domain structure linked list includes: domain structure 1, domain structure 2,..., domain structure N.
- step S241′′ shift the entire domain structure linked list to the end of the domain structure linked list by one domain structure unit;
- Step S242′′ Add the newly created domain structure to the head of the domain structure linked list.
- Step S3 Update the domain address information of the address to be changed.
- Step S31 Obtain the stripe number array of the address to be changed.
- the stripe number array includes the RAID stripe numbers of the address to be changed in sequence;
- Step S32 Start the change task, and update the original domain address corresponding to the RAID stripe number of the address to be changed in the stripe number array to the new domain address;
- Step S321 Obtain the number of RAID strip numbers with non-zero reference times in the strip number array
- Step S322 Determine whether the number of citations is greater than zero
- step S323 Immediately update the original domain address with the new domain address to complete the domain address change method
- step S323′ Monitor the RAID stripe numbers whose reference count is greater than zero in the stripe number array. When the reference count corresponding to a RAID stripe number becomes zero, call a callback function to indicate that the reference count is not zero.
- Step S324' When the number of RAID strip numbers with non-zero reference times is zero, immediately update the original domain address with the new domain address, completing the domain address change method;
- the number of RAID stripe numbers with non-zero reference times is reduced by one to determine the current number of RAID stripe numbers with non-zero reference times.
- the above-mentioned domain address changing method can be executed by burning firmware into a RAID board, or it can also be executed under a LINUX system, which is not limited by this application.
- a domain address changing device includes: a strip calculation module, a domain address acquisition module, and a domain address update module;
- the stripe calculation module is used to calculate the RAID stripe number corresponding to the address to be changed in the address space based on the RAID stripe length when obtaining a domain address change request;
- the domain address acquisition module is used to obtain the domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the cache layer includes: a domain cache pool and a domain calculation module.
- the domain cache pool includes: a domain structure linked list. , the domain structure linked list is formed by cascading domain structures.
- the domain structure includes: RAID stripe number, domain address information corresponding to the RAID stripe number, and the number of references used to represent the domain structure being acquired or released;
- the domain address update module is used to update the domain address information of the address to be changed.
- a computer device including one or more memories, one or more processors, and a computer programmable device stored on the one or more memories and operable on the one or more processors. Read instructions. When one or more processors execute computer readable instructions, the steps of the method recorded in the first aspect are implemented.
- the computer device includes a processor, memory, network interface, and database connected through a system bus. Wherein, the processor of the computer device is used to provide computing and control capabilities.
- the memory of the computer device includes non-volatile storage media and internal memory. The non-volatile storage medium stores operating systems, computer programs and databases.
- This internal memory provides an environment for the execution of operating systems and computer programs in non-volatile storage media.
- the database of the computer device is used to store data such as domain address information. For specific data stored, please refer to the limitations in the above method embodiments.
- the network interface of the computer device is used to communicate with external terminals through a network connection.
- the computer program implements a domain address changing method when executed by the processor.
- Figure 8 is only a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer equipment to which the solution of the present application is applied.
- Specific computer equipment can May include more or fewer parts than shown, or combine certain parts, or have a different arrangement of parts.
- a non-volatile computer-readable storage medium has computer-readable instructions stored thereon.
- the steps of the method recorded in the first aspect are implemented. .
- Step S1 When obtaining a domain address change request, calculate the RAID stripe number corresponding to the address to be changed in the address space based on the RAID stripe length.
- Step S2 Obtain domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the cache layer includes: domain cache pool and domain computing module.
- the domain cache pool includes: domain structure linked list.
- the domain structure linked list is formed by cascading domain structures.
- the domain structure includes: RAID stripe number, which corresponds to the RAID stripe number. Domain address information, and the number of references used to represent the domain structure being acquired or released.
- Step S3 Update the domain address information of the address to be changed.
- step S2 Obtain domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the domain address is obtained by requesting the domain address from the domain calculation module, and then the domain calculation module returns the domain address. .
- the domain calculation module repeats calculations, which increases IO latency and therefore reduces the overall RAID performance.
- This application adds a cache layer between the RAID address space and the logical layer, as shown in Figure 3.
- the cache layer includes: domain cache pool and domain computing module.
- the domain cache pool is used to cache commonly used domain addresses (as shown in Figure 4), so that when the RAID address space maps domain addresses to the logical layer, the common domain address query function is provided to shorten the calculation time of commonly used domain addresses.
- the domain address is calculated through the domain calculation module.
- the structure includes a domain structure concatenated by hash nodes and a domain structure concatenated by LRU chains (Least Recently Used, least recently used), as shown in Figure 5.
- Step S21 Query the RAID stripe number of the address to be changed in the domain cache pool.
- Step S211 Calculate the hash node number corresponding to the RAID stripe number of the address to be changed
- H represents the hash node number
- N represents the RAID stripe number of the address to be changed
- L represents the hash table length
- Step S212 Poll the RAID stripe number in the domain structure that is concatenated with the hash node number, and compare it with the RAID stripe number of the address to be changed.
- step S22 return the domain address information corresponding to the RAID stripe number
- step S22' obtain domain address information corresponding to the RAID stripe number of the address to be changed through domain calculation.
- domain address information corresponding to the RAID stripe number of the address to be changed through domain calculation it also includes:
- Step S23′ Establish a corresponding new domain structure according to the RAID stripe number of the address to be changed and the domain address information corresponding to the RAID stripe number of the address to be changed;
- Step S24′ Cache the newly created domain structure into the domain cache pool.
- step S241′ delete a domain structure at the end of the domain structure linked list
- Step S242' Translate the entire domain structure linked list with the tail domain structure deleted to the tail of the domain structure linked list by one domain structure unit;
- Step S243′ Add the newly created domain structure to the head of the domain structure linked list.
- the original domain structure linked list includes: domain structure 1, domain structure 2,..., domain structure N.
- step S241′′ shift the entire domain structure linked list to the end of the domain structure linked list by one domain structure unit;
- Step S242′′ Add the newly created domain structure to the head of the domain structure linked list.
- Step S3 Update the domain address information of the address to be changed.
- Step S31 Obtain the stripe number array of the address to be changed.
- the stripe number array includes the RAID stripe numbers of the address to be changed in sequence;
- Step S32 Start the change task, and update the original domain address corresponding to the RAID stripe number of the address to be changed in the stripe number array to the new domain address;
- Step S321 Obtain the number of RAID strip numbers with non-zero reference times in the strip number array
- Step S322 Determine whether the number of citations is greater than zero
- step S323 Immediately update the original domain address with the new domain address to complete the domain address change method
- step S323′ Monitor the RAID stripe numbers whose reference count is greater than zero in the stripe number array. When the reference count corresponding to a RAID stripe number becomes zero, call a callback function to indicate that the reference count is not zero.
- Step S324' When the number of RAID strip numbers with non-zero reference times is zero, immediately update the original domain address with the new domain address, completing the domain address change method;
- the number of RAID stripe numbers with non-zero reference times is reduced by one to determine the current number of RAID stripe numbers with non-zero reference times.
- a domain address change method described above is executed under a LINUX system.
- a domain address changing device including: a strip calculation module, a domain address acquisition module, Domain address update module;
- the stripe calculation module is used to calculate the RAID stripe number corresponding to the address to be changed in the address space based on the RAID stripe length when obtaining a domain address change request;
- the domain address acquisition module is used to obtain the domain address information corresponding to the RAID stripe number of the address to be changed from the cache layer.
- the cache layer includes: a domain cache pool and a domain calculation module.
- the domain cache pool includes: a domain structure linked list. , the domain structure linked list is formed by cascading domain structures.
- the domain structure includes: RAID stripe number, domain address information corresponding to the RAID stripe number, and the number of references used to represent the domain structure being acquired or released;
- the domain address update module is used to update the domain address information of the address to be changed.
- the above domain address changing device When executed, the above domain address changing device can implement the steps of the domain address changing method provided in any of the foregoing embodiments.
- the processes described above with reference to the flowcharts may be implemented as computer software readable instructions.
- embodiments of the present application include computer-readable instructions loaded on a non-volatile computer-readable storage medium, the computer-readable instructions including instructions for performing the method shown in the flowchart program code.
- the computer readable instructions may be downloaded and installed from a network via a communication device, or from one or more memories, or from ROM.
- the computer-readable instructions are executed by one or more external processors, the above-described functions defined in the methods of the embodiments of the application are performed.
- non-volatile computer-readable storage medium in the embodiment of the present application may be a computer-readable signal medium or a non-volatile computer-readable storage medium, or any combination of the above two.
- the non-volatile computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof.
- non-volatile computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard drives, random access memory (RAM), read only memory (ROM), Erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
- a non-volatile computer-readable storage medium may be any tangible medium that contains or stores a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, in which computer-readable instruction codes are carried. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
- the computer-readable signal medium may also be any non-volatile computer-readable storage medium other than non-volatile computer-readable storage media that may be sent, propagated, or transmitted for use by an instruction execution system, device, or Procedures for use with or in conjunction with the device. non-volatile
- the program code contained on the computer-readable storage medium can be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency, radio frequency), etc., or any suitable combination of the above.
- the above-mentioned non-volatile computer-readable storage medium may be included in the above-mentioned server; it may also exist separately without being assembled into the server.
- the above-mentioned non-volatile computer-readable storage medium carries one or more programs.
- the server in response to detecting that the peripheral mode of the terminal is not activated, obtains the terminal The frame rate applied on the screen; when the frame rate meets the screen off condition, it is judged whether the user is obtaining the screen information of the terminal; in response to the judgment result that the user is not obtaining the screen information of the terminal, the screen is controlled to enter the immediate dimming mode.
- Computer program code for performing operations of embodiments of the present application may be written in one or more programming languages, including object-oriented programming languages—such as Java, Smalltalk, C++, and A conventional procedural programming language—such as "C" or a similar programming language.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as an Internet service provider through Internet connection).
- LAN local area network
- WAN wide area network
- Internet service provider such as an Internet service provider through Internet connection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
H=N%L
H=N%L
H=N%L
Claims (21)
- 一种域地址变更方法,其特征在于,所述方法包括:响应于获取域地址变更请求,根据RAID条带长度,计算待变更地址在地址空间对应的RAID条带编号;从缓存层中获取与待变更地址的RAID条带编号相对应的域地址信息,其中,所述缓存层包括:域缓存池和域计算模块,所述域缓存池包括:域结构链表,所述域结构链表由域结构级联而成,所述域结构包括:RAID条带编号,与所述RAID条带编号对应的域地址信息,以及用于表征所述域结构被获取或被释放的引用次数;及更新待变更地址的域地址信息。
- 根据权要求1所述的一种域地址变更方法,其特征在于,所述方法应用于四控存储RAID架构,还包括:响应于RAID地址空间向逻辑层映射域地址,通过向域计算模块请求域地址;及通过所述域计算模块返回域地址以获取所述域地址。
- 根据权要求1所述的一种域地址变更方法,其特征在于,所述方法还包括:响应于RAID地址空间向逻辑层映射域地址,提供常用域地址查询功能。
- 根据权利要求1所述的一种域地址变更方法,其特征在于,所述从缓存层中获取与待变更地址的RAID条带编号相对应的域地址信息包括:在所述域缓存池中查询所述待变更地址的RAID条带编号;及响应于所述域缓存池中包括所述待变更地址的RAID条带编号,返回与所述RAID条带编号相对应的域地址信息。
- 根据权利要求4所述的一种域地址变更方法,其特征在于,所述在所述域缓存池中查询所述待变更地址的RAID条带编号包括:计算与所述待变更地址的RAID条带编号相对应的哈希节点编号;及轮询与所述哈希节点编号相串联的域结构中的RAID条带编号,与所述待变更地址的RAID条带编号进行比对。
- 根据权利要求5所述的一种域地址变更方法,其特征在于,所述计算与所述待变更地址的RAID条带编号相对应的哈希节点编号包括:根据公式
H=N%L计算与所述待变更地址的RAID条带编号相对应的哈希节点编号,其中,H表示哈希节点编号,N表示待变更地址的RAID条带编号,L表示哈希表长度。 - 根据权利要求4所述的一种域地址变更方法,其特征在于,所述方法还包括:响应于所述域缓存池中未包括所述待变更地址的RAID条带编号,通过所述域计算模块进行域地址计算。
- 根据权利要求4所述的一种域地址变更方法,其特征在于,通过所述域计算模块进行域地址计算,包括:通过域计算获取与所述待变更地址的RAID条带编号相对应的域地址信息。
- 根据权利要求1所述的一种域地址变更方法,其特征在于,所述域缓存池的所述域结构还包括:由哈希节点串联的域结构和LRU链串联的域结构。
- 根据权利要求1所述的一种域地址变更方法,其特征在于,所述域结构链表还包括域结构1-N。
- 根据权利要求8所述的一种域地址变更方法,其特征在于,所述通过域计算获取所述待变更地址的RAID条带编号相对应的域地址信息之后还包括:根据所述待变更地址的RAID条带编号,所述待变更地址的RAID条带编号相对应的域地址信息,建立相应的新建域结构;及将所述新建域结构缓存至所述域缓存池。
- 根据权利要求11所述的一种域地址变更方法,其特征在于,所述将所述新建域结构缓存至所述域缓存池包括:响应于所述域结构链表容量已满,从删除所述域结构链表尾部的一个域结构;将删除尾部域结构的域结构链表整体向所述域结构链表的尾部平移一个域结构单位;及将所述新建域结构添加至所述域结构链表的头部。
- 根据权利要求12所述的一种域地址变更方法,其特征在于,所述将所述新建域结构缓存至所述域缓存池还包括:响应于所述域结构链表容量未满,将所述域结构链表整体向所述域结构链表的尾部平移一个域结构单位;及将所述新建域结构添加至所述域结构链表的头部。
- 根据权利要求1所述的一种域地址变更方法,其特征在于,所述更新待变更地址 的RAID域地址信息包括:获取待变更地址的条带编号数组,所述条带编号数组包括依次排列的待变更地址的RAID条带编号;及启动变更任务,将所述条带编号数组中的待变更地址的RAID条带编号所对应的原域地址更新为新域地址。
- 根据权利要求14所述的一种域地址变更方法,其特征在于,所述启动变更任务,将所述条带编号数组中的待变更地址的RAID条带编号所对应的原域地址更新为新域地址包括:获取所述条带编号数组中,引用次数不为零的RAID条带编号数量;判断所述引用次数是否大于零;及响应于结果为否,立即以所述新域地址更新所述原域地址,完成所述域地址变更方法。
- 根据权利要求15所述的一种域地址变更方法,其特征在于,响应于判断所述引用次数是否大于零的结果为是,监控所述条带编号数组中,引用次数大于零的RAID条带编号,响应于有RAID条带编号对应的引用次数变为零,调用回调函数以表示所述引用次数不为零的RAID条带编号数量;及响应于引用次数不为零的RAID条带编号数量为零,立即以所述新域地址更新所述原域地址,完成所述域地址变更方法。
- 根据权利要求16所述的一种域地址变更方法,其特征在于,所述调用回调函数以表示所述引用次数不为零的RAID条带编号数量包括:将所述引用次数不为零的RAID条带编号数量减一后,作为当前所述引用次数不为零的RAID条带编号数量。
- 根据权利要求1所述的一种域地址变更方法,其特征在于,所述域计算模块用于计算并返回域地址。
- 一种域地址变更装置,其特征在于,所述装置包括:条带计算模块,域地址获取模块,域地址更新模块;所述条带计算模块,用于当获取域地址变更请求时,根据RAID条带长度,计算待变更地址在地址空间对应的RAID条带编号;所述域地址获取模块,用于从缓存层中获取与待变更地址的RAID条带编号相对应的域地址信息,其中,所述缓存层包括:域缓存池和域计算模块,所述域缓存池包括:域结构,域结构链表,所述域结构包括:RAID条带编号,与所述RAID条带编号对应的域地 址信息,以及用于表征所述域结构被获取或被释放的引用次数;及所述域地址更新模块,用于更新待变更地址的域地址信息。
- 一种计算机设备,包括一个或多个存储器、一个或多个处理器及存储在一个或多个存储器上并可在所述一个或多个处理器上运行的计算机可读指令,其特征在于,所述一个或多个处理器执行所述计算机可读指令时实现权利要求1至18任意一项所述方法的步骤。
- 一种非易失性计算机可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被一个或多个处理器执行时实现权利要求1至18任意一项所述方法的步骤。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211064448.0A CN115129267B (zh) | 2022-09-01 | 2022-09-01 | 一种域地址变更方法、装置、设备及可读存储介质 |
| CN202211064448.0 | 2022-09-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024045545A1 true WO2024045545A1 (zh) | 2024-03-07 |
Family
ID=83387132
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/080872 Ceased WO2024045545A1 (zh) | 2022-09-01 | 2023-03-10 | 一种域地址变更方法、装置、设备及可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN115129267B (zh) |
| WO (1) | WO2024045545A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115129267B (zh) * | 2022-09-01 | 2023-02-03 | 苏州浪潮智能科技有限公司 | 一种域地址变更方法、装置、设备及可读存储介质 |
| CN118331512B (zh) * | 2024-06-14 | 2024-09-13 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于存储控制卡的处理方法和装置 |
| CN120743812B (zh) * | 2025-09-05 | 2026-01-27 | 山东云海国创云计算装备产业创新中心有限公司 | 地址映射方法、装置、存储系统、程序产品、存储介质 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4835686A (en) * | 1985-05-29 | 1989-05-30 | Kabushiki Kaisha Toshiba | Cache system adopting an LRU system, and magnetic disk controller incorporating it |
| CN102023809A (zh) * | 2009-09-21 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 存储系统、从存储系统读取数据的方法及写入数据的方法 |
| CN107402890A (zh) * | 2017-07-24 | 2017-11-28 | 华中科技大学 | 一种基于固态盘阵列和缓存的数据处理方法及系统 |
| CN108228088A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
| CN111857557A (zh) * | 2019-04-30 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | Raid类型转换的方法、设备和计算机程序产品 |
| CN114064979A (zh) * | 2021-11-02 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种加速获取raid的存储数据的方法、计算机及存储介质 |
| CN115129267A (zh) * | 2022-09-01 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种域地址变更方法、装置、设备及可读存储介质 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7613060B2 (en) * | 2007-05-21 | 2009-11-03 | Micron Technology, Inc. | Methods, circuits, and systems to select memory regions |
| CN102334093B (zh) * | 2009-03-18 | 2017-08-01 | 株式会社日立制作所 | 存储控制装置以及虚拟卷的控制方法 |
| GB2534956A (en) * | 2013-10-09 | 2016-08-10 | Hitachi Ltd | Storage system and storage control method |
| CN112328182B (zh) * | 2020-11-27 | 2022-04-22 | 长沙景嘉微电子股份有限公司 | 一种raid数据管理方法、装置和计算机可读存储介质 |
-
2022
- 2022-09-01 CN CN202211064448.0A patent/CN115129267B/zh active Active
-
2023
- 2023-03-10 WO PCT/CN2023/080872 patent/WO2024045545A1/zh not_active Ceased
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4835686A (en) * | 1985-05-29 | 1989-05-30 | Kabushiki Kaisha Toshiba | Cache system adopting an LRU system, and magnetic disk controller incorporating it |
| CN102023809A (zh) * | 2009-09-21 | 2011-04-20 | 成都市华为赛门铁克科技有限公司 | 存储系统、从存储系统读取数据的方法及写入数据的方法 |
| CN108228088A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 用于管理存储系统的方法和设备 |
| CN107402890A (zh) * | 2017-07-24 | 2017-11-28 | 华中科技大学 | 一种基于固态盘阵列和缓存的数据处理方法及系统 |
| CN111857557A (zh) * | 2019-04-30 | 2020-10-30 | 伊姆西Ip控股有限责任公司 | Raid类型转换的方法、设备和计算机程序产品 |
| CN114064979A (zh) * | 2021-11-02 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种加速获取raid的存储数据的方法、计算机及存储介质 |
| CN115129267A (zh) * | 2022-09-01 | 2022-09-30 | 苏州浪潮智能科技有限公司 | 一种域地址变更方法、装置、设备及可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115129267A (zh) | 2022-09-30 |
| CN115129267B (zh) | 2023-02-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2024045545A1 (zh) | 一种域地址变更方法、装置、设备及可读存储介质 | |
| CN111078147B (zh) | 一种缓存数据的处理方法、装置、设备及存储介质 | |
| EP3929756B1 (en) | Method, system, and intelligent network interface card for migrating data | |
| JP4494420B2 (ja) | 複数ファクタに基づく適応ファイル先読み | |
| JP2022539950A (ja) | ストレージシステム、メモリ管理方法、および管理ノード | |
| CN118974712A (zh) | 具有零行优化的直接交换高速缓存 | |
| US20090240880A1 (en) | High availability and low capacity thin provisioning | |
| US20150317101A1 (en) | Computer system and control method for the same | |
| CN112632069B (zh) | 哈希表数据存储管理方法、装置、介质和电子设备 | |
| US10956335B2 (en) | Non-volatile cache access using RDMA | |
| CN110998557A (zh) | 通过分布式存储器的高可用性数据库 | |
| CN111639061A (zh) | Redis集群中数据管理方法、装置、介质及电子设备 | |
| CN109347936B (zh) | Redis代理客户端的实现方法、系统、存储介质及电子设备 | |
| JP6343722B2 (ja) | マルチコアシステムにおいてデータ訪問者ディレクトリにアクセスするための方法及びデバイス | |
| WO2021008425A1 (zh) | 一种系统启动方法以及相关设备 | |
| WO2015118865A1 (ja) | 情報処理装置、情報処理システム及びデータアクセス方法 | |
| WO2025118533A1 (zh) | 一种数据传输的方法和计算设备 | |
| WO2023045492A1 (zh) | 一种数据预取方法、计算节点和存储系统 | |
| CN113243008A (zh) | 具有共享页面高速缓存的分布式vfs | |
| CN107193494B (zh) | 一种基于ssd和hdd混合存储系统的rdd持久化方法 | |
| CN111247508B (zh) | 网络存储架构 | |
| CN111031126A (zh) | 集群缓存共享方法、系统、设备及存储介质 | |
| CN104978283B (zh) | 一种内存访问控制方法,及装置 | |
| CN117271107A (zh) | 数据处理方法、装置、电子设备以及计算机可读存储介质 | |
| US10025521B2 (en) | Obtaining additional data storage from another data storage system |
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: 23858588 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: 23858588 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09/07/2025) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23858588 Country of ref document: EP Kind code of ref document: A1 |