CN112183765B - 一种用于共享学习的多源多模态数据预处理方法及*** - Google Patents
一种用于共享学习的多源多模态数据预处理方法及*** Download PDFInfo
- Publication number
- CN112183765B CN112183765B CN202011192607.6A CN202011192607A CN112183765B CN 112183765 B CN112183765 B CN 112183765B CN 202011192607 A CN202011192607 A CN 202011192607A CN 112183765 B CN112183765 B CN 112183765B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- nodes
- alignment
- encryption
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000007781 pre-processing Methods 0.000 title claims abstract description 38
- 230000006854 communication Effects 0.000 claims abstract description 42
- 238000004891 communication Methods 0.000 claims abstract description 34
- 238000001914 filtration Methods 0.000 claims abstract description 30
- 230000008569 process Effects 0.000 claims abstract description 27
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 20
- 238000012216 screening Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 claims description 2
- 230000007812 deficiency Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000012549 training Methods 0.000 abstract description 11
- 230000009897 systematic effect Effects 0.000 abstract description 4
- 238000010801 machine learning Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012821 model calculation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012954 risk control Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及数据处理技术,旨在提供一种用于共享学习的多源多模态数据预处理方法及***。包括步骤:跨服务器之间的数据通信;多源数据加密;隐私保护样本对齐;多源数据过滤,形成最后的统一数据。本发明将共享学习模型训练之前的预处理阶段抽象成***,利用多个子***分步骤完成预处理过程,实现跨服务器之间的数据通信、多源数据加密、隐私保护样本对齐和多源数据过滤,使得共享学习***预处理阶段根具有***性、更加具体完整。提供了多源数据通信、加密、对齐、过滤方法,执行效率更高,安全性更强,能够保证数据隐私。本发明独立于具体的共享学习任务,可以作为单独模块集成在任何多源数据处理任务中。
Description
技术领域
本发明涉及数据处理技术,特别涉及一种用于共享学习的多源多模态数据预处理方法及***。
背景技术
随着人工智能算法的兴起,针对数据的隐私问题也逐渐被提及,世界各国都在设立并完善相关法律来保护数据安全与隐私。在这样的背景下,基于密码学原理的共享学习技术兴起。其主要是通过安全性证明,保证了在使用多源数据联合建模的情况下,数据的安全性问题。
人工智能是由大数据推动的,AlphaGO总共使用了30万场对局数据才取得了如此成绩。于是人们开始期望这样的大数据驱动的AI能在生活的方方面面得到应用。然而现实的情况可能比较悲观:由于各种外部内部条件的限制,想要获取到完整的数据是相当困难的,同一样本的数据特征可能分布在不同的数据节点,而各数据节点之间由于隐私、竞争等原因并无法直接交换数据。比如说,在比较经典的电商推荐***案例中,产品的卖方拥有用户购买商品的数量、购买偏好等数据。但与用户购买能力相关的数据如工资、贷款等信息则处于银行之中,出于隐私保护,电商只能使用本地的数据仅需AI建模,从而模型的效果无法得到进一步提升。实际上,在大多数行业中,数据都是以这种孤岛的形式存在。由于隐私安全、行业竞争、复杂管理等,几乎不可能以较低的成本整合遍布机构的数据。
与此同时,隐私泄漏问题越来越严重,社会隐私保护意识逐渐增强,有关公共数据泄露的新闻引起了公共媒体和政府的高度关注。为了更好的解决数据共享与数据隐私泄露之间的矛盾,隐私计算、联邦学习、多方安全计算、共享学习等概念纷纷被提出。
例如,文献1中国发明专利申请“一种基于联邦模式的信贷风险控制***及方法”(申请号202010283266.7)、文献2“联邦学习模型训练方法、装置、终端设备及存储介质”(申请号201910733943.8)等。这些技术虽然能在一定程度上解决多源数据联合建模过程中数据预处理环节的问题,但是各有一定的缺点:部分专利未使用加密技术容易暴露数据隐私,部分专利仅进行了样本对齐而忽视了预处理环节诸如数据筛选的其他步骤,还有的采用的加密技术耗时严重导致实际应用困难。例如,文献1采用分层策略,首先进行数据预处理,再完成样本对齐,最后进行分布式调度,参与方在本地和服务器方联合训练模型。其主要问题在于预处理过程分层不够明确,并未将通信过程作为单独的模块,并且将预处理放在样本对齐任务之前会造成部分预处理完数据对齐后丢弃而不会被使用,拉低***整体的运行效率。而且该发明中样本对齐过程数据方会向其他数据方发送哈希加密过的密文,具有相当程度上的数据泄露安全隐患。文献2降低了模型计算的复杂度和参与者之间通信的开销,但其数据预处理过程较为简单,样本对齐过程并未提及加密技术,因此可能会造成用户的信息泄露。
共享学习是在多个数据方参与且互相不信任的情况下,聚合多方数据建立机器学习模型并通过密码学技术保证数据使用过程中的隐私不被泄露。共享学习框架通常由以下部分组成:数据预处理阶段、模型训练阶段、模型测试阶段、***部署阶段。本发明提出基于共享学习的多源数据预处理阶段的方法,用于提高数据预处理阶段的执行效率以及隐私保护力度。
发明内容
本发明要解决的技术问题是,克服现有技术中的不足,提供一种用于共享学习的多源多模态数据预处理方法及***。
为解决上述技术问题,本发明采用的解决方案是:
提供一种用于共享学习的多源多模态数据预处理方法,包括以下步骤:
(1)跨服务器之间的数据通信
各个数据源的数据节点之间通过远程过程调用(RPC)建立通信连接,实现数据交互;
(2)多源数据加密
各个数据源的数据节点之间通过RSA算法加密协商,生成公共密钥用于数据加密;
(3)隐私保护样本对齐
各数据节点加密本地数据的ID字段,将其发送至对齐节点;对齐节点将密文样本对齐后,返回对齐信息至数据节点以进一步生成对齐后的数据集;
(4)多源数据过滤
根据任务需求创建过滤节点并启动解析任务,将需要用到的算子信息发送给数据节点;数据节点启动相应算子完成对数据的筛选,形成最后的统一数据。
本发明中,所述步骤(1)中,为确保数据安全以及正确的接受和发送所需要的数据,将需要发送的数据封装成数据报文;在原始数据的基础上增加数据的ID和类型字段,ID字段用于判断数据的归属,类型字段用于判断报文中的数据的用途;通信过程中所有收到的数据存储在数据缓存池中,由数据节点选择从里面提取相应数据;数据节点根据数据的ID字段判断数据的来源,从而实现有序使用数据,并根据数据的类型字段判断当前数据的作用。
本发明中,所述步骤(1)中,在启动通信连接时,各个数据节点首先从数据库中查询出节点之间预先协商好的IP地址与通信端口,检查信息无误后准备相互连接;在远程过程调用的通信过程中采用客户端服务器模式,每个各个数据源的数据节点在本地运行自身的服务器端,用于监听其他客户端向自己发送的数据,并针对每一个其它的数据节点启动对应的客户端用户以发送数据。
本发明中,远程过程调用中的函数都有唯一的标识符号,客户端在请求服务器端远程函数调用时,须告知服务器响应的函数标识符号;客户端把参数值传给远程的函数时采用序列化机制,把参数先转成一个字节流再传给服务端,服务端把字节流转成本地能识别的格式;在客户端和服务端之间设置一个网络传输层,用于将标识符号和序列化后的参数字节流传给服务端,以及把序列化后的调用结果传回客户端。
本发明中,所述步骤(2)中,各数据节点之间利用RSA算法加密协商一个共同的数据串,将其作为密钥使用AES算法加密所需要的数据;具体包括:
首先,各个数据节点根据RSA算法在本地生成相应的公私钥对,私钥由***保留,而公钥则通过RPC发送给其他数据节点;各个数据节点本地生成随机的一串密钥,并通过加密发送给其余节点;然后,各数据节点拼接来自其余节点的密钥组合成最终的密钥,完成节点间密钥协商;最后,各数据节点利用对称加密算法AES加密数据并将其传输至对齐节点进行下一阶段计算。
本发明中,所述步骤(3)中,由对齐节点创建存储结构,用于缓存收到的密文ID并记录其对应的数据节点;然后通过比对算法找出不同数据节点密文ID的相同部分,即为各数据节点共有的数据样本;对齐节点将共有密文ID记录下并返回给各数据节点,数据节点收到后使用密钥完成解密恢复ID原文并从数据库中对比提取相应ID的数据,生成新的子数据集合;待各数据节点子数据集合生成完成后,各节点之间数据对齐任务完成。
本发明中,所述实现相同加密ID查找的比对算法,是指朴素方法、基于哈希表的方法或基于布隆过滤器的方法。
本发明中,所述步骤(4)包括:首先创建过滤节点解析任务数据需求,将具体需要用到的算子信息发送至各个数据节点,数据节点激活算法进行数据处理,处理完成后返回给过滤节点数据处理的状态;所述算子包括:独热编码算子、归一化算子、缺失值填充算子、缩放算子或条件筛选算子。
本发明进一步提供了一种基于共享学习的多源多模态数据预处理***,包括:
数据通信子***,用于跨服务器之间的数据通信,使各个数据源的数据节点之间通过远程过程调用(RPC)建立通信连接,实现数据交互;
数据加密子***,用于多源数据加密,使各个数据源的数据节点之间通过RSA算法加密协商,生成公共密钥用于数据加密;
数据对齐子***,用于隐私保护样本对齐,各数据节点加密本地数据的ID字段,将其发送至对齐节点;对齐节点将密文样本对齐后,返回对齐信息至数据节点以进一步生成对齐后的数据集;
数据过滤子***,用于多源数据过滤,根据任务需求创建过滤节点并启动解析任务,将需要用到的算子信息发送给数据节点;数据节点启动相应算子完成对数据的筛选,形成最后的统一数据。
与现有技术相比,本发明的技术效果是:
1、本发明将共享学习模型训练之前的预处理阶段抽象成***,利用多个子***分步骤完成预处理过程,实现跨服务器之间的数据通信、多源数据加密、隐私保护样本对齐和多源数据过滤,使得共享学习***预处理阶段根具有***性、更加具体完整。
2、本发明提供了多源数据通信、加密、对齐、过滤方法;对比现有技术不完整、效率低下、不安全的缺陷,本发明的执行效率更高,安全性更强,能够保证数据隐私。
3、本发明独立于具体的共享学习任务,可以作为单独模块集成在任何多源数据处理任务中。
附图说明
图1为共享学习建模过程的示意图。
图2为各个数据节点之间RPC通信过程示意图。
图3为不同数据节点之间加密协商过程的示意图。
图4为实现不同数据节点加密数据ID匹配的示意图。
图5为数据过滤实现过程的示意图。
具体实施方式
首先需要说明的是,本发明涉及数据处理技术,是计算机技术在大数据领域的一种应用。在本发明的实现过程中,会涉及到多个软件功能模块的应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。前述软件功能模块包括但不限于:数据通信子***、数据加密子***、数据对齐子***、数据过滤子***、网络传输层,数据节点、对齐节点、过滤节点等等。凡本发明申请文件提及的均属此范畴,申请人不再一一列举。
下面结合附图,对本发明的具体实施方式进行详细描述。
本发明立足于共享学***台则存储有用户的各项购买记录等属性。共享学习技术将通过联合各方数据,在***露数据隐私的前提下,进行机器学习模型构建,最终应用于具体的业务,如商品推荐、风险预警等。
总体共享学习建模过程如图1所示,数据源之间会根据任务需要在各自的执行环境中启动不同的任务节点,负责对于***不同执行过程的统一调度。除了任务节点之外,***还可选的包含了以下节点:(1)负责数据处理的数据节点,不同数据源的数据类型不同,需要对各类型的数据针对具体的任务做统一的数据处理后,才能将格式统一的数据传输至模型进行训练;(2)负责模型计算的中心服务器节点,共享学习模型采用分布式机器学习训练架构,每个数据源将会运行一部分机器学习模型通过本地数据进行模型训练,并在中心服务器中部署机器学习模型,各个本地模型将训练好的参数通过加密方法脱敏,进一步传输至服务器模型中汇总训练。在中心服务器模型训练完成后,返回给各个本地模型相关参数的更新信息(比如梯度信息等)以完成分布式模型参数更新;(3)数据标签持有节点,不同的任务对应的数据标签不同,这里的标签指的是机器学习任务模型输出的结果,如金融风控领域可能为客户是否会发生逾期,推荐***场景则可能会是给用户推荐的最合适的物品集合,不同的标签数据归属于不同的数据源,因此需要在任务发起时创建标签拥有节点进行管理。
共享学习算法模型启动的第一步是进行各个数据源通信并进行预处理任务,各个数据源创建数据节点,预处理任务在***运行的最开始由数据节点发起。数据节点首先对接数据源所在数据库或者是数据文件库,获取训练任务所需要的数据,并启动数据预处理子***,根据任务设置的相关需求完成数据预处理。本发明要解决的技术问题就是,如何高效、安全地进行多源多模态情景下的数据预处理。
数据预处理方法具体描述如下。
不同数据源存放数据的数据库不尽相同,数据节点首先将会配置数据库连接相关文件,并测试连接的状况。具体连接可采用Mybatis框架,MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。其免除了Java程序使用JDBC进行数据库访问需要进行的繁琐配置。通过简单的XML或注解来配置和映射原始类型、接口和Java POJO(Plain Old Java Objects,普通老式Java对象)为数据库中的记录。数据预处理阶段将会从数据库中读出相关数据如用户ID等字段用于样本对齐,最终处理好的数据在由数据节点统一写入到数据库中。
(1)跨服务器之间的数据通信
各个数据源的数据节点之间通过远程过程调用(RPC)建立通信连接,实现数据交互;
相比较传统的本地数据预处理,多源多模态的数据分布在不同的数据源,其间只能通过网络连接,因此需要设计通信子***完成不同数据节点之间的数据交互。本***采用远程过程调用(RPC)实现节点通信。RPC就是要像调用本地的函数一样去调远程函数。在RPC中,所有的函数都必须有自己的一个唯一标识符号,客户端在请求服务器端远程函数调用的时候必须告知服务器响应的函数标识符号。客户端把参数值传给远程的函数时采用序列化机制,把参数先转成一个字节流,传给服务端后,再把字节流转成本地能识别的格式。远程调用在网络上进行,客户端和服务端是通过网络连接的。所有的数据都需要通过网络传输,因此就需要有一个网络传输层。网络传输层需要把标识符号和序列化后的参数字节流传给服务端,然后再把序列化后的调用结果传回客户端。本发明中采用HTTP2实现。
数据源的基本信息保存在数据库中,启动通信连接时,首先各个数据节点从数据库中查询出节点之间预先协商好的IP地址与通信端口,检查信息无误后准备相互连接。如图2所示,RPC通信过程采用客户端服务器模式。在搭建完成通信客户端与服务器后,客户端将通过请求向服务器发送数据,服务器接受到数据后返回事先约定好的响应消息。在本子***中,每个数据节点会在本地运行自身的服务器端,用于监听其他客户端向自己发送的数据,并针对每一个其他的数据节点启动对应的客户端用户向其他节点发送数据。由于RPC仅能实现数据的收发,因此为了确保数据安全以及正确的接受和发送所需要的数据,本发明实现了图2中的数据结构,将一条需要发送的数据封装成一个数据报文,在原始数据的基础上,增加了数据的ID和类型字段,ID字段可以用来判断数据的归属,类型字段可以用来判断报文中的数据的用途。节点通信过程中,所有收到的数据都存储在数据缓存池中,由节点选择从里面提取相应数据。节点根据数据的ID字段判断数据的来源从而实现有序使用数据,并根据数据的类型字段判断当前数据的作用,如用于协商通信的信号数据,加密对齐的密钥数据,样本对齐的ID数据等。
(2)多源数据加密
各个数据源的数据节点之间通过RSA算法加密协商,生成公共密钥用于数据加密;
数据节点之间建立通信后进入加密子***,共享学习模型中假设各个数据源之间采用非信任模型。由于多源数据节点之间并不一定相互信任,并且数据部分字段可能存在敏感信息诸如用护的身份证号、手机号、个人资产等,因此数据节点之间传输的数据应保证是经过脱敏处理的。数据的隐私泄露将会带来难以预料的风险。
为了方便给下一层的对齐子***提供服务,数据脱敏过程采用加密学中的加密算法实现。总体实现过程如图3所示,数据节点之间利用RSA算法加密协商一个共同的数据串,将其作为密钥使用AES算法加密所需要的数据。最后将加密后的数据传输至相关节点进行下一阶段计算。具体过程如下:首先是RSA算法,该算法基于大整数因数分解,保证了加密算法破解的难度极大,是一种十分常见的公钥加密算法。其中主要包括了公私密钥对,加解密算法以及明文和密文。首先各个数据节点会根据RSA算法在本地生成相应的公私钥对,私钥由***保留,而公钥则通过RPC发送给其他数据节点。使用特定数据节点公钥加密的数据,只有使用对应的私钥采用解密。接下来各个数据节点本地生成随机的一串密钥,并通过加密发送给其余节点,由于RSA的安全性保证,除了各个数据节点外的任何恶意节点都无法密钥信息。
各数据节点拼接来自其余节点的密钥组合成最终的密钥,如此便完成了节点间密钥协商。之后加密子***便可利用对称加密算法AES加密数据并将其传输至有关节点进行下一阶段计算。AES为分组密码,分组密码也就是把明文分成的长度相同的若干组,每次加密一组数据,直到加密完整个明文。过程重复数轮密钥加密、字节替换、行位移、列混淆操作,保证了在密钥***露的情况下,密文的安全性。各个节点通过上面的RSA算法与RPC通信成功交换列彼此的密钥生成最终的混合密钥,确保了只有各个节点知晓统一的密钥。此外由于密钥相同,相同的数据加密后的密文也对应相同,因此可以用于后续对齐子***中的比较操作。由于此后的操作如样本对齐过程中,这部分模块并有没有密钥的相关信息,因此其只能对加密后的数据进行操作,从而保证了数据的相对安全性。
(3)隐私保护样本对齐
各数据节点加密本地数据的ID字段,将其发送至对齐节点;对齐节点将密文样本对齐后,返回对齐信息至数据节点以进一步生成对齐后的数据集;
对齐子***用于实现多源多模态数据之间的统一工作。首先创建样本对齐节点,经过加密子***协商完成密钥的各个数据节点通过加密算法,将数据样本的ID字段加密并传输至对齐节点。不同数据节点的数据采用相同的密钥加密,因此数据节点之间相同的ID加密后的密文结果一致,而对齐节点没有密钥的相关信息只能查看密文,无法获取原文信息。对齐节点将创建特定的存储结构缓存收到的密文ID并记录其对应的数据节点。通过比对算法找出不同数据节点密文ID的相同部分即为各数据节点共有的数据样本,对齐节点将共有密文ID记录下并返回给各数据节点,数据节点收到后使用密钥解密对应ID的明文并从数据库中对比提取相应ID的数据,生成新的子数据集合。待各数据节点子数据集合生成完成后节点之间数据对齐任务完成。
在匹配不同数据节点相同的加密数据ID时,可选的,有以下几种方法。第一种是朴素方法,通过循环扫描每个加密ID筛选出数据节点中共同的加密ID字段。由于朴素思想需要较高的时间复杂度,本发明提出了第二种是基于哈希表的方法,哈希表是一种数据结构可以存储各种数据类型,其利用记录的存储位置与记录值之间的确定对应关系存储数据,使得查找数据的时间复杂度在O(1)级别,能够快速的找到相应数据。然而哈希表需要开辟数组空间用于存储数据,对比朴素思想本质上是一种空间换时间的算法,当数据量过大时,建立哈希表查找的空间代价也将会难以承受。因此本发明提供了第三种查找相同加密ID的方法,布隆过滤器。如图4所示,布隆过滤器其中重要的实现就是位图的实现,也就是位数组,在位数组中每一个位置只占有1个bit,而每个bit只有0和1两种状态。对于共有k个哈希函数的情况,设置每个哈希函数的输出范围都大于m,将加密ID输入哈希函数并使得输出值对k取余(%m),从而得到k个[0,m-1]范围内的值,由于每个哈希函数之间相互独立,因此这k个数也相互独立,最后将这k个数对应到位数组上将相应位置标记为1,表示此位置有哈希值被计算过。***执行过程中,会首先计算各个数据节点传输过来的加密ID的数量,由于需要统计相同的ID,***将会选择ID数量最少的一方将其加密ID***到布隆过滤器中以减少***造成的时间开销。接着遍历其余节点的加密ID,判断ID是否相同。在查找加密ID是否已经出现在布隆过滤器中时,首先将加密ID经过之前的K个哈希函数计算生成K个哈希值,然后判断对应位数组的k个位置是否都为1,如果有一个不为1,那么这个加密ID就不在此集合中,说明该ID并不是所有数据共同拥有的,需要舍弃。如果都是所有K个位置上都标记为1,则说明当前查询的加密ID在集合中。将其标记为匹配成功,统计在各个节点数据加密ID中匹配成功的加密ID,其对应的数据样本即为所有数据源共同拥有的数据样本。但需要特别注意的是,使用布隆过滤器可能存在一定程度的错误,由于当输入加密ID过多时,而集合也就是位数组的长度过小时,则会出现大部分位置都被填充为1,当输入一个加密ID时,其K个位置可能都被其他的加密ID散列后的值给占领,从而使得其也表现出已经被***过的情况,因此,***设计时需要将数组设计的足够大以保证数据的冲突在可能忍受的范围内。
(4)多源数据过滤
根据任务需求创建过滤节点并启动解析任务,将需要用到的算子信息发送给数据节点;数据节点启动相应算子完成对数据的筛选,形成最后的统一数据。
数据过滤子***如图5,将对已经对齐完成的数据进行再筛选,将按照任务设定的数据需求处理各个数据节点上的数据。首先创建过滤节点解析任务数据需求,接着将具体需要用到的算子信息发送至各个数据节点,数据节点激活算法进行数据处理,处理完成后返回给过滤节点数据处理的状态。具体的算子如下:独热编码算子,使用N位状态寄存器来对N个状态进行编码,每个状态都有其对应的寄存器位,并且在任何时刻,有且只有一位有效。此外,其具备处理非连续型数值特征的能力。归一化算子,将样本的特征值转换到同一量纲下,把数据映射到[0,1],数据节点之间数据差异较大,不同数据字段之间的数据范围差异也很大,采用归一化可以降低因为数据方差过大造成的模型训练问题。缺失值填充算子,用于处理数据中的部分缺失值,由于数据节点数据来源不一,部分数据完整性很难得到保证,可选用均值填充、默认值填充等手段填充缺失数据,缩放算子,不同任务之间的数据要求不一致,针对具体任务选择合适的缩放算子来约束数据的规模从而更好的适应任务需要,条件筛选算子,用于筛选任务需求的数据范围,诸如数据所属时间范围、地域范围、数值区间范围。
整体预处理过程如下:首先数据节点之间通过RPC建立通信连接,通过加密技术交换生成公共密钥用于数据加密,接着创建对齐节点,数据节点加密本地数据的ID字段并发送至对齐节点,实现密文样本对齐后返回对齐信息给数据节点,数据节点生成对齐后数据集。最后根据用户自定义任务需求,启动过滤节点解析任务并将需要用到的算子需要发送给数据节点,数据节点启动相应算子完成对数据的筛选形成最后的统一数据,数据预处理***完成。
本发明从整体上将数据预处理***划分为数据通信子***、数据加密子***、数据对齐子***、数据过滤子***,为共享学习数据预处理提供了***的解决方案。其中,数据通信子***采用RPC连接各客户端保证数据传输的稳定高效;在加密子***中,各个数据源采用RSA协商加密密钥保证了加密密钥的安全性,并使用AES加密待传输数据,在保证数据安全的前提下尽可能的提高传输效率;在对齐子***中,引入了可选择的对齐方案,包括基于循环扫描的朴素方法、基于哈希表的匹配方法和布隆过滤器,不同方案适用于不同时间和空间的复杂度要求。在过滤子***中,设置了不同的算子,可以根据具体任务需求组合完成任务,提高任务执行效率。与现有技术相比,本发明的应用将使共享学习***预处理阶段更具有***性。
Claims (9)
1.一种用于共享学习的多源多模态数据预处理方法,其特征在于,包括以下步骤:
(1)跨服务器之间的数据通信
各个数据源的数据节点之间通过远程过程调用建立通信连接,实现数据交互;
(2)多源数据加密
各个数据源的数据节点之间通过RSA算法加密协商,生成公共密钥用于数据加密;
(3)隐私保护样本对齐
各数据节点加密本地数据的ID字段,将其发送至对齐节点;对齐节点将密文样本对齐后,返回对齐信息至数据节点以进一步生成对齐后的数据集;
(4)多源数据过滤
根据任务需求创建过滤节点并启动解析任务,将需要用到的算子信息发送给数据节点;数据节点启动相应算子完成对数据的筛选,形成最后的统一数据。
2.根据权利要求1所述的方法,其特征在于,所述步骤(1)中,为确保数据安全以及正确的接受和发送所需要的数据,将需要发送的数据封装成数据报文;在原始数据的基础上增加数据的ID和类型字段,ID字段用于判断数据的归属,类型字段用于判断报文中的数据的用途;通信过程中所有收到的数据存储在数据缓存池中,由数据节点选择从里面提取相应数据;数据节点根据数据的ID字段判断数据的来源,从而实现有序使用数据,并根据数据的类型字段判断当前数据的作用。
3.根据权利要求1所述的方法,其特征在于,所述步骤(1)中,在启动通信连接时,各个数据节点首先从数据库中查询出节点之间预先协商好的IP地址与通信端口,检查信息无误后准备相互连接;在远程过程调用的通信过程中采用客户端服务器模式,每个各个数据源的数据节点在本地运行自身的服务器端,用于监听其他客户端向自己发送的数据,并针对每一个其它的数据节点启动对应的客户端用户以发送数据。
4.根据权利要求3所述的方法,其特征在于,远程过程调用中的函数都有唯一的标识符号,客户端在请求服务器端远程函数调用时,须告知服务器响应的函数标识符号;客户端把参数值传给远程的函数时采用序列化机制,把参数先转成一个字节流再传给服务端,服务端把字节流转成本地能识别的格式;在客户端和服务端之间设置一个网络传输层,用于将标识符号和序列化后的参数字节流传给服务端,以及把序列化后的调用结果传回客户端。
5.根据权利要求1所述的方法,其特征在于,所述步骤(2)中,各数据节点之间利用RSA算法加密协商一个共同的数据串,将其作为密钥使用AES算法加密所需要的数据;具体包括:
首先,各个数据节点根据RSA算法在本地生成相应的公私钥对,私钥由***保留,而公钥则通过RPC发送给其他数据节点;各个数据节点本地生成随机的一串密钥,并通过加密发送给其余节点;然后,各数据节点拼接来自其余节点的密钥组合成最终的密钥,完成节点间密钥协商;最后,各数据节点利用对称加密算法AES加密数据并将其传输至对齐节点进行下一阶段计算。
6.根据权利要求1所述的方法,其特征在于,所述步骤(3)中,由对齐节点创建存储结构,用于缓存收到的密文ID并记录其对应的数据节点;然后通过比对算法找出不同数据节点密文ID的相同部分,即为各数据节点共有的数据样本;对齐节点将共有密文ID记录下并返回给各数据节点,数据节点收到后使用密钥完成解密恢复ID原文并从数据库中对比提取相应ID的数据,生成新的子数据集合;待各数据节点子数据集合生成完成后,各节点之间数据对齐任务完成。
7.根据权利要求6所述的方法,其特征在于,所述比对算法是指朴素方法、基于哈希表的方法或基于布隆过滤器的方法。
8.根据权利要求1所述的方法,其特征在于,所述步骤(4)包括:首先创建过滤节点解析任务数据需求,将具体需要用到的算子信息发送至各个数据节点,数据节点激活算法进行数据处理,处理完成后返回给过滤节点数据处理的状态;所述算子包括:独热编码算子、归一化算子、缺失值填充算子、缩放算子或条件筛选算子。
9.一种用于共享学习的多源多模态数据预处理***,其特征在于,包括:
数据通信子***,用于跨服务器之间的数据通信,使各个数据源的数据节点之间通过远程过程调用建立通信连接,实现数据交互;
数据加密子***,用于多源数据加密,使各个数据源的数据节点之间通过RSA算法加密协商,生成公共密钥用于数据加密;
数据对齐子***,用于隐私保护样本对齐,各数据节点加密本地数据的ID字段,将其发送至对齐节点;对齐节点将密文样本对齐后,返回对齐信息至数据节点以进一步生成对齐后的数据集;
数据过滤子***,用于多源数据过滤,根据任务需求创建过滤节点并启动解析任务,将需要用到的算子信息发送给数据节点;数据节点启动相应算子完成对数据的筛选,形成最后的统一数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011192607.6A CN112183765B (zh) | 2020-10-30 | 2020-10-30 | 一种用于共享学习的多源多模态数据预处理方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011192607.6A CN112183765B (zh) | 2020-10-30 | 2020-10-30 | 一种用于共享学习的多源多模态数据预处理方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112183765A CN112183765A (zh) | 2021-01-05 |
CN112183765B true CN112183765B (zh) | 2022-06-14 |
Family
ID=73916386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011192607.6A Active CN112183765B (zh) | 2020-10-30 | 2020-10-30 | 一种用于共享学习的多源多模态数据预处理方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112183765B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112906904B (zh) * | 2021-02-03 | 2024-03-26 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN113807537B (zh) * | 2021-04-06 | 2023-12-05 | 京东科技控股股份有限公司 | 多源数据的数据处理方法、装置及电子设备、存储介质 |
CN114510450A (zh) * | 2021-05-25 | 2022-05-17 | 无锡沐创集成电路设计有限公司 | 加密算法的加速计算方法、装置和阵列单元算子*** |
CN113849806B (zh) * | 2021-09-30 | 2024-06-18 | 支付宝(杭州)信息技术有限公司 | 多方安全计算中的任务执行方法及装置 |
CN114048501A (zh) * | 2021-10-14 | 2022-02-15 | ***股份有限公司 | 数据脱敏方法、联邦学习方法及*** |
CN114419341B (zh) * | 2022-01-20 | 2024-04-26 | 大连海事大学 | 一种基于迁移学习改进的卷积神经网络图像识别方法 |
CN115618396B (zh) * | 2022-11-28 | 2023-04-07 | 云账户技术(天津)有限公司 | 一种数据的加密方法及装置 |
CN117592555B (zh) * | 2023-11-28 | 2024-05-10 | 中国医学科学院北京协和医院 | 一种面向多源异构医疗数据的联邦学习方法及*** |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10033702B2 (en) * | 2015-08-05 | 2018-07-24 | Intralinks, Inc. | Systems and methods of secure data exchange |
CN105702041A (zh) * | 2016-04-21 | 2016-06-22 | 东南大学 | 基于神经网络的高速公路多源数据融合状态估计***及方法 |
CN109685501B (zh) * | 2018-12-04 | 2023-04-07 | 暨南大学 | 基于区块链激励机制下可审计的隐私保护深度学习平台建设方法 |
WO2020209793A1 (en) * | 2019-04-11 | 2020-10-15 | Singapore Telecommunications Limited | Privacy preserving system for mapping common identities |
CN111461874A (zh) * | 2020-04-13 | 2020-07-28 | 浙江大学 | 一种基于联邦模式的信贷风险控制***及方法 |
-
2020
- 2020-10-30 CN CN202011192607.6A patent/CN112183765B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112183765A (zh) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112183765B (zh) | 一种用于共享学习的多源多模态数据预处理方法及*** | |
ES2957843T3 (es) | Verificación de procesos de datos en una red de recursos informáticos | |
CN102932136B (zh) | 用于管理加密密钥的***和方法 | |
US20080263645A1 (en) | Privacy identifier remediation | |
CN112800472B (zh) | 一种基于微服务架构工业互联网标识数据保护*** | |
US10635824B1 (en) | Methods and apparatus for private set membership using aggregation for reduced communications | |
KR20180116278A (ko) | 안전한 정보 교환과 계층 구조적이고 결정론적인 암호키를 위한 공통 비밀 결정 | |
CN117692170A (zh) | 通信方法和设备、折叠数据的方法和***以及计算机 | |
CN107209787A (zh) | 提高专用加密数据的搜索能力 | |
CN111368318B (zh) | 一种面向多模态区块链交易的客体追踪方法 | |
CN109547218B (zh) | 一种改进bip协议的联盟链节点秘钥分配及备份*** | |
CN112883015A (zh) | 区块链数据管理方法、设备及存储介质 | |
CN111698084B (zh) | 一种基于区块链的隐匿通信方法 | |
US12028458B2 (en) | Systems and methods for user identity | |
Sun et al. | Research on logistics information blockchain data query algorithm based on searchable encryption | |
Li et al. | An efficient blind filter: Location privacy protection and the access control in FinTech | |
Zhang et al. | A Secure and Privacy‐Preserving Medical Data Sharing via Consortium Blockchain | |
CN113315745A (zh) | 一种数据处理方法、装置、设备及介质 | |
Wen et al. | A Blockchain‐Based Privacy Preservation Scheme in Mobile Medical | |
CN115409511B (zh) | 一种基于区块链的个人信息保护*** | |
CN117009988A (zh) | 一种基于区块链的加密数据存储和查询方法 | |
Cheng et al. | Ocean data sharing based on blockchain | |
CN115208630A (zh) | 基于区块链的数据获取方法、***及区块链*** | |
Hong et al. | A Practical and Efficient Blockchain‐Assisted Attribute‐Based Encryption Scheme for Access Control and Data Sharing | |
KR20020020166A (ko) | 무선 데이터 통신에서의 양단간 데이터 암호화/복호화방법 및 장치 |
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 |