CN111428276A - 一种数据处理的方法、装置、设备和介质 - Google Patents

一种数据处理的方法、装置、设备和介质 Download PDF

Info

Publication number
CN111428276A
CN111428276A CN202010195829.7A CN202010195829A CN111428276A CN 111428276 A CN111428276 A CN 111428276A CN 202010195829 A CN202010195829 A CN 202010195829A CN 111428276 A CN111428276 A CN 111428276A
Authority
CN
China
Prior art keywords
data processing
value
parameter value
random number
target difference
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010195829.7A
Other languages
English (en)
Other versions
CN111428276B (zh
Inventor
刘洋
张�雄
秦姝琦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010195829.7A priority Critical patent/CN111428276B/zh
Publication of CN111428276A publication Critical patent/CN111428276A/zh
Application granted granted Critical
Publication of CN111428276B publication Critical patent/CN111428276B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Abstract

本申请是关于一种数据处理的方法、装置、设备和介质,应用于分布式的数据处理系统中的多个数据处理设备,该数据处理的方法包括,每一数据处理设备将秘密值设置为参数值的初始值,并循环执行以下步骤:在接收到前一数据处理设备发送的第一目标差值时,根据第一目标差值更新自身的参数值以及当前时刻达到根据预设概率分布算法生成的泊松时刻时,将自身的参数值与随机数确定的第二目标差值发送至后一数据处理设备并将参数值更新为该随机数,使得后一数据处理设备根据第二目标差值更新自身的参数值。最后根据获取的各参数值确定目标值。采用本申请的技术,在互不信任的参与方进行协同计算时保护了参与方的隐私,提高了数据安全性,实现了去中心化。

Description

一种数据处理的方法、装置、设备和介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据处理的方法、装置、设备和介质。
背景技术
随着技术的发展,先进的技术,如计算机网络技术、通讯技术和多媒体技术等共同构成了协同计算环境,使得多个参与方(如,服务器)能够协调一致地为某项任务而共同工作,即协同计算。
然而,对于互不信任的参与方之间的协同计算,各参与方需要在不将自身参与计算的秘密值泄露给其它参与方的前提下,对各参与方的秘密值进行计算。
由此,当互不信任的参与方进行协同计算时,如何不泄露参与方的秘密值,提高数据的安全性,以及实现去中心化,是一个亟待解决的问题。
发明内容
本申请实施例提供一种数据处理的方法、装置、设备和介质,用以在互不信任的参与方进行协同计算时,避免泄露秘密值,提高数据安全性,以及实现去中心化。
一方面,提供一种数据处理的方法,应用于分布式的数据处理系统中的多个数据处理设备,包括:
当确定接收到前一数据处理设备发送的第一目标差值时,当前数据处理设备根据第一目标差值,对获取的自身的参数值进行更新,获得更新后的参数值;以及,
当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并将根据自身的参数值与随机数生成的第二目标差值发送至后一数据处理设备,以及将自身的参数值更新为随机数;
根据更新后的参数值以及各历史参数值,确定目标值,并根据目标值执行相应的操作;
其中,每一数据处理设备将自身存储的秘密值作为自身的参数值的初始值,第一目标差值为前一数据处理设备根据自身的参数值与自身生成的随机数确定的,第二目标差值用于使得后一数据处理设备根据第二目标差值更新自身的参数值。
一方面,提供一种数据处理装置,应用于分布式的数据处理系统中的多个数据处理设备,包括:
更新单元,用于当确定接收到前一数据处理设备发送的第一目标差值时,根据第一目标差值,对获取的自身的参数值进行更新,获得更新后的参数值;以及,
当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并将根据自身的参数值与随机数生成的第二目标差值发送至后一数据处理设备,以及将自身的参数值更新为随机数;
执行单元,用于根据更新后的参数值以及各历史参数值,确定目标值,并根据目标值执行相应的操作;
其中,每一数据处理设备将自身存储的秘密值作为自身的参数值的初始值,第一目标差值为前一数据处理设备根据自身的参数值与自身生成的随机数确定的,第二目标差值用于使得后一数据处理设备根据第二目标差值更新自身的参数值。
一方面,提供一种数据处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行上述任一种数据处理的方法的步骤。
一方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一种数据处理的方法的步骤。
本申请实施例提供的一种数据处理的方法、装置、设备和介质中,应用于数据处理系统中的多个数据处理设备,每一数据处理设备将待协同计算的秘密值设置为参数值的初始值,并循环执行以下步骤:在接收到前一数据处理设备发送的第一目标差值时,根据第一目标差值更新自身的参数值,以及当前时刻达到根据预设概率分布算法生成的泊松时刻时,将自身的参数值与随机数的第二目标差值发送至后一数据处理设备,并将参数值更新为该随机数,使得后一数据处理设备根据第二目标差值更新自身的参数值。最后,根据多次循环操作获取的所有参数值确定目标值,这样,在互不信任的参与方进行协同计算时,每一数据处理设备均会产生随机数,并将根据随机数和参数值生成的第二目标差值,发送至后一数据处理设备,每一数据处理设备均有均等的机会生成随机数以及与其它数据处理设备进行通信,不需要其它数据处理设备广播目标值,各数据处理设备的地位平等,实现了去中心化,保证了各数据处理设备的秘密值的安全性。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施方式中一种数据处理系统架构示意图;
图2为本申请实施方式中一种数据处理的方法的实施流程图;
图3为本申请实施方式中一种目标值变化示意图;
图4为本申请实施方式中一种参数值更新的详细流程图;
图5为本申请实施方式中一种数据处理装置的结构示意图;
图6为本申请实施方式中一种数据处理设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
首先,对本申请实施例中涉及的部分用语进行说明,以便于本领域技术人员理解。
终端设备:可以安装各类应用,并且能够将已安装的应用中提供的对象进行显示的设备,该电子设备可以是移动的,也可以是固定的。例如,手机、平板电脑、各类可穿戴设备、车载设备、个人数字助理(personal digital assistant,PDA)、销售终端(point ofsales,POS)或其它能够实现上述功能的电子设备等。
数据处理设备:可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器,还可以是终端设备,各数据处理设备之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
泊松分布:是描述离散型随机变量的一种概率分布。泊松分布适合于描述单位时间内随机事件发生的次数的概率分布。如某一服务设施在一定时间内受到的服务请求的次数,电话交换机接到呼叫的次数、汽车站台的候客人数、机器出现的故障数、自然灾害发生的次数、DNA序列的变异数、放射性原子核的衰变数等。本申请实施例中,泊松时钟响起的泊松时刻,符合泊松分布。
泊松时钟:是一种随机在泊松时刻响起的时钟,泊松时刻的产生是一个泊松随机过程,泊松时刻符合泊松分布。
协同计算:是指先进的技术,如计算机网络技术、通讯技术以及多媒体技术等共同构成了协同计算环境,使得多个参与方(如,设备)能够协调一致地为某项任务而共同工作。
安全多方计算:在不将参与方的秘密值泄露给其它参与成员的前提下,多个参与方对各参与方的秘密值进行协同计算。其中,秘密值为参与方需要安全保护以避免泄露的数值,不同的参与方存储的秘密值可能相同,也可能不同。
下面介绍本申请实施例的设计思想。
随着技术的发展,先进的技术,如计算机网络技术、通讯技术以及多媒体技术等共同构成了协同计算环境,使得多个参与方(如,设备)能够协调一致地为某项任务而共同工作,即协同计算。
由于数据的重要性越来越高,因此,在互不信任的多个参与方进行协同计算时,通常采用安全多方计算的方式,在不将参与方的秘密值泄露给其它参与成员的前提下,对各参与方的秘密值进行计算。
但是,传统的安全多方计算方式,容易造成参与方的秘密值的泄露,数据的安全性较差,并且各参与方通常采用中心化设定,使得各参与方的地位不平等。
显然,传统技术中,并没有提供一种可以提高数据安全性,以及符合去中心化设定的技术方案,因此,亟待需要一种数据处理的技术方案,在互不信任的参与方进行协同计算时,避免参与方的秘密值的泄露,提高数据的安全性,并且符合去中心化设定,实现各参与方的平等性。
鉴于以上分析和考虑,本申请实施例中,每一参与方中可以将自己的秘密值作为初始的参数值,并在每一参与方中设置一个泊松时钟,使得每一参与方每次在自己的泊松时钟响起时生成随机数,并将当前的参数值与随机数的目标差值发送至后一个参与方,以及将参数值更新为该随机数,并使得后一参与方将自身的参数值与接收的目标差值的加和作为新的参数值。
也就是说,等价于在离散时刻t=1、2……,重复执行以下步骤:从所有参与方中均等概率的选出一个参与方,使得该参与方生成随机数,并将当前的参数值与随机数的目标差值发送至后一个参与方,以及将参数值更新为该随机数,并使得后一参与方将自身的参数值与接收的目标差值的加和作为新的参数值。
在多次参数值更新的过程中,各参与方的秘密值和随机数不断传递以及累加,累加过程中被增加的随机数也逐渐被抵消,直至趋近于无,使得每一参与方的参数值在随机数,以及越来越趋近于各秘密值的加和两者之间不断变换。因此,随着时间的增加,每一参与方根据各参数值确定的目标值,即为逐渐趋近于各秘密值的加和。
由此,本申请实施例中提供了一种数据处理的方案,该方案,应用于数据处理系统中的多个数据处理设备,每一数据处理设备将待协同计算的秘密值设置为参数值的初始值,并循环执行以下步骤:当数据处理设备接收到前一数据处理设备发送的第一目标差值时,根据第一目标差值对自身的参数值进行更新,其中,第一目标差值为前一数据处理设备自身的参数值与自身生成的随机数;以及,当前时刻达到根据预设概率分布算法生成的泊松时刻时,将根据自身的参数值与随机数确定的第二目标差值,发送至后一数据处理设备,并将自身的参数值更新为该随机数,使得后一数据处理设备根据第二目标差值更新自身的参数值。数据处理设备在更新后的参数值以及各历史参数值中,筛选出指定时间段内的各参数值,并确定筛选出的各参数值中的最大参数值,以及将最大参数值,确定为目标值,并根据目标值执行相应的操作。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。方法在实际的处理过程中或者设备执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
参阅图1所示,为一种数据处理系统架构示意图。该数据处理系统100是分布式的,包括多个数据处理设备101。每一数据处理设备101均存储有待协同计算的秘密值,并将自身存储的秘密值设置为指定参数对应的参数值的初始值。图1中仅以数据处理系统100中包括4个数据处理设备101为例进行说明,实际应用中,数据处理设备101的数量,可以根据实际应用场景进行设置,在此不再赘述。
每一数据处理设备101循环执行步骤,直到达到预设结束时间T:当接收到前一数据处理设备101发送的第一目标差值时或当前时刻达到根据预设概率分布算法生成的泊松时刻时,对参数值进行更新,并存储参数值。
接着,数据处理设备101根据各历史参数值以及更新后的参数值,确定目标值。
其中,T为预设结束时间,预设结束时间T可以根据实际应用场景进行设置,例如,T=4000s,在此不再赘述。随机数是按照预设的随机数生成算法的,符合均值为预设数值,方差随时间衰减的概率分布。
可选的,预设概率分布算法可以为泊松分布算法,泊松时刻是离散时刻,符合泊松分布。
其中,对参数值进行更新时,可以采用以下方式中的任意一种:
第一种方式为:当数据处理设备101接收到前一数据处理设备101发送的第一目标差值时,根据接收的第一目标差值,对自身的参数值进行更新,获得更新后的参数值。
第二种方式为:当数据处理设备101确定当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并根据自身的参数值与随机数,生成第二目标差值,并将第二目标差值发送至后一数据处理设备101,以及将自身的参数值更新为随机数。
其中,第一目标差值为前一数据处理设备101根据自身存储的参数值与自身生成的随机数确定的。
需要说明的是,针对任意一个数据处理设备101,确定泊松时刻时,可以采用以下几种方式:
第一种方式为:该数据处理设备101根据预设概率分布算法生成泊松时刻。
第二种方式为:第三方设备根据预设概率分布算法生成泊松时刻,并将生成的泊松时刻发送至该数据处理设备101。
其中,第三方设备可以为各数据处理设备101中的设备,也可以为其它设备,在此不做限制。
也就是说,泊松时刻可以为数据处理设备101自身生成的,也可以为第三方设备统一发送的。
一种实施方式中,数据处理设备101中设置有泊松时钟。每一数据处理设备101在自己的泊松时钟响起时,确定当前时刻达到泊松时刻。
需要说明的是,每一数据处理设备101中的泊松时钟是相互独立的,也就是说,每一数据处理设备101均按照自己的泊松时钟,触发随机数的生成,各数据处理设备101之间互不影响随机数的生成。但是,由于各数据处理设备101的泊松时刻均是按照泊松分布生成的,因此,等价于在每一设定时间区间内,各数据处理设备101中均等概率地推出一个数据处理设备101执行随机数生成操作。其中,设定时间区间可以通过泊松分布算法中的相应参数设置,也就是说,设定时间区间可以根据实际应用场景进行设置。
例如,在每1s内,各数据处理设备101中等概率地推出一个数据处理设备101执行随机数生成操作。
需要说明的是,本申请实施例中,仅以先根据第一目标值更新参数值,后根据随机数更新参数值为例进行说明,实际应用中,数据处理设备101是根据更新条件触发参数值更新的。所谓更新触发条件即接收到前一数据处理设备101发送的第一目标差值或当前时刻达到根据预设概率分布算法生成的泊松时刻。因此,上述两种参数值更新方式的执行顺序以及执行次数,不做具体限定。
例如,泊松时钟分别在1s、3s和5s时刻响起,则数据控制设备根据泊松时钟,依次在1s、3s和5s生成随机数,并根据生成的随机数更新参数值,然后,确定接收到前一数据处理设备101发送的第一目标差值,并根据第一目标差值,更新参数值。
本申请实施例中,数据处理系统中包含的各数据处理设备101作为安全多方计算的参与方,每一数据处理设备101中均存储有自身的秘密值,不同数据处理设备101的秘密值可能相同,也可能不同,各数据处理设备101均有相同的概率生成随机数,以及均有相同的概率与其它数据处理设备101通信,使得各数据处理设备101处于相同的地位,实现了去中心化,并且由于每一数据处理设备101均会产生随机数,因此,每一数据处理设备101的秘密值,均不会泄露给其它数据处理设备101,提高了数据安全性。
参阅图2所示,为本申请提供的一种数据处理的方法的实施流程图。应用于数据处理系统中的多个控制系统,该方法的具体流程如下:
步骤200:每一数据处理设备将需要协同计算的秘密值,设置为指定参数的参数值。
具体的,每一数据处理设备的参数值的初始值为自身需要协同计算的秘密值。
其中,不同数据处理设备的秘密值可能相同,也可能不同。
假设A表示数据处理设备,k表示数据处理设备的序号,为正整数,sk表示数据处理设备Ak的秘密值,则每一数据处理设备Ak设置参数值xk(0)=sk
这样,就可以将秘密值设置为参数值的初始值。
步骤201:每一数据处理设备确定满足更新条件时,更新参数值。
执行步骤201时,每一数据处理设备循环执行以下步骤,直至达到预设结束时间T:
当接收到前一数据处理设备发送的第一目标差值或当前时刻达到根据预设概率分布算法生成的泊松时刻时,更新参数值。
具体的,当数据处理设备接收到前一数据处理设备发送的第一目标差值时,根据接收的第一目标差值,对自身的参数值进行更新,以及当数据处理设备确定当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并将自身的参数值更新为随机数。
需要说明的是,数据处理设备在生成随机数之后,在更新参数值之前,根据自身的参数值与随机数,生成第二目标差值,并将第二目标差值发送至后一数据处理设备。
也就是说,当一个数据处理设备生成一个随机数时,会触发两个数据处理设备更新自身的参数值。
其中,数据处理设备根据自身的参数值与随机数生成第二目标差值时,可以采用以下两种方式:
第一种方式为:数据处理设备将存储的参数值与随机数的差值,确定为第二目标差值。
第二种方式为:数据处理设备确定调控参数与随机数的乘积,并将存储的参数值与该乘积的差值,确定为第二目标差值。
其中,前一数据处理设备确定第一目标差值时,可以采用以下两种方式:
第一种方式为:前一数据处理设备将存储的参数值与随机数的差值,确定为第一目标差值。
第二种方式为:前一数据处理设备确定调控参数与随机数的乘积,并将存储的参数值与该乘积的差值,确定为第一目标差值。
其中,调控参数可以为固定数值,如,0.5,也可以为根据时间确定的数值,如,调控参数为1/t,其中,t为时间。
实际应用中,调控参数可以根据实际应用场景进行设置,在此不做限制。
通过调控参数,可以将随机数增大或减小,进而影响协同计算的处理速度。显然,随机数越大,目标值确定的周期越长,反之,目标值确定的周期越短。
也就是说,第一目标差值是前一数据处理设备根据自身的参数值与自身生成的随机数确定的。第二目标差值是数据处理设备根据自身参数值和自身生成的随机数确定的。
其中,第二目标差值用于使得后一数据处理设备根据第二目标差值更新自身的参数值。后一数据处理设备接收到第二目标差值时,根据接收的第二目标差值,对自身的参数值进行更新。
一种实施方式中,根据第一目标差值,更新参数值时,数据处理设备可以采用以下步骤:
数据处理设备将第一目标差值与自身的参数值的和,确定为新的参数值。
一种实施方式中,当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,可以采用以下步骤:
循环执行以下步骤:根据泊松分布算法生成泊松时刻,当前时刻达到该泊松时刻时,按照预设的随机数生成算法,生成随机数。
其中,泊松时刻符合泊松分布,是离散的时刻。每一数据处理设备的泊松时刻可以为该数据处理设备生成的,也可以为第三方设备根据泊松分布算法生成并发送的。
其中,随机数符合均值为预设数值,方差随时间衰减的概率分布。
方差随时间衰减即limt→∞vk(t)=0。k表示数据处理设备的序号,k为正整数,v表示方差,t表示时间,t=1、2……。
例如,数据处理设备可以根据均值为0,方差vk(t)=1/(t+1)的高斯分布产生随机数。
这样,随着时间的增加,方差逐渐趋于零,各次生成的随机数也越来越趋于零,参数值在迭代更新的过程中,被增加的随机数也逐渐被抵消,直至趋近于无,使得参数值在随机数,以及越来越趋近于各秘密值的加和两者之间不断变换。
步骤202:数据处理设备根据更新后的参数值,以及各历史参数值,确定目标值。
具体的,数据处理设备在更新后的参数值以及各历史参数值中,筛选出指定时间段内的各参数值,并确定筛选出的各参数值中的最大参数值,以及将最大参数值,确定为目标值。
其中,各历史参数值为更新前的各参数值。数据处理设备在每次获取更新后的参数值后,对更新前的参数值和更新后的参数值均进行存储。
一种实施方式中,指定时间段为预设结束时间T之前的设定时长(如,100s)内。
实际应用中,预设结束时间和设定时长均可以根据实际应用场景进行设置,在此不做限制。
这样,数据处理设备就可以获取更新后的参数值,以及更新前的各历史参数值,从而确定参数值的数据变化趋势。
假设数据处理系统中包括多个数据处理设备,每一数据处理设备Ak中均存储有一个秘密值sk,A表示数据处理设备,k表示数据处理设备的序号,为正整数,sk表示数据处理设备Ak的秘密值,sk∈[-100,1000],t表示时间,t=1、2……,xk表示数据处理设备Ak的参数值,h表示指定时间段的起始时间,T表示预设结束时间,即指定时间段的结束时间,T=4000,zk为数据处理设备Ak的目标值。
则每一数据处理设备Ak设置参数值xk(0)=sk。zk(h)=max{|xk(t)|:h≤t≤T},目标值zk(h)为时间区间[h,T]之间的各参数值xk(t)的最大值。
参阅图3所示,为一种目标值变化示意图。横坐标为起始时间h,纵坐标为目标值zk。通过图3可以看出,随着时间的增加,随机数逐渐趋于零,目标值zk(h)在迭代过程中被增加的随机数逐渐抵消,因此,目标值zk(h)先呈下降趋势,然后逐渐稳定下来。当h=3500时,zk(3500)=max{|xk(t)|:3500≤t≤4000}=41.4。
由于参数值在迭代更新的过程中,被增加的随机数也逐渐被抵消,直至趋近于无,使得参数值在随机数,以及越来越趋近于各秘密值的加和两者之间不断变换。因此,随着时间的增加,根据各参数值确定的目标值逐渐趋近于各秘密值的加和。
步骤203:数据处理设备根据确定出的目标值执行相应的操作。
具体的,执行的相应操作可以为输出目标值,也可以为将目标值作为输入值,执行后续的数据运算,在此不做限制。
例如,目标值为用户总数,以及消费总数,则通过消费总数和用户总数,可以输出用户的平均消费数量。
下面采用两个应用场景,对上述数据处理方法的应用进行举例说明。
一种应用场景为:多家动漫公司,各自掌握着自身平台用户的月消费数据,并且该月消费数据属于各公司机密,各动漫公司需要统计所有平台用户的月消费数据的统计数据,统计数据可以为平均值以及方差等。
则各动漫公司的服务器先分别确定自身平台用户的月消费数值的消费加和,并设置参数值的初始值为消费加和。然后,各服务器根据自身的消费加和,采用上述步骤200-步骤203,确定所有平台用户的月消费总值。以及各服务器分别确定自身平台用户的用户总数,并设置参数值的初始值为用户总数,各平台根据自身的用户总数,采用上述步骤200-步骤203,确定所有平台用户的平台用户总数。
最后,服务器根据确定出的月消费总值和平台用户总数,确定用户的月消费平均值。进一步的,每一服务器还可以根据确定出的消费加和以及月消费平均值,可以确定两者差的平方,进而可以采用上述步骤200-步骤203确定月消费数据的方差。
另一种应用场景为:纵向联邦机器学习算法中,包含多个数据处理设备,n为数据处理设备的序号,模型参数和第i条样本的特征均被划分为多个。wn表示第n个数据处理设备掌握的一小部分权重。yi n表示第n个数据处理设备掌握的一小部分样本特征。
模型参数划分为:
Figure BDA0002417566130000131
第i条样本的特征被划分为:
Figure BDA0002417566130000132
在纵向联邦逻辑回归以及联邦线性回归等算法中,模型训练中的每轮迭代均需要各数据处理设备计算
Figure BDA0002417566130000141
则每一数据处理设备分别将自身的wn作为秘密值,采用上述步骤200-步骤203,每一数据处理设备均可以确定各wn的加和,同理,将自身的Yi n作为秘密值,可以各Yi n的加和。
下面采用一个具体的实施例,对参数值更新的方法进行详细说明。
参阅图4所示,为一种参数值更新的详细流程图。数据处理系统中包括多个数据处理设备,每一数据处理设备Ak中均存储有待协同计算的秘密值sk,每一数据处理设备Ak中的参数值xk(0)=sk。参数值更新的具体流程如下:
步骤400:数据处理设备Ak在泊松时刻t,产生随机数βk(t)。
具体的,由于各数据处理设备中均设置有泊松时钟,每一数据处理设备均在自己的泊松时钟响起时,产生随机数,等价于在离散时刻t=1、2……,重复执行以下步骤:
数据处理系统从所有数据处理设备中均等概率的选出一个数据处理设备Ak,数据处理设备Ak根据均值为预设数值,方差为vk(t)的分布产生随机数βk(t)。
需要说明的,每一数据处理设备均是根据自身的泊松时钟,执行随机数生成操作,而非数据处理系统控制筛选出的数据处理设备,以执行随机数生成操作。
步骤401:数据处理设备Ak获取参数值xk(t),并确定参数值xk(t)与随机数βk(t)之间的目标差值d(t)。
步骤402:数据处理设备Ak将目标差值d(t)发送至后一数据处理设备Aj
需要说明的是,各数据处理设备的顺序是环形相接的,即每一数据处理设备均有前一个数据处理设备,也具有后一个数据处理设备,j=(k mod n+1)其中,j为数据处理设备的序号,n为所有数据处理设备的总数。mod表示求取余数。
例如,n为10,当k=10时,j=(10mod 10+1)=1,则数据处理设备A10的后一数据处理设备为A1。
步骤403:数据处理设备Ak更新参数值xk(t+1)=βk(t)。
步骤404:数据处理设备Aj获取参数值xj(t),并更新参数值xj(t+1)=xj(t)+d(t)。
进一步地,其它数据处理设备不更新参数值。
具体的,其它数据处理设备的参数值为x(t+1)=x(t)。
本申请实施例中,数据处理设备将自身的秘密值作为参数值的初始值,每一数据处理设备在接收到前一数据处理设备发送的第一目标差值,或者,当前时刻达到根据预设概率分布算法生成的泊松时刻时,根据接收的第一目标差值或当前时刻达到根据预设概率分布算法生成的泊松时刻时产生的随机数对自身的参数值进行更新,以及将指定时间段内的各参数值的最大值,确定为目标值。其中,当前时刻达到根据预设概率分布算法生成的泊松时刻时,数据处理设备将根据自身的参数值与随机数确定的第二目标差值,发送至后一数据处理设备,使得后一数据处理设备根据第二目标差值更新自身的参数值。这样,每一数据处理设备均有均等的机会生成随机数以及与其它数据处理设备进行通信,不需要其它数据处理设备广播目标值,各数据处理设备的地位平等,实现了去中心化,保证了各数据处理设备的秘密值的安全性。
有益效果:避免了某一参与方先确定目标值,并篡改目标值的问题,避免了某一参与方与其它部分参与方协同确定各参与方的秘密值的问题,不需要引入广播机制,不会形成中央服务器,实现了去中心化。
基于同一发明构思,本申请实施例中还提供了一种数据处理的设备,由于上述设备及设备解决问题的原理与一种数据处理的方法相似,因此,上述设备的实施可以参见方法的实施,重复之处不再赘述。
如图5示,其为本申请实施例提供的一种数据处理装置的结构示意图。一种数据处理的装置,应用于分布式的数据处理系统中的多个数据处理设备,包括:
更新单元501,用于当确定接收到前一数据处理设备发送的第一目标差值时,根据第一目标差值,对获取的自身的参数值进行更新,获得更新后的参数值;以及,
当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并将根据自身的参数值与随机数生成的第二目标差值发送至后一数据处理设备,以及将自身的参数值更新为随机数;
执行单元502,用于根据更新后的参数值以及各历史参数值,确定目标值,并根据目标值执行相应的操作;
其中,每一数据处理设备将自身存储的秘密值作为自身的参数值的初始值,第一目标差值为前一数据处理设备根据自身的参数值与自身生成的随机数确定的,第二目标差值用于使得后一数据处理设备根据第二目标差值更新自身的参数值。
较佳的,更新单元501用于:
将第一目标差值与自身的参数值的和,确定为新的参数值。
较佳的,更新单元501用于:
当前时刻达到根据泊松分布算法生成的泊松时刻时,按照预设的随机数生成算法,生成随机数;
其中,随机数符合均值为预设数值,方差随时间衰减的概率分布。
较佳的,执行单元502还用于:
在更新后的参数值,以及各历史参数值中,筛选出指定时间段内的各参数值;
确定筛选出的各参数值中的最大参数值;
将最大参数值,确定为目标值。
本申请实施例提供的一种数据处理的方法、装置、设备和介质中,应用于数据处理系统中的多个数据处理设备,每一数据处理设备将待协同计算的秘密值设置为参数值的初始值,并循环执行以下步骤:在接收到前一数据处理设备发送的第一目标差值时,根据第一目标差值更新自身的参数值,以及当前时刻达到根据预设概率分布算法生成的泊松时刻时,将自身的参数值与随机数的第二目标差值发送至后一数据处理设备,并将参数值更新为该随机数,使得后一数据处理设备根据第二目标差值更新自身的参数值。最后,根据多次循环操作获取的所有参数值确定目标值,这样,在互不信任的参与方进行协同计算时,每一数据处理设备均会产生随机数,并将根据随机数和参数值生成的第二目标差值,发送至后一数据处理设备,每一数据处理设备均有均等的机会生成随机数以及与其它数据处理设备进行通信,不需要其它数据处理设备广播目标值,各数据处理设备的地位平等,实现了去中心化,保证了各数据处理设备的秘密值的安全性。
图6示出了一种数据处理设备的结构示意图。参阅图6所示,数据处理设备6000包括:处理器6010、存储器6020、电源6030、显示单元6040、输入单元6050。
处理器6010是数据处理设备6000的控制中心,利用各种接口和线路连接各个部件,通过运行或执行存储在存储器6020内的软件程序和/或数据,执行数据处理设备6000的各种功能,从而对数据处理设备6000进行整体监控。
本申请实施例中,处理器6010调用存储器6020中存储的计算机程序时执行如图2中所示的实施例提供的数据处理的方法。
可选的,处理器6010可包括一个或多个处理单元;优选的,处理器6010可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器6010中。在一些实施例中,处理器、存储器、可以在单一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
存储器6020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、各种应用等;存储数据区可存储根据数据处理设备6000的使用所创建的数据等。此外,存储器6020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件等。
数据处理设备6000还包括给各个部件供电的电源6030(比如电池),电源可以通过电源管理系统与处理器6010逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
显示单元6040可用于显示由用户输入的信息或提供给用户的信息以及数据处理设备6000的各种菜单等,本发明实施例中主要用于显示数据处理设备6000中各应用的显示界面以及显示界面中显示的文本、图片等对象。显示单元6040可以包括显示面板6041。显示面板6041可以采用液晶显示屏(Liquid Crystal Display,LCD)、有机发光二极管(OrganicLight-Emitting Diode,OLED)等形式来配置。
输入单元6050可用于接收用户输入的数字或字符等信息。输入单元6050可包括触控面板6051以及其他输入设备6052。其中,触控面板6051,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触摸笔等任何适合的物体或附件在触控面板6051上或在触控面板6051附近的操作)。
具体的,触控面板6051可以检测用户的触摸操作,并检测触摸操作带来的信号,将这些信号转换成触点坐标,发送给处理器6010,并接收处理器6010发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板6051。其他输入设备6052可以包括但不限于物理键盘、功能键(比如音量控制按键、开关机按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
当然,触控面板6051可覆盖显示面板6041,当触控面板6051检测到在其上或附近的触摸操作后,传送给处理器6010以确定触摸事件的类型,随后处理器6010根据触摸事件的类型在显示面板6041上提供相应的视觉输出。虽然在图6中,触控面板6051与显示面板6041是作为两个独立的部件来实现数据处理设备6000的输入和输出功能,但是在某些实施例中,可以将触控面板6051与显示面板6041集成而实现数据处理设备6000的输入和输出功能。
数据处理设备6000还可包括一个或多个传感器,例如压力传感器、重力加速度传感器、接近光传感器等。当然,根据具体应用中的需要,上述数据处理设备6000还可以包括摄像头等其它部件,由于这些部件不是本申请实施例中重点使用的部件,因此,在图6中没有示出,且不再详述。
本领域技术人员可以理解,图6仅仅是数据处理设备的举例,并不构成对数据处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任意方法实施例中的数据处理的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台数据处理设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种数据处理的方法,其特征在于,应用于分布式的数据处理系统中的多个数据处理设备,包括:
当确定接收到前一数据处理设备发送的第一目标差值时,当前数据处理设备根据所述第一目标差值,对获取的自身的参数值进行更新,获得更新后的参数值;以及,
当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并将根据自身的参数值与所述随机数生成的第二目标差值发送至后一数据处理设备,以及将自身的参数值更新为所述随机数;
根据更新后的参数值以及各历史参数值,确定目标值,并根据所述目标值执行相应的操作;
其中,每一数据处理设备将自身存储的秘密值作为自身的参数值的初始值,所述第一目标差值为前一数据处理设备根据自身的参数值与自身生成的随机数确定的,所述第二目标差值用于使得后一数据处理设备根据所述第二目标差值更新自身的参数值。
2.如权利要求1所述的方法,其特征在于,根据所述第一目标差值,对获取的自身的参数值进行更新,获得更新后的参数值,包括:
将所述第一目标差值与自身的参数值的和,确定为新的参数值。
3.如权利要求1所述的方法,其特征在于,当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,包括:
当前时刻达到根据泊松分布算法生成的泊松时刻时,按照预设的随机数生成算法,生成随机数;
其中,所述随机数符合均值为预设数值,方差随时间衰减的概率分布。
4.如权利要求1-3任一项所述的方法,其特征在于,根据更新后的参数值,以及各历史参数值,确定目标值,包括:
在更新后的参数值,以及各历史参数值中,筛选出指定时间段内的各参数值;
确定筛选出的各参数值中的最大参数值;
将所述最大参数值,确定为目标值。
5.一种数据处理装置,其特征在于,应用于分布式的数据处理系统中的多个数据处理设备,包括:
更新单元,用于当确定接收到前一数据处理设备发送的第一目标差值时,根据所述第一目标差值,对获取的自身的参数值进行更新,获得更新后的参数值;以及,
当前时刻达到根据预设概率分布算法生成的泊松时刻时,生成随机数,并将根据自身的参数值与所述随机数生成的第二目标差值发送至后一数据处理设备,以及将自身的参数值更新为所述随机数;
执行单元,用于根据更新后的参数值以及各历史参数值,确定目标值,并根据所述目标值执行相应的操作;
其中,每一数据处理设备将自身存储的秘密值作为自身的参数值的初始值,所述第一目标差值为前一数据处理设备根据自身的参数值与自身生成的随机数确定的,所述第二目标差值用于使得后一数据处理设备根据所述第二目标差值更新自身的参数值。
6.如权利要求5所述的装置,其特征在于,所述更新单元用于:
将所述第一目标差值与自身的参数值的和,确定为新的参数值。
7.如权利要求5所述的装置,其特征在于,所述更新单元用于:
当前时刻达到根据泊松分布算法生成的泊松时刻时,按照预设的随机数生成算法,生成随机数;
其中,所述随机数符合均值为预设数值,方差随时间衰减的概率分布。
8.如权利要求5-7任一项所述的装置,其特征在于,所述执行单元还用于:
在更新后的参数值,以及各历史参数值中,筛选出指定时间段内的各参数值;
确定筛选出的各参数值中的最大参数值;
将所述最大参数值,确定为目标值。
9.一种数据处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-4任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1~4任一所述方法的步骤。
CN202010195829.7A 2020-03-19 2020-03-19 一种数据处理的方法、装置、设备和介质 Active CN111428276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010195829.7A CN111428276B (zh) 2020-03-19 2020-03-19 一种数据处理的方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010195829.7A CN111428276B (zh) 2020-03-19 2020-03-19 一种数据处理的方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN111428276A true CN111428276A (zh) 2020-07-17
CN111428276B CN111428276B (zh) 2022-08-02

Family

ID=71548150

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010195829.7A Active CN111428276B (zh) 2020-03-19 2020-03-19 一种数据处理的方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN111428276B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065156A (zh) * 2021-04-02 2021-07-02 支付宝(杭州)信息技术有限公司 一种控制延时的多方联合数据处理方法及装置
CN113411268A (zh) * 2021-05-24 2021-09-17 深圳市元征未来汽车技术有限公司 一种数据传输方法、数据传输装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150172049A1 (en) * 2012-07-05 2015-06-18 Nippon Telegraph And Telephone Corporation Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program
US20180337899A1 (en) * 2017-05-18 2018-11-22 Robert Bosch Gmbh Post-Quantum Secure Private Stream Aggregation
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习
CN110546642A (zh) * 2018-10-17 2019-12-06 阿里巴巴集团控股有限公司 不利用可信初始化器的安全多方计算
US20210004718A1 (en) * 2019-07-03 2021-01-07 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and device for training a model based on federated learning
CN113516256A (zh) * 2021-09-14 2021-10-19 深圳市洞见智慧科技有限公司 基于秘密共享、同态加密的无第三方联邦学习方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150172049A1 (en) * 2012-07-05 2015-06-18 Nippon Telegraph And Telephone Corporation Secret sharing system, data distribution apparatus, distributed data transform apparatus, secret sharing method and program
CN110537191A (zh) * 2017-03-22 2019-12-03 维萨国际服务协会 隐私保护机器学习
US20180337899A1 (en) * 2017-05-18 2018-11-22 Robert Bosch Gmbh Post-Quantum Secure Private Stream Aggregation
CN110546642A (zh) * 2018-10-17 2019-12-06 阿里巴巴集团控股有限公司 不利用可信初始化器的安全多方计算
US20210004718A1 (en) * 2019-07-03 2021-01-07 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and device for training a model based on federated learning
CN113516256A (zh) * 2021-09-14 2021-10-19 深圳市洞见智慧科技有限公司 基于秘密共享、同态加密的无第三方联邦学习方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李学明等: "隐私保护数据挖掘", 《计算机应用研究》 *
马进等: "分布式数据挖掘中基于扰乱的隐私保护方法", 《浙江大学学报(工学版)》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065156A (zh) * 2021-04-02 2021-07-02 支付宝(杭州)信息技术有限公司 一种控制延时的多方联合数据处理方法及装置
CN113065156B (zh) * 2021-04-02 2022-05-17 支付宝(杭州)信息技术有限公司 一种控制延时的多方联合数据处理方法及装置
CN113411268A (zh) * 2021-05-24 2021-09-17 深圳市元征未来汽车技术有限公司 一种数据传输方法、数据传输装置及电子设备

Also Published As

Publication number Publication date
CN111428276B (zh) 2022-08-02

Similar Documents

Publication Publication Date Title
CN111428276B (zh) 一种数据处理的方法、装置、设备和介质
US10229373B1 (en) Context-based event creation
CN108153463A (zh) 应用界面显示控制方法、装置及存储介质和移动终端
CN103885793A (zh) 确定合适的应用的方法、应用确定系统以及应用确定单元
CN109215037A (zh) 目标图像分割方法、装置及终端设备
CN113285886B (zh) 一种带宽分配的方法、装置、电子设备及可读存储介质
CN108369538A (zh) 下载视觉资产
CN109471626A (zh) 页面逻辑结构、页面生成方法、页面数据处理方法及装置
CN111752426A (zh) 聊天线程的显示方法、记录介质及计算机装置
CN111935025B (zh) 一种tcp传输性能的控制方法、装置、设备和介质
CN116708335A (zh) 一种消息发送控制的方法和装置
CN111125519A (zh) 用户行为预测方法、装置、电子设备以及存储介质
CN111104299A (zh) 一种服务器性能预测方法、装置及电子设备和存储介质
CN112764513A (zh) 提示方法和电子设备
CN101981578A (zh) 用于协同设计头像或其他图形结构的方法和装置
CN107704876A (zh) 应用控制方法、装置、存储介质以及电子设备
CN106888264A (zh) 一种数据交换方法和装置
CN109783321A (zh) 监控数据管理方法、装置、终端设备
WO2018111692A1 (en) Controlling systems based on values inferred by a generative model
CN106790339A (zh) 元数据服务器、网络装置及自动资源管理方法
CN111611123B (zh) 数据处理方法、数据处理系统及设备
CN112487371B (zh) 聊天会话的显示方法、装置、终端及存储介质
US11605464B2 (en) Systems and methods for machine learning-based state prediction and visualization
CN112543249B (zh) 画面显示方法、装置、终端以及存储介质
CN112291329B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40025925

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant