WO2022108520A1 - 数据处理方法、装置、介质及电子设备 - Google Patents
数据处理方法、装置、介质及电子设备 Download PDFInfo
- Publication number
- WO2022108520A1 WO2022108520A1 PCT/SG2021/050679 SG2021050679W WO2022108520A1 WO 2022108520 A1 WO2022108520 A1 WO 2022108520A1 SG 2021050679 W SG2021050679 W SG 2021050679W WO 2022108520 A1 WO2022108520 A1 WO 2022108520A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- user data
- time window
- user
- time information
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 93
- 238000000034 method Methods 0.000 claims abstract description 47
- 238000012795 verification Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 12
- 238000012549 training Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011033 desalting Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Definitions
- both parties of federated learning usually use a relatively stable DFS (distributed file system) or OSS (object storage system), and a relational database to store state, thereby aligning data.
- DFS distributed file system
- OSS object storage system
- the two parties involved in federated learning will generate their own data from time to time, and continuously add them to the federated learning system to determine the correct data. Due to the data of the same user, the above process is less efficient in determining the user data generated in batches.
- the present disclosure provides a data processing method, the method comprising: acquiring first user data and second user data, and initializing a first time window and the first time window corresponding to the first user data Corresponding first time information, as well as the second time window corresponding to the second user data and the second time information corresponding to the second time window; According to the first user data, determine that the first time window corresponds to the first data and the first time information; determining the second data and the second time information corresponding to the second time window according to the second user data; according to the first data and the first time window Second data, determining alignment data corresponding to the same user in the first user data and the second user data.
- a data processing apparatus configured to: an acquisition module, configured to acquire first user data and second user data, and initialize a first time window corresponding to the first user data and the first time window the first time corresponding to a time window time information, the second time window corresponding to the second user data, and the second time information corresponding to the second time window; a first determining module, configured to determine the first user data according to the first user data first data and the first time information corresponding to the time window; a second determination module, configured to determine the second data and the second time information corresponding to the second time window according to the second user data; A third determining module, configured to determine, according to the first data and the second data, the alignment data corresponding to the same user in the first user data and the second user data.
- a computer-readable medium on which a computer program is stored, and when the program is executed by a processing apparatus, the steps of the data processing method described in the first aspect are implemented.
- an electronic device including: a storage device on which a computer program is stored; and a processing device for executing the computer program in the storage device to implement the data processing method of the first aspect step.
- the second time window corresponding to the user data and the second time information corresponding to the second time window so that the first data corresponding to the first time window and the first time can be determined according to the first user data information, and determine the second data corresponding to the second time window and the second time information according to the second user data, and then determine the first data and the second data according to the first data and the second data. Alignment data corresponding to the same user in the first user data and the second user data.
- FIG. 1 is a schematic diagram of building a federated learning model
- Fig. 2 is a flowchart of a data processing method provided according to an embodiment of the present disclosure.
- FIG. 3 is a flowchart of an exemplary implementation manner of determining first data corresponding to a first time window and first time information according to first user data according to an embodiment of the present disclosure.
- FIG. 4 is a block diagram of a data processing apparatus provided according to an embodiment of the present disclosure.
- FIG. 5 is a structural diagram illustrating an electronic device suitable for implementing embodiments of the present disclosure. intent. DETAILED DESCRIPTION Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings.
- the term “including” and variations thereof are open-ended inclusions, ie, “including but not limited to”.
- the term “based on” means “based at least in part on”.
- the term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one additional embodiment”; the term “some embodiments” means “at least some embodiments”.
- Relevant definitions of other terms will be given in the description below. It should be noted that concepts such as “first” and “second” mentioned in the present disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or interdependence.
- the data of the participants in federated learning is usually streaming data.
- Streaming data generally refers to the data generated by common online traffic.
- Each side generates a data record.
- Participant A and Participant B can upload their respective data records to the corresponding data storage directory, and the data of each participant is further stored in the corresponding data processing module, thereby entering the federated learning framework.
- the data after data processing is carried out through the data processing module for data alignment, so that the two participating parties exchange identification information for data alignment to determine the data corresponding to the same user in the data of the two participating parties, and then training samples can be generated.
- the participant side trains the federated model based on the training samples, and obtains the target federated learning model through the joint training of each participant.
- the time and data storage reliability of the generated data records stored in each participant cannot be consistent, there may be missing data records and inconsistent storage order of data records among the participants.
- FIG. 2 is a flowchart of a data processing method provided according to an embodiment of the present disclosure. As shown in FIG. 2, the method includes: in step 11, acquiring first user data and second user data, and initializing a first time window corresponding to the first user data and first time information corresponding to the first time window , and the second time window corresponding to the second user data and the second time information corresponding to the second time window.
- the first user data and the second user data are the data of both parties involved in the learning in the federated learning.
- the two parties of the federated learning are the two parties that need to perform streaming data processing. Therefore, in the embodiment of the present disclosure, alignment can be performed based on the locally ordered data of the time window, so that batch data can be processed. Alignment processing.
- the initialization lengths of the first time window and the second time window may be the same, which may be set according to an actual usage scenario, which is not limited in the present disclosure.
- the first time information is used to indicate the time corresponding to the overall data in the first time window
- the second time information is used for the time corresponding to the overall data in the second time window.
- first time information and the second time information may be initialized to zero. It should be understood that the "both sides" here are only descriptions for the convenience of understanding, federated learning It can be extended to include more party scenarios.
- first data and first time information corresponding to the first time window are determined according to the first user data.
- the data corresponding to the first time window is read from the first user data, so that the corresponding first time information can be determined according to the data.
- second data and second time information corresponding to the second time window are determined.
- data corresponding to the second time window can be read from the second user data, so that the corresponding second time information can be determined according to the data.
- step 14 according to the first data and the second data, the alignment data corresponding to the same user in the first user data and the second user data is determined.
- data alignment can be performed according to the identification information in the first data and the second data, and the identification information is used to uniquely represent a data record, for example, the identification The information may be the same primary key corresponding to the data records in the first data and the second data. For example, for the identification information of each data in the first data, it is determined whether the identification information exists in the second data.
- the corresponding data in the second data is the data corresponding to the same user.
- the data can be extracted separately, so that the aligned data can be spliced to obtain training data for vertical federated learning.
- the first user data and the second user data are acquired, and the first time window corresponding to the first user data and the first time information corresponding to the first time window are initialized, and the second time window is initialized.
- the second time window corresponding to the user data and the second time The second time information corresponding to the interval window, so that the first data corresponding to the first time window and the first time information can be determined according to the first user data, and the second user data can be determined according to the second user data.
- the second data corresponding to the second time window and the second time information, and then according to the first data and the second data, it is determined that the first user data and the second user data correspond to Alignment data for the same user. Therefore, through the above technical solution, when the two sides of the federated learning generate sample data from time to time, the generated sample data can be locally aligned by means of a time window, so that the efficiency of data processing can be improved, and stream data processing can be guaranteed. accuracy. At the same time, this method can be applied to data alignment processing in batch-generated user data, which can improve the efficiency of data processing and at the same time broaden the scope of use of data processing methods, provide a guarantee for obtaining accurate federated learning sample data, and improve user usage. experience.
- an exemplary implementation manner of determining the second data corresponding to the second time window and the second time information according to the second user data is as follows, and this step may include: at the second time When the information is less than or equal to the first time information, the second data corresponding to the second time window and the second time information are determined according to the second user data.
- this step may include: at the second time When the information is less than or equal to the first time information, the second data corresponding to the second time window and the second time information are determined according to the second user data.
- the time information of the data in the second time window determined later is usually later than the second time information, at this time corresponding to the time corresponding to the overall data in the first time window of the first time information earlier, with The possibility of matching the data in the second time window determined later is small. Therefore, in the embodiment of the present disclosure, when the second time information is less than or equal to the first time information, the current communication Performing alignment processing on the data within the specified time window can not only improve the matching possibility of the determined first data and the data in the second data, but also avoid unnecessary data matching process, and further improve the efficiency of data processing.
- an exemplary implementation manner of determining the first data corresponding to the first time window and the first time information according to the first user data is as follows.
- the step may include: In 21, the data corresponding to the first time window is obtained from the first user data according to the current data processing position, wherein the current data processing position is initially the starting position in the first user data, and the data corresponding to the first time window can be obtained according to the current data processing position.
- the corresponding data is read from the queue of the first user data, and then the current data processing position can be updated according to the progress of data reading, that is, the starting position used to record the data to be read in the first user data .
- the data time information is determined according to the data corresponding to the first time window.
- the timestamp information of the Mth data in the first time window may be used as the data time information.
- the value of M may be pre-specified, or the value of M may be determined according to the length of the first time window, for example, M may be set as the position of the data in the first time window to sort P, for example, P is 10 %, then when the length of the first time window is 100 pieces of data, M is 10, that is, the timestamp information of the 10th piece of data is determined as the first time information.
- M is 20 pieces of data
- the timestamp information of the 20th piece of data is used as the first time information.
- step 23 in the case that the data time information is greater than the first time information, the The data time information is determined as the first time information, and the data corresponding to the first time window is added to the first data.
- the data time information is greater than the first time information, that is, when reading the data corresponding to the first time window, the time corresponding to the part of the data is moved backward as a whole, that is, the data in the first time window is locally ordered , at this time, the determined part of the data can be added to the first data, that is, as the first data, and the first time information corresponding to the data in the first time window representing the local order by the user is obtained.
- an exemplary implementation manner of determining the first data corresponding to the first time window and the first time information according to the first user data is as follows, and this step may further include : when the data time information is less than or equal to the first time information, and the first time window is smaller than a preset time window, increase the first time window according to a preset ratio, and return to the The step of acquiring data corresponding to a first time window from the first user data according to the current data processing position, until the time information of the data is greater than the first time information.
- the length of the preset time window may be set according to an actual usage scenario, which is not limited in the present disclosure.
- the data time information when the data time information is less than or equal to the first time information, it means that some data are newly read from the first user data at this time, but the data in the first time window corresponds to the first time window. If the time information is not moved backward, it means that the data in the first time window is not locally ordered. Therefore, the first time can be increased
- the length of the interval window means that part of the data can be read from the first user data, thereby ensuring that the data in the first time window is locally ordered data to a certain extent.
- the preset ratio can be set according to the actual usage scenario, and the preset ratio can be 2, so that the processing position according to the current data can be returned, and the corresponding first time window can be obtained from the first user data.
- an exemplary implementation manner of determining the second data corresponding to the second time window and the second time information according to the second user data is the same as the above-mentioned determining according to the first user data.
- the specific implementation manner of the first data corresponding to the first time window and the first time information is the same, and details are not repeated here.
- the method may also include: storing data in the second data whose timestamp information is greater than the first time information, and returning the first data corresponding to the first time window determined according to the first user data and In the step of the first time information, until the data in the first user data or the second user data are processed.
- the timestamp information in the second data is larger than the data in the first time information, which may match the data in the next time window in the first user data.
- the Part of the second data so that the part of the data can be included in the next time window data of the re-determined second user data, thereby ensuring that the data corresponding to the same user is divided into different time window data to perform data alignment Therefore, while ensuring the efficiency of data alignment and data processing, the accuracy of data processing can be ensured, so that more and more comprehensive training data can be provided for federated learning, thereby improving the modeling efficiency of the federated learning model.
- the present disclosure also provides the following embodiments.
- the first user data and the second user data are obtained in the following manner, including: in the first provider of the first user data, checking a rule according to a preset feature , verifying the to-be-verified feature of the first original data of the first provider, and determining the first original data that has passed the verification as the first user data.
- the second provider of the second user data the to-be-verified feature of the second original data of the second provider is verified according to a preset feature verification rule, and the second provider that passes the verification is checked.
- the original data is determined as the second user data.
- the first raw data and the second raw data represent the two parties performing federated learning, that is, the sample data actually produced by the first provider and the second provider.
- the preset feature verification rule may be set according to an actual usage scenario.
- a feature verification rule is set as follows: feature ( name: "age" value count ( min: 1 max: 1
- This feature check rule indicates that there must be one feature named age in the original data, its data type is INT, and its corresponding value range is [0, 200]. If there is no such age feature in some original data uploaded by the user, or its type is not INT, or its value is outside 0 ⁇ 200, the original data does not pass the verification and will be filtered out. If the feature named age is included, and the data type is INT, and its value is within 0 ⁇ 200, it means that the original data has passed the verification. It should be noted that the above is only an exemplary description, and does not limit the present disclosure.
- feature verification can be performed on the original data of the data provider, so that the original features can be preliminarily filtered based on the features in the original data, so that the validity and accuracy of the subsequently determined alignment data can be effectively improved sex, and can The waste of resources caused by data alignment for such data can be avoided, so that the efficiency of data processing can be further improved.
- the original data in order to further improve the message of data processing, may be processed by partition according to the identification information of the original data, so that the data in each partition may be processed concurrently, and the data in the partition may also be processed according to The timestamp information is preliminarily sorted, so that the ordering of the data in the partition can be guaranteed, thereby improving the concurrency and processing efficiency of data processing.
- the identification information can be used to uniquely represent a data record, so that the data corresponding to the same user in the data of the participants can be determined based on the consistency of the identification information.
- the identification information is user identification information, user identification information, etc. This part of identification information Swapping is usually not possible directly. Based on this, the present disclosure also provides the following embodiments.
- the first user data and the second user data are obtained in the following manner, including: in the first provider of the first user data, based on a first key , performing offline encryption and hash processing on the identification information of the first original data to obtain the first user data; in the second provider of the second user data, based on the second key and the noise information pair
- the identification information of the second original data is subjected to noise processing to obtain noise-added data, and the The noise-enhanced data is sent to the first provider, and after receiving the encrypted data obtained by the first provider encrypting the noise-encrypted data based on the first key, according to the noise information Perform denoising processing on the encrypted data, and perform hash processing on the data obtained after the denoising processing to obtain the second user data, wherein the first key and the second key are asymmetric
- the target type may be a type of identification information preset by a user that cannot be directly used for exchange, so that data privacy can be effectively protected.
- offline encryption processing may be performed on the identification information of the first original data and the identification information of the second original data respectively based on the following encryption methods.
- the first provider of the first user data can be used as a Leader, which can have an RSA private key
- the second provider of the second user data can be used as a Follower, which has an RSA public key, which is used for the identification of data alignment
- the Leader side calculates the following encrypted data Q according to the public key and private key, and sends the encrypted data Q to the follower side:
- the follower end receives the encrypted data Q, ie P ⁇ Xf d * )% 7V , thus can calculate Xf d %N according to its noise information r, to perform desalting processing; after that, through Hash: Hash ⁇ Xf d %N ), Hash the unsalted result to a space for hashing, and obtain the encrypted primary key for exchange to obtain the second user data. Therefore, through the above process, for the same primary key id, both the Follower side and the Leader side will eventually hash to the same value.
- the primary key id of the Follower interaction is also processed with salt, and the Leader cannot deduce the primary key.
- the identification information that cannot be directly used for exchange can be Encryption processing can not only ensure the accuracy of data alignment based on identification information, but also ensure data privacy and improve user experience.
- preprocessing can be performed in an offline manner, thereby further improving the efficiency of data processing.
- different random noises can be used as salts, which further increases data security.
- the first provider and the second provider may also verify their respective data according to the feature verification process described above, and perform the above encryption according to the verified data. process, thereby not only ensuring the accuracy of the first user data and the second user data, but also ensuring the data privacy of the first user data and the second user data, and further improving the user experience.
- the apparatus 10 includes: an acquisition module 100, configured to acquire first user data and second user data, and initialize the first user data corresponding to the first user data A time window and first time information corresponding to the first time window, and a second time window corresponding to the second user data and second time information corresponding to the second time window; a first determining module 200, for determining the first data corresponding to the first time window and the first time information according to the first user data; a second determining module 300 for determining the first time window according to the second user data Second data corresponding to two time windows and the second time information; a third determination module 400, configured to determine the first user data and the first user according to the first data and the second data Alignments in the data that correspond to the same user data.
- an acquisition module 100 configured to acquire first user data and second user data, and initialize the first user data corresponding to the first user data A time window and first time information corresponding to the first time window, and a second time window corresponding to the second user data and second time information corresponding to the second time window
- the second determining module is configured to: in the case that the second time information is less than or equal to the first time information, determine, according to the second user data, the second data and the second time information.
- the first determination module includes: a first acquisition sub-module, configured to acquire data corresponding to a first time window from the first user data according to the current data processing position; a first determination sub-module , used to determine data time information according to the data corresponding to the first time window; a second determination sub-module, used to determine the data time information when the data time information is greater than the first time information is the first time information, and the data in the first time window is added to the first data.
- the first determining module further includes: a processing submodule, configured to: when the data time information is less than or equal to the first time information, and the first time window is less than a preset time window In this case, the first time window is increased according to a preset ratio, and the first acquisition sub-module is triggered to acquire the data corresponding to the first time window from the first user data according to the current data processing position, until the The data time information is greater than the first time information.
- a processing submodule configured to: when the data time information is less than or equal to the first time information, and the first time window is less than a preset time window In this case, the first time window is increased according to a preset ratio, and the first acquisition sub-module is triggered to acquire the data corresponding to the first time window from the first user data according to the current data processing position, until the The data time information is greater than the first time information.
- the apparatus further includes: a storage module, configured to determine, in the third determination module, the first user data according to time window data corresponding to the first user data and the second user data respectively and the After the alignment data corresponding to the same user in the two user data is stored, the data whose timestamp information in the second data is greater than the first time information is stored, and the first determination module is triggered to determine according to the first user data The first data corresponding to the first time window and the first time information are processed until the data in the first user data or the second user data.
- a storage module configured to determine, in the third determination module, the first user data according to time window data corresponding to the first user data and the second user data respectively and the After the alignment data corresponding to the same user in the two user data is stored, the data whose timestamp information in the second data is greater than the first time information is stored, and the first determination module is triggered to determine according to the first user data The first data corresponding to the first time window and the first time information are processed until the data in the first user data or the
- the first user data and the second user data are obtained in the following manner, including: in the first provider of the first user data, according to a preset feature verification rule, Verify the features to be verified of the first original data of the first provider, and determine the first original data that has passed the verification as the first user data; In the second provider of the second user data , according to a preset feature verification rule, verify the feature to be verified of the second original data of the second provider, and determine the second original data that has passed the verification as the second user data.
- an identifier for performing data alignment processing in the case where the information is of the target type, the first user data and the second user data are obtained in the following manner, including: in the first provider of the first user data, based on the first key, performing offline encryption and hash processing on the identification information of the first original data to obtain the first user data; in the second provider of the second user data, based on the second key and the noise information
- the identification information of the original data is subjected to noise processing to obtain noise-added data, and the The noise-enhanced data is sent to the first provider, and after receiving the encrypted data obtained by the first provider encrypting the noise-encrypted data based on the first key, according to the noise information Perform denoising processing on the encrypted data, and perform hash processing on the data obtained after the denoising processing to obtain the second user data, wherein the first key and the second key are asymmetric There is
- Terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablets), PMPs (portable multimedia players), vehicle-mounted terminals (eg, Mobile terminals such as car navigation terminals), etc., and stationary terminals such as digital TVs, desktop computers, and the like.
- the electronic device shown in FIG. 5 is only an example, and should not impose any limitation on the function and scope of use of the embodiments of the present disclosure. As shown in FIG.
- the electronic device 600 may include a processing device (eg, a central processing unit, a graphics processor, etc.) 601, which may be loaded into random access according to a program stored in a read only memory (ROM) 602 or from a storage device 608
- the program in the memory (RAM) 603 executes various appropriate actions and processes.
- various programs and data necessary for the operation of the electronic device 600 are also stored.
- the processing device 601 , the ROM 602 and the RAM 603 are connected to each other through a bus 604 .
- An input/output (I/O) interface 605 is also connected to bus 604 .
- I/O interface 605 the following devices can be connected to the I/O interface 605: Input devices 606 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including, for example, a liquid crystal display (LCD), speakers, vibration output device, etc. 607 ; storage device 608 including, for example, magnetic tape, hard disk, etc.; and communication device 609 .
- Communication means 609 may allow electronic device 600 to communicate wirelessly or by wire with other devices to exchange data. While FIG. 5 shows electronic device 600 having various means, it should be understood that not all of the illustrated means are required to be implemented or available. More or fewer devices may alternatively be implemented or provided.
- embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated in the flowchart.
- the computer program may be downloaded and installed from the network via the communication device 609 , or from the storage device 608 , or from the ROM 602 .
- the processing apparatus 601 the above-mentioned functions defined in the methods of the embodiments of the present disclosure are executed.
- the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
- the computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or a combination of any of the above. More specific examples of computer readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
- computer readable storage A medium can be any tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device.
- a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code therein. Such propagated data signals may take a variety of forms including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- a computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with the instruction execution system, apparatus, or device .
- Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to: wire, optical fiber cable, RF (radio frequency), etc., or any suitable combination of the foregoing.
- the client and server can use any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol) to communicate, and can communicate with digital data in any form or medium Communication (eg, communication network) interconnection.
- HTTP HyperText Transfer Protocol
- Examples of communication networks include local area networks ("LAN”), wide area networks (“WAN”), the Internet (eg, the Internet), and peer-to-peer networks (eg, ad hoc peer-to-peer networks), as well as any currently known or future development network of.
- the above-mentioned computer-readable medium may be included in the above-mentioned electronic device; or may exist alone without being assembled into the electronic device.
- the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by the electronic device, the electronic device causes the electronic device to: acquire first user data and second user data, and initialize the first user The first time window corresponding to the data and all the first time information corresponding to the first time window, the second time window corresponding to the second user data, and the second time information corresponding to the second time window; according to the first user data, determine the the first data and the first time information corresponding to the first time window; according to the second user data, determine the second data and the second time information corresponding to the second time window; according to the first data and the second data, determine the first user data and the alignment data corresponding to the same user in the first user data.
- Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, including but not limited to object-oriented programming languages—such as Java, Smalltalk. C++, and Includes conventional procedural programming languages - such as "C" or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server.
- the remote computer may be connected to the user's computer through any kind of network - including a local area network (LAN) or a wide area network (WAN) - or may be connected to an external computer (eg, using an Internet service provider to connect).
- LAN local area network
- WAN wide area network
- each block in the flowchart or block diagram may represent a module, program segment, or part of code that contains one or more logic functions for implementing the specified executable instructions.
- the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented with dedicated hardware-based systems that perform the specified functions or operations , or can be implemented using a combination of dedicated hardware and computer instructions.
- the modules involved in the embodiments of the present disclosure may be implemented in a software manner, and may also be implemented in a hardware manner.
- the acquisition module may also be described as "acquiring the first user data and the second user data, and initializing the first user data corresponding to A module of the first time window and the first time information corresponding to the first time window, and the second time window corresponding to the second user data and the second time information corresponding to the second time window".
- the functions described herein above may be performed, at least in part, by one or more hardware logic components.
- exemplary types of hardware logic components include: Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), Systems on Chips (SOCs), Complex Programmable Logical Devices (CPLDs) and more.
- FPGAs Field Programmable Gate Arrays
- ASICs Application Specific Integrated Circuits
- ASSPs Application Specific Standard Products
- SOCs Systems on Chips
- CPLDs Complex Programmable Logical Devices
- a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
- the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
- Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or devices, or Any suitable combination of the above.
- machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), fiber optics, compact disk read only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
- RAM random access memory
- ROM read only memory
- EPROM or flash memory erasable programmable read only memory
- CD-ROM compact disk read only memory
- optical storage devices magnetic storage devices, or any suitable combination of the foregoing.
- Example 1 provides a data processing method, wherein the method includes: acquiring first user data and second user data, and initializing a first user data corresponding to the first user data a time window and first time information corresponding to the first time window, and a second time window corresponding to the second user data and second time information corresponding to the second time window; according to the first user data, determine the first data and the first time information corresponding to the first time window; determine the second data and the second time information corresponding to the second time window according to the second user data; According to the first data and the second data, the alignment data corresponding to the same user in the first user data and the second user data is determined.
- Example 2 provides the method of Example 1, wherein the second data corresponding to the second time window and the second time are determined according to the second user data information, including: in the case that the second time information is less than or equal to the first time information, according to the second user data, determining the second data corresponding to the second time window and the second time window time information.
- Example 3 provides the method of Example 1, wherein the first data corresponding to the first time window and the first time are determined according to the first user data information, including: obtaining data corresponding to a first time window from the first user data according to the current data processing position; determining data time information according to the data corresponding to the first time window; In the case of the first time information, the data time information is determined as the first time information, and the data corresponding to the first time window is added to the first data.
- Example 4 provides the method of Example 3, wherein the first data corresponding to the first time window and the first time are determined according to the first user data information, further comprising: when the data time information is less than or equal to the first time information, and the first time window is less than a preset time window, increasing the first time window according to a preset ratio, and returning to the step of obtaining data corresponding to the first time window from the first user data according to the current data processing position, until the data time information is greater than the first time information.
- Example 5 provides the method of Example 1, wherein the first user data and the second user data are determined according to respective time window data corresponding to the first user data and the second user data.
- Example 6 provides the method of Example 1, wherein the first user data and the second user data are obtained in the following manner, including: in the first user data In the first provider, according to the preset feature verification rule, the to-be-verified feature of the first raw data of the first provider is verified, and the first raw data that has passed the verification is determined as the first raw data.
- Example 7 provides the method of Example 1, wherein the first raw data of the first provider of the first user data and the second provision of the second user data are In the second original data of the user, when the identification information used for data alignment processing is the target type, the first user data and the second user data are obtained in the following ways, including: in the first user In the first provider of data, based on the first key, offline encryption and hash processing is performed on the identification information of the first original data to obtain the first user data; provider, based on the second key and noise information Perform noise processing on the identification information of the second original data to obtain noise-added data, and send the noise-added data to the first provider, and upon receiving the first provider based on the first provider After the encrypted data is obtained by encrypting the noise-a
- Example 8 provides a data processing apparatus, wherein the apparatus includes: an acquisition module configured to acquire first user data and second user data, and initialize the first user data the first time window corresponding to the user data and the first time information corresponding to the first time window, and the second time window corresponding to the second user data and the second time information corresponding to the second time window; a determining module, configured to determine, according to the first user data, the first data corresponding to the first time window and the first time information; a second determining module, configured to determine, according to the second user data, the second data corresponding to the second time window and the second time information; and a third determination module, configured to determine the first user data and the first user data and the first user data according to the first data and the second data Alignment data corresponding to the same user in the two user data.
- an acquisition module configured to acquire first user data and second user data, and initialize the first user data the first time window corresponding to the user data and the first time information corresponding to the first time window, and the second time window corresponding to
- Example 9 provides a computer-readable medium on which a computer program is stored, wherein, when the program is executed by a processing apparatus, the data processing described in any of Examples 1-7 is implemented steps of the method.
- Example 10 provides an electronic device, The method includes: a storage device, on which a computer program is stored; and a processing device, configured to execute the computer program in the storage device, so as to implement the steps of any of the data processing methods in Example 1-Example 7.
- the above description is merely a preferred embodiment of the present disclosure and an illustration of the technical principles employed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Fuzzy Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种数据处理方法、装置、介质及电子设备,所述方法包括:获取第一用户数据和第二用户数据,并初始化所述第一用户数据对应的第一时间窗和所述第一时间窗对应的第一时间信息,以及所述第二用户数据对应的第二时间窗和所述第二时间窗对应的第二时间信息;根据所述第一用户数据,确定所述第一时间窗对应的第一数据以及所述第一时间信息;根据所述第二用户数据,确定所述第二时间窗对应的第二数据以及所述第二时间信息;根据所述第一数据和所述第二数据,确定所述第一用户数据和所述第二用户数据中对应于同一用户的对齐数据。由此,可以提高数据对齐处理的效率和准确性,为获得准确的联邦学习的样本数据提供保证。
Description
数 据处理方 法、 装置、 介质及电子 设备 相关 申请的交 叉引用 本 申请是以 中国申请号 为 202011308389.8, 申请日为 2020年 11 月 19 日的申请为基础 , 并主张其优先权 , 该中国申请的公 开内容在 此作 为整体 引入本申 请中。 技术领 域 本公 开涉及计 算机技 术领域, 具体地, 涉及一种数据处 理方法 、 装置 、 介质及电子设备 。 背景 技术 随着 人工智 能技术的 发展, 机器学习取得 越来越广 泛的应用 。近 年来 , 为了保护数据安全 和解决 数据孤 岛的问题, 相关的方式 通常采 用联 合训练 模型来 实现在不 暴露原 始数据 的前提 下完成 机器学 习模 型的 共同训练 。在纵向联 邦学习 的场景下 , 一个关键问题就是如 何把 联邦 学习的双 方的特 征拼接成 一个完 整的样本 , 提供给训练器 使用。 相关 技术中,通常 需要联 邦学习的 双方通过 比较稳定 的 DFS (分 布式 文件系 统) 或者是 OSS (对象存储系统), 以及关系型数据库 以 存储 状态, 从而进行数据 对齐。而进 行联邦学 习的双方 会把己 方的数 据不 定时的生 成出来 ,并且不断地 加入到联 邦学习系 统中用于 确定对
应于 同一用户 的数据 ,上述过程在确 定批量 生成的用 户数据 的效率较 低 。 发明 内容 提供 该发明 内容部分 以便以简 要的形式 介绍构思 ,这些构思将 在 后面 的具体 实施方式 部分被详 细描述 。该发明内容部 分并不 旨在标识 要求 保护的技 术方案 的关键特征 或必要 特征,也不 旨在用于 限制所要 求的 保护的技 术方案 的范围。 第一 方面, 本公开提 供一种数 据处理方 法, 所述方法包 括: 获取 第一用户 数据和第 二用户 数据,并初始化 所述第 一用户数 据 对应 的第一时 间窗和所 述第一 时间窗对应 的第一 时间信息 ,以及所述 第二 用户数 据对应 的第二 时间窗和 所述第 二时间 窗对应 的第二 时间 信息 ; 根据 所述第一 用户数 据,确定所述第 一时间 窗对应的第 一数据 以 及所 述第一 时间信息 ; 根据 所述第二 用户数 据,确定所述第 二时间 窗对应的第 二数据 以 及所 述第二 时间信息 ; 根据 所述第一 数据和 所述第二 数据,确定所 述第一用 户数据 和所 述第 二用户数 据中对应 于同一 用户的对 齐数据 。 第二 方面, 提供一种 数据处理 装置, 所述装置 包括: 获取 模块, 用于获取第一 用户数据 和第二 用户数据 , 并初始化所 述第 一用户 数据对 应的第 一时间窗 和所述 第一时 间窗对应 的第一 时
间信 息,以及所述 第二用户 数据对应 的第二 时间窗和 所述第二 时间窗 对应 的第二时 间信息 ; 第一 确定模块 , 用于根据所述第 一用户数 据, 确定所述第一 时间 窗对 应的第一 数据以及 所述第 一时间信 息; 第二 确定模块 , 用于根据所述第 二用户数 据, 确定所述第二 时间 窗对 应的第二 数据以及 所述第 二时间信 息; 第三 确定模块 , 用于根据所述第 一数据和 所述第 二数据, 确定所 述第 一用户数 据和所 述第二 用户数据 中对应于 同一用 户的对齐 数据。 第三 方面, 提供一种 计算机可 读介质 , 其上存储有计算 机程序, 该程 序被处理 装置执行 时实现第 一方面所 述数据 处理方法 的步骤 。 第四 方面, 提供一种 电子设备 , 包括: 存储 装置, 其上存储有 计算机程 序; 处理 装置, 用于执行所述 存储装置 中的所 述计算机 程序, 以实现 第一 方面所述 数据处 理方法 的步骤。 在上 述技术方 案中, 获取第一用 户数据和 第二用户 数据, 并初始 化所 述第一 用户数 据对应 的第一 时间窗和 所述第 一时间 窗对应 的第 一时 间信息 ,以及所述第二 用户数据 对应的第 二时间 窗和所述 第二时 间窗 对应的第 二时间信 息, 从而可以根据 所述第一 用户数据 , 确定所 述第 一时间窗 对应的第 一数据 以及所述 第一时 间信息,并根据 所述第 二用 户数据 ,确定所述第二 时间窗对 应的第二 数据以 及所述第 二时间 信息 , 之后则根据所述第 一数据 和所述第 二数据 , 确定所述第一用户 数据 和所述第 二用户 数据中对 应于同一 用户的对 齐数据 。 由此, 通过
上述 技术方案 , 可以在联邦学习 的双方不 定时生成 样本数据 时, 通过 时间 窗的方式 对生成 的样本数据 进行局 部对齐,从而可 以提高 数据处 理的 效率, 并且可以保 证流式数 据处理 的准确度 。 同时, 该方法可以 应用 于批量生 成的用 户数据中 的数据对 齐处理 ,可以在提高数 据处理 效率 的同时 , 拓宽数据处理方法 的使用范 围, 为获得准确的联 邦学习 的样 本数据提 供保证 , 提升用户使用体 验。 本公 开的其 他特征 和优点 将在随 后的具体 实施方 式部分 予以详 细说 明。 附图说 明 结合 附图并参 考以下具 体实施 方式,本公开各 实施例 的上述和 其 他特 征、 优点及方面将 变得更加 明显。 贯穿附图中 , 相同或相似的附 图标 记表示相 同或相似 的元素 。应当理解 附图是示 意性的 , 原件和元 素不 一定按 照比例绘 制。 在附图中: 图 1是一种构建 联邦学习 模型的示 意图; 图 2 是根据本公 开的一种 实施方 式提供 的数据处 理方法 的流程 图。 图 3是根据本公 开的一种 实施方式 提供的根 据第一 用户数据 ,确 定第 一时间 窗对应 的第一数 据以及 第一时 间信息 的示例 性实现 方式 的流 程图。 图 4是根据本 公开的一 种实施方 式提供 的数据处 理装置 的框图。 图 5 是示出了适 于用来 实现本公 开实施例 的电子 设备的结 构示
意 图。 具体 实施方式 下面 将参照 附图更详细 地描述 本公开的 实施例 。虽然附图中显示 了本 公开的某 些实施例 , 然而应当理解的 是, 本公开可以通过 各种形 式来 实现, 而且不应该被 解释为限 于这里 阐述的实施 例, 相反提供这 些实 施例是为 了更加透 彻和完 整地理解 本公开 。应当理解 的是, 本公 开的 附图及实 施例仅用 于示例性 作用,并非 用于限制 本公开 的保护范 围。 应当 理解,本公开 的方法实 施方式 中记载的各 个步骤可 以按照 不 同的 顺序执行 , 和 /或并行执行。此外,方法实施方式 可以包括 附加的 步骤 和 /或省略执行示出的 步骤。 本公开的范 围在此 方面不受 限制。 本文 使用的术 语 “包括”及 其变形是 开放性 包括, 即 “包括但不 限于” 。 术语 “基于” 是 “至少部分地 基于” 。 术语 “一个实施例” 表示 “至少一个 实施例” ;术语 “另一实施 例” 表示 “至少一个另 外 的实 施例” ; 术语 “一些实施例” 表示 “至少一些实 施例” 。其他术 语的 相关定义 将在下文 描述中 给出。 需要 注意, 本公开中提及 的 “第一” 、 “第二”等概念 仅用于对 不 同的装置 、 模块或单元进行区 分, 并非用于限定 这些装置 、 模块或 单元 所执行 的功能的顺 序或者 相互依存 关系。 需要 注意, 本公开中 提及的 “一个” 、 “多个” 的修饰是示意 性 而非 限制性 的, 本领域技术人员应 当理解 , 除非在上下文另有 明确指
出, 否则应该理解为 “一个或多个” 。 本公 开实施 方式中 的多个 装置之 间所交互 的消 息或者信 息的名 称仅 用于说 明性的 目的,而并不是用 于对这 些消息或 信息的范 围进行 限制 。 如背 景技术 中所述, 在纵向联邦学 习的场景 下, 一个关键问题就 是如 何把联邦 学习的双 方的特 征拼接成 一个完 整的样本 ,提供给训练 器使 用。在纵 向联邦学 习中, 参与训练的两个 数据集 的用户重 叠较多 而用 户特征重 叠较少 , 需要将数据集 按照纵 向 (即特征维度) 切分, 并取 出双方 用户相 同而用 户特征 不完全 相同的那 部分 数据生成 训练 样本 以进行联 邦训练。在纵 向联邦训练 中联邦 学习的参 与方的数 据通 常为 流式数据 , 流式数据一般是 指由共 同在线流 量产生的 数据, 例如 在广 告场景下 , 用户点击一次广 告, 可以在媒体平 台和广告 主两侧各 自产 生一条数 据记录 。 在该上述两个参 与方 A和 B参与联邦 训练, 需要 根据这两 条数据 记录对齐并 生成一 条样本,则首先 需要确 定出上 述两 个参与方 中对应 于同一个 用户的数 据记录 , 从而确定样本。如图 1 所示, 参与方 A和 参与方 B可 以分别上传 其各自 的数据记 录至对 应的 数据存储 目录,各参与 方数据进 一步存储 至对应 的数据处 理模块, 从而 进入联邦 学习框架 。经由数据处 理模块进 行数据 处理后的 数据进 行数 据对齐 ,以使参与双方 交换用于 进行数 据对齐的 标识信息 确定参 与双 方的数 据中对应 于同一用 户的数 据, 之后则可以 生成训练 样本, 在每 一参与方 侧基于 训练样本进 行联邦模 型的训 练,通过各参 与方的 联合 训练获得 目标联邦 学习模型 。
然而 , 在流式数据的场景 下, 因为生成的数 据记录在 每一参与 方 中存 储的时 间、 数据存储可靠性 无法确保 一致, 因此, 参与方中可能 会 出现数据记 录缺失和 数据记录 存储顺序 不一致 的问题, 并且, 进行 联邦 学习的双 方会把 己方的数 据不定时 的生成 出来,并且不 断地加入 到联 邦学习系 统中进行 数据对齐 ,相关技术中 针对上述 数据进行 数据 对齐 的效率较 低。 基于此, 本公开提供 以下实施 例。 图 2所示,为根据本公 开的一种 实施方 式提供的 数据处理 方法的 流程 图。 如图 2所示, 所述方法 包括: 在步 骤 11 中, 获取第一用户数据和第二 用户数据 , 并初始化第 一用 户数据对 应的第一 时间窗和 第一时 间窗对应 的第一时 间信息,以 及第 二用户 数据对 应的第 二时间窗 和第二 时间窗 对应的第 二时 间信 息 。 其中 ,第一用户数 据和第二 用户数据 分别为联 邦学习 中参与学 习 的双 方的数据 。示例地 , 本公开实施例中联 邦学习双 方为需要 进行流 式处 理数据 的双方, 由此, 在本公开中实施例中, 可以基于 时间窗的 局部 有序数据 进行对齐 , 从而可以进行批 量数据 的对齐处理 。第一时 间窗 和第二时 间窗的初 始化长度 可以相 同,其可以根 据实际使 用场景 进行 设置, 本公开对此不 进行限定 。第一时 间信息用 于表示该 第一时 间窗 中的整体 数据对应 的时间 ,第二时间信息 用于第 二时间窗 中的整 体数 据对应 的时间。作为 示例, 该第一时间信 息和第二 时间信 息可以 初始 化为零 。 应当 明白, 这里的 “双方 ”仅是为了方便 理解的 描述, 联邦学习
可 以扩展至包 括更多 方的场景 。 在步 骤 12中, 根据第一用户数 据, 确定第一时 间窗对应的 第一 数据 以及第 一时间信 息。在该步 骤中, 从第一用户数 据中读取 第一时 间窗 对应的数 据, 从而可以根 据该数据 确定对应 的第一 时间信息 。 在步 骤 13中, 根据第二用户数 据, 确定第二时 间窗对应的 第二 数据 以及第 二时间信 息。 同样, 在该步骤中, 可以从第二用户 数据中 读取 第二时 间窗对应的 数据,从而可 以根据该 数据确 定对应的 第二时 间信 息。 在步 骤 14中, 根据第一数据和 第二数据 , 确定第一用户 数据和 第二 用户数据 中对应于 同一用 户的对齐数 据。 其中 , 在该步骤中确定 出第一数 据和第二 数据之后 , 便可以根据 第一 数据和第 二数据 中的标识 信息进行 数据对齐 ,该标识信息 用于对 唯一 表示一条 数据记 录,例如该标识 信息可 以为该第 一数据和 第二数 据 中的数据记 录对应 的相同主键 。示例地 , 针对第一数据中的 每一数 据的 标识信息 , 确定该标识信息 是否存在 第二数据 中, 若存在, 则表 示该 标识信息 在第一数 据中对应 的数据 ,与该标识信息 在第二 数据中 对应 的数据为 对应于同 一用户 的数据。此时 , 可以将该数据分 别提取 出来 , 从而可以将该对齐 数据进行 拼接, 以获得用于 进行纵向 联邦学 习的 训练数据 。 在上 述技术方 案中, 获取第一用 户数据和 第二用户 数据, 并初始 化所 述第一 用户数 据对应 的第一 时间窗和 所述第 一时间 窗对应 的第 一时 间信息 ,以及所述第二 用户数据 对应的第 二时间 窗和所述 第二时
间窗 对应的第 二时间信 息, 从而可以根据 所述第一 用户数据 , 确定所 述第 一时间窗 对应的第 一数据 以及所述 第一时 间信息,并根据 所述第 二用 户数据 ,确定所述第二 时间窗对 应的第二 数据以 及所述第 二时间 信息 , 之后则根据所述第 一数据 和所述第 二数据 , 确定所述第一用户 数据 和所述第 二用户 数据中对 应于同一 用户的对 齐数据 。 由此, 通过 上述 技术方案 , 可以在联邦学习 的双方不 定时生成 样本数据 时, 通过 时间 窗的方式 对生成 的样本数据 进行局 部对齐,从而可 以提高 数据处 理的 效率, 并且可以保 证流式数 据处理 的准确度 。 同时, 该方法可以 应用 于批量生 成的用 户数据中 的数据对 齐处理 ,可以在提高数 据处理 效率 的同时 , 拓宽数据处理方法 的使用范 围, 为获得准确的联 邦学习 的样 本数据提 供保证 , 提升用户使用体 验。 在一 种可能 的实施例 中, 所述根据第二用 户数据 , 确定第二时间 窗对 应的第二 数据以及 第二时 间信息的 示例性实 现方式如 下,该步骤 可 以包括: 在所 述第二 时间信息小 于或等 于第一时 间信息 的情况下 ,根据所 述第 二用户数 据,确定所述 第二时 间窗对应 的第二数 据以及所 述第二 时间 信息。 其中 , 在进行流式数据 处理时, 用户数据通 常是局 部有序的 , 因 此进 行数据对 齐的通信 双方的 时间信息 通常也是 对齐的 , 因此, 在该 实施 例中, 若第二时间信 息大于第 一时间 信息, 则在之后确定 出的第 二时 间窗中 的数据其 时间信息通 常是晚 于该第二 时间信息 的,此时对 应于 第一时 间信息的第 一时间 窗的中整 体数据对 应的时间 较早,与之
后确 定出的第 二时间 窗中的数 据进行匹 配的可 能性较小 , 因此, 在本 公开 中实施例 中,可以在第 二时间信 息小于 或等于第 一时间信 息的情 况下 , 对当前通信双方 的时间窗 内的数据 进行对齐 处理, 既可以提高 确定 出的第 一数据和 第二数据 中的数 据的匹配 可能性 ,又可以避免进 行不 必要的数 据匹配 的过程 , 进一步提高数据 处理的效 率。 在一 种可能 的实施例 中, 根据第一用户数 据, 确定第一时间窗 对 应的 第一数据 以及第 一时间信 息的示 例性实现 方式如 下, 如图 3 所 示, 该步骤可以包括 : 在步 骤 21 中, 根据当前数据处 理位置, 从第一用户数据 中获取 第一 时间窗对 应的数据 , 其中, 当前数据处理位置初 始为第一 用户数 据 中的起始位 置,可以按 照该第一 时间窗的 长度从第 一用户数 据的队 列 中读取相应 的数据 , 之后则可以根据数 据读取 的进度, 更新该当前 数据 处理位置 ,即用于记录 第一用户 数据中 待读取的 数据的起 始位置 。 在步 骤 22中, 根据第一 时间窗对应 的数据确 定数据 时间信息 。 其中 , 可以将该第一 时间窗内 中第 M个 数据的时 间戳信息 作为 该数 据时间信 息。 示例地, 可以预先指 定该 M 的取值, 也可以根 据 该第 一时间窗 的长度确 定 M 的取值 , 例如可以设置 M为第一 时间窗 内排 序 P的数 据的位置 , 例如, P为 10%, 则在第一时 间窗的长度 为 100个 数据时 , M即为 10, 即将第 10个数据 的时间戳 信息确 定为该 第一 时间信息 。 在第一时间窗 的长度为 200个数据 时, M 即为 20, 即将 第 20个数据 的时间戳 信息作 为该第一 时间信息 。 在步 骤 23中, 在数据时间信息大 于第一 时间信息 的情况下 , 将
数据 时间信息 确定为第 一时间信 息,并将第一 时间窗对 应的数据 添加 至第 一数据 中。 其中 , 该数据时间信息大 于第一 时间信息 , 即在读取该第一时 间 窗对 应的数据 中, 该部分数据对应 的时间整 体后移 , 即该第一时间窗 中的 数据为局 部有序 的,此时可以将 确定 出的该部分 数据添 加至第一 数据 中, 即作为该第一数 据, 并获得用户表 征该局部 有序的第 一时间 窗 中的数据对 应的第 一时间信 息。 由此, 通过上述技术方案 , 可以通 过数 据读取过 程中的数 据时间信 息和第 一时间信 息的比较 ,确定出局 部有 效的第 一数据, 为后续进行数据对 齐提供准 确的数 据支持 。 在一 种可能 的实施例 中, 所述根据所述第 一用户数 据, 确定所述 第一 时间窗 对应的第 一数据 以及所 述第一 时间信 息的示 例性实 现方 式如 下, 该步骤还可 以包括: 在所 述数据 时间信息小 于或等 于所述第 一时间信 息,且所述第 一 时间 窗小于预 设时间窗 的情况下 ,按照预设比 例增大所 述第一 时间窗, 并返 回所述根 据当前 数据处理 位置,从所述 第一用 户数据中 获取第一 时间 窗对应的 数据的步 骤,直至所述 数据时 间信息大 于所述第 一时间 信息 。 其中 , 该预设时间窗的长度 可以根 据实际使 用场景进 行设置, 本 公开 对此不进 行限定 。在该实施例 中, 在所述数据时 间信息小 于或等 于所 述第一 时间信息 时,表示此时从 第一用 户数据中 新读取 了部分数 据, 但是第一时 间窗中 的数据对应 的第一 时间信息 并未后移 , 则表示 此时 第一时 间窗内的数 据并非 局部有序 的。 因此, 可以增大该第一时
间窗 的长度 , 即可以从第一用户 数据中再 读取部分 数据, 从而在一定 程度 上保证第 一时间窗 中的数 据为局部 有序数据 。示例地 , 该预设比 例可 以按照 实际使用场 景进行 设置, 示例地该预 设比例可 以为 2, 从 而可 以返回所 述根据 当前数据 处理位置 ,从所述第 一用户数 据中获取 第一 时间窗对 应的数据 的步骤 ,以从第一用户 数据中 获得更多 的数据, 以进 一步确定 出第一 数据。 由此 , 通过上述技术方案 , 可以通过增大第 一时间窗 的方式从 第 一用 户数据 中获得更 多的数据 ,以在一定程 度上保证 确定出 的数据的 有序 性,从而可 以通过数据 读取过程 中的数 据时间信 息和第一 时间信 息的 比较, 确定出局部 有效的第 一数据 , 为后续进行数据对齐 提供准 确的 数据支持 , 提高数据处理 的效率 。 同样 地, 根据所述第二用 户数据 ,确定所述 第二时间 窗对应的 第 二数 据以及 所述第 二时间 信息的 示例性 实现方式 与上文 所述 的根据 所述 第一用户 数据,确定所 述第一 时间窗对应 的第一 数据以及 所述第 一时 间信息 的具体实现 方式相 同, 在此不再赘述 。 在一 种可能 的实施例 中,在根据第一 用户数据 和第二 用户数据 各 自对 应的时间 窗数据 ,确定第一用户 数据和第 二用户 数据中对 应于同 一用 户的对齐 数据之后 , 所述方法还可 以包括 : 存储 所述第 二数据 中的时 间戳信 息大于所 述第一 时间信 息的数 据, 并返回所述 根据所 述第一用 户数据 , 确定所述第一时间 窗对应的 第一 数据以及 所述第 一时间信 息的步骤 ,直至所述第 一用户数 据或第 二用 户数据 中的数据 均被处理 。
其 中, 在第二数据 中的时间戳 信息大 于第一时 间信息 中的数据 , 其可 能和第 一用户数 据中的下 一时间窗 中的数据 进行匹 配, 因此, 在 该实施 例中 , 可以存储该部分第二 数据, 从而使得在 重新确 定出的第 二用 户数据 的下一时 间窗数据 中可以包 含该部分 数据,从而可 以保证 对应 于同一 用户的 数据被 划分到不 同的 时间窗数 据时进 行数据 对齐 的准 确性, 从而在保证 数据对齐 数据的效 率的同 时, 保证数据处理的 准确 性, 从而可以为联邦 学习提 供更多更 全面的训 练数据 , 进而提高 联邦 学习的模 型的建模 效率。 在实 际使用场 景中,在进行业 务处理 的过程中 生成的数 据并非全 部为 进行联邦 学习的有 效数据 , 因此, 本公开还提供以 下实施例 。 在一 种可能 的实施例 中,所述第一用 户数据和 所述第 二用户数 据 通过 以下方式 获得, 包括: 在所 述第一用 户数据 的第一提 供方中 , 根据预设特征 校验规则 , 对所 述第一提 供方的 第一原始 数据的待 校验特 征进行校 验,将通过校 验的 第一原始 数据确 定为所述 第一用户 数据。 在所 述第二用 户数据 的第二提 供方中 , 根据预设特征 校验规则 , 对所 述第二提 供方的 第二原始 数据的待 校验特 征进行校 验,将通过校 验的 第二原始 数据确 定为所述 第二用户 数据。 其中 ,第一原始数 据和第二 原始数 据即表示 进行联邦 学习的双 方, 即第 一提供方 和第二 提供方实 际生产的 样本数据 。 其中 , 该预设特征校验规 则可以根 据实际使 用场景进 行设置 。示 例地 , 设置的一种特征 校验规 则如下:
feature ( name: "age" value count ( min: 1 max: 1
} type: INT int domain ( min: 0 max: 200
}
} 该特 征校验规 则表示原 始数据 中必须有 1个名称为 age的 feature, 其数 据类型是 INT, 其对应的值域 范围是[0, 200]。如果用户上传的某 些原 始数据 中没有这 个 age特征, 或者其类型 不是 INT, 或者其取值 在 0〜 200之外, 则该原始数据未通过校验, 会被过滤掉 , 如果一原始 数据 中包含 该名称为 age 的特征, 且数据类 型为 INT, 且其取值在 0〜 200之内, 则表示该原始数据 通过校验 。 需要进行说明 的是, 上述 仅为 示例性说 明, 不对本公开进 行限定 。 由此 , 通过上述技术方案 , 可以数据提供方 的原始数 据进行特 征 校验 , 从而可以基于原 始数据 中的特征对 原始特 征进行初 步过滤, 从 而可 以有效提 高后续 确定出 的对齐数据 的有效性 和准确 性,同时可以
避免 对此类数 据进行数 据对齐所 导致的 资源浪费 ,从而可以进 一步提 高数 据处理 的效率。 在一 些实施例 中, 为了进一步提高 数据处 理的消息 , 可以根据原 始数 据的标识 信息对原 始数据 进行分区 处理,从而可 以针对每 一分区 中的 数据进行 并发处理 ,同时也可 以将分区 中的数据 按照时 间戳信息 进行 初步排序 , 从而可以保证该 分区中数 据的有序 性, 从而提高数据 处理 的并发性 和处理效 率。 在实 际使用场 景中, 如上文所述 , 标识信息可以用于 唯一表示 一 条数 据记录 , 从而可以基于标识信 息一致 , 确定出参与方的数 据中对 应于 同一用户 的数据 。然而在联邦 学习的 应用场景 中, 为了保护用户 数据 隐私,原始数 据中的部 分标识信 息不能 直接用于 交换以进 行数据 对齐 , 例如, 标识信息为用户身份 信息、 用户标识信 息等, 该部分标 识信 息通常不 能直接 进行交换 。 基于此, 本公开还提 供以下实 施例。 在一 种可能 的实施例 中,在所述第一 用户数据 的第一 提供方 的第 一原 始数据和 所述第 二用户数 据的第二 提供方 的第二原 始数据 中,用 于进 行数据对 齐处理 的标识信息 为目标类 型的情况 下,所述第 一用户 数据 和所述第 二用户 数据通过 以下方式 获得, 包括: 在所 述第一用 户数据 的第一提 供方中 , 基于第一密钥, 对所述第 一原 始数据 的标识信 息进行离 线加密散 列处理 ,以获得所述第 一用户 数据 ; 在所 述第二用 户数据 的第二提 供方中 ,基于第二密钥 和噪声 信息 对所 述第二原 始数据 的标识信 息进行加 噪处理 , 获得加噪数据, 并将
所述 加噪数据 发送至 所述第一 提供方 ,并在接收到 所述第一 提供方基 于所 述第一密 钥对所述 加噪数 据进行加 密获得 的加密数 据后,根据所 述噪 声信息对 所述加 密数据进 行去噪处 理,将去噪处 理后所得 的数据 进行 散列处理 , 以获得所述第二 用户数据 , 其中, 所述第一密钥和所 述第 二密钥与 非对称加 密的公 钥和私钥 一一对应 。 其中 ,该目标类型可 以是用 户预先设置 的不能 直接用于 交换的 标 识信 息的类型 , 从而可以有效保 护数据 隐私。 示例地, 可以基于以下 加密 方式分 别对所 述第一 原始数 据的标识 信息和 所述第 二原始 数据 的标 识信息进 行离线加 密处理 。 示例 地, 可以将第一用户 数据的第 一提供 方作为 Leader, 其可以 拥有 RSA 私钥, 将第二用户数据 的第二提 供方作为 Follower, 其拥 有 RSA公钥 ,用于进行数 据对齐的 标识信息 为主键 ido其中,该 RSA 私钥 和公钥可 以由 Leader生成, 其中, 私钥为 d, 公钥为 (e,N), 则 其具 有以下数 学性质 : 对任 意与 N 互质的 n, 都有 *%N = n%N 对于 Leader和 Follower而言, 在 Leader端: 首先 可以把主 键明文 id用 sha256哈希到成一个 数字 X” 以便于 后续 计算处理 ; 之后 , 对所述第一原 始数据 的标识信 息进行离 线加密散 列处理, 即通 过 Leader的私钥计 算出 X:%N , 对主键明文 id进行签名, 并 通过 Hash: Hash(X} d%N) , 将签名之后 的结果 Hash到一个 空间, 以进 行散列处 理, 从而获得可以 用于交换 的加密主 键, 以获得该第一
用户 数据, 其中该第一 用户数据 至少包含 该加密主 键, 例如还可以包 含其 他可以 交换的数 据。 在 Follower端: 把主 键明文 id用 sha256哈希到成一个数 字 Xf; 基于 第二密 钥和噪 声信息 对所述 第二原 始数据 的标识信 息进行 加噪 处理,获得加 噪数据,并将所 述加噪数 据发送至 所述第 一提供方, 示例 地, 可以通过 Xf生成 一个随机 噪声 r, 以作为所述噪声信息 。之 后基 于该噪 声信息对 第二原始 数据的标 识信息进 行加盐 处理,并且利 用公 钥, 计算得到加 噪数据 K, 并将加噪数 据 K发 送给 Leader端:
K =(Af * /)%N; 之后 , Leader端由于没有 噪声信 息的值, 所以无法 反推出 Xf。
Leader端 根据公钥 和私钥计 算以下加 密数据 Q, 并将加密数据 Q发 送至 Follower端:
Q = [xf ^ re^ %N = [xfd * r»%N = 3 *尸)%州;
Follower端接收 到加密数 据 Q,艮 P {^Xfd *尸)%7V ,从而可以根据 其噪 声信息 r,计算出 Xfd%N , 以进行解盐处理 ;之后,通过 Hash: Hash^Xfd%N ), 将解盐之后 的结果 Hash到一个空 间以进行 散列处 理 , 获得用于交换的 加密主键 , 以获得第二用 户数据。 由此 , 通过上述过程 , 对于同一个主键 id的话, 在 Follower端 和 Leader端最后都会 hash到同一个值。 Follower交互的主键 id也是 加盐 处理之后 的, Leader无法反推出 主键。 由此 , 通过上述技术方案 , 可以对无法直接 用于交换 的标识信 息
进行 加密处理 , 既可以保证基于 标识信息进 行数据 对齐的准 确性, 又 可 以保证数据 隐私, 提升用户使 用体验 。 同时, 在上述过程中, 可以 通过 离线的方 式进行预 处理,从而也 可以进一 步提高 数据处理 的效率 。 另外 , 在上述过程中, 可以采用不 同的随 机噪声 当成盐, 进一步增加 了数 据安全性 。 在一 种可能 的实施例 中,第一提供方 和第二 提供方也 可以先根 据 上文 所述的特 征校验 过程分别 对其各 自的数据进 行检验 ,并根据通过 检验 后的数据 执行上述 加密的 过程,从而既 可以保证 第一用户 数据和 第二 用户数据 的准确 性,同时可以保 证第一 用户数据 和第二用 户数据 的数 据隐私性 , 进一步提升用 户使用体 验。 本公 开还提供 一种数据 处理装置 , 如图 4所示, 所述装置 10包 括: 获取 模块 100, 用于获取第一用户数 据和第 二用户数 据, 并初始 化所 述第一 用户数 据对应 的第一 时间窗和 所述第 一时间 窗对应 的第 一时 间信息 ,以及所述第二 用户数据 对应的第 二时间 窗和所述 第二时 间窗 对应的第 二时间信 息; 第一 确定模块 200, 用于根据所述 第一用户 数据, 确定所述 第一 时间 窗对应的 第一数据 以及所述 第一时 间信息; 第二 确定模块 300, 用于根据所述 第二用户 数据, 确定所述 第二 时间 窗对应的 第二数据 以及所述 第二时 间信息; 第三 确定模块 400, 用于根据所述 第一数据 和所述 第二数据 , 确 定所 述第一 用户数 据和所 述第一 用户数 据中对应 于同一 用户的 对齐
数据 。 在一 些实施例 中, 所述第二确 定模块用 于: 在所 述第二 时间信息小 于或等 于第一时 间信息 的情况下 ,根据所 述第 二用户数 据,确定所述 第二时 间窗对应 的第二数 据以及所 述第二 时间 信息。 在一 些实施例 中, 所述第一确 定模块包 括: 第一 获取子模 块, 用于根据当前 数据处理 位置, 从所述第一用 户 数据 中获取第 一时间窗 对应的数 据; 第一 确定子模 块,用于根据 所述第 一时间窗对 应的数 据确定数 据 时间 信息; 第二 确定子模 块,用于在所 述数据 时间信息大 于所述 第一时 间信 息的 情况下 , 将所述数据时间信 息确定为 所述第一 时间信 息, 并将所 述第 一时间窗 中的数据 添加至 所述第一 数据中 。 在一 些实施例 中, 所述第一确 定模块还 包括: 处理 子模块,用于在 所述数 据时间信 息小于或 等于所 述第一时 间 信息 , 且所述第一时间 窗小于预 设时间窗 的情况下 , 按照预设比例增 大所 述第一 时间窗 ,并触发所 述第一获 取子模块 根据当 前数据处 理位 置, 从所述第一 用户数 据中获取 第一时间 窗对应的 数据, 直至所述数 据时 间信息大 于所述第 一时间信 息。 在一 些实施例 中, 所述装置还 包括: 存储 模块,用于在所 述第三 确定模块 根据所述 第一用 户数据和 第 二用 户数据各 自对应 的时间窗数 据,确定所述 第一用 户数据和 所述第
二用 户数据 中对应 于同一 用户的对 齐数据 之后存 储所述 第二数 据中 的时 间戳信息 大于所述 第一时 间信息的 数据,并触发 所述第一 确定模 块根 据所述第 一用户数 据,确定所述 第一时 间窗对应 的第一数 据以及 所述 第一时 间信息,直至所 述第一用 户数据 或第二用 户数据 中的数据 均被 处理。 在一 些实施例 中,所述第一 用户数据 和所述 第二用户 数据通过 以 下方 式获得 , 包括: 在所 述第一用 户数据 的第一提 供方中 , 根据预设特征 校验规则, 对所 述第一提 供方的 第一原始 数据的待 校验特 征进行校 验,将通过校 验的 第一原始 数据确 定为所述 第一用户 数据; 在所 述第二用 户数据 的第二提 供方中 , 根据预设特征 校验规则 , 对所 述第二提 供方的 第二原始 数据的待 校验特 征进行校 验,将通过校 验的 第二原始 数据确 定为所述 第二用户 数据。 在一 些实施例 中,在所述第 一用户数 据的第 一提供方 的第一 原始 数据 和所述第 二用户 数据的第 二提供方 的第二 原始数据 中,用于进行 数据 对齐处理 的标识信 息为目标 类型的情 况下,所述第 一用户数 据和 所述 第二用户 数据通 过以下方 式获得, 包括: 在所 述第一用 户数据 的第一提 供方中 , 基于第一密钥, 对所述第 一原 始数据 的标识信 息进行离 线加密散 列处理 ,以获得所述第 一用户 数据 ; 在所 述第二用 户数据 的第二提 供方中 ,基于第二密钥 和噪声 信息 对所 述第二原 始数据 的标识信 息进行加 噪处理 , 获得加噪数据, 并将
所述 加噪数 据发送至 所述第一 提供方 ,并在接收到 所述第一 提供方基 于所 述第一 密钥对所 述加噪数 据进行加 密获得 的加密数 据后,根据所 述噪 声信息 对所述加 密数据进 行去噪 处理,将去噪处 理后所 得的数据 进行 散列处理 , 以获得所述第二 用户数据 , 其中, 所述第一密钥和所 述第 二密钥 与非对称 加密的公 钥和私钥 一一对应 。 下面 参考图 5, 其示出了适于用 来实现本 公开实施 例的电子 设备 600 的结构示 意图。 本公开实施 例中的终 端设备可 以包括但 不限于 诸 如移 动电话 、笔记本电脑 、数字广播接 收器、 PDA (个人数字助理 )、 PAD (平板电脑)、 PMP(便携式 多媒体播 放器)、 车载终端 (例如车 载导 航终端 ) 等等的移动终端 以及诸如 数字 TV、 台式计算机等等 的 固定 终端。 图 5示出的电子 设备仅仅 是一个示 例, 不应对本公开实 施 例 的功能和 使用范围 带来任何 限制。 如 图 5所示 , 电子设备 600可以包括 处理装置 (例如中央处理 器 、 图形处理器等) 601 , 其可以根据存储在只读存 储器 (ROM ) 602 中 的程序或 者从存储 装置 608加载到随机访 问存储器 (RAM ) 603中 的程 序而执行 各种适 当的动作 和处理 。 在 RAM 603中, 还存储有电 子设 备 600操作所 需的各种 程序和 数据。处理 装置 601、 ROM 602以 及 RAM 603通过总线 604彼此相连。输入 /输出(I/O)接口 605也连 接至 总线 604。 通常 , 以下装置可 以连接至 I/O接口 605: 包括例如触摸屏、 触 摸板 、 键盘、 鼠标、 摄像头、 麦克风、 加速度计、 陀螺仪等的输入装 置 606; 包括例如液晶显示器 (LCD)、扬声器、振 动器等的 输出装置
607; 包括例如磁 带、 硬盘等的存储装 置 608; 以及通信装置 609。 通 信装 置 609可以允许 电子设备 600与其 他设备进 行无线或 有线通信 以交 换数据 。 虽然图 5示出了具有 各种装置 的电子 设备 600, 但是应 理解 的是, 并不要求实施 或具备 所有示 出的装置 。可以替代 地实施或 具备 更多或更 少的装 置。 特别 地, 根据本公开的实 施例, 上文参考流程 图描述 的过程可 以 被实 现为计算 机软件程 序。例如 , 本公开的实施例包括 一种计算 机程 序产 品, 其包括承载在非 暂态计算 机可读介 质上的计 算机程 序, 该计 算机 程序包含 用于执 行流程 图所示的方 法的程 序代码 。在这样的实施 例 中, 该计算机程序可 以通过 通信装置 609从网络 上被下 载和安装, 或者 从存储装 置 608被安装 , 或者从 ROM 602被安 装。 在该计算机 程序 被处理装 置 601执行时 ,执行本公开 实施例的 方法中 限定的上 述 功能 。 需要 说明的是 ,本公开上述 的计算机 可读介质 可以是计 算机可 读 信号 介质或者 计算机可 读存储介 质或者 是上述两 者的任 意组合。计算 机可 读存储介 质例如可 以是 — 但不 限于 — 电 、 磁、 光、 电磁、 红 外线 、 或半导体的系统 、 装置或器件, 或者任意以 上的组合 。 计算机 可读 存储介质 的更具体 的例子 可以包括 但不限 于:具有一个 或多个导 线的 电连接 、 便携式计算机 磁盘、 硬盘、 随机访问存 储器 (RAM)、 只读 存储器 (ROM)、 可擦式可编程只 读存储器 (EPROM 或闪存 )、 光纤 、 便携式紧凑磁 盘只读存 储器 (CD-ROM )、 光存储器件、 磁存 储器 件、 或者上述的任 意合适 的组合。 在本公开中 , 计算机可读存储
介质 可以是任 何包含 或存储程 序的有形 介质,该程序 可以被指 令执行 系统 、 装置或者器件使 用或者与 其结合使 用。 而在本公开 中, 计算机 可读 信号介 质可以 包括在 基带中或 者作为 载波一 部分传 播的数 据信 号, 其中承载 了计算机可 读的程序 代码。这种 传播的数 据信号 可以采 用多 种形式 , 包括但不限于电磁 信号、光信 号或上述 的任意 合适的组 合 。计算机可读信 号介质还 可以是计 算机可读 存储介质 以外的 任何计 算机 可读介质 , 该计算机可读信号 介质可 以发送、传播 或者传输 用于 由指 令执行系 统、装置或 者器件 使用或者 与其结合 使用的 程序。计算 机可 读介质上 包含的程 序代码 可以用任 何适当 的介质传输 ,包括但不 限于 : 电线、 光缆、 RF(射频)等等, 或者上述的任意 合适的组 合。 在 一些 实施 方式 中, 客户端、 服务器可 以利 用诸 如 HTTP (HyperText Transfer Protocol, 超文本传输协议) 之类的任何当前已 知或 未来研发 的网络协 议进行通 信,并且可 以与任意 形式或介 质的数 字数 据通信 (例如, 通信网络) 互连。 通信网络的示例 包括局 域网 (“LAN”), 广域网 (“WAN”), 网际网 (例如, 互联网) 以及端对端 网络 (例如, ad hoc端对端网络), 以及任何当前 已知或未 来研发 的 网络 。 上述 计算机可 读介质可 以是上述 电子设 备中所包 含的;也可以 是 单独 存在, 而未装配 入该电子 设备中。 上述 计算机可 读介质承 载有一个 或者多 个程序 ,当上述一个或 者 多个 程序被 该电子设备 执行时 , 使得该电子设备: 获取第一用户 数据 和第 二用户数 据,并初始化 所述第 一用户数 据对应的 第一时 间窗和所
述第 一时间窗 对应的第 一时间信 息,以及所述 第二用 户数据对 应的第 二时 间窗和所 述第二 时间窗对应 的第二 时间信息 ;根据所述第 一用户 数据 , 确定所述第一 时间窗对 应的第 一数据 以及所述 第一时 间信息; 根据 所述第 二用户数 据,确定所述 第二时间 窗对应的 第二数据 以及所 述第 二时间信 息; 根据所述第一 数据和所 述第二 数据, 确定所述第一 用户 数据和所 述第一 用户数据 中对应于 同一用户 的对齐数 据。 可 以以一种 或多种 程序设计 语言或 其组合 来编写 用于执行 本公 开的 操作的计 算机程序 代码,上述程 序设计语 言包括 但不限于 面向对 象的 程序设计 语言一诸 如 Java、 Smalltalk. C++, 还包括常规的过程 式程 序设计语 言 — 诸如 “C” 语言或类 似的程序 设计语言 。 程序代 码可 以完全地 在用户计 算机上 执行、部分 地在用户 计算机上 执行、作 为一 个独立 的软件包执 行、部分在用 户计算机 上部分 在远程计 算机上 执行 、或者完全 在远程计 算机或服 务器上 执行。在涉 及远程计 算机的 情形 中,远程计算机 可以通过 任意种类 的网络 — 包 括局域 网(LAN) 或广 域网 (WAN ) - 连接到用 户计算机 , 或者, 可以连接到外部计 算机 (例如利用因特 网服务提 供商来通 过因特 网连接 )。 附 图中的流程 图和框 图, 图示了按照本 公开各 种实施例 的系统 、 方法 和计算机 程序产 品的可能 实现的体 系架构 、功能和操 作。在这点 上, 流程图或框 图中的 每个方框 可以代表 一个模 块、 程序段、 或代码 的一 部分, 该模块、 程序段、 或代码的一部 分包含一 个或多个 用于实 现规 定的逻辑 功能的可 执行指令 。也应当注 意, 在有些作为替 换的实 现中 ,方框中所标 注的功能 也可以 以不同于 附图中所 标注的顺 序发生 。
例如 , 两个接连地表示 的方框实 际上可 以基本并行 地执行 , 它们有时 也可 以按相 反的顺序 执行, 这依所涉 及的功能 而定。 也要注意的是, 框 图和 /或流程图中的每个 方框、 以及框图和 /或流程图中的方框 的组 合 , 可以用执行规定 的功能或 操作的 专用的基 于硬件 的系统来 实现, 或者 可以用专 用硬件 与计算机 指令的组 合来实现 。 描述 于本公 开实施 例中所 涉及到 的模块可 以通过 软件的 方式实 现, 也可以通过 硬件的 方式来实 现。 其中, 模块的名称在某种 情况下 并不 构成对该 模块本身 的限定 , 例如, 获取模块还可以被描述 为 “获 取第 一用户数 据和第 二用户数 据,并初始化 所述第一 用户数 据对应的 第一 时间窗和 所述第 一时间窗对 应的第 一时间信 息,以及所述 第二用 户数 据对应 的第二 时间窗和 所述第 二时间 窗对应 的第二 时间信息 的 模块” 。 本文 中以上 描述的 功能可 以至少 部分地 由一个 或多个 硬件逻 辑 部件 来执行 。 例如, 非限制性地, 可以使用的示范类 型的硬 件逻辑部 件包 括: 现场可编程 门阵列 (FPGA)、 专用集成电路(ASIC)、 专用 标准 产品 (ASSP)、片上系统(SOC )、复杂可编程逻辑设备 (CPLD ) 等等 。 在本 公开的上 下文中 , 机器可读介质可以 是有形 的介质, 其可以 包含 或存储 以供指令 执行系统 、 装置或设备使 用或与 指令执行 系统、 装置 或设备结 合地使用 的程序 。机器可读介 质可以是 机器可读 信号介 质或 机器可读 储存介质 。机器可读 介质可 以包括但 不限于 电子的、磁 性的 、 光学的、 电磁的、 红外的、 或半导体系统、 装置或设 备, 或者
上述 内容的任 何合适 组合。机器可 读存储介 质的更具 体示例会 包括基 于一 个或多个 线的电气 连接、 便携式计算 机盘、 硬盘、 随机存取存储 器 (RAM )、只读存储器(ROM )、可擦除可编 程只读存 储器 (EPROM 或快 闪存储器 )、 光纤、 便捷式紧凑盘只读存储器 (CD-ROM )、 光学 储存 设备、 磁储存设备 、 或上述内容的任 何合适 组合。 根据 本公开 的一个或 多个实施 例,示例 1提供了一种数 据处理方 法, 其中, 所述方法包括: 获取 第一用户 数据和第 二用户 数据,并初始化 所述第 一用户数 据 对应 的第一时 间窗和所 述第一 时间窗对应 的第一 时间信息 ,以及所述 第二 用户数 据对应 的第二 时间窗和 所述第 二时间 窗对应 的第二 时间 信息 ; 根据 所述第一 用户数 据,确定所述第 一时间 窗对应的第 一数据 以 及所 述第一 时间信息 ; 根据 所述第二 用户数 据,确定所述第 二时间 窗对应的第 二数据 以 及所 述第二 时间信息 ; 根据 所述第一 数据和 所述第二 数据,确定所 述第一用 户数据 和所 述第 二用户数 据中对应 于同一 用户的对 齐数据 。 根据 本公开 的一个或 多个实施 例, 示例 2提供 了示例 1的方法, 其 中, 所述根据所述第 二用户数 据, 确定所述第二 时间窗对应 的第二 数据 以及所述 第二时 间信息, 包括: 在所 述第二 时间信息小 于或等 于第一时 间信息 的情况下 ,根据所 述第 二用户数 据,确定所述 第二时 间窗对应 的第二数 据以及所 述第二
时间 信息。 根据 本公开 的一个或 多个实施 例, 示例 3提供 了示例 1的方法, 其 中, 所述根据所述第 一用户数 据, 确定所述第一 时间窗对应 的第一 数据 以及所述 第一时 间信息, 包括: 根据 当前数据 处理位置 ,从所述第一 用户数 据中获取 第一时 间窗 对应 的数据 ; 根据 所述第一 时间窗对 应的数据 确定数 据时间信 息; 在所 述数据 时间信息大 于所述 第一时间 信息的情 况下,将所述 数 据时 间信息确 定为所述 第一时 间信息,并将所 述第一 时间窗对 应的数 据添 加至所述 第一数 据中。 根据 本公开 的一个或 多个实施 例, 示例 4提供 了示例 3的方法, 其 中, 所述根据所述第 一用户数 据, 确定所述第一 时间窗对应 的第一 数据 以及所述 第一时 间信息, 还包括: 在所 述数据 时间信息小 于或等 于所述第 一时间信 息,且所述第 一 时间 窗小于预 设时间窗 的情况下 ,按照预设比 例增大所 述第一 时间窗, 并返 回所述根 据当前 数据处理 位置,从所述 第一用 户数据中 获取第一 时间 窗对应的 数据的步 骤,直至所述 数据时 间信息大 于所述第 一时间 信息 。 根据 本公开 的一个或 多个实施 例, 示例 5提供 了示例 1的方法, 其 中,在根据所述 第一用户 数据和 第二用户 数据各 自对应的 时间窗数 据,确定 所述第一 用户数据 和所述 第二用户 数据中对 应于同一 用户的 对齐 数据之后 , 所述方法还包 括:
存储 所述第 二数据 中的时 间戳信 息大于所 述第一 时间信 息的数 据, 并返回所述 根据所 述第一用 户数据 , 确定所述第一时间 窗对应的 第一 数据以及 所述第 一时间信 息的步骤 ,直至所述第 一用户数 据或第 二用 户数据 中的数据 均被处理 。 根据 本公开 的一个或 多个实施 例, 示例 6提供 了示例 1的方法, 其 中, 所述第一用户数 据和所述 第二用户 数据通 过以下方 式获得, 包 括: 在所 述第一用 户数据 的第一提 供方中 , 根据预设特征 校验规则, 对所 述第一提 供方的 第一原始 数据的待 校验特 征进行校 验,将通过校 验的 第一原始 数据确 定为所述 第一用户 数据; 在所 述第二用 户数据 的第二提 供方中 , 根据预设特征 校验规则 , 对所 述第二提 供方的 第二原始 数据的待 校验特 征进行校 验,将通过校 验的 第二原始 数据确 定为所述 第二用户 数据。 根据 本公开 的一个或 多个实施 例, 示例 7提供 了示例 1的方法, 其 中,在所述第一 用户数据 的第一 提供方 的第一原 始数据和 所述第二 用户 数据的第 二提供 方的第二 原始数据 中,用于进行 数据对齐 处理的 标识 信息为 目标类型的 情况下 ,所述第一用户 数据和 所述第二 用户数 据通 过以下方 式获得 , 包括: 在所 述第一用 户数据 的第一提 供方中 , 基于第一密钥, 对所述第 一原 始数据 的标识信 息进行离 线加密散 列处理 ,以获得所述第 一用户 数据 ; 在所 述第二用 户数据 的第二提 供方中 ,基于第二密钥 和噪声 信息
对所 述第二原 始数据 的标识信 息进行加 噪处理 , 获得加噪数据, 并将 所述 加噪数据 发送至 所述第一 提供方 ,并在接收到 所述第一 提供方基 于所 述第一密 钥对所述 加噪数 据进行加 密获得 的加密数 据后,根据所 述噪 声信息对 所述加 密数据进 行去噪处 理,将去噪处 理后所得 的数据 进行 散列处理 , 以获得所述第二 用户数据 , 其中, 所述第一密钥和所 述第 二密钥与 非对称加 密的公 钥和私钥 一一对应 。 根据 本公开 的一个或 多个实施 例,示例 8提供 了一种数 据处理装 置, 其中, 所述装置包括: 获取 模块, 用于获取第一 用户数据 和第二 用户数据 , 并初始化所 述第 一用户 数据对 应的第 一时间窗 和所述 第一时 间窗对应 的第一 时 间信 息,以及所述 第二用户 数据对应 的第二 时间窗和 所述第二 时间窗 对应 的第二时 间信息 ; 第一 确定模块 , 用于根据所述第 一用户数 据, 确定所述第一 时间 窗对 应的第一 数据以及 所述第 一时间信 息; 第二 确定模块 , 用于根据所述第 二用户数 据, 确定所述第二 时间 窗对 应的第二 数据以及 所述第 二时间信 息; 第三 确定模块 , 用于根据所述第 一数据和 所述第 二数据, 确定所 述第 一用户数 据和所 述第二 用户数据 中对应于 同一用 户的对齐 数据。 根据 本公开 的一个或 多个实施 例,示例 9提供 了一种计 算机可读 介质 , 其上存储有计算机 程序, 其中, 该程序被处理 装置执行 时实现 示例 1-示例 7任一所述数 据处理方 法的步 骤。 根据 本公开 的一个或 多个实施 例,示例 10提供了一种电子 设备,
其 中, 包括: 存储 装置, 其上存储有 计算机程 序; 处理 装置, 用于执行所述 存储装置 中的所 述计算机 程序, 以实现 示例 1-示例 7中任一所述 数据处理 方法的 步骤。 以上 描述仅 为本公 开的较佳 实施例 以及对 所运用 技术原 理的说 明 。 本领域技术人员应 当理解, 本公开中所 涉及的 公开范围 , 并不限 于上 述技术特 征的特 定组合而 成的技术 方案,同时也 应涵盖在 不脱离 上述 公开构思 的情况 下 ,由上述技术特 征或其 等同特征 进行任 意组合 而形 成的其它 技术方 案。例如上述特 征与本 公开中公 开的(但不限于 ) 具有 类似功能 的技术特 征进行 互相替换 而形成 的技术方 案。 此外 , 虽然采用特定次序 描绘了 各操作, 但是这不应 当理解为 要 求这 些操作 以所示出 的特定次 序或以顺 序次序 执行来执 行。在一定环 境下 , 多任务和并行处 理可能是 有利的 。 同样地, 虽然在上面论述中 包含 了若干具 体实现细 节,但是这些 不应当被 解释为对 本公开 的范围 的限 制。在单独的 实施例 的上下文 中描述的 某些特征 还可以 组合地实 现在 单个实施 例中。相反 地, 在单个实施例 的上下文 中描述 的各种特 征也 可以单独 地或 以任何合适 的子组 合的方式 实现在 多个实施 例中。 尽管 已经采 用特定于 结构特 征和 /或方法逻辑动作 的语言 描述了 本主 题,但是应当 理解所 附权利要求 书中所 限定的主 题未必局 限于上 面描 述的特 定特征或 动作。相反 , 上面所描述的特 定特征和 动作仅仅 是实 现权利要 求书的示 例形式 。关于上述 实施例中 的装置 , 其中各个 模块 执行操 作的具 体方式 已经在有 关该方 法的实 施例中 进行了 详细
描述 , 此处将不做详细 阐述说 明。
Claims
1、 一种数据处 理方法, 其特征在于, 所述方法包 括: 获取 第一用户 数据和第 二用户 数据,并初始化 所述第 一用户数 据 对应 的第一时 间窗和所 述第一 时间窗对应 的第一 时间信息 ,以及所述 第二 用户数 据对应 的第二 时间窗和 所述第 二时间 窗对应 的第二 时间 信息 ; 根据 所述第一 用户数 据,确定所述第 一时间 窗对应的第 一数据 以 及所 述第一 时间信息 ; 根据 所述第二 用户数 据,确定所述第 二时间 窗对应的第 二数据 以 及所 述第二 时间信息 ; 根据 所述第一 数据和 所述第二 数据,确定所 述第一用 户数据 和所 述第 一用户数 据中对应 于同一 用户的对 齐数据 。
2、 根据权利要 求 1所述的方法 , 其特征在于, 所述根据所述第 二用 户数据 ,确定所述第二 时间窗对 应的第二 数据以 及所述第 二时间 信息 , 包括: 在所 述第二 时间信息小 于或等 于第一时 间信息 的情况下 ,根据所 述第 二用户数 据,确定所述 第二时 间窗对应 的第二数 据以及所 述第二 时间 信息。
3、 根据权利要 求 1所述的方法 , 其特征在于, 所述根据所述第
32
一用 户数据 ,确定所述第一 时间窗对 应的第一 数据以 及所述第 一时间 信息 , 包括: 根据 当前数据 处理位置 ,从所述第一 用户数 据中获取 第一时 间窗 对应 的数据 ; 根据 所述第一 时间窗对 应的数据 确定数 据时间信 息; 在所 述数据 时间信息大 于所述 第一时间 信息的情 况下,将所述 数 据时 间信息确 定为所述 第一时 间信息,并将所 述第一 时间窗对 应的数 据添 加至所述 第一数 据中。
4、 根据权利要 求 3所述的方法 , 其特征在于, 所述根据所述第 一用 户数据 ,确定所述第一 时间窗对 应的第一 数据以 及所述第 一时间 信息 , 还包括: 在所 述数据 时间信息小 于或等 于所述第 一时间信 息,且所述第 一 时间 窗小于预 设时间窗 的情况下 ,按照预设比 例增大所 述第一 时间窗, 并返 回所述根 据当前 数据处理 位置,从所述 第一用 户数据中 获取第一 时间 窗对应的 数据的步 骤,直至所述 数据时 间信息大 于所述第 一时间 信息 。
5、 根据权利要 求 1所述的方法 , 其特征在于, 在根据所 述第一 用户 数据和第 二用户数 据各 自对应的时 间窗数据 ,确定所述第 一用户 数据 和所述第 二用户 数据中对 应于同一 用户的对 齐数据之 后,所述方 法还 包括:
33
存储 所述第 二数据 中的时 间戳信 息大于所 述第一 时间信 息的数 据, 并返回所述 根据所 述第一用 户数据 , 确定所述第一时间 窗对应的 第一 数据以及 所述第 一时间信 息的步骤 ,直至所述第 一用户数 据或第 二用 户数据 中的数据 均被处理 。
6、 根据权利要 求 1所述的方法 , 其特征在于, 所述第一用户数 据和 所述第 二用户数 据通过 以下方式获 得, 包括: 在所 述第一用 户数据 的第一提 供方中 , 根据预设特征 校验规则 , 对所 述第一提 供方的 第一原始 数据的待 校验特 征进行校 验,将通过校 验的 第一原始 数据确 定为所述 第一用户 数据; 在所 述第二用 户数据 的第二提 供方中 , 根据预设特征 校验规则 , 对所 述第二提 供方的 第二原始 数据的待 校验特 征进行校 验,将通过校 验的 第二原始 数据确 定为所述 第二用户 数据。
7、 根据权利要 求 1所述的方法 , 其特征在于, 在所述第 一用户 数据 的第一 提供方 的第一 原始数 据和所 述第二 用户数 据的第 二提供 方的 第二原始 数据中 ,用于进行数 据对齐处 理的标识 信息为 目标类型 的情 况下,所述第 一用户数 据和所 述第二用 户数据通 过以下 方式获得, 包括 : 在所 述第一用 户数据 的第一提 供方中 , 基于第一密钥, 对所述第 一原 始数据 的标识信 息进行离 线加密散 列处理 ,以获得所述第 一用户 数据 ;
在所 述第二用 户数据 的第二提 供方中 ,基于第二密钥 和噪声 信息 对所 述第二原 始数据 的标识信 息进行加 噪处理 , 获得加噪数据, 并将 所述 加噪数据 发送至 所述第一 提供方 ,并在接收到 所述第一 提供方基 于所 述第一密 钥对所述 加噪数 据进行加 密获得 的加密数 据后,根据所 述噪 声信息对 所述加 密数据进 行去噪处 理,将去噪处 理后所得 的数据 进行 散列处理 , 以获得所述第二 用户数据 , 其中, 所述第一密钥和所 述第 二密钥与 非对称加 密的公 钥和私钥 一一对应 。
8、 一种数据处 理装置 , 其特征在于, 所述装置 包括: 获取 模块, 用于获取第一 用户数据 和第二 用户数据 , 并初始化所 述第 一用户 数据对 应的第 一时间窗 和所述 第一时 间窗对应 的第一 时 间信 息,以及所述 第二用户 数据对应 的第二 时间窗和 所述第二 时间窗 对应 的第二时 间信息 ; 第一 确定模块 , 用于根据所述第 一用户数 据, 确定所述第一 时间 窗对 应的第一 数据以及 所述第 一时间信 息; 第二 确定模块 , 用于根据所述第 二用户数 据, 确定所述第二 时间 窗对 应的第二 数据以及 所述第 二时间信 息; 第三 确定模块 , 用于根据所述第 一数据和 所述第 二数据, 确定所 述第 一用户数 据和所 述第一 用户数据 中对应于 同一用 户的对齐 数据。
9、 一种数据处 理方法, 包括: 获取 第一用户 数据和第 二用户 数据,并初始化 所述第 一用户数 据
对应 的第一时 间窗和所 述第一 时间窗对应 的第一 时间信息 ,以及所述 第二 用户数 据对应 的第二 时间窗和 所述第 二时间 窗对应 的第二 时间 信息 ; 根据 所述第一 用户数 据,确定所述第 一时间 窗对应的第 一数据 以 及所 述第一 时间信息 ; 根据 所述第二 用户数 据,确定所述第 二时间 窗对应的第 二数据 以 及所 述第二 时间信息 ; 根据 所述第一 数据和 所述第二 数据,确定所 述第一用 户数据 和所 述第 二用户数 据中对应 于同一 用户的对 齐数据 。
10、 根据权利要求 9所述的数 据处理 方法, 其中, 所述根据所述 第二 用户数据 ,确定所述第 二时间 窗对应的第 二数据 以及所述 第二时 间信 息, 包括: 在所 述第二 时间信息小 于或等 于第一时 间信息 的情况下 ,根据所 述第 二用户数 据,确定所述 第二时 间窗对应 的第二数 据以及所 述第二 时间 信息。 在进行流式数 据处理 时, 用户数据通常是 局部有 序的, 因 此进 行数据对 齐的通信 双方的 时间信息 通常也是 对齐的 。
11、 根据权利要求 9所述的数 据处理 方法, 其中, 所述根据所述 第一 用户数据 ,确定所述第 一时间 窗对应的第 一数据 以及所述 第一时 间信 息, 包括: 根据 当前数据 处理位置 ,从所述第一 用户数 据中获取 第一时 间窗
36
对应 的数据; 根据 所述第一 时间窗对 应的数据 确定数 据时间信 息; 在所 述数据 时间信息大 于所述 第一时间 信息的情 况下,将所述 数 据时 间信息确 定为所述 第一时 间信息,并将所 述第一 时间窗对 应的数 据添 加至所述 第一数 据中。 当前 数据处理 位置初 始为第一 用户数据 中的起始 位置,可以按 照 该第 一时间窗 的长度从 第一用户 数据的 队列中读 取相应的 数据,之后 则可 以根据数 据读取 的进度, 更新该当前 数据处理 位置, 即用于记录 第一 用户数据 中待读取 的数据 的起始位 置。
12、 根据权利要 求 11所述的数据 处理方法 , 其中, 所述根据所 述第 一用户数 据,确定所述 第一时 间窗对应 的第一数 据以及所 述第一 时间 信息, 还包括: 在所 述数据 时间信息小 于或等 于所述第 一时间信 息,且所述第 一 时间 窗小于预 设时间窗 的情况下 ,按照预设比 例增大所 述第一 时间窗, 并返 回所述根 据当前 数据处理 位置,从所述 第一用 户数据中 获取第一 时间 窗对应的 数据的步 骤,直至所述 数据时 间信息大 于所述第 一时间 信息 。
13、 根据权利要求 9所述的数 据处理 方法, 其中, 在根据所述第 一用 户数据和 第二用 户数据各 自对应的 时间窗数 据,确定所述 第一用 户数 据和所述 第二用 户数据中 对应于同 一用户 的对齐数据 之后,所述
37
方法 还包括: 存储 所述第 二数据 中的时 间戳信 息大于所 述第一 时间信 息的数 据, 并返回所述 根据所 述第一用 户数据 , 确定所述第一时间 窗对应的 第一 数据以及 所述第 一时间信 息的步骤 ,直至所述第 一用户数 据或第 二用 户数据 中的数据 均被处理 。
14、 根据权利要求 9所述的数 据处理 方法, 其中, 所述第一用户 数据 和所述第 二用户 数据通过 以下方式 获得, 包括: 在所 述第一用 户数据 的第一提 供方中 , 根据预设特征 校验规则, 对所 述第一提 供方的 第一原始 数据的待 校验特 征进行校 验,将通过校 验的 第一原始 数据确 定为所述 第一用户 数据; 在所 述第二用 户数据 的第二提 供方中 , 根据预设特征 校验规则 , 对所 述第二提 供方的 第二原始 数据的待 校验特 征进行校 验,将通过校 验的 第二原始 数据确 定为所述 第二用户 数据。
15、 根据权利要求 9所述的数 据处理 方法, 其中, 在所述第一用 户数 据的第 一提供 方的第 一原始 数据和 所述第 二用户 数据的第 二提 供方 的第二 原始数据 中,用于进行 数据对齐 处理的标 识信息为 目标类 型的 情况下 ,所述第一用户 数据和 所述第二 用户数据 通过以 下方式获 得, 包括: 在所 述第一用 户数据 的第一提 供方中 , 基于第一密钥, 对所述第 一原 始数据 的标识信 息进行离 线加密散 列处理 ,以获得所述第 一用户
38
数据; 在所 述第二用 户数据 的第二提 供方中 ,基于第二密钥 和噪声 信息 对所 述第二原 始数据 的标识信 息进行加 噪处理 , 获得加噪数据, 并将 所述 加噪数据 发送至 所述第一 提供方 ,并在接收到 所述第一 提供方基 于所 述第一密 钥对所述 加噪数 据进行加 密获得 的加密数 据后,根据所 述噪 声信息对 所述加 密数据进 行去噪处 理,将去噪处 理后所得 的数据 进行 散列处理 , 以获得所述第二 用户数据 , 其中, 所述第一密钥和所 述第 二密钥与 非对称加 密的公 钥和私钥 一一对应 。
16、 根据权利要求 9所述的数 据处理 方法, 其中, 所述第一时间 窗和 所述第 二时间窗 的初始化 长度相 同。
17、 根据权利要求 9所述的数 据处理 方法, 其中, 根据所述第一 数据 和所述第 二数据 中的标识 信息进行 数据对齐 。
18、 根据权利要 求 17所述的数据 处理方法 , 其中, 所述标识信 息为 所述第一 数据和 所述第二 数据中 的数据记 录对应的 相同主键 。
19、 一种数据处 理装置 , 包括: 获取 模块, 用于获取第一 用户数据 和第二 用户数据 , 并初始化所 述第 一用户 数据对 应的第 一时间窗 和所述 第一时 间窗对应 的第一 时 间信 息,以及所述 第二用户 数据对应 的第二 时间窗和 所述第二 时间窗
39
对应 的第二时 间信息 ; 第一 确定模块 , 用于根据所述第 一用户数 据, 确定所述第一 时间 窗对 应的第一 数据以及 所述第 一时间信 息; 第二 确定模块 , 用于根据所述第 二用户数 据, 确定所述第二 时间 窗对 应的第二 数据以及 所述第 二时间信 息; 第三 确定模块 , 用于根据所述第 一数据和 所述第 二数据, 确定所 述第 一用户数 据和所 述第二 用户数据 中对应于 同一用 户的对齐 数据。
20、 一种计算机可 读介质 , 其上存储有计算机 程序, 其中, 该程 序被 处理装置 执行时实 现权利要 求 1-18 中任一项所述数据处 理方法 的步 骤。
21、 一种电子设 备, 包括: 存储 装置, 其上存储有 计算机程 序; 处理 装置, 用于执行所述 存储装置 中的所 述计算机 程序, 以实现 权利 要求 1-18中任一项所述数 据处理方 法的步 骤。
22、 一种计算机程序 , 包括: 指令 ,所述指令当 由处理器 执行时使 所述处理 器执行根 据权利 要 求 1-18中任一项所述 的数据处 理方法 。
23.一种计算机 程序产 品,包括指令 ,所述指令 当由处理 器执行时
40
使所 述处理器 执行根据 权利要 求 1-18中任一项所述 的数据 处理方法 。
41
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/252,926 US20230418794A1 (en) | 2020-11-19 | 2021-11-06 | Data processing method, and non-transitory medium and electronic device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011308389.8A CN112434064B (zh) | 2020-11-19 | 2020-11-19 | 数据处理方法、装置、介质及电子设备 |
CN202011308389.8 | 2020-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022108520A1 true WO2022108520A1 (zh) | 2022-05-27 |
Family
ID=74693024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/SG2021/050679 WO2022108520A1 (zh) | 2020-11-19 | 2021-11-06 | 数据处理方法、装置、介质及电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230418794A1 (zh) |
CN (1) | CN112434064B (zh) |
WO (1) | WO2022108520A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113722738B (zh) * | 2021-09-02 | 2023-08-08 | 脸萌有限公司 | 数据保护方法、装置、介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426646A (zh) * | 2013-09-03 | 2015-03-18 | 航天信息股份有限公司 | 对多路监听器进行数据时间同步的方法和系统 |
CN109978055A (zh) * | 2019-03-26 | 2019-07-05 | 京东方科技集团股份有限公司 | 多传感器系统的信息融合方法及系统、计算机设备及介质 |
CN110674125A (zh) * | 2019-09-24 | 2020-01-10 | 北京明略软件系统有限公司 | 一种待融合数据的过滤方法、过滤装置及可读存储介质 |
US20200210430A1 (en) * | 2018-12-27 | 2020-07-02 | Microsoft Technology Licensing, Llc | Efficient aggregation of sliding time window features |
CN111504676A (zh) * | 2020-04-23 | 2020-08-07 | 中国石油大学(北京) | 基于多源监控数据融合的设备故障诊断方法、装置及系统 |
CN111931323A (zh) * | 2019-04-28 | 2020-11-13 | 中国石油化工股份有限公司 | 存储器、加氢裂化设备故障预测方法、装置和设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8707393B2 (en) * | 2011-05-09 | 2014-04-22 | Cleversafe, Inc. | Providing dispersed storage network location information of a hypertext markup language file |
US10554398B2 (en) * | 2014-12-24 | 2020-02-04 | Intrinsic Id B.V. | Cryptographic key production from a physical unclonable function |
DE112018002942T5 (de) * | 2017-07-06 | 2020-03-05 | Robert Bosch Gmbh | Verfahren und System zur datenschutzwahrenden Social-Media-Werbung |
CN109698806B (zh) * | 2017-10-20 | 2021-12-28 | 福建省天奕网络科技有限公司 | 一种用户数据校验方法及系统 |
CN109756744B (zh) * | 2017-11-02 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 数据处理方法、电子设备及计算机存储介质 |
WO2019150287A1 (en) * | 2018-01-30 | 2019-08-08 | Encapsa Technology Llc | Method and system for encapsulating and storing information from multiple disparate data sources |
CN110209726B (zh) * | 2018-02-12 | 2023-10-20 | 金篆信科有限责任公司 | 分布式数据库集群系统、数据同步方法及存储介质 |
CN108540459B (zh) * | 2018-03-22 | 2021-03-30 | 北京京东尚科信息技术有限公司 | 数据储存方法、装置、系统、电子设备及计算机可读介质 |
CN111860865B (zh) * | 2020-07-23 | 2022-07-19 | 中国工商银行股份有限公司 | 模型构建和分析的方法、装置、电子设备和介质 |
CN111931253B (zh) * | 2020-09-15 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 基于节点群的数据处理方法、系统、设备和介质 |
-
2020
- 2020-11-19 CN CN202011308389.8A patent/CN112434064B/zh active Active
-
2021
- 2021-11-06 WO PCT/SG2021/050679 patent/WO2022108520A1/zh active Application Filing
- 2021-11-06 US US18/252,926 patent/US20230418794A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426646A (zh) * | 2013-09-03 | 2015-03-18 | 航天信息股份有限公司 | 对多路监听器进行数据时间同步的方法和系统 |
US20200210430A1 (en) * | 2018-12-27 | 2020-07-02 | Microsoft Technology Licensing, Llc | Efficient aggregation of sliding time window features |
CN109978055A (zh) * | 2019-03-26 | 2019-07-05 | 京东方科技集团股份有限公司 | 多传感器系统的信息融合方法及系统、计算机设备及介质 |
CN111931323A (zh) * | 2019-04-28 | 2020-11-13 | 中国石油化工股份有限公司 | 存储器、加氢裂化设备故障预测方法、装置和设备 |
CN110674125A (zh) * | 2019-09-24 | 2020-01-10 | 北京明略软件系统有限公司 | 一种待融合数据的过滤方法、过滤装置及可读存储介质 |
CN111504676A (zh) * | 2020-04-23 | 2020-08-07 | 中国石油大学(北京) | 基于多源监控数据融合的设备故障诊断方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112434064A (zh) | 2021-03-02 |
CN112434064B (zh) | 2023-09-29 |
US20230418794A1 (en) | 2023-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110879903B (zh) | 证据存储方法、证据验证方法及装置、设备和介质 | |
WO2019137566A2 (en) | Methods and devices for validating transaction in blockchain system | |
CN112434818B (zh) | 模型构建方法、装置、介质及电子设备 | |
WO2021036086A1 (zh) | 交易数据处理方法、装置、系统及计算机可读存储介质 | |
CN110535659B (zh) | 用于处理数据请求的方法、装置、电子设备和计算机可读介质 | |
WO2022108527A1 (zh) | 模型处理方法、系统、装置、介质及电子设备 | |
WO2023284387A1 (zh) | 基于联邦学习的模型训练方法、装置、系统、设备和介质 | |
WO2023033717A2 (zh) | 数据保护方法、装置、介质及电子设备 | |
CN112134883B (zh) | 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品 | |
WO2023078072A1 (zh) | 基于拜占庭容错的异步共识方法、装置、服务器和介质 | |
CN115471307A (zh) | 基于知识图谱的审计评估信息生成方法、装置和电子设备 | |
WO2022108520A1 (zh) | 数据处理方法、装置、介质及电子设备 | |
CN117408646B (zh) | 电子签章签署方法、装置、电子设备和计算机可读介质 | |
CN110852720A (zh) | 文档的处理方法、装置、设备及存储介质 | |
WO2023246480A1 (zh) | 一种身份认证方法、装置、设备、介质及产品 | |
CN111949746A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
WO2022103338A1 (zh) | 数据处理方法、装置和电子设备 | |
CN111680754A (zh) | 图像分类方法、装置、电子设备及计算机可读存储介质 | |
CN111614660A (zh) | 安全验证缺陷检测的方法、装置以及电子设备 | |
CN115829729B (zh) | 一种基于三链架构的供应链金融信用评价系统及方法 | |
CN117633848B (zh) | 用户信息联合处理方法、装置、设备和计算机可读介质 | |
CN112036819B (zh) | 一种基于任务图像的交互方法、装置、介质和电子设备 | |
CN116226888B (zh) | 基于隐私保护的电力数据交互加密方法、系统与设备 | |
CN113242306B (zh) | 一种区块链的共识方法和装置 | |
WO2022237428A1 (zh) | 网络请求信息的处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21895239 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18252926 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21895239 Country of ref document: EP Kind code of ref document: A1 |