杨玉环 南京工业大学浦江学院
新时代下,信息技术突飞猛进,大数据、云计算、区块链等新兴信息化技术,在各行各业中得到普遍运用和认可,也成为了各企业提升核心竞争力的关键手段。新技术背景下,企业面临的信息化问题也越来越多,这就要求企业内的信息技术人员不能只满足于当前信息系统维护现状,还要革新数据信息的实现与处理方式,提升现有数据系统的运行效率,减少数据积压给企业带来的不利影响。笔者结合当前企业实情,探索以微服务架构来增强大数据应用与开发能力。
大数据其本质上是一个数据集,是由各种结构化与非结构化、以及半结构化数据组成一个庞大数据组,其数据体积大到当前处理系统无法有效处理,而需要一种全新处理模式来实现的一种信息化资产。大数据在企业中的应用,能确保企业获得更强的决策力和分析力,以更精准、更全面地收集市场中的各类有利数据信息,从而提升竞争力。数据总量大、类型多、实时性强、利用价值高等是大数据的显著特点,国际上将其这些特性简称为“4V”。大数据的数据类型具有多元性,既包括图像、数字、文字、符号,还包括音视频、超媒体等等内容。目前一般而言的大数据应用就是以大数据的数据挖掘、数据分析、数据管理、数据可视化等功能来对巨量数据信息进行分化、处理,并得出用以支撑各种决策的数据资源。
微服务架构是的对于传统IT 架构的一种革新,它有效降低了传统整体式架构在使用中,企业系统更新及修复困难的弊端,确保各类新的应用功能可快速上线,从而保障各业务的正常开展。微服务架构是一种架构形式,它将功能的每个元素,布置在分离的多个服务进程上,将不同的服务分散到不同的服务器,根据实际需求复制服务实现扩展。往往一个大型应用软件功能的实现,需要至少一个微服务来支持。在整个系统中的各个微服务具有一定的独立性,可致力于一个任务进行集中处理,能够确保该任务的完成质量。微服务具有一些明显的共同性,包括紧扣业务能力组织服务、自动化部署、智能端点、对语言及数据的“去集中化”控制等等。
笔者在此以电力企业为对象,以其现场检修为流程为例进行大数据应用分析。其工作流程为:渠道提出缺陷申请——计管人员分发到对应处室——处室分发到各执行班组——班组负责人开工准备——任务执行。工作实施中,各处室管员须先获得班组负责人的工开工申请,在评估和审核后才能进行执行阶段。申请内容须包括工作负载、工作人员信息、工单耗时情况等等。
在此工作场景中,以企业现有的大数据系统为依托,开展相关数据的收集、分析等。大数据系统集合了电力企业全部业务环节的所有信息,是一个庞大的数据资源库,是企业实现数字化管理,提升内部作业效率的重要工具,本场景中的大数据系统的大部分功能组件使用开源软件产品。总体设计主要包括数据收集、计算、服务以及数据应用。数据收集是将各类信息归纳到数据交换平台,针对不同种类的数据信息使用不一样的收集方式。数据计算层以 ETL 输入为数据计算途径,对系统内数据进行直接计算,其方式包括,实时与离线计算两种,过程中可同时对知识图谱作分析,以及实施自然语言处理等任务。数据服务体现为工具和存储两个层面,存储方式为分布式数据库、系统文件库、搜索引擎、以及图数据库等。数据应用方面,按实际使用者不同,主要分为业务系统、分析系统、云应用系统等。
本案电力企业使用的大数据系统以“Spring Boot”为技术框架,设计此框架的目的是为了简化新 Spring 的初始搭建程序。此框架采取特定的配置方式,省略开发人员的样板化配置程序。本框架可快速构建独立的“Spring Application”,而不须要进行外部部署。这个框架提供了非常多的扩展“starter”,可利用依赖探知实现系统的自主配置,而技术人员只需按实际使用要求添加相关“依赖”。此外,这个框架还可对作业场景中的性能状态进行全天候监控,并进行必要的外部配置。
电力企业大数据系统的微服务架构在实现上,依靠“Spring Cloud”。它借助与“Spring Boot”的开发优势,对分布式系统基础设施开发程序进行简化,在信息监控、资源配置、负载监测、等技术领域都能使用这种方式实现快速启动及部署。“Spring Cloud”不是一种新制造出来的重复框架,它是对市场上现有的成熟服务框架进行的整合,对“Spring Boot”进行的重新封装省去了以往相对复杂的配置程序。让开发者更容易理解和使用,也更容易进行系统维护。
“Eureka”是“Spring Cloud”微服务套件中的一个重要部分,它可以与“Spring boot”构建的微服务快速融合,Eureka 包含了服务器端和客户端组件,其客户端是一个java 客户端,也被称作是服务注册中心,用于提供服务的注册与发现,它支持高可用的配置,当集群中有分片出现故障时,Eureka 就会转入自动保护模式,它允许分片故障期间继续提供服务的发现和注册,当故障分片恢复正常时,集群中其他分片会把他们的状态再次同步回来。
Feign 具有可插拔注解支持功能,主要有与 JAX-R S 与Feign两种注解方式,同时也支持可插拔编码与解码。它是对Eureka 和Ribbon 相关功能地集成,可实现http 客户端的负载均衡。Zuul 是一个边缘服务的框架,其监控、弹性、安全等服务功能在云平台上体现比较充分。它使得跨横切面功能得以实现,包括系统安全认证、容错、限流以及日志等。本案中的电力企业大数据系统,设置了统计应用前端服务、基础数据微服务和统计API 微服务。这些服务都被注册到Eureka服务系统上,而微服务又以Feign 作为客户端,利用自主设置服务的实例数目,能够提升微服务的稳定性。
以微服务框架支持大数据应用和开发,在电力企业中的运用后,企业能够以最少的时间对巨量数据进行信息分离,快速获得各项决策所需的信息资源。使用者可以依据工单的时间、班组信息、工作任务、设备设施种类、工作人员信息、具体负责人等任一关键信息进行搜索,便可查询出检修时间、检修状态、检修人员等信息,同时使用者只需点击对应数字,就可以获得非常详细统计数据。数十万的检修数据,在微服务框架的支持下仅需几秒便可呈现出来,非常快捷。
电力企业为有效解决当前面临的巨量数据搜索难题,引入微服务架构支持大数据应用开发,以分层架构形式对大数据进行设计,把数据平台分成多个技术层次,各层以目前主要大数据技术为支撑,解决对应问题。通过微服务架构的作用,满足了大数据系统服务高可用、服务负载均衡等功能需求,为企业带来了极大效益。