CN102542045A - 对于资源的统一访问 - Google Patents
对于资源的统一访问 Download PDFInfo
- Publication number
- CN102542045A CN102542045A CN2011104469081A CN201110446908A CN102542045A CN 102542045 A CN102542045 A CN 102542045A CN 2011104469081 A CN2011104469081 A CN 2011104469081A CN 201110446908 A CN201110446908 A CN 201110446908A CN 102542045 A CN102542045 A CN 102542045A
- Authority
- CN
- China
- Prior art keywords
- index
- resource
- resources
- file
- interface
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
架构为进程(例如,消费应用)提供访问不同格式及在完全不同的资源位置的资源的统一接口。统一接口可扩展,使得用户可将附加组件添加到统一接口,以提供对于新资源和新资源引用的访问。不论资源格式如何,接口提供创建所有可用资源的单个综合索引的能力。提供用于资源的格式特定索引器,以发现、枚举并将资源处理为适合于通过索引组件处理到索引中的结构。用户可引入针对新资源和新资源引用的新的格式特定索引器,以通过索引组件处理到索引中。现在,统一接口也提供对于新资源和新资源引用的访问。
Description
背景技术
随着利用不同的技术建立的应用的激增,开发者正缺少统一的和通用的方式,以访问跨越多个完全不同的技术的应用资源。不同的技术具有不同的资源格式,而且,开发者时常针对不同的技术复制资源。没有访问针对多个技术的资源的技术不可知(technology agnostic)的方法。
发明内容
以下呈现了简化的发明内容,以便提供此处描述的一些新颖的实施例的基本理解。本发明内容不是广泛的概述,而且,其不意图标识关键/决定性元素,或描绘其范围。其唯一的目的是以简化的形式呈现一些概念,作为稍后呈现的更详细的描述的前奏。
所公开的架构为消费应用提供了用于访问不同格式及在完全不同的资源位置的资源的统一接口。此外,统一接口可扩展,以致用户可将附加组件添加到统一接口,以提供对于新资源和新资源引用的访问。不论资源格式如何,接口提供创建所有可得资源的单个综合(comprehensive)索引的能力。
在位置(例如,存储装置、高速缓存等)的资源可存在于不同的容器(例如,文件、文件夹、可执行文件等),该容器也可被表示为资源。因此,文件夹资源可包含相同或不同格式的文件,以及其他子文件夹。文件夹中的文件还可包括不同格式的多个资源。
提供用于位置的格式特定索引器,以致发现、枚举并将在资源位置的资源处理为适合由索引组件处理到索引中的结构。此外,用户可引入针对新资源和新资源引用的新的格式特定索引器,以致新的格式特定索引器发现、枚举并将新资源和资源引用处理为适合于由索引组件处理到索引中的结构。因此,现在统一接口也提供对于新资源和新资源引用的访问。
为了完成前述及有关目的,此处结合以下描述和附图描述了某些例示性方面。这些方面是可以以其实现此处公开的原理的各种方式的指示,而且,所有方面及其等价物意图在要求保护的主题的范围内。当结合附图考虑时,从以下详细的描述中,其他优势和新颖性特征将被变得清楚。
附图说明
图1例示了根据公开的架构的计算机实现的访问系统。
图2例示了访问系统的更详细的实现方式。
图3例示了根据公开的统一的解决方案的索引系统的高级视图。
图4例示了采用索引基础类的系统的更详细的描述。
图5例示了根据公开的架构的计算机实现的访问方法。
图6例示了图5的方法的其他方面。
图7例示了根据公开的架构执行针对访问的统一接口的计算系统的框图。
图8例示了利用针对资源访问的统一接口的计算环境的示意性框图。
具体实施方式
所公开的架构是提供用于由进程(例如,消费应用)对于跨越多个完全不同的技术的多种资源的访问的统一的访问解决方案(公共运行时间接口)。为了支持它,提供可扩展的接口组件,以允许针对完全不同的资源框架和文件格式创建和利用所有资源的综合索引(也被称为初级索引)。提供针对每个资源容器(例如,文件、文件夹、程序代码、层次、用户接口对象等)的格式特定索引器,以致所有格式特定索引器每个输出适合于处理为综合索引的结构格式。初级索引的建立还有助于解决在相关联的应用实际运行之前的问题(例如,丢失或不相容资源)。
索引可包含对于资源的引用或资源本身。因此,开发者可以以对于资源容器格式的技术不可知的方式聚集资源。
统一接口允许开发者建立格式特定索引器,然后格式特定索引器将其输出发送到索引组件,索引组件将新资源添加到初级索引中。使用这样的资源容器特定索引器,可添加任何资源格式,并且因此经由接口组件以统一方式进行访问。通过枚举资源容器(例如,文件层次、资源DLL等),索引器建立了包含在文件夹、可执行文件和其他资源容器格式中的资源的公共视图。
统一接口组件包括生成资源索引并且然后在运行时间使用该索引的交互组件组,资源存储为文件或存储为某一资源容器存储装置内的元素 。索引可被存储在一个或多个位置,然而在运行时间被当作单个资源集合对待。
交互组件包括但不限于用于创建被管理资源(例如,UI资源)的索引的资源索引数据格式,用于读取和写入资源索引的读取器和构造器基础类,用于生成新资源索引和/或合并资源索引的索引器基础类,能够索引包含在具体的存储或文件格式中的资源的各种扩展索引器(例如,用于文件层次、DLL(动态链接库)容器、JSON(Java脚本对象记法)容器、通用的XML(扩展标记语言)容器或其他格式的索引器),用于创建、验证和转储(dump)资源索引的索引器工具,以及呈现被管理资源的聚集和上下文视图的运行时间类。
然而将理解,例如,因为替代实现方式可以是统一构造器和索引器基础类,所以这仅是得到期望的结果的一种方式。
资源包的索引文件的合并预先假定在合并以初始化合并类时,索引在系统上。然而,因为需要用于合并的所有这些是一个或多个资源项目纲要(其可在索引中实现,独立于索引存在或利用两者组合),所以其不必是这种情况。在合并索引文件期间,可在索引文件之间对比纲要(schema)唯一的名称和版本。如果纲要唯一的名称和版本与主要版本不匹配,则合并索引将失败。如果仅是次要版本不同,则合并索引文件使用更高版本的纲要。如果将纲要与不同的唯一名称合并,则合并索引文件将纲要附加到索引中,并且,如果在某些调用(call)中显式地指定,则使得纲要可访问。
在合并期间,根据系统管理的因素,可调整对于资源的绝对引用,如文件集合(collection)中路径值。这样的因素可包括但不限于封装选项或将被用于在客户端系统上部署资源的部署机制。例如,对于key/image/logo.jpg,引用res/de-de/images/logo.jpg可能变为app1langpack/res/de-de/images/logo.jpg或appx://app1langpack/res/de-de/images/logo.jpg。
以下,如Myapp例子中所述,还可调整引用,以抽象出由系统管理的维度属性,如语言标识符令牌,以从特定的实例引用导出中性(neutral)项目引用。
在建立应用时,枚举并索引资源(作为初级资源索引)。(在一个实现方式中,可以分析资源以得到在某些条件下的可适用性(例如,如果资源在en-US文件夹中,则资源可适用于说英语的用户))。
初级索引可以是以二进制格式,其包含索引资源和/或对于可在运行时间被询问的资源的引用。索引可包含各种类型的资源,包括但不限于串(string)和文件路径。索引自身可简单地包含对于驻留在索引外部的这样的资源数据的引用。可在安装时间执行合并,以重新映射可用资源和相关联的位置以在运行时间使用。然而,将理解,合并潜在地可在其他时间发生—在需要访问资源之前的任何时间。这可以是部署时(例如,当应用或应用组件被上传在部署服务器上时,或当从部署服务器提取应用或应用组件时)、安装时、在安装之后且应用加载之前,在应用加载期间,或在运行时间。
在反向操作中,当移除资源时,从初级索引解合并相关联的索引。可替换地,简单地,可在索引中将与该索引相关联的记录标记为不可用。
在部署中,安装器机制可调用索引,提供关于消费应用和有关资源的信息。可利用适合的索引器生成索引。
统一的解决方案可以被表明为工具,其抽象化索引文件API(应用程序接口),以提供用于让开发者将资源层次捕获为描述资源和资源位置的元数据形式的命令行接口,并将元数据放入索引文件组中。格式特定索引器有助于跨越支持的资源类型的可扩展性和特定处理(handling)。
文件夹索引器是一种类型的格式特定索引器。文件夹索引器返回特定文件夹内的适当文件和子文件夹。文件夹索引器与索引基础类交互,以发现资源项目。
资源可被安装在离散文件夹集合中,或资源是基于文件的对象。当前资源模型要求与应用相关联的资源在目录树的相同分支中。然而,所公开的统一解决方案针对于新技术,其中应用的组件和文件被部署时可彼此分开。
现在参考附图,其中,全文相同的引用数字被用于指相同的元素。为了解释的目的, 在以下讨论中阐述了大量的特定细节,以提供对其的完整理解。然而,明显的是,可实现新颖的实施例而无需这些特定的细节。在其他情况中,以框图形式示出了公知结构和装置以有助于其描述。意图是将覆盖落入要求保护的主题的精神和范围内的所有的修改、等价物和替代。
图1例示了根据所公开的架构的计算机实现的访问系统100。利用任意资源格式的资源102。例如,第一资源104可以是第一任意格式的单个资源,而且,第二格式的第二资源106还可包括相同或不同格式的资源。将理解,可按期望采用附加的资源102。
接口组件108用以为进程110提供对于资源102(在此可利用多种类型的资源数据)的统一访问。接口组件108访问包括资源102的索引版本的索引112。索引112可包括资源本身,和/或可选地,对于资源的引用(对于一个或多个资源的引用)。接口组件108可扩展为提供对于新资源和新资源引用114的统一访问。
接口组件108经由索引112中对于资源的资源引用,提供对于资源的访问。使用索引组件116枚举资源和引用,以建立索引112。索引112包括具有格式的资源条目,该格式对于在相关联的资源位置的资源的对应格式是技术不可知的。接口组件108可以是不可扩展的,并有助于创建向索引组件116输出资源的已索引组的格式特定索引器。索引组件116创建索引112,并将来自格式特定索引器的该已索引组处理到索引112中。可替换地,接口组件108是可扩展的,并有助于创建新的格式特定索引器,其以适合用于索引组件116处理到索引112中的格式输出新资源的已索引组和新资源引用114。
资源格式至少可包括文件系统文件夹和各种类型的文件、串和各种格式的图像数据。这还可包括其他类型和格式的数据,诸如二进制程序代码、音频内容或任何其他类型的应用资源。附加地,资源可驻留在特定于资源类型的单独文件(诸如JPEG、PNG或SVG图像文件)中,以及驻留在诸如动态链接库(DLL)的资源容器。还可使用其他数据容器格式,如数据库系统,结构化二进制文件类型或以诸如符合具体的XML纲要的文件的其他结构化文件类型。资源格式也可以是本机的(native)资源格式(例如,对于资源的数据类型是本机的)。
关于可扩展性,开发者可编写用于扩展统一接口组件108的定制的格式特定索引器,以支持更多的资源格式。当开发横跨多个技术的项目时,这允许开发者对于存储在各种格式中的资源的统一访问。可以本机资源格式收集资源102,而不是针对利用的每个技术复制资源。
图2例示了统一访问系统200的更详细的实现方式。这里,接口组件108被描绘为包括格式特定索引器202,其向索引组件116馈送适合于通过索引组件116处理为综合索引112的结构。例如,第一资源104与索引第一格式的资源的第一格式特定索引器204相关联,而且,第二资源106与索引第二格式的资源的第二格式特定索引器206相关联。因此,接口组件108包括针对资源102的每个任意资源格式的格式特定索引器。
每个格式特定索引器向索引组件116输出索引化的(或结构化的)格式,其创建单个索引112。索引112可包括在来自格式特定索引器202的结构(输出)中提供的资源(例如,资源208),和/或对于诸如第一资源104的特定资源的资源引用(例如,资源引用210)。
因此,进程(例如,消费应用)访问接口组件108,其经由索引112可直接从索引取得资源,或经由资源引用被引导至资源位置。
系统200是可扩展的,因为用户可添加新的格式特定索引器212,以处理新资源格式和引用114,如具体实现方式期望的。因此,在运行时间(或在其他期望的时间),经由索引组件116的处理,新资源被合并在索引112中。可创建格式特定索引器,并将其用于描述不同资源的显式列表。因此,用户(例如,引用开发者、运行时间用户等)指定索引112中将被使用的资源的准确列表。
换句话说,提供了访问系统,其包括在完全不同的资源位置的任意资源格式的资源,以及为进程(例如,消费者应用)提供对于资源的统一访问的接口组件。接口组件包括索引(其包括资源和/或对于资源的引用),以及创建资源的索引和对于资源的引用的索引组件。接口组件可扩展为实现对于通过索引组件被添加到索引中的新资源和新资源引用的统一访问 。
接口组件包括对于特定资源的资源引用。接口组件还包括用于资源容器的格式特定索引器,其发现、枚举并将容器资源转换为适合于索引组件处理到索引中的结构。利用格式特定索引器以显式地指定资源的准确列表以包括在索引中。接口组件的可扩展性允许创建新的格式特定索引器,其枚举并将新格式的新资源转换为适合于索引组件包含到索引中的索引结构。支持的资源类型和格式可包括文件夹、程序代码、文件、用户接口对象、可执行文件、包含其他资源的文件和/或文件层次。
以下是所公开的架构的一个例子实例化的更详细描述,其采用为进程(例如,应用)的完全不同的资源利用单个综合索引112的接口。图3例示了根据所公开的统一的解决方案的索引系统300的高级视图。架构(和系统300)提供索引器基础类(IBC)302,以支持创建资源306(例如,资源308)的资源索引304。具体地,IBC 302提供可用于开发者环境和目标客户端机器部署及资源运行时间两者的公共内部API。IBC 302有助于创建资源索引304和资源索引的管理。IBC 302利用格式特定索引器202(例如,文件夹索引器310和XML索引器312)及声明性配置规则,以与资源层次314交互。
IBC 302有助于将资源308的资源层次314返回至索引器工具316(经由格式特定索引器202),其经由索引组件318(与索引组件116类似)提供索引能力以输出资源索引304。如所示,在一个实现方式中,IBC 302独立于索引组件318。可替换地,索引组件318可包括IBC 302和/或格式特定索引器202的集合。附加地,在一个替代实施例中,写索引112的系统基础类302可与索引组件318交互(即,系统基础类320与IBC 302交互,且IBC 302是索引组件318的一个组件)。
IBC 302还与系统基础类320交互。系统基础类320包括用于合并(合并器322)、转储(转储器工具324)、读取器基础类326和构造器基础类328的功能性,以与资源索引交互。(注意,此处在一些地方被表示为“索引文件”,将理解,不要求索引作为独立文件驻留)。附加地,将理解,这仅仅是一个可能的实例化,并且可采用其他实例化。例如,为建立横跨不同类型和格式的资源的索引并取得索引,可采用用来写和读取索引但不合并索引或转储索引数据的功能性。
合并器322实现资源索引的合并,作为从一些格式特定索引器至具有索引112的合并器的输出。转储器工具324使得第三方开发者能够分析放入索引的资源和相关联的应用条件。最终地,输出是初级索引112。
作为基础类设计的一部分,还提供针对索引内容的配置规则和创建格式特定索引器扩展。配置规则可以是XML的,以指定资源/资源类型和维度(dimension)或维度中的特定值之间的关系。例如,用语言名命名的目录中的文件可被用于满足针对那些具体语言的资源请求。在该情况下,维度是语言,资源是文件,并且,对于维度中的值的关系可基于包含文件的目录名。将理解,其仅是一个可能的可选的实例化。
通过基础类302调用格式特定索引器202,以打开并标识资源层次314中的节点的内容。基于以上例子,提供针对目录和文件的索引器工具316。这样的索引器报告目录的内容,并标识针对基础类的每个项目的属性。
该特征还提供某一共用的功能性以供格式特定索引器202用以决定分配维度中的具体值。 建立该共用的功能性,然后某一共用的配置跨越格式特定索引器被利用。
IBC 302提供基本的功能单元,以通过基于配置规则或所提供的格式特定索引器分析资源层次314,或通过合并现存的索引的集合创建资源索引(例如,资源索引304)。IBC 302使能创建提供描述资源和资源位置的元数据的资源索引,以便使能运行时间标识针对给定上下文的最适当的资源。
该架构是可扩展的,因此允许单独的格式特定索引器202与IBC 302集成,并使得实现方式能支持附加的资源格式或具有更好的灵活性和更低的成本的资源容器格式。单独格式特定索引器的开发者能够利用共用的功能性确定维度值,允许焦点针对于其中包含资源的特定格式。
IBC 302从资源层次314组建立索引组。IBC 302利用系统基础类320以实际建立包资源索引文件和格式特定索引器,以遍历资源306。IBC302精心安排进程并遵循具体的逻辑以建立正确的索引组。IBC302还为格式特定索引器202提供统一机制,以在根据资源(例如,资源308)的元数据确定可应用条件时询问。
图4例示了采用索引基础类302的系统400的更详细的描述。按照从可用资源创建包的消费应用(或更概括地,进程)描述系统400。将注意,这仅仅是一个例子实施例。例如,在提供支持资源的不同类型和格式的单个系统的情况下,则条件的管理和诸如条件应用器(condition applicator)的相关联的组件是可选的。然而,将理解,(一个或多个)进程(例如,消费应用)可以用于任何适合的目的。此外,可应用限制针对给定目的的资源利用的条件。IBC 302被示出为包括条件应用器402,遍历汇点(traversal sink)404,汇点404中的项目实例条目406和索引器汇点408。如前所述,格式特定索引器(例如,索引器206)与IBC 302交互。最终地,可利用系统基础类302创建主函数(main)和资源包索引410。现在,将其作为一个例子实施例详细描述。
以下是针对IBC 302的示例类定义组。
条件应用器(Condition Applicator)
项目实例条目(Item Instance Entry)
项目实例汇点(Item Instance Sink)
索引通路(Index Pass)
资源索引器(Resource Indexer)
条件应用器402是中心位置,以将给定的串标识为条件,并将条件应用到ItemInstanceEntry。该应用器402是对象,其根据格式特定索引器206从诸如(例如,资源层次314的)文件夹和文件名提取的令牌(例如,文件名、文件路径等)识别和分配条件。该条件应用器的实现方式(其识别被声明为文件或文件夹名中的令牌的条件)仅是声明关于资源实例的条件的一个可能方式,并不将被解释为以任何方式限制。
以下条件应用器构建器(condition applicator constructor),
构建ConditionApplicator对象。输入包括索引通路配置数据,定义支持的上下文属性的环境对象,以及包含条件组列表的ConditionSetPool对象。
以下是应用条件构造器(Apply Conditions constructor),
其尝试应用上下文属性(Context Attribute)和针对给定串的值。输入包括解读为条件的串,以及定义条件组的条件组池中的索引。
输出包括条件组池中的索引(例如,newConditionSetIndex)。条件组池定义来自先前变元(argument)中引用的组的条件的超组(superset)。条件可能已被添加到条件组。也有可能,如果令牌是对于进入(pass in)的那些令牌之一的复制条件,则没有条件被添加。如果进入的条件的联合和可应用于令牌的条件是相同的,则保证该输出返回相同的索引。输出还包括进入的串令牌是否被确定为条件(例如,isCondition)。这不必意味着条件被添加。
在一个实现方式中,条件应用器402试图将串识别为BCP47有效标签。
遍历汇点407和索引汇点408是由IBC 302维护的数据结构,并包含项目实例条目406。遍历汇点404和索引汇点408两者都是ItemInstanceSink,并可被内部地实现为队列。
IBC 302枚举由格式特定索引器使用的遍历汇点条目406,并将那些项目实例条目406添加到索引汇点408。从索引汇点408,条目被添加到最终索引文件。
以下添加项目实例条目(Add Item Instance Entry),
将项目实例条目(Item Instance Entry)添加到汇点。输入是要添加的项目实例条目(Item Instance Entry)。
在IBC302构建期间,由配置的索引节(section)定义索引通路组。索引通路定义要索引的资源层次的节。具有多个索引通路考虑要被一并索引的分开的资源层次,而无需复杂的排除规则。
索引通路构建器(Index Pass Constructor)
建立新的索引通路类(Index Pass Class)对象。输入包括索引通路XML配置数据,以及用于定义上下文属性的环境。ConditionSetPool定义针对资源的条件组以及对于任务根文件夹的绝对路径。
以下索引通路(Index Pass)进程对象,
处理索引通路。
以下是针对索引通路的例子工作流。首先,从针对索引通路的配置数据确定索引器的列表。在该确定下,利用索引通路配置数据,标识包括在通路(忽略复制配置数据)中的唯一的索引器,利用完整的索引通路配置数据构建索引器,并调用针对每个格式特定索引器的初始化。其次,将根项目推到遍历汇点上,其具有:集合(collection)、ItemName、ItemType、InstanceValue、Condition(维度元素中定义的维度)和InstanceType。最后,开始索引循环。
输入包括要添加ItemInstanceEntries的遍历汇点404以便进行遍历,以及要添加ItemInstanceEntries的索引汇点408以便建立索引。
对于初始化,通过对输入执行检查,创立TraversalSink和初始值,然后根据配置数据设置索引通路,开始构建IBC。
以下构建器建立处理具有版本的构造的新的IBC对象,
输入可包括作为XML DOM(文档对象模型)节点(Node)的索引配置,在包清单(manifest)的包ID节内的名称字段,到从其进行所有索引(在该目录下进行所有索引)的任务根文件夹的绝对路径,要输出索引文件的文件夹的绝对路径,以及从其索引导出版本的主要版本。
以下构建器建立具有先前索引文件的新IBC对象,将其与新索引对比:
输入可包括作为XML DOM节点(Node)的索引配置,到从其进行所有索引的任务根文件夹的绝对路径,要输出索引文件的文件夹的绝对路径,以及索引文件的绝对路径。
通过调用适当的索引通路,然后利用索引资源建立初级资源索引器文件,进程开始索引处理。
工作流包括构建环境、构建遍历汇点(Traversal Sink)、构建索引汇点(Index Sink)、实例化和处理索引通路(Index Passes),并封装索引汇点(Index Sink)条目。
对于配置格式,传递到IBC的配置可采取与以下类似的形式。(可以以针对DOM支持和XML纲要验证的XML操作利用MSXML(微软(Microsoft)XML))。
对于以上封装节,IBC 302具有影响将资源放在不同的包410中的方式的能力。通过将资源放在不同的索引中,然后,封装工具可读取索引并确定要放入具体的包的文件以及适当的索引。索引不必描述包中的文件的全集。一些文件可被包括在包中,其中文件未被列于索引中。
以上封装节指示IBC的输出,并确定封装节创建的索引文件和进入索引文件的项目的数目。IBC维护要向正确的索引文件分发从格式特定索引器接收的项目的索引文件的列表。在封装节内,配置数据更具体定义每个索引包含的上下文。如果在IBC的构建器中未给定资源纲要,则在封装节中定义主包。
典型地,因为项目被用于共用的情景中,所以资源纲要是开发者归组在一起的资源项目的集合。例如,如果应用具有两个串项目,欢迎(Welcome)串和离开(Exit)串,每个具有六种语言的实例,然后资源纲要由两个项目组成。应用可具有针对其所有资源项目(纲要不同于针对不同的应用的纲要)的单个纲要。可替换地,开发者可具有用于不同应用的共用的组件并组织资源,以使得共用的组件使用一个纲要,应用特定资源的每个组在其自己纲要中,然后,每个应用将使用纲要的组合:各自的应用特定纲要及共用组件纲要。
主包定义包含所有项目而没有上下文值的索引。如果没有定义主包,则假设正在利用来自构建器中给定的主包的资源纲要单独地建立资源组装索引。
所定义的所有资源组装(pack)规定被放在那些索引中的项目的上下文。封装节还定义被称为autoResourcePacks的属性,当其是真(true)时,基于有任何上下文从格式特定索引器返回且与声明的包无关,定义即时创建索引文件的能力。如果autoResourcePacks为假(false),则与声明的包无关的所有上下文被添加到主包索引。除主包外(其被定义为主函数),可按包的名称属性命名索引。
对于索引节,索引节定义不同的索引会话或对资源执行的通路。索引通路可索引某些资源两次,其中由冲突资源(诸如被索引两次的文件夹将导致由系统基础类发出的一系列警告)上的系统基础类处理错误。每个索引通路初始化由index元素内的配置信息给定的正确的格式特定索引器。用索引通路配置初始化每个格式特定索引器。每个索引通路还初始化由每个格式特定索引器使用的ConditionApplicator。
每个索引通路通过将根目录(由startIndexAt属性给定)置于遍历汇点上开始。根目录与进入IBC构建器的任务根目录有关。根目录充当遍历汇点上的ItemInstanceENtry的实例值(Instance Value),并且,outputRelativeTo属性充当项目的项目名。按照索引元素内定义的维度元素,根条目得到应用于其的条件。
IBC利用适当的格式特定索引器,以实际地遍历资源组。在一个实现方式中,IBC支持两个格式特定索引器:文件夹索引器(Folder Indexer)和XML索引器(XML Indexer)。IBC确定适当的格式特定索引器,以实例化并且然后在资源上运行。IBC负责引导、配置和运行索引。
以下是示例IFormatSpecific接口,每个格式特定索引器附着于其:
IFormatSpecificIndexer
Init初始化格式特定索引器,且每个索引通路将每个格式特定索引器构建一次。输入包括在IBC构建器中定义的任务根,针对当前索引通路的具体的索引节的XML节点,以及基于串将条件应用于ItemInstanceEtries的ConditionApplicator。
Process处理用于引用具体的资源容器的ItermInstanceEntry。可同步地处理每个格式特定索引器。输入包括要处理的ItemInstancEntry和添加新itemInstanceEntries的TraversalEntrySink。输出是是否不应索引所进入的容器。
对于系统基础类交互,通过系统基础类320进行实际索引建立及写入文件。在利用来自主包的ResourceSchema建立资源组装索引前,建立并结束主包索引。对于主包,一旦所有索引通路已完成,则给定IBC的适当的构建器参数,针对主包的PackageResources类被适当初始化。在添加针对主包的所有ItemInstanceEntries之后,结束、校验索引并将其写入输出文件夹中具有名resource_main.indx的存储装置。
对于资源组装,一旦完成主包,则利用相关联的ItemInstanceEntries适当地建立资源组装。利用主包的ResourceSchema构建资源组装。在添加所有ItemInstanceEntries之后,结束索引并将其写入存储装置,其具有来自输出文件夹处的封装配置的适当的文件名。
以下是例子,其例示了进程。考虑以下文件结构:
还考虑以下配置文件config.xml:
以下IBC被初始化:
如以下所示,IBC 302读取配置中的索引通路并开始。IBC用索引通路配置和遍历汇点初始化ConditionApplicator。IBC仅用索引通路配置初始化一个文件夹和一个XML索引器。IBC按照以下初始化队列:
IBC推出队列中的第一项目,并将res\传递至文件夹索引器。然后,文件夹索引器将其添加到队列,并返回真(true)以让IBC知晓不要将res\项目放入索引中。
然后,将图像项目传递至文件夹索引器,然后其读取图像文件夹的内容,读取hello.jpg,并将其添加到队列。
向所有索引器给定res\fr-fr项目,并且文件夹索引器添加项目。
然后,IBC查看res\images\hello.jpg,并在得到非真后,从格式特定索引器返回。IBC意识到上下文为空且toIndex为真,并将实例添加到主包索引汇点。然后,IBC查看res\fr-fr\images,并且文件夹索引器将项目添加到队列,并返回真,以不将项目添加到索引。
然后,IBC查看res\fr-fr\strings.xml和XML索引器将项目添加到针对不同串的队列。XML索引器还返回真,以不将项目添加到索引。
最后,串和图像被添加到索引,并且toIndex被标记为真。因为autoResourcePacks被设置为真,这些串和图像被添加到fr-fr索引队列。
然后,索引管理器通过(go through)其索引队列,并建立针对主包的包资源索引,并且然后使用针对该包的纲要建立针对资源组装的包资源索引文件。主包被命名为resource_mail.indx,并且资源组装被称为resources_fr-fr.indx。
此处包括的是一组流程图,其代表用于执行公开架构的新颖方面的示例方法。尽管为了解释的简明性,例如,此处示出的一个或多个方法以流程图或流程表的形式被示出并被描述为一系列动作,但将理解和预期到,动作的顺序不会限制方法,据此,如一些动作可能以不同顺序和/或与来自此处示出和描述的其他动作同时地发生。例如,本领域技术人员将理解和预想到,方法可能替代地被表示为一系列互相联系的状态或事件,诸如在状态图中。此外,并非方法中例示的所有动作被要求用于新颖的实现方式。
图5例示了根据公开的架构的计算机实现的访问方法。在500,接收任意资源格式的资源。在502,资源被索引为综合资源索引。在504,经由单个接口提供对于资源的访问,该单个接口利用索引以访问资源。
图6例示了图5的方法的其他方面。注意,箭头指示每个框表示可被包括的步骤,分开或与其他框组合,作为由图5的流程图表示的方法的附加方面。在600,经由接口,使用对于索引中的资源的引用提供对于资源的访问。在602,对每个资源格式采用格式特定索引器索引格式的资源。在604,以本机资源格式索引资源,并且对于资源的引用被包括在索引中,以访问本机格式的资源。在606,通过创建输出描述资源的显式列表的相关联的新的格式特定索引器,接口被扩展为访问新资源和新资源格式。这允许第三方开发者定制针对本地需求的架构。在608,经由接口使能对于资源的访问,资源包括文件夹、程序代码、文件、用户接口对象、可执行文件、包含其他资源的文件或文件层次中的至少一个。
如在本申请中使用的,术语“组件”和“系统”意图指的是计算机有关的实体,或者硬件、软件和有形的硬件的组合、软件,或执行中的软件。例如,组件可以是但不限于有形的组件(诸如处理器、芯片存储器、大容量存储装置(例如,光学驱动器、固态驱动器和/或磁存储介质驱动器)),和计算机,和软件组件(诸如在处理器上运行的进程、对象、可执行文件、数据结构(存储在易失性或非易失性存储介质中)、模块、执行线程和/或程序)。通过例示的方式,服务器上运行的应用和服务器两者可以是组件。一个或多个组件可驻留在进程和/或执行线程内,且组件可被定位在一个计算机和/或两个或多个计算机之间的分布上。此处可使用“示例”以意味着充当例子、、实例或例示。此处描述为“示例”的任何方面或设计不必被理解为比其他方面或设计优选或有优势。
现在参考图7,例示了根据公开的架构执行用于访问的统一接口的例子计算系统700的框图。为了提供针对其中各方面的附加上下文,图7和以下描述意图提供可实现各方面的适合的计算系统700的简洁的、总体的描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中,本领域技术人员将意识到,还可与其他程序模块和/或作为硬件和软件的组合实现新颖的实施例。
用于实现各方面的计算系统700包括具有(一个或多个)处理单元704,诸如系统存储器706的计算机可读存储装置,和系统总线708的计算机702。(一个或多个)处理单元704可以是任何各种商业可得的处理器,诸如单个处理器、多个处理器、单核单元和多核单元。此外,本领域技术人员将预想到,可用其他计算机系统配置实现新颖的方法,包括微型计算机、主机计算机,以及个人计算机(例如,台式、膝上型等)、手持式计算装置、基于微处理器或可编程的消费电子产品等等,其中每个可以可操作地与一个或多个相关联的装置耦合。
系统存储器706可包括计算机可读存储装置(物理的存储介质),诸如易失性(VOL)存储器710(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL)712(例如,ROM、EPROM、EEPROM等)。基本输入/输出系统(BIOS)可被存储在非易失性存储器712中,并包括有助于计算机702内的组件之间(诸如在开机期间)的数据和信号通信的基本例程。易失性存储器710还可包括诸如用于缓存数据的静态RAM的高速RAM。
系统总线708提供针对系统组件的接口,包括但不限于至处理单元704的系统存储器706。系统总线708可以是还可与存储器总线(具有或没有存储器控制器)互相连接的一些类型的总线结构中的任何一种,以及外设总线(例如,PCI、PCIe、AGP、LPC等),使用任何各种商业可得总线架构中的任何一种。
计算机702还包括(一个或多个)机器可读存储子系统714和用于作为存储子系统714到系统总线708及其他期望的计算机组件的接口的(一个或多个)存储接口716。例如,(一个或多个)存储子系统714(物理存储介质)可包括一个或多个硬盘驱动器(HDD)、磁软盘驱动器(FDD),和/或光盘存储驱动器(例如,CD-ROM驱动器、DVD驱动器)。例如,(一个或多个)存储接口716可包括诸如EIDE、ATA、SARA和IEEE1394的接口技术。
一个或多个程序和数据可被存储在存储器子系统706,机器可读和可移除存储器子系统718(例如,闪存驱动器形式因素技术),和/或(一个或多个)存储子系统714(例如,光学、磁、固态)中,其包括操作系统720,一个或多个应用程序722,其他程序模块724和程序数据726。
例如,操作系统720,一个或多个应用程序722,其他程序模块724和/或程序数据726可包括图1的系统100的实体和组件,图2的系统200的实体和组件、图3的系统300的实体和组件、图4的系统400的实体和组件和由附图5和6的流程图表示的方法。
一般地,程序包括例程、方法、数据结构、其他软件组件等,其执行具体的任务或实现具体的抽象的数据类型。例如,操作系统720、应用722、模块724,和/或数据726的所有或部分还可被缓存在诸如易失性存储器710的存储器中。还将预想到,可用各种商业可得的操作系统或操作系统的组合(例如,作为虚拟机器)实现公开的架构。
(一个或多个)存储子系统714和存储器子系统(706和718)充当计算机可读介质,其用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储。这样的指令,当由计算机或其他机器执行时,可使得计算机或其他机器能执行方法的一个或多个动作。执行动作的指令可以被存储在一个介质上,或可能跨越多个介质被存储,以便无论是否所有的指令在相同介质上,指令集体地出现在一个或多个计算机可读存储介质上。
计算机可读介质可以是可由计算机702访问的任何可得的介质,并包括易失性和非易失性内部和/或外部介质,其是可移除或非可移除的。对于计算机702,介质容纳以任何适合的数字格式的数据存储。本领域技术人员应预想到,可采用其他类型的计算机可读介质,诸如压缩驱动器,磁带、闪存卡、闪存驱动器、磁带盒等等,用于存储用于执行公开架构的新颖方法的计算机可执行指令。
用户可使用诸如键盘和鼠标的外部用户输入装置728与计算机702、程序和数据交互。其他外部用户输入装置728可包括麦克风、IR(红外线)远程控制、控制杆、游戏板、照相机识别系统、手写笔、触摸屏、姿势系统(例如,眼睛移动、头移动等)等等。例如,用户可使用诸如触摸板、麦克风、键盘等的板上用户输入装置730与计算机702、程序和数据交互,其中计算机702是便携式计算机。通过(一个或多个)输入/输出(I/O)装置接口732经由系统总线708,将这些和其他输入装置连接至(一个或多个)处理单元704,但可通过诸如并行端口、IEEE1394串口、游戏端口、USB端口、IR接口、短距无线(例如,蓝牙)和其他个域网(PAN)技术等其他技术连接。(一个或多个)I/O装置接口732还有助于输出外设(诸如打印机、音频装置、照相机装置等)734的使用,诸如声卡和/或板上音频处理能力。
一个或多个图形接口736(通常也称为图形处理单元(GPU))提供计算机702和(一个或多个)外部显示器738(例如,LCD、等离子)和/或板上显示器740(例如,用于便携式计算机)之间的图形和视频信号。(一个或多个)图形接口736还可被 制造为计算机系统板的部分。公开的架构还可潜在地被用于没有图形或、输出显示器接口(例如,提供将在远程系统上显示的UI资源,或提供针对用于控制没有人类交互的装置的应用的非UI资源)的计算系统的上下文中。
计算机702可使用经由有线/无线通信子系统742至一个或多个网络和/或其他计算机的逻辑连接,在网络环境(例如,基于IP)中操作。其他计算机可包括工作站、服务器、路由器、个人计算机、基于微处理器的娱乐家用电器、对等装置或其他共用的网络节点,并且,典型地,包括描述的与计算机702有关的许多或所有原件。逻辑连接可包括至局域网(LAN)、广域网(WAN)、热点等的有线/无线连接性。LAN和WAN联网环境是办公室和公司中的普通事物,并促进诸如内联网的企业范围的计算机环境,所有这些可连接至诸如因特网的全球通信网络。
当被用于联网环境中,计算机702经由有线/无线通信子系统742(例如,网络接口适配器、板上收发器子系统等)连接至网络,以与有线/无线网络、有线/无线打印机、有线/无线输入装置744等通信。计算机702可包括调制解调器或用于创立网络上的通信的其他手段。在联网环境中,与计算机702有关的程序和数据可被存储在与分布式系统相关联的远程存储器/存储装置中。将预想到,示出的网络连接是示例,并且可使用在计算机之间创立通信链接的其他手段。
计算机702使用诸如IEEE802.xx标准族的无线电技术可操作为与有线/无线装置或实体(诸如操作性地布置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星, 与无线地可检测的标签(例如,公用电话间(kiosk)、报摊、休息室)相关联的任何设备或位置和电话的无线通信(例如,IEEE802.11空中调制技术)中的无线装置)通信。其至少包括用于热点的Wi-Fi(或无线保真)、WiMax和蓝牙TM无线技术。因此,如同传统的网络或简单地在至少两个装置之间的ad hoc通信,通信可以是预定义结构。Wi-Fi网络使用被称为IEEE802.11x(a、b、g等)的无线电技术提供安全、可靠、快速的无线连接性。Wi-Fi网络可被用于连接计算机至彼此、至因特网及至有线网络(其使用有关IEEE-802.3的介质和功能)。
可在分布式计算环境中实现例示的和描述的方面,其中由通过通信网络被链接的远程处理装置执行某些任务。在分布式计算环境中,资源容器可位于本地和/或远程存储装置和/或存储器系统。
现在参考图8,其例示了利用针对资源访问的统一接口的计算环境800的示意性框图。环境800包括一个或多个客户端802。(一个或多个)客户端802可以是硬件和/或软件(例如,线程、进程、计算装置)。例如,(一个或多个)客户端802可容纳(一个或多个)cookie和/或相关联的上下文信息。
环境800还包括一个或多个服务器804。(一个或多个)服务器804还可以是硬件和/或软件(例如,线程、进程、计算装置)。例如,服务器804可容纳线程以通过采用该架构执行变换。在客户端802和服务器804之间的一个可能的通信可以是以数据分组的形式,其适于在两个或多个计算机进程之间传输。例如,数据分组可包括cookie和/或相关联的上下文信息。环境800包括通信框架806(例如,诸如因特网的全球通信网络),可采用其以有助于(一个或多个)客户端802和服务器804之间的通信。
可经由有线(包括光纤)和/或无线技术促进通信。(一个或多个)客户端802可操作性地被连接至一个或多个客户端数据存储装置808,其可被采用于存储(一个或多个)客户端802的本地信息(例如,cookie和/或相关联的上下文信息)。类似地,(一个或多个)服务器804可操作性地被连接至一个或多个服务器数据存储装置810,其可被采用于存储服务器804的本地信息。
以上已描述的包括公开架构的例子。当然,不可能描述组件和/或方法的每个可想象的组合,但是,本领域的普通技术人员可意识到,还有许多组合和排列是可能的。因此,新颖的架构意图包含落入所附权利要求的精神和范围内的所有这样的替代、修改和变化。而且,对于在具体实施方式或者在权利要求中使用的术语“包含”,如“包括”在被采用为权利要求中的传统词语时被解读的那样,这样的术语意图按照与术语“包括”类似的方式,是包含性的。
Claims (10)
1. 一种计算机实现的访问系统(100),包括:
任意资源格式的资源(102);
为进程提供对于所述资源的统一访问的接口组件(108),所述接口组件访问包括资源以及可选地对于一个或多个所述资源的引用的索引,所述接口组件可扩展为提供对于新资源和新资源引用的统一访问;以及
执行至少与所述接口组件相关联的计算机可执行指令的处理器。
2. 如权利要求1所述的系统,其中所述接口组件经由所述索引中对于资源的资源引用,提供对于所述资源的访问。
3. 如权利要求1所述的系统,其中枚举所述资源和引用以建立所述索引,所述索引包括具有格式的资源条目,所述格式对于所述资源的对应格式是技术不可知的。
4. 如权利要求1所述的系统,其中所述接口组件是不可扩展的,并有助于创建向索引组件输出资源的已索引组的格式特定索引器,所述索引组件创建所述索引并将所述已索引组处理到所述索引中。
5. 如权利要求1所述的系统,其中所述接口组件是可扩展的,并有助于创建新的格式特定索引器,其以适合由索引组件处理到所述索引中的格式输出所述新资源的已索引组和所述新资源引用。
6. 一种计算机实现的访问方法,包括以下动作:
接收任意资源格式的资源(500);
将所述资源索引为综合资源索引(502);
经由单个接口,提供对于所述资源的访问,所述单个接口利用所述索引以访问所述资源(504);以及
利用执行存储在存储器中的指令的处理器,以至少执行索引和提供的动作。
7. 如权利要求6所述的方法,还包括:使用所述索引中对于资源的引用,经由所述接口,提供对于资源的访问。
8. 如权利要求6所述的方法,还包括:采用针对每个资源格式的格式特定索引器,以索引所述格式的所述资源。
9. 如权利要求6所述的方法,还包括:通过创建输出描述新资源的显式列表的相关联的新的格式特定索引器,扩展所述接口以访问新资源和新资源格式。
10. 如权利要求6所述的方法,还包括:使能经由接口对于包括以下中的至少一个的资源的访问:文件夹、程序代码、文件、用户接口对象、可执行文件、包含其他资源的文件或文件层次。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/979356 | 2010-12-28 | ||
US12/979,356 US9495371B2 (en) | 2010-12-28 | 2010-12-28 | Unified access to resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102542045A true CN102542045A (zh) | 2012-07-04 |
CN102542045B CN102542045B (zh) | 2017-06-20 |
Family
ID=46318345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110446908.1A Active CN102542045B (zh) | 2010-12-28 | 2011-12-28 | 对于资源的统一访问 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9495371B2 (zh) |
CN (1) | CN102542045B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579530A (zh) * | 2020-12-14 | 2021-03-30 | 莱诺斯科技(北京)股份有限公司 | 一种自动化测试系统的数据资源组织方法及装置 |
CN113722279A (zh) * | 2021-08-19 | 2021-11-30 | 北京达佳互联信息技术有限公司 | 确定文件夹大小的方法、装置、设备及存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9047103B2 (en) | 2010-12-21 | 2015-06-02 | Microsoft Technology Licensing, Llc | Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions |
US8495570B2 (en) * | 2010-12-23 | 2013-07-23 | Microsoft Corporation | Resource deployment based on conditions |
US11487707B2 (en) * | 2012-04-30 | 2022-11-01 | International Business Machines Corporation | Efficient file path indexing for a content repository |
US8898113B2 (en) | 2012-11-21 | 2014-11-25 | International Business Machines Corporation | Managing replicated data |
US9633023B2 (en) * | 2013-03-15 | 2017-04-25 | Microsoft Technology Licensing, Llc | Efficient DVCS storage system |
US9766870B2 (en) * | 2013-05-30 | 2017-09-19 | Microsoft Technology Licensing, Llc | Bundle package generation |
US9323514B2 (en) | 2013-05-30 | 2016-04-26 | Microsoft Technology Licensing, Llc | Resource package indexing |
US20140357357A1 (en) | 2013-05-30 | 2014-12-04 | Microsoft Corporation | Game bundle package |
US20160380992A1 (en) * | 2014-02-11 | 2016-12-29 | Google Inc. | Authentication specific data |
US10169368B2 (en) | 2014-10-02 | 2019-01-01 | International Business Machines Corporation | Indexing of linked data |
US9785724B2 (en) * | 2014-10-30 | 2017-10-10 | Microsoft Technology Licensing, Llc | Secondary queue for index process |
US20170185662A1 (en) * | 2015-12-29 | 2017-06-29 | International Business Machines Corporation | Means to process hierarchical json data for use in a flat structure data system |
JP6855348B2 (ja) * | 2017-07-31 | 2021-04-07 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびダウンロード処理方法 |
CN107948135B (zh) * | 2017-10-31 | 2020-02-21 | 贵州白山云科技股份有限公司 | 一种支持多种api协议的数据处理方法及装置 |
US11385905B2 (en) | 2020-06-10 | 2022-07-12 | Red Hat, Inc. | Managing boot device orders for computing devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235313A (zh) * | 1998-05-12 | 1999-11-17 | 龙卷风科技股份有限公司 | 电脑文件名称搜寻系统 |
US7356615B2 (en) * | 1999-12-30 | 2008-04-08 | International Business Machines Corporation | Pluggable service delivery platform |
CN101313300A (zh) * | 2005-08-30 | 2008-11-26 | 谷歌公司 | 本地搜索 |
CN101416188A (zh) * | 2006-04-06 | 2009-04-22 | Nhn公司 | 用来在本地计算机中执行程序的系统和方法 |
Family Cites Families (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6938256B2 (en) | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US6704776B1 (en) | 2000-06-30 | 2004-03-09 | Webtv Networks, Inc. | Selecting attribute based content for server applications |
US7454516B1 (en) | 2000-08-03 | 2008-11-18 | Microsoft Corporation | Scalable virtual partitioning of resources |
EP1202168A3 (en) | 2000-10-30 | 2006-08-23 | Microsoft Corporation | System and method for dynamically veryfying the compatibility of a user interface resource |
US7584262B1 (en) | 2002-02-11 | 2009-09-01 | Extreme Networks | Method of and system for allocating resources to resource requests based on application of persistence policies |
US20040158480A1 (en) | 2002-10-03 | 2004-08-12 | Lubars Mitchell D. | System and method for bundling resources |
US7072807B2 (en) | 2003-03-06 | 2006-07-04 | Microsoft Corporation | Architecture for distributed computing system and automated design, deployment, and management of distributed applications |
JP4458040B2 (ja) * | 2003-04-07 | 2010-04-28 | セイコーエプソン株式会社 | 画像蓄積装置及びプログラム |
JP2005004350A (ja) | 2003-06-10 | 2005-01-06 | Sony Ericsson Mobilecommunications Japan Inc | リソース管理方法及び装置、リソース管理プログラム、記憶媒体 |
US7146353B2 (en) | 2003-07-22 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Resource allocation for multiple applications |
US8015301B2 (en) * | 2003-09-30 | 2011-09-06 | Novell, Inc. | Policy and attribute based access to a resource |
JP3712071B2 (ja) * | 2003-10-02 | 2005-11-02 | ソニー株式会社 | ファイル管理装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体 |
US7305376B2 (en) | 2003-10-23 | 2007-12-04 | Microsoft Corporation | Multiple language-dependent resources compacted into a single resource file |
US7451219B2 (en) | 2003-11-05 | 2008-11-11 | International Business Machines Corporation | Determining server resources accessible to client nodes using information received at the server via a communications medium |
US7251659B1 (en) | 2003-12-04 | 2007-07-31 | Sprint Communications Company L.P. | Method and system for managing resource indexes in a networking environment |
CN100444566C (zh) | 2004-02-20 | 2008-12-17 | 中兴通讯股份有限公司 | 一种多用户并发接入装置及其方法 |
US20050273507A1 (en) | 2004-06-08 | 2005-12-08 | Yong Yan | Method and system for managing heterogeneous resources across a distributed computer network |
US7536370B2 (en) | 2004-06-24 | 2009-05-19 | Sun Microsystems, Inc. | Inferential diagnosing engines for grid-based computing systems |
US20060053169A1 (en) * | 2004-09-09 | 2006-03-09 | Straub Roland U | System and method for management of data repositories |
US7499970B2 (en) | 2004-11-12 | 2009-03-03 | International Business Machines Corporation | Method and system for supervisor partitioning of client resources |
US20100004972A1 (en) | 2004-12-15 | 2010-01-07 | Sap Aktiengesellschaft | Resource Management |
GB0427670D0 (en) | 2004-12-16 | 2005-01-19 | Ibm | Methods, systems and computer program products for loading a resource |
US7657868B2 (en) | 2005-03-14 | 2010-02-02 | Research In Motion Limited | System and method for applying development patterns for component based applications |
US7757227B2 (en) | 2005-03-18 | 2010-07-13 | Microsoft Corporation | Dynamic multilingual resource support for applications |
US7814492B1 (en) | 2005-04-08 | 2010-10-12 | Apple Inc. | System for managing resources partitions having resource and partition definitions, and assigning a named job to an associated partition queue |
US7971198B2 (en) | 2005-06-08 | 2011-06-28 | Unoweb Inc. | Method for global resource sharing having logically linked means and integrated functionality for building solutions |
US7757229B2 (en) | 2005-08-09 | 2010-07-13 | International Business Machines Corporation | Reflective, XML-based framework for the construction of common application launchers |
CN100373362C (zh) | 2005-12-22 | 2008-03-05 | 北京中星微电子有限公司 | 直接存储访问控制器 |
US7921358B2 (en) | 2006-01-17 | 2011-04-05 | Microsoft Corporation | Automatic package conformance validation |
US20090132232A1 (en) | 2006-03-30 | 2009-05-21 | Pegasystems Inc. | Methods and apparatus for implementing multilingual software applications |
US7814498B2 (en) | 2006-05-01 | 2010-10-12 | Microsoft Corporation | Loading application resources |
US7962470B2 (en) * | 2006-06-01 | 2011-06-14 | Sap Ag | System and method for searching web services |
US20070294699A1 (en) | 2006-06-16 | 2007-12-20 | Microsoft Corporation | Conditionally reserving resources in an operating system |
US20080065664A1 (en) | 2006-06-27 | 2008-03-13 | Kehn Daniel B | Computer-implemented method, tool, and program product for more efficiently utilizing java resource bundles |
US20130047150A1 (en) | 2006-08-29 | 2013-02-21 | Adobe Systems Incorporated | Software installation and process management support |
US8191060B2 (en) | 2006-08-29 | 2012-05-29 | Adobe Systems Incorporated | Software installation using template executables |
US20080082490A1 (en) | 2006-09-28 | 2008-04-03 | Microsoft Corporation | Rich index to cloud-based resources |
US20090271762A1 (en) | 2008-04-29 | 2009-10-29 | Sugarcrm Inc. | Business software application system and method |
US8341595B2 (en) | 2007-05-30 | 2012-12-25 | Roam Data Inc | System and method for developing rich internet applications for remote computing devices |
US8266287B2 (en) | 2007-06-12 | 2012-09-11 | International Business Machines Corporation | Managing computer resources in a distributed computing system |
US8276121B2 (en) | 2007-06-19 | 2012-09-25 | Microsoft Corporation | Selection of versioned resource among multiple compatible versions |
CN101350763A (zh) | 2007-07-16 | 2009-01-21 | 华为技术有限公司 | 一种资源管理方法、系统和网络设备 |
US7831590B2 (en) | 2007-08-31 | 2010-11-09 | Teradata Us, Inc. | Techniques for partitioning indexes |
US8904400B2 (en) | 2007-09-11 | 2014-12-02 | 2236008 Ontario Inc. | Processing system having a partitioning component for resource partitioning |
US20090094609A1 (en) | 2007-10-09 | 2009-04-09 | Microsoft Corporation | Dynamically providing a localized user interface language resource |
US8151084B2 (en) | 2008-01-23 | 2012-04-03 | Oracle America, Inc. | Using address and non-address information for improved index generation for cache memories |
US20090216707A1 (en) | 2008-02-26 | 2009-08-27 | International Business Machines Corporation | File resource usage information in metadata of a file |
US8595710B2 (en) | 2008-03-03 | 2013-11-26 | Microsoft Corporation | Repositories and related services for managing localization of resources |
US8924947B2 (en) | 2008-03-05 | 2014-12-30 | Sap Se | Direct deployment of static content |
JP5410025B2 (ja) | 2008-03-07 | 2014-02-05 | 株式会社日立製作所 | ストレージシステム及びその管理方法 |
US8146091B2 (en) | 2008-05-01 | 2012-03-27 | International Business Machines Corporation | Expansion and contraction of logical partitions on virtualized hardware |
US9361636B2 (en) | 2008-05-20 | 2016-06-07 | Microsoft Technology Licensing, Llc | Creating, managing, and provisioning packages of online applications |
US20090328028A1 (en) | 2008-06-25 | 2009-12-31 | O'rourke Connor | Electronic documents and methods for updating resource files for an application |
US20100011368A1 (en) | 2008-07-09 | 2010-01-14 | Hiroshi Arakawa | Methods, systems and programs for partitioned storage resources and services in dynamically reorganized storage platforms |
US9280335B2 (en) | 2010-09-30 | 2016-03-08 | International Business Machines Corporation | Semantically rich composable software image bundles |
US20100083219A1 (en) | 2008-10-01 | 2010-04-01 | Microsoft Corporation | Runtime Object Composition |
US8548946B2 (en) | 2008-10-14 | 2013-10-01 | Microsoft Corporation | Content package for electronic distribution |
GB2465784B (en) | 2008-11-28 | 2012-07-11 | Vmware Inc | Computer system and method for configuring an application program in a computer system |
GB2465785B (en) | 2008-11-28 | 2012-07-04 | Vmware Inc | Computer system and method for resolving dependencies in a computer system |
US8874701B2 (en) | 2008-12-22 | 2014-10-28 | Sap Se | On-demand provisioning of services running on embedded devices |
US8793365B2 (en) | 2009-03-04 | 2014-07-29 | International Business Machines Corporation | Environmental and computing cost reduction with improved reliability in workload assignment to distributed computing nodes |
US8392567B2 (en) | 2009-03-16 | 2013-03-05 | International Business Machines Corporation | Discovering and identifying manageable information technology resources |
US8418181B1 (en) | 2009-06-02 | 2013-04-09 | Amazon Technologies, Inc. | Managing program execution based on data storage location |
US8224804B2 (en) | 2009-07-22 | 2012-07-17 | Microsoft Corporation | Indexing of partitioned external data sources |
US8707172B2 (en) | 2009-11-12 | 2014-04-22 | International Business Machines Corporation | Internationalization technology |
US8275888B2 (en) | 2009-11-25 | 2012-09-25 | International Business Machines Corporation | Indexing heterogeneous resources |
US8627298B2 (en) | 2009-12-14 | 2014-01-07 | International Business Machines Corporation | Using appropriate level of code to be executed in runtime environment using metadata describing versions of resources being used by code |
US8402139B2 (en) | 2010-02-26 | 2013-03-19 | Red Hat, Inc. | Methods and systems for matching resource requests with cloud computing environments |
US8341185B2 (en) * | 2010-04-02 | 2012-12-25 | Nokia Corporation | Method and apparatus for context-indexed network resources |
US9710261B2 (en) | 2010-05-06 | 2017-07-18 | Microsoft Technology Licensing, Llc | Techniques to enhance software production |
US8719784B2 (en) | 2010-09-06 | 2014-05-06 | International Business Machines Corporation | Assigning runtime artifacts to software components |
US9047103B2 (en) | 2010-12-21 | 2015-06-02 | Microsoft Technology Licensing, Llc | Resource index identifying multiple resource instances and selecting most appropriate UI resource instance based on weighted resource request conditions |
US8495570B2 (en) | 2010-12-23 | 2013-07-23 | Microsoft Corporation | Resource deployment based on conditions |
US20120272204A1 (en) | 2011-04-21 | 2012-10-25 | Microsoft Corporation | Uninterruptible upgrade for a build service engine |
US8910132B2 (en) | 2012-07-13 | 2014-12-09 | Facebook, Inc. | Client-side script bundle management system |
-
2010
- 2010-12-28 US US12/979,356 patent/US9495371B2/en active Active
-
2011
- 2011-12-28 CN CN201110446908.1A patent/CN102542045B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1235313A (zh) * | 1998-05-12 | 1999-11-17 | 龙卷风科技股份有限公司 | 电脑文件名称搜寻系统 |
US7356615B2 (en) * | 1999-12-30 | 2008-04-08 | International Business Machines Corporation | Pluggable service delivery platform |
CN101313300A (zh) * | 2005-08-30 | 2008-11-26 | 谷歌公司 | 本地搜索 |
CN101416188A (zh) * | 2006-04-06 | 2009-04-22 | Nhn公司 | 用来在本地计算机中执行程序的系统和方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112579530A (zh) * | 2020-12-14 | 2021-03-30 | 莱诺斯科技(北京)股份有限公司 | 一种自动化测试系统的数据资源组织方法及装置 |
CN112579530B (zh) * | 2020-12-14 | 2024-05-14 | 莱诺斯科技(北京)股份有限公司 | 一种自动化测试系统的数据资源组织方法及装置 |
CN113722279A (zh) * | 2021-08-19 | 2021-11-30 | 北京达佳互联信息技术有限公司 | 确定文件夹大小的方法、装置、设备及存储介质 |
CN113722279B (zh) * | 2021-08-19 | 2024-03-01 | 北京达佳互联信息技术有限公司 | 确定文件夹大小的方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20120166513A1 (en) | 2012-06-28 |
US9495371B2 (en) | 2016-11-15 |
CN102542045B (zh) | 2017-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102542045A (zh) | 对于资源的统一访问 | |
CN102541638B (zh) | 资源管理系统和方法 | |
CN101151608B (zh) | 开发人员容易地找出或扩展系统上周知位置的能力 | |
CN102160037B (zh) | 只需设计一次就能在任何平台应用的移动应用开发框架 | |
US11762634B2 (en) | Systems and methods for seamlessly integrating multiple products by using a common visual modeler | |
CN107122289B (zh) | 系统回归测试的方法、装置及系统 | |
CN106559438A (zh) | 一种基于目标网络平台的程序上传方法和装置 | |
CN101821709A (zh) | 用于工作流生成、调度和/或执行的系统、方法和图形用户界面 | |
CN108964968A (zh) | 一种容器云环境下的服务接入管理方法和系统 | |
US20130227085A1 (en) | Terminal and method for using cloud services | |
CN103733199B (zh) | 用于设计管理框架的移动app | |
CN105637478A (zh) | 原生移动应用代码的计算机辅助开发 | |
CN103914511A (zh) | 选择用于云存储的图像或者视频文件 | |
CN105589959A (zh) | 表单处理方法和表单系统 | |
CN110990048A (zh) | 一种监控Unity项目资源缺失的方法及系统 | |
CN106663090A (zh) | 在编译期间将呈现元数据转换成浏览器可渲染格式 | |
CN106022010A (zh) | 一种文件展示方法及装置 | |
CN101645021B (zh) | Java应用服务器下多系统的单点登录整合方法 | |
Webber et al. | Designing a patient-centric system for secure exchanges of medical data | |
JP2019095850A (ja) | 文書処理装置およびプログラム | |
KR20130126012A (ko) | 비즈니스 인텔리전스의리포트 제공 방법 및 장치 | |
JP5991376B2 (ja) | プログラム、文書変換装置および文書変換方法 | |
CN108052842A (zh) | 签名数据的存储、验证方法及装置 | |
US8260782B2 (en) | Data element categorization in a service-oriented architecture | |
Schwieren et al. | ID-Services: an RFID middleware architecture for mobile applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150629 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150629 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |