CN111381866A - Version upgrading method, system and device of block chain system - Google Patents

Version upgrading method, system and device of block chain system Download PDF

Info

Publication number
CN111381866A
CN111381866A CN202010475753.3A CN202010475753A CN111381866A CN 111381866 A CN111381866 A CN 111381866A CN 202010475753 A CN202010475753 A CN 202010475753A CN 111381866 A CN111381866 A CN 111381866A
Authority
CN
China
Prior art keywords
version
version number
updated
blockchain system
upgrade
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.)
Pending
Application number
CN202010475753.3A
Other languages
Chinese (zh)
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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010475753.3A priority Critical patent/CN111381866A/en
Publication of CN111381866A publication Critical patent/CN111381866A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiment of the specification provides a version upgrading method, system and device for a blockchain system, wherein the method comprises the steps of obtaining a first version number corresponding to a to-be-updated version of the blockchain system, and determining whether the to-be-updated version is a target version based on the first version number; if so, when the version to be updated of the block chain system is upgraded, designating a second version number which is separated from the first version number by a first preset number interval as an upgrade version number corresponding to the upgraded version.

Description

Version upgrading method, system and device of block chain system
Technical Field
The present application relates to the field of blockchain technologies, and in particular, to a method, a system, and an apparatus for version upgrade of a blockchain system.
Background
Blockchains are distributed, decentralized databases based on consensus mechanisms. When the version of the blockchain system is periodically updated or defects need to be repaired, the blockchain system needs to be upgraded. If the difference between the two versions before and after upgrading is large, the upgrading has a high risk.
Disclosure of Invention
One aspect of the present specification provides a version upgrade method for a blockchain system, the method including the following operations. Acquiring a first version number corresponding to a version to be updated of a block chain system; determining whether the version to be updated is a target version based on the first version number; if so, when the version to be updated of the block chain system is upgraded, designating a second version number which is separated from the first version number by a first preset number interval as an upgrade version number corresponding to the upgraded version.
Another aspect of the present specification provides a version upgrade system for a blockchain system, which includes a first obtaining module, a first determining module, and a first upgrade module. The first obtaining module is used for obtaining a first version number corresponding to a version to be updated of the block chain system. The first determining module is used for determining whether the version to be updated is a target version based on the first version number. If the version to be updated is the target version, the first upgrading module is used for appointing a second version number which is separated from the first version number by a first preset number interval as an upgrading version number corresponding to the upgraded version when the version to be updated of the block chain system is upgraded.
Another aspect of the present specification provides a version upgrade apparatus for a blockchain system, including at least one storage medium and at least one processor; the at least one storage medium is configured to store computer instructions; the at least one processor is configured to perform the version upgrade method of the blockchain system described above.
One aspect of the present specification provides a version upgrade method for a blockchain system, the method including the following operations. Acquiring a first version number corresponding to a version to be updated of a block chain system; determining whether a version to be updated of the blockchain system needs to be updated; if so, upgrading the version to be updated of the block chain system, and designating a sixth version number which is separated from the first version number by a second preset number interval as the version number corresponding to the version of the upgraded block chain system.
Another aspect of the present specification provides a version upgrade system for a blockchain system, which includes a second obtaining module, a second determining module, and a second upgrade module. The second obtaining module is used for obtaining a first version number corresponding to the version to be updated of the block chain system. The second determination module is used for determining whether the version to be updated of the blockchain system needs to be upgraded. If the version to be updated of the blockchain system needs to be updated, the second updating module is used for updating the version to be updated of the blockchain system and appointing a sixth version number which is separated from the first version number by a second preset number interval as the version number corresponding to the version of the updated blockchain system.
Another aspect of the present specification provides a version upgrade apparatus for a blockchain system, including at least one storage medium and at least one processor; the at least one storage medium is configured to store computer instructions; the at least one processor is configured to perform the version upgrade method of the blockchain system described above.
Another aspect of the present specification provides a version upgrade method for a blockchain system. The method includes the following operations. Acquiring a current version number corresponding to a current version of a block chain system; determining an upgrade version number of an upgrade version of the blockchain system based on the current version number; and upgrading the block chain system to an upgrading version corresponding to the upgrading version number.
Another aspect of the present specification provides a version upgrade system for a blockchain system, which includes a first obtaining module, a first determining module, and a first upgrade module. The third obtaining module is configured to obtain a current version number corresponding to a current version of the blockchain system. The third determining module is configured to determine an upgrade version number of an upgrade version of the blockchain system based on the current version number. The third upgrading module is used for upgrading the blockchain system to an upgrading version corresponding to the upgrading version number.
Another aspect of the present specification provides a version upgrade apparatus for a blockchain system, including at least one storage medium and at least one processor; the at least one storage medium is configured to store computer instructions; the at least one processor is configured to perform the version upgrade method of the blockchain system described above.
Another aspect of the present specification provides a version upgrade method for a blockchain system. The method includes the following operations. Acquiring a current version number corresponding to a current version of a block chain system; and upgrading the current version of the block chain system to a version corresponding to a twelfth version number which is separated from the current version number by a fourth preset number interval.
Another aspect of the present specification provides a version upgrade system for a blockchain system. The system comprises a fourth acquisition module and a fourth upgrading module. The fourth obtaining module is configured to obtain a current version number corresponding to a current version of the blockchain system. The fourth upgrading module is used for upgrading the current version of the block chain system to a version corresponding to a twelfth version number which is separated from the current version number by a fourth preset number interval.
Another aspect of the present specification provides a version upgrade apparatus for a blockchain system, including at least one storage medium and at least one processor; the at least one storage medium is configured to store computer instructions; the at least one processor is configured to perform the version upgrade method of the blockchain system described above.
Drawings
The present description will be further explained by way of exemplary embodiments, which will be described in detail by way of the accompanying drawings. These embodiments are not intended to be limiting, and in these embodiments like numerals are used to indicate like structures, wherein:
FIG. 1 is an exemplary flow diagram of a version upgrade method for a blockchain system in accordance with some embodiments of the present description;
FIG. 2 is an exemplary flow diagram of a method of version repair for a blockchain system in accordance with some embodiments of the present description;
FIG. 3 is an exemplary block diagram of a version upgrade system of a blockchain system shown in some embodiments of the present description;
FIG. 4 is an exemplary flow diagram of a version upgrade method for another exemplary blockchain system in accordance with some embodiments of the present description;
FIG. 5 is an exemplary block diagram of a version upgrade system of another blockchain system shown in some embodiments of the present description;
FIG. 6 is an exemplary flow diagram of a version upgrade method for another exemplary blockchain system in accordance with some embodiments of the present description;
FIG. 7 is an exemplary block diagram of a version upgrade system of another blockchain system shown in some embodiments of the present description;
FIG. 8 is an exemplary flow diagram of a version upgrade method for another exemplary blockchain system in accordance with some embodiments of the present description;
FIG. 9 is an exemplary block diagram of a version upgrade system of another blockchain system shown in some embodiments of the present description;
10A and 10B are schematic diagrams illustrating changes in version numbers according to some embodiments of the present description;
fig. 11A and 11B are schematic diagrams illustrating another version number modification according to some embodiments of the present disclosure.
Detailed Description
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. It is obvious that the drawings in the following description are only examples or embodiments of the present description, and that for a person skilled in the art, the present description can also be applied to other similar scenarios on the basis of these drawings without inventive effort. Unless otherwise apparent from the context, or otherwise indicated, like reference numbers in the figures refer to the same structure or operation.
It should be understood that "system", "device", "unit" and/or "module" as used in this specification is a method for distinguishing different components, elements, parts or assemblies at different levels. However, other words may be substituted by other expressions if they accomplish the same purpose.
As used in this specification and the appended claims, the terms "a," "an," "the," and/or "the" are not intended to be inclusive in the singular, but rather are intended to be inclusive in the plural, unless the context clearly dictates otherwise. In general, the terms "comprises" and "comprising" merely indicate that steps and elements are included which are explicitly identified, that the steps and elements do not form an exclusive list, and that a method or apparatus may include other steps or elements.
Flow charts are used in this description to illustrate operations performed by a system according to embodiments of the present description. It should be understood that the preceding or following operations are not necessarily performed in the exact order in which they are performed. Rather, the various steps may be processed in reverse order or simultaneously. Meanwhile, other operations may be added to the processes, or a certain step or several steps of operations may be removed from the processes.
The blockchain is a distributed book or a distributed database, which ensures that data stored therein is not falsifiable or falsifiable in various ways such as mathematics, cryptography, internet, computer programming, etc. Due to the distributed nature of blockchains, it does not rely on the existence of a centralized "server" but rather consists of a plurality of distributed "servers". For example, BTC is composed of tens of millions of "servers" (e.g., mining machines, smartphones, tablets, etc.) distributed around the globe. These "servers" may be referred to as nodes of a blockchain. When a processing component supporting a blockchain (e.g., a blockchain client such as a software program, a smart contract, or executable file, executing code, etc.) is installed and run on a "server," the "server" can access the blockchain as a node. For example, a client computer that downloads a cryptocurrency (e.g., Bitcoin, Ether, Monero) may be a node in a blockchain that corresponds to the cryptocurrency.
In this specification, a processing component supporting a blockchain installed on a node may be referred to as a blockchain system. With the continuous development of the blockchain technology, the blockchain system is continuously updated in an iterative manner. For example, the blockchain system may be upgraded to support more functionality. After various upgradesBlock chaining systems, which can be distinguished by version number, e.g. from the originally issued V1Version to upgrade once V2Version to V upgraded N timesnAnd (4) version. In some embodiments, an updated blockchain system version may be generated by a node and uploaded (or published) to the blockchain for storage by nodes in the blockchain, thereby completing deployment of the updated version. When a version of the blockchain system is deployed on each node in the blockchain, each node can perform version upgrade on the blockchain system deployed thereon after reaching a consensus.
The behavior of the blockchain may be defined in a version number. For example, when a block is generated in a blockchain, the data written into the block may include a version number of the blockchain system to indicate that the data in the block is the result of data processing (e.g., verification, reading, etc.) performed by the node using the blockchain system corresponding to the agreed-upon version number.
At present, the version of the blockchain system is updated iteratively faster (for example, the blockchain system is updated once in half a month while a new version is released), and the maintenance and update costs are higher and higher. Meanwhile, when a blockchain system of a certain version which stably runs for a period of time is deployed on a blockchain, a node on the chain often does not perform version upgrade. Since the version of the blockchain system running on the node may be different from the latest version, there is a certain unknown risk when upgrading to the latest version. However, if the version of the blockchain system running on the node is found to have a defect in the subsequent process and the defect has to be repaired, the version of the blockchain system running on the node also needs to be upgraded to the latest version. Likewise, version upgrades based on bug fixes may also be at greater risk, as the differences between the two versions may be greater.
The version upgrading method for the blockchain system disclosed in the present specification reserves a version number when upgrading a certain version of the blockchain system (e.g., can stably run for a long time). Thus, for subsequent version repair problems, the reserved version number can be used without having to be upgraded to the latest version.
Fig. 1 is an exemplary flow diagram of a version upgrade method for a blockchain system in accordance with some embodiments of the present description. In some embodiments, the process 100 may be performed by a block chain node that publishes an updated version. For example, the process 100 may be stored in a storage device (such as a self-contained storage unit of a node or an external storage device) in the form of a program or instructions, which when executed, may implement the process 100. In some embodiments, the process 100 may be performed by the blockchain system version upgrade system 300. As shown in fig. 1, the process 100 may include the following steps.
Step 102, a first version number corresponding to a version to be updated of the block chain system is obtained. In particular, this step 102 may be performed by the first obtaining module 310.
In some embodiments, the version to be updated of the blockchain system may refer to an initial version that is released from the beginning of the blockchain system, or may be a latest version that is obtained by upgrading or updating the initial version that is released from the beginning once or more times. In some embodiments, the version to be updated may be the current version used by the block link point, or may be some previous version. The version number corresponding to the version to be updated is called a first version number. In some embodiments, the version number of the blockchain system may be represented in any number, e.g., a decimal number such as 1.1, 2.3, etc., and an integer number such as 1, 2, 3, etc. For convenience, the block chain version numbers in this specification are illustrated as integer numbers. As history, it is assumed that an initial version which is released at the beginning of the block chain system is recorded as a first version, a version obtained after one upgrade or update is a second version, a version obtained after two upgrades or updates is a third version, and an existing latest version obtained after N-1 upgrades or updates is an nth version. The version to be updated of the blockchain system may be version 1, 2, 3, …, or N, and accordingly, the first version number may use version N, or VnIt is shown that n is an integer.
And step 104, determining whether the version to be updated is the target version based on the first version number. In particular, this step 104 may be performed by the first determination module 320.
In some embodiments, the target version may be some version of a blockchain system that is capable of long-term and stable operation on a node. For example, this version of the blockchain system may be a core function that supports blockchains, such as federation chains, and is capable of stable operation. Whether a version of the blockchain system is designated as the target version may be predetermined. For example, by a blockchain manager or a node that issues an updated version. As an example, when a blockchain is constructed, the first version of the blockchain system released may be designated as the target version. Either a second version of the blockchain system that has made some repair and/or upgrade to the first version of the blockchain system released may be designated as the target version, or a version of the blockchain system that has made a major upgrade or addition of a significant function after a period of operation may be designated as the target version.
The blockchain system may be updated regularly, for example, a blockchain manager may issue a new version of the blockchain system every a predetermined period of time, such as half a month, etc. Each newly released new version of the blockchain system may be obtained by adding one or more functions to the blockchain system based on the previous version. In some embodiments, the blockchain manager may also upgrade versions of the blockchain system based on the needs of the user.
In some embodiments, the first determining module 320 may determine whether the first version and the target version are the same by comparing the first version and the target version, and further determine whether the to-be-updated version is the target version. In some embodiments, the first determination module 320 may determine whether the version to be updated is the target version based directly on the first version number. If the version to be updated is the target version, step 106 is executed, otherwise step 108 is executed.
And 106, when the version to be updated of the block chain system is updated, designating a second version number which is separated from the first version number by a first preset number interval as an updated version number corresponding to the updated version. In particular, this step 106 may be performed by the first upgrade module 330.
In this specification, version upgrade may refer to code modification of a blockchain system to add new functionality, and/or to modify legacy functionality, and the like. Typically, when a version of the blockchain system is upgraded, the version number of the upgraded version also needs to be changed (because the version number is used to define blockchain behavior, such as which version of the blockchain system each node agrees to use to process data). For example, V1V can be obtained after one time of upgrading of version2And (4) version. The version number of the blockchain system will change once per upgrade. One way is to increment the version numbers sequentially. E.g. in order from V1Version V2Version V3Version up to VNAnd (4) version. No gaps are reserved between the versions. In still other embodiments of the present specification, when the version to be updated of the blockchain system as the target version needs to be upgraded, the first upgrade module 330 may perform a jump change on the version number of the blockchain system of which the upgrade is completed. For example, from V2The version is upgraded to become V7And (4) version. Such a jumping interval may be defined by a first predetermined number interval. The first preset number section may be a section including a predetermined number of numbers. For example, the first predetermined number interval may include a segment of 3 numbers. The number of digits contained in the first preset digit interval may also be referred to as the length of the first preset digit interval. For example, the length of the first preset number interval in the above example is 3. In some embodiments, the number included in the first preset number interval may be related to a version number of a version to be updated of the blockchain system. For example, assume that the length of the first predetermined number interval is 3, and the version number of the version to be updated of the blockchain system is V2Then the numbers included in the first preset number interval may be 3, 4, and 5. Referring to fig. 10A, fig. 10A is a schematic diagram of an exemplary version number change according to some embodiments of the present description. As shown in fig. 10A, a first predetermined number zoneThe length of the cells is 3, and the version number of the version to be updated (i.e., the first version number) of the blockchain system is V2. Then V6Is a second version number separated from the first version number by a first predetermined number interval. After the upgrade is completed, the upgrade version number of the version to be updated of the blockchain system as the target version may be designated as V6
And 108, when the version to be updated of the block chain system is updated, designating a third version number adjacent to the first version number as an updated version number corresponding to the updated version. In particular, this step 108 may be performed by the first upgrade module 330.
In some embodiments, the third version number adjacent to the first version number may refer to a version number arranged in a numerical size sequence, located after and adjacent to the first version number. With continued reference to FIG. 10A, assume that the first version number corresponding to the version to be updated of the blockchain system is V7Then the third version number may be V8. If the version to be updated of the blockchain system is not the target version, the upgrade version number corresponding to the version to be updated of the blockchain system after upgrading can be designated as V8
The version upgrading method of the blockchain system disclosed by the specification improves version number change during upgrading. Version number reservations are made for some versions of the blockchain system. The reserved version number may be used for subsequent other changes to these versions (e.g., version repair, etc., see the description in fig. 2). The risk of alteration is thus reduced.
It should be noted that the above description of the process 100 is for illustration and description only, and does not limit the scope of the application of the present disclosure. Various modifications and alterations to process 100 will become apparent to those skilled in the art in light of the present description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 2 is an exemplary flow diagram of a method for version repair of a target version of an exemplary blockchain system in accordance with some embodiments of the present description. In some embodiments, the process 200 may be performed by a node that publishes an updated version. For example, the process 200 may be stored in a storage device (such as a self-contained storage unit of a node or an external storage device) in the form of a program or instructions, which when executed, may implement the process 200. In some embodiments, the process 200 may be performed by the repair module 340 of the blockchain system version upgrade system 300. The process 200 may be performed when the version to be updated of the blockchain system is the target version. As shown in fig. 2, the process 200 may include the following steps.
Step 202, determining whether the version to be updated of the blockchain system has defects to be repaired.
In some embodiments, the defect may refer to a place where the version to be updated of the blockchain system is not complete enough, for example, a code bug supporting an existing function, which may negatively affect the blockchain system, for example, affect stability and data processing speed, or may be utilized by an attacker for security attack. It will be appreciated that even though the version of the blockchain system is being iteratively upgraded, the version of the blockchain system deployed at the blockchain link points may have defects that are not eliminated with the upgrade and are not exposed until after a period of operation of the system. Because the upgraded version released is iteratively updated, it may be an unstable version that has not been tested for a long time, even if some new functionality is added. Therefore, when a defect exists in the target version of the blockchain system, and the version of the blockchain system is already deployed on the node, the defect repair, such as modification, supplementation, or optimization of the code, needs to be performed on the target version of the blockchain system.
And 204, repairing the version to be updated of the block chain system, and updating the version number corresponding to the repaired version at the same time.
The version repair of the exemplary blockchain system may be that a node that issues an updated version remedies a defect in the version to be updated. For example, a code bug that supports a function is replaced/altered to restore the function to normal. After the repaired version is released, after each node can replace a related file (for example, a binary file supporting the blockchain system) on the node, all the nodes update the blockchain version deployed on the node to the repaired version based on consensus.
In some embodiments, the version number corresponding to the repaired version will also be changed at the same time. The modified version number may be a fourth version number that is within the first preset number interval and adjacent to the first version number. Referring to fig. 10B, the version number (i.e., the first version number) of the version to be updated of the blockchain system as the target version is V2. When a defect is found for repair, the version number of the repaired version (i.e., the fourth version number) may be designated as V3。V3The number "3" adjacent to "2" in the first preset number interval represents the version number.
When the version to be updated of the blockchain system serving as the target version is upgraded, the reserved version number segment (e.g., the first preset number interval) may be used as the version number of the blockchain system after version repair. Version upgrades for blockchain systems are typically performed on a previous version basis, e.g., a new version released after adding a new function also includes all functions of the previous version. The version number also corresponds to the characteristics of the blockchain system due to the characteristics of the blockchain. For example, assuming that the originally released blockchain system support function 1 and then the second version upgraded to add the function 2, the version number of the second version shows the version of the blockchain system support function 1 and the function 2. This is a process equivalent to accumulation. If a new function is added for each upgrade, when the version number of the nth version appears, the version number shows that the corresponding blockchain system supports all functions, such as function 1 to function N. Thus, for a target version of the blockchain system, if a defect is found that must be repaired, if the version numbers are sequentially incremented in a previous process (e.g., version upgrade and version-number), the target version can only be upgraded to the full disk, e.g., from V as shown in FIG. 10B2Version upgrade to V83And (4) version. At this time, the difference between the two versions has become very large due to multiple upgrades, the upgraded versionThe risk of version problems is too high. The method disclosed in the specification can use reserved version number section, and only needs to be from V2Version update to V3Version (shown in FIG. 10B), no updates need to be made based on differences between subsequent versions, since V3The version is only used for repairing the defects in the version V2 to be updated without adding new functions too much, so that the risk of problems in the updated version becomes smaller. And is arranged at V3V after version6The version also comprises V3All functions in the version maintain the rule based on the version number of the blockchain system, and provide convenience for the management of the subsequent blockchain system version.
In some embodiments, after repairing the to-be-updated version of the blockchain system as the target version, the first repairing module 340 may repair the latest upgraded version of the blockchain system at the same time. The same drawback necessarily exists because the latest upgraded version of the blockchain system is also obtained by upgrading at least once based on the target version of the blockchain system. The first repairing module 340 may repair the blockchain system of the latest version based on the defect existing in the to-be-updated version of the blockchain system of the target version, and update the version number corresponding to the repaired latest upgrade version at the same time. And the version number corresponding to the repaired latest upgrade version is a fifth version number adjacent to the version number corresponding to the latest upgrade version. Similarly, adjacent may refer to an adjoining version number that follows the version number corresponding to the latest upgraded version. With continued reference to FIG. 10B, the latest upgrade version of the blockchain system corresponds to a version number V82And a fifth version number adjacent thereto is V83. The version number corresponding to the repaired latest upgrade version is V83
It should be noted that the above description related to the flow 200 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and alterations to flow 200 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 3 is an exemplary block diagram of a version upgrade system of an exemplary blockchain system shown in accordance with some embodiments of the present description. As shown in fig. 3, the blockchain system version upgrade system 300 may include a first acquisition module 310, a first determination module 320, a first upgrade module 330, and a first repair module 340.
The first obtaining module 310 may be configured to obtain a first version number corresponding to a version to be updated of the blockchain system. The version to be updated of the blockchain system may be an initial version which is released from the beginning of the blockchain system, or a latest version which is obtained by upgrading or updating the initial version which is released from the beginning once or more times. In some embodiments, the version number of the blockchain system may be expressed in integer numbers. For example, the version to be updated of the blockchain system may be version 1, 2, 3, …, or N, and accordingly, the first version number may use version N, or VnIt is shown that n is an integer.
The first determining module 320 may be configured to determine whether the version to be updated is the target version based on the first version number. The target version may be a version of a blockchain system that is capable of long-term and stable operation on a node. Whether a version of the blockchain system is designated as the target version may be predetermined. The first determining module 320 may determine whether the first version and the target version are the same by comparing the first version and the target version, and further determine whether the to-be-updated version is the target version.
The first upgrade module 330 may be used to upgrade a version to be updated of the blockchain system. Version upgrade may refer to code modification of the blockchain system to add new functionality, and/or redefine the chunk data size, etc. When the version to be updated of the blockchain system is the target version, the first upgrade module 330 may perform a jump change on the version number of the blockchain system whose upgrade is completed. For example, from V2The version is upgraded to become V7And (4) version. When the version to be updated of the blockchain system is not the target version, the first upgrade module 330 may designate a third version number adjacent to the first version number as the target versionAnd the upgraded version number corresponds to the upgraded version. For example, from V8The version is upgraded to become V9And (4) version.
The first repair module 340 may be used to repair defects in the blockchain system. When the version to be updated of the blockchain system is the target version, the first repairing module 340 may also update the version number corresponding to the repaired version while repairing the blockchain system. The modified version number may be within the first preset number interval and adjacent to the first version number. The first repairing module 340 may also repair the latest upgraded version of the blockchain system after repairing the to-be-updated version of the blockchain system serving as the target version.
Other descriptions of modules may refer to portions of the flow diagrams, e.g., fig. 1-2.
FIG. 4 is an exemplary flow diagram of a version upgrade method for another exemplary blockchain system in accordance with some embodiments of the present description. In some embodiments, flow 400 may be performed by a node that publishes an updated version. For example, the process 400 may be stored in a storage device (e.g., an on-board storage unit of a node or an external storage device) in the form of a program or instructions that, when executed, may implement the process 400. In some embodiments, the process 400 may be performed by the blockchain system version upgrade system 500. As shown in fig. 4, the process 400 may include the following steps.
Step 402, a first version number corresponding to a version to be updated of the block chain system is obtained. In particular, this step 402 may be performed by the second obtaining module 510.
Step 402 is the same or similar to step 102 and the detailed description may refer to relevant parts of step 102.
Step 404, determine whether the version to be updated of the blockchain system needs to be updated. In particular, this step 504 may be performed by the second determination module 520.
In some embodiments, upgrading may refer to code modification of the blockchain system to add new functionality, and/or to modify legacy functionality, and so forth. The version upgrade of the blockchain system can be a timed iterative upgrade with a fixed upgrade period. For example, it may be upgraded once every a preset period of time, such as half a month, etc. The second determining module 520 may determine whether the upgrade is needed according to the version upgrade time (i.e., the time from a version to the version to be upgraded) of the last blockchain system. Still alternatively, the second determination module 520 may determine whether the version to be updated needs to be upgraded based on whether new functionality needs to be added to the blockchain system. Version upgrade of the blockchain system can also be determined according to the requirements of a manager or a developer of the blockchain according to users of the blockchain.
Step 406, upgrading the version to be updated of the blockchain system, and designating a sixth version number separated from the first version number by a second preset number interval as the version number corresponding to the version to be updated of the upgraded blockchain system. In particular, this step 406 may be performed by the second upgrade module 530.
Step 406 may be similar to step 106 and reference may be made to the description relating to step 106.
Unlike the description of the rest of this specification (e.g., fig. 1), the second upgrade module 530 may make a version number reservation for each version (including a target version or other common version) upgrade of the blockchain system. Referring to fig. 11A, fig. 11A is a schematic diagram of an exemplary version number change according to some embodiments of the present description. When the first version number corresponding to the version to be updated of the block chain system is V1Then, after upgrading, with V1V separated by a second predetermined number interval (a number interval of length 3, similar to the first predetermined number interval)5As the version number corresponding to the version to be updated of the upgraded blockchain system. V5Namely the fifth version number. Similarly, when the first version number corresponding to the version to be updated of the blockchain system is V5Then, after upgrading, with V5V separated by a second preset number interval9As the version number corresponding to the version to be updated of the upgraded blockchain system.
In some embodimentsThe blockchain system version upgrade system 500 (or the second repair module 540) may determine whether there is a defect in the version of the blockchain system to be updated that needs to be repaired. The determination step may be the same as or similar to step 202, and the detailed description may refer to relevant parts of step 202. If the version to be updated of the blockchain system needs to be repaired, the second repairing module 540 may repair the version to be updated and update the version number corresponding to the version to be updated of the repaired blockchain system at the same time. Likewise, the description refers to step 204. And if the version to be updated of the blockchain system is repaired, the version number corresponding to the repaired version of the blockchain system is a seventh version number which is in the second preset number interval and is adjacent to the first version number. Referring to fig. 10B, as shown in fig. 10B, it is assumed that the version number of the version to be updated of the blockchain system is V1The version number corresponding to the version to be updated of the repaired blockchain system is within a second preset number interval with the length of 3 and V1Adjacent V2。V2Namely the seventh version number. Similarly, assume that the version number of the version to be updated of the blockchain system is V5The version number corresponding to the version to be updated of the repaired blockchain system is within a second preset number interval with the length of 3 and V5Adjacent V6。V6Namely the seventh version number.
In some embodiments, the second repairing module 540 may repair the latest upgraded version of the blockchain system after repairing the to-be-updated version of the blockchain system. Similar to the description in step 204, after the second repairing module 540 repairs the latest upgraded version of the blockchain system, the version number corresponding to the repaired latest upgraded version may also be updated at the same time. And the version number corresponding to the repaired latest upgrade version is the version number adjacent to the version number corresponding to the latest upgrade version. Adjacent, it may refer to an adjacent version number located after the version number corresponding to the latest upgrade version. With continued reference to FIG. 11B, the latest upgrade version of the blockchain system corresponds to a version number V81Adjacent version number is V82. The repaired latest upgrade version corresponds toIs a version number of V82
It should be noted that the above description related to the flow 400 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and changes to flow 400 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 5 is an exemplary block diagram of a version upgrade system of another exemplary blockchain system shown in accordance with some embodiments of the present description. As shown in fig. 5, the blockchain system version upgrade system 500 may include a second acquisition module 510, a second determination module 520, a second upgrade module 530, and a second repair module 540.
The second obtaining module 510 may be configured to obtain a first version number corresponding to a version to be updated of the blockchain system. The version to be updated of the blockchain system may be an initial version which is released from the beginning of the blockchain system, or a latest version which is obtained by upgrading or updating the initial version which is released from the beginning once or more times. In some embodiments, the version number of the blockchain system may be expressed in integer numbers. For example, the version to be updated of the blockchain system may be version 1, 2, 3, …, or N, and accordingly, the first version number may use version N, or VnIt is shown that n is an integer.
The second determination module 520 may be used to determine whether the version to be updated of the blockchain system needs to be upgraded. The version upgrade of the blockchain system can be a timed iterative upgrade with a fixed upgrade period. For example, it may be upgraded once every a preset period of time, such as half a month, etc. The second determining module 520 may determine whether the upgrade is needed according to the version upgrade time (i.e., the time from a version to the version to be upgraded) of the last blockchain system. Still alternatively, the second determination module 520 may determine whether the version to be updated needs to be upgraded based on whether new functionality needs to be added to the blockchain system. Version upgrade of the blockchain system can also be determined according to the requirements of a manager or a developer of the blockchain according to users of the blockchain.
The second upgrade module 530 may be configured to upgrade the version to be updated of the blockchain system, and designate a sixth version number that is separated from the first version number by a second preset number interval as a version number corresponding to the version to be updated of the upgraded blockchain system. The second upgrade module 530 may make version number reservations for each version (including the target version or other common version) upgrade of the blockchain system. For example, assume that the first version number corresponding to the version to be updated of the blockchain system is V1Then, after upgrading, with V1V separated by a second predetermined number interval (a number interval of length 3, similar to the first predetermined number interval)5As the version number corresponding to the version of the upgraded blockchain system.
The second repair module 540 may be configured to determine whether there is a defect in the version of the blockchain system to be updated that needs to be repaired. When the repair is needed, the second repair module 540 may repair the version to be updated, and update the version number corresponding to the version to be updated of the repaired blockchain system at the same time. The version number corresponding to the version of the repaired block chain system is within the second preset number interval and adjacent to the first version number. In some embodiments, the second repairing module 540 may repair the latest upgraded version of the blockchain system after repairing the to-be-updated version of the blockchain system. And the version number corresponding to the repaired latest upgrade version is adjacent to the version number corresponding to the latest upgrade version.
Other descriptions of modules may refer to portions of the flow chart, such as FIG. 4.
FIG. 6 is an exemplary flow diagram of a version upgrade method for a blockchain system in accordance with some embodiments of the present description. In some embodiments, flow 600 may be performed by a user node on a blockchain. For example, the process 800 may be stored in a storage device (such as an on-board storage unit of a node or an external storage device) in the form of a program or instructions, which when executed, may implement the process 600. In some embodiments, the process 600 may be performed by the blockchain system version upgrade system 700. As shown in fig. 6, the process 600 may include the following steps.
Step 602, a current version number corresponding to a current version of the blockchain system is obtained. In particular, this step 602 may be performed by the third obtaining module 710.
In some embodiments, the current version of the blockchain system may be a version of the blockchain system deployed on a user node of the blockchain, or a version of the blockchain system currently in use on the user node. The version number corresponding to the current version may be referred to as the current version number. It will be appreciated that the blockchain system may exist in multiple versions (e.g., from an initial version that was originally released to multiple upgraded versions that have undergone multiple upgrades), and the current version of the blockchain system may be one of these. In some embodiments, the version number of the blockchain system may be represented in any number, e.g., a decimal number such as 1.1, 2.3, etc., and an integer number such as 1, 2, 3, etc. In this scheme, integers are described. For example, the current version of the blockchain system may be an initial version (which may be referred to as a first version) which is released at the beginning, or a second version (which may be referred to as a second version) obtained after one upgrade or update, a third version (which may be referred to as a third version) obtained after two upgrades or updates, and an nth version (which may be referred to as an nth version) of an existing latest version obtained after N-1 upgrades or updates. The current version of the blockchain system may be version 1, 2, 3, …, or N, and accordingly, the current version number may use version N, or VnIt is shown that n is an integer.
Step 604, determining an upgrade version number of the upgrade version of the blockchain system based on the current version number. And determining whether the version to be updated is a target version based on the first version number. In particular, this step 604 may be performed by the third determination module 720.
In some embodiments, the blockchain system may be continually upgraded, e.g., new functionality added, after it is released. The version of the blockchain system may be considered to have been upgraded each time one or more new functions are added. Referring to the example in step 602, any version that is subsequently upgraded or updated, relative to the initial version that was originally released, may be referred to as an upgraded version. Likewise, the version number corresponding to the upgraded version may be referred to as the upgraded version number.
In some embodiments, to determine the upgrade version number, the third determination module 720 may determine whether the current version number is a target version number. The target version number may be a version number corresponding to a target version of the blockchain system. The target version may be a version of a blockchain system that is capable of long-term and stable operation on a node. For example, this version of the blockchain system may be a core function that supports blockchains, such as federation chains, and is capable of stable operation. Whether a version of the blockchain system is designated as the target version may be predetermined. For example, by a blockchain manager or a node that issues an updated version. As an example, when a blockchain is constructed, the first version of the blockchain system released may be designated as the target version. Either a second version of the blockchain system that has made some repair and/or upgrade to the first version of the blockchain system released may be designated as the target version, or a version of the blockchain system that has made a major upgrade or addition of a significant function after a period of operation may be designated as the target version. Since the version number of the blockchain system may be represented in numbers, the third determining module 720 may directly determine whether the current version number is the target version number by comparing the numbers representing the target version number and the current version number.
In some embodiments, if the current version number is the target version number, the third determining module 720 may determine that an eighth version number separated from the current version number by a third preset number interval is the upgrade version number. The third preset number interval may be similar to the first preset number interval and the second preset number interval, and may be an interval including a predetermined number of numbers. For example, the interval includes 3 integers. The number of included digits may be referred to as a length of the third preset digit interval. By way of example, assume the current version numberIs a V2If the length of the third predetermined number interval is 3 (including 3, 4, and 5), the third determining module 720 may determine an eighth version number (V)6) To upgrade the version number. If the current version number is not the target version number, the third determining module 720 may determine the upgrade version number as a ninth version number adjacent to the current version number as the upgrade version number. For example, will be connected with V7Adjacent V8As the upgrade version number.
Step 606, upgrading the block chain system to an upgrade version corresponding to the upgrade version number. Specifically, this step 606 may be performed by the third upgrade module 730.
In some embodiments, the third upgrade module 730 may obtain a file of a corresponding upgrade version based on the upgrade version number and upgrade the blockchain version.
In some embodiments, for version upgrades of a blockchain system, the upgraded version may be specified by a user of a customer node deploying the blockchain system. For example, a user of a customer node may specify that the blockchain system be upgraded to any one of a plurality of published versions.
In some embodiments, the blockchain version upgrade system 700 (e.g., the third repair module 740) may determine whether there are defects in the current version of the blockchain system that require repair. The defect may refer to a place where the current version of the blockchain system is not complete enough, such as a code bug supporting an existing function, which may negatively affect the blockchain system, such as affecting stability and data processing speed, or may be utilized by an attacker for security attack. It will be appreciated that even though the version of the blockchain system is being iteratively upgraded, the current version of the blockchain system deployed at the blockchain link points may have defects that are not eliminated with the upgrade and are not exposed until after a period of operation of the system. Because the upgraded version released is iteratively updated, it may be an unstable version that has not been tested for a long time, even if some new functionality is added. Therefore, when a certain version of the blockchain system is defective and the version of the blockchain system is deployed on a node, defect repair, such as modification, supplementation, or optimization of code, is required.
In some embodiments, if the current version of the blockchain system needs to be repaired, the third repair module 740 may determine a repair version number of the repair version of the blockchain system based on the current version number, and repair the blockchain system to the repair version corresponding to the update version number. The repair version may be a version in which the defect is remedied, and the corresponding version number may be the repair version number. To determine the repair version number, the third repair module 740 may determine whether the current version number is a target version number. If so, the third repairing module 740 may determine that the tenth version number adjacent to the current version number is the repairing version number and is within the third preset number interval. For example, assume that the current version number is V2If the length of the third predetermined number interval is 3 (including 3, 4, and 5), the third repairing module 740 may determine a tenth version number (V)3) To repair the version number. If the current version number is not the target version number, the third determining module 720 may determine the upgrade version number as an eleventh version number adjacent to the current version number as the upgrade version number. For example, will be connected with V8Adjacent V9As the repair version number. After determining the repair version number, the third repair module 740 may obtain a file of the repair version corresponding to the repair version number, and repair the blockchain system.
It should be noted that the above description of the flow 600 is for illustration and description only, and does not limit the scope of the application of the present disclosure. Various modifications and changes to flow 600 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 7 is an exemplary block diagram of a version upgrade system of another exemplary blockchain system shown in some embodiments of the present description. As shown in fig. 7, the blockchain system version upgrade system 700 may include a third acquisition module 710, a third determination module 720, a third upgrade module 730, and a third repair module 740.
The third obtaining module 710 may be configured to obtain a current version number corresponding to the current version of the blockchain system. The current version of the blockchain system may be a version of the blockchain system deployed on a user node of the blockchain, or a version of the blockchain system currently used on the user node. The version number corresponding to the current version may be referred to as the current version number.
The third determining module 720 may be configured to determine an upgrade version number of an upgraded version of the blockchain system based on the current version number. Any version that is subsequently upgraded or updated, relative to the initial version that was originally released, may be referred to as an upgraded version. Likewise, the version number corresponding to the upgraded version may be referred to as the upgraded version number. To determine the upgrade version number, the third determination module 720 may determine whether the current version number is a target version number. The target version number may be a version number corresponding to a target version of the blockchain system. The target version may be a version of a blockchain system that is capable of long-term and stable operation on a node. If the current version number is a target version number, the third determining module 720 may determine that an eighth version number that is separated from the current version number by a third preset number interval is the upgrade version number. If the current version number is not the target version number, the third determining module 720 may determine the upgrade version number as a ninth version number adjacent to the current version number as the upgrade version number.
The third upgrade module 730 may be configured to upgrade the blockchain system to an upgrade version corresponding to the upgrade version number.
The third repair module 740 may be used to determine whether there are defects in the current version of the blockchain system that need to be repaired. The defect may refer to a place where the current version of the blockchain system is not complete enough, such as a code bug supporting an existing function, which may negatively affect the blockchain system, such as affecting stability and data processing speed, or may be utilized by an attacker for security attack. If the current version of the blockchain system needs to be repaired, the third repairing module 740 may determine a repairing version number of the repairing version of the blockchain system based on the current version number, and repair the blockchain system to a repairing version corresponding to the updating version number. To determine the repair version number, the third repair module 740 may determine whether the current version number is a target version number. If so, the third repairing module 740 may determine that the tenth version number adjacent to the current version number is the repairing version number and is within the third preset number interval. If the current version number is not the target version number, the third determining module 720 may determine the upgrade version number as an eleventh version number adjacent to the current version number as the upgrade version number.
Other descriptions of modules may refer to portions of the flowchart of this specification, such as FIG. 6.
FIG. 8 is an exemplary flow diagram of a method for version upgrade of a blockchain system in accordance with some embodiments of the present description. In some embodiments, flow 800 may be performed by a user node on a blockchain. For example, the process 800 may be stored in a storage device (e.g., an on-board storage unit of a node or an external storage device) in the form of a program or instructions, which when executed, may implement the process 800. In some embodiments, the process 600 may be performed by the blockchain system version upgrade system 700. As shown in fig. 8, the process 800 may include the following steps.
Step 802, obtain a current version number corresponding to a current version of the blockchain system. In particular, this step 802 may be performed by the fourth acquisition module 910.
Step 802 is the same as or similar to step 602, and the detailed description may refer to relevant parts of step 602.
Step 804, the current version of the block chain system is upgraded to a version corresponding to a twelfth version number which is separated from the current version number by a fourth preset number interval. In particular, this step 804 may be performed by fourth upgrade module 920.
Step 804 may be similar to step 604 and step 606, and reference may be made to the description of step 604 and step 606.
In some embodiments, for any one current version of the blockchain system, when an upgrade is required, the version number of the upgraded version may be spaced from the current version. As an example, when the current version number corresponding to the current version of the blockchain system is V1Then, the fourth upgrade module 920 upgrades the blockchain system, and then compares the system with V1V separated by a fourth preset number interval (similar to the first preset number interval, the second preset number interval or the third preset number interval, assuming a number interval with a length of 3)5As the version number corresponding to the version of the upgraded blockchain system. V5Namely the twelfth version number.
In some embodiments, the blockchain system version upgrade system 900 (or the fourth repair module 930) may determine whether there are defects in the current version of the blockchain system that require repair. The determining step may be the same as or similar to step 606, and the detailed description may refer to relevant parts of step 606. If the current version of the blockchain system needs to be repaired, the fourth repair module 930 may repair the current version of the blockchain system to a version within the fourth preset number interval and corresponding to a thirteenth version number adjacent to the current version number. As an example, assume that the current version number of the blockchain system is V1Within a fourth preset number interval with the length of 3 corresponding to the repaired version of the repaired block chain system, the number is equal to V1Adjacent V2。V2Namely the thirteenth version number.
It should be noted that the above description related to the flow 800 is only for illustration and description, and does not limit the applicable scope of the present specification. Various modifications and changes to flow 800 will be apparent to those skilled in the art in light of this description. However, such modifications and variations are intended to be within the scope of the present description.
FIG. 9 is an exemplary block diagram of a version upgrade system of another exemplary blockchain system shown in some embodiments of the present description. As shown in fig. 9, the blockchain system version upgrade system 900 may include a fourth acquisition module 910, a fourth upgrade module 920, and a fourth repair module 930.
The fourth obtaining module 910 may be configured to obtain a current version number corresponding to a current version of the blockchain system.
The fourth upgrade module 920 may be configured to upgrade the current version of the blockchain system to a version corresponding to a twelfth version number that is separated from the current version number by a fourth preset number interval.
The fourth repair module 930 may be configured to determine whether a defect exists in the current version of the blockchain system that needs to be repaired. If the current version of the blockchain system needs to be repaired, the fourth repair module 930 may repair the current version of the blockchain system to a version within the fourth preset number interval and corresponding to a thirteenth version number adjacent to the current version number.
Other descriptions of modules may refer to portions of the flowchart of this specification, such as FIG. 8.
It should be understood that the devices and their modules shown in fig. 3, 5, 7, and 9 may be implemented in various ways. For example, the apparatus and its modules may be implemented by hardware, software, or a combination of software and hardware. Wherein the hardware portion may be implemented using dedicated logic; the software portions may be stored in a memory for execution by a suitable instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and systems described above may be implemented using computer executable instructions and/or embodied in processor control code, such code being provided, for example, on a carrier medium such as a diskette, CD-or DVD-ROM, a programmable memory such as read-only memory (firmware), or a data carrier such as an optical or electronic signal carrier. The devices and modules thereof in this specification may be implemented not only by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc., but also by software executed by various types of processors, for example, or by a combination of the above hardware circuits and software (e.g., firmware).
It should be noted that the above descriptions of the blockchain system version-up system 300, the blockchain system version-up system 500, the blockchain system version-up system 700, and the blockchain system version-up system 900 are only for convenience of description, and should not limit the present disclosure to the scope of the illustrated embodiments. It will be appreciated by those skilled in the art that, given the teachings of the present system, any combination of modules or sub-system configurations may be used to connect to other modules without departing from such teachings. For example, each module may share one memory module, and each module may have its own memory module. Such variations are within the scope of the present disclosure.
The beneficial effects that may be brought by the embodiments of the present description include, but are not limited to: in version upgrading of the block chain system, the version number is reserved when the block chain system of the target version is upgraded, and the version number can be used for repairing later version defects, so that the defect repairing risk caused by overlarge version difference is reduced. It is to be noted that different embodiments may produce different advantages, and in different embodiments, any one or combination of the above advantages may be produced, or any other advantages may be obtained.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be regarded as illustrative only and not as limiting the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, the description uses specific words to describe embodiments of the description. Reference throughout this specification to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification is included. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Moreover, those skilled in the art will appreciate that aspects of the present description may be illustrated and described in terms of several patentable species or situations, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereof. Accordingly, aspects of this description may be performed entirely by hardware, entirely by software (including firmware, resident software, micro-code, etc.), or by a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. Furthermore, aspects of the present description may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.
The computer storage medium may comprise a propagated data signal with the computer program code embodied therewith, for example, on baseband or as part of a carrier wave. The propagated signal may take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination. A computer storage medium may be any computer-readable medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code located on a computer storage medium may be propagated over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or any combination of the preceding.
Computer program code required for the operation of various portions of this specification may be written in any one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C + +, C #, VB.NET, Python, and the like, a conventional programming language such as C, Visual Basic, Fortran2003, Perl, COBOL2002, PHP, ABAP, a dynamic programming language such as Python, Ruby, and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or processing device. In the latter scenario, the remote computer may be connected to the user's computer through any network format, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud computing environment, or as a service, such as a software as a service (SaaS).
Additionally, the order in which the elements and sequences of the process are recited in the specification, the use of alphanumeric characters, or other designations, is not intended to limit the order in which the processes and methods of the specification occur, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing processing device or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Numerals describing the number of components, attributes, etc. are used in some embodiments, it being understood that such numerals used in the description of the embodiments are modified in some instances by the use of the modifier "about", "approximately" or "substantially". Unless otherwise indicated, "about", "approximately" or "substantially" indicates that the number allows a variation of ± 20%. Accordingly, in some embodiments, the numerical parameters used in the specification and claims are approximations that may vary depending upon the desired properties of the individual embodiments. In some embodiments, the numerical parameter should take into account the specified significant digits and employ a general digit preserving approach. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of the range are approximations, in the specific examples, such numerical values are set forth as precisely as possible within the scope of the application.
For each patent, patent application publication, and other material, such as articles, books, specifications, publications, documents, etc., cited in this specification, the entire contents of each are hereby incorporated by reference into this specification. Except where the application history document does not conform to or conflict with the contents of the present specification, it is to be understood that the application history document, as used herein in the present specification or appended claims, is intended to define the broadest scope of the present specification (whether presently or later in the specification) rather than the broadest scope of the present specification. It is to be understood that the descriptions, definitions and/or uses of terms in the accompanying materials of this specification shall control if they are inconsistent or contrary to the descriptions and/or uses of terms in this specification.
Finally, it should be understood that the embodiments described herein are merely illustrative of the principles of the embodiments of the present disclosure. Other variations are also possible within the scope of the present description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.

Claims (36)

1. A version upgrade method for a blockchain system, wherein the method comprises:
acquiring a first version number corresponding to a version to be updated of a block chain system;
determining whether the version to be updated is a target version based on the first version number;
if so, when the version to be updated of the block chain system is upgraded, designating a second version number which is separated from the first version number by a first preset number interval as an upgrade version number corresponding to the upgraded version.
2. The method of claim 1, wherein the method further comprises:
and if the version to be updated of the block chain system is not the target version, when the version to be updated of the block chain system is updated, designating a third version number adjacent to the first version number as an updated version number corresponding to the updated version.
3. The method of claim 1, wherein when the to-be-updated version of the blockchain system is a target version, the method further comprises:
determining whether the version to be updated of the block chain system has defects to be repaired;
if so, repairing the version to be updated of the block chain system, and updating the version number corresponding to the repaired version at the same time; the version number corresponding to the repaired version is a fourth version number which is in the first preset digital interval and is adjacent to the first version number;
the repaired version still belongs to the target version.
4. The method of claim 3, wherein when the to-be-updated version of the blockchain system is a target version, the method further comprises:
acquiring the latest upgrade version of the block chain system;
repairing the latest upgrade version of the block chain system based on the defects of the version to be updated, and updating the version number corresponding to the repaired latest upgrade version at the same time; and the version number corresponding to the repaired latest upgrade version is a fifth version number adjacent to the version number corresponding to the latest upgrade version.
5. The method according to any of claims 1-4, wherein the version number of the blockchain system is expressed in integer numbers.
6. A version upgrade method for a blockchain system, wherein the method comprises:
acquiring a first version number corresponding to a version to be updated of a block chain system;
determining whether a version to be updated of the blockchain system needs to be updated;
if so, upgrading the version to be updated of the block chain system, and designating a sixth version number which is separated from the first version number by a second preset number interval as the version number corresponding to the version of the upgraded block chain system.
7. The method of claim 6, wherein the method further comprises:
determining whether the version to be updated has defects to be repaired;
if so, repairing the version to be updated, and updating the version number corresponding to the version of the repaired block chain system; and the version number corresponding to the repaired version of the blockchain system is a seventh version number which is positioned in the second preset number interval and is adjacent to the first version number.
8. The method according to claim 6 or 7, wherein the version number of the blockchain system is expressed in integer numbers.
9. A version upgrade method for a blockchain system, wherein the method comprises:
acquiring a current version number corresponding to a current version of a block chain system;
determining an upgrade version number of an upgrade version of the blockchain system based on the current version number;
and upgrading the block chain system to an upgrading version corresponding to the upgrading version number.
10. The method of claim 9, wherein said determining an upgrade version number for an upgraded version of the blockchain system based on the current version number comprises:
determining whether the current version number is a target version number;
if so, determining an eighth version number which is separated from the current version number by a third preset number interval as the upgrade version number;
if not, determining that the upgrade version number is the ninth version number adjacent to the current version number as the upgrade version number.
11. The method of claim 9, wherein the method further comprises:
determining whether the current version of the blockchain system has defects to be repaired;
if so, determining a repair version number of the repair version of the blockchain system based on the current version number, and repairing the blockchain system to the repair version corresponding to the update version number.
12. The method of claim 11, wherein said determining a repair version number for a repair version of the blockchain system based on the current version number comprises:
determining whether the current version number is a target version number;
if so, determining that a tenth version number which is in the third preset digital interval and adjacent to the current version number is the repair version number;
and if not, determining that the eleventh version number adjacent to the current version number is the repair version number.
13. The method according to any of claims 9-12, wherein the version number of the blockchain system is expressed in integer numbers.
14. A version upgrade method for a blockchain system, wherein the method comprises:
acquiring a current version number corresponding to a current version of a block chain system;
and upgrading the current version of the block chain system to a version corresponding to a twelfth version number which is separated from the current version number by a fourth preset number interval.
15. The method of claim 14, wherein the method further comprises:
determining whether the current version of the blockchain system has defects to be repaired;
and if so, repairing the current version of the block chain system to the version which is in the fourth preset number interval and corresponds to the thirteenth version number adjacent to the current version number.
16. The method according to claim 14 or 15, wherein the version number of the blockchain system is expressed in integer numbers.
17. A version upgrading system of a block chain system comprises a first obtaining module, a first determining module and a first upgrading module;
the first obtaining module is used for obtaining a first version number corresponding to a version to be updated of the block chain system
The first determining module is used for determining whether the version to be updated is a target version based on the first version number;
if the version to be updated is the target version, the first upgrading module is configured to designate a second version number that is separated from the first version number by a first preset number interval as an upgraded version number corresponding to the upgraded version when the version to be updated of the block chain system is upgraded.
18. The system of claim 17, wherein the first upgrade module is further to:
and if the version to be updated of the block chain system is not the target version, when the version to be updated of the block chain system is updated, designating a third version number adjacent to the first version number as an updated version number corresponding to the updated version.
19. The system of claim 17, wherein the system further comprises a first repair module, when the to-be-updated version of the blockchain system is a target version, to:
determining whether the version to be updated of the block chain system has defects to be repaired;
if so, repairing the version to be updated of the block chain system, and updating the version number corresponding to the repaired version at the same time; the version number corresponding to the repaired version is a fourth version number which is in the first preset digital interval and is adjacent to the first version number;
the repaired version still belongs to the target version.
20. The system of claim 19, wherein when the to-be-updated version of the blockchain system is a target version, the first repair module is further to:
acquiring the latest upgrade version of the block chain system;
repairing the latest upgrade version of the block chain system based on the defects of the version to be updated, and updating the version number corresponding to the repaired latest upgrade version at the same time; and the version number corresponding to the repaired latest upgrade version is a fifth version number adjacent to the version number corresponding to the latest upgrade version.
21. The system of any of claims 17-20, wherein the version number of the blockchain system is expressed in integer numbers.
22. A version upgrading system of a block chain system comprises a second obtaining module, a second determining module and a second upgrading module;
the second obtaining module is used for obtaining the first version number corresponding to the version to be updated of the block chain system
The second determining module is configured to determine whether the version to be updated of the blockchain system needs to be updated;
if the version to be updated of the blockchain system needs to be updated, the second updating module is used for updating the version to be updated of the blockchain system and appointing a sixth version number which is separated from the first version number by a second preset number interval as the version number corresponding to the version of the updated blockchain system.
23. The method of claim 22, wherein the system further comprises a second repair module;
the second repair module is to:
determining whether the version to be updated has defects to be repaired;
if so, repairing the version to be updated, and updating the version number corresponding to the version of the repaired block chain system; and the version number corresponding to the repaired version of the blockchain system is a seventh version number which is positioned in the second preset number interval and is adjacent to the first version number.
24. The system of claim 22 or 23, wherein the version number of the blockchain system is expressed in integer numbers.
25. A version upgrading system of a block chain system comprises a third obtaining module, a third determining module and a third upgrading module;
the third obtaining module is configured to obtain a current version number corresponding to a current version of the blockchain system;
the third determining module is configured to determine an upgrade version number of the upgrade version of the blockchain system based on the current version number;
and the third upgrading module is used for upgrading the block chain system into an upgrading version corresponding to the upgrading version number.
26. The system of claim 25, wherein to determine an upgrade version number for an upgraded version of the blockchain system based on the current version number, the third determination module is to:
determining whether the current version number is a target version number;
if so, determining an eighth version number which is separated from the current version number by a third preset number interval as the upgrade version number;
if not, determining that the upgrade version number is the ninth version number adjacent to the current version number as the upgrade version number.
27. The system of claim 25, wherein the system further comprises a third repair module; the third repair module is to:
determining whether the current version of the blockchain system has defects to be repaired;
if so, determining a repair version number of the repair version of the blockchain system based on the current version number, and repairing the blockchain system to the repair version corresponding to the update version number.
28. The system of claim 27, wherein to determine a repair version number for a repair version of the blockchain system based on the current version number, the third repair module is further to:
determining whether the current version number is a target version number;
if so, determining that a tenth version number which is in the third preset digital interval and adjacent to the current version number is the repair version number;
and if not, determining that the eleventh version number adjacent to the current version number is the repair version number.
29. The system of any of claims 25-28, wherein the version number of the blockchain system is expressed in integer numbers.
30. A version upgrading system of a block chain system comprises a fourth acquisition module and a fourth upgrading module;
the fourth obtaining module is configured to obtain a current version number corresponding to the current version of the blockchain system;
the fourth upgrading module is configured to upgrade the current version of the blockchain system to a version corresponding to a twelfth version number that is separated from the current version number by a fourth preset number interval.
31. The system of claim 30, wherein the system further comprises a fourth repair module to:
determining whether the current version of the blockchain system has defects to be repaired;
and if so, repairing the current version of the block chain system to the version which is in the fourth preset number interval and corresponds to the thirteenth version number adjacent to the current version number.
32. The system of claim 30 or 31, wherein the version number of the blockchain system is expressed in integer numbers.
33. A version upgrade apparatus for a blockchain system, wherein the apparatus comprises a processor configured to perform the method of any one of claims 1 to 6.
34. A version upgrade apparatus for a blockchain system, wherein the apparatus comprises a processor configured to perform the method of any one of claims 7-8.
35. A version upgrade apparatus for a blockchain system, wherein the apparatus comprises a processor configured to perform the method of any one of claims 9-13.
36. A version upgrade apparatus for a blockchain system, wherein the apparatus comprises a processor configured to perform the method of any one of claims 14-16.
CN202010475753.3A 2020-05-29 2020-05-29 Version upgrading method, system and device of block chain system Pending CN111381866A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010475753.3A CN111381866A (en) 2020-05-29 2020-05-29 Version upgrading method, system and device of block chain system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010475753.3A CN111381866A (en) 2020-05-29 2020-05-29 Version upgrading method, system and device of block chain system

Publications (1)

Publication Number Publication Date
CN111381866A true CN111381866A (en) 2020-07-07

Family

ID=71220411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010475753.3A Pending CN111381866A (en) 2020-05-29 2020-05-29 Version upgrading method, system and device of block chain system

Country Status (1)

Country Link
CN (1) CN111381866A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162768A (en) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 Block chain upgrading method and system
CN113254064A (en) * 2021-07-05 2021-08-13 支付宝(杭州)信息技术有限公司 API (application program interface) management method and system of block chain
CN114185587A (en) * 2021-12-13 2022-03-15 平安壹账通云科技(深圳)有限公司 Microcode upgrading method, device, equipment and storage medium
CN115174385A (en) * 2022-06-15 2022-10-11 桂林电子科技大学 Industrial Internet of things equipment firmware software updating method based on block chain
CN115617392A (en) * 2022-12-19 2023-01-17 北京赛目科技股份有限公司 Version number determination method and device
US12032943B1 (en) * 2021-10-19 2024-07-09 Hangzhou Qulian Technology Co., Ltd. Method for upgrading blockchain system, and terminal device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109511012A (en) * 2018-11-30 2019-03-22 深圳创维数字技术有限公司 Set top box upgrading test method, device, electronic equipment and medium
CN110347609A (en) * 2019-07-18 2019-10-18 腾讯科技(深圳)有限公司 A kind of method and device of test block chain software
CN110544097A (en) * 2019-09-06 2019-12-06 杭州复杂美科技有限公司 Intelligent contract version control, calling and upgrading method, equipment and storage medium
CN110557452A (en) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 Node management method and device of block chain, storage medium and computer equipment
US20190384594A1 (en) * 2018-06-18 2019-12-19 Panasonic Intellectual Property Corporation Of America Management method, management apparatus, and program
CN110798331A (en) * 2018-08-02 2020-02-14 华为技术有限公司 Equipment upgrading method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190384594A1 (en) * 2018-06-18 2019-12-19 Panasonic Intellectual Property Corporation Of America Management method, management apparatus, and program
CN110798331A (en) * 2018-08-02 2020-02-14 华为技术有限公司 Equipment upgrading method and device
CN109511012A (en) * 2018-11-30 2019-03-22 深圳创维数字技术有限公司 Set top box upgrading test method, device, electronic equipment and medium
CN110347609A (en) * 2019-07-18 2019-10-18 腾讯科技(深圳)有限公司 A kind of method and device of test block chain software
CN110557452A (en) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 Node management method and device of block chain, storage medium and computer equipment
CN110544097A (en) * 2019-09-06 2019-12-06 杭州复杂美科技有限公司 Intelligent contract version control, calling and upgrading method, equipment and storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112162768A (en) * 2020-10-14 2021-01-01 支付宝(杭州)信息技术有限公司 Block chain upgrading method and system
CN113254064A (en) * 2021-07-05 2021-08-13 支付宝(杭州)信息技术有限公司 API (application program interface) management method and system of block chain
US12032943B1 (en) * 2021-10-19 2024-07-09 Hangzhou Qulian Technology Co., Ltd. Method for upgrading blockchain system, and terminal device
CN114185587A (en) * 2021-12-13 2022-03-15 平安壹账通云科技(深圳)有限公司 Microcode upgrading method, device, equipment and storage medium
CN114185587B (en) * 2021-12-13 2023-08-25 平安壹账通云科技(深圳)有限公司 Microcode upgrading method, device, equipment and storage medium
CN115174385A (en) * 2022-06-15 2022-10-11 桂林电子科技大学 Industrial Internet of things equipment firmware software updating method based on block chain
CN115174385B (en) * 2022-06-15 2024-04-02 桂林电子科技大学 Firmware software updating method for industrial Internet of things equipment based on blockchain
CN115617392A (en) * 2022-12-19 2023-01-17 北京赛目科技股份有限公司 Version number determination method and device

Similar Documents

Publication Publication Date Title
CN111381866A (en) Version upgrading method, system and device of block chain system
WO2017071494A1 (en) Application deployment method and apparatus
US11733975B1 (en) System and method for migrating legacy software to a system common architecture
US9348582B2 (en) Systems and methods for software dependency management
CN110221860A (en) A kind of configuration file processing method, device, terminal and medium
US11226812B2 (en) Managing an update of a software module in a layered filesystem
US20130227542A1 (en) Version conflict checking to installable unit
CN107408046B (en) System and method for provisioning cloud services across heterogeneous computing environments
US8910145B2 (en) Method and device for installing/uninstalling software modules, with centralized resolution of constraints, in aircraft equipment items
CN107483241B (en) Method and device for downloading upgrade mirror image version in network element upgrading process
US9542173B2 (en) Dependency handling for software extensions
CN111831325A (en) Method, device, system and medium for updating configuration file in application
CN113360250B (en) Application service resource control method, device, equipment and medium
US8769521B2 (en) Calendar aware adaptive patching of a computer program
US20170235558A1 (en) System and method for recapture and rebuild of application definition from installed instance
CN111142922A (en) Application program updating method and device, terminal and server
US20230061121A1 (en) Methods concerning ongoing treatment for cancer
CN112667256B (en) Kolla-stable-based OpenStack cross-version upgrading method
JP2018195046A (en) Program updating device, program updating method, program updating program and program updating system
US11435995B2 (en) Composite content views
US9430209B2 (en) Processing framework for generating pre-configuration packages
TW201828078A (en) Application deployment method and apparatus realizing flexibility and dynamic customizability of the application deployment
US20230259345A1 (en) Declarative deployment of a software artifact
JP2022132046A (en) Synchronization control device, synchronization control method, and synchronization control program
CN115756554B (en) Version upgrading method and device

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40032843

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200707