CN108270874A - The update method and device of application program - Google Patents

The update method and device of application program Download PDF

Info

Publication number
CN108270874A
CN108270874A CN201810112015.5A CN201810112015A CN108270874A CN 108270874 A CN108270874 A CN 108270874A CN 201810112015 A CN201810112015 A CN 201810112015A CN 108270874 A CN108270874 A CN 108270874A
Authority
CN
China
Prior art keywords
block
chain network
application program
data
update
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
Application number
CN201810112015.5A
Other languages
Chinese (zh)
Other versions
CN108270874B (en
Inventor
周志刚
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810112015.5A priority Critical patent/CN108270874B/en
Publication of CN108270874A publication Critical patent/CN108270874A/en
Application granted granted Critical
Publication of CN108270874B publication Critical patent/CN108270874B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes

Abstract

An embodiment of the present invention provides the update method and device of a kind of application program, this method includes:It generates the update file of application program to be updated, is deployed with block chain network in advance between the corresponding server of application program to be updated and client, server and client side is the user node in block chain network;The intelligent contract in block chain network is performed, intelligent contract is used for according to update file generated target block;The each user node being sent to the target block of generation by block chain network in block chain network, so that each user node performs intelligent contract, intelligent contract is additionally operable to carry out the target block received safety check, and the update of application program is carried out according to the target block by inspection.The embodiment of the present invention can avoid third party from distorting update file and then malice, and the transmission of update file is realized using block chain technology, can not only ensure the synchronized update of all clients, while decrease the network bandwidth pressure of server.

Description

The update method and device of application program
Technical field
The present invention relates to information technology field more particularly to a kind of update methods of the application program based on block chain technology And device.
Background technology
With the continuous development of computer networking technology, the function of terminal device is stronger and stronger.Terminal device can be held Various application programs are carried, so as to meet the various demands of user.It, should in order to meet the continually changing demand of user With program vendor usually to the fresh information of terminal device pushing application program.
At present, with the development of software development technique, the update of application program is also important one side.When soft When part developer has found that software has at one loophole or BUG, then it can force to update all clients, and it is desirable that faultless most The fast terminal device for covering all users.Therefore, how file is complete, and keeps away is ensured for the update file of publication Exempt from third party carry out intercept and capture distort or add in the malicious acts such as virus, play an important roll to the update of application program.Work as simultaneously When application program is updated, due to the newest update file of a large amount of client request, client software server point is caused Network bandwidth is inadequate during hair update file, and then causes some clients that can not update;And there is also some fringe nodes Client, can be very slow so as to update, and can not complete application program update in time, influence user experience.
Invention content
In view of the above problems, it is proposed that the present invention overcomes the above problem in order to provide one kind or solves at least partly State the update method and device of the application program of problem.
The first aspect of the present invention provides a kind of update method of application program, the method includes:
Generate the update file of application program to be updated, the corresponding server of the application program to be updated and client it Between be deployed with block chain network in advance, the server and the client are the user node in the block chain network;
The intelligent contract in the block chain network is performed, the intelligence contract is used for according to the update file generated mesh Mark block;
Each user that the target block of generation is sent in the block chain network by the block chain network saves Point, so that each user node performs intelligent contract, the intelligence contract is additionally operable to the target block to receiving Safety check is carried out, and the update of application program is carried out according to the target block by inspection.
Optionally, the intelligent contract performed in the block chain network, including:
The block data and block data knot of a upper block for the target block are obtained from the block chain network Structure;
According to the block data of a upper block, it is described update file and the target block block data with The block data of default mapping relations generation target block between the block data of a upper block;
The target block is generated according to the block data structures and the block data of target block.
Optionally, the block data structures, including block number, timestamp, the first encoded radio, the first key values, block counts According to, preset value, random number and the second encoded radio;Wherein, first encoded radio is the second of a upper block for current block Encoded radio, MD5 value of the first key values for the corresponding update file of current block, second encoded radio is the block Number, timestamp, the first encoded radio, the first key values, block data, preset value, random number be combined after data Hash Value.
Optionally, the intelligent contract performed in the block chain network, including:
The block data and block data knot of a upper block for the target block are obtained from the block chain network Structure;
By the file declustering that updates at least one sub- updated data package;
Each sub- updated data package pair is generated according to the block data of a upper block and each sub- updated data package respectively Answer the block data of block;
The block data that block is corresponded to according to the block data structures and each sub- updated data package generates each son more respectively The corresponding target block of new data packets.
The second aspect of the present invention provides the update method of another application program, the method includes:
The target block that server is sent by block chain network is received, the target block is that the server performs institute The intelligent contract generation in block chain network is stated, the intelligence contract is used to give birth to according to the update file of application program to be updated Into target block;It is deployed with block link network in advance between the corresponding server of wherein described application program to be updated and client Network, the server and the client are the user node in the block chain network;
The intelligent contract is performed, the intelligence contract is additionally operable to carry out safety check to receiving the target block;
The update of application program is carried out according to the target block by inspection.
Optionally, it is described to perform the intelligent contract, including:
The block data of a upper block for the target block is obtained from the block chain network;
According to the block data of a upper block and the block data of target block and a upper block Default mapping relations between block data carry out safety check to the target block.
The third aspect of the present invention, provides a kind of updating device of application program, and described device includes:
Generation module, for generating the update file of application program to be updated, the corresponding clothes of the application program to be updated Block chain network, the server and the client are deployed between business device and client in advance as in the block chain network User node;
Server side processing module, for performing the intelligent contract in the block chain network, the intelligence contract is used for According to the update file generated target block;
Server-side communities module, for the target block of generation to be sent to the block by the block chain network Each user node in chain network, so that each user node performs intelligent contract, the intelligence contract is additionally operable to pair The target block received carries out safety check, and the update of application program is carried out according to the target block by inspection.
The fourth aspect of the present invention, provides the updating device of another application program, and described device includes:
Client communication module, for receiving the target block that server is sent by block chain network, the target area Block is that the intelligent contract that the server is performed in the block chain network generates, and the intelligence contract is used for according to be updated The update file generated target block of application program;Between the corresponding server of wherein described application program to be updated and client It is deployed with block chain network, the server and the client in advance as the user node in the block chain network;
Client process module, for performing the intelligent contract, the intelligence contract is additionally operable to receiving the mesh It marks block and carries out safety check;
Program update module, for carrying out the update of application program according to the target block by inspection.
In addition, the present invention also provides a kind of computer readable storage medium, computer program is stored thereon with, the program The step of as above either method is realized when being executed by processor.
In addition, the present invention also provides a kind of computer equipment, including memory, processor and store on a memory simultaneously The step of computer program that can be run on a processor, the processor realizes as above either method when performing described program.
The update method and device of application program provided in an embodiment of the present invention are previously deployed to be updated answer by performing With the intelligent contract in the block chain network between program servers and client, according to the corresponding update of application program to be updated File generated target block, each use being then sent to the target block of generation by block chain network in block chain network Family node, so that each user node carries out safety check, and according to the target by inspection to receiving the target block Block carries out the update of application program.The embodiment of the present invention can avoid third party from distorting or add in disease to the intercepting and capturing for updating file The malicious acts such as poison, moreover, being sent to each user node in block chain network by file is updated using block chain technology, no It only can be ensured that the synchronized update of all clients, while decrease the network bandwidth pressure of server.
Above description is only the general introduction of technical solution of the present invention, in order to better understand the technological means of the present invention, And it can be implemented in accordance with the contents of the specification, and in order to allow above and other objects of the present invention, feature and advantage can It is clearer and more comprehensible, below the special specific embodiment for lifting the present invention.
Description of the drawings
By reading the detailed description of hereafter preferred embodiment, it is various other the advantages of and benefit it is common for this field Technical staff will become clear.Attached drawing is only used for showing the purpose of preferred embodiment, and is not considered as to the present invention Limitation.And throughout the drawings, the same reference numbers will be used to refer to the same parts.In the accompanying drawings:
Fig. 1 is a kind of flow chart of the update method of application program of the embodiment of the present invention;
Fig. 2 is a kind of flow chart of the update method of application program of another embodiment of the present invention;
Fig. 3 is a kind of structure diagram of the updating device of application program of the embodiment of the present invention;
Fig. 4 is a kind of structure diagram of the updating device of application program of another embodiment of the present invention;
Fig. 5 is the schematic diagram of the computer equipment of the embodiment of the present invention.
Specific embodiment
The exemplary embodiment of the disclosure is more fully described below with reference to accompanying drawings.Although the disclosure is shown in attached drawing Exemplary embodiment, it being understood, however, that may be realized in various forms the disclosure without should be by embodiments set forth here It is limited.On the contrary, these embodiments are provided to facilitate a more thoroughly understanding of the present invention, and can be by the scope of the present disclosure Completely it is communicated to those skilled in the art.
Those skilled in the art of the present technique are appreciated that unless otherwise defined all terms used herein are (including technology art Language and scientific terminology), there is the meaning identical with the general understanding of the those of ordinary skill in fields of the present invention.Should also Understand, those terms such as defined in the general dictionary, it should be understood that have in the context of the prior art The consistent meaning of meaning, and unless by specific definitions, otherwise will not be explained with the meaning of idealization or too formal.
Fig. 1 diagrammatically illustrates the flow chart of the update method of the application program of one embodiment of the invention.It is of the invention real The update method for applying the application program of example offer is performed suitable for server side, with reference to Fig. 1, the application program of the embodiment of the present invention Update method specifically include following steps:
Step S11, generate the update file of application program to be updated, the corresponding server of the application program to be updated with Block chain network, the server and the client are deployed between client in advance as the user in the block chain network Node.
Application program in this implementation can be the various client applications suitable for terminal device, such as: Game client program, shopping client-side program, live streaming client-side program etc., are not specifically limited this present embodiment.
Update file in this implementation, i.e., the updated data package of application program to be updated.
Step S12, the intelligent contract in the block chain network is performed, wherein, the intelligence contract is used for according to Update file generated target block.In the present embodiment, target block refers to newly-generated block.
Step S13, the target block of generation is sent to by the block chain network each in the block chain network A user node, so that each user node performs intelligent contract, the intelligence contract is additionally operable to described in receiving Target block carries out safety check, and the update of application program is carried out according to the target block by inspection.
In the present embodiment, block chain technology has the technology of P2P, can specifically make in all clients of block chain Realize that the synchronous of target block sends with P2P technologies, so as to than going to update more rapidly, while decrease service from server The network bandwidth pressure of device.
The update method of application program provided in an embodiment of the present invention is previously deployed at application program to be updated by performing The intelligent contract in block chain network between server and client, according to the corresponding update file life of application program to be updated Into target block, each user that then target block of generation is sent in block chain network by block chain network saves Point, so that each user node carries out safety check, and according to the target block by inspection to receiving the target block Carry out the update of application program.The embodiment of the present invention can avoid third party from distorting or add in virus etc. to the intercepting and capturing for updating file Malicious act, moreover, each user node in block chain network is sent to by file is updated using block chain technology, it can not only Enough ensure the synchronized update of all clients, while decrease the network bandwidth pressure of server.
In an embodiment of the present invention, the intelligent contract performed in the block chain network, especially by following step It is rapid to realize:
The block data and block data knot of a upper block for the target block are obtained from the block chain network Structure;Wherein, a upper block refers to the previous block of target block.
According to the block data of a upper block, it is described update file and the target block block data with The block data of default mapping relations generation target block between the block data of a upper block;
The target block is generated according to the block data structures and the block data of target block.
Further, the block data structures, including block number, timestamp, the first encoded radio, the first key values, block Data, preset value, random number and the second encoded radio;Wherein, first encoded radio for a upper block for current block the Two encoded radios, MD5 value of the first key values for the corresponding update file of current block, second encoded radio is the area Block number, timestamp, the first encoded radio, the first key values, block data, preset value, random number be combined after data Hash Value.
In the embodiment of the present invention, all clients of application program to be updated are added to the block chain network disposed in advance In, so as to which all clients are all a user nodes in block chain, functional, the distributed account for having block chain This, P2P simultaneous techniques etc..
Wherein, the block data structures of block chain are as follows:
A common block chain must include some necessary data, and one can verify block chain data itself Legitimacy and integrality, for example, block number, timestamp, the first encoded radio, the first key values, preset value, random number and second are compiled Code value, the other is the update file of client software, i.e. block data.It is specific as follows:
Struct BlockData{
Int64index;
// for representing the block number of block chain, it is incremented by usually since 0.
String previousHash;
// the first encoded radio represents the HASH values of previous block chain.
Int64timestamp;
// expression timestamp.
String key;
// the one key values represent to calculate the key values that new block needs.
String data;
// wherein data fields are then the update file of client software, wherein can be newer resource file or It is newer program file, while resource file can also be included.And there can be text document content for each file HASH values, carry out the integrality of safeguard file content.
String zero;
// preset value represents a data of front 0 in the HASH values of calculating new block.
String randdata;
// random number, this randdata then indicate random data, for being added in new block, so that it was calculated HASH results meet 0 number that server issues.
String hash;
// the second encoded radio, this HASH value then represent the HASH values of the content of this current block.
}
After having the design of this block, any one spectators receives a block then can carry out school to block data It tests, so far completes the design of the data structure of block in block chain.
When client application software needs update for the first time, client reports the file that needs are updated, server meeting To each generation original block that newer file is needed to calculate its file content.It is implemented as follows:
Step 1 reads each need in newer file to memory.
First, each independent newer file of needs is read, the content of entire file is read in memory.The present invention Specifically update file can be read in embodiment using system function fopen and fread.
FILE*pFile=fopen (" beauty.data ", " rb ");
The update file specified is opened by calling system function fopen.
Wherein parameter 1 is open update file name.
Wherein parameter 2 is then to open update file in a manner of binary.
Return value is then the handle pFile of file.
fseek(pFile,0,SEEK_END);
By calling fseek functions that the reading pointer of file then is moved to tail of file.
Long Size=ftell (pFile);
The size Size of update file is then obtained by calling system function ftell.
Char*buffer=(char*) malloc (Size);
Calling system function malloc distributes one section of memory, and allocated size is then the size for updating file.
fread(buffer,1,Size,pFile);
Calling system function fread is read in entire file content to the memory of distribution.
fclose(pFile);
Calling system function fclose closes file handle.
So as to which the content of entire update file read in the memory of distribution.
Step 2, the Md5 values for calculating entire update file.
The embodiment of the present invention calculates its MD5 value so as to obtain subsequently encrypting what is used by the entire update file to reading KEY values.
KEY=MD5.Create (buffer, Size);
By calling the interface Create of MD5 functions its MD5 result is calculated to calculate the file content of reading.
Wherein parameter buff is then the memory of update file read.
Wherein parameter size is then the size of update file read.
The MD5 value of each file is similarly all calculated all update files using above-mentioned scheme.
Step 3, the MD5 values for calculating each update file.
The HASH results of its MD5 are calculated to each update file of client.
Step 4, server generate the block of upgrading client software.
In the present embodiment, block data structures are as follows:
Struct BlockData{
Int64index;
String previousHash;
Int64timestamp;
String key;
String data;
String zero;
String randdata;
String hash;
}
Wherein core is then data fields, which can then include the content for needing newer client update file, The MD5 values of more new content are also included simultaneously.It after server produces this original block, then can be synchronized in block chain, so as to logical It crosses block chain and is synchronized in all block chain clients to distribute.
Further, it after the original block that server generates, needs again to carry out more client application when follow-up When new, then the generation of new block is directly realized by the intelligent contract in block chain network, this stylish block can then pass through P2P Be transmitted to all clients in room, at the same when all clients receive block the data of block can also be carried out it is legal Property verification.The realization for specifically generating new block is as follows:
First, the block data and block data structures of a upper block for the target block have been got, it is next Block is generated according to the block data and block data structures of a upper block.
In a specific embodiment, it is assumed that the name of a upper block is prevblock, newly-generated block, that is, target The name of block is newblock.
1st, the block number of target block is calculated.
Newblock.index=prevblock.index+1;
Then the block number of target block is the block number plus 1 of a upper block.
2. calculate the timestamp of target block.
Newblock.timestamp=time ();
The timestamp of target block is then to obtain the current time.
3. calculate the hash values of a upper block for target block.
Newblock.previousHash=prevblock.hash;
The hash values of a upper block for target block are then the hash of the upper block obtained.
4. calculate the key values of a upper block for target block.
Newblock.key=prevblock.key;
The key values of a upper block for target block are then the key of the upper block obtained.
5. calculate the data of target block.
Newblock.data=file contents+md5.
Wherein the data content of target block is then the content for updating file and the MD5 values of update file.
6. calculate the randdata values of update file.
This randdata value is then that client generates at random, to gather together enough before the hash values that just entire target block calculates Meet 0 number that server issues.
7. calculate the hash values of target block.
Newblock.hash=HASH (index+previousHash+timestamp+data+zero+randdata);
The hash values of target block are then the index fields, previousHash fields, timestamp by target block Field, data fields.
The HASH algorithms used in the present embodiment are typically SHA-256 algorithms, naturally it is also possible to be calculated using other HASH Method, the present invention are not specifically limited this.
In another embodiment of the invention, in order to increase the complexity of block, the difficulty that hacker distorts is further increased, The intelligent contract performed in the block chain network, can also specifically be realized by following steps:
The block data and block data knot of a upper block for the target block are obtained from the block chain network Structure;
By the file declustering that updates at least one sub- updated data package:
Each sub- updated data package pair is generated according to the block data of a upper block and each sub- updated data package respectively Answer the block data of block;
The block data that block is corresponded to according to the block data structures and each sub- updated data package generates each son more respectively The corresponding target block of new data packets.
For block chain, the difficulty that block more at most hacker forges block is bigger, while is also contemplated for each block The calculation amount of size and block in embodiments of the present invention, in a upgrading client software, can will need newer text Part generates multiple blocks rather than only uses a block and is updated.So as to which each block can be newer comprising part File content.Further, it is also possible to the update file of client software each time is all stored in block, the update of such software History packet is all in block chain, so that the block of block chain increases, account book is more huge, black so as to further increase The difficulty that visitor distorts.
Fig. 2 diagrammatically illustrates the flow chart of the update method of the application program of another embodiment of the present invention.The present invention The update method for the application program that embodiment provides is performed suitable for client-side, with reference to Fig. 2, the application journey of the embodiment of the present invention The update method of sequence specifically includes following steps:
Step S21, the target block that server is sent by block chain network is received, the target block is the service Device performs the intelligent contract generation in the block chain network, and the intelligence contract is used for according to application program to be updated more New file generated target block;It is deployed with area in advance between the corresponding server of wherein described application program to be updated and client Block chain network, the server and the client are the user node in the block chain network;
Step S22, the intelligent contract is performed, the intelligence contract is additionally operable to pacify to receiving the target block Whole school tests;
Step S23, the update of application program is carried out according to the target block by inspection.
The update method of application program provided in an embodiment of the present invention, by carrying out safe school to receiving target block It tests, and the update of application program is carried out according to the target block by inspection, wherein target block is according to update file generated 's.The embodiment of the present invention can avoid third party from distorting or add in the malicious acts such as virus to the intercepting and capturing for updating file, moreover, adopting Each user node in block chain network is sent to by file is updated with block chain technology, can not only ensure all clients Synchronized update, while decrease the network bandwidth pressure of server.
In embodiments of the present invention, the execution intelligent contract in step S22, is realized especially by following steps:
The block data of a upper block for the target block is obtained from the block chain network;
According to the block data of a upper block and the block data of target block and a upper block Default mapping relations between block data carry out safety check to the target block.
In the present embodiment, target block refers to newly-generated block, and a upper block refers to the previous area of target block Block.
In the present embodiment, the client in block chain when it receives a block, all can carry out safety to block first Verification to judge whether current block is legal, prevents hacker's forgery block or block from transmitting changed in a network Etc. factors.So each block is required for carrying out safety check.It is implemented as follows:
Assuming that the name of a upper block is prevblock, a newly-generated block i.e. target block is then had received Name be newblock.
1. first determine whether its index is correct.
Newblock.index!=prevblock.index+1;
If the block number of target block is not the block number plus 1 of a upper block, illustrate that target block is illegal, directly It connects and returns to block errors information.
2. and then judge the hash values of block.
Newblock.previousHash!=prevblock.hash
Think target area if hash value of the hash values not equal to a upper block of a upper block for target block Block is illegal, directly returns to block errors information.
3. judge the hash values of target block.
The hash values of target block be target block entire data structure in each data hash results.
HASH(Newblock.index+Newblock.previousHash+Newblock.timestamp+ Newblock.data+Newblock.randdata+Newblock.zero)!=Newblock.hash;
If the hash values of the data of the entire block of target block are not equal to target block hash values, then it is assumed that target area Block is illegal, directly returns to block errors information.
4. judge the update packet content of target block.
The data values of target block then MD5 values comprising newer file content and file content, then can will be newer Whether content calculates MD5 values again consistent to compare the MD5 values being stored in data, and description does not have correctly if consistent It is tampered, is otherwise tampered with, then will not update this block.So far the safety check to target block is realized.
In the embodiment of the present invention, in all clients of block chain, all clients can be using P2P technologies to update Some block datas, so as to fulfill the more new function to software, while server is also a user node of block chain, he This block can be updated, so as to which this block can also be verified again, to check whether the update file block of server distribution is correct. The update of follow-up alternative document simultaneously can be distributed to all block chains using methods herein to generate a block In client.
In view of the drawbacks of the prior art or Improvement requirement, an embodiment of the present invention provides a kind of realities based on block chain technology The newer method of existing client application.Block chain technology can both have the function of block being encrypted preservation, prevent Data are tampered, while more importantly block chain technology has the technology of P2P, can be in all clients of block chain Block is synchronized using P2P technologies, so as to than going to update more rapidly, while decrease the network bandwidth of server from server Pressure.It is the integrality for having ensured update packet using block chain, so as to which anyone can not distort the content of update packet, while also protects Newest client must be updated by having hindered all clients.
For embodiment of the method, in order to be briefly described, therefore it is all expressed as to a series of combination of actions, but this field Technical staff should know that the embodiment of the present invention is not limited by described sequence of movement, because implementing according to the present invention Example, certain steps may be used other sequences or are carried out at the same time.Secondly, those skilled in the art should also know, specification Described in embodiment belong to preferred embodiment, necessary to the involved action not necessarily embodiment of the present invention.
Fig. 3 diagrammatically illustrates the structure diagram of the updating device of the application program of one embodiment of the invention.This hair The updating device for the application program that bright embodiment provides is configured at server side or is realized by server apparatus, with reference to Fig. 3, this hair The updating device of the application program of bright embodiment specifically includes generation module 301, server side processing module 302 and server Side communication module 303, wherein:
Generation module 301, for generating the update file of application program to be updated, the application program to be updated is corresponding Block chain network is deployed between server and client in advance, the server and the client are the block chain network In user node;
Server side processing module 302, for performing the intelligent contract in the block chain network, the intelligence contract is used According to the update file generated target block;
Server-side communities module 303, it is described for being sent to the target block of generation by the block chain network Each user node in block chain network, so that each user node performs intelligent contract, the intelligence contract is also used In the target block progress safety check to receiving, and application program is carried out more according to by the target block of inspection Newly.
In the embodiment of the present invention, the server side processing module 302, specifically for being obtained from the block chain network The block data and block data structures of a upper block for the target block;According to the block counts of a upper block According to default between, the update file and the block data of the target block and the block data of a upper block Mapping relations generate the block data of target block;According to the block data structures and the block data of target block generation institute State target block.
Wherein, the block data structures, including block number, timestamp, the first encoded radio, the first key values, block counts According to, preset value, random number and the second encoded radio;Wherein, first encoded radio is the second of a upper block for current block Encoded radio, MD5 value of the first key values for the corresponding update file of current block, second encoded radio is the block Number, timestamp, the first encoded radio, the first key values, block data, preset value, random number be combined after data Hash Value.
In another embodiment of the present invention, in order to increase the complexity of block, and then the difficulty that hacker distorts is increased, it is described Server side processing module 302, specifically for obtaining a upper block for the target block from the block chain network Block data and block data structures;By the file declustering that updates at least one sub- updated data package;According to described upper one The block data of a block and each sub- updated data package generate the block data that each sub- updated data package corresponds to block respectively;According to The block data that the block data structures and each sub- updated data package correspond to block generates each sub- updated data package correspondence respectively Target block.
Fig. 4 diagrammatically illustrates the structure diagram of the updating device of the application program of another embodiment of the present invention.This The updating device for the application program that inventive embodiments provide is configured at client-side or is realized by client, with reference to Fig. 4, the present invention The updating device of the application program of embodiment specifically includes client communication module 401, client process module 402 and program Update module 403, wherein:
Client communication module 401, for receiving the target block that server is sent by block chain network, the target Block is that the intelligent contract that the server is performed in the block chain network generates, and the intelligence contract is used for basis and treats more The update file generated target block of new application;The corresponding server of wherein described application program to be updated and client it Between be deployed with block chain network in advance, the server and the client are the user node in the block chain network;
Client process module 402, for performing the intelligent contract, the intelligence contract is additionally operable to described to receiving Target block carries out safety check;
Program update module 403, for carrying out the update of application program according to the target block by inspection.
In embodiments of the present invention, client process module 402 specifically applies also for obtaining from the block chain network The block data of a upper block for the target block;According to the block data of a upper block and target block Default mapping relations between the block data of block data and a upper block carry out safe school to the target block It tests.The present embodiment passes through the block data of a upper block according to target block and block data and the institute of target block The default mapping relations between the block data of a block are stated, judge the block data of target block relative to Shang Yige areas Whether the block data of block meets the default mapping relations, and safety check is carried out to receiving the target block to realize, if The block data of target block meets the default mapping relations relative to the block data of a upper block, then passes through inspection.
For device embodiment, since it is basicly similar to embodiment of the method, so description is fairly simple, it is related Part illustrates referring to the part of embodiment of the method.
The apparatus embodiments described above are merely exemplary, wherein the unit illustrated as separating component can To be or may not be physically separate, the component shown as unit may or may not be physics list Member, you can be located at a place or can also be distributed in multiple network element.It can be selected according to the actual needs In some or all of module realize the purpose of this embodiment scheme.Those of ordinary skill in the art are not paying creativeness Labour in the case of, you can to understand and implement.
The update method and device of application program provided in an embodiment of the present invention are previously deployed to be updated answer by performing With the intelligent contract in the block chain network between program servers and client, according to the corresponding update of application program to be updated File generated target block, each use being then sent to the target block of generation by block chain network in block chain network Family node, so that each user node carries out safety check, and according to the target by inspection to receiving the target block Block carries out the update of application program.The embodiment of the present invention can avoid third party from distorting or add in disease to the intercepting and capturing for updating file The malicious acts such as poison, moreover, being sent to each user node in block chain network by file is updated using block chain technology, no It only can be ensured that the synchronized update of all clients, while decrease the network bandwidth pressure of server.
In addition, the embodiment of the present invention additionally provides a kind of computer readable storage medium, computer program is stored thereon with, The program realizes side described in the step of embodiment the method as shown in Figure 1 or embodiment as shown in Figure 2 when being executed by processor The step of method.
In the present embodiment, described in the updating device of application program described in embodiment as shown in Figure 3 or embodiment as shown in Figure 4 If module/unit that the updating device of application program integrates is realized in the form of SFU software functional unit and is independent product Sale in use, can be stored in a computer read/write memory medium.It is of the invention to realize based on such understanding All or part of flow in embodiment method is stated, relevant hardware can also be instructed to complete by computer program, institute The computer program stated can be stored in a computer readable storage medium, which, can when being executed by processor The step of realizing above-mentioned each embodiment of the method.Wherein, the computer program includes computer program code, the computer Program code can be source code form, object identification code form, executable file or certain intermediate forms etc..The computer can Reading medium can include:Any entity or device, recording medium, USB flash disk, mobile hard of the computer program code can be carried Disk, magnetic disc, CD, computer storage, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electric carrier signal, telecommunication signal and software distribution medium etc..Need what is illustrated It is that the content that the computer-readable medium includes can be fitted according to legislation in jurisdiction and the requirement of patent practice When increase and decrease, such as in certain jurisdictions, according to legislation and patent practice, computer-readable medium, which does not include electric carrier wave, to be believed Number and telecommunication signal.
Fig. 5 is the schematic diagram of computer equipment provided in an embodiment of the present invention.Computer provided in an embodiment of the present invention is set It is standby, including memory 501, processor 502 and it is stored in the computer journey that can be run on memory 501 and on processor 502 Sequence, the processor 502 realize the step in the update method embodiment of above application program when performing the computer program, Such as step shown in FIG. 1 or step for example shown in Fig. 2.Alternatively, when the processor 502 performs the computer program The function of each module/unit in the updating device embodiment of realization above application program, such as generation module shown in Fig. 3 301, Server side processing module 302 and Server-side communities module 303.Again client communication module 401 for example shown in Fig. 4, Client process module 402 and program update module 403.
Illustratively, the computer program can be divided into one or more module/units, one or more A module/unit is stored in the memory, and is performed by the processor, to complete the present invention.It is one or more A module/unit can be the series of computation machine program instruction section that can complete specific function, which is used to describe institute Computer program is stated to apply described in the updating device of application program described in embodiment as shown in Figure 3 or embodiment as shown in Figure 4 Implementation procedure in the updating device of program.
The computer equipment can be that the calculating such as desktop PC, notebook, palm PC and cloud server are set It is standby.The computer equipment may include, but be not limited only to, processor, memory.It is it will be understood by those skilled in the art that described Schematic diagram 5 be only computer equipment example, do not form the restriction to computer equipment, can include than illustrate it is more or Less component either combines certain components or different components, such as the computer equipment can also be defeated including inputting Go out equipment, network access equipment, bus etc..
The processor can be central processing unit (Central Processing Unit, CPU), can also be it His general processor, digital signal processor (Digital Signal Processor, DSP), application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), ready-made programmable gate array (Field- Programmable Gate Array, FPGA) either other programmable logic device, discrete gate or transistor logic, Discrete hardware components etc..General processor can be microprocessor or the processor can also be any conventional processor Deng the processor is the control centre of the computer equipment, utilizes various interfaces and the entire computer equipment of connection Various pieces.
The memory can be used for storing the computer program and/or module, and the processor is by running or performing The computer program and/or module that are stored in the memory and the data being stored in memory are called, described in realization The various functions of computer equipment.The memory can mainly include storing program area and storage data field, wherein, store program It area can storage program area, the application program (such as sound-playing function, image player function etc.) needed at least one function Deng;Storage data field can be stored uses created data (such as audio data, phone directory etc.) etc. according to mobile phone.In addition, Memory can include high-speed random access memory, can also include nonvolatile memory, such as hard disk, memory, grafting Formula hard disk, intelligent memory card (Smart Media Card, SMC), secure digital (Secure Digital, SD) card, flash card (Flash Card), at least one disk memory, flush memory device or other volatile solid-state parts.
It will be appreciated by those of skill in the art that although some embodiments in this are included included by other embodiments Certain features rather than other feature, but the combination of the feature of different embodiments means to be within the scope of the present invention simultaneously And form different embodiments.For example, in the following claims, the one of arbitrary of embodiment claimed all may be used It is used in a manner of in any combination.
Finally it should be noted that:The above embodiments are merely illustrative of the technical solutions of the present invention, rather than its limitations;Although The present invention is described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that:It still may be used To modify to the technical solution recorded in foregoing embodiments or carry out equivalent replacement to which part technical characteristic; And these modification or replace, various embodiments of the present invention technical solution that it does not separate the essence of the corresponding technical solution spirit and Range.

Claims (10)

1. a kind of update method of application program, which is characterized in that the method includes:
Generate the update file of application program to be updated, it is pre- between the corresponding server of the application program to be updated and client Block chain network, the server and the client are first deployed with as the user node in the block chain network;
The intelligent contract in the block chain network is performed, the intelligence contract is used for according to the update file generated target area Block;
The each user node being sent to the target block of generation by the block chain network in the block chain network, with Intelligent contract is performed for each user node, the intelligence contract is additionally operable to pacify the target block received Whole school tests, and the update of application program is carried out according to the target block by inspection.
2. according to the method described in claim 1, it is characterized in that, the intelligent contract performed in the block chain network, Including:
The block data and block data structures of a upper block for the target block are obtained from the block chain network;
According to the block data of a upper block, it is described update file and the target block block data with it is described The block data of default mapping relations generation target block between the block data of a upper block;
The target block is generated according to the block data structures and the block data of target block.
3. according to the method described in claim 2, it is characterized in that, the block data structures, including block number, timestamp, First encoded radio, the first key values, block data, preset value, random number and the second encoded radio;Wherein, first encoded radio is Second encoded radio of a upper block for current block, MD5 of the first key values for the corresponding update file of current block Value, second encoded radio be the block number, timestamp, the first encoded radio, the first key values, block data, preset value, with Machine number be combined after data cryptographic Hash.
4. according to claim 1-3 any one of them methods, which is characterized in that the intelligence performed in the block chain network Energy contract, including:
The block data and block data structures of a upper block for the target block are obtained from the block chain network;
By the file declustering that updates at least one sub- updated data package;
Each sub- updated data package is generated according to the block data of a upper block and each sub- updated data package respectively and corresponds to area The block data of block;
The block data that block is corresponded to according to the block data structures and each sub- updated data package generates each sub- update number respectively According to the corresponding target block of packet.
5. a kind of update method of application program, which is characterized in that the method includes:
The target block that server is sent by block chain network is received, the target block is that the server performs the area What the intelligent contract in block chain network generated, the intelligence contract is used for the update file generated mesh according to application program to be updated Mark block;It is deployed with block chain network, institute in advance between the corresponding server of wherein described application program to be updated and client Server and the client are stated as the user node in the block chain network;
The intelligent contract is performed, the intelligence contract is additionally operable to carry out safety check to receiving the target block;
The update of application program is carried out according to the target block by inspection.
6. according to the method described in claim 5, it is characterized in that, described perform the intelligent contract, including:
The block data of a upper block for the target block is obtained from the block chain network;
According to the block data of a upper block and the block of the block data of target block and a upper block Default mapping relations between data carry out safety check to the target block.
7. a kind of updating device of application program, which is characterized in that described device includes:
Generation module, for generating the update file of application program to be updated, the corresponding server of the application program to be updated Block chain network, the server and the client are deployed in advance between client as the use in the block chain network Family node;
Server side processing module, for performing the intelligent contract in the block chain network, the intelligence contract is used for basis The update file generated target block;
Server-side communities module, for the target block of generation to be sent to the block link network by the block chain network Each user node in network, so that each user node performs intelligent contract, the intelligence contract is additionally operable to receiving The target block arrived carries out safety check, and the update of application program is carried out according to the target block by inspection.
8. a kind of updating device of application program, which is characterized in that described device includes:
Client communication module, for receiving the target block that server is sent by block chain network, the target block is The server performs the intelligent contract generation in the block chain network, and the intelligence contract is used for according to application to be updated The update file generated target block of program;Between the corresponding server of wherein described application program to be updated and client in advance Block chain network, the server and the client are deployed with as the user node in the block chain network;
Client process module, for performing the intelligent contract, the intelligence contract is additionally operable to receiving the target area Block carries out safety check;
Program update module, for carrying out the update of application program according to the target block by inspection.
9. a kind of computer readable storage medium, is stored thereon with computer program, which is characterized in that the program is held by processor It is realized during row such as any one of claim 1-4 or such as the step of any one of claim 5-6 the methods.
10. a kind of computer equipment including memory, processor and stores the meter that can be run on a memory and on a processor Calculation machine program, which is characterized in that the processor is realized when performing described program such as any one of claim 1-4 or as right will The step of seeking any one of 5-6 the methods.
CN201810112015.5A 2018-02-05 2018-02-05 Application program updating method and device Active CN108270874B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810112015.5A CN108270874B (en) 2018-02-05 2018-02-05 Application program updating method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810112015.5A CN108270874B (en) 2018-02-05 2018-02-05 Application program updating method and device

Publications (2)

Publication Number Publication Date
CN108270874A true CN108270874A (en) 2018-07-10
CN108270874B CN108270874B (en) 2021-04-23

Family

ID=62773709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810112015.5A Active CN108270874B (en) 2018-02-05 2018-02-05 Application program updating method and device

Country Status (1)

Country Link
CN (1) CN108270874B (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833610A (en) * 2018-07-19 2018-11-16 网宿科技股份有限公司 A kind of information updating method, apparatus and system
CN109375944A (en) * 2018-08-28 2019-02-22 苏州浪潮智能软件有限公司 A kind of terminal software distribution verification method based on block chain data structure
CN109388968A (en) * 2018-10-19 2019-02-26 杭州安恒信息技术股份有限公司 A kind of light weight internet-of-things terminal system and its control method based on block chain
CN109714652A (en) * 2018-12-18 2019-05-03 京信通信系统(中国)有限公司 Date storage method, system, storage medium and the equipment of ODN management system
CN109753767A (en) * 2019-01-04 2019-05-14 北京看见未来网络科技有限公司 Software distribution and update method and device, server, client based on block chain
CN109889589A (en) * 2019-02-18 2019-06-14 闪联信息技术工程中心有限公司 One kind realizing embedded hardware OTA upgrade-system and method based on block chain
CN110493345A (en) * 2019-08-23 2019-11-22 北京智芯微电子科技有限公司 Internet-of-things terminal method for upgrading software and system based on block chain
CN110502271A (en) * 2019-07-22 2019-11-26 平安科技(深圳)有限公司 Application program based on block chain sends out version method and system
CN110535938A (en) * 2019-08-29 2019-12-03 腾讯科技(深圳)有限公司 A kind of data processing method based on intelligent contract, equipment and storage medium
CN110780979A (en) * 2019-10-28 2020-02-11 北京海益同展信息科技有限公司 Control method and device for configuration under micro-service framework, medium and electronic equipment
CN110969458A (en) * 2018-09-29 2020-04-07 武汉斗鱼网络科技有限公司 Integration method of client cluster, client and system
CN111258599A (en) * 2018-12-03 2020-06-09 中国电信股份有限公司 Firmware upgrade method, system and computer readable storage medium
CN111651467A (en) * 2020-05-25 2020-09-11 杭州溪塔科技有限公司 Block chain link point interface issuing and calling method and device
CN112162770A (en) * 2020-10-20 2021-01-01 深圳技术大学 Firmware version upgrading method and device for realizing integrity verification based on block chain
CN112702419A (en) * 2020-12-21 2021-04-23 杭州趣链科技有限公司 Data processing method, device, equipment and storage medium based on block chain
KR20210074980A (en) * 2019-12-12 2021-06-22 (주)포뎁스 Electronic terminal device capable of update processing for application based on blockchain and operating method thereof

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160275461A1 (en) * 2015-03-20 2016-09-22 Rivetz Corp. Automated attestation of device integrity using the block chain
CN106534317A (en) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 Disaster recovery cloud storage system construction method based on block chain technology
CN106603698A (en) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 Block chain consensus method based on DPOS and nodes
CN106919419A (en) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 The update method and device of the intelligent contract program on block chain
CN107077557A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 The method and device that software application is issued and verified
CN107249046A (en) * 2017-08-15 2017-10-13 李俊庄 A kind of distributed cloud storage system construction method based on block chain
CN107391944A (en) * 2017-07-27 2017-11-24 北京太云科技有限公司 A kind of electronic health record shared system based on block chain
CN107426253A (en) * 2017-09-26 2017-12-01 武汉斗鱼网络科技有限公司 A kind of data verification method and client
US20170352219A1 (en) * 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160275461A1 (en) * 2015-03-20 2016-09-22 Rivetz Corp. Automated attestation of device integrity using the block chain
US20170352219A1 (en) * 2015-08-06 2017-12-07 Blockchain Technologies Corporation System and method for securely receiving and counting votes in an election
CN106534317A (en) * 2016-11-17 2017-03-22 杭州云象网络技术有限公司 Disaster recovery cloud storage system construction method based on block chain technology
CN106603698A (en) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 Block chain consensus method based on DPOS and nodes
CN107077557A (en) * 2016-12-29 2017-08-18 深圳前海达闼云端智能科技有限公司 The method and device that software application is issued and verified
CN106919419A (en) * 2017-02-03 2017-07-04 中钞信用卡产业发展有限公司北京智能卡技术研究院 The update method and device of the intelligent contract program on block chain
CN107391944A (en) * 2017-07-27 2017-11-24 北京太云科技有限公司 A kind of electronic health record shared system based on block chain
CN107249046A (en) * 2017-08-15 2017-10-13 李俊庄 A kind of distributed cloud storage system construction method based on block chain
CN107426253A (en) * 2017-09-26 2017-12-01 武汉斗鱼网络科技有限公司 A kind of data verification method and client

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108833610A (en) * 2018-07-19 2018-11-16 网宿科技股份有限公司 A kind of information updating method, apparatus and system
CN108833610B (en) * 2018-07-19 2021-08-31 网宿科技股份有限公司 Information updating method, device and system
CN109375944A (en) * 2018-08-28 2019-02-22 苏州浪潮智能软件有限公司 A kind of terminal software distribution verification method based on block chain data structure
CN109375944B (en) * 2018-08-28 2021-10-01 浪潮金融信息技术有限公司 Terminal software distribution verification method based on block chain data structure
CN110969458A (en) * 2018-09-29 2020-04-07 武汉斗鱼网络科技有限公司 Integration method of client cluster, client and system
CN109388968A (en) * 2018-10-19 2019-02-26 杭州安恒信息技术股份有限公司 A kind of light weight internet-of-things terminal system and its control method based on block chain
CN111258599A (en) * 2018-12-03 2020-06-09 中国电信股份有限公司 Firmware upgrade method, system and computer readable storage medium
CN109714652A (en) * 2018-12-18 2019-05-03 京信通信系统(中国)有限公司 Date storage method, system, storage medium and the equipment of ODN management system
CN109753767A (en) * 2019-01-04 2019-05-14 北京看见未来网络科技有限公司 Software distribution and update method and device, server, client based on block chain
CN109753767B (en) * 2019-01-04 2020-12-18 嘉兴熠智软件科技有限公司 Software distribution and updating method and device based on block chain, server and client
CN109889589A (en) * 2019-02-18 2019-06-14 闪联信息技术工程中心有限公司 One kind realizing embedded hardware OTA upgrade-system and method based on block chain
CN109889589B (en) * 2019-02-18 2021-11-23 闪联信息技术工程中心有限公司 System and method for realizing embedded hardware OTA (over the air) upgrading based on block chain
CN110502271A (en) * 2019-07-22 2019-11-26 平安科技(深圳)有限公司 Application program based on block chain sends out version method and system
CN110493345A (en) * 2019-08-23 2019-11-22 北京智芯微电子科技有限公司 Internet-of-things terminal method for upgrading software and system based on block chain
CN110535938A (en) * 2019-08-29 2019-12-03 腾讯科技(深圳)有限公司 A kind of data processing method based on intelligent contract, equipment and storage medium
CN110780979A (en) * 2019-10-28 2020-02-11 北京海益同展信息科技有限公司 Control method and device for configuration under micro-service framework, medium and electronic equipment
KR20210074980A (en) * 2019-12-12 2021-06-22 (주)포뎁스 Electronic terminal device capable of update processing for application based on blockchain and operating method thereof
KR102365945B1 (en) 2019-12-12 2022-02-22 (주)포뎁스 Electronic terminal device capable of update processing for application based on blockchain and operating method thereof
CN111651467A (en) * 2020-05-25 2020-09-11 杭州溪塔科技有限公司 Block chain link point interface issuing and calling method and device
CN111651467B (en) * 2020-05-25 2023-09-12 杭州溪塔科技有限公司 Block chain node interface issuing and calling method and device
CN112162770A (en) * 2020-10-20 2021-01-01 深圳技术大学 Firmware version upgrading method and device for realizing integrity verification based on block chain
CN112162770B (en) * 2020-10-20 2023-11-10 深圳技术大学 Firmware version upgrading method and device for realizing integrity verification based on block chain
CN112702419A (en) * 2020-12-21 2021-04-23 杭州趣链科技有限公司 Data processing method, device, equipment and storage medium based on block chain

Also Published As

Publication number Publication date
CN108270874B (en) 2021-04-23

Similar Documents

Publication Publication Date Title
CN108270874A (en) The update method and device of application program
US11790370B2 (en) Techniques for expediting processing of blockchain transactions
EP3903268B1 (en) Blockchain management system
CN109740384A (en) Data based on block chain deposit card method and apparatus
CN107135077B (en) Software protecting method and device
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
US11489660B2 (en) Re-encrypting data on a hash chain
CN109040134B (en) Information encryption design method and related device
CN111090386B (en) Cloud storage method, device, system and computer equipment
CN109634615A (en) Dissemination method, verification method and the device of application installation package
CN113055176A (en) Terminal authentication method and system, terminal device, P2P verification platform and medium
CN111045722B (en) Intelligent contract packaging method, device, system, computer equipment and storage medium
CN110351364A (en) Date storage method, equipment and computer readable storage medium
Akbar et al. Enhanced authentication for de-duplication of big data on cloud storage system using machine learning approach
CN112308238A (en) Analytical model training method and device, electronic equipment and storage medium
CN113254989B (en) Fusion method and device of target data and server
CN110618989A (en) Information processing method, information processing device and related product
KR101593675B1 (en) User data integrity verification method and apparatus
CN112926490A (en) Finger vein image recognition method, device, computing equipment and medium
CN114490704A (en) Data processing method, device, equipment and storage medium
KR20210027011A (en) Peer node, method for processing information executed on peer node and blockchain platform system
CN107465682A (en) Reptile logs in the realization method and system of targeted website
Alizadeh Saveh A PERMISSIONED BLOCKCHAIN-BASED MODEL FOR DIGITAL FORENSICS
CN115439219A (en) Method and device for training default risk detection model
Suliman et al. Re-evaluating the Privacy Benefit of Federated Learning

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