CN113841148A - 实现局部差分隐私的数据共享和数据分析 - Google Patents
实现局部差分隐私的数据共享和数据分析 Download PDFInfo
- Publication number
- CN113841148A CN113841148A CN201980096297.7A CN201980096297A CN113841148A CN 113841148 A CN113841148 A CN 113841148A CN 201980096297 A CN201980096297 A CN 201980096297A CN 113841148 A CN113841148 A CN 113841148A
- Authority
- CN
- China
- Prior art keywords
- data
- platform
- query
- processing platform
- data processing
- 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.)
- Pending
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/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
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了用于实现向数据处理平台提供服务的数据共享平台和向数据处理平台提供服务的数据分析平台的方法和系统,包括数据共享平台接收数据所有者向数据处理平台提交的自有数据;数据共享平台的共享查询生成模块编写生成的查询;数据分析平台从数据收集器接收对自有数据的请求;以及数据共享平台向数据分析平台提供可共享数据。这些方法和系统允许在数据所有者和不可信的数据采集器之间以自我执行的方式提供保证LDP的服务,并且利用分布式计算、并行计算、物理或虚拟计算资源的改进可用性以及数据处理平台可能提供的此类益处,将服务扩展到数据处理平台本身的计算资源和数据吞吐量。此外,数据处理平台可执行的函数可以执行分解算法,从而加快获得查询答案所需的计算时间。
Description
背景技术
在数据分析中,个体数据所有者可以向数据处理平台提交数据,所提交的数据至少包括一些敏感数据,例如识别个体数据所有者的数据。例如,由运营服务的实体(例如社交媒体网络、在线零售商、视频流网站、照片共享网站、约会网站等)提供的网站或移动应用程序,可以允许数据所有者使用服务将包括敏感数据的数据提交到数据处理平台。数据可以存储在数据处理平台的数据库中。作为数据所有者通过共享平台提交数据的条件,数据处理平台可能需要保证至少对收集到的敏感数据保持一定程度的隐私或安全,而该保证可能不受法令、法规、合同条款或其他法律手段的强制执行。
数据采集器可以提交导致所提供的数据被聚合并返回到数据采集器的查询。例如,数据采集器可以是运营上述服务之一的实体。数据采集者可能不受信任;例如,数据采集器在法律上可能不受隐私或安全保证的约束,并且保证条款可能无法对数据采集器强制执行。用户希望防止数据共享平台和数据分析平台以自我强制的方式将敏感数据从数据库返回到不受信任的数据采集器,或者即使返回的数据是匿名和聚合的,也要防止敏感数据从返回数据中导出到不受信任的数据采集器。
在使用匿名和聚合数据识别个人的已知技术面前,数据的匿名和聚合等技术可能不足以保护敏感数据的隐私,因此需要新技术来确保针对不受信任的数据采集器的数据隐私。
附图的简要说明
详细说明参照附图进行阐述。在附图中,参考编号最左边的数字表示参考编号首次出现的附图。在不同附图中使用相同的参考数字表示相似或相同的项目或特征。
图1示出根据本公开的示例实施例的数据处理平台。
图2A和图2B示出了根据本公开的示例实施例的图形用户界面,其接收由数据所有者提交的数据。
图3示出了根据本公开的示例实施例的图形用户界面,其处理由数据采集器输入的多维分析(MDA)查询。
图4示出了根据本公开的示例实施例的数据共享方法的流程图。
图5示出了根据本公开的示例实施例的数据分析方法的流程图。
图6示出了根据本公开的示例实施例的在作为数据处理平台的服务托管的数据共享平台和数据分析平台处处理数据共享和数据分析的流程图。
图7示出了根据本公开的示例实施例的在数据处理平台上处理数据共享和数据分析的流程图。
图8示出了用于实现上述用于实现数据共享平台和数据分析平台的过程和方法的示例系统。
详细说明
本文讨论的系统和方法旨在实现用于数据共享和数据分析的局部差分隐私(local differentialprivacy,“LDP”),更具体地,是用于数据共享平台的共享查询生成器和用于数据分析平台的MDA查询重写器。
本领域技术人员可以将实现LDP理解为实现一种或多种系统或方法,这些系统或方法使得响应于数据采集器对数据库的查询而返回的数据满足关于数据库中敏感数据的参数ε。本领域技术人员将参数ε理解为任意设置的参数,该参数表示响应于数据采集器的查询返回的数据差异与数据库中特定个体之间敏感数据差异相关的概率,并且可以选择ε来表示实施的系统或方法应该在多大程度上降低返回的数据差异与数据库中特定个人之间敏感数据差异相关的概率。本领域技术人员将进一步理解,除了可以实施根据LDP的系统和方法之外,LDP的概念不一定建议并且不限制应该如何实施系统或方法以满足参数ε,以至少防止自有数据被数据采集器所有,除非以某种方式对其进行了更改。例如,数据采集器可以是不受信任的数据采集器,但为了实现LDP的目的,可以假定所有数据采集器都是不受信任的。
因此,根据本公开的示例实施例,LDP可以在提供给数据处理平台的数据共享平台和提供给数据处理平台的数据分析平台上实现。LDP可以实现为数据共享平台的共享查询生成器模块和用户定义函数(UDF),共享查询生成器模块和UDF可用于对存储在数据处理平台的数据库中的自有数据进行编码,以生成LDP编码的数据。后处理可以进一步实现为数据分析平台的MDA查询重写器模块和用户定义的聚合函数(UDAF),MDA查询重写器模块和UDAF用于接收在数据分析平台上数据采集器输入的第一查询,并组成与第一查询不同的第二查询。
图1示出了根据本公开的示例实施例的数据处理平台100。数据处理平台100可以是在计算设备上运行的一个或多个应用和/或托管在为数据库提供的网络上的一个或多个服务。根据本公开的数据处理平台100可以指一个或多个这样的平台,每个平台能够执行在本公开的上下文中引用的功能。数据库可以存储在计算机或网络服务器上,分布在多个物理联网的计算机或网络服务器上,分布在物理或虚拟集群上的计算机或网络上,或者由本领域技术人员所知的提供存储的其他计算架构存储。由数据处理平台100提供的应用或服务可以包括托管在因特网端口上的应用或网络服务器,提供使数据所有者能够向数据处理平台提交数据的用户界面,以及提供数据分发、备份和冗余的文件服务器,以及本领域技术人员已知的向数据库服务器提供通用功能的此类服务。此处未说明此类服务。
数据处理平台100提供的应用或服务可以向数据采集器公开数据,也可以不向数据采集器公开数据,无论是数据处理平台100存储的数据还是其他数据。例如,数据可通过提供网络托管的图形用户界面、命令行界面、SQL界面、应用程序编程界面(API)的应用程序或web服务器向数据采集器公开,或通过其它适于数据采集器操作查询数据的web界面向数据采集器公开,数据采集器通过操作计算设备连接到web服务器的因特网端口。
根据本公开的示例实施例,自有数据至少包括数据所有者的一些敏感数据。自有数据可以由数据库模式结构化,该数据库模式可以是关系型数据库模式,例如具有列和行的表、非关系型数据库模式或本领域技术人员已知的其他数据库模式。在数据库模式中,数据所有者的数据可以被构造为记录,由关系数据库模式中的元组等元素表示;数据所有者的敏感数据可以结构化为记录的属性,由诸如关系数据库模式中的列等元素表示。根据属性的内容和上下文,属性可以是敏感的或非敏感的。例如,数据所有者的年龄、收入和居住数据等个性化属性可以是敏感属性,而数据所有者的计算机操作系统、数据所有者主动登录到网站的时间量或数据所有者进行的购买价格可以是非敏感属性。或者,如果价格非常高,或者如果购买是个人性质的,则数据所有者进行的购买的价格可以是敏感属性。属性可由数据所有者或由在数据处理平台100定义的标准数据模式指定为敏感属性或非敏感属性。
数据库可以存储从数据所有者接收的自有数据。数据处理平台100提供的应用程序或服务可以接收数据所有者提交的数据。例如,数据所有者可以通过操作计算设备来访问网络托管的图形用户界面,或由网络服务器提供的、适合于通过连接到Web服务器的Internet端口导入数据、查看数据和提交数据的其他网络界面,将自有数据提交给数据处理平台100。根据本公开的示例实施例,计算设备可以是数据处理平台100,或者计算设备可以访问由服务器托管的数据处理平台100。自有数据可以是与数据所有者作为操作数据处理平台的实体操作的服务的用户的现有活动相关联的数据。此类服务包括社交媒体网络、在线零售商、视频流网站、照片共享网站、交友网站等。
表1是一些自有数据的关系数据库模式的示例。年龄(Age)、薪水(Salary)和州(State)列被指定为敏感属性。列操作系统(OS,Operating System)、活跃时间(ActiveTime)和购买金额(Purchase)被指定为非敏感属性。行t1-t4是自有数据的单个元组。
年龄 | 薪水 | 州 | 操作系统 | 活跃时间 | 购买金额 | |
t<sub>1</sub> | 30 | $50,000 | NY | Windows | 1.6h | $120 |
t<sub>2</sub> | 60 | $80,000 | WA | iOS | 1.2h | $100 |
t<sub>3</sub> | 40 | $70,000 | NY | Windows | 1.0h | $100 |
t<sub>4</sub> | 40 | $70,000 | NY | iOS | 1.8h | $100 |
根据本公开的示例实施例,可以通过包括多维分析(MDA)查询的查询向数据采集器公开自有数据。MDA查询可以是任何适当编程语言(包括SQL等查询语言)中的数据库查询,其中查询包括对度量属性执行的聚合函数,并且具有将查询的输出限制为多个其他属性的指定范围的谓词。例如,在SQL中,聚合函数可以是AVG、SUM、COUNT等函数,这些函数各自返回一个汇总值,分别汇总多个元组的属性的平均值、多个元组的一个属性的总和值以及多个元组数的计数。在SQL中,谓词可以是修改聚合函数的WHERE子句,该聚合函数通过对其他属性的多个约束来限制聚合函数汇总的元组,在分类属性的情况下,只保留属性值等于指定值的那些元组,或者,对于范围属性,只保留那些属性值属于指定范围的元组。类别属性或范围属性可以是敏感属性。
因此,此处描述的格式的MDA查询可以编写如下:
SELECT F(M)FROM TWHERE C
其中,F()是聚合函数,例如AVG()、SUM()、COUNT()等;M是由F()聚合的度量属性;T是数据库的表;C是谓词,指定点约束(其中从T中选择的元组的特定属性的值应等于指定值)或指定范围约束(其中从T中选择的元组的特定属性的值应属于指定的范围)。例如,针对上面表1的表的MDA查询可以包括以下格式:
Q_SUM=SELECT SUM(Purchase)FROM TWHEREAge∈[30,40]AND Salary∈[$50,000,$150,000]
如果处理此查询,将汇总年龄在30至40岁(含30至40岁)之间、年薪介于50000美元至150000美元(含50000和150000)之间的用户所有购买的的美元金额,并返回所有购买的美元金额之和。本领域技术人员将理解,诸如本文所述格式的MDA查询可用于识别使用匿名和聚合数据的个人,并且此处不再赘述此类使用的细节。
因此,根据本公开的示例实施例,数据处理平台100不应响应于MDA查询而将数据库中的自有数据公开给数据采集器,该MDA查询具有通过一个或多个敏感属性上的谓词修改的聚合函数,并且在数据处理平台100处实现的LDP应导致响应于这样的MDA查询而公开除自有数据之外的数据,例如改变形式的自有数据。
根据本公开的示例实施例,数据共享平台110可以是托管在为数据处理平台100提供的网络上的一个或多个服务。数据共享平台110可以是托管服务,该托管服务生成从数据所有者接收的自有数据的可共享数据,该数据尤其可与查询数据库的数据采集器共享。可共享数据可以至少部分地与存储在数据库中的自有数据不同;特别是,自有数据和可共享数据可以在元组的敏感属性上有所不同。例如,可共享数据可以是自有数据的副本,其中敏感属性已被改变,例如通过编码进行了修改。数据共享平台110可以生成可共享数据的副本,并且可以是向数据采集器公开可共享数据的数据处理平台100的服务,或者可以是向数据采集器公开可共享数据的数据处理平台100的另一个服务,例如,如本文所述的数据分析平台120。
数据共享平台110可以是托管在为数据处理平台100提供的网络上的一个或多个服务。数据共享平台110可以托管在计算机或web服务器上,托管分布在多个物理联网的计算机或web服务器上,托管分布在物理或虚拟集群上的计算机或网络上,或者由本领域技术人员所知的提供托管的其他网络架构托管。数据共享平台110的托管可以与数据处理平台100的托管相同或不同。数据共享平台的一项或多项服务可以存储在由数据共享平台110托管提供的物理或虚拟存储器中,并且可以由数据分析平台110托管提供的一个或多个物理或虚拟处理器执行,以使得一个或多个物理或虚拟处理器执行如本文所述的数据分析平台110的功能。
根据本公开的示例实施例,实现了LDP的数据共享平台110还可以包括共享查询生成器模块111,共享查询生成器模块111可以编写生成的查询,该查询调用在数据处理平台100上实现的用户定义函数(UDF)112,其中,根据数据处理平台100的API对UDF 112进行编程,以使数据处理平台100执行算法A,算法A以符合LDP的参数ε为参数;换言之,UDF 112是ε-LDP算法A的实现。
共享查询生成器模块111可以调用具有参数ε的UDF 112,以基于自有数据的数据库模式对UDF 112指定的每个自有数据元组进行编码,从而使得共享查询生成器模块111关于每个各自的元组满足ε-LDP。
由于UDF 112是使用数据处理平台100的API编程的,因此UDF 112可以由数据处理平台100的托管提供的一个或多个物理或虚拟处理器执行,以使一个或多个物理或虚拟处理器执行如本文所述的UDF 112。UDF 112的执行可以通过在计算机集群或云计算服务器上托管来增强,以提供分布式计算、并行计算、物理或虚拟计算资源的改进的可用性以及此类益处。
每个元组可由共享查询生成器模块111编码,所述共享查询生成器模块111编写将自有数据中的元组映射到编码元组的查询。该编码的元组成为可共享数据的一部分,并且响应于对数据处理平台100的MDA查询而被公开以代替自有数据中的元组,该数据处理平台100将在自有数据中的元组上聚合。因此,数据采集器对数据处理平台100的MDA查询可导致将包含构成可共享数据的元组的事实表提供给数据采集器,以代替包含构成自有数据的元组的事实表。
生成的查询可以用如上文关于MDA查询所述的任何合适的编程语言编写,包括数据采集器用于向数据处理平台100提交查询的任何相同的编程语言,例如查询语言或任何其他编程语言。生成的查询针对单个元组编写,并仅选择该元组作为其输出,并且可以针对包含自有数据中敏感属性的每个元组单独编写生成的查询。生成的查询可以使用ε和所选元组的每个敏感属性作为参数来调用UDF 112;对于非敏感属性,生成的查询可能不会调用UDF 112。此外,对于从不同数据所有者接收的元组,ε可能不同。
因此,生成的查询的编写可以取决于所选元组的哪些属性是敏感的,哪些是非敏感的。生成的查询不需要对应于数据采集器提交的任何查询。共享查询生成器模块111为自有数据中的特定元组编写生成的查询,可以独立于为任何其他元组编写生成的查询,而不管是否有任何查询已由数据采集器提交。
算法A可以被定义为具有一定程度的随机性,从而导致两个元组的输出不同,即使在这两个元组的相同敏感属性上的输入值相同时也是如此。此外,算法A可以被定义为使得对分类属性的敏感属性执行的操作不同于对范围属性的敏感属性执行的操作。
例如,基于上面表1所示的数据库模式,共享查询生成器模块111可以按照如下方式为自有数据中的元组编写生成的查询:
SELECT LDP_Sharing_UDF(2.0,Age,Salary,State),OS,ActiveTime,PurchaseFROM T
其中,LDP_Sharing_UDF()是对UDF 112的函数名的调用,2.0是参数ε的值,T是在自有数据中选择的元组。ε的值和敏感属性Age、Salary、State的标签作为参数传递给UDF112。元组T的其他属性不传递给UDF 112。UDF 112可以被定义为对年龄和薪水执行的操作(其是数字的并且因此是范围属性)与对州执行的操作(其是分类属性)不同。
应当理解,应用于自有数据中元组的敏感属性的ε-LDP UDF 112的算法A可以导致对敏感属性执行操作,以保证:如果映射到自有数据中的元组的编码元组是在响应聚合自有数据中的元组的MDA查询时返回的,则ε-LDP满足于该元组。然而,应用于自有数据中元组的敏感属性的ε-LDP UDF 112的算法A可能不能保证ε-LDP满足于自有数据的任何其他元组。由算法A执行的操作的进一步细节无需在此描述,以使本领域技术人员能够充分理解本公开的示例实施例。
数据所有者在向数据处理平台100提交数据时,可允许数据共享平台110访问数据处理平台100处的自有数据,以使数据共享平台110对自有数据的元组进行编码。在此操作过程中,UDF 112,无论其性质是否是“用户定义”,都不能由数据所有者编程或配置;并且可能不能被数据所有者检查,并且数据所有者可以在不知道UDF 112或算法A的内容的情况下操作数据共享平台110。算法A可以被预定义为数据共享平台110向数据处理平台100提供的一个或多个服务的一部分,以及UDF 112的“用户定义”的性质可以仅指由使用数据处理平台提供的API的一方定义的UDF 112。根据本公开的一些示例实施例,传递给UDF 112的参数ε可以基于数据所有者的输入进行设置,如图2A所示,为自有数据设置所需的隐私保证范围。
根据本公开的示例实施例,数据分析平台120可以是托管在为数据处理平台100提供的网络上的一个或多个服务。数据分析平台120可以是托管服务,其向查询数据库的数据采集器公开可共享数据。例如,数据分析平台120可以通过提供web托管的图形用户界面、命令行界面、SQL界面、应用程序编程界面(API),或其它适于数据采集器操作查询数据的web界面向数据采集器公开所拥有的数据,数据采集器通过操作计算设备连接到web服务器的因特网端口。
可共享数据可以由数据共享平台110提供给数据分析平台120,其中共享数据可如上所述的数据共享平台100生成。例如,可共享数据可以由映射到自有数据的每个元组的编码元组组成,由共享查询生成器模块111使用参数ε调用UDF 112进行编码。数据分析平台120可以在如上所述的界面中接收数据采集器输入的MDA查询,并对可共享数据执行输入。
然而,即使可共享数据的每个元组用它所映射到的自有数据的每个数据保证ε-LDP,也可以在数据分析平台120处进一步实施后处理,以改变数据采集器输入的MDA查询的答案,从而返回估计答案而不是确切答案。返回估计答案的数据分析平台120可能不会有助于保证ε-LDP,但可以提供对返回数据的另一级别的混淆,以进一步提供隐私。
数据分析平台120可以是托管在为数据处理平台100提供的网络上的一个或多个服务。数据分析平台120可以托管在计算机或web服务器上,托管分布在多个物理联网的计算机或web服务器上,托管分布在物理或虚拟集群上的计算机或网络上,或者由本领域技术人员所知的提供托管的其他网络架构托管。数据分析平台120的托管可以与数据处理平台100的托管和/或数据共享平台110的托管相同或不同。数据分析平台的一项或多项服务可以存储在由数据分析平台120托管提供的物理或虚拟存储器中,并且可以由数据分析平台120托管提供的一个或多个物理或虚拟处理器执行,以使一个或多个物理或虚拟处理器执行如本文所述的数据分析平台120的功能。这些功能的性能可以通过在计算机集群或云计算服务器上托管来增强,以提供分布式计算、并行计算、物理或虚拟计算资源的改进可用性以及此类益处。
据本公开的示例实施例,数据分析平台120还可以包括MDA查询重写器模块121,其可将数据采集器提交的MDA查询重写为调用在数据处理平台100处实现的用户定义聚合函数(UDAF)122的重写查询,其中,根据数据处理平台100的API对UDAF 122进行编程。UDAF122可被编程为实现以原始查询q和编码的可共享数据A(T)为参数的估计算法根据API对这样的算法进行编程是本领域技术人员公知的。数据分析平台120可以针对由数据共享平台110生成的相同A(T)处理来自数据采集器的任意数量的不同查询q。
重写的查询可以用如上文关于MDA查询所述的任何合适的编程语言重写,包括数据采集器用于向数据处理平台100提交查询的任何相同的编程语言,例如查询语言或任何其他编程语言。
然后,数据分析平台120使得数据处理平台100执行调用UDAF 122的重写查询。在数据共享平台110的上下文中,数据处理平台100可以是也可以不是相同的数据处理平台100。在数据共享平台110的上下文中的数据处理平台100是在计算设备上运行的一个或多个应用的情况下,数据分析平台120的上下文中的数据共享平台100可以是由服务器托管的一项或多项服务。在数据共享平台110的上下文中的数据处理平台100是由一个或多个服务器托管的一项或多项服务的情况下,数据分析平台120的上下文中的数据处理平台100也可以是由相同的一个或多个服务器托管的一个或多个服务中的一个或多个,或者可以是由其他服务器托管的一个或多个服务。由于UDAF 122是使用数据处理平台100的API编程的,因此重写的查询可以由数据处理平台100的托管提供的一个或多个物理或虚拟处理器执行,以使一个或多个物理或虚拟处理器执行此处所述的UDAF 122。UDAF 122的执行可以通过在计算机集群或云计算服务器上托管来增强,以提供分布式计算、并行计算、物理或虚拟计算资源的改进的可用性以及此类益处。
根据数据处理平台100的API提供的函数调用格式,其可以支持仅传递A(T)的单个元组作为函数参数而不是整个表A(T),可以分解估计算法,其中估计算法直接采用q和A(T)(此处可称作作为参数,可对相同q和A(T)的每个不同元组运行一次迭代)(其中A(T)的任何单个元组可在此处称为tldp),并且可以合并每次迭代的单个答案,以给出作为整体答案的总和。执行每次迭代的API调用可以是可并行化的API调用,使得数据处理平台100能够彼此并行地执行每次迭代,从而加快了每次迭代的答案合并所需的计算时间。
估计算法的分解的实现可通过例如在存储器中创建缓冲区数据结构、提供迭代函数来完成,该迭代函数针对查询q和每个元组tldp执行并将部分答案写入缓冲区,以及提供一种合并功能,该合并功能读取缓冲区并组合部分答案得出的答案。本领域技术人员已知的其他分解算法的方式,只要是根据API格式通过函数调用得出的答案,则属于本公开的范围,在API格式中,单个元组tldp被传递给函数调用,而不是作为一个整体传递给A(T)。或者,如果数据处理平台100提供API,其中A(T)作为一个整体可以传递给函数调用,则可以编程为执行非分解算法,尽管在这种情况下,通过分解或其他算法设计并行计算可能还是有优势的。
例如,基于上面表1所示的数据库模式,MDA查询重写模块121可以按如下所示重写可共享数据中元组的MDA查询:
SELECT LDP_Analytics_UDAF(ldp_tuple,Purchase,Q_SUM_Str)FROM ldp_T
在此,LDP_Sharing_UDAF()是对UDAF 122的函数名的调用;ldp_tuple是每个tldp;Purchase是由数据采集器输入的MDA查询聚合的特定度量值属性;Q_SUM_Str是由数据采集器输入的MDA查询,其可由UDAF 122解析;ldp_T是A(T)。由于针对A(T)的LDP实现已经保证了ε-LDP,因此每个元组T的属性的敏感性或非敏感性,以及属性是分类属性还是范围属性,对于UDAF122不需要参数化。
应当理解,由于MDA查询重写模块120仅处理保证ε-LDP的可共享数据,因此估计答案可能不会改变关于可共享数据是否保证ε-LDP,但可能只会进一步降低返回数据的差异与数据库中特定个体之间敏感数据差异相关的概率。然而,仍然希望将关于估计答案的准确性的统计数据通知数据采集器,这可以在不损害ε-LDP保证的情况下提高数据分析平台120的可靠性。
对于原始MDA查询调用的每个可能的聚合函数,可以根据统计方法计算估计答案的置信区间。对于包含度量属性上的聚合函数的查询的估计答案的置信区间可提供该度量属性的值的范围,其中未向数据采集器显示的准确答案具有例如90%被定位的概率。在聚合函数为COUNT函数的情况下,置信区间可由方差或(α,β)-精度得出。在聚合函数是SUM函数的情况下,置信区间可以从方差中导出。在聚合函数是AVG函数(SUM/COUNT)的情况下,置信区间可以从SUM置信区间除以COUNT置信区间得到。
此外,由估计算法输出的查询的估计答案可能会在同一查询的准确答案上对答案引入一些预期误差;然而,预期误差可能会受到一定程度的限制。例如,估计算法的预期误差可限定为均方误差,均方误差由估计答案和相应的确切答案之间的差的平方的预期值来测量。
对于本领域技术人员而言,为了获得对本公开的示例实施例的全面理解,这里不需要描述由UDAF 122执行的操作的进一步细节。
数据采集器在从数据处理平台100请求数据时,可以使用数据分析平台120提供的接口提交MDA查询,该查询是在数据共享平台110提供的可共享数据上执行的,而不是在数据处理平台100处执行的。这导致数据分析平台120重写MDA查询,并且数据处理平台100执行UDAF 122,并返回查询的估计答案而不是确切答案。在此操作过程中,UDAF 122,无论其性质是否“用户定义的”,都不能由数据采集器编程或配置;并且可能不能被数据采集器检查,并且数据采集器可以在不知道UDAF 122的内容的情况下操作数据分析平台120。UDAF122可以被预定义为数据分析平台120向数据处理平台100提供的一个或多个服务的一部分,并且UDAF 122的“用户定义”性质可以仅指由使用数据处理平台提供的API的一方定义的UDAF 122。
图1进一步示出了概念上组织数据共享平台110和数据分析平台120的隐私边界130。在隐私边界130的私有侧(在图1中图示为隐私边界130左侧的所有元素),包括所自由数据和可共享数据的数据,不向数据采集器公开;在隐私边界130的非私有侧(在图1中图示为隐私边界右侧的所有元素),数据向给数据采集器130公开。数据共享平台110位于隐私边界130的左侧,数据分析平台位于隐私边界130的右侧。
隐私边界130可以是概念边界,其不需要对应于硬件或软件配置、系统硬件或软件架构之间的任何边界,或运行数据处理平台100的计算设备和/或计算机和/或托管数据处理平台100的服务器和/或数据库的之间的物理位置,并且不需要对应于运行或托管一个或多个数据处理平台100的的网络与诸如局域网、广域网、因特网等的其他网络之间的任何边界。例如,数据处理平台100在隐私边界的私有侧执行UDF 112,数据处理平台100在隐私边界的非私有侧执行UDAF 122。隐私边界130可对应于数据共享平台110向数据分析平台120提供的以例如事实表的形式存在的可共享数据,数据分析平台允许对可共享数据进行MDA查询处理,从而将聚合数据返回给数据采集器。
尽管在隐私边界130的两侧都示出了数据处理平台100,但不应将数据处理平台100理解为在隐私边界130的非隐私侧整体公开。相反,只有执行UDAF 122的数据处理平台100的那些部分,例如处理器、存储器和API之类的计算资源,需要在隐私边界130的非私有侧公开。此外,隐私边界130每侧的数据处理平台100可以是相同的数据处理平台100,或者可以是多个数据处理平台100,如上文在数据共享平台110和数据分析平台120。
图2A和2B示出了根据本公开的示例实施例的图形用户界面,其接收由数据所有者提交的数据。如图2A所示,当数据所有者操作计算设备以访问数据处理平台100时,数据共享平台110可与数据所有者的计算设备通信以使计算设备显示编码界面210,数据所有者可进一步使用计算设备操作该编码界面210。编码界面210是图形用户界面,在表格视图211中显示导入编码界面210的自有数据,例如数据所有者的数据。敏感属性212(例如,年龄、工资和州,根据表1的数据库模式)可以以任何适当的方式以视觉方式突出显示,以将其与非敏感属性213区分开来。此外,编码界面210提供输入控件214,该输入控件214接受数据所有者输入的表示隐私保证的期望范围的隐私参数。例如,根据图2A所示的示例实施例,输入控件214可以直接接受参数ε的数值的输入。根据本公开的其他示例性实施例,输入控件214可以接受缩放到参数ε的不同值的另一种形式的范围输入,例如对应于高或低隐私保证程度的选项或拨号控件。此外,编码界面210提供编码控件215,数据所有者在与数据采集器共享之前可操作该编码控件215对在表格视图211中查看的数据进行编码,直到数据所有者满意于所查看的数据反映了期望编码的数据,并且输入控件214处的输入反映了通过编码实现的隐私保证的期望程度。
如图2B所示,当数据所有者操作计算设备以操作编码控件215时,数据共享平台110可与计算设备通信以使计算设备显示提交界面220。提交界面220在类似于编码界面210的表格视图211的表格视图221中显示要提交的编码的可共享数据。敏感属性(例如,年龄、薪水和状态,根据表1的数据库模式)可以从表格视图221中可视地省略,并用编码列222替换,该编码列222显示每个元组对该元组的敏感属性进行编码的结果的表示。非敏感属性223在表格视图211中的显示没有变化。此外,提交界面220提供提交控件224,一旦数据所有者满意,即所查看的可共享数据反映了希望与数据采集器共享的数据,数据所有者可以操作该控件来提交以表格形式221查看的数据。
图3示出了根据本公开的示例实施例的图形用户界面,其处理由数据采集器输入的MDA查询。当数据采集器操作计算设备访问数据处理平台100以请求可共享数据时,数据分析平台120可以与数据所有者的计算设备通信以使计算设备显示查询界面310,数据所有者可使用计算设备进一步操作该查询界面310。查询界面310是图形用户界面,以表格视图311显示数据采集器请求的所有可共享数据,其可以包括多个数据所有者的数据。表格视图311可以类似于提交界面220的表格视图221,其中敏感属性被编码列222替换(由于图2B的冗余,该视图未在图3中示出)。
此外,查询界面310提供查询输入控件312,该查询输入控件312接受由数据采集器输入的查询,该查询包括如上所述的MDA查询,包括在度量属性上执行、并且具有将查询的输出限制到多个其他属性的指定范围的谓词的聚合函数。查询中引用的属性可以符合自有数据的数据库方案,包括存在于自有数据中但编码在可共享数据中且未在表格视图221和311中明确显示的属性。
当数据采集器将MDA查询输入提交到查询输入控件312并操作查询发布控件313时,MDA查询重写器模块121将MDA查询重写为调用在数据处理平台100处实现的UDAF 122的查询,其中,UDAF 122根据数据处理平台100的API被编程。然后,数据分析平台120使数据处理平台100执行调用UDAF 122的重写查询。
查询界面310然后显示由数据处理平台100返回的估计答案和如上所述为估计答案计算的置信区间。
查询界面310还更新表格视图311,以使表格视图311显示贡献列313,该贡献列313显示可共享数据的每个元组对估计答案和的整体的贡献。即使这两个元组具有相同的度量属性值和相同的敏感属性值,这两个元组的贡献也是不同的,这进一步降低了返回的数据差异与数据库中特定个体之间敏感数据差异相关的概率。
图4示出了根据本公开示例实施例的数据共享方法400的流程图。
在步骤402,数据所有者与数据处理平台共享自有数据。数据所有者可以通过操作计算设备来访问网络托管的图形用户界面,或由网络服务器提供的、适合于通过连接到Web服务器的Internet端口导入数据、查看数据和提交数据的其他网络界面。自有数据可以是与数据所有者作为操作数据处理平台的实体操作的服务的用户的现有活动相关联的数据,此类服务包括社交媒体网络、在线零售商、视频流网站、照片共享网站、约会网站等。
在步骤404,数据所有者操作由数据共享平台提供的编码界面,以使数据处理平台对自有数据进行编码,并生成可共享数据。编码界面可以是图形用户界面,在数据所有者的计算设备上显示如上所述的表格访问中导入到编码界面中的自有数据。此外,在使数据共享平台对自有数据进行编码之前,数据所有者可以在编码界面中查看自有数据并在编码界面中输入表示隐私保证的期望范围的隐私参数。
在步骤406,数据所有者操作由数据共享平台提供的提交界面,以使数据共享平台向数据处理平台提交可共享数据。提交界面可以是图形用户界面,在数据所有者的计算设备上显示如上所述的表格访问中由数据共享平台生成的可共享数据。此外,在使数据共享平台向数据处理平台提交可共享数据之前,数据所有者可以在提交界面中查看可共享数据,以使数据所有者满意,即所查看的可共享数据反映了希望与数据采集器共享的数据。
图5示出了根据本公开示例实施例的数据分析方法500的流程图。
在步骤502,数据采集器从数据处理平台请求一个或多个数据所有者的数据。数据所有者可以操作计算设备来访问数据处理平台以请求可共享数据。自有数据可以是与一个或多个数据所有者的现有活动相关联的数据,该数据所有者是由操作数据处理平台的实体操作的服务的用户,此类服务包括社交媒体网络、在线零售商、视频流网站、照片共享网站、约会网站等。
在步骤504,数据采集器操作由数据分析平台提供的查询界面,以使数据处理平台将MDA查询输入到查询输入控件中。如上所述,MDA查询包括在度量属性上执行的聚合函数,并具有将查询的输出限制为多个其他属性的指定范围的谓词。查询界面可以是图形用户界面,在数据所有者的计算设备上显示通过在如上所述的表格访问中对自有数据进行编码而生成的可共享数据。此外,数据采集器可以在编码界面中查看可共享数据。
然后,查询界面显示由数据处理平台返回的估计答案以及如上所述为估计答案计算的置信区间。查询界面还更新表格视图,使表格视图显示贡献列。数据采集器可以查看此信息,并且可以在需要时输入另一个查询。
图6示出了根据本公开的示例实施例的数据共享平台和作为数据处理平台的服务托管的数据分析平台处的数据共享和数据分析处理方法600的流程图。
在步骤602,数据共享平台接收由数据所有者提交给数据处理平台的自有数据。
在步骤604,数据共享平台的共享查询生成器模块编写生成的查询,该查询调用可由数据处理平台执行的用户定义函数,以使数据处理平台从自有数据的每个元组生成编码元组,并将用户定义函数返回的每个编码元组映射到自有数据的相应元组。
在步骤606,数据分析平台从数据采集器接收对自有数据的请求。
在步骤608,数据共享平台向数据分析平台提供可共享数据,该可共享数据由映射到自有数据的元组的每个编码元组组成。
在步骤610,数据分析平台从数据共享平台接收可共享数据。
在步骤612,数据分析平台从数据采集器接收MDA查询,该数据采集器对自有数据具有聚合功能。
在步骤614,数据分析平台的MDA查询重写器模块将MDA查询重写为重写查询,该重写查询调用可由数据处理平台执行的用户定义的聚合函数,以使数据处理平台针对可共享数据生成重写查询的估计答案。
在步骤616,数据分析平台从数据处理平台接收估计答案。
在步骤618,数据分析平台输出估计答案。
上述各步骤可以参照本公开其他附图执行,还可以包括上述可选步骤,在此不再赘述。
图7示出了根据本公开的示例实施例的数据处理平台上的数据共享和数据分析处理方法700的流程图。
在步骤702,数据处理平台从数据共享平台接收自有数据。
在步骤704,数据处理平台执行用户定义的函数,使得数据处理平台从自有数据的每个元组生成编码元组。
在步骤706,数据处理平台将每个编码后的元组返回给数据共享平台。
在步骤708,数据处理平台从数据分析平台接收可共享数据。
在步骤710,数据处理平台从数据分析平台接收重写查询。
在步骤712,数据处理平台执行用户定义的聚合函数,使数据处理平台生成对可共享数据的重写查询的估计答案。
在步骤714,数据处理平台将估计答案返回给数据共享平台。
图8示出了用于实现上述用于实现数据共享平台和数据分析平台的过程和方法的示例系统800。
本文描述的技术和机制可以由系统800的多个实例以及任何其他计算设备、系统和/或环境来实现。系统800可以是由多个物理联网计算机或web服务器、物理或虚拟集群、计算云或本领域技术人员已知的提供物理或虚拟计算资源的其他联网计算架构组成的分布式系统。图8中所示的系统800只是系统的一个示例,并不旨在对用于执行上述过程和/或过程的任何计算设备的使用范围或功能提出任何限制。可适用于实施例的其他众所周知的计算设备、系统、环境和/或配置包括但不限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、游戏机、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述任何系统或设备的分布式计算环境、使用现场可编程门阵列(“FPGA”)和专用集成电路(“ASIC”)等的实现。
系统800可以包括一个或多个处理器802和与处理器802通信耦合的系统存储器804。处理器802和系统存储器804可以是物理的,也可以是虚拟的和/或分布式的。处理器802可以执行一个或多个模块和/或过程,以使处理器802执行各种功能。在实施例中,处理器802可以包括中央处理单元(CPU)、图形处理单元(GPU)、CPU和GPU两者,或者本领域已知的其他处理单元或组件。另外,每个处理器802可以拥有其自己的本地存储器,其还可以存储程序模块、程序数据和/或一个或多个操作系统。
取决于系统800的确切配置和类型,系统存储器804可以是易失性的,例如RAM、也可以非易失性的,例如ROM、闪存、微型硬盘驱动器、存储卡等,或者其某种组合。系统存储器804可包括可由处理器802执行的一个或多个计算机可执行模块806。模块806可以作为数据处理平台的服务托管在网络上,数据处理平台可以在系统800之外的单独系统上实现。
模块806可以包括但不限于自有数据存储模块808、共享查询生成器模块810、编码界面模块812、提交界面模块814、可共享数据存储模块816、MDA查询重写器模块818和查询接口模块820。自有数据存储模块808、共享查询生成器模块810、编码界面模块812和提交界面模块814可以构成由数据共享平台提供的服务,数据共享平台是提供相关功能的服务的逻辑组织。可共享数据存储模块816、MDA查询重写器模块818和查询接口模块820可以构成数据分析平台提供的服务,数据分析平台是提供相关功能的服务的逻辑组织。数据共享平台的服务和数据分析平台的服务可以托管在系统800的不同实例上。
自有数据存储模块808可被配置为存储从数据所有者接收的自有数据。
共享查询生成器模块810可被配置为写入生成的查询,该查询调用可由数据处理平台执行的用户定义函数811,以使数据处理平台从自有数据的每个元组生成编码元组,以及将用户定义函数811返回的每个编码元组映射到自有数据的相应元组。
编码界面模块812可被配置为显示可在与托管数据共享平台服务进行网络通信的计算设备上操作的网络托管编码界面。编码界面模块812还可以被配置为显示导入编码界面的自有数据;接受数据所有者输入的表示所需隐私保证范围的隐私参数;以及接收对所显示的数据进行编码的指令。编码界面模块812可进一步配置为向共享查询生成器模块810提供隐私参数作为用户定义函数811的参数,并使共享查询生成器模块810写入生成的查询。
提交界面模块814可被配置为在与托管数据共享平台服务进行网络通信的计算设备上显示可操作的网络托管编码界面。提交界面模块814可进一步配置为显示从数据处理平台接收的编码数据;并接收提交显示数据的指令。提交界面模块814可以进一步配置为使编码数据作为可共享数据提交给数据处理平台。
可共享数据存储模块816可以被配置为存储从数据共享平台接收的可共享数据。
MDA查询重写器模块818可被配置为将MDA查询重写为重写查询,该重写查询调用可由数据处理平台执行的用户定义的聚合函数819,以使数据处理平台针对可共享数据的重写查询生成估计答案。
查询界面模块820可被配置为在与托管数据分析平台服务进行网络通信的计算设备上显示可操作的网络托管编码界面。查询界面模块820可进一步配置为在查询界面上显示可共享数据;接受数据采集器对自有数据的MDA查询的输入;以及显示针对可共享数据的重写查询的估计答案。编码界面模块820可进一步配置为向MDA查询重写器模块818提供MDA查询,并使MDA查询重写器生成器模块818重写MDA查询。
系统800还可以包括输入/输出(I/O)接口840和通信模块850,允许系统800通过网络与其他系统和设备通信,例如数据处理平台、数据所有者的计算设备和数据采集器的计算设备。网络可以包括因特网、有线媒体(例如有线网络或直接有线连接),以及诸如声学、射频(RF)、红外之类的无线媒体和其他无线媒体。
上述方法的一些或全部操作可通过执行存储在计算机可读存储介质上的计算机可读指令来执行,如下所定义。在说明书和权利要求书中使用的术语“计算机可读指令”包括例程、应用程序、应用模块、程序模块、程序、组件、数据结构、算法等。计算机可读指令可在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型机、个人计算机、手持计算设备、基于微处理器的可编程消费电子产品、其组合等。
计算机可读存储介质可以包括易失性存储器(例如随机存取存储器(RAM))和/或非易失性存储器(例如只读存储器(ROM)、闪存等)。计算机可读存储介质还可包括其他可移动存储器和/或不可移动存储器,包括但不限于闪存、磁存储器、光存储器和/或磁带存储器,其可提供计算机可读指令、数据结构、程序模块等的非易失性存储。
非瞬态计算机可读存储介质是计算机可读介质的一个示例。计算机可读介质包括至少两种类型的计算机可读介质,即计算机可读存储介质和通信介质。计算机可读存储介质包括在用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何过程或技术中实现的易失性和非易失性、可移动和不可移动介质。计算机可读存储介质包括但不限于相变存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术,光盘只读存储器(CD-ROM)、数字多功能磁盘(DVD)或其他光学存储器、磁带、磁带、磁盘存储器或其他磁存储设备,或可用于存储信息以供计算设备访问的任何其他非传输介质。相反,通信介质可以在调制数据信号(例如载波)或其他传输机制中体现计算机可读指令、数据结构、程序模块或其他数据。如本文所定义的,计算机可读存储介质不包括通信介质。
存储在一个或多个非暂时性计算机可读存储介质上的计算机可读指令,当由一个或多个处理器执行时,可以执行以上参考图1至图8描述的操作。通常,计算机可读指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序和/或并行地组合任意数量的所描述的操作以实现处理。
通过上述技术方案,本公开提供了一种向数据处理平台提供服务的数据共享平台和向数据处理平台提供服务的数据分析平台,通过降低返回数据的差异与数据库中特定个人之间敏感数据的差异相关的概率,提供ε-LDP对从数据所有者处接收的自有数据隐私的保障。数据共享平台和数据分析平台的一个或多个服务包括数据处理平台可执行的功能,允许在数据所有者和不受信任的数据采集器之间以自我执行的方式提供保证LDP的服务,并且利用分布式计算、并行计算、物理或虚拟计算资源的改进可用性以及数据处理平台可能提供的此类益处,将服务扩展到数据处理平台本身的计算资源和数据吞吐量。此外,数据处理平台可执行的函数可执行分解算法,从而加快推导查询答案所需的计算时间。
条款示例
A.一种方法,包括:数据所有者将自有数据共享给数据处理平台;数据所有者操作数据共享平台提供的编码界面,使数据处理平台对自有数据进行编码并生成可共享数据;数据所有者操作数据共享平台提供的提交界面,使数据共享平台向数据处理平台提交可共享数据。
B.如段落A所述的方法,还包括:数据所有者在编码界面中查看自有数据,并在使数据共享平台对自有数据进行编码之前,在编码界面中输入表示所需隐私保证程度的隐私参数。
C.如段落A所述的方法,还包括:数据所有者在使数据共享平台向数据处理平台提交可共享数据之前,在提交界面中查看可共享数据。
D.一种方法,包括:数据采集器从数据处理平台请求一个或多个数据所有者的数据;数据采集器操作数据分析平台提供的查询界面,使数据处理平台将MDA查询输入到查询输入控件中。
E.一种方法,包括:数据共享平台接收数据所有者提交给数据处理平台的自有数据;数据共享平台的共享查询生成器模块编写生成的查询;数据分析平台从数据采集器接收对自有数据的请求;以及数据共享平台向数据分析平台提供可共享数据。
F.如段落E所述的方法,所述生成的查询调用可由数据处理平台执行的用户定义函数,以使数据处理平台从自有数据的每个元组生成编码元组。
G.如段落E所述的方法,所述用户定义函数具有符合局部差分隐私(“LDP”)的参数ε,并且基于各个元组的至少一个属性是敏感属性,每个编码元组满足关于自有数据的相应元组的ε-LDP。
H.如段落G所述的方法,所述用户定义函数对分类属性的敏感属性的操作不同于用户定义函数对范围属性的敏感属性执行的操作。
I.如段落F所述的方法,还包括:数据共享平台将用户定义函数返回的每个编码元组映射到自有数据的相应元组。
J.如段落I所述的方法,所述可共享数据包括映射到自有数据的元组的每个编码元组。
K.段落F所述的方法,所述数据处理平台被配置为在云计算服务器上执行用户定义函数。
L.如段落E所述的方法,还包括:数据分析平台从数据共享平台接收可共享数据;数据分析平台从数据采集器接收MDA查询,该数据采集器具有对自有数据的聚合功能;数据分析平台的MDA查询重写模块将MDA查询重写为重写查询;数据分析平台从数据处理平台接收估计答案。
M.如段落L所述的方法,所述重写查询调用可由数据处理平台执行的用户定义的聚合函数,以使数据处理平台针对可共享数据生成对重写查询的估计答案。
N.如段落M所述的方法,所述用户定义的聚合函数实现以MDA查询和可共享数据作为参数的估计算法。
O.如段落N所述的方法,所述估计算法被分解为由在迭代中运行的用户定义函数针对可共享数据的每个元组执行。
P.如段落O所述的方法,所述估计答案是估计算法的每次迭代的答案之和。
Q.如段落O所述的方法,所述估计算法的每次迭代可至少部分地与估计算法的至少一个其他迭代并行执行。
R.如段落N所述的方法,所述估计算法具有限定于均方误差值的预期误差值。
S.如段落N所述的方法,所述数据处理平台被配置为在云计算服务器上执行用户定义的聚合函数。
T.如段落L所述的方法,还包括数据分析平台计算估计答案的置信区间。
U.一种方法,包括:数据处理平台从数据共享平台接收自有数据;数据处理平台执行用户定义函数,使数据处理平台从自有数据的每个元组生成编码元组;以及数据处理平台将每个编码元组返回给数据共享平台。
V.如段落U所述的方法,所述用户定义函数具有符合局部差分隐私(“LDP”)的参数ε,并且基于各个元组的至少一个属性是敏感属性,每个编码元组满足关于自有数据的相应元组的ε-LDP。
W.如段落V所述的方法,所述用户自定义函数对分类属性的敏感属性的操作不同于自定义函数对范围属性的敏感属性执行的操作。
X.如段落U所述的方法,所述数据处理平台在云计算服务器上执行用户自定义函数。
Y.如段落U所述的方法,还包括:数据处理平台从数据分析平台接收可共享数据;数据处理平台执行用户定义的聚合函数,使数据处理平台针对可共享数据的重写查询生成估计答案;以及,数据处理平台将估计答案返回给数据共享平台。
Z.如Y段所述的方法,所述用户定义的聚合函数实现了以MDA查询和可共享数据为参数的估计算法。
AA.如段落Z所述的方法,所述估计算法被分解为由在迭代中运行的用户定义的聚合函数针对可共享数据的每个元组执行。
BB.如段落AA所述的方法,所述估计答案是估计算法的每次迭代的答案之和。
CC.如段落AA所述的方法,所述估计算法的每次迭代可至少部分地与估计算法的至少一个其他迭代并行执行。
DD.如段落Y所述的方法,所述数据处理平台在云计算服务器上执行用户定义函数。
EE.一种系统,包括:一个或多个处理器;以及以通信方式耦合到所述一个或多个处理器的存储器,所述存储器存储由所述一个或多个处理器执行的计算机可执行模块,该计算机可执行模块在由一个或多个处理器执行时执行关联的操作,计算机可执行模块包括:共享查询生成器模块,所述共享查询生成器模块被配置为编写生成的查询,所述生成的查询调用可由数据处理平台执行的用户定义函数,以使所述数据处理平台从自有数据的每个元组生成一个编码元组,以及将用户定义函数返回的每个编码元组映射到自有数据的相应元组;以及MDA查询重写器模块,其被配置为将MDA查询重写为重写查询,该重写查询调用可由数据处理平台执行的用户定义的聚合函数,以使数据处理平台针对可共享数据生成重写查询的估计答案,所述可共享数据包括每个映射到自有数据的元组的编码元组。
尽管已经以特定于结构特征和/或方法行为的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于所描述的特定特征或行为。相反,具体特征和动作被公开为实现权利要求的示例形式。
Claims (20)
1.一种方法,包括:
通过数据共享平台接收数据所有者向数据处理平台提交的自有数据;
通过所述数据共享平台的共享查询生成器模块编写生成的查询;
通过数据分析平台从数据采集器接收对所述自有数据的请求;和
通过所述数据共享平台向数据分析平台提供可共享数据。
2.如权利要求1所述的方法,所述生成的查询调用可由所述数据处理平台执行的用户定义函数,以使所述数据处理平台从所述自有数据的每个元组生成编码元组。
3.如权利要求2所述的方法,所述用户定义函数具有符合局部差分隐私(“LDP”)的参数ε,并且基于各个元组的至少一个属性是敏感属性,每个编码元组满足关于自有数据的相应元组的ε-LDP。
4.如权利要求3所述的方法,所述用户定义函数对分类属性的敏感属性的操作不同于所述用户定义函数对范围属性的敏感属性执行的操作。
5.如权利要求2所述的方法,还包括:通过所述数据共享平台将所述用户定义函数返回的每个编码元组映射到所述自有数据的相应元组。
6.如权利要求5所述的方法,所述可共享数据包括映射到所述自有数据的元组的每个编码元组。
7.如权利要求1所述的方法,还包括:
通过所述数据分析平台从所述数据共享平台接收所述可共享数据;
通过所述数据分析平台接收来自所述数据采集器的MDA查询,所述数据采集器具有对所述自有数据的聚合功能;
通过所述数据分析平台的MDA查询重写模块将所述MDA查询重写为重写查询;和
通过所述数据分析平台从所述数据处理平台接收估计答案。
8.如权利要求7所述的方法,所述重写查询调用可由所述数据处理平台执行的用户定义的聚合函数,以使所述数据处理平台针对所述可共享数据生成对重写查询的估计答案。
9.如权利要求8所述的方法,所述用户定义的聚合函数实现以MDA查询和所述可共享数据作为参数的估计算法。
10.如权利要求9所述的方法,所述估计答案是估计算法的每次迭代的答案之和。
11.如权利要求8所述的方法,所述估计算法的每次迭代至少部分地与估计算法的至少一个其他迭代并行执行。
12.一种方法,包括:
通过数据处理平台从数据共享平台接收自有数据;
通过所述数据处理平台执行用户定义函数,使所述数据处理平台从所有自有数据的每个元组生成编码元组;以及
通过所述数据处理平台将每个编码元组返回给所述数据共享平台。
13.如权利要求12所述的方法,所述用户定义函数具有符合局部差分隐私(“LDP”)的参数ε,并且基于各个元组的至少一个属性是敏感属性,每个编码元组满足关于自有数据的相应元组的ε-LDP。
14.如权利要求13所述的系统,所述用户自定义函数对分类属性的敏感属性的操作不同于所述用户自定义函数对范围属性的敏感属性执行的操作。
15.如权利要求12所述的方法,还包括:
通过所述数据处理平台从数据分析平台接收可共享数据;
通过所述数据处理平台执行用户定义的聚合函数,使所述数据处理平台针对可共享数据的重写查询生成估计答案;以及,
通过所述数据处理平台将所述估计答案返回给数据共享平台。
16.如权利要求15所述的系统,所述用户定义的聚合函数实现以MDA查询和可共享数据为参数的估计算法。
17.如权利要求16所述的方法,其中,所述估计算法被分解为由针对所述可共享数据的每个元组的迭代运行的所述用户定义的聚集函数执行。
18.如权利要求17所述的方法,所述估计答案是估计算法的每次迭代的答案之和。
19.如权利要求17所述的方法,所述估计算法的每次迭代可至少部分地与估计算法的至少一个其他迭代并行执行。
20.一种系统,包括:
一个或多个处理器;以及
以通信方式耦合到所述一个或多个处理器的存储器,所述存储器存储由所述一个或多个处理器执行的计算机可执行模块,所述计算机可执行模块在由一个或多个处理器执行时执行关联的操作,计算机可执行模块包括:
共享查询生成器模块,所述共享查询生成器模块被配置为编写生成的查询,所述生成的查询调用可由数据处理平台执行的用户定义函数,以使所述数据处理平台从自有数据的每个元组生成一个编码元组,以及将用户定义函数返回的每个编码元组映射到自有数据的相应元组;以及
MDA查询重写器模块,其被配置为将MDA查询重写为重写查询,该重写查询调用可由所述数据处理平台执行的用户定义的聚合函数,以使所述数据处理平台针对可共享数据生成重写查询的估计答案,所述可共享数据包括每个映射到自有数据的元组的编码元组。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/090836 WO2020248149A1 (en) | 2019-06-12 | 2019-06-12 | Data sharing and data analytics implementing local differential privacy |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113841148A true CN113841148A (zh) | 2021-12-24 |
Family
ID=73781147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096297.7A Pending CN113841148A (zh) | 2019-06-12 | 2019-06-12 | 实现局部差分隐私的数据共享和数据分析 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113841148A (zh) |
WO (1) | WO2020248149A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056419A (zh) * | 2023-07-20 | 2023-11-14 | 安徽国科检测科技有限公司 | 一种基于局域网的实验室检测数据共享系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608388A (zh) * | 2015-09-24 | 2016-05-25 | 武汉大学 | 一种基于相关性去除的差分隐私数据发布方法及系统 |
CN105653981A (zh) * | 2015-12-31 | 2016-06-08 | 中国电子科技网络信息安全有限公司 | 大数据平台的数据流通与交易的敏感数据保护系统及方法 |
CN107113183A (zh) * | 2014-11-14 | 2017-08-29 | 马林·利佐尤 | 大数据的受控共享的系统和方法 |
WO2017187207A1 (en) * | 2016-04-29 | 2017-11-02 | Privitar Limited | Computer-implemented privacy engineering system and method |
CN107547525A (zh) * | 2017-08-14 | 2018-01-05 | 复旦大学 | 一种大数据查询处理的隐私保护方法 |
-
2019
- 2019-06-12 CN CN201980096297.7A patent/CN113841148A/zh active Pending
- 2019-06-12 WO PCT/CN2019/090836 patent/WO2020248149A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113183A (zh) * | 2014-11-14 | 2017-08-29 | 马林·利佐尤 | 大数据的受控共享的系统和方法 |
CN105608388A (zh) * | 2015-09-24 | 2016-05-25 | 武汉大学 | 一种基于相关性去除的差分隐私数据发布方法及系统 |
CN105653981A (zh) * | 2015-12-31 | 2016-06-08 | 中国电子科技网络信息安全有限公司 | 大数据平台的数据流通与交易的敏感数据保护系统及方法 |
WO2017187207A1 (en) * | 2016-04-29 | 2017-11-02 | Privitar Limited | Computer-implemented privacy engineering system and method |
CN107547525A (zh) * | 2017-08-14 | 2018-01-05 | 复旦大学 | 一种大数据查询处理的隐私保护方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056419A (zh) * | 2023-07-20 | 2023-11-14 | 安徽国科检测科技有限公司 | 一种基于局域网的实验室检测数据共享系统 |
CN117056419B (zh) * | 2023-07-20 | 2024-03-15 | 安徽国科检测科技有限公司 | 一种基于局域网的实验室检测数据共享系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020248149A1 (en) | 2020-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11036735B2 (en) | Dimension context propagation techniques for optimizing SQL query plans | |
US11914620B2 (en) | System and method for aggregating values through risk dimension hierarchies in a multidimensional database environment | |
US11113413B2 (en) | Calculating differentially private queries using local sensitivity on time variant databases | |
US20210073188A1 (en) | System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment | |
KR102134494B1 (ko) | 위치 정보를 가진 데이터 프로파일링 | |
US12013878B2 (en) | System and method for sandboxing support in a multidimensional database environment | |
US10437701B2 (en) | Data generation | |
US11188547B2 (en) | Differentially private budget tracking using Renyi divergence | |
US7720831B2 (en) | Handling multi-dimensional data including writeback data | |
US11567995B2 (en) | Branch threading in graph databases | |
US11803865B2 (en) | Graph based processing of multidimensional hierarchical data | |
US20190303614A1 (en) | Determination and visualization of effective mask expressions | |
CN113841148A (zh) | 实现局部差分隐私的数据共享和数据分析 | |
US20180096032A1 (en) | Metadata application programming interface for ad hoc database queries | |
US11783078B1 (en) | Database redaction for semi-structured and unstructured data | |
Lakhe et al. | Data Lake Integration Design Principles |
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 |