CN113392412B - 数据接收方法、数据发送方法及电子设备 - Google Patents
数据接收方法、数据发送方法及电子设备 Download PDFInfo
- Publication number
- CN113392412B CN113392412B CN202110508864.4A CN202110508864A CN113392412B CN 113392412 B CN113392412 B CN 113392412B CN 202110508864 A CN202110508864 A CN 202110508864A CN 113392412 B CN113392412 B CN 113392412B
- Authority
- CN
- China
- Prior art keywords
- data
- median
- data set
- sending
- preset
- 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
- 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
Abstract
本申请适用于数据处理技术领域,提供了数据接收方法、数据发送方法及电子设备。数据接收方法包括:接收端向至少两个发送端发送数据获取请求,获取每个发送端发送的数据集合,数据集合由原始数据集以及预设单调函数计算出,原始数据集包括至少两个数据,对接收到的所有数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端,将第一中位数发送至第一发送端,获取第一发送端发送的目标数据,根据目标数据确定所有原始数据集的第二中位数,目标数据由中位数以及预设单调函数计算出,提高了计算出的第二中位数的准确度,提高了加密效率。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及数据接收方法、数据发送方法及电子设备。
背景技术
数据集合中的中位数可以不受特殊点的影响,在进行数据统计时更能反映数据集合的真实情况。在对多方数据库中的数据进行统计时,数据安全是需要考虑的重要因素,目前在计算多个数据集合的中位数时,一般是基于混淆电路、秘密分享和差分隐私技术对数据进行加密,但是目前的加密技术的加密效率较低,且由于存在差分隐私,准确度也较低。
发明内容
有鉴于此,本申请实施例提供了数据接收方法、数据发送方法及电子设备,可以提高计算出的中位数的准确度,且加密效率较高。
本申请实施例的第一方面提供了一种数据接收方法,执行于接收端,包括:
向至少两个发送端发送数据获取请求;
获取每个所述发送端发送的数据集合,所述数据集合由原始数据集以及预设单调函数计算出,所述原始数据集包括至少两个数据;
对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端;
将所述第一中位数发送至第一发送端;
获取所述第一发送端发送的目标数据,根据所述目标数据确定所有原始数据集的第二中位数,所述目标数据由所述第一中位数以及所述预设单调函数计算出。
在一种可能的实现方式中,所述对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,包括:
若所述合并后的数据集合中的元素的数量为奇数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的一个元素作为第一中位数;
若所述合并后的数据集合中的元素的数量为偶数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的两个元素作为第一中位数。
在一种可能的实现方式中,所述根据所述目标数据确定所有原始数据集的第二中位数,包括:
若所述第一中位数的数量为一个,将所述目标数据作为第二中位数;
若所述第一中位数的数量为两个,根据两个所述第一发送端发送的目标数据计算第二中位数。
在一种可能的实现方式中,在所述向至少两个发送端发送数据获取请求之前,所述数据接收方法还包括:
根据每个候选发送端的数据目录,从所述候选发送端中确定所述发送端,所述数据目录用于表示原始数据集的类型。
本申请实施例的第二方面提供了一种数据发送方法,执行于发送端,包括:
在获取接收端发送的数据获取请求时,根据原始数据集以及预设单调函数确定数据集合,所述原始数据集包括至少两个数据;
将所述数据集合发送至所述接收端;
若接收到所述接收端发送的第一中位数,根据所述第一中位数以及所述预设单调函数确定目标数据;
将所述目标数据发送至所述接收端,所述接收端用于根据所述目标数据确定所有原始数据集的第二中位数。
在一种可能的实现方式中,在所述根据所述第一中位数以及所述预设单调函数确定目标数据之前,所述数据发送方法还包括:
获取所述接收端发送的第一中位数的数量;
所述根据所述第一中位数以及所述预设单调函数确定目标数据,包括:
若所述第一中位数的数量为一个,则根据所述第一中位数以及所述预设单调函数确定目标数据;
若所述第一中位数的数量为两个,则根据所述第一中位数、所述预设单调函数以及约定函数确定目标数据。
在一种可能的实现方式中,所述将所述数据集合发送至所述接收端,包括:
对所述数据集合进行加密,将加密后的数据集合发送至所述接收端。
在一种可能的实现方式中,在所述根据原始数据集以及预设单调函数确定数据集合之前,所述数据接收方法还包括:
根据获取的候选参数确定所述预设单调函数。
本申请实施例的第三方面提供了一种数据接收装置,包括:
第一发送模块,用于向至少两个发送端发送数据获取请求;
第一获取模块,用于获取每个所述发送端发送的数据集合,所述数据集合由原始数据集以及预设单调函数计算出,所述原始数据集包括至少两个数据;
第一计算模块,用于对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端;
第二发送模块,用于将所述第一中位数发送至第一发送端;
第二获取模块,用于获取所述第一发送端发送的目标数据,根据所述目标数据确定所有原始数据集的第二中位数,所述目标数据由所述第一中位数以及所述预设单调函数计算出。
在一种可能的实现方式中,所述第一计算模块具体用于:
若所述合并后的数据集合中的元素的数量为奇数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的一个元素作为第一中位数;
若所述合并后的数据集合中的元素的数量为偶数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的两个元素作为第一中位数。
在一种可能的实现方式中,所述第二获取模块具体用于:
若所述第一中位数的数量为一个,将所述目标数据作为第二中位数;
若所述第一中位数的数量为两个,根据两个所述第一发送端发送的目标数据计算第二中位数。
在一种可能的实现方式中,所述数据接收装置还包括:
确定模块,用于根据每个候选发送端的数据目录,从所述候选发送端中确定所述发送端,所述数据目录用于表示原始数据集的类型。
本申请实施例的第四方面提供了一种数据发送装置,包括:
第二计算模块,用于在获取接收端发送的数据获取请求时,根据原始数据集以及预设单调函数确定数据集合,所述原始数据集包括至少两个数据;
第三发送模块,用于将所述数据集合发送至所述接收端;
第三计算模块,用于若接收到所述接收端发送的第一中位数,根据所述第一中位数以及所述预设单调函数确定目标数据;
第四发送模块,用于将所述目标数据发送至所述接收端,所述接收端用于根据所述目标数据确定所有原始数据集的第二中位数。
在一种可能的实现方式中,所述第三计算模块具体用于:
获取所述接收端发送的第一中位数的数量;
若所述第一中位数的数量为一个,则根据所述第一中位数以及所述预设单调函数确定目标数据;
若所述第一中位数的数量为两个,则根据所述第一中位数、所述预设单调函数以及约定函数确定目标数据。
在一种可能的实现方式中,所述第三发送模块具体用于:
对所述数据集合进行加密,将加密后的数据集合发送至所述接收端。
在一种可能的实现方式中,所述第二计算模块还用于:
根据获取的候选参数确定所述预设单调函数。
本申请实施例的第五方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的数据接收方法或者如上述第二方面所述的数据发送方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的数据接收方法或者如上述第二方面所述的数据发送方法。
本申请实施例的第五方面提供了一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如上述第一方面所述的数据接收方法或者如上述第二方面所述的数据发送方法。
本申请实施例与现有技术相比存在的有益效果是:接收端向至少两个发送端发送数据获取请求,获取每个发送端发送的数据集合,数据集合由原始数据集以及预设单调函数计算出,原始数据集包括至少两个数据,对接收到的所有数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端,将第一中位数发送至第一发送端,获取第一发送端发送的目标数据,根据目标数据确定所有原始数据集的第二中位数,目标数据由中位数以及预设单调函数计算出。由于数据集合是由原始数据以及预设单调函数计算出的,所以数据集合中的数据的大小关系与原始数据集中的数据的大小关系一致,因此计算出的数据集合的第一中位数的位置与原始数据集的第二中位数的位置一致,由于目标数据是由第一中位数计算出的,因此,再根据目标数据确定第二中位数,提高了计算出的第二中位数的准确度。同时,由于接收端获取到的数据集合,而不是原始数据集,从而实现了对数据的加密,而且通过预设单调函数即可实现加密,提高了加密效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是本申请实施例提供的数据接收方法的实现流程示意图;
图2是本申请实施例提供的数据发送方法的实现流程示意图;
图3是本申请实施例提供的数据接收装置的示意图;
图4是本申请实施例提供的数据发送装置的示意图;
图5是本申请实施例提供的电子设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
目前在计算多个数据集合的中位数时,采用的加密技术的加密效率较低,且由于存在差分隐私,准确度也较低。
为此,本申请提供一种数据接收方法,包括:接收端向至少两个发送端发送数据获取请求,获取每个发送端发送的数据集合,数据集合由原始数据集以及预设单调函数计算出,原始数据集包括至少两个数据,对接收到的所有数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端,将第一中位数发送至第一发送端,获取第一发送端发送的目标数据,根据目标数据确定所有原始数据集的第二中位数,目标数据由中位数以及预设单调函数计算出。由于数据集合是由原始数据以及预设单调函数计算出的,所以数据集合中的数据的大小关系与原始数据集中的数据的大小关系一致,因此计算出的数据集合的第一中位数的位置与原始数据集的第二中位数的位置一致,由于目标数据是由第一中位数计算出的,因此,再根据目标数据确定第二中位数,提高了计算出的第二中位数的准确度。同时,由于接收端获取到的数据集合为经过预设单调函数计算后的,实现了对数据的加密,而且通过预设单调函数即可实现加密,提高了加密效率。
下面对本申请提供的数据接收方法进行示例性描述。
请参阅附图1,本申请一实施例提供的数据接收方法执行于接收端,包括:
S101:向至少两个发送端发送数据获取请求。
具体地,发送端包括多种类型的数据,数据获取请求包括接收端需要获取的数据的类型以及接收端的身份标识。例如,发送端存储有医疗健康数据,医疗健康数据包括身高、体重、年龄、身体质量指数(Body Mass Index,BMI)等数据,数据统计部门通过接收端发送的数据获取请求为BMI。
在一种可能的实现方式中,每个候选发送端将数据目录上传至第三方的数据协作平台,数据目录用于表示原始数据集的类型。接收端通过数据协作平台访问每个候选发送端对应的数据目录,根据需要获取的数据的类型以及每个数据目录从候选发送端中确定发送端。在其他实施例中,接收端也可以向候选发送端发送数据目录的获取请求,以获取数据目录,根据需要获取的数据的类型以及每个数据目录从候选发送端中确定发送端。
在另一种可能的实现方式中,每个候选发送端将数据目录存储至区块链,接收端从区块链获取每个候选发送端的数据目录,从而提高了数据的安全性。
S102:获取每个所述发送端发送的数据集合,所述数据集合由原始数据集以及预设单调函数计算出,所述原始数据集包括至少两个数据。
具体地,原始数据集中的元素为数据,将原始数据集中的每个数据代入预设单调函数中,得到与每个数据对应的计算值,所有的计算值组成的集合即为数据集合。预设单调函数满足若x≤y,则f(x)≤f(y),即数据集合中的数据的大小关系与原始数据集中的数据的大小关系一致。其中,x和y是原始数据集中的数据,f(x)和f(y)是数据集合中的数据,即与每个数据对应的计算值。
例如,若接收端需要获取的数据为BMI,每个发送端存储的BMI数据为原始数据集,对于每个发送端,根据每个BMI数据以及预设单调函数,得到与每个BMI数据对应的计算值,所有计算值组成的集合即为数据集合。
在一种可能的实现方式中,预设单调函数是多项式函数,例如,f(x)=ax3+bx+c,其中,a,b,c是预设单调函数的参数,也是发送端的隐私值。若后续合并后的数据集合中的数据的数量为奇数,则第一中位数的数量为一个,若后续合并后的数据集合中的数据的数量为偶数,则第一中位数的数量为两个,为了防止接收端根据中位数推导出预设单调函数,发送端的隐私值的数量大于或者等于3,从而可以保证数据的安全性。
在一种可能的实现方式中,接收端在向发送端发送数据获取请求后,还向发送端发送各发送端的身份标识,以便于各发送端获取其他发送端的身份标识,并协商单调函数。
S103:对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端。
具体地,每个发送端发送的数据集合中的元素与其原始数据集中的元素一一对应。对所有的数据集合进行合并,得到合并后的数据集合,合并后的数据集合中的元素与所有的原始数据集中的元素一一对应,并且大小关系一致。将第一中位数所在的数据集合作为第一数据集合,发送第一数据集合的发送端即为第一发送端。
在一种可能的实现方式中,若所述合并后的数据集合中的元素的数量为奇数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的一个元素作为第一中位数;
若所述合并后的数据集合中的元素的数量为偶数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的两个元素作为第一中位数。
对应地,第一中位数的数量为一个,则第一发送端的数量为一个,若第一中位数的数量为两个,则第一发送端的数量为一个或两个。
S104:将所述第一中位数发送至第一发送端。
具体地,若第一发送端的数量为一个,则直接将第一中位数发送至第一发送端,若第一发送端的数量为两个,则将两个第一中位数分别发送至对应的第一发送端。
S105:获取所述第一发送端发送的目标数据,根据所述目标数据确定所有原始数据集的第二中位数,所述目标数据由所述第一中位数以及所述预设单调函数计算出。
具体地,由于数据集合中的每个元素均是根据原始数据集中的元素以及预设单调函数计算出的,第一中位数为数据集合中的元素,因此根据第一中位数以及预设单调函数即可推导出与第一中位数对应的原始数据集的数据。第一发送端可以直接将原始数据集中的数据作为目标数据发送至接收端,也可以对原始数据集中的数据进行加密或者转换后作为目标数据发送至接收端。接收端根据该目标数据即可确定所有的原始数据集的中位数。
在一种可能的实现方式中,若所述第一中位数的数量为一个,将所述目标数据作为第二中位数。例如,若需要计算所有发送端的BMI的中位数,则接收到第一中位数的发送端,根据第一中位数以及预设单调函数计算出的目标数据,接收到在接收到目标数据后,将目标数据作为所有发送端的BMI的中位数。
若所述中位数的数量为两个,根据两个所述第一发送端发送的目标数据计算第二中位数。两个第一发送端发送的目标数据可以是将第一中位数代入预设单调函数中得到的原始数据集中的数据,也可以是对原始数据集中的数据进行进一步加密或者转换运算后的数据。接收端在接收到两个目标数据后,根据预设计算规则对两个目标数据求平均数,或者求和,得到的数据即为第二中位数。例如,若需要计算所有发送端的BMI的中位数,则接收到第一中位数的两个发送端,分别根据第一中位数以及预设单调函数计算出原始数据集中的数据,再对原始数据集中的数据进行转换,得到目标数据,接收端对两个目标数据计算平均数,即得到第二中位数。
上述实施例中,由于数据集合是由原始数据以及预设单调函数计算出的,所以数据集合中的数据的大小关系与原始数据集中的数据的大小关系一致,因此计算出的数据集合的第一中位数的位置与原始数据集的第二中位数的位置一致,由于目标数据是由第一中位数计算出的,因此,再根据目标数据确定第二中位数,提高了计算出的第二中位数的准确度。同时,由于接收端获取到的数据集合,而不是原始数据集,从而实现了对数据的加密,而且通过预设单调函数即可实现加密,提高了加密效率。
如图2所示,本申请还提供一种数据发送方法,数据发送方法执行于发送端,数据发送方法包括:
S201:在获取接收端发送的数据获取请求时,根据原始数据集以及预设单调函数确定数据集合,所述原始数据集包括至少两个数据。
其中,预设单调函数可以是预先设定的,例如,接收端在发送数据获取请求时,向数据协作平台发送各发送端的身份标识,数据协作平台在接收到各发送端的身份标识后,随机生成预设单调函数,将生成的预设单调函数发送至各发送端。预设单调函数也可以是各发送端协商后得到的,例如,设定预设单调函数为三次项函数,则对应三个参数,即三个隐私值。每个发送端生成对应的三个候选参数,三个候选参数分别对应三个隐私值在预设单调函数中的位置,将三个候选参数发送给其他发送端,各发送端即可获取所有的候选参数,对于每个位置的候选参数,可以将所有候选参数的和作为隐私值,也可以将各候选参数的平均值作为隐私值,从而确定出预设单调函数。例如,发送端的数量为3,其中的一个发送端生成的候选参数为1、2、3,其中的一个发送端生成的候选参数为2、3、4,其中的一个发送端生成的候选参数为3、5、7,则对各位置的候选参数求和,得到三个隐私值分别为6、10、14,对应的预设单调函数为f(x)=6x3+10x+14。
各发送端根据原始数据集以及预设单调函数确定数据集合,数据集合中的元素与原始数据集中的元素一一对应,且映射关系为预设单调函数。
在一种可能的实现方式中,接收端发送的数据获取请求包括接收端的身份标识,发送端在获取接收端发送的数据获取请求时,首先对接收端的身份标识进行验证,若验证通过,则根据原始数据集以及预设单调函数确定数据集合,从而保证数据的安全性。
S202:将所述数据集合发送至所述接收端。
具体地,发送端在确定数据集合后,可以直接发送至接收端,也可以在确定数据集合后,对数据集合进行加密,将加密后的数据集合发送至接收端,从而保证了数据的安全性。若接收端和发送端均为区块链的节点,发送端通过接收端的公钥对数据集合进行加密,接收端在接收到加密后的数据集合后,通过私钥进行解密,即可得到数据集合。
S203:若接收到所述接收端发送的第一中位数,根据所述第一中位数以及所述预设单调函数确定目标数据。
若发送端接收到接收端发送的中位数,则该发送端即为第一发送端,所有的原始数据集的中位数位于第一发送端。第一发送端根据中位数以及预设单调函数推导出的数据原始数据集中的数据,即将中位数代入预设单调函数的计算值中,即可计算出原始数据集的数据。目标数据可以是原始数据集中的数据,也可以是对原始数据集进行转换或者加密后的数据。
在一种可能的实现方式中,发送端在接收第一中位数时,还获取第一中位数的数量。若所述第一中位数的数量为一个,则根据所述第一中位数以及所述预设单调函数确定目标数据。若所述第一中位数的数量为两个,则根据所述第一中位数、所述预设单调函数以及约定函数确定目标数据。其中,约定函数是两个第一发送端之间约定的,例如,接收端还将两个第一发送端的身份标识发送至第一发送端,由两个第一发送端确定约定函数。约定函数可以是在原始数据集中的数据的基础上随机加或者减一个随机数,也可以是线性函数。例如,约定函数是0.5x+r以及0.5x-r,r为常数,根据第一中位数以及预设单调函数计算出的原始数据集中的数据分别为a和b,则其中一个第一发送端发送至接收端的目标数据为0.5a+r,另一个第一发送端发送至接收端的目标数据为0.5b-r,则接收端对两个目标数据求和,即可得到所有原始数据集的第二中位数,从而使得接收端不能获取到原始数据集中的数据,且可以计算出所有原始数据集的第二中位数,提高了数据的安全性。
在其他可能的实现方式中,若第一中位数的数量为两个,第一发送端也可以根据第一中位数以及预设单调函数确定出原始数据集中的数据,将原始数据集中的数据作为目标数据发送至接收端。
S204:将所述目标数据发送至所述接收端,所述接收端用于根据所述目标数据确定所有原始数据集的第二中位数。
具体地,发送端可以直接将目标数据发送至接收端,也可以将目标数据加密后发送至接收端,例如,若接收端和发送端均为区块链的节点,发送端通过接收端的公钥对目标数据进行加密,接收端在接收到加密后的目标数据后,通过私钥进行解密,即可得到目标数据,再根据预先约定的计算方法,对目标数据求和或者求平均数,即可得到第二中位数。
上述实施例中,由于数据集合是由原始数据以及预设单调函数计算出的,所以数据集合中的数据的大小关系与原始数据集中的数据的大小关系一致,因此计算出的数据集合的第一中位数的位置与原始数据集的第二中位数的位置一致,由于目标数据是由第一中位数计算出的,因此,再根据目标数据确定第二中位数,提高了计算出的第二中位数的准确度。同时,由于接收端获取到的数据集合,而不是原始数据集,从而实现了对数据的加密,而且通过预设单调函数即可实现加密,提高了加密效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
对应于上文实施例所述的数据接收方法,图3示出了本申请实施例提供的装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图3所示,数据接收装置包括,
第一发送模块31,用于向至少两个发送端发送数据获取请求;
第一获取模块32,用于获取每个所述发送端发送的数据集合,所述数据集合由原始数据集以及预设单调函数计算出,所述原始数据集包括至少两个数据;
第一计算模块33,用于对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端;
第二发送模块34,用于将所述第一中位数发送至第一发送端;
第二获取模块35,用于获取所述第一发送端发送的目标数据,根据所述目标数据确定所有原始数据集的第二中位数,所述目标数据由所述第一中位数以及所述预设单调函数计算出。
在一种可能的实现方式中,所述第一计算模块33具体用于:
若所述合并后的数据集合中的元素的数量为奇数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的一个元素作为第一中位数;
若所述合并后的数据集合中的元素的数量为偶数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的两个元素作为第一中位数。
在一种可能的实现方式中,所述第二获取模块35具体用于:
若所述第一中位数的数量为一个,将所述目标数据作为第二中位数;
若所述第一中位数的数量为两个,根据两个所述第一发送端发送的目标数据计算第二中位数。
在一种可能的实现方式中,所述数据接收装置还包括:
确定模块,用于根据每个候选发送端的数据目录,从所述候选发送端中确定所述发送端,所述数据目录用于表示原始数据集的类型。
对应于上文实施例所述的数据发送方法,图4示出了本申请实施例提供的装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。
如图4所示,数据发送装置包括,
第二计算模块41,用于在获取接收端发送的数据获取请求时,根据原始数据集以及预设单调函数确定数据集合,所述原始数据集包括至少两个数据;
第三发送模块42,用于将所述数据集合发送至所述接收端;
第三计算模块43,用于若接收到所述接收端发送的第一中位数,根据所述第一中位数以及所述预设单调函数确定目标数据;
第四发送模块44,用于将所述目标数据发送至所述接收端,所述接收端用于根据所述目标数据确定所有原始数据集的第二中位数。
在一种可能的实现方式中,所述第三计算模块43具体用于:
获取所述接收端发送的第一中位数的数量;
若所述第一中位数的数量为一个,则根据所述第一中位数以及所述预设单调函数确定目标数据;
若所述第一中位数的数量为两个,则根据所述第一中位数、所述预设单调函数以及约定函数确定目标数据。
在一种可能的实现方式中,所述第三发送模块42具体用于:
对所述数据集合进行加密,将加密后的数据集合发送至所述接收端。
在一种可能的实现方式中,所述第二计算模块41还用于:
根据获取的候选参数确定所述预设单调函数。
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
图5是本申请实施例提供的电子设备的示意图。如图5所示,该实施例的电子设备包括:处理器51、存储器52以及存储在所述存储器52中并可在所述处理器51上运行的计算机程序53。所述处理器51执行所述计算机程序53时实现上述数据接收方法或者数据发送方法实施例中的步骤,例如图1所示的步骤S101至S105,或者图2所示的步骤S201至S204。或者,所述处理器51执行所述计算机程序33时实现上述各装置实施例中各模块/单元的功能,例如图3所示第一发送模块31至第二获取模块35的功能,或者图4所示第二计算模块41至第四发送模块44的功能。
示例性的,所述计算机程序53可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器52中,并由所述处理器51执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序53在所述电子设备中的执行过程。
所述电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图5仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
所述处理器51可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器52可以是所述电子设备的内部存储单元,例如电子设备的硬盘或内存。所述存储器52也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器52还可以既包括所述电子设备的内部存储单元也包括外部存储设备。所述存储器52用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种数据接收方法,执行于接收端,其特征在于,包括:
向至少两个发送端发送数据获取请求;
获取每个所述发送端发送的数据集合,所述数据集合由原始数据集以及预设单调函数计算出,所述原始数据集包括至少两个数据,所述数据集合中的元素与所述原始数据集中的元素一一对应;
对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,将发送所述第一中位数的发送端作为第一发送端,所述合并后的数据集合中的元素与所有所述原始数据集中的元素一一对应,且大小关系一致;
将所述第一中位数发送至第一发送端;
获取所述第一发送端发送的目标数据,根据所述目标数据确定所有原始数据集的第二中位数,所述目标数据是所述原始数据集中的数据,或所述目标数据是对所述原始数据集中的数据进行转换或加密后的数据,所述原始数据集中的数据由所述第一发送端将所述第一中位数代入所述预设单调函数中计算出。
2.根据权利要求1所述的数据接收方法,其特征在于,所述对接收到的所有所述数据集合进行合并,计算合并后的数据集合的第一中位数,包括:
若所述合并后的数据集合中的元素的数量为奇数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的一个元素作为第一中位数;
若所述合并后的数据集合中的元素的数量为偶数,则将所述合并后的数据集合中的元素按照大小顺序排列后,位于中间位置的两个元素作为第一中位数。
3.根据权利要求2所述的数据接收方法,其特征在于,所述根据所述目标数据确定所有原始数据集的第二中位数,包括:
若所述第一中位数的数量为一个,将所述目标数据作为第二中位数;
若所述第一中位数的数量为两个,根据两个所述第一发送端发送的目标数据计算第二中位数。
4.根据权利要求1所述的数据接收方法,其特征在于,在所述向至少两个发送端发送数据获取请求之前,所述数据接收方法还包括:
根据每个候选发送端的数据目录,从所述候选发送端中确定所述发送端,所述数据目录用于表示原始数据集的类型。
5.一种数据发送方法,执行于发送端,其特征在于,包括:
在获取接收端发送的数据获取请求时,根据原始数据集以及预设单调函数确定数据集合,所述原始数据集包括至少两个数据,所述数据集合中的元素与所述原始数据集中的元素一一对应;
将所述数据集合发送至所述接收端;
若接收到所述接收端发送的第一中位数,根据所述第一中位数以及所述预设单调函数确定目标数据,所述第一中位数是合并后的数据集合的中位数,所述合并后的数据集合由所述接收端对接收到的所有发送端发送的数据集合进行合并后得到,所述合并后的数据集合中的元素与所有所述原始数据集中的元素一一对应,且大小关系一致;所述根据所述第一中位数以及所述预设单调函数确定目标数据,包括:将所述第一中位数代入所述预设单调函数中计算出所述原始数据集中的数据,将所述原始数据集中的数据作为所述目标数据,或将对所述原始数据集中的数据进行转换或加密后的数据作为所述目标数据;
将所述目标数据发送至所述接收端,所述接收端用于根据所述目标数据确定所有原始数据集的第二中位数。
6.根据权利要求5所述的数据发送方法,其特征在于,在所述根据所述第一中位数以及所述预设单调函数确定目标数据之前,所述数据发送方法还包括:
获取所述接收端发送的第一中位数的数量;
所述根据所述第一中位数以及所述预设单调函数确定目标数据,包括:
若所述第一中位数的数量为一个,则根据所述第一中位数以及所述预设单调函数确定目标数据;
若所述第一中位数的数量为两个,则根据所述第一中位数、所述预设单调函数以及约定函数确定目标数据。
7.根据权利要求5所述的数据发送方法,其特征在于,所述将所述数据集合发送至所述接收端,包括:
对所述数据集合进行加密,将加密后的数据集合发送至所述接收端。
8.根据权利要求5所述的数据发送方法,其特征在于,在所述根据原始数据集以及预设单调函数确定数据集合之前,所述数据发送方法还包括:
根据获取的候选参数确定所述预设单调函数。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的数据接收方法或者如权利要求5至8任一项所述的数据发送方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的数据接收方法或者如权利要求5至8任一项所述的数据发送方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508864.4A CN113392412B (zh) | 2021-05-11 | 2021-05-11 | 数据接收方法、数据发送方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110508864.4A CN113392412B (zh) | 2021-05-11 | 2021-05-11 | 数据接收方法、数据发送方法及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113392412A CN113392412A (zh) | 2021-09-14 |
CN113392412B true CN113392412B (zh) | 2022-05-24 |
Family
ID=77616761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110508864.4A Active CN113392412B (zh) | 2021-05-11 | 2021-05-11 | 数据接收方法、数据发送方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392412B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114595479B (zh) * | 2022-05-10 | 2022-08-26 | 富算科技(上海)有限公司 | 一种数据中位数确定方法及装置 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ582897A (en) * | 2007-08-07 | 2012-09-28 | Ticketmaster L L C | Allocating computing resources to authorised requesters based on ranking criteria |
CN104967502B (zh) * | 2015-02-03 | 2017-06-27 | 深圳市腾讯计算机系统有限公司 | 数据发送方法和装置、数据接收方法和装置 |
US10193696B2 (en) * | 2015-06-02 | 2019-01-29 | ALTR Solutions, Inc. | Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers |
US10043040B1 (en) * | 2016-07-29 | 2018-08-07 | Microsoft Technology Licensing, Llc | Protecting against fraud and incorrect entries in submission of confidential data |
GB2558271B (en) * | 2016-12-23 | 2021-09-08 | Imagination Tech Ltd | Median determination |
CN107086915B (zh) * | 2017-05-25 | 2020-11-24 | 浪潮软件科技有限公司 | 一种数据传输方法、数据发送端及数据接收端 |
CN108596043A (zh) * | 2018-03-29 | 2018-09-28 | 中国药科大学 | 基于集合经验模式分解的单导联脑电信号的睡眠自动分期的方法 |
US10460235B1 (en) * | 2018-07-06 | 2019-10-29 | Capital One Services, Llc | Data model generation using generative adversarial networks |
CN110008077B (zh) * | 2018-11-06 | 2023-05-02 | 创新先进技术有限公司 | 一种异常报警监控方法及装置、一种计算设备及存储介质 |
US11620403B2 (en) * | 2019-01-11 | 2023-04-04 | Experian Information Solutions, Inc. | Systems and methods for secure data aggregation and computation |
CN112398779B (zh) * | 2019-08-12 | 2022-11-01 | 中国科学院国家空间科学中心 | 一种网络流量数据分析方法及系统 |
CN112003942B (zh) * | 2020-08-25 | 2023-04-21 | 杭州时戳信息科技有限公司 | 链下数据请求响应方法、系统、节点设备与存储介质 |
CN112153044B (zh) * | 2020-09-23 | 2021-11-12 | 腾讯科技(深圳)有限公司 | 流量数据的检测方法及相关设备 |
-
2021
- 2021-05-11 CN CN202110508864.4A patent/CN113392412B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113392412A (zh) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553483B (zh) | 基于梯度压缩的联邦学习的方法、装置及系统 | |
US10333710B2 (en) | Method and system for determining desired size of private randomness using Tsallis entropy | |
CN113095749A (zh) | 基于区块链的物流信息传输方法、系统和装置 | |
CN108880821B (zh) | 一种数字证书的认证方法及设备 | |
CN108848148B (zh) | 基于区块链的交易信息确认方法及装置 | |
CN109547201B (zh) | 一种根密钥的加密方法、计算机可读存储介质及终端设备 | |
CN109495266B (zh) | 基于随机数的数据加密方法及装置 | |
US20180048463A1 (en) | Method and system for generating private randomness for the creation of public randomness | |
CN112202779B (zh) | 基于区块链的信息加密方法、装置、设备及介质 | |
CN107196840B (zh) | 数据处理方法、装置及设备 | |
CN116324778A (zh) | 可更新私有集合交集 | |
CN113392412B (zh) | 数据接收方法、数据发送方法及电子设备 | |
CN111404892B (zh) | 数据监管方法、装置和服务器 | |
CN112597542A (zh) | 目标资产数据的聚合方法及装置、存储介质、电子装置 | |
CN115694949A (zh) | 一种基于区块链的隐私数据共享方法及系统 | |
CN108846671B (zh) | 基于区块链的在线安全交易方法和系统 | |
CN113434906A (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
CN110515591B (zh) | 基于区块链的随机数生成方法及装置 | |
CN109951417B (zh) | 一种身份认证的方法、系统及终端设备 | |
CN112800479B (zh) | 利用可信第三方的多方联合数据处理方法及装置 | |
CN104486311A (zh) | 一种支持可扩展性的远程数据完整性检查方法 | |
CN113965310A (zh) | 基于可控去标识化的标签实现混合隐私计算处理的方法 | |
CN111931204A (zh) | 用于分布式系统的加密去重存储方法、终端设备 | |
CN113645022A (zh) | 一种确定隐私集合交集方法、装置、电子设备及存储介质 | |
CN113051622A (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 |