用于保密搜索的方法、保密搜索设备、计算机设备的制作方法

文档序号:6431936阅读:182来源:国知局
专利名称:用于保密搜索的方法、保密搜索设备、计算机设备的制作方法
技术领域
本发明总体上涉及信息处理,特别地,本发明涉及用于保密搜索的方法、保密搜索设备、计算机设备。
背景技术
云计算是一种服务交付模型,用于对共享的可配置计算资源池进行方便、按需的网络访问。随着云计算概念的普及,越来越多的人们喜欢通过互联网存储并管理他们的信息。将利用云计算管理其信息的用户称为云消费者。例如,在医疗领域,出现了很多利用云计算能力的云消费者,如PatientsLikeMe、Google Health等站点。—方面,从网络资源利用率的角度,希望例如PatientsLikeMe的站点能将用户(如患者)的信息被社会公众共享,另一方面,人们又希望保护隐私。按照2008年的调查,25%的参与者选择在访问站点时提供虚假信息,72%的参与者担心其在线信息和行为被服务提供商跟踪并使用,尤其是在医疗领域。著名的医疗站点PatientsLikeMe就曾呼吁医疗信息透明化以实现更好的医疗服务。现有技术中解决这一问题的一种方案是信息匿名化(anonymization),其中数据被利用概括、压缩、加扰等手段重写,个人信息的完整性被打破,但保持整个数据集的特征。这种匿名化后的数据可以被研究机构使用,但公众却不能使用,因为其中的一些信息经过这种匿名化之后不能给出任何合理的暗示。现有技术中的另一种方案是保密搜索。例如,对用户敏感数据进行加密。在搜索结果中,对用户敏感的数据对一般搜索用户来说不可见。一般搜索用户只能看到对用户不敏感的数据。信息共享可以由可搜索加密和索引实现,这样,经用户同意,其它搜索用户就可以看到其全部信息。但是,此方案中,搜索结果中的数据要么可见,要么未经用户本人同意不可见,仍然防碍了信息共享。现有技术中需要一种能在保密用户隐私的同时在更大程度上共享用户信息的技术。

发明内容
本发明的一个实施例解决的一个问题是,在保密用户隐私的同时在更大程度上共
享用户信息。本发明的一个实施例提供了一种用于保密搜索的方法,包括接收来自搜索用户的搜索请求;基于保密策略确定返回给搜索用户的搜索结果;及向搜索用户返回搜索结果O本发明的一个实施例提供了一种保密搜索设备,包括搜索引擎,被配置为接收来自搜索用户的搜索请求;以及搜索结果确定器,被配置为基于保密策略确定返回给搜索用户的搜索结果,其中搜索引擎还被配置为将搜索结果确定器确定的搜索结果返回搜索用户。
本发明的一个实施例提供了一种计算机设备,包括上述保密搜索设备。本发明的一个实施例带来的一个有益效果是,在保密用户隐私的同时在更大程度上共享了用户信息。


本申请中所参考的附图只用于示例本发明的典型实施例,不应该认为是对本发明范围的限制。图I表示根据本发明一实施例的云计算节点。图2表示根据本发明一实施例的云计算环境。图3表示根据本发明一实施例的抽象模型层。图4示出了通用搜索设备的框图。图5示出了本发明第一实施例的保密搜索设备的框图。图6示出了本发明第二实施例的保密搜索设备的框图。图7示出了根据本发明的一个实施例的方法的框图。
具体实施例方式下列讨论中,提供大量具体的细节以帮助彻底了解本发明。然而,很显然对于本领域技术人员来说,即使没有这些具体细节,并不影响对本发明的理解。并且应该认识到,使用如下的任何具体术语仅仅是为了方便描述,因此,本发明不应当局限于只用在这样的术语所表示和/或暗示的任何特定应用中。首先应当明白,尽管本公开包括关于云计算的详细描述,本公开所记载的技术方案的实现却不限于云计算环境。本发明的实施例能够结合现在已知的或以后开发的任何其它类型的计算环境而实现。云计算是一种服务交付模型,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源例如是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务,是以最小的管理成本或者最少的与服务提供者的交互就能快速提供和释放的资源。这种云模型可以包括至少五个特征,至少三个服务模型和至少四个部署模型。特征如下按需自助式服务云消费者能单方面自动地按需提供计算能力,诸如服务器时间和网络存储,而无需与服务提供者进行人工交互。广泛的网络接入云计算能力可在网络上获取,并且是通过标准机制获取的,标准机制促进通过不同种类瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。资源池将提供者的计算资源归入资源池,通过多租户(munti-tenant)模式服务于多重消费者,不同的实体资源和虚拟资源按照需要被动态地分配和再分配。因为消费者一般不控制甚至不知道所提供的资源的确切位置,但是可能在较高的抽象程度上指定位置(例如国家、州或数据中心),所以有一种位置独立感。迅速的弹性能迅速和有弹性地(有时是自动地)提供计算资源,以实现快速地扩展并且能快速地释放。对于消费者来说,可用的计算资源常常显得是无限的,在任何时候都能获取任何数量的计算资源。可测量的服务云系统通过利用适于服务(例如存储、处理、带宽和活动用户帐号)类型的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。服务模型如下软件即服务(SaaS):给予消费者使用提供者在云基础架构上运行的应用的能力。应用是可通过诸如网络浏览器的瘦客户机接口从各种客户机设备访问的(例如基于网络的电子邮件)。可能除了是有限的特定于用户的应用配置设置外,消费者既不管理也不控制底层的云基础架构,包括网络、服务器、操作系统、存储、乃至单个应用能力。平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建的或获得的应用,这些应用是用提供者所支持的程序设计语言和工具创建的。消费者不管理或控制基础的云基础架构,包括网络、服务器、操作系统或存储,但是对所部署的应用具有控制权,对托管环境配置的应用也可能有控制权。基础架构即服务(IaaS):给予消费者提供处理、存储、网络和消费者能在其中部署和运行任意软件的基础计算资源的能力,其中软件可包括操作系统和应用程序。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和所部署的应用具有控制权,对选择的网络部件(例如主机防火墙)也可能拥有有限的控制权。部署模型如下私有云云基础架构是单独为某个组织运行的。云基础架构可以由该组织管理,也可以由第三方管理,可以存在于组织内,也可以存在于组织外。共同体云云基础架构被若干个组织共享,支持有共同利害关系(例如使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理,可以存在于组织内,也可以存在于组织外。公共云云基础架构向公众或大型产业群提供,并由出售云服务的组织拥有。混合云云基础架构是两个或更多的云(私有云、共同体云或公共云)的合成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础结构。现在参考图1,图中显示了一个云计算节点的例子。云计算节点10仅仅是合适的云计算节点的一个示例,而并不意味着对本发明的实施例的功能和使用的范围的任何限制。总之,云计算节点10能够被实现和/或执行以上所述的任何功能。在云计算节点10中有一个计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器12 —起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等
坐寸ο计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器12可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。如图I所示,云计算节点10中的计算机系统/服务器12是以通用计算设备的形式表现的。计算机系统/服务器12的部件可以包括但不限于一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统部件(包括系统存储器28和处理单元16)的总线18。总线18表示几种类型的总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任何总线结构的局域总线。举例(但不限于这些示例)来说,这些体系结构包括工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围部件互连(PCI)总线。计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以为可被计算机系统/服务器12访问的任何可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可以移动的/不可移动的,易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以被提供用于读出和写入不可移动的、非易失性磁介质(未示出,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动的非易失性磁盘(录入“软盘”)读写的磁盘驱动器,以及对可移动的非易失性光盘——诸如CD-ROM,DVD-ROM或者其它光介质——读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。如以下将进一步表示和描述的那样,存储器28可以包括至少一个程序产品,该程序产品有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。有一组(至少一个)程序模块42的程序/实用工具40,可以被存储在存储器28中,这样的程序模块42例如(但不限于)操作系统、一个或者多个应用程序、其它程序模块以及程序数据。操作系统、一个或者多个应用程序、其它程序模块、程序数据中的每一个或它们的某种组合中可能包括网络环境的实现。程序模块42通常执行这里描述的本发明的实施例中的功能和/或方法。计算机系统/服务器12也可以与一个或多个外部设备14—诸如键盘、指向设备、显示器24等等——通信,与一个或者多个使用户能与计算机系统/服务器12交互的设备通信,和/或与使计算机系统/服务器12能与一个或多个其它计算设备通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络一诸如局域网(LAN),广域网(WAN)和/或公共网络(例如因特网)一通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12—起使用。例子包括但不限于微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统,等等。
现在参考图2,该图描述了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备诸如个人数字辅助设备(PDA)或者是移动电话54A,台式电脑54B,笔记本电脑54C,和/或汽车计算机系统54N。节点10之间可以相互通信。可以在在一个或者多个网络一
诸如如上所述的私有云、共同体云、公共云或混合云或者它们的组合-中,将节点10进行
物理或者虚拟分组(图中未示出)。这允许云计算环境50提供云消费者无需在本地计算设备上维护资源就能请求的基础架构即服务、平台即服务和/或软件即服务。应当明白,图2示出的各类计算设备54A-N仅仅是示意性的,计算节点10以及云计算环境50可以与任何类型的网络上的和/或网络可寻址的连接上的任何类型的计算设备(例如使用网络浏览器)通信。现在参考图3,该图示出了云计算环境50(图2)提供的一组功能抽象层。首先应当明白,图3所示的部件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图所示,提供了下列层和对应功能硬件和软件层60包括硬件和软件部件。硬件部件的例子包括主机——例如IBM zSeries 系统;基于Risc(精简指令集计算机)体系结构的服务器一例如iBMpSeries 系统;iBMXSeries 系统;iBMBladeCenter 系统;存储设备;网络和网络部件。软件部件的例子包括网络应用服务器软件一例如IBM WebSphere
应用服务器软件;数据库软件-例如IBMDB2 数据库软件。(IBM, zSeries, pSeries,
xSeries, BladeCenter, WebSphere以及DB2是国际商业机器公司在全世界各地注册的商标)。虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。在一个示例中,管理层64可以提供下述功能资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能在云计算环境内资源被使用时进行成本跟踪,并为这些资源的消费提供帐单和发票。在一个例子中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能为根据SLA的预测了未来需求的云计算资源提供预先安排和供应。工作负载层66提供了云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学他提供;数据分析处理;交易处理;以及如本发明所进行的保密搜索。本发明的主要构思是,与现有技术中将敏感信息全部隐藏从而是搜索用户在未经敏感信息的所有者授权的情况下完全无法从中得到任何信息相比,可以根据保密策略将敏感信息变换成一个更加概括的概念。例如,每一信息所有者可以对其信息指定一个私密度比率,即私密度水平。敏感信息按照该私密度水平变换成一个更加概括的概念。再例如,可
8以采用规定的私密度等级,即对某些用户采用特定的私密度等级,对另一些用户采用另外的私密度等级,并按照私密度等级将敏感信息变换成一个更加概括的概念。这样敏感信息可以在概括的条件下被其它用户共享,同时又不会防碍该敏感数据的私密性。例如,某患者得了 I型肺炎,但根据该患者希望的私密度水平,该信息可以变换成“肺炎”、“肺病”,甚至“疾病”,这种变换被称为概括。这样,既能让搜索用户获得一定的信息又保证了患者的隐私不被泄漏。也就是说,用户看到的是其它信息拥有者的敏感数据在不同私密度要求之下呈现的“视图”。信息拥有者可以改变针对任何敏感数据的私密度水平,数据集也可以变化,这样,导致对同一敏感数据的不同视图。这样,既能最大化信息共享,又能满足信息拥有者的私密度要求。也就是说,在接收到来自搜索用户的搜索请求后,不是直接查询到搜索结果返回给搜索用户,而是基于保密策略确定返回给搜索用户的搜索结果,以便向搜索用户返回。在一个实施例中,基于保密策略确定返回给搜索用户的搜索结果包括对搜索结果中元组的属性的值进行概括,作为返回给搜索用户的搜索结果。在结构化数据存储结构中,即在关系数据库中,通常以二维表的形式存储数据,其中表中的每一横行是关系的一个元组,每一纵行是关系的一个属性。例如患者性别年龄病症
张三男25I型肺炎
李四女45肺气肿
“张三:男25岁I型肺炎”构成了一个元组,张三和李四的年龄构成了关系的一个属性。对搜索结果中元组的属性的值进行概括的一种方式是基于私密度比率将搜索结果中的元组的属性的值改变为概括值,其中该属性的值是该概括值的子类,且根据该概括值发现原始元组的概率与根据该属性的值发现原始元组的概率之比小于或等于该私密度比率。仍以上例为例。假设“张三男25 I型肺炎”、“李四女45肺气肿”是原始元组。另外,假设在数据库中,得I型肺炎的只有2个人。因此,如果在知道某个人得了 I型肺炎的情况下想在数据库中找到这个人是张三的可能是50%。也就是说,根据“I型肺炎”发现张三的概率是50%。但是,如果在数据库中,得“肺炎”的人有20人,则根据“肺炎”发现“张三”的概率是5%。如果张三指定自己的私密度比率为10%,用“肺炎”替代“I型肺炎”,就会导致根据概括数据“肺炎”发现该原始数据“I型肺炎”所属的特定元组的概率5%与根据原始数据“I型肺炎”发现该特定元组的概率50%之比10%小于或等于该私密度比率,这样,就满足了张三的私密度要求。但是,如果张三指定的私密度比率为8%,则这样计算出的比率10%大于该私密度比率。这样,需要将“I型肺炎”概括成“肺病”、“呼吸道疾病”等,从而使该比率降低到小于或等于私密度比率。当然,也可以通过本领域技术人员受益于上述教导所想到的其它方式来将原始数据概括成概括数据。例如,可以不使用私密度比率,而采用规定好的私密度等级,并且对每一私密度等级需要概括到何种程度作出详细的规定。例如,假设有A、B、C、D四个私密度等级。如果张三选择D私密度等级,则意味着不概括,即不需保密。这样,其元组中的属性“病症”的值仍为“ I型肺炎”。如果张三选择C私密度等级,则向上概括一级,即将“ I型肺炎”概括成“肺炎”。如果张三选择B私密度等级,则向上概括两级,即将“ I型肺炎”概括成“肺病”。如果张三选择A私密度等级,则向上概括三级,即将“I型肺炎”概括成“呼吸道疾病”。由于上述概括的存在,使得在返回搜索用户的查询结果时,不但要返回完全符合搜索用户的搜索条件的结果,可能还要返回虽与搜索条件不完全符合但却相关的结果。例如,当搜索条件为“病症=I型肺炎”时,不仅要给出确实出现了“I型肺炎”的搜索结果,还要给出包含“肺炎”、“肺病”等的搜索结果,因为这些结果可能是由于“I型肺炎”的概括产生的。当然,包含“肺炎”、“肺病”等的搜索结果可能是由于“2型肺炎”、“肺气肿”的概括产生的。这样产生的搜索结果可能并不是搜索用户想要的真实结果。由此,产生了如下相似度的概念。搜索用户可根据相似度来判断搜索结果反映自己的真实意愿的程度。可选地,在向搜索用户返回搜索结果时,将该搜索结果的平均相似度返回给搜索用户,其中平均相似度为对于每一查询条件该搜索结果与该查询条件的相似度的平均值。在结构化数据用树型结构表示的情况下,当两个属性的值(如“病症=I型肺炎”和“病症=肺炎”)具有祖孙关系时,这两个属性的值的相似度为这两个属性的值的覆盖范围之比。覆盖范围即数据库中属性的值为该值或该值的子类的元组有多少个。假设肺炎包括I型肺炎和2型肺炎,则“I型肺炎”和“2型肺炎”是“肺炎”的子类。例如,在数据库中,有2个人得了 I型肺炎,18个人得了 2型肺炎,则“肺炎”的覆盖范围为20个,“I型肺炎”的覆盖范围为2个,“2型肺炎”的覆盖范围为18个。对于某一查询条件,可以根据搜索结果中的相应属性的值和该查询条件的属性的值,计算其覆盖范围之比,即对于该查询条件的相似度。如果对于查询条件“病症=I型肺炎”,返回的一个搜索结果是“肺炎”,则对于查询条件“病症=I型肺炎”,该搜索结果与查询条件的相似度为2/20 = 10%。当两个属性的值不具有祖孙关系时,也可能具有一些相似度,如“病症=内分泌失调”和“病症=肾病”,因为有些肾病也是由于内分泌失调引起的。此时,计算这两个属性的值与它们的最近共同祖先之间的相似度,再对这些相似度求调谐平均数。这样,就得到了这两个属性的值的相似度。在计算出了对于每一查询条件该搜索结果与该查询条件的相似度之后,对对于每一查询条件该搜索结果与该查询条件的相似度求平均值,就得到了平均相似度。例如,搜索用户查询时输入了两个搜索条件病症=I型肺炎,年龄=25岁。返回的搜索结果A中,病症=肺炎,对于查询条件“病症=I型肺炎”该搜索结果与该查询条件的相似度为10%;年龄=21-30岁,对于查询条件“年龄=25岁”该搜索结果与该查询条件的相似度为20%。因此,平均相似度为(10% +20% )/2 = 15%0这样,搜索用户就可以通过返回的平均相似度,判断搜索结果在多大程度上满足了客户的期望。搜索用户可以根据该平均相似度结合其它条件判断该搜索结果是否就是自己想要的。可选地,在向搜索用户返回搜索结果时,将所述搜索结果按平均相似度排序。这样,搜索用户就可以首先检查最相似的搜索结果从而提高检查的效率。作为另一种替代方式,在向搜索用户返回搜索结果时,将该搜索结果的加权平均相似度返回给搜索用户,其中加权平均相似度为对于每一查询条件该搜索结果与该查询条件的相似度的按与该查询条件对应的权重的加权平均值。
仍以上面的例子举例。如果搜索用户给“病症=I型肺炎”这个查询条件指定了权重60%,给“年龄=25岁”整个查询条件指定了权重40%,加权平均相似度为10% X60%+20% X40%= 14%。可选地,可以在向搜索用户返回搜索结果时,将所述搜索结果按加权平均相似度排序。图4示出了通用搜索设备的框图。如背景技术所述,通用搜索设备采用如加密等的保密操作来进行保密搜索。搜索设备4包括加密环境402和搜索引擎401。加密环境402包括敏感信息存贮器403。搜索引擎401包括Top-k框架402、查询编译器413、集合运算器404。例如,某种类型的Top-k框架402接收搜索用户的包含若干查询条件的查询,并将查询条件送至查询编译器413以编译成SQL语句。查询编译器413以SQL语句向敏感信息存贮器403查询。由于搜索用户的查询中可能包含多个查询条件,因此需要集合运算器404把查询编译器413根据每个查询条件查得的搜索结果进行整合,并返回该种类型的Top-k框架402为搜索结果计算得分,并设置得分阈值。当得分超过该阈值的搜索结果不超过k个时,该种类型的Top-k框架402调整该阈值,直至得分超过该阈值的搜索结果超过k个,k是自然数。图5示出了本发明第一实施例的保密搜索设备的框图。保密搜索设备5包括搜索引擎401,被配置为接收来自搜索用户的搜索请求;以及搜索结果确定器501,被配置为基于保密策略确定返回给搜索用户的搜索结果。搜索引擎401还被配置为将搜索结果确定器确定的搜索结果返回搜索用户。可选地,搜索结果确定器501被配置为对搜索结果中元组的属性的值进行概括,作为返回给搜索用户的搜索结果。可选地,搜索结果确定器501被配置为基于私密度比率将搜索结果中的元组的属性的值改变为概括值,其中该属性的值是该概括值的子类,且根据该概括值发现原始元组的概率与根据该属性的值发现原始元组的概率之比小于或等于该私密度比率。搜索结果确定器501包括保密环境502。保密环境502包括敏感信息存贮器403、个性化隐私存贮器504、保密按属性分层统计管理器506、保密索引507、个性化概括处理器508。此外,搜索结果确定器501还包括非敏感概括数据存贮器505和按属性分层统计管理器 509。搜索引擎401包括查询编译器413、集合运算器404、按属性枚举器405和Top_k框架402。个性化隐私存贮器504、保密按属性分层统计管理器506、保密索引507、个性化概括处理器508、非敏感概括数据存贮器505、按属性分层统计管理器509、按属性枚举器405是实施例I特有的模块,其余的模块的功能基本上与现有技术的图4类似。个性化隐私存贮器504被配置为存储与敏感信息存贮器中的每一敏感数据对应的私密度比率。它可以遵循与敏感信息存贮器403相似的存储格式。例如,敏感信息存贮器403存储着以下内容
姓名性别年龄病症
张三男25I型肺炎李四女45肺气肿王五男472型肺炎赵六女67感冒相应地,个性化隐私存贮器504存储着每一项相应的私密度比率姓名性别私密度比率年龄私密度比率病症私密度比率
张三100%100%50%李四100%50%100%王五100%100%34%赵六100%34%100%保密按属性分层统计管理器506被配置为按属性的值统计该属性的值的覆盖范围,覆盖范围指敏感信息存贮器中有多少元组的该属性为该值或该值的子类。例如,对于“病症=肺炎”,统计出其覆盖范围为2。对于“病症=肺病”,统计出其覆盖范围为3。个性化概括处理器508被配置为预先按照敏感信息存贮器403中存储的敏感信息、个性化隐私存贮器504中存储的私密度比率、以及保密按属性分层统计管理器506统计出的各属性的值的覆盖范围,对敏感信息存贮器中的敏感信息进行概括,以使其符合个性化隐私存贮器存储的私密度比率,并将概括数据存储到非敏感概括数据存贮器505中。对于私密度比率为100%的数据,数据所有者是不要求保密的,因此可以直接拷贝到非敏感概括数据存贮器505中。对于私密度比率不是100%的敏感数据,要概括成概括数据。概括的方法如前所述。例如,对于张三的病症“I型肺炎”,张三希望的私密度比率是50%。因此,将其概括成“肺炎”。这样,根据概括数据“肺炎”发现该原始数据“I型肺炎”所属的特定元组的概率50%与根据原始数据“I型肺炎”发现该特定元组的概率100%之比50%小于或等于该私密度比率50%。这样,非敏感概括数据存贮器505存储的内容为
姓名性别年龄病症
张三男 25 肺炎李四女 41-50肺气肿王五男 47 肺病赵六女 41以上感冒保密索引507是可选部件,它可以加速个性化概括处理器508的概括的实现。有很多技术可实现保密索引,且由于它不是实现本发明必需的,故不赘述。按属性枚举器405根据按照非敏感概括数据存贮器存储的概括后的信息建立的属性树,枚举分层属性的值。例如,对于属性“年龄”,年龄的值“47”——“41-50”- “41以上”构成分层的树结构。按属性枚举器405就将“年龄=47”、“年龄=41-50”、“年龄=41以上”分别发至按属性分层统计管理器509。按属性分层统计管理器509被配置为统计按属性枚举器枚举的属性的值的覆盖范围,覆盖范围指非敏感概括数据存贮器中有多少元组的该属性为该值或该值的子类。在上面的例子中,响应于按属性枚举器405枚举的“年龄=47”、“年龄=41-50”、“年龄=41以上”,分别统计出覆盖范围为1、2、3。按属性枚举器405按照所述按属性分层统计管理器统计出的覆盖范围,计算搜索结果的平均相似度或加权平均相似度,并将其与搜索结果一同返回搜索用户。平均相似度和加权平均相似度的计算方法如前所述。可选地,将平均相似度或加权平均相似度与搜索结果一同返回搜索用户时将所述搜索结果按平均相似度或加权平均相似度排序。图5的其它部分与图4类似。上述第一实施例是一种静态方案,它适合于不经常更新的稳定数据集,因为该方案中的更新成本较大。具体地说,更新一条原始元组可能导致如下四方面的更新在敏感信息存贮器403中更新敏感元组;在保密按属性分层统计管理器506中更新统计结果;在非敏感概括数据存贮器505中更新非敏感数据,其中不仅需要更新与敏感信息存贮器403中更新的元组相应的元组,还要考虑由于保密按属性分层统计管理器506中的统计结果的变化导致非敏感概括数据存贮器505中的一些概括数据不能满足指定的私密度而必须进行的更新;按属性分层统计管理器509中的统计结果的更新。以插入一条原始元组为例。首先,要在敏感信息存贮器403中插入该原始元组。由于敏感信息存贮器403中存储的原始元组有变化,在保密按属性分层统计管理器506按属性统计出的覆盖范围也必然有变化。因此,保密按属性分层统计管理器506需要重新统计各相关属性的值的覆盖范围。然而,需要在非敏感概括数据存贮器505中更新非敏感数据。此时,需要在非敏感概括数据存贮器505中增加与敏感信息存贮器403中增加的元组相应的元组,其中在非敏感概括数据存贮器505中增加的元组中根据私密度比率用概括数据替代了原始敏感数据。另外,由于保密按属性分层统计管理器506统计出的各属性的值的覆盖范围已经发生了变化,非敏感概括数据存贮器505中的一些概括数据按照各属性的值的原来的覆盖范围能够满足私密度比率但按照各属性的值的新的覆盖范围已经不能满足私密度比率而需要被重新概括。此时,非敏感概括数据存贮器505中的大量概括数据都需重新更新。最后,由于非敏感概括数据存贮器505中的大量概括数据都需重新更新,导致按属性分层统计管理器509中也必须重新统计各属性的值的覆盖范围。因此,第一实施例的静态方案的更新成本较高。通常,可以采取阶段性更新,即当原始元组的更新积累到一定数目时进行一次上述的更新过程。保密索引507可用于保持更新状态。图6示出了本发明第二实施例的保密搜索设备的框图。与第一实施例不同,第二实施例是动态方案的实施例,它适用于经常变化的数据。与第一实施例维护数据的保密版本不同,在第二实施例中,查询是直接针对原始数据的,并且概括是同时作出的。图6的第二实施例与图5的第一实施例的不同之处在于,它取消了非敏感概括数据存贮器505,并用带有概括功能的保密元组访问器701代替了个性化概括处理器508。查询编译器413将搜索用户的查询编译成SQL语句后,直接发给带有概括功能的保密元组访问器701。带有概括功能的保密元组访问器701响应于每次查询,直接向敏感信息存贮器403查询原始敏感信息,然后按照敏感信息存贮器中存储的敏感信息、个性化隐私存贮器中存储的私密度比率、以及保密按属性分层统计管理器统计出的各属性的值的覆盖范围,将查询所对应的原始元组中的属性的值概括为概括值。概括的方法与图5中个性化概括处理器508所用的方法相同。可以看出,第二实施例中,概括不是事先作出的,而是由带有概括功能的保密元组访问器701响应于每次查询作出的。因此,对于更新来说,只存在在敏感信息存贮器403中更新敏感元组、在保密按属性分层统计管理器506中更新统计结果两方面的问题,不存在更新概括数据和在概括数据大量变化的情况下重新统计各属性的值的覆盖范围的问题,大大降低了更新的成本。它的问题是,对每次查询的响应较慢。它牺牲了搜索的效率以换取更新的成本,适用于快速变化的数据。因为对于经常变化的数据,如果象第一实施例那样间隔一段时间更新一次,为了避免统计数据的不准确性就需要以很短的时间间隔进行更新,更新的成本问题就显得尤为突出;对于不经常变化的数据,由于可以以很长的时间间隔来更新,更新的成本问题就不是一个突出的问题。图6中的按属性枚举器405根据搜索结果,枚举分层属性的值。例如,搜索用户查询“病症=I型肺炎”,搜索结果是“张三男25肺炎”,则按属性枚举器405枚举出“病症=肺炎”,发至按属性分层统计管理器509。按属性分层统计管理器509统计按属性枚举器枚举的属性的值的覆盖范围,覆盖范围指带有概括功能的保密元组访问器概括出的概括值的历史中有多少元组的该属性为该值或该值的子类。可以通过查询保密索引507来获得带有概括功能的保密元组访问器概括出的概括数据的历史。目前有多种已有技术能实现保密索引507。按属性枚举器405按照按属性分层统计管理器509统计出的覆盖范围,计算搜索结果的平均相似度或加权平均相似度,并将其与搜索结果一同返回搜索用户。可选地,将平均相似度或加权平均相似度与搜索结果一同返回搜索用户时将所述搜索结果按平均相似度或加权平均相似度排序。图6的其它部分与图5类似。在本发明的一个实施例中,还提供了一种计算机设备,包括如图5或图6所示的保密搜索设备。图7示出了根据本发明的一个实施例的方法的框图。在该实施例中,用于保密搜索的方法,包括在步骤S701中,接收来自搜索用户的搜索请求。在步骤S702中,基于保密策略确定返回给搜索用户的搜索结果。在步骤S703中,向搜索用户返回搜索结果。所属技术领域的技术人员知道,本发明可以体现为系统、方法或计算机程序产品。因此,本发明可以具体实现为以下形式,即,可以是完全的硬件、完全的软件(包括固件、驻留软件、微代码等)、或者本文一般称为“电路”、“模块”或“系统”的软件部分与硬件部分的组合。此外,本发明还可以采取体现在任何有形的表达介质(medium of expression)中的计算机程序产品的形式,该介质中包含计算机可用的程序码。可以使用一个或多个计算机可用的或计算机可读的介质的任何组合。计算机可用的或计算机可读的介质例如可以是——但不限于——电的、磁的、光的、电磁的、红外线的、或半导体的系统、装置、器件或传播介质。计算机可读介质的更具体的例子(非穷举的列表)包括以下有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如支持因特网或内部网的传输介质、或者磁存储器件。注意计算机可用的或计算机可读的介质甚至可以是上面印有程序的纸张或者其它合适的介质,这是因为,例如可以通过电扫描这种纸张或其它介质,以电子方式获得程序,然后以适当的方式加以编译、解释或处理,并且必要的话在计算机存储器中存储。在本文件的语境中,计算机可用的或计算机可读的介质可以是任何含有、存储、传达、传播、或传输供指令执行系统、装置或器件使用的或与指令执行系统、装置或器件相联系的程序的介质。计算机可用的介质可包括在基带中或者作为载波一部分传播的、由其体现计算机可用的程序码的数据信号。计算机可用的程序码可以用任何适当的介质传输,包括-但不限于-无线、电线、光缆、RF等等。用于执行本发明的操作的计算机程序码,可以以一种或多种程序设计语言的任何组合来编写,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++之类,还包括常规的过程式程序设计语言-诸如”C”程序设计语言或类似的程序设计语言。程序码可以完全地在用户的计算上执行、部分地在用户的计算机上执行、作为一个独立的软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何种类的网络一包括局域网(LAN)或广域网(WAN)-连接到用户的计算机,或者,可以(例如利用因特网服务提供商来通过因特网)连接到外部计算机。以下参照按照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。要明白的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得通过计算机或其它可编程数据处理装置执行的这些指令,产生实现流程图和/或框图中的方框中规定的功能/操作的装置。也可以把这些计算机程序指令存储在能指令计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令产生一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品。也可以把计算机程序指令加载到计算机或其它可编程数据处理装置上,使得在计算机或其它可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而在计算机或其它可编程装置上执行的指令就提供实现流程图和/或框图中的方框中规定的功能/操作的过程。附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本文中所用的术语,仅仅是为了描述特定的实施例,而不意图限定本发明。本文中所用的单数形式的“一”和“该”,旨在也包括复数形式,除非上下文中明确地另外指出。还要知道,“包含”一词在本说明书中使用时,说明存在所指出的特征、整体、步骤、操作、单元和/或组件,但是并不排除存在或增加一个或多个其它特征、整体、步骤、操作、单元和/或组件,以及/或者它们的组合。权利要求中的对应结构、材料、操作以及所有功能性限定的装置(means)或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它单元相组合地执行该功能的结构、材料或操作。所给出的对本发明的描述其目的在于示意和描述,并非是穷尽性的,也并非是要把本发明限定到所表述的形式。对于所属技术领域的普通技术人员来说,在不偏离本发明范围和精神的情况下,显然可以作出许多修改和变型。对实施例的选择和说明,是为了最好地解释本发明的原理和实际应用,使所属技术领域的普通技术人员能够明了,本发明可以有适合所要的特定用途的具有各种改变的各种实施方式。
1权利要求
1.一种用于保密搜索的方法,包括接收来自搜索用户的搜索请求;基于保密策略确定返回给搜索用户的搜索结果;及向搜索用户返回搜索结果。
2.根据权利要求I的方法,其中基于保密策略确定返回给搜索用户的搜索结果包括对搜索结果中元组的属性的值进行概括,作为返回给搜索用户的搜索结果。
3.根据权利要求2的方法,其中基于私密度比率对搜索结果中元组的属性的值进行概括。
4.根据权利要求3的方法,其中基于私密度比率将搜索结果中的元组的属性的值改变 >为概括值,其中该属性的值是该概括值的子类,且根据该概括值发现原始元组的概率与根据该属性的值发现原始元组的概率之比小于或等于该私密度比率。
5.根据权利要求1-4中任一个的方法,其中向搜索用户返回搜索结果的步骤包括将该搜索结果的平均相似度返回给搜索用户,其中平均相似度为对于每一查询条件该搜索结果与该查询条件的相似度的平均值。
6.根据权利要求5的方法,其中向搜索用户返回搜索结果的步骤包括将所述搜索结果按平均相似度排序。
7.根据权利要求1-4中任一个的方法,其中向搜索用户返回搜索结果的步骤包括将该搜索结果的加权平均相似度返回给搜索用户,其中加权平均相似度为对于每一查询条件该搜索结果与该查询条件的相似度的按与该查询条件对应的权重的加权平均值。
8.根据权利要求7的方法,其中向搜索用户返回搜索结果的步骤包括将所述搜索结果按加权平均相似度排序。
9.一种保密搜索设备,包括搜索引擎,被配置为接收来自搜索用户的搜索请求;以及搜索结果确定器,被配置为基于保密策略确定返回给搜索用户的搜索结果,其中搜索引擎还被配置为将搜索结果确定器确定的搜索结果返回搜索用户。
10.根据权利要求9的保密搜索设备,其中搜索结果确定器被配置为对搜索结果中元组的属性的值进行概括,作为返回给搜索用户的搜索结果。
11.根据权利要求10的保密搜索设备,其中搜索结果确定器被配置为基于私密度比率将搜索结果中的元组的属性的值改变为概括值,其中该属性的值是该概括值的子类,且根据该概括值发现原始元组的概率与根据该属性的值发现原始元组的概率之比小于或等于该私密度比率。
12.根据权利要求9-11中的任一个的保密搜索设备,其中搜索结果确定器包括个性化隐私存贮器,被配置为存储与敏感信息存贮器中的每一敏感数据对应的私密度比率;保密按属性分层统计管理器,被配置为按属性的值统计该属性的值的覆盖范围,覆盖范围指敏感信息存贮器中有多少元组的该属性为该值或该值的子类;个性化概括处理器,被配置为预先按照敏感信息存贮器中存储的敏感信息、个性化隐私存贮器中存储的私密度比率、以及保密按属性分层统计管理器统计出的各属性的值的覆盖范围,对敏感信息存贮器中的敏感信息进行概括,以使其符合个性化隐私存贮器存储的私密度比率;以及非敏感概括数据存贮器,被配置为存储个性化概括处理器概括成的信息。
13.根据权利要求12的保密搜索设备,其中所述搜索引擎包括按属性枚举器,被配置为根据按照非敏感概括数据存贮器存储的概括后的信息建立的属性树,枚举分层属性的值;所述搜索结果确定器包括按属性分层统计管理器,被配置为统计按属性枚举器枚举的属性的值的覆盖范围,覆盖范围指非敏感概括数据存贮器中有多少元组的该属性为该值或该值的子类,其中所述按属性枚举器按照所述按属性分层统计管理器统计出的覆盖范围,计算搜索结果的平均相似度或加权平均相似度,并将其与搜索结果一同返回搜索用户,其中平均相似度为对于每一查询条件该搜索结果与该查询条件的相似度的平均值;加权平均相似度为对于每一查询条件该搜索结果与该查询条件的相似度的按与该查询条件对应的权重的加权平均值。
14.根据权利要求9-11中任一个的保密搜索设备,其中搜索结果确定器包括个性化隐私存贮器,被配置为存储与敏感信息存贮器中的每一敏感数据对应的私密度比率;保密按属性分层统计管理器,被配置为按属性的值统计该属性的值的覆盖范围,覆盖范围指敏感信息存贮器中有多少元组的该属性为该值或该值的子类;带有概括功能的保密元组访问器,被配置为响应于每次查询,按照敏感信息存贮器中存储的敏感信息、个性化隐私存贮器中存储的私密度比率、以及保密按属性分层统计管理器统计出的各属性的值的覆盖范围,将查询所对应的原始元组中的属性的值概括为概括值。
15.根据权利要求14的保密搜索设备,其中所述搜索引擎包括按属性枚举器,被配置为根据搜索结果,枚举分层属性的值;所述搜索结果确定器包括按属性分层统计管理器,被配置为统计按属性枚举器枚举的属性的值的覆盖范围,覆盖范围指带有概括功能的保密元组访问器概括出的概括值的历史中有多少元组的该属性为该值或该值的子类,其中所述按属性枚举器按照所述按属性分层统计管理器统计出的覆盖范围,计算搜索结果的平均相似度或加权平均相似度,并将其与搜索结果一同返回搜索用户。
16.根据权利要求13或15的保密搜索设备,其中将平均相似度或加权平均相似度与搜索结果一同返回搜索用户时将所述搜索结果按平均相似度或加权平均相似度排序。
17.一种计算机设备,包括根据权利要求9-16中的任一个的保密搜索设备。
全文摘要
本发明提供了用于保密搜索的方法、保密搜索设备、计算机设备。在一个实施例中,一种用于保密搜索的方法包括接收来自搜索用户的搜索请求;基于保密策略确定返回给搜索用户的搜索结果;及向搜索用户返回搜索结果。本发明的一个实施例解决的一个问题是,在保密用户隐私的同时在更大程度上共享用户信息。
文档编号G06F17/30GK102955824SQ20111025346
公开日2013年3月6日 申请日期2011年8月31日 优先权日2011年8月31日
发明者乌辰洋, 曹锋 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1