潘慧萍 李寶安 呂學(xué)強(qiáng) 姜 陽 李果林 張 樂
(1. 北京信息科技大學(xué)網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室,北京 100101;2. 陽光易購〔北京〕科技有限公司,北京 100036)
隨著新型冠狀病毒肺炎疫情肆虐席卷全球,中國多地出現(xiàn)進(jìn)口冷鏈?zhǔn)称沸鹿跈z測結(jié)果呈陽性,冷鏈溯源系統(tǒng)的建設(shè)在疫情追蹤防護(hù)中顯得至關(guān)重要。冷鏈溯源主要是指在冷鏈供應(yīng)鏈體系下實(shí)現(xiàn)對產(chǎn)品流向信息的可控可管。2020年國務(wù)院應(yīng)對新型冠狀病毒肺炎疫情聯(lián)防聯(lián)控機(jī)制綜合組發(fā)布的《關(guān)于進(jìn)一步做好冷鏈?zhǔn)称纷匪莨芾砉ぷ鞯耐ㄖ分忻鞔_表示了建立和完善由國家級平臺、省級平臺和企業(yè)級平臺組成的冷鏈?zhǔn)称纷匪莨芾硐到y(tǒng)的重要性和迫切性,力求以畜禽肉、水產(chǎn)品等為重點(diǎn),實(shí)現(xiàn)重點(diǎn)冷鏈?zhǔn)称窂暮jP(guān)進(jìn)口查驗(yàn)到貯存分銷、生產(chǎn)加工、批發(fā)零售、餐飲服務(wù)全鏈條信息化追溯[1]。
湘冷鏈溯源系統(tǒng)由湖南省市場監(jiān)管局信息中心和陽光易購(北京)科技有限公司(簡稱“陽光易購”)共同建設(shè),由北京信息科技大學(xué)網(wǎng)絡(luò)文化與數(shù)字傳播北京市重點(diǎn)實(shí)驗(yàn)室與陽光易購共同研究并實(shí)現(xiàn)落地,陽光易購對從事進(jìn)口冷鏈?zhǔn)称返钠髽I(yè)進(jìn)行培訓(xùn),并與相關(guān)企業(yè)進(jìn)行系統(tǒng)對接,完成對湘冷鏈溯源系統(tǒng)的運(yùn)行維護(hù)。湘冷鏈溯源系統(tǒng)利用數(shù)字化手段全面掌握冷鏈產(chǎn)品在區(qū)域內(nèi)的供應(yīng)鏈流向,并且一碼連通實(shí)現(xiàn)從供應(yīng)鏈?zhǔn)渍镜较M(fèi)環(huán)節(jié)的產(chǎn)品閉環(huán)追溯管理,實(shí)現(xiàn)了供應(yīng)鏈數(shù)據(jù)的可信任性和透明性,監(jiān)管后臺既可以完成對冷鏈產(chǎn)品的日常數(shù)據(jù)分析,也可以通過追溯碼對冷鏈?zhǔn)称返牧飨蜻M(jìn)行精準(zhǔn)查詢。為解決讀取數(shù)據(jù)效率低以及某些節(jié)點(diǎn)數(shù)據(jù)爆炸的問題,文章擬提出一種讀寫分離的區(qū)塊鏈狀態(tài)數(shù)據(jù)緩存和查詢方法,以期為疫情環(huán)境下解決冷鏈溯源的迫切需求提供依據(jù)。
目前,溯源系統(tǒng)在國內(nèi)外的研究上已取得了一定的進(jìn)展,許多新興技術(shù)被應(yīng)用于供應(yīng)鏈可追溯系統(tǒng)的構(gòu)建中。按照結(jié)構(gòu),溯源系統(tǒng)主要分為兩大類:集中式體系結(jié)構(gòu)和分布式體系結(jié)構(gòu)[2]。
集中式體系結(jié)構(gòu)中使用的技術(shù)主要包括無線傳感器網(wǎng)絡(luò)、RFID以及二維碼技術(shù)等,焦玉聰?shù)萚3]利用RFID技術(shù)和二維碼技術(shù)構(gòu)建了肉制品溯源系統(tǒng),實(shí)現(xiàn)了相關(guān)政府部門對食品的監(jiān)管。吳冬燕等[4]基于RFID-EPC技術(shù)實(shí)現(xiàn)了對冷鏈?zhǔn)称飞a(chǎn)、物流和銷售的全過程信息監(jiān)控。集中式溯源系統(tǒng)主要通過權(quán)威的第三方進(jìn)行管理和維護(hù),無法保證數(shù)據(jù)的安全性和可靠性,還可能導(dǎo)致供應(yīng)鏈上數(shù)據(jù)信息不對稱的問題,并且具有較高的數(shù)據(jù)篡改和信息泄露風(fēng)險(xiǎn),此外,集中式系統(tǒng)容易因?yàn)閱吸c(diǎn)故障導(dǎo)致整個(gè)系統(tǒng)崩潰。
分布式體系結(jié)構(gòu)主要是基于區(qū)塊鏈技術(shù)實(shí)現(xiàn)的冷鏈溯源系統(tǒng),Tian[5]基于HACCP提出了一種基于區(qū)塊鏈和物聯(lián)網(wǎng)的實(shí)時(shí)溯源系統(tǒng)。Lin等[6]通過將區(qū)塊鏈技術(shù)和物聯(lián)網(wǎng)技術(shù)相結(jié)合實(shí)現(xiàn)了一種可信任共享型食品追溯系統(tǒng)。Miguel等[7]實(shí)現(xiàn)了“從農(nóng)場到餐桌”的農(nóng)業(yè)食品溯源系統(tǒng)AgriBlockIoT,通過以太坊和Hyperledger Sawtooth兩種區(qū)塊鏈和IoT傳感器設(shè)備,保證了系統(tǒng)的透明性和審核產(chǎn)品的可追溯性。曾小青等[8]基于物聯(lián)網(wǎng)和區(qū)塊鏈技術(shù)實(shí)現(xiàn)了食品溯源系統(tǒng),提高了食品供應(yīng)鏈的效率和透明度。劉宗妹[9]基于區(qū)塊鏈上鏈信息不易被篡改的特點(diǎn),利用RFID讀取食品電子信息實(shí)現(xiàn)了食品溯源系統(tǒng)。陳飛等[10]基于以太坊平臺實(shí)現(xiàn)了對豬肉的溯源,通過引入食品藥品監(jiān)督局節(jié)點(diǎn)實(shí)現(xiàn)對食品的召回和錯(cuò)誤數(shù)據(jù)的更改,消費(fèi)者可以對被更改過的溯源數(shù)據(jù)的食品進(jìn)行投訴。王少然等[11]利用GS1編碼體系冷鏈物流中的產(chǎn)品信息進(jìn)行標(biāo)識,采用區(qū)塊鏈技術(shù)保證了產(chǎn)品流通信息的透明性,實(shí)現(xiàn)對生鮮產(chǎn)品的防偽溯源。由于區(qū)塊鏈技術(shù)的去中心化使得供應(yīng)鏈數(shù)據(jù)具有可信任性和透明性,解決了數(shù)據(jù)篡改的問題,但是依舊面臨信任轉(zhuǎn)移和數(shù)據(jù)爆炸的問題。
湘冷鏈在基于區(qū)塊鏈的基礎(chǔ)上不僅實(shí)現(xiàn)了對整個(gè)供應(yīng)鏈的實(shí)時(shí)監(jiān)控,而且通過供應(yīng)鏈可視化可以實(shí)現(xiàn)對追溯全景圖的展示,針對發(fā)生疑似問題的冷鏈?zhǔn)称愤M(jìn)行精準(zhǔn)定位和快速上報(bào),同時(shí)在冷鏈?zhǔn)称愤M(jìn)入湖南省的第一站對冷鏈?zhǔn)称愤M(jìn)行二維碼賦值,通過此二維碼記錄冷鏈?zhǔn)称妨魍ㄟ^程中所有流通信息,消費(fèi)者通過掃描二維碼購買及查看冷鏈?zhǔn)称犯鱾€(gè)站點(diǎn)的流通信息,實(shí)現(xiàn)供應(yīng)鏈?zhǔn)渍举x碼一碼到底。此外,湖南省市場監(jiān)督管理局也可以對冷鏈?zhǔn)称返牧飨蜻M(jìn)行精準(zhǔn)查詢,結(jié)合湘冷鏈溯源系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),針對區(qū)塊鏈系統(tǒng)數(shù)據(jù)存儲目前存在的缺點(diǎn),設(shè)計(jì)一種讀寫分離的區(qū)塊鏈狀態(tài)數(shù)據(jù)緩存和查詢方法,充分利用緩存系統(tǒng),減輕區(qū)塊鏈系統(tǒng)的負(fù)擔(dān),提高對區(qū)塊鏈狀態(tài)數(shù)據(jù)的讀寫效率,解決區(qū)塊鏈系統(tǒng)因數(shù)據(jù)冗余而造成的效率低下的實(shí)際問題。
區(qū)塊鏈系統(tǒng)利用密碼學(xué)算法和時(shí)間戳技術(shù)實(shí)現(xiàn)區(qū)塊鏈上數(shù)據(jù)的隱秘性和不可篡改性,并通過共識機(jī)制來保證數(shù)據(jù)塊中的信息得到鏈上節(jié)點(diǎn)的認(rèn)可,同時(shí)保證鏈上節(jié)點(diǎn)的數(shù)據(jù)一致性,智能合約保證交易依據(jù)合約執(zhí)行,避免因合約雙方的主觀判斷產(chǎn)生的爭議。
基于區(qū)塊鏈系統(tǒng)自身的優(yōu)點(diǎn),經(jīng)過對進(jìn)口冷鏈?zhǔn)称饭?yīng)鏈的流程分析,設(shè)計(jì)湘冷鏈溯源方案如圖1所示。整個(gè)供應(yīng)鏈系統(tǒng)由進(jìn)口冷鏈生產(chǎn)加工廠、進(jìn)口貿(mào)易、運(yùn)輸倉儲企業(yè)、物流企業(yè)以及銷售單位共同維護(hù),并由湖南省市場監(jiān)督管理局對供應(yīng)鏈上任意節(jié)點(diǎn)進(jìn)行實(shí)時(shí)監(jiān)管。湘冷鏈溯源系統(tǒng)實(shí)現(xiàn)了首站賦碼一碼到底的溯源模式,即通過在冷鏈?zhǔn)称愤M(jìn)入湖南省的第一站完成對冷鏈?zhǔn)称返亩S碼賦值,并使供應(yīng)鏈上其他節(jié)點(diǎn)均通過此二維碼寫入當(dāng)前節(jié)點(diǎn)的流通信息,實(shí)現(xiàn)所有流通數(shù)據(jù)上鏈,最后消費(fèi)者通過掃描二維碼可以查看冷鏈?zhǔn)称犯鱾€(gè)站點(diǎn)的流通信息。
圖1 湘冷鏈溯源方案結(jié)構(gòu)圖Figure 1 Structure diagram of Hunan cold chain traceability scheme
進(jìn)口冷鏈生產(chǎn)加工廠主要是指境外食品生產(chǎn)商,其進(jìn)口冷鏈?zhǔn)称窋?shù)據(jù)信息主要通過湖南省境內(nèi)進(jìn)口貿(mào)易商完成錄入上鏈。進(jìn)口貿(mào)易、運(yùn)輸倉儲企業(yè)、物流企業(yè)和銷售單位的信息錄入過程相同,以銷售單位為例,將收集到的數(shù)據(jù)存儲至銷售數(shù)據(jù)庫中,銷售節(jié)點(diǎn)通過對錄入數(shù)據(jù)進(jìn)行非對稱加密算法加密生成數(shù)據(jù)摘要并發(fā)送至區(qū)塊鏈上,在鏈上節(jié)點(diǎn)達(dá)成共識后將數(shù)據(jù)摘要寫入?yún)^(qū)塊,同時(shí)區(qū)塊返回一個(gè)哈希值至銷售數(shù)據(jù)庫中,從而完成鏈上的數(shù)據(jù)存儲與共享,在數(shù)據(jù)的存儲讀取過程中,為了解決區(qū)塊鏈系統(tǒng)讀取效率低的問題,提出一種讀寫分離的狀態(tài)數(shù)據(jù)緩存和查詢的方案。
依據(jù)湘冷鏈溯源方案的設(shè)計(jì),基于Hyperledge Fabric平臺實(shí)現(xiàn)湘冷鏈溯源系統(tǒng),且按照層次結(jié)構(gòu)劃分為5層:數(shù)據(jù)存儲層、共識及網(wǎng)絡(luò)層、數(shù)據(jù)分析層、食品溯源層以及應(yīng)用層(見圖2)。
圖2 湘冷鏈溯源體系層次結(jié)構(gòu)圖Figure 2 Hierarchical structure diagram of Hunan cold chain traceability system
2.2.1 數(shù)據(jù)存儲層 通過從進(jìn)口冷鏈生產(chǎn)加工廠、進(jìn)口貿(mào)易、運(yùn)輸倉儲企業(yè)、物流企業(yè)和銷售單位中進(jìn)行數(shù)據(jù)采集,并依據(jù)數(shù)據(jù)倉庫和信息庫兩種數(shù)據(jù)類別分類存儲,同時(shí)區(qū)塊鏈節(jié)點(diǎn)通過非對稱加密算法得到相應(yīng)的數(shù)據(jù)摘要并根據(jù)數(shù)據(jù)摘要返回相應(yīng)的哈希值得到數(shù)據(jù)索引,完成數(shù)據(jù)的雙向存儲。為了解決區(qū)塊鏈系統(tǒng)讀取效率低的問題,提出一種讀寫分離的區(qū)塊鏈狀態(tài)數(shù)據(jù)緩存和查詢方法,利用緩存系統(tǒng)減輕區(qū)塊鏈系統(tǒng)的負(fù)擔(dān),從根源上提高區(qū)塊鏈系統(tǒng)的讀取效率。
2.2.2 共識及網(wǎng)絡(luò)層 主要包括P2P網(wǎng)絡(luò)、驗(yàn)證機(jī)制、傳播機(jī)制、PoW共識機(jī)制以及PoS共識機(jī)制,由這些關(guān)鍵性技術(shù)共同完成區(qū)塊鏈上數(shù)據(jù)的存儲和共享。
2.2.3 數(shù)據(jù)分析層 主要是對收集到的圖片文字、位置信息、商戶關(guān)聯(lián)、商品關(guān)聯(lián)、市場關(guān)聯(lián)以及時(shí)間關(guān)聯(lián)信息進(jìn)行分析。
2.2.4 食品溯源層 主要完成對地圖、時(shí)間、商戶和產(chǎn)商的信息溯源,以及對商品、市場、產(chǎn)商和流向信息的統(tǒng)計(jì)。
2.2.5 應(yīng)用層 主要是指湘冷鏈溯源系統(tǒng)的APP和WEB端應(yīng)用,實(shí)現(xiàn)包括監(jiān)管系統(tǒng)、溯源系統(tǒng)、交易系統(tǒng)和數(shù)據(jù)查詢系統(tǒng)。
根據(jù)湘冷鏈溯源方案設(shè)計(jì)和系統(tǒng)層級結(jié)構(gòu)設(shè)計(jì),為了實(shí)現(xiàn)對疫情防控重點(diǎn)冷鏈?zhǔn)称吩诠?yīng)鏈上的全閉環(huán)追溯管理,將系統(tǒng)功能分為3塊(圖3):① 面向政府執(zhí)法人員的監(jiān)管端;② 面向進(jìn)口冷鏈?zhǔn)称飞a(chǎn)經(jīng)營者的企業(yè)端;③ 面向公眾冷鏈?zhǔn)称凡樵兊墓姸恕F渲斜O(jiān)管端主要提供分級分層的食品追溯和溯源倒查的功能,針對領(lǐng)導(dǎo)和監(jiān)管工作人員打造不同的功能和界面;企業(yè)端主要提供食品流通的申報(bào)備案、出入庫登記、檢驗(yàn)檢疫信息識別上傳、追溯碼賦碼、拆包等功能;公眾端提供面向公眾的冷鏈?zhǔn)称窉叽a查詢溯源信息的功能。
圖3 整體系統(tǒng)架構(gòu)圖Figure 3 Overall system architecture diagram
監(jiān)管端的業(yè)務(wù)功能模塊如圖4所示,主要分為冷鏈企業(yè)管理模塊和冷鏈商品批次管理模塊。
圖4 監(jiān)管端功能模塊圖Figure 4 Function module diagram of supervision end
冷鏈企業(yè)管理模塊主要實(shí)現(xiàn)了湖南省市場監(jiān)督管理局執(zhí)法人員對供應(yīng)鏈上的企業(yè)進(jìn)行實(shí)時(shí)監(jiān)管管理,如圖5所示。實(shí)現(xiàn)按照相應(yīng)條件搜索相關(guān)企業(yè)并對其登記信息進(jìn)行查看的功能,通過隨時(shí)查看冷鏈?zhǔn)称妨鬓D(zhuǎn)過程中的企業(yè)資質(zhì)信息,流轉(zhuǎn)各環(huán)節(jié)的產(chǎn)品信息及食品檢測信息,確保供應(yīng)鏈上的企業(yè)都具有合法資質(zhì)。
圖5 冷鏈企業(yè)管理圖Figure 5 Cold chain enterprise management chart
冷鏈商品批次管理模塊主要對鏈上流入和流出湖南省冷鏈商品進(jìn)行溯源,實(shí)現(xiàn)按照條件搜索冷鏈產(chǎn)品,并對冷鏈產(chǎn)品信息進(jìn)行查看,如圖6所示,其中冷鏈產(chǎn)品信息包括批次基本信息、消費(fèi)者信息、涉及企業(yè)信息以及涉及人員信息等,還可以查看四證照片包括檢疫免疫照片、核酸檢測照片、報(bào)關(guān)照片和消毒記錄照片。
圖6 流入流出湖南省冷鏈商品詳情查看圖Figure 6 Details of cold chain goods flowing into andout of Hunan province
監(jiān)管端基于湖南省市場監(jiān)督管理局?jǐn)?shù)據(jù)中心獲取的全鏈條追溯信息、主體信息、冷庫信息以及產(chǎn)品信息,實(shí)現(xiàn)冷鏈主體管理、冷鏈?zhǔn)称纷匪?、綜合分析展示、下級監(jiān)管考核以及應(yīng)急指揮調(diào)度功能。通過將供應(yīng)鏈結(jié)構(gòu)設(shè)計(jì)為類樹形結(jié)構(gòu)實(shí)現(xiàn)溯源鏈條信息可視化及全局掌控,如圖7所示,基于樹形結(jié)構(gòu)自身的優(yōu)點(diǎn),當(dāng)發(fā)現(xiàn)有疑似問題的冷鏈?zhǔn)称窌r(shí),湖南省市場監(jiān)督管理局執(zhí)法人員可以在包含大量上游企業(yè)的供應(yīng)鏈上快速縮小檢查范圍,并通過查詢鏈條中各個(gè)企業(yè)的歸屬監(jiān)管主體機(jī)構(gòu),迅速將追查任務(wù)分發(fā)至多個(gè)對應(yīng)的市場監(jiān)管局及監(jiān)管人員,從而封鎖有疑似問題的冷鏈?zhǔn)称?,阻止疫情蔓延?/p>
圖7 冷鏈?zhǔn)称饭?yīng)鏈流通信息圖Figure 7 Cold chain food supply chain circulation infographic
湘冷鏈溯源平臺相關(guān)的企業(yè)需要經(jīng)過統(tǒng)一社會(huì)信用代碼激活認(rèn)證,且按照經(jīng)營類型劃分為8類(見表1)。
表1 企業(yè)類型表
企業(yè)端主要?jiǎng)澐譃樾〕绦蚨撕蚉C端,業(yè)務(wù)功能模塊如圖8所示。其中小程序端的業(yè)務(wù)功能模塊主要分為五大模塊:注冊登錄模塊、企業(yè)管理模塊、冷鏈溯源模塊、臺賬模塊以及用戶操作模塊。
圖8 企業(yè)端功能模塊圖Figure 8 Enterprise function module diagram
注冊登錄模塊主要完成企業(yè)基本信息的注冊,包括冷鏈企業(yè)名稱、詳細(xì)地址、聯(lián)系人姓名、聯(lián)系電話、所在省市、統(tǒng)一社會(huì)信用代碼以及企業(yè)類型等相關(guān)信息。企業(yè)管理模塊主要完成企業(yè)的信息修改工作,包括企業(yè)基本信息的完善與修改、企業(yè)人員信息的增加與刪除、供應(yīng)商信息的增加與刪除以及客戶信息的修改。冷鏈溯源模塊主要完成對倉庫信息的管理,如圖9(a)所示,冷鏈商品的入庫、查看批次碼、批次詳情和庫存記錄和盤庫,發(fā)往省內(nèi)的出庫信息記錄以及發(fā)往省外的出庫信息記錄。其中冷鏈商品的入庫盤庫所需填寫的信息包括入庫數(shù)量、規(guī)格型號、生產(chǎn)批次號、生產(chǎn)日期、流入單號、流入地分類和名稱、檢驗(yàn)檢疫單號、報(bào)檢數(shù)量、報(bào)檢單位、檢驗(yàn)檢疫照片、核酸檢測照片、報(bào)關(guān)照片等。
臺賬模塊主要是在省內(nèi)或省外發(fā)貨創(chuàng)建發(fā)貨單后自動(dòng)生成臺賬,如圖9(b)所示,既可以通過臺賬查看該筆訂單的狀態(tài)及信息,還可以完成臺賬撤銷,撤銷臺賬之后商品會(huì)自動(dòng)退回至供貨商該批次商品所在倉庫中??蛻舨僮髂K主要完成客戶確認(rèn)到庫入庫操作和消費(fèi)者掃碼登記購買操作。對商品進(jìn)行首站賦碼后,可以讓消費(fèi)者進(jìn)行掃碼登記購買,并且在系統(tǒng)中記錄購買信息,從而實(shí)現(xiàn)對該批次商品的溯源。
圖9 企業(yè)端小程序圖Figure 9 Enterprise side applet diagram
PC端的業(yè)務(wù)功能模塊主要分為三大模塊:注冊登錄、企業(yè)管理以及冷鏈庫存模塊。與小程序端的功能相似,主要實(shí)現(xiàn)了企業(yè)的信息注冊登記,對企業(yè)、企業(yè)人員、客戶以及供應(yīng)商的信息查看修改登記,同樣可以查看冷鏈產(chǎn)品的庫存信息、完成批量導(dǎo)入庫存信息、查看批次商品詳情、上傳四證照片以及溯源二維碼打印等操作。
企業(yè)端基于區(qū)塊鏈中的智能合約完成對企業(yè)錄入數(shù)據(jù)的合規(guī)性檢查,當(dāng)且僅當(dāng)檢驗(yàn)合格后對協(xié)議(交易)過程進(jìn)行驗(yàn)證并記錄,并再次利用智能合約自動(dòng)授權(quán)下游流通企業(yè)對食品信息進(jìn)行補(bǔ)充維護(hù),保障了鏈上數(shù)據(jù)的可信任性。若檢驗(yàn)發(fā)現(xiàn)被供應(yīng)進(jìn)口冷鏈?zhǔn)称放c其對應(yīng)的文檔記載信息不符,則將結(jié)果寫入系統(tǒng),同時(shí)系統(tǒng)將自動(dòng)反饋問題至監(jiān)管部門節(jié)點(diǎn),實(shí)現(xiàn)針對疑似問題食品的舉報(bào)功能,保障鏈上數(shù)據(jù)的真實(shí)性。若檢驗(yàn)工作出現(xiàn)疏漏未檢測出疑似問題食品,導(dǎo)致食品流入到下游流通企業(yè)時(shí),首先判定下游流通企業(yè)在食品驗(yàn)收環(huán)節(jié)出現(xiàn)疏漏為主要擔(dān)責(zé)方,其次根據(jù)食品信息文檔可追溯至對應(yīng)的上游流通企業(yè)追責(zé)其瞞報(bào)行為,全數(shù)召回由其提供的冷鏈?zhǔn)称罚苊獍l(fā)生更大范圍的食品安全事故,保障了鏈上數(shù)據(jù)的可溯源性。
公眾端主要通過消費(fèi)者掃描二維碼實(shí)現(xiàn)對冷鏈?zhǔn)称返乃菰床樵兒唾徺I,如圖10所示,同時(shí)一旦查出含有疑似風(fēng)險(xiǎn)問題的食品,可以迅速鎖定相關(guān)企業(yè)和食品并進(jìn)行下架處理,最大程度地降低風(fēng)險(xiǎn)影響范圍。
唐后期統(tǒng)治者已經(jīng)意識到三衛(wèi)的假蔭現(xiàn)象,采取多種措施,但還是難以抑制。究其原因主要是:在開元時(shí)規(guī)定“凡諸衛(wèi)及率府三衛(wèi),貫京兆、河南、蒲、同、華、岐、陜、懷、汝、鄭等州,皆令番上,余州皆納資。 ”〔8〕(p1833)就是除了京兆、河南等地,需要在三衛(wèi)番上服役外,其余地方則可以通過納資代替。這就導(dǎo)致諸衛(wèi)公開納資,不嚴(yán)格審查選人資格,選拔不分士庶出身,假蔭盛行。
圖10 二維碼掃描溯源查詢和購買登記圖Figure 10 QR code scanning traceability query andpurchase registration map
湘冷鏈溯源系統(tǒng)中的數(shù)據(jù)上鏈方式依據(jù)各參與企業(yè)的類型分為兩種:① 針對擁有自有系統(tǒng)的企業(yè),首先將流通數(shù)據(jù)寫入至企業(yè)自有系統(tǒng),然后通過接口方式將數(shù)據(jù)傳送至湘冷鏈溯源系統(tǒng)進(jìn)而完成數(shù)據(jù)上鏈;② 針對沒有自有系統(tǒng)的企業(yè),直接基于湘冷鏈溯源系統(tǒng)的小程序端和PC端寫入流通數(shù)據(jù)實(shí)現(xiàn)上鏈。所有上鏈的數(shù)據(jù)都需要經(jīng)過智能合約進(jìn)行校驗(yàn),只有校驗(yàn)通過的數(shù)據(jù)才會(huì)存儲在區(qū)塊鏈的各個(gè)節(jié)點(diǎn)上,因此在湘冷鏈溯源系統(tǒng)的數(shù)據(jù)存儲層中,存儲了大量供應(yīng)鏈上的數(shù)據(jù)信息,主要分為狀態(tài)數(shù)據(jù)和冗余歷史數(shù)據(jù),其中狀態(tài)數(shù)據(jù)包括如商戶信息和智能合約等數(shù)據(jù);冗余歷史數(shù)據(jù)是指某個(gè)區(qū)塊高度下的賬戶狀態(tài)數(shù)據(jù)發(fā)生改變之前的狀態(tài)數(shù)據(jù)。
當(dāng)前主要是利用couchdb或levelDB實(shí)現(xiàn)對這些數(shù)據(jù)結(jié)構(gòu)的存儲,這種方法的缺點(diǎn)是隨著賬戶的交易地址或者公鑰的增多,底層Merkle Tree的高度也會(huì)增加,因此查詢區(qū)塊鏈的狀態(tài)數(shù)據(jù)一方面會(huì)涉及到多次從peer節(jié)點(diǎn)中讀取造成效率降低,尤其執(zhí)行到較高區(qū)塊高度時(shí)效率問題尤為嚴(yán)重;另一方面是在聯(lián)盟鏈中查詢數(shù)據(jù)時(shí)無法做到均衡請求,從而會(huì)造成某些peer節(jié)點(diǎn)響應(yīng)頻繁達(dá)到較高負(fù)載,某些peer節(jié)點(diǎn)空閑,甚至零負(fù)載的問題。
根據(jù)湘冷鏈溯源系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),為了解決上述問題,提升湘冷鏈的溯源查詢效率,提出了一種針對區(qū)塊鏈系統(tǒng)的讀寫分離方案:當(dāng)需要存儲交易數(shù)據(jù)時(shí),同時(shí)在區(qū)塊鏈系統(tǒng)和緩存系統(tǒng)中寫入;當(dāng)需要查詢交易數(shù)據(jù)時(shí),只需要向緩存系統(tǒng)請求查詢。
基于Hyperledger Fabric系統(tǒng)與分布式緩存系統(tǒng)的一次完整的交易存儲處理流程如圖11所示。其中client節(jié)點(diǎn)主要完成數(shù)據(jù)上傳任務(wù),由湘冷鏈溯源系統(tǒng)中的各個(gè)進(jìn)口冷鏈?zhǔn)称妨魍ㄆ髽I(yè)和零售企業(yè)負(fù)責(zé)。Endorser節(jié)點(diǎn)主要完成冷鏈?zhǔn)称飞湘溸^程中的背書驗(yàn)證任務(wù),由擁有企業(yè)系統(tǒng)和服務(wù)器的進(jìn)口冷鏈?zhǔn)称妨魍ㄆ髽I(yè)和零售企業(yè)中較大的企業(yè)負(fù)責(zé)。Orderer節(jié)點(diǎn)主要完成對鏈上各條數(shù)據(jù)進(jìn)行排序以及歸檔存儲位置任務(wù),由市場監(jiān)管局負(fù)責(zé)。peer節(jié)點(diǎn)主要完成鏈上數(shù)據(jù)的存儲歸檔任務(wù),由市場監(jiān)管局和大型企業(yè)共同負(fù)責(zé)。Endorser節(jié)點(diǎn)對Client節(jié)點(diǎn)發(fā)送的交易請求進(jìn)行背書驗(yàn)證,完成驗(yàn)證后將此交易信息傳送至Orderer節(jié)點(diǎn)完成對交易數(shù)據(jù)的區(qū)塊打包,隨后Committer節(jié)點(diǎn)將此區(qū)塊上鏈。peer節(jié)點(diǎn)通過Endorser節(jié)點(diǎn)和Committer節(jié)點(diǎn)完成對整個(gè)區(qū)塊鏈賬本信息的更新和維護(hù)。具體流程為:
圖11 基于Hyperledger Fabric系統(tǒng)與分布式緩存系統(tǒng)的一次完整的交易存儲處理流程Figure 11 A complete transaction storage processing flow based on Hyperledger Fabric systemand distributed cache system
(1) Client節(jié)點(diǎn)構(gòu)造簽名提案消息并發(fā)送該消息到Endorser背書節(jié)點(diǎn)請求處理,Endorser背書節(jié)點(diǎn)檢查簽名的合法性后模擬執(zhí)行交易提案并簽名背書,然后向Client節(jié)點(diǎn)返回提案響應(yīng)消息,并分發(fā)隱私數(shù)據(jù)明文。
(2) Client節(jié)點(diǎn)檢查提案響應(yīng)消息狀態(tài)的合法性后,發(fā)送交易數(shù)據(jù)給Orderer服務(wù)節(jié)點(diǎn)請求排序,Orderer節(jié)點(diǎn)對符合通道處理要求的合法交易消息進(jìn)行排序并通過共識達(dá)成一致觀點(diǎn),對一段時(shí)間內(nèi)接收的一批交易消息按照打包交易的出塊規(guī)則構(gòu)造新區(qū)塊,此時(shí)緩存系統(tǒng)根據(jù)緩存策略存儲熱點(diǎn)交易數(shù)據(jù)和非熱點(diǎn)交易數(shù)據(jù)。
(3) Leader主節(jié)點(diǎn)通過服務(wù)接口從Orderer節(jié)點(diǎn)請求通道賬本上所有的區(qū)塊數(shù)據(jù),并通過Gossip消息協(xié)議分發(fā)至組織內(nèi)的其他peer節(jié)點(diǎn),Committer記賬節(jié)點(diǎn)驗(yàn)證交易并提交賬本。
圖12 緩存系統(tǒng)架構(gòu)圖Figure 12 Cache system architecture diagram
緩存系統(tǒng)面臨的兩個(gè)問題和解決方案:
(1) 如何保證數(shù)據(jù)的一致性:緩存系統(tǒng)在保障數(shù)據(jù)的一致性上主要利用gossip協(xié)議[12],其基本思想是當(dāng)一個(gè)節(jié)點(diǎn)進(jìn)行信息分享時(shí),通過隨機(jī)選擇的一些節(jié)點(diǎn)并將信息進(jìn)行傳遞,以此類推,完成整個(gè)網(wǎng)絡(luò)上的信息傳遞。
(2) 如何及時(shí)應(yīng)對部分緩存實(shí)例宕機(jī):① 當(dāng)緩存系統(tǒng)中的一個(gè)實(shí)例出現(xiàn)故障時(shí),剔除此實(shí)例只會(huì)影響一致性哈希環(huán)上的部分緩存不命中,而不會(huì)導(dǎo)致大量緩存瞬間回溯到fabric系統(tǒng)。② 當(dāng)整個(gè)緩存集群出現(xiàn)問題時(shí):其一是主從機(jī)制,做好冗余,即其中一部分不可用時(shí)將對等的部分替補(bǔ)上去;其二是若整個(gè)緩存集群故障并且沒有備份時(shí),可以根據(jù)系統(tǒng)的承受能力,通過降級方案使一部分用戶先用起來,并將這些用戶相關(guān)的緩存進(jìn)行重建,另外通過后臺Worker進(jìn)行緩存數(shù)據(jù)的預(yù)熱。
基于區(qū)塊鏈數(shù)據(jù)不可篡改、可信任以及可溯源的特點(diǎn)構(gòu)建的湘冷鏈溯源系統(tǒng), 為湖南省市場監(jiān)督管理局提供了一種新的監(jiān)管模式。通過提供小程序端口提高了企業(yè)的工作效率,并且在冷鏈?zhǔn)称愤M(jìn)入湖南省的第一站時(shí)為每一個(gè)冷鏈?zhǔn)称愤M(jìn)行二維碼賦值,實(shí)現(xiàn)首站賦碼、一碼到底的管理模式,進(jìn)口冷鏈生產(chǎn)經(jīng)營者之間通過共享冷鏈?zhǔn)称非鍐?,防止有疑似問題的食品流入供應(yīng)鏈進(jìn)行銷售,并在鎖定疑似食品后通過系統(tǒng)迅速上報(bào),完成整個(gè)鏈上的信息共享,消費(fèi)者通過掃描二維碼完成對食品的溯源及購買。針對區(qū)塊鏈系統(tǒng)讀寫數(shù)據(jù)效率低的問題,提出了利用緩存系統(tǒng)實(shí)現(xiàn)對狀態(tài)數(shù)據(jù)讀寫分離的方法,將數(shù)據(jù)同時(shí)存儲在區(qū)塊鏈系統(tǒng)和緩存系統(tǒng)中,但是在讀取時(shí)只在緩存系統(tǒng)中提出請求,這種方式減輕了區(qū)塊鏈系統(tǒng)的負(fù)擔(dān),提高了區(qū)塊鏈系統(tǒng)的讀寫效率,解決了區(qū)塊鏈系統(tǒng)在實(shí)際應(yīng)用中因數(shù)據(jù)冗余造成的效率低下的問題。
目前該系統(tǒng)已經(jīng)對接國家冷鏈平臺,下一步旨在逐步完善系統(tǒng)功能,建設(shè)全鏈條追溯監(jiān)管功能。在數(shù)據(jù)層面力求打通湖南省衛(wèi)健、海關(guān)、農(nóng)業(yè)、商務(wù)等部門,同時(shí)通過對接企業(yè)自建系統(tǒng)上報(bào)數(shù)據(jù),實(shí)現(xiàn)湖南省食品追溯環(huán)節(jié)數(shù)據(jù)共享。在應(yīng)用層面進(jìn)一步完善追溯環(huán)節(jié)、追溯碼、產(chǎn)品管理以及信息上鏈防篡改功能,力求實(shí)現(xiàn)可信閉環(huán)冷鏈?zhǔn)称贰拔锓馈弊匪蒹w系,并且根據(jù)實(shí)際需要,逐步擴(kuò)展湘冷鏈追溯品種的覆蓋范圍,實(shí)現(xiàn)食品來源可追溯,去向可追蹤。