一种估计数据对象可删除性的方法与流程

文档序号:19667810发布日期:2020-01-10 21:57阅读:241来源:国知局
一种估计数据对象可删除性的方法与流程

本发明涉及数字计算机系统领域,并且更具体地,涉及一种处理一个或多个用户的数据对象集合的方法。



背景技术:

公司积累了大量的数据对象。希望以合理,可解释的方式处理与业务、法律或任何其他重要目的不再相关的那些对象。或者,可以保留本地使用社区的数据对象,例如某些法律文件。当今企业中大多数通常可访问的文档都受制于或多或少严格的自上而下的保留方案,例如执行、控制和评估,通常需要大量的人力和基础结构资源。



技术实现要素:

本发明的实施例公开了一种用于处理存储在计算机系统中的一个或多个用户的数据对象集合的方法、计算机系统和计算机程序产品。本发明可以包括提供数据对象集合的数据对象特性和数据对象集合的用户的用户特性。本发明还包括为数据对象集合中的每个数据对象确定组合特性,包括数据对象的数据对象特性和数据对象的用户的用户特性的至少一部分。本发明然后包括确定数据对象集合的时间依赖特性,其中数据对象的时间依赖特性包括具有时间值的数据对象和数据对象的用户特性。本发明可进一步包括定义至少两个度量,其中度量的第一度量表示数据对象的集群的可删除性和第二度量表示集群的质量,其中第一度量使用集群的数据对象的时间依赖特性确定。本发明还可包括将组合特性集合的至少一部分输入到聚类算法。本发明然后可包括使用聚类算法以基于度量的值来对数据对象进行聚类并且识别数据对象的最佳可删除集群;使用最佳可删除集群来确定数据对象集合中的数据对象是否可删除。

各种实施例提供了一种如独立权利要求的主题所描述的处理一个或多个用户的数据对象集合的方法、计算机系统和计算机程序产品。在从属权利要求中描述了有利的实施例。如果本发明的实施例不是相互排斥的,则它们可以彼此自由地组合。在一个方面,本发明涉及一种处理存储在计算机系统中的一个或多个用户的数据对象集合的方法。在另一方面,本发明涉及一种计算机程序产品,其包括具有体现其中的计算机可读程序代码的计算机可读存储介质,计算机可读程序代码被配置为实现根据前述实施例的方法的所有步骤。在另一方面,本发明涉及一种处理存储在计算机系统中的一个或多个用户的数据对象集合的计算机系统。

附图说明

通过结合附图阅读以下对本发明的说明性实施例的详细描述,本发明的这些和其它特征和优点将变得显而易见。附图的各种特征不是按比例绘制的,因为为了清楚起见,图示是为了帮助本领域技术人员结合详细描述理解本发明。通过示例,参考附图更详细地解释本发明的以下实施例,其中:

图1示出了计算机化的系统,其适于实现本公开的优选实施例中涉及的一个或多个方法步骤。

图2是根据至少一个实施例的处理一个或多个用户的数据对象集合的方法的流程图。

图3是根据至少一个实施例的用于估计预定义文件的可删除的示例性方法的流程图。

图4是根据至少一个实施例的用于删除数据对象的方法的流程图。

具体实施方式

本发明的各种实施例的描述将出于说明的目的而呈现,但不希望是详尽的或限于所揭示的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语是为了最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或为了使本领域的其他普通技术人员能够理解本文所公开的实施例。

术语"用户"指的是实体,例如个人、计算机、项目或在计算机上执行的应用。用户可以由指示用户的用户特性(property)的一个或多个属性(attribute)来定义。用户的用户特性可以是例如项目的开始时间和结束时间,或者用户在计算机系统中的帐户的开始时间和结束时间。项目的开始时间和结束时间可以例如按项目的每个数据对象来定义,使得项目关于给定数据对象的开始时间和结束时间是参与项目并拥有给定对象的用户的开始时间和结束时间。例如,如果用户离开项目,则数据对象不再属于该项目,因此结束时间是用户离开项目的时间,而开始时间是用户开始项目的时间)。

第二度量也称为质量度量,可以是描述集群的特性值和数据对象的数量的度量。第二度量可以例如是描述性的或使用不同特性值的数量或特性值的不同类的数量来定义。给定特性的特性值类例如可通过将特性值的范围分成区间来定义,其中该类对应于区间(例如,如果特性是年龄,则类可包括中等年龄类)。例如,可以定义第二度量使得给定集群的第二度量越高,该集群的质量越小。或者,第二度量对于给定集群越低,则给定集群的质量越高。质量度量被用作用于对可用于所有数据对象的整个信息进行概括的手段。例如,第二度量可以是对象属性值的稀疏度与其应用的数据对象的数量的组合。例如,可以定义第二度量,使得第二度量的值越高,则集群的质量越小。例如,给定集群的质量度量可以是给定集群的数据对象的不同属性值或特性值的数目除以给定集群中的数据对象的数目。在另一示例中,给定集群的质量度量可以是给定集群的数据对象的属性值的类的数目除以给定集群中的数据对象的数目。例如,对于一个集群,该比率越高,集群的质量越小。质量度量可以使用数据对象的数量和给定集群的描述来定义。第一度量或第二度量可例如被归一化(例如,在0和1之间)。另外,该向量集合中的向量可以例如是诸如一维阵列的阵列。

数据对象的数据对象特性("对象特性")可以包括指示或描述数据对象的值。用户的用户特性可以包括指示或描述用户的值。在一个示例中,给定数据对象的数据对象特性可以包括用户定义的一个或多个特性(例如,一个或多个特性由计算机系统接收作为输入)。在一个其他示例中,给定用户的用户特性可以包括用户定义的一个或多个特性(例如,给定用户的一个或多个特性由计算机系统作为输入来接收)。

与下面聚类算法的伪代码相比,聚类算法被配置为使用数据对象之间或集群之间的欧几里德(euclidian)距离来形成集群,并且基于度量的值来对集群进行排名以找到最佳可删除集群。聚类算法可以包括统计数据分析,例如机器学习和模式识别。聚类算法可以使用机器学习技术。机器学习技术可以被配置为通过观察度量的值来识别最佳结果(例如,可删除集群)。机器学习技术可以使用文件元数据、存储数据或组织数据,其中后者描述数据对象的控制上下文。聚类算法可以被公式化为多目标优化问题,其涉及用于要被同时优化的两个度量的至少两个目标函数。例如,目标可以是最大化两个度量(例如,最大化可删除性和最大化集群的质量)。

聚类算法可以提供对数据对象可删除或需要保留的可能性的估计函数。该函数可以被称为可保存函数。本方法可以是固有地概率性的,因为它提供了对数据对象应当被保留或删除的可能性的估计。通过使用非常大的学习样本(例如,向量集合的一部分)可以实现每个这种估计固有的误差概率的最小化。可保存性可以取决于策略管理,其中策略是道义上的对象,应用的目标是以自顶向下的方式将目标对象移动到某个状态,并对未能将目标对象移动到某个状态的行为实施制裁。与以自顶向下的方式查看策略的执行路径相反,本方法可以查看在公司中确实存在哪些低级控制对象以及它们如何与更高级的策略相关。可保存性计算遵循自底向上的方法。利用本方法,可以不在最佳可保存集群上而是在既适合可保存能力又适合集群质量两者的集群上定义可保存能力。可保存模型可以容纳数亿个数据对象范围内的数据。

至少使用所述集群的数据对象的时间相关特性来确定所述第一度量。例如,第一度量可以使用集群的数据对象的时间相关特性和诸如所有权程度特性的其他特性来确定。

本方法可以具有提供可靠和稳健的方法的优点,该方法用于基于涉及数据对象以及数据对象的用户的准确标准来删除数据对象。该方法可以通过基于概率计算的测试数据,通过为训练和测试数据的联合创建文件向量来计算可能的删除函数。这可以提供要删除的数据对象的最优集合,并且因此可以避免删除仍然可用或仍然需要的数据对象。

根据一个实施例,该方法还包括生成包括相应组合特性的向量集合,其中将组合特性的集合的至少一部分输入到聚类算法包括将向量集合的至少一部分输入到聚类算法。给定集群的第一度量是该集群的数据对象的对象度量的组合,其中对象度量指示相应数据对象的可删除性。该实施例可以提供精确的集群度量,其可以导致要删除的数据对象的更优集合。

给定数据对象的对象度量包括给定数据对象的用户的活动性乘以给定数据对象的活动性的加权和。基于将当前时间与关联于用户的开始时间和结束时间进行比较的结果来确定用户的活动性。基于将给定数据对象的最后修改时间或创建日期与关联于给定数据对象的用户的开始时间和结束时间进行比较的结果,确定给定数据对象的活动性。该实施例可以提供用户和对象属性的有效组合以定义度量。

该总和是对具有高于预定阈值的给定数据对象的预定拥有程度的用户中的用户的总和。这可以进一步优化要删除的数据对象集合的标识。所有权的程度可以是例如用户对数据对象的访问的许可或级别。这可以例如在数据对象的访问控制列表(acl)中指示。

第一度量是集群的数据对象的对象度量的平均值。在另一个示例中,第一度量包括集群的数据对象的对象度量的和。在另一示例中,第一度量可以基于对象的新近性或对象的年龄。第一度量可以例如是归一化值(例如,在范围[0,1]内)。

第二度量可以指示集群的数据对象的数量和数据对象的特性值的数量。特性值的数量可以是不同特性的值的数量。第二度量可以指示数据对象特性与其应用的数据对象的数量的稀疏性。例如,如果数据对象具有诸如年龄或部门的特性或属性,则不同的特性值可包括年龄或部门的不同的值。

用户特性可以包括用户对文件的所有权程度以及与用户相关联的开始时间和结束时间。用户对文件的所有权程度可以包括用户对文件的正确访问级别(例如,管理员用户或只读用户)。与用户相关联的开始时间和结束时间可以例如是作为项目的用户的开始时间和结束时间。数据对象的对象特性可以包括例如数据对象的创建日期、数据对象的最后修改时间、数据对象的大小、数据对象的类型、嵌入数据对象的文件系统、数据对象是二进制还是非二进制的指示、或者数据对象的位置存储。

聚类算法是分层聚类算法,其中最佳可删除集群是度量下的帕累托最优(pareto-optimal)集群。使用分层聚类算法,可能不需要关于所需集群数量的先验信息。

该方法还包括使用最佳可删除集群来确定另一数据对象集合中的数据对象是否可删除。例如,通过计算数据对象和最佳可删除集群的选定点之间的距离,可以将数据对象集合中的每个数据对象与最佳可删除集群进行比较。例如,所选择的点可以是最佳可删除集群的质心(centroid)。

另一数据对象集合可以存储在不同的计算机系统中。另一数据对象集合属于一个或多个用户。这些实施例在数据库包括相同类型的数据的情况下可能特别有利。可以从该向量集合中随机选择至少一部分向量。这可以避免在识别最佳可删除集群时的偏差。最佳可删除集群可以是具有一对第一和第二度量的值的集群,所述第一和第二度量的值满足高可删除性和高质量的目标。如果没有目标可以在值上改进而不降低其它目标值,则可以获得第一和第二度量的一对值。包括该对的解可以是帕累托最优的或帕累托高效的。

最佳可删除集群可以是由聚类算法定义的集群中具有第一度量的最高值和第二度量的最高值的集群。换句话说,可以获得可删除性和质量的最高可能组合,其中可删除性超过质量。

图1表示适合于实现如本公开中涉及的方法步骤的通用计算机化系统。

应当理解,这里描述的方法至少部分是非交互式的,并且通过诸如服务器或嵌入式系统的计算机化系统来自动化。在示例性实施例中,本文描述的方法可以在(部分)交互式系统中实现。这些方法还可以在软件112、122(包括固件122)、硬件(处理器)105或其组合中实现。在示例性实施例中,本文所述的方法以软件、作为可执行程序来实现,并且由诸如个人计算机、工作站、小型计算机或大型计算机之类的专用或通用数字计算机来执行。因此,最通用的系统100包括通用计算机101。

在示例性实施例中,就硬件体系结构而言,如图1所示,计算机101包括处理器105、耦合到存储器控制器115的存储器(主存储器)110、以及通过经由本地输入/输出控制器135的通信而耦合的一个或多个输入和/或输出(i/o)设备(或外围设备)10、145。输入/输出控制器135可以是,但不限于,一个或多个总线或其它如本领域已知的有线或无线连接。输入/输出控制器135可以具有附加元件以实现通信,为了简单起见省略了这些附加元件,诸如控制器、缓冲器(高速缓存)、驱动器、中继器和接收器。此外,本地接口可以包括地址、控制和/或数据连接,以使得能够在上述组件之间进行适当的通信。如这里所述,i/o设备10、145通常可以包括本领域已知的任何通用加密卡或智能卡。

处理器105是用于执行软件,特别是存储在存储器110中的软件的硬件设备。处理器105可以是任何定制的或商业上可获得的处理器、中央处理单元(cpu)、与计算机101相关联的若干处理器中的辅助处理器、基于半导体的微处理器(以微芯片或芯片组的形式)、宏处理器或一般地用于执行软件指令的任何设备。

存储器110可以包括易失性存储器元件(例如,随机存取存储器(ram,诸如dram、sram、sdram等))和非易失性存储器元件(例如,rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、可编程只读存储器(prom))中的任何一个或组合。注意,存储器110可以具有分布式体系结构,其中各种组件彼此远离,但是可以由处理器105访问。

存储器110中的软件可以包括一个或多个单独的程序,其中每个程序可以包括用于实现逻辑功能(特别是本发明的实施例中涉及的功能)的可执行指令的有序列表。在图1的示例中,存储器110中的软件包括指令或软件112,例如,用于管理诸如数据库管理系统之类的数据库的指令。

存储器110中的软件通常还包括合适的操作系统(os)111。os111实质上控制其他计算机程序的执行,例如用于实现这里描述的方法的可能的软件112。

本文描述的方法可以是源程序或软件112、可执行程序或软件112(目标代码)、脚本或包括要执行的指令集112的任何其他实体的形式。当源程序时,则需要经由可以包括在或者可以不包括在存储器110内的编译器、汇编器、解释器等来翻译程序,以便结合os111正确地操作。此外,所述方法可以被写为具有数据和方法类的面向对象的编程语言,或者具有例程、子例程和/或函数的过程编程语言。

在示例性实施例中,传统键盘150和鼠标155可以耦合到输入/输出控制器135。诸如i/o设备145的其它输出设备可以包括输入设备,例如但不限于打印机、扫描仪、麦克风等。最后,i/o设备10、145还可以包括与输入和输出通信的设备,例如但不限于网络接口卡(nic)或调制器/解调器(用于访问其他文件、设备、系统或网络)、射频(rf)或其他收发器、电话接口、桥接器、路由器等。i/o设备10、145可以是本领域已知的任何通用加密卡或智能卡。系统100还可以包括耦合到显示器130的显示控制器125。在示例性实施例中,系统100还可以包括用于耦合到网络165的网络接口。网络165可以是用于经由宽带连接在计算机101和任何外部服务器、客户机等之间通信的基于ip的网络。网络165在计算机101和外部系统30之间发送和接收数据,其可以被涉及以执行在此讨论的方法的部分或全部步骤。在示例性实施例中,网络165可以是由服务提供商管理的受管理ip网络。网络165可以以无线方式实现,例如使用诸如wifi、wimax等无线协议和技术。网络165还可以是分组交换网络,例如局域网、广域网、城域网、因特网或其他类似类型的网络环境。网络165可以是固定无线网络、无线局域网(lan)、无线广域网(wan)、个人区域网(pan)、虚拟专用网(vpn)、内联网或其它合适的网络系统,并且包括用于接收和发送信号的设备。

如果计算机101是pc、工作站、智能设备等,则存储器110中的软件还可以包括基本输入输出系统(bios)122。bios是一组基本软件例程,其在启动时初始化和测试硬件,启动os111,并且支持硬件设备之间的数据传输。bios存储在rom中,使得当计算机101被激活时,bios可以被执行。

当计算机101处于操作中时,处理器105被配置成执行存储在存储器110内的软件112,向和从存储器110传送数据,并且一般地依照软件控制计算机101的操作。这里描述的方法和os111,全部或部分地,但通常是后者,由处理器105读取,可能在处理器105内缓冲,然后执行。

当在软件112中实现本文所述的系统和方法时,如图1所示,可以将方法存储在任何计算机可读介质上,例如存储装置120,以供任何计算机相关的系统或方法使用或与之结合使用。存储装置120可以包括诸如hdd存储装置的盘存储装置。

系统100可与一个或多个用户p1-pn相关联。术语用户可以指实体,诸如个人、计算机、项目或在计算机上执行的应用。在一个示例中,系统100可经由网络165连接到用户p2。用户p2可以例如是计算机或计算机应用。在另一个示例中,诸如p1的用户可以是在系统100中具有账户的个人。

存储装置120可以包括用户p1-pn的数据对象f1-fn。数据对象可以例如是文件或数据库的至少一部分。例如,用户p2可被分配一个或多个f1-fn的数据对象,例如p2可访问该数据对象或p2读取该数据对象以处理应用等。在另一个示例中,诸如图书之类的数据对象f1-fn可以属于用户p1。换言之,数据对象f1-fn与用户p1-pn具有关系或链接。

存储装置120还可包括描述(例如,描述属性)数据对象f1-fn和数据对象p1-pn的元数据。例如,元数据metaf1-metafn是各个数据对象f1-fn的元数据。元数据metap1-metapn是各个用户p1-pn的元数据。

元数据metaf1-fn可以包括一个或多个对象属性attf1_1-attf1_n,attf2_1-attf2_n…attfn_1-attfn_n,其值分别描述数据对象f1-fn的特性。例如,对象属性可以包括相应数据对象的创建日期、文件格式或机密性级别。换句话说,元数据metaf1-metafn的每个对象属性具有描述相应数据对象f1-fn的数据对象特性的值。每个数据对象(例如f1)具有属性attf1_1-attf1_n中的至少一个属性,其是时间相关的或时间依赖(dependent)的。为了举例说明,假设f1的属性attf1_1和attf1_3是时间依赖的,因为attf1_1是f1的创建日期,而attf1_3是数据对象f1的最后修改时间。数据对象f1-fn在它们各自的元数据metaf1-metafn中可以具有或不具有相同的对象属性。

元数据metap1-pn可以包括一个或多个用户属性attp1_1-attp1_n、attp2_1-attp2_n…attpn_1-attpn_n,它们的值分别描述用户p1-pn的用户特性。用户特性可包括用户本身的特性或描述用户与一个或多个数据对象f1-fn的关系的特性。例如,用户特性可指示用户是一个或多个数据对象f1-fn的所有者。换言之,元数据metap1-metapn的每个用户属性具有描述相应用户的用户特性的值。例如,用户p1和p3都可以引用数据对象f1,因为p1和p3是数据对象f1的所有者。因此,元数据metap1和metap3每个都可以包括具有值"f1"(例如,attp1_1="拥有者"并且attp3_1="拥有者")的属性(例如,"拥有者")。每个用户具有用户属性attp1_1-attpn_n中的至少一个属性,其是时间相关的或时间依赖的。例如,用户属性"fromdate"可以指示项目的开始日期(例如pn),而另一个用户属性"todate"可以指示项目的结束时间pn。例如,用户p1和p3具有它们各自的元数据metap1和metap3,包括属性"fromdate"和"todate"(例如,attp1_2="fromdate"和attp1_3="todate"和attp3_2="fromdate"和attp3_3="todate")。用户p1-pn在它们各自的元数据metap1-metapn中可以具有或不具有相同的用户属性。

在一个示例中,数据对象f1-fn和用户p1-pn的属性可被配置(例如,使用标签)以使得每一属性指示其是否对应于时间依赖特性。

图2是处理存储在计算机系统100中的一个或多个用户(p1-pn)的数据对象(f1-fn)集合的方法的流程图。该方法可用于通过删除由本方法标识为可删除的数据对象来清理存储系统(例如,存储120)。

如图1所示,每个数据对象f1-fn与包括数据对象的数据对象特性的相应元数据mataf1-metafn相关联。此外,每个用户p1-pn与包括用户p1-pn的用户特性的元数据metap1-metapn相关联。

在步骤201,可为数据对象f1-fn集合的每个数据对象确定组合特性。给定数据对象的组合特性包括给定数据对象的数据对象特性和给定数据对象的用户的用户特性的至少一部分。例如,数据对象f1的组合特性可包括f1的元数据metaf1以及metap1和metap3,因为用户p1和p3是f1的所有者(参见图1)。换句话说,给定数据对象f1的组合特性可包括元数据metaf1的对象属性(attf1_1-attf1_n)的值以及引用f1的元数据metap1和metap3的用户属性(attp1_1-n和attp3_1-n)的值。

在步骤203,可以生成向量集合,使得每个向量包括相应的组合特性。例如,对于每个数据对象f1-fn,可创建或生成相应的向量。给定数据对象f1的向量可以是例如具有用于对象的每个属性和给定数据对象f1的组合特性的用户属性的维度的多维向量。

在步骤205中,可以确定或识别数据对象集合的时间依赖特性。例如,对于每个组合的特性,可以识别具有时间值或时间相关值的该组合特性的数据对象和用户特性。

根据数据对象f1的示例,组合特性包括属性attf1_1-n、attp1_1-n和attp3_1-n。可检查属性attf1_1-n、attp1_1-n和attp3_1-n中的每一个以确定其是否具有时间值或其是否对应于时间依赖特性(例如,使用与属性相关联的类型)。对于数据对象f1,属性attf1_1和attf1_3、attp1_2、attp1_3、attp3_2和attp3_3可被标识为它们对应于时间依赖属性。

在步骤207中,可以确定或定义至少两个度量。度量的第一度量可以指示数据对象的集群的可删除性,并且度量的第二度量可以指示集群的质量。给定集群的第一度量可以至少使用给定集群的数据对象的时间依赖特性来确定。第二度量可以提供质量测量,使得可以针对该测量来优化集群过程。

例如,可以定义可删除性度量,使得它基于数据对象的时间依赖对象特性和引用数据对象f(或者更具体地,数据对象f的所有者)的用户的时间依赖用户特性二者,指示给定数据对象的活动程度。可以确定有权访问数据对象f的用户p的活动性,例如,作为用于那些用户的用户p的被称为aprioridel(p)的删除变量,其指示用户p及其所有内容被认为是可删除的。例如,用户p可以将aprioridel(p)设置为指示p的内容可删除的给定值。使用用户p的删除变量和与用户p相关联的时间依赖的属性(诸如fromdate(p)和todate(p)),用户p的活动性(称为投影活动性(p))可以计算如下:

projectactiveness(p)=0ifaprioridel(p)

3ifnowafterfromdate(p)&nowbeforetodate(p)

1ifnowaftertodate(p)

1ifnowbeforefromdate(p)

0otherwise,wherenowisthecurrenttime.

当前时间可以是执行本方法的时间。每个数据对象f关于相应用户p的活动性,称为fileactiveness(f,p)),可以由变量recent(f)来确定,该变量指示数据对象f是否是新近的。变量recent(f)可以基于数据对象f的年龄(age)来定义,其可以被定义为下式|now–date(f)|或log|now-date(f)|,其中date(f)是数据对象f的创建日期,如果|now-date(f)|小于预定阈值,则变量recent(f)可以具有指示数据对象f是新近的值(例如,1),否则变量recent(f)可以具有指示数据对象f不是新近的值(例如,0)。数据对象f关于给定用户p的活动性(fileactiveness(f,p))可以如下使用变量recent(f)、f的创建日期和用户p的时间依赖属性(即,todate和fromdate))来计算

fileactiveness(f,p)=sum_i[datefactors_i(f,p)]with

datefactors_1(f,p)=2ifdate(f)<todate(p)

datefactors_2(f,p)=2ifdate(f)>fromdate(p)

datefactors_3(f,p)=1ifrecent(f).

使用计算的有权访问数据对象f的用户p的活动性和关于那些用户p中的每一个的数据对象f的活动性fileactiveness(f,p),组合活动性(combactive)可以被定义为如下的加权和:

combactive(f)=sum_{p}(projectactiveness(p)*

fileactiveness(f,p)),而总和是在可以访问数据对象f的用户上。

然后可以使用组合活动性combactive(f)定义数据对象f的对象度量(specdel(f))如下:specdel(f)=1ifcombactive(f)=0

or1/combactive(f)otherwise。

使用属于集群c的数据对象的对象度量,集群c的第一度量(specdel(c))可以被计算为例如对象度量的平均值:specdel(c)=mean[specdel(f)]f∈c.(“f∈c”是指属于集群c的数据对象f)。

在另一个例子中,可以在可以访问数据对象f的部分用户上执行上述和sum_{p},例如,可以基于每个用户p对数据对象f的所有权程度来选择这部分用户,这种所有权程度可以被称为strengthofownership(f,p),并且可以被定义为f中的p的所有权指示符的和。例如,这可以指示数据对象f的最强(strongest)所有者。所有权指示符包括,例如,f的文件名(filename)中p的名字或姓氏、文件系统所有权或与项目相关的指示符。部分用户可以被定义为具有高于预定阈值t的strengthofownership(f,p)的用户:p_t(f)={p∈p1-pn|strengthofownership(f,p)>t}。

在这种情况下,数据对象f的组合活动性可以被定义为如下的加权和:

combactive(f)=sum_{p∈p_t(f)}(projectactiveness(p)*fileactiveness(f,p))。

在步骤209中,在步骤203中创建的向量集合的至少一部分可以被输入到聚类算法。该向量集合的至少一部分可以用作训练数据集合。聚类算法可以例如是分层聚类算法。该向量集合的至少一部分可以例如从该向量集合中随机选择。

在步骤211中,聚类算法可以被配置为对数据对象进行聚类,并且基于在步骤207中确定的度量来识别最佳可删除集群。例如,us2016/0004730a1中描述的聚类算法(其通过引用并入本文)可用于基于距离(c1,c2)函数构建分层集群结构,该函数提供两个集群c1,c2的向量之间的(归一化)欧几里德距离。第一度量specdel(c)可以用作学习概率可删除性的估计函数del(f)的专业化标准,以及第二度量作为对所有数字对象可用的全部信息进行概括的方式。好的集群是具有低值的第二度量(即,高质量)和高可删除性的集群。聚类算法的配置可包括将关于第一度量和第二度量的两个标准集成到学习/集群构建过程中,以找到最佳可删除集群,使得其第一和第二度量值满足高可删除性和高质量的目标。即,最佳可删除集群的第一和第二度量值是如果没有目标可以在值上改进而不降低其它目标值时获得的值。最佳可删除集群的第一度量值和第二度量值的对可以是pareto最优的或pareto高效的。

用于集群f文件的聚类算法的伪代码例如可以被设置如下:在以下伪代码中的名为datedeletability(c)的变量是第一度量specdel(c)。

v(f)-所有文件向量的集合(例如,确定为上述向量的集合)

f_tsubsetf–训练集合,f–所有文件

随机选择的v(f_t)子集v(f)

1.学习步骤。

(1)getrandomsetv(f_t)fromv(f)

(2)createsetofinitialclustersc1…ck

(3)performeuclideandistanceclusteringstartingwithc1tock,

yieldingclusters

ck+1,…,cm(treestructure).foreachnewclusterc_j,

computecvalue(c_j)

anddatedeletability(c_j).

(4)findclusterc_r(1<=r<=m)suchthat

datedeletability(c_r)*k0+1/cvalue(c_r)ismaximal

wherek0isapredefinedconstant

(5)definedel(f)=def1–distance(v(c_r),v(f))

2.分类步骤。

forallfilesf_i:

ifdel(f_i)>threshold,

print(f_i)

上述算法中的k0可以被选择得足够高,使得在所有实际情况下datedeletability()超过cvalue()的影响。最佳可删除集群可以通过最大化datedeletability(c_r)*k0+1/cvalue(c_r)来获得。这可以允许找到具有一对datedeletability()和cvalue()的最佳可删除集群,如果在不降低其他目标(例如,提高质量)值的情况下,任何目标(例如,提高可删除性)的值都不能得到改善,则可以获得最佳可删除集群。在步骤213中,可以处理聚类算法以识别数据对象的最佳可删除集群。

例如,可以使用具有2个目标值即第一和第二度量的值的优化问题来识别最佳可删除集群。在一个示例中,两个值的组合,像滑块,对第二度量更多的权重意味着算法对第一度量specdel(c)归纳越来越多的权重意味着算法专门针对样本数据。针对若干目标或标准的这种优化可以是帕累托优化。帕累托最优解是具有第一度量的特定值和第二度量的特定值的集群,使得具有第二度量的较高值的每个集群具有第一度量的较低值,反之亦然,从而可以提供至少两个解。

在步骤215中,最佳可删除集群可用于确定数据对象集合中的数据对象是可删除还是不可删除。例如,数据对象f的向量与被称为c_0的最佳可删除集群的质心向量之间的距离(v(f),v(c_0))可以指示数据对象f是否是可删除的。例如,如果该距离小于最大距离阈值,则数据对象f是可删除的。最佳可删除集群的质心向量是通过组合(例如,求和及平均)最佳可删除集群的数据对象的向量而获得的向量。向量之间的距离可以是欧几里德距离。

例如,概率可删除性估计函数del(f)可以用于估计或确定数据对象f是否是可删除的。在一个示例中,def(f)=1-distance(v(f),v(c_0))。术语可删除性是指数据对象f可删除的可能性,并且通过下式表示其估计函数:del(f)→[0,..,1]。del(f)估计基础贝叶斯概率p(f∈f1-fn|meta(d),date(d),org(d)),其中f是可删除的关于数据对象f的给定元数据、使用数据和组织数据。

图3是用于估计预定义文件的可删除性的示例性方法的流程图。

如图3所示,测试数据和训练数据可以如下确定。使用文件元数据301(诸如metaf1-metafn)以及项目和人数据303,可执行映射305(例如,如步骤203所述以标识组合的属性)以将来自文件元数据301的特性以及相应的项目和人数据303组合成文件向量307。文件元数据301以及涉及特定文件的项目和人数据303可以在概念上以单个向量来表示。该向量还可以包括更多的属性,例如文件的最强所有者,基于多个所有权指示符,例如文件名(filename)内的名或姓、文件系统所有权或项目相关指示符。映射305可以导致对于每个文件,可以创建对应的文件向量。

训练数据可以从文件向量307的总体中随机采样。虽然训练数据可以在10m向量的范围内,但是可删除性估计在最坏的情况下可以与测试数据的数量成线性关系,因此实际上可以是无限的。训练数据可以被输入到聚类算法309中。聚类算法309可以被配置为通过使用训练数据的第一学习阶段来确定概率可删除性函数(del(f))311。学习阶段可以基于第一和第二度量。此外,为了获得第二度量的最优值,可以在映射阶段期间对属性值进行归一化。另外,为了更清楚地区分关于第一和第二度量的两个标准,第二度量的计算可以不使用可能参与对象度量specdel(f)的计算的那些(例如,在这种情况下,与日期相关的)属性。

例如,作为第一阶段中的非常大的训练数据集合的优化,初始排序可以用于获得包含多个文件向量的初始集群。一旦分别在第一和第二度量的两个标准下选择了最佳可删除集群作为帕累托最优集群,就可以在311使用上述伪代码算法的步骤1.4获得可删除性函数。

在第二阶段中,在313处,将可删除性函数应用于来自与训练数据相同的总体的测试数据,其中测试数据可包括训练数据。第二阶段导致在315处将预定义的与可删除性估计相关联。由于第一和第二阶段都基于307处的相同类型的文件向量,因此它们之前是305处的映射阶段,在该映射阶段中,创建用于训练和测试数据的联合的文件向量。

图4是用于清洁生产环境的数据存储器的方法的流程图,该生产环境可以是或可以不是计算机系统100。在步骤401,可以使用参考图2所述的数据对象f1-fn来识别最佳可删除集群,在步骤403,可以处理生产环境的另一数据对象集合以识别要删除的另一数据对象集合的数据对象。可以计算另一数据对象集合中的每个数据对象到最佳可删除集群的质心之间的距离,并将其与预定阈值进行比较。在步骤405,可以删除具有小于预定阈值的距离的另一数据对象集合中的每个数据对象。数据对象的删除包括将数据对象存档在存档存储器中达预定时间段(例如,1年),并且在该时间段结束之后删除数据对象。

在另一示例中,提供了一种用于保留策略挖掘的方法。该方法包括定义用于可删除性或可保留性的特征向量v,该特征向量包含例如所有者、项目、最后访问日期、创建日期和访问权限。该方法包括确定对象的特征向量,并且当可删除性度量可能依赖于对象的时间相关或日期相关特征时,为对象定义可删除性度量。该方法包括确定对象的可删除性度量值,根据属于该集群的对象的可删除性度量值定义集群可删除性度量specdel(),当使用分层集群算法(现有技术)在集群质量度量cvalue()(基于与时间或日期无关的特征进行归纳)和集群可删除性度量spectdel()(对过期对象进行专门集群)下确定pareto-optimal集群时,定义反映与时间或日期无关的对象特征的集群质量度量cvalue(),从而产生最佳可删除的集群bdc。该方法包括基于目标的特征向量v(f)和最佳可删除集群的质心的特征向量v(bdc)之间的距离,定义目标f的可删除性估计函数del(f)。然后使用估计函数del(f)将对象分类为可删除/不可删除。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及传统过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1