CN110942292B - 一种用户信息处理方法、装置、电子设备以及存储介质 - Google Patents
一种用户信息处理方法、装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN110942292B CN110942292B CN201911151587.5A CN201911151587A CN110942292B CN 110942292 B CN110942292 B CN 110942292B CN 201911151587 A CN201911151587 A CN 201911151587A CN 110942292 B CN110942292 B CN 110942292B
- Authority
- CN
- China
- Prior art keywords
- node
- target
- user
- transaction record
- verification result
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了一种用户信息处理方法、装置、电子设备以及存储介质,方法包括:第一节点获取目标用户的交易记录;交易记录包括交易对象;第一节点将交易记录发送至与交易对象对应的目标第二节点;第一节点和目标第二节点均属于业务区块链的区块链节点;目标第二节点获取与交易记录对应的验证结果;当验证结果为验证通过结果时,目标第二节点根据交易记录调整目标用户在目标第二节点中的用户权限。采用本申请,可以提高用户权限调整的可靠性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用户信息处理方法、装置以及相关设备。
背景技术
会员管理是一种通过差别化服务,获取忠诚客户的管理模式。而在互联网中,用户通过访问业务系统,并与业务系统发生交易行为,进而业务系统就会调整用户在该系统中的权限,以向用户提供相应的会员权益,例如,会员权益可以是:视频观看权益,歌曲下载权益或者免看广告权益等。
由于系统与系统之间的业务无关联性,业务系统只能赋予用户在该系统中的会员权益。例如,业务系统A只能向用户提供在业务系统A中的会员权益,若用户想具有业务系统B中的会员权益,就需要在业务系统B中与会员系统B发生交易行为。
上述可知,若用户想在某个业务系统具有会员权益,就必须需要访问该业务系统,并在该业务系统中执行交易行为,这种封闭式的交易过程会降低用户权限调整的可靠性。
发明内容
本申请实施例提供一种用户信息处理方法、装置以及相关设备,能够提高用户权限调整的可靠性。
本申请实施例一方面提供了一种用户信息处理方法,包括:
第一节点获取目标用户的交易记录;所述交易记录包括交易对象;
所述第一节点将所述交易记录发送至与所述交易对象对应的目标第二节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;
所述目标第二节点获取与所述交易记录对应的验证结果;
当所述验证结果为验证通过结果时,所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限。
其中,所述第一节点获取目标用户的交易记录,包括:
所述第一节点获取针对目标发布信息的选择请求;所述选择请求是与所述目标用户具有绑定关系的终端响应针对发布页面中的所述目标发布信息的选择操作所生成的请求;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的,所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点;
所述第一节点根据所述选择请求,生成与所述目标发布信息对应的所述交易记录。
其中,所述选择请求包括支付密码;
所述方法还包括:
所述第一节点对所述支付密码进行验证;
若所述支付密码验证通过,则所述第一节点确定所述目标发布信息中的目标资源数据,获取与所述目标用户具有绑定关系的用户账户对应的剩余资源数据;
若所述剩余资源数据大于所述目标资源数据,则所述第一节点将所述目标资源数据从与所述目标用户具有绑定关系的用户账户转移至与所述目标发布信息对应的节点具有绑定关系的用户账户。
其中,所述第一节点根据所述选择请求,生成与所述目标发布信息对应的所述交易记录,包括:
所述第一节点根据所述选择请求,将所述目标发布信息转换为原始记录;所述原始记录包括所述交易对象;
所述第一节点确定所述原始记录的原始哈希散列值,根据所述第一节点的节点私钥对所述原始哈希散列值加密,生成数字签名;
所述第一节点将所述原始记录、所述数字签名以及所述第一节点的节点公钥封装为所述交易记录。
其中,还包括:
所述第一节点生成与所述交易记录对应的业务区块,将所述业务区块添加至所述业务区块链。
其中,还包括:
所述第一节点获取针对所述目标用户的查询请求;所述查询请求是与所述目标用户具有绑定关系的终端响应针对所述目标用户的查询操作所生成的请求;
所述第一节点根据所述查询请求,在区块用户记录表中查找与所述目标用户对应的目标单位记录;所述目标单位记录包括目标哈希散列值;
所述第一节点从所述业务区块链中提取与所述目标哈希值对应的业务区块,将提取的业务区块作为查询业务区块;
所述第一节点提取所述查询业务区块中的区块体数据,将提取的区块体数据作为查询业务数据,向与所述目标用户具有绑定关系的终端返回所述查询业务数据。
本申请实施例另一方面提供了一种用户信息处理方法,包括:
目标第二节点接收第一节点发送的交易记录;所述交易记录包括交易对象;所述目标第二节点是与所述交易对象对应的节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;
所述目标第二节点获取与所述交易记录对应的验证结果;
当所述验证结果为验证通过结果时,所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限。
其中,所述交易记录还包括目标业务对象;
所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限,包括:
所述目标第二节点获取与所述目标业务对象对应的目标权限类型;
所述目标第二节点将所述目标用户在所述目标第二节点中的用户权限调整为所述目标权限类型。
其中,所述方法还包括:
所述目标第二节点获取待发布信息;
所述目标第二节点通过调用信息发布接口,在发布页面添加所述待发布信息;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的;所述待发布信息属于所述至少一个发布信息,所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点。
其中,所述目标第二节点通过调用信息发布接口,在发布页面添加所述待发布信息,包括:
所述目标第二节点将所述待发布信息作为所述信息发布接口的接口参数,调用所述信息发布接口,触发所述业务区块链中的智能合约中的发布函数,将所述待发布信息发布至所述发布页面。
其中,所述目标第二节点是所述第二节点集合中具有最强算力的第二节点;所述交易记录还包括所述第一节点的节点公钥;
所述目标第二节点获取与所述交易记录对应的验证结果,包括:
所述目标第二节点根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果。
其中,所述交易记录还包括交易内容和数字签名;所述交易内容和所述交易对象属于原始记录;
所述目标第二节点根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果,包括:
所述目标第二节点根据所述第一节点的节点公钥对所述数字签名进行解密,得到第一哈希散列值;
所述目标第二节点确定与所述原始记录对应的第二哈希散列值;
若所述第一哈希散列值和所述第二哈希散列值相同,则所述目标第二节点确定所述交易记录的验证结果为所述验证通过结果。
其中,所述交易记录还包括所述第一节点的节点公钥;
所述目标第二节点获取与所述交易记录对应的验证结果,包括:
所述目标第二节点接收第三节点发送的第一单位验证结果;所述第三节点是在所述第二节点集合中除所述目标第二节点以外的第二节点;所述第一单位验证结果是所述第三节点根据所述第一节点的节点公钥对所述交易记录进行数字签名验证后的结果;所述第三节点中的交易记录是所述第一节点发送的;
所述目标第二节点根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成第二单位验证结果;
所述目标第二节点根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果。
其中,所述目标第二节点根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果,包括:
所述目标第二节点将所述第一单位验证结果和所述第二单位验证结果作为单位验证结果;
所述目标第二节点统计所述单位验证结果为验证通过结果的数量;
若所述数量大于数量阈值,则所述目标第二节点确定所述交易记录的验证结果为所述验证通过结果。
本申请实施例另一方面提供了一种用户信息处理装置,应用于第一节点,包括:
记录获取模块,用于获取目标用户的交易记录;所述交易记录包括交易对象;
记录发送模块,用于将所述交易记录发送至与所述交易对象对应的目标第二节点,以使所述目标第二节点获取与所述交易记录对应的验证结果,当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点。
其中,所述记录获取模块,包括:
获取单元,用于获取针对目标发布信息的选择请求;所述选择请求是与所述目标用户具有绑定关系的终端响应针对发布页面中的所述目标发布信息的选择操作所生成的请求;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的,所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点;
生成单元,用于根据所述选择请求,生成与所述目标发布信息对应的所述交易记录。
其中,所述选择请求包括支付密码;
所述装置还包括:
第一验证模块,用于对所述支付密码进行验证;
转移模块,用于若所述支付密码验证通过,则确定所述目标发布信息中的目标资源数据,获取与所述目标用户具有绑定关系的用户账户对应的剩余资源数据;
转移模块,还用于若所述剩余资源数据大于所述目标资源数据,则将所述目标资源数据从与所述目标用户具有绑定关系的用户账户转移至与所述目标发布信息对应的节点具有绑定关系的用户账户。
其中,所述生成单元,具体用于根据所述选择请求,将所述目标发布信息转换为原始记录,确定所述原始记录的原始哈希散列值,根据所述第一节点的节点私钥对所述原始哈希散列值加密,生成数字签名,将所述原始记录、所述数字签名以及所述第一节点的节点公钥封装为所述交易记录;所述原始记录包括所述交易对象。
其中,还包括:
生成模块,用于生成与所述交易记录对应的业务区块,将所述业务区块添加至所述业务区块链。
其中,还包括:
查询模块,用于获取针对所述目标用户的查询请求,根据所述查询请求,在区块用户记录表中查找与所述目标用户对应的目标单位记录,从所述业务区块链中提取与所述目标单位记录中的目标哈希值对应的业务区块,将提取的业务区块作为查询业务区块,提取所述查询业务区块中的区块体数据,将提取的区块体数据作为查询业务数据,向与所述目标用户具有绑定关系的终端返回所述查询业务数据;所述查询请求是与所述目标用户具有绑定关系的终端响应针对所述目标用户的查询操作所生成的请求。
本申请实施例又一方面提供了一种用户信息处理装置,应用于目标第二节点,包括:
交易接收模块,用于接收第一节点发送的交易记录;所述交易记录包括交易对象;所述目标第二节点是与所述交易对象对应的节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;
第二验证模块,用于获取与所述交易记录对应的验证结果;
调整模块,用于当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限。
其中,所述交易记录还包括目标业务对象;
所述调整模块,具体用于获取与所述目标业务对象对应的目标权限类型,将所述目标用户在所述目标第二节点中的用户权限调整为所述目标权限类型。
其中,所述方法还包括:
发布信息获取模块,用于获取待发布信息;
发布模块,用于通过调用信息发布接口,在发布页面添加所述待发布信息;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的;所述待发布信息属于所述至少一个发布信息,所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点。
其中,所述发布模块,具体用于将所述待发布信息作为所述信息发布接口的接口参数,调用所述信息发布接口,触发所述业务区块链中的智能合约中的发布函数,将所述待发布信息发布至所述发布页面。
其中,所述目标第二节点是所述第二节点集合中具有最强算力的节点;所述交易记录还包括所述第一节点的节点公钥;
所述第二验证模块,包括:
第一验证单元,用于根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果。
其中,所述交易记录还包括交易内容和数字签名;所述交易内容和所述交易对象属于原始记录;
所述第一验证单元,具体用于根据所述第一节点的节点公钥对所述数字签名进行解密,得到第一哈希散列值,确定与所述原始记录对应的第二哈希散列值,若所述第一哈希散列值和所述第二哈希散列值相同,则确定所述交易记录的验证结果为所述验证通过结果。
其中,所述交易记录还包括所述第一节点的节点公钥;
所述第二验证模块,包括:
第二验证单元,用于接收第三节点发送的第一单位验证结果;所述第三节点是在所述第二节点集合中除所述目标第二节点以外的第二节点;所述第一单位验证结果是所述第三节点根据所述第一节点的节点公钥对所述交易记录进行数字签名验证后的结果;所述第三节点中的交易记录是所述第一节点发送的;
所述第二验证单元,还用于根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成第二单位验证结果;
组合单元,用于根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果。
其中,所述组合单元具体用于将所述第一单位验证结果和所述第二单位验证结果作为单位验证结果,统计所述单位验证结果为验证通过结果的数量,若所述数量大于数量阈值,则确定所述交易记录的验证结果为所述验证通过结果。
本申请实施例另一方面提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述各实施例中的方法。
本申请实施例另一方面提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行上述各实施例中的方法。
本申请中用户可以在第一节点产生交易行为,以生成交易记录,由第一节点将交易记录发送至待交易的目标第二节点,目标第二节点获取对交易记录的验证结果,若验证结果是验证通过结果,那么目标第二节点可以调整目标用户在第二节点中的用户权限。上述可知,本申请中用户产生交易记录和调整用户会员权限的节点可以是业务区块链上的两个不同区块链节点,相比封闭式交易和所导致的用户权限调整不可靠,本申请基于区块链的数据公开属性和不可篡改属性,可以保证交易过程的透明性和公平性,进而提高用户权限调整的可靠性;进一步地,当用户需要具有多个节点的会员权限时,只需要在第一节点中发生交易行为,可以避免用户执行多次访问业务系统,并发生交易行为的重复操作,简化用户操作过程,提高节点调整用户权限的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用户信息处理的系统架构图;
图2a-图2d是本申请实施例提供的一种用户信息处理的场景示意图;
图3是本申请实施例提供的一种用户信息处理方法的交互示意图;
图4是本申请实施例提供的一种生成交易记录的示意图;
图5是本申请实施例提供的一种确定节点地址的示意图;
图6是本申请实施例提供的一种生成业务区块的时序图;
图7是本申请实施例提供的一种用户信息处理方法的流程示意图;
图8是本申请实施例提供的一种数字签名验证的示意图;
图9是本申请实施例提供的一种用户信息处理的示意图;
图10是本申请实施例提供的一种会员联盟平台的架构图;
图11是本申请实施例提供的另一种用户信息处理方法的交互示意图;
图12是本申请实施例提供的一种用户信息处理装置的结构示意图;
图13是本申请实施例提供的另一种用户信息处理装置的结构示意图;
图14是本发明实施例提供的一种电子设备的结构示意图;
图15是本发明实施例提供的另一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链(Block chain)是分布式数据存储、点对点传输(P2P,Peer To Peer)、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一个或多个交易信息,用于验证其信息的有效性(防伪)和生成下一个区块。
请参见图1,是本申请实施例提供的一种用户信息处理的系统架构图。如图1所示,用户信息处理涉及业务区块链以及区块链节点,区块链节点可以包括:节点1、节点2、节点3以及节点4,下述以节点1是交易记录生成节点为例进行说明:
用户在节点1中产生交易行为,节点1对应生成交易记录,其中交易记录中记录了本次交易行为的交易对象(假设交易对象为节点2)。节点1将交易记录发送至节点2、节点3以及节点4,节点2、节点3以及节点4均对交易记录进行验证,并生成验证结果,节点2、节点3以及节点4之间互相交换验证结果,以及都将验证结果发送至节点1,以保证每个区块链节点都是可以获取到相同数量的验证结果。对交易对象节点2来说,统计验证结果为验证通过结果的数量,若该数量大于数量阈值,就调整该用户在节点2中的用户权限,且每个区块链节点(包括节点2)还需要为上述交易记录生成区块,并添加至业务区块链中。
除了按照验证结果为验证通过结果的数量来确定是否调整用户的权限以及是否生成区块,节点2、节点3以及节点4还可以通过工作量证明竞争出具有最强算力节点(假设具有最强算力节点是节点3),只有节点3才将验证结果发送至其余的节点。对交易对象节点2来说,若节点3发送的验证结果为验证通过结果,则调整该用户在节点2中的用户权限,且每个区块链节点(包括节点2)还需要为交易记录生成区块,并添加至业务区块链。
其中,图1中的区块链节点可以是手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(MID,mobile internet device)、可穿戴设备或者服务器等。
请参加图2a-图2d,是本申请实施例提供的一种用户信息处理的场景示意图。有一条业务区块链,且维护该业务区块链的区块链节点为节点1、节点2、节点3以及节点4。上述4节点中,节点1的主要功能是响应用户操作,以及将用户的操作转换为指令发送至其余3个节点,也可以理解为节点1的作用是用户与其余3个节点之间的信息交换媒介;对其余的3的节点来说,每一个节点都对应1个可以提供会员VIP权限的商户,且该3个节点也是业务区块链的共识节点,可以参与业务区块链的共识。
如图2a所示,终端设备10a中的VIP会员购买页面10b中展示多个商户的会员商品,其中展示的会员商品包括:“商户A的视频会员”、“商户B的歌曲会员”以及“商户C的下载会员”。
用户A可以选择“商户A的视频会员”以及“商户B的歌曲会员”作为待购买会员商品。
其中,会员商品“商户A的视频会员”表示若用户购买该会员商品,该用户在商户A对应的视频网站中具有会员VIP权限;
会员商品“商户B的歌曲会员”表示若用户购买该会员商品,该用户在商户B对应的歌曲网站中具有会员VIP权限,此处的会员VIP权限可以是免看广告权限或者收听权限等。
用户A点击VIP会员购买页面10b中的按钮“购买”,终端设备10a拉起支付页面10c,用户A在支付页面10c中输出支付密码:123456。
终端设备10a获取会员商品“商户A的视频会员”的商品详细信息,以及获取会员商品“商户B的歌曲会员”的商品详细信息(商品详细信息可以包括:商品名称“商品1”和“商品2”、交易对象“商户A”和“商户B”以及交易金额“20元”),将用户A的用户标识、上述两个会员商品的商品详细信息以及用户A输入的支付密码“1234546”组合为选择指令10d。终端设备10a将选择指令10d发送至节点1。
如图2b所示,节点1检验选择指令10d中的支付密码“123456”与用户A的账户密码是否相同;若相同,节点1将选择指令10d中的用户A的用户标识以及上述两个会员商品的商品详细信息组合为原始记录,节点1对原始记录签名生成交易记录10e。
当然,此时节点1还需对用户A的用户账户扣款40元,并向商户A的用户账户转账20元,以及向商户B的用户账户转账20元。
节点1将交易记录10e分别发送至节点2、节点3以及节点4,其中节点2是商户A所对应的节点,节点3是商户B所对应的节点,节点4是商户C所对应的节点,且节点1、节点2、节点3以及节点4都是维护业务区块链的区块链节点,且节点2、节点3以及节点4也是业务区块链的共识节点,即节点2、节点3以及节点4需要参与对交易记录进行验证。
节点2对交易记录10e进行验签,并将验签所得到的验证结果1发送至节点1、节点3和节点4;节点3对交易记录10e进行验签,并将验签所得到的验证结果2发送至节点1、节点2和节点4;节点4对交易记录10e进行验签,并将验签所得到的验证结果3发送至节点1、节点2和节点3。
这样,节点1、节点2、节点3以及节点4都能获取到3个验证结果:验证结果1、验证结果2以及验证结果3。
每个节点(包括节点1、节点2、节点3以及节点4)统计上述3个验证结果中,验证结果为验证通过的数量(假设统计出来的数量为2),若统计出来的数量2大于预设的数量阈值1,如图2c所示,每个节点都为交易记录10e生成区块20e,并将区块20e添加至业务区块链中。
至此,交易记录10e就完成上链。
同时,由于交易记录10e中的交易对象为商户A和商户B,因此商户A对应对的节点2还需要将用户A在节点2中的权限调整为会员VIP权限,商户B对应对的节点3还需要将用户A在节点3中的权限调整为会员VIP权限。
节点2和节点3将权限调整完毕后,可以向节点1发送会员权限调整成功的通知消息。如图2d所示,节点1可以向终端设备10a转发该会员权限调整成功的通知消息,终端设备10a接收该通知消息后,在屏幕中显示提示页面10f,并在页面10f中显示“跳转到视频网站”的按钮。若用户A点击按钮“跳转到视频网站”,终端设备10a跳转到商户A对应的视频网站首页10g。
如图2d所示,此时用户A在商户A对应的视频网站中已经具有会员VIP权限,若此处的会员VIP权限是可以观看该视频网站中所有的视频数据,那么用户A点击任意视频数据,用户A都可以观看。
当然,在提示页面10f中还可以显示“跳转到歌曲网站”的按钮,若用户A点击按钮“跳转到歌曲网站”,终端设备10a跳转到商户B对应的歌曲网站首页,此时用户A在商户B对应的歌曲网站中已经具有会员VIP权限,若此处的会员VIP权限是可以收听该歌曲网站中所有的音频数据,那么用户A点击任意音频数据,用户A都可以收听。
后续,当用户A需要查询会员VIP权限的购买记录时,可以通过终端设备10a向节点1发送查询请求,节点1可以从业务区块链中获取到与用户A对应的业务区块,将业务区块中的区块数据返回至终端设备10a,终端设备10a显示返回的区块区块。依托于区块链的不可篡改性,可以保证查询结果的可靠性。
请参加图3,是本申请实施例提供的一种用户信息处理方法的交互示意图,本实施例通过第一节点和目标第二节点之间的交互来描述用户信息处理方法的具体过程,如图3所示,用户信息处理方法可以包括如下步骤:
步骤S101,第一节点获取目标用户的交易记录;所述交易记录包括交易对象。
具体的,本申请中的用户信息处理可以应用于售卖会员VIP权限的各商户(例如,视频平台商户、歌曲平台商户或者购物平台等)以及数据接收平台,多个商户组成联盟,共同维护一条区块链(称为业务区块链),该业务区块链中的区块是用于存储用户与各商户交易会员VIP权限的交易记录。在区块链场景下,可以将维护区块链的终端设备称为节点。
数据接收平台所在的节点(例如,服务器)可以称为第一节点(如上述图2a-图2d对应实施例中的节点1),与各商户具有绑定关系的节点(例如,服务器)可以都称为第二节点(如上述图2a-图2d对应实施例中的节点2、节点3以及节点4),所有的第二节点组合为第二节点集合。各商户可以通过各自绑定的第二节点在数据接收平台上发布自己的会员商品;用户可以通过自己的终端设备(如上述图2a-图2d对应实施例中的终端设备10a,例如智能手机)访问数据接收平台,并在该数据接收平台上购买自己需要的会员VIP权限。
第二节点是业务区块链的共识节点,即第二节点需要参与每笔交易的验证,确定该交易是否上链;第一节点可以看作是业务区块链的轻量节点,即第一节点可以不必参与交易记录的验证,只需要同步区块即可。
数据接收平台对应发布页面,在该发布页面中包括一个或多个发布信息,每个发布信息都是某一个商户通过绑定的第二节点发布至该发布页面的,发布信息可以包括:待交易内容以及待交易对象。例如,待交易内容可以包括:会员商品名称、会员商品ID、商户名称、会员期限以及会员商品价格等;待交易对象可以是商户ID,对待交易内容可以进一步细分为:业务对象(例如,会员商品ID)以及非业务对象(例如,会员商品名称、商户名称、会员期限以及会员商品价格等)。
其中,在发布页面中业务对象(会员商品ID)以及待交易对象(商户ID)可以对用户隐藏,因而用户在发布页面只能看到会员商品名称、商户名称、会员期限以及会员商品价格。
任意一个商户要想成为联盟成员,都需要通过每个联盟成员的审核,即待审核节点向联盟成员对应的第二节点发送申请加入请求,该请求中携带待审核节点的节点地址、节点公钥以及数字证书。每个联盟成员对申请加入请求审核后,生成审核结果,若审核结果为审核通过结果的数量大于预设数量阈值,则待审核节点可以成为联盟成员对应的第二节点,待审核商户也就是联盟成员。此处的预设数量阈值可以是当前联盟成员数量的2/3。
目标用户(如上述图2a-图2d对应实施例中的用户A)可以通过终端(该终端即是与目标用户具有绑定关系的终端)向第一节点发送显示上述发布页面的请求,第一节点向终端返回发布页面的HTML(HyperText Markup Language,超级文本标记语言),终端渲染该HTML,以在屏幕中显示发布页面。
目标用户可以对发布信息中的任意一个或多个发布信息执行选择操作(例如,手指或鼠标点击任意发布信息),终端响应用户的选择操作,拉起支付页面,用户可以在该支付页面中输入支付密码。
终端可以将用户所选择的发布信息称为目标发布信息(目标发布信息的数量可以是一个也可以是多个),将目标发布信息中的待交易内容称为交易内容,将目标发布信息中的待交易对象称为交易对象,将目标目标发布信息中的业务对象称为目标业务对象。
终端生成目标用户对目标发布信息的选择请求,选择请求可以包括:目标用户的用户标识、目标发布信息以及支付密码。
终端可以将选择请求发送至第一节点,第一节点可以调用支付接口,对选择请求中的支付密码进行验证,若支付接口返回支付密码验证通过的通知消息,第一节点再提取目标发布信息中的交易内容中的资源数据(称为目标资源数据,目标资源数据即是会员商品价格),再调用支付接口以获取目标用户的剩余资源数据(即是目标用户的用户账户中的余额),支付接口向第一节点返回目标用户绑定的用户账户中的剩余资源数据,若剩余资源数据大于目标资源数据,第一节点可以再调用支付接口,以将目标资源数据从目标用户的用户账户转移至发布上述目标发布信息的节点(也就是商户所绑定的第二节点)的用户账户。
其中用户账户的地址可以是节点的节点地址,该节点地址是通过节点的节点私钥计算出来的。
第一节点将目标发布信息以及目标用户的用户标识作为辅助记录,即是将目标发布信息中的交易内容、交易对象以及目标用户的用户标识作为辅助记录,获取第一节点的节点地址,将第一节点的节点地址以及辅助记录组合为原始记录。采用哈希散列算法(哈希散列算法可以是SHA256、MD5或者SHA1),计算原始记录的哈希散列值,称为原始哈希散列值。
其中,哈希散列算法是一种从任何一种数据中创建小的数字“指纹”的方法。哈希函数把数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做哈希散列值的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。
第一节点获取节点私钥,根据第一节点的节点私钥对原始哈希散列值进行非对称加密,生成第一节点的数字签名,非对称加密是指加密时所使用的加密参数和解密时所使用的解密参数是不同的。本申请中的非对称加密是指采用节点私钥加密,用节点公钥解密,节点公钥是可以对外公开的,节点私钥要需要小心保存的。加密算法可以是RSA加密算法。
节点的私钥可以是由随机数发生器生成的,可以是256bit(比特)的数值,而节点的公钥可以是将节点私钥经过SECP256K1算法处理后得到的,且经过SECP256K1算法得到的节点公钥是512bit(比特)。
第一节点将原始记录、数字签名以及第一节点的节点公钥封装为交易记录。
请参见图4,是本申请实施例提供的一种生成交易记录的示意图,如图4所示,第一节点获取节点私钥(可以称为第一节点私钥),基于SECP256K1算法确定与之对应的公钥(可以称为第一节点公钥)。第一节点根据第一节点私钥对辅助记录以及第一节点的节点地址(称为第一节点地址)签名,生成数字签名,第一节点再将第一节点公钥、数字签名、辅助记录以及第一节点地址封装为交易记录。
后续第一节点可以将交易记录广播至其余的区块链节点,其中辅助记录和第一节点地址也可以称为原始记录。
下面以目标第二节点为例,说明如何根据目标第二节点的节点私钥确定该目标第二节点的节点地址,其余的区块链节点都是可以按照相同的方式确定与之对应的节点地址:
请参见图5,是本申请实施例提供的一种确定节点地址的示意图,目标第二节点基于随机数发生器,生成该节点的节点私钥,节点私钥可以是256bit(比特)的字符串。目标第二节点对该节点私钥采用SECP256K1算法处理,得到512bit(比特)的节点公钥,SECP256K1是一种椭圆曲线算法,通过该算法计算出来的公钥无法反向计算出私钥。这是保障区块链节点交易安全的基础。目标第二节点对公钥采用SHA256算法,得到256bit的散列字符串,再经过RIPEMD160算法,得到160bit(比特)的公钥散列,和SHA256一样,RIPEMD160也是一种Hash算法,无法求逆运算。获取当前节点地址计算方法所对应的地址版本号。目标第二节点再将地址版本号以及160bit(比特)的公钥散列经过两次SHA256算法的处理,将处理结果的前4个Byte(字节)作为校验值,将地址版本号、160bit(比特)的公钥散列以及校验值经过BASE58编码,可以得到目标第二节点的节点地址。
步骤S102,第一节点将所述交易记录发送至与所述交易对象对应的目标第二节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点。
具体的,第一节点和第二节点集合中的所有第二节点都是维护业务区块链的区块链节点,第一节点将封装好的交易记录广播至业务区块链的共识节点(即第二节点集合)。将交易记录中的原始记录中的交易对象(即是商户ID)所对应的节点称为目标第二节点。所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点。
需要说明的是,若交易记录中的交易对象的数量是N个,N是大于或等于1的整数,那么对应的目标第二节点的数量也应该是N个。
步骤S103,目标第二节点获取与所述交易记录对应的验证结果。
具体的,本申请中目标第二节点获得交易记录的验证结果有两种方式:
其一为:所有的第二节点对交易记录进行验签(验签的目的是为了保证发送交易记录的节点是真正的第一节点,且第一节点发送的交易记录在广播过程中并未被篡改),并互相交换结果以及将验签结果发送至第一节点,根据结果为验签通过的数量来确定交易记录的最终验证结果;
其二为:所有的第二节点对交易记录进行验签,并进行工作量证明的竞争,以竞争出第二节点集合中具有最强算力的第二节点,具有最强算力的第二节点才有资格将它所验签的的验签结果发送至其余的第二节点以及第一节点,即是以具有最强算力的第二节点的验签结果为交易记录的验证结果。
验证结果可以是验证通过结果或者验证不通过结果,顾名思义,验证通过结果即是对本次交易记录验证通过,说明该交易记录是合法交易记录;验证不通过结果即是对本次交易记录验证未通过,说明该交易记录是非法交易记录。
步骤S104,当所述验证结果为验证通过结果时,所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限。
具体的,当交易记录的验证结果是验证通过结果时,目标第二节点根据交易记录中的目标业务对象(即商品ID),调整目标用户在目标第二节点中的用户权限,且调整后的用户权限是与目标业务对象相匹配的。例如,将目标用户在目标第二节点中的用户权限由普通用户权限调整为会员VIP权限。
上述可知,本申请中用户产生交易记录和调整用户会员权限的节点可以是业务区块链上的两个不同区块链节点,相比封闭式交易和所导致的用户权限调整不可靠,本申请基于区块链的数据公开属性和不可篡改属性,可以保证交易过程的透明性和公平性,进而提高用户权限调整的可靠性;进一步地,当用户需要具有多个节点的会员权限时,只需要在第一节点中发生交易行为,可以避免用户执行多次访问业务系统,并发生交易行为的重复操作,简化用户操作过程,提高节点调整用户权限的效率。
后续目标第二节点就可以为用户权限调整后的目标用户提供差异化服务。
当交易记录的验证结果是验证通过结果时,第一节点以及第二节点集合中的每一个第二节点还需要为交易记录生成对应的区块(称为业务区块,如上述图2a-图2d对应实施例中的区块20e),并将业务区块添加到业务区块链上。
下面以第一节点为例,说明如何生成业务区块:
若对交易记录的验证是采取的第一种方式验证,第一节点可以将交易记录以及每个第二节点发送的验签结果作为区块体数据,基于哈希散列算法计算区块体数据的哈希散列值。第二节点发送的验签结果都携带时间戳以及节点地址,第一节点再计算每个第二节点发送的验签结果携带的时间戳的平均值,将区块体数据的哈希散列值,当前业务区块链的最后一个业务区块的区块哈希散列值以及时间戳的平均值组合为区块头,将区块体数据以及区块头组合为交易记录的业务区块。
区块体数据的哈希散列值=哈希算法(区块体数据);
业务区块的区块哈希散列值=哈希算法(区块头数据)。
若对交易记录的验证是采取的第二种方式验证,第一节点可以将交易记录以及具有最强算力的第二节点发送的验签结果作为区块体数据,基于哈希散列算法计算区块体数据的哈希散列值。具有最强算力的第二节点发送的验签结果都携带时间戳以及节点地址,第一节点将区块体数据的哈希散列值,当前业务区块链的最后一个业务区块的区块哈希散列值以及具有最强算力的第二节点发送的验签结果所携带的时间戳组合为区块头,将区块体数据以及区块头组合为交易记录的业务区块。
可选的,用户可以从业务区块链上获取到历史交易记录,基于区块链的公开透明特性,可以保证查询到的历史交易记录是真实的且未被篡改的。
目标用户可以在终端执行查询操作,终端响应目标用户的查询操作,生成查询请求,该查询请求可以携带目标用户的用户标识。
终端将查询请求发送至第一节点,第一节点从用户记录表中查找与目标用户的用户标识对应的单位记录,称为目标单位记录。
用户记录表包括多个单位记录,每个单位记录是一组键值对key-value,其中key对应用户标识,value对应基于该用户的历史交易记录所生成的业务区块的区块哈希散列值,或者value对应基于该用户的历史交易记录所生成的业务区块在业务区块链中的高度。
第一节点将目标单位记录中的value作为目标哈希散列值,第一节点从业务区块链中提取目标哈希散列值对应的区块,作为查询业务区块,可以知道查询业务区块中包括目标用户的历史交易记录。
第一节点提取查询业务区块中的区块体数据,作为查询业务数据,向终端返回该查询业务数据。
可以知道,从查询业务数据中不仅可以知道目标用户的历史交易记录,也可以查询到第二节点集合中的第二节点对某一比交易记录的验签结果,这样可以方便目标用户追溯交易过程以及验证过程。
追溯交易过程可以应用在如下场景:目标用户购买了会员商品A,且成功付款,但目标第二节点并未发货,即目标第二节点并未调整目标用户的会员权限。那么目标用户可以通过业务区块链查询到这一笔交易,即使目标第二节点想抵赖,第二节点集合中的其余的第二节点以及第一节点都是存储了该笔交易的业务区块的,因此目标用户可以很方便的取证。
需要说明的是,从业务区块链上查询目标用户的历史交易记录可以通过第一节点查询,也可以是第一节点将查询请求转发至第二节点集合中的任意一个
第二节点,由该第二节点执行查询操作,获得查询业务数据,并通过第一节点将查询业务数据转发至用户所在的终端。
当目标用户在终端执行查询操作时,终端对应生成查询请求,查询请求可以包括下述表1所包含的多个字段:版本号、输入个数以及输入列表,其中输入列表又包含表2所对应的多个字段:支付订单信息、用户账号(即对应用户标识)、支付金额以及支付时间。
还需说明的是,由于表2中包含的待输入字段数量较多,为了降低用户的操作成本,因此也可以由用户输入用户账号后,由终端自动补齐其余的字段,当然这样执行的前提条件是在生成交易记录时,终端本地要对交易记录备份。
表1
字段 | 描述 | 大小 |
版本号 | 明确这笔交易参照的规则 | 4byte(字节) |
输入个数 | 被包含的交易输入数量 | 1byte(字节)-9byte(字节) |
输入列表 | 一个或者多个交易输入 | 不定 |
表2
字段 | 描述 | 大小 |
支付订单信息 | 用户购买联合会员的订单号 | 32byte(字节) |
用户账号 | 购买的账号,一般是各个平台通用的手机号 | 32byte(字节) |
支付金额 | 用户购买联合会员支付的金额 | 16byte(字节) |
支付时间 | 用户支付的时间 | 16byte(字节) |
第一节点通过在业务区块链中提取查询业务区块,以获得查询业务数据,查询业务数据可以包括下述表3所包含的多个字段:输出个数、输出列表以及锁定时间。输出列表可以包括如下多个字段:该提取到的查询业务区块在整个业务区块链中的高度、用户账号、会员商品名称、会员商品ID、商户名称、会员期限以及是商户ID以及第二节点集合对该用户的交易记录的验签结果。
其中,锁定时间是指能被加到区块链中的最早的交易时间。在大多数交易中,它被设置为0,表示立即执行。如果锁定时间不是0,则此部分根据数据值的大小可表示为两种含义:若小于5亿,则视为区块高度,意指区块在到达这个高度之前,本次交易记录不能被写入业务区块链中;若大于5亿,则它被当做一个unix时间戳(1970以来的秒数),表示指定的时间点到达之前,交易不能被写入到业务区块链中。
表3
请参见图6,是本申请实施例提供的一种生成业务区块的时序图,下述以第一节点这一侧描述如何生成业务区块,图6中的购买页面(可以对应本申请实施例中的发布页面)对应的服务器是本申请中的第一节点,且支付服务器、交易生成服务器、签名服务器、广播服务器可以都可以对应本申请中的第一节点:
步骤S1011,用户在终端中的购买页面中购买会员商品。
步骤S1012,终端向支付服务器发送选择请求,该选择请求中携带了用户输入的支付密码、用户购买会员商品的ID以及用户标识。
步骤S1013,支付服务器生成支付流水。
具体的,支付服务器验证支付密码是否正确,以及该用户的用户账户的余额是否大于用户购买会员商品的价格,若密码正确,且用户账户的余额大于用户购买会员商品的价格,支付服务器扣款,并生成支付流水。
步骤S1014,支付服务器向终端返回支付结果。
步骤S1015,支付服务器将支付流水、用户购买会员商品的ID以及用户标识发送至交易生成服务器。
步骤S1016,交易生成服务器根据支付流水将用户的用户标识,用户购买会员商品的ID组合为辅助记录。
步骤S1017,交易生成服务器将辅助记录发送至签名服务器,签名服务器为辅助记录签名,生成数字签名。
步骤S1018,签名服务器生成节点地址。
步骤S1019,签名服务器将辅助记录、数字签名以及节点地址封装为交易记录,并将交易记录发送至广播服务器。
步骤S1020,广播服务器将交易记录广播至其余的区块链节点,即广播至第二节点集合中的所有第二节点,所有第二节点对交易记录进行验证。
步骤S1021,第一节点接收交易记录的验证结果,当验证结果是验证通过结果时,生成业务区块,并将该业务区块添加至业务区块链上。
请参加图7,是本申请实施例提供的一种用户信息处理方法的流程示意图,本实施例从目标第二节点侧来描述用户信息处理方法的具体过程,如图7所示,用户信息处理方法可以包括如下步骤:
步骤S201,目标第二节点接收第一节点发送的交易记录;所述交易记录包括交易对象;所述目标第二节点是与所述交易对象对应的节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点。
具体的,目标第二节点接收第一节点发送的交易记录。目标第二节点是交易记录中的交易对象对应的节点,目标第二节点属于第二节点集合,所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点,且第一节点和第二节点集合都属于业务区块链的区块链节点。
其中,第一节点生成交易记录,以及将交易记录发送至目标第二节点的具体过程可以参见上述图3对应实施例中的步骤S101-步骤S102。
步骤S202,所述目标第二节点获取与所述交易记录对应的验证结果。
具体的,目标第二节点获取交易记录的验证结果有两种方式,下面首先对第一种方式进行说明:
将第二节点集合中除目标第二节点以外的第二节点都称为第三节点,每个第三节点根据交易记录中的第一节点的节点公钥,均对交易记录进行数字签名验证,生成第一单位验证结果。第一单位验证结果可以是验证通过结果或者验证不通过结果。每个第三节点将当前时间戳以及第三节点的节点地址添加至第一单位验证结果。
同样地,目标第二节点根据交易记录中的第一节点的节点公钥,也对交易记录进行数字签名验证,生成第二单位验证结果。第二单位验证结果也可以是验证通过结果或者验证不通过结果。同样地,目标第二节点再将当前时间戳以及目标第二节点的节点地址添加至第二单位验证结果。
第三节点和目标第二节点之间以及第三节点之间互相交换单位验证结果。
目标第二节点可以接收到第三节点发送的第一单位验证结果,将第一单位验证结果以及第二单位验证结果均确定为单位验证结果。
目标第二节点统计单位验证结果为验证通过结果的数量,若统计到的数量大于预设的数量阈值,则目标第二节点可以确定交易记录的验证结果是验证通过结果。当然,若统计到的数量小于或等于预设的数量阈值,则目标第二节点可以确定交易的验证结果是验证不通过结果。
可以知道,若将数量阈值设置为第二节点集合中第二节点数量的1/2,那么说明只有大部分的第二节点都认为交易记录是合法交易记录,才最终可以认为交易记录的验证结果是验证通过结果。
例如,现有第一节点以及3个第二节点,若第二节点1对交易记录验证后的单位验证结果是验证通过结果、第二节点2对交易记录验证后的单位验证结果是验证通过结果以及第二节点3对交易记录验证后的单位验证结果是验证不通过结果,每个第二节点都将自己验证的单位验证结果发送至其余的第二节点以及第一节点,交换后第一节点以及每个第二节点都可以获取到3个单位验证结果。
第一节点以及每个第二节点都可以统计上述3个单位验证结果中,单位验证结果为验证通过结果的数量,若统计出来的数量为2,且预设的数量阈值为1,那么第一节点以及每个第二节点都可以确定交易记录的验证结果为验证通过结果。
下面以目标第二节点为例,对如何根据交易记录中的第一节点的节点公钥对交易记录进行数字签名验证进行具体的说明:
如图8所示,是本申请实施例提供的一种数字签名验证的示意图,从前述可知,交易记录中包括原始记录(原始记录即是辅助记录+第一节点地址)、第一节点的节点公钥以及数字签名。目标第二节点根据第一节点的节点公钥(即是图8中的第一节点公钥)以及校验算法对数字签名进行解密,得到第一哈希散列值。计算原始记录(即是图5中的辅助记录+第一节点地址)的哈希值散列值,称为第二哈希散列值。检测第一哈希散列值和第二哈希散列值是否相同,若第一哈希散列值和第二哈希散列值相同,说明该交易记录的确是真实的第一节点发送的,且在传播过程中没有被篡改,因此可以确定交易记录的验证结果是验证通过结果;当然,若第一哈希散列值和第二哈希散列值不同,说明该交易记录不是真实的第一节点发送的,或者该交易记录传播过程中被篡改了,因此可以确定交易记录的验证结果是验证不通过结果。
下面对目标第二节点获取交易记录的验证结果的第二方式进行说明:可以采用工作量证明从所有的第二节点中竞争出具有最强算力的第二节点,工作量证明简单来说,就是所有的第二节点求解一个相同的问题,谁先计算出来,那么说明该第二节点是具有最强算力的第二节点。只有具有最强算力的第二节点才可以将它所验证的结果广播至其余的第二节点以及第一节点,而其余节点都以具有最强算力的第二节点发送的验证结果为准。这是因为,只有投入大量的硬件资源才可能成为最强算力节点,那么具有最强算力节点就希望整个业务区块链越稳定越好,因此认为具有最强算力的第二节点给出的验证结果就是可以高度信任的。
下面对如何竞争出具有最强算力的第二节点进行具体的说明:
第一节点广播的交易记录携带难度值,第二节点集合中的每个第二节点(包括目标第二节点)通过哈希散列算法计算交易记录中的哈希散列值。将上述哈希散列值、难度值、当前时间戳、当前业务区块链中最后一个业务区块的区块哈希散列值以及随机数组合为辅助字符串,计算辅助字符串的哈希散列值,得到辅助哈希值。比较辅助哈希值是否小于目标数值,若是,说明解题成功,工作量证明完成。若否,就继续调整随机数,生成新的辅助字符串,不断地调整随机数。
其中,目标值=最大目标值/难度值。最大目标值是固定的数值。
只要某个第二节点解题成功,就对交易记录进行签名验证(签名验证过程可以参加上述说明),第二节点将对交易记录的验证结果、区块头中的随机数、区块头中的时间戳以及解题成功的第二节点的节点地址打包发送至其余的第二节点以及第一节点,第一节点以及其余的第二节点对随机数进行检验,检验过程就和解题过程类似,但是检验速度比解题过程快很多。
其余若检验通过,说明发送验证结果、区块头中的随机数以及区块头中的时间戳的第二节点是具有最强算力的第二节点,其余的第二节点可以停止解题。
当第二节点集合中具有最强算力的第二节点是目标第二节点时,按照上述说明,目标第二节点对第一节点发送的交易记录进行数字签名验证,生成验证结果,并将验证结果、区块头中的随机数、区块头中的时间戳以及目标第二节点地址打包发送至其余的第二节点以及第一节点。
其中,目标第二节点对交易记录进行数字签名验证的具体过程可以参见以上描述。
步骤S203,当所述验证结果为验证通过结果时,所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限。
具体的,从前述可知,第一节点发送的交易记录是包括目标业务对象(即是商品ID)的,该目标业务对象是用于标记目标用户所交易的具体会员商品。
当目标第二节点获取到的交易记录的验证结果是验证通过结果时,目标第二节点确定与目标业务对象对应的权限类型(称为目标权限类型),目标第二节点将目标用户在目标第二节点中的用户权限调整为目标权限类型。
例如,若交易记录中的目标业务对象为001,目标第二节点通过查找业务对象权限记录表,查到到与目标业务对象“001”对应的权限类型为权限类型A,那么目标第二节点就将目标用户的用户权限调整为权限类型A,其中权限类型A是指可以下载目标第二节点对应的视频页面中的任意视频数据。这样一旦目标用户访问目标第二节点对应的视频页面,就可以下载该视频页面中的任意视频数据。
当用户需要具有多个节点的会员权限时,采用本申请的方案,用户只需要在第一节点中发生交易行为,可以避免用户执行多次访问业务系统,并发生交易行为的重复操作,可以提高节点调整用户权限的效率;且依赖于区块链的数据公开特性,可以使每一条交易记录可追溯,保证了交易的公信力和公平性。
可选的,从前述可知,每一个联盟成员都可以通过对应的第二节点,向数据接收平台上传会员商品(即是本申请中的发布信息),以使用户可以在数据接收平台中的发布页面浏览到想要交易的会员商品。下面以目标第二节点为例,说明第二节点如何向数据接收平台上传发布信息:目标第二节点获取商户输入的待发布信息,目标第二节点调用数据接收平台所提供的信息发布接口,其中待发布信息是该信息发布接口的接口参数,只要目标第二节点调用信息发布信息接口就会触发业务区块链中的智能合约中的发布函数,将待发布信息从目标第二节点传输至第一节点,并在第一节点的发布页面中添加该待发布信息。
其中,待发布信息可以包括:待交易内容以及待交易对象。例如,待交易内容可以包括:会员商品名称、会员商品ID、商户名称、会员期限、会员商品价格以及会员商品有效期;待交易对象可以是商户ID,对待交易内容可以进一步细分为:业务对象(例如,会员商品ID)以及非业务对象(例如,会员商品名称、商户名称、会员期限以及会员商品价格)。
其中,在发布页面中业务对象(会员商品ID)以及待交易对象(商户ID)可以对用户隐藏,因而用户在发布页面只能看到会员商品名称、商户名称、会员期限、会员商品价格以及会员商品有效期。
当本申请的用户信息处理方法应用到会员商品发布,以及会员商品售卖时,第二节点添加至发布页面的发布信息可以包括下述表4所包含的多个字段:GoodsId(商品ID)、GoodsName(商品名称)、StoreId(商家ID)、Price(商品单价)、Days(会员权益天数)以及ExpireDate(商品有效期)。
表4
字段 | 说明 | 类型 | 长度 |
GoodsId | 商品ID | string | 16byte(字节) |
GoodsName | 商品名称 | string | 128byte(字节) |
StoreId | 商家ID | string | 128byte(字节) |
Price | 商品单价 | int | 32byte(字节) |
Days | 会员权益天数 | int | 32byte(字节) |
ExpireDate | 商品有效期 | datetime | — |
请参见图9,是本申请实施例提供的一种用户信息处理的示意图,如图9所示,厂商A、厂商B以及厂商C都是区块链会员联盟的联盟成员,且每个厂商都可以在区块链会员联盟平台上发布自己的会员商品,用户通过访问区块链会员联盟平台,可以购买对应的会员商品,生成交易记录。各厂商验证用户的交易记录,验证通过后由用户购买会员商品的厂商向用户发放会员权限。
请参见图10,是本申请实施例提供的一种会员联盟平台的架构图,各厂商所在的节点可以通过调用会员联盟统一业务接口集合,以触发智能合约在区块链会员联盟平台上发布待发布的会员商品、售卖会员商品以及查询交易记录。区块链会员联盟平台还需要将用户的交易记录发送至各厂商所在的节点,触发各节点中的智能合约执行交易记录认证以及会员商品发货等。
支撑智能合约的是区块链底层平台(例如可以是Fabric),区块链底层平台可以提供联盟成员的管理服务、区块链的p2p通信网络服务、共识节点确定服务、生成区块服务以及部署智能合约服务等。
请参见图11,是本申请实施例提供的另一种用户信息处理方法的交互示意图,用户信息处理方法包括如下步骤:
步骤S301,用户在节点1中执行购买行为。
步骤S302,节点1生成流水,此处的流水可以对应本申请中的交易记录。
步骤S303,节点1将流水广播至第二节点集合,即广播至节点2、节点3、节4点、节点5以及节点n。
步骤S304,采用工作量证明机制,从节点2、节点3、节4点、节点5以及节点n中竞争具有最强算力的节点。
步骤S305,若节点3最先计算出问题的解,说明节点3是具有最强算力的节点。
步骤S306,节点3向节点1、节点2、节4点、节点5以及节点n返回工作量证明结果以及对流水的验证结果。
步骤S307,节点1、节点2、节4点、节点5以及节点n对工作量证明结果进行验证,若验证通过,且流水的验证结果为验证通过结果,为该流水创建区块,并添加至业务区块链,同时,用户购买的会员商品所在的节点还需要将用户的权限调整为会员权限。
上述可知,本申请中用户产生交易记录和调整用户会员权限的节点可以是业务区块链上的两个不同区块链节点,相比封闭式交易和所导致的用户权限调整不可靠,本申请基于区块链的数据公开属性和不可篡改属性,可以保证交易过程的透明性和公平性,进而提高用户权限调整的可靠性;进一步地,当用户需要具有多个节点的会员权限时,只需要在第一节点中发生交易行为,可以避免用户执行多次访问业务系统,并发生交易行为的重复操作,简化用户操作过程,提高节点调整用户权限的效率。
进一步的,请参见图12,是本申请实施例提供的一种用户信息处理装置的结构示意图。如图12所示,用户信息处理装置1可以应用于上述图3-图11对应实施例中的第一节点,用户信息处理装置1可以包括:记录获取模块11以及记录发送模块12。
记录获取模块11,用于获取目标用户的交易记录;所述交易记录包括交易对象;
记录发送模块12,用于将所述交易记录发送至与所述交易对象对应的目标第二节点,以使所述目标第二节点获取与所述交易记录对应的验证结果,当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点。
其中,记录获取模块11以及记录发送模块12的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S102,这里不再进行赘述。
请参见图12,
记录获取模块11可以包括:获取单元111以及生成单元112。
获取单元111,用于获取针对目标发布信息的选择请求;所述选择请求是与所述目标用户具有绑定关系的终端响应针对发布页面中的所述目标发布信息的选择操作所生成的请求;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的;所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点;
生成单元112,用于根据所述选择请求,生成与所述目标发布信息对应的所述交易记录;
生成单元112,具体用于根据所述选择请求,将所述目标发布信息转换为原始记录,确定所述原始记录的原始哈希散列值,根据所述第一节点的节点私钥对所述原始哈希散列值加密,生成数字签名,将所述原始记录、所述数字签名以及所述第一节点的节点公钥封装为所述交易记录;所述原始记录包括所述交易对象。
其中,获取单元111以及生成单元112的具体过程可以参见上述图3对应实施例中的步骤S101,这里不再进行赘述。
请参见图12,所述选择请求包括支付密码;
用户信息处理装置1可以包括:记录获取模块11以及记录发送模块12;还可以包括:第一验证模块13以及转移模块14。
第一验证模块13,用于对所述支付密码进行验证;
转移模块14,用于若所述支付密码验证通过,则确定所述目标发布信息中的目标资源数据,获取与所述目标用户具有绑定关系的用户账户对应的剩余资源数据;
转移模块14,还用于若所述剩余资源数据大于所述目标资源数据,则将所述目标资源数据从与所述目标用户具有绑定关系的用户账户转移至与所述目标发布信息对应的节点具有绑定关系的用户账户。
其中,第一验证模块13以及转移模块14的具体功能实现方式可以参见上述图3对应实施例中的步骤101,这里不再进行赘述。
请参见图12,用户信息处理装置1可以包括:记录获取模块11以及记录发送模块12;还可以包括:生成模块15。
生成模块15,用于生成与所述交易记录对应的业务区块,将所述业务区块添加至所述业务区块链。
其中,生成模块15的具体功能实现方式可以参见上述图3对应实施例中的步骤104,这里不再进行赘述。
请参见图12,用户信息处理装置1可以包括:记录获取模块11以及记录发送模块12;还可以包括:查询模块16。
查询模块16,用于获取针对所述目标用户的查询请求,根据所述查询请求,在区块用户记录表中查找与所述目标用户对应的目标单位记录,从所述业务区块链中提取与所述目标单位记录中的目标哈希值对应的业务区块,将提取的业务区块作为查询业务区块,提取所述查询业务区块中的区块体数据,将提取的区块体数据作为查询业务数据,向与所述目标用户具有绑定关系的终端返回所述查询业务数据;所述查询请求是与所述目标用户具有绑定关系的终端响应针对所述目标用户的查询操作所生成的请求。
其中,查询模块16的具体功能实现方式可以参见上述图3对应实施例中的步骤104,这里不再进行赘述。
进一步的,请参见图13,是本申请实施例提供的另一种用户信息处理装置的结构示意图。如图13所示,用户信息处理装置2可以应用于上述图3-图11对应实施例中的目标第二节点,用户信息处理装置2可以包括:交易接收模块21、第二验证模块22以及调整模块23。
交易接收模块21,用于接收第一节点发送的交易记录;所述交易记录包括交易对象;所述目标第二节点是与所述交易对象对应的节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;
第二验证模块22,用于获取与所述交易记录对应的验证结果;
调整模块23,用于当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限;
所述交易记录还包括目标业务对象;
所述调整模块23,具体用于获取与所述目标业务对象对应的目标权限类型,将所述目标用户在所述目标第二节点中的用户权限调整为所述目标权限类型。
其中,交易接收模块21、第二验证模块22以及调整模块23的具体功能实现方式可以参见上述图7对应实施例中的步骤S201-步骤S203,这里不再进行赘述。
请参见图13,用户信息处理装置2可以包括:交易接收模块21、第二验证模块22以及调整模块23;还可以包括:发布信息获取模块24以及发布模块25。
发布信息获取模块24,用于获取待发布信息;
发布模块25,用于通过调用信息发布接口,在发布页面添加所述待发布信息;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的;所述待发布信息属于所述至少一个发布信息;所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点;
发布模块25,具体用于将所述待发布信息作为所述信息发布接口的接口参数,调用所述信息发布接口,触发所述业务区块链中的智能合约中的发布函数,将所述待发布信息发布至所述发布页面。
其中,发布信息获取模块24以及发布模块25的具体过程可以参见上述图7对应实施例中的步骤S203。
请参见图13,所述目标第二节点是所述第二节点集合中具有最强算力的节点;所述交易记录还包括所述第一节点的节点公钥;
第二验证模块22可以包括:第一验证单元221。
第一验证单元,用于根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果;所述交易记录还包括交易内容和数字签名;所述交易内容和所述交易对象属于原始记录;
所述第一验证单元221,具体用于根据所述第一节点的节点公钥对所述数字签名进行解密,得到第一哈希散列值,确定与所述原始记录对应的第二哈希散列值,若所述第一哈希散列值和所述第二哈希散列值相同,则确定所述交易记录的验证结果为所述验证通过结果。
其中,第一验证单元221的具体过程可以参见上述图7对应实施例中的步骤S202。
请参见图13,所述交易记录还包括所述第一节点的节点公钥;
第二验证模块22可以包括:第二验证单元222以及组合单元223。
第二验证单元222,用于接收第三节点发送的第一单位验证结果;所述第三节点是在所述第二节点集合中除所述目标第二节点以外的第二节点;所述第一单位验证结果是所述第三节点根据所述第一节点的节点公钥对所述交易记录进行数字签名验证后的结果;所述第三节点中的交易记录是所述第一节点发送的;
所述第二验证单元222,还用于根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成第二单位验证结果;
组合单元223,用于根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果;
组合单元223,具体用于将所述第一单位验证结果和所述第二单位验证结果作为单位验证结果,统计所述单位验证结果为验证通过结果的数量,若所述数量大于数量阈值,则确定所述交易记录的验证结果为所述验证通过结果。
其中,第二验证单元222以及组合单元223的具体过程可以参见上述图7对应实施例中的步骤S202。
可以知道,若是第一验证单元221执行验证交易记录以生成验证结果,那么第二验证单元222以及组合单元223就不再执行相应步骤;若是由第二验证单元222以及组合单元223执行验证交易记录以生成验证结果,那么第一验证单元221就不再执行相应步骤。
进一步地,请参见图14,是本发明实施例提供的一种电子设备的结构示意图。上述图3-图11对应实施例中的第一节点可以为电子设备1000,如图14所示,所述电子设备1000可以包括:用户接口1002、处理器1004、编码器1006以及存储器1008。信号接收器1016用于经由蜂窝接口1010、WIFI接口1012、...、或NFC接口1014接收或者发送数据。编码器1006将接收到的数据编码为计算机处理的数据格式。存储器1008中存储有计算机程序,处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器1008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器1008可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至电子设备1000。用户接口1002可以包括:键盘1018和显示器1020。
在图14所示的电子设备1000中,处理器1004可以用于调用存储器1008中存储计算机程序,以实现:
获取目标用户的交易记录;所述交易记录包括交易对象;
将所述交易记录发送至与所述交易对象对应的目标第二节点,以使所述目标第二节点获取与所述交易记录对应的验证结果,当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限;第一节点和所述目标第二节点均属于业务区块链的区块链节点。
在一个实施例中,处理器1004在执行获取目标用户的交易记录时,具体执行以下步骤:
获取针对目标发布信息的选择请求;所述选择请求是与所述目标用户具有绑定关系的终端响应针对发布页面中的所述目标发布信息的选择操作所生成的请求;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由第二节点集合中的第二节点添加至所述发布页面的;所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点;
根据所述选择请求,生成与所述目标发布信息对应的所述交易记录。
在一个实施例中,选择请求包括支付密码;
处理器1004还执行以下步骤:
对所述支付密码进行验证;
若所述支付密码验证通过,则确定所述目标发布信息中的目标资源数据,获取与所述目标用户具有绑定关系的用户账户对应的剩余资源数据;
若所述剩余资源数据大于所述目标资源数据,则将所述目标资源数据从与所述目标用户具有绑定关系的用户账户转移至与所述目标发布信息对应的节点具有绑定关系的用户账户。
在一个实施例中,处理器1004在执行根据所述选择请求,生成与所述目标发布信息对应的所述交易记录时,具体执行以下步骤:
根据所述选择请求,将所述目标发布信息转换为原始记录;所述原始记录包括所述交易对象;
确定所述原始记录的原始哈希散列值,根据所述第一节点的节点私钥对所述原始哈希散列值加密,生成数字签名;
将所述原始记录、所述数字签名以及所述第一节点的节点公钥封装为所述交易记录。
在一个实施例中,处理器1004还执行以下步骤:
生成与所述交易记录对应的业务区块,将所述业务区块添加至所述业务区块链。
在一个实施例中,处理器1004还执行以下步骤:
获取针对所述目标用户的查询请求;所述查询请求是与所述目标用户具有绑定关系的终端响应针对所述目标用户的查询操作所生成的请求;
根据所述查询请求,在区块用户记录表中查找与所述目标用户对应的目标单位记录;所述目标单位记录包括目标哈希散列值;
从所述业务区块链中提取与所述目标哈希值对应的业务区块,将提取的业务区块作为查询业务区块;
提取所述查询业务区块中的区块体数据,将提取的区块体数据作为查询业务数据,向与所述目标用户具有绑定关系的终端返回所述查询业务数据。
应当理解,本发明实施例中所描述的电子设备1000可执行前文图3到图11所对应实施例中对所述用户信息处理方法的描述,也可执行前文图12所对应实施例中对所述用户信息处理装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的用户信息处理装置1所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3到图11所对应实施例中对所述用户信息处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
进一步地,请参见图15,是本发明实施例提供的另一种电子设备的结构示意图。上述图3-图11对应实施例中的目标第二节点可以为电子设备2000,如图15所示,所述电子设备2000可以包括:用户接口2002、处理器2004、编码器2006以及存储器2008。信号接收器2016用于经由蜂窝接口2020、WIFI接口2012、...、或NFC接口2014接收或者发送数据。编码器2006将接收到的数据编码为计算机处理的数据格式。存储器2008中存储有计算机程序,处理器2004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。存储器2008可包括易失性存储器(例如,动态随机存取存储器DRAM),还可以包括非易失性存储器(例如,一次性可编程只读存储器OTPROM)。在一些实例中,存储器2008可进一步包括相对于处理器2004远程设置的存储器,这些远程存储器可以通过网络连接至电子设备2000。用户接口2002可以包括:键盘2018和显示器2020。
在图15所示的电子设备2000中,处理器2004可以用于调用存储器2008中存储计算机程序,以实现:
接收第一节点发送的交易记录;所述交易记录包括交易对象;目标第二节点是与所述交易对象对应的节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;
获取与所述交易记录对应的验证结果;
当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限。
在一个实施例中,交易记录还包括目标业务对象;
处理器2004在执行根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限时,具体执行以下步骤:
获取与所述目标业务对象对应的目标权限类型;
将所述目标用户在目标第二节点中的用户权限调整为所述目标权限类型。
在一个实施例中,处理器2004还执行以下步骤:
获取待发布信息;
通过调用信息发布接口,在发布页面添加所述待发布信息;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的;所述待发布信息属于所述至少一个发布信息;所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点。
在一个实施例中,处理器2004在执行通过调用信息发布接口,在发布页面添加所述待发布信息时,具体执行以下步骤:
将所述待发布信息作为所述信息发布接口的接口参数,调用所述信息发布接口,触发所述业务区块链中的智能合约中的发布函数,将所述待发布信息发布至所述发布页面。
在一个实施例中,目标第二节点是所述第二节点集合中具有最强算力的第二节点;所述交易记录还包括所述第一节点的节点公钥;
处理器2004在执行获取与所述交易记录对应的验证结果时,具体执行以下步骤:
根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果。
在一个实施例中,交易记录还包括交易内容和数字签名;所述交易内容和所述交易对象属于原始记录;
处理器2004在执行根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果时,具体执行以下步骤:
根据所述第一节点的节点公钥对所述数字签名进行解密,得到第一哈希散列值;
确定与所述原始记录对应的第二哈希散列值;
若所述第一哈希散列值和所述第二哈希散列值相同,则确定所述交易记录的验证结果为所述验证通过结果。
在一个实施例中,交易记录还包括所述第一节点的节点公钥;
处理器2004在执行获取与所述交易记录对应的验证结果时,具体执行以下步骤:
接收第三节点发送的第一单位验证结果;所述第三节点是在所述第二节点集合中除所述目标第二节点以外的第二节点;所述第一单位验证结果是所述第三节点根据所述第一节点的节点公钥对所述交易记录进行数字签名验证后的结果;所述第三节点中的交易记录是所述第一节点发送的;
根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成第二单位验证结果;
根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果。
在一个实施例中,处理器2004在执行根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果时,具体执行以下步骤:
将所述第一单位验证结果和所述第二单位验证结果作为单位验证结果;
统计所述单位验证结果为验证通过结果的数量;
若所述数量大于数量阈值,则确定所述交易记录的验证结果为所述验证通过结果。
应当理解,本发明实施例中所描述的电子设备1000可执行前文图3到图11所对应实施例中对所述用户信息处理方法的描述,也可执行前文图13所对应实施例中对所述用户信息处理装置2的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本发明实施例还提供了一种计算机存储介质,且所述计算机存储介质中存储有前文提及的用户信息处理装置2所执行的计算机程序,且所述计算机程序包括程序指令,当所述处理器执行所述程序指令时,能够执行前文图3到图11所对应实施例中对所述用户信息处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本发明所涉及的计算机存储介质实施例中未披露的技术细节,请参照本发明方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (15)
1.一种用户信息处理方法,其特征在于,包括:
第一节点获取目标用户的交易记录;所述交易记录包括交易对象;所述交易记录是在向目标第二节点绑定的用户账户转移目标资源数据后生成的;所述第一节点对应数据接收平台,所述数据接收平台用于响应用户操作;所述目标第二节点是第二节点集合包含的多个第二节点中与所述交易对象对应的第二节点;
所述第一节点将所述交易记录发送至所述目标第二节点以及第三节点;所述第一节点、所述目标第二节点和所述第三节点均属于业务区块链的区块链节点;所述第三节点是第二节点集合中除所述目标第二节点以外的第二节点,所述第二节点集合中的每个第二节点对应一个多媒体平台,多媒体平台用于提供多媒体资源;
所述目标第二节点接收第三节点发送的对所述交易记录验证后的第一单位验证结果;
所述目标第二节点对所述交易记录进行验证,得到第二单位验证结果;
所述目标第二节点获取与所述交易记录对应的验证结果;所述验证结果是由所述第一单位验证结果和所述第二单位验证结果确定的;
当所述验证结果为验证通过结果时,所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限以及将所述交易记录存储至所述业务区块链,用户权限调整后的目标用户在所述目标第二节点对应的多媒体平台中具有平台会员权限。
2.根据权利要求1所述的方法,其特征在于,所述第一节点获取目标用户的交易记录,包括:
所述第一节点获取针对目标发布信息的选择请求;所述选择请求是与所述目标用户具有绑定关系的终端响应针对发布页面中的所述目标发布信息的选择操作所生成的请求;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由第二节点集合中的第二节点添加至所述发布页面的;所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点;
所述第一节点根据所述选择请求,生成与所述目标发布信息对应的所述交易记录。
3.根据权利要求2所述的方法,其特征在于,所述选择请求包括支付密码;
所述方法还包括:
所述第一节点对所述支付密码进行验证;
若所述支付密码验证通过,则所述第一节点确定所述目标发布信息中的目标资源数据,获取与所述目标用户具有绑定关系的用户账户对应的剩余资源数据;
若所述剩余资源数据大于所述目标资源数据,则所述第一节点将所述目标资源数据从与所述目标用户具有绑定关系的用户账户转移至与所述目标发布信息对应的节点具有绑定关系的用户账户。
4.根据权利要求2所述的方法,其特征在于,所述第一节点根据所述选择请求,生成与所述目标发布信息对应的所述交易记录,包括:
所述第一节点根据所述选择请求,将所述目标发布信息转换为原始记录;所述原始记录包括所述交易对象;
所述第一节点确定所述原始记录的原始哈希散列值,根据所述第一节点的节点私钥对所述原始哈希散列值加密,生成数字签名;
所述第一节点将所述原始记录、所述数字签名以及所述第一节点的节点公钥封装为所述交易记录。
5.根据权利要求1所述的方法,其特征在于,还包括:
所述第一节点生成与所述交易记录对应的业务区块,将所述业务区块添加至所述业务区块链。
6.根据权利要求5所述的方法,其特征在于,还包括:
所述第一节点获取针对所述目标用户的查询请求;所述查询请求是与所述目标用户具有绑定关系的终端响应针对所述目标用户的查询操作所生成的请求;
所述第一节点根据所述查询请求,在区块用户记录表中查找与所述目标用户对应的目标单位记录;所述目标单位记录包括目标哈希散列值;
所述第一节点从所述业务区块链中提取与所述目标哈希值对应的业务区块,将提取的业务区块作为查询业务区块;
所述第一节点提取所述查询业务区块中的区块体数据,将提取的区块体数据作为查询业务数据,向与所述目标用户具有绑定关系的终端返回所述查询业务数据。
7.一种用户信息处理方法,其特征在于,包括:
目标第二节点接收第一节点发送的交易记录;所述交易记录包括交易对象;所述目标第二节点是第二节点集合包含的多个第二节点中与所述交易对象对应的第二节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;所述交易记录是在向目标第二节点绑定的用户账户转移目标资源数据后生成的;所述第一节点对应数据接收平台,所述数据接收平台用于响应用户操作;
所述目标第二节点接收第三节点发送的对所述交易记录验证后的第一单位验证结果;所述第三节点是第二节点集合中除所述目标第二节点以外的第二节点,所述第三节点属于业务区块链的区块链节点,所述第二节点集合中的每个第二节点对应一个多媒体平台,多媒体平台用于提供多媒体资源;
所述目标第二节点对所述交易记录进行验证,得到第二单位验证结果;
所述目标第二节点获取与所述交易记录对应的验证结果;所述验证结果是由所述第一单位验证结果和所述第二单位验证结果确定的;
当所述验证结果为验证通过结果时,所述目标第二节点根据所述交易记录调整目标用户在所述目标第二节点中的用户权限以及将所述交易记录存储至所述业务区块链,用户权限调整后的目标用户在所述目标第二节点对应的多媒体平台中具有平台会员权限。
8.根据权利要求7所述的方法,其特征在于,所述交易记录还包括目标业务对象;
所述目标第二节点根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限,包括:
所述目标第二节点获取与所述目标业务对象对应的目标权限类型;
所述目标第二节点将所述目标用户在所述目标第二节点中的用户权限调整为所述目标权限类型。
9.根据权利要求7所述的方法,其特征在于,还包括:
所述目标第二节点获取待发布信息;
所述目标第二节点通过调用信息发布接口,在发布页面添加所述待发布信息;所述发布页面包括至少一个发布信息;所述至少一个发布信息是由所述第二节点集合中的第二节点添加至所述发布页面的;所述待发布信息属于所述至少一个发布信息;所述第二节点集合包括至少一个第二节点,所述目标第二节点是所述至少一个第二节点中的节点;所述第二节点集合属于所述业务区块链的区块链节点。
10.根据权利要求9所述的方法,其特征在于,所述目标第二节点是所述第二节点集合中具有最强算力的第二节点;所述交易记录还包括所述第一节点的节点公钥;
所述目标第二节点获取与所述交易记录对应的验证结果,包括:
所述目标第二节点根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成所述验证结果。
11.根据权利要求9所述的方法,其特征在于,所述交易记录还包括所述第一节点的节点公钥;
所述目标第二节点获取与所述交易记录对应的验证结果,包括:
所述目标第二节点接收第三节点发送的第一单位验证结果;所述第三节点是在所述第二节点集合中除所述目标第二节点以外的第二节点;所述第一单位验证结果是所述第三节点根据所述第一节点的节点公钥对所述交易记录进行数字签名验证后的结果;所述第三节点中的交易记录是所述第一节点发送的;
所述目标第二节点根据所述第一节点的节点公钥,对所述交易记录进行数字签名验证,生成第二单位验证结果;
所述目标第二节点根据所述第一单位验证结果和所述第二单位验证结果,生成所述验证结果。
12.一种用户信息处理装置,其特征在于,包括:
记录获取模块,用于获取目标用户的交易记录;所述交易记录包括交易对象;所述交易记录是在向目标第二节点绑定的用户账户转移目标资源数据后生成的;第一节点对应数据接收平台,所述数据接收平台用于响应用户操作;所述目标第二节点是第二节点集合包含的多个第二节点中与所述交易对象对应的第二节点;
记录发送模块,用于将所述交易记录发送至所述目标第二节点以及第三节点,以使所述目标第二节点获取与所述交易记录对应的验证结果,当所述验证结果为验证通过结果时,根据所述交易记录调整所述目标用户在所述目标第二节点中的用户权限以及将所述交易记录存储至业务区块链,用户权限调整后的目标用户在所述目标第二节点对应的多媒体平台中具有平台会员权限;所述第一节点、所述目标第二节点和所述第三节点均属于业务区块链的区块链节点,所述第三节点是第二节点集合中除所述目标第二节点以外的第二节点,所述第二节点集合中的每个第二节点对应一个多媒体平台,多媒体平台用于提供多媒体资源,所述验证结果是由第一单位验证结果和第二单位验证结果确定的,所述第一单位验证结果是第三节点对所述交易记录验证后并发送至目标第二节点的单位验证结果,所述第二单位验证结果是目标第二节点对所述交易记录验证后生成的单位验证结果。
13.一种用户信息处理装置,其特征在于,包括:
交易接收模块,用于接收第一节点发送的交易记录;所述交易记录包括交易对象;所述交易记录是在向目标第二节点绑定的用户账户转移目标资源数据后生成的;所述第一节点对应数据接收平台,所述数据接收平台用于响应用户操作;所述目标第二节点是第二节点集合包含的多个第二节点中与所述交易对象对应的第二节点;所述第一节点和所述目标第二节点均属于业务区块链的区块链节点;
第二验证模块,用于接收第三节点发送的对所述交易记录验证后的第一单位验证结果;所述第三节点是第二节点集合中除所述目标第二节点以外的第二节点,所述第三节点是属于业务区块链的区块链节点,所述第二节点集合中的每个第二节点对应一个多媒体平台,多媒体平台用于提供多媒体资源;
第二验证模块,还用于对所述交易记录进行验证,得到第二单位验证结果;
第二验证模块,还用于获取与所述交易记录对应的验证结果;所述验证结果是由所述第一单位验证结果和所述第二单位验证结果确定的;
调整模块,用于当所述验证结果为验证通过结果时,根据所述交易记录调整目标用户在目标第二节点中的用户权限以及将所述交易记录存储至所述业务区块链,用户权限调整后的目标用户在所述目标第二节点对应的多媒体平台中具有平台会员权限。
14.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-11中任一项所述方法的步骤。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时,执行如权利要求1-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151587.5A CN110942292B (zh) | 2019-11-21 | 2019-11-21 | 一种用户信息处理方法、装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911151587.5A CN110942292B (zh) | 2019-11-21 | 2019-11-21 | 一种用户信息处理方法、装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110942292A CN110942292A (zh) | 2020-03-31 |
CN110942292B true CN110942292B (zh) | 2021-04-30 |
Family
ID=69907268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911151587.5A Active CN110942292B (zh) | 2019-11-21 | 2019-11-21 | 一种用户信息处理方法、装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110942292B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098837B (zh) * | 2022-06-21 | 2024-05-24 | 马上消费金融股份有限公司 | 数据处理方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018024062A1 (zh) * | 2016-08-01 | 2018-02-08 | 华为技术有限公司 | 版权授权管理方法及系统 |
CN108769751A (zh) * | 2018-05-02 | 2018-11-06 | 中广热点云科技有限公司 | 一种基于智能合约的网络视听管理支撑系统 |
CN108959523A (zh) * | 2018-06-28 | 2018-12-07 | 北京首汽智行科技有限公司 | 一种基于区块链技术的音乐播放方法和播放器 |
CN109324997A (zh) * | 2018-09-14 | 2019-02-12 | 佛山科学技术学院 | 一种基于区块链的数字权利保护方法及装置 |
CN110278467A (zh) * | 2019-07-09 | 2019-09-24 | 腾讯科技(深圳)有限公司 | 多媒体资源的播放方法和装置、存储介质及电子装置 |
CN110458560A (zh) * | 2019-07-12 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 用于进行交易验证的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106250721A (zh) * | 2016-07-28 | 2016-12-21 | 杭州云象网络技术有限公司 | 一种基于区块链的电子版权保护方法 |
US11218324B2 (en) * | 2018-04-05 | 2022-01-04 | Ares Technologies, Inc. | Systems and methods authenticating a digitally signed assertion using verified evaluators |
CN108769750B (zh) * | 2018-05-02 | 2020-11-17 | 中广热点云科技有限公司 | 一种基于区块链技术的数字内容银行系统 |
-
2019
- 2019-11-21 CN CN201911151587.5A patent/CN110942292B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018024062A1 (zh) * | 2016-08-01 | 2018-02-08 | 华为技术有限公司 | 版权授权管理方法及系统 |
CN108769751A (zh) * | 2018-05-02 | 2018-11-06 | 中广热点云科技有限公司 | 一种基于智能合约的网络视听管理支撑系统 |
CN108959523A (zh) * | 2018-06-28 | 2018-12-07 | 北京首汽智行科技有限公司 | 一种基于区块链技术的音乐播放方法和播放器 |
CN109324997A (zh) * | 2018-09-14 | 2019-02-12 | 佛山科学技术学院 | 一种基于区块链的数字权利保护方法及装置 |
CN110278467A (zh) * | 2019-07-09 | 2019-09-24 | 腾讯科技(深圳)有限公司 | 多媒体资源的播放方法和装置、存储介质及电子装置 |
CN110458560A (zh) * | 2019-07-12 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 用于进行交易验证的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110942292A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214780B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
US11082234B2 (en) | Method and system for privacy-preserving social media advertising | |
CN108681853B (zh) | 基于区块链的物流信息传输方法、系统和装置 | |
CN107038578B (zh) | 基于区块链的数据交易平台中多重签名交易信息处理方法 | |
US11941588B2 (en) | Systems and methods for blockchain virtualization and scalability | |
CN107180350B (zh) | 一种基于区块链的多方共享交易元数据的方法、装置及系统 | |
US20180089651A9 (en) | Blockchaining systems and methods for frictionless media | |
CN109191212B (zh) | 确定分享用户的方法、装置、设备及计算机可读存储介质 | |
CN111445333B (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
US20170134161A1 (en) | Blockchaining for media distribution | |
CN109299955B (zh) | 信息的记录方法、装置、设备及计算机可读存储介质 | |
US11386050B2 (en) | Activity verification using a distributed database | |
US20210049600A1 (en) | Digital Asset Delivery Network | |
Ferrer-Gomila et al. | A fair contract signing protocol with blockchain support | |
CN111049806B (zh) | 一种联合权限控制方法、装置、电子设备和存储介质 | |
CN110598456B (zh) | 一种数据存储方法、装置、电子设备以及存储介质 | |
CN110532806A (zh) | 标书管理方法、系统及计算机可读存储介质 | |
CN111461799B (zh) | 数据处理方法、装置、计算机设备及介质 | |
CN116257589A (zh) | 交易数据处理方法、系统、装置、电子设备及存储介质 | |
JP2022532889A (ja) | 複数インプットトランザクション | |
CN110942292B (zh) | 一种用户信息处理方法、装置、电子设备以及存储介质 | |
CN109985390B (zh) | 虚拟资产管理方法及系统 | |
CN111008900A (zh) | 基于智能合约的数据分配方法以及装置 | |
CN113064899B (zh) | 资产类证券型通证交易凭证的存储方法、装置和电子设备 | |
KR102494873B1 (ko) | 일반 연산 검증용 영지식 증명 서킷 기반 가상머신을 구현하기 위한 거래 수행장치 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |