CN118118550A - 基于区块链网络的业务处理方法及装置、设备、介质 - Google Patents
基于区块链网络的业务处理方法及装置、设备、介质 Download PDFInfo
- Publication number
- CN118118550A CN118118550A CN202211523078.2A CN202211523078A CN118118550A CN 118118550 A CN118118550 A CN 118118550A CN 202211523078 A CN202211523078 A CN 202211523078A CN 118118550 A CN118118550 A CN 118118550A
- Authority
- CN
- China
- Prior art keywords
- cloud service
- blockchain network
- consensus
- node
- service
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 93
- 238000012545 processing Methods 0.000 claims abstract description 51
- 238000012795 verification Methods 0.000 claims description 37
- 238000004590 computer program Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 description 55
- 238000010586 diagram Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请的实施例公开了一种基于区块链网络的业务处理方法及装置、设备、介质。该方法包括:接收业务方发送的业务请求;将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果;接收多个云服务商各自对应的共识节点发送的响应结果;若检测到相同的响应结果的数量达到指定数量,则向业务方发送相同的响应结果。本申请的技术方案提升了基于区块链网络的业务处理的安全性,极大地优化了基于区块链网络的业务处理方案。
Description
技术领域
本申请涉及区块链技术领域,具体而言,涉及一种基于区块链网络的业务处理方法、基于区块链网络的业务处理装置、电子设备,以及计算机可读介质。
背景技术
区块链技术广泛应用于金融、征信、银行等领域,相关技术中在区块链的云服务场景下多个共识节点均来自于同一云服务商,如果作恶者对该云服务商在区块链网络中的多个共识节点进行攻击或者该云服务商自身作恶,则会对区块链网络造成严重损害,影响业务的处理。
可见,如何提升区块链网络中业务处理的安全性是亟待解决的问题。
发明内容
为解决上述技术问题,本申请的实施例提供了一种基于区块链网络的业务处理方法及装置、设备、介质,进而至少在一定程度上提升了区块链网络中业务处理的安全性。
根据本申请实施例的一个方面,本申请实施例提供了一种基于区块链网络的业务处理方法,所述方法包括:接收业务方发送的业务请求;将所述业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使所述多个云服务商各自对应的共识节点对所述业务请求进行响应,得到响应结果;接收所述多个云服务商各自对应的共识节点发送的响应结果;若检测到相同的响应结果的数量达到指定数量,则向所述业务方发送所述相同的响应结果。
根据本申请实施例的一个方面,本申请实施例提供了一种基于区块链网络的业务处理装置,所述装置包括:第一接收模块,配置为接收业务方发送的业务请求;第一发送模块,配置为将所述业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使所述多个云服务商各自对应的共识节点对所述业务请求进行响应,得到响应结果;第二接收模块,配置为接收所述多个云服务商各自对应的共识节点发送的响应结果;第二发送模块,配置为若检测到相同的响应结果的数量达到指定数量,则向所述业务方发送所述相同的响应结果。
根据本申请实施例的一个方面,本申请实施例提供了一种电子设备,包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的基于区块链网络的业务处理方法。
根据本申请实施例的一个方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于区块链网络的业务处理方法。
根据本申请实施例的一个方面,本申请实施例提供了一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现如上所述的基于区块链网络的业务处理方法。
在本申请的实施例提供的技术方案中:区块链网络包括多个云服务商各自对应的共识节点,即相对于相关技术中区块链网络包括单一云服务商对应的共识节点而言,增加了云服务商的数量。
之后当区块链网络接收到业务方对应的业务请求后,是由多个云服务商在区块链网络中各自对应的共识节点参与业务请求的响应共识,即相对于相关技术中由单一云服务商在区块链网络中对应的共识节点参与业务请求的响应共识而言,避免了作恶者对该单一云服务商在区块链网络中的多个共识节点进行攻击或者该单一云服务商自身作恶对区块链网络造成严重损害的现象。
也即,本申请实施例所提供的技术方案真正意义上实现了去中心化,在极大程度上提升了基于区块链网络的业务处理的安全性,适用于更加广泛的应用场景中。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是区块链网络的结构示意图;
图2是区块链中各区块的连接关系示意图;
图3是本申请的一个实施例的共识节点广播区块的示意图;
图4是可以应用本申请实施例的技术方案的示例性实施环境的示意图;
图5是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图6示出了一种区块链网络的结构示意图;
图7是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图8是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图9是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图10是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图11是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图12是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图13是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图14是可以应用本申请实施例的技术方案的示例性业务架构的示意图;
图15是本申请的另一示例性实施例示出的基于区块链网络的业务处理方法的流程图;
图16是本申请的一示例性实施例示出的注册界面的示意图;
图17是本申请的另一示例性实施例示出的注册界面的示意图;
图18是本申请的另一示例性实施例示出的注册界面的示意图;
图19是本申请的一个实施例的基于区块链网络的业务处理装置的框图;
图20是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相相同的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相同的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
需要说明的是,在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在介绍本申请实施例的技术方案之前,先介绍本申请实施例中用到的区块链技术。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(即区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。
如上,区块链本质上是一个去中心化的数据库,而区块链是由区块链网络中的节点共同维护的。例如请参阅图1,在图1所示的区块链网络中,可以包括多个节点101,多个节点101可以是形成区块链网络的各个客户端。每个节点101在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该区块链网络内的共享数据。为了保证区块链网络内的信息互通,区块链网络中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如当区块链网络中的任意节点接收到输入信息时,区块链网络中的其它节点便根据共识算法获取该输入信息,将该输入信息作为共享数据进行存储,使得区块链网络中全部节点上存储的数据均一致。
对于区块链网络中的每个节点,均具有与其对应的节点标识,而且区块链网络中的每个节点均可以存储有其它节点的节点标识,以便后续根据其它节点的节点标识,将生成的区块广播至区块链网络中的其它节点。每个节点中可维护一个节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(InternetProtocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息。
区块链网络中的每个节点均存储一条相同的区块链。区块链由多个区块组成,请参阅图2,区块链由多个区块组成,创始块中包括区块头和区块体,区块头中存储有输入信息特征值、版本号、时间戳和难度值等,区块体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值等,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
区块链网络中各个节点可以是服务器,也可以是终端设备。其中服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算(Cloud Computing)、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和智能平台等基础云计算服务的云服务器。其中终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。各个节点之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
前述的云计算是指IT基础设施的交付和使用模式,具体指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(ParallelComputing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
前述的区块链一般被划分为三种类型:公有链((Public Blockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,例如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。其中,加入公有链的参与者(也可称为区块链网络中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出区块链网络,并进行相关操作。
私有链则相反,区块链网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化***,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链网络运行。
在区块链技术中还有一项关键的技术,即共识机制,共识机制是保证区块链网络正常运行的基础。所谓共识即是达成一致的意思,区块链网络中的每个节点各自存储有一份分布式账本(即区块链),区块链网络的共识过程就是让各个节点之间的分布式账本保持一致的过程。其中,区块链网络中的全部或部分节点可参与到区块链网络的共识过程中,区块链网络的共识过程通常是基于共识算法来实现,参与共识的各个节点通过运行共识算法来执行共识过程的相应流程。可选的共识算法比如可以有PoW(Proof of Work,工作量证明机制)、PoS(Proof of Stake,权益证明)、DPoS(Delegated Proof of Stake,委托权益证明)、PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错***)等。
通常,在区块链的某个区块高度需要进行一轮或多轮共识过程,才能在参与共识的各个节点之间达成一致。区块高度用于表示连接在区块链上的区块数量,区块高度是区块的标志符,可用来指示区块在区块链中的位置,比如区块链中创始区块的区块高度默认为0,创始区块之后的第一个区块的区块高度为1(该第一个区块可以简称为区块1),创始区块之后的第二个区块的区块高度为2(该第二个区块可以简称为区块2),以此类推。
举例说明,例如某条区块链的当前区块的区块高度为300(简称为区块300),这表示已经有300个区块被堆叠在创始区块之上了,即从创始区块到区块300之间形成的区块链上的区块数量为301个。在区块链的某个区块高度进行的共识过程是指在区块链处于该某个区块高度时,对区块链网络中待上链的区块进行共识的过程,如果该待上链的区块共识成功,则该区块被添加至区块链上,区块链的区块高度则+1。例如:在区块链的区块高度10的共识过程就是指在区块链处于区块高度10时,对区块链网络中待上链的区块进行共识的过程,如果该区块共识成功,则该区块被添加至区块链上而使得区块链的区块高度由10变为11。
通常而言,一轮共识过程按照执行顺序可依次分为三个共识阶段,即提案阶段、预投票阶段和预提交阶段。参与同一轮共识过程的多个节点中包括提案节点和非提案节点两种类型。所谓提案节点是指由参与共识的多个节点通过选举产生的一个节点,作为提案节点的节点既负责在本轮共识过程的提案阶段产生待共识区块,并将该待共识区块广播给参与共识的其他节点进行共识处理;同时也负责对该待共识区块进行共识处理。而非提案节点则只对待共识区块进行共识处理。
共识处理包括预投票处理和预提交处理,预投票处理发生在预投票阶段,而预提交处理发生在预提交阶段。预投票处理是指是否同意对待共识区块进行预投票的过程,如果同意对待共识区块进行预投票,表示同意将该区块添加至区块链上。预提交处理是指是否同意对待共识区块进行预提交的过程,如果同意对待共识区块进行预提交,表示确认同意将该区块添加至区块链。在同一区块高度进行的多轮共识过程中,对于不同轮次的共识过程,参与共识的节点可能会发生变化,即每轮参与共识过程的节点可能会发生变化,并且提案节点可能会发生变化,待共识区块也可能会发生变化。
下面以一个具体示例来详细说明本申请实施例在区块链的区块高度H的第N-i轮共识过程的具体流程,其中H、N、i均为正整数,且i小于N。以i=1为例,在区块链的区块高度H的第N-1轮共识过程中,参与共识过程的共有4个节点。图3是本申请的一个实施例的共识节点广播区块的示意图;如图3所示,区块链网络中参与共识过程的节点分别是节点A、节点B、节点C和节点D,在区块链的区块高度H的第N-1轮共识过程中,节点B为提案节点,节点A、节点C和节点D为非提案节点。其中,在区块链的区块高度H的第N-1轮共识过程的具体流程包括:
一、提案阶段:
首先,节点B(即提案节点)生成针对待共识区块Block-X1的提案消息,此处的提案消息中包含Block-X1,该Block-X1可以是由节点B创建的新区块。然后,节点B将提案消息广播给节点A、节点C和节点D,相应地,节点A、节点C和节点D接收到提案消息,需要分别验证提案消息。
二、预投票阶段:
由于网络故障、设备故障或其他原因,会存在部分节点无法在第一时间内接收到节点B广播的Block-X1的情况,例如设节点A未在第一时间内接收到节点B广播的Block-X1,节点C和节点D均在第一时间内接收到节点B广播的Block-X1;那么在预投票阶段,节点B、节点C和节点D均将Block-X1作为待共识的目标区块,并对Block-X1进行预投票处理得到各自的预投票消息。此处的预投票消息中包含被执行预投票处理的区块标识,例如节点C对该Block-X1进行预投票处理生成节点C的预投票消息,节点C的预投票消息中包括Block-X1的标识,且该预投票消息表示节点C同意对该Block-X1进行预投票,即同意将该Block-X1添加至区块链,该Block-X1获得节点C的预投票。
可以理解的是,如果节点C未生成节点C的预投票消息,则表示节点C未对Block-X1进行预投票处理;如果节点C的预投票消息中未包括Block-X1的标识,则表示节点C不同意对该Block-X1进行预投票,即不同意将该Block-X1添加至区块链上。而节点A由于未在第一时间内接到Block-X1,因此其可将空区块emptyBlock确定为待共识的目标区块,并对emptyBlock进行预投票处理得到节点A的预投票消息,该节点A的预投票消息包括emptyBlock的标识。其中第一时间可以根据实际需要进行设定,例如为1分钟、3分钟等等。
节点A、节点B、节点C和节点D各自广播自己的预投票消息。由于网络故障、设备故障或其他原因,可能会存在部分节点未在第二时间内接收到其他节点广播的预投票消息的情况,因此在第二时间到达时,参与共识过程的各个节点分别根据第二时间内接收到的预投票消息来统计/收集待共识的目标区块在预投票阶段所获得的预投票的数量,并确认/验证该预投票数量是否超过数量阈值。此处的数量阈值可以根据实际情况设定,例如数量阈值可以为参与共识过程的节点数量的50%,或者为参与共识过程的节点数量的2/3。此处的第二时间也可以根据实际需要进行设定,例如为1分钟、3分钟等等;第二时间可以与第一时间相同,也可以与第一时间不同。
举例说明,例如设数量阈值为2,由于节点A只对emptyBlock进行预投票处理,则节点A的预投票消息中包括emptyBlock的标识;而节点B、节点C和节点D均对Block-X1进行了预投票处理,且节点B、节点C和节点D三者的预投票消息中均包含Block-X1的标识;同时设节点A只接收到来自节点B的预投票消息,结合节点A自己的预投票消息统计得到Block-X1在预投票阶段获得的预投票数量为1,确认Block-X1所获得的预投票数量并未超过数量阈值2。设节点B接收到来自节点A、节点C和节点D三个预投票消息,再结合节点B自己的预投票消息统计得到Block-X1获得的预投票数量为3,确认Block-X1获得的预投票数量超过了数量阈值2。同理,设节点C接收到来自节点A、节点B和节点D三个预投票消息,再结合节点C自己的预投票消息统计得到Block-X1获得的预投票数量为3,确认Block-X1获得的预投票数量超过了数量阈值2。设节点D也接收到来自节点A、节点B和节点C三个预投票消息,再结合节点D自己的预投票消息统计得到Block-X1获得的预投票数量为3,确认Block-X1获得的预投票数量超过了数量阈值2。
三、预提交阶段:
节点B、节点C和节点D均将Block-X1确定为待共识的目标区块,所以均对Block-X1进行预提交处理得到各自的预提交消息;此处的预提交消息中包含被执行预提交处理的区块标识。例如:节点C对该Block-X1进行预提交处理生成节点C的预提交消息,该预提交消息中包括Block-X1的标识,且该预提交消息表示节点C同意对该Block-X1进行预提交,即表示确认同意将该Block-X1添加至区块链,该Block-X1获得节点C的预提交。
可以理解的是,如果节点C未生成节点C的预提交消息,则表示节点C未对Block-X1进行预提交处理;如果节点C的预提交消息中未包括Block-X1的标识,则表示节点C不同意对该Block-X1进行预提交,即不同意将该Block-X1添加至区块链上。而节点A由于将空区块emptyBlock确定为待共识的目标区块,因此节点A对emptyBlock进行预提交处理得到节点A的预提交消息,该节点A的预提交消息包括emptyBlock的标识。
节点A、节点B、节点C和节点D各自广播自己的预提交消息。由于网络故障、设备故障或其他原因,可能会存在部分节点未在第三时间内接收到其他节点广播的预提交消息的情况。在第三时间到达时,参与共识过程的各个节点分别根据第三时间内接收到的预提交消息来统计/收集待共识的目标区块在预提交阶段所获得的预提交的数量,并确认/验证该预提交数量是否超过提交阈值。此处的提交阈值可以根据实际情况设定,例如提交阈值可以为参与共识过程的节点数量的50%,或者为参与共识过程的节点数量的2/3。此处的第三时间也可以根据实际需要进行设定,例如为1分钟、3分钟等等;第三时间可以与第二时间相同,也可以与第二时间不同;同理,第三时间可以与第一时间相同,也可以与第一时间不同。
举例说明,例如设提交阈值为2,由于节点A只对emptyBlock进行预提交处理,则节点A的预提交消息中包括emptyBlock的标识;而节点B、节点C和节点D均对Block-X1进行了预提交处理,且节点B、节点C和节点D三者的预提交消息中均包含Block-X1的标识;同时设节点B接收到来自节点A和节点C的预提交消息,结合节点B自己的预提交消息统计得到Block-X1在预提交阶段获得的预提交数量为2,确认Block-X1所获得的预提交数量并未超过(不大于)提交阈值2。设节点C接收到来自节点A和节点C的预提交消息,再结合节点C自己的预提交消息统计得到Block-X1获得的预提交数量为2,确认Block-X1所获得的预提交数量并未超过(不大于)提交阈值2。同理,设节点A接收到来自节点B、节点C和节点D三个预提交消息,再结合节点A自己的预提交消息统计得到Block-X1获得的预提交数量为3,确认Block-X1获得的预提交数量超过了提交阈值2。设节点D也接收到来自节点A、节点B和节点C三个预提交消息,再结合节点D自己的预提交消息统计得到Block-X1获得的预提交数量为3,确认Block-X1获得的预提交数量超过了提交阈值2。
经过上述三个共识阶段,如果待共识的目标区块所获得的预投票数量超过数量阈值,同时所获得的预提交数量超过提交阈值,则该待共识的目标区块共识成功,可以被提交,即被添加至区块链上;否则共识失败,不能被提交,即不能被添加至区块链上。按照上述示例,节点A确认Block-X1所获得的预提交数量超过提交阈值,但所获得的预投票数量并未超过数量阈值,因此认定Block-X1共识失败。节点B确认Block-X1所获得的预投票数量超过数量阈值,但所获得的预提交数量并未超过提交阈值,因此认定Block-X1共识失败。节点C确认Block-X1所获得的预投票数量超过数量阈值,但所获得的预提交数量并未超过提交阈值,因此认定Block-X1共识失败。节点D确认Block-X1所获得的预投票数量超过数量阈值,并且所获得的预提交数量超过提交阈值,因此认定Block-X1共识成功,节点D将Block-X1添加至节点D本地存储的区块链上。
综上,在区块链的区块高度为H的第N-1轮共识过程中,节点A、节点B和节点C并未对Block-X1达成共识,未将Block-X1写入各自的分布式账本中(即添加至各自本地存储的区块链上),但是节点D对Block-X1达成共识,并将Block-X1写入自己的分布式账本中,那么节点D本地存储的区块链的区块高度变为H+1;当在区块链的区块高度H的第N轮共识过程中,节点D将不再参与共识,参与共识的节点变更为节点A、节点B和节点C。
需要说明的是,当进行在区块链的区块高度为H的第N轮共识过程时,提案节点可能会发生变化,例如上述例子中在区块链的区块高度为H的第N-1轮共识过程中的提案节点为节点B,而在区块链的区块高度为H的第N轮共识过程可能变更为节点C;然后重新执行上述的三个共识阶段,以完成在区块链的区块高度为H的第N轮共识过程。
如前述实施例中介绍的区块链技术,当区块链网络中有节点为云服务器时则对应云服务场景。相关技术中在云服务场景下多个共识节点(即参与共识的节点)均来自于同一云服务商,如果作恶者对该云服务商在区块链网络中的多个共识节点进行攻击或者该云服务商自身作恶,则会对区块链网络造成严重损害,影响业务的处理。
基于相关技术中区块链网络中业务处理的安全性较低的问题,本申请的实施例提供了一种基于区块链网络的业务处理方案。具体而言,在本申请的一个应用场景中,请参阅图4,主要包含了业务方401以及区块链网络402。
可以理解的是,业务方401是发起业务请求的一方,其可以通过任意具有对象输入接口的电子设备发起业务请求。其中,电子设备包括但不限于智能手机、平板、笔记本电脑、计算机、智能语音交互设备、智能家电、车载终端、飞行器等等,其中对象输入接口包括但不限于触摸屏、键盘、物理按键、音频拾取装置等。
可以理解的是,区块链网络402是响应业务请求的一方,其为前述介绍的区块链网络,这里不再赘述。其中,区块链网络402中包括共识节点4021、共识节点4022、共识节点4023,以及共识节点4024;共识节点4021、共识节点4022是云服务商M1所提供的,共识节点4023、共识节点4024则是云服务商M2所提供的。也即,本申请实施例中区块链网络包括多个(两个及两个以上)云服务商各自对应的共识节点。其中,区块链网络402中包括共识节点4021、共识节点4022、共识节点4023,以及共识节点4024的具体形式可以是云服务器。
需要说明的是,图4中的电子设备和云服务器的数目仅仅是示意性的,根据实际需要,可以具有任意数量的电子设备和云服务器。
在本申请的一个实施例中,基于区块链网络的业务处理方法可以由业务方401和区块链网络402交互执行。
示例性地,业务方401向区块链网络402发送业务请求。
相应地,区块链网络402接收到业务方401发送的业务请求;之后将业务请求发送至多个云服务商在区块链网络402中各自对应的共识节点,以使多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果;之后接收多个云服务商各自对应的共识节点发送的响应结果;之后若检测到相同的响应结果的数量达到指定数量,则向业务方401发送相同的响应结果。
相应地,业务方401接收到区块链网络402发送相同的响应结果。
也即,本申请实施例中参与共识的是多个云服务商在区块链网络中各自对应的共识节点;这样通过多个云服务商的参与,才真正意义上实现了去中心化,提升了区块链网络中业务处理的安全性。
需要说明的是,在本申请的具体实施方式中,涉及到对象相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得对象许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以下对本申请实施例的技术方案的各种实现细节进行详细阐述:
请参阅图5,图5是本申请的一个实施例示出的基于区块链网络的业务处理方法的流程图,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图5所示,该基于区块链网络的业务处理方法至少包括S501至S504,详细介绍如下:
S501,接收业务方发送的业务请求。
本申请实施例中当业务方有相应业务需求时,可以生成业务请求并将业务请求发送至区块链网络;相应地,区块链网络接收到业务方发送的业务请求。
S502,将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果。
本申请实施例中区块链网络接收到业务方发送的业务请求,之后可以将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点;相应地,多个云服务商在区块链网络中各自对应的共识节点接收到区块链网络发送的业务请求,之后多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果,其中多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果请参见前述实施例的介绍,这里不再赘述。
本申请实施例中多个云服务商是指不同机构的云服务商,多个是指两个及两个以上。示例性地,多个云服务商包括但不限于腾讯云服务商、百度云服务商、阿里云服务商、华为云服务商、天翼云服务商,以及京东云服务商中至少两个。可以理解的是,云服务商的数量越多,则去中心化程度越高,在实际应用中,云服务商的数量可以根据具体应用场景进行灵活调整;例如2个云服务商、5个云服务商、6个云服务商、10个云服务商等。
本申请实施例中响应结果是指共识节点基于业务请求所执行的与业务请求相关的业务而得到的执行情况;其中,响应结果可以表征执行成功,也可以表征执行失败,或者其他执行情况等。
举例说明,例如如图6所示,云服务商有2个,分别记作云服务商M1和云服务商M2;同时云服务商M1在区块链网络中对应的共识节点有2个,分别记作共识节点1和共识节点2,云服务商M2在区块链网络中对应的共识节点有3个,分别记作共识节点3、共识节点4,以及共识节点5。此时区块链网络接收到业务请求后,是将业务请求发送至共识节点1、共识节点2、共识节点3、共识节点4,以及共识节点5。
相应地,共识节点1对业务请求进行响应得到响应结果11,共识节点2对业务请求进行响应得到响应结果21,共识节点3对业务请求进行响应得到响应结果31,共识节点4对业务请求进行响应得到响应结果41,共识节点5对业务请求进行响应得到响应结果51。
S503,接收多个云服务商各自对应的共识节点发送的响应结果。
本申请实施例中多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果,之后多个云服务商各自对应的共识节点就可以将响应结果发送至区块链网络;相应地,区块链网络接收到多个云服务商各自对应的共识节点发送的响应结果。
举例说明,例如承接前述示例,共识节点1将响应结果11发送至区块链网络,共识节点2将响应结果21发送至区块链网络,共识节点3将响应结果31发送至区块链网络,共识节点4将响应结果41发送至区块链网络,共识节点5将响应结果51发送至区块链网络;相应地,区块链网络接收到5个响应结果,分别为响应结果11、响应结果21、响应结果31、响应结果41,以及响应结果51。
S504,若检测到相同的响应结果的数量达到指定数量,则向业务方发送相同的响应结果。
本申请实施例中区块链网络接收到多个云服务商各自对应的共识节点发送的响应结果,之后就可以对所接收到的多个云服务商各自对应的共识节点发送的响应结果进行检测,并基于检测结果向业务方反馈相应响应结果。
本申请实施例中对所接收到的多个云服务商各自对应的共识节点发送的响应结果进行检测,并基于检测结果向业务方反馈相应响应结果,包括至少以下两种情况:
情况一,如果检测到相同的响应结果的数量达到指定数量,则向业务方发送相同的响应结果。
其中,可选实施例中相同的响应结果可以是执行成功结果,也可以是执行失败结果,或者其他执行结果等。
其中,可选实施例中向业务方发送相同的响应结果可以是将多个相同的响应结果均发送给业务方,或者将一个相同的响应结果发送给业务方。
举例说明,例如承接前述示例,设响应结果11、响应结果21、响应结果31,以及响应结果41这4个响应结果均表征执行成功,只有响应结果51这1个响应结果表征执行失败,同时设指定数量为3个。明显地,此时表征执行成功的响应结果的数量4个已达到指定数量3个,则向业务方发送表征执行成功的响应结果11、响应结果21、响应结果31,以及响应结果41中的至少一个。
又例如,承接前述示例,设响应结果11、响应结果21,以及响应结果31这3个响应结果均表征执行失败,响应结果41和响应结果51这2个响应结果表征执行成功,同时设指定数量为3个。明显地,此时表征执行失败的响应结果的数量3个已达到指定数量3个,则向业务方发送表征执行失败的响应结果11、响应结果21,以及响应结果31中的至少一个。
情况二,如果检测到相同的响应结果的数量未达到指定数量,则控制多个云服务商在区块链网络中各自对应的共识节点重新进行响应共识。
举例说明,例如承接前述示例,设响应结果11、响应结果21,以及响应结果31这3个响应结果均表征执行成功,响应结果41和响应结果51这2个响应结果表征执行失败,同时设指定数量为4个。明显地,此时表征执行成功的响应结果的数量3个未达到指定数量4个,表征执行失败的响应结果的数量2个也未达到指定数量4个,则区块链网络控制共识节点1、共识节点2、共识节点3、共识节点4,以及共识节点5对业务请求重新进行响应共识。
可以理解的是,可选实施例中指定数量通常是基于区块链网络中共识节点的数量所确定,在实际应用中,可以根据具体应用场景进行灵活调整。
本申请实施例中真正意义上实现了去中心化,在极大程度上提升了基于区块链网络的业务处理的安全性,适用于更加广泛的应用场景中。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图7所示,该基于区块链网络的业务处理方法可以包括S701至S702、S501、S503至S504。
本申请实施例中业务请求中携带有共识节点的标识信息,即表征业务方有所指定的共识节点。其中,共识节点的标识信息是用于唯一表征共识节点,共识节点的标识信息包括但不限于共识节点在区块链网络上的链上标识、地址,以及名称等。
本申请实施例中共识节点的标识信息是业务方在所指定的云服务商中注册成功后,所指定的云服务商为业务方所分配的;例如业务方在所指定的云服务商M1中注册成功后,所指定的云服务商M1为业务方分配共识节点1。
S701至S702详细介绍如下:
S701,将业务请求发送至区块链网络中与标识信息相匹配的共识节点。
本申请实施例中区块链网络接收到业务方发送的业务请求,之后可以将业务请求发送至区块链网络中与业务请求所携带的标识信息相匹配的共识节点;相应地,区块链网络中与标识信息相匹配的共识节点接收到区块链网络发送的业务请求。
举例说明,例如设业务请求中携带的共识节点的标识信息为共识节点1,那么区块链网络接收到业务方发送的业务请求,之后是将业务请求发送至区块链网络中与共识节点1相匹配的共识节点(即共识节点1);相应地,共识节点1接收到区块链网络发送的业务请求。
S702,通过与标识信息相匹配的共识节点,将业务请求发送至区块链网络中的其他共识节点,以将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点。
本申请实施例中区块链网络将业务请求发送至区块链网络中与业务请求所携带的标识信息相匹配的共识节点,之后就可以通过与标识信息相匹配的共识节点,将业务请求发送至区块链网络中的其他共识节点,这样即实现了将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点。
在本申请的一个实施例中,其他共识节点是指除所指定的云服务商之外的其他云服务商在区块链网络中各自对应的共识节点;相应地,是通过与标识信息相匹配的共识节点,将业务请求发送至除所指定的云服务商之外的其他云服务商在区块链网络中各自对应的共识节点,以实现将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点。
举例说明,例如承接前述示例,并以图6所示为例,共识节点1接收到区块链网络发送的业务请求,由于共识节点1所对应的云服务商为云服务商M1,则其他云服务商为云服务商M2,此时云服务商M2所对应的共识节点有共识节点3、共识节点4,以及共识节点5,则共识节点1是将业务请求发送至共识节点3、共识节点4,以及共识节点5。
在本申请的一个实施例中,其他共识节点是指区块链网络中除与标识信息相匹配的共识节点之外的共识节点;相应地,是将业务请求发送至区块链网络中除与标识信息相匹配的共识节点之外的共识节点,以实现将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点。
举例说明,例如承接前述示例,并以图6所示为例,共识节点1接收到区块链网络发送的业务请求,整个区块链网络中除共识节点1之外还有共识节点2、共识节点3、共识节点4,以及共识节点5,则共识节点1是将业务请求发送至共识节点2、共识节点3、共识节点4,以及共识节点5。
需要说明的是,图7所示中S501、S503至S504的详细介绍请参见图5所示的S501、S503至S504,在此不再赘述。
本申请实施例中将业务请求先发送到区块链网络中与业务请求所携带的共识节点的标识信息相匹配的共识节点,之后再通过该与标识信息相匹配的共识节点,将业务请求发送至区块链网络中的其他共识节点,简便快速地实现了将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,为多个云服务商各自对应的共识节点对业务请求进行响应共识提供了有力支持。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图8所示,该基于区块链网络的业务处理方法可以包括S801至S802、S701、S501、S503至S504。
本申请实施例中业务请求中还携带有业务方信息。其中,业务方信息是指与业务方相关的信息,业务方信息包括但不限于业务方在区块链网络上的链上标识、地址,以及名称等。
S801至S802详细介绍如下:
S801,通过与标识信息相匹配的共识节点基于业务方信息对业务方进行校验。
S802,若对业务方的校验通过,则将业务请求发送至区块链网络中的其他共识节点。
本申请实施例中与标识信息相匹配的共识节点接收到区块链网络发送的业务请求,之后可以基于业务请求所携带的业务方信息对业务方进行校验,并基于校验结果确定是否将业务请求发送至区块链网络中的其他共识节点。
本申请实施例中基于校验结果确定是否将业务请求发送至区块链网络中的其他共识节点,包括至少以下两种情况:
情况一,如果对业务方的校验通过,则将业务请求发送至区块链网络中的其他共识节点。
举例说明,例如承接前述示例,共识节点1接收到区块链网络发送的业务请求,之后基于业务请求所携带的业务方信息对业务方进行校验。设共识节点1基于业务请求所携带的业务方信息对业务方的校验通过,则可以将业务请求发送至区块链网络中的其他共识节点。
情况二,如果对业务方的校验未通过,则不做处理,即不将业务请求发送至区块链网络中的其他共识节点,或者发送校验失败结果给业务方。
举例说明,例如承接前述示例,共识节点1接收到区块链网络发送的业务请求,之后基于业务请求所携带的业务方信息对业务方进行校验。设共识节点1基于业务请求所携带的业务方信息对业务方的校验未通过,则可以不做处理,或者发送校验失败结果给业务方。
需要说明的是,图8所示中S701的详细介绍请参见图7所示的S701,图8所示中S501、S503至S504的详细介绍请参见图5所示的S501、S503至S504,在此不再赘述。
本申请实施例中通过与标识信息相匹配的共识节点先基于业务请求所携带的业务方信息对业务方进行校验,在对业务方的校验通过后,才将业务请求发送至区块链网络中的其他共识节点,这样避免了由于业务方存在安全问题所导致得多个云服务商各自对应的共识节点对业务请求进行响应共识失败的现象,在一定程度上提升了基于区块链网络的业务处理的效率。
如前述实施例所述,业务方可以在业务请求中携带共识节点的标识信息,其中业务方所获取到的共识节点的标识信息的由来过程请参见下文介绍。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图9所示,该基于区块链网络的业务处理方法在图5中所示的S501之前增加了S901至S902。
S901至S902详细介绍如下:
S901,接收业务方发送的注册请求;其中,注册请求中携带有云服务商的指定信息,指定信息用于表征所指定的云服务商。
本申请实施例中业务方针对云服务商有相应注册需求时,可以生成注册请求并将注册请求发送至区块链网络;相应地,区块链网络接收到业务方发送的注册请求。
本申请实施例中注册请求中携带有云服务商的指定信息,其中指定信息用于表征所指定的云服务商,即业务方指定所需进行注册的云服务商。例如设注册请求所携带的云服务商的指定信息为云服务商M1,则表征业务方有在云服务商M1中进行注册的需求。
S902,在所指定的云服务商中注册业务方,并在注册成功后为业务方分配所指定的云服务商在区块链网络中对应的共识节点。
本申请实施例中区块链网络接收到业务方发送的注册请求,之后可以在所指定的云服务商中注册业务方,并在注册成功后为业务方分配所指定的云服务商在区块链网络中对应的共识节点。
举例说明,例如设注册请求所携带的云服务商的指定信息为云服务商M1,则是在云服务商M1中注册业务方,并在注册成功后为业务方分配云服务商M1在区块链网络中对应的共识节点。
在本申请的一个实施例中,S902中在注册成功后为业务方分配所指定的云服务商在区块链网络中对应的共识节点的过程,至少可以包括:
获取所指定的云服务商在区块链网络中对应的共识节点的标识信息;
将共识节点的标识信息发送至业务方。
也即,可选实施例中业务方在所指定的云服务商中注册成功后,是将所指定的云服务商在区块链网络中对应的共识节点的标识信息发送给业务方;相应地,业务方接收到区块链网络发送的所指定的云服务商在区块链网络中对应的共识节点的标识信息,这样业务方就能基于共识节点的标识信息明确所指定的云服务商为之所分配的共识节点。
需要说明的是,图9所示中S501至S504的详细介绍请参见图5所示的S501至S504,在此不再赘述。
本申请实施例中基于业务方发送的携带有云服务商的指定信息的注册请求,简便快速地实现了在所指定的云服务商中注册业务方,同时在注册成功后为业务方分配所指定的云服务商在区块链网络中对应的共识节点,为所指定的云服务商在区块链网络中对应的共识节点接收业务请求提供了有力支持。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图10所示,该基于区块链网络的业务处理方法可以包括S1001至S1003、S901、S501至S504。
本申请实施例中注册请求中还携带有业务资源需求信息。其中,业务资源需求信息是指业务方针对待处理的业务所需要的资源相关的信息,业务资源需求信息包括但不限于资源类型(例如处理器资源类型、内存资源类型等),以及各个类型资源对应的资源大小、数量等。
本申请实施例中所指定的云服务商在区块链网络中对应的共识节点为多个。
举例说明,例如承接前述示例,所指定的云服务商为云服务商M1,并以图6所示为例,云服务商M1在区块链网络中对应的共识节点有多个,分别为共识节点1和共识节点2。
S1001至S1003详细介绍如下:
S1001,获取所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息。
本申请实施例中共识节点的资源量信息是指与共识节点的资源相关的信息,资源量信息包括但不限于各个类型资源对应的资源总量、资源使用量、资源余量,以及所承载的业务方请求的资源信息等。
举例说明,例如承接前述示例,获取云服务商M1在区块链网络中对应的共识节点1的资源量信息(如处理器的资源余量为k11,内存的资源余量为k12),以及获取云服务商M1在区块链网络中对应的共识节点2的资源量信息(如处理器的资源余量为k21,内存的资源余量为k22)。
S1002,将业务资源需求信息与所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息进行匹配,并从所指定的云服务商在区块链网络中对应的多个共识节点选取资源量信息满足业务资源需求信息的共识节点。
本申请实施例中区块链网络获取到所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息,之后就可以将业务资源需求信息与所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息进行匹配,并从所指定的云服务商在区块链网络中对应的多个共识节点选取资源量信息满足业务资源需求信息的共识节点。
举例说明,例如承接前述示例,设业务资源需求信息表征所需的处理器资源为k1,所需的内存资源为k2;其中:
针对共识节点1,是将处理器的资源余量k11与所需的处理器资源k1进行匹配,以及将内存的资源余量k12与所需的内存资源k2进行匹配。
针对共识节点2,是将处理器的资源余量k21与所需的处理器资源k1进行匹配,以及将内存的资源余量k22与所需的内存资源k2进行匹配。
同时设针对共识节点1,匹配结果为k11>k1,k12>k2,针对共识节点2,匹配结果为k11<k1,k12<k2,即共识节点1的资源量信息满足业务资源需求信息,而共识节点2的资源量信息未满足业务资源需求信息,则是从云服务商M1在区块链网络中对应的共识节点1和共识节点2中选取共识节点1。
S1003,将所选取的共识节点分配给业务方。
本申请实施例中区块链网络从所指定的云服务商在区块链网络中对应的多个共识节点选取资源量信息满足业务资源需求信息的共识节点,之后就可以将所选取的共识节点分配给业务方。
举例说明,例如承接前述示例,所选取的共识节点为共识节点1,则是将共识节点1分配给业务方。
需要说明的是,图10所示中S901的详细介绍请参见图9所示的S901,图10所示中S501至S504的详细介绍请参见图5所示的S501至S504,在此不再赘述。
本申请实施例中通过将注册请求所携带的业务资源需求信息与所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息进行匹配,能够简便快速地获取到待分配给业务方的共识节点,流程简单、易于实现。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图11所示,该基于区块链网络的业务处理方法可以包括S1101至S1102、S1001至S1002、S901、S501至S504。
本申请实施例中所选取的共识节点有多个。
举例说明,例如承接前述示例,设针对共识节点1,匹配结果为k11>k1,k12>k2,针对共识节点2,匹配结果为k11>k1,k12>k2,即共识节点1的资源量信息满足业务资源需求信息,同时共识节点2的资源量信息也满足业务资源需求信息,则是从云服务商M1在区块链网络中对应的共识节点1和共识节点2中选取共识节点1和共识节点2,即此时所选取的共识节点有多个。
S1101至S1103详细介绍如下:
S1101,获取所选取的多个共识节点的标识信息,并将所选取的多个共识节点的标识信息发送至业务方,以使业务方基于所选取的多个共识节点的标识信息从所选取的多个共识节点中确定待分配的共识节点。
本申请实施例中区块链网络可以获取所选取的多个共识节点的标识信息,之后将所选取的多个共识节点的标识信息发送至业务方;相应地,业务方接收到区块链网络发送的所选取的多个共识节点的标识信息,就可以基于所选取的多个共识节点的标识信息从所选取的多个共识节点中确定一个待分配的共识节点。
举例说明,例如承接前述示例,将共识节点1和共识节点2发送至业务方,进而业务方可以根据实际需求从共识节点1和共识节点2中确定待分配的共识节点。
S1102,接收业务方所返回的选择指令;其中,选择指令中携带有待分配的共识节点的标识信息。
本申请实施例中业务方基于所选取的多个共识节点的标识信息从所选取的多个共识节点中确定待分配的共识节点,之后可以生成含有待分配的共识节点的标识信息的选择指令,并将选择指令发送至区块链网络;相应地,区块链网络接收到业务方所返回的选择指令。
举例说明,例如承接前述示例,设业务方根据实际需求从共识节点1和共识节点2中确定待分配的共识节点为共识节点1,并基于共识节点1生成选择指令,以及将选择指令发送至区块链网络;相应地,区块链网络接收到业务方所发送的携带有共识节点1的选择指令。
S1103,基于待分配的共识节点的标识信息,将待分配的共识节点分配给业务方。
本申请实施例中区块链网络接收到业务方所返回的选择指令,之后可以基于待分配的共识节点的标识信息,将待分配的共识节点分配给业务方。也即,本申请实施例中可以根据业务方的选择,将其所选择的共识节点给配给业务方,灵活性更高。
举例说明,例如承接前述示例,业务方所选择的是共识节点1,那么是将共识节点1分配给业务方。
需要说明的是,图11所示中S1001至S1002的详细介绍请参见图10所示的S1001至S1002,图11所示中S901的详细介绍请参见图9所示的S901,图11所示中S501至S504的详细介绍请参见图5所示的S501至S504,在此不再赘述。
本申请实施例中基于业务方的选择指令可以确定出待分配给业务方的共识节点,待分配给业务方的共识节点的确定灵活性更高,同时业务方的参与感更强,适用于诸多广泛的应用场景中。
如前述实施例所述,多个云服务商在区块链网络中各自对应有共识节点,其中多个云服务商在区块链网络中各自对应的共识节点的部署过程请参见下文介绍。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图12所示,该基于区块链网络的业务处理方法在图5中所示的S501之前增加了S1201至S1202。
S1201至S1202详细介绍如下:
S1201,接收多个云服务商各自发送的注册请求。
本申请实施例中当多个云服务商针对区块链网络有相应注册需求时,可以生成注册请求并将注册请求发送至区块链网络;相应地,区块链网络接收到多个云服务商分别发送的注册请求。
S1202,基于多个云服务商各自发送的注册请求,在区块链网络中注册多个云服务商。
本申请实施例中区块链网络接收到多个云服务商分别发送的注册请求,之后可以基于多个云服务商各自发送的注册请求,在区块链网络中注册多个云服务商。
在本申请的一个实施例中,S1202中基于多个云服务商各自发送的注册请求,在区块链网络中注册多个云服务商的过程,至少可以包括:
针对每个云服务商,从云服务商对应的注册请求中获取注册信息,并基于注册信息对云服务商进行校验,若对云服务商的校验通过,则在区块链网络中注册云服务商。
其中,可选实施例中云服务商对应的注册请求中携带有注册信息。其中,注册信息是指注册所需的一系列相关的信息,注册信息包括但不限于云服务商的标识信息、名称、地址、联系方式,以及所属国信息等;云服务商的标识信息用于唯一表征云服务商,云服务商的所属国信息是指云服务商所归属的国家的信息。可以理解的是,注册信息是用于区块链网络对云服务商进行校验,并基于校验结果确定是否在区块链网络中注册云服务商。
在本申请的一个实施例中,基于校验结果确定是否在区块链网络中注册云服务商,包括至少以下两种情况:
情况一,如果对云服务商的校验通过,则在区块链网络中注册云服务商。
情况二,如果对云服务商的校验未通过,则不做处理,即不在区块链网络中注册云服务商,或者发送校验失败结果给云服务商。
举例说明,例如设区块链网络接收到云服务商M1和云服务商M2分别发送的注册请求;其中:
针对云服务商M1,从云服务商M1对应的注册请求中获取注册信息,并基于注册信息对云服务商M1进行校验,如果对云服务商M1的校验通过,则在区块链网络中注册云服务商M1;如果对云服务商M1的校验未通过,则不做处理。
针对云服务商M2,从云服务商M2对应的注册请求中获取注册信息,并基于注册信息对云服务商M2进行校验,如果对云服务商M2的校验通过,则在区块链网络中注册云服务商M2;如果对云服务商M2的校验未通过,则不做处理。
在本申请的一个实施例中,注册信息包括云服务商的所属国信息;基于注册信息对云服务商进行校验的过程,至少可以包括:
基于云服务商的所属国信息校验云服务商针对指定国的属于情况;
若校验到云服务商属于指定国,则确定对云服务商的校验通过,并在区块链网络中注册云服务商。
也即,可选实施例中区块链网络可以基于云服务商的所属国信息校验云服务商针对指定国的属于情况,如果校验到云服务商属于指定国,则确定对云服务商的校验通过,并在区块链网络中注册云服务商,如果校验到云服务商不属于指定国,则确定对云服务商的校验未通过,不做处理。
举例说明,例如承接前述示例,以云服务商M1的校验过程为例,设指定国为国家N0,从云服务商M1所发送的注册请求所携带的注册信息中获取到云服务商M1的所属国信息,并基于云服务商M1的所属国信息校验云服务商M1是否属于国家N0;其中:
如果云服务商M1的所属国信息表征国家N0,则校验到云服务商M1属于国家N0,此时确定对云服务商M1的校验通过,并在区块链网络中注册云服务商M1。
如果云服务商M1的所属国信息表征国家N1,则校验到云服务商M1不属于国家N0,此时确定对云服务商M1的校验未通过,可以不做处理,或者发送校验失败结果给云服务商M1。
可以理解的是,云服务商M2的校验过程类似,以此类推即可。
需要说明的是,图12所示中S501至S504的详细介绍请参见图5所示的S501至S504,在此不再赘述。
本申请实施例中基于多个云服务商各自发送的注册请求,简便快速地实现了在区块链网络中注册多个云服务商;同时在对云服务商的校验通过后,才在区块链网络中注册云服务商,保证了云服务商在区块链网络中的注册安全性;另外在区块链网络中注册属于指定国的多个云服务商,更加便于对多个云服务商的管理。
在本申请的一个实施例中,提供了另一种基于区块链网络的业务处理方法,该基于区块链网络的业务处理方法可以由区块链网络402来执行。如图13所示,该基于区块链网络的业务处理方法在图12中所示的S1202之后增加了S1301至S1302。
S1301至S1302详细介绍如下:
S1301,接收多个云服务商各自发送的服务器部署请求。
本申请实施例中当多个云服务商在区块链网络中注册成功后,可以生成服务器部署请求并将服务器部署请求发送至区块链网络;相应地,区块链网络接收到多个云服务商分别发送的服务器部署请求。
S1302,基于多个云服务商各自发送的服务器部署请求,在区块链网络中部署多个云服务商各自对应的服务器,以得到多个云服务商在区块链网络中各自对应的共识节点。
本申请实施例中区块链网络接收到多个云服务商分别发送的服务器部署请求,之后可以基于多个云服务商各自发送的服务器部署请求,在区块链网络中部署多个云服务商各自对应的服务器,以得到多个云服务商在区块链网络中各自对应的共识节点。
在本申请的一个实施例中,S1302中基于多个云服务商各自发送的服务器部署请求,在区块链网络中部署多个云服务商各自对应的服务器,以得到多个云服务商在区块链网络中各自对应的共识节点的过程,至少可以包括:
针对每个云服务商,从云服务商对应的服务器部署请求中获取待部署服务器信息,并基于待部署服务器信息在区块链网络中部署云服务商对应的服务器,以得到云服务商在区块链网络中对应的共识节点。
其中,可选实施例中云服务商对应的服务器部署请求中携带有待部署服务器信息。其中,待部署服务器信息是指部署所需的一系列相关的信息,待部署服务器信息包括但不限于待部署服务器的标识信息、数量信息,以及资源信息等;待部署的服务器的标识信息用于唯一表征云服务器,待部署服务器的数量信息是指需要部署的云服务器的数量,待部署的服务器的资源信息是指需要部署的云服务器针对各个类型资源的资源情况。
举例说明,例如设区块链网络接收到云服务商M1和云服务商M2分别发送的服务器部署请求;其中:
针对云服务商M1,从云服务商M1对应的服务器部署请求中获取到待部署服务器信息如云服务器1和云服务器2,则在区块链网络中部署云服务商M1对应的云服务器1和云服务器2,以得到云服务商M1在区块链网络中对应的共识节点1和共识节点2。可以理解的是,共识节点1可以对应云服务器1,相应地,共识节点2可以对应云服务器2;或者共识节点1可以对应云服务器2,相应地,共识节点2可以对应云服务器1。
针对云服务商M2,从云服务商M2对应的服务器部署请求中获取到待部署服务器信息如云服务器3、云服务器4,以及云服务器5,则在区块链网络中部署云服务商M2对应的云服务器3、云服务器4,以及云服务器5,以得到云服务商M2在区块链网络中对应的共识节点3、共识节点4,以及共识节点5。可以理解的是,共识节点3可以对应云服务器3,相应地,共识节点4可以对应云服务器4,共识节点5可以对应云服务器5,在实际应用中,可以根据具体应用场景进行灵活调整。
由此,可以得到图6所示的云服务商M1在区块链网络中对应的共识节点1和共识节点2,以及云服务商M2在区块链网络中对应的共识节点3、共识节点4,以及共识节点5。
需要说明的是,图13所示中S1201至S1202的详细介绍请参见图12所示的S1201至S1202,图13所示中S501至S504的详细介绍请参见图5所示的S501至S504,在此不再赘述。
本申请实施例中基于多个云服务商各自发送的服务器部署请求,简便快速地实现了在区块链网络中部署多个云服务商各自对应的服务器,以得到多个云服务商在区块链网络中各自对应的共识节点,为后续多个云服务商在区块链网络中各自对应的共识节点参与业务请求的响应共识提供了有力支持。
以下对本申请实施例的一个具体应用场景进行详细说明:
请参阅图14,为一种示例的业务架构示意图。如图14所示,业务架构从下至上包括资源层、服务层,以及应用层;其中:
资源层对应腾讯开放链底层节点,其中涉及到6个云服务商,例如腾讯云服务商(简称腾讯云)、百度云服务商(简称百度云)、阿里云服务商(简称阿里云)、华为云服务商(简称华为云)、天翼云服务商(简称天翼云),以及京东云服务商(简称京东云)等。可选地,多个云服务商可以均是国内的云服务商,在实际应用中,可以根据具体应用场景设置云服务商的数量。
服务层对应多个类型的服务,例如身份认证服务、存证服务、合约服务、地址管理服务,以及安全服务等。在实际应用中,可以根据具体应用场景设置服务的类型和数量。
应用层对应应用相关的内容,例如隐私计算、数字资产、供应链金融、产品溯源,以及电子政务等。在实际应用中,可以根据具体应用场景设置应用的类型和数量。
通过本申请实施例中所提供的业务架构,至少可以解决如下问题:
1、云服务中心化的问题;本申请实施例中业务架构所对应的单一云服务占比小于16.7%(未来随着更多云服务接入,单一云服务占比会进一步降低)。
2、区块链网络安全性低的问题;本申请实施例中业务架构能够避免过于依赖单一云服务所带来的区块链***宕机的现象。
3、技术对接难的问题;本申请实施例中业务架构全部采用国产云服务,国产软硬件适配,技术自主可控。
4、云服务拓展性低、灵活度低的问题;本申请实施例中业务架构云服务覆盖了国内主流云服务商,联盟链生态内企业可以结合各自业务需要,便捷选择对应云服务商进行节点部署托管,避免了云服务商强行捆绑的现象。
基于图14所示的业务架构,请参阅图15,图15是本申请的一个实施例示出的基于区块链网络的业务处理方法的流程图。如图15所示,该基于区块链网络的业务处理方法至少包括S1501至S1512,详细介绍如下:
S1501,业务方和区块链达成合作意向,并签署加入协议。
S1502,业务方结合业务需要,评估资源用量,向区块链认证兼容的云服务商采购符合配置需求的机器,并在云服务商中进行注册、部署机器。
其中,业务方在云服务商中进行注册、部署机器的流程可以参见前述实施例的介绍。
S1503,业务方通过区块链注册平台进行注册,并发起加入申请。
可选地,请参阅图16,为一种示例的注册界面;在图16所示的注册界面中,业务方对应的管理员可以录入国家/区域、联系方式,以及验证码,从而实现管理员的个人注册。
可选地,请参阅图17,为另一种示例的注册界面;图17所示的注册界面中,管理员可以录入自身相关信息,例如自身的名称,并且还可以通过扫码绑定,以便于后续登录。
可选地,请参阅图18,为另一种示例的注册界面;图18所示的注册界面中,管理员可以录入业务方对应的企业相关信息,例如企业的名称、统一社会信用代码、行业信息,以及平台名称等,从而实现企业的注册(即业务方在区块链网络中的注册)。
S1504,区块链接收到业务方发送的加入申请后,将***安装程序和操作文档发送给业务方。
可选地,区块链进行企业注册的验证,并基于验证通过后所接收到业务方发送的加入申请,将***安装程序和操作文档发送给业务方。
S1505,业务方按流程进行***程序安装,生成对应的机器特征值。
S1506,***程序安装过程,区块链会结合对应的机器特征值生成认证授权码,并将该认证授权码发送给业务方。
S1507,业务方基于认证授权码进行***配置,开通网络策略,放行对应的区块链服务通信协议。
S1508,业务方发送节点增加请求,并将节点信息打包发送给区块链。
可选地,节点信息包括但不限于节点名称、IP、公钥/证书,以及签名等。
S1509,区块链原有节点将节点增加请求打包出块,验证节点增加请求的合法性,获得指定数量的节点验证通过后(即共识通过),在区块链上进行增加节点的操作。
可以理解的是,S1509中类推还可以应用于节点删减,实现动态扩容。因网络同步延迟、节点故障等原因,未成功验证节点增加请求的部分节点,可以通过验证集群管理协议版本号,事后升级至最新版本,将新节点加入网络信息进行更新,以实现共识。
S1510,业务方成功加入区块链,成为新节点。
至此,业务方成功完成在区块链网络中的注册。
可选地,也可以是由区块链相关工作人员代替业务方按流程进行***程序安装,以成功完成业务方在区块链网络中的注册。
S1511,业务方根据自身业务需求,开展对应业务。
S1512,业务方运行智能合约,将业务开展过程中需要共识的内容在区块链上响应共识。
需要说明的是,图15所示中S1501至S1512的详细介绍请参见前述实施例,在此不再赘述。
图19是本申请的一个实施例示出的基于区块链网络的业务处理装置的框图。如图19所示,基于区块链网络的业务处理装置配置于区块链网络中,该装置包括:
第一接收模块1901,配置为接收业务方发送的业务请求;
第一发送模块1902,配置为将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使多个云服务商各自对应的共识节点对业务请求进行响应,得到响应结果;
第二接收模块1903,配置为接收多个云服务商各自对应的共识节点发送的响应结果;
第二发送模块1904,配置为若检测到相同的响应结果的数量达到指定数量,则向业务方发送相同的响应结果。
在本申请的一个实施例中,业务请求中携带有共识节点的标识信息,共识节点的标识信息是业务方在所指定的云服务商中注册成功后所指定的云服务商分配的;第一发送模块1902,具体配置为:
将业务请求发送至区块链网络中与标识信息相匹配的共识节点;
通过与标识信息相匹配的共识节点,将业务请求发送至区块链网络中的其他共识节点,以将业务请求发送至多个云服务商在区块链网络中各自对应的共识节点。
在本申请的一个实施例中,业务请求中还携带有业务方信息;第一发送模块1902,还具体配置为:
通过与标识信息相匹配的共识节点基于业务方信息对业务方进行校验;
若对业务方的校验通过,则将业务请求发送至区块链网络中的其他共识节点。
在本申请的一个实施例中,第一发送模块1902,还具体配置为:
通过与标识信息相匹配的共识节点,将业务请求发送至除所指定的云服务商之外的其他云服务商在区块链网络中各自对应的共识节点;或者
通过与标识信息相匹配的共识节点,将业务请求发送至区块链网络中除与标识信息相匹配的共识节点之外的共识节点。
在本申请的一个实施例中,该装置还包括:
第三接收模块,配置为接收业务方发送的注册请求;其中,注册请求中携带有云服务商的指定信息,指定信息用于表征所指定的云服务商;
第一注册模块,配置为在所指定的云服务商中注册业务方,并在注册成功后为业务方分配所指定的云服务商在区块链网络中对应的共识节点。
在本申请的一个实施例中,注册请求中还携带有业务资源需求信息,所指定的云服务商在区块链网络中对应的共识节点为多个;第一注册模块,具体配置为:
获取所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息;
将业务资源需求信息与所指定的云服务商在区块链网络中对应的多个共识节点的资源量信息进行匹配,并从所指定的云服务商在区块链网络中对应的多个共识节点选取资源量信息满足业务资源需求信息的共识节点;
将所选取的共识节点分配给业务方。
在本申请的一个实施例中,所选取的共识节点有多个;第一注册模块,还具体配置为:
获取所选取的多个共识节点的标识信息,并将所选取的多个共识节点的标识信息发送至业务方,以使业务方基于所选取的多个共识节点的标识信息从所选取的多个共识节点中确定待分配的共识节点;
接收业务方所返回的选择指令;其中,选择指令中携带有待分配的共识节点的标识信息;
基于待分配的共识节点的标识信息,将待分配的共识节点分配给业务方。
在本申请的一个实施例中,所选取的共识节点有多个;
在本申请的一个实施例中,该装置还包括:
第四接收模块,配置为接收多个云服务商各自发送的注册请求;
第二注册模块,配置为基于多个云服务商各自发送的注册请求,在区块链网络中注册多个云服务商。
在本申请的一个实施例中,第二注册模块,具体配置为:
针对每个云服务商,从云服务商对应的注册请求中获取注册信息,并基于注册信息对云服务商进行校验,若对云服务商的校验通过,则在区块链网络中注册云服务商。
在本申请的一个实施例中,注册信息包括云服务商的所属国信息;第二注册模块,还具体配置为:
基于云服务商的所属国信息校验云服务商针对指定国的属于情况;
若校验到云服务商属于指定国,则确定对云服务商的校验通过,并在区块链网络中注册云服务商。
在本申请的一个实施例中,该装置还包括:
第五接收模块,配置为接收多个云服务商各自发送的服务器部署请求;
部署模块,配置为基于多个云服务商各自发送的服务器部署请求,在区块链网络中部署多个云服务商各自对应的服务器,以得到多个云服务商在区块链网络中各自对应的共识节点。
在本申请的一个实施例中,部署模块,具体配置为:
针对每个云服务商,从云服务商对应的服务器部署请求中获取待部署服务器信息,并基于待部署服务器信息在区块链网络中部署云服务商对应的服务器,以得到云服务商在区块链网络中对应的共识节点。
需要说明的是,前述实施例所提供的装置与前述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现如前的基于区块链网络的业务处理方法。
图20是适于用来实现本申请实施例的电子设备的计算机***的结构示意图。
需要说明的是,图20示出的电子设备的计算机***2000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图20所示,计算机***2000包括中央处理单元(Central Processing Unit,CPU)2001,其可以根据存储在只读存储器(Read-Only Memory,ROM)2002中的程序或者从存储部分2008加载到随机访问存储器(Random Access Memory,RAM)2003中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 2003中,还存储有***操作所需的各种程序和数据。CPU 2001、ROM 2002以及RAM 2003通过总线2004彼此相连。输入/输出(Input/Output,I/O)接口2005也连接至总线2004。
以下部件连接至I/O接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2007;包括硬盘等的存储部分2008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至I/O接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入存储部分2008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理单元(CPU)2001执行时,执行本申请的***中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不相同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的基于区块链网络的业务处理方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读介质中。计算机设备的处理器从计算机可读介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的基于区块链网络的业务处理方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (16)
1.一种基于区块链网络的业务处理方法,其特征在于,包括:
接收业务方发送的业务请求;
将所述业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使所述多个云服务商各自对应的共识节点对所述业务请求进行响应,得到响应结果;
接收所述多个云服务商各自对应的共识节点发送的响应结果;
若检测到相同的响应结果的数量达到指定数量,则向所述业务方发送所述相同的响应结果。
2.根据权利要求1所述的方法,其特征在于,所述业务请求中携带有共识节点的标识信息,所述共识节点的标识信息是所述业务方在所指定的云服务商中注册成功后所指定的云服务商分配的;
所述将所述业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,包括:
将所述业务请求发送至所述区块链网络中与所述标识信息相匹配的共识节点;
通过与所述标识信息相匹配的共识节点,将所述业务请求发送至所述区块链网络中的其他共识节点,以将所述业务请求发送至多个云服务商在区块链网络中各自对应的共识节点。
3.根据权利要求2所述的方法,其特征在于,所述业务请求中还携带有业务方信息;所述通过与所述标识信息相匹配的共识节点,将所述业务请求发送至所述区块链网络中的其他共识节点,包括:
通过与所述标识信息相匹配的共识节点基于所述业务方信息对所述业务方进行校验;
若对所述业务方的校验通过,则将所述业务请求发送至所述区块链网络中的其他共识节点。
4.根据权利要求2所述的方法,其特征在于,所述通过与所述标识信息相匹配的共识节点,将所述业务请求发送至所述区块链网络中的其他共识节点,包括:
通过与所述标识信息相匹配的共识节点,将所述业务请求发送至除所指定的云服务商之外的其他云服务商在所述区块链网络中各自对应的共识节点;或者
通过与所述标识信息相匹配的共识节点,将所述业务请求发送至所述区块链网络中除与所述标识信息相匹配的共识节点之外的共识节点。
5.根据权利要求1所述的方法,其特征在于,在所述接收业务方发送的业务请求之前,所述方法还包括:
接收所述业务方发送的注册请求;其中,所述注册请求中携带有云服务商的指定信息,所述指定信息用于表征所指定的云服务商;
在所指定的云服务商中注册所述业务方,并在注册成功后为所述业务方分配所指定的云服务商在所述区块链网络中对应的共识节点。
6.根据权利要求5所述的方法,其特征在于,所述注册请求中还携带有业务资源需求信息,所指定的云服务商在所述区块链网络中对应的共识节点为多个;所述在注册成功后为所述业务方分配所指定的云服务商在所述区块链网络中对应的共识节点,包括:
获取所指定的云服务商在所述区块链网络中对应的多个共识节点的资源量信息;
将所述业务资源需求信息与所指定的云服务商在所述区块链网络中对应的多个共识节点的资源量信息进行匹配,并从所指定的云服务商在所述区块链网络中对应的多个共识节点选取资源量信息满足所述业务资源需求信息的共识节点;
将所选取的共识节点分配给所述业务方。
7.根据权利要求6所述的方法,其特征在于,若所选取的共识节点有多个,则所述将所选取的共识节点分配给所述业务方,包括:
获取所选取的多个共识节点的标识信息,并将所选取的多个共识节点的标识信息发送至所述业务方,以使所述业务方基于所选取的多个共识节点的标识信息从所选取的多个共识节点中确定待分配的共识节点;
接收所述业务方所返回的选择指令;其中,所述选择指令中携带有所述待分配的共识节点的标识信息;
基于所述待分配的共识节点的标识信息,将所述待分配的共识节点分配给所述业务方。
8.根据权利要求1至7中任一项所述的方法,其特征在于,在所述接收业务方发送的业务请求之前,所述方法还包括:
接收所述多个云服务商各自发送的注册请求;
基于所述多个云服务商各自发送的注册请求,在所述区块链网络中注册所述多个云服务商。
9.根据权利要求8所述的方法,其特征在于,所述基于所述多个云服务商各自发送的注册请求,在所述区块链网络中注册所述多个云服务商,包括:
针对每个云服务商,从所述云服务商对应的注册请求中获取注册信息,并基于所述注册信息对所述云服务商进行校验,若对所述云服务商的校验通过,则在所述区块链网络中注册所述云服务商。
10.根据权利要求9所述的方法,其特征在于,所述注册信息包括所述云服务商的所属国信息;所述基于所述注册信息对所述云服务商进行校验,包括:
基于所述云服务商的所属国信息校验所述云服务商针对指定国的属于情况;
所述若对所述云服务商的校验通过,则在所述区块链网络中注册所述云服务商,包括:
若校验到所述云服务商属于所述指定国,则确定对所述云服务商的校验通过,并在所述区块链网络中注册所述云服务商。
11.根据权利要求8所述的方法,其特征在于,在所述基于所述多个云服务商各自发送的注册请求,在所述区块链网络中注册所述多个云服务商之后,所述方法还包括:
接收所述多个云服务商各自发送的服务器部署请求;
基于所述多个云服务商各自发送的服务器部署请求,在所述区块链网络中部署所述多个云服务商各自对应的服务器,以得到所述多个云服务商在区块链网络中各自对应的共识节点。
12.根据权利要求11所述的方法,其特征在于,所述基于所述多个云服务商各自发送的服务器部署请求,在所述区块链网络中部署所述多个云服务商各自对应的服务器,以得到所述多个云服务商在区块链网络中各自对应的共识节点,包括:
针对每个云服务商,从所述云服务商对应的服务器部署请求中获取待部署服务器信息,并基于所述待部署服务器信息在所述区块链网络中部署所述云服务商对应的服务器,以得到所述云服务商在区块链网络中对应的共识节点。
13.一种基于区块链网络的业务处理装置,其特征在于,包括:
第一接收模块,配置为接收业务方发送的业务请求;
第一发送模块,配置为将所述业务请求发送至多个云服务商在区块链网络中各自对应的共识节点,以使所述多个云服务商各自对应的共识节点对所述业务请求进行响应,得到响应结果;
第二接收模块,配置为接收所述多个云服务商各自对应的共识节点发送的响应结果;
第二发送模块,配置为若检测到相同的响应结果的数量达到指定数量,则向所述业务方发送所述相同的响应结果。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述电子设备执行时,使得所述电子设备实现如权利要求1至12中任一项所述的基于区块链网络的业务处理方法。
15.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12中任一项所述的基于区块链网络的业务处理方法。
16.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行时实现如权利要求1至12中任一项所述的基于区块链网络的业务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211523078.2A CN118118550A (zh) | 2022-11-29 | 2022-11-29 | 基于区块链网络的业务处理方法及装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211523078.2A CN118118550A (zh) | 2022-11-29 | 2022-11-29 | 基于区块链网络的业务处理方法及装置、设备、介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118118550A true CN118118550A (zh) | 2024-05-31 |
Family
ID=91212653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211523078.2A Pending CN118118550A (zh) | 2022-11-29 | 2022-11-29 | 基于区块链网络的业务处理方法及装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118118550A (zh) |
-
2022
- 2022-11-29 CN CN202211523078.2A patent/CN118118550A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461773B2 (en) | Blockchain-based node management methods and apparatuses | |
US11329995B2 (en) | Blockchain-based system, and electronic apparatus and method in the system | |
CN110032865B (zh) | 一种权限管理方法、装置和存储介质 | |
CN108777625B (zh) | 签名的验证方法、装置和***、存储介质、电子装置 | |
CN111045690B (zh) | 区块链节点服务部署方法、装置、***、计算设备及介质 | |
CN107993149B (zh) | 账户信息管理方法、***以及可读存储介质 | |
JP2022174127A (ja) | 分散型元帳におけるdagベースのトランザクション処理方法およびシステム | |
CN108769230B (zh) | 交易数据存储方法、装置、服务器及存储介质 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN111294379B (zh) | 区块链网络服务平台及其权限托管方法、存储介质 | |
CN107908979B (zh) | 用于在区块链中进行配置和背书的方法和电子设备 | |
CN111338906B (zh) | 终端设备、边缘节点及基于区块链的应用监管方法和*** | |
JP2024505692A (ja) | ブロックチェーンネットワークに基づくデータ処理方法、装置及びコンピュータ機器 | |
CN111275555A (zh) | 区块链交易处理方法、交易节点以及区块链*** | |
CN113255014B (zh) | 一种基于区块链的数据处理方法以及相关设备 | |
CN110992035A (zh) | 区块链节点管理方法、装置及*** | |
US9450943B2 (en) | Method and apparatus for remote connection | |
CN115328645A (zh) | 计算任务调度方法、计算任务调度装置及电子设备 | |
CN116777631B (zh) | 基于区块链的交易上链方法及装置、设备、介质 | |
CN113449322A (zh) | 基于区块链的数据共享方法、装置、电子设备及可读介质 | |
CN112950180A (zh) | 一种基于联盟链的通证方法、***、电子设备及存储介质 | |
US20230353394A1 (en) | Cross-blockchain transaction processing method and apparatus, computer device, computer storage medium, and computer program product | |
US20200235935A1 (en) | Data access control for edge devices using a cryptographic hash | |
CN111709053A (zh) | 基于松散耦合交易网络的作业方法及作业装置 | |
CN110276693B (zh) | 保险理赔方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |