CN113779075B - 基于差分隐私的数据查询方法、装置、设备及存储介质 - Google Patents
基于差分隐私的数据查询方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113779075B CN113779075B CN202111095931.0A CN202111095931A CN113779075B CN 113779075 B CN113779075 B CN 113779075B CN 202111095931 A CN202111095931 A CN 202111095931A CN 113779075 B CN113779075 B CN 113779075B
- Authority
- CN
- China
- Prior art keywords
- data
- coded data
- coded
- encoded
- digit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 44
- 238000012216 screening Methods 0.000 claims abstract description 22
- 238000013507 mapping Methods 0.000 claims description 49
- 238000007906 compression Methods 0.000 claims description 7
- 230000006835 compression Effects 0.000 claims description 7
- 230000004807 localization Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 11
- 238000013144 data compression Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 201000010099 disease Diseases 0.000 description 4
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 208000030507 AIDS Diseases 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010058467 Lung neoplasm malignant Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 206010012601 diabetes mellitus Diseases 0.000 description 1
- 201000005202 lung cancer Diseases 0.000 description 1
- 208000020816 lung neoplasm Diseases 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及大数据领域,公开了一种基于差分隐私的数据查询方法、装置、设备及存储介质,用于解决现有技术中的基于差分隐私的数据查询方法查询速度较慢的问题。该方法包括:接收数据查询请求,并提取数据查询请求对应的数据类型;获取客户端数据库中的第二编码数据集;在第二编码数据集中筛选出数据类型对应的第二编码数据,得到目标编码数据;根据预置的即时随机响应规则对目标编码数据进行即时随机响应处理,得到第三编码数据;对第三编码数据进行统计处理,得到估计频数,根据估计频数生成数据查询结果,其中,数据查询结果满足本地化差分隐私。此外,本发明还涉及区块链技术,隐私数据的相关信息可存储于区块链中。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种基于差分隐私的数据查询方法、装置、设备及存储介质。
背景技术
对于一个数据库或者拥有数据的机构来说,开放数据查询功能的同时需要避免用户的隐私不被泄露,为达到隐私保护的目的一般会在提供查询功能是采用差分隐私的方式对数据进行保护。其中,差分隐私是密码学中的一种手段,旨在提供一种当从统计数据库查询信息时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。
在现有的技术中,在使用差分隐私进行数据查询时,为保护隐私不被泄露,一般会采用布隆过滤器将原始数据映射为一个比特串后,对得到的比特串进行后续的处理并得到隐私处理后的数据内容,但这种方法会使得隐私处理过程中的数据长度较长,使得导致计算压力很大,进一步使得查询速度变慢。
发明内容
本发明的主要目的在于解决现有技术中的基于差分隐私的数据查询方法查询速度较慢的问题。
本发明第一方面提供了一种基于差分隐私的数据查询方法,包括:接收数据查询请求,并提取所述数据查询请求对应的数据类型;获取客户端数据库中的第二编码数据集;在所述第二编码数据集中筛选出所述数据类型对应的第二编码数据,得到目标编码数据;根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据;对所述第三编码数据进行统计处理,得到估计频数,根据所述估计频数生成数据查询结果,其中,所述数据查询结果满足本地化差分隐私。
可选的,在本发明第一方面的第一种实现方式中,在所述接收数据查询请求之前,还包括:提取客户端数据库中的原始数据和预置的编码表集,其中,所述编码表集中包含至少一个编码表;获取所述原始数据的数据类型,根据所述数据类型在所述编码表集中筛选出对应的编码表;基于所述对应的编码表对所述原始数据进行编码,得到第一编码数据,其中,所述第一编码数据为二进制数据;根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据,其中,所述第二编码数据为二进制数据;基于所述第二编码数据组成第二编码数据集。
可选的,在本发明第一方面的第二种实现方式中,在所述提取客户端数据库中的原始数据和预置的编码表集之前,还包括:获取客户端数据库中的原始数据中的项目特征,将所述原始数据按照项目特征进行分类,得到多个数据类型;针对各所述原始数据的数据类型,对各所述原始数据进行编码,得到多个编码表;基于所述多个编码表组成编码表集。
可选的,在本发明第一方面的第三种实现方式中,其特征在于,所述根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据包括:提取所述第一编码数据的每位数字,得到第一数字序列;对所述第一数字序列中的每位第一数字进行识别;根据所述第一数字的值,以第一映射概率输出真实值,以第二映射概率输出随机值,得到输出结果,其中,所述真实值和随机值为二进制数值,所述第一映射概率和第二映射概率之和为1;根据所述输出结果得到第二数字序列;根据所述第二数字序列生成第二编码数据。
可选的,在本发明第一方面的第四种实现方式中,所述根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据包括:提取所述目标编码数据的每位数字,得到第三数字序列;对所述第三数字序列中的每位第三数字进行识别;判断所述第三数字的值是否为1,若是,则以第三映射概率输出真实值,得到第三编码数据;若否,则以第四映射概率输出真实值,得到第三编码数据。
可选的,在本发明第一方面的第五种实现方式中,在对所述第三编码数据进行统计处理之前,还包括:调用无损压缩工具,对所述第三编码数据进行压缩,得到压缩后的第三编码数据;将所述压缩后的第三编码数据传输至所述数据统计服务器中;根据解码字典对所述压缩后的第三编码数据进行解码。
本发明第二方面提供了一种基于差分隐私的数据查询装置,包括:接收模块,用于接收数据查询请求,并提取所述数据查询请求对应的数据类型;获取模块,用于获取客户端数据库中的第二编码数据集;第一响应模块,用于在所述第二编码数据集中筛选出所述数据类型对应的第二编码数据,得到目标编码数据;第二响应模块,用于根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据;结果生成模块,用于对所述第三编码数据进行统计处理,得到估计频数,根据所述估计频数生成数据查询结果,其中,所述数据查询结果满足本地化差分隐私。
可选的,在本发明第二方面的第一种实现方式中,所述基于差分隐私的数据查询装置还包括编码数据集生成模块,所述编码数据集生成模块包括:提取单元,用于提取客户端数据库中的原始数据和预置的编码表集,其中,所述编码表集中包含至少一个编码表;筛选单元,用于获取所述原始数据的数据类型,根据所述数据类型在所述编码表集中筛选出对应的编码表;第一编码单元,用于基于所述对应的编码表对所述原始数据进行编码,得到第一编码数据,其中,所述第一编码数据为二进制数据;第二编码单元,用于根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据,其中,所述第二编码数据为二进制数据;生成单元,用于基于所述第二编码数据组成第二编码数据集。
可选的,在本发明第二方面的第二种实现方式中,所述基于差分隐私的数据查询装置还包括编码表集生成模块,所述编码表集生成模块具体用于:获取客户端数据库中的原始数据中的项目特征,将所述原始数据按照项目特征进行分类,得到多个数据类型;针对各所述原始数据的数据类型,对各所述原始数据进行编码,得到多个编码表;基于所述多个编码表组成编码表集。
可选的,在本发明第二方面的第三种实现方式中,所述第二编码单元具体用于:提取所述第一编码数据的每位数字,得到第一数字序列;对所述第一数字序列中的每位第一数字进行识别;根据所述第一数字的值,以第一映射概率输出真实值,以第二映射概率输出随机值,得到输出结果,其中,所述真实值和随机值为二进制数值,所述第一映射概率和第二映射概率之和为1;根据所述输出结果得到第二数字序列;根据所述第二数字序列生成第二编码数据。
可选的,在本发明第二方面的第四种实现方式中,所述第二响应模块具体用于:提取所述目标编码数据的每位数字,得到第三数字序列;对所述第三数字序列中的每位第三数字进行识别;判断所述第三数字的值是否为1,若是,则以第三映射概率输出真实值,得到第三编码数据;若否,则以第四映射概率输出真实值,得到第三编码数据。
可选的,在本发明第二方面的第五种实现方式中,所述基于差分隐私的数据查询装置还包括数据压缩模块,所述数据压缩模块具体用于:调用无损压缩工具,对所述第三编码数据进行压缩,得到压缩后的第三编码数据;将所述压缩后的第三编码数据传输至所述数据统计服务器中;根据解码字典对所述压缩后的第三编码数据进行解码。
本发明第三方面提供了一种基于差分隐私的数据查询设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述基于差分隐私的数据查询设备执行上述的基于差分隐私的数据查询方法的步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的基于差分隐私的数据查询方法的步骤。
本发明提供的技术方案中,接收数据查询请求,并提取数据查询请求对应的数据类型;获取客户端数据库中的第二编码数据集;在第二编码数据集中筛选出数据类型对应的第二编码数据,得到目标编码数据;根据预置的即时随机响应规则对目标编码数据进行即时随机响应处理,得到第三编码数据;对第三编码数据进行统计处理,得到估计频数,根据估计频数生成数据查询结果。本发明实施例中的技术方案在对数据进行差分隐私的保护的同时,加快了数据查询的速度。
附图说明
图1为本发明实施例中基于差分隐私的数据查询方法的第一实施例的示意图;
图2为本发明实施例中基于差分隐私的数据查询方法的第二实施例的示意图;
图3为本发明实施例中基于差分隐私的数据查询方法的第三实施例的示意图;
图4为本发明实施例中基于差分隐私的数据查询装置的一个实施例示意图;
图5为本发明实施例中基于差分隐私的数据查询装置的另一个实施例示意图;
图6为本发明实施例中基于差分隐私的数据查询设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于差分隐私的数据查询方法、装置、设备及存储介质,接收数据查询请求,并提取数据查询请求对应的数据类型;获取客户端数据库中的第二编码数据集;在第二编码数据集中筛选出数据类型对应的第二编码数据,得到目标编码数据;根据预置的即时随机响应规则对目标编码数据进行即时随机响应处理,得到第三编码数据;对第三编码数据进行统计处理,得到估计频数,根据估计频数生成数据查询结果,其中,数据查询结果满足本地化差分隐私。本发明实施例中,对数据进行差分隐私的保护的同时,加快了数据查询的速度。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于差分隐私的数据查询方法的一个实施例包括:
101、接收数据查询请求,并提取数据查询请求对应的数据类型;
可以理解的是,本发明的执行主体可以为基于差分隐私的数据查询装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
其中,差分隐私(differential privacy)是密码学中的一种手段,旨在提供一种当从统计数据库查询时,最大化数据查询的准确性,同时最大限度减少识别其记录的机会。本实施例中,采用本地化差分隐私的方法进行数据查询时对本地数据的保护。具体地,本地化差分隐私定义为:给定n个用户,每个用户对应一条记录,给定一个隐私算法F,若算法F在任意两条记录t和t'上得到相同的输出y,若满足:
Pr[F(t)=y]≤e∈×Pr[F(t′)=y];
则F满足∈-本地化差分隐私。
本实施例中,在客户端数据库中保存有客户的具体信息,当服务器需要对某一数据类型的具体信息进行数据统计时,需要向数据统计范围内的客户端下发数据统计请求,以获取客户端数据库中对应的信息内容;其中,在数据统计请求中包含有其请求的数据类型。
102、获取客户端数据库中的第二编码数据集;
获取客户端数据库中预存的第二编码数据集,其中,该第二编码数据集中包含有至少一个第二编码数据,该第二编码数据是按照预置的编码规则对客户端中的原始数据进行编码得到的数据串。
具体地,该第二编码可以是在接收到数据统计请求之前即根据客户端中预置的编码规则进行编码得到的;也可以是在接收到数据统计请求的同时,根据欲采集的数据类型,统计服务器再下发数据统计请求时向客户端发送编码规则,客户端根据接收到的编码规则对欲采集的数据进行编码生成的。
103、在第二编码数据集中筛选出数据类型对应的第二编码数据,得到目标编码数据;
根据数据统计请求对第二编码数据集中的第二编码数据进行筛选,得到目标数据。具体地,在实施例中预先对原始数据进行编码时,可以预先根据原始数据的类型确定其编码后的数据区间,在提取到数据统计请求对应的数据类型时,判断该数据类型对应的数据区间,从而提取到对应的目标编码数据。
104、根据预置的即时随机响应规则对目标编码数据进行即时随机响应处理,得到第三编码数据;
前述步骤中确定对应的目标编码数据后,调用预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,其中,在每一次接收到数据统计请求时都需要对得到的目标编码数据进行一次即时随机响应处理;以便在不同的统计命令下获取到的目标处理数据为同一条目标处理数据时也会进行一次随机响应处理。
具体地,本实施例中,获取预置的即时随机响应规则,根据所述即时随机响应规则的概率参数对目标编码数据中的每一位进行随机映射处理,得到第三编码数据。其中,该概率参数能够使得进行映射后得到的第三编码数据满足∈-本地化差分隐私。
105、对第三编码数据进行统计处理,得到估计频数,根据估计频数生成数据查询结果。
得到第三编码数据后,将第三编码数据发送给发出数据统计请求的统计服务器,该统计服务器接收到第三编码数据后,根据前述的编码规则及响应规则中的概率参数对得到的第三编码数据进行统计,得到该第三编码数据的估计频数,基于该估计频数计算出该第三编码数据对应的原始数据的期望值。
其中,在进行数据统计时,统计服务器会向多个客户端发送数据请求得到多个第三编码数据;根据所述多个第三编码数据对应的所述多个期望值进行统计校正处理,最终得到统计结果。
本发明实施例中,在对数据进行差分隐私的保护的同时,加快了数据查询的速度。
请参阅图2,本发明实施例中基于差分隐私的数据查询方法的第二实施例包括:
本实施例中,预先获取客户端数据库中的原始数据中的项目特征,将所述原始数据按照项目特征进行分类,得到多个数据类型;针对各所述原始数据的数据类型,对各所述原始数据进行编码,得到多个编码表;基于多个编码表组成编码表集。通过编码代替布隆过滤器,解决哈希值冲突的情况,以提高统计的精度;同时根据数据的具体项目数量生成编码,提高后续随机化处理的效率。
其中,在一个具体的例子中,一个编码表可以如表1所示:
表1
单词 | 编码 |
糖尿病 | 00 |
艾滋病 | 01 |
肺癌 | 10 |
201、提取客户端数据库中的原始数据和预置的编码表集;
202、获取原始数据的数据类型,根据数据类型在编码表集中筛选出对应的编码表;
本实施例中,在接收数据统计请求前可以根据待统计数据的特征首先将数据进行分类,并根据分类后的结果进行编码,生成多个编码表并组成编码表集;在安装客户端或更新客户端时将得到的编码表集预置在客户端数据库中;其中,编码为二进制编码,其具体的位数需要保证不同的数据内容会在进行编码后不会产生重复。
203、基于对应的编码表对原始数据进行编码,得到第一编码数据;
根据原始数据的数据类型查找到对应的编码表后,根据编码表内容对原始数据进行编码,得到原始数据对应的第一编码数据,其中,第一编码数据为二进制数据。
其中,待统计的数据包括疾病种类、收入区间时,则根据疾病种类的具体内容或收入区间的具体内容生成具体的对应编码。
204、根据预置的永久随机响应规则对第一编码数据进行永久随机响应映射,得到第二编码数据;
205、基于第二编码数据组成第二编码数据集;
具体地,在保证编码的结果不发生冲突,在一个具体地例子中,在进行统计时,如前述表1中只关注所述3种情况时,可以仅采用2位2进制编码即可。
得到第一编码数据后,根据预置的永久随机响应规则对第一编码数据中的每一位进行永久随机响应映射操作,也即是将第一编码数据中的每一位进行随机扰动的处理,其中进行随机扰动的概率是预先根据需要达到的数据保护的程度设定的;并将进行数据扰动后的第二编码数据组成第二编码数据集。
206、接收数据查询请求,并提取数据查询请求对应的数据类型;
207、获取客户端数据库中的第二编码数据集;
208、在第二编码数据集中筛选出数据类型对应的第二编码数据,得到目标编码数据;
服务器需要对某一数据类型的具体信息进行数据统计时,需要向数据统计范围内的客户端下发数据统计请求,提取数据查询请求对应的数据类型;随后获取客户端数据库中预存的第二编码数据集。根据数据统计请求对第二编码数据集中的第二编码数据进行筛选,得到目标数据。
209、根据预置的即时随机响应规则对目标编码数据进行即时随机响应处理,得到第三编码数据;
确定对应的目标编码数据后,调用预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,其中,在每一次接收到数据统计请求时都需要对得到的目标编码数据进行一次即时随机响应处理。
具体地,获取预置的即时随机响应规则,根据所述即时随机响应规则的概率参数对目标编码数据中的每一位进行随机映射处理,得到第三编码数据。其中,该概率参数能够使得进行映射后得到的第三编码数据满足∈-本地化差分隐私。
210、对第三编码数据进行统计处理,得到估计频数,根据估计频数生成数据查询结果。
将第三编码数据发送给发出数据统计请求的统计服务器,该统计服务器接收到第三编码数据后,根据前述的编码规则及响应规则中的概率参数对得到的第三编码数据进行统计,得到该第三编码数据的估计频数,基于该估计频数计算出该第三编码数据对应的原始数据的期望值;根据所述多个第三编码数据对应的所述多个期望值进行统计校正处理,最终得到统计结果。
本发明实施例中,在对数据进行差分隐私的保护的同时,加快了数据查询的速度。
请参阅图3,本发明实施例中基于差分隐私的数据查询方法的第三实施例包括:
本实施例中,预先获取客户端数据库中的原始数据中的项目特征,将所述原始数据按照项目特征进行分类,得到多个数据类型;针对各所述原始数据的数据类型,对各所述原始数据进行编码,得到多个编码表;基于多个编码表组成编码表集。通过根据数据的具体项目数量生成编码,提高后续随机化处理的效率。其中,在一个具体的例子中,一个编码表可以如前述实施例中表1所示。
301、提取客户端数据库中的原始数据和预置的编码表集;
302、获取原始数据的数据类型,根据数据类型在编码表集中筛选出对应的编码表;
本实施例中,在接收数据统计请求前可以根据待统计数据的特征首先将数据进行分类,并根据分类后的结果进行编码,生成多个编码表并组成编码表集;在安装客户端或更新客户端时将得到的编码表集预置在客户端数据库中;其中,编码为二进制编码,其具体的位数需要保证不同的数据内容会在进行编码后不会产生重复。
303、基于对应的编码表对原始数据进行编码,得到第一编码数据;
根据原始数据的数据类型查找到对应的编码表后,根据编码表内容对原始数据进行编码,得到原始数据对应的第一编码数据,其中,第一编码数据为二进制。
其中,待统计的数据包括疾病种类、收入区间时,则根据疾病种类的具体内容或收入区间的具体内容生成具体的对应编码。
304、提取第一编码数据的每位数字,得到第一数字序列;
305、对第一数字序列中的每位第一数字进行识别;
306、根据第一数字的值,以第一映射概率输出真实值,以第二映射概率输出随机值,得到输出结果;
307、根据输出结果得到第二数字序列,并根据第二数字序列生成第二编码数据;
本实施例中,提取第一编码数据的每位数字,得到第一数字序列,对第一数字序列中的每位第一数字进行识别,并根据预置的响应规则根据第一数字的值生成第二数字序列,得到第二编码数据,具体地,以B代表第一编码数据,以B'代表第二编码数据,f为扰动概率;在一个具体的例子中,本实施例中的永久随机响应规则可以为:
其具体目的是客户端对数据进行一次永久性的随机化处理,即:第一编码数据的比特串B的每一位以f的概率随机回答,以1-f的概率真实回答,也即是说,当第一编码数据中的某一位数字为1时,有1-f的概率输出真实值1,有f的概率随机选择0或1进行输出。
例如,当一个第一编码数据为10001101时,其在经过永久随机响应规则后得到的第二编码数据可以为10010010。
此外,要保证任意两个输入的输出不可区分,则需要保证得到的第二编码数据满足∈-本地化差分隐私,假设B'的某位为0,输入B的位置为0或1的概率分别为:
其中,上式满足:
则可知:
也即是说,本实施例中上述式子满足f≤0.5。
308、基于第二编码数据组成第二编码数据集;
得到第一编码数据后,根据预置的永久随机响应规则对第一编码数据中的每一位进行永久随机响应映射操作,也即是将第一编码数据中的每一位进行随机扰动的处理,其中进行随机扰动的概率是预先根据需要达到的数据保护的程度设定的;并将进行数据扰动后的第二编码数据组成第二编码数据集。
309、接收数据查询请求,并提取数据查询请求对应的数据类型;
310、获取客户端数据库中的第二编码数据集;
311、在第二编码数据集中筛选出数据类型对应的第二编码数据,得到目标编码数据;
服务器需要对某一数据类型的具体信息进行数据统计时,需要向数据统计范围内的客户端下发数据统计请求,提取数据查询请求对应的数据类型;随后获取客户端数据库中预存的第二编码数据集。根据数据统计请求对第二编码数据集中的第二编码数据进行筛选,得到目标数据。
312、提取目标编码数据的每位数字,得到第三数字序列;
313、对第三数字序列中的每位第三数字进行识别;
314、判断第三数字的值是否为1;
315、若是,则以第三映射概率输出真实值,得到第三编码数据;
316、若否,则以第四映射概率输出真实值,得到第三编码数据;
前述步骤中确定对应的目标编码数据后,调用预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,其中,在每一次接收到数据统计请求时都需要对得到的目标编码数据进行一次即时随机响应处理;以便在不同的统计命令下获取到的目标处理数据为同一条目标处理数据时也会进行一次随机响应处理。
其中,根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据时具体使用的表达式为:
其中,以S表示第三编码数据,p、q为及时随机响应的扰动概率;本步骤中的随机响应规则为:针对于前述得到的目标编码数据B'的每一位,如果是1,则以q的概率保持1,以1-q的概率置0,如果比特串B'的每一位为0,则以p的概率保持1,以1-p的概率置0,从而得到第三编码数据S。
此外,本实施例中及时随机响应处理得到的第三编码数据满足∈-本地化差分隐私;其中,在进行即时随机响应时,若输入为0,输出为1,则有两种可能,即:0-1-1和0-0-1。它们的概率之和如下:
若输入为1,输出为1的两种可能概率,即:1-0-1和1-1-1,它们的概率之和如下:
若输入为0,输出为0,则有两种可能,即:0-0-0和0-1-0。它们的概率之和如下:
若输入为1,输出为0,则有两种可能,即:1-1-0和1-1-1。它们的概率之和如下:
举具体的例子进行说明,取p=0.75、q=0.5考虑B'的每一位,如果是1则以0.75概率保持1,以0.25概率为0;如果是0,以0.5概率为1,以0.5概率为0,当某一个B'的比特串为10101110时,则经过即时随机响应后,其输出的S可能为11010101。
317、对第三编码数据进行统计处理,得到估计频数,根据估计频数生成数据查询结果。
在得到第三编码数据后,调用无损压缩工具,对第三编码数据进行压缩,得到压缩后的第三编码数据;将压缩后的第三编码数据传输至数据统计服务器中;根据解码字典对压缩后的第三编码数据进行解码。
其中,无损数据压缩(Lossless Data Compression)是指使用压缩后的数据进行重构(或者叫做还原、解压缩),重构后的数据与原来的数据完全相同,但通常压缩比小于有损数据压缩的压缩比无损压缩用于要求重构的信号与原始信号完全一致的场合。也就是说数据经过压缩后信息不受损失,其具体可以采用滑动窗口算法进行压缩。
得到第三编码数据后,将第三编码数据发送给发出数据统计请求的统计服务器,该统计服务器接收到第三编码数据后,根据前述的编码规则及响应规则中的概率参数对得到的第三编码数据进行统计,得到该第三编码数据的估计频数,基于该估计频数计算出该第三编码数据对应的原始数据的期望值;其中,在进行数据统计时,统计服务器会向多个客户端发送数据请求得到多个第三编码数据;根据所示多个第三编码数据对应的所述多个期望值进行统计校正处理,最终得到统计结果。
本发明实施例中,在对数据进行差分隐私的保护的同时,加快了数据查询的速度。
上面对本发明实施例中基于差分隐私的数据查询方法进行了描述,下面对本发明实施例中基于差分隐私的数据查询装置进行描述,请参阅图4,本发明实施例中基于差分隐私的数据查询装置一个实施例包括:
接收模块401,用于接收数据查询请求,并提取所述数据查询请求对应的数据类型;
获取模块402,用于获取客户端数据库中的第二编码数据集;
第一响应模块403,用于在所述第二编码数据集中筛选出所述数据类型对应的第二编码数据,得到目标编码数据;
第二响应模块404,用于根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据;
结果生成模块405,用于对所述第三编码数据进行统计处理,得到估计频数,根据所述估计频数生成数据查询结果,其中,所述数据查询结果满足本地化差分隐私。
本发明实施例中,在对数据进行差分隐私的保护的同时,加快了数据查询的速度。
请参阅图5,本发明实施例中基于差分隐私的数据查询装置的另一个实施例包括:
接收模块401,用于接收数据查询请求,并提取所述数据查询请求对应的数据类型;
获取模块402,用于获取客户端数据库中的第二编码数据集;
第一响应模块403,用于在所述第二编码数据集中筛选出所述数据类型对应的第二编码数据,得到目标编码数据;
第二响应模块404,用于根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据;
结果生成模块405,用于对所述第三编码数据进行统计处理,得到估计频数,根据所述估计频数生成数据查询结果。
在本申请的另一实施例中,所述基于差分隐私的数据查询装置还包括编码数据集生成模块406,所述编码数据集生成模块406包括:
提取单元4061,用于提取客户端数据库中的原始数据和预置的编码表集,其中,所述编码表集中包含至少一个编码表;
筛选单元4062,用于获取所述原始数据的数据类型,根据数据类型在所述编码表集中筛选出对应的编码表;
第一编码单元4063,用于基于所述对应的编码表对所述原始数据进行编码,得到第一编码数据,其中,所述第一编码数据为二进制数据;
第二编码单元4064,用于根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据,其中,所述第二编码数据为二进制数据;
生成单元4065,用于基于所述第二编码数据组成第二编码数据集,其中,所述数据查询结果满足本地化差分隐私。
在本申请的另一实施例中,所述基于差分隐私的数据查询装置还包括编码表集生成模块,所述编码表集生成模块具体用于:
获取全部数据类型中的项目特征,将各数据类型按照项目特征进行分类,得到多个数据类型;针对每个数据类型中的数据类型,对每个数据进行编码,得到多个编码表;基于所述多个编码表组成编码表集。
在本申请的另一实施例中,所述第二编码单元4064具体用于:
提取所述第一编码数据的每位数字,得到第一数字序列;对所述第一数字序列中的每位第一数字进行识别;根据所述第一数字的值,以第一映射概率输出真实值,以第二映射概率输出随机值,得到输出结果,其中,所述真实值和随机值为二进制数值,所述第一映射概率和第二映射概率之和为1;根据所述输出结果得到第二数字序列;根据所述第二数字序列生成第二编码数据。
在本申请的另一实施例中,所述第二响应模块404具体用于:
提取所述目标编码数据的每位数字,得到第三数字序列;对所述第三数字序列中的每位第三数字进行识别;判断所述第三数字的值是否为1,若是,则以第三映射概率输出真实值,得到第三编码数据;若否,则以第四映射概率输出真实值,得到第三编码数据。
在本申请的另一实施例中,所述基于差分隐私的数据查询装置还包括数据压缩模块,所述数据压缩模块具体用于:
调用无损压缩工具,对所述第三编码数据进行压缩,得到压缩后的第三编码数据;将所述压缩后的第三编码数据传输至所述数据统计服务器中;根据解码字典对所述压缩后的第三编码数据进行解码。
本发明实施例中,在对数据进行差分隐私的保护的同时,加快了数据查询的速度。
上面图4和图5从模块化功能实体的角度对本发明实施例中的基于差分隐私的数据查询装置进行详细描述,下面从硬件处理的角度对本发明实施例中基于差分隐私的数据查询设备进行详细描述。
图6是本发明实施例提供的一种基于差分隐私的数据查询设备的结构示意图,该基于差分隐私的数据查询设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对基于差分隐私的数据查询设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在基于差分隐私的数据查询设备600上执行存储介质630中的一系列指令操作。
基于差分隐私的数据查询设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作系统631,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的基于差分隐私的数据查询设备结构并不构成对基于差分隐私的数据查询设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机设备,该计算机设备可以是能够执行上述实施例中所述的基于差分隐私的数据查询方法的任何一种设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述基于差分隐私的数据查询方法的步骤。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述基于差分隐私的数据查询方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于差分隐私的数据查询方法,其特征在于,所述数据查询方法包括:
提取客户端数据库中的原始数据和预置的编码表集,其中,所述编码表集中包含至少一个编码表;
获取所述原始数据的数据类型,根据所述数据类型在所述编码表集中筛选出对应的编码表;
基于所述对应的编码表对所述原始数据进行编码,得到第一编码数据,其中,所述第一编码数据为二进制数据;
根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据,其中,所述第二编码数据为二进制数据;
基于所述第二编码数据组成第二编码数据集;
所述根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据包括:
提取所述第一编码数据的每位数字,得到第一数字序列;
对所述第一数字序列中的每位第一数字进行识别;
根据所述第一数字的值,以第一映射概率输出真实值,以第二映射概率输出随机值,得到输出结果,其中,所述真实值和随机值为二进制数值,所述第一映射概率和第二映射概率之和为1;
根据所述输出结果得到第二数字序列;
根据所述第二数字序列生成第二编码数据;
接收数据查询请求,并提取所述数据查询请求对应的数据类型;
获取客户端数据库中的第二编码数据集;
在所述第二编码数据集中筛选出所述数据类型对应的第二编码数据,得到目标编码数据;
根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据;
所述根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据包括:
提取所述目标编码数据的每位数字,得到第三数字序列;
对所述第三数字序列中的每位第三数字进行识别;
判断所述第三数字的值是否为1;
若是,则以第三映射概率输出真实值,得到第三编码数据;
若否,则以第四映射概率输出真实值,得到第三编码数据;
对所述第三编码数据进行统计处理,得到估计频数,根据所述估计频数生成数据查询结果,其中,所述数据查询结果满足本地化差分隐私。
2.根据权利要求1所述的基于差分隐私的数据查询方法,其特征在于,在所述提取客户端数据库中的原始数据和预置的编码表集之前,还包括:
获取客户端数据库中的原始数据中的项目特征,将所述原始数据按照项目特征进行分类,得到多个数据类型;
针对各所述原始数据的数据类型,对各所述原始数据进行编码,得到多个编码表;
基于所述多个编码表组成编码表集。
3.根据权利要求1或2所述的基于差分隐私的数据查询方法,其特征在于,在对所述第三编码数据进行统计处理之前,还包括:
调用无损压缩工具,对所述第三编码数据进行压缩,得到压缩后的第三编码数据;
将所述压缩后的第三编码数据传输至所述数据统计服务器中;
根据解码字典对所述压缩后的第三编码数据进行解码。
4.一种基于差分隐私的数据查询装置,其特征在于,所述基于差分隐私的数据查询装置包括:
编码数据集生成模块,包括:
提取单元,用于提取客户端数据库中的原始数据和预置的编码表集,其中,所述编码表集中包含至少一个编码表;
筛选单元,用于获取所述原始数据的数据类型,根据所述数据类型在所述编码表集中筛选出对应的编码表;
第一编码单元,用于基于所述对应的编码表对所述原始数据进行编码,得到第一编码数据,其中,所述第一编码数据为二进制数据;
第二编码单元,用于根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据,其中,所述第二编码数据为二进制数据;
生成单元,用于基于所述第二编码数据组成第二编码数据集;
所述根据预置的永久随机响应规则对所述第一编码数据进行永久随机响应映射,得到第二编码数据包括:
提取所述第一编码数据的每位数字,得到第一数字序列;
对所述第一数字序列中的每位第一数字进行识别;
根据所述第一数字的值,以第一映射概率输出真实值,以第二映射概率输出随机值,得到输出结果,其中,所述真实值和随机值为二进制数值,所述第一映射概率和第二映射概率之和为1;
根据所述输出结果得到第二数字序列;
根据所述第二数字序列生成第二编码数据;
接收模块,用于接收数据查询请求,并提取所述数据查询请求对应的数据类型;
获取模块,用于获取客户端数据库中的第二编码数据集;
第一响应模块,用于在所述第二编码数据集中筛选出所述数据类型对应的第二编码数据,得到目标编码数据;
第二响应模块,用于根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据;
所述根据预置的即时随机响应规则对所述目标编码数据进行即时随机响应处理,得到第三编码数据包括:
提取所述目标编码数据的每位数字,得到第三数字序列;
对所述第三数字序列中的每位第三数字进行识别;
判断所述第三数字的值是否为1;
若是,则以第三映射概率输出真实值,得到第三编码数据;
若否,则以第四映射概率输出真实值,得到第三编码数据;
结果生成模块,用于对所述第三编码数据进行统计处理,得到估计频数,根据所述估计频数生成数据查询结果,其中,所述数据查询结果满足本地化差分隐私。
5.一种差分隐私的数据查询设备,其特征在于,所述差分隐私的数据查询设备包括:存储器和至少一个处理器,所述存储器中存储有指令;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述差分隐私的数据查询设备执行如权利要求1-3中任一项所述的差分隐私的数据查询方法的步骤。
6.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现如权利要求1-3中任一项所述差分隐私的数据查询方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095931.0A CN113779075B (zh) | 2021-09-18 | 2021-09-18 | 基于差分隐私的数据查询方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095931.0A CN113779075B (zh) | 2021-09-18 | 2021-09-18 | 基于差分隐私的数据查询方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113779075A CN113779075A (zh) | 2021-12-10 |
CN113779075B true CN113779075B (zh) | 2024-04-19 |
Family
ID=78852086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111095931.0A Active CN113779075B (zh) | 2021-09-18 | 2021-09-18 | 基于差分隐私的数据查询方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113779075B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116805039B (zh) * | 2023-08-21 | 2023-12-05 | 腾讯科技(深圳)有限公司 | 特征筛选方法、装置、计算机设备和数据扰动方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547525A (zh) * | 2017-08-14 | 2018-01-05 | 复旦大学 | 一种大数据查询处理的隐私保护方法 |
CN110874488A (zh) * | 2019-11-15 | 2020-03-10 | 哈尔滨工业大学(深圳) | 一种基于混合差分隐私的流数据频数统计方法、装置、系统及存储介质 |
CN111241583A (zh) * | 2020-01-13 | 2020-06-05 | 桂林电子科技大学 | 可穿戴设备分类属性个性化本地差分隐私保护方法及系统 |
CN113177231A (zh) * | 2021-05-24 | 2021-07-27 | 中国工商银行股份有限公司 | 基于差分隐私的用户数据匿名编码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10586068B2 (en) * | 2015-11-02 | 2020-03-10 | LeapYear Technologies, Inc. | Differentially private processing and database storage |
-
2021
- 2021-09-18 CN CN202111095931.0A patent/CN113779075B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107547525A (zh) * | 2017-08-14 | 2018-01-05 | 复旦大学 | 一种大数据查询处理的隐私保护方法 |
CN110874488A (zh) * | 2019-11-15 | 2020-03-10 | 哈尔滨工业大学(深圳) | 一种基于混合差分隐私的流数据频数统计方法、装置、系统及存储介质 |
CN111241583A (zh) * | 2020-01-13 | 2020-06-05 | 桂林电子科技大学 | 可穿戴设备分类属性个性化本地差分隐私保护方法及系统 |
CN113177231A (zh) * | 2021-05-24 | 2021-07-27 | 中国工商银行股份有限公司 | 基于差分隐私的用户数据匿名编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113779075A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10374789B2 (en) | Encrypting and decrypting information | |
US10181168B2 (en) | Personal safety verification system and similarity search method for data encrypted for confidentiality | |
CN110855761B (zh) | 一种基于区块链系统的数据处理方法及装置 | |
CN110503434B (zh) | 基于哈希算法的数据验证方法、装置、设备和存储介质 | |
CN112380575B (zh) | 多方电子签名合成方法、装置、设备及存储介质 | |
Zhao et al. | Iris template protection based on local ranking | |
CN113779075B (zh) | 基于差分隐私的数据查询方法、装置、设备及存储介质 | |
US20190158271A1 (en) | Method and system of synchronous encryption to render computer files and messages impervious to pattern recognition and brute force attacks | |
CN110770725A (zh) | 数据处理方法及装置 | |
CN112437060A (zh) | 一种数据传输方法、装置、计算机设备及存储介质 | |
CN115618398A (zh) | 一种网络数据库用户信息加密系统及方法 | |
CN108416229A (zh) | 一种针对类别信息的数据脱敏方法 | |
CN116760528B (zh) | 一种基于多密钥同态共享下的多方资产交付方法和装置 | |
CN117439799A (zh) | 一种http请求数据防篡改的方法 | |
CN117235761A (zh) | 一种基于云计算的数据安全处理方法、系统和存储介质 | |
CN116821967A (zh) | 用于隐私保护的交集计算方法及系统 | |
KR100910303B1 (ko) | 가변코드 테이블을 이용한 데이터 암복호화 장치 및 그 방법 | |
CN108390887B (zh) | 一种电影数据传输方法及装置 | |
CN109657447B (zh) | 一种设备指纹生成方法及装置 | |
CN112118087A (zh) | 跨链合约压缩加密系统和方法 | |
CN108364019B (zh) | 基于dctr特征的图像卷积外包方法 | |
US11989325B1 (en) | Protecting membership in a secure multi-party computation and/or communication | |
Quantin et al. | A computerized record hash coding and linkage procedure to warrant epidemiological follow-up data security | |
US11809588B1 (en) | Protecting membership in multi-identification secure computation and communication | |
CN111783157B (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 |