Cross-architecture resource sharing method and device, equipment and storage medium

By generating read or write data instructions and utilizing a cluster mapping table, storage resource sharing between servers with different CPU architectures is achieved, solving the problem of storage isolation in heterogeneous environments, realizing efficient sharing and compatibility of storage resources, and reducing operation and maintenance costs.

CN122044852APending Publication Date: 2026-05-15BEIJING UDSAFE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING UDSAFE TECH CO LTD
Filing Date
2026-01-28
Publication Date
2026-05-15

AI Technical Summary

Technical Problem

In heterogeneous CPU environments, storage resources cannot be shared, leading to resource waste, complex operation and maintenance management, and requiring significant financial investment.

Method used

By generating read or write data instructions and determining the target server and storage location based on the cluster mapping table, storage resource sharing between servers with different CPU architectures is achieved. By using virtualization and centralized mapping technologies to decouple storage resources, a cross-architecture resource sharing system is built.

Benefits of technology

It enables the pooling and efficient sharing of storage resources in heterogeneous clusters, avoiding waste of storage resources, reducing operation and maintenance costs, and is compatible with existing heterogeneous hardware, eliminating the need to replace servers or purchase dedicated storage devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122044852A_ABST
    Figure CN122044852A_ABST
Patent Text Reader

Abstract

The invention discloses a cross-architecture resource sharing method and device, equipment and a storage medium, and relates to the technical field of computers. The method comprises the steps that a demand server generates a data reading or writing instruction, determines a target server and a target storage position of the data reading or writing instruction according to a cluster mapping table, and sends the data reading or writing instruction and the target storage position to the target server, the CPU architecture of the target server is different from that of the demand server, and the CPU architecture of the target server is different from that of the demand server. The cluster mapping table comprises an association relationship between a data object to be written or read in the data reading or writing instruction and a virtual storage unit of the server, the target storage position is an identifier of the virtual storage unit of the target server, and the virtual storage unit is a virtualized representation of local storage resources in the server; and the target server performs data reading or writing operation according to the data reading or writing instruction and the target storage position. According to the technical scheme of the embodiment of the invention, servers with different CPU architectures are allowed to directly share bottom storage resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, device, and storage medium for cross-architecture resource sharing. Background Technology

[0002] With the rapid development of computers, maximizing the utilization of device resources has gradually become a key focus. Servers and other devices suffer from a wide variety of CPU architectures.

[0003] Currently, when encountering multi-architecture environments, existing solutions often utilize multiple hyperconverged platforms to ensure the secure and stable operation of subsequent devices, and then use these platforms to manage these heterogeneous devices. However, this approach not only involves complex operation and maintenance management and requires greater investment, but also results in the storage resources of each hyperconverged platform being independent and unable to be shared, leading to a certain degree of resource waste. Summary of the Invention

[0004] This invention provides a method, apparatus, device, and storage medium for cross-architecture resource sharing to solve the problem of storage resource sharing among heterogeneous CPUs.

[0005] In a first aspect, the present invention provides a cross-architecture resource sharing method, comprising: The demand server generates a read or write data instruction and determines the target server and target storage location of the read or write data instruction according to the cluster mapping table. The demand server sends the read or write data instruction and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instruction and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server. The target server performs data read or write operations according to the read or write data instructions and the target storage location.

[0006] Secondly, the present invention provides a cross-architecture resource sharing device, comprising: The information sending module in the demand server is used to generate read or write data instructions, determine the target server and target storage location of the read or write data instructions according to the cluster mapping table, and send the read or write data instructions and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instructions and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server. The read / write module in the target server is used to perform data read or write operations according to the read or write data instructions and the target storage location.

[0007] Thirdly, the present invention provides a cross-architecture resource sharing system, which includes at least: a first server and a second server; Wherein, the first server is used to execute the steps performed by the demand server in the cross-architecture resource sharing method of the first aspect described above, and the second server is used to execute the steps performed by the target server in the cross-architecture resource sharing method of the first aspect described above.

[0008] Fourthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a processor to execute the cross-architecture resource sharing method of the first aspect described above.

[0009] The cross-architecture resource sharing scheme provided by this invention involves a request server generating a read or write data instruction, determining the target server and target storage location of the read or write data instruction based on a cluster mapping table, and sending the read or write data instruction and the target storage location to the target server. The target server has a different CPU architecture than the request server. The cluster mapping table contains the association between the data object to be read or written in the read or write data instruction and the server's virtual storage unit. The target storage location is the identifier of the target server's virtual storage unit, which is a virtualized representation of the local storage resources in the server. The target server performs data read or write operations based on the read or write data instruction and the target storage location. By adopting the above technical solution, servers with different CPU architectures can directly share underlying storage resources, solving the problems of storage isolation and data incompatibility in traditional heterogeneous environments. Through virtualization and centralized mapping, storage resources are decoupled from specific CPU architectures, thereby achieving storage resource pooling and efficient sharing of heterogeneous clusters without increasing complexity and cost. This avoids storage resource waste, reduces subsequent operation and maintenance management, is compatible with existing heterogeneous hardware, and eliminates the need to replace servers or purchase dedicated storage devices for a unified architecture, thus reducing capital investment.

[0010] It should be understood that the description in this section is not intended to identify key or essential features of the invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0011] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 This is a flowchart of a cross-architecture resource sharing method provided in Embodiment 1 of the present invention; Figure 2 This is a flowchart of a cross-architecture resource sharing method provided according to Embodiment 2 of the present invention; Figure 3 This is a schematic diagram of a cross-architecture resource sharing device provided according to Embodiment 3 of the present invention; Figure 4 This is a schematic diagram of a cross-architecture resource sharing system provided in Embodiment 4 of the present invention. Detailed Implementation

[0013] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0014] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. In the description of this invention, unless otherwise stated, "a plurality of" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist; for example, A and / or B can represent: A alone, A and B simultaneously, and B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or device that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or devices.

[0015] Example 1 Figure 1 The flowchart of a cross-architecture resource sharing method is provided in Embodiment 1 of the present invention. This embodiment is applicable to the situation of sharing cross-architecture CPU resources. The method can be executed by a cross-architecture resource sharing device, which can be implemented in hardware and / or software and can be configured in a cross-architecture resource sharing system.

[0016] like Figure 1 As shown, the cross-architecture resource sharing method provided in Embodiment 1 of the present invention specifically includes the following steps: S101. The demand server generates a read or write data instruction, determines the target server and target storage location of the read or write data instruction according to the cluster mapping table, and sends the read or write data instruction and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instruction and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server.

[0017] In this embodiment, the demand server can be understood as a server that has a read or write data requirement. The demand server can first generate a read or write data instruction, and then, based on the association between data objects in the cluster mapping table and the server's virtual storage units, determine the target server and target storage location associated with the data object to be read or written in the read or write data instruction. Finally, the demand server can directly send the instruction and target storage location to the target server.

[0018] In this system, a data object can be associated with multiple virtual storage units on servers with different or identical CPU architectures. For example, "Three copies of data object X are located on disk Y of 'Rack A - Node 1 (ARM)', 'Rack B - Node 2 (x86)', and 'Rack C - Node 3 (ARM)' respectively," means that data object X will be stored in the virtual storage units of servers with ARM, x86, and ARM architectures. The cluster mapping table can store the storage path of data objects in plain text binary format. All nodes (i.e., servers) in the cluster, regardless of their architecture, read this mapping table using the same algorithm, and the calculation results are consistent, thus finding the correct location of the data object.

[0019] S102, The target server performs data read or write operations according to the read or write data instruction and the target storage location.

[0020] In this embodiment, the target server can perform data read or write operations on the target storage location according to instructions.

[0021] The technical solution of this invention allows servers with different CPU architectures to directly share underlying storage resources, solving the problems of storage isolation and data incompatibility in traditional heterogeneous environments. Through virtualization and centralized mapping, storage resources are decoupled from specific CPU architectures, thereby achieving storage resource pooling and efficient sharing in heterogeneous clusters without increasing complexity or cost. This avoids storage resource waste, reduces subsequent operation and maintenance management, is compatible with existing heterogeneous hardware, and eliminates the need to replace servers or purchase dedicated storage devices for a unified architecture, thus reducing capital investment.

[0022] Optionally, the demand server generates a read or write data instruction, determines the target server and target storage location of the read or write data instruction according to the cluster mapping table, and sends the read or write data instruction and the target storage location to the target server. This includes: the demand server generates a write data instruction through a virtual machine and determines the target server of the write data instruction according to the cluster mapping table; the demand server determines a sub-location within the target storage location of the data object of the write data instruction according to the identifier and storage offset of the virtual storage unit of the target server, and sends the write data instruction, the data block to be written, and the sub-location of the target storage location to the target server, wherein the sub-location is the identifier of the sub-unit in the virtual storage unit; wherein the target server performs a data read or write operation according to the read or write data instruction and the target storage location, including: the target server verifies the data block to be written, and if the verification passes, writes the data block to be written to the sub-location of the target storage location according to the write data instruction.

[0023] Specifically, each virtual storage unit of a server can contain multiple sub-units. The requesting server can use a globally consistent algorithm to calculate the sub-location within the target storage location of the data object for the write instruction, based on the identifier and storage offset of the target server's virtual storage unit. Once the data block arrives at the target server, the target server will utilize its local CPU to perform computationally intensive operations, such as data verification.

[0024] Optionally, before the demand server generates read or write data instructions, the method further includes: the demand server scanning and identifying local storage resources, and virtualizing the local storage resources as virtual storage units in user space, wherein the virtual storage units provide storage services to servers other than their own through standard network storage protocols for block storage.

[0025] Specifically, the process of server virtualization of local storage resources may include: 1) Physical disk identification and management: Servers with different CPU architectures automatically scan and identify all local block devices, i.e., local storage resources. Disks can be accessed through the operating system's standard interface, thus shielding the differences in underlying hardware controllers such as SATA and instruction sets.

[0026] 2) Creation of logical storage objects: The local storage resource partitions are formatted into an architecture-neutral storage format, such as dividing each disk into fixed-size virtual storage units. This formatting process is completed in user space, and the metadata (such as object ID, version, and verification information) written to the virtual storage units uses a universal binary data format, which ensures that the parsing method is the same on any CPU architecture.

[0027] 3) Establishing a standard storage protocol interface: Virtual storage units provide services externally through the standard network storage protocol of Block Storage (RBD). The definition of this protocol is CPU architecture-independent, making it universal across servers with different CPU architectures. Furthermore, the processing logic of the protocol stack (such as TCP / IP connection management, SCSI command parsing, and HTTP request processing) is implemented by the storage software, whose code is written in C / C++ and Go, and can be compiled and run consistently on different architectures.

[0028] Optionally, after the target server performs a data read or write operation according to the read or write data instruction and the target storage location, the method further includes: after the target server completes the read or write operation, sending instruction execution completion information to the requesting server.

[0029] Example 2 Figure 2 This is a flowchart of a cross-architecture resource sharing method provided in Embodiment 2 of the present invention. The technical solution of the present invention is further optimized based on the above optional technical solutions, and provides a specific way to share cross-architecture CPU resources.

[0030] Optionally, sending the write data instruction, the data block to be written, and the sub-location of the target storage location to the target server includes: the requesting server encapsulating the write data instruction, the data block to be written, and the target storage location into a TCP protocol message and sending the TCP protocol message to the target server; wherein, the target server verifies the data block to be written, and if the verification passes, writes the data block to be written into the sub-location of the target storage location according to the write data instruction, including: the target server verifies the data block to be written in the TCP protocol message, and if the verification passes, writes the data block to be written in the TCP protocol message into the sub-location of the target storage location according to the write data instruction in the TCP protocol message.

[0031] Optionally, the above method further includes: the management platform receiving a registration application sent by the server and registering the server's information according to the registration application; the management platform sending virtual machine management instructions to the server's virtual machines and receiving instruction feedback information sent by the server, so that the server deletes, edits, or creates virtual machines according to the virtual machine management instructions; the management platform updating the cluster mapping table according to the instruction feedback information and synchronizing the updated cluster mapping table to the server.

[0032] Optionally, the virtual machine management instructions include virtual machine creation instructions; wherein, before the management platform sends the virtual machine creation instructions to the virtual machine on the server, the method further includes: the management platform obtaining the server's storage resource information, generating a global storage pool view based on the storage resource information, and then allocating storage space for the newly created virtual machine based on the global storage pool view to generate the virtual machine creation instructions.

[0033] like Figure 2 As shown, the cross-architecture resource sharing method provided in Embodiment 2 of the present invention specifically includes the following steps: S201. The management platform receives a registration application from the server and registers the server's information according to the application. The management platform obtains the server's storage resource information and generates a global storage pool view based on the information. Then, it allocates storage space for the newly created virtual machine according to the global storage pool view to generate a virtual machine creation instruction. The management platform sends virtual machine management instructions to the server's virtual machines and receives instruction feedback information from the server, enabling the server to delete, edit, or create virtual machines according to the instructions. The management platform updates the cluster mapping table according to the instruction feedback information and synchronizes the updated cluster mapping table to the server.

[0034] Specifically, this method includes a three-tier architecture, specifically: 1) The first layer of the management platform provides a unified management interface and a standard RESTful API to facilitate user operation. After the user performs the operation, the command is issued in the backend.

[0035] 2) The second layer of the management platform is the architecture awareness layer. After receiving the command from the management platform, it parses the architecture requirements in the command, queries the server topology, finds the server with the corresponding architecture, and sends the command to the server.

[0036] 3) The third layer of the management platform is the virtualization layer of the local server. This layer is responsible for converting the operation commands of the management platform into commands specific to different architectures before operation, thereby completing the management platform's management of servers with different architectures.

[0037] The server registration process includes: 1) Install virtualization software and agents on the server and configure the local virtualization environment.

[0038] 2) After the agent starts, it automatically performs a hardware self-test to identify the CPU architecture, model, and characteristics of the server. It collects local resource information (such as the number of CPU cores, memory capacity, disk space, and network interfaces) and sends a registration request to the management platform through an HTTPS / TLS encrypted channel.

[0039] 3) The management platform verifies the server's identity and certificate, automatically assigns the server nodes to the corresponding affinity groups based on the CPU architecture, assigns a unique identifier to the server nodes, and establishes a heartbeat connection.

[0040] 4) The management platform stores the server's resource information in the global resource database and displays the information of all servers in the resource management topology.

[0041] The information reported by the server to the management platform includes: Identity information: Node ID, hostname, IP address, and geographical location, etc.

[0042] Hardware architecture: CPU architecture (x86_64, aarch64, etc.), CPU model and microcode version, etc.

[0043] Computing resources: number of physical CPU cores, hyper-threading capability, available memory, and huge page support, etc.

[0044] Storage information: Local disk capacity and a list of accessible shared storage pools, etc.

[0045] Network capabilities: NIC type, bandwidth, SR-IOV support, and RDMA capability, etc.

[0046] Virtualization features: Supported virtualization extensions (Intel VT-x, AMD-V and ARM SVE), etc.

[0047] Software version: Hypervisor type and version, agent software version, etc.

[0048] Each server can report its available storage capacity to the management platform. After aggregating the storage information of all servers, the management platform can generate a global storage pool view. When a virtual machine on a server needs storage, the management platform can allocate space from this global storage pool, generate a unique volume identifier and access credentials, and record the physical distribution of the volume (which may be on nodes across multiple architectures).

[0049] S202. The demand server generates a write data instruction through a virtual machine and determines the target server of the write data instruction according to the cluster mapping table; based on the identifier and storage offset of the virtual storage unit of the target server, it determines the sub-location in the target storage location of the data object of the write data instruction.

[0050] S203. The demand server encapsulates the write data instruction, the data block to be written, and the target storage location into a TCP protocol message, and sends the TCP protocol message to the target server.

[0051] Specifically, data transmission between servers (nodes) can rely on the standard TCP network protocol stack, which is architecture-independent. Application layer data (i.e., the block data to be written) is not encoded in any way that is relevant to the source architecture before transmission.

[0052] S204. The target server verifies the data block to be written in the TCP protocol message. If the verification passes, the target server writes the data block to be written in the TCP protocol message to a sub-location of the target storage location according to the write data instruction in the TCP protocol message.

[0053] Specifically, when data needs to be stored, it is prioritized to be placed on servers with the same architecture. However, if the storage resources of servers with the same architecture are insufficient, storage resources can be accessed across different architectures. For example, an x86 virtual machine can mount a volume stored on an ARM node, accessing it through standard storage protocols (iSCSI, NFS, or RBD), and automatically configuring access paths and permissions. This maximizes the utilization of storage resources.

[0054] S205. After the target server completes the read or write operation, it sends an instruction execution completion message to the requesting server.

[0055] For example, if a virtual machine on an x86 architecture server needs to write 4KB of data to the disk of an ARM architecture server, the specific process can be as follows: 1) Initiating a write request: The virtual machine on the x86 architecture server issues a SCSIWrite command through the virtual SCSI controller. The virtualization management software on the x86 architecture server receives this command and forwards it to the local distributed storage daemon.

[0056] 2) Data Location: The distributed storage daemon in the x86 architecture server uses a globally consistent algorithm based on the logical volume ID and offset to calculate the sub-location (e.g., Object-O1) within the target storage location of this 4KB data, and which virtual storage unit of the target server should store a replica of this 4KB data block (e.g., replica 1: ARM-NodeA, disk 1; replica 2: x86-NodeB; disk 3 and replica 4: ARM-NodeC, disk 2). This calculation process yields the same result across all CPU architectures because it relies solely on a purely mathematical hash function and a globally consistent cluster mapping table.

[0057] 3) Data Transmission: The distributed storage daemon in the x86 architecture server encapsulates the 4KB data along with the write command (`write, Object-O1, offset`) into a TCP protocol message. This message is then sent to the daemons of the three target servers. The TCP protocol message format is independent of the CPU architecture.

[0058] 4) Data Reception and Processing: After receiving the TCP data stream, the daemon process of Disk 1 (virtual storage unit) in the ARM-NodeA server parses the protocol header and extracts the 4KB data. Then, it calls the ARM CPU instructions to calculate the checksum of the data block and writes the processed data (still 4KB, but with the CRC value generated by ARM appended) to the corresponding location of Object-O1 on the local disk.

[0059] 5) Confirmation and Synchronization: After the disk 1 of the ARM-NodeA server has been written with data, it will send an acknowledgment message to the x86 architecture server and other replica servers via the TCP protocol.

[0060] The cross-architecture resource sharing method provided in this invention constructs a cross-architecture storage resource management platform, enabling multiple CPU architecture servers to be managed through a single platform. If multiple devices of the same architecture exist, they can be grouped into multiple clusters for operation and maintenance management. Devices with different architectures can form a distributed hyper-converged cluster. The design of virtual storage and mapping tables allows for flexible data migration between servers of different architectures. When a server fails, its data can be quickly switched to servers of other architectures, improving the overall fault tolerance and stability of the cluster. Server clusters with different CPU architectures managed by the platform support storage resource sharing, overcoming the limitations of traditional homogeneous clusters. This allows servers of different architectures to be included in the same resource pool, breaking down architectural barriers and improving the cluster's flexibility and scalability.

[0061] Example 3 Figure 3 This is a schematic diagram of a cross-architecture resource sharing device provided in Embodiment 3 of the present invention. Figure 3 As shown, the device includes: an information sending module 301 in the demand server and a read / write module 302 in the target server, wherein: The information sending module in the demand server is used to generate read or write data instructions, determine the target server and target storage location of the read or write data instructions according to the cluster mapping table, and send the read or write data instructions and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instructions and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server. The read / write module in the target server is used to perform data read or write operations according to the read or write data instructions and the target storage location.

[0062] The cross-architecture resource sharing device provided in this invention allows servers with different CPU architectures to directly share underlying storage resources, solving the problems of storage isolation and data incompatibility in traditional heterogeneous environments. Through virtualization and centralized mapping, storage resources are decoupled from specific CPU architectures, thereby achieving storage resource pooling and efficient sharing of heterogeneous clusters without increasing complexity or cost. This avoids storage resource waste, reduces subsequent operation and maintenance management, is compatible with existing heterogeneous hardware, and eliminates the need to replace servers or purchase dedicated storage devices for a unified architecture, thus reducing capital investment.

[0063] Optionally, the information sending module includes: The target server determination unit is used to generate write data instructions through a virtual machine and determine the target server of the write data instructions according to the cluster mapping table. The information sending unit is used to determine a sub-position in the target storage location of the data object of the write data instruction based on the identifier and storage offset of the virtual storage unit of the target server, and send the write data instruction, the data block to be written and the sub-position of the target storage location to the target server, wherein the sub-position is the identifier of the sub-unit in the virtual storage unit; Specifically, the read / write module is used to verify the data block to be written. If the verification passes, the data block to be written is written to a sub-location of the target storage location according to the write data instruction.

[0064] Furthermore, sending the write data instruction, the data block to be written, and the sub-location of the target storage location to the target server includes: encapsulating the write data instruction, the data block to be written, and the target storage location into a TCP protocol message, and sending the TCP protocol message to the target server; The step of verifying the data block to be written, and if the verification passes, writing the data block to be written to a sub-location of the target storage location according to the write data instruction, includes: verifying the data block to be written in the TCP protocol message, and if the verification passes, writing the data block to be written in the TCP protocol message to a sub-location of the target storage location according to the write data instruction in the TCP protocol message.

[0065] Optionally, the device may also include: The registration module in the management platform is used to receive registration applications sent by the server and register the server's information according to the registration applications; The control module in the management platform is used to send virtual machine management instructions to the virtual machines on the server and receive instruction feedback information sent by the server, so that the server can delete, edit or create virtual machines according to the virtual machine management instructions. The update module in the management platform is used to update the cluster mapping table according to the instruction feedback information and synchronize the updated cluster mapping table to the server.

[0066] Optionally, the device may also include: The virtualization module in the demand server is used to scan and identify local storage resources before generating read or write data instructions, and to virtualize the local storage resources as virtual storage units in user space. The virtual storage units provide storage services to servers other than their own through standard network storage protocols for block storage.

[0067] Optionally, the device may also include: The feedback module in the target server is used to send instruction execution completion information to the requesting server after the target server performs data read or write operations according to the read or write data instructions and the target storage location.

[0068] Optionally, the virtual machine management instructions include virtual machine creation instructions; wherein, the device further includes: The creation instruction generation module in the management platform is used to obtain the server's storage resource information before sending the virtual machine creation instruction to the server's virtual machine, generate a global storage pool view based on the storage resource information, and then allocate storage space for the newly created virtual machine based on the global storage pool view in order to generate the virtual machine creation instruction.

[0069] The cross-architecture resource sharing device provided in the embodiments of the present invention can execute the cross-architecture resource sharing method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method.

[0070] Example 4 Figure 4 A schematic diagram of a cross-architecture resource sharing system 40, which can be used to implement embodiments of the present invention, is shown. The servers in the cross-architecture resource sharing system can be various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0071] like Figure 4 As shown, the cross-architecture resource sharing system 40 includes At least one processor 41 and memory, such as read-only memory (ROM) 42 and random access memory (RAM) 43, communicatively connected to at least one processor 41, wherein the memory stores computer programs executable by at least one processor. The processor 41 can perform various appropriate actions and processes based on the computer program stored in the read-only memory (ROM) 42 or loaded from storage unit 48 into the random access memory (RAM) 43. The RAM 43 may also store various programs and data required for the operation of the cross-architecture resource-sharing system 40. The processor 41, ROM 42, and RAM 43 are interconnected via a bus 44. An input / output (I / O) interface 45 is also connected to the bus 44.

[0072] Multiple components in the cross-architecture resource sharing system 40 are connected to the I / O interface 45, including: input units 46, such as a keyboard, mouse, etc.; output units 47, such as various types of displays, speakers, etc.; storage units 48, such as disks, optical disks, etc.; and communication units 49, such as network interface cards, modems, wireless transceivers, etc. The communication unit 49 allows the cross-architecture resource sharing system 40 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0073] Processor 41 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 41 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 41 performs the various methods and processes described above, such as cross-architecture resource sharing methods.

[0074] In some embodiments, the cross-architecture resource sharing method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 48. In some embodiments, part or all of the computer program may be loaded and / or installed onto the cross-architecture resource sharing system 40 via ROM 42 and / or communication unit 49. When the computer program is loaded into RAM 43 and executed by processor 41, one or more steps of the cross-architecture resource sharing method described above may be performed. Alternatively, in other embodiments, processor 41 may be configured to perform the cross-architecture resource sharing method by any other suitable means (e.g., by means of firmware).

[0075] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoC) systems, complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0076] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0077] The computer equipment provided above can be used to execute the cross-architecture resource sharing method provided in any of the above embodiments, and has corresponding functions and beneficial effects.

[0078] Example 5 In the context of this invention, a computer-readable storage medium may be a tangible medium, wherein the computer-executable instructions, when executed by a computer processor, are used to perform a cross-architecture resource sharing method, the method comprising: The demand server generates a read or write data instruction and determines the target server and target storage location of the read or write data instruction according to the cluster mapping table. The demand server sends the read or write data instruction and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instruction and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server. The target server performs data read or write operations according to the read or write data instructions and the target storage location.

[0079] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by, or in conjunction with, an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0080] The computer equipment provided above can be used to execute the cross-architecture resource sharing method provided in any of the above embodiments, and has corresponding functions and beneficial effects.

[0081] It is worth noting that in the embodiments of the cross-architecture resource sharing device described above, the various units and modules included are only divided according to functional logic, but are not limited to the above division, as long as the corresponding functions can be achieved; in addition, the specific names of each functional unit are only for easy differentiation and are not used to limit the scope of protection of the present invention.

[0082] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.

Claims

1. A cross-architecture resource sharing method, characterized in that, include: The demand server generates a read or write data instruction and determines the target server and target storage location of the read or write data instruction according to the cluster mapping table. The demand server sends the read or write data instruction and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instruction and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server. The target server performs data read or write operations according to the read or write data instructions and the target storage location.

2. The method according to claim 1, characterized in that, The request server generates a read or write data instruction, determines the target server and target storage location of the read or write data instruction based on the cluster mapping table, and sends the read or write data instruction and the target storage location to the target server, including: The demand server generates write data instructions through a virtual machine and determines the target server of the write data instructions based on the cluster mapping table; The demand server determines a sub-location in the target storage location of the data object of the write data instruction based on the identifier and storage offset of the virtual storage unit of the target server, and sends the write data instruction, the data block to be written, and the sub-location of the target storage location to the target server, wherein the sub-location is the identifier of the sub-unit in the virtual storage unit; The target server performs data read or write operations based on the read or write data instructions and the target storage location, including: The target server verifies the data block to be written. If the verification passes, the server writes the data block to be written to a sub-location of the target storage location according to the write data instruction.

3. The method according to claim 2, characterized in that, Sending the write data instruction, the data block to be written, and the sub-location of the target storage location to the target server includes: The demand server encapsulates the write data instruction, the data block to be written, and the target storage location into a TCP protocol message, and sends the TCP protocol message to the target server. The target server verifies the data block to be written. If the verification passes, the server writes the data block to be written to a sub-location of the target storage location according to the write data instruction, including: The target server verifies the data block to be written in the TCP protocol message. If the verification passes, the server writes the data block to be written in the TCP protocol message to a sub-location of the target storage location according to the write data instruction in the TCP protocol message.

4. The method according to any one of claims 1-3, characterized in that, Also includes: The management platform receives the registration application sent by the server and registers the server's information according to the registration application; The management platform sends virtual machine management instructions to the virtual machines on the server and receives instruction feedback information sent by the server, so that the server can delete, edit or create virtual machines according to the virtual machine management instructions; The management platform updates the cluster mapping table according to the instruction feedback information and synchronizes the updated cluster mapping table to the server.

5. The method according to claim 1, characterized in that, Before the demand server generates read or write data instructions, the following is also included: The demand server scans and identifies local storage resources, and virtualizes these local storage resources as virtual storage units in user space. These virtual storage units provide storage services to entities outside the server itself through standard network storage protocols for block storage.

6. The method according to claim 1, characterized in that, After the target server performs a data read or write operation according to the read or write data instruction and the target storage location, the method further includes: After completing a read or write operation, the target server sends an instruction execution completion message to the requesting server.

7. The method according to claim 4, characterized in that, The virtual machine management instructions include virtual machine creation instructions; wherein, before the management platform sends the virtual machine creation instructions to the virtual machine on the server, it further includes: The management platform obtains the server's storage resource information, generates a global storage pool view based on the storage resource information, and then allocates storage space for the newly created virtual machine based on the global storage pool view to generate virtual machine creation instructions.

8. A cross-architecture resource sharing device, characterized in that, include: The information sending module in the demand server is used to generate read or write data instructions, determine the target server and target storage location of the read or write data instructions according to the cluster mapping table, and send the read or write data instructions and the target storage location to the target server. The target server has a different CPU architecture than the demand server. The cluster mapping table contains the association between the data object to be written or read in the read or write data instructions and the virtual storage unit of the server. The target storage location is the identifier of the virtual storage unit of the target server. The virtual storage unit is a virtualized representation of the local storage resources in the server. The read / write module in the target server is used to perform data read or write operations according to the read or write data instructions and the target storage location.

9. A cross-architecture resource sharing system, characterized in that, The cross-architecture resource sharing system includes at least: a first server and a second server; wherein the first server is used to execute the steps performed by the demand server in the cross-architecture resource sharing method of any one of claims 1-7, and the second server is used to execute the steps performed by the target server in the cross-architecture resource sharing method of any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the cross-architecture resource sharing method according to any one of claims 1-7.