在各实施例中,提供了用于基于特征集约束来维持各应用间的兼容性的方法和系统。分布式计算系统提供了包括云计算的服务模型中的软件框架的平台即服务(PaaS)。针对第一应用和第二应用的特征建立已知兼容性基线。该已知兼容性基线固有地包括所述应用的未枚举特征的基线集。基于比较所述应用的特征集中的所添加的特征或所移除的特征的显式枚举来确定该第一应用与第二应用兼容。所添加的特征或所移除的特征在定义未枚举特征的基线集之后被跟踪。该第一应用和该第二应用是否兼容的确定被传递以处理该第一应用和/或该第二应用。
【技术实现步骤摘要】
【国外来华专利技术】【专利说明】分布式计算环境中的应用兼容性检查 置量 -般而言,分布式计算系统被主存在云计算系统中(跨各种节点),且主要旨在共 享资源以在共享服务的融合的基础设施中实现高效率。分布式计算系统可支持例如平台即 服务(PaaS),PaaS在云计算的服务模型中提供计算平台(例如,硬件架构和软件框架)和 解决方案栈(例如,操作系统、web服务器、数据库和编程语言)。在此服务模型中,消费者 使用来自提供商的工具和/或库创建软件。消费者还控制软件部署和配置设置。提供商提 供网络、服务器、存储和其他服务。此模型还可包括在具有相互依赖性的各不同应用上工作 的多个开发者。应用组件(例如,特性)可对在该软件框架上运行的另一应用组件具有依 赖性,或者应用组件可对软件框架组件具有依赖性。各应用之间以及应用和软件框架之间 的兼容性检查在部署和升级之前是必需的。此外,该服务模型提供了应用中的详细特性的 频繁改变,这增加了确保兼容性的复杂度。 概沭 提供本
技术实现思路
以便以简化的形式介绍将在以下详细描述中进一步描述的一些 概念。该
技术实现思路
不旨在标识所要求保护的主题的关键特征或本质特征,也不旨在独立地 用于帮助确定所要求保护的主题的范围。 本专利技术的实施例提供了一种用于基于特征集约束来维持各应用间的兼容性的方 法。针对第一应用和第二应用标识已知兼容性基线。该已知兼容性基线与所述应用的未枚 举特征的基线集相关联。已知兼容性基线可基于兼容性测试来确定。确定各应用之间的兼 容性信令应用之间的兼容性基线而不明确枚举应用中的特征。基于比较应用的特征集中的 所添加的特征或所移除的特征的显式枚举来确定第一应用与第二应用兼容。在定义未枚举 特征的基线集之后跟踪所添加的特征或所移除的特征。第一应用和第二应用是否兼容的确 定被传递以处理第一应用和/或第二应用。 附图简沐 下面参考附图详细描述本专利技术,其中: 图1是适用于在实现本专利技术的各实施例中使用的示例性计算环境的框图; 图2是其中可以采用本专利技术各实施例的示例性分布式计算系统环境的框图; 图3是描绘根据本专利技术个实施例的用于维持各应用间的兼容性的应用基础设施 的不意图; 图4是示出根据本专利技术各实施例的用于维持各应用间的兼容性的方法的流程图; 以及 图5是示出根据本专利技术各实施例的用于维持各应用间的兼容性的方法的流程图. 详细描沐 本文中用细节来描述本专利技术各实施例的主题以满足法定要求。然而,该描述本身 并非旨在限制本专利的范围。相反,专利技术人已设想所要求保护的主题还可结合其它当前或 未来技术以其它方式来实施,以包括不同的步骤或类似于本文中所描述的步骤的步骤组 合。此外,尽管术语"步骤"和/或"框"可在此处用于指示所采用的方法的不同元素,但除 非而且仅当明确描述了各个步骤的顺序时,该术语不应被解释为意味着此处公开的各个步 骤之中或之间的任何特定顺序。 出于本公开的目的,单词"包括"(including)具有与单词"包含" (comprising) - 样广义的含义。另外,诸如"一(a)"和"一(an)"包括复数以及单数,除非另外相反地指明。 由此,例如,"一特征"满足存在一个或多个特征的情况。同样,术语"或"(or)包括合取、析 取及这两者(a或b由此包括a或b任一,以及a和b)。 出于下面的详细讨论的目的,本专利技术各实施例是参考具有应用和软件框架的云计 算分布式系统来描述的;然而,应当理解,该应用和软件框架是用于示例性目的的,且本文 描述的兼容性检查过程可被用于维持不同类型的应用之间的兼容性。此外,尽管本专利技术的 各实施例可一般涉及本文中所述的各组件,但是应当理解所述技术的实现可以扩展到执行 所述各步骤的其他组件。 通常,云计算分布式系统用于以分布式的方式来存储数据或运行应用。例如,平台 即服务(PaaS)在云计算的服务模型中提供计算平台(例如,硬件架构和软件框架)和解决 方案栈(例如,操作系统、web服务器、数据库和编程语言)。在此服务模型中,消费者使用 来自提供商的工具和/或库创建服务应用。消费者还可控制服务应用部署和配置设置。提 供商提供网络、服务器、存储和其他服务,包括与消费者的服务应用一起运行的服务应用。 该分布式计算系统的应用可包括被分配以运行应用的一个或多个部分的节点和虚拟机。当 多于一个独立应用正被各节点支持时,所述节点可被划分成在个体化的计算环境中各自并 发运行所述独立应用的虚拟机,所述个体化的计算环境支持因每个应用而异的资源和/或 操作系统。如本文使用的,应用可指软件框架、操作系统、服务应用、角色、及其任何组合和 变型。本领域普通技术人员应当理解和领会,可使用云计算分布式系统的其它合适的结构, 并且本专利技术的各实施例不被限制于本文描述的跨虚拟机的那些应用。 在高层级处,应用可针对不同类型的环境来开发,所述不同类型的计算环境包括 其中应用是在特定软件框架内构建的云计算分布式系统。软件框架(例如由华盛顿州雷蒙 德市的微软公司所提供的.NET软件框架)可以指代其中提供通用功能性的软件可通过附 加的用户编写代码来选择性改变,从而提供应用专用软件的抽象。该软件框架可以是用来 开发应用、产品和解决方案的通用的、可重用的软件框架。该软件框架可包括提供语言互操 作性的大型库。该软件框架可包括支持程序、编译器、代码库、以及应用编程接口(API)和 带来所有不同组件以允许开发项目或解决方案的工具集。 在开发针对一软件框架的应用时,程序员可以通过将其源代码与该软件框架和其 他库相组合来生产应用。例如,开发者可利用接收来自该软件框架组件(例如,软件框架特 性)的消息的应用组件(例如,应用特性)。有关于此,所述应用可需要来自该软件框架的 所需特性且该软件框架提供该特定特性。组件类型可包括用户界面、用户过程、服务代理、 服务接口和安全性。例如,用户界面组件可用于提供数据显示以及获得和验证用户输入;所 述用户界面由应用特性(例如,用户定义的类)和软件框架特性(例如,预定义的类)两者 支持。 进而,该软件框架可提供被应用组件用来实现各种常见编程任务的组件,所述常 见编程任务包括诸如串管理数据收集、数据库连接性、以及文件访问等任务。例如,该软件 框架可包括加快和优化开发过程并提供对系统功能性的访问的类。软件框架组件和相关 联的应用组件可被更改以提供该应用的更新版。在各实施例中,该软件框架可支持扩展 性,因为该框架可通常由用户通过选择性地盖写来扩展或者通过用户代码来专门化以提供 专用功能性。可通过添加新功能性或通过修改现有功能性来提供扩展以改善并维持产品 和解决方案。扩展软件框架可影响在软件框架上运行的惯例驱动的应用(custom-driven application)〇 作为示例,软件框架组件可被扩展以进一步支持专门化开发场景,从而创建与该 特定组件相关联的一个或多个应用的依赖性。使用软件框架组件的应用可调用针对该应用 的组件以按期望方式执行。在应用开发和测试期间,观察该应用以确认该应用和该软件框 架之间的兼容性。各组件可包括由该软件框架提供的且该应用需要的服务组件(例如,工 作流服务或服务总线)(其可被更新和维护)在本专利技术的实施例的构想内。如此,可利用各 种技术来更新软件框架和/或应用的互相关组件并类似地确认它们本文档来自技高网...
【技术保护点】
一种用于基于特征集约束来维持各应用之间的兼容性的方法,所述方法包括:基于与第一应用和第二应用相关联的特征的基线集来标识与所述第二应用兼容的所述第一应用;基于比较所述第一应用的特征集和所述第二应用的特征集中所添加的特征或所移除的特征的显式枚举,来确定所述第一应用与所述第二应用兼容,其中所添加的特征或所移除的特征在针对所述特征的基线集定义已知兼容性基线之后被跟踪;以及传递所述第一应用和所述第二应用兼容的确定。
【技术特征摘要】
【国外来华专利技术】...
【专利技术属性】
技术研发人员:D·C·王,J·王,I·E·卡拉曼,A·E·斯宾克斯,V·M·达纳什沃,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。