用于有效分类数据对象的系统和方法与流程

文档序号:15575432发布日期:2018-09-29 05:25阅读:158来源:国知局

数据管理系统,诸如档案系统和数据丢失保护(dlp)系统,常常以不同方式处理不同类别的数据。例如,不同的数据保留或数据安全性策略可适用于内部电子邮件消息与发送给客户端的电子邮件消息、或营销数据文件与金融或工程数据文件。照此,数据管理系统常常在确定如何处理单个数据对象之前将每个数据对象分配给一个类别。

不幸的是,由数据管理系统处理的数据对象的数量可能非常大,常常伴随着工作负载高峰时期。所以,分类数据对象的过程常常被证明是数据管理系统的瓶颈。因此,本公开识别并解决了对有效分类数据对象的另外且改善的系统和方法的需要。



技术实现要素:

如下文将更详细描述的,本公开描述了根据分类规则集合用于有效分类数据对象的各种系统和方法。本文所描述的系统和方法可创建用于分类数据对象的规则评估作业,然后根据规则评估作业的估计处理时间对规则评估作业进行排队,从而减少根据分类规则集合对数据对象进行分类所需的时间。本文所描述的系统和方法也可估计处理基于历史数据的分类规则所需的处理时间,并且可采用其他技术,以用于提高对数据对象进行分类的效率,诸如利用多核处理器,将规则处理限制为仅是数据对象的一部分,和/或分析规则逻辑,以识别最可能使规则处理时间最小化的操作次序。

在一个示例中,用于有效分类数据对象的计算机实现的方法可包括:(1)根据一组用于分类数据对象的规则接收待分类的数据对象,其中每个分类规则包括一个或多个子句;(2)为分类规则中的每个分类规则创建规则评估作业,规则评估作业指导规则评估处理器根据分类规则内的子句来评估数据对象,其中规则评估处理器以估计的处理时间的递增次序来评估分类规则内的子句;(3)将针对分类规则创建的规则评估作业提交给一个或多个规则评估队列,以供规则评估处理器处理,其中规则评估作业以估计的处理时间的递减次序提交;(4)从规则评估处理器接收每个规则评估作业的评估结果;以及(5)响应于接收规则评估作业的评估结果,根据评估结果对数据对象进行分类。

在一个实施方案中,计算机实现的方法还可包括一组独立执行的规则评估处理器,其中每个规则评估处理器处理来自一个或多个规则评估队列的规则评估作业。在一个实施方案中,独立执行的规则评估处理器可包括多核处理器的核心。在一个示例中,规则评估作业可指导规则评估处理器根据包括逻辑联接子句集合的分类规则来评估数据对象,其中每个子句评估数据对象的一个或多个属性,并且当评估逻辑联结子句中的一个或多个产生否定结果时,规则评估作业指导规则评估处理器终止对分类规则的评估。

在一个实施方案中,分类规则的一个或多个子句可指定规则评估处理器要评估的数据对象的一部分。此外,计算机实现的方法还可包括测量由规则评估处理器评估一个或多个分类规则的一个或多个子句所花费的时间,并且基于测量的时间来估计子句的处理时间。在一个实施方案中,计算机实现的方法还可包括测量由规则评估处理器评估一个或多个分类规则所花费的时间,并且基于测量的时间来估计分类规则的处理时间。

在一个实施方案中,用于实现上述方法的系统可包括存储在存储器中的若干模块,诸如:(1)通信模块,其根据一组用于分类数据对象的规则接收待分类的数据对象,其中每个分类规则可包括一个或多个子句;(2)任务模块,其为分类规则中的每个分类规则创建规则评估作业,规则评估作业指导规则评估处理器根据分类规则内的子句来评估数据对象,其中规则评估处理器以估计的处理时间的递增次序评估分类规则内的子句;(3)排队模块,其将针对分类规则创建的规则评估作业提交给一个或多个规则评估队列,以供规则评估处理器处理,其中规则评估作业以估计的处理时间的递减次序提交;(4)结果模块,其从规则评估处理器接收每个规则评估作业的评估结果;以及(5)分类模块,其响应于接收规则评估作业的评估结果,根据评估结果对数据对象进行分类。系统也可包括至少一个物理处理器,其被配置为执行通信模块、任务模块、排队模块、结果模块和分类模块。

在一些示例中,上述方法可被编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,这些指令在由计算设备的至少一个处理器执行时可使计算设备:(1)根据一组用于分类数据对象的规则接收待分类的数据对象,其中每个分类规则包括一个或多个子句;(2)为分类规则中的每个分类规则创建规则评估作业,规则评估作业指导规则评估处理器根据分类规则内的子句评估数据对象,其中规则评估处理器以估计的处理时间的递增次序评估分类规则内的子句;(3)将针对分类规则创建的规则评估作业提交给一个或多个规则评估队列,以供规则评估处理器处理,其中规则评估作业以估计的处理时间的递减次序提交;(4)从规则评估处理器接收每个规则评估作业的评估结果;以及(5)响应于接收规则评估作业的评估结果,根据评估结果对数据对象进行分类。

