IP Library Granted Patent US 10,880,078
Granted Patent B2
US 10,880,078 · App. 16/730,873 · Granted Dec 29, 2020

Data storage, data check, and data linkage method and apparatus

Inventors: Yi Li (Hangzhou, CN); Zunkui Zhao (Hangzhou, CN)
Assignee: ADVANCED NEW TECHNOLOGIES CO., LTD.
H04L9/0643G06F16/00G06F16/2329G06F16/2358H04L9/3236H04L67/10H04L2209/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 10,880,078
App. No.
16/730,873
Granted
Dec 29, 2020
Kind
B2
Abstract

A data storage method includes determining a first check value of a first version of a target object, obtaining a second check value of a second version of the target object, creating a data block comprising the first check value and the second check value, and storing the data block in a blockchain, where the data block stored in the blockchain is immutable.

Claims (62)

1. A method comprising:

calculating, by a data storage apparatus, a first check value of a first version of data content of a target object stored in a database external to a blockchain and different from the data storage apparatus, the target object comprising data content of a plurality of versions that comprise the first version and a second version that is adjacent to and previous to the first version;

determining a version identifier of the second version of data content of the target object;

searching the blockchain, by the data storage apparatus based on a mapping relationship stored in the database between the version identifier of the second version and a block identifier of an existing data block in the blockchain, to obtain a second check value of the second version of data content of the target object from the existing data block in the blockchain;

creating, by the data storage apparatus, a new data block comprising the first check value, the second check value, a version identifier of the first version, and the version identifier of the second version;

storing, by the data storage apparatus, the new data block in the blockchain; and

storing, by the data storage apparatus in the database, a mapping relationship between the identifier of the first version and a block identifier of the new data block.

2. The method of claim 1 , wherein the calculating a first check value of a first version of data content of a target object comprises:

determining a content summary of the first version of data content of the target object; and

calculating the first check value based on the content summary.

3. The method of claim 1 , wherein the creating a new data block comprises:

writing the first check value and the second check value in a header of the new data block.

4. The method of claim 1 , wherein the creating a new data block comprises writing in a body of the new data block:

a content summary of the first version of data content of the target object;

the second check value; or

content of the first version of the target object.

5. The method of claim 1 , further comprising:

storing the first version of data content of the target object in a cloud data gateway or a cloud database.

6. The method of claim 1 , wherein the storing the new data block in the blockchain comprises:

adding the new data block to the blockchain according to a linked data structure associated with the blockchain.

7. The method of claim 1 , further comprising:

receiving a data authentication request comprising a version identifier of the first version of data content of the target object and a third check value determined based on content of the target object;

obtaining the first check value from the blockchain; and

authenticating the content of the target object by comparing the third check value and the first check value.

8. The method of claim 7 , wherein the authenticating the content of the target object comprises:

determining that the content of the target object is authentic if the third check value is identical to the first check value; and

determining that the content of the target object has been modified if the third check value is not identical to the first check value.

9. The method of claim 7 , wherein the obtaining the first check value from the blockchain comprises:

determining, based on pre-stored mapping relationships between one or more version identifiers and one or more block identifiers, a block identifier corresponding to the version identifier in the data authentication request; and

obtaining the first check value from the blockchain based on the block identifier.

10. The method of claim 1 , further comprising:

receiving a data backtracking request comprising a version identifier corresponding to the first version of data content of the target object;

identifying, based on the version identifier in the data backtracking request, a data block in the blockchain that comprises a version identifier corresponding to an initial version of data content of the target object; and

obtaining, based on the identified data block, the initial version of data content of the target object.

11. The method of claim 10 , wherein the identifying comprises identifying the data block comprising the version identifier corresponding to the initial version of data content of the target object based on that the data block further comprises a check value that is null.

12. The method of claim 10 , wherein the identifying comprises:

identifying a data block in the blockchain that comprises the version identifier corresponding to the first version of data content of the target object;

obtaining the version identifier of the second version of data content of the target object from the identified data block; and

backtracking sequentially through one or more additional data blocks in the blockchain based on the obtained version identifier corresponding to the second version of data content of the target object to identify the data block that comprises the version identifier corresponding to the initial version of data content of the target object.

13. A non-transitory computer-readable storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising:

calculating, by a data storage apparatus, a first check value of a first version of data content of a target object stored in a database external to a blockchain and different from the data storage apparatus, the target object comprising data content of a plurality of versions that comprise the first version and a second version that is adjacent to and previous to the first version;

determining a version identifier of the second version of data content of the target object;

searching the blockchain, by the data storage apparatus based on a mapping relationship stored in the database between the version identifier of the second version and a block identifier of an existing data block in the blockchain, to obtain a second check value of the second version of data content of the target object from the existing data block in the blockchain;

creating, by the data storage apparatus, a new data block comprising the first check value, the second check value, a version identifier of the first version, and the version identifier of the second version;

storing, by the data storage apparatus, the new data block in the blockchain; and

storing, by the data storage apparatus in the database, a mapping relationship between the identifier of the first version and a block identifier of the new data block.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the calculating a first check value of data content of a first version of a target object comprises:

determining a content summary of data content of the first version of the target object; and

calculating the first check value based on the content summary.

15. The non-transitory computer-readable storage medium of claim 13 , wherein the creating a new data block comprises:

writing the first check value and the second check value in a header of the new data block.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the operations further comprise:

storing the first version of data content of the target object in a cloud data gateway or a cloud database.

17. The non-transitory computer-readable storage medium of claim 13 , wherein the storing the new data block in the blockchain comprises:

adding the new data block to the blockchain according to a linked data structure associated with the blockchain.

18. A system comprising a processor and a non-transitory computer-readable storage medium storing instructions executable by the processor to cause the system to:

calculate, by a data storage apparatus, a first check value of a first version of data content of a target object stored in a database external to a blockchain and different from the data storage apparatus, the target object comprising data content of a plurality of versions that comprise the first version and a second version that is adjacent to and previous to the first version;

determine a version identifier of the second version of data content of the target object;

search the blockchain, by the data storage apparatus based on a mapping relationship stored in the database between the version identifier of the second version and a block identifier of an existing data block in the blockchain, to obtain a second check value of the second version of data content of the target object from the existing data block in the blockchain;

create, by the data storage apparatus, a new data block comprising the first check value, the second check value, a version identifier of the first version, and the version identifier of the second version;

store, by the data storage apparatus, the new data block in the blockchain; and

store, by the data storage apparatus in the database, a mapping relationship between the identifier of the first version and a block identifier of the new data block.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053796/0281 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053702/0392 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 30, 2019
From: LI, YI; ZHAO, ZUNKUI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 051389/0757 →