基于云基础设施的针对应用系统维护部署的管理系统和方法

文档序号:6362686阅读:282来源:国知局
专利名称:基于云基础设施的针对应用系统维护部署的管理系统和方法
技术领域
本发明涉及云系统领域,特别是涉及一种基于云基础设施的针对应用系统维护部署的管理系统和方法。
背景技术
随着云技术的成熟,大型软件系统,如电信服务提供商的BSS/0SS系统,以及各种业务平台在传统的运维模式下存在或多或少的缺陷。例如:模式采购成本高,烟 式系统,一个子系统对应一套硬件资源系统,如存储、数据库、服务器,软件绑定了硬件;资源利用率低,业务按峰值配置、资源无法做到充分共享;业务上线周期长,从提出一个新业务到经历软件开发周期和硬件审批采购到货期的漫长的业务上线周期;维护效率低,人力成本高,各系统标准化程度差,不能集中维护和监控;能效比差,设备密度低,机房资源不断膨胀,耗电不环保等。
因此,业界趋向于将大型软件系统进行从传统的烟囱式系统移植部署到云平台,藉以解决以上挑战。在现有技术中,MapReduce (映射化简)作为一种软件架构,用于大规模并行运算工作向底层资源的分发。但是,基于MapReduce及相似技术进行实时任务调度,软件系统必须依据其框架进行应用的重新架构和开发实现。发明内容
本发明主要解决的技术问题是提供一种基于云基础设施的针对应用系统维护部署的管理系统和方法,能够在不对现有软件系统进行重新架构的前提下自动进行应用系统(如BSS/OSS,Business Support System/Operation Support System)的部署调整和维护。
为解决上述技术问题,本发明采用的一个技术方案是:提供一种基于云基础设施的针对应用系统进行维护部署的管理系统,该管理系统包括应用调度部署引擎、部署插件以及监视插件。应用调度部署引擎用于根据应用的调度部署策略以及应用中的应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,并产生针对应用实例的部署指令,该部署指令包括应用属性及属性值范围。部署插件用于从该应用调度部署引擎获取应用实例的部署指令,并对该应用实例进行部署配置。监视插件用于对该应用实例进行性能或任务处理状态监视,并向该应用调度部署引擎传递该应用实例的性能或应用实例的任务处理状态数据。
为解决上述技术问题,本发明采用的另一个技术方案是:提供一种基于云基础设施的针对应用系统进行维护部署的方法,该方法包括:获取应用的调度部署策略,获取获取应用实例的性能或应用实例的任务处理状态数据;并根据该应用的调度部署策略以及应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,产生针对该应用实例的部署指令,完成该应用实例的部署配置;该部署指令包括应用属性及属性值范围。
本发明的有益效果是:本发明中获取应用实例的负载及性能状况信息,并根据该负载及性能状况信息对该应用实例进行部署,避免了应用系统从传统的烟囱式系统移植部署到云平台时所需要进行的软件系统重构。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本发明第一实施例的基于云基础设施的针对应用系统进行维护部署的管理系统的示意框图2是本发明第二实施例的基于云基础设施的针对应用系统进行维护部署的管理系统的示意框图3是本发明第二实施例在OSS系统中的一个具体应用场景示例;
图4是图3中的具体应用场景的应用实例部署前示意图5是图3中的具体应用场景的应用实例部署后示意图6是本发明第三实施例的基于云的应用维护部署系统的实现架构图7是本发明第四实施例的应用维护部署方法的流程图8是图6中步骤S40在第五实施例中的子流程图9是图6中步骤S40在第六实施例中的子流程图10是是本发明第七实施例的应用维护部署方法的流程图11是本发明第八实施例的应用维护部署系统的示意框图。
具体实施方式
以下结合说明书附图详细介绍本发明的具体内容。
参阅图1,图1是本发明第一实施例的基于云基础设施的针对应用系统进行维护部署的管理系统的示意框图。在本实施例中,该管理系统包括应用调度部署引擎1、部署插件2以及监视插件3。
监视插件3设置于应用4中,用于对应用4中的应用实例(图1未标示)进行性能或任务处理状态监视,并向应用调度部署引擎I传递应用实例的性能或应用实例的任务处理状态数据。应用调度部署引擎I用于根据应用的调度部署策略以及应用中的应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,并产生针对应用实例的部署指令。部署指令包括应用属性及属性值范围。部署插件2同样设置于应用4中,用于从应用调度部署引擎I获取应用实例的部署指令,并对应用实例进行部署配置。其中,应用4例如为执行的程序、需要计算或整理的数据等。
参阅图2,图2是本发明第二实施例的基于云基础设施的针对应用系统进行维护部署的管理系统的示意框图。在本实施例中,管理系统包括虚拟机111、监视与预测模块113、应用调度部署引擎114、部署插件115、监视插件116和代理模块117。
虚拟机111用于运行应用112。每个应用112具有至少一个应用实例(图2中未标不)。
监视与预测模块113用于获取应用实例的性能或应用实例的任务处理状态数据并作记录。例如,应用实例处理任务的进度、应用实例的负载等。进一步基于当前记录的数据和之前记录数据进行应用实例性能的趋势判断预测,并将当前记录数据和所述判断预测。
应用调度部署引擎114基于应用112的调度部署策略和通过监视与预测模块113获取的应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,并产生针对应用实例的部署指令。部署指令包括对应用实例指定应用属性及属性值范围,实现合并应用实例、将一个应用实例分为多个应用实例、删除应用实例等。
部署插件115是在虚拟机111中为应用所定制的。部署指令通过部署插件115对应用实例进行部署配置。
监视插件116是在虚拟机111上为应用所定制的。通过监视插件可以对应用实例进行性能或任务处理状态监视,获取应用实例的性能或应用实例的任务处理状态数据。
代理模块117在虚拟机111嵌入应用实例中。监视插件116通过代理模块117对应应用实例的编码名称向监视与预测模块113提供应用实例的性能或应用实例的任务处理状态数据。部署插件115通过代理模块117从应用调度部署引擎114获得应用实例的部署指令,部署指令中携带有应用实例编码名称。
更为具体而言,虚拟机111中应用实例的创建是基于虚拟机镜像文件进行的,部署插件115、监视插件116及代理模块117需要预先写入虚拟机镜像文件中,在创建虚拟机的过程中自动拷贝部署插件115、监视插件116及代理模块117。
并且,管理系统进一步包括应用及虚拟机关联拓扑管理模块118。应用及虚拟机关联拓扑管理模块118用于管理应用111之间、应用实例之间以及应用实例与虚拟机111之间的关联影响关系,并在应用调度部署引擎113对应用实例进行调整部署时作为决策依据。
在其他实施例中,监视与预测模块113包括监视及预测模块等,在下面的实施例中进行详细描述。
区别于现有技术的情况,本发明该第一实施例的基于云基础设施的针对应用系统进行维护部署的管理系统中获取应用实例的性能或应用实例的任务处理状态数据,并根据调度部署策略与该性能或任务处理状态数据对该应用实例进行部署,避免了大型应用系统从传统的烟囱式系统移植部署到云平台时所需要进行的软件系统重构。
本发明第二实施例的基于云基础设施的针对应用系统进行维护部署的方法包括:
获取应用的调度部署策略。
获取应用实例的性能或应用实例的任务处理状态数据。
根据应用的调度部署策略以及应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,产生针对应用实例的部署指令,完成应用实例的部署配置;部署指令包括应用属性及属性值范围。
其中,部署指令包括应用属性及属性值范围,应用属性及属性值范围包括应用实例名称或编码、应用业务属性及属性值范围,用于告知对于应用实例所处理任务的范围。具体来说,部署指令包括将应用部署为多个应用实例,将一个应用实例分解为多个应用实例,或将多个应用实例进行合并和收缩。
请参阅图3,图3是本发明第二实施例在OSS系统中的一个具体应用场景示例。通常而言,OSS应用可以根据部署的规则(如根据不同的被管理网络的地域属性或者网络类型)部署为多个实例,这些实例部署在不同的虚拟资源上,虚拟资源最终部署在不同的物理资源上。该具体应用场景示例中,应用系统包括OSS应用层1000、OSS应用实例层2000、虚拟资源层3000以及物理资源层4000。
在虚拟资源层3000,OSS应用实例层2000的实例则转为虚拟资源实例A、虚拟资源实例B、虚拟资源实例C以及虚拟资源实例D。虚拟资源最终部署在物理资源层4000的不同的物理资源4100上。
虚拟机的运行状况会影响应用实例的运行状况,单个应用实例的运行状况会影响应用的部署方式和数量。需要监视虚拟机和应用实例的运行状况,并作为部署决策的依据。
部署目标平台即云基础设施,通过云基础设施可以实现灵活的虚拟资源申请,为实现应用申请部署资源的自动化提供了基础,使得资源在不同应用间是相对动态的共享。
部署的对象OSS系统有许多应用,如Trouble Ticket应用1100和Self-Care应用1200。应用之间是相互关联的,如客户通过Self-Care进行投诉,投诉信息会在TroubleTicket中形成对应的故障单进行故障的定位,即Trouble Ticket应用1100的输入是Self-Care1200应用的输出,两者共同实现了客户投诉处理流程。根据部署的对象,迁移可以分为三个层面,包括流程的迁移、应用的迁移以及数据的迁移。其中流程迁移是在应用迁移的基础上,考虑应用之间的关联性,在迁移部分应用时分析对关联应用的影响,并对关联的应用也做出部署调整。数据迁移包括数据系统连接配置、数据关联性管理、迁移调度、迁移状态监控、迁移错误处理,为保证Session的不中断,可以采用增量迁移的方式,本发明主要实现应用的迁移,数据迁移部分不进行详细方案呈现。
参阅图4-图5,图4是图3中的具体应用场景的应用实例部署前示意图,图5是图3中的具体应用场景的应用实例部署后示意图。
其中,售后投诉系统A为运行Self-Care应用1200的系统,售后服务记录系统B为运行Trouble Ticket应用1100的系统。其中,客户通过售后投诉系统A投诉产品的故障,而售后服务记录系统B则根据售后投诉系统A中的投诉进行记录。因此,售后投诉系统A的输出为售后服务记录系统B的输入。并且售后投诉系统A将应用的数据归纳为a、b、c三个部分,例如,a为东方地区,b为西北地区,c为西南地区,分别对应应用实例Aa、应用实例Ab以及应用实例Ac。同样的,售后服务记录系统B同样包括与售后投诉系统A相对应的a、b、c三个部分,分别对应应用实例Ba及应用实例Bbc。也就是说,应用实例Aa对应应用实例Ba,应用实例Ab以及应用实例Ac对应应用实例Bbc。其中,应用实例Aa、应用实例Ba对应实例数据库A,应用实例Ab、应用实例Ac以及应用实例Bbc对应实例数据库B。
参阅图5,当应用调度部署引擎114发现监视与预测模块113获取的应用实例Bbc性能或应用实例Bbc任务处理状态数据中应用实例Bbc的负载过重时,应用调度部署引擎114基于调度部署策略进行应用调度部署,并产生针对应用实例Bbc的部署指令。再由部署插件115将应用实例Bbc分为应用实例Bb以及应用实例Be。并且,修改应用实例Bb以及应用实例Be与应用实例Ab以及应用实例Ac的关联关系。即:应用实例Ab对应应用实例Bb,应用实例Ac对应应用实例Be。其中,应用实例Bbc对应西方地区,应用实例Bb对应西北地区,应用实例Be对应西南地区。其中,应用实例Aa、应用实例Ba对应实例数据库A,应用实例Ab、应用实例Ac、应用实例Bb以及应用实例Be对应实例数据库B。
当然,上述实施例仅介绍一种简单的应用实例分配,在其他实施例中,一个应用实例可能对应多条关联关系,进行重新部署时可能需要修改多条关联关系,以及所对应的数据在数据库中的存储位置等。
参阅图6,图6是本发明第三实施例的基于云的应用维护部署系统的实现架构图。在本实施例中,应用维护部署系统包括:应用部署策略配置模块11、部署现状及运行性能监视模块12、维护管理平台10、代理模块20、部署插件21及监视插件22。维护管理平台10又进一步包括应用调度部署引擎13、关联拓扑管理模块14、监视及预测模块15、虚拟机镜像管理模块16、虚拟机管理模块17及代理注册及通讯模块18。
应用部署策略配置模块11用于向应用调度部署引擎13制定应用24的调度部署策略。应用24的调度部署策略为根据业务特性判断任务的划分、根据分解阈值判断应用实例的分解或根据合并阈值判断应用实例的合并。应用24的调度部署策略具体包括:业务特性、分解阈值、合并阈值。如应用依据什么业务特性去划分任务,从而部署为多个应用实例,在应用实例负载或者待处理任务超过分解阈值时需要进行实例任务的进一步分解,或者低于合并阈值时需要进行实例的合并和收缩。
监视插件22与应用24及代理模块20连接,或设置于应用24中,由应用24处获取其性能或应用实例的任务处理状态数据,并发送该性能或应用实例的任务处理状态数据至代理模块20。其中,应用24运行于虚拟机19中。每一虚拟机19中可运行一个应用24,也可运行多个应用24。在本实施例中,每一监视插件22单独对应一个应用24。在其他实施例中,一个监视插件22可对应多个应用24,或多个监视插件22分别对应同一应用24的不同实例。监视插件22根据不同的应用24进行定制,而非所有的监视插件22都相同。
代理模块20通过监视插件22与应用24连接,主要负责对应用24的代理,可以接收监视插件22发送的应用24的性能或应用24的任务处理状态数据,并进一步携带代理模块标识,发送至代理注册及通讯模块18。其中,优选在每一虚拟机19中设置一代理模块20,负责通讯。在其他实施例中,代理模块20可直接获取应用24的性能或应用24的任务处理状态数据并发送至应用调度部署引擎13,可省略监视模块22。
代理模块20向代理注册及通讯模块18发送注册请求,以此建立代理模块20与代理注册及通讯模块18之间的连接及通讯。代理注册及通讯模块18负责代理模块20与其他模块的通讯,包括代理模块20的注册及变更、应用部署指令的下发和指令执行结果反馈,应用24的性能或应用24的任务处理状态数据的数据监视。代理注册及通讯模块18接收代理模块20发送的应用24的性能或应用24的任务处理状态数据,并发送至监视及预测模块15。
监视及预测模块15与代理注册及通讯模块18连接,收集和管理应用24或应用24各实例的性能或应用24各实例的任务处理状态数据,并输出至应用调度部署引擎13提供作为决策依据。在另一优选实施例中,监视及预测模块15将应用24的性能或应用24的任务处理状态数据与以往信息做比较,预测应用24将要达到的负载及状态,并将预测结果发送至应用调度部署引擎13,作为判断是否需要对应用24进行重新部署的条件。
应用调度部署引擎13与应用部署策略配置模块11及监视及预测模块15连接,用于根据应用24的性能或应用24的任务处理状态数据与调度部署策略判断是否需要对应用24进行重新部署,并对需要重新部署的应用24发送部署指令。例如判断应用24负载情况可能超出或者低于调度部署策略中设定的阈值,则对应用24发送重新部署的部署指令。同时考虑关联拓扑管理模块14中所存储的本应用24与其他应用24的关联拓扑关系,考虑在进行局部部署调整时对关联对象的影响。确定应用24的调度部署策略后,应用调度部署引擎13发送部署指令至代理注册及通讯模块18,代理注册及通讯模块18根据部署指令中携带的代理模块标识发送部署指令至代理模块20,代理模块20发送部署指令至部署插件21。
部署插件21与代理模块20连接,根据部署指令,对应用24进行重新部署。例如,在应用24的负载超出调度部署策略中设定的阈值时,将一个应用24分为两个或更多应用24,并同时修改分化后的应用实例的关联关系。或者,将一个应用24中增加实例,由原来的一个实例分为两个实例,并修改实例所对应的关联关系。
参阅图6,监视插件22进一步获取应用24的操作结果,并将操作结果通过接口模块20、代理注册及通讯模块18以及监视及预测模块15发送至应用调度部署引擎13。在其他实施例中,也可由代理注册及通讯模块18直接发送操作结果至应用调度部署引擎13。关联拓扑管理模块14与监视及预测模块15及应用调度部署引擎13连接,应用调度部署引擎13在操作结果为操作成功时,将应用24及虚拟机19的关联关系变更通知发送至关联拓扑管理模块14,并进行存储。
参阅图6,在优选实施例中,每一应用24的实例对应一虚拟机19,原应用24的实例与新的应用24的实例与其他应用24的关联关系同样为各虚拟机19之间的关联关系。应用24的重新部署若是将一个应用24的实例分为多个,则需新建虚拟机19。新建虚拟机19有两种方式,一种是通过虚拟机管理模块17将原应用24所对应的虚拟机19进行物理拷贝,创建新虚拟机19。其中,在进行拷贝时,需将虚拟机19中的原应用24挂起,不接收新的任务,以使拷贝的新虚拟机19与原虚拟机19的数据一致。另一种,通过虚拟机镜像管理模块16将原应用24的软件信息写入虚拟机镜像26,使用虚拟机镜像26创建新虚拟机19。其中,虚拟机镜像26存储与虚拟机镜像存储模块25中。在穿件了新虚拟机19后,通过原虚拟机19及新虚拟机19中的部署插件21,根据部署指令,将原应用24的实例的任务分配至少一部分至新的应用24的实例中,并重新设定原应用24的实例与新的应用24的实例与其他应用24的关联关系。
在本实施例中,监视插件22、部署插件21和代理模块20预先写入虚拟机镜像文件中,在创建虚拟机19的过程中自动拷贝监视插件22、部署插件21和代理模块20。进一步的,应用实例的创建是基于虚拟机镜像文件进行的。
参阅图6,而部署现状及运行性能监视模块12与监视及预测模块15、关联拓扑管理模块14连接,显示应用实例的性能或应用实例的任务处理状态数据及应用的关联关系。部署现状及运行性能监视模块12接受部署监视模块15发送应用24的性能或应用24的任务处理状态数据,用以查阅。用户可通过部署现状及运行性能监视模块12查看应用实例的状态,并且,可通过应用部署策略配置模块11进行应用实例的调度部署策略的调整,除此之外,应用调度部署引擎13可实现应用实例的动态的自动调度部署,最终达到应用业务处理能力的自动伸缩,简化了大型应用系统的部署及监视。
在其他实施例中,在判断应用24的负载情况可能低于调度部署策略中设定的阈值时,也可将两个或多个应用24的实例合并。
参阅图7,图7是本发明第四实施例的应用维护部署方法的流程图。在本实施例中,应用维护部署方法包括:步骤S10,创建运行应用的虚拟机;步骤S20中,将应用注册到一应用管理平台;步骤S30中,于应用管理平台建立应用的调度部署策略;步骤S40中,由应用管理平台根据获取的应用的调度部署策略以及应用实例的性能或应用实例的任务处理状态数据,将获取的应用实例的性能或应用实例的任务处理状态数据与调度部署策略进行映射,根据映射的结果发出调整部署应用和虚拟机的指令。
更为具体而言,在步骤SlO创建运行应用的虚拟机时,可由两种方法创建虚拟机。例如,利用现有虚拟机进行物理拷贝,创建新的虚拟机。或者,首先创建虚拟机镜像,然后使用虚拟机镜像作为模板,创建虚拟机。其中,虚拟机镜像中包括应用的软件信息、监视插件、部署插件以及代理的信息。代理的信息包括:代理所管理的应用对象以及在代理中实现监视插件和部署插件数据的交互和通讯的规则。
在步骤S20将应用注册到一应用管理平台包括:将应用与应用管理平台连接,使应用与应用管理平台之间可以进行通讯与数据交互。
在步骤S40中,调整部署应用的指令包括增加、合并或取消应用的实例,并调整应用的实例及关联应用的关联关系。调整部署虚拟机的指令包括虚拟机的增加、合并或取消,以及与其他虚拟机之间的关联关系。
在其他实施例中,应用管理平台可进一步根据获取的应用实例的性能或应用实例的任务处理状态数据进行预估,并将预估的结果与调度部署策略进行映射,以增加对应用管理的预先性。并且,在优选实施例中,可根据情况需要判断是否进行步骤S30,即建立应用的调度部署策略后可多次使用,根据应用实例负载的变化或其他因素对调度部署策略进行调整,而不需要每次对应用实例进行部署皆需要建立应用的调度部署策略。
区别于现有技术的情况,本发明该第一实施例的应用维护部署方法中获取应用实例的性能或应用实例的任务处理状态数据,并根据该性能或应用实例的任务处理状态数据对该应用实例进行部署,能够自动进行大型应用系统(如BSS/0SS)的部署,避免了大型应用系统从传统的烟囱式系统移植部署到云平台时所需要进行的软件系统重构。
参阅图8,图8是图7中步骤S40在第五实施例中的子流程图。步骤S40进一步包括:
在步骤S411中,由监视插件获取应用实例的性能或应用实例的任务处理状态数据。监视插件设置于应用中或与应用连接,用于根据获取应用实例的性能或应用实例的任务处理状态数据,并进一步上传。
在步骤S412中,将应用实例的性能或应用实例的任务处理状态数据传输到代理。进一步的,在步骤S20中,将代理注册到应用管理平台,从而实现将应用注册到应用管理平台,建立应用于管理平台之间的通讯。
在步骤S413中,由代理将应用实例的性能或应用实例的任务处理状态数据传输到应用管理平台。
参阅图9,图9是图7中步骤S40在第六实施例中的子流程图。步骤S40进一步包括:
在步骤S421中,由应用管理平台将指令发送到代理。
在步骤S422中,由代理发送指令到部署插件。由此可见,代理为应用管理平台与应用之间的通讯中转,使应用与应用管理平台之间可以更好的进行数据交互。
在步骤S423中,由部署插件根据部署指令对应用及虚拟机进行动态部署。
参阅图10,图10是本发明第七实施例的应用维护部署方法的流程图。在本实施例中,步骤S10-S40与第一实施例相同,另外,本实施例进一步包括:
在步骤S50中,获取对应用进行调整部署的结果。此步骤具体为:由监视插件获取对应用进行调整部署的结果,例如调整部署成功或调整部署失败。有监视插件将获取的对应用进行调整部署的结果发送至代理插件,并由代理插件发送至应用管理平台。
在步骤S60中,判断应用的调整部署是否成功。此步骤由应用管理平台来完成。当判断应用的调整部署成功时,进入步骤S70。当判断应用的调整部署不成功时,进入步骤S80。
在步骤S70中,存储调整后的应用的实例及关联应用的关联关系于应用管理平台。
在步骤S80中,重新发送指令,之后重复步骤S50。在其他实施例中,在步骤S80中,可不进行操作,由下次执行步骤S40时重新对应用进行调整部署。
其中,图7-图10中所述的代理,例如为代理模块。
在其他实施例中,应用维护部署方法进一步包括步骤:显示应用实例的性能或应用实例的任务处理状态数据,以使用户可了解应用的运行状态。并且,可进一步显示应用的实例及关联应用的关联关系。
区别于现有技术的情况,本发明该第二至第四实施例的应用维护部署方法中获取应用实例的性能或应用实例的任务处理状态数据,并根据该性能或应用实例的任务处理状态数据对该应用实例进行部署,能够自动进行大型应用系统(如BSS/0SS)的部署,避免了大型应用系统从传统的烟囱式系统移植部署到云平台时所需要进行的软件系统重构。
参阅图11,图11是本发明第八实施例的应用维护部署系统的示意框图。在本实施例中,应用维护部署系统包括:虚拟机管理模块211、策略建立模块212、应用管理平台213、代理模块214、监视插件216、应用插件217以及显示模块218。
策略建立模块212用于建立应用的调度部署策略,并发送至应用管理平台213。
虚拟机管理模块211用于创建运行应用215的虚拟机(未图示)。创建虚拟机时,可以利用现有虚拟机进行物理拷贝,从而创建运行应用215的虚拟机。也可以创建管理虚拟机镜像,使用虚拟机镜像作为模板,创建虚拟机。虚拟机镜像中应当包括应用215的软件信息、监视插件216、部署插件217以及代理模块214的信息。
代理模块214的信息包括代理模块214管理的应用对象以及在代理模块214中实现监视插件216和部署插件217数据的交互和通讯的规则。代理模块214与监视插件216及部署插件217连接,并注册到应用管理平台213,以使应用215注册到应用管理平台213,建立应用215与应用管理平台213之间的通讯。监视插件216用于获取应用215的性能或应用215的任务处理状态数据,并传输到代理模块214,进一步由代理模块214传输到应用管理平台213。部署插件217用于对应用215重新部署。
应用管理平台213用于根据获取应用215的性能或应用215的任务处理状态数据,将获取的应用215的性能或应用215的任务处理状态数据与调度部署策略进行映射,根据映射的结果发出调整部署应用和虚拟机的指令。应用管理平台213可进一步根据获取的应用215的性能或应用215的任务处理状态数据进行预估,并将预估的结果与调度部署策略进行映射。该指令发送至代理模块214,由代理模块214发送至部署插件217,进一步由部署插件217用于对应用215重新部署。调整部署应用215的指令包括增加、合并或取消应用215的实例,并调整应用215的实例及关联应用215的关联关系。调整部署虚拟机的指令包括虚拟机的增加、合并或取消,以及与其他虚拟机之间的关联关系。需要对虚拟机同时进行调整部署时,可同时发送指令至虚拟机管理模块211。
应用管理平台213进一步获取对应用215进行调整部署的结果,并当应用215的部署成功时,存储调整后的应用215的实例及关联应用215的关联关系。在获取对应用215进行调整部署的结果时,同样由监视模块216进行获取,将结果发送至代理模块214,并由代理模块214发送至应用管理平台213。在其他实施例中,代理模块214、监视模块216及部署模块217可进一步设置于应用管理平台213中,应用215向应用管理平台213进行注册,以实现应用215与应用管理平台213之间的通讯连接。
显示模块218则用于显示应用215的性能或应用215的任务处理状态数据,使用户直接观测到应用运行的状态。并且,显示模块218可进一步根据需要显示应用215的实例及关联应用215的关联关系。
本发明的有益效果是:本发明的基于云的应用维护部署系统、应用维护部署系统及方法中获取应用实例的性能或应用实例的任务处理状态数据,并根据该性能或应用实例的任务处理状态数据对该应用实例进行部署,能够自动进行大型应用系统(如BSS/0SS)的部署,避免了大型应用系统从传统的烟囱式系统移植部署到云平台时所需要进行的软件系统重构。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.一种基于云基础设施的针对应用系统维护部署的管理系统,所述管理系统包括: 应用调度部署引擎,用于根据应用的调度部署策略以及应用中的应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,并产生针对应用实例的部署指令,所述部署指令包括应用属性及属性值范围; 部署插件,用于从所述应用调度部署引擎获取应用实例的部署指令,并对所述应用实例进行部署配置;监视与预测模块 监视插件,用于对所述应用实例进行性能或任务处理状态监视,并向所述应用调度部署弓I擎传递所述应用实例的性能或应用实例的任务处理状态数据。
2.根据权利要求1所述的管理系统,其特征在于,所述应用属性及属性值范围包括应用实例名称或编码和应用业务属性及属性值范围,用于告知对于应用实例所处理任务的范围。
3.根据权利要求2所述的管理系统,其特征在于,根据权利要求1所述的管理系统,其特征在于,所述管理系统进一步包括监视与预测模块,用于记录所述监视插件获取的所述应用实例的性能或应用实例的任务处理状态数据,并基于当前记录的数据和之前记录数据进行应用实例性能的趋势判断预测,并将当前记录数据和所述判断预测发送至所述应用调度部署引擎。
4.根据权利要求3所述的管理系统,其特征在于,所述管理系统进一步包括代理模块,所述代理模块将所述监视插件获取的所述应用实例的性能或应用实例的任务处理状态数据并对应所述应用实例的编码名称发送至所述监视与预测模块,将所述应用调度部署引擎产生的所述部署指令,并对应部署指令中携带的应用实例编码名称发送所述部署指令至对应应用实例中的部署插件。
5.根据权利要求4 所述管理系统,其特征在于,所述管理系统进一步包括应用及虚拟机关联拓扑管理模块,所述应用及虚拟机关联拓扑管理模块用于管理应用之间、应用实例之间或应用实例与虚拟机之间的关联影响关系,并在所述应用调度部署引擎对所述应用实例进行调整部署时作为决策依据。
6.根据权利要求1、2、3、4或5中任意一项所述的管理系统,其特征在于,所述部署插件预先写入虚拟机镜像文件中,在创建所述虚拟机的过程中自动拷贝所述部署插件,进一步所述应用实例的创建是基于虚拟机镜像文件进行的。
7.根据权利要求1、2、3、4或5中任意一项所述的管理系统,其特征在于,所述监视插件预先写入虚拟机镜像文件中,在创建所述虚拟机的过程中自动拷贝所述监视插件,进一步所述应用实例的创建是基于虚拟机镜像文件进行的。
8.根据权利要求4或5所述的管理系统,其特征在于,所述监视插件预先写入虚拟机镜像文件中,在创建所述虚拟机的过程中自动拷贝所述代理模块,进一步所述应用实例的创建是基于虚拟机镜像文件进行的。
9.根据权利要求1、2、3、4或5中任意一项所述的管理系统,其特征在于,所述管理系统进一步包括应用部署策略配置模块,与所述应用调度部署引擎连接,用于向所述应用调度部署引擎制定应用的调度部署策略。
10.根据权利要求9所述的管理系统,其特征在于,所述应用部署策略配置模块制定的应用的调度部署策略为根据业务特性判断任务的划分、根据分解阈值判断应用实例的分解或根据合并阈值判断应用实例的合并。
11.根据权利要求4或5所述的管理系统,其特征在于,所述管理系统进一步包括代理注册及通讯模块,连接所述代理模块与所述应用调度部署引擎,所述代理模块注册到所述代理注册及通讯模块,并将由所述监视插件处获取的所述应用实例的性能或应用实例的任务处理状态数据进一步携带代理模块标识发送至所述监视与预测模块。
12.根据权利要求11所述的管理系统,其特征在于,所述应用调度部署引擎发送所述部署指令至所述代理注册及通讯模块,所述部署指令中携带有代理模块标识,所述代理注册及通讯模块根据所述代理模块标识发送所述部署指令至指定代理模块,所述代理模块将所述部署指令发送至所述部署插件。
13.根据权利要求3、4或5中任意一项所述的管理系统,其特征在于,所述管理系统进一步包括部署现状及运行性能监视模块,与所述监视与预测模块连接,用于显示应用实例的性能或应用实例的任务处理状态数据。
14.一种基于云基础设施的针对应用系统进行维护部署的方法,所述方法包括: 获取应用的调度部署策略; 获取应用实例的性能或应用实例的任务处理状态数据; 并根据所述应用的调度部署策略以及应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,产生针对所述应用实例的部署指令,完成所述应用实例的部署配置;所述部署指令包括应用属性及属性值范围。
15.根据权利要 求14所述的方法,其特征在于,所述应用属性及属性值范围包括应用实例名称或编码、应用业务属性及属性值范围,用于告知对于应用实例所处理任务的范围。
16.根据权利要求15所述的方法,其特征在于,所述应用调度部署进一步具体包括:根据应用之间、应用实例之间或应用实例与虚拟机之间的关联影响关系作为决策依据进行调整部署。
17.根据权利要求14、15或16所述的方法,其特征在于,所述应用实例是基于虚拟机镜像文件由虚拟机创建的,进一步所述部署插件预先保存在虚拟机镜像文件中,并在创建虚拟机时自动拷贝所述部署插件到虚拟机中。
18.根据权利要求14、15或16所述的方法,其特征在于,所述应用实例是基于虚拟机镜像文件由虚拟机创建的,所述监视插件预先保存在虚拟机镜像文件中,并在创建虚拟机时自动拷贝所述监视插件到虚拟机中。
全文摘要
本发明公开了一种基于云基础设施的针对应用系统进行维护部署的管理系统和方法,管理系统包括应用调度部署引擎、部署插件以及监视插件。应用调度部署引擎用于根据应用的调度部署策略以及应用中的应用实例的性能或应用实例的任务处理状态数据进行应用调度部署,并产生针对应用实例的部署指令,部署指令包括应用属性及属性值范围。部署插件用于从应用调度部署引擎获取部署指令,并对应用实例进行部署配置。监视插件用于对应用实例进行性能或任务处理状态监视,并向应用调度部署引擎传递应用实例的性能或任务处理状态数据。通过上述方式,本发明能够自动进行应用系统的部署,避免了应用系统从传统系统移植部署到云平台时所需要进行的软件系统重构。
文档编号G06F9/46GK103197952SQ201210004379
公开日2013年7月10日 申请日期2012年1月9日 优先权日2012年1月9日
发明者李四浩 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1