数据账户创建方法及装置制造方法及图纸

技术编号:35274726 阅读:23 留言:0更新日期:2022-10-19 10:52
本说明书一个或多个实施例提供一种数据账户创建方法及装置,应用于区块链节点;所述区块链支持的账户类型包括数据账户;所述数据账户用于维护所述区块链上部署的智能合约进行合约计算所需的业务数据;所述方法包括:接收用于创建所述数据账户的数据账户创建交易;其中,所述数据账户创建交易包括所述区块链上部署的智能合约进行合约计算所需的业务数据;响应于所述数据账户创建交易,在所述区块链上创建数据账户;以及,将所述业务数据添加至所述数据账户进行维护。述数据账户进行维护。述数据账户进行维护。

【技术实现步骤摘要】
数据账户创建方法及装置


[0001]本说明书一个或多个实施例涉及区块链领域,尤其涉及一种数据账户创建方法及装置。

技术介绍

[0002]智能合约的专利技术降低了区块链的应用门槛,联盟链的推出更是加快了企业对区块链的应用。然而,企业对区块链的应用面临着巨大的技术挑战,尤其在企业的业务逻辑日趋复杂,业务数据不断累积的情况下,由于现有的技术限制和性能瓶颈,通常需要由单个智能合约实现复杂的业务逻辑,该智能合约下也需要存储大量的业务数据。
[0003]因此,通常会导致如下问题:第一,智能合约的代码量较大,甚至可能逼近用于执行智能合约的虚拟机的上限;第二,如果为了减小智能合约的代码量,将智能合约拆分为多个子合约,则需要在这多个子合约之间进行跨合约调用来执行业务,使业务的执行性能受到影响;第三,如果智能合约所实现的业务逻辑需要升级,则需要在区块链上部署新的智能合约,即需要将升级后的业务逻辑写入至新的智能合约,并将原先的智能合约中的业务数据拷贝至新的智能合约,使得新的智能合约兼容原先的智能合约中的业务数据。

技术实现思路

[0004]本说明书一个或多个实施例提供技术方案如下:
[0005]本说明书提供一种数据账户创建方法,应用于区块链节点;所述区块链支持的账户类型包括数据账户;所述数据账户用于维护所述区块链上部署的智能合约进行合约计算所需的业务数据;所述方法包括:
[0006]接收用于创建所述数据账户的数据账户创建交易;其中,所述数据账户创建交易包括所述区块链上部署的智能合约进行合约计算所需的业务数据;
[0007]响应于所述数据账户创建交易,在所述区块链上创建数据账户;以及,
[0008]将所述业务数据添加至所述数据账户进行维护。
[0009]本说明书还提供一种数据账户创建装置,应用于区块链节点;所述区块链支持的账户类型包括数据账户;所述数据账户用于维护所述区块链上部署的智能合约进行合约计算所需的业务数据;所述装置包括:
[0010]接收模块,接收用于创建所述数据账户的数据账户创建交易;其中,所述数据账户创建交易包括所述区块链上部署的智能合约进行合约计算所需的业务数据;
[0011]创建模块,响应于所述数据账户创建交易,在所述区块链上创建数据账户;以及,将所述业务数据添加至所述数据账户进行维护。
[0012]本说明书还提供一种电子设备,包括:
[0013]处理器;
[0014]用于存储处理器可执行指令的存储器;
[0015]其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步
骤。
[0016]本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
[0017]在上述技术方案中,区块链中的区块链节点可以响应于接收到的数据账户创建交易,基于该数据账户创建交易中的该区块链上部署的智能合约进行合约计算所需的业务数据,在该区块链上创建数据账户,即将该业务数据添加至所创建的该数据账户进行维护。
[0018]采用上述方式,可以将智能合约的合约代码与智能合约进行合约计算所需的业务数据分离开来,从而可以达到以下目的:第一,与智能合约对应的合约账户中仅需要维护智能合约的合约代码,因此可以将所实现的业务逻辑较为复杂的智能合约拆分成多个较为简单的子合约,降低智能合约的开发、测试、升级等的成本;第二,用户在区块链中注册的用户账户,以及与区块链上部署的智能合约对应的合约账户,均可以直接访问在区块链上创建的数据账户中维护的业务数据,即通过数据账户可以实现面向用户账户和合约账户的数据共享,节省智能合约的执行开销,实现对业务数据的并行访问,提高区块链的交易吞吐量;第三,由数据账户集中维护业务数据,可以实现业务数据的资产化,同时便于获取大量业务数据以进行数据分析、AI训练等处理。
附图说明
[0019]图1是一种用户账户的账户结构的示意图。
[0020]图2是一种合约账户的账户结构的示意图。
[0021]图3是本说明书一示例性实施例示出的一种数据账户创建方法的流程图。
[0022]图4是本说明书一示例性实施例示出的一种数据账户的账户结构的示意图。
[0023]图5是本说明书一示例性实施例示出的一种数据账户的访问授权方法的流程图。
[0024]图6是本说明书一示例性实施例示出的另一种数据账户的访问授权方法的流程图。
[0025]图7是本说明书一示例性实施例示出的另一种数据账户的访问授权方法的流程图。
[0026]图8是本说明书一示例性实施例示出的一种数据账户访问方法的流程图。
[0027]图9是本说明书一示例性实施例示出的另一种数据账户的访问授权方法的流程图。
[0028]图10是本说明书一示例性实施例示出的另一种数据账户的访问授权方法的流程图。
[0029]图11是本说明书一示例性实施例示出的另一种数据账户访问方法的流程图。
[0030]图12是本说明书一示例性实施例示出的一种数据账户更新方法的流程图。
[0031]图13是本说明书一示例性实施例示出的一种设备的硬件结构的示意图。
[0032]图14是本说明书一示例性实施例示出的一种数据账户创建装置的框图。
具体实施方式
[0033]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例
中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0034]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0035]区块链一般被划分为三种类型:公有链(Public Blockchain)、私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链与联盟链的结合、联盟链与公有链的结合等。
[0036]在上述三种类型的区块链中,去中心化程度最高的是公有链。加入公有链的参与方(也可以称为区块链中的节点)可以读取链上的数据记录、参与交易、竞争新区块的记账权等。而且,各节点可自由加入或退出网络,并进行相关操作。
[0037]私有链则相反,网络的写入权限由某个组织或机构控制,数据读取权限受组织规定。也即,私有链可以视为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据账户创建方法,应用于区块链节点;所述区块链支持的账户类型包括数据账户;所述数据账户用于维护所述区块链上部署的智能合约进行合约计算所需的业务数据;所述方法包括:接收用于创建所述数据账户的数据账户创建交易;其中,所述数据账户创建交易包括所述区块链上部署的智能合约进行合约计算所需的业务数据;响应于所述数据账户创建交易,在所述区块链上创建数据账户;以及,将所述业务数据添加至所述数据账户进行维护。2.根据权利要求1所述的方法,所述数据账户中维护的业务数据被组织成默克尔树的形式,在所述区块链节点搭载的本地数据库中存储;所述数据账户的账户结构包括用于维护所述默克尔树的根节点的Hash值的数据存储字段;所述将所述业务数据添加至所述数据账户进行维护,包括:将所述业务数据写入所述本地数据库中存储的默克尔树,以对所述默克尔树进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段。3.根据权利要求2所述的方法,所述业务数据包括业务数据内容和与所述业务数据内容对应的数据访问代码;所述将所述业务数据写入所述本地数据库中存储的默克尔树,以对所述默克尔树进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段,包括:将所述业务数据内容和所述数据访问代码的对应关系,写入所述本地数据库中存储的默克尔树,以对所述默克尔树进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段。4.根据权利要求3所述的方法,所述数据访问代码包括用于读写业务数据内容的接口代码。5.根据权利要求2所述的方法,所述数据账户创建交易还包括与所述业务数据对应的数据描述信息;所述数据账户的账户结构还包括用于维护所述数据描述信息的Hash值的数据描述字段;所述方法还包括:计算所述数据账户创建交易中的与所述业务数据对应的数据描述信息的Hash值,并将计算出的所述Hash值填充至所述数据账户中的数据描述字段。6.根据权利要求2所述的方法,所述方法还包括:接收与所述数据账户对应的管理方发起的针对所述数据账户的数据账户更新交易;其中,所述数据账户更新交易包括更新后的所述业务数据;响应于所述数据账户更新交易,确定所述管理方是否具有与所述数据账户对应的管理权限;如果所述管理方具有与所述数据账户对应的管理权限,则将更新后的所述业务数据写入所述本地数据库中存储的默克尔树,以对所述默克尔树上已写入的所述业务数据进行更新,并将更新后的默克尔树的根节点的Hash值填充至所述数据账户中的数据存储字段。7.根据权利要求1所述的方法,所述数据账户的账户结构包括用于维护与所述数据账户对应的访问授权信息的授权字段;
所述方法还包括:接收与所述数据账户对应的管理方发起的针对所述数据账...

【专利技术属性】
技术研发人员:俞本权刘燕魏长征何家华郭学鹏
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1