基于区块链技术的图书馆科学数据仓储模型研究
2018-08-22姚敏
姚 敏
(重庆图书馆,重庆 400037)
随着互联网、物联网和云计算的极速发展,社会早已步入知识信息经济时代。信息网络无疑是知识经济发展的基础,而它的核心是信息来源,即数字图书馆。基于通信技术、计算机网络技术和数字化信息,构建一个交互可拓展的平台、大规模的知识库集群。爆炸式增长的数据规模,也为构建安全、可靠、大规模的新型图书馆科学数据仓储提出了新的机遇和挑战。在大数据背景下,如何保障数据的真实性和较高要求的数据存储容量,如何更有力地保护用户的安全性和隐私性,对于数字图书馆科学数据仓储性能的要求更高。在《中国区块链技术和应用发展白皮书2016》中,区块链(Blockchain)是采取分布式数据存储技术、共识机制、点对点传输、加密算法等计算机技术的新型模式。区块链科学研究所创始人Melanie Swan认为,区块链本质上是一个公开账本,有潜力实现全球性的、去中心化的有形和无形资产的登记、编册和转让记录。区块链技术在数据管理、数据保护、用户隐私保护等方面,为建立新型图书馆科学数据仓储指明了新的发展方向。
1 区块链技术基本原理
1.1 区块链技术简介
传统情况下存储数据的有效性和真实性基本上都是由中心系统或第三方实体的信任来决定的,譬如处于系统中心位置的主节点、核心地位的数据库,这个可信度还取决于它们的维护者及其他因素。然而,若其中某一环节破坏了数据的真实性,那么这个失真的数据将会变得很难甄别。而通过不接受单一方面控制的去中心化和无需信任的方式,使得所有集体参与者得以共同拥有、管理和监督一个可靠新型数据架构的区块链技术[1-3],无疑可以很好地解决这个问题。
就其实质而言,它是采取分布式技术与共识算法来构造出一个全新的信任机制,利用密码学的方法相互关联形成一串串的数据块,一次网络交易的数据就保存在一个对应的数据块里面,起到验证其数据的真实性并且产生一个新的区块。简单来说,区块链就是一个交易账本,而这个账本是由全体参与者一起来维护的[4]。这个账本数据的公开性可以让全体参与者实现共同校验交易与记账的真实性,这样的账本有能力防止恶意篡改,成为全体参与者互信的桥梁。
1.2 区块链的主要特征
区块链主要有4种特征分别为:去中心化、时序数据、全体维护、可编程及真实可信等。简而言之,去中心化与去信任的核心特征,可以达到很好地处理共享经济在发展期间的信息不可避免的全球不对称、人与人之间的互信问题、交易流程繁杂导致成本高昂等问题。因此,区块链技术被称为是激起第五次变革人类社会生产的技术。显然,区块链含有两部分“数据块”和“链接”,在每一数据块都带有着系统某时段内所加密过的交易备用数据;链接便是上一个区块链接到下一个区块的数据关系,这两部分形成了区块链。一个系统在某个指定时段所有进行过的数据都在一个特定的区块中,故而,每个区块都处于同等的地位,某一区块的损坏并不造成整个系统的安全问题,因此,区块链也具有去中心化、可靠数据库的特征;同时,每个区块也都包含了整个系统内的全部信息。如此,也许能够通过交叉验证数据的真实性,进一步保障区块链中[5]数据的有效性,又兼有去信任、集体维护的典型特征。
2 图书馆科学数据仓储分析
20世纪60年代,传统文件方式已经难以适应处理巨大信息数据,数据库技术顺应需求而产生。指数式增长的数据左右着人们的决断,数据交换量速度的极大膨胀,不利于快速有效地进行决策,故而,人们需要继续拓展数据库处理技术。伴随着互联网的产生,人们对数据的处理能力发生了巨大变化。
2.1 数据仓储的概念
数据仓储(Data Warehouse,DW)概念的创始人W.H.Inmom认为:数据仓储是面向主题的、集成的、稳定的、随时间变化的数据集合。数据仓储技术是为了创立一种体系化的数据存储空间,也是对原生数据的再次加工与处理,进而生成能够用来进行数据分析的技术。
2.2 数据仓储的特点
数据仓库是面向主题的数据集合,具有相对稳定性且能够反映历史变化。首先,从面向事务处理任务的数据库中组织数据,根据特定的主题领域处理数据仓库中的数据,以主题为基础对不同领域的数据进行分类。其次,数据是在对原数据的抽取、清理后,二次加工得到的。数据仓库主要供企业决策分析,数据需要按时的更新。最后,系统记录了服务对象各个时段的数据,由此,可以利用不同时段的数据对研究对象进行分析,并进行发展趋势的预测。
2.3 数据仓储技术在数字图书馆中的应用
现代高校图书馆的知识与大数据技术[6]的高度融合、发展迅速,故而,如何进行图书馆馆藏资源的高效处理、维护和利用显得尤为重要,这也是其发展中不得不处理的关键所在。数据仓储技术在科学数字图书馆的基础工作中起着决定性作用。数据仓库为图书馆信息检索和检索服务提供数据载体,还能够提供各种图书订购渠道等。当下,读者提出的检索范围要求具有不断扩大的知识领域还有知识难度增加等特点。如此,要满足读者要求,就需要图书馆从业人员有广泛的知识,强大的专业技能,重中之重是精通信息技术。数据仓储技术能够为数字图书馆的建立和开发提供有力的技术支持。
3 分布式科学数据存储的设计思路
3.1 分布式数据存储的设计
分布式数据库系统技术[7]是基于以下假定,第一个假定是使每个站点上的计算机是专用工作站或服务器。在数据库管理中,数据服务器可采用计算机来进行并行处理具有优越性,能够增强整体性能。第二个假定是在并行数据服务器中采取分布式数据库技术。数据库技术的发展推进了对于新应用领域的支持。这些应用领域需要多方面性能的改进。数据仓库的建立是基于更加全面和完整的信息应用基础,目的是在高层次的决策分析中起到支持作用,事务处理库负责企业信息中的常规性运营任务。
3.2 数据存储的整体架构
分布式数据库系统,在于高功能计算机系统可以由几个较小和功能较弱的计算机系统代替。在于每一个站点可以由相同的局部系统管理,每一个站点都要设法实现全局数据目录,分布数据定义和控制,分布查询处理和分布事务管理。通过高速互联总线和并行处理,可以增强性能,即提高吞吐率,吞吐率可以用每秒处理联机事务的个数来度量。由于这个指标与数据的分片站点个数成线性关系,数据分片站点个数增加一倍将导致吞吐率增加一倍。这一性能的改进可以通过采用如下两个方案得到解决。第一,数据应该被精心地分片和定位于多个站点上,这样在处理分布式查询时可以达到最大程度的并行性。第二,分布式数据管理[8]应该利用分布式数据库操作系统有效地进行支持。可扩展性是指当增加新站点时能平滑地扩展系统。与同构分布式数据库系统类似,不管它们的规模大小,都可采用同样的管理模式。
3.3 分布式数据存储的切片分析
在数据仓库中存在不同级别的集成,通常称为“粒度”。粒度越大,能描述的细节水平越低,集成度越高。划分粒度是数据仓库设计中的一个关键问题。在数据仓库环境中,主要使用分析处理的类型,层次结构的详细程度直接影响数据仓库中的数据量和相应的查询类型。使用分段数据的优点是查询只对必要的数据段进行切割存取,并且可以从表中快速地添加或删除整个数据段。科学数字图书馆的数据仓库只需存储活动的,以及最近的存取数据,这能够显著减少数据仓库的维护负担。经过数据仓库技术的分析很容易发现,数据仓库的强大数据处理能力和稳定性能够有效促进高校图书馆馆藏资源的开发利用。
4 基于区块链的图书馆科学数据仓储模型设计
4.1 建立基于区块链的图书馆数据仓储
互联网使全球互动日益紧密,随之而来的便是信息的可靠性以及信任问题。如今,现存的核心数据库架构是私有的、分散的,在这种情况下,传递价值和互信的问题自然难以解决。故而,区块链技术无疑能够成为新的数据仓储架构,并且能够很好地解决这个难题。区块链技术能够使得科学数字图书馆系统建设模式拓展到更大的领域范围,如全国数字图书平台,管理人员通过基于区块链开放式界面开发本图书馆的应用系统,并能够补充馆中书籍数据的上传和导入。所有对区块链的访问都是通过公钥和私钥进行,公钥是授权用户(如图书馆)访问数据的权限,私钥是个人用户对其数字图书数据的许可权。区块链的分布式数据存储以及去中心化可以使数据更安全可靠。
图1 基于区块链技术的图书馆数据仓储
4.2 数据更新的数据存储新区块链的生成
发送区块链的链上图书数据交易链上的交易是指进入图书馆数据仓储区块链记录的去中心化、防篡改的交易。在区块链中存入数字签名时,能够利用哈希算法先获取一串定长的字符串,也就是该用户上传的数字签名。然后,在区块链上进行的图书信息的交易数据,将数字签名保存到区块链上。流程如下:设定图书馆用户发送方为主公钥的地址,收款方为提供数据资源的用户方的公钥地址;在主公钥地址上检索并选择输出一个适当的交易项,然后,把这个数字签名存入数据库中。验证首先对待上传的数据进行封包,这个签名的依据是把私钥地址与数据先匹配分析,然后把所得结果再进行哈希运算;其次,可以选用公钥地址及签名对数据的有效性进行校验。在图2中节点A可以直接把交易发送给节点C,然后,区块链中的全体节点共同确认再一起验证这笔交易的真实性,继而便可以在更新公共总账后,最后全体的节点一起同步一下最新的总账。这样交易真实性可以通过加密过的算法来保证账本一致,这样维护好这一条总账便能够实现数据的真实有效。得到一个区块链的“交易缩影”值就可以生成新的区块链。
图2 图书馆数据更新流程
4.3 区块链数据仓储维护的质量控制
在基于区块链基础上构建的科学数字图书馆数据仓储中,相邻的区块之间必然是依照时序衔接而成。每个区块都可以引用前面相邻的区块结构,这样能够使所有的区块构成一个长链状的分布式数据链。从第一个区块起,到最近时期产生的区块为止,系统内所有的历史交易数据都保存在了区块链上。为我们提供了数据仓储内记录的每一笔数据的查找功能,区块链上的每笔交易数据都能够利用区块链的结构来找到原始数据,从而验证数据的真实性。此外,区块链的数据仓储能够利用时间点在每一个区块上进行记账,来表示这个数据的录入时间,形成一个不可伪造的数据仓储。这样可以保证数据质量,而且伪造成本高,如此可以实现数据仓储的质量控制。
4.4 优化区块链数据仓储模型结构
基于区块链的图书馆数据仓储中交流数据的验证、存储和维护等过程采取分布式的系统结构,选取分布式各个节点间的去信任的关系,来产生去中心化的真实有效性的分布式系统。在图书馆的图书交易中,各个用户与馆员可以在该模型系统中进行信息交流并系统能够通过共识算法来选取特定的节点将新信息流数据区块添加到区块链中。特殊的图书馆用户还能够利用区块链技术可编辑的脚本代码系统来创建新的交易类型等。譬如,Ethereum平台即供给用户创建能够实现更加精细化的交易类型的图灵脚本代码。
5 结语
科学数字图书馆是大数据信息化技术的一个综合性极强的集成系统。数据仓储技术与区块链技术的结合为拥有大量的科学数字资源的图书馆提供了长期数据保留的安全性和效率的保障。