Data processing method and apparatus, and device, medium and program product

WO2026175018A1PCT designated stage Publication Date: 2026-08-27TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2026/071848
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-02-21
Filing Date
2026-01-12
Publication Date
2026-08-27

Smart Images

  • Figure CN2026071848_27082026_PF_FP_ABST
    Figure CN2026071848_27082026_PF_FP_ABST
Patent Text Reader

Abstract

Disclosed in the present application are a data processing method and a related apparatus. The method comprises: acquiring service data and a first decision tree, wherein the first decision tree comprises N trees, and the N trees each comprise a plurality of leaf nodes and a plurality of non-leaf nodes; for a non-leaf node j of a t-th tree among the N trees, in response to a child node selection indication parameter of the non-leaf node j and a reference child node selection indication parameter meeting a preset matching condition, that is, the non-leaf node j being located at a first participant, comparing a data feature parameter of the service data with the child node selection indication parameter of the non-leaf node j, so as to obtain a comparison result, and on the basis of the comparison result, determining a child node of the non-leaf node j for processing the service data; then, on the basis of the determined child node of the non-leaf node j for processing the service data, determining a first division result of the service data on the t-th tree; and on the basis of an acquired first Boolean intersection share and the first division result, determining a service label corresponding to the service data. Therefore, the overheads of privacy comparison are reduced, thereby improving the efficiency of privacy-preserving vertical federated inference.
Need to check novelty before this filing date? Find Prior Art

Description

A data processing method, apparatus, device, medium, and program product

[0001] This application claims priority to Chinese Patent Application No. 202510198900X, filed on February 21, 2025, entitled “A Data Processing Method and Related Apparatus”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of computer technology, and in particular to data processing. Background Technology

[0003] As various enterprises and institutions collect, store, and maintain different types of data, there is a growing demand to break down data silos between them to achieve more comprehensive and accurate data analysis. Vertical federated learning is widely used due to its efficiency and interpretability in fields such as finance and healthcare. For example, in financial scenarios, banks and payment institutions each possess different behavioral characteristics of the same user. They jointly construct a federated gradient boosting decision tree (GBDT) to determine whether non-compliant behavior exists.

[0004] At the beginning of the algorithm, different participants need to align with the same group of users. Therefore, the Private Set Intersection (PSI) algorithm is required to obtain the data of the intersecting users. After the intersection is completed, no data of non-intersecting users will be exposed to each other. However, this will expose the data of the intersecting users to each other, which poses a risk of label leakage.

[0005] To address this issue, stealth federation algorithms have been proposed, most of which are based on Circuit Private Set Intersection (Circuit-PSI). However, these algorithms require extensive privacy comparison operations between data feature parameters and the child node selection indicator parameters of GBDT nodes. The overhead of these privacy comparison operations is significant, resulting in low efficiency. Summary of the Invention

[0006] To address the aforementioned technical problems, this application provides a data processing method and related apparatus that transforms the comparison between data feature parameters and child node selection indication parameters into a local computation, thereby eliminating the need for data exchange with other participants, saving the significant overhead incurred by data exchange in the privacy comparison process, improving privacy comparison efficiency, and ultimately enhancing the efficiency of covert vertical federated inference.

[0007] The embodiments of this application disclose the following technical solutions:

[0008] On one hand, embodiments of this application provide a data processing method, which is executed by a first participant, and the method includes:

[0009] The system acquires business data and a first decision tree, which runs on the first participant. The first decision tree is trained through longitudinal federated learning and includes N trees. Each of the N trees includes multiple leaf nodes and multiple non-leaf nodes. Each of the multiple non-leaf nodes is pre-configured with a child node selection indicator parameter. The child node selection indicator parameter is used to divide the child nodes of the non-leaf nodes used to process the business data.

[0010] For a non-leaf node j in the t-th tree of the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter stored by the first participant satisfy a preset matching condition, the data feature parameters of the business data are compared with the child node selection indication parameters of the non-leaf node j to obtain a comparison result, and the child node of the non-leaf node j used to process the business data is determined according to the comparison result, where t is a positive integer less than or equal to N, and j is an integer;

[0011] Based on the child nodes of the non-leaf node j determined for processing the business data, the first partitioning result of the business data on the t-th tree is determined;

[0012] Obtain the first Boolean intersection fragment held by the first participant. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result.

[0013] Based on the first Boolean intersection fragmentation and the first partitioning result, the business tag corresponding to the business data is determined.

[0014] On one hand, embodiments of this application provide a data processing apparatus, which is deployed in a first participating party, and the apparatus includes an acquisition unit and a determination unit:

[0015] The acquisition unit is used to acquire business data and a first decision tree. The first decision tree runs on the first participant. The first decision tree is trained by longitudinal federated learning and includes N trees. The N trees each include multiple leaf nodes and multiple non-leaf nodes. The multiple non-leaf nodes are pre-configured with child node selection indication parameters. The child node selection indication parameters are used to divide the child nodes of the non-leaf nodes used to process the business data.

[0016] The determining unit is configured to, for a non-leaf node j in the t-th tree of the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter stored by the first participant satisfy a preset matching condition, compare the data feature parameters of the business data with the child node selection indication parameters of the non-leaf node j to obtain a comparison result, and determine the child node of the non-leaf node j used to process the business data based on the comparison result, where t is a positive integer less than or equal to N, and j is an integer;

[0017] The determining unit is further configured to determine the first partitioning result of the business data on the t-th tree based on the child nodes of the non-leaf node j determined for processing the business data;

[0018] The acquisition unit is further configured to acquire a first Boolean intersection fragment held by the first participant, wherein the first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result;

[0019] The determining unit is further configured to determine the business tag corresponding to the business data based on the first Boolean intersection fragmentation and the first partitioning result.

[0020] On one hand, embodiments of this application provide a computer device, the computer device including a processor and a memory:

[0021] The memory is used to store computer programs and to transfer the computer programs to the processor;

[0022] The processor is configured to execute the method described in any of the foregoing aspects according to instructions in the computer program.

[0023] In one aspect, embodiments of this application provide a computer-readable storage medium for storing a computer program that, when executed by a processor, causes the processor to perform the methods described in any of the foregoing aspects.

[0024] On one hand, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the method described in any of the foregoing aspects.

[0025] As can be seen from the above technical solution, when performing stealth vertical federated inference, this application transforms the comparison between data feature parameters and child node selection indication parameters into a local operation. That is, after obtaining business data and the first decision tree, the comparison between data feature parameters and child node selection indication parameters is performed locally. Specifically, since the first participant obtains the first decision tree through vertical federated learning training, the first participant stores the reference child node selection indication parameters of the first decision tree. The first decision tree includes N trees, each of which includes multiple leaf nodes and multiple non-leaf nodes. Each non-leaf node is pre-configured with a child node selection indication parameter. The child node selection indication parameter is used to divide the child nodes of the non-leaf nodes used to process business data. Therefore, for the non-leaf node j of the t-th tree in the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter satisfy the preset matching condition, that is, the child node selection indication parameter is local to the first participant, the data feature parameters of the business data are compared with the child node selection indication parameters of the non-leaf node j locally to obtain the comparison result. Based on the comparison result, the child nodes of the non-leaf node j used to process business data are determined, where t is a positive integer less than or equal to N and j is an integer. Then, based on the determined child nodes of the non-leaf node j used to process business data, the first partitioning result of the business data on the t-th tree is determined. The comparison between the data feature parameters and the child node selection indicator parameters is performed locally only when the child node selection indicator parameters are local. This saves the significant overhead caused by data exchange in the privacy comparison process and improves the efficiency of privacy comparison. Afterwards, label inference is performed. Specifically, the first Boolean intersection fragment held by the first participant can be obtained. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result. Based on the first Boolean intersection fragment and the first partitioning result, the business label corresponding to the business data is determined. Compared with related technologies, this application transforms part of the comparison between the data feature parameters and the child node selection indicator parameters into a local operation, thus eliminating the need for data exchange with other participants, saving the significant overhead caused by data exchange in the privacy comparison process, improving the efficiency of privacy comparison, and thereby enhancing the efficiency of anonymous vertical federated inference. Attached Figure Description

[0026] Figure 1 is an application scenario architecture diagram of a data processing method provided in an embodiment of this application;

[0027] Figure 2 is a flowchart of a data processing method provided in an embodiment of this application;

[0028] Figure 3a is an example diagram of obtaining the first partitioning result by traversal according to an embodiment of this application;

[0029] Figure 3b is an example diagram of obtaining the first partitioning result by a non-traversal method according to an embodiment of this application;

[0030] Figure 4 is a schematic diagram of a hash mapping scenario provided by an embodiment of this application;

[0031] Figure 5 is an example diagram of a pipeline optimization provided in an embodiment of this application;

[0032] Figure 6 is a flowchart illustrating the overall process of a data processing method provided in an embodiment of this application.

[0033] Figure 7 is a structural diagram of a data processing device provided in an embodiment of this application;

[0034] Figure 8 is a structural diagram of a terminal provided in an embodiment of this application;

[0035] Figure 9 is a structural diagram of a server provided in an embodiment of this application. Detailed Implementation

[0036] The embodiments of this application will now be described with reference to the accompanying drawings.

[0037] To facilitate understanding, the terms used in this application will be explained first.

[0038] Federated Learning (FL) is a privacy-preserving distributed machine learning technique that addresses the problem of how to collaboratively train a global model on virtually "aggregated" data when sensitive data is held by multiple independent institutions, groups, or individuals (e.g., first and second participants) while protecting data privacy. Federated Learning can be categorized into Vertical Federated Learning and Horizontal Federated Learning.

[0039] Vertical federated learning can include anonymous vertical federated learning. Anonymous vertical federated learning refers to training a vertical federated learning model without exposing the identity (ID) set after intersection. In other words, the sample alignment process is a data-leak-free vertical federated learning method, and feature data is used indiscriminately to train model parameters. In federated learning practice, the extreme gradient boosting (XGboost) algorithm (i.e., the anonymous vertical federated XGboost training algorithm) is the most widely used federated machine learning algorithm (i.e., the vertical federated learning model training algorithm). XGBoost is an improved version of gradient boosting decision trees. XGBoost uses classification trees or regression trees as the base classifier, offering higher scalability and faster, more efficient performance.

[0040] Secure multi-party computation (MPC) is a technique for securely solving a global problem when secrets are distributed among multiple participating parties.

[0041] Secret Sharing (SS) involves distributing a secret among various participants, with each participant receiving a portion of the secret, known as a share. Only when a certain number of participants aggregate their shares can the secret be recovered.

[0042] Secret sharing can include arithmetic secret sharing and Boolean secret sharing. Secret sharing can be used to generate secret slices, arithmetic secret sharing can be used to generate arithmetic slices, and Boolean secret sharing can be used to generate Boolean slices. Arithmetic secret sharing: For integer ring Z... P The number x is split into two pieces. and It is held by two parties, namely Similarly, it can be seen that Arithmetic partitioning has an additive homomorphism, i.e. Multiplication requires a multiplication triple to implement. Here, p (i.e., 2^p) λ () represents the modulus, for example, p equals 2. 128 (i.e., modulo 2) 128 Adding ), indicates that the maximum value of the integer is 2. 128 -1, at this time, the addition operation refers to Z. P The addition and subtraction operations on the Z-axis refer to the Z-axis. P Subtraction on top. Boolean secret sharing: Generally, the Boolean value x is split into two parts (i.e., Boolean partitions) based on XOR. and It is held by two parties, that is, for a Boolean value x, In other words, if the random number is secretly shared using XOR, the result is called a Boolean slice; if it is secretly shared using arithmetic addition, the result is called an arithmetic slice. Boolean slices and arithmetic slices can be collectively referred to as secret slices (or simply slices).

[0043] It should be understood that, for the first participant (i.e., P0) and the second participant (i.e., P1), the embodiments of this application can use <·> to represent fragmentation, where the fragment superscript A represents an arithmetic fragment, the fragment superscript B represents a Boolean fragment, the fragment subscript 0 indicates that the fragment is held by the first participant, and the fragment subscript 1 indicates that the fragment is held by the second participant; when the fragment subscript is omitted, it indicates that both the first and second participants need to perform the calculation. In other words,<x> A Let x represent an arithmetic slice, where each of the two participants has a random value, and the sum of these two random values ​​on Zp is x. <x> B Let x represent a Boolean slice, where each participant has one random bit, and the XOR of these two random bits equals x. Assume each participant has a slice of the input x, and P0 holds... P1 holds Note that x is a floating-point number, so it needs to be converted into a slice on the integer ring, which requires multiplying it by a magnification factor.

[0044] Multi-party secure computation operators: (1) Two-party piecewise addition (ADD), here using " <x> A + <y> A "Indicates: Input" <x> A and <y> A Output<x+y> A (2) Partial multiplication (MUL), here we use " <x> A · <y> A "Indicates: Input" <x> A and <y> A Output<x·y> A If the input is two matrix partitions, this is also represented as element-wise multiplication, that is, multiplying the partition elements of the same row and column of the two matrices to obtain a matrix partition of the same size. (3) Two-way partition AND, here we use "AND( <x> B , <y> B ")" indicates: Input <x> B and <y> B Output<x&y> B (4) Two-way XOR, here we use "XOR( <x> B , <y> B ")" indicates: Input <x> B and <y> B Output<x⊕y> B (5) Two-way selection (Multiplexer), here we use "MUX ( <x> B , <y> A ")" indicates: Input <x> B and <y> A When x = 0, output <y> A Otherwise, output the fragment corresponding to 0. <0> A (6) Two-sided piecewise Sigmoid function, <y> A =Sigmoid( <x> A The Sigmoid function can be converted into two-sided piecewise addition and multiplication through polynomial fitting. (7) Two-sided comparison function <z> B =greater( <x> A (x, y), when x>=y, z=1, otherwise z=0.

[0045] In anonymous vertical federated inference, each participant possesses its own business data. Taking the first participant P0 and the second participant P1 as an example, P0 possesses business data X0 and the corresponding user identifier ID0, while P1 possesses business data X1 and the corresponding user identifier ID1. They want to jointly compute the inference y[i] = f(X0[i]||X1[j]), where ID0[i] = ID1[j]∈ID0∩ID1, and f(·) is the GBDT inference process. During this process, neither party discloses its own business data or ID to the other; they only know the final label and the public parameters of f(·). The parameters include multiple trees of depth D. The leaf node weights w of f(·) obtained from training represent the sharding state, which is supported by both parties. It is worth noting that the child node selection indicator parameter is only known to the participant possessing the feature, and not to the other party. For a given set of business data, taking a binary decision tree as an example, the specific process of f(·) is as follows:

[0046] For each non-leaf node of a tree, the corresponding data feature parameter is compared with the child node selection indicator parameter. If the parameter is smaller than the child node selection indicator parameter, the sample is placed in the right subtree; otherwise, it is placed in the left subtree. This process is repeated until the sample reaches a leaf node. Then, the weights of the leaf nodes containing the business data of each tree are summed to calculate the final predicted label.

[0047] In the aforementioned stealth vertical federated inference process, since the child node selection indicator parameter is known only to the participant who possesses the feature and not to other participants, when a participant needs to perform a privacy comparison operation between the data feature parameter and the child node selection indicator parameter, it needs to exchange data with other participants, resulting in a large overhead for the privacy comparison operation and thus low efficiency of the aforementioned stealth vertical federated inference.

[0048] To address the aforementioned technical problems, this application provides a data processing method. During covert vertical federated inference, this method transforms the comparison between data feature parameters and child node selection indicator parameters into a local operation. Specifically, the comparison is performed only when the child node selection indicator parameters are local to the first participant, eliminating the need for data exchange with other participants. This saves significant overhead associated with data exchange during the privacy comparison process, improves privacy comparison efficiency, and ultimately enhances the efficiency of covert vertical federated inference.

[0049] It should be noted that the data processing method provided in this application can be applied to scenarios such as cross-company and cross-institutional collaboration, protecting user IDs while performing anonymous vertical federated inference. Specifically, it can be used in business scenarios such as financial risk control, medical disease prediction, autonomous driving (e.g., improving the driving experience), and multimedia data recommendation (e.g., video recommendation). For example, in the medical field, rare diseases are frequently encountered in medical research. Currently, there are practical difficulties such as samples being scattered across different hospitals, which greatly hinders diagnosis and treatment. Vertical federated learning can integrate samples from different hospitals to achieve the diagnosis and treatment of rare diseases. Another example is in the financial field, where federated transfer learning is used for credit risk control of micro and small enterprises. It can leverage existing models in previous applications by financial institutions (e.g., credit models for medium and large enterprises or marketing models for micro and small enterprises) to improve application effectiveness. Yet another example is in the autonomous driving scenario, the interaction learning between the vehicle and the system environment can be supplemented by other urban information (e.g., city cameras, traffic lights, and future smart roads). Through vertical federation, information from different sources can be better integrated while protecting privacy, improving the autonomous driving experience. For example, in multimedia data recommendation scenarios, data from different platforms can interact and learn from each other, thereby improving the accuracy of multimedia data recommendations.

[0050] The data processing method provided in this application embodiment can be executed by a first participating party, which is a computer device participating in vertical federated learning. This computer device can be, for example, a server or a terminal. The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services. The terminal includes, but is not limited to, vehicle terminals, smartphones, tablets, computers, intelligent voice interaction devices, smart home appliances, aircraft, etc.

[0051] Figure 1 illustrates an application scenario architecture diagram of a data processing method. This application scenario uses server 100 as the first participant as an example.

[0052] Anonymous federated algorithms can include an anonymous vertical federated training process and an anonymous vertical federated inference process. In the anonymous vertical federated training process, multiple participants (i.e., the computer devices corresponding to objects such as companies, institutions, and enterprises) can train their own models based on the anonymous federated algorithm, such as tree-like decision tree models. A tree-like decision tree model is a tree-structured neural network model, also known as a decision tree, where each participant maintains its own decision tree. Since multiple participants contribute their own business data to train the decision tree during anonymous vertical federated training, the key step in constructing the decision tree is continuous splitting. Splitting means constructing different branches at a node based on different data feature parameters, until the last layer of branches, thus obtaining a decision tree. The resulting decision tree has child node selection indicator parameters, which determine how to branch. In the anonymous vertical federated training process, each participant only has child node selection indicator parameters trained based on its own unique business data. These child node selection indicator parameters can refer to the splitting boundaries determined for a certain dimension of data feature parameters when constructing the decision tree, such as age 30 or height 175 cm. The child node selection indicator parameter is used to divide the non-leaf nodes used for processing business data into child nodes. This parameter can also be called the split point. The split point, based on feature selection, is the critical point that divides the dataset into different subsets. In the construction of a decision tree, the goal of split point selection is to find a critical point that maximizes the differentiation between subsets, thus clearly defining the dividing point for different components. Therefore, when using a decision tree for data inference, for a given set of business data, the branch to which the business data should be divided can be determined based on the data feature parameters and the split point.

[0053] It should be noted that the computer device that trains the decision tree based on the stealth federated algorithm can be the same as or different from the computer device that executes the data processing method provided in the embodiments of this application. The embodiments of this application do not limit this.

[0054] For example, multiple participants include a first participant and a second participant, which belong to computer devices of different objects. In this example, the first and second participants each contribute their own business data to train their respective decision trees, while the first participant executes the data processing method provided in this application embodiment. The decision tree maintained by the first participant can be called the first decision tree. For the first participant, some of the child node selection indication parameters of the first decision tree are determined based on the first participant's business data, while others are determined based on the second participant's business data. The first participant stores the child node selection indication parameters determined based on its business data, which can be called reference child node selection indication parameters. The remaining child node selection indication parameters determined based on the second participant's business data are stored on the second participant.

[0055] In the anonymous vertical federated reasoning process, each participant can use its own maintained decision tree to perform label reasoning, thereby obtaining business labels for business data.

[0056] This application primarily improves the stealth vertical federated inference process by transforming the comparison between data feature parameters and child node selection indication parameters into a local computation during stealth vertical federated inference. Taking the first participant among multiple participants as an example, after obtaining the business data and the first decision tree of the first participant, the server 100, as the first participant, first performs a local comparison between the data feature parameters and the child node selection indication parameters.

[0057] Specifically, since the first decision tree comprises N trees, each tree includes leaf nodes and non-leaf nodes. Leaf nodes are the last-level nodes in each tree, and non-leaf nodes are all nodes in each tree except for the leaf nodes. Each non-leaf node has corresponding child nodes. The child nodes of a non-leaf node are either non-leaf nodes or leaf nodes. When the child node of a non-leaf node is a last-level node in the tree, the child node of the non-leaf node is a leaf node; otherwise, the child node of the non-leaf node is still a non-leaf node. Therefore, for a non-leaf node j in the t-th tree of the N trees, server 100 determines whether the child node selection indicator parameter of non-leaf node j meets the preset matching condition with the reference child node selection indicator parameter, that is, whether the child node selection indicator parameter of non-leaf node j is stored locally in the first participant. Here, t is a positive integer less than or equal to N, and j is an integer.

[0058] In response to a predefined matching condition (i.e., the child node selection indicator parameter of a non-leaf node j is located locally on the first participant's machine), server 100 compares the data feature parameters of the business data with the child node selection indicator parameters of non-leaf node j locally, obtains the comparison result, and determines the child node of non-leaf node j used to process the business data based on the comparison result. In Figure 1, taking the non-leaf node j shown in Figure 1 as an example, the child node used to process the business data is determined to be the left child node of non-leaf node j based on the comparison result. Then, based on the determined child node of non-leaf node j used to process the business data, the first partitioning result of the business data in the t-th tree is determined. That is, server 100 only performs the comparison between the data feature parameters and the child node selection indicator parameters locally when the child node selection indicator parameters are local, thereby saving the significant overhead caused by data exchange in the privacy comparison process and improving the efficiency of privacy comparison.

[0059] Afterwards, server 100 performs tag inference. Specifically, server 100 can obtain the first Boolean intersection fragment held by the first participant. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result, so as to determine the business tag corresponding to the business data based on the first Boolean intersection fragment and the first partitioning result.

[0060] It should be noted that in the specific implementation of this application, the entire process may involve user information and other related data. When the above embodiments of this application are applied to specific products or technologies, separate consent or permission from the user is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0061] Next, the data processing method provided in this application embodiment will be described in conjunction with the accompanying drawings, taking the data processing method performed by the first participant as an example. Referring to Figure 2, Figure 2 shows a flowchart of a data processing method, which may include S201-S205, as detailed below:

[0062] S201. Obtain business data and a first decision tree. The first decision tree runs on the computer device of the first participant. The first decision tree is trained through vertical federated learning and includes N trees. Each of the N trees includes multiple leaf nodes and multiple non-leaf nodes. Each of the multiple non-leaf nodes is pre-configured with a child node selection indicator parameter. The child node selection indicator parameter is used to divide the child nodes of the non-leaf nodes used to process business data.

[0063] Multiple participants in the anonymous vertical federated learning can train their own models, such as decision trees, based on the anonymous federated algorithm. Each participant maintains its own decision tree, and during the anonymous vertical federated inference process, each participant can use its maintained decision tree to perform label inference, thereby obtaining business labels for the business data. The multiple participants can be two or more, and this embodiment does not limit this. The first participant can be any of the multiple participants. It is understood that the multiple participants can be divided into receivers and senders. The sender is the party holding the privacy set, and the receiver is the party seeking the intersection of its identifier with that of the sender. Therefore, in one possible implementation, the first participant can be the receiver, denoted as P0, and the sender can be the second participant, denoted as P1.

[0064] The first participant obtains the first decision tree through vertical federated learning training, and performs label inference by running the first decision tree. The first participant stores reference child node selection indication parameters of the first decision tree, which are child node selection indication parameters determined on the first decision tree based on the first participant's business data.

[0065] The embodiments of this application do not limit the decision tree maintained. The decision tree can be GBDT, which is a decision tree algorithm that improves the prediction of the result by optimizing through differentiable loss in a staged manner. The most commonly used one is XGboost.

[0066] The business data acquired in this application embodiment is business data from which business tags need to be inferred. Business tags represent the category of the business data. In different business scenarios, the business data differs, and the resulting business tags also represent different meanings. For example, the business data could be symptom information in a medical scenario. The first decision tree can then be used to process the symptom information, and the result of this processing (i.e., the business tag) can be auxiliary suggestion information corresponding to the symptom information. This auxiliary suggestion information can be provided to doctors to help them diagnose and treat diseases. As another example, the business data could be vehicle driving data in an autonomous driving scenario. The first decision tree can be used to process the vehicle driving data (e.g., vehicle driving status analysis), and the result of this processing (i.e., the business tag) can be the driving status corresponding to the vehicle driving data, thereby achieving autonomous driving. Yet another example is that the business data could be operation data in a multimedia data recommendation scenario. The first decision tree can be used to process the operation data (e.g., classification tag recognition), and the result of this processing (i.e., the business tag) can be the classification tag corresponding to the operation data, thereby achieving multimedia data recommendation based on that classification tag.

[0067] S202. For a non-leaf node j in the t-th tree of N trees, in response to the fact that the child node selection indicator parameter of the non-leaf node j and the reference child node selection indicator parameter meet the preset matching conditions, the data feature parameters of the business data are compared with the child node selection indicator parameters of the non-leaf node j to obtain the comparison result, and the child node of the non-leaf node j used to process the business data is determined according to the comparison result.

[0068] Wherein, the t-th tree can be any tree among the N trees, or a tree among the N trees that meets the first preset screening condition, and the non-leaf node j can be any non-leaf node on the t-th tree, or a non-leaf node that meets the second preset screening condition. This application embodiment does not limit this.

[0069] If the child node selection indicator parameter of a non-leaf node j meets the preset matching condition with the reference child node selection indicator parameter, the data feature parameters of the business data are compared with the child node selection indicator parameter of the non-leaf node j to obtain the comparison result. Based on the comparison result, the child nodes of the non-leaf node j used to process the business data are determined. However, if it is determined that the child node selection indicator parameter of a non-leaf node j does not meet the preset matching condition with the reference child node selection indicator parameter, that is, the child node selection indicator parameter is not local to the first participant, then there is no need to compare the child node selection indicator parameter with the data feature parameters of the business data. Instead, it is directly assumed that each child node of the non-leaf node j is used to process business data. In other words, even if the child node selection indicator parameter is not local to the first participant, there is no need for data exchange. Instead, it is directly assumed that each child node of the non-leaf node j is used to process business data, thereby saving the large amount of overhead caused by data exchange in the privacy comparison process and improving the efficiency of privacy comparison.

[0070] The preset matching condition can be that the child node selection indicator parameter of a non-leaf node j is the same as the reference child node selection indicator parameter stored by the first participant. For example, when storing the reference child node selection indicator parameter, the first participant can store the correspondence between the reference child node selection indicator parameter and the identifier of the non-leaf node j. For a non-leaf node j, the identifier of the non-leaf node j can be searched in the correspondence. If the identifier of the non-leaf node j exists in the correspondence, it is determined that the child node selection indicator parameter of the non-leaf node j and the reference child node selection indicator parameter of the non-leaf node j satisfy the preset matching condition, thereby determining that the child node selection indicator parameter of the non-leaf node j is stored locally by the first participant.

[0071] It should be noted that the embodiments of this application do not limit the means of determining whether the child node selection indicator parameter of a non-leaf node j meets the preset matching conditions with the reference child node selection indicator parameter. In addition to the matching method based on the identifier of the non-leaf node mentioned above, the child node selection indicator parameter belonging to the local node can also be stored as the reference child node selection parameter. Then, when processing a non-leaf node j, the child node selection parameter of the non-leaf node j is matched with the reference child node selection parameter. If the reference child node selection parameter can be matched, that is, if the reference child node selection parameter is the same as the child node selection parameter of the non-leaf node j, it can be determined that the child node selection indicator parameter of the non-leaf node j meets the preset matching conditions with the reference child node selection indicator parameter.

[0072] It is understandable that the child node selection indicator parameter and the data feature parameter can be represented by their respective parameter values. Therefore, in one possible implementation, comparing the data feature parameter of the business data with the child node selection indicator parameter of the non-leaf node j can mean comparing the parameter value of the data feature parameter with the parameter value of the child node selection indicator parameter, thereby obtaining a comparison result that reflects the size relationship between the two parameter values.

[0073] In the embodiments of this application, the first decision tree may be a binary tree, a ternary tree, etc. For different trees, the number of child nodes included in a non-leaf node of a tree is different. For example, in a binary tree, the number of child nodes included in a non-leaf node is 2, that is, a non-leaf node has 2 child nodes; in a ternary tree, the number of child nodes included in a non-leaf node is 3, that is, a non-leaf node has 3 child nodes; and so on to an M-ary tree, the number of child nodes included in a non-leaf node is M, that is, a non-leaf node has M child nodes, where M can be any positive integer.

[0074] For a non-leaf node (e.g., non-leaf node j) with M child nodes, it is necessary to determine which of the M child nodes the business data should be assigned to based on the comparison results. When constructing the first decision tree, the partitioning process for each child node is already known; that is, each child node has a corresponding comparison result. Therefore, in one possible implementation, determining the child node of non-leaf node j for processing business data based on the comparison results could be: if the comparison result corresponds to the k-th child node among the M child nodes, then the business data is determined to be processed by the k-th child node of non-leaf node j, where k is a positive integer less than or equal to M.

[0075] In this context, the comparison results corresponding to the M child nodes can be completely different, or some comparison results can be the same (for example, the comparison result corresponding to the first child node is the first comparison result, and the comparison results corresponding to the remaining child nodes are the second comparison results). When the comparison results corresponding to the M child nodes are completely different, the business data belongs to which child node of the non-leaf node j if the comparison result corresponds to the first child node. When some comparison results corresponding to the M child nodes are the same, for example, the comparison result corresponding to the first child node is the first comparison result, and the comparison results corresponding to the remaining child nodes are the second comparison results, if the comparison result corresponds to the first child node, then the business data is determined to be processed by the first child node of the non-leaf node j; if the comparison result corresponds to the comparison results of the remaining child nodes, then the business data is determined to be processed by one of the remaining child nodes. This "one" child node can be any of the remaining child nodes, or it can be the child node closest to the first child node, etc. In this embodiment, the comparison results are matched with the partitioning strategies corresponding to different branches (i.e., the comparison results corresponding to different child nodes) determined during the construction of the first decision tree, thereby determining the child nodes used to process business data. This can determine the child nodes used to process business data more accurately.

[0076] It is understandable that, in order to identify the child node used to process business data, it is necessary to record which child node of non-leaf node j the business data is assigned to for subsequent use. This application embodiment does not limit the recording format of the child node used to process business data. In one possible implementation, a partitioning indicator flag can be set for each child node of non-leaf node j, reflecting which child node of non-leaf node j is used to process the business data.

[0077] This application does not limit the representation of the partition indicator mark in its embodiments; the partition indicator mark can be a symbol, a number, etc. The partition indicator mark for a child node used to process business data differs from the partition indicator mark for a child node not used to process business data. For example, the partition indicator mark for a child node used to process business data is a first indicator mark, and the partition indicator mark for a child node not used to process business data is a second indicator mark. Thus, the partition indicator mark can be used to determine whether a child node is used to process business data. Taking a number as an example, the first indicator mark can be 1, and the second indicator mark can be 0.

[0078] At this time, if the comparison result is the comparison result corresponding to the kth child node among the M child nodes, the way to determine that the kth child node of the non-leaf node j is to process the business data can be as follows: if the comparison result is the comparison result corresponding to the kth child node among the M child nodes, determine the partitioning indicator of the kth child node as the first indicator, and determine the partitioning indicator of the remaining child nodes as the second indicator. The first indicator is used to indicate that the corresponding child node is used to process business data, and the second indicator is used to indicate that the corresponding child node is not used to process business data. The remaining child nodes are the child nodes other than the kth child node among the M child nodes.

[0079] This application embodiment determines a partitioning indicator for each child node of a non-leaf node j, thereby directly distinguishing which child node is used to process business data based on the partitioning indicator, which is simpler, more convenient, and more intuitive.

[0080] In this embodiment, the first decision tree may include a binary tree, a ternary tree, etc. Taking a binary tree as an example, if the M child nodes of a non-leaf node j are the first child node and the second child node, then if the comparison result is the comparison result corresponding to the kth child node among the M child nodes, the way to determine that the kth child node of the non-leaf node j will process the business data may be as follows: if the comparison result is that the data feature parameter of the business data is less than the child node selection indication parameter of the non-leaf node j, the first child node is determined to be used to process the business data, and the first child node is the kth child node of the non-leaf node j, k=1; if the comparison result is that the data feature parameter of the business data is greater than the child node selection indication parameter of the non-leaf node j, the second child node is determined to be used to process the business data, and the second child node is the kth child node of the non-leaf node j, k=2.

[0081] In a binary tree, each non-leaf node has two child nodes, located to its left and right. Therefore, in one possible implementation, the first child node can be the left child node, and the second child node can be the right child node. Each tree in the first decision tree includes a root node, internal nodes, and leaf nodes. The root node represents the entire dataset, initially without any partitioning. Internal nodes represent the splitting boundary of a specific data feature parameter, dividing the entire dataset into multiple child nodes based on this boundary. Leaf nodes represent the final classification or regression output. Both the root node and internal nodes can be called non-leaf nodes. If the number of non-leaf nodes is M, then the root node can be non-leaf node 0, and the other internal nodes can be sequentially denoted as non-leaf node 1, non-leaf node 2, non-leaf node 3, ..., non-leaf node M-1.

[0082] Therefore, for business data i and the non-leaf node j of the t-th tree, when the above partitioning indicator is represented by numbers, the first indicator is 1, and the second indicator is 0, P l Set the root node partition indicator c l [i,t,0] represents all 1s, meaning business data i is on the root node, and l can be 0 or 1. When the child node selection indicator parameter of a non-leaf node j is on the side of the first participant, the data characteristic parameter of the business data is calculated locally. If the data characteristic parameter is less than the child node selection indicator parameter, then the partition indicator mark of the left child node is determined to be c. l [i,t,j*2+1]=1, where j*2+1 represents the index of the current left child node as a non-leaf node, and c is the partition indicator for determining the right child node. l [i,t,j*2+2]=0, where j*2+2 represents the index of the current left child node as a non-leaf node; otherwise, the partition indicator for the left child node is determined as c. l [i,t,j*2+1]=0, therefore the partition indicator for the right child node is c. l [i,t,j*2+2]=1.

[0083] In the embodiment of this application, when the t-th tree is a binary tree, different partitioning indicator tags are determined based on the child nodes of non-leaf node j with different comparison results. This allows for direct differentiation of which child node is used to process business data based on the partitioning indicator tags, making the management of business data simpler, more convenient, and more intuitive.

[0084] Correspondingly, when the child node selection indicator parameter of a non-leaf node j is not in the first participant, the determination of which child node of the non-leaf node j is used to process business data can also be represented by the partition indicator mark. In this case, the way to determine that each child node of the non-leaf node j is used to process business data can be: determine the partition indicator mark of each child node of the non-leaf node j as the first indicator mark, and the first indicator mark is used to indicate that the corresponding child node is used to process business data.

[0085] In other words, when the child node selection indicator parameter of a non-leaf node j is not local to the first participant, it is directly assumed that each child node of the non-leaf node j is used to process business data, and the partition indicator flag of each child node is directly determined to be used to process business data. Therefore, the partition indicator flag of each child node of the non-leaf node j is set as the first indicator flag.

[0086] Taking a first decision tree as an example, where the first child node is a binary tree, the first child node is the left child node, and the second child node is the right child node, and the above partitioning indicator is represented by numbers, with the first indicator being 1 and the second indicator being 0, when the child node selection indicator parameter of non-leaf node i is not on the side of the first participant, there is no need to compare the child node selection indicator parameter with the data feature parameters of the business data. Instead, it is directly assumed that each child node of non-leaf node j contains business data, and the partitioning indicator parameter of the left child node is directly determined to be c. l [i,t,j*2+1]=1, determining the partition indicator for the right child node as c. l [i,t,j*2+2]=1.

[0087] This application embodiment indicates which child node of non-leaf node j processes business data by determining a partitioning indicator flag for each child node of non-leaf node j, thereby making business data management simpler, more convenient, and more intuitive. Simultaneously, when the child node selection indicator parameter of non-leaf node j is not in the first participating party, the same partitioning indicator flag indicating that business data exists in each child node is directly set for each child node, thereby improving the efficiency of privacy comparison while ensuring partitioning accuracy as much as possible.

[0088] S203. Based on the child nodes of the non-leaf node j used for processing business data, determine the first partitioning result of the business data on the t-th tree.

[0089] The first partitioning result is used to indicate the node used to process business data when the decision stops. When the child nodes of a non-leaf node j used to process business data are represented by partitioning indicator tags, the first partitioning result can also be represented by partitioning indicator tags, which will not be elaborated further here.

[0090] It should be noted that the implementation of S203 varies depending on the decision-making method of the first decision tree. If the decision-making method of the first decision tree is traversal, then after obtaining the business data, the N trees in the first decision tree can be traversed based on the business data. Traversal can refer to sequentially obtaining the child node selection indicator parameters of each non-leaf node in each tree, thereby determining which child node of the non-leaf node will process the business data based on the child node selection indicator parameters, until the child node of the non-leaf node is a leaf node.

[0091] At this point, the t-th tree is the tree traversed at the current moment during the traversal of N trees based on business data, and the non-leaf node j is the non-leaf node traversed at the current moment during the traversal of all non-leaf nodes of the t-th tree based on business data. For each traversed tree, a similar traversal is performed. Taking the t-th tree among N trees as an example, where t = 1, 2, 3, ..., N, all non-leaf nodes of the t-th tree are traversed. For the traversed non-leaf node j, it is determined whether the child node selection indicator parameter of non-leaf node j meets the preset matching condition with the reference child node selection indicator parameter, i.e., whether it is located locally in the first participant. The traversal is calculated locally. In response to the fact that the child node selection indicator parameter of non-leaf node j and the reference child node selection indicator parameter satisfy a preset matching condition (i.e., the child node selection indicator parameter is local to the first participant), the data feature parameters of the business data are compared with the child node selection indicator parameter of non-leaf node j locally to obtain a comparison result. Based on the comparison result, the child node of non-leaf node j used to process the business data is determined until the child node of non-leaf node j is a leaf node of the t-th tree, thus completing the traversal of the t-th tree and obtaining the first partitioning result of the business data in the t-th tree. At this time, S203 can be implemented as follows: if the determined child node of non-leaf node j used to process the business data is a leaf node of the t-th tree, then the first partitioning result is obtained, and the first partitioning result is used to indicate the leaf node on the t-th tree used to process the business data.

[0092] Referring to Figure 3a, for simplicity, only a portion of the first decision tree and some of its nodes are shown in Figure 3a as an example, and it does not constitute a limitation on the first decision tree. Starting from non-leaf node 1 of the first tree, it is determined whether the child node selection indicator parameter of non-leaf node 1 meets the preset matching condition with the reference child node selection indicator parameter. If so, the data feature parameters of the business data are compared locally with the child node selection indicator parameter of non-leaf node 1 to obtain the comparison result. Based on the comparison result, the child node of non-leaf node 1 used to process the business data is determined. For example, in Figure 3a, the child nodes of non-leaf node 1 include non-leaf node 2 and non-leaf node 3. Based on the comparison result, it is determined that non-leaf node 2 will process the business data. Next, the process iterates through the next non-leaf node, such as non-leaf node 2. It checks whether the child node selection indicator parameter of non-leaf node 2 meets the preset matching condition with the reference child node selection indicator parameter. If so, it compares the data feature parameter of the business data with the child node selection indicator parameter of non-leaf node 2 locally to obtain the comparison result. Based on the comparison result, it determines the child node of non-leaf node 2 used to process the business data. The child node of non-leaf node 2 is not shown in Figure 3a. Assuming that the rightmost child node of non-leaf node 2 is determined to process the business data, the process continues. If non-leaf node j is reached, it checks whether the child node selection indicator parameter of non-leaf node j meets the preset matching condition with the reference child node selection indicator parameter. If so, it compares the data feature parameter of the business data with the child node selection indicator parameter of non-leaf node j locally to obtain the comparison result. Based on the comparison result, it determines the child node of non-leaf node j used to process the business data. For example, in Figure 3a, the child nodes of non-leaf node j include leaf node 1 and leaf node 2. By comparing the results, it is determined that leaf node 2 will handle the business data. At this point, the last level of the first tree has been reached, so the traversal can be stopped, thus obtaining the first partition result of the first tree.

[0093] Next, traverse the second tree in a similar manner to the first tree, starting from the non-leaf node 1 and continuing until the child node of the non-leaf node j used to process business data becomes a leaf node, thus obtaining the first partition result of the second tree. Continue in this manner, traversing the Nth tree to obtain the first partition result of the Nth tree.

[0094] By traversing the first decision tree, the first partitioning result can be obtained more accurately. This allows for the comprehensive determination of business labels by combining the first partitioning results of N trees, improving the accuracy of subsequent business label determination. If the decision-making method of the first decision tree is non-traversal, the business label can be determined using only the first partitioning result of the t-th tree, or by using the first partitioning results of a subset of the N trees. In this case, S203 can be implemented as follows: if the child nodes of the non-leaf node j used for processing business data are determined to be non-leaf nodes, and the child nodes of non-leaf node j satisfy a preset stopping condition, the first partitioning result is obtained. This first partitioning result is used to indicate the non-leaf nodes on the t-th tree used for processing business data.

[0095] Referring to Figure 3b, for simplicity, only a portion of the first decision tree and some of its nodes are shown in Figure 3b as an example, and it does not constitute a limitation on the first decision tree. Assuming that only the first partitioning result of the t-th tree is used to determine the business label, then for the t-th tree, some nodes can be used to determine the first partitioning result. For example, for a non-leaf node j, it can be determined whether the child node selection indicator parameter of non-leaf node j meets the preset matching condition with the reference child node selection indicator parameter. If so, the data feature parameters of the business data are compared locally with the child node selection indicator parameter of non-leaf node j to obtain the comparison result, and the child nodes of non-leaf node j used to process the business data are determined based on the comparison result. For example, in Figure 3b, the child nodes of a non-leaf node j include left and right child nodes. By comparing the results, it is determined that the business data will be processed by the left child node. Next, it is determined whether the left child node of the non-leaf node j meets a preset stopping condition. If it does, the left child node of the non-leaf node j on the t-th tree can be directly used as the first partitioning result, so that the business label can be determined subsequently using only the output results associated with the left child node of the non-leaf node j on the t-th tree. The preset stopping condition could be that the child node of the non-leaf node j is a specific node, or that the output results associated with the child node of the non-leaf node j reach a specific threshold, etc.

[0096] The embodiments of this application determine the first partitioning result by using a portion or a single tree, or even a portion of the nodes on the tree, which can simplify the processing process, improve processing efficiency, and thus improve the processing efficiency of business tag determination.

[0097] S204. Obtain the first Boolean intersection fragment held by the first participant. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result.

[0098] It can be understood that in the case where there is a risk of label leakage in the PSI algorithm, Circuit-PSI emerged. PSI enables parties to obtain the intersection of two parties' data through cryptographic means without exposing data elements outside the intersection. Circuit-PSI means that the parties input their respective user identifiers, and finally both parties can only obtain shard information about the intersection result of the identifiers, that is, the boolean shard value indicating whether the user identifier of the sender of Circuit-PSI is in the intersection result of the identifiers. Neither the intersection result nor the non-intersection data can be obtained.

[0099] The embodiments of this application are improvements based on the anonymous longitudinal federated inference implemented based on Circuit-PSI. Therefore, the embodiments of this application also need to obtain the first boolean intersection shard held by the first party, so as to use the first boolean intersection shard for subsequent label inference to obtain the business label of the business data.

[0100] It should be understood that the specific process of obtaining the first boolean intersection shard held by the first party can be described as follows: The first party performs cuckoo hash mapping on the first business data identifier of the first party to obtain the first hash table corresponding to the first business data identifier. Further, the first party can obtain the first boolean intersection shard associated with the first hash table and the second hash table. Among them, the first hash table and the second hash table are used to perform hash table matching through a pseudorandom function to generate the first boolean intersection shard and the second boolean intersection shard held by the second party. The first boolean intersection shard and the second boolean intersection shard are shards of the intersection result of the identifiers, and the second hash table is obtained by the second party participating in the vertical federated learning performing hash mapping on the second business data identifier of the second party.

[0101] Among them, cuckoo hash mapping (Cuckoo Hash) represents a method of mapping m elements (i.e., business data identifiers) to n positions through k hashes (i.e., k hash functions), requiring different elements to be mapped to different positions. Simply put, if the i-th element has been mapped to the s-th position under the action of the t-th (t < k) hash, when the j-th (j > i) element is also mapped to the s-th position, a conflict occurs at the s-th position at this time. Then, the j-th element is mapped to the s-th position, and the i-th element is remapped to a new position under the action of the t + 1-th hash. If a conflict occurs at the position, this process is repeated.

[0102] In this embodiment, the hash mapping can be a simple hash mapping. A simple hash mapping (or simply hash mapping) represents a method of mapping m elements (i.e., business data identifiers) to n locations using k hashes (i.e., k hash functions). Location collisions are possible, meaning different elements can be mapped to the same location. By using a simple hash mapping, different data can be mapped to the same location. Based on at least two hash functions, the same data can be mapped to at least two locations, thus eliminating the need for additional processing (i.e., resolving hash collisions) when collisions occur, thereby improving the efficiency of hash mapping. It should be understood that this embodiment does not limit the number of hash functions. For ease of understanding, this embodiment uses two hash functions as an example, meaning each business data identifier can be mapped to two locations.

[0103] The first hash table and the second hash table have the same hash table dimension. The first hash table includes a first hash mapping bucket, and the second hash table includes a second hash mapping bucket with the same hash table dimension as the first hash mapping bucket. If the first hash mapping bucket includes a first business data identifier, the first random number corresponding to the first business data identifier in the first hash mapping bucket is obtained by randomly processing the first business data identifier in the first hash mapping bucket using a pseudo-random function. If the second hash mapping bucket includes a second business data identifier, the second random number corresponding to the second business data identifier in the second hash mapping bucket is obtained by randomly processing the second business data identifier in the second hash mapping bucket using a pseudo-random function. The first and second random numbers are used for random number matching to generate the first Boolean intersection parameter corresponding to the first hash mapping bucket and the second Boolean intersection parameter corresponding to the second hash mapping bucket. The first Boolean intersection parameter and the second Boolean intersection parameter are merged to obtain the merged Boolean intersection parameter. The merged Boolean intersection parameter is used to indicate the Boolean matching result of the first hash mapping bucket and the second hash mapping bucket (i.e., the first Boolean intersection parameter and the second Boolean intersection parameter can be a partial parameter indicating whether the first business data identifier of the business data is in the identifier intersection result). The first Boolean intersection parameter corresponding to each hash table dimension in the first hash table is used to form the first Boolean intersection fragment corresponding to the first business data identifier, and the second Boolean intersection parameter corresponding to each hash table dimension in the second hash table is used to form the second Boolean intersection fragment corresponding to the first business data identifier.

[0104] It should be understood that the pseudo-random function used in the embodiments of this application can be an Oblivious Programming Pseudo-Random Function (OPPRF) or an Oblivious Pseudo-Random Function (OPRF). OPPRF can be an OPPRF protocol, where one party inputs a set X = {(x1,y1),(x2,y2),…,(xn,yn)}, and the other party inputs x. After executing the protocol, the other party obtains the numerical value y corresponding to x, satisfying the condition that when x = xi, y = yi; otherwise, y is a random number.

[0105] In this embodiment, if the first random number and the second random number are the same, the successfully matched parameter (e.g., the successfully matched parameter can be 1) can be determined as the merged Boolean intersection parameter corresponding to the first hash mapping bucket and the second hash mapping bucket. If the first random number and the second random number are different, the unsuccessfully matched parameter (e.g., the unsuccessfully matched parameter can be 0) can be determined as the merged Boolean intersection parameter corresponding to the first hash mapping bucket and the second hash mapping bucket. Both the first hash mapping bucket and the second hash mapping bucket can be referred to as a bucket (bin).

[0106] For ease of understanding, please refer to Figure 4, which is a schematic diagram of a hash mapping scenario provided by an embodiment of this application. As shown in Figure 4, this is a protocol for anonymizing service data identifiers based on Circuit-PSI. The protocol includes a first participant and a second participant, both of whom can act as senders. When a service data identifier is in the identifier intersection result, the sender has a hash mapping bucket containing the service data identifier, and the corresponding hash mapping bucket of the receiver also contains the service data identifier.

[0107] As shown in Figure 4, the first participant can act as the receiver to perform circuit privacy set intersection. In this case, the second participant inserts its own data (i.e., the second service data identifier 403) into the ordinary hash table (i.e., the second hash table 404), and the first participant fills its own data (i.e., the first service data identifier 401) into the cuckoo hash table (i.e., the first hash table 402). Similarly, the second participant can act as the receiver to perform circuit privacy set intersection. In this case, the first participant inserts its own data (i.e., the first service data identifier 401) into the ordinary hash table, and the second participant fills its own data (i.e., the second service data identifier 403) into the cuckoo hash table.

[0108] As shown in Figure 4, for ease of understanding, we will take an example where the number of first business data identifiers is 4, such as 2, 3, 7, and 10; for ease of understanding, we will take an example where the number of second business data identifiers is 5, such as 2, 4, 5, 7, and 9.

[0109] As shown in Figure 4, the first hash table 402 and the second hash table 404 have the same hash table dimension. The first hash table 402 may include a first hash mapping bucket, and the second hash table 404 may include a second hash mapping bucket. For ease of understanding, this embodiment uses a hash table dimension of 6 for both the first hash table 402 and the second hash table 404 as an example. In this embodiment, "*" can be filled into hash mapping buckets (bins) that are not filled with data (i.e., business data identifiers). "*" represents a random number, indicating an empty business data identifier. The data feature parameters and business tags corresponding to "*" can be 0.

[0110] As shown in Figure 4, for example, the first hash mapping bucket can be the second hash mapping bucket in the first hash table 402, and the second hash mapping bucket can be the second hash mapping bucket in the second hash table 404. The first hash mapping bucket can include 7, and the second hash mapping bucket can include 7 and "*". In this case, the first random number corresponding to 7 in the first hash mapping bucket can be 17, the second random number corresponding to "*" in the second hash mapping bucket can be 14, and the second random number corresponding to 7 can be 17. When the first random number and the second random number are matched, the first random number 17 is equal to the second random number 17. In this embodiment, the matching success parameter can be determined as the merged Boolean intersection parameter corresponding to the first hash mapping bucket and the second hash mapping bucket, that is, the matching success parameter is determined as the merged Boolean intersection parameter corresponding to the second hash mapping bucket.

[0111] As shown in Figure 4, the identifier intersection result (i.e., q0) can be {0,1,0,1,0,0}, and the dimension of the identifier intersection result is related to the number of first business data identifiers 401. Correspondingly, the first Boolean intersection fragment can include 6 first Boolean intersection parameters, and the second Boolean intersection fragment can include 6 second Boolean intersection parameters. The first first Boolean intersection parameter can be... <0> The first and second Boolean intersection parameters can be <0> The XOR result of the first Boolean intersection parameter and the first Boolean intersection parameter is the merged Boolean intersection parameter (i.e., 0). For example, the first Boolean intersection parameter can be... <0> The first and second Boolean intersection parameters can be <1> By analogy, we obtain the first Boolean intersection piece and the second Boolean intersection piece.

[0112] It should be noted that the timing of generating the first Boolean intersection fragment (i.e., implementing business data identification anonymization based on Circuit-PSI) in this application embodiment is not limited. It can be generated at any time before executing S205. For example, it can be executed in the first step of the data processing method provided in this application embodiment, or it can be executed at the position shown in the corresponding embodiment in Figure 2.

[0113] S205. Based on the first Boolean intersection fragmentation and the first partitioning result, determine the business label corresponding to the business data.

[0114] After obtaining the first Boolean intersection partition and the first partition result, label inference can be performed based on the first Boolean intersection partition and the first partition result. The label inference process can be found in S205. Label inference is a federated computation.

[0115] During label inference, some non-leaf nodes may have child node selection indicator parameters in the first participant's field, while others may not. In this case, for non-leaf nodes whose child node selection indicator parameters are not in the first participant's field, a more accurate partitioning result may be obtained by other participants, such as the second participant. Therefore, to ensure the first participant obtains an accurate partitioning result, the second participant needs to synchronize its partitioning result with the first participant. Based on this, in one possible implementation, determining the business label corresponding to the business data based on the first Boolean intersection sharding and the first partitioning result could be as follows: receiving the second partitioning result synchronized by the second participant. When the second partitioning result indicates that the child node selection indicator parameter of non-leaf node j is in the second participant's field, the second participant compares the data feature parameters of the business data with the partitioning result obtained from the child node selection indicator parameter of non-leaf node j. Then, performing a bitwise AND operation on the first and second partitioning results yields the target partitioning result. This second partitioning result is then used to correct the first partitioning result, resulting in a more accurate target partitioning result. Finally, based on the first Boolean intersection sharding and the target partitioning result, the business label corresponding to the business data is determined.

[0116] In this embodiment of the application, each participant determines the partitioning result locally. When the first participant needs to determine the business label corresponding to the business data, the second participant synchronizes the second partitioning result with the first participant. This allows the second partitioning result to correct the first partitioning result, resulting in a more accurate target partitioning result, thereby improving the accuracy of business label determination.

[0117] It should be noted that when the second participant synchronizes the second partitioning result with the first participant, in order to avoid exposing the second participant's data to the first participant, both parties use MPC for calculation, for example, the OPPRF synchronization method can be used. In this case, the way to receive the second partitioning result synchronized by the second participant participating in the vertical federated learning can be: receiving the result partitioning fragment synchronized by the second participant, where the result partitioning fragment is a fragment used to indicate the second partitioning result.

[0118] Specifically, the second participant places the second partitioning result into the second hash mapping bucket corresponding to the second business data identifier during the Circuit-PSI process, and uses the OPPRF synchronization method to synchronize the second partitioning result to the first participant. Both parties then obtain the result partitioning shards. The result partitioning shards can be represented as follows:<b1[i,t,j]> B .

[0119] Accordingly, the method to obtain the target partitioning result by performing an AND operation on the first partitioning result and the second partitioning result can be: performing an AND operation on the first partitioning result and the result partitioning piece to obtain the target partitioning result.

[0120] This application embodiment synchronizes the second partitioning result to the first participant through the OPPRF synchronization method, thereby avoiding exposing the second participant's data to the first participant, which is beneficial for realizing anonymous vertical federated reasoning.

[0121] Understandably, in some possible implementations, the acquired business data may be a single piece or multiple pieces of business data within a batch. When the acquired business data is multiple pieces of business data within a batch, for the business data in that batch, the first partitioning result of each piece of business data in the t-th tree can be obtained. When the first partitioning result is represented by a partitioning indicator, the partitioning indicator of all business data is obtained. The partitioning indicator of all business data is arranged according to the Cuckoo hash order corresponding to the first business data identifier in the Circuit-PSI process, denoted as b0. Then, the first partitioning result of business data i in the t-th tree in that batch can be represented as b0[i,t,j], serving as the partitioning indicator of business data i in the j-th leaf node of the t-th tree.

[0122] It should be noted that the implementation of S205 may differ depending on the implementation method of S203. If the first partitioning result of each tree is obtained by traversal in S203, then the implementation method of S205 may be to determine the weight of the leaf node used for processing business data on the t-th tree based on the first Boolean intersection partitioning and the first partitioning result, and then determine the business label corresponding to the business data based on the weight of the leaf node used for processing business data on the t-th tree.

[0123] In the process of determining weights, if the second participant needs to synchronize the second partitioning result with the first participant, the formula for calculating the weight of the leaf node on the t-th tree used for processing business data can be as follows:

[0124] <v[i,t]> A =MUX(AND(AND(b0[i,t,j],<b1[i,t,j]> B ),<Q0[i]> B ),<w0[t,j]> A )

[0125] in,<v[i,t]> A Let b0[i,t,j] represent the weight of the leaf node used to process business data on the t-th tree, and let b0[i,t,j] represent the partitioning indicator of the business data i obtained by the first participant at the j-th leaf node of the t-th tree.<b1[i,t,j]> B This indicates that the results synchronized by the second participant are divided into fragments.<Q0[i]> B This represents the first Boolean intersection fragment of the first participant.<w0[t,j]> A This represents the weight of the j-th node in the t-th tree of the first participant.

[0126] Having determined the weight of the leaf node containing the business data in the t-th tree (t = 1, 2, 3, ..., N), we can then obtain the weight of the leaf node containing the business data in each tree. Next, based on the weight of the leaf node used to process the business data in each tree, we can determine the corresponding business label for the business data. Specifically, we can sum the weights of the leaf nodes containing the business data in each tree to calculate the final business label.

[0127] The weights of the leaf nodes in each tree used for processing business data are summed to obtain the cumulative result.<s[i]> A ,<s[i]> A The formula for calculating can be shown below:

[0128] Finally, the business tags are calculated. Taking binary classification as an example, the final probability is calculated.<p[i]> A =Sigmoid(<s[i]> A Finally, the tag fragments are obtained.<y[i]> A =greater(<p[i]> A ,0.5), both parties resumed sharding and obtained business tag y.

[0129] If in S203, the first partition result of a part of the tree or the first partition result of a single tree is obtained through a non-traversal method, then the implementation of S205 can be partially similar to the implementation of S205 under the traversal method. The only difference is that the weight of the non-leaf node used to process business data on the t-th tree is determined, and the weight of the non-leaf node used to process business data on the unused tree is 0.

[0130] As can be seen from the above technical solution, when performing stealth vertical federated inference, this application transforms the comparison between data feature parameters and child node selection indication parameters into a local operation. That is, after obtaining business data and the first decision tree, the comparison between data feature parameters and child node selection indication parameters is performed locally. Specifically, since the first participant obtains the first decision tree through vertical federated learning training, the first participant stores the reference child node selection indication parameters of the first decision tree. The first decision tree includes N trees, each of which includes multiple leaf nodes and multiple non-leaf nodes. Each non-leaf node is pre-configured with a child node selection indication parameter. The child node selection indication parameter is used to divide the child nodes of the non-leaf nodes used to process business data. Therefore, for the non-leaf node j of the t-th tree in the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter satisfy the preset matching condition, that is, the child node selection indication parameter is local to the first participant, the data feature parameters of the business data are compared with the child node selection indication parameters of the non-leaf node j locally to obtain the comparison result. Based on the comparison result, the child nodes of the non-leaf node j used to process business data are determined, where t is a positive integer less than or equal to N and j is an integer. Then, based on the determined child nodes of the non-leaf node j used to process business data, the first partitioning result of the business data on the t-th tree is determined. The comparison between the data feature parameters and the child node selection indicator parameters is performed locally only when the child node selection indicator parameters are local. This saves the significant overhead caused by data exchange in the privacy comparison process and improves the efficiency of privacy comparison. Afterward, label inference is performed. Specifically, the first Boolean intersection fragment held by the first participant can be obtained. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result. Based on the first Boolean intersection fragment and the first partitioning result, the business label corresponding to the business data is determined. Compared with related technologies, this application transforms the comparison between the data feature parameters and the child node selection indicator parameters into a local operation, thus eliminating the need for data exchange with other participants, saving the significant overhead caused by data exchange in the privacy comparison process, improving the efficiency of privacy comparison, and thereby enhancing the efficiency of anonymous vertical federated inference.

[0131] It should be noted that the traversal in this embodiment is a local computation, while the label inference is a federated computation. Therefore, a pipelined optimization approach can be adopted to fully utilize network and local computing resources. In one possible implementation, the traversal of N trees based on business data can be performed as follows: while completing the traversal of the t-th tree based on business data and determining the weights of the leaf nodes on the t-th tree used for processing business data (i.e., while performing label inference), the (t+1)-th tree in the first decision tree can be traversed based on business data. This fully utilizes network and local computing resources, maximizing network bandwidth utilization to reduce result latency.

[0132] Similarly, for processing multiple batches of business data, if the business data is the (s+1)th batch, the way to traverse the N trees based on the business data can be as follows: while completing the traversal of the N trees based on the s-th batch of business data and determining the weight of the leaf node in the t-th tree used to process the s-th batch of business data (i.e., while performing label inference on the s-th batch of business data), the N trees can be traversed based on the (s+1)th batch of business data, where s is a positive integer. This allows for full utilization of network and local computing resources, maximizing network bandwidth utilization to reduce result latency.

[0133] As shown in Figure 5, starting from the first tree, after completing the traversal, the traversal of the second tree begins immediately while performing label inference, and so on. This maximizes network bandwidth utilization and reduces latency. Similarly, for processing multiple batches of business data, this method can be used: after completing the traversal of the first batch of business data, the traversal of the second batch of business data begins immediately while performing label inference, and so on, until all batches of business data have been processed.

[0134] The foregoing embodiments have provided a detailed description of the data processing method provided in this application. Next, taking XGBoost, the most commonly used GBDT algorithm, and multiple participants, including a first participant and a second participant, as an example, the overall data processing flow will be described. As shown in Figure 6, for both the first and second participants, data processing mainly includes three steps:

[0135] S601, Intersection of circuit privacy sets.

[0136] Both the first participant and the second participant execute Circuit-PSI. For example, the first participant, as the receiver (P0), inputs the first service data identifier ID0, and the second participant, as the sender (P1), inputs the second service data identifier ID1. Both parties execute Circuit-PSI and finally fragment the data according to the first Boolean intersection order of the Cuckoo hash of the first service data identifier of the receiver (e.g., the first participant).

[0137] S602, Local traversal.

[0138] Locally, the data is traversed and assigned to the node corresponding to the t-th tree. Specifically, when traversing to the t-th tree, for business data i, if the above-mentioned partitioning indicator is represented by numbers, with the first indicator being 1 and the second indicator being 0, P... l Set the root node partition indicator c l [i,t,0] represents all 1s, and l can be either 0 or 1.

[0139] Next, traverse all non-leaf nodes j. When the child node selection indicator parameter of non-leaf node i is on the side of the first participant, calculate the data characteristic parameter of the business data locally. If the data characteristic parameter of the business data is less than the child node selection indicator parameter, then determine the partition indicator mark of the left child node as c. l [i,t,j*2+1]=1, determining the partition indicator for the right child node as c. l [i,t,j*2+2]=0; otherwise, determine the partition indicator of the left child node as c. l [i,t,j*2+1]=0, therefore the partition indicator for the right child node is c. l [i,t,j*2+2]=1. When the child node selection indicator parameter of non-leaf node i is not on the side of the first participant, there is no need to compare the child node selection indicator parameter with the data characteristic parameters of the business data. Instead, it is directly assumed that each child node of non-leaf node j has business data, and the partitioning indicator mark of the left child node is directly determined as c. l [i,t,j*2+1]=1, determining the partition indicator for the right child node as c. l [i,t,j*2+2]=1.

[0140] S603, Label Reasoning.

[0141] All business data partitioning indicators are arranged according to the Cuckoo hash order corresponding to the first business data identifier in the Circuit-PSI process, denoted as b0. Then the first partitioning result of business data i in the t-th tree in a batch can be represented as b0[i,t,j].

[0142] The second participant uses the OPPRF synchronization method to synchronize the second partitioning result with the first participant, and both parties ultimately obtain the partitioned fragments.<b1[i,t,j]> B .

[0143] Next, b0[i,t,j] and<b1[i,t,j]> B Substituting into the weight calculation formula above, calculate the weight of the leaf node on the t-th tree used to process business data i. Then, based on the aforementioned formula, add the weights of the leaf nodes on the t-th tree used to process business data i to obtain the cumulative result. Finally, calculate the business label based on the cumulative result.

[0144] It should be noted that, based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods.

[0145] Based on the data processing method provided in the foregoing embodiments, this application also provides a data processing apparatus 700. The data processing apparatus 700 is deployed in a first participating party. Referring to FIG7, the data processing apparatus 700 includes an acquisition unit 701 and a determination unit 702.

[0146] The acquisition unit 701 is used to acquire business data and a first decision tree. The first decision tree runs on the first participant. The first decision tree is trained by longitudinal federated learning and includes N trees. The N trees each include multiple leaf nodes and multiple non-leaf nodes. The multiple non-leaf nodes are pre-configured with child node selection indication parameters. The child node selection indication parameters are used to divide the child nodes of the non-leaf nodes used to process the business data.

[0147] The determining unit 702 is configured to, for a non-leaf node j in the t-th tree of the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter stored by the first participant satisfy a preset matching condition, compare the data feature parameters of the business data with the child node selection indication parameters of the non-leaf node j to obtain a comparison result, and determine the child node of the non-leaf node j used to process the business data based on the comparison result, where t is a positive integer less than or equal to N, and j is an integer;

[0148] The determining unit 702 is further configured to determine the first partitioning result of the business data on the t-th tree based on the child nodes of the non-leaf node j determined for processing the business data;

[0149] The acquisition unit 701 is further configured to acquire the first Boolean intersection fragment held by the first participant, wherein the first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result;

[0150] The determining unit 702 is further configured to determine the business tag corresponding to the business data based on the first Boolean intersection fragmentation and the first partitioning result.

[0151] In one possible implementation, the non-leaf node includes M child nodes, and the determining unit 702 is used for:

[0152] If the comparison result is the comparison result corresponding to the kth child node among the M child nodes, it is determined that the business data shall be processed by the kth child node of the non-leaf node j, where k is a positive integer less than or equal to M.

[0153] In one possible implementation, the determining unit 702 is configured to:

[0154] If the comparison result is the comparison result corresponding to the kth child node among the M child nodes, the partitioning indicator of the kth child node is determined as the first indicator, and the partitioning indicator of the remaining child nodes is determined as the second indicator. The first indicator is used to indicate that the corresponding child node is used to process the business data, and the second indicator is used to indicate that the corresponding child node is not used to process the business data. The remaining child nodes are the child nodes among the M child nodes other than the kth child node.

[0155] In one possible implementation, the M child nodes include a first child node and a second child node, and the determining unit 702 is used to:

[0156] If the comparison result shows that the data feature parameter of the business data is less than the child node selection indication parameter of the non-leaf node j, then the first child node is determined to be used to process the business data, and the first child node is the k-th child node of the non-leaf node j, where k = 1;

[0157] If the comparison result shows that the data feature parameter of the business data is greater than the child node selection indication parameter of the non-leaf node j, then the second child node is determined to be used to process the business data, and the second child node is the k-th child node of the non-leaf node j, where k = 2.

[0158] In one possible implementation, the determining unit 702 is further configured to:

[0159] In response to the fact that the child node selection indication parameter and the reference child node selection indication parameter of the non-leaf node j do not meet the preset matching conditions, it is determined that each child node of the non-leaf node j is used to process the business data.

[0160] In one possible implementation, the second partitioning result is represented by a partitioning indicator marker, and the determining unit 702 is configured to:

[0161] The partitioning indicator of each child node of the non-leaf node j is determined as the first indicator, and the first indicator is used to indicate that the corresponding child node is used to process the business data.

[0162] In one possible implementation, the determining unit 702 is configured to:

[0163] The second participant receives the second partitioning result synchronized by the second participant. The second partitioning result is the partitioning result obtained by the second participant by comparing the data feature parameters of the business data with the child node selection indicator parameters of the non-leaf node j when the child node selection indicator parameter of the non-leaf node j is located in the second participant.

[0164] Perform a bitwise AND operation between the first partitioning result and the second partitioning result to obtain the target partitioning result;

[0165] Based on the first Boolean intersection fragmentation and the target partitioning result, the business tag corresponding to the business data is determined.

[0166] In one possible implementation, the determining unit 702 is configured to:

[0167] The result of the second participant's synchronization is divided into fragments, and the result division fragments are fragments used to indicate the second division result;

[0168] The first partitioning result and the partitioned result are ANDed to obtain the target partitioning result.

[0169] In one possible implementation, the t-th tree is the tree traversed at the current time during the traversal of the N trees based on the business data, and the non-leaf node j is the non-leaf node traversed at the current time during the traversal of all non-leaf nodes of the t-th tree based on the business data. Then, the determining unit 702 is used to:

[0170] If the child node of the non-leaf node j used to process the business data is determined to be a leaf node of the t-th tree, the first partitioning result is obtained. The first partitioning result is used to indicate the leaf node on the t-th tree used to process the business data.

[0171] Based on the first Boolean intersection partitioning and the first partitioning result, determine the weight of the leaf node on the t-th tree used for processing the business data;

[0172] The business label corresponding to the business data is determined based on the weight of the leaf node on the t-th tree used to process the business data.

[0173] In one possible implementation, the determining unit 702 is configured to:

[0174] If the child node of the non-leaf node j used to process the business data is determined to be a non-leaf node, and the child node of the non-leaf node j satisfies a preset stopping condition, the first partitioning result is obtained. The first partitioning result is used to indicate the non-leaf node on the t-th tree used to process the business data.

[0175] In one possible implementation, the determining unit 702 is configured to:

[0176] While completing the traversal of the t-th tree based on the business data and determining the weights of the leaf nodes on the t-th tree used to process the business data, the (t+1)-th tree in the first decision tree is traversed based on the business data.

[0177] In one possible implementation, the business data is the business data of the (k+1)th batch, and the determining unit 702 is used to:

[0178] While traversing the N trees based on the business data of the kth batch and determining the weight of the leaf node on the t-th tree used to process the business data of the kth batch, the N trees are traversed based on the business data of the (k+1)th batch, where k is a positive integer.

[0179] In one possible implementation, the acquisition unit 701 is used for:

[0180] Perform a cuckoo hash mapping on the first business data identifier of the first participant to obtain the first hash table corresponding to the first business data identifier;

[0181] Obtain the first Boolean intersection fragment associated with the first hash table and the second hash table. The first hash table and the second hash table are used to perform hash table matching through a pseudo-random function to generate the first Boolean intersection fragment and the second Boolean intersection fragment held by the second participant. The first Boolean intersection fragment and the second Boolean intersection fragment are fragments that identify the intersection result. The second hash table is obtained by hash mapping the second business data identifier of the second participant participating in the vertical federated learning.

[0182] In one possible implementation, the first hash table and the second hash table have the same hash table dimension; the first hash table includes a first hash mapping bucket, and the second hash table includes a second hash mapping bucket with the same hash table dimension as the first hash mapping bucket;

[0183] Wherein, if the first hash mapping bucket includes a first business data identifier, the first random number corresponding to the first business data identifier in the first hash mapping bucket is obtained by randomly processing the first business data identifier in the first hash mapping bucket based on the pseudo-random function;

[0184] Wherein, if the second hash mapping bucket includes a second business data identifier, the second random number corresponding to the second business data identifier in the second hash mapping bucket is obtained by randomly processing the second business data identifier in the second hash mapping bucket based on the pseudo-random function; the first random number and the second random number are used to perform random number matching to generate a first Boolean intersection parameter corresponding to the first hash mapping bucket and a second Boolean intersection parameter corresponding to the second hash mapping bucket; the first Boolean intersection parameter and the second Boolean intersection parameter are merged to obtain a merged Boolean intersection parameter; the merged Boolean intersection parameter is used to indicate the Boolean matching result of the first hash mapping bucket and the second hash mapping bucket; the first Boolean intersection parameter corresponding to each hash table dimension in the first hash table is used to form a first Boolean intersection shard corresponding to the first business data identifier, and the second Boolean intersection parameter corresponding to each hash table dimension in the second hash table is used to form a second Boolean intersection shard corresponding to the first business data identifier.

[0185] As can be seen from the above technical solution, when performing stealth vertical federated inference, this application transforms the comparison between data feature parameters and child node selection indication parameters into a local operation. That is, after obtaining business data and the first decision tree, the comparison between data feature parameters and child node selection indication parameters is performed locally. Specifically, since the first participant obtains the first decision tree through vertical federated learning training, the first participant stores the reference child node selection indication parameters of the first decision tree. The first decision tree includes N trees, each of which includes multiple leaf nodes and multiple non-leaf nodes. Each non-leaf node is pre-configured with a child node selection indication parameter. The child node selection indication parameter is used to divide the child nodes of the non-leaf nodes used to process business data. Therefore, for the non-leaf node j of the t-th tree in the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter satisfy the preset matching condition, that is, the child node selection indication parameter is local to the first participant, the data feature parameters of the business data are compared with the child node selection indication parameters of the non-leaf node j locally to obtain the comparison result. Based on the comparison result, the child nodes of the non-leaf node j used to process business data are determined, where t is a positive integer less than or equal to N and j is an integer. Then, based on the determined child nodes of the non-leaf node j used to process business data, the first partitioning result of the business data on the t-th tree is determined. The comparison between the data feature parameters and the child node selection indicator parameters is performed locally only when the child node selection indicator parameters are local. This saves the significant overhead caused by data exchange in the privacy comparison process and improves the efficiency of privacy comparison. Afterward, label inference is performed. Specifically, the first Boolean intersection fragment held by the first participant can be obtained. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result. Based on the first Boolean intersection fragment and the first partitioning result, the business label corresponding to the business data is determined. Compared with related technologies, this application transforms the comparison between the data feature parameters and the child node selection indicator parameters into a local operation, thus eliminating the need for data exchange with other participants, saving the significant overhead caused by data exchange in the privacy comparison process, improving the efficiency of privacy comparison, and thereby enhancing the efficiency of anonymous vertical federated inference.

[0186] This application also provides a computer device capable of executing a data processing method. This computer device can be a terminal; Figure 8 shows a structural diagram of a terminal provided in this application. In Figure 8, a smartphone is used as an example of the terminal:

[0187] Referring to Figure 8, a smartphone includes components such as: a radio frequency (RF) circuit 810, a memory 820, an input unit 830, a display unit 840, a sensor 850, an audio circuit 860, a Wi-Fi module 870, a processor 880, and a power supply 890. The input unit 830 may include a touch panel 831 and other input devices 832, the display unit 840 may include a display panel 841, and the audio circuit 860 may include a speaker 861 and a microphone 862. It is understood that the smartphone structure shown in Figure 8 does not constitute a limitation on the smartphone, and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0188] The memory 820 can be used to store software programs and modules. The processor 880 executes various functions and data processing of the smartphone by running the software programs and modules stored in the memory 820. The memory 820 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the smartphone (such as audio data, phonebook, etc.). In addition, the memory 820 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0189] The processor 880 is the control center of the smartphone, connecting various parts of the smartphone via various interfaces and lines. It performs various functions and processes data by running or executing software programs and / or modules stored in the memory 820, and by accessing data stored in the memory 820. Optionally, the processor 880 may include one or more processing units; preferably, the processor 880 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into the processor 880.

[0190] In this embodiment, the processor 880 in the smartphone can execute the methods provided in the various embodiments of this application.

[0191] The computer device provided in this application embodiment can also be a server. Please refer to Figure 9, which is a structural diagram of the server 900 provided in this application embodiment. The server 900 can vary significantly due to different configurations or performance, and may include one or more processors, such as a Central Processing Unit (CPU) 922, and a memory 932, and one or more storage media 930 (e.g., one or more mass storage devices) for storing application programs 942 or data 944. The memory 932 and storage media 930 can be temporary or persistent storage. The program stored in the storage media 930 may include one or more modules (not shown in the figure), each module may include a series of instruction operations on the server. Furthermore, the CPU 922 may be configured to communicate with the storage media 930 and execute the series of instruction operations in the storage media 930 on the server 900.

[0192] Server 900 may also include one or more power supplies 926, one or more wired or wireless network interfaces 950, one or more input / output interfaces 958, and / or one or more operating systems 941, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.

[0193] In this embodiment, the central processing unit 922 in the server 900 can execute the methods provided in the various embodiments of this application.

[0194] According to one aspect of this application, a computer-readable storage medium is provided for storing a computer program for performing the methods described in the foregoing embodiments.

[0195] According to one aspect of this application, a computer program product is provided, comprising a computer program stored in a computer-readable storage medium. A processor of a computer device reads the computer program from the computer-readable storage medium and executes the computer program, causing the computer device to perform the methods provided in various optional implementations of the above embodiments.

[0196] The descriptions of the processes or structures corresponding to the above-mentioned figures each have their own emphasis. For parts of a process or structure that are not described in detail, please refer to the relevant descriptions of other processes or structures.

[0197] The terms "first," "second," "third," "fourth," etc. (if present) in the specification and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0198] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0199] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0200] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0201] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a terminal, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing computer programs, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0202] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0203] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.< / x> < / z> < / x> < / y> < / y> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / y> < / x> < / x> < / x>

Claims

1. A data processing method, the method being executed by a computer device of a first participant, the method comprising: The system acquires business data and a first decision tree, which runs on the computer device of the first participant. The first decision tree is trained through longitudinal federated learning and includes N trees. Each of the N trees includes multiple leaf nodes and multiple non-leaf nodes. Each of the multiple non-leaf nodes is pre-configured with a child node selection indicator parameter. The child node selection indicator parameter is used to divide the child nodes of the non-leaf nodes used to process the business data. For a non-leaf node j in the t-th tree of the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter stored by the first participant satisfy a preset matching condition, the data feature parameters of the business data are compared with the child node selection indication parameters of the non-leaf node j to obtain a comparison result, and the child node of the non-leaf node j used to process the business data is determined according to the comparison result, where t is a positive integer less than or equal to N, and j is an integer; Based on the child nodes of the non-leaf node j determined for processing the business data, the first partitioning result of the business data on the t-th tree is determined; Obtain the first Boolean intersection fragment held by the first participant. The first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result. Based on the first Boolean intersection fragmentation and the first partitioning result, the business tag corresponding to the business data is determined.

2. The method according to claim 1, wherein the non-leaf node j comprises M child nodes, and the step of determining the child nodes of the non-leaf node j for processing the business data based on the comparison result comprises: If the comparison result is the comparison result corresponding to the kth child node among the M child nodes, it is determined that the business data shall be processed by the kth child node of the non-leaf node j, where k is a positive integer less than or equal to M.

3. The method according to claim 2, wherein determining that the business data shall be processed by the k-th child node of the non-leaf node j if the comparison result is the comparison result corresponding to the k-th child node among the M child nodes includes: If the comparison result is the comparison result corresponding to the kth child node among the M child nodes, the partitioning indicator of the kth child node is determined as the first indicator, and the partitioning indicator of the remaining child nodes is determined as the second indicator. The first indicator is used to indicate that the corresponding child node is used to process the business data, and the second indicator is used to indicate that the corresponding child node is not used to process the business data. The remaining child nodes are the child nodes among the M child nodes other than the kth child node.

4. The method according to claim 2, wherein the M child nodes include a first child node and a second child node, and the step of determining that the business data shall be processed by the k-th child node of the non-leaf node j if the comparison result is the comparison result corresponding to the k-th child node among the M child nodes includes: If the comparison result shows that the data feature parameter of the business data is less than the child node selection indication parameter of the non-leaf node j, then the first child node is determined to be used to process the business data, and the first child node is the k-th child node of the non-leaf node j, where k = 1; If the comparison result shows that the data feature parameter of the business data is greater than the child node selection indication parameter of the non-leaf node j, then the second child node is determined to be used to process the business data, and the second child node is the k-th child node of the non-leaf node j, where k = 2.

5. The method according to claim 1, further comprising: In response to the fact that the child node selection indication parameter and the reference child node selection indication parameter of the non-leaf node j do not meet the preset matching conditions, it is determined that each child node of the non-leaf node j is used to process the business data.

6. The method according to claim 5, wherein determining that each child node of the non-leaf node j is used to process the business data includes: The partitioning indicator of each child node of the non-leaf node j is determined as the first indicator, and the first indicator is used to indicate that the corresponding child node is used to process the business data.

7. The method according to claim 5, wherein determining the business tag corresponding to the business data based on the first Boolean intersection fragmentation and the first partitioning result includes: The second participant receives the second partitioning result synchronized by the second participant. The second partitioning result is the partitioning result obtained by the second participant by comparing the data feature parameters of the business data with the child node selection indicator parameters of the non-leaf node j when the child node selection indicator parameter of the non-leaf node j is located in the second participant. Perform a bitwise AND operation between the first partitioning result and the second partitioning result to obtain the target partitioning result; Based on the first Boolean intersection fragmentation and the target partitioning result, the business tag corresponding to the business data is determined.

8. The method according to claim 7, wherein receiving the second partitioning result synchronized by the second participant includes: The result of the second participant's synchronization is divided into fragments, and the result division fragments are fragments used to indicate the second division result; The step of performing a bitwise AND operation between the first partitioning result and the second partitioning result to obtain the target partitioning result includes: The first partitioning result and the partitioned result are ANDed to obtain the target partitioning result.

9. The method according to claim 1, wherein the t-th tree is the tree traversed at the current time during the traversal of the N trees based on the business data, and the non-leaf node j is the non-leaf node traversed at the current time during the traversal of all non-leaf nodes of the t-th tree based on the business data, then determining the first partitioning result of the business data on the t-th tree based on the child nodes of the determined non-leaf node j used for processing the business data includes: If the child node of the non-leaf node j used to process the business data is determined to be a leaf node of the t-th tree, the first partitioning result is obtained. The first partitioning result is used to indicate the leaf node on the t-th tree used to process the business data. The step of determining the business tag corresponding to the business data based on the first Boolean intersection fragmentation and the first partitioning result includes: Based on the first Boolean intersection partitioning and the first partitioning result, determine the weight of the leaf node on the t-th tree used for processing the business data; The business label corresponding to the business data is determined based on the weight of the leaf node on the t-th tree used to process the business data.

10. The method according to claim 1, wherein determining the first partitioning result of the business data on the t-th tree based on the child nodes of the determined non-leaf node j used for processing the business data includes: If the child node of the non-leaf node j used to process the business data is determined to be a non-leaf node, and the child node of the non-leaf node j satisfies a preset stopping condition, the first partitioning result is obtained. The first partitioning result is used to indicate the non-leaf node on the t-th tree used to process the business data.

11. The method according to claim 9, wherein traversing the N trees based on the business data comprises: While completing the traversal of the t-th tree based on the business data and determining the weights of the leaf nodes on the t-th tree used to process the business data, the (t+1)-th tree in the first decision tree is traversed based on the business data.

12. The method according to claim 9, wherein the business data is the business data of the (s+1)th batch, and the step of traversing the N trees based on the business data includes: While traversing the N trees based on the business data of the s-th batch and determining the weight of the leaf node on the t-th tree used to process the business data of the s-th batch, the N trees are traversed based on the business data of the (s+1)-th batch, where s is a positive integer.

13. The method according to any one of claims 1-12, wherein obtaining the first Boolean intersection fragment held by the first participant comprises: Perform a cuckoo hash mapping on the first business data identifier of the first participant to obtain the first hash table corresponding to the first business data identifier; Obtain the first Boolean intersection fragment associated with the first hash table and the second hash table. The first hash table and the second hash table are used to perform hash table matching through a pseudo-random function to generate the first Boolean intersection fragment and the second Boolean intersection fragment held by the second participant. The first Boolean intersection fragment and the second Boolean intersection fragment are fragments that identify the intersection result. The second hash table is obtained by hash mapping the second business data identifier of the second participant participating in the vertical federated learning.

14. The method of claim 13, wherein the first hash table and the second hash table have the same hash table dimension; the first hash table includes a first hash mapping bucket, and the second hash table includes a second hash mapping bucket with the same hash table dimension as the first hash mapping bucket; in, If the first hash mapping bucket includes a first business data identifier, then the first random number corresponding to the first business data identifier in the first hash mapping bucket is obtained by randomly processing the first business data identifier in the first hash mapping bucket based on the pseudo-random function. Wherein, if the second hash mapping bucket includes a second business data identifier, the second random number corresponding to the second business data identifier in the second hash mapping bucket is obtained by randomly processing the second business data identifier in the second hash mapping bucket based on the pseudo-random function; the first random number and the second random number are used to perform random number matching to generate a first Boolean intersection parameter corresponding to the first hash mapping bucket and a second Boolean intersection parameter corresponding to the second hash mapping bucket; the first Boolean intersection parameter and the second Boolean intersection parameter are merged to obtain a merged Boolean intersection parameter; the merged Boolean intersection parameter is used to indicate the Boolean matching result of the first hash mapping bucket and the second hash mapping bucket; the first Boolean intersection parameter corresponding to each hash table dimension in the first hash table is used to form a first Boolean intersection shard corresponding to the first business data identifier, and the second Boolean intersection parameter corresponding to each hash table dimension in the second hash table is used to form a second Boolean intersection shard corresponding to the first business data identifier.

15. A data processing apparatus, the apparatus being deployed in a first participant, the apparatus comprising an acquisition unit and a determination unit: The acquisition unit is used to acquire business data and a first decision tree. The first decision tree runs on the first participant. The first decision tree is trained by longitudinal federated learning and includes N trees. The N trees each include multiple leaf nodes and multiple non-leaf nodes. The multiple non-leaf nodes are pre-configured with child node selection indication parameters. The child node selection indication parameters are used to divide the child nodes of the non-leaf nodes used to process the business data. The determining unit is configured to, for a non-leaf node j in the t-th tree of the N trees, in response to the fact that the child node selection indication parameter of the non-leaf node j and the reference child node selection indication parameter stored by the first participant satisfy a preset matching condition, compare the data feature parameters of the business data with the child node selection indication parameters of the non-leaf node j to obtain a comparison result, and determine the child node of the non-leaf node j used to process the business data based on the comparison result, where t is a positive integer less than or equal to N, and j is an integer; The determining unit is further configured to determine the first partitioning result of the business data on the t-th tree based on the child nodes of the non-leaf node j determined for processing the business data; The acquisition unit is further configured to acquire a first Boolean intersection fragment held by the first participant, wherein the first Boolean intersection fragment is used to indicate whether the business data identifier of the business data is in the identifier intersection result; The determining unit is further configured to determine the business tag corresponding to the business data based on the first Boolean intersection fragmentation and the first partitioning result.

16. A computer device, the computer device comprising a processor and a memory: The memory is used to store computer programs and to transfer the computer programs to the processor; The processor is configured to execute the method according to any one of claims 1-14 according to instructions in the computer program.

17. A computer-readable storage medium for storing a computer program that, when executed by a processor, causes the processor to perform the method of any one of claims 1-14.

18. A computer program product comprising a computer program that, when executed by a processor, implements the method of any one of claims 1-14.