来自任意上述实施方案的特征可根据本文所述的一般原理彼此结合使用。在结合附图和权利要求阅读以下详细描述后,将更全面地理解这些以及其他实施方案、特征和优点。

附图说明

附图示出多个示例性实施方案,且是说明书的一部分。这些附图与以下描述一起展示并说明本公开的各种原理。

图1是用于有效分类数据对象的示例性系统的框图。

图2是用于有效分类数据对象的另外示例性系统的框图。

图3是用于有效分类数据对象的示例性方法的流程图。

图4是用于有效分类数据对象的另外示例性系统的框图。

图5是能够实现本文所述和/或示出的实施方案中的一者或多者的示例性计算系统的框图。

图6是能够实现本文所述和/或示出的实施方案中的一者或多者的示例性计算网络的框图。

在整个附图中,相同的参考字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案易存在各种修改形式和另选形式,但附图中以举例的方式示出了具体实施方案,这些实施方案将在本文中详细描述。然而,本文所述的示例性实施方案并不旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求书范围内的所有修改形式、等同形式和替代形式。

具体实施方式

本公开总体涉及用于有效分类数据对象的系统和方法。如下文将更详细解释的,当根据分类规则集合对数据对象进行分类时,本文所描述的系统和方法可通过应用多个处理优化技术以有效地分类数据对象。一些处理优化技术可包括利用多核处理器上的多个处理单元以并行地评估分类规则,并基于历史处理时间数据对分类规则和分类规则内的子句进行排队评估,以增加使用最少处理时间可以确定每个数据对象的分类的可能性。

以下将参考图1、图2和图4提供用于有效分类数据对象的示例性系统的详细描述。还将结合图3提供对应的计算机实现的方法的详细描述。此外,将分别结合图5和图6提供能够实现本文所述的实施方案中的一者或多者的示例性计算系统和网络架构的详细描述。

图1是用于有效分类数据对象的示例性系统100的框图。如该图所示,示例性系统100可包括用于执行一个或多个任务的一个或多个模块102。例如,并且如下文将更详细解释的,示例性系统100可包括通信模块104,其根据用于分类数据对象的多个规则接收待分类的数据对象,其中每个分类规则可包括至少一个子句。示例性系统100可另外包括任务模块106,其针对多个分类规则中的每个分类规则创建规则评估作业,规则评估作业指导规则评估处理器根据分类规则内的子句评估数据对象,其中规则评估处理器以估计的处理时间的递增次序评估分类规则内的子句。示例性系统100也可包括排队模块108,其将针对多个分类规则创建的规则评估作业提交给一个或多个规则评估队列,以供规则评估处理器处理,其中规则评估作业以估计的处理时间的递减次序提交。示例性系统100可另外包括从规则评估处理器接收每个规则评估作业的评估结果的结果模块110。示例性系统100也可包括分类模块112,其响应于接收规则评估作业的评估结果,根据评估结果对数据对象进行分类。示例性系统100也可包括估计模块114,其测量规则评估处理器评估分类规则的处理所花费的时间,以及规则评估处理器评估分类规则子句所花费的时间。估计模块114也可基于所测量的时间来估计这些规则和/或子句的处理时间。虽然示出为单独元件,但图1的模块102中的一者或多者可表示单个模块或应用程序的若干部分。

在某些实施方案中,图1中的模块102中的一者或多者可表示一个或多个软件应用程序或程序,其在由计算设备执行时可致使计算设备执行一个或多个任务。例如,并且如将在下文更详细描述的,模块102中的一者或多者可表示被存储并且被配置为在一个或多个计算设备上运行的软件模块,所述计算设备诸如为图2所示的设备(例如,后端202和/或服务器206)、图5中的计算系统510和/或图6中的示例性网络架构600的部分。图1中的模块102中的一者或多者还可表示被配置为执行一个或多个任务的一个或多个专用计算机的全部或部分。

如图1所示,示例性系统100还可包括一个或多个数据库,诸如数据库120。在一个示例中,数据库120可以被配置为存储数据对象、用于对数据对象进行分类的规则、和/或用于各种数据对象分类执行的行动。数据库120可表示单个数据库或计算设备的部分或者多个数据库或计算设备。例如,数据库120可表示图2中的服务器206的部分、图5中的计算系统510的部分和/或图6中的示例性网络架构600的部分。另选地,图1中的数据库120可表示能够由计算设备访问的一个或多个在物理上单独的设备,计算设备诸如为图2中的服务器206、图5中的计算系统510和/或图6中的示例性网络架构600的部分。

图1中的示例性系统100可以多种方式来实现。例如,示例性系统100的全部或部分可表示图2中的示例性系统200的部分。如图2所示,系统200可包括后端202,其经由网络204与服务器206通信。在一个示例中,后端202可用模块102中的一个或多个进行编程和/或可存储数据库120中的全部或一部分数据。除此之外或另选地,服务器206可用模块102中的一个或多个进行编程和/或可存储数据库120中的全部或一部分数据。

在一个实施方案中,当由后端202和/或服务器206的至少一个处理器执行时,来自图1的模块102中的一个或多个可使得后端202和/或服务器206能够有效分类数据对象。例如,并且如下文将更详细描述的,通信模块104可根据用于分类数据对象的多个规则210接收待分类的数据对象208,其中每个分类规则可包括一个或多个子句212。任务模块106针对多个分类规则210中的每个分类规则创建规则评估作业214,规则评估作业214指导规则评估处理器216根据分类规则内的子句评估数据对象208,其中规则评估处理器216以估计的处理时间的递增次序评估分类规则210内的子句212。排队模块108然后可将针对多个分类规则210创建的规则评估作业214提交给至少一个规则评估队列218,以供规则评估处理器216处理,其中规则评估作业以估计的处理时间的递减次序提交。结果模块110然后可从规则评估处理器216接收用于每个规则评估作业214的评估结果220。最后,分类模块112可响应于接收规则评估作业214的评估结果220,根据评估结果220对数据对象208进行分类。

后端202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。后端202的示例包括但不限于膝上型计算机、平板计算机、台式计算机、服务器、蜂窝电话、个人数字助理(pda)、多媒体播放器、嵌入式系统、可穿戴设备(例如,智能手表、智能眼镜等)、游戏机、上述中的一者或多者的组合、图5中的示例性计算系统510,或任何其他合适的计算设备。

服务器206通常表示能够接收、比较和/或存储数据的任何类型或形式的计算设备。服务器206的示例包括但不限于被配置为提供各种数据库服务和/或运行某些软件应用程序的应用程序服务器和数据库服务器。

网络204通常表示能够促进通信或数据传送的任何介质或架构。网络204的示例包括但不限于:内联网、广域网(wan)、局域网(lan)、个人区域网(pan)、互联网、电力线通信(plc)、蜂窝网络(例如,全球移动通信系统(gsm)网络)、图6中的示例性网络架构600等。网络204可使用无线或有线连接促进通信或数据传送。在一个实施方案中,网络204可促进后端202和服务器206之间的通信。

图3是用于有效分类数据对象的示例性计算机实现的方法300的流程图。图3所示的步骤可由任何合适的计算机可执行代码和/或计算系统执行。在一些实施方案中,图3所示的步骤可以由下述各项的部件中的一者或多者执行:图1中的系统100、图2中的系统200、图5中的计算系统510和/或图6中的示例性网络架构600的部分。

如图3所示,在步骤302处,本文所述系统中的一个或多个可根据用于分类数据对象的多个规则接收待分类的数据对象,其中每个分类规则可包括一个或多个子句。例如,通信模块104可作为图2中的后端202的一部分,根据用于分类数据对象的多个分类规则210接收待分类的数据对象208,其中每个分类规则210可包括一个或多个子句212。

本文所使用的术语“数据对象”通常是指数据管理系统可作为单个对象存储和管理的大量数据。每个数据对象可根据分类规则集合进行分类,数据管理系统基于该分类采取行动。数据对象可以包括但不限于文件、消息、数据结构、数据库记录或网页。

本文所使用的术语“分类规则”通常是指可以被组合以分类数据对象的一个或多个子句集合。每个子句可限定该数据对象的属性,该属性确定该数据对象是否属于该类别。分类规则可使用括号和/或布尔运算符诸如“and”、“or”和“not”组合子句。例如,如果“ownerou=‘engineering’and(文件扩展名=‘dxf’或文件扩展名=‘gdl’)”,则分类规则可将文件分类为“cad制图”。

通信模块104可以多种方式接收数据对象。例如,通信模块104可通过从数据库检索记录或从电子邮件邮箱中提取消息来接收数据对象。在其他示例中,通信模块104可通过从存储设备检索文件来接收数据对象、经由与数据管理系统的连接来接收数据对象,或者通过任何其他合适的手段来进行。

在一个示例中,数据对象的分类可独立于数据管理系统进行。这在数据对象的分类在与数据管理系统相同的设备上执行的实施方案中可能是重要的。无论数据对象分类是在与数据管理系统相同的设备上还是在单独的设备上执行,通信模块104都可通知数据管理系统关于数据对象的分类将异步地继续,并且数据管理系统将在稍后确定时接收数据对象的分类。

在步骤304处,本文所述系统中的一个或多个可针对多个分类规则中的每个分类规则创建规则评估作业,规则评估作业指导规则评估处理器根据分类规则内的子句评估数据对象,其中规则评估处理器以估计的处理时间的递增次序评估分类规则内的子句。例如,任务模块106可作为图2中的后端202的一部分针对多个分类规则210中的每个分类规则创建规则评估作业214,规则评估作业214指导规则评估处理器216根据分类规则210内的子句212评估数据对象208,其中规则评估处理器216以估计的处理时间的递增次序评估分类规则210内的子句212。

任务模块106可以各种方式为每个分类规则创建规则评估作业。例如,任务模块106以包含自然语言或脚本语言编写的分类规则的文本文件的形式可从数据管理系统接收分类规则集合。在另一个示例中,任务模块106可接收以数据库查询语言(诸如sql)所编语句形式的分类规则集合,其可以用于从数据库中选择数据对象。

在接收分类规则集合之后,任务模块106可分析分类规则,以识别包括在每个分类规则内的子句并估计用于每个子句的处理时间。如下文将更详细描述的,任务模块106可使用历史数据估计用于每个子句的处理时间。任务模块106然后可针对每个分类规则创建规则评估作业,规则评估作业指导规则评估处理器以处理时间的递增次序根据每个分类规则内的子句评估数据对象。在一个示例中,评估数据对象可涉及确定提供的数据对象的属性是否匹配由分类规则指定的标准。在另一个示例中,评估数据对象可涉及使用数据库查询从数据库中选择数据对象。

在一个实施方案中,分类规则的一个或多个子句可指定规则评估处理器要评估的数据对象的一部分。例如,电子邮件消息的分类规则可搜索邮件的主题行或消息主体的第一段包含特定单词或一系列单词的消息。在其他示例中,文件的分类规则可搜索在具体日期和时间之后创建的消息或具有“.txt”文件扩展名的消息。

在一个实施方案中,规则评估作业指导规则评估处理器根据包括逻辑联接子句集合的分类规则来评估数据对象,其中每个子句评估数据对象的一个或多个属性,并且当评估逻辑联结子句中的一个或多个产生否定结果时,规则评估作业指导规则评估处理器终止对分类规则的评估。以处理时间的递增次序评估分类规则的子句可减少评估分类规则所需的时间。例如,电子邮件消息的分类规则可搜索匹配“主题不包含‘outofoffice’并且消息包含‘confidential’”的消息。在此示例中,评估消息主题的子句需要的执行时间可少于评估消息主体的子句需要的执行时间。因为这两个子句通过“and”连接,所以如果规则评估处理器确定消息主题包含“outofoffice”,则规则评估处理器然后可确定消息与分类规则不匹配,而不评估规则中的第二个子句。

在步骤306处,本文所述系统中的一个或多个可将针对多个分类规则创建的规则评估作业提交给一个或多个规则评估队列,以供规则评估处理器处理,其中规则评估作业以估计的处理时间的递减次序提交。例如,排队模块108可作为图2中的后端202的一部分,将针对多个分类规则210创建的规则评估作业214提交给一个或多个规则评估队列218,以供规则评估处理器216处理,其中规则评估作业214以估计的处理时间的递减次序提交。通过首先对需要最长处理时间的规则评估作业进行排队,排队模块108可减少处理用于分类规则集合的所有规则评估作业所需的总体时间,因为需要较少处理时间的规则评估作业可以排队,以供其他规则评估处理器与需要最多处理时间的作业并行处理。

排队模块108可以各种方式将规则评估作业提交给规则评估队列。例如,对于分别评估分类规则的每个子句的规则评估处理器,排队模块108可将分类规则的每个子句作为独立的规则评估作业以它们待处理的次序提交给规则评估队列。在另一个示例中,对于可以分离分类规则的子句的规则评估处理器,排队模块108可将分类规则提交给规则评估队列,并指示分类规则的子句待评估的次序。

在一个实施方案中,本文所描述的系统可包括若干独立执行的规则评估处理器,每个规则评估处理器处理来自一个或多个规则评估队列的规则评估作业。在一个实施方案中,独立执行的规则评估处理器可表示多核处理器的核心。例如,排队模块108可作为图2中的后端202的一部分,在由后端202管理的若干规则评估队列218中对规则评估作业214进行排队。来自每个规则评估队列218的作业可以由充当规则评估处理器216的多核处理器的单独处理单元并行评估。

在一个实施方案中,本文所描述的系统可测量由规则评估处理器评估一个或多个分类规则的一个或多个子句所花费的时间,并且基于测量的时间来估计子句的处理时间。本文所描述的系统也可测量由规则评估处理器评估一个或多个分类规则所花费的时间,并且基于测量的时间来估计分类规则的处理时间。例如,估计模块114可作为图2中的后端202的一部分,测量由规则评估处理器216所花费的处理时间224,以评估分类规则210的子句212,并且基于所测量的处理时间224产生处理时间估计226。估计模块114也可测量由规则评估处理器216所花费的处理时间224,以作为整体来评估分类规则210,并基于所测量的处理时间224产生用于分类规则210的处理时间估计226。

估计模块114可以任何合适的方式估计用于分类规则或用于分类规则的子句的处理时间。例如,估计模块可针对分类规则集合中的每个子句和针对每个分类规则整体来维持估计处理时间。估计处理时间可例如表示每个规则或子句的一些或全部处理时间的平均值或中值,或者最近处理时间的移动平均值。

在步骤308处,本文所述系统中的一个或多个可从规则评估处理器接收用于每个规则评估作业的评估结果。例如,结果模块110可作为图2中的后端202的一部分,从规则评估处理器216接收用于每个规则评估作业214的评估结果220。

如本文所使用的术语“评估结果”通常是指确定数据对象是否符合如由分类规则指定的数据分类的标准。结果模块110可以各种方式接收用于每个规则评估作业的评估结果。例如,如上所述,规则评估作业可从分类规则中评估一个子句。结果模块110可从分类规则的子句中的每个接收评估结果。在另一个示例中,规则评估处理器可评估一个规则评估作业中的全部分类规则。结果模块110然后可从评估处理器接收指示数据对象是否属于与分类规则相关联的分类的评估结果。

在步骤310处,本文所述系统中的一个或多个可响应于接收规则评估作业的评估结果,根据评估结果对数据对象进行分类。例如,分类模块112可作为图2中的后端202的一部分,并且响应于接收规则评估作业214的评估结果220,根据评估结果220对数据对象208进行分类。

分类模块112可以多种方式对数据对象进行分类。例如,如果结果模块110接收独立评估分类规则的子句中的每个的若干规则评估作业的结果,则分类模块112可根据分类规则的逻辑来组合评估结果中的每个,以确定数据对象是否符合分类规则的标准。在另一个示例中,分类模块112可从结果模块110接收评估结果,其指示了评估全部分类规则的结果。分类模块112可确定数据对象是否符合分类规则中概述的标准而不执行任何进一步的评估。

在从若干规则评估作业接收评估结果之后,分类模块112可确定数据对象是否符合分类规则集合中的每个中概述的标准。例如,如果分类规则指定如果“发件人ou=‘legal’and主题不包含‘personal’”,电子邮件消息可以被分类为“合法”,并且分类模块112确定电子邮件消息符合那些标准,则分类模块112可将电子邮件消息分类为“合法”。在一些示例中,一旦分类模块112已经将分类分配给数据对象,分类模块112就可终止规则评估作业的执行,其评估数据对象对其他分类规则的一致性。

在确定数据对象的分类之后,分类模块112可将数据对象连同分配的分类一起识别到数据管理系统。在一些示例中,分类模块112可将数据对象分类可用的情况通知数据管理系统,并且当数据管理系统请求时,提供数据对象及其分配的分类的标识。在其他示例中,分类模块112可将数据对象的属性设置为分配的分类。例如,分类模块112可将文件或电子邮件消息的元数据标签或数据库记录中的字段设置为指示数据对象的分配的分类的值。

图4是用于有效分类数据对象的规则处理系统400的框图。如图4所示,规则处理系统400可包括规则控制器402,其根据分类规则集合404评估邮箱408中的电子邮件消息410。分类规则集合404可包括分类规则406。在一个实施方案中,规则控制器402可包括图2中的系统200的后端202,连同图1中的系统100的模块102。

如图4所示,规则控制器402可根据分类规则406的子句中的每个评估电子邮件消息410,如果“发件人ou=‘legal’and收件人域<>‘organization.com’and有附件and“附件文件名称包含‘合同’或‘协议’或‘不公开’或‘许可’or第一段消息包含‘confidential’”,规则控制器402则将电子邮件消息分类为“客户法律文件”。基于历史数据,规则控制器402可确定评估发件人ou和收件人域需要比评估附件文件名称更少的处理时间。规则控制器402可将发件人ou和收件人域的评估排队到规则评估队列412(1),并将附件文件名称的评估排队到规则评估队列412(2)。如果消息不具有附件,则规则控制器402也可确定附件文件名称的评估是不必要的,因此在评估附件文件名称之前应当对评估“有附件”的子句进行排队。在从规则评估处理器414(1)和414(2)接收分类规则406的子句中的每个的评估结果416(1)和416(2)之后,规则控制器402可根据分类规则406确定消息是否可以被分类为“客户法律文件”。

如上文更详细描述的,本文所描述的系统和方法可利用若干可用的处理器来并行地执行规则评估作业,以根据分类规则集合评估每个数据对象。除此之外,本文所描述的系统和方法可使用历史处理时间数据来估计评估每个分类规则和每个分类规则内的子句所需要的处理时间。本文所描述的系统和方法可使用估计处理时间对分类规则的评估和分类规则内的子句进行排队,以使达到每个数据对象的分类的时间量最小化。本文所描述的系统和方法也可使用分类规则的逻辑,在数据对象的适当分类已经被确定时,使规则评估作业的进一步执行能够被终止。

图5是能够实现本文所述和/或示出的实施方案中的一者或多者的示例性计算系统510的框图。例如,计算系统510的全部或一部分可以单独地或与其他元件组合地执行,和/或作为用于执行本文所述的步骤中的一者或多者(诸如图3所示的步骤中的一者或多者)的装置。计算系统510的全部或一部分也可以执行,和/或作为用于执行本文所述和/或示出的任何其他步骤、方法或过程的装置。

计算系统510在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。计算系统510的示例包括但不限于工作站、膝上型计算机、客户端终端、服务器、分布式计算系统、手持式设备或任何其他计算系统或设备。在其最基本的配置下,计算系统510可包括至少一个处理器514和系统存储器516。

处理器514通常表示能够处理数据或解译并执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器514可接收来自软件应用程序或模块的指令。这些指令可致使处理器514执行本文所述和/或示出的示例性实施方案中的一个或多个的功能。

系统存储器516通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器516的示例包括但不限于随机存取存储器(ram)、只读存储器(rom)、闪存存储器或任何其他合适的存储器设备。尽管不是必需的,但在某些实施方案中,计算系统510可包括易失性存储器单元(诸如系统存储器516)和非易失性存储设备(诸如主存储设备532,如下文详细描述)这两者。在一个示例中,来自图1的模块102中的一者或多者可以被加载到系统存储器516中。

在某些实施方案中,除处理器514和系统存储器516之外,示例性计算系统510也可包括一个或多个部件或元件。例如,如图5所示,计算系统510可包括存储器控制器518、输入/输出(i/o)控制器520和通信接口522,它们中的每一者都可经由通信基础设施512互连。通信基础设施512通常表示能够促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础设施。通信基础结构512的示例包括但不限于通信总线(诸如工业标准架构(isa)、外围部件互连(pci)、pciexpress(pcie)或类似的总线)和网络。

存储器控制器518通常表示能够处理存储器或数据或者控制计算系统510的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器518可以经由通信基础结构512来控制处理器514、系统存储器516和i/o控制器520之间的通信。

i/o控制器520通常表示能够协调和/或控制计算设备的输入功能和输出功能的任何类型或形式的模块。例如,在某些实施方案中,i/o控制器520可以控制或促进计算系统510的一个或多个元件之间的数据传送,这些元件是诸如处理器514、系统存储器516、通信接口522、显示适配器526、输入接口530和存储接口534。

通信接口522在广义上表示能够促进示例性计算系统510与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口522可以促进计算系统510与包括附加计算系统的专用或公共网络之间的通信。通信接口522的示例包括但不限于有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器以及任何其它合适的接口。在至少一个实施方案中,通信接口522可以经由到网络(诸如互联网)的直接链路来提供到远程服务器的直接连接。通信接口522还可以通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其它合适的连接来间接提供此类连接。

在某些实施方案中,通信接口522也可表示主机适配器,主机适配器被配置为经由外部总线或通信信道来促进计算系统510与一个或多个附加网络或存储设备之间的通信。主机适配器的示例包括但不限于小型计算机系统接口(scsi)主机适配器、通用串行总线(usb)主机适配器、电气与电子工程师协会(ieee)1394主机适配器、高级技术附件(ata)、并行ata(pata)、串行ata(sata)和外部sata(esata)主机适配器、光纤信道接口适配器、以太网适配器等。通信接口522也可允许计算系统510参与分布式或远程计算。例如,通信接口522可接收来自远程设备的指令或将指令发送到远程设备,以供执行。

如图5所示,计算系统510也可包括至少一个显示设备524,显示设备524经由显示适配器526联接到通信基础设施512。显示设备524通常表示能够可视地显示由显示适配器526转发的信息的任何类型或形式的设备。类似地,显示适配器526通常表示被配置为转发来自通信基础设施512(或来自帧缓冲器,如本领域所已知)的图形、文本和其他数据以在显示设备524上显示的任何类型或形式的设备。

如图5所示,示例性计算系统510也可包括经由输入接口530联接到通信基础结构512的至少一个输入设备528。输入设备528通常表示能够向示例性计算系统510提供输入(由计算机或人类生成)的任何类型或形式的输入设备。输入设备528的示例包括但不限于键盘、指向设备、语音识别设备或任何其他输入设备。

如图5所展示,示例性计算系统510也可包括主存储设备532和经由存储接口534联接到通信基础结构512的备用存储设备533。存储设备532和533通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备532和533可以是磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口534通常表示用于在存储设备532和533与计算系统510的其他部件之间传送数据的任何类型或形式的接口或设备。在一个示例中,来自图1的数据库120可以存储在主存储设备532中。

在某些实施方案中,存储设备532和533可以被配置为对被配置为存储计算机软件、数据或其他计算机可读信息的可移除存储单元执行读取和/或写入。合适的可移除存储单元的示例包括但不限于软盘、磁带、光盘、闪存存储器设备等。存储设备532和存储设备533也可包括用于允许将计算机软件、数据或其他计算机可读指令加载到计算系统510中的其他类似结构或设备。例如,存储设备532和存储设备533可以被配置为读取和写入软件、数据或其他计算机可读信息。存储设备532和533也可以是计算系统510的一部分,或者可以是通过其他接口系统访问的独立设备。

可以将许多其它设备或子系统连接到计算系统510。相反地,图5所示的组件和设备不必都存在以实践本文所述和/或示出的实施方案。上文提及的设备和子系统也可以按照与图5所示不同的方式互连。计算系统510也可采用任何数量的软件配置、固件配置和/或硬件配置。例如,本文所公开的示例性实施方案中的一个或多个实施方案可被编码为计算机可读介质上的计算机程序(也被称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,术语“计算机可读介质”通常是指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括但不限于传输型介质,诸如载波,和非暂态型介质,诸如磁存储介质(例如,硬盘驱动器、磁带驱动器和软盘)、光存储介质(例如,光盘(cd)、数字视频盘(dvd)、blu-ray磁盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配系统。

可以将包含计算机程序的计算机可读介质加载到计算系统510中。然后可以将计算机可读介质上存储的计算机程序的全部或一部分存储在系统存储器516中和/或存储设备532和533的各个部分中。加载到计算系统510中的计算机程序在被处理器514执行时,可以致使处理器514执行,和/或作为用于执行本文所述和/或示出的示例性实施方案中的一者或多者的功能的装置。除此之外或另选地,可以固件和/或硬件形式来实施本文描述和/或示出的示例性实施方案中的一个或多个实施方案。例如,计算系统510可以被配置为适于实现本文所公开的示例性实施方案中的一者或多者的专用集成电路(asic)。

图6是示例性网络架构600的框图,其中客户端系统610、620和630以及服务器640和645可以联接到网络650。如上文所详述,网络架构600的全部或一部分可以单独地或与其他元件组合地执行,和/或作为用于执行本文所公开的步骤中的一者或多者(诸如图3所展示的步骤中的一者或多者)的装置。网络架构600的全部或一部分也可以用于执行,和/或作为用于执行本公开中阐述的其他步骤和特征的装置。

客户端系统610、620和630通常表示任何类型或形式的计算设备或系统,诸如图5中的示例性计算系统510。类似地,服务器640和645通常表示被配置为提供各种数据库服务和/或运行某些软件应用程序的计算设备或系统,诸如应用程序服务器或数据库服务器。网络650通常表示任何电信或计算机网络,包括例如内联网、wan、lan、pan或互联网。在一个示例中,客户端系统610、620和/或630和/或服务器640和/或645可以包括图1的系统100的全部或一部分。

如图6所示,可以将一个或多个存储设备660(1)-(n)直接附接到服务器640。类似地,可以将一个或多个存储设备670(1)-(n)直接附接到服务器645。存储设备660(1)-(n)和存储设备670(1)-(n)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备660(1)-(n)和存储设备670(1)-(n)可表示被配置为使用各种协议与服务器640和645通信的网络附接存储(nas)设备,这些协议为诸如网络文件系统(nfs)、服务器消息块(smb)或通用互联网文件系统(cifs)。

服务器640和645也可以连接到存储区域网络(san)构造680。san构造680通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或架构。san构造680可以促进服务器640和645与多个存储设备690(1)-(n)和/或智能存储阵列695之间的通信。san构造680还可以经由网络650以及服务器640和645以如下方式促进客户端系统610、620和630与存储设备690(1)-(n)和/或智能存储阵列695之间的通信:设备690(1)-(n)和阵列695看起来如同附接到客户端系统610、620和630的本地附接的设备。与存储设备660(1)-(n)和存储设备670(1)-(n)一样,存储设备690(1)-(n)和智能存储阵列695通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。

在某些实施方案中,并且参考图5的示例性计算系统510,通信接口(诸如图5中的通信接口522)可以用于提供每个客户端系统610、620和630与网络650之间的连接性。客户端系统610、620和630可能能够使用例如网页浏览器或其他客户端软件来访问服务器640或645上的信息。此类软件可以允许客户端系统610、620和630访问由服务器640、服务器645、存储设备660(1)-(n)、存储设备670(1)-(n)、存储设备690(1)-(n)或智能存储阵列695托管的数据。虽然图6描绘了使用网络(诸如互联网)来交换数据,但本文所述和/或示出的实施方案并非限于互联网或任何特定的基于网络的环境。

在至少一个实施方案中,本文所公开的示例性实施方案中的一个或多个的全部或一部分可以被编码为计算机程序,并且加载到服务器640、服务器645、存储设备660(1)-(n)、存储设备670(1)-(n)、存储设备690(1)-(n)、智能存储阵列695或它们的任何组合上并由其执行。本文所公开的示例性实施方案中的一个或多个的全部或一部分还可以被编码为计算机程序、存储在服务器640中、由服务器645运行,并且通过网络650分配到客户端系统610、620和630。

如上文所详述,计算系统510和/或网络架构600的一个或多个部件可单独地或与其他元件组合地执行,和/或作为用于执行用于有效分类数据对象的示例性方法的一个或多个步骤的装置。

虽然上述公开使用特定框图、流程图和示例阐述了各种实施方案,但每个框图组件、流程图步骤、操作和/或本文描述和/或示出的组件可使用多种硬件、软件或固件(或它们的任意组合)配置单独和/或共同地实施。此外,包含在其他组件内的组件的任何公开应当被视为在本质上是示例性的,因为可实施许多其他体系结构来实现相同的功能。

在一些示例中,图1中的示例性系统100的全部或部分可表示基于云计算或网络的环境的部分。云计算环境可经由互联网提供各种服务和应用程序。这些基于云的服务(例如软件即服务、平台即服务、基础设施即服务等)可通过网页浏览器或其它远程接口访问。本文所述的各种功能可通过远程桌面环境或任何其它基于云的计算环境提供。

在各种实施方案中,图1中的示例性系统100的全部或部分可促进基于云的计算环境内的多重租赁。换句话讲,本文所述的软件模块可配置计算系统(例如,服务器)以促进本文所述的功能中的一种或多种的多租户应用。例如,本文所述的软件模块中的一个或多个可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作系统、处理系统和/或存储系统。本文所述的模块中的一个或多个还可为每个顾客分割多租户应用程序的数据和/或配置信息以使得一个顾客不能访问另一个顾客的数据和/或配置信息。

根据各种实施方案,图1中的示例性系统100的全部或部分可在虚拟环境内实现。例如,本文所述的模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常是指由虚拟机管理器(例如,超级管理程序)从计算硬件中提取出来的任何操作系统环境。除此之外或另选地,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,术语“虚拟化层”通常是指覆盖操作系统环境和/或从操作系统环境中提取出来的任何数据层和/或应用程序层。虚拟化层可由软件虚拟化解决方案(例如,文件系统过滤器)管理,该软件虚拟化解决方案将虚拟化层呈现为如同它是底层基本操作系统的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件系统和/或注册表内的位置的调用重定向至虚拟化层内的位置。

在一些示例中,图1中的示例性系统100的全部或部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实施,所述移动计算设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等),等等。在一些示例中,移动计算环境可具有一个或多个显著特征,包括例如依赖电池供电、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位系统、陀螺仪、加速计等提供的)位置和移动数据、用于限制对系统级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、用于限制应用程序的安装(例如,仅限于安装来源于经批准的应用程序商店的应用程序)的控制设备,等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。

另外,图1中的示例性系统100的全部或部分可表示一个或多个信息管理系统的部分,与一个或多个信息管理系统交互,消费由一个或多个信息管理系统产生的数据,且/或产生被一个或多个信息管理系统消费的数据。如本文所用,术语“信息管理”可以是指数据的保护、组织和/或存储。信息管理系统的示例可包括但不限于存储系统、备份系统、存档系统、复制系统、高可用性系统、数据搜索系统、虚拟化系统等。

在一些实施方案中,图1中的示例性系统100的全部或部分可表示一个或多个信息安全系统的部分,产生受一个或多个信息安全系统保护的数据,且/或与一个或多个信息安全系统通信。如本文所用,术语“信息安全”可以是指对受保护数据的访问控制。信息安全系统的示例可包括但不限于提供受管理的安全服务的系统、数据丢失防护系统、身份验证系统、访问控制系统、加密系统、策略遵循系统、入侵检测与防护系统、电子发现系统等。

根据一些示例,图1中的示例性系统100的全部或部分可表示一个或多个端点安全系统的部分,与一个或多个端点安全系统通信,且/或从一个或多个端点安全系统接收保护。如本文所用,术语“端点安全”可以是指保护端点系统以避免未授权和/或非法的使用、访问和/或控制。端点保护系统的示例可包括但不限于反恶意软件系统、用户验证系统、加密系统、保密系统、垃圾邮件过滤服务等。

本文描述和/或示出的过程参数和步骤序列仅以举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤可以特定顺序示出或讨论,但这些步骤不必以示出或讨论的顺序来执行。本文描述和/或示出的各种示例性方法也可省略本文描述或示出的步骤中的一个或多个,或除了所公开的那些步骤之外还包括另外的步骤。

虽然本文已经在全功能计算系统的背景中描述和/或示出了各种实施方案,但这些示例性实施方案中的一个或多个可作为各种形式的程序产品来分配,而不考虑用于实际开展分配的计算机可读介质的特定类型。本文所公开的实施方案还可使用执行某些任务的软件模块来实施。这些软件模块可包括脚本文件、批文件或可存储在计算机可读存储介质上或计算系统中的其他可执行文件。在一些实施方案中,这些软件模块可将计算系统配置为执行本文所公开的示例性实施方案中的一个或多个。

此外,本文所述的模块中的一个或多个模块可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文列举的模块中的一个或多个可接收要转换的数据对象和分类规则,转换数据对象和分类规则,输出转换的结果以根据分类规则对数据对象进行分类,使用转换的结果来确定如何处理数据对象,并存储转换的结果以记录数据对象如何进行分类。除此之外或另选地,本文所述的模块中的一个或多个模块可通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。

前文的描述旨在使本领域的其他技术人员能够最好地利用本文所公开的示例性实施方案的各个方面。该示例性描述并非旨在是详尽的或限于所公开的任何确切形式。在不脱离本公开的实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应参考所附权利要求及其等同形式来确定本公开的范围。

除非另有说明,否则本说明书和权利要求中所用的术语“连接到”和“联接到”(以及它们的衍生形式)应被理解为既允许直接的连接,又允许间接(即,经由其他元件或组件)的连接。此外,本说明书和权利要求中所用的术语“一”或“一个”应被理解为意指“至少一个......”。最后,为了便于使用,本说明书和权利要求中所用的术语“包括”和“具有”(以及它们的衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。

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