Data processing method and device, equipment, readable storage medium and program product

By obtaining the operators and aggregation functions input by users, the abstract input data array is processed and aggregated, which solves the problem of poor data privacy protection in the existing technology and achieves more efficient data privacy protection.

CN120162826APending Publication Date: 2025-06-17TSINGHUA UNIVERSITY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510328529.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-19
Publication Date
2025-06-17

AI Technical Summary

Technical Problem

The protection effect of the prior art is not ideal when protecting data privacy.

Method used

By obtaining the operators and aggregate functions input by the user, the abstract input data array is processed based on these operators, an array matching relationship table is generated, and the elements in the table are aggregated using the aggregate function to determine the target aggregate result.

Benefits of technology

This method effectively improves the protection effect of data privacy, avoids the direct exposure of sensitive information, and allows data computing and aggregation without leaking data, and is suitable for application scenarios with high privacy protection requirements.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120162826A_ABST
    Figure CN120162826A_ABST
Patent Text Reader

Abstract

The invention relates to a data processing method and device, equipment, a readable storage medium and a program product. The method comprises the following steps: acquiring an operator and an aggregation function input by a user based on a preset programming interface; performing construction processing on a first input array and a second input array based on the operators to obtain an array matching relation table; wherein the first input array and the second input array are determined by performing abstract representation on protected private input data; and performing aggregation processing on elements in the array matching relation table based on the aggregation function, and determining a target aggregation result corresponding to the private input data. By adopting the method, the data privacy protection effect can be achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field, and particularly to a data processing method, apparatus, device, readable storage medium, and program product. Background Art

[0002] In the big data era of the rapid development of information technology, data has become an important resource, and data is being collected in large quantities in various fields. While the extensive use of data brings convenience and innovation, it also raises serious data privacy issues.

[0003] In the prior art, to solve these problems, security operations are mainly performed on private input data based on Secret Sharing (SS), which includes bitwise XOR, addition, multiplication, and comparison methods such as equal to and greater than or equal to, so as to protect data privacy.

[0004] However, the above method has the problem of poor protection effect. Summary of the Invention

[0005] Based on this, in view of the above technical problems, it is necessary to provide a data processing method, apparatus, device, readable storage medium, and program product that can improve the data privacy protection effect.

[0006] In a first aspect, the present application provides a data processing method, including:

[0007] Obtaining an operator and an aggregation function input by a user based on a pre-set programming interface;

[0008] Performing construction processing on a first input array and a second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0009] Performing aggregation processing on the elements in the array matching relationship table based on the aggregation function to determine a target aggregation result corresponding to the private input data.

[0010] In one of the embodiments, the above performing construction processing on the first input array and the second input array based on the operator to obtain an array matching relationship table includes:

[0011] Performing arithmetic processing on the elements in the first input array and the elements in the second input array based on the operator to determine a plurality of intermediate calculation results;

[0012] Determining the array matching relationship table based on the plurality of intermediate calculation results.

[0013] In one embodiment, the above-mentioned operation and processing of the elements in the first input array and the elements in the second input array based on the operator to determine multiple intermediate calculation results include:

[0014] Determine the Cartesian product combination between the first input array and the second input array;

[0015] Based on the operator, perform operation and processing on each Cartesian product ordered pair in the Cartesian product combination to obtain multiple intermediate calculation results.

[0016] In one embodiment, the above-mentioned operation and processing of the elements in the first input array and the elements in the second input array based on the operator to determine multiple intermediate calculation results include:

[0017] Divide all the elements in the first input array into multiple sub-arrays; the number of elements in the sub-array is greater than one;

[0018] Combine each element in the second input array with the sub-array to determine multiple combined ordered pairs;

[0019] Based on the operator, perform operation and processing on the multiple combined ordered pairs to obtain multiple intermediate calculation results.

[0020] In one embodiment, the above-mentioned aggregation processing of the elements in the array matching relationship table based on the aggregation function to determine the target aggregation result corresponding to the private input data includes:

[0021] According to the aggregation function, perform aggregation processing on the elements in the array matching relationship table in sequence according to the row order to determine the target aggregation result corresponding to the private input data; among them, the aggregation function satisfies commutativity and associativity.

[0022] In one embodiment, the above-mentioned aggregation processing of the elements in the array matching relationship table in sequence according to the row order according to the aggregation function to determine the target aggregation result corresponding to the private input data includes:

[0023] In the case of the first round of aggregation, based on the identity element in the aggregation function, perform aggregation processing on the elements in the array matching relationship table in row order to obtain an intermediate aggregation result;

[0024] In the case of non-first-round aggregation, based on the intermediate aggregation result, perform aggregation processing on the elements in the array matching relationship table in row order to obtain the target aggregation result.

[0025] In a second aspect, the present application also provides a data processing device, including:

[0026] An acquisition module, configured to acquire the operator and the aggregation function input by the user based on a pre-set programming interface;

[0027] A construction module, configured to perform a construction process on a first input array and a second input array based on an operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0028] An aggregation module, configured to perform an aggregation process on the elements in the array matching relationship table based on an aggregation function to determine a target aggregation result corresponding to the private input data.

[0029] In a third aspect, the present application further provides a computer device, including a memory and a processor, where the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0030] Obtain the operator and the aggregation function input by the user based on a pre-set programming interface;

[0031] Perform a construction process on the first input array and the second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0032] Perform an aggregation process on the elements in the array matching relationship table based on the aggregation function to determine a target aggregation result corresponding to the private input data.

[0033] In a fourth aspect, the present application further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented:

[0034] Obtain the operator and the aggregation function input by the user based on a pre-set programming interface;

[0035] Perform a construction process on the first input array and the second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0036] Perform an aggregation process on the elements in the array matching relationship table based on the aggregation function to determine a target aggregation result corresponding to the private input data.

[0037] In a fifth aspect, the present application further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the following steps are implemented:

[0038] Obtain the operator and the aggregation function input by the user based on a pre-set programming interface;

[0039] Based on the operator, perform construction processing on the first input array and the second input array to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0040] Based on the aggregation function, perform aggregation processing on the elements in the array matching relationship table to determine the target aggregation result corresponding to the private input data.

[0041] For the above data processing method, device, equipment, readable storage medium and program product, the computer device obtains the operator and aggregation function input by the user based on a pre-set programming interface; then, based on the operator, perform construction processing on the first input array and the second input array to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data; finally, based on the aggregation function, perform aggregation processing on the elements in the array matching relationship table to determine the target aggregation result corresponding to the private input data. In this method, first of all, both the first input array and the second input array are abstract representations of the protected private input data. During this process, the original private data is not directly exposed, but is processed in an abstract form. The use of this abstract representation effectively avoids the direct leakage of sensitive information and improves the security and privacy protection of the data. Through this method, the computer device can still complete the operation and aggregation of data without leaking the sensitive information of the user, and is applicable to application scenarios with high requirements for privacy protection.

[0042] In addition, obtaining the operator and aggregation function input by the user based on a pre-set programming interface enables each user to select different operators and aggregation functions according to their own needs, ensuring that the processing method for each calculation is different. Since the parameters input by each user are different, the system cannot infer the specific operations or data through external information, thus effectively avoiding the potential risk of data leakage and enhancing the level of privacy protection. Brief Description of the Drawings

[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the following will briefly introduce the drawings required for describing the embodiments of the present application or related technologies. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other relevant drawings can also be obtained based on these drawings.

[0044] Figure 1 It is the internal structure diagram of the computer device in an embodiment;

[0045] Figure 2 It is the flowchart of the data processing method in an embodiment;

[0046] Figure 3 is a schematic flowchart of a data processing method in another embodiment;

[0047] Figure 4 is a schematic flowchart of a data processing method in another embodiment;

[0048] Figure 5 is a schematic flowchart of a data processing method in another embodiment;

[0049] Figure 6 is a schematic flowchart of a data processing method in another embodiment;

[0050] Figure 7 is a block diagram of the structure of a data processing device in one embodiment. Detailed implementation manners

[0051] In order to make the objectives, technical solutions and advantages of the present application clearer and more understandable, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0052] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in Figure 1 The figure. The computer device includes a processor, a memory, an input / output interface (Input / Output, abbreviated as I / O), and a communication interface. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store relevant data during the data processing process. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data processing method is implemented.

[0053] Those skilled in the art can understand that Figure 1 the structure shown in is only a block diagram of some structures related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have a different component layout.

[0054] In an exemplary embodiment, as Figure 2 shown, a data processing method is provided. Taking the method applied to the Figure 1 computer device as an example for illustration, it includes the following steps 201 to step 203.

[0055] Wherein:

[0056] Step 201, obtain the operator and aggregation function input by the user based on a pre-set programming interface.

[0057] Among them, the programming interface is a set of pre-designed rules and protocols in the computer device, which provides a way for external users or programs to interact with the computer device. Through this programming interface, users can pass the operators and aggregation functions defined by themselves to the computer device, enabling the computer device to process data according to the specific needs of users. The programming interface can have various forms. For example, for the command-line interface, users input the code or relevant parameters of the function in the command line; for the graphical interface input box, users fill in the function information in the input box through the visual interface.

[0058] The operator is a key factor in constructing the array matching relationship table, which determines how two array elements are operated and associated. Users can customize the operator according to specific business requirements to meet different calculation requirements. The operator can be addition, multiplication, difference, etc.

[0059] The aggregation function is a function for summarizing and calculating a set of data. The aggregation function is used to perform an aggregation operation on the elements in the array matching relationship table to obtain the final target aggregation result. The aggregation function can be sum, average value, maximum value, etc.

[0060] In the embodiment of the present application, the computer device obtains the operator and aggregation function input by the user through a pre-set programming interface. The user selects an appropriate operator and aggregation function according to specific needs. These input items can be set manually by the user or automatically selected through a preset default configuration, aiming to provide operation instructions for subsequent data processing.

[0061] Step 202, perform construction processing on the first input array and the second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data.

[0062] Among them, the first input array and the second input array are obtained after abstractly representing the protected private input data. The private input data contains sensitive information. In order to process the data without leaking the private input data, it needs to be converted into the form of an array.

[0063] The array matching relationship table is a two-dimensional table obtained by performing arithmetic operations on the elements in the first input array and the second input array through operators. The rows of the table correspond to the elements (or sub-arrays) in the first input array, and the columns correspond to the elements in the second input array. Each cell stores the arithmetic result of the corresponding element combination. The array matching relationship table shows the association and calculation results between the elements of the two input arrays, providing a data basis for subsequent aggregation processing.

[0064] The protected private input data refers to data containing sensitive information, such as users' personal information, business secrets, medical records, etc. These data need to be strictly protected to prevent leakage and abuse.

[0065] In the embodiment of this application, the computer device performs abstract representation on the protected private input data. The computer device converts it into the first input array and the second input array according to the attributes or characteristics of the data in the first input array and the second input array.

[0066] After the data abstraction is completed, the computer device processes the first input array and the second input array based on the operator provided by the user to construct an array matching relationship table. Specifically, according to the obtained operator, the computer device will perform corresponding mathematical operations, such as addition, subtraction, multiplication or other custom operations, to combine or transform the elements in the two arrays, and finally generate a matching relationship table.

[0067] It should be noted that in the embodiment of this application, both the first input array and the second input array are arrays related to medical data, that is, the first input array and the second input array are the first medical input array and the second medical input array respectively.

[0068] Step 203: Based on the aggregation function, perform aggregation processing on the elements in the array matching relationship table to determine the target aggregation result corresponding to the private input data.

[0069] Among them, the target aggregation result is the final result obtained by performing aggregation processing on the elements in the array matching relationship table through the aggregation function. It is the product of analyzing and summarizing the private input data, reflecting a certain comprehensive relationship between the two input arrays.

[0070] In the embodiment of this application, after generating the array matching relationship table, the computer device performs aggregation processing on the elements in the matching relationship table based on the aggregation function selected by the user to determine the target aggregation result corresponding to the private input data.

[0071] In the above data processing method, the computer device obtains the operator and aggregation function input by the user based on a pre-set programming interface; then, based on the operator, it performs construction processing on the first input array and the second input array to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data; finally, based on the aggregation function, it performs aggregation processing on the elements in the array matching relationship table to determine the target aggregation result corresponding to the private input data. In this method, first, both the first input array and the second input array are abstract representations of the protected private input data. During this process, the original private data is not directly exposed, but is processed in an abstract form. The use of this abstract representation effectively avoids directly leaking sensitive information and improves the security and privacy protection of the data. Through this method, the computer device can still complete data operation and aggregation without leaking the user's sensitive information, and is applicable to application scenarios with high privacy protection requirements.

[0072] In addition, obtaining the operator and aggregation function input by the user based on a pre-set programming interface enables each user to select different operators and aggregation functions according to their own needs, ensuring that the processing method for each calculation is different. Since the parameters input by each user are different, the system cannot infer the specific operations or data through external information, thus effectively avoiding the potential risk of data leakage and enhancing the level of privacy protection.

[0073] In an exemplary embodiment, as Figure 3 shown, the above-mentioned "performing construction processing on the first input array and the second input array based on the operator to obtain an array matching relationship table" in the embodiment includes steps 301 to 302. Wherein:

[0074] Step 301, performing arithmetic processing on the elements in the first input array and the elements in the second input array based on the operator to determine multiple intermediate calculation results.

[0075] In the embodiment of the present application, the computer device first obtains and confirms the operator provided by the user. Then, according to the selected operator, it performs arithmetic operations on the elements in the first input array and the elements in the second input array one by one. Each pair of elements is operated according to the definition of the operator. For example, if the selected operator is the addition operator, the elements in the first array are added to the corresponding elements in the second array; if it is multiplication, multiplication operations are performed. The purpose of this step is to perform mathematical processing on each pair of elements through the operator to generate multiple intermediate calculation results.

[0076] Step 302, determining the array matching relationship table based on the multiple intermediate calculation results.

[0077] In the embodiments of the present application, based on multiple intermediate calculation results, the computer device then organizes these intermediate calculation results to construct an array matching relationship table. The array matching relationship table reflects the matching relationship between the first input array and the second input array. Each intermediate calculation result corresponds to a pair of elements in the two arrays and records their operation results. The structure of the matching relationship table can be two-dimensional, where each row or column represents a pair of elements between the first input array and the second input array and their calculation results.

[0078] In the above embodiments, the use of operators enables users to flexibly select appropriate calculation methods according to actual needs, meeting the requirements in different data processing scenarios. Users can dynamically adjust the operators according to different needs without being restricted by fixed rules, thus providing a wider range of application possibilities.

[0079] In an exemplary embodiment, as Figure 4 shown, "performing arithmetic processing on the elements in the first input array and the elements in the second input array based on the operator to determine multiple intermediate calculation results" in the above embodiments includes steps 401 to 402. Among them:

[0080] Step 401, determining the Cartesian product combination between the first input array and the second input array.

[0081] Among them, the Cartesian product is a combination method between the first input array and the second input array. The Cartesian product between the first input array and the second input array refers to all possible element pairings.

[0082] Specifically, if the first input array is A = [a1, a2, a3] and the second input array is B = [b1, b2], then their Cartesian product combination will be all possible ordered pairs: (a1, b1), (a1, b2), (a2, b1), (a2, b2), (a3, b1), (a3, b2). The Cartesian product combination can generate all possible pairings of the two array elements.

[0083] In the embodiments of the present application, the computer device first determines the Cartesian product combination between the first input array and the second input array. The Cartesian product refers to all possible pairings of elements in two sets, and each pair consists of an element in the first array and an element in the second array. The computer device will generate an ordered pair set containing all possible pairings according to the lengths of the first input array and the second input array.

[0084] Step 402, performing arithmetic processing on each Cartesian product ordered pair in the Cartesian product combination based on the operator to obtain multiple intermediate calculation results.

[0085] In the embodiments of the present application, the computer device traverses each ordered pair in the Cartesian product combination and performs arithmetic processing on each Cartesian product ordered pair according to the selected operator.

[0086] For each ordered pair in the Cartesian product, the computer device will perform the operation defined by the operator to obtain an intermediate calculation result. All these intermediate results will be stored and used as a basis for subsequent processing. Each intermediate calculation result represents the operation result of a Cartesian product ordered pair, and these results will continue to be processed or aggregated as needed.

[0087] Exemplarily, if each set of ordered pairs is (a1, b1), (a1, b2), (a2, b1), (a2, b2), (a3, b1), (a3, b2), the computer will calculate this combination according to the operator (addition), and the obtained intermediate calculation results will be a1 + b1, a1 + b2, a2 + b1, a2 + b2, a3 + b1, a3 + b2.

[0088] In the above embodiments, the Cartesian product combination pairs each element in the two arrays pairwise, ensuring that all possible element combinations are considered. This way provides a comprehensive combination perspective for the data and reduces the possibility of missing some potentially important data relationships. The calculation of the Cartesian product ensures that in the analysis process, each pair of elements can be fully considered and processed, providing a richer and more comprehensive basis for subsequent data analysis.

[0089] In an exemplary embodiment, as Figure 5 shown, "performing arithmetic processing on the elements in the first input array and the elements in the second input array based on the operator to determine multiple intermediate calculation results" in the above embodiments includes steps 501 to 503. Among them:

[0090] Step 501, dividing all the elements in the first input array into multiple sub-arrays; the number of elements in the sub-array is greater than one.

[0091] In the embodiments of the present application, the computer device first divides all the elements in the first input array into multiple sub-arrays. Each sub-array contains multiple elements, and the number of sub-arrays and the number of elements in each sub-array can be divided according to specific rules. For example, if the first input array contains n elements, the computer device divides it into several sub-arrays according to a preset rule (such as a fixed size or based on data characteristics), and each sub-array contains at least two elements.

[0092] Step 502, combining each element in the second input array with the sub-arrays to determine multiple combined ordered pairs.

[0093] In the embodiments of the present application, the computer device combines each element in the second input array with each sub-array divided in step 501. Each element is paired with each sub-array to form a combined ordered pair. This combination process generates multiple ordered pairs, where each ordered pair consists of an element (from the second input array) and a sub-array (from the division result of the first input array).

[0094] Step 503, perform arithmetic processing on the multiple combined ordered pairs based on the operator to obtain multiple intermediate calculation results.

[0095] In the embodiments of the present application, the computer device will perform arithmetic processing on each combined ordered pair based on a preset operator (such as addition, subtraction, multiplication, etc.), thereby obtaining multiple intermediate calculation results. Exemplarily, if each combined ordered pair is (a1, b1, b2), (a2, b1, b2), the computer will calculate this combination according to the operator (addition), and the obtained intermediate calculation results are a1 + b1 + b2 and a2 + b1 + b2.

[0096] In the above embodiments, by dividing the first input array into multiple sub-arrays and combining the elements in the second input array with these sub-arrays, the data processing method can be controlled more flexibly. Each sub-array represents a data subset in the first input array, and this division method can adapt to different data requirements and support more complex data operations and combination methods.

[0097] In an exemplary embodiment, "performing aggregation processing on the elements in the array matching relationship table based on the aggregation function to determine the target aggregation result corresponding to the private input data" in the above embodiments includes:

[0098] Performing aggregation processing on the elements in the array matching relationship table in sequence according to the row order based on the aggregation function to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0099] In the embodiments of the present application, the computer device will aggregate the elements in each row of the array matching relationship table according to the selected aggregation function. Assuming that the elements in each row are a set of numbers, the aggregation function will summarize these elements according to its definition. The specific processing depends on the selected aggregation function, and the aggregation function needs to satisfy commutativity and associativity.

[0100] (1) Commutativity: The computer device will ensure according to the commutativity characteristic of the aggregation function that changing the order of the elements will not affect the final aggregation result. For example, if the aggregation function is addition, the final result will not change regardless of the element order.

[0101] (2) Associativity: Based on the associativity property of the aggregation function, the computer device allows an arbitrary order of execution in multi-step aggregations and still obtains the same result. For example, during the summation process, adding the elements of the first two rows first and then adding the result to the elements of the third row, or adding the last three rows first and then adding the result to the previous row, yields the same result.

[0102] In the above embodiments, by performing row-by-row aggregation processing on the elements in the array matching relationship table, the computer device finally obtains a target aggregation result. This result reflects the summary value after processing all elements in the array according to the aggregation function. The target aggregation result corresponds to the aggregated representation of the private input data and is an important output in the entire data processing process.

[0103] In an exemplary embodiment, as Figure 6 shown, "performing aggregation processing on the elements in the array matching relationship table in row order according to the aggregation function to determine the target aggregation result corresponding to the private input data" in the above embodiments includes steps 601 to 602. Among them:

[0104] Step 601, in the case of the first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result.

[0105] In the embodiments of the present application, in the case of the first-round aggregation, the computer device performs aggregation processing on the elements in the array matching relationship table in row order based on the identity element in the aggregation function. The role of the identity element is to ensure that the aggregation result of each row is based on the initial value during the first aggregation process. For example, if the aggregation function is addition, the identity element is 0, then the computer first performs an addition operation on the elements of each row with 0 to obtain a preliminary intermediate aggregation result. If the aggregation function is multiplication, the identity element is 1, then the computer first performs a multiplication operation on the elements of each row with 1 to obtain a preliminary intermediate aggregation result.

[0106] For each row in the table, the computer device initializes the aggregation result of that row with the identity element (such as 0 or 1). Then, the elements in that row are aggregated with the identity element one by one in order to obtain an intermediate aggregation result.

[0107] For example, for the summation aggregation function:

[0108] For the elements in the first row (a1, a2, a3), the initial value is the identity element 0; then the calculation result is: 0 + a1 = intermediate result 1, then intermediate result 1 + a2 = intermediate result 2, and then intermediate result 2 + a3 = intermediate aggregation result 1.

[0109] Step 602, in the case of non-first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the intermediate aggregation result to obtain the target aggregation result.

[0110] In the embodiments of the present application, in the case of non-first-round aggregation, the computer device has obtained the intermediate aggregation result. Next, these intermediate results are used to continue the aggregation. At this time, the computer device no longer uses the identity element, but performs further aggregation processing on the elements in the array matching relationship table based on the obtained intermediate aggregation result. In this way, the aggregation process gradually approaches the target aggregation result.

[0111] Specifically, in each round of aggregation, the computer uses the intermediate aggregation result obtained in the previous step as the new starting value instead of the identity element. Aggregate each row in the array matching relationship table one by one. The computer device processes the intermediate aggregation result of each row with the current element to obtain a new intermediate aggregation result.

[0112] Exemplarily, assume that the intermediate aggregation results 1, intermediate aggregation result 2,... are obtained in the first-round aggregation. For the second-round aggregation, use the intermediate results obtained in the first round, such as adding the next element in the row to the intermediate aggregation result 1, and continue the addition until the target aggregation result is finally obtained.

[0113] In the above embodiments, in the first-round aggregation stage, the identity element is used as the neutral starting point of the aggregation function, avoiding premature complex calculations, thereby reducing the computational complexity. The identity element itself usually has the effect of simplifying calculations and helps to avoid interference from excessive irrelevant data.

[0114] In an exemplary embodiment, the above method further includes:

[0115] Step 1, obtain the operator and aggregation function input by the user based on a pre-set programming interface.

[0116] Step 2, determine the Cartesian product combination between the first input array and the second input array.

[0117] Step 3, perform arithmetic processing on each Cartesian product ordered pair in the Cartesian product combination based on the operator to obtain a plurality of intermediate calculation results.

[0118] Step 4, determine the array matching relationship table based on the plurality of intermediate calculation results.

[0119] Step 5, perform aggregation processing on the elements in the array matching relationship table in row order according to the aggregation function to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0120] Step 6, in the case of the first-round aggregation, aggregate the elements in the array matching relationship table in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result.

[0121] Step 7, in the case of non-first-round aggregation, aggregate the elements in the array matching relationship table in row order based on the intermediate aggregation result to obtain a target aggregation result.

[0122] In an exemplary embodiment, the above method further includes:

[0123] Step 1, obtain the operator and aggregation function input by the user based on a pre-set programming interface.

[0124] Step 2, determine the Cartesian product combination between the first input array and the second input array.

[0125] Step 3, divide all the elements in the first input array into multiple sub-arrays; the number of elements in the sub-array is greater than one.

[0126] Step 4, combine each element in the second input array with the sub-array to determine multiple combined ordered pairs.

[0127] Step 5, perform arithmetic operations on the multiple combined ordered pairs based on the operator to obtain multiple intermediate calculation results.

[0128] Step 6, sequentially aggregate the elements in the array matching relationship table according to the aggregation function in row order to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0129] Step 7, in the case of the first-round aggregation, aggregate the elements in the array matching relationship table in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result.

[0130] Step 8, in the case of non-first-round aggregation, aggregate the elements in the array matching relationship table in row order based on the intermediate aggregation result to obtain a target aggregation result.

[0131] It should be understood that although the steps in the flowcharts involved in the above embodiments are sequentially shown according to the indications of the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear indication in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily executed at the same moment, but can be executed at different moments. The execution order of these steps or stages is not necessarily sequential, but can be executed alternately or in turn with at least a part of other steps or steps or stages in other steps.

[0132] Based on the same inventive concept, an embodiment of the present application further provides a data processing device for implementing the data processing method involved above. The implementation solutions provided by this device to solve problems are similar to the implementation solutions described in the above method. Therefore, the specific limitations in one or more embodiments of the data processing device provided below can refer to the limitations on the data processing method in the above text, and will not be repeated here.

[0133] In an exemplary embodiment, as Figure 7 shown, a data processing device is provided, including: an acquisition module 701, a construction module 702, and an aggregation module 703, where:

[0134] The acquisition module 701 is configured to acquire an operator and an aggregation function input by a user based on a pre-set programming interface;

[0135] The construction module 702 is configured to perform construction processing on a first input array and a second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0136] The aggregation module 703 is configured to perform aggregation processing on the elements in the array matching relationship table based on the aggregation function to determine a target aggregation result corresponding to the private input data.

[0137] In an exemplary embodiment, the above construction module 702 is specifically configured to perform arithmetic processing on the elements in the first input array and the elements in the second input array based on the operator to determine a plurality of intermediate calculation results;

[0138] Based on the plurality of intermediate calculation results, determine the array matching relationship table.

[0139] In an exemplary embodiment, the above construction module 702 is specifically configured to determine the Cartesian product combination between the first input array and the second input array;

[0140] Perform arithmetic processing on each Cartesian product ordered pair in the Cartesian product combination based on the operator to obtain multiple intermediate calculation results.

[0141] In an exemplary embodiment, the above-mentioned building block 702 is specifically configured to divide all elements in the first input array into multiple sub-arrays; the number of elements in the sub-array is greater than one;

[0142] Combine each element in the second input array with the sub-array to determine multiple combined ordered pairs;

[0143] Perform arithmetic processing on the multiple combined ordered pairs based on the operator to obtain multiple intermediate calculation results.

[0144] In an exemplary embodiment, the above-mentioned aggregation module 703 is specifically configured to perform aggregation processing on the elements in the array matching relationship table in row order according to the aggregation function to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0145] In an exemplary embodiment, the above-mentioned aggregation module 703 is specifically configured to, in the case of the first round of aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result;

[0146] In the case of non-first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the intermediate aggregation result to obtain the target aggregation result.

[0147] Each module in the above-mentioned data processing device can be implemented in whole or in part by software, hardware, and their combination. The above-mentioned modules can be embedded in the processor in the computer device in hardware form or independent of it, or stored in the memory in the computer device in software form, so that the processor can call and execute the operations corresponding to the above-mentioned modules.

[0148] In an exemplary embodiment, a computer device is provided, including a memory and a processor. A computer program is stored in the memory. When the processor executes the computer program, the following steps are implemented:

[0149] Obtain the operator and aggregation function input by the user based on a pre-set programming interface;

[0150] Perform construction processing on the first input array and the second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly representing the protected private input data;

[0151] Aggregate the elements in the array matching relationship table based on an aggregation function to determine the target aggregation result corresponding to the private input data.

[0152] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0153] Perform arithmetic processing on the elements in the first input array and the elements in the second input array based on an operator to determine multiple intermediate calculation results;

[0154] Determine the array matching relationship table based on the multiple intermediate calculation results.

[0155] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0156] Determine the Cartesian product combination between the first input array and the second input array;

[0157] Perform arithmetic processing on each Cartesian product ordered pair in the Cartesian product combination based on an operator to obtain multiple intermediate calculation results.

[0158] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0159] Divide all the elements in the first input array into multiple sub-arrays; the number of elements in the sub-array is greater than one;

[0160] Combine each element in the second input array with the sub-arrays to determine multiple combined ordered pairs;

[0161] Perform arithmetic processing on the multiple combined ordered pairs based on an operator to obtain multiple intermediate calculation results.

[0162] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0163] According to the aggregation function, perform aggregation processing on the elements in the array matching relationship table in row order to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0164] In one embodiment, when the processor executes the computer program, the following steps are further implemented:

[0165] In the case of the first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result;

[0166] In the case of non-first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the intermediate aggregation result to obtain the target aggregation result.

[0167] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0168] Obtain the operator and aggregation function input by the user based on a pre-set programming interface;

[0169] Perform construction processing on the first input array and the second input array based on the operator to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly characterizing the protected private input data;

[0170] Perform aggregation processing on the elements in the array matching relationship table based on the aggregation function to determine the target aggregation result corresponding to the private input data.

[0171] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0172] Perform arithmetic processing on the elements in the first input array and the elements in the second input array based on the operator to determine multiple intermediate calculation results;

[0173] Determine the array matching relationship table based on the multiple intermediate calculation results.

[0174] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0175] Determine the Cartesian product combination between the first input array and the second input array;

[0176] Perform arithmetic processing on each Cartesian product ordered pair in the Cartesian product combination based on the operator to obtain multiple intermediate calculation results.

[0177] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0178] Divide all the elements in the first input array into multiple sub-arrays; the number of elements in the sub-array is greater than one;

[0179] Combine each element in the second input array with the sub-arrays to determine multiple combined ordered pairs;

[0180] Perform arithmetic processing on the multiple combined ordered pairs based on the operator to obtain multiple intermediate calculation results.

[0181] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0182] According to the aggregation function, perform aggregation processing on the elements in the array matching relationship table in sequence according to the row order to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0183] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0184] In the case of the first-round aggregation, based on the identity element in the aggregation function, the elements in the array matching relationship table are aggregated in row order to obtain an intermediate aggregation result;

[0185] In the case of non-first-round aggregation, based on the intermediate aggregation result, the elements in the array matching relationship table are aggregated in row order to obtain a target aggregation result.

[0186] In one embodiment, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the following steps are implemented:

[0187] Obtain the operator and aggregation function input by the user based on a pre-set programming interface;

[0188] Based on the operator, perform construction processing on the first input array and the second input array to obtain an array matching relationship table; wherein, the first input array and the second input array are determined by abstractly characterizing the protected private input data;

[0189] Based on the aggregation function, perform aggregation processing on the elements in the array matching relationship table to determine the target aggregation result corresponding to the private input data.

[0190] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0191] Based on the operator, perform arithmetic processing on the elements in the first input array and the elements in the second input array to determine a plurality of intermediate calculation results;

[0192] Based on the plurality of intermediate calculation results, determine the array matching relationship table.

[0193] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0194] Determine the Cartesian product combination between the first input array and the second input array;

[0195] Based on the operator, perform arithmetic processing on each Cartesian product ordered pair in the Cartesian product combination to obtain a plurality of intermediate calculation results.

[0196] In one embodiment, when the computer program is executed by a processor, the following steps are further implemented:

[0197] Divide all the elements in the first input array into a plurality of sub-arrays; the number of elements in the sub-array is greater than one;

[0198] Combine each element in the second input array with the sub-array to determine multiple combined ordered pairs;

[0199] Perform arithmetic operations on the multiple combined ordered pairs based on the operator to obtain multiple intermediate calculation results.

[0200] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:

[0201] Perform aggregation processing on the elements in the array matching relationship table in row order according to the aggregation function to determine the target aggregation result corresponding to the private input data; wherein, the aggregation function satisfies commutativity and associativity.

[0202] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented:

[0203] In the case of the first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result;

[0204] In the case of non-first-round aggregation, perform aggregation processing on the elements in the array matching relationship table in row order based on the intermediate aggregation result to obtain the target aggregation result.

[0205] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of relevant data need to comply with relevant regulations.

[0206] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, database, or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The databases involved in the embodiments provided in this application can include at least one of relational databases and non-relational databases. Non-relational databases can include distributed databases based on blockchain, etc., without limitation. The processors involved in the embodiments provided in this application can be general-purpose processors, central processors, graphics processors, digital signal processors, programmable logic devices, data processing logics based on quantum computing, artificial intelligence (AI) processors, etc., without limitation.

[0207] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this application.

[0208] The above-described embodiments merely represent several implementation manners of the present application. The description thereof is relatively specific and detailed, but it should not be construed as a limitation on the patent scope of the present application. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims

1. A data processing method, characterized in that: The method comprises: Operators and aggregation functions that obtain user input based on pre-set programming interfaces; Based on the operator, the first input array and the second input array are constructed and processed to obtain an array matching relationship table; wherein the first input array and the second input array are determined by abstractly representing the protected private input data; Aggregation processing is performed on the elements in the array matching relationship table based on the aggregation function to determine a target aggregation result corresponding to the private input data.

2. The method according to claim 1, characterized in that The constructing process of the first input array and the second input array based on the operator to obtain an array matching relationship table includes: Performing operations on elements in the first input array and elements in the second input array based on the operator to determine a plurality of intermediate calculation results; Based on the plurality of intermediate calculation results, the array matching relationship table is determined.

3. The method according to claim 2, characterized in that The performing operation processing on the elements in the first input array and the elements in the second input array based on the operator to determine a plurality of intermediate calculation results includes: determining a Cartesian product combination between the first input array and the second input array; Based on the operator, each Cartesian product ordered pair in the Cartesian product combination is operated and processed to obtain a plurality of the intermediate calculation results.

4. The method according to claim 2, characterized in that: The performing operation processing on the elements in the first input array and the elements in the second input array based on the operator to determine a plurality of intermediate calculation results includes: Divide all elements in the first input array into a plurality of sub-arrays; the number of elements in the sub-arrays is greater than one; Combining each element in the second input array with the sub-array to determine a plurality of combined ordered pairs; The plurality of combined ordered pairs are processed based on the operator to obtain a plurality of the intermediate calculation results.

5. The method according to claim 1, characterized in that The performing aggregation processing on the elements in the array matching relationship table based on the aggregation function to determine the target aggregation result corresponding to the private input data includes: The elements in the array matching relationship table are aggregated in row order according to the aggregation function to determine the target aggregation result corresponding to the private input data; wherein the aggregation function satisfies the exchangeability and associativity.

6. The method according to claim 5, characterized in that The step of performing aggregating processing on the elements in the array matching relationship table in row order according to the aggregation function to determine a target aggregation result corresponding to the private input data includes: In the case of the first round of aggregation, the elements in the array matching relationship table are aggregated in row order based on the identity element in the aggregation function to obtain an intermediate aggregation result; In the case of non-first round aggregation, the elements in the array matching relationship table are aggregated in row order based on the intermediate aggregation result to obtain the target aggregation result.

7. A data processing device, characterized in that: The device comprises: An acquisition module, used to acquire operators and aggregation functions input by users based on a preset programming interface; A construction module, used to construct and process the first input array and the second input array based on the operator to obtain an array matching relationship table; wherein the first input array and the second input array are determined by abstractly representing the protected private input data; An aggregation module is used to perform aggregation processing on the elements in the array matching relationship table based on the aggregation function to determine a target aggregation result corresponding to the private input data.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.