CN112766560B - 联盟区块链网络优化方法、装置、系统和电子设备 - Google Patents
联盟区块链网络优化方法、装置、系统和电子设备 Download PDFInfo
- Publication number
- CN112766560B CN112766560B CN202110053046.XA CN202110053046A CN112766560B CN 112766560 B CN112766560 B CN 112766560B CN 202110053046 A CN202110053046 A CN 202110053046A CN 112766560 B CN112766560 B CN 112766560B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- classification
- sorting
- ordering
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000005457 optimization Methods 0.000 title claims abstract description 32
- 238000012163 sequencing technique Methods 0.000 claims abstract description 9
- 238000003066 decision tree Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 31
- 238000012423 maintenance Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 230000036961 partial effect Effects 0.000 claims description 18
- 230000006698 induction Effects 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 10
- 230000000977 initiatory effect Effects 0.000 claims description 8
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 230000001965 increasing effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 2
- 238000004088 simulation Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 238000012795 verification Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000012550 audit Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000007635 classification algorithm Methods 0.000 description 2
- 238000009472 formulation Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Human Resources & Organizations (AREA)
- Accounting & Taxation (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种联盟区块链优化方法、装置、系统和电子设备,可用于区块链领域或金融领域等,该方法包括:获取针对排序节点集合的分片请求;响应于分片请求,获取针对排序节点集合中至少部分排序节点各自的节点属性;以及基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
Description
技术领域
本公开涉及区块链技术领域和金融技术领域,更具体地,涉及一种联盟区块链网络优化方法、装置、系统和电子设备。
背景技术
区块链系统是将数据及数据的操作记录通过密码学方法进行加密和散列,从而形成一种公开透明、不可篡改、可追溯的分布式数据库记账系统。该技术可以在支付清算、存证取证、价值转移、供应链金融、用户征信、监管审计等领域进行广泛应用。
在实现本公开构思的过程中,申请人发现相关技术至少存在如下问题:区块链的性能瓶颈严重制约了去中心化应用的发展。
发明内容
本公开提供了一种用于提升联盟区块链的性能的联盟区块链网络优化方法、装置、系统和电子设备。
本公开的一个方面提供了一种联盟区块链网络优化方法,联盟区块链网络包括排序节点集合,上述方法包括:获取针对排序节点集合的分片请求;响应于分片请求,获取针对排序节点集合中至少部分排序节点各自的节点属性;以及基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
本公开的另一方面提供了一种联盟区块链网络优化装置,应用于联盟区块链网络,联盟区块链网络包括排序节点集合,上述装置包括:请求获取模块,用于获取针对排序节点集合的分片请求;属性获取模块,用于响应于分片请求,获取针对排序节点集合中至少部分排序节点各自的节点属性;以及节点分类模块,用于基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
本公开的另一方面提供了一种联盟区块链优化系统,联盟区块链网络包括排序节点集合,该系统包括:区块链节点分片单元,用于基于排序节点集合中至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便联盟区块链网络在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
本公开的另一方面提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时用于实现如上的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,指令在被执行时用于实现如上的方法。
本公开的另一方面提供了一种计算机程序,计算机程序包括计算机可执行指令,指令在被执行时用于实现如上的方法。
根据本公开的实施例,基于节点属性对排序节点集合中至少部分排序节点进行分类,实现为每个排序节点子集合分配与子集合中其它排序节点之间网络状态最优的节点,便于将交易请求也划分到相适配的排序节点子集合中去处理。这样每个排序节点子集合中的节点只需要处理部分传入区块链的交易请求,不同的排序节点子集合可以并行响应交易请求,使得可以增加交易处理和验证的并发度,从而提升整个区块链网络的吞吐量,提升区块链的性能。
根据本公开的实施例,通过信息增益确定分类特征,基于决策树归纳法处理分类特征,提升分类结果的准确度,有助于提升区块链性能。
根据本公开的实施例,基于信息熵增益从节点的节点属性中选取合适的分类特征,有助于实现将区块链节点根据地域就近、网络延迟就低等原则进行分片,使得同一区块链网络内节点数量合理,网络延迟最优,提高排序效率。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的适用于联盟区块链网络优化方法、装置、系统和电子设备的应用场景的示意图;
图2示意性示出了根据本公开实施例的应用联盟区块链网络优化方法、装置、系统和电子设备的示例性系统架构;
图3示意性示出了根据本公开实施例的联盟区块链网络优化方法的流程图;
图4示意性示出了根据本公开实施例的决策树的示意图;
图5示意性示出了根据本公开实施例的组建联盟区块链网络的逻辑图;
图6示意性示出了根据本公开实施例的对联盟区块链网络进行分片的逻辑图;
图7示意性示出了根据本公开另一实施例的联盟区块链网络优化方法的流程图;
图8示意性示出了根据本公开实施例的联盟区块链网络优化装置的方框图;
图9示意性示出了根据本公开实施例的联盟区块链优化系统的方框图;
图10示意性示出了根据本公开另一实施例的联盟区块链优化系统的方框图;以及
图11示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
区块链得到广泛应用的瓶颈之一在于低吞吐量的性能瓶颈,无论是公有链还是联盟链的区块链解决方案,均无法与维萨(Visa)支付系统、阿里云计算等集中式解决方案竞争,因此,区块链的性能瓶颈严重制约了去中心化应用的发展。
本公开的实施例提供了一种联盟区块链网络优化方法、装置、系统和电子设备。该方法可以应用于联盟区块链网络,该联盟区块链网络包括排序节点集合,该方法可以包括节点属性获取过程和分片过程。在节点属性获取过程,首先,获取针对排序节点集合的分片请求,然后,响应于分片请求,获取针对排序节点集合中至少部分排序节点各自的节点属性。在完成节点属性获取过程后进入分片过程,基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
本公开提供的基于区块链技术的联盟区块链网络优化方法、装置、系统和电子设备,利用分片技术将拥有许多节点的区块链网络划分成若干个子网络,利用分类算法,为每个子网络分配与所在分片中其它节点之间网络状态最优的节点。此外,交易请求也会被划分到不同的分片中去处理,这样每个分片中的区块链节点只需要处理被划分的交易请求,不同的分片可以并行处理交易请求,可有效增加交易请求处理和验证的并发度,从而提升整个网络的吞吐量。
图1示意性示出了根据本公开实施例的适用于联盟区块链网络优化方法、装置、系统和电子设备的应用场景的示意图。
如图1所示,联盟区块链网络系统,包括若干个账本维护(Peer)节点11、通信网络12、若干个排序(Orderer)节点13。
关于Peer节点11,一个联盟区块链网络中会有多个Peer节点,智能合约部署在Peer节点上,它对账本进行读写操作,一个Peer节点可以充当多种角色,如背书节点(endorser)、提交节点(committer)。
其中,背书节点收到交易提案后,验证签名并确定提交者是否有权执行操作。背书节点将交易提案的参数作为输入,在当前状态键-值(Key-Value,简称K-V)状态数据库上执行交易,生成包含执行返回值、读操作集合和写操作集合的交易结果(此时不会更新账本),这些值的集合、背书节点的签名和背书结果(是/否)作为提案的结果返回给客户端软件开发工具包(Software Development Kit,简称SDK),SDK解析这些信息判断是否应用于后续的交易。
提交节点收到区块后,会对区块中的每笔交易进行校验,检查交易依赖的输入输出是否符合当前区块链的状态,完成后将区块追加到本地的区块链,并修改K-V状态数据库。
通信网络12是区块链网络的节点与节点之间完成通讯的基础设施,可以是互联网、专线等形式。
关于Orderer节点13,一个区块链网络中会有多个Orderer节点,它们共同提供排序服务,Orderer节点对交易进行排序,批量打包,生成区块,发给Peer节点。相关技术中,区块链的性能受到排序节点的处理速度的限制,本公开实施例中将排序节点进行分片(如图1中将多个排序节点分为两片),不同的分片可以并行处理不同的交易请求,有助于提升区块链的性能。
图2示意性示出了根据本公开实施例的应用联盟区块链网络优化方法、装置、系统和电子设备的示例性系统架构。需要注意的是,图2所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。本公开实施例提供的联盟区块链网络优化方法、装置、系统和电子设备可用于区块链领域在网络优化相关方面,也可用于除区块链领域之外的多种领域,如金融领域,本公开实施例提供的联盟区块链网络优化方法、装置、系统和电子设备的应用领域不做限定。
如图2所示,该应用场景示出了区块链网络(Blockchain Network)200,区块链网络200是执行给定区块链协议的节点集。整个网络以完全联合、去中心化和分布式的方式编排和协调每个用户在网络中所做的操作。
区块链节点上可以下载了相关区块链应用(如加密货币软件、培训管理软件等),以参与对等网络的计算机。区块链节点的类型可以包括全节点、轻节点、简单支付验证节点(Simplified Payment Verification,简称SPV)等。
区块链节点中全节点的特性可以包括:参与区块链网络的计算机彼此地位相等。SPV节点的目的是验证一笔交易是否上链、是否得到多个确认。轻节点是节点本地保存与其自身相关的交易数据,目的不仅仅是验证交易,还有管理节点自身的资产收入、支付等信息。SPV节点和轻节点的共同点:无需在本地保存全部数据。SPV是支付验证(简单),验证交易是否得到其他节点的共识验证,即是否上链(如验证得到多少确认数)。
而交易验证(复杂),包括账户余额验证、双花判断等,由全节点执行。全节点存储有全量数据,因此,全节点相对于轻节点占用的存储空间更大。
如图2所示,该区块链网络200可以包括节点(Node)201~206,节点201~206中至少部分节点共同维护区块链(Blockchain)。节点201~206可以是具有相同或不同计算能力的各种计算节点,例如可以是个人计算机、网络服务器、数据库服务器、智能手机等等,在此不做限定。节点201~206中任意两个节点之间都可进行点对点通信。
区块链是通过散列指针按时间顺序链接的区块(Block)的分布式数据库。区块链的区块是按照时间顺序加入的,当满足预定条件时,区块链网络中的各节点允许当前节点创建区块并将该区块加入到区块链中,加入的区块作为该区块链上当前最新区块。在某一特定时刻,维护同一区块链的节点从区块链上获取的当前最新区块是相同的。一个区块链网络可以维护一条区块链,或者可以同时维护多条区块链,如图2中维护了区块链211,不同的区块链可以由区块链中相同节点构成的网络进行维护,也可以是由区块链网络中至少部分不同节点构成的不同子网络分别进行维护。
应该理解,图2中的区块链网络的规模和类型、节点的数量、区块链的长度、区块的数量等仅仅是示意性的。根据实际需要,可以具有任意规模和类型的区块链网络、任意数量的节点、任意长度的区块链、任意数量的区块等,在此不做限制。
图3示意性示出了根据本公开实施例的联盟区块链网络优化方法的流程图。该方法可以是适用于链联盟区块链网络,该链联盟区块链网络包括排序节点集合。
如图3所示,该方法可以包括以下操作S302~S306。
在操作S302,获取针对排序节点集合的分片请求。
在本实施例中,分片请求可以是由用户利用交互界面发起的,也可以是由系统自动生成的。例如,在创建区块链网络时,系统可以自动发起该分片请求,以便将生成的分片结果推送给创建联盟链网络的用户,便于确定网络结构。
在操作S304,响应于分片请求,获取针对排序节点集合中至少部分排序节点各自的节点属性。
在本实施例中,节点属性包括但不限于节点所在地理位置、节点IP地址、网络服务商等属性信息。
在操作S306,基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
在本实施例中,可以采用多种分类方法对上述至少部分排序节点进行分类。
分类(Categorization or Classification)是按照一个或多个标准给对象贴标签(label),再根据标签来区分归类。分类算法包括但不限于:决策树分类法、贝叶斯分类法(native Bayesian classifier)、基于支持向量机(SVM)的分类器、神经网络(Net Work)、k-最邻近法(k-nearest neighbor,简称kNN)、模糊分类法等。
在一个实施例中,为了使得每一个排序节点均被且只有一个排序节点子集合所覆盖,可以基于决策树进行分类。
例如,基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类包括:基于决策树归纳法处理分类特征,得到至少部分排序节点各自的分类结果,分类特征是基于至少部分排序节点各自的节点属性来确定的。其中,分类特征可以是从排序节点的节点属性中确定的。
决策树是一种用于对实例进行分类的树状结构。决策树由节点(node)和有向边(directed edge)组成。节点的类型包括根节点和子节点。
在一个实施例中,分类特征可以通过如下方式确定。
首先,将至少部分排序节点的节点属性作为初始分类特征。
然后,基于信息增益从大到小的顺序对初始分类特征进行排序,得到初始分类特征在决策树中排序结果。
接着,基于排序结果从初始分类特征中确定分类特征。
图4示意性示出了根据本公开实施例的决策树的示意图。
如图4所示,决策树是一个数结构,可以是二叉树或非二叉树,也可以把他看作是if-else规则的集合。图4中以一种决策树的结构举例图说明,图4中树的圆形内部节点代表一个属性,圆形节点引出的分支表示这个属性的所有可能的值,矩形叶节点表示最终的分类结果。从根节点到叶节点的每一条路径构建一条规则,并且这些规则具有互斥且完备的性质,即每一个节点均被且只有一条路径所覆盖。
在一个实施例中,基于决策树归纳法处理分类特征,得到至少部分排序节点各自的分类结果可以包括如下操作。
首先,将排序结果中最靠前的分类特征作为决策树的根节点的节点特征,并且基于根节点的节点特征的不同取值构建子节点。
然后,重复增加N的取值直至满足停止构建决策树条件:将排序结果中排序是N+1的分类特征作为决策树的第N级子节点的节点特征,并且基于第N级子节点的节点特征的不同取值构建决策树的第N+1级子节点,其中,N是大于或者等于1的正整数。
接着,基于构建的决策树确定至少部分排序节点各自的分类结果。
在一个实施例中,用户分类的分类特征有很多,分类特征在决策树中的先后顺序是根据特征的分类能力排序的。决策树归纳算法确定特征在决策树中的先后顺序,是通过信息增益判断的,信息增益表示特征X的信息而使得分类Y的信息的不确定性减少的程度。如果某个特征的信息增益比较大,就表示该特征对结果的影响较大,就在决策树处于越靠前的位置;特征的信息增益是基于条件熵和信息熵来确定的,熵表示随机变量不确定性的度量,如果分类Y的熵越大,表示不确定性越大。现在假设有数据集D,数据集D是基于预先设定的特征,在一定样本的情况下,人工统计的终端特征结果集。
根据香农的信息熵值计算公式,得到D的信息熵inf o(D),如式(1)所示。
其中Pi表示第i种情况的概率,根据公式得到分类Y的信息熵值;条件熵代表在某一条件下,随机变量的复杂度,根据如下的条件熵计算公式得到条件熵值,如式(2)所示。
信息增益gain(A)即为两者的差值,如式(3)所示。
gain(A)=inf o(D)-H(D|X) 式(3)
区块链节点分片基于城市、网络服务商等特征,根据决策树归纳算法思想分为三步,第一步从根节点开始,对结点计算所有可能特征的信息增益,选择信息增益最大的特征作为结点的特征,并由该特征的不同取值构建子节点。第二步对子节点递归地调用以上方法,构建决策树。第三步直到所有特征的信息增益均很小或者没有特征可选时为止。得到分片结果后,同一分片内的Orderer节点组成一个排序网络。
在一个实施例中,上述方法还可以包括如下操作。如果至少部分排序节点各自的分类结果的第一类别数小于或等于分类特征的第二类别数,则按照分类结果将至少部分排序节点各自分别分在至少两个排序节点子集合中。基于分类特征的类别数来限制分类结果的类别数,一方面能提升分类结果的准确度,同时,不会导致类别数过多,提升分类效果,避免联盟区块链的网络结构过于复杂。
在一个实施例中,可以在区块链网络中新增排序节点,并且给用户推荐新增排序节点的推荐分片。
例如,上述方法还可以包括如下操作。
首先,接收排序节点申请请求,发起排序节点申请请求的节点具有节点属性。其中,节点属性可以如上相关内容所示,在此不再详述。
然后,响应于排序节点申请请求,发送排序节点申请请求给联盟区块链的各参与方的客户端,并且接收来自各参与方的客户端针对排序节点申请请求的审核结果。这样便于联盟区块链的各参与方基于商业价值、商业利益等分别审核发起该排序节点申请请求的节点是否满足接入条件。
接着,如果各审核结果共同表征审核通过,则对发起排序节点申请请求的节点和排序节点集合中各排序节点进行分类,得到分类结果。其中,可以是所有审核结果均为审核通过,也可以是超设定比例的审核结果为审核通过,还可以是没有关键成员的审核结果是审核失败等。
然后,将分类结果发送给发起排序节点申请请求的节点。例如,在确定审核通过后,系统可以自动对发起该排序节点申请请求的节点进行分类,得到推荐的分类结果,并显示给用户,以便用户确定是否按照该分类结果进行分类。
例如,可以将发起该排序节点申请请求的节点分类至已有类别中,也可以将所有排序节点和新增加的排序节点重新进行排序。此外,也可以是先将新增的排序节点分类至已有类别中,然后在满足全局重新排序后,再将所有排序节点进行整体分类。
在一个实施了中,对发起排序节点申请请求的节点和排序节点集合中各排序节点进行分类,得到分类结果包括:将发起排序节点申请请求的节点分类至至少两个排序节点子集合的一个中。
以下对创建区块链网络和更新区块链网络的过程分别进行示例性说明。
图5示意性示出了根据本公开实施例的组建联盟区块链网络的逻辑图。
如图5所示,组建联盟区块链网络可以包括如下操作。
首先,用户登陆区块链平台,如区块链BaaS(Blockchain as a Service)管理平台。
然后,用户通过区块链平台设计联盟区块链网络部署方案。
接着,用户通过区块链平台提交联盟区块链网络部署申请。
然后,参与方通过区块链平台审核联盟区块链网络。
接着,获取区块链节点程序包。
然后,通过区块链平台在参与方计算设备安装区块链节点程序包。
接着,参与方的排序Orderer节点向区块链平台申请加入区块链网络。
然后,区块链平台审核节点。
接着,如果审核通过,则区块链平台调用对Orderer节点进行分片组网。
然后,终端显示上述判断步骤中的判断结果。
图6示意性示出了根据本公开实施例的对联盟区块链网络进行分片的逻辑图。
如图6所示,对联盟区块链网络进行分片可以包括如下操作。
首先,区块链平台收到对区块链节点进行分片请求。
然后,分析区块链节点的网络服务商、归属地等特征。
接着,预设联盟区块链网络分片数。
然后,特征数是否大于分片数,如果否,则拒绝申请。如果是,则执行以下操作。
接着,通决策树归纳算法对联盟区块链网络的Orderer节点进行分片。
然后,基于分片结果,对Orderer节点进行分片组网。
本公开实施例可以根据地域就近、网络延迟就低等原则进行分片,使得同一分片内区块链网络内节点数量合理,网络延迟最优,提高排序效率,进而提升区块链性能。
本公开的实施例,还可以定期对区块链节点的所属地域、网络延迟进行更新,重新对区块链节点重新进行分片,进一步优化区块链节点之间网络,使得区块链网络保持良好的吞吐性能稳定性。
图7示意性示出了根据本公开另一实施例的联盟区块链网络优化方法的流程图。在本实施例中,联盟区块链网络还包括与排序节点集合网络通信连接的账本维护节点集合。
如图7所示,该方法在得到至少两个排序节点子集合之后,还可以包括操作S702~操作S710。
在操作S702,接收交易请求,交易请求具有属性信息。
在操作S704,确定与属性信息相适配的排序节点子集合。
在操作S706,相适配的排序节点子集合对交易请求进行排序和批量打包,生成第一区块。
在操作S708,相适配的排序节点子集合将第一区块发送给账本维护节点集合。
在操作S710,账本维护节点集合对区块中交易请求进行校验和处理,以将基于处理结果生成的第二区块添加到区块链中。
本公开实施例,可实现利用联盟区块链对交易请求进行处理,并且,交易请求会被划分到不同的分片中去处理,如对交易请求进行排序的排序节点属于属性相适配的排序节点子集合,有助于提升处理效率。同时,由于每个分片中的区块链节点只需要处理所有交易请求中部分,不同的分片可以并行处理交易,可有效增加交易处理和验证的并发度,从而提升整个网络的吞吐量。
在一个实施例中,账本维护节点集合包括至少一个背书节点和至少一个提交节点。
其中,背书节点用于检测交易请求的合法性,在合法性通过后模拟处理交易请求,背书处理交易请求导致的状态变化,返回交易请求的模拟处理结果给发起交易请求的终端的客户端。
提交节点用于执行合法的交易请求,并且将针对交易请求的执行结果写入账本,以将生成的第二区块添加到区块链上。
排序服务可以实现为多种不同的方式,如从一个中心化的服务(被用于开发和测试,如Solo),到分布式协议(如卡夫卡Kafka)。排序服务提供了通向客户端和Peer节点的共享通信通道。提供了包含交易的消息广播服务(如broadcast和deliver)。客户端可以通过这个通道向所有的节点广播(broadcast)消息。通道可以向连接到该通道的节点投递(deliver)消息。排序服务支持多通道,类似于发布/订阅消息系统中的主题topic。客户端和Peer节点可以连接到一个给定的通道,并通过给定的通道发送和接收消息。多通道使得Peer节点可以基于应用访问控制策略来订阅任意数量的通道;也就是说,应用程序在指定Peer节点的子集中架设通道。这些Peer节点组成提交到该通道交易的相关者集合,而且只有这些Peer节点可以接收包含相关交易的区块,与其他交易完全隔离,实现数据隔离和保密。
在一个实施例中,联盟区块链网络包括至少两个通道,至少两个通道各自具有对应的账本和账本维护节点子集合,账本维护节点子集合是由账本维护节点集合中至少部分账本维护节点构成的。
例如,客户端应用使用SDK来和联盟区块链网络进行信息传输。首先,客户端从CA获取合法的身份证书来加入网络内的应用通道。然后,将交易的提案发送给配置文件里指定的背书(Endorser)节点。
背书节点完成对交易提案的背书(主要是签名)处理,并且检查是否合法,如果合法性通过,则模拟运行交易,对交易导致的状态变化进行背书并返回结果给客户端。
排序节点仅负责排序,具体地,为区块链网络中所有合法交易请求进行全局排序,并对一批排序后的交易请求进行组合,生成区块结构。其中,排序节点通常不需要跟账本和交易内容直接打交道。
提交节点负责维护区块链和账本结构。其中,该提交节点可以定期地从排序节点获取排序后的批量交易请求区块结构,对这些交易请求进行落盘前的最终检查。在检查通过后执行合法的交易,将交易执行结果写入账本,同时构造新的区块。
其中,账本维护节点可以仅作为提交节点的角色运行,也可以同时担任背书节点和提交节点这两种角色。
一条区块链网路的子链是按照“1个通道+1个账本+N个联盟区块链网络节点”的基本组成。一个通道具有一个独立的账本。
通道是两个或多个特定网络成员之间的通信的私有“子网”,用于进行需要数据保密的交易。例如,在以太坊(Fabric)中,建立一个通道相当于建立了一个子链。创建通道是为了限制信息传播的范围,是和某一个账本关联的。每个交易都是和唯一的通道关联的。这样可以明确地定义哪些实体(机构及其成员)会关注这个交易。
其中,排序节点提供账本维护节点(Peer节点)供订阅的主题,每个主题是一个通道。Peer节点可以订阅多个通道,并且只能访问订阅通道上的交易。账本保存Orders提交经节点确认的交易记录。
本公开的另一方面提供了一种联盟区块链网络优化装置。
图8示意性示出了根据本公开实施例的联盟区块链网络优化装置的方框图。该联盟区块链网络优化装置800,应用于联盟区块链网络,联盟区块链网络包括排序节点集合。
如图8所示,上述装置800包括:请求获取模块810、属性获取模块820和节点分类模块830。
其中,请求获取模块810用于获取针对排序节点集合的分片请求。
属性获取模块820用于响应于分片请求,获取针对排序节点集合中至少部分排序节点各自的节点属性。
节点分类模块830用于基于至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
本公开实施例提供的联盟区块链网络优化装置优化了区块链节点之间的网络,降低了区块链节点之间的延迟,提升整个网络的吞吐量。
本公开的另一方面提供了一种联盟区块链优化系统。
图9示意性示出了根据本公开实施例的联盟区块链优化系统的方框图。该联盟区块链网络包括排序节点集合。
如图9所示,联盟区块链网络优化系统900包括区块链节点分片单元910。区块链节点分片单元用于基于排序节点集合中至少部分排序节点各自的节点属性对至少部分排序节点进行分类,得到至少两个排序节点子集合,以便联盟区块链网络优化系统在接收到交易请求时,基于交易请求的属性信息确定适配的排序节点子集合,并且由适配的排序节点子集合响应交易请求。
区块链节点分片单元910对联盟区块链网络中的Orderer节点进行分片。分片可以采用决策树归纳算法。其中,决策树是一个树结构,可以是二叉树或非二叉树,也可以把他看作是if-else规则的集合。参考图4所示,从根节点到叶节点的每一条路径构建一条规则,并且这些规则具有互斥且完备的性质,即每一个样本均被且只有一条路径所覆盖。
需要说明的是,关于决策树的构建过程、分类特征的选取、信息熵、条件熵和信息增益等可以参考以上相关部分内容,在此不再详述。
图10示意性示出了根据本公开另一实施例的联盟区块链优化系统的方框图。
如图10所示,该系统还可以包括:计算资源管理单元和区块链网络管理单元。
其中,计算资源管理单元用于将至少两种类型的节点各自部署运行在同一物理服务器或者不同物理服务器上,并且对计算资源进行管理监控。例如,计算资源管理单元将不同类型的节点部署运行在同一台物理服务器上或者不同物理服务器上,节点可能部署在云环境或者参与方本地服务器,计算资源管理单元对接云环境或者本地服务器,对计算资源进行管理监控。
区块链网络管理单元用于根据联盟参与方设置的节点配置信息给计算资源管理单元发送第一控制指令,以在联盟参与方的计算资源设备上创建联盟区块链网络节点。例如,区块链网络管理单元是进行联盟区块链网络的创建和运营,根据联盟参与方设置的节点配置信息,向计算资源管理单元发出指令,在联盟参与方计算资源设备上创建联盟区块链网络节点。
在一个实施例中,联盟区块链网络还包括与排序节点集合网络通信连接的账本维护节点集合;
上述系统还包括以下至少一个单元。
用户服务单元用于对联盟参与方的账号进行认证,以便联盟参与方被认证通过后对联盟区块链进行管理。例如,联盟区块链是由多个参与方共同组建的,每个参与方都拥有区块链BaaS平台账号,联盟参与方通过用户管理单元来完成联盟区块链共同治理。
智能合约管理单元用于给块链网络管理单元发送第二控制指令,以在账本维护节点集合的至少部分账本维护节点上部署智能合约,以便执行智能合约。例如,智能合约管理单元向联盟区块链网络管理单元发出指令,在联盟区块链网络的Peer节点上部署智能合约。用户承诺双方的权利和义务编写为电子化的机器语言,参与者分别用各自的私钥签名。签名后的智能合约传入联盟区块链网络中。合约通过P2P的方式在联盟区块链全网中扩散,Peer节点会将收到的合约先保存到内存中,等待触发对该份合约的共识和处理。共识时间到了,Peer节点会把最近一段时间内保存的所有合约打包成一个合约集合,并算出这个合约集合的哈希值,组装成区块结构,扩散到全网。其它Peer节点收到后,与自己保存的合约集合对比校验,同时发送一份自己认可的合约集合给其他Peer节点。通过多轮的发送和比较,所有Peer节点最终在规定的时间内对最新的合约集合达成一致。智能合约定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,进行签名验证,确保事务的有效性,等待多数Peer节点达成共识,成功执行并通知用户;未满足触发条件的事务将继续存放在区块链上。事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕。
日志服务单位用于收集计算资源设备的运行日志和联盟区块链网络节点的运行日志中至少一种信息,以便进行显示至少一种信息。例如,仪表板单元通过向计算资源管理单元、区块链网络管理单元、日志服务单元发出指令,查询计算资源环境、联盟区块链网络运行状况,并以图表形式呈现。
仪表板单元用于通过给计算资源管理单元、区块链网络管理单元和日志服务单元中至少一个发出查询指令,查询表征计算资源环境、联盟区块链网络运行状况中至少一种信息,并且以可视化形式显示至少一种信息。例如,日志服务单元收集计算资源设备运行日志、联盟区块链网络节点运行日志,提供管理人员查看。
需要说明的是,装置和部分实施例中各模块/单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,请求获取模块810、属性获取模块820和节点分类模块830中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,请求获取模块810、属性获取模块820和节点分类模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,请求获取模块810、属性获取模块820和节点分类模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的电子设备的框图。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,根据本公开实施例的电子设备1100包括处理器1101,其可以根据存储在只读存储器(ROM)1102中的程序或者从存储部分1108加载到随机访问存储器(RAM)1103中的程序而执行各种适当的动作和处理。处理器1101例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1101还可以包括用于缓存用途的板载存储器。处理器1101可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1103中,存储有系统1100操作所需的各种程序和数据。处理器1101、ROM1102以及RAM 1103通过总线1104彼此相连。处理器1101通过执行ROM 1102和/或RAM 1103中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1102和RAM 1103以外的一个或多个存储器中。处理器1101也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1100还可以包括输入/输出(I/O)接口1105,输入/输出(I/O)接口1105也连接至总线1104。系统1100还可以包括连接至I/O接口1105的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被处理器1101执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的图像模型训练方法或图像识别方法。
在该计算机程序被处理器1101执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (14)
1.一种联盟区块链网络优化方法,所述联盟区块链网络包括排序节点集合,所述方法包括:
获取针对所述排序节点集合的分片请求;
响应于所述分片请求,获取针对所述排序节点集合中至少部分排序节点各自的节点属性;以及
基于所述至少部分排序节点各自的节点属性对所述至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于所述交易请求的属性信息确定适配的排序节点子集合,并且由所述适配的排序节点子集合响应所述交易请求,
其中,所述基于所述至少部分排序节点各自的节点属性对所述至少部分排序节点进行分类包括:
基于决策树归纳法处理分类特征,得到所述至少部分排序节点各自的分类结果,所述分类特征是基于所述至少部分排序节点各自的节点属性来确定的;
其中,所述分类特征通过如下方式确定:
将所述至少部分排序节点的节点属性作为初始分类特征;
基于信息增益从大到小的顺序对所述初始分类特征进行排序,得到所述初始分类特征在决策树中排序结果;以及
基于所述排序结果从所述初始分类特征中确定所述分类特征。
2.根据权利要求1所述的方法,其中,所述基于决策树归纳法处理分类特征,得到所述至少部分排序节点各自的分类结果包括:
将排序结果中最靠前的分类特征作为所述决策树的根节点的节点特征,并且基于所述根节点的节点特征的不同取值构建子节点;
重复增加N的取值直至满足停止构建决策树条件:将排序结果中排序是N+1的分类特征作为所述决策树的第N级子节点的节点特征,并且基于第N级子节点的节点特征的不同取值构建所述决策树的第N+1级子节点,其中,N是大于或者等于1的正整数;以及
基于构建的决策树确定所述至少部分排序节点各自的分类结果。
3.根据权利要求2所述的方法,还包括:
如果所述至少部分排序节点各自的分类结果的第一类别数小于或等于所述分类特征的第二类别数,则按照所述分类结果将所述至少部分排序节点各自分别分在所述至少两个排序节点子集合中。
4.根据权利要求1所述的方法,还包括:
接收排序节点申请请求,发起所述排序节点申请请求的节点具有节点属性;
响应于所述排序节点申请请求,发送所述排序节点申请请求给所述联盟区块链的各参与方的客户端,并且接收来自所述各参与方的客户端针对所述排序节点申请请求的审核结果;
如果各审核结果共同表征审核通过,则对所述发起所述排序节点申请请求的节点和所述排序节点集合中各排序节点进行分类,得到分类结果;以及
将所述分类结果发送给所述发起所述排序节点申请请求的节点。
5.根据权利要求4所述的方法,其中,所述对所述发起所述排序节点申请请求的节点和所述排序节点集合中各排序节点进行分类,得到分类结果包括:
将所述发起所述排序节点申请请求的节点分类至所述至少两个排序节点子集合的一个中。
6.根据权利要求1~5任一项所述的方法,其中,所述联盟区块链网络还包括与所述排序节点集合网络通信连接的账本维护节点集合;
所述方法还包括:在得到至少两个排序节点子集合之后,
接收交易请求,所述交易请求具有属性信息;
确定与所述属性信息相适配的排序节点子集合;
所述相适配的排序节点子集合对所述交易请求进行排序和批量打包,生成第一区块;
所述相适配的排序节点子集合将所述第一区块发送给所述账本维护节点集合;以及
所述账本维护节点集合对所述第一区块中交易请求进行校验和处理,以将基于处理结果生成的第二区块添加到区块链中。
7.根据权利要求6所述的方法,其中,所述账本维护节点集合包括至少一个背书节点和至少一个提交节点;
所述背书节点用于检测所述交易请求的合法性,在合法性通过后模拟处理所述交易请求,背书处理所述交易请求导致的状态变化,返回所述交易请求的模拟处理结果给发起所述交易请求的终端的客户端;
所述提交节点用于执行合法的交易请求,并且将针对所述交易请求的执行结果写入账本,以将生成的第二区块添加到区块链上。
8.根据权利要求6所述的方法,其中,所述联盟区块链网络包括至少两个通道,所述至少两个通道各自具有对应的账本和账本维护节点子集合,所述账本维护节点子集合是由所述账本维护节点集合中至少部分账本维护节点构成的。
9.一种联盟区块链网络优化装置,应用于联盟区块链网络,所述联盟区块链网络包括排序节点集合,所述装置包括:
请求获取模块,用于获取针对所述排序节点集合的分片请求;
属性获取模块,用于响应于所述分片请求,获取针对所述排序节点集合中至少部分排序节点各自的节点属性;以及
节点分类模块,用于基于所述至少部分排序节点各自的节点属性对所述至少部分排序节点进行分类,得到至少两个排序节点子集合,以便在接收到交易请求时,基于所述交易请求的属性信息确定适配的排序节点子集合,并且由所述适配的排序节点子集合响应所述交易请求,
其中,所述基于所述至少部分排序节点各自的节点属性对所述至少部分排序节点进行分类包括:
基于决策树归纳法处理分类特征,得到所述至少部分排序节点各自的分类结果,所述分类特征是基于所述至少部分排序节点各自的节点属性来确定的;
其中,所述分类特征通过如下方式确定:
将所述至少部分排序节点的节点属性作为初始分类特征;
基于信息增益从大到小的顺序对所述初始分类特征进行排序,得到所述初始分类特征在决策树中排序结果;以及
基于所述排序结果从所述初始分类特征中确定所述分类特征。
10.一种联盟区块链网络优化系统,用于联盟区块链网络,所述联盟区块链网络包括排序节点集合,所述系统包括:
区块链节点分片单元,用于基于所述排序节点集合中至少部分排序节点各自的节点属性对所述至少部分排序节点进行分类,得到至少两个排序节点子集合,以便所述联盟区块链网络在接收到交易请求时,基于所述交易请求的属性信息确定适配的排序节点子集合,并且由所述适配的排序节点子集合响应所述交易请求,
其中,所述基于所述至少部分排序节点各自的节点属性对所述至少部分排序节点进行分类包括:
基于决策树归纳法处理分类特征,得到所述至少部分排序节点各自的分类结果,所述分类特征是基于所述至少部分排序节点各自的节点属性来确定的;
其中,所述分类特征通过如下方式确定:
将所述至少部分排序节点的节点属性作为初始分类特征;
基于信息增益从大到小的顺序对所述初始分类特征进行排序,得到所述初始分类特征在决策树中排序结果;以及
基于所述排序结果从所述初始分类特征中确定所述分类特征。
11.根据权利要求10所述的系统,还包括:
计算资源管理单元,用于将至少两种类型的节点各自部署运行在同一物理服务器或者不同物理服务器上,并且对计算资源进行管理监控;以及
区块链网络管理单元,用于根据联盟参与方设置的节点配置信息给所述计算资源管理单元发送第一控制指令,以在联盟参与方的计算资源设备上创建联盟区块链网络节点。
12.根据权利要求11所述的系统,其中,所述联盟区块链网络还包括与所述排序节点集合网络通信连接的账本维护节点集合;
所述系统还包括以下至少一种:
用户服务单元,用于对联盟参与方的账号进行认证,以便联盟参与方被认证通过后对联盟区块链进行管理;
智能合约管理单元,用于给所述块链网络管理单元发送第二控制指令,以在所述账本维护节点集合的至少部分账本维护节点上部署智能合约,以便执行所述智能合约;
日志服务单元,用于收集所述计算资源设备的运行日志和联盟区块链网络节点的运行日志中至少一种信息,以便进行显示所述至少一种信息;以及
仪表板单元,用于通过给所述计算资源管理单元、所述区块链网络管理单元和所述日志服务单元中至少一个发出查询指令,查询表征计算资源环境、联盟区块链网络运行状况中至少一种信息,并且以可视化形式显示所述至少一种信息。
13.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~8中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时实现根据权利要求1~8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053046.XA CN112766560B (zh) | 2021-01-15 | 2021-01-15 | 联盟区块链网络优化方法、装置、系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110053046.XA CN112766560B (zh) | 2021-01-15 | 2021-01-15 | 联盟区块链网络优化方法、装置、系统和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112766560A CN112766560A (zh) | 2021-05-07 |
CN112766560B true CN112766560B (zh) | 2024-02-06 |
Family
ID=75700834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110053046.XA Active CN112766560B (zh) | 2021-01-15 | 2021-01-15 | 联盟区块链网络优化方法、装置、系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112766560B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114119242B (zh) * | 2022-01-28 | 2023-03-14 | 浙商银行股份有限公司 | 基于自适应窗口分片的联盟链性能优化方法及装置 |
CN114666248B (zh) * | 2022-05-18 | 2022-09-06 | 浙商银行股份有限公司 | 一种联盟链分片交易分发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119990A (zh) * | 2019-04-04 | 2019-08-13 | 国美金控投资有限公司 | 一种基于保险内部验证用联盟链共识系统 |
CN111510333A (zh) * | 2020-04-15 | 2020-08-07 | 中国工商银行股份有限公司 | 基于k3s平台的联盟区块链系统、实现方法及装置 |
CN111556120A (zh) * | 2020-04-23 | 2020-08-18 | 财付通支付科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及设备 |
CN111611317A (zh) * | 2020-06-08 | 2020-09-01 | 杭州复杂美科技有限公司 | 区块链分布式存储分组方法、设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11018852B2 (en) * | 2018-12-21 | 2021-05-25 | International Business Machines Corporation | Blockchain trust anchor |
-
2021
- 2021-01-15 CN CN202110053046.XA patent/CN112766560B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110119990A (zh) * | 2019-04-04 | 2019-08-13 | 国美金控投资有限公司 | 一种基于保险内部验证用联盟链共识系统 |
CN111510333A (zh) * | 2020-04-15 | 2020-08-07 | 中国工商银行股份有限公司 | 基于k3s平台的联盟区块链系统、实现方法及装置 |
CN111556120A (zh) * | 2020-04-23 | 2020-08-18 | 财付通支付科技有限公司 | 基于区块链的数据处理方法、装置、存储介质及设备 |
CN111611317A (zh) * | 2020-06-08 | 2020-09-01 | 杭州复杂美科技有限公司 | 区块链分布式存储分组方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112766560A (zh) | 2021-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cao et al. | Blockchain systems, technologies, and applications: A methodology perspective | |
US11449476B2 (en) | Extracting data from a blockchain network | |
US20210160077A1 (en) | Methods and systems for a consistent distributed memory pool in a blockchain network | |
Wang et al. | A trusted consensus fusion scheme for decentralized collaborated learning in massive IoT domain | |
CN111367965B (zh) | 目标对象确定方法、装置、电子设备及存储介质 | |
CN112766560B (zh) | 联盟区块链网络优化方法、装置、系统和电子设备 | |
CN115769241A (zh) | 针对经许可的区块链的隐私保护架构 | |
CN110705683A (zh) | 随机森林模型的构造方法、装置、电子设备及存储介质 | |
CN111523890A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
JP2024535784A (ja) | 分散台帳内の高速コンセンサスのための方法及びシステム | |
CN112749827A (zh) | 金融信息处理方法、装置、电子设备及存储介质 | |
Hang et al. | A transaction traffic control approach based on fuzzy logic to improve hyperledger fabric performance | |
Liu et al. | A hierarchical blockchain-enabled security-threat assessment architecture for iov | |
US20230409450A1 (en) | Consensus processing method and apparatus for blockchain network | |
CN111951112A (zh) | 基于区块链的智能合约执行方法、终端设备和存储介质 | |
CN110781384B (zh) | 一种基于优先级的内容推荐方法、装置、设备及介质 | |
CN118176694A (zh) | 用于分布式区块链功能的方法和系统 | |
CN118216121A (zh) | 用于分布式区块链功能的方法和系统 | |
Kim et al. | Byzantine-fault-tolerant consensus via reinforcement learning for permissioned blockchain implemented in a V2X network | |
Mahdizadeh et al. | Decentralizing the lightning network: a score-based recommendation strategy for the autopilot system | |
CN112231367B (zh) | 基于人工智能的业务处理方法、装置及电子设备 | |
CN114626100B (zh) | 用于分布式账本技术的共识算法 | |
US11978049B1 (en) | Systems and methods for blockchain network traffic management using automatic coin selection | |
US20240129143A1 (en) | Dividing data storage and service operations among plural blockchains | |
Si et al. | BEI‐TAB: Enabling Secure and Distributed Airport Baggage Tracking with Hybrid Blockchain‐Edge System |
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 |