首页 / 专利库 / 专利权 / 申请 / 国际申请 / 请求书 / 声明 / 声明性管理框架

声明性管理框架

阅读:34发布:2020-05-11

专利汇可以提供声明性管理框架专利检索,专利查询,专利分析的服务。并且用户生产 力 可通过提供高级意图和应被配置成达到该意图的低级设置之间的 接口 来促进。意图可以用 声明 性语言来表达。意图可被验证以确定其是否符合目标、策略或两者。策略绑定可提供目标和策略之间的关系。可提供允许用户查看具有一个或多个 数据库 的 服务器 的应用程序视图。,下面是声明性管理框架专利的具体信息内容。

1.一种促进数据库管理的生产的系统(200、300、400、600),包括:
接受以声明性语言结构化的高级意图的接口组件(202、302、402、602),其中所述高级意图表示对策略遵守目标集的检查或对使目标集遵守策略的请求,其中所述声明性语言为描述应发生什么事情而非描述应如何实施这些事情的物理语句,由此所述高级意图按照用户的意图来改变,而非按照应被改变来促进所述高级意图的实际配置来表达;
解释所述高级意图并将所述高级意图应用于低级设置的声明性管理组件(204、304、
404、604),其中将所述高级意图应用于低级设置进一步包括标识构成应用程序的目标元素,将所述目标元素封装成目标集,并将所述应用程序部署到另外的系统;以及自动化所述声明性管理组件的至少一个功能的机器学习组件。
2.如权利要求1所述的系统,其特征在于,还包括:
将所述意图分成子分量的解析组件;以及
分析每一子分量以得到具体意图的句法引擎。
3.如权利要求1所述的系统,其特征在于,还包括以预定义配置来部署策略的安全组件。
4.如权利要求1所述的系统,其特征在于,还包括维护与策略、策略版本、目标和方面中的至少一个相关的历史信息的历史组件,其中所述目标为被管理的服务或实体,所述方面被配置成将策略转换成能用于询问或配置底层目标的命令。
5.如权利要求1所述的系统,其特征在于,还包括提供规模管理和规模自动化中的至少一个的聚集组件。
6.如权利要求1所述的系统,其特征在于,还包括通过扩展编程模型来递增地添加方面和目标中的至少一个的配置组件。
7.如权利要求1所述的系统,其特征在于,还包括跨多个服务器和多个产品中的至少一个扩展应用程序的优化组件。
8.如权利要求1所述的系统,其特征在于,还包括包含策略和目标集的绑定组件,所述策略和所述目标集可以由多于一个绑定引用。
9.如权利要求1所述的系统,其特征在于,所述声明性管理组件提供包括多个应用程序的服务器的应用程序视图。
10.一种用于在高级意图和低级设置之间提供接口的方法(700、800),包括:
接收(702、806)声明性意图,其中所述声明性意图表示对策略遵守目标集的检查或对使目标集遵守策略的请求,其中所述声明性意图是由声明性语言描述的,所述声明性语言为描述应发生什么事情而非描述应如何实施这些事情的物理语句,由此所述声明性意图按照用户的意图来改变,而非按照应被改变来促进所述声明性意图的实际配置来表达;
通过解释所述声明性意图并将所述声明性意图应用到低级设置来确定(704)要配置来达到所述意图的一个或多个设置,其中将所述声明性意图应用到低级设置进一步包括标识构成应用程序的目标元素,将所述目标元素封装成目标集,并将所述应用程序部署到另外的系统;以及
配置(706)所述一个或多个设置。
11.如权利要求10所述的方法,其特征在于,还包括提供对所接收到的声明性意图的符合的监视。
12.如权利要求10所述的方法,其特征在于,还包括执行将策略映射到目标集的策略绑定,其中服从策略的对象集合被称为目标集,其中目标集是由路径表达式指定的一组受管目标。
13.如权利要求10所述的方法,其特征在于,还包括检查约束或违反。
14.如权利要求10所述的方法,其特征在于,还包括提供报告功能。
15.如权利要求10所述的方法,其特征在于,配置所述一个或多个设置是跨多个数据库进行的。
16.一种用于在高级意图和低级设置之间提供接口的计算机可执行系统(200、300、
400、600、3100),包括:
用于接收高级意图表达作为声明性语句的计算机实现的装置(202、302、402、602、
3138、3140),其中所述高级意图表示对策略遵守目标集的检查或对使目标集遵守策略的请求,其中所述声明性语句为描述应发生什么事情而非描述应如何实施这些事情的物理语句,由此所述高级意图按照用户的意图来改变,而非按照应被改变来促进所述高级意图的实际配置来表达;以及
用于解释所述高级意图并标识要基于所述高级意图标识做出的设置改变的计算机实现的装置(204、304、404、604、3102、3104),其中标识要基于所述高级意图标识做出的设置改变进一步包括标识构成应用程序的目标元素,将所述目标元素封装成目标集,并将所述应用程序部署到另外的系统;以及
用于配置所标识的设置改变的计算机实现的装置(416、420、610、3102、3104)。
17.如权利要求16所述的计算机可执行系统,其特征在于,还包括用于提供包括多个应用程序的服务器的应用程序视图的计算机实现的装置。
18.如权利要求16所述的计算机可执行系统,其特征在于,还包括用于监视对所述高级意图的符合的计算机实现的装置。
19.如权利要求16所述的计算机可执行系统,其特征在于,还包括以预定义方式部署策略的计算机实现的装置。

说明书全文

声明性管理框架

[0001] 背景
[0002] 日常系统管理员能够管理数据库或具有大量安装的应用程序的其它服务器。系统管理员配置数据库或服务器来满足各种管理目的或管理策略,诸如以可恢复的格式提供数据以便为系统故障做准备。另外,系统管理员应监视策略的更新、报告系统的状态或健康状况(例如,其是否符合所需策略)、当系统不再符合所需策略时做出反应、以及其它动作。
[0003] 为了执行这些动作,系统管理员将策略转换成用于配置系统的一组详细的低级动作。这需要关于由安装的应用程序展示的选项以及所部署的应用程序的细节和语义的大量知识,因为系统管理一般并不是简单且直观的。系统管理员可以建立单独的监视和报告机制,并且如果需要自动化,则该机制必须被手动建立。系统管理员对于所管理的每一目标个别地重复该过程,因此,在管理中并没有规模效率。这导致对每一被管理的目标花费了冗余的时间和工作。
[0004] 执行这些功能的句法可能变得关于启用、禁用或改变各种设置而言是深奥且非用户友好的。另外,在各种设置的位置之间没有一致性。例如,某些设置出现在显示画面上,而其它设置则不被显示。这些以及其它因素增加了定位并改变每一设置所花费的时间量。
[0005] 为克服上述以及其它缺陷,所需的是系统管理员的意图和实现该意图所需的低级设置之间的动态中介。还需要的是用于各种设置的更集中的位置,诸如在显示画面上。
[0006] 概述
[0007] 以下呈现了简化概述以提供对所公开的各实施例的某些方面的基本理解。该概述并不是广泛的纵览,且既非旨在标识诸实施例的关键或重要元素,也非旨在描绘此类实施例的范围。其唯一目的是以简化的形式给出所描述实施例的一些概念,作为后面给出的更加详细的描述的序言。
[0008] 根据一个或多个实施例及其相应的公开内容,结合改进关于数据管理产品的用户生产描述了各方面。提供了管理员的意图和应被修改来实现该意图的低级设置之间的中介以减轻用户交互(例如,控制并应用大量复杂命令)。
[0009] 各实施例可提供用户的意图和实现该意图所需的低级设置之间的中介,由此将用户从控制和应用大量复杂命令的负担中释放出来。相同的方面(facet)可由以不同方式配置的对象来呈现,由此用户不必学习用于配置个别对象的专的语义。可针对一个方面应用策略,并且用户可用单个策略来配置呈现该方面的所有多个对象。方面可以诸如从不同目标中抽象单独的设置(例如,资源消耗方面可能一起监视并配置OS文件系统和数据库服务器的其余空页)。策略可被聚集成“复合管理策略”。
[0010] 根据某些实施例,用户能在特设的基础上指示声明性管理(DMF)系统检查一给定目标是否遵守给定策略。DMF可包括重新配置不遵守的目标以强制策略遵守的能力。基于管理方面的各个属性,DMF识别出“可配置”策略和/或“可强制实施”策略,不论其是简单还是复合的。所提供的是自动化根据时间表的策略检查,同时需要或不需要配置不遵守的目标集的能力。还提供的是自动化在有任何改变时的策略检查,同时需要或不需要配置不遵守的目标集的能力,这可提供对任何偏差的立即警告。
[0011] 自动策略检查可以与在策略评估之后采取的一个动作或一系列动作(例如,当安全策略失败时可能发送电子邮件)相耦合。动作可以与策略评估成功或失败相关联。可在可能时包括各机制来检测使方面变得不遵守的尝试并阻止这些尝试(例如,自动化策略强制实施)。策略可以被定标在分层结构中从服务器上的单个对象直到企业的任一层。定标在应用程序的策略可能仅适用于服务器上属于该应用程序的那些对象。用户可以通过将策略定标在包含许多对象的分层结构的根处来使这些对象纳入策略。采用单个动作,用户可以可靠地改变设置,或者可以检查、配置或自动化许多机器上的策略强制实施。所包括的有对性能或其它动态变化的数据采样并聚集、并且使得这些数据对管理方面可用的收集器。
[0012] 某些实施例可以用集成安全模型来实现。部署在高层的策略可以取代低层策略(例如,服务器组策略优先于数据库策略)。用户可能仅看见目标集或策略中其被准许看见的那些部分。DMF允许用户指示构成“应用程序”的目标元素。DMF应用程序可跨多个服务器、可能从多个产品(例如,厂商)扩展。应用程序可从一个目标导入、保存、且稍后作为单元部署到新目标。所公开的实施例可用于查看不同策略和策略版本的历史,及其与管理目标的关联。用户可以查看任何目标上有效的策略(例如,任何策略中直接约束该目标的那些部分)。还提供了为归档或部署目的脚本运行、导入和导出策略和绑定的方法。
[0013] 各实施例可被集合到软件安装或应用程序部署中以减少系统在其被配置为遵守企业策略之前被发行给用户的机会。包括管理方面作为可扩展API中的一个构造允许用户创建其自己的管理方面来捕捉并实现其管理目的。包括管理目标作为可扩展API中的一个构造意味着附加管理目标可由实现新DMF目标的用户或软件厂商纳入声明性管理。DMF允许整个管理生存期的自动化,包括对部署的自动配置、自动监视、自动遵守报告、以及自动维护/调整。在许多情况下,这导致完全自管理的系统。
[0014] 为实现上述和相关目的,一个或多个实施例包括以下全面描述且在权利要求书中特别指出的特征。以下描述和附图详细地阐明了某些说明性方面,且仅指示了可采用本发明的原理的各种方式中的几种。当结合附图考虑时,将从以下详细描述中清楚其它优点和新颖特征,并且所公开的实施例旨在包括所有这些方面及其等效方面。
[0015] 附图简述
[0016] 图1示出了系统体系结构的高级框图
[0017] 图2示出了提供数据库服务器的可管理性的系统。
[0018] 图3示出了将用户意图动态地应用于数据管理产品的系统。
[0019] 图4示出了用于自动将高级意图应用于低级设置的系统。
[0020] 图5示出了利用所公开的实施例的事件分派机制。
[0021] 图6示出了采用机器学习的系统,该系统便于自动化根据一个或多个实施例的一个或多个特征。
[0022] 图7示出了用于促进用户生产力提高的方法。
[0023] 图8示出了用于配置数据管理产品的方法。
[0024] 图9示出了用户界面的示例性屏幕截图。
[0025] 图10示出了用于应用策略的示例性用户界面。
[0026] 图11示出了用于策略特性的示例性用户界面。
[0027] 图12示出了用于约束特性的示例性用户界面。
[0028] 图13示出了用于约束特性的用户界面的另一示例性屏幕截图。
[0029] 图14示出了用于原子约束特性的示例性用户界面。
[0030] 图15示出了用于策略特性的用户界面的示例性屏幕截图。
[0031] 图16示出了用于显示(或打印)策略执行报告的示例性用户界面。
[0032] 图17示出了示例性策略实例管理用户界面。
[0033] 图18示出了用于已部署策略特性的示例性用户界面。
[0034] 图19示出了用于应用策略实例的示例性用户界面。
[0035] 图20示出了用于服务器特性的示例性用户界面。
[0036] 图21示出了用于服务器特性的另一示例性用户界面。
[0037] 图22示出了示例性系统生存期。
[0038] 图23示出了示例性系统。
[0039] 图24示出了示例性管理工具。
[0040] 图25示出了提供以特设方式操作的数据服务的系统。
[0041] 图26示出了数据平台。
[0042] 图27示出了另一数据平台。
[0043] 图28示出了数据平台的各种数据服务。
[0044] 图29示出了数据平台体系结构。
[0045] 图30示出了示例性适配器图。
[0046] 图31示出了可用于执行所公开的实施例的计算机的框图。
[0047] 图32示出了可用于执行所公开的实施例的示例性计算环境的示意性框图。
[0048] 详细描述
[0049] 现在参照附图描述各实施例,全部附图中,相同的附图标记用于指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对一个或多个方面的全面理解。然而,显然,各实施例能够在无需这些具体细节的情况下实施。在其它情况中,以框图形式示出公知的结构和设备以便于描述这些实施例。
[0050] 如在本申请中所使用的,术语“组件”、“模”和“系统”等旨在表示计算机相关的实体,它可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
[0051] 在此使用词语“示例性”意味着用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
[0052] 如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
[0053] 在此所使用的术语“推断”或“推论”通常是指从经由事件和/或数据捕捉的一组观察结果中推断或推理系统、环境和/或用户的状态的过程。例如,推断可用于标识特定的上下文或动作,或可生成状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑计算所关注状态的概率分布。推断也可以指用于从一组事件和/或数据合成更高级事件的技术。这类推断导致从一组观察到的事件和/或储存的事件数据中构造新的事件或动作,而无论事件是否在相邻时间上相关,也无论事件和数据是来自一个还是若干个事件和数据源。
[0054] 各实施例将按照可包括多个组件、模块等的系统来呈现。可以理解和明白,各种系统可包括结合各附图讨论的另外的(或可以不包括所有)组件、模块等。也可使用这些方法的组合。此处所公开的各实施例可以在电子设备上执行,包括利用触摸屏显示技术和/或鼠标键盘类型接口的设备。这些设备的示例包括计算机(台式和移动)、智能电话、个人数字助理(PDA)、以及有线和无线的其它电子设备。
[0055] 在以下详细描述中,各方面和实施例可以在SQL服务器的上下文中描述。尽管本发明的这些方面可能很好地适用于所公开的实施例,但是本领域的技术人员可以容易地理解,本发明的这些方面同样适用于各种其它数据管理产品。因此,对SQL服务器的任何引用旨在仅示出本发明的各方面,要理解的是本发明的这些方面具有非常广的应用范围。
[0056] 最初参考图1,所示是系统体系结构100的高级框图。数据库或系统管理员(以下称为用户)一般负责提供关于数据管理产品(例如,SQL数据库或服务器)的各种服务(例如,关系型数据库)的持续正确操作。要被管理的服务或实体此处被称为目标102,并且系统100应被配置成实现与目标102相关的这些目的或管理策略。
[0057] 当定义这些策略时,当利用逻辑或声明性语句来描述应发生什么事情(例如,“我应当能够在一小时之内恢复数据”)而非描述应如何实施这些事情的物理语句(例如“以每小时的时间表来创建备份作业”)时,能实现更大的生产力。由此,策略应按照用户的意图来表达,而非按照应被改变来促进此类目的的实际配置设置来表达。
[0058] 策略的实际实现可能是复杂的,因为可能有各自用不同的语义来操纵的许多低级设置。另外,用户可能希望一起处理的设置可能在不同的位置、以不同的方式、或两者皆有地展示。在许多情况下,用户被迫重复地对多个类似的对象应用单个设置(例如,每一数据库对字符数据使用特定的排序次序)。可利用方面104来填补用户的意图和低级设置之间的间隙。方面104可被认为是对用户意图的特定维度建模的一组逻辑特性。用户可以针对由方面104展示的高级构造来创建策略,方面可被配置成将策略转换成能用于询问或配置底层目标102的命令。
[0059] 目标102可通过方面104来展示状态或元数据。例如,表(Table)可具有对应于其模式元数据的状态(例如,名称、所有者等)。存在对应于其物理存储的状态(例如,分区、文件组)以及对应于数据内容的状态(例如,大小、行数)。这些可以是不同的方面,且一个目标类型的每一方面是指定意图的接口。
[0060] 策略可以是例如关于方面104的可接受状态的语句。在经典的声明性样式中,策略指定目标102的期望状态,而非如何达到该期望状态。例如,模式元数据上的策略可能指定名称应以“xy_”开头。这些指定可被定义为可接受状态上的约束106(例如,通过方面104的属性上的简单布尔表达式)。由此,约束106可以是具有单个方面参数的布尔函数,从而指定一组允许的状态。
[0061] 策略108可以指定约束106及其行为(例如,执行约束106的方式)。不同策略可被聚集成复合策略或策略组110(例如,单个策略可能包含对于机器的所有安全要求,或者总体服务器策略可能组合了命名策略、表面区域策略、数据可恢复性策略、空间管理策略)。策略可以引用其它策略。
[0062] 个别策略108可以针对目标102或目标集来显式地评估。策略108可以被应用于单个对象或对象集合(例如,策略可能应用于数据库的所有对象)。策略108也可跨企业来应用(例如,它可能被应用于web农场(web farm)中的所有服务器)。企业管理是能够简化其中配置和维护策略跨越多个不同种类的服务器实例(例如,服务器农场、联合服务器)的企业系统管理并降低其成本的框架。
[0063] 服从策略108的对象集合被称为目标集112,其中目标集112是由路径表达式指定的一组受管目标。目标集112由该路径下的所有目标构成。策略108和目标集112的关联被称为策略绑定114,其是策略108和受管目标集112之间的M:M关系。通过利用目标集112,用户可用单个动作来检查或配置所有其机器。系统100可通过策略绑定自动将一特定策略应用于一特定目标集。绑定也可指定期望的行为的类型(例如,检查违反、将目标改为遵守)。
[0064] 利用被表达为声明性意图的声明性管理,用户可请求将策略108与给定目标集112进行比较,并且可通知该用户目标集112是否遵守策略108。声明性管理用户也可请求使给定目标集112遵守策略。系统可配置目标集112,从而迫使一个或多个设置产生遵守的结果。如果这是不可能的(例如,策略可能要求CPU使用小于80%),则系统可将方面104标记为可配置的,并且拒绝配置依赖于不可配置方面的策略的尝试。下表表示可与所公开的实施例一起使用的示例性方面。
[0065]管理方面 特性 支持目标 描述
类型
IDatabaseMan bool SupportsIndexedViews 数据库 逻辑数据
agement 库管理特

ILoginSettings bool GuestEnabledInUserDatabase 服务器 逻辑服务
string CurrentAuditLevel 器登录相
关特性
IMemorySetti bool A WECapability 服务器 逻辑服务
ngs 器存储器
管理特性
IOffByDefault Bool 服务器 对服务器
AdHocDistributedQueriesEnabled 的
bool DatabaseMailEnabled OffByDef
bool IsSqlClrEnabled ault(默认
bool 关闭)配
OleAutomationProceduresEnabled 置建模
bool
RemoteDacConnectionsEnabled
bool SqlMailXPsEnabled
bool WebXPsEnabled
bool XPCmdShellEnabled
IOwnedObj ect string Owner 模式
IStateDbObjec string Name 表
t string Schema 视图
string Type 存储的过

用户定义的函

[0066] 表1
[0067] 系统100还可诸如通过用户可选择策略自动化来提供进行中的监视和配置。如果调用了自动化,则用户可指定期望行为(例如,检查违反、将目标配置为符合等等)。在某些实施例中,可以对改变执行自动化策略监视,同时需要或不需要配置不符合的目标集。这可向用户提供任何偏差的立即警告。
[0068] 对于自动化,用户还可指定应何时评估策略(例如,根据时间表、只要发生改变)。作为替换或除此之外,系统可自动强制实施策略(例如,不允许将违反策略的改变)。由此,系统100可向用户提供用最小的用户交互来管理配置的手段。
[0069] DMF目录表可被持久保存在非易失性存储(例如,SQL Server情况中的系统数据库)中,诸如dmf_policies(DMF策略)、dmf_constraints(DMF约束);dmf_bindings(DMF绑定);dmf_target_sets(DMF目录集);以及dmf_target_type_to_events(DMF目标类型到事件)。为检查由DFM创建的作业,可利用以下查询:
[0070] SELECT*
[0071] FROM msdb..sysjobs
[0072] WHEREname like’%enforce_bindingOffByDefault%’
[0073] 图2示出了提供数据库服务器的可管理性的系统200。用户可在其整个生存期中管理数据库服务器,并且可在其整个生存期中管理主存在数据库服务器上的多个应用程序。可管理性是系统能有多好地实现用户生产力的度量。生产力可以与使用各种用户功能的简易度、熟悉度、直观度和/或可靠性直接成比例。生产力也可以与管理功能的自动化和以公共且一致的方式管理大量实例和部署的能力中的任一个或两者直接成比例。系统200可在软件安装或应用程序部署期间并入,使得系统不会在其被配置成遵守企业策略之前发行。
[0074] 系统200包括接口组件202、声明性管理组件204以及呈现组件206。系统200提供了允许用户输入意图的简单且可管理的手段,并且可自动将该意图应用于一个或多个设置以便于以最小的用户交互达到该意图。用户可通过接口组件202输入这一意图。
[0075] 用户还可指定要由系统200执行的关于该意图的一个或多个功能。例如,用户可请求系统检查策略遵守给定的目标集。用户可请求使给定目标集遵守策略。作为替换或除此之外,用户可请求策略自动化。策略的示例包括但不限于,命名约定策略、名称约束策略、安全登录策略、配置策略、默认关闭策略、遵守策略、数据库管理策略、分析服务补丁等级策略、备份策略、表面区域配置策略、服务器CPU利用策略等等。
[0076] 尽管定义了目标,但是用户生产力可以在这些目标对应于逻辑单元(例如,部署在服务器实例上的个别应用程序)而非物理单元(例如,个别数据库或文件组)时得到增强。转换为低级动作的细节由系统200执行。
[0077] 当声明性管理组件204解释并识别或推断出策略的意图(可能是其用声明性项来表达的情况)时,它可自动化监视和报告两者。它还可自动化系统200的调整或维护以帮助符合策略。自动调整可包括基于需求和使用的自动索引创建/删除。自动调整可被激活或停用(打开或关闭),并且可为侵略性进行配置(例如,较侵略到较不侵略)。自动调整还可包括例如对OLAP的自动聚集设计。这一设计可包括构建多维数据集(cube)(允许SQL Server分析服务在其学习时添加聚集)。以此方式,系统200能以合理的性能开始,并且在使用中变得更好。
[0078] 例如,意图可被表达为“我应当能够在一小时之内恢复数据”。声明性管理组件204可以推断出恢复数据是期望的(例如,恢复丢失的数据),并且如果系统被关机(例如,故意地或无意地),则做出在与关机基本相同的时刻创建备份副本将达到用户意图的推断。该备份甚至可在最后一个备份是在少于一小时之前做出的情况下发生。由此,即使发生了未在用户意图中具体提到的情况也能满足用户意图。然而,如果意图被表达为“以每小时的时间表来创建备份作业”,则用户意图是不清楚的。用户可能处于各种原因想要备份,原因之一可能是恢复丢失的数据,然而,可能有多种其它原因。另外,项“每小时的时间表”未考虑到系统故障或能够恢复丢失的数据。由此,在意图以声明性语言编写时,系统200能够在其中与该意图的略微的偏差(例如,如果一个或多个用户操纵大量数据,则比每小时的时间表更频繁地创建备份)将更好地匹配用户意图的情况中更好地推断出用户意图。
[0079] 各实施例可用于理解以声明性方式表达的意图。这些实施例可包括识别关键词,并将这些关键词应用于包含关于这些关键词的公共动作的查找表。其它实施例可包括将输入的意图(例如,文字串)解析成其子分量(例如,个别文字)并对每一子分量执行一个或多个功能。可分析每一子分量或关键词以确定类似的文字或一般在行业中使用的或由该特定用户或用户组使用的其它文字。以此方式,可标识重复的动作或类似的动作,并且可对这些动作配置相同或相似的设置或参数。其它实施例可利用句法引擎、机器学习、基于规则的逻辑、人工智能、推断引擎等,来确定或推断用户所请求的意图并将这些意图动态地应用于跨许多应用程序的各种低级设置。
[0080] 为将高级意图自动地应用于低级设置,声明性管理组件204可被配置成标识构成应用程序的目标元素。所标识的目标元素可被封装为由各种个别目标元素构成的单个目标。所得应用程序可被部署到另外的系统,并且可将策略定标在应用程序的这些对象处。由此,采用单个动作,用户可以可靠地改变设置,检查、配置或自动化许多机器上的策略强制实施。声明性管理组件204可以进一步移除应用程序而不干扰目标服务器上的其它对象。
[0081] 如果调用了自动化,则声明性管理组件204可以自动执行所请求的行为。此类行为可包括,但不限于,检查违反、将目标配置为符合等等。自动化还允许用户指定何时应评估策略、何时强制实施策略、或两者。
[0082] 声明性管理组件204可被配置成分析以声明性方式表达的用户意图,并且将该意图应用于应被配置来达到该意图的低级设置。它还可被配置成为归档或部署目的而脚本运行、导入和导出策略和绑定。声明性管理组件204可基于方面的属性来识别可配置和/或可强制实施策略,而不论其是简单的还是复合的。
[0083] 方面可以从诸如BaseFacet(基本方面)等公共接口导出,该公共接口可包含用于访问特性的分派方法和提交逻辑。每一方面可定义特性,特性可以是只读或读/写特性。适配器类可以从BaseFacet接口继承,并且可以聚集底层对象模型类。适配器可利用对象模型类(以及其它逻辑)的物理特性来展示方面特性。
[0084] 呈现组件206可向用户提供关于由声明性管理组件204执行的各种功能的信息。这一信息可以用报告的形式来呈现,该报告可在显示屏上查看、保存到文件、打印等等。自动化策略检查可以与可由系统200自主执行的一个动作或一系列动作相耦合。动作和通知可以与策略评估成功或失败相关联。这一通知可以包括如果安全策略失败则自动向指定的一个人或一组人发送电子邮件、产生音频通知、产生视觉通知(例如,警告语句)、或取决于违反的严重性和所请求的通知类型(如果有)执行其它动作(例如,禁用一个或多个功能)。
[0085] 用户还可通过访问呈现组件206来查看用于任何目标的策略。特定目标可以归入许多不同策略,其中某些策略可能已被应用于该目标本身。可能有该目标所属的定标应用程序,或者目标可能已被绑定到主存该目标的机器或一组上级机器。用户可以查看约束该目标的策略或策略部分。以此方式,用户可以确定目标、策略或约束是否仍适用,或者是否应对一个或多个参数做出修改。
[0086] 关于对策略的符合或策略的违反的信息可通过反馈循环208分程传递到接口组件202或声明性管理组件204。这一反馈可允许系统200在目标或策略违反一个或多个用户定义的参数的情况下自动配置目标或策略以达到期望的用户意图。
[0087] 如果用户期望监视(例如,报告和分析)系统的状态(例如,遵从策略),并分析趋势或问题,则声明性管理组件204可以捕捉策略评估的结果(通过反馈)并将所获得的目标状态的历史编译成用于报告和分析的可操作数据仓库。这一报告可由用户用于监视系统的状态,并且用户可手动纠正任何缺陷。用户还可指示系统200纠正缺陷(或者自动地,或者根据用户请求)。
[0088] 系统200是可扩展的,使得个别体验(例如,管理分区的策略、管理数据可恢复性的策略等)是系统200的扩展。接口组件和系统的其它服务都不依赖于特定目标类型的特定方面。这一分隔允许用户通过简单地扩展编程模型来递增地添加新的声明性管理方面。
[0089] 系统200还可提供各种特征,诸如备份/恢复、索引调整/维护、从物理破坏中自动恢复、后台维护、和/或分区管理。自动系统200维护可包括普通维护任务、自动碎片整理、自动收缩/压缩、自动一致性检验、和/或改进的自动统计。在某些实施例中,系统200可提供在数据库创建时创建的默认备份维护计划,或者可定制默认计划。分区管理可包括滑动窗模式的自动维护(例如,创建新分区/分区功能、合并分区(7天合并为1周等))、归档分区等等。
[0090] 从物理破坏中自动恢复可由系统200来促进。这可通过自动一致性检验或通过对正常操作期间的破坏的检测来触发。规则(例如,基于规则的组件、机器学习组件等)可确定还原策略(例如,索引重建、页还原、文件/文件组还原、整个数据库还原)。
[0091] 系统200可以在三层中得到支持:编程模型、用户界面和管理服务。编程模型允许在多个工具中展示相同的概念,用户动作可执行脚本,并且用户可构建管理应用程序。用户界面(例如,图形、命令行)可构建在编程模型之上。管理服务可提供自动化用户动作的能力并为运行时服务提供主存环境。
[0092] 企业管理可以由系统200通过集中地供应组(例如,CPU、存储和存储器)来促进。系统200还可对组应用并强制实施配置和维护计划,并监视组的维护操作的状态。还提供了用于组配置和维护计划的可重复使用模板,以及用于备份、数据库一致性检验(dbcc)和监视策略的箱外(out-of-the box)模板。系统200可被配置成修改用于组配置和维护计划的管理。在某些实施例中,系统200可以将应用程序部署到一组服务器,并在该组内动态地重新分配应用程序。
[0093] 可以存在具有用于联合服务器的单个系统视图的服务器组的形式概念,诸如用于组管理或健康状况和状态监视的上卷(roll-up)的启动板(launch-pad)。所提供的是组配置、维护和数据收集策略。还提供了组策略符合监视、强制实施和审计,以及对一组服务器的应用程序部署。
[0094] 系统200还可提供数据库应用程序和环境的基于声明性策略的管理。可以提供用于定义数据库应用程序的期望的可操作和管理行为的基于策略的框架,诸如性能要求、安全策略以及可靠性要求。策略可以或者在开发期间或者在部署时定义。数据库系统可以监视,并且在适当时强制实施所定义的行为的遵守。该框架可由想要在提交改变之前检验策略或想要在一旦执行DDL就强制实施服务器策略的任何组件来使用。它还可允许第三方开发者使用同一框架来实现策略。
[0095] 系统200可提供使用声明性策略来管理单个关系型数据库的能力,以及使用声明性策略来管理关系型数据库组的能力。还提供了策略驱动的数据库配置和策略驱动的数据库应用程序部署。用于数据库组的配置、维护和监视的策略驱动的引擎使得数据库管理员能够指定应做什么事情,并且系统可跨多个服务器来执行这一动作。还提供了指定应对一组数据库中的所有数据库的配置、维护和监视做什么事情,并且系统跨多个服务器执行这一动作。
[0096] 图3示出了将用户意图动态地应用于数据管理产品的系统300。系统300可被配置成在系统300可解释的逻辑级捕捉管理意图作为高级策略。系统300包括可被配置成接受输入(例如,目标、策略、意图、目的、请求等)的接口组件302。这一输入可以从诸如系统管理员等用户接收(例如,文本、音频等),或者可以作为来自系统300的反馈。声明性管理组件304可被配置成处理该输入,其中所处理的输入的结果由呈现组件308呈现(例如,显示)或捕捉(例如,报告)。例如,呈现组件308可在显示器、屏幕上、通过音频装置呈现结果,捕捉信息用于稍后的报告目的,等等。
[0097] 呈现组件308可向用户呈现关于目标的符合或不符合的信息,包括各种形式的监视和报告。用户可请求呈现组件308提供任何目标上的有效策略,并且呈现任何策略中直接约束该目标的那些部分。
[0098] 作为替换或除此之外,呈现组件308可通过反馈循环308向输入组件302或声明性管理组件304提供反馈,以此方式,如果系统300被配置成自动执行连续监视和配置功能,则系统300能根据意图连续地监视并配置一个或多个设置点。反馈循环308可使系统300能够自管理、自治愈和自调整(例如,跨箱工作,而非仅仅是关系型的)。策略可以事先设置,从而允许操作中的零接触(例如,最小化用户交互),诸如通过从日常使用中移除各种设置或“调节器”。
[0099] 解析组件310和句法引擎312也可被包括在系统300中。这些组件310、312可以如图所示是声明性管理组件304的子组件或是单独的组件。解析组件310可以取一个或多个以声明性语言表达的用户意图,并且将这些语言划分成可被分析的分量。例如,用户可以输入意图“我应当能够在一小时之内恢复数据(I should be able to recover data to within an hour)”。解析组件310将该句子划分成其单词和词组(例如,我(I)、应当(should)、能够(be able to)、恢复(recover)、数据(data)、在一…内(to within an)、小时(hour))。该信息可由分析每一单词或词组来导出具体用户意图的句法引擎312来评估。
[0100] 某些单词或词组可被丢弃,诸如“我”和“应当”。其它单词,诸如“恢复”可被评估以确定是否有该用户、其它系统用户、或行业内的通用项表达该项的另一方式。例如,系统可以将单词“恢复”与单词“备份”、“故障”、“丢失”等相关。这可使得声明性管理组件304能推断出更宽的用户意图,并且可将该意图应用于使用类似的单词或词组的多个应用程序。
[0101] 图4示出了促进自动将高级意图应用于低级设置的系统400。系统400通过允许用户定义系统应是怎样(策略),而非如何配置系统以使其符合用户意图来减少用户交互。策略可以与诸如安全或访问控制、性能、容量、操作、设置或补丁、部署、声明性管理等各种不同的类别相关。用户可以在从物理实现规范中抽象的逻辑级定义意图一次,并且系统多次应用该意图。系统400可被容纳在数据管理产品(例如,SQL服务器)中。此外,系统可具有导致动作的各种模式。这些模式包括,但不限于,检查遵守、配置为遵守、以及强制实施遵守。
[0102] 系统400包括接口组件402、声明性管理组件404、以及可通过反馈循环408来提供系统反馈的呈现组件406。系统400的各个组件可以独立地或结合操作,以便于声明性管理组件404的一个或多个功能。这些组件包括安全组件410、历史组件412、聚集组件414、配置组件416、优化组件418、以及绑定组件420。这些组件410-420可以如图所示是独立的,或者可以是声明性管理组件404的子组件。
[0103] 接口组件402可以是图形用户界面(GUI)、命令行界面等等。用户可以通过与接口组件402交互来选择性地配置声明性管理组件404的所得输出(例如,对一个或多个设置的改变)。关于接口组件402和示例性用户界面的进一步细节在下文提供。
[0104] 安全组件410可被配置成提供一个或多个安全元素或集成的安全模型。安全组件410可以诸如通过与用户相关联的唯一标识(例如,用户名、用户口令)来收集关于用户的信息。基于为每一用户预定义的安全等级,安全组件410可以选择性地与呈现组件406接口,使得用户能够仅看见目标级或策略中这些用户具有查看许可的那些部分。以此方式,系统400可以减少对用户未被授权或用户对其没有足够信息且因此不应修改的设置的非授权修改、添加、删除等。
[0105] 除此之外或作为替换,安全组件410可被配置成以特定的方式或次序,诸如以预定义配置来部署策略。这一预定义配置可以包括各种任务,诸如允许策略部署在高层以取代较低层策略。例如,服务器组策略可以优先于数据库策略。安全组件410还可检测使方面不遵守的尝试并阻止这些尝试(例如,系统可“强制实施”策略)。然而,应当理解,有多个其它配置可用,并且可由具有适当安全等级的用户来配置。
[0106] 历史组件412可以维护关于先前的策略、策略版本、目标、方面等的信息。这可向系统400的一个或多个组件提供访问先前的策略、策略版本、目标等以确定其各自的关联和相关性的能力。这一历史信息可用可检索的格式在与系统400的一个或多个组件相关联的存储介质中维护。例如,系统400可包括能存储信息的存储器和/或某一其它介质。
[0107] 历史信息可由系统400用于将声明性语句(例如,意图)变换成低级设置,由此允许系统400配置的自动化。例如,用户可以指示构成应用程序的目标元素,并且这些应用程序可从一个目标中导出,且稍后作为单元部署到新目标。该信息也可通过呈现组件406呈现给用户,从而允许用户查看不同策略和策略版本的历史及其与管理目标的关联。用户可使用这一信息来进一步配置系统400、确定特定的系统400配置、或获得关于系统400的过去状态的其它信息。
[0108] 在将物理语句应用于物理目标的情况下,用户通常被迫在其动作中使用服务器专用或应用程序专用的人为产物(artifact),这使得几乎不可能跨许多服务器上的许多应用程序来宽泛地应用意图。为克服这一问题,聚集组件414可被配置成允许规模管理(management on scale),包括规模自动化(automationon scale)。由此,当同一管理方面由以不同方式配置的对象来表示时,用户不必学习或记住用于配置个别对象的专门语义。例如,策略可针对单个目标或针对一组目标来应用(显式地或通过自动化)。由于策略可通过使用接口组件402输入单个策略来针对管理方面应用,因此用户可以配置表示该管理方面的多个对象。然而,定标在应用程序的策略应该仅适用于服务器上属于该应用程序的那些对象。作为替换或除此之外,聚集组件414可以抽象单独的设置,诸如从不同管理目标中抽象设置。例如,资源消耗方面可能同时监视和配置操作系统文件系统以及数据服务器上的其余空页。
[0109] 配置组件416可以允许用户选择性地配置系统400的一个或多个元素(例如,策略、目标)以自动配置一个或多个元素。例如,在特设的基础上,用户可以指示声明性管理组件404验证给定目标是否遵守给定策略。系统400可以重新配置非遵守目标或在其上执行另一动作以强制策略遵守。
[0110] 用户可以通过扩展编程模型,诸如可扩展应用程序接口(API)来递增地添加新方面或目标。API有助于通过一组例程、协议和工具来构建软件应用程序,其中开发者和/或程序员可以采用API来构造与操作环境和用户需求相一致的定制应用程序。包括方面作为可扩展API中的一个构造允许用户创建其自己的方面来捕捉并实现其管理目的。包括目标作为可扩展API中的一个构造允许由实现新目标的用户或软件开发者将附加目标纳入系统400的控制之下。
[0111] 优化组件418可被配置成优化系统400的一个或多个参数。优化组件418可允许系统400应用程序跨多个服务器和多个产品(例如,厂商)来扩展。用户可以通过将策略定标在包含许多对象的分层结构的根处来将这些对象纳入策略。由此,策略可以定标在分层结构中从服务器上的单个对象直到企业的任一层处。
[0112] 对于一组类似的服务器(例如,多服务器配置),系统400提供设置公共配置选项、向组配置强制实施符合、以及审计配置改变的能力。系统可以通过为服务器组配置公共维护计划和作业,监视一组服务器的维护任务的状态的能力,来方便简化服务器组维护。简化服务器组维护也可用用于维护计划、作业和脚本的中央存储库以及审计维护计划改变的能力来提供。
[0113] 系统400可以通过提供监视一组服务器的一般健康状况、基于监视上下文集中于一服务器子集(例如,在所利用的服务器下方或上方)、和/或性能/操作数据收集的能力来方便监视多个服务器。
[0114] 在某些实施例中,优化组件418可被配置成通过允许整个生存期的自动化来提供自管理系统。这可包括系统400的部署的自动配置、自动监视、自动遵守报告、以及自动维护和调整。
[0115] 绑定组件420可被配置成执行绑定评估以便高效地实现一个或多个策略的评估。绑定组件420可以提供策略和目标集之间具有M:M关系的关联(例如,每一目标集有一个策略)。即是说,绑定由一个策略和一个目标集构成。策略可由多于一个绑定来引用。目标集可由多于一个绑定来引用。绑定行为可以是数据驱动的,从而允许使用标准数据复制技术(例如,事务复制)来建立要以类似的方式管理的服务器组。在某些实施例中,绑定评估可以通过计算由目标集描述的一组对象并向每一目标应用所有约束(例如,在由其约束包含的表达式树中执行代码)在客户机代码中执行。策略绑定可以连同用于管理服务的其它元数据一起存储在诸如数据库或其它存储介质中。
[0116] 在某些实施例中,绑定评估可以被变换成可以在服务器上下文中执行的查询。这一查询可以返回违反绑定中的任何约束的对象。可采用变换过程,由此对绑定中以描述目标节点的统一资源名(URN)开头的每一约束,使用包含在约束表达式中的信息来对其求反以仅获得不满足该约束的行。可以获得对应于绑定评估的URN。在大多数情况下,该URN可由枚举器变换成查询,并且可减少对查询的绑定。出于示例的目的而非限制,以下是其中在数据库“JM_Accounts”中所有用户定义的存储的过程以“JM_”开头的约束(采用英语)的一个示例。
[0117] State Interface:IDatabaseObject
[0118] Constraint:StartsWith(@Name,‘JM_’)
[0119] TargetSet
[0120] Urn=Server/Database[@Name=’JM_Accounts’]/StoredProcedure
[0121] Filter=[@lsSystemObject=false()]
[0122] 这可被解析成中间Urn:
[0123] Server/Database[@Name=’JM_Accounts’]/StoredProcedure[@lsSystemObject=false()and not(StartsWith(@Name,‘JM_’))]
[0124] 然后,下一变换将导致其变为类似于以下语句:
[0125] Use[JM_Accounts]
[0126] Select*from sys.procedures where name not like N’JM_%’
[0127] 现在参考图5,所示的利用所公开的实施例的事件分派机制500。诸如DDL触发事件502、跟踪事件504和WMI事件506等事件可从多个数据源收集,并且可置于分阶段区域508中,该区域可以是用于在事件被处理之前存储事件的临时表。可采用算法、方法或其它技术来确定在事件508中什么绑定510(存在于系统500中)是感兴趣的。这一确定可以基于用于绑定510中存在的约束516所使用的(已注册)方面514的现有适配器512(例如,关于向系统500注册的适配器的信息)来做出。绑定510、适配器512、方面514和约束
516可以表示四块表联接518。绑定可以被包括在绑定激活(Binding Activations)520中,它是包括绑定激活的历史表。绑定可如522处所示被激活或评估。可部分地基于所定义的结果和行为来采取自定义动作,该自定义动作可以是例如阻止改变或报告改变以供稍后分析。绑定评估可以与产生事件的操作共享相同的事务上下文。阻止操作可包括在评估绑定的过程中回退事务。
[0128] 图6示出了采用机器学习的系统600,该系统便于自动化根据所公开的各实施例的一个或多个特征。系统600包括用户接口组件602、声明性管理组件604、呈现组件606、反馈循环608以及机器学习组件610。用户可以通过与用户接口组件602的交互来输入各种策略、目的或意图。该信息被传送到声明性管理组件604,后者与机器学习组件610接口来动态地配置系统600。
[0129] 系统600可采用各种机器学习方案来实现各方面。根据某些实施例,可利用人工智能。基于人工智能的系统(例如,显式和/或隐式训练的分类器)可用于执行根据将在下文中描述的一个或多个方面的推断和/或概率判断和/或基于统计的判断。各种分类方案和/或系统(例如,支持矢量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎……)可用于执行关于各实施例的自动化和/或推断的动作。
[0130] 例如,用于确定特定目标集是否符合策略的人工过程可以通过自动分类器系统和过程(例如,人工智能组件)来促进。此外,在多个策略正请求具有相同或相似的资源的情况下,可采用分类器来确定在特定情形中采用哪些策略。
[0131] 分类器是将输入属性矢量x=(x1,x2,x3,x4,xn)映射到该输入属于一个类的置信度的函数,即f(x)=confidence(class)。这一分类可采用基于概率和/或基于统计的分析(例如,分解成分析效用和成本)来预测或推断用户期望自动执行的动作。在数据库系统的情况中,例如,属性可以是单词或词组,或从单词导出的其他数据专用属性(例如,数据库表、键项的存在),而类可以是感兴趣的类别或领域(例如,优先级)。
[0132] 支持矢量机(SVM)是可采用的分类器的一个示例。SVM通过找出可能输入空间中的超曲面来操作,其中,超曲面试图将触发准则从非触发事件中分离出来。直观上,这使得分类对于接近但不等同于训练数据的测试数据正确。可采用其它定向和非定向模型分类方法,包括,例如,朴素贝叶斯、贝叶斯网络决策树、神经网络、模糊逻辑模型以及提供不同独立性模式的概率分类模型。此处所使用的分类也包括用于开发优先级模型的统计回归。
[0133] 如从本说明书中可以容易地理解的,一个或多个实施例可以使用显式训练(例如,经由通用训练数据)以及隐式训练(例如,通过观察用户行为、接收外来信息)的分类器。例如,SVM通过分配器构造器和特征选择模块中的学习或训练阶段来配置。因此,分类器可用于自动学习和执行多个功能,包括但不限于根据预定准则确定何时配置策略或目标、执行哪些存储的策略等。准则可包括,但不限于,要修改的数据或应用程序的量、策略或目标的类型、策略或目标的重要性等等。
[0134] 根据某些实施例,机器学习组件610可利用基于规则的逻辑方案。根据该实施例,可应用实现方案(例如,规则)来控制和/或管制数据库或域内的策略或低级设置。可以理解,基于规则的实现可以基于预定义准则来自动和/或动态地管制策略或目标集。响应于此,基于规则的实现可以通过采用基于任何期望准则(例如,策略或目标类型、策略或目标大小、策略或目标重要性、数据库所有者、用户身份……)的预定义和/或编程的规则来允许、拒绝和/或改变特定策略。
[0135] 作为示例,用户可以建立要求可信标志和/或证书来访问预定义类型的资源,而特定数据库内的其它资源不能要求这一安全凭证的规则。可以理解,任何偏好可以通过规则形式的预定义或预编程来实现。
[0136] 考虑到以上示出并描述的示例性系统,参考图7和8的流程图将可以更好地理解可依照所公开的主题实现的方法。尽管出于简化解释的目的,各方法被显示和描述为一系列的框,但应该理解和明白,所要求保护的主题不受框的顺序所限,因为一些框能够以与在此所叙述和描述所不同的顺序发生和/或与其他框同时发生。而且,并非所有示出的框都是实现以下描述的方法所必需的。可以理解,与各框相关联的功能可以由软件、硬件、其组合、或任何其它合适的装置(例如,设备、系统、进程、组件)来实现。另外,还应该明白,下文以及本说明书全文中所公开的方法能够被存储在制品上,以便于把此类方法传送和转移到各种设备。本领域技术人员将会明白并理解,方法可替换地被表示为一系列相互关联的状态或事件,诸如以状态图的形式。
[0137] 图7示出了用于促进用户生产力提高的方法700。方法700在702处开始,如果接收到意图,则这一意图可以用声明性语言来表达。在704处,确定应被配置来达到该意图的设置。这些设置可以包括高级设置到低级设置。在706处,用最小的用户交互来自动配置适当的设置。
[0138] 图8示出了用于配置数据管理产品的方法800。方法800在802处开始,在接收信息的情况下,这一信息可包括目标、策略、方面、约束、以及与数据管理产品有关的其它信息。方面可具有“获得”和“设置”。约束可将方面评估为例如布尔。可以对每一约束有一个方面,并对每一策略有一个约束。策略具有诸如检查、配置、强制实施等行为。在804处,建立设置和/或应用程序之间的相似性。
[0139] 在806处,接收意图,该意图可以用声明性语言来表达。在808处,执行将策略映射到目标集的策略绑定。当评估策略时,可触发诸如电子邮件或事件日志条目等动作。在某些实施例中,策略可以根据时间表来评估。在810处,可评估约束或违反。如果存在违反,则在812处可采取适当的动作,诸如修改目标或策略。在814处,提供监视和报告功能,并且不论在810是否找到违反都可报告。
[0140] 鉴于所公开的实施例,将呈现各种示例性用户界面和功能场景。用户界面可由接口组件来提供。例如,接口组件可以提供图形用户界面(GUI)、命令行界面等等。例如,可以呈现向用户提供对一个或多个意图、策略或目标进行加载、导入、读取等的区域或手段的GUI,并且该GUI可包括呈现这些动作的结果的区域。这些区域可包括已知的文本和/或图形区域,包括对话框、静态控件、下拉菜单、列表框、弹出菜单、编辑控件、组合框、单选按钮、复选框、按钮以及图形框。另外,可提供便于信息传达的实用工具,诸如可采用用于导航的垂直和/或平滚动条以及确定一区域是否可被查看的工具栏按钮。例如,用户可以通过将信息输入到编辑控件中来与系统交互。
[0141] 用户还可与这些区域交互,以便例如通过诸如鼠标、滚球、键区、键盘、笔和/或语音激活等各种设备来选择和提供信息。通常,诸如键盘上的按钮或回车键等机制可在输入了信息之后采用以启动信息传达。然而,可以理解,所公开的各实施例不限于此。例如,仅仅加亮一复选框可启动信息传达。在另一示例中,可采用命令行界面。例如,命令行界面可以提示(例如,通过显示器上的文本消息和音频声调)用户通过提供文本消息来输入信息。用户然后可提供适当的信息,诸如对应于在该界面提示中提供的选项的字母数字输入或对提示中所提出的问题的回答。可以理解,命令行界面可以与GUI和/或API结合使用。另外,命令行界面可以结合具有有限图形支持和/或低带宽通信信道的硬件(例如,视频卡)和/或显示器(例如,黑白和EGA)来使用。
[0142] 现在参考图9,所示是用户界面的示例性屏幕截图。示出了能够方便搜索和选择策略或约束的对象浏览器900。对象浏览器900可向用户提供操纵策略或约束的参数的各种选择。可选择包括诸如数据库904、安全906、服务器对象908、复制910、管理912、通知服务914、服务器代理916、和其它所需子目录等子目录的目录902。每一子目录904-916可具有进一步的子目录,如由位于每一子目录904-916侧面的加“+”号所指示的,这指示该目录是可展开的。选择管理子目录912,如由所选目录旁边的减“-”号所指示的,这指示该目录可被压缩或展开。
[0143] 在管理子目录912下可以是策略子目录918,该策略子目录可以包括多个策略,诸如策略1 920、策略2 922以及策略N 924,其中N是大于或等于零的数字。管理子目录912还可包括约束子目录926,该约束子目录可以包括多个约束,诸如约束1,928、约束2,930以及约束N 932,其中N是大于或等于零的数字。
[0144] 单个服务器可以根据各实施例以自动化的方式来管理。为对策略绑定、绑定、约束或方面(例如,节点)执行各种动作(例如,查看、创建、编辑、删除、应用、导入等),用户可以从对象浏览器900中的下拉列表中选择所需项目。目标节点可通过加亮该节点并使用鼠标右键(或等效功能)选择所需动作来选择。
[0145] 例如,为对策略绑定执行各种动作,用户可选择节点(例如,加亮节点,并按下鼠标右键)。从下拉菜单中,可以选择诸如“策略绑定管理”等链接以调用“策略绑定特性”窗口或屏幕。为查看策略绑定,可选择“已部署策略”选项卡(例如,用鼠标按键点击)。已部署策略允许用户查看部署在节点上或其后代上的策略绑定。为查看节点上的有效策略绑定,用户可以从“策略绑定管理”下拉菜单中选择“有效策略”选项卡。
[0146] “策略绑定管理”下拉菜单还允许用户创建、编辑或删除策略绑定。为创建策略绑定,选择“新”按钮,这可调用“策略绑定特性”窗口或用户屏幕。策略可从组合框中选择,并且如有需要可选择一时间表。为创建所选策略绑定,用户可接受改变(例如,点击“OK”按钮)。
[0147] 为编辑策略绑定,可选择要编辑的策略绑定(例如,加亮),并且可选择(点击)“编辑”按钮来打开“策略绑定特性”窗口以供编辑。为删除策略绑定,可选择(例如,加亮)要删除的策略绑定。为删除所选的策略绑定,可点击或选择“删除”按钮。
[0148] 图10示出了用于应用策略的示例性用户界面。在特设管理中,策略可通过在对象浏览器900或已注册服务器窗格选择目标节点来应用。从下拉菜单中,可以选择“应用策略”来调用应用策略窗口1000。
[0149] 决定是选择所加载的策略1002还是策略文件1004,并且可选择所需动作。如图所示,选择所加载的策略1002。可提供用于从策略1006的列表中选择一特定策略或指定文件1008的下拉菜单。选择或点击应用或OK按钮1010可应用策略。选择取消1012按钮取消整个动作,并且关闭应用策略窗口1000。
[0150] 为执行关于策略的动作(例如,查看、创建、编辑、删除、导入),可从对象浏览器900中选择策略,并且可从通过右键点击鼠标按键调用的下拉菜单中选择适当的动作。选择“新建”调用“策略特性”窗口。为编辑策略,可以选择所需动作,并且从组合框中,可以选择所需约束或者可创建新约束。为接受改变,可选择(例如,点击)接受或OK按钮。
[0151] 为删除策略,选择(例如,右键点击)策略并从下拉菜单中选择“删除”。为导入策略,从下拉菜单中选择“导入”以调用“导入策略”窗口。选择所需策略文件并选择“OK”按钮。
[0152] 可用类似的方式对约束执行动作。从对象浏览器900中选择约束。为创建约束,从下拉菜单中选择“新建”来调用“约束特性”窗口。选择所需管理方面,并点击“新建”按钮来添加新的表达式行。对于一表达式行,构造“特性运算符值”表达式。为删除一行,可加亮表达式行并按下“删除”按钮。点击“OK”按钮关闭该窗口。
[0153] 可通过调用“约束特性”窗口来编辑约束。可选择不同的管理方面。点击“新建”按钮添加一新的表达式行。表达式行可以用如上所述类似的方式来删除。对于表达式行,用户可以编辑特性、运算符和值。选择“OK”按钮提交改变。
[0154] 图11示出了用于策略特性的示例性用户界面1100,在此情况中,策略是“高安全性”。可选择或输入用户可配置名称1102以及策略1104的描述。可从下拉菜单1106中选择动作。这些动作可包括创建新策略、编辑策略、删除策略等。可从下拉菜单约束列表1108中选择约束。包括状态接口的下拉列表1110可用于每一方面。约束1108和方面1110应仅对适当的动作启用。可选择新建按钮1112来添加新的约束1108或方面1110。
[0155] 可捕捉各种其它类型的信息,包括策略的所有者1114、创建日期1116以及最后修改日期1118。用户可选择取消1120来删除动作并关闭窗口1100。选择OK按钮1122接受当前改变并关闭窗口1100。
[0156] 图12示出了用于约束特性的示例性用户界面1200。该界面可提供用于命名1202或选择约束的手段。可从包含方面列表的下拉菜单中选择管理方面1204。可提供允许用户对每一约束选择各种特性、1206、运算符1208、值1210的表格或列表。这一选择可以从下拉菜单中做出,或者可以通过在表格中直接输入信息来做出。表格应当允许特性的编辑、添加和删除。用户可选择取消1212来删除动作并关闭窗口1200。选择OK按钮1214接受当前改变并关闭窗口1200。
[0157] 图13示出了用于约束特性的用户界面1300的另一示例性屏幕截图。可提供或由系统定义特性名1302、所有者名1304、描述1306、创建日期1308和最后修改日期1310,并且根据某些实施例,用户不能修改这些字段。从约束列表表格1312中,用户可以选择并定义约束名1314、状态接口1316、和约束标识1318。用户可以通过选择适当的动作按钮1320、1322或1324来创建新约束、编辑约束或删除约束。
[0158] 图14示出了用于原子约束特性的示例性用户界面1400。可选择约束名1402,并且可从包括状态接口1404列表的下拉菜单中选择一状态接口。可提供允许用户对每一约束选择各种特性、1406、运算符1408、值1410的表格或列表。这一选择可以从下拉菜单中做出,或者可以通过在表格中直接输入信息来做出。
[0159] 图15示出了用于策略特性的用户界面1500的示例性屏幕截图。可由系统定义诸如特性名1502、所有者名1504、描述1506、创建日期1508和最后修改日期1510等字段,并且根据某些实施例,用户不能修改这些字段。可从下拉动作列表1512中选择动作。从约束列表表格1514中,用户可以选择并定义约束名1516、状态接口1518、和约束标识1520。用户可以通过选择适当的动作按钮1522、1524或1526来创建新策略、编辑策略或删除策略。
[0160] 图16示出了用于显示(或打印)策略执行报告的示例性用户界面1600。可利用类似的用户界面来显示(或打印)策略执行历史。所包括的有日期1602,诸如违反的日期和时间。还提供了策略的标识1604以及策略名1606。还显示了结果1608,并且结果可以用不同的颜色(诸如红色)来显示以将注意力吸引到诸如关于违反的结果。其它结果可包括对策略的符合、对策略的改变等。还可提供能与结果相关的消息1610。列表可对任何列1602-1608排序以用不同的排序次序来显示多个策略。
[0161] 现在参考图17,所示是示例性策略实例管理用户界面1700。该界面可通过选择“策略部署”菜单来调用。用户界面1700可包括用于查看并选择动作1704(例如,检查遵守、修改为遵守……)的表格1702。状态1706也可被修改或查看。对于每一策略1708,可选择时间表1710,该时间表可以是用户定义的或基于其它时间安排准则。可查看时间表的历史1712以允许用户关于给定策略1708执行各种操作。
[0162] 图18示出了用于已部署策略特性的示例性用户界面1800。界面1800可包括用于选择策略的下拉菜单1802。也可从时间表下拉列表1804中选择时间表。可自动输入各种其它字段,诸如约束名1806、动作1808、目标集1810、标识1812、所有者名1814、描述1816、创建日期1818、最后修改日期1820以及最后执行策略日志1822。
[0163] 用户可通过选择复选框1824来选择是否递归地检查所有后代。这一选择应在策略动作是按照时间表来检查时显示。用户还可选择是否启用策略1826。如果该复选框未被复选,则禁用策略。可从该屏幕中查看报告历史1828,并且可打印或保存该历史以供进一步分析。
[0164] 图19示出了用于应用策略实例的示例性用户界面1900。选择诸如“应用策略实例”等动作可调用该用户界面1900。决定是选择所加载的策略1902还是策略文件1904,并且可选择所需动作。如图所示,选择所加载的策略1902。可提供用于从动作列表1906中选择一动作(例如,检查或强制实施)的下拉菜单。复选框1908可启用对所有后代的递归检查。目标集位置1910可由系统提供。选择或点击应用或OK按钮1912可应用策略。选择取消1914按钮取消整个动作,并且关闭应用策略实例窗口1900。
[0165] 图20示出了可与多服务器管理一起使用的用于服务器特性的示例性用户界面2000。管理方面可通过右键点击目标节点来查看。选择下拉菜单中的“特性”调用“特性”窗口。管理方面可例如在左窗格2002中列出。点击一个方面允许用户查看其当前状态,并且管理方面可以具有关于可读名称的属性。
[0166] 为将管理方面的状态提取到策略文件中,打开“特性”窗口200并选择该方面。点击“提取到策略”按钮2004将该状态导出到策略文件。可利用类似的按钮来导入策略绑定。可做出关于是查看已部署策略2006还是有效策略2008的选择。已部署策略2006选项卡允许用户查看部署在节点上或其后代上的策略绑定。
[0167] 可将所需文件名输入到对话框中。“保存”按钮保存改变并关闭窗口。方面上的策略绑定可以通过“特性”窗口来查看,并且点击“已部署策略绑定”选项卡来查看部署到节点和方面上的策略绑定。点击“有效策略绑定”选项卡允许用户查看节点和方面上的有效策略绑定。
[0168] 图21是可与多服务器管理一起使用的用于服务器特性的另一示例性用户界面2100。用户界面2100类似于以上附图中所示的用户界面。当选择已部署策略2102时,向用户提供用于执行动作的各种按钮。可导出已部署策略2104。可通过选择适当的按钮2106、
2108、2110来创建新策略,或者编辑或删除现有策略。
[0169] 将呈现各种场景来示出各种特征。以下是将管理方面聚集在一起的一个示例。连接到关系型服务器并访问该服务器以查看OBD方面的状态。该状态可作为策略导出。用户可走到(或打开)不同的服务器并评估策略(例如,查看违反)。策略可在服务上强制实施。为从SQL Server Management Studio(SQL服务器管理工作室)(SSMS)检查服务器组,用户可访问已注册服务器窗格,并针对该组检查默认关闭(OBD)策略。可呈现具有结果的报告,并且可在该组上强制实施策略。
[0170] 可通过将OBD策略导入到服务器并访问OBD策略节点来提供通过已调度检查的自动化。可查看OBD策略的特性来看动作是否是“按时间表检查”。部署策略,并创建与已安排的检查的绑定。检查报告。可改变服务器的管理方面状态,并且检查报告。
[0171] 命名策略可包括创建关于可针对数据库来检查的名称前缀的策略。该策略可被部署,并创建“强制实施”绑定。可以对服务器做出改变,策略可阻止该改变。BPA策略可包括SSMS中的BPA规则(检查)。
[0172] 可伸缩性和性能可包括来自数据驱动的策略绑定(用于组策略)的可伸缩性。可在一个服务器上部署两个策略(例如,具有已安排检查的OBD策略,具有强制实施的命名策略)。来自一个服务器的策略和绑定可在另一服务器上复制。可检查策略绑定来查看其是否在第二服务器上有效(例如,改变OBD设置并查看违反报告,在服务器上做出改变并确定命名策略是否阻止该改变)。可观察在第一服务器上改变的策略在第二服务器上的效果。
[0173] 来自导出/导入绑定的可伸缩性:在一个服务器上部署两个策略,诸如具有已安排的检查的OBD策略以及具有强制实施的命名策略。接着,从服务器节点导出策略绑定信息文件。走到另一服务器并导入策略绑定文件。检查该策略绑定在第二服务器上是否有效,诸如改变OBD设置并查看违反报告,和/或在服务器上做出改变并显示该命名策略阻止该改变。
[0174] 图22示出了示例性系统生存期2200。所公开的技术可在该系统可解释的逻辑级捕捉管理意图作为高级策略。可伸缩管理允许系统将一个策略应用于许多应用程序、实例和/或服务器。自管理可导向问题检测,导致自动化管理。由此,系统可使敏感默认策略可用。一致的集成管理基础结构可统一地管理所有数据管理产品(例如,SQL)服务。它也可降级工作,从而支持针对例如SQLServer 2000和SQL Server 2005服务器的管理能力。它还可以与其它技术集成,包括但不限于,MOM、动态系统起始(Dynamic Systems Initiative,DSI)、Visual Studio等)。它还可支持用于快速问题解决的深诊断和工具,且因此与可支持性结合。
[0175] 顶部示出了服务生存期2202,而底部示出了应用程序生存期2204。这些可表示例如操作系统2206和服务器实例2208。开发和部署引起配置。监视系统,并且如果有问题则找出问题,且维护系统。这可引起报告、审计和遵守。
[0176] 可利用策略来配置数据管理产品(例如,SQL Server)。例如,可使用策略来执行初始配置,而非审计T-SQL脚本。策略可针对特定配置来检查服务器配置。由此,可发行表示用于服务器配置的最优方法的策略,并且用户可将其环境与参考(最优方法)策略进行比较。可提供对策略事件的特殊处理,以及扩展的声明性管理。
[0177] 以下示例策略仅出于示例的目的而包括。表面区域配置:
[0178] SurfaceArea.CLR==true && SurfaceArea.SQLMail==false&&
[0179] SurfaceArea.DBMail==true
[0180] 名称约束:
[0181] Table.name like“XY_*”
[0182] 分析服务补丁等级:
[0183] As.Major==90 && as.Minor==0 && as.BuildNumber>=2550
[0184] 备份:
[0185] Db.RecoveryModel == simple && (DateTime.Now -db.DifferentialBackupDate)<
[0186] 1 &&(DateTime.N ow-db.FullBackupDate)<30
[0187] 服务器CPU利用
[0188] SQLServer.HostCPUUtilization<80%
[0189] 传统的数据库应用程序包括数据库和与例如客户机API接口的客户机器。该应用程序耦合到数据库模式,其中应用程序按照行和表或嵌入式SQL来考虑。传统上,数据服务受限于应用程序中的确认和约束强制实施(例如,获取、放置、删除、查询)。在客户机—服务器体系结构中,应用程序通常与数据库相连接。所公开的实施例可提供多层、分布式、断开连接、且移动的系统。它对于设备、台式机(计算机)、服务器、群集、是分布式的。数据可在各层之间移动,并且被处理为接近于应用程序。数据可从多个数据源中联合。它可偶尔连接到应用程序。所公开的实施例可提供更丰富的数据类型和更高的数据抽象。它还可提供动态数据(例如,业务流程状态、消息、以及业务规则……)。
[0190] 以下列出了所公开的实施例的某些元素。多层、断开连接的(偶然连接)、分布式、基于SOA的(例如)、开放式、互操作、设备、表、台式机、服务、动态(数据、应用程序移动性)、多个数据源、基于信息的、模型驱动的、组件化的、可定制的、以及可自适应的。
[0191] 所公开的实施例可具有四级抽象:物理、逻辑、概念、编程或呈现。物理指的是记录格式、文件范围、文件组、索引和文件分区。应用程序可能不知道物理级。逻辑级包括表、键、PK/FK约束、规范化、物理数据独立性、关系型应用程序。概念级包括实体、关系、约束、未来应用程序的移动、用于数据平台的目标模型。编程或呈现级没有通用编程模式。它包括实体值、对象、XML,且大多数应用程序应在这些之中变换。
[0192] 当用户创建数据库应用程序时,他们正在数据库内创建对象,并且还可在服务器级创建对象。数据库可包括表和各种对象,并且可以是能具有多个数据库的服务器。表和视图被包括在数据库中。还可以有存在于服务器级的对象。用户可以创建其自己的自定义服务器出错消息,或在SQL Server,例如服务器级创建。所公开的实施例向用户提供了获得服务器的系统或应用程序视图的手段。该视图可以不管服务器是有一个数据库、属于一个特定应用程序的多个数据库、还是具有在同一数据库内的对象的多个应用程序来提供。
[0193] 用户可诸如通过接口组件请求查看应用程序“A”的服务器(例如,用呈现组件),并且可在应用程序“A”上创建策略(例如,用声明性管理组件)。例如,用户请求对应用程序“A”的所有数据库表应以AppA_开头。如果创建了新表,则指定该表以AppA_开头的策略起效,并且将被应用于该新表。系统自动执行部署,而不管其是在一个数据库上还是在多于一个数据库上。由此,最小化了用户交互量。
[0194] 现在参考图23,所示是示例性系统2300。系统包括包含核心业务逻辑2304的应用程序2302。导航/查询2306可以是数据管理服务。数据映射服务可以是业务对象2308以及离线/同步支持2310。还提供了存储接口2312。应用程序按照实体来处理,并且对应用程序有许多数据映射解决方案。提供了阻抗失配,其中应用程序可编写其自己的导航/查询/变换信息。
[0195] 现在参考图24,所示是包括数据库2402、客户机API 2404、BCP 2406和应用程序2408的示例性管理工具。数据管理产品可以是包括客户机库、数据实用程序(例如,BCP
2406)和管理工具的核心关系型引擎。每一服务可以传递行和表。
[0196] 图25示出了提供以特设方式对实体操作(例如,报告、合并、复制)的数据服务的系统2500。所包括的是存储/数据API 2502部分、行/表/MDS部分2504、以及实体部分2506。系统2500提供了各种隐式和显式映射层和映射描述。
[0197] 数据平台在图26中示出。应用程序2602包括核心业务逻辑2604。还包括数据管理服务(例如,导航/查询)2606。值数据服务包括合并复制2608、SSAS 2610和报告构建器2612,以及其它组件。存储接口包括ODBC 2614和与数据库2618接口的ADO.NET 2616。应用程序可以在其DAL层中构建实体(例如,顾客、帐户等)。值数据服务2608、2610和
2612可以对实体起作用(例如,具有独立的描述方法)。
[0198] 图27示出了包括应用程序2702、数据服务2704和其它项目2706的数据平台2700。数据结构可被定义为一个(例如,实体)。例如,可定义项“资产”、“顾客”和“帐户”,然后贯穿实体总线使用它们。可提供数据服务中的有效力的周期,包括定义“资产”、构建共享点资产跟踪应用程序、创建用电子邮件发送表单来更新资产状态的工作流、以及创建资产状态的报告。公司或企业内或在生态系统内的其它事物可连接到该总线。
[0199] 图28示出了数据平台的各种数据服务。这些服务可以是逻辑的2802或概念2804的。逻辑服务2802可以是,例如事务SQL,并且可采取以下格式:
[0200] SELECT SalesPersonID,FirstName,HireDate
[0201] FROM SalesPerson sp
[0202] INNER JOIN Employee e ON
[0203] Sp.SalesPersonID=e.EmployeeID
[0204] INNER JOIN Contract c ON
[0205] e.EmployeeID=c.ContactID
[0206] WHERE e.HireDate<@date”;
[0207] 而概念服务2804可以是实体视图管理器,并且包括具有以下格式的实体SQL。
[0208] SELECT VALUE so
[0209] FROM AWorks.AWorksDB.SalesOrders AS so
[0210] WHERE so.OrderDate<@date”;
[0211] 概念服务2804可以包括提供实体和关系的实体数据模型。还提供了能基于例如扩展的关系代数的实体SQL。该实体SQL能产生并消耗实体,从而提供更好的跨关系的导航。实体视图管理器可以提供实体运行库,并且可提供概念到逻辑映射。
[0212] 现在参考图29,所示的数据平台体系结构2900。该平台可提供数据库镜像制作,以及VLDB和本机XML支持。还能提供多语言可编程性和可扩展性、服务器报告、企业ETL和深数据挖掘
[0213] 图30示出了示例性适配器图3000。方面3002可以从诸如BaseFacet(基本方面)3004等公共接口导出,该公共接口可包含用于访问特性的分派方法和提交逻辑。每一方面可定义特性,特性可以是只读或读/写特性。适配器类3005可以从BaseFacet接口继承,并且可以聚集底层对象模型类。适配器可利用对象模型类3008(以及其它逻辑)的物理特性来展示方面特性。
[0214] 现在参见图31,示出了可用于执行所公开的体系结构的计算机的框图。为了提供用于此处所公开的各方面的附加上下文,图31及以下讨论旨在提供对其中可实现各方面的合适的计算环境3100的简要概括描述。尽管以上在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中描述了一个或多个实施例,但是本领域的技术人员将认识到,各实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。
[0215] 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构……。此外,本领域的技术人员可以理解,本发明的方法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小型机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可操作上耦合到一个或多个相关联的设备。
[0216] 所示各方面也可以在其中某些任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。
[0217] 计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机访问的任一可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机访问的任一其它介质。
[0218] 通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。上述中的任意组合也应包括在计算机可读介质的范围之内。
[0219] 再次参考图31,用于实现各方面的示例性环境3100包括计算机3102,计算机3102包括处理单元3104、系统存储器3106和系统总线3108。系统总线3108将包括但不限于系统存储器3106的系统组件耦合到处理单元3104。处理单元3104可以是各种市场上可购买到的处理器中的任意一种。双微处理器和其它多处理器体系结构也可用作处理单元3104。
[0220] 系统总线3108可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线体系结构中的任一种的局部总线。系统存储器3106包括只读存储器(ROM)3110和随机存取存储器(RAM)3112。基本输入/输出系统(BIOS)储存在诸如ROM、EPROM、EEPROM等非易失性存储器3110中,其中BIOS包含帮助诸如在启动期间在计算机3102内的元件之间传输信息的基本例程。RAM 3112还可包括诸如静态RAM等高速RAM用于高速缓存数据。
[0221] 计算机3102还包括内置硬盘驱动器(HDD)3114(例如,EIDE、SATA),该内部硬盘驱动器3114还可被配置成在合适的机壳(未示出)中外部使用;磁软盘驱动器(FDD)3116(例如,从可移动磁盘3118中读取或向其写入);以及光盘驱动器3120(例如,从CD-ROM盘3122中读取,或从诸如DVD等高容量光学介质中读取或向其写入)。硬盘驱动器3114、磁盘驱动器3116和光盘驱动器3120可分别通过硬盘驱动器接口3124、磁盘驱动器接口3126和光盘驱动器接口3128连接到系统总线3108。用于外部驱动器实现的接口3124包括通用串行总线(USB)和IEEE 1394接口技术中的至少一种或两者。其它外部驱动器连接技术在一个或多个实施例所构想的范围之内。
[0222] 驱动器及其相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机3102,驱动器和介质容纳适当的数字格式的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移动磁盘以及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当理解,示例性操作环境中也可使用可由计算机读取的任何其它类型的介质,诸如zip驱动器、磁带盒、闪存卡、盒式磁带等等,并且任何这样的介质可包含用于执行此处所公开的方法的计算机可执行指令。
[0223] 多个程序模块可储存在驱动器和RAM 3112中,包括操作系统3130、一个或多个应用程序3132、其它程序模块3134和程序数据3136。所有或部分操作系统、应用程序、模块和/或数据也可被高速缓存在RAM 3112中。可以理解,各实施例可用各种市场上可购得的操作系统或操作系统的组合来实现。
[0224] 用户可以通过一个或多个有线/无线输入设备,例如键盘3138和诸如鼠标3140等定点设备将命令和信息输入到计算机3102中。其它输入设备(未示出)可包括话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其它输入设备通常通过耦合到系统总线3104的输入设备接口3142连接到处理单元3108,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等等。
[0225] 监视器3144或其它类型的显示设备也经由接口,诸如视频适配器3146连接至系统总线3108。除了监视器3144之外,计算机通常包括诸如扬声器和打印机等其它外围输出设备(未示出)。
[0226] 计算机3102可使用经由有线和/或无线通信至一个或多个远程计算机,诸如远程计算机3148的逻辑连接在网络化环境中操作。远程计算机3148可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其它常见的网络节点,并且通常包括以上相对于计算机3102描述的许多或所有元件,尽管为简明起见仅示出了存储器/存储设备3150。所描绘的逻辑连接包括到局域网(LAN)3152和/或例如广域网(WAN)3154等更大的网络的有线/无线连接。这一LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
[0227] 当在LAN网络环境中使用时,计算机3102通过有线和/或无线通信网络接口或适配器3156连接到局域网3152。适配器3156可以方便到LAN 3152的有线或无线通信,并且还可包括其上设置的用于与无线适配器3156通信的无线接入点。
[0228] 当在WAN网络环境中使用时,计算机3102可包括调制解调器3158,或连接到WAN3154上的通信服务器,或具有用于通过WAN 3154,诸如通过因特网建立通信的其它装置。
或为内置或为外置的调制解调器3158以及有线或无线设备经由串行端口接口3142连接到系统总线3108。在网络化环境中,相对于计算机3102所描述的程序模块或其部分可以存储在远程存储器/存储设备3150中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它手段。
[0229] 计算机3102可用于与操作上设置在无线通信中的任何无线设备或实体通信,这些设备或实体例如有打印机、扫描仪、台式和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何一个设备或位置(例如,公用电话亭、报亭、休息室)以及电话。这至少包括Wi-Fi和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。
[0230] Wi-Fi,即无线保真,允许从家中、在酒店房间中、或在工作时连接到因特网而不需要线缆。Wi-Fi是一种类似蜂窝电话中使用的无线技术,它使得诸如计算机等设备能够在室内和室外,在基站范围内的任何地方发送和接收数据。Wi-Fi网络使用称为IEEE802.11(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802.3或以太网)。Wi-Fi网络在未许可的2.4和5GHz无线电波段内操作,例如以11Mbps(802.11a)或
54Mbps(802.11b)数据速率操作,或者具有包含两个波段(双波段)的产品,因此该网络可提供类似于许多办公室中使用的基本10BaseT有线以太网的真实性能。
[0231] 现在参见图32,示出了根据各实施例的示例性的计算环境3200的示意性框图。系统3200包括一个或多个客户机3202。客户机3202可以是硬件和/或软件(例如,线程、进程、计算设备)。客户机3202可例如通过采用各实施例而容纳cookie和/或相关联的上下文信息。
[0232] 系统3200也包括一个或多个服务器3204。服务器3204也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器3204可以例如通过使用各实施例来容纳线程以执行变换。在客户机3202和服务器3204之间的一种可能的通信能够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。数据分组可包括例如cookie和/或相关联的上下文信息。系统3200包括可以用来使客户机3202和服务器3204之间通信更容易的通信框架3206(例如,诸如因特网等全球通信网络)。
[0233] 通信可经由有线(包括光纤)和/或无线技术来促进。客户机3202操作上被连接到一个或多个可以用来存储对客户机3202本地的信息(例如,cookie和/或相关联的上下文信息)的客户机数据存储3208。同样地,服务器3204可在操作上连接到一个或多个可以用来存储对服务器3204本地的信息的服务器数据存储3210。
[0234] 以上所描述的包括各实施例的示例。当然,出于描绘各实施例的目的而描述组件或方法的每一个可以想到的组合是不可能的,但本领域内的普通技术人员可以认识到,许多进一步的组合和排列都是可能的。因此,本说明书旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。
[0235] 特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另外指明,否则用于描述这些组件的术语(包括对“装置”的引用)旨在对应于执行所描述的执行此处在示例性方面中所示的功能的组件的指定功能(例如,功能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。在这一点上,也可认识到各方面包括用于执行各方法的动作和/或事件的系统以及具有用于执行这些动作和/或事件的计算机可执行指令的计算机可读介质。
[0236] 另外,尽管可相对于若干实现中的仅一个来公开一个特定特征,但是这一特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其它特征相组合。此外,就在说明书或权利要求书中使用术语“包括”和“含有”及其变体而言,这些术语旨在以与术语“包含”相似的方式为包含性的。
[0237] 此外,一个或多个实施例可以使用产生用于控制基于计算机以实现所公开的各实施例的软件、固件、硬件或其任意组合的标准编程和/或工程技术实现为的方法、装置或制品。此处所用的术语“制品”(或作为替换,“计算机程序产品”)旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁带……)、光盘(例如,紧致盘(CD)、数字通用盘(DVD)……)、智能卡和闪存设备(例如,卡、棒)。另外应该明白,载波可以被用于承载计算机可读电子数据,例如那些用于发送和接收电子邮件或用于访问如因特网或局域网(LAN)等网络的数据。当然,本领域的技术人员将会认识到,在不背离所公开的实施例的范围或精神的前提下可以对这一配置进行许多修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