通用治理的制作方法

文档序号:25040678发布日期:2021-05-14 15:53阅读:67来源:国知局
通用治理的制作方法
通用治理
1.优先权要求
2.本申请要求于2018年10月19日提交的美国临时申请号62/747,896的优先权,其全部内容通过引用并入本文。
技术领域
3.本公开一般而言涉及身份管理,并且更具体而言,涉及用于在各种各样的应用上执行通用身份管理或治理的技术。


背景技术:

4.现代企业在本地和云中都有大量的应用,这些应用被员工、承包商、合作伙伴和最终消费者使用。每个用户在这些应用中具有某些特权,这些特权规定了他们在这些应用中被允许做什么。这些系统的所有用户拥有的所有特权的总和构成风险管理和合规性的总体表面积。过多的特权和有害的特权组合会导致违反合规性。
5.身份管理或治理试图通过支持生命周期管理来使企业客户负责特权足迹。生命周期管理操作的一些示例包括:(i)支持创建、修改和删除新权利的批准和证明(例如,权利生命周期管理);(ii)支持对特权的创建、修改和删除(也称为权利授予)的批准/证明和职责分离(例如,访问请求管理);以及(iii)支持新应用的创建、现有应用的修改和淘汰应用的批准和证明(例如,应用生命周期管理)。
6.为了支持针对各种身份和访问相关实体的这些和其它生命周期管理操作,通常要求身份管理或治理解决方案来支持框架以与这些应用中的每一个集成。以oracle identity governance产品为例,它支持客户用来创建这些集成的大量连接器。


技术实现要素:

7.提供了用于通用治理的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非暂态计算机可读介质)。
8.在各种实施例中,提供了一种方法,该方法包括在数据处理系统处接收对数据的查询或对数据的crud操作的请求,其中数据是一个或多个企业应用的一部分。该方法还包括由数据处理系统获得与一个或多个应用相关联的对象的架构,其中该架构对对象之间的关系进行建模,并且对象表示一个或多个企业应用的数据。该方法还包括由数据处理系统基于所获得的架构来处理查询或crud操作。在一些实施例中,处理包括将查询或crud操作翻译成对一个或多个企业应用的一个或多个特定于架构的调用。调用被配置为根据对象的架构对一个或多个企业应用的数据执行查询或crud。该方法还包括由数据处理系统向用户报告查询或crud操作的结果。在一些实施例中,报告查询或crud操作包括报告在对象的生命周期内对与对象相关联的数据执行的所有对象突变。
9.在各种实施例中,提供了一种包括数据处理系统的系统,该数据处理系统包括一个或多个处理器以及其上存储有指令的非暂态机器可读存储介质,指令在由一个或多个处
理器执行时使得一个或多个处理器执行方法。
10.在各种实施例中,提供了一种包括存储在其上的指令的非暂态机器可读存储介质,指令在由一个或多个处理器执行时使得一个或多个处理器执行方法。
11.在各种实施例中,提供了一种方法,该方法包括在数据处理系统处接收对数据的查询或对数据的crud操作的请求,其中数据是目标应用的一部分。该方法还包括由数据处理系统获得与目标应用相关联的对象的架构,其中该架构对对象之间的关系进行建模,并且对象表示目标应用的数据。该方法还包括由数据处理系统基于架构对对象执行查询或crud操作,由数据处理系统基于架构对数据执行查询或crud操作,并且由数据处理系统报告对数据的查询或crud操作的结果。
12.在一些实施例中,对数据执行查询或crud操作包括将查询或crud操作翻译成对目标应用的一个或多个特定于架构的调用。
13.在一些实施例中,调用被配置为根据架构对目标应用的数据执行查询或crud。
14.在一些实施例中,报告查询或crud操作的结果包括报告在对象的生命周期内对与对象相关联的数据执行的所有对象突变。
15.在一些实施例中,架构是目标应用的丰富版本,其包括数据处理系统内的除代表目标应用中数据的对象之外的附加工件或对象。
16.在一些实施例中,该方法还包括由数据处理系统更新架构,以解释对对象执行查询或crud操作,并且对数据执行查询或crud操作基于更新后的架构。
17.在一些实施例中,对象的架构与数据处理系统内的附加对象相关联,并且附加对象表示企业内要跟踪的信息和任务。
18.在各种实施例中,提供了一种非暂态计算机可读存储器,其存储可由一个或多个处理器执行的多个指令,多个指令包括当由一个或多个处理器执行时使得一个或多个处理器执行包括以下各项的处理的指令:接收对数据的查询或对数据的crud操作的请求,其中数据是目标应用的一部分;获得与目标应用相关联的对象的架构,其中该架构对对象之间的关系进行建模,并且对象表示目标应用的数据;基于架构对对象执行查询或crud操作;基于架构对数据执行查询或crud操作;并且报告对数据的查询或crud操作的结果。
19.在一些实施例中,对数据执行查询或crud操作包括将查询或crud操作翻译成对目标应用的一个或多个特定于架构的调用。
20.在一些实施例中,调用被配置为根据架构对目标应用的数据执行查询或crud。
21.在一些实施例中,报告查询或crud操作的结果包括报告在对象的生命周期内对与对象相关联的数据执行的所有对象突变。
22.在一些实施例中,架构是目标应用的丰富版本,其包括数据处理系统内的除代表目标应用中数据的对象之外的附加工件或对象。
23.在一些实施例中,处理还包括更新架构以解释对对象执行查询或crud操作,并且对数据执行查询或crud操作基于更新后的架构。
24.在一些实施例中,对象的架构与数据处理系统内的附加对象相关联,并且附加对象表示企业内要跟踪的信息和任务。
25.在各种实施例中,提供了一种系统,该系统包括:一个或多个处理器;以及耦合到一个或多个处理器的存储器,存储器存储可由一个或多个处理器执行的多个指令,多个指
令包括在由一个或多个处理器执行时使得一个或多个处理器执行包括以下各项的处理的指令:接收对数据的查询或对数据的crud操作的请求,其中数据是目标应用的一部分;获得与目标应用相关联的对象的架构,其中该架构对对象之间的关系进行建模,并且对象表示目标应用的数据;基于架构对对象执行查询或crud操作;基于架构对数据执行查询或crud操作;并且报告对数据的查询或crud操作的结果。
26.在一些实施例中,对数据执行查询或crud操作包括将查询或crud操作翻译成对目标应用的一个或多个特定于架构的调用。
27.在一些实施例中,调用被配置为根据架构对目标应用的数据执行查询或crud。
28.在一些实施例中,报告查询或crud操作的结果包括报告在对象的生命周期内对与对象相关联的数据执行的所有对象突变。
29.在一些实施例中,架构是目标应用的丰富版本,其包括数据处理系统内的除代表目标应用中数据的对象之外的附加工件或对象。
30.在一些实施例中,处理还包括更新架构以解释对对象执行查询或crud操作,并且对数据执行查询或crud操作基于更新后的架构。
31.在一些实施例中,对象的架构与数据处理系统内的附加对象相关联,并且附加对象表示企业内要跟踪的信息和任务。
32.上面和下面描述的技术可以以多种方式并在多种上下文中实现。参考以下附图,提供了几个示例实施方式和上下文,如下面更详细描述的。但是,以下实施方式和上下文只是其中的几个。
附图说明
33.图1是生命周期管理方法的图示。
34.图2是根据各种实施例的生命周期管理的通用方法的图示。
35.图3图示了根据各种实施例的身份治理框架。
36.图4描绘了图示根据各种实施例的用于通用治理的处理的流程图。
37.图5描绘了用于实现各种实施例的分布式系统的简化图。
38.图6是根据各种实施例的可以通过其将由实施例系统的一个或多个组件提供的服务作为云服务提供的系统环境的一个或多个组件的简化框图。
39.图7图示了可以被用于实现各种实施例的示例计算机系统。
具体实施方式
40.在下面的描述中,将描述各种实施例。为了解释的目的,阐述了具体的配置和细节以便提供对实施例的透彻理解。但是,对于本领域的技术人员来说将显而易见的是,可以在没有具体细节的情况下实践实施例。此外,可以省略或简化众所周知的特征,以免混淆所描述的实施例。
41.介绍
42.应用和每个应用内的对象类型在各种应用之间差异很大。例如:大型机、来自各种供应商的企业资源计划(erp)/客户关系管理(crm)/人力资本管理(hcm)系统、轻量级目录访问协议(ldap)系统、数据库系统以及自定义应用具有管理其用户及其在应用中的许可的
各种方式。这些不同的方法扩展到面向数据的应用,如box、sharepoint等。为了处理应用内管理用户及其许可的各种方式,提供治理这些对象的常规方式是构建满足共用应用编程接口(api)的连接器。治理系统随后使用共用api与目标系统通信,并执行各种创建、读取、更新和删除(crud)操作,这些操作导致数据突变(底层数据的改变)。如图1中所示,身份管理系统100可以包括与包括共用api 115的身份连接器框架110通信的身份管理器或治理系统105。然后,由治理系统105使用共用api 115与一个或多个目标系统120通信,并通过一个或多个连接器125执行各种创建、读取、更新和删除(crud)操作。
43.但是,在常规方法中,目标系统120中的每一个需要其自己的连接器125,并且由这个身份连接器框架110提供的功能性仅限于crud,因此所有生命周期操作仍需要附加的软件层。而且,许多治理功能需要多个目标查询。例如,用于分析职责分离的处理流可以包括检查跨多个应用的访问信息。但是,进行这些查询意味着将目标系统120中的数据同步到治理系统105并处理保持数据同步时的复杂性(诸如周期性数据刷新、跟踪改变并供应回目标)。即使在将所有内容同步到治理系统105之后,也需要附加的软件层来构建实际的生命周期管理支持。
44.因而,需要不同的方法来解决这些问题。在各种实施例中,提供了不同的方法来以统一的方式对目标应用(例如,目标系统120)的整个领域进行建模、以统一的方式在这个模型上进行操作,并在这个模型上执行治理功能。这种方法在本文中称为“通用治理”。该方法可以被认为是包括第一层或治理层、第二层或治理实体层以及第三层或应用实体层的多层方法。第一层是所有治理能力集所在的位置。这些能力可以处理下面层中任何实体的对象生命周期。第二层是治理的核心实体所在的位置。治理实体不是特定于应用的,但仍表示企业客户需要跟踪的信息和任务。例如,企业角色可能驻留在这一层中。诸如谁创建角色、这个角色需要什么、谁批准角色以及谁最后审查角色之类的参数是治理实体的一部分。第三层是特定于应用的实体集所在的位置。这些实体对(一个或多个)目标应用进行建模。目标应用中的对象彼此之间以及与第二层中的对象之间具有关系。例如,用户bob smith(第二层对象)可以具有活动目录账户(第三层对象)。应当理解的是,第二和第三层的这些实体仅表示定义,而不是数据本身。
45.有利的是,这种多层方法适用于所有实体。例如,如对于关系数据库管理系统(rdbms),其中可以使用sql语句对数据库中创建的任何表运行;类似地,核心治理特征集的第一层可以与第二层和第三层中的任何实体一起运行。这种方法使治理能力统一适用于所有对象。只要可以在第二层或第三层中表示对象和关系,第一层中的功能性就没有区别。换句话说,第一层可以通用地治理任何实体。而且,不需要数据同步。例如,所有应用对象都不必必须同步。当在第二层和第三层中对这些实体进行操作时,可以将实体实时地翻译成对实际目标应用的crud操作。
46.而且有利的是,可以增强或丰富目标应用的架构。例如,由于应用实体仅仅是真实目标应用的表示,因此有可能使应用实体的架构成为目标应用的丰富版本。因此,对这个丰富对象的创建操作不仅可以创建实际的目标对象,而且还可以被用于在治理系统内创建其它工件。而且,该方法可以充当对象时间机器。例如,当客户与治理系统交互并且治理系统可以跟踪所有对象突变(无论对象驻留在本地还是远程)时,这都允许治理系统充当对象时间机器,从而能够从安全性和审计角度来看跟踪对象生命周期历史。围绕生命周期的时间
机器和策略对于目标应用可以是完全透明的。
47.治理框架
48.图2图示了用于通用治理的平台200。平台200包括与一个或多个企业系统210(客户端侧)通信的身份管理框架205(服务器侧)。身份管理框架205包括服务器侧组件215,这些服务器组件对治理实体层和目标应用实体层内的对象实现治理服务层内的能力或操作的治理集,如关于图3所述。治理实体层包括不是特定于应用但仍表示企业客户需要跟踪的信息和任务的实体和对象。例如,企业角色可能驻留在这一层中、谁创建这个角色、这个角色需要什么、谁批准该角色以及谁最后对该角色进行审核是治理要求的一部分。目标应用实体层包括以统一的方式对一个或多个企业系统210的一个或多个目标应用220进行建模的实体和对象。目标应用实体层的实体和对象彼此之间具有关系,并且与治理实体层中的实体和对象具有关系。例如,用户bob smith(来自治理实体层的对象)可以具有活动目录账户(目标应用实体层中的对象)。应当理解的是,这些层内的实体和对象仅表示定义而不表示在目标应用220中找到的数据本身。
49.在各种实施例中,服务器侧组件215可以被用于治理或处理下面层中任何实体或对象的对象生命周期。在一些实施例中,能力或操作的治理集可以包括:(i)新权利的创建、修改和删除的批准和证明;(ii)特权的创建、修改和删除(也称为权利授予)的批准/证明和职责分离;和/或(iii)支持新应用的创建、现有应用的修改和淘汰应用的批准和证明。例如,用户可以使用服务器侧组件215在目标应用220上执行能力或操作,诸如结构化查询语言(sql)查询或ldap操作。在执行能力或操作后,身份治理框架205获得与目标应用220相关联的特定于治理的架构225。架构225包括身份治理框架205的层中的实体与对象之间的分层关系,其代表目标应用220的组织或结构。当创建、读取、更新或删除层的实体和/或对象以对治理和目标应用220的核心实体进行动态建模时,架构225可以由用户和/或身份治理框架205生成。利用治理架构225,服务器侧组件215有可能在治理实体层和目标应用实体层中的实体和/或对象上执行能力或操作。
50.当通过在治理实体层和目标应用实体层中对实体和/或对象执行能力或操作而在身份治理框架205中查询、创建、读取、更新或删除实体和/或对象时,创建记录的新的或更新后的架构225(系统中的所有数据突变(例如,crud)可以正在建立新的或更新后的架构)。在一些情况下,新的或更新后的架构225与用于在治理实体层和目标应用实体层中的实体和/或对象上执行能力或操作的原始架构225相同、相似或不同。例如,在实体和/或对象上执行能力或操作可能会或可能不会影响底层定义或数据中的改变(例如,查询操作不会影响改变),因此新的或更新后的架构225可以与原始架构225相同、相似或不同。如果目标应用220具有与身份治理框架205的连接性,那么记录的新的或更新后的架构225然后被用于运行查询或更新目标应用220内的真实数据。如果目标应用220未连接到身份治理框架205,那么可以使用脱机机制(诸如人为干预)来运行查询或更新目标应用220内的真实数据。不是由实体和/或对象表示的所有实际数据都需要为每个能力或操作获取,而是随着服务器侧组件115在治理实体层和目标应用实体层中的实体和/或对象上执行能力或操作,仅需要根据需要从目标应用120中获取操作中使用的实际数据。由于以统一的方式对每个目标应用120进行建模并且以统一的方式对模型的实体和/或对象执行能力或操作,因此有可能对目标应用120进行通用管理。
51.实体和/或对象都不必必须与目标应用120同步。随着能力或操作在实体和/或对象上被执行,架构125被更新并且能力或操作作为目标应用120上的查询或crud操作被实时翻译。例如,身份治理框架105在能力或操作在层中的实体和/或对象上执行时更新架构125,并将能力或操作以及目标应用120的更新后的架构125传送到翻译层130。翻译层130读取能力或操作以及更新后的架构125,并且对一个或多个目标应用进行适当的特定于架构的调用135。可以使用查询或操作语言(诸如rest、graphql或任何其它架构表示语言)来配置调用135,以便与一个或多个目标应用120通信。调用125被配置为对由客户端侧125处(例如在目标应用120处)的架构125的实体和/或对象表示的数据(目标应用120中的真实数据)执行能力或操作。翻译层130经由通信网络140与目标应用120通信。通信网络140的示例可以包括移动网络、无线网络、蜂窝网络、局域网(lan)、广域网(wan)、其它无线通信网络或其组合。
52.在各种实施例中,由于实体和/或对象仅仅是真实目标应用120的表示,因此有可能使每个目标应用120的架构125成为目标应用120的丰富版本。例如,对丰富对象的创建操作不仅可以创建实际的目标对象,而且还可以在身份治理框架105中创建其它工件(工件不一定是目标应用的一部分)。而且,由于当用户与身份治理框架105交互时对实体和/或对象执行操作,因此身份治理框架105可以跟踪所有对象突变,无论对象位于本地还是远程。这允许身份治理框架105充当对象时间机器,能够从安全性和审计角度来看跟踪对象生命周期历史。围绕生命周期的这个时间机器和策略对于目标应用120是完全透明的。
53.如图3中所示,治理框架300(例如,关于图2所述的身份治理框架105)可以包括治理服务层305、治理实体层310和目标应用实体层315。在各种实施例中,每个企业单元(例如,公司)具有治理服务层305、治理实体层310和目标应用实体层315的不同实例。治理服务层305包括用于企业单元的能力或操作320的治理集合。在一些实施例中,能力包括:(i)访问请求,例如,确定谁正在访问什么以及何时访问的能力,(ii)证明,例如,我们是否具有针对该访问的批准线索、谁批准了该访问以及何时批准、批准被审查了没有、是否应当进一步审查访问或者访问已经到期等,(iii)职责划分,例如,在多个应用之间是否存在访问冲突,(iv)数据挖掘和分析,例如,用户访问资源多频繁、通常从何处访问资源、如何访问资源、是否在特定时间段内以较高/较低的数量授予了认证特权等,以及(v)对象时间机器,例如,可以为了安全性和审计目的而回顾对象的生命并跟踪对象的生命周期历史。
54.治理实体层310包括用于企业单元的治理实体325a

n的核心集合(“n”表示任何自然数)。治理实体325a

n不是特定于应用的,但仍表示企业客户需要跟踪的信息和任务。例如,治理实体325a

n可以是如企业角色的策略对象。诸如谁创建角色、这个角色需要什么、谁批准该角色以及谁最后一次审查该角色之类的参数是治理实体325a

n的一部分。目标应用实体层315是特定于应用的实体集合335a

n所在的位置,其对企业单元感兴趣治理的对应目标应用a

n进行建模。实体335a

n使用对象340a

n对(一个或多个)目标应用进行建模。目标应用实体层315中的对象340a

n彼此之间以及与治理实体层310中的对象330a

n具有关系。例如,对治理实体325a

n(诸如企业角色)的突变(例如,对实体或对象的crud操作)会造成对实体335a

n的对象340a

n的突变,其对(一个或多个)目标应用进行建模。目标应用实体层315中的对象以及层治理实体层310和目标应用实体层315中的对象之间的关系被表示为分层树的节点,其中的分支示出每个对象之间的链接/关系。例如,对象205可以表示
具有用于活动目录应用215的活动目录账户的特定用户210的角色,该活动目录账户包括活动目录组220、活动目录组织225和活动目录组成员资格230。
55.对象330;340之间的表示以统一的方式暴露用于目标应用的组织或结构的架构,使得来自治理服务层305的能力的治理集合可以在治理实体层310的和目标应用实体层315中的实体325;335和/或物体330;340上操作。只要对象330;340和关系可以在治理实体层310和目标应用实体层315中被表示,治理服务层305中的功能性就不做任何区分。换句话说,治理服务层305可以通用地治理任何实体325;335。在各种实施例中,对象模型对于每个目标应用在架构中提供,例如作为每个应用上的一层。在一些实施例中,将应用的核心集合提供给企业单元,其具有用于每个应用的架构,该架构包括已经在分层树中映射出的对象。在其它实施例中,用户可以为每个应用(例如,自定义应用)设计架构,该架构包括在分层树中映射出的对象。
56.利用特定于治理的架构,有可能在治理实体层310和目标应用实体层315中的实体325;335和对象330;340上执行能力或操作。不是对象330;340所表示的所有实际数据都需要为每个能力或操作获取,代替地,仅当治理服务层305执行治理能力或操作时才需要按需获取在能力或操作中使用的实际数据。例如,如果使用包括以下内容的治理服务层305运行查询:我想知道每个具有角色的人,因为只有具有该角色的人才应当被允许访问这个应用。不是由角色对象表示的所有数据都需要存在于治理框架300或与治理框架300相关联的分布式环境(例如,云环境)中。代替地,治理服务层305被用于执行查询,翻译层从目标应用获取在能力或操作中使用的实际数据,以便在实体325;335和对象330;340上执行查询,随后,翻译层基于查询或crud操作的执行来接收架构或更新后的架构,并且翻译层知道如何转换特定于应用或系统的查询或crud操作,该查询或crud操作被传输到企业的服务器的应用或系统(例如,api调用,诸如rest、graphql或任何其它架构表示语言)。不仅可以在治理框架300之外的数据上执行查询或crud操作,而且治理框架300还可以在治理框架300本地或远程的实体325;335和对象330;340上执行查询或crud操作。
57.图3示出了用于一个或多个目标应用的实体325;335和对象330;340的示例性架构或分层组织。这个组织在运行时显现出来。运行时是指在执行治理框架300时编程组件的实例化。例如,在面向对象的编程范例的示例性且非限制性情况下,运行时可以涉及根据需要从类的集合中创建对象、将对象存储在存储器堆中、根据需要读取和更新对象,然后当对象不再被使用时移除它们。在这种情况下,实体325;335和对象330;340的组织在运行治理框架300以治理一个或多个目标应用时在存储器中的对象之间的关系中显现出来。一般而言,实体325;335和对象330;340针对任何种类的应用实现治理的不同方面。例如,在面向对象的范例中,对象330;340可以与类的分开的对象(实例)对应,其具有用于在目标应用内执行各种任务的各种方法和相关联的特性。在提供工资单服务的应用的具体情况下,分开的对象330可以提供用户(例如,bob smith),而分开的对象340可以为工资单应用提供不同的特征(例如,活动目录账户)。在工资单应用中,分开的对象340可以提供程序的会计功能性的不同特征,等等。这些仅仅是治理框架300可以应用于的大量应用的说明性和非限制性示例。
58.治理框架300具有分层结构。即,治理框架300中的实体325;335和对象330;340以父子关系(以及对等关系)彼此耦合。为了实现这种组织,治理框架300包括各种对象330;
340。例如,一些对象(诸如对象340b)是叶子并且缺少孩子,而其它对象(诸如对象330a或340a)是分支并且具有孩子。在诸如实体335n之类的特定实体域内链接的诸如340h

n之类的对象包括复合功能性,该功能允许对象作为组起作用。即,复合功能性定义了包括示例对象的复合分组。治理实体层310中的复合功能性提供了企业客户在实体内需要跟踪的分层信息和任务,而在目标应用实体层315中,复合功能性可以镜像由实体表示的目标应用的实际功能性。如应当理解的,图3可以仅表示更广泛的治理框架300的一小部分。例如,由对象330f

n提供的复合功能性可以耦合到更高的级别(未示出),并且由对象340f

h提供的复合功能性可以耦合到更低的级别(未示出)。注意的是,术语“更高”是对进一步的封闭域(例如,父级和祖先级)的速记隐喻,而术语“更低”是对进一步的嵌套域(例如,子级)的速记隐喻。严格来说,编程环境不会在“上”和“下”之间进行区分。
59.具有通用治理处理的身份管理系统
60.图4图示了用于通用治理的处理和操作。各个实施例可以被描述为处理,处理被描述为流程图、流图、数据流图、结构图或框图。虽然流程图可以将操作描述为顺序处理,但是许多操作可以并行或同时执行。此外,可以重新安排操作的次序。处理在其操作完成时终止,但是可以具有图中未包括的附加步骤。处理可以与方法、函数、过程、子例程、子程序等对应。当处理与函数对应时,其终止可以与该函数返回到调用函数或主函数对应。
61.图4中描绘的处理和/或操作可以在由一个或多个处理单元(例如,处理器核心)、硬件或其组合执行的软件(例如,代码、指令、程序)中实现。软件可以存储在存储器中(例如,在存储器设备上、在非暂态计算机可读存储介质上)。图4中的处理步骤的特定系列并非旨在限制。根据替代实施例,也可以执行其它步骤顺序。例如,在替代实施例中,以上概述的步骤可以以不同的次序执行。而且,图4中所示的各个步骤可以包括多个子步骤,这些子步骤可以按照适合于各个步骤的各种顺序执行。此外,取决于特定的应用,可以添加或移除附加的步骤。本领域普通技术人员将认识到许多变化、修改和替代。
62.图4示出了图示用于通用治理的处理的流程图400。在一些实施例中,流程图400中描绘的处理可以由图2和3中描绘的体系架构和处理流来实现。在步骤405处,接收对数据的查询或对数据的crud操作的请求。数据是目标应用的一部分。在一些实施例中,目标应用是由企业实现的。在步骤410处,获得与目标应用相关联的对象的架构。该架构对对象之间的关系进行建模,并且对象至少表示目标的数据。在步骤415处,基于架构对对象执行查询或crud操作。在步骤420处,更新架构以解释对对象的查询或crud操作。如本文所使用的,当动作“基于”某物时,这意味着该动作至少部分地基于某物的至少一部分。
63.在步骤425处,基于架构对数据执行查询或crud操作。在一些情况下,用于对数据执行查询或crud操作的架构与用于对对象执行查询或crud操作的架构相同、相似或不同。在某些情况下,用于对数据执行查询或crud操作的架构是来自步骤420的更新后的架构。在一些实施例中,执行包括基于架构或更新后的架构将查询或crud操作翻译成对目标应用的一个或多个特定于架构的调用。调用被配置为根据对象的架构或更新后的架构对一个或多个企业应用的数据执行查询或crud。在步骤430处,将查询或crud操作的结果报告给用户。在一些实施例中,报告查询或crud操作包括报告在对象的生命周期内对与对象相关联的数据执行的所有对象突变。
64.说明性系统
65.图5描绘了用于实现实施例的分布式系统500的简化图。在所示的实施例中,分布式系统500包括经由一个或多个通信网络510耦合到服务器512的一个或多个客户端计算设备502、504、506和508。客户端计算设备502、504、506和508可以被配置为执行一个或多个应用。
66.在各种实施例中,服务器512可以适于运行一个或多个服务或软件应用,这些服务或软件应用使得能够对各种各样的应用执行通用身份管理或治理。
67.在某些实施例中,服务器512还可以提供可以包括非虚拟和虚拟环境的其它服务或软件应用。在一些实施例中,这些服务可以作为基于web的服务或云服务,诸如在软件即服务(saas)模型下,提供给客户端计算设备502、504、506和/或508的用户。操作客户端计算设备502、504、506和/或508的用户可以依次利用一个或多个客户端应用与服务器512交互以利用由这些组件提供的服务。
68.在图5所描绘的配置中,服务器512可以包括实现由服务器512执行的功能的一个或多个组件518、520和522。这些组件可以包括可以由一个或多个处理器执行的软件组件、硬件组件或其组合。应当认识到的是,各种不同的系统配置是可能的,其可以与分布式系统500不同。因此,图5中所示的实施例是用于实现实施例系统的分布式系统的一个示例,并且不旨在进行限制。
69.根据本公开的教导,用户可以使用客户端计算设备502、504、506和/或508在各种各样的应用上执行通用身份管理或治理。客户端设备可以提供使客户端设备的用户能够与客户端设备交互的接口。客户端设备还可以经由该接口向用户输出信息。虽然图5仅描绘了四个客户端计算设备,但可以支持任何数量的客户端计算设备。
70.客户端设备可以包括各种类型的计算系统,诸如便携式手持式设备、通用计算机,诸如个人计算机和膝上型计算机、工作站计算机、可穿戴设备、游戏系统、瘦客户端、各种消息传送设备、传感器和其它感测设备等。这些计算设备可以运行各种类型和版本的软件应用和操作系统(例如,microsoftapple或类unix操作系统、linux或类linux操作系统,诸如google chrome
tmtm os),包括各种移动操作系统(例如,microsoft windowswindowsandroid
tm
、palm)。便携式手持式设备可以包括蜂窝电话、智能电话(例如,)、平板电脑(例如,)、个人数字助理(pda)等。可穿戴设备可以包括google头戴式显示器和其它设备。游戏系统可以包括各种手持式游戏设备、具有互联网功能的游戏设备(例如,具有或不具有手势输入设备的microsoft游戏机、sony系统、由提供的各种游戏系统以及其它)等。客户端设备可以能够执行各种不同的应用,诸如各种与互联网相关的应用、通信应用(例如,电子邮件应用、短消息服务(sms)应用),并且可以使用各种通信协议。
71.(一个或多个)网络510可以是本领域技术人员熟悉的任何类型的网络,其可以使用多种可用协议中的任何一种来支持数据通信,包括但不限于tcp/ip(传输控制协议/互联网协议)、sna(系统网络体系架构)、ipx(互联网分组交换)、等。仅仅作为示
例,(一个或多个)网络510可以是局域网(lan)、基于以太网的网络、令牌环、广域网(wan)、互联网、虚拟网络、虚拟专用网(vpn)、内联网、外联网、公共电话交换网(pstn)、红外网络、无线网络(例如,在任何电气和电子协会(ieee)1002.11协议套件、和/或任何其它无线协议下操作的网络)和/或这些和/或其它网络的任意组合。
72.服务器512可以由一个或多个通用计算机、专用服务器计算机(作为示例,包括pc(个人计算机)服务器、服务器、中档服务器、大型计算机、机架安装的服务器等)、服务器场、服务器集群或任何其它适当的布置和/或组合组成。服务器512可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其它计算体系架构,诸如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活的池。在各种实施例中,服务器512可以适于运行提供前述公开中描述的功能的一个或多个服务或软件应用。
73.服务器512中的计算系统可以运行一个或多个操作系统,包括以上讨论的任何操作系统以及任何商用的服务器操作系统。服务器512还可以运行各种附加服务器应用和/或中间层应用中的任何一种,包括http(超文本传输协议)服务器、ftp(文件传输协议)服务器、cgi(通用网关接口)服务器、服务器、数据库服务器等。示例性数据库服务器包括但不限于可从括但不限于可从(国际商业机器)等商购获得的数据库服务器。
74.在一些实施方式中,服务器512可以包括一个或多个应用以分析和整合从客户端计算设备502、504、506和508的用户接收到的数据馈送和/或事件更新。作为示例,数据馈送和/或事件更新可以包括但不限于从一个或多个第三方信息源和连续数据流接收到的馈送、更新或实时更新,其可以包括与传感器数据应用、金融报价机、网络性能测量工具(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视等相关的实时事件。服务器512还可以包括经由客户端计算设备502、504、506和508的一个或多个显示设备显示数据馈送和/或实时事件的一个或多个应用。
75.分布式系统500还可以包括一个或多个数据储存库514、516。在某些实施例中,这些数据储存库可以被用于存储数据和其它信息。例如,数据储存库514、516中的一个或多个可以被用于存储用于执行通用身份管理或治理的信息。数据储存库514、516可以驻留在各种位置。例如,由服务器512使用的数据储存库可以在服务器512本地,或者可以远离服务器512并经由基于网络或专用的连接与服务器512通信。数据储存库514、516可以是不同的类型。在某些实施例中,由服务器512使用的数据储存库可以是数据库,例如关系数据库,诸如由公司和其它供应商提供的数据库。这些数据库中的一个或多个可以适于响应于sql格式的命令来实现数据库中数据的存储、更新和检索。
76.在某些实施例中,应用还可以使用数据储存库514、516中的一个或多个来存储应用数据。由应用使用的数据储存库可以具有不同的类型,诸如,例如,键

值储存库、对象储存库或由文件系统支持的通用储存库。
77.在某些实施例中,可以经由云环境将在本公开中描述的对各种各样的应用执行通用身份管理或治理作为服务来提供。图6是根据某些实施例的基于云的系统环境的简化框图,其中可以将执行通用身份管理或治理作为云服务提供。在图6所示的实施例中,云基础
设施系统602可以提供可以由用户使用一个或多个客户端设备604、606和608请求的一个或多个云服务。云基础设施系统602可以包括一个或多个计算机和/或服务器,其可以包括以上针对服务器812描述的那些计算机和/或服务器。云基础设施系统602中的计算机可以被组织为通用计算机、专用服务器计算机、服务器场、服务器集群或任何其它适当的布置和/或组合。
78.(一个或多个)网络610可以促进客户端设备604、606和608与云基础设施系统602之间的通信和数据交换。(一个或多个)网络610可以包括一个或多个网络。网络可以是相同或不同的类型。(一个或多个)网络610可以支持一种或多种通信协议,包括有线和/或无线协议,以促进通信。
79.图6中描绘的实施例仅仅是云基础设施系统的一个示例,并且不旨在进行限制。应该认识到的是,在一些其它实施例中,云基础设施系统602可以具有比图6所示的组件更多或更少的组件、可以组合两个或更多个组件,或者可以具有不同的组件配置或布置。例如,虽然图6描绘了三个客户端计算设备,但是在替代实施例中可以支持任何数量的客户端计算设备。
80.术语“云服务”通常用于指由服务提供商的系统(例如,云基础设施系统602)根据需要并且经由诸如互联网之类的通信网络使用户可使用的服务。典型地,在公共云环境中,组成云服务提供商系统的服务器和系统与客户自己的内部服务器和系统不同。云服务提供商的系统由云服务提供商管理。客户因此可以利用由云服务提供商提供的云服务,而不必为服务购买单独的许可证、支持或硬件和软件资源。例如,云服务提供商的系统可以托管应用,并且用户可以经由互联网按需订购和使用应用,而用户不必购买用于执行应用的基础设施资源。云服务旨在提供对应用、资源和服务的轻松、可扩展的访问。几个提供商提供云服务。例如,由加利福尼亚州redwood shores的公司提供了几种云服务,诸如中间件服务、数据库服务、java云服务等。
81.在某些实施例中,云基础设施系统602可以使用诸如软件即服务(saas)模型、平台即服务(paas)模型、基础设施即服务(iaas)模型以及包括混合服务模型的其它模型之类的不同模型提供一个或多个云服务。云基础设施系统602可以包括一套应用、中间件、数据库以及使得能够供给各种云服务的其它资源。
82.saas模型使得应用或软件能够作为服务通过如互联网的通信网络交付给客户,而客户不必为底层应用购买硬件或软件。例如,saas模型可以用于为客户提供对由云基础设施系统602托管的按需应用的访问。由公司提供的saas服务的示例包括但不限于用于人力资源/资本管理、客户关系管理(crm)、企业资源计划(erp)、供应链管理(scm)、企业绩效管理(epm)、分析服务、社交应用及其它的各种服务。
83.iaas模型通常用于向客户提供基础设施资源(例如,服务器、存储装置、硬件和联网资源)作为云服务,以提供弹性计算和存储能力。公司提供了各种iaas服务。
84.paas模型通常用于提供平台和环境资源作为服务,其使得客户能够开发、运行和管理应用和服务,而客户不必采购、构建或维护此类资源。由公司提供的paas服务的示例包括但不限于oracle java云服务(jcs)、oracle数据库云服务(dbcs)、数据管理云服务、各种应用开发解决方案服务,以及其它服务。
85.云服务通常基于按需自助服务、基于订阅、弹性可缩放、可靠、高度可用和安全的方式提供。例如,客户可以经由订阅订单订购由云基础设施系统602提供的一个或多个服务。云基础设施系统602然后执行处理以提供客户的订购订单中所请求的服务。例如,对各种各样的应用执行通用身份管理或治理。云基础设施系统602可以被配置为提供一个或甚至多个云服务。
86.云基础设施系统602可以经由不同的部署模型来提供云服务。在公共云模型中,云基础设施系统602可以由第三方云服务提供商拥有,并且云服务被提供给任何普通公众客户,其中客户可以是个人或企业。在某些其它实施例中,在私有云模型下,可以在组织内(例如,在企业组织内)操作云基础设施系统602,并向组织内的客户提供服务。例如,客户可以是企业的各个部门,诸如人力资源部门、工资部门等,甚至是企业内的个人。在某些其它实施例中,在社区云模型下,云基础设施系统602和所提供的服务可以由相关社区中的几个组织共享。也可以使用各种其它模型,诸如上面提到的模型的混合。
87.客户端设备604、606和608可以是不同类型的(诸如图6中描绘的客户端设备604、606和608),并且可以能够操作一个或多个客户端应用。用户可以使用客户端设备与云基础设施系统602交互,诸如请求由云基础设施系统602提供的服务。例如,用户可以使用客户端设备来执行本公开中描述的通用身份管理或治理。
88.在一些实施例中,由云基础设施系统602执行的用于提供通用身份管理或治理的处理可以涉及大数据分析。这种分析可能涉及使用、分析和操纵大型数据集,以检测和可视化数据内的各种趋势、行为、关系等。这种分析可以由一个或多个处理器执行、可能并行处理数据、使用数据执行仿真等。例如,大数据分析可以由云基础设施系统602执行,以在各种各样的应用上执行通用身份管理或治理。用于这种分析的数据可以包括结构化数据(例如,存储在数据库中或根据结构化模型结构化的数据)和/或非结构化数据(例如,数据blob(二进制大对象))。
89.如在图6的实施例中所描绘的,云基础设施系统602可以包括基础设施资源630,其用于促进由云基础设施系统602提供的各种云服务的供给。基础设施资源630可以包括例如处理资源、存储或存储器资源、联网资源等。
90.在某些实施例中,为了促进这些资源的高效供给以支持由云基础设施系统602为不同客户提供的各种云服务,可以将资源捆绑成资源或资源模块的集合(也称为“群聚(pod)”)。每个资源模块或群聚可以包括一种或多种类型的资源的预先集成和优化的组合。在某些实施例中,可以为不同类型的云服务预先供给不同的群聚。例如,可以为数据库服务供给第一组群聚,可以为java服务供给第二组群聚,其中第二组群聚可以包括与第一组群聚中的群聚不同的资源组合。对于一些服务,可以在服务之间共享为供给服务而分配的资源。
91.云基础设施系统602本身可以内部使用服务632,服务632由云基础设施系统602的不同组件共享并且促进云基础设施系统602的服务供给。这些内部共享的服务可以包括但不限于安全和身份服务、集成服务、企业储存库服务、企业管理器服务、病毒扫描和白名单服务、高可用性、备份和恢复服务、用于启用云支持的服务、电子邮件服务、通知服务、文件传输服务等。
92.云基础设施系统602可以包括多个子系统。这些子系统可以用软件或硬件或其组
合来实现。如图6所示,子系统可以包括用户界面子系统612,该用户界面子系统612使得云基础设施系统602的用户或客户能够与云基础设施系统602交互。用户界面子系统612可以包括各种不同的界面,诸如web界面614、在线商店界面616(其中由云基础设施系统602提供的云服务被广告并且可由消费者购买)和其它界面618。例如,客户可以使用客户端设备使用接口614、616和618中的一个或多个来请求(服务请求634)由云基础设施系统602提供的一个或多个服务。例如,客户可以访问在线商店、浏览由云基础设施系统602提供的云服务,以及对由客户希望订阅的由云基础设施系统602提供的一项或多项服务下订单。服务请求可以包括识别客户的信息以及客户期望订阅的一项或多项服务。例如,客户可以为云基础设施系统602提供的通用身份管理或治理服务下订购订单。作为订单的一部分,客户可以提供识别要解决的复杂且对时间敏感的业务场景的信息。
93.在某些实施例中,诸如图6所示的实施例,云基础设施系统602可以包括被配置为处理新订单的订单管理子系统(oms)620。作为这个处理的一部分,oms 620可以被配置为:为客户创建账户(如果尚未创建);接收来自客户的账单和/或会计信息,该账单和/或账单信息将用于针对向客户提供所请求的服务向客户计费;验证客户信息;在验证后,为客户预订订单;已经编排各种工作流程以准备用于供给的订单。
94.一旦被正确地验证,oms 620就可以调用订单供给子系统(ops)624,其被配置为为订单供给资源,包括处理资源、存储器资源和联网资源。供给可以包括为订单分配资源,以及配置资源以促进由客户订单所请求的服务。为订单供给资源的方式和供给资源的类型可以取决于客户已订购的云服务的类型。例如,根据一个工作流程,ops 624可以被配置为确定所请求的特定云服务,并且识别可能已经针对该特定云服务而被预先配置的多个群聚。为订单分配的群聚的数量可以取决于所请求的服务的大小/数量/级别/范围。例如,可以基于服务所支持的用户的数量、正在请求的服务的持续时间等来确定要分配的群聚的数量。然后,可以针对特定的请求客户定制所分配的群聚,以提供所请求的服务。
95.云基础设施系统602可以向请求客户发送响应或通知644,以指示所请求的服务何时准备就绪。在一些情况下,可以将信息(例如,链接)发送给客户,使得客户能够开始使用和利用所请求的服务的益处。在某些实施例中,对于请求通用身份管理或治理服务的客户,响应可以包括对要解决的复杂且对时间敏感的业务场景的请求。
96.云基础设施系统602可以向多个客户提供服务。对于每个客户,云基础设施系统602负责管理与从客户接收到的一个或多个订阅订单相关的信息、维护与订单相关的客户数据,以及向客户提供所请求的服务。云基础设施系统602还可以收集关于客户对已订阅的服务的使用的使用统计信息。例如,可以针对使用的存储量、传输的数据量、用户的数量以及系统正常运行时间和系统停机时间量等收集统计信息。该使用信息可以用于向客户计费。计费可以例如按月周期进行。
97.云基础设施系统602可以并行地向多个客户提供服务。云基础设施系统602可以存储这些客户的信息,包括可能的专有信息。在某些实施例中,云基础设施系统602包括身份管理子系统(ims)628,其被配置为管理客户的信息并提供所管理的信息的分离,使得与一个客户相关的信息不可被另一个客户访问。ims 628可以被配置为提供各种与安全相关的服务,诸如身份服务,诸如信息访问管理、认证和授权服务、用于管理客户身份和角色及相关能力的服务,等等。
98.图7图示了可以被用于实现某些实施例的示例性计算机系统700。例如,在一些实施例中,计算机系统700可以被用于实现上述通用身份管理或治理处理系统、身份管理系统以及各种服务器和计算机系统中的任何一个。如图7所示,计算机系统700包括各种子系统,包括经由总线子系统702与多个其它子系统通信的处理子系统704。这些其它子系统可以包括处理加速单元706、i/o子系统708、存储子系统718和通信子系统724。存储子系统718可以包括非暂态计算机可读存储介质,其包括存储介质722和系统存储器710。
99.总线子系统702提供用于使计算机系统700的各种组件和子系统按照期望彼此通信的机制。虽然总线子系统702被示意性地示为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统702可以是几种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、使用任何各种总线体系架构的局部总线等。例如,此类体系架构可以包括工业标准体系架构(isa)总线、微通道体系架构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)局部总线和外围组件互连(pci)总线,其可以实现为根据ieee p1386.1标准制造的夹层(mezzanine)总线,等等。
100.处理子系统704控制计算机系统700的操作,并且可以包括一个或多个处理器、专用集成电路(asic)或现场可编程门阵列(fpga)。处理器可以包括单核或多核处理器。可以将计算机系统700的处理资源组织成一个或多个处理单元732、734等。处理单元可以包括一个或多个处理器、来自相同或不同处理器的一个或多个核心、核心和处理器的组合、或核心和处理器的其它组合。在一些实施例中,处理子系统704可以包括一个或多个专用协处理器,诸如图形处理器、数字信号处理器(dsp)等。在一些实施例中,处理子系统704的一些或全部可以使用定制电路来实现,诸如专用集成电路(asic)或现场可编程门阵列(fpga)。
101.在一些实施例中,处理子系统704中的处理单元可以执行存储在系统存储器710中或计算机可读存储介质722上的指令。在各个实施例中,处理单元可以执行各种程序或代码指令,并且可以维护多个并发执行的程序或进程。在任何给定的时间,要执行的程序代码中的一些或全部可以驻留在系统存储器710中和/或计算机可读存储介质722上,包括可能在一个或多个存储设备上。通过适当的编程,处理子系统704可以提供上述各种功能。在计算机系统700正在执行一个或多个虚拟机的情况下,可以将一个或多个处理单元分配给每个虚拟机。
102.在某些实施例中,可以可选地提供处理加速单元706,以用于执行定制的处理或用于卸载由处理子系统704执行的一些处理,从而加速由计算机系统700执行的整体处理。
103.i/o子系统708可以包括用于向计算机系统700输入信息和/或用于从或经由计算机系统700输出信息的设备和机制。一般而言,术语“输入设备”的使用旨在包括用于向计算机系统700输入信息的所有可能类型的设备和机制。用户界面输入设备可以包括,例如,键盘、诸如鼠标或轨迹球之类的指向设备、并入到显示器中的触摸板或触摸屏、滚轮、点击轮、拨盘、按钮、开关、小键盘、带有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户界面输入设备还可以包括使用户能够控制输入设备并与之交互的诸如microsoft运动传感器的运动感测和/或姿势识别设备、microsoft360游戏控制器、提供用于接收使用姿势和口语命令的输入的界面的设备。用户界面输入设备还可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄图片和/或进行菜单选择时的“眨眼”)并将眼睛姿势转换为到输入设备(例如,google)的输入的
google眨眼检测器。此外,用户界面输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
104.用户界面输入设备的其它示例包括但不限于,三维(3d)鼠标、操纵杆或指示杆、游戏板和图形平板、以及音频/视频设备,诸如扬声器、数字相机、数字摄像机、便携式媒体播放器、网络摄像机、图像扫描仪、指纹扫描仪、条形码读取器3d扫描仪、3d打印机、激光测距仪、以及眼睛注视跟踪设备。此外,用户界面输入设备可以包括,例如,医疗成像输入设备,诸如计算机断层摄影、磁共振成像、位置发射断层摄影、以及医疗超声检查设备。用户界面输入设备也可以包括,例如,音频输入设备,诸如midi键盘、数字乐器等。
105.一般而言,术语“输出设备”的使用旨在包括所有可能类型的设备和用于从计算机系统700向用户或其它计算机输出信息的机制。用户界面输出设备可以包括显示子系统、指示器灯或诸如音频输出设备的非可视显示器等。显示子系统可以是阴极射线管(crt)、诸如利用液晶显示器(lcd)或等离子体显示器的平板设备、投影设备、触摸屏等。例如,用户界面输出设备可以包括但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备和调制解调器。
106.存储子系统718提供用于存储由计算机系统700使用的信息和数据的储存库或数据存储库。存储子系统718提供了用于存储提供某些实施例的功能的基本编程和数据构造的有形非暂态计算机可读存储介质。存储子系统718可以存储软件(例如,程序、代码模块、指令),该软件在由处理子系统704执行时提供上述功能。软件可以由处理子系统704的一个或多个处理单元执行。存储子系统718还可以提供用于存储根据本公开的教导使用的数据的储存库。
107.存储子系统718可以包括一个或多个非暂态存储器设备,包括易失性和非易失性存储器设备。如图7所示,存储子系统718包括系统存储器710和计算机可读存储介质722。系统存储器710可以包括多个存储器,包括用于在程序执行期间存储指令和数据的易失性主随机存取存储器(ram)以及其中存储有固定指令的非易失性只读存储器(rom)或闪存。在一些实现中,基本输入/输出系统(bios)可以典型地存储在rom中,该基本输入/输出系统(bios)包含有助于例如在启动期间在计算机系统700内的元件之间传递信息的基本例程。ram通常包含当前由处理子系统704操作和执行的数据和/或程序模块。在一些实现中,系统存储器710可以包括多种不同类型的存储器,诸如静态随机存取存储器(sram)、动态随机存取存储器(dram)等。
108.作为示例而非限制,如图7所示,系统存储器710可以加载正在被执行的可以包括各种应用(诸如web浏览器、中间层应用、关系型数据库管理系统(rdbms)等)的应用程序712、程序数据714和操作系统716。作为示例,操作系统716可以包括各种版本的microsoftapple和/或linux操作系统、各种商用或类unix操作系统(包括但不限于各种gnu/linux操作系统、googleos等)和/或移动操作系统,诸如ios、phone、os、os、os操作系统,以及其它操作系统。
109.计算机可读存储介质722可以存储提供一些实施例的功能的编程和数据构造。计算机可读存储介质722可以为计算机系统700提供计算机可读指令、数据结构、程序模块和
其它数据的存储。当由处理子系统704执行时,提供上述功能的软件(程序、代码模块、指令)可以存储在存储子系统718中。作为示例,计算机可读存储介质722可以包括非易失性存储器,诸如硬盘驱动器、磁盘驱动器、诸如cd rom、dvd、(蓝光)盘或其它光学介质的光盘驱动器。计算机可读存储介质722可以包括但不限于,驱动器、闪存存储器卡、通用串行总线(usb)闪存驱动器、安全数字(sd)卡、dvd盘、数字视频带等。计算机可读存储介质722也可以包括基于非易失性存储器的固态驱动器(ssd)(诸如基于闪存存储器的ssd、企业闪存驱动器、固态rom等)、基于易失性存储器的ssd(诸如基于固态ram、动态ram、静态ram、dram的ssd、磁阻ram(mram)ssd),以及使用基于dram和基于闪存存储器的ssd的组合的混合ssd。
110.在某些实施例中,存储子系统718还可以包括计算机可读存储介质读取器720,该计算机可读存储介质读取器720还可以连接到计算机可读存储介质722。读取器720可以接收并被配置为从诸如盘、闪存驱动器等存储器设备中读取数据。
111.在某些实施例中,计算机系统700可以支持虚拟化技术,包括但不限于处理和存储器资源的虚拟化。例如,计算机系统700可以提供用于执行一个或多个虚拟机的支持。在某些实施例中,计算机系统700可以执行诸如促进虚拟机的配置和管理的管理程序之类的程序。可以为每个虚拟机分配存储器、计算(例如,处理器、核心)、i/o和联网资源。每个虚拟机通常独立于其它虚拟机运行。虚拟机通常运行其自己的操作系统,该操作系统可以与由计算机系统700执行的其它虚拟机执行的操作系统相同或不同。因此,计算机系统700可以潜在地同时运行多个操作系统。
112.通信子系统724提供到其它计算机系统和网络的接口。通信子系统724用作用于从计算机系统700接收数据以及向其它系统传输数据的接口。例如,通信子系统724可以使得计算机系统700能够经由互联网建立到一个或多个客户端设备的通信信道,以用于从客户端设备接收信息以及向客户端设备发送信息。例如,通信子系统可以被用于获得用于在各种各样的应用上执行通用身份管理或治理的架构。
113.通信子系统724可以支持有线和/或无线通信协议两者。例如,在某些实施例中,通信子系统724可以包括用于(例如,使用蜂窝电话技术、高级数据网络技术(诸如3g、4g或edge(全球演进的增强数据速率)、wifi(ieee 802.xx族标准)、或其它移动通信技术、或其任意组合)接入无线语音和/或数据网络的射频(rf)收发器组件、全球定位系统(gps)接收器组件和/或其它组件。在一些实施例中,作为无线接口的附加或替代,通信子系统724可以提供有线网络连接(例如,以太网)。
114.通信子系统724可以以各种形式接收和传输数据。例如,在一些实施例中,除了其它形式之外,通信子系统724还可以以结构化和/或非结构化的数据馈送726、事件流728、事件更新730等形式接收输入通信。例如,通信子系统724可以被配置为实时地从社交媒体网络的用户和/或诸如馈送、更新、诸如丰富站点摘要(rss)馈送的web馈送的其它通信服务接收(或发送)数据馈送726,和/或来自一个或多个第三方信息源的实时更新。
115.在某些实施例中,通信子系统724可以被配置为以连续数据流的形式接收本质上可能是连续的或无界的没有明确结束的数据,其中连续数据流可以包括实时事件的事件流
728和/或事件更新730。生成连续数据的应用的示例可以包括例如传感器数据应用、金融报价机、网络性能测量工具(例如网络监视和流量管理应用)、点击流分析工具、汽车流量监视等。
116.通信子系统724也可以被配置为将数据从计算机系统700传送到其它计算机系统或网络。数据可以以各种不同的形式传送给一个或多个数据库,诸如结构化和/或非结构化数据馈送726、事件流728、事件更新730等,该一个或多个数据库可以与耦合到计算机系统700的一个或多个流传输数据源进行通信。
117.计算机系统700可以是各种类型中的一种,包括手持便携式设备(例如,蜂窝电话、计算平板、pda)、可穿戴设备(例如,google头戴式显示器)、个人计算机、工作站、大型机、信息站、服务器机架或任何其它数据处理系统。由于计算机和网络不断变化的性质,对图7中绘出的计算机系统700的描述旨在仅仅作为具体示例。具有比图7中所绘出的系统更多或更少组件的许多其它配置是可能的。基于本文所提供的公开内容和教导,本领域普通技术人员将理解实现各种实施例的其它方式和/或方法。
118.虽然已经描述了特定的实施例,但是各种修改、变更、替代构造以及等同物都是可能的。实施例不限于在某些特定数据处理环境内的操作,而是可以在多个数据处理环境内自由操作。此外,虽然已经使用一系列特定的事务和步骤描述了某些实施例,但是对于本领域技术人员来说显而易见的是,这并不旨在进行限制。虽然一些流程图将操作描述为顺序处理,但是许多操作可以并行或同时执行。此外,操作的次序可以被重新布置。处理可能具有图中未包括的其它步骤。上述实施例的各种特征和方面可以被单独使用或联合使用。
119.另外,虽然已经使用硬件和软件的特定组合描述了某些实施例,但是应该认识到的是,硬件和软件的其它组合也是可能的。某些实施例可以仅用硬件或仅用软件或其组合来实现。本文描述的各种处理可以以任何组合在相同的处理器或不同的处理器上实现。
120.在将设备、系统、组件或模块描述为被配置为执行某些操作或功能的情况下,这样的配置可以通过以下方式来实现,例如,通过设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作,诸如通过执行计算机指令或代码,或处理器或核心被编程为执行存储在非暂态存储介质上的代码或指令,或其任意组合来执行操作。进程可以使用各种技术进行通信,包括但不限于用于进程间通信的常规技术,并且不同对的进程可以使用不同的技术,或者同一对进程可以在不同时间使用不同的技术。
121.在本公开中给出了具体细节以提供对实施例的透彻理解。但是,可以在没有这些具体细节的情况下实践实施例。例如,已经示出了众所周知的电路、处理、算法、结构和技术,而没有不必要的细节,以避免使实施例模糊。本描述仅提供示例实施例,并且不旨在限制其它实施例的范围、适用性或配置。相反,实施例的先前描述将为本领域技术人员提供用于实现各种实施例的使能描述。可以对元件的功能和布置进行各种改变。
122.因此,说明书和附图应被认为是说明性的而不是限制性的。但是,将显而易见的是,在不脱离权利要求书所阐述的更广泛的精神和范围的情况下,可以对其进行添加、减少、删除以及其它修改和改变。因此,虽然已经描述了具体的实施例,但是这些实施例并不旨在进行限制。各种修改和等同形式均在所附权利要求的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1