Blockchain-based data storage and verification method and related device

CN122985632APending Publication Date: 2026-10-27武汉启云方科技有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611207510.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-10
Publication Date
2026-10-27

AI Technical Summary

Technical Problem

[0003]然而,现有技术中,全量备份的方式对存储空间消耗巨大,随着测试用例数量和执行次数的增长,数据量呈爆炸式膨胀,且验证时需要逐条比对全量数据,耗时长、效率低

Benefits of technology

基于所述至少一个哈希链确定第一根哈希;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122985632A_ABST
    Figure CN122985632A_ABST
Patent Text Reader

Abstract

The application provides a blockchain-based data storage and verification method and related equipment, wherein the method comprises: obtaining execution data and environment data of each test case in at least one test case; determining at least one hash chain based on the execution data and environment data of each test case, the at least one hash chain corresponding to the at least one test case one by one; determining a root hash based on the at least one hash chain; and writing the root hash into a blockchain transaction to obtain a transaction ID. The blockchain-based data storage method provided by the application can reduce storage costs and effectively prevent tampering with test data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the fields of data storage and verification technology, and in particular to a data storage and verification method and related equipment based on blockchain. Background Technology

[0002] In the field of software testing, the preservation of test data is a crucial foundation for ensuring quality audits, issue backtracking, and accountability. Current technologies typically involve fully backing up test data in a database or using simple hash verification to protect the test data.

[0003] However, in existing technologies, full backup consumes a huge amount of storage space. As the number of test cases and execution times increase, the data volume explodes, and verification requires comparing all data item by item, which is time-consuming and inefficient. Simple hash verification is not suitable for massive amounts of test data, as tampering with some data is difficult to directly reflect in the hash value. At the same time, full backup data is also at risk of being tampered with. None of the above methods can effectively prevent the tampering of test data. Summary of the Invention

[0004] In view of this, this application provides a blockchain-based data storage and verification method and related equipment, which can reduce storage costs and effectively prevent tampering with test data.

[0005] In a first aspect, embodiments of this application provide a blockchain-based data storage method, the method comprising: Obtain execution data and environment data for each test case in at least one test case; At least one hash chain is determined based on the execution data and environment data of each test case, and the at least one hash chain corresponds one-to-one with the at least one test case; The root hash is determined based on the at least one hash chain; Write the root hash into the blockchain transaction to obtain the transaction ID.

[0006] Therefore, in the embodiments of this application, by generating an independent hash chain for each test case and then aggregating all hash chains into a root hash on the chain, the data of multiple test cases is compressed into a single root hash for evidence storage. Compared to full backup, this significantly reduces storage space consumption. Furthermore, verification does not require comparing the full data; only the root hash needs to be compared to determine whether the data has been tampered with, significantly improving verification efficiency. Since the root hash is built on the hash chain of each test case, any modification to the data of a single test case will cause the root hash to change, effectively preventing tampering and overcoming the limitation of simple hash verification in detecting partial tampering.

[0007] In conjunction with the first aspect, in one possible implementation, determining at least one hash chain based on the execution data and environment data of each test case includes: Based on the execution steps of each test case, a hash calculation is performed on the execution data to obtain the first hash value for each step; A second hash value is obtained by performing a hash calculation on the environmental data of each test case; By concatenating the first hash value and the second hash value of each step, a hash chain for each test case is obtained.

[0008] As can be seen, in the embodiments of this application, the data of each execution step of the test case is hashed separately and chained together with the hash value of the environment data. Subsequently, the data of each step is hashed independently and added to the chain, so any tampering with the data of any step will cause a change in the corresponding hash value and destroy the entire hash chain, achieving precise tamper-proof protection for step-level data during the testing process. Simultaneously, the environment data is integrated into the hash chain with an independent hash value, binding the test execution environment and execution steps to the same evidence chain, preventing the separation and forgery of the environment and process.

[0009] In conjunction with the first aspect, in one possible implementation, in the hash chain of each test case, the first hash value of each step is concatenated according to the execution order of each step.

[0010] As can be seen, in the embodiments of this application, by concatenating the first hash value of each step in the same test case according to the order of execution of the steps, the hash chain preserves the temporal relationship between the steps. Therefore, any attempt to swap, delete or insert execution steps will destroy the sequential structure of the hash chain and be automatically detected, thus ensuring the authenticity and non-reorderability of the timing of the test process.

[0011] In conjunction with the first aspect, in one possible implementation, the execution data includes at least one of the following: Input data, output data, and logs.

[0012] As can be seen, in the embodiments of this application, the execution data covers the input, output, and log information of the test cases. Because these different types of data jointly participate in the generation of the hash chain, the evidence not only includes the final result but also the elements that affect the result throughout the entire process, providing a complete data foundation for subsequent auditing and avoiding the problem of redundant data but scattered key information in full backups.

[0013] In conjunction with the first aspect, in one possible implementation, the environmental data includes at least one of the following: Container environment data and physical environment data.

[0014] As can be seen, in the embodiments of this application, the environmental data explicitly includes container-level or physical-level identifiers, which are unique and difficult to forge. Therefore, the stored environmental data can be accurately linked to the real environment in which the test was performed, preventing the test data from being transferred to other environments and misused, thus enhancing the credibility of the evidence.

[0015] In conjunction with the first aspect, in one possible implementation, the execution data includes a timestamp, which is the start execution time of the corresponding test case.

[0016] As can be seen, in the embodiments of this application, the execution data includes the timestamp of when the test case actually started execution. This timestamp, together with the data of the execution steps, is protected by a hash chain. Therefore, during subsequent verification, the rationality of the start execution time can be checked, effectively resisting time forgery and further strengthening the time credibility of the evidence data.

[0017] In conjunction with the first aspect, in one possible implementation, determining the root hash based on the at least one hash chain includes: A Merkle tree is constructed based on the at least one hash chain, wherein each leaf node of the Merkle tree corresponds to a hash chain; The Merkle tree is calculated layer by layer to obtain the root hash.

[0018] As can be seen, in the implementation of this application, multiple hash chains are aggregated into a root hash through a Merkle tree structure. Merkle trees support logarithmic level existence proofs, so the verifier does not need to download all the test data. They only need to provide the hash values ​​of a single hash chain and its adjacent branches to quickly confirm whether the test case belongs to the original dataset corresponding to the root hash, which greatly improves the verification efficiency and further compresses the amount of evidence storage data.

[0019] In conjunction with the first aspect, in one possible implementation, before writing the root hash into the blockchain transaction to obtain the transaction ID, the method further includes: The coverage of the at least one test case to the preset test target is determined to be greater than or equal to a first threshold.

[0020] As can be seen, in the implementation of this application, on-chain evidence storage is only performed after the test cases reach the preset coverage threshold. Test data with insufficient coverage does not have audit value or does not meet the quality threshold. Therefore, filtering by preconditions can avoid invalid data occupying on-chain storage resources, ensure that the test data for on-chain evidence storage meets the basic quality requirements, and improve the overall efficiency of the evidence storage system.

[0021] Secondly, embodiments of this application provide a blockchain-based data verification method, the method comprising: Obtain execution data, environment data, and transaction ID for each test case in at least one test case, wherein the transaction ID is determined based on any implementation method in the first aspect; At least one hash chain is determined based on the execution data and environment data of each test case, and the at least one hash chain corresponds one-to-one with the at least one test case; The first root hash is determined based on the at least one hash chain; Obtain the second root hash from the blockchain based on the transaction ID; Based on the first root hash, the second root hash, the blockchain information, and the execution data of each test case, a verification method is used to determine whether the execution data of each test case is valid.

[0022] As can be seen, in the implementation of this application, the validity of the data is determined by recalculating the root hash of the data to be verified and comparing it with the root hash stored on the blockchain, combined with blockchain information. Furthermore, the verification method completely reuses the hash chain generation logic in the storage method, so any third party can independently verify it without relying on a centralized trust institution. Simultaneously, because the comparison is made with the root hash rather than the original data, the verification process does not reveal the specific content of the test data, protecting data privacy. Compared to the method of comparing data item by item in a full backup, this verification method only needs to compare hash values, significantly improving efficiency.

[0023] In conjunction with the second aspect, in one possible implementation, the method for determining the validity of the execution data of each test case based on the first root hash, the second root hash, blockchain information, and the execution data of each test case includes: Based on the execution data of each test case, determine the start execution time of each test case; Based on the blockchain information, the generation time of the block carrying the second root hash is determined; If the first root hash is the same as the second root hash, the start execution time of each test case is earlier than the generation time, thus determining that the execution data and environment data of each test case are valid.

[0024] As can be seen, in the embodiments of this application, the verification method checks both hash consistency and time order. Because the execution start time must be earlier than the block generation time, any subsequent forgery or tampering of test data will lead to time logic anomalies, which will be automatically identified. This enhances the temporal credibility of the evidence and compensates for the inadequacy of simple hash verification in providing time-dimensional protection.

[0025] In conjunction with the second aspect, in one possible implementation, the program corresponding to the verification method is stored in the blockchain.

[0026] As can be seen, in the embodiments of this application, the specific rules for verifying the validity of data are stored on the blockchain, and the verification method itself is immutable. No one can cover up the data tampering behavior by modifying the verification logic, which ensures the fairness and consistency of the verification process and avoids the risk that the centralized verification rules may be maliciously modified.

[0027] Thirdly, embodiments of this application provide a blockchain-based data storage device, which includes: The acquisition unit is used to acquire the execution data and environment data of each test case in at least one test case; A determining unit is configured to determine at least one hash chain based on the execution data and environment data of each test case, wherein the at least one hash chain corresponds one-to-one with the at least one test case, and to determine the root hash based on the at least one hash chain; The evidence storage unit is used to write the root hash into a blockchain transaction to obtain a transaction ID.

[0028] Fourthly, embodiments of this application provide a blockchain-based data verification device, which includes: An acquisition unit is configured to acquire execution data, environment data, and transaction ID for each test case in at least one test case, wherein the transaction ID is determined based on any implementation method in the first aspect; The determining unit is used to determine at least one hash chain based on the execution data and environment data of each test case, wherein the at least one hash chain corresponds one-to-one with the at least one test case, to determine a first hash based on the at least one hash chain, and to obtain a second hash from the blockchain based on the transaction ID; The verification unit is used to perform a verification method based on the first root hash, the second root hash, blockchain information, the execution data of each test case, and environment data to determine whether the execution data of each test case is valid.

[0029] Fifthly, embodiments of this application provide an electronic device including a memory and a processor. The memory stores a computer program, the computer program including program instructions, and the processor is configured to invoke the program instructions to execute the steps in the method designed in the first or second aspect described above.

[0030] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program for electronic data interchange, wherein the computer program causes a computer to perform some or all of the steps described in the methods of the first or second aspect of embodiments of this application.

[0031] In a seventh aspect, embodiments of this application provide a computer program product, wherein the computer program product includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps described in the methods of the first or second aspects of embodiments of this application. The computer program product may be a software installation package.

[0032] The beneficial effects of the technical solutions in aspects three through seven can be found in the technical effects of the technical solutions in aspects one and two, and will not be repeated here. Attached Figure Description

[0033] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the 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.

[0034] Figure 1 A schematic diagram of an evidence storage device provided for an embodiment of this application; Figure 2 A flowchart illustrating a blockchain-based data storage method provided for embodiments of this application; Figure 3 A schematic diagram of a verification device provided for an embodiment of this application; Figure 4 A flowchart illustrating a blockchain-based data verification method provided for embodiments of this application; Figure 5 This is a block diagram of the functional units of a blockchain-based data storage device provided in the embodiments of this application; Figure 6 This is a block diagram of the functional units of a blockchain-based data verification device provided in the embodiments of this application; Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0035] Explanation of reference numerals in the attached figures: 100 - Evidence Preservation Equipment; 110 - Evidence storage software; 120 - Operating system; 130 - Hardware; 140 - Testing platform; 150 - Simulation platform; 160 - Server; 131-Central Processing Unit; 132-Memory; 133-External Devices; 300 - Verification Equipment; 310 - Verification software; 320 - Operating system; 330 - Hardware; 331 - Central Processing Unit; 332 - Memory; 333 - External Device; 500 - Data Storage Device; 501 - Acquisition Unit; 502 - Determination Unit; 503 - Evidence Storage Unit; 600 - Data Verification Device; 601 - Acquisition Unit; 602 - Determination Unit; 603 - Verification Unit; 700 - Electronic Equipment; 701 - Processor; 702 - Memory. Detailed Implementation

[0036] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0037] The terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish different objects, not to describe a specific order. 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 apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0038] In the embodiments of this application, "at least one item" or similar expressions refer to any combination of these items, including any combination of a single item or a plurality of items. "One or more" refers to one or more items, while "multiple" refers to two or more items. For example, "at least one item" of a, b, or c can represent the following seven cases: a, b, c; a and b; a and c; b and c; a, b, and c. Each of a, b, and c can be an element or a set containing one or more elements.

[0039] In this document, the term "implementation" means that a specific feature, structure, or characteristic described in connection with an implementation may be included in at least one implementation of this application. The appearance of this phrase in various places in the specification does not necessarily refer to the same implementation, nor is it a separate or alternative implementation mutually exclusive with other implementations. It will be explicitly and implicitly understood by those skilled in the art that the implementations described herein can be combined with other implementations.

[0040] First, refer to Figure 1 , Figure 1 This diagram illustrates an evidence storage device provided in an embodiment of this application. A blockchain-based data evidence storage method provided in this application can be implemented in this evidence storage device. Specifically, the evidence storage device 100 may include evidence storage software 110, an operating system 120, and hardware 130. The hardware 130 may include a central processing unit (CPU) 131, a memory 132, and external devices 133.

[0041] In this embodiment, the evidence storage device 100 can be a device with communication capabilities, and may be referred to as a terminal, user equipment (UE), mobile station (MS), mobile terminal (MT), access terminal device, vehicle-mounted terminal device, industrial control terminal device, UE unit, UE station, mobile station, remote station, remote terminal device, mobile device, UE terminal device, wireless communication device, UE agent, or UE device, etc. The evidence storage device 100 can be fixed or mobile. It should be noted that the evidence storage device 100 can support at least one wireless communication technology, such as LTE, new radio (NR), wideband code division multiple access (WCDMA), etc. For example, the evidence storage device 100 can be a mobile phone, tablet, desktop computer, laptop computer, all-in-one computer, vehicle terminal, virtual reality (VR) terminal device, augmented reality (AR) terminal device, wireless terminal in industrial control, wireless terminal in self-driving, wireless terminal in remote medical surgery, wireless terminal in smart grid, wireless terminal in transportation safety, wireless terminal in smart city, wireless terminal in smart home, cellular phone, cordless phone, session initiation protocol (SIP) phone, wireless local loop (WLL) station, personal digital assistant (PDA), handheld device with wireless communication capabilities, computing device or other processing device connected to a wireless modem, wearable device, terminal device in future mobile communication networks, or terminal device in future evolved public land mobile network (PLMN), etc. In some embodiments of this application, the evidence storage device 100 may also be a device with transceiver functions, such as a chip system. The chip system may include a chip, and may also include other discrete components.

[0042] In this embodiment, the evidence storage device 100 can also be a server. For example, it can be a standalone server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms. This application does not make any specific limitations on this.

[0043] In this embodiment, the memory 132 may be: a read-only memory (ROM) or other type of static storage device capable of storing static information and instructions; a random access memory (RAM) or other type of dynamic storage device capable of storing information and instructions; or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), a magnetic disk storage medium or other magnetic storage device; or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer. This application does not specifically limit this type of storage.

[0044] In this embodiment, the user can control the evidence storage device 100 through the operating system 120 and run the evidence storage software 110 with the support of the hardware 130 to realize data evidence storage. During the evidence storage process, the evidence storage device 100 obtains the data to be stored from external devices such as the test platform 140, simulation platform 150, and server 160, and this application does not impose any restrictions on this.

[0045] Understandable Figure 1 The form and quantity of the evidence storage device 100, evidence storage software 110, operating system 120 and hardware 130 shown are for illustrative purposes only and do not constitute a limitation on the implementation of this application.

[0046] For example, the evidence storage device 100 may include other software besides the evidence storage software 110 shown.

[0047] For example, the evidence storage device 100 may include other systems besides the operating system 120 shown.

[0048] For example, the evidence storage device 100 may include other hardware besides the hardware 130 shown.

[0049] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the above content and the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. At the same time, these embodiments can be related to each other or independent of each other, and the same content between different embodiments can be referenced by each other, which will not be elaborated here.

[0050] The following will combine Figure 2 This application describes a blockchain-based data storage method. Figure 2 A flowchart illustrating a blockchain-based data storage method provided for embodiments of this application is shown. This method can be applied to... Figure 1 The evidence storage device 100 shown specifically includes the following steps: S201: Obtain the execution data and environment data for each test case in at least one test case.

[0051] In this implementation, a test case refers to a description of a testing task for a specific software product, reflecting the test plan, methods, techniques, and strategies. Its content may include test objectives, test environment, input data, test steps, expected results, test scripts, etc., and is ultimately presented in document form.

[0052] In this embodiment, execution data refers to the execution record of a test case obtained during its execution, which may include input data, output data, logs, and timestamps. Specifically, the timestamp can be the start time of the test case execution, and the execution data can be collected by configuring a data acquisition agent in the execution environment through active listening or passive capture.

[0053] In this embodiment, environment data refers to the data related to the execution environment when the test cases are executed. This can include container environment data and physical environment data, corresponding to the software environment and hardware environment during test case execution, respectively. Specifically, container environment data can include container identifiers (IDs), host machine media access control (MAC) addresses, graphics processing unit (GPU) serial numbers, etc.; physical environment data can include central processing unit (CPU) IDs, universally unique identifiers (UUIDs), disk serial numbers, etc.

[0054] S202: Determine at least one hash chain based on the execution data and environment data for each test case.

[0055] In this embodiment, the at least one hash chain corresponds one-to-one with at least one test case. That is, for each test case, a corresponding hash chain needs to be generated independently.

[0056] In this embodiment, the execution data is first hashed based on the execution steps of each test case to obtain a first hash value for each step. For example, when collecting execution data, the input data, output data, and logs for each execution step can be collected according to the test steps described in the test case document. Then, for each step, its execution data is hashed to obtain a first hash value for each step.

[0057] Specifically, during the calculation process, keywords can be extracted from the execution data of each step to obtain at least one primary keyword. This primary keyword can include keywords related to the test case content, such as test objectives, test environment, input data, test steps, expected results, and test scripts; metadata-related keywords, such as test case ID and start execution time (millisecond precision); and result summary-related keywords, such as execution results (Pass / Fail), error codes, and key log segments (e.g., exception stack traces). After obtaining at least one primary keyword, a hash calculation can be performed on it to obtain the primary hash value for each step.

[0058] Then, the environment data for each test case can be hashed to obtain a second hash value.

[0059] Finally, the first and second hash values ​​of each step can be concatenated to obtain the hash chain for each test case. The first hash values ​​of each step can be concatenated according to the execution order of the steps, and the second hash value can be located at any position in the hash chain; this application does not impose any restrictions on this.

[0060] S203: Determine the root hash based on at least one hash chain.

[0061] In this embodiment, the root hash can be obtained by constructing at least one hash chain into a Merkle tree and then performing layer-by-layer calculations on the constructed Merkle tree. Specifically, a Merkle tree is a binary tree structure, and the Merkle tree can be constructed by treating each hash chain as a leaf node. The position of each hash chain in the Merkle tree can be random, and this application does not impose any restrictions on this.

[0062] In this embodiment, after the Merkle tree is constructed, a generation algorithm, such as the message digest algorithm SHA-256, can be used to perform layer-by-layer hash calculation on the Merkle tree, compressing the hash chain data in the Merkle tree into a single root hash. Any tampering with the underlying data will cause the root hash to change.

[0063] S204: Write the root hash into the blockchain transaction to obtain the transaction ID.

[0064] In this embodiment, blockchain is chosen as the carrier for evidence storage, and its security and immutability improve the credibility of the written data.

[0065] Before writing to the blockchain, the coverage of at least one test case can be checked to determine whether the execution data and environment data of the currently acquired at least one test case are sufficient for subsequent auditing. Specifically, it can be determined whether the coverage of at least one test case to a preset test objective is greater than or equal to a first threshold. This coverage can be code line coverage, branch coverage, requirement coverage, or other quantitative indicators reflecting the adequacy of testing. The first threshold can be pre-configured according to quality audit standards (such as industry specifications or internal enterprise requirements).

[0066] If the coverage rate is greater than or equal to the first threshold, it indicates that at least one test case has met the expected test adequacy standard, and its execution data and environment data have audit value and are necessary for evidence preservation. In this case, subsequent blockchain write operations can be allowed, that is, the root hash is formally submitted to the blockchain network and packaged into a block, thereby generating a corresponding transaction ID as an immutable evidence. This transaction ID can be used for traceability during subsequent auditing or verification.

[0067] Conversely, if the coverage rate is less than the first threshold, it indicates that at least one test case has not yet met the test adequacy standard. In this case, the on-chain operation can be refused, and corresponding remedial procedures can be triggered. For example, automatically supplementing missing test cases, notifying test engineers to adjust the test plan, or generating a non-compliance alarm record to the audit log. Through the above pre-screening mechanism, the consumption of blockchain storage resources by low-quality and insufficient test data can be reduced, while ensuring that each piece of test evidence stored on the chain represents a valid test process that has been verified for quality, thereby improving the credibility and efficiency of the entire evidence storage system.

[0068] As can be seen, the method of this application hashes the data of each execution step of the test case separately and chains it with the hash value of the environment data. Then, the data of each step is hashed independently and added to the chain, so any tampering with the data of any step will cause a change in the corresponding hash value and destroy the entire hash chain, achieving precise tamper-proof protection of step-level data during the testing process. Simultaneously, the environment data is integrated into the hash chain with an independent hash value, binding the test execution environment and execution steps to the same evidence chain, preventing the separation and forgery of the environment and process.

[0069] Secondly, see Figure 3 , Figure 3 This diagram illustrates a verification device provided in an embodiment of this application. A blockchain-based data verification method provided in this application can be implemented in this verification device. Specifically, the verification device 300 may include verification software 310, an operating system 320, and hardware 330. The hardware 330 may include a CPU 331, a memory 332, and external devices 333.

[0070] In this embodiment, the verification device 300 can be a device with communication capabilities or a server, as detailed in the description of the evidence storage device 100 above. Similarly, the memory 332 can be referred to in the description of the memory 132 above, and will not be repeated here.

[0071] In this embodiment, the user can control the verification device 300 through the operating system 320 and run the verification software 310 with the support of the hardware 330 to achieve data verification. During the verification process, the verification device 300 receives the uploaded data to be verified from the user or the server, and this application does not impose any restrictions on this.

[0072] Understandable Figure 3 The form and quantity of the verification software 310, operating system 320 and hardware 330 in the verification device 300 shown are for illustrative purposes only and do not constitute a limitation on the implementation of this application.

[0073] For example, the verification device 300 may include other software in addition to the verification software 310 shown.

[0074] For example, the verification device 300 may include other systems besides the operating system 320 shown.

[0075] For example, the verification device 300 may include other hardware in addition to the hardware 330 shown.

[0076] The technical solutions in the embodiments of this application will be clearly and completely described below with reference to the above content and the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application. At the same time, these embodiments can be related to each other or independent of each other, and the same content between different embodiments can be referenced by each other, which will not be elaborated here.

[0077] The following will combine Figure 4 This application describes a blockchain-based data verification method. Figure 4 A flowchart illustrating a blockchain-based data verification method provided for embodiments of this application is shown. This method can be applied to... Figure 3 The verification device 300 shown specifically includes the following steps: S401: Obtain the execution data, environment data, and transaction ID for each test case in at least one test case.

[0078] In this embodiment, the transaction ID is determined based on the method in steps S201-S204.

[0079] S402: Determine at least one hash chain based on the execution data and environment data for each test case.

[0080] S403: Determine the first root hash based on at least one hash chain.

[0081] In this embodiment, the specific implementation of steps S402-S403 can be referred to steps S202-S203, and will not be repeated here.

[0082] S404: Obtain the second root hash from the blockchain based on the transaction ID.

[0083] In this embodiment, the second root hash is the root hash of the execution data and environment data of at least one test case obtained through the methods in steps S201-S204. This second root hash is stored on an immutable blockchain. When other users or platforms receive the execution data and environment data of at least one test case, they can quickly determine whether the received data has been tampered with by reconstructing the first root hash and comparing it with the second root hash obtained from the blockchain.

[0084] S405: Based on the first root hash, the second root hash, blockchain information, and the execution data of each test case, execute a verification method to determine whether the execution data of each test case is valid.

[0085] In this implementation, the start execution time of each test case can be determined based on the execution data of each test case. Furthermore, the generation time of the block carrying the second hash can be determined based on blockchain information. If the first hash and the second hash are the same, and the start execution time of each test case is earlier than its generation time, then the execution data and environment data of each test case are deemed valid.

[0086] Specifically, since the block generation time in a blockchain is determined by a network-wide consensus mechanism, it possesses the characteristics of decentralization, immutability, and global trust. However, the start execution time of test cases is usually recorded by a local clock in the test execution environment, which is at risk of being maliciously tampered with or misaligned. By comparing the start execution time of each test case with the block generation time carrying the second root hash, a simple yet efficient time consistency verification mechanism can be constructed.

[0087] If the start time of a test case is later than the block generation time, it means that the test case's claimed start time occurred after the evidence data was encapsulated into the block. This is a clear contradiction in physical time sequence, indicating that the start time was likely forged, or that the test data was tampered with and a false timestamp was inserted after the evidence was stored. Therefore, when the first hash is the same as the second hash and all test cases start before the block generation time, it not only proves that the content of the test data has not been modified (hash consistency), but also proves that the start time of the test cases is earlier than the moment of evidence storage, thus ruling out the possibility of post-event forgery from a temporal perspective.

[0088] By combining hash comparison with time sequence verification, this implementation method can leverage the inherent time reliability of the blockchain to provide reliable time proof for test data without relying on an external trusted time source (such as a time synchronization server). This effectively resists attacks such as time rollback and local clock tampering, further enhancing the spatiotemporal credibility of the stored evidence. Furthermore, this verification process only requires comparing time magnitudes, resulting in extremely low computational overhead, making it suitable for large-scale data verification scenarios.

[0089] In one possible implementation, the blockchain may include some or all of the environmental data in addition to the second root hash. Then, when verifying the validity of the data, it is also necessary to compare whether the environmental data is consistent. If the root hash is the same, the execution start time is earlier than the block generation time, and the environmental data is consistent, the execution data is determined to be valid.

[0090] In this embodiment, the program corresponding to the verification method can also be stored in the blockchain. Then, based on the decentralized, immutable, and globally trustworthy characteristics of the blockchain, the verification method stored on the chain can prevent unauthorized modification or bypassing by any single entity. Specifically, if the verification logic (such as hash comparison rules, time sequence judgment conditions, etc.) is deployed as a smart contract or as publicly available executable code on the chain, then any third party calling the verification method will obtain the same set of immutable verification rules. This ensures the consistency and fairness of the verification process and prevents the possibility of data tampering being concealed due to the verification rules being artificially adjusted. Simultaneously, since the verification method on the blockchain is open and transparent to all participants, any party can independently perform verification without relying on a centralized auditing platform, thereby reducing trust costs. Furthermore, the on-chain storage of the verification method also supports automated triggering (e.g., automatically verifying stored data through smart contracts), improving audit efficiency and providing a trusted infrastructure for large-scale, multi-party mutual recognition of test evidence.

[0091] It should be noted that the program corresponding to the verification method can be any program in the format of exe or py (Python program file).

[0092] As can be seen, the method implemented in this application determines data validity by recalculating the root hash of the data to be verified and comparing it with the root hash stored on the blockchain, combined with blockchain information. Furthermore, the verification method completely reuses the hash chain generation logic from the storage method, so any third party can independently verify it without relying on a centralized trust institution. Simultaneously, because the comparison is made with the root hash rather than the original data, the verification process does not reveal the specific content of the test data, protecting data privacy. Compared to comparing data item by item in a full backup, this verification method only needs to compare hash values, significantly improving efficiency.

[0093] The foregoing primarily describes the implementation scheme of this application from a methodological perspective. It is understood that, to achieve the above functions, the apparatus may include hardware structures and / or software circuits corresponding to the execution of each function. Those skilled in the art should readily recognize that, based on the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in a hardware or computer software-driven hardware manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can 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.

[0094] The embodiments of this application can divide the device into functional units according to the above method examples. For example, each function can be divided into a separate functional unit, or two or more functions can be integrated into one processing unit. It should be noted that the unit division in the embodiments of this application is illustrative and is only a logical functional division, while other division methods may be used in actual implementation.

[0095] In this embodiment, refer to Figure 5 , Figure 5 This is a functional unit block diagram of a blockchain-based data storage device provided in an embodiment of this application. The data storage device 500 includes an acquisition unit 501, a determination unit 502, and a storage unit 503.

[0096] In this embodiment, the acquisition unit 501, the determination unit 502, and the evidence storage unit 503 can be any circuit unit used to receive and process signals, information, etc., or to determine a monitoring mechanism, and there are no specific limitations on this.

[0097] In this embodiment, the data storage device 500 may further include a storage unit for storing computer program code or instructions executed by the data storage device 500. The storage unit may be a memory.

[0098] In this embodiment, the data storage device 500 may be a chip or a chip module.

[0099] In this embodiment, the acquisition unit 501, the determination unit 502, and the evidence storage unit 503 can be integrated into the communication unit. The communication unit can be a communication interface, transceiver, transceiver circuit, etc.

[0100] In this embodiment, the acquisition unit 501, the determination unit 502, and the evidence storage unit 503 can be integrated into the processing unit.

[0101] It should be noted that the processing unit can be a processor or controller, such as a baseband processor, baseband chip, CPU, general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing unit can also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0102] In this embodiment, the data storage device 500 is used to perform any of the steps performed by the chip / chip module, etc., as described in the above method embodiments.

[0103] In specific implementation, the acquisition unit 501, the determination unit 502, and the evidence storage unit 503 are used to perform any of the steps in the above method implementation, and when performing actions such as sending, other units can be selectively called to complete the corresponding operation. A detailed explanation follows.

[0104] Acquisition unit 501 is used to acquire execution data and environment data for each test case in at least one test case; The determining unit 502 is used to determine at least one hash chain based on the execution data and environment data of each test case, wherein the at least one hash chain corresponds one-to-one with the at least one test case, and to determine the root hash based on the at least one hash chain; The evidence storage unit 503 is used to write the root hash into a blockchain transaction to obtain a transaction ID.

[0105] In this embodiment, regarding the determination of at least one hash chain based on the execution data and environment data of each test case, the determining unit 502 is specifically used for: Based on the execution steps of each test case, a hash calculation is performed on the execution data to obtain the first hash value for each step; A second hash value is obtained by performing a hash calculation on the environmental data of each test case; By concatenating the first hash value and the second hash value of each step, a hash chain for each test case is obtained.

[0106] In this embodiment, in the hash chain of each test case, the first hash value of each step is concatenated according to the execution order of each step.

[0107] In this embodiment, the execution data includes at least one of the following: Input data, output data, and logs.

[0108] In this embodiment, the environmental data includes at least one of the following: Container environment data and physical environment data.

[0109] In this embodiment, the execution data includes a timestamp, which is the start execution time of the corresponding test case.

[0110] In this embodiment, regarding the determination of the root hash based on the at least one hash chain, the determining unit 502 is specifically used for: A Merkle tree is constructed based on the at least one hash chain, wherein each leaf node of the Merkle tree corresponds to a hash chain; The Merkle tree is calculated layer by layer to obtain the root hash.

[0111] In this embodiment, before writing the root hash into the blockchain transaction to obtain the transaction ID, the determining unit 502 is further configured to: The coverage of the at least one test case to the preset test target is determined to be greater than or equal to a first threshold.

[0112] In this embodiment, refer to Figure 6 , Figure 6 This is a functional unit block diagram of a blockchain-based data verification device provided in an embodiment of this application. The data verification device 600 includes an acquisition unit 601, a determination unit 602, and a verification unit 603.

[0113] In this embodiment, the acquisition unit 601, the determination unit 602, and the verification unit 603 can be any circuit unit used to receive and process signals, information, etc., or to determine a monitoring mechanism, and there are no specific limitations on this.

[0114] In this embodiment, the data verification device 600 may further include a storage unit for storing computer program code or instructions executed by the data verification device 600. The storage unit may be a memory.

[0115] In this embodiment, the data verification device 600 may be a chip or a chip module.

[0116] In this embodiment, the acquisition unit 601, the determination unit 602, and the verification unit 603 can be integrated into the communication unit. The communication unit can be a communication interface, transceiver, transceiver circuit, etc.

[0117] In this embodiment, the acquisition unit 601, the determination unit 602, and the verification unit 603 can be integrated into the processing unit.

[0118] It should be noted that the processing unit can be a processor or controller, such as a baseband processor, baseband chip, CPU, general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, transistor logic device, hardware component, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. The processing unit can also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.

[0119] In this embodiment, the data verification device 600 is used to perform any of the steps performed by the chip / chip module, etc., as described in the above method embodiments.

[0120] In specific implementation, the acquisition unit 601, the determination unit 602, and the verification unit 603 are used to perform any of the steps in the above method implementation, and when performing actions such as sending, other units can be selectively called to complete the corresponding operation. A detailed explanation follows.

[0121] The acquisition unit 601 is used to acquire the execution data, environment data and transaction ID of each test case in at least one test case, wherein the transaction ID is determined based on the method in steps S201-S204; The determining unit 602 is used to determine at least one hash chain based on the execution data and environment data of each test case, wherein the at least one hash chain corresponds one-to-one with the at least one test case, to determine a first hash based on the at least one hash chain, and to obtain a second hash from the blockchain based on the transaction ID; Verification unit 603 is used to perform a verification method based on the first root hash, the second root hash, blockchain information and the execution data of each test case to determine whether the execution data of each test case is valid.

[0122] In this embodiment, in determining whether the execution data of each test case is valid based on the first root hash, the second root hash, blockchain information, and the execution data of each test case, the verification unit 603 is specifically used for: Based on the execution data of each test case, determine the start execution time of each test case; Based on the blockchain information, the generation time of the block carrying the second root hash is determined; If the first root hash is the same as the second root hash, the start execution time of each test case is earlier than the generation time, thus determining that the execution data and environment data of each test case are valid.

[0123] In this embodiment, the program corresponding to the verification method is stored in the blockchain. The program can be in various formats such as exe or py (Python program file).

[0124] It should be noted that, Figure 5 and Figure 6 The specific implementation of each operation in the implementation method can be found in the description of the method implementation method shown above, and will not be repeated here.

[0125] In this embodiment, refer to Figure 7 , Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. For example... Figure 7 As shown, the electronic device 700 includes a processor 701 and a memory 702. The processor 701 is coupled to the memory 702. The memory 702 is used to store computer programs or instructions and / or data. The processor 701 is used to execute the computer programs or instructions stored in the memory 702, or to read the data stored in the memory 702, in order to perform the methods in the above-described method embodiments.

[0126] Optionally, there may be one or more processors 701.

[0127] Optionally, the memory 702 may be one or more.

[0128] Alternatively, the memory 702 can be integrated with the processor 701, or it can be set separately.

[0129] Optionally, the electronic device 700 also includes a transceiver for receiving and / or transmitting signals. For example, a processor 701 controls the transceiver to receive and / or transmit signals.

[0130] In addition, this application also provides a computer-readable storage medium storing computer instructions, which, when executed on a computer, cause the methods in the various method embodiments of this application to be performed.

[0131] This application also provides an auditing platform, including the evidence storage device and verification device declared in the various method embodiments of this application.

[0132] This application also provides a computer program product, which includes computer program code or instructions, such that when the computer program code or instructions are run on a computer, the methods in the various method embodiments of this application are executed.

[0133] Furthermore, this application also provides a chip including a processor. A memory for storing a computer program is provided independently of the chip, and the processor is used to execute the computer program stored in the memory to perform the methods in the various method embodiments of this application.

[0134] Furthermore, the chip may also include a communication interface. The communication interface may be an input / output interface or an interface circuit, etc. Furthermore, the chip may also include a memory.

[0135] It should be understood that the processor in the embodiments of this application can be an integrated circuit chip with the ability to process signals. In implementation, each step of the above method embodiments can be completed by the integrated logic circuitry in the processor's hardware or by instructions in software form. The processor can be a CPU, or other general-purpose processors, DSPs, ASICs, FPGAs, or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly implemented by a hardware encoding processor, or by a combination of hardware and software modules in the encoding processor. The software modules can be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. This storage medium is located in memory; the processor reads information from the memory and, in conjunction with its hardware, completes the steps of the above method.

[0136] The memory in the embodiments of this application can be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. Non-volatile memory can be ROM, Programmable Read-Only Memory (PROM), Erasable Programmable Read-Only Memory (EPROM), EEPROM, or flash memory. Volatile memory can be RAM, which serves as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), and synchronous link dynamic random access memory (SLDRAM).

[0137] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory can be integrated into the processor.

[0138] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.

[0139] It should be noted that, Figure 7 The specific implementation of each operation in the above-described method implementation can be found in the description of the method implementation, and will not be repeated here.

[0140] This application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program operable to cause a computer to perform some or all of the steps of any of the methods described in the above method embodiments. The computer program product may be a software installation package, and the computer may include an electronic device.

[0141] It should be noted that, for the sake of simplicity, the various embodiments described above are all presented as a series of actions. Those skilled in the art should understand that this application is not limited to the described order of actions, as some steps in the embodiments of this application can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all one embodiment, and the actions, steps, modules, or units involved are not necessarily essential to the embodiments of this application.

[0142] In the above embodiments, the descriptions of each embodiment in this application have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0143] The steps of the methods or algorithms described in this application can be implemented in hardware or by a processor executing software instructions. The software instructions can consist of corresponding software modules, which can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, portable hard disk, read-only optical disc (CD-ROM), or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor, enabling the processor to read information from and write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and storage medium can reside in an ASIC. Furthermore, the ASIC can reside in a terminal device or management device. Alternatively, the processor and storage medium can exist as discrete components in the terminal device or management device.

[0144] Those skilled in the art will recognize that, in one or more of the examples above, the functions described in the embodiments of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. This computer program product includes one or more computer instructions. When these computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available media can be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., digital video discs (DVDs)), or semiconductor media (e.g., solid-state disks (SSDs)).

[0145] The modules / units included in the various devices and products described in the above embodiments can be software modules / units, hardware modules / units, or a combination of both. For example, for devices and products applied to or integrated into a chip, all modules / units can be implemented using hardware methods such as circuits, or at least some modules / units can be implemented using software programs that run on a processor integrated within the chip, while the remaining (if any) modules / units can be implemented using hardware methods such as circuits. For devices and products applied to or integrated into a chip module, all modules / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components of the chip module, or at least some modules / units can be implemented using hardware methods such as circuits. The implementation is achieved through a software program that runs on the processor integrated within the chip module. The remaining modules / units (if any) can be implemented using hardware methods such as circuits. For various devices and products applied to or integrated into terminal equipment, each of their modules / units can be implemented using hardware methods such as circuits. Different modules / units can be located in the same component (e.g., chip, circuit module, etc.) or different components within the terminal equipment. Alternatively, at least some modules / units can be implemented through a software program that runs on the processor integrated within the terminal equipment, while the remaining modules / units (if any) can be implemented using hardware methods such as circuits.

[0146] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the embodiments of this application. It should be understood that the above description is only a specific embodiment of the embodiments of this application and is not intended to limit the protection scope of the embodiments of this application. Any modifications, equivalent substitutions, improvements, etc., made on the basis of the technical solution of the embodiments of this application should be included within the protection scope of the embodiments of this application.

Claims

1. A data storage method based on blockchain, characterized in that, The method includes: Obtain execution data and environment data for each test case in at least one test case; At least one hash chain is determined based on the execution data and environment data of each test case, and the at least one hash chain corresponds one-to-one with the at least one test case; The root hash is determined based on the at least one hash chain; Write the root hash into the blockchain transaction to obtain the transaction ID.

2. The method according to claim 1, characterized in that, Determining at least one hash chain based on the execution data and environment data of each test case includes: Based on the execution steps of each test case, a hash calculation is performed on the execution data to obtain the first hash value for each step; A second hash value is obtained by performing a hash calculation on the environmental data of each test case; By concatenating the first hash value and the second hash value of each step, a hash chain for each test case is obtained.

3. The method according to claim 2, characterized in that, In the hash chain of each test case, the first hash value of each step is concatenated according to the execution order of each step.

4. The method according to any one of claims 1-3, characterized in that, The execution data includes at least one of the following: Input data, output data, and logs.

5. The method according to any one of claims 1-4, characterized in that, The environmental data includes at least one of the following: Container environment data and physical environment data.

6. The method according to any one of claims 1-5, characterized in that, The execution data includes a timestamp, which is the start execution time of the corresponding test case.

7. The method according to any one of claims 1-6, characterized in that, Determining the root hash based on the at least one hash chain includes: A Merkle tree is constructed based on the at least one hash chain, wherein each leaf node of the Merkle tree corresponds to a hash chain; The Merkle tree is calculated layer by layer to obtain the root hash.

8. The method according to any one of claims 1-7, characterized in that, Before writing the root hash into the blockchain transaction to obtain the transaction ID, the method further includes: The coverage of the at least one test case to the preset test target is determined to be greater than or equal to a first threshold.

9. A data verification method based on blockchain, characterized in that, The method includes: Obtain execution data, environment data, and transaction ID for each test case in at least one test case, wherein the transaction ID is determined based on the method described in any one of claims 1-7; At least one hash chain is determined based on the execution data and environment data of each test case, and the at least one hash chain corresponds one-to-one with the at least one test case; The first root hash is determined based on the at least one hash chain; Obtain the second root hash from the blockchain based on the transaction ID; Based on the first root hash, the second root hash, the blockchain information, and the execution data of each test case, a verification method is executed to determine whether the execution data of each test case is valid.

10. The method according to claim 9, characterized in that, The method for verifying the validity of execution data for each test case based on the first root hash, the second root hash, blockchain information, and the execution data of each test case includes: Based on the execution data of each test case, determine the start execution time of each test case; Based on the blockchain information, the generation time of the block carrying the second root hash is determined; If the first root hash is the same as the second root hash, the start execution time of each test case is earlier than the generation time, thus determining that the execution data and environment data of each test case are valid.

11. The method according to claim 9 or 10, characterized in that, The program corresponding to the verification method is stored in the blockchain.

12. A data storage device based on blockchain, characterized in that, The device includes: The acquisition unit is used to acquire the execution data and environment data of each test case in at least one test case; A determining unit is configured to determine at least one hash chain based on the execution data and environment data of each test case, wherein the at least one hash chain corresponds one-to-one with the at least one test case, and to determine the root hash based on the at least one hash chain; The evidence storage unit is used to write the root hash into a blockchain transaction to obtain a transaction ID.

13. A data verification device based on blockchain, characterized in that, The device includes: An acquisition unit is configured to acquire execution data, environment data, and transaction ID for each test case in at least one test case, wherein the transaction ID is determined based on the method described in any one of claims 1-7; The determining unit is used to determine at least one hash chain based on the execution data and environment data of each test case, wherein the at least one hash chain corresponds one-to-one with the at least one test case, to determine a first hash based on the at least one hash chain, and to obtain a second hash from the blockchain based on the transaction ID; The verification unit is used to execute a verification method based on the first root hash, the second root hash, blockchain information, and the execution data of each test case to determine whether the execution data of each test case is valid.

14. An electronic device, characterized in that, The device includes a memory and a processor, the memory being used to store a computer program, the computer program including program instructions, and the processor being configured to invoke the program instructions to perform the method as described in any one of claims 1-8 or 9-11.

15. A computer-readable storage medium, characterized in that, The computer storage medium stores computer-readable instructions that, when executed on a computer, cause the computer to perform the method of any one of claims 1-8 or 9-11.

16. A computer program product, characterized in that, The computer program product includes computer instructions that, when executed by a processor, implement the method of any one of claims 1-8 or 9-11.