当前位置: 首页 > 专利查询>王海涛专利>正文

基于区块链技术的存储系统技术方案

技术编号:26226562 阅读:30 留言:0更新日期:2020-11-04 11:04
一种基于区块链技术的存储系统,使用区块链技术、网络通信技术和数据存储技术,解决并优化了了中心化网络中数据同步、内存共享、单点故障等问题。本系统主要基于数据存储模块、数据同步模块、网络同步模块、单点登录模块组成。通过单一节点的服务端和客户端共存的方式来实现数据的多机同步,内存的多机共享,通过基于区块链去中心化的方式解决单点故障问题,提高网络服务的质量,充分利用网络的传输性能解决多机情况下的整体系统利用率低的情况。

【技术实现步骤摘要】
基于区块链技术的存储系统
本专利技术为一种基于区块链技术的存储系统,具体涉及区块链技术、网络通信技术和数据存储技术。
技术介绍
目前,计算机长时间存储数据一般存储于本机的辅助存储器中,有着速度慢的特点,无法最大能效的发挥分布在网络中的各个主存储器的存储性能,造成网络各主机的主存储器容量浪费。数据同步时需要通过中心服务器进行数据同步,同步速度受中心服务器影响,无法实现网络传输的最大性能,造成网络带宽的浪费。5G技术的出现使得网速得到了巨大的提升。本系统通过区块链网络去中心化的特点,充分利用了网速快的特点,实现了数据在不同主机内存中的存储和共享,并提高了网络的传输性能,消除了因中心服务器宕机对存储的数据所产生的影响。
技术实现思路
1、专利技术目的:A.本专利技术主要解决传统的存储系统在数据存储和同步时,数据存储于辅助存储器造成了主存储器资源浪费;B.数据同步时可能产生中心服务器宕机导致数据无法同步的情况,使用本专利技术后,可以保证数据能够存储在区块链网络的各个节点上,避免传统的存储系统造成的资源浪费和瓶颈问题。C.本专利技术通过去中心化的单点登陆系统防止出现伪造中心服务器或数据泄露问题。2、专利技术介绍:本专利技术基于区块链技术实现了新型的存储系统。它包括系统整体实现和数据存储及交互的方式。主体由包括数据存储模块(1)数据同步模块(2)网络拓扑模块(3)单点登录模块(4)。所述数据存储模块(1)主要用于以区块链的去中心化形式实现数据的存储;所述数据同步模块(2)主要用于以去中心化的形式实现数据的同步和交互;所述网络拓扑模块(3)主要用于获取当前的区块链网络结构;并配合数据存储模块(1)和数据同步模块(2)实现存储系统的核心功能;所述单点登录模块(4)主要用于去中心化形式的单点登录,并根据单点登录模块(4)的执行结果,进行访问控制。下文中数据存储在主存储器的位置称为主要链。本专利技术的方法包括如下步骤:A.解决主存储器的资源浪费的实现方法为将数据存储在区块链网络各节点的主要链中。并通过不同节点的运行时间的差异来避免主存储器空间的浪费。该功能主要通过数据同步模块来实现。每个节点同时充当服务器和客户机(如附图-图1)主要实现如下:A1.多线程模式监听“Prepare”指令、区块插入请求和缓冲区监控,如果监听到Prepare指令执行A5,监听到区块插入请求执行A7;A2.如果需要发送数据,执行A3;A3.将数据封装成区块,执行A4;A4.发送区块添加请求;A5.将区块添加到缓冲区,执行A6;A6.缓冲区中有区块,则加入到主要链,并发送Prepare指令,否则在多线程模式下等待;A7.从传递Prepare指令的机器获取更新过的主要链。并保持A1的监听状态;发起请求后,节点应该进入监听“Prepare”指令的状态,等待其他节点发送广播。区块网络中的其他节点如果接收到了请求,那么应该将区块添加到缓冲区中。监控当前缓冲区是否满足将区块添加到主要链。如果满足,那么就将数据添加到主要链,并向其他节点发送“Prepare”指令。其他节点接收后,将向该节点发起同步主要链的操作。数据同步模块程序流程图见附图(附图-图2)。假设每台节点都需要存放一次数据,则它们都需要进行一次数据的取出和存放操作。每台服务器的角色会在客户机和服务器之间不停的切换,既要提供数据的接收和验证,也要向其他机器发送广播请求。综上,假设有N台主机,主机1第一次运行的时间为time1+(读取原长度主要链时间+插入1条指令时间)。主机2在主机1后运行,则它的运行的时间为time2+(读取时间+前面一台主机插入的1条指令时间+插入1条指令的时间)。得到主机N的运行时间为timeN+(读取时间+前N-1台主机插入N-1条指令的时间+插入一条指令的时间)。每个节点真正的运行时间应该是前N-1台主机插入N-1条指令的时间+插入一条指令的时间。为线性的时间消耗。系统中各个节点插入数据后假设都关闭了系统,那么最有情况的内存占用应该为N条数据,整个系统消耗主存储器的存储空间在最优情况下应当等同于数据量。这样就能够最有效的进行内存空间的利用。以上操作不同于操作系统内部的时间片轮转方法。这更像是一种基于网络的时间片轮转,在多机系统中,每台机器在一定时间内提供资源,可以令整个系统本身获得最优的资源利用率。B.通过数据同步模块的程序流程图(附图-图2),其主要实现方法为,通过多线程技术,令一个节点同时充当服务器和客户机,为网络中的各个节点提供服务器的功能,同时充当客户机为用户提供使用体验。节点的选择是通过网络同步模块来选定的。所有节点维护一张网络拓扑表。节点可以向区块链网络中的另一个节点发起节点添加请求,随后监听“Prepare”消息。另一个节点接收到请求后,验证该节点的有效性,随后可以将该节点写入本地的网络拓扑表,随后进行广播。其他节点监听到广播操作后,向该节点发起同步请求,同步网络拓扑表。同样,一个节点在网络同步模块中,同时充当客户机和服务器。并通过多线程技术来实现网络拓扑的同步。每个节点的网络拓扑表应该是不同的。网络拓扑表应该含有节点的ip地址和权重。节点可以通过到目标网络的拥塞程度和目标上一次的被选中的时间来进行网络的选路。这样不仅能减少特定节点的压力,也能尽可能的选择一个快的节点来进行网络的选路。程序流程图见附图(附图-图3)主要实现如下:B1.多线程模型监听节点接入请求,监听“Prepare”消息,监听网络拓扑同步请求;B2.如果有节点接入,执行B3;B3.添加节点到网络拓扑中。执行B4;B4.并发送Prepare广播B5.如果监听到Prepare广播,执行B6;B6.向发送广播的节点进行网络拓扑的同步。B7.向其他节点发送接入请求C.基于去中心化的单点登录模块,将用户数据直接存放在其他节点的主存储器中。无需通过数据库等第三方数据平台进行数据的获取,直接的增加的网络设备的运作效率。用户数据通过密码学的单项hash加密存储在节点的电脑上,所有节点同步系统中所有的用户信息。当用户需要进行认证时,可以直接通过其他节点进行单点登录,无需担心数据被盗取和登录平台崩溃的问题。程序流程图如附图(图4)主要实现如下:C1.多线程监听用户登录请求、用户注册请求、网络同步请求,如果接收到用户登陆请求则执行C8,如果接收到用户注册请求,则执行C9,如果接收到网络同步请求,则执行C10C2.如果用户发起登录请求,执行C6,如果用户发起注册请求,执行C3C3.对用户要注册的用户名和密码进行密码学加密,执行C4C4.将加密后的数据存储于单点登录链,并执行C5C5.发起网络同步;C6.向其他节点发起登录请求,执行C7;C7.如果收到登陆成功消息,则登陆成功,否则登陆失败;C8.对经过密码学加密的数据进行单点登录的校验;校验通过则返回登陆成功,否则返回登陆本文档来自技高网...

【技术保护点】
1.一种基于区块链技术实现的存储系统,它包括系统整体实现和数据存储及交互的方式。其特征在于:包括数据存储模块(1)数据同步模块(2)网络拓扑模块(3)单点登录模块(4),所述数据存储模块(1)主要用于以区块链的去中心化形式实现数据的存储;所述数据同步模块(2)主要用于以去中心化的形式实现数据的同步和交互;所述网络拓扑模块(3)主要用于获取当前的区块链网络结构;并配合数据存储模块(1)和数据同步模块(2)实现存储系统的核心功能;所述单点登录模块(4)主要用于去中心化形式的单点登录,并根据单点登录模块(4)的执行结果,进行访问控制。/n

【技术特征摘要】
1.一种基于区块链技术实现的存储系统,它包括系统整体实现和数据存储及交互的方式。其特征在于:包括数据存储模块(1)数据同步模块(2)网络拓扑模块(3)单点登录模块(4),所述数据存储模块(1)主要用于以区块链的去中心化形式实现数据的存储;所述数据同步模块(2)主要用于以去中心化的形式实现数据的同步和交互;所述网络拓扑模块(3)主要用于获取当前的区块链网络结构;并配合数据存储模块(1)和数据同步模块(2)实现存储系统的核心功能;所述单点登录模块(4)主要用于去中心化形式的单点登录,并根据单点登录模块(4)的执行结果,进行访问控制。


2.根据权利要求1所述的一种基于区块链技术实现的存储系统,其特征在于:所述的数据存储模块(1)中,数据主要存储在计算机存储体系的主存储器,不借助任何辅助存储器,通过消息...

【专利技术属性】
技术研发人员:王海涛
申请(专利权)人:王海涛
类型:发明
国别省市:江苏;32

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

1