CN111800450B - 用于云资源管理的多维标签命名空间 - Google Patents
用于云资源管理的多维标签命名空间 Download PDFInfo
- Publication number
- CN111800450B CN111800450B CN202010253091.5A CN202010253091A CN111800450B CN 111800450 B CN111800450 B CN 111800450B CN 202010253091 A CN202010253091 A CN 202010253091A CN 111800450 B CN111800450 B CN 111800450B
- Authority
- CN
- China
- Prior art keywords
- tag
- tags
- namespace
- location
- cloud
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0604—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time
- H04L41/0618—Management of faults, events, alarms or notifications using filtering, e.g. reduction of information by using priority, element types, position or time based on the physical or logical position
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
- H04L41/0661—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities by reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3005—Mechanisms for avoiding name conflicts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/302—Administrative registration, e.g. for domain names at internet corporation for assigned names and numbers [ICANN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Library & Information Science (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文提出的方法使得能够在云资源管理环境中生成多维标签度量。更具体地说,提供了标签命名空间,用于管理云资源管理环境中的资源。该命名空间包括至少二维以及多个位置。与资源关联的一组标签被接收到标签命名空间中。验证该组标签中每一个标签与命名空间中接收该标签的某一个位置的匹配,并在验证失败的情况下触发警报。或者,在验证成功的情况下,将包含标签的命名空间验证为多维标签度量。
Description
技术领域
本发明涉及云资源管理,更具体地,涉及用于管理云资源的标签的结构化命名空间。
背景技术
联网计算环境(例如,云计算环境)是对先前网格环境的增强,由此可以通过一个或多个附加抽象层(例如,云层)进一步增强多个网格和其他计算资源,从而使不同的设备在最终消费者看来是一个无缝资源池。这些资源可以包括物理或逻辑计算引擎、服务器和设备、设备存储器和存储设备等。
网络计算环境中的提供商通常经由远程服务器在线提供服务,该远程服务器可以经由Web服务和/或软件(诸如web浏览器)来访问。各个客户端可以运行利用这些服务的虚拟机(VM)并将数据存储在网络计算环境中。这可以允许单个物理服务器同时托管和/或运行多个VM。
在云原生环境中,标记和标签对于管理各种类型的资源变得越来越普遍。这些标记和标签允许用户对希望使用的云计算资源进行分组和组织。虽然某些云资源提供商具有特定于该提供商的标记和标签命名规则,但是没有统一的技术来管理标记和标签。这通常导致用户或他们工作的企业创建用户或企业特定的标签命名约定和/或其他标签策略,以便保持标签之间的一致性。但是,当严格遵循这些自我施加的命名约定和策略时,当企业的两个用户在同一资源池中使用仅略有不同的命名约定时,云环境可能会受到影响,例如,服务中断和其他失败。
已经在资源标记领域做出了一些努力,包括例如以下。
美国专利申请公开2012/0246157中公开了通过在将来的使用时间段内能够为用户管理和保留计算机资源的虚拟化基础设施动态地标记度量标准数据。
美国专利9934269中公开了允许服务提供商网络的客户和/或其他用户查看并访问共享公共资源标签和/或其他属性的计算资源的集合的资源组服务。
美国专利申请公开2016/0315943中公开了在访问管理环境中提供对资源的细粒度保护的技术。
美国专利9787598中公开了利用与在开始积极管理IT资源时警告资源管理器的条件对应的标签监视和管理信息技术(IT)资源。
发明内容
本文提出的方法提供了在云资源管理环境中的多维标签度量的生成。更具体地说,提供了标签命名空间,用于管理云资源管理环境中的资源。该命名空间包括至少二维以及多个位置。与资源关联的一组标签被接收到标签命名空间中。验证该组标签中每一个标签与命名空间中接收该标签的某一个位置的匹配,并在验证失败的情况下触发警报。或者,在验证成功的情况下,将包含标签的命名空间验证为多维标签度量。
本发明的一个方面包括一种用于在云资源管理环境中生成多维标签度量的方法。该方法包括提供用于在云资源管理环境中管理资源的标签命名空间,该命名空间包括至少二维以及多个位置。该方法还包括将与资源相关联的一组标签接收到标签命名空间中。此外,该方法包括验证该组标签的每一个标签与命名空间中接收该标签的某一个位置的匹配。该方法还包括在未能验证该组标签中的标签与位置匹配的情况下触发警报。该方法具有几个优点,例如但不限于:安全地组织标签并在对资源进行初始标记时确保合规的标签使用,从而避免了粗心的、可能有害的标签使用。
该方法可以可选地进一步包括:将标签命名空间中的每个位置与一组属性相关联,该组属性控制适合放置在该位置中的标签的类别。该方法具有多个优点,例如但不限于:创建标识每个标签的预定位置、便于组织和跟踪资源标签。
该方法可以可选地进一步包括:将该组标签中的至少一个标签识别为与多个位置中的一个位置的属性相对应;以及将标识的标签输入到标签命名空间中的具有相应属性的位置。该方法具有多个优点,例如但不限于:将标签绑定到特定标签标识以便以后参考。
该方法可以可选地进一步包括生成包括与标签命名空间的多个位置相对应的多个位置的容器元数据度量,其中,容器元数据度量的每个位置包含与命名空间中的对应位置相关联的一组属性的指示。该方法可以进一步包括生成包括与标签命名空间的多个位置相对应的多个位置的标签元数据度量,其中,标签元数据度量的一组位置包含插入到标签命名空间的相应位置中的所接收的一组标签的标签的指示。该方法还可以包括在标签元数据度量的占用位置与容器元数据度量的对应位置匹配的情况下,将包含标签的命名空间验证为多维标签度量。此方法具有多个优点,例如但不限于:在对云计算环境造成负面影响之前先行识别资源标签的滥用、错误标识和其他故障。
该方法可以可选地进一步包括警报,该警报包括对该组标签中的哪个标签或该组位置中的那个位置匹配失败的指示。该方法具有多个优点,例如但不限于:为用户或管理员提供机会,以在使用附有标签的资源之前识别错误的标签或错误放置的标签并纠正标签。
该方法可以可选地进一步包括在该组标签的每一个标签与命名空间中接收该标签的位置成功匹配的情况下,将包含标签的命名空间验证为多维标签度量。该方法具有几个优点,例如但不限于:创建包括有关其中包含标签的附加信息标签度量、允许简化的缩放、迁移、平衡等。
该方法可以可选地进一步包括:使用多维标签度量来执行选自以下的至少一个任务:缩放资源、将资源从第一云平台迁移到第二云平台,以及整个云平台上平衡资源。该方法具有多个优点,例如但不限于:提高执行云资源管理任务的效率。
本发明的另一方面包括一种用于云资源管理环境中的多维标签度量的计算机系统,该计算机系统包括:包括程序指令的存储介质;耦合到存储介质的总线;和用于执行程序指令的处理器,通过总线耦合到标签命名空间引擎,在执行程序指令时使系统:提供用于在云资源管理环境中管理资源的标签命名空间,该命名空间包括至少二维以及多个位置;将与资源相关联的一组标签接收到标签命名空间中;验证该组标签的每一个标签与命名空间中接收该标签的某一个位置的匹配,在无法验证该组标签的某一个标签与某一个位置匹配的情况下触发警报。
本发明的另一方面包括一种用于在云资源管理环境中生成多维标签度量的计算机程序产品,该计算机程序产品包括计算机可读硬件存储设备以及存储在该计算机可读硬件存储设备上的程序指令,以提供用于在云资源管理环境中管理资源的标签命名空间,该命名空间包括至少二维以及多个位置;将与资源相关联的一组标签接收到标签命名空间中;验证该组标签的每一个标签与命名空间中接收该标签的某一个位置的匹配;和在无法验证该组标签的某一个标签与某一个位置匹配的情况下触发警报。
此外,本发明的任何组件可以由提供在计算机系统中实现被动监视的服务提供商来部署、管理、服务等。
附图说明
通过以下结合附图对本发明各个方面的详细描述,将更容易理解本发明的这些和其它特征,其中:
图1描绘了可以根据本发明的说明性实施例实现本发明的架构。
图2描绘了根据本发明的说明性实施例的云计算环境。
图3描绘了根据本发明的说明性实施例的抽象模型层。
图4描绘了描述根据本发明的说明性实施例的在此讨论的功能的系统图。
图5描绘了根据说明性实施例管理用于云计算环境中的资源的一组标签到标签命名空间的接收。
图6A和6B描绘了根据说明性实施例的云资源管理环境中的多维度量的若干示例使用。
图7描绘了根据示例性实施例的用于在云资源管理环境中生成多维标签度量的过程的流程图。
附图不一定按比例绘制。附图仅是表示,并不意图描绘本发明的特定参数。附图仅旨在描绘本发明的典型实施例,因此不应视为对范围的限制。在附图中,相同的标号表示相同的元素。
具体实施方式
现在将参照示附图来更全面地描述示例性实施例,幅图示出了示例性实施例。将理解的是,本公开可以以许多不同的形式来体现,并且不应被解释为限于在此阐述的示例性实施例。相反,提供这些实施例使得本公开透彻并完整,并将向本领域技术人员充分传达本公开的范围。
此外,本文所使用的术语仅出于描述特定实施例的目的,而无意于限制本公开。如本文所使用的,单数形式的“一”、“一个”和“该”也意图包括复数形式,除非上下文另外明确指出。此外,术语“一”、“一个”等的使用不表示数量限制,而是表示存在至少一个所引用的项目。此外,不同图中的相似元件可以被分配相似的元件编号。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在所述特征、区域、整数、步骤、操作、元素和/或组件,但不排除存在或增加一个或多个其他特征、区域、整数、步骤、操作、元素、组件和/或其组。
除非另有特别说明,否则可以理解,诸如“处理”、“检测”、“确定”、“评估”、“接收”等之类的术语是指计算机或计算系统,或类似的电子数据中心设备的动作和/或过程,该计算机或计算系统,或类似的电子数据中心设备将计算系统内的寄存器和/或内存中表示为物理量(例如电子)的数据进行处理和/或转换为计算系统内的内存、寄存器或其他此类信息存储、传输或查看设备中类似表示为物理量的其他数据。实施例不限于此上下文。
如上所述,本文描述的实施例提供了用于在云资源管理环境中生成的多维标签度量。更具体地说,提供了标签命名空间,用于管理云资源管理环境中的资源。该命名空间包括至少二维和多个位置。将与资源相关联的一组标签接收到标签命名空间中。验证该组标签的每一个标签与命名空间中接收该标签的某一个位置的匹配,并在验证失败的情况下触发警报。或者,在验证成功的情况下,将包含标签的命名空间验证为多维标签度量。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图1,其中显示了用于在云资源管理环境中生成多维标签度量的云计算节点的示例的示意图。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12旨在表示可以在部署/实现本文中叙述的教导时实现的任何类型的计算机系统/服务器。计算机系统/服务器12可以在由计算机系统执行的计算机系统/服务器可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。在该特定示例中,计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
处理单元16通常是指执行逻辑运算、计算任务、控制功能等的任何装置。处理器可以包括一个或多个子系统、组件和/或其他处理器。处理器通常将包括各种逻辑组件,这些组件使用时钟信号进行操作以锁存数据、前进逻辑状态、同步计算和逻辑操作和/或提供其他计时功能。在操作期间,处理单元16收集并路由表示外部设备14与输入设备(未示出)之间的输入和输出的信号。信号可以通过LAN和/或WAN(例如T1、T3、56kb,X.25)、宽带连接(ISDN、帧中继、ATM)、无线链路(802.11、蓝牙等)进行传输等。在一些实施例中,可以使用例如可信密钥对加密来对信号进行加密。不同的系统可以使用不同的通信路径来传输信息,例如以太网或无线网络、直接串行或并行连接、USB、或其他专有接口。(Firewire是Apple Computer,Inc.的注册商标。Bluetooth是Bluetooth SpecialInterest Group(SIG)的注册商标)。
通常,处理单元16执行计算机程序代码,例如用于在云资源管理环境中生成多维标签度量的程序代码,存储在存储器28、存储系统34和/或程序/实用程序中40。在执行计算机程序代码时,处理单元16可以向存储器28、存储系统34和程序/实用程序40读取数据和/或向其中写入数据。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质(例如VCR,DVR,RAID阵列,USB硬盘驱动器,光盘记录器,闪存设备和/或任何其他用于存储和/或处理数据的数据处理和存储元件)。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40作为示例(但不限于)可以存储在存储器28中。存储器28还可以包括操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN)、广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。标签命名空间管理86提供了本发明的功能,如下面进一步详细描述的。
工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及库存管理96。如上所述,参照图3描述的所有前述示例仅是说明性的,并且本发明不限于这些示例。
本发明的发明人已经发现,在当前的云资源管理技术中存在若干缺陷,特别是涉及标签和标记。虽然标签是简单的元数据标签,通常包括用户定义的密钥和可选的的值用于使资源管理、搜索和过滤更容易,但这些标签解决方案不涉及统一规则。通常由用户或企业定义他们自己的标签命名约定和其他策略,要求主动(例如,开发和制定这样的策略)和被动(例如,负责查找和移除不正确标签的管理员)技术来实施。在某些情况下,用户的粗心标记可能导致无法提供云资源,例如服务中断和来自不正确应用的标签的其他复杂情况。在某些情况下,管理员通过终止未标记或未正确标记的资源并将此类故障升级到更高级别的管理员或服务经理来对此类不正确的标签做出反应。
因此,本发明的发明人已经开发了一种系统,该系统构造分配给资源的标签并允许管理两个或更多个维度的标签/标记。除其他外,该系统可以验证标签是否符合标签策略,确保为资源分配必要的标签,并在创建标签时实时促进最佳标签实践。因此,标签/标记被安全地组织,并且防止了粗心的标签/标记的使用。本发明的实施例提供若干优点。例如,实施例允许云资源管理员以增加的授权控制以细粒度的方式管理标签/标记。在另一个示例中,实施例提供用于标签/标记验证和选择的智能解决方案。在又一个示例中,实施例提供了用于加权具有权重因子的标签的技术,用于跨资源和平台进行扩展。
现在参考图4,示出了描述根据本发明的实施例的在此讨论的功能的系统图。图4中示出了独立的计算机系统/服务器12,仅用于说明目的。在本文所述的教导在网络计算环境中实践的情况下,每个客户端不需要具有标签命名空间引擎100(下文中称为“系统100”)。而是,系统100的全部或一部分可以加载在服务器或能够作为服务器的设备上,该设备与客户端(例如,无线地)通信以提供在云资源管理环境中生成多维标签度量。无论如何,如图所示,系统100显示在计算机系统/服务器12内。通常,系统100可以实现为图1的计算机系统12上的程序/实用程序40,并且可以实现这里所述的功能。
除了其他功能之外,系统100可以管理联网或云计算环境50中的标签命名空间,其可以包括云计算资源52A-N(单数的“52N”)和其他对象。为实现此目的,系统100可包括用于执行本发明实施例的一组组件(例如,图1的程序模块42)。这些组件可以包括但不限于命名空间管理器102、标签获取器104、标签验证器106和标签度量管理器108。
通过计算机系统/服务器12,系统100可以与具有一组例如存储在存储系统34中的标签/标记策略或约定110A-N(单数的“110N”)的一个或多个企业112或企业管理员(或其他组织)进行通信。根据本发明的一些实施例,系统100可以接收/获得一组标签120A-N(单数的“120N”),用于标记资源52N或对资源52N进行标签。应当理解,术语标记和标签在本文中可互换使用,并且用于标记资源的解决方案可以应用于对资源进行标签,并且用于对资源进行标签的解决方案可以应用于标记资源。
结合图4参考图5,示出了根据示例性实施例的云计算环境中的资源的一组标签的管理。如计算机系统/服务器12所执行的,命名空间管理器102可以提供标签命名空间130,用于管理云资源管理环境中的资源52N。标签命名空间130可以包括至少两个维度和几个位置132A-N(单数的“132N”)。根据本发明的一些实施例,标签命名空间130是多维(即,至少二维)度量。在一个示例中,2-D标签命名空间可以被可视化为具有垂直和水平维度的矩阵。标签命名空间130中的每个位置132N可以与指示可以被接收到该位置132N的标签的类型、类别或其他特征的特定属性相关联。例如,可以为环境标签保留位置(1,1),而为授权标签保留位置(1,2)。在一些实施例中,为了便于组织,特定行或列中的所有位置132A-N可以与标签的特定分类相关联。例如,第一列中的每个位置132N可以与技术标签相关联,例如名称(1,1)、应用ID(1,2)、应用角色(1,3)、簇(1,4)、环境(1,5)和版本(1,6);而第二列中的每个位置132N可以与自动化标签相关联,例如日期/时间(2,1)、选择加入/退出(2,2)和安全性(2,3)。其他标签类型可以包括商业标签(例如,所有者(3,1)、成本中心/业务单元(3,2)、客户(3,3)和项目(3,4))和安全标签(例如,机密性)(4,1)和遵守(4,2))。
根据本发明的一些实施例,管理员112可以提供容器属性以创建每个位置132N与特定类型的标签的关联。在其他实施例中,容器属性的定义可以是自动化的。例如,命名空间管理器102可以为资源52N生成命名空间130,并且基于期望与该类型的资源52N相关联的标签来定义命名空间130中的位置123A-N。该自动化容器属性定义可以基于例如为其他类似(例如,在同一类)资源52A-N中创建的先前命名空间13的历史数据来完成。在任何情况下,根据本发明的一些实施例,可以在接收实际标签120A-N之前定义容器属性。在一些实施例中,每个位置132N的属性基于与企业/管理员112相关联的标签/标记策略或约定110A-N。
此外,管理员112或命名空间管理器102可以将一些位置132A-N定义为要求/强制要在其中输入标签以进行验证,同时允许其他位置132A-N是可选的。例如,控制对资源52N的访问的安全标签可以是强制性的,而能够在特定时间打开或关闭资源的自动化标签可以是可选的。在一些实施例中,在该位置132M上存在标签的情况下,管理员112或命名空间管理器102可以配置位置132M以触发图像一致性测试,如下面将进一步讨论的。例如,在位置132M用于安全标签的情况下,期望触发合规性检查以确保对应于正确授权级别的标签被插入到该位置132M中。
由计算机系统/服务器12执行的标签获取器104可以将与资源52N相关联的一组标签120A-N接收到标签命名空间130中。这些标签可以由标签获取器104从用户提供或从例如自动程序的其他来源获得。标签获取器104可以在通常输入标签的任何点处,例如在创建、分配或请求资源期间获得标签120A-N。在任何情况下,在一些实施例中,标签获取器104向用户提供允许用户将标签120A-N输入到他或她自己的命名空间130中的界面。在该实施例中,界面可以包括关于哪些类型的标签将被放置在哪个位置132A-N的指令。应当理解,标签120A-N包括一组基本上随机、无组织的键值对(例如,vmrole:webserver,env:production,location:west),如通常在云资源管理中使用的那样。在一些其他实施例中,标签获取器104从用户获得“松散/批量形式”的标签120A-N,并将标签120A-N转发给管理员112,以便结构化地进入标签命名空间130。
在其他一些实施例中,标签获取器104可以从用户获得“松散/批量形式”的标签120A-N,并将每个标签120N输入到标记命名空间130中的适当位置132N。这可以通过基于标签的键/值对的键识别该组标签120A-N中的每个标签120N,并将该键与命名空间130中的适当容器属性相匹配实现。特定标签命名空间位置132N可以被配置为接受基于具有特定重要性的密钥的若干不同密钥(例如,“env”和“环境”),即使存在可以写入该重要性的多种方式。在一些实施例中,将标签120N与位置132N匹配可以基于分配给该特定位置的其他属性。
标签获取器104将标签120A-N插入标签命名空间130,形成由结构化形式组成的标签组成的多维度量140。这将标签120A-N从一组随机键值对演变为构造为两维或更多维度量140的新服务器标签。这样,标签120A-N不仅提供元数据,他们在多维度量140中的放置作为标识每个标签的重要性或功能的附加元数据。即使在不同的命名约定、云平台等方面,这也允许轻松统一的标签识别。
如计算机系统/服务器12所执行的标签验证器106可以验证该组标签120A-N中的每个标签120N与接收该标签120N的命名空间130内的位置132N之间的匹配。为实现此目的,标签验证器106生成容器元数据度量150。容器元数据度量150是多维度量并行标签命名空间130。容器元数据度量150包含基于并行标签命名空间位置132N的属性的每个位置152N中的信息,这将用于验证输入标签命名空间位置132N的标签是否属于该标签命名空间位置132N。标签验证器106还生成标签元数据度量160。标签元数据度量160是与输入到多维度量140中的实际标签120A1并行的多维度量。基于输入到特定标签命名空间位置132N的特定标签120N,标签验证器106在描述该特定标签120N的相应标签元数据度量位置162N中生成信息。然后,标签验证器106可以将标签元数据度量160与容器元数据度量150进行比较。在多维度量140中的位置为空或者不包含标签的情况下,标签元数据度量160中的对应位置可以无视这一位置的指令用于比较的目的。在事件标签元数据度量160匹配容器元数据度量150的情况下,标签验证器106可以将多维度量140验证为有效。例如,在一些实施例中,标签验证器106可以通过检查位置132N中的标签120N满足分配给位置132N的属性来验证新创建的资源的所有标签与企业标签/标签约定110A-N匹配。在又一个示例中,标签验证器106可以确保位置132A-N的所有强制标签位置实际上具有占据它们的标签。多维度量140的这种验证充当预防措施,以确保被标记的资源170不会使用可能对云计算环境产生负面影响的粗心标签来创建。
然而,在替代实施例中,由计算机系统/服务器12执行的标签验证器106可以在未能验证该组标签120A-N的标签120N与位置132N之间的匹配的情况下触发警报。该警报可以包括向标签获取器104和/或管理员112提交标签120A-N的用户的通知(例如,程序内/应用程序警报、电子邮件、系统警报等)。该警报可以包括指示验证失败。在一些实施例中,该警报还可以包括哪个(哪些)标签120N和/或位置132N导致故障的指示。在其他实施例中,该警报可以包括建议的改变以更新多维度量140以使多维度量140能够被成功验证。这样的建议可以基于,例如,由特定标签120N打破的策略或特定标签120的放置、放置特定标签120N的正确位置或标签120N本身的错误(例如,拼写错误)。标签验证器106可以向用户和/或管理员112提供将多维度量140更新为更新的多维度量144的机会,以使得该度量能够被成功验证。如前所述,可以通过生成更新的标签元数据度量164以便与容器元数据度量150进行比较来执行这种后续验证。
根据一些实施例,标签获取器104和/或标签验证器106可以自动地将多维度量140更新/校正为更新的多维度量144,以使得度量能够被成功验证。在一些实施例中,可以在成功验证之前或之后向用户和/或管理员112呈现更新的多维度量144以进行确认。这种自动校正可以例如通过学习系统来完成,该学习系统记录和学习用户/管理员用于将多维度量140校正为更新的度量144的先前错误和技术。
此外,在一些实施例中,标签获取器104和/或标签验证器106可以向用户提供在云提供商、企业或行业内正确使用标签的最佳实践。在一些实施例中,可以响应于未能验证该组标签120A-N中的标签120N与位置132N的匹配而向用户提供这些最佳实践。在一些其他实施例中,可以将这些最佳实践自动地或响应于来自用户的请求而提供给用户。例如,当标签获取器104正在从用户获取标签120A-N时,标签获取器104可以将用户正在输入的每种类型的标签的最佳标签实践通知给用户。例如,如果用户已经打开数据字段以将标签120N输入到特定位置132N,则标签获取器104可以生成弹出框或其他通知,指示与位置132N相关联的标签的类型,这种标签的通用命名约定。这些最佳实践可以从与企业/管理员112相关联的标记/标签策略或约定110A-N、历史标记用法等中学习或以其他方式得出。
在一些实施例中,标签验证器106还可以被配置为响应于标签处于多维度量140中的特定位置而触发图像合规性检查过程。更具体地,命名空间管理器102可以配置特定位置132N,当特定位置132N被标签占用时,该特定位置绑定的钩子或其他预定义的钩子执行特定任务。这样的动作例如可以包括,不仅简单地标识特定位置132N中的标签120N的适当性,而且还包括键/值对的值对于分配了标签120N的资源是否正确。例如,在编辑器/查看器安全标签附加到命名空间130的安全标签位置132N中的资源的情况下,标签验证器106可以检查由标签授予特定用户的许可级别。标签验证器106可以将该检查级别与先前的资源实例与类似类型的安全标签或由企业/管理员112创建的一组规则进行比较(例如,所有X资源必须具有至少Y级别的安全性)。在标签应用与历史数据或其他规则不一致的安全级别的情况下,标签验证器106可以使标签所在的多维度量140无效。如上所述,标签验证器106然后可以响应于验证失败,向用户/管理员发送通知,通知他们错误并等待更新的度量144和/或自动校正标签以符合规则或历史数据。
现在结合图4和图5参考图6A和6B,示出了根据示例性实施例的云资源管理环境中的多维度量的示例使用。一旦验证了多维度量144,就可以在多种有用的应用中使用多维度量144以促进云资源管理环境中的控制。例如,经验证的多维度量144可用于促进跨云提供商平台的扩展、资源平衡以及迁移和映射,并且不限于这些应用。更具体地,由计算机系统/服务器12执行的标签度量管理器108可以使用多维标签度量144来执行从包括以下各项的组中选择的至少一个任务:扩展资源、从第一云平台迁移资源到第二个云平台,并在云平台上平衡资源。
在第一示例中,经验证的多维度量144可用于跨云提供者平台迁移和映射。目前,跨云提供商平台迁移存在一些实际困难。例如,除了使用云提供商平台由每个企业单独制定的命名策略之外,每个平台本身对标签也有不同的限定和限制,包括密钥和值。例如,Azure允许密钥长度为512个字符,而Amazon Web Services(AWS)仅允许127个字符,而Google Compute Products(GCP)仅允许63个字符长度的密钥。而且,AWS标记区分大小写,而Azure标记不区分,GCP标记只能包含小写字符。此外,Azure每个资源限制为15个标记,而AWS和GCP分别允许50个和64个标记。此处使用的所有商标和商品名称均为其各自所有者的财产,仅用于说明和描述目的。
在任何情况下,返回到本发明,根据一些实施例,标签度量管理器108可以帮助被标记资源170从第一云平台到第二云平台的迁移。多维标签度量144的多个维度允许指示哪个类型的标签120N驻留在每个位置132N中。标签度量管理器108可以解释每个位置132N表示其中包含的标签120N的内容,并将该解释传递给任何系统、程序、应用程序等,执行被标记资源170从第一云平台到第二云平台的迁移/映射。这允许识别每个标签的目的/功能,简明扼要地清楚标签在第一个云平台中的运行方式以及该标签应如何在第二个云平台中继续运行。因此,不需要脚本来将被标记资源170迁移到另一平台,因为多维度量144的行和行位置指示例如通常需要通过脚本传送以进行迁移的应用程序、层等。标签度量管理器108还可以根据需要调整标签以符合第二云平台的规则。例如,可以修改使用大写字母的标记,以便在将标记限制为小写字符的平台中仅使用小写字符。修改的标签将保持在多维度量144的相同位置132N,允许容易地继续识别该标签的功能。
在另一示例中,一组经验证的多维度量144(每个用于不同的被标记资源170)可用于在一个或跨多个云提供商平台内平衡和扩展这些资源,而忽略不同云平台的各种标签约定。与上述的迁移一样,标签度量管理器108可以提供关于每个被标记资源170的每个标签120N的标识信息,以便于在平衡期间跨不同资源或平台传输工作负载,以及促进应用程序的垂直或水平扩展以及该应用程序根据需要使用的资源来处理增加的工作负载。如上所述,从多维度量144的结构导出的该识别信息可用于确保跨不同平台和工作负载的标签以统一的方式运行,而不需要脚本在传输、平衡或扩展期间处理标签。此外,本发明的实施例允许跨不同资源和平台的等同标签被识别并保持为等同。当用于测量资源和应用程序使用的标签并精确定位最高使用率的区域时,可以比较这些标签所标识的资源的度量标准。因此,便于基于这样容易比较的标签度量来扩展资源和平衡工作负载。此外,在一些实施例中,可以对一些标签位置进行加权,并且驻留在其中的标签用于加权平衡或扩展,允许跨多个资源和平台中的等效标签进行更精细调整的平衡/扩展控制。
在一个示例中,具体参考图6A,示出了服务器资源的垂直扩展。在先前的解决方案中,当服务器资源在时间0910和1020之间需要额外资源以便垂直扩展时,由于标签标识符的差异和正确标记实际可用的资源的失败,可能难以找到适当的资源。结果,获得扩展服务器资源所需的资源可能会有延迟。然而,根据本发明的实施例,标签度量管理器108可以通过使扩展过程能够引用等效标签(甚至跨平台和提供商)来找到适当资源,以便在工作负载需求时找到最适合于扩展的资源。同样,由标签度量管理器108提供的多维度量144可用于例如跟踪VM的资源扩展的历史,确定VM何时扩展其容量,执行扩展分析以及分析云利用。
在又一个示例中,具体参考图6B,本发明的实施例提供了跟踪频繁使用哪些键/值对的便利手段。由标签度量管理器108提供的多维度量144可用于智能地查找用于执行特定功能的先前标签(即,在相同标签位置132N中)并确保新标签与这样的先前标签一致。例如,在标签获取器104获得初始标签期间,标签度量管理器108可以提供例如图6B中所示的命中度量,并且向用户推荐输入一致的标签键/值对并因此符合标签命名策略。
如图7所示,在一个实施例中,系统(例如,计算机系统/服务器12)执行本文公开的方法。示出了用于在云资源管理环境中生成多维标签度量的过程流程图700。在702处,命名空间管理器102提供标记命名空间130,用于管理云资源管理环境中的资源52N,该命名空间包括至少两个维度和多个位置132A-N。在704处,标签获取器104将与资源相关联的一组标签120A-N接收到标记命名空间130中。在706处,标签验证器106验证该组标签120A-N中的每个标签120N与接收标签120N的命名空间130内位置132N的匹配。在708处,标签验证器106在未能验证该组标签120A-N的标签120N与位置132N的匹配的情况下触发警报。可选地,在710处,标签验证器106在警报中提供选自以下的信息:该组标签102A-N中的哪个标签120N或该组位置132A-N中的哪个位置132N中的哪个匹配失败的指示、对标记命名空间130中的至少一个标签120N的建议更改,以及推荐的最佳标记实践。可选地,在712处,在该组标签120A-N中的每个标签120N与接收到标签120N的命名空间130内的位置132N成功匹配的情况下,标签验证器106将包含标签的命名空间130验证为多维标签度量140。
附图中的流程图和框图示出了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。就这一点而言,流程图或框图中的每个方框可以表示指令的模块、片段或部分,包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,方框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图的每个方框以及框图和/或流程图的方框的组合可以由执行指定功能或动作或基于特定目的的基于硬件的专用系统来实现。执行特殊用途的硬件和计算机指令的组合。
在本说明书中描述的一些功能组件已经被标记为系统或单元,以便更特别地强调它们的实现独立性。例如,系统或单元可以被实现为包括定制的VLSI电路或门阵列,诸如逻辑芯片、晶体管或其他分立组件的现成半导体的硬件电路。系统或单元也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等的可编程硬件设备中实现。系统或单元也可以用软件实现以由各种类型的处理器执行。可执行代码的系统或单元或组件可以例如包括计算机指令的一个或多个物理或逻辑块,可以例如被组织为对象、过程或功能。然而,所标识的系统或单元的可执行文件不必在物理上位于一起,而是可以包括存储在不同位置的不同指令,当它们在逻辑上结合在一起时,它们构成系统或单元并实现系统或单元的所述目的。
此外,可执行代码的系统或单元可以是单个指令或多个指令,并且甚至可以分布在多个不同的代码段上,不同的程序之间以及跨多个存储设备。类似地,操作数据可以在模块内在此处被识别和示出,并且可以以任何合适的形式体现并且可以在任何合适的类型的数据结构内组织。操作数据可以被收集为单个数据集,或者可以分布在不同的位置上,包括分布在不同的存储设备和不同的存储设备上。
此外,系统/单元还可以被实现为软件和一个或多个硬件设备的组合。例如,程序/实用程序40可以体现为存储在存储介质(例如,存储设备)上的软件可执行代码的组合。在另一示例中,系统或单元可以是对一组操作数据进行操作的处理器的组合。
如上所述,一些实施例可以以硬件来体现。硬件可以被称为硬件元件。通常,硬件元件可以指被布置为执行某些操作的任何硬件结构。在一个实施例中,例如,硬件元件可以包括制造在基板上的任何模拟或数字电气或电子元件。例如,可以使用基于硅的集成电路(IC)技术来执行制造,诸如互补金属氧化物半导体(CMOS)、双极和双极CMOS(BiCMOS)技术。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑设备(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。然而,实施例不限于此上下文。
服务提供商可以对本文提供的任何组件进行部署、管理、服务等,该服务提供商相对于在云资源管理环境中生成多维标签度量的过程提供部署或集成计算基础架构的能力。因此,本文的实施例公开了一种用于支持计算机基础结构的过程,该过程包括将计算机可读代码集成、托管、维护和部署到计算系统(例如,计算机系统/服务器12)中,其中该代码与该计算系统结合能够执行本文描述的功能。
在另一个实施例中,本发明提供了一种基于订阅,广告和/或费用执行本发明的处理步骤的方法。即,诸如解决方案集成商之类的服务提供商可以提供创建,维护,支持等的过程,该过程用于在云资源管理环境中生成多维标签度量。在这种情况下,服务提供商可以创建,维护,支持等为一个或多个客户执行本发明的处理步骤的计算机基础设施。作为回报,服务提供商可以根据订阅和/或费用协议从客户那里收到付款,和/或服务提供商可以从向一个或多个第三方出售广告内容中收到付款。
上面还指出,一些实施例可以用软件实现。该软件可以被称为软件元素。通常,软件元素可以指被安排为执行某些操作的任何软件结构。在一个实施例中,例如,软件元件可以包括适于由诸如处理器之类的硬件元件执行的程序指令和/或数据。程序指令可以包括命令的有组织的列表,该命令的列表包括以预定语法布置的词,值或符号,当被执行时,可以使处理器执行相应的一组操作。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
显然,本文提供了在云资源管理环境中生成多维标签度量的方法。尽管已经结合示例性实施例具体示出和描述了本发明,但是应当理解,本领域技术人员将想到各种变化和修改。因此,应当理解,所附权利要求书旨在覆盖落入本发明的真实精神内的所有这样的修改和改变。
Claims (10)
1.一种用于在云资源管理环境中生成多维标签度量的方法,包括:
提供用于在云资源管理环境中管理资源的标签命名空间,作为矩阵的该命名空间包括至少二维以及多个位置,其中与至少一个维度的向量相关联的位置与标签的特定分类相关联并且其中所述多个位置中的至少一个位置响应于其中具有接收到的标签而与任务相关联;
将与资源相关联的一组标签接收到标签命名空间中;
验证该组标签的每一个标签与命名空间中接收该标签的某一个位置的匹配;
在无法验证该组标签的某一个标签与某一个位置匹配的情况下触发警报;和
响应于在所述多个位置中的至少一个位置接收到标签而执行所述任务。
2.根据权利要求1所述的方法,其中,标签命名空间中的每一个位置与一组属性相关联,该组属性控制适于放置在该位置中的标签的类别。
3.根据权利要求2所述的方法,接收该组标签还包括:
将该组标签的至少一个标签识别为与多个位置中的一个位置的属性相对应;和
将标识的标签输入到标签命名空间中具有相应属性的位置。
4.根据权利要求1所述的方法,验证还包括:
生成包括与标签命名空间的多个位置相对应的多个位置的容器元数据度量,其中,容器元数据度量的每个位置包含与命名空间中的对应位置相关联的一组属性的指示;
生成包括与标签命名空间的多个位置相对应的多个位置的标签元数据度量,其中,标签元数据度量的一组位置包含插入到标签命名空间的相应位置中的所接收的一组标签的标签的指示;以及
在标签元数据度量的占用位置与容器元数据度量的对应位置匹配的情况下,将包含标签的命名空间验证为多维标签度量。
5.根据权利要求1所述的方法,其中,该警报包括选自以下的信息:该组标签中的哪个标签或该组位置中的哪个位置匹配失败的指示、对标签命名空间中的至少一个标签的建议改变,以及推荐的最佳标记实践。
6.如权利要求1所述的方法,还包括在该组标签的每一个标签与命名空间中接收该标签的位置成功匹配的情况下,将包含标签的命名空间验证为多维标签度量。
7.根据权利要求6所述的方法,还包括:使用多维标签度量执行选自以下的至少一个任务:缩放资源、将资源从第一云平台迁移到第二云平台,以及整个云平台上平衡资源。
8.一种用于在云资源管理环境中生成多维标签度量的计算机系统,该计算机系统包括:
包括程序指令的存储介质;
耦合到存储介质的总线;和
用于执行程序指令的处理器,通过总线耦合到标签命名空间引擎,在执行程序指令时使系统执行根据权利要求1至7的任一项所述的方法。
9.一种用于在云资源管理环境中生成多维标签度量的计算机可读存储介质以及存储在该计算机可读存储介质上的程序指令,以执行根据权利要求1至7的任一项所述的方法。
10.一种用于在云资源管理环境中生成多维标签度量的设备,包括执行根据权利要求1至7的任一项所述的方法的各个步骤的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/374,988 US10972567B2 (en) | 2019-04-04 | 2019-04-04 | Multi-dimensional tagging namespace for cloud resource management |
US16/374,988 | 2019-04-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111800450A CN111800450A (zh) | 2020-10-20 |
CN111800450B true CN111800450B (zh) | 2023-04-07 |
Family
ID=72663328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010253091.5A Active CN111800450B (zh) | 2019-04-04 | 2020-04-02 | 用于云资源管理的多维标签命名空间 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10972567B2 (zh) |
CN (1) | CN111800450B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11032381B2 (en) * | 2019-06-19 | 2021-06-08 | Servicenow, Inc. | Discovery and storage of resource tags |
US11290527B2 (en) * | 2020-06-30 | 2022-03-29 | Fortinet, Inc. | Automatic tagging of cloud resources for implementing security policies |
CN113791890B (zh) * | 2020-11-06 | 2024-09-20 | 北京沃东天骏信息技术有限公司 | 容器分配方法及装置、电子设备、存储介质 |
US20220261274A1 (en) * | 2021-02-16 | 2022-08-18 | Cisco Technology, Inc. | Automated construction of software pipeline |
US11914898B2 (en) | 2022-01-26 | 2024-02-27 | Kioxia Corporation | Systems, methods, and non-transitory computer-readable media for thin provisioning in non-volatile memory storage devices |
US20230244542A1 (en) * | 2022-02-02 | 2023-08-03 | Druva Inc. | System and method for automatically identifying application groups in container deployment environments |
CN115600600B (zh) * | 2022-10-26 | 2023-10-17 | 中电金信软件有限公司 | 多对象标签体系的标签命名方法、装置、电子设备及介质 |
US11977997B1 (en) * | 2022-10-28 | 2024-05-07 | CloudSaver, Inc. | Tagging systems and methods for efficient cloud service provisioning |
CN116522105B (zh) * | 2023-02-01 | 2023-09-22 | 深圳中汇能科技有限公司 | 基于云计算的数据一体化搭建的方法、装置、设备及介质 |
CN115987782B (zh) * | 2023-03-20 | 2023-06-06 | 建信金融科技有限责任公司 | 云主机名的生成方法、装置、设备、存储介质和程序产品 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380277A (zh) * | 2012-06-29 | 2015-02-25 | 英特尔公司 | 用于管理云调度环境中的服务器硬件资源的方法、系统和设备 |
CN106648465A (zh) * | 2016-12-22 | 2017-05-10 | 郑州云海信息技术有限公司 | 云平台中存储虚拟资源的方法及装置 |
CN107426152A (zh) * | 2017-04-07 | 2017-12-01 | 西安电子科技大学 | 云平台虚实互联环境下多任务安全隔离系统及方法 |
CN107783822A (zh) * | 2017-11-10 | 2018-03-09 | 郑州云海信息技术有限公司 | 一种资源管理方法及装置 |
US9934269B1 (en) * | 2015-03-17 | 2018-04-03 | Amazon Technologies, Inc. | Resource tagging and grouping |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7251689B2 (en) * | 2002-03-27 | 2007-07-31 | International Business Machines Corporation | Managing storage resources in decentralized networks |
US6946715B2 (en) * | 2003-02-19 | 2005-09-20 | Micron Technology, Inc. | CMOS image sensor and method of fabrication |
US9197668B2 (en) * | 2003-02-28 | 2015-11-24 | Novell, Inc. | Access control to files based on source information |
US7723636B2 (en) * | 2003-06-11 | 2010-05-25 | Ishikawajima-Harima Heavy Industries Co., Ltd. | Method for repairing machine part, method for forming restored machine part, method for manufacturing machine part, gas turbine engine, electric discharge machine, method for repairing turbine component, and method for forming restored turbine component |
US8132148B2 (en) * | 2005-04-29 | 2012-03-06 | Microsoft Corporation | XML application framework |
US7886269B2 (en) * | 2005-04-29 | 2011-02-08 | Microsoft Corporation | XML application framework |
US8935249B2 (en) * | 2007-06-26 | 2015-01-13 | Oracle Otc Subsidiary Llc | Visualization of concepts within a collection of information |
US9183237B2 (en) * | 2008-07-10 | 2015-11-10 | Nodality, Inc. | Methods and apparatus related to gate boundaries within a data space |
US20140310243A1 (en) * | 2010-08-16 | 2014-10-16 | Mr. Steven James McGee | Heart beacon cycle |
US8429187B2 (en) * | 2011-03-21 | 2013-04-23 | Amazon Technologies, Inc. | Method and system for dynamically tagging metrics data |
US9191615B1 (en) * | 2011-05-02 | 2015-11-17 | Needle, Inc. | Chat window |
US20120330869A1 (en) * | 2011-06-25 | 2012-12-27 | Jayson Theordore Durham | Mental Model Elicitation Device (MMED) Methods and Apparatus |
US20140167963A1 (en) * | 2012-12-17 | 2014-06-19 | Simon Ferragne | System and method for monitoring an area using nfc tags |
US10075384B2 (en) * | 2013-03-15 | 2018-09-11 | Advanced Elemental Technologies, Inc. | Purposeful computing |
US9576461B2 (en) * | 2013-11-18 | 2017-02-21 | Cadi Scientific Pte Ltd | Primary tag and a secondary tag for communication with each other, and a system comprising a primary tag and one or more secondary tags |
US9781051B2 (en) | 2014-05-27 | 2017-10-03 | International Business Machines Corporation | Managing information technology resources using metadata tags |
US10560353B1 (en) * | 2014-09-16 | 2020-02-11 | Amazon Technologies, Inc. | Deployment monitoring for an application |
US10104086B2 (en) * | 2015-04-24 | 2018-10-16 | Oracle International Corporation | Techniques for fine grained protection of resources in an access management environment |
US9853913B2 (en) * | 2015-08-25 | 2017-12-26 | Accenture Global Services Limited | Multi-cloud network proxy for control and normalization of tagging data |
US10356038B2 (en) * | 2015-12-14 | 2019-07-16 | Microsoft Technology Licensing, Llc | Shared multi-tenant domain name system (DNS) server for virtual networks |
US20170357678A1 (en) * | 2017-07-31 | 2017-12-14 | Qiang Wang | Internet Map Macro Marker Management Theory and Control System |
US10733072B2 (en) * | 2017-11-03 | 2020-08-04 | Nutanix, Inc. | Computing system monitoring |
US10109088B1 (en) * | 2017-12-28 | 2018-10-23 | Schneider Electric Software, Llc | Automated event correlation in a managed historian system |
JP7039716B2 (ja) * | 2018-02-02 | 2022-03-22 | ザ チャールズ スターク ドレイパー ラボラトリー, インク. | ポリシ実行処理のためのシステムおよび方法 |
US20190325262A1 (en) * | 2018-04-20 | 2019-10-24 | Microsoft Technology Licensing, Llc | Managing derived and multi-entity features across environments |
-
2019
- 2019-04-04 US US16/374,988 patent/US10972567B2/en active Active
-
2020
- 2020-04-02 CN CN202010253091.5A patent/CN111800450B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104380277A (zh) * | 2012-06-29 | 2015-02-25 | 英特尔公司 | 用于管理云调度环境中的服务器硬件资源的方法、系统和设备 |
US9934269B1 (en) * | 2015-03-17 | 2018-04-03 | Amazon Technologies, Inc. | Resource tagging and grouping |
CN106648465A (zh) * | 2016-12-22 | 2017-05-10 | 郑州云海信息技术有限公司 | 云平台中存储虚拟资源的方法及装置 |
CN107426152A (zh) * | 2017-04-07 | 2017-12-01 | 西安电子科技大学 | 云平台虚实互联环境下多任务安全隔离系统及方法 |
CN107783822A (zh) * | 2017-11-10 | 2018-03-09 | 郑州云海信息技术有限公司 | 一种资源管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20200322442A1 (en) | 2020-10-08 |
CN111800450A (zh) | 2020-10-20 |
US10972567B2 (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111800450B (zh) | 用于云资源管理的多维标签命名空间 | |
US11449379B2 (en) | Root cause and predictive analyses for technical issues of a computing environment | |
US10929490B2 (en) | Network search query | |
US10467128B2 (en) | Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics | |
US10621074B2 (en) | Intelligent device selection for mobile application testing | |
US9690553B1 (en) | Identifying software dependency relationships | |
US10841329B2 (en) | Cognitive security for workflows | |
US20200104774A1 (en) | Cognitive user interface for technical issue detection by process behavior analysis for information technology service workloads | |
US11642783B2 (en) | Automated generation of robotic computer program code | |
US11513930B2 (en) | Log-based status modeling and problem diagnosis for distributed applications | |
US20190146901A1 (en) | Cognitive manufacturing systems test repair action | |
US20210158076A1 (en) | Determining Model-Related Bias Associated with Training Data | |
US20210037031A1 (en) | Contextual anomaly detection across assets | |
US11636386B2 (en) | Determining data representative of bias within a model | |
US10241815B2 (en) | Tag inheritance | |
CN116194894A (zh) | 原生云应用程序的故障定位 | |
US10684939B2 (en) | Using workload profiling and analytics to understand and score complexity of test environments and workloads | |
US11169905B2 (en) | Testing an online system for service oriented architecture (SOA) services | |
US20230021563A1 (en) | Federated data standardization using data privacy techniques | |
US10394701B2 (en) | Using run time and historical customer profiling and analytics to iteratively design, develop, test, tune, and maintain a customer-like test workload | |
US20220335045A1 (en) | Composite event estimation through temporal logic | |
US20180095835A1 (en) | Resilient analytics utilizing dark data | |
US20190095513A1 (en) | System and method for automatic data enrichment from multiple public datasets in data integration tools | |
US20230308466A1 (en) | Workflow penetration testing | |
US11823078B2 (en) | Connected insights in a business intelligence application |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |