李冠楠,朱敏,禤潤(rùn)堂
(順德職業(yè)技術(shù)學(xué)院電子與信息工程系,廣東 順德 528300)
近年來,在上述政策的大力推動(dòng)下,廣東省高職院校深入開展產(chǎn)學(xué)合作協(xié)同育人,匯聚企業(yè)資源,開展課程體系建設(shè)、教學(xué)內(nèi)容改革、師資培訓(xùn)、實(shí)踐條件建設(shè)等,支持學(xué)生開展與企業(yè)合作的創(chuàng)新創(chuàng)業(yè)訓(xùn)練項(xiàng)目等,發(fā)揮企業(yè)先進(jìn)的技術(shù)、研發(fā)和產(chǎn)品優(yōu)勢(shì),以產(chǎn)業(yè)發(fā)展的最新需求推動(dòng)人才培養(yǎng)模式改革,使高職院校廣大學(xué)子享受到了產(chǎn)教融合、校企合作的成果。
在學(xué)生參與實(shí)踐的過程中,為了解決傳統(tǒng)管理存在的信息滯后、工作量大、數(shù)據(jù)收集分析困難、質(zhì)量控制不利等問題,各高職院校從實(shí)際出發(fā),設(shè)計(jì)開發(fā)了不同模式下的實(shí)踐管理系統(tǒng)。然而,這些系統(tǒng)都是學(xué)校作為單一主體主導(dǎo)開發(fā)和管理,部分部門和管理者的權(quán)力難以約束,存在數(shù)據(jù)不安全隱患,這使學(xué)生實(shí)踐情況難以得到真實(shí)、客觀的反映[1]。而信任機(jī)制的缺乏使得共同參與學(xué)生培養(yǎng)過程中的政府、企業(yè)等多元主體參與管理的意愿度不高,多主體、多場(chǎng)景產(chǎn)生的數(shù)據(jù)難以有效地進(jìn)行協(xié)同。這在以往的技術(shù)條件下難以得到解決。
隨著信息技術(shù)的不斷發(fā)展,學(xué)生實(shí)踐活動(dòng)在學(xué)校教育中的作用越來越受到重視。為了更好地管理和監(jiān)督學(xué)生實(shí)踐活動(dòng),設(shè)計(jì)與實(shí)現(xiàn)區(qū)塊鏈學(xué)生實(shí)踐管理系統(tǒng)是非常必要的。該系統(tǒng)應(yīng)該包括以下要求:首先,應(yīng)該有一個(gè)完善的身份驗(yàn)證機(jī)制,確保每個(gè)學(xué)生的身份都可以得到驗(yàn)證,防止惡意篡改記錄。其次,該系統(tǒng)應(yīng)該有完善的數(shù)據(jù)加密和權(quán)限管理機(jī)制,確保學(xué)生的個(gè)人隱私得到保護(hù),并且僅特定的管理員具有修改記錄的權(quán)限。最后,該系統(tǒng)應(yīng)該具備易用性和便捷性,在滿足上述安全要求的前提下,為學(xué)生和管理員提供更加便捷的使用體驗(yàn)。
區(qū)塊鏈實(shí)質(zhì)上是一個(gè)去中心化的數(shù)據(jù)庫,從技術(shù)角度看,具有去中心化、可追溯性、防篡改性和容錯(cuò)性四個(gè)關(guān)鍵特征。區(qū)塊鏈技術(shù)的上述特點(diǎn),可以有效解決職業(yè)教育跨界帶來的多主體、多場(chǎng)景下學(xué)生實(shí)踐管理困難的現(xiàn)實(shí)痛點(diǎn),明確企業(yè)承擔(dān)協(xié)同育人的責(zé)任,理清學(xué)校和企業(yè)參與協(xié)同育人管理分工,確立企業(yè)在協(xié)同育人工作中的重要意義[2]。
傳統(tǒng)職業(yè)教育學(xué)生實(shí)踐管理系統(tǒng)過度依賴某種“中心”,比如教師、學(xué)校管理者、教育行政部門等,而包括企業(yè)在內(nèi)的各個(gè)外部主體由于利益不同難以形成有效的共享和協(xié)作,客觀上形成了不對(duì)稱的信任機(jī)制,導(dǎo)致學(xué)生管理失去了一定的自主性和全面性。本文提出一個(gè)基于聯(lián)盟鏈技術(shù)以較低成本解決職業(yè)院校與企業(yè)在學(xué)生培養(yǎng)過程中數(shù)據(jù)互信問題的解決方案。在聯(lián)盟鏈的基礎(chǔ)上,采用“碼+鏈”的方式解決區(qū)塊鏈數(shù)據(jù)傳輸過程中匿名性的問題。引入“瘦鏈上、胖鏈下”的數(shù)據(jù)上鏈機(jī)制,解決傳統(tǒng)大數(shù)據(jù)上鏈在進(jìn)行全節(jié)點(diǎn)數(shù)據(jù)同步時(shí)出現(xiàn)的性能瓶頸問題。
構(gòu)建職業(yè)教育學(xué)生實(shí)踐管理的區(qū)塊鏈技術(shù)體系,建立支撐學(xué)校、企業(yè)、機(jī)構(gòu)等多方進(jìn)行數(shù)據(jù)交換的聯(lián)盟鏈系統(tǒng)。制定“碼+鏈”的節(jié)點(diǎn)認(rèn)證規(guī)范、節(jié)點(diǎn)上鏈流程、“瘦鏈上、胖鏈下”的數(shù)據(jù)上鏈標(biāo)準(zhǔn)、數(shù)據(jù)獲取規(guī)范等一系列基礎(chǔ)規(guī)范和數(shù)據(jù)規(guī)范,支撐相關(guān)業(yè)務(wù)在鏈上開展[3]。
開展區(qū)塊鏈應(yīng)用探索,為學(xué)生實(shí)踐活動(dòng)管理系統(tǒng)提供足夠豐富的場(chǎng)景和數(shù)據(jù)來源。如圖1所示,實(shí)施數(shù)據(jù)上鏈與數(shù)據(jù)匯集,讓分布在不同區(qū)塊上的學(xué)校、企業(yè)或機(jī)構(gòu)的人才培養(yǎng)過程數(shù)據(jù)上鏈,然后通過數(shù)據(jù)整合的方式,把學(xué)生在不同地點(diǎn)、時(shí)間和場(chǎng)景下的實(shí)踐數(shù)據(jù)匯集在一起。
圖1 區(qū)塊鏈節(jié)點(diǎn)部署拓?fù)鋱D
本文所設(shè)計(jì)的職業(yè)教育學(xué)生實(shí)踐系統(tǒng)是以區(qū)塊鏈為基礎(chǔ)架構(gòu),Web 平臺(tái)為應(yīng)用層,中間通過接口交互的多層級(jí)的綜合體系。如圖2所示,其中區(qū)塊鏈底層采用Hyperledger Fabric 技術(shù)為框架;應(yīng)用層以Spring 為框架;區(qū)塊鏈網(wǎng)絡(luò)層與應(yīng)用層接口以HTTP/POST請(qǐng)求為通訊方式。區(qū)塊鏈網(wǎng)絡(luò)層中每個(gè)節(jié)點(diǎn)為一臺(tái)服務(wù)器,每個(gè)節(jié)點(diǎn)上會(huì)根據(jù)各自的需求運(yùn)行智能合約。每個(gè)節(jié)點(diǎn)都已經(jīng)完成了節(jié)點(diǎn)的成員認(rèn)證,其中節(jié)點(diǎn)4為成員管理節(jié)點(diǎn),當(dāng)區(qū)塊鏈網(wǎng)絡(luò)需要添加新節(jié)點(diǎn)時(shí),需要向節(jié)點(diǎn)4發(fā)送認(rèn)證請(qǐng)求,完成節(jié)點(diǎn)的注冊(cè)后即可成為區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點(diǎn)[4]。
圖2 數(shù)據(jù)流轉(zhuǎn)圖
功能模塊方面分為賬戶管理:該部分負(fù)責(zé)管理系統(tǒng)中的用戶賬戶,包括學(xué)生、教師和管理員等。數(shù)據(jù)庫管理:該部分負(fù)責(zé)管理系統(tǒng)中的數(shù)據(jù),包括學(xué)生的學(xué)術(shù)成績(jī)、考試成績(jī)、課堂表現(xiàn)等。區(qū)塊鏈節(jié)點(diǎn):該部分負(fù)責(zé)維護(hù)區(qū)塊鏈的節(jié)點(diǎn),用于存儲(chǔ)學(xué)生評(píng)價(jià)數(shù)據(jù)和交易歷史。智能合約:該部分負(fù)責(zé)處理學(xué)生評(píng)價(jià)數(shù)據(jù)和交易請(qǐng)求,并將其存儲(chǔ)到區(qū)塊鏈中。前端界面:該部分負(fù)責(zé)呈現(xiàn)系統(tǒng)的用戶界面,使得學(xué)生、教師和管理員可以方便地使用系統(tǒng)。數(shù)據(jù)分析:該部分負(fù)責(zé)對(duì)學(xué)生評(píng)價(jià)數(shù)據(jù)進(jìn)行分析,并提供相應(yīng)的報(bào)告給教師和管理員,幫助他們了解學(xué)生的學(xué)習(xí)表現(xiàn)。此外,該系統(tǒng)還可以加入多種功能,例如學(xué)生學(xué)科選擇、教師課程管理、互動(dòng)交流等功能,以更好地滿足實(shí)際需求。
調(diào)研校內(nèi)相關(guān)應(yīng)用系統(tǒng)以及基礎(chǔ)數(shù)據(jù)來源,包含學(xué)生、教師、課程、實(shí)訓(xùn)等活動(dòng)的應(yīng)用系統(tǒng)架構(gòu)以及數(shù)據(jù)存儲(chǔ)方式。調(diào)研目前校內(nèi)學(xué)生實(shí)踐活動(dòng)相關(guān)業(yè)務(wù)場(chǎng)景以及需求。基于現(xiàn)有的應(yīng)用系統(tǒng)、數(shù)據(jù)、學(xué)生實(shí)踐活動(dòng)開展方式,制訂相關(guān)的系統(tǒng)功能需求,設(shè)計(jì)相關(guān)業(yè)務(wù)流程。根據(jù)業(yè)務(wù)功能需求,進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)、詳細(xì)功能模塊拆分設(shè)計(jì)。
使用中心現(xiàn)有的虛擬機(jī)服務(wù)器、MySQL 數(shù)據(jù)庫、智能網(wǎng)絡(luò)等基礎(chǔ)資源,搭建一個(gè)包好三個(gè)節(jié)點(diǎn)以上的區(qū)塊鏈環(huán)境,并在節(jié)點(diǎn)上搭建不同類別的應(yīng)用程序,用來模擬異構(gòu)系統(tǒng)的運(yùn)行環(huán)境。
在制定教育信用碼規(guī)范后,在虛擬機(jī)環(huán)境上實(shí)施節(jié)點(diǎn)上鏈的過程,模擬不同環(huán)境中的機(jī)構(gòu)、應(yīng)用程序加入聯(lián)盟鏈的過程。在各個(gè)節(jié)點(diǎn)上,運(yùn)行不同的應(yīng)用程序,通過在前端應(yīng)用采集數(shù)據(jù),把數(shù)據(jù)保存到應(yīng)用程序數(shù)據(jù)庫后,對(duì)數(shù)據(jù)進(jìn)行甄選,把有價(jià)值的數(shù)據(jù)對(duì)應(yīng)的索引實(shí)施上鏈,參與數(shù)據(jù)交換的過程。在數(shù)據(jù)上鏈后,從功能的完整性、易用性、安全性等多個(gè)維度對(duì)系統(tǒng)進(jìn)行測(cè)試和評(píng)價(jià)。對(duì)實(shí)驗(yàn)運(yùn)行結(jié)果進(jìn)行分析和總結(jié),并比較本文的方案相對(duì)于傳統(tǒng)技術(shù)架構(gòu)方案的先進(jìn)性。
以聯(lián)盟區(qū)塊鏈為底座。參與學(xué)生實(shí)踐管理的各方成員是權(quán)限角色地位不等的學(xué)校、企業(yè)、政府部門等,每個(gè)成員都是得到準(zhǔn)入許可的可信參與方,這些成員組成擁有共同目的的聯(lián)盟。聯(lián)盟區(qū)塊鏈的共識(shí)過程受若干個(gè)主要參與方管理,這種形式既能夠保證系統(tǒng)運(yùn)行的效率,又可以兼顧系統(tǒng)安全性和成員共同維護(hù)的特性。使用聯(lián)盟區(qū)塊鏈可以不依賴數(shù)字貨幣,簡(jiǎn)化記錄賬簿,減少系統(tǒng)運(yùn)行所需算力與帶寬。Hyperledger Fabric 是開源的聯(lián)盟區(qū)塊鏈,提供完善的準(zhǔn)入與安全機(jī)制[5]。實(shí)驗(yàn)采用的聯(lián)盟區(qū)塊鏈構(gòu)架基于Hyperledger Fabric 實(shí)驗(yàn)的系統(tǒng)將學(xué)校、企業(yè)、政府等參與方規(guī)劃進(jìn)入Hyperledger Fabric 聯(lián)盟區(qū)塊鏈的相應(yīng)Channel,對(duì)相應(yīng)信息進(jìn)行查詢和管理。Channel 的結(jié)構(gòu)如圖3所示。每一個(gè)Channel 都是一個(gè)虛擬的區(qū)塊鏈網(wǎng)絡(luò),Channel和Channel之間相互隔離。對(duì)于每一個(gè)Channel里的所有節(jié)點(diǎn),都會(huì)為該Channel維護(hù)相同的賬本數(shù)據(jù)。
Spring+MySQL+Fabric SDK 支撐業(yè)務(wù)邏輯。任何一個(gè)參與方都可以在聯(lián)盟區(qū)塊鏈存儲(chǔ)的基礎(chǔ)上,維護(hù)自己的B/S架構(gòu)的應(yīng)用服務(wù)。MySQL數(shù)據(jù)庫可存儲(chǔ)賬本的當(dāng)前狀態(tài)以備前端查詢;gRPC 是一種高性能的開源的RPC 框架,應(yīng)用服務(wù)通過gRPC 來向底層的區(qū)塊鏈網(wǎng)絡(luò)請(qǐng)求服務(wù)。在本課題的學(xué)生實(shí)踐管理系統(tǒng)中,通過Hyperledger Fabric 提供的SDK 來向底層的區(qū)塊鏈網(wǎng)絡(luò)發(fā)送gRPC請(qǐng)求,調(diào)用智能合約,以實(shí)現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯位于中心位置,和所有的數(shù)據(jù)源交互,滿足實(shí)際的業(yè)務(wù)需求。
前端應(yīng)用提供實(shí)時(shí)展示、查詢。Restful API 是一種通用性強(qiáng)的Web API 規(guī)范,易于開發(fā)人員理解,方便調(diào)用。提供給終端用戶使用的應(yīng)用,如安卓應(yīng)用、Web 網(wǎng)頁等,都可以通過Web 服務(wù)器開放的接口調(diào)用業(yè)務(wù)邏輯。
圖3 系統(tǒng)架構(gòu)圖
系統(tǒng)支持提供聯(lián)盟成員身份保護(hù)、內(nèi)容保密功能;聯(lián)盟鏈節(jié)點(diǎn)部署獨(dú)立,不依賴于平臺(tái)的部署,保證平臺(tái)上數(shù)據(jù)傳輸?shù)陌踩?。?jié)點(diǎn)具有自恢復(fù)功能,本地節(jié)點(diǎn)發(fā)生故障,數(shù)據(jù)可以從區(qū)塊鏈網(wǎng)絡(luò)的其他節(jié)點(diǎn)進(jìn)行恢復(fù);支持節(jié)點(diǎn)間負(fù)載均衡管理;對(duì)于鏈上區(qū)塊產(chǎn)生條件可以配置,根據(jù)業(yè)務(wù)數(shù)量、達(dá)成共識(shí)時(shí)間等,可以定義配置是否產(chǎn)生空區(qū)塊。支持系統(tǒng)結(jié)構(gòu)可伸縮性,可以隨業(yè)務(wù)量的增加,通過增加虛擬機(jī)或物理機(jī)來擴(kuò)充系統(tǒng)的整體處理容量,滿足業(yè)務(wù)不斷發(fā)展的要求。
本文所搭建的基于區(qū)塊鏈的職業(yè)教育學(xué)生實(shí)踐系統(tǒng),在解決企業(yè)互信、數(shù)據(jù)防篡改的基礎(chǔ)上,提供了一種基于區(qū)塊鏈進(jìn)行數(shù)據(jù)共享共治的新思路,為后續(xù)進(jìn)行智慧校園數(shù)據(jù)中臺(tái)建設(shè)提供一定的技術(shù)參考。從技術(shù)角度解決了學(xué)生實(shí)踐過程中企業(yè)互信、數(shù)據(jù)防篡改的關(guān)鍵問題,節(jié)省傳統(tǒng)應(yīng)用系統(tǒng)因數(shù)據(jù)對(duì)接、企業(yè)認(rèn)證、數(shù)據(jù)安全保障而需要投入的人力、物力、財(cái)力。
總之,基于區(qū)塊鏈技術(shù)的學(xué)生實(shí)踐管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)需要考慮多方面的安全性需求,包括身份驗(yàn)證、數(shù)據(jù)加密、權(quán)限管理和易用性等方面。區(qū)塊鏈技術(shù)可以解決許多傳統(tǒng)的安全性問題,提高了學(xué)生實(shí)踐活動(dòng)的管理效率和數(shù)據(jù)安全性,對(duì)于學(xué)校實(shí)踐教學(xué)管理有著積極的推動(dòng)作用。