一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据匹配方法和装置、计算设备以及计算机可读存储介质与流程

2022-05-17 23:39:52 来源:中国专利 TAG:


1.本公开涉及互联网领域,尤其涉及数据匹配方法和装置、计算设备以及计算机可读存储介质。


背景技术:

2.随着互联网的普及和网络技术的发展,越来越多的业务都基于互联网而进行。在这些业务的开展过程中,各参与方往往需要进行数据匹配,并基于数据匹配的结果来决定接下来采取的行动。
3.以能够提供广告多媒体平台并且以收费方式为客户(即,广告主)在广告多媒体平台上投放广告的广告售卖系统为例,在相关技术中,这样的广告售卖系统目前多基于rta/dsp平台(rta,即real time api(实时应用接口);dsp,即demand-side platform(需求方平台))。rta/dsp平台结合了媒体与广告主双方数据和模型探索的基础功能,在各媒体投放平台直投模式的基础上,实时下发请求给广告主,广告主返回决策信息,投放平台结合广告主信息进行优选,以提升广告投放效果。
4.在实际应用中,当在线请求到达时,rta平台获取当前请求的用户信息,例如性别、年龄、地域、职业、兴趣等属性,以及设备id、cookie信息等,并且当判断当前请求的用户信息符合广告主的投放要求时,则将当前请求的用户信息外发给dsp侧的广告主,以便由广告主判断是否针对该用户的请求来参与竞价;当广告主收到当前请求的信息时,将判断当前请求对应的用户信息是否属于自己的目标用户流量,并作出相应的在线决策。
5.上述业务流程中,为了保护rta平台侧的数据隐私安全,一般采用数据隐私性较弱的信息(例如,设备id、cookie信息等)作为用户流量的id标识,dsp侧基于已覆盖用户的设备id集合生成设备id/cookie信息黑名单对用户流量的id标识进行过滤。
6.然而,一般而言,广告主对自身已有用户的管理往往不是基于诸如设备id、cookie信息之类的低隐私性信息,而是基于诸如手机号、微信号之类的隐私性更高且识别度也更高的信息。而高隐私性信息和低隐私性信息之间存在一定的映射转换误差。对于用户而言,存在一个用户使用多个设备的场景,这也会导致将用户的高隐私性信息(如手机号或微信号)转换为低隐私性信息(如设备id、cookie信息)时存在转换误差。此外,上述高隐私性信息到低隐私性信息的转换往往需要多个平台配合完成,这加大了数据拥有者的数据转换难度和转换失败率。
7.因此,对于现有的基于rta/dsp平台的广告售卖系统而言,由于采用低隐私性信息作为用户流量的id标识,会导致以下问题:第一,转换误差、转换难度和转换失败率会影响对用户信息的识别准确度;第二,各参与方(例如,rta平台侧和dsp客户侧)通常都拥有多维度的用户信息,而仅仅使用低隐私性信息作为各参与方之间的数据匹配依据,会导致无法发挥各参与方(尤其是rta平台侧)的丰富的数据特征的价值,从而会使dsp客户侧错失大量高价值流量。此外,类似的缺陷也存在于各参与方需要进行数据匹配以对用户信息进行识别的其他基于互联网的业务中。


技术实现要素:

8.有鉴于此,本公开提供了一种数据匹配方法和装置,期望克服上面提到的部分或全部缺陷以及其它可能的缺陷。
9.根据本公开的一个方面,提供了一种数据匹配方法,其应用于第一业务端,所述数据匹配方法包括:获取第一原始数据;利用第一同态加密方法对所述第一原始数据进行加密以生成第一加密数据;将所述第一加密数据发送给第二业务端,并接收来自所述第二业务端的双重加密数据,所述双重加密数据由所述第二业务端利用第二同态加密方法对所述第一加密数据进行加密而生成,并且所述第一同态加密方法和所述第二同态加密方法是具有相同的同态特性但彼此不同的同态加密方法;利用与所述第一同态加密方法对应的解密方法对所述双重加密数据进行解密,以生成第一解密数据;基于所述第一解密数据得到针对所述第一原始数据的第一特征数据;将所述第一特征数据与针对第二原始数据的第二特征数据进行匹配,所述第二特征数据是由所述第二业务端基于第二加密数据而生成的,并且所述第二加密数据是所述第二业务端利用所述第二同态加密方法对所述第二原始数据加密得到的。
10.在根据本公开的一些实施例中,所述第二特征数据是由所述第二业务端对所述第二加密数据进行数据脱敏处理而得到的,并且其中基于所述第一解密数据得到针对所述第一原始数据的第一特征数据包括:对所述第一解密数据进行相同的数据脱敏处理以得到所述第一特征数据。
11.在根据本公开的一些实施例中,对所述第一解密数据进行相同的数据脱敏处理以得到所述第一特征数据包括:确定所述第一解密数据的n个数据元素;利用k个散列函数将所述n个数据元素中的每一个均映射成k个索引值;将长度为m位的位向量中与k个索引值对应的位的值设置为1,其余位的值设置为0,以得到所述第一特征数据;其中,k、m和n为正整数,m大于k
×
n并且大于k
×
n个索引值中的最大值。
12.在根据本公开的一些实施例中,所述获取第一原始数据包括:获取所述第一业务端接收到的流量数据;从所述流量数据中确定满足所述第二业务端的流量定向条件的定向流量数据;从所述定向流量数据中获取所述第一原始数据。
13.在根据本公开的一些实施例中,所述流量定向条件包括定向维度以及各向维度对应的阈值;所述定向维度包括以下至少一个:地域、内容、价格、性别、年龄、职业、兴趣、时间、流量来源类型、网络环境。
14.在根据本公开的一些实施例中,所述第二加密数据被确定为所述第二特征数据,并且其中,基于所述第一解密数据得到针对所述第一原始数据的第一特征数据包括:将所述第一解密数据确定为所述第一特征数据。
15.在根据本公开的一些实施例中,所述第一同态加密方法和所述第二同态加密方法分别为采用不同密钥的rsa加密方法。
16.在根据本公开的一些实施例中,所述第一业务端包括信息推荐端,所述第二业务端包括投放决策端,所述第一原始数据包括所述信息推荐端获取的终端用户身份标识数据,所述第二原始数据包括所述投放决策端具有的已有用户身份标识数据。
17.在根据本公开的一些实施例中,所述第一业务端包括网络支付端,所述第二业务端包括金融服务端,所述第一原始数据包括所述网络支付端获取的终端用户身份标识数
据,所述第二原始数据包括所述金融服务端具有的已有用户身份标识数据。
18.根据本公开的另一个方面,提供了一种数据匹配装置,其用于第一业务端,所述数据匹配装置包括:第一原始数据获取模块,其被配置成获取第一原始数据;第一加密数据生成模块,其被配置成利用第一同态加密方法对所述第一原始数据进行加密以生成第一加密数据;双重加密数据获取模块,其被配置成将所述第一加密数据发送给第二业务端,并接收来自所述第二业务端的双重加密数据,所述双重加密数据由所述第二业务端利用第二同态加密方法对所述第一加密数据进行加密而生成,并且所述第一同态加密方法和所述第二同态加密方法是具有相同的同态特性但彼此不同的同态加密方法;解密模块,其被配置成利用与所述第一同态加密方法对应的解密方法对所述双重加密数据进行解密,以生成所述第一解密数据;第一特征数据获取模块,其被配置成基于所述第一解密数据得到针对所述第一原始数据的第一特征数据;匹配模块,其被配置成将所述第一特征数据与针对第二原始数据的第二特征数据进行匹配,所述第二特征数据是由所述第二业务端基于第二加密数据而生成的并且所述第二加密数据是所述第二业务端利用所述第二同态加密方法对所述第二原始数据加密得到的。
19.根据本公开的又一个方面,提供了一种计算设备,包括处理器和存储器,所述存储器被配置成存储计算机可执行指令,所述计算机可执行指令被配置成当在所述处理器上执行时使所述处理器执行如上文所述的方法。
20.根据本公开的再一个方面,提供了一种计算机可读存储介质,其被配置成存储计算机可执行指令,所述计算机可执行指令被配置成当在处理器上执行时使所述处理器执行如上文所述的方法。
21.根据本公开的数据匹配方法至少包括以下有益的技术效果:第一,通过在数据匹配阶段应用同态加密方法,使得参与匹配的各方所拥有的原始数据无需被传输,而仅仅是传输加密后的加密数据或者进一步脱敏后的特征数据,因此有利于保护各数据拥有方的数据安全;第二,单次匹配过程必须经过执行匹配方和数据拥有方双方之间的一次交互,以便共同生成待匹配数据来完成匹配过程,由此可以避免单方通过暴力来破解加密数据。
附图说明
22.下面将结合附图对本公开的具体实施例进行详细的描述,以便能够对本公开的更多细节、特征和优点具有更加充分的认识和理解,在附图中:图1示意性示出了根据本公开一些实施例的业务系统的一般应用场景;图2示出了图1中所示的业务系统被应用于信息推荐场景时的示意图;图3是示意性示出了图1和图2所示的业务系统中进行数据匹配的基本原理的示意图;图4是示意性示出了根据本公开的一些实施例的一种数据匹配方法的流程图;图5是示意性示出了可在图4所示的数据匹配方法中用于得到第一特征数据的方法的流程图;图6是示意性示出了可用于图5所示的数据脱敏处理的方法的流程图;图7是示意性示出了可在图4所示的数据匹配方法中用于获取第一原始数据的方法的流程图;图8示意性地示出了根据本公开的一些实施例的一种数据匹配装置的结构框图;以及
图9示意性地示出了根据本公开的一些实施例的一种计算设备的结构框图,该计算设备包括本文描述的数据匹配装置,从而可以实施本文描述的数据匹配方法。
23.应注意的是,附图显示的内容仅仅是示意性的,因此其不必按照比例进行绘制。此外,在全部附图中,相同的特征由相同的附图标记指示。
具体实施方式
24.下面的描述提供了本公开的各种实施例的特定细节,以便本领域的技术人员能够充分理解和实施本公开的各种实施例。
25.首先,对本公开的实施例中涉及的部分用语进行说明,以便于本领域技术人员理解:同态加密方法:同态加密方法是一种加密方法,其满足这样的条件,即:对明文进行加密并且然后在加密得到的密文上进行运算得到的结果,与在明文上进行相同运算并且然后对所述明文的运算结果进行加密得到的结果,两者是相同的。
26.也就是说,一种加密方法x1, x2,
ꢀ…
, xnꢀ→ꢀ
[x1], [x2],
ꢀ…
, [xn],如果满足条件f([x1], [x2],
ꢀ…
, [xn]) = [f(x1, x2,
ꢀ…
, xn)],其中,[ ]表示对数据进行加密,f表示一种运算操作,那么该加密方法就是一种同态加密方法。
[0027]
同态特性:同态特性指的是同态加密方法支持在密文上进行何种运算操作的特性。如果同态加密方法支持在密文上进行乘法操作,那么该同态加密方法的同态特性就是乘法同态;如果同态加密方法支持在密文上进行加法操作,那么该同态加密方法的同态特性就是加法同态;如果同态加密方法支持在密文上既进行乘法又进行加法操作,那么该同态加密方法的同态特性就是全同态。
[0028]
例如,rsa加密方法就是一种具有乘法同态的同态加密方法,而paillier加密方法则是一种具有加法同态的同态加密算法。
[0029]
数据脱敏:数据脱敏指的是对含有某些敏感信息的数据通过一定的脱敏规则进行数据的变形,从而降低数据敏感程度的一种数据处理技术。适当地使用数据脱敏技术,可以有效地减少数据在采集、传输、使用等环节中的暴露,降低了敏感数据泄露的风险,从而实现对敏感隐私数据的可靠保护。
[0030]
现在参见图1,其示意性地示出了根据本公开一些实施例的业务系统100的一般应用场景。如图1所示,业务系统100包括第一业务端110和第二业务端120,其中第一业务端110与第二业务端120能够通过网络140进行通信,并且第一业务端110还能够与一个或多个终端设备130通过网络140进行通信。第一业务端110和第二业务端120彼此协作,以便针对一个或多个终端设备130的用户开展业务,包括但不限于投放广告、进行支付等等。
[0031]
第一业务端110和第二业务端120可以相应地存储和运行可以执行本公开所描述的各种方法的计算机指令,其各自可以是单个服务器或服务器集群或云服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本公开在此不
做限制。
[0032]
终端设备130可以是任何类型的移动设备,包括但不限于:移动计算机(例如,microsoft
®ꢀ
surface
®
设备、个人数字助理(pda)、膝上型计算机、笔记本计算机、诸如apple ipadtm的平板计算机、上网本等)、移动电话(例如,蜂窝电话、诸如microsoft windows
®
电话的智能手机、apple iphone、实现了google
®ꢀ
androidtm操作系统的电话、palm
®
设备,blackberry
®
设备等)、可穿戴式计算设备(例如智能手表、头戴式设备,包括智能眼镜,如google
®ꢀ
glasstm,等)或其他类型的移动设备。在一些实施例中,终端设备130也可以是固定设备,例如台式计算机、游戏机、智能电视、机顶盒、户外广告显示屏、车载广告显示屏等等。
[0033]
网络140的示例可以包括局域网(lan)、广域网(wan)、个域网(pan)、和/或诸如因特网之类的通信网络的任意组合。第一业务端110、第二业务端120、以及一个或多个终端设备130中的每一个可以包括能够通过网络进行通信的至少一个通信接口(未示出)。这样的通信接口可以是下列各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(nic))、有线或无线(诸如ieee 802.11无线lan(wlan))无线接口、全球微波接入互操作(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、bluetoothtm接口、近场通信(nfc)接口等。
[0034]
在图1所示的场景中,用户可以通过终端设备130进行操作,例如提交业务请求或打开应用程序等等,这些操作会通过终端设备130生成包含请求和用户身份信息的流量数据,并且这些流量数据由终端设备130通过网络140发送给第一业务端110。当接收到这些流量数据时,第一业务端110可以从中获取对于进行相应业务所需要的、并且需要第二业务端120确认的业务数据,例如体现终端设备130的用户身份的用户身份标识数据,包括但不限于终端设备130的设备id、cookie信息、用户的手机号和/或微信号等等。第一业务端110和第二业务端120进行交互,以便确认第一业务端110从流量数据中获取的业务数据(例如,终端设备130的用户身份标识数据)与第二业务端120已有的业务数据(例如,符合业务开展要求的已有用户身份标识数据)是否匹配。根据匹配结果,第二业务端120可以作出决定,并通知第一业务端110采取相应的措施。
[0035]
需要说明的是,图1所示的场景是业务系统100的一般性应用场景。如下面将描述的,根据第一业务端110和第二业务端120的可以实现的具体功能,它们将能够被用在更为具体的场景中。
[0036]
参见图2,其示意性地示出了图1所示的业务系统100被应用于信息推荐场景的情况。在图2中,业务系统为用于信息推荐的信息推荐系统100a,其包括信息推荐端110a和投放决策端120a,其中信息推荐端110a与投放决策端120a能够通过网络140进行通信,并且信息推荐端110a还能够与一个或多个终端设备130通过网络140进行通信。
[0037]
在图2所示的实施例中,信息推荐端110a是指以收费方式为投放决策端(例如,广告主)120a提供推荐信息展示的平台。信息推荐端110a的计费方式可以包括但不限于:cpm(cost per mille,每千人成本)、cpt(cost per time,每时间段成本)、cpc(cost per click,每点击成本)等。其中,cpm是指按照千人曝光流量来进行售卖广告的方式,例如投放决策端120a购买了1 cpm的信息推荐流量,那么表示投放决策端120a的同一条推荐信息需要进行1千次曝光。cpm的特点在于只要向足够量级的用户展示了投放决策端120a的推荐信
息内容,投放决策端120a就需要为此付费;按此计费方式投放的推荐信息一般是以品牌展示和产品发布为主,如新闻客户端的gd(guaranteed delivery,担保式保量投放)信息推荐,曝光效果通常比较好。cpt是指以固定价格买断一段时间内的广告位展示,按照买断时间进行计费的方式,如开屏信息推荐、应用市场的下拉关键词等。cpc是指根据广告被点击的次数进行计费的方式,关键词竞价一般采用cpc计费方式。
[0038]
信息推荐的一种形式是视频信息推荐,其又可称作视频贴片广告,是指占用视频观众的视频浏览时间的一种广告形式。根据广告展现的时机与位置,可以分为前贴片视频广告、后贴片视频广告、插播视频广告等。其中,前贴片视频广告是在视频放映前播放广告,后贴片视频广告是指在视频放映结束后播放广告,插播视频广告是指在视频放映过程中播放广告。
[0039]
信息推荐端110a的前端平台对来自终端设备130的包含实时请求的流量数据进行处理,获取当前请求的终端用户身份标识信息(包括但不限于,设备id、cookie信息、手机号、微信号等等),以便由后端的信息推荐决策模型进行决策匹配。此外,信息推荐端110a在该阶段对流量数据进行的处理还可以利用获得的用户信息为终端设备的用户进行画像,例如,可以基于性别、年龄、地域、职业、兴趣等信息来进行画像。这些信息仅可用于信息推荐端110a内部加密使用,以保护用户的隐私信息。
[0040]
信息推荐端110a的信息推荐决策模型可以基于投放决策端120a预先发送来的投放条件,对前端平台传入的用户画像以及用户身份信息进行匹配,并将匹配结果发送给投放决策端120a。所述投放条件可由投放决策端120a基于已有用户身份标识信息来确定。
[0041]
投放决策端120a的信息投放决策模型在收到匹配结果后,可以根据匹配结果来决定是否针对该用户请求流量参与竞价。
[0042]
如图2所示,可选地,信息推荐端110a可以还包括信息推荐用户数据积累和建模模块,其可以配置成基于流量数据中包含的点击量和曝光率来对信息推荐决策模型进行更新和完善。此外可选地,投放决策端120a可以还包括信息投放用户数据积累和建模模块,其可以配置成基于已有用户的具体数据(例如但不限于,该用户是否激活、是否注册、是否购买、是否活跃、是否留存等等)来对信息投放决策模型进行更新和完善。
[0043]
参见图3,其示意性示出了根据本公开一些实施例的、在图1所示的业务系统100和图2所示的媒体推荐系统100a中进行数据匹配的基本原理。
[0044]
如图3所示,第二业务端120和投放决策端120a可利用第二同态加密方法f对已有数据x进行加密,以生成加密数据f(x)。例如但不限于,已有数据x可以包括第二业务端120和投放决策端120a处已有的、且满足相关业务定向条件和/或信息推荐规则的已有用户身份标识数据。这样的用户身份标识数据可以包含诸如手机号、微信号之类的高隐私性信息,并且可以具有多维度的信息,例如但不限于如地域、性别、年龄、职业、兴趣等维度的信息,以便有利于对已有用户的识别。加密数据f(x)还可以经历数据脱敏处理,以便生成针对已有数据x的第二特征数据feature(x)。
[0045]
可选地,一种数据脱敏处理方法包括利用一个很长的二进制向量(位图)和一系列随机映射函数(散列函数)来对数据进行脱敏处理,包括:针对已有数据x,确定其具有n个数据元素;利用k个散列函数将所述n个数据元素中的每一个均映射成k个索引值;将长度为m位的位向量中与k个索引值对应的位的值设置为1,其余位的值设置为0,由此获得的二进制
向量便构成对应于已有数据x的特征数据;其中,k、m和n为正整数,m大于k
×
n并且大于k
×
n个索引值中的最大值。以这种方式获得的特征数据会存在一定的误判率。假设可容忍的误判率为p,并且散列函数的个数为k,二进制向量的长度为m,数据元素的数量为n,则这些参数满足以下公式:数满足以下公式:数满足以下公式:。
[0046]
此外,作为一个非限制性示例,也可以采用布隆过滤器(bloom filter)来进行数据脱敏处理。
[0047]
继续参见图3,第二业务端120和投放决策端120a可将第二特征数据feature(x)发送给第一业务端110和信息推荐端110a,以便在后续数据匹配中使用。在图3中,与已有数据x相关的数据流均以实线箭头进行描绘。
[0048]
当第一业务端110和信息推荐端110a接收到从终端设备130发送来的包含请求的流量数据时,第一业务端110和信息推荐端110a可以从流量数据中获取原始数据x。例如但不限于,原始数据x可以包括与业务定向条件和/或信息推荐规则相关的终端用户身份标识数据。终端用户身份标识数据也可以包含诸如手机号、微信号之类的高隐私性信息,并且同样可以具有多维度的信息,例如但不限于如地域、性别、年龄、职业、兴趣等维度的信息,以便有利于对终端用户的识别。第一业务端110和信息推荐端110a可以利用第一同态加密方法g对原始数据x进行加密,以生成第一加密数据g(x)。需要说明的是,第一同态加密方法g和第二同态加密方法f是不相同的同态加密方法,但是它们具有相同的同态特性,即,第一同态加密方法g和第二同态加密方法f可以都是乘法同态,或者第一同态加密方法g和第二同态加密方法f可以都是加法同态。作为非限制性示例,第一同态加密方法g和第二同态加密方法f可以是采用不同密钥的rsa加密方法。
[0049]
第一业务端110和信息推荐端110a将第一加密数据g(x)发送给第二业务端120和投放决策端120a。第二业务端120和投放决策端120a在收到第一加密数据g(x)后,利用第二同态加密方法f对第一加密数据g(x)进行加密,以生成双重加密数据f
·
g(x),并且将双重加密数据f
·
g(x)发送给第一业务端110和信息推荐端110a。
[0050]
第一业务端110和信息推荐端110a在接收到双重加密数据f
·
g(x)后,利用与第一同态加密方法g对应的解密方法g-1
对双重加密数据f
·
g(x)进行解密,从而生成利用第二同态加密方法f对原始数据x进行加密的加密数据f(x)。加密数据f(x)可以经受相同的数据脱敏处理,以便生成针对原始数据x的第一特征数据feature(x)。第一特征数据feature(x)在后续数据匹配中使用。在图3中,与原始数据x相关的数据流均以虚线箭头进行描绘。
[0051]
然后,第一业务端110和信息推荐端110a可以对第一特征数据feature(x)和第二特征数据feature(x)和进行匹配,并将匹配结果发送给第二业务端120和投放决策端120a,
以便其能够由此确定是否开展相应的业务,例如信息推荐业务。
[0052]
此外,根据本公开的一些实施例,图1所示的业务系统100中的第一业务端110可以包括网络支付系统,第二业务端120可以包括金融服务端。由此,业务系统100也可以适用于在网络支付端和例如银行之类的金融服务端之间进行数据匹配和开展相应的业务。在这种应用场景下,第一原始数据可以包括从流量数据获取的终端用户身份标识数据,第二原始数据可以包括金融服务端具有的已有用户身份标识数据。在该场景中,第一业务端110和第二业务端120可以根据匹配结果开展例如支付业务。
[0053]
在图3所示的数据匹配和交互过程中,通过在数据匹配阶段应用同态加密方法,可以使参与匹配的各方所拥有的原始数据无需被传输,而仅仅是传输加密后的加密数据以及进一步脱敏后的特征数据,因此有利于实现对数据隐私的保护。此外,单次匹配过程必须经过匹配执行方和数据拥有方双方之间的一次交互,以便共同生成待匹配数据来完成匹配过程,由此可以避免单方通过暴力破解加密数据。
[0054]
还需要指出的是,图3中还示出了对数据脱敏处理的应用。利用上文中描述的数据脱敏处理方法,可以实现以下优点:第一,经过该数据脱敏处理后得到的特征数据是不可反解的,由此使得其与原始数据脱敏,避免了下游处理环节中基于对原始数据的分布等特征信息的破解而进行攻击的可能性,从而能够进一步保护数据隐私;第二,经过该数据脱敏处理后得到的特征数据是一个位向量,与处理前的原始数据相比,特征数据所需的存储空间、数据传输时间和数据处理耗时均大为降低。当然,数据脱敏处理并不是必需的。在对数据隐私保护的要求不太高,以及对匹配数据的大小、数据传输时间和数据处理耗时的要求不太严苛的情形下,也可以不进行数据脱敏处理,而是可以直接将已有数据x的加密数据f(x)和原始数据x的加密数据f(x)作为待匹配的特征数据。此外,其他的数据脱敏处理方式也是可能的,例如根据一定脱敏规则对数据的变形或部分屏蔽或者布隆过滤器。
[0055]
参见图4,其以流程图的形式示意性示出了根据本公开一些实施例的一种数据匹配方法400。数据匹配方法400可以应用于第一业务端110,并且可以应用于本公开描述的各种场景。
[0056]
在步骤410,获取第一原始数据。第一业务端110可以判断是否接收到来自终端设备130的流量数据,并且从接收到的流量数据中获取第一原始数据。如上文描述的,流量数据可以是用户利用终端设备130进行操作时由终端设备130生成包含请求的数据,并且这些数据通过网络140发送给第一业务端110。流量数据可以包含与第一业务端110和第二业务端120的业务相关的任何信息,这取决于第一业务端110和第二业务端120实现的具体功能。例如但不限于,流量数据可以包含与终端设备130相关的设备id、cookie信息等等,以及还可以包含与使用终端设备130的用户相关的诸如手机号、微信号之类的信息。此外,流量数据还可以包括诸如地域、性别、年龄、职业、兴趣、内容、价格、时间、流量来源类型、网络环境、受众属性等方面的信息,以便可以建立多维度的用户数据,从而可以对终端设备130的用户画像。
[0057]
在步骤420,利用第一同态加密方法对第一原始数据进行加密,以生成第一加密数据。作为示例,第一同态加密方法可以是rsa加密方法。
[0058]
在步骤430,将第一加密数据发送给第二业务端120,并接收来自第二业务端120的双重加密数据。其中,双重加密数据由第二业务端120利用第二同态加密方法对第一加密数
据进行加密而生成。第一同态加密方法和第二同态加密方法是彼此不同的同态加密方法,但是两者具有相同的同态特性。也就是说,第一同态加密方法和第二同态加密方法均具有乘法同态,或者第一同态加密方法和第二同态加密方法均具有加法同态。作为示例,第二同态加密方法可以是和第一同态加密方法采用不同密钥的rsa加密方法。
[0059]
在步骤440,利用与第一同态加密方法对应的解密方法对双重加密数据进行解密,以生成第一解密数据。应理解的是,由于采用了同态加密方法,因此这里的第一解密数据实际上表示的是利用第二同态加密方法对第一原始数据进行加密而得到的加密数据。由此可见,第一解密数据,以及因此得到的第一特征数据,是由参与匹配过程的双方(例如,第一业务端110和第二业务端120)共同生成的。
[0060]
在步骤450,基于第一解密数据得到针对所述第一原始数据的第一特征数据。可选地,第一业务端110可以将第一解密数据作为第一特征数据,也可以对第一解密数据进行处理,从而得到第一特征数据,如参照下文图5所描述的。
[0061]
在步骤460,将第一特征数据与预先获取的第二特征数据进行匹配。第二特征数据由第二业务端120利用第二同态加密方法对其已有的第二原始数据进行加密而生成,并且通过网络140发送给第一业务端110。第二原始数据可以是第二业务端120处已有的、且满足相关业务(例如,媒体推荐业务、支付业务等等)定向条件的业务数据(例如,已有用户身份标识数据)。类似地,第二原始数据可以包含诸如手机号、微信号之类的高隐私性信息,并且可以具有多维度的信息,例如但不限于如地域、性别、年龄、职业、兴趣等维度的信息,以增加识别度。
[0062]
此外可选地,第一业务端110可以将匹配结果发送给第二业务端120,以便第二业务端120针对匹配结果作出决策。
[0063]
图4示出的数据匹配方法400通过在数据匹配阶段应用同态加密方法,可以使参与匹配的各方所拥有的原始数据无需被传输,而仅仅是传输加密后的加密数据以及进一步脱敏后的特征数据,因此有利于实现对数据隐私的保护。而且,单次匹配过程必须经过匹配执行方和数据拥有方双方之间的一次交互,以便共同生成待匹配数据来完成匹配过程,由此可以避免单方通过暴力破解加密数据。
[0064]
图5以流程图的形式示意性示出了一种确定第一特征数据的方法,其可用于实施图4所示的数据匹配方法400中的步骤450。如图5所示,图4所示的数据匹配方法400中的步骤450包括步骤450a和450b:在步骤450a,对第一解密数据进行数据脱敏处理;在步骤450b,将数据脱敏处理的结果作为第一特征数据。
[0065]
如已经阐述的,数据脱敏处理通过一定的脱敏规则对含有某些敏感信息的数据进行变形、屏蔽或映射,从而使处理后的数据与原数据脱敏。经过数据脱敏处理的数据是不能反解的,由此可以有效地减少数据在采集、传输、使用等环节中的暴露,降低了敏感数据泄露的风险,从而能够实现对敏感隐私数据的可靠保护。
[0066]
进一步地,图6以流程图的形式示意性示出了一种数据脱敏处理方法,其可用于实施图5所示的步骤450a。
[0067]
如图6所示,图5所示的数据匹配方法400中的步骤450包括步骤451、452和450b:在步骤451,确定所述第一解密数据的n个数据元素;
在步骤452,利用k个散列函数将所述n个数据元素中的每一个均映射成k个索引值;在步骤453,将长度为m位的位向量中与k个索引值对应的位的值设置为1,其余位的值设置为0,以生成所述第一脱敏数据。
[0068]
上述数据脱敏处理中的各个参数应当满足:k、m和n为正整数,m大于k
×
n并且大于k
×
n个索引值中的最大值。
[0069]
此外,其他的数据脱敏处理方式也是可能的,例如根据一定脱敏规则对数据的变形或部分屏蔽,或者可以使用合适构建的布隆过滤器。
[0070]
利用上述数据脱敏处理方法可以实现以下优点:第一,经过该数据脱敏处理后得到的特征数据是不可反解的,由此使得其与原始数据脱敏,避免了下游处理环节中基于对原始数据的分布等特征信息的破解而进行攻击的可能性,从而能够进一步保护数据隐私;第二,经过该数据脱敏处理后得到的特征数据是一个位向量,与处理前的原始数据相比,特征数据所需的存储空间、数据传输时间和数据处理耗时均大为降低。
[0071]
参见图7,其以流程图的形式示意性示出了一种用于获取第一原始数据的方法,其可以应用于图4所示的数据匹配方法400的步骤410。
[0072]
如图7所示,图4所示的数据匹配方法400中的步骤410可以包括步骤410a、410b和410c:在步骤410a,获取第一业务端110接收到的流量数据;在步骤410b,从流量数据中确定满足第二业务端120的流量定向条件的定向流量数据;在步骤410c,从定向流量数据中获取第一原始数据。
[0073]
流量定向条件可以包括至少一个定向维度以及各定向维度下的预定阈值。定向维度可以是地域、内容、价格、性别、年龄、职业、兴趣、时间、流量来源类型、网络环境等。
[0074]
作为非限制性示例,第二业务端120可以将流量定向条件的定向维度确定为时间,将该定向维度下的阈值预定为例如每天18:00至22:00,并将该流量定向条件发送给第一业务端110。因此,当第一业务端110接收到流量数据时,会首先根据该流量定向条件对流量数据进行筛选:如果流量数据不是在18:00至22:00这个时间段中产生的,那么第一业务端110将不会从这些流量数据中获取第一原始数据;如果流量数据是在18:00至22:00这个时间段中产生的,那么第一业务端110将该流量数据中获取第一原始数据。
[0075]
通过利用第二业务端120的预设的流量定向条件对流量数据进行筛选,然后从满足要求的定向流量数据中提取相关用户数据以生成第一原始数据,能够提升流量的精准性,从而提高匹配精度。
[0076]
图8示出了根据本公开的一些实施例的一种数据匹配装置800的结构框图。数据匹配装置800可用于第一业务端110处,并且可以应用于本公开描述的各种场景。如图8所示,数据匹配装置800包括:第一原始数据获取模块810、第一加密数据生成模块820、双重加密数据获取模块830、解密模块840、第一特征数据获取模块850、以及匹配模块860。
[0077]
第一原始数据获取模块810被配置成获取第一原始数据。第一加密数据生成模块820被配置成利用第一同态加密方法对所述第一原始数据进行加密以生成第一加密数据。双重加密数据获取模块830被配置成将第一加密数据发送给第二业务端120,并接收来自第二业务端120的双重加密数据。双重加密数据由第二业务端120利用第二同态加密方法对第一加密数据进行加密而生成,并且第一同态加密方法和第二同态加密方法是具有相同的同
态特性但彼此不同的同态加密方法。解密模块840被配置成利用与所述第一同态加密方法对应的解密方法对所述双重加密数据进行解密,以生成所述第一解密数据。第一特征数据获取模块850被配置成基于所述第一解密数据得到针对所述第一原始数据的第一特征数据。匹配模块860被配置成将第一特征数据与针对第二原始数据的第二特征数据进行匹配,第二特征数据是由第二业务端120基于第二加密数据而生成的并且所述第二加密数据是第二业务端120利用第二同态加密方法对第二原始数据加密得到的。上述各个模块涉及在上文中关于图4描述的步骤410~460的操作,因而在此不再赘述。
[0078]
上面关于图8描述的各个模块均可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机可执行代码/指令,该计算机可执行代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,这些模块中的一个或多个可以一起在片上系统(soc)中实现。soc可以包括集成电路芯片(其包括处理器(例如,中央处理单元(cpu)、微控制器、微处理器、数字信号处理器(dsp)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。
[0079]
图9示出了根据本公开一些实施例的示例性计算设备900的示意性框图。该示例性计算设备900可以代表图1所示的第一业务端110以及图2所示的信息推荐端110a,并且该示例性计算设备900可以用于本公开描述的各种场景。
[0080]
计算设备900可以包括能够诸如通过系统总线914或其他适当的方式连接彼此通信的至少一个处理器902、存储器904、(多个)通信接口906、显示设备908、其他输入/输出(i/o)设备910以及一个或多个大容量存储装置912。
[0081]
处理器902可以是单个处理单元或多个处理单元,所有处理单元可以包括单个或多个计算单元或者多个核心。处理器902可以被实施成一个或多个微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元、状态机、逻辑电路和/或基于操作指令来操纵信号的任何设备。除了其他能力之外,处理器902可以被配置成获取并且执行存储在存储器904、大容量存储装置912或者其他计算机可读介质中的计算机可读指令,诸如操作系统916的程序代码、应用程序918的程序代码、其他程序920的程序代码等。
[0082]
存储器904和大容量存储设备912是用于存储指令的计算机存储介质的示例,所述指令由处理器902执行来实施前面所描述的各种功能。举例来说,存储器904一般可以包括易失性存储器和非易失性存储器二者(例如ram、rom等等)。此外,大容量存储设备912一般可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如cd、dvd)、存储阵列、网络附属存储、存储区域网等等。存储器904和大容量存储设备912在本文中都可以被统称为存储器或计算机存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机可执行代码的非瞬时性介质,计算机可执行代码可以由处理器902作为被配置成实施在本公开的示例中所描述的操作和功能的特定机器来执行。
[0083]
多个程序模块可以存储在大容量存储设备912上。这些程序模块包括操作系统916、一个或多个应用程序918、其他程序920和程序数据922,并且它们可以被处理器902执行。这样的应用程序或程序模块的示例可以包括例如用于实现以下部件/功能的计算机程
序逻辑(例如,计算机可执行代码或指令):第一原始数据获取模块810、第一加密数据生成模块820、双重加密数据获取模块830、解密模块840、第一特征数据获取模块850、以及匹配模块860。
[0084]
虽然在图9中被图示成存储在计算设备900的存储器904中,但是模块916、918、920和922或者其部分可以使用可由计算设备900访问的任何形式的计算机可读介质来实施。如本文所使用的,“计算机可读介质”至少包括两种类型的计算机可读介质,也就是计算机存储介质和通信介质。
[0085]
计算机存储介质包括通过用于存储信息的任何方法或技术实施的易失性和非易失性、可移除和不可移除介质,信息诸如是计算机可读指令、数据结构、程序模块或者其他数据。计算机存储介质包括而不限于ram、rom、eeprom、闪存或其他存储器技术,cd-rom、数字通用盘(dvd)、或其他光学存储装置,磁盒、磁带、磁盘存储装置或其他磁性存储设备,或者可以被用来存储信息以供计算设备访问的任何其他非传送介质。
[0086]
与此相对,通信介质可以在诸如载波或其他传送机制之类的已调数据信号中具体实现计算机可读指令、数据结构、程序模块或其他数据。本文所定义的计算机存储介质不包括通信介质。
[0087]
计算设备900还可以包括一个或更多通信接口906,以用于诸如通过网络、直接连接等等与其他设备交换数据。通信接口906可以促进在多种网络和协议类型内的通信,其中包括有线网络(例如lan、电缆等等)和无线网络(例如wlan、蜂窝、卫星等等)、因特网等等。通信接口906还可以提供与诸如存储阵列、网络附属存储、存储区域网等等中的外部存储装置(未示出)的通信。
[0088]
在一些示例中,计算设备900可以包括诸如监视器之类的显示设备908,以用于显示信息和图像。其他i/o设备910可以是接收来自用户的各种输入并且向用户提供各种输出的设备,包括但不限于触摸输入设备、手势输入设备、摄影机、键盘、遥控器、鼠标、打印机、音频输入/输出设备等等。
[0089]
本文中使用的术语仅用于描述本公开中的实施例,并不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”旨在也包括复数形式,除非上下文清楚地另有指示。还要理解的是,术语“包括”和“包含”当在本公开中使用时,是指所述及的特征的存在,但不排除一个或多个其他特征的存在或者添加一个或多个其他特征。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。将理解的是,尽管术语“第一”、“第二”、“第三”等在本文中可以用来描述各种特征,但是这些特征不应当由这些术语限制。这些术语仅用来将一个特征与另一个特征相区分。
[0090]
除非另有定义,本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。还要理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确地如此定义。
[0091]
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针
对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0092]
本文在软件硬件元件或程序模块的一般上下文中描述了各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”,“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
[0093]
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例可以例如包括以下各项:具有一个或多个布线的电连接部(电子装置)、便携式计算机盘盒(磁装置)、随机存取存储器(random access memory)、只读存储器(read only memory),可擦除可编辑只读存储器(erasable programmable read only memory)或闪速存储器、光纤装置、以及便携式光盘只读存储器(compact disc read only memory)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0094]
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(programmable gate array)、现场可编程门阵列(field programmable gate array)等。
[0095]
本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
[0096]
尽管已经结合一些实施例详细地描述了本公开,但是其不旨在被限制于在本文中所阐述的特定形式。相反,本公开的范围仅由所附权利要求来限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献