一种基于区块链的数据记录方法、装置及电子设备与流程

文档序号:18885022发布日期:2019-10-15 20:46阅读:296来源:国知局
一种基于区块链的数据记录方法、装置及电子设备与流程

本申请实施例涉及区块链技术领域,尤其涉及一种基于区块链的数据记录方法、装置及电子设备。



背景技术:

人的一生漫长且充满各种复杂的经历,而上一秒发生的事情,这一秒将变成记忆。光靠大脑去记忆这些经历是极其不可靠的,往往会发生遗忘和扭曲,所以目前市面出现了一些帮助用户记录数据的产品。这些产品通常是服务器为用户搭建的专属数据库,服务器在信息安全上并不是十分可靠,一旦遭到攻击,很容易造成用户数据的丢失或篡改。此外,考虑到成本因素,产品提供商一般不会搭架多台服务器供用户随时随地记录或查询自己的数据。

有鉴于此,如何随时随地为用户提供永不丢失且无法篡改的数据记录和数据查询服务,是当前亟待解决的技术问题。



技术实现要素:

本申请实施例目的是提供一种基于区块链的数据处理方法、装置及电子设备,能够随时随地为用户提供永不丢失且无法篡改的数据记录和数据查询服务。

为了实现上述目的,本申请实施例是这样实现的:

第一方面,提供一种基于区块链的数据处理方法,包括:

获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据;

确定第一用户对应的第一标识;

在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

第二方面,提供一种基于区块链的数据处理装置,包括:

上链请求接收模块,获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据;

标识确定模块,确定第一用户对应的第一标识;

区块添加模块,在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

第三方面,提供一种电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行:

获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据;

确定第一用户对应的第一标识;

在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

第四方面,提供一种算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据;

确定第一用户对应的第一标识;

在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

本申请实施例的方案利用区块链来记录用户的个人生活数据。去中心化的区块链具有众多的区块链节点,需要破坏掉超过半数区块链节点才能进行数据篡改,或者是破坏掉所有区块链节点才能彻底删除数据,理论上讲是无法做到的,因此用户数据一旦上链后,可以获得良好的安全保障。此外,区块链中的区块链节点分布广泛且添加灵活,保证了数据存储服务和数据读取服务的覆盖,能够满足用户在各个地方的使用需求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的数据处理方法的第一种流程示意图。

图2为本申请实施例提供的数据处理方法的第二种流程示意图。

图3为本申请实施例提供的数据处理方法的第三种流程示意图。

图4为本申请实施例提供的数据处理装置的结构示意图。

图5为本申请实施例提供的电子设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

如前所述,目前市场上一些帮助用户记录数据的产品大多数是服务器为用户搭建的专属数据库。而服务器在信息安全上并不是十分可靠,一旦遭到攻击,很容易造成用户数据的丢失或篡改。此外,考虑到成本因素,产品提供商一般不会搭架多台服务器供用户随地记录或查询自己的数据。

区块链分布有众多的区块链节点,本质上是一个去中心化的数据库,特别适合记录用户日常生活中的数据。为此,本申请旨在提供一种基于区块链技术,实现随时随地为用户提供永不丢失且无法篡改的数据记录和数据查询服务。

图1是本申请实施例基于区块链的数据处理方法的流程图。图1所示的方法可以由下文相对应的装置执行,包括:

步骤s102,获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,第一用户数据包括第一用户的个人生活数据。

其中,目标区块链节点所属的区块链可以是公有链,也可以是私有链。目标区块链节点可以是公共的区块链节点,也可以是用户自建的区块链节点。第一用户数据可以是任何类型的数据,比如照片数据、文本数据、视频数据等。

步骤s104,确定第一用户对应的第一标识。

作为示例性介绍,本步骤可以根据第一用户的身份证号,或第一用户在区块链中注册的账户名等信息来配置第一标识。如果之前已经为第一用户配置过第一标识,则本步骤可以沿用配置过的第一标识。

步骤s106,在目标区块链节点的本地区块链中添加记录有第一用户数据的第一区块;其中,第一区块配置有索引字段,第一用户数据在第一区块中的记录地址和第一区块配置的索引字段均包含有确定得到的第一标识。

在本步骤中,如果目标区块链节点为记账节点,则生成记录有第一用户数据的第一区块,并在目标区块链节点的本地区块链中添加第一区块,以及将第一区块广播至其他区块链节点。如果目标区块链节点为非记账节点,则接收其他区块链节点广播的记录有第一用户数据的第一区块,并在目标区块链节点的本地区块链中添加第一区块。

应理解,基于第一用户的第一标识,可以从各区块链节点所对应的本地区块链中搜索到记录有第一用户数据的第一区块,并进一步从第一区块中查询第一用户数据。

基于图1所示的数据处理方法可以知道:本申请实施例的方案利用区块链来记录用户的个人生活数据。去中心化的区块链具有众多的区块链节点,需要破坏掉超过半数区块链节点才能进行数据篡改,或者是破坏掉所有区块链节点才能彻底删除数据,理论上讲是无法做到的,因此用户数据一旦上链后,可以获得良好的安全保障。此外,区块链中的区块链节点分布广泛且添加灵活,保证了数据存储服务和数据读取服务的覆盖,能够满足用户在各个地方的使用需求。

其中,本申请实施例的方法在查询过程中可以包括以下步骤:

步骤s108,获取第二用户向目标区块链节点发起的针对第二用户数据的查询请求,第二用户数据包括第二用户的个人生活数据。

其中,查询请求携带有第二用户数据的查询信息,查询信息至少包括:第二用户对应的第二标识。

步骤s110,基于查询请求中携带的第二用户对应的第二标识,从目标区块链节点的本地区块链中获取记录有第二用户数据的第二区块,其中,第二用户数据的搜索信息包含第二用户对应的第二标识,第二用户数据在第二区块中的记录地址和第二区块配置的索引字段均包含有所述第二标识。

应理解,本步骤可以基于上述步骤s102-步骤s106相同的方法将第二区块添加至目标区块链节点的本地区块链中。

步骤s112,基于第二区块配置的索引字段,执行关于第二标识的数据查询,获取第二区块记录的所述第二用户数据。

应理解,在其中一种可行的实现方式中:步骤s108-步骤s112中的第二用户可以是指上述第一用户。对应地,第二用户数据即上述第一用户数据,第二区块即上述第一区块。

下面对本申请实施例的方法进行详细介绍。

本申请实施例的方法利用区块链去中心化、防丢失、防篡改的分布式数据存储技术,来实现对用户数据的记录和查询。

其中,数据处理方法的执行主体可以但不限于区块链中任意的区块链节点。以目标区块链节点执行数据处理方法为例,则用户数据的记录流程如图2所示,包括:

步骤s201,目标区块链节点获取第一用户发起的针对第一用户数据的上链请求。

在本步骤中,第一用户可以通过拍照、摄像、写日记等方式将自己的一些经历,如:求学、恋爱、工作、育儿、度假等进行记录,这些被第一用户记录下来的数据即第一用户数据。

之后,第一用户可以通过个人终端设备,向区块链中的目标区块链节点发起第一用户数据的上链请求。

在实际应用中,如果第一用户身处较为偏僻的位置,可以自行搭建目标区块链节点,并将目标区块链节加入到区块链中。

步骤s202,目标区块链节点响应于上链请求,为第一用户配置账户名。

其中,账户名即第一用户唯一对应的第一标识。如果第一用户在区块链中注册过账户名,则本步骤沿用之前的账户名作为第一标识。

步骤s203,目标区块链节点判断自身是否为记账节点,是,则执行步骤s204,否则执行步骤s205。

在本步骤中,如果区块链为公有链,则目标区块链节点可以但非必需向其他区块链节点发起针对第一用户数据的多方共识,比如对第一用户、第一用户数据和目标区块链节点中的任意者进行验证。若第一用户数据成功通过多方公式的验证,再进一步判断自身是否为记账节点。若第一用户数据未成功通过多方公式的验证,则可以拒绝上链请求。

步骤s204,目标区块链节点生成记录有第一用户数据的第一区块,并在本地区块链中添加该第一区块,以及将区块广播至其他区块链节点。

其中,第一区块的区块头记录的搜索字段扩展有第一用户的第一标识,且第一用户数据在第一区块的记录地址由两部分组成。

一部分是第一用户的第一标识,另一部分是目标区块链节点基于散列算法对第一用户数据的至少部分内容进行编译获得的字符串。

基于前者部分,目标区块链节点可以通过第一区块的区块头的索引字段来查找到第一用户数据的记录地址,进而根据第一用户数据的记录地址查找到第一用户数据。

基于后者部分,可以验证第一用户数据是否被篡改。比如,当第一用户数据出现篡改时,对应的记录地址会也随之发生变化。效确定目标数据的内容是否发生过篡改,进而判断目标数据的准确性。比如,当少数区块链节点保存的第一用户数据的记录地址与多数区块链节点保存的第一用户数据的记录地址出现不一致时,则可以表示少数区块链节点中记录的第一用户数据是被篡改过的(对于去中心化的区块链,为了篡改第一用户数据而破坏超过半数的区块链节点是几乎不可能实现的事情)。

步骤s205,目标区块链节点接收其他区块链节点广播的记录有第一用户数据的第一区块,并在本地区块链中添加该广播获得的第一区块。

应理解,目标区块链节点从广播获得的第一区块是其他区块链节点采用与上述步骤204同样的方法所生成的。

对应地,用户数据的查询流程如图3所示,包括:

步骤s301,目标区块链节点获取第一用户发起的针对第一用户数据的查询请求。

具体地,查询请求携带有第一用户数据的查询信息,可以但不限于包括:第一用户的账户名以及第一用户数据的查询规则。其中,查询规则用于对查询范围的进一步限定,比如:查询规则指示本次查询的数据格式为图片、本次查询1月份上链的数据等。

步骤s302,目标区块链节点基于查询请求中携带的第一用户的账户名,确定本地区块链中记录有第一用户数据的第一区块。

如前所述,第一区块的区块头配置的索引字段包含有第一用户的账户名,因此本步骤能够通过第一用户的账户名,对目标区块链节点对应的各个区块的摘要信息进行匹配,找到该第一区块。

步骤s304,目标区块链节点基于第一区块配置的索引字段和查询请求中携带的查询规则,对第一区块执行关于第一用户的账户名的数据查询,获得第一用户数据。

综上所述,本申请实施例的方法利用区块链,实现对用户数据的去中心化、防丢失、防篡改的分布式存储。同时在区块头的索引字段以及区块中的用户数据的记录数据地址中扩展用户的标识,从而实现了基于用户标识对用户数据的快速查询。基于本申请实施例的方法,用户可以通过区块链记录自己的生活经理,因此具有较高的实用价值。

以上是对本申请实施例的方法的介绍。应理解,在不脱离本文上述原理基础之上,还可以进行适当的变化,这些变化也应视为本申请实施例的保护范围。比如,本申请实施例的数据记录方法适用记录任何数据,并不限于是用户日常生活中的经历。

与上述方法相对应地,如图4所示,本申请实施例还提供一种基于区块链的数据处理装置400,包括:

上链请求接收模块410,获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据。

标识确定模块420,确定第一用户对应的第一标识。

区块添加模块430,在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一区块配置有索引字段,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

基于图4所示的数据处理装置可以知道:本申请实施例的方案利用区块链来记录用户的个人生活数据。去中心化的区块链具有众多的区块链节点,需要破坏掉超过半数区块链节点才能进行数据篡改,或者是破坏掉所有区块链节点才能彻底删除数据,理论上讲是无法做到的,因此用户数据一旦上链后,可以获得良好的安全保障。此外,区块链中的区块链节点分布广泛且添加灵活,保证了数据存储服务和数据读取服务的覆盖,能够满足用户在各个地方的使用需求。

可选地,本申请实施例的数据处理装置还包括:

查询请求接收模块,获取第二用户向所述目标区块链节点发起的针对第二用户数据的查询请求,其中,所述第二用户数据包括所述第二用户的个人生活数据;

区块定位模块,基于所述查询请求中携带的所述第二用户对应的第二标识,从所述目标区块链节点的本地区块链中获取记录有所述第二用户数据的第二区块,其中,所述第二用户数据的搜索信息包含所述第二用户对应的第二标识,所述第二用户数据在所述第二区块中的记录地址和所述第二区块配置的索引字段均包含有所述第二标识;

区块数据查询模块,基于所述第二区块配置的索引字段,执行关于所述第二标识的数据查询,获取所述第二区块记录的所述第二用户数据。

可选地,若所述目标区块链节点为记账节点,则区块添加模块330生成记录有所述第一用户数据的第一区块,并在所述目标区块链节点的本地区块链中添加所述第一区块,以及将所述第一区块广播至其他区块链节点。若所述目标区块链节点为非记账节点,则区块添加模块330接收其他区块链节点广播的记录有所述第一用户数据的第一区块,并在所述目标区块链节点的本地区块链中添加所述第一区块。

可选地,所述第一用户数据在所述第一区块中的记录地址还包含基于散列算法对所述第一用户数据的至少部分内容进行编译获得的字符串;和/或,所述第二用户数据在所述第二区块中的记录地址还包含基于散列算法对所述第二用户数据的至少部分内容进行编译获得的字符串。

可选地,所述目标区块链节点是所述第一用户自建的区块链节点。

可选地,所述第一用户数据是所述第一用户的个人数据,所述第一标识包含所述第一用户在区块链中注册的账号信息;和/或,所述第二用户数据是所述第二用户的个人数据,所述第二标识包含所述第二用户在区块链中注册的账号信息;

显然,本申请实施例的数据处理装置可以作为上述图1所示的数据处理方法的执行主体,因此所述数据处理装置能够实现所述数据处理方法在图1-图3所实现的功能。由于原理相同,本文不再赘述。

图5是本申请的一个实施例电子设备的结构示意图。请参考图5,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-accessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。

处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industrystandardarchitecture,工业标准体系结构)总线、pci(peripheralcomponentinterconnect,外设部件互连标准)总线或eisa(extendedindustrystandardarchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。

处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据处理装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:

获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据。

确定第一用户对应的第一标识。

在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一区块配置有索引字段,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

基于图5所示的电子设备可以知道:本申请实施例的方案利用区块链来记录用户的个人生活数据。去中心化的区块链具有众多的区块链节点,需要破坏掉超过半数区块链节点才能进行数据篡改,或者是破坏掉所有区块链节点才能彻底删除数据,理论上讲是无法做到的,因此用户数据一旦上链后,可以获得良好的安全保障。此外,区块链中的区块链节点分布广泛且添加灵活,保证了数据存储服务和数据读取服务的覆盖,能够满足用户在各个地方的使用需求。

上述如本申请图1所示实施例揭示的基于区块链的数据处理方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。

应理解,本申请实施例的电子设备可以实现上述数据处理装置在图1和图2所示的实施例的功能,本文不再赘述。

当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

此外,本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下方法:

获取第一用户向目标区块链节点发起的针对第一用户数据的上链请求,其中,所述第一用户数据包括所述第一用户的个人生活数据。

确定第一用户对应的第一标识。

在所述目标区块链节点的本地区块链中添加记录有所述第一用户数据的第一区块;其中,所述第一区块配置有索引字段,所述第一用户数据在所述第一区块中的记录地址和所述第一区块配置的索引字段均包含有确定得到的所述第一标识。

基于上述计算机可读存储介质,电子设备能够利用区块链来记录数据。去中心化的区块链具有众多的区块链节点,需要破坏掉超过半数区块链节点才能进行数据篡改,或者是破坏掉所有区块链节点才能彻底删除数据,理论上讲是无法做到的,因此用户数据一旦上链后,可以获得良好的安全保障。此外,区块链中的区块链节点分布广泛且添加灵活,保证了数据存储服务和数据读取服务的覆盖,能够满足用户在各个地方的使用需求。

应理解,上述指令当被包括多个应用程序的便携式电子设备执行时,能够使上文所述的数据处理装置实现图1和图2所示实施例的功能,本文不再赘述。

本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

以上仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1