本发明涉及数据处理技术领域,具体涉及一种基于超级账本平台的数据存储方法。
背景技术:
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
区块链(blockchain)是用分布式数据库识别、传播和记载信息的智能化对等网络,也称为价值互联网。所谓价值互联网,是指使得用户能够通过网络方便、快捷、低成本地传递价值。
可以把区块链的发展类比互联网本身的发展,未来会在internet上形成一个比如叫做finance-internet的东西,而这个东西就是基于区块链,它的前驱就是bitcoin,即传统金融从私有链、行业链出发(局域网),bitcoin系列从公有链(广域网)出发,都表达了同一种概念——数字资产(digitalasset),最终向一个中间平衡点收敛。
随着区块链技术的发展,各种数据上链需求日益迫切,超级账本(hyperledger)是目前主流的区块链系统平台,而怎样保证在超级账本平台下数据上链的安全性、可靠性、不可抵赖性,是目前基于该平台数据上链需解决的主要问题。
技术实现要素:
随着区块链技术的发展,各种数据上链需求日益迫切,超级账本(hyperledger)是目前主流的区块链系统平台,本发明解决的主要问题是怎样保证在超级账本平台下数据上链的安全性、可靠性、不可抵赖性。
为了解决上述问题,本发明提供的技术方案是:
一种基于超级账本平台的数据存储方法,包括如下步骤:
调用存储接口接收数据存储请求;其中,数据存储请求包括请求内容和校验参数;
对数据存储请求中的参数进行校验;
对数据存储请求中的内容进行判断处理后进行存储。
进一步的,步骤对数据存储请求中的内容进行判断处理后进行存储,包括:
根据数据存储请求中的参数判断是否需要加密;
若是,则对数据存储请求中的内容数据进行加密处理得到加密数据,将加密数据和数据存储请求中的其他数据标记为待转换数据;对数据加密保证数据传输的安全性;
若否,则直接将数据存储请求中的全部数据标记为待转换数据;
将待转换数据按照预设转换规则进行转换并存储到数据库中。
进一步的,步骤对数据存储请求中的内容进行加密处理后进行存储,之前包括:
判断数据存储请求中的内容数据是否为结构化数据;
若是,则执行步骤根据数据存储请求中的参数判断是否需要加密;将数据转换成结构化数据方便进行下一步的数据统一处理;
若否,直接将数据存储请求中的全部数据标记为待转换数据。
进一步的,步骤判断数据存储请求中的内容数据是否为结构化数据,之前包括:
判断数据存储请求中是否有数据;这里指的是数据请求中是否有请求内容,
若是,对数据存储请求中的数据进行数据补全处理,在数据补全处理中所增加的数据为补全数据;
若否,则结束流程。
进一步的,步骤对数据存储请求中的数据进行数据补全处理,具体包括:
在数据存储请求中的数据中增加缓存索引数据,所述缓存索引数据为描述数据写求中的数据;
若数据存储请求中的内容数据为结构化数据,则判断数据存储请求中的数据是否包含唯一标识;若是,则在数据存储请求中的数据中增加版本号;若否,则在数据存储请求数据中增加唯一标识;
若数据存储请求中的内容数据为非结构化数据,则在数据存储请求中的数据中增加唯一标识,以及增加数据存储路径。
进一步的,步骤将待转换数据按照预设转换规则进行转换并存储到数据库中,之后还包括:
每当有一个存储请求中的数据存储数据库后,都会向消息队列发送一条同步消息,通过消息队列能够有效的适应高并发的数据存储。
进一步的,步骤每当有一个存储请求中的数据存储数据库后,都会向消息队列发送一条同步消息,通过消息队列能够有效的适应高并发的数据存储,之后还包括:
当轮询消息队列至该同步消息时,将对应于该同步消息的数据库中的数据同步至缓存中。
进一步的,步骤对数据存储请求中的参数进行校验,包括:
对数据存储请求中的参数进行参数校验;
若校验通过,执行步骤判断数据存储请求中是否有数据;
若校验不通过,则结束流程。
进一步的,对数据存储请求中的参数进行校验;根据预设的校验参数生成规则而生成的校验参数进行合法性校验;
或,对向校验服务器请求获取的校验参数进行合法性校验;提高请求处理效率。
从以上技术方案可以看出,本发明具有以下优点:本发明技术方案包括数据存储步骤:调用存储接口接收数据存储请求;对数据存储请求中的参数进行参数校验,若校验不通过,结束流程;判断数据存储请求中的内容数据是否为结构化数据,若是执行下一步骤,若否,直接将数据存储请求中的全部数据记为待转换数据;根据数据存储请求中的参数判断是否需要加密,若是,对数据存储请求中的内容数据进行加密处理得到加密数据,将加密数据和数据存储请求中的其他数据记为待转换数据;若否,直接将数据存储请求中的全部数据记为待转换数据;将待转换数据按照相应的预设转换规则进行转换并存储数据库中。本发明实现了建立一个高安全性、高稳定性、高效率的超级账本平台的数据存储方法。本发明实现了建立一个高安全性、高稳定性、高效率的超级账本平台的数据存储方法。保证在超级账本平台下数据上链的安全性、可靠性、不可抵赖性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种基于超级账本平台的数据存储方法流程图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,一种基于超级账本平台的数据存储方法,包括如下步骤:
s1、调用存储接口接收数据存储请求;其中,数据存储请求包括请求内容和校验参数;
s2、对数据存储请求中的参数进行参数校验,所述参数校验包括:
判断数据存储请求中的参数中是否有密钥;
若有,则校验通过,执行步骤s3;若没有,则校验不通过;所述密钥为数据加解密的关键信息,其由发起数据存储请求的调用者自定义;密钥值由调用者自定义的优势是具有更高的安全性,因为由调用者自己定义的密钥值即使泄露,也仅是影响与调用者相关的数据,不会影响超级账本平台中的其他存储数据,如果由超级账本平台存储密钥值,一旦泄露,将会使超级账本平台内的数据失去安全性;
s3、判断数据存储请求中是否有数据;
若是,对数据存储请求中的数据进行数据补全处理,在数据补全处理中所增加的数据为补全数据;
若否,则结束流程;
其中,所述数据补全处理包括:
在数据存储请求中的数据中增加缓存索引数据,所述缓存索引数据为描述数据写求中的数据;
若数据存储请求中的内容数据为结构化数据,则判断数据存储请求中的数据是否包含唯一标识,若是,则在数据存储请求中的数据中增加版本号,若否,则在数据存储请求中数据中增加唯一标识;
若数据存储请求中的内容数据为非结构化数据,则在数据存储请求中的数据中增加唯一标识,以及增加数据存储路径;
s4、判断数据存储请求中的内容数据是否为结构化数据;
若是,则执行步骤s5;
若否,直接将数据存储请求中的全部数据记为待转换数据;
s5、根据数据存储请求中的参数判断是否需要加密;
若是,则对数据存储请求中的内容数据进行加密处理得到加密数据,将加密数据和数据存储请求中的其他数据标记为持转换数据;所述数据加密处理包括:根据商密/国密算法利用密钥对数据存储请求中的内容数据进行加密;
若否,则直接将数据存储请求中的全部数据标记标为待转换数据;
s6、将待转换数据按照相应的预设转换规则进行转换并存储数据库中;
s7、向消息队列发送同步消息;每当有一个存储请求中的数据存储数据库后,都会向消息队列发送一条同步消息,通过消息队列能够有效的适应高并发的数据存储;
s8、当轮询消息队列至该同步消息时,将对应于该同步消息的数据库中的数据同步至缓存中。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。