姚 敏
(重慶圖書館,重慶 400037)
隨著互聯網、物聯網和云計算的極速發展,社會早已步入知識信息經濟時代。信息網絡無疑是知識經濟發展的基礎,而它的核心是信息來源,即數字圖書館。基于通信技術、計算機網絡技術和數字化信息,構建一個交互可拓展的平臺、大規模的知識庫集群。爆炸式增長的數據規模,也為構建安全、可靠、大規模的新型圖書館科學數據倉儲提出了新的機遇和挑戰。在大數據背景下,如何保障數據的真實性和較高要求的數據存儲容量,如何更有力地保護用戶的安全性和隱私性,對于數字圖書館科學數據倉儲性能的要求更高。在《中國區塊鏈技術和應用發展白皮書2016》中,區塊鏈(Blockchain)是采取分布式數據存儲技術、共識機制、點對點傳輸、加密算法等計算機技術的新型模式。區塊鏈科學研究所創始人Melanie Swan認為,區塊鏈本質上是一個公開賬本,有潛力實現全球性的、去中心化的有形和無形資產的登記、編冊和轉讓記錄。區塊鏈技術在數據管理、數據保護、用戶隱私保護等方面,為建立新型圖書館科學數據倉儲指明了新的發展方向。
傳統情況下存儲數據的有效性和真實性基本上都是由中心系統或第三方實體的信任來決定的,譬如處于系統中心位置的主節點、核心地位的數據庫,這個可信度還取決于它們的維護者及其他因素。然而,若其中某一環節破壞了數據的真實性,那么這個失真的數據將會變得很難甄別。而通過不接受單一方面控制的去中心化和無需信任的方式,使得所有集體參與者得以共同擁有、管理和監督一個可靠新型數據架構的區塊鏈技術[1-3],無疑可以很好地解決這個問題。
就其實質而言,它是采取分布式技術與共識算法來構造出一個全新的信任機制,利用密碼學的方法相互關聯形成一串串的數據塊,一次網絡交易的數據就保存在一個對應的數據塊里面,起到驗證其數據的真實性并且產生一個新的區塊。簡單來說,區塊鏈就是一個交易賬本,而這個賬本是由全體參與者一起來維護的[4]。這個賬本數據的公開性可以讓全體參與者實現共同校驗交易與記賬的真實性,這樣的賬本有能力防止惡意篡改,成為全體參與者互信的橋梁。
區塊鏈主要有4種特征分別為:去中心化、時序數據、全體維護、可編程及真實可信等。簡而言之,去中心化與去信任的核心特征,可以達到很好地處理共享經濟在發展期間的信息不可避免的全球不對稱、人與人之間的互信問題、交易流程繁雜導致成本高昂等問題。因此,區塊鏈技術被稱為是激起第五次變革人類社會生產的技術。顯然,區塊鏈含有兩部分“數據塊”和“鏈接”,在每一數據塊都帶有著系統某時段內所加密過的交易備用數據;鏈接便是上一個區塊鏈接到下一個區塊的數據關系,這兩部分形成了區塊鏈。一個系統在某個指定時段所有進行過的數據都在一個特定的區塊中,故而,每個區塊都處于同等的地位,某一區塊的損壞并不造成整個系統的安全問題,因此,區塊鏈也具有去中心化、可靠數據庫的特征;同時,每個區塊也都包含了整個系統內的全部信息。如此,也許能夠通過交叉驗證數據的真實性,進一步保障區塊鏈中[5]數據的有效性,又兼有去信任、集體維護的典型特征。
20世紀60年代,傳統文件方式已經難以適應處理巨大信息數據,數據庫技術順應需求而產生。指數式增長的數據左右著人們的決斷,數據交換量速度的極大膨脹,不利于快速有效地進行決策,故而,人們需要繼續拓展數據庫處理技術。伴隨著互聯網的產生,人們對數據的處理能力發生了巨大變化。
數據倉儲(Data Warehouse,DW)概念的創始人W.H.Inmom認為:數據倉儲是面向主題的、集成的、穩定的、隨時間變化的數據集合。數據倉儲技術是為了創立一種體系化的數據存儲空間,也是對原生數據的再次加工與處理,進而生成能夠用來進行數據分析的技術。
數據倉庫是面向主題的數據集合,具有相對穩定性且能夠反映歷史變化。首先,從面向事務處理任務的數據庫中組織數據,根據特定的主題領域處理數據倉庫中的數據,以主題為基礎對不同領域的數據進行分類。其次,數據是在對原數據的抽取、清理后,二次加工得到的。數據倉庫主要供企業決策分析,數據需要按時的更新。最后,系統記錄了服務對象各個時段的數據,由此,可以利用不同時段的數據對研究對象進行分析,并進行發展趨勢的預測。
現代高校圖書館的知識與大數據技術[6]的高度融合、發展迅速,故而,如何進行圖書館館藏資源的高效處理、維護和利用顯得尤為重要,這也是其發展中不得不處理的關鍵所在。數據倉儲技術在科學數字圖書館的基礎工作中起著決定性作用。數據倉庫為圖書館信息檢索和檢索服務提供數據載體,還能夠提供各種圖書訂購渠道等。當下,讀者提出的檢索范圍要求具有不斷擴大的知識領域還有知識難度增加等特點。如此,要滿足讀者要求,就需要圖書館從業人員有廣泛的知識,強大的專業技能,重中之重是精通信息技術。數據倉儲技術能夠為數字圖書館的建立和開發提供有力的技術支持。
分布式數據庫系統技術[7]是基于以下假定,第一個假定是使每個站點上的計算機是專用工作站或服務器。在數據庫管理中,數據服務器可采用計算機來進行并行處理具有優越性,能夠增強整體性能。第二個假定是在并行數據服務器中采取分布式數據庫技術。數據庫技術的發展推進了對于新應用領域的支持。這些應用領域需要多方面性能的改進。數據倉庫的建立是基于更加全面和完整的信息應用基礎,目的是在高層次的決策分析中起到支持作用,事務處理庫負責企業信息中的常規性運營任務。
分布式數據庫系統,在于高功能計算機系統可以由幾個較小和功能較弱的計算機系統代替。在于每一個站點可以由相同的局部系統管理,每一個站點都要設法實現全局數據目錄,分布數據定義和控制,分布查詢處理和分布事務管理。通過高速互聯總線和并行處理,可以增強性能,即提高吞吐率,吞吐率可以用每秒處理聯機事務的個數來度量。由于這個指標與數據的分片站點個數成線性關系,數據分片站點個數增加一倍將導致吞吐率增加一倍。這一性能的改進可以通過采用如下兩個方案得到解決。第一,數據應該被精心地分片和定位于多個站點上,這樣在處理分布式查詢時可以達到最大程度的并行性。第二,分布式數據管理[8]應該利用分布式數據庫操作系統有效地進行支持。可擴展性是指當增加新站點時能平滑地擴展系統。與同構分布式數據庫系統類似,不管它們的規模大小,都可采用同樣的管理模式。
在數據倉庫中存在不同級別的集成,通常稱為“粒度”。粒度越大,能描述的細節水平越低,集成度越高。劃分粒度是數據倉庫設計中的一個關鍵問題。在數據倉庫環境中,主要使用分析處理的類型,層次結構的詳細程度直接影響數據倉庫中的數據量和相應的查詢類型。使用分段數據的優點是查詢只對必要的數據段進行切割存取,并且可以從表中快速地添加或刪除整個數據段。科學數字圖書館的數據倉庫只需存儲活動的,以及最近的存取數據,這能夠顯著減少數據倉庫的維護負擔。經過數據倉庫技術的分析很容易發現,數據倉庫的強大數據處理能力和穩定性能夠有效促進高校圖書館館藏資源的開發利用。
互聯網使全球互動日益緊密,隨之而來的便是信息的可靠性以及信任問題。如今,現存的核心數據庫架構是私有的、分散的,在這種情況下,傳遞價值和互信的問題自然難以解決。故而,區塊鏈技術無疑能夠成為新的數據倉儲架構,并且能夠很好地解決這個難題。區塊鏈技術能夠使得科學數字圖書館系統建設模式拓展到更大的領域范圍,如全國數字圖書平臺,管理人員通過基于區塊鏈開放式界面開發本圖書館的應用系統,并能夠補充館中書籍數據的上傳和導入。所有對區塊鏈的訪問都是通過公鑰和私鑰進行,公鑰是授權用戶(如圖書館)訪問數據的權限,私鑰是個人用戶對其數字圖書數據的許可權。區塊鏈的分布式數據存儲以及去中心化可以使數據更安全可靠。

圖1 基于區塊鏈技術的圖書館數據倉儲
發送區塊鏈的鏈上圖書數據交易鏈上的交易是指進入圖書館數據倉儲區塊鏈記錄的去中心化、防篡改的交易。在區塊鏈中存入數字簽名時,能夠利用哈希算法先獲取一串定長的字符串,也就是該用戶上傳的數字簽名。然后,在區塊鏈上進行的圖書信息的交易數據,將數字簽名保存到區塊鏈上。流程如下:設定圖書館用戶發送方為主公鑰的地址,收款方為提供數據資源的用戶方的公鑰地址;在主公鑰地址上檢索并選擇輸出一個適當的交易項,然后,把這個數字簽名存入數據庫中。驗證首先對待上傳的數據進行封包,這個簽名的依據是把私鑰地址與數據先匹配分析,然后把所得結果再進行哈希運算;其次,可以選用公鑰地址及簽名對數據的有效性進行校驗。在圖2中節點A可以直接把交易發送給節點C,然后,區塊鏈中的全體節點共同確認再一起驗證這筆交易的真實性,繼而便可以在更新公共總賬后,最后全體的節點一起同步一下最新的總賬。這樣交易真實性可以通過加密過的算法來保證賬本一致,這樣維護好這一條總賬便能夠實現數據的真實有效。得到一個區塊鏈的“交易縮影”值就可以生成新的區塊鏈。

圖2 圖書館數據更新流程
在基于區塊鏈基礎上構建的科學數字圖書館數據倉儲中,相鄰的區塊之間必然是依照時序銜接而成。每個區塊都可以引用前面相鄰的區塊結構,這樣能夠使所有的區塊構成一個長鏈狀的分布式數據鏈。從第一個區塊起,到最近時期產生的區塊為止,系統內所有的歷史交易數據都保存在了區塊鏈上。為我們提供了數據倉儲內記錄的每一筆數據的查找功能,區塊鏈上的每筆交易數據都能夠利用區塊鏈的結構來找到原始數據,從而驗證數據的真實性。此外,區塊鏈的數據倉儲能夠利用時間點在每一個區塊上進行記賬,來表示這個數據的錄入時間,形成一個不可偽造的數據倉儲。這樣可以保證數據質量,而且偽造成本高,如此可以實現數據倉儲的質量控制。
基于區塊鏈的圖書館數據倉儲中交流數據的驗證、存儲和維護等過程采取分布式的系統結構,選取分布式各個節點間的去信任的關系,來產生去中心化的真實有效性的分布式系統。在圖書館的圖書交易中,各個用戶與館員可以在該模型系統中進行信息交流并系統能夠通過共識算法來選取特定的節點將新信息流數據區塊添加到區塊鏈中。特殊的圖書館用戶還能夠利用區塊鏈技術可編輯的腳本代碼系統來創建新的交易類型等。譬如,Ethereum平臺即供給用戶創建能夠實現更加精細化的交易類型的圖靈腳本代碼。
科學數字圖書館是大數據信息化技術的一個綜合性極強的集成系統。數據倉儲技術與區塊鏈技術的結合為擁有大量的科學數字資源的圖書館提供了長期數據保留的安全性和效率的保障。