劉揚 王鋒
摘?要:就當前分布式系統課程的教學存在的缺乏實踐性教學、缺少案例分析問題,提出了結合區塊鏈技術進行分布式系統課程改革的思路。分布式系統課程應該更加注重實踐性、多元化和更新快的方式,以提高學生的學習效果和對分布式系統的理解。通過引入區塊鏈技術案例,可以結合實際應用來講解分布式系統相關概念和技術,增加學生的興趣和掌握程度。在考核方面,除了傳統方式,還采取小組項目作業和開放性項目評估等方法來測試學生的實際能力和成果。最終目的是讓學生更好地理解分布式系統的工作原理和區塊鏈技術的應用,同時培養他們的團隊協作和創新能力。
關鍵詞:課程改革;分布式系統;區塊鏈技術;案例教學
Abstract:The?lack?of?practical?teaching?and?case?analysis?in?the?current?distributed?systems?courses?has?led?to?the?proposal?of?incorporating?blockchain?technology?to?reform?the?curriculum.?The?focus?of?the?distributed?systems?course?should?be?on?practicality,?diversity,?and?the?ability?to?keep?up?with?rapid?advancements,?aiming?to?enhance?students'?learning?outcomes?and?understanding?of?distributed?systems.?By?introducing?blockchain?technology?cases,?the?course?can?illustrate?concepts?and?technologies?related?to?distributed?systems?through?real-world?applications,?thereby?increasing?students'?interest?and?mastery.?In?terms?of?assessment,?in?addition?to?traditional?methods,?group?projects?and?open-ended?project?evaluations?can?be?implemented?to?test?students'?practical?skills?and?achievements.?The?ultimate?goal?is?to?enable?students?to?better?understand?the?workings?of?distributed?systems?and?the?applications?of?blockchain?technology?while?fostering?their?teamwork?and?innovation?abilities.
Keywords:Curriculum?reform;?Distributed?systems;?Blockchain?technology;?Case?teaching.
一、概述
分布式系統是支撐大規模服務的網絡化計算機系統,如今已成為支撐云計算、大數據等新型計算機應用的計算與存儲基礎設施和經濟社會發展的重要信息基礎設施。通過本課程的學習,研究生能夠深入理解分布式系統的基本原理和設計思想,掌握分布式系統的設計方法和實現技術[1],能夠根據應用場景和需求完成分布式應用系統的設計與優化,為從事分布式計算機系統及相關產品的研發工作奠定重要基礎。
區塊鏈技術的發展和應用逐漸成為了熱點話題,其基于分布式系統的實現方式也受到了廣泛關注。區塊鏈是分布式系統的一個重要應用場景[2]。區塊鏈的本質就是一種分布式系統,通過結合區塊鏈的案例,可以更好地讓學生了解分布式系統的實際應用。區塊鏈技術具有很高的前沿性和應用價值。區塊鏈技術在金融、物流、醫療等領域都有廣泛的應用,結合區塊鏈進行分布式系統教學,可以使學生了解到最新的前沿技術,并掌握更具市場需求的技能。區塊鏈技術的復雜度和安全性都非常高[3],通過結合區塊鏈案例進行分布式系統的教學,可以讓學生更加深入地理解分布式系統的設計和實現原則,同時也可以讓學生了解到如何保障分布式系統的安全性。
因此,在計算機專業教育中,將分布式系統課程與區塊鏈案例結合進行課程教學,不僅可以幫助學生深入了解分布式系統的原理和實現,還能夠讓學生了解區塊鏈技術的應用場景和實現方式,提高他們對分布式系統的認知水平。
區塊鏈作為一種新型的分布式計算平臺,已經與人工智能、量子信息、移動通信、物聯網并列為新一代信息技術戰略發展方向。本課程引入區塊鏈作為教學案例,能夠幫助學生更深入地理解分布式系統,從而建立區塊鏈系統思維,具體創新點如下:
(1)案例教學強調培養學生的獨立思考能力、系統思維方法和求知創新精神,強調理解分布式系統的設計與演化思路的理解,培養學生建立分布式系統思維能力,并運用區塊鏈系統思維去分析和解決實際問題。
(2)從分布式系統角度對區塊鏈所涉及的典型區塊鏈體系架構等進行全面對比講解,使學生能夠搭建區塊鏈平臺,設計實現基于區塊鏈的分布式應用系統,為今后從事分布式系統軟件開發、區塊鏈平臺開發、區塊鏈核心技術研發和工程應用打下堅實的基礎。
(3)通過將區塊鏈引入案例教學,引導學生學習領會習總書記在中央政治局第十八次集體學習中的講話精神:“區塊鏈技術的集成應用在新的技術革新和產業變革中起著重要作用,要努力讓我國在區塊鏈這個新興領域走在理論最前沿、占據創新制高點、取得產業新優勢”。以講話精神為動力源泉,引導學生積極了解區塊鏈上升為我國國家戰略并作為核心,?技術自主創新的重要突破口的內涵意義。通過案例學習,掌握區塊鏈技術的精神實質和內核,從而更好地將區塊鏈技術應用于各行各業,推動產業變革,為國家戰略新興信息技術的發展和建設做出積極貢獻。
將分布式系統課程與區塊鏈案例結合進行課程教學有以下優點:
(1)課程實踐性強。通過區塊鏈案例,可以讓學生更加深入地理解分布式系統的概念和原理,并且能夠親自實踐相關技術,提高學生對于分布式系統的理解和掌握。
(2)激發學生興趣。區塊鏈是當下熱門的技術之一,將其作為案例來教學,可以引起學生的濃厚興趣,從而提高學習積極性。
(3)增加就業競爭力。區塊鏈技術在金融、物流、醫療等領域都有廣泛的應用,結合區塊鏈的分布式系統教學,可以使學生掌握更具市場需求的技能,增加未來就業競爭力。
二、課程改革思路
目前,我們國家急需各類分布式系統人才,而區塊鏈技術人才更是短缺。分布式系統人才在各類大數據中心建設、云計算基礎設施建設方面能發揮才能。而區塊鏈底層系統架構設計人才則需要掌握多項交叉學科的專業技能,并深入理解區塊鏈底層設計原理,兼備分布式系統架構設計的經驗,更要懂應用場景的具體業務邏輯。雖然已有部分高校展開交叉學科教育、區塊鏈專項技能培訓,但能夠從分布式系統角度構建區塊鏈應用系統的專業人才在市場上仍十分稀缺。因此,迫切需要加大分布式系統特別是區塊鏈系統人才的培養,加快區塊鏈技術與行業領域融合的創新型人才隊伍建設,通過高校、企業、行業的聯動,培養學科交叉、知識融合、技術集成的復合型人才,形成區塊鏈理論研究型、技術研發型、應用集成型的人才梯隊,取得人才合力和團隊優勢。
案例教學通過平時課堂討論、自選課題匯報答辯和區塊鏈平臺實驗進行考核,可以綜合評價學生對課程核心知識的掌握情況,以及運用區塊鏈思維解決實際工程應用問題的能力。自選課題匯報答辯主要考查學生的自主學習能力和技術探索能力,通過查閱相關技術文獻和閱讀源代碼,采用自主選題的形式,進行小組匯報答辯。自主選題可以是區塊鏈內核算法分析,也可以是某種區塊鏈應用系統的設計與實現,重點考核對區塊鏈系統架構和核心技術的認識水平,以及應用區塊鏈思維解決工程問題的能力。
針對分布式系統課程的教學改革,也可以從學生需求和社會需求出發,推行以下策略:
(一)從學生需求出發,優化教學內容,改進教學模式
(1)建立特色教學體系。通過構建個性化的學習框架,搭建學科交叉的教學面,滿足學生全面發展的需求。在課程初期講授相關專業知識,為后續微服務技術的引入打下基礎;中期選擇與實際項目相關的案例進行案例教學;后期由學生自主設計項目方案,以支持學生的個性化發展[4]。
(2)優化教學內容。在課程安排上根據課程需要進行深化教學,在教學框架上分為理論基礎,工程項目教學,開放性課題設計,并引入案例教學法,將課程內容項目化處理。
(3)改革教學方法和考核辦法。引入案例教學法,讓學生通過項目任務的完成來掌握知識點。改革考核方式,提高能力考核,鍛煉學生的各方面能力。
(二)從社會需求出發,推動產學研合作
(1)建立長效合作機制。與企業建立合作關系,實現產學研一體化,讓課程教學內容更加貼近實際需求。
(2)推行“走出去、請進來”的模式。教師和學生到企業實地參觀考察,認識和發現工程問題[5],并邀請企業人員參與校內教學的建設和指導,使教學內容更加豐富。
(3)開展創新創業項目。通過開展創新創業項目,讓學生深入了解市場需求,鍛煉學生的創新能力和實踐能力,為畢業后就業做好準備。
本課程合作單位為河南中盾云安信息科技有限公司(簡稱“中盾云安”),其在區塊鏈領域具有堅實的研究和應用基礎,能夠為本項目提供區塊鏈實驗平臺和行業應用案例,從而為本課程的順利實施奠定良好的行業基礎。
因此,針對分布式系統課程的教學改革,可以從多個方面進行優化,包括建立特色教學體系、優化教學內容、改革教學方法和考核辦法等方面,同時與企業建立長效合作機制,推行"走出去、請進來"的模式,并開展創新創業項目,以滿足社會對分布式系統領域專業人才的需求。
三、優化教學內容
《高級分布式系統》是一門探究性、實踐性較強的課程,采用理論與實踐相結合、課內與課外相結合的教學方式。在授課過程中引入案例教學,選擇具有前沿代表性的分布式計算系統——區塊鏈作為課程案例,從分布式系統理論和技術角度對區塊鏈系統的內核關鍵技術進行對比介紹,搭建實驗平臺,讓學生充分理解和掌握分布式系統的集中式、分散式、對等式等多種體系結構設計思想,分析和了解水平擴展、垂直擴展等系統擴展性方法的特點和應用場景,并從分布式一致性和容錯角度理解區塊鏈共識機制。通過案例教學,有利于培養學生對分布式系統前沿知識的敏感性和理解力,提高學生的動手能力和專業實踐能力,并且培養學生的自主學習和終身學習能力,能夠通過自主學習以適應經濟社會發展的需要。
結合具體的區塊鏈應用案例,如數字貨幣、供應鏈金融等,介紹區塊鏈技術在實際應用場景中的應用過程和效果。通過對案例的深入分析和討論,學生可以更好地掌握區塊鏈技術在分布式系統中的應用方法和實現原理。具體的教學目標如下:
教學目標1.掌握分布式系統相關概念、原理和方法,理解比特幣、以太坊、超級賬本三種主流的區塊鏈系統技術架構,初步建立分布式系統能力思維。
教學目標2.掌握數字簽名、hash函數、共識機制、P2P網絡、智能合約等區塊鏈核心技術和方法,學會運用分布式一致性和分布式系統容錯等思想理解區塊鏈系統的特征和設計思路。
教學目標3.了解區塊鏈在各行業中的應用需求,學會運用區塊鏈系統思維分析與設計各行業的實際應用問題。
教學目標4.閱讀和學習區塊鏈相關的國內外文獻,了解區塊鏈系統的優勢與劣勢,以及未來發展與演化趨勢。
案例教學通過平時課堂討論、自選課題匯報答辯和區塊鏈平臺實驗進行考核,可以綜合評價學生對課程核心知識的掌握情況,以及運用區塊鏈思維解決實際工程應用問題的能力。自選課題匯報答辯主要考查學生的自主學習能力和技術探索能力,通過查閱相關技術文獻和閱讀源代碼,采用自主選題的形式,進行小組匯報答辯。自主選題可以是區塊鏈內核算法分析,也可以是某種區塊鏈應用系統的設計與實現[6],重點考核對區塊鏈系統架構和核心技術的認識水平,以及應用區塊鏈思維解決工程問題的能力。
通過案例教學和相關考核,能夠完全覆蓋“課程目標1.掌握區塊鏈相關概念、原理和方法,理解比特幣、以太坊、超級賬本三種主流的區塊鏈系統技術架構,初步建立分布式系統能力思維”、“課程目標2.掌握數字簽名、hash函數、共識機制、P2P網絡、智能合約等區塊鏈核心技術和方法,學會運用密碼學和分布式一致性等思想理解區塊鏈系統的特征和設計思路”、“課程目標3.了解區塊鏈在各行業中的應用需求,學會運用區塊鏈思維分析與設計各行業的實際應用問題”,和“課程目標4.閱讀和學習區塊鏈相關的國內外文獻,了解區塊鏈系統的優勢與劣勢,以及未來發展與演化趨勢”。
本課程引入區塊鏈作為分布式系統的教學案例,通過對區塊鏈這一分布式計算平臺的深入學習和實驗驗證,提高對分布式系統的原理、概念和技術的認識理解。通過案例教學,學會從區塊鏈系統角度理解DC/EP的思想、原理和發展目標,理解我國為什么要打擊ICO、挖礦、虛擬數字貨幣交易等行為,對比特幣等虛擬數字貨幣有更加深入和清醒的認識,同時也更加支持我們國家發展法定數字貨幣,擁抱DC/EP,擁抱區塊鏈。
本課程內容分為基礎知識篇、思維角度篇和應用案例篇3個模塊,如圖1所示。基礎知識篇介紹分布式系統與區塊鏈的發展,初步了解分布式系統的基礎知識,引入區塊鏈與分布式系統的聯系,為后續學習奠定基礎。思維角度篇通過從通信、一致性、可擴展性等不同的角度來看區塊鏈,更深入了解區塊鏈的特性,進而理解分布式系統這把“雙刃劍”。應用案例篇將高級分布式系統課程與區塊鏈創新應用案例相結合,通過對區塊鏈案例的分析,了解分布式系統的設計和構建,深入理解分布式系統的底層架構。

圖1?課程內容模塊
四、案例教學設計
本案例教學以“學生主體、團隊合作、教師輔導”為教學思想,以課堂講授為主,通過“互動、開放”的課堂形式,采用探究式學習、問題導入式的教學方法,激發學生的學習興趣。通過課堂討論和課后實驗,督促學生積極開展自學和文獻資料查閱,加深對教學內容的理解[7],并能夠依據當前熱點問題發表自己的見解,達到教學目標的要求。本課程是將區塊鏈作為分布式系統的教學案例,在講解分布式系統的過程中引入區塊鏈平臺和實驗,從而對分布式系統的體系架構、技術和方法有更加深入的認識,建立分布式系統思維能力的同時構建區塊鏈系統思維[8]。本教學的內容框架如下:

圖2?教學內容框架設計
第一章?分布式系統概論:介紹區塊鏈系統的異步、共識、一致性、拜占庭容錯等核心概念。通過對這些核心概念的理解,進一步來掌握CAP理論、FLP理論、BASE理論、ACID理論、一致性理論等分布式系統的基本理論和思想,并將其與區塊鏈的基本原理和技術進行對比和聯系。
第二章?分布式系統體系結構:通過對比特幣、以太坊、超級賬本等主流區塊鏈系統技術架構進行比較,初步建立分布式系統能力思維。這些區塊鏈系統代表了不同的設計理念和架構,通過研究它們,以便進一步理解分布式系統的集中式、分散式、對等式等多種體系結構設計思想,以及水平擴展、垂直擴展等系統擴展性方法。
第三章?分布式通信機制:介紹區塊鏈底層網絡系統,包括P2P對等網絡以及Gossip協議等。從區塊鏈底層網絡系統的角度出發,深入理解其關鍵技術,并進一步探索和理解分布式系統的網絡機制和通信技術。通過更全面地理解區塊鏈技術與分布式系統的關系,為進一步研究和應用高級分布式系統提供扎實的基礎。
第四章?分布式命名與資源管理:介紹區塊頭、區塊體、Merkle樹、hash函數等區塊組織機構與查詢方法。理解高級分布式系統中結構化命名與非結構化命名等資源管理技術。
第五章?分布式系統的同步與并發機制:介紹公鏈與聯盟鏈中不同的智能合約執行模式,和交易并發控制方法。理解分布式進程同步與互斥、分布式系統并發控制與死鎖處理等關鍵技術。
第六章?分布式共識與一致性:介紹分布式一致性和容錯等思想理解區塊鏈系統的共識機制與算法。理解分布式系統的容錯模型,分布式一致性理論。
第七章?總結與展望:結合區塊鏈技術的應用案例,包括供應鏈金融、存證確權、物聯網和NFT領域。通過深入分析和討論這些區塊鏈應用案例,學生們可以更好地理解和應用高級分布式系統的理念和設計原則。
五、課程改革考核方法
在考核方面,除了傳統的筆試方式外,采用開放性的項目評估,讓學生利用所學知識和技能去解決一個具體的問題,并形成報告。加入小組區塊鏈應用場景項目合作,答辯演示作為分布式系統課程改革的考核方法,此外,使用小組合作的形式,讓學生合作完成一項具有挑戰性的任務,以測試他們的團隊協作和溝通能力。這些方法可以幫助學生更全面地了解分布式系統和區塊鏈技術,同時也能夠衡量學生的實際能力和成果[9]。
參與小組項目合作可以讓學生將所學知識應用到實際項目中去,更好地理解和掌握分布式系統的應用和實現,從而提高實踐能力。小組項目合作需要學生進行合作溝通、任務分配以及協同工作等,可以有效培養學生團隊合作意識和能力。在小組項目合作中,學生需要自主設計項目方案,思考創新點,這有助于培養學生的創新思維能力。小組項目合作可以讓學生將所學知識與實踐相結合,更好地理解和應用分布式系統相關的知識。通過演示答辯,學生需要將自己的項目成果清晰地表達出來,從而提高演示答辯能力,同時也有助于展示學生的學習成果和實踐能力。
因此,將小組項目合作和演示答辯加入到高級分布式系統課程改革的考核,有利于學生綜合能力的提升,更好地實現知識與實踐相結合[10]。
結語
引入案例教學進行“高級分布式系統”研究生課程教學改革一種非常有意義的方法。通過案例教學和多種考核方式,可以幫助學生更全面地了解分布式系統和區塊鏈技術,并測試他們的實際能力和成果。結合區塊鏈技術進行分布式系統的教學可以提高學生的實踐能力和掌握程度,同時激發學生的興趣,增加就業競爭力。
未來,我們應該注重對于分布式系統相關知識的深入挖掘和創新,在教學中注重理論與實踐相結合、靈活性和實用性,培養學生跨領域思維和團隊協作精神。通過引入案例教學等有效教學方法,我們可以更好地解決分布式系統教學中存在的問題,提高學生的實踐能力和掌握程度,從而更好地滿足市場需求,促進學生的職業發展和社會進步。
參考文獻:
基金項目:河南省研究生教育改革與質量提升工程項目(No.YJS2022AL041);?河南省高等教育教學改革研究與實踐(學位與研究生教育)重點項目(No.2021SJGLX031Y);?河南省教育科學規劃重大招標課題(No.2021JKZB07)
作者簡介:劉揚(1978—),女,河南洛陽人,博士,河南工業大學研究生院副院長,博士生導師,研究方向:分布式計算、云計算、區塊鏈;王鋒(1974—),男,河南鄭州人,博士,河南工業大學信息科學與工程學院副教授,碩士生導師,研究方向:區塊鏈、圖像處理、物聯網技術。