CN113392144A - 基于区块链的博物馆业务数据存储、查询方法及*** - Google Patents
基于区块链的博物馆业务数据存储、查询方法及*** Download PDFInfo
- Publication number
- CN113392144A CN113392144A CN202110950541.0A CN202110950541A CN113392144A CN 113392144 A CN113392144 A CN 113392144A CN 202110950541 A CN202110950541 A CN 202110950541A CN 113392144 A CN113392144 A CN 113392144A
- Authority
- CN
- China
- Prior art keywords
- data
- museum
- hash value
- service data
- block chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于区块链的博物馆业务数据存储、查询方法及***,所述存储方法采用分布式关系型数据库对包含博物馆业务数据和数据编号的全量数据进行链下存储,同时构建区块链网络,将全量数据哈希化得到的第一哈希值后同数据编号一起存储在区块链网络上;所述查询方法通过分布式关系型数据库查询和检索博物馆业务数据对应全量数据的同时,还在区块链网络上查询对应的第一哈希值,将博物馆业务数据对应全量数据进行哈希化后与第一哈希值进行对比,用于验证数据完整性和一致性,确认数据是否合法,防止数据被篡改。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于区块链的博物馆业务数据存储、查询方法及***。
背景技术
博物馆是经文物部门及相关行政部门审核批准,得到许可后获得法人资格并最终面向公众开放的。博物馆是藏品资源丰富、观赏性和文化价值并存的非营利性社会服务机构。博物馆的存在最初是为了将人类活动和大自然运转的见证物进行收藏、展示、保护、研究。长期以来,人们对博物馆的注重点通常集中于馆内的藏品,很少关注到博物馆的藏品背后的多元化异构数据,包括藏品自身的数字资产以及藏品的业务流程数据,比如藏品的出入库信息,藏品的提借和信息修改,这些都是保证藏品安全,实现数据共享交换的重要过程。藏品在进行业务流转的过程中,可能出现藏品丢失、藏品业务流程被篡改的问题,这种情况下保证博物馆藏品的数字资产数据和业务流程数据的安全性十分的重要,因此需要一种安全有效的博物馆业务数据存储和查询方法。
发明内容
本发明实施例提供了一种基于区块链的博物馆业务数据存储、查询方法及***,以消除或改善现有技术中存在的一个或更多个缺陷,实现对博物馆业务数据的安全存储和调用,防止数据篡改。
本发明的技术方案如下:
一方面,本发明提供一种基于区块链的博物馆业务数据存储方法,包括:
获取博物馆业务数据,并按照预设规则配置所述博物馆业务数据对应的数据编号;
将包含所述博物馆业务数据以及对应的数据编号的全量数据按照设定算法进行字符串哈希化得到第一哈希值;
将所述数据编号作为行键,将所述第一哈希值作为数值,构成键值对并通过区块链网络的节点存储至链上的键值数据库中;
将所述全量数据存储在所述区块链网络链下的分布式关系型数据库;
其中,链上存储的所述第一哈希值用于校验链下所述分布式关系型数据库中的全量数据的合法性。
在一些实施例中,将包含所述博物馆业务数据以及对应的数据编号的全量数据进行字符串哈希化得到第一哈希值,包括:将采用MD5加密方式对所述全量数据进行压缩加密,得到16位第一哈希值。
在一些实施例中,所述键值数据库为LevelDB数据库或CouchDB数据库。
在一些实施例中,所述分布式关系型数据库为TiDB数据库。
另一方面,本发明提供一种基于区块链的博物馆业务数据查询方法,包括:
采用上述基于区块链的博物馆业务数据存储方法中的分布式关系型数据库检索目标博物馆业务数据的全量数据;
将所述全量数据按照设定算法进行字符串哈希化得到第二哈希值;
获取所述全量数据中的数据编号,在上述基于区块链的博物馆业务数据存储方法的区块链网络的链上检索所述数据编号,查询对应的第一哈希值;
对比所述第一哈希值和所述第二哈希值,若一致则所述全量数据合法,提示验证通过,并输出所述目标博物馆业务数据的所述全量数据。
在一些实施例中,对比所述第一哈希值和所述第二哈希值之后,还包括:若不一致则所述全量数据非法,提示所述全量数据被篡改。
在一些实施例中,将所述全量数据进行字符串哈希化得到第二哈希值,包括:采用MD5加密方式对所述全量数据进行压缩加密,得到16位第二哈希值。
另一方面,本发明提供一种基于区块链的博物馆业务数据存储***,包括:
由多个网络节点组成的区块链网络,所述区块链网络构建并运行分布式账本,用于存储上述基于区块链的博物馆业务数据存储方法中各博物馆业务数据对应的数据编号和第一哈希值;
链下服务器,用于运行分布式关系型数据库,存储或查询上述基于区块链的博物馆业务数据存储方法中各博物馆业务数据对应的全量数据;其中,查询得到所述全量数据后,对所述全量数据进行字符串哈希化得到第三哈希值,根据所述全量数据中的数据编号检索所述区块链网络得到对应的第一哈希值;对比所述第一哈希值和所述第三哈希值,若一致则所述全量数据合法,提示验证通过,并输出所述全量数据。
在一些实施例中,所述区块链网络上的节点采用LevelDB数据库或CouchDB数据库存储所述数据编号和所述第一哈希值,所述分布式关系型数据库为TiDB数据库。
另一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述方法的步骤。
本发明的有益效果至少是:
所述基于区块链的博物馆业务数据存储、查询方法及***中,所述存储方法采用分布式关系型数据库对包含博物馆业务数据和数据编号的全量数据进行链下存储,同时构建区块链网络,将全量数据哈希化得到的第一哈希值后同数据编号一起存储在区块链网络上;所述查询方法通过分布式关系型数据库查询和检索博物馆业务数据对应全量数据的同时,还在区块链网络上查询对应的第一哈希值,将博物馆业务数据对应全量数据进行哈希化后与第一哈希值进行对比,用于验证数据完整性和一致性,确认数据是否合法,防止数据被篡改。
通过建立链下的分布式关系型数据库,对于大规模的数据存储,可以减轻区块链存储的区块压力,使得溯源的效率提升,查询的响应速度得到提升;分布式的结构对于多个博物馆节点的馆际数据共享和溯源的应用上有很大的扩展性,分布式集群的建立和多馆节点数据存储的建立相符合。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所述基于区块链的博物馆业务数据存储方法的逻辑示意图;
图2为本发明一实施例所述基于区块链的博物馆业务数据存储方法的流程示意图;
图3为本发明一实施例所述基于区块链的博物馆业务数据查询方法的流程示意图;
图4为本发明另一实施例所述基于区块链的博物馆业务数据存储方法的逻辑示意图;
图5为发明另一实施例所述基于区块链的博物馆业务数据查询方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
博物馆业务数据内容复杂,基于文物保护的高安全需求,对于博物馆业务数据流通的安全性和可追溯性要求较高,可以考虑引入区块链进行存储,以保证信息安全。区块链技术可以凭借去中心化、不可篡改和可追溯的特性,为博物馆数据共享提供一套安全可信的解决方案,以通过点对点的分布式账本、多点共识机制、智能合约和非对称加密等核心技术建立可信价值网络。但是,由于博物馆藏品数据不断增加,每日都有新的藏品业务流程数据上链,并且每个业务流程的数据具有异构性,如果将所有的数据都存储在区块链上,就会导致区块链负荷大,增加运行成本。而且,随着时间推移,节点数增加,总体的数据呈指数级增长,如果将数据都存储在区块链上,会使得查询效率低下。
因此,本申请提供一种基于区块链的博物馆业务数据存储、查询方法及***,用于构建基于区块链网络的链上和链下同步存储、查询方法和***,实现对博物馆业务数据的安全存储,同时利用链上数据对链下数据的完整性和安全性做校验。
具体的,需要预先说明的是,区块链是基于多个节点共同连接构成的一个共享数据库,存储于其中的数据或信息,具有“防伪”、“全程留痕”、“可以追溯”、“公开透明”和“集体维护”等特征。区块链的应用根据其链的开放程度和去中心化程度,分为公有链、联盟链和私有链。公有链上的各个节点可以自由加入和退出网络,并参加链上数据的读写,读写时以扁平的拓扑结构互联互通,网络中不存在任何中心化的服务端节点。联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络。各机构组织组成利益相关的联盟,共同维护区块链的健康运转。私有链中各个节点的写入权限收归内部控制,而读取权限可视需求有选择性地对外开放。基于联盟链和私有链的区块链项目主要使用超级账本(Hyperledger Fabric)。
超级账本(Hyperledger Fabric)是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计,与其他流行的分布式账本或区块链平台相比,Fabric 具有高度模块化和可配置的架构,可为各行各业的业务提供创新性、多样性和优化,并且Fabric 是第一个支持通用编程语言编写智能合约(如 Java、Go 和 Node.js)的分布式账本平台,也支持可插拔的共识协议,使得平台能够更有效地进行定制,以适应特定的业务场景和信任模型。由于博物馆内部的数据的隐私问题,只限于博物馆内部共享,因此本发明在构建区块链网络时可以采用超级账本技术来实现博物馆的应用。
具体的,本发明提供一种基于区块链的博物馆业务数据存储方法,用于在区块链网络链上和链下服务器上同步运行,如图1和图2所示,包括步骤S101~S104:
需要强调的是,本实施例中所述步骤S101~S104并不是对各步骤先后顺序的限定,应当理解为,在特定的应用场景下,各步骤可以并行或调换顺序。
S101:获取博物馆业务数据,并按照预设规则配置博物馆业务数据对应的数据编号。
S102:将包含博物馆业务数据以及对应的数据编号的全量数据按照设定算法进行字符串哈希化得到第一哈希值。
S103:将数据编号作为行键,将第一哈希值作为数值,构成键值对并通过区块链网络的节点存储至链上的键值数据库中。
S104:将全量数据存储在区块链网络链下的分布式关系型数据库。
其中,链上存储的第一哈希值用于校验链下所述分布式关系型数据库中的全量数据的合法性。
在步骤S101中,博物馆业务数据为多元化异构数据,异构数据体现在:计算机体系结构的异构、操作***异构、数据格式异构、数据存储地点异构和数据存储的逻辑模型异构。博物馆业务数据包括藏品自身的数字资料、图像资料等内容,还包括藏品业务流程数据,如藏品出入库记录,藏品的提借和信息修改等。由于文物保护过程中对安全的需求较高,这些博物馆业务数据对于安全性同样有较高的要求。在新的博物馆业务数据进行存储的过程中,采用预设规则配置为每一条数据配置相应的数据编号。所述预设规则可以是自定义的,按照设定的编码格式标记每一条数据,例如,可以采用14位编号标记,其中1~2位采用字符标记博物馆主体身份,3~8位标记年月日,9~10位标记时段,11~14位标数据序数,如“RT210721060036”表示代码为“RT”的博物馆在2021年7月21日第6时段内产生的第36条信息。在另一些实施例中,也可以采用其他规则生成编码。
在步骤S102中,将博物馆业务数据与其对应的数据编码进行连接,得到全量数据。由于数据编码是唯一的,因此,即使博物馆业务数据内容完全相同,其对应的全量数据也是唯一的。进一步地,对全量数据进行压缩加密后得到的数据也是唯一的。字符串哈希化是指将各种不同长度的数据转化映射为一个固定长度的数据,所谓映射是指一一对应,而且是单向的。对于给定数据M容易算出哈希值X,而给定X不能算出M。哈希化可以对仅有少量不同的数据输出完全不同的哈希值,对于校验数据的完整性具有极大优越性。
在一些实施例中,步骤S102中,将包含博物馆业务数据以及对应的数据编号的全量数据进行字符串哈希化得到第一哈希值,包括:将采用MD5加密方式对全量数据进行压缩加密,得到16位第一哈希值。在另一些实施例中,也可以采用其他哈希算法对数据做校验。
在步骤S103和步骤S104中,基于多节点构建的区块链网络,形成了能够分布式存储数据的去中心化、不可篡改和可追溯的数据网络。由于博物馆业务数据整体数据量较大,数据结构复杂,如果全部采用链上存储会导致查询效率极低。因此,本申请中,仅将博物馆业务数据对应的数据标号以及第一哈希值存储在链上,而将博物馆业务数据对应全量数据存储在链下的服务器中。链上的第一哈希值仅用于对链下数据的完整性、合法性做校验。在一些实施例中,链上的可以采用节点采用的键值数据库为LevelDB数据库或CouchDB数据库。LevelDB是谷歌开源的持久化键值单机数据库,具有很高的随机写,顺序读/写性能。CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档。这两种数据库类型对于存储和查询数据编号和第一哈希值的对照数据,具有良好的效果。
具体的,将数据编号作为行键,将第一哈希值作为数值构成键值对,并存储在区块链网络链上的键值数据库中。
进一步地,博物馆业务数据的全量数据存储在链下服务器中,基于分布式关系型数据库进行存储。在一些实施例中,分布式关系型数据库为TiDB数据库。TiDB是开源分布式关系型数据库,具备水平扩容或者缩容、金融级高可用、云原生的分布式数据库、兼容MySQL5.7协议和MySQL生态等重要特性,适合高可用、强一致要求较高、数据规模较大等各种应用场景。
并且由于TiDB是分布式的数据库,可以自定义集群的拓扑结构,在应用于生产环境中可以和区块链平台的节点进行配合使用。由于博物馆藏品数据和业务流程数据的异构性,查询方案的多样性也十分重要,如果只是采用和链上状态数据库一样的key-value查询方式,限制较多,而TiDB在底层的存储采用的是键值对方式,但是能够支持关系型数据库的查询方式,丰富区块链***的查询功能,优化查询方法。因此采用TiDB作为链下数据库,不仅减少了区块链上数据的存储负荷,也提高了查询的多样性。
另一方面,本发明提供一种基于区块链的博物馆业务数据查询方法,与步骤S101~S104相对应,用于在区块链网络链上和链下服务器上同步运行,如图3所示,包括步骤S201~S204:
需要强调的是,本实施例中所述步骤S201~S204并不是对各步骤先后顺序的限定,应当理解为,在特定的应用场景下,各步骤可以并行或调换顺序。
步骤S201:采用步骤S101~S104所述基于区块链的博物馆业务数据存储方法中的分布式关系型数据库检索目标博物馆业务数据的全量数据。
步骤S202:将全量数据按照设定算法进行字符串哈希化得到第二哈希值。
步骤S203:获取全量数据中的数据编号,在步骤S101~S104所述基于区块链的博物馆业务数据存储方法的区块链网络的链上检索数据编号,查询对应的第一哈希值。
步骤S204:对比第一哈希值和第二哈希值,若一致则全量数据合法,提示验证通过,并输出目标博物馆业务数据的全量数据。
在步骤S201中,由于目标博物馆业务数据的全量数据是记载在链下的,因此,对于全量数据的获取需要首先检索链下的分布式关系型数据库。在得到目标博物馆业务数据的全量数据之后,需要进一步利用区块链网络上记载的账本,对全量数据进行校验,以确保数据的完整性和合法性。
在步骤S202中,将链下分布式关系型数据库中检索到的全量数据按照设定算法进行字符串哈希化得到第二哈希值,用于验证。其中设定算法应当与步骤S102中计算第一哈希值的算法相同。具体的,将全量数据进行字符串哈希化得到第二哈希值,包括:采用MD5加密方式对全量数据进行压缩加密,得到16位第二哈希值。
在步骤S203中,获取全量数据中记载的数据编号,并基于该编号到区块链网络的链上进行搜索查询目标博物馆业务数据在链上的第一哈希码。
在步骤S204中,通过对比第一哈希值和第二哈希值,确定链下所查到目标博物馆业务数据的全量数据的合法性。如果一致,则表明该全量数据与写入时的完全相同,是合法的,没有经过篡改,也没有数据丢失。相应的,步骤S204中,对比第一哈希值和第二哈希值之后,还包括:若不一致则全量数据非法,提示全量数据被篡改。
另一方面,本发明提供一种基于区块链的博物馆业务数据存储***,包括:
由多个网络节点组成的区块链网络,区块链网络构建并运行分布式账本,用于存储步骤S101~S104所述基于区块链的博物馆业务数据存储方法中各博物馆业务数据对应的数据编号和第一哈希值。
链下服务器,用于运行分布式关系型数据库,存储或查询步骤S101~S104所述基于区块链的博物馆业务数据存储方法中各博物馆业务数据对应的全量数据;其中,查询得到全量数据后,对全量数据进行字符串哈希化得到第三哈希值,根据全量数据中的数据编号检索区块链网络得到对应的第一哈希值;对比第一哈希值和第三哈希值,若一致则全量数据合法,提示验证通过,并输出所述全量数据。
在本实施例中,网络节点组成的区块链网络可以构建超级账本(HyperledgerFabric),该超级账本是分布式账本解决方案的平台,采用模块化架构,提供高安全性、弹性、灵活性和可扩展性。它被设计为支持以可插拔方式实现不同组件,并适应复杂的经济生态***。为了支持以同样的方式更新信息,并启控制账本所有的功能(交易,查询等),区块链网络使用智能合约来提供对账本的受控访问,智能合约不仅是在网络中封装和简化信息的关键机制,它还可以被编写成自动执行参与者的特定交易的合约。建立共识机制,保持账本在整个网络中同步的过程称为共识,该过程确保账本仅在交易被相应参与者批准时更新,并且当账本更新时,各节点以相同的顺序更新相同的交易。区块链网络中的节点包括peer节点、order节点,Peer 是网络的基本元素,存储了账本和智能合约。Peer 节点可以被创建、启动、停止、重新配置甚至删除。他们暴露了一系列的 API(ApplicationProgramming Interface,应用程序接口),这就可以让管理者和应用程序同这些 API 提供的服务互动。Order节点是提供共识服务的网络节点,为网络中所有合法交易进行全局排序,并将一批排序后的交易组合生成区块结构。超级账本的通道是两个或多个特定网络成员之间通信的专用“子网”,用于进行私有和机密的交易。通道由成员(组织)、每个成员的锚点节点、共享账本、链码应用程序和排序服务节点定义。网络上的每个交易都在一个通道上执行,在这个通道上,每一方都必须经过身份认证和授权才能在该通道上进行交易。
在一些实施例中,区块链网络上的节点采用LevelDB数据库或CouchDB数据库存储数据编号和第一哈希值,分布式关系型数据库为TiDB数据库。
另一方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述方法的步骤。
下面结合一具体实施例对本发明进行说明:
本实施例提供一种基于区块链的博物馆业务数据存储和查询方法,通过构建区块链网络并结合链下服务器运行,整个***包括链上存储模块和链下存储模块。链上存储模块设置并运行区块链状态数据库,链下存储模块设置并运行链下分布式数据库。
其中,对于链上存储模块,本实施例采用的区块链平台为超级账本平台,超级账本平台的存储又分为链上节点的状态数据库存储和链上区块交易信息存储。链上存储的节点主要采用peer节点,在docker上部署了peer节点后,同一个通道内的peer节点会保证数据的一致性,保证各自的数据库存储的数据是相同的。Peer节点上可供采用的数据库为LevelDB数据库和CouchDB数据库,两者都是键值对形式进行数据的存储,对于json类型的数据存储较为方便。CouchDB相比LevelDB数据库增加了数据查询的功能,根据一个key的部分关键字可以查询到多个结果。链上区块存储的排序服务主要用到了order节点,order节点负责传递给区块链的交易进行排序,当一个数据的信息根据智能合约的规则形成交易发送到区块链网络时,order节点会进行预处理,通知所有的peer节点,根据背书策略来判断交易是否通过,只有通过的交易能存入全部peer节点的状态数据库当中,而全部交易都会存储在区块链上,形成日志。为了获取有效的数据,保证数据的正确性,采用CouchDB作为peer节点的链上状态数据库,负责存储压缩后博物馆藏品数据和藏品业务流程数据,相比全量数据的上链,减少区块链存储的负荷和优化了查询的效率。
在数据存储过程中,如图4所示,链上存储模块的工作步骤包括:先从浏览器、客户端接口获取到需要进行上链的藏品数据,添加数据编号形成全量数据,将藏品数据对应的全量数据进行字符连接,形成一个字符串,由于藏品数据的编号是唯一的,即使其他数据相同,压缩加密后的数据也是唯一的。考虑区块链存储的长度,压缩过程采用MD5加密方式,将全部数据的字符串哈希化为16位的hash码,然后执行智能合约,将藏品数据的数据编号作为key值,将加密后的hash码作为value值,形成键值对存储到区块链上。而将藏品数据的全量数据存储在链下存储模块中。
对于链下存储模块,选用TiDB数据库作为链下数据库存储,TiDB是开源分布式关系型数据库,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性,适合高可用、强一致要求较高、数据规模较大等各种应用场景。并且由于TiDB是分布式的数据库,可以自定义集群的拓扑结构,在应用于生产环境中可以和区块链平台的节点进行配合使用。由于博物馆藏品数据和业务流程数据的异构性,查询方案的多样性也十分重要,如果只是采用和链上状态数据库一样的key-value查询方式,限制较多,而TiDB在底层的存储采用的是键值对方式,但是能够支持关系型数据库的查询方式,丰富区块链***的查询功能,优化查询方法。因此采用TiDB作为链下数据库,不仅减少了区块链上数据的存储负荷,也提高了查询的多样性。
在查询过程中,如图5所示,由于将博物馆藏品和藏品业务流程的全量数据存储在区块链下,为了保证利用区块链技术的防篡改特性,在每次对数据进行查询的过程中,将存储在链下存储模块的TiDB数据库中的藏品数据对应的全量数据进行字符串拼接,再进行和上链同样的MD5加密,根据得到的hash值和根据数据编号(key)到区块链上状态数据库查询,得到该藏品数据的记载在链上的hash值(value),并进行对比,如果两者不一致,证明该藏品数据被篡改,发生了变化。
具体的,对于链上区块链网络和链下数据库的搭建,包括步骤1)~3):
1)搭建区块链Hyperdger Fabric平台:在服务器上安装docker和docker-compose,编写configtx.yaml配置文件,利用configtxgen工具生成区块链***链码的创世区块、新建通道的配置文件、以及组织中锚节点的配置文件,配置Fabric ca生成区块链网络中相应用户的相关证书文件,创建应用的通道,再将docker中部署的节点加入通道,在对应的节点上安装链码,即超级账本的智能合约。
2)部署链下数据库:在服务器上安装Mysql之后,使用TiUP,根据初始化集群拓扑的配置文件部署TiDB集群,使用该TiDB数据库作为博物馆区块链链下数据库,存储博物馆藏品和其业务流程的全量数据。
3)部署项目的前后端:使用SpringBoot搭建后端框架,整合Mybatis,完成Service层,传入博物馆藏品数据时,把藏品全量数据存入链下的TiDB数据库中,再进行MD5加密,把藏品全量数据hash化后存入区块链上。
综上所述,所述基于区块链的博物馆业务数据存储、查询方法及***中,所述存储方法采用分布式关系型数据库对包含博物馆业务数据和数据编号的全量数据进行链下存储,同时构建区块链网络,将全量数据哈希化得到的第一哈希值后同数据编号一起存储在区块链网络上;所述查询方法通过分布式关系型数据库查询和检索博物馆业务数据对应全量数据的同时,还在区块链网络上查询对应的第一哈希值,将博物馆业务数据对应全量数据进行哈希化后与第一哈希值进行对比,用于验证数据完整性和一致性,确认数据是否合法,防止数据被篡改。
通过建立链下的分布式关系型数据库,对于大规模的数据存储,可以减轻区块链存储的区块压力,使得溯源的效率提升,查询的响应速度得到提升;分布式的结构对于多个博物馆节点的馆际数据共享和溯源的应用上有很大的扩展性,分布式集群的建立和多馆节点数据存储的建立相符合。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、***和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链的博物馆业务数据存储方法,其特征在于,包括:
获取博物馆业务数据,并按照预设规则配置所述博物馆业务数据对应的数据编号;
将包含所述博物馆业务数据以及对应的数据编号的全量数据按照设定算法进行字符串哈希化得到第一哈希值;
将所述数据编号作为行键,将所述第一哈希值作为数值,构成键值对并通过区块链网络的节点存储至链上的键值数据库中;
将所述全量数据存储在所述区块链网络链下的分布式关系型数据库;
其中,链上存储的所述第一哈希值用于校验链下所述分布式关系型数据库中的全量数据的合法性。
2.根据权利要求1所述的基于区块链的博物馆业务数据存储方法,其特征在于,将包含所述博物馆业务数据以及对应的数据编号的全量数据进行字符串哈希化得到第一哈希值,包括:
将采用MD5加密方式对所述全量数据进行压缩加密,得到16位第一哈希值。
3.根据权利要求1所述的基于区块链的博物馆业务数据存储方法,其特征在于,所述键值数据库为LevelDB数据库或CouchDB数据库。
4.根据权利要求1所述的基于区块链的博物馆业务数据存储方法,其特征在于,所述分布式关系型数据库为TiDB数据库。
5.一种基于区块链的博物馆业务数据查询方法,其特征在于,包括:
采用如权利要求1至4任意一项所述基于区块链的博物馆业务数据存储方法中的分布式关系型数据库检索目标博物馆业务数据的全量数据;
将所述全量数据按照设定算法进行字符串哈希化得到第二哈希值;
获取所述全量数据中的数据编号,在如权利要求1至4任意一项所述基于区块链的博物馆业务数据存储方法的区块链网络的链上检索所述数据编号,查询对应的第一哈希值;
对比所述第一哈希值和所述第二哈希值,若一致则所述全量数据合法,提示验证通过,并输出所述目标博物馆业务数据的所述全量数据。
6.根据权利要求5所述的基于区块链的博物馆业务数据查询方法,其特征在于,对比所述第一哈希值和所述第二哈希值之后,还包括:若不一致则所述全量数据非法,提示所述全量数据被篡改。
7.根据权利要求5所述的基于区块链的博物馆业务数据查询方法,其特征在于,将所述全量数据进行字符串哈希化得到第二哈希值,包括:采用MD5加密方式对所述全量数据进行压缩加密,得到16位第二哈希值。
8.一种基于区块链的博物馆业务数据存储***,其特征在于,包括:
由多个网络节点组成的区块链网络,所述区块链网络构建并运行分布式账本,用于存储权利要求1至4任意一项所述基于区块链的博物馆业务数据存储方法中各博物馆业务数据对应的数据编号和第一哈希值;
链下服务器,用于运行分布式关系型数据库,存储或查询权利要求1至4任意一项所述基于区块链的博物馆业务数据存储方法中各博物馆业务数据对应的全量数据;其中,查询得到所述全量数据后,对所述全量数据进行字符串哈希化得到第三哈希值,根据所述全量数据中的数据编号检索所述区块链网络得到对应的第一哈希值;对比所述第一哈希值和所述第三哈希值,若一致则所述全量数据合法,提示验证通过,并输出所述全量数据。
9.根据权利要求8所述的基于区块链的博物馆业务数据存储***,其特征在于,所述区块链网络上的节点采用LevelDB数据库或CouchDB数据库存储所述数据编号和所述第一哈希值,所述分布式关系型数据库为TiDB数据库。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110950541.0A CN113392144A (zh) | 2021-08-18 | 2021-08-18 | 基于区块链的博物馆业务数据存储、查询方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110950541.0A CN113392144A (zh) | 2021-08-18 | 2021-08-18 | 基于区块链的博物馆业务数据存储、查询方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113392144A true CN113392144A (zh) | 2021-09-14 |
Family
ID=77623000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110950541.0A Pending CN113392144A (zh) | 2021-08-18 | 2021-08-18 | 基于区块链的博物馆业务数据存储、查询方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113392144A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547641A (zh) * | 2022-01-05 | 2022-05-27 | 山东浪潮工业互联网产业股份有限公司 | 一种基于区块链的工业数据追踪方法、装置、设备及介质 |
CN115438046A (zh) * | 2022-08-25 | 2022-12-06 | 北京万里开源软件有限公司 | 一种基于htap数据库的分布式储存方法 |
CN116611851A (zh) * | 2023-07-18 | 2023-08-18 | 四川远方云天食品科技有限公司 | 一种基于区块链的火锅底料产品溯源方法和*** |
WO2023178728A1 (zh) * | 2022-03-24 | 2023-09-28 | 香港大学深圳研究院 | 一种博物馆文物可追溯方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180025181A1 (en) * | 2016-07-21 | 2018-01-25 | Acronis International Gmbh | System and method for verifying data integrity using a blockchain network |
CN107728941A (zh) * | 2017-09-28 | 2018-02-23 | 中国银行股份有限公司 | 一种区块链数据压缩方法及*** |
CN108573741A (zh) * | 2017-12-25 | 2018-09-25 | 北京金山云网络技术有限公司 | 业务数据记录方法、装置、设备和存储介质 |
CN111259448A (zh) * | 2020-01-17 | 2020-06-09 | 中国建设银行股份有限公司 | 一种数据共享方法和装置 |
CN111339206A (zh) * | 2020-03-11 | 2020-06-26 | 中国建设银行股份有限公司 | 一种基于区块链的数据共享方法和装置 |
-
2021
- 2021-08-18 CN CN202110950541.0A patent/CN113392144A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180025181A1 (en) * | 2016-07-21 | 2018-01-25 | Acronis International Gmbh | System and method for verifying data integrity using a blockchain network |
CN107728941A (zh) * | 2017-09-28 | 2018-02-23 | 中国银行股份有限公司 | 一种区块链数据压缩方法及*** |
CN108573741A (zh) * | 2017-12-25 | 2018-09-25 | 北京金山云网络技术有限公司 | 业务数据记录方法、装置、设备和存储介质 |
CN111259448A (zh) * | 2020-01-17 | 2020-06-09 | 中国建设银行股份有限公司 | 一种数据共享方法和装置 |
CN111339206A (zh) * | 2020-03-11 | 2020-06-26 | 中国建设银行股份有限公司 | 一种基于区块链的数据共享方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547641A (zh) * | 2022-01-05 | 2022-05-27 | 山东浪潮工业互联网产业股份有限公司 | 一种基于区块链的工业数据追踪方法、装置、设备及介质 |
CN114547641B (zh) * | 2022-01-05 | 2024-04-26 | 浪潮工业互联网股份有限公司 | 一种基于区块链的工业数据追踪方法、装置、设备及介质 |
WO2023178728A1 (zh) * | 2022-03-24 | 2023-09-28 | 香港大学深圳研究院 | 一种博物馆文物可追溯方法及*** |
CN115438046A (zh) * | 2022-08-25 | 2022-12-06 | 北京万里开源软件有限公司 | 一种基于htap数据库的分布式储存方法 |
CN116611851A (zh) * | 2023-07-18 | 2023-08-18 | 四川远方云天食品科技有限公司 | 一种基于区块链的火锅底料产品溯源方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893584B2 (en) | Constraining injection of unlocking transaction bytecode | |
US20230122875A1 (en) | User controlled storage and sharing of personal user information on a blockchain | |
CN113392144A (zh) | 基于区块链的博物馆业务数据存储、查询方法及*** | |
JP6830549B2 (ja) | ブロックチェーンのワールドステートマークルパトリシアトライ(world state merkle patricia trie)サブツ | |
CN110135986B (zh) | 一种基于区块链智能合约实现的可搜索加密文件数据方法 | |
CN103595730B (zh) | 一种密文云存储方法和*** | |
US20190288847A1 (en) | Industrial data verification using secure, distributed ledger | |
Das et al. | A secure and distributed construction document management system using blockchain | |
CN115769241A (zh) | 针对经许可的区块链的隐私保护架构 | |
Yadav et al. | KYC optimization using blockchain smart contract technology | |
CN112287033B (zh) | 一种数据同步方法、设备以及计算机可读存储介质 | |
Wrona et al. | Use of blockchains for secure binding of metadata in military applications of IoT | |
CN110942305A (zh) | 基于区块链的不动产信息管理的方法和装置 | |
CN113627809A (zh) | 一种基于区块链的医疗废弃物监管***及方法 | |
CN112069529B (zh) | 基于区块链的卷宗管理方法、装置、计算机以及存储介质 | |
CN116846674A (zh) | 一种基于dag的高吞吐量分布式账本*** | |
CN112966049B (zh) | 一种基于区块链的资产管理*** | |
AU2021105866A4 (en) | A system and a method to augment development and information technology operations (devops) | |
CN116405188B (zh) | 一种基于区块链的保险投保流程数据存储方法及*** | |
Shi et al. | AUDITEM: toward an automated and efficient data integrity verification model using blockchain | |
US20230247018A1 (en) | System and method for secure electronic document exchange and execution of contracts via a secure electronic platform with biometric access verification | |
Peng | Application and research of blockchain technology in P2P network distributed data storage | |
Sonawane et al. | Enriching Trustworthy trade in Decentralized system using Blockchain | |
CN117786742A (zh) | 基于分布式控制与区块链的文档管理***及方法 | |
CN116089463A (zh) | 一种区块链中的全文搜索方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210914 |