CN109547530A - 区域共识方法、系统及设备 - Google Patents
区域共识方法、系统及设备 Download PDFInfo
- Publication number
- CN109547530A CN109547530A CN201811206704.9A CN201811206704A CN109547530A CN 109547530 A CN109547530 A CN 109547530A CN 201811206704 A CN201811206704 A CN 201811206704A CN 109547530 A CN109547530 A CN 109547530A
- Authority
- CN
- China
- Prior art keywords
- node
- service request
- block
- common recognition
- chain
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
Abstract
本发明公开了一种区域共识方法、系统及设备,其中,所述方法包括:区域链的节点接收交互平台发送的业务请求;若接收节点为辅助节点,则将业务请求转发至所述中心节点;中心节点对业务请求进行对外共识校验,若通过校验,则根据业务请求生成对应的区块并存入所述区域链;这样,通过赋予区块节点维度信息,具体是构造一个参与对外共识的中心节点,多个参与区域内的辅助节点的两个维度的区域链,达到了以下技术效果:解决了现有技术中存在的随着区块链数据量的不断增长,共享数据和共识所耗费的时间不断增加,容易导致区块链网络拥堵及区块存储负担,从而达到了缩减共识周期,提高共识效率,节省存储数量的目的。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种区域共识方法、系统及设备。
背景技术
区块链技术也称为分布式账本技术,本质上是一种去中心化的分布式互联网数据库。采用区块链技术架构的网络可视为区块链网络,该区块链网络中包含多个区块链节点,任一区块链节点可对应至少一个区块链,任一区块链可包含至少一个区块。
现有技术中,区块链应用可以分为两类:
公有链:所有节点都可以参与共识、竞争记账权。公有链是面向大众,任何个体或者团体都可以读取、发送交易且交易能够获得该区块链的有效确认、参与共识的区块链。数据公开。其特点是:中立、开放、交易速度慢、需要“挖矿”或类似共识方法,常用 P2P网络,抗审查性高。
许可链:只有被许可的节点才能共识、竞争记账权并创建区块,包含私有链、联盟链、企业链等所有非公有链。数据可以公开或不公开。其中,私有链是指写入权限在一 个组织手里的区块链;联盟链是指由几个人或者组织、公司、政府控制的区块链。许可 链的特点是:交易速度快、不需要“挖矿”类的全网共识、交易成本低(交易只需几个 许可节点验证即可);可审查,会占据商业应用领域的主流。
具体地,业务数据上链(即被存储在区块链网络中)的过程包含三个阶段:
1、受理阶段,可以理解为待上链的业务数据被区块链网络中的某一区块链节点接收到,并由该区块链节点受理该业务数据;
2、共识阶段,可以理解为区块链节点在受理该业务数据之后,需要由区块链网络中的其他区块链节点参与对该业务数据进行共识处理,业务数据通过共识后,可以进入 存储阶段;
3、存储阶段,可以理解为区块链节点将共识通过的业务数据进行上链处理。
区块链技术中的共识方法即共识算法是区块链网络中实现不同区块链节点之间建 立信任、获取权益的重要方法。所谓共识方法,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认;对一笔交易,如果利益不相干的若干个节点能够达成共识,就可以认为全网对此也能够达成共识。区块链作为一种按时间顺序存储数据的数据结 构,可支持不同的共识方法。
在不同共识方法下,区块的生成过程会略有不同。但总体来说,各节点在处理接收到的区块信息后,交易过程大致都是按照如下流程:节点接收到若干交易信息,放入交 易池中;节点从交易池中获取当前收到的交易信息,对交易进行排序并按顺序执行;执 行完毕之后,节点生成完整区块,最终将其广播。
区块链作为新兴技术,还有很多问题亟待完善,区块链协议面临着扩展性的障碍。区块链的扩展性问题大致分为两个方面:1、交易吞吐量和交易确认延迟的扩展性障碍; 2、区块链全局账本数据存储瓶颈造成的扩展性障碍。以业务数据中区块上链这一业务 请求为例,在共识阶段,任一区块链节点在接收到区块上链请求后,需要由区块链网络 中其它所有区块链节点向全网广播自身对本次上链请求的签名,在通过共识后方可上 链。在现有的已经使用区块链当中,不管是公有链,私有链还是联盟链,都是在一条链 上处理交易的,考虑到区块链节点众多,当有共识需求时,容易导致区块链网络拥堵。 比如:某公司有不同的机构,如把这些机构的业务都放在一条链上,会造成链上处理业 务的压力增大,处理业务时间会变长,不利于业务的拓展。并且,在区块中需要存储全 网所有区块链节点的签名,随着区块链上的节点不断增加,共享数据和共识所耗费的时 间也会不断增加,这样给区块造成存储负担。
综上所述,当前区块链技术存在两个主要问题:
1、区块链的核心价值之“去中心化”,要求尽可能多的区块链节点运行全数据节点,但是随着区块链数据量不断增长,共享数据和共识所耗费的时间也会不断增加,这 样给区块造成存储负担,越来越多的节点将无法运行全数据节点。
2、在一条链上处理交易的,考虑到区块链节点众多,当有共识需求时,容易导致区块链网络拥堵。
因而,亟需找到一种新的区块链共识方案,以克服上述问题。
发明内容
针对现有技术的不足,本发明提供了一种区域共识方法、系统及设备,解决了现有技术中存在的随着区块链数据量的不断增长,共享数据和共识所耗费的时间不断增加, 容易导致区块链网络拥堵及区块存储负担,从而达到了缩减共识周期,提高共识效率, 节省存储数量的目的,其具体方案如下:
第一方面,本发明提供了一种区域共识方法,应用于包含一个参与对外共识的中心 节点与多个参与对内共识的辅助节点的区块链中,所述中心节点与所述辅助节点构成两 个维度的区域链,所述方法包括:
所述区域链的节点接收交互平台发送的业务请求;
若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求的节点将所述业 务请求转发至所述中心节点;
所述中心节点对所述业务请求进行对外共识校验,若通过校验,则所述中心节点根 据所述业务请求生成对应的区块,并将所述区块存入所述区域链。
优选地,所述区域链的节点接收业务平台发送的业务请求之前,所述方法还包括:
所述交互平台接收所述业务请求并进行纠错码验证;
当确定所述业务请求通过所述纠错码验证时,将所述业务请求转发至距离所述交互 平台最近的所述区域链的节点,该距离为物理意义上的距离含义。
优选地,所述中心节点、所述辅助节点是预先按节点信誉值分类帅选获得的,且所述中心节点是预先按照Raft算法选举的领导节点。
优选地,所述中心节点为首个加入所述区域链的首个节点,所述辅助节点为非首个 加入所述区域链的后进节点,即不是首个加入的节点。
优选地,所述中心节点根据所述业务请求生成对应的区块,并将所述区块存入所述 区域链根据所述业务请求生成对应的区块并存入所述区域链包括:
所述中心节点获取待共识的所述业务请求,确定所述业务请求的业务类型;
所述中心节点将根据所述业务请求生成对应的区块;
所述中心节点将所述区块存入与所述业务类型相对应的所述区域链的节点。
优选地,所述中心节点将所述区块存入与所述业务类型相对应的所述区域链的节点 所述将所述业务请求生成的区块存入与所述业务类型相对应的所述区域链节点包括:
所述中心节点确定所述区域链中的各个辅助节点的负载能力;
所述中心节点按照负载均衡的规则,将所述业务请求生成的所述区块以分布式存储的方式分配至所述区域链中的至少一个辅助节点。所述负载均衡是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或 网络设备,从而提高了业务处理能力,保证了业务的高可用性。负载均衡基本概念有: 实服务、实服务组、虚服务、调度算法、持续性等,其常用应用场景主要是服务器负载 均衡,链路负载均衡。
优选地,所述方法还包括:
若存在所述辅助节点对要分配存储区块的质疑,则提出质疑的所述辅助节点提交的 质疑证据,并广播至其他节点进行对内共识校验;
如果所述质疑证据被其他节点校验通过,则允许提出质疑的所述辅助节点执行对所 述分配存储区块进行拒绝的操作;
如果所述质疑证据未被其他节点校验通过,则要求提出质疑的所述辅助节点对新区 块的区块体进行数据写入的操作。
第二方面,本发明提供了一种区域共识系统,应用于包含一个参与对外共识的中心 节点与多个参与对内共识的辅助节点的区块链中,所述中心节点与所述辅助节点构成两 个维度的区域链,所述系统包括:
接收模块,用于接收交互平台发送的业务请求;
调度模块,用于若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求 的节点将所述业务请求转发至所述中心节点;
处理模块,用于所述中心节点对所述业务请求进行对外共识校验,若通过校验,则所述 中心节点根据所述业务请求生成对应的区块,并将所述区块存入所述区域链中心节点对 所述业务请求进行对外共识校验,通过校验的所述业务请求将生成对应的区块并存入所 述区域链。
第三方面,本发明提供了一种区域共识设备,应用于包含一个参与对外共识的中心 节点与多个参与对内共识的辅助节点的区块链中,所述中心节点与所述辅助节点构成两 个维度的区域链,所述设备包括:
通信总线,用于实现处理器与存储器间的连接通信;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如下步骤:
所述区域链的节点接收交互平台发送的业务请求;
若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求的节点将所述业 务请求转发至所述中心节点;
所述中心节点对所述业务请求进行对外共识校验,若通过校验,则所述中心节点根 据所述业务请求生成对应的区块,并将所述区块存入所述区域链。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的方法。
在本发明中,对外共识即为参与区块链全网共识的节点,对内共识即为不参与区块 链全网共识的节点,只在局部区域内共识的节点。区域链是局部区域内的节点形成的区域的链,是本申请区块链的一个子链。
有益效果:本发明的区域共识方法及系统,通过赋予区块节点维度信息,具体是构造包含中心节点与辅助节点的两个维度的区域链,其中,中心节点是一个参与对外共识 的节点,区域内的辅助节点在本区域内共识,解决了现有技术中存在的随着区块链数据 量的不断增长,共享数据和共识所耗费的时间不断增加,容易导致区块链网络拥堵及区 块存储负担,从而达到了缩减共识周期,提高共识效率,节省存储数量的目的。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,附图中的实施例不构成对本发明的任何限制,对于本领域普通技术人员来讲,在不付出创 造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明区域共识方法实施例一流程示意图。
图2是本发明区域共识方法实施例二流程示意图。
图3是本发明区域共识系统一实施例结构示意图。
图4是本发明区域共识设备一实施例结构示意图。
具体实施方式
下面结合附图与实施例对本发明技术方案作进一步详细的说明,这是本发明的较佳 实施例。应当理解,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如背景技术所述,在实际应用中,区块链网络的应用形式主要有两种,即公有区块链网络和私有区块链网络。公有区块链网络中的各节点的身份不受限制,任何主体(个 人或单位)都可以成为公有区块链网络中的节点,参与对业务请求的共识校验。由于公 有区块链网络是真正去中心化和完全开放的,因此黑客就有机会控制大多数节点,使不 合法的业务请求通过校验。此外,任何主体都可以查看公有链上存储的全部业务数据, 这些业务数据往往涉及各节点以及各非节点主体的隐私,即使对业务数据进行加密,也 存在被破解的风险。
需要说明的是,对于区块链网络管理的区块链就是“共享帐本”,相应地,私有区块链网络管理一个私有区块链,公有区块链网络管理一个公有区块链。
私有区块中的联盟区块链网络中的各节点都是预先指定的一些权威性机构。例如, 金融领域的联盟区块链网络中的各节点可以是工商银行、建设银行、人民银行、证监会、 银监会等。联盟区块链网络的这种特点决定了黑客没有机会参与共识校验,也没有机会 查看联盟区块链上存储的业务数据,这样一来,区块链网络的安全性大为提升。但是,由于一个联盟区块链网络中的节点往往某个业务领域中的权威性机构,因此该联盟区块链网络也只能对外提供特定业务领域的业务请求的校验服务。非共识节点往往需要花费很大成本与各不同业务领域的联盟区块链网络进行对接,非常不便。
为此,本申请所要求保护的技术方案,提出了一种区域共识方法及系统,其主要思想是:区域链的节点接收交互平台发送的业务请求;若接收节点为辅助节点,则将业务 请求转发至所述中心节点;中心节点对业务请求进行对外共识校验,若通过校验,则根 据业务请求生成对应的区块并存入所述区域链。
为了更好的理解上述的技术方案,下面将结合说明书附图以及具体的实施方式对上 述技术方案进行详细的说明。
实施例一
本发明一实施例提供了一种区域共识方法,应用于包含一个参与对外共识的中心节 点与多个参与对内共识的辅助节点的区块链中,所述中心节点与所述辅助节点构成两个 维度的区域链,如图1所示,该区域共识方法具体可以包括如下步骤:
步骤S101,所述区域链的节点接收交互平台发送的业务请求;
在本申请实施例中,该交互平台可以用于接收项目发起方发送的项目创建请求,并 创建对应的业务项目,当该业务项目处于运行状态时,该交互平台还可接收用户针对该业务项目的业务处理请求,并根据该业务项目以及该业务处理请求进行业务处理。
其中,该交互平台可以是众筹平台,则该众筹平台既可接收由筹款方发送的众筹项 目创建请求,并创建对应的众筹项目,也可接收由跟投人发送的认筹请求,该认筹请求可以是针对处于筹资状态的众筹项目的认筹请求。
在本申请实施例中,交互平台对外提供对接标准协议,具体而言,各区块链网络可以根据交互平台提供的应用编程接口(API),开发内置标准协议的客户端,与交互平台 对接成为一个共识节点。
在本申请实施例中,一个节点受理业务数据,该节点可以称之为业务受理节点,并发起对该业务数据的共识。除了该节点之外,还可以包含多个节点,若这些节点参与该 业务数据的共识处理,那么这些节点可以称之为共识节点。此外,这些节点也可以作为 业务受理节点。例如:区块链网络中包含5个节点(例如:节点1、节点2、节点3、节点4 和节点5),每一个节点既可以是业务受理节点又可以是共识节点。假设节点1受理了某 业务数据,那么节点1此时业务受理节点,节点2、节点3、节点4和节点5则作为该业务 数据的共识节点参与对该业务数据的共识处理。
在本申请实施例中,区域链的节点可以作为业务数据的受理节点,也可以不作为业 务数据的受理节点,而作为用于发起共识处理的节点,或者本次共识处理的主节点,这里不做具体限定。
若区域链的节点作为业务数据的受理节点,那么该区块链节点可以从本地存储的所 受理的业务数据中捞取一部分业务数据作为待共识的业务数据,以便于后续针对捞取的 该部分业务数据发起共识处理。
若区域链的节点不作为业务数据的受理节点而作为本次共识处理的主节点,那么该 区块链节点可以从待共识的业务数据资源池中捞取一部分业务数据作为待共识的业务数据,以便于后续发起针对捞取到的该部分业务数据的共识处理。
具体地,所述区域链的节点接收交互平台发送的业务请求,在接收到待共识的业务 请求后,获取产生该待共识的业务请求的相应的业务数据。由于作为业务请求的用户信息发送至该共识节点,所以该节点在接收到该业务数据时,只要该业务数据中包含用户 信息,便可确定该业务请求对应的业务处理数据是由哪个用户方受理的。
步骤S102,若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求的节 点将所述业务请求转发至所述中心节点;
在本申请实施例中,如上所述,交互平台对外提供对接标准协议,具体而言,各区块链网络可以根据交互平台提供的应用编程接口(API),开发内置标准协议的客户端, 与交互平台对接成为一个对外共识节点。此外,任何主体也都可以对接到交互平台,成 为对内共识节点。
其中,所述对内共识节点的类型可以是个体、企业、监管机构等,也可以是信用高、信用中、信用低等不同的信用等级。总之,对内共识节点的类型可以根据实际情况划分, 本申请对此不做限制。
具体而言,对于个人或个体,其可以在终端上安装内置对接标准协议的客户端,以后就可以通过该客户端随时提交业务请求了;对于企业,尤其是向用户提供服务的企业,其可以将其应用与配置中心对接,当其向用户提供服务时,可以提交本次服务对应的业 务请求,以供相应的共识子系统进行共识校验。
例如,某电商平台的客户端可以内置对接标准协议,与交互平台对接,当用户在该电商平台购物时,电商平台请求共识子网络对该用户所购商品是否是正品、该用户是 否支付成功等事项进行共识校验,并反馈给用户。
例如,普通个人可以成为对内共识节点,当两个对内共识节点进行转账时,其中一个对内共识节点可以发起业务请求,请求支付领域对应的区域区块链网络为本次转账进行共识校验,并将本次转账对应的区块记录在区域区块链上。
总之,在本系统的架构下,应用场景非常丰富,个人可以成为对内共识节点,请 求校验其产生的各种事件,企业可以成为对内共识节点,增强用户对它的信任。
在本申请实施例中,所述辅助节点是对内节点主体,在本系统中可以赋予对内节点 主体以节点的身份,但是这些辅助节点在本申请的应用场景下是不能参与对外共识校验 的,在本申请的应用场景下的对外共识校验是由中心节点执行的。
但是,在本申请的应用场景的所述辅助节点可以执行对内共识校验,如上所述,基于所述区域链可以将整个社会纳入统一的信用体系,当所述区域链对应于一个公有区块链网络时,该公有区块链网络只需要与所述区域链对接即可,并不会影响该公有区块链 网络原本的运转。
具体地,如果所述区域链的接收节点是对内共识的所述辅助节点,则将步骤S101的 接收的所述业务请求转发至对外共识的所述中心节点。
在一个可选的实施例中,所述中心节点、所述辅助节点按节点信誉值分类帅选,且限定所述中心节点同时是Raft算法选举的领导节点。
在Raft协议中,分布式网络中的各节点可分为领导节点以及下属节点,该领导节点, 具有向该分布式网络中的下属节点发送心跳信息的权限,而该分布式网络中的下属节点 在接收到该领导节点发送的心跳信息后,可将该心跳信息更新在该下属节点本地的信息 日志等内容。另外,当由该下属节点发起业务时,该下属节点可将该业务发送至该领导节点,并由该领导节点以进行业务处理,或者分发至其他下属节点进行业务处理。
其中,该领导节点可以是在该区块链网络开始运行时,由各内部共识节点选举产生 的,具体该领导节点如何选举,以及该领导节点如何换届,可如现有技术中的Raft协议一致,本申请对此不做限定。
进一步地,在本申请实施例中,当该分布式协议为Raft协议时,由于Raft协议中的领导节点需要向该网络中的各节点发送心跳信息,所以该共识节点在确定该区块链网络中的领导节点时,可以通过接收到的心跳信息,确定该领导节点。若该共识节点在心跳 信息对应的时间周期没有接收到领导节点发送的心跳信息时,则该共识节点可以等待其 他共识节点发起选举,并接收候选人节点发送的投票请求,并通过响应该投票请求,选 出下一届任期的领导节点。当然,该共识节点也可成为选举人节点,并向其他共识节点 发送投票请求,则该共识节点也可成为该区块链网络中的领导节点。由于上述领导节点 的确定属于现有技术,所以具体的技术细节本申请不再赘述。
在另一可选的实施例中,所述中心节点为加入所述区域链的首个节点,所述辅助节 点为加入所述区域链的后进节点。
需要说明的是,该辅助节点或辅助节点可以是终端,如,手机、个人电脑/平板电脑等设备,或者该辅助节点或辅助节点也可以是服务器,则该服务器可为该辅助节点或 辅助节点对应的服务器,并且该服务器可以是单独的一台设备,也可以是有多台设备组 成的系统,只要该设备可作为该区块链网络的辅助节点或辅助节点接收与该共识节点对 应的交互平台发送的业务数据,并且具有在该区块链网络中发起共识的权限即可,本申 请对该辅助节点或辅助节点的具体为何种设备此并不做限定。
步骤S103,所述中心节点对所述业务请求进行对外共识校验,若通过校验,则步骤104根据所述业务请求生成对应的区块,并将所述区块存入所述区域链,详细的描述具 体如下:
步骤S1031,所述中心节点对所述业务请求进行对外共识校验,若通过校验,则获取待共识的所述业务请求,确定所述业务请求的业务类型;
如上所述,由于作为业务请求的用户信息发送至该共识节点,所以该节点在接收到 该业务数据时,只要该业务数据中包含用户信息,便可确定该业务请求对应的业务处理数据是由哪个用户方受理的。
在获取到待共识的业务请求之后,分别确定各业务数据对应的业务类型,由于在实 际应用中有些业务类型存在交叉覆盖的情况,此时在确定各业务数据对应的业务类型时,可以采用聚类的方式(或者其他方式,这里不做具体限定)确定一个覆盖范围较大的 业务类型作为获取待的待共识的业务请求对应的业务。
这里的业务类型可以根据业务的功能不同进行划分,例如:业务可以分为订单类型 (即在订单生成阶段产生的业务数据对应的业务类型为订单类型)、支付类型(即包含支付信息的业务数据对应的业务类型为支付类型)等;又如:获取到的待共识的业务数据 对应的业务类型既有订单类型又有支付类型,那么根据业务内容来讲的话,这些业务数 据都属于交易类型,那么可以确定这些待共识的业务数据对应的业务类型为交易类型。
这里的业务类型也可以根据业务内容不同进行划分,例如:业务可以分为发卡类型 (即包含发卡信息的业务数据对应的业务类型为发卡类型)、交易类型(即包含交易信息的业务数据对应的业务类型为交易类型)等等,这里对于业务类型的划分原则不做具体 限定。
在本申请实施例中,所述业务请求中可包含:交易人信息、交易份额、交易金额、交易项目、交易时间等信息。
需要说明的是,上述的共识结果是否存储在对内或对外共识节点中不做具体限定, 可以根据实际需要确定,存与不存都在本申请实施例的保护范围之中。
步骤S1032,确定所述区域链中的各个所述辅助节点的负载能力;
具体地,在获取到待共识的业务请求时,为了保证整个对内共识节点集合中各节点 的负载均衡,可以确定节点集合中各节点的负载能力(这里的负载能力可以是指当前节点的负载情况,与节点的总负载能力不同)。进而可以根据各节点的负载能力,确定各 节点当前空闲资源的多少。
步骤S1033,按照负载均衡的规则,将所述业务请求生成的区块以分布式存储分配至所区域链中的至少一个所述辅助节点。
在本申请实施例中,所述负载均衡的规则可以是将待共识的业务请求分配给对内共 识节点集合中负载能力小于设定条件的节点。即将待共识的业务请求分配给对内共识节 点集合中空闲资源量大于设定阈值的节点。
需要说明的是,这里所确定的业务类型可以为一种,也可以为多种。如果确定的业务类型为多种,那么在后续步骤中,这多种业务类型所对应的分布式存储分配可以使用 同一个分布式存储分配算法;或者这多种业务类型分别对应多个分布式存储分配算法, 但在多个分布式存储分配算法中可以确定出一种分布式存储分配算法对于这多种业务 类型都适用。
该辅助节点在接收到该业务请求时,可确定该业务请求是与哪一个用户对应的,并 将该用户信息作为节点信息的一部分写入该中心节点根据该业务请求创建的区块中。
需要说明的是,在区块链技术领域,具体是各节点根据共识算法对业务请求进行共 识校验的,并且,区块链网络有权访问各节点的账户、交易记录等隐私,用于校验。本 申请实施例中的共识校验流程与现有的共识校验流程并无区别,因此在后续说明书不会 赘述。
实施例二
本发明一实施例提供了一种区域共识方法,应用于包含一个参与对外共识的中心节 点与多个参与对内共识的辅助节点的区块链中,所述中心节点与所述辅助节点构成两个 维度的区域链,如图2所示,该区域共识方法具体可以包括如下步骤:
步骤S201,交互平台接收所述业务请求并进行纠错码验证,当确定所述业务请求通 过所述纠错码验证时,将所述业务请求转发至距离最近的所述区域链的节点;
在本申请实施例中,该交互平台可以用于接收项目发起方发送的项目创建请求,并 创建对应的业务项目,当该业务项目处于运行状态时,该交互平台还可接收用户针对该业务项目的业务处理请求,并根据该业务项目以及该业务处理请求进行业务处理。
在本申请实施例中,交互平台对外提供对接标准协议,具体而言,各区块链网络可以根据交互平台提供的应用编程接口(API),开发内置标准协议的客户端,与交互平台 对接成为一个共识节点。
具体地,交互平台接收来自用户的业务请求,并对其进行纠错码验证,所述纠错码可以是前向纠错码,也可以是后向纠错码,本申请对该纠错码的具体为何种类型并不做 限定。当确定所述业务请求通过所述纠错码验证时,将所述业务请求转发至与交互平台 距离最近的所述区域链的节点。
步骤S202,所述区域链的节点接收交互平台发送的业务请求;
在本申请实施例中,一个节点受理业务数据,该节点可以称之为业务受理节点,并发起对该业务数据的共识。除了该节点之外,还可以包含多个节点,若这些节点参与该 业务数据的共识处理,那么这些节点可以称之为共识节点。此外,这些节点也可以作为 业务受理节点。
在本申请实施例中,区域链的节点可以作为业务数据的受理节点,也可以不作为业 务数据的受理节点,而作为用于发起共识处理的节点,或者本次共识处理的主节点,这里不做具体限定。
若区域链的节点作为业务数据的受理节点,那么该区块链节点可以从本地存储的所 受理的业务数据中捞取一部分业务数据作为待共识的业务数据,以便于后续针对捞取的 该部分业务数据发起共识处理。
若区域链的节点不作为业务数据的受理节点而作为本次共识处理的主节点,那么该 区块链节点可以从待共识的业务数据资源池中捞取一部分业务数据作为待共识的业务数据,以便于后续发起针对捞取到的该部分业务数据的共识处理。
具体地,所述区域链的节点接收交互平台发送的业务请求,在接收到待共识的业务 请求后,获取产生该待共识的业务请求的相应的业务数据。由于作为业务请求的用户信息发送至该共识节点,所以该节点在接收到该业务数据时,只要该业务数据中包含用户 信息,便可确定该业务请求对应的业务处理数据是由哪个用户方受理的。
步骤S203,若接收节点为所述辅助节点,则将所述业务请求转发至所述中心节点;
在本申请实施例中,如上所述,交互平台对外提供对接标准协议,具体而言,各区块链网络可以根据交互平台提供的应用编程接口(API),开发内置标准协议的客户端, 与交互平台对接成为一个对外共识节点。此外,任何主体也都可以对接到交互平台,成 为对内共识节点。
其中,所述对内共识节点的类型可以是个体、企业、监管机构等,也可以是信用高、信用中、信用低等不同的信用等级。总之,对内共识节点的类型可以根据实际情况划分, 本申请对此不做限制。
具体而言,对于个人或个体,其可以在终端上安装内置对接标准协议的客户端,以后就可以通过该客户端随时提交业务请求了;对于企业,尤其是向用户提供服务的企业,其可以将其应用与配置中心对接,当其向用户提供服务时,可以提交本次服务对应的业 务请求,以供相应的共识子系统进行共识校验。
总之,在本系统的架构下,应用场景非常丰富,个人可以成为对内共识节点,请 求校验其产生的各种事件,企业可以成为对内共识节点,增强用户对它的信任。
在本申请实施例中,所述辅助节点是对内节点主体,在本系统中可以赋予对内节点 主体以节点的身份,但是这些辅助节点在本申请的应用场景下是不能参与对外共识校验 的,在本申请的应用场景下的对外共识校验是由中心节点执行的。
但是,在本申请的应用场景的所述辅助节点可以执行对内共识校验,如上所述,基于所述区域链可以将整个社会纳入统一的信用体系,当所述区域链对应于一个公有区块链网络时,该公有区块链网络只需要与所述区域链对接即可,并不会影响该公有区块链 网络原本的运转。
具体地,如果所述区域链的接收节点是对内共识的所述辅助节点,则将步骤S202的 接收的所述业务请求转发至对外共识的所述中心节点。
在一个可选的实施例中,所述中心节点、所述辅助节点按节点信誉值分类帅选,且限定所述中心节点同时是Raft算法选举的领导节点。
在Raft协议中,分布式网络中的各节点可分为领导节点以及下属节点,该领导节点, 具有向该分布式网络中的下属节点发送心跳信息的权限,而该分布式网络中的下属节点 在接收到该领导节点发送的心跳信息后,可将该心跳信息更新在该下属节点本地的信息 日志等内容。另外,当由该下属节点发起业务时,该下属节点可将该业务发送至该领导节点,并由该领导节点以进行业务处理,或者分发至其他下属节点进行业务处理。
在另一可选的实施例中,所述中心节点为加入所述区域链的首个节点,所述辅助节 点为加入所述区域链的后进节点。
需要说明的是,该辅助节点或辅助节点可以是终端,如,手机、个人电脑/平板电脑等设备,或者该辅助节点或辅助节点也可以是服务器,则该服务器可为该辅助节点或 辅助节点对应的服务器,并且该服务器可以是单独的一台设备,也可以是有多台设备组 成的系统,只要该设备可作为该区块链网络的辅助节点或辅助节点接收与该共识节点对 应的交互平台发送的业务数据,并且具有在该区块链网络中发起共识的权限即可,本申 请对该辅助节点或辅助节点的具体为何种设备此并不做限定。
步骤S204,所述中心节点对所述业务请求进行对外共识校验,若通过校验,则步骤205根据所述业务请求生成对应的区块并存入所述区域链,详细的描述具体如下:
步骤S2041,所述中心节点对所述业务请求进行对外共识校验,若通过校验,则获取待共识的所述业务请求,确定所述业务请求的业务类型;
如上所述,由于作为业务请求的用户信息发送至该共识节点,所以该节点在接收到 该业务数据时,只要该业务数据中包含用户信息,便可确定该业务请求对应的业务处理数据是由哪个用户方受理的。
在获取到待共识的业务请求之后,分别确定各业务数据对应的业务类型,由于在实 际应用中有些业务类型存在交叉覆盖的情况,此时在确定各业务数据对应的业务类型时,可以采用聚类的方式(或者其他方式,这里不做具体限定)确定一个覆盖范围较大的 业务类型作为获取待的待共识的业务请求对应的业务。
这里的业务类型可以根据业务的功能不同进行划分,例如:业务可以分为订单类型 (即在订单生成阶段产生的业务数据对应的业务类型为订单类型)、支付类型(即包含支付信息的业务数据对应的业务类型为支付类型)等;又如:获取到的待共识的业务数据 对应的业务类型既有订单类型又有支付类型,那么根据业务内容来讲的话,这些业务数 据都属于交易类型,那么可以确定这些待共识的业务数据对应的业务类型为交易类型。
这里的业务类型也可以根据业务内容不同进行划分,例如:业务可以分为发卡类型 (即包含发卡信息的业务数据对应的业务类型为发卡类型)、交易类型(即包含交易信息的业务数据对应的业务类型为交易类型)等等,这里对于业务类型的划分原则不做具体 限定。
在本申请实施例中,所述业务请求中可包含:交易人信息、交易份额、交易金额、交易项目、交易时间等信息。
需要说明的是,上述的共识结果是否存储在对内或对外共识节点中不做具体限定, 可以根据实际需要确定,存与不存都在本申请实施例的保护范围之中。
步骤S2042,确定所述区域链中的各个所述辅助节点的负载能力;
具体地,在获取到待共识的业务请求时,为了保证整个对内共识节点集合中各节点 的负载均衡,可以确定节点集合中各节点的负载能力(这里的负载能力可以是指当前节点的负载情况,与节点的总负载能力不同)。进而可以根据各节点的负载能力,确定各 节点当前空闲资源的多少。
步骤S2043,按照负载均衡的规则,将所述业务请求生成的区块以分布式存储分配至所区域链中的至少一个所述辅助节点。
在本申请实施例中,所述负载均衡的规则可以是将待共识的业务请求分配给对内共 识节点集合中负载能力小于设定条件的节点。即将待共识的业务请求分配给对内共识节 点集合中空闲资源量大于设定阈值的节点。
需要说明的是,这里所确定的业务类型可以为一种,也可以为多种。如果确定的业务类型为多种,那么在后续步骤中,这多种业务类型所对应的分布式存储分配可以使用 同一个分布式存储分配算法;或者这多种业务类型分别对应多个分布式存储分配算法, 但在多个分布式存储分配算法中可以确定出一种分布式存储分配算法对于这多种业务 类型都适用。
该辅助节点在接收到该业务请求时,可确定该业务请求是与哪一个用户对应的,并 将该用户信息作为节点信息的一部分写入该中心节点根据该业务请求创建的区块中。
步骤S206,若存在所述辅助节点对要分配存储区块的质疑,则提出质疑的所述辅助 节点提交的质疑证据,并广播至其他节点进行对内共识校验;
如果所述质疑证据被其他节点校验通过,则允许提出质疑的所述辅助节点执行对所 述分配存储区块进行拒绝的操作;
如果所述质疑证据未被其他节点校验通过,则要求提出质疑的所述辅助节点对新区 块的区块体进行数据写入的操作。
实施例三
第二方面,本发明一实施例提供了一种区域共识系统,在本申请实施例中的共识系 统为执行上述区域共识方法的特定主体,应用于包含一个参与对外共识的中心节点与多 个参与对内共识的辅助节点的区块链中,所述中心节点与所述辅助节点构成两个维度的 区域链,如图3所示,该区域共识系统具体可以包括如下模块:
接收模块,用于接收交互平台发送的业务请求;
调度模块,用于若接收节点为所述辅助节点,将所述业务请求转发至所述中心节点;
处理模块,用于中心节点对所述业务请求进行对外共识校验,通过校验的所述业务 请求将生成对应的区块并存入所述区域链。
实施例四
本发明一实施例提供了一种区域共识设备,该信息推送设备具体可以包括如下模块:
通信总线,用于实现处理器与存储器间的连接通信;
存储器,用于存储计算机程序;存储器可能包含高速RAM存储器,也可能还包含非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器可选的 可以包含至少一个存储装置。
处理器,用于执行上述计算机程序以实现如下步骤:
步骤S301,交互平台接收所述业务请求并进行纠错码验证,当确定所述业务请求通 过所述纠错码验证时,将所述业务请求转发至距离最近的所述区域链的节点;
在本申请实施例中,该交互平台可以用于接收项目发起方发送的项目创建请求,并 创建对应的业务项目,当该业务项目处于运行状态时,该交互平台还可接收用户针对该业务项目的业务处理请求,并根据该业务项目以及该业务处理请求进行业务处理。
在本申请实施例中,交互平台对外提供对接标准协议,具体而言,各区块链网络可以根据交互平台提供的应用编程接口(API),开发内置标准协议的客户端,与交互平台 对接成为一个共识节点。
具体地,交互平台接收来自用户的业务请求,并对其进行纠错码验证,所述纠错码可以是前向纠错码,也可以是后向纠错码,本申请对该纠错码的具体为何种类型并不做 限定。当确定所述业务请求通过所述纠错码验证时,将所述业务请求转发至与交互平台 距离最近的所述区域链的节点。
步骤S302,所述区域链的节点接收交互平台发送的业务请求;
在本申请实施例中,一个节点受理业务数据,该节点可以称之为业务受理节点,并发起对该业务数据的共识。除了该节点之外,还可以包含多个节点,若这些节点参与该 业务数据的共识处理,那么这些节点可以称之为共识节点。此外,这些节点也可以作为 业务受理节点。
在本申请实施例中,区域链的节点可以作为业务数据的受理节点,也可以不作为业 务数据的受理节点,而作为用于发起共识处理的节点,或者本次共识处理的主节点,这里不做具体限定。
若区域链的节点作为业务数据的受理节点,那么该区块链节点可以从本地存储的所 受理的业务数据中捞取一部分业务数据作为待共识的业务数据,以便于后续针对捞取的 该部分业务数据发起共识处理。
若区域链的节点不作为业务数据的受理节点而作为本次共识处理的主节点,那么该 区块链节点可以从待共识的业务数据资源池中捞取一部分业务数据作为待共识的业务数据,以便于后续发起针对捞取到的该部分业务数据的共识处理。
具体地,所述区域链的节点接收交互平台发送的业务请求,在接收到待共识的业务 请求后,获取产生该待共识的业务请求的相应的业务数据。由于作为业务请求的用户信息发送至该共识节点,所以该节点在接收到该业务数据时,只要该业务数据中包含用户 信息,便可确定该业务请求对应的业务处理数据是由哪个用户方受理的。
步骤S303,若接收节点为所述辅助节点,则将所述业务请求转发至所述中心节点;
在本申请实施例中,如上所述,交互平台对外提供对接标准协议,具体而言,各区块链网络可以根据交互平台提供的应用编程接口(API),开发内置标准协议的客户端, 与交互平台对接成为一个对外共识节点。此外,任何主体也都可以对接到交互平台,成 为对内共识节点。
其中,所述对内共识节点的类型可以是个体、企业、监管机构等,也可以是信用高、信用中、信用低等不同的信用等级。总之,对内共识节点的类型可以根据实际情况划分, 本申请对此不做限制。
具体而言,对于个人或个体,其可以在终端上安装内置对接标准协议的客户端,以后就可以通过该客户端随时提交业务请求了;对于企业,尤其是向用户提供服务的企业,其可以将其应用与配置中心对接,当其向用户提供服务时,可以提交本次服务对应的业 务请求,以供相应的共识子系统进行共识校验。
总之,在本系统的架构下,应用场景非常丰富,个人可以成为对内共识节点,请 求校验其产生的各种事件,企业可以成为对内共识节点,增强用户对它的信任。
在本申请实施例中,所述辅助节点是对内节点主体,在本系统中可以赋予对内节点 主体以节点的身份,但是这些辅助节点在本申请的应用场景下是不能参与对外共识校验 的,在本申请的应用场景下的对外共识校验是由中心节点执行的。
但是,在本申请的应用场景的所述辅助节点可以执行对内共识校验,如上所述,基于所述区域链可以将整个社会纳入统一的信用体系,当所述区域链对应于一个公有区块链网络时,该公有区块链网络只需要与所述区域链对接即可,并不会影响该公有区块链 网络原本的运转。
具体地,如果所述区域链的接收节点是对内共识的所述辅助节点,则将步骤S202的 接收的所述业务请求转发至对外共识的所述中心节点。
在一个可选的实施例中,所述中心节点、所述辅助节点按节点信誉值分类帅选,且限定所述中心节点同时是Raft算法选举的领导节点。
在Raft协议中,分布式网络中的各节点可分为领导节点以及下属节点,该领导节点, 具有向该分布式网络中的下属节点发送心跳信息的权限,而该分布式网络中的下属节点 在接收到该领导节点发送的心跳信息后,可将该心跳信息更新在该下属节点本地的信息 日志等内容。另外,当由该下属节点发起业务时,该下属节点可将该业务发送至该领导节点,并由该领导节点以进行业务处理,或者分发至其他下属节点进行业务处理。
在另一可选的实施例中,所述中心节点为加入所述区域链的首个节点,所述辅助节 点为加入所述区域链的后进节点。
需要说明的是,该辅助节点或辅助节点可以是终端,如,手机、个人电脑/平板电脑等设备,或者该辅助节点或辅助节点也可以是服务器,则该服务器可为该辅助节点或 辅助节点对应的服务器,并且该服务器可以是单独的一台设备,也可以是有多台设备组 成的系统,只要该设备可作为该区块链网络的辅助节点或辅助节点接收与该共识节点对 应的交互平台发送的业务数据,并且具有在该区块链网络中发起共识的权限即可,本申 请对该辅助节点或辅助节点的具体为何种设备此并不做限定。
步骤S304,所述中心节点对所述业务请求进行对外共识校验,若通过校验,则根据所述业务请求生成对应的区块并存入所述区域链,详细的描述具体如下:
步骤S3041,所述中心节点对所述业务请求进行对外共识校验,若通过校验,则获取待共识的所述业务请求,确定所述业务请求的业务类型;
如上所述,由于作为业务请求的用户信息发送至该共识节点,所以该节点在接收到 该业务数据时,只要该业务数据中包含用户信息,便可确定该业务请求对应的业务处理数据是由哪个用户方受理的。
在获取到待共识的业务请求之后,分别确定各业务数据对应的业务类型,由于在实 际应用中有些业务类型存在交叉覆盖的情况,此时在确定各业务数据对应的业务类型时,可以采用聚类的方式(或者其他方式,这里不做具体限定)确定一个覆盖范围较大的 业务类型作为获取待的待共识的业务请求对应的业务。
这里的业务类型可以根据业务的功能不同进行划分,例如:业务可以分为订单类型 (即在订单生成阶段产生的业务数据对应的业务类型为订单类型)、支付类型(即包含支付信息的业务数据对应的业务类型为支付类型)等;又如:获取到的待共识的业务数据 对应的业务类型既有订单类型又有支付类型,那么根据业务内容来讲的话,这些业务数 据都属于交易类型,那么可以确定这些待共识的业务数据对应的业务类型为交易类型。
这里的业务类型也可以根据业务内容不同进行划分,例如:业务可以分为发卡类型 (即包含发卡信息的业务数据对应的业务类型为发卡类型)、交易类型(即包含交易信息的业务数据对应的业务类型为交易类型)等等,这里对于业务类型的划分原则不做具体 限定。
在本申请实施例中,所述业务请求中可包含:交易人信息、交易份额、交易金额、交易项目、交易时间等信息。
需要说明的是,上述的共识结果是否存储在对内或对外共识节点中不做具体限定, 可以根据实际需要确定,存与不存都在本申请实施例的保护范围之中。
步骤S3042,确定所述区域链中的各个所述辅助节点的负载能力;
具体地,在获取到待共识的业务请求时,为了保证整个对内共识节点集合中各节点 的负载均衡,可以确定节点集合中各节点的负载能力(这里的负载能力可以是指当前节点的负载情况,与节点的总负载能力不同)。进而可以根据各节点的负载能力,确定各 节点当前空闲资源的多少。
步骤S3043,按照负载均衡的规则,将所述业务请求生成的区块以分布式存储分配至所区域链中的至少一个所述辅助节点。
在本申请实施例中,所述负载均衡的规则可以是将待共识的业务请求分配给对内共 识节点集合中负载能力小于设定条件的节点。即将待共识的业务请求分配给对内共识节 点集合中空闲资源量大于设定阈值的节点。
需要说明的是,这里所确定的业务类型可以为一种,也可以为多种。如果确定的业务类型为多种,那么在后续步骤中,这多种业务类型所对应的分布式存储分配可以使用 同一个分布式存储分配算法;或者这多种业务类型分别对应多个分布式存储分配算法, 但在多个分布式存储分配算法中可以确定出一种分布式存储分配算法对于这多种业务 类型都适用。
该辅助节点在接收到该业务请求时,可确定该业务请求是与哪一个用户对应的,并 将该用户信息作为节点信息的一部分写入该中心节点根据该业务请求创建的区块中。
步骤S305,若存在所述辅助节点对要分配存储区块的质疑,则提出质疑的所述辅助 节点提交的质疑证据,并广播至其他节点进行对内共识校验;
如果所述质疑证据被其他节点校验通过,则允许提出质疑的所述辅助节点执行对所 述分配存储区块进行拒绝的操作;
如果所述质疑证据未被其他节点校验通过,则要求提出质疑的所述辅助节点对新区 块的区块体进行数据写入的操作。
实施例五
本发明一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,上述计 算机程序被处理器执行时实现上述区域共识方法。
综上上述,本发明实施例提供的一种区域共识方法及系统,通过赋予区块节点维度 信息,具体是构造包含中心节点与辅助节点的两个维度的区域链,其中,中心节点是一个参与对外共识的节点,区域内的辅助节点在本区域内共识。所以,本发明实施例达到 了以下技术效果:解决了现有技术中存在的随着区块链数据量的不断增长,共享数据和 共识所耗费的时间不断增加,容易导致区块链网络拥堵及区块存储负担,从而达到了缩 减共识周期,提高共识效率,节省存储数量的目的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制, 因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也 应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定 是本发明所必须的。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。该计算 机程序产品包括一个或多个计算机指令。在计算机上加载或执行该计算机程序指令时, 全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以为通用计算机、专 用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存 储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如, 该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、 无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算 机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介 质集合的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、 硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元 及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术 人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认 为超出本申请的范围。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分, 可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单 元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单 元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一 点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置 或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示 的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是 各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时, 可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上 或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计 算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方 法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种 可以存储程序代码的介质。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或 方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/ 或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指 令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定 方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指 令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算 机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或 其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图 一个方框或多个方框中指定的功能的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个 实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之 间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他 变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备 不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、 方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……” 限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相 同要素。
Claims (10)
1.一种区域共识方法,其特征在于,应用于包含一个参与对外共识的中心节点与多个参与对内共识的辅助节点的区块链网络中,所述方法包括:
所述区域链的节点接收交互平台发送的业务请求;
若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求的节点将所述业务请求转发至所述中心节点;
所述中心节点对所述业务请求进行对外共识校验,若通过校验,则所述中心节点根据所述业务请求生成对应的区块,并将所述区块存入所述区域链。
2.根据权利要求1所述的方法,其特征在于,所述区域链的节点接收业务平台发送的业务请求之前,所述方法还包括:
所述交互平台接收所述业务请求并进行纠错码验证;
当确定所述业务请求通过所述纠错码验证时,所述交互平台将所述业务请求转发至距离所述交互平台最近的所述区域链的节点。
3.根据权利要求2所述的方法,其特征在于,所述中心节点、所述辅助节点是预先按节点信誉值分类帅选获得的,且所述中心节点是预先按照Raft算法选举的领导节点。
4.根据权利要求2所述的方法,其特征在于,所述中心节点为首个加入所述区域链的节点,所述辅助节点为非首个加入所述区域链的后进节点。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述中心节点根据所述业务请求生成对应的区块,并将所述区块存入所述区域链包括:
所述中心节点确定所述业务请求的业务类型;
所述中心节点根据所述业务请求生成对应的区块;
所述中心节点将所述区块存入与所述业务类型相对应的所述区域链的节点。
6.根据权利要求5所述的方法,其特征在于,所述中心节点将所述区块存入与所述业务类型相对应的所述区域链的节点包括:
所述中心节点确定所述区域链中的各个辅助节点的负载能力;
所述中心节点按照负载均衡的规则,将所述区块以分布式存储的方式分配至所述区域链中的至少一个辅助节点。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若存在所述辅助节点对要分配存储区块的质疑,则提出质疑的所述辅助节点提交的质疑证据,并广播至其他节点进行对内共识校验;
如果所述质疑证据被其他节点校验通过,则允许提出质疑的所述辅助节点执行对所述分配存储区块进行拒绝的操作;
如果所述质疑证据未被其他节点校验通过,则要求提出质疑的所述辅助节点对新区块的区块体进行数据写入的操作。
8.一种区域共识系统,其特征在于,应用于包含一个参与对外共识的中心节点与多个参与对内共识的辅助节点的区块链中,所述系统包括:
接收模块,用于接收交互平台发送的业务请求;
调度模块,用于若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求的节点将所述业务请求转发至所述中心节点;
处理模块,用于所述中心节点对所述业务请求进行对外共识校验,若通过校验,则所述中心节点根据所述业务请求生成对应的区块,并将所述区块存入所述区域链。
9.一种区域共识设备,其特征在于,应用于包含一个参与对外共识的中心节点与多个参与对内共识的辅助节点的区块链中,所述设备包括:
通信总线,用于实现处理器与存储器间的连接通信;
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如下步骤:
所述区域链的节点接收交互平台发送的业务请求;
若接收所述业务请求的节点为所述辅助节点,则接收所述业务请求的节点将所述业务请求转发至所述中心节点;
所述中心节点对所述业务请求进行对外共识校验,若通过校验,则所述中心节点根据所述业务请求生成对应的区块,并将所述区块存入所述区域链。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811206704.9A CN109547530B (zh) | 2018-10-17 | 2018-10-17 | 区域共识方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811206704.9A CN109547530B (zh) | 2018-10-17 | 2018-10-17 | 区域共识方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109547530A true CN109547530A (zh) | 2019-03-29 |
CN109547530B CN109547530B (zh) | 2021-07-27 |
Family
ID=65843972
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811206704.9A Active CN109547530B (zh) | 2018-10-17 | 2018-10-17 | 区域共识方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109547530B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427763A (zh) * | 2019-07-24 | 2019-11-08 | 上海朝夕网络技术有限公司 | 一种基于预定义执行代码的分布式系统的共识方法 |
CN110472874A (zh) * | 2019-08-16 | 2019-11-19 | 上海天地汇供应链科技有限公司 | 基于区块链的甩挂调度方法及系统、调度中心节点 |
CN110784324A (zh) * | 2019-11-08 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种节点准入方法及装置 |
CN111368343A (zh) * | 2020-03-31 | 2020-07-03 | 北京俩撇科技有限公司 | 一种区块链系统、数据存储方法及装置 |
CN111478804A (zh) * | 2020-03-31 | 2020-07-31 | 上海墨珩网络科技有限公司 | 一种基于动态区块链的去中心化的流程控制方法及系统 |
CN111885133A (zh) * | 2020-07-10 | 2020-11-03 | 深圳力维智联技术有限公司 | 基于区块链的数据处理方法、装置及计算机存储介质 |
CN112381542A (zh) * | 2020-11-18 | 2021-02-19 | 深圳源中瑞科技有限公司 | 基于区块链的交易支付方法、装置、设备及存储介质 |
WO2021047445A1 (zh) * | 2019-09-12 | 2021-03-18 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和计算机设备 |
CN112767152A (zh) * | 2021-01-18 | 2021-05-07 | 中国工商银行股份有限公司 | 应用于联盟链的双园区灾备系统及方法 |
CN113487400A (zh) * | 2021-06-04 | 2021-10-08 | 长春工业大学 | 基于诚实度双向选择的金融授信共识方法 |
CN114900536A (zh) * | 2022-05-18 | 2022-08-12 | 华侨大学 | 基于区块链的积分通兑共识存储方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107346482A (zh) * | 2017-05-12 | 2017-11-14 | 深圳蜂链科技有限公司 | 区块链与链外数据对接、验证、共识的方法及装置 |
CN107395353A (zh) * | 2017-04-24 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
CN107395659A (zh) * | 2017-03-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种业务受理及共识的方法及装置 |
CN107592356A (zh) * | 2017-09-12 | 2018-01-16 | 北京众享比特科技有限公司 | 一种物联网数据处理方法、装置及系统 |
-
2018
- 2018-10-17 CN CN201811206704.9A patent/CN109547530B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395659A (zh) * | 2017-03-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种业务受理及共识的方法及装置 |
CN107395353A (zh) * | 2017-04-24 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链共识方法及装置 |
CN107346482A (zh) * | 2017-05-12 | 2017-11-14 | 深圳蜂链科技有限公司 | 区块链与链外数据对接、验证、共识的方法及装置 |
CN107592356A (zh) * | 2017-09-12 | 2018-01-16 | 北京众享比特科技有限公司 | 一种物联网数据处理方法、装置及系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110427763A (zh) * | 2019-07-24 | 2019-11-08 | 上海朝夕网络技术有限公司 | 一种基于预定义执行代码的分布式系统的共识方法 |
CN110427763B (zh) * | 2019-07-24 | 2021-07-23 | 上海朝夕网络技术有限公司 | 一种基于预定义执行代码的分布式系统的共识方法 |
CN110472874A (zh) * | 2019-08-16 | 2019-11-19 | 上海天地汇供应链科技有限公司 | 基于区块链的甩挂调度方法及系统、调度中心节点 |
WO2021047445A1 (zh) * | 2019-09-12 | 2021-03-18 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和计算机设备 |
US11895242B2 (en) | 2019-09-12 | 2024-02-06 | Tencent Technology (Shenzhen) Company Limited | Data processing method and apparatus in blockchain network, storage medium, and computer device |
CN110784324A (zh) * | 2019-11-08 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种节点准入方法及装置 |
CN110784324B (zh) * | 2019-11-08 | 2021-10-01 | 腾讯科技(深圳)有限公司 | 一种节点准入方法及装置 |
CN111478804B (zh) * | 2020-03-31 | 2023-04-07 | 上海墨珩网络科技有限公司 | 一种基于动态区块链的去中心化的流程控制方法及系统 |
CN111368343A (zh) * | 2020-03-31 | 2020-07-03 | 北京俩撇科技有限公司 | 一种区块链系统、数据存储方法及装置 |
CN111478804A (zh) * | 2020-03-31 | 2020-07-31 | 上海墨珩网络科技有限公司 | 一种基于动态区块链的去中心化的流程控制方法及系统 |
CN111885133A (zh) * | 2020-07-10 | 2020-11-03 | 深圳力维智联技术有限公司 | 基于区块链的数据处理方法、装置及计算机存储介质 |
CN112381542A (zh) * | 2020-11-18 | 2021-02-19 | 深圳源中瑞科技有限公司 | 基于区块链的交易支付方法、装置、设备及存储介质 |
CN112767152A (zh) * | 2021-01-18 | 2021-05-07 | 中国工商银行股份有限公司 | 应用于联盟链的双园区灾备系统及方法 |
CN112767152B (zh) * | 2021-01-18 | 2024-02-09 | 中国工商银行股份有限公司 | 应用于联盟链的双园区灾备系统及方法 |
CN113487400B (zh) * | 2021-06-04 | 2022-10-11 | 长春工业大学 | 基于诚实度双向选择的金融授信共识方法 |
CN113487400A (zh) * | 2021-06-04 | 2021-10-08 | 长春工业大学 | 基于诚实度双向选择的金融授信共识方法 |
CN114900536A (zh) * | 2022-05-18 | 2022-08-12 | 华侨大学 | 基于区块链的积分通兑共识存储方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109547530B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109547530A (zh) | 区域共识方法、系统及设备 | |
CN109522362A (zh) | 基于区块链数据的非完全数据同步方法、系统及设备 | |
CN108540536B (zh) | 基于区块链的网络海量业务处理方法、设备及存储介质 | |
CN103377091B (zh) | 用于资源共享池中的作业的高效执行的方法和系统 | |
US20200374288A1 (en) | Block chain-based multi-chain management method and system, electronic device, and storage medium | |
US20200364608A1 (en) | Communicating in a federated learning environment | |
Lu et al. | Join-idle-queue: A novel load balancing algorithm for dynamically scalable web services | |
US20170180469A1 (en) | Method and system for forming compute clusters using block chains | |
US20060150159A1 (en) | Coordinating the monitoring, management, and prediction of unintended changes within a grid environment | |
CN108347483B (zh) | 基于双层网络的去中心化计算系统 | |
TW200403565A (en) | Parallel processing system | |
CN103620578A (zh) | 经由网络分割的本地云计算 | |
CN102855218A (zh) | 数据处理系统、方法及装置 | |
CN109522314A (zh) | 基于区块链的数据归档方法及终端设备 | |
CN111309440B (zh) | 一种多类型gpu的管理调度的方法和设备 | |
CN109462508A (zh) | 节点部署方法、装置和存储介质 | |
CN108616394A (zh) | 一种虚拟网络功能备份和部署方法 | |
CN110517145A (zh) | 基于多区块链间的数据交易方法及相关设备 | |
CN110012054B (zh) | 一种基于联盟链网络的业务处理方法及系统 | |
CN108833110B (zh) | 数字资产处理方法及装置 | |
Steffenel et al. | Assessing the impact of unbalanced resources and communications in edge computing | |
CN106375334A (zh) | 一种分布式系统的认证方法 | |
Eymann et al. | Decentralized vs. centralized economic coordination of resource allocation in grids | |
CN108270582A (zh) | 流量资源的处理方法和装置 | |
CN111858585A (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 |