A data calculation method and system

By in the data computing system, the first server of the data provider performs data calculation locally, the security problem during data sharing is solved, the security of data is ensured and the computing efficiency is improved.

CN114189342BActive Publication Date: 2025-01-07JINGDONG TECH HLDG CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202010859807.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-08-24
Publication Date
2025-01-07
Estimated Expiration
2040-08-24

AI Technical Summary

Technical Problem

In a big data environment, there are security problems of data leakage and tampering during data sharing, and the existing technology is difficult to effectively ensure the security of data.

Method used

A data computing system is designed to perform data calculations between the first server of the data provider and the third server of the data demander. The first server obtains shared data from the second server of the data provider and performs data locally. Computing ensures that the data is always stored in the first server and avoids being sent to the data demander, thereby ensuring the security of the data.

Benefits of technology

It effectively ensures the security of shared data, avoids data leakage and tampering, and at the same time alleviates the data reading pressure of the second server and the data processing pressure of the third server, and improves the data computing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114189342B_ABST
    Figure CN114189342B_ABST
Patent Text Reader

Abstract

The present application provides a data calculation method and system, which belongs to the field of computer technology. The system includes: a first server and a second server of a data provider, and a third server of a data demander, wherein the first server is connected to the second server and the third server respectively, the second server stores the data of the data provider, and the third server stores the data of the data demander; the first server is used to obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving a data calculation request sent by the third server; perform data calculation on the first shared data and the second shared data based on the indication of the data calculation request to obtain the data calculation result; and provide the data calculation result to the third server. The technical solution provided by the present application can ensure data security while sharing data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a data calculation method and system. Background Art

[0002] In a big data environment, it is often necessary to perform data analysis based on data from multiple data parties, so data sharing is performed between multiple data parties.

[0003] In the related art, data sharing can be performed in a variety of ways. For example, the server of the data demander can directly access the database of the data provider to obtain the shared data required for data calculation from the database; or the server of the data demander can obtain the shared data required for data calculation by accessing the data access interface provided by the data provider. After obtaining the shared data, the server can perform data calculation based on the obtained shared data and the locally stored data to obtain the data calculation result.

[0004] However, in the above data sharing method, the shared data provided by the data provider may be tampered with or leaked, and the security of the shared data cannot be guaranteed. Therefore, there is an urgent need for a data calculation method that can ensure data security while sharing data. Summary of the invention

[0005] The purpose of the embodiment of the present application is to provide a data computing method and system to achieve data security while sharing data. The specific technical solution is as follows:

[0006] In a first aspect, a data computing system is provided, the system comprising: a first server and a second server of a data provider, and a third server of a data demander, wherein:

[0007] The first server is connected to the second server and the third server respectively, the second server stores the data of the data provider, and the third server stores the data of the data demander;

[0008] The first server is used to obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving the data calculation request sent by the third server; perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result; and provide the data calculation result to the third server.

[0009] Optionally, the second server is connected to the third server, wherein:

[0010] The third server is further configured to send a shared data acquisition request to the second server, wherein the shared data acquisition request carries a data identifier of the first shared data;

[0011] The second server is further configured to send the first shared data corresponding to the data identifier to the first server after receiving the shared data acquisition request;

[0012] The first server is further configured to receive the first shared data from the second server.

[0013] Optionally, the first server is further used to receive a computing task configured by the third server; execute the computing task on the first shared data and the second shared data to obtain the data calculation result.

[0014] Optionally, the first server is further used to perform data calculation on the first shared data and the second shared data based on an instruction of the third server to obtain the data calculation result when it is determined that the third server has the right to use the first shared data.

[0015] Optional,

[0016] The second server is further used to indicate to the first server that the third server has the right to use the first shared data; the first server is further used to determine that the third server has the right to use the first shared data when receiving the instruction from the second server; or

[0017] The first server is further used to obtain the target usage permission corresponding to the third server from the servers and usage permissions having a corresponding relationship; when the target usage permission is obtained, it is determined that the third server has the usage permission for the first shared data.

[0018] Optionally, the third server is further configured to send a calculation result acquisition request to the second server, wherein the calculation result acquisition request carries a user identifier of a target user, and the target user is at least one user among multiple users registered on the data demander;

[0019] The second server is further configured to, after receiving the calculation result acquisition request, determine the target acquisition permission corresponding to the target user from pre-stored user identifiers and acquisition permissions having a corresponding relationship, and, if the target acquisition permission indicates that the target user has the acquisition permission for the data calculation result, instruct the first server to send the data calculation result to the third server;

[0020] The first server is further configured to respond to an instruction from the second server and send the data calculation result to the third server.

[0021] Optionally, the first server is also used to record a data log, and the data log is used to audit the shared data. The data log records the first shared data, the second shared data, the executed data calculation operations and the data calculation results that have a corresponding relationship.

[0022] Optionally, the first server is further used to: store the first shared data, the second shared data and the data calculation result in a memory.

[0023] In a second aspect, a data calculation method is provided. The method is applied to a first server of a data provider in a data processing system. The data processing system further includes a second server of the data provider and a third server of a data demander. The first server is connected to the second server and the third server respectively. The second server stores the data of the data provider, and the third server stores the data of the data demander. The method includes:

[0024] Upon receiving the data calculation request sent by the third server, acquiring the first shared data provided by the second server, and acquiring the second shared data provided by the third server;

[0025] Performing data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result;

[0026] The data calculation result is provided to the third server.

[0027] Optionally, the acquiring the first shared data provided by the second server includes:

[0028] The first shared data sent by the second server is received, where the first shared data is determined by the second server according to a data identifier carried in a received shared data acquisition request, and the shared data acquisition request is sent by the third server.

[0029] Optionally, performing data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result includes:

[0030] receiving a computing task configured by the third server;

[0031] The computing task is performed on the first shared data and the second shared data to obtain a data computing result.

[0032] Optionally, performing data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result includes:

[0033] receiving a first instruction sent by the third server, wherein the first instruction is used to instruct the first server to use the first shared data to perform data calculation;

[0034] In the case where it is determined that the third server has the right to use the first shared data, data calculation is performed on the first shared data and the second shared data based on the first indication to obtain the data calculation result.

[0035] Optionally, before performing data calculation on the first shared data and the second shared data based on the first indication to obtain the data calculation result, the method further includes:

[0036] receiving a second indication sent by the second server indicating that the third server has the right to use the first shared data; determining, according to the second indication, that the third server has the right to use the first shared data; or,

[0037] The target usage permission corresponding to the third server is obtained from the servers and usage permissions having a corresponding relationship; when the target usage permission is obtained, it is determined that the third server has the usage permission for the first shared data.

[0038] Optionally, providing the data calculation result to the third server includes:

[0039] receiving a third indication sent by the second server, wherein the third indication is used to instruct the first server to send the data calculation result to the third server, and the third indication is generated by the second server after receiving the calculation result acquisition request, determining the target acquisition permission corresponding to the target user from the pre-stored user identifiers and acquisition permissions that have a corresponding relationship, and when the target acquisition permission indicates that the target user has the acquisition permission to the data calculation result, and the calculation result acquisition request is sent by the third server to the second server, and the calculation result acquisition request carries the user identifier of the target user, and the target user is at least one user among multiple users registered on the data demander;

[0040] In response to the third indication, the data calculation result is sent to the third server.

[0041] Optionally, after performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain a data calculation result, the method further includes:

[0042] The first shared data, the second shared data, the executed data calculation operation and the data calculation result having a corresponding relationship are recorded to obtain a data log, and the data log is used to audit the shared data.

[0043] Optionally, the method further includes:

[0044] After acquiring the first shared data provided by the second server and acquiring the second shared data provided by the third server, storing the first shared data and the second shared data in a memory;

[0045] After performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result, the data calculation result is stored in the memory.

[0046] In a third aspect, a data computing device is provided, the device being applied to a first server of a data provider in a data processing system, the data processing system further comprising a second server of the data provider and a third server of a data demander, the first server being connected to the second server and the third server respectively, the second server storing the data of the data provider, the third server storing the data of the data demander, the device comprising:

[0047] an acquisition module, configured to acquire, upon receiving a data calculation request sent by the third server, the first shared data provided by the second server and the second shared data provided by the third server;

[0048] a data calculation module, configured to perform data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result;

[0049] A providing module is used to provide the data calculation result to the third server.

[0050] Optionally, the acquisition module includes:

[0051] The receiving submodule is used to receive the first shared data sent by the second server, where the first shared data is determined by the second server according to a data identifier carried in a received shared data acquisition request, and the shared data acquisition request is sent by the third server.

[0052] Optionally, the data calculation module includes:

[0053] A second receiving submodule, configured to receive the computing task configured by the third server;

[0054] The first data calculation submodule is used to perform the calculation task on the first shared data and the second shared data to obtain a data calculation result.

[0055] Optionally, the data calculation module includes:

[0056] A third receiving submodule, configured to receive a first instruction sent by the third server, wherein the first instruction is used to instruct the first server to perform data calculation using the first shared data;

[0057] The second data calculation submodule is used to perform data calculation on the first shared data and the second shared data based on the first indication to obtain the data calculation result when it is determined that the third server has the right to use the first shared data.

[0058] Optionally, the device further comprises:

[0059] A first determining module is configured to receive a second indication sent by the second server indicating that the third server has the right to use the first shared data; and determine, according to the second indication, that the third server has the right to use the first shared data; or

[0060] The second determination module is used to obtain the target usage permission corresponding to the third server from the servers and usage permissions with corresponding relationships; when the target usage permission is obtained, determine that the third server has the usage permission for the first shared data.

[0061] Optionally, the providing module includes:

[0062] a fourth receiving submodule, configured to receive a third indication sent by the second server, wherein the third indication is used to instruct the first server to send the data calculation result to the third server, and the third indication is generated by the second server after receiving the calculation result acquisition request, determining the target acquisition permission corresponding to the target user from the pre-stored user identifiers and acquisition permissions that have a corresponding relationship, and when the target acquisition permission indicates that the target user has the acquisition permission to the data calculation result, and the calculation result acquisition request is sent by the third server to the second server, and the calculation result acquisition request carries the user identifier of the target user, and the target user is at least one user among multiple users registered on the data demander;

[0063] The sending submodule is used to respond to the third indication and send the data calculation result to the third server.

[0064] Optionally, the device further comprises:

[0065] The recording module is used to record the first shared data, the second shared data, the executed data calculation operation and the data calculation result that have a corresponding relationship, and obtain a data log, and the data log is used to audit the shared data.

[0066] Optionally, the device further comprises:

[0067] a storage module, configured to store the first shared data and the second shared data in a memory after acquiring the first shared data provided by the second server and acquiring the second shared data provided by the third server;

[0068] The storage module is further configured to perform data calculation on the first shared data and the second shared data based on an instruction of the data calculation request, and after obtaining the data calculation result, store the data calculation result in the memory.

[0069] In a fourth aspect, an electronic device is provided, comprising a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus;

[0070] Memory, used to store computer programs;

[0071] The processor is used to implement any method steps described in the first aspect when executing the program stored in the memory.

[0072] In a fifth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method steps described in any one of the first aspects are implemented.

[0073] In a sixth aspect, a computer program product comprising instructions is provided, which, when executed on a computer, enables the computer to execute the method steps described in any one of the first aspects.

[0074] Beneficial effects of the embodiments of the present application:

[0075] The embodiment of the present application provides a data calculation method and system. In the present application, the first server of the data provider can obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving the data calculation request sent by the third server. Then, the first server can perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result. After that, the first server can provide the data calculation result to the third server.

[0076] Since the first shared data provided by the data provider is always stored in the first server and is not sent to the data demander, it can be ensured that the first shared data will not be tampered with or leaked, thereby ensuring the security of the shared data.

[0077] Of course, implementing any product or method of the present application does not necessarily require achieving all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS

[0078] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0079] Figure 1 A flowchart of a data calculation method provided in an embodiment of the present application;

[0080] Figure 2 A flowchart of another data calculation method provided in an embodiment of the present application;

[0081] Figure 3 A schematic diagram of the structure of a data computing device provided in an embodiment of the present application;

[0082] Figure 4 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0083] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0084] The embodiment of the present application provides a data computing system, which may include servers of multiple data parties. When a data party performs data analysis based on the data of other data parties, the data party is the data demander, and the other data parties are the data providers.

[0085] For example, multiple data parties may include food delivery platforms, shopping platforms, and dating platforms. If the dating platform needs to analyze the food delivery purchases of registered users of the platform based on the user list of registered users of the platform and the purchase records of users of the food delivery platform, the dating platform is the data demander and the food delivery platform is the data provider.

[0086] For the sake of distinction, the servers of the data provider are referred to as the first server and the second server, and the server of the data demander is referred to as the third server. The first server is used for data calculation, the second server stores the data of the data provider, and the third server stores the data of the data demander. The first server can be connected to the second server and the third server respectively. In the embodiment of the present application, a data safe house can be built based on the server of the data demander, and the data safe house is used as the first server.

[0087] The following will be combined with specific implementation methods to provide a data computing system in detail, including:

[0088] The first server is used to obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving the data calculation request sent by the third server; perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result; and provide the data calculation result to the third server.

[0089] Specifically, in order to perform data calculation based on the shared data of the data provider and the data demander, the third server of the data demander may generate a data calculation request, and then the third server may send the data calculation request, wherein the data calculation request may indicate the shared data required for the data calculation and the configured calculation tasks.

[0090] When receiving the data calculation request sent by the third server, the first server can obtain the first shared data provided by the second server and obtain the second shared data provided by the third server. Then, the first server can determine the calculation task configured by the third server based on the data calculation request, and then perform the calculation task on the first shared data and the second shared data to obtain the data calculation result.

[0091] Afterwards, the first server may provide the data calculation result to the third server.

[0092] In an embodiment of the present application, the third server can send a data calculation request in a variety of ways. For example, the third server can directly send a data calculation request to the first server; or, the third server can be connected to the second server, and the third server can send a data calculation request to the second server. Then, the second server can send a data calculation request to the first server and send the first shared data to the first server.

[0093] The first server can obtain the first shared data provided by the second server in multiple ways. In one feasible implementation, the first server can receive the first shared data sent by the second server; in another feasible implementation, the first server can store the first shared data, and the first server can obtain the first shared data locally. The process of the first server obtaining the first shared data provided by the second server will be described in detail later.

[0094] Similarly, the first server can obtain the second shared data provided by the third server in multiple ways. In one feasible implementation, the first server can receive the second shared data sent by the third server; in another feasible implementation, the first server can store the second shared data, and the first server can obtain the second shared data locally. The process of the first server obtaining the second shared data provided by the third server will be described in detail later.

[0095] The first server can provide the data calculation results to the third server in a variety of ways. For example, the first server can directly send the data calculation results to the third server; or, after receiving the calculation result acquisition request sent by the third server, the first server can determine whether to provide the data calculation results to the third server based on the data calculation result acquisition authority. The specific processing process will be described in detail later.

[0096] In the embodiment of the present application, the first server of the data provider can obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving the data calculation request sent by the third server. Then, the first server can perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result. After that, the first server can provide the data calculation result to the third server.

[0097] Since the first shared data provided by the data provider is always stored in the first server and is not sent to the data demander, it can be ensured that the first shared data will not be tampered with or leaked, thereby ensuring the security of the shared data.

[0098] In the related art, the second server of the data provider sends the first shared data to the third server of the data demander, and the third server performs data calculation based on the first shared data and the second shared data. When data calculation is performed based on a large amount of shared data, it will cause the second server to have a large data reading pressure and the third server to have a large data processing pressure. In the technical solution provided by the present application, the first server is used to perform data calculation, which can alleviate the data reading pressure of the second server and the data processing pressure of the third server, thereby improving the data calculation efficiency.

[0099] Optionally, when the second server is connected to the third server, the process in which the first server receives the first shared data sent by the second server may include:

[0100] The third server sends a shared data acquisition request to the second server, and the shared data acquisition request carries a data identifier of the first shared data. After receiving the shared data acquisition request, the second server sends the first shared data corresponding to the data identifier to the first server. The first server receives the first shared data from the second server.

[0101] Specifically, the third server may generate a shared data acquisition request carrying the data identifier of the first shared data, and then the third server may send the shared data acquisition request to the second server.

[0102] After receiving the shared data acquisition request, the second server can determine the data corresponding to the data identifier from the multiple data stored by the data provider according to the data identifier carried in the shared data acquisition request, and obtain the first shared data. Then, the second server can send the first shared data to the first server. Thus, the first server can receive the first shared data provided by the second server.

[0103] In an embodiment of the present application, since the data provider's data is stored in the second server, after the second server receives the shared data acquisition request sent by the third server, it can determine the first shared data required for data calculation and send the first shared data to the first server, thereby ensuring that the first server can obtain the first shared data.

[0104] Optionally, an embodiment of the present application further provides another processing process in which a first server receives first shared data sent by a second server, including: after receiving a data calculation request, the first server may send a shared data acquisition request to the second server. Then, after receiving the shared data acquisition request, the second server may determine the first shared data and then send the first shared data to the first server. Afterwards, the first server may receive the first shared data provided by the second server.

[0105] Optionally, an embodiment of the present application further provides a method for the first server to obtain the first shared data locally, including: the first server may store the historical shared data obtained during the historical data calculation process. The data calculation request may carry a data identifier of the first shared data, and the first server may determine whether the historical shared data includes the first shared data according to the data identifier.

[0106] If the historical shared data includes the first shared data, the first server can obtain the first shared data locally, thereby facilitating the first server to quickly obtain the first shared data. If the historical shared data does not include the first shared data, the first server can obtain the first shared data from the second server.

[0107] Similarly, the process of the first server acquiring the second shared data locally may include: the data calculation request may carry a data identifier of the second shared data, and the first server may determine whether the historical shared data includes the second shared data according to the data identifier.

[0108] If the historical shared data includes the second shared data, the first server can obtain the second shared data locally, thereby facilitating the first server to quickly obtain the second shared data. If the historical shared data does not include the second shared data, the first server can obtain the second shared data from a third server.

[0109] Optionally, the process of performing data calculation by the first server may include: receiving a calculation task configured by the third server; executing the calculation task on the first shared data and the second shared data to obtain a data calculation result.

[0110] Specifically, the data computing request may indicate the computing task configured by the third server, and the first server may determine the computing task configured by the third server by receiving the data computing request. Alternatively, after acquiring the first shared data and the second shared data, the first server may send a first notification to the third server to prompt successful acquisition of the shared data. After receiving the first notification, the third server may send the configured computing task to the first server. Thus, the first server may receive the computing task configured by the third server.

[0111] Then, the first server may perform a computing task on the first shared data and the second shared data to obtain a data computing result.

[0112] In an embodiment of the present application, the computing task may be expressed in various forms. For example, the computing task may include a model identifier of a data computing model required for data computing, or the computing task may include operation identifiers of multiple data computing operations arranged in an execution order.

[0113] For example, the first server may be pre-set with multiple data calculation models required for data calculation. The calculation task configured by the third server may include a model identifier of a target data calculation model required for data calculation. After receiving the calculation task, the first server may determine the target data calculation model from the multiple data calculation models stored locally. Then, the first server may use the target data calculation model to perform data calculation on the first shared data and the second shared data to obtain a data calculation result.

[0114] Optionally, in order to ensure the data security of the shared data, a usage permission may be set for the first shared data in the first server. Based on this, the process of the first server performing data calculation may include: when it is determined that the third server has the usage permission for the first shared data, performing data calculation on the first shared data and the second shared data based on the instruction of the third server to obtain a data calculation result.

[0115] Specifically, before performing data calculation, the first server may determine whether the third server has the right to use the first shared data. The specific determination process will be described in detail later.

[0116] If the third server has the right to use the first shared data, the first server can perform data calculation on the first shared data and the second shared data based on the instruction of the third server to obtain the data calculation result. If the third server does not have the right to use the first shared data, the first server can send a second notification to the third server to prompt that it has no right to use the first shared data.

[0117] In the embodiment of the present application, the first server performs data calculation on the first shared data and the second shared data based on the instruction of the third server to obtain the data calculation result only when it determines that the third server has the right to use the first shared data. Thus, the data provider can avoid the problem of leakage or tampering that may exist when the first shared data is open for use by controlling the data demander's right to use the provided first shared data, thereby ensuring the data security of the shared data.

[0118] Optionally, regarding how the first server determines whether the third server has the right to use the first shared data, the embodiment of the present application provides two implementation methods, including:

[0119] Mode 1: The second server may indicate to the first server that the third server has the right to use the first shared data. The first server may determine that the third server has the right to use the first shared data upon receiving the instruction from the second server.

[0120] Specifically, when the second server is connected to the third server and the third server sends a shared data acquisition request to the second server, after receiving the shared data acquisition request, the second server can not only send the first shared data to the first server, but also send a second indication to the first server to indicate that the third server has the right to use the first shared data.

[0121] After receiving the second indication, the first server may determine that the third server has the permission to use the first shared data.

[0122] In the embodiment of the present application, by receiving the instruction from the second server, the first server can conveniently and quickly determine that the third server has the permission to use the first shared data.

[0123] Method 2: The first server may obtain the target usage permission corresponding to the third server from the servers and usage permissions having a corresponding relationship; when the target usage permission is obtained, it is determined that the third server has the usage permission to the first shared data.

[0124] Specifically, the first server may store a correspondence between servers and usage permissions. The first server may obtain the target usage permission corresponding to the third server from the servers and usage permissions with the correspondence.

[0125] If the first server obtains the target usage permission, it indicates that the third server has the usage permission for the first shared data, and the first server can determine that the third server has the usage permission for the first shared data. If the first server does not obtain the target usage permission, it indicates that the third server does not have the usage permission for the first shared data, and the first server can send a second notification to the third server to prompt that it has no right to use the first shared data.

[0126] In the embodiment of the present application, based on the servers and usage permissions having a corresponding relationship, the first server can conveniently and quickly determine whether the third server has the permission to use the first shared data.

[0127] Optionally, an access permission may be set for the calculated data calculation result, and the first server may provide the data calculation result to the third server based on the access permission, thereby ensuring the data security of the data calculation result. Based on this, the third server may send a calculation result acquisition request to the second server, wherein the calculation result acquisition request carries the user identifier of the target user, and the target user is at least one user among the multiple users registered on the data demander.

[0128] After receiving the calculation result acquisition request, the second server can determine the target acquisition permission corresponding to the target user from the pre-stored corresponding user identifications and acquisition permissions, and instruct the first server to send the data calculation result to the third server if the target acquisition permission indicates that the target user has the permission to obtain the data calculation result.

[0129] The first server may send the data calculation result to the third server in response to the instruction of the second server.

[0130] Specifically, when a target user registered on a data demander requests to obtain data calculation results, the third server can obtain the user ID of the target user, generate a calculation result acquisition request carrying the user ID of the target user, and then send the calculation result acquisition request to the second server.

[0131] After receiving the calculation result acquisition request, the second server may obtain the user ID of the target user carried in the calculation result acquisition request. Then, the second server may determine the acquisition authority corresponding to the user ID from the pre-stored corresponding user IDs and acquisition authorities, and obtain the target acquisition authority corresponding to the target user.

[0132] If the target acquisition permission indicates that the target user has the permission to obtain the data calculation result, the second server may send a third instruction to the first server, and the third instruction is used to instruct the first server to send the data calculation result to the third server. If the target acquisition permission indicates that the target user does not have the permission to obtain the data calculation result, the second server may send a third notification to the third server to prompt that the target user has no right to obtain the data calculation result.

[0133] In the embodiment of the present application, the target acquisition authority may be expressed in various forms. For target acquisition authorities in different forms, the second server determines in different ways whether the target user has the authority to obtain the data calculation results.

[0134] For example, the target acquisition permission may include a first identifier indicating that the user has the acquisition permission, or a second identifier indicating that the user does not have the acquisition permission. If the target acquisition permission includes the first identifier, the second server may determine that the target user has the acquisition permission to obtain the data calculation results; if the target acquisition permission includes the second identifier, the second server may determine that the target user does not have the acquisition permission to obtain the data calculation results.

[0135] Alternatively, the target acquisition permission may include a data identifier of data that the target user has the acquisition permission to obtain, and the second server may determine whether the data identifier included in the target acquisition permission includes a data identifier of the data calculation result. If the data identifier included in the target acquisition permission includes the data identifier of the data calculation result, the second server may determine that the target user has the acquisition permission to obtain the data calculation result; if the data identifier included in the target acquisition permission does not include the data identifier of the data calculation result, the second server may determine that the target user does not have the acquisition permission to obtain the data calculation result.

[0136] In the embodiment of the present application, when the target user requests to obtain the data calculation result, the second server can obtain the target acquisition authority corresponding to the target user after receiving the calculation result acquisition request from the third server, and when the target acquisition authority indicates that the target user has the acquisition authority to obtain the data calculation result, instruct the first server to send the data calculation result to the third server, and when the target acquisition authority indicates that the target user does not have the acquisition authority to obtain the data calculation result, the data calculation result is not provided to the third server. Since the acquisition authority of the data calculation result is set, and whether to provide the data calculation result to the data demander is determined based on the acquisition authority, the data security of the data calculation result can be guaranteed.

[0137] The embodiment of the present application also provides a method for implementing a second server to determine whether a target user has the right to obtain the data calculation result, including: the second server can provide a permission approval page, and the permission approval page can display information such as the user ID of the target user, the ID of the data calculation result, the data ID of the first shared data, and the data ID of the second shared data. The administrator of the data provider can input indication information indicating whether the target user has the right to obtain the data calculation result based on the information displayed on the permission approval page. The second server can determine whether the target user has the right to obtain the data calculation result based on the indication information input by the administrator.

[0138] Optionally, the first server may record a data log, which is used to audit the shared data. The data log records the first shared data, the second shared data, the executed data calculation operations, and the data calculation results that have a corresponding relationship.

[0139] Specifically, the first server can record the correspondence between the first shared data, the second shared data, the executed data calculation operation and the data calculation result in a variety of ways. In a feasible implementation method, the first server can record the data identifier of the first shared data, the data identifier of the second shared data, the operation identifier of the executed data calculation operation and the data identifier of the data calculation result in the table item.

[0140] In another feasible implementation, the first server may generate a data graph based on the first shared data, the second shared data, the executed data computing operations and the data computing results, such as a link relationship graph and a data blood relationship graph.

[0141] In the embodiment of the present application, based on recording the corresponding first shared data, second shared data, executed data calculation operations and data calculation results in the data log, the first server can record the data usage status of the shared data. Therefore, based on the data log, the data provider can easily understand the usage status and data lineage of the provided first shared data, so as to achieve data tracking and auditing of the shared data.

[0142] Optionally, the first server may store the first shared data, the second shared data, and the data calculation result in a memory.

[0143] Specifically, after obtaining the first shared data provided by the second server and obtaining the second shared data provided by the third server, the first server may store the first shared data and the second shared data in the memory.

[0144] The first server may perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request, and after obtaining the data calculation result, store the data calculation result in the memory.

[0145] In the embodiment of the present application, since the first server stores the first shared data, the second shared data and the data calculation result in the memory, high-speed and convenient data reading and data calculation can be achieved. In addition, since the data is stored in the memory, the problem of illegal access to the data that may occur when the data is stored in the hard disk can be avoided, thereby ensuring data security.

[0146] Optionally, the first shared data, the second shared data and the data calculation result may be stored in the first server based on Allxiuo (a memory-centric virtual distributed storage system).

[0147] Based on the same technical concept, the embodiment of the present application also provides a data calculation method applied to the first server, such as Figure 1 As shown, including:

[0148] Step 101: upon receiving a data calculation request sent by a third server, obtaining first shared data provided by a second server, and obtaining second shared data provided by a third server.

[0149] Step 102: Perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain a data calculation result.

[0150] Step 103: Provide data calculation results to the third server.

[0151] The specific processing procedures of steps 101 to 103 may refer to the processing procedure of data calculation performed by the first server in the above-mentioned data calculation system, and will not be described in detail here.

[0152] In the embodiment of the present application, the first server of the data provider can obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving the data calculation request sent by the third server. Then, the first server can perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result. After that, the first server can provide the data calculation result to the third server.

[0153] Since the first shared data provided by the data provider is always stored in the first server and is not sent to the data demander, it can be ensured that the first shared data will not be tampered with or leaked, thereby ensuring the security of the shared data.

[0154] In the related art, the second server of the data provider sends the first shared data to the third server of the data demander, and the third server performs data calculation based on the first shared data and the second shared data. When data calculation is performed based on a large amount of shared data, it will cause the second server to have a large data reading pressure and the third server to have a large data processing pressure. In the technical solution provided by the present application, the first server is used to perform data calculation, which can alleviate the data reading pressure of the second server and the data processing pressure of the third server, thereby improving the data calculation efficiency.

[0155] Optionally, when the second server is connected to the third server, the first server may obtain the first shared data provided by the second server by receiving the first shared data sent by the second server. The specific processing process includes: receiving the first shared data sent by the second server.

[0156] The first shared data is determined by the second server according to the data identifier carried in the received shared data acquisition request, and the shared data acquisition request is sent by the third server.

[0157] The specific processing process may refer to the processing process in which the first server receives the first shared data sent by the second server in the above-mentioned data computing system, and will not be repeated here.

[0158] In an embodiment of the present application, since the data provider's data is stored in the second server, after the second server receives the shared data acquisition request sent by the third server, it can determine the first shared data required for data calculation and send the first shared data to the first server, thereby ensuring that the first server can obtain the first shared data.

[0159] Optionally, the first server may perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain a data calculation result. The specific processing process includes:

[0160] Step 1: Receive a computing task configured by a third server.

[0161] In implementation, the data computing request may indicate the computing task configured by the third server, and the first server may determine the computing task configured by the third server by receiving the data computing request. Alternatively, after acquiring the first shared data and the second shared data, the first server may send a first notification to the third server to prompt successful acquisition of the shared data. After receiving the first notification, the third server may send the configured computing task to the first server. Thus, the first server may receive the computing task configured by the third server.

[0162] The computing task may be expressed in various forms. For example, the computing task may include a model identifier of a data computing model required for data computing, or the computing task may include operation identifiers of multiple data computing operations arranged in an execution order.

[0163] For example, the first server may be pre-set with multiple data calculation models required for data calculation. The calculation task configured by the third server may include a model identifier of a target data calculation model required for data calculation. After receiving the calculation task, the first server may determine the target data calculation model from the multiple data calculation models stored locally. Then, the first server may use the target data calculation model to perform data calculation on the first shared data and the second shared data to obtain a data calculation result.

[0164] Step 2: Execute a computing task on the first shared data and the second shared data to obtain a data computing result.

[0165] In the embodiment of the present application, the first server can receive the computing task configured by the third server, perform the computing task on the first shared data and the second shared data, and obtain the data computing result, thereby realizing data computing according to the data computing requirement of the third server.

[0166] Optionally, the embodiment of the present application further provides a processing process in which the first server performs data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result, including:

[0167] Step 1: Receive a first instruction sent by a third server.

[0168] The first instruction is used to instruct the first server to use the first shared data to perform data calculation. The first instruction may also indicate a computing task configured by the third server.

[0169] In implementation, after acquiring the first shared data and the second shared data, the first server may send a first notification to the third server to prompt successful acquisition of the shared data. After receiving the first notification, the third server may send a first indication to the first server.

[0170] Step 2: When it is determined that the third server has the right to use the first shared data, data calculation is performed on the first shared data and the second shared data based on the first indication to obtain a data calculation result.

[0171] In implementation, the first server may determine whether the third server has the right to use the first shared data before performing data calculation. The specific determination process will be described in detail later.

[0172] If the third server has the right to use the first shared data, the first server can perform data calculation on the first shared data and the second shared data based on the first indication to obtain a data calculation result. If the third server does not have the right to use the first shared data, the first server can send a second notification to the third server to indicate that it has no right to use the first shared data.

[0173] In the embodiment of the present application, the first server performs data calculation on the first shared data and the second shared data based on the first instruction of the third server to obtain the data calculation result only when it determines that the third server has the right to use the first shared data. Thus, the data provider can avoid the problem of leakage or tampering that may exist when the first shared data is open for use by controlling the data demander's right to use the provided first shared data, thereby ensuring the data security of the shared data.

[0174] Optionally, before performing data calculation on the first shared data and the second shared data based on the first indication to obtain the data calculation result, the first server may determine whether the third server has the right to use the first shared data in a variety of ways. The embodiment of the present application provides two ways, namely:

[0175] Mode 1: receiving a second indication sent by the second server for indicating that the third server has the right to use the first shared data; and determining, according to the second indication, that the third server has the right to use the first shared data.

[0176] The specific processing process of method 1 can refer to the description of method 1 in the above-mentioned data computing system, which will not be repeated here.

[0177] In the embodiment of the present application, by receiving the second instruction from the second server, the first server can easily and quickly determine that the third server has the permission to use the first shared data.

[0178] Method 2: obtaining the target usage permission corresponding to the third server from the servers and usage permissions having a corresponding relationship; when the target usage permission is obtained, determining that the third server has the usage permission for the first shared data.

[0179] The specific processing process of method 2 can refer to the description of method 2 in the above-mentioned data computing system, which will not be repeated here.

[0180] In the embodiment of the present application, based on the servers and usage permissions having a corresponding relationship, the first server can conveniently and quickly determine whether the third server has the permission to use the first shared data.

[0181] Optionally, the embodiment of the present application further provides an implementation method for determining whether to provide a data calculation result to a third server based on a user identifier, including:

[0182] Step 1: Receive a third instruction sent by the second server.

[0183] The third indication is used to instruct the first server to send the data calculation result to the third server. The third indication is generated by the second server after receiving the calculation result acquisition request, determining the target acquisition permission corresponding to the target user from the pre-stored user identifiers and acquisition permissions with a corresponding relationship, and when the target acquisition permission indicates that the target user has the acquisition permission to the data calculation result. The calculation result acquisition request is sent by the third server to the second server, and the calculation result acquisition request carries the user identifier of the target user, and the target user is at least one user among multiple users registered on the data demander;

[0184] Step 2: In response to the third instruction, send the data calculation result to the third server.

[0185] The specific processing procedures of steps 1 to 2 may refer to the processing procedure in the above-mentioned data computing system, in which the first server provides the third server with data computing results based on the obtained authority, and will not be described in detail here.

[0186] Optionally, after performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request and obtaining the data calculation result, the first server may also record the first shared data, the second shared data, the executed data calculation operation and the data calculation result having a corresponding relationship to obtain a data log. The data log is used to audit the shared data.

[0187] Specifically, the processing process of the first server generating the data log may refer to the process of the first server generating the data log in the above-mentioned data computing system, which will not be described in detail here.

[0188] In the embodiment of the present application, based on recording the corresponding first shared data, second shared data, executed data calculation operations and data calculation results in the data log, the first server can record the data usage status of the shared data. Therefore, based on the data log, the data provider can easily understand the usage status and data lineage of the provided first shared data, so as to achieve data tracking and auditing of the shared data.

[0189] Optionally, after acquiring the first shared data provided by the second server and acquiring the second shared data provided by the third server, the first server may store the first shared data and the second shared data in a memory.

[0190] Optionally, after performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request and obtaining the data calculation result, the first server may store the data calculation result in the memory.

[0191] In the embodiment of the present application, since the first server stores the first shared data, the second shared data and the data calculation result in the memory, high-speed and convenient data reading and data calculation can be achieved. In addition, since the data is stored in the memory, the problem of illegal access to the data that may occur when the data is stored in the hard disk can be avoided, thereby ensuring data security.

[0192] The present application also provides a data calculation example. Figure 2 As shown, the following steps are included:

[0193] Step 201: The third server sends a request for obtaining shared data to the second server.

[0194] The shared data acquisition request carries the data identifier of the first shared data.

[0195] Step 202: The second server sends first shared data corresponding to the data identifier to the first server.

[0196] Step 203: The second server sends a second instruction to the first server.

[0197] The second indication is used to indicate that the third server has the permission to use the first shared data.

[0198] Step 204: The third server sends the second shared data to the first server.

[0199] Step 205: The third server configures the computing task.

[0200] Step 206: The first server performs data calculation on the first shared data and the second shared data based on the calculation task configured by the third server to obtain a data calculation result.

[0201] Step 207: The first server stores the first shared data, the second shared data, and the data calculation result in the memory.

[0202] Step 208: The third server sends a request for obtaining calculation results to the second server.

[0203] The calculation result acquisition request carries a user identifier of a target user, and the target user is at least one user among multiple users registered on the data demander.

[0204] Step 209: The second server determines the target acquisition permission corresponding to the target user from the pre-stored corresponding user identifiers and acquisition permissions, and instructs the first server to send the data calculation result to the third server when the target acquisition permission indicates that the target user has the acquisition permission to the data calculation result.

[0205] Step 210: The first server responds to the instruction of the second server and sends the data calculation result to the third server.

[0206] The processing of steps 201 to 210 may refer to the processing of the first server, the second server and the third server in the above-mentioned data computing system, and will not be described in detail here.

[0207] Based on the same technical concept, an embodiment of the present application further provides a data computing device, which is applied to a first server of a data provider in a data processing system, wherein the data processing system further comprises a second server of the data provider and a third server of a data demander, wherein the first server is connected to the second server and the third server respectively, wherein the second server is used to store the data of the data provider, and the third server is used to store the data of the data demander, such as Figure 3 As shown, the device comprises:

[0208] An acquisition module 310, configured to acquire, upon receiving a data calculation request sent by the third server, the first shared data provided by the second server and the second shared data provided by the third server;

[0209] A data calculation module 320, configured to perform data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result;

[0210] The providing module 330 is used to provide the data calculation result to the third server.

[0211] The embodiment of the present application provides a data calculation device. In the present application, the first server of the data provider can obtain the first shared data provided by the second server and the second shared data provided by the third server when receiving the data calculation request sent by the third server. Then, the first server can perform data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result. After that, the first server can provide the data calculation result to the third server.

[0212] Since the first shared data provided by the data provider is always stored in the first server and is not sent to the data demander, it can be ensured that the first shared data will not be tampered with or leaked, thereby ensuring the security of the shared data.

[0213] Based on the same technical concept, the embodiment of the present application also provides an electronic device, such as Figure 4 As shown, it includes a processor 401, a communication interface 402, a memory 403 and a communication bus 404, wherein the processor 401, the communication interface 402, and the memory 403 communicate with each other through the communication bus 404.

[0214] Memory 403, used for storing computer programs;

[0215] The processor 401 is used to implement the steps of the above-mentioned data calculation method when executing the program stored in the memory 403.

[0216] The communication bus mentioned in the above electronic device can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.

[0217] The communication interface is used for communication between the above electronic device and other devices.

[0218] The memory may include a random access memory (RAM) or a non-volatile memory (NVM), such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.

[0219] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.

[0220] In another embodiment provided in the present application, a computer-readable storage medium is provided, in which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned data calculation methods are implemented.

[0221] In another embodiment provided in the present application, a computer program product including instructions is also provided, which, when executed on a computer, enables the computer to execute any of the data calculation methods in the above embodiments.

[0222] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive Solid State Disk (SSD)), etc.

[0223] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.

[0224] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest range consistent with the principles and novel features applied for herein.

Claims

1. A data computing system, characterized in that: The system comprises: a first server and a second server of a data provider, and a third server of a data demander, wherein: The first server is connected to the second server and the third server respectively, the second server stores the data of the data provider, and the third server stores the data of the data demander; The first server is configured to, upon receiving a data calculation request sent by the third server, obtain the first shared data provided by the second server and obtain the second shared data provided by the third server; perform data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result; and provide the data calculation result to the third server; The second server is connected to the third server, wherein the third server is further used to send a shared data acquisition request to the second server, and the shared data acquisition request carries a data identifier of the first shared data; the second server is further used to send the first shared data corresponding to the data identifier to the first server after receiving the shared data acquisition request; the first server is further used to receive the first shared data from the second server.

2. The system according to claim 1, characterized in that The first server is further used to receive the computing task configured by the third server; execute the computing task on the first shared data and the second shared data to obtain the data computing result.

3. The system according to claim 1, characterized in that The first server is further configured to, when it is determined that the third server has the right to use the first shared data, perform data calculation on the first shared data and the second shared data based on an instruction of the third server to obtain the data calculation result.

4. The system according to claim 3, characterized in that The second server is further used to indicate to the first server that the third server has the right to use the first shared data; the first server is further used to determine that the third server has the right to use the first shared data when receiving the instruction from the second server; or The first server is further used to obtain the target usage permission corresponding to the third server from the servers and usage permissions having a corresponding relationship; when the target usage permission is obtained, it is determined that the third server has the usage permission for the first shared data.

5. The system according to claim 1, characterized in that The third server is further configured to send a calculation result acquisition request to the second server, wherein the calculation result acquisition request carries a user identifier of a target user, and the target user is at least one user among a plurality of users registered on the data demander; The second server is further configured to, after receiving the calculation result acquisition request, determine the target acquisition permission corresponding to the target user from pre-stored user identifiers and acquisition permissions having a corresponding relationship, and, if the target acquisition permission indicates that the target user has the acquisition permission for the data calculation result, instruct the first server to send the data calculation result to the third server; The first server is further configured to respond to an instruction from the second server and send the data calculation result to the third server.

6. The system according to claim 1, characterized in that The first server is further used to record a data log, and the data log is used to audit the shared data. The data log records the first shared data, the second shared data, the executed data calculation operation and the data calculation result that have a corresponding relationship.

7. The system according to claim 1, characterized in that The first server is further used to store the first shared data, the second shared data and the data calculation result in a memory.

8. A data calculation method, characterized in that: The method is applied to a first server of a data provider in a data processing system, the data processing system further comprising a second server of the data provider and a third server of a data demander, the first server being connected to the second server and the third server respectively, the second server storing the data of the data provider, and the third server storing the data of the data demander, the method comprising: Upon receiving the data calculation request sent by the third server, obtaining the first shared data provided by the second server, and obtaining the second shared data provided by the third server; wherein obtaining the first shared data provided by the second server comprises: receiving the first shared data sent by the second server, the first shared data being determined by the second server according to the data identifier carried in the received shared data acquisition request, the shared data acquisition request being sent by the third server; Performing data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result; The data calculation result is provided to the third server.

9. The method according to claim 8, characterized in that The performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain a data calculation result includes: receiving a computing task configured by the third server; The computing task is performed on the first shared data and the second shared data to obtain a data computing result.

10. The method according to claim 8, characterized in that The performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain a data calculation result includes: receiving a first instruction sent by the third server, wherein the first instruction is used to instruct the first server to use the first shared data to perform data calculation; In the case where it is determined that the third server has the right to use the first shared data, data calculation is performed on the first shared data and the second shared data based on the first indication to obtain the data calculation result.

11. The method according to claim 10, characterized in that Before performing data calculation on the first shared data and the second shared data based on the first indication to obtain the data calculation result, the method further includes: receiving a second indication sent by the second server to indicate that the third server has the right to use the first shared data; determining, according to the second indication, that the third server has the right to use the first shared data; or, The target usage permission corresponding to the third server is obtained from the servers and usage permissions having a corresponding relationship; when the target usage permission is obtained, it is determined that the third server has the usage permission for the first shared data.

12. The method according to claim 8, characterized in that The providing the data calculation result to the third server includes: receiving a third indication sent by the second server, wherein the third indication is used to instruct the first server to send the data calculation result to the third server, and the third indication is generated by the second server after receiving the calculation result acquisition request, determining the target acquisition permission corresponding to the target user from the pre-stored user identifiers and acquisition permissions that have a corresponding relationship, and when the target acquisition permission indicates that the target user has the acquisition permission to the data calculation result, and the calculation result acquisition request is sent by the third server to the second server, and the calculation result acquisition request carries the user identifier of the target user, and the target user is at least one user among multiple users registered on the data demander; In response to the third indication, the data calculation result is sent to the third server.

13. The method according to claim 8, characterized in that After performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain a data calculation result, the method further includes: The first shared data, the second shared data, the executed data calculation operation and the data calculation result having a corresponding relationship are recorded to obtain a data log, and the data log is used to audit the shared data.

14. The method according to claim 8, characterized in that The method further comprises: After acquiring the first shared data provided by the second server and acquiring the second shared data provided by the third server, storing the first shared data and the second shared data in a memory; After performing data calculation on the first shared data and the second shared data based on the instruction of the data calculation request to obtain the data calculation result, the data calculation result is stored in the memory.

15. A data processing device, characterized in that: The device is applied to a first server of a data provider in a data processing system, the data processing system further comprising a second server of the data provider and a third server of a data demander, the first server is connected to the second server and the third server respectively, the second server is used to store the data of the data provider, and the third server is used to store the data of the data demander, the device comprises: an acquisition module, configured to acquire, upon receiving a data calculation request sent by the third server, first shared data provided by the second server, and second shared data provided by the third server; wherein acquiring the first shared data provided by the second server comprises: receiving the first shared data sent by the second server, the first shared data being determined by the second server according to a data identifier carried in a received shared data acquisition request, the shared data acquisition request being sent by the third server; a data calculation module, configured to perform data calculation on the first shared data and the second shared data based on an instruction of the data calculation request to obtain a data calculation result; A providing module is used to provide the data calculation result to the third server.

16. An electronic device, characterized in that: It includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, for implementing the method steps described in any one of claims 8 to 14 when executing a program stored in a memory.

17. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method steps described in any one of claims 8 to 14 are implemented.

Citation Information

Patent Citations

  • Data security system based on block chain and data security processing method

    CN110290125A