一种基于电力PaaS云平台的服务建模系统及方法
技术领域
本发明涉及电力PaaS云平台服务领域。
背景技术
在云计算需求迅速增长的环境下,世界上信息产业发展领先的国家和地区对云计算给予了高度的重视,将云计算技术提升到战略发展的高度。各国研究并制定了云计算发展相关的战略规划,部署了国家级云计算基础设施,以加快推动云计算应用的建设,抢占云计算技术和产业发展的至高点。例如,美国政府正在大力推行的云计算计划,内容涉及生产制造产业结构调整、云端产业发展、商务业务整合、政府网站改革、社交媒体等诸多方面。
我国政府高度重视云计算产业发展,国务院《关于加快培育和发展战略性新兴产业的决定》(国发〔2010〕32号),把促进云计算技术研发和示范应用建设作为发展新一代信息技术的重要任务。目前,我国云计算应用在政府、电信、医疗、金融、电力、石油石化等行业取得了快速发展,建设了大批示范工程。“十二五”期间,我国云计算市场的产值规模已突破1万亿元人民币,云计算产业已度过市场培育期,进入快速发展阶段,预计未来几年,年均产值复合增长率将超过80%。
随着信息技术的高速发展,企业级数据中心的规模越来越大,信息技术在企业中的作用也越来越重要。传统企业数据中心的建设,主要依据业务应用系统的需求进行软硬件资源配置,这样的模式存在以下缺点:首先,资源利用率很低,据权威机构统计企业数据中心服务器资源平均利用效率只有20%-40%;其次,IT系统规模的增长,导致运维成本日益高昂;再次,系统模块之间依赖关系很强,导致应用系统缺乏对业务变化的快速适应能力;最后,人工运维的工作方式不能满足数据中心对高可用性的需求,企业业务的连续服务和关键数据安全也得不到可靠保障。
发明内容
本发明为了解决上述现有技术中存在的问题,提出了一种基于电力PaaS云平台的服务建模系统及方法。
本发明解决上述技术问题的技术方案如下:一种基于电力PaaS云平台的服务建模系统,该系统包括:
服务建模模块,用于获取软件的服务方式,并将软件进行服务化,提取相应的服务模式,存储在服务目录中提供服务;
服务目录模块,用于获取PaaS平台管理多种软件的方法,并对其进行存储;
服务部署模块,用于将服务目录中的服务部署到需要的基础设施资源中,形成应用环境;
外部服务接入模块,用于将PaaS平台外围的服务以接口的方式集成到PaaS平台中,统一为应用系统提供服务;
服务抽象模块,用于将运行的服务以多实例化的方式为应用系统提供服务能力;
环境分区模块,用于为多个部门的不同应用系统进行分区管理。
本发明的有益效果是:本发明提取电网信息系统所共需的组件元素和技术元素,将其转化为PaaS平台的服务组件。PaaS平台以服务目录为核心提供和管理服务,通过服务建模技术将软件系统模型化,从而生成服务,通过服务抽象技术,将服务进行多实例化,最终为应用系统提供应用环境支撑能力。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述服务建模模块包括:
配置模块,用于通过提取软件运行过程中所需的共性元素,并对其进行设置,来完成对软件的模型化;
事件设定模块,用于通过事件脚本来设置所对应事件产生的行为;
服务模式设定模块,用于软件在运行时提供相应的服务模式,包括单实例、多实例和混合实例三种服务模式。
进一步,所述配置模块包括:
弹性调度配置模块,用于预先定义弹性调度的触发条件、触发时机和调度行为;
网络配置模块,用于打通基础设施层面的网络管理模型,设置子网与运行IP;
存储配置模块,用于打通基础设施层的存储管理模块,设置存储方式与容量;
安全配置模块,用于打通基础设施层的安全模型,设置其访问控制列表配置规则,完成相应的网络隔离;
全局变量配置模块,用于设置服务运行所需的全局变量,外部使用全局变量来控制服务的运行;
自定义配置模块,用于通过自定义模型来构建主机名称、定时策略、防火墙代理、脚本执行、日志文件和超时策略。
进一步,所述服务目录模块包括:
应用环境服务模块,用于为应用系统提供环境支撑能力;
开发组件服务模块,用于为应用开发者提供开发环境、测试环境以及软件过程管理的工具组件服务;
通用技术服务模块,用于通过通用技术模型或组件为应用系统提供服务能力,实现软件集成与统一;
分布式环境服务模块,用于解决海量数据处理,为大数据平台提供环境服务,通过PaaS平台部署和管理分布式环境服务,并通过服务抽象技术为大数据应用提供环境支撑。
进一步,所述服务抽象模块包括:
独占式服务处理模块,用于PaaS平台以集群、分布式的方式对服务进行部署,以满足应用系统的运行需求;
共享式服务处理模块,用于根据PaaS平台的预置服务,通过服务抽象引擎,将运行中的服务进行多实例化。
一种基于电力PaaS云平台的服务建模方法,该方法包括:
服务建模步骤,用于获取软件的服务方式,并将软件进行服务化,提取相应的服务模式,存储在服务目录中提供服务;
服务目录步骤,用于获取PaaS平台管理多种软件的方法,并对其进行存储;
服务部署步骤,用于将服务目录中的服务部署到需要的基础设施资源中,形成应用环境;
外部服务接入步骤,用于将PaaS平台外围的服务以接口的方式集成到PaaS平台中,统一为应用系统提供服务;
服务抽象步骤,用于将运行的服务以多实例化的方式为应用系统提供服务能力;
环境分区步骤,用于为多个部门的不同应用系统进行分区管理。
本发明提取电网信息系统所共需的组件元素和技术元素,将其转化为PaaS平台的服务组件。PaaS平台以服务目录为核心提供和管理服务,通过服务建模技术将软件系统模型化,从而生成阢,通过服务抽象技术,将服务进行多实例化,最终为应用系统提供应用环境支撑能力。
进一步,所述服务建模步骤包括:
配置步骤,用于通过提取软件运行过程中所需的共性元素,并对其进行设置,来完成对软件的模型化;
事件设定步骤,用于通过事件脚本来设置所对应事件产生的行为;
服务模式设定步骤,用于软件在运行时提供相应的服务模式,包括单实例、多实例和混合实例三种服务模式。
所述配置步骤包括:
弹性调度配置步骤,用于预先定义弹性调度的触发条件、触发时机和调度行为;
网络配置步骤,用于打通基础设施层面的网络管理模型,设置子网与运行IP;
存储配置步骤,用于打通基础设施层的存储管理,设置存储方式与容量;
安全配置步骤,用于打通基础设施层的安全模型,设置其访问控制列表配置规则,完成相应的网络隔离;
全局变量配置步骤,用于设置服务运行所需的全局变量,外部使用全局变量来控制服务的运行;
自定义配置步骤,用于通过自定义模型来构建主机名称、定时策略、防火墙代理、脚本执行、日志文件和超时策略。
进一步,所述服务目录步骤包括:
应用环境服务步骤,用于为应用系统提供环境支撑能力;
开发组件服务步骤,用于为应用开发者提供开发环境、测试环境以及软件过程管理的工具组件服务;
通用技术服务步骤,用于通过通用技术模型或组件为应用系统提供服务能力,实现软件集成与统一;
分布式环境服务步骤,用于解决海量数据处理,为大数据平台提供环境服务,通过PaaS平台部署和管理分布式环境服务,并通过服务抽象技术为大数据应用提供环境支撑。
进一步,所述服务抽象步骤包括:
独占式服务处理步骤,用于PaaS平台以集群、分布式的方式对服务进行部署,以满足应用系统的运行需求;
共享式服务处理步骤,用于根据PaaS平台的预置服务,通过服务抽象引擎,将运行中的服务进行多实例化。
附图说明
图1为本发明实施例所述的基于电力PaaS云平台的服务建模系统的原理示意图;
图2为本发明实施例所述的服务建模模块1的原理示意图;
图3为本发明实施例所述的配置模块7的原理示意图;
图4为本发明实施例所述的服务目录模块2的原理示意图;
图5为本发明实施例所述的服务抽象模块5的原理示意图;
图6为本发明实施例所述的基于电力PaaS云平台的服务建模方法的流程图;
图7为本发明实施例所述的服务建模步骤的流程图;
图8为本发明实施例所述的配置步骤的流程图;
图9为本发明实施例所述的服务目录步骤的流程图;
图10为本发明实施例所述的服务抽象步骤的流程图。
附图中,各标号所代表的部件列表如下:
1、服务建模模块,2、服务目录模块,3、服务部署模块,4、外部服务接入模块,5、服务抽象模块,6、环境分区模块,7、配置模块,8、事件设定模块,9、服务模式设定模块,10、弹性调度配置模块,11、网络配置模块,12、存储配置模块,13、安全配置模块,14、全局变量配置模块,15、自定义配置模块,16、应用环境服务模块,17、开发组件服务模块,18、通用技术服务模块,19、分布式环境服务模块,20、独占式服务处理模块,21、共享式服务处理模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1
PaaS平台的服务模型包括两个层面的含义:其一、PaaS平台如何为应用系统的开发和运维提供服务;其二、PaaS平台能够提供哪些服务。本章节将基于PaaS平台的总体技术架构和结合电力企业的信息化需求,研究PaaS平台的服务模型。根据电力企业的信息化特点,PaaS平台的服务主要分为四大类,即:应用环境服务、开发组件服务、通用技术服务和分布式环境服务。
PaaS平台要为电力企业的所有信息系统提供服务能力。由于电力企业在发电、送电、配电、售电等环节的信息系统对基础设施的要求均不同。这些不同包括了服务器设备、虚拟化设备、网络、存储、安全、应用环境等的不同,为此必须建立逻辑环境分区,来统筹规划应用系统对不同基础设施资源的需求。建立合理的环境分区能对应用系统做相对的隔离和布局,使信息系统的业务能更方便的开展,也使下层的基础设施资源能更合理的使用,所以PaaS平台以建立环境分区的方式来承载信息系统。
PaaS平台对服务的管理是以服务目录为核心,通过服务抽象与建模,将服务目录中的服务进行多实例化,从而构建信息系统的应用堆栈。通过基础设施资源适配器和自动化调度来保障服务实例的运行,从而形成一个健康、有效、稳定的应用生态环境。
如图1所示,一种基于电力PaaS云平台的服务建模系统,该系统包括:
服务建模模块1,用于获取软件的服务方式,并将软件进行服务化,提取相应的服务模式,存储在服务目录中提供服务;
服务目录模块2,用于获取PaaS平台管理多种软件的方法,并对其进行存储;
服务部署模块3,用于将服务目录中的服务部署到需要的基础设施资源中,形成应用环境;
外部服务接入模块4,用于将PaaS平台外围的服务以接口的方式集成到PaaS平台中,统一为应用系统提供服务;
服务抽象模块5,用于将运行的服务以多实例化的方式为应用系统提供服务能力;
环境分区模块6,用于为多个部门的不同应用系统进行分区管理。
传统对软件的使用方法,主要是通过手动的方式,将软件安装到服务器上,这中方式主要存在以下问题:1)安装标准不统一,导致运维困难;2)难以达到软件运行的最佳配置和运行效率;3)管理成本、安装成本到运维成本都很高。通过对软件的使用,结合PaaS平台的总体技术架构和方法,构建软件服务模型,将软件的服务方式进行管理系统化,配置标准化和运维自动化,从而更好的为应用系统提供服务支撑。PaaS平台分别从配置规则、事件规则和服务模式来对软件做模型构建。
优选的,如图2所示,所述服务建模模块1包括:
配置模块7,用于通过提取软件运行过程中所需的共性元素,并对其进行设置,来完成对软件的模型化;
事件设定模块8,用于通过事件脚本来设置所对应事件产生的行为;
服务模式设定模块9,用于软件在运行时提供相应的服务模式,包括单实例、多实例和混合实例三种服务模式。
如图3所示,所述配置模块7包括:
弹性调度配置模块10,用于预先定义弹性调度的触发条件、触发时机和调度行为;
网络配置模块11,用于打通基础设施层面的网络管理模型,设置子网与运行IP;
存储配置模块12,用于打通基础设施层的存储管理模块,设置存储方式与容量;
安全配置模块13,用于打通基础设施层的安全模型,设置其访问控制列表配置规则,完成相应的网络隔离;
全局变量配置模块14,用于设置服务运行所需的全局变量,外部使用全局变量来控制服务的运行;
自定义配置模块15,用于通过自定义模型来构建主机名称、定时策略、防火墙代理、脚本执行、日志文件和超时策略。
事件设定模块8主要指软件在运行过程中,因为发生启动、停止、重启、修改、销毁等活动时,对操作系统、基础设施资源或其他服务所造成的影响。
服务模式设定模块9主要指软件在运行时所提供的服务模式,根据业界的主流软件来归纳,目前主要有单实例、多实例和混合实例三种服务模式。通过服务的配置规则和事件规则,能准确的将软件部署为其所对应的单实例模式或多实例模式。通过服务模式能合理的管理和分配服务实例。
PaaS平台基于软件的配置规则、事件规则和服务模式来构建完整的服务,并纳入到服务目录中统一为PaaS平台提供服务支撑。
PaaS平台的服务内容,都是通过服务目录的方式进行管理的,每类服务称之为服务域。PaaS平台包括三种类型的服务域:其一为预置服务,所谓预置服务是指预先在PaaS平台部署好的服务,以服务抽象的技术进行多实例化为应用系统提供服务;其二为外接服务,所谓外接服务就是指未部署在PaaS平台上的服务,通过接入技术接入PaaS平台进行多实例化为应用系统提供服务;其三为模板服务,所谓模板服务就是指以模板的方式存在于PaaS平台中,按照上层应用系统的需要专门部署的服务,这种服务一般是一个应用系统独占一个服务的方式来使用。
每个服务由三部分内容组成,即:服务模板、服务规则策略和服务执行脚本。
服务模板:即服务所对应的镜像模板,通过服务镜像模板可直接启动底层基础设施资源(如虚拟机),启动后的基础设施资源所对应的服务及环境均为可运行状态。对于预置服务和外接服务,其服务模板对应的就是服务实体。
服务规则策略:即每个服务所对应的规则策略,在PaaS平台中主要包括:弹性伸缩策略、网络策略、存储策略等策略,通过服务的规则策略来对运行中的服务环境进行设置,以达到服务的工作能力。
服务执行脚本:即每个服务所对应的事件和其相应的控制脚本,通过脚本的执行来控制服务的启动、停止、服务间关联等所产生的影响。
基于南方电网的信息化现状以及科研院的具体需求,将服务目录规划成四大类服务,即:应用环境服务、开发组件服务、通用技术服务和分布式环境服务,以下将对四大类服务进行详细说明。
如图4所示,所述服务目录模块2包括:
应用环境服务模块16,用于为应用系统提供环境支撑能力;
开发组件服务模块17,用于为应用开发者提供开发环境、测试环境以及软件过程管理的工具组件服务;
通用技术服务模块18,用于通过通用技术模型或组件为应用系统提供服务能力,实现软件集成与统一;
分布式环境服务模块19,用于解决海量数据处理,为大数据平台提供环境服务,通过PaaS平台部署和管理分布式环境服务,并通过服务抽象技术为大数据应用提供环境支撑。
应用环境服务
应用环境类服务主要指能够为应用系统提供环境支撑能力的服务,主要包括以下几类:
云服务器:云服务器主要是为应用系统提供基础运行环境的虚拟机或物理机服务,在PaaS平台中主要通过资源池来选择底层设备的规格、操作系统和网络,根据应用的特性和运行环境的需求提供满足应用所需的云服务器。
应用中间件:应用中间件主要指为应用系统提供运行容器的服务,支持常见的开源中间件和商业化中间件,包括但不限于WebLogic、Tomcat、IIS、Apache等。
关系型数据库:关系型数据库主要指为应用系统提供关系型数据库的服务,支持常见的开源数据库和商业化数据库,包括但不限于Oracle、Mysql、SQL Server、PostgreSQL等。
消息引擎:消息引擎指为应用系统提供各类应用所需的消息接口,在PaaS平台中主要通过平台接入消息服务,并对各类需要使用消息服务的应用提供消息服务的实例的方式实现,包括但不限于RabbitMQ等。
缓存:缓存指为应用系统提供集中缓存或分布式缓存的服务能力,以标准的缓存服务的接口为应用系统提供服务,包括但不限于MemCache、Redis等。
内置开源服务:PaaS平台带有了一些常用的服务,并且可以根据用户需求进行添加,目前的主流服务PaaS平台均支持。
开发组件服务
开发组件服务主要指能够为应用开发者提供开发环境、测试环境以及软件过程管理的工具组件服务。通过开发组件服务,能促进应用程序的开发、运维以及质量管理部门之间的沟通、协作与整合。开发组件服务包括以下几类:
开发工具服务:开发工具服务主要为应用开发者提供开发工具,应用开发者基于这些工具可以完成应用的编码、配置、测试、编译等。开发工具包括但不限于:Java开发环境、PHP开发环境、Python开发环境、C++开发环境、FPM(软件包管理器)服务等。
测试工具服务:测试工具服务主要为应用开发者、应用测试者提供测试工具,可以基于这些工具来完成对应用的测试。包括但不限于:LoadRunner测试工具、QTP测试工具、iozone/iometer测试工具等。
项目管理与交付服务:主要为应用开发者、质量管理人员等提供软件开发项目管理及流程方面的服务,应用开发者、质量管理人员、应用测试人员可以基于这些服务来完成项目的管理流程。包括但不限于Git(代码仓库管理)、Jenkins(持续集成工具)、Buildbot(自动化编译测试)。
通用技术服务
通用技术服务主要指电力企业所采用的通用技术模型或组件,可以作为公共的技术服务组件为全公司的应用系统提供服务能力,从而实现软件集成与统一的效果。通用技术服务主要如下:
GIS系统:GIS系统是南方电网的一种典型通用技术服务,很多应用系统都要使用地图信息服务,与GIS系统建立信息交互通道。通过服务抽象技术可以将GIS系统进行多实例化,每个需要GIS服务的应用系统均能绑定对应的GIS服务实例,与之进行通信和业务交互,满足应用系统的建设需求。
安全认证系统:安全认证系统是南方电网的一种典型通用技术服务,几乎所有的应用系统都要接入安全认证系统,完成对用户登录鉴权、授权和认证,用同一套安全认证系统来保障全网安全认证的凭证,保障应用系统的安全使用。通过服务抽象技术可以将安全认证系统进行多实例化,每个需要安全认证的应用系统均能绑定对应的安全认证系统的服务实例,通过服务实例来完成对该应用系统的安全认证。
流程引擎:流程引擎为应用系统提供流程定义与运行的能力,根据流程引擎能够实现业务流程功能的快速开发,达到业务快速上线的效果。
报表引擎:报表引擎为应用系统提供报表定义与展现的能力,便于根据报表引擎快速构建报表的功能。
数据模型:数据模型是企业的数据标准,所有应用系统的数据规范均来自于数据模型。通过服务抽象技术可以将数据模型进行多实例化,从而要求各应用系统均按照数据模型的要求进行开发和构建。
语义模型:语义模型是企业的语义标准,所有应用系统的语义规范均来自于语义模型。通过服务抽象技术可以将语义模型进行多实例化,从而要求各应用系统均按照语义模型的要求进行开发和构建。
分布式环境服务
分布式环境主要用于解决海量数据的处理,为大数据平台提供环境服务,通过PaaS平台可以部署和管理分布式环境服务,并通过服务抽象技术为大数据应用提供环境支撑。实现PaaS平台与分布式环境在架构上的整合,进一步提供灵活的资源交付方式。一方面物理资源可以通过虚拟化的技术按照小粒度方式交付使用以提高资源利用率,即传统意义上的“大虚小”;另一方面物理资源或者小粒度的虚拟化资源可以按照分布式的方式组成大规模的计算节点以提供高密度的计算能力,即传统意义上的“小虚大”。
服务部署主要用于将服务目录中的服务模板部署为运行环境,由应用系统通过应用堆栈来启动从而发起服务部署任务。应用堆栈向服务发起部署指令后,会到服务目录中获取对应服务的服务模板、规则策略和执行脚本,并分别根据其自动化调度来启动最佳匹配的基础设施资源(如虚拟机);根据规则引擎解析规则策略,并生成服务规则来控制服务环境;根据脚本引擎解析执行脚本,并生成服务事件来控制服务环境,共同达到服务部署后正确运行的情况。
研究能够将外部服务(例如已经运行中的Oracle数据库)接入到PaaS平台中,并能通过服务抽象技术为应用系统提供服务的技术。
由于外部服务系统基本上都是已经建成并长期在线运行的系统,其中不乏有一些技术架构相对比较落后,虽然南网已经进行了SOA技术体系方面的技术标准研究,但并未实质性执行。为此PaaS平台也必须能接入这些已经运行的系统。PaaS平台引入了ESB技术来负责接入外部系统,ESB基于工业标准,遵循.NET规范、完全支持XML数据交换、支持Web服务常用规范(如SOAP、WSDL等)。为了方便用户进行异构系统接入,ESB还提供了大量的符合标准规范的适配器,如文件系统、各种数据库、消息中间件等系统的适配器,同时也提供了JDK和WebService接口的方式的适配器定义方法,可以方便的帮忙外部应用系统定义和设置适配器,通过适配器接口外部应用系统接入ESB模块。
ESB提供了从企业应用集成的设计、开发、部署,到运行、管理、监控等各个生命周期阶段的工具和完整解决方案。它提供的开发工具具有简单、经济、扩展性强等特点,全面支持服务接入,例如最常用的Web Service接口形式,简化了服务的创建与封装,并能够提供灵活地编排服务的用户接口,以满足不断变化地业务需要和业务处理流程。
通常ESB采用标准的Web Service进行数据交互。标准的WebService是一种比较成熟的适合跨平台的数据交换方式,能够降低连接到ESB的系统的技术要求和操作平台限制。Web Service底层采用XML进行数据交换,便于维护和交互。目前ESB提供的服务有三种:负责处理消息通讯的服务、负责处理文件传输的服务和负责处理数据交互的服务。负责处理消息通讯的服务主要处理外部系统接入的接口消息;负责处理文件传输的服务主要处理文件的传输,如上传、下载等;负责处理数据交互的服务主要通过标准SQL直接访问数据库。
如图5所示,所述服务抽象模块5包括:
独占式服务处理模块20,用于PaaS平台以集群、分布式的方式对服务进行部署,以满足应用系统的运行需求;该技术的优势在于服务只为一个应用系统所使用,能最大限度的满足应用系统的运行需要,尤其适合大型应用系统。
共享式服务处理模块21,用于根据PaaS平台的预置服务,通过服务抽象引擎,将运行中的服务进行多实例化。各个实例在逻辑上是相互隔离的,每个实例可以单独为一个应用系统提供服务。该技术的优势在于服务能统一管理和分配,集成能力比较强,服务的利用率非常高,并能真正屏蔽应用系统对服务的技术依赖,尤其适合一些中小型应用系统。
服务抽象技术,主要应用在共享式服务类型,能集成常见的企业内部各种服务和工具,通过服务抽象引擎将运行的服务进行多实例化,每个实例均能作为一个对象来单独为应用系统提供服务能力,PaaS平台能针对每个实例的资源进行监控和查看,多实例之间通过三层网络隔离技术进行隔离,相互之间不能通信。
应用系统通过服务网关来绑定服务实例,在应用系统和服务实例建立了绑定关系后,应用系统可以直接连接到服务实例进行使用,从而屏蔽服务网关的通信瓶颈,使得应用系统能更加健康、稳定的运行。
根据电力企业信息化特点,发、输、配、售各环节在逻辑上分拆管理,不同环节的内涵具有较大的差异,要求各环节信息系统运行在各自匹配的基础资源上,所以PaaS平台需要支持环境分区功能,将系统划分为发电区、输电区、配电区、售电区等;另一方面从应用系统的开发设计到上线运行,每个阶段也需要不同的基础设施资源,所以PaaS平台需要划分出开发区、测试区、生产区等;另外从安全的角度,PaaS平台还可以根据企业的各部门或信息系统的特性,划分出机密区、秘密区、公开区等。综合来讲,PaaS平台必须具有逻辑分区能力,来支撑信息系统的多样性,每个分区都可能由多种异构基础设施资源来组成(如VMware、KVM、物理机、Docker等),所以基于异构基础设施的环境分区技术研究十分重要。
实现环境分区,最核心的技术是资源的隔离技术,并且要求在底层的基础设施服务器、网络设备、存储设备都能做到逻辑上的隔离。整体PaaS平台是SOA的架构体系,在设计上是松散耦合、组件分离、实现封装和标准化合约等设计原则,建立中央控制和管理点。除此外,不同的环境分区之间不相互影响,在运行的时候共享的IT资源组件也是相互隔离的,一般的隔离技术主要表现在三个方面,即:机器隔离、集群隔离和应用程序服务器实例隔离。
机器隔离:主要指在硬件层面所做的隔离。这种隔离方式是最简单、也是成本最高的方法,即将应用环境组件放到分割的硬件资源上,一个硬件单元不会影响另一个硬件单元。这种隔离不利于充分利用IT资源,不利于集中管理和维护。
集群隔离:主要指不同集群进程之间的隔离,也称之为跨集群隔离。一个应用环境中,其应用程序、消息组件、数据存储组件均使用单独的集群,每个集群都有一个或多个进程表示。这种情况下,一个进程不会影响另一个进程。这种隔离手段可以为集群创造组件冗余和可伸缩性,但是需要额外创建集群或集群的成员,这样必然会在内存、CPU和容量方面付出代价。
应用程序服务器隔离:主要指不同应用程序服务器之间的隔离,该方法的隔离粒度进一步减少,可以渗透到应用程序服务器的线程、连接甚至消息队列中。应用程序服务器隔离的核心是创建应用程序域,一个域包含一个或多个应用环境,跨域之间的应用环境是不可相互访问的。应用程序域提供良好配置和部署隔离,很适合私有PaaS平台。
实施例2
如图6所示,本实施例提出一种基于电力PaaS云平台的服务建模方法,该方法包括:
服务建模步骤,用于获取软件的服务方式,并将软件进行服务化,提取相应的服务模式,存储在服务目录中提供服务;
服务目录步骤,用于获取PaaS平台管理多种软件的方法,并对其进行存储;
服务部署步骤,用于将服务目录中的服务部署到需要的基础设施资源中,形成应用环境;
外部服务接入步骤,用于将PaaS平台外围的服务以接口的方式集成到PaaS平台中,统一为应用系统提供服务;
服务抽象步骤,用于将运行的服务以多实例化的方式为应用系统提供服务能力;
环境分区步骤,用于为多个部门的不同应用系统进行分区管理。
本实施例提取电网信息系统所共需的组件元素和技术元素,将其转化为PaaS平台的服务组件。PaaS平台以服务目录为核心提供和管理服务,通过服务建模技术将软件系统模型化,从而生成阢,通过服务抽象技术,将服务进行多实例化,最终为应用系统提供应用环境支撑能力。
优选的,如图7所示,所述服务建模步骤包括:
配置步骤,用于通过提取软件运行过程中所需的共性元素,并对其进行设置,来完成对软件的模型化;
事件设定步骤,用于通过事件脚本来设置所对应事件产生的行为;
服务模式设定步骤,用于软件在运行时提供相应的服务模式,包括单实例、多实例和混合实例三种服务模式。
优选的,如图8所示,所述配置步骤包括:
弹性调度配置步骤,用于预先定义弹性调度的触发条件、触发时机和调度行为;
网络配置步骤,用于打通基础设施层面的网络管理模型,设置子网与运行IP;
存储配置步骤,用于打通基础设施层的存储管理,设置存储方式与容量;
安全配置步骤,用于打通基础设施层的安全模型,设置其访问控制列表配置规则,完成相应的网络隔离;
全局变量配置步骤,用于设置服务运行所需的全局变量,外部使用全局变量来控制服务的运行;
自定义配置步骤,用于通过自定义模型来构建主机名称、定时策略、防火墙代理、脚本执行、日志文件和超时策略。
优选的,如图9所示,所述服务目录步骤包括:
应用环境服务步骤,用于为应用系统提供环境支撑能力;
开发组件服务步骤,用于为应用开发者提供开发环境、测试环境以及软件过程管理的工具组件服务;
通用技术服务步骤,用于通过通用技术模型或组件为应用系统提供服务能力,实现软件集成与统一;
分布式环境服务步骤,用于解决海量数据处理,为大数据平台提供环境服务,通过PaaS平台部署和管理分布式环境服务,并通过服务抽象技术为大数据应用提供环境支撑。
优选的,如图10所示,所述服务抽象步骤包括:
独占式服务处理步骤,用于PaaS平台以集群、分布式的方式对服务进行部署,以满足应用系统的运行需求;
共享式服务处理步骤,用于根据PaaS平台的预置服务,通过服务抽象引擎,将运行中的服务进行多实例化。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。