IP Library Granted Patent US 12,579,089
Granted Patent B2
US 12,579,089 · App. 18/685,110 · Granted Mar 17, 2026

Data processing method, apparatus and system based on para-virtualization device

Inventor: Chen Liang (Beijing, CN)
Assignee: HANGZHOU ALICLOUD FEITIAN INFORMATION TECHNOLOGY CO., LTD.
G06F13/28G06F9/45558G06F2009/45583
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,579,089
App. No.
18/685,110
Granted
Mar 17, 2026
Kind
B2
Abstract

A data processing method, apparatus and system based on a para-virtualization device are provided. The method comprises: acquiring a plurality of pieces of initial data which are stored in a completion queue of a para-virtualization device, wherein the plurality of pieces of initial data are used for representing description information of original data which has been processed by the para-virtualization device, but has not been submitted to a host; determining a plurality of pieces of first data, which meet a preset condition, among the plurality of pieces of initial data; performing an aggregation operation on the plurality of pieces of first data, so as to generate a first aggregation result; and sending to a memory of the host a direct memory access request that carries the first aggregation result.

Claims (42)

1 . A data processing method based on a para-virtualization device, comprising:

acquiring a plurality of initial data stored in a completion queue of the para-virtualization device, wherein the plurality of initial data is used to characterize descriptive information of raw data which has been processed by the para-virtualization device but not been submitted to a host, wherein the descriptive information comprises addresses and lengths associated with the raw data;

determining a plurality of first data that satisfy a preset condition among the plurality of initial data;

performing an aggregation operation on the plurality of first data to generate a first aggregation result, wherein the aggregation operation comprises splicing description information corresponding to the plurality of first data, which comprises at least one of: splicing addresses in the description information corresponding to the plurality of first data, and summing lengths in the description information corresponding to the plurality of first data;

sending a direct memory access request carrying the first aggregation result to a memory of the host.

2 . The method according to claim 1 , wherein determining the plurality of first data that satisfy the preset condition among the plurality of initial data comprises at least one of the following:

acquiring data stored in a target buffer to obtain the plurality of first data, wherein the plurality of initial data are sequentially cached to the target buffer;

determining the plurality of initial data as the plurality of first data in a case where a preset time arrives;

determining the plurality of initial data as the plurality of first data in a case where the amount of the plurality of initial data is greater than or equal to a preset amount.

3 . The method according to claim 1 , wherein performing the aggregation operation on the plurality of first data to generate the first aggregation result comprises:

determining a first transmission queue corresponding to each first data, wherein the first transmission queue is used to transmit the raw data;

acquiring first data corresponding to a same first transmission queue to obtain the first aggregation result.

4 . The method according to claim 3 , wherein acquiring the first data corresponding to the same first transmission queue to obtain the first aggregation result comprises:

determining a first transmission queue corresponding a first one of the first data among the plurality of first data to obtain a target transmission queue;

acquiring first data corresponding to the target transmission queue among the plurality of first data to obtain the first aggregation result.

5 . The method according to claim 1 , further comprising:

determining a plurality of second data among the plurality of initial data on the basis of an initial queue identification corresponding to the completion queue, wherein the initial queue identification is used to characterize identification information of data that has been submitted, and the plurality of second data are used to characterize data currently submitted to the host;

performing an aggregation operation on the plurality of second data to obtain a second aggregation result;

updating the initial queue identification on the basis of the second aggregation result.

6 . The method according to claim 5 , wherein performing the aggregation operation on the plurality of second data to obtain the second aggregation result comprises:

determining a second transmission queue corresponding to each second data;

acquiring second data corresponding to a same second transmission queue to obtain the second aggregation result.

7 . The method according to claim 1 , further comprising:

acquiring a plurality of raw data;

determining a third transmission queue corresponding to each raw data;

sequencing the plurality of raw data according to the third transmission queue to obtain sequenced data, wherein raw data corresponding to a same third transmission queue are adjacent;

sequentially writing the sequenced data into a data buffer of the host.

8 . A data processing system based on a para-virtualization device, comprising:

a host, comprising a memory and a completion queue;

