CN110046638B - 多平台间数据的融合方法、装置及设备 - Google Patents

多平台间数据的融合方法、装置及设备 Download PDF

Info

Publication number
CN110046638B
CN110046638B CN201811646333.6A CN201811646333A CN110046638B CN 110046638 B CN110046638 B CN 110046638B CN 201811646333 A CN201811646333 A CN 201811646333A CN 110046638 B CN110046638 B CN 110046638B
Authority
CN
China
Prior art keywords
data
sub
bucket
platform
buckets
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
Application number
CN201811646333.6A
Other languages
English (en)
Other versions
CN110046638A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201811646333.6A priority Critical patent/CN110046638B/zh
Publication of CN110046638A publication Critical patent/CN110046638A/zh
Application granted granted Critical
Publication of CN110046638B publication Critical patent/CN110046638B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种多平台间数据的融合方法、装置及设备,在融合方法中,确定第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M。第一数据平台与第一数据集相对应,第二数据平台与第二数据集相对应。该两个数据平台分别根据对应数据集中各条数据的主键值进行预定操作的操作结果,在对应个数的分桶中确定对应分桶编号。之后将各自数据集中的各条数据划分到具有对应的分桶中。对第一数据平台当前一个分桶,从第二数据平台中选取至少一个分桶。至少一个分桶中第二数据的主键值的操作结果,对应于当前一个分桶中第一数据的主键值的操作结果。对当前一个分桶中的第一数据和至少一个分桶中的第二数据进行求交,执行数据融合。

Description

多平台间数据的融合方法、装置及设备
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种多平台间数据的融合方法、装置及设备。
背景技术
为了获取更多、更全面的数据,多方平台间通常需要进行数据的共享。然而,由于不同的平台通常由不同的开发商所开发,因此,各平台的数据具有很大的机密性。因此,如何能够对各平台数据进行隐私保护的前提下,实现数据的融合就成为要解决的问题。
发明内容
本说明书一个或多个实施例描述了一种多平台间数据的融合方法、装置及设备,可以在大数据场景下,快速地对多方平台间的数据进行融合。
第一方面,提供了一种多平台间数据的融合方法,包括:
数据融合平台获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M;
所述第一数据平台与第一数据集相对应,根据对所述第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中;
所述第二数据平台与第二数据集相对应,根据对所述第二数据集中各条第二数据的主键值进行所述预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中;
从所述第一数据平台的N个分桶中选取当前一个分桶,从所述第二数据平台的M个分桶中,选取至少一个分桶,使得所述至少一个分桶中第二数据的主键值经由所述预定操作的操作结果,对应于所述当前一个分桶中第一数据的主键值经由所述预定操作的操作结果;
对所述当前一个分桶中的第一数据和所述至少一个分桶中的第二数据进行求交,执行数据融合。
第二方面,提供了一种多平台间数据的融合装置,包括:
获取单元,用于获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M;
所述第一数据平台与第一数据集相对应,根据对所述第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中;
所述第二数据平台与第二数据集相对应,根据对所述第二数据集中各条第二数据的主键值进行所述预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中;
选取单元,用于从所述第一数据平台的N个分桶中选取当前一个分桶,从所述第二数据平台的M个分桶中,选取至少一个分桶,使得所述至少一个分桶中第二数据的主键值经由所述预定操作的操作结果,对应于所述当前一个分桶中第一数据的主键值经由所述预定操作的操作结果;
处理单元,用于对所述当前一个分桶中的第一数据和所述至少一个分桶中的第二数据进行求交,执行数据融合。
第三方面,提供了一种多平台间数据的融合设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M;
所述第一数据平台与第一数据集相对应,根据对所述第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中;
所述第二数据平台与第二数据集相对应,根据对所述第二数据集中各条第二数据的主键值进行所述预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中;
从所述第一数据平台的N个分桶中选取当前一个分桶,从所述第二数据平台的M个分桶中,选取至少一个分桶,使得所述至少一个分桶中第二数据的主键值经由所述预定操作的操作结果,对应于所述当前一个分桶中第一数据的主键值经由所述预定操作的操作结果;
对所述当前一个分桶中的第一数据和所述至少一个分桶中的第二数据进行求交,执行数据融合。
本说明书一个或多个实施例提供的多平台间数据的融合方法、装置及设备,确定第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M。第一数据平台与第一数据集相对应,第二数据平台与第二数据集相对应。该两个数据平台分别根据对应数据集中各条数据的主键值进行预定操作的操作结果,在对应个数的分桶中确定对应分桶编号。之后将各自数据集中的各条数据划分到具有对应的分桶中。对第一数据平台当前一个分桶,从第二数据平台中选取至少一个分桶。至少一个分桶中第二数据的主键值的操作结果,对应于当前一个分桶中第一数据的主键值的操作结果。对当前一个分桶中的第一数据和至少一个分桶中的第二数据进行求交,执行数据融合。本说明书提供的方案中,首先对多方平台的数据进行分桶,之后基于分桶来对多方平台的数据进行求交,执行数据融合。由此,可以大大提高多平台间数据的融合效率。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的多平台间数据的融合方法的应用场景示意图;
图2为本说明书一个实施例提供的多平台间数据的融合方法流程图;
图3为本说明书另一个实施例提供的多平台间数据的融合方法流程图;
图4为本说明书一个实施例提供的多平台间数据的融合装置示意图;
图5为本说明书一个实施例提供的多平台间数据的融合设备示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在介绍本说明书提供的方案之前,先对本方案的发明构思作以下说明。
为了保证数据的机密性和完整性,本说明书提供的多平台间数据的融合方法可以在可信执行环境(Trusted Execution Environment,TEE)(也称数据融合平台)中进行。目前,有多种技术可以构建上述可信执行环境,如,Intel SGX、ARM Trust Zone以及IBMSecureBlue++等。在本说明书中,以Intel SGX技术构建的可信执行环境为例来说。当在该可信执行环境中进行多平台间数据的融合时,会有数据量不超过128M的限制。这是因为搭建该可信执行环境的SGX硬件,其内存容量为128M。
对于上述构建的可信执行环境,在进行多平台间数据的融合之前,可以先进行远程认证(Remote Authentication,RA),以判断其是否可信的。在RA通过后,再执行多平台间数据的融合等操作。这里的RA主要包括两方面:第一,确认远程代码是否跑在Enclave里面。第二,确认远程代码的行为(即代码签名)是否符合预期。
以上是对本说明书提供的多平台间数据的融合方法的执行环境的说明。在该环境下,上述方法的具体实现思路可以如下。
在本说明书中,实现多平台间数据的融合过程可以为:先在多方平台之间找出具有相同主键值的多条数据(也称数据求交),然后对该多条数据进行融合。这里的一条数据可以理解为是数据库中的一行记录,即其可以包括多个字段。然而在执行上述数据求交的操作时,如果一方平台或者多方平台的数据量比较大,那么传统的数据求交效率比较慢,甚至可能存在无法实施的问题。举例来说,假设有甲乙两方的数据,传统的求交方法为:先将甲方数据加载到内存,建立索引。之后将乙方数据逐条拿来做匹配。当双方数据量都很大时,由于内存容量有限,数据将无法一次性载入。于是有了大数据量情况下,如何快速求交的问题。
其实现思路可以是:减小求交的数据量。具体地,可以对各方平台的数据集进行分桶,之后仅仅针对分桶中的数据求交。如,假设有甲乙两方,甲方有3条数据:x、y和z,乙方有2条数据:a和b。则可以将甲方的3条数据划分到X、Y两个分桶中,将乙方的2条数据划分到A、B两个分桶中,之后,只将分桶X与分桶A、Y分桶与B分桶中的数据进行比对。
然而问题是,针对哪些分桶进行数据的求交呢?也就是说,如何才能确保多方平台数据之间有交集的部分在选取的分桶中呢?如前述例子,假设x与a为两方平台的交集部分,那么如何才能确保x被划分到X分桶中,a被划分到A分桶中?或者,如何才能确保y被划分到Y分桶中,b被划分到B分桶中?
在一种实现方式中,可以设定统一的分桶数N。之后,各方平台基于该统一的分桶数N,将对应数据集中的数据划分到N个分桶中。如,多方平台可以先对对应数据集中各条数据的主键值进行数值转换。之后将各条数据的转换结果对N取模,得到取模结果。根据取模结果,在N个分桶中确定对应分桶编号。将数据集中各条数据分别划分到具有对应分桶编号的分桶中。上述分桶方法具体可以表示为如下公式:hash(key)%N=bucket_id。其中,key为数据集中的一条数据的主键值。bucket_id为该条数据所在分桶的分桶编号。需要说明的是,为了保证各方平台的数据均能划分到N个分桶中,上述分桶数N可以任意多。此外,由于Intel SGX技术构建的可信执行环境有128M的限制,所以本说明书中可以设定分桶大小的上限值,如,可以设定为30M。
设定上述上限值的含义如下:在实际运行环境中,数据融合平台会同时加载两个分桶进行数据的求交。由于每个分桶的大小不超过30M,两个分桶的大小不会超过60M,即加载的数据量不会超过128M,所以可以正常完成数据的求交操作。
需要说明的是,在上述分桶方法中,由于hash(key)之后的结果是接近均匀随机分布,因此以hash(key)%N的方式将数据分到N个桶中,如果数据的个数远远大于分桶数N,根据大数定律,每个分桶分到的数据量差不多。由此,保证了数据集中的数据在N个分桶的均匀分布。
在另一种实现方式中,为了进一步提高数据的求交效率。上述N的个数可以不统一设定,而是根据每个平台的数据量大小进行动态设定。然而问题是,当多方平台之间N的个数不统一时,针对哪些分桶进行数据的求交呢?
首先,可以考虑将N规定为2的幂次方。以一方平台的N的设定为例来说,初始时,平台可以根据对应数据集的数据量,设定初始的N,且该N为2的幂次方。之后,平台根据上述分桶方法进行数据的分桶。在分桶的过程中,当某个分桶的容量达到上限值时,将初始的N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号。然后将当前数据划分到具有新的分桶编号的分桶中;依次类推,直至数据集中的所有数据分桶完成。则最后得到的分桶数即为该平台的分桶数。
其次,在各方平台完成数据的分桶之后,数据融合平台从第一数据平台的N个分桶中选取当前一个分桶,从第二数据平台的M个分桶中,选取至少一个分桶。该至少一个分桶中第二数据的主键值的取模结果,对应于当前一个分桶中第一数据的主键值的取模结果。对当前一个分桶中的第一数据和至少一个分桶中的第二数据进行求交,执行数据融合。
以当前一个分桶的分桶编号为i为例来说,从第二数据平台的M个分桶中,选取至少一个分桶的过程可以为:将M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果。将取模结果为i的分桶选取作为至少一个分桶。
那么基于如上方法就可以确保多方平台数据之间有交集的部分在所选取的分桶中吗?以下给出证明。
以两方平台(如,甲方和乙方)为例来说,且假设该两方平台的分桶数分别为:Na和Nb。那么甲方在数据分桶的过程中,是基于公式:hash(key)%Na来进行分桶的,即bucket_id=hash(key)%Na。而乙方在数据分桶的过程中,是基于公式:hash(key)%Nb来进行分桶的,即bucket_id=hash(key)%Nb。现假设Na<Nb,且假设甲方的当前一个分桶的分桶编号为:bucket_id=hash(key)%Na=i;那么依照上文所述,从乙方选取的至少一个分桶的分桶编号需满足如下公式:bucket_id=(hash(key)%Nb)%Na=i。要想证明多方平台数据之间有交集的部分在所选取的分桶中,那么就需要证明上述两个公式在key相等时,其对应的i相等,即证明hash(key)%Na=(hash(key)%Nb)%Na。具体证明过程如下:
因为,(hash(key)%Nb)%Na=(hash(key)%Na)%Nb,所以当hash(key)%Na=i时,就相当于需要证明i%Nb=i。由于i<Na,而根据假设Na<Nb,所以可以得到:i<Nb。当i<Nb时,i%Nb等于i。因此,上述公式成立。从而多方平台数据之间有交集的部分一定在所选取的分桶中。
举例来说,假设甲方的分桶数为4,且该4个分桶的分桶编号分别为:0-3。乙方的分桶数为8,且该8个分桶的分桶编号分别为:0-7。基于上述方法,对于甲方的每个分桶,从乙方选取的对应的至少一个分桶分别如下:
甲方的第0桶:乙方的第0和4桶。
甲方的第1桶:乙方的第1和5桶。
甲方的第2桶:乙方的第2和6桶。
甲方的第3桶:乙方的第3和7桶。
以第一次所选取的分桶为例来说,对于甲方的第0桶,各条数据的主键值都满足:hash(key)%4=0;对于乙方的第0桶,各条数据的主键值都满足:hash(key)%8=0,同时也满足:hash(key)%4=0。对于乙方的第4桶,各条数据的主键值都满足:hash(key)%8=4,同时也满足hash(key)%4=0。所以第一次所选取的双方数据,均满足:hash(key)%4=0。相当于两方平台以相同的分桶数(即4)进行了数据的分桶,从而多方平台数据之间有交集的部分一定在一次所选取的分桶中。
以上就是本说明书提供的方案的发明构思。基于该发明构思,就可以得到本说明书提供的方案。以下对本说明书提供的方案的具体实现过程进行说明。
本说明书一个或多个实施例提供的多平台间数据的融合方法可以应用于如图1所示的场景中。图1中,第一数据平台和第二数据平台可以先对对应数据集中的数据进行分桶,其具体分桶方法后续说明。在以下描述中,将与第一数据平台对应的数据集称为第一数据集,将与第二数据平台对应的数据集称为第二数据集,且第一数据集与第二数据集具有相同的主键(key)。
在完成第一数据集以及第二数据集的分桶之后,且在数据融合平台的运行环境可信的情况下,就可以对该两方平台间的数据进行融合了,该融合方法也后续进行说明。
图2为本说明书一个实施例提供的多平台间数据的融合方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者平台,如,可以为图1中的第一数据平台。如图2所示,所述方法具体可以包括如下步骤:
步骤202,对第一数据集中各条第一数据的主键值进行预定操作,得到操作结果。
在一种实现方式中,步骤202具体可以为:第一数据平台对第一数据集中各条第一数据的主键值进行数值转换。将得到的转换结果对N取模,得到取模结果。这里的数值转换可以包括哈希运算,也可以包括任一种可以将主键值转换成具有固定长度的数字串的算法。
在另一种实现方式中,步骤202具体也可以为:第一数据平台对第一数据集中各条第一数据的主键值对N取模,得到取模结果。
步骤204,根据操作结果,在N个分桶中确定各条第一数据对应的分桶编号,并将各条第一数据分别划分到具有对应分桶编号的分桶中。
如,可以直接将上述取模结果作为各条第一数据的分桶编号。
可选地,在本说明书中,各分桶可以具有对应的容量上限。当其具有对应的容量上限时,上述将各条第一数据分别划分到具有对应分桶编号的分桶中可以包括:
对当前第一数据,判断具有对应分桶编号的分桶的当前容量是否达到对应的容量上限。若否,则将当前第一数据划分到具有对应分桶编号的分桶中,并更新分桶的当前容量。若是,则将N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号。将当前第一数据划分到具有新的分桶编号的分桶中。
需要说明的是,这里将N扩大一倍是在多平台之间的分桶数不统一设定的情况下才执行的。
步骤206,响应于数据融合平台发送的分桶数获取请求,向数据融合平台返回分桶数N。
这里的分桶数获取请求可以是在数据融合平台准备对第一数据平台与第二数据平台之间的数据进行融合的时候发送的。第一数据平台在向数据融合平台返回分桶数N之前,可以先对数据融合平台进行远程认证。在远程认证通过后,再向数据融合平台返回分桶数N。
步骤208,接收数据融合平台选取的当前分桶编号,将当前分桶编号对应的分桶中的第一数据提供给数据融合平台。
可以理解的是,上述选取的操作可以是重复多次执行的。其具体重复次数可以是基于第一数据平台的分桶数N来确定的。
数据融合平台对当前分桶编号的分桶中的第一数据和来自于第二数据平台的至少一个分桶中的第二数据进行求交,执行数据融合。其中,至少一个分桶中第二数据的主键值经由预定操作的操作结果,对应于当前分桶编号的分桶中第一数据的主键值经由预定操作的操作结果。
这里的对应可以理解为:第二数据的主键值的操作结果与第一数据的主键值的操作结果相等;和/或,第二数据的主键值的操作结果与第一数据的主键值的操作结果相差N的倍数。
此外,上述求交过程可以理解为是从多个分桶中选取出主键值相同的多条数据。以具有相同主键值的两条数据:数据x与数据a为例来说,上述融合过程可以理解为:将数据x和数据a中的各字段进行比较,去除重复字段,保留不同字段,之后将所保留的字段进行拼接,从而构成1条第一数据平台与第二数据平台间的共享数据。
本说明书实施例通过基于数据的主键值对应的操作结果来进行分桶的方式,可以实现数据集中数据的均匀分布,从而不会出现数据过分集中的情况。此外,各方平台的分桶数可以根据自身的数据量进行动态调整的方式,可以保证分桶的个数不会太大,进而可以加快数据求交的效率。
需要说明的是,与第一数据平台的多平台间数据的融合方法类似地,第二数据平台也可以执行上述多平台间数据的融合方法,所不同的是,第二数据平台的分桶数为M,本说明书对此不复赘述。
图3为本说明书一个实施例提供的多平台间数据的融合方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者平台,如,可以为图1中的数据融合平台。如前所述,假设第一数据平台和第二数据平台已经完成了对应数据集中数据的分桶,其分桶方法可以如上所述,在此不复赘述。如图3所示,所述方法具体可以包括:
步骤302,获取第一数据平台的分桶数N以及第二数据平台的分桶数M。
这里的N<=M,且N和M均为正整数。
可选地,在执行步骤302之前,数据融合平台可以向第一数据平台和第二数据平台提供认证报告,以使得第一数据平台和第二数据平台对数据融合平台进行远程认证。
步骤302中,数据融合平台可以分别向第一数据平台或者第二数据平台发送分桶数获取请求。第一(或者第二)数据平台在接收到该获取请求之后,向数据融合平台返回对应的分桶数。如,第一数据平台向数据融合平台返回分桶数N,第二数据平台向数据融合平台返回分桶数M。
步骤304,从第一数据平台的N个分桶中选取当前一个分桶,从第二数据平台的M个分桶中,选取至少一个分桶。
这里的至少一个分桶中第二数据的主键值经由预定操作的操作结果,对应于当前一个分桶中第一数据的主键值经由预定操作的操作结果。在一种实现方式中,该预定操作可以包括对主键值进行数值转换后,将转换结果对分桶数取模。其中,数值转换可以包括哈希运算,也可以包括任一种可以将主键值转换成具有固定长度的数字串的算法。在另一种实现方式中,该预定操作可以包括对第一数据集中各条第一数据的主键值对N取模,得到取模结果。
步骤304中,当N=M时,若将当前一个分桶的分桶编号表示为i(0≤i≤N-1),那么从第二数据平台的M个分桶中,选取至少一个分桶可以包括:从第二数据平台的M个分桶中,选取分桶编号为i的分桶。
可以理解的是,在该种情况下,上述对应可以理解为:第二数据的主键值的操作结果与第一数据的主键值的操作结果相等。
当N<M时,可以将N和M均设定为2的幂次方。若将当前一个分桶的分桶编号表示为i,那么从第二数据平台的M个分桶中,选取至少一个分桶可以包括:将M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果。将取模结果为i的分桶选取作为至少一个分桶。
可以理解的是,在该种情况下,上述对应可以理解为:第二数据的主键值的操作结果与第一数据的主键值的操作结果相等或者相差N的倍数。
步骤306,对当前一个分桶中的第一数据和至少一个分桶中的第二数据进行求交,执行数据融合。
在一种实现方式中,上述求交的过程具体可以为:先将当前一个分桶的数据加载到内存,之后再依次将至少一个分桶中各个分桶的数据加载到内存进行数据求交。需要说明的是,在上述数据求交的过程中,内存中只同时加载两个分桶的数据。而由于每个分桶的上限值为30M,两个分桶的数据量60M不会超过128M,所以可以正常完成数据的求交操作。
此外,加载顺序也可以互换,即先将至少一个分桶中1个分桶的数据加载到内存,之后再将当前一个分桶中各个分桶的数据加载到内存进行数据求交等等。需要说明的是,不同的加载顺序会影响数据融合平台的求交粒度,如,先加载当前一个分桶中的数据时,数据融合平台的求交粒度为1/N;而先加载至少一个分桶中1个分桶的数据时,数据融合平台的求交粒度为1/M。也就是说,本说明书提供的方案的数据求交粒度是可以动态选择的。
综上,本说明书实施例提供的方案,首先对多方平台的数据进行分桶,之后基于分桶来对多方平台的数据求交,执行数据融合。由此,可以大大提高多平台间数据的融合效率。此外,各方平台的分桶数可以根据数据量动态设定,这可以进一步加快数据求交的速度。最后,各方平台的分桶大小可控,由此可以保证数据求交的正常进行。
与上述多平台间数据的融合方法对应地,本说明书一个实施例还提供的一种多平台间数据的融合装置,如图4所示,该装置可以包括:
获取单元402,用于获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M。
第一数据平台与第一数据集相对应,根据对第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中。
第二数据平台与第二数据集相对应,根据对第二数据集中各条第二数据的主键值进行预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中。
可选地,该预定操作可以包括对主键值进行数值转换后,将转换结果对分桶数取模。
选取单元404,用于从第一数据平台的N个分桶中选取当前一个分桶,从第二数据平台的M个分桶中,选取至少一个分桶,使得至少一个分桶中第二数据的主键值经由预定操作的操作结果,对应于当前一个分桶中第一数据的主键值经由预定操作的操作结果。
选取单元404具体可以用于:
从第二数据平台的M个分桶中,选取分桶编号为i的分桶。
选取单元404还具体可以用于:
将M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果。
将取模结果为i的分桶选取作为至少一个分桶。
处理单元406,用于对当前一个分桶中的第一数据和至少一个分桶中的第二数据进行求交,执行数据融合。
可选地,该装置还可以包括:
发送单元408,用于向第一数据平台和第二数据平台提供认证报告,以使得第一数据平台和第二数据平台对数据融合平台进行远程认证。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的多平台间数据的融合装置,可以大大提高多平台间数据的融合效率。
本说明书一个实施例提供的多平台间数据的融合装置可以为图1中数据融合平台的一个模块或者单元。
与上述多平台间数据的融合方法对应地,本说明书实施例还提供了一种多平台间数据的融合设备,如图5所示,该设备可以包括:存储器502、一个或多个处理器504以及一个或多个程序。其中,该一个或多个程序存储在存储器502中,并且被配置成由一个或多个处理器504执行,该程序被处理器504执行时实现以下步骤:
获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M。
第一数据平台与第一数据集相对应,根据对第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中。
第二数据平台与第二数据集相对应,根据对第二数据集中各条第二数据的主键值进行预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中。
从第一数据平台的N个分桶中选取当前一个分桶,从第二数据平台的M个分桶中,选取至少一个分桶,使得至少一个分桶中第二数据的主键值经由预定操作的操作结果,对应于当前一个分桶中第一数据的主键值经由预定操作的操作结果。
对当前一个分桶中的第一数据和至少一个分桶中的第二数据进行求交,执行数据融合。
本说明书一个实施例提供的多平台间数据的融合设备,可以大大提高多平台间数据的融合效率。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (9)

