IP Library Granted Patent US 11,315,666
Granted Patent B2
US 11,315,666 · App. 16/422,618 · Granted Apr 26, 2022

Blockchain-based data processing method and device

Inventor: Shifeng Wang (Hanzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
G16H10/60G06F21/6245G16H15/00H04L9/0637H04L9/0816H04L63/0442H04L63/123H04L67/12H04W12/02H04L2209/38
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,315,666
App. No.
16/422,618
Granted
Apr 26, 2022
Kind
B2
Abstract

In an implementation, processing blockchain-based data is described. Data to be stored in a blockchain network is received at one or more processing devices of a blockchain node. A determination is made that an attribute of the data is of a particular type. In response to determining that the attribute of the data is of the particular type, a digest representing the data is generated. The digest is smaller in size than the data. The data is stored at a storage location in accordance with a mapping relationship between the digest and a first identifier of the data. An encrypted version of the digest is generated, by the one or more processing devices for storage on the blockchain network, using a private key of a public-private key pair corresponding to a second identifier of the data.

Claims (111)

1. A computer-implemented method for processing data in a blockchain network by one or more processing devices implementing blockchain nodes of the blockchain network, the method comprising:

receiving, at a blockchain node of the blockchain network, a first data record to be stored in a blockchain maintained by the blockchain network, wherein the first data record is medical data generated in association with a first medical practitioner of a first medical institution, wherein the blockchain network comprises a plurality of blockchain nodes that respectively belong to a plurality of different medical institutions;

preconfiguring a plurality of respective public-private key pairs for a plurality of medical practitioners employed by respective medical institutions of the plurality of the different medical institutions;

determining that the first data record comprises textual data;

in response to determining that the first data record comprises textual data, storing the textual data in the blockchain;

receiving, at the blockchain node of the blockchain network, a second data record to be stored in the blockchain, wherein the second data record is medical data generated in association with the first medical practitioner of the first medical institution;

determining that the second data record comprises non-textual data; and

in response to determining that the second data record comprises non-textual data:

generating a digest representing the non-textual data, wherein the digest is smaller in size than the non-textual data;

establishing a mapping relationship between the digest and a data identifier of the non-textual data;

storing the non-textual data at a database in accordance with the mapping relationship, wherein records of the database are not stored on the blockchain;

generating an encrypted version of the digest using a user-specific key of a public-private key pair corresponding to a user identifier of the non-textual data;

storing the encrypted version of the digest in the blockchain;

generating, for a second medical practitioner of a different second medical institution, a digital signature for the second medical practitioner to access non-textual patient data generated by a plurality of different medical institutions maintaining blockchain nodes of the blockchain network, including encrypting information associated with the second medical practitioner using a private key of the second medical practitioner;

receiving, from the second medical practitioner of the different second medical institution, a data query request for the second medical practitioner of the different second medical institution to access the non-textual data generated by the first medical institution, wherein the data query request includes the digital signature of the second medical practitioner and a queried user identifier;

authenticating the second medical practitioner based on the digital signature of the second medical practitioner;

determining a data access permission of the second medical practitioner, wherein the data access permission is determined based on a medical staff level of the second medical practitioner;

determining, based on the data access permission, that the second medical practitioner is authorized to access the non-textual data associated with the data query request;

in response, determining the digest of the non-textual data associated with the data query request;

sending the digest of the non-textual data to the database;

receiving the non-textual data that corresponds to the digest of the non-textual data and that is returned by the database;

verifying the non-textual data received from the database based on the digest of the non-textual data;

in response to a successful verification, selecting a query result satisfying the data access permission from the non-textual data corresponding to the queried user identifier; and

sending the query result satisfying the data access permission to the second medical practitioner.

2. The computer-implemented method of claim 1 ,

wherein storing the textual data in the blockchain comprises:

determining a check value of a first block comprising the user identifier of the textual data;

storing the check value and the textual data in a second block; and

storing the second block in the blockchain where the first block is located.

3. The computer-implemented method of claim 1 , wherein the non-textual data is image data.

4. The computer-implemented method of claim 1 , further comprising:

processing the first data record based on a processing rule corresponding to a textual data type;

processing the second data record based on a processing rule corresponding to a non-textual data type; and

sending a processed result to other blockchain nodes in the blockchain network.

5. The computer-implemented method of claim 1 , further comprising:

determining a data size of the second data record; and

determining a storage location for the second data record based on the data size.

6. One or more non-transitory, computer-readable storage media storing instructions executable by a computer system implementing blockchain nodes of a blockchain network to perform operations comprising:

receiving, at a blockchain node of the blockchain network, a first data record to be stored in a blockchain maintained by the blockchain network, wherein the first data record is medical data generated in association with a first medical practitioner of a first medical institution, wherein the blockchain network comprises a plurality of blockchain nodes that respectively belong to a plurality of different medical institutions;

preconfiguring a plurality of respective public-private key pairs for a plurality of medical practitioners employed by respective medical institutions of the plurality of the different medical institutions;

determining that the first data record comprises textual data;

in response to determining that the first data record comprises textual data, storing the textual data in the blockchain;

receiving, at the blockchain node of the blockchain network, a second data record to be stored in the blockchain, wherein the second data record is medical data generated in association with the first medical practitioner of the first medical institution;

determining that the second data record comprises non-textual data; and

in response to determining that the second data record comprises non-textual data:

generating a digest representing the non-textual data, wherein the digest is smaller in size than the non-textual data;

establishing a mapping relationship between the digest and a data identifier of the non-textual data;

storing the non-textual data at a database in accordance with the mapping relationship, wherein records of the database are not stored on the blockchain;

generating an encrypted version of the digest using a user-specific key of a public-private key pair corresponding to a user identifier of the non-textual data;

storing the encrypted version of the digest in the blockchain;

generating, for a second medical practitioner of a different second medical institution, a digital signature for the second medical practitioner to access non-textual patient data generated by a plurality of different medical institutions maintaining blockchain nodes of the blockchain network, including encrypting information associated with the second medical practitioner using a private key of the second medical practitioner;

receiving, from the second medical practitioner of the different second medical institution, a data query request for the second medical practitioner of the different second medical institution to access the non-textual data generated by the first medical institution, wherein the data query request includes the digital signature of the second medical practitioner and a queried user identifier;

authenticating the second medical practitioner based on the digital signature of the second medical practitioner;

determining a data access permission of the second medical practitioner, wherein the data access permission is determined based on a medical staff level of the second medical practitioner;

determining, based on the data access permission, that the second medical practitioner is authorized to access the non-textual data associated with the data query request;

in response, determining the digest of the non-textual data associated with the data query request;

sending the digest of the non-textual data to the database;

receiving the non-textual data that corresponds to the digest of the non-textual data and that is returned by the database;

verifying the non-textual data received from the database based on the digest of the non-textual data;

in response to a successful verification, selecting a query result satisfying the data access permission from the non-textual data corresponding to the queried user identifier; and

sending the query result satisfying the data access permission to the second medical practitioner.

7. The non-transitory, computer-readable medium of claim 6 , wherein storing the textual data in the blockchain comprises:

determining a check value of a first block comprising the user identifier of the textual data;

storing the check value and the textual data in a second block; and

storing the second block in the blockchain where the first block is located.

8. The non-transitory, computer-readable medium of claim 6 , wherein the non-textual data is image data.

9. The non-transitory, computer-readable medium of claim 6 , the operations further comprising:

processing the first data record based on a processing rule corresponding to a textual data type;

processing the second data record based on a processing rule corresponding to a non-textual data type; and

sending a processed result to other blockchain nodes in the blockchain network.

10. The non-transitory, computer-readable medium of claim 6 , the operations further comprising:

determining a data size of the second data record; and

determining a storage location for the second data record based on the data size.

11. A computer-implemented system implementing blockchain nodes of a blockchain network, the system comprising:

a plurality of computers; and

one or more computer memory devices interoperably coupled with the plurality of computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the plurality of computers, perform operations comprising:

receiving, at a blockchain node of the blockchain network, a first data record to be stored in a blockchain maintained by the blockchain network, wherein the first data record is medical data generated in association with a first medical practitioner of a first medical institution, wherein the blockchain network comprises a plurality of blockchain nodes that respectively belong to a plurality of different medical institutions;

preconfiguring a plurality of respective public-private key pairs for a plurality of medical practitioners employed by respective medical institutions of the plurality of the different medical institutions;

determining that the first data record comprises textual data;

in response to determining that the first data record comprises textual data, storing the textual data in the blockchain;

receiving, at the blockchain node of the blockchain network, a second data record to be stored in the blockchain, wherein the second data record is medical data generated in association with the first medical practitioner of the first medical institution;

determining that the second data record comprises non-textual data; and

in response to determining that the second data record comprises non-textual data:

generating a digest representing the non-textual data, wherein the digest is smaller in size than the non-textual data;

establishing a mapping relationship between the digest and a data identifier of the non-textual data;

storing the non-textual data at a database in accordance with the mapping relationship, wherein records of the database are not stored on the blockchain;

generating an encrypted version of the digest using a user-specific key of a public-private key pair corresponding to a user identifier of the non-textual data;

storing the encrypted version of the digest in the blockchain;

generating, for a second medical practitioner of a different second medical institution, a digital signature for the second medical practitioner to access non-textual patient data generated by a plurality of different medical institutions maintaining blockchain nodes of the blockchain network, including encrypting information associated with the second medical practitioner using a private key of the second medical practitioner;

receiving, from the second medical practitioner of the different second medical institution, a data query request for the second medical practitioner of the different second medical institution to access the non-textual data generated by the first medical institution, wherein the data query request includes the digital signature of the second medical practitioner and a queried user identifier;

authenticating the second medical practitioner based on the digital signature of the second medical practitioner;

determining a data access permission of the second medical practitioner, wherein the data access permission is determined based on a medical staff level of the second medical practitioner;

determining, based on the data access permission, that the second medical practitioner is authorized to access the non-textual data associated with the data query request;

in response, determining the digest of the non-textual data associated with the data query request;

sending the digest of the non-textual data to the database;

receiving the non-textual data that corresponds to the digest of the non-textual data and that is returned by the database;

verifying the non-textual data received from the database based on the digest of the non-textual data;

in response to a successful verification, selecting a query result satisfying the data access permission from the non-textual data corresponding to the queried user identifier; and

sending the query result satisfying the data access permission to the second medical practitioner.

12. The computer-implemented system of claim 11 , wherein storing the textual data in the blockchain comprises:

determining a check value of a first block comprising the user identifier of the textual data;

storing the check value and the textual data in a second block; and

storing the second block in the blockchain where the first block is located.

13. The computer-implemented system of claim 11 , wherein the non-textual data is image data.

14. The computer-implemented system of claim 11 , the operations further comprising:

processing the first data record based on a processing rule corresponding to a textual data type;

processing the second data record based on a processing rule corresponding to a non-textual data type; and

sending a processed result to other blockchain nodes in the blockchain network.

15. The computer-implemented system of claim 11 , the operations further comprising:

determining a data size of the second data record; and

determining a storage location for the second data record based on the data size.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2019
From: WANG, SHIFENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 050995/0715 →
Priority Claims (1)
CN 201710372331.1 · May 24, 2017 · national
Continuity (2)
Continuation PCTCN2018087767 · May 22, 2018
Related Publication 20190279750A1 · Sep 12, 2019