浅析自动化流程对四川农信信息系统的影响

2019-09-10 07:22张朝辉
大众科学·中旬 2019年4期
关键词:自动检测

张朝辉

摘 要:研发运维一体化体系使系统开发、测试和运营有了较高质量的保证,也大大提高了效率,减少开发成本和开发周期,因此被广泛应用于互联网行业乃至金融业。研发运维一体化也是我社信息系统的新征程。本文将简单分析研发运维一体化体系中部分自动化流程,对信息系统的促进作用。

关键词:自动化流程;农信信息系统;自动检测

1 自动化流程

1.1 代码自动检测

代码自动检测指通过工具自动分析或检查源程序的语法、结构、接口、逻辑等程序问题,并对检测结果给出改进建议和修复时长,从而保证代码质量。

实现代码自动检测,首先是代码检测规则的标准化。代码规则主要包括缺陷的类型、严重程度、修复时长等标准,其中缺陷类型分为缺陷、漏洞及坏味道,严重程度可分为主要、次要、阻断、提示等几个等级,通过建立代码检测规则可以迅速检测源程序中是否存在缺陷。

检测规则确定后,即可通过代码检测工具(sonarqube等)对提交的代码进行检测与分析,从而确定代码缺陷的类型、严重程度、缺陷个数、修复时长、覆蓋率和重复率等详细信息,并通过邮件等工具把分析结果实时反馈到相关负责人,相关负责人在收到这些信息后,对缺陷进行再次分析,确认缺陷的有效性,并制定对缺陷修复方案、修复时长,进行代码缺陷的修复。

通过这样循环的“采集-分析-反馈-修复-跟踪”闭环操作,从根本上解决系统开发过程中代码缺陷,提高了代码质量,降低安全风险,提高软件开发效率。

1.2 自动化部署

自动化部署指通过触发方式自动化部署版本代替人工部署版本的操作。在传统单块架构的情况下,通过手工操作人工部署的时间上往往是分钟级、小时级的,而分布式系统架构,成百上千台机器,若是每台机器都通过人工部署,那不仅仅是时间上的问题,准确性和统一性的要求对于部署人员来说肯定是梦魇。在互联网迅速发展的今天,科学技术日新月异,随着持续集成工具(如jenkins、bamboo等)推广应用和分布式架构的成熟,仅通过一次触发操作即可以自动部署成百上千台机器,从而缩短部署时间,提高准确度和工作效率。

自动化部署过程是可视化的,自动化部署减少人工干预造成的不确定风险,缩短了系统部署时间,部署效率提高的同时部署的成功率也大大提高。

1.3 自动化测试

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,在预设条件下运行系统或应用程序,执行测试并评估测试结果,以达到节省人力、时间或硬件资源,提高测试效率和准确性,主要包括自动化设计、自动化开发、自动化执行和自动化分析。可以通过分层测试,来提高集成测试时的版本质量,同时从测试类型上来分,单元测试、接口测试、性能测试、集成测试等均可实现一定程度的自动化测试。

传统的单元测试需要大量人工操作来测试检查和验证最小测试单元,而自动化单元测试通过替代人工操作达到缩短测试时间和提高测试质量的目的;通过自动化性能测试工具模拟多种正常、峰值以及异常等负载条件来对系统的各项性能指标进行测试,通常借助工具(loaderunner,jmeter等)实现自动化性能测试,达到验证系统性能要求的目的;自动化接口测试主要用于快速检测系统提供的接口服务正确性;传统集成测试需要大量的人力做软件功能的测试验证,而自动化集成测试可以达到节省时间、减少人力成本、提高工作效率的目的。

自动化测试,可以保证测试质量,提高测试团队的工作效率,同时节约了人力成本并提高了测试人员能力。

1.4 自动化运维

自动化运维主要针对微服务,包括监控、自动巡检、告警、故障处理等方面。

(1)监控是自动化运维的前提。有效的监控机制能让我们迅速了解系统和微服务运行状况和发现服务故障。让运维人员迅速的发现异常,从而为分析问题和解决问题提供前提条件。

