CN116777456A - 数据处理方法、装置、存储介质、设备及程序产品 - Google Patents

数据处理方法、装置、存储介质、设备及程序产品 Download PDF

Info

Publication number
CN116777456A
CN116777456A CN202210217490.5A CN202210217490A CN116777456A CN 116777456 A CN116777456 A CN 116777456A CN 202210217490 A CN202210217490 A CN 202210217490A CN 116777456 A CN116777456 A CN 116777456A
Authority
CN
China
Prior art keywords
information
transaction
wallet
target
address
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
Application number
CN202210217490.5A
Other languages
English (en)
Inventor
郑伟林
温伟力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210217490.5A priority Critical patent/CN116777456A/zh
Publication of CN116777456A publication Critical patent/CN116777456A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3674Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes involving authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • G06Q20/4015Transaction verification using location information

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开一种数据处理方法、装置、存储介质、设备及程序产品,可应用于区块链、应用技术、支付等各种场景。该方法包括:获取第一设备发送的交易信息与钱包访问密钥,交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用请求方信息从多个托管钱包中确定出交易请求对应的目标钱包;根据钱包访问密钥对目标钱包进行解锁,在解锁成功时,利用解锁结果中的目标密钥对交易信息进行签名并得到签名结果;将签名结果提交至区块链全节点,获取区块链全节点执行对应的任务得到的交易结果;将交易结果发送至第一设备。本申请中,多用户可基于各自其对应的钱包访问密钥通过区块链全节点实现交易,可提高钱包信息的安全性。

Description

数据处理方法、装置、存储介质、设备及程序产品
技术领域
本申请涉及区块链技术领域,具体涉及一种数据处理方法、装置、存储介质、设备及程序产品。
背景技术
目前,主流的区块链平台,无论是公有链还是联盟链,部署全节点一般需要高性能的存储和计算资源,部署和维护费用较高,基于此,在部署全节点后,多个用户采取将自身的私钥或者钱包等钱包信息托管在同一区块链节点上以实现共享同一区块链全节点,从而节省成本,但是,该方式则会导致多个用户将钱包托管于区块链全节点上,多个用户的权限隔离不清晰,钱包信息的安全性较低。
发明内容
本申请实施例提供一种数据处理方法、装置、存储介质、设备及程序产品,可以提高多用户在共用同一区块链节点时,用户的钱包信息的安全性。
一方面,提供一种数据处理方法,所述方法包括:
获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;
利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;
根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;
将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;
获取所述交易结果;
将所述交易结果发送至所述第一设备。
另一方面,还提供一种数据处理方法,包括:
获取第二设备提交的针对目标钱包的交易信息的签名结果;
根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;
将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;
其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名得到的。
另一方面,提供一种数据处理装置,所述装置包括:
第一获取单元,用于获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;
确定单元,用于利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;
处理单元,用于根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;
提交单元,用于将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;
第二获取单元,用于获取所述交易结果;
发送单元,用于将所述交易结果发送至所述第一设备。
另一方面,还提供一种数据处理装置,所述装置包括:
获取单元,用于获取第二设备提交的针对目标钱包的交易信息的签名结果;
执行单元,用于根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;
反馈单元,用于将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;
其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名得到的。
另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的数据处理方法中的步骤。
另一方面,提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上任一实施例所述的数据处理方法中的步骤。
另一方面,提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上任一实施例所述的数据处理方法中的步骤。
本申请实施例通过获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;获取所述交易结果;将所述交易结果发送至所述第一设备的方式,多用户可共同将钱包托管至同一服务,并且,各用户有其对应的钱包访问密钥,在其进行交易时,需对目标钱包进行解锁后,利用解锁结果对交易信息进行签名后才发送区块链全节点,使区块链全节点进行处理,既能保证快速签名上链,又能提高多用户共享同一区块链全节点时,钱包信息的安全性,也提升了用户体验,并且,多用户基于同一区块链全节点完成交易还起到了节省成本的作用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据处理系统的结构示意图。
图2为本申请实施例提供的数据处理方法的第一流程示意图。
图3为本申请实施例提供的数据处理方法的第二流程示意图。
图4a为本申请实施例提供的数据处理方法的第三流程示意图。
图4b为本申请实施例提供的数据处理方法的第四流程示意图。
图5为本申请实施例提供的数据处理装置的第一结构示意图。
图6为本申请实施例提供的数据处理装置的第二结构示意图。
图7为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例可应用于区块链、应用技术、支付等各种场景。
本申请实施例提供一种数据处理方法、装置、计算机设备和存储介质。具体地,本申请实施例的数据处理方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、台式计算机、智能电视、智能音箱、穿戴式智能设备、智能车载终端等设备,终端还可以包括客户端,该客户端可以是视频客户端、浏览器客户端或即时通信客户端等。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语作如下解释:
区块链:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
区块链底层平台可以包括用户管理、基础服务、智能合约以及运营检测等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和区块链地址对应关系维护(权限管理)等,并且在授权的情况下,监管和审计某些真实身份的交易情况,提供风险控制的规则配置(风控审计);基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发行以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营检测模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、检测网络情况、检测节点设备健康状态等。
平台产品服务层提供典型应用的基本能力和实现框架,开发人员可以基于这些基本能力,叠加业务的特性,完成业务逻辑的区块链实现。应用服务层提供基于区块链方案的应用服务给业务参与方进行使用。
区块链系统:可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、对象终端)通过网络通信的形式连接形成的分布式系统。节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议,在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。
区块链节点:指能完整完成区块链交易的暂存、打包、验证、持久化的计算设备。
世界状态:指区块链智能合约所操作、保存的数据,例如合约中保存的商品账单、物流等信息。
全节点:全节点是是拥有完整区块链账本的节点,全节点需要占用内存同步所有的区块链数据,能够独立校验区块链上的所有交易并实时更新数据,主要负责区块链的交易的广播和验证,能够独立完成对交易的打包与验证等,并处理客户端对智能合约状态的读写请求。
钱包:在区块链系统中,保存有对象私钥的程序或数据称为钱包,用于在发送交易时证明对象对某些链上资产的所有权,由钱包应用、钱包秘钥等组成。
托管钱包:指不提供对象私钥或者将私钥存储在自身的服务器中的钱包。
对称加密算法:在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,要求解密方事先必须知道加密密钥。
虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。
区块链的运行需要计算、存储大量的智能合约状态数据及交易信息,因此运行一个区块链节点服务器成本往往较高。但是,如果采用多个用户共享一个节点,虽然方便某些交易的快速上链,但是在进行钱包托管时,将私钥数据托管在节点中,又存在钱包托管安全性较低的问题。为了这解决这些问题,本申请提出一种数据处理方案,其中,本申请实施例可结合云技术或区块链网络技术实现。
请参考图1,图1为本申请实施例提供的数据处理系统的结构示意图。该数据处理系统包括终端10、管理设备20和服务器30等;终端10、管理设备20和服务器30之间通过网络连接,比如,通过有线或无线网络连接等。
终端10中包含有存储器,用于存储交互数据、处理器,用于处理交互数据。管理设备20与服务器30中包含有数据库与处理引擎,其中,数据库用于存储交互数据;处理引擎用于处理交互数据。
终端10可以用于显示图形用户界面,通过图形用户界面与用户进行交互。具体地,终端可通过下载安装相应的客户端,如供用户访问钱包应用的客户端并运行,显示图像用户界面,还可通过调用相应的小程序并运行,显示图像用户界面,还可基于相应的登录网站呈现相应的图像用户界面。
可选地,前述管理设备20可以与服务器30为同一设备,也可以不为同一设备,当管理设备20与服务器30为同一设备时,区块链全节点运行于管理设备20(也为服务器30);当管理设备20与服务器30为不为同一设备时,区块链全节点运行于服务器30。
可选地,终端10用于获取目标对象的操作指令,根据操作指令生成对应的请求;并将所述请求发送至管理设备20;
可选地,终端10用于获取目标对象触发的交易指令,根据交易指令生成对应的交易请求;并将所述交易请求发送至管理设备20;
管理设备20用于:获取终端10发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;获取所述交易结果;将所述交易结果发送至所述终端10。
可选地,当管理设备20与服务器30为同一设备时,管理设备20自获取终端10发送的交易请求后,直至将交易结果发送至所述终端10执行的计算机程序可以与区块链全节点的执行程序属于同一套计算机程序。
区块链全节点用于根据所述签名结果执行所述交易信息对应的任务得到交易结果并反馈所述交易结果。
可选地,终端10还用于获取目标对象触发的第二智能合约的读取指令,根据读取指令生成对应的读取请求;并将所述读取请求发送至管理设备20;
管理设备20还用于:获取所述终端10发送的针对第二智能合约的状态的读取请求,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息;将所述读取请求提交至所述区块链全节点,使得所述区块链全节点根据所述读取请求反馈所述第二智能合约的状态;获取所述第二智能合约的状态;将所述第二智能合约的状态发送至所述终端10。
可选地,上述服务器30可以为物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端10可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能车载终端等,但并不局限于此。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
本申请实施例提供了一种数据处理方法,该方法可以由第二设备执行,第二设备可以为前述数据处理系统中的管理设备20,图2为本申请实施例提供的一种数据处理方法的第一流程示意图,该方法至少包括以下步骤:
步骤S201、获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;
步骤S202、利用所述交易信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;
步骤S203、根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;
步骤S204、将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;
步骤S205、获取所述交易结果;
步骤S206、将所述交易结果发送至所述第一设备。
可选地,所述方法还包括:在解锁失败时,向所述第一设备发送解锁失败提示信息。
其中,第一设备可以为共享所述区块链全节点的对象的多个终端中的任一终端,如可以为前述数据处理系统中的终端10,前述目标钱包为请求方信息对应的目标对象的托管钱包,本申请中的对象可以为用户,目标对象可以为请求方信息对应的用户,前述交易请求可以为针对所述目标钱包的转账、充值等请求;请求方信息可以为目标对象的对象信息,如用户信息,具体可以为触发交易请求的账号信息,该账号信息可以包括账户名、账户标识等,其中,对象信息在得到对象的授权后获取。
可选地,交易请求中包含的信息可用以下语句表达:
TxR=<ContractAddr1,Function 1+Parameter1,User,PWD>
其中,TxR为交易请求,ContractAddr1为第一智能合约的地址,Function1与Parameter1分别为交易参数信息中的交易执行函数以及相应的参数,User为请求方信息,PWD为钱包访问密钥。
在本申请的一些可选的实施例中,步骤S202中的多个第一对象,包括目标对象以及与目标对象共享区块链全节点的对象。
可选地,多个第一对象的数量不小于2,针对多个第一对象对应的多个托管钱包的情况,一个第一对象可以对应一个托管钱包,一个第一对象也可以对应多个托管钱包。
可选地,前述步骤S202中,利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包包括:
S2021、利用所述请求方信息确定对应的目标托管地址;
S2022、基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的目标钱包;
其中,所述托管钱包库包括对应所述多个第一对象的多个钱包托管地址,以及各钱包托管地址对应的托管钱包。
可选地,一个第一对象可以对应一个钱包托管地址,也可以对应多个钱包托管地址;钱包托管地址与托管钱包一一对应。
可选地,托管钱包库的多个钱包托管地址与多个钱包托管地址对应的多个托管钱包可以以映射表的形式存储,也可以以图的方式存储。
可选地,基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的目标钱包包括:将托管钱包库中的对应的钱包托管地址与所述目标托管地址相同的托管钱包作为目标钱包。
可选地,前述步骤S2021,利用所述请求方信息确定对应的目标托管地址包括:
获取预设的第一权限信息库,所述第一权限信息库包括具有钱包托管权限的多个第二对象的多个第二对象信息,以及所述多个第二对象信息对应的多个钱包托管地址;
根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址。
在本申请的一些可选的实施例中,根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址包括:
查询所述第一权限信息库中是否存在与对应的第二对象信息与所述请求方信息相同的钱包托管地址,若是,则将对应的第二对象信息与所述请求方信息相同的钱包托管地址作为目标托管地址;
若未查询出与请求方信息相同的第二对象信息,或未查询出对应的第二对象信息与所述请求方信息相同的钱包托管地址,则向所述第一设备发送失败提示信息。
在本申请的一些可选的实施例中,根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址可基于以下查询语句实现:
Row1=QUERY(“SELECT sender WHERE user1=User”)
其中,User为请求方信息,user1为第一权限信息库中的第二对象信息,sender为第一权限信息库中的钱包托管地址;SELECT sender WHERE user 1=User,指将第一权限信息库中对应的第二对象信息与请求方信息User相同的钱包托管地址作为目标托管地址。
当Row1为空,则说明查询失败,此时,向第一设备发送失败提示信息,若Row1不为空,则将Row1对应的钱包托管地址作为目标托管地址。
在本申请的另一些可选的实施例中,交易信息中还包括有目标钱包的地址标识,相应地,前述步骤S202中,利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包包括:
利用所述请求方信息与所述目标钱包的地址标识,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的所述目标钱包。
相应地,利用所述请求方信息与所述目标钱包的地址标识,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包包括:
利用所述请求方信息与所述目标钱包的地址标识确定对应的目标托管地址;
基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的所述目标钱包。
相应地,利用所述请求方信息与所述目标钱包的地址标识确定对应的目标托管地址包括:
获取预设的第一权限信息库,所述第一权限信息库中的包括具有钱包托管权限的多个第二对象的多个第二对象信息、所述多个第二对象信息对应的多个钱包托管地址,以及该多个钱包托管地址中的至少部分钱包托管地址的地址标识;
根据所述请求方信息、所述目标钱包的地址标识,以及所述第一权限信息库,确定所述目标托管地址。
可选地,根据所述请求方信息、所述目标钱包的地址标识,以及所述第一权限信息库,确定目标托管地址包括:
查询所述第一权限信息库中是否存在对应的第二对象信息与所述请求方信息相同,且对应的地址标识与所述目标钱包的地址标识相同的钱包托管地址,若是,则将对应的第二对象信息与所述请求方信息相同,且对应的地址标识与所述目标钱包的地址标识相同的钱包托管地址作为目标托管地址;
若未查询出与请求方信息相同的第二对象信息,或未查询出对应的第二对象信息与所述请求方信息相同,且对应的地址标识与所述目标钱包的地址标识相同的钱包托管地址,则向所述第一设备发送失败提示信息。
其中,地址标识可仅包括钱包地址,还可仅包括地址标号,还可同时包括钱包地址与地址标号。
在本申请的一些可选的实施例中,根据所述请求方信息、所述目标钱包的地址标识,以及所述第一权限信息库,确定所述目标托管地址可基于以下查询语句实现:
Row1=QUERY(“SELECT sender WHERE user1=User sender=SenderX”)
其中,User为请求方信息,user1为第一权限信息库中的第二对象信息,SenderX为目标钱包的钱包地址,sender为第一权限信息库中的钱包托管地址,SELECT sender WHEREuser1=User,sender=SenderX,指将对应的第二对象信息与请求方信息User相同,且与目标钱包的钱包地址相同的钱包托管地址作为目标托管地址。
当Row1为空,则说明查询失败,此时,向第一设备发送失败提示信息,若Row1不为空,则将Row1对应的钱包托管地址作为目标托管地址。
可选地,若交易信息中不包含目标钱包的地址标识,仅包含请求方信息时,若从第一权限信息库中查询到对应的第二对象信息与所述请求方信息相同的钱包托管地址为多个时,则根据预设规则从对应的第二对象信息与所述请求方信息相同的多个钱包托管地址中确定出目标托管地址,其中,预设规则可以为将对应的第二对象信息与所述请求方信息相同的多个钱包托管地址中的预设位置的地址作为目标托管地址,其中,预设位置可以为第一行或第一列的位置。
可选地,本申请中的第一权限信息库中的各信息可以以映射表的形式存储,也可以以图的方式存储。
可选地,前述步骤S203中,根据所述钱包访问密钥对所述目标钱包进行解锁可包括以下步骤:
S2031、获取所述目标钱包对应的所述目标托管地址;
S2032、将所述钱包访问密钥与所述目标托管地址作为预设的解锁函数的输入参数,执行所述解锁函数,得到解锁结果。
可选地,将所述钱包访问密钥与所述目标托管地址作为预设的解锁函数的输入参数,执行所述解锁函数,得到解锁结果可通过以下方式实现:
CHECK=UNLOCK(SenderX1,PWD)
其中,SenderX1为目标托管地址,PWD为钱包访问密钥,UNLOCK为解锁函数,CHECK为解锁结果。
若解锁结果为第一预设值,则说明解锁失败,此时,则向第一设备反馈解锁失败的提示信息,若解锁结果包括第二预设值,则说明解锁成功。
可选地,第一预设值为0,第二预设值为1。
具体地,当解锁结果为第二预设值时,解锁结果中还包括解锁目标钱包得到的目标密钥。
可选地,PWD为对称加密中的密钥。
在本申请的一些可选的实施例中,步骤S203中,利用解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果可包括以下步骤:
S2033、获取所述目标密钥对应的所述目标托管地址;
S2035、将所述目标托管地址与所述交易信息作为预设签名函数的输入参数,执行所述预设签名函数,得到所述交易信息对应的签名结果。
将所述目标托管地址与所述交易信息作为预设签名函数的输入参数,执行所述预设签名函数,得到所述交易信息对应的签名结果可通过以下方式实现:
R1=SIGN(TxReq,SenderX1)
其中,TxReq为交易信息,senderX1为目标托管地址,SIGN()为通过对SenderX1中的目标钱包解锁后得到的目标密钥,对TxReq进行签名的函数,R1为签名结果。
可选地,前述步骤S204中,将所述签名结果提交至区块链全节点可通过将签名结果提交至区块链全节点的交易内存池中的函数实现,例如,SEND(R1),其中,SEND()为将所述签名结果提交至区块链全节点可通过将签名结果提交至区块链全节点的交易内存池中的函数。
可选地,将签名结果提交至区块链全节点的交易内存池后,将获取区块链全节点相应的交易反馈值,交易反馈值可以为交易信息对应的哈希值。
可选地,前述区块链全节点,可以为以太坊类型的区块链全节点。
可选地,在获取到交易反馈值后,可将交易反馈值发送至第一设备。
可选地,在将签名结果提交至区块链全节点的交易内存池,并获取到前述交易反馈值后,可向区块链全节点发送检测请求,所述检测请求用于检测所述区块链全节点对应的区块链最新产生的区块是否包含有对应所述交易反馈值的收据信息,若有,则确认交易完成。
可选地,所述方法还包括:检测到收据信息后,从区块链全节点获取所述收据信息。
其中,所述收据信息可包括交易结果、交易事件等。
可选地,本申请的方法中,在接收到交易请求后,可赋予交易请求一请求标识,并在与区块链全节点进行数据交互过程中,携带该请求标识,进而使得第二设备在接收到交易请求对应的信息,如交易反馈值和/或收据信息时,可根据交易反馈值和/或收据信息中的请求标识确定出交易反馈值和/或收据信息与交易请求的对应关系,进而根据请求标识向第一设备发送交易反馈值和/或收据信息。
可选地,前述交易反馈值,用于提示第一设备,第二设备已将交易信息提交至区块链全节点。
可选地,本申请提供的方法还可在获取到交易反馈值后,在接收到交易请求对应的收据信息后,将交易反馈值与收据信息共同发送至第一设备。
可选地,本申请的方案中,PWD作为用户持有的对称秘钥,可以是任意长度的,并且,由于存储在用户的托管钱包中的目标密钥都是通过用户各自的PWD进行对称加密的,且全过程不将PWD进行任何数据持久化等操作,保证了多用户进行钱包托管,并基于同一区块链全节点进行交易的安全性。
可选地,第一设备与第二设备间可进行HTTPS等加密通讯,以防止对称加密秘钥的泄露。
区块链全节点可提供交易的上链打包,还可提供智能合约状态的读取,第二设备在使用某一区块链上的去中心化应用、或需要对某一区块链智能合约状态进行读取操作时,需要向对应的区块链全节点请求合约状态数据,基于此,上述方法还包括以下步骤:
S1、获取所述第一设备发送的针对第二智能合约的状态的读取请求,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息;
S2、将所述读取请求提交至所述区块链全节点,使得所述区块链全节点根据所述读取请求反馈所述第二智能合约的状态;
S3、获取所述第二智能合约的状态;
S4、将所述第二智能合约的状态发送至所述第一设备。
可选地,前述读取请求可通过以下语句表示:
REQUEST=<ContractAddr2,Function2+Parameter2>
其中,REQUEST指读取请求,ContractAddr2为第二智能合约的地址,Function2与Parameter2分别为读取请求对应的交易执行函数以及相应的参数。
可选地,所述方法还包括:
S11、根据所述读取请求与预设的第二权限信息库,确定所述请求方信息对应的目标对象是否有权限读取所述第二智能合约的状态,若是,则触发将所述读取请求提交至所述区块链全节点的步骤。
可选地,若所述目标对象不具有读取所述第二智能合约的状态的权限,则向第一设备发送对应的权限提示信息。
可选地,所述第二权限信息库包括具有读取其对应的智能合约的多个第三对象的多个第三对象信息,以及所述多个第三对象信息对应的多个智能合约地址;
可选地,多个第三对象与所述多个第三对象信息一一对应,第三对象信息可以为用户信息,第三对象信息可以在得到第三对象的授权后获取。第三对象信息与智能合约地址可以一一对应,也可以一个第三对象信息对应多个智能合约地址。
可选地,第二权限信息库中多个第三对象信息,以及所述多个第三对象信息对应的多个智能合约地址可以以映射表的形式存储,也可以以图的方式存储,也可以以其他形式存储。
可选地,根据所述读取请求与预设的第二权限信息库,确定所述请求方信息对应的目标对象是否有权限读取所述第二智能合约的状态包括:
查询所述第二权限信息库中是否存在对应的第三对象信息与所述请求方信息相同,且与第二智能合约地址相同的智能合约地址,若有,则确定所述请求方信息对应的目标对象有权限读取所述第二智能合约的状态;
若未查询出与所述请求方信息相同的第三对象信息,或未查询出对应的第三对象信息与所述请求方信息相同,且与第二智能合约地址相同的智能合约地址,则确定所述请求方信息对应的目标对象不具有权限读取所述第二智能合约的状态。
可选地,查询所述第二权限信息库中是否存在对应的第三对象信息与所述请求方信息相同,且与第二智能合约地址相同的智能合约地址可通过以下语句实现:
Row2=QUERY(“SELECT available WHERE user2=User contract1=ContractAddr2”)
其中,user2为第三对象信息,contract1为第二权限信息库中的智能合约地址,User为请求方信息,ContractAddr2为第二智能合约的地址,第二权限信息库可以为如Mysql的关系型数据库,其中,Row2可以查询到的行,QUERY为向MySql执行查询的函数,QUERY内部为MySql语句,其语义为查询请求方信息User和第二智能合约的地址ContractAddr2的行是否存在,如果存在,返回其available列的值作为Row2的结果集。
如果available为假或者Row2的长度为0,则说明请求方信息对应的目标对象不具有访问第二智能合约的地址的权限,则返回第一错误提示信息给第一设备,如果available为真,则继续下一步操作。
在本申请的可选的实施例中,为了避免用户恶意的、无休止的调用区块链全节点使其宕机,需要对用户对智能合约的读取次数进行计数,上述方法还包括:
获取读取次数信息库;
根据所述读取请求与读取次数信息库,确定所述目标对象对应的未读取次数是否大于预设阈值,若是,则控制减少所述未读取次数;
若所述目标对象对应的未读取次数不大于所述预设阈值,则向所述第一设备发送对应的读取限制提示信息。
其中,读取次数信息库包括:对应多个第四对象的多个第四对象信息,以及多个第四对象信息对应的多个智能合约地址,以及各智能合约地址对应的未读取次数。
可选地,多个第四对象与所述多个第四对象信息一一对应,第四对象信息可以为用户信息,第四对象信息可以在得到第四对象的授权后获取。第四对象信息与智能合约地址可以一一对应,也可以一个第四对象信息对应多个智能合约地址;智能合约地址与其对应的未读取次数一一对应。
可选地,读取次数信息库可以包含读取请求计数表,可通过读取请求计数表中的记录,确定目标对象对应的未读取次数是否大于预设阈值可通过以下语句实现:
QUERY(“SELECT read WHERE user3=User contract2=ContractAddr2”)
其中,user3为第四对象信息,contract2为读取次数信息库中的智能合约地址,User为请求方信息,ContractAddr2为第二智能合约的地址,read为未读取次数(如用户对某一智能合约的可读取的剩余次数),read的值可记为N,若N不为0,则将N更新为N-1,即控制所述未读取次数减1,若N为0,则说明用户存在DDOS(Distributed Denial of Service,分布式拒绝服务攻击)攻击嫌疑,则返回第二错误提示信息至第二设备。如果N值大于0,则进行更新操作。
更新方式通过以下语句进行实现:
QUERY(“UPDATE read=N-1WHERE user3=User contract2=ContractAddr2”)。
可选地,在控制减少所述未读取次数后,则触发前述步骤S2,可选地,可通过区块链全节点的web3接口获取区块链全节点反馈的第二智能合约的状态。
可选地,区块链全节点在接收到读取请求后,执行对应的读取任务,读取出对应的状态,并通过web3接口将状态反馈至第二设备。
可选地,区块链全节点在接收到读取请求后,执行对应的读取任务可通过以下语句实现:
RESPONSEid=Execute(ContractAddr2,Function2+Parameter2)
其中,Execute()为区块链节点通过运行一次智能合约虚拟机执行第二智能合约的地址中的交易执行函数的函数。
RESPONSEid为区块链全节点执行Execute()的输出结果,即包含第二智能合约的状态的消息体。
可选地,第二设备可在接收到读取请求后,赋予读取请求一请求标识,并在于区块链全节点进行数据交互过程中,携带该请求标识,进而使得第二设备在接收到读取请求对应的信息,如读取到的包含第二智能合约的状态的消息体,可根据包含第二智能合约的状态的消息体确定第二智能合约的状态与读取请求的对应关系,便于向第一设备发送第二智能合约的状态。
在本申请的实施例中,第二设备根据请求标识获得原本阻塞的HTTP请求链接,并返回读取结果,发送至第一设备。在这一过程中,完成了对多用户共享状态的区块链节点的状态读取与计数。其中,第二权限信息库可以为用户通过其他信息系统付费形成,还可以根据云服务商的自行设置与多用户套餐设计,可提供定时恢复可读取次数或按付费增加可读取次数等,保障用户低成本下服务的高效可用。
本申请实施例还提供了一种数据处理方法,该方法可以由区块链全节点所在的第三设备执行,第三设备可以为前述数据处理系统中的服务器30,图3为本申请实施例提供的一种数据处理方法的第二流程示意图,该方法至少包括以下步骤:
S301、获取第二设备提交的针对目标钱包的交易信息的签名结果;
S302、根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;
S303、将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;
其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名得到的。
可选地,第二设备在将前述签名结果提交至第三设备后,具体由区块链全节点接收签名结果,并基于签名结果执行所述交易信息对应的任务得到交易结果;并由区块链全节点将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备。
可选地,第二设备将签名结果提交至区块链全节点的交易内存池后,将获取区块链全节点相应的交易反馈值,交易反馈值可以为交易信息对应的哈希值。
可选地,前述区块链全节点,可以为以太坊类型的区块链全节点。
区块链全节点在接收到第二设备提交的检测请求后,若区块链全节点对应的区块链最新产生的区块包含有对应交易反馈值的收据信息,则确认交易完成。
可选地,所述方法还包括:
S31、获取所述第二设备提交的针对第二智能合约的状态的读取请求;
S32、根据所述读取请求确定所述第二智能合约的状态;
S33、将所述第二智能合约的状态反馈至所述第二设备,使所述第二设备将所述第二智能合约的状态发送至所述第一设备;
其中,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息。
可选地,区块链全节点可通过web3接口反馈第二智能合约的状态。
本实施例对应的具体实施方式可参见前述内容,此处不再赘述。
以下结合具体场景对本方案进行进一步说明:
在本申请的一些可选的实施例中,第一权限信息库可以为图4a中的第一权限信息表,目标对象通过第一设备向第二设备发起区块链钱包交易请求,第二设备接收到交易请求后,通过第一权限信息表判断目标对象是否有托管权限,且对应有目标托管地址,若有,则基于托管钱包库,解锁目标托管地址对应的目标钱包,并在解锁成功后,对交易信息进行签名,并将交易信息的签名提交至第三设备中的区块链全节点,待交易完成后,将对应的交易收据发送至第一设备。其中,第二设备与第三设备可以为同一设备,也可以不为同一设备,第一权限信息表与托管钱包库可设置于第二设备。
在本申请的一些可选的实施例中,第二权限信息库可以为图4b中的第二权限信息表,目标对象通过第一设备向第二设备发起区块链状态读取请求,如第二智能合约的状态的读取请求,第二设备接收到读取请求后,通过第二权限信息表判断目标对象是否有读取第二智能合约的状态的权限,若有,则通过读取读取请求计数表,获取第二智能合约的状态的可读次数,若可读次数大于1,可设置可读次数减1;第二设备向第三设备中的区块链全节点发送第二智能合约的状态读取请求,并获取区块链全节点相应的包含第二智能合约的状态的反馈结果,并将反馈结果发送至第一设备。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
综上,通过本申请的方案,多用户可共同将钱包托管至同一区块链全节点外的服务,并且,各用户有其对应的钱包访问密钥,在其进行交易时,需对目标钱包进行解锁后,利用解锁结果对交易信息进行签名后才发送区块链全节点,使区块链全节点进行处理,既能保证快速签名上链,又能提高多用户共用同一区块链全节点时,钱包信息的安全性,也提升了用户体验,多用户基于同一区块链全节点完成交易也起到了节省成本的作用。并且,本方案还可通过设置智能合约的状态的读取权限与对应的计数,控制单个区块链全节点同时服务的租户数量,灵活性更强。
为便于更好的实施本申请实施例的数据处理方法,本申请实施例还提供一种数据处理装置。请参阅图5,图5为本申请实施例提供的数据处理装置的第一结构示意图。其中,该数据处理装置500可以包括:
第一获取单元510,用于获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;
确定单元520,用于利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;
处理单元530,用于根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;
提交单元540,用于将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;
第二获取单元550,用于获取所述交易结果;
发送单元560,用于将所述交易结果发送至所述第一设备。
可选地,所述处理单元530,还用于在解锁失败时,通知发送单元560向所述第一设备发送解锁失败提示信息。
可选地,在所述确定单元520用于利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包时,具体用于:
利用所述请求方信息确定对应的目标托管地址;
基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的目标钱包;
其中,所述托管钱包库包括对应所述多个第一对象的多个钱包托管地址,以及各钱包托管地址对应的托管钱包。
可选地,在所述确定单元520利用所述请求方信息确定对应的目标托管地址时,具体用于:
获取预设的第一权限信息库,所述第一权限信息库包括具有钱包托管权限的多个第二对象的多个第二对象信息,以及所述多个第二对象信息对应的多个钱包托管地址;
根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址。
可选地,在所述确定单元520用于根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址时,具体用于:
查询所述第一权限信息库中是否存在对应的第二对象信息与所述请求方信息相同的钱包托管地址,若是,则将对应的第一对象信息与所述请求方信息相同的钱包托管地址作为目标托管地址;
若未查询出与请求方信息相同的第二对象信息,或未查询出对应的第二对象信息与所述请求方信息相同的钱包托管地址,则向所述第一设备发送失败提示信息。
可选地,所述交易信息中还包括:目标钱包的地址标识,所述确定单元520在用于利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包时,具体用于:
利用所述请求方信息与所述目标钱包的地址标识,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包。
可选地,所述确定单元520在用于利用所述请求方信息与所述目标钱包的地址标识,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包时,具体用于:
利用所述请求方信息与所述目标钱包的地址标识确定对应的目标托管地址;
基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的目标钱包。
可选地,所述第一获取单元510还用于:
获取所述第一设备发送的针对第二智能合约的状态的读取请求,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息;
将所述读取请求提交至所述区块链全节点,使得所述区块链全节点根据所述读取请求反馈所述第二智能合约的状态;
获取所述第二智能合约的状态;
将所述第二智能合约的状态发送至所述第一设备。
可选地,所述处理单元530还用于:
根据所述读取请求与预设的第二权限信息库,确定所述请求方信息对应的目标对象是否有权限读取所述第二智能合约的状态,若是,则触发将所述读取请求提交至所述区块链全节点的步骤。
可选地,所述处理单元530还用于:
若所述目标对象不具有读取所述第二智能合约的状态的权限,则通知发送单元560向第一设备发送对应的权限提示信息。
可选地,所述处理单元530还用于:
获取读取次数信息库;
根据所述读取请求与读取次数信息库,确定所述目标对象对应的未读取次数是否大于预设阈值,若是,则控制减少所述未读取次数。
可选地,所述处理单元530还用于:
若所述目标对象对应的未读取次数不大于所述预设阈值,则通知发送单元560向所述第一设备发送对应的读取限制提示信息。
上述500装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各个单元可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个单元对应的操作。
数据处理装置500可以集成在具备储存器并安装有处理器而具有运算能力的服务器中,或者数据处理装置500为该服务器。
为便于更好的实施本申请实施例的数据处理方法,本申请实施例还提供一种数据处理装置。请参阅图6,图6为本申请实施例提供的数据处理装置的第二结构示意图。其中,该数据处理装置600可以包括:
获取单元610,用于获取第二设备提交的针对目标钱包的交易信息的签名结果;
执行单元620,用于根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;
反馈单元630,用于将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;
其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名得到的。
可选地,装置600还用于:
获取所述第二设备提交的针对第二智能合约的状态的读取请求;
根据所述读取请求确定所述第二智能合约的状态;
将所述第二智能合约的状态反馈至所述第二设备,使所述第二设备将所述第二智能合约的状态发送至所述第一设备;
其中,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息。
上述600装置中的各个单元可全部或部分通过软件、硬件及其组合来实现。上述各个单元可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行上述各个单元对应的操作。
数据处理装置600可以集成在具备储存器并安装有处理器而具有运算能力的服务器中,或者数据处理装置600为该服务器。
可选的,本申请还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
图7为本申请实施例提供的计算机设备的结构示意图,该计算机设备可以是图1所示的管理设备20。如图7所示,该计算机设备700可以包括:通信接口701,存储器702,处理器703和通信总线704。通信接口701,存储器702,处理器703通过通信总线704实现相互间的通信。通信接口701用于计算机设备700与外部设备进行数据通信。存储器702可用于存储软件程序以及模块,处理器703通过运行存储在存储器702的软件程序以及模块,例如前述方法实施例中的相应操作的软件程序。
可选的,该处理器703可以调用存储在存储器702的软件程序以及模块执行如下操作:获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;获取所述交易结果;将所述交易结果发送至所述第一设备。
在另一些可选的实施例中,图7中的计算机设备700还可以为图1所示的服务器30。处理器703可以调用存储在存储器702的软件程序以及模块执行如下操作:获取第二设备提交的针对目标钱包的交易信息的签名结果;根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用所述解锁结果中的目标密钥对所述交易信息进行签名得到的。
本申请还提供了一种计算机可读存储介质,用于存储计算机程序。该计算机可读存储介质可应用于计算机设备,并且该计算机程序使得计算机设备执行本申请实施例中的数据处理方法中的相应流程,为了简洁,在此不再赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本申请实施例中的数据处理方法中的相应流程,为了简洁,在此不再赘述。
本申请还提供了一种计算机程序,该计算机程序包括计算机指令,计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行本申请实施例中的数据处理方法中的相应流程,为了简洁,在此不再赘述。
应理解,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
应理解,上述存储器为示例性但不是限制性说明,例如,本申请实施例中的存储器还可以是静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)以及直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)等等。也就是说,本申请实施例中的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (19)

1.一种数据处理方法,其特征在于,包括:
获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;
利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;
根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;
将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;
获取所述交易结果;
将所述交易结果发送至所述第一设备。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在解锁失败时,向所述第一设备发送解锁失败提示信息。
3.根据权利要求1所述的方法,其特征在于,利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包包括:
利用所述请求方信息确定对应的目标托管地址;
基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的目标钱包;
其中,所述托管钱包库包括对应所述多个第一对象的多个钱包托管地址,以及各钱包托管地址对应的托管钱包。
4.根据权利要求3所述的方法,其特征在于,利用所述请求方信息确定对应的目标托管地址包括:
获取预设的第一权限信息库,所述第一权限信息库包括具有钱包托管权限的多个第二对象的多个第二对象信息,以及所述多个第二对象信息对应的多个钱包托管地址;
根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址。
5.根据权利要求4所述的方法,其特征在于,根据所述请求方信息与所述第一权限信息库,确定所述目标托管地址包括:
查询所述第一权限信息库中是否存在对应的第二对象信息与所述请求方信息相同的钱包托管地址,若是,则将对应的第一对象信息与所述请求方信息相同的钱包托管地址作为目标托管地址;
若未查询出与请求方信息相同的第二对象信息,或未查询出对应的第二对象信息与所述请求方信息相同的钱包托管地址,则向所述第一设备发送失败提示信息。
6.根据权利要求1所述的方法,其特征在于,所述交易信息中还包括:目标钱包的地址标识,利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包包括:
利用所述请求方信息与所述目标钱包的地址标识,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包。
7.根据权利要求6所述的方法,其特征在于,利用所述请求方信息与所述目标钱包的地址标识,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包包括:
利用所述请求方信息与所述目标钱包的地址标识确定对应的目标托管地址;
基于所述目标托管地址,从托管钱包库中确定出所述交易请求对应的目标钱包。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述第一设备发送的针对第二智能合约的状态的读取请求,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息;
将所述读取请求提交至所述区块链全节点,使得所述区块链全节点根据所述读取请求反馈所述第二智能合约的状态;
获取所述第二智能合约的状态;
将所述第二智能合约的状态发送至所述第一设备。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
根据所述读取请求与预设的第二权限信息库,确定所述请求方信息对应的目标对象是否有权限读取所述第二智能合约的状态,若是,则触发将所述读取请求提交至所述区块链全节点的步骤。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述目标对象不具有读取所述第二智能合约的状态的权限,则向第一设备发送对应的权限提示信息。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取读取次数信息库;
根据所述读取请求与读取次数信息库,确定所述目标对象对应的未读取次数是否大于预设阈值,若是,则控制减少所述未读取次数。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
若所述目标对象对应的未读取次数不大于所述预设阈值,则向所述第一设备发送对应的读取限制提示信息。
13.一种数据处理方法,其特征在于,包括:
获取第二设备提交的针对目标钱包的交易信息的签名结果;
根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;
将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;
其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用解锁结果中的目标密钥对所述交易信息进行签名得到的。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
获取所述第二设备提交的针对第二智能合约的状态的读取请求;
根据所述读取请求确定所述第二智能合约的状态;
将所述第二智能合约的状态反馈至所述第二设备,使所述第二设备将所述第二智能合约的状态发送至所述第一设备;
其中,所述读取请求包括第二智能合约的地址、读取参数信息以及所述请求方信息。
15.一种数据处理装置,其特征在于,所述装置包括:
第一获取单元,用于获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;
确定单元,用于利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;
处理单元,用于根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用解锁结果中的目标密钥对所述交易信息进行签名,得到所述交易信息对应的签名结果;
提交单元,用于将所述签名结果提交至区块链全节点,使所述区块链全节点根据所述签名结果执行所述交易信息对应的任务得到交易结果;
第二获取单元,用于获取所述交易结果;
发送单元,用于将所述交易结果发送至所述第一设备。
16.一种数据处理装置,其特征在于,所述装置包括:
获取单元,用于获取第二设备提交的针对目标钱包的交易信息的签名结果;
执行单元,用于根据所述签名结果通过区块链全节点执行所述交易信息对应的任务得到交易结果;
反馈单元,用于将所述交易结果反馈至所述第二设备,使所述第二设备将所述交易结果发送至第一设备;
其中,所述签名结果为所述第二设备获取第一设备发送的交易请求,所述交易请求包括交易信息与钱包访问密钥,所述交易信息包括:第一智能合约的地址、交易参数信息,以及请求方信息;利用所述请求方信息,从对应多个第一对象的多个托管钱包中,确定出所述交易请求对应的目标钱包;根据所述钱包访问密钥对所述目标钱包进行解锁,在解锁成功时,利用解锁结果中的目标密钥对所述交易信息进行签名得到的。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1-12,或权利要求13-14中任一项所述的数据处理方法中的步骤。
18.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行权利要求1-12,或权利要求13-14中任一项所述的数据处理方法中的步骤。
19.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现权利要求1-12,或权利要求13-14中任一项所述的数据处理方法中的步骤。
CN202210217490.5A 2022-03-07 2022-03-07 数据处理方法、装置、存储介质、设备及程序产品 Pending CN116777456A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210217490.5A CN116777456A (zh) 2022-03-07 2022-03-07 数据处理方法、装置、存储介质、设备及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210217490.5A CN116777456A (zh) 2022-03-07 2022-03-07 数据处理方法、装置、存储介质、设备及程序产品

Publications (1)

Publication Number Publication Date
CN116777456A true CN116777456A (zh) 2023-09-19

Family

ID=88010268

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210217490.5A Pending CN116777456A (zh) 2022-03-07 2022-03-07 数据处理方法、装置、存储介质、设备及程序产品

Country Status (1)

Country Link
CN (1) CN116777456A (zh)

Similar Documents

Publication Publication Date Title
US11818275B2 (en) Techniques for securing application programming interface requests using multi-party digital signatures
CN111865920B (zh) 一种网关认证和身份鉴权的平台及其方法
US10824701B2 (en) System and method for mapping decentralized identifiers to real-world entities
CN111429254B (zh) 一种业务数据处理方法、设备以及可读存储介质
CN111475849B (zh) 基于区块链账户的隐私数据查询方法及装置
JP7236992B2 (ja) ブロックチェーンにより実現される方法及びシステム
WO2021000337A1 (en) System and method for mapping decentralized identifiers to real-world entities
US10769873B1 (en) Secure smart unlocking
TWI782255B (zh) 解鎖方法、實現解鎖的設備及電腦可讀媒體
KR20200084009A (ko) 자산 관리 방법 및 장치, 및 전자 디바이스
CN110580412B (zh) 基于链代码的权限查询配置方法及装置
KR20200083544A (ko) 자산 관리 방법 및 장치, 및 전자 디바이스
KR20210040078A (ko) 안전한 보관 서비스를 위한 시스템 및 방법
JP7502578B1 (ja) 監視者の更新プールを用いて異なるネットワークにわたって資産を転送するためのセキュアかつ信頼できるブリッジ
CN112187466B (zh) 一种身份管理方法、装置、设备及存储介质
CN112669147B (zh) 基于区块链的服务请求方法及装置
US20180288068A1 (en) Methods and apparatuses for improved network communication using a message integrity secure token
EP3794485B1 (en) Method and network node for managing access to a blockchain
US11252138B2 (en) Redundant device locking key management system
CN113869901B (zh) 密钥生成方法、装置、计算机可读存储介质及计算机设备
CN115131029A (zh) 基于区块链的数字文件签署方法及装置
CN116777456A (zh) 数据处理方法、装置、存储介质、设备及程序产品
CN114866409B (zh) 基于密码加速硬件的密码加速方法及装置
CN117354255A (zh) 区块链网络的事务处理方法、装置、产品、设备和介质
CN118350031A (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