一种交易处理方法及相关设备与流程

文档序号:19190892发布日期:2019-11-20 02:07阅读:285来源:国知局
一种交易处理方法及相关设备与流程

本申请涉及区块链技术领域,尤其涉及一种交易处理方法及相关设备。



背景技术:

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

在区块链技术中,token指的是通过区块链中的智能合约发布的一种令牌、积分、代币等,可以在区块链生态系统中进行流通,在进行流通的时候,一般可以将token视为代币,例如比特币、以太币等。在当前的区块链系统中,token就是用户进行交易的资产证明,其主要有两种记录保存方式,即未被使用的交易输出(utxo,unspenttransactionoutput)模式和account模式,在进行交易的时候,系统通过区块链节点调用智能合约来对各个进行交易,智能合约代码中指定发行数量,通胀率等。token往往还具有交换的特质,token在不同用户之间交换的过程也都在token合约中进行(合约中记录每个用户的token余额)。

然而,现有技术中一个智能合约对应于一个token,此外,同一个用户在同一个区块链系统中创建多个账户分别进行交易时,由于将token信息完全记录在合约中,使得后续对token进行操作都是需要使用特殊的智能合约去调用,而不同的智能合约可能调用方式不一样,且接口不统一,导致必须通过多次调用智能合约与区块链系统进行连接且需要反复登录验证才可以进行交易,使得用户在区块链中的交易过程过于繁琐,从而影响用户体验。



技术实现要素:

本申请实施例提供了一种基于区块链的账户数据处理方法及相关设备,用于优化在区块链系统中的交易过程。

本申请实施例第一方面提供了一种基于区块链的账户数据处理方法,所述方法包括:

获取第一账户的接入指令,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息;

当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;

当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;

根据所述未同步区块更新所述第一账户的账户信息。

可选地,当确定所述第一账户包括所述account子账户时,所述获取所述第一账户的账户信息包括:

获取所述account子账户的结构体信息,所述account子账户包括第一token;

解析所述account子账户的结构体信息,得到所述第一token的账户信息;

所述根据所述未同步区块更新所述第一账户的账户信息包括:

解析所述未同步区块,得到与所述第一token的关联交易信息;

利用与所述第一token的关联交易信息更新所述第一token的账户信息。

可选地,当确定所述第一账户包括所述utxo子账户时,所述获取所述第一账户的账户信息包括:

获取所述utxo子账户的结构体信息,所述account子账户包括第二token;

解析所述utxo子账户的结构体信息,得到所述第二token的账户信息;

所述根据所述未同步区块更新所述第一账户的账户信息包括:

解析所述未同步区块,得到与所述第二token的关联交易信息;

利用与所述第二token的关联交易信息更新第二token的账户信息。

可选地,所述接入指令还包括解锁信息,所述方法还包括:

根据所述解锁信息解锁所述第一账户的密钥文件得到所述第一账户的密钥信息;

所述根据所述未同步区块更新所述第一账户的账户信息包括:

使用所述第一账户的密钥信息解析所述未同步区块,得到待更新区块信息;

使用所述待更新区块信息更新所述第一账户的账户信息。

可选地,在根据所述未同步区块更新所述第一账户的账户信息之后,所述方法还包括:

获取初始交易信息;

根据所述初始交易信息从所述第一区块链中的全量节点中获取交易手续费;

使用所述第一账户的密钥信息对所述初始交易信息和所述交易手续费进行签名打包,得到第一交易信息;

将所述第一交易信息发送至所述第一区块链系统的全量节点,以使得所述第一区块链系统的全量节点将所述第一交易信息进行广播。

可选地,所述获取所述第一账户的账户信息具体包括:

获取至少两个账户的预存信息,所述至少两个账户包括所述第一账户,所述至少两个账户一一对应于至少两个区块链系统,所述至少两个区块链系统包括所述第一区块链系统;

根据所述第一账户的标识信息在所述至少两个账户的预存信息中获取所述第一账户的账户信息。

本申请实施例第二方面提供了一种资产管理设备,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于区块链的账户数据处理程序,所述基于区块链的账户数据处理程序被所述处理器执行时实现如第一方面及其实施例任一项所述的方法。

可选地,所述设备为组成cdn网络或者区块链网络的节点。

本申请实施例第三方面提供了一种基于区块链的账户数据处理系统,所述方法包括:

第一获取单元,用于获取第一账户的接入指令,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息;

第二获取单元,用于当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;

第三获取单元,用于当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;

更新单元,用于根据所述未同步区块更新所述第一账户的账户信息。

可选地,当确定所述第一账户包括所述account子账户时,所述第二获取单元具体用于:

获取所述account子账户的结构体信息,所述account子账户包括第一token;

解析所述account子账户的结构体信息,得到所述第一token的账户信息;

所述更新单元具体用于:

解析所述未同步区块,得到与所述第一token的关联交易信息;

利用与所述第一token的关联交易信息更新所述第一token的账户信息。

可选地,当确定所述第一账户包括所述utxo子账户时,所述第二获取单元具体用于:

获取所述utxo子账户的结构体信息,所述account子账户包括第二token;

解析所述utxo子账户的结构体信息,得到所述第二token的账户信息;

所述更新单元具体用于:

解析所述未同步区块,得到与所述第二token的关联交易信息;

利用与所述第二token的关联交易信息更新第二token的账户信息。

可选地,所述接入指令还包括解锁信息,所述系统还包括:

解锁单元,用于根据所述解锁信息解锁所述第一账户的密钥文件得到所述第一账户的密钥信息;

所述更新单元具体用于:

使用所述第一账户的密钥信息解析所述未同步区块,得到待更新区块信息;

使用所述待更新区块信息更新所述第一账户的账户信息。

可选地,所述系统还包括:

第四获取单元,用于获取初始交易信息;

第五获取单元,用于根据所述初始交易信息从所述第一区块链中的全量节点中获取交易手续费;

签名单元,用于使用所述第一账户的密钥信息对所述初始交易信息和所述交易手续费进行签名打包,得到第一交易信息;

发送单元,用于将所述第一交易信息发送至所述第一区块链系统的全量节点,以使得所述第一区块链系统的全量节点将所述第一交易信息进行广播。

可选地,所述第二获取单元具体用于:

获取至少两个账户的预存信息,所述至少两个账户包括所述第一账户,所述至少两个账户一一对应于至少两个区块链系统,所述至少两个区块链系统包括所述第一区块链系统;

根据所述第一账户的标识信息在所述至少两个账户的预存信息中获取所述第一账户的账户信息。

本申请实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的账户数据处理程序,所述基于区块链的账户数据处理程序可被一个或者多个处理器执行,以实现如第一方面及其实施例中任一项所述的基于区块链的账户数据处理方法。

本申请实施例第五方面提供了一种计算机程序产品,其特征在于,包括计算机指令,当其在计算机上运行时,使得计算机可以如第一方面及其实施例中任一项所述的基于区块链的账户数据处理方法。

从以上技术方案可以看出,本申请实施例具有以下优点:获取第一账户的接入指令,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息;当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;根据所述未同步区块更新所述第一账户的账户信息。其中,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,且所述account子账户和所述utxo子账户均包括至少一种token,因此可以通过第一账户来对该账户中的多个子账户的token进行资产管理,与现有技术中通过调用智能合约的方式获取账户信息的方式相比,通过一个账户就可以实现多个token账户信息的处理,从而优化了token资产的管理过程,提升了用户体验。

附图说明

图1为本申请实施例中一种基于区块链的账户数据处理方法实施例的一个示意图;

图2为本申请实施例中一种基于区块链的账户数据处理方法实施例的另一个示意图;

图3为本申请实施例中一种基于区块链的账户数据处理方法实施例的另一个示意图;

图4为本申请实施例中一种基于区块链的账户数据处理方法实施例的另一个示意图;

图5为本申请实施例中一种基于区块链的账户数据处理方法实施例的另一个示意图;

图5-1为本申请实施例中一种基于区块链的账户数据处理方法实施例的另一个示意图;

图5-2为本申请实施例中一种基于区块链的账户数据处理方法实施例的另一个示意图;

图6为本申请实施例中一种资产管理设备实施例的一个示意图;

图7为本申请实施例中一种基于区块链的账户数据处理系统实施例的一个示意图。

具体实施方式

在区块链技术中,token指的是通过区块链中的智能合约发布的一种令牌、积分、代币等,可以在区块链生态系统中进行流通,在进行流通的时候,一般可以将token视为代币,例如比特币、以太币等。在当前的区块链系统中,token就是用户进行交易的资产证明,其主要有两种记录保存方式,即未被使用的交易输出(utxo,unspenttransactionoutput)模式和account模式,在进行交易的时候,系统通过区块链节点调用智能合约来对各个进行交易,智能合约代码中指定发行数量,通胀率等。token往往还具有交换的特质,token在不同用户之间交换的过程也都在token合约中进行(合约中记录每个用户的token余额)。然而,现有技术中一个智能合约对应于一个token,此外,同一个用户在同一个区块链系统中创建多个账户分别进行交易时,必须通过多个客户端与区块链系统进行连接且需要反复登录验证才可以进行交易,使得用户在区块链中的交易过程过于繁琐,从而影响用户体验。为此,本申请实施例提供了一种基于区块链的账户数据处理方法及相关设备,用于优化在区块链系统中的交易过程。

请参阅图1,本申请实施例中一种基于区块链的账户数据处理方法的一个实施例包括:

101、获取第一账户的接入指令;

本实施例中,资产管理设备获取第一账户的接入指令,其中,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息。

具体地,该资产管理设备可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。

在该终端设备上运行有软件程序来执行本申请实施例中的相关步骤。以该资产管理设备为智能手机为例,本实施例及后续实施例中仅以通过智能手机上的walletapp即wallet本地钱包服务app来实现作为说明。具体可参阅图5-1中的系统连接架构,wallet本地钱包服务505通过全量节点504与区块链系统503进行通信。作为一个优选的实施方案,这个全量节点504(peer节点),可以是使用官方开源的代码编译而成的本地peer节点,或者使用受信任第三方公开peer节点,钱包505进程示例性地可以通过rpc接口与peer节点进行通信。

此外,该接入指令可以包括对应于该第一账户的标示信息,例如可以是该第一账户的账户和或密码等相关信息,钱包app在后续步骤中可以使用该第一账户的标示信息来进行解锁等相关操作,在其中,第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,也就是说,该第一账户对应于第一区块链,在该第一区块链中的区块中,包含有account子账户和/或utxo子账户对应的token信息,示例性地,该各个account子账户和/或utxo子账户可以包括一个或者多个token账户。

102、当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;

具体地,该设备可以是根据预存的数据对该第一账户的标示信息进行验证,当该第一账户的标示信息与预存信息相匹配时,可以确定其符合预设条件。此外,当确定该第一账户的标识信息符合预设条件时,即确认此次账户接入相关操作是合法的,此时,可以在第一区块链系统中加载该第一账户的账户信息,即进行账户的初始化操作,加载钱包运行的一些数据,从而获取到第一账户的账户信息。

在本步骤中,具体可以是用户调用钱包的unlock_account接口来使得该设备获取第一账户的接入指令,其中,第一账户包括位于一个区块链系统中的子账户对应的token账户。此外,该设备可以在本步骤中首先获取到本地数据,也就是说从钱包本地的账户数据库中获取得到第一账户的账户信息,其中,该第一账户的账户信息包括已同步的区块高度,也就是说,在本地数据库中找到历史已完成更新的最高区块,并获取该区块的高度。

103、当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;

本实施例中,当该设备发现所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,则通过所述第一区块链系统的全量节点获取未同步区块。

也就是说,该设备通过钱包与第一区块链系统中的全量节点进行连接,并查询在该全量节点中的最高区块高度,也就是在第一区块链系统中已达成共识的最高区块的区块高度,若发现步骤102中获取得到的第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,则通过该第一区块链系统的全量节点获取未同步区块,也就是说可以从第一区块链系统中将未同步区块下载到本地。

104、根据所述未同步区块更新所述第一账户的账户信息。

本实施例中,该设备根据步骤103得到的所述未同步区块更新所述第一账户的账户信息,也就是说,使用未同步区块对本地数据库中的第一账户的账户信息进行更新,从而使得本地数据库中的第一账户的账户信息对应的最高区块高度与第一区块链相匹配。

此外,作为一个优选方案,在步骤101获取到的第一账户的接入指令还可以包括解锁解锁信息,从而根据解锁所述第一账户的密钥文件得到所述第一账户的密钥信息。在本步骤中,具体可以是使用所述第一账户的密钥信息解析所述未同步区块,得到待更新区块信息,然后再使用所述待更新区块信息更新所述第一账户的账户信息。

本实施例中,获取第一账户的接入指令,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息;当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;根据所述未同步区块更新所述第一账户的账户信息。其中,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,且所述account子账户和所述utxo子账户均包括至少一种token,因此可以通过第一账户来对该账户中的多个子账户的token进行资产管理,与现有技术中通过调用智能合约的方式获取账户信息的方式相比,通过一个账户就可以实现多个token账户信息的处理,从而优化了token资产的管理过程,提升了用户体验。

基于图1所述实施例,在其中步骤102中获取所述第一账户的账户信息可以进一步地根据第一账户中包含的子账户的账户类型来加载,也就是说识别出子账户的账户类型,其中,账户类型包括utxo或account,在此之后,根据子账户的账户类型在根据所述未同步区块更新子账户的账户信息。也就是说,具体根据第一账户内至少两个token的类型进行个性化的账户处理,对于常用的账户类型来说,有utxo,account这两种,下面将分别通过图2和图3具体的实施例对这两种账户类型的账户数据处理过程进行描述。

一、当确定所述第一账户包括所述account子账户时;

请参阅图2,基于图1所述实施例,在一种账户数据处理方法的另一个实施例中,步骤102所述获取所述第一账户的账户信息包括:

201、获取所述account子账户的结构体信息;

本实施例中,该设备获取所述account子账户的结构体信息,所述account子账户包括第一token。

具体地,本实施例中可以获取到account子账户的结构体信息,并且在其中,account子账户可以包含至少一个token,此处以其中的一个token设为第一token。

202、解析所述account子账户的结构体信息,得到所述第一token的账户信息;

本实施例中,该设备解析步骤201得到的account子账户的结构体信息,得到所述第一token的账户信息。

具体来说,可以在account子账户的结构体信息中的“tokens”字段中直接读取获取到第一token的账户信息,

account账户结构定义:

其中,该account子账户的结构体信息可以保存有至少一个token的账户信息,也就是说,在该account子账户的结构体信息中可以对应有多个token,本实施例中其中仅以第一token作为其中的一个作为示例。

步骤104根据所述未同步区块更新所述第一账户的账户信息包括:

203、解析所述未同步区块,得到与所述第一token的关联交易信息;

本实施例中,该设备对步骤103获取得到的未同步区块中进行解析,可以在其中获取到与第一token的关联交易信息,也就是说,获取第一账户在第一token的历史交易记录、当前的余额等关联交易信息。

204、利用与所述第一token的关联交易信息更新所述第一token的账户信息;

本实施例中,该设备具体是使用第一token的关联交易信息更新第一token的的账户信息,由于第一token的账户类型为account账户,因此,更新过程可以是直接使用与所述第一token的关联交易信息替换掉在步骤202获取得到的第一账户的账户信息,以完成数据更新。

二、当确定所述第一账户包括所述utxo子账户时;

请参阅图3,基于图1所述实施例,在一种账户数据处理方法的另一个实施例中,步骤102所述获取所述第一账户的账户信息包括:

301、获取所述utxo子账户的结构体信息;

本实施例中,该设备获取所述utxo子账户的结构体信息,所述utxo子账户包括第二token。

具体地,本实施例中可以获取到utxo子账户的结构体信息,并且在其中,utxo子账户可以包含至少一个token,此处以其中的一个token设为第二token。

302、解析所述utxo子账户的结构体信息,得到所述第二token的账户信息;

本实施例中,该设备解析步骤201得到的account子账户的结构体信息,得到所述第一token的账户信息。

具体来说,可以在utxo子账户的结构体信息中的“tokens”字段中直接读取获取到第二token的账户信息,

utxo账户结构定义

其中,

utxooutputdetail交易详细结构

具体在其中,该utxo子账户的结构体信息可以保存有至少一个token的账户信息,也就是说,在该utxo子账户的结构体信息中可以对应有多个token,本实施例中其中仅以第二token作为其中的一个作为示例。

步骤104根据所述未同步区块更新所述第一账户的账户信息包括:

303、解析所述未同步区块,得到与所述第二token的关联交易信息;

本实施例中,该设备对步骤103获取得到的未同步区块中进行解析,可以在其中获取到与第一token的关联交易信息,也就是说,获取第一账户在第一token的历史交易记录、当前的余额等关联交易信息。

304、利用与所述第二token的关联交易信息更新所述第二token的账户信息;

本实施例中,该设备具体是使用第二token的关联交易信息更新第一token的的账户信息,由于第一token的账户类型为utxo账户,因此,更新过程需要将与所述第二token的关联交易信息和步骤202中获取得到的第二章虎的账户信息进行融合计算,从而计算出该第一账户对应第二token的账户信息,已完成对第二token的账户信息的数据更新。

本申请实施例中,基于图1至图3所述实施例,具体在步骤104根据所述未同步区块更新所述第一账户的账户信息之后,也就是说该设备以及完成第一账户的账户信息的同步,此时,可以使用该第一账户进行交易,即对该账户中子账户对应的token进行转账等操作。下面请参阅图4,基于图1至图3所述实施例,在一种账户数据处理方法的另一个实施例中,具体在步骤104根据所述未同步区块更新所述第一账户的账户信息之后,该方法还可以包括:

401、获取初始交易信息;

本实施例中,该设备可以通过接收用户的输入信息直接获取到该初始交易信息,也可以是通过接受其他终端发送的信息进而获取到该初始交易信息,此处不做限定。此外,该初始交易信息可以包括第一账户的收款方地址、交易数量、交易手续费上限或者是其他的交易相关信息,此处不做限定。

402、根据所述初始交易信息从所述目标区块链中的全量节点中获取交易手续费;

本实施例中,该设备根据步骤401获取到的初始交易信息从所述目标区块链中的全量节点中获取交易手续费,具体来说,该钱包可以按照标准流程与全量节点建立连接,而后将该初始交易信息的相关内容发送至该全量节点,使得该全量节点按照标准流程将交易手续费的相关信息返回至该设备。

403、使用所述第一账户的密钥信息对所述初始交易信息和所述交易手续费进行签名打包,得到第一交易信息;

本实施例中,该设备使用步骤104中得到的第一账户的密钥信息对初始交易信息和所述交易手续费进行签名打包,得到第一交易信息,用以使得其他节点可以使用预先公布的公钥信息对该第一交易信息进行解密验证。

404、将所述第一交易信息发送至所述第一区块链系统的全量节点;

本实施例中,该设备将所述第一交易信息发送至所述第一区块链系统的全量节点,以使得所述第一区块链系统的全量节点将所述第一交易信息进行广播。

具体地,该设备将第一交易信息发送至第一区块链系统中的全量节点之后,使得该全量节点可以将该第一交易信息进行广播,并根据其他节点的反馈信息进而生成对于该第一交易信息交易状态的哈希值,并将该哈希值返回至该设备,以使得该设备获取到第一交易信息的交易状态等相关信息。

请参阅图5-2中的交易结构模式,具体在该设备中的钱包walletapp中可以包括预存的多个账户,其中,一个账户对应一个区块链系统,且一个账户可以对应于该区块链系统中的多个token。设备在进行交易之前,具体可以存在一个选择确认的过程,请参阅图5,基于图1所述实施例,在一种账户数据处理方法的另一个实施例中,步骤102所述获取所述第一账户的账户信息具体包括:

501、获取至少两个账户的预存信息;

本实施例中,该设备获取至少两个账户的预存信息,所述至少两个账户包括所述第一账户,所述至少两个账户一一对应于至少两个区块链系统,所述至少两个区块链系统包括所述第一区块链系统。

具体地,设备可以在自身的数据库中获取到该至少两个账户的预存信息,其中,该预存信息可以包括各个账户的账户、密码等相关的对应信息,其中,所述至少两个账户一一对应于至少两个区块链系统,且所述至少两个区块链系统包括所述第一区块链系统。

502、根据所述第一账户的标识信息在所述至少两个账户的预存信息中获取所述第一账户的账户信息。

本实施例中,该设备可以根据所述第一账户的标识信息在所述至少两个账户的预存信息中解锁所述第一账户,即根据该第一账户的标示信息可以确定出该解锁指令对应的区块链系统,并且根据预存信息对其进行判断,当确定输入的第一账户的标示信息符合预设条件时,则在该至少两个账户的预存信息中获取第一账户的账户信息,在后续步骤中可以使用第一账户的账户信息后可以进行后续的数据同步更新加载以及上传新的交易等。

在本实施例中,如图6所示,资产管理设备1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备终端设备。

该设备1可以是组成cdn网络或者区块链网络的节点。

该资产管理设备1可以包括存储器11、处理器12和总线13。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是资产管理设备1的内部存储单元,例如该资产管理设备1的硬盘。存储器11在另一些实施例中也可以是资产管理设备1的外部存储设备,例如资产管理设备1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括资产管理设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于资产管理设备1的应用软件及各类数据,例如基于区块链的账户数据处理程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于区块链的账户数据处理程序01等。

该总线13可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,资产管理设备还可以包括网络接口14(图示中未画出),网络接口14可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该设备1与其他电子设备之间建立通信连接。

可选地,该设备1还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在资产管理设备1中处理的信息以及用于显示可视化的用户界面。

图6仅示出了具有组件11-14以及基于区块链的账户数据处理程序01的资产管理设备1,本领域技术人员可以理解的是,图6示出的结构并不构成对资产管理设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

下面从虚拟装置的角度对本申请进行说明,请参阅图7,本申请实施例中的一种基于区块链的账户数据处理系统,所述系统包括:

第一获取单元701,用于获取第一账户的接入指令,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息;

第二获取单元702,用于当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;

第三获取单元703,用于当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;

更新单元704,用于根据所述未同步区块更新所述第一账户的账户信息。

本实施例中,第一获取单元701,用于获取第一账户的接入指令,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,其中,所述account子账户和所述utxo子账户均包括至少一种token,所述接入指令包括对应于所述第一账户的标识信息;第二获取单元702,用于当确定所述第一账户的标识信息符合预设条件时,获取所述第一账户的账户信息,所述第一账户的账户信息包括已同步的区块高度;第三获取单元703,用于当所述第一账户已同步的区块高度小于第一区块链系统的最高区块高度时,通过所述第一区块链系统的全量节点获取未同步区块;更新单元704,用于根据所述未同步区块更新所述第一账户的账户信息。其中,所述第一账户包括位于第一区块链系统的account子账户和/或utxo子账户,且所述account子账户和所述utxo子账户均包括至少一种token,因此可以通过第一账户来对该账户中的多个子账户的token进行资产管理,与现有技术中通过调用智能合约的方式获取账户信息的方式相比,通过一个账户就可以实现多个token账户信息的处理,从而优化了token资产的管理过程,提升了用户体验。

作为一个优选方案,当确定所述第一账户包括所述account子账户时,所述第二获取单元702具体用于:

获取所述account子账户的结构体信息,所述account子账户包括第一token;

解析所述account子账户的结构体信息,得到所述第一token的账户信息;

所述更新单元704具体用于:

解析所述未同步区块,得到与所述第一token的关联交易信息;

利用与所述第一token的关联交易信息更新所述第一token的账户信息。

作为一个优选方案,当确定所述第一账户包括所述utxo子账户时,所述第二获取单元具体702用于:

获取所述utxo子账户的结构体信息,所述account子账户包括第二token;

解析所述utxo子账户的结构体信息,得到所述第二token的账户信息;

所述更新单元704具体用于:

解析所述未同步区块,得到与所述第二token的关联交易信息;

利用与所述第二token的关联交易信息更新第二token的账户信息。

作为一个优选方案,所述接入指令还包括解锁信息,所述系统还包括:

解锁单元705,用于根据所述解锁信息解锁所述第一账户的密钥文件得到所述第一账户的密钥信息;

所述更新单元704具体用于:

使用所述第一账户的密钥信息解析所述未同步区块,得到待更新区块信息;

使用所述待更新区块信息更新所述第一账户的账户信息。

可选地,所述系统还包括:

第四获取单元706,用于获取初始交易信息;

第五获取单元707,用于根据所述初始交易信息从所述第一区块链中的全量节点中获取交易手续费;

签名单元708,用于使用所述第一账户的密钥信息对所述初始交易信息和所述交易手续费进行签名打包,得到第一交易信息;

发送单元709,用于将所述第一交易信息发送至所述第一区块链系统的全量节点,以使得所述第一区块链系统的全量节点将所述第一交易信息进行广播。

可选地,所述第二获取单元702具体用于:

获取至少两个账户的预存信息,所述至少两个账户包括所述第一账户,所述至少两个账户一一对应于至少两个区块链系统,所述至少两个区块链系统包括所述第一区块链系统;

根据所述第一账户的标识信息在所述至少两个账户的预存信息中获取所述第一账户的账户信息。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

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