【《CDMA擴(kuò)頻通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究》15000字(論文)】_第1頁
【《CDMA擴(kuò)頻通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究》15000字(論文)】_第2頁
【《CDMA擴(kuò)頻通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究》15000字(論文)】_第3頁
【《CDMA擴(kuò)頻通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究》15000字(論文)】_第4頁
【《CDMA擴(kuò)頻通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究》15000字(論文)】_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

CDMA擴(kuò)頻通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究隨著物聯(lián)網(wǎng)的飛速發(fā)展,物聯(lián)網(wǎng)行業(yè)已經(jīng)展現(xiàn)出許多需要攻克的難題。中心化的數(shù)據(jù)存儲(chǔ)容易泄露用戶的隱私,也會(huì)提高服務(wù)器的維護(hù)成本。憑借區(qū)塊鏈去中心化、不以在系統(tǒng)上完成對物聯(lián)網(wǎng)設(shè)備的購買,轉(zhuǎn)讓,查詢等功能,對于傳統(tǒng)的理系統(tǒng),本系統(tǒng)在數(shù)據(jù)的安全性方面大大提升,物聯(lián)網(wǎng)設(shè)備的本系統(tǒng)將物聯(lián)網(wǎng)與區(qū)塊鏈存儲(chǔ)聯(lián)合起來,試圖解決傳統(tǒng)物聯(lián)網(wǎng)管理系統(tǒng)存在的數(shù)據(jù)泄露和隱私安全問題,是一次新的嘗試,證明了區(qū)塊鏈技術(shù) 1第二章相關(guān)技術(shù)介紹 22.1區(qū)塊鏈技術(shù)概述 22.1.1技術(shù)特性 22.1.2密碼技術(shù) 2.1.3共識(shí)機(jī)制 42.1.4智能合約 2.2HyperledgerFabric框架 2.2.1項(xiàng)目概述 52.2.2技術(shù)架構(gòu) 2.2.3共識(shí)算法 62.2.4存儲(chǔ)方式 7 82.3.1Docker容器 2.4本章小結(jié) 9第三章系統(tǒng)的需求分析 3.1系統(tǒng)功能需求分析 3.1.1整體框架 3.1.3用戶分析 3.1.4查詢功能 3.2系統(tǒng)非功能需求分析 3.2.1易用性需求 3.2.2安全性需求 3.3本章小結(jié) 第四章系統(tǒng)的總體設(shè)計(jì) 4.1系統(tǒng)軟件層次架構(gòu)設(shè)計(jì) 4.1.1展示層 4.1.2業(yè)務(wù)接口層 4.1.3業(yè)務(wù)邏輯層 4.2系統(tǒng)功能模塊設(shè)計(jì) 4.2.1管理模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 4.2.3注冊模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 4.2.4設(shè)備轉(zhuǎn)讓模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 214.2.5查詢模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 4.2.6其他功能模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 4.3本章小結(jié) 第5章系統(tǒng)測試 245.1系統(tǒng)測試方法介紹 5.2系統(tǒng)的功能測試 5.2.1注冊,交易功能測試 5.2.1查詢功能測試 24 24 25第6章結(jié)束語 266.1論文工作總結(jié) 26 27 1互聯(lián)網(wǎng)的出現(xiàn),打破了信息傳輸需要實(shí)物連接的桎梏,使信息交流更為通暢;物聯(lián)網(wǎng)基于互聯(lián)網(wǎng)發(fā)展,徹底打通了物物交互的通道;而新興的區(qū)塊鏈技術(shù),必將給物聯(lián)網(wǎng)帶來革命性的影響,物聯(lián)網(wǎng)中的設(shè)備依照智能合約,可以進(jìn)行自我管理和修復(fù),社會(huì)加速邁進(jìn)智能化的時(shí)代(楊俊馳,徐若琪,2022)。這種物聯(lián)網(wǎng)+區(qū)塊鏈的結(jié)合,就是物鏈網(wǎng),物鏈網(wǎng)是微軟、IBM等公司在2018年互聯(lián)網(wǎng)峰會(huì)上提出的新概念,利用物聯(lián)網(wǎng)解決生產(chǎn)力,區(qū)塊鏈解決生產(chǎn)關(guān)系,被稱為連接萬物的區(qū)塊鏈。物鏈網(wǎng)針對物聯(lián)網(wǎng)發(fā)展中的種種難題,應(yīng)用區(qū)塊鏈的去中心化技術(shù),——進(jìn)行優(yōu)化,在保證數(shù)據(jù)安全性的同時(shí),解決了許多單靠物聯(lián)網(wǎng)難以實(shí)現(xiàn)的困境(趙梓軒,孫嘉悅,2023)。經(jīng)過一段時(shí)間的不斷耕耘,截至目前為止,全球已經(jīng)有了超過70個(gè)公鏈項(xiàng)目,由圖1-1可以看到,不只是物聯(lián)網(wǎng)巨頭公司,亞馬遜、微軟、阿里巴巴等互聯(lián)網(wǎng)巨頭公司也開始進(jìn)軍該領(lǐng)域,為物鏈網(wǎng)布局,在這樣的狀況里保證未來物聯(lián)網(wǎng)設(shè)備可以大量接入(雷天佑,章文軒,2021)。子現(xiàn)金系統(tǒng)提出智能合約概念[8]SAP提供區(qū)塊鏈云服務(wù)[5]荷蘭政府推出Forcefield數(shù)字區(qū)塊鏈平臺(tái)首次明確物聯(lián)網(wǎng)概念加密貨幣進(jìn)人元年涉足區(qū)塊鏈項(xiàng)目,[106]區(qū)塊鏈創(chuàng)業(yè)萬向集團(tuán)開發(fā)區(qū)塊公司布局物聯(lián)網(wǎng)鏈項(xiàng)目利用區(qū)塊鏈技術(shù),杭州米鏈科技對傳統(tǒng)租車流程進(jìn)行改造,將車輛信息、停車場信息、用戶取還車信息、租車合同等上鏈存證,能有效減少因?yàn)榍昂笮畔⒉灰恢聦?dǎo)致的糾紛。同時(shí)利用智能合約,能夠簡化租車流程,加快資金結(jié)算,大大縮短押金的退款期限。在本系統(tǒng)的設(shè)計(jì)方案中,用戶作為物聯(lián)網(wǎng)設(shè)備的所有者,購買設(shè)備并登記之后,用戶可以查到自己名下的所有設(shè)備信息,還可以進(jìn)行設(shè)備的轉(zhuǎn)讓,滿足二次甚至多次交易的需求。在擁有授權(quán)的前提下,對于每一個(gè)設(shè)備,從生產(chǎn)落地到使用壽命終結(jié),可以查詢到他服務(wù)的每一個(gè)用戶,避免不良商家以次充好,以舊充新。在保證隱私安全性的前提下,保證用戶購買到放心的產(chǎn)品(朱皓翔,陳一凡,2021)。2第二章相關(guān)技術(shù)介紹章麗娜tem》,就出現(xiàn)了區(qū)塊鏈的概念,在其中,區(qū)塊鏈僅僅作為一種數(shù)據(jù)結(jié)構(gòu),記錄比特幣的賬本信息。而維基百科將區(qū)塊鏈比作分布式數(shù)據(jù)庫,在這樣的狀態(tài)中用以存儲(chǔ)持續(xù)增長,不可篡改的數(shù)據(jù)記錄。2.1.1技術(shù)特性去中心化是區(qū)塊鏈最顯著的特征,由于區(qū)塊鏈底層采用的是對等計(jì)算機(jī)網(wǎng)絡(luò),點(diǎn)對點(diǎn)的技術(shù)(P2P),每個(gè)節(jié)點(diǎn)作為單獨(dú)的客戶端,網(wǎng)絡(luò)參與者資格權(quán)限完全對等,正是由于P2P協(xié)議的存在,讓區(qū)塊鏈可以實(shí)現(xiàn)點(diǎn)對點(diǎn)之間的價(jià)值傳輸(王信宸,孫雅茹,2023)。以比特幣這一典型區(qū)塊鏈應(yīng)用代表為例,不需要我們常見的權(quán)威機(jī)構(gòu)進(jìn)行信用背書,在P2P技術(shù)的支持下,虛擬貨幣可以在任何聯(lián)網(wǎng)的計(jì)算機(jī)上進(jìn)行挖掘和交易。通過綜合分析現(xiàn)有文獻(xiàn)中的關(guān)鍵理論和實(shí)證證據(jù),構(gòu)建了一個(gè)更加系統(tǒng)和全面的框架,旨在為該領(lǐng)域提供新的視角和方法論參考。為了確保研究的有效性和可靠性,不僅驗(yàn)證了早期的理論假設(shè),還進(jìn)一步探索了之前未被充分研究的領(lǐng)域。相對于以往中心化機(jī)構(gòu)的限制,去中心化提供的是一個(gè)更自由、更透明、更公平的環(huán)境,從這些意見中看出為個(gè)體賦予更多選擇的權(quán)利和機(jī)會(huì)(羅智翔,周俊豪,2019)。不可篡改。區(qū)塊鏈特有的存儲(chǔ)架構(gòu)使其天然具有不可篡改性。區(qū)塊鏈可以看做是一個(gè)不可修改的分布式數(shù)據(jù)庫,按照存入數(shù)據(jù)的先后順序存儲(chǔ)在首尾相連的區(qū)塊在,形成鏈狀結(jié)構(gòu),如圖2-1(吳佳輝,鄭智文,2022)。十卡區(qū)塊頭區(qū)塊體區(qū)塊體在創(chuàng)建區(qū)塊鏈時(shí),往往都會(huì)存在一個(gè)創(chuàng)世區(qū)塊(genesis),類似鏈表中的頭指針,確實(shí)區(qū)塊結(jié)構(gòu),一般創(chuàng)世區(qū)塊不存儲(chǔ)交易數(shù)據(jù)。后續(xù)的區(qū)塊根據(jù)創(chuàng)世區(qū)塊的結(jié)構(gòu),一般分為區(qū)塊頭和區(qū)塊體兩部分,區(qū)塊體中存儲(chǔ)交易數(shù)據(jù),區(qū)塊頭中包含父區(qū)塊的哈希地址,時(shí)間戳,難度值,隨機(jī)數(shù),本區(qū)塊的哈希值等數(shù)據(jù)(徐宇航,羅澤宇,2024)。在討論3研究結(jié)果時(shí),本文也特別注意區(qū)分哪些結(jié)論是基于特定假設(shè)得出的,哪些具備更廣泛的想要產(chǎn)生新的區(qū)塊,就要像上圖2-1中一樣,從這些記錄中體現(xiàn)將上一區(qū)塊的區(qū)塊頭部分合成一個(gè)字符串,通過改變隨機(jī)數(shù)的方式,不斷進(jìn)行哈希運(yùn)算,直到產(chǎn)生的哈希滿足難度條件,新區(qū)塊就會(huì)挖掘出來,并加蓋時(shí)間戳,同時(shí)像網(wǎng)絡(luò)廣播驗(yàn)證,追加到主鏈末尾,形成一條從創(chuàng)世區(qū)塊到當(dāng)前區(qū)塊的最長合法鏈(賀晨曦,龔?fù)袂澹?023)。每個(gè)參與網(wǎng)絡(luò)維護(hù)的節(jié)點(diǎn)都擁有一份完整的數(shù)據(jù),區(qū)塊鏈的區(qū)塊鏈的共識(shí)機(jī)制默認(rèn)占一半以上的相同數(shù)據(jù)為有效數(shù)據(jù),也成為了51%法則。由于哈希函數(shù)的特性,一旦區(qū)塊中的數(shù)據(jù)受到攻擊,只要輸入有任何細(xì)微的變化,輸出的哈希值都會(huì)完全不同,在這樣的條件下從而導(dǎo)致“斷鏈”現(xiàn)象。依照51%法則,只有斷鏈造成的數(shù)據(jù)變化得到全網(wǎng)大多數(shù)節(jié)點(diǎn)的同意,才算修改成功,這要求攻擊節(jié)點(diǎn)的運(yùn)算速度或公信力等綜合能力超過全網(wǎng)一半以上的節(jié)點(diǎn),在算力爆炸發(fā)展的今天,這基本不會(huì)實(shí)現(xiàn),因此可以說,區(qū)塊鏈上的數(shù)據(jù)是不可篡改的(田慶陽,成瑞琪2.1.2密碼技術(shù)區(qū)塊鏈數(shù)據(jù)層的安全性主要依賴密碼學(xué)相關(guān)技術(shù),主要包括,哈希算法、數(shù)字簽名、哈希算法并不能理解為加密算法,所謂加密,也就是將明文轉(zhuǎn)化為密文,同樣,也可以通過算法將密文轉(zhuǎn)化為明文?;谶@階段的研究成果可以看鼓勵(lì)不同專業(yè)背景的研究人員聯(lián)合工作,從多視角、多層次探索問題,可以產(chǎn)生出乎意料的創(chuàng)新和突破。哈希算法其實(shí)是一種摘要,無論輸入的數(shù)據(jù)是什么,得到的哈希長度都是固定的,并不是原始數(shù)據(jù)加密后的密文,在這樣的環(huán)境中只是一個(gè)驗(yàn)證身份的令牌。所以不能通過摘要進(jìn)行解密。哈希散列算法。也就是區(qū)塊鏈想要挖掘新的區(qū)塊,需要進(jìn)行的運(yùn)算。使用哈希函數(shù),輸入一個(gè)任意長度的字符串,輸出一個(gè)固定長度的哈希值。公式如下:輸入的x取值范圍是無限的,而輸出的y是有限的。常見的哈希算法有,MD5[9],信息摘要算法,輸出哈希是32位16進(jìn)制數(shù),原本用來作加密使用,理論上不可破解,但隨著計(jì)算機(jī)的發(fā)展,出現(xiàn)了專門用來破解MD5的庫,常見密碼都可以通過暴力撞庫來獲取明文,從這些行為可以發(fā)現(xiàn)所以現(xiàn)在普遍當(dāng)做普通哈希,用作數(shù)據(jù)校驗(yàn)(張昊天,王夢瑤,2019);SHA[10],安全散列算法,SHA-256輸出哈希是64位16進(jìn)制數(shù),由于地址空間特別大,被破解的難度大大提高,比特幣中采用的就是SHA-256。哈希函數(shù)應(yīng)滿足以下特點(diǎn):(1)抗碰撞性,很難找到兩個(gè)不同的輸入,使他們輸出的哈希值相同(陳奇遠(yuǎn),(2)不可逆性,不可能根據(jù)輸出的哈希值逆推出輸入;4(3)輸入敏感,輸入值發(fā)生微小變化,輸出的哈希值完全不同;共識(shí)機(jī)制是區(qū)塊鏈技術(shù)的關(guān)鍵,是規(guī)范區(qū)塊鏈中節(jié)點(diǎn)行為的規(guī)則。區(qū)塊鏈的世界里,每隔一段時(shí)間,就要有礦工將網(wǎng)絡(luò)中產(chǎn)生的交易數(shù)據(jù)打包成區(qū)塊之后上鏈,這種行為稱為記賬。每當(dāng)要產(chǎn)生一個(gè)區(qū)塊時(shí),全體礦工要根據(jù)共識(shí)算法選出記賬節(jié)點(diǎn),獲得記賬權(quán)的礦工將交易信息打包,這在一定層面上表露廣播到全網(wǎng)上,隨后,所有節(jié)點(diǎn)或代表節(jié)點(diǎn)對收到的區(qū)塊信息進(jìn)行驗(yàn)證,經(jīng)過大多數(shù)節(jié)點(diǎn)認(rèn)證通過后,記賬節(jié)點(diǎn)將其添加到最長合法鏈后面(孫佳怡,胡建國,2020)。在理論上,這一探討為相關(guān)領(lǐng)域的研究奠定了堅(jiān)實(shí)的基礎(chǔ),并凸顯了這些要素在實(shí)際應(yīng)用中的重要性及復(fù)雜性。區(qū)塊上鏈流程如圖2-2選主共識(shí)過程驗(yàn)證數(shù)據(jù)區(qū)塊區(qū)塊n區(qū)塊2圖2-2區(qū)塊鏈上鏈流程節(jié)點(diǎn)憑借算力,計(jì)算隨機(jī)哈希散列的數(shù)值,爭奪記賬權(quán)利,再依據(jù)付出算力的多少,分配挖到的代幣。節(jié)點(diǎn)可以自由進(jìn)出,做到完全的去中心化,但是比拼算力的行為造成了大量的算力浪費(fèi)。借助前人的積淀,本文的研究得以更深入地觸及該主題的未知領(lǐng)域,為學(xué)術(shù)界和實(shí)踐界帶來新的思考和啟示。2.權(quán)益證明機(jī)制POS(ProofofStake):通過持有Token(代幣)的數(shù)量和時(shí)長來決定你獲得記賬的機(jī)率,就像股票的分紅一樣,持有股權(quán)越多的人就能夠獲得更多的分紅。降低了POW導(dǎo)致的算力浪費(fèi),也降低是基于POS衍生出的更專業(yè)的解決方案,持有代幣的用戶投票選出代理人,負(fù)責(zé)驗(yàn)證和記賬。提高了數(shù)據(jù)處理能力,在這種模式下但是有人為參與,去中心化的程度減弱 (劉文博,趙麗娟,2021)。5是一種基于傳統(tǒng)的分布式一致性技術(shù),加上數(shù)據(jù)驗(yàn)證的機(jī)制,是目前行業(yè)鏈大范圍在使用的共識(shí)機(jī)制,可以實(shí)現(xiàn)秒級(jí)共識(shí)驗(yàn)證,不需要代幣參與,適用于商業(yè)模式應(yīng)用中。1997年,密碼學(xué)家尼克●薩博(NickSzabo)首次提出了智能合約的概念[12],Szabo希望消除中間人,只要滿足某些條件,合同就會(huì)自動(dòng)生效。區(qū)塊鏈技術(shù)的出現(xiàn),推動(dòng)了智能合約的發(fā)展。無需第三方,合約是以代碼形式存在的計(jì)算機(jī)協(xié)議。其本質(zhì)是一段由程序員編寫的存儲(chǔ)在區(qū)塊中的計(jì)算機(jī)程序,采用確定性的算法和確定的數(shù)據(jù)來源,并且滿足可終止性(謝曉剛,鄒志強(qiáng),2020)。以太坊中,智能合約被認(rèn)為是可直接控制數(shù)字資產(chǎn)的程序[13]。HyperledgerFabric是應(yīng)用智能合約的代表性技術(shù)平臺(tái)之一,它運(yùn)行在Docker虛擬機(jī)上,支持用Java、Go和降低了準(zhǔn)入門檻,并且作為基于許可的區(qū)塊鏈,大多用于商業(yè)平臺(tái)開發(fā)中[14]。這些設(shè)想與研究路徑不僅立足于對當(dāng)前狀況的深刻剖析,還融合了領(lǐng)域內(nèi)的最新進(jìn)展與未來走向,意在探索未知地帶、應(yīng)對現(xiàn)實(shí)挑戰(zhàn)并引領(lǐng)學(xué)術(shù)發(fā)展潮流。智能合約增強(qiáng)了區(qū)塊鏈技術(shù)在實(shí)際業(yè)務(wù)場景中應(yīng)用的靈活性。類似于傳統(tǒng)合同,,是規(guī)則的制定。在這等條件下用代碼將人與人之間復(fù)雜的關(guān)系程序化,利用計(jì)算機(jī)程序建立威信和約束力。開發(fā)者通過智能合約去制定一套規(guī)則,然后發(fā)布到線上,人與智能合約進(jìn)行交互,由機(jī)器去完成業(yè)務(wù)的部分,這樣就規(guī)避了由人來做執(zhí)行時(shí)可能造成的作HyperledgerFabric是聯(lián)盟鏈中的優(yōu)秀代表[15],是提供分布式分類賬解決方案的平臺(tái)?;贕o語言實(shí)現(xiàn),當(dāng)處于此類情境時(shí)試圖打造一個(gè)透明、公開、去中心化的分布式賬本項(xiàng)目,作為區(qū)塊鏈技術(shù)的開源規(guī)范和標(biāo)準(zhǔn),讓更多的應(yīng)用能更容易的建立在區(qū)塊鏈技術(shù)之上。借助開源世界自由強(qiáng)大的便利性,Hyperledger已經(jīng)由單一的項(xiàng)目逐漸發(fā)展成了一個(gè)龐大的項(xiàng)目組,包含八大頂級(jí)子項(xiàng)目,滿足區(qū)塊鏈在各種商業(yè)平臺(tái)的應(yīng)用需求(呂云濤,章麗娜,2022)。在研究進(jìn)程中,本文不斷調(diào)控外部條件以消除潛在干擾,確保研究結(jié)論的客觀性和可復(fù)制性。2.2.2技術(shù)架構(gòu)Fabric采用模塊化架構(gòu),支持不同組件的可插拔使用,將一些原本獨(dú)立的工作集中起來,制定統(tǒng)一的開放式協(xié)議和標(biāo)準(zhǔn),從這些場景中可以看出一些文化差異此外,F(xiàn)abric6還實(shí)現(xiàn)了完整的權(quán)限控制和授權(quán)管理保障安全,具有機(jī)密性、靈活性和可擴(kuò)展性,適用于通過共享的數(shù)據(jù)構(gòu)建商業(yè)聯(lián)盟鏈應(yīng)用中可能出現(xiàn)的錯(cuò)綜復(fù)雜的各種場景(田宇航,蔣一鳴,2019)。Fabric整體功能架構(gòu)如圖2-3[16]可以看出Fabric的模塊架構(gòu)十分清晰,整體可以分為上下兩部分,上部分為應(yīng)用層,可以當(dāng)做外部可以進(jìn)行操作的客戶端,下半部分為底層的代碼實(shí)現(xiàn),運(yùn)行在Docker容器中。兩者通過Fabric封裝的多種語言的SDK,使用gRPC協(xié)議進(jìn)行通信交互(張文俊,高怡婷,2023)。圖2-3HyperledgerFabric架構(gòu)圖根據(jù)分布式系統(tǒng)的CAP原理,即一致性(Consistency)、可用性(Availability)、分區(qū)容錯(cuò)性(Partitiontolerance)這三個(gè)要素最多只能同時(shí)實(shí)現(xiàn)兩點(diǎn),不可能三者兼顧(張瑞鴻,趙敏婷,2023)。在此大環(huán)境下,本文預(yù)期能夠揭示該領(lǐng)域更多深層次的規(guī)律與機(jī)制,為理論體系的豐富和完善提供堅(jiān)實(shí)的實(shí)證基石與理論后盾。根據(jù)塊鏈系統(tǒng)的去中心化特性(每一個(gè)節(jié)點(diǎn)都有一份完整的數(shù)據(jù),每一個(gè)節(jié)點(diǎn)都可以對外服務(wù)),可用性大大滿足,但是區(qū)塊鏈弱化了一致性,憑借現(xiàn)有成果積累可推導(dǎo)出所以需要更好的共識(shí)算法來保證一致性。Fabric的共識(shí)算法與其他區(qū)塊鏈有所不同,共識(shí)過程可以看做是一次交易實(shí)現(xiàn)的過程,整個(gè)過程分為三個(gè)階段,分別是背書、排序、校驗(yàn)。7量5.實(shí)隔畢缺2.8行空易車開簽者圖2-4HyperledgerFabric交易流程圖如上文所說,F(xiàn)abric區(qū)塊鏈網(wǎng)絡(luò)中,在已有成果基礎(chǔ)上可推導(dǎo)出每個(gè)通道都有獨(dú)立的賬本,通道中的每個(gè)節(jié)點(diǎn)點(diǎn)都保存著其所加入通道的賬本,Peer節(jié)點(diǎn)的賬本包含如下數(shù)據(jù):賬本編號(hào)用于區(qū)分一個(gè)節(jié)點(diǎn)中不同賬本的數(shù)據(jù)(許人山,王夢婷,2022)。針對上述方案的調(diào)試,本文從理論解讀與實(shí)踐校驗(yàn)兩個(gè)角度展開。理論解讀階段,詳細(xì)闡述了方案設(shè)計(jì)的核心思想與預(yù)期成效,通過構(gòu)建理論模型與邏輯鏈條,為后續(xù)的分析奠定了穩(wěn)固的理論基礎(chǔ)。賬本數(shù)據(jù)用于存儲(chǔ)賬本信息區(qū)塊索引用于快速查詢區(qū)塊交易狀態(tài)數(shù)據(jù)可以看作一個(gè)存儲(chǔ)鍵值信息的數(shù)據(jù)庫,通過它可以獲取最新的世界狀態(tài)歷史數(shù)據(jù)可以查詢鍵值的修改記錄單鏈的Peer節(jié)點(diǎn)賬本結(jié)構(gòu)如圖2-4所示。8以嬰望區(qū)塊地一文件臨號(hào)+偏移量文件系統(tǒng)TX圖2-4HyperledgerFabric賬本存儲(chǔ)方式每次對于區(qū)塊鏈的操作,在經(jīng)過背書,排序,校驗(yàn)之后,交易信息不止存儲(chǔ)在區(qū)塊中,還有專門的狀態(tài)數(shù)據(jù)庫來保存交易中的鍵-值數(shù)據(jù)的最新值,在此理論框架基礎(chǔ)上研究可得出每當(dāng)鏈碼執(zhí)行交易以后,世界狀態(tài)更新,狀態(tài)數(shù)據(jù)庫就會(huì)隨之更新(趙俊杰,每個(gè)節(jié)點(diǎn)中還有存儲(chǔ)鍵-值數(shù)據(jù)更改記錄的歷史狀態(tài)索引庫,值得注意的是歷史狀態(tài)索引庫中并不會(huì)把每次交易后的鍵-值數(shù)據(jù)都存儲(chǔ)在其中,而是只記錄在哪次交易中鍵-值發(fā)生了變化,還需要查詢變動(dòng)的數(shù)值(崔澤霖,解景瀾,2020)。從上可以可以看出該方案相比于其他方案具有更好的性價(jià)比,同時(shí)它還強(qiáng)調(diào)了環(huán)境可持續(xù)性,通過減少能源消耗和廢物排放來支持綠色技術(shù)的發(fā)展。由于區(qū)塊存儲(chǔ)在文件中,文件編號(hào)都是遞增的,還有區(qū)塊索引功能優(yōu)化查找區(qū)塊文件的時(shí)間,區(qū)塊索引存儲(chǔ)區(qū)塊交易對應(yīng)的文件塊及其偏移量,可以精準(zhǔn)定位區(qū)塊。9有效的將單個(gè)操作系統(tǒng)的資源劃分到孤立的組中,以便更好的在孤立的組之間平衡有沖突的資源使用需求,這種技術(shù)就是容器技術(shù)。2.3.1Docker容器Docker容器是一個(gè)開源的應(yīng)用容器引擎,開發(fā)者可以以統(tǒng)一的方式打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何安裝了Docker引擎的服務(wù)器上。許多應(yīng)用都有相應(yīng)的容器鏡像,例如ubuntu,mysql等,如果把虛擬機(jī)比作一個(gè)工作的碼頭,各個(gè)容器就像碼頭中的一個(gè)個(gè)集裝箱,內(nèi)部封裝了不同的系統(tǒng),獨(dú)立進(jìn)行工作。使用容器技術(shù)可以有效緩解軟件運(yùn)行過程中造成的軟件沖突(董明軒,葉芷昕,2020)。這不僅有助于提高研究結(jié)論的精準(zhǔn)度,也為制定個(gè)性化的策略提供了可能,從而更好地滿足多樣化的需求。Fabric項(xiàng)目擁有諸多的Docker鏡像,由于容器使用沙箱機(jī)制,沒有留有相應(yīng)的接口,所以Fabric項(xiàng)目訪問容器中的數(shù)據(jù),于此特定場合不難觀察到一般采用web形式,容器使用容器時(shí),要定義Docker文件,再使用build,run等命令運(yùn)行容器,由于部署Fabric項(xiàng)目需要?jiǎng)?chuàng)建多個(gè)容器實(shí)例,如果每個(gè)容器都要手動(dòng)啟停,效率十分低下,Docker-Compose可以批量定義容器,管理容器的啟停。本文詳細(xì)分析了現(xiàn)有方案,識(shí)別出復(fù)雜且非必要的環(huán)節(jié)并予以刪除,優(yōu)化了流程設(shè)計(jì),構(gòu)建出一個(gè)更加精簡高效的計(jì)算體系。本章介紹了論文中涉及到的技術(shù)概念。以比特幣為例,從技術(shù)特性,密碼服務(wù),共框架,介紹了其使用的共識(shí)算法,數(shù)據(jù)存儲(chǔ)機(jī)制,還簡單介紹了部署Fabric項(xiàng)目的docker容器,為下文中的使用打下基礎(chǔ)。本系統(tǒng)以HyperledgerFabric技術(shù)框架為基礎(chǔ),通過go語言編寫后端技術(shù)框架開發(fā)用戶的物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)的存儲(chǔ)安全性,在此類特定條是系統(tǒng)的使用者;商家是設(shè)備的制造商;物聯(lián)網(wǎng)設(shè)備是用戶的操作對象,見圖3-1。管理員生產(chǎn)購買配置圖3-1參與系統(tǒng)的各個(gè)用戶的所有轉(zhuǎn)讓記錄(何啟航,黃景云,2018)。經(jīng)過對現(xiàn)有方案的全面評估和分析,刪除但是底層架構(gòu)Fabric作為聯(lián)盟鏈的代表,需要一個(gè)信任機(jī)構(gòu)給用戶頒發(fā)證書,起到維護(hù)系統(tǒng)的作用,保障系統(tǒng)運(yùn)行,并不干涉用戶的操作和數(shù)據(jù)的存儲(chǔ)。管理人員的主要職責(zé)在于搭建系統(tǒng)環(huán)境,進(jìn)行鏈碼的編寫和維護(hù),測試系統(tǒng)的功能(陳嘉琪,趙婉清,2023)。想要順利運(yùn)行一個(gè)HyperledgerFabric網(wǎng)絡(luò),保證系統(tǒng)功能的實(shí)現(xiàn),就要先進(jìn)行環(huán)境的配置,配置完畢滿足HyperledgerFabric網(wǎng)絡(luò)的運(yùn)行環(huán)境之后,還需要對系統(tǒng)的組織,成員進(jìn)行劃分,并且創(chuàng)建相應(yīng)的通道,現(xiàn)有結(jié)果顯示可以推出分配用戶到相應(yīng)的通道,保證不同組織間的用戶數(shù)據(jù)互不干擾。在此基礎(chǔ)上,本文緊密圍繞研究主題,精心規(guī)劃了一套科學(xué)的研究方案,包括數(shù)據(jù)收集方式、樣本選取原則及分析架構(gòu)。此外,還需要設(shè)置排序節(jié)點(diǎn)和成員節(jié)點(diǎn)等內(nèi)容,每個(gè)節(jié)點(diǎn)都需要對應(yīng)的證書,才可以加入到網(wǎng)絡(luò)中,這些都是管理員的職責(zé)所在。對于整個(gè)區(qū)塊鏈,管理員還應(yīng)配置區(qū)塊鏈瀏覽器,審核商家資格等內(nèi)容,便于用戶快速瀏覽區(qū)塊數(shù)據(jù),提高系統(tǒng)的實(shí)用性。參與系統(tǒng)操作的用戶共分為兩類:商家和顧客,其中商家扮演的角色較為簡單,只是物聯(lián)網(wǎng)設(shè)備的生產(chǎn)商,用戶從生產(chǎn)商或其他用戶購買設(shè)備之后,進(jìn)行設(shè)備綁定,并且可以查詢上鏈設(shè)備的生產(chǎn)廠家和交易記錄,基于本文的研究前提我們對這種情況進(jìn)行了深入探討如果沒有查到記錄,說明該設(shè)備是沒有進(jìn)行登記的非法設(shè)備,生產(chǎn)廠家未知,存在安全隱患(程對軒,李欣妍,2019)。用戶,商家關(guān)系如圖3-2.商家用戶1用戶2用戶1圖3-2用戶、商家之間關(guān)系新用戶必須注冊進(jìn)入系統(tǒng)才能正常使用功能,分為商家注冊和消費(fèi)者用戶注冊。商家的注冊因?yàn)樾枰芾韱T的審核,對于信用較低的商家還需要繳納一定的保證金,避免因注冊商家門檻低而導(dǎo)致的非法商家泛濫(王志強(qiáng),劉思彤,2020);用戶注冊時(shí),需要設(shè)置自己的用戶名以及ID,其中ID是唯一的,是分別用戶的唯一憑證。注冊設(shè)備:只有已經(jīng)注冊過的商家可以進(jìn)行設(shè)備注冊,注冊時(shí)需要設(shè)置設(shè)備的名稱,ID和各種屬性,其中ID同樣是分別設(shè)備的唯一憑證,屬性依據(jù)不同的設(shè)備,需要獨(dú)立設(shè)備轉(zhuǎn)讓:用戶在從商家或者其他用戶購買設(shè)備之后,需要設(shè)備的前擁有者配合,進(jìn)行設(shè)備的轉(zhuǎn)讓,即將設(shè)備從原擁有者轉(zhuǎn)移到購買者賬戶之中(劉文博,趙晨妍,2021)。3.1.4查詢功能查詢功能可以查詢用戶或者查詢設(shè)備。查詢用戶:可以查詢某一用戶擁有的所有物聯(lián)網(wǎng)設(shè)備,避免進(jìn)行二手交易時(shí),對方?jīng)]有該設(shè)備,買家上當(dāng)受騙。查詢設(shè)備:查詢設(shè)備分為兩種,這在某種程度上映射查詢設(shè)備屬性可以看到該設(shè)備的名稱,產(chǎn)地等信息,便于購買者對設(shè)備的了解;還可以查詢設(shè)備的變更歷史,從中可以看到設(shè)備從制造到銷售的每個(gè)擁有者。系統(tǒng)設(shè)計(jì)除了需要為滿足用戶業(yè)務(wù)需求而必須具有的功能之外,還要滿足一系列的非功能性需求,例如安全性、可靠性、互操作性、健壯性等。深入分析和多方面測試不僅驗(yàn)證了原始假設(shè)的正確性,還擴(kuò)展了該領(lǐng)域的理論深度。研究成果為實(shí)踐領(lǐng)域提供了寶貴的指導(dǎo),揭示了核心問題背后的深層因素,這些洞察對于資源優(yōu)化配置、提高決策效率以及促進(jìn)行業(yè)可持續(xù)發(fā)展至關(guān)重要。用戶能夠快速上手,及時(shí)使用的系統(tǒng)才是一個(gè)優(yōu)秀的系統(tǒng),由于本系統(tǒng)的操作較為簡單,不同用戶需要進(jìn)行的操作較為單一,每個(gè)功能的實(shí)現(xiàn)只需要簡單的步驟,易用性3.2.2安全性需求系統(tǒng)在運(yùn)行時(shí)需要安全性,安全性不只是保護(hù)隱私數(shù)據(jù)不被泄露,還有保護(hù)使用系統(tǒng)用戶的賬戶等財(cái)產(chǎn)安全。本系統(tǒng)的安全性有以下多方面考慮:首先,可以注冊設(shè)備的商家必須經(jīng)過管理員認(rèn)證后才可以進(jìn)行注冊,這在某種程度上揭示出甚至低信用商家需要繳納保證金,從控制生產(chǎn)渠道,保證了物聯(lián)網(wǎng)設(shè)備的安全性(陳曉鵬,趙欣怡,2021);研究結(jié)果為實(shí)踐提供了方向,通過詳細(xì)討論主要問題,揭示了背后的深層次邏輯,有助于實(shí)現(xiàn)資源的最佳利用、改善決策流程并促進(jìn)行業(yè)的長遠(yuǎn)發(fā)展。其次,本系統(tǒng)基于Fabric賬本,擁有區(qū)塊鏈的天然優(yōu)勢,存儲(chǔ)在區(qū)塊鏈中的數(shù)據(jù)安全不可篡改,保證了物聯(lián)網(wǎng)設(shè)備流通過程中的安全性;最后,本系統(tǒng)只作為物聯(lián)網(wǎng)設(shè)備注冊、查詢、轉(zhuǎn)讓之用,并不支持購買等操作,需要買家賣家雙方線下交易,更加安全省心,保證了用戶的財(cái)產(chǎn)安全(王珊珊,蔣晗萱,2021)。系統(tǒng)的整體結(jié)構(gòu)設(shè)計(jì)要遵循軟件工程設(shè)計(jì)流程,各個(gè)模塊之間應(yīng)盡量做到低耦合,高復(fù)用,可拓展,高容錯(cuò)。這在一定層面上證實(shí)了本系統(tǒng)基于Fabric框架,具體執(zhí)行的操作都編寫成智能合約部署在用戶節(jié)點(diǎn)上,想要進(jìn)行功能拓展,只需要更新智能合約,重新上傳即可,有良好的可拓展性(黃子凡,陳婷怡,2020)。當(dāng)下開展的研究方向和最終結(jié)論與已有的成熟理論模型相符。在研究期間,嚴(yán)格遵循科學(xué)研究的規(guī)范流程,秉持嚴(yán)謹(jǐn)?shù)膽B(tài)度開展工作。此外,系統(tǒng)的節(jié)點(diǎn)在容器中,有一定的密閉性,外部訪問需要留有接口,調(diào)用API進(jìn)行通信。也就是說,各個(gè)模塊分別開發(fā),提高了開發(fā)效率的同時(shí),修改模塊功能時(shí),也降低對其他模塊造成的影響。容錯(cuò)性方面,憑借Fabric優(yōu)秀的共識(shí)機(jī)制,當(dāng)節(jié)點(diǎn)收到攻擊或者產(chǎn)生錯(cuò)誤引起故障,共識(shí)機(jī)制可以保證系統(tǒng)正常運(yùn)行,并且在修復(fù)故障后自動(dòng)同步正常節(jié)點(diǎn)的數(shù)據(jù)。本章主要討論了基于Fabric的物聯(lián)網(wǎng)設(shè)備去中心化數(shù)字身份認(rèn)證系統(tǒng)的需求,除了整體的框架之外,還針對參與系統(tǒng)的各個(gè)用戶進(jìn)行了詳細(xì)的分析介紹。系統(tǒng)管理員對系統(tǒng)進(jìn)行開發(fā),維護(hù)等操作;商家生產(chǎn)物聯(lián)網(wǎng)設(shè)備;用戶購買,轉(zhuǎn)讓設(shè)備。這在某個(gè)角度上證明了以及查詢功能如何進(jìn)行設(shè)計(jì)。數(shù)據(jù)獲取階段,本文實(shí)施了多種措施,比如在線問卷、現(xiàn)場訪談和文獻(xiàn)回顧等,目標(biāo)是從多個(gè)維度獲取豐富且精確的數(shù)據(jù)。除了上述的系統(tǒng)功能需求分析,對于非功能需求,也有一定的設(shè)計(jì),分別從易用性、安全性、可拓展性三方面進(jìn)行了需求設(shè)計(jì)。第四章系統(tǒng)的總體設(shè)計(jì)軟件的具體層次架構(gòu)如圖4-1所示,分為展示層,業(yè)務(wù)接口層,業(yè)務(wù)邏輯層,數(shù)據(jù)訪問層,數(shù)據(jù)庫五部分。LevelDB數(shù)據(jù)庫數(shù)據(jù)層圖4-1軟件層次架構(gòu)展示層是用戶的交互界面,這在某種程度上象征直接展示給用戶,接收用戶的操作請求,顯示處理結(jié)果,是程序的外殼。業(yè)務(wù)接口層是與展示層緊密相關(guān)的,將用戶從展示層輸入的請求,傳遞到業(yè)務(wù)邏輯業(yè)務(wù)邏輯層是至關(guān)重要的一層,在數(shù)據(jù)交換中起到承上啟下的作用,F(xiàn)abric框架的業(yè)務(wù)邏輯,也就是智能合約部署在容器之中,對于上層只開放接口供其訪問,這種弱耦合的方式使得改變上層對底層的調(diào)用沒有什么影響。在此類環(huán)境中在接口不變的情況下,每層之間的設(shè)計(jì)就想可以隨意插拔的模塊一樣,只要接口相互對應(yīng),就可以隨意插拔,有良好的可拓展性(張晨曦,王一凡,2020)。針對多樣化的研究議題,靈活應(yīng)用多種數(shù)據(jù)收集技術(shù)能增強(qiáng)數(shù)據(jù)的完整性和可信度。本框架模型的一大特色在于其高度的靈活性與可擴(kuò)展性。本系統(tǒng)中的數(shù)據(jù)層包括數(shù)據(jù)訪問和數(shù)據(jù)庫兩個(gè)概念,數(shù)據(jù)庫存儲(chǔ)鍵-值信息,交易賬本存儲(chǔ)在區(qū)塊中。也就是說,每次對于操作,交易信息不止存儲(chǔ)在區(qū)塊中,還有專門的狀態(tài)數(shù)據(jù)庫來保存交易中的鍵-值數(shù)據(jù)的最新值,每當(dāng)鏈碼執(zhí)行交易以后,世界狀態(tài)更新,狀態(tài)數(shù)據(jù)庫就會(huì)隨之更新(王昊天,宋曉彤,2021)。這樣做的目的不僅是排除偶然性的干擾,還在于提升研究結(jié)果的準(zhǔn)確性與普適性。與此隨著技術(shù)手段的發(fā)展,新興的研究工具和技術(shù)正在不斷涌現(xiàn),為科學(xué)研究帶來新的可能。還會(huì)有存儲(chǔ)鍵-值數(shù)據(jù)更改記錄的歷史狀態(tài)索引庫,值得注意的是歷史狀態(tài)索引庫中并不會(huì)把每次交易后的鍵-值數(shù)據(jù)都存儲(chǔ)在其中,在這樣的狀況里而是只記錄在哪次交易中鍵-值發(fā)生了變化,之后需要查詢到當(dāng)次交易,才能知道變動(dòng)的數(shù)值。交易賬本也可以進(jìn)行查詢,區(qū)塊存儲(chǔ)在文件中,文件編號(hào)遞增,有區(qū)塊索引功能查找區(qū)塊文件,可以系統(tǒng)的功能模塊設(shè)計(jì)如圖4-2所示設(shè)備查詢用戶查詢設(shè)備刪除塊模讓轉(zhuǎn)備設(shè)設(shè)備轉(zhuǎn)讓設(shè)備注冊用戶注冊注商家注冊物聯(lián)網(wǎng)設(shè)備數(shù)字身份認(rèn)證系統(tǒng)查詢模塊管理模塊塊模冊大體分為管理模塊,注冊模塊,設(shè)備轉(zhuǎn)讓模塊,查詢模塊四部分,接下來將會(huì)分模塊進(jìn)行詳細(xì)講解。4.2.1管理模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)此模塊對應(yīng)的是管理員功能設(shè)計(jì),系統(tǒng)管理員需要進(jìn)行搭建Fabric環(huán)境,劃分組織,創(chuàng)建通道,申請證書,創(chuàng)建創(chuàng)世區(qū)塊,編寫鏈碼,維護(hù)系統(tǒng)等操作。可以說管理模塊就是后續(xù)設(shè)計(jì)的基石(張凱文,周思琦,2020)。在實(shí)證分析中本文重新審視原始數(shù)據(jù),采用多種統(tǒng)計(jì)方法和技術(shù)進(jìn)行交叉驗(yàn)證,并引入外部數(shù)據(jù)集作為參考樣本,力求消除任何可能影響結(jié)論準(zhǔn)確性的偏差,確保研究結(jié)果的真實(shí)性和廣泛適用性。在搭建好Fabric環(huán)境之后,首先需要在測試用例中找到first-network文件夾,檢查一下能否正常運(yùn)行。這個(gè)網(wǎng)絡(luò)有設(shè)立了兩個(gè)組織,從這些動(dòng)作可以意識(shí)到每個(gè)組織擁有兩個(gè)用戶節(jié)點(diǎn),并且創(chuàng)建了一個(gè)頻道“mychannel”,每個(gè)用戶節(jié)點(diǎn)都加入頻道之中,安裝了智能合 當(dāng)屏幕出現(xiàn)圖4-3時(shí),說明可以正常運(yùn)行Fabric項(xiàng)目,加下來需要針對本系統(tǒng)建立組織,創(chuàng)建通道,并將用戶節(jié)點(diǎn)加入到通道之中。本系統(tǒng)預(yù)計(jì)建立一個(gè)排序節(jié)點(diǎn),一個(gè)交易通道,兩個(gè)組織。排序節(jié)點(diǎn)使用solo模式,方便單機(jī)部署,進(jìn)行調(diào)試;在這樣的狀態(tài)中每個(gè)組織創(chuàng)建兩個(gè)成員節(jié)點(diǎn),加入到通道之之后的工作就是編寫智能合約,并部署在成員節(jié)點(diǎn)上,合約部署的過程如圖4-4所示,智能合約編寫完成之后,需要打包發(fā)送到成員節(jié)點(diǎn)上,這一過程由配置文件完成(在節(jié)點(diǎn)生成之前,需要設(shè)置每個(gè)節(jié)點(diǎn)的容器信息,包括容器名稱,鏡像版本,端口號(hào)等信息,排序節(jié)點(diǎn)需要注入創(chuàng)世區(qū)塊,用戶節(jié)點(diǎn)需要定義節(jié)點(diǎn)證書,數(shù)據(jù)庫類型;每個(gè)節(jié)點(diǎn)還要設(shè)置端口號(hào),通常7051端□用于進(jìn)行g(shù)RPC通信,7053接□用戶事件監(jiān)聽)(黃樂天,胡紫馨,2020)。通過對研究發(fā)現(xiàn)的深度解讀,本文提出了有實(shí)或?qū)嵺`指南,希望對行業(yè)發(fā)展、決策制定和未來研究導(dǎo)向產(chǎn)生正面效應(yīng)。所有準(zhǔn)備工作就緒之后,配置文件中指定鏈碼的存儲(chǔ)地址,運(yùn)行容器,將會(huì)看到許多容器創(chuàng)建完成,從這些意見中看出如圖4-5其中除了排序節(jié)點(diǎn)和用戶節(jié)點(diǎn)外,cli是節(jié)點(diǎn)客戶端,相當(dāng)于一臺(tái)獨(dú)立的電腦,運(yùn)行此系統(tǒng),節(jié)點(diǎn)交易以及其他操作都是從客戶端發(fā)起,需要證書認(rèn)證。此時(shí),管理員的準(zhǔn)備工作已經(jīng)就緒,接下來需要進(jìn)行的是各模塊的詳細(xì)設(shè)計(jì)。否是Startingcli...Startingdeploy_peer.base_1用戶類定義如圖4-6.//用戶類Assets[]string`json:Passwdstring//ID(唯一)圖4-6用戶類定義設(shè)備類定義如圖4-7.//設(shè)備類//名稱//ID(唯一)圖4-7設(shè)備類定義設(shè)備轉(zhuǎn)讓類定義如圖4-8.//資產(chǎn)轉(zhuǎn)讓類typeAssetHistorystruct AssetIdstring'json:"assetid"`//轉(zhuǎn)讓設(shè)備的IDOriginOunerIdstring'json:"origin_owner_id"`//圖4-8資產(chǎn)轉(zhuǎn)讓類定義注冊模塊將區(qū)塊數(shù)據(jù)庫中原本不存在的用戶或者設(shè)備,保存起來,未經(jīng)注冊無法查詢到該用戶或者設(shè)備。商家注冊和用戶注冊都屬于用戶類注冊在智能合約中,從這些記錄中體現(xiàn)定義了注冊用戶的函數(shù)userRegister,見圖4-5。這是本系統(tǒng)的第一個(gè)功能模塊,完整的放出,從中也可以看到Fabric項(xiàng)目編寫的一數(shù),對重點(diǎn)部分也會(huì)進(jìn)行代碼的詳解(趙博遠(yuǎn),高子琪,2024)。本研究的推進(jìn)過程中不可首先,節(jié)點(diǎn)從外部應(yīng)用接收到執(zhí)行指令和相應(yīng)參數(shù)之后,會(huì)調(diào)用智能合約中的相應(yīng)都驗(yàn)證無誤之后,在這樣的條件下將收到的值賦予用戶之中,此時(shí)定義了用戶的設(shè)funcuserRegister(stubshim.Chaincodestureturnshim.Error("invifuserBytes,err:=stub.GetState(constructUerr==nil8&len(Assets:make([]string,returnshim,Error(fmt.Sprintf("marshalusererriferr:=stub.PutState(constructUserKey(id),表4-1用戶注冊接口請求url用戶名,用戶ID(唯一),身份(用戶或商家)密碼(加密)數(shù)據(jù)變更在狀態(tài)數(shù)據(jù)庫中新建一個(gè)key為用戶ID的數(shù)據(jù),網(wǎng)絡(luò)狀態(tài)碼法正常轉(zhuǎn)讓,需要申請管理審核。設(shè)備登記功能接口如表4-2.表4-2設(shè)備登記接口請求url設(shè)備名稱,設(shè)備ID(唯一),設(shè)備屬性,生產(chǎn)廠家(注冊用戶ID)生產(chǎn)者身份為商家則為正常,身份為用戶會(huì)在屬性中加入警告數(shù)據(jù)變更在狀態(tài)數(shù)據(jù)庫中新建一個(gè)key為設(shè)備ID的數(shù)據(jù),值為序列化的用戶新增設(shè)備變更歷史,原擁有者值為默認(rèn)值(originOwner)網(wǎng)絡(luò)狀態(tài)碼通過這些事實(shí)我們可以看到設(shè)備轉(zhuǎn)讓模塊實(shí)現(xiàn)設(shè)備轉(zhuǎn)讓功能,用戶購買產(chǎn)品時(shí)需要設(shè)備轉(zhuǎn)讓功能接口如表4-3.表4-3設(shè)備轉(zhuǎn)讓接□請求url設(shè)備ID(唯一),設(shè)備原始擁有者,設(shè)備新?lián)碛姓呱a(chǎn)者身份為商家則為正常,身份為用戶會(huì)在屬性中加入警告數(shù)據(jù)變更原用戶的設(shè)備列表中刪除該設(shè)備,新用戶的設(shè)備列表中新增設(shè)備新增設(shè)備變更歷史,記錄原用戶,設(shè)備ID,現(xiàn)用戶網(wǎng)絡(luò)狀態(tài)碼查詢商家或用戶信息接口如表4-4.表4-4查詢商家、用戶信息接口請求url用戶ID(唯一)無查詢設(shè)備信息接口如表4-5.表4-5查詢設(shè)備信息接□請求url設(shè)備ID(唯一)數(shù)據(jù)變更無已經(jīng)序列化的用戶數(shù)據(jù),包括設(shè)備名稱,設(shè)備ID,設(shè)備屬性查詢設(shè)備轉(zhuǎn)讓信息接口如表4-6.表4-6查詢設(shè)備轉(zhuǎn)讓信息接□請求url設(shè)備ID(唯一)可選參數(shù):all/exchangeall參數(shù)可以查詢所有轉(zhuǎn)讓信息,包括設(shè)備登記時(shí)的信息,e數(shù)只查詢用戶間設(shè)備轉(zhuǎn)讓信息,不輸入默認(rèn)選擇all參數(shù)查詢無已經(jīng)序列化的設(shè)備轉(zhuǎn)讓信息此模塊對應(yīng)的是管理員功能設(shè)計(jì),從這些條款中看出系統(tǒng)管理員需要搭建Fabric環(huán)境,編寫鏈碼,維護(hù)系統(tǒng)。分為搭建Fabric環(huán)境,審核醫(yī)療機(jī)構(gòu),查看運(yùn)行狀態(tài)。管理員功能要單獨(dú)開發(fā),與用戶功能區(qū)分開,操作頁面也是相互獨(dú)立的,由此顯而易見不能直接跳轉(zhuǎn)。首先,節(jié)點(diǎn)從外部應(yīng)用接收到執(zhí)行指令和相應(yīng)參數(shù)之后,會(huì)調(diào)用智能合約中的相應(yīng)4.2.6其他功能模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)其他功能模塊的設(shè)計(jì),意在滿足用戶的其他種種需求,當(dāng)用戶不再使用該系統(tǒng)后,想要保護(hù)自己的隱私,刪除賬號(hào)數(shù)據(jù),就需要注銷自己的賬號(hào);如果某個(gè)設(shè)備損壞,不能繼續(xù)使用,也要?jiǎng)h除該設(shè)備的信息。用戶注銷接口如表4-8.請求url輸入值非空,用戶ID存在且密碼正確數(shù)據(jù)變更用戶輸出刪除,并且所帶的設(shè)備也全部刪除網(wǎng)絡(luò)狀態(tài)碼設(shè)備刪除接口如表4-8.表4-8設(shè)備刪除接口請求url用戶ID,刪除設(shè)備ID,密碼輸入值非空,用戶ID設(shè)備ID都存在,密碼正確設(shè)備刪除,用戶設(shè)備列表中也刪除該設(shè)備網(wǎng)絡(luò)狀態(tài)碼本章講解了系統(tǒng)設(shè)計(jì)的軟件層次架構(gòu),對每一層的作用現(xiàn)業(yè)務(wù)邏輯,并使用業(yè)務(wù)接口進(jìn)行訪問,實(shí)現(xiàn)了簡單的物聯(lián)網(wǎng)設(shè)備數(shù)字身份認(rèn)證系統(tǒng)。第5章系統(tǒng)測試進(jìn)行系統(tǒng)測試可以模擬程序運(yùn)行,避免正式使用時(shí)出現(xiàn)嚴(yán)重問題,保證系統(tǒng)運(yùn)行時(shí)的穩(wěn)定性。此次測試將全程以某一節(jié)點(diǎn)的身份,對系統(tǒng)的各個(gè)模塊進(jìn)行測試,查看測試結(jié)果是否符合預(yù)期設(shè)計(jì)。測試將模擬一套完整的交易流程,從商家登記設(shè)備,到用戶購買,用戶之間進(jìn)行二手交易;之后進(jìn)行查詢用戶信息,結(jié)合以上所進(jìn)行的分析情況設(shè)備信息,設(shè)備交易歷史信息;再到設(shè)備刪除,用戶銷戶,完整的測試整個(gè)流程。首先注冊三個(gè)賬號(hào),分別是商家1(ID:shangjial),用戶1(ID:user1),用戶2 (ID:user2),之后商家1登記設(shè)備(ID:asset),用戶1購買并轉(zhuǎn)讓給用戶2,測試執(zhí)行操作測試結(jié)果預(yù)期結(jié)果是否符合預(yù)期商家1,用戶1,用戶2注冊注冊成功注冊成功用戶1再注冊商家1登記設(shè)備登記成功登記成功用戶1購買設(shè)備設(shè)備從商家1轉(zhuǎn)讓給用戶1設(shè)備從商家1轉(zhuǎn)讓給用戶1用戶2從用戶1處購買設(shè)備設(shè)備從用戶1轉(zhuǎn)讓給用戶2設(shè)備從用戶1轉(zhuǎn)讓給用戶2用戶1購買ID為Asset2的設(shè)備交易方面的測試完全符合預(yù)期結(jié)果,對于非法的請求提示錯(cuò)誤信分別對用戶2,設(shè)備,設(shè)備交易歷史進(jìn)行查詢操作,測試結(jié)果如表5-2.如表可見對于正常的查詢功能可以返回正常的信息,對于非法的請求也可以返回錯(cuò)對設(shè)備,用戶2進(jìn)行刪除操作,測試結(jié)果如表5-3.執(zhí)行操作測試結(jié)果預(yù)期結(jié)果是否符合預(yù)期對用戶2進(jìn)行查詢操作查詢成功,返回用戶數(shù)據(jù)查詢成功對設(shè)備進(jìn)行查詢操作查詢成功,返回設(shè)備數(shù)據(jù)查詢成功登記成功,返回設(shè)備交易歷史查詢成功查詢用戶3(未注冊用戶)查詢失敗,顯示未找到用戶查詢失敗查詢設(shè)備2(未注冊設(shè)備)查詢失敗,顯示未找到設(shè)備查詢失敗執(zhí)行操作測試結(jié)果預(yù)期結(jié)果是否符合預(yù)期刪除成功刪除成功刪除用戶2刪除成功刪除成功刪除用戶3(未注冊用戶)刪除失敗,顯示未找

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論