news 2026/4/30 4:09:54

第一章 · 前世今生 第 1 篇:手工记账到大型机时代:银行核心系统的「史前史」

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第一章 · 前世今生 第 1 篇:手工记账到大型机时代:银行核心系统的「史前史」

第一章 · 前世今生| 银行核心业务系统知识体系 · 第 1 篇

📖 全文约 4500 字 | 预计阅读时间 11 分钟


1970 年代的某个深夜,中国某人民银行支行的营业室里还亮着灯。

一名年轻柜员面前摊开着三本厚厚的账簿——一本记存款、一本记贷款、一本记内部往来。他左手翻着客户的存折,右手握着蘸水笔,一笔一笔地把当天几十笔交易的数字誊抄到对应页码上。

抄完之后,他开始做一件今天所有银行系统都会在凌晨自动完成的事——轧账

把所有借方加起来,把所有贷方加起来,看两边是否相等。如果差了一分钱,对不起,把今天的所有交易一笔一笔倒回去查,直到找到那一分钱为止。

这个过程,有时候要到凌晨三四点。

这就是银行核心系统的起点:一个人、一支笔、一本账。


01 | 纸质账本时代:一本账走天下

在计算机进入银行之前,银行的全部业务运转依赖一套看似原始、实则精密的手工账务体系。

复式记账法的千年传承

首先要理解的是,银行记账并不是「我记你欠我多少钱」那么简单。银行使用的是复式记账法(Double-Entry Bookkeeping)——每笔交易必须同时记两笔:一笔记「从哪来」,一笔记「到哪去」。

这个方法 15 世纪由意大利数学家帕乔利系统化总结,至今仍是全球银行业的会计基础。

在纸质账本时代,一笔「客户张三存入 100 元」的业务,柜员需要做以下动作:

第 1 步:在张三的个人存折上,写下日期、金额、余额 第 2 步:在存款登记簿上,记一笔:借方「库存现金」+100,贷方「活期存款」+100 第 3 步:在现金登记簿上,记录实收现金 +100 元 第 4 步:在日终汇总时,把所有交易按科目汇总

四步做完,一笔最简单的存款才算真正「入账」。

手工记账的「系统架构」

别小看纸质账本时代。实际上,当时的银行已经形成了一套相当成熟的「系统架构」,只不过载体是纸而不是电子:

账簿类型功能现代等价物
客户存折/存单记录单个客户的交易明细账户流水
总账按会计科目汇总所有交易总账系统(GL)
现金登记簿记录现金收支现金管理系统
内部往来账记录不同网点之间的资金往来清算系统
日计表每天的科目余额汇总日终报表

注意到了吗?现代银行核心系统的每一个模块,几乎都能在纸质账本时代找到原型。总账、流水、清算、日终处理——这些概念不是计算机发明的,而是在计算机到来之前就已经存在了上百年的银行实践。

计算机做的,只是把这套手工流程自动化了。

这个时代的工作节奏

手工记账时代的银行,有一个非常明确的「批处理」节奏:

  • ☀️白天:开门营业,柜员手工记录每一笔交易
  • 🌙晚上:关门之后,开始「轧账」——汇总、对账、结计利息
  • 📋月末/季末:编制财务报表,上报上级部门

白天营业、晚上结算——这个节奏一直延续到今天,就是银行核心系统「日终批处理」的源头。


02 | 计算机的到来:从打孔卡片到大型机

最早的银行计算机:打孔卡片时代

银行引入计算机的尝试,可以追溯到 20 世纪 50 年代。

1950 年,美国银行(Bank of America)与斯坦福研究院(SRI)合作,启动了一个名为ERMA(Electronic Recording Machine, Accounting)的项目。这个系统的核心思路是:用打孔卡片和磁性墨水字符识别(MICR)来自动处理支票。

在此之前,银行处理一张支票需要人工核对签名、手写记账、手动归档——一个熟练的职员一天最多处理 300 张左右。ERMA 系统投入使用后,处理速度提升到了每小时 33,000 张。

这是银行第一次尝到「自动化」的甜头。

IBM 360/370:银行计算机的第一次飞跃

真正让计算机在银行业站稳脚跟的,是 IBM 在 1964 年推出的System/360

System/360 之所以重要,不仅因为它的计算能力,更因为它引入了一个革命性的概念——兼容性。在此之前,每一代计算机都需要重写所有程序。而 360 系列,从最小到最大的机型,都可以运行同一套软件。

对银行来说,这意味着什么?意味着你可以在一台小型机上开发和测试程序,然后在大型机上部署运行。软件资产不再是「一次性」的了。

随后 IBM 在 1970 年推出的System/370进一步增强了虚拟内存和多道程序设计能力,让一台大型机可以同时运行多个程序——这为银行同时处理多种业务(存款、贷款、汇款)提供了基础。

为什么银行选择了大型机?

互联网时代的人可能会疑惑:为什么不直接用个人电脑?

因为 1970 年代没有个人电脑。即使到了 1980 年代 IBM PC 推出之后,它的性能也无法满足银行的需求。

银行需要的不是一台「跑得快」的电脑,而是一台绝对可靠、绝对准确、能同时处理上千笔交易的机器。在当时的条件下,只有大型机能做到。

更重要的是,银行的核心需求是事务一致性——每一笔交易要么完整成功,要么完全不发生,不能出现「扣了钱但没到账」的中间状态。IBM 的CICS(Customer Information Control System,客户信息控制系统)在 1969 年推出,专门为在线事务处理(OLTP)设计,提供了锁机制和事务恢复能力。

CICS 后来成为了银行核心系统领域最重要的中间件之一,直到今天仍在很多银行的生产环境中运行。


03 | 批量处理模式:白天营业、晚上结算

「批处理」到底在处理什么?

前面说到,手工记账时代的银行已经是「白天营业、晚上结算」的节奏。当计算机接管之后,这个节奏被保留了下来,并且赋予了更精确的内涵。

大型机时代的银行核心系统,典型的运行模式是:

┌─────────────────────────────────────────────────────────┐ │ 一个完整业务日 │ ├──────────────┬──────────────────────────────────────────┤ │ 09:00-17:00 │ 联机交易时间 │ │ (营业时间) │ 柜员录入交易→实时更新账户余额 │ ├──────────────┼──────────────────────────────────────────┤ │ 17:00-18:00 │ 日终批处理开始 │ │ (结算时间) │ ① 汇总当日交易 │ │ │ ② 计算当日利息 │ │ │ ③ 更新会计科目余额 │ │ │ ④ 生成各类报表 │ │ │ ⑤ 数据备份 │ ├──────────────┼──────────────────────────────────────────┤ │ 18:00-次日 │ 数据备份/维护窗口 │ │ 09:00 │ 日始处理:加载当日参数,准备新一天的营业 │ └──────────────┴──────────────────────────────────────────┘

这看起来很简单,但每一项都有它的技术深意。

日终计息:白天柜员只记录了「这个账户今天发生了哪些交易」,但利息怎么算?需要把全量账户的余额变动拿出来,按积数法计算利息。这是当时计算量最大的批处理任务。

科目余额更新:白天的交易虽然已经实时更新了账户余额,但会计科目的汇总余额需要等到日终才能更新——因为汇总运算的计算量太大,实时做会影响联机交易性能。

数据备份:在磁带时代,把当天的全量数据备份到磁带上,是防止数据丢失的唯一手段。

为什么「批处理」这个概念一直活到了今天?

到了 2026 年,银行核心系统早已不是大型机一家独大了。分布式架构、微服务、实时计算……技术在飞速进步,但「日终批处理」这个概念,几乎没有任何一个银行能完全抛弃。

原因有三层:

第一层:性能折衷。即使在今天,对数千万账户做全量利息计算、全量余额汇总,仍然是一个重量级操作。在联机交易时段做这些事,会占用大量计算资源,影响客户体验。

第二层:数据一致性。批处理提供了一个天然的「检查点」——一天的业务结束了,我们来做一个完整的对账。如果发现差错,还有时间在第二天开门之前修正。

第三层:监管要求。银行的很多监管报表,是基于「每日终了」这个时间点的数据生成的。1104 报表、存款准备金计算、大额交易报告……这些都需要在日终批处理完成后才能产出。

所以,批处理不是「落后的产物」,而是在银行这个特殊行业里,经过几十年验证、最安全可靠的处理模式。它在不断进化——从几个小时缩短到几十分钟,从全量串行变成增量并行——但它的核心理念:「在业务空闲时段做集中处理」,至今未变。


04 | 这个时代留下的遗产

回顾 1950s 到 1980s 这三十年的银行计算机化历程,你会发现,今天银行核心系统的很多基本特征,在这个时代就已经定型了。

遗产一:「批处理」概念

前面已经详细讨论了。这里不再重复,只强调一点:批处理不是技术限制下的权宜之计,而是银行风险管理的基本制度设计。

遗产二:「科目-账户」二元数据结构

大型机时代的银行系统,数据结构通常是「两级」的:

  • 上层是会计科目:如「活期存款」「贷款」「库存现金」等
  • 下层是具体账户:属于某个科目下的个别客户账户

比如「活期存款」是一个科目,张三的账户 6222xxxxx 和李四的账户 6222yyyyy 都挂在「活期存款」这个科目下面。

这个「科目-账户」的二元结构,在今天几乎所有银行核心系统中仍然保留。它是银行会计核算的基础,也是为什么银行核心系统的数据模型比互联网公司的复杂得多。

遗产三:「日终」作为基本业务周期

银行系统把「一天」作为一个基本的业务周期。这个概念在今天看来可能有些奇怪——互联网系统通常是「持续运行」的,没有「关门结算」的概念。

但银行的「日终」概念根植于它的商业本质:银行每天开门做生意,晚上需要知道今天赚了多少、亏了多少、风险敞口多大。

这个「日终」概念,直接决定了银行核心系统的架构设计——系统必须有明确的「营业」和「结算」状态切换,有完整的对账和校验机制。

遗产四:对「事务一致性」的极致追求

从纸质账本时代开始,银行就有一句话:「账不平,天塌了。」

一本手工账簿如果差了一分钱,柜员要熬夜找到原因。大型机时代的 CICS 系统引入了 ACID 事务(原子性、一致性、隔离性、持久性),就是为了确保计算机处理也能达到「账必平」的标准。

这种对数据一致性的极致追求,贯穿了银行核心系统整个发展史,也使得银行 IT 工程师对「数据可靠性」的敏感度远高于其他行业。


05 | 小结:从纸到电,不变的是什么?

让我们回顾一下这段历史的关键节点:

时间关键事件对银行系统的影响
1950s纸质账本+复式记账法确立了「科目-账户」的二元数据结构
1950s美国银行 ERMA 项目首次实现支票处理的自动化
1964IBM System/360 推出引入兼容性,软件资产可跨代保留
1969IBM CICS 推出在线事务处理(OLTP)的基石
1970s大型机在银行业广泛部署确立「批处理」为标准运行模式

从纸质账本到大型机,银行系统的载体变了、速度变了、处理能力变了,但有三个东西始终没变:

第一,账必平。无论是手工记账还是计算机记账,借贷必须相等,一分钱都不能差。

第二,日终结算。白天营业、晚上结算是银行的基本节奏,不是技术的限制,而是业务的需求。

第三,数据是命根子。账户余额、交易流水、会计分录——这些数据是银行最核心的资产,丢了就是灾难。

这三条,既是银行核心系统的基因,也是理解后续每一次技术演进的关键钥匙。


下一篇预告: 《联机时代的崛起——当银行从「隔日到账」变成「实时扣账》(1980s-1990s)》

你知道吗?在 1980 年代之前,银行转账通常是「隔日到账」的——你今天上午去柜台办一笔汇款,对方可能要第二天才能收到钱。是什么技术突破让银行从「T+1」进化到了「T+0」?关系型数据库在其中扮演了什么角色?ATM 的出现又是如何倒逼银行系统进行「分布式改造」的?

下一篇,我们来看这段改变了银行业运转速度的历史。


银行核心业务系统知识体系 · 第一章 ·Fintech.Ren 出品


关注我,和我一起把银行核心系统学透。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 4:08:09

17.18.动态规划,背包问题

没加记事本的模板 加记事本的模板 198. 打家劫舍 思路 dfs(i) 从一共i家偷,最多可以偷多少 不偷第i家,dfs(i)》dfs(i-1) 偷第i家,dfs(i)》dfs(i-2)nums[i] 只回溯&…

作者头像 李华
网站建设 2026/4/30 4:07:23

Token经济:一场正在展开的“智能定价革命”

Token并不是答案,它更像是一个信号。 在人工智能产业快速演进的今天,一个原本只在技术圈流行的术语——Token,正悄然成为理解AI经济形态的关键入口。 根据全球最大AI模型API聚合平台OpenRouter最新数据显示,3月16日至22日&#…

作者头像 李华
网站建设 2026/4/30 4:03:49

项目中**LabVIEW 位操作逻辑**的完整、清晰解释,以及与 C# 实现的对应关系

以下是针对项目中LabVIEW 位操作逻辑的完整、清晰解释,以及与 C# 实现的对应关系。 LabVIEW 中关键位操作函数 你的描述(“数字转换成 bool 数组 → 反转一维数组 → 循环检查”)主要涉及以下两个核心 LabVIEW 函数: Number To Boolean Array(数值转布尔数组) 位置:Pr…

作者头像 李华
网站建设 2026/4/30 3:57:24

CaTok:1D因果图像标记化方法解析与应用

1. 项目概述CaTok是一种创新的1D因果图像标记化方法,它基于MeanFlow解码器架构,专门针对序列建模任务中的图像处理需求而设计。这个方法的核心思想是将二维图像数据转化为一维的因果标记序列,同时保持空间信息的完整性。我在计算机视觉和序列…

作者头像 李华
网站建设 2026/4/30 3:56:11

SSH隧道与Tailscale实现AI代理远程运行时本地化连接

1. 项目概述:当本地浏览器需要连接远程大脑时在AI智能体与自动化工具的开发实践中,我们常常会遇到一个经典的“身体与大脑”分离困境。一个强大的AI运行时(大脑)可能运行在拥有充足算力、稳定网络或特定依赖的远程服务器上&#x…

作者头像 李华