the para-virtualization device connected with the host for acquiring a plurality of initial data stored in the completion queue, wherein the plurality of initial data is used to characterize descriptive information of raw data which has been processed by the para-virtualization device but not been submitted to the host, wherein the descriptive information comprises addresses and lengths associated with the raw data; determining a plurality of first data that satisfy a preset condition among the plurality of initial data; performing an aggregation operation on the plurality of first data to generate a first aggregation result, wherein the aggregation operation comprises splicing description information corresponding to the plurality of first data, which comprises at least one of: splicing addresses in the description information corresponding to the plurality of first data, and summing lengths in the description information corresponding to the plurality of first data; sending a direct memory access request carrying the first aggregation result to the memory of the host.

9 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 1 .

10 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 2 .

11 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 3 .

12 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 4 .

13 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 5 .

14 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 6 .

15 . A non-transitory computer-readable storage medium comprising a stored program, wherein the program, when running, controls a device in which the computer-readable storage medium is located to execute the data processing method based on the para-virtualization device of claim 7 .

16 . A computer terminal, comprising: a memory and a processor, the processor being used to run a program stored in the memory, wherein the program, when running, executes the data processing method based on the para-virtualization device of claim 1 .

17 . A computer terminal, comprising: a memory and a processor, the processor being used to run a program stored in the memory, wherein the program, when running, executes the data processing method based on the para-virtualization device of claim 2 .

18 . A computer terminal, comprising: a memory and a processor, the processor being used to run a program stored in the memory, wherein the program, when running, executes the data processing method based on the para-virtualization device of claim 3 .

19 . A computer terminal, comprising: a memory and a processor, the processor being used to run a program stored in the memory, wherein the program, when running, executes the data processing method based on the para-virtualization device of claim 4 .

20 . A computer terminal, comprising: a memory and a processor, the processor being used to run a program stored in the memory, wherein the program, when running, executes the data processing method based on the para-virtualization device of claim 5 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2026
From: HANGZHOU ALICLOUD FEITIAN INFORMATION TECHNOLOGY CO., LTD.
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075366/0376 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2024
From: LIANG, CHEN
To: HANGZHOU ALICLOUD FEITIAN INFORMATION TECHNOLOGY CO., LTD
Reel/Frame 066556/0080 →
Priority Claims (1)
CN 202210153414.2 · Feb 18, 2022 · national
Continuity (1)
Related Publication 20250130963A1 · Apr 24, 2025
References Cited (20)
US 10657084B1 · Thyamagondlu · 2020 [cited by examiner]
US 20050086390A1 · Banerjee · 2005 [cited by examiner]
US 20080147905A1 · Shi · 2008 [cited by examiner]
US 20120260005A1 · Couvee · 2012 [cited by examiner]
US 20160124876A1 · Vucinic · 2016 [cited by examiner]
US 20180088978A1 · Li et al. · 2018 [cited by applicant]
US 20200174819A1 · Dong et al. · 2020 [cited by applicant]
US 20210271426A1 · Cao et al. · 2021 [cited by applicant]
CN 104395895A · 2015 [cited by applicant]
CN 104615495A · 2015 [cited by applicant]
CN 103176833B · 2016 [cited by applicant]
CN 111133416A · 2020 [cited by applicant]
CN 114637574A · 2022 [cited by applicant]
WO 2014004060A1 · 2014 [cited by applicant]
Office Action issued on Oct. 30, 2024 in counterpart Chinese Application No. 202210153414.2 entitled “Apparatus and System for Data Processing Based On Para-Virtualiation Device” (6 pages). [cited by applicant]
English-language translation of Office Action issued on Oct. 30, 2024 in counterpart Chinese Application No. 202210153414.2 entitled “Apparatus and System for Data Processing Based on Para-Virtualiation Device” (6 pages… [cited by applicant]
English-language abstract of CN 104615495 A. [cited by applicant]
Extended European Search Report of European Patent Application No. 23755701.2 based on PCT/CN2023/074420, dated Jun. 30, 2025 (9 pages). [cited by applicant]
International Search Report for PCT/CN2023/074420 entitled “Data Processing Method, Apparatus and System Based On Para-Virtualization Device”, dated Jul. 4, 2023 (6 pages including English-language translation). [cited by applicant]
Written Opinion for PCT/CN2023/074420 entitled “Data Processing Method, Apparatus and System Based On Para-Virtualization Device”, dated Jul. 4, 2023 (4 pages). [cited by applicant]