(2)自动化巡检是自动化运维的重要一环。自动化巡检指把系统及应用的历史信息形成基线指标,然后通过自动化巡检,把实时采集的信息与基线指标对比分析,及时发现系统隐患,把问题和故障消灭在萌芽中。

(3)告警是自动化运维的基础。当系统出现异常时,通过告警机制,能及时呈现在监控大屏等监控设备上,并通过邮件、短信及时告知运维人员及相关负责人,进而为分析问题和解决问题赢取宝贵时间。

(4)故障处理是自动化运维的目的。依靠微服务开关、限流、降级、熔断等服务治理机制和自动容错、故障隔离等机制对自动化运维进行支撑,实现故障自动隔离,提高故障处理效率和系统可用率,比如购买火车票、双十一秒杀可以采用限流机制,保障后台系统正常运行。

2 实施效果及展望

目前,我社已引入了自动化部署流程并取得初步效果,自动化代码检测、自动化测试、自动化运维等将结合我社现状相继引进实施。所以,以下自动化实施效果的阐述仅指自动化部署的实施效果。

2.1 效率提升

借助于自动化集成平台工具Jenkins,对现有的操作系统部署方式进行改造,通过测试环境反复验证,最终在生产上实现自动化部署,效率得到大大提升。以下是生产环境自动化部署实施前后的数据对比:

表1 生产环境自动化前后的数据对比分析

系统 手动部署(分钟) 自动化部署(分钟) 提升效率(倍)

能力中心 60 28 2.14

渠道交互 20 2.13 9.39

柜面前置 10 2.68 3.73

控管平台 10 1.77 5.65

综合前置平台 5 0.38 13.16

2.2用户体验提升

我们在开发、测试和生产三类环境进行了自动化部署的尝试,受到了开发人员、环境部署人员和运维人员等用户的一致好评,用户体验如下:

表2 用户体验评价表

角色 用户体验

开发人员 减少了手工打包、手动部署等人工操作步骤,节约了时间,提高了效率,值得提倡。

环境部署人员 对部署人员的技术要求降低,方便快捷,节省时间,易于操作。

运维人员 1.操作方便快捷,发布过程稳定,风险降低,效率得到大大提高。

2.流程规范,操作步骤清晰,行为可追溯。

从目前部分实施的效果分析,自动化流程的引进将会提高我社的工作效率、保障质量、提升用户体验,随着代码自动检测、自动化测试、自动化运维等自动化的引进,将会对我社的科技工作起到很大的促进作用。

参考文献:

[1]张明思,陆捷.电力工程中自动化技术的应用探索[J].机电信息,2018(6):23-24.

[2]胡玉睿.电力工程中自动化技术的应用探索[J].城市建设理论研究:电子版,2017(18):5795-5796.

[3]李建军.针对电力工程中自动化技术探索研究[J].中国科技投资,2016(25):146.

[4]李江华.电气自动化控制设备可靠性相关问题分析[J].城市建设理论研究(电子版),2018(22).

[5]赵杨,丁宝峰,杜翠女,赵明.浅谈电气自动化技术在火力发电中的创新与应用[J].硅谷,2011(03).

[6]应雪,董明君.电气自动化技术存在瓶颈及解决对策分析[J].电子元器件与信息技术,2017(02).

[7]祁杰.电气自动化技术在火力发电中的创新与应用[J].中国高新技术企业,2015(25).

猜你喜欢
自动检测
电子元件焊接质量识别中图像定位算法研究
智光智慧净水机中控制系统设计
机器视觉技术发展及其工业应用
基于城市环境空气质量自动化检测的研究
心电异常自动检测的研究
实现状态量变化检测的中断技术研究
基于B/S模式的燃气管网安全隐患监控系统的研究
基于超声测量模型的镁合金弹壳自动检测方法
轴承在线自动检测控制系统设计
材料试验机自动检测系统数字识别技术的研究