技術指南 | 基於區塊鏈技術實現的學歷資訊徵信系統-需求分析
需求分析
現在是一個資訊化的高科技時代,許許多多的企業必須緊跟時代步伐,不斷創新,才能發展壯大;而企業的發展必然離不開人才隊伍的建設,也可以說創新是企業發展的動力,而人才卻是企業發展的根本,所以現在各企業對於人才隊伍建設十分看重,而對於人才的素質及受教育情況的要求更是重中之重。
對學歷資訊的查詢,要麼成本較高,要麼比較麻煩,甚至還有一些假冒網站讓人防不勝防;傳統應用是將資料儲存在資料庫中來實現,但是現在出現的資料庫由於故障或者被刪、被黑造成的資料丟失的情況更是屢見不鮮,所以傳統資料庫並不能真正意義上確保資料的完整性及安全性。
基於這些情況,我們設計並開發了一個 基於區塊鏈技術的實現的學歷資訊徵信系統,實現了線上對學歷資訊的查詢功能,由於區塊鏈技術本身的特點,無須考慮資料被破壞的問題,而且杜絕了對於資訊造假的情況,保證了學歷資訊的真實性。由於篇幅原因,我們對學歷資訊徵信系統的應用場景進行修改及簡化,實現的業務邏輯包括新增資訊、修改資訊、查詢資訊、查詢詳情資訊等操作,實際情況下的的業務邏輯需要根據實際需求場景做出相應的調整。
由於系統需要保證人才受教育情況真實性,所以對於系統的使用者而言,不可能由使用者自己新增相應的學歷資訊,而是由具有一定許可權的使用者來完成新增或修改的功能。但普通使用者可以通過系統溯源功能來確定資訊的真偽。所以我們將系統使用者的使用角色分為兩種:
1.普通使用者
2.管理員使用者
普通使用者具有對資料的查詢功能 ,但實現查詢之前必須經過登入認證:
- 使用者登入:系統只針對合法使用者進行授權使用,所以使用者必須先進行登入才能完成相應的功能。
- 查詢實現:查詢分為兩種方式實現
根據證書編號與姓名查詢:根據使用者輸入的證書編號與姓名進行查詢。
根據身份證號碼查詢:根據使用者輸入指定的身份證號碼進行查詢,此功能可以實現溯源。
管理員使用者除具有普通使用者的功能之外,額外添加了兩個功能:
- 新增資訊:可以向系統中新增新的學歷資訊。
- 修改資訊:針對已存在的學歷資訊進行修改。
我們在本書的第十、十一、十二章中已經完成了一個完整的基於 fabric-sdk-go 的應用示例,所以我們現在使用之前的應用架構,不同的是在此應用中需要編寫實現完整的鏈碼並通過業務層呼叫鏈碼中的各個函式,以實現對資料狀態的操作。介面為了方便使用者操作使用,仍然使用Web瀏覽器的方式實現。而且在此應用中我們將 Hyperledger Fabric 預設的狀態資料庫由 LevelDB 替換為 CouchDB 來實現。
對於 Fabric Network結構如下圖所示:
由於需要向分類賬本中儲存資料,所以必須設計相關的結構體用於宣告要儲存的資料結構,用於方便的在應用中處理資料。
Education 結構體設計如下表所示:
為了能夠從當前的分類狀態中查詢出詳細的歷史操作記錄,我們在 Education 中設計了一個型別為HistoryItem 陣列的 Historys 成員,表示當前狀態的歷史記錄集。
HistoryItem 結構體設計如下表所示:
13.1.4.1 設定環境
我們在第十章中說明了如何構建fabric網路環境,現在我們要重新完成一個新的應用,所以網路環境可以使用之前的內容,但是因為狀態資料庫使用 CouchDB 來實現,所以需要做出部分修改,新增與 CouchDB 相關的內容。為了方便讀者起見,我們重新搭建一個應用所需的網路環境。
在GOPATH的src資料夾中新建一個目錄如下:

作者:ChainDesk韓小東 未經授權禁止轉載、改編,轉載請註明出處!