CN115022096A - Method and device for downloading software - Google Patents
Method and device for downloading software Download PDFInfo
- Publication number
- CN115022096A CN115022096A CN202210946846.9A CN202210946846A CN115022096A CN 115022096 A CN115022096 A CN 115022096A CN 202210946846 A CN202210946846 A CN 202210946846A CN 115022096 A CN115022096 A CN 115022096A
- Authority
- CN
- China
- Prior art keywords
- software
- data
- target
- block
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The application provides a method and a device for downloading software, which relate to the field of software downloading and comprise the following steps: receiving a software downloading request sent by downloading equipment; determining a node set corresponding to the target software according to the target software information in the software downloading request, wherein the first data stored in each node in the node set is the same; in the node set, nodes with the same stored first data are divided to obtain a division result, wherein the first data are stored in a storage position corresponding to the target software in each node, and when the target software is released, the first data stored in each node are the same; determining a target division result containing the maximum number of nodes in the division results; and determining the installation data of the target software according to the first data stored by the nodes in the target division result, and sending the installation data to the downloading equipment. According to the method and the device, malicious programs can be prevented from being sent to the downloading equipment, and the safety of the downloading equipment is guaranteed.
Description
Technical Field
The present application relates to the field of software downloading, and in particular, to a method and an apparatus for downloading software.
Background
In real life, after a software developer develops software, the software is generally distributed to the internet so that a user can download the software on an application store or a store network to meet the needs of the user.
Specifically, after the user clicks a download button on an application store or an official website, the downloading device receives a software download instruction and generates a software download request, and then the request server searches installation data of the software in a database storing the installation data according to software information indicated by the software download request and issues the installation data to the downloading device. In this way, the download device performs installation based on the installation data after acquiring the installation data.
However, if the installation data in the database is tampered by a malicious user, the tampered installation data is issued to the downloading device. When the downloading device is installed based on the tampered installation data, the security of the downloading device can be seriously threatened, and even data leakage can be caused when the security is serious.
Disclosure of Invention
In view of this, the present application provides a method and an apparatus for downloading software, which can avoid sending a malicious program to a downloading device, and ensure the security of the downloading device.
In order to achieve the above purpose, the present application mainly provides the following technical solutions:
in a first aspect, the present application provides a method for downloading software, the method comprising:
receiving a software downloading request sent by downloading equipment;
determining a node set corresponding to target software according to target software information in the software downloading request, wherein the number of nodes in the node set is greater than a threshold value;
in the node set, nodes with the same stored first data are divided to obtain a division result, wherein the first data are data stored in a storage position corresponding to the target software in each node, and when the target software is released, the first data stored in each node in the node set are the same;
determining a target division result containing the maximum number of nodes in the division results;
and determining the installation data of the target software according to the first data stored by the nodes in the target division result, and sending the installation data to the downloading equipment.
Further, the target software information includes a software ID and a version number, and before the installation data is sent to the downloading device, the method further includes:
determining a creating block ID as a verification information subchain of the software ID;
searching blocks with block IDs as version numbers in the verification information subchain;
in the block, acquiring first verification information;
and verifying the installation data based on the first verification information.
Further, the first data further includes second verification information and second data, and before determining the installation data of the target software according to the first data stored by the node in the target division result, the method further includes:
acquiring second verification information and second data in the first data, wherein the second data is the data except the second verification information in the first data;
and verifying the second data based on the second verification information.
Further, the determining the installation data of the target software according to the first data stored by the node in the target division result includes:
determining second data stored by the nodes in the target division result as second data corresponding to the node set;
and combining the second data corresponding to each node set according to the arrangement sequence corresponding to each node set to obtain the installation data of the target software.
Further, the method further comprises:
when a software release request is received, determining a target node sending the software release request and a software ID in the software release request, wherein the software ID is the ID of software to be released;
acquiring a company ID of software to be issued in a configuration data subchain with a founding block ID as a software ID;
judging whether a block ID of a block to which the target node belongs exists in an authentication subchain, wherein the block ID is a company ID generated by a software company when the software company passes authentication;
and determining whether to release the software to be released or not according to the judgment result.
Further, the determining whether to release the software to be released according to the judgment result includes:
if so, issuing the software to be issued when the block ID is the same as the company ID;
and if not, issuing the software to be issued when the company ID is the same as the preset ID.
In a second aspect, the present application provides an apparatus for downloading software, the apparatus comprising:
the receiving unit is used for receiving a software downloading request sent by the downloading equipment;
a first determining unit, configured to determine, according to target software information in the software download request received by the receiving unit, a node set corresponding to the target software, where the number of nodes in the node set is greater than a threshold;
the dividing unit is configured to divide nodes in which stored first data is the same in the node set determined by the first determining unit to obtain a division result, where the first data is data stored in a storage location corresponding to the target software in each node, and when the target software is released, the first data stored in each node in the node set is the same;
a second determination unit configured to determine a target division result including the largest number of nodes among the division results divided by the division unit;
and the third determining unit is used for determining the installation data of the target software according to the first data stored by the nodes in the target division result determined by the second determining unit and sending the installation data to the downloading equipment.
Further, the apparatus further includes a first verification unit including:
the first determining module is used for determining that the founding block ID is the verification information subchain of the software ID;
the first searching module is used for searching a block with the block ID as the version number in the verification information sub-chain determined by the first determining module;
the first obtaining module is used for obtaining first verification information in the block determined by the second searching module;
and the first verification module is used for verifying the installation data based on the first verification information acquired by the first acquisition module.
Further, the first data further includes second verification information and second data, the apparatus further includes a second verification unit, and the second verification unit includes:
a first obtaining module, configured to obtain, in the first data, the second verification information and second data, where the second data is data of the first data except the second verification information;
and the second verification module is used for verifying the second data based on the second verification information acquired by the first acquisition module.
Further, the third determining unit includes:
a second determining module, configured to determine second data stored by a node in the target partitioning result as second data corresponding to the node set;
and the sorting module is used for combining the second data corresponding to each node set determined by the second determining module according to the corresponding arrangement sequence of each node set to obtain the installation data of the target software.
Further, the apparatus further includes an issuing unit, and the issuing unit includes:
the third determining module is used for determining a target node sending the software release request and a software ID in the software release request when the software release request is received, wherein the software ID is the ID of software to be released;
the third obtaining module is used for obtaining the company ID of the software to be issued in the configuration data subchain of the software ID determined by the third determining module by the creating block ID;
the judging module is used for judging whether the block ID of the block to which the target node belongs exists in the authentication subchain, wherein the block ID is a company ID generated for a software company when the software company passes authentication;
and the fourth determining module is used for determining whether to release the software to be released or not according to the judgment result of the judging module.
Further, the fourth determining module is further configured to:
if so, issuing the software to be issued when the block ID is the same as the company ID;
and if not, issuing the software to be issued when the company ID is the same as the preset ID.
In a third aspect, the present application further provides an electronic device, which includes at least one processor, and at least one memory and a bus connected to the processor; the processor and the memory complete mutual communication through a bus; the processor is adapted to call program instructions in the memory to perform the method of downloading software of the first aspect described above.
In a fourth aspect, the present application provides a storage medium for storing a computer program, where the computer program controls a device in which the storage medium is located to execute the software downloading method according to the first aspect when running.
By means of the technical scheme, the application provides a method and a device for downloading software, and specifically describes that when a downloading request of target software is received, nodes with the same stored first data are divided in a node set of the target software to obtain division results, the target division results with the largest number of nodes are determined in the division results, and installation data of the target software are determined according to the first data stored by the nodes in the target division results. Due to the limitation of equipment and the like, malicious personnel can only tamper the first data stored by individual or a plurality of nodes, but cannot tamper the first data stored by most nodes in the node set. Therefore, the target division result which comprises the same first data stored by each node and has the largest number of nodes can be determined through the method, the first data stored by each node in the target division result is not tampered, and the installation data can be determined according to the first data stored by the nodes in the target division result and then sent to the downloading equipment. Therefore, based on the method of the embodiment of the application, the data sent to the downloading device is the installation data which is not tampered, so that the malicious program is prevented from being sent to the downloading device, and the safety of a downloading device system is guaranteed.
The above description is only an overview of the technical solutions of the present application, and the present application may be implemented in accordance with the content of the description so as to make the technical means of the present application more clearly understood, and the detailed description of the present application will be given below in order to make the above and other objects, features, and advantages of the present application more clearly understood.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
FIG. 1 is a schematic flow chart of a method for downloading software disclosed herein;
FIG. 2 is a schematic flow chart of yet another method for downloading software disclosed herein;
FIG. 3 is a schematic flow chart of yet another method for downloading software disclosed herein;
FIG. 4 is a schematic diagram of a software downloading apparatus according to the present disclosure;
fig. 5 is a schematic structural diagram of another software downloading apparatus disclosed in the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
In practice, due to limitations in terms of equipment and the like, malicious personnel can only tamper data stored in individual or a few nodes, but cannot tamper data stored in most nodes in a node set. If the data stored by the nodes are the same, even if a small part of the data stored by the nodes in the node set is tampered by malicious personnel, the data cannot be used, but the data stored by the large part of the nodes can still be used. Therefore, if a node in the node set is tampered, the node storing the same data and occupying most of the data is the node of which the data is not tampered. The data stored by the nodes are sent to the downloading equipment, so that malicious programs are prevented from being sent to the downloading equipment, and the safety of a downloading equipment system is guaranteed.
In summary, the embodiment of the present application provides a method for downloading software, where an execution main body of the method is any node in a network, and a malicious program can be prevented from being sent to a downloading device, so that the security of the downloading device is ensured. The specific implementation steps are shown in fig. 1, and include:
The software downloading request is used for requesting to acquire the installation data of the target software and sending the installation data to the downloading equipment. The installation data is data required for installing the target software.
In a specific embodiment of this step, the user may search for the target software at the application store of the downloading device. And after the downloading equipment receives the search instruction, displaying a downloading page of the target software, wherein a downloading button corresponding to at least one version of software is displayed on the downloading page. And after the user clicks the download button corresponding to the target software, receiving a click instruction of the download button, generating a software download request according to the target software information, and sending the software download request to a certain node.
And 102, determining a node set corresponding to the target software according to the target software information in the software downloading request.
The number of nodes in the node set is greater than the threshold, that is, in the present application, the data amount of the nodes in the node set must be large to ensure that the data sent to the downloading device is correct installation data. In the present application, one or more node sets corresponding to the target software may be provided. And if the installation data of the target software is not divided into a plurality of shares, the node set corresponding to the target software is one. And if the installation data of the target software is divided into a plurality of parts, the node set corresponding to the target software is a plurality of nodes. The target software information may include a target software ID and version number for finding a node storing installation data for the target software.
In the specific implementation manner of this step, the node set corresponding to the target software is found according to the target software information in the software downloading request and the correspondence between the pre-stored software information and the node set.
And 103, dividing the nodes with the same stored first data in the node set to obtain a division result.
The first data are data stored in a storage position corresponding to the target software in each node, and when the target software is released, the first data stored in each node in the node set are the same. The first data in the same division result are the same, and the first data in different division results are different.
When the target software is released, the software developer releases the installation data of the target software to the network and stores the installation data in at least one node set. In the following, taking the example of storing the installation data into a node set, each node in the node set stores the installation data of the target software, that is, when the target software is released, the installation data of the target software stored by each node in the node set is the same.
In the specific implementation manner of this step, after the node set is determined, for each node, according to the correspondence relationship among the target software, the node, and the storage location stored in advance, the storage location corresponding to the target software in the node is determined, that is, the storage location where the installation data or part thereof should be stored in the node is determined. Since the data stored in the storage location may be installation data or part of the installation data, or may be data tampered by a malicious person, in order to distinguish the data stored in the storage location from the installation data, the data stored in the storage location may be determined as the first data. Since the storage location corresponding to the target software in each node in the node set has been determined, the first data may be obtained in each storage location, and the first data of each node may be obtained. And then classifying the first data of each node according to the difference and the identity of the first data, wherein if the first data stored in the nodes in the node set is not tampered, the first data stored in each node in the node set is the same, so that only one division result is obtained. If the first data stored by the nodes in the node set is tampered, at least two kinds of first data exist in the node set, and at least one division result is obtained.
And 104, determining a target division result containing the maximum number of nodes in the division results.
In the specific implementation manner of this step, since the data of the target software may be stored in at least one node set when the target software is released, each node in the node set stores the same data. However, because there are a large number of nodes in the node set, and it is difficult for a malicious person to tamper data stored in most of the nodes in the node set, the malicious person can only tamper individual or a few nodes in the node set. Therefore, when malicious personnel tamper the first data stored on the node, a plurality of division results can be determined based on the method, and the malicious personnel can only tamper individual or a plurality of nodes in the node set, so that the first data stored by the node in the target division result with a large number of nodes is not tampered and can be sent to the downloading equipment. When no malicious person tampers the first data stored on the node, only one division result is obtained, and the division result is the target division result.
It should be noted that, in the embodiment of the present application, in order to ensure that the data stored in each node in the node set is the same, the data stored in each node in the node set may be periodically synchronized according to a minority-compliant majority rule.
And 105, determining the installation data of the target software according to the first data stored by the nodes in the target division result, and sending the installation data to the downloading equipment.
In the specific implementation manner of this step, if the installation data of the target software is not divided into multiple parts, the node set corresponding to the target software is one, so that the installation data of the target software is stored in each node in the node set, and the first data stored in the node in the target division result determined based on this step is the installation data. If the installation data of the target software is divided into a plurality of parts, the node sets corresponding to the target software are in a plurality of parts, so that the same part of data is stored in each node in the corresponding node set, the first data stored in the nodes in the target division result determined based on the step is one part of the installation data, and the installation data of the target software is determined according to the determined plurality of first data. And after the installation data are determined, sending the installation data to the downloading equipment to realize the downloading of the software.
In the embodiment of the application, when a downloading request of target software is received, nodes with the same stored first data are divided in a node set of the target software to obtain division results, the target division result with the largest number of nodes is determined in the division results, and the installation data of the target software is determined according to the first data stored by the nodes in the target division result. Due to the limitation of equipment and the like, malicious personnel can only tamper the first data stored by individual or a plurality of nodes, but cannot tamper the first data stored by most nodes in the node set. Therefore, the target division result which comprises the same first data stored by each node and has the largest number of nodes can be determined through the method, the first data stored by each node in the target division result is not tampered, and the installation data can be determined according to the first data stored by the nodes in the target division result and then sent to the downloading equipment. Therefore, based on the method of the embodiment of the application, the data sent to the downloading device is the installation data which is not tampered, so that the malicious program is prevented from being sent to the downloading device, and the safety of a downloading device system is guaranteed.
Further, when the target software is released, the installation data of the target software can be stored in the blockchain, and further, when the blockchain system receives a software downloading request, the installation data of the target software is obtained in the blockchain and is sent to the downloading device. Therefore, the embodiment of the present application further provides a method for downloading software on the basis of the embodiment described in fig. 1, and the specific execution steps of the method are shown in fig. 2, and the method includes:
This step is similar to step 101 and is not described in detail here.
The target software information comprises a software ID and a version number of the target software. The created block is a block created first in the installation data subchain, and the ID of the block is a software ID and a version number.
In the specific implementation manner of this step, the installation data sub-chains of different pieces of software may be stored in the blockchain system, and in order to distinguish the installation data sub-chains of different pieces of software, the created blockchain ID in the installation data sub-chain may be set as the software ID and the version number of the corresponding piece of software. In this way, the installation data sub-chain with the created block ID as the software ID and the version number can be searched in the plurality of installation data sub-chains, and then the sub-chain storing the installation data of the target software can be found.
In the application, a method for constructing and installing a data subchain is also provided, and the specific steps are as follows:
the method comprises the following steps of firstly, dividing installation data into a plurality of data blocks according to the size of a storage space of each block of an installation data subchain. Or dividing the installation data into a plurality of data blocks according to a preset size. For example, the mount data is divided into a plurality of data blocks in a size of 2M. Thereafter, a unique data block ID is set for each data block. The database ID may indicate a combination order of the data blocks.
And secondly, reading the data blocks in sequence, calculating a digital label for the data blocks by using an MD5 algorithm, and calculating a hash value of the digital label by using a hash function except the MD5 algorithm. Then, a data block storage request including the hash value of the digital tag and the data block ID is sent to the blockchain system.
And thirdly, after each node in the block chain system receives the data block storage request, starting to reversely calculate the digital label corresponding to the hash value of the digital label, and after a node calculates the correct digital label, sending the digital label to other nodes in the block chain network. And the other nodes calculate the hash value of the received digital label by using a hash function, compare the hash value with the hash value in the data block storage request and represent that the digital label is confirmed if the hash value is consistent with the hash value. And when more than half of nodes confirm the digital label, determining the node for calculating the digital label as the current data block storage node. When a data block storage node is validated, other nodes in the blockchain network locally save the data block ID, data block storage node ID, hash value of the digital tag for subsequent storage block validation and synchronization.
And fourthly, after the data block is encrypted by using the public key of the data storage node, the encrypted data block is sent to the data sending node through a data transmission channel established between the data sending node and the data storage node. The data sending node decrypts the encrypted data block through a private key, creates a new block on the installation program subchain, stores the decrypted data block, the digital tag and the hash value of the digital tag in the new block, and determines the ID of the data block as the block ID. After the creation is completed, synchronizing the new block into the block chain network, after other nodes in the block chain network receive the new block, judging whether the ID of the new block is consistent with the ID of the data block locally stored in the third step, and if the hash value of the digital label of the new block is consistent with the hash value of the digital label locally stored in the third step, indicating that the data block storage is legal, and adding the new block into the local installation program sub-chain.
Thereafter, the second and fourth steps are repeated until all data blocks are stored in the installation data subchain.
When the storage space required by the installation data of the target software is larger than the storage space of the block, the installation data is divided into a plurality of data blocks according to the size of the storage space of the block, and each piece of data is stored in a node in the block. Meanwhile, after the division, each data block may be given a corresponding data block ID according to the position of the data block in the mounting data, and the block ID of each block may be set to the data block ID of the stored data block, so that each block may be sorted according to the block ID of each block. The first data are data stored in a storage position corresponding to the target software in each node, and when the target software is released, the first data stored in each node in the node set are the same.
In the specific implementation manner of this step, all the blocks in the sub-chain of the installation data may be sequentially traversed according to the block ID of each block, and each block is determined as a node set, so that in each node set, nodes in which the stored first data is the same are divided, and a division result is obtained. And determining a target division result containing the maximum number of nodes in the division results. And determining first data stored by the nodes in the target division result as first data corresponding to the node set, and further obtaining first data corresponding to each block.
And 204, sorting the first data corresponding to each block according to the traversal sequence to obtain installation data.
Wherein the traversal order of the blocks can be determined according to the block ID of each block.
In the specific implementation manner of this step, when the installation data is stored in a plurality of blocks, the first data corresponding to each node set is sorted according to the traversal order, so as to obtain the installation data of the target software.
The sub-chain of the verification information is a block chain for storing the verification information, and the sub-chain of the verification information comprises a founding block with an ID of a software ID and a block with an ID of a version number, wherein the block stores the verification information of the target software.
In this embodiment of the application, after the installation data of the target software is determined in step 207, the determined installation data may be directly sent to the downloading device, or the installation data may be verified first and sent to the downloading device after the verification is passed. When the installation data needs to be verified, the storage position of the verification information of the target software needs to be determined first, and then the verification information of the target software is obtained according to the storage position. The concrete mode is as follows: and determining the verification information subchain of which the created block ID is the software ID from the plurality of verification information subchains.
In step 206, a block with a block ID of the version number is searched in the sub-chain of the authentication information.
In step 207, first verification information is obtained in the block.
The first verification information may include a data size of the installation data, a hash value calculated based on the installation data, or a data size of the installation data and a hash value calculated based on the installation data.
And step 208, verifying the installation data based on the first verification information.
In a specific embodiment of this step, when the first verification information includes the data size of the installation data, the data size of the installation data determined in step 207 may be obtained, and the data size in the first verification information may be compared to determine whether the data size is equal. When the two are equal, the verification passes. When the two are not equal, the verification fails. When the first authentication information includes the hash value calculated based on the installation data, the hash value of the installation data determined in step 207 may be calculated based on a pre-stored algorithm, and compared to whether the hash value in the first authentication information is equal. When the two are equal, the verification passes. When the two are not equal, the verification fails.
It should be noted that, when the verification passes, it indicates that the installation data is safe and can be sent to the downloading device for installation. When the verification fails, the installation data is unsafe, and alarm information can be sent to a software developer of the target software so that the software developer can maintain the installation data.
And step 209, when the verification is passed, transmitting the installation data to the downloading equipment.
In the embodiment of the application, when a downloading request of target software is received, nodes with the same stored first data are divided in a node set of the target software to obtain division results, the target division result with the largest number of nodes is determined in the division results, and the installation data of the target software is determined according to the first data stored by the nodes in the target division result. Due to the limitation of equipment and the like, malicious personnel can only tamper the first data stored by individual or a plurality of nodes, but cannot tamper the first data stored by most nodes in the node set. Therefore, the target division result which comprises the same first data stored by each node and has the largest number of nodes can be determined through the method, the first data stored by each node in the target division result is not tampered, and the installation data can be determined according to the first data stored by the nodes in the target division result and then sent to the downloading equipment. Therefore, based on the method of the embodiment of the application, the data sent to the downloading device is the installation data which is not tampered, so that the malicious program is prevented from being sent to the downloading device, and the safety of a downloading device system is guaranteed.
Further, on the basis of the embodiment described in fig. 1 or fig. 2, an embodiment of the present application further provides a software downloading method, which specifically executes the steps shown in fig. 3, including:
In step 304, second verification information and second data are obtained in each first data.
The second data is data of the first data except the second verification information, and specifically, the second data is installation data of the target software or partial data thereof. The second verification information may include a digital tag of the second data, a hash value of the second data, or both the digital tag and the hash value, where the hash value is calculated by using a hash function on the digital tag.
In a specific implementation manner of this step, after the first data corresponding to each node set is determined, the second verification information and the second data are determined in each first data.
For example, the first 9 bits of data in the first data are determined as the second verification information, and the other data are determined as the second data.
And 305, verifying the second data based on the second verification information.
In a specific implementation manner of this step, when the second verification information includes the digital tag of the second data, a preset digital tag algorithm is used to calculate the second data to obtain the digital tag of the second data, and the digital tag is compared with the digital tag in the second verification information. When the two are the same, the verification is passed, and when the two are different, the verification is not passed. And when the second verification information comprises the hash value of the second data, calculating the second data by using a preset hash value algorithm to obtain the hash value of the second data, and comparing the hash value with the hash value in the second verification information. When the two are the same, the verification is passed, and when the two are different, the verification is not passed. When the second verification information includes the digital signature and the hash value of the second data, the digital tag and the hash value are verified at the same time.
And step 306, when the verification is passed, determining second data stored by the nodes in the target division result as second data corresponding to the node sets, and combining the second data corresponding to each node set according to the arrangement sequence corresponding to each node set to obtain the installation data of the target software.
In the specific implementation manner of the step, when the verification is passed, determining second data stored by the node in the target division result as second data of the corresponding block; and combining the second data corresponding to each block according to the arrangement sequence corresponding to each block to obtain the installation data of the target software.
In step 308, the sub-chain of the verification information is searched for a block with a block ID of the version number.
In step 309, in the block, first verification information is obtained.
The first verification information may be the data size of the installation data, a hash value calculated based on the installation data, or the data size of the installation data and the hash value calculated based on the installation data.
And step 310, verifying the installation data based on the first verification information.
And 311, when the verification is passed, transmitting the installation data to the downloading device.
In the embodiment of the application, when a downloading request of target software is received, nodes with the same stored first data are divided in a node set of the target software to obtain division results, the target division result with the largest number of nodes is determined in the division results, and the installation data of the target software is determined according to the first data stored by the nodes in the target division result. Due to the limitation of equipment and the like, malicious personnel can only tamper the first data stored by individual or a plurality of nodes, but cannot tamper the first data stored by most nodes in the node set. Therefore, the target division result which comprises the same first data stored by each node and has the largest number of nodes can be determined through the method, the first data stored by each node in the target division result is not tampered, and the installation data can be determined according to the first data stored by the nodes in the target division result and then sent to the downloading equipment. Therefore, based on the method of the embodiment of the application, the data sent to the downloading device is the installation data which is not tampered, so that the malicious program is prevented from being sent to the downloading device, and the safety of a downloading device system is guaranteed.
In addition to the above embodiments, in order to display the software configuration data of the target software when the installation data is used, the installation data of the target software may be searched and various configuration data of the target software may be searched at the same time, and the installation data and various configuration data may be transmitted to the downloading device together. The method comprises the following specific steps: and determining the created block ID as the configuration data subchain of the software ID. In the configuration data subchain, a third block with a block ID of a version number is searched. In the third block, various configuration data of the target software are acquired.
The configuration data includes information such as software name, software description, and software classification.
Meanwhile, when the software is released, whether a target node for releasing the software is legal or not can be determined, and the node is allowed to release the software under the condition that the node is legal, wherein the specific method comprises the following steps: when a software release request is received, determining a target node sending the software release request and a software ID in the software release request, wherein the software ID is the ID of software to be released; acquiring a company ID of software to be issued in a configuration data subchain with a founding block ID as a software ID; judging whether a block ID of a block to which a target node belongs exists in the authentication subchain, wherein the block ID is a company ID generated by a software company when the authentication of the software company passes; determining whether to release the software to be released or not according to the judgment result, specifically: if so, issuing the software to be issued when the block ID is the same as the company ID; and if not, issuing the software to be issued when the company ID is the same as the preset ID.
The created block or other blocks in the configuration data subchain may store the company ID for developing the software.
For business software, it is generally developed by a company, and if the company wants to release software on the blockchain system, the company must go through identity authentication of the blockchain system, and create a block with a blockchain ID of the company ID on an authentication sublink in the blockchain system. Therefore, when the software needs to be released, according to the target node of the released software, it is determined whether the target node belongs to a block in the authentication subchain, that is, whether the block ID of the block to which the target node belongs exists is determined. And if the block ID of the block to which the target node belongs exists, verifying whether the block ID is the same as the company ID in the configuration data subchain. And if the two are the same, the target node is legal, and the software uploaded by the target node can be released. And if the difference is not the same, the target node is illegal, and the software uploaded by the target node cannot be released in order to ensure the safety of the block chain system. If the block ID of the block to which the target node belongs does not exist, the software to be issued is free software, and whether the company ID in the configuration data subchain is the same as the preset ID or not only needs to be verified. When the two nodes are the same, the target node is legal, and when the two nodes are different, the target node is illegal.
The main body of the release software is a business software company, the business software company needs to perform identity authentication before releasing the software, after the authentication is successful, the blockchain system generates a company ID for the business software company, the company ID is used as a unique identifier of the software company in the blockchain system, and the company ID and the blockchain link point of the business software company are bound one to one. The binding mode is to create a new block on the authentication subchain, use the company ID as the ID of the block, and store the data area of the block in the node of the software company. After binding, the business software company can distribute the business software through its block chain nodes.
Meanwhile, the method for establishing the configuration data subchain comprises the following steps: before software is released, a software publisher may initiate a software configuration request, wherein the software configuration request at least comprises a company ID, a software ID, a version number and software configuration data. When the blockchain system receives the software configuration request, the blockchain system traverses the blockids of all founder blocks in the blockchain. When the block ID identical to the software ID is detected to be stored, the fact that the configuration data subchain of the software is established is explained, and only the block ID of the created block needs to be determined to be the configuration data subchain of the software ID, a block is newly established on the configuration data subchain, the block ID of the block is set to be a version number, and then data in the software configuration request is stored into the block. When the block ID identical to the software ID is not detected to be stored, it indicates that the sub-chain of the configuration data of the software has not been established yet, and therefore, the sub-chain of the configuration data needs to be established first, and the software configuration data in the software configuration request is stored. The concrete mode is as follows: a created block with a block ID of software ID is created and a company ID is stored in the created block. Then, a block with the block ID as the version number is created in the sub-chain of the created block, and the data in the software configuration request is stored in the block.
Meanwhile, the installation data in the software release request can be verified so as to ensure the correctness of the installation data. For example, the installation data is verified by two verification methods, namely online verification and manual verification. Specifically, the software installation program is sent to a verification cloud end, the verification cloud end integrates software scanning engines of all mainstream software security companies, the software installation program is subjected to security scanning through all the engines, and whether all the engines pass the scanning is checked. During manual verification, the software installation package is randomly distributed to verifiers in different geographic positions, and the software is operated by the verifiers in a sandbox environment to detect the safety of the software. Security indicators for both authentication modes include, but are not limited to: malicious trojans, malicious viruses, malicious downloads, malicious advertisements, and the like.
Further, as an implementation of the method embodiments shown in fig. 1 to 3, an embodiment of the present application provides a software downloading apparatus, which can prevent a malicious program from being sent to a downloading device, and ensure the security of the downloading device. The embodiment of the apparatus corresponds to the foregoing method embodiment, and details in the foregoing method embodiment are not repeated in this embodiment for convenience of reading, but it should be clear that the apparatus in this embodiment can correspondingly implement all the contents in the foregoing method embodiment. As shown in fig. 4 in detail, the apparatus includes:
a receiving unit 401, configured to receive a software downloading request sent by a downloading device;
a first determining unit 402, configured to determine, according to target software information in the software download request received by the receiving unit 401, a node set corresponding to the target software, where the number of nodes in the node set is greater than a threshold;
a dividing unit 403, configured to divide, in the node set determined by the first determining unit 402, nodes in which stored first data is the same, to obtain a division result, where the first data is data stored in a storage location corresponding to the target software in each node, and when the target software is released, the first data stored in each node of the node set is the same;
a second determining unit 404 for determining a target division result containing the largest number of nodes among the division results divided by the dividing unit 403;
a third determining unit 405, configured to determine, according to the first data stored by the node in the target division result determined by the second determining unit 404, installation data of the target software, and send the installation data to the downloading device.
Further, as shown in fig. 5, the apparatus further includes a first verification unit 406, where the first verification unit 406 includes:
a first determining module 4061, configured to determine that the created block ID is the sub-chain of the verification information of the software ID;
a first searching module 4062, configured to search, in the sub-chain of the authentication information determined by the first determining module 4061, for a block whose block ID is the version number;
a first obtaining module 4063, configured to obtain first verification information from the block determined by the second searching module 4062;
a first verification module 4064, configured to verify the installation data based on the first verification information acquired by the first acquisition module 4064.
Further, as shown in fig. 5, the first data further includes second verification information and second data, the apparatus further includes a second verification unit 407, and the second verification unit 407 includes:
a first obtaining module 4071, configured to obtain the second verification information and second data in the first data, where the second data is data of the first data except the second verification information;
a second verifying module 4072, configured to verify the second data based on the second verification information acquired by the first acquiring module 4071.
Further, as shown in fig. 5, the third determining unit 405 includes:
a second determining module 4051, configured to determine second data stored by a node in the target partitioning result as second data corresponding to the node set;
the sorting module 4052 is configured to combine the second data corresponding to each node set determined by the second determining module 4051 according to the arrangement order corresponding to each node set, so as to obtain the installation data of the target software.
Further, as shown in fig. 5, the apparatus further includes an issuing unit 408, where the issuing unit 408 includes:
a third determining module 4081, configured to determine, when a software release request is received, a target node that sends the software release request and a software ID in the software release request, where the software ID is an ID of software to be released;
a third obtaining module 4082, configured to obtain a company ID of the software to be released from the configuration data child chain of the software ID determined by the third determining module 4081 as the founding block ID;
a determining module 4083, configured to determine, in the authentication sub-chain, whether a block ID of a block to which the target node determined by the third determining module 4081 belongs exists, where the block ID is a company ID generated for a software company when the software company passes authentication;
a fourth determining module 4084, configured to determine whether to issue the software to be issued according to the determination result of the determining module 4083.
Further, as shown in fig. 5, the fourth determining module 4084 is further configured to:
if yes, when the block ID is the same as the company ID, the software to be issued is issued;
and if not, issuing the software to be issued when the company ID is the same as the preset ID.
Further, an electronic device is provided in an embodiment of the present application, where the electronic device includes at least one processor, and at least one memory and a bus connected to the processor; the processor and the memory complete mutual communication through a bus; the processor is configured to call program instructions in the memory to perform the method of downloading software described above with respect to fig. 1-3.
Further, an embodiment of the present application further provides a storage medium, where the storage medium is used to store a computer program, where the computer program controls, when running, a device in which the storage medium is located to execute the software downloading method described in fig. 1 to 3.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
It will be appreciated that the relevant features of the method and apparatus described above are referred to one another. In addition, "first", "second", and the like in the above embodiments are for distinguishing the embodiments, and do not represent merits of the embodiments.
It can be clearly understood by those skilled in the art that, for convenience and simplicity of description, the specific working processes of the system, the apparatus, and the unit described above may refer to the corresponding processes in the foregoing method embodiments, and details are not repeated herein.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, this application is not directed to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present application as described herein, and any descriptions of specific languages are provided above to disclose the best modes of the present application.
In addition, the memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic tape storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information and/or information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims (10)
1. A method for downloading software, the method comprising:
receiving a software downloading request sent by downloading equipment;
determining a node set corresponding to target software according to target software information in the software downloading request, wherein the number of nodes in the node set is greater than a threshold value;
in the node set, nodes with the same stored first data are divided to obtain a division result, wherein the first data are data stored in a storage position corresponding to the target software in each node, and when the target software is released, the first data stored in each node in the node set are the same;
determining a target division result containing the maximum number of nodes in the division results;
and determining the installation data of the target software according to the first data stored by the nodes in the target division result, and sending the installation data to the downloading equipment.
2. The method of claim 1, wherein the target software information includes a software ID and a version number, and wherein before sending the installation data to the downloading device, the method further comprises:
determining a creating block ID as a verification information subchain of the software ID;
searching a block with a block ID as a version number in the verification information subchain;
in the block, acquiring first verification information;
and verifying the installation data based on the first verification information.
3. The method according to claim 2, wherein the first data further includes second verification information and second data, and before determining the installation data of the target software according to the first data stored by the node in the target division result, the method further comprises:
acquiring second verification information and second data in the first data, wherein the second data is the data except the second verification information in the first data;
and verifying the second data based on the second verification information.
4. The method according to claim 3, wherein the determining the installation data of the target software according to the first data stored by the node in the target partitioning result comprises:
determining second data stored by the nodes in the target division result as second data corresponding to the node set;
and combining the second data corresponding to each node set according to the arrangement sequence corresponding to each node set to obtain the installation data of the target software.
5. The method of claim 1, further comprising:
when a software release request is received, determining a target node sending the software release request and a software ID in the software release request, wherein the software ID is the ID of software to be released;
acquiring a company ID of software to be issued in a configuration data subchain with a founding block ID as a software ID;
judging whether a block ID of a block to which the target node belongs exists in an authentication subchain, wherein the block ID is a company ID generated by a software company when the software company passes authentication;
and determining whether to release the software to be released or not according to the judgment result.
6. The method according to claim 5, wherein the determining whether to release the software to be released according to the judgment result comprises:
if so, issuing the software to be issued when the block ID is the same as the company ID;
and if not, issuing the software to be issued when the company ID is the same as the preset ID.
7. An apparatus for downloading software, the apparatus comprising:
the receiving unit is used for receiving a software downloading request sent by the downloading equipment;
a first determining unit, configured to determine, according to target software information in the software download request received by the receiving unit, a node set corresponding to the target software, where the number of nodes in the node set is greater than a threshold;
the dividing unit is configured to divide nodes in which stored first data is the same in the node set determined by the first determining unit to obtain a division result, where the first data is data stored in a storage location corresponding to the target software in each node, and when the target software is released, the first data stored in each node in the node set is the same;
a second determination unit configured to determine a target division result including the largest number of nodes among the division results divided by the division unit;
and the third determining unit is used for determining the installation data of the target software according to the first data stored by the nodes in the target division result determined by the second determining unit and sending the installation data to the downloading equipment.
8. The apparatus according to claim 7, wherein the target software information includes a software ID and a version number, and wherein the apparatus includes a first authentication unit that includes:
the first determining module is used for determining that the founding block ID is the verification information subchain of the software ID;
the first searching module is used for searching a block with the block ID as the version number in the verification information sub-chain determined by the first determining module;
the first obtaining module is used for obtaining first verification information in the block determined by the second searching module;
and the first verification module is used for verifying the installation data based on the first verification information acquired by the first acquisition module.
9. An electronic device comprising at least one processor, and at least one memory connected to the processor, a bus; the processor and the memory complete mutual communication through a bus; the processor is configured to call program instructions in the memory to perform the method of downloading software according to any one of claims 1 to 6.
10. A storage medium for storing a computer program, wherein the computer program controls an apparatus in which the storage medium is located to execute the method of downloading software according to any one of claims 1-6 when the computer program runs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946846.9A CN115022096B (en) | 2022-08-09 | 2022-08-09 | Method and device for downloading software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210946846.9A CN115022096B (en) | 2022-08-09 | 2022-08-09 | Method and device for downloading software |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115022096A true CN115022096A (en) | 2022-09-06 |
CN115022096B CN115022096B (en) | 2022-11-22 |
Family
ID=83065361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210946846.9A Active CN115022096B (en) | 2022-08-09 | 2022-08-09 | Method and device for downloading software |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115022096B (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130026578A (en) * | 2011-08-02 | 2013-03-14 | 광주과학기술원 | Virtualized node, user node employing virtualized node, and contents sharing method using virtualized node |
CN104331346A (en) * | 2014-11-21 | 2015-02-04 | 四川神琥科技有限公司 | Data protection method |
CN106897348A (en) * | 2016-08-19 | 2017-06-27 | 阿里巴巴集团控股有限公司 | A kind of data storage, data check, data source tracing method and equipment |
CN107077557A (en) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | The method and device that software application is issued and verified |
CN107395587A (en) * | 2017-07-18 | 2017-11-24 | 北京初识科技有限公司 | A kind of data managing method and system based on multipoint cooperative mechanism |
CN110460486A (en) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | The monitoring method and system of service node |
CN110995732A (en) * | 2019-12-12 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | Webpage tampering detection method and related device |
CN112597485A (en) * | 2021-03-01 | 2021-04-02 | 腾讯科技(深圳)有限公司 | Information checking method, device and equipment based on block chain and storage medium |
CN114172689A (en) * | 2021-11-11 | 2022-03-11 | 卓尔智联(武汉)研究院有限公司 | Information processing method and device |
-
2022
- 2022-08-09 CN CN202210946846.9A patent/CN115022096B/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130026578A (en) * | 2011-08-02 | 2013-03-14 | 광주과학기술원 | Virtualized node, user node employing virtualized node, and contents sharing method using virtualized node |
CN104331346A (en) * | 2014-11-21 | 2015-02-04 | 四川神琥科技有限公司 | Data protection method |
CN106897348A (en) * | 2016-08-19 | 2017-06-27 | 阿里巴巴集团控股有限公司 | A kind of data storage, data check, data source tracing method and equipment |
CN107077557A (en) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | The method and device that software application is issued and verified |
CN107395587A (en) * | 2017-07-18 | 2017-11-24 | 北京初识科技有限公司 | A kind of data managing method and system based on multipoint cooperative mechanism |
CN110460486A (en) * | 2019-06-25 | 2019-11-15 | 网宿科技股份有限公司 | The monitoring method and system of service node |
CN110995732A (en) * | 2019-12-12 | 2020-04-10 | 杭州安恒信息技术股份有限公司 | Webpage tampering detection method and related device |
CN112597485A (en) * | 2021-03-01 | 2021-04-02 | 腾讯科技(深圳)有限公司 | Information checking method, device and equipment based on block chain and storage medium |
CN114172689A (en) * | 2021-11-11 | 2022-03-11 | 卓尔智联(武汉)研究院有限公司 | Information processing method and device |
Also Published As
Publication number | Publication date |
---|---|
CN115022096B (en) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826111B (en) | Test supervision method, device, equipment and storage medium | |
US11100546B2 (en) | Method and system for provenance tracking in software ecosystems | |
CN109492378B (en) | Identity verification method based on equipment identification code, server and medium | |
CN108683502B (en) | Digital signature verification method, medium and equipment | |
TWI461953B (en) | Computing environment security method and electronic computing system | |
US20140150096A1 (en) | Method for assuring integrity of mobile applications and apparatus using the method | |
CN109918285B (en) | Security identification method and device for open source software | |
CN111814196B (en) | Data processing method, device and equipment | |
CN111597567B (en) | Data processing method, data processing device, node equipment and storage medium | |
CN108880820B (en) | Code management method and device | |
CN110021291B (en) | Method and device for calling voice synthesis file | |
CN106709281B (en) | Patch granting and acquisition methods, device | |
CN113051036A (en) | Application program licensing method, device, equipment and medium based on Docker container | |
CN111324517A (en) | Application service supervision method, supervision server and storage medium | |
US20210144451A1 (en) | Control method, content management system, recording medium, and data structure | |
CN112100689B (en) | Trusted data processing method, device and equipment | |
KR101480040B1 (en) | Method, system and computer readable recording medium for web-page monitoring | |
CN115022096B (en) | Method and device for downloading software | |
CN110806935A (en) | Application program construction method, device and system | |
CN111224826B (en) | Configuration updating method, device, system and medium based on distributed system | |
US20230281321A1 (en) | Secure application development using distributed ledgers | |
CN109740386A (en) | A kind of detection method and device of static resource file | |
CN113407213B (en) | Resource package updating method, device, equipment and storage medium | |
CN112732676B (en) | Block chain-based data migration method, device, equipment and storage medium | |
CN114491661A (en) | Log tamper-proofing method and system based on block chain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |