IP Library › Granted Patent US 12,147,432
Granted Patent B2
US 12,147,432 · App. 17/462,998 · Granted Nov 19, 2024

Hybrid data processing system and method

Inventors: Jianjun Chen (Los Angeles, CA); Yonghua Ding (Los Angeles, CA); Ye Liu (Los Angeles, CA); Fangshi Li (Los Angeles, CA); Lixun Cao (Beijing, CN); Yang Liu (Beijing, CN); Li Zhang (Los Angeles, CA); Mingyi Zhang (Los Angeles, CA); Lei Zhang (Beijing, CN); Rui Shi (Beijing, CN)
Assignee: LEMON INC.
G06F16/24575G06F16/1794G06F16/2433G06F16/258G06F16/27G06F16/278
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 12,147,432
App. No.
17/462,998
Granted
Nov 19, 2024
Kind
B2
Abstract

The present disclosure describes hybrid transactional and analytical processing (HTAP) techniques. A HTAP system comprises a first processing engine configured to perform online transactional processing, a second processing engine configured to perform online analytical processing, and a storage in communication with the first processing engine and the second processing engine. The first processing engine, the second processing engine, and the storage may be modularized and configured to be decoupled from each other. The system may be configured to capture data by the first processing engine in real time, organize the data in a first format in a first part of the storage for use by the first processing engine, propagate the data to a second part of the storage subsystem, and organize the data in a second format in the second part of the storage for use by the second processing engine.

Claims (62)

1. A system, comprising:

at least one processor; and

at least one memory communicatively coupled to the at least one processor and comprising instructions that upon execution by the at least one processor cause the system to perform operations comprising:

capturing data by a first processing engine in real time, the first processing engine configured to perform online transactional processing;

organizing the data in a first format in a first part of a storage for use by the first processing engine;

propagating the same data to a second part of the storage;

organizing the same data in a second format in the second part of the storage for use by a second processing engine, the second processing engine configured to perform online analytical processing, wherein the first processing engine, the second processing engine, and the storage are modularized and configured to be decoupled from each other; and

a common proxy layer configured to connect a plurality of client computing devices to the first processing engine and the second processing engine.

2. The system of claim 1 , further comprising:

a centralized metadata service configured to align metadata for integrating the first processing engine and the second processing engine.

3. The system of claim 2 , the operations further comprising:

extracting, by the centralized metadata service, metadata from the data;

generating, by the centralized metadata service, metadata versions based on the extracted metadata; and

aligning, by the centralized metadata service, the metadata versions with an order of data manipulation languages.

4. The system of claim 1 , the operations further comprising:

dispatching, by the common proxy layer, queries received from the plurality of client computing devices to the first processing engine or the second processing engine based on types of the queries.

5. The system of claim 1 , the operations further comprising:

processing at least one portion of the data in the first format by the first processing engine in response to receiving a query for online transactional processing.

6. The system of claim 1 , the operations further comprising:

performing analysis on at least one portion of the data in the second format by the second processing engine in response to receiving a query online analytical processing.

7. The system of claim 1 , the operations further comprising:

generating physical logs and logical logs based on the data;

replicating the physical logs or the logical logs for construction of data pages; and

organizing data in the data pages in the first format for use by the first processing engine.

8. The system of claim 7 , the operations further comprising:

replicating the logical logs and distributing to the second part of the storage; and

sorting replications of the logical logs to a plurality of partitions based on a predetermined partitioning scheme.

9. The system of claim 8 , the operations further comprising:

applying at least one portion of the replications of the logical logs in order into a Delta Store of a corresponding partition among the plurality of partitions, wherein data in the Delta Store are stored in a row format and ordered based on log serial numbers associated with the at least one portion of the replications of the logical logs; and

flushing data from the Delta Store to a Base Store based on one or more predetermined rules, wherein data in the Base Store are organized in a columnar format for use by the second processing engine.

10. A method comprising:

capturing data by a first processing engine in real time, the first processing engine configured to perform online transactional processing;

organizing the data in a first format in a first part of a storage for use by the first processing engine;

propagating the same data to a second part of the storage;

organizing the same data in a second format in the second part of the storage for use by a second processing engine, the second processing engine configured to perform online analytical processing, wherein the first processing engine, the second processing engine, and the storage are modularized and configured to be decoupled from each other; and

connecting, by a common proxy layer, a plurality of client computing devices to the first processing engine and the second processing engine.

11. The method of claim 10 , further comprising:

aligning, by a centralized metadata service, metadata for integrating the first processing engine and the second processing engine.

12. The method of claim 11 , further comprising:

extracting, by the centralized metadata service, metadata from the data;

generating, by the centralized metadata service, metadata versions based on the extracted metadata; and

aligning, by the centralized metadata service, the metadata versions with an order of data manipulation languages.

13. The method of claim 10 , further comprising:

dispatching, by the common proxy layer, queries received from the plurality of computing devices to the first processing engine or the second processing engine based on types of the queries.

14. The method of claim 10 , further comprising:

generating physical logs and logical logs based on the data;

replicating the physical logs or logical logs for construction of data pages; and

organizing data in the data pages in the first format for use by the first processing engine.

15. The method of claim 14 , further comprising:

replicating the logical logs and distributing to the second part of the storage; and

sorting replications of the logical logs to a plurality of partitions based on a predetermined partitioning scheme.

16. The method of claim 15 , further comprising:

applying at least one portion of the replications of the logical logs in order into an Delta Store of a corresponding partition among the plurality of partitions, wherein data in the Delta Store are stored in a row format and ordered based on log serial numbers (LSN) associated with the at least one portion of the replications of the logical logs; and

flushing data from the Delta Store to a Base Store based on one or more predetermined rules, wherein data in the Base Store are organized in a columnar format for use by the second processing engine.

17. A non-transitory computer-readable storage medium, comprising computer-readable instructions that upon execution by a system cause the system to implement operations comprising:

capturing data by a first processing engine in real time, the first processing engine configured to perform online transactional processing;

organizing the data in a first format in a first part of a storage for use by the first processing engine;

propagating the same data to a second part of the storage;

organizing the same data in a second format in the second part of the storage for use by a second processing engine, the second processing engine configured to perform online analytical processing, wherein the first processing engine, the second processing engine, and the storage are modularized and configured to be decoupled from each other; and

connecting, by a common proxy layer, a plurality of client computing devices to the first processing engine and the second processing engine.

18. The non-transitory computer-readable storage medium of claim 17 , the operations further comprising:

dispatching, by the common proxy layer, queries received from the plurality of computing devices to the first processing engine or the second processing engine based on types of the queries.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2022
From: SICHUAN JINRITOUTIAO TECHNOLOGY CO., LTD.
To: LEMON INC.
Reel/Frame 061577/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2022
From: CAO, LIXUN; ZHANG, LEI
To: SICHUAN JINRITOUTIAO TECHNOLOGY CO., LTD.
Reel/Frame 061519/0911 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2022
From: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
To: LEMON INC.
Reel/Frame 061519/0994 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2022
From: CHEN, JIANJUN; DING, YONGHUA; LIU, YE; LI, FANGSHI; ZHANG, LI; ZHANG, MINGYI
To: BYTEDANCE INC.
Reel/Frame 059886/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2022
From: BYTEDANCE INC.
To: LEMON INC.
Reel/Frame 059886/0570 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2022
From: BYTEDANCE INC.
To: LEMON INC.
Reel/Frame 059886/0419 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2022
From: LIU, YANG; SHI, RUI
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 059886/0483 →
Continuity (1)
Related Publication 20230066540A1 · Mar 2, 2023