WO2019061983A1 - 区块链数据上传方法、系统、计算机系统及存储介质 - Google Patents

区块链数据上传方法、系统、计算机系统及存储介质 Download PDF

Info

Publication number
WO2019061983A1
WO2019061983A1 PCT/CN2018/075497 CN2018075497W WO2019061983A1 WO 2019061983 A1 WO2019061983 A1 WO 2019061983A1 CN 2018075497 W CN2018075497 W CN 2018075497W WO 2019061983 A1 WO2019061983 A1 WO 2019061983A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
data
key
sub
organization
Prior art date
Application number
PCT/CN2018/075497
Other languages
English (en)
French (fr)
Other versions
WO2019061983A8 (zh
Inventor
宦鹏飞
陆陈一帆
张宇
谢丹力
Original Assignee
深圳壹账通智能科技有限公司
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 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Priority to SG11201809978SA priority Critical patent/SG11201809978SA/en
Priority to EP18804502.5A priority patent/EP3496370B1/en
Priority to US16/099,437 priority patent/US11146384B2/en
Publication of WO2019061983A1 publication Critical patent/WO2019061983A1/zh
Publication of WO2019061983A8 publication Critical patent/WO2019061983A8/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Definitions

  • the present application relates to a blockchain data uploading method, system, computer system and storage medium.
  • the primary organization that is, the primary organization's upload and authorization read data can be provided.
  • the bank only allows the head office to transfer data to the blockchain, and does not allow branches to transfer data directly to the blockchain.
  • the data of the branches needs to be summarized to the head office, and then the head office uploads the data to the blockchain through the secondary nodes corresponding to the head office. This causes all the data to be aggregated to the head office, and the pressure on the head office to upload data is greater.
  • a blockchain data uploading method system, computer system, and storage medium are provided.
  • a blockchain data uploading method includes:
  • the child institution node group receives the data upload request sent by the child institution
  • the sub-institution node group searches for a node in the idle state in the sub-institution node group according to the data upload request;
  • the main organization node of the main organization corresponding to the sub-organization After downloading the data uploaded by the sub-organization from the temporary storage area, the main organization node of the main organization corresponding to the sub-organization uploads the downloaded data to the blockchain data storage area.
  • a blockchain data uploading system comprising:
  • a sub-institution node group configured to receive a data upload request sent by the sub-organization; search for a node in the idle state node group according to the data upload request; and receive the sub-institution by the node in the idle state Uploaded data and uploads the received data to the blockchain temporary storage area;
  • the primary organization node of the primary organization corresponding to the sub-organization is configured to upload the downloaded data to the blockchain data storage area after downloading the data uploaded by the sub-organization from the temporary storage area.
  • a computer system comprising a sub-system node group and a main mechanism node of a main organization corresponding to the sub-organization;
  • the sub-institution node group includes a plurality of nodes, the plurality of nodes including a first memory and one or more first processors, wherein the first memory stores computer readable instructions, and the computer readable instructions are When the one or more first processors are executed, causing the one or more first processors to perform the steps of: receiving a data upload request sent by the sub-organization; and searching for the sub-institution node group according to the data upload request a node in an idle state; receiving, by the node in the idle state, data uploaded by the child institution, and uploading the received data to a temporary storage area of the blockchain;
  • the primary mechanism node of the primary mechanism corresponding to the child institution includes a second memory and one or more second processors, wherein the second memory stores computer readable instructions, the computer readable instructions being the one or more When the second processor executes, the one or more second processors perform the following steps: after downloading the data uploaded by the sub-organization from the temporary storage area, uploading the downloaded data to the blockchain data Storage area.
  • One or more non-transitory computer readable storage media storing computer readable instructions, when executed by one or more first processors, causing said one or more first processors Performing the following steps: receiving a data upload request sent by the sub-organization; searching for a node in the idle state node group according to the data upload request; and receiving, by the node in the idle state, the data uploaded by the sub-organization And uploading the received data to the blockchain temporary storage area;
  • the computer readable instructions are executed by one or more second processors, causing the one or more second processors to perform the following steps: after downloading the data uploaded by the sub-organization from the temporary storage area, The downloaded data is uploaded to the blockchain data storage area.
  • FIG. 1 is an application environment diagram of a blockchain data uploading method in accordance with one or more embodiments.
  • FIG. 2 is a flow diagram of a blockchain data uploading method in accordance with one or more embodiments.
  • FIG. 3 is a flow diagram of a data encryption step in accordance with one or more embodiments.
  • Figure 4 is a flow chart of step S208 in the embodiment shown in Figure 2.
  • FIG. 5 is a schematic diagram of a computer system in accordance with one or more embodiments.
  • FIG. 1 is an application environment diagram of a blockchain data uploading method in an embodiment, showing a sub-mechanism, a sub-institution node group corresponding to a sub-organization, a main organization, a main-institution node corresponding to the main organization, and Blockchain.
  • the blockchain is divided into a blockchain temporary storage area and a blockchain data storage area, and the blockchain temporary storage area is used for storing data uploaded by the sub-organization through the node group, and the blockchain data storage area is used for storing the passing node.
  • the uploaded data includes the data that the primary organization node downloads from the blockchain temporary storage area and then uploads to the blockchain data storage area, and the data uploaded by the primary organization through the primary organization node.
  • the main organization is the main organization of the company and other organizations
  • the sub-organization is a branch of the company and other organizations.
  • the bank's total behavioral main body then the branch is the sub-institution.
  • the head office of the company is the main organization, and the branch or subsidiary is the subsidiary organization.
  • the data of the sub-institutions can be uploaded to the blockchain temporary storage area through the sub-institution node group, and no longer need to manually collect the data into the main organization, the main organization uploads to the blockchain through the main organization node, which can reduce the main Institutional pressure, as well as offline manual operations, improve the efficiency of data uploading to the blockchain.
  • the sub-institution node group includes a plurality of servers, which may be distributed deployment or centralized deployment, through which the data of the sub-organizations can be uploaded, and the main organization node is a server, and the main organization node, the main organization Data can be uploaded to the blockchain data store.
  • a blockchain data uploading method is provided, and the method specifically includes the following steps:
  • S202 The sub-institution node group receives the data upload request sent by the sub-organization.
  • the sub-institution generates various data in the course of operation and needs to be uploaded to the blockchain to facilitate unified management of the data.
  • a sub-institution can periodically upload data to a blockchain, such as uploading data to the blockchain daily, weekly, or monthly.
  • the sub-organization can quantitatively upload data to the blockchain according to the amount of data. For example, when the amount of data reaches a preset number of bars, for example, one thousand, two thousand, five hundred, etc., the data is uploaded to the blockchain.
  • the sub-institution uploads the data, it first sends a data upload request to the sub-institution node group, so that the sub-institution node group allocates the corresponding node for the sub-organization to complete the data upload.
  • the sub-institution node group searches for a node in the idle state node group according to the data upload request.
  • the sub-institution node group queries the node in the idle state node group.
  • a node may be preset in the node group, and configured to allocate a node for the current data upload of the child institution according to the state of each node in the node group of the child institution and the data upload request.
  • a node in an idle state refers to a node that is not currently uploading data.
  • the sub-institution node group receives the data uploaded by the sub-organization through the node in the idle state, and uploads the received data to the blockchain temporary storage area.
  • the node uploaded in the idle state receives the data uploaded by the sub-organization.
  • the sub-institution can pre-agreed the data encryption manner with the sub-institution node group, and the sub-institution can encrypt the data before uploading the data.
  • the sub-institution can The decryption method corresponding to the pre-agreed encryption method is decrypted to obtain the plaintext of the data uploaded by the sub-organization, and then the plaintext is uploaded to the temporary storage area of the blockchain.
  • the sub-institution node group uploads the data uploaded by the sub-institution to the blockchain temporary storage area, so that the main institution node of the main organization corresponding to the sub-organization can
  • the temporary storage area acquires the data and uploads it to the blockchain data storage area to complete the uploading of the data of the sub-organization.
  • the above blockchain data uploading method receives the data uploaded by the sub-organization through the nodes in the deployed node group, and stores the data uploaded by the sub-organization in the temporary storage area of the blockchain, so as to facilitate the main organization corresponding to the sub-organization
  • the main organization node can upload the data stored in the temporary storage area to the blockchain data storage area, complete the data uploading, and do not need to manually summarize the data to the main organization, thereby reducing the pressure on the main organization.
  • the sub-institution node group searches for a node in the idle state node group according to the data upload request, and the sub-institution node group searches for the normal working state in the sub-institution node group according to the data upload request.
  • the node node group traverses the found node in the normal working state according to a preset order; if the currently traversed node in the normal working state is uploading data, the child institution node group continues to traverse the next step in a preset order.
  • a node in a normal working state acquires a node in an idle state until the traversed node in a normal working state is in an idle state.
  • the node in the idle state may be acquired according to the load balancing algorithm, and the load balancing algorithm may be a sequential round robin polling algorithm.
  • the node in the node group of the child institution determines whether the node is in a normal working state according to its own state setting weight. For example, when the node is powered on, the weight is not 0, indicating that the node is in a normal working state, and notifying the allocation in the node group.
  • the weight when the node is shut down, the weight is set to 0, indicating that the node is not in the normal working state, and notifying the distribution node in the node group; or setting the weight of the node according to the type of the node, for example, the weight of the distribution node is always 0, indicating that it does not participate in the direct upload of the sub-institution data, and other nodes in the node group set their own weights according to whether they are shut down; or they can set the nodes in the node group according to whether the nodes in the node group are faulty.
  • the weight for example, the node in the node group can detect whether each hardware and software is running normally to determine whether the node in the node group is faulty.
  • the weight can be set according to whether it is turned off. For example, when the weight of the node in the node group is 0, it indicates that the node in the node group is unavailable or not, that is, the node in the node group is not in the normal working state, and the weight of the node in the node group is not When it is 0, it means that the nodes in the node group are in normal working state and can be used or scheduled. In this way, the faulty node in the node group or the node of the maintenance system can be cut out from the service according to the weight of the node in the node group.
  • the order of the nodes may be preset. If there are four nodes in the node group, node A, node B, node C, and node D, the four nodes may be first sorted into node A, node B, node C, and node D. Then, the node A, the node B, the node C, and the node D are sequentially traversed in this order. If the node A is not in an idle state, that is, the node A is uploading data, it is necessary to continue to traverse the node B.
  • the node B When the node B is in an idle state, Then, the node B receives the data uploaded by the sub-organization directly, and uploads the data uploaded by the sub-organization to the temporary storage area of the blockchain. Or, if the node B is faulty, the distribution node directly traverses the node A, the node C, and the node D in the original order until the traversed node is in an idle state, and receives the data uploaded by the child institution through the node in the idle state, and the The data uploaded by the sub-organization is uploaded to the blockchain temporary storage area.
  • the node in the node group that is in the idle state is obtained according to the upload request, so that the sub-institution uploading data can be performed in time, and multiple nodes are involved in the node group.
  • the data uploading center will not be formed, the data uploading will be dispersed, and the fluency of data uploading will be improved.
  • the sub-institution node group before the step of uploading the received data to the blockchain temporary storage area, encrypts the data uploaded by the sub-organization by using the first key, and the first key is based on The first key key provided by the primary organization node is generated.
  • the sub-institution node group may pre-agreed the key calculation manner with the main organization node, so that the key of the main-institution node and the sub-institution node group is corresponding, that is, the main-institution node provides the first key key for the sub-institution node group.
  • the child institution node group provides the second key key to the primary organization node, so that the primary organization node generates the second key according to the second key key, and the child institution node group generates the first key according to the first key key Therefore, after the data uploaded by the sub-organization of the sub-institution node group through the first key encryption is downloaded by the main organization node, the main organization node can decrypt the downloaded encrypted data through the second key to obtain the data plaintext.
  • the data is encrypted and transmitted to the blockchain data storage area.
  • the child institution node group and the master institution node calculate and obtain the corresponding key, that is, the child institution node group calculates the first key, and the master institution node calculates the key corresponding to the first key, so that After the data uploaded by the sub-organization node group encrypted by the first key encryption is downloaded by the main organization node, the main organization node can decrypt the downloaded encrypted data to obtain the data plaintext, and encrypt the data after the plaintext is encrypted. Transfer to the blockchain data storage area, making data more secure during transmission.
  • FIG. 3 is a flowchart of a first key generation step of data according to one or more embodiments.
  • the first key generation step may be performed before step S208 in the embodiment shown in FIG.
  • the first key generation step is first performed, and after the first key is acquired by the first key generation step, the data is obtained by using the first key. Encrypt.
  • the first key generation step may include:
  • the child institution node group sends a key calculation request to the master institution node of the master institution corresponding to the child institution.
  • the selected idle node or the distribution node may generate the first random number m, and then generate according to the first random number m.
  • the first key calculation request is sent to the primary organization node to calculate a key based on the key exchange protocol with the primary organization node, and the key exchange protocol may be a shared curve parameter, and the shared curve parameter may include an elliptic curve, a step And the base point.
  • the sharing curve of each sub-mechanism and the main mechanism is different.
  • the main mechanism A is provided with the sub-organization A1, the sub-mechanism A2, and the sub-mechanism A3, and under the main mechanism B, there are only the sub-organization B1, the sub-organization B2, and the sub-organization B3, the first sharing curve parameter may be set between the main mechanism A and the sub-mechanism A1, and the second sharing curve parameter may be set between the main mechanism A and the sub-mechanism A2, and the main mechanism A and the sub-mechanism A3 may be set.
  • a third shared curve parameter There is a third shared curve parameter, a fourth shared curve parameter can be set between the main mechanism B and the sub-structure B1, and a fifth shared curve parameter can be set between the main mechanism B and the sub-structure B2, and the main mechanism B and the sub-organization B3
  • a sixth sharing curve parameter so that the sharing curve parameters between each sub-mechanism and the main mechanism are different, and the sharing curve parameter may be pre-stored in the sub-institution node group and the security hardware in the main mechanism node, Prevent being misappropriated by lawless elements.
  • the identifier is obtained by the main organization corresponding to the sub-organization, for example, the main organization corresponding to the sub-organization can be obtained by querying the correspondence table between the sub-organization and the main organization stored in the node group, and the second key is
  • the code M is sent to the master node of the master institution corresponding to the child institution.
  • the sub-institution node group receives the first key key generated by the primary organization node according to the key calculation request according to the pre-agreed base point.
  • the preset shared curve parameter that is, the base point G
  • the second random number n is generated, and according to the second random number and the base point.
  • the child institution node group generates the first key by using the first random number and the first key key.
  • the sub-institution node group receives the first key key N generated by the main mechanism node
  • the first key and the second key do not require the master node and the child mechanism.
  • the same key can be calculated if the node group shares any secrets.
  • the transmission of M can be made public. Even if the attacker acquires M, since the discrete problem of the elliptic curve is a logarithm problem, the logarithm problem is a difficult problem and is generally not easy to be cracked, so the attacker cannot calculate according to M and G.
  • the data uploaded by the child institution is encrypted by the first key and uploaded to the temporary storage area of the blockchain, so that the primary organization node can download from the temporary storage area of the blockchain.
  • the encrypted data is then decrypted according to the calculated second key and uploaded to the blockchain data storage area.
  • a common key can be calculated, and the data is uploaded to the block chain temporary storage area by the key, and the data can be guaranteed. Security during the upload process, and only the master node that knows the key can download and use the data, preventing other criminals from using the data.
  • FIG. 4 is a flowchart of step S208 of the embodiment shown in FIG. 2, that is, the main mechanism node of the main mechanism corresponding to the sub-organization downloads the sub-memory from the temporary storage area.
  • the step of uploading the downloaded data to the blockchain data storage area may include:
  • the main mechanism node of the main mechanism corresponding to the sub-organization detects whether the block chain temporary storage area has new data uploaded by the sub-organization through the node group.
  • the sub-institution can upload data to the temporary storage area of the blockchain through the sub-node node group, and then the main organization node can periodically detect whether there is new data in the temporary storage area of the blockchain, and when there is new data, Part of the newly added data is uploaded to the blockchain data storage area, so that other users can obtain the data according to the authority, and realize the function of blockchain data sharing.
  • the main organization node downloads the newly added data from the temporary storage area of the blockchain to the main organization node, and then The part of the data is uploaded to the blockchain data storage area. Since the part of the data has been uploaded through the blockchain, the speed will be more rapid when the second upload is performed.
  • the blockchain temporary storage area may indicate whether there is new data in the temporary storage area of the blockchain by setting a flag bit, for example, whenever the data in the temporary storage area of the blockchain changes, the flag is reset. Therefore, the master node can determine whether there is new data in the temporary storage area of the block chain according to the flag bit of the temporary storage area of the blockchain, and if so, download the new data to the primary node.
  • S406 The primary organization node uploads the newly added data to the blockchain data storage area.
  • the data may be encrypted according to an encryption and decryption manner agreed with the blockchain data storage area, for example, the newly added data is encrypted and then transmitted to the block.
  • Chain data storage area so that when other users need to use the data, they can decrypt according to the decryption method agreed with the blockchain, so as to process the data.
  • the primary organization's data may be encrypted and sent to the primary organization node based on the agreed encryption relationship between the primary organization and the node, and then the primary organization node decrypts the plaintext, and then according to the blockchain.
  • the agreed encryption method is encrypted and uploaded to the blockchain data storage area to upload the main organization data.
  • the data uploaded by the sub-organization is received by the node in the deployed node group, and the data uploaded by the sub-organization is stored in the temporary storage area of the blockchain, so as to facilitate the main organization node of the main organization corresponding to the sub-organization.
  • the data stored in the temporary storage area can be uploaded to the blockchain data storage area to complete the uploading of the data, and the main mechanism that does not need to manually collect all the data is reduced, and the pressure of the main mechanism is reduced, and the main organization node only detects
  • the data is downloaded from the temporary storage area and uploaded to the blockchain data storage area, without having to delete all the data in the blockchain temporary storage area each time. Download to the main organization node, reducing the amount of data transferred.
  • the primary organization node decrypts the newly added data by using the second key, where the second key is Generated according to the second key key provided by the sub-institution node group.
  • the sub-institution node group may pre-agreed the key calculation manner with the main organization node, so that the key of the main-institution node and the sub-institution node group is corresponding, that is, the main-institution node provides the first key key for the sub-institution node group.
  • the child institution node group provides the second key key to the primary organization node, so that the primary organization node generates the second key according to the second key key, and the child institution node group generates the first key according to the first key key Therefore, the first key corresponds to the second key, so that when the data uploaded by the child institution node group through the first key encrypted sub-organization is downloaded by the primary organization node, the primary organization node can perform the second key pair according to the second key pair.
  • the downloaded encrypted data is decrypted to obtain data plaintext, and the data is encrypted and transmitted to the blockchain data storage area.
  • the child institution node group calculates the first key
  • the master node calculates the second key
  • the first key corresponds to the second key
  • the main organization node can decrypt the downloaded encrypted data through the second key to obtain the data plaintext, and encrypt the data and transmit the data to the blockchain data.
  • the storage area makes the data more secure during transmission.
  • the method may further include a second key generation step, the second key generation step may include: the primary organization node receives a key calculation request sent by the child institution node group, and the key calculation request Carrying a second key key generated by the child institution node group according to the pre-agreed base point; the primary mechanism node generates a second random number; the primary organization node generates the second key according to the second key key and the second random number . Therefore, before the step of uploading the newly added data to the blockchain data storage area by the primary organization node, the method may further include decrypting the newly added data by using the second key pair.
  • the sharing mechanism parameter is stored in the sub-system node group and each main organization node.
  • the first sharing mechanism parameter is stored in the first main mechanism node
  • the second sharing curve parameter is stored in the second main mechanism node. All the shared curve parameters are stored in the mechanism node group, and each shared curve parameter includes an elliptic curve E, a step N, and a base point G.
  • a common key can be calculated, and the data is uploaded to the block chain temporary storage area by the key, so that the data can be guaranteed. Security during the upload process, and only the master node that knows the key can download and use the data, preventing other criminals from using the data.
  • FIGS. 2 through 4 are sequentially displayed as indicated by the arrows, these steps are not necessarily performed in the order indicated by the arrows. Except as explicitly stated herein, the execution of these steps is not strictly limited, and the steps may be performed in other orders. Moreover, at least some of the steps in FIGS. 2 to 4 may include a plurality of sub-steps or stages, which are not necessarily performed at the same time, but may be performed at different times, or The order of execution of the stages is also not necessarily sequential, but may be performed alternately or alternately with at least a portion of the sub-steps or stages of other steps or other steps.
  • the blockchain data uploading system includes a child institution node group and a master institution node, wherein the master institution node group is configured to receive a data upload request sent by the child institution; and search according to the data upload request.
  • a node in the idle node group that is in an idle state; receives the data uploaded by the child institution through the node in the idle state, and uploads the received data to the blockchain temporary storage area.
  • the main organization node of the main organization corresponding to the sub-organization is configured to upload the downloaded data to the blockchain data storage area after downloading the data uploaded by the sub-organization from the temporary storage area.
  • the step of the sub-institution node group searching for the node in the idle state in the sub-institution node group according to the data upload request comprises: the sub-institution node group searching for the normal working in the sub-institution node group according to the data upload request.
  • the node of the state; the node group of the child traverses the node in the normal working state according to the preset order; if the node that is currently traversed in the normal working state is uploading data, the node group of the child continues to traverse in a preset order.
  • a node in a normal working state acquires a node in an idle state until the traversed node in a normal working state is in an idle state.
  • the child institution node group is further configured to encrypt data uploaded by the child institution by using the first key, before the step of uploading the received data to the blockchain temporary storage area, the first key It is generated based on the key provided by the primary organization node.
  • the sub-institution node group is further configured to generate a first random number; send a key calculation request to a primary organization node of the primary organization corresponding to the sub-organization; and receive the primary organization node to calculate a request according to the key
  • the first key key generated according to the pre-agreed base point; the child institution node group generates the first key by using the first random number and the first key key.
  • the primary organization node of the primary organization corresponding to the sub-mechanism is further configured to detect whether the blockchain temporary storage area has new data uploaded by the sub-organization node group; when the blockchain temporary storage area is newly added In the case of data, the primary node downloads the new data from the blockchain temporary storage area; the primary node uploads the new data to the blockchain data storage area.
  • the primary organization node is further configured to decrypt the newly added data by using the second key before uploading the newly added data to the blockchain data storage area, where the second key is based on the sub-organization The second key key provided by the node group is generated.
  • the primary organization node is further configured to receive a key calculation request sent by the node group, where the key calculation request carries the second key key generated by the child institution node group according to the pre-agreed base point; The node generates a second random number; the primary mechanism node generates a second key according to the second key key and the second random number.
  • the various modules in the blockchain data uploading system described above may be implemented in whole or in part by software, hardware, and combinations thereof. Each of the above modules may be embedded in or independent of the processor in the computer device, or may be stored in a memory in the computer device in a software form, so that the processor invokes the operations corresponding to the above modules.
  • the embodiment of the present application provides a computer system including a series of computer readable instructions stored in a memory.
  • the blockchain proposed by the various embodiments of the present application may be implemented.
  • the data upload method in some embodiments, is based on a particular operation implemented by portions of the computer readable instructions.
  • a computer system is provided.
  • the computer system includes a sub-system node group and a main mechanism node of a main mechanism corresponding to the sub-mechanism, and an internal structure thereof may correspond to the structure shown in FIG.
  • the sub-system node group a plurality of nodes, where the plurality of nodes may be a server, the plurality of nodes respectively including a first memory connected by a system bus, a first processor, a first operating system, a first network interface, and a first database, where The first processor of the node is used to provide computational and control capabilities.
  • the first memory includes a non-transitory computer readable instruction storage medium, an internal memory.
  • the non-transitory computer readable instruction storage medium stores an operating system, computer readable instructions, and a database.
  • the internal memory provides an environment for the operation of an operating system and computer readable instructions in a non-transitory computer readable instruction storage medium.
  • the first network interface is configured to communicate with an external terminal through a network connection. .
  • the primary organization node may be a server, the primary organization node including a second memory connected by a system bus, a second processor, a second operating system, a second network interface, and a second database, the second processor of the primary mechanism node Provides computing and control capabilities.
  • the second memory includes a non-transitory computer readable instruction storage medium, an internal memory.
  • the non-transitory computer readable instruction storage medium stores an operating system, computer readable instructions, and a database.
  • the internal memory provides an environment for the operation of an operating system and computer readable instructions in a non-transitory computer readable instruction storage medium.
  • the second network interface is configured to communicate with an external terminal through a network connection.
  • the above computer readable instructions are executed by the first processor or the second processor to implement a blockchain data uploading method.
  • FIG. 5 is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation of the computer system to which the solution of the present application is applied, and the specific computer system. More or fewer components than those shown in the figures may be included, or some components may be combined, or have different component arrangements.
  • a computer system comprising a memory and one or more processors having stored therein computer readable instructions, the computer readable instructions being executed by a first processor such that the one or more first processors perform the steps of: receiving a data upload request sent by the child institution; searching for a node in the idle state node group according to the data upload request; receiving the data uploaded by the child institution through the node in the idle state, and uploading the received data to the blockchain temporary Storage area.
  • the computer readable instructions are executed by the second processor, causing the one or more second processors to perform the following steps: after downloading the data uploaded by the sub-organization from the temporary storage area, uploading the downloaded data to the blockchain data storage area .
  • the step of searching for a node in the idle state node group according to the data upload request implemented by the first processor when executing the computer readable instruction comprises: searching for the child institution node group according to the data upload request The node in the normal working state; traverses the found node in the normal working state according to the preset order; if the currently traversed node in the normal working state is uploading data, it continues to traverse in the preset order and is in the normal state. The node in the working state acquires the node in the idle state until the traversed node in the normal working state is in the idle state.
  • the method before the step of uploading the received data to the blockchain temporary storage area by the first processor when executing the computer readable instruction, the method further includes: uploading the sub-institution by the first key pair The data is encrypted and the first key is generated based on the key provided by the primary organization node.
  • the first processor when executing the computer readable instructions, is further configured to: generate a first random number; send a key calculation request to a primary organization node of the primary organization corresponding to the child institution Receiving, by the primary organization node, the first key key generated according to the pre-agreed base point according to the key calculation request; generating the first key by using the first random number and the first key key.
  • the second processor uploads the downloaded data to the blockchain data storage after downloading the data uploaded by the sub-institution from the temporary storage area when executing the computer readable instructions.
  • the step of the area includes: detecting whether there is new data uploaded by the sub-organization node group in the temporary storage area of the block chain; when there is new data in the temporary storage area of the block chain, downloading new data from the temporary storage area of the block chain ; Upload new data to the blockchain data storage area.
  • the method before the step of uploading the newly added data to the blockchain data storage area by the second processor when executing the computer readable instruction, the method further includes: adding data by using the second key pair Decryption is performed, and the second key is generated according to the second key key provided by the sub-institution node group.
  • the second processor when executing the computer readable instructions, further implements the steps of: receiving a key calculation request sent by the node group, wherein the key calculation request carries a sub-organization node group according to a pre-agreed a second key key generated by the base point; generating a second random number; generating a second key according to the second key key and the second random number.
  • One or more non-volatile storage media storing computer readable instructions, when executed by one or more first processors, cause one or more first processors to perform the following steps: receiving a sub a data upload request sent by the organization; searching for a node in the idle state node group according to the data upload request; receiving the data uploaded by the child institution through the node in the idle state, and uploading the received data to the temporary storage of the blockchain Area.
  • the computer readable instructions are executed by the one or more second processors, causing the one or more second processors to perform the steps of: uploading the downloaded data to the block after downloading the data uploaded by the sub-organization from the temporary storage area Chain data storage area.
  • the computer readable instructions when executed by the one or more first processors, implement the step of finding a node in the idle state node group according to the data upload request, including: searching for the child according to the data upload request a node in a normal working state in the node group; traversing the found node in a normal working state according to a preset order; if the currently traversed node in the normal working state is uploading data, continuing to traverse in a preset order A node in a normal working state acquires a node in an idle state until the traversed node in a normal working state is in an idle state.
  • the method before the step of uploading the received data to the blockchain temporary storage area by the one or more first processors, the method further comprises: passing the first key pair The data uploaded by the child institution is encrypted, and the first key is generated according to the key code provided by the primary organization node.
  • the implementation when the computer readable instructions are executed by the one or more first processors, the implementation is further implemented to: generate a first random number; send a secret to a primary organization node of the primary organization corresponding to the child institution a key calculation request; the receiving primary organization node calculates a first key key generated according to a pre-agreed base point according to the key calculation; and generates a first key by using the first random number and the first key key.
  • the computer readable instructions when executed by one or more second processors, download the uploaded data from the temporary storage area and upload the downloaded data to the blockchain.
  • the step of the data storage area includes: detecting whether there is new data uploaded by the sub-organization node group in the temporary storage area of the blockchain; when there is new data in the temporary storage area of the blockchain, downloading new data from the temporary storage area of the blockchain Increase data; upload new data to the blockchain data storage area.
  • the method before the step of uploading the newly added data to the blockchain data storage area by the one or more second processors, the method further comprises: The data is decrypted, and the second key is generated according to the second key key provided by the sub-institution node group.
  • the implementation when the computer readable instructions are executed by the one or more second processors, the implementation further comprises the steps of: receiving a key calculation request sent by the node group, the key calculation request carrying the child institution node Generating a second key key according to a pre-agreed base point; generating a second random number; generating a second key according to the second key key and the second random number.
  • Non-volatile memory can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory.
  • Volatile memory can include random access memory (RAM) or external cache memory.
  • RAM is available in a variety of formats, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronization chain.
  • SRAM static RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDRSDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • Synchlink DRAM SLDRAM
  • Memory Bus Radbus
  • RDRAM Direct RAM
  • DRAM Direct Memory Bus Dynamic RAM
  • RDRAM Memory Bus Dynamic RAM

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种区块链数据上传方法,包括:子机构节点群接收子机构发送的数据上传请求;根据数据上传请求获取处于空闲状态的节点;通过处于空闲状态的节点接收子机构上传的数据,将所接收的数据上传至区块链临时存储区;与子机构对应的主机构节点从临时存储区下载子机构上传的数据后,将所下载的数据上传至区块链数据存储区。

Description

区块链数据上传方法、系统、计算机系统及存储介质
相关申请的交叉引用
本申请要求于2017年9月30日提交中国专利局,申请号为2017109173300,申请名称为“区块链数据上传方法、系统、计算机系统及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及一种区块链数据上传方法、系统、计算机系统及存储介质。
背景技术
在区块链数据权限分项系统中,只能提供到一级机构,即主机构的上传和授权读取数据。例如银行只允许总行向区块链中传输数据,不允许分行直接向区块链传输数据。传统技术中分行的数据需要先汇总到总行,然后总行通过总行所对应的二级节点将数据上传至区块链。这样导致所有的数据都汇总到总行,总行上传数据的压力较大。
发明内容
根据本申请公开的各种实施例,提供一种区块链数据上传方法、系统、计算机系统及存储介质。
一种区块链数据上传方法,包括:
子机构节点群接收子机构发送的数据上传请求;
所述子机构节点群根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;
所述子机构节点群通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;及
与所述子机构对应的主机构的主机构节点从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
一种区块链数据上传系统,包括:
子机构节点群,用于接收子机构发送的数据上传请求;根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;及
与所述子机构对应的主机构的主机构节点,用于从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
一种计算机系统,包括子机构节点群和与子机构对应的主机构的主机构节点;
所述子机构节点群包括多个节点,所述多个节点包括第一存储器以及一个或多个第一处理器,所述第一存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个第一处理器执行时,使得所述一个或多个第一处理器执行以下步骤:接收子机构发送的数据上传请求;根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;及
与子机构对应的主机构的主机构节点包括第二存储器以及一个或多个第二处理器,所述第二存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个第二处理器执行时,使得所述一个或多个第二处理器执行以下步骤:从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,所述计算机可读指令被一个或多个第一处理器执行时,使得所述一个或多个第一处理器执行以下步骤:接收子机构发送的数据上传请求;根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;
所述计算机可读指令被一个或多个第二处理器执行时,使得所述一个或多个第二处理器执行以下步骤:从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
本申请的一个或多个实施例的细节在下面的附图和描述中提出。本申请的其它特征和优点将从说明书、附图以及权利要求书变得明显。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为根据一个或多个实施例中区块链数据上传方法的应用环境图。
图2为根据一个或多个实施例中区块链数据上传方法的流程图。
图3为根据一个或多个实施例中数据加密步骤的流程图。
图4为图2所示实施例中的步骤S208的流程图。
图5为根据一个或多个实施例中计算机系统的示意图。
具体实施方式
为了使本申请技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本申请,并不用于限定本申请。
参阅图1,图1为一实施例中区块链数据上传方法的应用环境图,示出了子机构、与子机构对应的子机构节点群、主机构、与主机构对应的主机构节点以及区块链。其中区块链被划分为区块链临时存储区和区块链数据存储区,区块链临时存储区用于存储子机构通过节点群上传的数据,区块链数据存储区用于存储通过节点上传的数据,包括主机构节点从区块链临时存储区下载后再上传至区块链数据存储区的数据,以及主机构通过主机构节点上传的数据。
具体地,主机构为公司等组织的主机构,子机构为公司等组织的分支机构。例如银行的总行为主机构,则分行即为子机构。公司的总公司为主机构,则分公司或子公司为子机构等。其中子机构的数据可以通过子机构节点群上传至区块链临时存储区,而不再需要人工将数据汇集到主机构后,由主机构通过主机构节点上传至区块链,这样可以减少主机构的压力,以及线下人工的操作,提高数据上传至区块链的效率。
子机构节点群包括若干个服务器,该若干个服务器可以是分布式部署或集中部署,通过该若干服务器可以实现子机构的数据上传,主机构节点即为一服务器,通过该主机构节点,主机构可以将数据上传至区块链数据存储区。
在其中一个实施例中,如图2所示,提供一种区块链数据上传方法,该方法具体包括如下步骤:
S202:子机构节点群接收子机构发送的数据上传请求。
具体地,子机构在经营过程中会产生各种数据,需要上传至区块链,以便于对数据进行统一的管理。例如子机构可以定时向区块链上传数据,例如每天、每周或每月向区块链上传一次数据。或者子机构可以根据数据量定量向区块链上传数据,例如当数据量达到预设数量条时,例如一千条、两千条、五百条等,则向区块链上传数据。子机构在上传数据时,首先向子机构节点群发送数据上传请求,以便于子机构节点群为该子机构分配相应的节点完成数据上传。
S204:子机构节点群根据数据上传请求查找子机构节点群中的处于空闲状态的节点。
具体地,子机构节点群接收到该数据上传请求后,查询子机构节点群中处于空闲状态的节点。其中节点群中可以预设一分配节点,用于根据子机构节点群中各个节点的状态以及数据上传请求,为子机构本次数据上传分配节点。空闲状态的节点是指当前未进行数据上传的节点。
S206:子机构节点群通过处于空闲状态的节点接收子机构上传的数据,并将所接收的数据上传至区块链临时存储区。
具体地,子机构节点群获取到处于空闲状态的节点后,则通过该处于空闲状态的节点接收子机构上传的数据。其中子机构可以与子机构节点群预先约定数据加密的方式,子机构在上传数据之前可以对数据进行加密,当子机构节点群中处于空闲状态的节点接收到该加密的数据时,则可以根据与预先约定的加密方式对应的解密方式进行解密,以获取子机构上传的数据的明文,然后将该明文上传至区块链临时存储区。
S208:与子机构对应的主机构的主机构节点从临时存储区下载子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
具体地,子机构将数据上传到子机构节点群后,子机构节点群将该子机构上传的数据再上传到区块链临时存储区,这样与子机构对应的主机构的主机构节点可以从该临时存储区获取到数据,并上传至区块链数据存储区,以完成子机构的数据的上传。
上述的区块链数据上传方法,通过所部署节点群中的节点来接收子机构上传的数据,并将子机构上传的数据存储在区块链临时存储区,以便于与子机构对应的主机构的主机构节点可以将存储在临时存储区中的数据上传至区块链数据存储区,完成数据的上传,不需要人工将数据全部汇总的主机构,减少了主机构的压力。
在其中一个实施例中,子机构节点群根据数据上传请求查找子机构节点群中的处于空闲状态的节点的步骤,包括子机构节点群根据数据上传请求查找子机构节点群中的处于正常工作状态的节点;子机构节点群按照预设顺序遍历所查找的处于正常工作状态的节点;若当前所遍历的处于正常工作状态的节点正在数据上传,则子机构节点群按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
具体地,当子机构节点群接收到子机构的数据上传请求时,可以根据负载均衡算法获取到处于空闲状态的节点,该负载均衡算法可以是依序round robin轮询算法。子机构节点群中的节点根据自身的状态设置权值来判断节点是否处于正常工作状态,例如当节点开机时,则权值不为0,表示节点处于正常工作状态,并通知节点群中的分配节点;当节点关机时,则权值置0,表示节点未处于正常工作状态,并通知节点群中的分配节点;或者根据节点的种类来设置节点的权值,例如分配节点其权值一直为0,表示其不参与子机构数据的直接上传,而节点群中的其他节点则根据是否关机来设置自身的权值;再或者可以根据节点群中的节点是否故障来设置节点群中的节点的权值,例如节点群中的节点可以检测各个硬件和软件是否正常运行来判断节点群中的节点自身是否故障,若节点群中的节点故障则其权值置0,并通知分配节点,否则其权值可以根据是否关机来进行设置。例如当节点群中的节点的权值为0时,则表示节点群中的节点不可用也不可被调度,即节点群中的节点不处于正常工作状态,当节点群中的节点的权值不为0时,则表示节点群中的节点处于正常工作状态,可以被使用或被调度。这样可以首先根据节点群中的节点的权值来将节点群中的故障节点或维护系统的节点切出服务。
当获取到子机构节点群中处于正常工作状态的节点后,则需要遍历该正常工作状态的节点是否处于空闲状态。例如可以预先设置节点的顺序,假设节点群中存在节点A、节点B、节点C以及节点D四个节点,则可以首先将该四个节点进行排序为节点A、节点B、节点C以及节点D;然后按照该顺序依次遍历该节点A、节点B、节点C以及节点D,假设节点A不处于空闲状态,即节点A正在上传数据,则需要继续遍历节点B,当节点B处于空闲状态时,则直接通过节点B来接收子机构上传的数据,并将该子机构上传的数据 上传至区块链临时存储区。或者假设节点B故障,则分配节点直接按照原先顺序遍历节点A、节点C以及节点D,直至所遍历的节点处于空闲状态,则通过该处于空闲状态的节点接收子机构上传的数据,并将该子机构上传的数据上传至区块链临时存储区。
上述实施例中,当接收到子机构发送的数据上传请求后,根据该上传请求获取到节点群中处于空闲状态的节点,使得子机构上传数据可以及时地进行,且节点群中涉及多个节点,这样不会形成数据上传中心,使得数据上传分散进行,提高数据上传的流利性。
在其中一个实施例中,将所接收的数据上传至区块链临时存储区的步骤之前,还包括子机构节点群通过第一密钥对子机构上传的数据进行加密,第一密钥是根据所述主机构节点提供的第一密钥关键码所生成。例如子机构节点群可以预先与主机构节点约定密钥计算方式,以便于主机构节点和子机构节点群所计算的密钥相对应,即主机构节点为子机构节点群提供第一密钥关键码,子机构节点群为主机构节点提供第二密钥关键码,从而主机构节点根据第二密钥关键码生成第二密钥,子机构节点群根据第一密钥关键码生成第一密钥,这样当子机构节点群通过第一密钥加密的子机构上传的数据被主机构节点下载后,主机构节点才可以对所下载的加密的数据通过第二密钥进行解密以得到数据明文,并将该数据明文加密后传输至区块链数据存储区。
该实施例中,子机构节点群与主机构节点计算获得相对应的密钥,即子机构节点群计算得到第一密钥,主机构节点计算得到与第一密钥相对应的密钥,这样当子机构节点群通过第一密钥加密的子机构上传的数据被主机构节点下载后,主机构节点才可以对所下载的加密的数据进行解密以得到数据明文,并将该数据明文加密后传输至区块链数据存储区,使得数据在传输过程中更加安全。
参阅图3,图3为根据一个或多个实施例中数据第一密钥生成步骤的流程图,该第一密钥生成步骤可以是在图2所示实施例中的步骤S208之前进行,即在将子机构上传的数据上传至区块链临时存储区之前,首先进行该第一密钥生成步骤,通过该第一密钥生成步骤获取第一密钥后,通过该第一密钥对数据进行加密。该第一密钥生成步骤可以包括:
S302:子机构节点群生成第一随机数。
S304:子机构节点群向与子机构对应的主机构的主机构节点发送密钥计算请求。
具体地,在子机构节点群选取到处于空闲状态的节点接收子机构上传的数据时,该被选取的空闲的节点或者分配节点可以生成第一随机数m,然后根据该第一随机数m生成第一密钥计算请求并发送至主机构节点,以便于与主机构节点基于密钥交换协议计算密钥,该密钥交换协议可以是一共享曲线参数,该共享曲线参数可以包括椭圆曲线、阶以及基点。其中,每一子机构与主机构的共享曲线均不同,例如主机构A下设置有子机构A1、子机构A2以及子机构A3,主机构B下这只有子机构B1、子机构B2以及子机构B3,则主机构A与子机构A1之间可以设置有第一共享曲线参数,主机构A与子机构A2之间可以设置有第二共享曲线参数,主机构A与子机构A3之间可以设置有第三共享曲线参数,主机构B与子机构B1之间可以设置第四共享曲线参数,主机构B与子机构B2之间可以 设置有第五共享曲线参数,主机构B与子机构B3之间可以设置有第六共享曲线参数,从而各个子机构与主机构之间的共享曲线参数均不同,且该共享曲线参数可以预先存储在子机构节点群以及主机构节点中的安全硬件中,以防止被不法分子盗用。
被选取的空闲的节点或者分配节点可以根据第一随机数m以及基点G生成第二密钥关键码M=m×G,且根据子机构发送的数据上传请求获取子机构的标识,根据子机构的标识获取到与子机构对应的主机构,例如可以通过查询节点群中存储的子机构与主机构的对应关系表等方式获取到与子机构对应的主机构,并将该第二密钥关键码M发送至与子机构对应的主机构的主机构节点。
S306:子机构节点群接收主机构节点根据密钥计算请求按照预先约定的基点生成的第一密钥关键码。
具体地,当主机构节点获取到密钥计算请求后,首先根据子机构的标识获取到预设的共享曲线参数,即基点G,然后生成第二随机数n,并根据该第二随机数与基点G生成第一密钥关键码N=n×G,并将所生成的第一密钥关键码反馈至子机构节点群,以便于子机构节点群根据该第一密钥关键码生成相应的密钥,且主机构节点同时可以根据节点群发送的第二密钥关键码M生成对应的第二密钥,例如Q’=n×M。
S308:子机构节点群通过第一随机数以及第一密钥关键码生成第一密钥。
具体地,当子机构节点群接收到主机构节点生成的第一密钥关键码N后,则根据第一密钥关键码和第一随机数生成第一密钥,具体地Q=m×N。这样由于第二密钥Q’=n×M=n×m×G=m×n×G=m×N=Q,使得第一密钥和第二密钥在不需要主机构节点与子机构节点群共享任何秘密的情况下即可以计算出同一密钥。且M的传递是可以公开的,即使攻击者获取到M,由于椭圆曲线的离散问题是对数问题,该对数问题是难题,一般不易被破解,所以攻击者是无法根据M和G计算的到m,从而密钥可以是不需要主机构节点与子机构节点群共享任何秘密的情况下即可以计算出同一密钥,增加了保密性,且不会给主机构节点带来较大的计算量,以及泄露主机构节点中存在的数据。
具体地,在计算出第一密钥后,则对子机构上传的数据通过第一密钥进行加密后上传至区块链临时存储区,从而主机构节点可以从该区块链临时存储区下载已加密的数据,然后根据所计算的第二密钥对其进行解密后上传至区块链数据存储区。
上述实施例中,子机构节点群与主机构节点子无须共享任何秘密的情况下即可以计算出一共同的密钥,且通过该密钥将数据上传至区块链临时存储区,可以保证数据在上传过程中的安全性,且只有了解密钥的主机构节点才可以下载使用该数据,防止了其他不法分子获取数据后进行使用。
请参阅图4,在其中一个实施例中,图4为图2所示实施例的步骤S208的流程图,该步骤S208,即与子机构对应的主机构的主机构节点从临时存储区下载子机构上传的数据后,将所下载的数据上传至区块链数据存储区的步骤,可以包括:
S402:与所述子机构对应的主机构的主机构节点检测区块链临时存储区是否存在子机 构通过节点群上传的新增数据。
具体地,子机构可以通过子机构节点群上传数据至区块链临时存储区,然后主机构节点可以定期检测区块链临时存储区是否存在新增数据,当存在新增数据时,则将该部分新增数据上传至区块链数据存储区,从而可以使得其他用户根据权限来获取该些数据,实现区块链数据共享的作用。
S404:当区块链临时存储区存在新增数据时,则主机构节点从区块链临时存储区下载新增数据。
具体地,当区块链临时存储区存在新增数据时,即表示子机构上传了部分数据,则主机构节点从区块链临时存储区下载该部分新增的数据至主机构节点,然后将该部分数据上传至区块链数据存储区,由于该部分数据已经上传过区块链,因此第二次上传的时候,速度会更加迅速。区块链临时存储区可以通过设置标志位的方式来表示区块链临时存储区是否存在新增数据,例如每当区块链临时存储区中的数据发生变化时,则重置该标志位,从而主机构节点可以根据该区块链临时存储区的标志位来判断区块链临时存储区是否存在新增数据,如果存在,则下载该新增数据至主机构节点。
S406:主机构节点将新增数据上传至区块链数据存储区。
具体地,在主机构节点下载该新增数据后,可以将该数据按照与区块链数据存储区的约定的加密解密方式进行加密,例如先对该新增数据进行加密后再传输到区块链数据存储区,这样其他用户需要使用该数据时,则可以根据与区块链约定的解密方式进行解密,以便于对数据进行处理等。
此外,主机构在上传数据的时候,可以基于主机构和节点之间约定的加密关系将主机构的数据进行加密后发送到主机构节点,然后主机构节点解密得到明文,再根据与区块链约定的加密方式进行加密后上传至区块链数据存储区,以实现主机构数据的上传。
上述实施例中,通过所部署节点群中的节点来接收子机构上传的数据,并将子机构上传的数据存储在区块链临时存储区,以便于与子机构对应的主机构的主机构节点可以将存储在临时存储区中的数据上传至区块链数据存储区,完成数据的上传,不需要人工将数据全部汇总的主机构,减少了主机构的压力,且主机构节点仅在检测到区块链临时存储区中出现了新增数据时,才会从临时存储区下载数据,并上传到区块链数据存储区,而不需要每次均将区块链临时存储区中的数据全部下载到主机构节点,减少了数据的传输量。
在其中一个实施例中,主机构节点将所述新增数据上传至区块链数据存储区的步骤之前,还包括主机构节点通过第二密钥对新增数据进行解密,第二密钥是根据子机构节点群所提供的第二密钥关键码所生成。例如子机构节点群可以预先与主机构节点约定密钥计算方式,以便于主机构节点和子机构节点群所计算的密钥相对应,即主机构节点为子机构节点群提供第一密钥关键码,子机构节点群为主机构节点提供第二密钥关键码,从而主机构节点根据第二密钥关键码生成第二密钥,子机构节点群根据第一密钥关键码生成第一密钥,从而第一密钥与第二密钥相对应,这样当子机构节点群通过第一密钥加密的子机构上 传的数据被主机构节点下载后,主机构节点才可以根据第二密钥对所下载的加密的数据进行解密以得到数据明文,并将该数据明文加密后传输至区块链数据存储区。
该实施例中,子机构节点群计算获得第一密钥,主机构节点计算得到第二密钥,第一密钥与第二密钥相对应,这样当子机构节点群通过第一密钥加密的子机构上传的数据被主机构节点下载后,主机构节点才可以通过第二密钥对所下载的加密的数据进行解密以得到数据明文,并将该数据明文加密后传输至区块链数据存储区,使得数据在传输过程中更加安全。在其中一个实施例中,该方法还可以包括一第二密钥生成的步骤,该第二密钥生成步骤可以包括:主机构节点接收子机构节点群发送的密钥计算请求,密钥计算请求中携带有子机构节点群根据预先约定的基点生成的第二密钥关键码;主机构节点生成第二随机数;主机构节点根据第二密钥关键码以及第二随机数生成第二密钥。从而该主机构节点将新增数据上传至区块链数据存储区的步骤之前,还可以包括通过第二密钥对从新增数据进行解密。
具体地,子机构节点群和各个主机构节点中存储有共享曲线参数,例如第一主机构节点中存储有第一共享曲线参数,第二主机构节点中存储有第二共享曲线参数,而子机构节点群中存储有所有的共享曲线参数,每一共享曲线参数包括椭圆曲线E,阶N以及基点G。子机构节点群首先获取与主机构节点对应的基点G,然后根据基点G生成第二密钥关键码,即M=m×G,并将该第二密钥关键码发送给主机构节点,主机构节点根据自身存储的基点G生成第一密钥关键码N=n×G,并将该第一密钥关键码发送给子机构节点群,其中m和n为随机数。子机构节点群接收到该第一密钥关键码后,计算密钥Q=m×N,主机构节点接收到第二密钥关键码后计算密钥Q’=n×M,根据交换律和结合律Q=Q’。其中M的传递可以公开,即攻击者可以获取M。由于椭圆曲线的离散对数问题是难题,所以攻击者不可以通过M、G计算出m。从而交换双方可以在不共享任何秘密的情况下协商出一个密钥。
上述实施例,子机构节点群与主机构节点子无须共享任何秘密的情况下即可以计算出一共同的密钥,且通过该密钥将数据上传至区块链临时存储区,可以保证数据在上传过程中的安全性,且只有了解密钥的主机构节点才可以下载使用该数据,防止了其他不法分子获取数据后进行使用。
应该理解的是,虽然图2至图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请继续参阅图1,在其中一个实施例中,区块链数据上传系统包括子机构节点群和主 机构节点,其中主机构节点群用于接收子机构发送的数据上传请求;根据数据上传请求查找子机构节点群中的处于空闲状态的节点;通过处于空闲状态的节点接收子机构上传的数据,并将所接收的数据上传至区块链临时存储区。
与子机构对应的主机构的主机构节点,用于从临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
在其中一个实施例中,子机构节点群根据数据上传请求查找子机构节点群中的处于空闲状态的节点的步骤,包括:子机构节点群根据数据上传请求查找子机构节点群中的处于正常工作状态的节点;子机构节点群按照预设顺序遍历所查找的处于正常工作状态的节点;若当前所遍历的处于正常工作状态的节点正在数据上传,则子机构节点群按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
在其中一个实施例中,子机构节点群还用于在将所接收的数据上传至区块链临时存储区的步骤之前,通过第一密钥对子机构上传的数据进行加密,第一密钥是根据主机构节点提供的关键码所生成。
在其中一个实施例中,子机构节点群还用于生成第一随机数;向与所述子机构对应的主机构的主机构节点发送密钥计算请求;并接收主机构节点根据密钥计算请求按照预先约定的基点生成的第一密钥关键码;子机构节点群通过第一随机数以及第一密钥关键码生成第一密钥。
在其中一个实施例中,与子机构对应的主机构的主机构节点还用于检测区块链临时存储区是否存在子机构节点群上传的新增数据;当区块链临时存储区存在新增数据时,则主机构节点从区块链临时存储区下载新增数据;主机构节点将新增数据上传至区块链数据存储区。
在其中一个实施例中,主机构节点还用于在将所述新增数据上传至区块链数据存储区之前,通过第二密钥对新增数据进行解密,第二密钥是根据子机构节点群所提供的第二密钥关键码所生成。
在其中一个实施例中,主机构节点还用于接收节点群发送的密钥计算请求,密钥计算请求中携带有子机构节点群根据预先约定的基点生成的第二密钥关键码;主机构节点生成第二随机数;主机构节点根据第二密钥关键码以及第二随机数生成第二密钥。
上述关于区块链数据上传系统的具体限定可以参见上文中对于区块链数据上传方法的具体限定,在此不在赘述。上述区块链数据上传系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请实施例提出了一种计算机系统,该计算机系统包括一系列存储于存储器上的计算机可读指令,当计算机可读指令被处理器执行时,可以实现本申请各个实施例提出的区 块链数据上传方法,在一些实施例中,基于该计算机可读指令各部分所实现的特定的操作。参阅图5,提供一种计算机系统,该计算机系统包括子机构节点群和与子机构对应的主机构的主机构节点,其内部结构可对应于图5所示的结构,其中该子机构节点群中包括多个节点,该多个节点可以是服务器,该多个节点分别包括通过系统总线连接的第一存储器、第一处理器、第一操作系统、第一网络接口和第一数据库,其中,该节点的第一处理器用于提供计算和控制能力。该第一存储器包括非易失性计算机可读指令存储介质、内存储器。该非易失性计算机可读指令存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性计算机可读指令存储介质中的操作系统和计算机可读指令的运行提供环境。该第一网络接口用于与外部的终端通过网络连接通信。。该主机构节点可以是服务器,该主机构节点包括通过系统总线连接的第二存储器、第二处理器、第二操作系统、第二网络接口和第二数据库,该主机构节点的第二处理器用于提供计算和控制能力。该第二存储器包括非易失性计算机可读指令存储介质、内存储器。该非易失性计算机可读指令存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为非易失性计算机可读指令存储介质中的操作系统和计算机可读指令的运行提供环境。该第二网络接口用于与外部的终端通过网络连接通信。上述计算机可读指令被第一处理器或第二处理器执行时以实现一种区块链数据上传方法。
其本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机系统的限定,具体的计算机系统可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
一种计算机系统,包括存储器和一个或多个处理器,存储器中储存有计算机可读指令,计算机可读指令被第一处理器执行时,使得一个或多个第一处理器执行以下步骤:接收子机构发送的数据上传请求;根据数据上传请求查找子机构节点群中的处于空闲状态的节点;通过处于空闲状态的节点接收子机构上传的数据,并将所接收的数据上传至区块链临时存储区。计算机可读指令被第二处理器执行时,使得一个或多个第二处理器执行以下步骤:从临时存储区下载子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
在其中一个实施例中,该第一处理器执行计算机可读指令时实现的根据数据上传请求查找子机构节点群中的处于空闲状态的节点的步骤,包括:根据数据上传请求查找子机构节点群中的处于正常工作状态的节点;按照预设顺序遍历所查找的处于正常工作状态的节点;若当前所遍历的处于正常工作状态的节点正在数据上传,则按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
在其中一个实施例中,该第一处理器在执行计算机可读指令时实现的将所接收的数据上传至区块链临时存储区的步骤之前,还包括:通过第一密钥对子机构上传的数据进行加密,第一密钥是根据主机构节点提供的关键码所生成。
在其中一个实施例中,该第一处理器在执行计算机可读指令时,还用于实现以下步骤: 生成第一随机数;向与子机构对应的主机构的主机构节点发送密钥计算请求;接收主机构节点根据密钥计算请求按照预先约定的基点生成的第一密钥关键码;通过第一随机数以及第一密钥关键码生成第一密钥。
在其中一个实施例中,该第二处理器在执行计算机可读指令时所实现的从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区的步骤,包括:检测区块链临时存储区是否存在子机构节点群上传的新增数据;当区块链临时存储区存在新增数据时,则从区块链临时存储区下载新增数据;将新增数据上传至区块链数据存储区。
在其中一个实施例中,该第二处理器在执行计算机可读指令时所实现的将新增数据上传至区块链数据存储区的步骤之前,还包括:通过第二密钥对新增数据进行解密,第二密钥是根据子机构节点群所提供的第二密钥关键码所生成。
在其中一个实施例中,该第二处理器在执行计算机可读指令时还实现以下步骤:接收节点群发送的密钥计算请求,所述密钥计算请求中携带有子机构节点群根据预先约定的基点生成的第二密钥关键码;生成第二随机数;根据第二密钥关键码以及第二随机数生成第二密钥。
一个或多个存储有计算机可读指令的非易失性存储介质,计算机可读指令被一个或多个第一处理器执行时,使得一个或多个第一处理器执行以下步骤::接收子机构发送的数据上传请求;根据数据上传请求查找子机构节点群中的处于空闲状态的节点;通过处于空闲状态的节点接收子机构上传的数据,并将所接收的数据上传至区块链临时存储区。计算机可读指令被一个或多个第二处理器执行时,使得一个或多个第二处理器执行以下步骤:从临时存储区下载子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
在其中一个实施例中,计算机可读指令被一个或多个第一处理器执行时实现根据数据上传请求查找子机构节点群中的处于空闲状态的节点的步骤,包括:根据数据上传请求查找子机构节点群中的处于正常工作状态的节点;按照预设顺序遍历所查找的处于正常工作状态的节点;若当前所遍历的处于正常工作状态的节点正在数据上传,则按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
在其中一个实施例中,计算机可读指令被一个或多个第一处理器执行时实现的将所接收的数据上传至区块链临时存储区的步骤之前,还包括:通过第一密钥对子机构上传的数据进行加密,第一密钥是根据主机构节点提供的关键码所生成。
在其中一个实施例中,计算机可读指令被一个或多个第一处理器执行时实现还用于实现以下步骤:生成第一随机数;向与子机构对应的主机构的主机构节点发送密钥计算请求;接收主机构节点根据密钥计算请求按照预先约定的基点生成的第一密钥关键码;通过第一随机数以及第一密钥关键码生成第一密钥。
在其中一个实施例中,计算机可读指令被一个或多个第二处理器执行时实现的从所述 临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区的步骤,包括:检测区块链临时存储区是否存在子机构节点群上传的新增数据;当区块链临时存储区存在新增数据时,则从区块链临时存储区下载新增数据;将新增数据上传至区块链数据存储区。
在其中一个实施例中,计算机可读指令被一个或多个第二处理器执行时实现的将新增数据上传至区块链数据存储区的步骤之前,还包括:通过第二密钥对新增数据进行解密,第二密钥是根据子机构节点群所提供的第二密钥关键码所生成。
在其中一个实施例中,计算机可读指令被一个或多个第二处理器执行时实现还实现以下步骤:接收节点群发送的密钥计算请求,所述密钥计算请求中携带有子机构节点群根据预先约定的基点生成的第二密钥关键码;生成第二随机数;根据第二密钥关键码以及第二随机数生成第二密钥。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性计算机可读取存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (20)

  1. 一种区块链数据上传方法,包括:
    子机构节点群接收子机构发送的数据上传请求;
    所述子机构节点群根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;
    所述子机构节点群通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;及
    与所述子机构对应的主机构的主机构节点从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
  2. 根据权利要求1所述的方法,其特征在于,所述子机构节点群根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点,包括:
    所述子机构节点群根据所述数据上传请求查找所述子机构节点群中的处于正常工作状态的节点;
    所述子机构节点群按照预设顺序遍历所查找的处于正常工作状态的节点;及
    若当前所遍历的处于正常工作状态的节点正在数据上传,则所述子机构节点群按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
  3. 根据权利要求1所述的方法,其特征在于,所述将所接收的数据上传至区块链临时存储区之前,还包括:
    所述子机构节点群通过第一密钥对所述子机构上传的数据进行加密,所述第一密钥是根据所述主机构节点提供的第一密钥关键码所生成。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    所述子机构节点群生成第一随机数;
    所述子机构节点群向与所述子机构对应的主机构的主机构节点发送密钥计算请求;
    所述子机构节点群接收所述主机构节点根据所述密钥计算请求按照预先约定的基点生成的第一密钥关键码;及
    所述子机构节点群通过所述第一随机数以及所述第一密钥关键码生成第一密钥。
  5. 根据权利要求1所述的方法,其特征在于,所述与所述子机构对应的主机构的主机构节点从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区,包括:
    与所述子机构对应的主机构的主机构节点检测区块链临时存储区是否存在子机构节点群上传的新增数据;
    当所述区块链临时存储区存在新增数据时,则所述主机构节点从所述区块链临时存储区下载所述新增数据;及
    所述主机构节点将所述新增数据上传至区块链数据存储区。
  6. 根据权利要求5所述的方法,其特征在于,所述主机构节点将所述新增数据上传至区块链数据存储区之前,还包括:
    所述主机构节点通过第二密钥对所述新增数据进行解密,所述第二密钥是根据子机构节点群所提供的第二密钥关键码所生成。
  7. 根据权利要求6所述的方法,其特征在于,所述方法还包括:
    所述主机构节点接收所述节点群发送的密钥计算请求,所述密钥计算请求中携带有所述子机构节点群根据预先约定的基点生成的第二密钥关键码;
    所述主机构节点生成第二随机数;及
    所述主机构节点根据所述第二密钥关键码以及所述第二随机数生成第二密钥。
  8. 一种区块链数据上传系统,包括:
    子机构节点群,用于接收子机构发送的数据上传请求;根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;
    与所述子机构对应的主机构的主机构节点,用于从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
  9. 根据权利要求8所述的区块链数据上传系统,其特征在于,所述子机构节点群还用于根据所述数据上传请求查找所述子机构节点群中的处于正常工作状态的节点;按照预设顺序遍历所查找的处于正常工作状态的节点;及若当前所遍历的处于正常工作状态的节点正在数据上传,则按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
  10. 一种计算机系统,其特征在于,包括子机构节点群和与子机构对应的主机构的主机构节点;
    所述子机构节点群包括多个节点,所述多个节点包括第一存储器以及一个或多个第一处理器,所述第一存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个第一处理器执行时,使得所述一个或多个第一处理器执行以下步骤:接收子机构发送的数据上传请求;根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;
    与子机构对应的主机构的主机构节点包括第二存储器以及一个或多个第二处理器,所述第二存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个第二处理器执行时,使得所述一个或多个第二处理器执行以下步骤:从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
  11. 根据权利要求10所述的计算机系统,其特征在于,所述第一处理器执行所述计算机可读指令时所执行的根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点,包括:
    根据所述数据上传请求查找所述子机构节点群中的处于正常工作状态的节点;
    按照预设顺序遍历所查找的处于正常工作状态的节点;及
    若当前所遍历的处于正常工作状态的节点正在数据上传,则按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
  12. 根据权利要求10所述的计算机系统,其特征在于,所述第一处理器执行所述计算机可读指令时所执行的将所接收的数据上传至区块链临时存储区之前,还包括:
    通过第一密钥对所述子机构上传的数据进行加密,所述第一密钥是根据所述主机构节点提供的第一密钥关键码所生成。
  13. 根据权利要求12所述的计算机系统,其特征在于,所述第一处理器执行所述计算机可读指令时还执行以下步骤:
    生成第一随机数;
    向与所述子机构对应的主机构的主机构节点发送密钥计算请求;
    接收所述主机构节点根据所述密钥计算请求按照预先约定的基点生成的第一密钥关键码;及
    通过所述第一随机数以及所述第一密钥关键码生成第一密钥。
  14. 根据权利要求10所述的计算机系统,其特征在于,所述第二处理器执行所述计算机可读指令时所执行的从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区,包括:
    检测区块链临时存储区是否存在子机构节点群上传的新增数据;
    当所述区块链临时存储区存在新增数据时,则从所述区块链临时存储区下载所述新增数据;及
    将所述新增数据上传至区块链数据存储区。
  15. 根据权利要求14所述的计算机系统,其特征在于,所述第二处理器执行所述计算机可读指令时所执行的将所述新增数据上传至区块链数据存储区之前,还包括:
    通过第二密钥对所述新增数据进行解密,所述第二密钥是根据子机构节点群所提供的第二密钥关键码所生成。
  16. 根据权利要求15所述的计算机系统,其特征在于,所述第二处理器执行所述计算机可读指令时还执行以下步骤:
    接收所述节点群发送的密钥计算请求,所述密钥计算请求中携带有所述子机构节点群根据预先约定的基点生成的第二密钥关键码;
    生成第二随机数;及
    根据所述第二密钥关键码以及所述第二随机数生成第二密钥。
  17. 一个或多个存储有计算机可读指令的非易失性计算机可读存储介质,所述计算机可读指令被一个或多个第一处理器执行时,使得所述一个或多个第一处理器执行以下步 骤:接收子机构发送的数据上传请求;根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点;通过所述处于空闲状态的节点接收所述子机构上传的数据,并将所接收的数据上传至区块链临时存储区;
    所述计算机可读指令被一个或多个第二处理器执行时,使得所述一个或多个第二处理器执行以下步骤:从所述临时存储区下载所述子机构上传的数据后,将所下载的数据上传至区块链数据存储区。
  18. 根据权利要求17所述的存储介质,其特征在于,所述计算机可读指令被所述第一处理器执行时所执行的根据所述数据上传请求查找所述子机构节点群中的处于空闲状态的节点,包括:
    根据所述数据上传请求查找所述子机构节点群中的处于正常工作状态的节点;
    按照预设顺序遍历所查找的处于正常工作状态的节点;及
    若当前所遍历的处于正常工作状态的节点正在数据上传,则按照预设顺序继续遍历下一处于正常工作状态的节点,直至所遍历的处于正常工作状态的节点处于空闲状态,则获取处于空闲状态的节点。
  19. 根据权利要求17所述的存储介质,其特征在于,所述计算机可读指令被所述第一处理器执行时所执行的将所接收的数据上传至区块链临时存储区之前,还包括:
    通过第一密钥对所述子机构上传的数据进行加密,所述第一密钥是根据所述主机构节点提供的第一密钥关键码所生成。
  20. 根据权利要求19所述的存储介质,其特征在于,所述计算机可读指令被所述第一处理器执行时还执行以下步骤:
    生成第一随机数;
    向与所述子机构对应的主机构的主机构节点发送密钥计算请求;
    接收所述主机构节点根据所述密钥计算请求按照预先约定的基点生成的第一密钥关键码;及
    通过所述第一随机数以及所述第一密钥关键码生成第一密钥。
PCT/CN2018/075497 2017-09-30 2018-02-06 区块链数据上传方法、系统、计算机系统及存储介质 WO2019061983A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SG11201809978SA SG11201809978SA (en) 2017-09-30 2018-02-06 Method, system, computer system and storage medium of uploading blockchain data
EP18804502.5A EP3496370B1 (en) 2017-09-30 2018-02-06 Blockchain data uploading method, system, computer system and storage medium
US16/099,437 US11146384B2 (en) 2017-09-30 2018-02-06 Method, system, computer system and storage medium of uploading blockchain data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710917330.0 2017-09-30
CN201710917330.0A CN107734021B (zh) 2017-09-30 2017-09-30 区块链数据上传方法、系统、计算机系统及存储介质

Publications (2)

Publication Number Publication Date
WO2019061983A1 true WO2019061983A1 (zh) 2019-04-04
WO2019061983A8 WO2019061983A8 (zh) 2019-08-29

Family

ID=61209575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/075497 WO2019061983A1 (zh) 2017-09-30 2018-02-06 区块链数据上传方法、系统、计算机系统及存储介质

Country Status (5)

Country Link
US (1) US11146384B2 (zh)
EP (1) EP3496370B1 (zh)
CN (1) CN107734021B (zh)
SG (1) SG11201809978SA (zh)
WO (1) WO2019061983A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011795A (zh) * 2019-04-12 2019-07-12 郑州轻工业学院 基于区块链的对称群组密钥协商方法
CN110035130A (zh) * 2019-04-24 2019-07-19 中国联合网络通信集团有限公司 一种数据处理方法及装置
WO2020232012A1 (en) * 2019-05-14 2020-11-19 Planaria Corp. Blockchain cache system
CN112217636A (zh) * 2020-09-17 2021-01-12 建信金融科技有限责任公司 基于区块链的数据处理方法、装置、计算机设备及介质
US11783324B2 (en) * 2018-09-25 2023-10-10 Advanced New Technologies Co., Ltd. Resource sharing method, apparatus, and device

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213066B (zh) * 2018-10-24 2022-05-03 苏州保控电子科技有限公司 基于区块链技术的plc冗余控制数据备份方法及系统
CN109788045B (zh) * 2018-12-28 2021-08-03 贵州蓝石科技有限公司 一种区块链中的节点
CN112153085B (zh) * 2019-06-26 2022-05-17 华为技术有限公司 一种数据处理方法、节点及区块链系统
CN110602079B (zh) * 2019-09-05 2021-11-23 广州怀恩科技有限公司 一种基于区块链技术分级控制的科研数据上传及储存方法
CN110597825B (zh) * 2019-09-24 2021-07-27 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置及节点设备
CN110995837B (zh) * 2019-12-03 2022-09-30 湖南国奥电力设备有限公司 基于区块链的地下电缆采集数据上传方法和系统
CN111797169A (zh) * 2020-07-09 2020-10-20 杭州复杂美科技有限公司 数据存证方法、设备和存储介质
CN112015828A (zh) * 2020-08-12 2020-12-01 上海九吾尊易信息科技有限公司 基于区块链的数据内容处理方法及装置
CN111931237A (zh) * 2020-09-15 2020-11-13 支付宝(杭州)信息技术有限公司 一种基于区块链的业务管理方法及装置
US20220138688A1 (en) * 2020-11-02 2022-05-05 Jpmorgan Chase Bank, N.A. Systems and methods for distributed ledger-based management of metadata and chain of custody of documents
CN113779631A (zh) * 2021-09-10 2021-12-10 杭州宇链科技有限公司 基于区块链的机动车自动驾驶操作数据记录方法
CN113872768B (zh) * 2021-09-23 2024-01-09 国网陕西省电力公司汉中供电公司 一种输变电设备状态量采集存储方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106603198A (zh) * 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
CN106850536A (zh) * 2016-11-30 2017-06-13 北京瑞卓喜投科技发展有限公司 区块链共识方法及系统
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9960979B1 (en) * 2013-03-12 2018-05-01 Western Digital Technologies, Inc. Data migration service
CN103747274B (zh) * 2013-12-18 2016-08-17 北京邮电大学 一种增设缓存集群的视频数据中心及其缓存资源调度方法
WO2016029119A1 (en) * 2014-08-21 2016-02-25 myVBO, LLC Systems and methods for managing alternative currency transactions and optimizing financial rewards
CN104239509B (zh) * 2014-09-15 2018-04-13 国家电网公司 多版本gis切片服务系统
CN104618255B (zh) * 2014-12-29 2018-03-13 国家电网公司 一种前置采集服务系统及数据处理方法
US9973341B2 (en) * 2015-01-23 2018-05-15 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
US20180161478A1 (en) 2015-05-20 2018-06-14 Gumusderelioglu Menemse Barrier membrane used in periodontitis treatment and a production method thereof
JP6657972B2 (ja) * 2016-01-08 2020-03-04 日本電気株式会社 負荷分散システム、負荷分散装置、負荷分散方法、および、プログラム
JP7047760B2 (ja) * 2016-07-29 2022-04-05 日本電気株式会社 システム、データ管理方法及びプログラム
US20180123779A1 (en) * 2016-11-01 2018-05-03 Jiangang Zhang Flexible Blockchain Smart-Contract Deployment
CN106534317B (zh) * 2016-11-17 2019-09-03 杭州云象网络技术有限公司 一种基于区块链技术的灾备云存储系统构建方法
CN107079059B (zh) * 2016-12-21 2019-12-10 深圳前海达闼云端智能科技有限公司 区块链存储方法、装置及节点设备
CN107040585B (zh) * 2017-02-22 2020-06-19 创新先进技术有限公司 一种业务校验的方法及装置
CN106899680B (zh) * 2017-03-09 2019-07-30 深圳壹账通智能科技有限公司 多区块链的分片处理方法和装置
CN107196900B (zh) * 2017-03-24 2020-04-24 创新先进技术有限公司 一种共识校验的方法及装置
CN107122682B (zh) * 2017-04-20 2019-02-05 杭州铜板街互联网金融信息服务有限公司 基于区块链存储的数据处理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170213209A1 (en) * 2016-01-21 2017-07-27 International Business Machines Corporation Enterprise blockchains and transactional systems
CN106850536A (zh) * 2016-11-30 2017-06-13 北京瑞卓喜投科技发展有限公司 区块链共识方法及系统
CN106603198A (zh) * 2016-12-02 2017-04-26 深圳大学 具有网络编码的区块链分布式存储方法及系统
CN106980649A (zh) * 2017-02-28 2017-07-25 阿里巴巴集团控股有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11783324B2 (en) * 2018-09-25 2023-10-10 Advanced New Technologies Co., Ltd. Resource sharing method, apparatus, and device
CN110011795A (zh) * 2019-04-12 2019-07-12 郑州轻工业学院 基于区块链的对称群组密钥协商方法
CN110011795B (zh) * 2019-04-12 2021-07-30 郑州轻工业学院 基于区块链的对称群组密钥协商方法
CN110035130A (zh) * 2019-04-24 2019-07-19 中国联合网络通信集团有限公司 一种数据处理方法及装置
CN110035130B (zh) * 2019-04-24 2021-07-13 中国联合网络通信集团有限公司 一种数据处理方法及装置
WO2020232012A1 (en) * 2019-05-14 2020-11-19 Planaria Corp. Blockchain cache system
CN112217636A (zh) * 2020-09-17 2021-01-12 建信金融科技有限责任公司 基于区块链的数据处理方法、装置、计算机设备及介质
CN112217636B (zh) * 2020-09-17 2023-02-17 中国建设银行股份有限公司 基于区块链的数据处理方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
WO2019061983A8 (zh) 2019-08-29
CN107734021B (zh) 2020-04-07
EP3496370A1 (en) 2019-06-12
EP3496370B1 (en) 2022-03-30
EP3496370A4 (en) 2020-02-19
US11146384B2 (en) 2021-10-12
US20210226770A1 (en) 2021-07-22
SG11201809978SA (en) 2019-04-29
CN107734021A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
WO2019061983A1 (zh) 区块链数据上传方法、系统、计算机系统及存储介质
WO2020259635A1 (zh) 一种区块链数据共享方法及装置
US11115200B2 (en) System, method, and apparatus for quantum key output, storage, and consistency verification
JP6968223B2 (ja) 量子鍵配送のための方法、装置、及びシステム
US11316677B2 (en) Quantum key distribution node apparatus and method for quantum key distribution thereof
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
US8892866B2 (en) Secure cloud storage and synchronization systems and methods
CN111523133B (zh) 一种区块链与云端数据协同共享方法
JP2019535153A (ja) トラステッドコンピューティングに基づく量子鍵配送のための方法及びシステム
JP6559774B2 (ja) 鍵共有のために設けられた暗号システム
JP6067932B2 (ja) 鍵共有デバイス及び方法
US11546348B2 (en) Data service system
CN111526197B (zh) 一种云端数据安全共享方法
CN104158880B (zh) 一种用户端云数据共享解决方法
US10887085B2 (en) System and method for controlling usage of cryptographic keys
CN112532580B (zh) 一种基于区块链及代理重加密的数据传输方法及系统
CN113360925A (zh) 电力信息物理系统中可信数据的存储和访问方法及系统
CN107315967B (zh) 数据匹配方法、装置及计算机可读存储介质
Koo et al. A hybrid deduplication for secure and efficient data outsourcing in fog computing
CN110688666A (zh) 一种分布式存储中数据加密保存方法
WO2020082226A1 (en) Method and system for transferring data in a blockchain system
CN112382376A (zh) 基于区块链的医疗器械管理追溯系统
CN111460463B (zh) 电子存证保存和公证方法、装置、设备及存储介质
Nayak et al. Privacy preserving provable data possession for cloud based electronic health record system
CN116708502A (zh) 一种基于区块链的电力系统量测数据安全共享方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018804502

Country of ref document: EP

Effective date: 20190110

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18804502

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE