CN113836573A - 基于分布式存储的用户信息处理方法及装置 - Google Patents
基于分布式存储的用户信息处理方法及装置 Download PDFInfo
- Publication number
- CN113836573A CN113836573A CN202110916990.3A CN202110916990A CN113836573A CN 113836573 A CN113836573 A CN 113836573A CN 202110916990 A CN202110916990 A CN 202110916990A CN 113836573 A CN113836573 A CN 113836573A
- Authority
- CN
- China
- Prior art keywords
- user information
- request
- verification
- blockchain network
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 61
- 230000010365 information processing Effects 0.000 title claims abstract description 43
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012795 verification Methods 0.000 claims abstract description 210
- 238000012545 processing Methods 0.000 claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012423 maintenance Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 14
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 241000609666 Tuber aestivum Species 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 125000001033 ether group Chemical group 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于分布式存储的用户信息处理方法及装置,涉及分布式技术领域,其中该方法包括:当前节点根据对用户信息的操作请求,生成对用户信息操作的验证请求,将验证请求发送至区块链网络;每一其他节点在接收到验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;当前节点接收每一其他节点发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将处理结果发送至区块链网络;每一其他节点接收发来的结果并存储。本发明可以对用户信息操作请求的处理结果进行分布式存储,实现了用户信息的全网络、全节点的分布式存储,保证了用户信息存储的安全性和完整性。
Description
技术领域
本发明涉及分布式技术领域,尤其涉及一种基于分布式存储的用户信息处理方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
传统的系统后台都有集中式或分布式的数据库作为支持,需要建立http等连接与数据库实现读写交互,所有数据都存储在固定的某些数据库中。然而在这种模式下,常会出现各种故障,如因数据表设计不合理而导致的死锁问题、因攻击导致数据泄漏及数据完整性的问题等。用户身份信息通常是数据库中安全级别最高的数据,若发生泄漏等问题会导致重大损失。
发明内容
本发明实施例提供一种基于分布式存储的用户信息处理方法,用以实现对用户信息操作请求的处理结果进行分布式存储,该方法包括:
当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点接收通过区块链网络发来的所述处理结果并存储。
本发明实施例还提供一种基于分布式存储的用户信息处理装置,用以实现对用户信息操作请求的处理结果进行分布式存储,该装置包括:
当前节点,用于接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点,用于在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;接收通过区块链网络发来的所述处理结果并存储。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于分布式存储的用户信息处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于分布式存储的用户信息处理方法的计算机程序。
本发明实施例中,基于分布式存储的用户信息处理方案,通过:当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;每一其他节点接收通过区块链网络发来的所述处理结果并存储,可以对用户信息操作请求的处理结果进行分布式存储,实现了用户信息的全网络、全节点的分布式存储,即使某些节点受到攻击,也能保证全网数据的安全性和完整性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中基于分布式存储的用户信息处理方法的流程示意图;
图2为本发明实施例中前端与智能合约交互的原理示意图;
图3为本发明实施例中用户信息处理的系统架构示意图;
图4为本发明实施例中对用户信息的操作请求的处理进行记录的原理示意图;
图5为本发明实施例中基于分布式存储的用户信息处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在介绍本发明实施例之前,首先对本发明实施例涉及的名词进行介绍。
1.web3.js:web3.js是一个库集合,可以使用HTTP或IPC连接本地或远程以太它节点进行交互。web3的JavaScript库能够与以太坊区块链交互。它可以检索用户帐户,发送交易,与智能合约交互等。
2.Testrpc:这是一个完整的在内存中的区块链,且仅存在于当前的开发设备上。相对于Geth私有链环境,TestRPC在执行交易时是实时返回,而不等待默认的出块时间,这样就可以快速验证代码,当出现错误时,也能即时获得反馈。
3.Truffle:Truffle是针对基于以太坊的Solidity语言的一套开发框架,本身基于 Javascript,提供了内置的智能合约编译,链接,部署和二进制文件的管理,可脚本化、可扩展。
发明人发现:传统互联网上的交易都需要借助第三方机构来处理电子支付信息,但这增加了交易成本,也存在暴露隐私的风险。而用户身份信息通常是数据库中安全级别最高的数据,若发生泄漏等问题会导致重大损失。
本发明实施例提供了一种基于分布式存储的用户信息处理方案,该方案主要是通过一个全球同步的分布式账本,提高交易的安全性,解决信息防篡改的问题。基于区块链的去中心化开发,任何达成一致的双方都可以直接进行交易,不需要可信第三方的介入,它可以实现一个全球同步的分布式账本,该账本记录着所有交易,具有高透明性、不可篡改、可追溯等特点,有效地提高了交易的安全性。即,发明人考虑将身份认证放到安全级别更高的区块链上,通过一个分布式账本,基于Truffle框架实现注册登录等基础性功能,实现信息的全网络、全节点的分布式存储,即使某些节点受到攻击,也能保证全网数据的安全性和完整性。
下面对该基于分布式存储的用户信息处理方案进行详细介绍。
图1为本发明实施例中基于分布式存储的用户信息处理方法的流程示意图,用户信息处理参与方节点构成区块链网络;如图1所示,该方法包括如下步骤:
步骤101:当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;
步骤102:每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;
步骤103:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
步骤104:每一其他节点接收通过区块链网络发来的所述处理结果并存储。
本发明实施例提供的基于分布式存储的用户信息处理方法可以对用户信息操作请求的处理结果进行分布式存储,实现了用户信息的全网络、全节点的分布式存储,即使某些节点受到攻击,也能保证全网数据的安全性和完整性。下面结合图2至图4 进行详细介绍。
一、首先,介绍实施本发明之前的准备步骤。
1、本发明主要使用以下相关技术工具及协议:
(1)P2P网络:
P2P(Peer to Peer)网络是整个区块链的基础网络架构,无需中心化服务器或中心化路由器,所有节点都是完全对等的,网络中一个或多个节点的丢失,不会影响网络数据的完整性。同时P2P能够实现存储资源的共享和计算资源的共享,有效提高了资源利用率。
(2)区块链密码学
常用的密码学算法包括对称加密算法、非对称加密算法和消息摘要。
对称加密算法具有加解密效率高、易于操作、方便标准化的特点,是网络空间与信息处理中常用的数据加密技术。
非对称加密相对于对称加密算法,其加解密效率较低,但有更高的安全性,是区块链技术常用的加密算法。
消息摘要可以在一定时间内将任意长度的消息通过hash算法转化成固定长度的哈希值,即h=H(m),哈希函数常用于检验数据完整性和身份认证。
(3)Merkle Tree算法
在区块链中,利用Merkle Tree归纳一个区块中的所有交易,并生成一个区块中所有交易集合的指纹。在Merkle树中,任何一个节点的变动都会影响根节点的值,因此保证了区块链上交易的不可篡改性。当前面的交易变化后,就可以从树中剪掉,这样就可以压缩旧的区块。
(4)共识算法
区块链中各个节点为了对记账进行验证而达成共识的一种机制,区块链建立在P2P网络上,如何在没有可信第三方和出现叛徒的情况下,让全网所有节点对记账达成一致,并让最后的结果可信,这就是共识算法,也是区块链中最核心的内容。
(5)以太坊
以太坊是一个智能合约开发平台,它提供了合约开发所必备的基础条件,包括智能合约脚本、合约编程语言、以太坊虚拟机(EVM)、Whisper通信系统、Swarm信息管理系统、IPFS文件系统以及基于多种语言的图形化客户端和命令行操作界面,借助以太坊平台,可以方便地进行去中心化应用DApp的开发。
2、图2为本发明实施例中前端与智能合约交互的原理示意图,如图2所示,本发明用于用户信息管理的步骤包括:
1)采用solidity语言编写智能合约(合约文件以.sol结尾),通过web3.js提供的接口发送到智能合约编译器,获得二进制代码;
2)将合约的二进制内容反馈至系统前端;
3)将编译好的智能合约部署到网络,获得智能合约在区块链中的Hash地址以及ABI(ABI是合约接口的二进制表示),此处为了开发方便,将通过testrpc部署至测试网络;
4)当合约部署至区块链网络后,向前端反馈合约地址Address和ABI;
5)前端通过Address+ABI+nonce调用智能合约,完成与合约交互的操作,其中nonce是交易数,在每次交互后都会自动加1,以防止重复交易。
3、另外,为了便于理解本发明如何实施,下面结合图3,再对用户信息处理的系统架构进行介绍。
第一层主要是区块链所依赖的技术环境,如上文介绍的P2P网络、密码学等;
第二层是区块链中涉及的操作、操作对象及环境等,其中共识算法决定着整个区块链网络的共识机制,所有节点都必须遵照该机制进行工作,本发明所使用的共识机制是工作量证明(POW);
第三层是以太坊虚拟机和远程过程调用协议RPC(Remote Procedure Call),其中以太坊虚拟机类似于java虚拟机,给基于以太坊开发的程序提供运行环境,而RPC 则保证了基于以太坊开发的程序在网路之间的通信;
第四层是智能合约层,该层所有需要与区块链交互的业务逻辑都需要通过编写智能合约来实现,本发明中智能合约的实现采用solidity语言;
第五层是应用层,智能合约编写的业务逻辑支撑着整个应用层,并为其提供服务和接口,应用层则需封装界面,并实现与智能合约层的交互。
二、接着,介绍上述步骤101至步骤104。
所有操作都与区块链底层进行交互,并会生成对应的hash值,并以交易形式被记录至区块链。所谓身份信息维护包括用户地址、用户名、用户角色、密码等其他身份信息的维护,以上信息将采用mapping形成地址到身份信息的一一映射,来记录相关信息,如图4所示。在图4中,节点指的是区块链的节点,连到区块链中的任何计算机都可称为节点,例如一个用户的移动终端可以看作是一个节点。另外,单笔交易是整个区块链中的基本元素,包括当前节点发起交易和其他节点验证交易两个动作。这里的“交易”泛指链上存储信息变化的动作,比如修改用户密码等。图4中的“请求”即可看作是一个“交易”。具体地:
1、账号注册。
在智能合约部署成功后,只有未注册过的地址才能注册,因为规定一个地址只能注册一个账号,即地址与账号信息一一对应。注册时需要填写该用户的地址,为一串 hash值,注册的字段包括用户角色、用户名和密码。用户的注册操作经区块链网络上各节点的验证,最终以交易形式被存储至分布式账本中,同步至区块链各节点,为后续验证交易环节提供凭证。
通过上述可知,在一个实施例中,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,可以包括:当前节点接收对用户信息的注册操作请求;根据对用户信息的注册操作请求,生成对用户信息注册操作的验证请求,将对用户信息注册操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,包括:每一其他节点在接收到通过区块链网络发来的对用户信息注册操作的验证请求后,验证对用户信息注册操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,可以包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注册操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
具体实施时,针对该对用信息的注册操作进行分布式存储的步骤举一例子:某用户①设置密码②修改密码。①作为②的前序交易。交易②用当前节点的私钥制作数字签名,即用前序交易中的信息Y(包括交易①的唯一哈希值、交易①公钥地址哈希、交易①中设置的密码)作为明文计算密文X,当前节点将X作为数字签名和该节点的公钥地址附在交易②中发出。交易②发起后,各节点需要验证交易②是否有效。验证节点用前述当前节点提供的公钥地址解密数字签名X得到明文Y,并与区块链上记录的内容进行比对,验证该公钥地址是否由该用户持有;同时,计算当前节点提供的公钥地址哈希,继续与Y中的公钥地址哈希比对,验证当前节点的公钥地址是否为前序交易的地址,进而验证交易②是否可追溯到交易①。如两次比对一致,则交易②有效。验证通过,交易确认,将该笔交易记录在区块链上,形成新的区块,这个过程可以称为挖矿。
2、账号登录
只有注册过的账号才能登录,否则系统将会提示未注册,因为未注册的地址在分布式账本中没有存储任何与之匹配的身份信息,因此无法登录。同样,登录操作也会与智能合约发生交互,产生交易凭证,记录至新的block,并广播给全网其他节点,同步至所有节点的账本中,同步至区块链各节点,为后续验证交易环节提供凭证。
通过上述可知,在一个实施例中,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,可以包括:当前节点接收对用户信息的登录操作请求;根据对用户信息的登录操作请求,生成对用户信息登录操作的验证请求,将对用户信息登录操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,可以包括:每一其他节点在接收到通过区块链网络发来的对用户信息登录操作的验证请求后,验证对用户信息登录操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,可以包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的登录操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
3、账号维护
注册且登录成功的用户可以对个人账号信息进行修改,但是只限修改用户名和密码,用户地址是区块链中用户的唯一标识,无法修改。修改信息需要与智能合约发生交互,因此修改操作执行成功后将产生一串hash值的交易凭证,记录至新的block,并广播给全网其他节点,同步至所有节点的账本中。
通过上述可知,在一个实施例中,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,可以包括:当前节点接收对用户信息的维护操作请求;根据对用户信息的维护操作请求,生成对用户信息维护操作的验证请求,将对用户信息维护操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,可以包括:每一其他节点在接收到通过区块链网络发来的对用户信息维护操作的验证请求后,验证对用户信息维护操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,可以包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的维护操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
4、账号注销
当某一账号注册且登录进主页,即可执行账号注销的操作,该操作同样也会与智能合约发生交互,在智能合约中使用delete关键字删除当前地址对应的所有身份信息。上述操作成功将会生成交易凭证,添加至新的block,并通过P2P网络广播至全网,同步到所有节点的账本中。
通过上述可知,在一个实施例中,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,可以包括:当前节点接收对用户信息的注销操作请求;根据对用户信息的注销操作请求,生成对用户信息注销操作的验证请求,将对用户信息注销操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,可以包括:每一其他节点在接收到通过区块链网络发来的对用户信息注销操作的验证请求后,验证对用户信息注销操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,可以包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注销操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
另外,本发明实施例中,操作执行成功后,将产生一串hash值的交易凭证,将其记录至新的block,并广播给全网其他节点,同步到所有节点的账本中。
综上,本发明实施例提供的基于分布式存储的用户信息处理方法实现了:
1)私有链构建
本发明选择在私有链网络中运行,私有链网络构建主要分成两步,第一步是单节点的私有链配置,以保证单个节点可以正常接入私有链网络;第二步是私有链中的多节点集群构建。
2)智能合约开发
采用solidity语言编写智能合约(合约文件以.sol结尾),通过web3.js提供的接口发送到智能合约编译器,实现了去中心化应用的业务逻辑。
3)获得hash地址
将编译好的智能合约部署到网络,获得智能合约在区块链中的Hash地址以及 ABI(ABI是合约接口的二进制表示)。
综上,本发明实施例中基于分布式存储的用户信息处理方法的优点是:
将身份认证放到安全级别更高的区块链上,实现信息的全网络、全节点的分布式存储,即使某些节点受到攻击,也能保证全网数据的安全性和完整性。
基于区块链的去中心化开发,任何达成一致的双方都可以直接进行交易,不需要可信第三方的介入,它可以实现一个全球同步的分布式账本,该账本记录着所有交易,具有高透明性、不可篡改、可追溯等特点,有效地提高了交易的安全性。
本发明实施例中还提供了一种基于分布式存储的用户信息处理装置,如下面的实施例所述。由于该装置解决问题的原理与基于分布式存储的用户信息处理方法相似,因此该装置的实施可以参见基于分布式存储的用户信息处理方法的实施,重复之处不再赘述。
图5为本发明实施例中基于分布式存储的用户信息处理装置的结构示意图,如图5所示,用户信息处理参与方节点构成区块链网络;所述基于分布式存储的用户信息处理装置包括:
当前节点01,用于接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点02,用于在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;接收通过区块链网络发来的所述处理结果并存储。
在一个实施例中,当前节点具体用于:接收对用户信息的注册操作请求;根据对用户信息的注册操作请求,生成对用户信息注册操作的验证请求,将对用户信息注册操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注册操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:在接收到通过区块链网络发来的对用户信息注册操作的验证请求后,验证对用户信息注册操作的有效性,将验证结果发送至区块链网络。
在一个实施例中,当前节点具体用于:接收对用户信息的登录操作请求;根据对用户信息的登录操作请求,生成对用户信息登录操作的验证请求,将对用户信息登录操作的验证请求发送至区块链网络;当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的登录操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:在接收到通过区块链网络发来的对用户信息登录操作的验证请求后,验证对用户信息登录操作的有效性,将验证结果发送至区块链网络。
在一个实施例中,当前节点具体用于:接收对用户信息的维护操作请求;根据对用户信息的维护操作请求,生成对用户信息维护操作的验证请求,将对用户信息维护操作的验证请求发送至区块链网络;当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的维护操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:每一其他节点在接收到通过区块链网络发来的对用户信息维护操作的验证请求后,验证对用户信息维护操作的有效性,将验证结果发送至区块链网络。
在一个实施例中,当前节点具体用于:接收对用户信息的注销操作请求;根据对用户信息的注销操作请求,生成对用户信息注销操作的验证请求,将对用户信息注销操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注销操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:在接收到通过区块链网络发来的对用户信息注销操作的验证请求后,验证对用户信息注销操作的有效性,将验证结果发送至区块链网络。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于分布式存储的用户信息处理方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述基于分布式存储的用户信息处理方法的计算机程序。
本发明实施例中,基于分布式存储的用户信息处理方案,通过:当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;每一其他节点接收通过区块链网络发来的所述处理结果并存储,可以对用户信息操作请求的处理结果进行分布式存储,实现了用户信息的全网络、全节点的分布式存储,即使某些节点受到攻击,也能保证全网数据的安全性和完整性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等) 上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种基于分布式存储的用户信息处理方法,其特征在于,用户信息处理参与方节点构成区块链网络;所述基于分布式存储的用户信息处理方法包括:
当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点接收通过区块链网络发来的所述处理结果并存储。
2.如权利要求1所述的基于分布式存储的用户信息处理方法,其特征在于,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,包括:当前节点接收对用户信息的注册操作请求;根据对用户信息的注册操作请求,生成对用户信息注册操作的验证请求,将对用户信息注册操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,包括:每一其他节点在接收到通过区块链网络发来的对用户信息注册操作的验证请求后,验证对用户信息注册操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注册操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
3.如权利要求1所述的基于分布式存储的用户信息处理方法,其特征在于,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,包括:当前节点接收对用户信息的登录操作请求;根据对用户信息的登录操作请求,生成对用户信息登录操作的验证请求,将对用户信息登录操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,包括:每一其他节点在接收到通过区块链网络发来的对用户信息登录操作的验证请求后,验证对用户信息登录操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的登录操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
4.如权利要求1所述的基于分布式存储的用户信息处理方法,其特征在于,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,包括:当前节点接收对用户信息的维护操作请求;根据对用户信息的维护操作请求,生成对用户信息维护操作的验证请求,将对用户信息维护操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,包括:每一其他节点在接收到通过区块链网络发来的对用户信息维护操作的验证请求后,验证对用户信息维护操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的维护操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
5.如权利要求1所述的基于分布式存储的用户信息处理方法,其特征在于,当前节点接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络,包括:当前节点接收对用户信息的注销操作请求;根据对用户信息的注销操作请求,生成对用户信息注销操作的验证请求,将对用户信息注销操作的验证请求发送至区块链网络;
每一其他节点在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络,包括:每一其他节点在接收到通过区块链网络发来的对用户信息注销操作的验证请求后,验证对用户信息注销操作的有效性,将验证结果发送至区块链网络;
当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络,包括:当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注销操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络。
6.一种基于分布式存储的用户信息处理装置,其特征在于,用户信息处理参与方节点构成区块链网络;所述基于分布式存储的用户信息处理装置包括:
当前节点,用于接收对用户信息的操作请求;根据对用户信息的操作请求,生成对用户信息操作的验证请求,将对用户信息操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点,用于在接收到通过区块链网络发来的对用户信息操作的验证请求后,验证对用户信息操作的有效性,将验证结果发送至区块链网络;接收通过区块链网络发来的所述处理结果并存储。
7.如权利要求6所述的基于分布式存储的用户信息处理装置,其特征在于,当前节点具体用于:接收对用户信息的注册操作请求;根据对用户信息的注册操作请求,生成对用户信息注册操作的验证请求,将对用户信息注册操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注册操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:在接收到通过区块链网络发来的对用户信息注册操作的验证请求后,验证对用户信息注册操作的有效性,将验证结果发送至区块链网络。
8.如权利要求6所述的基于分布式存储的用户信息处理装置,其特征在于,当前节点具体用于:接收对用户信息的登录操作请求;根据对用户信息的登录操作请求,生成对用户信息登录操作的验证请求,将对用户信息登录操作的验证请求发送至区块链网络;当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的登录操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:在接收到通过区块链网络发来的对用户信息登录操作的验证请求后,验证对用户信息登录操作的有效性,将验证结果发送至区块链网络。
9.如权利要求6所述的基于分布式存储的用户信息处理装置,其特征在于,当前节点具体用于:接收对用户信息的维护操作请求;根据对用户信息的维护操作请求,生成对用户信息维护操作的验证请求,将对用户信息维护操作的验证请求发送至区块链网络;当前节点接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的维护操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:每一其他节点在接收到通过区块链网络发来的对用户信息维护操作的验证请求后,验证对用户信息维护操作的有效性,将验证结果发送至区块链网络。
10.如权利要求6所述的基于分布式存储的用户信息处理装置,其特征在于,当前节点具体用于:接收对用户信息的注销操作请求;根据对用户信息的注销操作请求,生成对用户信息注销操作的验证请求,将对用户信息注销操作的验证请求发送至区块链网络;接收每一其他节点通过区块链网络发来的验证结果,在验证结果为有效的比例超过预设阈值时,将对用户信息的注销操作请求的处理结果存储在本节点,并将所述处理结果发送至区块链网络;
每一其他节点具体用于:在接收到通过区块链网络发来的对用户信息注销操作的验证请求后,验证对用户信息注销操作的有效性,将验证结果发送至区块链网络。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5任一所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1至5任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916990.3A CN113836573A (zh) | 2021-08-11 | 2021-08-11 | 基于分布式存储的用户信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110916990.3A CN113836573A (zh) | 2021-08-11 | 2021-08-11 | 基于分布式存储的用户信息处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113836573A true CN113836573A (zh) | 2021-12-24 |
Family
ID=78963250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110916990.3A Pending CN113836573A (zh) | 2021-08-11 | 2021-08-11 | 基于分布式存储的用户信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113836573A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208642A (zh) * | 2022-06-28 | 2022-10-18 | 中国工商银行股份有限公司 | 基于区块链的身份认证方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109819443A (zh) * | 2018-12-29 | 2019-05-28 | 东莞见达信息技术有限公司 | 基于区块链的注册认证方法、装置及系统 |
CN110599332A (zh) * | 2019-09-16 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的用户意愿确定方法、装置、设备和存储介质 |
CN111211909A (zh) * | 2019-12-30 | 2020-05-29 | 深圳大学 | 一种基于零知识证明的分布式认证方法 |
CN111986022A (zh) * | 2020-08-20 | 2020-11-24 | 中国银行股份有限公司 | 基于区块链的交易限额处理方法、系统及各节点 |
CN112101968A (zh) * | 2020-09-27 | 2020-12-18 | 中国银行股份有限公司 | 基于区块链的跨境撮合处理方法、系统及各节点 |
-
2021
- 2021-08-11 CN CN202110916990.3A patent/CN113836573A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109819443A (zh) * | 2018-12-29 | 2019-05-28 | 东莞见达信息技术有限公司 | 基于区块链的注册认证方法、装置及系统 |
CN110599332A (zh) * | 2019-09-16 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 基于区块链的用户意愿确定方法、装置、设备和存储介质 |
CN111211909A (zh) * | 2019-12-30 | 2020-05-29 | 深圳大学 | 一种基于零知识证明的分布式认证方法 |
CN111986022A (zh) * | 2020-08-20 | 2020-11-24 | 中国银行股份有限公司 | 基于区块链的交易限额处理方法、系统及各节点 |
CN112101968A (zh) * | 2020-09-27 | 2020-12-18 | 中国银行股份有限公司 | 基于区块链的跨境撮合处理方法、系统及各节点 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208642A (zh) * | 2022-06-28 | 2022-10-18 | 中国工商银行股份有限公司 | 基于区块链的身份认证方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110192380B (zh) | 用于管理区块链云服务的系统和方法 | |
US9503447B2 (en) | Secure communication between processes in cloud | |
CN112422532B (zh) | 业务通信方法、系统、装置及电子设备 | |
CN110958111B (zh) | 一种基于区块链的电力移动终端身份认证机制 | |
CN105247529A (zh) | 在目录服务之间同步凭证散列 | |
JP2019115026A (ja) | ユーザ情報の共有のための分散型台帳装置、分散型台帳方法、トランザクション情報のブロードキャスト装置及び方法 | |
CN114584307B (zh) | 一种可信密钥管理方法、装置、电子设备和存储介质 | |
CN112231741B (zh) | 基于区块链系统的数据处理方法、装置、介质及电子设备 | |
CN112235266B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN110149323B (zh) | 一种具有千万级tps合约处理能力的处理装置 | |
CN115208665B (zh) | 一种基于区块链的种质资源数据安全共享方法及系统 | |
CN114567643B (zh) | 跨区块链的数据流转方法、装置及相关设备 | |
WO2021220226A1 (en) | Systems and methods for decentralization of blockchain-based processes employing a blockchain-associated front end or blockchain-associated user interface | |
CN109918867B (zh) | 基于区块链的对等系统文件溯源方法 | |
CN116502283A (zh) | 一种隐私数据处理方法及装置 | |
CN103716280A (zh) | 数据传输方法、服务器及系统 | |
CN110910110A (zh) | 一种数据处理方法、装置及计算机存储介质 | |
CN113836573A (zh) | 基于分布式存储的用户信息处理方法及装置 | |
CN112615838A (zh) | 一种可扩展的区块链跨链通信方法 | |
Creutz et al. | Fides: Distributed cyber-physical contracts | |
CN116975901A (zh) | 基于区块链的身份验证方法、装置、设备、介质及产品 | |
CN114372245A (zh) | 基于区块链的物联网终端认证方法、系统、设备及介质 | |
CN111193776B (zh) | 云桌面环境下客户端自动登录方法、装置、设备和介质 | |
CN113014556A (zh) | 银企通讯系统、通讯方法以及电子终端 | |
CN115669209A (zh) | 接入认证方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |