用于删除所请求信息的方法和系统转让专利

申请号 : CN201580006318.3

文献号 : CN105940412B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 乔安妮·西本马修·托马斯·哈伦阿尔吉斯·普拉纳斯·鲁迪什

申请人 : 谷歌有限责任公司

摘要 :

一种删除日志记录的方法可以包括识别在一个时间段期间所生成的多个日志记录,针对每个所识别的日志记录确定是否已经作出了与所述日志记录相关联的删除请求,并且响应于确定还没有接收到删除请求而识别与所述日志记录相关联的唯一标识符,对用户活动表搜索具有与所述唯一标识符相关联的键表索引的条目,其中所述条目与时间戳相关联,使用所述键表索引和所述时间戳从键表识别与所述唯一标识符和时间戳相关联的键,利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值,并且将所述经加密的值作为与所识别的日志记录相关联的条目存储在所述日志记录数据库中。

权利要求 :

1.一种删除日志记录的方法,所述方法包括:由计算设备从日志记录数据库识别在一个时间段期间所生成的多个日志记录,其中每个日志记录都与用户活动相对应;

针对每个所识别的日志记录:

由所述计算设备确定是否已经作出了与所述日志记录相关联的删除请求,以及响应于确定还没有接收到删除请求:识别与所述日志记录相关联的唯一标识符,对用户活动表搜索具有与所述唯一标识符相关联的键表索引的条目,其中所述条目与时间戳相关联,使用所述键表索引和所述时间戳从键表识别与所述唯一标识符和所述时间戳相关联的键,由所述计算设备利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值,以及将所述经加密的值作为与所识别的日志记录相关联的条目存储在所述日志记录数据库中,接收第二删除请求,其中所述第二删除请求指示来自所述多个日志记录的一个日志记录要被删除;

识别与所述日志记录相关联的唯一标识符和时间戳;

对所述用户活动表搜索与所要删除的日志记录的所述唯一标识符相关联的键表索引;

使用所述键表索引来识别所述键表中与所述日志记录的所述时间戳相对应的条目;以及从所述键表中删除与所识别的条目相关联的键。

2.根据权利要求1所述的方法,其中,识别在一个时间段期间所生成的多个日志记录包括:识别在分析间隔结束之后但是在完成时间段结束之前所生成的多个日志记录。

3.根据权利要求1所述的方法,其中,利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值包括对以下中的一个或多个进行加密:所述唯一标识符,以及

所述用户活动。

4.根据权利要求1所述的方法,其中,删除所述键包括:识别从所识别的条目指向所述键表中的之前条目的第一反向指针;

识别从所述键表中的后续条目指向所识别的条目的第二反向指针;

删除所述第一反向指针;以及

对所述第二反向指针进行调节以使得所述第二反向指针指向所述键表中的所述之前条目。

5.根据权利要求1所述的方法,其中,所述第二删除请求包括以下中的一个或多个:删除某个web活动动作的请求;以及

删除用户账户的请求。

6.根据权利要求1所述的方法,进一步包括:接收第三删除请求,其中所述第三删除请求指示要被删除的多个日志记录;

针对所述要被删除的多个日志记录中的每一个:识别与所述要被删除的日志记录相关联的唯一标识符和时间戳,对所述用户活动表搜索具有与所述要被删除的记录的所述唯一标识符相关联的键表索引的条目,使用与所述条目相关联的键表索引来识别所述键表中和与所述日志记录相关联的时间戳相对应的条目,以及从所述键表删除与所识别的条目相关联的键。

7.根据权利要求6所述的方法,其中,删除所述键包括:识别从所识别的条目指向所述键表中的之前条目的第一反向指针;

识别从所述键表中的后续条目指向所识别的条目的第二反向指针;

删除所述第一反向指针;以及

对所述第二反向指针进行调节以使得所述第二反向指针指向所述键表中的所述之前条目。

8.根据权利要求1所述的方法,进一步包括针对所述用户活动表中的每个条目:生成与所述条目相关联的键值索引,其中所述键表索引与键表中的条目相对应;

生成与所述条目相关联的随机键;

将所述随机键以所述键表索引存储在所述键表中;

确定所述条目是否包括删除请求;以及

响应于确定所述条目包括删除请求,将所述删除请求以及与所述删除请求相关联的日志记录的时间戳添加至删除列表。

9.根据权利要求8所述的方法,其中,确定是否已经作出与所述日志记录相关联的删除请求包括确定所述删除请求是否存在于所述删除列表上。

10.一种删除日志记录的系统,所述系统包括:计算设备;以及

与所述计算设备进行通信的计算机可读存储介质,其中所述计算机可读存储介质包括一个或多个编程指令,所述编程指令在被执行时使得所述计算设备:识别在一个时间段期间所生成的多个日志记录,其中每个日志记录都与用户活动相对应;

针对每个所识别的日志记录:

确定是否已经作出了与所述日志记录相关联的删除请求,响应于确定还没有接收到删除请求:

识别与所述日志记录相关联的唯一标识符,对用户活动表搜索具有与所述唯一标识符相关联的键表索引的条目,其中所述条目与时间戳相关联,使用所述键表索引和所述时间戳从键表识别与所述唯一标识符和所述时间戳相关联的键,由所述计算设备利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值,以及将所述经加密的值作为与所识别的日志记录相关联的条目存储在所述日志记录数据库中,接收第二删除请求,其中所述第二删除请求指示来自所述多个日志记录的一个日志记录要被删除;

识别与所述日志记录相关联的唯一标识符和时间戳;

对所述用户活动表搜索与要被删除的日志记录的所述唯一标识符相关联的键表索引;

使用所述键表索引来识别所述键表中与所述日志记录的所述时间戳相对应的条目;以及从所述键表中删除与所识别的条目相关联的键。

11.根据权利要求10所述的系统,其中,在被执行时使得所述计算设备识别在一个时间段期间所生成的多个日志记录的所述一个或多个编程指令包括:在被执行时使得所述计算设备识别在分析间隔结束之后但是在完成时间段结束之前所生成的多个日志记录的一个或多个编程指令。

12.根据权利要求10所述的系统,其中,在被执行时使得所述计算设备利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值的所述一个或多个编程指令包括在被执行时使得所述计算设备对以下中的一个或多个进行加密的一个或多个编程指令:所述唯一标识符,以及

所述用户活动。

13.根据权利要求10所述的系统,其中,在被执行时使得所述计算设备删除所述键的所述一个或多个编程指令包括在被执行时使得所述计算设备进行以下的一个或多个编程指令:识别从所识别的条目指向所述键表中的之前条目的第一反向指针;

识别从所述键表中的后续条目指向所识别的条目的第二反向指针;

删除所述第一反向指针;以及

对所述第二反向指针进行调节以使得所述第二反向指针指向所述键表中的所述之前条目。

14.根据权利要求10所述的系统,其中,所述第二删除请求包括以下中的一个或多个:删除某个web活动动作的请求;以及

删除用户账户的请求。

15.根据权利要求10所述的系统,其中,所述计算机可读存储介质进一步包括一个或多个编程指令,所述编程指令在被执行时使得所述计算设备:接收第三删除请求,其中所述第三删除请求指示要被删除的多个日志记录;

针对所述要被删除的多个日志记录中的每一个:识别与所述要被删除的日志记录相关联的唯一标识符和时间戳,对所述用户活动表搜索具有与所述唯一标识符相关联的键表索引的条目,使用所述键表索引来识别所述键表中和与所述要被删除的日志记录相关联的时间戳相对应的条目,以及从所述键表删除与所识别的条目相关联的键。

16.根据权利要求15所述的系统,其中,在被执行时使得所述计算设备删除所述键的所述一个或多个编程指令包括在被执行时使得所述计算设备进行以下的一个或多个编程指令:识别从所识别的条目指向所述键表中的之前条目的第一反向指针;

识别从所述键表中的后续条目指向所识别的条目的第二反向指针;

删除所述第一反向指针;以及

对所述第二反向指针进行调节以使得所述第二反向指针指向所述键表中的所述之前条目。

17.根据权利要求10所述的系统,其中,所述计算机可读存储介质进一步包括一个或多个编程指令,所述编程指令在被执行时使得所述计算设备针对所述用户活动表中的每个条目:生成与所述条目相关联的键表索引,其中所述键表索引与键表中的条目相对应;

生成与所述条目相关联的随机键;

将所述随机键以所述键表索引存储在所述键表中;

确定所述条目是否包括删除请求;以及

响应于确定所述条目包括删除请求,将所述删除请求以及与所述删除请求相关联的日志记录的时间戳添加至删除列表。

18.根据权利要求17所述的系统,其中,在被执行时使得所述计算设备确定是否已经作出了与所述日志记录相关联的删除请求的所述一个或多个编程指令包括在被执行时使得所述计算设备确定所述删除请求是否存在于所述删除列表上的一个或多个编程指令。

说明书 :

用于删除所请求信息的方法和系统

[0001] 相关申请的交叉引用
[0002] 本申请要求于2014年2月6日所提交的题为“Methods and Systems for Deleting Requested Information”的美国专利申请序列号14/173931的优先权。所述优先权申请的公开的全部内容通过引用合并于此。

背景技术

[0003] 社交媒体、移动设备和个人助理型服务越来越多的使用已经使得在日志数据中保留用户匿名性更为复杂。随着日志的累加,删除管道被呈现以不断扩展的数据语料库。数据可能需要在依照用户所请求的删除或其它规则的某个时间段内进行处理和/或删除,这进一步使得删除过程复杂化。

发明内容

[0004] 本公开并不局限于所描述的特定系统、方法论或协议,因为它们可能有所变化。该描述中所使用的术语仅是出于描述特定版本或实施例的目的,而并非意在对范围进行限制。
[0005] 如本文档中所使用的,除非上下文以其它方式明确指出,否则单数形式“一个”(“a”、“an”和“the”)包括复数引用。除非以其它方式有所定义,否则这里所使用的技术和科学术语都具有如本领域技术人员所普遍理解的相同含义。本文中所提到的所有公开文本都通过引用而被合并。本文中所列举的所有大小都仅是通过示例形式,并且本发明不局限于具有以下所列举的具体大小或尺寸。如这里所使用的,术语“包括”意味着“包括但不限于”。
[0006] 在实施例中,一种删除日志记录的方法可以包括由计算设备从日志记录数据库识别在一个时间段期间所生成的多个日志记录。每个日志记录可以与用户活动相对应。所述方法可以包括针对每个所识别的日志记录,由所述计算设备确定是否已经作出了与所述日志记录相关联的删除请求,以及响应于确定还没有接收到删除请求而识别与所述日志记录相关联的唯一标识符,对用户活动表搜索具有与所述唯一标识符相关联的键表索引的条目,其中所述条目与时间戳相关联,使用所述键表索引和所述时间戳从键表识别与所述唯一标识符和所述时间戳相关联的键,由所述计算设备利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值,以及将所述经加密的值作为与所识别的日志记录相关联的条目存储在日志记录数据库中。
[0007] 在实施例中,一种删除日志记录的系统可以包括计算设备以及与所述计算设备进行通信的计算机可读存储介质。所述计算机可读存储介质可以包括一个或多个编程指令,所述指令在被执行时使得所述计算设备识别在一个时间段期间所生成的多个日志记录。每个日志记录可以与用户活动相对应。所述计算机可读存储介质可以包括一个或多个编程指令,上述指令在被执行时使得所述计算设备针对每个所识别的日志记录确定是否已经作出了与所述日志记录相关联的删除请求,响应于确定还没有接收到删除请求而识别与所述日志记录相关联的唯一标识符,对用户活动表搜索具有与所述唯一标识符相关联的键表索引的条目,其中所述条目与时间戳相关联,使用所述键表索引和所述时间戳从键表识别与所述唯一标识符和时间戳相关联的键,由所述计算设备利用所识别的键对所述日志记录的至少一部分进行加密以生成经加密的值,以及将所述经加密的值作为与所识别的日志记录相关联的条目存储在所述日志记录数据库中。

附图说明

[0008] 图1图示了根据实施例的删除请求的示例时间线。
[0009] 图2图示了根据实施例的示例删除系统的框图。
[0010] 图3图示了根据实施例的删除用户数据的示例方法的流程图。
[0011] 图4图示了根据实施例的生成一个或多个键并且创建删除列表的示例方法的流程图。
[0012] 图5图示了根据实施例的删除日志记录的示例方法的流程图。
[0013] 图6图示了根据实施例的擦除一个或多个日志记录的示例方法的流程图。
[0014] 图7图示了根据实施例的可以被用来包含或实现程序指令的示例硬件的框图。
[0015] 图8图示了根据实施例的示例键表。

附图说明

[0016] 出于本申请的目的,以下术语应当具有以下所给出的相应含义:
[0017] “计算设备”是指包括处理器和有形的计算机可读存储器的设备。该存储器可以包含编程指令,所述编程指令在被该处理器所执行时使得该计算设备根据该编程指令实施一种或多种操作。计算设备的示例包括个人计算机、服务器、大型机、游戏系统、电视,以及诸如智能电话、个人数字助理、相机、平板计算机、膝上型计算机、媒体播放器等的便携式电子设备。当在权利要求中使用时,针对“计算设备”的引用可以包括单个设备,或者其可以指代具有互相通信并且共享数据和/或指令以执行所要求保护的步骤的一个或多个处理器的任意数量的设备。
[0018] “日志记录”是指与一种或多种用户活动相关的信息。日志记录可以是电子记录或文件。
[0019] “服务提供者”是指在一种或多种电子服务的提供者。示例服务提供者可以包括但不局限于社交网络服务提供者、电子邮件服务提供者、搜索引擎服务提供者,等等。
[0020] “用户数据”是指与用户、与服务有关的用户的动作或活动、用户账户等相关联的数据或信息。
[0021] “用户标识符”可以是与服务的用户相关联的唯一标识符。
[0022] 服务提供者可以从用户接收删除该用户的用户数据中的至少一部分的请求。该服务提供者可以具有任何用户所请求的删除请求都可以在相对于用户删除请求(dr)的某个时间段(t)内完全被履行的规则。这样,与删除请求有关的日志记录必须在该请求的t日之内被删除。此外,为了允许支持例如质量和欺诈预防的分析间隔(i),服务提供者的规则可以指定删除过程无法删除与活动(a)相关联的日志记录直至它们已经存活至少i日。这样,该删除过程必须确保针对每项活动a,相关联的日志记录都将在不早于dr+i且不晚于dr+t时被删除。图1图示了根据实施例的删除请求的示例时间线。
[0023] 图2图示了根据实施例的示例删除系统的框图。如图2所示,系统200可以包括键表202、用户活动表204、删除管道206以及一个或多个日志记录208。键表202可以是被配置为存储与一个或多个用户标识符相关联的一个或多个键的数据结构。
[0024] 在实施例中,键表202可以是平直的单向链接的表,其被顺序索引并且包含键字段。键可以不是唯一的或者被始终绑定至特定用户标识符,而是可以被随机生成。在实施例中,键表202可以包括与删除管道的特定运行相对应的代编号(generation number)。例如,虽然在本公开中被称作键表,但诸如数据库、阵列等的替选类型的数据结构也可以在本公开的范围内被加以使用。
[0025] 用户活动表204可以是被配置为存储通过用户标识符设键的一个或多个用户活动的数据结构。在实施例中,用户活动表204可以存储由一个或多个用户所作出的删除请求。在实施例中,诸如,用户活动表204的一个或多个条目可以与时间戳相关联,例如代(generation)编号。
[0026] 在实施例中,删除管道206可以是从用户活动表204获得一个或多个删除请求并且将它们应用于日志记录208的过程。日志记录可以是被配置为存储与同用户账户或服务提供者的服务相关的一个或多个用户活动有关的信息的表、数据库、阵列等。在实施例中,日志记录可以存储用户标识符、时间戳或活动何时发生的其它指示,等等。
[0027] 在某些实施例中,键表、用户活动表以及一个或多个日志记录可以被存储在与一个或多个计算设备相关联的存储器中。在实施例中,键表、用户活动表和日志记录可以被存储在与相同计算设备相关联的存储器中。替选地,键表、用户活动表和日志记录可以被存储在与经由一个或多个通信网络互相通信的不同计算设备相关联的存储器中。通信网络可以是局域网(LAN)、广域网(WAN)、移动或蜂窝通信网络、外联网、内联网、互联网等。
[0028] 类似地,删除管道可以由与键表、用户活动表和/或日志记录相关联的计算设备来运行。替选地,删除管道可以利用独立于与键表、用户活动表和/或日志记录相关联的计算设备的计算设备来运行。
[0029] 图3图示了根据实施例的删除用户数据的示例方法的流程图。如图3所示,删除请求可以被接收300。可以从用户接收300删除请求,并且可以涉及到与服务或服务提供者有关的一个或多个用户活动。例如,用户可以请求将该用户所执行的查询由搜索引擎删除。作为另一个示例,用户可以请求将针对搜索引擎的该用户的整个搜索历史都删除。作为其他示例,删除请求可以包括请求将与用户账户相关联的信息删除,或者将整个用户账户删除。如果服务提供者是电子邮件提供者,则删除请求可以请求将一个或多个电子邮件消息删除。在本公开的范围内可以使用附加和/或替选的删除请求。
[0030] 所接收的删除请求可以连同与作出该请求的用户相关联的用户标识符一起被存储在用户活动表中。用户活动表可以与时间戳相关联。例如,参考图2,用户活动表包括在6月与User-id B相关联的条目210,其与请求对活动B的删除的删除请求相关联。
[0031] 返回参考图3,完成时间可以被识别302。完成时间t可以是服务提供者在其间为用户完成删除请求的时间段。例如,如果t=60天,则与删除请求相关联的数据必须在自作出该删除请求的日期起不超过60天内被删除。
[0032] 在实施例中,分析间隔时间i可以被识别304。分析间隔时间可以指示一个或多个日志记录在接收到删除请求之后要在其间被保留的时间段。例如,服务提供者可能具有与删除请求相关联的一个或多个日志记录在接收到删除请求之后要被保留至少30天的规则。这样,分析间隔时间可以是在接收到删除请求之后的30天。
[0033] 作为示例,分析间隔可以是30天,完成时间可以是60天,并且删除管道可以在7月1日运行。这样,在6月1日针对其作出删除请求的日志记录必须在不晚于8月1日的时候被删除。分析间隔也可以被履行,从而在7月1日开始删除管道对于影响日期为6月30日或更早的日志的每个删除请求都允许30天的从错误恢复的时间。在实施例中,该分析间隔中的每天仅可以对日志中的一天进行处理。例如,该系统可以在7月1日对日期为6月1日的日志进行处理,可以在7月2日对日期为6月2日的日志进行处理,等等。
[0034] 在实施例中,如果在删除过程期间发生错误,则该过程可以通过在单日处理相当于多日的日志记录来赶上日志记录。例如,可以在7月15日对来自6月12、13、14和15日的日志记录进行处理。
[0035] 图4图示了根据实施例的生成一个或多个键并且创建删除列表的示例方法的流程图。在实施例中,可以针对用户活动表中的每个条目生成索引。每个索引可以具有唯一值,并且可以与键表中的条目相对应。索引可以具有可使用递增计数器所生成的数字值。图2中所图示的用户活动表204示出了表中的两行在三个月(6月、7月和8月)周期内的快照。如图2所示,每一行或每个条目与索引值以及相对应的时间戳(例如,6月、7月和8月)相关联。例如,在6月与User-id B相关联的表条目210与索引“1”相对应,而在8月与User-id B相关联的更新表条目212则与索引“3477”相对应。
[0036] 在实施例中,用户活动表中的条目可以被识别400。可以确定402所识别的条目是否已经与键表索引值相关联。如果用户活动表中的条目已经与键表索引值相关联,则当前的索引值可以被存储404并且被识别为之前索引的值。例如,键表索引值可以被存储404在被称为“prev-index”的临时变量中。可以针对条目生成406新的键表索引值,并且新的键表索引值可以被存储408在用户活动表中从而使得其与该条目相关联。在实施例中,新的键表索引值可以替代之前的索引值而被存储408在用户活动表中。
[0037] 如果条目还未与键表索引值相关联,则可以针对该条目生成新的键表索引值,并且该新的键表索引值可以被存储408在用户活动表中而使得其与该条目相关联。
[0038] 在实施例中,可以针对用户活动表中的条目生成410生成随机键并且将其存储412在键表中,从而使得其与用户活动表的相关联键表索引相对应。例如,在6月与User-id B相关联的用户活动表条目210与索引“1”相对应。如图2所示,可以针对用户活动表条目210生成410随机键Key B并且将其存储412在键表中从而使得其与索引“1”相对应。
[0039] 在实施例中,诸如,键表还存储与一个或多个用户活动表条目相关联的时间戳,例如,代编号。例如,代编号可以是指与用户活动表中的条目相关联的时间戳,诸如一天、一周、一个月等。在实施例中,代编号可以与在其间作出相对应的删除请求的时间段相对应。例如,图2中所示的代编号表示月份,其中g0表示6月、g1表示7月、且g2表示8月。这样,与User-id A和g0相关联的删除请求是由与标识符User-id A相关联的用户在6月所作出的删除请求。
[0040] 在实施例中,键表中的一个或多个条目可以包括反向指针。反向指针可以是针对键表中的一个或多个其它条目的引用。例如,指针可以是其值引用键表中的另一个条目的索引的数据类型。反向指针可以引用键表中的一个条目。当键表中的条目被删除时,相对应的反向指针可以被调节为指向不同的条目。在实施例中,针对条目所存储的之前索引值可以作为指向相关联用户的之前代键的反向指针而被存储在键表中。
[0041] 在实施例中,反向指针可以从键表中的某个条目指向键表中与相同用户标识符相关联的之前条目。在实施例中,反向指针可以指向键表中与相同用户标识符相关联的下一个最近的条目。例如,参考图2,键表中与索引值543相关联的条目214可以包括反向指针,所述反向指针指向该键表中与索引值0相关联的条目216,因为这是该键表中与相同用户标识符User-id A相关联的下一个最近的条目。如果键表中不存在与该用户标识符相对应的之前条目,则条目可以不包括反向指针,原因在于该条目可以被认为是与该用户标识符相关联的最早的条目。
[0042] 可以确定414所识别的条目是否包括自之前一代起所作出的删除请求。例如,删除管道可以确定414所识别的条目是否包括删除请求。如果包括,则删除管道可以确定416与该删除请求相关联的时间戳是否使得最后一代或删除管道的分析有所延迟。如果是,则删除管道可以将该删除请求和与条目相关联的键表索引存储在删除列表中。删除列表可以是按时间排序的删除请求的列表。在实施例中,删除列表可以从最早的请求向最新的请求进行排序。在实施例中,例如,删除列表可以是任意适当的数据结构,诸如表、图表、数据库、列表等。
[0043] 在实施例中,图4的步骤中的一个或多个步骤可以针对用户活动表的一个或多个条目进行重复。例如,图4的步骤中的每个步骤可以对用户活动表中的每个条目进行重复直至所有条目都已经被考虑为止。
[0044] 图5图示了根据实施例的删除一个或多个日志记录的示例方法的流程图。如图5所示,可以识别500完成时间段。完成时间段可以是相对于用户删除请求的要在其间履行该删除请求的某段时间。例如,返回参考图1,dr和t之间的时间段可以被认为是完成时间段。
[0045] 在实施例中,可以识别502分析间隔。分析间隔可以是无法在其之前处理删除请求的时间段。例如,参考图1,dr和i之间的时间段可以被认为是分析间隔。
[0046] 删除管道可以识别504删除列表中的条目。可以确定506与所识别的条目相关联的日志记录是否比所识别的完成时间段更早。例如,如果完成时间段为六十天,则删除管道可以确定日志记录是否已经被创建超过六十天。
[0047] 如果确定506日志记录早于完成时间段,则删除管道可以使用来自删除列表的相关联键表索引来识别508与该日志记录相关联的代编号。删除管道可以使用相关联的键表索引来识别510相对应的键表条目。删除管道可以确定512所识别的键表条目是否与所识别的代编号相对应。如果是,则删除管道可以删除514键表中的条目,并且可以在必要的情况下对反向指针进行调节516。
[0048] 在实施例中,如果所识别的键表条目并不与所识别的代编号相对应,则删除管道可以遍历518一个或多个反向指针直至其定位到键表中与所识别的代编号相对应的条目。删除管道可以删除514键表中的条目,并且可以在必要的情况下对反向指针进行调节516。
[0049] 例如,与用户活动表中的条目218相关联的用户活动可以被删除,并且该条目可以早于分析间隔时间。删除管道可以在用户活动表中查找其索引“544”,并且可以使用该索引来定位键表中相对应的键(例如,Key B)。删除管道可以删除键表中与该条目相关联的Key B,并且可以对反向指针进行调节而使得该用户标识符的后续条目222指回到该用户标识符的之前条目224。图8图示了根据实施例的已经从键表中删除了与条目220相关联的键之后的示例键表。
[0050] 图6图示了根据实施例的擦除一个或多个日志记录的示例方法的流程图。如图6所示,可以识别600擦除窗口。擦除窗口可以是在分析间隔完成之后但是在完成时间段完成之前出现的时间段。例如,如果完成时间段是自删除请求起的六十天,并且分析间隔是自删除请求起的三十天,则擦除窗口可以包括被该删除请求所影响并且存活多于三十天但是少于或等于六十天的一个或多个记录。
[0051] 在实施例中,可以识别602在该擦除窗口内所创建的一个或多个日志记录。针对每个所识别的日志记录,可以确定604该日志记录是否要被删除。例如,可以确定所识别的日志记录是否被包括在删除列表上。如果是,则可以确定604该日志记录要被删除。如果否,则可以确定604该日志记录并非要被删除。
[0052] 如果日志记录要被删除,则删除管道可以物理擦除606该日志记录。如果日志记录并非要被删除,则删除管道可以查找608用户活动表中与该日志记录相关联的用户标识符,并且使用所存储的索引从键表检索610相关联的键。例如,参考图2,系统可以确定日志记录208a并非要被删除。删除管道可以使用该日志记录的用户标识符(User A)和代编号(g0)来检索用户活动表中的相对应索引(例如,“0”)。
[0053] 删除管道可以使用该索引从键表检索610相对应的键。例如,使用以上示例,删除管道可以使用索引“0”从键表检索610键Key A。删除管道可以使用所检索到的键对该日志记录的至少一部分进行加密612,并且可以将经加密的值和索引值写入614日志记录。在各个实施例中,例如,可以被存储在日志记录中的其它数据可以使用所检索到的键进行加密,诸如用户标识符。在实施例中,该内容可以不包括索引或代编号,因为该数据可能不被包括在加密过程之中。在实施例中,处理速度可以至少部分基于被加密的日志记录内容的量。
[0054] 在实施例中,如果删除管道针对多个删除而处理请求,则该删除管道可以在需要的情况下遵循反向指针,重新链接条目并且擦去多个键。
[0055] 本文中所描述的删除用户数据的方法关于用户隐私提供了多重保障。首先,删除管道可以仅仅是具有对键表的访问的系统组件。这使得对键和用户数据的访问最小化。第二,在该系统中,用户标识符并未随其键一起进行存储。相反,指向键表的索引被存储在日志记录、用户活动表等中。第三,一旦键从键表中被删除,与相对应键表条目相关联的日志数据就无法被获知。并且最后,即使键表稍有折衷,所删除记录的用户标识符也无法被推断,因为所删除记录的键表条目并没有指向该用户标识符的其它键的反向指针。
[0056] 在这里所描述的系统收集与用户有关的个人信息或者可以对个人信息加以使用的情况下,用户可以被提供以控制程序或特征是否收集用户信息,或者对是否可以和/或可以如何从内容分享平台接收可能与用户更为相关的内容进行控制的机会。此外,某些数据可以在其被存储或使用之前以一种或多种方式被加以处理,而使得个人可识别信息得以被移除。例如,用户的身份可以被处理而使得无法针对用户确定个人可识别信息,或者可以在获得位置信息的情况下对用户的地理位置进行泛化处理(诸如处理为城市、ZIP码或州级别)而使得无法确定用户的特定位置。因此,用户可以对系统如何收集和/或存储使用与用户有关的信息加以控制。
[0057] 图7描绘了可以被用来包含或实现程序指令的硬件的框图。总线700作为对其它所图示的硬件组件进行互连的主要信息高速公路。CPU705是系统的中央处理单元,其运行执行程序所需的计算和逻辑操作。CPU 705单独或结合图7中所公开的其它元件中的一个或多个是如本公开中所使用的这样的术语的计算机、计算设备或处理器。只读存储器(ROM)710和随机存取存储器(RAM)715构成非暂时性计算机可读存储介质的示例。
[0058] 控制器720针对系统总线700而与一个或多个光学非暂时性计算机可读存储介质725进行接口连接。例如,这些存储介质725可以包括外部或内部DVD驱动、CD ROM驱动、硬盘驱动、闪速存储器、USB驱动等。如之前所指出的,这些各种驱动和控制器都是可选设备。
[0059] 用于提供接口并且执行与一个或多个数据集相关联的任意查询或分析的程序指令、软件或交互式模块可以被存储在ROM 710和/或RAM715中。可选地,程序指令可以被存储在有形的非暂时性计算机可读介质上,诸如紧凑盘、光盘、闪速存储器、存储器卡、USB驱动、光盘存储介质和/或其它记录介质。
[0060] 可选显示接口730可以许可来自总线700的信息以音频、视觉、图形或字母数字的格式在显示器735上进行显示。与诸如打印设备的外部设备的通信可以使用各种通信端口740来进行。通信端口740可以被附连至诸如互联网或内联网的通信网络。
[0061] 硬件还可以包括允许从诸如键盘750的输入设备或诸如鼠标、操纵杆、触摸屏、远程控制、指针设备、视频输入设备和/或音频输入设备的其它输入设备755来接收数据的接口745。
[0062] 应理解,以上所公开的各种以及其它的特征和功能或者它们的替选形式可以按照期望而被组合为许多其它不同的系统或应用或者系统和应用的组合形式。而且,各种目前所无法预见或无法预测的其替换、修改、变化或改进可能在后续由本领域技术人员所作出,它们同样旨在被以下权利要求所包含。