CN110008732B - 数据的关联方法、装置及设备 - Google Patents

数据的关联方法、装置及设备 Download PDF

Info

Publication number
CN110008732B
CN110008732B CN201811641616.1A CN201811641616A CN110008732B CN 110008732 B CN110008732 B CN 110008732B CN 201811641616 A CN201811641616 A CN 201811641616A CN 110008732 B CN110008732 B CN 110008732B
Authority
CN
China
Prior art keywords
data
sub
bucket
buckets
primary key
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
CN201811641616.1A
Other languages
English (en)
Other versions
CN110008732A (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 CN201811641616.1A priority Critical patent/CN110008732B/zh
Publication of CN110008732A publication Critical patent/CN110008732A/zh
Application granted granted Critical
Publication of CN110008732B publication Critical patent/CN110008732B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施例提供一种数据的关联方法、装置及设备,在数据的关联方法中,数据使用方确定待关联的第一数据。获取第一数据的主键值。根据主键值,确定第一数据所在分桶的分桶编号。向计算容器发送数据关联请求。该数据关联请求包括分桶编号、主键值以及数据使用方的分桶数N。该数据关联请求用于指示计算容器根据分桶编号以及分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据。还用于指示计算容器根据主键值,从读取的第二数据中选取目标数据。接收计算容器返回的目标数据。将第一数据与目标数据进行关联,得到关联后的数据。

Description

数据的关联方法、装置及设备
技术领域
本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种数据的关联方法、装置及设备。
背景技术
为了获取更全面的数据,通常需要对多方数据进行关联(也称联合)。以关联两方(假设为A方和B方)数据为例来说,传统的关联方法如下:A方与B方预先协商各自数据集的主键(key)。主键通常由数据集中的一个或多个字段构成,其对应的主键值可以唯一地标识数据集中的一条数据。也即数据与主键值之间是一一对应的关系。之后,当A方(B方)想要针对数据集中的某条数据实现关联时,可以向B方(A方)发送该条数据的主键值。B方(A方)根据接收的主键值,从对应数据集中读取该主键值所标识的数据,并向A方(B方)返回读取的数据。从而由A方(B方)进行数据关联。
由上可以看出,传统的数据的关联方法中,一方(如,A方)需要向其它方(如,B方)发送数据的主键值。从而上述一方中通过该主键值标识的数据就会被其它方探知。因此,需要提供一种更安全的数据的关联方法。
发明内容
本说明书一个或多个实施例描述了一种数据的关联方法、装置及设备,可以保证数据的安全性。
第一方面,提供了一种数据的关联方法,包括:
数据使用方确定待关联的第一数据;
获取所述第一数据的主键值;
根据所述主键值,确定所述第一数据所在分桶的分桶编号;
向计算容器发送数据关联请求;所述数据关联请求包括所述分桶编号、所述主键值以及所述数据使用方的分桶数N;所述数据关联请求用于指示所述计算容器根据所述分桶编号以及所述分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据;还用于指示所述计算容器根据所述主键值,从读取的第二数据中选取目标数据;
接收所述计算容器返回的所述目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据。
第二方面,提供了一种数据的关联方法,包括:
计算容器接收数据使用方发送的数据关联请求;
所述数据关联请求包括待关联的第一数据、所述第一数据的主键值、所述第一数据所在分桶的分桶编号以及所述数据使用方的分桶数N;
根据所述分桶数N以及所述分桶编号,从所述数据提供方的对应分桶中读取该分桶中的第二数据;
根据所述主键值,从读取的第二数据中选取目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据;
向所述数据使用方返回所述关联后的数据。
第三方面,提供了一种数据的关联装置,包括:
确定单元,用于确定待关联的第一数据;
获取单元,用于获取所述确定单元确定的所述第一数据的主键值;
所述确定单元,还用于根据所述获取单元获取的所述主键值,确定所述第一数据所在分桶的分桶编号;
发送单元,用于向计算容器发送数据关联请求;所述数据关联请求包括所述分桶编号、所述主键值以及所述数据使用方的分桶数N;所述数据关联请求用于指示所述计算容器根据所述分桶编号以及所述分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据;还用于指示所述计算容器根据所述主键值,从读取的第二数据中选取目标数据;
接收单元,用于接收所述计算容器返回的所述目标数据;
关联单元,用于将所述确定单元确定的所述第一数据与所述接收单元接收的所述目标数据进行关联,得到关联后的数据。
第四方面,提供了一种数据的关联装置,包括:
接收单元,用于接收数据使用方发送的数据关联请求;
所述数据关联请求包括待关联的第一数据、所述第一数据的主键值、所述第一数据所在分桶的分桶编号以及所述数据使用方的分桶数N;
读取单元,用于根据所述接收单元接收的所述分桶数N以及所述分桶编号,从所述数据提供方的对应分桶中读取该分桶中的第二数据;
选取单元,用于根据所述接收单元接收的所述主键值,从读取单元读取的第二数据中选取目标数据;
关联单元,用于将所述接收单元接收的所述第一数据与所述选取单元选取的所述目标数据进行关联,得到关联后的数据;
发送单元,用于向所述数据使用方返回所述关联后的数据。
第五方面,提供了一种数据的关联设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
确定待关联的第一数据;
获取所述第一数据的主键值;
根据所述主键值,确定所述第一数据所在分桶的分桶编号;
向计算容器发送数据关联请求;所述数据关联请求包括所述分桶编号、所述主键值以及所述数据使用方的分桶数N;所述数据关联请求用于指示所述计算容器根据所述分桶编号以及所述分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据;还用于指示所述计算容器根据所述主键值,从读取的第二数据中选取目标数据;
接收所述计算容器返回的所述目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据。
第六方面,提供了一种数据的关联设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
接收数据使用方发送的数据关联请求;
所述数据关联请求包括待关联的第一数据、所述第一数据的主键值、所述第一数据所在分桶的分桶编号以及所述数据使用方的分桶数N;
根据所述分桶数N以及所述分桶编号,从所述数据提供方的对应分桶中读取该分桶中的第二数据;
根据所述主键值,从读取的第二数据中选取目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据;
向所述数据使用方返回所述关联后的数据。
本说明书一个或多个实施例提供的数据的关联方法、装置及设备,数据使用方确定待关联的第一数据。获取第一数据的主键值。根据主键值,确定第一数据所在分桶的分桶编号。向计算容器发送数据关联请求。该数据关联请求包括分桶编号、主键值以及数据使用方的分桶数N。该数据关联请求用于指示计算容器根据分桶编号以及分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据。还用于指示计算容器根据主键值,从读取的第二数据中选取目标数据。接收计算容器返回的目标数据。将第一数据与目标数据进行关联,得到关联后的数据。也即本说明书实施例提供的方案中,为避免数据提供方对数据使用方的数据的探知,计算容器在从数据提供方读取数据的过程中,不是仅仅读取目标数据,而是读取目标数据所在桶内的所有数据,由此数据提供方就不会轻易探知到数据使用方的数据,这可以提升数据的安全性。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书提供的数据的关联方法的应用场景示意图;
图2为本说明书提供的数据的分桶方法流程图;
图3为本说明书一个实施例提供的数据的关联方法流程图;
图4为本说明书另一个实施例提供的数据的关联方法流程图;
图5为本说明书提供的安全性证明结果示意图;
图6为本说明书一个实施例提供的数据的关联装置示意图;
图7为本说明书另一个实施例提供的数据的关联装置示意图;
图8为本说明书一个实施例提供的数据的关联设备示意图;
图9为本说明书一个实施例提供的数据的关联设备示意图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
在介绍本说明书提供的方案之前,先对本方案的发明构思作以下说明。
如背景技术中所述,为了获取更全面的数据,多方平台通常会有数据关联的需求。本说明书中的数据关联可以是指将通过相同主键值标识的两条以上数据进行合并,该两条以上数据分别位于不同的数据集。可以理解的是,实现数据关联的前提条件是:不同数据集之间具有相同的主键。而传统技术中,在进行多方数据的关联时,一方(如,A方)需要向其它方(如,B方)发送数据的主键值。从而上述一方中通过该主键值标识的数据就会被其它方探知。那么如何在主键值保密的情况下实现数据的关联呢?
一方面,可以考虑由可行执行环境(Trusted Execution Environment,TEE)(也称计算容器)来实现数据的读取。因为可信执行环境可以保证数据操作的安全性,从而可以向其中注入隐私数据(如,主键值)。目前,有多种技术可以构建上述可行执行环境,如,IntelSGX、ARM Trust Zone以及IBM SecureBlue++等。在本说明书中,以Intel SGX技术构建的可信执行环境为例来说。
对于上述构建的可信执行环境,在某方平台(如,前述A方或者B方)执行数据的关联操作之前,可以先进行远程认证(Remote Authentication,RA),以判断其运行环境是否是可信的。在RA通过后,再执行数据的关联等操作。这里的RA主要包括两方面:第一,确认远程代码是否跑在Enclave里面。第二,确认远程代码的行为(即代码签名)是否符合预期。
另一方面,在读取数据的过程中,我们可以考虑读取多条数据。这样其它方就不容易探知上述一方的数据,从而达到数据保密的目的。以对两方数据进行关联为例来说,可以预先对被读取数据的一方(以下称为:数据提供方)对应数据集中的数据进行分桶,之后,读取数据提供方的一个分桶中的数据。但问题是:如何保证读取的多条数据中能够包含我们的目标数据呢?其具体可以通过如下两种思路来实现。
在一种实现方式中,可以设定统一的分桶数N。之后,各方平台基于该统一的分桶数N,将对应数据集中的数据划分到N个分桶中。如,多方平台可以先对对应数据集中各条数据的主键值进行数值转换。之后将各条数据的转换结果对N取模,得到取模结果。根据取模结果,在N个分桶中确定对应分桶编号。将数据集中各条数据分别划分到具有对应分桶编号的分桶中。上述分桶方法具体可以表示为如下公式:hash(key)%N=bucket_id。其中,key为数据集中的一条数据的主键值。bucket_id为该条数据所在分桶的分桶编号。需要说明的是,为了保证各方平台的数据均能划分到N个分桶中,上述分桶数N可以任意多。此外,由于Intel SGX技术构建的可信执行环境有128M的限制,所以本说明书中可以设定分桶大小的上限值,如,可以设定为30M。
需要说明的是,在上述分桶方法中,由于hash(key)之后的结果是接近均匀随机分布,因此以hash(key)%N的方式将数据分到N个桶中,如果数据的个数远远大于分桶数N,根据大数定律,每个分桶分到的数据量差不多。由此,保证了数据集中的数据在N个分桶的均匀分布。
在另一种实现方式中,上述N的个数可以不统一设定,而是根据每个平台的数据量大小进行动态设定。然而问题是,当多方平台之间N的个数不统一时,读取那个分桶中的数据呢?
首先,可以考虑将N规定为2的幂次方。以一方平台的N的设定为例来说,初始时,平台可以根据对应数据集的数据量,设定初始的N,且该N为2的幂次方。之后,平台根据上述分桶方法进行数据的分桶。在分桶的过程中,当某个分桶的容量达到上限值时,将初始的N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号。然后将当前数据划分到具有新的分桶编号的分桶中;依次类推,直至数据集中的所有数据分桶完成。则最后得到的分桶数即为该平台的分桶数。
其次,在各方平台完成数据的分桶之后,数据使用方确定待关联的第一数据。获取第一数据的主键值。根据主键值,确定第一数据所在分桶的分桶编号。向计算容器发送数据关联请求。该数据关联请求包括分桶编号、主键值以及数据使用方的分桶数N。该数据关联请求用于指示计算容器根据分桶编号以及分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据。还用于指示计算容器根据主键值,从读取的第二数据中选取目标数据。接收计算容器返回的目标数据。将第一数据与目标数据进行关联,得到关联后的数据。
需要说明的是,当分桶数N与数据提供方的分桶数M相等时,上述对应分桶可以是指数据提供方中具有该分桶编号的分桶。当分桶数N小于分桶数M时,上述对应分桶是指数据提供方中具有分桶编号对N取模之后的取模结果为分桶编号的分桶。当分桶数N大于分桶数M时,上述对应分桶是指数据提供方中具有分桶编号为分桶编号对N取模之后的取模结果的分桶。
那么基于如上方法就可以确保读取的第二数据中包括目标数据吗?以下给出证明。
以两方平台(如,甲方和乙方)为例来说,且假设该两方平台的分桶数分别为:Na和Nb。那么甲方在数据分桶的过程中,是基于公式:hash(key)%Na来进行分桶的,即bucket_id=hash(key)%Na。而乙方在数据分桶的过程中,是基于公式:hash(key)%Nb来进行分桶的,即bucket_id=hash(key)%Nb。现假设Na<Nb,且甲方的第一数据的主键值为key,所在分桶编号为i时,即在满足如下条件时:bucket_id=hash(key)%Na=i;那么依照上文所述,且乙方的对应分桶的分桶编号需满足如下条件:bucket_id=(hash(key)%Nb)%Na=i。要想证明目标数据在该对应的分桶中,那么就需要证明(hash(key)%Nb)%Na=i。具体证明过程如下:
因为,(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中的数据使用方或者数据提供方,以执行主体为数据使用方为例来说,该方法可以包括如下步骤:
步骤202,对第一数据集中各条第一数据的主键值进行预定操作,得到操作结果。
在一种实现方式中,步骤202具体可以为:数据使用方对第一数据集中各条第一数据的主键值进行数值转换。将得到的转换结果对N取模,得到取模结果。这里的数值转换可以包括哈希运算,也可以包括任一种可以将主键值转换成具有固定长度的数字串的算法。
在另一种实现方式中,步骤202具体也可以为:数据使用方对第一数据集中各条第一数据的主键值对N取模,得到取模结果。
步骤204,根据操作结果,在N个分桶中确定各条第一数据对应的分桶编号,并将各条第一数据分别划分到具有对应分桶编号的分桶中。
如,可以直接将上述取模结果作为各条第一数据的分桶编号。
可选地,在本说明书中,各分桶可以具有对应的容量上限。当其具有对应的容量上限时,上述将各条第一数据分别划分到具有对应分桶编号的分桶中可以包括:
对当前第一数据,判断具有对应分桶编号的分桶的当前容量是否达到对应的容量上限。若否,则将当前第一数据划分到具有对应分桶编号的分桶中,并更新分桶的当前容量。若是,则将N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号。将当前第一数据划分到具有新的分桶编号的分桶中。
需要说明的是,这里的N为2的幂次方。上述将N扩大一倍是在多平台之间的分桶数不统一设定的情况下才执行的。
在按照上述方法完成对数据使用方和数据提供方的数据的分桶之后,就可以执行如下的数据的关联方法了。
图3为本说明书一个实施例提供的数据的关联方法流程图。所述方法的执行主体可以为图1中的数据使用方。如前所述,假设数据使用方和数据提供方已经完成了对应数据集中数据的分桶,分桶方法如上所述,在此不复赘述。如图3所示,所述方法具体可以包括:
步骤302,确定待关联的第一数据。
此处,可以根据实际需求,来确定待关联的第一数据。以数据使用方为淘宝网为例来说,当用户在淘宝网上购物时,在淘宝网对应的数据集中与该用户相关的数据可以确定为待关联数据。这里将该用户相关的数据确定为待关联数据的原因如下:对于当前正在购物的用户,为了提升购物体验,淘宝网通常会推送一些用户可能偏好的商品或者优惠权益,但是仅仅依据当前数据集中的数据,还不够分析出用户的行为偏好时,就需要与其它应用方(如,百度)的数据进行关联,以获取到该用户更多更全面的数据,从而可以准确分析出其行为偏好,并向其推送所偏好的商品或者优惠权益等。
步骤304,获取第一数据的主键值。
如前所述,第一数据集中的各条数据与主键值是一一对应的关系。因此,在第一数据集中确定待关联的第一数据之后,就可以获取到对应的主键值。如前述例子,即第一数据为与用户相关的数据时,对应的关键值可以为用户的身份证号。
步骤306,根据主键值,确定第一数据所在分桶的分桶编号。
此处,可以根据前述公式:hash(key)%N,来确定第一数据所在分桶的分桶编号。
在上述分桶编号以及主键值均确定好之后,可以从第一数据集中读取对应的第一数据。
步骤308,向计算容器发送数据关联请求。
可选地,在向计算容器发送数据关联请求之前,可以先对计算容器的运行环境进行远程认证。在远程认证通过后,向计算容器发送数据关联请求。由此,来保证数据的安全性。
步骤308中的数据关联请求至少可以包括分桶编号、主键值以及分桶数N。此外,还可以包括第一数据。为了保证数据的安全性,这里的分桶编号、主键值以及分桶数N可以是加密发送的。计算容器在接收到该数据关联请求之后,首先可以对上述加密后的数据进行解密。之后,可以根据分桶编号以及分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据。可以根据主键值,从读取的第二数据中选取目标数据。
需要说明的是,当分桶数N与数据提供方的分桶数M相等时,上述对应分桶可以是指数据提供方中具有该分桶编号的分桶。当分桶数N小于分桶数M时,上述对应分桶是指数据提供方中具有分桶编号对N取模之后的取模结果为分桶编号的分桶。当分桶数N大于分桶数M时,上述对应分桶是指数据提供方中具有分桶编号为分桶编号对N取模之后的取模结果的分桶。
步骤310,接收计算容器返回的目标数据。
步骤312,将第一数据与目标数据进行关联,得到关联后的数据。
当数据关联请求还包括第一数据时,上述步骤310和步骤312也可以替换为:计算容器将第一数据与目标数据进行关联,得到关联后的数据。向数据使用方返回关联后的数据。
本说明书上述得到的关联后的数据,可以用于离线训练机器学习模型,还可以用于在线预测等诸多场景中。
在此说明,上述数据提供方的个数可以为多个。当数据提供方存在多个时,从每个数据提供方读取数据的方式类似,在此不复赘述。此外,数据提供方为了确保计算容器的运行环境的安全性,各数据提供方在计算容器读取数据之前,可以先对计算容器的运行环境进行远程认证。在远程认证通过后,才允许计算容器从中读取数据。
综上,本说明书实施例提供的数据的关联方法,在进行数据的关联时,不需要发送全量数据,这可以节约网络和内存资源的消耗。此外,计算容器在从数据提供方读取数据的过程中,不是仅仅读取目标数据,而是读取目标数据所在桶内的所有数据,由此达到了主键值保密的目的,进而可以提升数据的安全性。最后,由于本说明书提供的方案实现的是单条数据的关联,因此比较适合于在线关联的场景。
图4为本说明书另一个实施例提供的数据的关联方法流程图。所述方法的执行主体可以为图1中的计算容器。如前所述,假设数据使用方和数据提供方已经完成了对应数据集中数据的分桶,分桶方法如上所述。此外,数据使用方还完成了上述步骤302-步骤306。如图4所示,所述方法具体可以包括:
步骤402,接收数据使用方发送的数据关联请求。
该数据关联请求至少可以包括待关联的第一数据、第一数据的主键值以及第一数据所在分桶的分桶编号以及分桶数N等。为了保证数据的安全性,这里的数据关联请求中的数据可以是加密发送的。计算容器在接收到该数据关联请求之后,首先可以对上述加密后的数据进行解密。
步骤404,根据分桶数N以及分桶编号,从数据提供方的对应分桶中读取该分桶中的第二数据。
上述步骤404具体可以包括:
将分桶数据N与预先获取的数据提供方的分桶数M进行比较。
当N=M时,从数据提供方的M个分桶中,选取具有该分桶编号的分桶。从所选取的分桶中读取第二数据。
当N<M且N和M均为2的幂次方时,将数据提供方的M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果。选取取模结果与该分桶编号相等的分桶。从所选取的分桶中读取第二数据。
当N>M且N和M均为2的幂次方时,将该分桶编号对M取模,得到取模结果。从数据提供方的M个分桶中选取分桶编号为该取模结果的分桶。从所选取的分桶中读取第二数据。
步骤406,根据主键值,从读取的第二数据中选取目标数据。
即可以是从读取的第二数据中读取出与该主键值相匹配的目标数据。
步骤408,将第一数据与目标数据进行关联,得到关联后的数据。
这里的关联可以包括但不限于合并和/或去重处理等操作。
步骤410,向数据使用方返回关联后的数据。
本说明书上述得到的关联后的数据,可以用于离线训练机器学习模型,还可以用于在线预测等诸多场景中。
在此说明,上述数据提供方的个数可以为多个。当数据提供方存在多个时,从每个数据提供方读取数据的方式类似,在此不复赘述。此外,数据提供方为了确保计算容器的运行环境的安全性,各数据提供方在计算容器读取数据之前,可以先对计算容器的运行环境进行远程认证。在远程认证通过后,才允许计算容器从中读取数据。
综上,本说明书实施例提供的数据的关联方法可以保证数据关联的安全性。
需要说明的是,根据上述发明构思以及多个实施例的内容可知,在执行本说明书提供的方案之前,可以先对数据使用方和数据提供方对应数据集中的数据进行分桶。因此,分桶方法的设定起着比较重要的作用。
如前所述,在一种方式中,可以根据公式:hash(key)%N,来实现不同数据集中数据的分桶。以下对根据该公式实现分桶时,数据的安全性进行说明。
首先,hash函数可以保证结果满足均匀随机分布。因此,上述公式1可以保证bucket_id是在[0,N-1]中随机均匀的一个数字。对于N,如果,N=1,数据的安全性最好,但网络传输成本太高。如果N过分大(比如大于数据总条数),那么有可能会存在1个分桶中只有一条数据。那么当该条数据被选定为待关联数据时,则数据提供方可通过分桶编号反推到该条数据的主键值,安全性得不到保障。
在一种实现方式中,可以设定N=数据总条数/100,由此能够均衡安全性和网络传输成本两个因素。以下是数学证明。
上述问题可以规约为:有B个球,均匀随机分到N个桶中,记包含k个球的桶的个数为C_k。如何设计,使得包含一个球的桶的个数:C_1逼近于零。
解答:
可以理解的是,在上述命题下,对于任一个桶,其包含K个球的概率为:T=C(B,k)*(1/N)^k*((N-1)/N)^{B-k},C(B,k)是组合数。则C_k的数学期望E(C_k)=N*T=N*C(B,k)*(1/N)^k*((N-1)/N)^{B-k}。所以E(C_1)=N*C(B,k)*(1/N)*((N-1)/N)^{B-1}=C(B,k)*((N-1)/N)^{B-1}=B*(1-1/N)^{B-1}=B*(1-1/N)^{N*(B-1)/N}=B*(1/e)^{(B-1)/N}。
记p=(B-1)/N,则E(C_1)=B*(1/e)^p。
当p=50,E(C_1)=B*1.9e-22时,可以认为,几乎不可能发生。
实际操作中,取p>50,就可以保证该分桶方法的安全性。
以下结合实验数据,对本说明书提供的分桶方法的安全性进行进一步说明。
假设B=1e8,且key=1~1e8,还假设N=B/100=1e6,p=100,那么实验结果可以如图5所示。图5中,横坐标为上述C_K,纵坐标为分桶中球的个数。从图5中可以看出,各分桶中球的个数集中在100个周围,且最大值为151个,最小值为54个。因为最小值为54个,从而数据提供方只有不到1/50概率能探知数据使用方的数据,所以可以保证数据使用方的数据的安全性。
与上述数据的关联方法对应地,本说明书一个实施例还提供的一种数据的关联装置,如图6所示,该装置可以包括:
确定单元602,用于确定待关联的第一数据。
获取单元604,用于获取确定单元602确定的第一数据的主键值。
确定单元602,还用于根据获取单元604获取的主键值,确定第一数据所在分桶的分桶编号。
发送单元606,用于向计算容器发送数据关联请求。该数据关联请求包括分桶编号、主键值以及数据使用方的分桶数N。数据关联请求用于指示计算容器根据分桶编号以及分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据。还用于指示计算容器根据主键值,从读取的第二数据中选取目标数据。
当分桶数N与数据提供方的分桶数M相等时,该对应分桶是指数据提供方中具有该分桶编号的分桶,其中,N和M均为正整数。
当分桶数N小于数据提供方的分桶数M且N和M均为2的幂次方时,该对应分桶是指数据提供方中具有分桶编号对N取模之后的取模结果为该分桶编号的分桶。
当分桶数N大于数据提供方的分桶数M且N和M均为2的幂次方时,该对应分桶是指数据提供方中具有分桶编号为分桶编号对N取模之后的取模结果的分桶。
接收单元608,用于接收计算容器返回的目标数据。
关联单元610,用于将确定单元602确定的第一数据与接收单元608接收的目标数据进行关联,得到关联后的数据。
可选地,该装置还可以包括:
操作单元612,用于对第一数据集中各条第一数据的主键值进行预定操作,得到操作结果。
划分单元614,用于根据操作单元612的操作结果,在N个分桶中确定各条第一数据对应的分桶编号,并将各条第一数据分别划分到具有对应分桶编号的分桶中。
划分单元614具体可以用于:
对当前第一数据,判断具有对应分桶编号的分桶的当前容量是否达到对应的容量上限。
若否,则将当前第一数据划分到具有对应分桶编号的分桶中,并更新该分桶的当前容量。
若是,则将N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号。将当前第一数据划分到具有新的分桶编号的分桶中。
可选地,该装置还可以包括:
认证单元616,用于对计算容器的运行环境进行远程认证。
发送单元606具体用于:
在远程认证通过后,向计算容器发送数据关联请求。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的数据的关联装置,可以在主键值保密的情况下实现数据的关联,从而可以保证数据的安全性。
本说明书一个实施例提供的数据的关联装置可以为图1中数据使用方的一个模块或者单元。
与数据的关联方法对应地,本说明书一个实施例还提供的一种数据的关联装置,如图7所示,该装置可以包括:
接收单元702,用于接收数据使用方发送的数据关联请求。
该数据关联请求可以包括待关联的第一数据、第一数据的主键值、第一数据所在分桶的分桶编号以及数据使用方的分桶数N。
该数据关联请求可以是由数据使用方在对计算容器的远程认证通过后发送的。
读取单元704,用于根据接收单元702接收的分桶数N以及分桶编号,从数据提供方的对应分桶中读取该分桶中的第二数据。
选取单元706,用于根据接收单元702接收的主键值,从读取单元704读取的第二数据中选取目标数据。
关联单元708,用于将接收单元702接收的第一数据与选取单元706选取的目标数据进行关联,得到关联后的数据。
发送单元710,用于向数据使用方返回关联后的数据。
读取单元704具体可以用于:
将分桶数据N与预先获取的数据提供方的分桶数M进行比较。
当N=M时,从数据提供方的M个分桶中,选取具有该分桶编号的分桶。从所选取的分桶中读取第二数据。
当N<M且N和M均为2的幂次方时,将数据提供方的M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果。选取取模结果与该分桶编号相等的分桶。从所选取的分桶中读取第二数据。
当N>M且N和M均为2的幂次方时,将分桶编号对M取模,得到取模结果。从数据提供方的M个分桶中选取分桶编号为该取模结果的分桶。从所选取的分桶中读取第二数据。
本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。
本说明书一个实施例提供的数据的关联装置,可以在主键值保密的情况下实现数据的关联,从而可以保证数据的安全性。
本说明书一个实施例提供的数据的关联装置可以为图1中计算容器的一个模块或者单元。
与上述数据的关联方法对应地,本说明书实施例还提供了一种数据的关联设备,如图8所示,该设备可以包括:存储器802、一个或多个处理器804以及一个或多个程序。其中,该一个或多个程序存储在存储器802中,并且被配置成由一个或多个处理器804执行,该程序被处理器804执行时实现以下步骤:
确定待关联的第一数据。
获取第一数据的主键值。
根据主键值,确定第一数据所在分桶的分桶编号。
向计算容器发送数据关联请求。该数据关联请求包括分桶编号、主键值以及数据使用方的分桶数N。数据关联请求用于指示计算容器根据分桶编号以及分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据。还用于指示计算容器根据主键值,从读取的第二数据中选取目标数据。
接收计算容器返回的目标数据。
将第一数据与目标数据进行关联,得到关联后的数据。
本说明书一个实施例提供的数据的关联设备,可以保证数据的安全性。
与上述数据的关联方法对应地,本说明书实施例还提供了一种数据的关联设备,如图9所示,该设备可以包括:存储器902、一个或多个处理器904以及一个或多个程序。其中,该一个或多个程序存储在存储器902中,并且被配置成由一个或多个处理器904执行,该程序被处理器904执行时实现以下步骤:
接收数据使用方发送的数据关联请求。
该数据关联请求包括待关联的第一数据、第一数据的主键值、第一数据所在分桶的分桶编号以及数据使用方的分桶数N。
根据分桶数N以及分桶编号,从数据提供方的对应分桶中读取该分桶中的第二数据。
根据主键值,从读取的第二数据中选取目标数据。
将第一数据与目标数据进行关联,得到关联后的数据。
向数据使用方返回关联后的数据。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

Claims (18)

1.一种数据的关联方法,包括:
数据使用方确定待关联的第一数据;
获取所述第一数据的主键值;
根据所述主键值,确定所述第一数据所在分桶的分桶编号;
向计算容器发送数据关联请求;所述数据关联请求包括所述分桶编号、所述主键值以及所述数据使用方的分桶数N;所述数据关联请求用于指示所述计算容器根据所述分桶编号以及所述分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据;还用于指示所述计算容器根据所述主键值,从读取的第二数据中选取目标数据;
接收所述计算容器返回的所述目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据。
2.根据权利要求1所述的方法,在确定待关联数据之前,还包括:
对第一数据集中各条第一数据的主键值进行预定操作,得到操作结果;
根据所述操作结果,在N个分桶中确定所述各条第一数据对应的分桶编号,并将所述各条第一数据分别划分到具有对应分桶编号的分桶中。
3.根据权利要求2所述的方法,所述分桶具有对应的容量上限;所述将所述各条第一数据分别划分到具有对应分桶编号的分桶中,包括:
对当前第一数据,判断具有对应分桶编号的分桶的当前容量是否达到对应的容量上限;
若否,则将当前第一数据划分到具有对应分桶编号的分桶中,并更新所述分桶的当前容量;
若是,则将N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号;将当前第一数据划分到具有所述新的分桶编号的分桶中。
4.根据权利要求1所述的方法,
当所述分桶数N与所述数据提供方的分桶数M相等时,所述对应分桶是指所述数据提供方中具有所述分桶编号的分桶;其中,N和M均为正整数;
当所述分桶数N小于所述数据提供方的分桶数M且N和M均为2的幂次方时,所述对应分桶是指所述数据提供方中具有分桶编号对N取模之后的取模结果为所述分桶编号的分桶;
当所述分桶数N大于所述数据提供方的分桶数M且N和M均为2的幂次方时,所述对应分桶是指所述数据提供方中具有分桶编号为所述分桶编号对N取模之后的取模结果的分桶。
5.根据权利要求1所述的方法,在所述向计算容器发送数据关联请求之前,还包括:
对所述计算容器的运行环境进行远程认证;
所述向计算容器发送数据关联请求,包括:
在远程认证通过后,向计算容器发送数据关联请求。
6.一种数据的关联方法,包括:
计算容器接收数据使用方发送的数据关联请求;
所述数据关联请求包括待关联的第一数据、所述第一数据的主键值、所述第一数据所在分桶的分桶编号以及所述数据使用方的分桶数N;
根据所述分桶数N以及所述分桶编号,从数据提供方的对应分桶中读取该分桶中的第二数据;
根据所述主键值,从读取的第二数据中选取目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据;
向所述数据使用方返回所述关联后的数据。
7.根据权利要求6所述的方法,所述根据所述分桶数N以及所述分桶编号,从所述数据提供方的对应分桶中读取该分桶中的第二数据,包括:
将所述分桶数N与预先获取的所述数据提供方的分桶数M进行比较;
当N=M时,从所述数据提供方的M个分桶中,选取具有所述分桶编号的分桶;从所选取的分桶中读取第二数据;
当N<M且N和M均为2的幂次方时;将所述数据提供方的M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果;选取取模结果与所述分桶编号相等的分桶;从所选取的分桶中读取第二数据;
当N>M且N和M均为2的幂次方时;将所述分桶编号对M取模,得到取模结果;从所述数据提供方的M个分桶中选取分桶编号为所述取模结果的分桶;从所选取的分桶中读取第二数据。
8.根据权利要求6所述的方法,所述数据关联请求是由所述数据使用方在对所述计算容器的远程认证通过后发送的。
9.一种数据的关联装置,包括:
确定单元,用于确定待关联的第一数据;
获取单元,用于获取所述确定单元确定的所述第一数据的主键值;
所述确定单元,还用于根据所述获取单元获取的所述主键值,确定所述第一数据所在分桶的分桶编号;
发送单元,用于向计算容器发送数据关联请求;所述数据关联请求包括所述分桶编号、所述主键值以及所述数据使用方的分桶数N;所述数据关联请求用于指示所述计算容器根据所述分桶编号以及所述分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据;还用于指示所述计算容器根据所述主键值,从读取的第二数据中选取目标数据;
接收单元,用于接收所述计算容器返回的所述目标数据;
关联单元,用于将所述确定单元确定的所述第一数据与所述接收单元接收的所述目标数据进行关联,得到关联后的数据。
10.根据权利要求9所述的装置,还包括:
操作单元,用于对第一数据集中各条第一数据的主键值进行预定操作,得到操作结果;
划分单元,用于根据所述操作单元的所述操作结果,在N个分桶中确定所述各条第一数据对应的分桶编号,并将所述各条第一数据分别划分到具有对应分桶编号的分桶中。
11.根据权利要求10所述的装置,所述划分单元具体用于:
对当前第一数据,判断具有对应分桶编号的分桶的当前容量是否达到对应的容量上限;
若否,则将当前第一数据划分到具有对应分桶编号的分桶中,并更新所述分桶的当前容量;
若是,则将N扩大一倍,并将当前分桶编号与N相加后作为新的分桶编号;将当前第一数据划分到具有所述新的分桶编号的分桶中。
12.根据权利要求9所述的装置,
当所述分桶数N与所述数据提供方的分桶数M相等时,所述对应分桶是指所述数据提供方中具有所述分桶编号的分桶;其中,N和M均为正整数;
当所述分桶数N小于所述数据提供方的分桶数M且N和M均为2的幂次方时,所述对应分桶是指所述数据提供方中具有分桶编号对N取模之后的取模结果为所述分桶编号的分桶;
当所述分桶数N大于所述数据提供方的分桶数M且N和M均为2的幂次方时,所述对应分桶是指所述数据提供方中具有分桶编号为所述分桶编号对N取模之后的取模结果的分桶。
13.根据权利要求9所述的装置,还包括:
认证单元,用于对所述计算容器的运行环境进行远程认证;
所述发送单元具体用于:
在远程认证通过后,向计算容器发送数据关联请求。
14.一种数据的关联装置,包括:
接收单元,用于接收数据使用方发送的数据关联请求;
所述数据关联请求包括待关联的第一数据、所述第一数据的主键值、所述第一数据所在分桶的分桶编号以及所述数据使用方的分桶数N;
读取单元,用于根据所述接收单元接收的所述分桶数N以及所述分桶编号,从数据提供方的对应分桶中读取该分桶中的第二数据;
选取单元,用于根据所述接收单元接收的所述主键值,从读取单元读取的第二数据中选取目标数据;
关联单元,用于将所述接收单元接收的所述第一数据与所述选取单元选取的所述目标数据进行关联,得到关联后的数据;
发送单元,用于向所述数据使用方返回所述关联后的数据。
15.根据权利要求14所述的装置,所述读取单元具体用于:
将所述分桶数据N与预先获取的所述数据提供方的分桶数M进行比较;
当N=M时,从所述数据提供方的M个分桶中,选取具有所述分桶编号的分桶;从所选取的分桶中读取第二数据;
当N<M且N和M均为2的幂次方时;将所述数据提供方的M个分桶中各个分桶的分桶编号对N取模,得到M个取模结果;选取取模结果与所述分桶编号相等的分桶;从所选取的分桶中读取第二数据;
当N>M且N和M均为2的幂次方时;将所述分桶编号对M取模,得到取模结果;从所述数据提供方的M个分桶中选取分桶编号为所述取模结果的分桶;从所选取的分桶中读取第二数据。
16.根据权利要求14所述的装置,所述数据关联请求是由所述数据使用方在对计算容器的远程认证通过后发送的。
17.一种数据的关联设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
确定待关联的第一数据;
获取所述第一数据的主键值;
根据所述主键值,确定所述第一数据所在分桶的分桶编号;
向计算容器发送数据关联请求;所述数据关联请求包括所述分桶编号、所述主键值以及数据使用方的分桶数N;所述数据关联请求用于指示所述计算容器根据所述分桶编号以及所述分桶数N,从数据提供方的对应分桶中读取该分桶中的第二数据;还用于指示所述计算容器根据所述主键值,从读取的第二数据中选取目标数据;
接收所述计算容器返回的所述目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据。
18.一种数据的关联设备,包括:
存储器;
一个或多个处理器;以及
一个或多个程序,其中所述一个或多个程序存储在所述存储器中,并且被配置成由所述一个或多个处理器执行,所述程序被所述处理器执行时实现以下步骤:
接收数据使用方发送的数据关联请求;
所述数据关联请求包括待关联的第一数据、所述第一数据的主键值、所述第一数据所在分桶的分桶编号以及所述数据使用方的分桶数N;
根据所述分桶数N以及所述分桶编号,从数据提供方的对应分桶中读取该分桶中的第二数据;
根据所述主键值,从读取的第二数据中选取目标数据;
将所述第一数据与所述目标数据进行关联,得到关联后的数据;
向所述数据使用方返回所述关联后的数据。
CN201811641616.1A 2018-12-29 2018-12-29 数据的关联方法、装置及设备 Active CN110008732B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811641616.1A CN110008732B (zh) 2018-12-29 2018-12-29 数据的关联方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811641616.1A CN110008732B (zh) 2018-12-29 2018-12-29 数据的关联方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110008732A CN110008732A (zh) 2019-07-12
CN110008732B true CN110008732B (zh) 2023-02-24

Family

ID=67165266

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811641616.1A Active CN110008732B (zh) 2018-12-29 2018-12-29 数据的关联方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110008732B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866151B (zh) * 2019-11-11 2023-09-19 腾讯科技(深圳)有限公司 一种特征遍历方法及相关设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1591428B (zh) * 2002-07-23 2012-12-05 三星电子株式会社 提供元数据索引的方法
US20140108793A1 (en) * 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
CN106210038B (zh) * 2016-07-06 2019-01-29 网易(杭州)网络有限公司 数据操作请求的处理方法及系统
CN108462946B (zh) * 2018-03-19 2020-11-10 湘潭大学 一种基于无线传感器网络的多维数据查询方法和系统

Also Published As

Publication number Publication date
CN110008732A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
US11477006B2 (en) Secure analytics using an encrypted analytics matrix
WO2020253234A1 (zh) 实现隐私保护的数据同态加解密方法及装置
CN109040341B (zh) 智能合约地址的生成方法、装置、计算机设备及可读存储介质
CN108664221B (zh) 一种数据持有证明方法、装置及可读存储介质
US10911538B2 (en) Management of and persistent storage for nodes in a secure cluster
CN111523890B (zh) 基于区块链的数据处理方法、装置、存储介质及设备
CN112182644A (zh) 一种数据处理方法、装置和电子设备
US9219602B2 (en) Method and system for securely computing a base point in direct anonymous attestation
CN106817358B (zh) 一种用户资源的加密、解密方法和设备
CN110798308A (zh) 一种区块链的签名方法和系统
JP2014119486A (ja) 秘匿検索処理システム、秘匿検索処理方法、および秘匿検索処理プログラム
WO2014112550A1 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
KR20110014630A (ko) 지수 불명료화
CN110046638B (zh) 多平台间数据的融合方法、装置及设备
WO2023174018A1 (zh) 一种纵向联邦学习方法、装置、系统、设备及存储介质
CN113836559A (zh) 一种联邦学习中的样本对齐方法、装置、设备及存储介质
CN113591113A (zh) 一种隐私计算方法、装置、系统及电子设备
US11101981B2 (en) Generating a pseudorandom number based on a portion of shares used in a cryptographic operation
Tu et al. Privacy‐Preserving Outsourced Auditing Scheme for Dynamic Data Storage in Cloud
CN113704805B (zh) 一种风控规则匹配方法、装置及电子设备
CN110008732B (zh) 数据的关联方法、装置及设备
Zhang et al. New public auditing protocol based on homomorphic tags for secure cloud storage
US8594329B2 (en) Non-interactive verifiable, delegated computation
CN115694822A (zh) 基于零知识证明的验证方法、装置和系统、设备及介质
WO2022110716A1 (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