譚源泉,康紅娟,唐 博
(四川啟??丝萍加邢薰?信息安全燈塔實驗室,四川 成都 610041)
自2012年通用電氣等五家美國企業(yè)組建工業(yè)互聯(lián)網(wǎng)聯(lián)盟并大力推廣“工業(yè)互聯(lián)網(wǎng)”概念[1]以來,全球各國陸續(xù)制定工業(yè)轉型升級規(guī)劃。我國在2018年中央經(jīng)濟工作會議上將工業(yè)互聯(lián)網(wǎng)定義為“新型基礎設施建議”,會議提出大力發(fā)展先進制造業(yè),各地大中型企業(yè)逐步將工業(yè)信息化、數(shù)字化、智能化發(fā)展納入各自戰(zhàn)略規(guī)劃之中。工業(yè)互聯(lián)網(wǎng)的主要目標是實現(xiàn)跨設備、跨系統(tǒng)、跨廠區(qū)、跨區(qū)域的生產(chǎn)要素互聯(lián)互通。傳統(tǒng)工業(yè)企業(yè)普遍存在工控系統(tǒng)封閉、數(shù)字化程度參差不齊、操作人員對信息技術難適應等問題,距離達成上述目標還有著很大的差距和困難。然而,隨著新一代通信技術的發(fā)展,人工智能、區(qū)塊鏈、云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)等新興技術也被逐漸引入工業(yè)生產(chǎn)系統(tǒng)之中,為工業(yè)生產(chǎn)降本提質增效提供新的增長極,也為縮減上述差距、解決部分問題帶來了新的技術基礎和新的思路。
為實現(xiàn)工業(yè)數(shù)據(jù)的貫通,工業(yè)系統(tǒng)“云邊端”架構逐漸成熟,數(shù)據(jù)在多種系統(tǒng)間流轉。比如,云端業(yè)務和業(yè)務系統(tǒng)之間、云端業(yè)務和邊緣業(yè)務系統(tǒng)之間、邊緣業(yè)務系統(tǒng)與終端應用之間等。數(shù)據(jù)的可靠性保障是數(shù)據(jù)驅動的業(yè)務智能決策的前提,尤其是需要保障多方系統(tǒng)的數(shù)據(jù)交互一致性。由于新老系統(tǒng)數(shù)據(jù)交互協(xié)議、冗余信息處理、消息并發(fā)和處理機制不一致等因素,多方系統(tǒng)各自維護的數(shù)據(jù)無法對齊的情況時常出現(xiàn),數(shù)據(jù)不一致的問題不容忽視,問題定位及修復費時費力,亟需建立自動化、靈活部署、可靠性高的工業(yè)數(shù)據(jù)交互可信驗證機制來保障跨系統(tǒng)數(shù)據(jù)交互的一致性。
傳統(tǒng)的工業(yè)系統(tǒng)交互數(shù)據(jù)驗證模式是兩兩系統(tǒng)之間以異步處理的方式各自生成業(yè)務記錄文件進行逐筆比對,并以事先約定的處理方式及流程處理差異。假設T為需做數(shù)據(jù)比對的日期,一般T+1日才能完成T+0日的數(shù)據(jù)比對度量。在實際業(yè)務場景中,存在安全性、隱私性以及性能效率方面的問題。因此,如何高效、安全、可靠地保障多系統(tǒng)數(shù)據(jù)交互的一致性是目前業(yè)界亟需解決的痛點。
目前業(yè)界已存在較為成熟的保障多系統(tǒng)數(shù)據(jù)交互一致性的方式方法。根據(jù)功能部署方式、信息存儲模式和信息記錄對比方式可分為兩類:原生系統(tǒng)消息驗證和集中式批量驗證。
原生系統(tǒng)消息驗證通過圍繞業(yè)務的兩個系統(tǒng)間自行約定的規(guī)則進行操作記錄日志交換,在各自本地進行操作記錄的分析比對,將比對結果進行溝通,以驗證結果的一致性。集中式批量驗證則通過建立可信第三方獨立系統(tǒng)的方式異步處理各業(yè)務系統(tǒng)收集到的日志記錄,并進行分析與配對,按照業(yè)務規(guī)定給出信息比對結果,并提供給業(yè)務人員可查看的業(yè)務系統(tǒng)訪問接口。
上述兩種數(shù)據(jù)交互一致性度量方式方法,雖然在業(yè)界使用居多、較為成熟,但是由于數(shù)據(jù)都是通過網(wǎng)絡傳輸實現(xiàn)異步數(shù)據(jù)對齊,隨著業(yè)務參與方增多,對于實際業(yè)務和實際場景中數(shù)據(jù)交互一致性度量實時性的訴求、度量結果是否具備公信力、可度量業(yè)務系統(tǒng)數(shù)量是否具備良好的可擴展性等不斷增加的需求,已經(jīng)凸顯疲態(tài),主要呈現(xiàn)以下三類問題無法妥善解決。
現(xiàn)有工業(yè)生產(chǎn)和執(zhí)行系統(tǒng)以業(yè)務流為牽引進行業(yè)務數(shù)據(jù)交互,并在各自系統(tǒng)維護業(yè)務記錄文件。然而,由于各系統(tǒng)間采用異步處理的方式,且重復存放的數(shù)據(jù)未能及時進行同步檢查,偶發(fā)的網(wǎng)絡故障、系統(tǒng)故障,以及人為因素等原因,導致數(shù)據(jù)交互的不一致難以被發(fā)現(xiàn),從而不能及時進行反饋。
同時,由于工業(yè)設備通常屬于重資產(chǎn),更新?lián)Q代較慢且代價不菲,導致工業(yè)系統(tǒng)異構化明顯,復雜度較高,牽一發(fā)而動全身,難以通過系統(tǒng)的優(yōu)化和修改建立一致性檢查機制。
由于缺乏及時的一致性檢查機制,當發(fā)現(xiàn)多系統(tǒng)間存在數(shù)據(jù)不一致的情況時,通常已經(jīng)是由多個錯誤疊加產(chǎn)生的結果。數(shù)據(jù)可能在系統(tǒng)之間往返流轉,在多個環(huán)節(jié)發(fā)生錯誤,產(chǎn)生疊加或者部分消弭,導致錯誤難以快速定位。通常需要導出所有業(yè)務數(shù)據(jù)后,由熟悉業(yè)務流程的管理人員根據(jù)個人經(jīng)驗,針對異常的數(shù)據(jù)進行人工的篩選、排查、分析,定位系統(tǒng)發(fā)生錯誤的具體位置,最終對錯誤進行人工修復。
然而,人工進行對賬核算也會帶來不可忽視的成本和風險[2],比如耗費大量的時間(通常較自動化對賬多耗費42%~67%的時間),且這些時間大量耗費在等待他人了解對賬狀態(tài)上。除了為此投入的人力成本,還存在人為原因導致的數(shù)據(jù)可靠性風險,審計與合規(guī)性缺乏有力支撐,以及面臨人才流失的潛在風險等。
由于工業(yè)系統(tǒng)結構復雜,多系統(tǒng)的維護通常由多個技術廠商提供服務,系統(tǒng)間數(shù)據(jù)交互缺乏明確的追責機制,當出現(xiàn)數(shù)據(jù)不一致的情況時,容易出現(xiàn)相互推諉的情況,缺乏可信仲裁的角色去判定各方系統(tǒng)的數(shù)據(jù)是否準確,難以快速定責,無法及時聯(lián)絡對應人員進行數(shù)據(jù)修復。
同時,由于對賬過程中所采取的控制措施在多個地點和業(yè)務單元中分散且不同、解釋及輔助性文件欠缺,往往造成審計成本增加。在因為數(shù)據(jù)不一致造成生產(chǎn)效率下降或經(jīng)濟損失時,或在關鍵數(shù)據(jù)審計時,由于缺乏對中間過程的跟蹤、對賬不全面、無法快速回答審計師的問題以及缺乏整體可見性,從而會增加審計的總體費用。
基于區(qū)塊鏈技術的多系統(tǒng)數(shù)據(jù)交互可信驗證方案是傳統(tǒng)多系統(tǒng)信息交互保障方案的技術優(yōu)化,增強了數(shù)據(jù)從產(chǎn)生、交互到審計、溯源、修復全流程的可靠性。主要涉及分布式存儲、數(shù)據(jù)完整性保護以及數(shù)據(jù)一致性驗證等核心技術。目前國內(nèi)外高校和科研機構已經(jīng)在分布式存儲系統(tǒng)以及區(qū)塊鏈在數(shù)據(jù)完整性保護與驗證領域開展了研究和探索。一些對技術生態(tài)建設有需求的企業(yè),也已聯(lián)合多家金融機構發(fā)起基于區(qū)塊鏈的機構對賬平臺,區(qū)塊鏈技術在數(shù)據(jù)交互可靠性保障領域的應用正在從傳統(tǒng)金融行業(yè)和場景向其他行業(yè)和場景中推廣。
區(qū)塊鏈技術可以為分布式場景提供有效的解決方案,能夠解決中心化場景下的單點失效問題。其中,最為核心的技術是通過分布式共識算法實現(xiàn)數(shù)據(jù)副本之間的一致性,從而提高在大規(guī)模應用中對數(shù)據(jù)服務高可用的要求。
基于區(qū)塊鏈的這種特性,將其視為分布式存儲的一種實現(xiàn)方式,需要確保其在功能和性能上不低于傳統(tǒng)的分布式數(shù)據(jù)庫。已有大量研究人員針對如何優(yōu)化區(qū)塊鏈技術,尤其是在高效查詢、吞吐量和延遲等方面進行了深入的研究和探索。Muzammal等人[3]提出了一種優(yōu)化區(qū)塊鏈的開源分布式數(shù)據(jù)庫,通過研發(fā)數(shù)據(jù)庫和應用程序之間的區(qū)塊鏈中間件,設計了一種區(qū)塊鏈數(shù)據(jù)庫ChainSQL系統(tǒng),除了可以滿足數(shù)據(jù)庫基本的搜索查詢功能,還具備可抵抗惡意篡改、數(shù)據(jù)副本保持一致性等特點。該系統(tǒng)通過在鏈上記錄所有數(shù)據(jù)庫操作日志的方式,使新節(jié)點可通過鏈上記錄同步完整的數(shù)據(jù)庫存儲。El-Handi等人[4]設計了一種區(qū)塊鏈數(shù)據(jù)庫BlockchainDB,在區(qū)塊鏈的存儲層之上增加了數(shù)據(jù)庫層。數(shù)據(jù)庫層主要包括分片管理、交易管理和驗證管理等功能,通過靈活的分片技術,實現(xiàn)客戶端的讀寫和驗證等功能。通過靈活自定義的存儲層,引入了全節(jié)點和輕節(jié)點,從而在全局層面實現(xiàn)安全和效率的兼顧。焦通等人[5]提出了一種區(qū)塊鏈數(shù)據(jù)庫的概念,通過將傳統(tǒng)數(shù)據(jù)庫中的表分別存儲于多個存儲節(jié)點,所有節(jié)點均通過共識算法存儲含有數(shù)據(jù)記錄的區(qū)塊頭信息,可在各個節(jié)點進行查詢和驗證。同時,設計了一種基于哈希指針的索引,通過索引實現(xiàn)數(shù)據(jù)的查詢并保障索引本身的不可篡改,以此提高數(shù)據(jù)檢索效率。Wang等人[6]提出了一種專門設計用于為區(qū)塊鏈和可分叉應用程序提供有效支撐的存儲引擎ForkBase,引入了一種新穎的索引結構來有效識別與消除跨數(shù)據(jù)對象的重復副本。該系統(tǒng)在提供高性能的同時,也顯著降低了開發(fā)成本。其團隊成員Ruan等人[7]在此基礎上進一步研究,利用區(qū)塊鏈技術防御分叉攻擊,將云存儲操作的日志上鏈,保護關鍵目錄和操作日志服務器,實現(xiàn)了細粒度的、安全高效的區(qū)塊鏈數(shù)據(jù)回溯,為在線交易提供安全的數(shù)據(jù)變遷軌跡存證。
在數(shù)據(jù)交互過程中,被篡改、丟失也是引發(fā)數(shù)據(jù)不一致的主要原因?;趨^(qū)塊鏈技術的鏈式數(shù)據(jù)結構特點,國內(nèi)外學者在數(shù)據(jù)完整性驗證與區(qū)塊鏈相結合方面也做了深入研究。
傳統(tǒng)方法都是使用中心化的方式對存儲數(shù)據(jù)的完整性進行驗證,需要依賴可信第三方來完成驗證。但是依然存在第三方是否可信的問題。
魏艷等人[8]提出了一種在不被信任的環(huán)境下無需第三方審查機構,基于區(qū)塊鏈技術的去中心化時間戳的數(shù)據(jù)完整性驗證機制,同時利用以太坊智能合約建立數(shù)據(jù)完整性驗證的區(qū)塊鏈結構,完成小規(guī)模數(shù)據(jù)的驗證,為區(qū)塊鏈技術在數(shù)據(jù)完整性應用方面提出了理論證明。
日志是網(wǎng)絡設備、系統(tǒng)及服務程序等在運作時產(chǎn)生的事件記錄,這些記錄是信息系統(tǒng)的正常運維、故障恢復和錯誤排查的前提,更是維護信息安全的關鍵。日志數(shù)據(jù)對于實現(xiàn)網(wǎng)絡安全有非常重要的研究和分析價值,獲取有價值的日志需要系統(tǒng)和設備必須進行合適的設置以便記錄需要的數(shù)據(jù),同時需要有合適的工具、具備良好培訓的人員和可用的資源來綜合分析收集到的數(shù)據(jù)。除了滿足上述需求之外,還迫切需要一種對日志可靠的、安全的存儲方式。
費禹等人[9]設計了基于公有鏈的日志系統(tǒng),采用工作量證明(Proof of Work,PoW)算法實現(xiàn)共識層,該系統(tǒng)相比于傳統(tǒng)日志存儲形式,具有隱私性強、可控性高、數(shù)據(jù)分享安全便捷的優(yōu)點。Sutton等人[10]設計的區(qū)塊鏈日志記錄系統(tǒng)能夠部署在現(xiàn)有的比特幣公有區(qū)塊鏈上,但存在成本高、效率低、可擴展性差的缺陷。日志數(shù)量越大所需交易數(shù)量越多,會在鏈上占據(jù)相當大的存儲空間。Shao等人[11]使用以太坊的智能合約實現(xiàn)日志數(shù)據(jù)的完整性和異常檢測,并結合機器學習允許智能合約本身能夠實現(xiàn)一定程度的自我更新。
國內(nèi)某公司研發(fā)的機構間對賬平臺于2016年8月投產(chǎn),是國內(nèi)首個在生產(chǎn)環(huán)境中運行的多金融機構間的區(qū)塊鏈應用。通過區(qū)塊鏈技術,優(yōu)化貸款業(yè)務中的機構間對賬流程,降低運營成本。平臺運行3年多記錄了真實交易筆數(shù)已達7000多萬筆的量級,上線以來保持零故障運行。
該應用主要通過區(qū)塊鏈和分布式賬本技術,優(yōu)化貸款業(yè)務中的對賬流程,提升對賬效率,其對賬流程如圖1所示。交易數(shù)據(jù)秒級完成同步,并快速生成準確可信的賬目數(shù)據(jù);T+0日準實時對賬。通過3年多時間的真實生產(chǎn)數(shù)據(jù)檢驗與零故障運行,該應用印證了區(qū)塊鏈底層技術的安全可控、穩(wěn)定可信、健壯可用等優(yōu)點,也為區(qū)塊鏈技術在金融領域的交易對賬場景提供了典型的應用案例。
圖1 機構間貸款業(yè)務對賬平臺流程
國外某公司研發(fā)的基于區(qū)塊鏈的支付網(wǎng)絡,可以轉賬任意一種貨幣,支付簡便易行快捷,交易速度快、交易費用低。截至2020年4月,已有60多個國家和850多家銀行或機構使用。依托該支付網(wǎng)絡,所有的跨境收付款人的信息都可以實現(xiàn)可信的支付和資金清結算。該支付網(wǎng)絡解決了跨境支付信任建立難的痛點,提升業(yè)務效率并降低成本,通過一定的技術妥協(xié)融入現(xiàn)有的金融支付結算體系,提供端到端的跨境支付解決方案。
為了解決傳統(tǒng)工業(yè)數(shù)據(jù)交互驗證方案中所遇到的一些瓶頸問題,本方案引入基于區(qū)塊鏈的基礎設施賦能于業(yè)務場景實際問題,以工業(yè)系統(tǒng)為區(qū)塊鏈節(jié)點,多方共識算法可確保多系統(tǒng)數(shù)據(jù)副本的一致性;智能合約是一種預寫入的邏輯代碼,通過部署業(yè)務智能合約可以實現(xiàn)秒級的自動化數(shù)據(jù)分析與比對,從而解決傳統(tǒng)數(shù)據(jù)對賬過程中不一致數(shù)據(jù)定位難的問題;基于分布式賬本技術,將對賬數(shù)據(jù)在鏈上進行存證,為事后審計提供支撐,解決多方系統(tǒng)定責難且缺乏自動審計追責機制的問題。
工業(yè)系統(tǒng)數(shù)據(jù)交互可信驗證方案主要由業(yè)務系統(tǒng)接入組件、具備可信驗證功能的區(qū)塊鏈節(jié)點和可視化管理查詢系統(tǒng)3個部分組成。
其中,具備可信驗證功能的區(qū)塊鏈節(jié)點為方案的核心部分,該節(jié)點可靈活部署于業(yè)務系統(tǒng)現(xiàn)有網(wǎng)絡結構中,業(yè)務系統(tǒng)通過公鑰(Public Key Infrastructure,PKI)機制實現(xiàn)聯(lián)盟鏈構建,業(yè)務數(shù)據(jù)通過鏡像的方式實現(xiàn)旁路上鏈,從而在不影響業(yè)務連續(xù)性的前提下實現(xiàn)數(shù)據(jù)的采集。然后,在區(qū)塊鏈節(jié)點部署數(shù)據(jù)自動化驗證的智能合約,實現(xiàn)自動化秒級對賬,同時提供信息訪問接口實現(xiàn)業(yè)務員查閱操作,其解決方案如圖2所示。
圖2 工業(yè)系統(tǒng)數(shù)據(jù)交互可信驗證方案
為保障區(qū)塊鏈節(jié)點的可信驗證功能運轉,需研究下述4項關鍵技術:
(1)分布式身份認證技術:通過智能合約編寫身份數(shù)據(jù)發(fā)布、認證以及撤銷相關規(guī)則,基于分布式賬本技術,利用區(qū)塊鏈共識機制,實現(xiàn)身份數(shù)據(jù)的可信存儲。通過智能合約提供的外部接口實現(xiàn)身份的可信驗證。
(2)智能合約一致性校驗技術:深入分析業(yè)務系統(tǒng)數(shù)據(jù)交互格式,提取關鍵參數(shù),抽象為規(guī)則化的業(yè)務智能合約,實現(xiàn)數(shù)據(jù)流的自動解析與實時比對,并對結果進行鏈上存儲。
(3)基于身份標識的溯源技術:建立基于區(qū)塊鏈的全局唯一標識,支持鏈上可驗證。進一步研究Merkel樹機制,實現(xiàn)基于摘要的數(shù)據(jù)快速檢索機制,支持鏈上數(shù)據(jù)的有效輸出。
(4)分布式賬本客戶端:基于Java JNI規(guī)范,開發(fā)向下兼容的硬件算法接口,向上實現(xiàn)以交易形式的鏈上互通,與分布式身份認證技術相結合,實現(xiàn)數(shù)據(jù)的可信上鏈。
此外,為進一步確保從業(yè)務系統(tǒng)采集數(shù)據(jù)的可靠性,后續(xù)可利用區(qū)塊鏈硬件設備與本方案配合,進一步保障數(shù)據(jù)源頭的可信,該硬件需具備下述兩大功能特點:
(1)可信密鑰管理:建立基于硬件的密碼管理技術,通過統(tǒng)一口令實現(xiàn)硬件與用戶的綁定關系,用戶通過可變的單一口令即實現(xiàn)多重密碼安全使用。
(2)可信數(shù)據(jù)采集:建立設備/系統(tǒng)唯一身份標識與鏈上公鑰地址的對應關系,通過分布式賬本客戶端實現(xiàn)基于硬件算法的數(shù)據(jù)簽名,以交易形式提交數(shù)據(jù),配合區(qū)塊鏈的驗簽機制,確保數(shù)據(jù)來源的可靠與防篡改。
工業(yè)系統(tǒng)數(shù)據(jù)交互可信驗證方案旨在引入?yún)^(qū)塊鏈基礎設施作為對賬驗證核心,對原有業(yè)務系統(tǒng)侵入性較小,整體系統(tǒng)實施架構由區(qū)塊鏈核心層、區(qū)塊鏈接入層及業(yè)務層3個關鍵層級組成,如圖3所示。
圖3 工業(yè)系統(tǒng)數(shù)據(jù)交互可信驗證整體架構
(1)區(qū)塊鏈核心層:基于區(qū)塊鏈基礎設施,實現(xiàn)業(yè)務型合約的編排、部署、可信執(zhí)行。本方案采用國內(nèi)主流的聯(lián)盟鏈,自主設計業(yè)務型合約,通過JSON RPC遠程調(diào)用協(xié)議實現(xiàn)與區(qū)塊鏈接入層的對接。其中業(yè)務型合約設計是本方案的核心,包括對賬、計算和存儲合約。根據(jù)實際度量的業(yè)務需求,定位需要比對的關鍵參數(shù),包括但不限于消息ID、時間、地點、業(yè)務關鍵參數(shù)等需要對齊的數(shù)據(jù)內(nèi)容,進行并行或者遞歸順序的比對。將上述流程實現(xiàn)自動化編碼,即完成業(yè)務合約的編碼,根據(jù)不同區(qū)塊鏈的技術要求完成合約部署。
(2)區(qū)塊鏈接入層:打通實體業(yè)務與鏈層服務的關鍵功能組件,也是本實施架構的核心模塊。根據(jù)業(yè)務系統(tǒng)的實際形態(tài)可提供3種實體業(yè)務對接模式。
①流量鏡像:對業(yè)務系統(tǒng)無侵入式對接模式,通過業(yè)務系統(tǒng)路由器的適當配置,獲取工業(yè)系統(tǒng)間的交互流量進行鏡像。主要難點在路由器的配置、流量的準確獲取和正確解析。
②HTTP接口:業(yè)務系統(tǒng)無需源碼修改,調(diào)用本方案的接口進行信息傳輸。本方案根據(jù)實際業(yè)務信息度量參數(shù),設置業(yè)務系統(tǒng)與區(qū)塊鏈核心層的對接信息通信接口。主要工作在網(wǎng)絡接口參數(shù)設置與適當?shù)南⒎答仭?/p>
③區(qū)塊鏈客戶端:業(yè)務系統(tǒng)需要進行源碼層面的部分改動,集成分布式賬本客戶端集成接口,實現(xiàn)客戶端在原業(yè)務系統(tǒng)的集成與調(diào)試,保障業(yè)務“第一手”信息以交易的方式上鏈,在一定程度上規(guī)避被篡改的風險,符合區(qū)塊鏈信息上鏈安全性的高需求。在區(qū)塊鏈客戶端做了緩存處理,即使某筆交易發(fā)送失敗,也保障交易信息不丟失。分布式賬本客戶端承接信息解析與交易上鏈,實現(xiàn)數(shù)據(jù)在“第一公里”的時候就以簽名交易的方式上鏈,有力規(guī)避信息在傳輸過程中被篡改的可能,是目前最為可靠的信息上鏈方式。
值得注意的是,上述3種對接方式中,消息隊列作為“流量鏡像”與“HTTP接口”的信息緩存,保證信息不丟失,即使在鏈服務偶爾宕機的情況下,也可保障原始信息的備份。
(3)業(yè)務層:負責業(yè)務呈現(xiàn),用戶交互功能與界面,提供用戶安全便捷的信息查閱途徑。涵蓋用戶管理、權限管理、業(yè)務數(shù)據(jù)庫3個主要功能模塊。其中,用戶管理與權限管理相配合,完成用戶的注冊、登錄及訪問信息庫的功能。業(yè)務數(shù)據(jù)庫主要是與度量功能相關的基礎信息,根據(jù)具體業(yè)務的不同而變化。
通過上述實施方案的部署,工業(yè)系統(tǒng)數(shù)據(jù)交互可信驗證系統(tǒng)的交互過程主要可分為“數(shù)據(jù)可信驗證”與“業(yè)務可視化”兩個流程,兩個流程之間通過鏈層的分布式賬本進行橋接,系統(tǒng)數(shù)據(jù)交互具體流程描述如下。
數(shù)據(jù)上鏈驗證流程:
①業(yè)務方根據(jù)自身系統(tǒng)強壯性、安全性與技術實現(xiàn)等方面評估,進行數(shù)據(jù)對接模式的定位,“流量鏡像”對原系統(tǒng)保護最好,“HTTP接口”數(shù)據(jù)獲取最方便,“區(qū)塊鏈客戶端”信息獲取最可靠;
②進行關鍵信息解析,將數(shù)據(jù)寫入消息隊列緩存;
③調(diào)用區(qū)塊鏈客戶端開放接口,實現(xiàn)數(shù)據(jù)的再次封裝與交易上鏈;
④通過區(qū)塊鏈客戶端實現(xiàn)待驗證原始數(shù)據(jù)的上鏈,并依次調(diào)用對賬、計算合約和存儲合約,實現(xiàn)數(shù)據(jù)度量與結果的鏈上存儲。至此完成數(shù)據(jù)的可信驗證流程。
業(yè)務可視化流程:
①根據(jù)業(yè)務方的實際需求,進行用戶管理與權限管理的配置,并且可兼容業(yè)務方原有的用戶體系;
②業(yè)務員通過可視化界面進行查詢參數(shù)的輸入;
③后臺調(diào)用信息解析模塊,實現(xiàn)從分布式賬本信息的讀取與展示。至此完成業(yè)務可視化流程。
本方案設計充分考慮系統(tǒng)可擴展性,基于數(shù)學組合理論分析如下:
條件:假設M個系統(tǒng),N個度量指標參數(shù),TPS為區(qū)塊鏈系統(tǒng)的每秒吞吐量。
目的:給出基于區(qū)塊鏈可信驗證系統(tǒng)的數(shù)學模型與性能分析。
思路:可信驗證系統(tǒng)的性能即為每秒能處理的最大系統(tǒng)數(shù)量與最大指標參數(shù)。
建模:可信驗證系統(tǒng)可表述為關于M、N變量的數(shù)學不等式函數(shù):
進一步,驗證分析過程需要兩兩比對,任選兩個系統(tǒng)做排列組合,對賬參數(shù)數(shù)量N,不等式(1)轉換為:
分析:底層鏈采用FISCO-BCOS,可信區(qū)塊鏈測評給出其最新TPS可達20000。不等式(2)展開即為:
采用縮放法,對不等式(3)進行估值:
假設MN= ,則對賬系統(tǒng)每秒能完成34個系統(tǒng),最多34個指標參數(shù)條件下的兩兩對賬。
以常見的工業(yè)信息化系統(tǒng)數(shù)據(jù)交互為例,假設需保證某生產(chǎn)企業(yè)的企業(yè)資源計劃系統(tǒng)ERP、制造執(zhí)行系統(tǒng)MES和倉儲管理系統(tǒng)WMS中的某關鍵數(shù)據(jù)(如產(chǎn)品庫存)一致性。采用傳統(tǒng)方案的人工比對,數(shù)據(jù)一致性校驗只能通過兩兩系統(tǒng)之間進行比對,且需要人工去導出數(shù)據(jù),定位異常,通常是在T+1日對T日的數(shù)據(jù)進行比對,并修復數(shù)據(jù)。整個過程需多系統(tǒng)多部門人員參與、復核、驗證,通常需要3人持續(xù)2至3小時才可完成,且仍有人為因素導致錯誤的可能。
根據(jù)上述假設的工業(yè)系統(tǒng)數(shù)據(jù)交互需求搭建了系統(tǒng)原型。首先,根據(jù)具體業(yè)務系統(tǒng)情況考慮對賬系統(tǒng)的區(qū)塊鏈節(jié)點部署。本次實驗部署了4個區(qū)塊鏈節(jié)點,由于MES系統(tǒng)、WMS系統(tǒng)、ERP系統(tǒng)部署在內(nèi)網(wǎng)的不同子網(wǎng),且相互之間數(shù)據(jù)交互頻度不一,系統(tǒng)原型部署3個區(qū)塊鏈節(jié)點在一個子網(wǎng),部署1個區(qū)塊鏈節(jié)點在另一個子網(wǎng)。由于工業(yè)系統(tǒng)對于業(yè)務持續(xù)性要求較高,具體實施方案采用“流量鏡像”的方式,從上述各系統(tǒng)數(shù)據(jù)交互的核心交換機處引出流量鏡像進行數(shù)據(jù)的過濾和分析。
通過采集2021年9月1日至2021年10月31日的交互數(shù)據(jù),我們在系統(tǒng)后臺對每日交互數(shù)據(jù)進行統(tǒng)計,如圖4所示。3個工業(yè)系統(tǒng)共計交互數(shù)據(jù)46萬余條,單日峰值交互數(shù)據(jù)12909條,日均交互數(shù)據(jù)7600余條,按每天平均工作10小時計算,平均每分鐘約13條交互消息。
圖4 系統(tǒng)原型采集交互數(shù)據(jù)量一覽
在上述規(guī)模的數(shù)據(jù)采集量情況下,系統(tǒng)原型可以實現(xiàn)自動定位異常,并可以在獲取交互數(shù)據(jù)1秒內(nèi)準實時展示對賬結果,從而可實現(xiàn)T+0日秒級的數(shù)據(jù)比對目標,整個過程實時可查、可驗和可溯,使數(shù)據(jù)修復更加快速有效。
系統(tǒng)原型的前端頁面如圖5所示,該頁面涉及的部分生產(chǎn)信息已做脫敏處理,頁面展示的是MES系統(tǒng)和ERP系統(tǒng)的產(chǎn)品庫存數(shù)量對賬驗證,白色數(shù)據(jù)行表示該類型產(chǎn)品庫存數(shù)據(jù)無差異,紅色數(shù)據(jù)行表示該類型產(chǎn)品庫存數(shù)在MES系統(tǒng)和ERP系統(tǒng)中并不一致,業(yè)務人員可以通過查看日志的方式,進一步查看引發(fā)數(shù)據(jù)不一致的具體操作日志,從而快速判斷分析引發(fā)數(shù)據(jù)異常的系統(tǒng)和原因,協(xié)調(diào)相應人員進行數(shù)據(jù)修復。
在工業(yè)生產(chǎn)領域存在設備、系統(tǒng)、服務之間的數(shù)據(jù)交互,保障關鍵數(shù)據(jù)參數(shù)在交互始末的一致性非常重要,影響業(yè)務的多個方面。本文深入分析現(xiàn)有業(yè)務場景與解決方案,明確在現(xiàn)存數(shù)據(jù)交互過程中仍然存在的痛點,聚焦數(shù)據(jù)的可靠性驗證,提出工業(yè)場景下數(shù)據(jù)交互可信驗證的解決方案,并構建原型進行實驗驗證。通過實驗驗證的結果,可將該方案持續(xù)優(yōu)化,構建模塊化的智能合約集,可以在類似的數(shù)據(jù)一致性需求場景中,如原材料庫存、供應鏈采購等場景,快速形成落地應用方案,利用區(qū)塊鏈技術解決工業(yè)場景中的具體問題,做到技術賦能真正落地。