CN105592130A - 一种服务部署方法、服务管理方法及装置 - Google Patents
一种服务部署方法、服务管理方法及装置 Download PDFInfo
- Publication number
- CN105592130A CN105592130A CN201510085240.0A CN201510085240A CN105592130A CN 105592130 A CN105592130 A CN 105592130A CN 201510085240 A CN201510085240 A CN 201510085240A CN 105592130 A CN105592130 A CN 105592130A
- Authority
- CN
- China
- Prior art keywords
- plan
- service
- node
- wish
- corresponding relation
- 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
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种服务部署方法、服务管理方法及装置,该方法包括:接收第二服务的服务部署包,其中,服务部署包包括部署计划和第二描述文件;在根据第二描述文件执行部署计划后,获取已被部署的第二服务的第二实例标识ID;确定第二描述文件中包括第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息;根据第一实例ID,获取第一服务的第一描述文件;根据第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种服务部署方法、服务管理方法及装置。
背景技术
云计算是一种服务的交付和消费模式。云服务供应商(英文:CloudServiceProvider,简称:CSP)将大量计算资源用网络连接起来并进行统一的管理、分配和调度,构成一个巨大的资源池向云服务消费者(英文:CloudServiceConsumer,简称:CSC)提供服务。对CSC而言,云资源可无限扩展,具有按需索取、按使用付费等高效灵活的特点。
现有技术中,部署一个服务所需的全部信息都在一个名为云服务档案(英文:CloudServiceArchive,简称:CSAR)的服务部署包中描述。服务部署包至少包含一个服务部署描述文件。该描述文件的后缀为ste,以可扩展标记语言(英文:ExtensibleMarkupLanguage,简称:XML)描述应用的部署信息。该描述文件的根元素为服务模板(ServiceTemplate)。也就是说使用ServiceTemplate来完整描述一个服务的信息,其子元素包括拓扑模板(TopologyTemplate)、节点类型(NodeType)、节点模板(NodeTemplate)、关系类型(RelationshipType)、关系模板(RelationshipTemplate)、计划(Plan)等,这些元素之间的关系如图1所示。
如图1所示,现有技术使用TopologyTemplate来描绘一个应用拓扑。拓扑中每个节点都对应一个NodeTemplate,其类型由NodeType定义(NodeTemplate的type属性描述了该NodeTemplate对应的NodeType)。NodeType定义了NodeTemplate的元数据,如属性(用Properties定义)、该节点的接口集(用Interfaces定义)等,每个Interfaces可包含多个Interface,而每个Interface中可包含多个方法(Operation),比如安装(Install)、配置(Config)、停止(Stop)和移除(Remove)等。每个方法对应一个方法制品(即一个可执行文件,如脚本文件)。同时,每个节点都对应一个部署制品(可以是一个镜像、可安装的软件包等)。NodeType可以被继承,被继承的NodeType称为父节点类型,而继承的NodeType则被称为子节点类型。一旦一个NodeType被继承,则表明该NodeType的子节点类型包含其父节点类型中所有的属性和接口集下的接口下的方法。
每个NodeType对应一个节点类型执行(英文:NodeTypeImplementatio,简称:NTI)。NTI的type属性描述了该NTI对应的NodeType,NTI描述了该NodeType的部署制品和所有方法的方法制品的信息。
拓扑中的每条边都是一个RelationshipTemplate。RelationshipTemplate是RelationshipType的一个实例,定义了该边的起点(用SourceElement定义)和终点(用TargetElement定义)。
每个应用部署包还包括计划(Plan),计划是可执行的工作流,工作流中的每个节点都是NodeType中定义的方法,用标准化语言描述,标准化语言例如是业务流程建模与标注(英文:BusinessProcessModelandNotation,简称:BPMN)2.0。目前,现有技术中包含两个标准Plan,部署计划(BuildPlan)和删除计划(TerminatePlan)。同时,ServiceTemplate还能包含自定义的Plan,比如配置计划(ConfigPlan)和停止计划(StopPlan)等。执行计划时,服务器根据计划的定义按序逐个运行各节点的方法制品。
另外,ServiceTemplate能够定义作用于自身的规则。首先定义策略类型(PolicyType)以描述规则的元数据,然后在ServiceTemplate中定义其实例策略模板(PolicyTemplate)。
在现有技术中,假设某CSC设备在某CSP服务器上已经部署了服务A,其中包含一个网页服务a。之后,该CSC设备在同一个CSP服务器上部署服务B,服务B在业务逻辑上以服务调用的方式使用了服务A中的网页服务a。服务A和服务B的拓扑关系如图2所示。
显然,若服务A被删除或者被停止,那么服务B的业务逻辑将无法正常运行。为了解决该技术问题,现有方式为:在部署服务B时,将服务A和服务B合并成一个大的服务C,如图3所示。因为要合并,所以在CSC设备向CSP服务器发送的服务部署包中,就要包含服务A的部署包中的内容,而CSP服务器也要再部署一次服务A,造成了资源浪费。
发明内容
本申请实施例提供一种服务部署方法、服务管理方法及装置,用以解决现有技术中部署新服务时合并已部署的服务导致的资源浪费的技术问题。
本申请第一方面提供了一种服务部署方法,包括:
接收第二服务的服务部署包,其中,所述服务部署包包括部署计划和第二服务的描述文件;
在根据所述第二服务的描述文件执行所述部署计划后,获取已被部署的所述第二服务的第二实例标识ID;
确定所述第二服务的描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;
根据所述第一实例ID,获取所述第一服务的描述文件;
根据所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息,在所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系。
结合第一方面,在第一方面的第一种可能的实现方式中,在所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,所述方法还包括:
接收针对所述第二实例ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述删除计划;
确定所述第二服务的描述文件中包括所述第二服务限制执行所述第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;
在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;
执行插入所述标记后的删除计划。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,执行插入所述标记后的删除计划,包括:
从所述第二服务的描述文件中获取所述第一实例ID;
根据所述第一实例ID获取所述第一服务的描述文件;
删除所述第一服务的描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;
从所述第一方法开始执行所述欲执行的删除计划。
结合第一方面,在第一方面的第三种可能的实现方式中,在所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,所述方法还包括:
接收发送端发送的针对所述第一实例ID的管理请求,所述管理请求包括所述第一实例ID和欲执行的计划和/或节点的方法;
根据所述第一实例ID获取所述第一服务的描述文件;
根据所述第一服务的描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
本申请第二方面提供一种服务管理方法,包括:
接收发送端发送的针对第一服务的第一实例标识ID的管理请求,所述管理请求包括所述第一实例ID以及欲执行的计划和/或节点的方法;
根据所述第一实例ID获取所述第一服务的描述文件;
根据所述第一服务的描述文件中记录的第二服务的第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
结合第二方面,在第二方面的第一种可能的实现方式中,所述欲执行的计划为删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
本申请第三方面提供一种服务管理方法,包括:
接收针对第二服务的第二实例标识ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
根据所述第二实例ID获取所述第二服务的服务部署包,所述服务部署包包括所述删除计划和第二服务的描述文件;
确定所述第二服务的描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;
在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;
执行插入所述标记后的删除计划。
结合第三方面,在第三方面的第一种可能的实现方式中,执行插入所述标记后的删除计划,包括:
根据所述第一实例ID获取所述第一服务的描述文件;
删除所述第一服务的描述文件中记录的所述第二实例ID和所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;
从所述第一方法开始执行所述欲执行的删除计划。
本申请第四方面提供一种服务部署装置,包括:
接收单元,用于接收第二服务的服务部署包,其中,所述服务部署包包括部署计划和第二服务的描述文件;
处理单元,用于在根据所述第二服务的描述文件执行所述部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二服务的描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;根据所述第一实例ID,获取所述第一服务的描述文件;根据所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息,在所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系。
结合第四方面,在第四方面的第一种可能的实现方式中,所述接收单元还用于:在所述处理单元在所述所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,接收针对所述第二实例ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
所述处理单元还用于:根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述删除计划;确定所述第二服务的描述文件中包括所述第二服务限制执行所述第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;执行插入所述标记后的删除计划。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述处理单元具体用于:从所述第二服务的描述文件中获取所述第一实例ID;根据所述第一实例ID获取所述第一服务的描述文件;删除所述第一服务的描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;从所述第一方法开始执行所述欲执行的删除计划。
结合第四方面,在第四方面的第三种可能的实现方式中,所述装置还包括发送单元,
所述接收单元还用于:在所述处理单元在所述所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,接收发送端发送的针对所述第一实例ID的管理请求,所述管理请求包括所述第一实例ID和欲执行的计划和/或节点的方法;
所述处理单元还用于:根据所述第一实例ID获取所述第一服务的描述文件;
根据所述第一服务的描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
所述发送单元用于:发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
本申请第五方面提供一种服务管理装置,包括:
接收单元,用于接收发送端发送的针对第一服务的第一实例标识ID的管理请求,所述管理请求包括所述第一实例ID以及欲执行的计划和/或节点的方法;
处理单元,用于根据所述第一实例ID获取所述第一服务的描述文件;
根据所述第一服务的描述文件中记录的第二服务的第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送单元,用于发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
结合第五方面,在第五方面的第一种可能的实现方式中,所述欲执行的计划为删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
本申请第六方面提供一种服务管理装置,包括:
接收单元,用于接收针对第二服务的第二实例标识ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
处理单元,用于根据所述第二实例ID获取所述第二服务的服务部署包,所述服务部署包包括所述删除计划和第二服务的描述文件;确定所述第二服务的描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;执行插入所述标记后的删除计划。
结合第六方面,在第六方面的第一种可能的实现方式中,所述处理单元具体用于:根据所述第一实例ID获取所述第一服务的描述文件;删除所述第一服务的描述文件中记录的所述第二实例ID和所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;从所述第一方法开始执行所述欲执行的删除计划。
本申请第七方面提供一种服务器,包括:
接收器,用于接收第二服务的服务部署包,其中,所述服务部署包包括部署计划和第二服务的描述文件;
处理器,用于在根据所述第二服务的描述文件执行所述部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二服务的描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;根据所述第一实例ID,获取所述第一服务的描述文件;根据所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息,在所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系。
结合第七方面,在第七方面的第一种可能的实现方式中,所述接收器还用于:在所述处理器在所述所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,接收针对所述第二实例ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
所述处理器还用于:根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述删除计划;确定所述第二服务的描述文件中包括所述第二服务限制执行所述第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;执行插入所述标记后的删除计划。
结合第七方面的第一种可能的实现方式,在第七方面的第二种可能的实现方式中,所述处理器具体用于:从所述第二服务的描述文件中获取所述第一实例ID;根据所述第一实例ID获取所述第一服务的描述文件;删除所述第一服务的描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;从所述第一方法开始执行所述欲执行的删除计划。
结合第七方面,在第七方面的第三种可能的实现方式中,所述装置还包括发送器,
所述接收器还用于:在所述处理器在所述所述第一服务的描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,接收发送端发送的针对所述第一实例ID的管理请求,所述管理请求包括所述第一实例ID和欲执行的计划和/或节点的方法;
所述处理器还用于:根据所述第一实例ID获取所述第一服务的描述文件;
根据所述第一服务的描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
所述发送器用于:发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
本申请第八方面提供一种服务器,包括:
接收器,用于接收发送端发送的针对第一服务的第一实例标识ID的管理请求,所述管理请求包括所述第一实例ID以及欲执行的计划和/或节点的方法;
处理器,用于根据所述第一实例ID获取所述第一服务的描述文件;
根据所述第一服务的描述文件中记录的第二服务的第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送器,用于发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
结合第八方面,在第八方面的第一种可能的实现方式中,所述欲执行的计划为删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
本申请第九方面提供一种服务器,包括:
接收器,用于接收针对第二服务的第二实例标识ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
处理器,用于根据所述第二实例ID获取所述第二服务的服务部署包,所述服务部署包包括所述删除计划和第二服务的描述文件;确定所述第二服务的描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;执行插入所述标记后的删除计划。
结合第九方面,在第九方面的第一种可能的实现方式中,所述处理器具体用于:根据所述第一实例ID获取所述第一服务的描述文件;删除所述第一服务的描述文件中记录的所述第二实例ID和所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;从所述第一方法开始执行所述欲执行的删除计划。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,在第二服务的第二描述文件中包括有第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,其中,第一服务为已部署的服务。因此,当部署新的服务,即第二服务时,除了执行部署计划部署第二服务之外,还根据所述信息,在第一服务的第一描述文件或在第一服务的第一实例的记录文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。因为第二描述文件中只要包含需要限制执行的计划和/或方法的信息,而不用将第一服务部署包中的所有内容都写入,所以节约了开发服务部署包的资源以及传输资源。而且,只要将第二实例ID和所述第一实例ID的计划和/或第一实例ID的节点的方法的对应关系写入第一服务的描述文件或记录文件中即可,而不用再次部署第一服务的部署包中的内容,所以节约了服务器的部署资源。进一步,通过限制执行第一实例ID的计划和/或节点的方法,可以避免因为对这些计划和/或方法的执行而导致第二服务无法运行。
本发明第十方面,提供了一种服务部署的方法,包括:
接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;
根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;
在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;
确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;
根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十方面,在第十方面的第一种可能的实现方式中,所述根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十方面,在第十方面的第二种可能的实现方式中,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二服务的描述文件中包括所述限制信息;根据所述限制信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
结合第十方面,在第十方面的第三种可能的实现方式中,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID以及欲执行的计划ID;根据所述第一实例ID,获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制,发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
本发明第十一方面,提供了一种服务部署的装置,包括:接收单元,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;处理单元,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点ID的方法的对应关系。
结合第十一方面,在第十一方面的第一种可能的实现方式中,所述处理单元,用于根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十一方面,在第十一方面的第二种可能的实现方式中,所述接收单元还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点ID的方法的对应关系之后,接收接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;所述处理单元,还用于根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二服务的描述文件中包括所述限制信息;根据所述限制信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
结合第十一方面,在第十一方面的第三种可能的实现方式中,所述装置还包括发送单元,所述接收单元还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例标识ID以及欲执行的计划ID;所述处理单元还用于:根据所述第一实例ID,获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的第二服务的第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制,所述发送单元用于:发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;所述处理单元还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;所述处理单元还用于:根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
本发明第十二方面,提供了一种服务部署的方法,包括:接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十二方面,在第十二方面的第一种可能的实现方式中,所述根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十二方面,在第十二方面的第二种可能的实现方式中,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;根据所述第二实例ID获取所述第二实例的记录文件和所述服务部署包,所述服务部署包中还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二实例的记录文件中包括所述关联信息;根据所述关联信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
结合第十二方面,在第十二方面的第三种可能的实现方式中,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的计划ID;根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制;发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
本发明第十二方面,提供了一种服务部署的装置,包括:接收单元,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;处理单元,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十二方面,在第十二方面的第一种可能的实现方式中,所述处理单元用于,根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
结合第十二方面,在第十二方面的第二种可能的实现方式中,所述接收单元还用于:在所述处理单元在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;所述处理单元还用于:根据所述第二实例ID获取所述第二实例的记录文件和所述部署包,所述部署包中还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二实例的记录文件中包括所述关联信息;根据所述关联信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
结合第十二方面,在第十二方面的第三种可能的实现方式中,所述装置还包括发送单元,所述接收单元还用于:在所述处理单元在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的计划ID;所述处理单元还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制;所述发送单元用于:发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;所述处理单元还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;所述处理单元还用于:根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
本申请实施例中,接收的服务部署请求中包括有限制信息,其中,第一服务为已部署的服务。因此,当部署新的服务,即第二服务时,除了执行部署计划部署第二服务之外,还根据所述限制信息,在部署的第二服务的第二实例对应的记录文件中记录包括第一实例ID的关联信息,并且在第一实例的记录文件中记录第二实例与第一实例的计划的对应关系,和/或在第一实例的节点记录文件中记录第二实例与第一实例的节点的方法的对应关系。因为只需要在服务部署请求中包含所述限制信息,而不用将第一服务部署包中的所有内容都写入,所以节约了开发服务部署包的资源以及传输资源。而且,只要在第二实例的记录文件中记录关联信息,在第一实例的记录文件中记录第二实例与第一实例的计划的对应关系和/或第二实例与第一实例的节点的方法的对应关系,而不用再次部署第一服务的部署包中的内容,所以节约了服务器的部署资源。进一步,通过限制执行第一实例的计划和/或节点的方法,可以避免因为对这些计划和/或方法的执行而导致第二服务无法运行。
附图说明
图1为现有技术中描述文件中各元素之间的关系图;
图2为现有技术中服务A和服务B的拓扑关系示意图;
图3为现有技术中将服务A和服务B合并为一个服务C的示意图;
图4为本申请一实施例中的服务部署方法的流程图;
图5为本申请一实施例中的服务管理的方法流程图;
图6为本申请另一实施例中的服务管理的方法流程图;
图7为为本申请一实施例中的服务部署装置的功能框图;
图8为本申请一实施例中的服务器的系统框图;
图9为为本申请一实施例中的服务管理装置的功能框图;
图10本申请另一实施例中的服务器的系统框图;
图11为为本申请另一实施例中的服务管理装置的功能框图;
图12为本申请再一实施例中的服务器的系统框图;
图13为本申请一实施例中的服务部署方法的流程图;
图14为本申请一实施例中的服务管理的方法流程图;
图15为本申请一实施例中的服务管理的方法流程图;
图16为本申请一实施例中的服务部署的方法流程图;
图17为本申请一实施例中的服务管理的方法流程图;
图18为为本申请一实施例中的服务部署装置的功能框图;
图19为为本申请又一实施例中的服务部署装置的功能框图;
图20为本申请一实施例中的服务器的系统框图;
图21为本申请又一实施例中的服务器的系统框图;
具体实施方式
本申请实施例提供一种服务部署方法、服务管理方法及装置,用以解决现有技术中部署新服务时合并已部署的服务导致的资源浪费的技术问题。
本申请实施例中的技术方案为解决上述的技术问题,总体思路如下:
1、在第二服务的第二描述文件中包括有第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,其中,第一服务为已部署的服务。当部署新的服务,即第二服务时,除了执行部署计划部署第二服务之外,还根据所述信息,在第一服务的第一描述文件或者第一实例的记录文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。
2、CSP服务器接收CSC设备发送的服务部署请求中还包括第二服务限制执行第一服务的第一实例的计划和/或第一实例的节点的方法的限制信息。当部署新的服务,即第二服务时,除了执行部署计划部署第二服务之外,还需要根据该限制信息,在第二实例的记录文件中记录关联信息,该关联信息至少包括第一实例ID;在第一实例的记录文件中记录第二实例与第一实例的计划的对应关系和/或第二实例与第一实例的节点的方法的对应关系。其中,所述记录文件为记载实例的配置参数、运行状态、操作记录等信息的文件或是CSP服务器新建的文件,本发明对记录文件的具体形式不做限定。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请一实施例提供一种服务部署方法,请参考图4所示,为本实施例中服务部署方法的流程图,该方法包括以下内容:
步骤101:接收第二服务的服务部署包,其中,服务部署包包括部署计划和第二描述文件;
步骤102:在根据第二描述文件执行所述部署计划后,获取已被部署的第二服务的第二实例标识(ID);
步骤103:确定第二描述文件中包括第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息;
步骤104:根据第一实例ID,获取第一服务的第一描述文件;
步骤105:根据所述第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。
其中,限制执行第一实例ID的计划和/或第一实例ID的节点的方法,是指在限制执行期间,不允许执行被限制的计划和/或方法。其中,限制执行期间指在第一描述文件中记录有第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系的期间。
在本实施例中,假设第一服务和第二服务的服务部署包均包括两个计划:部署计划(BuildPlan)和删除计划(TerminatePlan)。第一服务和第二服务中的每个节点都有4个方法,分别为:开始、配置、停止和移除。在实际运用中,服务部署包还可以包括其他计划,例如重启计划。每个节点的方法也可以是其他方法,例如重启。本申请不作具体限定。
此时,假设第一服务(ServiceA)已经部署完成,即在云平台上运行。第一服务(ServiceA)的服务实例ID,即第一实例ID为ServiceA-1;第一描述文件,例如称为描述文件A的文件名为ServiceA.ste。进一步,CSP服务器还记录了描述文件A与第一实例ID,即ServiceA.ste与ServiceA-1的映射关系。需要说明的是,第一服务在不同的服务器上进行部署,就会有不同的服务实例ID,在本实施例中,假设第一服务在该服务器上的服务实例ID为第一实例ID,对于第一服务的其他服务实例ID,实施的方法相同。
假设第二服务为ServiceB,第二服务的第二描述文件为描述文件B,其中描述文件B的文件名为ServiceB.ste。
当需要部署第二服务时,CSC设备将第二服务的服务部署包发送给CSP服务器。即CSP服务器执行本实施例方法中的步骤101,接收第二服务的服务部署包,该服务部署包中包括部署计划和描述文件B。在其他实施例中,该服务部署包中还可以包括其他计划,例如删除计划,重启计划等。
在接收到第二服务的服务部署包后,可以根据第二描述文件执行部署计划。
然后执行步骤102,在部署完成后,获取已部署的第二服务的第二实例ID。
其中,执行部署计划为本领域技术人员所熟知的内容,所以在此不再赘述。获取第二实例ID,具体例如是CSP服务器为ServiceB创建或分配一个实例ID为ServiceB-1。
接下来执行步骤103,确定第二描述文件中包括第二服务限制执行第一实例ID的计划和/或第一实例ID的节点的方法的信息。
具体来说,为了能够描述第二服务对第一实例ID的计划和/或第一实例ID的节点的方法的限制,可以在第二描述文件中定义一个名为“限制(Limitation)”的策略类型(PolicyType),在第二描述文件中的服务模板(ServiceTemplate)下定义该策略类型的策略模板(PolicyTemplate)。策略类型和策略模板的具体定义可以有但不限于以下两种,分别称为(I)型和(II)型。(I)型中的属性“被请求的服务(appliesToService)”和“请求的服务(appliesFromService)”都是针对PolicyTemplate;而(II)型中,这两个属性都是针对受限制的计划和/或节点的方法。
其中,(I)型的策略类型,“Limitation”可以通过代码(1)来定义。在其它实施例中,策略类型的命名可以任意设置,本申请不作限定。
代码(1):<PolicyTypename=“Limitation">//策略类型名称为Limitation
<PropertiesDefinitionelement=“LimitedOperations">//属性定义元素为限制的方法
<Operationid=”string1”NodeTempalteID=”string2”/>//方法的id是string1,string1字段表示方法的id;节点模板的ID为string2
</PropertiesDefinition>//属性定义
<PropertiesDefinitionelement=“LimitedPlans"/>//属性定义元素为限制的计划
<Planid=”string3”/>//计划的id为string3
</PropertiesDefinition>//属性定义
</PolicyType>//策略类型。
其中,PolicyTypename描述策略类型的名称,本实例中为限制,即Limitation;属性定义元素PropertiesDefinitionelement描述被限制的元素,如方法或计划,本实例中该属性描述被限制的方法或计划,并通过Operationid给出被限制的方法名称,以及NodeTemplateID描述被限制的方法属于哪个节点的方法。如果需要限制多个方法,采用代码(1),可以写入多行Operationid,以及与Operationid对应的NodeTemplateID。而Planid描述需要限制的计划。
(I)型的策略模板可以通过代码(2)来定义。
代码(2):<PolicyTemplateid=“string4”name=“string5”type=“Limitation”appliesToService=“string6”appliesFromService=“string7”>//策略模板的id为string4,名称为string5,类型为Limitation,被请求的服务为string6,请求的服务为string7。
其中,PolicyTemplateid描述策略模板的id,name描述策略模板的名称,type描述策略描述的类型,例如类型为代码(1)所描述的类型。属性“appliesToService”用来描述被请求的服务,而属性“appliesFromService”用来描述请求的服务。
在代码(1)和代码(2)中,给出了一个通用的示例,其中,string表示字段,在实际运用中,string的部分需要用实际的字段来替换,在本实施例的模板中,通过string加数字进行区分不同的字段的定义。
在代码(1)和代码(2)中,PolicyType的名字为“Limitation”,表示是对服务的计划和/或节点的方法的限制;其有两个属性,分别为“LimitedOperations”和“LimitedPlans”表示受限制的方法和计划。由于每个节点可能存在相同名字的方法,所以在描述方法的时候,除了给出方法的id之外,还需给出其对应的NodeTemplate的ID,表示该方法属于哪个NodeTemplate。在一个服务中不会存在id相同的计划,故只需给出计划的id即可。
描述PolicyTemplate时,其type为“Limitation”,表示该PolicyTemplate是名为“Limitation”的PolicyType的一种示例。本申请实施例使用appliesToService描述被请求的服务实例的ID,即第一实例ID为被限制的服务实例。同时,也需要增加新的字段以描述PolicyTemplate来自于哪个服务实例。本发明使用appliesFromService记录请求的服务实例ID,即限制来自的服务实例,也即第二实例ID。
例如,本实施例中,假设ServiceA的删除计划、每个节点的Stop和Remove方法的执行会影响到ServiceB的正常运行,那么ServiceB对ServiceA实例的删除计划(TerminatePlan)、每个节点的Stop和Remove方法的执行进行限制,那么在ServiceB的描述文件B中(I)型的PolicyTemplate可通过代码(3)来定义:
代码(3):<PolicyTemplateid=“LimitedTemplate”name=“LimitedTemplate”type=“Limitation”appliesToService=“ServiceA-1”>//策略模板的id为“限制模板”,名称为“限制模板”,类型为“Limitation”,被请求的服务实例为“ServiceA-1”
<Properties>//属性
<LimitedPlans>//限制的计划
<Planid=“TerminatePlan”>//计划的id为删除计划
</LimitedPlans>//限制的计划
<LimitedOperations>//限制的方法
<Operationid=“Stop”NodeTemplateID=“AppA”>//限制的方法的id为Stop,该方法的节点模板ID为AppA
<Operationid=“Stop”NodeTemplateID=“AppADb”>////限制的方法的id为Stop,该方法的节点模板ID为AppADb
<Operationid=“Stop”NodeTemplateID=“Apache”>//限制的方法的id为Stop,该方法的节点模板ID为Apache
<Operationid=“Stop”NodeTemplateID=“MySql”>//限制的方法的id为Stop,该方法的节点模板ID为MySql
…//Remove方法类似定义,这里不做赘述
</LimitedOperations>//限制的方法
</Properties>//属性
</PolicyTemplate>//策略模板。
代码(3)中的策略模板表示ServiceB需要限制执行第一实例ID,ServiceA-1的计划和方法,并且描述了限制执行的计划的id和方法的id以及方法所属节点模板的ID。
在实际运用中,除了采用代码(1)的方式定义策略类型,还可以采用其他方式来定义策略类型,例如(II)型的策略类型,具体如代码(4)所示。
代码(4):<PolicyTypename=“Limitation">//策略类型的名称为Limitation
<PropertiesDefinitionelement=“LimitedOperations">//属性定义元素为限制的方法
<Operationid=”string8”,NodeTempalteID=”string9”appliesToService=“string10”appliesFromService=“string11”/>//方法的id为string8,该方法的节点模板的ID为string9,该方法被请求的服务实例为string10,请求的服务实例为string11
</PropertiesDefinition>//属性定义
<PropertiesDefinitionelement=“LimitedPlans"/>//属性定义元素为限制的计划
<Planid=”string12”appliesToService=“string13”appliesFromService=“string14”/>//计划id为string12,该计划的被请求的服务实例为string13,请求的服务实例为string14
</PropertiesDefinition>//属性定义
</PolicyType>//策略类型。
其中,PolicyTypename描述策略类型的名称,本实例中为限制,即Limitation;属性定义元素PropertiesDefinitionelement描述被限制的元素,如方法或计划,本实例中该属性描述被限制的方法或计划,并通过Operationid给出被限制的方法名称,以及NodeTemplateID描述被限制的方法属于哪个节点的方法。如果需要限制多个方法,采用代码(4),可以写入多行Operationid,以及与Operationid对应的NodeTemplateID。而Planid描述需要限制的计划。并且,在每个限定的方法和计划后面,通过属性“appliesToService”来描述这些方法和计划所属的服务,通过属性“appliesFromService”来描述限制这些方法和计划的服务。
对应代码(4),(II)型的策略模板可以通过代码(5)来定义。
代码(5):<PolicyTemplateid=“string15”name=“string16”type=“Limitation”/>//策略模板的id为string15,名称为string16,类型为“Limitation”。
其中,在代码(5)和代码(6)中,string的含义与前述描述相同,为通用模板中的代替符号,在实际运用中,需要用真实的字段来代替。
继续沿用(I)型的例子,ServiceB的描述文件B中描述对ServiceA的服务实例的计划和/或节点的方法限制的(II)型的PolicyTemplate可通过代码(6)来描述。
代码(6):<PolicyTemplateid=“LimitedTemplate”name=“LimitedTemplate”type=“Limitation“>//策略模板的id为LimitedTemplate,名称为LimitedTemplate,类型为Limitation
<Properties>//属性
<LimitedPlans>//限制的计划
<Planid=“TerminatePlan”appliesToService=“ServiceA-1”>//计划的id为删除计划,被请求的服务实例为ServiceA-1
</LimitedPlans>//限制的计划
<LimitedOperations>//限制的方法
<Operationid=“Stop”NodeTemplateID=“AppA”appliesToService=“ServiceA-1”>//方法的id为Stop,该方法的节点模板的ID为AppA,该方法被请求的服务实例为ServiceA-1
<Operationid=“Stop”NodeTemplateID=“AppADb”appliesToService=“ServiceA-1”>//方法的id为Stop,该方法的节点模板的ID为AppADb,该方法被请求的服务实例为ServiceA-1
<Operationid=“Stop”NodeTemplateID=“Apache”appliesToService=“ServiceA-1”>//方法的id为Stop,该方法的节点模板的ID为Apache,该方法被请求的服务实例为ServiceA-1
<Operationid=“Stop”nodeTemplateID=“MySql”appliesToService=“ServiceA-1”>//方法的id为Stop,该方法的节点模板的ID为MySql,该方法被请求的服务实例为ServiceA-1
…//Remove方法类似定义,这里不做赘述
</LimitedOperations>//限制的方法
</Properties>//属性
</PolicyTemplate>//策略类型。
由此可以看出,在(II)型的代码中,策略模板中的被请求的服务实例直接写在被限制执行的计划和节点的方法之后。而在(I)型的代码(3)中,被请求的服务实例是写在策略模板之后的。
接下来继续描述步骤103。因此,不管是通过(I)型还是(II)型的描述方式,只要描述文件B中对策略模板的定义中,属性appliesToService=“ServiceA-1”,就可以说明第二服务引用了ServiceA的一个实例,其中被引用的ServiceA的实例的ID为ServiceA-1。描述文件B中还定义了如代码(1)或代码(4)所示的策略类型,以及对实例ID为ServiceA-1的实例的计划和/或方法的限制如代码(3)(对应I型)和代码(6)(对应II型)。因此,CSP服务器根据第二描述文件,即可获知第二描述文件中包括ServiceB限制执行第一实例ID,ServiceA-1的计划(删除计划)和所有节点的方法(Stop和Remove)的信息,并且能够获取到第一实例ID,在本实施例中,第一实例ID为ServiceA-1。
接下来执行步骤104,即根据第一实例ID,获取第一服务的第一描述文件。具体来说,例如是CSP服务器根据记录的描述文件和实例ID对应的映射关系,查询到与第一实例ID对应的第一描述文件。在本实施例中,例如获得了描述文件A,ServiceA.ste。
当获取到第一描述文件时,接下来执行步骤105,根据所述信息,在第一描述文件中记录第二实例ID和第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。
可选的,在执行步骤105之前,可以先检查第一描述文件中是否已经有名为“Limitation”的策略类型。
针对(I)型的情况,如果没有的话,则根据所述信息将第二描述文件中的策略类型拷贝至第一描述文件中,然后将代码(3)中描述的策略模板拷贝至第一描述文件中服务模板下,其中,不拷贝“appliesToService=“ServiceA-1””。通过属性“appliesFromService”记录该限制来自于第二服务的第二实例ID,例如为ServiceB的服务实例ServiceB-1。
如果有的话,就将代码(3)中描述的策略模板拷贝至第一描述文件中服务模板下,其中,不拷贝“appliesToService=“ServiceA-1””。通过属性“appliesFromService”记录该限制来自于第二服务的第二实例ID,例如为ServiceB的服务实例ServiceB-1。
继续沿用前述实例,那么在第一描述文件,例如描述文件A中,(I)型的策略模板通过代码(7)来描述。
代码(7):<PolicyTemplateid=“LimitedTemplate”name=“LimitedTemplate”type=“Limitation”appliesFromService=“ServiceB-1”>//策略模板的id为LimitedTemplate,名称为LimitedTemplate,类型为Limitation,请求的服务实例为ServiceB-1
<Properties>//属性
<LimitedPlans>//限制的计划
<Planid=“TerminatePlan”>//计划id为删除计划
</LimitedPlans>//限制的计划
<LimitedOperations>//限制的方法
<Operationid=“Stop”NodeTemplateID=“AppA”>//方法的id为Stop,该方法的节点模板的ID为AppA
<Operationid=“Stop”NodeTemplateID=“AppADb”>//方法的id为Stop,该方法的节点模板的ID为AppADb
<Operationid=“Stop”NodeTemplateID=“Apache”>//方法的id为Stop,该方法的节点模板的ID为Apache
<Operationid=“Stop”NodeTemplateID=“MySql”>//方法的id为Stop,该方法的节点模板的ID为MySql
…//Remove方法类似定义,这里不做赘述
</LimitedOperations>//限制的方法
</Properties>//属性
</PolicyTemplate>//策略类型。
针对(II)型的情况,如果没有的话,将第二描述文件中的策略类型拷贝至第一描述文件中,例如将描述文件B中的策略类型拷贝至描述文件A中。然后将例如代码(6)中描述的策略模板拷贝至描述文件A中服务模板下,不拷贝“appliesToService=“ServiceA-1””。并且,通过属性“appliesFromService”记录该限制来自于第二服务的第二服务实例ID,例如ServiceB的服务实例ServiceB-1。
如果有的话,将代码(6)中限制计划(LimitedPlans)的所有子元素拷贝至描述文件A中类型为“Limitation”的策略模板的子元素限制计划(LimitedPlans),不拷贝“appliesToService=“ServiceA-1””。并且,通过属性“appliesFromService”记录该限制来自于第二服务的第二服务实例ID,例如ServiceB的服务实例ServiceB-1。以同样的方式处理代码(6)中的限制方法(LimitedOperations)。
处理完成后完整的(II)型的策略模板在描述文件A中的描述如代码(8)所示。
代码(8):<PolicyTemplateid=“LimitedTemplate”name=“LimitedTemplate”type=“Limitation“>//策略模板的id为LimitedTemplate,名称为LimitedTemplate,类型为Limitation
<Properties>//属性
<LimitedPlans>//限制的计划
<Planid=“TerminatePlan”appliesFromService=“ServiceB-1”>//计划的id为删除计划,该计划的请求来自于服务实例ServiceB-1
</LimitedPlans>//限制的计划
<LimitedOperations>//限制的方法
<Operationid=“Stop”NodeTemplateID=“AppA”appliesFromService=“ServiceB-1”>//方法的id为Stop,该方法的节点模板的ID为AppA,该方法的限制来自于服务实例ServiceB-1
<Operationid=“Stop”NodeTemplateID=“AppADb”appliesFromService=“ServiceB-1”>//方法的id为Stop,该方法的节点模板的ID为AppADb,该方法的限制来自于服务实例ServiceB-1
<Operationid=“Stop”NodeTemplateID=“Apache”appliesFromService=“ServiceB-1”>//方法的id为Stop,该方法的节点模板的ID为Apache,该方法的限制来自于服务实例“ServiceB-1”
<Operationid=“Stop”NodeTemplateID=“MySql”appliesFromService=“ServiceB-1”>//方法的id为Stop,该方法的节点模板的ID为AppA,该方法的请求来自于服务实例MySql
…//Remove方法类似定义,这里不做赘述
</LimitedOperations>//限制的方法
</Properties>//属性
</PolicyTemplate>//策略模板。
在实际运用中,除前述实施例中所描述的方式,还可以采用其他方式在第二描述文件中描述第二服务限制执行第一实例ID的计划和/或第一实例ID的节点方法,本申请对此不作限定。另外,具体如何记录第二实例ID和第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,本申请对此也不作限定。
由以上描述可以看出,因为第二描述文件中只要包含需要限制执行的计划和/或节点的方法的信息,而不用将第一服务部署包中的所有内容都写入,所以节约了开发服务部署包的资源以及传输资源。而且,只要将第二实例ID和所述第一实例ID的计划和/或第一实例ID的节点的方法的对应关系写入第一服务的描述文件中即可,而不用再次部署第一服务的部署包中的内容,所以节约了服务器的部署资源。进一步,通过限制执行第一实例ID的计划和/或节点的方法,可以避免因为对这些计划和/或节点的方法的执行而导致第二服务无法运行。
当通过前述的服务部署方法部署第二服务之后,会涉及到对第一服务和第二服务的管理,接下来将先描述对第一服务的管理过程。
请参考图5所示,为本申请实施例中服务管理方法的流程图,该方法包括以下内容:
步骤201:接收发送端发送的针对第一服务的第一实例ID的管理请求,管理请求包括第一实例ID以及欲执行的计划和/或节点的方法。
举例来说,例如,CSC设备想要执行ServiceA的实例ServiceA-1中的某个计划或节点的方法,例如删除计划(TerminatePlan)。于是通过客户端向CSP服务器发送管理请求,该管理请求中包含ServiceA实例的IDServiceA-1和欲执行的计划和/或方法及方法所属的节点。
步骤202:根据第一实例ID获取第一服务的第一描述文件;其中,第一描述文件中记录了第二服务的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。
举例来说,所述对应关系具体是通过图4所述实施例中步骤101至步骤105所描述的方式写入的,也可以是通过其他方式写入的,本申请不作限定。
根据第一实例ID获取第一服务的第一描述文件的过程类似于前述步骤104,所以在此不再赘述。
步骤203:根据该对应关系,确定欲执行的计划和/或节点的方法的执行受到第二服务的限制。
具体来说,通过检测第一描述文件,确定欲执行的计划和/或方法是否位于第二实例ID与第二服务所限制第一实例ID的计划和/或方法的对应关系中,如果是,则可以确定欲执行的计划和/或节点的方法的执行受到了第二服务的限制。反之则没有。
举例来说,检查描述文件A,确定ServiceB的实例ServiceB-1对实例ServiceA-1的TerminatePlan的限制。针对(I)型的情况,查看代码(7)中id为“LimitedTemplate”的策略模板,如果“TerminatePlan”出现在“LimitedPlans”中,说明删除计划被限制执行了。针对(II)型的情况,查看代码(8)中是否包含计划id为“TerminatePlan”的计划,如果有,则表示删除计划被限制执行,反之则没有。
步骤204:若受到限制,则发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
例如通过步骤203的确定过程,确定出欲执行的计划和/或方法受到第二服务的限制,那么就发送拒绝消息给所述发送端。
可选的,拒绝消息中可以包含第二服务的第二实例ID。例如包含ServiceB的服务实例IDServiceB-1,以说明是ServiceB-1对实例ServiceA-1做了限制,从而拒绝了该请求。如此可以保证不影响第二服务的正常运行。
关于第二实例ID,具体即为代码(7)或代码(8)中的属性“appliesFromService”的值,所以读取该属性的值,即可获得第二服务的第二实例ID,即ServiceB-1。
可选的,当确定欲执行的计划和/或方法的执行没有受到第二服务的限制时,就可以执行欲执行的计划和/或方法,例如删除计划。
可选的,欲执行的计划为删除计划、重启计划和停止计划中的至少一个;欲执行的方法为删除方法、重启方法和停止方法中的至少一个。
当然,在实际运用中,还可以是其他计划和/或节点的方法,本申请不作限定。
由以上描述可以看出,在对第一服务进行管理时,先要确定欲执行的计划和/或方法的执行没有受到其它服务的限制,如果欲执行的计划和/或节点的方法的执行受到其它服务的限制的话,就拒绝请求。这样一来,在对第一服务进行管理时,就可以保证不影响限制了该计划和/或节点的方法的执行的服务的正常运行。
接下来再描述对第二服务的管理过程,请参考图6所示,为本实施例中对第二服务的管理方法的流程图。该方法包括以下内容:
步骤301:接收针对第二服务的第二实例ID的删除请求,删除请求中包含第二实例ID和欲执行的删除计划。
举例来说,删除请求中包含的第二实例ID为ServiceB-1。删除请求中包括的欲执行的删除计划的为TerminatePlan。
步骤302:根据第二实例ID获取第二服务的服务部署包,该服务部署包包括删除计划和第二描述文件。
举例来说,通过实例IDServiceB-1获取服务部署包,该部署包包括描述文件B和TerminatePlan。
步骤303:确定第二描述文件中包括第二服务限制执行第一实例ID的计划和/或第一实例ID的节点的方法的信息。
具体来说,如果第二描述文件中有对第一实例ID的计划和/或节点的方法的限制,那么第二描述文件中就会包括如前述代码(3)和代码(6),所以可以通过检查第二描述文件中是否包含这样的代码段来判断第二服务是否有对其他服务实例的计划和/或节点的方法的执行的限制。并且,可以从该代码段中的属性“appliesToService”的值获知受限制的服务实例ID。
在本实施例中,第一服务泛指所有受到第二服务限制的服务,例如包括ServiceA,和/或ServiceD。
假设第二服务为ServiceB,第一服务为ServiceA,那么通过前述的实施例描述可知,描述文件B中有对ServiceA-1的计划和/或节点的方法的执行的限制。
当结果为没有时,那么就直接执行删除计划即可。
当结果为有时,那么接下来执行步骤304:在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除第二服务对第一实例ID的计划和/或第一实例ID的节点的方法的执行的限制。
计划是由方法组成的工作流,所以就在删除计划的第一个节点的第一方法前插入标记。
假设初始的TerminatePlan为:
TerminatePlan:
AppB.Stop;节点AppB的方法Stop;
AppBDb.Stop;节点AppBDb的方法Stop;
Apache.Stop;节点Apache的方法Stop;
MySql.Stop;节点MySql的方法Stop;
AppB.Remove;节点AppB的方法Remove;
AppBDb.Remove;节点AppBDb的方法Remove;
Apache.Remove;节点Apache的方法Remove;
MySql.Remove;节点Apache的方法Remove。
那么在本实施例中,第一个节点的第一个方法即为AppB.Stop。
经过步骤304的修改,插入标记后的删除计划为:
TerminatePlan:
DELETE_LIMITATION;//解除对其他服务实例的限制的标记
AppB.Stop;
AppBDb.Stop;
Apache.Stop;
MySql.Stop;
AppB.Remove;
AppBDb.Remove;
Apache.Remove;
MySql.Remove。
步骤305:执行插入所述标记后的删除计划。
具体来说,在执行插入所述标记后的删除计划时,当执行到所述标记时,具体包括以下内容:从第二描述文件中获取第一实例ID;根据第一实例ID获取第一服务的第一描述文件;删除第一描述文件中记录的第二实例ID和第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。
将第一描述文件中的对应关系删除,以此来解除第二服务对第一实例ID的计划和/或节点的方法的执行的限制,使得该计划和/或方法能够被执行。
其中,通过第二描述文件获取第一实例ID,可以如前所述,通过第二描述文件中的代码段中的属性“appliesToService”的值获知受限制的服务的实例ID。
举例来说,对于(I)型的情况,获取描述文件B中的类型为“Limitation”的PolicyTemplate,如代码(3)的属性“appliesToService”的值,该值ServiceA-1即为ServiceA的服务实例的ID。对于(II)型的情况,获取描述文件B中的类型为“Limitation”的PolicyTemplate(如代码6)中Plan元素和Operation元素的属性“appliesToService”的值(在本实施例中都为ServiceA-1),该值即为ServiceA的服务实例的ID。
通过第一实例ID获取第一服务的第一描述文件的步骤也可以按照前述所描述的方式来实施,例如CSP服务器存储有实例ID和描述文件的映射关系,所以查询该映射关系,就可以获取到第一实例ID对应的第一描述文件。
删除第一描述文件中记录的对应关系,具体来说,对于(I)型的情况,在描述文件A中删除类型为“Limitation”的PolicyTemplate,其属性“appliesFromService”的值为ServiceB-1。
可选的,检查描述文件A中是否还包含类型为“Limitation”的PolicyTemplate,若无,删除ID为“Limitation”的PolicyType。
对于(II)型的情况,在描述文件A中找到类型为“Limitation”的PolicyTemplate,删除属性“appliesFromService”值为ServiceB-1的所有Plan元素和Operation元素。
可选的,检查该PolicyTemplate中LimitedPlans元素和/或LimitedOperations元素是否包含子元素,若无,则删除LimitedPlans元素和/或LimitedOperations元素;若该PolicyTemplate中没有任何子元素,则删除该PolicyTemplate和ID为“Limitation”的PolicyType。
当在步骤305中执行完与标记相关的内容之后,然后从第一方法开始逐个执行删除计划中各个节点上的各个方法,该部分为本领域技术人员所熟知的内容,所以在此不再赘述。
由以上描述可以看出,即使第二服务对第一服务的实例的计划和/或节点的方法的执行有限制,但是也可以单独管理第二服务,保证了第二服务管理的独立性。提高了服务管理的灵活性。
基于同一发明构思,本申请实施例还提供一种服务部署装置,请参考图7所示,该服务部署装置包括:接收单元401,用于接收第二服务的服务部署包,其中,服务部署包包括部署计划和第二描述文件;处理单元402,用于在根据第二描述文件执行部署计划后,获取已被部署的第二服务的第二实例标识ID;确定第二描述文件中包括第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息;根据第一实例ID,获取第一服务的第一描述文件;根据第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,以及根据服务部署包部署第二服务。
可选的,接收单元401还用于:在处理单元402在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系之后,接收针对第二实例ID的删除请求,删除请求中包含第二实例ID和欲执行的删除计划;
处理单元402还用于:根据第二实例ID获取服务部署包,服务部署包还包括删除计划;确定第二描述文件中包括第二服务限制执行第一实例ID的计划和/或第一实例ID的节点的方法的信息;在删除计划的第一个节点的第一个方法前插入标记,标记表示解除第二服务对第一实例ID的计划和/或第一实例ID的节点的方法的执行的限制;执行插入标记后的删除计划。
进一步,处理单元402具体用于:从第二描述文件中获取第一实例ID;根据第一实例ID获取第一描述文件;删除第一描述文件中记录的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系;从第一方法开始执行欲执行的删除计划。
可选的,装置还包括发送单元,
接收单元401还用于:在处理单元402在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系之后,接收发送端发送的针对第一实例ID的管理请求,管理请求包括第一实例ID和欲执行的计划和/或节点的方法;
处理单元402还用于:根据第一实例ID获取第一描述文件;
根据第一描述文件中记录的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,确定欲执行的计划和/或节点的方法的执行受到第二服务的限制;
发送单元用于:发送拒绝执行欲执行的计划和/或节点的方法的消息给发送端。
前述图4实施例中的服务部署方法中的各种变化方式和具体实例同样适用于本实施例的服务部署装置,通过前述对服务部署方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务部署装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例还包括一种服务器,请参考图8所示,为本申请实施例中的服务器的系统框图。如图8所示,该服务器包括:接收器501,用于接收第二服务的服务部署包,其中,服务部署包包括部署计划和第二描述文件;处理器502,用于在根据第二描述文件执行部署计划后,获取已被部署的第二服务的第二实例标识ID;确定第二描述文件中包括第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息;根据第一实例ID,获取第一服务的第一描述文件;根据第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,以及根据所述服务部署包部署所述第二服务。
可选的,接收器501还用于:在处理器502在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系之后,接收针对第二实例ID的删除请求,删除请求中包含第二实例ID和欲执行的删除计划;
处理器502还用于:根据第二实例ID获取服务部署包,服务部署包还包括删除计划;确定第二描述文件中包括第二服务限制执行第一实例ID的计划和/或第一实例ID的节点的方法的信息;在删除计划的第一个节点的第一个方法前插入标记,标记表示解除第二服务对第一实例ID的计划和/或第一实例ID的节点的方法的执行的限制;执行插入标记后的删除计划。
进一步,处理器502具体用于:从第二描述文件中获取第一实例ID;根据第一实例ID获取第一描述文件;删除第一描述文件中记录的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系;从第一方法开始执行欲执行的删除计划。
可选的,装置还包括发送器503,
接收器501还用于:在处理器502在第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系之后,接收发送端发送的针对第一实例ID的管理请求,管理请求包括第一实例ID和欲执行的计划和/或节点的方法;
处理器502还用于:根据第一实例ID获取第一描述文件;
根据第一描述文件中记录的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,确定欲执行的计划和/或节点的方法的执行受到第二服务的限制;
发送器503用于:发送拒绝执行欲执行的计划和/或节点的方法的消息给发送端。
进一步,在图8中,总线架构(用总线500来代表),总线500可以包括任意数量的互联的总线和桥,总线500将包括由处理器502代表的一个或多个处理器和存储器504代表的存储器的各种电路链接在一起。总线500还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口505在总线500和处理器502、接收器501、发送器503之间提供接口。接收器501和发送器503用于服务器与外部设备进行数据通信。
处理器502负责管理总线500和通常的处理。存储器504可以被用于存储处理器502在执行操作时所使用的数据。
该服务器例如为CSP服务器。
前述图4实施例中的服务部署方法中的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对服务部署方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例还提供一种服务管理装置,请参考图9所示,该服务部署装置包括:接收单元601,用于接收发送端发送的针对第一服务的第一实例标识ID的管理请求,管理请求包括第一实例ID以及欲执行的计划和/或节点的方法;处理单元602,用于根据第一实例ID获取第一服务的第一描述文件;根据第一描述文件中记录的第二服务的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,确定欲执行的计划和/或节点的方法的执行受到第二服务的限制;发送单元603,用于发送拒绝执行欲执行的计划和/或节点的方法的消息给发送端。
可选的,欲执行的计划为删除计划、重启计划和停止计划中的至少一个;欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
前述图5实施例中的服务部署方法中的各种变化方式和具体实例同样适用于本实施例的服务管理装置,通过前述对服务部署方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务管理装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例还包括一种服务器,请参考图10所示,为本申请实施例中的服务器的系统框图。如图10所示,该服务器包括:接收器701,用于接收发送端发送的针对第一服务的第一实例标识ID的管理请求,管理请求包括第一实例ID以及欲执行的计划和/或节点的方法;处理器702,用于根据第一实例ID获取第一服务的第一描述文件;根据第一描述文件中记录的第二服务的第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系,确定欲执行的计划和/或节点的方法的执行受到第二服务的限制;发送器703,用于发送拒绝执行欲执行的计划和/或节点的方法的消息给发送端。
可选的,欲执行的计划为删除计划、重启计划和停止计划中的至少一个;欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
进一步,在图10中,总线架构(用总线700来代表),总线700可以包括任意数量的互联的总线和桥,总线700将包括由处理器702代表的一个或多个处理器和存储器704代表的存储器的各种电路链接在一起。总线700还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口705在总线700和处理器702、接收器701、发送器703之间提供接口。接收器701和发送器703用于服务器与外部设备进行数据通信。
处理器702负责管理总线700和通常的处理。存储器704可以被用于存储处理器702在执行操作时所使用的数据。
该服务器例如为CSP服务器。
前述图5实施例中的服务管理方法中的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对服务管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例还提供一种服务管理装置,请参考图11所示,该服务部署装置包括:接收单元801,用于接收针对第二服务的第二实例标识ID的删除请求,删除请求中包含第二实例ID和欲执行的删除计划;处理单元802,用于根据第二实例ID获取第二服务的服务部署包,服务部署包包括删除计划和第二描述文件;确定第二描述文件中包括第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息;在删除计划的第一个节点的第一个方法前插入标记,标记表示解除第二服务对第一实例ID的计划和/或第一实例ID的节点的方法的执行的限制;执行插入标记后的删除计划。
可选的,处理单元802具体用于:根据第一实例ID获取第一服务的第一描述文件;删除第一描述文件中记录的第二实例ID和第一实例ID的计划和/或第一实例ID的节点的方法的对应关系;从第一方法开始执行欲执行的删除计划。
前述图6实施例中的服务部署方法中的各种变化方式和具体实例同样适用于本实施例的服务管理装置,通过前述对服务部署方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务管理装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于同一发明构思,本申请实施例还包括一种服务器,请参考图12所示,为本申请实施例中的服务器的系统框图。如图10所示,该服务器包括:接收器901,用于接收针对第二服务的第二实例标识ID的删除请求,删除请求中包含第二实例ID和欲执行的删除计划;处理器902,用于根据第二实例ID获取第二服务的服务部署包,服务部署包包括删除计划和第二描述文件;确定第二描述文件中包括第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息;在删除计划的第一个节点的第一个方法前插入标记,标记表示解除第二服务对第一实例ID的计划和/或第一实例ID的节点的方法的执行的限制;执行插入标记后的删除计划。
可选的,处理器902具体用于:根据第一实例ID获取第一服务的第一描述文件;删除第一描述文件中记录的第二实例ID和第一实例ID的计划和/或第一实例ID的节点的方法的对应关系;从第一方法开始执行欲执行的删除计划。
进一步,在图12中,总线架构(用总线900来代表),总线900可以包括任意数量的互联的总线和桥,总线900将包括由处理器902代表的一个或多个处理器和存储器904代表的存储器的各种电路链接在一起。总线900还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口905在总线900和处理器902、接收器901、发送器903之间提供接口。接收器901和发送器903用于服务器与外部设备进行数据通信。
处理器902负责管理总线900和通常的处理。存储器904可以被用于存储处理器902在执行操作时所使用的数据。
该服务器例如为CSP服务器。
前述图6实施例中的服务管理方法中的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对服务管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例中,在第二服务的第二描述文件中包括有第二服务限制执行第一服务的第一实例ID的计划和/或第一实例ID的节点的方法的信息,其中,第一服务为已部署的服务。因此,当部署新的服务,即第二服务时,除了执行部署计划部署第二服务之外,还根据所述信息,在第一服务的第一描述文件中记录第二实例ID与第一实例ID的计划和/或第一实例ID的节点的方法的对应关系。因为第二描述文件中只要包含需要限制执行的计划和/或方法的信息,而不用将第一服务部署包中的所有内容都写入,所以节约了开发服务部署包的资源以及传输资源。而且,只要将第二实例ID和所述第一实例ID的计划和/或第一实例ID的节点的方法的对应关系写入第一服务的描述文件中即可,而不用再次部署第一服务的部署包中的内容,所以节约了服务器的部署资源。进一步,通过限制执行第一实例ID的计划和/或节点的方法,可以避免因为对这些计划和/或方法的执行而导致第二服务无法运行。
图13为本发明又一实施例提供的一种服务部署的方法的流程图,本实施例与图4所述实施例的区别在于,本实施例中,CSP服务器将第二实例与第一实例的计划和/或第二实例与第一实例的节点的方法的对应关系记录在记录文件中,而不是第一服务的描述文件(即图4所述实施例中的第一描述文件)中。由于这种对应关系记录在记录文件中,而不是第一服务的描述文件中,所以后续针对第一服务继续部署的其他实例,将不受到第二服务的第二实例的影响。如图13所示,本实施例提供的方法包括以下步骤:
步骤1301:接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;
具体的,第二服务的服务部署包的信息可以是服务部署包标识或者是保存服务部署包的统一资源标识符(UniformResourceIdentifier,URI),本发明对服务部署包的信息的具体形式不做限定。
步骤1302:根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;
具体的,第二服务的服务部署包可以在CSC设备发送服务部署请求之前,发送给CSP服务器保存在本地,或者是由CSC设备上传到网络侧的第三方设备上,亦或者是随着服务部署请求一起发送给CSP设备。需说明的是,这里的第二服务的描述文件即是图4所述实施例中的第二描述文件。
步骤1301-1302主要是由CSC设备向CSP服务器发送服务部署请求,CSP服务器根据服务部署请求中的服务部署包的信息,获取待部署的服务部部署包。本发明对CSC设备什么时候以什么样的方式上传服务部署包,以及CSP服务器如何根据服务部署包的信息,获取待部署的服务部署包不做限定。
步骤1303:在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;
步骤1304:确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;
步骤1303和步骤1304与图4所述的实施例相同,相关内容参阅图4所述的实施例的方法,这里不再赘述。
步骤1305:根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
具体的,可以根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
步骤1305与图4所述的实施例步骤104-步骤105的区别在于,本实施例中所述第二实例与所述第一实例的计划的对应关系和/或所述第二实例与所述第一实例的节点的方法的对应关系是记录在记录文件中,而不是第一服务的描述文件中的。为了突出区别点,下面以图4所述的实施例中的一个例子来描述其中的区别:
假设第一服务和第二服务的服务部署包均包括两个计划:部署计划(BuildPlan)和删除计划(TerminatePlan)。第一服务和第二服务中的每个节点都有4个方法,分别为:开始、配置、停止和移除。在实际运用中,服务部署包还可以包括其他计划,例如更新计划。每个节点的方法也可以是其他方法,例如重启、更新,本申请不作具体限定。
此时,假设第一服务(ServiceA)已经部署完成,即在云平台上运行。第一服务(ServiceA)的服务实例,即第一实例ID为ServiceA-1;第一实例的记录文件,例如称为记录文件A。进一步,CSP服务器还记录了记录文件A与第一实例的映射关系。需要说明的是,第一服务在不同的服务器上进行部署,就会有不同的服务实例,在本实施例中,假设第一服务在该服务器上的部署的实例为第一实例,对于第一服务的其他服务实例,实施的方法相同。
假设第二服务为ServiceB,第二服务的描述文件为描述文件B,其中描述文件B的文件名为ServiceB.ste。
当需要部署第二服务时,CSC设备将服务部署请求发送给CSP服务器。即CSP服务器执行本实施例方法中的步骤1301,接收服务部署请求,CSP服务器根据服务部署请求中的服务部署包的信息,获取第二服务的服务部署包。该第二服务的服务部署包中包括部署计划和描述文件B。在其他实施例中,该服务部署包中还可以包括其他计划,例如删除计划,重启计划等。本实例并不限定服务部署包的具体获取方式。
在获取到第二服务的服务部署包后,可以根据第二服务的描述文件B执行部署计划。
然后执行步骤1303,在部署完成后,获取已部署的第二服务的第二实例ID。其中,执行部署计划为本领域技术人员所熟知的内容,所以在此不再赘述。获取第二实例ID,具体例如是CSP服务器为ServiceB创建或分配一个实例ID为ServiceB-1。
接下来执行步骤1304,确定所述第二服务的描述文件中包括限制信息。步骤1304与图4所述的实施例相同,这里不再赘述。
接下来执行步骤1305,即根据第一实例ID,获取第一实例的记录文件。例如,CSP服务器根据记录的记录文件和实例ID对应的映射关系,查询到与第一实例ID对应的记录文件。在本实施例中,例如获得了记录文件A。根据所述限制信息,在记录文件A中记录所述第二实例与所述第一实例的计划的对应关系,和/或根据记录文件A,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例与所述第一实例的节点的方法的对应关系。
具体的,一个服务实例包含多个节点,在运行时,每个实例对应一个记录文件,每个节点也各自对应一个记录文件。对计划的限制关系需写入实例的记录文件,对节点方法的限制关系需写入节点的记录文件。可以按照代码(7)在记录文件A的LimitedPlans字段中增加以下信息:
代码(7)
<LimitedPlans>//限制的计划
<Planid=“TerminatePlan”appliesFromService=“ServiceB-1”>//计划的id为删除计划,请求的服务实例为ServiceB-1
</LimitedPlans>
根据记录文件A获取节点AppA的记录文件A_1,按照代码(8)在记录文件A_1的LimitedOperations字段中增加以下限制信息:
代码(8)
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
根据记录文件A获取节点AppADb的记录文件A_2,按照代码(9)在记录文件A_2的LimitedOperations字段中增加以下限制信息:
代码(9)
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
根据记录文件A获取节点Apache的记录文件A_3,按照代码(10)在记录文件A_3的LimitedOperations字段中增加以下限制信息:
代码(10)
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
根据记录文件A获取节点MySql的记录文件A_4,按照代码(11)在记录文件A_4的LimitedOperations字段中增加以下限制信息:
代码(11)
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
在实际运用中,除前述实施例中所描述的方式,还可以采用其他方式在记录文件中描述第二服务限制执行第一实例的计划和/或限制执行第一实例的节点方法,本申请对此不作限定。另外,具体如何记录第二实例和第一实例的计划和/或第一实例ID的节点的方法的对应关系,本申请对此也不作限定。
由以上描述可以看出,因为第二服务的描述文件中只要包含限制信息,而不用将第一服务部署包中的所有内容都写入,所以节约了开发服务部署包描述文件的资源以及传输资源。而且,只要将第二实例和所述第一实例的计划的对应关系写入第一服务的第一实例的记录文件中,和/或第二实例和第一实例的节点的方法的对应关系写入第一服务的第一实例的节点记录文件中即可,而不用再次部署第一服务的部署包中的内容,所以节约了服务器的部署资源。进一步,通过限制执行第一实例的计划和/或节点的方法,可以避免因为对这些计划和/或节点的方法的执行而导致第二服务无法运行。
当通过图13所述实施例所述的服务部署方法部署第二服务之后,会涉及到对第一服务和第二服务的管理,接下来将先描述对第一服务的管理过程。
请参考图14所示,为本申请实施例中服务管理方法的流程图,该方法包括以下内容:
步骤1401:接收发送端发送的实例管理请求,所述实例管理请求包括第一实例ID以及欲执行的计划ID和/或节点的方法ID;
举例来说,例如,CSC设备想要执行ServiceA的实例ServiceA-1中的某个计划或节点的方法,例如删除计划(TerminatePlan)。于是通过客户端向CSP服务器发送实例管理请求,该实例管理请求中包含ServiceA实例的IDServiceA-1和欲执行的计划IDTerminatePlan。
步骤1402:根据所述第一实例ID,获取所述第一实例的记录文件,和/或根据所述第一实例的记录文件获取第一实例的节点记录文件;
其中,第一实例的记录文件中记录了第二服务的第二实例ID与第一实例ID的计划的对应关系,第一实例的节点记录文件分别记录了第二实例ID与第一实例各个的节点的方法ID的对应关系。
举例来说,所述对应关系具体是通过图13所述实施例中步骤1301至步骤1305所描述的方式写入的,也可以是通过其他方式写入的,本申请不作限定。
根据第一实例ID获取第一服务的第一实例的记录文件,以及根据第一实例的记录文件获取第一实例的节点的记录文件的过程参阅图13所述实施例的相关描述,此处不再赘述。
步骤1401-步骤1402用于获取第一实例的记录文件和/或第一实例的节点记录文件。当需要执行的是节点的方法时,可选的,步骤1401-步骤1402也可以为:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;根据所述欲执行的节点ID获取欲执行的节点记录文件。
步骤1403:确定欲执行的计划和/或节点的方法的执行受到第二服务的第二实例的限制;
具体来说,通过检测第一实例的记录文件,确定欲执行的计划ID是否位于所述第二实例ID与所述第一实例的计划ID的对应关系中,和/或通过检测第一实例的节点记录文件,确定欲执行的节点的方法ID是否位于所述第二实例ID与所述第一实例的节点的方法ID的对应关系中。如果所述第一实例的记录文件中记录了第二服务的第二实例与所述第一实例的计划的对应关系,则确定所述欲执行的计划的执行受到所述第二实例的限制;或者如果第一实例的节点记录文件中记录了所述第二实例与所述第一实例的节点的方法的对应关系,确定所述节点的方法的执行受到所述第二实例的限制。
举例来说,检查记录文件A,确定ServiceB的实例ServiceB-1对实例ServiceA-1的TerminatePlan的限制。具体来说就是检查记录文件A的LimitedPlans字段,如果“TerminatePlan”出现在“LimitedPlans”中,说明删除计划被限制执行了,反之则没有。检查节点的方法时,首先需要根据记录文件A获取节点记录文件,然后分别检查各个节点记录文件的“LimitedOperations”字段,如果欲执行的节点的方法出现在“LimitedOperations”中,说明该方法被限制执行了。
步骤1404:发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
例如通过步骤1403的确定过程,确定出欲执行的计划和/或方法受到第二服务的限制,那么就发送拒绝消息给所述发送端。
可选的,拒绝消息中可以包含第二服务的第二实例ID。例如包含ServiceB的服务实例IDServiceB-1,以说明是ServiceB-1对实例ServiceA-1做了限制,从而拒绝了该请求。如此可以保证不影响第二服务的正常运行。
关于第二实例ID,具体即为代码(7至11)中的属性“appliesFromService”的值,所以读取该属性的值,即可获得第二服务的第二实例ID,即ServiceB-1。
可选的,当确定欲执行的计划和/或方法的执行没有受到第二服务的限制时,就可以执行欲执行的计划和/或方法,例如删除计划。
可选的,欲执行的计划为删除计划、更新计划、重启计划和停止计划中的至少一个;欲执行的方法为删除方法、更新方法、重启方法和停止方法中的至少一个。
当然,在实际运用中,还可以是其他计划和/或节点的方法,本申请不作限定。
由以上描述可以看出,在对第一服务进行管理时,先要确定欲执行的计划和/或方法的执行没有受到其它服务的限制,如果欲执行的计划和/或节点的方法的执行受到其它服务的限制的话,就拒绝请求。这样一来,在对第一服务进行管理时,就可以保证不影响限制了该计划和/或节点的方法的执行的服务的正常运行。
接下来再描述对第二服务的管理过程,请参考图15所示,为本实施例中对第二服务的管理方法的流程图。该方法包括以下内容:
步骤1501:接收实例删除请求,删除请求中包含第二实例ID和欲执行的删除计划ID。
举例来说,删除请求中包含的第二实例ID为ServiceB-1。删除请求中包括的欲执行的删除计划的为TerminatePlan。
步骤1502:根据第二实例ID获取第二服务的服务部署包,所述服务部署包包括所述欲执行的删除计划ID对应的删除计划和第二服务的描述文件;
举例来说,通过实例IDServiceB-1获取第二服务的服务部署包,该服务部署包包括描述文件B和TerminatePlan。
步骤1503:确定第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息。
具体来说,如果描述文件B中有对第一实例的计划和/或节点的方法的限制,那么描述文件B中就会包括如前述代码(3)和代码(6),所以可以通过检查描述文件B中是否包含这样的代码段来判断第二服务是否有对其他服务实例的计划和/或节点的方法的执行的限制。并且,可以从该代码段中的属性“appliesToService”的值获知受限制的服务实例ID。
在本实施例中,第一服务的第一实例泛指所有受到第二服务限制的实例。
假设第二服务为ServiceB,第一服务为ServiceA,那么通过前述的实施例描述可知,描述文件B中有对ServiceA-1的计划和/或节点的方法的执行的限制。
当结果为没有时,那么就直接执行删除计划即可。
当结果为有时,那么接下来执行步骤1504:
步骤1504:根据所述限制信息,获取所述第一实例ID;
步骤1505:根据所述第一实例ID,获取所述第一实例的记录文件;
步骤1506:删除所述第一实例的记录文件中第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;
步骤1507:根据所述第二服务的描述文件执行所述删除计划。
具体的,将第一实例的记录文件和/或各节点记录文件中的对应关系删除,以此来解除第二实例对第一实例的计划和/或节点的方法的执行的限制,使得该计划和/或方法能够被执行。
其中,通过第二服务的描述文件获取第一实例ID,可以如前所述,通过该描述文件中的代码段中的属性“appliesToService”的值获知受限制的服务的实例ID。具体请参看图4所述实施例的相关描述,这里不再赘述。通过第一实例ID获取第一服务的第一实例的记录文件以及根据第一实例的记录文件获取各节点的记录文件的步骤也可以按照前述所描述的方式来实施,这里不再赘述。
删除记录文件中记录的对应关系,具体来说,就是查找第一实例的记录文件A的LimitedPlans元素和/或节点记录文件(如记录文件A_1)的LimitedOperations元素是否包含属性”appliesFromService”值为ServiceB-1的子元素,并删除这些子元素。
当在步骤1506中执行完删除对应关系相关的内容之后,即可以执行删除计划中各个节点上的各个方法,该部分为本领域技术人员所熟知的内容,所以在此不再赘述。
由以上描述可以看出,即使第二服务对第一服务的实例的计划和/或节点的方法的执行有限制,但是也可以单独管理第二服务,保证了第二服务管理的独立性,提高了服务管理的灵活性。
为了进一步提高服务部署的灵活性,图16为本发明又一实施例提供的一种服务部署的方法的流程图。本实施例与图4、图13所述实施例的区别在于,本实施例中,第二服务的描述文件中不记录第二服务对第一服务的第一实例的限制信息。当需要部署第二服务,且要求引用第一服务的第一实例时,CSC设备通过在发送给CSP服务器的服务部署请求中携带所述限制信息。CSP服务器在第二实例的记录文件中记录关联信息,指示第二实例与第一实例存在关联关系;并且根据所述限制信息,在第一实例的记录文件中记录所述第二实例与所述第一实例的计划的对应关系和/或在第一实例的节点记录文件中记录所述第二实例与所述第一实例的节点的方法的对应关系。当CSP服务器管理第二实例时,就会根据该关联信息去检查第一实例的记录文件和/或第一实例的节点记录文件。由于这种限制关系不是记录在第一服务的描述文件中,所以后续部署第二服务时,可以有其他的限制关系,如可以实现限制执行第三服务的第三实例的计划而对第一服务的第一实例的计划没有限制。如图16所示,本实施例提供的方法包括以下步骤:
步骤1601:接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;
步骤1602:根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;
步骤1603:在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;
步骤1604:根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;
步骤1605:根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
本实例与图13所述实施例相同的步骤或方法,请参阅图13实施例的相关内容,这里不再赘述。下面依据本实施例的方法,介绍一种可选实现方式。
可选的,在第二服务的描述文件的服务模板(ServiceTemplate)中包括限制策略模板(LimitedPolicytemplates)。所述限制策略模板结合输入的变量,即可生成相应的限制策略信息。具体的,为了支持对输入变量的定义和获取,本实施例采用YAML语言定义描述文件。其中,第二服务的描述文件B包含以下代码(代码12):
代码(12)
ServiceTemplate:#服务模板定义
inputs:#输入变量的定义
reference_instance_id_01:#被请求的第一实例ID
type:string#变量类型
limited_plans_of_id_01:#第一实例被限制的计划ID
type:string#变量类型
node_01_of_id_01:#第一实例的第一个被限制的节点ID
type:string#变量类型
limited_operations_of_node_01_of_id_01:#第一实例的第一节点的被限制方法ID
type:string#变量类型
#其他实例/节点的限制计划/方法的定义方式类似
Limited_Policy_templates:#限制策略模板定义
-name:“limitedpolicy01”#限制策略名称
-rule:limit.plans(get_input(reference_instance_id_01),
get_input(limited_plans_of_id_01)),
limit.operations(get_input(node_01_of_id_01),get_input
(limited_operations_of_node_01_of_id_01))#获取输入的被引用的实例ID,被
限制的计划和方法的信息,其他节点和实例的限制方式类似
其中,Limited_Policy_templates字段定义限制策略的模板,rule描述该限制策略的具体规则,包含限制计划(limit.plans)和限制方法(limit.operations)两种功能,限制计划功能需要指定请求的实例ID和被限制的计划ID,限制方法(limit.operations)功能需要指定节点ID和被限制的方法ID。get_input说明通过输入获取这些信息,当然也可以在描述文件中直接指定其中的部分或全部信息,若在描述文件中指定全部信息,那么本实施例将与图13所述实施例相同。inputs字段定义需要通过输入获取的信息来确定。在本实施例中这些信息包含在服务部署请求中,假设这里被请求的服务实例为ServiceA-1,受限制的计划为删除计划(TerminatePlan),受限制的节点ID为AppA,AppADb,Apache和MySql,受限制的节点方法为stop,那么在服务部署请求中可以包含以下限制信息:
代码(13)
reference_instance_id_01:“ServiceA-1”
limited_plans_of_id_01:“TermiatePlan”
node_01_of_id_01:“AppA”
limited_operations_of_node_01_of_id_01:“stop”,”remove”
node_02_of_id_01:“AppADb”
limited_operations_of_node_02_of_id_01:“stop”,”remove”
node_03_of_id_01:”Apache”
limited_operations_of_node_03_of_id_01:“stop”,”remove”
node_04_of_id_01:”MySql”
limited_operations_of_node_04_of_id_01:“stop”,”remove”
接下来需要在第二实例的记录文件B中添加关联信息,所述关联信息至少包括第一实例ID:
代码(14)
<AppliesToServices>#被请求的服务实例
<ServiceInstanceid=”ServiceA-1”>#被请求的服务实例ID为ServiceA-1
<\AppliesToServices>#结束被请求的服务实例字段
第二实例的记录文件B也可以包括被限制的第一实例的计划和节点的方法的信息,本实施例并不限定除第一实例ID之外的内容。
CSP服务器根据服务部署请求中的限制信息,即可获取ServiceB限制执行第一服务的第一实例ServiceA-1的计划(删除计划)和所有节点的方法(Stop和Remove)的信息,并且能够获取到第一实例ID,在本实施例中,第一实例ID为ServiceA-1。
根据第一实例ID,获取第一实例的记录文件。具体来说,例如是CSP服务器根据记录的记录文件和实例ID对应的映射关系,查询到与第一实例对应的记录文件。在本实施例中,例如获得了记录文件A。
执行步骤1605,CSP服务器在记录文件A的LimitedPlans字段中增加以下信息:
代码(15)
<LimitedPlans>//限制的计划
<Planid=“TerminatePlan”appliesFromService=“ServiceB-1”>//计划的id为删除计划,请求的服务实例为ServiceB-1
</LimitedPlans>//根据记录文件A获取节点AppA的记录文件A_1,在记录文件A_1的LimitedOperations字段中增加以下限制信息:
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
根据记录文件A获取节点AppADb的记录文件A_2,在记录文件A_2的LimitedOperations字段中增加以下限制信息:
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
根据记录文件A获取节点Apache的记录文件A_3,在记录文件A_3的LimitedOperations字段中增加以下限制信息:
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
根据记录文件A获取节点MySql的记录文件A_4,在记录文件A_4的LimitedOperations字段中增加以下限制信息:
<LimitedOperations>//限制的方法
<Operationid=“Stop”AppliesFromService=”ServiceB-1”>//方法的id为Stop,请求实例为ServiceB-1
<Operationid=“Remove”AppliesFromService=”ServiceB-1”>//方法的id为Remove,请求的服务实例为ServiceB-1
<\LimitedOperations>
在实际运用中,除前述实施例中所描述的方式,还可以采用其他方式在第二服务的部署请求和描述文件中描述第二服务限制执行第一实例的计划和/或第一实例的节点方法,本申请对此不作限定。另外,具体如何记录第二实例和第一实例的计划和/或第一实例ID的节点的方法的对应关系,本申请对此也不作限定。
有上述描述可以看出,本实施例没有将第二服务对第一服务的第一实例的限制信息包含在第二服务的描述文件中,而是随着服务部署请求一起发送给CSP服务器的。因此,相对于图13所述的实施例描述的服务部署方法,本实施例在部署服务的时候,将具有更大的灵活性。例如,可以实现部署的第二服务的实例A,限制第一服务的实例B的删除计划;部署的第二服务的实例C,仅限制第一服务的实例D的删除计划,而不限制第一服务的实例B的删除计划。
当通过图16所述的服务部署方法部署第二服务之后,会涉及到对第一服务和第二服务的管理。其中,对第一服务的管理过程与图14所述的实施例描述的方法相同,这里不再赘述。对第二服务的管理过程,请参考图17所示,为本实施例中对第二服务的管理方法的流程图。该方法包括以下内容:
步骤1701:接收实例删除请求,所述实例删除请求中包含第二实例标识ID和欲执行的删除计划ID;
步骤1702:根据所述第二实例ID,获取对应的第二实例的记录文件和所述服务部署包,所述服务部署包中还包括所述欲执行的删除计划ID对应的删除计划;
步骤1703:确定所述第二实例的记录文件中包括关联信息,所述关联信息包括第一实例ID;
步骤1704:根据所述第一实例ID,获取所述第一实例的记录文件;
步骤1705:删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;
步骤1706:执行所述删除计划。
本实例与图15所述实施例相同的步骤或方法,请参阅图15实施例的相关内容,这里不再赘述。
由以上描述可以看出,即使第二服务对第一服务的实例的计划和/或节点的方法的执行有限制,但是也可以单独管理第二服务,保证了第二服务管理的独立性,提高了服务管理的灵活性。
基于与图13所述实施例同一发明构思,本申请实施例还提供一种服务部署装置,请参考图18所示,该服务部署装置包括:接收单元1801,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;处理单元1802,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
其中,所述处理单元1802,用于根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
可选的,接收单元1801还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;
所述处理单元1802,还用于根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二服务的描述文件中包括所述限制信息;根据所述限制信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
可选的,装置还包括发送单元1803,
所述接收单元1801还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例标识ID以及欲执行的计划ID;
所述处理单元1802还用于:根据所述第一实例ID,获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的第二服务的第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制,
所述发送单元1803用于:发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
所述接收单元1801还用于:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;
所述处理单元1802还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的方法的ID对应的方法的执行受到所述第二实例的限制;
所述发送单元1803用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
所述接收单元1801还用于:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;
所述处理单元1802还用于:根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元1803用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
前述图13实施例中的服务部署方法中的各种变化方式和具体实例同样适用于本实施例的服务部署装置,通过前述对服务部署方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务部署装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于与图16所述实施例同一发明构思,本申请实施例还提供一种服务部署装置,请参考图19所示,该服务部署装置包括:接收单元1901,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;处理单元1902,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
其中,所述处理单元1902,用于根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:根据所述限制信息,获取第一实例ID;根据第一实例ID,获取第一实例的记录文件;在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
可选的,接收单元1901还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;
所述处理单元1902,还用于根据所述第二实例ID获取所述第二实例的记录文件;确定所述第二实例的记录文件中包括所述关联信息;根据所述关联信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;执行所述欲执行的删除计划ID对应的删除计划。
可选的,装置还包括发送单元1903,
所述接收单元1901还用于:在所述处理单元在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的计划ID;
所述处理单元1902还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制;
所述发送单元1903用于:发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
所述接收单元1901还用于:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;
所述处理单元1902还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元1903用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
所述接收单元1901还用于:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;
所述处理单元1902还用于:根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元1903用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
前述图16实施例中的服务部署方法中的各种变化方式和具体实例同样适用于本实施例的服务部署装置,通过前述对服务部署方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务部署装置的实施方法,所以为了说明书的简洁,在此不再详述。
基于与图13所述实施例同一发明构思,本申请实施例还包括一种服务器,请参考图20所示,为本申请实施例中的服务器的系统框图。如图20所示,该服务器包括:接收器2001,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;处理器2002,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
可选的,接收器2001还用于接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID。处理器2002还用于根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二服务的描述文件中包括所述限制信息;根据所述限制信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
可选的,接收器2001还用于接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID以及欲执行的计划ID。处理器2002还用于根据所述第一实例ID,获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制。可选的,所述服务器还包括发送器2003用于发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
可选的,接收器2001还用于接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID。处理器2002还用于根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制。可选的,所述服务器还包括发送器2003用于发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
可选的,接收器2001还用于接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID。处理器2002还用于根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制。可选的,所述服务器还包括发送器2003用于发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
进一步,在图20中,总线架构(用总线2000来代表),总线2000可以包括任意数量的互联的总线和桥,总线2000将包括由处理器2002代表的一个或多个处理器和存储器2004代表的存储器的各种电路链接在一起。总线2000还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口2005在总线2000和处理器2002、接收器2001、发送器2003之间提供接口。接收器2001和发送器2003用于服务器与外部设备进行数据通信。
处理器2002负责管理总线2000和通常的处理。存储器2004可以被用于存储处理器2002在执行操作时所使用的数据。
该服务器例如为CSP服务器。
前述图13实施例中的服务管理方法中的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对服务管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
基于与图16所述实施例同一发明构思,本申请实施例还包括一种服务器,请参考图21所示,为本申请实施例中的服务器的系统框图。如图21所示,该服务器包括:接收器2101,用于接收接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息。处理器2102,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
可选的,接收器2101还用于接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID。处理器2102还用于根据所述第二实例ID获取所述第二实例的记录文件和所述服务部署包,所述服务部署包中还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二实例的记录文件中包括所述关联信息;根据所述关联信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
可选的,接收器2101还用于接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的计划ID。处理器2102还用于根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制。可选的,所述服务器还包括发送器2103用于发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
可选的,接收器2101还用于接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID。处理器2102还用于根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制。可选的,所述服务器还包括发送器2103用于发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
可选的,接收器2101还用于接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID。处理器2102还用于根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制。可选的,所述服务器还包括发送器2103用于发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
进一步,在图21中,总线架构(用总线2100来代表),总线2100可以包括任意数量的互联的总线和桥,总线2100将包括由处理器2102代表的一个或多个处理器和存储器2104代表的存储器的各种电路链接在一起。总线2100还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口2105在总线2100和处理器2102、接收器2101、发送器2103之间提供接口。接收器2101和发送器2103用于服务器与外部设备进行数据通信。
处理器2102负责管理总线2100和通常的处理。存储器2104可以被用于存储处理器2002在执行操作时所使用的数据。
该服务器例如为CSP服务器。
前述图16实施例中的服务管理方法中的各种变化方式和具体实例同样适用于本实施例的服务器,通过前述对服务管理方法的详细描述,本领域技术人员可以清楚的知道本实施例中服务器的实施方法,所以为了说明书的简洁,在此不再详述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (36)
1.一种服务部署方法,其特征在于,包括:
接收第二服务的服务部署包,其中,所述服务部署包包括部署计划和第二描述文件;
在根据所述第二描述文件执行所述部署计划后,获取已被部署的所述第二服务的第二实例标识ID;
确定所述第二描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;
根据所述第一实例ID,获取所述第一服务的第一描述文件;
根据所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息,在所述第一描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系。
2.如权利要求1所述的方法,其特征在于,在所述第一描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,所述方法还包括:
接收针对所述第二实例ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述删除计划;
确定所述第二描述文件中包括所述第二服务限制执行所述第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;
在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;
执行插入所述标记后的删除计划。
3.如权利要求2所述的方法,其特征在于,执行插入所述标记后的删除计划,包括:
从所述第二描述文件中获取所述第一实例ID;
根据所述第一实例ID获取所述第一描述文件;
删除所述第一描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;
从所述第一方法开始执行所述欲执行的删除计划。
4.如权利要求1所述的方法,其特征在于,在所述第一描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,所述方法还包括:
接收发送端发送的针对所述第一实例ID的管理请求,所述管理请求包括所述第一实例ID和欲执行的计划和/或节点的方法;
根据所述第一实例ID获取所述第一描述文件;
根据所述第一描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
5.一种服务管理方法,其特征在于,包括:
接收发送端发送的针对第一服务的第一实例标识ID的管理请求,所述管理请求包括所述第一实例ID以及欲执行的计划和/或节点的方法;
根据所述第一实例ID获取所述第一服务的第一描述文件;
根据所述第一描述文件中记录的第二服务的第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
6.如权利要求5所述的方法,其特征在于,所述欲执行的计划为删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
7.一种服务管理方法,其特征在于,包括:
接收针对第二服务的第二实例标识ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
根据所述第二实例ID获取所述第二服务的服务部署包,所述服务部署包包括所述删除计划和第二描述文件;
确定所述第二描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;
在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;
执行插入所述标记后的删除计划。
8.如权利要求7所述的方法,其特征在于,执行插入所述标记后的删除计划,包括:
根据所述第一实例ID获取所述第一服务的第一描述文件;
删除所述第一描述文件中记录的所述第二实例ID和所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;
从所述第一方法开始执行所述欲执行的删除计划。
9.一种服务部署装置,其特征在于,包括:
接收单元,用于接收第二服务的服务部署包,其中,所述服务部署包包括部署计划和第二描述文件;
处理单元,用于在根据所述第二描述文件执行所述部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;根据所述第一实例ID,获取所述第一服务的第一描述文件;根据所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息,在所述第一描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系。
10.如权利要求9所述的装置,其特征在于,所述接收单元还用于:在所述处理单元在所述所述第一描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,接收针对所述第二实例ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
所述处理单元还用于:根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述删除计划;确定所述第二描述文件中包括所述第二服务限制执行所述第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;执行插入所述标记后的删除计划。
11.如权利要求10所述的装置,其特征在于,所述处理单元具体用于:从所述第二描述文件中获取所述第一实例ID;根据所述第一实例ID获取所述第一描述文件;删除所述第一描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;从所述第一方法开始执行所述欲执行的删除计划。
12.如权利要求9所述的装置,其特征在于,所述装置还包括发送单元,
所述接收单元还用于:在所述处理单元在所述所述第一描述文件中记录所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系之后,接收发送端发送的针对所述第一实例ID的管理请求,所述管理请求包括所述第一实例ID和欲执行的计划和/或节点的方法;
所述处理单元还用于:根据所述第一实例ID获取所述第一描述文件;
根据所述第一描述文件中记录的所述第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
所述发送单元用于:发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
13.一种服务管理装置,其特征在于,包括:
接收单元,用于接收发送端发送的针对第一服务的第一实例标识ID的管理请求,所述管理请求包括所述第一实例ID以及欲执行的计划和/或节点的方法;
处理单元,用于根据所述第一实例ID获取所述第一服务的第一描述文件;
根据所述第一描述文件中记录的第二服务的第二实例ID与所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系,确定所述欲执行的计划和/或节点的方法的执行受到所述第二服务的限制;
发送单元,用于发送拒绝执行所述欲执行的计划和/或节点的方法的消息给所述发送端。
14.如权利要求13所述的装置,其特征在于,所述欲执行的计划为删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法为删除方法、重启方法和停止方法中的至少一个。
15.一种服务管理装置,其特征在于,包括:
接收单元,用于接收针对第二服务的第二实例标识ID的删除请求,所述删除请求中包含所述第二实例ID和欲执行的删除计划;
处理单元,用于根据所述第二实例ID获取所述第二服务的服务部署包,所述服务部署包包括所述删除计划和第二描述文件;确定所述第二描述文件中包括所述第二服务限制执行第一服务的第一实例ID的计划和/或所述第一实例ID的节点的方法的信息;在所述删除计划的第一个节点的第一个方法前插入标记,所述标记表示解除所述第二服务对所述第一实例ID的计划和/或所述第一实例ID的节点的方法的执行的限制;执行插入所述标记后的删除计划。
16.如权利要求15所述的装置,其特征在于,所述处理单元具体用于:根据所述第一实例ID获取所述第一服务的第一描述文件;删除所述第一描述文件中记录的所述第二实例ID和所述第一实例ID的计划和/或所述第一实例ID的节点的方法的对应关系;从所述第一方法开始执行所述欲执行的删除计划。
17.一种服务部署方法,其特征在于,包括:
接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;
根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;
在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;
确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;
根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
18.如权利要求17所述的方法,其特征在于,所述根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:
根据所述限制信息,获取第一实例ID;
根据第一实例ID,获取第一实例的记录文件;
在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
19.如权利要求17所述的方法,其特征在于,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:
接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;
根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述欲执行的删除计划ID对应的删除计划;
确定所述第二服务的描述文件中包括所述限制信息;
根据所述限制信息,获取所述第一实例ID;
根据所述第一实例ID,获取所述第一实例的记录文件;
删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;
根据所述第二服务的描述文件执行所述删除计划。
20.如权利要求17所述的方法,其特征在于,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:
接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID以及欲执行的计划ID;
根据所述第一实例ID,获取所述第一实例的记录文件;
根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制,
发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;
根据所述第一实例ID获取所述第一实例的记录文件;
根据所述第一实例的记录文件,获取第一实例的节点记录文件;
根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;
根据所述欲执行的节点ID获取欲执行的节点记录文件;
根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
21.如权利要求20所述的方法,其特征在于,所述欲执行的计划为更新计划、删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法为更新方法、删除方法、重启方法和停止方法中的至少一个。
22.一种服务部署装置,其特征在于,包括:
接收单元,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息;
处理单元,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID;确定所述第二服务的描述文件中包括限制信息,所述限制信息包括所述第二服务限制执行第一服务的第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点ID的方法的对应关系。
23.如权利要求22所述的装置,其特征在于,所述处理单元,用于根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:
根据所述限制信息,获取第一实例ID;
根据第一实例ID,获取第一实例的记录文件;
在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
24.如权利要求22所述的装置,其特征在于,所述接收单元还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点ID的方法的对应关系之后,接收接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;
所述处理单元,还用于根据所述第二实例ID获取所述服务部署包,所述服务部署包还包括所述欲执行的删除计划ID对应的删除计划;确定所述第二服务的描述文件中包括所述限制信息;根据所述限制信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
25.如权利要求22所述的装置,其特征在于,所述装置还包括发送单元,
所述接收单元还用于:在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例标识ID以及欲执行的计划ID;
所述处理单元还用于:根据所述第一实例ID,获取所述第一实例的记录文件;根据所述第一实例的记录文件中记录的第二服务的第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制,
所述发送单元用于:发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;
所述处理单元还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;
所述处理单元还用于:根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
26.如权利要求25所述的装置,其特征在于,所述欲执行的计划ID对应的计划为更新计划、删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法ID对应的方法为更新方法、删除方法、重启方法和停止方法中的至少一个。
27.一种服务部署方法,其特征在于,包括:
接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;
根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;
在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;
根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;
根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
28.如权利要求27所述的方法,其特征在于,所述根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:
根据所述限制信息,获取第一实例ID;
根据第一实例ID,获取第一实例的记录文件;
在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
29.如权利要求27所述的方法,其特征在于,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:
接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;
根据所述第二实例ID获取所述第二实例的记录文件和所述服务部署包,所述服务部署包中还包括所述欲执行的删除计划ID对应的删除计划;
确定所述第二实例的记录文件中包括所述关联信息;
根据所述关联信息,获取所述第一实例ID;
根据所述第一实例ID,获取所述第一实例的记录文件;
删除所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;
根据所述第二服务的描述文件执行所述删除计划。
30.如权利要求27所述的方法,其特征在于,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,所述方法还包括:
接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的计划ID;
根据所述第一实例ID获取所述第一实例的记录文件;
根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制;
发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;
根据所述第一实例ID获取所述第一实例的记录文件;
根据所述第一实例的记录文件,获取第一实例的节点记录文件;
根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;
根据所述欲执行的节点ID获取欲执行的节点记录文件;
根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
31.如权利要求30所述的方法,其特征在于,所述欲执行的计划ID对应的计划为更新计划、删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法ID对应的方法为更新方法、删除方法、重启方法和停止方法中的至少一个。
32.一种服务部署装置,其特征在于,包括:
接收单元,用于接收服务部署请求,所述服务部署请求包含第二服务的服务部署包的信息和限制信息;所述限制信息包括所述第二服务限制执行所述第一实例的计划的信息,和/或所述第二服务限制执行所述第一实例的节点的方法的信息;
处理单元,用于根据所述第二服务的服务部署包的信息,获取所述第二服务的服务部署包,其中,所述服务部署包包括第二服务的部署计划和第二服务的描述文件;在根据所述第二服务的描述文件执行所述第二服务的部署计划后,获取已被部署的所述第二服务的第二实例标识ID和第二实例的记录文件;根据所述限制信息,在所述第二实例的记录文件中记录关联信息,所述关联信息包括第一实例ID;根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
33.如权利要求32所述的方法,其特征在于,所述处理单元用于,根据所述限制信息,在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系,具体为:
根据所述限制信息,获取第一实例ID;
根据第一实例ID,获取第一实例的记录文件;
在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取第一实例的节点记录文件,在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系。
34.如权利要求32所述的装置,其特征在于,所述接收单元还用于:在所述处理单元在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收实例删除请求,所述实例删除请求中包含所述第二实例ID和欲执行的删除计划ID;
所述处理单元还用于:根据所述第二实例ID获取所述第二实例的记录文件和所述服务部署包,所述服务部署包中还包括所述欲执行的删除计划ID对应的删除计划;
确定所述第二实例的记录文件中包括所述关联信息;根据所述关联信息,获取所述第一实例ID;根据所述第一实例ID,获取所述第一实例的记录文件;删除所述第一实例的记录文件中所述第二实例ID与所述第一实例的计划ID的对应关系,和/或根据所述第一实例的记录文件,获取所述第一实例的节点记录文件,删除所述第一实例的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系;根据所述第二服务的描述文件执行所述删除计划。
35.如权利要求32所述的装置,其特征在于,所述装置还包括发送单元,
所述接收单元还用于:在所述处理单元在所述第一实例的记录文件中记录所述第二实例ID与所述第一实例的计划ID的对应关系,和/或在所述第一实例的节点记录文件中记录所述第二实例ID与所述第一实例的节点的方法ID的对应关系之后,接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的计划ID;
所述处理单元还用于:根据所述第一实例ID获取所述第一实例的记录文件;
根据所述第一实例的记录文件中记录的所述第二实例ID与所述第一实例的计划ID的对应关系,确定所述欲执行的计划ID对应的计划的执行受到所述第二实例的限制;
所述发送单元用于:发送拒绝执行所述欲执行的计划的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括所述第一实例ID和欲执行的节点的方法ID;
所述处理单元还用于:根据所述第一实例ID获取所述第一实例的记录文件;根据所述第一实例的记录文件,获取第一实例的节点记录文件;根据所述节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端;和/或
所述接收单元还用于:接收发送端发送的实例管理请求,所述实例管理请求包括欲执行的节点ID和欲执行的节点的方法ID;
所述处理单元还用于:根据所述欲执行的节点ID获取欲执行的节点记录文件;根据所述欲执行的节点记录文件中记录的所述第二实例ID与所述第一实例的节点的方法ID的对应关系,确定所述欲执行的节点的方法ID对应的方法的执行受到所述第二实例的限制;
所述发送单元用于:发送拒绝执行所述欲执行的节点的方法的消息给所述发送端。
36.如权利要求35所述的装置,其特征在于,所述欲执行的计划ID对应的计划为更新计划、删除计划、重启计划和停止计划中的至少一个;所述欲执行的节点的方法ID对应的方法为更新方法、删除方法、重启方法和停止方法中的至少一个。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510085240.0A CN105592130B (zh) | 2014-09-26 | 2015-02-16 | 一种服务部署方法、服务管理方法及装置 |
PCT/CN2015/078914 WO2016045392A1 (zh) | 2014-09-26 | 2015-05-14 | 一种服务部署方法、服务管理方法及装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2014105054065 | 2014-09-26 | ||
CN201410505406 | 2014-09-26 | ||
CN201510085240.0A CN105592130B (zh) | 2014-09-26 | 2015-02-16 | 一种服务部署方法、服务管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105592130A true CN105592130A (zh) | 2016-05-18 |
CN105592130B CN105592130B (zh) | 2019-04-05 |
Family
ID=55580247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510085240.0A Active CN105592130B (zh) | 2014-09-26 | 2015-02-16 | 一种服务部署方法、服务管理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN105592130B (zh) |
WO (1) | WO2016045392A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036342A1 (zh) * | 2016-08-23 | 2018-03-01 | 中兴通讯股份有限公司 | 基于csar的模型文件的可视化设计方法及装置 |
WO2019238132A1 (zh) * | 2018-06-15 | 2019-12-19 | 华为技术有限公司 | 一种数据管理方法及装置 |
CN111431743A (zh) * | 2020-03-18 | 2020-07-17 | 中南大学 | 基于数据分析的大规模WiFi系统中边缘资源池构建方法及系统 |
CN116719647A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 超算集群管理方法、装置、编排管理设备及超算集群 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294364A1 (en) * | 2006-06-15 | 2007-12-20 | International Business Machines Corporation | Management of composite software services |
CN102404381A (zh) * | 2011-09-02 | 2012-04-04 | 西安交通大学 | 一种云计算环境下基于工作流的软件部署系统及部署方法 |
CN103905508A (zh) * | 2012-12-28 | 2014-07-02 | 华为技术有限公司 | 云平台应用部署方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267341A (zh) * | 2008-03-28 | 2008-09-17 | 华为技术有限公司 | 一种分布式网络管理系统、网管服务器和方法 |
CN103577235A (zh) * | 2013-11-14 | 2014-02-12 | 中安消技术有限公司 | 一种软件部署方法、部署服务器、待部署机和系统 |
CN103716372A (zh) * | 2013-11-22 | 2014-04-09 | 浙江大学 | 一种数字图书馆即服务的云计算平台构建方法 |
-
2015
- 2015-02-16 CN CN201510085240.0A patent/CN105592130B/zh active Active
- 2015-05-14 WO PCT/CN2015/078914 patent/WO2016045392A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070294364A1 (en) * | 2006-06-15 | 2007-12-20 | International Business Machines Corporation | Management of composite software services |
CN102404381A (zh) * | 2011-09-02 | 2012-04-04 | 西安交通大学 | 一种云计算环境下基于工作流的软件部署系统及部署方法 |
CN103905508A (zh) * | 2012-12-28 | 2014-07-02 | 华为技术有限公司 | 云平台应用部署方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018036342A1 (zh) * | 2016-08-23 | 2018-03-01 | 中兴通讯股份有限公司 | 基于csar的模型文件的可视化设计方法及装置 |
WO2019238132A1 (zh) * | 2018-06-15 | 2019-12-19 | 华为技术有限公司 | 一种数据管理方法及装置 |
US11706107B2 (en) | 2018-06-15 | 2023-07-18 | Huawei Technologies Co., Ltd. | Data management method and apparatus |
CN111431743A (zh) * | 2020-03-18 | 2020-07-17 | 中南大学 | 基于数据分析的大规模WiFi系统中边缘资源池构建方法及系统 |
CN116719647A (zh) * | 2023-08-09 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 超算集群管理方法、装置、编排管理设备及超算集群 |
CN116719647B (zh) * | 2023-08-09 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 超算集群管理方法、装置、编排管理设备及超算集群 |
Also Published As
Publication number | Publication date |
---|---|
WO2016045392A1 (zh) | 2016-03-31 |
CN105592130B (zh) | 2019-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958739B2 (en) | Capturing a virtual configuration from cloud-provisioning data | |
CN111290828A (zh) | 使用容器编排服务进行动态路由 | |
US9438645B2 (en) | Correlating computing network events | |
CN109684036B (zh) | 一种容器集群管理方法、存储介质、电子设备及系统 | |
CN104508627A (zh) | 混合云环境 | |
CN112532413A (zh) | 基于微服务架构的业务支撑Saas系统、方法、介质及设备 | |
CN115280325A (zh) | 联邦学习中的参数共享 | |
CN113377348A (zh) | 应用于任务引擎的任务调整方法、相关装置和存储介质 | |
CN105592130A (zh) | 一种服务部署方法、服务管理方法及装置 | |
US11757716B2 (en) | Network management apparatus, method, and program | |
CN116257438A (zh) | 接口测试用例的更新方法及相关设备 | |
CN104054308B (zh) | 应用层资源选择的方法、装置和系统 | |
CN113821307A (zh) | 一种虚拟机镜像的快速导入方法、装置及设备 | |
JP6287501B2 (ja) | 情報処理装置及び情報処理プログラム | |
WO2018050013A1 (zh) | 一种管理网络功能节点的方法及装置 | |
CN112416980A (zh) | 数据业务处理方法、装置及设备 | |
US10887375B2 (en) | Shared memory device | |
CN110290172B (zh) | 容器应用克隆方法、装置、计算机设备及存储介质 | |
CN111061723B (zh) | 工作流实现方法及装置 | |
US11153388B2 (en) | Workflow engine framework for cross-domain extension | |
CN112418796A (zh) | 子流程节点激活方法、装置、电子设备及存储介质 | |
CN112905541A (zh) | 镜像仓库垃圾清理方法和装置 | |
WO2018120222A1 (zh) | 一种管理vnffg的方法、装置和系统 | |
US11972299B2 (en) | Flexible sharing in shared computer environments | |
JP2013020494A (ja) | ソフトウェア実行システムおよびソフトウェア実行方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |