数据存储方法、数据查询方法及装置制造方法及图纸

技术编号:20944734 阅读:16 留言:0更新日期:2019-04-24 02:29
本申请公开了数据存储方法、数据查询方法及装置,本申请的实施例的方案中,用户通过区块链节点上传或者查询数据。一方面,由于各区块链节点共享的数据分布式存储于各区块链节点维护的区块链中,因此存入区块链的数据难以被篡改;另一方面,区块链节点在存储数据时对数据进行加密,其他区块链节点想要获取数据,需要通过智能合约验证自身的权限;又一方面,区块链节点在存储数据时将具有同一标识信息的数据通过相同区块记录,而将不同标识信息的数据通过不同区块记录,方便后续数据的管理和查询。

Data Storage Method, Data Query Method and Device

The application discloses a data storage method, a data query method and a device. In the scheme of the embodiment of the application, users upload or query data through block link nodes. On the one hand, because the data shared by each block chain node is distributed in the block chain maintained by each block chain node, it is difficult to tamper with the data stored in the block chain; on the other hand, the block chain node encrypts the data while storing the data, and other block chain nodes need to verify their rights through intelligent contracts if they want to obtain data; Points will record data with the same identification information through the same block when storing data, while data with different identification information will be recorded through different blocks to facilitate subsequent data management and query.

【技术实现步骤摘要】
数据存储方法、数据查询方法及装置
本申请涉及信息
,特别涉及数据存储方法、数据查询方法及装置。
技术介绍
在信息时代,随着数据的价值愈加凸显,越来越多的用户想要共享彼此的数据。例如,消费者希望获取商品的质量检测数据,商家希望获取消费者的喜好数据。目前,一般由数据共享平台作为中介,一方面接收并存储用户上传的数据,另一方面向用户提供数据查询服务,如此一来,就实现了用户间的数据共享。基于现有技术,需要更为安全且高效的数据存储方法和数据查询方法。
技术实现思路
鉴于以上问题,本专利技术的实施例提供数据存储方法、数据查询方法及装置,以解决现有的数据存储方法无法保证数据安全以及数据查询效率低的问题。按照本专利技术的实施例的数据存储方法,应用于第一区块链节点,包括:将至少一数据存入内存池,所述数据携带第一标识信息;当满足预设条件时,收集所述内存池中存储的携带所述第一标识信息的数据;对所述收集到的数据进行加密得到加密数据;根据所述加密数据生成区块并将所述区块发送至第二区块链节点,以使各区块链节点在对所述区块共识验证通过后,将所述区块加入区块链末端。按照本专利技术的实施例的数据查询方法,应用于第二区块链节点,包括:接收数据查询请求,所述数据查询请求携带第一标识信息;根据所述数据查询请求,确定所述第一标识信息对应的区块以及所述区块中记录的加密数据,所述加密数据为第一区块链节点根据携带所述第一标识信息的数据进行加密得到的;通过智能合约,判断所述第二区块链节点是否具有解密所述加密数据的权限;若是,则通过智能合约将所述加密数据发送至所述第一区块链节点,以使所述第一区块链节点对所述加密数据进行解密,并将解密得到的数据返回给所述第二区块链节点;若否,拒绝向所述第一区块链节点发送所述加密数据。按照本专利技术的实施例的数据存储装置,应用于第一区块链节点,包括:存储模块,用于将至少一数据存入内存池,所述数据携带第一标识信息;收集模块,用于当满足预设条件时,收集所述内存池中存储的携带所述第一标识信息的数据;加密模块,用于对所述收集到的数据进行加密得到加密数据;生成模块,用于根据所述加密数据生成区块并将所述区块发送至第二区块链节点,以使各区块链节点在对所述区块共识验证通过后,将所述区块加入区块链末端。按照本专利技术的实施例的数据查询装置,应用于第二区块链节点,包括:接收模块,用于接收数据查询请求,所述数据查询请求携带第一标识信息;确定模块,用于根据所述数据查询请求,确定所述第一标识信息对应的区块以及所述区块中记录的加密数据,所述加密数据为第一区块链节点根据携带所述第一标识信息的数据进行加密得到的;判断处理模块,用于通过智能合约,判断所述第二区块链节点是否具有解密所述加密数据的权限,若是,则通过智能合约将所述加密数据发送至所述第一区块链节点,以使所述第一区块链节点对所述加密数据进行解密,并将解密得到的数据返回给所述第二区块链节点,若否,拒绝向所述第一区块链节点发送所述加密数据。按照本专利技术的实施例的计算设备,包括处理器;以及存储器,其上存储有可执行指令;其中,所述处理器配置为执行所述可执行指令以实施前述的方法。按照本专利技术的实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括可执行指令,当该可执行指令被处理器执行时,实施前述的方法。从以上的描述可以看出,本专利技术的实施例的方案中,用户通过区块链节点上传或者查询数据。一方面,由于各区块链节点共享的数据分布式存储于各区块链节点维护的区块链中,因此存入区块链的数据难以被篡改,安全性较高;另一方面,区块链节点在存储数据时对数据进行加密,其他区块链节点想要获取数据,需要通过智能合约验证自身的权限,唯有具有权限的节点才可以查看数据;又一方面,区块链节点在存储数据时将具有同一标识信息的数据通过相同的一个或多个区块记录,而将不同标识信息的数据通过不同区块记录,方便后续数据的管理,在对数据进行查询时,无需遍历整条区块链,只需找到对应的区块即可,从而提升了查询的效率。附图说明图1为本申请实施例中数据存储方法一个实施例流程图;图2为本申请实施例中数据查询方法一个实施例流程图;图3为本申请实施例中数据存储与查询系统的架构图;图4为本申请实施例中数据存储装置一个实施例示意图;图5为本申请实施例中数据查询装置一个实施例示意图;图6为本申请实施例中计算设备的一个实施例结构示意图。具体实施方式现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。例如,所描述的方法可以按照与所描述的顺序不同的顺序来执行,以及各个步骤可以被添加、省略或者组合。另外,相对一些示例所描述的特征在其他例子中也可以进行组合。如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象,可以指代一个或多个对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。如
技术介绍
所述,现有的数据共享平台可以一方面接收并存储各用户上传的数据,另一方面又向各用户提供数据查询服务。但是,这种模式存在两个问题:其一,由于各用户共享的数据交由中心化的数据共享平台存储,倘若有人恶意篡改平台上存储的数据,那么各用户从平台上查询到的数据就是不可信的;其二,数据共享平台常常同时接收到多个用户发送的数据查询请求,而数据共享平台对数据查询请求的处理能力有限,这就导致有的用户需要排队等待,查询数据耗时较长,查询数据的效率较低。为此,在本说明书实施例中,其一,通过区块链节点组成区块链网络,各区块链节点共享的数据可以经过各区块链节点共识验证后,存入各区块链节点分别维护的区块链中,如此一来,存入区块链的数据难以被篡改或丢失。其二,区块链节点在存储数据时先对数据进行加密,其他区块链节点想要获取数据,需要通过智能合约验证自身的权限,唯有具有权限的节点才可以查看数据。其三,倘若某个区块链节点想要查询其他区块链节点共享的数据,该区块链节点可以在自己维护的区块链存储的数据中通过标识信息查询即可(各区块链节点维护的区块链存储的数据是同步的),查询数据的效率得以提升。其四、区块链节点在存储数据时,将具有同一标识信息的数据写入相同的一个或多个区块中,将不同标识信息的数据写入不同的区块中,方便后续数据的管理,在对数据进行查询时,无需遍历整条区块链,只需找到对应的区块即可,从而进一步提升了查询的效率。为了使本申请的技术方案更加清楚,下面将结合具体场景对本申请实施例提供的数据存储方法和数据查询方法进行介绍。图1为本申请实施例提供的数据存储方法流程图,该方法100应用于第一区块链节点,方法100包括以下步骤:S102:将至少一数据存入内存池,所述数据携带第一标识信息;图1所示的流本文档来自技高网
...

【技术保护点】
1.数据存储方法,应用于第一区块链节点,包括:将至少一数据存入内存池,所述数据携带第一标识信息;当满足预设条件时,收集所述内存池中存储的携带所述第一标识信息的数据;对所述收集到的数据进行加密得到加密数据;根据所述加密数据生成区块并将所述区块发送至第二区块链节点,以使各区块链节点在对所述区块共识验证通过后,将所述区块加入区块链末端。

【技术特征摘要】
1.数据存储方法,应用于第一区块链节点,包括:将至少一数据存入内存池,所述数据携带第一标识信息;当满足预设条件时,收集所述内存池中存储的携带所述第一标识信息的数据;对所述收集到的数据进行加密得到加密数据;根据所述加密数据生成区块并将所述区块发送至第二区块链节点,以使各区块链节点在对所述区块共识验证通过后,将所述区块加入区块链末端。2.根据权利要求1所述的方法,其中,所述满足预设条件包括接收到预设指令、达到预设时间或所述内存池中存储的数据的数量达到预设阈值。3.根据权利要求1或2所述的方法,其中,所述方法还包括:通过智能合约,确定所述数据对应的第一数值,所述第一数值用于表征向所述第一区块链节点的账户中增加的数值;通过智能合约,将所述第一区块链节点的节点标识和所述第一数值进行广播,以使各区块链节点在对所述节点标识和所述第一数值共识验证通过后,将所述节点标识和所述第一数值存入区块链。4.根据权利要求1或2所述的方法,其中,所述方法还包括:接收所述第二区块链节点触发智能合约发送的加密数据,所述智能合约用于判断所述第二区块链节点是否具有解密所述加密数据的权限;对所述加密数据进行解密,并将解密得到的数据返回给所述第二区块链节点。5.数据查询方法,应用于第二区块链节点,包括:接收数据查询请求,所述数据查询请求携带第一标识信息;根据所述数据查询请求,确定所述第一标识信息对应的区块以及所述区块中记录的加密数据,所述加密数据为第一区块链节点根据携带所述第一标识信息的数据进行加密得到的;通过智能合约,判断所述第二区块链节点是否具有解密所述加密数据的权限;若是,则通过智能合约将所述加密数据发送至所述第一区块链节点,以使所述第一区块链节点对所述加密数据进行解密,并将解密得到的数据返回给所述第二区块链节点;若否,拒绝向所述第一区块链节点发送所述加密数据。6.根据权利要求5所述的方法,其中,当所述第二区块链节点具有解密所述加密数据的权限时,所述方法还包括:通过智能合约,确定所述第一区块链节点返回的数据对应的第二数值,所述第二数值用于表征从所述第二区块链节点的账户中扣减的数值;通过智能合约,将...

【专利技术属性】
技术研发人员:金玲玲饶东升
申请(专利权)人:深圳灵图慧视科技有限公司
类型:发明
国别省市:广东,44

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

1