一、背景

在数据系统的运维运营中,经常遇到一些人工定期重复处理的场景,比如以下这些场景:

1、利用Excel中公式/函数,将各类表格型数据进行加工处理,基于生成的图表制作成PPT进行月度汇报;

2、每天人工检核数据系统的离线跑批是否正常并发送值班提醒;

3、提醒业务定期进行操作,如每个月手工上传各类表单型数据;

二、对比

在理想情况下,这些都是可以借助编程脚本或者平台工具进行解决的,然而在实践中,情况却往往比较复杂,需综合考虑架构、成本、安全、工作习惯改变等多种因素,因此依然存在大量的手工操作场景。以下是对比手工操作与自动化操作的优劣:

1、手工操作:

  劣势:

    繁琐,耗时,具有操作性风险。

    依赖某个具体的人,一旦离职或者休假,则容易成为单点风险。

  优势:

    每个步骤都可控,过程可信。

    可随时调整,方便快捷,无需提交开发测试上线发布等流程。

    类似程序员中的防御性编程,手工操作可以防御性数据管理。数据不上传,线下手工台账管理,紧握数据的控制权,更有安全感。

2、自动化:

  劣势:

    底层为黑盒子,依赖外部系统,一旦出错,无法自主解决。

    流程固化,一旦数据源或者规则逻辑改变,无法快速调整。

    若所有自动化程序基于某一个系统,一旦该系统出现问题,则会出现系统性风险。若涉及到多个系统的打通,带来潜在的系统之间信息泄露的安全风险。

    数据暴露给他人或者外部系统,数据的拥有方缺失对数据完全的管控。

  优势:

    便捷高效,对于一些重复度高(如日频率),操作复杂(步骤多,流程长),可以节省大量人力成本,并且降低了人为操作失误的风险。

    在架构合理成本可控的情况下,基于互信的组织文化,自动化可以最大化的发挥性能。

三、案例

  在实践中,有这样一个案例,风险管理部的业务需要每月给领导汇报公司产品的运营收益情况。每个月人工操作流程如下:首先将公司内部交易数据导出成表格,利用Excel中的iFind插件获取外部行情数据,然后利用公式函数生成部分图表,然后将图表复制到PPT中,制作最终的展现格式。整个流程操作复杂,耗时长,容易发生操作失误。分析整个流程之后,发现该报告的初始内外部数据在数据仓库中已采集落地,而图表展示则是BI工具的强项,基于系统平台进行自动化处理完全可行,数仓+BI的也是主流的数据服务架构,这些平台都已采购并完成搭建,只需要投入少量的人力开发成本。此外,这些系统也都针对数据安全做了管控,确保数据不会泄露。在实际开发过程中,与业务紧密沟通,最大化还原其手工报告,保持数据、功能及展示效果的一致性。最终项目顺利推进,上线后赢得了业务的认可。

四、总结

  手工操作自动化,往小了说,可能就是一个python脚本自动定时发邮件。往大了说,BI、AI本质也是用自动化的系统替代人工重复操作,如何推广这些应用并真正能有实用价值,考虑的角度就远远不只是技术了。扬长避短,才能让技术真正的为人服务。

程序自动化vs人工手动处理的更多相关文章

  1. web测试一般分为那几个阶段,哪些阶段是可以用工具实现的,都有些什么工具,哪些阶段必须要人工手动来实现呢?

    这是我在知乎上遇到的一个问题: web测试一般分为那几个阶段,哪些阶段是可以用工具实现的,都有些什么工具,哪些阶段必须要人工手动来实现呢? 首先这个提问本身就是有问题的, 没有哪个阶段是用工具实现的, ...

  2. 如何用ABP框架快速完成项目(8) - 用ABP一个人快速完成项目(4) - 能自动化就不要手动 - 使用自动化测试(BDD/TDD)

    做为一个程序员, 深深知道计算机自动化的速度是比人手动的速度快的, 所以”快速”完成项目的一个重要武器就是: 能自动化就不要手动.   BDD/TDD有很多优势, 其中之一就是自动化, 我们这节文章先 ...

  3. VMware vCloud与Zend Server实现PHP应用程序自动化交付

    在巴塞罗那2013年VMworld大会上,开发商VMware公司和zend公司在云管理市场上大放异彩.两家公司的产品VMware vCloud和Zend Server组合,实现了PHP程序自动化交付. ...

  4. 小程序UI自动化(一):appium小程序自动化尝试

    appium 进行 小程序自动化尝试: 由于工作中进行app自动化用的是appium,故首先尝试用appium进行小程序自动化,以美团小程序为例(python脚本实现) 一.配置基础信息 启动微信ap ...

  5. python 微信小程序自动化

    微信小程序自动化 https://www.cnblogs.com/yyoba/python27 - FautoTesthttps://www.cnblogs.com/yyoba/p/9973731.h ...

  6. 微信小程序自动化,记录趟过的坑!

    项目思想:关键字+数据驱动混合测试 基于Android-微信小程序自动化的关键是:webview的切换 对于微信App来说如何从NATIVE切换到webview的过程 测试版本信息 1.微信版本:7. ...

  7. 【小程序自动化Minium】一、框架介绍和环境搭建

    微信小程序自动化测试系列分享 一.Minium 简介 minium 是微信团队为小程序专门开发的自动化框架,我们可以用它来做小程序的UI自动化测试,但是它的能力却不仅仅在于UI自动化. 正是得益于官方 ...

  8. 【小程序自动化Minium】二、元素定位-Page接口中的 get_element() 与 get_elements()

    UI自动化中的重要工作就是元素定位了,高效精准的定位方法可以让工作事半功倍. 在过去的一段web自动化经历中,使用的selenium库支持了多种定位方法,我们可以利用这些定位方法来做进一步封装,写出符 ...

  9. 程序自动化需要一个Windows服务

    前段时间,写了一个SPC to SQL数据传输的小功能,用户不太想用手执行或有可能忘记操作.解决这个问题,Insus.NET原本是使用windows的任务管理执行的,但觉得并不太理想,因此又得写一个W ...

  10. Windows GUI程序自动化之pywinauto

    一. pywinauto知识点总结 官方英文版文档网址:https://pywinauto.readthedocs.io/en/latest/index.html 1.1 pywinauto的安装与配 ...

随机推荐

  1. 基于小熊派Hi3861鸿蒙开发的IoT物联网学习【六】--智慧农业MQTT数据上传华为云

    本示例将在BearPi-HM_Nano开发板上使用MQTT协议连接华为IoT平台,使用的是E53_IA1 智慧农业扩展板与 BearPi-HM_Nano 开发板.   E53_IA1开发板对应方法: ...

  2. 一文速通Python并行计算:11 Python多进程编程-进程之间的数据安全传输-基于队列和管道

    一文速通 Python 并行计算:11 Python 多进程编程-进程之间的数据安全传输-基于队列和管道 摘要: Python 多进程中,Queue 和 Pipe 提供进程间安全通信.Queue 依赖 ...

  3. Linux grep 匹配多个关键字

      Linux grep 命令非常常用,经常用于匹配文本字符.基本语法如下: grep 'keyword'fileName.txt   如上所示,Linux grep 命令用于查找文件里符合指定条件的 ...

  4. Jenkins自动化部署-----持续交付

    前言: 感谢之前带领过我的leader,让我能够知道什么是好的开发方法. 在很早之前就接触过敏捷开发.什么是敏捷开发,简单来说就是让软件可靠地,快速地发布出来的一种开发方法和技巧. 而敏捷开发中有许多 ...

  5. HTTP请求使用http、socks代理demo,包含有认证和无认证

    package cn.daenx.myadmin.email.utils; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpU ...

  6. 关于打高版本java,cc6复现

    关于打高版本java,cc6复现 从上一篇的cc1中我们发现他不能作用在jdk_8u71以上的版本,因此;为了解决这个问题,引入了cc6 之所以不能用cc1打高版本,是由于在Java 8u71以后, ...

  7. 重写IE的showModalDialog模态框以兼容现代浏览器

    背景 之前有个项目是 jsp 的,之前都是在 IE 浏览器上运行,现在要将这个项目做兼容性改造(信创),需要兼容谷歌.所以需要将项目中的公共弹框给改掉,而项目中模态框基本上都是用的 showModal ...

  8. ChatMoney智能体高情商接话神器

    本文由 ChatMoney团队出品 会说话是一个人的优势,而会接话才是一个人的本事.现实中很多人有这样的困扰:朋友聚会.上门拜访以及和人聊天.是不是完全不知道如何回应,只会说"嗯" ...

  9. 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-20- 操作鼠标拖拽 - 上篇(详细教程)

    1.简介 本文主要介绍两个在测试过程中可能会用到的功能:在selenium中宏哥介绍了Actions类中的拖拽操作和Actions类中的划取字段操作.例如:需要在一堆log字符中随机划取一段文字,然后 ...

  10. [原创]《C#高级GDI+实战:从零开发一个流程图》第05章:有锯齿?拖动闪烁?优化!优化!

    一.前言 前面的课程我们实现了矩形.圆形的拖动,以及不同形状间的连线,在实现的过程中,很多读者都发现并提出来了存在显示质量差有锯齿.拖动不流畅还闪烁等问题,作为承上启下的一节课程,我们本节就来看一上如 ...