CN111966757A - 智能合约账户的存储空间管理方法和装置 - Google Patents
智能合约账户的存储空间管理方法和装置 Download PDFInfo
- Publication number
- CN111966757A CN111966757A CN202011128575.3A CN202011128575A CN111966757A CN 111966757 A CN111966757 A CN 111966757A CN 202011128575 A CN202011128575 A CN 202011128575A CN 111966757 A CN111966757 A CN 111966757A
- Authority
- CN
- China
- Prior art keywords
- storage space
- account
- blockchain
- intelligent contract
- capacity
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/23—Updating
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本说明书提供了一种智能合约账户的存储空间管理方法和装置,应用于节点设备,包括:接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;执行所述存储空间管理交易,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
Description
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及智能合约账户的存储空间管理方法和装置。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
有鉴于此,本说明书一个或多个实施方式提供了一种区块链数据的删除方法、装置和计算机设备。
为实现上述目的,本说明书一个或多个实施方式提供技术方案如下:
根据本说明书一个或多个实施方式的第一方面,提出了一种智能合约账户的存储空间管理方法,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述方法包括:
接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;
在扣除所述第一数量的虚拟资源后,进一步执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
根据本说明书一个或多个实施方式的第二方面,提出了一种智能合约账户的存储空间管理方法,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述方法包括:
接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理;
在执行所述存储空间管理交易后,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
根据本说明书一个或多个实施方式的第三方面,提出了一种智能合约账户的存储空间管理装置,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述装置包括:
接收单元,接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
计算单元,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
扣除单元,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;
执行单元,在扣除所述第一数量的虚拟资源后,进一步执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
根据本说明书一个或多个实施方式的第四方面,提出了一种智能合约账户的存储空间管理装置,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述装置包括:
接收单元,接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
执行单元,执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理;
计算单元,在执行所述存储空间管理交易后,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
扣除单元,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
根据本说明书一个或多个实施方式的第五方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述第一方面所提供的实施方式所述的节点设备所执行智能合约账户的存储空间管理方法。
根据本说明书一个或多个实施方式的第六方面,提出了一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如上述第二方面所提供的实施方式所述的节点设备所执行智能合约账户的存储空间管理方法。
基于上述一种或多种实施方式所述的智能合约账户的存储空间管理方法、装置、和计算机设备,区块链的节点设备搭载的存储资源(如存储空间容量、存储空间的有效时长)可与虚拟资源进行价值锚定,从而可基于客户端对目标智能合约账户的存储空间的管理操作,进行区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长的变更处理;提高了智能合约账户的存储空间的可管理性,优化了区块链上的系统资源配置。
附图说明
图1是一示例性实施例提供的创建智能合约的示意图;
图2是一示例性实施例提供的一种调用智能合约的示意图;
图3是一示例性实施例提供的创建智能合约和调用智能合约的示意图;
图4是一示例性实施例提供的智能合约账户的存储空间管理方法的流程示意图;
图5是一示例性实施例提供的应用于区块链的节点设备端的智能合约账户的存储空间管理装置的示意图;
图6是又一示例性实施例提供的应用于区块链的节点设备端的智能合约账户的存储空间管理装置的示意图;
图7是运行本说明书所提供的智能合约账户的存储空间管理装置实施例的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
本说明书一个或多个实施例所述的区块链或区块链网络,具体可指一个各节点设备通过共识机制达成的、具有分布式数据存储结构的P2P网络系统,该区块链内的账本数据分布在时间上相连的一个个“区块(block)”之内,后一区块可包含前一区块的数据摘要,且根据具体的共识机制(如POW、POS、DPOS或PBFT等)的不同,达成全部或部分节点的数据全备份。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
计算设备可将数据构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
无论区块链采用哪种共识算法,记账节点均可以将接收到的交易打包以生成最新区块,并将生成的最新区块发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块的过程中,也可以执行该区块中的包含的交易。
需要说明的是,区块链每产生一个最新区块,则在该最新区块中的交易被执行之后,区块链中这些被执行交易的对应状态会随之发生变化。例如,以账户模型构架的区块链中,外部账户或者智能合约账户的账户状态,通常也会随着交易的执行而发生相应的变化。
例如,当区块中的一笔“转账交易”执行完毕后,与该“转账交易”相关的转出方账户和转入方账户的余额(即这些账户的Balance字段的字段值),通常也会随之发生变化。
又如,区块中的“智能合约调用交易”则用以调用区块链上部署的智能合约,在节点设备对应的EVM内调用上述智能合约以执行上述“智能合约调用交易”,并将执行上述智能合约调用交易后、智能合约账户的账户状态更新在该智能合约的账户中。
在实际应用中,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smartcontract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
如图1所示,Bob将一笔包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中交易的From字段用于记录发起创建智能合约的账户的地址,交易的Data字段的字段值保存的合约代码可以是字节码,交易的To字段的字段值为一个null(空)的账户。当节点间通过共识机制达成一致后,这个智能合约成功创建,后续用户可以调用这个智能合约。
智能合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址;比如,图1中各节点中的“0x68e12cf284…”就代表了创建的这个合约账户的地址;合约代码(Code)和账户存储(Storage)将保存在该合约账户的账户存储中。智能合约的行为由合约代码控制,而智能合约的账户存储则保存了合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的Data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,高级语言可以采用诸如Solidity、Serpent、LLL语言等。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以Solidity语言为例,用其编写的合约代码与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储(Storage)字段中的值,用于保存合约的状态。
如图2所示,仍以以太坊为例,Bob将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点查看合约账户的账户状态,例如,上述账户状态可以Key-Value对的形式存储到智能合约的Storage树中。调用智能合约的交易的执行结果,可以是以交易收据(receipt)的形式,存储到MPT收据树中。
智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中每个节点的虚拟机中。
对于区块链中的账户而言,通常会通过一个结构体,来维护账户的账户状态。当区块中的交易被执行后,区块链中与该交易相关的账户的状态通常也会发生变化。
以以太坊为例,账户的结构体通常包括Balance,Nonce,Code和Storage等字段。其中:
Balance字段,用于维护账户目前的账户余额;
Nonce字段,用于维护该账户的交易次数;它是用于保障每笔交易能且只能被处理一次的计数器,有效避免重放攻击;
Code字段,用于维护该账户的合约代码;在实际应用中,Code字段中通常仅维护合约代码的hash值;因而,Code字段通常也称之为Codehash字段。
Storage字段,用于维护该账户的存储内容(默认字段值为空);对于合约账户而言,通常会分配一个独立的存储空间,用以存储该合约账户的存储内容;该独立的存储空间通常称之为该合约账户的账户存储。合约账户的存储内容通常会构建成MPT(MerklePatricia Trie)树的数据结构存储在上述独立的存储空间之中;其中,基于合约账户的存储内容构建成的MPT树,通常也称之为Storage树。而Storage字段通常仅维护该Storage树的根节点;因此,Storage字段通常也称之为StorageRoot字段。
其中,对于外部账户而言,以上示出的Code字段和Storage字段的字段值均为空值。
对于大多数区块链模型,通常都会使用Merkle树;或者,基于Merkle树的数据结构,来存储和维护数据。以以太坊为例,以太坊使用了MPT树(一种Merkle树变种),作为数据组织形式,用来组织和管理账户状态、交易信息等重要数据。
以太坊针对区块链中需要存储和维护的数据,设计了三棵MPT树,分别是MPT状态树、MPT交易树和MPT收据树。其中,除了以上三棵MPT树以外,实际上还存在一棵基于合约账户的存储内容构建的Storage树。
MPT状态树,是由区块链中所有账户的账户状态(state)数据组织成的MPT树;MPT交易树,是由区块链中的交易(transaction)数据组织成的MPT树;MPT收据树,是区块中的交易在执行完毕后生成的与每笔交易对应的交易(receipt)收据组织成的MPT树。以上示出的MPT状态树、MPT交易树和MPT收据树的根节点的hash值,最终都会被添加至对应区块的区块头中。
其中,MPT交易树和MPT收据树均与区块相对应,即每一个区块都有自己的MPT交易树和MPT收据树。对于组织成的MPT交易树、MPT收据树和MPT状态树,最终都会在采用多级数据存储结构的Key-Value型数据库(比如,LevelDB)中进行存储。
在公有链领域,往往通过gas、token等方式激励矿工节点进行区块链出块,矿工节点会选择gas或token等手续费较高的交易优先打包入块,以增加自身的收益;对于非矿工节点,虽然贡献了存储和共识资源,却没有获得相应的收益。在无代币(token)的区块链模型中,比如联盟链,尤其是开放联盟链环境下,如何对节点设备提供的区块链资源进行统计并覆盖相应的节点成本,从而维持联盟链网络的良好运转也是亟需解决的问题。目前尚缺乏一种基于区块链资源的使用或占用情况,对区块链用户进行的资源管理和计费的方法。
鉴于以上问题,本说明书的一个或多个实施方式提供了区块链系统中的多种资源收费方式。可以预期,本说明书所提供的实施方式能够在公有链、联盟链、私有链等合适类型的区块链网络中实现。
在本说明书提供的一个或多个实施方式中所述的客户端,可以是与区块链的任一节点设备通信连接的独立设备,也可以是设置于任一节点设备内部的功能模块,在此不作限定。
在本说明书提供的区块链系统收费模式中,区块链的节点设备搭载的系统资源与在所述区块链上发布的虚拟资源进行了价值锚定。
区块链上发布的虚拟资源可包括基于区块链的共识机制而在区块链上发布的虚拟代币,例如,基于区块链的记账节点(或矿工节点)打包并成功添加区块而获得的挖矿奖励,而开始在区块链上流通的虚拟代币(如比特币、以太币等)。基于矿工节点挖矿产生的虚拟代币通常并未与链外的真实资产具有价值锚定关系;在又一示出的实施方式中,区块链上发布的虚拟资源可包括与用户持有的链外真实资产具有价值锚定关系的区块链资产,可通过将现实世界的真实资产(包括货币、房产、股票、贷款合同、票据、应收账款等资产形式)冻结后,在链上发行与被冻结的真实资产锚定的、且能够在链上流通的虚拟资源。
在实现时,用户客户端可与区块链网络的节点设备执行资产冻结兑换流程,用户客户端将一定数额的真实资产的冻结凭证发送至具有虚拟资源兑换权限的机构对应的节点设备;该节点设备在接收到该冻结凭证后可将上述冻结凭证广播至区块链网络,以使区块链中的节点设备基于该冻结凭证,向该用户的区块链账户余额内增加与上述冻结的真实资产数额价值对应的虚拟资源。
上述基于冻结凭证,向该用户的区块链账户余额内增加与上述冻结的真实资产数额价值对应的虚拟资源,可进一步通过用户与智能合约交互来实现:上述用户客户端或具有虚拟资源兑换权限的机构对应的节点设备向区块链网络发送虚拟资源兑换交易,该虚拟资源兑换交易包括上述资产冻结凭证;响应于上述虚拟资源兑换交易,区块链的节点设备调用区块链上部署的虚拟资源兑换合约,执行所述智能合约声明的资源兑换逻辑,向该用户的区块链账户余额内增加与上述资产冻结凭证冻结的真实资产数额价值对应的虚拟资源。
基于上述的方式,用户即可基于自身持有的真实资产,在区块链网络中获得可与真实资产的价值锚定的虚拟资源,上述虚拟资源可以表现为用户的链上账户余额。
在所述区块链网络系统中,区块链的节点设备为区块链服务所提供的系统资源,可与区块链上发布的虚拟资源进行价值锚定。例如,节点设备为区块链上的数据提供的存储资源可与区块链上发布的虚拟资源进行价值锚定,每存储单位容量区块链数据可获取与之对应的虚拟资源;再如,节点设备为区块链上的任意交易的执行所提供的CPU计算资源,可与区块链上发布的虚拟资源进行价值锚定,每执行单位数量的CPU指令集,可获取与之对应的虚拟资源;又如,节点设备为区块链上任一交易的广播、共识所提供的网络资源,可与区块链上发布的虚拟资源进行价值锚定,可基于上链交易的广播或共识过程所消耗的网络流量,获取与对应的虚拟资源。
区块链开发者可对上述存储资源、计算资源、网络资源等形式的系统资源进行量化,为区块链网络中每单位的存储资源、计算资源、网络资源或其他形式的系统资源对应的虚拟资源数量进行定价。对于联盟链,其联盟成员相对固定,上述锚定所得的系统资源定价可以较长期的保持固定;对于公链系统来说,节点进入或退出区块链网络较为频繁,区块链开发者在对上述多种形式的系统资源进行单位定价后,基于用户使用区块链时的区块链规模进行实时收费,或按照较短周期进行周期性收费。本领域技术人员还可以从实际的费用需求出发,基于与区块链上发布的虚拟资源具有价值锚定关系的、任意形式的系统资源,为区块链节点设备所提供的区块链服务向用户进行收费,本说明书对此不做限定。
区块链的节点设备为智能合约账户分配的初始存储空间容量或存储空间的初始有效时长,可以是应用户的需求向区块链系统申请的,也可以是区块链系统基于系统协议而默认设置的,本实施方式对此不做限定。
区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,可与在区块链上发布的虚拟资源进行了价值锚定。例如,区块链系统可为节点设备为智能合约账户提供的存储资源进行定价:m(虚拟资源单位)/Gb, 或者,m(虚拟资源单位)/Gb/天。
值得注意的是,上述区块链系统对节点设备提供的存储资源的定价可与区块链系统的节点数量相关,可以预期,区块链的节点设备越多,智能合约账户所实际占用的存储资源总量越多,因此,区块链系统可基于节点设备的数量调节向用户收取的、每单位存储资源的定价。
如图4所示,本说明书一示例性实施方式所提供的智能合约账户的存储空间管理方法,包括:
步骤402,所述区块链的节点设备接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长。
上述账户标识是为实现节点设备为目标智能合约账户分配的存储空间容量进行扩充,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充,而被扣除虚拟资源的区块链用户的账户标识;上述账户标识可包括上述存储空间管理交易发布者的账户标识,也可包括由上述存储空间管理交易发布者指定的其他用户的账户标识。上述账户标识对应的账户的类型可以包括外部账户,也可以包括智能合约账户。
可选地,上述存储空间管理交易还可包含目标智能合约账户的账户标识信息,以方便基于目标智能合约账户的账户标识信息,检索到区块链中维护的节点设备为目标智能合约账户分配的存储空间容量等状态。
步骤404,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量。
例如,区块链系统可为节点设备提供的存储资源进行定价:m(虚拟资源单位)/Gb,用户在存储空间管理交易中为所述目标智能合约的账户请求了NGb的扩充容量,节点设备即可计算出所述扩充的容量价值锚定的所述虚拟资源的第一数量,可包括:m*N(虚拟资源单位)。
又如,区块链系统可为节点设备提供的存储资源进行定价:m(虚拟资源单位)/Gb/天,节点设备已为目标智能合约账户分配的存储空间容量为NGB;用户在存储空间管理交易中为所述目标智能合约的账户请求扩充h天的有效时长,节点设备即可计算出所述扩充的有效时长价值锚定的所述虚拟资源的第一数量,可包括:m*N*h(虚拟资源单位)。
再如,区块链系统可为节点设备提供的存储资源进行定价:m(虚拟资源单位)/Gb/天,节点设备已为目标智能合约账户分配的存储空间容量为NGB;用户在存储空间管理交易中为所述目标智能合约的账户请求扩充h天的有效时长,以及,PGB的扩充容量,节点设备即可计算出与所述扩充的容量、以及所述扩充的有效时长价值锚定的所述虚拟资源的第一数量,可包括:m*(N+P)*h(虚拟资源单位)。
步骤406,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
在扣除完成后,可将所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有。上述扣除的第一数量的虚拟资源可以被节点设备直接分配至所述区块链中处理所述智能合约创建交易的各个节点设备对应的区块链账户中,以直接完成虚拟资源的分配。
或者,节点设备也可以先将扣除的所述第一数量的虚拟资源分配至区块链上的设定的区块链账户,如区块链的每轮记账节点对应的区块链账户,或者具有上述虚拟资源收取权限的预设区块链账户,从而基于处理所述智能合约创建交易所消耗的区块链的系统资源,代表该区块链中的各个节点设备,收取所述第一数量的虚拟资源。
此后,上述区块链还可设定相应的虚拟资源分配规则,由上述设定的区块链账户基于预设的周期(包括实时地、或定期地)向其他区块链用户账户分配基于创建智能合约而获得的虚拟资源;或者,响应于其他区块链用户的兑现请求,将应分配至其他区块链用户的虚拟资源兑换为链外的实体资产,并将已兑换完成的链上虚拟资源做注销处理。
本说明书对向区块链中的各个节点设备对应的区块链账户分配所述第一数量的虚拟资源的规则不作具体限定。例如,节点设备可将上述扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。例如,由于各个节点设备的存储介质配置不同,区块链系统可基于获取到的每个节点设备的存储介质性能属性(如hdd、或ssd、或nvm等硬盘性能属性),对每个节点设备的存储介质进行评级,从而为提供高等级存储介质的节点设备分配较高比例的虚拟资源,为提供低等级存储介质的节点设备分配较低比例的虚拟资源。
步骤408,执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在本实施方式中,区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
在一示出的实施方式中,节点设备可在目标智能合约账户中维护节点设备为所述智能合约提供的存储空间容量。具体实现时,可将上述目标智能合约账户所支持的内容字段(除Balance,Nonce,Code和Storage之外)进行扩展,以增加标识所述的区块链的节点设备为所述智能合约分配的存储空间的剩余存储容量参数,和/或,剩余有效时长参数。
在该实施方式中,节点设备执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,可包括:执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,扩充所述目标智能合约账户中维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
在又一示出的实施方式中,上述区块链还可在系统的底层协议中部署对目标智能合约账户对应的存储空间的剩余存储容量,和/或,剩余有效时长等存储状态的管理逻辑,以实时或定时监测智能合约账户,维护与所述目标智能合约账户对应的、存储空间的剩余存储容量,和/或,所述目标智能合约账户对应的存储空间的的剩余有效时长等状态信息;每个节点设备在查看上述目标智能合约账户的属性时,可以获得所述目标智能合约账户对应的、存储空间的剩余存储容量,和/或,所述目标智能合约账户对应的存储空间的的剩余有效时长。
相应地,在该实施方式中,节点设备执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,可包括:执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,扩充所述区块链系统底层维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
在又一示出的实施方式中,上述区块链还可部署专门的管理合约,以用于在所述管理合约账户中管理维护节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
因此,在该实施方式中,节点设备执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,可包括:响应于所述存储空间管理交易,调用所述管理合约,执行所述管理合约声明的、对节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长管理逻辑,在所述管理合约账户中扩充节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
当上述各实施方式所述的智能合约的账户空间管理交易执行完成后,节点设备可将表示上述账户空间管理交易被执行成功的交易收据(receipt)收录于上述区块链的MPT收据树中,以使节点设备可基于上述交易收据向发送上述智能合约的账户空间管理交易的区块链客户端返回上述管理交易执行成功的提示。
值得注意的是,在智能合约存续期限内,用户可根据实际的需求对节点设备为上述目标智能合约账户分配的存储空间容量进行相应的扩充或缩减,和/或,对节点设备为上述目标智能合约账户分配的存储空间的有效时长进行相应的扩充或缩减,以变更所述区块链中维护的(如上述目标智能合约账户或所述管理合约账户中维护的)节点设备为目标智能合约账户分配的存储空间的剩余存储容量状态,和/或,剩余有效时长状态。
例如,在又一示出的实施方式中,所述智能合约账户的存储空间管理方法,还包括:接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在上述一个或多个实施方式中,并不限定图4所述的步骤404、406和步骤408的先后顺序。在一示出的实施方式中,节点设备可先执行步骤404和406,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;在成功执行从所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源之后,节点设备再执行步骤408,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
之后,节点设备可基于上述存储空间管理交易的执行结果(被包含于区块链的MPT收据树所收录的与上述智能合约创建交易对应的交易收据),向上述区块链客户端、返回上述存储空间管理交易的执行完成(如智能合约创建成功)的提示。
在步骤406中,如果与所述账户标识对应的用户账户持有的虚拟资源的数量小于所述第一数量,节点设备则无法完成扣除所述第一数量的虚拟资源,此时节点设备可不执行所述存储空间管理交易,并向所述区块链客户端返回所述智能合约创建交易执行失败(如智能合约创建失败)的提示。
在又一示出的实施方式中,节点设备可先执行步骤408,执行所述存储空间管理交易,可将执行后节点设备为目标智能合约账户分配的存储空间的剩余存储容量状态,和/或,剩余有效时长状态,以及基于上述存储空间管理交易的执行结果生成的交易收据(receipt)在内存中暂存;接下来执行步骤404和406,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量并从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
如果从所述用户账户持有的虚拟资源中成功扣除所述第一数量的虚拟资源,节点设备可更新区块链中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量状态,和/或,剩余有效时长状态,并将执行所述存储空间管理交易后生成的、表示上述存储空间管理交易被执行成功的交易收据(receipt)保存在区块链的MPT收据树中;此时,节点设备可向所述区块链客户端返回存储空间管理交易的执行结果;
如果所述账户标识对应的用户账户持有的虚拟资源的数量小于所述第一数量,节点设备则无法完成扣除所述第一数量的虚拟资源,此时可将执行所述存储空间管理交易生成的、表示上述存储空间管理交易被执行成功的交易收据(receipt)、及更新后的节点设备为目标智能合约账户分配的存储空间的剩余存储容量状态,和/或,剩余有效时长状态,从内存删除,并向所述区块链客户端返回上述存储空间管理交易执行失败的提示。
或者,当所述账户标识对应的用户账户持有的虚拟资源的数量小于所述第一数量时,节点设备无法完成扣除所述第一数量的虚拟资源时,节点设备可暂存上述交易收据,并向所述区块链客户端发送余额补充提醒,待用户完成对所述账户标识对应的用户账户的余额补充后,再执行上述的第一数量的虚拟资源扣除操作,并在扣除成功后,更新区块链中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量状态,和/或,剩余有效时长状态,并将执行所述存储空间管理交易后生成的、表示上述存储空间管理交易被执行成功的交易收据(receipt)保存在区块链的MPT收据树中,并向所述区块链客户端返回所述智能合约创建交易执行完成的提示。
在又一示出的实施方式中,上述存储空间管理交易在区块链中的广播、共识验证、及执行过程可具体包括:
上述节点设备在收到上述区块链客户端发送的存储空间管理交易后,可将所述存储空间管理交易在区块链网络中广播传递;
区块链中共识节点在收到上述存储空间管理交易后,可对所述存储空间管理交易进行共识验证;
如果对所述存储空间管理交易的共识验证通过,区块链的节点设备可将上述存储空间管理交易加入到区块链的账本数据库中;并计算待扣除的虚拟资源的第一数量,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源,以及执行所述存储空间管理交易。
在该实施方式中,为了减少由于所述账户标识对应的用户账户中的虚拟资源余额不足以支付处理所述存储空间管理交易所需的虚拟资源的第一数量,导致所述存储空间管理交易执行失败,造成节点设备的系统资源浪费,上述区块链的共识节点所执行的共识验证过程,可包括:验证所述存储空间管理交易所包含的所述用户账户持有的虚拟资源的数量是否不小于预设阈值。
上述预设阈值可以是区块链开发者为存储空间管理类型的交易所设定的虚拟资源固定阈值,例如,可基于执行存储空间管理类型的交易的最小系统资源消耗、或平均系统资源消耗所锚定的虚拟资源数量来设定;在该条件下,为了使智能合约成功创建,用户账户中需持有符合上述预设阈值的虚拟资源数量,从而使得当用户账户中的虚拟资源数量少于上述预设阈值时,则直接返回共识验证未通过的提示,避免节点设备在共识验证阶段后由于执行扣除第一数量的虚拟资源操作而进一步地消耗系统资源。
在一些实施方式中,上述智能合约创建交易虽然通过了上述包含对所述账户标识对应的用户账户余额不小于预设阈值的共识验证,但是仍可能由于上述用户请求的所述智能合约账户的存储空间的扩充容量过大等原因,而使上述计算确定的虚拟资源的第一数量大于所述用户账户的余额,导致交易执行失败。
可选地,上述共识验证还可包括上述步骤404所述的计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量的过程,例如,当上述区块链的底层协议部署了计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的数量的计算模型时,共识节点获取所述存储空间管理交易时,即可基于所述计算模型获取所述用户账户基于执行所述存储空间管理交易而需扣除的虚拟资源的第一数量,此时,上述预设阈值可以为经上述计算处理过程所确定的虚拟资源的第一数量,从而使区块链的共识节点在共识验证中,直接基于处理该存储空间管理交易所需从上述用户账户中扣除的虚拟资源的第一数量,执行是否足以扣除的共识验证,从而提供了更加精准的共识验证,提高通过共识验证的智能合约创建交易的执行成功率。
基于上述一种或多种实施方式所述的对智能合约账户空间的管理方法,区块链系统可开发出多种类型的智能合约的账户空间管理交易,如上述存储空间扩充或缩减交易,存储时长扩充或缩减交易;用户通过发送各种类型的智能合约的账户空间管理交易,基于自身的需求,方便地执行智能合约账户的存储空间管理;并且通过与上述智能合约账户空间价值锚定的虚拟资源的扣除或增加,使用户更加高效地实现对智能合约账户空间的管理,优化了区块链的存储资源利用。区块链的技术开发人员可基于智能合约的账户空间管理需求,开发出更多种类型的账户空间管理交易,并为用户基于管理的具体对象进行与具体对象价值锚定的虚拟资源的转移或接收,均在本说明书限定的保护范围内。
与上述流程实现对应,本说明书的实施例还提供了智能合约账户的存储空间管理装置50和60。装置50、60可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图7所示的CPU、内存以及存储器之外,上述装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
如图5所述,本说明书提供了一种智能合约账户的存储空间管理装置50,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述装置50包括:
接收单元502,接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
计算单元504,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
扣除单元506,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;
执行单元508,在扣除所述第一数量的虚拟资源后,进一步执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在又一示出的实施方式中,所述的装置50还包括:
分配单元510,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述存储空间管理交易。
在又一示出的实施方式中,所述分配单元510,进一步用于:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
在又一示出的实施方式中,所述接收单元502,进一步用于接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;
所述计算单元504,进一步用于计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;
所述装置50还包括增加单元512,向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;
所述执行单元508,进一步用于执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在又一示出的实施方式中,所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:
所述目标智能合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
在又一示出的实施方式中,所述区块链上还部署了管理合约;所述管理合约声明有对节点设备为所述智能合约账户分配的存储空间的管理逻辑;
所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:所述管理合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,包括:
响应于所述存储空间管理交易,调用所述管理合约,执行所述管理逻辑,对所述管理合约的账户中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在又一示出的实施方式中,所述的装置50还包括:
返回单元514,如果所述用户账户持有的虚拟资源的数量小于所述第一数量,向所述区块链客户端返回所述存储容量管理交易执行失败的提示。
在又一示出的实施方式中,所述的装置50还包括:
广播单元516,在执行所述存储空间管理交易之前,将所述存储空间管理交易广播至区块链网络以对所存储空间管理交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述存储空间管理交易的共识验证通过,所述执行单元执行所述存储空间管理交易。
在又一示出的实施方式中,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产。
上述装置50中各个单元的功能和作用的实现过程具体详见上述实施方式中,节点设备所执行的智能合约账户的存储空间管理方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
如图6所示,本说明书提供了一种智能合约账户的存储空间管理装置60,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述装置60包括:
接收单元602,接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
执行单元604,执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理;
计算单元606,在执行所述存储空间管理交易后,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
扣除单元608,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
在又一示出的实施方式中,所述的装置60还包括:
分配单元610,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述存储空间管理交易。
在又一示出的实施方式中,所述分配单元610,进一步用于:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
在又一示出的实施方式中,所述接收单元602,进一步用于接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;
所述计算单606元,进一步用于计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;
所述装置60还包括增加单元612,向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;
所述执行单元604,进一步用于执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在又一示出的实施方式中,所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:
所述目标智能合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
在又一示出的实施方式中,所述区块链上还部署了管理合约;所述管理合约声明有对节点设备为所述智能合约账户分配的存储空间的管理逻辑;
所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:所述管理合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,包括:
响应于所述存储空间管理交易,调用所述管理合约,执行所述管理逻辑,对所述管理合约的账户中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
在又一示出的实施方式中,所述的装置60还包括:
返回单元614,如果从与所述账户标识对应的用户账户中持有的虚拟资源中成功扣除所述第一数量的虚拟资源,将生成的所述存储空间管理交易对应的交易收据存储至所述区块链,并向所述区块链客户端返回所述存储空间管理交易的执行结果;
如果与所述账户标识对应的用户账户中持有的虚拟资源的数量小于所述第一数量,删除生成的所述存储空间管理交易对应的交易收据,并向所述区块链客户端返回所述存储空间管理交易执行失败的提示。
在又一示出的实施方式中,所述的装置60还包括:
广播单元616,在执行所述存储空间管理交易之前,将所述存储空间管理交易广播至区块链网络,以对所述存储空间管理交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述存储空间管理交易的共识验证通过,执行所述存储空间管理交易。
在又一示出的实施方式中,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产。
上述装置60中各个单元的功能和作用的实现过程具体详见上述实施方式中,节点设备所执行的智能合约账户的存储空间管理方法中对应步骤的实现过程,相关之处参见方法实施例的部分说明即可,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部单元或模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的装置、单元、模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,如图7所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行图5所示的装置所在的节点设备所执行的智能合约账户的存储空间管理方法的各个步骤。对上述节点设备所执行的智能合约账户的存储空间管理方法的各个步骤的详细描述请参见之前的内容,不再重复。
与上述方法实施例相对应,本说明书的实施例还提供了一种计算机设备,如图7所示,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行图6所示的装置所在的节点设备所执行的智能合约账户的存储空间管理方法的各个步骤。对上述节点设备所执行的智能合约账户的存储空间管理方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。
计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
Claims (38)
1.一种智能合约账户的存储空间管理方法,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述方法包括:
接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;
在扣除所述第一数量的虚拟资源后,进一步执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
2.根据权利要求1所述的方法,还包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述存储空间管理交易。
3.根据权利要求2所述的方法,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
4.根据权利要求1所述的方法,还包括:
接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;
计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;
向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;
执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
5.根据权利要求1或4所述的方法,所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:
所述目标智能合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
6.根据权利要求1或4所述的方法,所述区块链上还部署了管理合约;所述管理合约声明有对节点设备为所述智能合约账户分配的存储空间的管理逻辑;
所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:所述管理合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,包括:
响应于所述存储空间管理交易,调用所述管理合约,执行所述管理逻辑,对所述管理合约的账户中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
7.根据权利要求1所述的方法,还包括:
如果所述用户账户持有的虚拟资源的数量小于所述第一数量,向所述区块链客户端返回所述存储容量管理交易执行失败的提示。
8.根据权利要求1所述的方法,在执行所述存储空间管理交易之前,所述方法还包括:
将所述存储空间管理交易广播至区块链网络以对所述存储空间管理交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述存储空间管理交易的共识验证通过,执行所述存储空间管理交易。
9.根据权利要求1所述的方法,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产。
10.一种智能合约账户的存储空间管理方法,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述方法包括:
接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理;
在执行所述存储空间管理交易后,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
11.根据权利要求10所述的方法,还包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述存储空间管理交易。
12.根据权利要求11所述的方法,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,包括:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
13.根据权利要求10所述的方法,还包括:
接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;
计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;
向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;
执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
14.根据权利要求10或13所述的方法,所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:
所述目标智能合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
15.根据权利要求10或13所述的方法,所述区块链上还部署了管理合约;所述管理合约声明有对节点设备为所述智能合约账户分配的存储空间的管理逻辑;
所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:所述管理合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,包括:
响应于所述存储空间管理交易,调用所述管理合约,执行所述管理逻辑,对所述管理合约的账户中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
16.根据权利要求10所述的方法,还包括:
如果从与所述账户标识对应的用户账户中持有的虚拟资源中成功扣除所述第一数量的虚拟资源,将生成的所述存储空间管理交易对应的交易收据存储至所述区块链,并向所述区块链客户端返回所述存储空间管理交易的执行结果;
如果与所述账户标识对应的用户账户中持有的虚拟资源的数量小于所述第一数量,删除生成的所述存储空间管理交易对应的交易收据,并向所述区块链客户端返回所述存储空间管理交易执行失败的提示。
17.根据权利要求10所述的方法,在执行所述存储空间管理交易之前,所述方法还包括:
将所述存储空间管理交易广播至区块链网络,以对所述存储空间管理交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述存储空间管理交易的共识验证通过,执行所述存储空间管理交易。
18.根据权利要求10所述的方法,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产。
19.一种智能合约账户的存储空间管理装置,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述装置包括:
接收单元,接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
计算单元,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
扣除单元,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源;
执行单元,在扣除所述第一数量的虚拟资源后,进一步执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
20.根据权利要求19所述的装置,还包括:
分配单元,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述存储空间管理交易。
21.根据权利要求20所述的装置,所述分配单元,进一步用于:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
22.根据权利要求19所述的装置,
所述接收单元,进一步用于接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;
所述计算单元,进一步用于计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;
所述装置还包括增加单元,向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;
所述执行单元,进一步用于执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
23.根据权利要求19或22所述的装置,所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:
所述目标智能合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
24.根据权利要求19或22所述的装置,所述区块链上还部署了管理合约;所述管理合约声明有对节点设备为所述智能合约账户分配的存储空间的管理逻辑;
所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:所述管理合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,包括:
响应于所述存储空间管理交易,调用所述管理合约,执行所述管理逻辑,对所述管理合约的账户中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
25.根据权利要求19所述的装置,还包括:
返回单元,如果所述用户账户持有的虚拟资源的数量小于所述第一数量,向所述区块链客户端返回所述存储容量管理交易执行失败的提示。
26.根据权利要求19所述的装置,还包括:
广播单元,在执行所述存储空间管理交易之前,将所述存储空间管理交易广播至区块链网络以对所存储空间管理交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述存储空间管理交易的共识验证通过,所述执行单元执行所述存储空间管理交易。
27.根据权利要求19所述的装置,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产。
28.一种智能合约账户的存储空间管理装置,应用于节点设备,区块链的节点设备搭载的存储空间容量,和/或,区块链的节点设备搭载的存储空间的有效时长,与在区块链上发布的虚拟资源进行了价值锚定;所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述装置包括:
接收单元,接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行扩充的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行扩充的有效时长;
执行单元,执行所述存储空间管理交易,基于所述的扩充容量,和/或,所述扩充的有效时长,对所述区块链维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理;
计算单元,在执行所述存储空间管理交易后,计算与所述扩充的容量,和/或,与所述扩充的有效时长价值锚定的所述虚拟资源的第一数量;
扣除单元,从与所述账户标识对应的用户账户持有的虚拟资源中扣除所述第一数量的虚拟资源。
29.根据权利要求28所述的装置,还包括:
分配单元,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的节点设备对应的区块链账户进行持有,并在分配完毕后进一步执行所述存储空间管理交易。
30.根据权利要求29所述的装置,所述分配单元,进一步用于:
将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,平均分配至所述区块链的各个节点设备对应的区块链账户分别进行持有;
或者,基于所述区块链的各个节点设备为所述智能合约分配的账户存储资源的存储介质性能属性,将从所述账户标识对应的用户账户持有的虚拟资源中扣除的所述第一数量的虚拟资源,分配至所述区块链的各个节点设备对应的区块链账户分别进行持有。
31.根据权利要求28所述的装置,
所述接收单元,进一步用于接收区块链客户端发送的存储空间管理交易,所述存储空间管理交易包括用户的账户标识,对节点设备为目标智能合约账户分配的存储空间容量进行缩减的容量,和/或,对节点设备为目标智能合约账户分配的存储空间的有效时长进行缩减的有效时长;
所述计算单元,进一步用于计算与所述缩减的容量,和/或,与所述缩减的有效时长价值锚定的所述虚拟资源的第二数量;
所述装置还包括增加单元,向所述账户标识对应的用户账户持有的虚拟资源中增加所述第二数量的虚拟资源;
所述执行单元,进一步用于执行所述存储空间管理交易,基于所述缩减的容量,和/或,所述缩减的有效时长,对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
32.根据权利要求28或31所述的装置,所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:
所述目标智能合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长。
33.根据权利要求28或31所述的装置,所述区块链上还部署了管理合约;所述管理合约声明有对节点设备为所述智能合约账户分配的存储空间的管理逻辑;
所述区块链维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长,包括:所述管理合约的账户中维护了节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长;
所述对所述区块链维护的、节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理,包括:
响应于所述存储空间管理交易,调用所述管理合约,执行所述管理逻辑,对所述管理合约的账户中维护的节点设备为目标智能合约账户分配的存储空间的剩余存储容量,和/或,剩余有效时长进行变更处理。
34.根据权利要求28所述的装置,还包括:
返回单元,如果从与所述账户标识对应的用户账户中持有的虚拟资源中成功扣除所述第一数量的虚拟资源,将生成的所述存储空间管理交易对应的交易收据存储至所述区块链,并向所述区块链客户端返回所述存储空间管理交易的执行结果;
如果与所述账户标识对应的用户账户中持有的虚拟资源的数量小于所述第一数量,删除生成的所述存储空间管理交易对应的交易收据,并向所述区块链客户端返回所述存储空间管理交易执行失败的提示。
35.根据权利要求28所述的装置,还包括:
广播单元,在执行所述存储空间管理交易之前,将所述存储空间管理交易广播至区块链网络,以对所述存储空间管理交易进行共识验证;其中,所述共识验证包括:验证所述用户账户持有的虚拟资源的数量是否不小于预设阈值;
如果对所述存储空间管理交易的共识验证通过,执行所述存储空间管理交易。
36.根据权利要求28所述的装置,所述虚拟资源为与将用户持有的链外资产作为价值锚定,在区块链上发布的区块链资产。
37.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求1至9任意一项所述的方法。
38.一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由所述处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行如权利要求10至18任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011128575.3A CN111966757B (zh) | 2020-10-20 | 2020-10-20 | 智能合约账户的存储空间管理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011128575.3A CN111966757B (zh) | 2020-10-20 | 2020-10-20 | 智能合约账户的存储空间管理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966757A true CN111966757A (zh) | 2020-11-20 |
CN111966757B CN111966757B (zh) | 2021-04-27 |
Family
ID=73387093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011128575.3A Active CN111966757B (zh) | 2020-10-20 | 2020-10-20 | 智能合约账户的存储空间管理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966757B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965828A (zh) * | 2021-02-03 | 2021-06-15 | 北京轻松筹信息技术有限公司 | 多线程数据处理方法、装置、设备和存储介质 |
CN113222572A (zh) * | 2021-05-10 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种交易执行方法及装置 |
CN113312663A (zh) * | 2021-05-31 | 2021-08-27 | 尧领有限公司 | 分布式数据存储方法及系统、计算机可读存储介质 |
CN115150173A (zh) * | 2022-06-30 | 2022-10-04 | 合肥学院 | 具有双向存储结构的去中心化数据云安全存储系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716207A (zh) * | 2005-07-04 | 2006-01-04 | 李子木 | 定制网络信息存储服务的方法及系统 |
CN1904838A (zh) * | 2005-07-27 | 2007-01-31 | 国际商业机器公司 | 在分布式系统中实施资源利用的系统、方法和服务 |
CN109189334A (zh) * | 2018-08-16 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 一种区块链网络服务平台及其扩容方法、存储介质 |
CN109615352A (zh) * | 2019-01-21 | 2019-04-12 | 深圳市祥云万维科技有限公司 | 一种资源汇聚网络和方法 |
CN110458702A (zh) * | 2019-07-15 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 基于区块链的虚拟资源分配方法及装置、电子设备 |
-
2020
- 2020-10-20 CN CN202011128575.3A patent/CN111966757B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716207A (zh) * | 2005-07-04 | 2006-01-04 | 李子木 | 定制网络信息存储服务的方法及系统 |
CN1904838A (zh) * | 2005-07-27 | 2007-01-31 | 国际商业机器公司 | 在分布式系统中实施资源利用的系统、方法和服务 |
CN109189334A (zh) * | 2018-08-16 | 2019-01-11 | 北京京东尚科信息技术有限公司 | 一种区块链网络服务平台及其扩容方法、存储介质 |
CN109615352A (zh) * | 2019-01-21 | 2019-04-12 | 深圳市祥云万维科技有限公司 | 一种资源汇聚网络和方法 |
CN110458702A (zh) * | 2019-07-15 | 2019-11-15 | 阿里巴巴集团控股有限公司 | 基于区块链的虚拟资源分配方法及装置、电子设备 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965828A (zh) * | 2021-02-03 | 2021-06-15 | 北京轻松筹信息技术有限公司 | 多线程数据处理方法、装置、设备和存储介质 |
CN112965828B (zh) * | 2021-02-03 | 2024-03-19 | 北京轻松怡康信息技术有限公司 | 多线程数据处理方法、装置、设备和存储介质 |
CN113222572A (zh) * | 2021-05-10 | 2021-08-06 | 支付宝(杭州)信息技术有限公司 | 一种交易执行方法及装置 |
CN113312663A (zh) * | 2021-05-31 | 2021-08-27 | 尧领有限公司 | 分布式数据存储方法及系统、计算机可读存储介质 |
CN113312663B (zh) * | 2021-05-31 | 2024-05-28 | 尧领有限公司 | 分布式数据存储方法及系统、计算机可读存储介质 |
CN115150173A (zh) * | 2022-06-30 | 2022-10-04 | 合肥学院 | 具有双向存储结构的去中心化数据云安全存储系统及方法 |
CN115150173B (zh) * | 2022-06-30 | 2023-09-29 | 合肥学院 | 具有双向存储结构的去中心化数据云安全存储系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111966757B (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021008122A1 (zh) | 基于区块链的虚拟资源分配方法及装置、电子设备 | |
CN111966757B (zh) | 智能合约账户的存储空间管理方法和装置 | |
US11032215B2 (en) | Allocating virtual resource based on block chain | |
CN112015823B (zh) | 一种区块链数据的删除方法和装置 | |
CN110458631B (zh) | 基于区块链的票据号码分配方法、装置及电子设备 | |
CN111967995A (zh) | 一种智能合约的创建方法和装置 | |
CN110147990B (zh) | 基于区块链的缴费代扣签约方法及装置、电子设备 | |
CN111966503B (zh) | 智能合约账户的存储空间管理方法和装置 | |
CN111966538B (zh) | 一种区块链数据的恢复方法和装置 | |
CN112015576A (zh) | 一种智能合约的调用方法和装置 | |
CN112015822B (zh) | 一种区块链数据的删除方法和装置 | |
CN112015596B (zh) | 一种区块链数据的恢复方法和装置 | |
CN110473030B (zh) | 基于区块链的电子票据号码申领方法及装置、电子设备 | |
CN112200567B (zh) | 基于区块链的资源管理方法、装置及电子设备 | |
US20210326906A1 (en) | Blockchain-based bill write-off method, apparatus, electronic device, and storage medium | |
CN112200571A (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN113037817A (zh) | 启动智能合约的方法及装置、电子设备、存储介质 | |
CN112200572A (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN112200568A (zh) | 基于区块链的账户创建方法、装置及电子设备 | |
CN110443612B (zh) | 一种基于区块链的报销费用分割方法、装置及电子设备 | |
CN111967994B (zh) | 一种智能合约的创建方法和装置 | |
CN112015577B (zh) | 一种智能合约的调用方法和装置 | |
CN112200570A (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN112365353A (zh) | 基于区块链的内容传播方法及装置 | |
CN111523052A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40041082 Country of ref document: HK |