摘 要:

随着工业物联网逐步走向成熟,数据成为整个生产流程中的关键因素。数据驱动 的工业系统从终端和其他业务系统收集数据,加以分析和优化,在提升效率的同时减少劳 动力。想要做出可靠的生产和业务决策,系统内部和跨系统工业数据的完整性和一致性显 得尤为重要。区块链和分布式账本技术拥有以分布式方式来维护数据的加密完整性和不可 抵赖性,因此,利用区块链对工业系统进行数据问责验证是很自然的。在工业物联网场景 中,对于跨系统的数据问责有着迫切需求,现有的部分方法没有解决集成复杂性和细粒度 一致性问题,通过引入区块链进行产品库存验证的解决方案,最终在基于真实数据的实现 原型上进行了实验。

内容目录:

1 工业数据交互面临的问题

1.1 跨系统数据交互缺乏一致性检查机制

1.2 多系统数据对账复杂且难以定位

1.3 跨系统关键数据交互缺乏自动审计追责机制

2 国内外相关技术研究现状

2.1 基于区块链的分布式存储系统

2.2 基于区块链的数据完整性验证解决方案

2.3 基于区块链的机构间对账平台

3 工业系统数据交互可信验证方案

3.1 工业系统数据交互可信验证方案设计

3.2 工业系统数据交互可信验证系统实施架构

3.3 工业系统数据交互可信验证方案性能估算

3.4 系统原型验证效果

自 2012 年通用电气等五家美国企业组建工 业互联网联盟并大力推广“工业互联网”概念以来,全球各国陆续制定工业转型升级规划。我国在 2018 年中央经济工作会议上将工业互联 网定义为“新型基础设施建议”,会议提出大 力发展先进制造业,各地大中型企业逐步将工 业信息化、数字化、智能化发展纳入各自战略 规划之中。工业互联网的主要目标是实现跨设备、跨系统、跨厂区、跨区域的生产要素互联 互通。传统工业企业普遍存在工控系统封闭、 数字化程度参差不齐、操作人员对信息技术难 适应等问题,距离达成上述目标还有着很大的 差距和困难。然而,随着新一代通信技术的发 展,人工智能、区块链、云计算、大数据、物联网等新兴技术也被逐渐引入工业生产系统之 中, 为工业生产降本提质增效提供新的增长极,也为缩减上述差距、解决部分问题带来了新的技术基础和新的思路。

为实现工业数据的贯通, 工业系统“云边端”架构逐渐成熟, 数据在多种系统间流转。比如,云端业务和业务系统之间、云端业务和边缘业 务系统之间、边缘业务系统与终端应用之间等。数据的可靠性保障是数据驱动的业务智能决策 的前提,尤其是需要保障多方系统的数据交互 一致性。由于新老系统数据交互协议、冗余信息处理、消息并发和处理机制不一致等因素,多方系统各自维护的数据无法对齐的情况时常 出现,数据不一致的问题不容忽视,问题定位及修复费时费力,亟需建立自动化、灵活部署、 可靠性高的工业数据交互可信验证机制来保障 跨系统数据交互的一致性。

01 工业数据交互面临的问题

传统的工业系统交互数据验证模式是两两 系统之间以异步处理的方式各自生成业务记录文件进行逐笔比对,并以事先约定的处理方式 及流程处理差异。假设T为需做数据比对的日期, 一般T+1 日才能完成T+0 日的数据比对度量。  在实际业务场景中,存在安全性、隐私性以及 性能效率方面的问题。因此, 如何高效、安全、可靠地保障多系统数据交互的一致性是目前业界亟需解决的痛点。

目前业界已存在较为成熟的保障多系统数 据交互一致性的方式方法。根据功能部署方式、 信息存储模式和信息记录对比方式可分为两类: 原生系统消息验证和集中式批量验证。

原生系统消息验证通过围绕业务的两个系 统间自行约定的规则进行操作记录日志交换, 在各自本地进行操作记录的分析比对,将比对 结果进行沟通,以验证结果的一致性。集中式 批量验证则通过建立可信第三方独立系统的方 式异步处理各业务系统收集到的日志记录,并 进行分析与配对,按照业务规定给出信息比对 结果,并提供给业务人员可查看的业务系统访 问接口。

上述两种数据交互一致性度量方式方法, 虽然在业界使用居多、较为成熟,但是由于数 据都是通过网络传输实现异步数据对齐,随着业务参与方增多,对于实际业务和实际场景中 数据交互一致性度量实时性的诉求、度量结果 是否具备公信力、可度量业务系统数量是否具 备良好的可扩展性等不断增加的需求,已经凸显疲态,主要呈现以下三类问题无法妥善解决。

1.1 跨系统数据交互缺乏一致性检查机制

现有工业生产和执行系统以业务流为牵引 进行业务数据交互,并在各自系统维护业务记 录文件。然而,由于各系统间采用异步处理的 方式,且重复存放的数据未能及时进行同步检 查,偶发的网络故障、系统故障,以及人为因素等原因,导致数据交互的不一致难以被发现,从而不能及时进行反馈。

同时,由于工业设备通常属于重资产,更新换代较慢且代价不菲,导致工业系统异构化 明显,复杂度较高,牵一发而动全身,难以通 过系统的优化和修改建立一致性检查机制。

1.2 多系统数据对账复杂且难以定位

由于缺乏及时的一致性检查机制,当发现 多系统间存在数据不一致的情况时,通常已经 是由多个错误叠加产生的结果。数据可能在系 统之间往返流转,在多个环节发生错误,产生 叠加或者部分消弭,导致错误难以快速定位。通常需要导出所有业务数据后,由熟悉业务流 程的管理人员根据个人经验,针对异常的数据 进行人工的筛选、排查、分析,定位系统发生 错误的具体位置,最终对错误进行人工修复。

然而,人工进行对账核算也会带来不可忽视的成本和风险 ,比如耗费大量的时间(通常较自动化对账多耗费 42% ~ 67% 的时间) ,且这些时间大量耗费在等待他人了解对账状态上。除了为此投入的人力成本,还存在人为原因导  致的数据可靠性风险,审计与合规性缺乏有力支撑,以及面临人才流失的潜在风险等。

1.3 跨系统关键数据交互缺乏自动审计追责机制

由于工业系统结构复杂,多系统的维护通 常由多个技术厂商提供服务,系统间数据交互 缺乏明确的追责机制,当出现数据不一致的情 况时,容易出现相互推诿的情况,缺乏可信仲 裁的角色去判定各方系统的数据是否准确,难以快速定责,无法及时联络对应人员进行数据 修复。

同时,由于对账过程中所采取的控制措施在多个地点和业务单元中分散且不同、解释及辅助性文件欠缺,往往造成审计成本增加。在 因为数据不一致造成生产效率下降或经济损失 时,或在关键数据审计时,由于缺乏对中间过 程的跟踪、对账不全面、无法快速回答审计师 的问题以及缺乏整体可见性,从而会增加审计 的总体费用。

02 国内外相关技术研究现状

基于区块链技术的多系统数据交互可信 验证方案是传统多系统信息交互保障方案的 技术优化,增强了数据从产生、交互到审计、 溯源、修复全流程的可靠性。主要涉及分布 式 存储、数 据完 整性 保护 以及 数据 一致性验 证 等核心 技术。目前 国内 外高 校和 科研 机构 已经在分布式存储系统以及区块链在数据完 整 性保护 与验 证领 域开 展了 研究 和探 索。一 些 对技术 生态 建设 有需 求的 企业,  也已 联合 多家金融机构发起基于区块链的机构对账平 台,区 块链 技术 在数 据交 互可 靠性 保障 领域 的应用正在从传统金融行业和场景向其他行 业和场景中推广。

2.1 基于区块链的分布式存储系统

区块链技术可以为分布式场景提供有效的 解决方案,能够解决中心化场景下的单点失效 问题。其中,最为核心的技术是通过分布式共 识算法实现数据副本之间的一致性,从而提高 在大规模应用中对数据服务高可用的要求。

基于区块链的这种特性,将其视为分布式 存储的一种实现方式,需要确保其在功能和性 能上不低于传统的分布式数据库。已有大量研究人员针对如何优化区块链技术,尤其是在高效查询、吞吐量和延迟等方面进行了深入的研 究 和 探 索。Muzammal 等 人 提出了一种优化 区块链的开源分布式数据库,通过研发数据库 和应用程序之间的区块链中间件,设计了一种 区块链数据库 ChainSQL 系统,除了可以满足 数据库基本的搜索查询功能,还具备可抵抗恶 意篡改、数据副本保持一致性等特点。该系统 通过在链上记录所有数据库操作日志的方式, 使新节点可通过链上记录同步完整的数据库存 储。El-Handi 等人设计了一种区块链数据库 BlockchainDB,在区块链的存储层之上增加了数 据库层。数据库层主要包括分片管理、交易管 理和验证管理等功能,通过灵活的分片技术, 实现客户端的读写和验证等功能。通过灵活自 定义的存储层,引入了全节点和轻节点,从而 在全局层面实现安全和效率的兼顾。焦通等人提出了一种区块链数据库的概念,通过将传统 数据库中的表分别存储于多个存储节点,所有 节点均通过共识算法存储含有数据记录的区块 头信息, 可在各个节点进行查询和验证。同时,设计了一种基于哈希指针的索引,通过索引实 现数据的查询并保障索引本身的不可篡改,以 此提高数据检索效率。Wang 等人 提出了一种 专门设计用于为区块链和可分叉应用程序提供 有效支撑的存储引擎 ForkBase, 引入了一种新颖 的索引结构来有效识别与消除跨数据对象的重 复副本。该系统在提供高性能的同时,也显著 降低了开发成本。其团队成员 Ruan 等人在此 基础上进一步研究,利用区块链技术防御分叉 攻击,将云存储操作的日志上链,保护关键目录和操作日志服务器,实现了细粒度的、安全高效的区块链数据回溯,为在线交易提供安全 的数据变迁轨迹存证。

2.2 基于区块链的数据完整性验证解决方案

在数据交互过程中,被篡改、丢失也是引 发数据不一致的主要原因。基于区块链技术的 链式数据结构特点,国内外学者在数据完整性 验证与区块链相结合方面也做了深入研究。

传统方法都是使用中心化的方式对存储数 据的完整性进行验证,需要依赖可信第三方来 完成验证。但是依然存在第三方是否可信的问题。

魏艳等人提出了一种在不被信任的环境 下无需第三方审查机构,基于区块链技术的去 中心化时间戳的数据完整性验证机制,同时利 用以太坊智能合约建立数据完整性验证的区块 链结构,完成小规模数据的验证,为区块链技 术在数据完整性应用方面提出了理论证明。

日志是网络设备、系统及服务程序等在运 作时产生的事件记录,这些记录是信息系统的 正常运维、故障恢复和错误排查的前提,更是 维护信息安全的关键。日志数据对于实现网络 安全有非常重要的研究和分析价值,获取有价 值的日志需要系统和设备必须进行合适的设置 以便记录需要的数据, 同时需要有合适的工具、 具备良好培训的人员和可用的资源来综合分析 收集到的数据。除了满足上述需求之外,还迫切需要一种对日志可靠的、安全的存储方式。

费禹等人设计了基于公有链的日志系统,采用工作量证明(Proof of Work,PoW) 算法实 现共识层,该系统相比于传统日志存储形式,具有隐私性强、可控性高、数据分享安全便捷的优点。Sutton 等人设计的区块链日志记录 系统能够部署在现有的比特币公有区块链上,但存在成本高、效率低、可扩展性差的缺陷。

日志数量越大所需交易数量越多,会在链上占  据相当大的存储空间。Shao 等人 使用以太坊 的智能合约实现日志数据的完整性和异常检测, 并结合机器学习允许智能合约本身能够实现一 定程度的自我更新。

2.3 基于区块链的机构间对账平台

国内某公司研发的机构间对账平台于 2016 年 8 月投产,是国内首个在生产环境中运行的 多金融机构间的区块链应用。通过区块链技术, 优化贷款业务中的机构间对账流程,降低运营 成本。平台运行 3 年多记录了真实交易笔数已 达 7000 多万笔的量级,上线以来保持零故障 运行。

该应用主要通过区块链和分布式账本技术, 优化贷款业务中的对账流程,提升对账效率,  其对账流程如图 1 所示。交易数据秒级完成同步, 并快速生成准确可信的账目数据; T+0 日准实时 对账。通过 3 年多时间的真实生产数据检验与 零故障运行,该应用印证了区块链底层技术的 安全可控、稳定可信、健壮可用等优点,也为 区块链技术在金融领域的交易对账场景提供了 典型的应用案例。

国外某公司研发的基于区块链的支付网络, 可以转账任意一种货币,支付简便易行快捷,  交易速度快、交易费用低。截至 2020 年 4 月,已有 60 多个国家和 850 多家银行或机构使用。  依托该支付网络,所有的跨境收付款人的信息都可以实现可信的支付和资金清结算。该支付网络解决了跨境支付信任建立难的痛点,提升 业务效率并降低成本,通过一定的技术妥协融入现有的金融支付结算体系,提供端到端的跨 境支付解决方案。

图 1   机构间贷款业务对账平台流程

03 工业系统数据交互可信验证方案

为了解决传统工业数据交互验证方案中所 遇到的一些瓶颈问题,本方案引入基于区块链 的基础设施赋能于业务场景实际问题,以工业 系统为区块链节点,多方共识算法可确保多系 统数据副本的一致性;智能合约是一种预写入 的逻辑代码,通过部署业务智能合约可以实现 秒级的自动化数据分析与比对,从而解决传统 数据对账过程中不一致数据定位难的问题;基 于分布式账本技术,将对账数据在链上进行存 证,  为事后审计提供支撑,解决多方系统定责 难且缺乏自动审计追责机制的问题。

3.1 工业系统数据交互可信验证方案设计

工业系统数据交互可信验证方案主要由业 务系统接入组件、具备可信验证功能的区块链节点和可视化管理查询系统 3 个部分组成。

其中,具备可信验证功能的区块链节点为  方案的核心部分,该节点可灵活部署于业务系  统现有网络结构中,业务系统通过公钥(Public Key Infrastructure,PKI) 机制实现联盟链构建,业务数据通过镜像的方式实现旁路上链,从而  在不影响业务连续性的前提下实现数据的采集。然后,在区块链节点部署数据自动化验证的智  能合约,实现自动化秒级对账,同时提供信息  访问接口实现业务员查阅操作,其解决方案如  图 2 所示。

为保障区块链节点的可信验证功能运转, 需研究下述 4 项关键技术:

(1)分布式身份认证技术:通过智能合约 编写身份数据发布、认证以及撤销相关规则, 基于分布式账本技术,利用区块链共识机制,实现身份数据的可信存储。通过智能合约提供的外部接口实现身份的可信验证。

图 2   工业系统数据交互可信验证方案

(2)智能合约一致性校验技术:深入分析 业务系统数据交互格式,提取关键参数,抽象 为规则化的业务智能合约,实现数据流的自动 解析与实时比对,并对结果进行链上存储。

(3)基于身份标识的溯源技术:建立基于 区块链的全局唯一标识,支持链上可验证。进 一步研究 Merkel 树机制,实现基于摘要的数据 快速检索机制,支持链上数据的有效输出。

(4)分布式账本客户端:基于 Java JNI 规范, 开发向下兼容的硬件算法接口,向上实现以交 易形式的链上互通,与分布式身份认证技术相 结合,实现数据的可信上链。

此外,为进一步确保从业务系统采集数据 的可靠性,后续可利用区块链硬件设备与本方 案配合,进一步保障数据源头的可信,该硬件需具备下述两大功能特点:

(1)可信密钥管理:建立基于硬件的密码 管理技术,通过统一口令实现硬件与用户的绑定关系,用户通过可变的单一口令即实现多重密码安全使用。

(2) 可信数据采集: 建立设备 / 系统唯一 身份标识与链上公钥地址的对应关系,通过分布式账本客户端实现基于硬件算法的数据签名, 以交易形式提交数据, 配合区块链的验签机制,确保数据来源的可靠与防篡改。

3.2 工业系统数据交互可信验证系统实施架构

工业系统数据交互可信验证方案旨在引入 区块链基础设施作为对账验证核心,对原有业 务系统侵入性较小,整体系统实施架构由区块 链核心层、区块链接入层及业务层 3 个关键层级组成,如图 3 所示。

(1) 区块链核心层: 基于区块链基础设施, 实现业务型合约的编排、部署、可信执行。本方案采用国内主流的联盟链,自主设计业务型合约,通过 JSON RPC 远程调用协议实现与区块 链接入层的对接。其中业务型合约设计是本方 案的核心,包括对账、计算和存储合约。根据实际度量的业务需求,定位需要比对的关键参数, 包括但不限于消息 ID、时间、地点、业务 关键参数等需要对齐的数据内容,进行并行或 者递归顺序的比对。将上述流程实现自动化编 码,即完成业务合约的编码,根据不同区块链 的技术要求完成合约部署。

图 3   工业系统数据交互可信验证整体架构

(2)区块链接入层:打通实体业务与链层 服务的关键功能组件,也是本实施架构的核心 模块。根据业务系统的实际形态可提供 3 种实 体业务对接模式。

①流量镜像:对业务系统无侵入式对接模 式,通过业务系统路由器的适当配置,获取工 业系统间的交互流量进行镜像。主要难点在路 由器的配置、流量的准确获取和正确解析。

② HTTP 接口:业务系统无需源码修改,调 用本方案的接口进行信息传输。本方案根据实 际业务信息度量参数,设置业务系统与区块链 核心层的对接信息通信接口。主要工作在网络 接口参数设置与适当的消息反馈。

③区块链客户端:业务系统需要进行源码层 面的部分改动, 集成分布式账本客户端集成接口,实现客户端在原业务系统的集成与调试,保障业务“第一手”信息以交易的方式上链,在一定程  度上规避被篡改的风险,符合区块链信息上链安  全性的高需求。在区块链客户端做了缓存处理,  即使某笔交易发送失败, 也保障交易信息不丢失。分布式账本客户端承接信息解析与交易上链,实  现数据在“第一公里”的时候就以签名交易的方 式上链,有力规避信息在传输过程中被篡改的可  能,是目前最为可靠的信息上链方式。

值得注意的是,上述 3 种对接方式中,消 息队列作为“流量镜像”与“HTTP 接口”的信 息缓存,保证信息不丢失,即使在链服务偶尔 宕机的情况下,也可保障原始信息的备份。

(3)业务层:负责业务呈现,用户交互功 能与界面, 提供用户安全便捷的信息查阅途径。  涵盖用户管理、权限管理、业务数据库 3 个主 要功能模块。其中, 用户管理与权限管理相配合, 完成用户的注册、登录及访问信息库的功能。  业务数据库主要是与度量功能相关的基础信息, 根据具体业务的不同而变化。

通过上述实施方案的部署,工业系统数据 交互可信验证系统的交互过程主要可分为“数 据可信验证”与“业务可视化”两个流程,两 个流程之间通过链层的分布式账本进行桥接, 系统数据交互具体流程描述如下。

数据上链验证流程:

①业务方根据自身系统强壮性、安全性与 技术实现等方面评估,进行数据对接模式的定 位,“流量镜像”对原系统保护最好,“HTTP 接口”数据获取最方便, “区块链客户端”信息获取最可靠;②进行关键信息解析,将数据写入消息队列缓存;③调用区块链客户端开放接口,实现数据 的再次封装与交易上链;④通过区块链客户端实现待验证原始数据 的上链, 并依次调用对账、计算合约和存储合约, 实现数据度量与结果的链上存储。至此完成数 据的可信验证流程。

业务可视化流程:

①根据业务方的实际需求,进行用户管理 与权限管理的配置,并且可兼容业务方原有的用户体系;②业务员通过可视化界面进行查询参数的输入;③后台调用信息解析模块,实现从分布式账  本信息的读取与展示。至此完成业务可视化流程。

3.3 工业系统数据交互可信验证方案性能估算

本方案设计充分考虑系统可扩展性,基于 数学组合理论分析如下:

条件:假设M个系统, N个度量指标参数, TPS 为区块链系统的每秒吞吐量。

目的:给出基于区块链可信验证系统的数学模型与性能分析。

思路:可信验证系统的性能即为每秒能处 理的最大系统数量与最大指标参数。

建模:可信验证系统可表述为关于 M、 N变量的数学不等式函数:

进一步,验证分析过程需要两两比对,任选两个系统做排列组合

,对账参数数量 N,不等式(1)转换为:

分析:底层链采用 FISCO-BCOS, 可信区块 链测评给出其最新TPS可达 20000。不等式(2)展开即为:

采用缩放法,对不等式(3)进行估值:

假设 M = N ,则对账系统每秒能完成 34 个 系统,最多 34 个指标参数条件下的两两对账。

3.4 系统原型验证效果

以常见的工业信息化系统数据交互为例, 假设需保证某生产企业的企业资源计划系统 ERP、制造执行系统 MES 和仓储管理系统 WMS 中的某关键数据(如产品库存)一致性。采用 传统方案的人工比对,数据一致性校验只能通 过两两系统之间进行比对,且需要人工去导出 数据, 定位异常,通常是在 T+1 日对 T 日的数 据进行比对,并修复数据。整个过程需多系统 多部门人员参与、复核、验证,通常需要 3 人 持续 2 至 3 小时才可完成,且仍有人为因素导 致错误的可能。

根据上述假设的工业系统数据交互需求搭 建了系统原型。首先,根据具体业务系统情况 考虑对账系统的区块链节点部署。本次实验部署了 4 个区块链节点,由于 MES 系统、WMS 系 统、ERP 系统部署在内网的不同子网,且相互之间数据交互频度不一,系统原型部署 3 个区块链节点在一个子网,部署 1 个区块链节点在另一个子网。由于工业系统对于业务持续性要 求较高, 具体实施方案采用“流量镜像”的方式, 从上述各系统数据交互的核心交换机处引出流量镜像进行数据的过滤和分析。

通过采集 2021 年 9 月 1 日至 2021 年 10 月 31 日的交互数据,我们在系统后台对每日交互数据进行统计,如图 4 所示。3 个工业系统共计交互数据 46 万余条,单日峰值交互数据 12909 条,日均交互数据 7600 余条,按每天平均工作10 小时计算,平均每分钟约 13 条交互消息。

图 4   系统原型采集交互数据量一览

在上述规模的数据采集量情况下,系统原  型可以实现自动定位异常,并可以在获取交互  数据 1 秒内准实时展示对账结果,从而可实现  T+0 日秒级的数据比对目标, 整个过程实时可查、 可验和可溯,使数据修复更加快速有效。

系统原型的前端页面如图 5 所示,该页面涉及的部分生产信息已做脱敏处理,页面展示的是MES 系统和 ERP 系统的产品库存数量对账验证, 白色数据行表示该类型产品库存数据无差异,红 色数据行表示该类型产品库存数在 MES 系统和 ERP 系统中并不一致,业务人员可以通过查看日 志的方式,进一步查看引发数据不一致的具体操 作日志,从而快速判断分析引发数据异常的系统和原因,协调相应人员进行数据修复。

图 5   系统原型前端页面

04 结 语

在工业生产领域存在设备、系统、服务之 间的数据交互,保障关键数据参数在交互始末的一致性非常重要,影响业务的多个方面。本文深入分析现有业务场景与解决方案,明确在现存数据交互过程中仍然存在的痛点,聚焦数 据的可靠性验证,提出工业场景下数据交互可 信验证的解决方案,并构建原型进行实验验证。通过实验验证的结果,可将该方案持续优化,构建模块化的智能合约集,可以在类似的数据 一致性需求场景中,如原材料库存、供应链采 购等场景,快速形成落地应用方案,利用区块链技术解决工业场景中的具体问题,做到技术 赋能真正落地。