CN111131227A - Data processing method and device - Google Patents

Data processing method and device Download PDF

Info

Publication number
CN111131227A
CN111131227A CN201911330992.3A CN201911330992A CN111131227A CN 111131227 A CN111131227 A CN 111131227A CN 201911330992 A CN201911330992 A CN 201911330992A CN 111131227 A CN111131227 A CN 111131227A
Authority
CN
China
Prior art keywords
data
client
server
encrypted
conversion model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911330992.3A
Other languages
Chinese (zh)
Other versions
CN111131227B (en
Inventor
王达
刘博�
郑文琛
杨强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
WeBank Co Ltd
Original Assignee
WeBank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN201911330992.3A priority Critical patent/CN111131227B/en
Publication of CN111131227A publication Critical patent/CN111131227A/en
Application granted granted Critical
Publication of CN111131227B publication Critical patent/CN111131227B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Abstract

The embodiment of the invention discloses a data processing method and a data processing device, wherein the method comprises the following steps: the server receives first encrypted data sent by the client, at least trains by using the first encrypted data to obtain an encrypted conversion model, sends the encrypted conversion model to the client, and receives a decrypted conversion model obtained by decrypting the encrypted conversion model by using a preset private key by the client. In the embodiment of the invention, the server always uses the encrypted conversion data training model, and the decryption private key is stored in the client, so that the server cannot decrypt the conversion data of the user, the security of the private data of the user can be ensured, and the experience of the client is better.

Description

Data processing method and device
Technical Field
The invention relates to the technical field of financial technology (Fintech), in particular to a data processing method and device.
Background
With the development of computer technology, more and more technologies are applied in the financial field, and the traditional financial industry is gradually changing to financial technology (Fintech), however, the financial field also puts higher demands on the technologies due to the requirements of security and real-time performance of the financial industry. In the technical field of user transformation, a client entrusts a server to popularize products of the client, and after receiving the entrusts of the client, the server can predict users which are likely to be transformed really by using a transformation model, so that the products are popularized to the users. Therefore, the conversion effect of the conversion model directly affects the product putting effect, and if the product is required to have a good putting effect, the conversion effect of the conversion model needs to be improved.
For the client, the conversion model with a good conversion effect usually means that higher conversion cost is needed, and in order to reduce the conversion cost, the client can also expose the conversion data to the server, so that the server trains the conversion model by using more comprehensive data, thereby improving the conversion effect of the conversion model. However, the conversion data includes the private data of the user, such as the living address, the mobile phone number, the id number, etc. of the user, and if the conversion data is exposed to the server, the private data of the user may not be protected; moreover, the server itself has a risk of leaking the private data of the user, and if the server sells the private data of the user to other clients of the same type, the experience of the client is poor, and great loss is caused to the client.
In summary, a data processing method is needed to solve the technical problems of insecurity of private data of a user and poor experience of a client due to exposure of converted data to a server in the prior art.
Disclosure of Invention
The embodiment of the invention provides a data processing method, which is used for solving the technical problems of insecurity of private data of a user and poor experience of a client caused by exposing and converting data to a server in the prior art.
In a first aspect, an embodiment of the present invention provides a data processing method, where the method includes:
the server receives first encrypted data sent by a client, wherein the first encrypted data is data obtained by encrypting conversion data by the client through the preset public key; further, the server at least uses the first encrypted data to train to obtain an encrypted conversion model, sends the encrypted conversion model to the client, and receives a decrypted conversion model sent by the client, wherein the decrypted conversion model is obtained by the client decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key.
In the design, after receiving the encrypted conversion data sent by the client, the server trains an encryption conversion model at least by using the encrypted conversion data, and then the client decrypts the encryption conversion model and sends the decrypted conversion model to the server; therefore, in the training process of the conversion model, the server always uses the encrypted conversion data to train the model, and the decryption private key is stored in the client, so that the server cannot decrypt the conversion data of the user, the security of the private data of the user can be ensured, and the experience of the client is better.
In one possible design, the server obtains a cryptographic conversion model by training using at least the first cryptographic data, including: the server acquires click data corresponding to the first encrypted data, and encrypts the click data by using the preset public key to obtain second encrypted data; the preset public key is sent to the server by the client; and the server trains according to the first encrypted data and the second encrypted data to obtain the encryption conversion model.
In the above design, the conversion effect of the conversion model can be improved by training the conversion model together with the encrypted click data and the encrypted conversion data.
In a possible design, before receiving the first encrypted data sent by the client, the server also receives a request message sent by the client; the request message comprises a data range, click data meeting the data range is obtained according to the request message, the click data is sent to the client, and the click data is used for the client to obtain the conversion data corresponding to the click data.
In the design, the client sends the request message to the server, so that the client can determine the data range of the sample participating in model training, and the initiative of the client in controlling the model training process is realized; and the client can set a data range according to actual needs, so that the scheme can meet the requirements of different clients and better meet the actual scene.
In one possible design, the request message further includes a username and a key; before the server sends the click data to the client, a preset corresponding relation table is also inquired, the user name is determined to exist in the preset corresponding relation table, and the key corresponds to the user name; the preset corresponding relation table comprises the corresponding relation between the user name and the key of the client registered in the server in advance.
In the design, the client can be registered in the server in advance, so that for the request message sent by the client, the server can authenticate the client according to the registration information, and then starts model training after determining that the client is safe and not tampered, thereby ensuring the safety of model training and avoiding the permission of the client from being tampered.
In a second aspect, an embodiment of the present invention provides a data processing method, where the method includes:
the method comprises the steps that a client encrypts conversion data by using a preset public key to obtain first encrypted data, the first encrypted data are sent to a server, an encrypted conversion model sent by the server is received, the encrypted conversion model is obtained by the server through at least training by using the first encrypted data, furthermore, the client decrypts the encrypted conversion model by using a preset private key corresponding to the preset public key to obtain a decrypted conversion model, and the decrypted conversion model is sent to the server.
In the design, the client sends the encrypted conversion data to the server, and after receiving the encrypted conversion model sent by the server, the client decrypts the encrypted conversion data to obtain a decrypted conversion model; therefore, the encrypted conversion data and the decrypted conversion model are transmitted to the server through the client, the data interaction process can be completed on the premise that the security of the private data of the user is guaranteed, and the server can train the encrypted conversion model with a good conversion effect by utilizing the encrypted conversion data provided by the client, so that the conversion effect of the user can be improved.
In a possible design, before the client encrypts conversion data by using a preset public key, the client further sends a request message to the server, where the request message includes a data range, and the request message is used for the server to obtain click data meeting the data range, receive the click data sent by the server, and obtain the conversion data corresponding to the click data.
In a third aspect, an embodiment of the present invention provides a data processing apparatus, where the apparatus includes:
the receiving and sending module is used for receiving first encrypted data sent by a client, wherein the first encrypted data is data obtained by encrypting the converted data by the client by using the preset public key;
the training module is used for training at least the first encrypted data to obtain an encrypted conversion model;
the transceiver module is further configured to send the encrypted conversion model to the client, and receive a decrypted conversion model sent by the client, where the decrypted conversion model is obtained by the client decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key.
In one possible design, the training module is specifically configured to: acquiring click data corresponding to the first encrypted data, and encrypting the click data by using the preset public key to obtain second encrypted data; the preset public key is sent to the server by the client; and training according to the first encrypted data and the second encrypted data to obtain the encryption conversion model.
In a possible design, the apparatus further includes a processing module, before the transceiver module receives the first encrypted data sent by the client, the transceiver module is further configured to: receiving a request message sent by the client; the request message comprises a data range; accordingly, the processing module is configured to: acquiring click data meeting the data range according to the request message; the transceiver module is further configured to: and sending the click data to the client, wherein the click data is used for the client to acquire the conversion data corresponding to the click data.
In one possible design, the request message further includes a username and a key; before the transceiver module sends the click data to the client, the processing module is further configured to: inquiring a preset corresponding relation table, and determining that the user name exists in the preset corresponding relation table, and the key corresponds to the user name; the preset corresponding relation table comprises the corresponding relation between the user name and the key of the client registered in the server in advance.
In a fourth aspect, an embodiment of the present invention provides a schematic structural diagram of a data processing apparatus, including:
the encryption module is used for encrypting the converted data by using a preset public key to obtain first encrypted data;
the receiving and sending module is used for sending the first encrypted data to a server and receiving an encryption conversion model sent by the server, wherein the encryption conversion model is obtained by the server through training by using at least the first encrypted data;
the decryption module is used for decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key to obtain a decrypted conversion model;
the transceiver module is further configured to send the decrypted conversion model to the server.
In a possible design, before the encryption module encrypts the conversion data using the preset public key, the transceiver module is further configured to: sending a request message to the server, wherein the request message comprises a data range, and the request message is used for the server to acquire click data meeting the data range; receiving the click data sent by the server; accordingly, the encryption module is further configured to: and acquiring the conversion data corresponding to the click data.
In a fifth aspect, an embodiment of the present invention provides a computing device, including at least one processing unit and at least one storage unit, where the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit is caused to execute the data processing method according to any of the first aspect or the second aspect.
In a sixth aspect, an embodiment of the present invention provides a computer-readable storage medium, which stores a computer program executable by a computing device, and when the program runs on the computing device, the computer program causes the computing device to execute the data processing method according to any of the first or second aspects.
These and other aspects of the invention are apparent from and will be elucidated with reference to the embodiments described hereinafter.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
FIG. 1 is a schematic diagram of a possible system architecture according to an embodiment of the present invention;
fig. 2 is a schematic view of an interaction flow corresponding to a data processing method according to an embodiment of the present invention;
fig. 3 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be described in further detail with reference to the accompanying drawings, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The field of financial technology (Fintech) generally involves many transactions, for example, bank transactions may include card-selling transactions, deposit transactions, loan transactions, insurance transactions, financing transactions, etc., and the daily transaction amount of a bank may reach thousands or even tens of thousands. Taking loan transaction as an example, in order to ensure the conversion effect of the loan transaction, a bank may generally entrust a server to put advertisements of loan products to a user; therefore, the server needs to predict the target users interested in the loan products by using the conversion model, so as to deliver the loan products to the target users to obtain better conversion effect.
For convenience of understanding, the following embodiments of the present invention describe the data processing method in the embodiments of the present invention by taking an advertisement product as an example for promotion to a user, and it should be noted that, although the following embodiments of the present invention describe the data processing method in the embodiments of the present invention by taking a promotion process of an advertisement product as an example, it can be understood that the data processing method in the embodiments of the present invention may also be applied to any other promotion scenarios or transformation scenarios, and is not limited.
In the promotion scene of the advertisement product, the server is an advertisement platform, after a target user is selected for the advertisement product through a conversion model, the server can expose the advertisement of the advertisement product to the target user, if the target user is interested in the advertisement product, the server can click the advertisement to enter a purchase page of the advertisement product, and therefore the server can record pre-conversion data (such as exposure data and click data) in the advertisement putting process; accordingly, the client is an advertiser, and since the actual conversion process of the advertisement product is controlled by the client, if the target user purchases the advertisement product in the purchase page of the advertisement product, the client may record the conversion data (such as purchase data) in the advertisement delivery process, and the conversion data is associated with the actual purchase data of the user, so as to identify the actual conversion result of the user on the advertisement product. Therefore, the exposure data of the exposure stage and the click data of the click stage are maintained by the server, and the conversion data of the conversion stage is maintained by the client. Therefore, since only the exposure data and the click data are stored in the server, the server can train and obtain the conversion model only by using the exposure data and the click data, and obviously, if the server wants to train the conversion model with a good effect, the server is far from enough to use the exposure data and the click data.
In order to solve the above problem, in a possible implementation manner, the client may send the conversion data to the server in a plaintext manner, so that the server may jointly use the exposure data, the click data, and the conversion data to jointly train to obtain a conversion model with a better conversion effect. However, since the conversion data includes the private data of the user, the private data of the user may be leaked due to the fact that the conversion data is not protected. Therefore, in the technical field of advertisement delivery, an opposite relationship exists between the conversion effect of the conversion model and the privacy data of the protected user, if the conversion model with a good training effect is required, the security of the privacy data of the user cannot be guaranteed, and if the privacy data of the user is required to be protected, the effect of the conversion model is not good.
Based on this, the embodiment of the invention provides a data processing method, which is used for improving the conversion effect of a conversion model on the premise of protecting the security of private data of a user.
Fig. 1 is a schematic diagram of a possible system architecture provided by an embodiment of the present invention, as shown in fig. 1, the system architecture includes a server 110 and at least one client, such as a client 121, a client 122, and a client 123; at least one client may be communicatively connected to the server 110, for example, the communication connection may be implemented in a wired manner, or may also be implemented in a wireless manner, which is not limited in particular.
As shown in fig. 1, the system architecture may further include at least one client, such as a client 131, a client 132, and a client 133, and at least one client may also be respectively communicatively connected to the server 110; the user side may refer to a terminal device, such as a mobile phone, a notebook, a tablet, an Ipad, and the like, without limitation.
In a specific implementation, at least one client may send a request to the server 110, where the request is used for the server to convert the advertisement product; accordingly, the server 110 may predict the at least one user terminal using the conversion model after receiving the request, select a target user terminal interested in the advertisement product from the at least one user terminal, and may deliver the advertisement of the advertisement product to the target user terminal.
As an example, the server 110 may be a World Wide Web (Web) server, a Web browser may be provided on any user side, and the server 110 may display an advertisement of an advertised product to a target user through the Web browser on a target user side and may record exposure data of the advertised product. Correspondingly, if the target user is interested in the advertisement product, a preset button or a preset link can be clicked on the advertisement of the advertisement product, so that a product introduction page or a purchase page of the advertisement product is entered; the server 110 may record click data of targeted users operating on the advertising page of the advertised product. And, since the purchase page of the advertised product is maintained by the client who markets the advertised product, the client can record the conversion data of the targeted user for the advertised product.
It should be noted that the above is only an exemplary and simple description, and the listed advertisement product serving modes are only for convenience of describing the scheme, and do not constitute a limitation on the scheme; in a specific implementation, the server may also deliver the advertisement product in other manners, such as delivering the advertisement product through a smart television, a video playing application, a radio or a radio, and the like, which is not limited.
Based on the system architecture illustrated in fig. 1, fig. 2 is a schematic flow chart corresponding to a data processing method provided in an embodiment of the present invention, where the method includes:
step 201, the client encrypts the converted data by using a preset public key to obtain first encrypted data.
In the embodiment of the present invention, there are various ways for the client to obtain the first encrypted data, and two possible implementation ways are described below:
in a possible implementation manner, if a client determines to deliver a certain advertisement product, the client may obtain conversion data corresponding to the advertisement product from an internal database thereof, and may encrypt the conversion data corresponding to the advertisement product by using a preset public key to obtain first encrypted data. The preset public key may be a public key determined by using a first preset encryption algorithm, and the first preset encryption algorithm may be set by a person skilled in the art based on experience.
For example, if the advertisement product is the advertisement product a, the client may obtain the transformation data of all users who purchase the advertisement product a, and may encrypt the transformation data of each user by using a preset public key to obtain a plurality of pieces of encrypted transformation data; further, the client may set an identifier for each piece of encrypted conversion data, where the identifier of the conversion data is used to uniquely identify one piece of conversion data.
In the embodiment of the present invention, the identifier of the conversion data may be set by a person skilled in the art according to experience, for example, the identifier may be an identification number of the user, a telephone number of the user, and the like, and is not limited specifically.
In an example, the preset public key may be a public key determined by using a differential privacy encryption algorithm, and since the differential privacy encryption algorithm may encrypt different feature values of the same feature tag into an irregular encrypted feature value, after the conversion data of the user is encrypted by using the differential privacy encryption algorithm, the server 110 cannot determine whether the user successfully purchases an advertisement product according to the encrypted conversion data, so that the security of the privacy data of the user can be ensured. For example, if the user 1 is a user who purchased the advertisement product a in the last 2 months, and the users 2 to 5 are users who clicked the advertisement of the advertisement product a but did not purchase the advertisement product a in the last 2 months, then, after encrypting the conversion data of the users 1 to 5 using the preset public key determined by the differential privacy encryption algorithm for the feature tag of the conversion result, the encrypted feature value corresponding to the conversion result of the user 1 is 11100001, the encrypted feature value corresponding to the conversion result of the user 2 is 11110001, the encrypted feature value corresponding to the conversion result of the user 3 is 10110001, the encrypted feature value corresponding to the conversion result of the user 4 is 10110101, and the encrypted feature value corresponding to the conversion result of the user 5 is 10110011; obviously, even if the server 110 knows that one of the users 1 to 5 purchased the advertisement product a in the last 2 months, the server 110 cannot determine which user purchased the advertisement product a according to the encryption feature values of the conversion results of the users 1 to 5.
In another possible implementation manner, the client may first send a request message to the server 110, where the request message includes a data range; correspondingly, after the server 110 obtains the request message, click data meeting the data range can be obtained from a built-in database of the server according to the request message, and the click data can be sent to the client; in this way, after receiving the click data sent by the server 110, the client may obtain the conversion data corresponding to the click data from its internal database, and may further encrypt the conversion data by using the preset public key to obtain the first encrypted data. In the implementation mode, the client sends the request message to the server, so that the client can determine the data range of the sample participating in the model training, and the initiative of the client in controlling the model training process is realized; and the client can set a data range according to actual needs, so that the scheme can meet the requirements of different clients and better meet the actual scene.
The data range may be set by a person skilled in the art according to experience, such as a preset time period, a purchase amount, an order area, and the like, without limitation.
For example, if the advertisement product is the advertisement product a, and the data range in the request message is the preset time interval 2019.7.29-2019.8.29, the server 110 may obtain the click data of all users that click on the advertisement product a in a month interval from 29/7/2019 to 29/8/2019, and may set an identifier for the click data of each user, where the identifier may be an identification number, a telephone number, or the like of the user, and is not limited. In this way, the click data sent by the server 110 to the client may be composed of click data of multiple users, and after the client receives the click data of the multiple users, the client may query the built-in database to obtain the conversion data of the user matching with the identifiers of the click data of the multiple users, and use the conversion data as conversion data corresponding to the click data.
It should be noted that the above is only an exemplary and simple description, and does not constitute a limitation on the scheme; in a specific implementation, the server 110 may obtain only click data of the advertisement product in the data range and send the click data to the client, or may also obtain only exposure data of the advertisement product in the data range and send the exposure data to the client, or may also obtain exposure data and click data of the advertisement product in the data range and send the exposure data and click data to the client at the same time, which is not limited specifically.
Further, for any piece of corresponding click data and conversion data (i.e., click data and conversion data of the same user), the client may directly encrypt the conversion data using the preset public key to obtain an encrypted piece of data, or may first mix the click data and the conversion data and then encrypt the mixed click data and conversion data to obtain an encrypted piece of data. Correspondingly, if the server 110 sends the exposure data and the click data to the client at the same time, the client may also mix the exposure data, the click data, and the conversion data corresponding to each other, and encrypt the mixed exposure data, click data, and conversion data to obtain a piece of encrypted data.
In one possible scenario, a user may need to trigger multiple operations on an advertisement page of an advertised product to enter a purchase page of the advertised product, such as the process of converting an advertisement for a particulate credit product as follows: after clicking the advertisement of the particle credit product, the user enters a user information filling page, when the user information filling is completed, the user information filling page enters an enterprise information filling page, when the enterprise information filling is completed, the user information filling page enters an amount declaration page, and when the amount declaration is completed, the user information filling page enters a purchasing page of the particle credit product; therefore, the click data corresponding to the advertisement of the particulate credit product comprises the click data of the user on the user information filled page, the click data of the user on the enterprise information filled page and the click data of the user on the quota claim page. In such a scenario, the click data sent by the server 110 to the client may refer to the click data of the last page, i.e. the click operation information of the purchase page of the advertisement product after the click, in the above example, refer to the click data on the quota claiming page.
In an example, a client may register an account on the server 110 in advance, where the account includes a user name and a key, and after the server 110 creates an authority for the user name and the key registered by the client, information sent by the client to the server 110 may all carry the user name and the key, so that the server 110 authenticates the client before processing data; accordingly, the server 110 may store the user names and the keys of all the clients registered in advance in the preset correspondence table. In a specific implementation, the request message sent by the client to the server 110 may include the user name, the key, and the data range at the same time, so that after receiving the request message, the server 110 may analyze the request message to obtain the user name and the key of the client, then query the preset correspondence table to determine whether the user name exists in the preset correspondence table, and if the user name does not exist in the preset correspondence table, the server 110 may send an abnormal response message to the client; if the user name exists in the preset correspondence table, the server 110 may query whether the key corresponds to the user name, and if not, it indicates that the client forges the user name or the key, so the server 110 may alert the client, and if so, the server 110 may obtain click data in the data range and send the click data to the client.
In the above example, the client may be registered in the server in advance, so that, for the request message sent by the client, the server may authenticate the client according to the registration information, and start the model training after determining that the client is safe and has not been tampered, thereby ensuring the safety of the model training and avoiding the right of the client being tampered.
In step 202, the client sends the first encrypted data to the server.
In a specific implementation, the client may generate a message according to an internet protocol address (IP) of the client, the IP of the server 110, and the first encrypted data, and may send the message to the server 110. If the client and the server 110 are connected in a wired manner (for example, optical fiber, cable, etc.), the client may send the message to the server 110 in a wired manner, and if the client and the server 110 are connected in a wireless manner (for example, WIFI, bluetooth, etc.), the client may send the message to the server 110 in a wireless manner.
Step 203, after receiving the first encrypted data sent by the client, the server trains by using at least the first encrypted data to obtain an encrypted conversion model.
In a specific implementation, the process of training the model by the server 110 may be set based on a specific service scenario, for example, if the server 110 only has a function of model training, the server 110 may train to obtain an encryption conversion model based on only the first encrypted data sent by the client, if the server 110 also has a function of data storage, the server 110 may train to obtain the encryption conversion model by using the first encrypted data sent by the client and the data stored in the server 110 together, if the server 110 also has a function of interacting with a third party, the server 110 may first obtain data in the third party from the third party, and then train to obtain the encryption conversion model by using the first encrypted data sent by the client and the data in the third party together, and so on.
In a possible implementation manner, after receiving the first encrypted data sent by the client, the server 110 may first obtain click data corresponding to the first encrypted data, encrypt the click data by using a preset public key to obtain second encrypted data, and then train together by using the first encrypted data and the second encrypted data to obtain an encryption conversion model. The preset public key may be sent to the server 110 in advance by the client, or may be carried by the client in a message corresponding to the first encrypted data and sent to the server 110, which is not limited.
Specifically, the first encrypted data received by the server 110 may include a plurality of pieces of encrypted conversion data, each piece of encrypted conversion data having a unique identifier, such as an identification number of the user, a mobile phone number of the user, and the like. In this way, the server 110 may first obtain the click data satisfying the data range from the built-in database, and then determine the click data corresponding to each encrypted conversion data according to the identifier of the encrypted conversion data and the identifier of the click data.
It should be noted that the click data corresponding to the conversion data acquired by the server 110 may include click data of the user on all pages of the advertisement product, for example, for a particle loan product, the click data acquired by the server 110 according to the data range may only include click data of the user on the quota claiming page, and the click data acquired according to the conversion data may include click data of the user on a user information filing page, click data of the user on an enterprise information filing page, and click data of the user on the quota claiming page.
Further, for any corresponding conversion data and click data, the server 110 may encrypt the click data by using a preset public key to obtain an encrypted click data, and may set an identifier for the encrypted click data; wherein the identification of the encrypted piece of click data matches the identification of the corresponding encrypted piece of conversion data. It can be seen that the second encrypted data is composed of a plurality of pieces of encrypted click data, and each piece of encrypted click data may correspond to one piece of encrypted conversion data.
In the embodiment of the present invention, the type of the encryption transformation model may be set by a person skilled in the art according to experience, for example, the type may be a classification model, or may also be a neural network model, or may also be a regression model, which is not limited in the embodiment of the present invention.
It should be noted that the encrypted conversion model in step 203 may be any one or any more of an encrypted purchase conversion model, an encrypted click conversion model, and an encrypted comprehensive conversion model; specifically, if an encrypted purchase conversion model is obtained by training using encrypted click data and encrypted conversion data, the purchase conversion model can predict the probability that a user who clicks an advertisement of an advertisement product purchases the advertisement product; if the encrypted click conversion model is obtained by using the encrypted exposure data and the encrypted click data for training, the click conversion model can predict the probability of clicking the advertisement by the user watching the advertisement page of the advertisement product; if the encrypted comprehensive conversion model is obtained by training using the encrypted exposure data, the encrypted click data, and the encrypted conversion data, the comprehensive conversion model can predict the probability that a user viewing the advertisement page of the advertisement product purchases the advertisement product.
And step 204, the server sends the encryption conversion model to the client.
In a specific implementation, the server 110 may obtain the model parameters of the encryption transformation model, generate a message according to the encrypted model parameters, the IP of the server 110, and the IP of the client, and send the message to the client.
In step 205, after receiving the encrypted transformation model, the client decrypts the encrypted transformation model by using a preset private key corresponding to a preset public key to obtain a decrypted transformation model.
In one example, the client may store the correspondence between the advertisement products, the preset public key, and the preset private key, and when the conversion models corresponding to the plurality of advertisement products are generated, different preset public keys may be used to encrypt the conversion data corresponding to the plurality of advertisement products, where the preset public keys of the conversion data corresponding to any two advertisement products are different; thus, after receiving the encrypted conversion model corresponding to a certain advertisement product sent by the server 110, the client may query the correspondence to determine the preset private key corresponding to the advertisement product, so as to decrypt the encrypted conversion model corresponding to the advertisement product by using the preset private key corresponding to the advertisement product.
In the embodiment of the present invention, the corresponding preset private key and the preset public key may be a private key and a public key determined by using a differential privacy algorithm, or may also be a private key and a public key determined by using a homomorphic encryption algorithm, which is not limited.
In step 206, the client sends the decrypted conversion model to the server.
Here, the server 110 may directly send the decrypted conversion model to the client, or to ensure the security of data transmission, may encrypt the decrypted conversion model by using a second preset encryption algorithm, and then send the encrypted conversion model to the client; the second preset encryption algorithm may be set by a person skilled in the art based on experience, and may be, for example, a preset hash algorithm, a symmetric encryption algorithm, an asymmetric encryption algorithm, or the like.
It should be noted that the second preset encryption algorithm is determined by negotiation between the client and the server 110 in advance, that is, a decryption algorithm corresponding to the second preset encryption algorithm may be stored in the server 110; the first preset encryption algorithm is set by the client independently, and the server 110 does not store the decryption algorithm corresponding to the first preset encryption algorithm, so that the server 110 cannot decrypt the encrypted converted data, and the security of the private data of the user is ensured.
And step 207, after receiving the decryption conversion model sent by the client, the server determines a target user by using the decryption conversion model, and puts the target user.
In a specific implementation, after receiving the decryption conversion model sent by the client, the server 110 may predict each user according to the decryption conversion model, and if it is determined that the probability that the user is converted by the advertisement product is greater than or equal to a preset threshold, the user may be used as a target user of the advertisement product, so that the server 110 may deliver the advertisement of the advertisement product to the target user; accordingly, if it is determined that the probability that the user is converted by the advertisement product is less than the preset threshold, the advertisement of the advertisement product may not be delivered to the user. For example, when the preset threshold is 80%, if the decryption conversion model is the comprehensive conversion model, the server 110 may use the comprehensive conversion model to determine probabilities of users corresponding to the user terminals 131 to 133 purchasing the advertisement products, respectively, and if the probability of the user corresponding to the user terminal 131 purchasing the advertisement products is 90%, the probability of the user corresponding to the user terminal 132 purchasing the advertisement products is 60%, and the probability of the user corresponding to the user terminal 133 purchasing the advertisement products is 85%, the server 110 may use the user corresponding to the user terminal 131 and the user corresponding to the user terminal 133 as two target users of the advertisement products, so that the advertisements of the advertisement products may be delivered to the two target users through the web browser of the user terminal 131 and the web browser of the user terminal 133, respectively.
In the above embodiment of the present invention, a server receives first encrypted data sent by a client, where the first encrypted data is data obtained by encrypting, by the client, conversion data by using the preset public key; further, the server at least uses the first encrypted data to train to obtain an encrypted conversion model, sends the encrypted conversion model to the client, and receives a decrypted conversion model sent by the client, wherein the decrypted conversion model is obtained by the client decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key. In the embodiment of the invention, after receiving encrypted conversion data sent by a client, a server at least trains an encryption conversion model by using the encrypted conversion data, and then the client decrypts the encryption conversion model and sends the decrypted conversion model to the server; therefore, in the training process of the conversion model, the server always uses the encrypted conversion data to train the model, and the decryption private key is stored in the client, so that the server cannot decrypt the conversion data of the user, the security of the private data of the user can be ensured, and the experience of the client is better.
In view of the above method flow, an embodiment of the present invention further provides a data processing apparatus, and specific contents of the apparatus may be implemented with reference to the above method.
Fig. 3 is a schematic structural diagram of a data processing apparatus according to an embodiment of the present invention, including:
the transceiver module 301 is configured to receive first encrypted data sent by a client, where the first encrypted data is data obtained by encrypting, by using the preset public key, conversion data by the client;
a training module 302, configured to train to obtain an encryption transformation model by using at least the first encrypted data;
the transceiver module 301 is further configured to send the encrypted conversion model to the client, and receive a decrypted conversion model sent by the client, where the decrypted conversion model is obtained by the client decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key.
Optionally, the training module 302 is specifically configured to:
acquiring click data corresponding to the first encrypted data, and encrypting the click data by using the preset public key to obtain second encrypted data; the preset public key is sent to the server by the client;
and training according to the first encrypted data and the second encrypted data to obtain the encryption conversion model.
Optionally, the apparatus further includes a processing module 303, and before the transceiver module 301 receives the first encrypted data sent by the client, the transceiver module is further configured to:
receiving a request message sent by the client; the request message comprises a data range;
the processing module 303 is configured to:
acquiring click data meeting the data range according to the request message;
the transceiver module 301 is further configured to:
and sending the click data to the client, wherein the click data is used for the client to acquire the conversion data corresponding to the click data.
Optionally, the request message further includes a user name and a key;
before the transceiver module 301 sends the click data to the client, the processing module 303 is further configured to:
inquiring a preset corresponding relation table, and determining that the user name exists in the preset corresponding relation table, and the key corresponds to the user name; the preset corresponding relation table comprises the corresponding relation between the user name and the key of the client registered in the server in advance.
Fig. 4 is a schematic structural diagram of another data processing apparatus according to an embodiment of the present invention, including:
the encryption module 401 is configured to encrypt the converted data by using a preset public key to obtain first encrypted data;
a transceiver module 402, configured to send the first encrypted data to a server, and receive an encryption conversion model sent by the server, where the encryption conversion model is obtained by the server through training using at least the first encrypted data;
the decryption module 403 is configured to decrypt the encrypted conversion model by using a preset private key corresponding to the preset public key to obtain a decrypted conversion model;
the transceiver module 402 is further configured to send the decrypted conversion model to the server.
Optionally, before the encryption module 401 encrypts the conversion data by using the preset public key, the transceiver module 402 is further configured to:
sending a request message to the server, wherein the request message comprises a data range, and the request message is used for the server to acquire click data meeting the data range; receiving the click data sent by the server;
the encryption module 401 is further configured to:
and acquiring the conversion data corresponding to the click data.
From the above, it can be seen that: in the above embodiment of the present invention, a server receives first encrypted data sent by a client, where the first encrypted data is data obtained by encrypting, by the client, conversion data by using the preset public key; further, the server at least uses the first encrypted data to train to obtain an encrypted conversion model, sends the encrypted conversion model to the client, and receives a decrypted conversion model sent by the client, wherein the decrypted conversion model is obtained by the client decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key. In the embodiment of the invention, after receiving encrypted conversion data sent by a client, a server at least trains an encryption conversion model by using the encrypted conversion data, and then the client decrypts the encryption conversion model and sends the decrypted conversion model to the server; therefore, in the training process of the conversion model, the server always uses the encrypted conversion data to train the model, and the decryption private key is stored in the client, so that the server cannot decrypt the conversion data of the user, the security of the private data of the user can be ensured, and the experience of the client is better.
Based on the same inventive concept, an embodiment of the present invention further provides a computing device, including at least one processing unit and at least one storage unit, where the storage unit stores a computer program, and when the program is executed by the processing unit, the processing unit is caused to execute the data processing method described in any of fig. 2.
Based on the same inventive concept, embodiments of the present invention further provide a computer-readable storage medium storing a computer program executable by a computing device, where the computer program is configured to cause the computing device to execute any of the data processing methods described in fig. 2 when the computer program runs on the computing device.
It should be apparent to those skilled in the art that embodiments of the present invention may be provided as a method, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may 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 the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory 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 memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
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 the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.

Claims (10)

1. A method of data processing, the method comprising:
the server receives first encrypted data sent by a client, wherein the first encrypted data is data obtained by encrypting conversion data by the client through the preset public key;
the server obtains an encryption conversion model by using at least the first encryption data for training;
the server sends the encryption conversion model to the client;
and the server receives a decryption conversion model sent by the client, wherein the decryption conversion model is obtained by decrypting the encryption conversion model by the client by using a preset private key corresponding to the preset public key.
2. The method of claim 1, wherein the server is trained to derive a cryptographic conversion model using at least the first cryptographic data, comprising:
the server acquires click data corresponding to the first encrypted data, and encrypts the click data by using the preset public key to obtain second encrypted data; the preset public key is sent to the server by the client;
and the server trains according to the first encrypted data and the second encrypted data to obtain the encryption conversion model.
3. The method according to claim 1 or 2, wherein before the server receives the first encrypted data sent by the client, the method further comprises:
the server receives a request message sent by the client; the request message comprises a data range;
the server acquires click data meeting the data range according to the request message;
and the server sends the click data to the client, wherein the click data is used for the client to acquire the conversion data corresponding to the click data.
4. The method of claim 3, wherein the request message further comprises a username and a key;
before the server sends the click data to the client, the method further includes:
the server inquires a preset corresponding relation table, and determines that the user name exists in the preset corresponding relation table, and the secret key corresponds to the user name; the preset corresponding relation table comprises the corresponding relation between the user name and the key of the client registered in the server in advance.
5. A method of data processing, the method comprising:
the client encrypts the converted data by using a preset public key to obtain first encrypted data;
the client sends the first encrypted data to a server;
the client receives an encryption conversion model sent by the server, wherein the encryption conversion model is obtained by the server through training by using at least the first encryption data;
the client decrypts the encrypted conversion model by using a preset private key corresponding to the preset public key to obtain a decrypted conversion model;
and the client sends the decryption conversion model to the server.
6. The method of claim 5, wherein before the client encrypts the conversion data using the preset public key, the method further comprises:
the client sends a request message to the server, wherein the request message comprises a data range and is used for the server to acquire click data meeting the data range;
the client receives the click data sent by the server;
and the client acquires the conversion data corresponding to the click data.
7. A data processing apparatus, characterized in that the apparatus comprises:
the receiving and sending module is used for receiving first encrypted data sent by the client, wherein the first encrypted data is data obtained by encrypting the converted data by the client by using the preset public key;
the training module is used for training at least the first encrypted data to obtain an encrypted conversion model;
the receiving and sending module is further configured to send the encrypted conversion model to the client, and receive a decrypted conversion model sent by the client, where the decrypted conversion model is obtained by the client decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key.
8. A data processing apparatus, characterized in that the apparatus comprises:
the encryption module is used for encrypting the converted data by using a preset public key to obtain first encrypted data;
the receiving and sending module is used for sending the first encrypted data to a server and receiving an encryption conversion model sent by the server, wherein the encryption conversion model is obtained by the server through training by using at least the first encrypted data;
the decryption module is used for decrypting the encrypted conversion model by using a preset private key corresponding to the preset public key to obtain a decrypted conversion model;
the transceiver module is further configured to send the decrypted conversion model to the server.
9. A computing device comprising at least one processing unit and at least one memory unit, wherein the memory unit stores a computer program that, when executed by the processing unit, causes the processing unit to perform the method of any of claims 1 to 6.
10. A computer-readable storage medium storing a computer program executable by a computing device, the program, when run on the computing device, causing the computing device to perform the method of any of claims 1 to 6.
CN201911330992.3A 2019-12-20 2019-12-20 Data processing method and device Active CN111131227B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911330992.3A CN111131227B (en) 2019-12-20 2019-12-20 Data processing method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911330992.3A CN111131227B (en) 2019-12-20 2019-12-20 Data processing method and device

Publications (2)

Publication Number Publication Date
CN111131227A true CN111131227A (en) 2020-05-08
CN111131227B CN111131227B (en) 2023-04-18

Family

ID=70501382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911330992.3A Active CN111131227B (en) 2019-12-20 2019-12-20 Data processing method and device

Country Status (1)

Country Link
CN (1) CN111131227B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285960A (en) * 2021-07-21 2021-08-20 湖南轻悦健康管理有限公司 Data encryption method and system for service data sharing cloud platform

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140207567A1 (en) * 2013-01-18 2014-07-24 Digital River, Inc. Cross Channel Conversion Tracking System and Method
CN106844178A (en) * 2017-01-22 2017-06-13 腾云天宇科技(北京)有限公司 Prediction is presented method, computing device, server and the system of information transferring rate
US20170372356A1 (en) * 2016-06-28 2017-12-28 Analytics Media Group, LLC Evaluation of advertising effectiveness
CN108259158A (en) * 2018-01-11 2018-07-06 西安电子科技大学 Efficient and secret protection individual layer perceptron learning method under a kind of cloud computing environment
CN108280682A (en) * 2018-01-16 2018-07-13 深圳市和讯华谷信息技术有限公司 Advertisement placement method, terminal and computer readable storage medium
CN108520181A (en) * 2018-03-26 2018-09-11 联想(北京)有限公司 data model training method and device
CN108960899A (en) * 2018-06-11 2018-12-07 广东因特利信息科技股份有限公司 The user information exchange method and system launched for advertisement
CN109660534A (en) * 2018-12-15 2019-04-19 平安科技(深圳)有限公司 Safety certifying method, device, electronic equipment and storage medium based on more trade companies
CN109961357A (en) * 2019-03-25 2019-07-02 上海拉扎斯信息科技有限公司 User data processing method, device, electronic equipment and storage medium
CN110008399A (en) * 2019-01-30 2019-07-12 阿里巴巴集团控股有限公司 A kind of training method and device, a kind of recommended method and device of recommended models
CN110163652A (en) * 2019-04-12 2019-08-23 上海上湖信息技术有限公司 Obtain objective conversion ratio predictor method and device, computer readable storage medium
CN110572253A (en) * 2019-09-16 2019-12-13 济南大学 Method and system for enhancing privacy of federated learning training data

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140207567A1 (en) * 2013-01-18 2014-07-24 Digital River, Inc. Cross Channel Conversion Tracking System and Method
US20170372356A1 (en) * 2016-06-28 2017-12-28 Analytics Media Group, LLC Evaluation of advertising effectiveness
CN106844178A (en) * 2017-01-22 2017-06-13 腾云天宇科技(北京)有限公司 Prediction is presented method, computing device, server and the system of information transferring rate
CN108259158A (en) * 2018-01-11 2018-07-06 西安电子科技大学 Efficient and secret protection individual layer perceptron learning method under a kind of cloud computing environment
CN108280682A (en) * 2018-01-16 2018-07-13 深圳市和讯华谷信息技术有限公司 Advertisement placement method, terminal and computer readable storage medium
CN108520181A (en) * 2018-03-26 2018-09-11 联想(北京)有限公司 data model training method and device
CN108960899A (en) * 2018-06-11 2018-12-07 广东因特利信息科技股份有限公司 The user information exchange method and system launched for advertisement
CN109660534A (en) * 2018-12-15 2019-04-19 平安科技(深圳)有限公司 Safety certifying method, device, electronic equipment and storage medium based on more trade companies
CN110008399A (en) * 2019-01-30 2019-07-12 阿里巴巴集团控股有限公司 A kind of training method and device, a kind of recommended method and device of recommended models
CN109961357A (en) * 2019-03-25 2019-07-02 上海拉扎斯信息科技有限公司 User data processing method, device, electronic equipment and storage medium
CN110163652A (en) * 2019-04-12 2019-08-23 上海上湖信息技术有限公司 Obtain objective conversion ratio predictor method and device, computer readable storage medium
CN110572253A (en) * 2019-09-16 2019-12-13 济南大学 Method and system for enhancing privacy of federated learning training data

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285960A (en) * 2021-07-21 2021-08-20 湖南轻悦健康管理有限公司 Data encryption method and system for service data sharing cloud platform
CN113285960B (en) * 2021-07-21 2021-10-01 湖南轻悦健康管理有限公司 Data encryption method and system for service data sharing cloud platform

Also Published As

Publication number Publication date
CN111131227B (en) 2023-04-18

Similar Documents

Publication Publication Date Title
US11296895B2 (en) Systems and methods for preserving privacy and incentivizing third-party data sharing
CN102663640A (en) Remote bidding method and system
CN112613956B (en) Bidding processing method and device
US11949671B2 (en) Systems and methods for managing secure sharing of online data
CN111292041A (en) Electronic contract generating method, device, equipment and storage medium
CN110796449A (en) Transaction processing method, system, medium and computing device
CN113128950B (en) Enterprise chain code service platform
WO2023005838A1 (en) Data sharing method and electronic device
CN115456324A (en) Management method, device and system for job hunting privacy information
CN114500093A (en) Safe interaction method and system for message information
CN110210976A (en) A kind of method of commerce and its equipment based on block chain
CN111131227B (en) Data processing method and device
CN111464295B (en) Bank card making method and device
AU2020432497A1 (en) Cryptosystem, systems, methods and applications for zero-knowledge anonymously-individualized marketing and loyalty management based on end-to-end encrypted transfer of statements like receipts or scripts
CN111125734B (en) Data processing method and system
US10853898B1 (en) Method and apparatus for controlled messages
CN114418769A (en) Block chain transaction charging method and device and readable storage medium
CN113783690A (en) Tender inviting method and device based on authentication
CN114157425A (en) Method and device for responding service request
CN110210860A (en) Business datum method of commerce and its equipment on block chain
CN110223053A (en) A kind of data trade method and its equipment
CN110189130A (en) Method of commerce and its equipment on block chain
JPH10149396A (en) Commercial transaction system
TW563047B (en) Shared system of mobile bank and its operating method
WO2021120229A1 (en) Data processing method, apparatus and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant