一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务处理方法、装置、节点设备及存储介质与流程

2022-03-19 12:15:46 来源:中国专利 TAG:

业务处理方法、装置、节点设备及存储介质
1.本技术为在2020年9月18日提交中国专利局、申请号为2020109828639、申请名称为“业务处理方法、装置、节点设备及存储介质”的中国专利申请的分案申请,全部内容通过应用结合在本技术中。
技术领域
2.本技术涉及区块链技术领域,尤其涉及一种业务处理方法、装置、节点设备及存储介质。


背景技术:

3.随着区块链技术的发展,区块链被越来越多的企业和用户使用。在使用区块链中,用户或者企业需要在区块链中注册一个账户,之后用户或者企业向区块链网络发布的业务请求可以看做是相应的账户提交到的区块链网络中的。
4.区块链网络执行用户提交的业务请求的过程是:接收任意一个账户提交的业务请求后,将该业务请求存入交易池;等待检测到生成新区块的指令时,从交易池中选取包括该业务请求的数据打包成新的区块;将新的区块广播至区块链网络中的共识节点,由共识节点进行共识;共识通过后,将新的区块添加至区块链上,并执行业务请求所指示的业务比如转账业务。
5.可见,用户一旦向区块链网络提交一个交易,区块链网络便会执行上述过程,在某些区块链业务中这种方式可能导致交易处理过程重复,浪费一些不必要的功耗开销。比如,在多个账户向一个账户转账的业务中,例如用户a和用户b向用户c转账,用户a和用户b分别向区块链网络提交交易请求,区块链网络按照上述过程分别处理用户a和用户b的请求,以实现将用户a和用户b账户中数据资源转移给用户c。综上所述,在区块链网络中,如何有效地进行业务处理成为研究的热点问题。


技术实现要素:

6.本发明实施例提供了一种业务处理方法、装置、节点设备及存储介质,丰富了业务处理方式,从而可节省业务处理的功耗开销。
7.一方面,本发明实施例提供了一种业务方法,包括:
8.接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;
9.根据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户,并向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;
10.若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
11.一方面,本发明实施例提供了一种业务处理装置,包括:
12.接收单元,用于接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;
13.获取单元,用于根据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户;
14.发送单元,用于向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;
15.执行单元,用于若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
16.在一个实施例中,所述区块链网络包括待授权交易池和待执行交易池;在接收到所述业务请求后,所述业务请求被存储至所述待授权交易池;在所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证完成后,执行所述业务请求所指示的业务之前,所述业务请求由存储在所述待授权交易池转移至存储在所述待执行交易池。
17.在一个实施例中,所述执行单元在执行所述业务请求所指示的业务时,执行如下步骤:从所述待执行交易池中选取至少一个业务,所述至少一个业务包括所述业务请求所指示的业务;将所述至少一个业务打包为待验证的目标区块,并通知所述区块链网络中的共识节点对所述待验证的目标区块进行验证;若对所述待验证的目标区块验证完成后,执行所述业务请求所指示的业务,并将所述目标区块连接到区块链上。
18.在一个实施例中,所述业务处理装置还包括处理单元:
19.所述接收单元,还用于接收所述目标账户提交的账户组创建请求,所述账户组创建请求包括至少一个账户标识;
20.所述处理单元,用于对所述账户组创建请求验证通过后,将所述目标账户以及所述至少一个账户标识中每个账户标识所指示的账户组成目标账户组,并为所述目标账户组分配目标地址标识。
21.在一个实施例中,所述目标账户为对所述目标账户组具有管理权限的账户,所述处理单元,还用于设置对所述目标账户组具有管理权限的账户为所述目标账户。
22.在一个实施例中,所述接收单元,还用于接收所述目标账户发送的管理权限转移请求;所述处理单元,还用于对所述管理权限转移请求验证通过后,将所述具有管理权限的账户由所述目标账户更新为所述管理权限转移请求所指示的账户。
23.在一个实施例中,所述接收单元,还用于接收所述目标账户提交的组内账户更新请求,所述组内账户更新请求用于指示在所述目标账户组中添加新账户,或者,删除所述目标账户组中已存在的账户;所述处理单元,还用于对所述组内账户更新请求验证通过后,根据所述组内账户更新请求对所述目标账户组包括的账户进行更新。
24.在一个实施例中,所述处理单元在所述将所述目标账户以及所述至少一个账户标识所指示的账户组成目标账户组时,执行如下步骤:
25.向所述至少一个账户标识中每个账户标识所指示的账户发送创建通知;将所述每个账户标识所指示的账户中,对所述创建通知输入了确认指令的账户与所述目标账户组成目标账户组。
26.在一个实施例中,所述业务请求所指示的业务包括数据资源转出业务,所述业务请求携带所述数据资源转出业务的转出方账户标识,所述至少一个账户是指所述目标账户
组中与所述转出方账户标识相匹配的账户,所述目标数量是指所述至少一个账户的账户总数量。
27.在一个实施例中,所述业务请求所指示的业务包括多账户协作业务,所述至少一个账户是指所述目标账户组中包括的各个账户,所述目标数量是根据所述多账户协作业务对应的账户数量比例阈值和所述至少一个账户的账户总数量确定的。
28.一方面,本发明实施例提供了一种节点设备,其特征在于,包括:处理器,适于实现一条或多条指令;以及,
29.计算机存储介质,所述计算机存储介质存储有一条或多条指令,所述一条或多条指令适于由所述处理器加载并执行如下步骤:
30.接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;
31.根据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户,并向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;
32.若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
33.一方面,本发明实施例提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,用于执行如下步骤:
34.接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;
35.根据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户,并向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;
36.若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
37.本发明实施例中,区块链网络接收目标账户发送的业务请求,并根据业务请求中携带的地址标识获取目标账户所属的目标账户组中与所述业务请求相关的至少一个账户,然后向至少一个账户中的每个账户发送对业务请求进行授权验证的通知信息;若至少一个账户中存在目标数量个账户对业务请求的授权验证通过,则执行所述业务请求所指示的业务。可见,在上述业务处理过程中,提交到区块链网络的业务请求是目标账户中的某一个成员账户发送的,并且区块链网络接收到该业务请求后,不是直接执行业务请求,而是需要在目标账户组中与所述业务请求相关的至少一个账户中存在目标数量个账户对业务请求进行验证通过后,才执行业务请求所指示的业务。通过多个账户授权来执行业务请求,丰富了区块链网络中业务处理方式,从而可优化区块链网络中的多账户协作业务。
附图说明
38.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明实施例提供的一种账户和智能合约之间的关系示意图;
40.图2是本发明实施例提供的一种区块链网络的结构示意图;
41.图3是本发明实施例提供的一种业务处理系统的结构示意图;
42.图4是本发明实施例提供的一种业务处理方法的流程示意图;
43.图5是本发明实施例提供的另一种业务处理方法的流程示意图;
44.图6是本发明实施例提供的一种业务处理装置的结构示意图;
45.图7是本发明实施例提供的一种节点设备的结构示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
47.区块链网络是一种分布式数据存储、点对点传输、共识机制和加密算法等计算机技术的新型应用模型,其本质上是一个去中心化的数据库。区块链网络中涉及到的主要概念包括智能合约、账户以及交易。
48.其中,智能合约是区块链网络的核心,相当于区块链网络中的自动代理人,每个智能合约对应一个合约地址。当接收到包括合约地址的交易时,合约地址对应的智能合约被激活,区块链网络运行智能合约对应的代码。
49.智能合约与区块链网络中的合约账户相关联。合约账户是区块链网络账户中的一种,区块链网络中还包括外部账户,所述外部账户是由私钥控制的且没有任何代码与之关联的账户。而合约账户是给智能合约分配的账户,被合约代码控制且有代码与之关联。外部账号的地址是由公钥决定的,而合约账户的地址是在智能合约被创建时决定的。每一个账户都有对应的余额,该余额可以被其他用户发送过来带有以太币的交易所更改。外部账户和合约账户之间、合约账户和合约账户之间可以进行信息交互。参考图1,为本发明实施例提供的一种外部账户、合约账户以及智能合约之间的交互示意图,开发者通过合约账户来定义智能合约的业务逻辑,也即开发者在合约账户中部署智能合约,外部账户可以通过向合约账户发送交易,触发合约账户对应的智能合约执行以完成账户之间的交易。
50.交易,也可以理解为一个业务请求,是一个账户和另外一个账户之间的信息交互,通俗来讲,交易就是一个账户向另外一个账户发送一笔被签名的消息数据包的过程,区块链网络记录并存储相应的数据。一个交易中可包括交易的发送者标识(也即拥有外部账户的用户)、交易的接收者标识、交易资源数量以及其他数据等。任意一个外部账户都可以通过使用其对应的私钥创建和签署交易,该交易可以是转账交易,也可以是和智能合约有关的交易,比如用于创建智能合约或者触发智能合约的交易。
51.在一个实施例中,区块链网络可以看成是一个数据共享系统,参见图2是本发明实施例提供的一种区块链网络的结构示意图,区块链网络可以看成是用于进行节点与节点之间进行数据共享的系统,区块链网络中可以包括多个节点101,多个节点101可以是指加入到区块链网络中的各个客户端。每个节点101在进行正常工作时可以接收到输入到区块链网络中的交易或者称为业务请求,并基于接收到的交易维护区块链网络内的共享数据。为了保证区块链网络内的信息互通,每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当区块链网络中的任意节点接收到输入的交易时,区块链
网络中其他节点便根据共识算法获取该交易,将该交易作为共识数据中的数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
52.在一个实施例中,区块链网络中每个节点存储的数据是存储在一条区块链上的,每个节点均维护一条相同的区块链。区块链由多个区块组成,区块链上的第一个区块称为创世块,创世块中包括区块头和区块主体,区块头中存储有交易的特征值、版本号、时间戳和难度值,区块主体中存储有交易;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的交易的特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中信息的安全性。
53.在一个实施例中,上述区块链网络中其他节点根据共识算法获取该交易可以指:区块链网络中的任意节点接收到提交到区块链网络的交易后,将该交易与其他交易打包到新的区块中;然后通过节点之间的信息连接将新的区块广播给各个节点,各个节点通过共识算法对新的区块进行共识验证;验证通过后,将新的区块连接到区块链上。
54.在现有的区块链网络中,节点接收到的交易都是以账户个体为单位提交到区块链网络中的,如此一来,不利于区块链网络中多账户协作业务的执行,比如多对一数据资源转移业务,或者智能合约调用业务。基于此,本发明实施例提供了一种业务处理方案,所述业务处理方案可应用于区块链网络中,所述区块链网络中可包括至少一个账户组,每个账户组中包括至少两个账户;任意一个账户组中的账户向区块链网络发送业务请求,区块链网络向该任意一个账户组中与所述业务请求相关的账户发送授权验证通知,如果该存在目标数量个账户对所述业务请求授权通过,则执行所述业务请求所指示的业务。其中,目标账户提交到区块链网络中的业务请求携带了目标账户组的地址标识,可以看做该业务请求是以账户组为单位的,节点设备对以账户组为单位的业务请求进行业务处理,丰富了区块链网络中业务处理方式,并且可优化区块链网络中的多账户协作业务。
55.基于上述的业务处理方案,本发明实施例提供了一种业务处理系统。参见图3,为本发明实施例提供的一种业务处理系统的结构示意图,图3所示的业务处理系统中可包括区块链网络301以及至少一个账户组302,每个账户组302中可包括至少一个账户303,每个账户303可以指区块链网络中的外部账户。图3所示的业务处理系统中还可以包括不在任何账户组中的其他账户304。
56.在一个实施例中,所述区块链网络301中可包括多个节点设备3011,每个节点设备3011可以为终端或者服务器。其中,所述终端可以是指智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等设备;所述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
57.在一个实施例中,每个账户组302可以是账户组中的任意一个账户通过向区块链网络发起账户组创建请求创建的,账户组创建请求中可以携带多个账户标识,节点设备3011将发起账户组创建请求的账户以及账户组创建请求中多个账户标识中每个账户标识所指示的账户组成一个账户组。另外,一个账户组创建成功后,节点设备3011可以为账户组分配一个唯一的地址标识。
58.并且,节点设备3011可以设置发起账户组创建请求的账户为对该账户组具有管理权限的账户,具有管理权限的账户可以对账户组进行管理,比如删除组内账户、添加新账户或者以账户组为单位向区块链网络发送业务请求。其中,所述以账户组为单位向区块链网络发送业务请求是指向区块链网络发送携带账户组的地址标识的业务请求。
59.在一个实施例中,任意一个账户组中具有管理权限的账户303可以通过其使用的用户终端向区块链网络提交携带其所属账户组的地址标识的业务请求。其中,账户303所使用的用户终端可以是区块链网络301中的节点设备,也可以不是区块链网络301中的节点设备但是能够与区块链网络301中任意一个节点设备进行通信。图3中假设账户303所使用的用户终端不是区块链网络301中的节点设备。所述用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等终端设备。
60.区块链网络301接收到业务请求后,区块链网络中的任意一个节点设备3011执行上述的业务处理方案,以实现执行业务请求所指示的业务。
61.基于上述的业务处理系统,本发明实施例中提供了一种业务处理方法。参见图4,为本发明实施例提供的一种业务处理方法的流程示意图。图4所示的业务处理方法可由区块链网络中的任意一个节点设备执行。图4所示的业务处理方法可包括如下步骤:
62.步骤s401、接收目标账户向节点设备发送的业务请求,业务请求中携带目标账户所属的目标账户组的地址标识。
63.在一个实施例中,目标账户组是根据目标账户提交到节点设备的账户组创建请求生成的。具体实现中,节点设备接收目标账户提交的账户组创建请求,所述账户组创建请求中可包括至少一个账户标识;节点设备对账户组创建请求的验证通过后,将目标账户以及至少一个账户标识中每个账户标识所指示的账户组成目标账户组,并为目标账户组分配地址标识。一个账户组通过其对应的地址标识唯一标识。
64.在一个实施例中,节点设备将所述目标账户以及至少一个账户标识中每个账户标识所指示的账户组成目标账户组,可以包括:向所述至少一个账户标识中每个账户标识所指示的账户发送创建通知;将所述每个账户所指示的账户中,对所述创建通知输入了确认指令的账户与所述目标账户组成目标账户组。其中,任意一个账户接收到的创建通知中可包括账户组创建者也即目标账户,以及至少一个账户标识中除本身账户外其他账户等。
65.也就是说,节点设备在将目标账户以及至少一个账户标识所指示的账户组成目标账户组之前,可以先通知至少一个账户标识中每个账户标识所指示的账户组的创建通知,以告知每个账户其将被添加至某一个账户组中;如果任意一个账户都同意被添加到账户组中,则可以输入确认指令,进一步的,节点设备将输入了确定指令的账户与目标账户组成目标账户组,如此一来,每个账户可以自行选择是否加入到某个账户组中,可以保证账户中数据资源的安全性。
66.在一个实施例中,目标账户可以是目标账户组中的任意一个账户;或者,所述目标账户可以是对目标账户组具有管理权限的账户。所述管理权限可以指在目标账户组中新增账户或者删除原有账户,或者解散目标账户组等等。
67.可选的,所述节点设备将所述目标账户以及所述至少一个账户标识所指示的账户组成目标账户组后,还可以设置对所述目标账户组具有管理权限的账户为所述目标账户。也就是说,节点设备可以将发起账户组创建请求的账户默认为对账户具有管理权限的账
户。
68.在一个实施例中,一个账户组创建成功后,以账户组发起的业务请求,实际的支付者为组内成员。比如,以账户组为单位发起的数据资源转出业务,转出方应该为账户组内的账户。
69.步骤s402、根据地址标识获取目标账户组中与业务请求相关的至少一个账户,并向至少一个账户中每个账户发送授权验证的通知信息。
70.由前述可知,一个账户组对应一个唯一的地址标识,节点设备通过目标账户的地址标识可以获取到目标账户中包括的所有账户。在步骤s402中,所述根据地址标识获取目标账户组中与业务请求相关的至少一个账户,包括:根据地址标识获取到目标账户组中所有账户,从所有账户中选取与业务请求相关的至少一个账户。
71.其中,根据业务请求所指示的业务不同,选取与业务请求相关的至少一个账户的方式也不相同。在一个实施例中,若所述业务请求所指示的业务为数据资源转出业务,所述业务请求中携带转出方账户,则与所述业务请求相关的至少一个账户是指目标账户组中与转出方账户相匹配的账户。比如,目标账户组中包括账户a,账户b和账户c,业务请求所指示的业务为数据资源转出业务,业务请求中携带的转出方账户为用户a和用户c,则可以将目标账户组中用户a和用户c作为与业务请求相关的账户。
72.在其他实施例中,若所述业务请求所指示的业务为多账户协作业务,比如调用智能合约,则与所述业务请求相关的至少一个账户可以指所述目标账户中所有账户。
73.在一个实施例中,在确定出与业务请求相关的至少一个账户后,可以向至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示每个账户对所述业务请求进行授权验证。
74.在一个实施例中,每个账户可以通过数字签名对业务请求进行验证。可选的,所谓数字签名是指每个账户拥有一对签名秘钥,分别为公钥和私钥,公钥是公开在区块链网络中的,私钥是账户自己保存。当需要对业务请求进行验证时,任意一个账户使用各自的私钥对业务请求进行签名;节点设备采用每个账户对应的公钥对签名后的业务请求进行验证,若验证通过,则确定任意一个账户对业务请求的授权验证通过。
75.在一个实施例中,在步骤s401中目标账户向区块链网络发送的业务请求中还可以携带目标账户的数字签名,也就是相当于目标账户在发送业务请求时,已完成了对业务请求的授权验证。基于此,为了节省功耗开销,如果与业务请求相关的至少一个账户中存在目标账户,则节点设备在向至少一个账户中每个账户发送授权验证的通知信息之前,可以向至少一个账户中除了目标账户外的其他账户发送授权验证通知。
76.步骤s403、若至少一个账户中存在目标数量个账户对业务请求的授权验证通过,则执行业务请求所指示的业务。
77.在一个实施例中,所述目标数量与所述业务请求所指示的业务以及至少一个账户的账户总数量相关。具体实现中,若所述业务请求所指示的业务为数据资源转出业务,所述业务请求中携带所述数据资源转出业务的转出方账户标识,此种情况下至少一个账户是指目标账户组中与所述业务请求中携带的转出方账户标识匹配的账户,则所述目标数量可以等于至少一个账户的账户总数量。简单来说,如果业务请求所指示的业务是数据资源转出业务,且转出方账户为目标账户组中的至少一个账户,则需要至少一个账户中每个账户都
对业务请求进行签名验证后,才能够分别从每个账户中转出数据资源。
78.在其他实施例中,若所述业务请求所指示的业务为多账户协作业务,比如智能合约调用,此种情况下,所述至少一个账户可以指目标账户组中的所有账户,则所述目标数量可以是基于多账户协作业务对应的账户数量比例阈值和至少一个账户的账户总数量确定的。具体实现中,节点设备可以预先设定多账户协作业务被执行需要与该业务相关的账户中大于或等于比例阈值的账户进行授权签名。比如某个多账户协作业务对应的账户数量比例阈值为70%,表明在与该多账户协作业务相关的账户中,如果有大于或等于70%的账户对该多账户协作业务进行授权签名,该多账户协作业务便可执行。
79.基于此,所述基于多账户协作业务和至少一个账户的账户总数量确定目标数量,包括:获取所述多账户协作业务对应的账户数量比例阈值;基于所述比例阈值和所述账户总数量确定目标数量。例如,假设与某个多账户协作业务相关的至少一个账户的账户总数量为10,该多账户协作业务对应的账户数量比例阈值为50%,那么如果10个账户中有任意5个账户进行授权签名后,则可以执行多账户协作业务。
80.在一个实施例中,所述执行所述业务请求所指示的业务包括:选取包括所述业务的至少一个业务打包成待验证的目标区块;并通知区块链网络中的共识节点对所述待验证的目标区块进行验证;若对待验证的目标区块验证完成后,执行业务请求所指示的业务,并将所述目标区块链接到区块链上。
81.本发明实施例中,区块链网络接收目标账户发送的业务请求,并根据业务请求中携带的地址标识获取目标账户所属的目标账户组中与所述业务请求相关的至少一个账户,然后向至少一个账户中的每个账户发送对业务请求进行授权验证的通知信息;若至少一个账户中存在目标数量个账户对业务请求的授权验证通过,则执行所述业务请求所指示的业务。可见,在上述业务处理过程中,提交到区块链网络的业务请求是目标账户中的某一个成员账户发送的,并且区块链网络接收到该业务请求后,不是直接执行业务请求,而是需要在目标账户组中与所述业务请求相关的至少一个账户中存在目标数量个账户对业务请求进行验证通过后,才执行业务请求所指示的业务。通过多个账户授权来执行业务请求,丰富了区块链网络中业务处理方式,从而可优化区块链网络中的多账户协作业务。
82.基于上述的业务处理方法,本发明实施例提供了另一种业务处理方法。参见图5,为本发明实施例提供的另一种业务处理方法的流程示意图。图5所示的业务处理方法可由区块链网络中的任意一个节点设备执行,具体可由节点设备的处理器执行。图5所示的业务处理方法可包括如下步骤:
83.步骤s501、接收目标账户提交的账户组创建请求。
84.在一个实施例中,账户组创建请求中可以包括至少一个账户标识,每个账户标识唯一表示一个账户,目标账户在账户组创建请求中携带至少一个账户标识表明目标账户想要选择与至少一个账户标识中每个账户标识指示的账户组成一个目标账户组。可选的,目标账户组在选择至少一个账户标识时,可以从多个区块链网络的账户中选择与其具有业务往来的账户标识,比如目标账户为账户a,账户a与账户b以及账户c经常存在协作关系,那么账户a可以将账户b以及账户c的账户标识携带在账户组创建请求中。
85.作为其他可选的实施例,对于多对一数据资源转移业务来说,如果目标账户为数据资源转移业务中的转出方账户,则目标账户可以选择该多对一数据资源转移业务中其他
转出方账户携带在账户组创建请求中;或者,如果目标账户为数据资源转移业务中的转入方账户,则目标账户也可以选择该多对一数据资源转出业务中其他转入方账户携带在账户组创建请求中。
86.在其他实施例中,目标账户也可以从多个区块链网络账户中随机选取至少一个账户标识携带在账户组创建请求中。
87.步骤s502、对账户组创建请求验证通过后,将目标账户以及至少一个账户标识中每个账户标识所指示的账户组成目标账户组。
88.假设在图5中,至少一个账户标识中每个账户标识所指示的账户分别为账户a和账户b,区块链网络将目标账户、账户a以及账户b组成一个目标账户组。
89.步骤s503、为目标账户组分配地址标识,并设置对目标账户组具有管理权限的账户为目标账户。
90.在一个实施例中,节点设备对账户组创建请求验证通过后,将目标账户以及每个账户标识所指示的账户组成目标账户组,并为目标账户组分配地址标识。以及将目标账户默认设置为对目标账户组具有管理权限的账户,或者说将目标账户设置为目标账户组的管理账户。
91.设置成功后,目标账户可以对目标账户组进行管理,所述管理可以包括对目标账户组进行组内账户更新,比如删除目标账户组的账户或者在账户组中添加新的账户,所述管理还可以包括向区块链网络发送携带目标账户组的地址标识的业务请求。
92.具体实现中,目标账户对目标账户组进行组内账户更新时,节点设备可以执行:接收目标账户提交的组内账户更新请求,所述组能账户更新请求用于指示在所述目标账户组内添加新账户,或者,删除所述目标账户组内已存在的账户;节点设备对组内账户更新请求验证通过后,根据所述组内账户更新请求对所述目标账户组包括的账户进行更新。
93.可选的,如果组内账户更新请求指示在目标账户组内添加新账户,则组内账户更新请求中可以携带新账户的账户标识,对组内账户更新请求验证通过后,将新账户添加到目标账户组中;如果组内账户更新请求指示删除目标账户组内已存在的账户,则组内账户更新请求中可携带需要删除账户的账户标识,节点设备对组内账户更新请求验证通过后,可以将账户标识所指示的账户从目标账户组中删除。
94.在一个实施例中,目标账户还可以将管理权限转移给目标账户组内的任意一个账户。具体实现中,节点设备接收目标账户发送的管理权限转移请求;节点设备对管理权限转移请求验证通过后,将具有管理权限的账户由目标账户更新为所述管理权限转移请求所指示的账户。比如,目标账户组中包括账户a,账户b以及账户c,账户a为具有管理权限的账户,账户a可以向区块链网络提交管理权限转移请求以实现将管理权限转移给账户c,管理权限转移后,账户c为目标账户组内具有管理权限的账户。
95.在一个实施例中,目标账户的管理权限的转移可以是需要目标账户组内其他账户同意后才可以执行。基于此,上述接收设备接收到目标账户发送的管理权限转移请求后,可以向目标账户组中除目标账户外的其他账户发送管理权限待转移通知,所述管理权限待转移通知中可包括管理权限转移请求所指示的账户;若其他账户中存在超过一定数量比如超过半数的账户对所述管理权限待转移通知输入了确定指令后,节点设备执行将具有管理权限的账户由目标账户更新为管理权限转移请求所指示的账户的步骤。如此一来,可以保证
目标账户组内的任何决策的公平性。
96.目标账户组中其他账户接收到管理权限待转移通知后,可以根据管理权限待转移通知中携带的管理权限转移请求指示账户的账户余额情况,账户信用情况以及其他信息确定是否同意管理权限的转移。
97.步骤s504、接收目标账户发送的业务请求,并将业务请求存储在待授权交易池中。
98.在一个实施例中,区块链网络包括待授权交易池和待执行交易池,所述待授权交易池用于缓存各个账户组中账户以账户组为单位向区块链提交的业务请求,所述待执行交易池用于缓冲区块链网络中各个账户以个体为单位向区块链网络提交的业务请求,以及待授权交易池中已授权通过的业务请求。
99.目标账户向区块链网络发送的业务请求中携带目标账户组的地址标识,因此该业务请求可以看成是以目标账户组为单位的业务请求,并且该业务请求还未被目标账户组中的其他用户授权通过,所以需要将该业务请求存储在待授权交易池中。
100.步骤s505、根据业务请求中携带的地址标识获取目标账户组中与业务请求相关的至少一个账户,并向至少一个账户中每个账户发送授权验证的通知信息。
101.在一个实施例中,步骤s505中包括的一些可行的实施方式可参见图4实施例中步骤s402中相关描述,在此不再赘述。在图5中假设账户a和账户b为与业务请求相关的账户,则节点设备分别向账户a和账户b发送授权验证的通知信息。
102.步骤s506、若至少一个账户中存在目标数量个账户对业务请求的授权验证通过,则将业务请求从待授权交易池中转移至待执行交易池中,并执行业务请求所指示的业务。
103.在一个实施例中,如果至少一个账户中存在目标数量个账户已经对业务请求的授权验证通过,则将该业务请求从待授权交易池中转移至待执行交易池中,并执行业务请求所指示的业务。
104.在一个实施例中,所述执行所述业务请求所指示的业务,包括:从所述待执行交易池中选取至少一个业务,所述至少一个业务包括所述业务请求所指示的业务;将所述至少一个业务打包为待验证的目标区块,并通知所述区块链网络中的共识节点对所述待验证的目标区块进行验证;若对所述待验证的目标区块验证完成后,执行所述业务请求所指示的业务,并将所述目标区块连接到区块链上。
105.本发明实施例中,节点设备接收到目标账户提交到的账户组创建请求后,根据将目标账户以及账户组创建请求中携带的至少一个账户标识所指示的账户组成目标账户组,并为目标账户组分配地址标识,以及设置目标账户为对目标账户组具有管理权限的账户。将一些账户组成账户组,后续方便一些多账户协作业务的执行,比如多对一数据资源转移业务,调用智能合约业务等,为区块链网络提供了一种新的业务处理方式。
106.进一步的,目标账户可以向区块链网络发起业务请求,区块链网络的节点设备接收到该业务请求后,将业务请求存储在待授权交易池中,并且可以根据业务请求中携带的地址标识获取目标账户组中与业务请求相关的至少一个账户,向至少一个账户发送授权验证的通知信息,以指示至少一个账户中的每个账户对业务请求进行授权验证;如果至少一个账户中存在目标数量个账户对业务请求验证通过,则将业务请求由待授权交易池转移至待执行交易池中,进而执行所述业务请求所指示的业务。
107.在上述业务处理过程中,由目标账户组的管理账户以目标账户组为单位向区块链
网络提交业务请求,进而节点设备对以账户组为单位的业务请求进行业务处理,丰富了区块链网络中业务处理方式,并且可优化区块链网络中的多账户协作业务。
108.基于上述的方法实施例,本发明实施例提供了一种业务处理装置。参见图6,为本发明实施例提供的一种业务处理装置的结构示意图,图6所示的业务处理装置可运行如下单元:
109.接收单元601,用于接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;
110.获取单元602,用于根据所述地址标识获取所述目标账户组中的至少一个账户;
111.发送单元603,用于向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;
112.执行单元604,用于若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
113.在一个实施例中所述区块链网络包括待授权交易池和待执行交易池;在接收到所述业务请求后,所述业务请求被存储至所述待授权交易池;在所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证完成后,执行所述业务请求所指示的业务之前,所述业务请求由存储在所述待授权交易池转移至存储在所述待执行交易池。
114.在一个实施例中,所述执行单元604在执行所述业务请求所指示的业务时,执行如下步骤:从所述待执行交易池中选取至少一个业务,所述至少一个业务包括所述业务请求所指示的业务;将所述至少一个业务打包为待验证的目标区块,并通知所述区块链网络中的共识节点对所述待验证的目标区块进行验证;若对所述待验证的目标区块验证完成后,执行所述业务请求所指示的业务,并将所述目标区块连接到区块链上。
115.在一个实施例中,在一个实施例中,所述业务处理装置还包括处理单元605:所述接收单元601,还用于接收所述目标账户提交的账户组创建请求,所述账户组创建请求包括至少一个账户标识;所述处理单元605,用于对所述账户组创建请求验证通过后,将所述目标账户以及所述至少一个账户标识中每个账户标识所指示的账户组成目标账户组,并为所述目标账户组分配目标地址标识。
116.在一个实施例中,所述目标账户为对所述目标账户组具有管理权限的账户,所述处理单元605,还用于设置对所述目标账户组具有管理权限的账户为所述目标账户。
117.在一个实施例中,所述接收单元601,还用于接收所述目标账户发送的管理权限转移请求;所述处理单元605,还用于对所述管理权限转移请求验证通过后,将所述具有管理权限的账户由所述目标账户更新为所述管理权限转移请求所指示的账户。
118.在一个实施例中,所述接收单元601,还用于接收所述目标账户提交的组内账户更新请求,所述组内账户更新请求用于指示在所述目标账户组中添加新账户,或者,删除所述目标账户组中已存在的账户;所述处理单元605,还用于对所述组内账户更新请求验证通过后,根据所述组内账户更新请求对所述目标账户组包括的账户进行更新。
119.在一个实施例中,所述处理单元605在所述将所述目标账户以及所述至少一个账户标识所指示的账户组成目标账户组时,执行如下步骤:
120.向所述至少一个账户标识中每个账户标识所指示的账户发送创建通知;将所述每个账户标识所指示的账户中,对所述创建通知输入了确认指令的账户与所述目标账户组成
目标账户组。
121.在一个实施例中,所述业务请求所指示的业务包括数据资源转出业务,所述业务请求携带所述数据资源转出业务的转出方账户标识,所述至少一个账户是指所述目标账户组中与所述转出方账户标识相匹配的账户,所述目标数量是指所述至少一个账户的账户总数量。
122.在一个实施例中,所述业务请求所指示的业务包括多账户协作业务,所述至少一个账户是指所述目标账户组中包括的各个账户,所述目标数量是根据所述多账户协作业务对应的账户数量比例阈值和所述至少一个账户的账户总数量确定的。
123.根据本发明的一个实施例,图4和图5所示的业务处理方法所涉及各个步骤可以是由图6所示的业务处理装置中的各个单元来执行的。例如,图4所述的步骤s401可由图6所示的业务处理装置中的接收单元601来执行,步骤s402可由图6所示的业务处理装置中的获取单元602来执行,步骤s403可由图6所示的业务处理装置中的发送单元603来执行,步骤s404可由图6所示的业务处理装置中的执行单元604来执行;再如,图5所示的业务处理方法中步骤s501和步骤s504可由图6所示的业务处理装置中的接收单元601来执行,步骤s502和步骤s503可由图6所示的业务处理装置中的处理单元605来执行,步骤s505可由图6所示的业务处理装置中的获取单元602来执行,步骤s506可由图6所示的业务处理装置的执行单元604来执行。
124.根据本发明的另一个实施例,图6所示的业务处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本发明的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本发明的其它实施例中,基于业务处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
125.根据本发明的另一个实施例,可以通过在包括中央处理单元(cpu)、随机存取存储介质(ram)、只读存储介质(rom)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图4以及图5所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图6中所示的业务处理装置,以及来实现本发明实施例业务处理方法。所述计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
126.本发明实施例中,区块链网络接收目标账户发送的业务请求,并根据业务请求中携带的地址标识获取目标账户所属的目标账户组中与所述业务请求相关的至少一个账户,然后向至少一个账户中的每个账户发送对业务请求进行授权验证的通知信息;若至少一个账户中存在目标数量个账户对业务请求的授权验证通过,则执行所述业务请求所指示的业务。可见,在上述业务处理过程中,提交到区块链网络的业务请求是目标账户中的某一个成员账户发送的,并且区块链网络接收到该业务请求后,不是直接执行业务请求,而是需要在目标账户组中与所述业务请求相关的至少一个账户中存在目标数量个账户对业务请求进行验证通过后,才执行业务请求所指示的业务。通过多个账户授权来执行业务请求,丰富了区块链网络中业务处理方式,从而可优化区块链网络中的多账户协作业务。
127.基于上述方法以及装置实施例,本发明实施例提供了一种节点设备,参见图7,为本发明实施例提供的一种节点设备的结构示意图。图7所示的节点设备可至少包括处理器701、输入接口702、输出接口703以及计算机存储介质704。其中,处理器701、输入接口702、输出接口703以及计算机存储介质704可通过总线或其他方式连接。
128.计算机存储介质704可以存储在节点设备的存储器中,所述计算机存储介质701用于存储计算机程序,所述计算机程序包括程序指令,所述处理器1201用于执行所述计算机存储介质704存储的程序指令。处理器701(或称cpu(central processing unit,中央处理器))是节点设备的计算核心以及控制核心,其适于实现一条或多条指令,具体适于加载并执行:
129.接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;根据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户,并向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
130.本发明实施例还提供了一种计算机存储介质(memory),所述计算机存储介质是节点设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机存储介质既可以包括节点设备中的内置存储介质,当然也可以包括节点设备所支持的扩展存储介质。计算机存储介质提供存储空间,该存储空间存储了节点设备的操作系统。并且,在该存储空间中还存放了适于被处理器701加载并执行的一条或多条的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机存储介质。
131.在一个实施例中,所述计算机存储介质可由处理器701加载并执行计算机存储介质中存放的一条或多条指令,以实现上述有关图4和图5所示的业务处理方法的相应步骤。具体实现中,计算机存储介质中的一条或多条指令由处理器701加载并执行如下步骤:
132.接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;根据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户,并向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
133.在一个实施例中,所述区块链网络包括待授权交易池和待执行交易池;在接收到所述业务请求后,所述业务请求被存储至所述待授权交易池;在所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证完成后,执行所述业务请求所指示的业务之前,所述业务请求由存储在所述待授权交易池转移至存储在所述待执行交易池。
134.在一个实施例中,所述处理器701在执行所述业务请求所指示的业务时,执行如下步骤:从所述待执行交易池中选取至少一个业务,所述至少一个业务包括所述业务请求所指示的业务;将所述至少一个业务打包为待验证的目标区块,并通知所述区块链网络中的共识节点对所述待验证的目标区块进行验证;若对所述待验证的目标区块验证完成后,执行所述业务请求所指示的业务,并将所述目标区块连接到区块链上。
135.在一个实施例中,所述处理器701还用于:接收所述目标账户提交的账户组创建请求,所述账户组创建请求包括至少一个账户标识;对所述账户组创建请求验证通过后,将所述目标账户以及所述至少一个账户标识中每个账户标识所指示的账户组成目标账户组,并为所述目标账户组分配地址标识。
136.在一个实施例中,所述目标账户为对所述目标账户组具有管理权限的账户,所述将所述目标账户以及所述至少一个账户标识所指示的账户组成目标账户组后,所述处理器701还用于:设置对所述目标账户组具有管理权限的账户为所述目标账户。
137.在一个实施例中,所述处理器701还用于:接收所述目标账户发送的管理权限转移请求;对所述管理权限转移请求验证通过后,将所述具有管理权限的账户由所述目标账户更新为所述管理权限转移请求所指示的账户。
138.在一个实施例中,所述处理器701还用于:接收所述目标账户提交的组内账户更新请求,所述组内账户更新请求用于指示在所述目标账户组中添加新账户,或者,删除所述目标账户组中已存在的账户;对所述组内账户更新请求验证通过后,根据所述组内账户更新请求对所述目标账户组包括的账户进行更新。
139.在一个实施例中,所述处理器701在将所述目标账户以及所述至少一个账户标识所指示的账户组成目标账户组时,执行如下步骤:向所述至少一个账户标识中每个账户标识所指示的账户发送创建通知;将所述每个账户标识所指示的账户中,对所述创建通知输入了确认指令的账户与所述目标账户组成目标账户组。
140.在一个实施例中,所述业务请求所指示的业务包括数据资源转出业务,所述业务请求携带所述数据资源转出业务的转出方账户标识,所述至少一个账户是指所述目标账户组中与所述转出方账户标识相匹配的账户,所述目标数量是指所述至少一个账户的账户总数量。
141.在一个实施例中,所述业务请求所指示的业务包括多账户协作业务,所述至少一个账户是指所述目标账户组中包括的各个账户,所述目标数量是根据所述多账户协作业务对应的账户数量比例阈值和所述至少一个账户的账户总数量确定的。
142.本发明实施例中,区块链网络接收目标账户发送的业务请求,并根据业务请求中携带的地址标识获取目标账户所属的目标账户组中与所述业务请求相关的至少一个账户,然后向至少一个账户中的每个账户发送对业务请求进行授权验证的通知信息;若至少一个账户中存在目标数量个账户对业务请求的授权验证通过,则执行所述业务请求所指示的业务。可见,在上述业务处理过程中,提交到区块链网络的业务请求是目标账户中的某一个成员账户发送的,并且区块链网络接收到该业务请求后,不是直接执行业务请求,而是需要在目标账户组中与所述业务请求相关的至少一个账户中存在目标数量个账户对业务请求进行验证通过后,才执行业务请求所指示的业务。通过多个账户授权来执行业务请求,丰富了区块链网络中业务处理方式,从而可优化区块链网络中的多账户协作业务。
143.根据本技术的一个方面,本发明实施例还提供了一种计算机产品或计算机程序,该计算机产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。处理器701从计算机可读存储介质中读取该计算机指令,处理器701执行该计算机指令,使得图像处理设备执行图4和图5所示的业务处理方法,具体地:接收目标账户向区块链网络发送的业务请求,所述业务请求中携带所述目标账户所属的目标账户组的地址标识;根
据所述地址标识获取所述目标账户组中与业务请求相关的至少一个账户,并向所述至少一个账户中每个账户发送授权验证的通知信息,所述通知信息用于指示所述每个账户对所述业务请求进行授权验证;若所述至少一个账户中存在目标数量个账户对所述业务请求的授权验证通过,则执行所述业务请求所指示的业务。
144.以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献