什么是批处理?
批处理是指计算机分组处理收集到的若干任务。整个过程完全自动化,无需人工干预。这也可以称为工作负载自动化 (WLA) 和作业调度。
批处理是一种极具成本效益的方法,可以在短时间内处理大量数据。一旦启动,计算机只有在发现错误或异常时才会停止,然后通知相应的工作人员或经理。

何时在企业中使用批处理?
批处理具有一系列好处,但在处于以下情况的企业中是理想的选择:
- 有一个流程不需要立即解决,也不需要实时信息
- 需要处理大量数据
- 在一段时间内,计算机或系统处于空闲状态
- 一个无需人工投入的重复流程
批处理的一个很好的例子是信用卡公司的计费方式。当客户收到信用卡账单时,不是每笔交易都有单独的账单,而是一张整月账单。该账单是使用批处理创建的。所有信息都是在当月收集的,但会在某个特定日期进行一次性处理。
过去,银行在每天下班时都使用批处理,以免在高峰时段占用计算资源。但是,现在交易通常会立即处理。
人们熟悉的一个批处理示例是电子邮件系统。大多数程序都可以在发送电子邮件后将电子邮件存储一段时间,然后批量发送。这使用户有时间在发送电子邮件之前删除或编辑电子邮件,以避免 “手滑发错”,例如,当您忘记包含附件时。
为什么要使用批处理?
批处理早在计算机使用之初就开始了。在计算机编程指令的指导下,成批的打孔卡将在同一时间处理。批处理会一直运行到完成,或者发生错误,然后停止,需要手动干预。
使用这种方法,是出于计算机资源有限且缺乏像当前这样的强大处理能力。在下班时运行这些批处理意味着宝贵的计算机资源不会被占用,并且机器可以高速处理批量数据。
多年来,批处理发生了很大变化。现在,批处理数据不仅仅是一个 “下班” 或隔夜的过程。它不需要互联网连接即可处理,并且可以异步运行。基本上,这些批处理可以在任何合适的时间在后台运行,不会中断重要流程。
但即便如此,在当今大规模计算能力和云计算的情况下,仍然有充分的理由使用批处理。
批处理的好处
速度和成本节约
由于批处理在很大程度上是自动化的,因此不需要人工干预。自动化降低了运营成本,提高了事务和数据的处理速度。如果需要,组织可以确定数据处理顺序的优先级。
准确性
通过将人员排除在流程之外,不会出现人为错误,因此节省了时间和金钱,获得了更准确的数据和更满意的最终用户。
离线功能
批处理系统离线运行。在下班后,埋头苦干的机器仍在运转。管理员可以控制流程何时开始,以避免系统不堪重负和干扰日常活动。
一劳永逸
一旦批处理系统到位,它就是自动的。无需登录并检查或调整任何内容。如果出现问题,相应的工作人员会收到异常通知。如果不出问题,就是一个管理员可信赖的完全放手的解决方案。
操作简单
不需要持续的系统支持、额外的数据输入或专门的软件。一旦系统启动并运行,无需维护,这是一种低门槛的数据处理解决方案。
机器学习和人工智能的精确数据
人工智能面临的最大一个挑战就是数据质量差。数据科学家花费大量时间清理数据,消除错误和不一致之处。批处理由于其自动化特性,完全避免了数据错误。当发现异常时,会立即对其进行标记,以便快速解决。最终结果就是获得高度准确的数据,会创建准确预测。
充分利用现有计算机系统
允许在系统需求较低的位置处理数据,可以最大限度地利用现有系统。由于当系统达到某个带宽点时,可以触发批处理或自动运行批处理,因此无需购买新系统,并且可以更智能地使用现有资源。
批处理的挑战
虽然批处理是极佳的解决办法,但并非所有公司或场景都适用。有一些局限性和挑战,可能无法使其成为每个组织的最佳解决方案。
培训和部署
所有新技术都需要培训。经理和员工需要了解批处理触发器、日程安排以及如何处理异常通知和错误。
解决方案:解决方案是全面的培训,以及简单易懂的手册。系统设置好后,可能很少需要进行更改,因此进行异常训练非常重要。
调试系统可能非常复杂,因此最好有一名了解并专门研究这些系统的内部员工。一些组织可能会发现,聘请外部顾问是最好的解决方案。
成本
对于正在处理大量连续数据的大型企业和组织而言,实施批处理将节省时间和金钱。但是,对于没有数据输入人员或足够硬件来维持该系统的较小组织来说,启动成本可能不可行。
解决方案:在实施此类系统之前,必须进行彻底的成本分析和投资回报可行性研究。
批处理的替代方案
有两种处理数据的替代方法。两者都是计算领域的最新发展,但需要联网和高度可用的计算能力才可以使用。
流处理
这是在接收或生成数据时直接处理数据的情况。大多数数据都是连续的流;比如网站上的活动、金融交易、流量信息或信用卡交易。这些系统不需要存储大量数据,而是具有恒定的即时数据流。
当有许多操作频繁发生并且需要快速对事件采取行动时,流处理非常有用。例子包括股价或识别欺诈性信用卡交易。
实时操作系统
这些系统在数据进入时对其进行处理,没有延迟或缓冲。处理时间在微秒之内;这些系统是反应性的,在时序至关重要的时候使用。空中交通管制或多媒体系统就是示例。在十分之一秒内处理数据对于成品至关重要:飞机完美降落或多媒体系统同步。
这两种替代系统适用于某些环境和用例,其他则不可。在实施系统时,组织应该在做出决定之前先查看自己的数据和想要的结果。
何时应使用批处理?
如上所述,在某些特定情况下,批处理是理想的选择。没有正确或错误的答案,正确的选择甚至可能是混合系统。医疗系统就是选择混合选项的恰当示例:糖尿病血糖水平等可穿戴医疗设备需要进行流式处理,但计费可以采用批处理中完成。
不需要实时处理而又是批处理理想选择的情形可能包括:
- 工资单和工时表处理
- 公司或组织的细目发票,在一定时间内累积数据并生成主要输出结果
- 银行对账单
- 研究和报告
- 供应链和配送:与必须立即追踪库存水平不同,订购替换产品可能是每周或每月完成一次的任务
- 可能更喜欢每周或每月计费一次的计费系统
- 管理数据库更新
- 文件从一种类型转换为另一种,例如,月末发票从一种格式更改为 PDF
在考虑对组织进行批处理时,需要询问以下问题:
- 是否有大量手动任务需要完成?如何保证这些任务是正确的?是否有适当的系统来确保其准确性,并确保它们以正确的顺序提交和处理?
- 系统中是否有等待其他作业完成的作业?是否知道每项作业何时完成或下一个作业何时开始?
- 组织是否手动检查新文件?是否脚本循环足够次数来有效地检查文件?
- 当前系统在服务器上是否有作业在重试?它会减慢速度还是重新确定其他任务的优先级?您的服务器能否得到更好的利用?

批处理的未来
凭借强大的计算能力和云计算,批处理是否还有未来?随着数据变得越来越复杂和多样化,批处理不再是数据管理的唯一解决方案,它是否还有价值?
批处理在当前和未来仍有一席之地。在不依赖互联网或人工干预的情况下,批处理不间断的处理速度令人难以置信。机器速度意味着,如果您获取所有数据并实时输入,则需要数小时、数天或数周的时间。不必等待缓慢的人工或设备,这使得批处理可以高效利用计算机时间。
虽然批处理过去是一个静态的过程,但现在它变得更加敏捷。虽然手动和硬编码方法旨在实现一致性,但结果是好坏参半的。在不断演变的过程中,批处理现在具有创新性,其基于规则的工作流和流程创造了一种更高效、可靠、一致和敏捷的方法。
如今,公司还面临着过去可能没有的严格法规和规定。这种变化可能决定了对策略驱动型工作流的需求,在某些情况下会动态触发批处理流程。例如,如果发生违规行为,可能会触发数据回滚和相关系统的更新,所有这些操作都可以自动化并在批处理中运行。
最好在一些流程(例如订购库存)中使用批量处理。与其一次订购和配送一件商品,不如在达到一定阈值或在销售期结束时订购所有商品。
或者,另一种情况是记录来自物联网 (IoT) 的信息。例如,不需要每分钟都记录来自智能电表的信息。如果发生故障,应立即采取行动,但正常使用的电、水或互联网不需要每隔几秒钟就提供一次信息。以这种方式发送数据可能会消耗资源。
虽然数据连接的速度和可用性可以实现即时和持续的处理,但对于某些情形来说,简单地等待批处理仍然有好处。虽然以实时方式驱动所有系统可能很诱人,但最终可能会产生大量额外的工作,并且不必要地占用系统。尽管有些人可能将批处理视为传统系统的产物,但批处理在现在和将来仍有用武之地。