一种基于电力PaaS云平台的信息集成系统及方法
技术领域
本发明涉及电力PaaS云平台服务领域。
背景技术
在云计算需求迅速增长的环境下,世界上信息产业发展领先的国家和地区对云计算给予了高度的重视,将云计算技术提升到战略发展的高度。各国研究并制定了云计算发展相关的战略规划,部署了国家级云计算基础设施,以加快推动云计算应用的建设,抢占云计算技术和产业发展的至高点。例如,美国政府正在大力推行的云计算计划,内容涉及生产制造产业结构调整、云端产业发展、商务业务整合、政府网站改革、社交媒体等诸多方面。
我国政府高度重视云计算产业发展,国务院《关于加快培育和发展战略性新兴产业的决定》(国发〔2010〕32号),把促进云计算技术研发和示范应用建设作为发展新一代信息技术的重要任务。目前,我国云计算应用在政府、电信、医疗、金融、电力、石油石化等行业取得了快速发展,建设了大批示范工程。“十二五”期间,我国云计算市场的产值规模已突破1万亿元人民币,云计算产业已度过市场培育期,进入快速发展阶段,预计未来几年,年均产值复合增长率将超过80%。
随着信息技术的高速发展,企业级数据中心的规模越来越大,信息技术在企业中的作用也越来越重要。传统企业数据中心的建设,主要依据业务应用系统的需求进行软硬件资源配置,这样的模式存在以下缺点:首先,资源利用率很低,据权威机构统计企业数据中心服务器资源平均利用效率只有20%-40%;其次,IT系统规模的增长,导致运维成本日益高昂;再次,系统模块之间依赖关系很强,导致应用系统缺乏对业务变化的快速适应能力;最后,人工运维的工作方式不能满足数据中心对高可用性的需求,企业业务的连续服务和关键数据安全也得不到可靠保障。
发明内容
本发明为了解决上述现有技术所存在的问题,提出了一种基于电力PaaS云平台的信息集成及方法。
本发明解决上述技术问题的技术方案如下:一种基于电力PaaS云平台的信息集成系统,该系统包括:
应用堆栈模块,用于为复杂的应用系统按组件细分堆栈结构,按层次分别进行管理、配置和调配,最大限度的解除层次间的耦合关系;
环境编排模块,用于处理应用环境中的不同组件之间的关系;
微服务构架模块,用于根据PaaS平台的集成能力,结合微服务架构模式,逐步改造现有应用系统或构建新型的微应用系统;
应用交互与集成模块,用于根据面向服务的体系结构,打通应用系统的接口交互;
数据交互与集成模块,用于根据面向服务的体系结构,打通应用系统的数据交互方式。
本发明的有益效果是:本发明将微服务架构技术与PaaS平台进行深度结合,基于PaaS平台研究适合电力企业的微服务架构支撑技术,并基于此技术逐步开展应用交互与集成和数据交互与集成,打通不同应用系统之间的信息孤岛和技术壁垒,增强应用系统之间的信息交互,从而实现业务协同与联动,进一步提升电力企业的信息化生产力。通过采用应用堆栈技术,更便捷的为微服务架构类型的系统提供应用环境。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述应用堆栈模块包括:
堆栈创建模块,用于为应用环境创造其运行所需要的环境;
环境编排设置模块,用于对应用环境进行环境编排设置;
脚本解析和管理模块,用于解析PaaS平台内的各种事件发生后产生后续的一系列自动化行为。
进一步,所述微服务构架模块包括:
终端强化与通道弱化模块,用于当构建不同进程间通信机制时,将通信过程中的路由、编码、传输和业务处理方法强行加入到通信机制中;
分散治理模块,用于对应用系统中的各个组件进行分散管理;
分散数据管理模块,用于对应用系统中的各种数据进行分散管理;
基础设施自动化模块,用于利用PaaS平台所制成的持续部署及持续集成的能力,实现基础设施的自动化;
容错性设计模块,用于当服务发生故障时,进行故障检测和自动恢复。
一种基于电力PaaS云平台的信息集成方法,该方法包括:
应用堆栈步骤,用于为复杂的应用系统按组件细分堆栈结构,按层次分别进行管理、配置和调配,最大限度的解除层次间的耦合关系;
环境编排步骤,用于处理应用环境中的不同组件之间的关系;
微服务构架步骤,用于根据PaaS平台的集成能力,结合微服务架构模式,逐步改造现有应用系统或构建新型的微应用系统;
应用交互与集成步骤,用于根据面向服务的体系结构,打通应用系统的接口交互;
数据交互与集成步骤,用于根据面向服务的体系结构,打通应用系统的数据交互方式。
本发明的有益效果是:本发明将微服务架构技术与PaaS平台进行深度结合,基于PaaS平台研究适合电力企业的微服务架构支撑技术,并基于此技术逐步开展应用交互与集成和数据交互与集成,打通不同应用系统之间的信息孤岛和技术壁垒,增强应用系统之间的信息交互,从而实现业务协同与联动,进一步提升电力企业的信息化生产力。通过采用应用堆栈技术,更便捷的为微服务架构类型的系统提供应用环境。
进一步,所述应用堆栈步骤包括:
堆栈创建步骤,用于为应用环境创造其运行所需要的环境;
环境编排设置步骤,用于对应用环境进行环境编排设置;
脚本解析和管理步骤,用于解析PaaS平台内的各种事件发生后产生后续的一系列自动化行为。
进一步,所述微服务构架步骤包括:
终端强化与通道弱化步骤,用于当构建不同进程间通信机制时,将通信过程中的路由、编码、传输和业务处理方法强行加入到通信机制中;
分散治理步骤,用于对应用系统中的各个组件进行分散管理;
分散数据管理步骤,用于对应用系统中的各种数据进行分散管理;
基础设施自动化步骤,用于利用PaaS平台所制成的持续部署及持续集成的能力,实现基础设施的自动化;
容错性设计步骤,用于当服务发生故障时,进行故障检测和自动恢复。
附图说明
图1为本发明实施例所述的基于电力PaaS云平台的信息集成系统的原理示意图;
图2为本发明实施例所述的应用堆栈模块1的原理示意图;
图3为本发明实施例所述的微服务构架模块3的原理示意图;
图4为本发明实施例所述的基于电力PaaS云平台的信息集成方法的流程图;
图5为本发明实施例所述的应用堆栈步骤的流程图;
图6为本发明实施例所述的微服务架构步骤的流程图。
附图中,各标号所代表的部件列表如下:
1、应用堆栈模块,2、环境编排模块,3、微服务构架模块,4、应用交互与集成模块,5、数据交互与集成模块,6、堆栈创建模块,7、环境编排设置模块,8、脚本解析和管理模块,9、终端强化与通道弱化模块,10、分散治理模块,11、分散数据管理模块,12、基础设施自动化模块,13、容错性设计模块。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
实施例1
依托PaaS平台的技术架构与服务模型,使PaaS平台的服务内容具备良好的扩充能力,从而PaaS平台具备强大的服务整合能力。PaaS平台是一个开放的、松耦合的、易扩展的技术平台,依托PaaS平台的服务抽象与自动化调度能力,能逐步的增加信息系统的业务聚合能力,并将信息系统所需要的基础设施能力、技术服务能力、环境服务能力、数据服务能力等进行进一步的整合。
PaaS平台通过业务集成服务完成不同信息系统所需要的业务服务和不同信息系统之间的业务交互;通过数据集成服务完成不同信息系统所需要的数据服务和不同信息系统之间的数据交互。从而增强信息系统的业务聚合能力、快速开发上线能力和进一步的创新业务能力。
如图1所示,本实施例提出一种基于电力PaaS云平台的信息集成系统,该系统包括:
应用堆栈模块1,用于为复杂的应用系统按组件细分堆栈结构,按层次分别进行管理、配置和调配,最大限度的解除层次间的耦合关系,达到真正按需所用的效果;
环境编排模块2,用于处理应用环境中的不同组件之间的关系,表现为应用环境的启动序列、停止序列等,保证应用环境中所有组件都是有序运行的;
微服务构架模块3,用于根据PaaS平台的集成能力,结合微服务架构模式,逐步改造现有应用系统或构建新型的微应用系统;
应用交互与集成模块4,用于根据面向服务的体系结构,打通应用系统的接口交互,避免应用系统的信息孤岛,增强应用系统的协同能力;
数据交互与集成模块5,用于根据面向服务的体系结构,打通应用系统的数据交互方式,接触应用系统之间的脏乱数据,增强应用系统的数据服务能力。
以下对上述各模块进行详细的说明。
应用堆栈模块
应用堆栈技术主要解决针对复杂的应用系统或环境的管理和配置,包括分布式文件系统、Hadoop、大规模数据库等,也包括多层次的应用堆栈架构体系的应用系统等。支持多层次、松耦合、服务化的特性的应用架构,在PaaS平台中,应用运行环境是由应用软件及其依赖的数据库和中间件(如MySQL,Nginx,Tomcat)组成的。一般说来,应用环境是一组构成应用所需的各类软硬件资源和服务的堆栈,因此也可以称作应用堆栈管理。通过对应用环境管理进行配置和编排,可以实现应用的自动部署和管理。
如图2所示,应用堆栈模块1包括堆栈创建模块6、环境编排设置模块7和脚本解析和管理模块8:
堆栈创建模块6,用于为应用环境创造其运行所需要的环境;应用环境是指一些服务组件和层次的逻辑集合。创建环境的过程就是为应用创造其运行所需要的环境的集合。在创建一个应用环境时,需要通过添加相关的服务,例如应用服务、数据库服务和负载均衡服务,并为应用环境命名、然后绑定应用实例,并选择应用实例运行所需要的资源作为其运行的基础。
此外,为了保证应用的正常工作,PaaS平台支持弹性伸缩,可以定义伸缩策略,PaaS平台可通过监控应用运行的状态按照策略自动增加或者减少实例数量,通过创建应用环境操作界面为应用实例设置相关服务实例数量和应用服务器实例数量。例如,设置最小实例为2,最大实例为5,在正常运行的情况下,一个应用实例的完整环境就由包括2个应用服务器和2个服务实例的集群组成,在访问负载增大的情况下,可以自动扩展到由5个应用服务器和对应数量的服务实例组成的集群化的应用运行环境。
环境编排设置模块7,用于对应用环境进行环境编排设置;为避免应用系统和服务在运行的过程中遇到各种意外情况(如宕机和不当操作等)导致应用或者服务出现停止或失败。
PaaS平台按照最佳实践提供一套简单易用的流程及工具,即“环境编排”来帮助应用系统处理PaaS平台里的基础设施和服务。环境编排是基于一个事件驱动的框架,允许自动安装和管理服务器的功能机制,PaaS平台通过环境编排,使得用户在某个特定事件发生时执行自定义脚本。例如在创建的某个的应用环境中,可以通过对应用环境进行环境编排设置,添加一个重启后的规则并选择使用相对应的脚本来实现在一个应用服务器重启时就会发送邮件或者以其他方式通知到用户。
启动环境的时候,即调用PaaS平台对应用环境的设置和编排顺序,按照预期的状态和顺序,分别启动相关的服务实例和应用服务器并进行绑定,为应用提供运行环境。PaaS平台能够监控各服务实例和应用服务器的状态,例如当一个数据库服务器因故障宕机,或者被不当操作误删除时,PaaS平台会更新预期的状态到实际的状态,启动一个新的实例来恢复到预期的状态,从而保证应用运行的稳定和服务的持续性。
脚本解析和管理模块8,用于解析PaaS平台内的各种事件发生后产生后续的一系列自动化行为。
PaaS平台提供了脚本管理的能力,支持多种语言编写脚本,来实现在PaaS平台内的各种事件发生以后产生后续的一系列自动化的行为。同时脚本管理可以开放给平台内的多个用户使用,从而使得脚本能够为更多的应用提供服务。此外,PaaS平台的脚本中支持使用“全局变量”获取参数,能够获得整个平台内的各类资源状况,从而扩大脚本的适用范围。
PaaS平台除使用上述的配置管理功能以外,还可以使用多种配置管理工具,如Puppet、Chef、Ansible和Salt等。依托对多种配置管理工具的支持能力,PaaS平台可以使用环境编排来自动添加新的服务实例到里的服务中,只需要使用启动主机事件触发运行服务配置列表里的脚本即可实现。
环境编排模块
环境编排技术主要解决在使用多个服务构建的多层应用环境中,各个服务之间所存在的时序关系、关联关系、依赖关系等编排处理。
大部分应用系统都由多个服务组件构成,于是应用系统所使用的框架服务之间的编排就变得非常重要。编排的基本作用是保证各个服务实例在一个应用系统框架下能够互相感知并按照正确的模式进行工作。比较典型的编排内容包括:
启停顺序,保证整个系统的能够正常的启动和停止;
变更事件,保证整个系统在某个组件出现扩容、停机等事件时,能够在其他与之连接的组件上触发相应的变更事件,并促使这些组件进行相应的反应;
外部内容事件:保证系统的各个组件可以通过脚本引入外部内容,例如部署应用程序或者插件补丁等,在引入外部内容后,在相关组件上触发相关的事件。
举例说明,用户构建一个比较典型的是三层结构的Web应用,由负载均衡器、Web服务器和数据服务器等三层组件构成。此时,用户的典型操作模式如下:
1、分别申请负载均衡、Web服务器和数据库三种服务实例;
2、构建一个应用系统,并将这三个实例都加入到这个应用系统中;
3、对这个应用系统中的三个实例进行基本编排,确定其启停顺序为数据库、负载均衡器和Web服务器;
4、在Web服务器上部署应用程序;
5、按照编排好的顺序启动应用系统。
微服务构架模块
历史遗留的应用系统,基本上都采用了“烟囱式”的独立建设模式,无论是开发还是运维都具有很大工作量,主要特点是:
应用系统是流程驱动的业务集成模式;
应用系统所需的服务器、组件、数据等都是独立的资源,难以进行分割,导致系统越来越复杂;
业务逻辑相媾和,用户体验不够好。
针对“烟囱式”的建设模式,PaaS平台结合微服务架构技术针对应用系统循序渐进的进行改良,以使得复杂而庞大的应用系统变成为由众多服务所构成的微型系统。
微服务架构将业务与服务解耦和,业务采用相对专业的服务,彼此之间使用统一的接口来进行交流,架构变得简单,优势也非常明显,微服务架构的优势主要表现在:
①复杂度可控:在将应用分解的同时,规避了原本复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表述服务边界。由于体积小、复杂度低,每个微服务可由一个小规模开发团队完全掌控,易于保持高可维护性和开发效率。
②独立部署:由于微服务具备独立的运行进程,所以每个微服务也可以独立部署。当某个微服务发生变更时无需编译、部署整个应用。由微服务组成的应用相当于具备一系列可并行的发布流程,使得发布更加高效,同时降低对生产环境所造成的风险,最终缩短应用交付周期。
③技术选型灵活:微服务架构下,技术选型是去中心化的。每个团队可以根据自身服务的需求和行业发展的现状,自由选择最适合的技术栈。由于每个微服务相对简单,当需要对技术栈进行升级时所面临的风险较低,甚至完全重构一个微服务也是可行的。
④容错:当某一组件发生故障时,在单一进程的传统架构下,故障很有可能在进程内扩散,形成应用全局性的不可用。在微服务架构下,故障会被隔离在单个服务中。若设计良好,其他服务可通过重试、平稳退化等机制实现应用层面的容错。
⑤扩展:单块架构应用也可以实现横向扩展,就是将整个应用完整的复制到不同的节点。当应用的不同组件在扩展需求上存在差异时,微服务架构便体现出其灵活性,因为每个服务可以根据实际需求独立进行扩展。
微服务架构基本上已经是业界当前或未来信息系统发展和变革的方向,如图3所示,本实施例所述的微服务构架模块3包括终端强化与通道弱化模块9、分散治理模块10、分散数据管理模块11、基础设施自动化模块12和容错性设计模块13,
终端强化与通道弱化模块9,用于当构建不同进程间通信机制时,将通信过程中的路由、编码、传输和业务处理方法强行加入到通信机制中。
比如企业服务总线(ESB),这类技术提供更有效的方式改进通信过程中的路由、编码、传输、以及业务处理规则。微服务倾向于做如下的选择:强化终端及弱化通道。微服务的应用致力松耦合和高内聚:采用单独的业务逻辑,表现的更像经典Unix意义上的过滤器一样,接受请求、处理业务逻辑、返回响应。它们采用简单的REST(Representational StateTransfer)风格,而不是复杂的协议,如WebService或者BPEL或者集中式框架。通过轻量级消息总线来发布消息,这种的通信协议非常的单一(单一到只负责消息路由),像RabbitMQ或者ZeroMQ这样的简单的实现甚至像可靠的异步机制都没提供,以至于需要依赖产生或者消费消息的终端或服务来处理这类问题。在整体风格中,组件在进程内执行,进程间的消息通信通常通过调用方法或者回调函数。从整体式风格到微服务框架最大的问题在于通信方式的变更。从内存内部原始的调用变成远程调用,产生的大量的不可靠通信。因此,需要把粗粒度的方法变成更加细粒度的通信。
分散治理模块10,用于对应用系统中的各个组件进行分散管理。
集中治理的一种好处是在单一平台上进行标准化。经验表明这种方法的优势在缩小,因为并不是所有系统面临的问题都相同,通用的解决方案并不存在。当前的趋势更倾向于采用适当的工具解决适当的问题,整体式的应用在一定程度上比分散式的多语言环境更有优势,但也不是适合所有的情况。把整体式框架中的组件,拆分成不同的服务,在构建它们时有更多的选择。例如用Node.js去开发报表页面,用C++来构建时时性要求高的组件,想在不同类型的数据库中切换,来提高组件的读取性能。
采用微服务架构使不同标准之间的兼容工作难度更小,例如可以开发针对性的工具来解决开发者遇到的相似问题,这些工具通过解决实际问题发展起来,并得到更广泛范围内分享使用。分享协作的工作模式可以激励其它开发者也使用相似的方式来解决相似的问题,同时,也需要保留使用不同方法的权力。共享库更关注于数据存储、进程内通信以及自动化等层面的内容。
分散数据管理模块11,用于对应用系统中的各种数据进行分散管理。
对数据的分散管理有多种不同的表现形式。最为典型的是抽象层次,意味着不同系统中的通用概念是不同的。尤其是在跨系统整合的大型项目中,用户使用不同系统将得到不同的信息,不同的表达方式可能存在相同的词义。应用系统之间这个问题普遍存在,但有时同一个应用内部也存在这个问题,特别是当应用由不同的组件构成时。对待这个问题非常有用的方式为Bounded Context的领域驱动设计,把复杂的领域拆分成不同上下文边界以及它们之间的关系。这样的过程对于整体架构和微服务框架都很有效,但是服务间存在着明显关系时,需要对上下文边界进行区分,同时也在业务功能中强行拆分。
当整体式的应用使用单一逻辑数据库对数据持久化时,通常选择在应用的范围内使用一个数据库。微服务让每个服务管理自己的数据库:无论是相同数据库的不同实例,或者是不同的数据库系统。这种方法叫Polyglot Persistence。可以把这种方法用在整体架构中,但是更常见于微服务架构中。微服务分散数据的设计模式意味着管理数据更新。处理数据更新的常用方法是使用事务来保证不同的资源修改数据库的一致性。这种方法通常在整体架构中使用。使用事务是因为它能够帮助处理一致性问题,但对时间的消耗是严重的,这给跨服务操作带来难题。分布式事务非常难以实施,因此微服务架构强调服务间事务的协调,并清楚的认识一致性核心是最终一致性,以及通过补偿运算解决这个问题。选择处理不一致问题一般来说是新的挑战,但是也是一个常见的业务实践模式。通常业务上允许一定的不一致以满足快速响应的需求,但同时也采用一些恢复的进程来处理这种错误。当业务上处理强一致性消耗比处理错误的消耗少时,这种付出是值得的。
基础设施自动化模块12,用于利用PaaS平台所制成的持续部署及持续集成的能力,实现基础设施的自动化。
基础设施自动化技术在过去几年中得到了长足的发展,尤其是在PaaS平台的体系中,为用户减少了构建、发布、运维微服务的复杂性。利用PaaS平台所支撑的持集部署以及持续集成的能力。微服务开发团队可以使用这种方式构建软件致使更广泛的依赖基础设施自动化技术。
容错性设计模块13,用于当服务发生故障时,进行故障检测和自动恢复。
使用服务作为组件的一个结果在于应用需要有能容忍服务的故障设计。任何服务可能因为供应商的不可靠而故障,客户端需要尽可能的优化这种场景的响应。跟整体构架相比,这是一个缺点,因为它带来额外的复杂性,这将让微服务开发团队时刻考虑服务故障情况下的用户体验。当然,PaaS平台可以为每个应用的服务及数据中心提供日常故障检测和恢复。
由于服务可能随时发生故障,快速故障检测和自动恢复变更非常重要。微服务应用把实时的监控放在应用的各个阶段中,检测构架元素(每秒数据库的接收的请求数)和业务相关的指标(把分钟接收的定单数)。监控系统可以提供一种早期故障告警系统,让开发团队跟进和调查,对于微服务框架应用非常重要,因为微服务松耦合的相互通信模式不能防止意外行为。监控是至关重要的,它能快速发现这种紧急不良行为并迅速修复它。
应用交互与集成模块
应用交互与集成技术,主要解决将PaaS平台的服务支撑能力进行云化后,将这些服务进行集成和交互,从而构建出新的业务模型。PaaS平台将采用基于SOA的WebService集成技术,对已有的业务应用系统根据业务需求、服务对象及功能结构上进行分析和归类,并将表示层的模块封装成Web服务,请求者通过Web服务进行资源访问。
SOA特征包括服务的封装、服务的重用、服务的互操作、服务是自治的(Autonomous)功能实体、服务之间的松耦合度、服务的位置透明性、服务的协议无关性等。信息系统规划遵循SOA,保持运行系统具有良好的扩展性,已建成信息系统就不会很快被淘汰而不得不进行重复建设。通过这种SOA架构的技术,能进一步的实现服务的关联以及联动的效果。
在实际的企业场景中,业务审批、单据流转等业务场景非常常见。并且这些业务流场景往往需要跨部门、跨业务领域之间的协同。例如电网业扩包装业务,除了涉及到营销业务领域外,还有可能会涉及到资产管理、设备运行、财务管理等多个业务领域。在整合的企业IT架构中,除了有效地打破了应用领域的边界,实现各个不同应用领域业务功能服务的统一管理,还需要实现业务流程的协同和串联,通过对服务的引用,根据实际的业务需求将各个孤立的、离散的、实现单一功能的服务有机的串联起来,解决业务的流程流转问题。业务流程管理以业务为基础,并最终面向业务提供服务,因此强调业务流程建模和业务流程定制这两个与业务领域息息相关的问题。业务流程的建模由业务驱动,即流程的设计由业务人员完成,保障所得到的业务流程一定是符合实际的业务场景的,而不是业务人员告诉技术人员,并由技术人员“翻译”过的。
业务流程的定制,主要针对于在实际的运行中,已有业务流程不一定就是最合理的问题,且实际工作中可能会出现一个个业务瓶颈。业务流程管理强调业务流的绩效监控,不断对业务流进行改善,提高效率。由此,业务流程管理能力,首先在流程建模方面需采用业务人员可以看懂并识别,并能够进行业务流程建模的图形缄默语言。从开放性看,BPMN(Business Process Modeling Notation)建模语言符合这样的一个目标。通过符合BPMN规范和标准的建模工具,业务建模人员可以快速建立真实符合实际应用业务的业务流程。对于流程监控和管理,也是业务流程集成的重要组成部分。业务流程管理可以实时地监控业务流程的执行情况,帮助用户快速响应出现的问题并感知潜在未知的问题。用户以可视化的方式查看任意流程实例当前的运行状况,了解当前流程引擎健康状况,迅速地作出相应调整,甚至可以根据业务需要对任意流程实例进行后台干预,例如挂起、恢复、强行跳转等。
数据交互与集成模块
数据交互与集成技术,主要解决各个信息系统之间的数据集成与交互,从而达到信息传递,业务联动的效果。业务数据的集成包括两个方面:横向业务的数据交换与集成和纵向的业务数据集成与整合。前者主要是指在各独立信息系统之间进行数据交换与集成,使得业务数据能在各部门及各应用系统之间顺畅的流转。例如营配信息集成中的获取主网故障停电事件用例,通过营配信息集成提供的数据接口实现主网故障停电事件数据的共享,共享的数据包括主网故障停电事件、停电影响用户、主网故障停电的复电信息等。后者主要是指集团公司和下属公司之间的业务数据集成及整合,使得集团能通过及时、准确的各种业务数据对下属公司进行掌控。如集团可通过下属公司生产数据的每日上报、汇总、分析和挖掘,来分析各下属公司的生产是否正常和潜在的问题。
数据集成平台,是一个底层的系统,全面负责各应用系统运行过程中的数据集成工作,为业务集成提供数据支持。通过调用标准的信息共享交换接口,实现企业内部应用系统数据的自由交换。通过数据集成和交换,实现跨平台、跨系统、跨应用、跨地区的互联互通和信息共享,为大型企业经营组织之间进行公文交换、并联审批、数据挖掘等提供支持。
数据交换提供基于事件和消息的多种会话模式,包括:
①推:点到点或点到多点的主动信息推送方式。
②拉:点到点或点到多点的被动信息获取方式
③组播:在一个域或群组范围内的多点群发方式
数据交换必须能够支持多种不同的会话策略,包括:
①实时:基于事件驱动,由系统运行时动态产生和控制的会话方式。
②定时:由系统定时器根据预设的定时策略产生和控制的会话方式。
③手工:系统运行时由用户手工产生和控制的会话方式。
数据交换的过程,必须能够支持跨平台、跨协议、跨存储介质、跨数据结构的数据交换、映射、转换,提供不重、不漏、不错、不丢的可靠、安全、稳定的数据传输方法。
数据集成平台总体功能从以下几个方面进行设计:
(一)数据共享规则
在公共数据的采集、共享、交换过程中,不同部门不同的数据库,有数据提供方,相应也有数据需求方,由哪个系统提供哪些数据,哪个系统需要其它系统提供什么样的数据,这就是数据共享规则。有了共享规则,数据提供方就可以自己定义对外共享的数据格式,而各应用系统则可以根据这些格式来获取数据并解析,达到数据共享的目的。
(二)多数据资源支持
数据交换平台能够支持多种数据资源,包括各种主流的关系型数据库产品,并且能够支持各种如Excel、文本文件等文件存储资源,以及LDAP(Lightweight DirectoryAccess Protocol)等数据存储资源。数据交换平台能够从上述的多种多样的数据资源中采集数据,也能够将数据写入到各种数据存储资源中,实现和数据资源之间的双向数据操作。
数据交换平台支持两种类型的数据共享和集成,即分布式的数据汇集和分布式的数据访问。对于新建的应用系统,以及已建成采用中间件技术的应用系统,可以实现分布式的数据访问。这种情况下,数据存放在应用系统自己的数据库中,每个应用节点通过建立WebService来展示自己所能提供的数据的模式,在接到数据服务请求时,通过WebService调用来向外提供数据服务,在交换过程中使用XML来封装数据。对于网络状况不好的应用系统和基于C/S结构的应用系统,可以将其需要共享的数据通过节点服务器把数据提取到数据中心来,并定期进行更新。平台在接到数据服务请求时,直接从数据中心提供数据服务。
PaaS平台利用按需连接,多路复用,优先级管理,压缩传输等技术,保障数据高效、可靠、灵活地传输;PaaS平台对传送数据包可以实现加解密,平台本身提供传输节点间的身份认证机制,另外还融合了对第三方安全策略的支持,多层次保证数据传输过程中的安全。
实施例2
如图4所示,本实施例提出了一种基于电力PaaS云平台的信息集成方法,该方法包括:
应用堆栈步骤,用于为复杂的应用系统按组件细分堆栈结构,按层次分别进行管理、配置和调配,最大限度的解除层次间的耦合关系;
环境编排步骤,用于处理应用环境中的不同组件之间的关系;
微服务构架步骤,用于根据PaaS平台的集成能力,结合微服务架构模式,逐步改造现有应用系统或构建新型的微应用系统;
应用交互与集成步骤,用于根据面向服务的体系结构,打通应用系统的接口交互;
数据交互与集成步骤,用于根据面向服务的体系结构,打通应用系统的数据交互方式。
本实施例将微服务架构技术与PaaS平台进行深度结合,基于PaaS平台研究适合电力企业的微服务架构支撑技术,并基于此技术逐步开展应用交互与集成和数据交互与集成,打通不同应用系统之间的信息孤岛和技术壁垒,增强应用系统之间的信息交互,从而实现业务协同与联动,进一步提升电力企业的信息化生产力。通过采用应用堆栈技术,更便捷的为微服务架构类型的系统提供应用环境。
优选的,如图5所示,所述应用堆栈步骤包括:
堆栈创建步骤,用于为应用环境创造其运行所需要的环境;
环境编排设置步骤,用于对应用环境进行环境编排设置;
脚本解析和管理步骤,用于解析PaaS平台内的各种事件发生后产生后续的一系列自动化行为。
优选的,如图6所示,所述微服务构架步骤包括:
终端强化与通道弱化步骤,用于当构建不同进程间通信机制时,将通信过程中的路由、编码、传输和业务处理方法强行加入到通信机制中;
分散治理步骤,用于对应用系统中的各个组件进行分散管理;
分散数据管理步骤,用于对应用系统中的各种数据进行分散管理;
基础设施自动化步骤,用于利用PaaS平台所制成的持续部署及持续集成的能力,实现基础设施的自动化;
容错性设计步骤,用于当服务发生故障时,进行故障检测和自动恢复。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。