Storage system upgrading method and device, storage medium and program product
By using quantum encryption and federated learning technology to identify storage devices, combined with a directed acyclic graph engine to dynamically plan upgrade paths, and automating the storage system upgrade process, the problem of complex and poor performance of storage system software upgrades in existing technologies is solved, achieving efficient and secure system upgrades.
Patent Information
- Application Number
- CN202511173025.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-21
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-08-21
AI Technical Summary
The existing storage system software upgrade process is complex, and the unified upgrade effect for devices from different manufacturers is poor, resulting in insufficient stability and reliability.
By collecting the physical characteristics of the target device, using quantum encryption and federated learning technology to identify and verify the device, building a directed acyclic graph upgrade engine, dynamically planning the upgrade path, automating the transmission and configuration of image files, and eliminating manual operations.
It improves the operational efficiency and stability of storage system upgrades, enhances the security and reliability of system upgrades, and reduces the complexity of operation and maintenance.
Smart Images

Figure CN120670010A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of system upgrade technology, and in particular to a storage system upgrade method, device, storage medium, and program product. Background Art
[0002] Modern storage systems typically consist of a storage media layer, a controller hardware layer, and a system software layer. The system software layer, due to its stability and functionality, directly determines the performance and reliability of the storage system. With evolving business needs and technological advancements, storage system software requires regular version updates and feature upgrades. However, current storage system software upgrades are complex, and the standardized upgrade process for devices from different vendors results in poor software upgrade results. Summary of the Invention
[0003] The present application provides a storage system upgrade method, device, storage medium and program product, which can eliminate manual operations such as image creation and startup configuration in traditional solutions, greatly reduce the complexity of operation and maintenance, and effectively improve the operational efficiency of system upgrades and the stability of the upgrade process.
[0004] This application provides a storage system upgrade method, including:
[0005] Collect the physical features of the target device and match the target features in the preset feature library with the physical features; the target device stores the image file used to upgrade the storage system;
[0006] When the target feature and the physical feature match successfully, a first digital signature of the target device is obtained and verified using a local preset public key; the first digital signature is a signature generated by the target device based on the physical feature using a preset private key;
[0007] If the target device is successfully verified, the hardware status of the storage system is obtained, and a preset upgrade engine is used to determine the system upgrade strategy for the storage system based on the hardware status. The preset upgrade engine is an engine built based on the target directed acyclic graph, which is used to record the upgrade steps and the relationships between different upgrade steps.
[0008] Read the image file in the target device and use it to perform a system upgrade on the target node in the storage system based on the system upgrade policy.
[0009] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned storage system upgrade methods when executing the computer program.
[0010] The present application also provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned storage system upgrade methods are implemented.
[0011] The present application also provides a computer program product, including a computer program, which implements the steps of any of the above-mentioned storage system upgrade methods when executed by a processor.
[0012] The present application can collect the physical characteristics of the target device that stores the image file for upgrading the storage system, and match the target characteristics and physical characteristics in the preset feature library. When the target characteristics and physical characteristics match successfully, the first digital signature of the target device generated by using the preset private key is obtained, and the first digital signature is verified using the local preset public key; if the target device is successfully verified, the hardware status of the storage system is obtained, and the preset upgrade engine constructed based on the target directed acyclic graph is used to determine the system upgrade policy of the storage system based on the hardware status; wherein the target directed acyclic graph is used to record each upgrade step and the relationship between different upgrade steps; then the image file in the target device is read, and the image file is used to perform a system upgrade of the target node in the storage system based on the system upgrade policy.
[0013] Through the above technical solution, the present application can identify the device that stores the image file, and automatically verify the image file after the target device is successfully identified, further improving the security of the system upgrade process, and then collect the current hardware status of the target device in real time, and dynamically construct the upgrade path of the storage system through a directed acyclic graph constructed in advance according to each upgrade step and the relationship between different upgrade steps. In this way, in the storage system upgrade scenario, by determining the relationship between different upgrade steps and dynamically constructing the upgrade path according to the real-time monitored hardware status, corresponding upgrade strategies can be set for different devices, effectively ensuring the stability and reliability of the upgrade process, and eliminating manual operations such as image creation and startup configuration in traditional solutions, the operation and maintenance complexity is greatly reduced, and the operational efficiency of the system upgrade is effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0015] Figure 1 A flow chart of a storage system upgrade method provided in an embodiment of the present application;
[0016] Figure 2A storage system upgrade system architecture diagram provided in an embodiment of the present application;
[0017] Figure 3 An architecture diagram of a quantum federated device identification system provided in an embodiment of the present application;
[0018] Figure 4 A storage system upgrade flow chart based on a directed acyclic graph upgrade engine provided in an embodiment of the present application;
[0019] Figure 5 A flowchart of a single-node upgrade of a storage system provided in an embodiment of the present application;
[0020] Figure 6 A flow chart of a storage system cluster upgrade method provided in an embodiment of the present application;
[0021] Figure 7 A schematic diagram of a zero-trust cluster collaboration framework provided in an embodiment of the present application;
[0022] Figure 8 A storage system cluster upgrade flow chart provided in an embodiment of the present application;
[0023] Figure 9 A schematic diagram of the structure of a storage system upgrade device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0024] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0025] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0026] With the continuous changes in business needs and the development of technology, storage system software needs to be regularly updated and upgraded. At present, the operation process of upgrading storage system software is complicated, and the unified upgrade operation for devices from different manufacturers leads to poor software upgrade effect. However, this application can identify the device that stores the image file, and after the target device is successfully identified, it can collect the current hardware status of the target device in real time. By constructing a directed acyclic graph in advance based on each upgrade step and the relationship between different upgrade steps, it can dynamically construct the upgrade path of the storage system, effectively ensuring the stability and reliability of the upgrade process and improving the operational efficiency of the system upgrade.
[0027] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0028] Next, this embodiment will be described in detail with reference to the execution process of the storage system upgrade method. Figure 1 As shown, an embodiment of the present application provides a storage system upgrade method, comprising:
[0029] Step S11: Collect physical features of the target device, and match the target features in the preset feature library with the physical features; and save the image file used to upgrade the storage system in the target device.
[0030] It is understandable that if Figure 2 As shown, the storage system upgrade architecture in this embodiment mainly includes: device access layer: quantum encryption USB flash drive is connected through USB3.0 (Universal Serial Bus) interface, and device feature sensor collects physical fingerprint; edge processing layer: federated learning engine realizes dynamic device identification, NTRU (Number Theory Research Unit, a lattice-based public key cryptography system) encryption + quantum feature extraction ensures data security, and DAG (Directed Acyclic Graph) upgrade engine controls the execution process; distributed coordination layer: zero-trust blockchain establishes node consensus, Merkle tree verifies the integrity of upgrade instructions; physical storage layer: multi-type storage nodes (SSD (Solid State Drive, solid state drive) + SCM (Storage Class Memory) / HDD (Hard Disk Drive) + Optane / NVMe (Non-volatile memory express) cluster).
[0031] Specifically, such as Figure 3After the target USB device is connected, the device access layer first collects the physical characteristics of the target device and matches the target characteristics with the physical characteristics in a preset feature library. The target device stores image files used for storage system upgrades, including but not limited to quantum-encrypted USB flash drives (i.e., USB flash drives using quantum encryption technology that can generate quantum keys and encrypt stored data). During the matching process, if the target characteristics and physical characteristics fail to match, the target device identification model can be used to extract feature vectors of the physical characteristics, determine the target device's configuration parameters, and generate target features corresponding to the target device based on the feature vectors and configuration parameters. These target features are then stored in the preset feature library. Through this process, the edge processing layer can leverage a federated learning engine to achieve dynamic device identification, addressing USB device compatibility issues during storage device upgrades and enabling automatic identification and adaptation of multi-brand devices. Furthermore, during data transmission from the device to the edge layer, feature data can be transmitted using quantum encryption. Specifically, cross-layer encrypted communication is achieved through a quantum key management center using a QKD (Quantum Key Distribution) channel.
[0032] In a specific embodiment, when collecting physical features, 12-dimensional sensor data can be collected in real time through a USB 3.0 interface and quantum normalization processing can be performed: Where x represents the original collected physical characteristic data, which refers to the physical characteristic parameters of the device (such as voltage fluctuation value, timing signal frequency, temperature change gradient, etc.) collected by the quantum sensor array, and is the unprocessed original signal; Indicates the mean of feature data, which refers to the overall average level of a certain type of feature data (such as the average of voltage fluctuations collected multiple times). It is used to eliminate offsets in the data to prevent subsequent model training from being affected by differences in basic values. Represents the standard deviation of the characteristic data, ensuring that different characteristics (such as voltage and frequency) have the same order of magnitude, preventing certain characteristics from affecting model learning due to excessively large numerical ranges. v represents the normalized characteristic value, that is, the standardized data finally output. This operation helps to enhance the stability of data in quantum encryption transmission. In this way, the original physical characteristic data is converted into standardized data with a uniform scale and low noise, providing data input for subsequent device identification and federated learning, ensuring that characteristic data of different devices and types can be uniformly processed by the system. The federated learning processing process is as follows:
[0033] def process_unknown_device(usb_device):
[0034] # 1. Extract physical features
[0035] features = extract_features(usb_device.sensors);
[0036] # 2. Local model inference
[0037] model_output = mobilenet_v3(features);
[0038] # 3. Gradient encryption (Paillier algorithm)
[0039] encrypted_grad = paillier.encrypt(model_output.grad, pub_key);
[0040] # 4. Secure transmission
[0041] send_to_server(encrypted_grad, qkd_channel).
[0042] Accordingly, before using the target device identification model to extract the feature vector of the physical features, a preset device identification model can also be deployed in the edge computing layer of the storage system, and the preset device identification model can be trained using the physical features to obtain an initial device identification model. The optimization parameters in the initial device identification model are then extracted and encrypted using a preset quantum key. The encrypted optimization parameters are then uploaded to the central server, and an updated device identification model issued by the central server is obtained, so that the updated device identification model is used to overwrite the initial device identification model to obtain the target device identification model. The updated device identification model is a model obtained by updating the local preset global model based on the target parameters after the central server obtains the target parameters by fusing the encrypted optimization parameters based on the federated aggregation algorithm.
[0043] Specifically, when a USB device is connected to the storage system, the system initiates a multi-stage identification process. First, a preliminary feature comparison is performed. The system matches the collected physical features of the device (voltage fluctuations, timing signals, etc.) with the preset feature library. If there is a complete match in the feature library, the corresponding device configuration template is directly called. If there is no complete match in the feature library, unknown device processing is performed. Specifically, when there is no matching record in the feature library, the system activates the federated learning process: first, a lightweight recognition model is deployed on the edge computing node, and the model is trained using local device feature data. The model parameters are then encrypted and uploaded to the central server so that the central server can aggregate multi-node parameters to update the global model and send the optimized model to each node. After the new device is identified, the system automatically stores its feature vector and configuration information in the feature library, updates the feature library, and realizes a learning-application closed loop. In this way, the entire upgrade process is automated. The quantum federated device identification system automatically adapts the hardware configuration, and the directed acyclic graph engine is used to intelligently plan the upgrade path, eliminating manual operations such as image creation and startup configuration in traditional solutions, significantly improving operational efficiency. In addition, the federated learning mechanism dynamically constructs a device feature model, enabling the system to adaptively identify unknown devices, solving the problem of differences in startup methods for devices from different manufacturers, supporting the indiscriminate upgrade of heterogeneous device clusters, and effectively enhancing system compatibility.
[0044] Step S12: When the target feature and the physical feature match successfully, obtain the first digital signature of the target device and verify the first digital signature using the local preset public key; the first digital signature is a signature generated by the target device based on the physical feature using the preset private key.
[0045] In this embodiment, Figure 3 As shown, when the target features and physical features successfully match, the first digital signature of the target device can be obtained, and the first digital signature can be verified using a local preset public key. The first digital signature is a signature generated by the target device based on the physical features using a preset private key. Specifically, when obtaining the first digital signature of the target device, the hardware feature code of the target device can be obtained, and the target feature code and the hardware feature code in the preset device permission list can be matched. When the target feature code and the hardware feature code successfully match, the first digital signature of the target device can be obtained for verification.
[0046] Specifically, this embodiment employs a hierarchical authentication mechanism for device legitimacy verification: During primary verification, the device provides a hardware signature code, and the system verifies whether the signature code is on an approved list. After primary verification, in-depth verification is performed. Specifically, NTRU quantum signature verification can be enabled for critical devices. This process involves the device using its private key to generate a digital signature based on signature data. Upon receiving the digital signature, the system decrypts and verifies the signature's authenticity using a pre-stored public key. Once the signature is verified, a quantum random session key is generated. This key is then used to ensure the security of system upgrades during subsequent upgrades. For example, to encrypt communications between the device and the system, once the quantum encrypted USB drive passes legitimacy verification, the system-generated quantum random session key is used to encrypt subsequent data exchanges between the device and the storage system (single or clustered nodes), including upgrade image transmissions, device configuration instructions, and status feedback. This quantum random key, generated based on quantum mechanics principles and possessing randomness and resistance to quantum computing, effectively prevents data from being eavesdropped, tampered with, or forged during transmission, ensuring the security of the communication link. Furthermore, a temporary secure session channel can be established using a quantum random session key. Since this key is only valid during this upgrade session and automatically expires after the session ends, it avoids the risk of leakage associated with long-term use of fixed keys and further strengthens the dynamic security of the upgrade process. Through the aforementioned technical solution, whether it's the interaction between the device and the local system during a single-node upgrade or the coordinated instruction transmission between nodes during a cluster upgrade, the quantum random session key provides independent encryption protection for each temporary session, ensuring end-to-end security for the entire upgrade process. Furthermore, the quantum encrypted USB flash drive provides a physically unclonable function, enabling verifiable security during the upgrade process.
[0047] Accordingly, during the system upgrade process, this embodiment can also re-acquire the target device's first digital signature based on a preset time period and verify the first digital signature using a local preset public key. If the target device verification succeeds, the system upgrade of the target node in the storage system using the image file continues; if the target device verification fails, the system upgrade of the target node in the storage system using the image file is stopped. In this way, by continuously verifying the digital signature during the system upgrade process, device certificates can be regularly re-verified, preventing man-in-the-middle attacks and further ensuring system security.
[0048] Step S13: If the target device verification is successful, the hardware status of the storage system is obtained, and a preset upgrade engine is used to determine the system upgrade strategy of the storage system based on the hardware status; the preset upgrade engine is an engine built based on the target directed acyclic graph, and the target directed acyclic graph is used to record each upgrade step and the relationship between different upgrade steps.
[0049] In this embodiment, Figure 4As shown, if the target device verification is successful, the hardware status of the storage system is obtained, and the preset upgrade engine is used to determine the system upgrade policy of the storage system based on the hardware status. The preset upgrade engine is an engine constructed based on a target directed acyclic graph, and the target directed acyclic graph is used to record the various upgrade steps and the relationship between different upgrade steps. Accordingly, before determining the system upgrade policy of the storage system based on the hardware status using the preset upgrade engine, the image file writing steps and image file writing conditions of the storage system can be determined, and the writing operations corresponding to different hardware statuses of the storage system can be determined. Then, a target directed acyclic graph is constructed based on the image file writing steps, image file writing conditions, and the writing operations corresponding to different hardware statuses, so as to construct a preset upgrade engine based on the target directed acyclic graph, namely, a directed acyclic graph upgrade engine (DAG-UE). When constructing the node dependencies within the directed acyclic graph (DAG) upgrade engine, the upgrade process can be modeled as sequentially executed unit modules. These include: basic nodes, which contain required operations such as image verification, data writing, and boot configuration; conditional nodes, which dynamically insert special operations based on environmental conditions. For example, cooling nodes are automatically added when the temperature exceeds 75°C, or shard transmission nodes are activated when bandwidth falls below 10Mbps. Furthermore, DAG dependencies include: sequential dependencies, such as requiring data writing to execute after image verification passes; parallel dependencies, such as enabling simultaneous data writing to multiple disks; and conditional dependencies, such as forcing cooling operations in high-temperature environments. This DAG enables system environmental awareness and upgrade path adjustment. The engine first collects parameters, continuously acquiring eight types of environmental data, including temperature, voltage, and bandwidth. Based on this data, it then performs status assessments, determining the environmental status level based on preset thresholds. This allows for dynamic optimization of the upgrade path through real-time monitoring. In some specific embodiments, path reconfiguration can be performed, including: executing a standard upgrade sequence when the system is in a normal state; inserting a cooldown phase before heat-sensitive operations when the system is in a high-temperature state; and replacing large data transmission with a fragmented transmission mode when the system is in a low-bandwidth state. Furthermore, it is understood that the upgrade can be automatically suspended when environmental parameters exceed a safe range, achieving abnormal interruption of the system upgrade.
[0050] Step S14: read the image file in the target device, and use the image file to perform a system upgrade on the target node in the storage system based on the system upgrade policy.
[0051] In this embodiment, an image file in a target device can be read and, based on a system upgrade policy, used to perform a system upgrade on a target node in the storage system. Furthermore, during the system upgrade process, in one specific embodiment, system status parameters of the storage system can be collected based on a preset parameter collection period to determine whether the system status parameters meet preset system upgrade conditions. If the system status parameters do not meet the preset system upgrade conditions, a preset upgrade engine can be used to adjust the system upgrade policy based on the system status parameters, and the system upgrade on the target node in the storage system can be performed using the image file based on the adjusted system upgrade policy. In another specific embodiment, the amount of file data written to the image file in the storage system can be determined. If the file data amount is equal to a preset data write threshold, a cyclic redundancy check (CRC) is performed on the image file written to the storage system. If the image file written to the storage system passes the check and the image file has been fully written to the storage system, a hash value of the image file written to the storage system is determined using a preset cryptographic hash function, and the hash value is verified. After the hash value verification passes, the image file writing is determined to be complete. That is to say, this embodiment can perform real-time data verification during the image file writing process, for example: performing CRC verification every time 512KB of data is written, and performing full image SHA-256 verification after writing is completed, so as to further ensure the reliability and security of the image file writing process.
[0052] And as Figure 4 As shown, after performing a system upgrade on a target node in a storage system using an image file based on a system upgrade strategy, a hot restart operation of the storage system can be performed. After the hot restart operation of the storage system is completed, the upgraded storage system is tested based on a preset system test process. If the upgraded storage system is tested successfully, a corresponding system upgrade log is generated and recorded. If the upgraded storage system fails to be tested, the storage system is rolled back.
[0053] Through the above technical solution, this embodiment can collect the physical characteristics of the target device that stores the image file for upgrading the storage system, and match the target characteristics and physical characteristics in the preset feature library. When the target characteristics and physical characteristics are successfully matched, the first digital signature of the target device generated by the preset private key is obtained, and the first digital signature is verified using the local preset public key; if the target device is successfully verified, the hardware status of the storage system is obtained, and the preset upgrade engine built based on the target directed acyclic graph is used to determine the system upgrade policy of the storage system based on the hardware status. After that, the image file in the target device is read, and the image file is used to perform the system upgrade of the target node in the storage system based on the system upgrade policy. In this way, quantum encryption and federated learning technology can be integrated for intelligent device identification, to achieve adaptive identification and configuration of device types, and after the target device is successfully identified, the image file is automatically verified, further improving the security of the system upgrade process. Then, the current hardware status of the target device is collected in real time, and a directed acyclic graph is used to build a dynamic upgrade control engine, which supports real-time adjustment of the environment-aware path. In this way, in the storage system upgrade scenario, by determining the relationship between different upgrade steps and dynamically building the upgrade path according to the real-time monitored hardware status, corresponding upgrade policies can be set for different devices to effectively ensure the stability and reliability of the upgrade process. It also eliminates manual operations such as image creation and startup configuration in traditional solutions, greatly reducing the complexity of operation and maintenance and effectively improving the operational efficiency of system upgrades.
[0054] Based on the previous embodiment, Figure 5 As shown, this embodiment provides a specific embodiment of upgrading a single node in a storage system, including:
[0055] When a quantum encrypted USB flash drive is inserted into the USB port of a storage device, the system automatically activates the device identification process: the quantum sensor array starts to collect the physical characteristic parameters of the device, including the voltage fluctuation curve, timing signal frequency, and temperature change gradient; the identification engine matches the collected characteristic data with the preset characteristic library. If a complete matching record is found, the corresponding device configuration template is directly loaded. If there is no matching record, the federated learning process is started. After the federated learning process is completed, the legitimacy of the device is verified through the NTRU quantum signature algorithm to generate a device authentication certificate.
[0056] The system then enters the upgrade preparation phase, automatically loading the upgrade image file into the memory buffer and performing multi-level security verification: the first level calculates the quantum hash value of the image file; the second level compares it to the pre-stored digital signature; and the third level verifies the validity of the certificate chain. A comprehensive hardware environment check then occurs: monitoring storage media health (bad block rate / remaining lifespan); assessing power supply stability (voltage fluctuation range); and checking cooling conditions (temperature / fan speed). During the image writing phase, the write strategy is dynamically selected based on the environmental test results: in normal environments, the entire image is written at full speed; in high-temperature environments (>75°C), auxiliary cooling is activated before writing; and in low-bandwidth environments, block transfer (1MB per block) is enabled.
[0057] After the image file is written, the system enters the boot configuration phase, automatically identifying the device firmware type (UEFI (Unified Extensible Firmware Interface) or BIOS (Basic Input / Output System)) and intelligently configuring boot parameters: loading the firmware adaptation template; setting the boot order priority; generating a boot record and backing up the original configuration. A triple verification process is then performed: checking the boot record integrity; verifying the compliance of boot parameters; and testing the feasibility of the rollback mechanism. To facilitate subsequent system recovery after the upgrade, a warm reboot is first performed to preserve critical memory states. Then, an automatic diagnostic program is initiated, performing kernel version consistency checks, driver compatibility tests, and verifying storage service functionality. A health status report is generated based on the results: a successful diagnosis activates a green indicator and records a success log; a failed diagnosis triggers an automatic rollback mechanism, restoring the system to its pre-upgrade state.
[0058] Based on the previous embodiment, it can be seen that this application can identify the device that stores the image file, collect the current hardware status of the target device in real time, and dynamically build the upgrade path of the storage system through a directed acyclic graph to perform system upgrades. Next, this embodiment will explain in detail the process of performing system upgrades on multiple nodes in the storage system at the same time. Figure 6 As shown, an embodiment of the present application provides a storage system cluster upgrade method, including:
[0059] Step S21: If there are multiple target nodes in the storage system, determine the master node and the slave node among the target nodes; and use the master node to determine the node upgrade policy of the target node in the storage system according to the system upgrade policy.
[0060] In this embodiment, if the storage system has multiple target nodes, it is necessary to first determine the master node and slave nodes among the target nodes, and use the master node to determine the node upgrade policy of the target node in the storage system according to the system upgrade policy.
[0061] Step S22: Determine the node upgrade operation in the node upgrade strategy, and construct a node upgrade instruction set based on each node upgrade operation; construct a Merkle tree based on the node upgrade instruction set, and determine the first root hash value of the Merkle tree.
[0062] In this embodiment, Figure 7 As shown, the node upgrade operations in the node upgrade strategy can be determined, and a node upgrade instruction set can be constructed based on each node upgrade operation. Then, a Merkle tree is constructed based on the node upgrade instruction set, and the first root hash value of the Merkle tree is determined. In this embodiment, the master node is in the instruction construction stage. First, a complete upgrade instruction set is created, and a Merkle tree structure of the instruction set is generated, and the root hash value of the tree is calculated as the instruction summary. The Merkle tree construction process is specifically as follows:
[0063] def build_merkle_tree(upgrade_steps):
[0064] """Build cluster upgrade Merkle tree
[0065] Args:
[0066] upgrade_steps: upgrade operation list, each element is an operation name, such as ["verify_signature", "download_image"]
[0067] Returns:
[0068] merkle_root: root hash value (hexadecimal string)
[0069] tree: dictionary of the complete tree structure, including the hash value of each layer
[0070] """
[0071] # Step 1: Generate leaf node hash - Generate a unique leaf node hash for each upgrade operation
[0072] leaf_hashes = [] # Store the hash values of all leaf nodes
[0073] for step in upgrade_steps:
[0074] # 1.1 Convert the operation name to binary data (e.g. "download_image" -> b'download_image')
[0075] data_block = step.encode('utf-8')
[0076] # 1.2 Apply double SHA-256 hashing to enhance security
[0077] # - First hash: Generate binary hash value (tamper-proof)
[0078] first_hash = hashlib.sha256(data_block).digest()
[0079] # - Second hash: Generate hexadecimal string (anti-length extension attack)
[0080] leaf_hash = hashlib.sha256(first_hash).hexdigest()
[0081] leaf_hashes.append(leaf_hash) # Add to the leaf node list
[0082] # Step 2: Build parent nodes layer by layer - Build a complete Merkle tree from bottom to top
[0083] tree = {"level_0": leaf_hashes} #Store each layer of the tree, initially the leaf layer
[0084] current_level = leaf_hashes # Current processing layer (starting from the leaf layer)
[0085] level = 0 # Current layer depth identifier
[0086] # Loop until only the root node is left (continue when the number of layer nodes > 1)
[0087] while len(current_level) > 1:
[0088] level += 1 # Enter the next level
[0089] parent_hashes = [] #Store the parent node hash of the current layer
[0090] # 2.1 Traverse the nodes of the current layer (take 2 at a time)
[0091] for i in range(0, len(current_level), 2):
[0092] left = current_level[i] # left node in the current node pair
[0093] # 2.2 Processing odd nodes: When the number of nodes is odd, copy the last node
[0094] # - If it is the last and only node, pair it with itself
[0095] # - Ensure that each layer can generate a complete parent node pair
[0096] if i+1 < len(current_level):
[0097] right = current_level[i+1] # Normally take the right node
[0098] else:
[0099] right = current_level[i] # Copy the last node as the right node
[0100] # 2.3 Generate parent node hash
[0101] # - Concatenate the hash values of the left and right child nodes into a string
[0102] combined = left + right
[0103] # - Perform SHA256 hash operation on the concatenated string
[0104] parent_hash = hashlib.sha256(combined.encode()).hexdigest()
[0105] parent_hashes.append(parent_hash)
[0106] # 2.4 Store the current layer result and update the layer status
[0107] tree[f"level_{level}"] = parent_hashes # Record all parent nodes of the current layer
[0108] current_level = parent_hashes # Set the parent node to the current layer for the next round of processing
[0109] # Return result: root node (unique hash at the top of the tree) and complete tree structure
[0110] # - When the loop ends, current_level has only one element left, the root hash
[0111] return current_level[0], tree.
[0112] Step S23: Generate a corresponding node upgrade instruction package based on the first root hash value, and broadcast the node upgrade instruction package to each slave node in the storage system through the master node; based on the node upgrade instruction package, use the mirror file to perform system upgrades on the master node and each slave node in the storage system.
[0113] In this embodiment, a corresponding node upgrade instruction packet can be generated based on the first root hash value, and the node upgrade instruction packet can be broadcasted to each slave node in the storage system via the master node. Then, based on the node upgrade instruction packet, the system upgrade of the master node and each slave node in the storage system can be performed using a mirror file. Specifically, in this embodiment, based on the node upgrade instruction packet, a Merkle tree can be reconstructed using a preset operation list locally on each slave node, and a second root hash value corresponding to the reconstructed Merkle tree can be determined. If the first root hash value and the second root hash value are equal, a corresponding second digital signature can be generated based on the second root hash value, and the second digital signature of each slave node can be sent to the master node. After the master node verifies the second digital signature, an aggregate signature can be generated based on each second digital signature, and a corresponding upgrade execution instruction can be generated based on the aggregate signature. The aggregate signature and upgrade execution instruction can then be broadcasted to each slave node via the master node, so that each target node can perform a system upgrade based on the aggregate signature and the upgrade execution instruction using the mirror file according to the network time protocol.
[0114] That is to say, in this embodiment, the master node can be used to implement consensus verification of each node. First, the master node broadcasts the instruction summary to all slave nodes, and the slave node verifies the matching of the local instruction and the summary. If the verification is passed, the slave node generates a digital signature and marks the node that refuses to sign as abnormal. Later, when the system is upgraded, the master node collects all valid signatures and generates an aggregate signature as the execution certificate, and then broadcasts the execution instruction and the aggregate signature so that the slave node can verify the signature and execute the upgrade synchronously. And as Figure 2 As shown in FIG, during the Byzantine consensus instruction distribution process from the coordination layer to the storage layer, the quantum key management center can also be used to realize cross-layer encrypted communication through the QKD channel.
[0115] Furthermore, after the master node and each slave node in the storage system have been upgraded, the master node must obtain zero-knowledge proofs sent by each slave node. These zero-knowledge proofs are generated by the slave node based on the system state parameters after the upgrade, according to a preset constraint system. The master node then verifies each zero-knowledge proof using a preset verification algorithm. If each zero-knowledge proof is successfully verified, the master node determines whether the current systems of each target node are consistent based on each zero-knowledge proof. If the current systems of each target node are consistent, a corresponding system upgrade report is generated. Specifically, after the upgrade is complete, each node generates a state proof and submits the zero-knowledge proof. The master node verifies the state consistency by verifying all proof documents and confirming the upgrade is complete when the states are consistent. It is also important to note that if a node loses connectivity, the cluster upgrade is paused until the node is restored and resynchronized. If the slave node signature is invalid, the problematic node is isolated, and the upgrade continues on the remaining nodes. This allows the zero-trust collaboration protocol, through its Merkle tree-based instruction verification system, to achieve dual verification, combining aggregate signatures and zero-knowledge proofs, to further enhance system security.
[0116] In this embodiment, the state difference nodes in each node can also be recorded. All nodes can be rolled back to the snapshot before the upgrade, and the consistency verification process can be re-initiated. At the same time, if malicious behavior is detected in the node, the repeated offending nodes will be permanently isolated and the corresponding trust list will be updated. In this way, not only does the quantum encrypted USB flash drive provide the physical uncloning function, but the quantum-resistant characteristics of the NTRU algorithm are combined with the zero-knowledge proof mechanism to achieve verifiable security throughout the upgrade process, which can defend against hardware-level attacks and quantum computing threats and enhance system security. At the same time, a three-level gradient fault tolerance mechanism (retry → isolation → rollback) is constructed to automatically handle exceptions. The zero-trust collaborative framework ensures atomic synchronization of multi-node states through Merkle tree verification and aggregate signatures, realizes fault self-healing and cluster consistency assurance, and improves system reliability.
[0117] In this way, combined with the technical solutions in the above embodiments, after the quantum federated device identification system confirms the legitimacy of the device, it triggers the upgrade process. It then uses the directed acyclic graph upgrade engine to generate the optimal upgrade path based on the current environmental state. During the upgrade process, the zero-trust collaboration framework coordinates multiple nodes to synchronously execute upgrade instructions to ensure cluster synchronization. The upgrade status is then fed back to the identification system in real time to update the device trust status. In this way, the security and trustworthiness of the access device are first ensured, and then a customized upgrade path is generated based on the device type to achieve optimal execution path planning. Finally, the zero-trust collaboration framework ensures the coordination and consistency of multiple nodes, effectively solving the compatibility, reliability, and consistency problems of storage cluster upgrades.
[0118] Based on the previous embodiment, Figure 8 As shown, this embodiment provides a specific embodiment for upgrading multiple nodes in a storage system, including:
[0119] The master node first detects the USB device and parses the upgrade content. It then analyzes the node topology, develops an upgrade sequencing strategy, and determines a fault-tolerance solution to create a cluster upgrade plan. It then constructs a global Merkle instruction tree, breaking the upgrade steps into atomic operations. For each operation, it generates a hash value and calculates the parent node hashes level by level to form a tree structure. Ultimately, the root node hash value serves as the instruction summary.
[0120] When performing a cluster upgrade, the nodes enter collaborative verification. The master node first broadcasts the upgrade instruction package (including the root hash value). After receiving the instruction from the node, it locally reconstructs the Merkle tree to verify the consistency. After passing the verification, it generates an ED25519 digital signature and returns it to the master node. The master node then executes the Byzantine consensus, collects all node signatures, detects abnormal signatures (missing or invalid), and aggregates valid signatures to generate cluster execution credentials. At the same time, it marks unresponsive nodes as offline, isolates nodes with invalid signatures, and updates the cluster topology.
[0121] During the upgrade process, cluster nodes execute the upgrade synchronously. The master node first broadcasts the execution command and aggregate signature. Each node then uses the NTP (Network Time Protocol) protocol to synchronize the upgrade to milliseconds and executes the upgrade path planned by the local DAG engine. Cross-node status verification is performed before key nodes execute. Slave nodes also regularly report their execution progress, allowing the master node to build a cluster status matrix. If a slave node's execution progress deviates from a threshold (>5% difference), a coordinated correction mechanism is triggered.
[0122] After the upgrade is complete, consistency checks are required. Each node first generates a zero-knowledge proof. This proof is based on the R1CS (Rank-1 Constraint System) constraint system and includes final system state parameters, without revealing specific configuration details. The master node then runs a verification algorithm to check the validity of the proof and calculates the cluster consistency index to produce a global verification report.
[0123] like Figure 9 As shown, an embodiment of the present application further provides a storage system upgrade device, comprising:
[0124] The feature matching module 11 is used to collect the physical features of the target device and match the target features in the preset feature library with the physical features; the target device stores the image file used to upgrade the storage system;
[0125] The device verification module 12 is configured to obtain a first digital signature of the target device when the target feature and the physical feature successfully match, and verify the first digital signature using a local preset public key; the first digital signature is a signature generated by the target device using a preset private key based on the physical feature;
[0126] A policy determination module 13 is configured to obtain the hardware status of the storage system if the target device verification succeeds, and determine a system upgrade policy for the storage system based on the hardware status using a preset upgrade engine; the preset upgrade engine is an engine constructed based on a target directed acyclic graph, which is used to record the upgrade steps and the relationships between different upgrade steps;
[0127] The system upgrade module 14 is configured to read the image file in the target device and perform a system upgrade of the target node in the storage system using the image file based on the system upgrade policy.
[0128] For descriptions of features in the embodiments corresponding to the storage system upgrade apparatus, reference can be made to the relevant descriptions of the embodiments corresponding to the storage system upgrade method, which will not be detailed here.
[0129] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0130] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned storage system upgrade method embodiments.
[0131] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is configured to execute the steps of any of the above-mentioned storage system upgrade method embodiments when running.
[0132] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0133] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned storage system upgrade method embodiments are implemented.
[0134] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned storage system upgrade method embodiments are implemented.
[0135] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0136] The above is a detailed introduction to the storage system upgrade method, device, storage medium, and program product provided by the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only intended to help understand the method and core ideas of the present application. It should be pointed out that, for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A storage system upgrade method, characterized in that: include: Collecting physical features of the target device and matching the target features in a preset feature library with the physical features; The target device stores an image file for upgrading the storage system; When the target feature and the physical feature successfully match, obtaining a first digital signature of the target device and verifying the first digital signature using a local preset public key; the first digital signature is a signature generated by the target device based on the physical feature using a preset private key; If the target device is successfully verified, the hardware status of the storage system is obtained, and a preset upgrade engine is used to determine a system upgrade strategy for the storage system based on the hardware status; The preset upgrade engine is an engine built based on a target directed acyclic graph, and the target directed acyclic graph is used to record each upgrade step and the relationship between different upgrade steps; The image file in the target device is read, and the system of the target node in the storage system is upgraded by using the image file based on the system upgrade policy.
2. The storage system upgrade method according to claim 1, wherein: The matching of the target feature in the preset feature library with the physical feature includes: When the target feature and the physical feature fail to match, extracting a feature vector of the physical feature using a target device recognition model; Determining configuration parameters of the target device, and generating a target feature corresponding to the target device based on the feature vector and the configuration parameters; The target features corresponding to the target device are saved in the preset feature library.
3. The storage system upgrade method according to claim 2, wherein: Before extracting the feature vector of the physical feature using the target device recognition model, the method further includes: Deploying a preset device identification model at the edge computing layer of the storage system, and training the preset device identification model using the physical features to obtain an initial device identification model; extracting optimization parameters from the initial device identification model and encrypting the optimization parameters using a preset quantum key; Uploading the encrypted optimized parameters to a central server and obtaining an updated device identification model issued by the central server; the updated device identification model is a model obtained by the central server fusing the encrypted optimized parameters based on a federated aggregation algorithm to obtain target parameters, and then updating a local preset global model based on the target parameters; The updated device identification model is used to overwrite the initial device identification model to obtain the target device identification model.
4. The storage system upgrade method according to claim 1, wherein: The obtaining of the first digital signature of the target device includes: Obtaining a hardware feature code of the target device, and matching the target feature code in a preset device permission list with the hardware feature code; When the target feature code and the hardware feature code match successfully, the first digital signature of the target device is obtained.
5. The storage system upgrade method according to claim 4, characterized in that: The process of performing a system upgrade of a target node in the storage system using the image file based on the system upgrade strategy further includes: Reacquiring the first digital signature of the target device based on a preset time period, and verifying the first digital signature using the local preset public key; If the target device is successfully verified, continue to use the image file to perform a system upgrade on the target node in the storage system; If the target device verification fails, the system upgrade of the target node in the storage system using the image file is stopped.
6. The storage system upgrade method according to claim 1, wherein: Before determining the system upgrade strategy of the storage system based on the hardware status using the preset upgrade engine, the method further includes: Determining the image file writing steps and image file writing conditions of the storage system, and determining the writing operations corresponding to different hardware states of the storage system; The target directed acyclic graph is constructed according to the image file writing steps, the image file writing conditions, and the writing operations corresponding to different hardware states, so as to construct the preset upgrade engine based on the target directed acyclic graph.
7. The storage system upgrade method according to claim 6, characterized in that: The process of performing a system upgrade of a target node in the storage system using the image file based on the system upgrade strategy further includes: collecting system status parameters of the storage system based on a preset parameter collection period; Determining whether the system status parameters meet the preset system upgrade conditions; If the system status parameters do not meet the preset system upgrade conditions, the preset upgrade engine is used to adjust the system upgrade policy based on the system status parameters, so as to use the image file to perform a system upgrade on the target node in the storage system based on the adjusted system upgrade policy.
8. The storage system upgrade method according to claim 7, characterized in that: The process of performing a system upgrade of a target node in the storage system using the image file based on the system upgrade strategy further includes: Determining the amount of file data of the image file written to the storage system; If the file data volume is equal to the preset data writing threshold, performing a cyclic redundancy check on the mirror file written into the storage system; If the image file written into the storage system passes the verification and the image file has been completely written into the storage system, a preset cryptographic hash function is used to determine the hash value of the image file written into the storage system, and the hash value is verified so that after the hash value verification passes, it is determined that the image file writing is completed.
9. The storage system upgrade method according to claim 1, wherein: After performing the system upgrade of the target node in the storage system using the image file based on the system upgrade strategy, the method further includes: Performing a hot restart operation of the storage system; After the hot restart operation of the storage system is completed, testing the upgraded storage system based on a preset system testing process; If the upgraded storage system is detected successfully, a corresponding system upgrade log is generated and recorded; If the upgraded storage system fails the detection, the storage system is rolled back.
10. The storage system upgrade method according to any one of claims 1 to 9, characterized in that: The performing a system upgrade of a target node in the storage system by using the image file based on the system upgrade strategy includes: If there are multiple target nodes in the storage system, determine a master node and a slave node among the target nodes; Determining a node upgrade policy for a target node in the storage system using the master node according to the system upgrade policy; Determining node upgrade operations in the node upgrade strategy, and constructing a node upgrade instruction set based on each of the node upgrade operations; Constructing a Merkle tree based on the node upgrade instruction set, and determining a first root hash value of the Merkle tree; Generate a corresponding node upgrade instruction packet based on the first root hash value, and broadcast the node upgrade instruction packet to each slave node in the storage system through the master node; Based on the node upgrade instruction packet, the system upgrade of the master node and each of the slave nodes in the storage system is performed using the mirror file.
11. The storage system upgrade method according to claim 10, wherein: The performing system upgrade of the master node and each slave node in the storage system by using the image file based on the node upgrade instruction packet includes: Based on the node upgrade instruction packet, reconstruct the Merkle tree using the preset operation list of each slave node, and determine the second root hash value corresponding to the reconstructed Merkle tree; If the first root hash value and the second root hash value are equal, generating a corresponding second digital signature based on the second root hash value; Sending the second digital signature of each of the slave nodes to the master node, so that the master node verifies the second digital signature, generates an aggregate signature based on each of the second digital signatures, and generates a corresponding upgrade execution instruction based on the aggregate signature; The master node is used to broadcast the aggregate signature and the upgrade execution instruction to each of the slave nodes, so that each of the target nodes performs a system upgrade using the image file according to the network time protocol based on the aggregate signature and the upgrade execution instruction.
12. The storage system upgrade method according to claim 11, characterized in that: After the system upgrade of the master node and each slave node in the storage system is performed using the image file, the method further includes: Using the master node to obtain the zero-knowledge proof sent by each slave node; the zero-knowledge proof is generated by the slave node based on a preset constraint system and a system state parameter after the system upgrade; Utilizing the master node to verify each of the zero-knowledge proofs using a preset verification algorithm; If each of the zero-knowledge proofs is successfully verified, determining whether the current systems of each of the target nodes are consistent based on each of the zero-knowledge proofs; When the current systems of the target nodes are consistent, a corresponding system upgrade report is generated.
13. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the storage system upgrade method according to any one of claims 1 to 12 when executing the computer program.
14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, the steps of the storage system upgrade method according to any one of claims 1 to 12 are implemented.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the storage system upgrade method according to any one of claims 1 to 12 are implemented.
Citation Information
Patent Citations
Distributed base station upgrade processing method and system
CN112994952A
Firmware self-adaptive upgrading method, system and equipment
CN117539520A
Equipment OTA management system and method
CN118069180A
Server firmware remote upgrading method and system
CN120151195A