1.一种多平台间数据的融合方法,包括:
数据融合平台获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M;
所述第一数据平台与第一数据集相对应,根据对所述第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中;其中,所述预定操作包括对主键值进行数值转换后,将转换结果对分桶数取模;
所述第二数据平台与第二数据集相对应,根据对所述第二数据集中各条第二数据的主键值进行所述预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中;
从所述第一数据平台的N个分桶中选取当前一个分桶,从所述第二数据平台的M个分桶中,选取至少一个分桶,使得所述至少一个分桶中第二数据的主键值经由所述预定操作的操作结果,对应于所述当前一个分桶中第一数据的主键值经由所述预定操作的操作结果;
对所述当前一个分桶中的第一数据和所述至少一个分桶中的第二数据进行求交,执行数据融合。
2.根据权利要求1所述的方法,在所述获取第一数据平台的分桶数N以及第二数据平台的分桶数M之前,还包括:
向所述第一数据平台和所述第二数据平台提供认证报告,以使得所述第一数据平台和第二数据平台对所述数据融合平台进行远程认证。
3.根据权利要求1所述的方法,其中,N=M,所述当前一个分桶的分桶编号为i;
所述从所述第二数据平台的M个分桶中,选取至少一个分桶,包括:
从所述第二数据平台的M个分桶中,选取分桶编号为i的分桶。
4.根据权利要求1所述的方法,其中,N<M,且所述N和所述M均为2的幂次方;所述当前一个分桶的分桶编号为i;
所述从所述第二数据平台的M个分桶中,选取至少一个分桶,包括:
将所述M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果;
将取模结果为i的分桶选取作为所述至少一个分桶。
5.一种多平台间数据的融合装置,包括:
获取单元,用于获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M;
所述第一数据平台与第一数据集相对应,根据对所述第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中;其中,所述预定操作包括对主键值进行数值转换后,将转换结果对分桶数取模;
所述第二数据平台与第二数据集相对应,根据对所述第二数据集中各条第二数据的主键值进行所述预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中;
选取单元,用于从所述第一数据平台的N个分桶中选取当前一个分桶,从所述第二数据平台的M个分桶中,选取至少一个分桶,使得所述至少一个分桶中第二数据的主键值经由所述预定操作的操作结果,对应于所述当前一个分桶中第一数据的主键值经由所述预定操作的操作结果;
处理单元,用于对所述当前一个分桶中的第一数据和所述至少一个分桶中的第二数据进行求交,执行数据融合。
6.根据权利要求5所述的装置,还包括:
发送单元,用于向所述第一数据平台和所述第二数据平台提供认证报告,以使得所述第一数据平台和第二数据平台对数据融合平台进行远程认证。
7.根据权利要求5所述的装置,所述选取单元具体用于:
从所述第二数据平台的M个分桶中,选取分桶编号为i的分桶。
8.根据权利要求5所述的装置,所述选取单元还具体用于:
将所述M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果;
将取模结果为i的分桶选取作为所述至少一个分桶。
9.一种多平台间数据的融合设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
获取第一数据平台的分桶数N以及第二数据平台的分桶数M,其中,N<=M;
所述第一数据平台与第一数据集相对应,根据对所述第一数据集中各条第一数据的主键值进行预定操作的操作结果,在N个分桶中确定对应分桶编号,各条第一数据被分别划分到具有对应分桶编号的分桶中;其中,所述预定操作包括对主键值进行数值转换后,将转换结果对分桶数取模;
所述第二数据平台与第二数据集相对应,根据对所述第二数据集中各条第二数据的主键值进行所述预定操作的操作结果,在M个分桶中确定对应分桶编号,各条第二数据被分别划分到具有对应分桶编号的分桶中;
从所述第一数据平台的N个分桶中选取当前一个分桶,从所述第二数据平台的M个分桶中,选取至少一个分桶,使得所述至少一个分桶中第二数据的主键值经由所述预定操作的操作结果,对应于所述当前一个分桶中第一数据的主键值经由所述预定操作的操作结果;
对所述当前一个分桶中的第一数据和所述至少一个分桶中的第二数据进行求交,执行数据融合。
CN201811646333.6A 2018-12-29 2018-12-29 多平台间数据的融合方法、装置及设备 Active CN110046638B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811646333.6A CN110046638B (zh) 2018-12-29 2018-12-29 多平台间数据的融合方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811646333.6A CN110046638B (zh) 2018-12-29 2018-12-29 多平台间数据的融合方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110046638A CN110046638A (zh) 2019-07-23
CN110046638B true CN110046638B (zh) 2023-06-23

Family

ID=67274059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811646333.6A Active CN110046638B (zh) 2018-12-29 2018-12-29 多平台间数据的融合方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110046638B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723044A (zh) * 2020-06-18 2020-09-29 北京字节跳动网络技术有限公司 数据处理系统、状态转移方法、数据求交方法、装置
CN112036510B (zh) * 2020-09-30 2024-07-26 北京百度网讯科技有限公司 模型生成方法、装置、电子设备及存储介质
CN114021198B (zh) * 2021-12-29 2022-04-08 支付宝(杭州)信息技术有限公司 一种保护数据隐私的确定共有数据的方法及装置
CN114818000B (zh) * 2022-06-29 2022-09-20 深圳市洞见智慧科技有限公司 隐私保护的集合混淆求交方法、系统及相关设备
CN117439732A (zh) * 2023-10-30 2024-01-23 浙江大学 应用于隐私计算的电路隐私集合求交方法、电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080060B2 (en) * 2003-01-08 2006-07-18 Sbc Properties, L.P. System and method for intelligent data caching
CN101483605B (zh) * 2009-02-25 2011-04-06 北京星网锐捷网络技术有限公司 数据报文的存储、查找方法和装置
CN104166821B (zh) * 2013-05-17 2017-07-21 华为技术有限公司 一种数据处理的方法和装置
CN103593436B (zh) * 2013-11-12 2017-02-08 华为技术有限公司 文件合并方法和装置
CN103810247A (zh) * 2014-01-10 2014-05-21 国网信通亿力科技有限责任公司 基于分桶算法的灾备数据比对方法
CN105095515A (zh) * 2015-09-11 2015-11-25 北京金山安全软件有限公司 支持快速查询Map-Reduce输出结果的分桶方法、装置及设备
WO2017086987A1 (en) * 2015-11-20 2017-05-26 Hewlett Packard Enterprise Development Lp In-memory data shuffling

Also Published As

Publication number Publication date
CN110046638A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN110046638B (zh) 多平台间数据的融合方法、装置及设备
US10698885B2 (en) Method and device for writing service data in block chain system
CN107657438B (zh) 一种区块链生成方法、数据验证方法、节点及系统
CN107807951B (zh) 一种区块链生成方法、数据验证方法、节点及系统
CN111767555B (zh) 区块链中实现隐私保护的方法及节点、存储介质
CN107196900A (zh) 一种共识校验的方法及装置
US11521129B2 (en) Processing device, accelerator, and method for federated learning
CN111061769A (zh) 一种区块链系统的共识方法及相关设备
US20210185038A1 (en) Method and apparatus for establishing trusted computing cluster
US11102322B2 (en) Data processing method and apparatus, server, and controller
US20180285078A1 (en) Method and apparatus for generating random character string
CN111669267B (zh) 区块链的共识机制配置及背书策略配置方法
CN110659905A (zh) 交易验证方法、装置、终端设备以及存储介质
CN113343283A (zh) 一种数据处理方法
CN115733763A (zh) 一种关联网络的标签传播方法、装置及计算机可读存储介质
CN116167092A (zh) 一种密态数据查询方法、装置、存储介质以及电子设备
CN111651695A (zh) 一种短链接的生成与解析方法及装置
CN111260253A (zh) 信息发送方法、装置、计算机设备及存储介质
CN111061813B (zh) 用于区块链网络中的数据同步的方法、装置和计算设备
CN115829731A (zh) 一种交易信息处理方法及装置
CN110008732B (zh) 数据的关联方法、装置及设备
CN112711683A (zh) 数据比对方法、装置及计算机设备
US20110219439A1 (en) Providing support for multiple authentication chains
CN115481440B (zh) 数据处理方法、装置、电子设备和介质
WO2024092932A1 (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
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant