CN113378184A - 用于数据保护的方法、设备和计算机程序产品 - Google Patents

用于数据保护的方法、设备和计算机程序产品 Download PDF

Info

Publication number
CN113378184A
CN113378184A CN202010117350.1A CN202010117350A CN113378184A CN 113378184 A CN113378184 A CN 113378184A CN 202010117350 A CN202010117350 A CN 202010117350A CN 113378184 A CN113378184 A CN 113378184A
Authority
CN
China
Prior art keywords
objects
user
filter
generating
decision tree
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
Application number
CN202010117350.1A
Other languages
English (en)
Inventor
张宇霆
程谦云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN202010117350.1A priority Critical patent/CN113378184A/zh
Priority to US16/866,145 priority patent/US11494272B2/en
Publication of CN113378184A publication Critical patent/CN113378184A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Abstract

本公开的实施例涉及一种用于数据保护的方法、设备和计算机程序产品。方法包括确定一组对象中用户选择的对象,然后根据用户选择的对象,自动生成相应的一个或多个过滤条件。方法还包括针对一组对象中满足过滤条件的对象,自动设置预定的保护策略。本公开的实施例根据用户选择的一些被保护对象,自动生成相对应的过滤条件以便形成动态过滤器,而无需用户手动设置过滤条件,提升了数据保护系统的用户使用体验。

Description

用于数据保护的方法、设备和计算机程序产品
技术领域
本公开的实施例总体上涉及数据存储技术领域,并且更具体地涉及用于数据保护的方法、设备以及计算机程序产品。
背景技术
数据保护是指对组织或个人的数据进行保护,以防止由于故障而导致的数据丢失。可以针对不同类型的数据,设置不同的数据保护策略,例如,可以设置几份备份,是否设置远程或者云备份,等等。当发生数据故障或者发生灾难时,可以通过备份来恢复数据,由此避免不必要的损失。
随着网络技术的发展,数据保护系统将数据中心的数据延伸到云环境中。用户可以在数据保护系统中配置云存储的信息,然后选择要容灾的虚拟机(VM),从而定期备份到云端。如果用户的生产机器出现故障而导致不可用,则可以在数据保护系统中选择虚拟机,然后直接在云端部署虚拟机,直到生产机器恢复。
发明内容
本公开的实施例提供了一种用于数据保护的方法、设备和计算机程序产品。
在本公开的一个方面,提供了一种用于数据保护的方法。该方法包括:确定一组对象中用户选择的对象;根据用户选择的对象,生成一个或多个过滤条件;以及针对一组对象中满足一个或多个过滤条件的对象,设置预定的保护策略。
在本公开的另一方面,提供了一种电子设备。该设备包括处理单元以及存储器,其中存储器被耦合至处理单元并且存储有指令。所述指令在由处理单元执行时执行以下动作:确定一组对象中用户选择的对象;根据用户选择的对象,生成一个或多个过滤条件;以及针对一组对象中满足一个或多个过滤条件的对象,设置预定的保护策略。
在本公开的又一方面,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使得计算机执行根据本公开的实施例的方法或过程。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。本发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的各个实施例的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的附图标记通常代表相同的元素。
图1示出了根据本公开的实施例的动态过滤器的工作环境的示意图;
图2示出了根据本公开的实施例的用于数据保护的方法的流程图;
图3示出了根据本公开的实施例的提取用户选择的对象的示意图;
图4示出了根据本公开的实施例的针对用户未选择的对象进行非监督聚类的示意图;
图5示出了根据本公开的实施例的决策树的示意图;
图6示出了根据本公开的实施例的判断是否满足决策树拆分的停止条件的示意图;
图7示出了根据本公开的实施例的生成动态过滤器的示意图;以及
图8示出了可以用来实施本公开的实施例的设备的示意性块图。
具体实施例
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的一些具体实施例,然而应该理解,可以以各种形式实现本公开,而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,除非明确指示不同。
在数据保护系统中,可以设置各种保护策略来保护各种对象。传统地,用户可以为每个需要保护的对象手动设置保护策略,或者,用户可以手动创建过滤条件,以便为满足过滤条件的对象自动设置保护策略。在用户手动创建适当的过滤条件后,将来的类似对象可以自动地添加到对应的保护策略中。然而,手动创建过滤条件需要用户大量的手动操作,手动操作需要耗费大量的时间,影响了用户使用体验。
为此,本公开的实施例提出了一种在创建保护策略时自动生成动态过滤器的方案。不同于传统的用户手动设置过滤条件,本公开的实施例根据用户选择的一些被保护对象,自动生成相对应的过滤条件以形成动态过滤器,而无需用户手动设置过滤条件的操作,提高了数据保护类产品的用户体验。根据本公开的实施例,用户无需分析对象的属性以从头开始创建过滤条件,不仅简化了设置过滤条件的操作,而且减少了用户大量的配置时间。
本申请的发明人注意到可以基于对用户选择的被保护对象的分析来自动生成动态过滤器,以便后续的类似对象能够被自动分配到相同的保护策略。因此,本公开提出的是一种在创建保护策略时基于用户选择的对象来自动生成动态过滤器的智能方案,根据本公开的实施例,用户仅需选择其想保护的一部分对象,能够避免创建动态过滤器时的复杂操作。
可选地,在本公开的一些实施例中,组合了非监督聚类方法和有监督分类算法来生成针对目标保护策略的过滤条件,提高了所生成的过滤条件的准确性。另外,本公开的一些实施例还使用决策树(例如分类和回归树(CART))来实现对象的快速分类,加快了生成过滤条件的速度。
以下参考图1至图8来说明本公开的基本原理和若干示例实现方式。应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制本公开的范围。
图1示出了根据本公开的实施例的动态过滤器的工作环境100的示意图。如图1所示,数据保护系统中存在多个对象110,对象可以为用户需要保护的资产,例如虚拟机(VM)、结构化查询语言(SQL)数据库、文件系统盘,等等。这些对象110中的不同对象,可能需要不同的保护策略,例如,更重要的数据库可能需要更多的数据备份。
动态过滤器120能够筛选对象110,以便自动确定各个对象是否满足目标保护策略的过滤条件。“动态过滤器”包括目标保护策略和一个或多个过滤条件,满足这个或这些过滤条件的对象将被自动分配到目标保护策略。一般来说,针对各个目标保护策略,可以设置分别的动态过滤器。动态过滤器可以包括一个或多个过滤条件,如图1所示,动态过滤器120包括三个示例过滤条件125,第一个过滤条件是限定“数据中心名称”,第二个过滤条件是限定“操作系统类型”,而第三个过滤条件是限定“虚拟机大小”。针对各个对象110,动态过滤器120判断是否满足各个过滤条件,如果都满足,则为该对象设置目标保护策略130;如果不满足,则不设置目标保护策略,如140所示。例如,目标保护策略130的一个示例可以为设置三份备份,其中一份在云端。
当数据保护产品发现新的对象时,动态过滤器120能够自动地判断出新的对象是否满足过滤条件,并且满足过滤条件的对象将被设置有目标保护策略130。动态过滤器可以包括多个过滤条件,多个过滤条件可以通过逻辑“AND”或者“OR”来进行连接,每个过滤条件可以是关于对象属性的简单逻辑语句,例如,过滤条件125中的第三个过滤条件为“虚拟机大小小于100GB”,其中“虚拟机大小”是对象的属性,“小于”是逻辑算符,“100GB”是比较值。
在一些实施例中,对象可以为虚拟机,下表1中示出了可以用于构建过滤条件的虚拟机对象的属性的示例。
表1:用于构建过滤条件的虚拟机对象属性
虚拟机属性 类型 描述
数据中心名称 字符串 支持虚拟机的数据中心的名称
数据存储库名称 字符串 提供虚拟机的存储的数据存储库的名称
操作系统类型 字符串 虚拟机的操作系统的类型
虚拟机名称 字符串 虚拟机的显示名称
虚拟机文件夹名称 字符串 虚拟机的文件夹名称
虚拟机资源池 字符串 提供虚拟机的资源的资源池的名称
虚拟机大小 整数 虚拟机的字节大小
虚拟机标签 字符串数组 虚拟机的标签
此外,过滤条件中还包括各种逻辑算符,下表2示出了用于构建过滤条件的逻辑算符。
表2:用于构建过滤条件的逻辑算符
Figure BDA0002391897180000051
Figure BDA0002391897180000061
图2示出了根据本公开的实施例的用于数据保护的方法200的流程图。如图2所示,在202,确定一组对象中用户选择的对象。例如,用户可以从一组对象中选择其想要保护的对象,用户选择的对象被提取进行分析以用于创建内在的过滤条件。用户可以选择其需要保护的全部对象或者一些对象,对象的示例包括但不限于虚拟机、SQL数据库、文件系统盘等。
在204,根据用户选择的对象,生成一个或多个过滤条件。例如,每个条件包括对象的属性、逻辑算符以及比较值,一个或多个过滤条件和预定的保护策略可以组成本公开的动态过滤器。通过对用户选择的对象的分析,确定出这些对象所对应的过滤条件。在一些实施例,可以首先对用户未选择的对象进行聚类,然后使用聚类结果来生成决策树,决策树中用户选择的对象所对应的节点到根节点的路径为过滤条件。在一些实施例中,自动生成的过滤条件可能不够准确,因此,可以向用户呈现自动生成的过滤条件,然后接收用户对过滤条件的微调整。通过这种方式,能够提高过滤条件的准确性。
在206,针对一组对象中满足一个或多个过滤条件的对象,设置预定的保护策略。在一些实施例中,用户想要保护的对象可能未被完全选择,因而满足一个或多个过滤条件的对象可能包括用户未选择的对象,可以提醒用户是否漏选一个或多个对象。备选地,可以直接为满足一个或多个过滤条件的对象全部设置预定的保护策略。
因此,本公开的实施例根据用户选择的一些被保护对象,自动生成相对应的过滤条件以形成动态过滤器,从而能够消除用户手动设置过滤条件的操作,提高了数据保护类产品的用户体验。
在一些实施例中,在生成包括过滤条件的动态过滤器之后,针对新发现的新的对象,自动确定新的对象是否满足过滤条件。如果新的对象满足过滤条件,则直接为新的对象设置预定的保护策略。如果新的对象不满足过滤条件,则无需为新的对象设置预定的保护策略。通过这种方式,不仅能够对于已有的对象执行自动的保护策略管理,也能够对于新的对象也执行自动的保护策略管理。
图3示出了根据本公开的实施例的提取用户选择的对象的示意图。如图3所示,数据保护系统中存在一组对象310,例如虚拟机对象,其包括对象311-325等,用户从一组对象310中选出对象311、316、317、320、321作为需要保护的对象。相应地,一组对象310被划分成了两个部分,用户选择的部分340,其包括对象311、316、317、320、321;用户未选择的部分330,其包括对象312、313、314、315、318、319、322、323、324、325等。
根据本公开的实施例,创建动态过滤器的用户操作仅仅包括选择想要保护的对象,这些对象预期能够被所创建的动态过滤器所过滤。如图3所示,用户选择的对象311、316、317、320、321被保留作为特别的对象组,并且分配有预留聚类标识(ID),其不参与后续的聚类操作。
根据本公开的实施例,生成决策树可以包括两个阶段。第一阶段如图4所示所示,利用非监督机器学习技术对所有的对象进行预分类,预分类的结果是创建包括聚类ID和对应的对象ID的分类结果表。第二阶段如图5-7所示,利用第一阶段的预分类的结果来执行有监督分类,第二阶段的有监督分类可以为基于决策树的分类,决策树中每个节点上做出的决策将构成动态过滤器。
首先进入第一阶段,图4示出了根据本公开的实施例的针对用户未选择的对象进行非监督聚类的示意图。如图4所示,针对用户未选择的剩余部分330,包括对象312、313、314、315、318、319、322、323、324、325等,执行非监督聚类,从而将其聚类成7个类别,其中聚类ID值1的聚类包括对象312等,聚类ID值2的聚类包括对象314等,聚类ID值3的聚类包括对象318等,聚类ID值4的聚类包括对象313和315等,聚类ID值5的聚类包括对象319等,聚类ID值6的聚类包括对象322和325等,聚类ID值7的聚类包括对象323和324等。用户选择的对象311、316、317、320、321被分配有预留聚类ID值0。如图4所示,经过聚类之后,所有的对象可以被划分成八个类别,由此形成用于生成决策树的数据集410。
在一些实施例中,可以使用K-means算法来将用户未选择的对象分成K个分组,而不需要提前预设分组的个数,其中K表示聚类后的用户分组的个数。K-means是一种非监督聚类算法,其特点是简单且运算速度快。通过使用K-means算法,能够根据对象的属性将用户未选择的对象分成若干个聚类。
接下来,进入第二阶段,图5示出了根据本公开的实施例的决策树500的示意图。决策树是用于预测建模机器学习的重要算法类型,其以类似流程图的结构,其中每个内部节点表示对属性的“测试”,每个分支代表测试的结果,并且每个叶节点代表一个类标签(计算所有属性后做出的决定)。从根节点到叶节点的路径表示分类规则。在决策分析中,决策树和密切相关的影响图被用作视觉和分析决策支持工具。决策树通常用于决策分析,以帮助确定最有可能达到目标,同时也是机器学习中的流行工具的策略。决策树是用于回归和分类问题的广泛使用的非参数有效机器学习建模技术。为了找到解决方案,决策树根据预测器数据对结果变量进行顺序且分层的决策。决策树以树结构的形式构建回归或分类模型。决策树将数据集分解为越来越小的子集,同时关联的决策树也逐渐得到发展,最终形成一棵具有决策节点和叶节点的树。
分类和回归树(CART)是一种决策树算法,其是应用广泛的决策树学习方法,由特征选择、树的生成和剪枝组成,既可以用于分类也可以用于回归。CART算法主要由以下两步组成:决策树生成:基于训练数据集生成决策树,生成的决策树要尽量大;决策树剪枝:用验证数据集对已生成的树进行剪枝并选择最优子树,这时用损失函数最小作为剪枝的标准。
如图4中所示出的数据集410所示,在第一阶段的非监督聚类中,每个对象都已经被分配有聚类ID。数据集410将用于基于有监督的决策树的分类模型。决策树500通过判断一些条件来尝试根据集群ID将对象划分为多个层次子集。对象的属性将用于进行条件判断。CART算法将首先选择最重要的属性,以通过计算基尼值来拆分对象,使得CART成为将所有对象拆分为预先分配的多个聚类的快速且有效的方法。
返回参考图5,根据第一阶段获得的数据集410,通过CART算法,自动生成对应的决策树500。在生成决策树500的过程中,CART算法在计算基尼系数时会考虑各个对象的聚类ID,从而生成最短最高效的路径。在决策树500中,用户选择的对象的聚类所对应的路径为:首先在节点510判断操作系统(OS)类型;如果OS类型是Solaris 520,则在节点530判断数据中心名称;如果数据中心名称是DC2 540,则在节点550判断虚拟机(VM)大小;如果VM大小小于100GB,则到达用户选择的对象的聚类对应的叶节点560。如图5所示,叶节点560处的对象集561除了包括用户选择的对象311、316、317、320、321之外,还包括用户未选择的对象325,其可以提醒用户是否漏选了对象325。通过这种方式,本公开的实施例能够更全面地获得用户意图保护的对象。
图6示出了根据本公开的实施例的判断是否满足决策树拆分的停止条件的示意图。在决策树的较上层,每个节点可能对应具有不同集群ID的多个对象,因而可能很难仅需很少判断条件就将所有对象拆分到正确的组中。随着决策树的不断拆分,各个叶节点对应的对象将包含较少的唯一聚类ID,甚至某些叶节点仅包括具有相同聚类ID的对象。对于用户选择的对象,它们在决策树的较上层与其他对象分在一起。随着决策树的拆分,节点的大小将减小,并且来自其他聚类的越来越多的对象将被拆分到其他节点中。如果决策树拆分操作使得用户选择的对象被拆分成多个子组,则达到了停止对整个树进行拆分的标准。停止条件是指如果决策树再被拆分一次,用户选择的对象就会被分配到决策树中的不同叶节点。也就是说,如果拆分决策树会造成用户选择的对象要被分配到不同的叶节点,则停止决策树的拆分。
如图6中的600表示,叶节点560处的对象集561主要包括用户选择的对象311、316、317、320、321,仅包括一个来自另外的聚类的对象325。假设对决策树中的叶节点560再次拆分,则在节点570CART算法根据VM标签来试图拆分成两个叶节点580和590,其中叶节点580涵盖对象集581,其包括对象311和320,而叶节点590涵盖对象集591,其包括对象316、317、321和325。由此可见,用户选择的对象会被拆分到两个叶节点,满足了针对决策树拆分的停止条件,因而框600中的拆分要被舍弃,决策树500停止扩展,由此完成决策树的生成。
图7示出了根据本公开的实施例的生成动态过滤器的示意图700。如图7所示,在生成决策树500之后,可以基于用户选择的对象所对应的叶节点560到根节点的510的路径,来生成动态过滤器中的各个过滤条件。例如,叶节点560所对应的判断条件包括:判断条件711,OS类型为Solaris;判断条件712,数据中心名称为DC2;以及判断条件713,VM大小小于100GB。基于这些判断条件可以进一步生成动态过滤器710。然后,通过将所生成的动态过滤器710应用于所有的对象310,就可以自动过滤出对象集561,由此符合用户的意图。
通过动态过滤器过滤的最终对象可能与用户选择的对象完全相同,但是也可能包含更多对象。在这种情况下,可以在用户界面上显示提示,让用户检查某个或某些对象是否在最开始的选择阶段被漏选。考虑到用户可能有太多对象可供选择,在这种情况下,用户可以仅选择其中一些对象,而动态过滤器能够自动地帮助用户识别其他类似的对象,因此,本公开的实施例还能够帮助用户找到相似的对象。
图8示出了可以用来实施本公开的实施例的设备800的示意性块图,设备800可以为本公开的实施例所描述的设备或装置。如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个方法或过程可由处理单元801来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU801执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。
在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或块图中的一个或多个方块中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或块图中的一个或多个方块中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或块图中的一个或多个方块中规定的功能/动作。
附图中的流程图和块图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或块图中的每个方块可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方块中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方块实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,块图和/或流程图中的每个方块、以及块图和/或流程图中的方块的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (17)

1.一种用于数据保护的方法,包括:
确定一组对象中用户选择的对象;
根据所述用户选择的对象,生成一个或多个过滤条件;以及
针对所述一组对象中满足所述一个或多个过滤条件的对象,设置预定的保护策略。
2.根据权利要求1所述的方法,还包括:
获得所发现的新的对象;
确定所述新的对象是否满足所述一个或多个过滤条件;以及
根据确定所述新的对象满足所述一个或多个过滤条件,为所述新的对象设置所述预定的保护策略。
3.根据权利要求1所述的方法,其中生成一个或多个过滤条件包括:
确定所述一组对象中用户未选择的对象;
对所述用户未选择的对象执行非监督聚类,以获得多个类别以及各个类别对应的对象;以及
基于所述用户未选择的对象的所述多个类别以及所述用户选择的对象的预留类别,生成用于创建决策树的数据集。
4.根据权利要求3所述的方法,其中生成一个或多个过滤条件还包括:
基于所述数据集,通过有监督分类生成决策树;以及
基于所述决策树中所述预留类别对应的叶节点到根节点的路径,生成所述一个或多个过滤条件。
5.根据权利要求4所述的方法,其中通过有监督分类生成决策树包括:
使用分类和回归树(CART)算法来生成所述决策树;以及
基于所述数据集来拆分所述决策树,直到满足停止条件,所述停止条件是指:如果所述决策树再被拆分一次,所述用户选择的对象就会被分配到所述决策树中的不同叶节点。
6.根据权利要求1所述的方法,其中设置预定的保护策略包括:
确定所述一组对象中满足所述一个或多个过滤条件的对象;以及
基于满足所述一个或多个过滤条件的对象与所述用户选择的对象之间的比较,提醒所述用户是否漏选一个或多个对象。
7.根据权利要求1所述的方法,其中生成一个或多个过滤条件包括:
向所述用户呈现所生成的所述一个或多个过滤条件;以及
接收所述用户对所述一个或多个过滤条件的调整。
8.根据权利要求1所述的方法,其中所述一个或多个过滤条件中的每个条件包括对象的属性、逻辑算符以及比较值,并且针对所述预定的保护策略的所述一个或多个过滤条件和所述预定的保护策略组成动态过滤器。
9.一种电子设备,包括:
处理单元;以及
存储器,其耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
确定一组对象中用户选择的对象;
根据所述用户选择的对象,生成一个或多个过滤条件;以及
针对所述一组对象中满足所述一个或多个过滤条件的对象,设置预定的保护策略。
10.根据权利要求9所述的设备,所述动作还包括:
获得所发现的新的对象;
确定所述新的对象是否满足所述一个或多个过滤条件;以及
根据确定所述新的对象满足所述一个或多个过滤条件,为所述新的对象设置所述预定的保护策略。
11.根据权利要求9所述的设备,其中生成一个或多个过滤条件包括:
确定所述一组对象中用户未选择的对象;
对所述用户未选择的对象执行非监督聚类,以获得多个类别以及各个类别对应的对象;以及
基于所述用户未选择的对象的所述多个类别以及所述用户选择的对象的预留类别,生成用于创建决策树的数据集。
12.根据权利要求11所述的设备,其中生成一个或多个过滤条件还包括:
基于所述数据集,通过有监督分类生成决策树;以及
基于所述决策树中所述预留类别对应的叶节点到根节点的路径,生成所述一个或多个过滤条件。
13.根据权利要求12所述的设备,其中通过有监督分类生成决策树包括:
使用分类和回归树(CART)算法来生成所述决策树;以及
基于所述数据集来拆分所述决策树,直到满足停止条件,所述停止条件是指:如果所述决策树再被拆分一次,所述用户选择的对象就会被分配到所述决策树中的不同叶节点。
14.根据权利要求9所述的设备,其中设置预定的保护策略包括:
确定所述一组对象中满足所述一个或多个过滤条件的对象;以及
基于满足所述一个或多个过滤条件的对象与所述用户选择的对象之间的比较,提醒所述用户是否漏选一个或多个对象。
15.根据权利要求9所述的设备,其中生成一个或多个过滤条件包括:
向所述用户呈现所生成的所述一个或多个过滤条件;以及
接收所述用户对所述一个或多个过滤条件的调整。
16.根据权利要求9所述的设备,其中所述一个或多个过滤条件中的每个条件包括对象的属性、逻辑算符以及比较值,并且针对所述预定的保护策略的所述一个或多个过滤条件和所述预定的保护策略组成动态过滤器。
17.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,所述计算机可执行指令在被执行时使得计算机执行根据权利要求1至8中任一项所述的方法。
CN202010117350.1A 2020-02-25 2020-02-25 用于数据保护的方法、设备和计算机程序产品 Pending CN113378184A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010117350.1A CN113378184A (zh) 2020-02-25 2020-02-25 用于数据保护的方法、设备和计算机程序产品
US16/866,145 US11494272B2 (en) 2020-02-25 2020-05-04 Method, device, and computer program product for data protection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010117350.1A CN113378184A (zh) 2020-02-25 2020-02-25 用于数据保护的方法、设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN113378184A true CN113378184A (zh) 2021-09-10

Family

ID=77366031

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010117350.1A Pending CN113378184A (zh) 2020-02-25 2020-02-25 用于数据保护的方法、设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11494272B2 (zh)
CN (1) CN113378184A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050008163A1 (en) * 2003-06-02 2005-01-13 Liquid Machines, Inc. Computer method and apparatus for securely managing data objects in a distributed context
US20080168218A1 (en) * 2007-01-05 2008-07-10 Hitachi, Ltd. Backup system with continuous data protection
US20080208932A1 (en) * 2007-02-22 2008-08-28 Hitachi, Ltd. Method and system for continuous data protection
US20120331248A1 (en) * 2011-06-23 2012-12-27 Hitachi, Ltd. Storage management system and storage management method
US20140201157A1 (en) * 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods for rule-based virtual machine data protection
CN106657330A (zh) * 2016-12-22 2017-05-10 北京华为数字技术有限公司 用户数据迁移方法和用户数据备份方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10540513B2 (en) * 2016-09-13 2020-01-21 Microsoft Technology Licensing, Llc Natural language processor extension transmission data protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050008163A1 (en) * 2003-06-02 2005-01-13 Liquid Machines, Inc. Computer method and apparatus for securely managing data objects in a distributed context
US20080168218A1 (en) * 2007-01-05 2008-07-10 Hitachi, Ltd. Backup system with continuous data protection
US20080208932A1 (en) * 2007-02-22 2008-08-28 Hitachi, Ltd. Method and system for continuous data protection
US20120331248A1 (en) * 2011-06-23 2012-12-27 Hitachi, Ltd. Storage management system and storage management method
US20140201157A1 (en) * 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods for rule-based virtual machine data protection
CN106657330A (zh) * 2016-12-22 2017-05-10 北京华为数字技术有限公司 用户数据迁移方法和用户数据备份方法、装置及系统

Also Published As

Publication number Publication date
US11494272B2 (en) 2022-11-08
US20210263804A1 (en) 2021-08-26

Similar Documents

Publication Publication Date Title
EP3613179B1 (en) Root cause discovery engine
US10452702B2 (en) Data clustering
US20170193021A1 (en) Identifying patterns of a set of software applications
US11029969B2 (en) Determining characteristics of configuration files
CN110401567B (zh) 告警数据的处理方法、装置、计算设备、介质
CN103605776A (zh) 信息数据库的数据处理方法和装置
US20180285146A1 (en) Workflow handling in a multi-tenant cloud environment
US20210248105A1 (en) Labeling software applications running on nodes of a data center
WO2019226279A1 (en) Frequent pattern analysis for distributed systems
KR102153259B1 (ko) 데이터 도메인 추천 방법 및 추천된 도메인을 이용하여 통합 데이터 저장소 관리 시스템을 구축하는 방법
KR20220155377A (ko) 계정의 식별방법, 식별장치, 전자 디바이스 및 컴퓨터 판독 가능한 매체
CN116483707A (zh) 测试方法、装置、设备、存储介质及程序产品
US11940879B2 (en) Data protection method, electronic device and computer program product
CN113378184A (zh) 用于数据保护的方法、设备和计算机程序产品
CN111198745A (zh) 容器创建的调度方法、装置、介质及电子设备
CN109165325A (zh) 用于切分图数据的方法、装置、设备以及计算机可读存储介质
CN114995719A (zh) 列表渲染方法、装置、设备以及存储介质
CN116888584A (zh) 数据集成背景中的标准化
US20160321262A1 (en) Scoring entries in a repository of business process models to facilitate searching
US9733931B2 (en) Configuration management of engineering artifacts with automatic identification of related change sets based on type system
CN112860626A (zh) 一种文档排序方法、装置及电子设备
US10169382B2 (en) Keyword identification for an enterprise resource planning manager
CN113220501A (zh) 用于数据备份的方法、设备和计算机程序产品
CN110895564A (zh) 一种潜在客户数据处理方法和装置
US20220383140A1 (en) Reduction of nodes for a graph-based knowledge system via distribution models of data

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