IP Library Granted Patent US 12681926
Granted Patent B2
US 12681926 · App. 19/024,908 · Granted Jul 14, 2026

Processing group-by operations in databases

Inventors: Yongchuan Niu (Beijing, CN); Dong Yin (Beijing, CN); Haohao Qian (Beijing, CN); Xu He (Beijing, CN); Li Wang (Beijing, CN); Qiang Yan (Beijing, CN)
Assignee: Beijing Zitiao Network Technology Co., Ltd.
G06F16/244G06F16/2237G06F16/284
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 12681926
App. No.
19/024,908
Granted
Jul 14, 2026
Kind
B2
Abstract

The present disclosure involves methods, apparatus, and systems for processing group-by operations in databases. In one example, a method includes receiving a query to perform a group-by operation based on first attributes and second attributes of a plurality of entities. The first attributes are private data owned by a first participant of a secure multi-party computation (MPC), and the second attributes are private data owned by a second participant of the secure MPC. The method further includes performing one-hot encoding on the first attributes to generate encoded first attributes, and calculating, based on secure MPC, a secret share of a dataset. The dataset includes the first set of numbers and the second attributes. The method further includes performing the group-by operation including arranging the plurality of entities into groups based on at least the encoded first attributes, and aggregating the second attributes of entities in each of the groups.

Claims (56)

1 . A computer-implemented method, comprising:

receiving a query to perform a group-by operation based on first attributes and second attributes of a plurality of entities, wherein the first attributes are private data owned by a first participant of a secure multi-party computation (MPC), and wherein the second attributes are private data owned by a second participant of the secure MPC;

performing one-hot encoding on the first attributes to generate encoded first attributes;

calculating, based on secure multi-party computation (MPC), a secret share of a dataset comprising the encoded first attributes and the second attributes; and

performing the group-by operation comprising:

arranging the plurality of entities into groups based on at least the encoded first attributes; and

aggregating the second attributes of entities in each group.

2 . The computer-implemented method of claim 1 , wherein the first attributes are stored in a first database accessed by the first participant, and the second attributes are stored in a second database accessed by the second participant.

3 . The computer-implemented method of claim 2 , wherein the first database and the second database are relational databases, and wherein the query is a Structured Query Language (SQL) query.

4 . The computer-implemented method of claim 3 , wherein aggregating the second attributes of entities in each group is based on one of a sum, maximum, minimum, average, count, count distinct, or percentile function of the SQL query.

5 . The computer-implemented method of claim 1 , wherein the first attributes comprise non-numerical data, and wherein the second attributes comprise numerical data.

6 . The computer-implemented method of claim 5 , wherein the first attributes belong to N1 categories, and wherein performing the one-hot encoding on the first attributes comprises:

generating, for each of the first attributes, a binary vector based on a category of the corresponding first attribute, wherein a length of the binary vector equals N1, wherein N1 is a positive integer.

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

performing one-hot encoding on third attributes to generate encoded third attributes, wherein the third attributes are private data owned by the second participant, wherein the dataset further comprises the encoded third attributes, and wherein performing the group-by operation comprises:

arranging the plurality of entities into groups based on the encoded first attributes and the encoded third attributes.

8 . The computer-implemented method of claim 7 , wherein the third attributes belong to N2 categories, and wherein performing the one-hot encoding on the third attributes comprises:

generating, for each of the third attributes, a binary vector based on a category of the corresponding third attribute, wherein a length of the binary vector equals N2, wherein N2 is a positive integer.

9 . The computer-implemented method of claim 1 , wherein calculating the secret share of the dataset comprises:

arranging the second attributes in a descending order; and

sorting the entities in the dataset corresponding to the arranged second attributes.

10 . The computer-implemented method of claim 9 , wherein sorting the entities in the dataset comprises:

receiving a permutation that indicates an order of the arranged second attributes; and

applying the permutation to the secret share of the dataset.

11 . The computer-implemented method of claim 1 , wherein the first participant is a first data center of a content provider, the second participant is a second data center of the content provider, and wherein the first attributes and the second attributes comprise user attributes corresponding to the content provider.

12 . One or more computer-readable storage media storing one or more instructions that, when executable by one or more computers, cause the one or more computers to perform operations comprising:

receiving a query to perform a group-by operation based on first attributes and second attributes of a plurality of entities, wherein the first attributes are private data owned by a first participant of a secure multi-party computation (MPC), and wherein the second attributes are private data owned by a second participant of the secure MPC;

performing one-hot encoding on the first attributes to generate encoded first attributes;

calculating, based on secure multi-party computation (MPC), a secret share of a dataset comprising the encoded first attributes and the second attributes; and

performing the group-by operation comprising:

arranging the plurality of entities into groups based on at least the encoded first attributes; and

aggregating the second attributes of entities in each group.

13 . The one or more computer-readable storage media of claim 12 , wherein the first attributes are stored in a first database accessed by the first participant, and the second attributes are stored in a second database accessed by the second participant.

14 . The one or more computer-readable storage media of claim 12 , wherein the first attributes comprise non-numerical data, and wherein the second attributes comprise numerical data.

15 . The one or more computer-readable storage media of claim 14 , wherein the first attributes belong to N1 categories, and wherein performing the one-hot encoding on the first attributes comprises:

generating, for each of the first attributes, a binary vector based on a category of the corresponding first attribute, wherein a length of the binary vector equals N1, wherein N1 is a positive integer.

16 . The one or more computer-readable storage media of claim 12 , wherein the operations further comprise:

performing one-hot encoding on third attributes to generate encoded third attributes, wherein the third attributes are private data owned by the second participant, wherein the dataset further comprises the encoded third attributes, and wherein performing the group-by operation comprises:

arranging the plurality of entities into groups based on the encoded first attributes and the encoded third attributes.

17 . The one or more computer-readable storage media of claim 16 , wherein the third attributes belong to N2 categories, and wherein performing the one-hot encoding on the third attributes comprises:

generating, for each of the third attributes, a binary vector based on a category of the corresponding third attribute, wherein a length of the binary vector equals N2, wherein N2 is a positive integer.

18 . The one or more computer-readable storage media of claim 12 , wherein calculating the secret share of the dataset comprises:

arranging the second attributes in a descending order; and

sorting the entities in the dataset corresponding to the arranged second attributes.

19 . The one or more computer-readable storage media of claim 18 , wherein sorting the entities in the dataset comprises:

receiving a permutation that indicates an order of the arranged second attributes; and

applying the permutation to the secret share of the dataset.

20 . 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 computer-readable storage media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

receiving a query to perform a group-by operation based on first attributes and second attributes of a plurality of entities, wherein the first attributes are private data owned by a first participant of a secure multi-party computation (MPC), and wherein the second attributes are private data owned by a second participant of the secure MPC;

performing one-hot encoding on the first attributes to generate encoded first attributes;

calculating, based on secure multi-party computation (MPC), a secret share of a dataset comprising the encoded first attributes and the second attributes; and

performing the group-by operation comprising:

arranging the plurality of entities into groups based on at least the encoded first attributes; and

aggregating the second attributes of entities in each group.