Data processing method and device

By introducing a trusted proxy server to dynamically generate random noise in the database, the problem of personal privacy exposure in centralized databases is solved. This data processing method provides real statistical results while protecting privacy and is applicable to the fields of database security and privacy computing.

CN121958338APending Publication Date: 2026-05-01中建材智慧工业科技有限公司 +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
中建材智慧工业科技有限公司
Filing Date
2025-11-28
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In existing technologies, although centralized databases control access by setting access permissions, users can still obtain accurate statistical results, leading to the exposure of personal privacy or sensitive information. Furthermore, in some scenarios, the perturbed statistical results cannot provide practical value.

Method used

By introducing a trusted proxy server into the database, random noise is dynamically generated to add noise to the plaintext data, and the trusted proxy server is used for noise removal processing to ensure that ordinary users obtain the noise-added aggregation results, while specific users obtain the true statistical results.

Benefits of technology

It achieves the goal of providing accurate statistical results while protecting personal privacy, maximizing the value of data, and being easy to deploy in existing database systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121958338A_ABST
    Figure CN121958338A_ABST
Patent Text Reader

Abstract

The invention relates to a data processing method and device. The method is executed by a database and comprises the following steps: receiving a query request of a user, the query request of the user comprising a first query request sent by a client and a second query request forwarded by a trusted proxy server; obtaining random noise, wherein the random noise is generated by the trusted proxy server; executing a query operation, reading the plaintext data, and adding noise to the plaintext data by using random noise; and performing aggregation calculation on the data added with the noise, and outputting an aggregation result. The method can prevent personal information leakage, improves privacy protection, and is easy to deploy and implement in an existing database system.
Need to check novelty before this filing date? Find Prior Art

Description

Data processing methods and devices Technical Field

[0001] This disclosure relates to the fields of database security and privacy computing, and in particular to a data processing method and apparatus. Background Technology

[0002] Centralized databases store vast amounts of personal information. While access permissions can control the number of visitors, authorized users can still obtain accurate statistical results, easily exposing personal privacy or sensitive information. Existing technologies can incorporate privacy algorithms, such as differential algorithms, into the database to add noise to the query results, perturbing the output. The perturbed statistical results are not accurate, offering a high level of privacy protection for personal data. However, in certain specific scenarios, these inaccurate statistical results lack practical significance and cannot provide specific value for subsequent research activities. Summary of the Invention

[0003] To overcome the problems existing in related technologies, this disclosure provides a data processing method and apparatus.

[0004] According to a first aspect of the embodiments of this disclosure, a data processing method is provided.

[0005] A data processing method applied to a database includes: receiving a query request; obtaining random noise based on the query request, the random noise being generated by a trusted proxy server; performing a query operation, reading plaintext data, and adding noise to the plaintext data using the random noise; performing aggregation processing on the data after adding noise, and outputting the aggregation result.

[0006] Based on the foregoing scheme, in some embodiments of this disclosure, the query request includes: a first query request sent by a client or a second query request sent via a trusted proxy server; obtaining random noise based on the query request includes: when the query request is a first query request sent by a client, generating a session identifier for the first query request and sending the session identifier to the trusted proxy server, so that the trusted proxy server generates the random noise based on the session identifier; obtaining the random noise from the trusted proxy server; or when the user's query request is a second query request sent by a trusted proxy server, obtaining random noise based on the second query request; the second query request is generated based on a third query request sent by the client to the trusted proxy server.

[0007] Based on the foregoing scheme, in some embodiments of this disclosure, obtaining random noise based on the second query request includes: generating the session identifier according to the second query request and sending it to the trusted proxy server, so that the trusted proxy server generates random noise based on the session identifier; obtaining the random noise from the trusted proxy server; or obtaining the random noise from the second query request when the trusted proxy server generates the session identifier based on the third query request and generates the random noise for the session identifier.

[0008] Based on the foregoing scheme, in some embodiments of this disclosure, the aggregation result includes a session identifier.

[0009] A data processing method, applied to a trusted proxy server, includes: receiving a session identifier sent by a database; generating random noise for the session identifier; and sending the random noise to the database so that the database adds noise to the plaintext data corresponding to the query request.

[0010] Based on the foregoing scheme, in some embodiments of this disclosure, the data processing method further includes: receiving a third query request for the database sent by a client; generating a second query request based on the third query request and forwarding it to the database; or generating a session identifier for the third query request, generating the random noise based on the session identifier, and generating a second query request based on the third query request, the session identifier, and the random noise and sending it to the database, so that the database adds noise to the plaintext data.

[0011] Based on the foregoing scheme, in some embodiments of this disclosure, the data processing method further includes: establishing a correspondence between the session identifier and random noise.

[0012] Based on the foregoing scheme, in some embodiments of this disclosure, the data processing method further includes: receiving an aggregation result and obtaining the session identifier of the aggregation result; querying the correspondence between the session identifier and random noise to determine the random noise corresponding to the session identifier; using the random noise to remove noise from the aggregation result and restore the aggregation result to the true statistical result; and sending the true statistical result to the corresponding client.

[0013] According to a second aspect of the present disclosure, a data processing apparatus is provided, applied to a database, comprising: a request receiving module configured to receive a query request; a random noise acquisition module configured to acquire random noise based on the query request, the random noise being generated by a trusted proxy server; a query module configured to perform a query operation, read plaintext data, and add noise to the plaintext data using the random noise; and an output module configured to perform aggregation processing on the noise-added data and output an aggregation result.

[0014] The data processing device is applied to a trusted proxy server and includes: a session identifier receiving module configured to receive a session identifier sent by a database; and a noise generation module configured to generate random noise for the session identifier and send the random noise to the database so that the database adds noise to the plaintext data corresponding to the query request.

[0015] The above-described method disclosed herein has the following advantages: it prevents the leakage of personal information, improves privacy protection, enables specific personnel to obtain accurate statistical results, maximizes the utilization of data value, and is easy to deploy and implement in existing database systems.

[0016] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0017] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0018] Figure 1 is a schematic diagram of a data processing system according to an exemplary embodiment.

[0019] Figure 2 is a flowchart illustrating a data processing method according to an exemplary embodiment.

[0020] Figure 3 is a flowchart illustrating a data processing method according to an exemplary embodiment.

[0021] Figure 4 is a block diagram of a data processing apparatus according to an exemplary embodiment.

[0022] Figure 5 is a block diagram of a data processing apparatus according to an exemplary embodiment.

[0023] Figure 6 is a block diagram illustrating a computer device according to an exemplary embodiment. Detailed Implementation

[0024] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numerals in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0025] Centralized databases store vast amounts of personal information. While access permissions can control the number of visitors, authorized users can still obtain accurate statistical results, easily exposing personal privacy or sensitive information. Existing technologies can incorporate privacy algorithms, such as differential algorithms, into the query results to perturb the output. The perturbed statistical results are not true statistical results. While this provides high privacy protection for personal data, in certain scenarios, inaccurate statistical results have no practical significance and cannot provide value for subsequent research. For example, in training large models in certain specialized fields, 100% accurate statistical results are required for training to achieve good training results.

[0026] To address the aforementioned problems, this disclosure provides a data processing method.

[0027] Figure 1 is a schematic diagram illustrating a data processing system according to an exemplary embodiment. Referring to Figure 1, the data processing system includes a client, a database, and a trusted proxy server.

[0028] As shown in Figure 1, the client can directly access the database to query data and obtain the aggregation results after adding noise; the client can also access the database through a trusted proxy server to query data. After obtaining the aggregation results after adding noise, the trusted proxy server performs further processing on the aggregation results, extracts the true statistical results from the aggregation results, and returns them to the client.

[0029] This allows ordinary users to directly access the database through a client to obtain aggregated results with added noise, protecting personal privacy and improving data security. Meanwhile, specific users can access the database through a trusted proxy server, or send the aggregated results to the trusted proxy server, which then removes noise from the results to obtain accurate statistical data for specific scientific research.

[0030] Figure 2 is a flowchart illustrating a data processing method according to an exemplary embodiment. Referring to Figure 2, the data processing method is performed by a database, and the method includes the following steps: Step S21, receiving a query request.

[0031] Referring to Figure 1, since the query request may be sent directly by the user client, or it may be sent by the user client to a trusted proxy server, which then acts on behalf of the user to query the database. For ease of description, the query request sent by the client is referred to as the first query request, the query request sent by the trusted proxy server as the second query request, and the query request sent by the client to the trusted proxy server as the third query request.

[0032] Step S22: Based on the query request, random noise is obtained. The random noise is generated by the trusted proxy server. In the data processing method of this disclosure, in order for the trusted proxy server to perform noise removal processing on the aggregated results after the database adds noise to the query results, the random noise is generated by the trusted proxy server.

[0033] Step S23: Perform a query operation, read plaintext data, and add random noise to the plaintext data.

[0034] The database executes a query operation, reads plaintext data that meets the query conditions, and adds random noise to the plaintext data using noise parameters generated by a trusted proxy server.

[0035] For example, for a data row to be aggregated, or a data row that meets the query conditions, where the plaintext data of the i-th row is... The added random noise is The data after adding noise is ,but .

[0036] Step S24: Perform aggregation processing on the data after adding noise and output the aggregation result.

[0037] Perform aggregation processing on the data after adding noise.

[0038] For example, when performing aggregation calculations on multiple rows of data to be aggregated, the aggregation result is represented as follows: The formula for representing the aggregation result can be obtained as follows: .

[0039] The aggregation result is a statistical result calculated from data with added noise; it is not a true statistical result. The deviation between the aggregation result and the true statistical result depends on the magnitude of the random noise. The aggregation result can be used for general purposes, such as training large general models. In practical applications, the aggregation result can be further masked to enhance privacy protection.

[0040] For each query request, the trusted proxy server can dynamically generate corresponding random noise, thus achieving dynamic noise injection.

[0041] Dynamic noise injection prevents general users, including database administrators, from obtaining accurate statistical results through database queries, thus preventing personal information leaks and enhancing privacy protection. In practical applications, a security extension plugin can be integrated into existing databases. This plugin adds random noise to the query results, generated by a trusted proxy server. This combination of the security extension plugin and the external trusted proxy server achieves deep algorithm integration while separating the key (random noise) from the computing environment, facilitating the deployment and implementation of the data processing method disclosed herein within existing database systems.

[0042] In some embodiments, in step S22, obtaining random noise based on the query request includes: when the query request is a first query request sent by the client, generating a session identifier for the first query request and sending the session identifier to the trusted proxy server so that the trusted proxy server generates random noise based on the session identifier; and obtaining random noise from the trusted proxy server.

[0043] If the query request is the first query request sent by the client, the database can generate a session identifier based on the client's username, or it can generate a unique session identifier based on the client's username combined with the query request's timestamp. Different session identifiers can be generated for query requests sent by the same client at different times. The session identifier is then sent to a trusted proxy server, which generates random noise based on this identifier and sends the random noise to the database.

[0044] The random noise generated based on the session identifier can be unique; that is, different session identifiers will generate different random noise. This allows different users to generate different aggregation results for the same query request, and even if the same user sends the same query request at different times, different aggregation results can be generated, thus improving the privacy protection of personal data.

[0045] When the query request is a second query request sent by the trusted proxy server, random noise is obtained based on the second query request; the second query request is generated based on the third query request sent by the client to the trusted proxy server.

[0046] If the query request is a second query request sent by the trusted proxy server, it means that the client is sending the query request to the trusted proxy server. After receiving the client's third query request, the trusted proxy server can either forward it to the database, and then generate random noise for it upon receiving the session identifier from the database for that request; or it can process the third query request, generating a session identifier and random noise, adding the session identifier and random noise to specific fields in the request, thus forming a second query request, which is then sent to the database. The database can directly obtain the random noise from the second query request, reducing the number of interactions between the database and the trusted proxy server.

[0047] In some embodiments, obtaining random noise based on a second query request includes: generating a session identifier according to the second query request and sending it to a trusted proxy server so that the trusted proxy server generates random noise based on the session identifier; and obtaining the random noise from the trusted proxy server.

[0048] Alternatively, when the trusted proxy server generates a session identifier based on a third query request and generates random noise for the session identifier, the random noise can be obtained from the second query request.

[0049] If the second query request is a third query request forwarded by the trusted proxy server, after receiving the second query request, the database generates a session identifier for the second query request, sends the session identifier to the trusted proxy server, requests the trusted proxy server to generate random noise based on the session identifier, and then the database obtains the random noise from the trusted proxy server and adds noise to the query results.

[0050] If the second query request is formed after the trusted proxy server processes the third query request, generating a session identifier and random noise, the database can retrieve the session identifier and random noise from the second query request by parsing it. For example, the trusted proxy server can generate a session identifier based on the client's username, or a unique session identifier based on the client's username and the query request's timestamp. Random noise is then generated based on the session identifier and added to the second query request. The database can then retrieve the random noise from the second query request upon receiving it and add noise to the query results, without needing to retrieve the random noise from the trusted proxy server again.

[0051] Since in this disclosure, the client can send query requests to either the database or the trusted proxy server, the database can establish a session identifier for the query session, and the trusted proxy server can also establish a session identifier for the query session.

[0052] In some embodiments, the aggregation result includes a session identifier. In step S24, outputting the aggregation result includes: when the user's query request is a first query request sent by the client, sending the aggregation result to the client; when the user's query request is a second query request forwarded by a trusted proxy server, sending the aggregation result to the trusted proxy server.

[0053] In this disclosure, after receiving a query request, the database reads plaintext data from storage, adds random noise to the data, aggregates it into an aggregated result, and sends the aggregated result to the requester. This ensures that the query result generated by the database based on the query request is the aggregated result with added noise, protecting privacy and improving data security. The database adds a session identifier to the aggregated result. For ordinary users, the session identifier in the aggregated result has no practical meaning. However, for specific users, in scenarios where they need to obtain the true results, a trusted proxy server can determine from the session identifier in the aggregated result which query session the result was generated in, and then determine the random noise used in that query session. The server can then remove the noise from the aggregated result to obtain accurate statistical data for specific scientific research.

[0054] Figure 3 is a flowchart illustrating a data processing method according to an exemplary embodiment. Referring to Figure 3, the data processing method is performed by a trusted proxy server, and the method includes the following steps: Step 31, receiving a session identifier sent by a database.

[0055] Step 32: Generate random noise for the session identifier and send the random noise to the database so that the database adds noise to the plaintext data corresponding to the query request.

[0056] When the database receives a query request, it generates a session identifier and sends it to the trusted proxy server. Upon receiving the session identifier, the trusted proxy server generates random noise and sends it to the database. This ensures that when the database executes a query and reads plaintext data, it adds noise to the plaintext data using random noise, guaranteeing that the aggregated result is a statistical result with the random noise added.

[0057] A query request can be either the first query request sent directly to the database by the client, or the second query request sent to the database by a trusted proxy server.

[0058] Trusted proxy servers can also establish a mapping between session identifiers and random noise locally.

[0059] In some embodiments, the data processing method, applied to a trusted proxy server, further includes: receiving a third query request for a database sent by a client.

[0060] A trusted proxy server can forward a third query request, modify the destination address of the data packet, and generate a second query request to forward to the database. Upon receiving the second query request, the database generates a session identifier for it and sends this identifier to the trusted proxy server, enabling the proxy server to generate random noise for it.

[0061] Alternatively, the trusted proxy server receives a third query request for the database sent by the client, generates a session identifier for the third query request, generates unique random noise for the session identifier, and generates a second query request based on the third query request, the session identifier, and the random noise, and sends it to the database so that the database can obtain the random noise from the second query request and use the random data to add noise to the plaintext data.

[0062] If the client sends a query request to the trusted proxy server, the trusted proxy server generates a session identifier for the query request, generates unique random noise for the session identifier, and then sends a second query request to the database, combining the query request, session identifier, and random noise. The database can use the random noise in the second query request to add random noise to the plaintext data of the query results without needing to request the random noise for the session identifier from the trusted proxy server again. Simultaneously, when the database generates the aggregation results, it can add the session identifier to the aggregation results.

[0063] In some embodiments, the trusted proxy server needs to establish a local mapping between session identifiers and random noise. This allows the trusted proxy server to obtain the session identifier from the aggregation result when noise removal is required. By querying the mapping between the session identifier and random noise, the server can determine the random noise corresponding to the current query session, use the random noise to remove the noise from the aggregation result, and restore the aggregation result to the true statistical result.

[0064] In some embodiments, the data processing method, applied to a trusted proxy server, further includes: receiving an aggregation result and obtaining a session identifier of the aggregation result; querying the correspondence between the session identifier and random noise to determine the random noise corresponding to the session identifier; using the random noise to remove noise from the aggregation result and restore the aggregation result to the true statistical result; and sending the true statistical result to the corresponding client.

[0065] A trusted proxy server can generate a second query request based on the third query request sent by a client. After sending the second query request to the database, it can receive the aggregated results returned from the database and obtain the session identifier of the aggregated results. It then queries the correspondence between the session identifier and random noise to determine the random noise corresponding to the session identifier. Using the random noise, it removes the noise from the aggregated results, restores the aggregated results to the true statistical results, and sends the true statistical results to the client that sent the third query request.

[0066] The trusted proxy server can also receive aggregation results from the client and obtain the session identifier of the aggregation results. It queries the correspondence between the session identifier and random noise, determines the random noise corresponding to the session identifier, uses the random noise to remove the noise in the aggregation results, restores the aggregation results to the true statistical results, and sends the true statistical results to the client that sent the aggregation results.

[0067] For example, the aggregation result is Further derivation yields... .in, To ensure accurate statistical results, The total noise value is calculated based on the aggregated results, since the random noise in each query request is generated by the trusted proxy server. The difference between the aggregated result and the total noise value is the true statistical result. This true statistical result is then sent to the client. In this embodiment, the client can send a query request to the database through the trusted proxy server. The trusted proxy server then queries the database on behalf of the client, retrieves the aggregated results returned by the database, removes the noise from the aggregated results using random noise, restores the aggregated results to the true statistical result, and then provides it to the client. This allows specific users to use a different query path than ordinary users, enabling the client to quickly obtain the true statistical result.

[0068] The client can also retrieve the aggregation results from the database after sending the first query request directly to the database. If the client has permission to access the trusted proxy server, it can also forward the aggregation results to the trusted proxy server. The trusted proxy server retrieves the session identifier from the aggregation results, queries the locally stored random noise corresponding to the session identifier, uses the random noise to remove noise from the aggregation results, restores the aggregation results to the true statistical results, and then provides them to the client. Specific users can determine whether to restore the aggregation results to the true statistical results based on their actual usage needs.

[0069] In this embodiment, the trusted proxy server only needs to perform security authentication, ensuring that only authenticated user clients can access the trusted proxy server. Strengthening the management of security authentication and supervising data usage ensures data security, allowing the accurate statistical results to be used for scientific research and maximizing the value of the data. The accurate statistical results are completely consistent with those calculated directly from the original data, without any loss of accuracy, overcoming the shortcomings of existing differential privacy technologies.

[0070] In some embodiments, the data processing method, applied to a client, includes: sending a first query request to a database and receiving an aggregated result generated by the database based on the first query request; or, sending a third query request to a trusted proxy server, causing the trusted proxy server to send a second query request to the database, obtaining the aggregated result of the third query request from the database, removing noise from the aggregated result using random noise, restoring the aggregated result to a true statistical result, and receiving the true statistical result returned by the trusted proxy server.

[0071] After receiving the aggregation result generated by the database based on the first query request, the method further includes: sending the aggregation result to a trusted proxy server so that the trusted proxy server can obtain the session identifier of the aggregation result, querying the random noise corresponding to the session identifier, using the random noise to remove the noise in the aggregation result, restoring the aggregation result to the true statistical result, and sending it to the client.

[0072] The client can directly access the database to retrieve the noisy aggregation results. If the user is a specific user with permission to access the trusted proxy server, the aggregation results can also be sent to the trusted proxy server, which will remove the noise from the aggregation results and send the true statistical results to the client.

[0073] If a user is a specific user with permission to access the trusted proxy server, they can also send a query request to the trusted proxy server, which will directly return the actual statistical data, providing a different access path for the specific user than for ordinary users.

[0074] The data processing procedure will be explained below with reference to Figure 1 through a specific embodiment.

[0075] Install a security extension plugin for your existing database. This plugin is deeply integrated into the database engine's query executor via hook functions. The security extension plugin can communicate with trusted proxy servers.

[0076] User 1 is a regular user who can access the database but not the trusted proxy server. User 1 sends a query request to the database. Upon receiving the query request, the database combines User 1's username and access timestamp to generate a session identifier, which is then sent to the trusted proxy server by the security extension plugin. The trusted proxy server generates random noise based on the session identifier and sends it to the database, establishing a mapping between the session identifier and the random noise. The database engine executes the query, reads plaintext data from storage, and then the security extension plugin adds random noise to each row of plaintext data. Multiple rows of data to be aggregated are then aggregated, and the aggregated result is output to User 1. User 1 only receives the aggregated result with added noise.

[0077] Users 2 and 3 are specific users with higher requirements for data usage. They undergo pre-authentication with a trusted proxy server. They have access to both the database and the trusted proxy server.

[0078] User 2 sends a query request to the database.

[0079] User 2 sends a query request directly to the trusted proxy server. Upon receiving the request, the database combines User 3's username and access timestamp to generate a session identifier. This session identifier is then sent to the trusted proxy server by the security extension plugin. The trusted proxy server generates random noise based on the session identifier and sends it to the database, establishing a mapping between the session identifier and the random noise. The database engine executes the query, retrieving plaintext data from storage. The security extension plugin then adds random noise to each row of plaintext data. Aggregation calculations are performed on multiple rows of data to be aggregated, and the aggregation result, including the session identifier, is output to User 2.

[0080] User 2 finds the aggregated results insufficient and requires further accurate statistical results. The aggregated results can be forwarded to a trusted proxy server. The trusted proxy server retrieves the session identifier from the aggregated results, queries the correspondence between the session identifier and random noise, and determines the random noise corresponding to the session identifier. Using the random noise, the noise in the aggregated results is removed, restoring the aggregated results to accurate statistical results, which are then returned to User 2.

[0081] To obtain accurate statistical results, User 3 sends a query request to a trusted proxy server. The trusted proxy server generates a session identifier for the query request, then generates random noise for the session identifier, and establishes a correspondence between the session identifier and the random noise. The query request, session identifier, and random noise are then sent to the database. The database engine executes the query, reads plaintext data from storage, and a security extension plugin adds random noise to each row of plaintext data. Aggregation calculations are performed on multiple rows of data to be aggregated, and the aggregation result, including the session identifier, is output to the trusted proxy server. The trusted proxy server retrieves the session identifier from the aggregation result, queries the correspondence between the session identifier and the random noise, and determines the random noise corresponding to the session identifier. Using the random noise, the noise in the aggregation result is removed, restoring the aggregation result to the accurate statistical result, which is then returned to User 3.

[0082] Through the above embodiments, the data processing method of this disclosure, by dynamically injecting noise, outputs aggregated results with added noise, effectively improving data security. Simultaneously, it employs a trusted proxy server to separate key information from the computing environment, making it easy to deploy the method in existing database systems. In scenarios requiring precise statistical data, the trusted proxy server can remove noise from the aggregated results, overcoming the shortcomings of existing query privacy technologies and enhancing data value.

[0083] Figure 4 is a block diagram illustrating a data processing apparatus according to an exemplary embodiment. Referring to Figure 4, the data processing apparatus is configured with a database, and the apparatus includes a request receiving module 401 configured to receive query requests.

[0084] The random noise acquisition module 402 is configured to acquire random noise based on the query request, wherein the random noise is generated by a trusted proxy server.

[0085] The query module 403 is configured to perform a query operation, read plaintext data, and add noise to the plaintext data using random noise.

[0086] Output module 404 is configured to perform aggregation processing on the data with added noise and output the aggregation result.

[0087] In some embodiments, the query request includes: a first query request sent by the client or a second query request sent via a trusted proxy server.

[0088] The random noise acquisition module 402 is further configured to generate a session identifier for the first query request when the query request is a first query request sent by the client, and send the session identifier to the trusted proxy server so that the trusted proxy server generates random noise based on the session identifier; and acquire the random noise from the trusted proxy server; or when the user's query request is a second query request sent by the trusted proxy server, acquire random noise based on the second query request; the second query request is generated based on a third query request sent by the client to the trusted proxy server.

[0089] Obtaining random noise based on the second query request includes: generating a session identifier according to the second query request and sending it to a trusted proxy server so that the trusted proxy server generates random noise based on the session identifier; obtaining the random noise from the trusted proxy server; or obtaining the random noise from the second query request when the trusted proxy server generates a session identifier based on a third query request and generates random noise for the session identifier.

[0090] Figure 5 is a block diagram illustrating a data processing apparatus according to an exemplary embodiment. Referring to Figure 5, the data processing apparatus is configured on a trusted proxy server, and the apparatus includes: a session identifier receiving module 501, configured to receive a session identifier sent by a database.

[0091] The noise generation module 502 is configured to generate random noise for the session identifier and send the random noise to the database so that the database adds noise to the plaintext data corresponding to the query request.

[0092] In some embodiments, the noise generation module 502 is further configured to receive a third query request for the database sent by the client, generate a second query request based on the third query request and forward it to the database; or generate a session identifier for the third query request, generate random noise based on the session identifier, and generate a second query request based on the third query request, the session identifier, and the random noise and send it to the database, so that the database adds noise to the plaintext data.

[0093] In some embodiments, the noise generation module 502 is further configured to establish a correspondence between session identifiers and random noise.

[0094] In some embodiments, the apparatus further includes: an aggregation result receiving module configured to receive the aggregation result and obtain the session identifier of the aggregation result; a noise removal module configured to query the correspondence between the session identifier and random noise, determine the random noise corresponding to the session identifier; use random noise to remove noise from the aggregation result and restore the aggregation result to the true statistical result; and send the true statistical result to the client corresponding to the session identifier.

[0095] Figure 6 is a block diagram illustrating a computer device 600 for data processing according to an exemplary embodiment. For example, the computer device 600 may be provided as a server. Referring to Figure 6, the computer device 600 includes a processor 601, the number of which may be set to one or more as needed. The computer device 600 also includes a memory 602 for storing instructions executable by the processor 601, such as application programs. The number of memories may be set to one or more as needed. The stored application programs may be one or more. The processor 601 is configured to execute instructions to perform the data processing method described above.

[0096] Those skilled in the art will understand that embodiments of this disclosure can be provided as methods, apparatus (devices), or computer program products. Therefore, this disclosure can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this disclosure can take the form of a computer program product implemented on one or more computer-usable storage media containing computer-usable program code. Computer storage media include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data), including but not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, magnetic cartridges, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible by a computer. Furthermore, it is well known to those skilled in the art that communication media typically contain computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and can include any information delivery medium.

[0097] This disclosure is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (devices), and computer program products according to embodiments of this disclosure. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in one or more flowchart illustrations and / or one or more block diagrams.

[0098] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means that implement the functions specified in one or more flowcharts and / or one or more block diagrams. These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions, which execute on the computer or other programmable apparatus, provide steps for implementing the functions specified in one or more flowcharts and / or one or more block diagrams.

[0099] In this disclosure, the terms “comprising,” “including,” or any other variations thereof are intended to cover non-exclusive inclusion, such that an article or device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such an article or device. Without further limitation, an element defined by the phrase “comprising…” does not exclude the presence of additional identical elements in the article or device that includes said element.

[0100] Although preferred embodiments of this disclosure have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this disclosure.

[0101] Obviously, those skilled in the art can make various modifications and variations to this disclosure without departing from its spirit and scope. Therefore, if such modifications and variations fall within the scope of the claims of this disclosure and their equivalents, then the intent of this disclosure also includes these modifications and variations.

Claims

1. A data processing method, characterized in that, The method, applied to a database, includes: receiving a query request; obtaining random noise based on the query request, the random noise being generated by a trusted proxy server; performing a query operation, reading plaintext data, and adding noise to the plaintext data using the random noise; performing aggregation processing on the data with added noise, and outputting the aggregation result.

2. The data processing method as described in claim 1, characterized in that, The query request includes: a first query request sent by the client or a second query request sent via a trusted proxy server; obtaining random noise based on the query request includes: when the query request is a first query request sent by the client, generating a session identifier for the first query request and sending the session identifier to the trusted proxy server, so that the trusted proxy server generates the random noise based on the session identifier; obtaining the random noise from the trusted proxy server; or when the user's query request is a second query request sent by the trusted proxy server, obtaining random noise based on the second query request; the second query request is generated based on a third query request sent by the client to the trusted proxy server.

3. The data processing method as described in claim 2, characterized in that, The step of obtaining random noise based on the second query request includes: generating the session identifier according to the second query request and sending it to the trusted proxy server so that the trusted proxy server generates random noise based on the session identifier; obtaining the random noise from the trusted proxy server; or obtaining the random noise from the second query request when the trusted proxy server generates the session identifier based on the third query request and generates the random noise for the session identifier.

4. The data processing method according to any one of claims 1-3, characterized in that, The aggregation result includes a session identifier.

5. A data processing method, characterized in that, Applied to a trusted proxy server, the method includes: receiving a session identifier sent by a database; generating random noise for the session identifier; and sending the random noise to the database so that the database adds noise to the plaintext data corresponding to the query request.

6. The data processing method as described in claim 5, characterized in that, Also includes: Receive a third query request for the database sent by the client; Based on the third query request, a second query request is generated and forwarded to the database; Alternatively, a session identifier can be generated for the third query request, the random noise can be generated based on the session identifier, and a second query request can be generated based on the third query request, the session identifier, and the random noise and sent to the database, so that the database adds noise to the plaintext data.

7. The data processing method as described in claim 6, characterized in that, Also includes: Establish the correspondence between the session identifier and the random noise.

8. The data processing method as described in claim 7, characterized in that, Also includes: Receive the aggregation result and obtain the session identifier of the aggregation result; Query the correspondence between the session identifier and the random noise to determine the random noise corresponding to the session identifier; The random noise is used to remove noise from the aggregation result, restoring the aggregation result to the true statistical result; The actual statistical results are sent to the corresponding client.

9. A data processing apparatus, characterized in that, Applied to a database, the system includes: a request receiving module configured to receive query requests; a random noise acquisition module configured to acquire random noise based on the query request, wherein the random noise is generated by a trusted proxy server; a query module configured to perform a query operation, read plaintext data, and add noise to the plaintext data using the random noise; and an output module configured to perform aggregation processing on the data with added noise and output the aggregation result.

10. A data processing apparatus, characterized in that, Applied to a trusted proxy server, it includes: a session identifier receiving module configured to receive a session identifier sent by a database; and a noise generation module configured to generate random noise for the session identifier and send the random noise to the database, so that the database adds noise to the plaintext data corresponding to the query request.