1.一种基于混合模式的分布式云管理系统,其特征在于包括:客户服务端、控制中心、配置中心、代理服务器和云服务端;
客户服务,为前台的交互服务,服务的主体可以是具体的人也可以是应用,当客户对某种服务资源有需求时,客户服务端向控制中心发起包含业务逻辑的请求;
控制中心,为核心部分,包括服务管理器和工作流管理器;服务管理器采用基于树型结构的配置模型,使得多源异构的云服务端可配置,服务管理器管理的目标对象为不同类型的云服务端,包括公有云和私有云,对于私有云而言,服务管理器通过配置中心部署一个新的私有云,或接管一个已有的私有云,并对客户提供服务;对于公有云而言,服务管理器通过配置中心从代理服务器获取云服务端的接入方式,通常为HTTP协议的服务调用接口,服务管理器对这些接口进行统一封装,并对客户提供服务;工作流管理器采用工作流模板,使得云服务端的业务逻辑可配置,当控制中心接收到客户服务端发来的请求时,由工作流管理器进行处理,工作流管理器将客户的请求转化为工作流,并通过服务管理器协调云服务端的各个服务组件执行工作流中的步骤,根据工作流的类型处理执行结果,当有步骤执行发生错误时,工作流管理器将回退已执行步骤,避免冗余数据的产生;
配置中心,负责将云服务端所提供的服务描述成统一格式的配置文件,当需要接入新的云服务端时,配置中心从云服务端获取接入所需要的详细信息,包括云服务类型、云服务名称、云服务版本和云服务内容,配置中心将收集到的信息转化为统一格式的配置文件,服务管理器根据配置文件配置云服务,配置文件作为云服务端所提供服务的标准,能够直观描述不同云的服务差异性,同时配置文件决定服务管理器对客户提供哪些服务,对配置文件的修改能够快速调整云服务端的服务内容;
代理服务器,是公有云特有的服务中间层,封装了公有云服务供应商所提供的服务接口,当客户服务端发起一个公有云的资源访问请求时,工作流管理器转发该请求到服务管理器,服务管理器再通知代理服务器响应客户的请求,代理服务器通过远程调用的方式访问公有云上的资源;
云服务端,是指接入的云服务供应商的集合,每个云服务供应商都对外提供一种或多种类型的服务。
2.根据权利要求1所述的基于混合模式的分布式云管理系统,其特征在于:所述服务管理器包括云配置接口,所述云配置接口的具体实现与工作方式包括:
创建所述云配置接口,设计云配置接口的参数,所述参数包括云服务类型、云服务名称、云服务版本、云服务内容;
定义所述云配置接口参数的属性,所述属性包括参数的类型、取值范围和该参数是否为必须参数的标识;
调用云配置接口的返回对应的结果,所述云配置接口返回的结果是一个XML表示的树型结构,树的深度为3,树的第1层即根节点为云的身份验证服务,树的第2层为云的各个核心服务,树的第3层为云服务的操作,所述云核心服务包括但不局限于计算服务、存储服务、网络服务、备份服务、安全服务、镜像服务,所述云服务的操作包括但不局限于创建、启动、关闭、删除、挂载、卸载、配置、启用、连接、断开。
3.根据权利要求1所述的基于混合模式的分布式云管理系统,其特征在于:所述工作流管理器包括任务调度器、过程管理单元、任务管理器、服务调用单元和异常处理单元,其中:
任务调度器,负责接收客户的请求,并根据请求类型触发过程管理单元,最终将调用服务的结果返回给客户;
过程管理单元,负责管理工作流模板,能够依据不同的业务逻辑生成工作流模板,以XML格式保存,执行过程中,根据请求内容匹配相应的工作流模板,并按照模板生成序列化事件传递给任务管理器;
任务管理器,负责管理工作流实例,能够根据序列化事件创建并运行工作流实例,并能够根据异常处理单元的反馈终止工作流实例,执行过程中,根据序列化事件创建并运行工作流实例,向服务调用单元发起工作流步骤的执行命令;
服务调用单元,负责分析执行命令,调用相应的服务,同时将服务调用的结果返回给任务调度器,执行过程中,记录已执行的步骤,当有步骤发生失败时,将触发异常处理单元进行异常处理;
异常处理单元,负责根据异常类型处理异常,并回退流已执行步骤,异常处理结果将记录到日志中,并将结果反馈给任务管理器。
4.根据权利要求3所述的基于混合模式的分布式云管理系统,其特征在于:所述过程管理单元中,依据不同的业务逻辑生成工作流模板具体如下:
创建生成工作流模板的接口,设计工作流模板接口的参数,所述工作流模板接口的参数包括工作流名称,工作流步骤名称,工作流步骤类型,工作流步骤ID;
定义工作流模板参数的属性,所述属性包括工作流模板参数的类型、以及表示该参数是否为必须的标识;
调用生成工作流模板接口的返回所对应的结果,返回结果为XML格式的工作流模板;
所述工作流模板的作用是将工作流的步骤关系图,通常为有向无环图,转化成XML格式的描述文件,工作流模板的内容包括工作流名称、工作流步骤名称、工作流步骤类型、工作流步骤ID,工作流步骤源。
工作流名称,通常对应客户服务端的一个功能点,如创建虚拟机;
工作流步骤名称,通常对应客户服务端的一系列操作,如创建虚拟机中对计算、存储、网络资源的选择;
工作流步骤类型,是由工作流管理器定义的执行过程基本属性,表示该步骤与其他步骤之间的关联关系,如同步执行、异步执行、并发执行、顺序执行;
工作流步骤ID,是工作流管理器根据工作流步骤类型自动生成的步骤执行ID,用来辅助标识步骤在工作流中的执行顺序;
工作流步骤源,标识该步骤访问的云服务供应商,通常为云服务供应商的名称。
5.根据权利要求3所述的基于混合模式的分布式云管理系统,其特征在于:所述工作流实例中,工作流实例的描述记录在数据库和文件中,以供故障发生时重新生成实例。
6.根据权利要求4所述的基于混合模式的分布式云管理系统,其特征在于:所述工作流实例的描述内容包括实例ID、已执行步骤名称和执行结果。
7.根据权利要求1或3所述的基于混合模式的分布式云管理系统,其特征在于:所述回退已执行步骤如下:
工作流执行过程中,记录已执行步骤名称和结果到数据库,同时记录到本地文件;
当工作流在执行过程中发生错误时,工作流终止执行,优先从数据库读取已执行步骤名称和结果,并调用相关服务进行工作流回退;
当数据库无法访问时,从本地文件读取已执行步骤名称和结果,并调用相关服务进行工作流回退;
将回退操作的执行结果记录到日志文件。
8.一种基于混合模式的分布式云管理方法,其特征在于步骤如下:
步骤101:配置中心从云服务供应商获取接入该云服务端所需的信息,包括云服务类型、云服务名称、云服务版本、云服务内容;
步骤102:服务管理器调用云配置接口,将配置中心收集到的关于云服务端的信息转化成XML格式的描述文件,配置中心将调用云配置接口的执行结果返回给服务管理器;
步骤103:服务管理器根据配置中心的返回结果将云服务端所提供的服务进行统一封装,并对客户服务端提供与其他云服务同构的服务接口;
步骤104:客户通过客户服务端发起一个云服务端的资源访问请求,请求由控制中心的工作流管理器进行处理;
步骤105:工作流管理器将请求内容转化成工作流,并根据工作流的执行步骤调用服务管理器的相关接口,服务管理器将接口的执行结果返回给工作流管理器,如果步骤中的接口调用返回结果为失败,则启用工作流回退操作,工作流管理器调用服务管理器的回退相关接口,服务管理器将回退接口的执行结果返回给工作流管理器;
步骤106:服务管理器执行接口调用过程,访问云服务的相关资源,并接收云服务的返回结果。
9.根据权利要求8所述的基于混合模式的分布式云管理方法,其特征在于:所述工作流管理器的流程步骤如下:
步骤301:客户提交一个包含系统中已定义业务逻辑的请求到任务调度器,任务调度器分析请求类型;
步骤302:根据请求类型,任务调度器触发相对应的过程管理单元;
步骤303:过程管理单元分析请求内容,将其与已有的工作流模板进行匹配;
步骤304:过程管理单元依据工作流模板,生成序列化事件作为参数传递给任务管理器;
步骤305:任务管理器接收序列化事件,创建并运行工作流实例,当接收到来自异常处理单元的异常反馈时,则立即终止工作流实例的运行状态;
步骤306:任务管理器向服务调用单元发起包含工作流的执行步骤的执行命令;
步骤307:服务调用单元按照步骤执行工作流,调用相关服务,所述服务是指控制中心的服务管理器对云服务端服务接口的统一封装;
步骤308:服务调用单元负责将工作流的执行结果返回给任务调度器;
步骤309:任务管理器负责将客户提交请求的工作流执行结果返回给客户;
步骤310:当服务调用失败时,服务调用单元将触发异常处理单元进行异常处理;
步骤311:异常处理单元负责对已执行工作流步骤进行回退操作;
步骤312:异常处理的结果反馈给任务管理器,任务管理器终止工作流实例;
步骤313:同时异常处理的结果记录到异常日志文件中。
10.根据权利要求8所述的基于混合模式的分布式云管理方法,其特征在于:所述工作流回退方法实现如下:
步骤401:服务调用模块中,工作流表示为具体的执行步骤,以服务调用的方式执行;
步骤402:当服务调用成功时,将工作流实例中已执行步骤的名称和结果记录到数据库和文件;
步骤403:任务管理器根据异常处理单元的反馈结果,终止工作流实例的运行;
步骤404:异常处理单元从数据库读取已完成步骤的名称和结果,用于进行工作流回退操作;
步骤405:当从数据库读取成功时,异常处理单元调用相关服务进行工作流回退操作;
步骤406:当从数据库读取失败时,异常处理单元从文件读取已完成步骤的名称和结果,用于进行工作流回退操作;
步骤407:当从文件读取成功时,异常处理单元调用相关服务进行工作流回退操作。