当前位置: 首页 > 专利查询>微软公司专利>正文

控制对软件构件状态的访问制造技术

技术编号:8026927 阅读:181 留言:0更新日期:2012-11-29 13:08
从软件产品的软件构件接收对于访问软件构件的公共设置的值的请求。对于所述请求是否符合用于公共设置的适当格式进行检查。如果所述请求符合该适当的格式,则执行所请求的访问。然而,如果所述请求不符合该适当的格式,则拒绝所请求的访问。用于公共设置的多个值可以同时被接收和保留。

【技术实现步骤摘要】
【国外来华专利技术】控制对软件构件状态的访问
技术介绍
计算机典型地运行操作系统,操作系统提供包括允许在计算机上安装和运行其他应用的各种功能性。这样的操作系统时常提供一个存储单元(location),在其中应用可以存储要跨应用的多次执行而存留的(persisted)各种类型的信息。这个存储单元可以是例如操作系统寄存器。虽然保留(maintain)这样的信息对于应用可以是有利的,但当前的存储机制都存在它们的问题。一个这样的问题是,不同的应用典型地与同一个存储单元交互,使得出现这样的情形,即其中由一个应用存储的信息被另一个应用删除、改写、或以其他方式破坏。这样的情形可以导致应用不能按计划中那样去运行,或甚至完全无法运行。
技术实现思路
本概要是为了以简化的形式介绍概念的选择而提供的,这些概念还将在下面的详细说明中进行描述。本概要既不打算确认所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护的主题的范围。按照一个或多个方面,从软件产品的软件构件(software component)接收对于访问软件构件的设置(setting)的值的请求。这样的设置例如是软件构件想要以以下方式存储的配置信息,即该配置信息在该软件的运行时(runtime)以外存留,以致该软件的随后激活可以读出该持久性(persistent)信息并重建该配置。对于请求是否符合用于该设置的适当的格式进行检查。如果所述请求符合该适当的格式,则执行所请求的访问。然而,如果所述请求不符合该适当的格式,则所请求的访问被拒绝。按照一个或多个方面,接收用于软件构件的设置声明(declaration)。设置声明标识用于访问所声明的设置的适当的格式。设置声明的记录被保留。用于所声明的设置的多个值也被接收,并且该多个值同时被保留。附图说明相同的标号在全部附图中被使用来引用同样的特征。图I图解按照一个或多个实施例、实现对软件构件状态的控制访问的示例性计算设备。图2图解按照一个或多个实施例的示例性软件构件。图3图解按照一个或多个实施例、实现对软件构件设置值的控制访问的示例性计算设备。图4是图解按照一个或多个实施例、用于存储软件构件状态的示例性文件系统分级结构的框图。图5是图解按照一个或多个实施例、用于设备控制对软件构件设置值的访问的示例性过程的流程图。图6是图解按照一个或多个实施例、用于设备控制对软件构件设置值的访问的另一个示例性过程的流程图。图7图解按照一个或多个实施例、可被配置成实现对软件构件状态的控制访问的示例性计算设备。具体实施例方式这里讨论了控制对软件构件持久性设置的访问。这些设置跨软件构件的不同执行而存留。软件产品由一个或多个软件构件组成,每个软件构件可以与设置存储控制模块通信。所述设置存储控制模块控制对与软件构件相关联的至少某些持久性状态的访问。软件构件可以存储由设置存储控制模块控制对其的访问的一种类型的持久性设置(被称为公共设置(public settings))。软件构件也可以存储其它类型的持久性设置或信息(被称为私有状态(private state))。在公共设置和私有状态两者的情形下,存储软件构件的持久性状态数据的位置被控制。在公共设置的情形下,数据的结构和类型由存储控制模块按照通过软件构件的已声明设置模式(setting schema)强加的每个约束条件来进行约束。在私有状态的情形下,软件构件本身确定数据的结构和类型,但不确定实际上存储该数据的位置。可以被特定的软件构件访问的特定的公共设置在设置模式中声明,该设置模式是作为软件构件的不可改变的库存清单(manifest)的一部分的。设置存储控制模块将每个软件构件约束为仅仅访问在设置模式中已声明的软件构件的公共设置;对于来自软件构件的访问公共设置的其它请求被设置存储控制模块拒绝。另外,设置存储控制模块可以保留和允许访问用于每个设置的多个不同的值。当设置值被写入时,存储该设置值的位置可以是取决于该值的写入者的身份的。因此,不同的构件、模块、设备等等可以让不同的设置值同时对于同一个设置被存储和存留。算法或规则组可被使用来识别那些不同的设置值中的哪个设置值将响应于对于特定设置的值的请求而被返回。图I图解按照一个或多个实施例的、实现对软件构件状态的控制访问的示例性计算设备100。计算设备100可以是能够运行应用的各种各样不同的设备。例如,计算设备100可以是台式计算机、服务器计算机、膝上型计算机、移动站、娱乐器具、可通信地耦合到显示设备的机顶盒、蜂窝电话或其它无线电话、游戏操纵台、汽车计算机等等。因此,计算设备100的范围可以是从具有大量存储器和处理器资源的完全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持游戏操纵台)。计算设备100包括软件构件设置存储控制模块102和软件构件状态存储库(store) 104。两个软件产品106和108—也被称为软件应用一被图解为是包括在计算设备100中的。虽然在图I的例子中图示了两个软件产品106和108,但可替换地,在计算设备100中可以包括少于两个或多于两个软件产品。每个软件产品106和108包括一个或多个软件构件。在图I的例子中,软件产品106包括软件构件112、软件构件114和软件构件116,而软件产品108包括软件构件116和软件构件118。正如在图I上可以看到的,多个不同的软件产品可以共享软件构件(例如,软件构件116)。构件软件设置存储控制模块102管理至少某些在软件构件状态存储库104中的用于软件构件112-118的设置的存储及对所述设置的访问。这些设置是由控制模块102跨软件构件112-118的不同执行而存留的、用于软件构件112-118的配置信息。可以由控制模块102为每个软件构件112-118管理多个不同的设置。这些不同设置的每个设置具有设置标识和一个或多个设置值,正如在下面更详细地讨论的。被软件构件112-118存储的特定设置和软件构件112-118如何使用这些设置,由一个个软件构件112-118的开发者确定。然而,所述设置的一个或多个值的存储由控制模块102控制和管理。正如在图I上可以看到的,每个软件产品包括一个或多个软件构件。软件产品的软件构件包括可在计算设备100上运行的指令和数据,以及所述软件构件一起提供软件产品的功能性。对控制模块102的访问是由软件构件在运行时作出的,而不是由软件产品作为整体作出的。图2图解按照一个或多个实施例的示例性软件构件200。软件构件是一个或多个文件与描述软件构件的元数据的集合。软件构件200包括一个或多个资源文件202,每个资源文件存储着用于软件构件200的各种指令和/或数据。被包括在软件构件200中的特定的资源文件202可以根据软件构件200的开发者的希望而变化。 库存清单204存储描述软件构件200的元数据。在一个或多个实施例中,库存清单204包括软件构件200的标识符、软件构件200的一个或多个版本号、以及用于软件构件200的一个或多个公共设置声明(总起来被称为“设置模式”)。软件构件200的标识符允许软件构件200与被安装在设备上的其它软件构件区分开。标识符可以以各种各样的不同的方式被生成,诸如根据由软件构件200的开发者赋予的名称、软本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:CD拉塞尔EP特劳特R普迪佩迪AD斯特里策尔S辛哈
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1