一种适用于智慧城市产业资源确权的分布式存储方法技术

技术编号:36336139 阅读:77 留言:0更新日期:2023-01-14 17:48
本发明专利技术一种适用于智慧城市产业资源确权的分布式存储方法,通过RabbitMQ的解耦功能,将分布式存储系统分为接口层和数据服务层,具有一定容错性、利于水平拓展。该方法结合HyperLedgerFabric联盟链技术交易吞吐量较高、但文件等非结构化数据存储能力不足等特点,拓展形成了区块链七层架构,满足智慧城市产业资源确权场景的要求。产业资源确权场景的要求。产业资源确权场景的要求。

【技术实现步骤摘要】
一种适用于智慧城市产业资源确权的分布式存储方法


[0001]本专利技术涉及区块链和分布式存储领域,提出了一种适用于智慧城市产业资源确权的分布式存储方法,通过消息中间件技术将系统解耦,从而具有一定的容错性,并有利于水平拓展,弥补了区块链技术不适用于存储文件等非结构化数据的不足。

技术介绍

[0002]区块链是一种基于分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用体系。它本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
[0003]区块链发展目前经历了三个阶段。2008年,Nakamoto首次提出了比特币,迎来了区块链1.0时代;以太坊由俄罗斯的Vitalik Buterin提出,引入智能合约使得分布式应用DAPP开始广泛应用于其他领域,创造了区块链2.0时代;随着区块链技术的深入研究,目前仍处于区块链3.0时代,以超级账本和企业操作系统为核心技术主要竞争者。
[0004]随着区块链技术的发展,目前区块链根据开放程度分为三类:公有链、联盟链和私有链。逐步形成了数据层,网络层、共识层、激励层、合约层、应用层六层架构。区块链技术因不可篡改、可溯源的特点而被广泛用作账本数据库,而不适用于资源文件等非结构化数据的存储。
[0005]区块链应用在知识产权保护领域,目前已有一些尝试。例如通过数字作品特征提取技术结合区块链去中心化、不可篡改、可溯源的特点保存相应特征来保护原创作品;或者利用环签名等技术对创作者身份隐私信息加以保护;也有企业针对图片、影音等特定数字产品进行不同程度的保护。但是这些成果往往需要利用密码学算法计算特征进行存储,或者只对特定类型的作品进行保护。
[0006]目前火热的NFT技术提供了数字产品确权交易的能力,但是资源文件往往存储在基于公链的IPFS、过于复杂的HDFS或者其他第三方存储系统。考虑到节点加入IPFS网络需要付出不必要的存储资源,甚至待Filecoin发布后可能需要支付货币才能存储文件,而第三方存储系统对外属于中心化的系统,因此均不太适用于基于区块链技术,但吞吐量要求高、资源丰富的智慧城市资源确权场景。
[0007]消息中间件技术往往用于解耦、异步、削峰等场景,有利于监控流量等性能指标。并且其支持集群化实现高可用,因此可以用来构建轻量级的分布式存储系统,解决区块链的文件存储能力不足的问题。RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,服务端是用广泛用于交换机领域的Erlang语言编写,使用确认机制、持久化、失败重试、死信队列等方式保证消息的可靠传输和消费,并且支持集群模式,因此具有可靠、灵活、
高可用等特点,是目前最常用的消息中间件技术之一。

技术实现思路

[0008]为了解决区块链本身无法存储文件等非结构化数据,公链和第三方存储存在局限等问题,本专利技术对区块链技术和分布式存储技术进行了深入研究,提出了一种适用于智慧城市产业资源确权的分布式存储方法,利用消息中间件的解耦能力,将系统分为接口服务层和数据服务层,有利于系统水平拓展。
[0009]本专利技术的技术方案是:一种适用于智慧城市产业资源确权的分布式存储方法,包括以下步骤:
[0010]步骤1:存储系统架构设计,所述存储系统包含接口服务层、数据服务层和消息中间件三层逻辑结构,各层包括多个服务器节点,并由网络通信保证层与层之间、层内部的数据通信;接口服务层负责提供对象存取的RESTful接口,根据存活的存储服务进行调度;数据服务层利用本地磁盘提供实际的数据存储服务;RabbitMQ消息中间件作为存储服务的注册中心,利用其解耦能力和数据通信能力将接口服务层和数据服务层的消息进行转发;其中数据服务层服务器节点是文件存储服务的提供方,接口服务层服务器节点是数据存储服务信息的消费方,同时也是为用户提供文件存储和获取的服务方;同时处于消息中间件层的同一层服务器相互之间需要进行通信,而处于接口服务层或数据服务层的同一层服务器相互之间无需进行通信;
[0011]步骤2:RabbitMQ部署与初始化,消息中间件层的服务器安装部署RabbitMQ,具体包括配置AMQP协议环境,为了实现消息的可靠传送;声明接口交换机ApiExchange作为数据服务层服务器的服务注册交换机、声明数据交换机DataExchange作为获取文件对象数据时需要的具体的文件名信息的转发交换机。
[0012]步骤3:服务注册,新的数据服务层中的服务器启动后,每隔5s定时发送心跳信号将本服务器HTTP监听的IP、端口号、当前时间注册至ApiExchange,多个数据服务创建消息队列绑定该交换机,获取对应的注册信息,ApiExchange为fanout类型的交换机,同时向多个接口服务层中的服务器转发存活的数据服务层的服务地址数据;
[0013]步骤4:服务获取,接口服务层的服务器启动后绑定ApiExchange,获得数据服务层的服务器节点的心跳信息并缓存,对于超过10s未注册的数据服务层的服务器视为节点故障并清除本地缓存;
[0014]步骤5:对象存储,接口服务层的服务器从存活的数据服务节点随机调度,将文件的内容通过HTTP的PUT请求将文件数据流最终存入到数据服务层的服务器的本地磁盘中;
[0015]步骤6:对象定位,当客户端需要定位存储对象时,接口服务层的服务器将对象名称发送到DataExchange并创建一个1s后删除的临时队列避免长时等待,交换机将定位消息群发给数据服务,数据服务层的服务器检查本地磁盘是否存储该文件,某数据服务定位成功后将其监听地址传入临时队列;
[0016]步骤7:对象获取,从临时队列获得存储该对象的访问地址,之后通过HTTP的GET请求获取文件IO流,从而获得相应的文件对象;
[0017]步骤8:部署并测试存储系统功能,将多个服务器节点根据其角色类型启动,进程需要监听相应的端口、绑定对应的文件目录、对外提供相应的接口服务和数据服务,最终测
试文件的存储、定位、获取三大功能;
[0018]步骤9:搭建区块链系统,利用开源的HyperLedger Fabric联盟链技术架构构建区块链系统。将其他服务器组成基于点对点网络和Raft算法构成的联盟链系统,并且利用该技术提供的数据通道和不可篡改的账本技术形成基本的数据存储格式。
[0019]步骤10:编写智能合约,根据智慧城市资源分享系统的需求,编写智能合约形成键值对数据库将用户拥有的文件信息、用户购买的文件信息、文件在上述存储系统中对应的获取地址数据存入区块链系统,以此适用于智慧城市产业资源确权场景。
[0020]本专利技术由于采本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适用于智慧城市产业资源确权的分布式存储方法,其特征在于:包括以下步骤:步骤1:存储系统架构设计,所述存储系统包含接口服务层、数据服务层和消息中间件三层逻辑结构,各层包括多个服务器节点,并由网络通信保证层与层之间、层内部的数据通信;接口服务层负责提供对象存取的RESTful接口,根据存活的存储服务进行调度;数据服务层利用本地磁盘提供实际的数据存储服务;RabbitMQ消息中间件作为存储服务的注册中心,利用其解耦能力和数据通信能力将接口服务层和数据服务层的消息进行转发;其中数据服务层服务器节点是文件存储服务的提供方,接口服务层服务器节点是数据存储服务信息的消费方,同时也是为用户提供文件存储和获取的服务方;同时处于消息中间件层的同一层服务器相互之间需要进行通信,而处于接口服务层或数据服务层的同一层服务器相互之间无需进行通信;步骤2:RabbitMQ部署与初始化,消息中间件的服务器安装部署RabbitMQ,具体包括配置AMQP协议环境,为了实现消息的可靠传送;声明接口交换机ApiExchange作为数据服务层服务器的服务注册交换机、声明数据交换机DataExchange作为获取文件对象数据时需要的具体的文件名信息的转发交换机;步骤3:服务注册,新的数据服务层中的服务器启动后,每隔5s定时发送心跳信号将本服务器HTTP监听的IP、端口号、当前时间注册至ApiExchange,多个数据服务创建消息队列绑定该交换机,获取对应的注册信息,ApiExchange为fanout类型的交换机,同时向多个接口服务层中的服务器转发存活的数据服务层的服务地址数据;步骤4:服务获取,接口服务层的服务器启...

【专利技术属性】
技术研发人员:李超邓经纬石会昌李川云
申请(专利权)人:智城创新北京信息技术研究院有限公司
类型:发明
国别省市:

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1