IP Library Granted Patent US 10,776,323
Granted Patent B2
US 10,776,323 · App. 15/903,995 · Granted Sep 15, 2020

Data storage for mobile terminals

Inventor: Jie Lian (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F16/1794G06F16/00G06F16/116G06F16/2272G06F16/41G06F16/907
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,776,323
App. No.
15/903,995
Granted
Sep 15, 2020
Kind
B2
Abstract

The present disclosure describes techniques for converting and storing data in a unified format. One example method includes converting original data to a first data having a predetermined format; generating first metadata and a key value corresponding to the first data during the conversion of the original data; determining whether second metadata corresponding to the key value exists in a cache; determining whether the second metadata are different from the first metadata; in response to determining that the second metadata does not exist in the cache or to determining that the second metadata are different from the first metadata, storing the first data, the first metadata, and the key value to the cache; determining that a predetermined condition is satisfied; and in response determining that the predetermined condition is satisfied, storing the first data, the first metadata, and the key value to a non-relational database.

Claims (50)

1. A computer-implemented method, comprising:

converting original data to a first data having a predetermined format;

generating first metadata and a key value corresponding to the first data during the conversion of the original data, wherein the first metadata comprises a hash value computed for the original data;

determining whether second metadata corresponding to the key value exists in a cache based on a predetermined relationship stored in the cache between key values and metadata;

in response to determining that the second metadata corresponding to the key value exists in the cache, determining whether the second metadata is different from the first metadata;

in response to determining that the second metadata does not exist in the cache or to determining that the second metadata are different from the first metadata, storing the first data, the first metadata, and the key value to the cache;

determining that a predetermined condition is satisfied; and

in response to determining that the predetermined condition is satisfied, storing the first data, the first metadata, and the key value to a non-relational database.

2. The computer-implemented method of claim 1 , wherein the identified second metadata are different from the first metadata when a hash value of the second metadata are different from a hash value of the first metadata.

3. The computer-implemented method of claim 1 , wherein the predetermined condition is a predetermined period of time and the predetermined condition is satisfied when the predetermined period of time lapses from a time the first data, the first metadata, and the key value are stored in the cache.

4. The computer-implemented method of claim 1 , wherein the predetermined condition is a predetermined amount of data and the predetermined condition is satisfied when a size of the first data, the first metadata, and the key value stored in the cache reach the predetermined amount.

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

receiving a data reading request associated with the first data;

identifying the first data from the cache based on the key value corresponding to the first data; and

converting the identified first data to the original data and returning the first data as a reading result in response to the data reading request.

6. The computer-implemented method of claim 1 , wherein the first data are encrypted before storing to the cache or the non-relational database.

7. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

converting original data to a first data having a predetermined format;

generating first metadata and a key value corresponding to the first data during the conversion of the original data, wherein the first metadata comprises a hash value computed for the original data;

determining whether second metadata corresponding to the key value exists in a cache based on a predetermined relationship stored in the cache between key values and metadata;

in response to determining that the second metadata corresponding to the key value exists in the cache, determining whether the second metadata is different from the first metadata;

in response to determining that the second metadata does not exist in the cache or to determining that the second metadata are different from the first metadata, storing the first data, the first metadata, and the key value to the cache;

determining that a predetermined condition is satisfied; and

in response to determining that the predetermined condition is satisfied, storing the first data, the first metadata, and the key value to a non-relational database.

8. The non-transitory, computer-readable medium of claim 7 , wherein the identified second metadata are different from the first metadata when a hash value of the second metadata are different from a hash value of the first metadata.

9. The non-transitory, computer-readable medium of claim 7 , wherein the predetermined condition is a predetermined period of time and the predetermined condition is satisfied when the predetermined period of time lapses from a time the first data, the first metadata, and the key value are stored in the cache.

10. The non-transitory, computer-readable medium of claim 7 , wherein the predetermined condition is a predetermined amount of data and the predetermined condition is satisfied when a size of the first data, the first metadata, and the key value stored in the cache reach the predetermined amount.

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

receiving a data reading request associated with the first data;

identifying the first data from the cache based on the key value corresponding to the first data; and

converting the identified first data to the original data and returning the first data as a reading result in response to the data reading request.

12. The non-transitory, computer-readable medium of claim 7 , wherein the first data are encrypted before storing to the cache or the non-relational database.

13. A computer-implemented system, comprising:

one or more computers; and

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

converting original data to a first data having a predetermined format;

generating first metadata and a key value corresponding to the first data during the conversion of the original data, wherein the first metadata comprises a hash value computed for the original data;

determining whether second metadata corresponding to the key value exists in a cache based on a predetermined relationship stored in the cache between key values and metadata;

in response to determining that the second metadata corresponding to the key value exists in the cache, determining whether the second metadata is different from the first metadata;

in response to determining that the second metadata does not exist in the cache or to determining that the second metadata are different from the first metadata, storing the first data, the first metadata, and the key value to the cache;

determining that a predetermined condition is satisfied; and

in response determining that the predetermined condition is satisfied, storing the first data, the first metadata, and the key value to a non-relational database.

14. The computer-implemented system of claim 13 , wherein the identified second metadata are different from the first metadata when a hash value of the second metadata are different from a hash value of the first metadata.

15. The computer-implemented system of claim 13 , wherein the predetermined condition is a predetermined period of time and the predetermined condition is satisfied when the predetermined period of time lapses from a time the first data, the first metadata, and the key value are stored in the cache.

16. The computer-implemented system of claim 13 , wherein the predetermined condition is a predetermined amount of data and the predetermined condition is satisfied when a size of the first data, the first metadata, and the key value stored in the cache reach the predetermined amount.

17. The computer-implemented system of claim 13 , the operations further comprising:

receiving a data reading request associated with the first data;

identifying the first data from the cache based on the key value corresponding to the first data; and

converting the identified first data to the original data and returning the first data as a reading result in response to the data reading request.

18. The computer-implemented system of claim 13 , wherein the first data are encrypted before storing to the cache or the non-relational database.

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 Aug 7, 2018
From: LIAN, JIE
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 046568/0055 →