CN114022093B - 一种基于多方安全的数据协同计算方法、装置及设备 - Google Patents
一种基于多方安全的数据协同计算方法、装置及设备 Download PDFInfo
- Publication number
- CN114022093B CN114022093B CN202111108373.7A CN202111108373A CN114022093B CN 114022093 B CN114022093 B CN 114022093B CN 202111108373 A CN202111108373 A CN 202111108373A CN 114022093 B CN114022093 B CN 114022093B
- Authority
- CN
- China
- Prior art keywords
- data
- calculation
- participant
- instruction
- node
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于多方安全的数据协同计算方法、装置、计算机可读存储介质及设备,各个参与方在接收到计算指令后,根据计算指令对各自的数据集合进行数据切分,得到与多个参与方节点一一对应的多份分片数据,每个参与方负责相应的分片数据的处理,并且最终所有参与方再次从其他参与方获取对分片数据的处理结果,从而保证每个参与方最终得到相同的数据,分别执行计算指令后,得到相同的协同计算结果。由此,通过数据切分的方式,有效保证了各参与方的数据安全,并在此基础上,充分利用各参与方数据进行协同计算,有效发挥了各参与方数据的价值,有效解决了各参与方数据合作过程中的数据安全和隐私保护问题,打破了各参与方之间的数据孤岛。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于多方安全的数据协同计算方法、装置、计算机可读存储介质及设备。
背景技术
随着互联网技术的发展,大数据得到了非常广泛的应用,多个参与方针对同一个计算任务进行数据合作的数据处理方式也得到了推广。目前,针对多个参与方之间的数据合作主要采用如下方式:建立一个公有云数据中心,原始数据需要离开参与方,通过数据采集、数据加工、数据质控后汇集到一个公有云数据中心,公有云数据中心加工后的数据资源对各参与方进行开放和共享。
由于涉及多个参与方与公有云数据中心进行数据交互,需要很高的长链路数据通信成本,并且公有云数据中心的服务器要求非常高。此外,这里公有云数据中心的数据安全无法保证,导致多个参与方不愿意对这种方式的数据合作参与意愿非常低。
发明内容
本发明实施例为了解决多方数据计算过程中存在的上述问题,创造性地提供一种基于多方安全的数据协同计算方法、装置、计算机可读存储介质及设备。
根据本发明第一方面,提供了一种基于多方安全的数据协同计算方法,所述方法应用于数据合作的多个参与方节点中的第一参与方节点,所述第一参与方节点为多个参与方节点中的任一参与方节点,所述方法包括:接收中心调度节点发送的数据协同计算的计算指令;根据所述计算指令,对所述第一参与方节点的数据集合进行数据切分,得到多份第一分片数据,并将所述多份第一分片数据均分给所述多个参与方节点;从所述多个参与方节点中所述第一参与方节点之外的其他参与方节点获取与所述第一参与方节点对应的多份第二分片数据;基于所述多份第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,确定所述计算指令的协同计算结果。
根据本发明一实施方式,所述根据所述计算指令,对第一参与方节点的数据集合进行数据切分,包括:基于所述第一参与方节点的数据集合,确定针对所述计算指令的第一计算参数组;将所述第一计算参数组切分为多份第一分片数据;其中,每一所述第一分片数据对应于多个参与方节点中的一个参与方节点。
根据本发明一实施方式,基于所述多份第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,确定所述计算指令的协同计算结果,包括:基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,得到第一计算子结果;接收多个第二计算子结果,所述多个第二计算结果是所述多个参与方节点中所述第一参与方节点之外的其他多个参与方节点发送的;根据所述第一计算子结果和所述多个第二计算子结果,确定所述计算指令的协同计算结果。
根据本发明一实施方式,执行所述计算指令的计算操作,得到第一计算子结果之后,该方法还包括:将所述第一计算子结果发送给所述多个参与方节点中所述第一参与方节点之外的其他参与方节点。
根据本发明一实施方式,所述基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,得到第一计算子结果,包括:确定所述计算指令的子运算指令,所述子运算指令用于示出需要对所述第一参与方节点对应的所有分片数据执行的运算;基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述子运算指令,得到所述第一计算子结果。
根据本发明一实施方式,根据所述第一计算子结果和所述第二计算子结果,确定所述计算指令的协同计算结果,包括:对所述第一计算子结果和多个所述第二计算子结果进行多项式展开,得到执行所述计算指令的协同计算参数;对所述协同计算参数,执行所述计算指令,得到所述协同计算结果。
根据本发明一实施方式,所述方法还包括:将所述协同计算结果发送至所述中心调度节点,以使所述中心调度节点发送所述协同计算结果给终端进行显示。
根据本发明第二方面,还提供了一种基于多方安全的数据协同计算装置,所述装置应用于多个参与方节点中的第一参与方节点,所述第一参与方节点为多个参与方节点中的任一参与方节点,所述装置包括:指令接收模块,用于接收中心调度节点发送的数据协同计算的计算指令;分片模块,用于根据所述计算指令,对所述第一参与方节点的数据集合进行数据切分,得到多份第一分片数据,并将所述多份第一分片数据均分给所述多个参与方节点;获取模块,用于从所述多个参与方节点中所述第一参与方节点之外的其他参与方节点获取与所述第一参与方节点对应的多份第二分片数据;计算模块,用于基于与所述多份第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,确定所述计算指令的协同计算结果。
根据本发明第三方面,还提供了一种设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述基于多方安全的数据协同计算方法。
根据本发明第四方面,还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述基于多方安全的数据协同计算方法。
本发明实施例基于多方安全的数据协同计算方法、装置、计算机可读存储介质及设备,通过中心调度节点给各个参与方节点下发数据协同计算的计算指令,各个参与方在接收到计算指令后,根据计算指令对各自的数据集合进行数据切分,得到与多个参与方节点一一对应的多份分片数据,每个参与方负责相应的分片数据的处理,并且最终所有参与方再次从其他参与方获取对分片数据的处理结果,从而保证每个参与方最终得到相同的数据,分别执行计算指令后,得到相同的协同计算结果。由此,通过数据切分的方式,有效保证了各参与方的数据安全,并在此基础上,充分利用各参与方数据进行协同计算,最大程度的发挥了各参与方数据的价值,有效解决了各参与方数据合作过程中的数据安全和隐私保护问题,打破了各参与方之间难以桥接的数据孤岛。
需要理解的是,本发明的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本发明的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的应用场景示意图;
图2示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的实现流程示意图;
图3示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例中计算指令下发过程示意图;
图4示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的数据切分过程示意图;
图5示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的节点之间交换分片数据过程示意图;
图6示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的节点对分片数据的处理结果示意图;
图7示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的节点之间交换对分片数据处理结果的过程示意图;
图8示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的参与方节点向中心调度节点发送协同计算结果的过程示意图;
图9是本发明实施例提供的一种基于多方安全的数据协同计算装置的结构示意图;
图10是本发明实施例提供的一种设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为使本发明更加透彻和完整,并能够将本发明的范围完整地传达给本领域的技术人员。
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
图1示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的应用场景示意图。
参考图1,本发明一实施例提供的基于多方安全的数据协同计算方法可以应用于如图1所示的基于多方安全的数据协同计算系统中,数据协同计算系统可以分为中心调度节点和n个参与方节点,参与方的数量n可以根据实际情况确定,本发明对此不做限定。
中心调度节点部署在公有云环境中,本发明基于多方安全的数据协同计算系统中协同计算过程可以采用经典的Paillier加密,该加密算法是一种同态加密,满足加法和数乘同态。Paillier作为可证的安全加密系统,运算在密文状态下完成,能够解决模型训练过程中梯度聚合阶段的同态运算。
参与方节点可以部署在参与数据协同计算的参与方的私有云环境。具体的,参与方可以是医疗机构、公检法等政府职能部门、电商运营平台等需要进行多平台大数据进行协同计算的机构或平台。例如:数据协同计算系统的参与方可以包括医院、医学研究院、疾控中心等组成的多个参与方。同样的数据协同计算系统也可以包括银行、金融服务机构等组成的多个参与方。进一步的,数据协同计算系统还可以是包括电信、联通、移动等多家通信运营商组成的参与方。当然,数据协同计算系统还可以包括其他适用的多个参与方,本发明对此不做限定。
这里,数据协同计算可以采用多方安全计算,多方安全计算是一种隐私保护技术,主要针对无可信第三方的情况下,各参与方如何安全地计算一个约定函数的问题。能够实现数据不离开本地的情况下,完成计算任务。能够有效解决参与方合作过程中的数据安全和隐私保护问题,打破了各参与方之间难以桥接的数据孤岛。数据协同计算可以是医疗领域的临床研究可行性分析、大样本量队列研究、疾病预测模型、上市后药物再评价、药物市场洞察等过程中都可以采用多方安全计算。还可以是公检法等政府职能部门针对社会问题进行的统计和计算。也可以是电商平台等针对销售数据进行的商品受众分析计算等。当然,数据协同计算还可以是针对其他领域的数据协同计算。这里不做具体限定。
这里,可以以3家医疗机构的数据协同计算为例,对基于多方安全的数据协同计算系统进行进一步说明,需要说明的是,实际应用过程中,参与方的数量可以根据实际情况设定,这里图1只是对基于多方安全的数据协同计算系统的示例性说明。每一医疗机构的私有云环境部署一个计算节点,如此,参与方的计算节点与参与方的数据库原始数据部署在一起。为了体现计算节点分别部署在参与方私有云环境下,并且简化描述,以下图2中以参与方节点示出每一参与方的计算节点。
对于一个数据协同计算任务,可以包括以下数据处理操作,数据协同计算任务可以是进行数据统计或数据分析的特定算子。例如:一个约定函数,具体的,可以是求多个参与方的多个数据集合中数值的平均值。
首先,需要通过医疗机构的数据库所在服务器做数据预处理,确定参与数据协同计算的数据,可以通过API调用的方式,将参与方的数据库加载到数据协同计算系统运行状态的参与方的计算节点。
然后,中心调度节点通知所有的参与方的计算节点,完成特定算子的安全多方计算。该计算过程中心调度节点不参与计算;参与计算的计算节点在网络数据审计状态下通过加密信道以IDC(Internet Date Center,互联网数据中心)代理为中介完成通信和计算。
最后,中心调度节点从计算节点中收集安全计算结果,在中心调度节点的计算系统UI(User Interface,用户界面)层展现。
如此,在无可信第三方的情况下,各参与方数据不离开本地,各参与方在参与方的计算节点安全地对一个约定函数进行协同计算,最终每一参与方的计算节点可以得到相同的计算结果,中心调度节点可以从任一参与方的计算节点获取数据协同计算的结果。有效解决了医疗机构数据合作过程中的数据安全和隐私保护问题,打破了各参与方之间难以桥接的数据孤岛。
图2示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的实现流程示意图。参考图2,本发明实施例这一实施例提供的一种基于多方安全的数据协同计算方法,应用于多个参与方节点中的第一参与方节点,第一参与方节点为多个参与方节点中的任一参与方节点,方法至少包括如下操作流程:
操作201,接收中心调度节点发送的数据协同计算的计算指令。
在本发明这一实施方式中,参与方节点的数量是根据实际应用场景确定的。第一参与方节点可以是多个参与方节点中的任意一个,需要说明的是,这里以及文中其他部分所涉及的第一、第二等表达仅用于对方案的示例性描述,并不用于对连接关系、操作步骤的执行顺序等内容进行限定。
在本发明这一实施方式中,中心调度节点将数据协同计算任务以计算指令的形式下发给各个参与方节点。计算指令可以是进行数据统计或数据分析的特定算子,例如:一个约定函数,具体的,可以是求多个参与方的多个数据集合中数值的平均值。
操作202,根据计算指令,对第一参与方节点的数据集合进行数据切分,得到多份第一分片数据,并将多份第一分片数据均分给多个参与方节点。
在本发明这一实施方式中,可以采用如下操作实现根据计算指令,对第一参与方节点的数据集合进行数据切分:基于第一参与方节点的数据集合,确定针对计算指令的第一计算参数组;将第一计算参数组切分为多份分片数据,每一份分片数据对应于多个参与方节点中的一个参与方节点。将多份第一分片数据均分给多个参与方节点,是指第一参与方节点将得到的多个第一分片数据分别分发至包括第一参与方节点本身在内的多个参与方节点,每一个参与方节点均得到一份第一分片数据。
需要说明的是数据切分是一个对数据随机切分的过程,所以多份第一分片数据可以是不同的数据。这里,将多份第一分片数据均分给多个参与方节点,是指每一参与方节点分到的数据的份数是相同的。
举例说明,计算指令为求平均值,第一参与方节点的数据集合为[1,3,5,7,9],针对求平均值的计算指令,需要确定第一参与方节点的数据集合中所有数值的和以及数据集合中的数值的数量。由此,确定针对计算指令的第一计算参数组为<25,5>,25表示第一参与方的数据集合中所有数值的和为25,5表示第一参与方的数据集合中有5个数值。
此时,可以利用Shamir协议,将第一计算参数组切分为多份第一分片数据,第一分片数据的数量可以根据参与方的数量确定,例如,参与数据协同计算的参与方有3个,则第一参与方节点可以将<25,5>切分为3份。
举例说明,可以将25随机切分为3份分片数据,为每一参与方节点配置一份分片数据,将5随机切分3份分片数据,为每一参与方节点配置一份分片数据。
Shamir协议是基于门限秘密分享原理的多方安全计算的算法,具体的,可以采用Shamir-(t,n)门限秘密共享方式和伪随机的秘密分享方式,将第一计算参数组切分为多份第一分片数据。Shamir-(t,n)门限秘密共享方式支持m个参与方的安全计算时,能够容忍t个不诚实参与方,其中m>=1,0<=t<=(m-1)/2。Shamir-(t,n)门限秘密共享方式支持整形和浮点数算术运算、比较及位运算。
在本发明这一实施方式中,还在根据计算指令,对第一参与方节点的数据集合进行数据切分之前,对第一参与方节点的数据集合进行归一化处理。举例说明,可以采用数据词典的方式,对数据集合中的数据进行标准化处理,删除“null”等空数据。
操作203,从多个参与方节点中第一参与方节点之外的其他参与方节点获取与第一参与方节点对应的多份第二分片数据。
在本发明这一实施方式中,多个参与方节点两两交换分片数据。第一参与方节点从多个参与方节点中第一参与方节点之外的其他参与方节点获取与第一参与方节点对应的多份第二分片数据。如此,任意一个参与方节点都是从其他参与方节点分别获取到了一份随机的分片数据,无法通过从其他参与方节点所获取的分片数据进行逆向反推得到相应的参与方节点的数据。有效提升了参与方的数据安全性,显著提升参与方加入数据协同计算的积极性,从而有效利用大数据进行协同计算,提升数据协同计算的计算结果参考和使用价值。
操作204,基于多份第一分片数据和多份第二分片数据,执行计算指令的计算操作,确定计算指令的协同计算结果。
在本发明这一实施方式中,可以采用以下操作实现基于多份第一分片数据和多份第二分片数据,执行计算指令的计算操作,确定计算指令的协同计算结果:基于与第一参与方节点对应的第一分片数据和多份第二分片数据,执行计算指令的计算操作,得到第一计算子结果;接收多个第二计算子结果,多个第二计算结果是多个参与方节点中第一参与方节点之外的其他多个参与方节点发送的;根据第一计算子结果和多个第二计算子结果,确定计算指令的协同计算结果。
在本发明这一实施方式中,可以采用以下操作实现基于与第一参与方节点对应的第一分片数据和多份第二分片数据,执行计算指令的计算操作,得到第一计算子结果:确定计算指令的子运算指令,子运算指令用于示出需要对第一参与方节点对应的所有分片数据执行的运算;基于与第一参与方节点对应的第一分片数据和多份第二分片数据,执行子运算指令,得到第一计算子结果。
需要说明的是,每一个参与方节点执行子运算指令能够得到一个计算子结果,这里将参与方节点中的第一参与方节点执行计算指令得到的计算子结果称为第一计算子结果。
这里,计算指令是指协同计算的对多个参与方节点的数据进行处理得到最终的计算结果的计算指令,例如:求所有参与方节点的数据的平均值,那么计算指令就是求平均值,需要求所有参与方节点的数据的均方差,则计算指令为求均方差。而子运算指令则是针对计算指令进行的分解操作,举例说明,若计算指令为求平均值,则可以对数据进行求和,并确定多个参与方的数据所包含的数值的个数,那么,计算指令的子运算指令可以包括求和以及确定数值个数。
举例说明,计算指令为求平均值,第一参与方节点可以针对第一参与方节点对应的所有分片数据进行求和,得到第一计算子结果。具体的,可以得到第一参与方节点中所有数值的和的分片数据的求和结果,以及所有数值的数量的和的分片数据的求和结果。
在本发明这一实施方式中,多个参与方中每一参与方节点均执行操作204的计算得到一个计算子结果。此时,再次在多个参与方之间进行数据的两两交互,每一参与方节点从其他参与方节点获取计算子结果。如此,完成数据的两两交互后,每一参与方所具有的数据时一致的。
举例说明,第一参与方会从该第一参与方节点之外的其他所有参与方获取其他参与方节点的计算子结果。也会将该第一参与方节点的第一计算子结果发送给该第一参与方之外的其他所有参与方节点。
在本发明这一实施方式中,可以采用以下操作实现根据第一计算子结果和第二计算子结果,确定计算指令的协同计算结果:对第一计算子结果和多个第二计算子结果进行多项式展开,得到执行计算指令的协同计算参数;对协同计算参数,执行计算指令,得到协同计算结果。
这里,协同计算结果可以在多个参与方结果的至少一个参与方节点进行展示。同时,在本发明这一实施方式中,还将协同计算结果发送至中心调度节点,以在中心调度节点,通过中心调度节点的UI层展示。
以下以较常见的描述性统计分析中均值的协同计算为例,说明本发明一个实施例提供的基于多方安全的数据协同计算方法的具体应用示例中中心调度节点和多个参与方节点之间的数据处理和传输过程,这里以3个参与方计算节点为例对方案进行说明。需要说明的是,这里均值的协同计算仅仅是本发明基于多方安全的数据协同计算方法的示例性说明,本发明基于多方安全的数据协同计算方法可以应用于其他任意适用的协同计算过程中。
本发明这一实施例提供的基于多方安全的数据协同计算方法的具体应用示例中,基于多方安全的数据协同计算方法可以包括如下操作:
S1,中心调度节点Center下发均值计算指令至每一参与方计算节点Partyx,x为正整数,Partyx根据其本地数据库的数据集合分别计算本地的数据集合的和sum和数据集合的数值的量count。如图3所示,示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例中计算指令下发过程示意图。该操作中中心调度节点向每一参与方计算节点Partyx发送一次计算指令。
S2,参与方计算节点Partyx首先在本地对数据进行标准化处理,标准化处理可以是归一化处理。然后利用Shamir-(2,3)门限协议切分将每一个需要计算的数据切分成三部分。数据切分后得到的分片数据如图4所示,示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的数据切分过程示意图。将数值进行数据切分,拆分为三部分,每部分标记成<Party x,分片数据>。
S3,每一参与方计算节点之间通过交换分片数据,获得属于参与方计算节点的分片数据。多个参与方计算节点之间两两交互,将所有属于Party x的分片数据均存在Partyx节点上。如图5,示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的节点之间交换分片数据过程示意图。
S4,每一参与方计算节点在本地进行求和计算。图6示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的节点对分片数据的处理结果示意图,参与方计算节点Party x对属于自己的分片数据进行求和,Party x内部的两组分片数据分别求和得到图6中Party x的两个数据。
S5,根据Shamir门限中分片数据的线性特性,先天满足加法同态性。多个参与方计算节点之间两两交互,传输步骤S4中求和后的数据。传输前,各个参与方计算节点内含有两个求和后的数据,每个参与方计算节点数据不同。传输后,所有参与方计算节点得到相同的数据,均为步骤S4中的计算结果的全局视图。图7示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的节点之间交换对分片数据处理结果的过程示意图。
S6,多个参与方计算节点在本地利用Shamir协议多项式展开求和,图8示出了本发明一实施例提供的一种基于多方安全的数据协同计算方法的具体应用示例的参与方节点向中心调度节点发送协同计算结果的过程示意图。每个节点计算本地数据,并转换成可读整形形式<total_sum,total_count>=<83,14>。所有节点完成相同计算。最终,由Center从一个节点中获取均值计算结果avg=5.9286。该阶段存在Party x到Center的一次数据交互。
上述S1-S8的操作步骤,可以应用于医疗机构大数据等数据共享合作过程中,在保证数据安全的前提下充分释放了数据价值。
综上可知,本发明实施例基于多方安全的数据协同计算方法、装置、计算机可读存储介质及设备,配置中心调度节点和多个参与方节点,通过中心调度节点给各个参与方节点下发数据协同计算的计算指令,各个参与方在接收到计算指令后,根据计算指令对各自的数据集合进行数据切分,得到与多个参与方节点一一对应的多份分片数据,每个参与方负责相应的分片数据的处理,并且最终所有参与方再次从其他参与方获取对分片数据的处理结果,从而保证每个参与方最终得到相同的数据,分别执行计算指令后,得到相同的协同计算结果。由此,通过分片数据的方式,有效保证了各参与方的数据安全,并在此基础上,充分利用各参与方数据进行协同计算,最大程度的发挥了各参与方数据的价值,有效解决了各参与方数据合作过程中的数据安全和隐私保护问题,打破了各参与方之间难以桥接的数据孤岛。
进一步,基于上文基于多方安全的数据协同计算方法,本发明实施例还提供一种基于多方安全的数据协同计算装置,装置应用于数据合作的多个参与方节点中的第一参与方节点,第一参与方节点为多个参与方节点中的任一参与方节点,图9是本发明实施例提供的一种基于多方安全的数据协同计算装置的结构示意图,该装置90包括:指令接收模块901,用于接收数据合作的中心调度节点发送的数据协同计算的计算指令;分片模块902,用于根据计算指令,对第一参与方节点的数据集合进行数据切分,得到多份第一分片数据,并将多份第一分片数据均分给多个参与方节点;获取模块903,用于从多个参与方节点中第一参与方节点之外的其他参与方节点获取与第一参与方节点对应的多份第二分片数据;计算模块904,用于基于多份第一分片数据和多份第二分片数据,执行计算指令的计算操作,确定计算指令的协同计算结果。
根据本发明一实施方式,分片模块902包括:参数确定子模块,用于基于第一参与方节点的数据集合,确定针对计算指令的第一计算参数组;分片子模块,用于将第一计算参数组切分为多份第一分片数据;其中,每一第一分片数据对应于多个参与方节点中的一个参与方节点。
根据本发明一实施方式,计算模块904包括:第一计算子模块,用于基于与第一参与方节点对应的第一分片数据和多份第二分片数据,执行计算指令的计算操作,得到第一计算子结果;数据交换子模块,用于收多个第二计算子结果,多个第二计算结果是多个参与方节点中第一参与方节点之外的其他多个参与方节点发送的;结果确定子模块,用于根据第一计算子结果和多个第二计算子结果,确定计算指令的协同计算结果。
根据本发明一实施方式,装置还包括:结果发送模块,用于在执行计算指令的计算操作,得到第一计算子结果之后,将第一计算子结果发送给多个参与方节点中第一参与方节点之外的其他参与方节点。
根据本发明一实施方式,第一计算子模块包括:指令确定单元,用于确定计算指令的子运算指令,子运算指令用于示出需要对第一参与方节点对应的所有分片数据执行的运算;运算单元,用于基于与第一参与方节点对应的第一分片数据和多份第二分片数据,执行子运算指令,得到第一计算子结果。
根据本发明一实施方式,结果确定子模块包括:展开单元,用于对第一计算子结果和多个第二计算子结果进行多项式展开,得到执行计算指令的协同计算参数;协同计算单元,用于对协同计算参数,执行计算指令,得到协同计算结果。
根据本发明一实施方式,装置还包括:发送单元将协同计算结果发送至中心调度节点。
根据本发明一实施方式,装置还包括:展示单元,用于将协同计算结果发送至中心调度节点,以使中心调度节点发送协同计算结果给终端进行显示。
图10是本发明实施例提供的一种设备的结构示意图。在硬件层面,该设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成基于多方安全的数据协同计算装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本发明任一实施例中提供的基于多方安全的数据协同计算方法。
上述如本发明图9所示实施例提供的基于多方安全的数据协同计算装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本发明任一实施例中提供的基于多方安全的数据协同计算方法,并具体用于执行如图1~图8所示的方法。
前述各个实施例中的电子设备可以为计算机。
本领域内的技术人员应明白,本发明的实施例可提供为方法或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (9)
1.一种基于多方安全的数据协同计算方法,其特征在于,所述方法应用于数据合作的多个参与方节点中的第一参与方节点,所述第一参与方节点为多个参与方节点中的任一参与方节点,所述方法包括:
接收中心调度节点发送的数据协同计算的计算指令;其中,所述中心调度节点部署在公有云环境中,所述参与方节点部署在私有云环境中;
根据所述计算指令,对所述第一参与方节点的数据集合进行数据切分,得到多份第一分片数据,并将所述多份第一分片数据均分给所述多个参与方节点,其中,每一参与方节点分到的数据的份数是相同的;
从所述多个参与方节点中所述第一参与方节点之外的其他参与方节点获取与所述第一参与方节点对应的多份第二分片数据;
基于所述多份第一分片数据和所述多份第二分片数据,执行所述计算指令的计算操作,确定所述计算指令的协同计算结果;
其中,基于所述多份第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,确定所述计算指令的协同计算结果,包括:
基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,得到第一计算子结果;
接收多个第二计算子结果,所述多个第二计算子 结果是所述多个参与方节点中所述第一参与方节点之外的其他多个参与方节点发送的;
根据所述第一计算子结果和所述多个第二计算子结果,确定所述计算指令的协同计算结果。
2.根据权利要求1所述的方法,其特征在于,所述根据所述计算指令,对第一参与方节点的数据集合进行数据切分,包括:
基于所述第一参与方节点的数据集合,确定针对所述计算指令的第一计算参数组;
将所述第一计算参数组切分为多份第一分片数据;
其中,每一所述第一分片数据对应于多个参与方节点中的一个参与方节点。
3.根据权利要求1所述的方法,其特征在于,执行所述计算指令的计算操作,得到第一计算子结果之后,该方法还包括:
将所述第一计算子结果发送给所述多个参与方节点中所述第一参与方节点之外的其他参与方节点。
4.根据权利要求1所述的方法,其特征在于,所述基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,得到第一计算子结果,包括:
确定所述计算指令的子运算指令,所述子运算指令用于示出需要对所述第一参与方节点对应的所有分片数据执行的运算;
基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述子运算指令,得到所述第一计算子结果。
5.根据权利要求1所述的方法,其特征在于,根据所述第一计算子结果和所述第二计算子结果,确定所述计算指令的协同计算结果,包括:
对所述第一计算子结果和多个所述第二计算子结果进行多项式展开,得到执行所述计算指令的协同计算参数;
对所述协同计算参数,执行所述计算指令,得到所述协同计算结果。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
将所述协同计算结果发送至所述中心调度节点,以使所述中心调度节点发送所述协同计算结果给终端进行显示。
7.一种基于多方安全的数据协同计算装置,其特征在于,所述装置应用于多个参与方节点中的第一参与方节点,所述第一参与方节点为多个参与方节点中的任一参与方节点,所述装置包括:
指令接收模块,用于接收中心调度节点发送的数据协同计算的计算指令;其中,所述中心调度节点部署在公有云环境中,所述参与方节点部署在私有云环境中;
分片模块,用于根据所述计算指令,对所述第一参与方节点的数据集合进行数据切分,得到多份第一分片数据,并将所述多份第一分片数据均分给所述多个参与方节点,其中,每一参与方节点分到的数据的份数是相同的;
获取模块,用于从所述多个参与方节点中所述第一参与方节点之外的其他参与方节点获取与所述第一参与方节点对应的多份第二分片数据;
计算模块,用于基于与所述多份第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,确定所述计算指令的协同计算结果;
其中,所述计算模块包括:
第一计算子模块,用于基于与所述第一参与方节点对应的第一分片数据和多份第二分片数据,执行所述计算指令的计算操作,得到第一计算子结果;
数据交换子模块,用于接收多个第二计算子结果,所述多个第二计算子 结果是所述多个参与方节点中所述第一参与方节点之外的其他多个参与方节点发送的;
结果确定子模块,用于根据所述第一计算子结果和所述多个第二计算子结果,确定所述计算指令的协同计算结果。
8.一种设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一项所述的基于多方安全的数据协同计算方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一项所述的基于多方安全的数据协同计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108373.7A CN114022093B (zh) | 2021-09-22 | 2021-09-22 | 一种基于多方安全的数据协同计算方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111108373.7A CN114022093B (zh) | 2021-09-22 | 2021-09-22 | 一种基于多方安全的数据协同计算方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114022093A CN114022093A (zh) | 2022-02-08 |
CN114022093B true CN114022093B (zh) | 2023-03-24 |
Family
ID=80054503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111108373.7A Active CN114022093B (zh) | 2021-09-22 | 2021-09-22 | 一种基于多方安全的数据协同计算方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114022093B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037434B (zh) * | 2022-04-29 | 2023-04-21 | 北京龙腾佳讯科技股份公司 | 基于隐私计算的多方数据安全计算方法及系统 |
CN115037436B (zh) * | 2022-04-29 | 2023-09-29 | 北京龙腾佳讯科技股份公司 | 安全多方计算数据均值的方法及系统 |
CN114615282B (zh) * | 2022-05-10 | 2022-08-23 | 富算科技(上海)有限公司 | 多方安全计算方法、电子设备及可读存储介质 |
CN115617897B (zh) * | 2022-11-04 | 2023-03-14 | 华控清交信息科技(北京)有限公司 | 一种数据类型转换方法和多方安全计算系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2710410A1 (en) * | 2009-07-21 | 2011-01-21 | Cellco Partnership D/B/A/ Verizon Wireless | Systems and methods for shared secret data generation |
CN111931253A (zh) * | 2020-09-15 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 基于节点群的数据处理方法、系统、设备和介质 |
CN112184219A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262094A1 (en) * | 2004-05-20 | 2005-11-24 | Bea Systems, Inc. | Systems and methods for enterprise collaboration |
CN109726563B (zh) * | 2017-10-31 | 2020-11-03 | 创新先进技术有限公司 | 一种数据统计的方法、装置以及设备 |
CN110633167A (zh) * | 2018-06-22 | 2019-12-31 | 上海赢亥信息科技有限公司 | 一种数字资产灾害恢复方法 |
CN109255247B (zh) * | 2018-08-14 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 多方安全计算方法及装置、电子设备 |
CN109144731B (zh) * | 2018-08-31 | 2024-08-09 | 中国平安人寿保险股份有限公司 | 数据处理方法、装置、计算机设备及存储介质 |
CN112751665B (zh) * | 2019-10-30 | 2022-12-09 | 阿里巴巴(中国)网络技术有限公司 | 一种安全多方计算方法、设备、系统及存储介质 |
CN112000990B (zh) * | 2020-10-27 | 2021-02-05 | 支付宝(杭州)信息技术有限公司 | 隐私保护的数据处理方法、装置、设备及机器学习系统 |
CN112395642B (zh) * | 2020-11-20 | 2024-02-13 | 湖南智慧政务区块链科技有限公司 | 一种安全多方隐私计算方法、装置、设备及存储介质 |
-
2021
- 2021-09-22 CN CN202111108373.7A patent/CN114022093B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2710410A1 (en) * | 2009-07-21 | 2011-01-21 | Cellco Partnership D/B/A/ Verizon Wireless | Systems and methods for shared secret data generation |
CN111931253A (zh) * | 2020-09-15 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 基于节点群的数据处理方法、系统、设备和介质 |
CN112184219A (zh) * | 2020-09-22 | 2021-01-05 | 远光软件股份有限公司 | 安全多方计算方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114022093A (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114022093B (zh) | 一种基于多方安全的数据协同计算方法、装置及设备 | |
CN106682825A (zh) | 一种基于区块链的社会物联网信用评估系统和评估方法 | |
CN108985954B (zh) | 一种建立各标识的关联关系的方法以及相关设备 | |
CN111611618A (zh) | 一种数据统计方法和装置 | |
CN114595835B (zh) | 基于联邦学习的模型训练方法及装置、设备、存储介质 | |
WO2017015007A8 (en) | Systems and methods for establishing message routing paths through a computer network | |
CN110648241B (zh) | 一种基于微服务架构的理赔处理方法及装置 | |
CN108733698B (zh) | 一种日志消息的处理方法及后台服务系统 | |
CN116488789B (zh) | 一种数据处理方法、装置、设备和介质 | |
CN112600830B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
CN110958107A (zh) | 基于区块链的电子投票方法、设备及存储介质 | |
CN107222410B (zh) | 链接预测的方法、装置、终端及计算机可读存储介质 | |
CN114155083A (zh) | 基于区块链的交易检测方法、装置、设备及可读存储介质 | |
CN115688185A (zh) | 多方隐私求和方法、装置、电子设备和存储介质 | |
CN114024960A (zh) | 多方安全计算方法、装置、系统、存储介质及设备 | |
Folke et al. | An evaluation of digital partner notification tool engagement and impact for patients diagnosed with gonorrhea and syphilis | |
CN107196918A (zh) | 一种匹配数据的方法和装置 | |
CN112685788B (zh) | 数据处理方法和装置 | |
CN117171779B (zh) | 基于交集保护的数据处理装置 | |
CN117033012A (zh) | 接口调用黑名单的查询方法及装置、电子设备及存储介质 | |
CN111800546A (zh) | 构建识别模型以及识别的方法、装置、系统和电子设备 | |
CN115865323A (zh) | 一种基于秘密分享和ot协议的皮尔逊相关系数计算方法 | |
CN111241404A (zh) | 一种信息推荐方法、装置及计算机可读存储介质 | |
CN115982747A (zh) | 安全多方乘法运算方法及其装置、设备、介质及产品 | |
CN110958120B (zh) | 基于区块链的电子投票方法、设备及存储介质 |
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 |